@commercetools-frontend/application-shell 22.10.0 → 22.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/commercetools-frontend-application-shell.cjs.dev.js +5 -5
  2. package/dist/commercetools-frontend-application-shell.cjs.prod.js +5 -5
  3. package/dist/commercetools-frontend-application-shell.esm.js +5 -5
  4. package/dist/{custom-view-dev-host-cb49959d.esm.js → custom-view-dev-host-97825f04.esm.js} +5 -5
  5. package/dist/{custom-view-dev-host-379d3461.cjs.dev.js → custom-view-dev-host-ab602e4b.cjs.dev.js} +5 -5
  6. package/dist/declarations/src/components/app-bar/app-bar.d.ts +0 -1
  7. package/dist/declarations/src/components/application-shell/application-shell.d.ts +1 -0
  8. package/dist/declarations/src/components/application-shell-authenticated/application-shell-authenticated.d.ts +1 -4
  9. package/dist/declarations/src/components/custom-view-shell/custom-view-shell.d.ts +3 -0
  10. package/dist/declarations/src/components/locale-switcher/locale-switcher.d.ts +1 -4
  11. package/dist/declarations/src/components/navbar/compiled/navbar.css.json.d.ts +3 -0
  12. package/dist/declarations/src/components/navbar/index.d.ts +1 -3
  13. package/dist/declarations/src/components/navbar/{navbar-new/menu-items.d.ts → menu-items.d.ts} +1 -1
  14. package/dist/declarations/src/components/navbar/navbar.d.ts +43 -4
  15. package/dist/declarations/src/components/navbar/use-navbar-state-manager.d.ts +0 -1
  16. package/dist/declarations/src/components/project-switcher/project-switcher.d.ts +1 -4
  17. package/dist/declarations/src/constants.d.ts +2 -6
  18. package/dist/declarations/src/test-utils/custom-views-utils.d.ts +10 -1
  19. package/dist/declarations/src/types/generated/settings.d.ts +114 -1
  20. package/dist/index-090350e1.esm.js +2017 -0
  21. package/dist/index-4f10b4f6.cjs.dev.js +2077 -0
  22. package/dist/{index-1d3e351d.cjs.prod.js → index-d1be72d3.cjs.prod.js} +278 -304
  23. package/dist/navbar-10252888.cjs.prod.js +1096 -0
  24. package/dist/navbar-948abeab.cjs.dev.js +1230 -0
  25. package/dist/navbar-ba4b5961.esm.js +1199 -0
  26. package/dist/{oidc-b2ac8a92.cjs.prod.js → oidc-088842ab.cjs.prod.js} +3 -7
  27. package/dist/{oidc-0c6ca06c.cjs.dev.js → oidc-b577ced5.cjs.dev.js} +3 -7
  28. package/dist/{oidc-95696f7b.esm.js → oidc-beeb911e.esm.js} +3 -7
  29. package/dist/{oidc-callback-23a07314.esm.js → oidc-callback-0c55b52a.esm.js} +5 -5
  30. package/dist/{oidc-callback-d8c66ca9.cjs.dev.js → oidc-callback-79de3285.cjs.dev.js} +5 -5
  31. package/dist/{oidc-callback-c3d56a4a.cjs.prod.js → oidc-callback-fd6fc3cb.cjs.prod.js} +5 -5
  32. package/dist/{project-container-216869fc.cjs.prod.js → project-container-d6ef4f95.cjs.prod.js} +22 -19
  33. package/dist/project-container-d7e433b2.cjs.dev.js +341 -0
  34. package/dist/project-container-dc6a77c1.esm.js +322 -0
  35. package/dist/{project-expired-112eb293.esm.js → project-expired-15d1e2ad.esm.js} +6 -6
  36. package/dist/{project-expired-4015d379.cjs.prod.js → project-expired-5f27a7e0.cjs.prod.js} +6 -6
  37. package/dist/{project-expired-94a0f5f7.cjs.dev.js → project-expired-cd8490b4.cjs.dev.js} +6 -6
  38. package/dist/{project-not-found-fcfed135.cjs.dev.js → project-not-found-1c22a5d3.cjs.dev.js} +6 -6
  39. package/dist/{project-not-found-9aee8dfd.esm.js → project-not-found-343dd667.esm.js} +6 -6
  40. package/dist/{project-not-found-9ac24482.cjs.prod.js → project-not-found-c43387f6.cjs.prod.js} +6 -6
  41. package/dist/{project-not-initialized-5624fe32.cjs.prod.js → project-not-initialized-6294cbc3.cjs.prod.js} +6 -6
  42. package/dist/{project-not-initialized-814ee00a.cjs.dev.js → project-not-initialized-e2dec8e0.cjs.dev.js} +6 -6
  43. package/dist/{project-not-initialized-51df89c0.esm.js → project-not-initialized-f3c58ee4.esm.js} +6 -6
  44. package/dist/{project-suspended-0a013a7f.cjs.prod.js → project-suspended-10846838.cjs.prod.js} +6 -6
  45. package/dist/{project-suspended-10fa0f61.cjs.dev.js → project-suspended-8ce7ddfc.cjs.dev.js} +6 -6
  46. package/dist/{project-suspended-e30818a8.esm.js → project-suspended-ab6c0490.esm.js} +6 -6
  47. package/dist/{quick-access-d5863124.esm.js → quick-access-51aa3d25.esm.js} +5 -5
  48. package/dist/{quick-access-9613aac7.cjs.dev.js → quick-access-5f0de0db.cjs.dev.js} +5 -5
  49. package/dist/{quick-access-a2d6f564.cjs.prod.js → quick-access-6a5e691d.cjs.prod.js} +5 -5
  50. package/dist/{redirect-to-login-aa538da2.cjs.dev.js → redirect-to-login-0a3097b7.cjs.dev.js} +1 -1
  51. package/dist/{redirect-to-login-9535ddbc.esm.js → redirect-to-login-238fc787.esm.js} +1 -1
  52. package/dist/{redirect-to-login-ee9f3801.cjs.prod.js → redirect-to-login-d261e811.cjs.prod.js} +1 -1
  53. package/dist/{redirect-to-logout-4889145e.cjs.prod.js → redirect-to-logout-469ef788.cjs.prod.js} +5 -5
  54. package/dist/{redirect-to-logout-9a89f5d8.esm.js → redirect-to-logout-799ffcc9.esm.js} +5 -5
  55. package/dist/{redirect-to-logout-202a372c.cjs.dev.js → redirect-to-logout-a0f22525.cjs.dev.js} +5 -5
  56. package/dist/{requests-in-flight-loader-697dd557.esm.js → requests-in-flight-loader-24dd0f9b.esm.js} +5 -5
  57. package/dist/{requests-in-flight-loader-9bc6935e.cjs.prod.js → requests-in-flight-loader-3929ce45.cjs.prod.js} +5 -5
  58. package/dist/{requests-in-flight-loader-55be9493.cjs.dev.js → requests-in-flight-loader-d5fb3a86.cjs.dev.js} +5 -5
  59. package/dist/{service-page-project-switcher-e3896261.cjs.prod.js → service-page-project-switcher-38212a13.cjs.prod.js} +1 -1
  60. package/dist/{service-page-project-switcher-ef2835a1.cjs.dev.js → service-page-project-switcher-9bb9d702.cjs.dev.js} +1 -1
  61. package/dist/{service-page-project-switcher-4bc59464.esm.js → service-page-project-switcher-ce8f6d34.esm.js} +1 -1
  62. package/dist/{user-settings-menu-59dbf5d2.cjs.dev.js → user-settings-menu-1b68d2f1.cjs.dev.js} +1 -1
  63. package/dist/{user-settings-menu-70751be9.cjs.prod.js → user-settings-menu-4e010c39.cjs.prod.js} +1 -1
  64. package/dist/{user-settings-menu-5841d422.esm.js → user-settings-menu-622c7fad.esm.js} +1 -1
  65. package/dist/{version-tracker-d1c9e71c.esm.js → version-tracker-219aff77.esm.js} +5 -5
  66. package/dist/{version-tracker-df0e6378.cjs.dev.js → version-tracker-3a534278.cjs.dev.js} +5 -5
  67. package/dist/{version-tracker-ea617837.cjs.prod.js → version-tracker-420ad591.cjs.prod.js} +5 -5
  68. package/package.json +21 -21
  69. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +1 -1
  70. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +1 -1
  71. package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +1 -1
  72. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +8 -2
  73. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +8 -2
  74. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +9 -3
  75. package/dist/declarations/src/components/application-shell-authenticated/new-main-navigation-flag-wrapper.d.ts +0 -9
  76. package/dist/declarations/src/components/navbar/navbar-new/compiled/navbar.css.json.d.ts +0 -3
  77. package/dist/declarations/src/components/navbar/navbar-new/navbar.d.ts +0 -48
  78. package/dist/declarations/src/components/navbar/navbar-old/compiled/navbar.css.json.d.ts +0 -3
  79. package/dist/declarations/src/components/navbar/navbar-old/loading-navbar.d.ts +0 -5
  80. package/dist/declarations/src/components/navbar/navbar-old/menu-items.d.ts +0 -100
  81. package/dist/declarations/src/components/navbar/navbar-old/navbar.d.ts +0 -48
  82. package/dist/declarations/src/components/navbar/navbar-old/navbar.styles.d.ts +0 -7
  83. package/dist/declarations/src/components/navbar/use-loading-menu-layout-effect.d.ts +0 -2
  84. package/dist/declarations/src/feature-toggles.d.ts +0 -4
  85. package/dist/index-8c459700.cjs.dev.js +0 -2079
  86. package/dist/index-b87860b8.esm.js +0 -2017
  87. package/dist/navbar-117d6a67.esm.js +0 -2006
  88. package/dist/navbar-4dc84744.cjs.prod.js +0 -1834
  89. package/dist/navbar-a4e4bff2.cjs.dev.js +0 -2037
  90. package/dist/project-container-41ab7c8c.esm.js +0 -321
  91. package/dist/project-container-61346ae8.cjs.dev.js +0 -340
  92. /package/dist/declarations/src/components/navbar/{navbar-new/navbar-skeleton.d.ts → navbar-skeleton.d.ts} +0 -0
  93. /package/dist/declarations/src/components/navbar/{navbar-new/navbar-skeleton.styles.d.ts → navbar-skeleton.styles.d.ts} +0 -0
  94. /package/dist/declarations/src/components/navbar/{navbar-new/navbar.styles.d.ts → navbar.styles.d.ts} +0 -0
@@ -1,2006 +0,0 @@
1
- import _Object$keys from '@babel/runtime-corejs3/core-js-stable/object/keys';
2
- import _Object$getOwnPropertySymbols from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols';
3
- import _filterInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/filter';
4
- import _Object$getOwnPropertyDescriptor from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor';
5
- import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/for-each';
6
- import _Object$getOwnPropertyDescriptors from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors';
7
- import _Object$defineProperties from '@babel/runtime-corejs3/core-js-stable/object/define-properties';
8
- import _Object$defineProperty from '@babel/runtime-corejs3/core-js-stable/object/define-property';
9
- import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
10
- import _slicedToArray from '@babel/runtime-corejs3/helpers/esm/slicedToArray';
11
- import _pt from 'prop-types';
12
- import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
13
- import _concatInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/concat';
14
- import _Array$isArray from '@babel/runtime-corejs3/core-js-stable/array/is-array';
15
- import { useRef, useReducer, useCallback, useEffect, useLayoutEffect, forwardRef, lazy, useMemo, useState } from 'react';
16
- import { css, Global } from '@emotion/react';
17
- import classnames from 'classnames';
18
- import snakeCase from 'lodash/snakeCase';
19
- import { defineMessages, FormattedMessage } from 'react-intl';
20
- import { NavLink, useLocation, matchPath } from 'react-router-dom';
21
- import { useMcQuery, normalizeAllAppliedPermissions, normalizeAllAppliedActionRights, normalizeAllAppliedDataFences, normalizeAllAppliedMenuVisibilities } from '@commercetools-frontend/application-shell-connectors';
22
- import LogoSVG from '@commercetools-frontend/assets/logos/commercetools_small-logo.svg';
23
- import { GRAPHQL_TARGETS, STORAGE_KEYS, NO_VALUE_FALLBACK, SUPPORT_PORTAL_URL } from '@commercetools-frontend/constants';
24
- import { SidebarCollapseIcon, SidebarExpandIcon, SupportIcon, ArrowRightIcon } from '@commercetools-uikit/icons';
25
- import { W as WINDOW_SIZES, D as DIMENSIONS } from './oidc-95696f7b.esm.js';
26
- import isNil from 'lodash/isNil';
27
- import throttle from 'lodash/throttle';
28
- import { reportErrorToSentry } from '@commercetools-frontend/sentry';
29
- import { u as useApplicationsMenu } from './use-applications-menu-902e4f5f.esm.js';
30
- import _objectWithoutProperties from '@babel/runtime-corejs3/helpers/esm/objectWithoutProperties';
31
- import _styled from '@emotion/styled/base';
32
- import _includesInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/includes';
33
- import _everyInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/every';
34
- import _findInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/find';
35
- import _startsWithInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/starts-with';
36
- import { useFlagVariation } from '@flopflip/react-broadcast';
37
- import MissingImageSvg from '@commercetools-frontend/assets/images/diagonal-line.svg';
38
- import { RestrictedByPermissions } from '@commercetools-frontend/permissions';
39
- import InlineSvg from '@commercetools-uikit/icons/inline-svg';
40
- import { l as location } from './use-is-served-by-proxy-77984220.esm.js';
41
- import { jsx, jsxs, Fragment } from '@emotion/react/jsx-runtime';
42
- import _keysInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/keys';
43
- import { designTokens } from '@commercetools-uikit/design-system';
44
- import _Array$from from '@babel/runtime-corejs3/core-js-stable/array/from';
45
- import { L as LoadingPlaceholder } from './index-b87860b8.esm.js';
46
- import { designTokens as designTokens$1 } from '@commercetools-frontend/application-components';
47
- import '@apollo/client';
48
- import '@commercetools-frontend/l10n';
49
- import './index-89e5711a.esm.js';
50
- import '@babel/runtime-corejs3/core-js-stable/instance/reduce';
51
- import '@babel/runtime-corejs3/core-js-stable/object/entries';
52
- import '@babel/runtime-corejs3/core-js-stable/reflect/has';
53
- import '@reduxjs/toolkit';
54
- import 'lodash/mapValues';
55
- import 'omit-empty-es';
56
- import 'redux-thunk';
57
- import '@commercetools-frontend/notifications';
58
- import '@commercetools-frontend/sdk';
59
- import '@babel/runtime-corejs3/core-js-stable/instance/index-of';
60
- import '@babel/runtime-corejs3/core-js-stable/instance/slice';
61
- import '@commercetools-frontend/react-notifications';
62
- import 'redux-logger';
63
- import '@commercetools-frontend/i18n';
64
- import '@babel/runtime-corejs3/core-js-stable/url';
65
- import '@commercetools-frontend/assets/images/logo.svg';
66
- import '@commercetools-uikit/spacings';
67
- import '@commercetools-uikit/flat-button';
68
- import '@babel/runtime-corejs3/helpers/taggedTemplateLiteral';
69
- import 'memoize-one';
70
- import '@commercetools-uikit/accessible-hidden';
71
- import '@commercetools-uikit/select-input';
72
- import '@commercetools-frontend/assets/images/ct-logo.svg';
73
- import '@commercetools-uikit/loading-spinner';
74
- import '@commercetools-frontend/browser-history';
75
- import '@babel/runtime-corejs3/core-js-stable/reflect/construct';
76
- import '@babel/runtime-corejs3/helpers/classCallCheck';
77
- import '@babel/runtime-corejs3/helpers/createClass';
78
- import '@babel/runtime-corejs3/helpers/inherits';
79
- import '@babel/runtime-corejs3/helpers/possibleConstructorReturn';
80
- import '@babel/runtime-corejs3/helpers/getPrototypeOf';
81
- import '@babel/runtime-corejs3/core-js-stable/object/from-entries';
82
- import '@babel/runtime-corejs3/core-js-stable/instance/flags';
83
- import '@apollo/client/react';
84
- import '@flopflip/combine-adapters';
85
- import '@flopflip/http-adapter';
86
- import '@flopflip/launchdarkly-adapter';
87
- import '@flopflip/types';
88
- import 'react-redux';
89
- import 'lodash/upperFirst';
90
- import '@commercetools-uikit/design-system/materials/resets.css';
91
- import '@commercetools-frontend/application-config/ssr';
92
- import '@babel/runtime-corejs3/core-js-stable/json/stringify';
93
- import '@babel/runtime-corejs3/core-js-stable/instance/some';
94
- import '@commercetools-frontend/actions-global';
95
-
96
- var messages = defineMessages({
97
- 'NavBar.MCSupport.title': {
98
- id: 'NavBar.MCSupport.title',
99
- defaultMessage: 'Support'
100
- }
101
- });
102
-
103
- // Type guard to help with filtering arrays for nullish elements.
104
- function nonNullable(value) {
105
- return value !== null && value !== undefined;
106
- }
107
-
108
- function ownKeys$5(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
109
- function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var _context4, _context5; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context4 = ownKeys$5(Object(t), !0)).call(_context4, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context5 = ownKeys$5(Object(t))).call(_context5, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
110
- 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: "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: 537, source: { body: "query FetchProjectExtensionsNavbar {\n projectExtension {\n id\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 } } } };
111
- const getInitialState = isForcedMenuOpen => ({
112
- isExpanderVisible: true,
113
- isMenuOpen: isNil(isForcedMenuOpen) ? false : isForcedMenuOpen
114
- });
115
- const isForcedMenuOpenDefaultValue = false;
116
- const reducer = (state, action) => {
117
- switch (action.type) {
118
- case 'setActiveItemIndex':
119
- return _objectSpread$5(_objectSpread$5({}, state), {}, {
120
- activeItemIndex: action.payload
121
- });
122
- case 'unsetActiveItemIndex':
123
- return _objectSpread$5(_objectSpread$5({}, state), {}, {
124
- activeItemIndex: undefined
125
- });
126
- case 'setIsExpanderVisible':
127
- return _objectSpread$5(_objectSpread$5({}, state), {}, {
128
- isExpanderVisible: true
129
- });
130
- case 'toggleIsMenuOpen':
131
- return _objectSpread$5(_objectSpread$5({}, state), {}, {
132
- isMenuOpen: !state.isMenuOpen
133
- });
134
- case 'setIsMenuOpenAndMakeExpanderVisible':
135
- return _objectSpread$5(_objectSpread$5({}, state), {}, {
136
- isExpanderVisible: true,
137
- isMenuOpen: action.payload
138
- });
139
- case 'reset':
140
- return {
141
- isExpanderVisible: false,
142
- isMenuOpen: false
143
- };
144
- default:
145
- return state;
146
- }
147
- };
148
- const useNavbarStateManager = props => {
149
- var _context, _context2;
150
- const navBarNode = useRef(null);
151
- const applicationsNavBarMenu = useApplicationsMenu('navBar', {
152
- queryOptions: {
153
- onError: reportErrorToSentry
154
- },
155
- environment: props.environment
156
- });
157
- const _useMcQuery = useMcQuery(FetchProjectExtensionsNavbar, {
158
- skip: !props.environment.servedByProxy,
159
- context: {
160
- target: GRAPHQL_TARGETS.SETTINGS_SERVICE
161
- },
162
- fetchPolicy: 'cache-and-network',
163
- onError: reportErrorToSentry
164
- }),
165
- projectExtensionsQuery = _useMcQuery.data;
166
- const allCustomApplicationsNavbarMenu = projectExtensionsQuery && projectExtensionsQuery.projectExtension && projectExtensionsQuery.projectExtension.installedApplications ? _filterInstanceProperty(_context = _mapInstanceProperty(_context2 = projectExtensionsQuery.projectExtension.installedApplications).call(_context2, installedApplication => {
167
- var _context3;
168
- const application = installedApplication.application;
169
- // Map the menu properties to match the one from the proxy schema.
170
- // This is to ensure that the menu object is the same from the proxy
171
- // config and the custom apps config, thus allowing them to be
172
- // concatenated and rendered the same way.
173
- return {
174
- key: application.id,
175
- uriPath: application.entryPointUriPath,
176
- labelAllLocales: application.mainMenuLink.labelAllLocales || [],
177
- icon: application.icon,
178
- permissions: application.mainMenuLink.permissions,
179
- defaultLabel: application.mainMenuLink.defaultLabel,
180
- featureToggle: undefined,
181
- menuVisibility: undefined,
182
- actionRights: undefined,
183
- dataFences: undefined,
184
- submenu: _mapInstanceProperty(_context3 = application.submenuLinks || []).call(_context3, submenuLink => ({
185
- key: submenuLink.id,
186
- uriPath: submenuLink.uriPath,
187
- labelAllLocales: submenuLink.labelAllLocales || [],
188
- permissions: submenuLink.permissions,
189
- defaultLabel: submenuLink.defaultLabel,
190
- featureToggle: undefined,
191
- menuVisibility: undefined,
192
- actionRights: undefined,
193
- dataFences: undefined
194
- }))
195
- };
196
- })).call(_context, nonNullable) : [];
197
- const cachedIsForcedMenuOpen = window.localStorage.getItem(STORAGE_KEYS.IS_FORCED_MENU_OPEN);
198
- const isForcedMenuOpen = isNil(cachedIsForcedMenuOpen) ? isForcedMenuOpenDefaultValue : JSON.parse(cachedIsForcedMenuOpen);
199
- if (isNil(cachedIsForcedMenuOpen)) {
200
- window.localStorage.setItem(STORAGE_KEYS.IS_FORCED_MENU_OPEN, String(isForcedMenuOpen));
201
- }
202
- const _useReducer = useReducer(reducer, getInitialState(isForcedMenuOpen)),
203
- _useReducer2 = _slicedToArray(_useReducer, 2),
204
- state = _useReducer2[0],
205
- dispatch = _useReducer2[1];
206
- const checkSize = useCallback(throttle(() => {
207
- const shouldOpen = window.innerWidth > WINDOW_SIZES.STANDARD;
208
- const canExpandMenu = window.innerWidth > (props.newNavigation ? WINDOW_SIZES.WIDE : WINDOW_SIZES.NARROW);
209
-
210
- // If the screen is small, we should always keep the menu closed,
211
- // no matter the settings.
212
- if (!canExpandMenu) {
213
- if (state.isMenuOpen || state.isExpanderVisible) {
214
- // and resets the state to avoid conflicts
215
- dispatch({
216
- type: 'reset'
217
- });
218
- }
219
- } else if (isForcedMenuOpen) {
220
- dispatch({
221
- type: 'setIsMenuOpenAndMakeExpanderVisible',
222
- payload: true
223
- });
224
- } else if (canExpandMenu && state.isExpanderVisible !== true) {
225
- dispatch({
226
- type: 'setIsExpanderVisible'
227
- });
228
- } else if (isNil(isForcedMenuOpen) && state.isMenuOpen !== shouldOpen) {
229
- // User has no settings yet (this.props.isForcedMenuOpen === null)
230
- // We check the viewport size and:
231
- // - if screen is big, we open the menu
232
- // - if screen is small we close it
233
- dispatch({
234
- type: 'setIsMenuOpenAndMakeExpanderVisible',
235
- payload: shouldOpen
236
- });
237
- } else if (!isNil(isForcedMenuOpen) && state.isMenuOpen !== isForcedMenuOpen) {
238
- // User has setting, we should use that and ignore the screen size.
239
- // Note: if viewport size is small, we should ignore the user settings.
240
- dispatch({
241
- type: 'setIsMenuOpenAndMakeExpanderVisible',
242
- payload: isForcedMenuOpen
243
- });
244
- }
245
- }, 100), [isForcedMenuOpen, state.isExpanderVisible, state.isMenuOpen]);
246
- const shouldCloseMenuFly = useCallback(event => {
247
- if (navBarNode && navBarNode.current && !navBarNode.current.contains(event.target) && !state.isMenuOpen) dispatch({
248
- type: 'unsetActiveItemIndex'
249
- });else if (event.type === 'mouseleave') dispatch({
250
- type: 'unsetActiveItemIndex'
251
- });
252
- }, [state.isMenuOpen]);
253
- useEffect(() => {
254
- window.addEventListener('resize', checkSize);
255
- window.addEventListener('click', shouldCloseMenuFly, true);
256
- return () => {
257
- window.removeEventListener('resize', checkSize);
258
- window.removeEventListener('click', shouldCloseMenuFly, true);
259
- };
260
- }, [checkSize, shouldCloseMenuFly]);
261
- useEffect(() => {
262
- checkSize();
263
- // eslint-disable-next-line react-hooks/exhaustive-deps
264
- }, []); // <-- run this only once!!
265
-
266
- useLayoutEffect(() => {
267
- if (state.isMenuOpen) document.body.classList.add('body__menu-open');
268
- if (!state.isMenuOpen) document.body.classList.remove('body__menu-open');
269
- }, [state.isMenuOpen]);
270
- const handleToggleItem = useCallback(nextActiveItemIndex => {
271
- if (state.activeItemIndex !== nextActiveItemIndex) dispatch({
272
- type: 'setActiveItemIndex',
273
- payload: nextActiveItemIndex
274
- });
275
- }, [state.activeItemIndex]);
276
- const handleToggleMenu = useCallback(() => {
277
- if (state.isMenuOpen && state.activeItemIndex) {
278
- dispatch({
279
- type: 'unsetActiveItemIndex'
280
- });
281
- }
282
- dispatch({
283
- type: 'toggleIsMenuOpen'
284
- });
285
- // Synchronize the menu state with local storage.
286
- window.localStorage.setItem(STORAGE_KEYS.IS_FORCED_MENU_OPEN, String(!state.isMenuOpen));
287
- }, [state.activeItemIndex, state.isMenuOpen]);
288
- const allInternalApplicationsNavbarMenu = applicationsNavBarMenu || [];
289
- return _objectSpread$5(_objectSpread$5({}, state), {}, {
290
- navBarNode,
291
- handleToggleItem,
292
- handleToggleMenu,
293
- shouldCloseMenuFly,
294
- allInternalApplicationsNavbarMenu,
295
- allCustomApplicationsNavbarMenu
296
- });
297
- };
298
-
299
- const _excluded$1 = ["icon"];
300
- function ownKeys$4(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
301
- function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context3 = ownKeys$4(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context4 = ownKeys$4(Object(t))).call(_context4, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
302
- function _EMOTION_STRINGIFIED_CSS_ERROR__$1() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
303
- const compiledStyles$4 = {
304
- "global": ":root {\n\n /* Left navigation */\n}\n\n@keyframes navbar-mod__visible___ifOIc {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___op7AX {\n display: grid;\n width: 80px;\n background: var(--color-primary);\n height: 100%;\n grid-template-rows: 56px 1fr;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__navigation-header___vaIOk {\n background-color: var(--color-accent-10);\n color: var(--color-surface);\n display: flex;\n justify-content: center;\n flex-direction: row;\n align-items: center;\n padding: var(--spacing-30);\n}\n\n.navbar-mod__navigation-header___vaIOk .navbar-mod__icon-container___hAbPn {\n width: auto;\n display: flex;\n justify-content: center;\n}\n\n.navbar-mod__navigation-header___vaIOk .navbar-mod__title___aTo0V {\n font-weight: 600;\n margin-left: var(--spacing-20);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n animation: navbar-mod__visible___ifOIc 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__navigation-header___vaIOk .navbar-mod__icon___21inq {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list___pouHY {\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.navbar-mod__list-item___y7qYe {\n min-height: 48px;\n background: var(--color-primary);\n margin: 0;\n list-style: none;\n cursor: pointer;\n}\n\n.navbar-mod__item-link___6U2c1 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n width: 48px;\n position: relative;\n display: block;\n}\n\n.body__menu-open .navbar-mod__item-link___6U2c1 {\n width: 100%;\n}\n\n.navbar-mod__list-item___y7qYe .navbar-mod__item-icon-text___3ZFtB {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__list-item___y7qYe .navbar-mod__icon___21inq {\n width: 24px;\n height: 24px;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__list-item___y7qYe:hover .navbar-mod__icon___21inq {\n /* 1.16 is roughly the ratio of icon-size-hover to --icon-size */\n transform: scale(1.2);\n}\n\n.navbar-mod__list-item___y7qYe .navbar-mod__icon___21inq > svg *:not([fill='none']) {\n fill: var(--color-surface);\n}\n\n.navbar-mod__list-item___y7qYe .navbar-mod__title___aTo0V {\n flex: 1;\n font-weight: 600;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n opacity: 0;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n text-align: left;\n text-decoration: none;\n z-index: 1;\n}\n\n.navbar-mod__expander___blASx {\n display: flex;\n align-items: center;\n justify-content: center;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: linear-gradient(\n 180deg,\n var(--color-primary) 0%,\n var(--color-primary-25) 100%\n );\n padding: var(--spacing-30) var(--spacing-25);\n}\n\n.navbar-mod__expander___blASx:hover {\n background-color: var(--color-primary-40);\n}\n\n/* divider */\n\n.navbar-mod__expander___blASx::before {\n content: '';\n position: absolute;\n top: 56px;\n height: 1px;\n background: rgba(255, 255, 255, 0.5);\n width: calc(100% - 2 * var(--spacing-30));\n}\n\n.navbar-mod__expand-icon___3A2Dk {\n height: 40px;\n width: 40px;\n border-radius: var(--border-radius-4);\n padding: var(--spacing-20);\n background: rgba(255, 255, 255, 0.2);\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__expand-icon___3A2Dk:hover {\n background: rgba(255, 255, 255, 0.3);\n cursor: pointer;\n}\n\n.navbar-mod__item--bottom___Pygdy {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___y7qYe:not(.navbar-mod__item_menu__active___j515K):hover {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__item_menu-open___NnkVM {\n height: auto !important;\n}\n\n.navbar-mod__item_menu-collapsed___1s4K0 .navbar-mod__item-link___6U2c1 {\n text-align: center;\n}\n\n.body__menu-open .navbar-mod__left-navigation___op7AX {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n box-shadow: var(--shadow-for-navbar);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.body__menu-open .navbar-mod__list-item___y7qYe {\n height: auto;\n min-height: 48px;\n overflow: hidden;\n width: 100%;\n}\n\n.body__menu-open .navbar-mod__left-navigation___op7AX {\n width: 256px;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.body__menu-open .navbar-mod__list-item___y7qYe .navbar-mod__title___aTo0V {\n opacity: 1;\n margin-left: var(--spacing-25);\n color: var(--color-surface);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n animation: navbar-mod__visible___ifOIc 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__list-item___y7qYe:hover .navbar-mod__title___aTo0V {\n margin-left: calc(var(--spacing-25) + 2px);\n}\n\n.navbar-mod__list-item___y7qYe:not(.navbar-mod__item__active___SEPWP):hover .navbar-mod__icon___21inq > svg *:not([fill='none']) {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n fill: var(--color-for-navbar-icon-when-active);\n}\n\n.navbar-mod__list-item___y7qYe:not(.navbar-mod__item__active___SEPWP):hover .navbar-mod__title___aTo0V {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n}\n\n.body__menu-open .navbar-mod__item__active___SEPWP {\n max-height: 500px;\n transition: max-height 0.25s ease-in;\n}\n\n/* Second level menu */\n\n.navbar-mod__sublist___tMZy4 {\n padding: var(--spacing-30);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n left: 72px;\n z-index: -1;\n list-style: none;\n position: fixed;\n display: none;\n}\n\n/* This pseudo-element is required to enable smooth coursor movement from the main menu item to submenu items with the gap in between */\n\n.navbar-mod__sublist-expanded__active___XyUuS::before,\n.navbar-mod__sublist-collapsed__active___yWHea::before,\n.navbar-mod__sublist-collapsed__active__above___-7-Ca::before {\n content: '';\n position: absolute;\n display: block;\n width: calc(253px + var(--spacing-20));\n height: 48px;\n left: calc(-1 * var(--spacing-20));\n}\n\n.navbar-mod__sublist__inactive___5-OgH {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___ZZbsF {\n display: flex;\n align-items: center;\n align-self: stretch;\n transition: padding-left 150ms ease-out;\n}\n\n.navbar-mod__sublist-item__active___O2-c- {\n border-radius: var(--border-radius-4);\n background: var(--color-accent-30);\n}\n\n.navbar-mod__sublist-item___ZZbsF:not(.navbar-mod__sublist-item__active___O2-c-):hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n border-radius: var(--border-radius-4);\n background: var(--color-primary-95);\n padding-left: var(--spacing-20);\n}\n\n.navbar-mod__text___3TpQt {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n width: 100%;\n height: 100%;\n}\n\n.navbar-mod__text-link___TcEn2 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n text-decoration: none;\n display: flex;\n padding: var(--spacing-25);\n align-items: center;\n justify-content: center;\n}\n\n.body__menu-open .navbar-mod__text-link___TcEn2 {\n justify-content: start;\n}\n\n.navbar-mod__text-link-sublist-wrapper___RQinz {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n position: relative;\n min-height: 0;\n}\n\n.navbar-mod__text-link-sublist___V0-tf {\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n color: var(--color-solid);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n text-decoration: none;\n flex: 1;\n padding: var(--spacing-25) var(--spacing-25) var(--spacing-25)\n var(--spacing-30);\n}\n\n.navbar-mod__navlink-clickable-content___o-emf {\n height: 100%;\n width: 100%;\n}\n\n/* Item active */\n\n.navbar-mod__item__active___SEPWP,\n.navbar-mod__item_menu__active___j515K {\n background: var(--color-accent-30);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__list-item___y7qYe.navbar-mod__item__active___SEPWP .navbar-mod__item-icon-text___3ZFtB {\n justify-content: flex-start;\n}\n\n.navbar-mod__list-item___y7qYe .navbar-mod__icon-container___hAbPn {\n width: auto;\n display: flex;\n justify-content: center;\n align-self: flex-start;\n}\n\n.navbar-mod__fixed-menu___QYEJM .navbar-mod__list-item___y7qYe .navbar-mod__item-icon-text___3ZFtB {\n justify-content: center;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__support-menu___bkf5Q {\n padding: 0 var(--spacing-30) var(--spacing-20) var(--spacing-30);\n height: calc(48px + var(--spacing-20));\n}\n\n.body__menu-open .navbar-mod__list-item___y7qYe.navbar-mod__item__active___SEPWP .navbar-mod__item-icon-text___3ZFtB {\n position: relative;\n width: auto;\n}\n\n.body__menu-open .navbar-mod__list-item___y7qYe.navbar-mod__item__active___SEPWP .navbar-mod__item-icon-text___3ZFtB {\n margin-left: 0;\n}\n\n.navbar-mod__tooltip-container___gTiaE {\n position: absolute;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n height: 48px;\n visibility: visible;\n}\n\n.navbar-mod__tooltip___3PSlF {\n padding: var(--spacing-10) calc(var(--spacing-20) + var(--spacing-10));\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n border-radius: var(--border-radius-4);\n background: var(--color-accent-10);\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n color: var(--color-surface);\n max-height: 48px;\n visibility: inherit;\n}\n\n.navbar-mod__sublist-expanded__active___XyUuS,\n.navbar-mod__sublist-collapsed__active___yWHea,\n.navbar-mod__sublist-collapsed__active__above___-7-Ca {\n opacity: 1;\n display: none;\n text-align: left;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-active);\n}\n\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-collapsed__active___yWHea,\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-collapsed__active__above___-7-Ca,\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-expanded__active___XyUuS {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--color-surface);\n /* TODO: add design tokens instead hard-coded values */\n min-height: 50px;\n width: 253px;\n border-radius: var(--border-radius-8);\n /* z-index value must be higher than AppBar's z-index */\n z-index: 20001;\n box-shadow: -2px 4px 25px 0 rgba(89, 89, 89, 0.5);\n}\n\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-collapsed__active___yWHea.navbar-mod__sublist-collapsed__empty___mXa6R,\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-collapsed__active__above___-7-Ca.navbar-mod__sublist-collapsed__empty___mXa6R {\n visibility: hidden;\n}\n\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-expanded__active___XyUuS {\n left: 248px;\n}\n\n.navbar-mod__highlighted___06BoS,\n.navbar-mod__highlighted___06BoS .navbar-mod__title___aTo0V {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-active) !important;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-active);\n}\n\n.navbar-mod__hidden___-s7eh {\n display: none;\n}\n\n.navbar-mod__divider___GBOn1 {\n border-top: 1px solid var(--color-neutral-40);\n}\n\n.navbar-mod__loading-dot-container___B7sPh {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-mod__scrollable-menu___I9ci7 {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: hidden;\n padding: var(--spacing-30) var(--spacing-30) 48px;\n width: 80px;\n box-sizing: border-box;\n /* For Firefox */\n scrollbar-width: thin;\n scrollbar-color: var(--color-primary-40) transparent;\n}\n\n.body__menu-open .navbar-mod__scrollable-menu___I9ci7 {\n width: 256px;\n}\n\n.navbar-mod__scrollable-menu___I9ci7:hover {\n overflow-y: scroll;\n padding-right: 8px;\n}\n\n.navbar-mod__scrollable-menu___I9ci7::-webkit-scrollbar {\n width: 8px;\n}\n\n.navbar-mod__scrollable-menu___I9ci7::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.navbar-mod__scrollable-menu___I9ci7::-webkit-scrollbar-thumb {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__fixed-menu___QYEJM {\n position: relative;\n width: 80px;\n}\n\n.body__menu-open .navbar-mod__fixed-menu___QYEJM {\n width: 256px;\n}\n",
305
- "jsonMap": {
306
- "left-navigation": "navbar-mod__left-navigation___op7AX",
307
- "navigation-header": "navbar-mod__navigation-header___vaIOk",
308
- "icon-container": "navbar-mod__icon-container___hAbPn",
309
- "title": "navbar-mod__title___aTo0V",
310
- "visible": "navbar-mod__visible___ifOIc",
311
- "icon": "navbar-mod__icon___21inq",
312
- "list": "navbar-mod__list___pouHY",
313
- "list-item": "navbar-mod__list-item___y7qYe",
314
- "item-link": "navbar-mod__item-link___6U2c1",
315
- "item-icon-text": "navbar-mod__item-icon-text___3ZFtB",
316
- "expander": "navbar-mod__expander___blASx",
317
- "expand-icon": "navbar-mod__expand-icon___3A2Dk",
318
- "item--bottom": "navbar-mod__item--bottom___Pygdy",
319
- "item_menu__active": "navbar-mod__item_menu__active___j515K",
320
- "item_menu-open": "navbar-mod__item_menu-open___NnkVM",
321
- "item_menu-collapsed": "navbar-mod__item_menu-collapsed___1s4K0",
322
- "item__active": "navbar-mod__item__active___SEPWP",
323
- "sublist": "navbar-mod__sublist___tMZy4",
324
- "sublist-expanded__active": "navbar-mod__sublist-expanded__active___XyUuS",
325
- "sublist-collapsed__active": "navbar-mod__sublist-collapsed__active___yWHea",
326
- "sublist-collapsed__active__above": "navbar-mod__sublist-collapsed__active__above___-7-Ca",
327
- "sublist__inactive": "navbar-mod__sublist__inactive___5-OgH",
328
- "sublist-item": "navbar-mod__sublist-item___ZZbsF",
329
- "sublist-item__active": "navbar-mod__sublist-item__active___O2-c-",
330
- "text": "navbar-mod__text___3TpQt",
331
- "text-link": "navbar-mod__text-link___TcEn2",
332
- "text-link-sublist-wrapper": "navbar-mod__text-link-sublist-wrapper___RQinz",
333
- "text-link-sublist": "navbar-mod__text-link-sublist___V0-tf",
334
- "navlink-clickable-content": "navbar-mod__navlink-clickable-content___o-emf",
335
- "fixed-menu": "navbar-mod__fixed-menu___QYEJM",
336
- "support-menu": "navbar-mod__support-menu___bkf5Q",
337
- "tooltip-container": "navbar-mod__tooltip-container___gTiaE",
338
- "tooltip": "navbar-mod__tooltip___3PSlF",
339
- "sublist-collapsed__empty": "navbar-mod__sublist-collapsed__empty___mXa6R",
340
- "highlighted": "navbar-mod__highlighted___06BoS",
341
- "hidden": "navbar-mod__hidden___-s7eh",
342
- "divider": "navbar-mod__divider___GBOn1",
343
- "loading-dot-container": "navbar-mod__loading-dot-container___B7sPh",
344
- "scrollable-menu": "navbar-mod__scrollable-menu___I9ci7"
345
- }
346
- };
347
- const styles$4 = compiledStyles$4.jsonMap;
348
- const HeartIcon$1 = /*#__PURE__*/lazy(() => import('./heart-86f780f3.esm.js'));
349
- const PaperclipIcon$1 = /*#__PURE__*/lazy(() => import('./paperclip-a820ee87.esm.js'));
350
- const PluginIcon$1 = /*#__PURE__*/lazy(() => import('./plugin-c7bf9e53.esm.js'));
351
- const RocketIcon$1 = /*#__PURE__*/lazy(() => import('./rocket-bacf24be.esm.js'));
352
- const StarIcon$1 = /*#__PURE__*/lazy(() => import('./star-af90a9c6.esm.js'));
353
- const ConnectedSquareIcon$1 = /*#__PURE__*/lazy(() => import('./connected-square-fe6a790f.esm.js'));
354
- const WorldIcon$1 = /*#__PURE__*/lazy(() => import('./world-523efd61.esm.js'));
355
- const TreeStructureIcon$1 = /*#__PURE__*/lazy(() => import('./tree-structure-ca0498a0.esm.js'));
356
- const UserFilledIcon$1 = /*#__PURE__*/lazy(() => import('./user-filled-61d8a81b.esm.js'));
357
- const SpeedometerIcon$1 = /*#__PURE__*/lazy(() => import('./speedometer-4c8e0b9c.esm.js'));
358
- const TagMultiIcon$1 = /*#__PURE__*/lazy(() => import('./tag-multi-4c2742de.esm.js'));
359
- const CartIcon$1 = /*#__PURE__*/lazy(() => import('./cart-bb491ca1.esm.js'));
360
- const BoxIcon$1 = /*#__PURE__*/lazy(() => import('./box-9cf180c1.esm.js'));
361
- const GearIcon$1 = /*#__PURE__*/lazy(() => import('./gear-ee90ba83.esm.js'));
362
- const ListWithSearchIcon$1 = /*#__PURE__*/lazy(() => import('./list-with-search-d2901e34.esm.js'));
363
- // The icon is expected to be the `svg` document as a string.
364
- // For backwards compatibility purposes, we still support the legacy "icon name",
365
- // which we then map to one of the pre-defined icons.
366
- // Eventually, we want to get rid of this "switch" logic.
367
- const IconSwitcher$1 = _ref4 => {
368
- let icon = _ref4.icon,
369
- iconProps = _objectWithoutProperties(_ref4, _excluded$1);
370
- if (_includesInstanceProperty(icon).call(icon, '<svg')) {
371
- return jsx(InlineSvg, _objectSpread$4({
372
- data: icon
373
- }, iconProps));
374
- }
375
- // Backwards compatibility for apps using the "icon name".
376
- switch (icon) {
377
- // Legacy application icons
378
- // TODO: To be removed once MC applications icons updates are published
379
- case 'TreeStructureIcon':
380
- return jsx(TreeStructureIcon$1, _objectSpread$4({}, iconProps));
381
- case 'UserFilledIcon':
382
- return jsx(UserFilledIcon$1, _objectSpread$4({}, iconProps));
383
- case 'SpeedometerIcon':
384
- return jsx(SpeedometerIcon$1, _objectSpread$4({}, iconProps));
385
- case 'TagMultiIcon':
386
- return jsx(TagMultiIcon$1, _objectSpread$4({}, iconProps));
387
- case 'CartIcon':
388
- return jsx(CartIcon$1, _objectSpread$4({}, iconProps));
389
- case 'BoxIcon':
390
- return jsx(BoxIcon$1, _objectSpread$4({}, iconProps));
391
- case 'GearIcon':
392
- return jsx(GearIcon$1, _objectSpread$4({}, iconProps));
393
- case 'ListWithSearchIcon':
394
- return jsx(ListWithSearchIcon$1, _objectSpread$4({}, iconProps));
395
-
396
- // Custom application icons set
397
- case 'HeartIcon':
398
- return jsx(HeartIcon$1, _objectSpread$4({}, iconProps));
399
- case 'PaperclipIcon':
400
- return jsx(PaperclipIcon$1, _objectSpread$4({}, iconProps));
401
- case 'PluginIcon':
402
- return jsx(PluginIcon$1, _objectSpread$4({}, iconProps));
403
- case 'RocketIcon':
404
- return jsx(RocketIcon$1, _objectSpread$4({}, iconProps));
405
- case 'StarIcon':
406
- return jsx(StarIcon$1, _objectSpread$4({}, iconProps));
407
- case 'ConnectedSquareIcon':
408
- return jsx(ConnectedSquareIcon$1, _objectSpread$4({}, iconProps));
409
- // For backwards compatibility
410
- case 'WorldIcon':
411
- return jsx(WorldIcon$1, _objectSpread$4({}, iconProps));
412
- default:
413
- return jsx("img", {
414
- src: MissingImageSvg,
415
- alt: "missing icon"
416
- });
417
- }
418
- };
419
- IconSwitcher$1.propTypes = process.env.NODE_ENV !== "production" ? {
420
- icon: _pt.string.isRequired
421
- } : {};
422
- IconSwitcher$1.displayName = 'IconSwitcher';
423
- const getIcon = _ref5 => {
424
- let isMenuOpen = _ref5.isMenuOpen;
425
- const Icon = isMenuOpen ? SidebarCollapseIcon : SidebarExpandIcon;
426
- return jsx(Icon, {
427
- color: "surface",
428
- size: "big"
429
- });
430
- };
431
- const MenuExpander$1 = props => {
432
- return jsx("li", {
433
- className: classnames(styles$4.expander, {
434
- [styles$4.hidden]: !props.isVisible
435
- }),
436
- children: jsx("div", {
437
- onClick: props.onClick,
438
- className: styles$4['expand-icon'],
439
- "data-testid": "menu-expander",
440
- children: getIcon(props)
441
- })
442
- }, "expander");
443
- };
444
- MenuExpander$1.propTypes = process.env.NODE_ENV !== "production" ? {
445
- isVisible: _pt.bool.isRequired,
446
- onClick: _pt.func.isRequired,
447
- isMenuOpen: _pt.bool.isRequired
448
- } : {};
449
- MenuExpander$1.displayName = 'MenuExpander';
450
- const Faded$1 = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
451
- target: "e10pzajx0"
452
- } : {
453
- target: "e10pzajx0",
454
- label: "Faded"
455
- })(process.env.NODE_ENV === "production" ? {
456
- name: "16qr508",
457
- styles: "position:absolute;top:-32px;height:32px;width:100%;background:linear-gradient(180deg, rgba(0, 153, 135, 0) 0%, #00b39e 100%);z-index:1"
458
- } : {
459
- name: "16qr508",
460
- styles: "position:absolute;top:-32px;height:32px;width:100%;background:linear-gradient(180deg, rgba(0, 153, 135, 0) 0%, #00b39e 100%);z-index:1",
461
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNKd0IiLCJmaWxlIjoibWVudS1pdGVtcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICBsYXp5LFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEdsb2JhbCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgdXNlRmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IHR5cGUgeyBURmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IE5hdkxpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB0eXBlIHtcbiAgVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzLFxuICBUTm9ybWFsaXplZFBlcm1pc3Npb25zLFxuICBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyxcbiAgVE5vcm1hbGl6ZWREYXRhRmVuY2VzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCBNaXNzaW5nSW1hZ2VTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9kaWFnb25hbC1saW5lLnN2Zyc7XG5pbXBvcnQgeyBOT19WQUxVRV9GQUxMQkFDSyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSZXN0cmljdGVkQnlQZXJtaXNzaW9ucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3Blcm1pc3Npb25zJztcbmltcG9ydCB7XG4gIEJhY2tJY29uLFxuICBTaWRlYmFyRXhwYW5kSWNvbixcbiAgU2lkZWJhckNvbGxhcHNlSWNvbixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IElubGluZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucy9pbmxpbmUtc3ZnJztcbmltcG9ydCB7IERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1xuICBURGF0YUZlbmNlLFxuICBUQWN0aW9uUmlnaHQsXG4gIFRMb2NhbGl6ZWRGaWVsZCxcbn0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcbmltcG9ydCB7IGxvY2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvbG9jYXRpb24nO1xuLy8gaHR0cHM6Ly9iYWJlbGpzLmlvL2Jsb2cvMjAxNy8wOS8xMS96ZXJvLWNvbmZpZy13aXRoLWJhYmVsLW1hY3Jvc1xuaW1wb3J0IGNvbXBpbGVkU3R5bGVzIGZyb20gLyogcHJldmFsICovICcuL25hdmJhci5zdHlsZXMnO1xuXG5jb25zdCBzdHlsZXMgPSBjb21waWxlZFN0eWxlcy5qc29uTWFwO1xuXG50eXBlIFRQcm9qZWN0UGVybWlzc2lvbnMgPSB7XG4gIHBlcm1pc3Npb25zOiBUTm9ybWFsaXplZFBlcm1pc3Npb25zIHwgbnVsbDtcbiAgYWN0aW9uUmlnaHRzOiBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyB8IG51bGw7XG4gIGRhdGFGZW5jZXM6IFROb3JtYWxpemVkRGF0YUZlbmNlcyB8IG51bGw7XG59O1xuXG5jb25zdCBIZWFydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2hlYXJ0JykpO1xuY29uc3QgUGFwZXJjbGlwSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvcGFwZXJjbGlwJykpO1xuY29uc3QgUGx1Z2luSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvcGx1Z2luJykpO1xuY29uc3QgUm9ja2V0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvcm9ja2V0JykpO1xuY29uc3QgU3Rhckljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3N0YXInKSk7XG5jb25zdCBDb25uZWN0ZWRTcXVhcmVJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvY29ubmVjdGVkLXNxdWFyZScpXG4pO1xuY29uc3QgV29ybGRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy93b3JsZCcpKTtcbmNvbnN0IFRyZWVTdHJ1Y3R1cmVJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy90cmVlLXN0cnVjdHVyZScpKTtcbmNvbnN0IFVzZXJGaWxsZWRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy91c2VyLWZpbGxlZCcpKTtcbmNvbnN0IFNwZWVkb21ldGVySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3BlZWRvbWV0ZXInKSk7XG5jb25zdCBUYWdNdWx0aUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RhZy1tdWx0aScpKTtcbmNvbnN0IENhcnRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jYXJ0JykpO1xuY29uc3QgQm94SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvYm94JykpO1xuY29uc3QgR2Vhckljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2dlYXInKSk7XG5jb25zdCBMaXN0V2l0aFNlYXJjaEljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9saXN0LXdpdGgtc2VhcmNoJylcbik7XG5cbnR5cGUgSWNvblByb3BzID0gUGFyYW1ldGVyczx0eXBlb2YgQmFja0ljb24+WzBdO1xudHlwZSBJY29uU3dpdGNoZXJQcm9wcyA9IHsgaWNvbjogc3RyaW5nIH0gJiBJY29uUHJvcHM7XG4vLyBUaGUgaWNvbiBpcyBleHBlY3RlZCB0byBiZSB0aGUgYHN2Z2AgZG9jdW1lbnQgYXMgYSBzdHJpbmcuXG4vLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcHVycG9zZXMsIHdlIHN0aWxsIHN1cHBvcnQgdGhlIGxlZ2FjeSBcImljb24gbmFtZVwiLFxuLy8gd2hpY2ggd2UgdGhlbiBtYXAgdG8gb25lIG9mIHRoZSBwcmUtZGVmaW5lZCBpY29ucy5cbi8vIEV2ZW50dWFsbHksIHdlIHdhbnQgdG8gZ2V0IHJpZCBvZiB0aGlzIFwic3dpdGNoXCIgbG9naWMuXG5jb25zdCBJY29uU3dpdGNoZXIgPSAoeyBpY29uLCAuLi5pY29uUHJvcHMgfTogSWNvblN3aXRjaGVyUHJvcHMpID0+IHtcbiAgaWYgKGljb24uaW5jbHVkZXMoJzxzdmcnKSkge1xuICAgIHJldHVybiA8SW5saW5lU3ZnIGRhdGE9e2ljb259IHsuLi5pY29uUHJvcHN9IC8+O1xuICB9XG4gIC8vIEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBhcHBzIHVzaW5nIHRoZSBcImljb24gbmFtZVwiLlxuICBzd2l0Y2ggKGljb24pIHtcbiAgICAvLyBMZWdhY3kgYXBwbGljYXRpb24gaWNvbnNcbiAgICAvLyBUT0RPOiBUbyBiZSByZW1vdmVkIG9uY2UgTUMgYXBwbGljYXRpb25zIGljb25zIHVwZGF0ZXMgYXJlIHB1Ymxpc2hlZFxuICAgIGNhc2UgJ1RyZWVTdHJ1Y3R1cmVJY29uJzpcbiAgICAgIHJldHVybiA8VHJlZVN0cnVjdHVyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVXNlckZpbGxlZEljb24nOlxuICAgICAgcmV0dXJuIDxVc2VyRmlsbGVkSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdTcGVlZG9tZXRlckljb24nOlxuICAgICAgcmV0dXJuIDxTcGVlZG9tZXRlckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVGFnTXVsdGlJY29uJzpcbiAgICAgIHJldHVybiA8VGFnTXVsdGlJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0NhcnRJY29uJzpcbiAgICAgIHJldHVybiA8Q2FydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQm94SWNvbic6XG4gICAgICByZXR1cm4gPEJveEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnR2Vhckljb24nOlxuICAgICAgcmV0dXJuIDxHZWFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdMaXN0V2l0aFNlYXJjaEljb24nOlxuICAgICAgcmV0dXJuIDxMaXN0V2l0aFNlYXJjaEljb24gey4uLmljb25Qcm9wc30gLz47XG5cbiAgICAvLyBDdXN0b20gYXBwbGljYXRpb24gaWNvbnMgc2V0XG4gICAgY2FzZSAnSGVhcnRJY29uJzpcbiAgICAgIHJldHVybiA8SGVhcnRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BhcGVyY2xpcEljb24nOlxuICAgICAgcmV0dXJuIDxQYXBlcmNsaXBJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BsdWdpbkljb24nOlxuICAgICAgcmV0dXJuIDxQbHVnaW5JY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1JvY2tldEljb24nOlxuICAgICAgcmV0dXJuIDxSb2NrZXRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1N0YXJJY29uJzpcbiAgICAgIHJldHVybiA8U3Rhckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ29ubmVjdGVkU3F1YXJlSWNvbic6XG4gICAgICByZXR1cm4gPENvbm5lY3RlZFNxdWFyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgY2FzZSAnV29ybGRJY29uJzpcbiAgICAgIHJldHVybiA8V29ybGRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPGltZyBzcmM9e01pc3NpbmdJbWFnZVN2Z30gYWx0PVwibWlzc2luZyBpY29uXCIgLz47XG4gIH1cbn07XG5JY29uU3dpdGNoZXIuZGlzcGxheU5hbWUgPSAnSWNvblN3aXRjaGVyJztcblxudHlwZSBNZW51RXhwYW5kZXJQcm9wcyA9IHtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG59O1xuXG5jb25zdCBnZXRJY29uID0gKHsgaXNNZW51T3BlbiB9OiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICBjb25zdCBJY29uID0gaXNNZW51T3BlbiA/IFNpZGViYXJDb2xsYXBzZUljb24gOiBTaWRlYmFyRXhwYW5kSWNvbjtcbiAgcmV0dXJuIDxJY29uIGNvbG9yPVwic3VyZmFjZVwiIHNpemU9XCJiaWdcIiAvPjtcbn07XG5cbmNvbnN0IE1lbnVFeHBhbmRlciA9IChwcm9wczogTWVudUV4cGFuZGVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIGtleT1cImV4cGFuZGVyXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXMuZXhwYW5kZXIsIHtcbiAgICAgICAgW3N0eWxlcy5oaWRkZW5dOiAhcHJvcHMuaXNWaXNpYmxlLFxuICAgICAgfSl9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snZXhwYW5kLWljb24nXX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJtZW51LWV4cGFuZGVyXCJcbiAgICAgID5cbiAgICAgICAge2dldEljb24ocHJvcHMpfVxuICAgICAgPC9kaXY+XG4gICAgPC9saT5cbiAgKTtcbn07XG5NZW51RXhwYW5kZXIuZGlzcGxheU5hbWUgPSAnTWVudUV4cGFuZGVyJztcblxuY29uc3QgRmFkZWQgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwgMTUzLCAxMzUsIDApIDAlLCAjMDBiMzllIDEwMCUpO1xuICB6LWluZGV4OiAxO1xuYDtcblxudHlwZSBNZW51R3JvdXBQcm9wcyA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGV2ZWw6IDEgfCAyO1xuICBpc0FjdGl2ZT86IGJvb2xlYW47XG4gIGlzRXhwYW5kZWQ/OiBib29sZWFuO1xuICBoYXNTdWJtZW51PzogYm9vbGVhbjtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIHN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uPzogbnVtYmVyO1xuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXJcbikgPT4gY3NzYFxuICAke2lzU3VibWVudUFib3ZlTWVudUl0ZW0gPyAnYm90dG9tJyA6ICd0b3AnfTogJHtzdWJtZW51VmVydGljYWxQb3NpdGlvbn1weFxuYDtcblxuY29uc3QgZ2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbiA9IChcbiAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQ/OiBib29sZWFuLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZD86IGJvb2xlYW5cbikgPT4gW1xuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgIGNzc2BcbiAgICAgICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbVxuICAgICAgICA/ICdib3R0b20nXG4gICAgICAgIDogJ3RvcCd9OiAtJHtESU1FTlNJT05TLm5hdk1lbnVJdGVtSGVpZ2h0fTtcbiAgICBgLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkICYmXG4gICAgaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIGJvdHRvbTogMDtcbiAgICBgLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkICYmXG4gICAgIWlzU3VibWVudUFib3ZlTWVudUl0ZW0gJiZcbiAgICBjc3NgXG4gICAgICB0b3A6IDA7XG4gICAgYCxcbl07XG5cbmNvbnN0IE1lbnVHcm91cCA9IGZvcndhcmRSZWY8SFRNTFVMaXN0RWxlbWVudCwgTWVudUdyb3VwUHJvcHM+KChwcm9wcywgcmVmKSA9PiB7XG4gIGlmIChcbiAgICBwcm9wcy5pc0V4cGFuZGVkICYmXG4gICAgKChwcm9wcy5sZXZlbCA9PT0gMiAmJiAhcHJvcHMuaGFzU3VibWVudSkgfHxcbiAgICAgIChwcm9wcy5sZXZlbCA9PT0gMiAmJiAhcHJvcHMuaXNBY3RpdmUpKVxuICApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiBwcm9wcy5pc0V4cGFuZGVkO1xuICBjb25zdCBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgIXByb3BzLmlzRXhwYW5kZWQ7XG4gIHJldHVybiAoXG4gICAgPHVsXG4gICAgICByZWY9e3JlZiAmJiBwcm9wcy5sZXZlbCA9PT0gMiA/IHJlZiA6IG51bGx9XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgJHtnZXRTdWJtZW51UG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICBwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICAgIHByb3BzLnN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uXG4gICAgICAgICl9O1xuICAgICAgXG4gICAgICAvLyBwcmV2ZW50IGdsaXRjaHkgYmVoYXZpb3IgZHVyaW5nIHRoZSBpbml0aWFsIHJlbmRlciB3aGVuIHRoZSBzdWJtZW51J3MgdmVydGljYWwgcG9zaXRpb24gaXMgZXZhbHVhdGVkIGFzIDBcbiAgICAgICR7XG4gICAgICAgIHByb3BzLnN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uID09PSAwICYmXG4gICAgICAgIGNzc2BcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGBcbiAgICAgIH1cblxuICAgICAgICAvLyBhZGRpdGlvbmFsIHN0eWxpbmcgb2YgdGhlIHBzZXVkby1lbGVtZW50IGVuYWJsaW5nIHNtb290aCBjb3Vyc29yIG1vdmVtZW50XG4gICAgICAgIDo6YmVmb3JlIHtcbiAgICAgICAgICAke2dldENvbnRhaW5lclBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24oXG4gICAgICAgICAgICBwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICAgICAgKX1cbiAgICAgIGB9XG4gICAgICBpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIGRhdGEtdGVzdGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgcm9sZT1cIm1lbnVcIlxuICAgICAgYXJpYS1leHBhbmRlZD17XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgfHxcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgIH1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhcbiAgICAgICAgeyBbc3R5bGVzLmxpc3RdOiBwcm9wcy5sZXZlbCA9PT0gMSB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdCddXTogcHJvcHMubGV2ZWwgPT09IDIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWV4cGFuZGVkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2VtcHR5J11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiYgIXByb3BzLmhhc1N1Ym1lbnUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiZcbiAgICAgICAgICAgICFwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2FjdGl2ZV9fYWJvdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiBwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlcy5zdWJsaXN0X19pbmFjdGl2ZV06ICFpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCxcbiAgICAgICAgfVxuICAgICAgKX1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC91bD5cbiAgKTtcbn0pO1xuTWVudUdyb3VwLmRpc3BsYXlOYW1lID0gJ01lbnVHcm91cCc7XG5cbnR5cGUgTWVudUl0ZW1Qcm9wcyA9IHtcbiAgaGFzU3VibWVudTogYm9vbGVhbjtcbiAgaXNBY3RpdmU6IGJvb2xlYW47XG4gIGlzTWFpbk1lbnVSb3V0ZUFjdGl2ZT86IGJvb2xlYW47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUVudGVyPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlTGVhdmU/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGlkZW50aWZpZXI/OiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUl0ZW0gPSAocHJvcHM6IE1lbnVJdGVtUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoc3R5bGVzWydsaXN0LWl0ZW0nXSwge1xuICAgICAgICBbc3R5bGVzLml0ZW1fX2FjdGl2ZV06IHByb3BzLmlzQWN0aXZlLFxuICAgICAgICBbc3R5bGVzWydpdGVtX21lbnVfX2FjdGl2ZSddXTogcHJvcHMuaXNNYWluTWVudVJvdXRlQWN0aXZlID8/IGZhbHNlLFxuICAgICAgICBbc3R5bGVzWydpdGVtX21lbnUtY29sbGFwc2VkJ11dOiAhcHJvcHMuaXNNZW51T3BlbixcbiAgICAgIH0pfVxuICAgICAgb25DbGljaz17cHJvcHMub25DbGlja31cbiAgICAgIG9uTW91c2VFbnRlcj17cHJvcHMub25Nb3VzZUVudGVyfVxuICAgICAgb25Nb3VzZUxlYXZlPXtwcm9wcy5vbk1vdXNlTGVhdmV9XG4gICAgICBkYXRhLW1lbnVpdGVtPXtwcm9wcy5pZGVudGlmaWVyfVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0tbGluayddfT57cHJvcHMuY2hpbGRyZW59PC9kaXY+XG4gICAgPC9saT5cbiAgKTtcbn07XG5cbk1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtJztcblxuZXhwb3J0IHR5cGUgTWVudUl0ZW1MaW5rUHJvcHMgPSB7XG4gIGxpbmtUbz86IHN0cmluZztcbiAgZXhhY3RNYXRjaDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgb25DbGljaz86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M/OiBib29sZWFuO1xuICBpc1N1Ym1lbnVMaW5rPzogYm9vbGVhbjtcbn07XG5jb25zdCBtZW51SXRlbUxpbmtEZWZhdWx0UHJvcHM6IFBpY2s8TWVudUl0ZW1MaW5rUHJvcHMsICdleGFjdE1hdGNoJz4gPSB7XG4gIGV4YWN0TWF0Y2g6IGZhbHNlLFxufTtcbmNvbnN0IE5hdkxpbmtXcmFwcGVyID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBpZiAocHJvcHMuaXNTdWJtZW51TGluaykge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWyd0ZXh0LWxpbmstc3VibGlzdC13cmFwcGVyJ119PlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuY29uc3QgTmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBpZiAocHJvcHMuaXNTdWJtZW51TGluaykge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWyduYXZsaW5rLWNsaWNrYWJsZS1jb250ZW50J119PlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuXG5jb25zdCBNZW51SXRlbUxpbmsgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGNvbnN0IHJlZGlyZWN0VG8gPSAodGFyZ2V0VXJsOiBzdHJpbmcpID0+IGxvY2F0aW9uLnJlcGxhY2UodGFyZ2V0VXJsKTtcbiAgaWYgKHByb3BzLmxpbmtUbykge1xuICAgIHJldHVybiAoXG4gICAgICA8TmF2TGlua1dyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgPE5hdkxpbmtcbiAgICAgICAgICB0bz17cHJvcHMubGlua1RvfVxuICAgICAgICAgIGV4YWN0PXtwcm9wcy5leGFjdE1hdGNofVxuICAgICAgICAgIGFjdGl2ZUNsYXNzTmFtZT17c3R5bGVzLmhpZ2hsaWdodGVkfVxuICAgICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgICBwcm9wcy5pc1N1Ym1lbnVMaW5rXG4gICAgICAgICAgICAgID8gc3R5bGVzWyd0ZXh0LWxpbmstc3VibGlzdCddXG4gICAgICAgICAgICAgIDogc3R5bGVzWyd0ZXh0LWxpbmsnXVxuICAgICAgICAgIH1cbiAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChwcm9wcy5saW5rVG8gJiYgcHJvcHMudXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIHJlZGlyZWN0VG8ocHJvcHMubGlua1RvKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocHJvcHMub25DbGljaykge1xuICAgICAgICAgICAgICBldmVudC5wZXJzaXN0KCk7XG4gICAgICAgICAgICAgIHByb3BzLm9uQ2xpY2soZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8TmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyIHsuLi5wcm9wc30+XG4gICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgPC9OYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXI+XG4gICAgICAgIDwvTmF2TGluaz5cbiAgICAgIDwvTmF2TGlua1dyYXBwZXI+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbk1lbnVJdGVtTGluay5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbUxpbmsnO1xuTWVudUl0ZW1MaW5rLmRlZmF1bHRQcm9wcyA9IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wcztcblxuY29uc3QgaXNFdmVyeU1lbnVWaXNpYmlsaXR5U2V0VG9IaWRkZW4gPSAoXG4gIG1lbnVWaXNpYmlsaXRpZXM/OiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsLFxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcz86IHN0cmluZ1tdXG4pID0+XG4gIEFycmF5LmlzQXJyYXkobmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMpICYmXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzLmxlbmd0aCA+IDAgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMuZXZlcnkoXG4gICAgKG5hbWVPZk1lbnVWaXNpYmlsaXR5KSA9PlxuICAgICAgbWVudVZpc2liaWxpdGllcyAmJiBtZW51VmlzaWJpbGl0aWVzW25hbWVPZk1lbnVWaXNpYmlsaXR5XSA9PT0gdHJ1ZVxuICApO1xuXG50eXBlIFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzID0ge1xuICBmZWF0dXJlVG9nZ2xlPzogc3RyaW5nO1xuICBuYW1lc09mTWVudVZpc2liaWxpdGllcz86IHN0cmluZ1tdO1xuICBwcm9qZWN0UGVybWlzc2lvbnM6IFRQcm9qZWN0UGVybWlzc2lvbnM7XG4gIG1lbnVWaXNpYmlsaXRpZXM6IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGw7XG4gIGtleU9mTWVudUl0ZW06IHN0cmluZztcbiAgcGVybWlzc2lvbnM6IHN0cmluZ1tdO1xuICBhY3Rpb25SaWdodHM/OiBUQWN0aW9uUmlnaHRbXTtcbiAgZGF0YUZlbmNlcz86IFREYXRhRmVuY2VbXTtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG50eXBlIFRMb25nTGl2ZWRGbGFnID0ge1xuICB2YWx1ZTogYm9vbGVhbjtcbiAgcmVhc29uPzogc3RyaW5nO1xufTtcbmNvbnN0IHJlc3RyaWN0ZWRNZW51SXRlbURlZmF1bHRQcm9wczogUGljazxcbiAgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMsXG4gICdwZXJtaXNzaW9ucydcbj4gPSB7XG4gIHBlcm1pc3Npb25zOiBbXSxcbn07XG5mdW5jdGlvbiBpc0xvbmdMaXZlZEZsYWcoXG4gIGZsYWc6IFRGbGFnVmFyaWF0aW9uIHwgVExvbmdMaXZlZEZsYWdcbik6IGZsYWcgaXMgVExvbmdMaXZlZEZsYWcge1xuICByZXR1cm4gdHlwZW9mIChmbGFnIGFzIFRMb25nTGl2ZWRGbGFnKT8udmFsdWUgPT09ICdib29sZWFuJztcbn1cbmNvbnN0IFJlc3RyaWN0ZWRNZW51SXRlbSA9IChwcm9wczogUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMpID0+IHtcbiAgLy8gTk9URTogQ3VzdG9tIGFwcGxpY2F0aW9uIGFyZSBhY3RpdmF0ZWQvZGVhY3RpdmF0ZWQgd2hpbGUgdGhlaXJcbiAgLy8gdmlzaWJpbGl0eSBpcyBub3QgY29udHJvbGxlZCB2aWEgYSB2aXNpYmlpbGl0eSBvdmVyd3JpdGUuXG4gIGNvbnN0IGZsYWdWYXJpYXRpb24gPSB1c2VGbGFnVmFyaWF0aW9uKHByb3BzLmZlYXR1cmVUb2dnbGUpO1xuICBpZiAoXG4gICAgaXNFdmVyeU1lbnVWaXNpYmlsaXR5U2V0VG9IaWRkZW4oXG4gICAgICBwcm9wcy5tZW51VmlzaWJpbGl0aWVzLFxuICAgICAgcHJvcHMubmFtZXNPZk1lbnVWaXNpYmlsaXRpZXNcbiAgICApXG4gIClcbiAgICByZXR1cm4gbnVsbDtcblxuICBjb25zdCBwZXJtaXNzaW9uc1dyYXBwZXIgPVxuICAgIChBcnJheS5pc0FycmF5KHByb3BzLnBlcm1pc3Npb25zKSAmJiBwcm9wcy5wZXJtaXNzaW9ucy5sZW5ndGggPiAwKSB8fFxuICAgIChBcnJheS5pc0FycmF5KHByb3BzLmRhdGFGZW5jZXMpICYmIHByb3BzLmRhdGFGZW5jZXMubGVuZ3RoID4gMCkgPyAoXG4gICAgICA8UmVzdHJpY3RlZEJ5UGVybWlzc2lvbnNcbiAgICAgICAgcGVybWlzc2lvbnM9e3Byb3BzLnBlcm1pc3Npb25zfVxuICAgICAgICBhY3Rpb25SaWdodHM9e3Byb3BzLmFjdGlvblJpZ2h0c31cbiAgICAgICAgZGF0YUZlbmNlcz17cHJvcHMuZGF0YUZlbmNlc31cbiAgICAgICAgc2VsZWN0RGF0YUZlbmNlRGF0YT17KGRlbWFuZGVkRGF0YUZlbmNlKSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChkZW1hbmRlZERhdGFGZW5jZS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdzdG9yZSc6XG4gICAgICAgICAgICAgIHJldHVybiBkZW1hbmRlZERhdGFGZW5jZS5hY3R1YWxEYXRhRmVuY2VWYWx1ZXM7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICAgIC8vIEFsd2F5cyBjaGVjayB0aGF0IHNvbWUgb2YgdGhlIGdpdmVuIHBlcm1pc3Npb25zIG1hdGNoLlxuICAgICAgICBzaG91bGRNYXRjaFNvbWVQZXJtaXNzaW9ucz17dHJ1ZX1cbiAgICAgICAgcHJvamVjdFBlcm1pc3Npb25zPXtwcm9wcy5wcm9qZWN0UGVybWlzc2lvbnN9XG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvUmVzdHJpY3RlZEJ5UGVybWlzc2lvbnM+XG4gICAgKSA6IChcbiAgICAgIDw+e3Byb3BzLmNoaWxkcmVufTwvPlxuICAgICk7XG5cbiAgaWYgKHByb3BzLmZlYXR1cmVUb2dnbGUpIHtcbiAgICAvLyBBIHJlZ3VsYXIgc2hvcnQtbGl2ZWQgZmVhdHVyZSB0b2dnbGVcbiAgICBpZiAoZmxhZ1ZhcmlhdGlvbiA9PT0gdHJ1ZSkgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcbiAgICAvLyBBIGxvbmctbGl2ZWQgZmVhdHVyZSB0b2dnbGUgd2l0aCBgeyB2YWx1ZTogYm9vbGVhbiwgc3RyaW5nOiByZWFzb24gfWBcbiAgICBpZiAoaXNMb25nTGl2ZWRGbGFnKGZsYWdWYXJpYXRpb24pICYmIGZsYWdWYXJpYXRpb24udmFsdWUgPT09IHRydWUpXG4gICAgICByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xufTtcblJlc3RyaWN0ZWRNZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdSZXN0cmljdGVkTWVudUl0ZW0nO1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRlZmF1bHRQcm9wcyA9IHJlc3RyaWN0ZWRNZW51SXRlbURlZmF1bHRQcm9wcztcblxudHlwZSBNZW51TGFiZWxQcm9wcyA9IHtcbiAgbGFiZWxBbGxMb2NhbGVzOiBUTG9jYWxpemVkRmllbGRbXTtcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xufTtcbmNvbnN0IE1lbnVMYWJlbCA9IChwcm9wczogTWVudUxhYmVsUHJvcHMpID0+IHtcbiAgY29uc3QgbG9jYWxpemVkTGFiZWwgPSBwcm9wcy5sYWJlbEFsbExvY2FsZXMuZmluZCgobG9jKSA9PlxuICAgIHByb3BzLmFwcGxpY2F0aW9uTG9jYWxlLnN0YXJ0c1dpdGgobG9jLmxvY2FsZSlcbiAgKTtcbiAgaWYgKGxvY2FsaXplZExhYmVsKSByZXR1cm4gPD57bG9jYWxpemVkTGFiZWwudmFsdWV9PC8+O1xuICBpZiAocHJvcHMuZGVmYXVsdExhYmVsKSByZXR1cm4gPD57cHJvcHMuZGVmYXVsdExhYmVsfTwvPjtcbiAgcmV0dXJuIDw+e05PX1ZBTFVFX0ZBTExCQUNLfTwvPjtcbn07XG5cbnR5cGUgVE5hdkJhckxheW91dFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbmNvbnN0IE5hdkJhckxheW91dCA9IGZvcndhcmRSZWY8SFRNTEVsZW1lbnQsIFROYXZCYXJMYXlvdXRQcm9wcz4oXG4gIChwcm9wcywgcmVmKSA9PiAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWxcbiAgICAgICAgc3R5bGVzPXtjc3NgXG4gICAgICAgICAgJHtjb21waWxlZFN0eWxlcy5nbG9iYWx9XG4gICAgICAgIGB9XG4gICAgICAvPlxuICAgICAgPG5hdlxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2xlZnQtbmF2aWdhdGlvbiddfVxuICAgICAgICBkYXRhLXRlc3Q9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgICBkYXRhLXRlc3RpZD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvbmF2PlxuICAgIDwvPlxuICApXG4pO1xuTmF2QmFyTGF5b3V0LmRpc3BsYXlOYW1lID0gJ05hdkJhckxheW91dCc7XG5cbnR5cGUgSXRlbUNvbnRhaW5lclByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbiAgaXNNZW51T3Blbj86IGJvb2xlYW47XG59O1xuXG5jb25zdCBJdGVtQ29udGFpbmVyID0gKHByb3BzOiBJdGVtQ29udGFpbmVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWljb24tdGV4dCddfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2ljb24tY29udGFpbmVyJ119PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmljb259PlxuICAgICAgICAgIDxJY29uU3dpdGNoZXIgaWNvbj17cHJvcHMuaWNvbn0gc2l6ZT1cInNjYWxlXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIHtwcm9wcy5pc01lbnVPcGVuID8gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnRpdGxlfT5cbiAgICAgICAgICA8TWVudUxhYmVsXG4gICAgICAgICAgICBsYWJlbEFsbExvY2FsZXM9e3Byb3BzLmxhYmVsQWxsTG9jYWxlc31cbiAgICAgICAgICAgIGRlZmF1bHRMYWJlbD17cHJvcHMuZGVmYXVsdExhYmVsfVxuICAgICAgICAgICAgYXBwbGljYXRpb25Mb2NhbGU9e3Byb3BzLmFwcGxpY2F0aW9uTG9jYWxlfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5JdGVtQ29udGFpbmVyLmRpc3BsYXlOYW1lID0gJ0l0ZW1Db250YWluZXInO1xuXG5leHBvcnQge1xuICBSZXN0cmljdGVkTWVudUl0ZW0sXG4gIE1lbnVJdGVtLFxuICBNZW51SXRlbUxpbmssXG4gIEljb25Td2l0Y2hlcixcbiAgTWVudUdyb3VwLFxuICBNZW51TGFiZWwsXG4gIE1lbnVFeHBhbmRlcixcbiAgRmFkZWQsXG4gIE5hdkJhckxheW91dCxcbiAgSXRlbUNvbnRhaW5lcixcbn07XG4iXX0= */",
462
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
463
- });
464
- const getSubmenuPositionBasedOnMenuItemPosition = (isSubmenuAboveMenuItem, submenuVerticalPosition) => /*#__PURE__*/css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":", submenuVerticalPosition, "px;" + (process.env.NODE_ENV === "production" ? "" : ";label:getSubmenuPositionBasedOnMenuItemPosition;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZLUSIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wYXBlcmNsaXAnKSk7XG5jb25zdCBQbHVnaW5JY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3RhcicpKTtcbmNvbnN0IENvbm5lY3RlZFNxdWFyZUljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RyZWUtc3RydWN0dXJlJykpO1xuY29uc3QgVXNlckZpbGxlZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdGFnLW11bHRpJykpO1xuY29uc3QgQ2FydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvZ2VhcicpKTtcbmNvbnN0IExpc3RXaXRoU2VhcmNoSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG4gICAgICBcbiAgICAgIC8vIHByZXZlbnQgZ2xpdGNoeSBiZWhhdmlvciBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIHdoZW4gdGhlIHN1Ym1lbnUncyB2ZXJ0aWNhbCBwb3NpdGlvbiBpcyBldmFsdWF0ZWQgYXMgMFxuICAgICAgJHtcbiAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb24gPT09IDAgJiZcbiAgICAgICAgY3NzYFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYFxuICAgICAgfVxuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rV3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICA8TmF2TGlua1xuICAgICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUxpbmtcbiAgICAgICAgICAgICAgPyBzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0J11cbiAgICAgICAgICAgICAgOiBzdHlsZXNbJ3RleHQtbGluayddXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */");
465
- var _ref2 = process.env.NODE_ENV === "production" ? {
466
- name: "abcix4",
467
- styles: "top:0"
468
- } : {
469
- name: "4uw94j-getContainerPositionBasedOnMenuItemPosition",
470
- styles: "top:0;label:getContainerPositionBasedOnMenuItemPosition;",
471
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1NTyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wYXBlcmNsaXAnKSk7XG5jb25zdCBQbHVnaW5JY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3RhcicpKTtcbmNvbnN0IENvbm5lY3RlZFNxdWFyZUljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RyZWUtc3RydWN0dXJlJykpO1xuY29uc3QgVXNlckZpbGxlZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdGFnLW11bHRpJykpO1xuY29uc3QgQ2FydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvZ2VhcicpKTtcbmNvbnN0IExpc3RXaXRoU2VhcmNoSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG4gICAgICBcbiAgICAgIC8vIHByZXZlbnQgZ2xpdGNoeSBiZWhhdmlvciBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIHdoZW4gdGhlIHN1Ym1lbnUncyB2ZXJ0aWNhbCBwb3NpdGlvbiBpcyBldmFsdWF0ZWQgYXMgMFxuICAgICAgJHtcbiAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb24gPT09IDAgJiZcbiAgICAgICAgY3NzYFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYFxuICAgICAgfVxuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rV3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICA8TmF2TGlua1xuICAgICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUxpbmtcbiAgICAgICAgICAgICAgPyBzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0J11cbiAgICAgICAgICAgICAgOiBzdHlsZXNbJ3RleHQtbGluayddXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */",
472
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
473
- };
474
- var _ref3 = process.env.NODE_ENV === "production" ? {
475
- name: "8tapst",
476
- styles: "bottom:0"
477
- } : {
478
- name: "11ucmnx-getContainerPositionBasedOnMenuItemPosition",
479
- styles: "bottom:0;label:getContainerPositionBasedOnMenuItemPosition;",
480
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThMTyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wYXBlcmNsaXAnKSk7XG5jb25zdCBQbHVnaW5JY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3RhcicpKTtcbmNvbnN0IENvbm5lY3RlZFNxdWFyZUljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RyZWUtc3RydWN0dXJlJykpO1xuY29uc3QgVXNlckZpbGxlZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdGFnLW11bHRpJykpO1xuY29uc3QgQ2FydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvZ2VhcicpKTtcbmNvbnN0IExpc3RXaXRoU2VhcmNoSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG4gICAgICBcbiAgICAgIC8vIHByZXZlbnQgZ2xpdGNoeSBiZWhhdmlvciBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIHdoZW4gdGhlIHN1Ym1lbnUncyB2ZXJ0aWNhbCBwb3NpdGlvbiBpcyBldmFsdWF0ZWQgYXMgMFxuICAgICAgJHtcbiAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb24gPT09IDAgJiZcbiAgICAgICAgY3NzYFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYFxuICAgICAgfVxuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rV3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICA8TmF2TGlua1xuICAgICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUxpbmtcbiAgICAgICAgICAgICAgPyBzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0J11cbiAgICAgICAgICAgICAgOiBzdHlsZXNbJ3RleHQtbGluayddXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */",
481
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
482
- };
483
- const getContainerPositionBasedOnMenuItemPosition = (isSubmenuAboveMenuItem, isSublistActiveWhileIsMenuExpanded, isSublistActiveWhileIsMenuCollapsed) => [isSublistActiveWhileIsMenuCollapsed && /*#__PURE__*/css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":-", DIMENSIONS.navMenuItemHeight, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:getContainerPositionBasedOnMenuItemPosition;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVMTyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wYXBlcmNsaXAnKSk7XG5jb25zdCBQbHVnaW5JY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3RhcicpKTtcbmNvbnN0IENvbm5lY3RlZFNxdWFyZUljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RyZWUtc3RydWN0dXJlJykpO1xuY29uc3QgVXNlckZpbGxlZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdGFnLW11bHRpJykpO1xuY29uc3QgQ2FydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvZ2VhcicpKTtcbmNvbnN0IExpc3RXaXRoU2VhcmNoSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG4gICAgICBcbiAgICAgIC8vIHByZXZlbnQgZ2xpdGNoeSBiZWhhdmlvciBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIHdoZW4gdGhlIHN1Ym1lbnUncyB2ZXJ0aWNhbCBwb3NpdGlvbiBpcyBldmFsdWF0ZWQgYXMgMFxuICAgICAgJHtcbiAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb24gPT09IDAgJiZcbiAgICAgICAgY3NzYFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYFxuICAgICAgfVxuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rV3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICA8TmF2TGlua1xuICAgICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUxpbmtcbiAgICAgICAgICAgICAgPyBzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0J11cbiAgICAgICAgICAgICAgOiBzdHlsZXNbJ3RleHQtbGluayddXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */"), isSublistActiveWhileIsMenuExpanded && isSubmenuAboveMenuItem && _ref3, isSublistActiveWhileIsMenuExpanded && !isSubmenuAboveMenuItem && _ref2];
484
- var _ref = process.env.NODE_ENV === "production" ? {
485
- name: "6dhm9o",
486
- styles: "visibility:hidden"
487
- } : {
488
- name: "1nk9wny-MenuGroup",
489
- styles: "visibility:hidden;label:MenuGroup;",
490
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdPVyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wYXBlcmNsaXAnKSk7XG5jb25zdCBQbHVnaW5JY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3RhcicpKTtcbmNvbnN0IENvbm5lY3RlZFNxdWFyZUljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RyZWUtc3RydWN0dXJlJykpO1xuY29uc3QgVXNlckZpbGxlZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdGFnLW11bHRpJykpO1xuY29uc3QgQ2FydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvZ2VhcicpKTtcbmNvbnN0IExpc3RXaXRoU2VhcmNoSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG4gICAgICBcbiAgICAgIC8vIHByZXZlbnQgZ2xpdGNoeSBiZWhhdmlvciBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIHdoZW4gdGhlIHN1Ym1lbnUncyB2ZXJ0aWNhbCBwb3NpdGlvbiBpcyBldmFsdWF0ZWQgYXMgMFxuICAgICAgJHtcbiAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb24gPT09IDAgJiZcbiAgICAgICAgY3NzYFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYFxuICAgICAgfVxuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rV3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICA8TmF2TGlua1xuICAgICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUxpbmtcbiAgICAgICAgICAgICAgPyBzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0J11cbiAgICAgICAgICAgICAgOiBzdHlsZXNbJ3RleHQtbGluayddXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */",
491
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
492
- };
493
- const MenuGroup$1 = /*#__PURE__*/forwardRef((props, ref) => {
494
- if (props.isExpanded && (props.level === 2 && !props.hasSubmenu || props.level === 2 && !props.isActive)) {
495
- return null;
496
- }
497
- const isSublistActiveWhileIsMenuExpanded = props.level === 2 && props.isActive && props.isExpanded;
498
- const isSublistActiveWhileIsMenuCollapsed = props.level === 2 && props.isActive && !props.isExpanded;
499
- return jsx("ul", {
500
- ref: ref && props.level === 2 ? ref : null,
501
- css: /*#__PURE__*/css(getSubmenuPositionBasedOnMenuItemPosition(props.isSubmenuAboveMenuItem, props.submenuVerticalPosition), ";", props.submenuVerticalPosition === 0 && _ref, "::before{", getContainerPositionBasedOnMenuItemPosition(props.isSubmenuAboveMenuItem, isSublistActiveWhileIsMenuExpanded, isSublistActiveWhileIsMenuCollapsed), ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:MenuGroup;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVOYyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wYXBlcmNsaXAnKSk7XG5jb25zdCBQbHVnaW5JY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3RhcicpKTtcbmNvbnN0IENvbm5lY3RlZFNxdWFyZUljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RyZWUtc3RydWN0dXJlJykpO1xuY29uc3QgVXNlckZpbGxlZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdGFnLW11bHRpJykpO1xuY29uc3QgQ2FydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvZ2VhcicpKTtcbmNvbnN0IExpc3RXaXRoU2VhcmNoSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG4gICAgICBcbiAgICAgIC8vIHByZXZlbnQgZ2xpdGNoeSBiZWhhdmlvciBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIHdoZW4gdGhlIHN1Ym1lbnUncyB2ZXJ0aWNhbCBwb3NpdGlvbiBpcyBldmFsdWF0ZWQgYXMgMFxuICAgICAgJHtcbiAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb24gPT09IDAgJiZcbiAgICAgICAgY3NzYFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYFxuICAgICAgfVxuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rV3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICA8TmF2TGlua1xuICAgICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUxpbmtcbiAgICAgICAgICAgICAgPyBzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0J11cbiAgICAgICAgICAgICAgOiBzdHlsZXNbJ3RleHQtbGluayddXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */"),
502
- id: "group-".concat(props.id),
503
- "data-testid": "group-".concat(props.id),
504
- role: "menu",
505
- "aria-expanded": isSublistActiveWhileIsMenuExpanded || isSublistActiveWhileIsMenuCollapsed,
506
- className: classnames({
507
- [styles$4.list]: props.level === 1
508
- }, {
509
- [styles$4['sublist']]: props.level === 2
510
- }, {
511
- [styles$4['sublist-expanded__active']]: isSublistActiveWhileIsMenuExpanded
512
- }, {
513
- [styles$4['sublist-collapsed__empty']]: isSublistActiveWhileIsMenuCollapsed && !props.hasSubmenu
514
- }, {
515
- [styles$4['sublist-collapsed__active']]: isSublistActiveWhileIsMenuCollapsed && !props.isSubmenuAboveMenuItem
516
- }, {
517
- [styles$4['sublist-collapsed__active__above']]: isSublistActiveWhileIsMenuCollapsed && props.isSubmenuAboveMenuItem
518
- }, {
519
- [styles$4.sublist__inactive]: !isSublistActiveWhileIsMenuCollapsed
520
- }),
521
- children: props.children
522
- });
523
- });
524
- MenuGroup$1.displayName = 'MenuGroup';
525
- const MenuItem$2 = props => {
526
- var _props$isMainMenuRout;
527
- return jsx("li", {
528
- role: "menuitem",
529
- className: classnames(styles$4['list-item'], {
530
- [styles$4.item__active]: props.isActive,
531
- [styles$4['item_menu__active']]: (_props$isMainMenuRout = props.isMainMenuRouteActive) !== null && _props$isMainMenuRout !== void 0 ? _props$isMainMenuRout : false,
532
- [styles$4['item_menu-collapsed']]: !props.isMenuOpen
533
- }),
534
- onClick: props.onClick,
535
- onMouseEnter: props.onMouseEnter,
536
- onMouseLeave: props.onMouseLeave,
537
- "data-menuitem": props.identifier,
538
- children: jsx("div", {
539
- className: styles$4['item-link'],
540
- children: props.children
541
- })
542
- });
543
- };
544
- MenuItem$2.propTypes = process.env.NODE_ENV !== "production" ? {
545
- hasSubmenu: _pt.bool.isRequired,
546
- isActive: _pt.bool.isRequired,
547
- isMainMenuRouteActive: _pt.bool,
548
- isMenuOpen: _pt.bool.isRequired,
549
- onClick: _pt.func.isRequired,
550
- onMouseEnter: _pt.func,
551
- onMouseLeave: _pt.func,
552
- children: _pt.node.isRequired,
553
- identifier: _pt.string
554
- } : {};
555
- MenuItem$2.displayName = 'MenuItem';
556
- const menuItemLinkDefaultProps$1 = {
557
- exactMatch: false
558
- };
559
- const NavLinkWrapper = props => {
560
- if (props.isSubmenuLink) {
561
- return jsx("div", {
562
- className: styles$4['text-link-sublist-wrapper'],
563
- children: props.children
564
- });
565
- }
566
- return jsx(Fragment, {
567
- children: props.children
568
- });
569
- };
570
- NavLinkWrapper.propTypes = process.env.NODE_ENV !== "production" ? {
571
- linkTo: _pt.string,
572
- exactMatch: _pt.bool.isRequired,
573
- children: _pt.node.isRequired,
574
- onClick: _pt.func,
575
- useFullRedirectsForLinks: _pt.bool,
576
- isSubmenuLink: _pt.bool
577
- } : {};
578
- const NavLinkClickableContentWrapper = props => {
579
- if (props.isSubmenuLink) {
580
- return jsx("div", {
581
- className: styles$4['navlink-clickable-content'],
582
- children: props.children
583
- });
584
- }
585
- return jsx(Fragment, {
586
- children: props.children
587
- });
588
- };
589
- NavLinkClickableContentWrapper.propTypes = process.env.NODE_ENV !== "production" ? {
590
- linkTo: _pt.string,
591
- exactMatch: _pt.bool.isRequired,
592
- children: _pt.node.isRequired,
593
- onClick: _pt.func,
594
- useFullRedirectsForLinks: _pt.bool,
595
- isSubmenuLink: _pt.bool
596
- } : {};
597
- const MenuItemLink$1 = props => {
598
- const redirectTo = targetUrl => location.replace(targetUrl);
599
- if (props.linkTo) {
600
- return jsx(NavLinkWrapper, _objectSpread$4(_objectSpread$4({}, props), {}, {
601
- children: jsx(NavLink, {
602
- to: props.linkTo,
603
- exact: props.exactMatch,
604
- activeClassName: styles$4.highlighted,
605
- className: props.isSubmenuLink ? styles$4['text-link-sublist'] : styles$4['text-link'],
606
- onClick: event => {
607
- if (props.linkTo && props.useFullRedirectsForLinks) {
608
- event.preventDefault();
609
- redirectTo(props.linkTo);
610
- } else if (props.onClick) {
611
- event.persist();
612
- props.onClick(event);
613
- }
614
- },
615
- children: jsx(NavLinkClickableContentWrapper, _objectSpread$4(_objectSpread$4({}, props), {}, {
616
- children: props.children
617
- }))
618
- })
619
- }));
620
- }
621
- return jsx(Fragment, {
622
- children: props.children
623
- });
624
- };
625
- MenuItemLink$1.propTypes = process.env.NODE_ENV !== "production" ? {
626
- linkTo: _pt.string,
627
- exactMatch: _pt.bool.isRequired,
628
- children: _pt.node.isRequired,
629
- onClick: _pt.func,
630
- useFullRedirectsForLinks: _pt.bool,
631
- isSubmenuLink: _pt.bool
632
- } : {};
633
- MenuItemLink$1.displayName = 'MenuItemLink';
634
- MenuItemLink$1.defaultProps = menuItemLinkDefaultProps$1;
635
- const isEveryMenuVisibilitySetToHidden$1 = (menuVisibilities, namesOfMenuVisibilities) => _Array$isArray(namesOfMenuVisibilities) && namesOfMenuVisibilities.length > 0 && _everyInstanceProperty(namesOfMenuVisibilities).call(namesOfMenuVisibilities, nameOfMenuVisibility => menuVisibilities && menuVisibilities[nameOfMenuVisibility] === true);
636
- const restrictedMenuItemDefaultProps$1 = {
637
- permissions: []
638
- };
639
- function isLongLivedFlag$1(flag) {
640
- return typeof (flag === null || flag === void 0 ? void 0 : flag.value) === 'boolean';
641
- }
642
- const RestrictedMenuItem$1 = props => {
643
- // NOTE: Custom application are activated/deactivated while their
644
- // visibility is not controlled via a visibiility overwrite.
645
- const flagVariation = useFlagVariation(props.featureToggle);
646
- if (isEveryMenuVisibilitySetToHidden$1(props.menuVisibilities, props.namesOfMenuVisibilities)) return null;
647
- const permissionsWrapper = _Array$isArray(props.permissions) && props.permissions.length > 0 || _Array$isArray(props.dataFences) && props.dataFences.length > 0 ? jsx(RestrictedByPermissions, {
648
- permissions: props.permissions,
649
- actionRights: props.actionRights,
650
- dataFences: props.dataFences,
651
- selectDataFenceData: demandedDataFence => {
652
- switch (demandedDataFence.type) {
653
- case 'store':
654
- return demandedDataFence.actualDataFenceValues;
655
- default:
656
- return null;
657
- }
658
- }
659
- // Always check that some of the given permissions match.
660
- ,
661
- shouldMatchSomePermissions: true,
662
- projectPermissions: props.projectPermissions,
663
- children: props.children
664
- }) : jsx(Fragment, {
665
- children: props.children
666
- });
667
- if (props.featureToggle) {
668
- // A regular short-lived feature toggle
669
- if (flagVariation === true) return permissionsWrapper;
670
- // A long-lived feature toggle with `{ value: boolean, string: reason }`
671
- if (isLongLivedFlag$1(flagVariation) && flagVariation.value === true) return permissionsWrapper;
672
- return null;
673
- }
674
- return permissionsWrapper;
675
- };
676
- RestrictedMenuItem$1.propTypes = process.env.NODE_ENV !== "production" ? {
677
- featureToggle: _pt.string,
678
- namesOfMenuVisibilities: _pt.arrayOf(_pt.string),
679
- projectPermissions: _pt.shape({
680
- permissions: _pt.oneOfType([_pt.any, _pt.oneOf([null])]),
681
- actionRights: _pt.oneOfType([_pt.any, _pt.oneOf([null])]),
682
- dataFences: _pt.oneOfType([_pt.any, _pt.oneOf([null])])
683
- }).isRequired,
684
- menuVisibilities: _pt.oneOfType([_pt.any, _pt.oneOf([null])]),
685
- keyOfMenuItem: _pt.string.isRequired,
686
- permissions: _pt.arrayOf(_pt.string).isRequired,
687
- actionRights: _pt.arrayOf(_pt.any),
688
- dataFences: _pt.arrayOf(_pt.any),
689
- children: _pt.node.isRequired
690
- } : {};
691
- RestrictedMenuItem$1.displayName = 'RestrictedMenuItem';
692
- RestrictedMenuItem$1.defaultProps = restrictedMenuItemDefaultProps$1;
693
- const MenuLabel$1 = props => {
694
- var _context;
695
- const localizedLabel = _findInstanceProperty(_context = props.labelAllLocales).call(_context, loc => {
696
- var _context2;
697
- return _startsWithInstanceProperty(_context2 = props.applicationLocale).call(_context2, loc.locale);
698
- });
699
- if (localizedLabel) return jsx(Fragment, {
700
- children: localizedLabel.value
701
- });
702
- if (props.defaultLabel) return jsx(Fragment, {
703
- children: props.defaultLabel
704
- });
705
- return jsx(Fragment, {
706
- children: NO_VALUE_FALLBACK
707
- });
708
- };
709
- MenuLabel$1.propTypes = {
710
- labelAllLocales: _pt.arrayOf(_pt.any).isRequired,
711
- defaultLabel: _pt.string,
712
- applicationLocale: _pt.string.isRequired
713
- };
714
- const NavBarLayout$2 = /*#__PURE__*/forwardRef((props, ref) => jsxs(Fragment, {
715
- children: [jsx(Global, {
716
- styles: /*#__PURE__*/css(compiledStyles$4.global, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:NavBarLayout;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVlbUIiLCJmaWxlIjoibWVudS1pdGVtcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICBsYXp5LFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEdsb2JhbCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgdXNlRmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IHR5cGUgeyBURmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IE5hdkxpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB0eXBlIHtcbiAgVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzLFxuICBUTm9ybWFsaXplZFBlcm1pc3Npb25zLFxuICBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyxcbiAgVE5vcm1hbGl6ZWREYXRhRmVuY2VzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCBNaXNzaW5nSW1hZ2VTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9kaWFnb25hbC1saW5lLnN2Zyc7XG5pbXBvcnQgeyBOT19WQUxVRV9GQUxMQkFDSyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSZXN0cmljdGVkQnlQZXJtaXNzaW9ucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3Blcm1pc3Npb25zJztcbmltcG9ydCB7XG4gIEJhY2tJY29uLFxuICBTaWRlYmFyRXhwYW5kSWNvbixcbiAgU2lkZWJhckNvbGxhcHNlSWNvbixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IElubGluZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucy9pbmxpbmUtc3ZnJztcbmltcG9ydCB7IERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1xuICBURGF0YUZlbmNlLFxuICBUQWN0aW9uUmlnaHQsXG4gIFRMb2NhbGl6ZWRGaWVsZCxcbn0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcbmltcG9ydCB7IGxvY2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvbG9jYXRpb24nO1xuLy8gaHR0cHM6Ly9iYWJlbGpzLmlvL2Jsb2cvMjAxNy8wOS8xMS96ZXJvLWNvbmZpZy13aXRoLWJhYmVsLW1hY3Jvc1xuaW1wb3J0IGNvbXBpbGVkU3R5bGVzIGZyb20gLyogcHJldmFsICovICcuL25hdmJhci5zdHlsZXMnO1xuXG5jb25zdCBzdHlsZXMgPSBjb21waWxlZFN0eWxlcy5qc29uTWFwO1xuXG50eXBlIFRQcm9qZWN0UGVybWlzc2lvbnMgPSB7XG4gIHBlcm1pc3Npb25zOiBUTm9ybWFsaXplZFBlcm1pc3Npb25zIHwgbnVsbDtcbiAgYWN0aW9uUmlnaHRzOiBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyB8IG51bGw7XG4gIGRhdGFGZW5jZXM6IFROb3JtYWxpemVkRGF0YUZlbmNlcyB8IG51bGw7XG59O1xuXG5jb25zdCBIZWFydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2hlYXJ0JykpO1xuY29uc3QgUGFwZXJjbGlwSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvcGFwZXJjbGlwJykpO1xuY29uc3QgUGx1Z2luSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvcGx1Z2luJykpO1xuY29uc3QgUm9ja2V0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvcm9ja2V0JykpO1xuY29uc3QgU3Rhckljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3N0YXInKSk7XG5jb25zdCBDb25uZWN0ZWRTcXVhcmVJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvY29ubmVjdGVkLXNxdWFyZScpXG4pO1xuY29uc3QgV29ybGRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy93b3JsZCcpKTtcbmNvbnN0IFRyZWVTdHJ1Y3R1cmVJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy90cmVlLXN0cnVjdHVyZScpKTtcbmNvbnN0IFVzZXJGaWxsZWRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy91c2VyLWZpbGxlZCcpKTtcbmNvbnN0IFNwZWVkb21ldGVySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvc3BlZWRvbWV0ZXInKSk7XG5jb25zdCBUYWdNdWx0aUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3RhZy1tdWx0aScpKTtcbmNvbnN0IENhcnRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9jYXJ0JykpO1xuY29uc3QgQm94SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvYm94JykpO1xuY29uc3QgR2Vhckljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2dlYXInKSk7XG5jb25zdCBMaXN0V2l0aFNlYXJjaEljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9saXN0LXdpdGgtc2VhcmNoJylcbik7XG5cbnR5cGUgSWNvblByb3BzID0gUGFyYW1ldGVyczx0eXBlb2YgQmFja0ljb24+WzBdO1xudHlwZSBJY29uU3dpdGNoZXJQcm9wcyA9IHsgaWNvbjogc3RyaW5nIH0gJiBJY29uUHJvcHM7XG4vLyBUaGUgaWNvbiBpcyBleHBlY3RlZCB0byBiZSB0aGUgYHN2Z2AgZG9jdW1lbnQgYXMgYSBzdHJpbmcuXG4vLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcHVycG9zZXMsIHdlIHN0aWxsIHN1cHBvcnQgdGhlIGxlZ2FjeSBcImljb24gbmFtZVwiLFxuLy8gd2hpY2ggd2UgdGhlbiBtYXAgdG8gb25lIG9mIHRoZSBwcmUtZGVmaW5lZCBpY29ucy5cbi8vIEV2ZW50dWFsbHksIHdlIHdhbnQgdG8gZ2V0IHJpZCBvZiB0aGlzIFwic3dpdGNoXCIgbG9naWMuXG5jb25zdCBJY29uU3dpdGNoZXIgPSAoeyBpY29uLCAuLi5pY29uUHJvcHMgfTogSWNvblN3aXRjaGVyUHJvcHMpID0+IHtcbiAgaWYgKGljb24uaW5jbHVkZXMoJzxzdmcnKSkge1xuICAgIHJldHVybiA8SW5saW5lU3ZnIGRhdGE9e2ljb259IHsuLi5pY29uUHJvcHN9IC8+O1xuICB9XG4gIC8vIEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBhcHBzIHVzaW5nIHRoZSBcImljb24gbmFtZVwiLlxuICBzd2l0Y2ggKGljb24pIHtcbiAgICAvLyBMZWdhY3kgYXBwbGljYXRpb24gaWNvbnNcbiAgICAvLyBUT0RPOiBUbyBiZSByZW1vdmVkIG9uY2UgTUMgYXBwbGljYXRpb25zIGljb25zIHVwZGF0ZXMgYXJlIHB1Ymxpc2hlZFxuICAgIGNhc2UgJ1RyZWVTdHJ1Y3R1cmVJY29uJzpcbiAgICAgIHJldHVybiA8VHJlZVN0cnVjdHVyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVXNlckZpbGxlZEljb24nOlxuICAgICAgcmV0dXJuIDxVc2VyRmlsbGVkSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdTcGVlZG9tZXRlckljb24nOlxuICAgICAgcmV0dXJuIDxTcGVlZG9tZXRlckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVGFnTXVsdGlJY29uJzpcbiAgICAgIHJldHVybiA8VGFnTXVsdGlJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0NhcnRJY29uJzpcbiAgICAgIHJldHVybiA8Q2FydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQm94SWNvbic6XG4gICAgICByZXR1cm4gPEJveEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnR2Vhckljb24nOlxuICAgICAgcmV0dXJuIDxHZWFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdMaXN0V2l0aFNlYXJjaEljb24nOlxuICAgICAgcmV0dXJuIDxMaXN0V2l0aFNlYXJjaEljb24gey4uLmljb25Qcm9wc30gLz47XG5cbiAgICAvLyBDdXN0b20gYXBwbGljYXRpb24gaWNvbnMgc2V0XG4gICAgY2FzZSAnSGVhcnRJY29uJzpcbiAgICAgIHJldHVybiA8SGVhcnRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BhcGVyY2xpcEljb24nOlxuICAgICAgcmV0dXJuIDxQYXBlcmNsaXBJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BsdWdpbkljb24nOlxuICAgICAgcmV0dXJuIDxQbHVnaW5JY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1JvY2tldEljb24nOlxuICAgICAgcmV0dXJuIDxSb2NrZXRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1N0YXJJY29uJzpcbiAgICAgIHJldHVybiA8U3Rhckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ29ubmVjdGVkU3F1YXJlSWNvbic6XG4gICAgICByZXR1cm4gPENvbm5lY3RlZFNxdWFyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgY2FzZSAnV29ybGRJY29uJzpcbiAgICAgIHJldHVybiA8V29ybGRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPGltZyBzcmM9e01pc3NpbmdJbWFnZVN2Z30gYWx0PVwibWlzc2luZyBpY29uXCIgLz47XG4gIH1cbn07XG5JY29uU3dpdGNoZXIuZGlzcGxheU5hbWUgPSAnSWNvblN3aXRjaGVyJztcblxudHlwZSBNZW51RXhwYW5kZXJQcm9wcyA9IHtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG59O1xuXG5jb25zdCBnZXRJY29uID0gKHsgaXNNZW51T3BlbiB9OiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICBjb25zdCBJY29uID0gaXNNZW51T3BlbiA/IFNpZGViYXJDb2xsYXBzZUljb24gOiBTaWRlYmFyRXhwYW5kSWNvbjtcbiAgcmV0dXJuIDxJY29uIGNvbG9yPVwic3VyZmFjZVwiIHNpemU9XCJiaWdcIiAvPjtcbn07XG5cbmNvbnN0IE1lbnVFeHBhbmRlciA9IChwcm9wczogTWVudUV4cGFuZGVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIGtleT1cImV4cGFuZGVyXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXMuZXhwYW5kZXIsIHtcbiAgICAgICAgW3N0eWxlcy5oaWRkZW5dOiAhcHJvcHMuaXNWaXNpYmxlLFxuICAgICAgfSl9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snZXhwYW5kLWljb24nXX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJtZW51LWV4cGFuZGVyXCJcbiAgICAgID5cbiAgICAgICAge2dldEljb24ocHJvcHMpfVxuICAgICAgPC9kaXY+XG4gICAgPC9saT5cbiAgKTtcbn07XG5NZW51RXhwYW5kZXIuZGlzcGxheU5hbWUgPSAnTWVudUV4cGFuZGVyJztcblxuY29uc3QgRmFkZWQgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwgMTUzLCAxMzUsIDApIDAlLCAjMDBiMzllIDEwMCUpO1xuICB6LWluZGV4OiAxO1xuYDtcblxudHlwZSBNZW51R3JvdXBQcm9wcyA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGV2ZWw6IDEgfCAyO1xuICBpc0FjdGl2ZT86IGJvb2xlYW47XG4gIGlzRXhwYW5kZWQ/OiBib29sZWFuO1xuICBoYXNTdWJtZW51PzogYm9vbGVhbjtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIHN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uPzogbnVtYmVyO1xuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXJcbikgPT4gY3NzYFxuICAke2lzU3VibWVudUFib3ZlTWVudUl0ZW0gPyAnYm90dG9tJyA6ICd0b3AnfTogJHtzdWJtZW51VmVydGljYWxQb3NpdGlvbn1weFxuYDtcblxuY29uc3QgZ2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbiA9IChcbiAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQ/OiBib29sZWFuLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZD86IGJvb2xlYW5cbikgPT4gW1xuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgIGNzc2BcbiAgICAgICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbVxuICAgICAgICA/ICdib3R0b20nXG4gICAgICAgIDogJ3RvcCd9OiAtJHtESU1FTlNJT05TLm5hdk1lbnVJdGVtSGVpZ2h0fTtcbiAgICBgLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkICYmXG4gICAgaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIGJvdHRvbTogMDtcbiAgICBgLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkICYmXG4gICAgIWlzU3VibWVudUFib3ZlTWVudUl0ZW0gJiZcbiAgICBjc3NgXG4gICAgICB0b3A6IDA7XG4gICAgYCxcbl07XG5cbmNvbnN0IE1lbnVHcm91cCA9IGZvcndhcmRSZWY8SFRNTFVMaXN0RWxlbWVudCwgTWVudUdyb3VwUHJvcHM+KChwcm9wcywgcmVmKSA9PiB7XG4gIGlmIChcbiAgICBwcm9wcy5pc0V4cGFuZGVkICYmXG4gICAgKChwcm9wcy5sZXZlbCA9PT0gMiAmJiAhcHJvcHMuaGFzU3VibWVudSkgfHxcbiAgICAgIChwcm9wcy5sZXZlbCA9PT0gMiAmJiAhcHJvcHMuaXNBY3RpdmUpKVxuICApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiBwcm9wcy5pc0V4cGFuZGVkO1xuICBjb25zdCBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgIXByb3BzLmlzRXhwYW5kZWQ7XG4gIHJldHVybiAoXG4gICAgPHVsXG4gICAgICByZWY9e3JlZiAmJiBwcm9wcy5sZXZlbCA9PT0gMiA/IHJlZiA6IG51bGx9XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgJHtnZXRTdWJtZW51UG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICBwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICAgIHByb3BzLnN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uXG4gICAgICAgICl9O1xuICAgICAgXG4gICAgICAvLyBwcmV2ZW50IGdsaXRjaHkgYmVoYXZpb3IgZHVyaW5nIHRoZSBpbml0aWFsIHJlbmRlciB3aGVuIHRoZSBzdWJtZW51J3MgdmVydGljYWwgcG9zaXRpb24gaXMgZXZhbHVhdGVkIGFzIDBcbiAgICAgICR7XG4gICAgICAgIHByb3BzLnN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uID09PSAwICYmXG4gICAgICAgIGNzc2BcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGBcbiAgICAgIH1cblxuICAgICAgICAvLyBhZGRpdGlvbmFsIHN0eWxpbmcgb2YgdGhlIHBzZXVkby1lbGVtZW50IGVuYWJsaW5nIHNtb290aCBjb3Vyc29yIG1vdmVtZW50XG4gICAgICAgIDo6YmVmb3JlIHtcbiAgICAgICAgICAke2dldENvbnRhaW5lclBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24oXG4gICAgICAgICAgICBwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICAgICAgKX1cbiAgICAgIGB9XG4gICAgICBpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIGRhdGEtdGVzdGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgcm9sZT1cIm1lbnVcIlxuICAgICAgYXJpYS1leHBhbmRlZD17XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgfHxcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgIH1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhcbiAgICAgICAgeyBbc3R5bGVzLmxpc3RdOiBwcm9wcy5sZXZlbCA9PT0gMSB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdCddXTogcHJvcHMubGV2ZWwgPT09IDIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWV4cGFuZGVkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2VtcHR5J11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiYgIXByb3BzLmhhc1N1Ym1lbnUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiZcbiAgICAgICAgICAgICFwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2FjdGl2ZV9fYWJvdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiBwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlcy5zdWJsaXN0X19pbmFjdGl2ZV06ICFpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCxcbiAgICAgICAgfVxuICAgICAgKX1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC91bD5cbiAgKTtcbn0pO1xuTWVudUdyb3VwLmRpc3BsYXlOYW1lID0gJ01lbnVHcm91cCc7XG5cbnR5cGUgTWVudUl0ZW1Qcm9wcyA9IHtcbiAgaGFzU3VibWVudTogYm9vbGVhbjtcbiAgaXNBY3RpdmU6IGJvb2xlYW47XG4gIGlzTWFpbk1lbnVSb3V0ZUFjdGl2ZT86IGJvb2xlYW47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUVudGVyPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlTGVhdmU/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGlkZW50aWZpZXI/OiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUl0ZW0gPSAocHJvcHM6IE1lbnVJdGVtUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoc3R5bGVzWydsaXN0LWl0ZW0nXSwge1xuICAgICAgICBbc3R5bGVzLml0ZW1fX2FjdGl2ZV06IHByb3BzLmlzQWN0aXZlLFxuICAgICAgICBbc3R5bGVzWydpdGVtX21lbnVfX2FjdGl2ZSddXTogcHJvcHMuaXNNYWluTWVudVJvdXRlQWN0aXZlID8/IGZhbHNlLFxuICAgICAgICBbc3R5bGVzWydpdGVtX21lbnUtY29sbGFwc2VkJ11dOiAhcHJvcHMuaXNNZW51T3BlbixcbiAgICAgIH0pfVxuICAgICAgb25DbGljaz17cHJvcHMub25DbGlja31cbiAgICAgIG9uTW91c2VFbnRlcj17cHJvcHMub25Nb3VzZUVudGVyfVxuICAgICAgb25Nb3VzZUxlYXZlPXtwcm9wcy5vbk1vdXNlTGVhdmV9XG4gICAgICBkYXRhLW1lbnVpdGVtPXtwcm9wcy5pZGVudGlmaWVyfVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0tbGluayddfT57cHJvcHMuY2hpbGRyZW59PC9kaXY+XG4gICAgPC9saT5cbiAgKTtcbn07XG5cbk1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtJztcblxuZXhwb3J0IHR5cGUgTWVudUl0ZW1MaW5rUHJvcHMgPSB7XG4gIGxpbmtUbz86IHN0cmluZztcbiAgZXhhY3RNYXRjaDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgb25DbGljaz86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M/OiBib29sZWFuO1xuICBpc1N1Ym1lbnVMaW5rPzogYm9vbGVhbjtcbn07XG5jb25zdCBtZW51SXRlbUxpbmtEZWZhdWx0UHJvcHM6IFBpY2s8TWVudUl0ZW1MaW5rUHJvcHMsICdleGFjdE1hdGNoJz4gPSB7XG4gIGV4YWN0TWF0Y2g6IGZhbHNlLFxufTtcbmNvbnN0IE5hdkxpbmtXcmFwcGVyID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBpZiAocHJvcHMuaXNTdWJtZW51TGluaykge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWyd0ZXh0LWxpbmstc3VibGlzdC13cmFwcGVyJ119PlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuY29uc3QgTmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBpZiAocHJvcHMuaXNTdWJtZW51TGluaykge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWyduYXZsaW5rLWNsaWNrYWJsZS1jb250ZW50J119PlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuXG5jb25zdCBNZW51SXRlbUxpbmsgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGNvbnN0IHJlZGlyZWN0VG8gPSAodGFyZ2V0VXJsOiBzdHJpbmcpID0+IGxvY2F0aW9uLnJlcGxhY2UodGFyZ2V0VXJsKTtcbiAgaWYgKHByb3BzLmxpbmtUbykge1xuICAgIHJldHVybiAoXG4gICAgICA8TmF2TGlua1dyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgPE5hdkxpbmtcbiAgICAgICAgICB0bz17cHJvcHMubGlua1RvfVxuICAgICAgICAgIGV4YWN0PXtwcm9wcy5leGFjdE1hdGNofVxuICAgICAgICAgIGFjdGl2ZUNsYXNzTmFtZT17c3R5bGVzLmhpZ2hsaWdodGVkfVxuICAgICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgICBwcm9wcy5pc1N1Ym1lbnVMaW5rXG4gICAgICAgICAgICAgID8gc3R5bGVzWyd0ZXh0LWxpbmstc3VibGlzdCddXG4gICAgICAgICAgICAgIDogc3R5bGVzWyd0ZXh0LWxpbmsnXVxuICAgICAgICAgIH1cbiAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChwcm9wcy5saW5rVG8gJiYgcHJvcHMudXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIHJlZGlyZWN0VG8ocHJvcHMubGlua1RvKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocHJvcHMub25DbGljaykge1xuICAgICAgICAgICAgICBldmVudC5wZXJzaXN0KCk7XG4gICAgICAgICAgICAgIHByb3BzLm9uQ2xpY2soZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8TmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyIHsuLi5wcm9wc30+XG4gICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgPC9OYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXI+XG4gICAgICAgIDwvTmF2TGluaz5cbiAgICAgIDwvTmF2TGlua1dyYXBwZXI+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbk1lbnVJdGVtTGluay5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbUxpbmsnO1xuTWVudUl0ZW1MaW5rLmRlZmF1bHRQcm9wcyA9IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wcztcblxuY29uc3QgaXNFdmVyeU1lbnVWaXNpYmlsaXR5U2V0VG9IaWRkZW4gPSAoXG4gIG1lbnVWaXNpYmlsaXRpZXM/OiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsLFxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcz86IHN0cmluZ1tdXG4pID0+XG4gIEFycmF5LmlzQXJyYXkobmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMpICYmXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzLmxlbmd0aCA+IDAgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMuZXZlcnkoXG4gICAgKG5hbWVPZk1lbnVWaXNpYmlsaXR5KSA9PlxuICAgICAgbWVudVZpc2liaWxpdGllcyAmJiBtZW51VmlzaWJpbGl0aWVzW25hbWVPZk1lbnVWaXNpYmlsaXR5XSA9PT0gdHJ1ZVxuICApO1xuXG50eXBlIFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzID0ge1xuICBmZWF0dXJlVG9nZ2xlPzogc3RyaW5nO1xuICBuYW1lc09mTWVudVZpc2liaWxpdGllcz86IHN0cmluZ1tdO1xuICBwcm9qZWN0UGVybWlzc2lvbnM6IFRQcm9qZWN0UGVybWlzc2lvbnM7XG4gIG1lbnVWaXNpYmlsaXRpZXM6IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGw7XG4gIGtleU9mTWVudUl0ZW06IHN0cmluZztcbiAgcGVybWlzc2lvbnM6IHN0cmluZ1tdO1xuICBhY3Rpb25SaWdodHM/OiBUQWN0aW9uUmlnaHRbXTtcbiAgZGF0YUZlbmNlcz86IFREYXRhRmVuY2VbXTtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG50eXBlIFRMb25nTGl2ZWRGbGFnID0ge1xuICB2YWx1ZTogYm9vbGVhbjtcbiAgcmVhc29uPzogc3RyaW5nO1xufTtcbmNvbnN0IHJlc3RyaWN0ZWRNZW51SXRlbURlZmF1bHRQcm9wczogUGljazxcbiAgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMsXG4gICdwZXJtaXNzaW9ucydcbj4gPSB7XG4gIHBlcm1pc3Npb25zOiBbXSxcbn07XG5mdW5jdGlvbiBpc0xvbmdMaXZlZEZsYWcoXG4gIGZsYWc6IFRGbGFnVmFyaWF0aW9uIHwgVExvbmdMaXZlZEZsYWdcbik6IGZsYWcgaXMgVExvbmdMaXZlZEZsYWcge1xuICByZXR1cm4gdHlwZW9mIChmbGFnIGFzIFRMb25nTGl2ZWRGbGFnKT8udmFsdWUgPT09ICdib29sZWFuJztcbn1cbmNvbnN0IFJlc3RyaWN0ZWRNZW51SXRlbSA9IChwcm9wczogUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMpID0+IHtcbiAgLy8gTk9URTogQ3VzdG9tIGFwcGxpY2F0aW9uIGFyZSBhY3RpdmF0ZWQvZGVhY3RpdmF0ZWQgd2hpbGUgdGhlaXJcbiAgLy8gdmlzaWJpbGl0eSBpcyBub3QgY29udHJvbGxlZCB2aWEgYSB2aXNpYmlpbGl0eSBvdmVyd3JpdGUuXG4gIGNvbnN0IGZsYWdWYXJpYXRpb24gPSB1c2VGbGFnVmFyaWF0aW9uKHByb3BzLmZlYXR1cmVUb2dnbGUpO1xuICBpZiAoXG4gICAgaXNFdmVyeU1lbnVWaXNpYmlsaXR5U2V0VG9IaWRkZW4oXG4gICAgICBwcm9wcy5tZW51VmlzaWJpbGl0aWVzLFxuICAgICAgcHJvcHMubmFtZXNPZk1lbnVWaXNpYmlsaXRpZXNcbiAgICApXG4gIClcbiAgICByZXR1cm4gbnVsbDtcblxuICBjb25zdCBwZXJtaXNzaW9uc1dyYXBwZXIgPVxuICAgIChBcnJheS5pc0FycmF5KHByb3BzLnBlcm1pc3Npb25zKSAmJiBwcm9wcy5wZXJtaXNzaW9ucy5sZW5ndGggPiAwKSB8fFxuICAgIChBcnJheS5pc0FycmF5KHByb3BzLmRhdGFGZW5jZXMpICYmIHByb3BzLmRhdGFGZW5jZXMubGVuZ3RoID4gMCkgPyAoXG4gICAgICA8UmVzdHJpY3RlZEJ5UGVybWlzc2lvbnNcbiAgICAgICAgcGVybWlzc2lvbnM9e3Byb3BzLnBlcm1pc3Npb25zfVxuICAgICAgICBhY3Rpb25SaWdodHM9e3Byb3BzLmFjdGlvblJpZ2h0c31cbiAgICAgICAgZGF0YUZlbmNlcz17cHJvcHMuZGF0YUZlbmNlc31cbiAgICAgICAgc2VsZWN0RGF0YUZlbmNlRGF0YT17KGRlbWFuZGVkRGF0YUZlbmNlKSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChkZW1hbmRlZERhdGFGZW5jZS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdzdG9yZSc6XG4gICAgICAgICAgICAgIHJldHVybiBkZW1hbmRlZERhdGFGZW5jZS5hY3R1YWxEYXRhRmVuY2VWYWx1ZXM7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICAgIC8vIEFsd2F5cyBjaGVjayB0aGF0IHNvbWUgb2YgdGhlIGdpdmVuIHBlcm1pc3Npb25zIG1hdGNoLlxuICAgICAgICBzaG91bGRNYXRjaFNvbWVQZXJtaXNzaW9ucz17dHJ1ZX1cbiAgICAgICAgcHJvamVjdFBlcm1pc3Npb25zPXtwcm9wcy5wcm9qZWN0UGVybWlzc2lvbnN9XG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvUmVzdHJpY3RlZEJ5UGVybWlzc2lvbnM+XG4gICAgKSA6IChcbiAgICAgIDw+e3Byb3BzLmNoaWxkcmVufTwvPlxuICAgICk7XG5cbiAgaWYgKHByb3BzLmZlYXR1cmVUb2dnbGUpIHtcbiAgICAvLyBBIHJlZ3VsYXIgc2hvcnQtbGl2ZWQgZmVhdHVyZSB0b2dnbGVcbiAgICBpZiAoZmxhZ1ZhcmlhdGlvbiA9PT0gdHJ1ZSkgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcbiAgICAvLyBBIGxvbmctbGl2ZWQgZmVhdHVyZSB0b2dnbGUgd2l0aCBgeyB2YWx1ZTogYm9vbGVhbiwgc3RyaW5nOiByZWFzb24gfWBcbiAgICBpZiAoaXNMb25nTGl2ZWRGbGFnKGZsYWdWYXJpYXRpb24pICYmIGZsYWdWYXJpYXRpb24udmFsdWUgPT09IHRydWUpXG4gICAgICByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xufTtcblJlc3RyaWN0ZWRNZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdSZXN0cmljdGVkTWVudUl0ZW0nO1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRlZmF1bHRQcm9wcyA9IHJlc3RyaWN0ZWRNZW51SXRlbURlZmF1bHRQcm9wcztcblxudHlwZSBNZW51TGFiZWxQcm9wcyA9IHtcbiAgbGFiZWxBbGxMb2NhbGVzOiBUTG9jYWxpemVkRmllbGRbXTtcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xufTtcbmNvbnN0IE1lbnVMYWJlbCA9IChwcm9wczogTWVudUxhYmVsUHJvcHMpID0+IHtcbiAgY29uc3QgbG9jYWxpemVkTGFiZWwgPSBwcm9wcy5sYWJlbEFsbExvY2FsZXMuZmluZCgobG9jKSA9PlxuICAgIHByb3BzLmFwcGxpY2F0aW9uTG9jYWxlLnN0YXJ0c1dpdGgobG9jLmxvY2FsZSlcbiAgKTtcbiAgaWYgKGxvY2FsaXplZExhYmVsKSByZXR1cm4gPD57bG9jYWxpemVkTGFiZWwudmFsdWV9PC8+O1xuICBpZiAocHJvcHMuZGVmYXVsdExhYmVsKSByZXR1cm4gPD57cHJvcHMuZGVmYXVsdExhYmVsfTwvPjtcbiAgcmV0dXJuIDw+e05PX1ZBTFVFX0ZBTExCQUNLfTwvPjtcbn07XG5cbnR5cGUgVE5hdkJhckxheW91dFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbmNvbnN0IE5hdkJhckxheW91dCA9IGZvcndhcmRSZWY8SFRNTEVsZW1lbnQsIFROYXZCYXJMYXlvdXRQcm9wcz4oXG4gIChwcm9wcywgcmVmKSA9PiAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWxcbiAgICAgICAgc3R5bGVzPXtjc3NgXG4gICAgICAgICAgJHtjb21waWxlZFN0eWxlcy5nbG9iYWx9XG4gICAgICAgIGB9XG4gICAgICAvPlxuICAgICAgPG5hdlxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2xlZnQtbmF2aWdhdGlvbiddfVxuICAgICAgICBkYXRhLXRlc3Q9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgICBkYXRhLXRlc3RpZD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvbmF2PlxuICAgIDwvPlxuICApXG4pO1xuTmF2QmFyTGF5b3V0LmRpc3BsYXlOYW1lID0gJ05hdkJhckxheW91dCc7XG5cbnR5cGUgSXRlbUNvbnRhaW5lclByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbiAgaXNNZW51T3Blbj86IGJvb2xlYW47XG59O1xuXG5jb25zdCBJdGVtQ29udGFpbmVyID0gKHByb3BzOiBJdGVtQ29udGFpbmVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWljb24tdGV4dCddfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2ljb24tY29udGFpbmVyJ119PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmljb259PlxuICAgICAgICAgIDxJY29uU3dpdGNoZXIgaWNvbj17cHJvcHMuaWNvbn0gc2l6ZT1cInNjYWxlXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIHtwcm9wcy5pc01lbnVPcGVuID8gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnRpdGxlfT5cbiAgICAgICAgICA8TWVudUxhYmVsXG4gICAgICAgICAgICBsYWJlbEFsbExvY2FsZXM9e3Byb3BzLmxhYmVsQWxsTG9jYWxlc31cbiAgICAgICAgICAgIGRlZmF1bHRMYWJlbD17cHJvcHMuZGVmYXVsdExhYmVsfVxuICAgICAgICAgICAgYXBwbGljYXRpb25Mb2NhbGU9e3Byb3BzLmFwcGxpY2F0aW9uTG9jYWxlfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5JdGVtQ29udGFpbmVyLmRpc3BsYXlOYW1lID0gJ0l0ZW1Db250YWluZXInO1xuXG5leHBvcnQge1xuICBSZXN0cmljdGVkTWVudUl0ZW0sXG4gIE1lbnVJdGVtLFxuICBNZW51SXRlbUxpbmssXG4gIEljb25Td2l0Y2hlcixcbiAgTWVudUdyb3VwLFxuICBNZW51TGFiZWwsXG4gIE1lbnVFeHBhbmRlcixcbiAgRmFkZWQsXG4gIE5hdkJhckxheW91dCxcbiAgSXRlbUNvbnRhaW5lcixcbn07XG4iXX0= */")
717
- }), jsx("nav", {
718
- ref: ref,
719
- className: styles$4['left-navigation'],
720
- "data-test": "left-navigation",
721
- "data-testid": "left-navigation",
722
- children: props.children
723
- })]
724
- }));
725
- NavBarLayout$2.displayName = 'NavBarLayout';
726
- const ItemContainer = props => {
727
- return jsxs("div", {
728
- className: styles$4['item-icon-text'],
729
- children: [jsx("div", {
730
- className: styles$4['icon-container'],
731
- children: jsx("div", {
732
- className: styles$4.icon,
733
- children: jsx(IconSwitcher$1, {
734
- icon: props.icon,
735
- size: "scale"
736
- })
737
- })
738
- }), props.isMenuOpen ? jsx("div", {
739
- className: styles$4.title,
740
- children: jsx(MenuLabel$1, {
741
- labelAllLocales: props.labelAllLocales,
742
- defaultLabel: props.defaultLabel,
743
- applicationLocale: props.applicationLocale
744
- })
745
- }) : null]
746
- });
747
- };
748
- ItemContainer.propTypes = process.env.NODE_ENV !== "production" ? {
749
- labelAllLocales: _pt.arrayOf(_pt.any).isRequired,
750
- defaultLabel: _pt.string,
751
- applicationLocale: _pt.string.isRequired,
752
- icon: _pt.string.isRequired,
753
- isMenuOpen: _pt.bool
754
- } : {};
755
- ItemContainer.displayName = 'ItemContainer';
756
-
757
- function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
758
- const NavBarLayout$1 = props => {
759
- return jsx("nav", {
760
- "aria-busy": true,
761
- css: /*#__PURE__*/css("display:flex;flex-direction:column;height:100%;width:", props.isExpanded ? '256px' : '80px', ";" + (process.env.NODE_ENV === "production" ? "" : ";label:NavBarLayout;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9CYyIsImZpbGUiOiJuYXZiYXItc2tlbGV0b24uc3R5bGVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBESU1FTlNJT05TIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzJztcblxudHlwZSBUTmF2QmFyU2tlbGV0b25Qcm9wcyA9IHtcbiAgaXNFeHBhbmRlZDogYm9vbGVhbjtcbn07XG5cbnR5cGUgVE1lbnVJdGVtUHJvcHMgPSB7XG4gIGNvbnRlbnRXaWR0aDogJ3dpZGUnIHwgJ25hcnJvdyc7XG59O1xuXG5jb25zdCBOYXZCYXJMYXlvdXQgPSAoXG4gIHByb3BzOiBUTmF2QmFyU2tlbGV0b25Qcm9wcyAmIHsgY2hpbGRyZW46IFJlYWN0Tm9kZSB9XG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bmF2XG4gICAgICBhcmlhLWJ1c3k9e3RydWV9XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogJHtwcm9wcy5pc0V4cGFuZGVkID8gJzI1NnB4JyA6ICc4MHB4J307XG4gICAgICBgfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L25hdj5cbiAgKTtcbn07XG5cbmNvbnN0IE5hdkJhckhlYWRlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9O1xuICBoZWlnaHQ6ICR7RElNRU5TSU9OUy5oZWFkZXJ9O1xuICBiYWNrZ3JvdW5kOiAke2Rlc2lnblRva2Vucy5jb2xvckFjY2VudDEwfTtcbmA7XG5cbmNvbnN0IE5hdkJhckJvZHkgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBwYWRkaW5nOiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAke2Rlc2lnblRva2Vucy5zcGFjaW5nNDB9O1xuICBmbGV4LXNocmluazogMDtcbiAgYmFja2dyb3VuZDogIzAwOTk4NzsgLy8gVE9ETzogdXNlIG5ldyBkZXNpZ24gdG9rZW4gY29sb3ItcHJpbWFyeS0zMFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gYm90dG9tIGdyYWRpZW50XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMzZweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwgMTUzLCAxMzUsIDApIDAlLCAjMDA5OTg3IDEwMCUpO1xuICB9XG5gO1xuXG5jb25zdCBOYXZCYXJGb290ZXIgPSBzdHlsZWQuZGl2PFROYXZCYXJTa2VsZXRvblByb3BzPmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzAwOTk4NyAwJSwgIzAwNGQ0NCAxMDAlKTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfVxuICAgICR7KHByb3BzKSA9PiAocHJvcHMuaXNFeHBhbmRlZCA/ICc1OHB4JyA6ICcwcHgnKX07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIC8vIGRpdmlkZXJcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyICogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICB9XG5gO1xuXG5jb25zdCBFeHBhbmRJY29uID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyUmFkaXVzNH07XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtQ29udGFpbmVyID0gc3R5bGVkLmRpdjxUTWVudUl0ZW1Qcm9wcyAmIFROYXZCYXJTa2VsZXRvblByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogJHsocHJvcHMpID0+XG4gICAgcHJvcHMuY29udGVudFdpZHRoID09PSAnd2lkZScgfHwgIXByb3BzLmlzRXhwYW5kZWQgPyAnMTJweCcgOiAnMTJweCAyOHB4J307XG4gIGhlaWdodDogNDhweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbVRpdGxlID0gc3R5bGVkLmRpdmBcbiAgYm9yZGVyLXJhZGl1czogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyUmFkaXVzNH07XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgZmxleDogMTtcbiAgaGVpZ2h0OiAxOHB4O1xuYDtcblxuY29uc3QgTWVudUl0ZW1Hcm91cCA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDAlO1xuYDtcblxuZXhwb3J0IHtcbiAgTmF2QmFyTGF5b3V0LFxuICBOYXZCYXJIZWFkZXIsXG4gIE5hdkJhckJvZHksXG4gIE5hdkJhckZvb3RlcixcbiAgRXhwYW5kSWNvbixcbiAgTWVudUl0ZW1Db250YWluZXIsXG4gIE1lbnVJdGVtSWNvbixcbiAgTWVudUl0ZW1UaXRsZSxcbiAgTWVudUl0ZW1Hcm91cCxcbiAgdHlwZSBUTmF2QmFyU2tlbGV0b25Qcm9wcyxcbiAgdHlwZSBUTWVudUl0ZW1Qcm9wcyxcbn07XG4iXX0= */"),
762
- children: props.children
763
- });
764
- };
765
- NavBarLayout$1.propTypes = process.env.NODE_ENV !== "production" ? {
766
- isExpanded: _pt.bool.isRequired
767
- } : {};
768
- const NavBarHeader = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
769
- target: "eyeet3i7"
770
- } : {
771
- target: "eyeet3i7",
772
- label: "NavBarHeader"
773
- })("display:flex;justify-content:center;align-items:center;padding:", designTokens.spacing30, ";height:", DIMENSIONS.header, ";background:", designTokens.colorAccent10, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdDK0IiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
774
- const NavBarBody = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
775
- target: "eyeet3i6"
776
- } : {
777
- target: "eyeet3i6",
778
- label: "NavBarBody"
779
- })("display:flex;flex:1;padding:", designTokens.spacing30, ";flex-direction:column;align-items:flex-start;gap:", designTokens.spacing40, ";flex-shrink:0;background:#009987;position:relative;&::after{content:'';position:absolute;bottom:0;height:36px;width:calc(100% - 2 * ", designTokens.spacing30, ");background:linear-gradient(180deg, rgba(0, 153, 135, 0) 0%, #009987 100%);}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlDNkIiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
780
- const NavBarFooter = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
781
- target: "eyeet3i5"
782
- } : {
783
- target: "eyeet3i5",
784
- label: "NavBarFooter"
785
- })("position:relative;display:flex;width:100%;flex-direction:column;background:linear-gradient(180deg, #009987 0%, #004d44 100%);padding:", designTokens.spacing30, " ", props => props.isExpanded ? '58px' : '0px', ";justify-content:center;align-items:center;&::before{content:'';position:absolute;top:0;height:1px;width:calc(100% - 2 * ", designTokens.spacing30, ");background:rgba(255, 255, 255, 0.5);}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStEcUQiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
786
- const ExpandIcon = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
787
- target: "eyeet3i4"
788
- } : {
789
- target: "eyeet3i4",
790
- label: "ExpandIcon"
791
- })("width:40px;height:40px;border-radius:", designTokens.borderRadius4, ";background:rgba(255, 255, 255, 0.2);" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFGNkIiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
792
- const MenuItemContainer = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
793
- target: "eyeet3i3"
794
- } : {
795
- target: "eyeet3i3",
796
- label: "MenuItemContainer"
797
- })("display:flex;align-items:center;justify-content:center;gap:12px;padding:", props => props.contentWidth === 'wide' || !props.isExpanded ? '12px' : '12px 28px', ";height:48px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRGMkUiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
798
- const MenuItemIcon = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
799
- target: "eyeet3i2"
800
- } : {
801
- target: "eyeet3i2",
802
- label: "MenuItemIcon"
803
- })("width:24px;height:24px;border-radius:", designTokens.borderRadius4, ";background:rgba(255, 255, 255, 0.2);" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNHK0IiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
804
- const MenuItemTitle = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
805
- target: "eyeet3i1"
806
- } : {
807
- target: "eyeet3i1",
808
- label: "MenuItemTitle"
809
- })("border-radius:", designTokens.borderRadius4, ";background:rgba(255, 255, 255, 0.2);flex:1;height:18px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZHZ0MiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
810
- const MenuItemGroup = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
811
- target: "eyeet3i0"
812
- } : {
813
- target: "eyeet3i0",
814
- label: "MenuItemGroup"
815
- })(process.env.NODE_ENV === "production" ? {
816
- name: "1d3w5wq",
817
- styles: "width:100%"
818
- } : {
819
- name: "1d3w5wq",
820
- styles: "width:100%",
821
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9IZ0MiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */",
822
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
823
- });
824
-
825
- const MenuItem$1 = props => {
826
- return jsxs(MenuItemContainer, {
827
- isExpanded: props.isExpanded,
828
- contentWidth: props.contentWidth,
829
- children: [jsx(MenuItemIcon, {}), props.isExpanded && jsx(MenuItemTitle, {})]
830
- });
831
- };
832
- MenuItem$1.defaultProps = {
833
- contentWidth: 'wide'
834
- };
835
- const NavBarSkeleton = props => {
836
- var _context, _context2, _context3, _context4;
837
- return jsxs(NavBarLayout$1, {
838
- isExpanded: props.isExpanded,
839
- children: [jsx(NavBarHeader, {
840
- children: jsx(MenuItemGroup, {
841
- children: jsx(MenuItem$1, {
842
- contentWidth: "narrow",
843
- isExpanded: props.isExpanded
844
- })
845
- })
846
- }), jsxs(NavBarBody, {
847
- children: [jsx(MenuItemGroup, {
848
- children: _mapInstanceProperty(_context = [..._keysInstanceProperty(_context2 = Array(2)).call(_context2)]).call(_context, index => jsx(MenuItem$1, {
849
- isExpanded: props.isExpanded
850
- }, index))
851
- }), jsx(MenuItemGroup, {
852
- children: _mapInstanceProperty(_context3 = [..._keysInstanceProperty(_context4 = Array(10)).call(_context4)]).call(_context3, index => jsx(MenuItem$1, {
853
- isExpanded: props.isExpanded
854
- }, index))
855
- }), jsx(MenuItemGroup, {
856
- children: jsx(MenuItem$1, {
857
- isExpanded: props.isExpanded
858
- })
859
- })]
860
- }), jsx(NavBarFooter, {
861
- isExpanded: props.isExpanded,
862
- children: jsx(ExpandIcon, {})
863
- })]
864
- });
865
- };
866
- NavBarSkeleton.displayName = 'NavBarSkeleton';
867
-
868
- function ownKeys$3(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
869
- function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var _context9, _context10; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context9 = ownKeys$3(Object(t), !0)).call(_context9, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context10 = ownKeys$3(Object(t))).call(_context10, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
870
- const compiledStyles$3 = {
871
- "global": ":root {\n\n /* Left navigation */\n}\n\n@keyframes navbar-mod__visible___ifOIc {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___op7AX {\n display: grid;\n width: 80px;\n background: var(--color-primary);\n height: 100%;\n grid-template-rows: 56px 1fr;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__navigation-header___vaIOk {\n background-color: var(--color-accent-10);\n color: var(--color-surface);\n display: flex;\n justify-content: center;\n flex-direction: row;\n align-items: center;\n padding: var(--spacing-30);\n}\n\n.navbar-mod__navigation-header___vaIOk .navbar-mod__icon-container___hAbPn {\n width: auto;\n display: flex;\n justify-content: center;\n}\n\n.navbar-mod__navigation-header___vaIOk .navbar-mod__title___aTo0V {\n font-weight: 600;\n margin-left: var(--spacing-20);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n animation: navbar-mod__visible___ifOIc 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__navigation-header___vaIOk .navbar-mod__icon___21inq {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list___pouHY {\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.navbar-mod__list-item___y7qYe {\n min-height: 48px;\n background: var(--color-primary);\n margin: 0;\n list-style: none;\n cursor: pointer;\n}\n\n.navbar-mod__item-link___6U2c1 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n width: 48px;\n position: relative;\n display: block;\n}\n\n.body__menu-open .navbar-mod__item-link___6U2c1 {\n width: 100%;\n}\n\n.navbar-mod__list-item___y7qYe .navbar-mod__item-icon-text___3ZFtB {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__list-item___y7qYe .navbar-mod__icon___21inq {\n width: 24px;\n height: 24px;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__list-item___y7qYe:hover .navbar-mod__icon___21inq {\n /* 1.16 is roughly the ratio of icon-size-hover to --icon-size */\n transform: scale(1.2);\n}\n\n.navbar-mod__list-item___y7qYe .navbar-mod__icon___21inq > svg *:not([fill='none']) {\n fill: var(--color-surface);\n}\n\n.navbar-mod__list-item___y7qYe .navbar-mod__title___aTo0V {\n flex: 1;\n font-weight: 600;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n opacity: 0;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n text-align: left;\n text-decoration: none;\n z-index: 1;\n}\n\n.navbar-mod__expander___blASx {\n display: flex;\n align-items: center;\n justify-content: center;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: linear-gradient(\n 180deg,\n var(--color-primary) 0%,\n var(--color-primary-25) 100%\n );\n padding: var(--spacing-30) var(--spacing-25);\n}\n\n.navbar-mod__expander___blASx:hover {\n background-color: var(--color-primary-40);\n}\n\n/* divider */\n\n.navbar-mod__expander___blASx::before {\n content: '';\n position: absolute;\n top: 56px;\n height: 1px;\n background: rgba(255, 255, 255, 0.5);\n width: calc(100% - 2 * var(--spacing-30));\n}\n\n.navbar-mod__expand-icon___3A2Dk {\n height: 40px;\n width: 40px;\n border-radius: var(--border-radius-4);\n padding: var(--spacing-20);\n background: rgba(255, 255, 255, 0.2);\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__expand-icon___3A2Dk:hover {\n background: rgba(255, 255, 255, 0.3);\n cursor: pointer;\n}\n\n.navbar-mod__item--bottom___Pygdy {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___y7qYe:not(.navbar-mod__item_menu__active___j515K):hover {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__item_menu-open___NnkVM {\n height: auto !important;\n}\n\n.navbar-mod__item_menu-collapsed___1s4K0 .navbar-mod__item-link___6U2c1 {\n text-align: center;\n}\n\n.body__menu-open .navbar-mod__left-navigation___op7AX {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n box-shadow: var(--shadow-for-navbar);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.body__menu-open .navbar-mod__list-item___y7qYe {\n height: auto;\n min-height: 48px;\n overflow: hidden;\n width: 100%;\n}\n\n.body__menu-open .navbar-mod__left-navigation___op7AX {\n width: 256px;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.body__menu-open .navbar-mod__list-item___y7qYe .navbar-mod__title___aTo0V {\n opacity: 1;\n margin-left: var(--spacing-25);\n color: var(--color-surface);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n animation: navbar-mod__visible___ifOIc 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__list-item___y7qYe:hover .navbar-mod__title___aTo0V {\n margin-left: calc(var(--spacing-25) + 2px);\n}\n\n.navbar-mod__list-item___y7qYe:not(.navbar-mod__item__active___SEPWP):hover .navbar-mod__icon___21inq > svg *:not([fill='none']) {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n fill: var(--color-for-navbar-icon-when-active);\n}\n\n.navbar-mod__list-item___y7qYe:not(.navbar-mod__item__active___SEPWP):hover .navbar-mod__title___aTo0V {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n}\n\n.body__menu-open .navbar-mod__item__active___SEPWP {\n max-height: 500px;\n transition: max-height 0.25s ease-in;\n}\n\n/* Second level menu */\n\n.navbar-mod__sublist___tMZy4 {\n padding: var(--spacing-30);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n left: 72px;\n z-index: -1;\n list-style: none;\n position: fixed;\n display: none;\n}\n\n/* This pseudo-element is required to enable smooth coursor movement from the main menu item to submenu items with the gap in between */\n\n.navbar-mod__sublist-expanded__active___XyUuS::before,\n.navbar-mod__sublist-collapsed__active___yWHea::before,\n.navbar-mod__sublist-collapsed__active__above___-7-Ca::before {\n content: '';\n position: absolute;\n display: block;\n width: calc(253px + var(--spacing-20));\n height: 48px;\n left: calc(-1 * var(--spacing-20));\n}\n\n.navbar-mod__sublist__inactive___5-OgH {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___ZZbsF {\n display: flex;\n align-items: center;\n align-self: stretch;\n transition: padding-left 150ms ease-out;\n}\n\n.navbar-mod__sublist-item__active___O2-c- {\n border-radius: var(--border-radius-4);\n background: var(--color-accent-30);\n}\n\n.navbar-mod__sublist-item___ZZbsF:not(.navbar-mod__sublist-item__active___O2-c-):hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n border-radius: var(--border-radius-4);\n background: var(--color-primary-95);\n padding-left: var(--spacing-20);\n}\n\n.navbar-mod__text___3TpQt {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n width: 100%;\n height: 100%;\n}\n\n.navbar-mod__text-link___TcEn2 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n text-decoration: none;\n display: flex;\n padding: var(--spacing-25);\n align-items: center;\n justify-content: center;\n}\n\n.body__menu-open .navbar-mod__text-link___TcEn2 {\n justify-content: start;\n}\n\n.navbar-mod__text-link-sublist-wrapper___RQinz {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n position: relative;\n min-height: 0;\n}\n\n.navbar-mod__text-link-sublist___V0-tf {\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n color: var(--color-solid);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n text-decoration: none;\n flex: 1;\n padding: var(--spacing-25) var(--spacing-25) var(--spacing-25)\n var(--spacing-30);\n}\n\n.navbar-mod__navlink-clickable-content___o-emf {\n height: 100%;\n width: 100%;\n}\n\n/* Item active */\n\n.navbar-mod__item__active___SEPWP,\n.navbar-mod__item_menu__active___j515K {\n background: var(--color-accent-30);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__list-item___y7qYe.navbar-mod__item__active___SEPWP .navbar-mod__item-icon-text___3ZFtB {\n justify-content: flex-start;\n}\n\n.navbar-mod__list-item___y7qYe .navbar-mod__icon-container___hAbPn {\n width: auto;\n display: flex;\n justify-content: center;\n align-self: flex-start;\n}\n\n.navbar-mod__fixed-menu___QYEJM .navbar-mod__list-item___y7qYe .navbar-mod__item-icon-text___3ZFtB {\n justify-content: center;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__support-menu___bkf5Q {\n padding: 0 var(--spacing-30) var(--spacing-20) var(--spacing-30);\n height: calc(48px + var(--spacing-20));\n}\n\n.body__menu-open .navbar-mod__list-item___y7qYe.navbar-mod__item__active___SEPWP .navbar-mod__item-icon-text___3ZFtB {\n position: relative;\n width: auto;\n}\n\n.body__menu-open .navbar-mod__list-item___y7qYe.navbar-mod__item__active___SEPWP .navbar-mod__item-icon-text___3ZFtB {\n margin-left: 0;\n}\n\n.navbar-mod__tooltip-container___gTiaE {\n position: absolute;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n height: 48px;\n visibility: visible;\n}\n\n.navbar-mod__tooltip___3PSlF {\n padding: var(--spacing-10) calc(var(--spacing-20) + var(--spacing-10));\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n border-radius: var(--border-radius-4);\n background: var(--color-accent-10);\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n color: var(--color-surface);\n max-height: 48px;\n visibility: inherit;\n}\n\n.navbar-mod__sublist-expanded__active___XyUuS,\n.navbar-mod__sublist-collapsed__active___yWHea,\n.navbar-mod__sublist-collapsed__active__above___-7-Ca {\n opacity: 1;\n display: none;\n text-align: left;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-active);\n}\n\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-collapsed__active___yWHea,\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-collapsed__active__above___-7-Ca,\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-expanded__active___XyUuS {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--color-surface);\n /* TODO: add design tokens instead hard-coded values */\n min-height: 50px;\n width: 253px;\n border-radius: var(--border-radius-8);\n /* z-index value must be higher than AppBar's z-index */\n z-index: 20001;\n box-shadow: -2px 4px 25px 0 rgba(89, 89, 89, 0.5);\n}\n\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-collapsed__active___yWHea.navbar-mod__sublist-collapsed__empty___mXa6R,\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-collapsed__active__above___-7-Ca.navbar-mod__sublist-collapsed__empty___mXa6R {\n visibility: hidden;\n}\n\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-expanded__active___XyUuS {\n left: 248px;\n}\n\n.navbar-mod__highlighted___06BoS,\n.navbar-mod__highlighted___06BoS .navbar-mod__title___aTo0V {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-active) !important;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-active);\n}\n\n.navbar-mod__hidden___-s7eh {\n display: none;\n}\n\n.navbar-mod__divider___GBOn1 {\n border-top: 1px solid var(--color-neutral-40);\n}\n\n.navbar-mod__loading-dot-container___B7sPh {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-mod__scrollable-menu___I9ci7 {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: hidden;\n padding: var(--spacing-30) var(--spacing-30) 48px;\n width: 80px;\n box-sizing: border-box;\n /* For Firefox */\n scrollbar-width: thin;\n scrollbar-color: var(--color-primary-40) transparent;\n}\n\n.body__menu-open .navbar-mod__scrollable-menu___I9ci7 {\n width: 256px;\n}\n\n.navbar-mod__scrollable-menu___I9ci7:hover {\n overflow-y: scroll;\n padding-right: 8px;\n}\n\n.navbar-mod__scrollable-menu___I9ci7::-webkit-scrollbar {\n width: 8px;\n}\n\n.navbar-mod__scrollable-menu___I9ci7::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.navbar-mod__scrollable-menu___I9ci7::-webkit-scrollbar-thumb {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__fixed-menu___QYEJM {\n position: relative;\n width: 80px;\n}\n\n.body__menu-open .navbar-mod__fixed-menu___QYEJM {\n width: 256px;\n}\n",
872
- "jsonMap": {
873
- "left-navigation": "navbar-mod__left-navigation___op7AX",
874
- "navigation-header": "navbar-mod__navigation-header___vaIOk",
875
- "icon-container": "navbar-mod__icon-container___hAbPn",
876
- "title": "navbar-mod__title___aTo0V",
877
- "visible": "navbar-mod__visible___ifOIc",
878
- "icon": "navbar-mod__icon___21inq",
879
- "list": "navbar-mod__list___pouHY",
880
- "list-item": "navbar-mod__list-item___y7qYe",
881
- "item-link": "navbar-mod__item-link___6U2c1",
882
- "item-icon-text": "navbar-mod__item-icon-text___3ZFtB",
883
- "expander": "navbar-mod__expander___blASx",
884
- "expand-icon": "navbar-mod__expand-icon___3A2Dk",
885
- "item--bottom": "navbar-mod__item--bottom___Pygdy",
886
- "item_menu__active": "navbar-mod__item_menu__active___j515K",
887
- "item_menu-open": "navbar-mod__item_menu-open___NnkVM",
888
- "item_menu-collapsed": "navbar-mod__item_menu-collapsed___1s4K0",
889
- "item__active": "navbar-mod__item__active___SEPWP",
890
- "sublist": "navbar-mod__sublist___tMZy4",
891
- "sublist-expanded__active": "navbar-mod__sublist-expanded__active___XyUuS",
892
- "sublist-collapsed__active": "navbar-mod__sublist-collapsed__active___yWHea",
893
- "sublist-collapsed__active__above": "navbar-mod__sublist-collapsed__active__above___-7-Ca",
894
- "sublist__inactive": "navbar-mod__sublist__inactive___5-OgH",
895
- "sublist-item": "navbar-mod__sublist-item___ZZbsF",
896
- "sublist-item__active": "navbar-mod__sublist-item__active___O2-c-",
897
- "text": "navbar-mod__text___3TpQt",
898
- "text-link": "navbar-mod__text-link___TcEn2",
899
- "text-link-sublist-wrapper": "navbar-mod__text-link-sublist-wrapper___RQinz",
900
- "text-link-sublist": "navbar-mod__text-link-sublist___V0-tf",
901
- "navlink-clickable-content": "navbar-mod__navlink-clickable-content___o-emf",
902
- "fixed-menu": "navbar-mod__fixed-menu___QYEJM",
903
- "support-menu": "navbar-mod__support-menu___bkf5Q",
904
- "tooltip-container": "navbar-mod__tooltip-container___gTiaE",
905
- "tooltip": "navbar-mod__tooltip___3PSlF",
906
- "sublist-collapsed__empty": "navbar-mod__sublist-collapsed__empty___mXa6R",
907
- "highlighted": "navbar-mod__highlighted___06BoS",
908
- "hidden": "navbar-mod__hidden___-s7eh",
909
- "divider": "navbar-mod__divider___GBOn1",
910
- "loading-dot-container": "navbar-mod__loading-dot-container___B7sPh",
911
- "scrollable-menu": "navbar-mod__scrollable-menu___I9ci7"
912
- }
913
- };
914
- const styles$3 = compiledStyles$3.jsonMap;
915
- const getMenuVisibilitiesOfSubmenus$1 = menu => {
916
- var _context, _context2;
917
- return _filterInstanceProperty(_context = _mapInstanceProperty(_context2 = menu.submenu).call(_context2, submenu => submenu.menuVisibility)).call(_context, nonNullable);
918
- };
919
- const getMenuVisibilityOfMainmenu$1 = menu => menu.menuVisibility ? [menu.menuVisibility] : [];
920
- const getIsSubmenuRouteActive = (uriPath, props) => {
921
- var _context3;
922
- return Boolean(matchPath(props.location.pathname, {
923
- path: _concatInstanceProperty(_context3 = "/".concat(props.projectKey, "/")).call(_context3, uriPath),
924
- exact: true,
925
- strict: false
926
- }));
927
- };
928
- const ApplicationMenu$1 = props => {
929
- var _context4, _props$menu$featureTo, _props$menu$actionRig, _props$menu$dataFence, _context5, _context6;
930
- const _useState = useState(0),
931
- _useState2 = _slicedToArray(_useState, 2),
932
- submenuVerticalPosition = _useState2[0],
933
- setSubmenuVerticalPosition = _useState2[1];
934
- const _useState3 = useState(false),
935
- _useState4 = _slicedToArray(_useState3, 2),
936
- isSubmenuAboveMenuItem = _useState4[0],
937
- setIsSubmenuAboveMenuItem = _useState4[1];
938
- const submenuRef = useRef(null);
939
- const hasSubmenu = _Array$isArray(props.menu.submenu) && props.menu.submenu.length > 0;
940
- const menuItemIdentifier = snakeCase(props.menu.key);
941
- const callbackFn = useCallback(entries => {
942
- var _document$querySelect;
943
- const menuItemBoundingClientRect = (_document$querySelect = document.querySelector("[data-menuitem=\"".concat(menuItemIdentifier, "\"]"))) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.getBoundingClientRect();
944
- const menuItemTop = (menuItemBoundingClientRect === null || menuItemBoundingClientRect === void 0 ? void 0 : menuItemBoundingClientRect.top) || 0;
945
- const menuItemBottom = (menuItemBoundingClientRect === null || menuItemBoundingClientRect === void 0 ? void 0 : menuItemBoundingClientRect.bottom) || 0;
946
- const _entries = _slicedToArray(entries, 1),
947
- entry = _entries[0];
948
- const doesSubmenuFitWithinViewportBelowMenuItem = entry.boundingClientRect.height + (props.isMenuOpen ? menuItemTop : menuItemBottom) > window.innerHeight;
949
- // if the submenu does not fit at the bottom of the viewport (below the menu item)
950
- if (doesSubmenuFitWithinViewportBelowMenuItem) {
951
- setIsSubmenuAboveMenuItem(true);
952
- setSubmenuVerticalPosition(window.innerHeight - (props.isMenuOpen ? menuItemBottom : menuItemTop));
953
- // show the submenu above the menu item
954
- } else {
955
- setIsSubmenuAboveMenuItem(false);
956
- setSubmenuVerticalPosition(props.isMenuOpen ? menuItemTop : menuItemBottom);
957
- }
958
- }, [menuItemIdentifier, props.isMenuOpen]);
959
- const observerRef = useRef(null);
960
- useLayoutEffect(() => {
961
- observerRef.current = new IntersectionObserver(callbackFn, {
962
- rootMargin: '-100% 0px 0px 0px' // we want to observe if the submenu crosses the bottom line of the viewport - therefore we set the root element top margin to -100% of the viewport height
963
- });
964
-
965
- return () => {
966
- var _observerRef$current;
967
- return (_observerRef$current = observerRef.current) === null || _observerRef$current === void 0 ? void 0 : _observerRef$current.disconnect();
968
- };
969
- }, [callbackFn, props.isMenuOpen]);
970
- useLayoutEffect(() => {
971
- const currentSubmenuRef = submenuRef.current;
972
- const observer = observerRef.current;
973
- if (!currentSubmenuRef) return;
974
- if (observer && currentSubmenuRef) {
975
- observer.observe(currentSubmenuRef);
976
- }
977
- return () => observer === null || observer === void 0 ? void 0 : observer.disconnect();
978
- }, [menuItemIdentifier, props.isMenuOpen, props.handleToggleItem, callbackFn]);
979
- const isMainMenuRouteActive = Boolean(matchPath(props.location.pathname, {
980
- path: _concatInstanceProperty(_context4 = "/".concat(props.projectKey, "/")).call(_context4, props.menu.uriPath),
981
- exact: false,
982
- strict: false
983
- }));
984
- useEffect(() => {
985
- // On first render, check which menu is active for the current application and expand
986
- // the submenu automatically unless the all navbar is collapsed or there are no submenu links.
987
- if (props.isMenuOpen && isMainMenuRouteActive && hasSubmenu) {
988
- props.handleToggleItem();
989
- }
990
- // eslint-disable-next-line react-hooks/exhaustive-deps
991
- }, [props.isMenuOpen]); // <-- (re)run this only when the all menu expands
992
-
993
- const namesOfMenuVisibilitiesOfAllSubmenus = hasSubmenu ? getMenuVisibilitiesOfSubmenus$1(props.menu) : getMenuVisibilityOfMainmenu$1(props.menu);
994
- return jsx(RestrictedMenuItem$1, {
995
- keyOfMenuItem: props.menu.key,
996
- featureToggle: (_props$menu$featureTo = props.menu.featureToggle) !== null && _props$menu$featureTo !== void 0 ? _props$menu$featureTo : undefined,
997
- permissions: props.menu.permissions,
998
- actionRights: (_props$menu$actionRig = props.menu.actionRights) !== null && _props$menu$actionRig !== void 0 ? _props$menu$actionRig : undefined,
999
- dataFences: (_props$menu$dataFence = props.menu.dataFences) !== null && _props$menu$dataFence !== void 0 ? _props$menu$dataFence : undefined,
1000
- projectPermissions: props.projectPermissions,
1001
- menuVisibilities: props.menuVisibilities,
1002
- namesOfMenuVisibilities: namesOfMenuVisibilitiesOfAllSubmenus,
1003
- children: jsxs(MenuItem$2, {
1004
- hasSubmenu: hasSubmenu,
1005
- isActive: props.isActive,
1006
- isMainMenuRouteActive: isMainMenuRouteActive,
1007
- isMenuOpen: props.isMenuOpen,
1008
- onClick: props.handleToggleItem,
1009
- onMouseEnter: props.handleToggleItem,
1010
- onMouseLeave: props.shouldCloseMenuFly,
1011
- identifier: menuItemIdentifier,
1012
- children: [jsx(MenuItemLink$1, {
1013
- linkTo: _concatInstanceProperty(_context5 = "/".concat(props.projectKey, "/")).call(_context5, props.menu.uriPath),
1014
- useFullRedirectsForLinks: props.useFullRedirectsForLinks,
1015
- onClick: props.onMenuItemClick,
1016
- children: jsx(ItemContainer, {
1017
- labelAllLocales: props.menu.labelAllLocales,
1018
- defaultLabel: props.menu.defaultLabel,
1019
- applicationLocale: props.applicationLocale,
1020
- icon: props.menu.icon,
1021
- isMenuOpen: props.isMenuOpen
1022
- })
1023
- }), jsxs(MenuGroup$1, {
1024
- id: "group-".concat(props.menu.key),
1025
- level: 2,
1026
- isActive: props.isActive,
1027
- isExpanded: props.isMenuOpen,
1028
- hasSubmenu: hasSubmenu,
1029
- submenuVerticalPosition: submenuVerticalPosition,
1030
- isSubmenuAboveMenuItem: isSubmenuAboveMenuItem,
1031
- ref: submenuRef,
1032
- children: [!props.isMenuOpen && jsx("div", {
1033
- className: styles$3['tooltip-container'],
1034
- css: /*#__PURE__*/css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":-", DIMENSIONS.navMenuItemHeight, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:ApplicationMenu;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOE9zQiIsImZpbGUiOiJuYXZiYXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBNb3VzZUV2ZW50SGFuZGxlcixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbiAgdXNlUmVmLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBzbmFrZUNhc2UgZnJvbSAnbG9kYXNoL3NuYWtlQ2FzZSc7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBtYXRjaFBhdGgsIHVzZUxvY2F0aW9uIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgdHlwZSB7IFJvdXRlQ29tcG9uZW50UHJvcHMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIG5vcm1hbGl6ZUFsbEFwcGxpZWRBY3Rpb25SaWdodHMsXG4gIG5vcm1hbGl6ZUFsbEFwcGxpZWREYXRhRmVuY2VzLFxuICBub3JtYWxpemVBbGxBcHBsaWVkTWVudVZpc2liaWxpdGllcyxcbiAgbm9ybWFsaXplQWxsQXBwbGllZFBlcm1pc3Npb25zLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCB0eXBlIHtcbiAgVEFwcGxpY2F0aW9uQ29udGV4dCxcbiAgVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzLFxuICBUTm9ybWFsaXplZFBlcm1pc3Npb25zLFxuICBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyxcbiAgVE5vcm1hbGl6ZWREYXRhRmVuY2VzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCBMb2dvU1ZHIGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2Fzc2V0cy9sb2dvcy9jb21tZXJjZXRvb2xzX3NtYWxsLWxvZ28uc3ZnJztcbmltcG9ydCB7IFNVUFBPUlRfUE9SVEFMX1VSTCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTdXBwb3J0SWNvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCB7IERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUgeyBURmV0Y2hQcm9qZWN0UXVlcnkgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHR5cGUgeyBUTmF2YmFyTWVudSwgVEJhc2VNZW51IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcbmltcG9ydCBtZXNzYWdlcyBmcm9tICcuLi9tZXNzYWdlcyc7XG5cbi8vIGh0dHBzOi8vYmFiZWxqcy5pby9ibG9nLzIwMTcvMDkvMTEvemVyby1jb25maWctd2l0aC1iYWJlbC1tYWNyb3NcbmltcG9ydCBub25OdWxsYWJsZSBmcm9tICcuLi9ub24tbnVsbGFibGUnO1xuaW1wb3J0IHVzZU5hdmJhclN0YXRlTWFuYWdlciBmcm9tICcuLi91c2UtbmF2YmFyLXN0YXRlLW1hbmFnZXInO1xuaW1wb3J0IHtcbiAgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyxcbiAgUmVzdHJpY3RlZE1lbnVJdGVtLFxuICBNZW51SXRlbSxcbiAgTWVudUl0ZW1MaW5rLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgSXRlbUNvbnRhaW5lcixcbiAgRmFkZWQsXG4gIE1lbnVFeHBhbmRlcixcbiAgTmF2QmFyTGF5b3V0LFxufSBmcm9tICcuL21lbnUtaXRlbXMnO1xuaW1wb3J0IE5hdkJhclNrZWxldG9uIGZyb20gJy4vbmF2YmFyLXNrZWxldG9uJztcbmltcG9ydCBjb21waWxlZFN0eWxlcyBmcm9tIC8qIHByZXZhbCAqLyAnLi9uYXZiYXIuc3R5bGVzJztcblxuY29uc3Qgc3R5bGVzID0gY29tcGlsZWRTdHlsZXMuanNvbk1hcDtcblxudHlwZSBUUHJvamVjdFBlcm1pc3Npb25zID0ge1xuICBwZXJtaXNzaW9uczogVE5vcm1hbGl6ZWRQZXJtaXNzaW9ucyB8IG51bGw7XG4gIGFjdGlvblJpZ2h0czogVE5vcm1hbGl6ZWRBY3Rpb25SaWdodHMgfCBudWxsO1xuICBkYXRhRmVuY2VzOiBUTm9ybWFsaXplZERhdGFGZW5jZXMgfCBudWxsO1xufTtcblxudHlwZSBUTWVudVdpdGhEZWZhdWx0TGFiZWwgPSBUTmF2YmFyTWVudSAmIHtcbiAgLy8gZGVyaXZlcyBmcm9tIGBwcm9qZWN0RXh0ZW5zaW9uc1F1ZXJ5Lmluc3RhbGxlZEFwcGxpY2F0aW9ucy5hcHBsaWNhdGlvbi5tYWluTWVudUxpbmtgXG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbn07XG50eXBlIFRTdWJtZW51V2l0aERlZmF1bHRMYWJlbCA9IFRCYXNlTWVudSAmIHtcbiAgLy8gZGVyaXZlcyBmcm9tIGBwcm9qZWN0RXh0ZW5zaW9uc1F1ZXJ5Lmluc3RhbGxlZEFwcGxpY2F0aW9ucy5hcHBsaWNhdGlvbi5tYWluTWVudUxpbmtgXG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbn07XG5cbnR5cGUgQXBwbGljYXRpb25NZW51UHJvcHMgPSB7XG4gIGxvY2F0aW9uOiBSb3V0ZUNvbXBvbmVudFByb3BzWydsb2NhdGlvbiddO1xuICBtZW51OiBUTWVudVdpdGhEZWZhdWx0TGFiZWw7XG4gIGlzQWN0aXZlOiBib29sZWFuO1xuICBpc01lbnVPcGVuOiBib29sZWFuO1xuICBzaG91bGRDbG9zZU1lbnVGbHk6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgcHJvamVjdFBlcm1pc3Npb25zOiBUUHJvamVjdFBlcm1pc3Npb25zO1xuICBtZW51VmlzaWJpbGl0aWVzOiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsO1xuICBoYW5kbGVUb2dnbGVJdGVtOiAoKSA9PiB2b2lkO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xuICBwcm9qZWN0S2V5OiBzdHJpbmc7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rczogYm9vbGVhbjtcbiAgb25NZW51SXRlbUNsaWNrPzogTWVudUl0ZW1MaW5rUHJvcHNbJ29uQ2xpY2snXTtcbn07XG5cbmNvbnN0IGdldE1lbnVWaXNpYmlsaXRpZXNPZlN1Ym1lbnVzID0gKG1lbnU6IFROYXZiYXJNZW51KSA9PlxuICBtZW51LnN1Ym1lbnUubWFwKChzdWJtZW51KSA9PiBzdWJtZW51Lm1lbnVWaXNpYmlsaXR5KS5maWx0ZXIobm9uTnVsbGFibGUpO1xuY29uc3QgZ2V0TWVudVZpc2liaWxpdHlPZk1haW5tZW51ID0gKG1lbnU6IFROYXZiYXJNZW51KSA9PlxuICBtZW51Lm1lbnVWaXNpYmlsaXR5ID8gW21lbnUubWVudVZpc2liaWxpdHldIDogW107XG5cbmNvbnN0IGdldElzU3VibWVudVJvdXRlQWN0aXZlID0gKFxuICB1cmlQYXRoOiBBcHBsaWNhdGlvbk1lbnVQcm9wc1snbWVudSddWydzdWJtZW51J11bbnVtYmVyXVsndXJpUGF0aCddLFxuICBwcm9wczogQXBwbGljYXRpb25NZW51UHJvcHNcbikgPT5cbiAgQm9vbGVhbihcbiAgICBtYXRjaFBhdGgocHJvcHMubG9jYXRpb24ucGF0aG5hbWUsIHtcbiAgICAgIHBhdGg6IGAvJHtwcm9wcy5wcm9qZWN0S2V5fS8ke3VyaVBhdGh9YCxcbiAgICAgIGV4YWN0OiB0cnVlLFxuICAgICAgc3RyaWN0OiBmYWxzZSxcbiAgICB9KVxuICApO1xuXG5leHBvcnQgY29uc3QgQXBwbGljYXRpb25NZW51ID0gKHByb3BzOiBBcHBsaWNhdGlvbk1lbnVQcm9wcykgPT4ge1xuICBjb25zdCBbc3VibWVudVZlcnRpY2FsUG9zaXRpb24sIHNldFN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uXSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBbaXNTdWJtZW51QWJvdmVNZW51SXRlbSwgc2V0SXNTdWJtZW51QWJvdmVNZW51SXRlbV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IHN1Ym1lbnVSZWYgPSB1c2VSZWY8SFRNTFVMaXN0RWxlbWVudD4obnVsbCk7XG5cbiAgY29uc3QgaGFzU3VibWVudSA9XG4gICAgQXJyYXkuaXNBcnJheShwcm9wcy5tZW51LnN1Ym1lbnUpICYmIHByb3BzLm1lbnUuc3VibWVudS5sZW5ndGggPiAwO1xuXG4gIGNvbnN0IG1lbnVJdGVtSWRlbnRpZmllciA9IHNuYWtlQ2FzZShwcm9wcy5tZW51LmtleSk7XG5cbiAgY29uc3QgY2FsbGJhY2tGbjogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayA9IHVzZUNhbGxiYWNrKFxuICAgIChlbnRyaWVzKSA9PiB7XG4gICAgICBjb25zdCBtZW51SXRlbUJvdW5kaW5nQ2xpZW50UmVjdCA9IGRvY3VtZW50XG4gICAgICAgIC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1tZW51aXRlbT1cIiR7bWVudUl0ZW1JZGVudGlmaWVyfVwiXWApXG4gICAgICAgID8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBtZW51SXRlbVRvcCA9IG1lbnVJdGVtQm91bmRpbmdDbGllbnRSZWN0Py50b3AgfHwgMDtcbiAgICAgIGNvbnN0IG1lbnVJdGVtQm90dG9tID0gbWVudUl0ZW1Cb3VuZGluZ0NsaWVudFJlY3Q/LmJvdHRvbSB8fCAwO1xuXG4gICAgICBjb25zdCBbZW50cnldID0gZW50cmllcztcblxuICAgICAgY29uc3QgZG9lc1N1Ym1lbnVGaXRXaXRoaW5WaWV3cG9ydEJlbG93TWVudUl0ZW0gPVxuICAgICAgICBlbnRyeS5ib3VuZGluZ0NsaWVudFJlY3QuaGVpZ2h0ICtcbiAgICAgICAgICAocHJvcHMuaXNNZW51T3BlbiA/IG1lbnVJdGVtVG9wIDogbWVudUl0ZW1Cb3R0b20pID5cbiAgICAgICAgd2luZG93LmlubmVySGVpZ2h0O1xuICAgICAgLy8gaWYgdGhlIHN1Ym1lbnUgZG9lcyBub3QgZml0IGF0IHRoZSBib3R0b20gb2YgdGhlIHZpZXdwb3J0IChiZWxvdyB0aGUgbWVudSBpdGVtKVxuICAgICAgaWYgKGRvZXNTdWJtZW51Rml0V2l0aGluVmlld3BvcnRCZWxvd01lbnVJdGVtKSB7XG4gICAgICAgIHNldElzU3VibWVudUFib3ZlTWVudUl0ZW0odHJ1ZSk7XG4gICAgICAgIHNldFN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uKFxuICAgICAgICAgIHdpbmRvdy5pbm5lckhlaWdodCAtIChwcm9wcy5pc01lbnVPcGVuID8gbWVudUl0ZW1Cb3R0b20gOiBtZW51SXRlbVRvcClcbiAgICAgICAgKTtcbiAgICAgICAgLy8gc2hvdyB0aGUgc3VibWVudSBhYm92ZSB0aGUgbWVudSBpdGVtXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRJc1N1Ym1lbnVBYm92ZU1lbnVJdGVtKGZhbHNlKTtcbiAgICAgICAgc2V0U3VibWVudVZlcnRpY2FsUG9zaXRpb24oXG4gICAgICAgICAgcHJvcHMuaXNNZW51T3BlbiA/IG1lbnVJdGVtVG9wIDogbWVudUl0ZW1Cb3R0b21cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFttZW51SXRlbUlkZW50aWZpZXIsIHByb3BzLmlzTWVudU9wZW5dXG4gICk7XG5cbiAgY29uc3Qgb2JzZXJ2ZXJSZWYgPSB1c2VSZWY8SW50ZXJzZWN0aW9uT2JzZXJ2ZXIgfCBudWxsPihudWxsKTtcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIG9ic2VydmVyUmVmLmN1cnJlbnQgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoY2FsbGJhY2tGbiwge1xuICAgICAgcm9vdE1hcmdpbjogJy0xMDAlIDBweCAwcHggMHB4JywgLy8gd2Ugd2FudCB0byBvYnNlcnZlIGlmIHRoZSBzdWJtZW51IGNyb3NzZXMgdGhlIGJvdHRvbSBsaW5lIG9mIHRoZSB2aWV3cG9ydCAtIHRoZXJlZm9yZSB3ZSBzZXQgdGhlIHJvb3QgZWxlbWVudCB0b3AgbWFyZ2luIHRvIC0xMDAlIG9mIHRoZSB2aWV3cG9ydCBoZWlnaHRcbiAgICB9KTtcbiAgICByZXR1cm4gKCkgPT4gb2JzZXJ2ZXJSZWYuY3VycmVudD8uZGlzY29ubmVjdCgpO1xuICB9LCBbY2FsbGJhY2tGbiwgcHJvcHMuaXNNZW51T3Blbl0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY3VycmVudFN1Ym1lbnVSZWYgPSBzdWJtZW51UmVmLmN1cnJlbnQ7XG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBvYnNlcnZlclJlZi5jdXJyZW50O1xuICAgIGlmICghY3VycmVudFN1Ym1lbnVSZWYpIHJldHVybjtcblxuICAgIGlmIChvYnNlcnZlciAmJiBjdXJyZW50U3VibWVudVJlZikge1xuICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShjdXJyZW50U3VibWVudVJlZik7XG4gICAgfVxuICAgIHJldHVybiAoKSA9PiBvYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICB9LCBbXG4gICAgbWVudUl0ZW1JZGVudGlmaWVyLFxuICAgIHByb3BzLmlzTWVudU9wZW4sXG4gICAgcHJvcHMuaGFuZGxlVG9nZ2xlSXRlbSxcbiAgICBjYWxsYmFja0ZuLFxuICBdKTtcblxuICBjb25zdCBpc01haW5NZW51Um91dGVBY3RpdmUgPSBCb29sZWFuKFxuICAgIG1hdGNoUGF0aChwcm9wcy5sb2NhdGlvbi5wYXRobmFtZSwge1xuICAgICAgcGF0aDogYC8ke3Byb3BzLnByb2plY3RLZXl9LyR7cHJvcHMubWVudS51cmlQYXRofWAsXG4gICAgICBleGFjdDogZmFsc2UsXG4gICAgICBzdHJpY3Q6IGZhbHNlLFxuICAgIH0pXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBPbiBmaXJzdCByZW5kZXIsIGNoZWNrIHdoaWNoIG1lbnUgaXMgYWN0aXZlIGZvciB0aGUgY3VycmVudCBhcHBsaWNhdGlvbiBhbmQgZXhwYW5kXG4gICAgLy8gdGhlIHN1Ym1lbnUgYXV0b21hdGljYWxseSB1bmxlc3MgdGhlIGFsbCBuYXZiYXIgaXMgY29sbGFwc2VkIG9yIHRoZXJlIGFyZSBubyBzdWJtZW51IGxpbmtzLlxuICAgIGlmIChwcm9wcy5pc01lbnVPcGVuICYmIGlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSAmJiBoYXNTdWJtZW51KSB7XG4gICAgICBwcm9wcy5oYW5kbGVUb2dnbGVJdGVtKCk7XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW3Byb3BzLmlzTWVudU9wZW5dKTsgLy8gPC0tIChyZSlydW4gdGhpcyBvbmx5IHdoZW4gdGhlIGFsbCBtZW51IGV4cGFuZHNcblxuICBjb25zdCBuYW1lc09mTWVudVZpc2liaWxpdGllc09mQWxsU3VibWVudXMgPSBoYXNTdWJtZW51XG4gICAgPyBnZXRNZW51VmlzaWJpbGl0aWVzT2ZTdWJtZW51cyhwcm9wcy5tZW51KVxuICAgIDogZ2V0TWVudVZpc2liaWxpdHlPZk1haW5tZW51KHByb3BzLm1lbnUpO1xuXG4gIHJldHVybiAoXG4gICAgPFJlc3RyaWN0ZWRNZW51SXRlbVxuICAgICAga2V5PXtwcm9wcy5tZW51LmtleX1cbiAgICAgIGtleU9mTWVudUl0ZW09e3Byb3BzLm1lbnUua2V5fVxuICAgICAgZmVhdHVyZVRvZ2dsZT17cHJvcHMubWVudS5mZWF0dXJlVG9nZ2xlID8/IHVuZGVmaW5lZH1cbiAgICAgIHBlcm1pc3Npb25zPXtwcm9wcy5tZW51LnBlcm1pc3Npb25zfVxuICAgICAgYWN0aW9uUmlnaHRzPXtwcm9wcy5tZW51LmFjdGlvblJpZ2h0cyA/PyB1bmRlZmluZWR9XG4gICAgICBkYXRhRmVuY2VzPXtwcm9wcy5tZW51LmRhdGFGZW5jZXMgPz8gdW5kZWZpbmVkfVxuICAgICAgcHJvamVjdFBlcm1pc3Npb25zPXtwcm9wcy5wcm9qZWN0UGVybWlzc2lvbnN9XG4gICAgICBtZW51VmlzaWJpbGl0aWVzPXtwcm9wcy5tZW51VmlzaWJpbGl0aWVzfVxuICAgICAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM9e25hbWVzT2ZNZW51VmlzaWJpbGl0aWVzT2ZBbGxTdWJtZW51c31cbiAgICA+XG4gICAgICA8TWVudUl0ZW1cbiAgICAgICAgaGFzU3VibWVudT17aGFzU3VibWVudX1cbiAgICAgICAgaXNBY3RpdmU9e3Byb3BzLmlzQWN0aXZlfVxuICAgICAgICBpc01haW5NZW51Um91dGVBY3RpdmU9e2lzTWFpbk1lbnVSb3V0ZUFjdGl2ZX1cbiAgICAgICAgaXNNZW51T3Blbj17cHJvcHMuaXNNZW51T3Blbn1cbiAgICAgICAgb25DbGljaz17cHJvcHMuaGFuZGxlVG9nZ2xlSXRlbX1cbiAgICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5oYW5kbGVUb2dnbGVJdGVtfVxuICAgICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLnNob3VsZENsb3NlTWVudUZseX1cbiAgICAgICAgaWRlbnRpZmllcj17bWVudUl0ZW1JZGVudGlmaWVyfVxuICAgICAgPlxuICAgICAgICA8TWVudUl0ZW1MaW5rXG4gICAgICAgICAgbGlua1RvPXtgLyR7cHJvcHMucHJvamVjdEtleX0vJHtwcm9wcy5tZW51LnVyaVBhdGh9YH1cbiAgICAgICAgICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M9e3Byb3BzLnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rc31cbiAgICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgID5cbiAgICAgICAgICA8SXRlbUNvbnRhaW5lclxuICAgICAgICAgICAgbGFiZWxBbGxMb2NhbGVzPXtwcm9wcy5tZW51LmxhYmVsQWxsTG9jYWxlc31cbiAgICAgICAgICAgIGRlZmF1bHRMYWJlbD17cHJvcHMubWVudS5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgICBpY29uPXtwcm9wcy5tZW51Lmljb259XG4gICAgICAgICAgICBpc01lbnVPcGVuPXtwcm9wcy5pc01lbnVPcGVufVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvTWVudUl0ZW1MaW5rPlxuICAgICAgICA8TWVudUdyb3VwXG4gICAgICAgICAgaWQ9e2Bncm91cC0ke3Byb3BzLm1lbnUua2V5fWB9XG4gICAgICAgICAgbGV2ZWw9ezJ9XG4gICAgICAgICAgaXNBY3RpdmU9e3Byb3BzLmlzQWN0aXZlfVxuICAgICAgICAgIGlzRXhwYW5kZWQ9e3Byb3BzLmlzTWVudU9wZW59XG4gICAgICAgICAgaGFzU3VibWVudT17aGFzU3VibWVudX1cbiAgICAgICAgICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj17c3VibWVudVZlcnRpY2FsUG9zaXRpb259XG4gICAgICAgICAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT17aXNTdWJtZW51QWJvdmVNZW51SXRlbX1cbiAgICAgICAgICByZWY9e3N1Ym1lbnVSZWZ9XG4gICAgICAgID5cbiAgICAgICAgICB7IXByb3BzLmlzTWVudU9wZW4gJiYgKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1sndG9vbHRpcC1jb250YWluZXInXX1cbiAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgICAgICAgICAgICA/ICdib3R0b20nXG4gICAgICAgICAgICAgICAgICA6ICd0b3AnfTogLSR7RElNRU5TSU9OUy5uYXZNZW51SXRlbUhlaWdodH07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1sndG9vbHRpcCddfVxuICAgICAgICAgICAgICAgIGFyaWEtb3ducz17YGdyb3VwLSR7cHJvcHMubWVudS5rZXl9YH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubWVudS5sYWJlbEFsbExvY2FsZXN9XG4gICAgICAgICAgICAgICAgICBkZWZhdWx0TGFiZWw9e3Byb3BzLm1lbnUuZGVmYXVsdExhYmVsfVxuICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25Mb2NhbGU9e3Byb3BzLmFwcGxpY2F0aW9uTG9jYWxlfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7aGFzU3VibWVudVxuICAgICAgICAgICAgPyBwcm9wcy5tZW51LnN1Ym1lbnUubWFwKChzdWJtZW51OiBUU3VibWVudVdpdGhEZWZhdWx0TGFiZWwpID0+IChcbiAgICAgICAgICAgICAgICA8UmVzdHJpY3RlZE1lbnVJdGVtXG4gICAgICAgICAgICAgICAgICBrZXk9e2Ake3Byb3BzLm1lbnUua2V5fS1zdWJtZW51LSR7c3VibWVudS5rZXl9YH1cbiAgICAgICAgICAgICAgICAgIGtleU9mTWVudUl0ZW09e3N1Ym1lbnUua2V5fVxuICAgICAgICAgICAgICAgICAgZmVhdHVyZVRvZ2dsZT17c3VibWVudS5mZWF0dXJlVG9nZ2xlID8/IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb25zPXtzdWJtZW51LnBlcm1pc3Npb25zfVxuICAgICAgICAgICAgICAgICAgYWN0aW9uUmlnaHRzPXtzdWJtZW51LmFjdGlvblJpZ2h0cyA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICBkYXRhRmVuY2VzPXtzdWJtZW51LmRhdGFGZW5jZXMgPz8gdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgICAgcHJvamVjdFBlcm1pc3Npb25zPXtwcm9wcy5wcm9qZWN0UGVybWlzc2lvbnN9XG4gICAgICAgICAgICAgICAgICBtZW51VmlzaWJpbGl0aWVzPXtwcm9wcy5tZW51VmlzaWJpbGl0aWVzfVxuICAgICAgICAgICAgICAgICAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM9e1xuICAgICAgICAgICAgICAgICAgICBzdWJtZW51Lm1lbnVWaXNpYmlsaXR5XG4gICAgICAgICAgICAgICAgICAgICAgPyBbc3VibWVudS5tZW51VmlzaWJpbGl0eV1cbiAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoc3R5bGVzWydzdWJsaXN0LWl0ZW0nXSwge1xuICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtaXRlbV9fYWN0aXZlJ11dOiBnZXRJc1N1Ym1lbnVSb3V0ZUFjdGl2ZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1Ym1lbnUudXJpUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzXG4gICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGV4dH0+XG4gICAgICAgICAgICAgICAgICAgICAgPE1lbnVJdGVtTGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgbGlua1RvPXtgLyR7cHJvcHMucHJvamVjdEtleX0vJHtzdWJtZW51LnVyaVBhdGh9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIHdhbnQgdG8gdXNlIGFuIGV4YWN0IG1hdGNoaW5nIHN0cmF0ZWd5IHRvIGF2b2lkIG11bHRpcGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBsaW5rcyBtYXRjaGluZyBzdWItcm91dGVzLlxuICAgICAgICAgICAgICAgICAgICAgICAgZXhhY3RNYXRjaFxuICAgICAgICAgICAgICAgICAgICAgICAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMudXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICBpc1N1Ym1lbnVMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPE1lbnVMYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbEFsbExvY2FsZXM9e3N1Ym1lbnUubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0TGFiZWw9e3N1Ym1lbnUuZGVmYXVsdExhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvTWVudUl0ZW1MaW5rPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC9SZXN0cmljdGVkTWVudUl0ZW0+XG4gICAgICAgICAgICAgICkpXG4gICAgICAgICAgICA6IG51bGx9XG4gICAgICAgIDwvTWVudUdyb3VwPlxuICAgICAgPC9NZW51SXRlbT5cbiAgICA8L1Jlc3RyaWN0ZWRNZW51SXRlbT5cbiAgKTtcbn07XG5BcHBsaWNhdGlvbk1lbnUuZGlzcGxheU5hbWUgPSAnQXBwbGljYXRpb25NZW51JztcblxuZXhwb3J0IHR5cGUgVE5hdmJhclByb3BzID0ge1xuICBhcHBsaWNhdGlvbkxvY2FsZT86IHN0cmluZztcbiAgcHJvamVjdEtleTogc3RyaW5nO1xuICBlbnZpcm9ubWVudDogVEFwcGxpY2F0aW9uQ29udGV4dDx7XG4gICAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPzogYm9vbGVhbjtcbiAgfT5bJ2Vudmlyb25tZW50J107XG4gIHByb2plY3Q6IFRGZXRjaFByb2plY3RRdWVyeVsncHJvamVjdCddO1xuICBvbk1lbnVJdGVtQ2xpY2s/OiBNZW51SXRlbUxpbmtQcm9wc1snb25DbGljayddO1xuICBpc0xvYWRpbmc6IGJvb2xlYW47XG4gIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHk6IGJvb2xlYW47XG59O1xuY29uc3QgTmF2QmFyID0gKHByb3BzOiBUTmF2YmFyUHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIG5hdkJhck5vZGUsXG4gICAgaXNNZW51T3BlbixcbiAgICBpc0V4cGFuZGVyVmlzaWJsZSxcbiAgICBhY3RpdmVJdGVtSW5kZXgsXG4gICAgaGFuZGxlVG9nZ2xlSXRlbSxcbiAgICBoYW5kbGVUb2dnbGVNZW51LFxuICAgIHNob3VsZENsb3NlTWVudUZseSxcbiAgICBhbGxJbnRlcm5hbEFwcGxpY2F0aW9uc05hdmJhck1lbnUsXG4gICAgYWxsQ3VzdG9tQXBwbGljYXRpb25zTmF2YmFyTWVudSxcbiAgfSA9IHVzZU5hdmJhclN0YXRlTWFuYWdlcih7XG4gICAgZW52aXJvbm1lbnQ6IHByb3BzLmVudmlyb25tZW50LFxuICAgIG5ld05hdmlnYXRpb246IHRydWUsXG4gIH0pO1xuICBjb25zdCB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MgPSBCb29sZWFuKFxuICAgIHByb3BzLmVudmlyb25tZW50LnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rc1xuICApO1xuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgY29uc3QgcHJvamVjdFBlcm1pc3Npb25zOiBUUHJvamVjdFBlcm1pc3Npb25zID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgcGVybWlzc2lvbnM6IG5vcm1hbGl6ZUFsbEFwcGxpZWRQZXJtaXNzaW9ucyhcbiAgICAgICAgcHJvcHMucHJvamVjdD8uYWxsUGVybWlzc2lvbnNGb3JBbGxBcHBsaWNhdGlvbnMuYWxsQXBwbGllZFBlcm1pc3Npb25zXG4gICAgICApLFxuICAgICAgYWN0aW9uUmlnaHRzOiBub3JtYWxpemVBbGxBcHBsaWVkQWN0aW9uUmlnaHRzKFxuICAgICAgICBwcm9wcy5wcm9qZWN0Py5hbGxQZXJtaXNzaW9uc0ZvckFsbEFwcGxpY2F0aW9ucy5hbGxBcHBsaWVkQWN0aW9uUmlnaHRzXG4gICAgICApLFxuICAgICAgZGF0YUZlbmNlczogbm9ybWFsaXplQWxsQXBwbGllZERhdGFGZW5jZXMoXG4gICAgICAgIHByb3BzLnByb2plY3Q/LmFsbFBlcm1pc3Npb25zRm9yQWxsQXBwbGljYXRpb25zLmFsbEFwcGxpZWREYXRhRmVuY2VzXG4gICAgICApLFxuICAgIH0pLFxuICAgIFtwcm9wcy5wcm9qZWN0XVxuICApO1xuICBjb25zdCBtZW51VmlzaWJpbGl0aWVzID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgbm9ybWFsaXplQWxsQXBwbGllZE1lbnVWaXNpYmlsaXRpZXMoXG4gICAgICAgIHByb3BzLnByb2plY3Q/LmFsbFBlcm1pc3Npb25zRm9yQWxsQXBwbGljYXRpb25zXG4gICAgICAgICAgLmFsbEFwcGxpZWRNZW51VmlzaWJpbGl0aWVzXG4gICAgICApLFxuICAgIFtwcm9wcy5wcm9qZWN0XVxuICApO1xuXG4gIGNvbnN0IGFwcGxpY2F0aW9uTG9jYWxlID0gcHJvcHMuYXBwbGljYXRpb25Mb2NhbGU7XG5cbiAgLy8gUmVuZGVyIHRoZSBsb2FkaW5nIG5hdmJhciBhcyBsb25nIGFzIGFsbCB0aGUgZGF0YVxuICAvLyBoYXNuJ3QgYmVlbiBsb2FkZWQsIG9yIGlmIHRoZSBwcm9qZWN0IGRvZXMgbm90IGV4aXN0LlxuICBpZiAocHJvcHMuaXNMb2FkaW5nIHx8IHR5cGVvZiBhcHBsaWNhdGlvbkxvY2FsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAvLyBEbyBub3QgcmVuZGVyIGFueXRoaW5nIHVudGlsIHdlIGhhdmUgdGhlIGZlYXR1cmUgZmxhZyByZW1vdGUgdmFsdWUgZmV0Y2hlZCBzb1xuICAgIC8vIHdlIGF2b2lkIGEgZmxpY2sgZWZmZWN0IGluIGNhc2UgaXQgaXMgJ3RydWUnIChkaWZmZXJlbnQgdmFsdWUgZnJvbSB0aGUgZGVmYXVsdCBvbmUpXG4gICAgaWYgKCFwcm9wcy5pc05ld05hdmlnYXRpb25FbmFibGVkRXZhbHVhdGlvblJlYWR5KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIDxOYXZCYXJTa2VsZXRvbiBpc0V4cGFuZGVkPXtpc01lbnVPcGVufSAvPjtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPE5hdkJhckxheW91dCByZWY9e25hdkJhck5vZGV9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snbmF2aWdhdGlvbi1oZWFkZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2ljb24tY29udGFpbmVyJ119PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2ljb24nXX0+XG4gICAgICAgICAgICA8aW1nIHNyYz17TG9nb1NWR30gd2lkdGg9XCIxMDAlXCIgYWx0PVwiTG9nb1wiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7aXNNZW51T3BlbiA/IChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWyd0aXRsZSddfT5NZXJjaGFudCBDZW50ZXI8L2Rpdj5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxNZW51R3JvdXAgaWQ9XCJtYWluXCIgbGV2ZWw9ezF9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydzY3JvbGxhYmxlLW1lbnUnXX0+XG4gICAgICAgICAge2FsbEludGVybmFsQXBwbGljYXRpb25zTmF2YmFyTWVudS5tYXAoKG1lbnUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1lbnVUeXBlID0gJ3Njcm9sbGFibGUnO1xuICAgICAgICAgICAgY29uc3QgaXRlbUluZGV4ID0gYCR7bWVudVR5cGV9LSR7bWVudS5rZXl9YDtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxBcHBsaWNhdGlvbk1lbnVcbiAgICAgICAgICAgICAgICBrZXk9e21lbnUua2V5fVxuICAgICAgICAgICAgICAgIGxvY2F0aW9uPXtsb2NhdGlvbn1cbiAgICAgICAgICAgICAgICBtZW51PXttZW51fVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXthY3RpdmVJdGVtSW5kZXggPT09IGl0ZW1JbmRleH1cbiAgICAgICAgICAgICAgICBoYW5kbGVUb2dnbGVJdGVtPXsoKSA9PiBoYW5kbGVUb2dnbGVJdGVtKGl0ZW1JbmRleCl9XG4gICAgICAgICAgICAgICAgaXNNZW51T3Blbj17aXNNZW51T3Blbn1cbiAgICAgICAgICAgICAgICBzaG91bGRDbG9zZU1lbnVGbHk9e3Nob3VsZENsb3NlTWVudUZseX1cbiAgICAgICAgICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb2plY3RQZXJtaXNzaW9uc31cbiAgICAgICAgICAgICAgICBtZW51VmlzaWJpbGl0aWVzPXttZW51VmlzaWJpbGl0aWVzfVxuICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXthcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9wcy5wcm9qZWN0S2V5fVxuICAgICAgICAgICAgICAgIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz17dXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzfVxuICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KX1cbiAgICAgICAgICB7YWxsQ3VzdG9tQXBwbGljYXRpb25zTmF2YmFyTWVudS5tYXAoKG1lbnUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1lbnVUeXBlID0gJ3Njcm9sbGFibGUnO1xuICAgICAgICAgICAgY29uc3QgaXRlbUluZGV4ID0gYCR7bWVudVR5cGV9LSR7bWVudS5rZXl9YDtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxBcHBsaWNhdGlvbk1lbnVcbiAgICAgICAgICAgICAgICBrZXk9e21lbnUua2V5fVxuICAgICAgICAgICAgICAgIGxvY2F0aW9uPXtsb2NhdGlvbn1cbiAgICAgICAgICAgICAgICBtZW51PXttZW51fVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXthY3RpdmVJdGVtSW5kZXggPT09IGl0ZW1JbmRleH1cbiAgICAgICAgICAgICAgICBoYW5kbGVUb2dnbGVJdGVtPXsoKSA9PiBoYW5kbGVUb2dnbGVJdGVtKGl0ZW1JbmRleCl9XG4gICAgICAgICAgICAgICAgaXNNZW51T3Blbj17aXNNZW51T3Blbn1cbiAgICAgICAgICAgICAgICBzaG91bGRDbG9zZU1lbnVGbHk9e3Nob3VsZENsb3NlTWVudUZseX1cbiAgICAgICAgICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb2plY3RQZXJtaXNzaW9uc31cbiAgICAgICAgICAgICAgICBtZW51VmlzaWJpbGl0aWVzPXttZW51VmlzaWJpbGl0aWVzfVxuICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXthcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9wcy5wcm9qZWN0S2V5fVxuICAgICAgICAgICAgICAgIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz17dXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzfVxuICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2ZpeGVkLW1lbnUnXX0+XG4gICAgICAgICAgPEZhZGVkIC8+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snc3VwcG9ydC1tZW51J119PlxuICAgICAgICAgICAgPE1lbnVJdGVtXG4gICAgICAgICAgICAgIGhhc1N1Ym1lbnU9e2ZhbHNlfVxuICAgICAgICAgICAgICBpc0FjdGl2ZT17ZmFsc2V9XG4gICAgICAgICAgICAgIGlzTWVudU9wZW49e2lzTWVudU9wZW59XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICBoYW5kbGVUb2dnbGVJdGVtKCdmaXhlZC1zdXBwb3J0Jyk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17XG4gICAgICAgICAgICAgICAgaXNNZW51T3BlbiA/IHVuZGVmaW5lZCA6ICgpID0+IGhhbmRsZVRvZ2dsZUl0ZW0oJ2ZpeGVkLXN1cHBvcnQnKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17aXNNZW51T3BlbiA/IHVuZGVmaW5lZCA6IHNob3VsZENsb3NlTWVudUZseX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBocmVmPXtTVVBQT1JUX1BPUlRBTF9VUkx9XG4gICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1sndGV4dC1saW5rJ119XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWljb24tdGV4dCddfT5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2ljb24tY29udGFpbmVyJ119PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpY29uJ119PlxuICAgICAgICAgICAgICAgICAgICAgIDxTdXBwb3J0SWNvbiBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAge2lzTWVudU9wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICB7Li4ubWVzc2FnZXNbJ05hdkJhci5NQ1N1cHBvcnQudGl0bGUnXX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxNZW51RXhwYW5kZXJcbiAgICAgICAgICAgIGlzVmlzaWJsZT17aXNFeHBhbmRlclZpc2libGV9XG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVUb2dnbGVNZW51fVxuICAgICAgICAgICAgaXNNZW51T3Blbj17aXNNZW51T3Blbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvTWVudUdyb3VwPlxuICAgIDwvTmF2QmFyTGF5b3V0PlxuICApO1xufTtcbk5hdkJhci5kaXNwbGF5TmFtZSA9ICdOYXZCYXInO1xuXG5leHBvcnQgZGVmYXVsdCBOYXZCYXI7XG4iXX0= */"),
1035
- children: jsx("div", {
1036
- className: styles$3['tooltip'],
1037
- "aria-owns": "group-".concat(props.menu.key),
1038
- children: jsx(MenuLabel$1, {
1039
- labelAllLocales: props.menu.labelAllLocales,
1040
- defaultLabel: props.menu.defaultLabel,
1041
- applicationLocale: props.applicationLocale
1042
- })
1043
- })
1044
- }), hasSubmenu ? _mapInstanceProperty(_context6 = props.menu.submenu).call(_context6, submenu => {
1045
- var _context7, _submenu$featureToggl, _submenu$actionRights, _submenu$dataFences, _context8;
1046
- return jsx(RestrictedMenuItem$1, {
1047
- keyOfMenuItem: submenu.key,
1048
- featureToggle: (_submenu$featureToggl = submenu.featureToggle) !== null && _submenu$featureToggl !== void 0 ? _submenu$featureToggl : undefined,
1049
- permissions: submenu.permissions,
1050
- actionRights: (_submenu$actionRights = submenu.actionRights) !== null && _submenu$actionRights !== void 0 ? _submenu$actionRights : undefined,
1051
- dataFences: (_submenu$dataFences = submenu.dataFences) !== null && _submenu$dataFences !== void 0 ? _submenu$dataFences : undefined,
1052
- projectPermissions: props.projectPermissions,
1053
- menuVisibilities: props.menuVisibilities,
1054
- namesOfMenuVisibilities: submenu.menuVisibility ? [submenu.menuVisibility] : undefined,
1055
- children: jsx("li", {
1056
- className: classnames(styles$3['sublist-item'], {
1057
- [styles$3['sublist-item__active']]: getIsSubmenuRouteActive(submenu.uriPath, props)
1058
- }),
1059
- children: jsx("div", {
1060
- className: styles$3.text,
1061
- children: jsx(MenuItemLink$1, {
1062
- linkTo: _concatInstanceProperty(_context8 = "/".concat(props.projectKey, "/")).call(_context8, submenu.uriPath)
1063
- // We want to use an exact matching strategy to avoid multiple
1064
- // links matching sub-routes.
1065
- ,
1066
- exactMatch: true,
1067
- useFullRedirectsForLinks: props.useFullRedirectsForLinks,
1068
- onClick: props.onMenuItemClick,
1069
- isSubmenuLink: true,
1070
- children: jsx(MenuLabel$1, {
1071
- labelAllLocales: submenu.labelAllLocales,
1072
- defaultLabel: submenu.defaultLabel,
1073
- applicationLocale: props.applicationLocale
1074
- })
1075
- })
1076
- })
1077
- })
1078
- }, _concatInstanceProperty(_context7 = "".concat(props.menu.key, "-submenu-")).call(_context7, submenu.key));
1079
- }) : null]
1080
- })]
1081
- })
1082
- }, props.menu.key);
1083
- };
1084
- ApplicationMenu$1.propTypes = process.env.NODE_ENV !== "production" ? {
1085
- menu: _pt.oneOfType([_pt.any, _pt.shape({
1086
- defaultLabel: _pt.string
1087
- })]).isRequired,
1088
- isActive: _pt.bool.isRequired,
1089
- isMenuOpen: _pt.bool.isRequired,
1090
- shouldCloseMenuFly: _pt.func.isRequired,
1091
- projectPermissions: _pt.shape({
1092
- permissions: _pt.oneOfType([_pt.any, _pt.oneOf([null])]),
1093
- actionRights: _pt.oneOfType([_pt.any, _pt.oneOf([null])]),
1094
- dataFences: _pt.oneOfType([_pt.any, _pt.oneOf([null])])
1095
- }).isRequired,
1096
- menuVisibilities: _pt.oneOfType([_pt.any, _pt.oneOf([null])]),
1097
- handleToggleItem: _pt.func.isRequired,
1098
- applicationLocale: _pt.string.isRequired,
1099
- projectKey: _pt.string.isRequired,
1100
- useFullRedirectsForLinks: _pt.bool.isRequired
1101
- } : {};
1102
- ApplicationMenu$1.displayName = 'ApplicationMenu';
1103
- const NavBar$2 = props => {
1104
- const _useNavbarStateManage = useNavbarStateManager({
1105
- environment: props.environment,
1106
- newNavigation: true
1107
- }),
1108
- navBarNode = _useNavbarStateManage.navBarNode,
1109
- isMenuOpen = _useNavbarStateManage.isMenuOpen,
1110
- isExpanderVisible = _useNavbarStateManage.isExpanderVisible,
1111
- activeItemIndex = _useNavbarStateManage.activeItemIndex,
1112
- handleToggleItem = _useNavbarStateManage.handleToggleItem,
1113
- handleToggleMenu = _useNavbarStateManage.handleToggleMenu,
1114
- shouldCloseMenuFly = _useNavbarStateManage.shouldCloseMenuFly,
1115
- allInternalApplicationsNavbarMenu = _useNavbarStateManage.allInternalApplicationsNavbarMenu,
1116
- allCustomApplicationsNavbarMenu = _useNavbarStateManage.allCustomApplicationsNavbarMenu;
1117
- const useFullRedirectsForLinks = Boolean(props.environment.useFullRedirectsForLinks);
1118
- const location = useLocation();
1119
- const projectPermissions = useMemo(() => {
1120
- var _props$project, _props$project2, _props$project3;
1121
- return {
1122
- permissions: normalizeAllAppliedPermissions((_props$project = props.project) === null || _props$project === void 0 ? void 0 : _props$project.allPermissionsForAllApplications.allAppliedPermissions),
1123
- actionRights: normalizeAllAppliedActionRights((_props$project2 = props.project) === null || _props$project2 === void 0 ? void 0 : _props$project2.allPermissionsForAllApplications.allAppliedActionRights),
1124
- dataFences: normalizeAllAppliedDataFences((_props$project3 = props.project) === null || _props$project3 === void 0 ? void 0 : _props$project3.allPermissionsForAllApplications.allAppliedDataFences)
1125
- };
1126
- }, [props.project]);
1127
- const menuVisibilities = useMemo(() => {
1128
- var _props$project4;
1129
- return normalizeAllAppliedMenuVisibilities((_props$project4 = props.project) === null || _props$project4 === void 0 ? void 0 : _props$project4.allPermissionsForAllApplications.allAppliedMenuVisibilities);
1130
- }, [props.project]);
1131
- const applicationLocale = props.applicationLocale;
1132
-
1133
- // Render the loading navbar as long as all the data
1134
- // hasn't been loaded, or if the project does not exist.
1135
- if (props.isLoading || typeof applicationLocale === 'undefined') {
1136
- // Do not render anything until we have the feature flag remote value fetched so
1137
- // we avoid a flick effect in case it is 'true' (different value from the default one)
1138
- if (!props.isNewNavigationEnabledEvaluationReady) {
1139
- return null;
1140
- }
1141
- return jsx(NavBarSkeleton, {
1142
- isExpanded: isMenuOpen
1143
- });
1144
- }
1145
- return jsxs(NavBarLayout$2, {
1146
- ref: navBarNode,
1147
- children: [jsxs("div", {
1148
- className: styles$3['navigation-header'],
1149
- children: [jsx("div", {
1150
- className: styles$3['icon-container'],
1151
- children: jsx("div", {
1152
- className: styles$3['icon'],
1153
- children: jsx("img", {
1154
- src: LogoSVG,
1155
- width: "100%",
1156
- alt: "Logo"
1157
- })
1158
- })
1159
- }), isMenuOpen ? jsx("div", {
1160
- className: styles$3['title'],
1161
- children: "Merchant Center"
1162
- }) : null]
1163
- }), jsxs(MenuGroup$1, {
1164
- id: "main",
1165
- level: 1,
1166
- children: [jsxs("div", {
1167
- className: styles$3['scrollable-menu'],
1168
- children: [_mapInstanceProperty(allInternalApplicationsNavbarMenu).call(allInternalApplicationsNavbarMenu, menu => {
1169
- const menuType = 'scrollable';
1170
- const itemIndex = "".concat(menuType, "-").concat(menu.key);
1171
- return jsx(ApplicationMenu$1, {
1172
- location: location,
1173
- menu: menu,
1174
- isActive: activeItemIndex === itemIndex,
1175
- handleToggleItem: () => handleToggleItem(itemIndex),
1176
- isMenuOpen: isMenuOpen,
1177
- shouldCloseMenuFly: shouldCloseMenuFly,
1178
- projectPermissions: projectPermissions,
1179
- menuVisibilities: menuVisibilities,
1180
- applicationLocale: applicationLocale,
1181
- projectKey: props.projectKey,
1182
- useFullRedirectsForLinks: useFullRedirectsForLinks,
1183
- onMenuItemClick: props.onMenuItemClick
1184
- }, menu.key);
1185
- }), _mapInstanceProperty(allCustomApplicationsNavbarMenu).call(allCustomApplicationsNavbarMenu, menu => {
1186
- const menuType = 'scrollable';
1187
- const itemIndex = "".concat(menuType, "-").concat(menu.key);
1188
- return jsx(ApplicationMenu$1, {
1189
- location: location,
1190
- menu: menu,
1191
- isActive: activeItemIndex === itemIndex,
1192
- handleToggleItem: () => handleToggleItem(itemIndex),
1193
- isMenuOpen: isMenuOpen,
1194
- shouldCloseMenuFly: shouldCloseMenuFly,
1195
- projectPermissions: projectPermissions,
1196
- menuVisibilities: menuVisibilities,
1197
- applicationLocale: applicationLocale,
1198
- projectKey: props.projectKey,
1199
- useFullRedirectsForLinks: useFullRedirectsForLinks,
1200
- onMenuItemClick: props.onMenuItemClick
1201
- }, menu.key);
1202
- })]
1203
- }), jsxs("div", {
1204
- className: styles$3['fixed-menu'],
1205
- children: [jsx(Faded$1, {}), jsx("div", {
1206
- className: styles$3['support-menu'],
1207
- children: jsx(MenuItem$2, {
1208
- hasSubmenu: false,
1209
- isActive: false,
1210
- isMenuOpen: isMenuOpen,
1211
- onClick: () => {
1212
- handleToggleItem('fixed-support');
1213
- },
1214
- onMouseEnter: isMenuOpen ? undefined : () => handleToggleItem('fixed-support'),
1215
- onMouseLeave: isMenuOpen ? undefined : shouldCloseMenuFly,
1216
- children: jsx("a", {
1217
- href: SUPPORT_PORTAL_URL,
1218
- rel: "noopener noreferrer",
1219
- target: "_blank",
1220
- className: styles$3['text-link'],
1221
- children: jsxs("div", {
1222
- className: styles$3['item-icon-text'],
1223
- children: [jsx("div", {
1224
- className: styles$3['icon-container'],
1225
- children: jsx("div", {
1226
- className: styles$3['icon'],
1227
- children: jsx(SupportIcon, {
1228
- size: "scale"
1229
- })
1230
- })
1231
- }), isMenuOpen ? jsx("div", {
1232
- className: styles$3.title,
1233
- children: jsx(FormattedMessage, _objectSpread$3({}, messages['NavBar.MCSupport.title']))
1234
- }) : null]
1235
- })
1236
- })
1237
- })
1238
- }), jsx(MenuExpander$1, {
1239
- isVisible: isExpanderVisible,
1240
- onClick: handleToggleMenu,
1241
- isMenuOpen: isMenuOpen
1242
- })]
1243
- })]
1244
- })]
1245
- });
1246
- };
1247
- NavBar$2.propTypes = process.env.NODE_ENV !== "production" ? {
1248
- applicationLocale: _pt.string,
1249
- projectKey: _pt.string.isRequired,
1250
- isLoading: _pt.bool.isRequired,
1251
- isNewNavigationEnabledEvaluationReady: _pt.bool.isRequired
1252
- } : {};
1253
- NavBar$2.displayName = 'NavBar';
1254
-
1255
- const useLoadingMenuLayoutEffect = () => {
1256
- const cachedIsForcedMenuOpen = window.localStorage.getItem(STORAGE_KEYS.IS_FORCED_MENU_OPEN);
1257
- const isForcedMenuOpen = isNil(cachedIsForcedMenuOpen) ? null : JSON.parse(cachedIsForcedMenuOpen);
1258
- useLayoutEffect(() => {
1259
- if (isForcedMenuOpen) document.body.classList.add('body__menu-open');
1260
- if (!isForcedMenuOpen) document.body.classList.remove('body__menu-open');
1261
- }, [isForcedMenuOpen]);
1262
- };
1263
-
1264
- const _excluded = ["icon"];
1265
- function ownKeys$2(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1266
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context3 = ownKeys$2(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context4 = ownKeys$2(Object(t))).call(_context4, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
1267
- const compiledStyles$2 = {
1268
- "global": ":root {\n\n /* Left navigation */\n\n /* Active list item with icon text */\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___B11QL {\n display: flex;\n flex-grow: 1;\n width: 64px;\n z-index: 19999;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar);\n}\n\n.navbar-mod__list___xLBjv {\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___GUrXv {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.navbar-mod__list-item___PtOVL {\n width: 64px;\n min-height: 56px;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar);\n margin: 0;\n list-style: none;\n cursor: pointer;\n}\n\n.navbar-mod__item-link___3b3a7 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n padding: var(--spacing-m);\n width: 100%;\n position: relative;\n display: block;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__item-icon-text___ZlMLY {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon___xOiRj {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon___xOiRj > svg *:not([fill='none']) {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n fill: var(--color-for-navbar-icon);\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon__active___8IKeB > svg *:not([fill='none']) {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n fill: var(--color-for-navbar-icon-when-active);\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__title___uOjhW {\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-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n display: none;\n opacity: 0;\n transition: all 0.25s ease-in-out;\n text-align: left;\n text-decoration: none;\n z-index: 1;\n}\n\n.navbar-mod__expander___1CChn {\n border-top: 1px solid var(--color-neutral-40);\n height: 50px;\n display: flex;\n align-items: center;\n justify-content: center;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n}\n\n.navbar-mod__expand-icon___biAt6 {\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___RE98P {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___PtOVL:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-hovered);\n}\n\n.navbar-mod__item__active___S-P3x .navbar-mod__title___uOjhW {\n opacity: 1;\n display: block;\n transition: all 0.2s ease;\n}\n\n.navbar-mod__item_menu-open___4wsej {\n height: auto !important;\n}\n\n/* NO SUBMENU */\n\n.navbar-mod__item_menu-collapsed___SNDmx .navbar-mod__item-link___3b3a7 {\n text-align: center;\n}\n\n.navbar-mod__item__no-submenu___mua5w .navbar-mod__title___uOjhW {\n border-bottom: 0;\n}\n\n.navbar-mod__item__no-submenu___mua5w .navbar-mod__sublist___5VV4O {\n padding-top: 40px;\n}\n\n/* left-nav open */\n\n.body__menu-open .navbar-mod__title___uOjhW {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n font-weight: 500;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n}\n\n.body__menu-open .navbar-mod__left-navigation___B11QL {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n box-shadow: var(--shadow-for-navbar);\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL {\n height: auto;\n min-height: 56px;\n transition: max-height 0.15s ease-out;\n overflow: hidden;\n}\n\n.body__menu-open .navbar-mod__left-navigation___B11QL,\n.body__menu-open .navbar-mod__list-item___PtOVL {\n width: 245px;\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL .navbar-mod__title___uOjhW {\n display: block;\n opacity: 1;\n margin-left: var(--spacing-m);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n}\n\n.navbar-mod__list-item___PtOVL:not(.navbar-mod__item__active___S-P3x):hover .navbar-mod__icon___xOiRj > svg *:not([fill='none']) {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n fill: var(--color-for-navbar-icon-when-active);\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__title___uOjhW:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n}\n\n.navbar-mod__list-item___PtOVL:not(.navbar-mod__item__active___S-P3x):hover .navbar-mod__title___uOjhW {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n}\n\n.body__menu-open .navbar-mod__expand-icon___biAt6 {\n transform: translateX(0) rotateZ(180deg);\n}\n\n.body__menu-open .navbar-mod__item__active___S-P3x {\n max-height: 500px;\n transition: max-height 0.25s ease-in;\n}\n\n.body__menu-open .navbar-mod__sublist___5VV4O {\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___5VV4O.navbar-mod__sublist-no-children___5Bwqb {\n border: 0;\n}\n\n.body__menu-open .navbar-mod__title-copy___SdRqf {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n text-decoration: none;\n transition: all 0.15s ease;\n}\n\n.body__menu-open .navbar-mod__title-copy___SdRqf:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n}\n\n.body__menu-open .navbar-mod__expander___1CChn {\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___5VV4O {\n padding: 75px var(--spacing-l) var(--spacing-m);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n position: absolute;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n top: 0;\n left: 64px;\n list-style: none;\n opacity: 0.01;\n display: none;\n}\n\n.navbar-mod__sublist__inactive___9A4qo {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___d-8UM {\n padding: var(--spacing-s) 0 0;\n}\n\n.navbar-mod__sublist-item___d-8UM:first-of-type {\n padding: 0;\n}\n\n.navbar-mod__sublist-item___d-8UM:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n}\n\n.navbar-mod__text___a585r {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n}\n\n.navbar-mod__text-link___pVuV6 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n text-decoration: none;\n transition: all 0.15s ease;\n}\n\n.navbar-mod__text-link___pVuV6:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n}\n\n/* Item active */\n\n.navbar-mod__item__active___S-P3x,\n.navbar-mod__item_menu__active___c95PT {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar-when-active);\n}\n\n.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY {\n justify-content: flex-start;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon-container___-yU8W {\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___0HE2b .navbar-mod__list-item___PtOVL .navbar-mod__item-icon-text___ZlMLY {\n justify-content: flex-start;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__fixed-menu___0HE2b .navbar-mod__list-item___PtOVL .navbar-mod__icon-container___-yU8W {\n /* empty block */\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY {\n position: relative;\n width: auto;\n}\n\n.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY .navbar-mod__title___uOjhW {\n margin-left: 40px;\n}\n\n.navbar-mod__item_menu-collapsed___SNDmx.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY .navbar-mod__title___uOjhW {\n max-height: 44px;\n overflow: hidden;\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n position: absolute;\n /* `left` and `width` required for displaying focus indicator properly */\n left: 46px;\n width: 166px;\n z-index: 1;\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY .navbar-mod__title___uOjhW {\n margin-left: var(--spacing-m);\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY {\n margin-left: 0;\n}\n\n.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__sublist___5VV4O {\n width: 205px;\n min-height: 100%;\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__sublist___5VV4O {\n width: calc(100% - calc(\n 24px + var(--spacing-m) + 4px + 4px\n ));\n}\n\n.navbar-mod__sublist-expanded__active___Fett-,\n.navbar-mod__sublist-collapsed__active___NPTQn {\n opacity: 1;\n display: unset;\n text-align: left;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-active);\n}\n\n.navbar-mod__sublist-expanded__active___Fett- {\n display: block;\n}\n\n.navbar-mod__highlighted___WWk0R,\n.navbar-mod__highlighted___WWk0R .navbar-mod__title___uOjhW {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-active) !important;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-active);\n}\n\n.navbar-mod__hidden___kfXoC {\n display: none;\n}\n\n.navbar-mod__divider___A9rwl {\n border-top: 1px solid var(--color-neutral-40);\n}\n\n.navbar-mod__loading-dot-container___8P8Tl {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-mod__scrollable-menu___GUrXv {\n flex: 1 1 0;\n padding-bottom: 32px;\n /*\n FIXME: Make the navbar scrollable in collapsed state.\n NOTE: do not use `overflow-x: hidden; overflow-y: auto;` as this prevents submenus from showing up on hover\n */\n}\n\n.navbar-mod__fixed-menu___0HE2b {\n flex: 0 0 0;\n position: relative;\n}\n",
1269
- "jsonMap": {
1270
- "left-navigation": "navbar-mod__left-navigation___B11QL",
1271
- "list": "navbar-mod__list___xLBjv",
1272
- "scrollable-menu": "navbar-mod__scrollable-menu___GUrXv",
1273
- "list-item": "navbar-mod__list-item___PtOVL",
1274
- "item-link": "navbar-mod__item-link___3b3a7",
1275
- "item-icon-text": "navbar-mod__item-icon-text___ZlMLY",
1276
- "icon": "navbar-mod__icon___xOiRj",
1277
- "icon__active": "navbar-mod__icon__active___8IKeB",
1278
- "title": "navbar-mod__title___uOjhW",
1279
- "expander": "navbar-mod__expander___1CChn",
1280
- "expand-icon": "navbar-mod__expand-icon___biAt6",
1281
- "item--bottom": "navbar-mod__item--bottom___RE98P",
1282
- "item__active": "navbar-mod__item__active___S-P3x",
1283
- "item_menu-open": "navbar-mod__item_menu-open___4wsej",
1284
- "item_menu-collapsed": "navbar-mod__item_menu-collapsed___SNDmx",
1285
- "item__no-submenu": "navbar-mod__item__no-submenu___mua5w",
1286
- "sublist": "navbar-mod__sublist___5VV4O",
1287
- "sublist-no-children": "navbar-mod__sublist-no-children___5Bwqb",
1288
- "title-copy": "navbar-mod__title-copy___SdRqf",
1289
- "sublist__inactive": "navbar-mod__sublist__inactive___9A4qo",
1290
- "sublist-item": "navbar-mod__sublist-item___d-8UM",
1291
- "text": "navbar-mod__text___a585r",
1292
- "text-link": "navbar-mod__text-link___pVuV6",
1293
- "item_menu__active": "navbar-mod__item_menu__active___c95PT",
1294
- "icon-container": "navbar-mod__icon-container___-yU8W",
1295
- "fixed-menu": "navbar-mod__fixed-menu___0HE2b",
1296
- "sublist-expanded__active": "navbar-mod__sublist-expanded__active___Fett-",
1297
- "sublist-collapsed__active": "navbar-mod__sublist-collapsed__active___NPTQn",
1298
- "highlighted": "navbar-mod__highlighted___WWk0R",
1299
- "hidden": "navbar-mod__hidden___kfXoC",
1300
- "divider": "navbar-mod__divider___A9rwl",
1301
- "loading-dot-container": "navbar-mod__loading-dot-container___8P8Tl"
1302
- }
1303
- };
1304
- const styles$2 = compiledStyles$2.jsonMap;
1305
- /*
1306
- <DataMenu data={[]}>
1307
- <MenuGroup>
1308
- <MenuItem>
1309
- <MenuItemLink linkTo="/foo">(icon) Products</MenuItemLink>
1310
- <MenuGroup>
1311
- <MenuItemLink linkTo="/foo/new">Add product</MenuItemLink>
1312
- </MenuGroup>
1313
- </MenuItem>
1314
- </MenuGroup>
1315
- <MenuExpander/>
1316
- </DataMenu>
1317
- */
1318
-
1319
- const HeartIcon = /*#__PURE__*/lazy(() => import('./heart-86f780f3.esm.js'));
1320
- const PaperclipIcon = /*#__PURE__*/lazy(() => import('./paperclip-a820ee87.esm.js'));
1321
- const PluginIcon = /*#__PURE__*/lazy(() => import('./plugin-c7bf9e53.esm.js'));
1322
- const RocketIcon = /*#__PURE__*/lazy(() => import('./rocket-bacf24be.esm.js'));
1323
- const StarIcon = /*#__PURE__*/lazy(() => import('./star-af90a9c6.esm.js'));
1324
- const ConnectedSquareIcon = /*#__PURE__*/lazy(() => import('./connected-square-fe6a790f.esm.js'));
1325
- const WorldIcon = /*#__PURE__*/lazy(() => import('./world-523efd61.esm.js'));
1326
- const TreeStructureIcon = /*#__PURE__*/lazy(() => import('./tree-structure-ca0498a0.esm.js'));
1327
- const UserFilledIcon = /*#__PURE__*/lazy(() => import('./user-filled-61d8a81b.esm.js'));
1328
- const SpeedometerIcon = /*#__PURE__*/lazy(() => import('./speedometer-4c8e0b9c.esm.js'));
1329
- const TagMultiIcon = /*#__PURE__*/lazy(() => import('./tag-multi-4c2742de.esm.js'));
1330
- const CartIcon = /*#__PURE__*/lazy(() => import('./cart-bb491ca1.esm.js'));
1331
- const BoxIcon = /*#__PURE__*/lazy(() => import('./box-9cf180c1.esm.js'));
1332
- const GearIcon = /*#__PURE__*/lazy(() => import('./gear-ee90ba83.esm.js'));
1333
- const ListWithSearchIcon = /*#__PURE__*/lazy(() => import('./list-with-search-d2901e34.esm.js'));
1334
- // The icon is expected to be the `svg` document as a string.
1335
- // For backwards compatibility purposes, we still support the legacy "icon name",
1336
- // which we then map to one of the pre-defined icons.
1337
- // Eventually, we want to get rid of this "switch" logic.
1338
- const IconSwitcher = _ref => {
1339
- let icon = _ref.icon,
1340
- iconProps = _objectWithoutProperties(_ref, _excluded);
1341
- if (_includesInstanceProperty(icon).call(icon, '<svg')) {
1342
- return jsx(InlineSvg, _objectSpread$2({
1343
- data: icon
1344
- }, iconProps));
1345
- }
1346
- // Backwards compatibility for apps using the "icon name".
1347
- switch (icon) {
1348
- // Legacy application icons
1349
- // TODO: To be removed once MC applications icons updates are published
1350
- case 'TreeStructureIcon':
1351
- return jsx(TreeStructureIcon, _objectSpread$2({}, iconProps));
1352
- case 'UserFilledIcon':
1353
- return jsx(UserFilledIcon, _objectSpread$2({}, iconProps));
1354
- case 'SpeedometerIcon':
1355
- return jsx(SpeedometerIcon, _objectSpread$2({}, iconProps));
1356
- case 'TagMultiIcon':
1357
- return jsx(TagMultiIcon, _objectSpread$2({}, iconProps));
1358
- case 'CartIcon':
1359
- return jsx(CartIcon, _objectSpread$2({}, iconProps));
1360
- case 'BoxIcon':
1361
- return jsx(BoxIcon, _objectSpread$2({}, iconProps));
1362
- case 'GearIcon':
1363
- return jsx(GearIcon, _objectSpread$2({}, iconProps));
1364
- case 'ListWithSearchIcon':
1365
- return jsx(ListWithSearchIcon, _objectSpread$2({}, iconProps));
1366
-
1367
- // Custom application icons set
1368
- case 'HeartIcon':
1369
- return jsx(HeartIcon, _objectSpread$2({}, iconProps));
1370
- case 'PaperclipIcon':
1371
- return jsx(PaperclipIcon, _objectSpread$2({}, iconProps));
1372
- case 'PluginIcon':
1373
- return jsx(PluginIcon, _objectSpread$2({}, iconProps));
1374
- case 'RocketIcon':
1375
- return jsx(RocketIcon, _objectSpread$2({}, iconProps));
1376
- case 'StarIcon':
1377
- return jsx(StarIcon, _objectSpread$2({}, iconProps));
1378
- case 'ConnectedSquareIcon':
1379
- return jsx(ConnectedSquareIcon, _objectSpread$2({}, iconProps));
1380
- // For backwards compatibility
1381
- case 'WorldIcon':
1382
- return jsx(WorldIcon, _objectSpread$2({}, iconProps));
1383
- default:
1384
- return jsx("img", {
1385
- src: MissingImageSvg,
1386
- alt: "missing icon"
1387
- });
1388
- }
1389
- };
1390
- IconSwitcher.propTypes = process.env.NODE_ENV !== "production" ? {
1391
- icon: _pt.string.isRequired
1392
- } : {};
1393
- IconSwitcher.displayName = 'IconSwitcher';
1394
- const MenuExpander = props => {
1395
- return jsx("li", {
1396
- className: classnames(styles$2['list-item'], styles$2.expander, {
1397
- [styles$2.hidden]: !props.isVisible
1398
- }),
1399
- children: jsx("div", {
1400
- onClick: props.onClick,
1401
- className: styles$2['expand-icon'],
1402
- "data-testid": "menu-expander",
1403
- children: jsx(ArrowRightIcon, {
1404
- color: "surface",
1405
- size: "big"
1406
- })
1407
- })
1408
- }, "expander");
1409
- };
1410
- MenuExpander.propTypes = process.env.NODE_ENV !== "production" ? {
1411
- isVisible: _pt.bool.isRequired,
1412
- onClick: _pt.func.isRequired,
1413
- isMenuOpen: _pt.bool.isRequired
1414
- } : {};
1415
- MenuExpander.displayName = 'MenuExpander';
1416
- const Faded = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
1417
- target: "e7a2vqh0"
1418
- } : {
1419
- target: "e7a2vqh0",
1420
- label: "Faded"
1421
- })("position:absolute;top:-32px;height:32px;width:100%;background:linear-gradient(\n 0deg,\n ", designTokens$1.backgroundColorForNavbar, " 0%,\n rgba(0, 0, 0, 0) 100%\n );z-index:1;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThKd0IiLCJmaWxlIjoibWVudS1pdGVtcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICBsYXp5LFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEdsb2JhbCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgdXNlRmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IHR5cGUgeyBURmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IE5hdkxpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IGRlc2lnblRva2VucyBhcyBhcHBraXREZXNpZ25Ub2tlbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHtcbiAgVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzLFxuICBUTm9ybWFsaXplZFBlcm1pc3Npb25zLFxuICBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyxcbiAgVE5vcm1hbGl6ZWREYXRhRmVuY2VzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCBNaXNzaW5nSW1hZ2VTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9kaWFnb25hbC1saW5lLnN2Zyc7XG5pbXBvcnQgeyBOT19WQUxVRV9GQUxMQkFDSyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSZXN0cmljdGVkQnlQZXJtaXNzaW9ucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3Blcm1pc3Npb25zJztcbmltcG9ydCB7IEFycm93UmlnaHRJY29uLCBCYWNrSWNvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCBJbmxpbmVTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMvaW5saW5lLXN2Zyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbi8qXG48RGF0YU1lbnUgZGF0YT17W119PlxuICA8TWVudUdyb3VwPlxuICAgIDxNZW51SXRlbT5cbiAgICAgIDxNZW51SXRlbUxpbmsgbGlua1RvPVwiL2Zvb1wiPihpY29uKSBQcm9kdWN0czwvTWVudUl0ZW1MaW5rPlxuICAgICAgPE1lbnVHcm91cD5cbiAgICAgICAgPE1lbnVJdGVtTGluayBsaW5rVG89XCIvZm9vL25ld1wiPkFkZCBwcm9kdWN0PC9NZW51SXRlbUxpbms+XG4gICAgICA8L01lbnVHcm91cD5cbiAgICA8L01lbnVJdGVtPlxuICA8L01lbnVHcm91cD5cbiAgPE1lbnVFeHBhbmRlci8+XG48L0RhdGFNZW51PlxuKi9cblxuY29uc3QgSGVhcnRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9oZWFydCcpKTtcbmNvbnN0IFBhcGVyY2xpcEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3BhcGVyY2xpcCcpKTtcbmNvbnN0IFBsdWdpbkljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3BsdWdpbicpKTtcbmNvbnN0IFJvY2tldEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3JvY2tldCcpKTtcbmNvbnN0IFN0YXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9zdGFyJykpO1xuY29uc3QgQ29ubmVjdGVkU3F1YXJlSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2Nvbm5lY3RlZC1zcXVhcmUnKVxuKTtcbmNvbnN0IFdvcmxkSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvd29ybGQnKSk7XG5jb25zdCBUcmVlU3RydWN0dXJlSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdHJlZS1zdHJ1Y3R1cmUnKSk7XG5jb25zdCBVc2VyRmlsbGVkSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdXNlci1maWxsZWQnKSk7XG5jb25zdCBTcGVlZG9tZXRlckljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3NwZWVkb21ldGVyJykpO1xuY29uc3QgVGFnTXVsdGlJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy90YWctbXVsdGknKSk7XG5jb25zdCBDYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvY2FydCcpKTtcbmNvbnN0IEJveEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2JveCcpKTtcbmNvbnN0IEdlYXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9nZWFyJykpO1xuY29uc3QgTGlzdFdpdGhTZWFyY2hJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvbGlzdC13aXRoLXNlYXJjaCcpXG4pO1xuXG50eXBlIEljb25Qcm9wcyA9IFBhcmFtZXRlcnM8dHlwZW9mIEJhY2tJY29uPlswXTtcbnR5cGUgSWNvblN3aXRjaGVyUHJvcHMgPSB7IGljb246IHN0cmluZyB9ICYgSWNvblByb3BzO1xuLy8gVGhlIGljb24gaXMgZXhwZWN0ZWQgdG8gYmUgdGhlIGBzdmdgIGRvY3VtZW50IGFzIGEgc3RyaW5nLlxuLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHB1cnBvc2VzLCB3ZSBzdGlsbCBzdXBwb3J0IHRoZSBsZWdhY3kgXCJpY29uIG5hbWVcIixcbi8vIHdoaWNoIHdlIHRoZW4gbWFwIHRvIG9uZSBvZiB0aGUgcHJlLWRlZmluZWQgaWNvbnMuXG4vLyBFdmVudHVhbGx5LCB3ZSB3YW50IHRvIGdldCByaWQgb2YgdGhpcyBcInN3aXRjaFwiIGxvZ2ljLlxuY29uc3QgSWNvblN3aXRjaGVyID0gKHsgaWNvbiwgLi4uaWNvblByb3BzIH06IEljb25Td2l0Y2hlclByb3BzKSA9PiB7XG4gIGlmIChpY29uLmluY2x1ZGVzKCc8c3ZnJykpIHtcbiAgICByZXR1cm4gPElubGluZVN2ZyBkYXRhPXtpY29ufSB7Li4uaWNvblByb3BzfSAvPjtcbiAgfVxuICAvLyBCYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBmb3IgYXBwcyB1c2luZyB0aGUgXCJpY29uIG5hbWVcIi5cbiAgc3dpdGNoIChpY29uKSB7XG4gICAgLy8gTGVnYWN5IGFwcGxpY2F0aW9uIGljb25zXG4gICAgLy8gVE9ETzogVG8gYmUgcmVtb3ZlZCBvbmNlIE1DIGFwcGxpY2F0aW9ucyBpY29ucyB1cGRhdGVzIGFyZSBwdWJsaXNoZWRcbiAgICBjYXNlICdUcmVlU3RydWN0dXJlSWNvbic6XG4gICAgICByZXR1cm4gPFRyZWVTdHJ1Y3R1cmVJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1VzZXJGaWxsZWRJY29uJzpcbiAgICAgIHJldHVybiA8VXNlckZpbGxlZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3BlZWRvbWV0ZXJJY29uJzpcbiAgICAgIHJldHVybiA8U3BlZWRvbWV0ZXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1RhZ011bHRpSWNvbic6XG4gICAgICByZXR1cm4gPFRhZ011bHRpSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDYXJ0SWNvbic6XG4gICAgICByZXR1cm4gPENhcnRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0JveEljb24nOlxuICAgICAgcmV0dXJuIDxCb3hJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0dlYXJJY29uJzpcbiAgICAgIHJldHVybiA8R2Vhckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnTGlzdFdpdGhTZWFyY2hJY29uJzpcbiAgICAgIHJldHVybiA8TGlzdFdpdGhTZWFyY2hJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuXG4gICAgLy8gQ3VzdG9tIGFwcGxpY2F0aW9uIGljb25zIHNldFxuICAgIGNhc2UgJ0hlYXJ0SWNvbic6XG4gICAgICByZXR1cm4gPEhlYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdQYXBlcmNsaXBJY29uJzpcbiAgICAgIHJldHVybiA8UGFwZXJjbGlwSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdQbHVnaW5JY29uJzpcbiAgICAgIHJldHVybiA8UGx1Z2luSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdSb2NrZXRJY29uJzpcbiAgICAgIHJldHVybiA8Um9ja2V0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdTdGFySWNvbic6XG4gICAgICByZXR1cm4gPFN0YXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0Nvbm5lY3RlZFNxdWFyZUljb24nOlxuICAgICAgcmV0dXJuIDxDb25uZWN0ZWRTcXVhcmVJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIC8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgIGNhc2UgJ1dvcmxkSWNvbic6XG4gICAgICByZXR1cm4gPFdvcmxkSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIDxpbWcgc3JjPXtNaXNzaW5nSW1hZ2VTdmd9IGFsdD1cIm1pc3NpbmcgaWNvblwiIC8+O1xuICB9XG59O1xuSWNvblN3aXRjaGVyLmRpc3BsYXlOYW1lID0gJ0ljb25Td2l0Y2hlcic7XG5cbnR5cGUgTWVudUV4cGFuZGVyUHJvcHMgPSB7XG4gIGlzVmlzaWJsZTogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBpc01lbnVPcGVuOiBib29sZWFuO1xufTtcbmNvbnN0IE1lbnVFeHBhbmRlciA9IChwcm9wczogTWVudUV4cGFuZGVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIGtleT1cImV4cGFuZGVyXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCBzdHlsZXMuZXhwYW5kZXIsIHtcbiAgICAgICAgW3N0eWxlcy5oaWRkZW5dOiAhcHJvcHMuaXNWaXNpYmxlLFxuICAgICAgfSl9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snZXhwYW5kLWljb24nXX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJtZW51LWV4cGFuZGVyXCJcbiAgICAgID5cbiAgICAgICAgey8qXG4gICAgICAgICAgRklYTUU6IGRlZmluZSBob3ZlciBlZmZlY3QuXG4gICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2NvbW1lcmNldG9vbHMvbWVyY2hhbnQtY2VudGVyLWZyb250ZW5kL2lzc3Vlcy8yMjE2XG4gICAgICAgICovfVxuICAgICAgICA8QXJyb3dSaWdodEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgIDBkZWcsXG4gICAgJHthcHBraXREZXNpZ25Ub2tlbnMuYmFja2dyb3VuZENvbG9yRm9yTmF2YmFyfSAwJSxcbiAgICByZ2JhKDAsIDAsIDAsIDApIDEwMCVcbiAgKTtcbiAgei1pbmRleDogMTtcbmA7XG5cbnR5cGUgTWVudUdyb3VwUHJvcHMgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxldmVsOiAxIHwgMjtcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xuICBpc0V4cGFuZGVkPzogYm9vbGVhbjtcbiAgaGFzU3VibWVudT86IGJvb2xlYW47XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICB2ZXJ0aWNhbFBvc2l0aW9uPzogbnVtYmVyO1xufTtcblxuY29uc3QgTWVudUdyb3VwID0gKHByb3BzOiBNZW51R3JvdXBQcm9wcykgPT4ge1xuICBpZiAoXG4gICAgcHJvcHMuaXNFeHBhbmRlZCAmJlxuICAgICgocHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmhhc1N1Ym1lbnUpIHx8XG4gICAgICAocHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmlzQWN0aXZlKSlcbiAgKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgcHJvcHMuaXNFeHBhbmRlZDtcbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmICFwcm9wcy5pc0V4cGFuZGVkO1xuICByZXR1cm4gKFxuICAgIDx1bFxuICAgICAgaWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICBkYXRhLXRlc3RpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9e1xuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkIHx8XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgIHsgW3N0eWxlcy5saXN0XTogcHJvcHMubGV2ZWwgPT09IDEgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QnXV06IHByb3BzLmxldmVsID09PSAyLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1uby1jaGlsZHJlbiddXTogcHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmNoaWxkcmVuLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1leHBhbmRlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuc3VibGlzdF9faW5hY3RpdmVdOiAhaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQsXG4gICAgICAgIH1cbiAgICAgICl9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvdWw+XG4gICk7XG59O1xuTWVudUdyb3VwLmRpc3BsYXlOYW1lID0gJ01lbnVHcm91cCc7XG5cbnR5cGUgTWVudUl0ZW1Qcm9wcyA9IHtcbiAgaGFzU3VibWVudTogYm9vbGVhbjtcbiAgaXNBY3RpdmU6IGJvb2xlYW47XG4gIGlzTWFpbk1lbnVSb3V0ZUFjdGl2ZT86IGJvb2xlYW47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUVudGVyPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlTGVhdmU/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTWVudUl0ZW0gPSAocHJvcHM6IE1lbnVJdGVtUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoc3R5bGVzWydsaXN0LWl0ZW0nXSwge1xuICAgICAgICBbc3R5bGVzLml0ZW1fX2FjdGl2ZV06IHByb3BzLmlzQWN0aXZlLFxuICAgICAgICBbc3R5bGVzWydpdGVtX21lbnVfX2FjdGl2ZSddXTogcHJvcHMuaXNNYWluTWVudVJvdXRlQWN0aXZlID8/IGZhbHNlLFxuICAgICAgICBbc3R5bGVzWydpdGVtX21lbnUtY29sbGFwc2VkJ11dOiAhcHJvcHMuaXNNZW51T3BlbixcbiAgICAgICAgW3N0eWxlc1snaXRlbV9fbm8tc3VibWVudSddXTogIXByb3BzLmhhc1N1Ym1lbnUsXG4gICAgICB9KX1cbiAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICBvbk1vdXNlRW50ZXI9e3Byb3BzLm9uTW91c2VFbnRlcn1cbiAgICAgIG9uTW91c2VMZWF2ZT17cHJvcHMub25Nb3VzZUxlYXZlfVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0tbGluayddfT57cHJvcHMuY2hpbGRyZW59PC9kaXY+XG4gICAgPC9saT5cbiAgKTtcbn07XG5cbk1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtJztcblxuZXhwb3J0IHR5cGUgTWVudUl0ZW1MaW5rUHJvcHMgPSB7XG4gIGxpbmtUbz86IHN0cmluZztcbiAgZXhhY3RNYXRjaDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgb25DbGljaz86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTWVudUl0ZW1MaW5rID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBjb25zdCByZWRpcmVjdFRvID0gKHRhcmdldFVybDogc3RyaW5nKSA9PiBsb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG4gIGlmIChwcm9wcy5saW5rVG8pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE5hdkxpbmtcbiAgICAgICAgdG89e3Byb3BzLmxpbmtUb31cbiAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgIGFjdGl2ZUNsYXNzTmFtZT17c3R5bGVzLmhpZ2hsaWdodGVkfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1sndGV4dC1saW5rJ119XG4gICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChwcm9wcy5saW5rVG8gJiYgcHJvcHMudXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgIH0gZWxzZSBpZiAocHJvcHMub25DbGljaykge1xuICAgICAgICAgICAgZXZlbnQucGVyc2lzdCgpO1xuICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L05hdkxpbms+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbk1lbnVJdGVtTGluay5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbUxpbmsnO1xuTWVudUl0ZW1MaW5rLmRlZmF1bHRQcm9wcyA9IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wcztcblxuY29uc3QgTWVudUl0ZW1EaXZpZGVyID0gKCkgPT4gPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5kaXZpZGVyfSAvPjtcbk1lbnVJdGVtRGl2aWRlci5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbURpdmlkZXInO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxuZXhwb3J0IHtcbiAgUmVzdHJpY3RlZE1lbnVJdGVtLFxuICBNZW51SXRlbSxcbiAgTWVudUl0ZW1MaW5rLFxuICBJY29uU3dpdGNoZXIsXG4gIE1lbnVHcm91cCxcbiAgTWVudUxhYmVsLFxuICBNZW51SXRlbURpdmlkZXIsXG4gIE1lbnVFeHBhbmRlcixcbiAgRmFkZWQsXG4gIE5hdkJhckxheW91dCxcbn07XG4iXX0= */"));
1422
- const MenuGroup = props => {
1423
- if (props.isExpanded && (props.level === 2 && !props.hasSubmenu || props.level === 2 && !props.isActive)) {
1424
- return null;
1425
- }
1426
- const isSublistActiveWhileIsMenuExpanded = props.level === 2 && props.isActive && props.isExpanded;
1427
- const isSublistActiveWhileIsMenuCollapsed = props.level === 2 && props.isActive && !props.isExpanded;
1428
- return jsx("ul", {
1429
- id: "group-".concat(props.id),
1430
- "data-testid": "group-".concat(props.id),
1431
- role: "menu",
1432
- "aria-expanded": isSublistActiveWhileIsMenuExpanded || isSublistActiveWhileIsMenuCollapsed,
1433
- className: classnames({
1434
- [styles$2.list]: props.level === 1
1435
- }, {
1436
- [styles$2['sublist']]: props.level === 2
1437
- }, {
1438
- [styles$2['sublist-no-children']]: props.level === 2 && !props.children
1439
- }, {
1440
- [styles$2['sublist-expanded__active']]: isSublistActiveWhileIsMenuExpanded
1441
- }, {
1442
- [styles$2['sublist-collapsed__active']]: isSublistActiveWhileIsMenuCollapsed
1443
- }, {
1444
- [styles$2.sublist__inactive]: !isSublistActiveWhileIsMenuCollapsed
1445
- }),
1446
- children: props.children
1447
- });
1448
- };
1449
- MenuGroup.propTypes = process.env.NODE_ENV !== "production" ? {
1450
- id: _pt.string.isRequired,
1451
- level: _pt.oneOf([1, 2]).isRequired,
1452
- isActive: _pt.bool,
1453
- isExpanded: _pt.bool,
1454
- hasSubmenu: _pt.bool,
1455
- children: _pt.node,
1456
- verticalPosition: _pt.number
1457
- } : {};
1458
- MenuGroup.displayName = 'MenuGroup';
1459
- const MenuItem = props => {
1460
- var _props$isMainMenuRout;
1461
- return jsx("li", {
1462
- role: "menuitem",
1463
- className: classnames(styles$2['list-item'], {
1464
- [styles$2.item__active]: props.isActive,
1465
- [styles$2['item_menu__active']]: (_props$isMainMenuRout = props.isMainMenuRouteActive) !== null && _props$isMainMenuRout !== void 0 ? _props$isMainMenuRout : false,
1466
- [styles$2['item_menu-collapsed']]: !props.isMenuOpen,
1467
- [styles$2['item__no-submenu']]: !props.hasSubmenu
1468
- }),
1469
- onClick: props.onClick,
1470
- onMouseEnter: props.onMouseEnter,
1471
- onMouseLeave: props.onMouseLeave,
1472
- children: jsx("div", {
1473
- className: styles$2['item-link'],
1474
- children: props.children
1475
- })
1476
- });
1477
- };
1478
- MenuItem.propTypes = process.env.NODE_ENV !== "production" ? {
1479
- hasSubmenu: _pt.bool.isRequired,
1480
- isActive: _pt.bool.isRequired,
1481
- isMainMenuRouteActive: _pt.bool,
1482
- isMenuOpen: _pt.bool.isRequired,
1483
- onClick: _pt.func.isRequired,
1484
- onMouseEnter: _pt.func,
1485
- onMouseLeave: _pt.func,
1486
- children: _pt.node.isRequired
1487
- } : {};
1488
- MenuItem.displayName = 'MenuItem';
1489
- const menuItemLinkDefaultProps = {
1490
- exactMatch: false
1491
- };
1492
- const MenuItemLink = props => {
1493
- const redirectTo = targetUrl => location.replace(targetUrl);
1494
- if (props.linkTo) {
1495
- return jsx(NavLink, {
1496
- to: props.linkTo,
1497
- exact: props.exactMatch,
1498
- activeClassName: styles$2.highlighted,
1499
- className: styles$2['text-link'],
1500
- onClick: event => {
1501
- if (props.linkTo && props.useFullRedirectsForLinks) {
1502
- event.preventDefault();
1503
- redirectTo(props.linkTo);
1504
- } else if (props.onClick) {
1505
- event.persist();
1506
- props.onClick(event);
1507
- }
1508
- },
1509
- children: props.children
1510
- });
1511
- }
1512
- return jsx(Fragment, {
1513
- children: props.children
1514
- });
1515
- };
1516
- MenuItemLink.propTypes = process.env.NODE_ENV !== "production" ? {
1517
- linkTo: _pt.string,
1518
- exactMatch: _pt.bool.isRequired,
1519
- children: _pt.node.isRequired,
1520
- onClick: _pt.func,
1521
- useFullRedirectsForLinks: _pt.bool
1522
- } : {};
1523
- MenuItemLink.displayName = 'MenuItemLink';
1524
- MenuItemLink.defaultProps = menuItemLinkDefaultProps;
1525
- const MenuItemDivider = () => jsx("div", {
1526
- className: styles$2.divider
1527
- });
1528
- MenuItemDivider.displayName = 'MenuItemDivider';
1529
- const isEveryMenuVisibilitySetToHidden = (menuVisibilities, namesOfMenuVisibilities) => _Array$isArray(namesOfMenuVisibilities) && namesOfMenuVisibilities.length > 0 && _everyInstanceProperty(namesOfMenuVisibilities).call(namesOfMenuVisibilities, nameOfMenuVisibility => menuVisibilities && menuVisibilities[nameOfMenuVisibility] === true);
1530
- const restrictedMenuItemDefaultProps = {
1531
- permissions: []
1532
- };
1533
- function isLongLivedFlag(flag) {
1534
- return typeof (flag === null || flag === void 0 ? void 0 : flag.value) === 'boolean';
1535
- }
1536
- const RestrictedMenuItem = props => {
1537
- // NOTE: Custom application are activated/deactivated while their
1538
- // visibility is not controlled via a visibiility overwrite.
1539
- const flagVariation = useFlagVariation(props.featureToggle);
1540
- if (isEveryMenuVisibilitySetToHidden(props.menuVisibilities, props.namesOfMenuVisibilities)) return null;
1541
- const permissionsWrapper = _Array$isArray(props.permissions) && props.permissions.length > 0 || _Array$isArray(props.dataFences) && props.dataFences.length > 0 ? jsx(RestrictedByPermissions, {
1542
- permissions: props.permissions,
1543
- actionRights: props.actionRights,
1544
- dataFences: props.dataFences,
1545
- selectDataFenceData: demandedDataFence => {
1546
- switch (demandedDataFence.type) {
1547
- case 'store':
1548
- return demandedDataFence.actualDataFenceValues;
1549
- default:
1550
- return null;
1551
- }
1552
- }
1553
- // Always check that some of the given permissions match.
1554
- ,
1555
- shouldMatchSomePermissions: true,
1556
- projectPermissions: props.projectPermissions,
1557
- children: props.children
1558
- }) : jsx(Fragment, {
1559
- children: props.children
1560
- });
1561
- if (props.featureToggle) {
1562
- // A regular short-lived feature toggle
1563
- if (flagVariation === true) return permissionsWrapper;
1564
- // A long-lived feature toggle with `{ value: boolean, string: reason }`
1565
- if (isLongLivedFlag(flagVariation) && flagVariation.value === true) return permissionsWrapper;
1566
- return null;
1567
- }
1568
- return permissionsWrapper;
1569
- };
1570
- RestrictedMenuItem.propTypes = process.env.NODE_ENV !== "production" ? {
1571
- featureToggle: _pt.string,
1572
- namesOfMenuVisibilities: _pt.arrayOf(_pt.string),
1573
- projectPermissions: _pt.shape({
1574
- permissions: _pt.oneOfType([_pt.any, _pt.oneOf([null])]),
1575
- actionRights: _pt.oneOfType([_pt.any, _pt.oneOf([null])]),
1576
- dataFences: _pt.oneOfType([_pt.any, _pt.oneOf([null])])
1577
- }).isRequired,
1578
- menuVisibilities: _pt.oneOfType([_pt.any, _pt.oneOf([null])]),
1579
- keyOfMenuItem: _pt.string.isRequired,
1580
- permissions: _pt.arrayOf(_pt.string).isRequired,
1581
- actionRights: _pt.arrayOf(_pt.any),
1582
- dataFences: _pt.arrayOf(_pt.any),
1583
- children: _pt.node.isRequired
1584
- } : {};
1585
- RestrictedMenuItem.displayName = 'RestrictedMenuItem';
1586
- RestrictedMenuItem.defaultProps = restrictedMenuItemDefaultProps;
1587
- const MenuLabel = props => {
1588
- var _context;
1589
- const localizedLabel = _findInstanceProperty(_context = props.labelAllLocales).call(_context, loc => {
1590
- var _context2;
1591
- return _startsWithInstanceProperty(_context2 = props.applicationLocale).call(_context2, loc.locale);
1592
- });
1593
- if (localizedLabel) return jsx(Fragment, {
1594
- children: localizedLabel.value
1595
- });
1596
- if (props.defaultLabel) return jsx(Fragment, {
1597
- children: props.defaultLabel
1598
- });
1599
- return jsx(Fragment, {
1600
- children: NO_VALUE_FALLBACK
1601
- });
1602
- };
1603
- MenuLabel.propTypes = {
1604
- labelAllLocales: _pt.arrayOf(_pt.any).isRequired,
1605
- defaultLabel: _pt.string,
1606
- applicationLocale: _pt.string.isRequired
1607
- };
1608
- const NavBarLayout = /*#__PURE__*/forwardRef((props, ref) => jsxs(Fragment, {
1609
- children: [jsx(Global, {
1610
- styles: /*#__PURE__*/css(compiledStyles$2.global, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:NavBarLayout;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJabUIiLCJmaWxlIjoibWVudS1pdGVtcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICBsYXp5LFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEdsb2JhbCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgdXNlRmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IHR5cGUgeyBURmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IE5hdkxpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IGRlc2lnblRva2VucyBhcyBhcHBraXREZXNpZ25Ub2tlbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHtcbiAgVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzLFxuICBUTm9ybWFsaXplZFBlcm1pc3Npb25zLFxuICBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyxcbiAgVE5vcm1hbGl6ZWREYXRhRmVuY2VzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCBNaXNzaW5nSW1hZ2VTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9kaWFnb25hbC1saW5lLnN2Zyc7XG5pbXBvcnQgeyBOT19WQUxVRV9GQUxMQkFDSyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSZXN0cmljdGVkQnlQZXJtaXNzaW9ucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3Blcm1pc3Npb25zJztcbmltcG9ydCB7IEFycm93UmlnaHRJY29uLCBCYWNrSWNvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCBJbmxpbmVTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMvaW5saW5lLXN2Zyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbi8qXG48RGF0YU1lbnUgZGF0YT17W119PlxuICA8TWVudUdyb3VwPlxuICAgIDxNZW51SXRlbT5cbiAgICAgIDxNZW51SXRlbUxpbmsgbGlua1RvPVwiL2Zvb1wiPihpY29uKSBQcm9kdWN0czwvTWVudUl0ZW1MaW5rPlxuICAgICAgPE1lbnVHcm91cD5cbiAgICAgICAgPE1lbnVJdGVtTGluayBsaW5rVG89XCIvZm9vL25ld1wiPkFkZCBwcm9kdWN0PC9NZW51SXRlbUxpbms+XG4gICAgICA8L01lbnVHcm91cD5cbiAgICA8L01lbnVJdGVtPlxuICA8L01lbnVHcm91cD5cbiAgPE1lbnVFeHBhbmRlci8+XG48L0RhdGFNZW51PlxuKi9cblxuY29uc3QgSGVhcnRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9oZWFydCcpKTtcbmNvbnN0IFBhcGVyY2xpcEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3BhcGVyY2xpcCcpKTtcbmNvbnN0IFBsdWdpbkljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3BsdWdpbicpKTtcbmNvbnN0IFJvY2tldEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3JvY2tldCcpKTtcbmNvbnN0IFN0YXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9zdGFyJykpO1xuY29uc3QgQ29ubmVjdGVkU3F1YXJlSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2Nvbm5lY3RlZC1zcXVhcmUnKVxuKTtcbmNvbnN0IFdvcmxkSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvd29ybGQnKSk7XG5jb25zdCBUcmVlU3RydWN0dXJlSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdHJlZS1zdHJ1Y3R1cmUnKSk7XG5jb25zdCBVc2VyRmlsbGVkSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvdXNlci1maWxsZWQnKSk7XG5jb25zdCBTcGVlZG9tZXRlckljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL3NwZWVkb21ldGVyJykpO1xuY29uc3QgVGFnTXVsdGlJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy90YWctbXVsdGknKSk7XG5jb25zdCBDYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvY2FydCcpKTtcbmNvbnN0IEJveEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vbGVnYWN5LWljb25zL2JveCcpKTtcbmNvbnN0IEdlYXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL2xlZ2FjeS1pY29ucy9nZWFyJykpO1xuY29uc3QgTGlzdFdpdGhTZWFyY2hJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuLi9sZWdhY3ktaWNvbnMvbGlzdC13aXRoLXNlYXJjaCcpXG4pO1xuXG50eXBlIEljb25Qcm9wcyA9IFBhcmFtZXRlcnM8dHlwZW9mIEJhY2tJY29uPlswXTtcbnR5cGUgSWNvblN3aXRjaGVyUHJvcHMgPSB7IGljb246IHN0cmluZyB9ICYgSWNvblByb3BzO1xuLy8gVGhlIGljb24gaXMgZXhwZWN0ZWQgdG8gYmUgdGhlIGBzdmdgIGRvY3VtZW50IGFzIGEgc3RyaW5nLlxuLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHB1cnBvc2VzLCB3ZSBzdGlsbCBzdXBwb3J0IHRoZSBsZWdhY3kgXCJpY29uIG5hbWVcIixcbi8vIHdoaWNoIHdlIHRoZW4gbWFwIHRvIG9uZSBvZiB0aGUgcHJlLWRlZmluZWQgaWNvbnMuXG4vLyBFdmVudHVhbGx5LCB3ZSB3YW50IHRvIGdldCByaWQgb2YgdGhpcyBcInN3aXRjaFwiIGxvZ2ljLlxuY29uc3QgSWNvblN3aXRjaGVyID0gKHsgaWNvbiwgLi4uaWNvblByb3BzIH06IEljb25Td2l0Y2hlclByb3BzKSA9PiB7XG4gIGlmIChpY29uLmluY2x1ZGVzKCc8c3ZnJykpIHtcbiAgICByZXR1cm4gPElubGluZVN2ZyBkYXRhPXtpY29ufSB7Li4uaWNvblByb3BzfSAvPjtcbiAgfVxuICAvLyBCYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBmb3IgYXBwcyB1c2luZyB0aGUgXCJpY29uIG5hbWVcIi5cbiAgc3dpdGNoIChpY29uKSB7XG4gICAgLy8gTGVnYWN5IGFwcGxpY2F0aW9uIGljb25zXG4gICAgLy8gVE9ETzogVG8gYmUgcmVtb3ZlZCBvbmNlIE1DIGFwcGxpY2F0aW9ucyBpY29ucyB1cGRhdGVzIGFyZSBwdWJsaXNoZWRcbiAgICBjYXNlICdUcmVlU3RydWN0dXJlSWNvbic6XG4gICAgICByZXR1cm4gPFRyZWVTdHJ1Y3R1cmVJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1VzZXJGaWxsZWRJY29uJzpcbiAgICAgIHJldHVybiA8VXNlckZpbGxlZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3BlZWRvbWV0ZXJJY29uJzpcbiAgICAgIHJldHVybiA8U3BlZWRvbWV0ZXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1RhZ011bHRpSWNvbic6XG4gICAgICByZXR1cm4gPFRhZ011bHRpSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDYXJ0SWNvbic6XG4gICAgICByZXR1cm4gPENhcnRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0JveEljb24nOlxuICAgICAgcmV0dXJuIDxCb3hJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0dlYXJJY29uJzpcbiAgICAgIHJldHVybiA8R2Vhckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnTGlzdFdpdGhTZWFyY2hJY29uJzpcbiAgICAgIHJldHVybiA8TGlzdFdpdGhTZWFyY2hJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuXG4gICAgLy8gQ3VzdG9tIGFwcGxpY2F0aW9uIGljb25zIHNldFxuICAgIGNhc2UgJ0hlYXJ0SWNvbic6XG4gICAgICByZXR1cm4gPEhlYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdQYXBlcmNsaXBJY29uJzpcbiAgICAgIHJldHVybiA8UGFwZXJjbGlwSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdQbHVnaW5JY29uJzpcbiAgICAgIHJldHVybiA8UGx1Z2luSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdSb2NrZXRJY29uJzpcbiAgICAgIHJldHVybiA8Um9ja2V0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdTdGFySWNvbic6XG4gICAgICByZXR1cm4gPFN0YXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0Nvbm5lY3RlZFNxdWFyZUljb24nOlxuICAgICAgcmV0dXJuIDxDb25uZWN0ZWRTcXVhcmVJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIC8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgIGNhc2UgJ1dvcmxkSWNvbic6XG4gICAgICByZXR1cm4gPFdvcmxkSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIDxpbWcgc3JjPXtNaXNzaW5nSW1hZ2VTdmd9IGFsdD1cIm1pc3NpbmcgaWNvblwiIC8+O1xuICB9XG59O1xuSWNvblN3aXRjaGVyLmRpc3BsYXlOYW1lID0gJ0ljb25Td2l0Y2hlcic7XG5cbnR5cGUgTWVudUV4cGFuZGVyUHJvcHMgPSB7XG4gIGlzVmlzaWJsZTogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBpc01lbnVPcGVuOiBib29sZWFuO1xufTtcbmNvbnN0IE1lbnVFeHBhbmRlciA9IChwcm9wczogTWVudUV4cGFuZGVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIGtleT1cImV4cGFuZGVyXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCBzdHlsZXMuZXhwYW5kZXIsIHtcbiAgICAgICAgW3N0eWxlcy5oaWRkZW5dOiAhcHJvcHMuaXNWaXNpYmxlLFxuICAgICAgfSl9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snZXhwYW5kLWljb24nXX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJtZW51LWV4cGFuZGVyXCJcbiAgICAgID5cbiAgICAgICAgey8qXG4gICAgICAgICAgRklYTUU6IGRlZmluZSBob3ZlciBlZmZlY3QuXG4gICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2NvbW1lcmNldG9vbHMvbWVyY2hhbnQtY2VudGVyLWZyb250ZW5kL2lzc3Vlcy8yMjE2XG4gICAgICAgICovfVxuICAgICAgICA8QXJyb3dSaWdodEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgIDBkZWcsXG4gICAgJHthcHBraXREZXNpZ25Ub2tlbnMuYmFja2dyb3VuZENvbG9yRm9yTmF2YmFyfSAwJSxcbiAgICByZ2JhKDAsIDAsIDAsIDApIDEwMCVcbiAgKTtcbiAgei1pbmRleDogMTtcbmA7XG5cbnR5cGUgTWVudUdyb3VwUHJvcHMgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxldmVsOiAxIHwgMjtcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xuICBpc0V4cGFuZGVkPzogYm9vbGVhbjtcbiAgaGFzU3VibWVudT86IGJvb2xlYW47XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICB2ZXJ0aWNhbFBvc2l0aW9uPzogbnVtYmVyO1xufTtcblxuY29uc3QgTWVudUdyb3VwID0gKHByb3BzOiBNZW51R3JvdXBQcm9wcykgPT4ge1xuICBpZiAoXG4gICAgcHJvcHMuaXNFeHBhbmRlZCAmJlxuICAgICgocHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmhhc1N1Ym1lbnUpIHx8XG4gICAgICAocHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmlzQWN0aXZlKSlcbiAgKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgcHJvcHMuaXNFeHBhbmRlZDtcbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmICFwcm9wcy5pc0V4cGFuZGVkO1xuICByZXR1cm4gKFxuICAgIDx1bFxuICAgICAgaWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICBkYXRhLXRlc3RpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9e1xuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkIHx8XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgIHsgW3N0eWxlcy5saXN0XTogcHJvcHMubGV2ZWwgPT09IDEgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QnXV06IHByb3BzLmxldmVsID09PSAyLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1uby1jaGlsZHJlbiddXTogcHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmNoaWxkcmVuLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1leHBhbmRlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuc3VibGlzdF9faW5hY3RpdmVdOiAhaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQsXG4gICAgICAgIH1cbiAgICAgICl9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvdWw+XG4gICk7XG59O1xuTWVudUdyb3VwLmRpc3BsYXlOYW1lID0gJ01lbnVHcm91cCc7XG5cbnR5cGUgTWVudUl0ZW1Qcm9wcyA9IHtcbiAgaGFzU3VibWVudTogYm9vbGVhbjtcbiAgaXNBY3RpdmU6IGJvb2xlYW47XG4gIGlzTWFpbk1lbnVSb3V0ZUFjdGl2ZT86IGJvb2xlYW47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUVudGVyPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlTGVhdmU/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTWVudUl0ZW0gPSAocHJvcHM6IE1lbnVJdGVtUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoc3R5bGVzWydsaXN0LWl0ZW0nXSwge1xuICAgICAgICBbc3R5bGVzLml0ZW1fX2FjdGl2ZV06IHByb3BzLmlzQWN0aXZlLFxuICAgICAgICBbc3R5bGVzWydpdGVtX21lbnVfX2FjdGl2ZSddXTogcHJvcHMuaXNNYWluTWVudVJvdXRlQWN0aXZlID8/IGZhbHNlLFxuICAgICAgICBbc3R5bGVzWydpdGVtX21lbnUtY29sbGFwc2VkJ11dOiAhcHJvcHMuaXNNZW51T3BlbixcbiAgICAgICAgW3N0eWxlc1snaXRlbV9fbm8tc3VibWVudSddXTogIXByb3BzLmhhc1N1Ym1lbnUsXG4gICAgICB9KX1cbiAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICBvbk1vdXNlRW50ZXI9e3Byb3BzLm9uTW91c2VFbnRlcn1cbiAgICAgIG9uTW91c2VMZWF2ZT17cHJvcHMub25Nb3VzZUxlYXZlfVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0tbGluayddfT57cHJvcHMuY2hpbGRyZW59PC9kaXY+XG4gICAgPC9saT5cbiAgKTtcbn07XG5cbk1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtJztcblxuZXhwb3J0IHR5cGUgTWVudUl0ZW1MaW5rUHJvcHMgPSB7XG4gIGxpbmtUbz86IHN0cmluZztcbiAgZXhhY3RNYXRjaDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgb25DbGljaz86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTWVudUl0ZW1MaW5rID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBjb25zdCByZWRpcmVjdFRvID0gKHRhcmdldFVybDogc3RyaW5nKSA9PiBsb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG4gIGlmIChwcm9wcy5saW5rVG8pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE5hdkxpbmtcbiAgICAgICAgdG89e3Byb3BzLmxpbmtUb31cbiAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgIGFjdGl2ZUNsYXNzTmFtZT17c3R5bGVzLmhpZ2hsaWdodGVkfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1sndGV4dC1saW5rJ119XG4gICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChwcm9wcy5saW5rVG8gJiYgcHJvcHMudXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgIH0gZWxzZSBpZiAocHJvcHMub25DbGljaykge1xuICAgICAgICAgICAgZXZlbnQucGVyc2lzdCgpO1xuICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L05hdkxpbms+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbk1lbnVJdGVtTGluay5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbUxpbmsnO1xuTWVudUl0ZW1MaW5rLmRlZmF1bHRQcm9wcyA9IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wcztcblxuY29uc3QgTWVudUl0ZW1EaXZpZGVyID0gKCkgPT4gPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5kaXZpZGVyfSAvPjtcbk1lbnVJdGVtRGl2aWRlci5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbURpdmlkZXInO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxuZXhwb3J0IHtcbiAgUmVzdHJpY3RlZE1lbnVJdGVtLFxuICBNZW51SXRlbSxcbiAgTWVudUl0ZW1MaW5rLFxuICBJY29uU3dpdGNoZXIsXG4gIE1lbnVHcm91cCxcbiAgTWVudUxhYmVsLFxuICBNZW51SXRlbURpdmlkZXIsXG4gIE1lbnVFeHBhbmRlcixcbiAgRmFkZWQsXG4gIE5hdkJhckxheW91dCxcbn07XG4iXX0= */")
1611
- }), jsx("nav", {
1612
- ref: ref,
1613
- className: styles$2['left-navigation'],
1614
- "data-test": "left-navigation",
1615
- "data-testid": "left-navigation",
1616
- children: props.children
1617
- })]
1618
- }));
1619
- NavBarLayout.displayName = 'NavBarLayout';
1620
-
1621
- const compiledStyles$1 = {
1622
- "global": ":root {\n\n /* Left navigation */\n\n /* Active list item with icon text */\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___B11QL {\n display: flex;\n flex-grow: 1;\n width: 64px;\n z-index: 19999;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar);\n}\n\n.navbar-mod__list___xLBjv {\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___GUrXv {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.navbar-mod__list-item___PtOVL {\n width: 64px;\n min-height: 56px;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar);\n margin: 0;\n list-style: none;\n cursor: pointer;\n}\n\n.navbar-mod__item-link___3b3a7 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n padding: var(--spacing-m);\n width: 100%;\n position: relative;\n display: block;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__item-icon-text___ZlMLY {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon___xOiRj {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon___xOiRj > svg *:not([fill='none']) {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n fill: var(--color-for-navbar-icon);\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon__active___8IKeB > svg *:not([fill='none']) {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n fill: var(--color-for-navbar-icon-when-active);\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__title___uOjhW {\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-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n display: none;\n opacity: 0;\n transition: all 0.25s ease-in-out;\n text-align: left;\n text-decoration: none;\n z-index: 1;\n}\n\n.navbar-mod__expander___1CChn {\n border-top: 1px solid var(--color-neutral-40);\n height: 50px;\n display: flex;\n align-items: center;\n justify-content: center;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n}\n\n.navbar-mod__expand-icon___biAt6 {\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___RE98P {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___PtOVL:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-hovered);\n}\n\n.navbar-mod__item__active___S-P3x .navbar-mod__title___uOjhW {\n opacity: 1;\n display: block;\n transition: all 0.2s ease;\n}\n\n.navbar-mod__item_menu-open___4wsej {\n height: auto !important;\n}\n\n/* NO SUBMENU */\n\n.navbar-mod__item_menu-collapsed___SNDmx .navbar-mod__item-link___3b3a7 {\n text-align: center;\n}\n\n.navbar-mod__item__no-submenu___mua5w .navbar-mod__title___uOjhW {\n border-bottom: 0;\n}\n\n.navbar-mod__item__no-submenu___mua5w .navbar-mod__sublist___5VV4O {\n padding-top: 40px;\n}\n\n/* left-nav open */\n\n.body__menu-open .navbar-mod__title___uOjhW {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n font-weight: 500;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n}\n\n.body__menu-open .navbar-mod__left-navigation___B11QL {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n box-shadow: var(--shadow-for-navbar);\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL {\n height: auto;\n min-height: 56px;\n transition: max-height 0.15s ease-out;\n overflow: hidden;\n}\n\n.body__menu-open .navbar-mod__left-navigation___B11QL,\n.body__menu-open .navbar-mod__list-item___PtOVL {\n width: 245px;\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL .navbar-mod__title___uOjhW {\n display: block;\n opacity: 1;\n margin-left: var(--spacing-m);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n}\n\n.navbar-mod__list-item___PtOVL:not(.navbar-mod__item__active___S-P3x):hover .navbar-mod__icon___xOiRj > svg *:not([fill='none']) {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n fill: var(--color-for-navbar-icon-when-active);\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__title___uOjhW:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n}\n\n.navbar-mod__list-item___PtOVL:not(.navbar-mod__item__active___S-P3x):hover .navbar-mod__title___uOjhW {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n}\n\n.body__menu-open .navbar-mod__expand-icon___biAt6 {\n transform: translateX(0) rotateZ(180deg);\n}\n\n.body__menu-open .navbar-mod__item__active___S-P3x {\n max-height: 500px;\n transition: max-height 0.25s ease-in;\n}\n\n.body__menu-open .navbar-mod__sublist___5VV4O {\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___5VV4O.navbar-mod__sublist-no-children___5Bwqb {\n border: 0;\n}\n\n.body__menu-open .navbar-mod__title-copy___SdRqf {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n text-decoration: none;\n transition: all 0.15s ease;\n}\n\n.body__menu-open .navbar-mod__title-copy___SdRqf:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n}\n\n.body__menu-open .navbar-mod__expander___1CChn {\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___5VV4O {\n padding: 75px var(--spacing-l) var(--spacing-m);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n position: absolute;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n top: 0;\n left: 64px;\n list-style: none;\n opacity: 0.01;\n display: none;\n}\n\n.navbar-mod__sublist__inactive___9A4qo {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___d-8UM {\n padding: var(--spacing-s) 0 0;\n}\n\n.navbar-mod__sublist-item___d-8UM:first-of-type {\n padding: 0;\n}\n\n.navbar-mod__sublist-item___d-8UM:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n}\n\n.navbar-mod__text___a585r {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n}\n\n.navbar-mod__text-link___pVuV6 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n text-decoration: none;\n transition: all 0.15s ease;\n}\n\n.navbar-mod__text-link___pVuV6:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n}\n\n/* Item active */\n\n.navbar-mod__item__active___S-P3x,\n.navbar-mod__item_menu__active___c95PT {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar-when-active);\n}\n\n.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY {\n justify-content: flex-start;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon-container___-yU8W {\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___0HE2b .navbar-mod__list-item___PtOVL .navbar-mod__item-icon-text___ZlMLY {\n justify-content: flex-start;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__fixed-menu___0HE2b .navbar-mod__list-item___PtOVL .navbar-mod__icon-container___-yU8W {\n /* empty block */\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY {\n position: relative;\n width: auto;\n}\n\n.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY .navbar-mod__title___uOjhW {\n margin-left: 40px;\n}\n\n.navbar-mod__item_menu-collapsed___SNDmx.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY .navbar-mod__title___uOjhW {\n max-height: 44px;\n overflow: hidden;\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n position: absolute;\n /* `left` and `width` required for displaying focus indicator properly */\n left: 46px;\n width: 166px;\n z-index: 1;\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY .navbar-mod__title___uOjhW {\n margin-left: var(--spacing-m);\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY {\n margin-left: 0;\n}\n\n.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__sublist___5VV4O {\n width: 205px;\n min-height: 100%;\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__sublist___5VV4O {\n width: calc(100% - calc(\n 24px + var(--spacing-m) + 4px + 4px\n ));\n}\n\n.navbar-mod__sublist-expanded__active___Fett-,\n.navbar-mod__sublist-collapsed__active___NPTQn {\n opacity: 1;\n display: unset;\n text-align: left;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-active);\n}\n\n.navbar-mod__sublist-expanded__active___Fett- {\n display: block;\n}\n\n.navbar-mod__highlighted___WWk0R,\n.navbar-mod__highlighted___WWk0R .navbar-mod__title___uOjhW {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-active) !important;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-active);\n}\n\n.navbar-mod__hidden___kfXoC {\n display: none;\n}\n\n.navbar-mod__divider___A9rwl {\n border-top: 1px solid var(--color-neutral-40);\n}\n\n.navbar-mod__loading-dot-container___8P8Tl {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-mod__scrollable-menu___GUrXv {\n flex: 1 1 0;\n padding-bottom: 32px;\n /*\n FIXME: Make the navbar scrollable in collapsed state.\n NOTE: do not use `overflow-x: hidden; overflow-y: auto;` as this prevents submenus from showing up on hover\n */\n}\n\n.navbar-mod__fixed-menu___0HE2b {\n flex: 0 0 0;\n position: relative;\n}\n",
1623
- "jsonMap": {
1624
- "left-navigation": "navbar-mod__left-navigation___B11QL",
1625
- "list": "navbar-mod__list___xLBjv",
1626
- "scrollable-menu": "navbar-mod__scrollable-menu___GUrXv",
1627
- "list-item": "navbar-mod__list-item___PtOVL",
1628
- "item-link": "navbar-mod__item-link___3b3a7",
1629
- "item-icon-text": "navbar-mod__item-icon-text___ZlMLY",
1630
- "icon": "navbar-mod__icon___xOiRj",
1631
- "icon__active": "navbar-mod__icon__active___8IKeB",
1632
- "title": "navbar-mod__title___uOjhW",
1633
- "expander": "navbar-mod__expander___1CChn",
1634
- "expand-icon": "navbar-mod__expand-icon___biAt6",
1635
- "item--bottom": "navbar-mod__item--bottom___RE98P",
1636
- "item__active": "navbar-mod__item__active___S-P3x",
1637
- "item_menu-open": "navbar-mod__item_menu-open___4wsej",
1638
- "item_menu-collapsed": "navbar-mod__item_menu-collapsed___SNDmx",
1639
- "item__no-submenu": "navbar-mod__item__no-submenu___mua5w",
1640
- "sublist": "navbar-mod__sublist___5VV4O",
1641
- "sublist-no-children": "navbar-mod__sublist-no-children___5Bwqb",
1642
- "title-copy": "navbar-mod__title-copy___SdRqf",
1643
- "sublist__inactive": "navbar-mod__sublist__inactive___9A4qo",
1644
- "sublist-item": "navbar-mod__sublist-item___d-8UM",
1645
- "text": "navbar-mod__text___a585r",
1646
- "text-link": "navbar-mod__text-link___pVuV6",
1647
- "item_menu__active": "navbar-mod__item_menu__active___c95PT",
1648
- "icon-container": "navbar-mod__icon-container___-yU8W",
1649
- "fixed-menu": "navbar-mod__fixed-menu___0HE2b",
1650
- "sublist-expanded__active": "navbar-mod__sublist-expanded__active___Fett-",
1651
- "sublist-collapsed__active": "navbar-mod__sublist-collapsed__active___NPTQn",
1652
- "highlighted": "navbar-mod__highlighted___WWk0R",
1653
- "hidden": "navbar-mod__hidden___kfXoC",
1654
- "divider": "navbar-mod__divider___A9rwl",
1655
- "loading-dot-container": "navbar-mod__loading-dot-container___8P8Tl"
1656
- }
1657
- };
1658
- const styles$1 = compiledStyles$1.jsonMap;
1659
- const LoadingNavBar = () => {
1660
- var _context;
1661
- const ref = useRef(null);
1662
- useLoadingMenuLayoutEffect();
1663
- return jsx(NavBarLayout, {
1664
- ref: ref,
1665
- children: jsx(MenuGroup, {
1666
- id: "main",
1667
- level: 1,
1668
- children: jsx(Fragment, {
1669
- children: _mapInstanceProperty(_context = _Array$from(new Array(5))).call(_context, (_, index) => jsx(MenuItem, {
1670
- hasSubmenu: false,
1671
- isMenuOpen: false,
1672
- isActive: false,
1673
- onClick: () => undefined,
1674
- children: jsx("div", {
1675
- className: styles$1['loading-dot-container'],
1676
- "data-testid": "dot-container-".concat(index),
1677
- children: jsx(LoadingPlaceholder, {
1678
- shape: "dot",
1679
- size: "m"
1680
- })
1681
- })
1682
- }, index))
1683
- })
1684
- })
1685
- });
1686
- };
1687
- LoadingNavBar.displayName = 'LoadingNavBar';
1688
-
1689
- function ownKeys$1(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1690
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context8, _context9; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context8 = ownKeys$1(Object(t), !0)).call(_context8, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context9 = ownKeys$1(Object(t))).call(_context9, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
1691
- const compiledStyles = {
1692
- "global": ":root {\n\n /* Left navigation */\n\n /* Active list item with icon text */\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___B11QL {\n display: flex;\n flex-grow: 1;\n width: 64px;\n z-index: 19999;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar);\n}\n\n.navbar-mod__list___xLBjv {\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___GUrXv {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.navbar-mod__list-item___PtOVL {\n width: 64px;\n min-height: 56px;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar);\n margin: 0;\n list-style: none;\n cursor: pointer;\n}\n\n.navbar-mod__item-link___3b3a7 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n padding: var(--spacing-m);\n width: 100%;\n position: relative;\n display: block;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__item-icon-text___ZlMLY {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon___xOiRj {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon___xOiRj > svg *:not([fill='none']) {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n fill: var(--color-for-navbar-icon);\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon__active___8IKeB > svg *:not([fill='none']) {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n fill: var(--color-for-navbar-icon-when-active);\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__title___uOjhW {\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-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n display: none;\n opacity: 0;\n transition: all 0.25s ease-in-out;\n text-align: left;\n text-decoration: none;\n z-index: 1;\n}\n\n.navbar-mod__expander___1CChn {\n border-top: 1px solid var(--color-neutral-40);\n height: 50px;\n display: flex;\n align-items: center;\n justify-content: center;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n}\n\n.navbar-mod__expand-icon___biAt6 {\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___RE98P {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___PtOVL:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-hovered);\n}\n\n.navbar-mod__item__active___S-P3x .navbar-mod__title___uOjhW {\n opacity: 1;\n display: block;\n transition: all 0.2s ease;\n}\n\n.navbar-mod__item_menu-open___4wsej {\n height: auto !important;\n}\n\n/* NO SUBMENU */\n\n.navbar-mod__item_menu-collapsed___SNDmx .navbar-mod__item-link___3b3a7 {\n text-align: center;\n}\n\n.navbar-mod__item__no-submenu___mua5w .navbar-mod__title___uOjhW {\n border-bottom: 0;\n}\n\n.navbar-mod__item__no-submenu___mua5w .navbar-mod__sublist___5VV4O {\n padding-top: 40px;\n}\n\n/* left-nav open */\n\n.body__menu-open .navbar-mod__title___uOjhW {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n font-weight: 500;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n}\n\n.body__menu-open .navbar-mod__left-navigation___B11QL {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n box-shadow: var(--shadow-for-navbar);\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL {\n height: auto;\n min-height: 56px;\n transition: max-height 0.15s ease-out;\n overflow: hidden;\n}\n\n.body__menu-open .navbar-mod__left-navigation___B11QL,\n.body__menu-open .navbar-mod__list-item___PtOVL {\n width: 245px;\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL .navbar-mod__title___uOjhW {\n display: block;\n opacity: 1;\n margin-left: var(--spacing-m);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n}\n\n.navbar-mod__list-item___PtOVL:not(.navbar-mod__item__active___S-P3x):hover .navbar-mod__icon___xOiRj > svg *:not([fill='none']) {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n fill: var(--color-for-navbar-icon-when-active);\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__title___uOjhW:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n}\n\n.navbar-mod__list-item___PtOVL:not(.navbar-mod__item__active___S-P3x):hover .navbar-mod__title___uOjhW {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n}\n\n.body__menu-open .navbar-mod__expand-icon___biAt6 {\n transform: translateX(0) rotateZ(180deg);\n}\n\n.body__menu-open .navbar-mod__item__active___S-P3x {\n max-height: 500px;\n transition: max-height 0.25s ease-in;\n}\n\n.body__menu-open .navbar-mod__sublist___5VV4O {\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___5VV4O.navbar-mod__sublist-no-children___5Bwqb {\n border: 0;\n}\n\n.body__menu-open .navbar-mod__title-copy___SdRqf {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n text-decoration: none;\n transition: all 0.15s ease;\n}\n\n.body__menu-open .navbar-mod__title-copy___SdRqf:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n}\n\n.body__menu-open .navbar-mod__expander___1CChn {\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___5VV4O {\n padding: 75px var(--spacing-l) var(--spacing-m);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n position: absolute;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n top: 0;\n left: 64px;\n list-style: none;\n opacity: 0.01;\n display: none;\n}\n\n.navbar-mod__sublist__inactive___9A4qo {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___d-8UM {\n padding: var(--spacing-s) 0 0;\n}\n\n.navbar-mod__sublist-item___d-8UM:first-of-type {\n padding: 0;\n}\n\n.navbar-mod__sublist-item___d-8UM:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n}\n\n.navbar-mod__text___a585r {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n}\n\n.navbar-mod__text-link___pVuV6 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n text-decoration: none;\n transition: all 0.15s ease;\n}\n\n.navbar-mod__text-link___pVuV6:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n}\n\n/* Item active */\n\n.navbar-mod__item__active___S-P3x,\n.navbar-mod__item_menu__active___c95PT {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar-when-active);\n}\n\n.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY {\n justify-content: flex-start;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon-container___-yU8W {\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___0HE2b .navbar-mod__list-item___PtOVL .navbar-mod__item-icon-text___ZlMLY {\n justify-content: flex-start;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__fixed-menu___0HE2b .navbar-mod__list-item___PtOVL .navbar-mod__icon-container___-yU8W {\n /* empty block */\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY {\n position: relative;\n width: auto;\n}\n\n.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY .navbar-mod__title___uOjhW {\n margin-left: 40px;\n}\n\n.navbar-mod__item_menu-collapsed___SNDmx.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY .navbar-mod__title___uOjhW {\n max-height: 44px;\n overflow: hidden;\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n position: absolute;\n /* `left` and `width` required for displaying focus indicator properly */\n left: 46px;\n width: 166px;\n z-index: 1;\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY .navbar-mod__title___uOjhW {\n margin-left: var(--spacing-m);\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY {\n margin-left: 0;\n}\n\n.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__sublist___5VV4O {\n width: 205px;\n min-height: 100%;\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__sublist___5VV4O {\n width: calc(100% - calc(\n 24px + var(--spacing-m) + 4px + 4px\n ));\n}\n\n.navbar-mod__sublist-expanded__active___Fett-,\n.navbar-mod__sublist-collapsed__active___NPTQn {\n opacity: 1;\n display: unset;\n text-align: left;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-active);\n}\n\n.navbar-mod__sublist-expanded__active___Fett- {\n display: block;\n}\n\n.navbar-mod__highlighted___WWk0R,\n.navbar-mod__highlighted___WWk0R .navbar-mod__title___uOjhW {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-active) !important;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-active);\n}\n\n.navbar-mod__hidden___kfXoC {\n display: none;\n}\n\n.navbar-mod__divider___A9rwl {\n border-top: 1px solid var(--color-neutral-40);\n}\n\n.navbar-mod__loading-dot-container___8P8Tl {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-mod__scrollable-menu___GUrXv {\n flex: 1 1 0;\n padding-bottom: 32px;\n /*\n FIXME: Make the navbar scrollable in collapsed state.\n NOTE: do not use `overflow-x: hidden; overflow-y: auto;` as this prevents submenus from showing up on hover\n */\n}\n\n.navbar-mod__fixed-menu___0HE2b {\n flex: 0 0 0;\n position: relative;\n}\n",
1693
- "jsonMap": {
1694
- "left-navigation": "navbar-mod__left-navigation___B11QL",
1695
- "list": "navbar-mod__list___xLBjv",
1696
- "scrollable-menu": "navbar-mod__scrollable-menu___GUrXv",
1697
- "list-item": "navbar-mod__list-item___PtOVL",
1698
- "item-link": "navbar-mod__item-link___3b3a7",
1699
- "item-icon-text": "navbar-mod__item-icon-text___ZlMLY",
1700
- "icon": "navbar-mod__icon___xOiRj",
1701
- "icon__active": "navbar-mod__icon__active___8IKeB",
1702
- "title": "navbar-mod__title___uOjhW",
1703
- "expander": "navbar-mod__expander___1CChn",
1704
- "expand-icon": "navbar-mod__expand-icon___biAt6",
1705
- "item--bottom": "navbar-mod__item--bottom___RE98P",
1706
- "item__active": "navbar-mod__item__active___S-P3x",
1707
- "item_menu-open": "navbar-mod__item_menu-open___4wsej",
1708
- "item_menu-collapsed": "navbar-mod__item_menu-collapsed___SNDmx",
1709
- "item__no-submenu": "navbar-mod__item__no-submenu___mua5w",
1710
- "sublist": "navbar-mod__sublist___5VV4O",
1711
- "sublist-no-children": "navbar-mod__sublist-no-children___5Bwqb",
1712
- "title-copy": "navbar-mod__title-copy___SdRqf",
1713
- "sublist__inactive": "navbar-mod__sublist__inactive___9A4qo",
1714
- "sublist-item": "navbar-mod__sublist-item___d-8UM",
1715
- "text": "navbar-mod__text___a585r",
1716
- "text-link": "navbar-mod__text-link___pVuV6",
1717
- "item_menu__active": "navbar-mod__item_menu__active___c95PT",
1718
- "icon-container": "navbar-mod__icon-container___-yU8W",
1719
- "fixed-menu": "navbar-mod__fixed-menu___0HE2b",
1720
- "sublist-expanded__active": "navbar-mod__sublist-expanded__active___Fett-",
1721
- "sublist-collapsed__active": "navbar-mod__sublist-collapsed__active___NPTQn",
1722
- "highlighted": "navbar-mod__highlighted___WWk0R",
1723
- "hidden": "navbar-mod__hidden___kfXoC",
1724
- "divider": "navbar-mod__divider___A9rwl",
1725
- "loading-dot-container": "navbar-mod__loading-dot-container___8P8Tl"
1726
- }
1727
- };
1728
- const styles = compiledStyles.jsonMap;
1729
- const getMenuVisibilitiesOfSubmenus = menu => {
1730
- var _context, _context2;
1731
- return _filterInstanceProperty(_context = _mapInstanceProperty(_context2 = menu.submenu).call(_context2, submenu => submenu.menuVisibility)).call(_context, nonNullable);
1732
- };
1733
- const getMenuVisibilityOfMainmenu = menu => menu.menuVisibility ? [menu.menuVisibility] : [];
1734
- const ApplicationMenu = props => {
1735
- var _context3, _props$menu$featureTo, _props$menu$actionRig, _props$menu$dataFence, _context4, _context5;
1736
- const isMainMenuRouteActive = Boolean(matchPath(props.location.pathname, {
1737
- path: _concatInstanceProperty(_context3 = "/".concat(props.projectKey, "/")).call(_context3, props.menu.uriPath),
1738
- exact: false,
1739
- strict: false
1740
- }));
1741
- const hasSubmenu = _Array$isArray(props.menu.submenu) && props.menu.submenu.length > 0;
1742
- useEffect(() => {
1743
- // On first render, check which menu is active for the current application and expand
1744
- // the submenu automatically unless the all navbar is collapsed or there are no submenu links.
1745
- if (props.isMenuOpen && isMainMenuRouteActive && hasSubmenu) {
1746
- props.handleToggleItem();
1747
- }
1748
- // eslint-disable-next-line react-hooks/exhaustive-deps
1749
- }, [props.isMenuOpen]); // <-- (re)run this only when the all menu expands
1750
-
1751
- const namesOfMenuVisibilitiesOfAllSubmenus = hasSubmenu ? getMenuVisibilitiesOfSubmenus(props.menu) : getMenuVisibilityOfMainmenu(props.menu);
1752
- const isMainMenuItemALink =
1753
- // 1. When the navbar is collapsed
1754
- !props.isMenuOpen ||
1755
- // 2. When there is no submenu
1756
- !hasSubmenu ||
1757
- // 3. When the submenu group is active/visible
1758
- props.isActive;
1759
- return jsx(RestrictedMenuItem, {
1760
- keyOfMenuItem: props.menu.key,
1761
- featureToggle: (_props$menu$featureTo = props.menu.featureToggle) !== null && _props$menu$featureTo !== void 0 ? _props$menu$featureTo : undefined,
1762
- permissions: props.menu.permissions,
1763
- actionRights: (_props$menu$actionRig = props.menu.actionRights) !== null && _props$menu$actionRig !== void 0 ? _props$menu$actionRig : undefined,
1764
- dataFences: (_props$menu$dataFence = props.menu.dataFences) !== null && _props$menu$dataFence !== void 0 ? _props$menu$dataFence : undefined,
1765
- projectPermissions: props.projectPermissions,
1766
- menuVisibilities: props.menuVisibilities,
1767
- namesOfMenuVisibilities: namesOfMenuVisibilitiesOfAllSubmenus,
1768
- children: jsxs(MenuItem, {
1769
- hasSubmenu: hasSubmenu,
1770
- isActive: props.isActive,
1771
- isMainMenuRouteActive: isMainMenuRouteActive,
1772
- isMenuOpen: props.isMenuOpen,
1773
- onClick: props.handleToggleItem,
1774
- onMouseEnter: props.isMenuOpen ? undefined : props.handleToggleItem,
1775
- onMouseLeave: props.isMenuOpen ? undefined : props.shouldCloseMenuFly,
1776
- children: [jsx(MenuItemLink, {
1777
- linkTo: isMainMenuItemALink ? _concatInstanceProperty(_context4 = "/".concat(props.projectKey, "/")).call(_context4, props.menu.uriPath) : undefined,
1778
- useFullRedirectsForLinks: props.useFullRedirectsForLinks,
1779
- onClick: props.onMenuItemClick,
1780
- children: jsxs("div", {
1781
- className: styles['item-icon-text'],
1782
- children: [jsx("div", {
1783
- className: styles['icon-container'],
1784
- children: jsx("div", {
1785
- className: classnames(styles.icon, {
1786
- [styles.icon__active]: props.isActive || isMainMenuRouteActive
1787
- }),
1788
- children: jsx(IconSwitcher, {
1789
- icon: props.menu.icon,
1790
- size: "scale"
1791
- })
1792
- })
1793
- }), jsx("div", {
1794
- className: styles.title,
1795
- "aria-owns": "group-".concat(props.menu.key),
1796
- children: jsx(MenuLabel, {
1797
- labelAllLocales: props.menu.labelAllLocales,
1798
- defaultLabel: props.menu.defaultLabel,
1799
- applicationLocale: props.applicationLocale
1800
- })
1801
- })]
1802
- })
1803
- }), jsx(MenuGroup, {
1804
- id: props.menu.key,
1805
- level: 2,
1806
- isActive: props.isActive,
1807
- isExpanded: props.isMenuOpen,
1808
- hasSubmenu: hasSubmenu,
1809
- children: hasSubmenu ? _mapInstanceProperty(_context5 = props.menu.submenu).call(_context5, submenu => {
1810
- var _context6, _submenu$featureToggl, _submenu$actionRights, _submenu$dataFences, _context7;
1811
- return jsx(RestrictedMenuItem, {
1812
- keyOfMenuItem: submenu.key,
1813
- featureToggle: (_submenu$featureToggl = submenu.featureToggle) !== null && _submenu$featureToggl !== void 0 ? _submenu$featureToggl : undefined,
1814
- permissions: submenu.permissions,
1815
- actionRights: (_submenu$actionRights = submenu.actionRights) !== null && _submenu$actionRights !== void 0 ? _submenu$actionRights : undefined,
1816
- dataFences: (_submenu$dataFences = submenu.dataFences) !== null && _submenu$dataFences !== void 0 ? _submenu$dataFences : undefined,
1817
- projectPermissions: props.projectPermissions,
1818
- menuVisibilities: props.menuVisibilities,
1819
- namesOfMenuVisibilities: submenu.menuVisibility ? [submenu.menuVisibility] : undefined,
1820
- children: jsx("li", {
1821
- className: styles['sublist-item'],
1822
- children: jsx("div", {
1823
- className: styles.text,
1824
- children: jsx(MenuItemLink, {
1825
- linkTo: _concatInstanceProperty(_context7 = "/".concat(props.projectKey, "/")).call(_context7, submenu.uriPath)
1826
- // We want to use an exact matching strategy to avoid multiple
1827
- // links matching sub-routes.
1828
- ,
1829
- exactMatch: true,
1830
- useFullRedirectsForLinks: props.useFullRedirectsForLinks,
1831
- onClick: props.onMenuItemClick,
1832
- children: jsx(MenuLabel, {
1833
- labelAllLocales: submenu.labelAllLocales,
1834
- defaultLabel: submenu.defaultLabel,
1835
- applicationLocale: props.applicationLocale
1836
- })
1837
- })
1838
- })
1839
- })
1840
- }, _concatInstanceProperty(_context6 = "".concat(props.menu.key, "-submenu-")).call(_context6, submenu.key));
1841
- }) : null
1842
- })]
1843
- })
1844
- }, props.menu.key);
1845
- };
1846
- ApplicationMenu.propTypes = process.env.NODE_ENV !== "production" ? {
1847
- menu: _pt.oneOfType([_pt.any, _pt.shape({
1848
- defaultLabel: _pt.string
1849
- })]).isRequired,
1850
- isActive: _pt.bool.isRequired,
1851
- isMenuOpen: _pt.bool.isRequired,
1852
- shouldCloseMenuFly: _pt.func.isRequired,
1853
- projectPermissions: _pt.shape({
1854
- permissions: _pt.oneOfType([_pt.any, _pt.oneOf([null])]),
1855
- actionRights: _pt.oneOfType([_pt.any, _pt.oneOf([null])]),
1856
- dataFences: _pt.oneOfType([_pt.any, _pt.oneOf([null])])
1857
- }).isRequired,
1858
- menuVisibilities: _pt.oneOfType([_pt.any, _pt.oneOf([null])]),
1859
- handleToggleItem: _pt.func.isRequired,
1860
- applicationLocale: _pt.string.isRequired,
1861
- projectKey: _pt.string.isRequired,
1862
- useFullRedirectsForLinks: _pt.bool.isRequired
1863
- } : {};
1864
- ApplicationMenu.displayName = 'ApplicationMenu';
1865
- const NavBar$1 = props => {
1866
- const _useNavbarStateManage = useNavbarStateManager({
1867
- environment: props.environment
1868
- }),
1869
- navBarNode = _useNavbarStateManage.navBarNode,
1870
- isMenuOpen = _useNavbarStateManage.isMenuOpen,
1871
- isExpanderVisible = _useNavbarStateManage.isExpanderVisible,
1872
- activeItemIndex = _useNavbarStateManage.activeItemIndex,
1873
- handleToggleItem = _useNavbarStateManage.handleToggleItem,
1874
- handleToggleMenu = _useNavbarStateManage.handleToggleMenu,
1875
- shouldCloseMenuFly = _useNavbarStateManage.shouldCloseMenuFly,
1876
- allInternalApplicationsNavbarMenu = _useNavbarStateManage.allInternalApplicationsNavbarMenu,
1877
- allCustomApplicationsNavbarMenu = _useNavbarStateManage.allCustomApplicationsNavbarMenu;
1878
- const useFullRedirectsForLinks = Boolean(props.environment.useFullRedirectsForLinks);
1879
- const location = useLocation();
1880
- const projectPermissions = useMemo(() => {
1881
- var _props$project, _props$project2, _props$project3;
1882
- return {
1883
- permissions: normalizeAllAppliedPermissions((_props$project = props.project) === null || _props$project === void 0 ? void 0 : _props$project.allPermissionsForAllApplications.allAppliedPermissions),
1884
- actionRights: normalizeAllAppliedActionRights((_props$project2 = props.project) === null || _props$project2 === void 0 ? void 0 : _props$project2.allPermissionsForAllApplications.allAppliedActionRights),
1885
- dataFences: normalizeAllAppliedDataFences((_props$project3 = props.project) === null || _props$project3 === void 0 ? void 0 : _props$project3.allPermissionsForAllApplications.allAppliedDataFences)
1886
- };
1887
- }, [props.project]);
1888
- const menuVisibilities = useMemo(() => {
1889
- var _props$project4;
1890
- return normalizeAllAppliedMenuVisibilities((_props$project4 = props.project) === null || _props$project4 === void 0 ? void 0 : _props$project4.allPermissionsForAllApplications.allAppliedMenuVisibilities);
1891
- }, [props.project]);
1892
- const applicationLocale = props.applicationLocale;
1893
-
1894
- // Render the loading navbar as long as all the data
1895
- // hasn't been loaded, or if the project does not exist.
1896
- if (props.isLoading || typeof applicationLocale === 'undefined') {
1897
- // Do not render anything until we have the feature flag remote value fetched so
1898
- // we avoid a flick effect in case it is 'true' (different value from the default one)
1899
- if (!props.isNewNavigationEnabledEvaluationReady) {
1900
- return null;
1901
- }
1902
- return jsx(LoadingNavBar, {});
1903
- }
1904
- return jsx(NavBarLayout, {
1905
- ref: navBarNode,
1906
- children: jsxs(MenuGroup, {
1907
- id: "main",
1908
- level: 1,
1909
- children: [jsxs("div", {
1910
- className: styles['scrollable-menu'],
1911
- children: [_mapInstanceProperty(allInternalApplicationsNavbarMenu).call(allInternalApplicationsNavbarMenu, menu => {
1912
- const menuType = 'scrollable';
1913
- const itemIndex = "".concat(menuType, "-").concat(menu.key);
1914
- return jsx(ApplicationMenu, {
1915
- location: location,
1916
- menu: menu,
1917
- isActive: activeItemIndex === itemIndex,
1918
- handleToggleItem: () => handleToggleItem(itemIndex),
1919
- isMenuOpen: isMenuOpen,
1920
- shouldCloseMenuFly: shouldCloseMenuFly,
1921
- projectPermissions: projectPermissions,
1922
- menuVisibilities: menuVisibilities,
1923
- applicationLocale: applicationLocale,
1924
- projectKey: props.projectKey,
1925
- useFullRedirectsForLinks: useFullRedirectsForLinks,
1926
- onMenuItemClick: props.onMenuItemClick
1927
- }, menu.key);
1928
- }), jsx(MenuItemDivider, {}), _mapInstanceProperty(allCustomApplicationsNavbarMenu).call(allCustomApplicationsNavbarMenu, menu => {
1929
- const menuType = 'scrollable';
1930
- const itemIndex = "".concat(menuType, "-").concat(menu.key);
1931
- return jsx(ApplicationMenu, {
1932
- location: location,
1933
- menu: menu,
1934
- isActive: activeItemIndex === itemIndex,
1935
- handleToggleItem: () => handleToggleItem(itemIndex),
1936
- isMenuOpen: isMenuOpen,
1937
- shouldCloseMenuFly: shouldCloseMenuFly,
1938
- projectPermissions: projectPermissions,
1939
- menuVisibilities: menuVisibilities,
1940
- applicationLocale: applicationLocale,
1941
- projectKey: props.projectKey,
1942
- useFullRedirectsForLinks: useFullRedirectsForLinks,
1943
- onMenuItemClick: props.onMenuItemClick
1944
- }, menu.key);
1945
- })]
1946
- }), jsxs("div", {
1947
- className: styles['fixed-menu'],
1948
- children: [jsx(Faded, {}), jsx(MenuItem, {
1949
- hasSubmenu: false,
1950
- isActive: false,
1951
- isMenuOpen: isMenuOpen,
1952
- onClick: () => {
1953
- handleToggleItem('fixed-support');
1954
- },
1955
- onMouseEnter: isMenuOpen ? undefined : () => handleToggleItem('fixed-support'),
1956
- onMouseLeave: isMenuOpen ? undefined : shouldCloseMenuFly,
1957
- children: jsx("a", {
1958
- href: SUPPORT_PORTAL_URL,
1959
- rel: "noopener noreferrer",
1960
- target: "_blank",
1961
- children: jsxs("div", {
1962
- className: styles['item-icon-text'],
1963
- children: [jsx("div", {
1964
- className: styles['icon-container'],
1965
- children: jsx("div", {
1966
- className: classnames(styles.icon, {
1967
- [styles.icon__active]: activeItemIndex === 'fixed-support'
1968
- }),
1969
- children: jsx(SupportIcon, {
1970
- size: "scale"
1971
- })
1972
- })
1973
- }), jsx("div", {
1974
- className: styles.title,
1975
- children: jsx(FormattedMessage, _objectSpread$1({}, messages['NavBar.MCSupport.title']))
1976
- })]
1977
- })
1978
- })
1979
- }), jsx(MenuExpander, {
1980
- isVisible: isExpanderVisible,
1981
- onClick: handleToggleMenu,
1982
- isMenuOpen: isMenuOpen
1983
- })]
1984
- })]
1985
- })
1986
- });
1987
- };
1988
- NavBar$1.propTypes = process.env.NODE_ENV !== "production" ? {
1989
- applicationLocale: _pt.string,
1990
- projectKey: _pt.string.isRequired,
1991
- isLoading: _pt.bool.isRequired,
1992
- isNewNavigationEnabledEvaluationReady: _pt.bool.isRequired
1993
- } : {};
1994
- NavBar$1.displayName = 'NavBar';
1995
-
1996
- function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1997
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
1998
- const NavBar = props => {
1999
- if (!props.isNewNavigationEnabled) {
2000
- return jsx(NavBar$1, _objectSpread({}, props));
2001
- }
2002
- return jsx(NavBar$2, _objectSpread({}, props));
2003
- };
2004
- NavBar.displayName = 'NavBar';
2005
-
2006
- export { NavBar as default };