@commercetools-frontend/application-shell 22.7.1 → 22.8.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.
- package/dist/{application-entry-point-6853f92e.cjs.dev.js → application-entry-point-61deb1f6.cjs.dev.js} +3 -3
- package/dist/{application-entry-point-2bbea741.cjs.prod.js → application-entry-point-90aa1cdb.cjs.prod.js} +3 -3
- package/dist/{application-entry-point-97efa554.esm.js → application-entry-point-bfcf85aa.esm.js} +3 -3
- package/dist/{box-e17daf6c.cjs.prod.js → box-09bf50e1.cjs.prod.js} +2 -2
- package/dist/{box-686bc950.cjs.dev.js → box-4857aa65.cjs.dev.js} +2 -2
- package/dist/{box-6ce924c9.esm.js → box-9cf180c1.esm.js} +2 -2
- package/dist/{cart-f2fc1baf.cjs.prod.js → cart-645074db.cjs.prod.js} +2 -2
- package/dist/{cart-796beed7.cjs.dev.js → cart-b0044279.cjs.dev.js} +2 -2
- package/dist/{cart-3b156a46.esm.js → cart-bb491ca1.esm.js} +2 -2
- package/dist/commercetools-frontend-application-shell.cjs.dev.js +7 -7
- package/dist/commercetools-frontend-application-shell.cjs.prod.js +7 -7
- package/dist/commercetools-frontend-application-shell.esm.js +5 -4
- package/dist/{configure-apollo-99b8a3fe.cjs.dev.js → configure-apollo-459b0dbc.cjs.dev.js} +20 -19
- package/dist/{configure-apollo-2077e9e6.cjs.prod.js → configure-apollo-55d13684.cjs.prod.js} +20 -19
- package/dist/{configure-apollo-8bcf9317.esm.js → configure-apollo-a219411c.esm.js} +20 -19
- package/dist/{connected-square-960e046b.cjs.prod.js → connected-square-2d046cb8.cjs.prod.js} +2 -2
- package/dist/{connected-square-961eb5b6.cjs.dev.js → connected-square-a2fea344.cjs.dev.js} +2 -2
- package/dist/{connected-square-f34a98ff.esm.js → connected-square-fe6a790f.esm.js} +2 -2
- package/dist/{constants-a09fbec1.esm.js → constants-0b9c2426.esm.js} +10 -2
- package/dist/{constants-a1140922.cjs.dev.js → constants-0da1db32.cjs.prod.js} +10 -1
- package/dist/{constants-ed10e935.cjs.prod.js → constants-bef5a843.cjs.dev.js} +10 -1
- package/dist/custom-view-dev-host-58d037c2.cjs.dev.js +215 -0
- package/dist/custom-view-dev-host-77fdde9b.esm.js +202 -0
- package/dist/declarations/src/components/app-bar/app-bar.d.ts +1 -0
- package/dist/declarations/src/components/custom-view-dev-host/custom-view-dev-host.d.ts +11 -0
- package/dist/declarations/src/components/custom-view-dev-host/index.d.ts +6 -0
- package/dist/declarations/src/components/custom-view-loader/custom-view-loader.d.ts +8 -0
- package/dist/declarations/src/components/custom-view-loader/index.d.ts +1 -0
- package/dist/declarations/src/components/custom-view-loader/messages.d.ts +7 -0
- package/dist/declarations/src/components/custom-view-shell/custom-view-shell.d.ts +4 -4
- package/dist/declarations/src/components/custom-view-shell-authenticated/custom-view-shell-authenticated.d.ts +2 -1
- package/dist/declarations/src/components/navbar/index.d.ts +2 -98
- package/dist/declarations/src/components/navbar/navbar-new/compiled/navbar.css.json.d.ts +3 -0
- package/dist/declarations/src/components/navbar/navbar-new/menu-items.d.ts +102 -0
- package/dist/declarations/src/components/navbar/navbar-new/navbar.d.ts +48 -0
- package/dist/declarations/src/components/navbar/navbar-old/compiled/navbar.css.json.d.ts +3 -0
- package/dist/declarations/src/components/navbar/{menu-items.d.ts → navbar-old/menu-items.d.ts} +6 -6
- package/dist/declarations/src/components/navbar/navbar-old/navbar.d.ts +48 -0
- package/dist/declarations/src/components/navbar/navbar-old/navbar.styles.d.ts +7 -0
- package/dist/declarations/src/components/navbar/navbar.d.ts +4 -16
- package/dist/declarations/src/components/navbar/use-navbar-state-manager.d.ts +1 -0
- package/dist/declarations/src/components/project-container/index.d.ts +1 -19
- package/dist/declarations/src/constants.d.ts +8 -0
- package/dist/declarations/src/index.d.ts +1 -1
- package/dist/declarations/src/test-utils/custom-views-utils.d.ts +12 -0
- package/dist/declarations/src/test-utils/index.d.ts +1 -0
- package/dist/declarations/src/types/generated/ctp.d.ts +304 -3
- package/dist/declarations/src/types/generated/settings.d.ts +78 -2
- package/dist/{error-apologizer-e5c28e4c.esm.js → error-apologizer-76f087f4.esm.js} +2 -2
- package/dist/{error-apologizer-b3872f4d.cjs.prod.js → error-apologizer-84dc825c.cjs.prod.js} +2 -2
- package/dist/{error-apologizer-c3210e30.cjs.dev.js → error-apologizer-f6793491.cjs.dev.js} +2 -2
- package/dist/{gear-9b394c43.cjs.prod.js → gear-4f7cde98.cjs.prod.js} +2 -2
- package/dist/{gear-1f381738.esm.js → gear-ee90ba83.esm.js} +2 -2
- package/dist/{gear-ab1f6210.cjs.dev.js → gear-f2668579.cjs.dev.js} +2 -2
- package/dist/{heart-a6e7ccf9.cjs.dev.js → heart-01f01038.cjs.prod.js} +2 -2
- package/dist/{heart-be7c779b.esm.js → heart-86f780f3.esm.js} +2 -2
- package/dist/{heart-ebfab4cd.cjs.prod.js → heart-e49dd92a.cjs.dev.js} +2 -2
- package/dist/{index-6c0bc333.cjs.dev.js → index-0f5381b1.cjs.dev.js} +282 -156
- package/dist/{index-975c5225.esm.js → index-519cff4b.esm.js} +284 -157
- package/dist/{index-f85c276c.cjs.prod.js → index-e8c02aca.cjs.prod.js} +221 -127
- package/dist/{list-with-search-b5e9ae1b.cjs.dev.js → list-with-search-027ab8eb.cjs.dev.js} +2 -2
- package/dist/{list-with-search-e3ccba98.cjs.prod.js → list-with-search-6462447e.cjs.prod.js} +2 -2
- package/dist/{list-with-search-3341bbf7.esm.js → list-with-search-d2901e34.esm.js} +2 -2
- package/dist/navbar-8102a43b.esm.js +1991 -0
- package/dist/navbar-89b2edc4.cjs.dev.js +2021 -0
- package/dist/navbar-a29ebdeb.cjs.prod.js +1834 -0
- package/dist/{oidc-244125d3.cjs.dev.js → oidc-97f361cb.cjs.dev.js} +1 -1
- package/dist/{oidc-a780f067.cjs.prod.js → oidc-a55e3dd9.cjs.prod.js} +1 -1
- package/dist/{oidc-callback-7c234583.cjs.prod.js → oidc-callback-6415bb71.cjs.prod.js} +6 -5
- package/dist/{oidc-callback-7221e7d2.esm.js → oidc-callback-80314ba9.esm.js} +6 -5
- package/dist/{oidc-callback-80416189.cjs.dev.js → oidc-callback-ff8e12ba.cjs.dev.js} +6 -5
- package/dist/{oidc-c4e99cfc.esm.js → oidc-db881d40.esm.js} +1 -1
- package/dist/{paperclip-6f0b6ae5.cjs.prod.js → paperclip-005ec544.cjs.dev.js} +2 -2
- package/dist/{paperclip-c76aec52.esm.js → paperclip-a820ee87.esm.js} +2 -2
- package/dist/{paperclip-ec55e4a0.cjs.dev.js → paperclip-fe72a70d.cjs.prod.js} +2 -2
- package/dist/{plugin-16c01245.cjs.dev.js → plugin-81ae1044.cjs.prod.js} +2 -2
- package/dist/{plugin-279f88cd.esm.js → plugin-c7bf9e53.esm.js} +2 -2
- package/dist/{plugin-f199ed20.cjs.prod.js → plugin-feb22442.cjs.dev.js} +2 -2
- package/dist/{project-container-c36e4793.cjs.dev.js → project-container-bc3768d1.cjs.dev.js} +11 -11
- package/dist/{project-container-84c7881c.esm.js → project-container-bd9ab58b.esm.js} +11 -11
- package/dist/{project-container-20379b3d.cjs.prod.js → project-container-e24d4274.cjs.prod.js} +11 -11
- package/dist/{project-expired-fea5a2c6.cjs.dev.js → project-expired-1cf2470b.cjs.dev.js} +8 -7
- package/dist/{project-expired-84871cc1.cjs.prod.js → project-expired-ad577eea.cjs.prod.js} +8 -7
- package/dist/{project-expired-6f9e5ff9.esm.js → project-expired-cd0367e6.esm.js} +8 -7
- package/dist/{project-not-found-763dcf53.esm.js → project-not-found-47fe81e3.esm.js} +8 -7
- package/dist/{project-not-found-e55553d5.cjs.prod.js → project-not-found-531c1f36.cjs.prod.js} +8 -7
- package/dist/{project-not-found-382b664d.cjs.dev.js → project-not-found-bdf80892.cjs.dev.js} +8 -7
- package/dist/{project-not-initialized-8b3d52be.esm.js → project-not-initialized-b632dec8.esm.js} +8 -7
- package/dist/{project-not-initialized-be040234.cjs.prod.js → project-not-initialized-d12db254.cjs.prod.js} +8 -7
- package/dist/{project-not-initialized-aee7541a.cjs.dev.js → project-not-initialized-e903c05c.cjs.dev.js} +8 -7
- package/dist/{project-suspended-02eb3c52.esm.js → project-suspended-33c95408.esm.js} +8 -7
- package/dist/{project-suspended-506c7b5f.cjs.dev.js → project-suspended-5b038275.cjs.dev.js} +8 -7
- package/dist/{project-suspended-2df71dad.cjs.prod.js → project-suspended-65120ddf.cjs.prod.js} +8 -7
- package/dist/{quick-access-e474562c.esm.js → quick-access-134b051c.esm.js} +7 -8
- package/dist/{quick-access-bd5cc59f.cjs.prod.js → quick-access-444ebdce.cjs.prod.js} +7 -8
- package/dist/{quick-access-98ac50ec.cjs.dev.js → quick-access-59d69a96.cjs.dev.js} +7 -8
- package/dist/{redirect-to-login-2b6962dd.esm.js → redirect-to-login-6c90f034.esm.js} +12 -12
- package/dist/{redirect-to-login-cc23cd31.cjs.prod.js → redirect-to-login-bc568233.cjs.prod.js} +12 -12
- package/dist/{redirect-to-login-1e136a4f.cjs.dev.js → redirect-to-login-e4cbcc7a.cjs.dev.js} +12 -12
- package/dist/{redirect-to-logout-47a5daea.esm.js → redirect-to-logout-732ccf57.esm.js} +10 -9
- package/dist/{redirect-to-logout-d6dce2e6.cjs.dev.js → redirect-to-logout-cf0a4d95.cjs.dev.js} +10 -9
- package/dist/{redirect-to-logout-dd88770a.cjs.prod.js → redirect-to-logout-e608f60c.cjs.prod.js} +10 -9
- package/dist/{redirector-f71198cc.cjs.dev.js → redirector-5daa8baa.cjs.dev.js} +2 -2
- package/dist/{redirector-ec9fa17f.cjs.prod.js → redirector-752b4efc.cjs.prod.js} +2 -2
- package/dist/{redirector-368eeb0f.esm.js → redirector-db8b5cd2.esm.js} +2 -2
- package/dist/{requests-in-flight-loader-84434d03.cjs.prod.js → requests-in-flight-loader-a59adc86.cjs.prod.js} +7 -6
- package/dist/{requests-in-flight-loader-2b781c0e.esm.js → requests-in-flight-loader-b52b55fb.esm.js} +7 -6
- package/dist/{requests-in-flight-loader-d908a6df.cjs.dev.js → requests-in-flight-loader-cb996eb9.cjs.dev.js} +7 -6
- package/dist/{rocket-c6d44215.cjs.dev.js → rocket-3372731a.cjs.dev.js} +2 -2
- package/dist/{rocket-067c2f8c.esm.js → rocket-bacf24be.esm.js} +2 -2
- package/dist/{rocket-f0bfae34.cjs.prod.js → rocket-cb99be06.cjs.prod.js} +2 -2
- package/dist/{service-page-project-switcher-0546e7be.cjs.prod.js → service-page-project-switcher-23846f90.cjs.prod.js} +1 -1
- package/dist/{service-page-project-switcher-51ec5202.cjs.dev.js → service-page-project-switcher-68e55d2a.cjs.dev.js} +1 -1
- package/dist/{service-page-project-switcher-da4d68ce.esm.js → service-page-project-switcher-fc88ffa8.esm.js} +1 -1
- package/dist/{speedometer-0de260cf.cjs.prod.js → speedometer-26f52e73.cjs.prod.js} +2 -2
- package/dist/{speedometer-baa6ae82.esm.js → speedometer-4c8e0b9c.esm.js} +2 -2
- package/dist/{speedometer-aedd9660.cjs.dev.js → speedometer-c1ec5a1d.cjs.dev.js} +2 -2
- package/dist/{star-49745c72.cjs.dev.js → star-6b9a91d2.cjs.dev.js} +2 -2
- package/dist/{star-bd723a9c.esm.js → star-af90a9c6.esm.js} +2 -2
- package/dist/{star-c11b0683.cjs.prod.js → star-e4902bbb.cjs.prod.js} +2 -2
- package/dist/{tag-multi-2e7a68ec.cjs.dev.js → tag-multi-1c065f61.cjs.prod.js} +2 -2
- package/dist/{tag-multi-1dee8212.esm.js → tag-multi-4c2742de.esm.js} +2 -2
- package/dist/{tag-multi-f8d9c9e6.cjs.prod.js → tag-multi-abef3e15.cjs.dev.js} +2 -2
- package/dist/{tree-structure-690366f9.cjs.prod.js → tree-structure-3ec98cce.cjs.prod.js} +2 -2
- package/dist/{tree-structure-8c974c7a.cjs.dev.js → tree-structure-96ab0b7e.cjs.dev.js} +2 -2
- package/dist/{tree-structure-0a1dc6bf.esm.js → tree-structure-ca0498a0.esm.js} +2 -2
- package/dist/{use-applications-menu-1143a5ca.esm.js → use-applications-menu-15ea8813.esm.js} +3 -3
- package/dist/{use-applications-menu-5873c7ab.cjs.dev.js → use-applications-menu-4f35b214.cjs.dev.js} +3 -3
- package/dist/{use-applications-menu-08236536.cjs.prod.js → use-applications-menu-e19bc05b.cjs.prod.js} +3 -3
- package/dist/{user-filled-58af1ae4.cjs.prod.js → user-filled-26f333b2.cjs.prod.js} +2 -2
- package/dist/{user-filled-5dd7a51a.cjs.dev.js → user-filled-34aeebcc.cjs.dev.js} +2 -2
- package/dist/{user-filled-d40a7e17.esm.js → user-filled-61d8a81b.esm.js} +2 -2
- package/dist/{user-settings-menu-a724a9b9.cjs.prod.js → user-settings-menu-695efeec.cjs.prod.js} +9 -8
- package/dist/{user-settings-menu-986485b8.esm.js → user-settings-menu-8080c4ff.esm.js} +9 -8
- package/dist/{user-settings-menu-6a7ff392.cjs.dev.js → user-settings-menu-d08e3b19.cjs.dev.js} +9 -8
- package/dist/{version-tracker-90a08689.cjs.dev.js → version-tracker-0fe7660b.cjs.dev.js} +2 -2
- package/dist/{version-tracker-3d9b5cf0.cjs.prod.js → version-tracker-3b691dec.cjs.prod.js} +2 -2
- package/dist/{version-tracker-cba298d4.esm.js → version-tracker-cb877c84.esm.js} +2 -2
- package/dist/{world-bfd04f52.cjs.dev.js → world-22189397.cjs.prod.js} +2 -2
- package/dist/{world-f921d80c.cjs.prod.js → world-500baeb2.cjs.dev.js} +2 -2
- package/dist/{world-1b0e72fc.esm.js → world-523efd61.esm.js} +2 -2
- package/package.json +40 -39
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +2 -2
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +2 -2
- package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +2 -2
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +52 -17
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +52 -17
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +53 -19
- package/dist/declarations/src/components/custom-view-context/custom-view-context.d.ts +0 -12
- package/dist/declarations/src/components/custom-view-context/index.d.ts +0 -1
- package/dist/declarations/src/components/navbar/compiled/navbar.css.json.d.ts +0 -3
- package/dist/navbar-0cdfe0f7.cjs.prod.js +0 -1173
- package/dist/navbar-383d5297.cjs.dev.js +0 -1269
- package/dist/navbar-cd29b896.esm.js +0 -1239
- /package/dist/declarations/src/components/navbar/{navbar-skeleton.d.ts → navbar-new/navbar-skeleton.d.ts} +0 -0
- /package/dist/declarations/src/components/navbar/{navbar-skeleton.styles.d.ts → navbar-new/navbar-skeleton.styles.d.ts} +0 -0
- /package/dist/declarations/src/components/navbar/{navbar.styles.d.ts → navbar-new/navbar.styles.d.ts} +0 -0
- /package/dist/declarations/src/components/navbar/{loading-navbar.d.ts → navbar-old/loading-navbar.d.ts} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { g as getMcApiUrl, s as setActiveProjectKey, a as selectProjectKeyFromUrl, R as RouteCatchAll, b as getActiveProjectKey, r as removeActiveProjectKey, c as getSessionScope, d as createApolloClient, i as internalReduxStore, e as setCachedApolloClient, f as applicationShellVersion } from './configure-apollo-
|
|
1
|
+
import { g as getMcApiUrl, s as setActiveProjectKey, a as selectProjectKeyFromUrl, R as RouteCatchAll, b as getActiveProjectKey, r as removeActiveProjectKey, c as getSessionScope, d as createApolloClient, i as internalReduxStore, e as setCachedApolloClient, f as applicationShellVersion } from './configure-apollo-a219411c.esm.js';
|
|
2
2
|
import _pt from 'prop-types';
|
|
3
|
-
import { lazy, useEffect, useState, useCallback, Component, Suspense, useMemo, useRef, useLayoutEffect
|
|
3
|
+
import { lazy, useEffect, useState, useCallback, Component, Suspense, useMemo, useRef, useLayoutEffect } from 'react';
|
|
4
4
|
import { useLocation, Route, Switch, Redirect, Router, useRouteMatch, useHistory, generatePath } from 'react-router-dom';
|
|
5
5
|
import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
|
|
6
6
|
import _styled from '@emotion/styled/base';
|
|
@@ -16,13 +16,13 @@ import _Object$getOwnPropertyDescriptors from '@babel/runtime-corejs3/core-js-st
|
|
|
16
16
|
import _Object$defineProperties from '@babel/runtime-corejs3/core-js-stable/object/define-properties';
|
|
17
17
|
import _Object$defineProperty from '@babel/runtime-corejs3/core-js-stable/object/define-property';
|
|
18
18
|
import { keyframes, css, Global } from '@emotion/react';
|
|
19
|
-
import { designTokens as designTokens$1, themesOverrides, PortalsContainer, PageUnauthorized } from '@commercetools-frontend/application-components';
|
|
20
|
-
import { useApplicationContext, ApplicationContextProvider } from '@commercetools-frontend/application-shell-connectors';
|
|
21
|
-
import { GRAPHQL_TARGETS, LOGOUT_REASONS, DOMAINS, CUSTOM_VIEWS_EVENTS_NAMES } from '@commercetools-frontend/constants';
|
|
19
|
+
import { designTokens as designTokens$1, themesOverrides, PortalsContainer, CustomPanel, PageUnauthorized } from '@commercetools-frontend/application-components';
|
|
20
|
+
import { useApplicationContext, ApplicationContextProvider, CustomViewContextProvider } from '@commercetools-frontend/application-shell-connectors';
|
|
21
|
+
import { GRAPHQL_TARGETS, LOGOUT_REASONS, DOMAINS, NOTIFICATION_KINDS_PAGE, CUSTOM_VIEWS_EVENTS_NAMES, CUSTOM_VIEWS_EVENTS_META } from '@commercetools-frontend/constants';
|
|
22
22
|
import { AsyncLocaleData } from '@commercetools-frontend/i18n';
|
|
23
23
|
import { NotificationsList } from '@commercetools-frontend/react-notifications';
|
|
24
24
|
import { reportErrorToSentry, SentryUserTracker, boot } from '@commercetools-frontend/sentry';
|
|
25
|
-
import { S as STORAGE_KEYS, D as DIMENSIONS, C as CONTAINERS, O as OIDC_CLAIMS } from './constants-
|
|
25
|
+
import { S as STORAGE_KEYS, D as DIMENSIONS, C as CONTAINERS, O as OIDC_CLAIMS } from './constants-0b9c2426.esm.js';
|
|
26
26
|
import 'uuid';
|
|
27
27
|
import '@babel/runtime-corejs3/core-js-stable/url';
|
|
28
28
|
import _concatInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/concat';
|
|
@@ -65,14 +65,15 @@ import { adapterIdentifiers } from '@flopflip/types';
|
|
|
65
65
|
import { Provider, useStore } from 'react-redux';
|
|
66
66
|
import upperFirst from 'lodash/upperFirst';
|
|
67
67
|
import _startsWithInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/starts-with';
|
|
68
|
-
import { b as buildOidcScope } from './oidc-
|
|
68
|
+
import { b as buildOidcScope } from './oidc-db881d40.esm.js';
|
|
69
69
|
import '@commercetools-uikit/design-system/materials/resets.css';
|
|
70
|
+
import { useShowNotification, showUnexpectedErrorNotification } from '@commercetools-frontend/actions-global';
|
|
71
|
+
import { entryPointUriPathToPermissionKeys } from '@commercetools-frontend/application-config/ssr';
|
|
72
|
+
import { useIsAuthorized } from '@commercetools-frontend/permissions';
|
|
70
73
|
import _JSON$stringify from '@babel/runtime-corejs3/core-js-stable/json/stringify';
|
|
71
74
|
import _someInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/some';
|
|
72
|
-
import { showUnexpectedErrorNotification } from '@commercetools-frontend/actions-global';
|
|
73
|
-
import '@commercetools-frontend/application-config/ssr';
|
|
74
75
|
|
|
75
|
-
const RequestsInFlightLoader = /*#__PURE__*/lazy(() => import('./requests-in-flight-loader-
|
|
76
|
+
const RequestsInFlightLoader = /*#__PURE__*/lazy(() => import('./requests-in-flight-loader-b52b55fb.esm.js' /* webpackChunkName: "requests-in-flight-loader" */));
|
|
76
77
|
|
|
77
78
|
// Attempt to load the `projectKey` from localStorage
|
|
78
79
|
function selectProjectKeyFromLocalStorage() {
|
|
@@ -94,7 +95,7 @@ const createApolloContextForProxyForwardTo = proxyForwardTocontext => ({
|
|
|
94
95
|
skipGraphQlTargetCheck: true
|
|
95
96
|
});
|
|
96
97
|
|
|
97
|
-
var messages$
|
|
98
|
+
var messages$2 = defineMessages({
|
|
98
99
|
backToProjectLink: {
|
|
99
100
|
id: 'AppBar.backToProjectLink',
|
|
100
101
|
defaultMessage: 'Back to project'
|
|
@@ -112,7 +113,7 @@ const BackToProject = props => {
|
|
|
112
113
|
return jsx(FlatButton, {
|
|
113
114
|
onClick: () => redirectToProject(props.projectKey || ''),
|
|
114
115
|
icon: jsx(AngleLeftIcon, {}),
|
|
115
|
-
label: intl.formatMessage(messages$
|
|
116
|
+
label: intl.formatMessage(messages$2.backToProjectLink)
|
|
116
117
|
});
|
|
117
118
|
};
|
|
118
119
|
BackToProject.displayName = 'BackToProject';
|
|
@@ -200,7 +201,7 @@ function useMcMutation(mutation, options) {
|
|
|
200
201
|
return useMutation(mutation, options);
|
|
201
202
|
}
|
|
202
203
|
|
|
203
|
-
var messages = defineMessages({
|
|
204
|
+
var messages$1 = defineMessages({
|
|
204
205
|
projectsLabel: {
|
|
205
206
|
id: 'ProjectSwitcher.projectsLabel',
|
|
206
207
|
description: 'The label for project dropdown switcher',
|
|
@@ -229,9 +230,9 @@ var messages = defineMessages({
|
|
|
229
230
|
});
|
|
230
231
|
|
|
231
232
|
const _excluded = ["projectCount"];
|
|
232
|
-
function ownKeys$8(
|
|
233
|
-
function _objectSpread$8(
|
|
234
|
-
function _EMOTION_STRINGIFIED_CSS_ERROR__$
|
|
233
|
+
function ownKeys$8(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; }
|
|
234
|
+
function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$8(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$8(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
235
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__$5() { 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)."; }
|
|
235
236
|
var ProjectsQuery = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchUserProjects" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", alias: { kind: "Name", value: "user" }, name: { kind: "Name", value: "me" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "projects" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "results" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "suspension" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "isActive" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "expiry" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "isActive" }, arguments: [], directives: [] }] } }] } }] } }] } }] } }], loc: { start: 0, end: 218, source: { body: "query FetchUserProjects {\n user: me {\n id\n projects {\n results {\n name\n key\n suspension {\n isActive\n }\n expiry {\n isActive\n }\n }\n }\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
|
|
236
237
|
const PROJECT_SWITCHER_LABEL_ID = 'project-switcher-label';
|
|
237
238
|
var _ref3 = process.env.NODE_ENV === "production" ? {
|
|
@@ -241,7 +242,7 @@ var _ref3 = process.env.NODE_ENV === "production" ? {
|
|
|
241
242
|
name: "1j7riad-ProjectSwitcherValueContainer",
|
|
242
243
|
styles: "flex:1;label:ProjectSwitcherValueContainer;",
|
|
243
244
|
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3Qtc3dpdGNoZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlEZ0IiLCJmaWxlIjoicHJvamVjdC1zd2l0Y2hlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgbWVtb2l6ZSBmcm9tICdtZW1vaXplLW9uZSc7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlLCB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgdHlwZSB7IE9wdGlvblByb3BzLCBWYWx1ZUNvbnRhaW5lclByb3BzIH0gZnJvbSAncmVhY3Qtc2VsZWN0JztcbmltcG9ydCB0eXBlIHsgQXBwbGljYXRpb25XaW5kb3cgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuaW1wb3J0IHsgR1JBUEhRTF9UQVJHRVRTIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IHJlcG9ydEVycm9yVG9TZW50cnkgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9zZW50cnknO1xuaW1wb3J0IEFjY2Vzc2libGVIaWRkZW4gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvYWNjZXNzaWJsZS1oaWRkZW4nO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBFcnJvckljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgU2VsZWN0SW5wdXQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2VsZWN0LWlucHV0JztcbmltcG9ydCB7IHVzZU1jUXVlcnkgfSBmcm9tICcuLi8uLi9ob29rcy9hcG9sbG8taG9va3MnO1xuaW1wb3J0IHR5cGUge1xuICBUUHJvamVjdCxcbiAgVEZldGNoVXNlclByb2plY3RzUXVlcnksXG4gIFRGZXRjaFVzZXJQcm9qZWN0c1F1ZXJ5VmFyaWFibGVzLFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG5pbXBvcnQgKiBhcyBvaWRjU3RvcmFnZSBmcm9tICcuLi8uLi91dGlscy9vaWRjLXN0b3JhZ2UnO1xuaW1wb3J0IG1lc3NhZ2VzIGZyb20gJy4vbWVzc2FnZXMnO1xuaW1wb3J0IFByb2plY3RzUXVlcnkgZnJvbSAnLi9wcm9qZWN0LXN3aXRjaGVyLm1jLmdyYXBocWwnO1xuXG5kZWNsYXJlIGxldCB3aW5kb3c6IEFwcGxpY2F0aW9uV2luZG93O1xuXG50eXBlIFByb3BzID0ge1xuICBwcm9qZWN0S2V5Pzogc3RyaW5nO1xufTtcbnR5cGUgT3B0aW9uVHlwZSA9IFBpY2s8VFByb2plY3QsICdrZXknIHwgJ25hbWUnIHwgJ3N1c3BlbnNpb24nIHwgJ2V4cGlyeSc+ICYge1xuICBsYWJlbDogc3RyaW5nO1xufTtcbnR5cGUgQ3VzdG9tVmFsdWVDb250YWluZXJQcm9wcyA9IFZhbHVlQ29udGFpbmVyUHJvcHMgJiB7XG4gIHByb2plY3RDb3VudDogbnVtYmVyO1xufTtcblxuY29uc3QgUFJPSkVDVF9TV0lUQ0hFUl9MQUJFTF9JRCA9ICdwcm9qZWN0LXN3aXRjaGVyLWxhYmVsJztcblxuZXhwb3J0IGNvbnN0IFByb2plY3RTd2l0Y2hlclZhbHVlQ29udGFpbmVyID0gKHtcbiAgcHJvamVjdENvdW50LFxuICAuLi5yZXN0UHJvcHNcbn06IEN1c3RvbVZhbHVlQ29udGFpbmVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICBgfVxuICAgICAgPlxuICAgICAgICA8U2VsZWN0SW5wdXQuVmFsdWVDb250YWluZXIgey4uLnJlc3RQcm9wc30+XG4gICAgICAgICAge3Jlc3RQcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgPC9TZWxlY3RJbnB1dC5WYWx1ZUNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW5cbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsfTtcbiAgICAgICAgICBjb2xvcjogJHtkZXNpZ25Ub2tlbnMuY29sb3JTdXJmYWNlfTtcbiAgICAgICAgICBmb250LXNpemU6ICR7ZGVzaWduVG9rZW5zLmZvbnRTaXplMzB9O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYH1cbiAgICAgID5cbiAgICAgICAge3Byb2plY3RDb3VudH1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcm9qZWN0U3dpdGNoZXJPcHRpb24gPSAocHJvcHM6IE9wdGlvblByb3BzKSA9PiB7XG4gIGNvbnN0IHByb2plY3QgPSBwcm9wcy5kYXRhIGFzIE9wdGlvblR5cGU7XG4gIHJldHVybiAoXG4gICAgPFNlbGVjdElucHV0Lk9wdGlvbiB7Li4ucHJvcHN9PlxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgIGNvbG9yOiAke3Byb3BzLmlzRGlzYWJsZWRcbiAgICAgICAgICAgICAgPyBkZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsXG4gICAgICAgICAgICAgIDogZGVzaWduVG9rZW5zLmNvbG9yQWNjZW50fTtcbiAgICAgICAgICBgfVxuICAgICAgICA+XG4gICAgICAgICAge3Byb2plY3QubmFtZX1cbiAgICAgICAgICB7cHJvcHMuaXNEaXNhYmxlZCAmJiAoXG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RXJyb3JJY29uIHNpemU9XCJtZWRpdW1cIiAvPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBjb2xvcjogJHtwcm9wcy5pc0Rpc2FibGVkID8gZGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbCA6ICdpbmhlcml0J307XG4gICAgICAgICAgYH1cbiAgICAgICAgPlxuICAgICAgICAgIHtwcm9qZWN0LmtleX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIHtwcm9qZWN0LnN1c3BlbnNpb24gJiYgcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlICYmIChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgICBjb2xvcjogJHtkZXNpZ25Ub2tlbnMuY29sb3JFcnJvcn07XG4gICAgICAgICAgICBgfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5zdXNwZW5kZWR9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIHtwcm9qZWN0LmV4cGlyeSAmJiBwcm9qZWN0LmV4cGlyeS5pc0FjdGl2ZSAmJiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgICAgY29sb3I6ICR7ZGVzaWduVG9rZW5zLmNvbG9yRXJyb3J9O1xuICAgICAgICAgICAgYH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXMuZXhwaXJlZH0gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvU2VsZWN0SW5wdXQuT3B0aW9uPlxuICApO1xufTtcblxuY29uc3QgbWFwUHJvamVjdHNUb09wdGlvbnMgPSBtZW1vaXplKChwcm9qZWN0cykgPT5cbiAgcHJvamVjdHMubWFwKChwcm9qZWN0OiBUUHJvamVjdCkgPT4gKHtcbiAgICBrZXk6IHByb2plY3Qua2V5LFxuICAgIG5hbWU6IHByb2plY3QubmFtZSxcbiAgICBsYWJlbDogcHJvamVjdC5uYW1lLFxuICAgIHZhbHVlOiBwcm9qZWN0LmtleSxcbiAgICBzdXNwZW5zaW9uOiBwcm9qZWN0LnN1c3BlbnNpb24sXG4gICAgZXhwaXJ5OiBwcm9qZWN0LmV4cGlyeSxcbiAgfSkpXG4pO1xuXG5jb25zdCByZWRpcmVjdFRvID0gKHRhcmdldFVybDogc3RyaW5nKSA9PiBsb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG5cbmNvbnN0IFByb2plY3RTd2l0Y2hlciA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgY29uc3QgeyBsb2FkaW5nLCBkYXRhIH0gPSB1c2VNY1F1ZXJ5PFxuICAgIFRGZXRjaFVzZXJQcm9qZWN0c1F1ZXJ5LFxuICAgIFRGZXRjaFVzZXJQcm9qZWN0c1F1ZXJ5VmFyaWFibGVzXG4gID4oUHJvamVjdHNRdWVyeSwge1xuICAgIG9uRXJyb3I6IHJlcG9ydEVycm9yVG9TZW50cnksXG4gICAgY29udGV4dDoge1xuICAgICAgdGFyZ2V0OiBHUkFQSFFMX1RBUkdFVFMuTUVSQ0hBTlRfQ0VOVEVSX0JBQ0tFTkQsXG4gICAgfSxcbiAgfSk7XG5cbiAgaWYgKGxvYWRpbmcpIHJldHVybiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIHdpZHRoOiAke2Rlc2lnblRva2Vucy5jb25zdHJhaW50Nn07XG4gICAgICBgfVxuICAgID5cbiAgICAgIDxBY2Nlc3NpYmxlSGlkZGVuPlxuICAgICAgICA8c3BhbiBpZD17UFJPSkVDVF9TV0lUQ0hFUl9MQUJFTF9JRH0+XG4gICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2Ugey4uLm1lc3NhZ2VzLnByb2plY3RzTGFiZWx9IC8+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvQWNjZXNzaWJsZUhpZGRlbj5cbiAgICAgIDxTZWxlY3RJbnB1dFxuICAgICAgICB2YWx1ZT17cHJvcHMucHJvamVjdEtleSB8fCAnJ31cbiAgICAgICAgbmFtZT1cInByb2plY3Qtc3dpdGNoZXJcIlxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e1BST0pFQ1RfU1dJVENIRVJfTEFCRUxfSUR9XG4gICAgICAgIG9uQ2hhbmdlPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICBjb25zdCBzZWxlY3RlZFByb2plY3RLZXkgPSBldmVudC50YXJnZXQudmFsdWUgYXMgc3RyaW5nO1xuICAgICAgICAgIGlmIChzZWxlY3RlZFByb2plY3RLZXkgIT09IHByb3BzLnByb2plY3RLZXkpIHtcbiAgICAgICAgICAgIGlmICh3aW5kb3cuYXBwLl9fREVWRUxPUE1FTlRfXz8ub2lkYz8uYXV0aG9yaXplVXJsKSB7XG4gICAgICAgICAgICAgIG9pZGNTdG9yYWdlLnNldEFjdGl2ZVByb2plY3RLZXkoc2VsZWN0ZWRQcm9qZWN0S2V5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gV2Ugc2ltcGx5IHJlZGlyZWN0IHRvIGEgXCJuZXdcIiBicm93c2VyIHBhZ2UsIGluc3RlYWQgb2YgdXNpbmcgdGhlXG4gICAgICAgICAgICAvLyBoaXN0b3J5IHJvdXRlci4gVGhpcyB3aWxsIHNpbXBsaWZ5IGEgbG90IG9mIHRoaW5ncyBhbmQgYXZvaWQgcG9zc2libGVcbiAgICAgICAgICAgIC8vIHByb2JsZW1zIGxpa2UgZS5nLiByZXNldHRpbmcgdGhlIHN0b3JlL3N0YXRlLlxuICAgICAgICAgICAgcmVkaXJlY3RUbyhgLyR7c2VsZWN0ZWRQcm9qZWN0S2V5fWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgb3B0aW9ucz17XG4gICAgICAgICAgZGF0YSAmJiBkYXRhLnVzZXIgJiYgbWFwUHJvamVjdHNUb09wdGlvbnMoZGF0YS51c2VyLnByb2plY3RzLnJlc3VsdHMpXG4gICAgICAgIH1cbiAgICAgICAgaXNPcHRpb25EaXNhYmxlZD17KG9wdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IHByb2plY3QgPSBvcHRpb24gYXMgT3B0aW9uVHlwZTtcbiAgICAgICAgICByZXR1cm4gcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlIHx8IHByb2plY3QuZXhwaXJ5LmlzQWN0aXZlO1xuICAgICAgICB9fVxuICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgT3B0aW9uOiBQcm9qZWN0U3dpdGNoZXJPcHRpb24sXG4gICAgICAgICAgVmFsdWVDb250YWluZXI6ICh2YWx1ZUNvbnRhaW5lclByb3BzKSA9PiAoXG4gICAgICAgICAgICA8UHJvamVjdFN3aXRjaGVyVmFsdWVDb250YWluZXJcbiAgICAgICAgICAgICAgey4uLnZhbHVlQ29udGFpbmVyUHJvcHN9XG4gICAgICAgICAgICAgIHByb2plY3RDb3VudD17XG4gICAgICAgICAgICAgICAgKGRhdGEgJiYgZGF0YS51c2VyICYmIGRhdGEudXNlci5wcm9qZWN0cy5yZXN1bHRzLmxlbmd0aCkgfHwgMFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICksXG4gICAgICAgIH19XG4gICAgICAgIGlzQ2xlYXJhYmxlPXtmYWxzZX1cbiAgICAgICAgYmFja3NwYWNlUmVtb3Zlc1ZhbHVlPXtmYWxzZX1cbiAgICAgICAgcGxhY2Vob2xkZXI9e2ludGwuZm9ybWF0TWVzc2FnZShtZXNzYWdlcy5zZWFyY2hQbGFjZWhvbGRlcil9XG4gICAgICAgIG5vT3B0aW9uc01lc3NhZ2U9eygpID0+IGludGwuZm9ybWF0TWVzc2FnZShtZXNzYWdlcy5ub1Jlc3VsdHMpfVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Qcm9qZWN0U3dpdGNoZXIuZGlzcGxheU5hbWUgPSAnUHJvamVjdFN3aXRjaGVyJztcblxuZXhwb3J0IGRlZmF1bHQgUHJvamVjdFN3aXRjaGVyO1xuIl19 */",
|
|
244
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$
|
|
245
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$5
|
|
245
246
|
};
|
|
246
247
|
var _ref4 = process.env.NODE_ENV === "production" ? {
|
|
247
248
|
name: "zol16h",
|
|
@@ -250,7 +251,7 @@ var _ref4 = process.env.NODE_ENV === "production" ? {
|
|
|
250
251
|
name: "6c3nin-ProjectSwitcherValueContainer",
|
|
251
252
|
styles: "display:flex;flex:1;align-items:center;label:ProjectSwitcherValueContainer;",
|
|
252
253
|
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3Qtc3dpdGNoZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBDYyIsImZpbGUiOiJwcm9qZWN0LXN3aXRjaGVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBtZW1vaXplIGZyb20gJ21lbW9pemUtb25lJztcbmltcG9ydCB7IEZvcm1hdHRlZE1lc3NhZ2UsIHVzZUludGwgfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB0eXBlIHsgT3B0aW9uUHJvcHMsIFZhbHVlQ29udGFpbmVyUHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuaW1wb3J0IHR5cGUgeyBBcHBsaWNhdGlvbldpbmRvdyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBHUkFQSFFMX1RBUkdFVFMgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuaW1wb3J0IHsgcmVwb3J0RXJyb3JUb1NlbnRyeSB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3NlbnRyeSc7XG5pbXBvcnQgQWNjZXNzaWJsZUhpZGRlbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9hY2Nlc3NpYmxlLWhpZGRlbic7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCB7IEVycm9ySWNvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCBTZWxlY3RJbnB1dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zZWxlY3QtaW5wdXQnO1xuaW1wb3J0IHsgdXNlTWNRdWVyeSB9IGZyb20gJy4uLy4uL2hvb2tzL2Fwb2xsby1ob29rcyc7XG5pbXBvcnQgdHlwZSB7XG4gIFRQcm9qZWN0LFxuICBURmV0Y2hVc2VyUHJvamVjdHNRdWVyeSxcbiAgVEZldGNoVXNlclByb2plY3RzUXVlcnlWYXJpYWJsZXMsXG59IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9tYyc7XG5pbXBvcnQgeyBsb2NhdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxzL2xvY2F0aW9uJztcbmltcG9ydCAqIGFzIG9pZGNTdG9yYWdlIGZyb20gJy4uLy4uL3V0aWxzL29pZGMtc3RvcmFnZSc7XG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcyc7XG5pbXBvcnQgUHJvamVjdHNRdWVyeSBmcm9tICcuL3Byb2plY3Qtc3dpdGNoZXIubWMuZ3JhcGhxbCc7XG5cbmRlY2xhcmUgbGV0IHdpbmRvdzogQXBwbGljYXRpb25XaW5kb3c7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIHByb2plY3RLZXk/OiBzdHJpbmc7XG59O1xudHlwZSBPcHRpb25UeXBlID0gUGljazxUUHJvamVjdCwgJ2tleScgfCAnbmFtZScgfCAnc3VzcGVuc2lvbicgfCAnZXhwaXJ5Jz4gJiB7XG4gIGxhYmVsOiBzdHJpbmc7XG59O1xudHlwZSBDdXN0b21WYWx1ZUNvbnRhaW5lclByb3BzID0gVmFsdWVDb250YWluZXJQcm9wcyAmIHtcbiAgcHJvamVjdENvdW50OiBudW1iZXI7XG59O1xuXG5jb25zdCBQUk9KRUNUX1NXSVRDSEVSX0xBQkVMX0lEID0gJ3Byb2plY3Qtc3dpdGNoZXItbGFiZWwnO1xuXG5leHBvcnQgY29uc3QgUHJvamVjdFN3aXRjaGVyVmFsdWVDb250YWluZXIgPSAoe1xuICBwcm9qZWN0Q291bnQsXG4gIC4uLnJlc3RQcm9wc1xufTogQ3VzdG9tVmFsdWVDb250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxTZWxlY3RJbnB1dC5WYWx1ZUNvbnRhaW5lciB7Li4ucmVzdFByb3BzfT5cbiAgICAgICAgICB7cmVzdFByb3BzLmNoaWxkcmVufVxuICAgICAgICA8L1NlbGVjdElucHV0LlZhbHVlQ29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8c3BhblxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICB3aWR0aDogMjZweDtcbiAgICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2Rlc2lnblRva2Vucy5jb2xvck5ldXRyYWx9O1xuICAgICAgICAgIGNvbG9yOiAke2Rlc2lnblRva2Vucy5jb2xvclN1cmZhY2V9O1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHtkZXNpZ25Ub2tlbnMuZm9udFNpemUzMH07XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBgfVxuICAgICAgPlxuICAgICAgICB7cHJvamVjdENvdW50fVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IFByb2plY3RTd2l0Y2hlck9wdGlvbiA9IChwcm9wczogT3B0aW9uUHJvcHMpID0+IHtcbiAgY29uc3QgcHJvamVjdCA9IHByb3BzLmRhdGEgYXMgT3B0aW9uVHlwZTtcbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0SW5wdXQuT3B0aW9uIHsuLi5wcm9wc30+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgYH1cbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgY29sb3I6ICR7cHJvcHMuaXNEaXNhYmxlZFxuICAgICAgICAgICAgICA/IGRlc2lnblRva2Vucy5jb2xvck5ldXRyYWxcbiAgICAgICAgICAgICAgOiBkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnR9O1xuICAgICAgICAgIGB9XG4gICAgICAgID5cbiAgICAgICAgICB7cHJvamVjdC5uYW1lfVxuICAgICAgICAgIHtwcm9wcy5pc0Rpc2FibGVkICYmIChcbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFcnJvckljb24gc2l6ZT1cIm1lZGl1bVwiIC8+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgIGNvbG9yOiAke3Byb3BzLmlzRGlzYWJsZWQgPyBkZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsIDogJ2luaGVyaXQnfTtcbiAgICAgICAgICBgfVxuICAgICAgICA+XG4gICAgICAgICAge3Byb2plY3Qua2V5fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge3Byb2plY3Quc3VzcGVuc2lvbiAmJiBwcm9qZWN0LnN1c3BlbnNpb24uaXNBY3RpdmUgJiYgKFxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICAgIGNvbG9yOiAke2Rlc2lnblRva2Vucy5jb2xvckVycm9yfTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2Ugey4uLm1lc3NhZ2VzLnN1c3BlbmRlZH0gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgICAge3Byb2plY3QuZXhwaXJ5ICYmIHByb2plY3QuZXhwaXJ5LmlzQWN0aXZlICYmIChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgICBjb2xvcjogJHtkZXNpZ25Ub2tlbnMuY29sb3JFcnJvcn07XG4gICAgICAgICAgICBgfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5leHBpcmVkfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgPC9TZWxlY3RJbnB1dC5PcHRpb24+XG4gICk7XG59O1xuXG5jb25zdCBtYXBQcm9qZWN0c1RvT3B0aW9ucyA9IG1lbW9pemUoKHByb2plY3RzKSA9PlxuICBwcm9qZWN0cy5tYXAoKHByb2plY3Q6IFRQcm9qZWN0KSA9PiAoe1xuICAgIGtleTogcHJvamVjdC5rZXksXG4gICAgbmFtZTogcHJvamVjdC5uYW1lLFxuICAgIGxhYmVsOiBwcm9qZWN0Lm5hbWUsXG4gICAgdmFsdWU6IHByb2plY3Qua2V5LFxuICAgIHN1c3BlbnNpb246IHByb2plY3Quc3VzcGVuc2lvbixcbiAgICBleHBpcnk6IHByb2plY3QuZXhwaXJ5LFxuICB9KSlcbik7XG5cbmNvbnN0IHJlZGlyZWN0VG8gPSAodGFyZ2V0VXJsOiBzdHJpbmcpID0+IGxvY2F0aW9uLnJlcGxhY2UodGFyZ2V0VXJsKTtcblxuY29uc3QgUHJvamVjdFN3aXRjaGVyID0gKHByb3BzOiBQcm9wcykgPT4ge1xuICBjb25zdCBpbnRsID0gdXNlSW50bCgpO1xuICBjb25zdCB7IGxvYWRpbmcsIGRhdGEgfSA9IHVzZU1jUXVlcnk8XG4gICAgVEZldGNoVXNlclByb2plY3RzUXVlcnksXG4gICAgVEZldGNoVXNlclByb2plY3RzUXVlcnlWYXJpYWJsZXNcbiAgPihQcm9qZWN0c1F1ZXJ5LCB7XG4gICAgb25FcnJvcjogcmVwb3J0RXJyb3JUb1NlbnRyeSxcbiAgICBjb250ZXh0OiB7XG4gICAgICB0YXJnZXQ6IEdSQVBIUUxfVEFSR0VUUy5NRVJDSEFOVF9DRU5URVJfQkFDS0VORCxcbiAgICB9LFxuICB9KTtcblxuICBpZiAobG9hZGluZykgcmV0dXJuIG51bGw7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgd2lkdGg6ICR7ZGVzaWduVG9rZW5zLmNvbnN0cmFpbnQ2fTtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPEFjY2Vzc2libGVIaWRkZW4+XG4gICAgICAgIDxzcGFuIGlkPXtQUk9KRUNUX1NXSVRDSEVSX0xBQkVMX0lEfT5cbiAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXMucHJvamVjdHNMYWJlbH0gLz5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9BY2Nlc3NpYmxlSGlkZGVuPlxuICAgICAgPFNlbGVjdElucHV0XG4gICAgICAgIHZhbHVlPXtwcm9wcy5wcm9qZWN0S2V5IHx8ICcnfVxuICAgICAgICBuYW1lPVwicHJvamVjdC1zd2l0Y2hlclwiXG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT17UFJPSkVDVF9TV0lUQ0hFUl9MQUJFTF9JRH1cbiAgICAgICAgb25DaGFuZ2U9eyhldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHNlbGVjdGVkUHJvamVjdEtleSA9IGV2ZW50LnRhcmdldC52YWx1ZSBhcyBzdHJpbmc7XG4gICAgICAgICAgaWYgKHNlbGVjdGVkUHJvamVjdEtleSAhPT0gcHJvcHMucHJvamVjdEtleSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy5hcHAuX19ERVZFTE9QTUVOVF9fPy5vaWRjPy5hdXRob3JpemVVcmwpIHtcbiAgICAgICAgICAgICAgb2lkY1N0b3JhZ2Uuc2V0QWN0aXZlUHJvamVjdEtleShzZWxlY3RlZFByb2plY3RLZXkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBXZSBzaW1wbHkgcmVkaXJlY3QgdG8gYSBcIm5ld1wiIGJyb3dzZXIgcGFnZSwgaW5zdGVhZCBvZiB1c2luZyB0aGVcbiAgICAgICAgICAgIC8vIGhpc3Rvcnkgcm91dGVyLiBUaGlzIHdpbGwgc2ltcGxpZnkgYSBsb3Qgb2YgdGhpbmdzIGFuZCBhdm9pZCBwb3NzaWJsZVxuICAgICAgICAgICAgLy8gcHJvYmxlbXMgbGlrZSBlLmcuIHJlc2V0dGluZyB0aGUgc3RvcmUvc3RhdGUuXG4gICAgICAgICAgICByZWRpcmVjdFRvKGAvJHtzZWxlY3RlZFByb2plY3RLZXl9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICBvcHRpb25zPXtcbiAgICAgICAgICBkYXRhICYmIGRhdGEudXNlciAmJiBtYXBQcm9qZWN0c1RvT3B0aW9ucyhkYXRhLnVzZXIucHJvamVjdHMucmVzdWx0cylcbiAgICAgICAgfVxuICAgICAgICBpc09wdGlvbkRpc2FibGVkPXsob3B0aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgcHJvamVjdCA9IG9wdGlvbiBhcyBPcHRpb25UeXBlO1xuICAgICAgICAgIHJldHVybiBwcm9qZWN0LnN1c3BlbnNpb24uaXNBY3RpdmUgfHwgcHJvamVjdC5leHBpcnkuaXNBY3RpdmU7XG4gICAgICAgIH19XG4gICAgICAgIGNvbXBvbmVudHM9e3tcbiAgICAgICAgICBPcHRpb246IFByb2plY3RTd2l0Y2hlck9wdGlvbixcbiAgICAgICAgICBWYWx1ZUNvbnRhaW5lcjogKHZhbHVlQ29udGFpbmVyUHJvcHMpID0+IChcbiAgICAgICAgICAgIDxQcm9qZWN0U3dpdGNoZXJWYWx1ZUNvbnRhaW5lclxuICAgICAgICAgICAgICB7Li4udmFsdWVDb250YWluZXJQcm9wc31cbiAgICAgICAgICAgICAgcHJvamVjdENvdW50PXtcbiAgICAgICAgICAgICAgICAoZGF0YSAmJiBkYXRhLnVzZXIgJiYgZGF0YS51c2VyLnByb2plY3RzLnJlc3VsdHMubGVuZ3RoKSB8fCAwXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSxcbiAgICAgICAgfX1cbiAgICAgICAgaXNDbGVhcmFibGU9e2ZhbHNlfVxuICAgICAgICBiYWNrc3BhY2VSZW1vdmVzVmFsdWU9e2ZhbHNlfVxuICAgICAgICBwbGFjZWhvbGRlcj17aW50bC5mb3JtYXRNZXNzYWdlKG1lc3NhZ2VzLnNlYXJjaFBsYWNlaG9sZGVyKX1cbiAgICAgICAgbm9PcHRpb25zTWVzc2FnZT17KCkgPT4gaW50bC5mb3JtYXRNZXNzYWdlKG1lc3NhZ2VzLm5vUmVzdWx0cyl9XG4gICAgICAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcblByb2plY3RTd2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdQcm9qZWN0U3dpdGNoZXInO1xuXG5leHBvcnQgZGVmYXVsdCBQcm9qZWN0U3dpdGNoZXI7XG4iXX0= */",
|
|
253
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$
|
|
254
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$5
|
|
254
255
|
};
|
|
255
256
|
const ProjectSwitcherValueContainer = _ref5 => {
|
|
256
257
|
let projectCount = _ref5.projectCount,
|
|
@@ -275,7 +276,7 @@ var _ref$2 = process.env.NODE_ENV === "production" ? {
|
|
|
275
276
|
name: "1nmxni5-ProjectSwitcherOption",
|
|
276
277
|
styles: "font-size:1.5rem;display:flex;label:ProjectSwitcherOption;",
|
|
277
278
|
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3Qtc3dpdGNoZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStGc0IiLCJmaWxlIjoicHJvamVjdC1zd2l0Y2hlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgbWVtb2l6ZSBmcm9tICdtZW1vaXplLW9uZSc7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlLCB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgdHlwZSB7IE9wdGlvblByb3BzLCBWYWx1ZUNvbnRhaW5lclByb3BzIH0gZnJvbSAncmVhY3Qtc2VsZWN0JztcbmltcG9ydCB0eXBlIHsgQXBwbGljYXRpb25XaW5kb3cgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuaW1wb3J0IHsgR1JBUEhRTF9UQVJHRVRTIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IHJlcG9ydEVycm9yVG9TZW50cnkgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9zZW50cnknO1xuaW1wb3J0IEFjY2Vzc2libGVIaWRkZW4gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvYWNjZXNzaWJsZS1oaWRkZW4nO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBFcnJvckljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgU2VsZWN0SW5wdXQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2VsZWN0LWlucHV0JztcbmltcG9ydCB7IHVzZU1jUXVlcnkgfSBmcm9tICcuLi8uLi9ob29rcy9hcG9sbG8taG9va3MnO1xuaW1wb3J0IHR5cGUge1xuICBUUHJvamVjdCxcbiAgVEZldGNoVXNlclByb2plY3RzUXVlcnksXG4gIFRGZXRjaFVzZXJQcm9qZWN0c1F1ZXJ5VmFyaWFibGVzLFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG5pbXBvcnQgKiBhcyBvaWRjU3RvcmFnZSBmcm9tICcuLi8uLi91dGlscy9vaWRjLXN0b3JhZ2UnO1xuaW1wb3J0IG1lc3NhZ2VzIGZyb20gJy4vbWVzc2FnZXMnO1xuaW1wb3J0IFByb2plY3RzUXVlcnkgZnJvbSAnLi9wcm9qZWN0LXN3aXRjaGVyLm1jLmdyYXBocWwnO1xuXG5kZWNsYXJlIGxldCB3aW5kb3c6IEFwcGxpY2F0aW9uV2luZG93O1xuXG50eXBlIFByb3BzID0ge1xuICBwcm9qZWN0S2V5Pzogc3RyaW5nO1xufTtcbnR5cGUgT3B0aW9uVHlwZSA9IFBpY2s8VFByb2plY3QsICdrZXknIHwgJ25hbWUnIHwgJ3N1c3BlbnNpb24nIHwgJ2V4cGlyeSc+ICYge1xuICBsYWJlbDogc3RyaW5nO1xufTtcbnR5cGUgQ3VzdG9tVmFsdWVDb250YWluZXJQcm9wcyA9IFZhbHVlQ29udGFpbmVyUHJvcHMgJiB7XG4gIHByb2plY3RDb3VudDogbnVtYmVyO1xufTtcblxuY29uc3QgUFJPSkVDVF9TV0lUQ0hFUl9MQUJFTF9JRCA9ICdwcm9qZWN0LXN3aXRjaGVyLWxhYmVsJztcblxuZXhwb3J0IGNvbnN0IFByb2plY3RTd2l0Y2hlclZhbHVlQ29udGFpbmVyID0gKHtcbiAgcHJvamVjdENvdW50LFxuICAuLi5yZXN0UHJvcHNcbn06IEN1c3RvbVZhbHVlQ29udGFpbmVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICBgfVxuICAgICAgPlxuICAgICAgICA8U2VsZWN0SW5wdXQuVmFsdWVDb250YWluZXIgey4uLnJlc3RQcm9wc30+XG4gICAgICAgICAge3Jlc3RQcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgPC9TZWxlY3RJbnB1dC5WYWx1ZUNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW5cbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsfTtcbiAgICAgICAgICBjb2xvcjogJHtkZXNpZ25Ub2tlbnMuY29sb3JTdXJmYWNlfTtcbiAgICAgICAgICBmb250LXNpemU6ICR7ZGVzaWduVG9rZW5zLmZvbnRTaXplMzB9O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYH1cbiAgICAgID5cbiAgICAgICAge3Byb2plY3RDb3VudH1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcm9qZWN0U3dpdGNoZXJPcHRpb24gPSAocHJvcHM6IE9wdGlvblByb3BzKSA9PiB7XG4gIGNvbnN0IHByb2plY3QgPSBwcm9wcy5kYXRhIGFzIE9wdGlvblR5cGU7XG4gIHJldHVybiAoXG4gICAgPFNlbGVjdElucHV0Lk9wdGlvbiB7Li4ucHJvcHN9PlxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgIGNvbG9yOiAke3Byb3BzLmlzRGlzYWJsZWRcbiAgICAgICAgICAgICAgPyBkZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsXG4gICAgICAgICAgICAgIDogZGVzaWduVG9rZW5zLmNvbG9yQWNjZW50fTtcbiAgICAgICAgICBgfVxuICAgICAgICA+XG4gICAgICAgICAge3Byb2plY3QubmFtZX1cbiAgICAgICAgICB7cHJvcHMuaXNEaXNhYmxlZCAmJiAoXG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RXJyb3JJY29uIHNpemU9XCJtZWRpdW1cIiAvPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBjb2xvcjogJHtwcm9wcy5pc0Rpc2FibGVkID8gZGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbCA6ICdpbmhlcml0J307XG4gICAgICAgICAgYH1cbiAgICAgICAgPlxuICAgICAgICAgIHtwcm9qZWN0LmtleX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIHtwcm9qZWN0LnN1c3BlbnNpb24gJiYgcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlICYmIChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgICBjb2xvcjogJHtkZXNpZ25Ub2tlbnMuY29sb3JFcnJvcn07XG4gICAgICAgICAgICBgfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5zdXNwZW5kZWR9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIHtwcm9qZWN0LmV4cGlyeSAmJiBwcm9qZWN0LmV4cGlyeS5pc0FjdGl2ZSAmJiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgICAgY29sb3I6ICR7ZGVzaWduVG9rZW5zLmNvbG9yRXJyb3J9O1xuICAgICAgICAgICAgYH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXMuZXhwaXJlZH0gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvU2VsZWN0SW5wdXQuT3B0aW9uPlxuICApO1xufTtcblxuY29uc3QgbWFwUHJvamVjdHNUb09wdGlvbnMgPSBtZW1vaXplKChwcm9qZWN0cykgPT5cbiAgcHJvamVjdHMubWFwKChwcm9qZWN0OiBUUHJvamVjdCkgPT4gKHtcbiAgICBrZXk6IHByb2plY3Qua2V5LFxuICAgIG5hbWU6IHByb2plY3QubmFtZSxcbiAgICBsYWJlbDogcHJvamVjdC5uYW1lLFxuICAgIHZhbHVlOiBwcm9qZWN0LmtleSxcbiAgICBzdXNwZW5zaW9uOiBwcm9qZWN0LnN1c3BlbnNpb24sXG4gICAgZXhwaXJ5OiBwcm9qZWN0LmV4cGlyeSxcbiAgfSkpXG4pO1xuXG5jb25zdCByZWRpcmVjdFRvID0gKHRhcmdldFVybDogc3RyaW5nKSA9PiBsb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG5cbmNvbnN0IFByb2plY3RTd2l0Y2hlciA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgY29uc3QgeyBsb2FkaW5nLCBkYXRhIH0gPSB1c2VNY1F1ZXJ5PFxuICAgIFRGZXRjaFVzZXJQcm9qZWN0c1F1ZXJ5LFxuICAgIFRGZXRjaFVzZXJQcm9qZWN0c1F1ZXJ5VmFyaWFibGVzXG4gID4oUHJvamVjdHNRdWVyeSwge1xuICAgIG9uRXJyb3I6IHJlcG9ydEVycm9yVG9TZW50cnksXG4gICAgY29udGV4dDoge1xuICAgICAgdGFyZ2V0OiBHUkFQSFFMX1RBUkdFVFMuTUVSQ0hBTlRfQ0VOVEVSX0JBQ0tFTkQsXG4gICAgfSxcbiAgfSk7XG5cbiAgaWYgKGxvYWRpbmcpIHJldHVybiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIHdpZHRoOiAke2Rlc2lnblRva2Vucy5jb25zdHJhaW50Nn07XG4gICAgICBgfVxuICAgID5cbiAgICAgIDxBY2Nlc3NpYmxlSGlkZGVuPlxuICAgICAgICA8c3BhbiBpZD17UFJPSkVDVF9TV0lUQ0hFUl9MQUJFTF9JRH0+XG4gICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2Ugey4uLm1lc3NhZ2VzLnByb2plY3RzTGFiZWx9IC8+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvQWNjZXNzaWJsZUhpZGRlbj5cbiAgICAgIDxTZWxlY3RJbnB1dFxuICAgICAgICB2YWx1ZT17cHJvcHMucHJvamVjdEtleSB8fCAnJ31cbiAgICAgICAgbmFtZT1cInByb2plY3Qtc3dpdGNoZXJcIlxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e1BST0pFQ1RfU1dJVENIRVJfTEFCRUxfSUR9XG4gICAgICAgIG9uQ2hhbmdlPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICBjb25zdCBzZWxlY3RlZFByb2plY3RLZXkgPSBldmVudC50YXJnZXQudmFsdWUgYXMgc3RyaW5nO1xuICAgICAgICAgIGlmIChzZWxlY3RlZFByb2plY3RLZXkgIT09IHByb3BzLnByb2plY3RLZXkpIHtcbiAgICAgICAgICAgIGlmICh3aW5kb3cuYXBwLl9fREVWRUxPUE1FTlRfXz8ub2lkYz8uYXV0aG9yaXplVXJsKSB7XG4gICAgICAgICAgICAgIG9pZGNTdG9yYWdlLnNldEFjdGl2ZVByb2plY3RLZXkoc2VsZWN0ZWRQcm9qZWN0S2V5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gV2Ugc2ltcGx5IHJlZGlyZWN0IHRvIGEgXCJuZXdcIiBicm93c2VyIHBhZ2UsIGluc3RlYWQgb2YgdXNpbmcgdGhlXG4gICAgICAgICAgICAvLyBoaXN0b3J5IHJvdXRlci4gVGhpcyB3aWxsIHNpbXBsaWZ5IGEgbG90IG9mIHRoaW5ncyBhbmQgYXZvaWQgcG9zc2libGVcbiAgICAgICAgICAgIC8vIHByb2JsZW1zIGxpa2UgZS5nLiByZXNldHRpbmcgdGhlIHN0b3JlL3N0YXRlLlxuICAgICAgICAgICAgcmVkaXJlY3RUbyhgLyR7c2VsZWN0ZWRQcm9qZWN0S2V5fWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgb3B0aW9ucz17XG4gICAgICAgICAgZGF0YSAmJiBkYXRhLnVzZXIgJiYgbWFwUHJvamVjdHNUb09wdGlvbnMoZGF0YS51c2VyLnByb2plY3RzLnJlc3VsdHMpXG4gICAgICAgIH1cbiAgICAgICAgaXNPcHRpb25EaXNhYmxlZD17KG9wdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IHByb2plY3QgPSBvcHRpb24gYXMgT3B0aW9uVHlwZTtcbiAgICAgICAgICByZXR1cm4gcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlIHx8IHByb2plY3QuZXhwaXJ5LmlzQWN0aXZlO1xuICAgICAgICB9fVxuICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgT3B0aW9uOiBQcm9qZWN0U3dpdGNoZXJPcHRpb24sXG4gICAgICAgICAgVmFsdWVDb250YWluZXI6ICh2YWx1ZUNvbnRhaW5lclByb3BzKSA9PiAoXG4gICAgICAgICAgICA8UHJvamVjdFN3aXRjaGVyVmFsdWVDb250YWluZXJcbiAgICAgICAgICAgICAgey4uLnZhbHVlQ29udGFpbmVyUHJvcHN9XG4gICAgICAgICAgICAgIHByb2plY3RDb3VudD17XG4gICAgICAgICAgICAgICAgKGRhdGEgJiYgZGF0YS51c2VyICYmIGRhdGEudXNlci5wcm9qZWN0cy5yZXN1bHRzLmxlbmd0aCkgfHwgMFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICksXG4gICAgICAgIH19XG4gICAgICAgIGlzQ2xlYXJhYmxlPXtmYWxzZX1cbiAgICAgICAgYmFja3NwYWNlUmVtb3Zlc1ZhbHVlPXtmYWxzZX1cbiAgICAgICAgcGxhY2Vob2xkZXI9e2ludGwuZm9ybWF0TWVzc2FnZShtZXNzYWdlcy5zZWFyY2hQbGFjZWhvbGRlcil9XG4gICAgICAgIG5vT3B0aW9uc01lc3NhZ2U9eygpID0+IGludGwuZm9ybWF0TWVzc2FnZShtZXNzYWdlcy5ub1Jlc3VsdHMpfVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Qcm9qZWN0U3dpdGNoZXIuZGlzcGxheU5hbWUgPSAnUHJvamVjdFN3aXRjaGVyJztcblxuZXhwb3J0IGRlZmF1bHQgUHJvamVjdFN3aXRjaGVyO1xuIl19 */",
|
|
278
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$
|
|
279
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$5
|
|
279
280
|
};
|
|
280
281
|
var _ref2$2 = process.env.NODE_ENV === "production" ? {
|
|
281
282
|
name: "10s3lzp",
|
|
@@ -284,7 +285,7 @@ var _ref2$2 = process.env.NODE_ENV === "production" ? {
|
|
|
284
285
|
name: "16pedup-ProjectSwitcherOption",
|
|
285
286
|
styles: "word-wrap:break-word;label:ProjectSwitcherOption;",
|
|
286
287
|
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3Qtc3dpdGNoZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlGZ0IiLCJmaWxlIjoicHJvamVjdC1zd2l0Y2hlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgbWVtb2l6ZSBmcm9tICdtZW1vaXplLW9uZSc7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlLCB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgdHlwZSB7IE9wdGlvblByb3BzLCBWYWx1ZUNvbnRhaW5lclByb3BzIH0gZnJvbSAncmVhY3Qtc2VsZWN0JztcbmltcG9ydCB0eXBlIHsgQXBwbGljYXRpb25XaW5kb3cgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuaW1wb3J0IHsgR1JBUEhRTF9UQVJHRVRTIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IHJlcG9ydEVycm9yVG9TZW50cnkgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9zZW50cnknO1xuaW1wb3J0IEFjY2Vzc2libGVIaWRkZW4gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvYWNjZXNzaWJsZS1oaWRkZW4nO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBFcnJvckljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgU2VsZWN0SW5wdXQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2VsZWN0LWlucHV0JztcbmltcG9ydCB7IHVzZU1jUXVlcnkgfSBmcm9tICcuLi8uLi9ob29rcy9hcG9sbG8taG9va3MnO1xuaW1wb3J0IHR5cGUge1xuICBUUHJvamVjdCxcbiAgVEZldGNoVXNlclByb2plY3RzUXVlcnksXG4gIFRGZXRjaFVzZXJQcm9qZWN0c1F1ZXJ5VmFyaWFibGVzLFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG5pbXBvcnQgKiBhcyBvaWRjU3RvcmFnZSBmcm9tICcuLi8uLi91dGlscy9vaWRjLXN0b3JhZ2UnO1xuaW1wb3J0IG1lc3NhZ2VzIGZyb20gJy4vbWVzc2FnZXMnO1xuaW1wb3J0IFByb2plY3RzUXVlcnkgZnJvbSAnLi9wcm9qZWN0LXN3aXRjaGVyLm1jLmdyYXBocWwnO1xuXG5kZWNsYXJlIGxldCB3aW5kb3c6IEFwcGxpY2F0aW9uV2luZG93O1xuXG50eXBlIFByb3BzID0ge1xuICBwcm9qZWN0S2V5Pzogc3RyaW5nO1xufTtcbnR5cGUgT3B0aW9uVHlwZSA9IFBpY2s8VFByb2plY3QsICdrZXknIHwgJ25hbWUnIHwgJ3N1c3BlbnNpb24nIHwgJ2V4cGlyeSc+ICYge1xuICBsYWJlbDogc3RyaW5nO1xufTtcbnR5cGUgQ3VzdG9tVmFsdWVDb250YWluZXJQcm9wcyA9IFZhbHVlQ29udGFpbmVyUHJvcHMgJiB7XG4gIHByb2plY3RDb3VudDogbnVtYmVyO1xufTtcblxuY29uc3QgUFJPSkVDVF9TV0lUQ0hFUl9MQUJFTF9JRCA9ICdwcm9qZWN0LXN3aXRjaGVyLWxhYmVsJztcblxuZXhwb3J0IGNvbnN0IFByb2plY3RTd2l0Y2hlclZhbHVlQ29udGFpbmVyID0gKHtcbiAgcHJvamVjdENvdW50LFxuICAuLi5yZXN0UHJvcHNcbn06IEN1c3RvbVZhbHVlQ29udGFpbmVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICBgfVxuICAgICAgPlxuICAgICAgICA8U2VsZWN0SW5wdXQuVmFsdWVDb250YWluZXIgey4uLnJlc3RQcm9wc30+XG4gICAgICAgICAge3Jlc3RQcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgPC9TZWxlY3RJbnB1dC5WYWx1ZUNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW5cbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsfTtcbiAgICAgICAgICBjb2xvcjogJHtkZXNpZ25Ub2tlbnMuY29sb3JTdXJmYWNlfTtcbiAgICAgICAgICBmb250LXNpemU6ICR7ZGVzaWduVG9rZW5zLmZvbnRTaXplMzB9O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYH1cbiAgICAgID5cbiAgICAgICAge3Byb2plY3RDb3VudH1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcm9qZWN0U3dpdGNoZXJPcHRpb24gPSAocHJvcHM6IE9wdGlvblByb3BzKSA9PiB7XG4gIGNvbnN0IHByb2plY3QgPSBwcm9wcy5kYXRhIGFzIE9wdGlvblR5cGU7XG4gIHJldHVybiAoXG4gICAgPFNlbGVjdElucHV0Lk9wdGlvbiB7Li4ucHJvcHN9PlxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgIGNvbG9yOiAke3Byb3BzLmlzRGlzYWJsZWRcbiAgICAgICAgICAgICAgPyBkZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsXG4gICAgICAgICAgICAgIDogZGVzaWduVG9rZW5zLmNvbG9yQWNjZW50fTtcbiAgICAgICAgICBgfVxuICAgICAgICA+XG4gICAgICAgICAge3Byb2plY3QubmFtZX1cbiAgICAgICAgICB7cHJvcHMuaXNEaXNhYmxlZCAmJiAoXG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RXJyb3JJY29uIHNpemU9XCJtZWRpdW1cIiAvPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBjb2xvcjogJHtwcm9wcy5pc0Rpc2FibGVkID8gZGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbCA6ICdpbmhlcml0J307XG4gICAgICAgICAgYH1cbiAgICAgICAgPlxuICAgICAgICAgIHtwcm9qZWN0LmtleX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIHtwcm9qZWN0LnN1c3BlbnNpb24gJiYgcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlICYmIChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgICBjb2xvcjogJHtkZXNpZ25Ub2tlbnMuY29sb3JFcnJvcn07XG4gICAgICAgICAgICBgfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5zdXNwZW5kZWR9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIHtwcm9qZWN0LmV4cGlyeSAmJiBwcm9qZWN0LmV4cGlyeS5pc0FjdGl2ZSAmJiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgICAgY29sb3I6ICR7ZGVzaWduVG9rZW5zLmNvbG9yRXJyb3J9O1xuICAgICAgICAgICAgYH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXMuZXhwaXJlZH0gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvU2VsZWN0SW5wdXQuT3B0aW9uPlxuICApO1xufTtcblxuY29uc3QgbWFwUHJvamVjdHNUb09wdGlvbnMgPSBtZW1vaXplKChwcm9qZWN0cykgPT5cbiAgcHJvamVjdHMubWFwKChwcm9qZWN0OiBUUHJvamVjdCkgPT4gKHtcbiAgICBrZXk6IHByb2plY3Qua2V5LFxuICAgIG5hbWU6IHByb2plY3QubmFtZSxcbiAgICBsYWJlbDogcHJvamVjdC5uYW1lLFxuICAgIHZhbHVlOiBwcm9qZWN0LmtleSxcbiAgICBzdXNwZW5zaW9uOiBwcm9qZWN0LnN1c3BlbnNpb24sXG4gICAgZXhwaXJ5OiBwcm9qZWN0LmV4cGlyeSxcbiAgfSkpXG4pO1xuXG5jb25zdCByZWRpcmVjdFRvID0gKHRhcmdldFVybDogc3RyaW5nKSA9PiBsb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG5cbmNvbnN0IFByb2plY3RTd2l0Y2hlciA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgY29uc3QgeyBsb2FkaW5nLCBkYXRhIH0gPSB1c2VNY1F1ZXJ5PFxuICAgIFRGZXRjaFVzZXJQcm9qZWN0c1F1ZXJ5LFxuICAgIFRGZXRjaFVzZXJQcm9qZWN0c1F1ZXJ5VmFyaWFibGVzXG4gID4oUHJvamVjdHNRdWVyeSwge1xuICAgIG9uRXJyb3I6IHJlcG9ydEVycm9yVG9TZW50cnksXG4gICAgY29udGV4dDoge1xuICAgICAgdGFyZ2V0OiBHUkFQSFFMX1RBUkdFVFMuTUVSQ0hBTlRfQ0VOVEVSX0JBQ0tFTkQsXG4gICAgfSxcbiAgfSk7XG5cbiAgaWYgKGxvYWRpbmcpIHJldHVybiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIHdpZHRoOiAke2Rlc2lnblRva2Vucy5jb25zdHJhaW50Nn07XG4gICAgICBgfVxuICAgID5cbiAgICAgIDxBY2Nlc3NpYmxlSGlkZGVuPlxuICAgICAgICA8c3BhbiBpZD17UFJPSkVDVF9TV0lUQ0hFUl9MQUJFTF9JRH0+XG4gICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2Ugey4uLm1lc3NhZ2VzLnByb2plY3RzTGFiZWx9IC8+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvQWNjZXNzaWJsZUhpZGRlbj5cbiAgICAgIDxTZWxlY3RJbnB1dFxuICAgICAgICB2YWx1ZT17cHJvcHMucHJvamVjdEtleSB8fCAnJ31cbiAgICAgICAgbmFtZT1cInByb2plY3Qtc3dpdGNoZXJcIlxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e1BST0pFQ1RfU1dJVENIRVJfTEFCRUxfSUR9XG4gICAgICAgIG9uQ2hhbmdlPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICBjb25zdCBzZWxlY3RlZFByb2plY3RLZXkgPSBldmVudC50YXJnZXQudmFsdWUgYXMgc3RyaW5nO1xuICAgICAgICAgIGlmIChzZWxlY3RlZFByb2plY3RLZXkgIT09IHByb3BzLnByb2plY3RLZXkpIHtcbiAgICAgICAgICAgIGlmICh3aW5kb3cuYXBwLl9fREVWRUxPUE1FTlRfXz8ub2lkYz8uYXV0aG9yaXplVXJsKSB7XG4gICAgICAgICAgICAgIG9pZGNTdG9yYWdlLnNldEFjdGl2ZVByb2plY3RLZXkoc2VsZWN0ZWRQcm9qZWN0S2V5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gV2Ugc2ltcGx5IHJlZGlyZWN0IHRvIGEgXCJuZXdcIiBicm93c2VyIHBhZ2UsIGluc3RlYWQgb2YgdXNpbmcgdGhlXG4gICAgICAgICAgICAvLyBoaXN0b3J5IHJvdXRlci4gVGhpcyB3aWxsIHNpbXBsaWZ5IGEgbG90IG9mIHRoaW5ncyBhbmQgYXZvaWQgcG9zc2libGVcbiAgICAgICAgICAgIC8vIHByb2JsZW1zIGxpa2UgZS5nLiByZXNldHRpbmcgdGhlIHN0b3JlL3N0YXRlLlxuICAgICAgICAgICAgcmVkaXJlY3RUbyhgLyR7c2VsZWN0ZWRQcm9qZWN0S2V5fWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgb3B0aW9ucz17XG4gICAgICAgICAgZGF0YSAmJiBkYXRhLnVzZXIgJiYgbWFwUHJvamVjdHNUb09wdGlvbnMoZGF0YS51c2VyLnByb2plY3RzLnJlc3VsdHMpXG4gICAgICAgIH1cbiAgICAgICAgaXNPcHRpb25EaXNhYmxlZD17KG9wdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IHByb2plY3QgPSBvcHRpb24gYXMgT3B0aW9uVHlwZTtcbiAgICAgICAgICByZXR1cm4gcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlIHx8IHByb2plY3QuZXhwaXJ5LmlzQWN0aXZlO1xuICAgICAgICB9fVxuICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgT3B0aW9uOiBQcm9qZWN0U3dpdGNoZXJPcHRpb24sXG4gICAgICAgICAgVmFsdWVDb250YWluZXI6ICh2YWx1ZUNvbnRhaW5lclByb3BzKSA9PiAoXG4gICAgICAgICAgICA8UHJvamVjdFN3aXRjaGVyVmFsdWVDb250YWluZXJcbiAgICAgICAgICAgICAgey4uLnZhbHVlQ29udGFpbmVyUHJvcHN9XG4gICAgICAgICAgICAgIHByb2plY3RDb3VudD17XG4gICAgICAgICAgICAgICAgKGRhdGEgJiYgZGF0YS51c2VyICYmIGRhdGEudXNlci5wcm9qZWN0cy5yZXN1bHRzLmxlbmd0aCkgfHwgMFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICksXG4gICAgICAgIH19XG4gICAgICAgIGlzQ2xlYXJhYmxlPXtmYWxzZX1cbiAgICAgICAgYmFja3NwYWNlUmVtb3Zlc1ZhbHVlPXtmYWxzZX1cbiAgICAgICAgcGxhY2Vob2xkZXI9e2ludGwuZm9ybWF0TWVzc2FnZShtZXNzYWdlcy5zZWFyY2hQbGFjZWhvbGRlcil9XG4gICAgICAgIG5vT3B0aW9uc01lc3NhZ2U9eygpID0+IGludGwuZm9ybWF0TWVzc2FnZShtZXNzYWdlcy5ub1Jlc3VsdHMpfVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Qcm9qZWN0U3dpdGNoZXIuZGlzcGxheU5hbWUgPSAnUHJvamVjdFN3aXRjaGVyJztcblxuZXhwb3J0IGRlZmF1bHQgUHJvamVjdFN3aXRjaGVyO1xuIl19 */",
|
|
287
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$
|
|
288
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$5
|
|
288
289
|
};
|
|
289
290
|
const ProjectSwitcherOption = props => {
|
|
290
291
|
const project = props.data;
|
|
@@ -304,10 +305,10 @@ const ProjectSwitcherOption = props => {
|
|
|
304
305
|
children: project.key
|
|
305
306
|
}), project.suspension && project.suspension.isActive && jsx("div", {
|
|
306
307
|
css: /*#__PURE__*/css("font-size:11px;color:", designTokens.colorError, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:ProjectSwitcherOption;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3Qtc3dpdGNoZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtIb0IiLCJmaWxlIjoicHJvamVjdC1zd2l0Y2hlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgbWVtb2l6ZSBmcm9tICdtZW1vaXplLW9uZSc7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlLCB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgdHlwZSB7IE9wdGlvblByb3BzLCBWYWx1ZUNvbnRhaW5lclByb3BzIH0gZnJvbSAncmVhY3Qtc2VsZWN0JztcbmltcG9ydCB0eXBlIHsgQXBwbGljYXRpb25XaW5kb3cgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuaW1wb3J0IHsgR1JBUEhRTF9UQVJHRVRTIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IHJlcG9ydEVycm9yVG9TZW50cnkgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9zZW50cnknO1xuaW1wb3J0IEFjY2Vzc2libGVIaWRkZW4gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvYWNjZXNzaWJsZS1oaWRkZW4nO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBFcnJvckljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgU2VsZWN0SW5wdXQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2VsZWN0LWlucHV0JztcbmltcG9ydCB7IHVzZU1jUXVlcnkgfSBmcm9tICcuLi8uLi9ob29rcy9hcG9sbG8taG9va3MnO1xuaW1wb3J0IHR5cGUge1xuICBUUHJvamVjdCxcbiAgVEZldGNoVXNlclByb2plY3RzUXVlcnksXG4gIFRGZXRjaFVzZXJQcm9qZWN0c1F1ZXJ5VmFyaWFibGVzLFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG5pbXBvcnQgKiBhcyBvaWRjU3RvcmFnZSBmcm9tICcuLi8uLi91dGlscy9vaWRjLXN0b3JhZ2UnO1xuaW1wb3J0IG1lc3NhZ2VzIGZyb20gJy4vbWVzc2FnZXMnO1xuaW1wb3J0IFByb2plY3RzUXVlcnkgZnJvbSAnLi9wcm9qZWN0LXN3aXRjaGVyLm1jLmdyYXBocWwnO1xuXG5kZWNsYXJlIGxldCB3aW5kb3c6IEFwcGxpY2F0aW9uV2luZG93O1xuXG50eXBlIFByb3BzID0ge1xuICBwcm9qZWN0S2V5Pzogc3RyaW5nO1xufTtcbnR5cGUgT3B0aW9uVHlwZSA9IFBpY2s8VFByb2plY3QsICdrZXknIHwgJ25hbWUnIHwgJ3N1c3BlbnNpb24nIHwgJ2V4cGlyeSc+ICYge1xuICBsYWJlbDogc3RyaW5nO1xufTtcbnR5cGUgQ3VzdG9tVmFsdWVDb250YWluZXJQcm9wcyA9IFZhbHVlQ29udGFpbmVyUHJvcHMgJiB7XG4gIHByb2plY3RDb3VudDogbnVtYmVyO1xufTtcblxuY29uc3QgUFJPSkVDVF9TV0lUQ0hFUl9MQUJFTF9JRCA9ICdwcm9qZWN0LXN3aXRjaGVyLWxhYmVsJztcblxuZXhwb3J0IGNvbnN0IFByb2plY3RTd2l0Y2hlclZhbHVlQ29udGFpbmVyID0gKHtcbiAgcHJvamVjdENvdW50LFxuICAuLi5yZXN0UHJvcHNcbn06IEN1c3RvbVZhbHVlQ29udGFpbmVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICBgfVxuICAgICAgPlxuICAgICAgICA8U2VsZWN0SW5wdXQuVmFsdWVDb250YWluZXIgey4uLnJlc3RQcm9wc30+XG4gICAgICAgICAge3Jlc3RQcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgPC9TZWxlY3RJbnB1dC5WYWx1ZUNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW5cbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsfTtcbiAgICAgICAgICBjb2xvcjogJHtkZXNpZ25Ub2tlbnMuY29sb3JTdXJmYWNlfTtcbiAgICAgICAgICBmb250LXNpemU6ICR7ZGVzaWduVG9rZW5zLmZvbnRTaXplMzB9O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYH1cbiAgICAgID5cbiAgICAgICAge3Byb2plY3RDb3VudH1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcm9qZWN0U3dpdGNoZXJPcHRpb24gPSAocHJvcHM6IE9wdGlvblByb3BzKSA9PiB7XG4gIGNvbnN0IHByb2plY3QgPSBwcm9wcy5kYXRhIGFzIE9wdGlvblR5cGU7XG4gIHJldHVybiAoXG4gICAgPFNlbGVjdElucHV0Lk9wdGlvbiB7Li4ucHJvcHN9PlxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgIGNvbG9yOiAke3Byb3BzLmlzRGlzYWJsZWRcbiAgICAgICAgICAgICAgPyBkZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsXG4gICAgICAgICAgICAgIDogZGVzaWduVG9rZW5zLmNvbG9yQWNjZW50fTtcbiAgICAgICAgICBgfVxuICAgICAgICA+XG4gICAgICAgICAge3Byb2plY3QubmFtZX1cbiAgICAgICAgICB7cHJvcHMuaXNEaXNhYmxlZCAmJiAoXG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RXJyb3JJY29uIHNpemU9XCJtZWRpdW1cIiAvPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBjb2xvcjogJHtwcm9wcy5pc0Rpc2FibGVkID8gZGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbCA6ICdpbmhlcml0J307XG4gICAgICAgICAgYH1cbiAgICAgICAgPlxuICAgICAgICAgIHtwcm9qZWN0LmtleX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIHtwcm9qZWN0LnN1c3BlbnNpb24gJiYgcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlICYmIChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgICBjb2xvcjogJHtkZXNpZ25Ub2tlbnMuY29sb3JFcnJvcn07XG4gICAgICAgICAgICBgfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5zdXNwZW5kZWR9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIHtwcm9qZWN0LmV4cGlyeSAmJiBwcm9qZWN0LmV4cGlyeS5pc0FjdGl2ZSAmJiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgICAgY29sb3I6ICR7ZGVzaWduVG9rZW5zLmNvbG9yRXJyb3J9O1xuICAgICAgICAgICAgYH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXMuZXhwaXJlZH0gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvU2VsZWN0SW5wdXQuT3B0aW9uPlxuICApO1xufTtcblxuY29uc3QgbWFwUHJvamVjdHNUb09wdGlvbnMgPSBtZW1vaXplKChwcm9qZWN0cykgPT5cbiAgcHJvamVjdHMubWFwKChwcm9qZWN0OiBUUHJvamVjdCkgPT4gKHtcbiAgICBrZXk6IHByb2plY3Qua2V5LFxuICAgIG5hbWU6IHByb2plY3QubmFtZSxcbiAgICBsYWJlbDogcHJvamVjdC5uYW1lLFxuICAgIHZhbHVlOiBwcm9qZWN0LmtleSxcbiAgICBzdXNwZW5zaW9uOiBwcm9qZWN0LnN1c3BlbnNpb24sXG4gICAgZXhwaXJ5OiBwcm9qZWN0LmV4cGlyeSxcbiAgfSkpXG4pO1xuXG5jb25zdCByZWRpcmVjdFRvID0gKHRhcmdldFVybDogc3RyaW5nKSA9PiBsb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG5cbmNvbnN0IFByb2plY3RTd2l0Y2hlciA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgY29uc3QgeyBsb2FkaW5nLCBkYXRhIH0gPSB1c2VNY1F1ZXJ5PFxuICAgIFRGZXRjaFVzZXJQcm9qZWN0c1F1ZXJ5LFxuICAgIFRGZXRjaFVzZXJQcm9qZWN0c1F1ZXJ5VmFyaWFibGVzXG4gID4oUHJvamVjdHNRdWVyeSwge1xuICAgIG9uRXJyb3I6IHJlcG9ydEVycm9yVG9TZW50cnksXG4gICAgY29udGV4dDoge1xuICAgICAgdGFyZ2V0OiBHUkFQSFFMX1RBUkdFVFMuTUVSQ0hBTlRfQ0VOVEVSX0JBQ0tFTkQsXG4gICAgfSxcbiAgfSk7XG5cbiAgaWYgKGxvYWRpbmcpIHJldHVybiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIHdpZHRoOiAke2Rlc2lnblRva2Vucy5jb25zdHJhaW50Nn07XG4gICAgICBgfVxuICAgID5cbiAgICAgIDxBY2Nlc3NpYmxlSGlkZGVuPlxuICAgICAgICA8c3BhbiBpZD17UFJPSkVDVF9TV0lUQ0hFUl9MQUJFTF9JRH0+XG4gICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2Ugey4uLm1lc3NhZ2VzLnByb2plY3RzTGFiZWx9IC8+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvQWNjZXNzaWJsZUhpZGRlbj5cbiAgICAgIDxTZWxlY3RJbnB1dFxuICAgICAgICB2YWx1ZT17cHJvcHMucHJvamVjdEtleSB8fCAnJ31cbiAgICAgICAgbmFtZT1cInByb2plY3Qtc3dpdGNoZXJcIlxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e1BST0pFQ1RfU1dJVENIRVJfTEFCRUxfSUR9XG4gICAgICAgIG9uQ2hhbmdlPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICBjb25zdCBzZWxlY3RlZFByb2plY3RLZXkgPSBldmVudC50YXJnZXQudmFsdWUgYXMgc3RyaW5nO1xuICAgICAgICAgIGlmIChzZWxlY3RlZFByb2plY3RLZXkgIT09IHByb3BzLnByb2plY3RLZXkpIHtcbiAgICAgICAgICAgIGlmICh3aW5kb3cuYXBwLl9fREVWRUxPUE1FTlRfXz8ub2lkYz8uYXV0aG9yaXplVXJsKSB7XG4gICAgICAgICAgICAgIG9pZGNTdG9yYWdlLnNldEFjdGl2ZVByb2plY3RLZXkoc2VsZWN0ZWRQcm9qZWN0S2V5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gV2Ugc2ltcGx5IHJlZGlyZWN0IHRvIGEgXCJuZXdcIiBicm93c2VyIHBhZ2UsIGluc3RlYWQgb2YgdXNpbmcgdGhlXG4gICAgICAgICAgICAvLyBoaXN0b3J5IHJvdXRlci4gVGhpcyB3aWxsIHNpbXBsaWZ5IGEgbG90IG9mIHRoaW5ncyBhbmQgYXZvaWQgcG9zc2libGVcbiAgICAgICAgICAgIC8vIHByb2JsZW1zIGxpa2UgZS5nLiByZXNldHRpbmcgdGhlIHN0b3JlL3N0YXRlLlxuICAgICAgICAgICAgcmVkaXJlY3RUbyhgLyR7c2VsZWN0ZWRQcm9qZWN0S2V5fWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgb3B0aW9ucz17XG4gICAgICAgICAgZGF0YSAmJiBkYXRhLnVzZXIgJiYgbWFwUHJvamVjdHNUb09wdGlvbnMoZGF0YS51c2VyLnByb2plY3RzLnJlc3VsdHMpXG4gICAgICAgIH1cbiAgICAgICAgaXNPcHRpb25EaXNhYmxlZD17KG9wdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IHByb2plY3QgPSBvcHRpb24gYXMgT3B0aW9uVHlwZTtcbiAgICAgICAgICByZXR1cm4gcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlIHx8IHByb2plY3QuZXhwaXJ5LmlzQWN0aXZlO1xuICAgICAgICB9fVxuICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgT3B0aW9uOiBQcm9qZWN0U3dpdGNoZXJPcHRpb24sXG4gICAgICAgICAgVmFsdWVDb250YWluZXI6ICh2YWx1ZUNvbnRhaW5lclByb3BzKSA9PiAoXG4gICAgICAgICAgICA8UHJvamVjdFN3aXRjaGVyVmFsdWVDb250YWluZXJcbiAgICAgICAgICAgICAgey4uLnZhbHVlQ29udGFpbmVyUHJvcHN9XG4gICAgICAgICAgICAgIHByb2plY3RDb3VudD17XG4gICAgICAgICAgICAgICAgKGRhdGEgJiYgZGF0YS51c2VyICYmIGRhdGEudXNlci5wcm9qZWN0cy5yZXN1bHRzLmxlbmd0aCkgfHwgMFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICksXG4gICAgICAgIH19XG4gICAgICAgIGlzQ2xlYXJhYmxlPXtmYWxzZX1cbiAgICAgICAgYmFja3NwYWNlUmVtb3Zlc1ZhbHVlPXtmYWxzZX1cbiAgICAgICAgcGxhY2Vob2xkZXI9e2ludGwuZm9ybWF0TWVzc2FnZShtZXNzYWdlcy5zZWFyY2hQbGFjZWhvbGRlcil9XG4gICAgICAgIG5vT3B0aW9uc01lc3NhZ2U9eygpID0+IGludGwuZm9ybWF0TWVzc2FnZShtZXNzYWdlcy5ub1Jlc3VsdHMpfVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Qcm9qZWN0U3dpdGNoZXIuZGlzcGxheU5hbWUgPSAnUHJvamVjdFN3aXRjaGVyJztcblxuZXhwb3J0IGRlZmF1bHQgUHJvamVjdFN3aXRjaGVyO1xuIl19 */"),
|
|
307
|
-
children: jsx(FormattedMessage, _objectSpread$8({}, messages.suspended))
|
|
308
|
+
children: jsx(FormattedMessage, _objectSpread$8({}, messages$1.suspended))
|
|
308
309
|
}), project.expiry && project.expiry.isActive && jsx("div", {
|
|
309
310
|
css: /*#__PURE__*/css("font-size:11px;color:", designTokens.colorError, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:ProjectSwitcherOption;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3Qtc3dpdGNoZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRIb0IiLCJmaWxlIjoicHJvamVjdC1zd2l0Y2hlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgbWVtb2l6ZSBmcm9tICdtZW1vaXplLW9uZSc7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlLCB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgdHlwZSB7IE9wdGlvblByb3BzLCBWYWx1ZUNvbnRhaW5lclByb3BzIH0gZnJvbSAncmVhY3Qtc2VsZWN0JztcbmltcG9ydCB0eXBlIHsgQXBwbGljYXRpb25XaW5kb3cgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuaW1wb3J0IHsgR1JBUEhRTF9UQVJHRVRTIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IHJlcG9ydEVycm9yVG9TZW50cnkgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9zZW50cnknO1xuaW1wb3J0IEFjY2Vzc2libGVIaWRkZW4gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvYWNjZXNzaWJsZS1oaWRkZW4nO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBFcnJvckljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgU2VsZWN0SW5wdXQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2VsZWN0LWlucHV0JztcbmltcG9ydCB7IHVzZU1jUXVlcnkgfSBmcm9tICcuLi8uLi9ob29rcy9hcG9sbG8taG9va3MnO1xuaW1wb3J0IHR5cGUge1xuICBUUHJvamVjdCxcbiAgVEZldGNoVXNlclByb2plY3RzUXVlcnksXG4gIFRGZXRjaFVzZXJQcm9qZWN0c1F1ZXJ5VmFyaWFibGVzLFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG5pbXBvcnQgKiBhcyBvaWRjU3RvcmFnZSBmcm9tICcuLi8uLi91dGlscy9vaWRjLXN0b3JhZ2UnO1xuaW1wb3J0IG1lc3NhZ2VzIGZyb20gJy4vbWVzc2FnZXMnO1xuaW1wb3J0IFByb2plY3RzUXVlcnkgZnJvbSAnLi9wcm9qZWN0LXN3aXRjaGVyLm1jLmdyYXBocWwnO1xuXG5kZWNsYXJlIGxldCB3aW5kb3c6IEFwcGxpY2F0aW9uV2luZG93O1xuXG50eXBlIFByb3BzID0ge1xuICBwcm9qZWN0S2V5Pzogc3RyaW5nO1xufTtcbnR5cGUgT3B0aW9uVHlwZSA9IFBpY2s8VFByb2plY3QsICdrZXknIHwgJ25hbWUnIHwgJ3N1c3BlbnNpb24nIHwgJ2V4cGlyeSc+ICYge1xuICBsYWJlbDogc3RyaW5nO1xufTtcbnR5cGUgQ3VzdG9tVmFsdWVDb250YWluZXJQcm9wcyA9IFZhbHVlQ29udGFpbmVyUHJvcHMgJiB7XG4gIHByb2plY3RDb3VudDogbnVtYmVyO1xufTtcblxuY29uc3QgUFJPSkVDVF9TV0lUQ0hFUl9MQUJFTF9JRCA9ICdwcm9qZWN0LXN3aXRjaGVyLWxhYmVsJztcblxuZXhwb3J0IGNvbnN0IFByb2plY3RTd2l0Y2hlclZhbHVlQ29udGFpbmVyID0gKHtcbiAgcHJvamVjdENvdW50LFxuICAuLi5yZXN0UHJvcHNcbn06IEN1c3RvbVZhbHVlQ29udGFpbmVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICBgfVxuICAgICAgPlxuICAgICAgICA8U2VsZWN0SW5wdXQuVmFsdWVDb250YWluZXIgey4uLnJlc3RQcm9wc30+XG4gICAgICAgICAge3Jlc3RQcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgPC9TZWxlY3RJbnB1dC5WYWx1ZUNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW5cbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsfTtcbiAgICAgICAgICBjb2xvcjogJHtkZXNpZ25Ub2tlbnMuY29sb3JTdXJmYWNlfTtcbiAgICAgICAgICBmb250LXNpemU6ICR7ZGVzaWduVG9rZW5zLmZvbnRTaXplMzB9O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYH1cbiAgICAgID5cbiAgICAgICAge3Byb2plY3RDb3VudH1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcm9qZWN0U3dpdGNoZXJPcHRpb24gPSAocHJvcHM6IE9wdGlvblByb3BzKSA9PiB7XG4gIGNvbnN0IHByb2plY3QgPSBwcm9wcy5kYXRhIGFzIE9wdGlvblR5cGU7XG4gIHJldHVybiAoXG4gICAgPFNlbGVjdElucHV0Lk9wdGlvbiB7Li4ucHJvcHN9PlxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgIGNvbG9yOiAke3Byb3BzLmlzRGlzYWJsZWRcbiAgICAgICAgICAgICAgPyBkZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsXG4gICAgICAgICAgICAgIDogZGVzaWduVG9rZW5zLmNvbG9yQWNjZW50fTtcbiAgICAgICAgICBgfVxuICAgICAgICA+XG4gICAgICAgICAge3Byb2plY3QubmFtZX1cbiAgICAgICAgICB7cHJvcHMuaXNEaXNhYmxlZCAmJiAoXG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RXJyb3JJY29uIHNpemU9XCJtZWRpdW1cIiAvPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBjb2xvcjogJHtwcm9wcy5pc0Rpc2FibGVkID8gZGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbCA6ICdpbmhlcml0J307XG4gICAgICAgICAgYH1cbiAgICAgICAgPlxuICAgICAgICAgIHtwcm9qZWN0LmtleX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIHtwcm9qZWN0LnN1c3BlbnNpb24gJiYgcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlICYmIChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgICBjb2xvcjogJHtkZXNpZ25Ub2tlbnMuY29sb3JFcnJvcn07XG4gICAgICAgICAgICBgfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5zdXNwZW5kZWR9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIHtwcm9qZWN0LmV4cGlyeSAmJiBwcm9qZWN0LmV4cGlyeS5pc0FjdGl2ZSAmJiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgICAgY29sb3I6ICR7ZGVzaWduVG9rZW5zLmNvbG9yRXJyb3J9O1xuICAgICAgICAgICAgYH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXMuZXhwaXJlZH0gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvU2VsZWN0SW5wdXQuT3B0aW9uPlxuICApO1xufTtcblxuY29uc3QgbWFwUHJvamVjdHNUb09wdGlvbnMgPSBtZW1vaXplKChwcm9qZWN0cykgPT5cbiAgcHJvamVjdHMubWFwKChwcm9qZWN0OiBUUHJvamVjdCkgPT4gKHtcbiAgICBrZXk6IHByb2plY3Qua2V5LFxuICAgIG5hbWU6IHByb2plY3QubmFtZSxcbiAgICBsYWJlbDogcHJvamVjdC5uYW1lLFxuICAgIHZhbHVlOiBwcm9qZWN0LmtleSxcbiAgICBzdXNwZW5zaW9uOiBwcm9qZWN0LnN1c3BlbnNpb24sXG4gICAgZXhwaXJ5OiBwcm9qZWN0LmV4cGlyeSxcbiAgfSkpXG4pO1xuXG5jb25zdCByZWRpcmVjdFRvID0gKHRhcmdldFVybDogc3RyaW5nKSA9PiBsb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG5cbmNvbnN0IFByb2plY3RTd2l0Y2hlciA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgY29uc3QgeyBsb2FkaW5nLCBkYXRhIH0gPSB1c2VNY1F1ZXJ5PFxuICAgIFRGZXRjaFVzZXJQcm9qZWN0c1F1ZXJ5LFxuICAgIFRGZXRjaFVzZXJQcm9qZWN0c1F1ZXJ5VmFyaWFibGVzXG4gID4oUHJvamVjdHNRdWVyeSwge1xuICAgIG9uRXJyb3I6IHJlcG9ydEVycm9yVG9TZW50cnksXG4gICAgY29udGV4dDoge1xuICAgICAgdGFyZ2V0OiBHUkFQSFFMX1RBUkdFVFMuTUVSQ0hBTlRfQ0VOVEVSX0JBQ0tFTkQsXG4gICAgfSxcbiAgfSk7XG5cbiAgaWYgKGxvYWRpbmcpIHJldHVybiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIHdpZHRoOiAke2Rlc2lnblRva2Vucy5jb25zdHJhaW50Nn07XG4gICAgICBgfVxuICAgID5cbiAgICAgIDxBY2Nlc3NpYmxlSGlkZGVuPlxuICAgICAgICA8c3BhbiBpZD17UFJPSkVDVF9TV0lUQ0hFUl9MQUJFTF9JRH0+XG4gICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2Ugey4uLm1lc3NhZ2VzLnByb2plY3RzTGFiZWx9IC8+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvQWNjZXNzaWJsZUhpZGRlbj5cbiAgICAgIDxTZWxlY3RJbnB1dFxuICAgICAgICB2YWx1ZT17cHJvcHMucHJvamVjdEtleSB8fCAnJ31cbiAgICAgICAgbmFtZT1cInByb2plY3Qtc3dpdGNoZXJcIlxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e1BST0pFQ1RfU1dJVENIRVJfTEFCRUxfSUR9XG4gICAgICAgIG9uQ2hhbmdlPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICBjb25zdCBzZWxlY3RlZFByb2plY3RLZXkgPSBldmVudC50YXJnZXQudmFsdWUgYXMgc3RyaW5nO1xuICAgICAgICAgIGlmIChzZWxlY3RlZFByb2plY3RLZXkgIT09IHByb3BzLnByb2plY3RLZXkpIHtcbiAgICAgICAgICAgIGlmICh3aW5kb3cuYXBwLl9fREVWRUxPUE1FTlRfXz8ub2lkYz8uYXV0aG9yaXplVXJsKSB7XG4gICAgICAgICAgICAgIG9pZGNTdG9yYWdlLnNldEFjdGl2ZVByb2plY3RLZXkoc2VsZWN0ZWRQcm9qZWN0S2V5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gV2Ugc2ltcGx5IHJlZGlyZWN0IHRvIGEgXCJuZXdcIiBicm93c2VyIHBhZ2UsIGluc3RlYWQgb2YgdXNpbmcgdGhlXG4gICAgICAgICAgICAvLyBoaXN0b3J5IHJvdXRlci4gVGhpcyB3aWxsIHNpbXBsaWZ5IGEgbG90IG9mIHRoaW5ncyBhbmQgYXZvaWQgcG9zc2libGVcbiAgICAgICAgICAgIC8vIHByb2JsZW1zIGxpa2UgZS5nLiByZXNldHRpbmcgdGhlIHN0b3JlL3N0YXRlLlxuICAgICAgICAgICAgcmVkaXJlY3RUbyhgLyR7c2VsZWN0ZWRQcm9qZWN0S2V5fWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgb3B0aW9ucz17XG4gICAgICAgICAgZGF0YSAmJiBkYXRhLnVzZXIgJiYgbWFwUHJvamVjdHNUb09wdGlvbnMoZGF0YS51c2VyLnByb2plY3RzLnJlc3VsdHMpXG4gICAgICAgIH1cbiAgICAgICAgaXNPcHRpb25EaXNhYmxlZD17KG9wdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IHByb2plY3QgPSBvcHRpb24gYXMgT3B0aW9uVHlwZTtcbiAgICAgICAgICByZXR1cm4gcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlIHx8IHByb2plY3QuZXhwaXJ5LmlzQWN0aXZlO1xuICAgICAgICB9fVxuICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgT3B0aW9uOiBQcm9qZWN0U3dpdGNoZXJPcHRpb24sXG4gICAgICAgICAgVmFsdWVDb250YWluZXI6ICh2YWx1ZUNvbnRhaW5lclByb3BzKSA9PiAoXG4gICAgICAgICAgICA8UHJvamVjdFN3aXRjaGVyVmFsdWVDb250YWluZXJcbiAgICAgICAgICAgICAgey4uLnZhbHVlQ29udGFpbmVyUHJvcHN9XG4gICAgICAgICAgICAgIHByb2plY3RDb3VudD17XG4gICAgICAgICAgICAgICAgKGRhdGEgJiYgZGF0YS51c2VyICYmIGRhdGEudXNlci5wcm9qZWN0cy5yZXN1bHRzLmxlbmd0aCkgfHwgMFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICksXG4gICAgICAgIH19XG4gICAgICAgIGlzQ2xlYXJhYmxlPXtmYWxzZX1cbiAgICAgICAgYmFja3NwYWNlUmVtb3Zlc1ZhbHVlPXtmYWxzZX1cbiAgICAgICAgcGxhY2Vob2xkZXI9e2ludGwuZm9ybWF0TWVzc2FnZShtZXNzYWdlcy5zZWFyY2hQbGFjZWhvbGRlcil9XG4gICAgICAgIG5vT3B0aW9uc01lc3NhZ2U9eygpID0+IGludGwuZm9ybWF0TWVzc2FnZShtZXNzYWdlcy5ub1Jlc3VsdHMpfVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Qcm9qZWN0U3dpdGNoZXIuZGlzcGxheU5hbWUgPSAnUHJvamVjdFN3aXRjaGVyJztcblxuZXhwb3J0IGRlZmF1bHQgUHJvamVjdFN3aXRjaGVyO1xuIl19 */"),
|
|
310
|
-
children: jsx(FormattedMessage, _objectSpread$8({}, messages.expired))
|
|
311
|
+
children: jsx(FormattedMessage, _objectSpread$8({}, messages$1.expired))
|
|
311
312
|
})]
|
|
312
313
|
})
|
|
313
314
|
}));
|
|
@@ -337,7 +338,7 @@ const ProjectSwitcher = props => {
|
|
|
337
338
|
children: [jsx(AccessibleHidden, {
|
|
338
339
|
children: jsx("span", {
|
|
339
340
|
id: PROJECT_SWITCHER_LABEL_ID,
|
|
340
|
-
children: jsx(FormattedMessage, _objectSpread$8({}, messages.projectsLabel))
|
|
341
|
+
children: jsx(FormattedMessage, _objectSpread$8({}, messages$1.projectsLabel))
|
|
341
342
|
})
|
|
342
343
|
}), jsx(SelectInput, {
|
|
343
344
|
value: props.projectKey || '',
|
|
@@ -346,8 +347,8 @@ const ProjectSwitcher = props => {
|
|
|
346
347
|
onChange: event => {
|
|
347
348
|
const selectedProjectKey = event.target.value;
|
|
348
349
|
if (selectedProjectKey !== props.projectKey) {
|
|
349
|
-
var _window$app$__DEVELOP
|
|
350
|
-
if ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP !== void 0 && (_window$app$
|
|
350
|
+
var _window$app$__DEVELOP;
|
|
351
|
+
if ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP !== void 0 && (_window$app$__DEVELOP = _window$app$__DEVELOP.oidc) !== null && _window$app$__DEVELOP !== void 0 && _window$app$__DEVELOP.authorizeUrl) {
|
|
351
352
|
setActiveProjectKey(selectedProjectKey);
|
|
352
353
|
}
|
|
353
354
|
|
|
@@ -370,8 +371,8 @@ const ProjectSwitcher = props => {
|
|
|
370
371
|
},
|
|
371
372
|
isClearable: false,
|
|
372
373
|
backspaceRemovesValue: false,
|
|
373
|
-
placeholder: intl.formatMessage(messages.searchPlaceholder),
|
|
374
|
-
noOptionsMessage: () => intl.formatMessage(messages.noResults)
|
|
374
|
+
placeholder: intl.formatMessage(messages$1.searchPlaceholder),
|
|
375
|
+
noOptionsMessage: () => intl.formatMessage(messages$1.noResults)
|
|
375
376
|
})]
|
|
376
377
|
});
|
|
377
378
|
};
|
|
@@ -380,17 +381,17 @@ ProjectSwitcher.displayName = 'ProjectSwitcher';
|
|
|
380
381
|
// eslint-disable-next-line import/prefer-default-export
|
|
381
382
|
const REQUESTS_IN_FLIGHT_LOADER_DOM_ID = 'loader-for-requests-in-flight';
|
|
382
383
|
|
|
383
|
-
const UserSettingsMenu = /*#__PURE__*/lazy(() => import('./user-settings-menu-
|
|
384
|
+
const UserSettingsMenu = /*#__PURE__*/lazy(() => import('./user-settings-menu-8080c4ff.esm.js' /* webpackChunkName: "user-settings-menu" */));
|
|
384
385
|
|
|
385
|
-
function _EMOTION_STRINGIFIED_CSS_ERROR__$
|
|
386
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__$4() { 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)."; }
|
|
386
387
|
var _ref$1 = process.env.NODE_ENV === "production" ? {
|
|
387
388
|
name: "36bnqj",
|
|
388
389
|
styles: "display:flex;flex:1"
|
|
389
390
|
} : {
|
|
390
391
|
name: "p3e2aw-AppBar",
|
|
391
392
|
styles: "display:flex;flex:1;label:AppBar;",
|
|
392
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
393
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$
|
|
393
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1iYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThEa0IiLCJmaWxlIjoiYXBwLWJhci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgYXMgYXBwS2l0RGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tY29tcG9uZW50cyc7XG5pbXBvcnQgTG9nb1NWRyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2xvZ28uc3ZnJztcbmltcG9ydCB7IGRlc2lnblRva2VucyBhcyB1aWtpdERlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCB7IENPTlRBSU5FUlMsIERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUgeyBURmV0Y2hMb2dnZWRJblVzZXJRdWVyeSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9tYyc7XG5pbXBvcnQgeyBnZXRQcmV2aW91c1Byb2plY3RLZXkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgQmFja1RvUHJvamVjdCBmcm9tICcuLi9iYWNrLXRvLXByb2plY3QnO1xuaW1wb3J0IExvYWRpbmdQbGFjZWhvbGRlciBmcm9tICcuLi9sb2FkaW5nLXBsYWNlaG9sZGVyJztcbmltcG9ydCBQcm9qZWN0U3dpdGNoZXIgZnJvbSAnLi4vcHJvamVjdC1zd2l0Y2hlcic7XG5pbXBvcnQgeyBSRVFVRVNUU19JTl9GTElHSFRfTE9BREVSX0RPTV9JRCB9IGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXIvY29uc3RhbnRzJztcbmltcG9ydCBVc2VyU2V0dGluZ3NNZW51IGZyb20gJy4uL3VzZXItc2V0dGluZ3MtbWVudSc7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIHVzZXI6IFRGZXRjaExvZ2dlZEluVXNlclF1ZXJ5Wyd1c2VyJ107XG4gIHByb2plY3RLZXlGcm9tVXJsPzogc3RyaW5nO1xuICBpc05ld05hdmlnYXRpb25FbmFibGVkOiBib29sZWFuO1xufTtcblxuY29uc3QgQXBwQmFyID0gKHByb3BzOiBQcm9wcykgPT4ge1xuICBjb25zdCBwcmV2aW91c1Byb2plY3RLZXkgPSBnZXRQcmV2aW91c1Byb2plY3RLZXkoXG4gICAgcHJvcHMudXNlcj8uZGVmYXVsdFByb2plY3RLZXkgPz8gdW5kZWZpbmVkXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHt1aWtpdERlc2lnblRva2Vucy5jb2xvclN1cmZhY2V9O1xuICAgICAgICBib3gtc2hhZG93OiAke2FwcEtpdERlc2lnblRva2Vucy5zaGFkb3dGb3JBcHBiYXJ9O1xuICAgICAgICBtaW4taGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMjAwMDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGB9XG4gICAgICBkYXRhLXRlc3Q9XCJ0b3AtbmF2aWdhdGlvblwiXG4gICAgPlxuICAgICAgPFNwYWNpbmdzLklubGluZT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgYH1cbiAgICAgICAgPlxuICAgICAgICAgIHshcHJvcHMuaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCAmJlxuICAgICAgICAgICAgKCFwcm9wcy51c2VyID8gKFxuICAgICAgICAgICAgICA8aW1nIHNyYz17TG9nb1NWR30gd2lkdGg9XCIxMDAlXCIgYWx0PVwiTG9nb1wiIC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8YSBocmVmPXtgLyR7cHJldmlvdXNQcm9qZWN0S2V5IHx8ICcnfWB9PlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPXtMb2dvU1ZHfSB3aWR0aD1cIjEwMCVcIiBhbHQ9XCJMb2dvXCIgLz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBpZD17UkVRVUVTVFNfSU5fRkxJR0hUX0xPQURFUl9ET01fSUR9XG4gICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBgfVxuICAgICAgICAvPlxuICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogJHthcHBLaXREZXNpZ25Ub2tlbnMubWFyZ2luUmlnaHRGb3JBcHBiYXJ9O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYH1cbiAgICAgID5cbiAgICAgICAgPFNwYWNpbmdzLklubGluZSBzY2FsZT1cIm1cIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgPFNwYWNpbmdzLklubGluZSBzY2FsZT1cIm1cIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICB7LyogVGhpcyBub2RlIGlzIHVzZWQgYnkgYSByZWFjdCBwb3J0YWwgKi99XG4gICAgICAgICAgICA8ZGl2IGlkPXtDT05UQUlORVJTLkxPQ0FMRV9TV0lUQ0hFUn0gLz5cbiAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXByb3BzLnVzZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gPExvYWRpbmdQbGFjZWhvbGRlciBzaGFwZT1cInJlY3RcIiBzaXplPVwic1wiIC8+O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIFRoZSBgPFByb2plY3RTd2l0Y2hlcj5gIHNob3VsZCBiZSByZW5kZXJlZCBvbmx5IGlmIHRoZVxuICAgICAgICAgICAgICAvLyB1c2VyIGlzIGZldGNoZWQgYW5kIHRoZSB1c2VyIGhhcyBwcm9qZWN0cyB3aGlsZSB0aGUgYXBwIHJ1bnMgaW4gYW4gcHJvamVjdCBjb250ZXh0LlxuICAgICAgICAgICAgICBpZiAocHJvcHMudXNlci5wcm9qZWN0cy50b3RhbCA+IDAgJiYgcHJvcHMucHJvamVjdEtleUZyb21VcmwpXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxQcm9qZWN0U3dpdGNoZXJcbiAgICAgICAgICAgICAgICAgICAgLy8gSW4gdGhpcyBjYXNlIGl0J3Mgbm90IG5lY2Vzc2FyeSB0byBjaGVjayBpZiB0aGUgYHByb2plY3RLZXlgIHBhcmFtXG4gICAgICAgICAgICAgICAgICAgIC8vIGlzIGluY2x1ZGVkIGluIHRoZSBsaXN0IG9mIHByb2plY3RzLiBJbiBzdWNoIGNhc2VcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhlIGRyb3Bkb3duIHdpbGwgc3RpbGwgYmUgcmVuZGVyZWQgYnV0IG5vIHByb2plY3Qgd2lsbCBiZSBzZWxlY3RlZC5cbiAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBmaW5lIGJlY2FzZSB0aGUgdXNlciBoYXMgc3RpbGwgdGhlIHBvc3NpYmlsaXR5IHRvIFwic3dpdGNoXCJcbiAgICAgICAgICAgICAgICAgICAgLy8gdG8gYSBwcm9qZWN0LlxuICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9wcy5wcm9qZWN0S2V5RnJvbVVybCB8fCBwcmV2aW91c1Byb2plY3RLZXl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGlmICghcHJvcHMudXNlci5kZWZhdWx0UHJvamVjdEtleSkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgIHJldHVybiA8QmFja1RvUHJvamVjdCBwcm9qZWN0S2V5PXtwcmV2aW91c1Byb2plY3RLZXl9IC8+O1xuICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCAke3Vpa2l0RGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbDkwfSBzb2xpZDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVySXRlbURpdmlkZXJ9O1xuICAgICAgICAgICAgYH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtwcm9wcy51c2VyID8gKFxuICAgICAgICAgICAgPFVzZXJTZXR0aW5nc01lbnVcbiAgICAgICAgICAgICAgbGFuZ3VhZ2U9e3Byb3BzLnVzZXIubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMudXNlci5maXJzdE5hbWV9XG4gICAgICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy51c2VyLmxhc3ROYW1lfVxuICAgICAgICAgICAgICBncmF2YXRhckhhc2g9e3Byb3BzLnVzZXIuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgICBlbWFpbD17cHJvcHMudXNlci5lbWFpbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxMb2FkaW5nUGxhY2Vob2xkZXIgc2hhcGU9XCJkb3RcIiBzaXplPVwibFwiIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5BcHBCYXIuZGlzcGxheU5hbWUgPSAnQXBwQmFyJztcblxuZXhwb3J0IGRlZmF1bHQgQXBwQmFyO1xuIl19 */",
|
|
394
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$4
|
|
394
395
|
};
|
|
395
396
|
var _ref2$1 = process.env.NODE_ENV === "production" ? {
|
|
396
397
|
name: "hlihg7",
|
|
@@ -398,19 +399,19 @@ var _ref2$1 = process.env.NODE_ENV === "production" ? {
|
|
|
398
399
|
} : {
|
|
399
400
|
name: "13ix1q4-AppBar",
|
|
400
401
|
styles: "display:block;float:left;width:28px;height:32px;margin-left:20px;label:AppBar;",
|
|
401
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
402
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$
|
|
402
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1iYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBDa0IiLCJmaWxlIjoiYXBwLWJhci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgYXMgYXBwS2l0RGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tY29tcG9uZW50cyc7XG5pbXBvcnQgTG9nb1NWRyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2xvZ28uc3ZnJztcbmltcG9ydCB7IGRlc2lnblRva2VucyBhcyB1aWtpdERlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCB7IENPTlRBSU5FUlMsIERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUgeyBURmV0Y2hMb2dnZWRJblVzZXJRdWVyeSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9tYyc7XG5pbXBvcnQgeyBnZXRQcmV2aW91c1Byb2plY3RLZXkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgQmFja1RvUHJvamVjdCBmcm9tICcuLi9iYWNrLXRvLXByb2plY3QnO1xuaW1wb3J0IExvYWRpbmdQbGFjZWhvbGRlciBmcm9tICcuLi9sb2FkaW5nLXBsYWNlaG9sZGVyJztcbmltcG9ydCBQcm9qZWN0U3dpdGNoZXIgZnJvbSAnLi4vcHJvamVjdC1zd2l0Y2hlcic7XG5pbXBvcnQgeyBSRVFVRVNUU19JTl9GTElHSFRfTE9BREVSX0RPTV9JRCB9IGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXIvY29uc3RhbnRzJztcbmltcG9ydCBVc2VyU2V0dGluZ3NNZW51IGZyb20gJy4uL3VzZXItc2V0dGluZ3MtbWVudSc7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIHVzZXI6IFRGZXRjaExvZ2dlZEluVXNlclF1ZXJ5Wyd1c2VyJ107XG4gIHByb2plY3RLZXlGcm9tVXJsPzogc3RyaW5nO1xuICBpc05ld05hdmlnYXRpb25FbmFibGVkOiBib29sZWFuO1xufTtcblxuY29uc3QgQXBwQmFyID0gKHByb3BzOiBQcm9wcykgPT4ge1xuICBjb25zdCBwcmV2aW91c1Byb2plY3RLZXkgPSBnZXRQcmV2aW91c1Byb2plY3RLZXkoXG4gICAgcHJvcHMudXNlcj8uZGVmYXVsdFByb2plY3RLZXkgPz8gdW5kZWZpbmVkXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHt1aWtpdERlc2lnblRva2Vucy5jb2xvclN1cmZhY2V9O1xuICAgICAgICBib3gtc2hhZG93OiAke2FwcEtpdERlc2lnblRva2Vucy5zaGFkb3dGb3JBcHBiYXJ9O1xuICAgICAgICBtaW4taGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMjAwMDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGB9XG4gICAgICBkYXRhLXRlc3Q9XCJ0b3AtbmF2aWdhdGlvblwiXG4gICAgPlxuICAgICAgPFNwYWNpbmdzLklubGluZT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgYH1cbiAgICAgICAgPlxuICAgICAgICAgIHshcHJvcHMuaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCAmJlxuICAgICAgICAgICAgKCFwcm9wcy51c2VyID8gKFxuICAgICAgICAgICAgICA8aW1nIHNyYz17TG9nb1NWR30gd2lkdGg9XCIxMDAlXCIgYWx0PVwiTG9nb1wiIC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8YSBocmVmPXtgLyR7cHJldmlvdXNQcm9qZWN0S2V5IHx8ICcnfWB9PlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPXtMb2dvU1ZHfSB3aWR0aD1cIjEwMCVcIiBhbHQ9XCJMb2dvXCIgLz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBpZD17UkVRVUVTVFNfSU5fRkxJR0hUX0xPQURFUl9ET01fSUR9XG4gICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBgfVxuICAgICAgICAvPlxuICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogJHthcHBLaXREZXNpZ25Ub2tlbnMubWFyZ2luUmlnaHRGb3JBcHBiYXJ9O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYH1cbiAgICAgID5cbiAgICAgICAgPFNwYWNpbmdzLklubGluZSBzY2FsZT1cIm1cIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgPFNwYWNpbmdzLklubGluZSBzY2FsZT1cIm1cIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICB7LyogVGhpcyBub2RlIGlzIHVzZWQgYnkgYSByZWFjdCBwb3J0YWwgKi99XG4gICAgICAgICAgICA8ZGl2IGlkPXtDT05UQUlORVJTLkxPQ0FMRV9TV0lUQ0hFUn0gLz5cbiAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXByb3BzLnVzZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gPExvYWRpbmdQbGFjZWhvbGRlciBzaGFwZT1cInJlY3RcIiBzaXplPVwic1wiIC8+O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIFRoZSBgPFByb2plY3RTd2l0Y2hlcj5gIHNob3VsZCBiZSByZW5kZXJlZCBvbmx5IGlmIHRoZVxuICAgICAgICAgICAgICAvLyB1c2VyIGlzIGZldGNoZWQgYW5kIHRoZSB1c2VyIGhhcyBwcm9qZWN0cyB3aGlsZSB0aGUgYXBwIHJ1bnMgaW4gYW4gcHJvamVjdCBjb250ZXh0LlxuICAgICAgICAgICAgICBpZiAocHJvcHMudXNlci5wcm9qZWN0cy50b3RhbCA+IDAgJiYgcHJvcHMucHJvamVjdEtleUZyb21VcmwpXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxQcm9qZWN0U3dpdGNoZXJcbiAgICAgICAgICAgICAgICAgICAgLy8gSW4gdGhpcyBjYXNlIGl0J3Mgbm90IG5lY2Vzc2FyeSB0byBjaGVjayBpZiB0aGUgYHByb2plY3RLZXlgIHBhcmFtXG4gICAgICAgICAgICAgICAgICAgIC8vIGlzIGluY2x1ZGVkIGluIHRoZSBsaXN0IG9mIHByb2plY3RzLiBJbiBzdWNoIGNhc2VcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhlIGRyb3Bkb3duIHdpbGwgc3RpbGwgYmUgcmVuZGVyZWQgYnV0IG5vIHByb2plY3Qgd2lsbCBiZSBzZWxlY3RlZC5cbiAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBmaW5lIGJlY2FzZSB0aGUgdXNlciBoYXMgc3RpbGwgdGhlIHBvc3NpYmlsaXR5IHRvIFwic3dpdGNoXCJcbiAgICAgICAgICAgICAgICAgICAgLy8gdG8gYSBwcm9qZWN0LlxuICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9wcy5wcm9qZWN0S2V5RnJvbVVybCB8fCBwcmV2aW91c1Byb2plY3RLZXl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGlmICghcHJvcHMudXNlci5kZWZhdWx0UHJvamVjdEtleSkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgIHJldHVybiA8QmFja1RvUHJvamVjdCBwcm9qZWN0S2V5PXtwcmV2aW91c1Byb2plY3RLZXl9IC8+O1xuICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCAke3Vpa2l0RGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbDkwfSBzb2xpZDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVySXRlbURpdmlkZXJ9O1xuICAgICAgICAgICAgYH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtwcm9wcy51c2VyID8gKFxuICAgICAgICAgICAgPFVzZXJTZXR0aW5nc01lbnVcbiAgICAgICAgICAgICAgbGFuZ3VhZ2U9e3Byb3BzLnVzZXIubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMudXNlci5maXJzdE5hbWV9XG4gICAgICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy51c2VyLmxhc3ROYW1lfVxuICAgICAgICAgICAgICBncmF2YXRhckhhc2g9e3Byb3BzLnVzZXIuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgICBlbWFpbD17cHJvcHMudXNlci5lbWFpbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxMb2FkaW5nUGxhY2Vob2xkZXIgc2hhcGU9XCJkb3RcIiBzaXplPVwibFwiIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5BcHBCYXIuZGlzcGxheU5hbWUgPSAnQXBwQmFyJztcblxuZXhwb3J0IGRlZmF1bHQgQXBwQmFyO1xuIl19 */",
|
|
403
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$4
|
|
403
404
|
};
|
|
404
405
|
const AppBar = props => {
|
|
405
406
|
var _props$user$defaultPr, _props$user;
|
|
406
407
|
const previousProjectKey = getPreviousProjectKey((_props$user$defaultPr = (_props$user = props.user) === null || _props$user === void 0 ? void 0 : _props$user.defaultProjectKey) !== null && _props$user$defaultPr !== void 0 ? _props$user$defaultPr : undefined);
|
|
407
408
|
return jsxs("div", {
|
|
408
|
-
css: /*#__PURE__*/css("background-color:", designTokens.colorSurface, ";box-shadow:", designTokens$1.shadowForAppbar, ";min-height:", DIMENSIONS.header, ";position:relative;width:100%;z-index:20000;display:flex;align-items:center;justify-content:space-between;" + (process.env.NODE_ENV === "production" ? "" : ";label:AppBar;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
409
|
+
css: /*#__PURE__*/css("background-color:", designTokens.colorSurface, ";box-shadow:", designTokens$1.shadowForAppbar, ";min-height:", DIMENSIONS.header, ";position:relative;width:100%;z-index:20000;display:flex;align-items:center;justify-content:space-between;" + (process.env.NODE_ENV === "production" ? "" : ";label:AppBar;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1iYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJCYyIsImZpbGUiOiJhcHAtYmFyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGRlc2lnblRva2VucyBhcyBhcHBLaXREZXNpZ25Ub2tlbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCBMb2dvU1ZHIGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2Fzc2V0cy9pbWFnZXMvbG9nby5zdmcnO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIGFzIHVpa2l0RGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgU3BhY2luZ3MgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3MnO1xuaW1wb3J0IHsgQ09OVEFJTkVSUywgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7IFRGZXRjaExvZ2dlZEluVXNlclF1ZXJ5IH0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL21jJztcbmltcG9ydCB7IGdldFByZXZpb3VzUHJvamVjdEtleSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCBCYWNrVG9Qcm9qZWN0IGZyb20gJy4uL2JhY2stdG8tcHJvamVjdCc7XG5pbXBvcnQgTG9hZGluZ1BsYWNlaG9sZGVyIGZyb20gJy4uL2xvYWRpbmctcGxhY2Vob2xkZXInO1xuaW1wb3J0IFByb2plY3RTd2l0Y2hlciBmcm9tICcuLi9wcm9qZWN0LXN3aXRjaGVyJztcbmltcG9ydCB7IFJFUVVFU1RTX0lOX0ZMSUdIVF9MT0FERVJfRE9NX0lEIH0gZnJvbSAnLi4vcmVxdWVzdHMtaW4tZmxpZ2h0LWxvYWRlci9jb25zdGFudHMnO1xuaW1wb3J0IFVzZXJTZXR0aW5nc01lbnUgZnJvbSAnLi4vdXNlci1zZXR0aW5ncy1tZW51JztcblxudHlwZSBQcm9wcyA9IHtcbiAgdXNlcjogVEZldGNoTG9nZ2VkSW5Vc2VyUXVlcnlbJ3VzZXInXTtcbiAgcHJvamVjdEtleUZyb21Vcmw/OiBzdHJpbmc7XG4gIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWQ6IGJvb2xlYW47XG59O1xuXG5jb25zdCBBcHBCYXIgPSAocHJvcHM6IFByb3BzKSA9PiB7XG4gIGNvbnN0IHByZXZpb3VzUHJvamVjdEtleSA9IGdldFByZXZpb3VzUHJvamVjdEtleShcbiAgICBwcm9wcy51c2VyPy5kZWZhdWx0UHJvamVjdEtleSA/PyB1bmRlZmluZWRcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Vpa2l0RGVzaWduVG9rZW5zLmNvbG9yU3VyZmFjZX07XG4gICAgICAgIGJveC1zaGFkb3c6ICR7YXBwS2l0RGVzaWduVG9rZW5zLnNoYWRvd0ZvckFwcGJhcn07XG4gICAgICAgIG1pbi1oZWlnaHQ6ICR7RElNRU5TSU9OUy5oZWFkZXJ9O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAyMDAwMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYH1cbiAgICAgIGRhdGEtdGVzdD1cInRvcC1uYXZpZ2F0aW9uXCJcbiAgICA+XG4gICAgICA8U3BhY2luZ3MuSW5saW5lPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICBgfVxuICAgICAgICA+XG4gICAgICAgICAgeyFwcm9wcy5pc05ld05hdmlnYXRpb25FbmFibGVkICYmXG4gICAgICAgICAgICAoIXByb3BzLnVzZXIgPyAoXG4gICAgICAgICAgICAgIDxpbWcgc3JjPXtMb2dvU1ZHfSB3aWR0aD1cIjEwMCVcIiBhbHQ9XCJMb2dvXCIgLz5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxhIGhyZWY9e2AvJHtwcmV2aW91c1Byb2plY3RLZXkgfHwgJyd9YH0+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9e0xvZ29TVkd9IHdpZHRoPVwiMTAwJVwiIGFsdD1cIkxvZ29cIiAvPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGlkPXtSRVFVRVNUU19JTl9GTElHSFRfTE9BREVSX0RPTV9JRH1cbiAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIGB9XG4gICAgICAgIC8+XG4gICAgICA8L1NwYWNpbmdzLklubGluZT5cblxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAke2FwcEtpdERlc2lnblRva2Vucy5tYXJnaW5SaWdodEZvckFwcGJhcn07XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBgfVxuICAgICAgPlxuICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwibVwiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwibVwiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgIHsvKiBUaGlzIG5vZGUgaXMgdXNlZCBieSBhIHJlYWN0IHBvcnRhbCAqL31cbiAgICAgICAgICAgIDxkaXYgaWQ9e0NPTlRBSU5FUlMuTE9DQUxFX1NXSVRDSEVSfSAvPlxuICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghcHJvcHMudXNlcikge1xuICAgICAgICAgICAgICAgIHJldHVybiA8TG9hZGluZ1BsYWNlaG9sZGVyIHNoYXBlPVwicmVjdFwiIHNpemU9XCJzXCIgLz47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLy8gVGhlIGA8UHJvamVjdFN3aXRjaGVyPmAgc2hvdWxkIGJlIHJlbmRlcmVkIG9ubHkgaWYgdGhlXG4gICAgICAgICAgICAgIC8vIHVzZXIgaXMgZmV0Y2hlZCBhbmQgdGhlIHVzZXIgaGFzIHByb2plY3RzIHdoaWxlIHRoZSBhcHAgcnVucyBpbiBhbiBwcm9qZWN0IGNvbnRleHQuXG4gICAgICAgICAgICAgIGlmIChwcm9wcy51c2VyLnByb2plY3RzLnRvdGFsID4gMCAmJiBwcm9wcy5wcm9qZWN0S2V5RnJvbVVybClcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPFByb2plY3RTd2l0Y2hlclxuICAgICAgICAgICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UgaXQncyBub3QgbmVjZXNzYXJ5IHRvIGNoZWNrIGlmIHRoZSBgcHJvamVjdEtleWAgcGFyYW1cbiAgICAgICAgICAgICAgICAgICAgLy8gaXMgaW5jbHVkZWQgaW4gdGhlIGxpc3Qgb2YgcHJvamVjdHMuIEluIHN1Y2ggY2FzZVxuICAgICAgICAgICAgICAgICAgICAvLyB0aGUgZHJvcGRvd24gd2lsbCBzdGlsbCBiZSByZW5kZXJlZCBidXQgbm8gcHJvamVjdCB3aWxsIGJlIHNlbGVjdGVkLlxuICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGZpbmUgYmVjYXNlIHRoZSB1c2VyIGhhcyBzdGlsbCB0aGUgcG9zc2liaWxpdHkgdG8gXCJzd2l0Y2hcIlxuICAgICAgICAgICAgICAgICAgICAvLyB0byBhIHByb2plY3QuXG4gICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb3BzLnByb2plY3RLZXlGcm9tVXJsIHx8IHByZXZpb3VzUHJvamVjdEtleX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgaWYgKCFwcm9wcy51c2VyLmRlZmF1bHRQcm9qZWN0S2V5KSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgcmV0dXJuIDxCYWNrVG9Qcm9qZWN0IHByb2plY3RLZXk9e3ByZXZpb3VzUHJvamVjdEtleX0gLz47XG4gICAgICAgICAgICB9KSgpfVxuICAgICAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4ICR7dWlraXREZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsOTB9IHNvbGlkO1xuICAgICAgICAgICAgICBoZWlnaHQ6ICR7RElNRU5TSU9OUy5oZWFkZXJJdGVtRGl2aWRlcn07XG4gICAgICAgICAgICBgfVxuICAgICAgICAgIC8+XG4gICAgICAgICAge3Byb3BzLnVzZXIgPyAoXG4gICAgICAgICAgICA8VXNlclNldHRpbmdzTWVudVxuICAgICAgICAgICAgICBsYW5ndWFnZT17cHJvcHMudXNlci5sYW5ndWFnZX1cbiAgICAgICAgICAgICAgZmlyc3ROYW1lPXtwcm9wcy51c2VyLmZpcnN0TmFtZX1cbiAgICAgICAgICAgICAgbGFzdE5hbWU9e3Byb3BzLnVzZXIubGFzdE5hbWV9XG4gICAgICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMudXNlci5ncmF2YXRhckhhc2h9XG4gICAgICAgICAgICAgIGVtYWlsPXtwcm9wcy51c2VyLmVtYWlsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPExvYWRpbmdQbGFjZWhvbGRlciBzaGFwZT1cImRvdFwiIHNpemU9XCJsXCIgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcbkFwcEJhci5kaXNwbGF5TmFtZSA9ICdBcHBCYXInO1xuXG5leHBvcnQgZGVmYXVsdCBBcHBCYXI7XG4iXX0= */"),
|
|
409
410
|
"data-test": "top-navigation",
|
|
410
411
|
children: [jsxs(Spacings.Inline, {
|
|
411
412
|
children: [jsx("div", {
|
|
412
413
|
css: _ref2$1,
|
|
413
|
-
children: !props.user ? jsx("img", {
|
|
414
|
+
children: !props.isNewNavigationEnabled && (!props.user ? jsx("img", {
|
|
414
415
|
src: LogoSVG,
|
|
415
416
|
width: "100%",
|
|
416
417
|
alt: "Logo"
|
|
@@ -421,13 +422,13 @@ const AppBar = props => {
|
|
|
421
422
|
width: "100%",
|
|
422
423
|
alt: "Logo"
|
|
423
424
|
})
|
|
424
|
-
})
|
|
425
|
+
}))
|
|
425
426
|
}), jsx("div", {
|
|
426
427
|
id: REQUESTS_IN_FLIGHT_LOADER_DOM_ID,
|
|
427
428
|
css: _ref$1
|
|
428
429
|
})]
|
|
429
430
|
}), jsx("div", {
|
|
430
|
-
css: /*#__PURE__*/css("float:right;font-weight:normal;font-size:1rem;margin-right:", designTokens$1.marginRightForAppbar, ";display:flex;align-items:center;" + (process.env.NODE_ENV === "production" ? "" : ";label:AppBar;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
431
|
+
css: /*#__PURE__*/css("float:right;font-weight:normal;font-size:1rem;margin-right:", designTokens$1.marginRightForAppbar, ";display:flex;align-items:center;" + (process.env.NODE_ENV === "production" ? "" : ";label:AppBar;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1iYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNFZ0IiLCJmaWxlIjoiYXBwLWJhci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgYXMgYXBwS2l0RGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tY29tcG9uZW50cyc7XG5pbXBvcnQgTG9nb1NWRyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2xvZ28uc3ZnJztcbmltcG9ydCB7IGRlc2lnblRva2VucyBhcyB1aWtpdERlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCB7IENPTlRBSU5FUlMsIERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUgeyBURmV0Y2hMb2dnZWRJblVzZXJRdWVyeSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9tYyc7XG5pbXBvcnQgeyBnZXRQcmV2aW91c1Byb2plY3RLZXkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgQmFja1RvUHJvamVjdCBmcm9tICcuLi9iYWNrLXRvLXByb2plY3QnO1xuaW1wb3J0IExvYWRpbmdQbGFjZWhvbGRlciBmcm9tICcuLi9sb2FkaW5nLXBsYWNlaG9sZGVyJztcbmltcG9ydCBQcm9qZWN0U3dpdGNoZXIgZnJvbSAnLi4vcHJvamVjdC1zd2l0Y2hlcic7XG5pbXBvcnQgeyBSRVFVRVNUU19JTl9GTElHSFRfTE9BREVSX0RPTV9JRCB9IGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXIvY29uc3RhbnRzJztcbmltcG9ydCBVc2VyU2V0dGluZ3NNZW51IGZyb20gJy4uL3VzZXItc2V0dGluZ3MtbWVudSc7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIHVzZXI6IFRGZXRjaExvZ2dlZEluVXNlclF1ZXJ5Wyd1c2VyJ107XG4gIHByb2plY3RLZXlGcm9tVXJsPzogc3RyaW5nO1xuICBpc05ld05hdmlnYXRpb25FbmFibGVkOiBib29sZWFuO1xufTtcblxuY29uc3QgQXBwQmFyID0gKHByb3BzOiBQcm9wcykgPT4ge1xuICBjb25zdCBwcmV2aW91c1Byb2plY3RLZXkgPSBnZXRQcmV2aW91c1Byb2plY3RLZXkoXG4gICAgcHJvcHMudXNlcj8uZGVmYXVsdFByb2plY3RLZXkgPz8gdW5kZWZpbmVkXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHt1aWtpdERlc2lnblRva2Vucy5jb2xvclN1cmZhY2V9O1xuICAgICAgICBib3gtc2hhZG93OiAke2FwcEtpdERlc2lnblRva2Vucy5zaGFkb3dGb3JBcHBiYXJ9O1xuICAgICAgICBtaW4taGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMjAwMDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGB9XG4gICAgICBkYXRhLXRlc3Q9XCJ0b3AtbmF2aWdhdGlvblwiXG4gICAgPlxuICAgICAgPFNwYWNpbmdzLklubGluZT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgYH1cbiAgICAgICAgPlxuICAgICAgICAgIHshcHJvcHMuaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCAmJlxuICAgICAgICAgICAgKCFwcm9wcy51c2VyID8gKFxuICAgICAgICAgICAgICA8aW1nIHNyYz17TG9nb1NWR30gd2lkdGg9XCIxMDAlXCIgYWx0PVwiTG9nb1wiIC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8YSBocmVmPXtgLyR7cHJldmlvdXNQcm9qZWN0S2V5IHx8ICcnfWB9PlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPXtMb2dvU1ZHfSB3aWR0aD1cIjEwMCVcIiBhbHQ9XCJMb2dvXCIgLz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBpZD17UkVRVUVTVFNfSU5fRkxJR0hUX0xPQURFUl9ET01fSUR9XG4gICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBgfVxuICAgICAgICAvPlxuICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogJHthcHBLaXREZXNpZ25Ub2tlbnMubWFyZ2luUmlnaHRGb3JBcHBiYXJ9O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYH1cbiAgICAgID5cbiAgICAgICAgPFNwYWNpbmdzLklubGluZSBzY2FsZT1cIm1cIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgPFNwYWNpbmdzLklubGluZSBzY2FsZT1cIm1cIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICB7LyogVGhpcyBub2RlIGlzIHVzZWQgYnkgYSByZWFjdCBwb3J0YWwgKi99XG4gICAgICAgICAgICA8ZGl2IGlkPXtDT05UQUlORVJTLkxPQ0FMRV9TV0lUQ0hFUn0gLz5cbiAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXByb3BzLnVzZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gPExvYWRpbmdQbGFjZWhvbGRlciBzaGFwZT1cInJlY3RcIiBzaXplPVwic1wiIC8+O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIFRoZSBgPFByb2plY3RTd2l0Y2hlcj5gIHNob3VsZCBiZSByZW5kZXJlZCBvbmx5IGlmIHRoZVxuICAgICAgICAgICAgICAvLyB1c2VyIGlzIGZldGNoZWQgYW5kIHRoZSB1c2VyIGhhcyBwcm9qZWN0cyB3aGlsZSB0aGUgYXBwIHJ1bnMgaW4gYW4gcHJvamVjdCBjb250ZXh0LlxuICAgICAgICAgICAgICBpZiAocHJvcHMudXNlci5wcm9qZWN0cy50b3RhbCA+IDAgJiYgcHJvcHMucHJvamVjdEtleUZyb21VcmwpXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxQcm9qZWN0U3dpdGNoZXJcbiAgICAgICAgICAgICAgICAgICAgLy8gSW4gdGhpcyBjYXNlIGl0J3Mgbm90IG5lY2Vzc2FyeSB0byBjaGVjayBpZiB0aGUgYHByb2plY3RLZXlgIHBhcmFtXG4gICAgICAgICAgICAgICAgICAgIC8vIGlzIGluY2x1ZGVkIGluIHRoZSBsaXN0IG9mIHByb2plY3RzLiBJbiBzdWNoIGNhc2VcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhlIGRyb3Bkb3duIHdpbGwgc3RpbGwgYmUgcmVuZGVyZWQgYnV0IG5vIHByb2plY3Qgd2lsbCBiZSBzZWxlY3RlZC5cbiAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBmaW5lIGJlY2FzZSB0aGUgdXNlciBoYXMgc3RpbGwgdGhlIHBvc3NpYmlsaXR5IHRvIFwic3dpdGNoXCJcbiAgICAgICAgICAgICAgICAgICAgLy8gdG8gYSBwcm9qZWN0LlxuICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9wcy5wcm9qZWN0S2V5RnJvbVVybCB8fCBwcmV2aW91c1Byb2plY3RLZXl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGlmICghcHJvcHMudXNlci5kZWZhdWx0UHJvamVjdEtleSkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgIHJldHVybiA8QmFja1RvUHJvamVjdCBwcm9qZWN0S2V5PXtwcmV2aW91c1Byb2plY3RLZXl9IC8+O1xuICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCAke3Vpa2l0RGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbDkwfSBzb2xpZDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVySXRlbURpdmlkZXJ9O1xuICAgICAgICAgICAgYH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtwcm9wcy51c2VyID8gKFxuICAgICAgICAgICAgPFVzZXJTZXR0aW5nc01lbnVcbiAgICAgICAgICAgICAgbGFuZ3VhZ2U9e3Byb3BzLnVzZXIubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMudXNlci5maXJzdE5hbWV9XG4gICAgICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy51c2VyLmxhc3ROYW1lfVxuICAgICAgICAgICAgICBncmF2YXRhckhhc2g9e3Byb3BzLnVzZXIuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgICBlbWFpbD17cHJvcHMudXNlci5lbWFpbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxMb2FkaW5nUGxhY2Vob2xkZXIgc2hhcGU9XCJkb3RcIiBzaXplPVwibFwiIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5BcHBCYXIuZGlzcGxheU5hbWUgPSAnQXBwQmFyJztcblxuZXhwb3J0IGRlZmF1bHQgQXBwQmFyO1xuIl19 */"),
|
|
431
432
|
children: jsxs(Spacings.Inline, {
|
|
432
433
|
scale: "m",
|
|
433
434
|
alignItems: "center",
|
|
@@ -460,7 +461,7 @@ const AppBar = props => {
|
|
|
460
461
|
});
|
|
461
462
|
})()]
|
|
462
463
|
}), jsx("div", {
|
|
463
|
-
css: /*#__PURE__*/css("border-left:1px ", designTokens.colorNeutral90, " solid;height:", DIMENSIONS.headerItemDivider, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:AppBar;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
464
|
+
css: /*#__PURE__*/css("border-left:1px ", designTokens.colorNeutral90, " solid;height:", DIMENSIONS.headerItemDivider, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:AppBar;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1iYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlHb0IiLCJmaWxlIjoiYXBwLWJhci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgYXMgYXBwS2l0RGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tY29tcG9uZW50cyc7XG5pbXBvcnQgTG9nb1NWRyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2xvZ28uc3ZnJztcbmltcG9ydCB7IGRlc2lnblRva2VucyBhcyB1aWtpdERlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCB7IENPTlRBSU5FUlMsIERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUgeyBURmV0Y2hMb2dnZWRJblVzZXJRdWVyeSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9tYyc7XG5pbXBvcnQgeyBnZXRQcmV2aW91c1Byb2plY3RLZXkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgQmFja1RvUHJvamVjdCBmcm9tICcuLi9iYWNrLXRvLXByb2plY3QnO1xuaW1wb3J0IExvYWRpbmdQbGFjZWhvbGRlciBmcm9tICcuLi9sb2FkaW5nLXBsYWNlaG9sZGVyJztcbmltcG9ydCBQcm9qZWN0U3dpdGNoZXIgZnJvbSAnLi4vcHJvamVjdC1zd2l0Y2hlcic7XG5pbXBvcnQgeyBSRVFVRVNUU19JTl9GTElHSFRfTE9BREVSX0RPTV9JRCB9IGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXIvY29uc3RhbnRzJztcbmltcG9ydCBVc2VyU2V0dGluZ3NNZW51IGZyb20gJy4uL3VzZXItc2V0dGluZ3MtbWVudSc7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIHVzZXI6IFRGZXRjaExvZ2dlZEluVXNlclF1ZXJ5Wyd1c2VyJ107XG4gIHByb2plY3RLZXlGcm9tVXJsPzogc3RyaW5nO1xuICBpc05ld05hdmlnYXRpb25FbmFibGVkOiBib29sZWFuO1xufTtcblxuY29uc3QgQXBwQmFyID0gKHByb3BzOiBQcm9wcykgPT4ge1xuICBjb25zdCBwcmV2aW91c1Byb2plY3RLZXkgPSBnZXRQcmV2aW91c1Byb2plY3RLZXkoXG4gICAgcHJvcHMudXNlcj8uZGVmYXVsdFByb2plY3RLZXkgPz8gdW5kZWZpbmVkXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHt1aWtpdERlc2lnblRva2Vucy5jb2xvclN1cmZhY2V9O1xuICAgICAgICBib3gtc2hhZG93OiAke2FwcEtpdERlc2lnblRva2Vucy5zaGFkb3dGb3JBcHBiYXJ9O1xuICAgICAgICBtaW4taGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMjAwMDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGB9XG4gICAgICBkYXRhLXRlc3Q9XCJ0b3AtbmF2aWdhdGlvblwiXG4gICAgPlxuICAgICAgPFNwYWNpbmdzLklubGluZT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgYH1cbiAgICAgICAgPlxuICAgICAgICAgIHshcHJvcHMuaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCAmJlxuICAgICAgICAgICAgKCFwcm9wcy51c2VyID8gKFxuICAgICAgICAgICAgICA8aW1nIHNyYz17TG9nb1NWR30gd2lkdGg9XCIxMDAlXCIgYWx0PVwiTG9nb1wiIC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8YSBocmVmPXtgLyR7cHJldmlvdXNQcm9qZWN0S2V5IHx8ICcnfWB9PlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPXtMb2dvU1ZHfSB3aWR0aD1cIjEwMCVcIiBhbHQ9XCJMb2dvXCIgLz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBpZD17UkVRVUVTVFNfSU5fRkxJR0hUX0xPQURFUl9ET01fSUR9XG4gICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBgfVxuICAgICAgICAvPlxuICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogJHthcHBLaXREZXNpZ25Ub2tlbnMubWFyZ2luUmlnaHRGb3JBcHBiYXJ9O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYH1cbiAgICAgID5cbiAgICAgICAgPFNwYWNpbmdzLklubGluZSBzY2FsZT1cIm1cIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgPFNwYWNpbmdzLklubGluZSBzY2FsZT1cIm1cIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICB7LyogVGhpcyBub2RlIGlzIHVzZWQgYnkgYSByZWFjdCBwb3J0YWwgKi99XG4gICAgICAgICAgICA8ZGl2IGlkPXtDT05UQUlORVJTLkxPQ0FMRV9TV0lUQ0hFUn0gLz5cbiAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXByb3BzLnVzZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gPExvYWRpbmdQbGFjZWhvbGRlciBzaGFwZT1cInJlY3RcIiBzaXplPVwic1wiIC8+O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIFRoZSBgPFByb2plY3RTd2l0Y2hlcj5gIHNob3VsZCBiZSByZW5kZXJlZCBvbmx5IGlmIHRoZVxuICAgICAgICAgICAgICAvLyB1c2VyIGlzIGZldGNoZWQgYW5kIHRoZSB1c2VyIGhhcyBwcm9qZWN0cyB3aGlsZSB0aGUgYXBwIHJ1bnMgaW4gYW4gcHJvamVjdCBjb250ZXh0LlxuICAgICAgICAgICAgICBpZiAocHJvcHMudXNlci5wcm9qZWN0cy50b3RhbCA+IDAgJiYgcHJvcHMucHJvamVjdEtleUZyb21VcmwpXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxQcm9qZWN0U3dpdGNoZXJcbiAgICAgICAgICAgICAgICAgICAgLy8gSW4gdGhpcyBjYXNlIGl0J3Mgbm90IG5lY2Vzc2FyeSB0byBjaGVjayBpZiB0aGUgYHByb2plY3RLZXlgIHBhcmFtXG4gICAgICAgICAgICAgICAgICAgIC8vIGlzIGluY2x1ZGVkIGluIHRoZSBsaXN0IG9mIHByb2plY3RzLiBJbiBzdWNoIGNhc2VcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhlIGRyb3Bkb3duIHdpbGwgc3RpbGwgYmUgcmVuZGVyZWQgYnV0IG5vIHByb2plY3Qgd2lsbCBiZSBzZWxlY3RlZC5cbiAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBmaW5lIGJlY2FzZSB0aGUgdXNlciBoYXMgc3RpbGwgdGhlIHBvc3NpYmlsaXR5IHRvIFwic3dpdGNoXCJcbiAgICAgICAgICAgICAgICAgICAgLy8gdG8gYSBwcm9qZWN0LlxuICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9wcy5wcm9qZWN0S2V5RnJvbVVybCB8fCBwcmV2aW91c1Byb2plY3RLZXl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGlmICghcHJvcHMudXNlci5kZWZhdWx0UHJvamVjdEtleSkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgIHJldHVybiA8QmFja1RvUHJvamVjdCBwcm9qZWN0S2V5PXtwcmV2aW91c1Byb2plY3RLZXl9IC8+O1xuICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCAke3Vpa2l0RGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbDkwfSBzb2xpZDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVySXRlbURpdmlkZXJ9O1xuICAgICAgICAgICAgYH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtwcm9wcy51c2VyID8gKFxuICAgICAgICAgICAgPFVzZXJTZXR0aW5nc01lbnVcbiAgICAgICAgICAgICAgbGFuZ3VhZ2U9e3Byb3BzLnVzZXIubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMudXNlci5maXJzdE5hbWV9XG4gICAgICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy51c2VyLmxhc3ROYW1lfVxuICAgICAgICAgICAgICBncmF2YXRhckhhc2g9e3Byb3BzLnVzZXIuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgICBlbWFpbD17cHJvcHMudXNlci5lbWFpbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxMb2FkaW5nUGxhY2Vob2xkZXIgc2hhcGU9XCJkb3RcIiBzaXplPVwibFwiIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5BcHBCYXIuZGlzcGxheU5hbWUgPSAnQXBwQmFyJztcblxuZXhwb3J0IGRlZmF1bHQgQXBwQmFyO1xuIl19 */")
|
|
464
465
|
}), props.user ? jsx(UserSettingsMenu, {
|
|
465
466
|
language: props.user.language,
|
|
466
467
|
firstName: props.user.firstName,
|
|
@@ -529,7 +530,7 @@ ConfigureIntlProvider.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
529
530
|
} : {};
|
|
530
531
|
ConfigureIntlProvider.displayName = 'ConfigureIntlProvider';
|
|
531
532
|
|
|
532
|
-
const ErrorApologizer = /*#__PURE__*/lazy(() => import('./error-apologizer-
|
|
533
|
+
const ErrorApologizer = /*#__PURE__*/lazy(() => import('./error-apologizer-76f087f4.esm.js' /* webpackChunkName: "error-apologizer" */));
|
|
533
534
|
|
|
534
535
|
var ProjectQuery = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchProject" }, variableDefinitions: [{ kind: "VariableDefinition", variable: { kind: "Variable", name: { kind: "Name", value: "projectKey" } }, type: { kind: "NamedType", name: { kind: "Name", value: "String" } }, directives: [] }], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "project" }, arguments: [{ kind: "Argument", name: { kind: "Name", value: "key" }, value: { kind: "Variable", name: { kind: "Name", value: "projectKey" } } }], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "version" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "countries" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "currencies" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "languages" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "initialized" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "expiry" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "isActive" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "daysLeft" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "suspension" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "isActive" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "reason" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "allAppliedPermissions" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "allAppliedActionRights" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "group" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "allAppliedDataFences" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "InlineFragment", typeCondition: { kind: "NamedType", name: { kind: "Name", value: "StoreDataFence" } }, directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "type" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "group" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "__typename" }, arguments: [], directives: [] }] } }] } }, { kind: "Field", name: { kind: "Name", value: "allPermissionsForAllApplications" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "allAppliedPermissions" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "allAppliedActionRights" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "group" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "allAppliedMenuVisibilities" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "allAppliedDataFences" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "InlineFragment", typeCondition: { kind: "NamedType", name: { kind: "Name", value: "StoreDataFence" } }, directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "type" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "group" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "__typename" }, arguments: [], directives: [] }] } }] } }] } }, { kind: "Field", name: { kind: "Name", value: "owner" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "sampleDataImportDataset" }, arguments: [], directives: [] }] } }] } }], loc: { start: 0, end: 1025, source: { body: "query FetchProject($projectKey: String) {\n project(key: $projectKey) {\n key\n version\n name\n countries\n currencies\n languages\n initialized\n expiry {\n isActive\n daysLeft\n }\n suspension {\n isActive\n reason\n }\n allAppliedPermissions {\n name\n value\n }\n allAppliedActionRights {\n group\n name\n value\n }\n allAppliedDataFences {\n ... on StoreDataFence {\n type\n name\n value\n group\n __typename\n }\n }\n allPermissionsForAllApplications {\n allAppliedPermissions {\n name\n value\n }\n allAppliedActionRights {\n group\n name\n value\n }\n allAppliedMenuVisibilities {\n name\n value\n }\n allAppliedDataFences {\n ... on StoreDataFence {\n type\n name\n value\n group\n __typename\n }\n }\n }\n owner {\n id\n name\n }\n sampleDataImportDataset\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
|
|
535
536
|
const FetchProject = props => {
|
|
@@ -585,9 +586,9 @@ FetchUser.propTypes = {
|
|
|
585
586
|
};
|
|
586
587
|
FetchUser.displayName = 'FetchUser';
|
|
587
588
|
|
|
588
|
-
const Navbar = /*#__PURE__*/lazy(() => import('./navbar-
|
|
589
|
+
const Navbar = /*#__PURE__*/lazy(() => import('./navbar-8102a43b.esm.js' /* webpackChunkName: "navbar" */));
|
|
589
590
|
|
|
590
|
-
const ProjectContainer = /*#__PURE__*/lazy(() => import('./project-container-
|
|
591
|
+
const ProjectContainer = /*#__PURE__*/lazy(() => import('./project-container-bd9ab58b.esm.js' /* webpackChunkName: "project-container" */));
|
|
591
592
|
|
|
592
593
|
const getSelectedDataLocaleForProject = projectLocales => {
|
|
593
594
|
const cachedDataLocale = window.localStorage.getItem(STORAGE_KEYS.SELECTED_DATA_LOCALE);
|
|
@@ -686,7 +687,7 @@ ErrorBoundary.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
686
687
|
children: _pt.node.isRequired
|
|
687
688
|
} : {};
|
|
688
689
|
|
|
689
|
-
function _EMOTION_STRINGIFIED_CSS_ERROR__$
|
|
690
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__$3() { 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)."; }
|
|
690
691
|
const ButlerContainer = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
|
|
691
692
|
target: "e1fuwyk10"
|
|
692
693
|
} : {
|
|
@@ -699,7 +700,7 @@ const ButlerContainer = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "pr
|
|
|
699
700
|
name: "xvk698",
|
|
700
701
|
styles: "position:absolute;left:0;bottom:0;top:0;right:0;background-color:rgba(0, 0, 0, 0.35);z-index:20001",
|
|
701
702
|
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1dGxlci1jb250YWluZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVrQyIsImZpbGUiOiJidXRsZXItY29udGFpbmVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuY29uc3QgQnV0bGVyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG4gIHotaW5kZXg6IDIwMDAxO1xuYDtcblxuZXhwb3J0IGRlZmF1bHQgQnV0bGVyQ29udGFpbmVyO1xuIl19 */",
|
|
702
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$
|
|
703
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$3
|
|
703
704
|
});
|
|
704
705
|
|
|
705
706
|
var pimIndexerStates = {
|
|
@@ -711,7 +712,7 @@ var pimIndexerStates = {
|
|
|
711
712
|
NOT_INDEXED: 'NOT_INDEXED'
|
|
712
713
|
};
|
|
713
714
|
|
|
714
|
-
const QuickAccess = /*#__PURE__*/lazy(() => import('./quick-access-
|
|
715
|
+
const QuickAccess = /*#__PURE__*/lazy(() => import('./quick-access-134b051c.esm.js' /* webpackChunkName: "quick-access" */));
|
|
715
716
|
|
|
716
717
|
const QuickAccessTrigger = props => {
|
|
717
718
|
const _useState = useState(false),
|
|
@@ -800,7 +801,7 @@ QuickAccessTrigger.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
800
801
|
} : {};
|
|
801
802
|
QuickAccessTrigger.displayName = 'QuickAccessTrigger';
|
|
802
803
|
|
|
803
|
-
const RedirectToLogout = /*#__PURE__*/lazy(() => import('./redirect-to-logout-
|
|
804
|
+
const RedirectToLogout = /*#__PURE__*/lazy(() => import('./redirect-to-logout-732ccf57.esm.js' /* webpackChunkName: "redirect-to-logout" */));
|
|
804
805
|
|
|
805
806
|
const RedirectToProjectCreate = /*#__PURE__*/lazy(() => import('./redirect-to-project-create-c5323504.esm.js' /* webpackChunkName: "redirect-to-project-create" */));
|
|
806
807
|
|
|
@@ -828,8 +829,8 @@ const FLAGS = {
|
|
|
828
829
|
[MAIN_NAVIGATION]: false
|
|
829
830
|
};
|
|
830
831
|
|
|
831
|
-
function ownKeys$7(
|
|
832
|
-
function _objectSpread$7(
|
|
832
|
+
function ownKeys$7(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; }
|
|
833
|
+
function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$7(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$7(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
833
834
|
var FetchAllMenuFeatureToggles = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchAllMenuFeatureToggles" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "allFeatureToggles" }, arguments: [], directives: [] }] } }], loc: { start: 0, end: 57, source: { body: "query FetchAllMenuFeatureToggles {\n allFeatureToggles\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
|
|
834
835
|
const defaultApiUrl = window.location.origin;
|
|
835
836
|
const getDefaultedFeatureToggles = allFeatureToggles => _reduceInstanceProperty(allFeatureToggles).call(allFeatureToggles, (previouslyDefaultedFeatureToggles, nextFeatureToggle) => _objectSpread$7(_objectSpread$7({}, previouslyDefaultedFeatureToggles), {}, {
|
|
@@ -857,8 +858,8 @@ const useAllMenuFeatureToggles = () => {
|
|
|
857
858
|
};
|
|
858
859
|
};
|
|
859
860
|
|
|
860
|
-
function ownKeys$6(
|
|
861
|
-
function _objectSpread$6(
|
|
861
|
+
function ownKeys$6(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; }
|
|
862
|
+
function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context2 = ownKeys$6(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context3 = ownKeys$6(Object(t))).call(_context3, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
862
863
|
var AllFeaturesQuery = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "AllFeatures" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "allFeatures" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "reason" }, arguments: [], directives: [] }] } }] } }], loc: { start: 0, end: 72, source: { body: "query AllFeatures {\n allFeatures {\n name\n value\n reason\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
|
|
863
864
|
// This value is hard-coded here because we want to make sure that the
|
|
864
865
|
// app uses our account of LD. The value is meant to be public, so there
|
|
@@ -974,7 +975,7 @@ const ThemeSwitcher = () => {
|
|
|
974
975
|
});
|
|
975
976
|
};
|
|
976
977
|
|
|
977
|
-
const VersionTracker = /*#__PURE__*/lazy(() => import('./version-tracker-
|
|
978
|
+
const VersionTracker = /*#__PURE__*/lazy(() => import('./version-tracker-cb877c84.esm.js' /* webpackChunkName: "version-tracker" */));
|
|
978
979
|
|
|
979
980
|
// TODO: Remove this file once the new navigation is enabled for all users
|
|
980
981
|
const NewMainNavigationFlagWrapper = props => {
|
|
@@ -989,9 +990,9 @@ const NewMainNavigationFlagWrapper = props => {
|
|
|
989
990
|
});
|
|
990
991
|
};
|
|
991
992
|
|
|
992
|
-
function ownKeys$5(
|
|
993
|
-
function _objectSpread$5(
|
|
994
|
-
function _EMOTION_STRINGIFIED_CSS_ERROR__$
|
|
993
|
+
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; }
|
|
994
|
+
function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context2 = ownKeys$5(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context3 = ownKeys$5(Object(t))).call(_context3, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
995
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__$2() { 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)."; }
|
|
995
996
|
const getHasUnauthorizedError = graphQLErrors => _findInstanceProperty(graphQLErrors).call(graphQLErrors, gqlError => gqlError.extensions && gqlError.extensions.code && gqlError.extensions.code === 'UNAUTHENTICATED');
|
|
996
997
|
const getHasUserBeenDeletedError = graphQLErrors => _findInstanceProperty(graphQLErrors).call(graphQLErrors, gqlError => {
|
|
997
998
|
var _context;
|
|
@@ -1004,7 +1005,7 @@ const MainContainer = /*#__PURE__*/_styled("main", process.env.NODE_ENV === "pro
|
|
|
1004
1005
|
} : {
|
|
1005
1006
|
target: "esrtekc0",
|
|
1006
1007
|
label: "MainContainer"
|
|
1007
|
-
})(props => props.isNewNavigationEnabled ? "\n grid-column: 2/3;\n grid-row: 3/4;\n " : "\n grid-column: 2;\n grid-row: 3;\n ", ";min-width:0;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;position:relative;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLWF1dGhlbnRpY2F0ZWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThFNEQiLCJmaWxlIjoiYXBwbGljYXRpb24tc2hlbGwtYXV0aGVudGljYXRlZC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWZPYmplY3QsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG4gIHVzZVJlZixcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHR5cGUgeyBBcG9sbG9FcnJvciB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2Vycm9ycyc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgeyBSZWRpcmVjdCwgUm91dGUsIFN3aXRjaCwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFBvcnRhbHNDb250YWluZXIgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG4gIHR5cGUgVEFwcGxpY2F0aW9uQ29udGV4dCxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHsgQXN5bmNMb2NhbGVEYXRhIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvaTE4bic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zTGlzdCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3JlYWN0LW5vdGlmaWNhdGlvbnMnO1xuaW1wb3J0IHtcbiAgcmVwb3J0RXJyb3JUb1NlbnRyeSxcbiAgU2VudHJ5VXNlclRyYWNrZXIsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3NlbnRyeSc7XG5pbXBvcnQgeyBESU1FTlNJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsLCBnZXRQcmV2aW91c1Byb2plY3RLZXkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgQXBwQmFyIGZyb20gJy4uL2FwcC1iYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IENvbmZpZ3VyZUludGxQcm92aWRlciBmcm9tICcuLi9jb25maWd1cmUtaW50bC1wcm92aWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBGZXRjaFVzZXIgZnJvbSAnLi4vZmV0Y2gtdXNlcic7XG5pbXBvcnQgTmF2QmFyIGZyb20gJy4uL25hdmJhcic7XG5pbXBvcnQgUHJvamVjdENvbnRhaW5lciBmcm9tICcuLi9wcm9qZWN0LWNvbnRhaW5lcic7XG5pbXBvcnQgUHJvamVjdERhdGFMb2NhbGUgZnJvbSAnLi4vcHJvamVjdC1kYXRhLWxvY2FsZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9nb3V0IGZyb20gJy4uL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5pbXBvcnQgUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgZnJvbSAnLi4vcmVkaXJlY3QtdG8tcHJvamVjdC1jcmVhdGUnO1xuaW1wb3J0IFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgZnJvbSAnLi4vcmVxdWVzdHMtaW4tZmxpZ2h0LWxvYWRlcic7XG5pbXBvcnQgUm91dGVDYXRjaEFsbCBmcm9tICcuLi9yb3V0ZS1jYXRjaC1hbGwnO1xuaW1wb3J0IFNldHVwRmxvcEZsaXBQcm92aWRlciBmcm9tICcuLi9zZXR1cC1mbG9wLWZsaXAtcHJvdmlkZXInO1xuaW1wb3J0IFRoZW1lU3dpdGNoZXIgZnJvbSAnLi4vdGhlbWUtc3dpdGNoZXInO1xuaW1wb3J0IFZlcnNpb25UcmFja2VyIGZyb20gJy4uL3ZlcnNpb24tdHJhY2tlcic7XG5pbXBvcnQgTmV3TWFpbk5hdmlnYXRpb25GbGFnV3JhcHBlciBmcm9tICcuL25ldy1tYWluLW5hdmlnYXRpb24tZmxhZy13cmFwcGVyJztcblxudHlwZSBUQXBwbGljYXRpb25TaGVsbEF1dGhlbnRpY2F0aW9uUHJvcHMgPSB7XG4gIGZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgZGVmYXVsdEZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uTWVudUl0ZW1DbGljaz86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICBkaXNhYmxlUm91dGVQZXJtaXNzaW9uQ2hlY2s/OiBib29sZWFuO1xuICByZW5kZXI/OiAoKSA9PiBKU1guRWxlbWVudDtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG50eXBlIE1haW5Db250YWluZXJQcm9wcyA9IHtcbiAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEhhc1VuYXV0aG9yaXplZEVycm9yID0gKGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ10pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5leHRlbnNpb25zICYmXG4gICAgICBncWxFcnJvci5leHRlbnNpb25zLmNvZGUgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSA9PT0gJ1VOQVVUSEVOVElDQVRFRCdcbiAgKTtcbmNvbnN0IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gKFxuICBncmFwaFFMRXJyb3JzOiBBcG9sbG9FcnJvclsnZ3JhcGhRTEVycm9ycyddXG4pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5tZXNzYWdlICYmXG4gICAgICAvLyBOT1RFOiBUaGUgQ1RQIEFQSSBkb2VzIG5vdCBwcm92aWRlIGFuIGVycm9yIGNvZGUgaW4gdGhpcyBjYXNlLlxuICAgICAgZ3FsRXJyb3IubWVzc2FnZS5pbmNsdWRlcygnd2FzIG5vdCBmb3VuZC4nKVxuICApO1xuXG5leHBvcnQgY29uc3QgTWFpbkNvbnRhaW5lciA9IHN0eWxlZC5tYWluPE1haW5Db250YWluZXJQcm9wcz5gXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgID8gYFxuICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgICAgICBncmlkLXJvdzogMy80O1xuICAgICAgYFxuICAgICAgOiBgXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgIGB9O1xuXG4gIC8qXG4gICAgQWxsb3cgdGhlIHRoaXMgZmxleCBjaGlsZCB0byBncm93IHNtYWxsZXIgdGhhbiBpdHMgc21hbGxlc3QgY29udGVudC5cbiAgICBUaGlzIGlzIG5lZWRlZCB3aGVuIHRoZXJlIGlzIGEgcmVhbGx5IHdpZGUgdGV4dCBpbnNpZGUgdGhhdCB3b3VsZCBzdHJldGNoXG4gICAgdGhpcyBub2RlIHRvIGJlIHdpZGVyIHRoYW4gdGhlIHBhcmVudC5cbiAgKi9cbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAvKlxuICAgIGxheW91dCB0aGUgY2hpbGRyZW4uIFRoZXJlIHdpbGwgYWx3YXlzIGJlIHRoZSBwYWdlIGFuZCBzaWRlIG5vdGlmaWNhdGlvblxuICAgIGFib3V0IHRoZSBhY3R1YWwgY29udGVudC4gVGhlIGNvbnRlbnQgc2hvdWxkIHN0cmV0Y2ggdG8gZmlsbCB0aGUgcmVzdCBvZlxuICAgIHRoZSBwYWdlLlxuICAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8qXG4gICAgc2V0IHBvc2l0aW9uIHRvIHJlbGF0aXZlIHRvIGxheW91dCBub3RpZmljYXRpb25zIGFuZCBtb2RhbHNcbiAgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuZXhwb3J0IGNvbnN0IEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkID0gKFxuICBwcm9wczogVEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGlvblByb3BzXG4pID0+IHtcbiAgY29uc3QgYXBwbGljYXRpb25FbnZpcm9ubWVudCA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dChcbiAgICAoY29udGV4dCkgPT4gY29udGV4dC5lbnZpcm9ubWVudFxuICApIGFzIFRBcHBsaWNhdGlvbkNvbnRleHQ8e30+WydlbnZpcm9ubWVudCddO1xuICAvLyBUT0RPOiB1c2luZyB0aGlzIGhvb2sgd2lsbCBzdWJzY3JpYmUgdGhlIGNvbXBvbmVudCB0byByb3V0ZSB1cGRhdGVzLlxuICAvLyBUaGlzIGlzIGN1cnJlbnRseSB1c2VmdWwgZm9yIGRldGVjdGluZyBhIGNoYW5nZSBpbiB0aGUgcHJvamVjdCBrZXlcbiAgLy8gZnJvbSBVUkwgKFwiL1wiIC0tPiBcIi86cHJvamVjdEtleVwiKS5cbiAgLy8gSG93ZXZlciwgZXZlcnkgcm91dGUgY2hhbmdlIHdpbGwgdHJpZ2dlciBhIHJlLXJlbmRlci4gVGhpcyBpcyBwcm9iYWJseVxuICAvLyBvay1pc2ggYnV0IHdlIG1pZ2h0IHdhbnQgdG8gbG9vayBpbnRvIGEgbW9yZSBwZXJmb3JtYW50IHNvbHV0aW9uLlxuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgY29uc3Qgbm90aWZpY2F0aW9uc0dsb2JhbFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IG5vdGlmaWNhdGlvbnNQYWdlUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgbGF5b3V0UmVmcyA9IHVzZVJlZjx7XG4gICAgbm90aWZpY2F0aW9uc0dsb2JhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgICBub3RpZmljYXRpb25zUGFnZVJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgfT4oe1xuICAgIG5vdGlmaWNhdGlvbnNHbG9iYWxSZWYsXG4gICAgbm90aWZpY2F0aW9uc1BhZ2VSZWYsXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPEZldGNoVXNlcj5cbiAgICAgIHsoeyBpc0xvYWRpbmc6IGlzTG9hZGluZ1VzZXIsIHVzZXIsIGVycm9yIH0pID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgLy8gSW4gY2FzZSB0aGVyZSBpcyBhbiB1bmF1dGhvcml6ZWQgZXJyb3IsIHdlIHJlZGlyZWN0IHRvIHRoZSBsb2dpbiBwYWdlXG4gICAgICAgICAgaWYgKGVycm9yLmdyYXBoUUxFcnJvcnMgJiYgQXJyYXkuaXNBcnJheShlcnJvci5ncmFwaFFMRXJyb3JzKSkge1xuICAgICAgICAgICAgY29uc3QgaGFzVW5hdXRob3JpemVkRXJyb3IgPSBnZXRIYXNVbmF1dGhvcml6ZWRFcnJvcihcbiAgICAgICAgICAgICAgZXJyb3IuZ3JhcGhRTEVycm9yc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvciB8fCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcikge1xuICAgICAgICAgICAgICBsZXQgbG9nb3V0UmVhc29uOlxuICAgICAgICAgICAgICAgIHwgKHR5cGVvZiBMT0dPVVRfUkVBU09OUylba2V5b2YgdHlwZW9mIExPR09VVF9SRUFTT05TXVxuICAgICAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IpXG4gICAgICAgICAgICAgICAgbG9nb3V0UmVhc29uID0gTE9HT1VUX1JFQVNPTlMuVU5BVVRIT1JJWkVEO1xuICAgICAgICAgICAgICBlbHNlIGlmIChoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5ERUxFVEVEO1xuICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dvdXQgcmVhc29uPXtsb2dvdXRSZWFzb259IC8+O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBTaW5jZSB3ZSBkbyBub3Qga25vdyB0aGUgbG9jYWxlIG9mIHRoZSB1c2VyLCB3ZSBwaWNrIGl0IGZyb20gdGhlXG4gICAgICAgICAgLy8gdXNlcidzIGJyb3dzZXIgdG8gYXR0ZW1wdCB0byBtYXRjaCB0aGUgbGFuZ3VhZ2UgZm9yIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9ucy5cbiAgICAgICAgICBjb25zdCB1c2VyTG9jYWxlID0gZ2V0QnJvd3NlckxvY2FsZSh3aW5kb3cpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlckxvY2FsZX1cbiAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgeyh7IGxvY2FsZSwgbWVzc2FnZXMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlcG9ydEVycm9yVG9TZW50cnkoZXJyb3IsIHt9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPENvbmZpZ3VyZUludGxQcm92aWRlciBsb2NhbGU9e2xvY2FsZX0gbWVzc2FnZXM9e21lc3NhZ2VzfT5cbiAgICAgICAgICAgICAgICAgICAgPEVycm9yQXBvbG9naXplciAvPlxuICAgICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcm9qZWN0S2V5RnJvbVVybCA9IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsKGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXJcbiAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7LypcbiAgICAgICAgICAgIE5PVEU6IHdlIGRvIG5vdCB3YW50IHRvIGxvYWQgdGhlIGxvY2FsZSBkYXRhIGFzIGxvbmcgYXMgd2UgZG8gbm90XG4gICAgICAgICAgICBrbm93IHRoZSB1c2VyIHNldHRpbmcuIFRoaXMgaXMgaW1wb3J0YW50IGluIG9yZGVyIHRvIGF2b2lkIGZsYXNoaW5nXG4gICAgICAgICAgICBvZiB0cmFuc2xhdGVkIGNvbnRlbnQgb24gc3Vic2VxdWVudCByZS1yZW5kZXJzLlxuICAgICAgICAgICAgVGhlcmVmb3JlLCBhcyBsb25nIGFzIHRoZXJlIGlzIG5vIGxvY2FsZSwgdGhlIGNoaWxkcmVuIHNob3VsZCBjb25zaWRlciB1c2luZyB0aGVcbiAgICAgICAgICAgIGBpc0xvYWRpbmdgIHByb3AgdG8gZGVjaWRlIHdoYXQgdG8gcmVuZGVyLlxuICAgICAgICAgICovfVxuICAgICAgICAgICAgPEFzeW5jTG9jYWxlRGF0YVxuICAgICAgICAgICAgICBsb2NhbGU9e3VzZXI/Lmxhbmd1YWdlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdMb2NhbGVEYXRhLCBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBwYXNzIHRoZSBsYW5ndWFnZSBhcyBsb25nIGFzIHRoZSBsb2NhbGUgZGF0YVxuICAgICAgICAgICAgICAgICAgLy8gaXMgbm90IGxvYWRlZC5cbiAgICAgICAgICAgICAgICAgIHsuLi4oaXNMb2FkaW5nTG9jYWxlRGF0YSA/IHt9IDogeyBsb2NhbGUsIG1lc3NhZ2VzIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTZXR1cEZsb3BGbGlwUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgIGxkQ2xpZW50U2lkZUlkPXthcHBsaWNhdGlvbkVudmlyb25tZW50LmxkQ2xpZW50U2lkZUlkfVxuICAgICAgICAgICAgICAgICAgICBmbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsvKiBUaGlzIGlzIGEgdGVtcG9yYXJ5IGNvbnRhaW5lci4gSXQgd2lsbCBiZSByZW1vdmVkIG9uY2UgdGhlIG5ldyBuYXZpZ2F0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gKi99XG4gICAgICAgICAgICAgICAgICAgIDxOZXdNYWluTmF2aWdhdGlvbkZsYWdXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHksXG4gICAgICAgICAgICAgICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGhlbWVTd2l0Y2hlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWZXJzaW9uVHJhY2tlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBOT1RFOiB0aGUgcmVxdWVzdHMgaW4gZmxpZ2h0IGxvYWRlciB3aWxsIHJlbmRlciBhIGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGlubmVyIGludG8gdGhlIEFwcEJhci4gKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VudHJ5VXNlclRyYWNrZXIgdXNlcj17dXNlciA/PyB1bmRlZmluZWR9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAke0RJTUVOU0lPTlMuaGVhZGVyfSAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgMWZyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17bm90aWZpY2F0aW9uc0dsb2JhbFJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJhYm92ZS10b3AtbmF2aWdhdGlvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuR0xPQkFMfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2plY3RLZXlGcm9tVXJsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBpc1Byb2plY3RMb2FkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9qZWN0TG9hZGluZyB8fCAhcHJvamVjdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiB1c2VkIG91dHNpZGUgb2YgYSBwcm9qZWN0IGNvbnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3Igd2hlbiB0aGUgcHJvamVjdCBpcyBleHBpcmVkIG9yIHN1cHNlbmRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNob3VsZFVzZVByb2plY3RDb250ZXh0ID0gIShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9qZWN0LnN1c3BlbnNpb24gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3QuZXhwaXJ5ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QuZXhwaXJ5LmlzQWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXNob3VsZFVzZVByb2plY3RDb250ZXh0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdERhdGFMb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlcz17cHJvamVjdC5sYW5ndWFnZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZTogZGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0RGF0YUxvY2FsZT17ZGF0YUxvY2FsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25FbnZpcm9ubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxRdWlja0FjY2Vzc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZVByb2plY3REYXRhTG9jYWxlPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1Byb2plY3REYXRhTG9jYWxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZldGNoUHJvamVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6ICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnMi8zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnMid9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJzIvMydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzEvMyd9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwQmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybD17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hlYWRlcj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzaWRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCA9PT0gZmFsc2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCA9PT0gdHJ1ZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBncmlkLWNvbHVtbjogMS8yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDIvNDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIDxOYXZCYXI+IHNob3VsZCBvbmx5IGJlIHJlbmRlcmVkIHdpdGhpbiBhIHByb2plY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb250ZXh0LCB0aGVyZWZvcmUgd2hlbiB0aGVyZSBpcyBhIGBwcm9qZWN0S2V5YC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBgcHJvamVjdEtleWAgaW4gdGhlIFVSTCAoZS5nLiBgL2FjY291bnRgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcm91dGVzKSwgd2UgZG9uJ3QgcmVuZGVyIGl0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IHdlIGFsc28gXCJjYWNoZVwiIHRoZSBgcHJvamVjdEtleWAgaW4gbG9jYWxTdG9yYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYnV0IHRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCB0byBcInJlLWh5ZHJhdGVcIiB0aGUgVVJMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbG9jYXRpb24gKGUuZyB3aGVuIHlvdSBnbyB0byBgL2AsIHRoZXJlIHNob3VsZCBiZSBhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVkaXJlY3QgdG8gYC86cHJvamVjdEtleWApLiBUaGVyZWZvcmUsIHdlIHNob3VsZCBub3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWx5IG9uIHRoZSB2YWx1ZSBpbiBsb2NhbFN0b3JhZ2UgdG8gZGV0ZXJtaW5lIHdoaWNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYHByb2plY3RLZXlgIGlzIGN1cnJlbnRseSB1c2VkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvamVjdEtleUZyb21VcmwpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmV0Y2hQcm9qZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmc6IGlzTG9hZGluZ1Byb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzTG9hZGluZyA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdVc2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdMb2NhbGVEYXRhIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdQcm9qZWN0IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhbG9jYWxlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhcHJvamVjdDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IGRvIG5vdCBwYXNzIHRoZSBgcHJvamVjdGAgaW50byB0aGUgYXBwbGljYXRpb24gY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHBlcm1pc3Npb25zIGZvciB0aGUgTmF2YmFyIGFyZSByZXNvbHZlZCBzZXBhcmF0ZWx5LCB3aXRoaW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYSBkaWZmZXJlbnQgUmVhY3QgY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5hdkJhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdD17cHJvamVjdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkVudmlyb25tZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbk1lbnVJdGVtQ2xpY2tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHk9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZEV2YWx1YXRpb25SZWFkeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmV0Y2hQcm9qZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzaWRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nVXNlciB8fCBpc0xvYWRpbmdMb2NhbGVEYXRhID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFpbkNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwibWFpblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Mb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9NYWluQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1haW5Db250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cIm1haW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiByZWY9e25vdGlmaWNhdGlvbnNQYWdlUmVmfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuUEFHRX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLlNJREV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgYmVjYXVzZSB3ZSBoYXZlIGFuIGludGVybWVkaWFyeSA8ZGl2PiB3cmFwcGluZyB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXc+IGNvbXBvbmVudCB0aGF0IGlzIHVzZWQgdG8gd3JhcCBldmVyeSBjb250ZW50LXZpZXcuIFRoaXMgaW50ZXJtZWRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+IGlzIHNvbGVseSB1c2VkIGZvciBhZGRpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIGNvbnRlbnQtdmlldy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSG93ZXZlciwgdGhpcyBjb3VsZCBiZSBkb25lIGJ5IHBhc3NpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIDxWaWV3PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbGV0IGl0IGRvIHRoZSBsYXlvdXQsIHNvIHdlIGNhbiBhdm9pZCBsYXlpbmcgb3VyIGZyb20gdGhlIG91dHNpZGUgYXMgd2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gaGVyZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gKjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQb3J0YWxzQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtsYXlvdXRSZWZzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRUb3A9e0RJTUVOU0lPTlMuaGVhZGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRMZWZ0PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBESU1FTlNJT05TLm5hdk1lbnVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzBweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRMZWZ0T25FeHBhbmRlZE1lbnU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXlGcm9tVXJsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IERJTUVOU0lPTlMubmF2TWVudUV4cGFuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcwcHgnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVkaXJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tPVwiL3Byb2ZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPVwiL2FjY291bnQvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2FjY291bnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGByZW5kZXJgIGZ1bmN0aW9uLCB3ZSBhc3N1bWUgaXQncyBvbmUgb2YgdHdvIGNhc2VzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogMS4gVGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IHVzZSBgY2hpbGRyZW5gIGFuZCB0aGVyZWZvcmUgaW1wbGVtZW50cyB0aGUgcm91dGVzIGluY2x1ZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogdGhlIDxSb3V0ZUNhdGNoQWxsPiAodGhpcyBpcyB0aGUgXCJsZWdhY3lcIiBiZWhhdmlvcikuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAyLiBJdCdzIHRoZSBhY2NvdW50IGFwcGxpY2F0aW9uLCB3aGljaCBhbHdheXMgdXNlcyBgcmVuZGVyYCBhbmQgdGhlcmVmb3JlIHNob3VsZCByZW5kZXIgYXMgbm9ybWFsLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGBjaGlsZHJlbmAgZnVuY3Rpb24sIHdlIGNhbiBhbHdheXMgYXNzdW1lIHRoYXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIGl0J3MgYSBub3JtYWwgQ3VzdG9tIEFwcGxpY2F0aW9uIGFuZCB0aGF0IGl0IHNob3VsZCB0cmlnZ2VyIGEgZm9yY2UgcmVsb2FkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5yZW5kZXIgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+e3Byb3BzLnJlbmRlcigpfTwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlQ2F0Y2hBbGwgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBQcm9qZWN0IHJvdXRlcyAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlIGV4YWN0PXt0cnVlfSBwYXRoPVwiL1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNQcm9qZWN0S2V5ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UHJldmlvdXNQcm9qZWN0S2V5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI/LmRlZmF1bHRQcm9qZWN0S2V5ID8/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBOT1RFOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciBoYXMgbm90IGJlZW4gbG9hZGVkIGEgbG9hZGluZyBzcGlubmVyIGlzIHNob3duLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciB3YXMgbm90IHdvcmtpbmcgb24gYSBwcm9qZWN0IHByZXZpb3VzbHkgbm9yIGhhcyBhIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvamVjdCwgdGhlIHVzZXIgd2lsbCBiZSBwcm9tcHRlZCB0byBjcmVhdGUgb25lLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciB3YXMgd29ya2luZyBvbiBhIHByb2plY3QgcHJldmlvdXNseSBvciBoYXMgYSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHByb2plY3QsIHRoZSBhcHBsaWNhdGlvbiB3aWxsIHJlZGlyZWN0IHRvIHRoYXQgcHJvamVjdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF1c2VyKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPEFwcGxpY2F0aW9uTG9hZGVyIC8+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcmV2aW91c1Byb2plY3RLZXkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVkaXJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bz17YC8ke3ByZXZpb3VzUHJvamVjdEtleX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1JvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGUgZXhhY3Q9e2ZhbHNlfSBwYXRoPVwiLzpwcm9qZWN0S2V5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2plY3RDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVSb3V0ZVBlcm1pc3Npb25DaGVjaz17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLmRpc2FibGVSb3V0ZVBlcm1pc3Npb25DaGVja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBlZmZlY3RpdmVseSByZW5kZXJzIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2hpbGRyZW4sIHdoaWNoIGlzIHRoZSBhcHBsaWNhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3BlY2lmaWMgcGFydFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcy5yZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJvamVjdENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L01haW5Db250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9OZXdNYWluTmF2aWdhdGlvbkZsYWdXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgPC9TZXR1cEZsb3BGbGlwUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0FzeW5jTG9jYWxlRGF0YT5cbiAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICApO1xuICAgICAgfX1cbiAgICA8L0ZldGNoVXNlcj5cbiAgKTtcbn07XG5BcHBsaWNhdGlvblNoZWxsQXV0aGVudGljYXRlZC5kaXNwbGF5TmFtZSA9ICdBcHBsaWNhdGlvblNoZWxsQXV0aGVudGljYXRlZCc7XG5cbmV4cG9ydCBkZWZhdWx0IEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkO1xuIl19 */"));
|
|
1008
|
+
})(props => props.isNewNavigationEnabled ? "\n grid-column: 2/3;\n grid-row: 3/4;\n " : "\n grid-column: 2;\n grid-row: 3;\n ", ";min-width:0;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;position:relative;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLWF1dGhlbnRpY2F0ZWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThFNEQiLCJmaWxlIjoiYXBwbGljYXRpb24tc2hlbGwtYXV0aGVudGljYXRlZC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWZPYmplY3QsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG4gIHVzZVJlZixcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHR5cGUgeyBBcG9sbG9FcnJvciB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2Vycm9ycyc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgeyBSZWRpcmVjdCwgUm91dGUsIFN3aXRjaCwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFBvcnRhbHNDb250YWluZXIgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG4gIHR5cGUgVEFwcGxpY2F0aW9uQ29udGV4dCxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHsgQXN5bmNMb2NhbGVEYXRhIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvaTE4bic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zTGlzdCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3JlYWN0LW5vdGlmaWNhdGlvbnMnO1xuaW1wb3J0IHtcbiAgcmVwb3J0RXJyb3JUb1NlbnRyeSxcbiAgU2VudHJ5VXNlclRyYWNrZXIsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3NlbnRyeSc7XG5pbXBvcnQgeyBESU1FTlNJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsLCBnZXRQcmV2aW91c1Byb2plY3RLZXkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgQXBwQmFyIGZyb20gJy4uL2FwcC1iYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IENvbmZpZ3VyZUludGxQcm92aWRlciBmcm9tICcuLi9jb25maWd1cmUtaW50bC1wcm92aWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBGZXRjaFVzZXIgZnJvbSAnLi4vZmV0Y2gtdXNlcic7XG5pbXBvcnQgTmF2QmFyIGZyb20gJy4uL25hdmJhcic7XG5pbXBvcnQgUHJvamVjdENvbnRhaW5lciBmcm9tICcuLi9wcm9qZWN0LWNvbnRhaW5lcic7XG5pbXBvcnQgUHJvamVjdERhdGFMb2NhbGUgZnJvbSAnLi4vcHJvamVjdC1kYXRhLWxvY2FsZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9nb3V0IGZyb20gJy4uL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5pbXBvcnQgUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgZnJvbSAnLi4vcmVkaXJlY3QtdG8tcHJvamVjdC1jcmVhdGUnO1xuaW1wb3J0IFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgZnJvbSAnLi4vcmVxdWVzdHMtaW4tZmxpZ2h0LWxvYWRlcic7XG5pbXBvcnQgUm91dGVDYXRjaEFsbCBmcm9tICcuLi9yb3V0ZS1jYXRjaC1hbGwnO1xuaW1wb3J0IFNldHVwRmxvcEZsaXBQcm92aWRlciBmcm9tICcuLi9zZXR1cC1mbG9wLWZsaXAtcHJvdmlkZXInO1xuaW1wb3J0IFRoZW1lU3dpdGNoZXIgZnJvbSAnLi4vdGhlbWUtc3dpdGNoZXInO1xuaW1wb3J0IFZlcnNpb25UcmFja2VyIGZyb20gJy4uL3ZlcnNpb24tdHJhY2tlcic7XG5pbXBvcnQgTmV3TWFpbk5hdmlnYXRpb25GbGFnV3JhcHBlciBmcm9tICcuL25ldy1tYWluLW5hdmlnYXRpb24tZmxhZy13cmFwcGVyJztcblxudHlwZSBUQXBwbGljYXRpb25TaGVsbEF1dGhlbnRpY2F0aW9uUHJvcHMgPSB7XG4gIGZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgZGVmYXVsdEZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uTWVudUl0ZW1DbGljaz86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICBkaXNhYmxlUm91dGVQZXJtaXNzaW9uQ2hlY2s/OiBib29sZWFuO1xuICByZW5kZXI/OiAoKSA9PiBKU1guRWxlbWVudDtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG50eXBlIE1haW5Db250YWluZXJQcm9wcyA9IHtcbiAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEhhc1VuYXV0aG9yaXplZEVycm9yID0gKGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ10pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5leHRlbnNpb25zICYmXG4gICAgICBncWxFcnJvci5leHRlbnNpb25zLmNvZGUgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSA9PT0gJ1VOQVVUSEVOVElDQVRFRCdcbiAgKTtcbmNvbnN0IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gKFxuICBncmFwaFFMRXJyb3JzOiBBcG9sbG9FcnJvclsnZ3JhcGhRTEVycm9ycyddXG4pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5tZXNzYWdlICYmXG4gICAgICAvLyBOT1RFOiBUaGUgQ1RQIEFQSSBkb2VzIG5vdCBwcm92aWRlIGFuIGVycm9yIGNvZGUgaW4gdGhpcyBjYXNlLlxuICAgICAgZ3FsRXJyb3IubWVzc2FnZS5pbmNsdWRlcygnd2FzIG5vdCBmb3VuZC4nKVxuICApO1xuXG5leHBvcnQgY29uc3QgTWFpbkNvbnRhaW5lciA9IHN0eWxlZC5tYWluPE1haW5Db250YWluZXJQcm9wcz5gXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgID8gYFxuICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgICAgICBncmlkLXJvdzogMy80O1xuICAgICAgYFxuICAgICAgOiBgXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgIGB9O1xuXG4gIC8qXG4gICAgQWxsb3cgdGhlIHRoaXMgZmxleCBjaGlsZCB0byBncm93IHNtYWxsZXIgdGhhbiBpdHMgc21hbGxlc3QgY29udGVudC5cbiAgICBUaGlzIGlzIG5lZWRlZCB3aGVuIHRoZXJlIGlzIGEgcmVhbGx5IHdpZGUgdGV4dCBpbnNpZGUgdGhhdCB3b3VsZCBzdHJldGNoXG4gICAgdGhpcyBub2RlIHRvIGJlIHdpZGVyIHRoYW4gdGhlIHBhcmVudC5cbiAgKi9cbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAvKlxuICAgIGxheW91dCB0aGUgY2hpbGRyZW4uIFRoZXJlIHdpbGwgYWx3YXlzIGJlIHRoZSBwYWdlIGFuZCBzaWRlIG5vdGlmaWNhdGlvblxuICAgIGFib3V0IHRoZSBhY3R1YWwgY29udGVudC4gVGhlIGNvbnRlbnQgc2hvdWxkIHN0cmV0Y2ggdG8gZmlsbCB0aGUgcmVzdCBvZlxuICAgIHRoZSBwYWdlLlxuICAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8qXG4gICAgc2V0IHBvc2l0aW9uIHRvIHJlbGF0aXZlIHRvIGxheW91dCBub3RpZmljYXRpb25zIGFuZCBtb2RhbHNcbiAgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuZXhwb3J0IGNvbnN0IEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkID0gKFxuICBwcm9wczogVEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGlvblByb3BzXG4pID0+IHtcbiAgY29uc3QgYXBwbGljYXRpb25FbnZpcm9ubWVudCA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dChcbiAgICAoY29udGV4dCkgPT4gY29udGV4dC5lbnZpcm9ubWVudFxuICApIGFzIFRBcHBsaWNhdGlvbkNvbnRleHQ8e30+WydlbnZpcm9ubWVudCddO1xuICAvLyBUT0RPOiB1c2luZyB0aGlzIGhvb2sgd2lsbCBzdWJzY3JpYmUgdGhlIGNvbXBvbmVudCB0byByb3V0ZSB1cGRhdGVzLlxuICAvLyBUaGlzIGlzIGN1cnJlbnRseSB1c2VmdWwgZm9yIGRldGVjdGluZyBhIGNoYW5nZSBpbiB0aGUgcHJvamVjdCBrZXlcbiAgLy8gZnJvbSBVUkwgKFwiL1wiIC0tPiBcIi86cHJvamVjdEtleVwiKS5cbiAgLy8gSG93ZXZlciwgZXZlcnkgcm91dGUgY2hhbmdlIHdpbGwgdHJpZ2dlciBhIHJlLXJlbmRlci4gVGhpcyBpcyBwcm9iYWJseVxuICAvLyBvay1pc2ggYnV0IHdlIG1pZ2h0IHdhbnQgdG8gbG9vayBpbnRvIGEgbW9yZSBwZXJmb3JtYW50IHNvbHV0aW9uLlxuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgY29uc3Qgbm90aWZpY2F0aW9uc0dsb2JhbFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IG5vdGlmaWNhdGlvbnNQYWdlUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgbGF5b3V0UmVmcyA9IHVzZVJlZjx7XG4gICAgbm90aWZpY2F0aW9uc0dsb2JhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgICBub3RpZmljYXRpb25zUGFnZVJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgfT4oe1xuICAgIG5vdGlmaWNhdGlvbnNHbG9iYWxSZWYsXG4gICAgbm90aWZpY2F0aW9uc1BhZ2VSZWYsXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPEZldGNoVXNlcj5cbiAgICAgIHsoeyBpc0xvYWRpbmc6IGlzTG9hZGluZ1VzZXIsIHVzZXIsIGVycm9yIH0pID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgLy8gSW4gY2FzZSB0aGVyZSBpcyBhbiB1bmF1dGhvcml6ZWQgZXJyb3IsIHdlIHJlZGlyZWN0IHRvIHRoZSBsb2dpbiBwYWdlXG4gICAgICAgICAgaWYgKGVycm9yLmdyYXBoUUxFcnJvcnMgJiYgQXJyYXkuaXNBcnJheShlcnJvci5ncmFwaFFMRXJyb3JzKSkge1xuICAgICAgICAgICAgY29uc3QgaGFzVW5hdXRob3JpemVkRXJyb3IgPSBnZXRIYXNVbmF1dGhvcml6ZWRFcnJvcihcbiAgICAgICAgICAgICAgZXJyb3IuZ3JhcGhRTEVycm9yc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvciB8fCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcikge1xuICAgICAgICAgICAgICBsZXQgbG9nb3V0UmVhc29uOlxuICAgICAgICAgICAgICAgIHwgKHR5cGVvZiBMT0dPVVRfUkVBU09OUylba2V5b2YgdHlwZW9mIExPR09VVF9SRUFTT05TXVxuICAgICAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IpXG4gICAgICAgICAgICAgICAgbG9nb3V0UmVhc29uID0gTE9HT1VUX1JFQVNPTlMuVU5BVVRIT1JJWkVEO1xuICAgICAgICAgICAgICBlbHNlIGlmIChoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5ERUxFVEVEO1xuICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dvdXQgcmVhc29uPXtsb2dvdXRSZWFzb259IC8+O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBTaW5jZSB3ZSBkbyBub3Qga25vdyB0aGUgbG9jYWxlIG9mIHRoZSB1c2VyLCB3ZSBwaWNrIGl0IGZyb20gdGhlXG4gICAgICAgICAgLy8gdXNlcidzIGJyb3dzZXIgdG8gYXR0ZW1wdCB0byBtYXRjaCB0aGUgbGFuZ3VhZ2UgZm9yIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9ucy5cbiAgICAgICAgICBjb25zdCB1c2VyTG9jYWxlID0gZ2V0QnJvd3NlckxvY2FsZSh3aW5kb3cpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlckxvY2FsZX1cbiAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgeyh7IGxvY2FsZSwgbWVzc2FnZXMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlcG9ydEVycm9yVG9TZW50cnkoZXJyb3IsIHt9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPENvbmZpZ3VyZUludGxQcm92aWRlciBsb2NhbGU9e2xvY2FsZX0gbWVzc2FnZXM9e21lc3NhZ2VzfT5cbiAgICAgICAgICAgICAgICAgICAgPEVycm9yQXBvbG9naXplciAvPlxuICAgICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcm9qZWN0S2V5RnJvbVVybCA9IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsKGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXJcbiAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7LypcbiAgICAgICAgICAgIE5PVEU6IHdlIGRvIG5vdCB3YW50IHRvIGxvYWQgdGhlIGxvY2FsZSBkYXRhIGFzIGxvbmcgYXMgd2UgZG8gbm90XG4gICAgICAgICAgICBrbm93IHRoZSB1c2VyIHNldHRpbmcuIFRoaXMgaXMgaW1wb3J0YW50IGluIG9yZGVyIHRvIGF2b2lkIGZsYXNoaW5nXG4gICAgICAgICAgICBvZiB0cmFuc2xhdGVkIGNvbnRlbnQgb24gc3Vic2VxdWVudCByZS1yZW5kZXJzLlxuICAgICAgICAgICAgVGhlcmVmb3JlLCBhcyBsb25nIGFzIHRoZXJlIGlzIG5vIGxvY2FsZSwgdGhlIGNoaWxkcmVuIHNob3VsZCBjb25zaWRlciB1c2luZyB0aGVcbiAgICAgICAgICAgIGBpc0xvYWRpbmdgIHByb3AgdG8gZGVjaWRlIHdoYXQgdG8gcmVuZGVyLlxuICAgICAgICAgICovfVxuICAgICAgICAgICAgPEFzeW5jTG9jYWxlRGF0YVxuICAgICAgICAgICAgICBsb2NhbGU9e3VzZXI/Lmxhbmd1YWdlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdMb2NhbGVEYXRhLCBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBwYXNzIHRoZSBsYW5ndWFnZSBhcyBsb25nIGFzIHRoZSBsb2NhbGUgZGF0YVxuICAgICAgICAgICAgICAgICAgLy8gaXMgbm90IGxvYWRlZC5cbiAgICAgICAgICAgICAgICAgIHsuLi4oaXNMb2FkaW5nTG9jYWxlRGF0YSA/IHt9IDogeyBsb2NhbGUsIG1lc3NhZ2VzIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTZXR1cEZsb3BGbGlwUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgIGxkQ2xpZW50U2lkZUlkPXthcHBsaWNhdGlvbkVudmlyb25tZW50LmxkQ2xpZW50U2lkZUlkfVxuICAgICAgICAgICAgICAgICAgICBmbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsvKiBUaGlzIGlzIGEgdGVtcG9yYXJ5IGNvbnRhaW5lci4gSXQgd2lsbCBiZSByZW1vdmVkIG9uY2UgdGhlIG5ldyBuYXZpZ2F0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gKi99XG4gICAgICAgICAgICAgICAgICAgIDxOZXdNYWluTmF2aWdhdGlvbkZsYWdXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHksXG4gICAgICAgICAgICAgICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGhlbWVTd2l0Y2hlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWZXJzaW9uVHJhY2tlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBOT1RFOiB0aGUgcmVxdWVzdHMgaW4gZmxpZ2h0IGxvYWRlciB3aWxsIHJlbmRlciBhIGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGlubmVyIGludG8gdGhlIEFwcEJhci4gKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VudHJ5VXNlclRyYWNrZXIgdXNlcj17dXNlciA/PyB1bmRlZmluZWR9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAke0RJTUVOU0lPTlMuaGVhZGVyfSAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgMWZyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17bm90aWZpY2F0aW9uc0dsb2JhbFJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJhYm92ZS10b3AtbmF2aWdhdGlvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuR0xPQkFMfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2plY3RLZXlGcm9tVXJsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBpc1Byb2plY3RMb2FkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9qZWN0TG9hZGluZyB8fCAhcHJvamVjdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiB1c2VkIG91dHNpZGUgb2YgYSBwcm9qZWN0IGNvbnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3Igd2hlbiB0aGUgcHJvamVjdCBpcyBleHBpcmVkIG9yIHN1cHNlbmRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNob3VsZFVzZVByb2plY3RDb250ZXh0ID0gIShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9qZWN0LnN1c3BlbnNpb24gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3QuZXhwaXJ5ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QuZXhwaXJ5LmlzQWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXNob3VsZFVzZVByb2plY3RDb250ZXh0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdERhdGFMb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlcz17cHJvamVjdC5sYW5ndWFnZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZTogZGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0RGF0YUxvY2FsZT17ZGF0YUxvY2FsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25FbnZpcm9ubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxRdWlja0FjY2Vzc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZVByb2plY3REYXRhTG9jYWxlPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1Byb2plY3REYXRhTG9jYWxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZldGNoUHJvamVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6ICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnMi8zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnMid9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJzIvMydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzEvMyd9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwQmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybD17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc2lkZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWQgPT09IGZhbHNlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWQgPT09IHRydWUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZ3JpZC1jb2x1bW46IDEvMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyLzQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO2B9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSA8TmF2QmFyPiBzaG91bGQgb25seSBiZSByZW5kZXJlZCB3aXRoaW4gYSBwcm9qZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29udGV4dCwgdGhlcmVmb3JlIHdoZW4gdGhlcmUgaXMgYSBgcHJvamVjdEtleWAuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gYHByb2plY3RLZXlgIGluIHRoZSBVUkwgKGUuZy4gYC9hY2NvdW50YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJvdXRlcyksIHdlIGRvbid0IHJlbmRlciBpdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiB3ZSBhbHNvIFwiY2FjaGVcIiB0aGUgYHByb2plY3RLZXlgIGluIGxvY2FsU3RvcmFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJ1dCB0aGlzIHNob3VsZCBvbmx5IGJlIHVzZWQgdG8gXCJyZS1oeWRyYXRlXCIgdGhlIFVSTFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxvY2F0aW9uIChlLmcgd2hlbiB5b3UgZ28gdG8gYC9gLCB0aGVyZSBzaG91bGQgYmUgYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlZGlyZWN0IHRvIGAvOnByb2plY3RLZXlgKS4gVGhlcmVmb3JlLCB3ZSBzaG91bGQgbm90XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVseSBvbiB0aGUgdmFsdWUgaW4gbG9jYWxTdG9yYWdlIHRvIGRldGVybWluZSB3aGljaFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGBwcm9qZWN0S2V5YCBpcyBjdXJyZW50bHkgdXNlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2plY3RLZXlGcm9tVXJsKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBpc0xvYWRpbmdQcm9qZWN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0xvYWRpbmcgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nVXNlciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nTG9jYWxlRGF0YSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nUHJvamVjdCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWxvY2FsZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXByb2plY3Q7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiBkbyBub3QgcGFzcyB0aGUgYHByb2plY3RgIGludG8gdGhlIGFwcGxpY2F0aW9uIGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwZXJtaXNzaW9ucyBmb3IgdGhlIE5hdmJhciBhcmUgcmVzb2x2ZWQgc2VwYXJhdGVseSwgd2l0aGluXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGEgZGlmZmVyZW50IFJlYWN0IGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOYXZCYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25FbnZpcm9ubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1lbnVJdGVtQ2xpY2s9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMub25NZW51SXRlbUNsaWNrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZz17aXNMb2FkaW5nfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkRXZhbHVhdGlvblJlYWR5PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZldGNoUHJvamVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc2lkZT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzTG9hZGluZ1VzZXIgfHwgaXNMb2FkaW5nTG9jYWxlRGF0YSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1haW5Db250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cIm1haW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uTG9hZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYWluQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJtYWluXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgcmVmPXtub3RpZmljYXRpb25zUGFnZVJlZn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLlBBR0V9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0IGRvbWFpbj17RE9NQUlOUy5TSURFfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIG9ubHkgbmVjZXNzYXJ5IGJlY2F1c2Ugd2UgaGF2ZSBhbiBpbnRlcm1lZGlhcnkgPGRpdj4gd3JhcHBpbmcgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWaWV3PiBjb21wb25lbnQgdGhhdCBpcyB1c2VkIHRvIHdyYXAgZXZlcnkgY29udGVudC12aWV3LiBUaGlzIGludGVybWVkaWFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PiBpcyBzb2xlbHkgdXNlZCBmb3IgYWRkaW5nIHRoZSB0cmFja2luZyBjb250ZXh0IHRvIHRoZSBjb250ZW50LXZpZXcuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhvd2V2ZXIsIHRoaXMgY291bGQgYmUgZG9uZSBieSBwYXNzaW5nIHRoZSB0cmFja2luZyBjb250ZXh0IHRvIHRoZSA8Vmlldz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGxldCBpdCBkbyB0aGUgbGF5b3V0LCBzbyB3ZSBjYW4gYXZvaWQgbGF5aW5nIG91ciBmcm9tIHRoZSBvdXRzaWRlIGFzIHdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvIGhlcmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+ICo6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UG9ydGFsc0NvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17bGF5b3V0UmVmc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0VG9wPXtESU1FTlNJT05TLmhlYWRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0TGVmdD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleUZyb21VcmxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IERJTUVOU0lPTlMubmV3TmF2TWVudVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IERJTUVOU0lPTlMubmF2TWVudVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnMHB4J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldExlZnRPbkV4cGFuZGVkTWVudT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleUZyb21VcmxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IERJTUVOU0lPTlMubmV3TmF2TWVudUV4cGFuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogRElNRU5TSU9OUy5uYXZNZW51RXhwYW5kZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzBweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb209XCIvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG89XCIvYWNjb3VudC9wcm9maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvYWNjb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYHJlbmRlcmAgZnVuY3Rpb24sIHdlIGFzc3VtZSBpdCdzIG9uZSBvZiB0d28gY2FzZXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAxLiBUaGUgYXBwbGljYXRpb24gZG9lcyBub3QgdXNlIGBjaGlsZHJlbmAgYW5kIHRoZXJlZm9yZSBpbXBsZW1lbnRzIHRoZSByb3V0ZXMgaW5jbHVkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiB0aGUgPFJvdXRlQ2F0Y2hBbGw+ICh0aGlzIGlzIHRoZSBcImxlZ2FjeVwiIGJlaGF2aW9yKS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIDIuIEl0J3MgdGhlIGFjY291bnQgYXBwbGljYXRpb24sIHdoaWNoIGFsd2F5cyB1c2VzIGByZW5kZXJgIGFuZCB0aGVyZWZvcmUgc2hvdWxkIHJlbmRlciBhcyBub3JtYWwuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYGNoaWxkcmVuYCBmdW5jdGlvbiwgd2UgY2FuIGFsd2F5cyBhc3N1bWUgdGhhdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogaXQncyBhIG5vcm1hbCBDdXN0b20gQXBwbGljYXRpb24gYW5kIHRoYXQgaXQgc2hvdWxkIHRyaWdnZXIgYSBmb3JjZSByZWxvYWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLnJlbmRlciA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD57cHJvcHMucmVuZGVyKCl9PC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVDYXRjaEFsbCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey8qIFByb2plY3Qgcm91dGVzICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGUgZXhhY3Q9e3RydWV9IHBhdGg9XCIvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1Byb2plY3RLZXkgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRQcmV2aW91c1Byb2plY3RLZXkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj8uZGVmYXVsdFByb2plY3RLZXkgPz9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIE5PVEU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIGhhcyBub3QgYmVlbiBsb2FkZWQgYSBsb2FkaW5nIHNwaW5uZXIgaXMgc2hvd24uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyBub3Qgd29ya2luZyBvbiBhIHByb2plY3QgcHJldmlvdXNseSBub3IgaGFzIGEgZGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9qZWN0LCB0aGUgdXNlciB3aWxsIGJlIHByb21wdGVkIHRvIGNyZWF0ZSBvbmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyB3b3JraW5nIG9uIGEgcHJvamVjdCBwcmV2aW91c2x5IG9yIGhhcyBhIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvamVjdCwgdGhlIGFwcGxpY2F0aW9uIHdpbGwgcmVkaXJlY3QgdG8gdGhhdCBwcm9qZWN0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXVzZXIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8QXBwbGljYXRpb25Mb2FkZXIgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByZXZpb3VzUHJvamVjdEtleSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPXtgLyR7cHJldmlvdXNQcm9qZWN0S2V5fWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZSBleGFjdD17ZmFsc2V9IHBhdGg9XCIvOnByb2plY3RLZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdENvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVJvdXRlUGVybWlzc2lvbkNoZWNrPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMuZGlzYWJsZVJvdXRlUGVybWlzc2lvbkNoZWNrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGVmZmVjdGl2ZWx5IHJlbmRlcnMgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjaGlsZHJlbiwgd2hpY2ggaXMgdGhlIGFwcGxpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzcGVjaWZpYyBwYXJ0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzLnJlbmRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Qcm9qZWN0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1JvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L05ld01haW5OYXZpZ2F0aW9uRmxhZ1dyYXBwZXI+XG4gICAgICAgICAgICAgICAgICA8L1NldHVwRmxvcEZsaXBQcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvRmV0Y2hVc2VyPlxuICApO1xufTtcbkFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkLmRpc3BsYXlOYW1lID0gJ0FwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkJztcblxuZXhwb3J0IGRlZmF1bHQgQXBwbGljYXRpb25TaGVsbEF1dGhlbnRpY2F0ZWQ7XG4iXX0= */"));
|
|
1008
1009
|
|
|
1009
1010
|
/**
|
|
1010
1011
|
* This component is rendered whenever the user is considered "authenticated"
|
|
@@ -1016,8 +1017,8 @@ var _ref = process.env.NODE_ENV === "production" ? {
|
|
|
1016
1017
|
} : {
|
|
1017
1018
|
name: "1y4p4ln-ApplicationShellAuthenticated",
|
|
1018
1019
|
styles: "flex-grow:1;display:flex;flex-direction:column;position:relative;>*:not(:first-of-type){flex-grow:1;display:flex;flex-direction:column;};label:ApplicationShellAuthenticated;",
|
|
1019
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLWF1dGhlbnRpY2F0ZWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWthNEMiLCJmaWxlIjoiYXBwbGljYXRpb24tc2hlbGwtYXV0aGVudGljYXRlZC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWZPYmplY3QsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG4gIHVzZVJlZixcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHR5cGUgeyBBcG9sbG9FcnJvciB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2Vycm9ycyc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgeyBSZWRpcmVjdCwgUm91dGUsIFN3aXRjaCwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFBvcnRhbHNDb250YWluZXIgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG4gIHR5cGUgVEFwcGxpY2F0aW9uQ29udGV4dCxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHsgQXN5bmNMb2NhbGVEYXRhIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvaTE4bic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zTGlzdCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3JlYWN0LW5vdGlmaWNhdGlvbnMnO1xuaW1wb3J0IHtcbiAgcmVwb3J0RXJyb3JUb1NlbnRyeSxcbiAgU2VudHJ5VXNlclRyYWNrZXIsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3NlbnRyeSc7XG5pbXBvcnQgeyBESU1FTlNJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsLCBnZXRQcmV2aW91c1Byb2plY3RLZXkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgQXBwQmFyIGZyb20gJy4uL2FwcC1iYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IENvbmZpZ3VyZUludGxQcm92aWRlciBmcm9tICcuLi9jb25maWd1cmUtaW50bC1wcm92aWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBGZXRjaFVzZXIgZnJvbSAnLi4vZmV0Y2gtdXNlcic7XG5pbXBvcnQgTmF2QmFyIGZyb20gJy4uL25hdmJhcic7XG5pbXBvcnQgUHJvamVjdENvbnRhaW5lciBmcm9tICcuLi9wcm9qZWN0LWNvbnRhaW5lcic7XG5pbXBvcnQgUHJvamVjdERhdGFMb2NhbGUgZnJvbSAnLi4vcHJvamVjdC1kYXRhLWxvY2FsZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9nb3V0IGZyb20gJy4uL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5pbXBvcnQgUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgZnJvbSAnLi4vcmVkaXJlY3QtdG8tcHJvamVjdC1jcmVhdGUnO1xuaW1wb3J0IFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgZnJvbSAnLi4vcmVxdWVzdHMtaW4tZmxpZ2h0LWxvYWRlcic7XG5pbXBvcnQgUm91dGVDYXRjaEFsbCBmcm9tICcuLi9yb3V0ZS1jYXRjaC1hbGwnO1xuaW1wb3J0IFNldHVwRmxvcEZsaXBQcm92aWRlciBmcm9tICcuLi9zZXR1cC1mbG9wLWZsaXAtcHJvdmlkZXInO1xuaW1wb3J0IFRoZW1lU3dpdGNoZXIgZnJvbSAnLi4vdGhlbWUtc3dpdGNoZXInO1xuaW1wb3J0IFZlcnNpb25UcmFja2VyIGZyb20gJy4uL3ZlcnNpb24tdHJhY2tlcic7XG5pbXBvcnQgTmV3TWFpbk5hdmlnYXRpb25GbGFnV3JhcHBlciBmcm9tICcuL25ldy1tYWluLW5hdmlnYXRpb24tZmxhZy13cmFwcGVyJztcblxudHlwZSBUQXBwbGljYXRpb25TaGVsbEF1dGhlbnRpY2F0aW9uUHJvcHMgPSB7XG4gIGZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgZGVmYXVsdEZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uTWVudUl0ZW1DbGljaz86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICBkaXNhYmxlUm91dGVQZXJtaXNzaW9uQ2hlY2s/OiBib29sZWFuO1xuICByZW5kZXI/OiAoKSA9PiBKU1guRWxlbWVudDtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG50eXBlIE1haW5Db250YWluZXJQcm9wcyA9IHtcbiAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEhhc1VuYXV0aG9yaXplZEVycm9yID0gKGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ10pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5leHRlbnNpb25zICYmXG4gICAgICBncWxFcnJvci5leHRlbnNpb25zLmNvZGUgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSA9PT0gJ1VOQVVUSEVOVElDQVRFRCdcbiAgKTtcbmNvbnN0IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gKFxuICBncmFwaFFMRXJyb3JzOiBBcG9sbG9FcnJvclsnZ3JhcGhRTEVycm9ycyddXG4pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5tZXNzYWdlICYmXG4gICAgICAvLyBOT1RFOiBUaGUgQ1RQIEFQSSBkb2VzIG5vdCBwcm92aWRlIGFuIGVycm9yIGNvZGUgaW4gdGhpcyBjYXNlLlxuICAgICAgZ3FsRXJyb3IubWVzc2FnZS5pbmNsdWRlcygnd2FzIG5vdCBmb3VuZC4nKVxuICApO1xuXG5leHBvcnQgY29uc3QgTWFpbkNvbnRhaW5lciA9IHN0eWxlZC5tYWluPE1haW5Db250YWluZXJQcm9wcz5gXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgID8gYFxuICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgICAgICBncmlkLXJvdzogMy80O1xuICAgICAgYFxuICAgICAgOiBgXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgIGB9O1xuXG4gIC8qXG4gICAgQWxsb3cgdGhlIHRoaXMgZmxleCBjaGlsZCB0byBncm93IHNtYWxsZXIgdGhhbiBpdHMgc21hbGxlc3QgY29udGVudC5cbiAgICBUaGlzIGlzIG5lZWRlZCB3aGVuIHRoZXJlIGlzIGEgcmVhbGx5IHdpZGUgdGV4dCBpbnNpZGUgdGhhdCB3b3VsZCBzdHJldGNoXG4gICAgdGhpcyBub2RlIHRvIGJlIHdpZGVyIHRoYW4gdGhlIHBhcmVudC5cbiAgKi9cbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAvKlxuICAgIGxheW91dCB0aGUgY2hpbGRyZW4uIFRoZXJlIHdpbGwgYWx3YXlzIGJlIHRoZSBwYWdlIGFuZCBzaWRlIG5vdGlmaWNhdGlvblxuICAgIGFib3V0IHRoZSBhY3R1YWwgY29udGVudC4gVGhlIGNvbnRlbnQgc2hvdWxkIHN0cmV0Y2ggdG8gZmlsbCB0aGUgcmVzdCBvZlxuICAgIHRoZSBwYWdlLlxuICAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8qXG4gICAgc2V0IHBvc2l0aW9uIHRvIHJlbGF0aXZlIHRvIGxheW91dCBub3RpZmljYXRpb25zIGFuZCBtb2RhbHNcbiAgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuZXhwb3J0IGNvbnN0IEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkID0gKFxuICBwcm9wczogVEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGlvblByb3BzXG4pID0+IHtcbiAgY29uc3QgYXBwbGljYXRpb25FbnZpcm9ubWVudCA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dChcbiAgICAoY29udGV4dCkgPT4gY29udGV4dC5lbnZpcm9ubWVudFxuICApIGFzIFRBcHBsaWNhdGlvbkNvbnRleHQ8e30+WydlbnZpcm9ubWVudCddO1xuICAvLyBUT0RPOiB1c2luZyB0aGlzIGhvb2sgd2lsbCBzdWJzY3JpYmUgdGhlIGNvbXBvbmVudCB0byByb3V0ZSB1cGRhdGVzLlxuICAvLyBUaGlzIGlzIGN1cnJlbnRseSB1c2VmdWwgZm9yIGRldGVjdGluZyBhIGNoYW5nZSBpbiB0aGUgcHJvamVjdCBrZXlcbiAgLy8gZnJvbSBVUkwgKFwiL1wiIC0tPiBcIi86cHJvamVjdEtleVwiKS5cbiAgLy8gSG93ZXZlciwgZXZlcnkgcm91dGUgY2hhbmdlIHdpbGwgdHJpZ2dlciBhIHJlLXJlbmRlci4gVGhpcyBpcyBwcm9iYWJseVxuICAvLyBvay1pc2ggYnV0IHdlIG1pZ2h0IHdhbnQgdG8gbG9vayBpbnRvIGEgbW9yZSBwZXJmb3JtYW50IHNvbHV0aW9uLlxuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgY29uc3Qgbm90aWZpY2F0aW9uc0dsb2JhbFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IG5vdGlmaWNhdGlvbnNQYWdlUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgbGF5b3V0UmVmcyA9IHVzZVJlZjx7XG4gICAgbm90aWZpY2F0aW9uc0dsb2JhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgICBub3RpZmljYXRpb25zUGFnZVJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgfT4oe1xuICAgIG5vdGlmaWNhdGlvbnNHbG9iYWxSZWYsXG4gICAgbm90aWZpY2F0aW9uc1BhZ2VSZWYsXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPEZldGNoVXNlcj5cbiAgICAgIHsoeyBpc0xvYWRpbmc6IGlzTG9hZGluZ1VzZXIsIHVzZXIsIGVycm9yIH0pID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgLy8gSW4gY2FzZSB0aGVyZSBpcyBhbiB1bmF1dGhvcml6ZWQgZXJyb3IsIHdlIHJlZGlyZWN0IHRvIHRoZSBsb2dpbiBwYWdlXG4gICAgICAgICAgaWYgKGVycm9yLmdyYXBoUUxFcnJvcnMgJiYgQXJyYXkuaXNBcnJheShlcnJvci5ncmFwaFFMRXJyb3JzKSkge1xuICAgICAgICAgICAgY29uc3QgaGFzVW5hdXRob3JpemVkRXJyb3IgPSBnZXRIYXNVbmF1dGhvcml6ZWRFcnJvcihcbiAgICAgICAgICAgICAgZXJyb3IuZ3JhcGhRTEVycm9yc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvciB8fCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcikge1xuICAgICAgICAgICAgICBsZXQgbG9nb3V0UmVhc29uOlxuICAgICAgICAgICAgICAgIHwgKHR5cGVvZiBMT0dPVVRfUkVBU09OUylba2V5b2YgdHlwZW9mIExPR09VVF9SRUFTT05TXVxuICAgICAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IpXG4gICAgICAgICAgICAgICAgbG9nb3V0UmVhc29uID0gTE9HT1VUX1JFQVNPTlMuVU5BVVRIT1JJWkVEO1xuICAgICAgICAgICAgICBlbHNlIGlmIChoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5ERUxFVEVEO1xuICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dvdXQgcmVhc29uPXtsb2dvdXRSZWFzb259IC8+O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBTaW5jZSB3ZSBkbyBub3Qga25vdyB0aGUgbG9jYWxlIG9mIHRoZSB1c2VyLCB3ZSBwaWNrIGl0IGZyb20gdGhlXG4gICAgICAgICAgLy8gdXNlcidzIGJyb3dzZXIgdG8gYXR0ZW1wdCB0byBtYXRjaCB0aGUgbGFuZ3VhZ2UgZm9yIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9ucy5cbiAgICAgICAgICBjb25zdCB1c2VyTG9jYWxlID0gZ2V0QnJvd3NlckxvY2FsZSh3aW5kb3cpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlckxvY2FsZX1cbiAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgeyh7IGxvY2FsZSwgbWVzc2FnZXMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlcG9ydEVycm9yVG9TZW50cnkoZXJyb3IsIHt9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPENvbmZpZ3VyZUludGxQcm92aWRlciBsb2NhbGU9e2xvY2FsZX0gbWVzc2FnZXM9e21lc3NhZ2VzfT5cbiAgICAgICAgICAgICAgICAgICAgPEVycm9yQXBvbG9naXplciAvPlxuICAgICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcm9qZWN0S2V5RnJvbVVybCA9IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsKGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXJcbiAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7LypcbiAgICAgICAgICAgIE5PVEU6IHdlIGRvIG5vdCB3YW50IHRvIGxvYWQgdGhlIGxvY2FsZSBkYXRhIGFzIGxvbmcgYXMgd2UgZG8gbm90XG4gICAgICAgICAgICBrbm93IHRoZSB1c2VyIHNldHRpbmcuIFRoaXMgaXMgaW1wb3J0YW50IGluIG9yZGVyIHRvIGF2b2lkIGZsYXNoaW5nXG4gICAgICAgICAgICBvZiB0cmFuc2xhdGVkIGNvbnRlbnQgb24gc3Vic2VxdWVudCByZS1yZW5kZXJzLlxuICAgICAgICAgICAgVGhlcmVmb3JlLCBhcyBsb25nIGFzIHRoZXJlIGlzIG5vIGxvY2FsZSwgdGhlIGNoaWxkcmVuIHNob3VsZCBjb25zaWRlciB1c2luZyB0aGVcbiAgICAgICAgICAgIGBpc0xvYWRpbmdgIHByb3AgdG8gZGVjaWRlIHdoYXQgdG8gcmVuZGVyLlxuICAgICAgICAgICovfVxuICAgICAgICAgICAgPEFzeW5jTG9jYWxlRGF0YVxuICAgICAgICAgICAgICBsb2NhbGU9e3VzZXI/Lmxhbmd1YWdlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdMb2NhbGVEYXRhLCBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBwYXNzIHRoZSBsYW5ndWFnZSBhcyBsb25nIGFzIHRoZSBsb2NhbGUgZGF0YVxuICAgICAgICAgICAgICAgICAgLy8gaXMgbm90IGxvYWRlZC5cbiAgICAgICAgICAgICAgICAgIHsuLi4oaXNMb2FkaW5nTG9jYWxlRGF0YSA/IHt9IDogeyBsb2NhbGUsIG1lc3NhZ2VzIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTZXR1cEZsb3BGbGlwUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgIGxkQ2xpZW50U2lkZUlkPXthcHBsaWNhdGlvbkVudmlyb25tZW50LmxkQ2xpZW50U2lkZUlkfVxuICAgICAgICAgICAgICAgICAgICBmbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsvKiBUaGlzIGlzIGEgdGVtcG9yYXJ5IGNvbnRhaW5lci4gSXQgd2lsbCBiZSByZW1vdmVkIG9uY2UgdGhlIG5ldyBuYXZpZ2F0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gKi99XG4gICAgICAgICAgICAgICAgICAgIDxOZXdNYWluTmF2aWdhdGlvbkZsYWdXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHksXG4gICAgICAgICAgICAgICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGhlbWVTd2l0Y2hlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWZXJzaW9uVHJhY2tlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBOT1RFOiB0aGUgcmVxdWVzdHMgaW4gZmxpZ2h0IGxvYWRlciB3aWxsIHJlbmRlciBhIGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGlubmVyIGludG8gdGhlIEFwcEJhci4gKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VudHJ5VXNlclRyYWNrZXIgdXNlcj17dXNlciA/PyB1bmRlZmluZWR9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAke0RJTUVOU0lPTlMuaGVhZGVyfSAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgMWZyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17bm90aWZpY2F0aW9uc0dsb2JhbFJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJhYm92ZS10b3AtbmF2aWdhdGlvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuR0xPQkFMfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2plY3RLZXlGcm9tVXJsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBpc1Byb2plY3RMb2FkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9qZWN0TG9hZGluZyB8fCAhcHJvamVjdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiB1c2VkIG91dHNpZGUgb2YgYSBwcm9qZWN0IGNvbnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3Igd2hlbiB0aGUgcHJvamVjdCBpcyBleHBpcmVkIG9yIHN1cHNlbmRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNob3VsZFVzZVByb2plY3RDb250ZXh0ID0gIShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9qZWN0LnN1c3BlbnNpb24gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3QuZXhwaXJ5ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QuZXhwaXJ5LmlzQWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXNob3VsZFVzZVByb2plY3RDb250ZXh0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdERhdGFMb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlcz17cHJvamVjdC5sYW5ndWFnZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZTogZGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0RGF0YUxvY2FsZT17ZGF0YUxvY2FsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25FbnZpcm9ubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxRdWlja0FjY2Vzc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZVByb2plY3REYXRhTG9jYWxlPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1Byb2plY3REYXRhTG9jYWxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZldGNoUHJvamVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6ICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnMi8zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnMid9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJzIvMydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzEvMyd9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwQmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybD17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hlYWRlcj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzaWRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCA9PT0gZmFsc2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCA9PT0gdHJ1ZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBncmlkLWNvbHVtbjogMS8yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDIvNDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIDxOYXZCYXI+IHNob3VsZCBvbmx5IGJlIHJlbmRlcmVkIHdpdGhpbiBhIHByb2plY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb250ZXh0LCB0aGVyZWZvcmUgd2hlbiB0aGVyZSBpcyBhIGBwcm9qZWN0S2V5YC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBgcHJvamVjdEtleWAgaW4gdGhlIFVSTCAoZS5nLiBgL2FjY291bnRgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcm91dGVzKSwgd2UgZG9uJ3QgcmVuZGVyIGl0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IHdlIGFsc28gXCJjYWNoZVwiIHRoZSBgcHJvamVjdEtleWAgaW4gbG9jYWxTdG9yYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYnV0IHRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCB0byBcInJlLWh5ZHJhdGVcIiB0aGUgVVJMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbG9jYXRpb24gKGUuZyB3aGVuIHlvdSBnbyB0byBgL2AsIHRoZXJlIHNob3VsZCBiZSBhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVkaXJlY3QgdG8gYC86cHJvamVjdEtleWApLiBUaGVyZWZvcmUsIHdlIHNob3VsZCBub3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWx5IG9uIHRoZSB2YWx1ZSBpbiBsb2NhbFN0b3JhZ2UgdG8gZGV0ZXJtaW5lIHdoaWNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYHByb2plY3RLZXlgIGlzIGN1cnJlbnRseSB1c2VkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvamVjdEtleUZyb21VcmwpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmV0Y2hQcm9qZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmc6IGlzTG9hZGluZ1Byb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzTG9hZGluZyA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdVc2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdMb2NhbGVEYXRhIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdQcm9qZWN0IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhbG9jYWxlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhcHJvamVjdDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IGRvIG5vdCBwYXNzIHRoZSBgcHJvamVjdGAgaW50byB0aGUgYXBwbGljYXRpb24gY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHBlcm1pc3Npb25zIGZvciB0aGUgTmF2YmFyIGFyZSByZXNvbHZlZCBzZXBhcmF0ZWx5LCB3aXRoaW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYSBkaWZmZXJlbnQgUmVhY3QgY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5hdkJhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdD17cHJvamVjdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkVudmlyb25tZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbk1lbnVJdGVtQ2xpY2tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHk9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZEV2YWx1YXRpb25SZWFkeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmV0Y2hQcm9qZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzaWRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nVXNlciB8fCBpc0xvYWRpbmdMb2NhbGVEYXRhID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFpbkNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwibWFpblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Mb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9NYWluQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1haW5Db250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cIm1haW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiByZWY9e25vdGlmaWNhdGlvbnNQYWdlUmVmfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuUEFHRX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLlNJREV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgYmVjYXVzZSB3ZSBoYXZlIGFuIGludGVybWVkaWFyeSA8ZGl2PiB3cmFwcGluZyB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXc+IGNvbXBvbmVudCB0aGF0IGlzIHVzZWQgdG8gd3JhcCBldmVyeSBjb250ZW50LXZpZXcuIFRoaXMgaW50ZXJtZWRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+IGlzIHNvbGVseSB1c2VkIGZvciBhZGRpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIGNvbnRlbnQtdmlldy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSG93ZXZlciwgdGhpcyBjb3VsZCBiZSBkb25lIGJ5IHBhc3NpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIDxWaWV3PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbGV0IGl0IGRvIHRoZSBsYXlvdXQsIHNvIHdlIGNhbiBhdm9pZCBsYXlpbmcgb3VyIGZyb20gdGhlIG91dHNpZGUgYXMgd2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gaGVyZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gKjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQb3J0YWxzQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtsYXlvdXRSZWZzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRUb3A9e0RJTUVOU0lPTlMuaGVhZGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRMZWZ0PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBESU1FTlNJT05TLm5hdk1lbnVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzBweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRMZWZ0T25FeHBhbmRlZE1lbnU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXlGcm9tVXJsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IERJTUVOU0lPTlMubmF2TWVudUV4cGFuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcwcHgnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVkaXJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tPVwiL3Byb2ZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPVwiL2FjY291bnQvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2FjY291bnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGByZW5kZXJgIGZ1bmN0aW9uLCB3ZSBhc3N1bWUgaXQncyBvbmUgb2YgdHdvIGNhc2VzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogMS4gVGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IHVzZSBgY2hpbGRyZW5gIGFuZCB0aGVyZWZvcmUgaW1wbGVtZW50cyB0aGUgcm91dGVzIGluY2x1ZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogdGhlIDxSb3V0ZUNhdGNoQWxsPiAodGhpcyBpcyB0aGUgXCJsZWdhY3lcIiBiZWhhdmlvcikuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAyLiBJdCdzIHRoZSBhY2NvdW50IGFwcGxpY2F0aW9uLCB3aGljaCBhbHdheXMgdXNlcyBgcmVuZGVyYCBhbmQgdGhlcmVmb3JlIHNob3VsZCByZW5kZXIgYXMgbm9ybWFsLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGBjaGlsZHJlbmAgZnVuY3Rpb24sIHdlIGNhbiBhbHdheXMgYXNzdW1lIHRoYXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIGl0J3MgYSBub3JtYWwgQ3VzdG9tIEFwcGxpY2F0aW9uIGFuZCB0aGF0IGl0IHNob3VsZCB0cmlnZ2VyIGEgZm9yY2UgcmVsb2FkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5yZW5kZXIgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+e3Byb3BzLnJlbmRlcigpfTwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlQ2F0Y2hBbGwgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBQcm9qZWN0IHJvdXRlcyAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlIGV4YWN0PXt0cnVlfSBwYXRoPVwiL1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNQcm9qZWN0S2V5ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UHJldmlvdXNQcm9qZWN0S2V5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI/LmRlZmF1bHRQcm9qZWN0S2V5ID8/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBOT1RFOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciBoYXMgbm90IGJlZW4gbG9hZGVkIGEgbG9hZGluZyBzcGlubmVyIGlzIHNob3duLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciB3YXMgbm90IHdvcmtpbmcgb24gYSBwcm9qZWN0IHByZXZpb3VzbHkgbm9yIGhhcyBhIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvamVjdCwgdGhlIHVzZXIgd2lsbCBiZSBwcm9tcHRlZCB0byBjcmVhdGUgb25lLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciB3YXMgd29ya2luZyBvbiBhIHByb2plY3QgcHJldmlvdXNseSBvciBoYXMgYSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHByb2plY3QsIHRoZSBhcHBsaWNhdGlvbiB3aWxsIHJlZGlyZWN0IHRvIHRoYXQgcHJvamVjdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF1c2VyKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPEFwcGxpY2F0aW9uTG9hZGVyIC8+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcmV2aW91c1Byb2plY3RLZXkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVkaXJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bz17YC8ke3ByZXZpb3VzUHJvamVjdEtleX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1JvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGUgZXhhY3Q9e2ZhbHNlfSBwYXRoPVwiLzpwcm9qZWN0S2V5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2plY3RDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVSb3V0ZVBlcm1pc3Npb25DaGVjaz17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLmRpc2FibGVSb3V0ZVBlcm1pc3Npb25DaGVja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBlZmZlY3RpdmVseSByZW5kZXJzIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2hpbGRyZW4sIHdoaWNoIGlzIHRoZSBhcHBsaWNhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3BlY2lmaWMgcGFydFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcy5yZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJvamVjdENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L01haW5Db250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9OZXdNYWluTmF2aWdhdGlvbkZsYWdXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgPC9TZXR1cEZsb3BGbGlwUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0FzeW5jTG9jYWxlRGF0YT5cbiAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICApO1xuICAgICAgfX1cbiAgICA8L0ZldGNoVXNlcj5cbiAgKTtcbn07XG5BcHBsaWNhdGlvblNoZWxsQXV0aGVudGljYXRlZC5kaXNwbGF5TmFtZSA9ICdBcHBsaWNhdGlvblNoZWxsQXV0aGVudGljYXRlZCc7XG5cbmV4cG9ydCBkZWZhdWx0IEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkO1xuIl19 */",
|
|
1020
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$
|
|
1020
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLWF1dGhlbnRpY2F0ZWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFhNEMiLCJmaWxlIjoiYXBwbGljYXRpb24tc2hlbGwtYXV0aGVudGljYXRlZC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWZPYmplY3QsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG4gIHVzZVJlZixcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHR5cGUgeyBBcG9sbG9FcnJvciB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2Vycm9ycyc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgeyBSZWRpcmVjdCwgUm91dGUsIFN3aXRjaCwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFBvcnRhbHNDb250YWluZXIgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG4gIHR5cGUgVEFwcGxpY2F0aW9uQ29udGV4dCxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHsgQXN5bmNMb2NhbGVEYXRhIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvaTE4bic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zTGlzdCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3JlYWN0LW5vdGlmaWNhdGlvbnMnO1xuaW1wb3J0IHtcbiAgcmVwb3J0RXJyb3JUb1NlbnRyeSxcbiAgU2VudHJ5VXNlclRyYWNrZXIsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3NlbnRyeSc7XG5pbXBvcnQgeyBESU1FTlNJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsLCBnZXRQcmV2aW91c1Byb2plY3RLZXkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgQXBwQmFyIGZyb20gJy4uL2FwcC1iYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IENvbmZpZ3VyZUludGxQcm92aWRlciBmcm9tICcuLi9jb25maWd1cmUtaW50bC1wcm92aWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBGZXRjaFVzZXIgZnJvbSAnLi4vZmV0Y2gtdXNlcic7XG5pbXBvcnQgTmF2QmFyIGZyb20gJy4uL25hdmJhcic7XG5pbXBvcnQgUHJvamVjdENvbnRhaW5lciBmcm9tICcuLi9wcm9qZWN0LWNvbnRhaW5lcic7XG5pbXBvcnQgUHJvamVjdERhdGFMb2NhbGUgZnJvbSAnLi4vcHJvamVjdC1kYXRhLWxvY2FsZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9nb3V0IGZyb20gJy4uL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5pbXBvcnQgUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgZnJvbSAnLi4vcmVkaXJlY3QtdG8tcHJvamVjdC1jcmVhdGUnO1xuaW1wb3J0IFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgZnJvbSAnLi4vcmVxdWVzdHMtaW4tZmxpZ2h0LWxvYWRlcic7XG5pbXBvcnQgUm91dGVDYXRjaEFsbCBmcm9tICcuLi9yb3V0ZS1jYXRjaC1hbGwnO1xuaW1wb3J0IFNldHVwRmxvcEZsaXBQcm92aWRlciBmcm9tICcuLi9zZXR1cC1mbG9wLWZsaXAtcHJvdmlkZXInO1xuaW1wb3J0IFRoZW1lU3dpdGNoZXIgZnJvbSAnLi4vdGhlbWUtc3dpdGNoZXInO1xuaW1wb3J0IFZlcnNpb25UcmFja2VyIGZyb20gJy4uL3ZlcnNpb24tdHJhY2tlcic7XG5pbXBvcnQgTmV3TWFpbk5hdmlnYXRpb25GbGFnV3JhcHBlciBmcm9tICcuL25ldy1tYWluLW5hdmlnYXRpb24tZmxhZy13cmFwcGVyJztcblxudHlwZSBUQXBwbGljYXRpb25TaGVsbEF1dGhlbnRpY2F0aW9uUHJvcHMgPSB7XG4gIGZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgZGVmYXVsdEZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uTWVudUl0ZW1DbGljaz86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICBkaXNhYmxlUm91dGVQZXJtaXNzaW9uQ2hlY2s/OiBib29sZWFuO1xuICByZW5kZXI/OiAoKSA9PiBKU1guRWxlbWVudDtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG50eXBlIE1haW5Db250YWluZXJQcm9wcyA9IHtcbiAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEhhc1VuYXV0aG9yaXplZEVycm9yID0gKGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ10pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5leHRlbnNpb25zICYmXG4gICAgICBncWxFcnJvci5leHRlbnNpb25zLmNvZGUgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSA9PT0gJ1VOQVVUSEVOVElDQVRFRCdcbiAgKTtcbmNvbnN0IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gKFxuICBncmFwaFFMRXJyb3JzOiBBcG9sbG9FcnJvclsnZ3JhcGhRTEVycm9ycyddXG4pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5tZXNzYWdlICYmXG4gICAgICAvLyBOT1RFOiBUaGUgQ1RQIEFQSSBkb2VzIG5vdCBwcm92aWRlIGFuIGVycm9yIGNvZGUgaW4gdGhpcyBjYXNlLlxuICAgICAgZ3FsRXJyb3IubWVzc2FnZS5pbmNsdWRlcygnd2FzIG5vdCBmb3VuZC4nKVxuICApO1xuXG5leHBvcnQgY29uc3QgTWFpbkNvbnRhaW5lciA9IHN0eWxlZC5tYWluPE1haW5Db250YWluZXJQcm9wcz5gXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgID8gYFxuICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgICAgICBncmlkLXJvdzogMy80O1xuICAgICAgYFxuICAgICAgOiBgXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgIGB9O1xuXG4gIC8qXG4gICAgQWxsb3cgdGhlIHRoaXMgZmxleCBjaGlsZCB0byBncm93IHNtYWxsZXIgdGhhbiBpdHMgc21hbGxlc3QgY29udGVudC5cbiAgICBUaGlzIGlzIG5lZWRlZCB3aGVuIHRoZXJlIGlzIGEgcmVhbGx5IHdpZGUgdGV4dCBpbnNpZGUgdGhhdCB3b3VsZCBzdHJldGNoXG4gICAgdGhpcyBub2RlIHRvIGJlIHdpZGVyIHRoYW4gdGhlIHBhcmVudC5cbiAgKi9cbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAvKlxuICAgIGxheW91dCB0aGUgY2hpbGRyZW4uIFRoZXJlIHdpbGwgYWx3YXlzIGJlIHRoZSBwYWdlIGFuZCBzaWRlIG5vdGlmaWNhdGlvblxuICAgIGFib3V0IHRoZSBhY3R1YWwgY29udGVudC4gVGhlIGNvbnRlbnQgc2hvdWxkIHN0cmV0Y2ggdG8gZmlsbCB0aGUgcmVzdCBvZlxuICAgIHRoZSBwYWdlLlxuICAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8qXG4gICAgc2V0IHBvc2l0aW9uIHRvIHJlbGF0aXZlIHRvIGxheW91dCBub3RpZmljYXRpb25zIGFuZCBtb2RhbHNcbiAgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuZXhwb3J0IGNvbnN0IEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkID0gKFxuICBwcm9wczogVEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGlvblByb3BzXG4pID0+IHtcbiAgY29uc3QgYXBwbGljYXRpb25FbnZpcm9ubWVudCA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dChcbiAgICAoY29udGV4dCkgPT4gY29udGV4dC5lbnZpcm9ubWVudFxuICApIGFzIFRBcHBsaWNhdGlvbkNvbnRleHQ8e30+WydlbnZpcm9ubWVudCddO1xuICAvLyBUT0RPOiB1c2luZyB0aGlzIGhvb2sgd2lsbCBzdWJzY3JpYmUgdGhlIGNvbXBvbmVudCB0byByb3V0ZSB1cGRhdGVzLlxuICAvLyBUaGlzIGlzIGN1cnJlbnRseSB1c2VmdWwgZm9yIGRldGVjdGluZyBhIGNoYW5nZSBpbiB0aGUgcHJvamVjdCBrZXlcbiAgLy8gZnJvbSBVUkwgKFwiL1wiIC0tPiBcIi86cHJvamVjdEtleVwiKS5cbiAgLy8gSG93ZXZlciwgZXZlcnkgcm91dGUgY2hhbmdlIHdpbGwgdHJpZ2dlciBhIHJlLXJlbmRlci4gVGhpcyBpcyBwcm9iYWJseVxuICAvLyBvay1pc2ggYnV0IHdlIG1pZ2h0IHdhbnQgdG8gbG9vayBpbnRvIGEgbW9yZSBwZXJmb3JtYW50IHNvbHV0aW9uLlxuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgY29uc3Qgbm90aWZpY2F0aW9uc0dsb2JhbFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IG5vdGlmaWNhdGlvbnNQYWdlUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgbGF5b3V0UmVmcyA9IHVzZVJlZjx7XG4gICAgbm90aWZpY2F0aW9uc0dsb2JhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgICBub3RpZmljYXRpb25zUGFnZVJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgfT4oe1xuICAgIG5vdGlmaWNhdGlvbnNHbG9iYWxSZWYsXG4gICAgbm90aWZpY2F0aW9uc1BhZ2VSZWYsXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPEZldGNoVXNlcj5cbiAgICAgIHsoeyBpc0xvYWRpbmc6IGlzTG9hZGluZ1VzZXIsIHVzZXIsIGVycm9yIH0pID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgLy8gSW4gY2FzZSB0aGVyZSBpcyBhbiB1bmF1dGhvcml6ZWQgZXJyb3IsIHdlIHJlZGlyZWN0IHRvIHRoZSBsb2dpbiBwYWdlXG4gICAgICAgICAgaWYgKGVycm9yLmdyYXBoUUxFcnJvcnMgJiYgQXJyYXkuaXNBcnJheShlcnJvci5ncmFwaFFMRXJyb3JzKSkge1xuICAgICAgICAgICAgY29uc3QgaGFzVW5hdXRob3JpemVkRXJyb3IgPSBnZXRIYXNVbmF1dGhvcml6ZWRFcnJvcihcbiAgICAgICAgICAgICAgZXJyb3IuZ3JhcGhRTEVycm9yc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvciB8fCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcikge1xuICAgICAgICAgICAgICBsZXQgbG9nb3V0UmVhc29uOlxuICAgICAgICAgICAgICAgIHwgKHR5cGVvZiBMT0dPVVRfUkVBU09OUylba2V5b2YgdHlwZW9mIExPR09VVF9SRUFTT05TXVxuICAgICAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IpXG4gICAgICAgICAgICAgICAgbG9nb3V0UmVhc29uID0gTE9HT1VUX1JFQVNPTlMuVU5BVVRIT1JJWkVEO1xuICAgICAgICAgICAgICBlbHNlIGlmIChoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5ERUxFVEVEO1xuICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dvdXQgcmVhc29uPXtsb2dvdXRSZWFzb259IC8+O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBTaW5jZSB3ZSBkbyBub3Qga25vdyB0aGUgbG9jYWxlIG9mIHRoZSB1c2VyLCB3ZSBwaWNrIGl0IGZyb20gdGhlXG4gICAgICAgICAgLy8gdXNlcidzIGJyb3dzZXIgdG8gYXR0ZW1wdCB0byBtYXRjaCB0aGUgbGFuZ3VhZ2UgZm9yIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9ucy5cbiAgICAgICAgICBjb25zdCB1c2VyTG9jYWxlID0gZ2V0QnJvd3NlckxvY2FsZSh3aW5kb3cpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlckxvY2FsZX1cbiAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgeyh7IGxvY2FsZSwgbWVzc2FnZXMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlcG9ydEVycm9yVG9TZW50cnkoZXJyb3IsIHt9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPENvbmZpZ3VyZUludGxQcm92aWRlciBsb2NhbGU9e2xvY2FsZX0gbWVzc2FnZXM9e21lc3NhZ2VzfT5cbiAgICAgICAgICAgICAgICAgICAgPEVycm9yQXBvbG9naXplciAvPlxuICAgICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcm9qZWN0S2V5RnJvbVVybCA9IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsKGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXJcbiAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7LypcbiAgICAgICAgICAgIE5PVEU6IHdlIGRvIG5vdCB3YW50IHRvIGxvYWQgdGhlIGxvY2FsZSBkYXRhIGFzIGxvbmcgYXMgd2UgZG8gbm90XG4gICAgICAgICAgICBrbm93IHRoZSB1c2VyIHNldHRpbmcuIFRoaXMgaXMgaW1wb3J0YW50IGluIG9yZGVyIHRvIGF2b2lkIGZsYXNoaW5nXG4gICAgICAgICAgICBvZiB0cmFuc2xhdGVkIGNvbnRlbnQgb24gc3Vic2VxdWVudCByZS1yZW5kZXJzLlxuICAgICAgICAgICAgVGhlcmVmb3JlLCBhcyBsb25nIGFzIHRoZXJlIGlzIG5vIGxvY2FsZSwgdGhlIGNoaWxkcmVuIHNob3VsZCBjb25zaWRlciB1c2luZyB0aGVcbiAgICAgICAgICAgIGBpc0xvYWRpbmdgIHByb3AgdG8gZGVjaWRlIHdoYXQgdG8gcmVuZGVyLlxuICAgICAgICAgICovfVxuICAgICAgICAgICAgPEFzeW5jTG9jYWxlRGF0YVxuICAgICAgICAgICAgICBsb2NhbGU9e3VzZXI/Lmxhbmd1YWdlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdMb2NhbGVEYXRhLCBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBwYXNzIHRoZSBsYW5ndWFnZSBhcyBsb25nIGFzIHRoZSBsb2NhbGUgZGF0YVxuICAgICAgICAgICAgICAgICAgLy8gaXMgbm90IGxvYWRlZC5cbiAgICAgICAgICAgICAgICAgIHsuLi4oaXNMb2FkaW5nTG9jYWxlRGF0YSA/IHt9IDogeyBsb2NhbGUsIG1lc3NhZ2VzIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTZXR1cEZsb3BGbGlwUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgIGxkQ2xpZW50U2lkZUlkPXthcHBsaWNhdGlvbkVudmlyb25tZW50LmxkQ2xpZW50U2lkZUlkfVxuICAgICAgICAgICAgICAgICAgICBmbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsvKiBUaGlzIGlzIGEgdGVtcG9yYXJ5IGNvbnRhaW5lci4gSXQgd2lsbCBiZSByZW1vdmVkIG9uY2UgdGhlIG5ldyBuYXZpZ2F0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gKi99XG4gICAgICAgICAgICAgICAgICAgIDxOZXdNYWluTmF2aWdhdGlvbkZsYWdXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHksXG4gICAgICAgICAgICAgICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGhlbWVTd2l0Y2hlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWZXJzaW9uVHJhY2tlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBOT1RFOiB0aGUgcmVxdWVzdHMgaW4gZmxpZ2h0IGxvYWRlciB3aWxsIHJlbmRlciBhIGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGlubmVyIGludG8gdGhlIEFwcEJhci4gKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VudHJ5VXNlclRyYWNrZXIgdXNlcj17dXNlciA/PyB1bmRlZmluZWR9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAke0RJTUVOU0lPTlMuaGVhZGVyfSAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgMWZyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17bm90aWZpY2F0aW9uc0dsb2JhbFJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJhYm92ZS10b3AtbmF2aWdhdGlvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuR0xPQkFMfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2plY3RLZXlGcm9tVXJsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBpc1Byb2plY3RMb2FkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9qZWN0TG9hZGluZyB8fCAhcHJvamVjdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiB1c2VkIG91dHNpZGUgb2YgYSBwcm9qZWN0IGNvbnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3Igd2hlbiB0aGUgcHJvamVjdCBpcyBleHBpcmVkIG9yIHN1cHNlbmRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNob3VsZFVzZVByb2plY3RDb250ZXh0ID0gIShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9qZWN0LnN1c3BlbnNpb24gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3QuZXhwaXJ5ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QuZXhwaXJ5LmlzQWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXNob3VsZFVzZVByb2plY3RDb250ZXh0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdERhdGFMb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlcz17cHJvamVjdC5sYW5ndWFnZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZTogZGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0RGF0YUxvY2FsZT17ZGF0YUxvY2FsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25FbnZpcm9ubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxRdWlja0FjY2Vzc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZVByb2plY3REYXRhTG9jYWxlPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1Byb2plY3REYXRhTG9jYWxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZldGNoUHJvamVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6ICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnMi8zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnMid9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJzIvMydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzEvMyd9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwQmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybD17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc2lkZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWQgPT09IGZhbHNlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWQgPT09IHRydWUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZ3JpZC1jb2x1bW46IDEvMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyLzQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO2B9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSA8TmF2QmFyPiBzaG91bGQgb25seSBiZSByZW5kZXJlZCB3aXRoaW4gYSBwcm9qZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29udGV4dCwgdGhlcmVmb3JlIHdoZW4gdGhlcmUgaXMgYSBgcHJvamVjdEtleWAuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gYHByb2plY3RLZXlgIGluIHRoZSBVUkwgKGUuZy4gYC9hY2NvdW50YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJvdXRlcyksIHdlIGRvbid0IHJlbmRlciBpdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiB3ZSBhbHNvIFwiY2FjaGVcIiB0aGUgYHByb2plY3RLZXlgIGluIGxvY2FsU3RvcmFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJ1dCB0aGlzIHNob3VsZCBvbmx5IGJlIHVzZWQgdG8gXCJyZS1oeWRyYXRlXCIgdGhlIFVSTFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxvY2F0aW9uIChlLmcgd2hlbiB5b3UgZ28gdG8gYC9gLCB0aGVyZSBzaG91bGQgYmUgYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlZGlyZWN0IHRvIGAvOnByb2plY3RLZXlgKS4gVGhlcmVmb3JlLCB3ZSBzaG91bGQgbm90XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVseSBvbiB0aGUgdmFsdWUgaW4gbG9jYWxTdG9yYWdlIHRvIGRldGVybWluZSB3aGljaFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGBwcm9qZWN0S2V5YCBpcyBjdXJyZW50bHkgdXNlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2plY3RLZXlGcm9tVXJsKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBpc0xvYWRpbmdQcm9qZWN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0xvYWRpbmcgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nVXNlciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nTG9jYWxlRGF0YSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nUHJvamVjdCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWxvY2FsZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXByb2plY3Q7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiBkbyBub3QgcGFzcyB0aGUgYHByb2plY3RgIGludG8gdGhlIGFwcGxpY2F0aW9uIGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwZXJtaXNzaW9ucyBmb3IgdGhlIE5hdmJhciBhcmUgcmVzb2x2ZWQgc2VwYXJhdGVseSwgd2l0aGluXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGEgZGlmZmVyZW50IFJlYWN0IGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOYXZCYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25FbnZpcm9ubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1lbnVJdGVtQ2xpY2s9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMub25NZW51SXRlbUNsaWNrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZz17aXNMb2FkaW5nfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkRXZhbHVhdGlvblJlYWR5PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZldGNoUHJvamVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc2lkZT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzTG9hZGluZ1VzZXIgfHwgaXNMb2FkaW5nTG9jYWxlRGF0YSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1haW5Db250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cIm1haW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uTG9hZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYWluQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJtYWluXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgcmVmPXtub3RpZmljYXRpb25zUGFnZVJlZn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLlBBR0V9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0IGRvbWFpbj17RE9NQUlOUy5TSURFfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIG9ubHkgbmVjZXNzYXJ5IGJlY2F1c2Ugd2UgaGF2ZSBhbiBpbnRlcm1lZGlhcnkgPGRpdj4gd3JhcHBpbmcgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWaWV3PiBjb21wb25lbnQgdGhhdCBpcyB1c2VkIHRvIHdyYXAgZXZlcnkgY29udGVudC12aWV3LiBUaGlzIGludGVybWVkaWFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PiBpcyBzb2xlbHkgdXNlZCBmb3IgYWRkaW5nIHRoZSB0cmFja2luZyBjb250ZXh0IHRvIHRoZSBjb250ZW50LXZpZXcuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhvd2V2ZXIsIHRoaXMgY291bGQgYmUgZG9uZSBieSBwYXNzaW5nIHRoZSB0cmFja2luZyBjb250ZXh0IHRvIHRoZSA8Vmlldz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGxldCBpdCBkbyB0aGUgbGF5b3V0LCBzbyB3ZSBjYW4gYXZvaWQgbGF5aW5nIG91ciBmcm9tIHRoZSBvdXRzaWRlIGFzIHdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvIGhlcmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+ICo6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UG9ydGFsc0NvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17bGF5b3V0UmVmc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0VG9wPXtESU1FTlNJT05TLmhlYWRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0TGVmdD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleUZyb21VcmxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IERJTUVOU0lPTlMubmV3TmF2TWVudVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IERJTUVOU0lPTlMubmF2TWVudVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnMHB4J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldExlZnRPbkV4cGFuZGVkTWVudT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleUZyb21VcmxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IERJTUVOU0lPTlMubmV3TmF2TWVudUV4cGFuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogRElNRU5TSU9OUy5uYXZNZW51RXhwYW5kZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzBweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb209XCIvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG89XCIvYWNjb3VudC9wcm9maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvYWNjb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYHJlbmRlcmAgZnVuY3Rpb24sIHdlIGFzc3VtZSBpdCdzIG9uZSBvZiB0d28gY2FzZXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAxLiBUaGUgYXBwbGljYXRpb24gZG9lcyBub3QgdXNlIGBjaGlsZHJlbmAgYW5kIHRoZXJlZm9yZSBpbXBsZW1lbnRzIHRoZSByb3V0ZXMgaW5jbHVkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiB0aGUgPFJvdXRlQ2F0Y2hBbGw+ICh0aGlzIGlzIHRoZSBcImxlZ2FjeVwiIGJlaGF2aW9yKS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIDIuIEl0J3MgdGhlIGFjY291bnQgYXBwbGljYXRpb24sIHdoaWNoIGFsd2F5cyB1c2VzIGByZW5kZXJgIGFuZCB0aGVyZWZvcmUgc2hvdWxkIHJlbmRlciBhcyBub3JtYWwuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYGNoaWxkcmVuYCBmdW5jdGlvbiwgd2UgY2FuIGFsd2F5cyBhc3N1bWUgdGhhdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogaXQncyBhIG5vcm1hbCBDdXN0b20gQXBwbGljYXRpb24gYW5kIHRoYXQgaXQgc2hvdWxkIHRyaWdnZXIgYSBmb3JjZSByZWxvYWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLnJlbmRlciA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD57cHJvcHMucmVuZGVyKCl9PC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVDYXRjaEFsbCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey8qIFByb2plY3Qgcm91dGVzICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGUgZXhhY3Q9e3RydWV9IHBhdGg9XCIvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1Byb2plY3RLZXkgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRQcmV2aW91c1Byb2plY3RLZXkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj8uZGVmYXVsdFByb2plY3RLZXkgPz9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIE5PVEU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIGhhcyBub3QgYmVlbiBsb2FkZWQgYSBsb2FkaW5nIHNwaW5uZXIgaXMgc2hvd24uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyBub3Qgd29ya2luZyBvbiBhIHByb2plY3QgcHJldmlvdXNseSBub3IgaGFzIGEgZGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9qZWN0LCB0aGUgdXNlciB3aWxsIGJlIHByb21wdGVkIHRvIGNyZWF0ZSBvbmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyB3b3JraW5nIG9uIGEgcHJvamVjdCBwcmV2aW91c2x5IG9yIGhhcyBhIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvamVjdCwgdGhlIGFwcGxpY2F0aW9uIHdpbGwgcmVkaXJlY3QgdG8gdGhhdCBwcm9qZWN0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXVzZXIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8QXBwbGljYXRpb25Mb2FkZXIgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByZXZpb3VzUHJvamVjdEtleSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPXtgLyR7cHJldmlvdXNQcm9qZWN0S2V5fWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZSBleGFjdD17ZmFsc2V9IHBhdGg9XCIvOnByb2plY3RLZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdENvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVJvdXRlUGVybWlzc2lvbkNoZWNrPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMuZGlzYWJsZVJvdXRlUGVybWlzc2lvbkNoZWNrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGVmZmVjdGl2ZWx5IHJlbmRlcnMgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjaGlsZHJlbiwgd2hpY2ggaXMgdGhlIGFwcGxpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzcGVjaWZpYyBwYXJ0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzLnJlbmRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Qcm9qZWN0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1JvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L05ld01haW5OYXZpZ2F0aW9uRmxhZ1dyYXBwZXI+XG4gICAgICAgICAgICAgICAgICA8L1NldHVwRmxvcEZsaXBQcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvRmV0Y2hVc2VyPlxuICApO1xufTtcbkFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkLmRpc3BsYXlOYW1lID0gJ0FwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkJztcblxuZXhwb3J0IGRlZmF1bHQgQXBwbGljYXRpb25TaGVsbEF1dGhlbnRpY2F0ZWQ7XG4iXX0= */",
|
|
1021
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$2
|
|
1021
1022
|
};
|
|
1022
1023
|
var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
1023
1024
|
name: "8bdwu0",
|
|
@@ -1025,8 +1026,8 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
|
1025
1026
|
} : {
|
|
1026
1027
|
name: "u4fwut-ApplicationShellAuthenticated",
|
|
1027
1028
|
styles: "grid-row:1;grid-column:1/3;label:ApplicationShellAuthenticated;",
|
|
1028
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLWF1dGhlbnRpY2F0ZWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlQd0MiLCJmaWxlIjoiYXBwbGljYXRpb24tc2hlbGwtYXV0aGVudGljYXRlZC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWZPYmplY3QsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG4gIHVzZVJlZixcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHR5cGUgeyBBcG9sbG9FcnJvciB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2Vycm9ycyc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgeyBSZWRpcmVjdCwgUm91dGUsIFN3aXRjaCwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFBvcnRhbHNDb250YWluZXIgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG4gIHR5cGUgVEFwcGxpY2F0aW9uQ29udGV4dCxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHsgQXN5bmNMb2NhbGVEYXRhIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvaTE4bic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zTGlzdCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3JlYWN0LW5vdGlmaWNhdGlvbnMnO1xuaW1wb3J0IHtcbiAgcmVwb3J0RXJyb3JUb1NlbnRyeSxcbiAgU2VudHJ5VXNlclRyYWNrZXIsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3NlbnRyeSc7XG5pbXBvcnQgeyBESU1FTlNJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsLCBnZXRQcmV2aW91c1Byb2plY3RLZXkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgQXBwQmFyIGZyb20gJy4uL2FwcC1iYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IENvbmZpZ3VyZUludGxQcm92aWRlciBmcm9tICcuLi9jb25maWd1cmUtaW50bC1wcm92aWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBGZXRjaFVzZXIgZnJvbSAnLi4vZmV0Y2gtdXNlcic7XG5pbXBvcnQgTmF2QmFyIGZyb20gJy4uL25hdmJhcic7XG5pbXBvcnQgUHJvamVjdENvbnRhaW5lciBmcm9tICcuLi9wcm9qZWN0LWNvbnRhaW5lcic7XG5pbXBvcnQgUHJvamVjdERhdGFMb2NhbGUgZnJvbSAnLi4vcHJvamVjdC1kYXRhLWxvY2FsZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9nb3V0IGZyb20gJy4uL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5pbXBvcnQgUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgZnJvbSAnLi4vcmVkaXJlY3QtdG8tcHJvamVjdC1jcmVhdGUnO1xuaW1wb3J0IFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgZnJvbSAnLi4vcmVxdWVzdHMtaW4tZmxpZ2h0LWxvYWRlcic7XG5pbXBvcnQgUm91dGVDYXRjaEFsbCBmcm9tICcuLi9yb3V0ZS1jYXRjaC1hbGwnO1xuaW1wb3J0IFNldHVwRmxvcEZsaXBQcm92aWRlciBmcm9tICcuLi9zZXR1cC1mbG9wLWZsaXAtcHJvdmlkZXInO1xuaW1wb3J0IFRoZW1lU3dpdGNoZXIgZnJvbSAnLi4vdGhlbWUtc3dpdGNoZXInO1xuaW1wb3J0IFZlcnNpb25UcmFja2VyIGZyb20gJy4uL3ZlcnNpb24tdHJhY2tlcic7XG5pbXBvcnQgTmV3TWFpbk5hdmlnYXRpb25GbGFnV3JhcHBlciBmcm9tICcuL25ldy1tYWluLW5hdmlnYXRpb24tZmxhZy13cmFwcGVyJztcblxudHlwZSBUQXBwbGljYXRpb25TaGVsbEF1dGhlbnRpY2F0aW9uUHJvcHMgPSB7XG4gIGZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgZGVmYXVsdEZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uTWVudUl0ZW1DbGljaz86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICBkaXNhYmxlUm91dGVQZXJtaXNzaW9uQ2hlY2s/OiBib29sZWFuO1xuICByZW5kZXI/OiAoKSA9PiBKU1guRWxlbWVudDtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG50eXBlIE1haW5Db250YWluZXJQcm9wcyA9IHtcbiAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEhhc1VuYXV0aG9yaXplZEVycm9yID0gKGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ10pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5leHRlbnNpb25zICYmXG4gICAgICBncWxFcnJvci5leHRlbnNpb25zLmNvZGUgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSA9PT0gJ1VOQVVUSEVOVElDQVRFRCdcbiAgKTtcbmNvbnN0IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gKFxuICBncmFwaFFMRXJyb3JzOiBBcG9sbG9FcnJvclsnZ3JhcGhRTEVycm9ycyddXG4pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5tZXNzYWdlICYmXG4gICAgICAvLyBOT1RFOiBUaGUgQ1RQIEFQSSBkb2VzIG5vdCBwcm92aWRlIGFuIGVycm9yIGNvZGUgaW4gdGhpcyBjYXNlLlxuICAgICAgZ3FsRXJyb3IubWVzc2FnZS5pbmNsdWRlcygnd2FzIG5vdCBmb3VuZC4nKVxuICApO1xuXG5leHBvcnQgY29uc3QgTWFpbkNvbnRhaW5lciA9IHN0eWxlZC5tYWluPE1haW5Db250YWluZXJQcm9wcz5gXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgID8gYFxuICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgICAgICBncmlkLXJvdzogMy80O1xuICAgICAgYFxuICAgICAgOiBgXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgIGB9O1xuXG4gIC8qXG4gICAgQWxsb3cgdGhlIHRoaXMgZmxleCBjaGlsZCB0byBncm93IHNtYWxsZXIgdGhhbiBpdHMgc21hbGxlc3QgY29udGVudC5cbiAgICBUaGlzIGlzIG5lZWRlZCB3aGVuIHRoZXJlIGlzIGEgcmVhbGx5IHdpZGUgdGV4dCBpbnNpZGUgdGhhdCB3b3VsZCBzdHJldGNoXG4gICAgdGhpcyBub2RlIHRvIGJlIHdpZGVyIHRoYW4gdGhlIHBhcmVudC5cbiAgKi9cbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAvKlxuICAgIGxheW91dCB0aGUgY2hpbGRyZW4uIFRoZXJlIHdpbGwgYWx3YXlzIGJlIHRoZSBwYWdlIGFuZCBzaWRlIG5vdGlmaWNhdGlvblxuICAgIGFib3V0IHRoZSBhY3R1YWwgY29udGVudC4gVGhlIGNvbnRlbnQgc2hvdWxkIHN0cmV0Y2ggdG8gZmlsbCB0aGUgcmVzdCBvZlxuICAgIHRoZSBwYWdlLlxuICAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8qXG4gICAgc2V0IHBvc2l0aW9uIHRvIHJlbGF0aXZlIHRvIGxheW91dCBub3RpZmljYXRpb25zIGFuZCBtb2RhbHNcbiAgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuZXhwb3J0IGNvbnN0IEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkID0gKFxuICBwcm9wczogVEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGlvblByb3BzXG4pID0+IHtcbiAgY29uc3QgYXBwbGljYXRpb25FbnZpcm9ubWVudCA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dChcbiAgICAoY29udGV4dCkgPT4gY29udGV4dC5lbnZpcm9ubWVudFxuICApIGFzIFRBcHBsaWNhdGlvbkNvbnRleHQ8e30+WydlbnZpcm9ubWVudCddO1xuICAvLyBUT0RPOiB1c2luZyB0aGlzIGhvb2sgd2lsbCBzdWJzY3JpYmUgdGhlIGNvbXBvbmVudCB0byByb3V0ZSB1cGRhdGVzLlxuICAvLyBUaGlzIGlzIGN1cnJlbnRseSB1c2VmdWwgZm9yIGRldGVjdGluZyBhIGNoYW5nZSBpbiB0aGUgcHJvamVjdCBrZXlcbiAgLy8gZnJvbSBVUkwgKFwiL1wiIC0tPiBcIi86cHJvamVjdEtleVwiKS5cbiAgLy8gSG93ZXZlciwgZXZlcnkgcm91dGUgY2hhbmdlIHdpbGwgdHJpZ2dlciBhIHJlLXJlbmRlci4gVGhpcyBpcyBwcm9iYWJseVxuICAvLyBvay1pc2ggYnV0IHdlIG1pZ2h0IHdhbnQgdG8gbG9vayBpbnRvIGEgbW9yZSBwZXJmb3JtYW50IHNvbHV0aW9uLlxuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgY29uc3Qgbm90aWZpY2F0aW9uc0dsb2JhbFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IG5vdGlmaWNhdGlvbnNQYWdlUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgbGF5b3V0UmVmcyA9IHVzZVJlZjx7XG4gICAgbm90aWZpY2F0aW9uc0dsb2JhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgICBub3RpZmljYXRpb25zUGFnZVJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgfT4oe1xuICAgIG5vdGlmaWNhdGlvbnNHbG9iYWxSZWYsXG4gICAgbm90aWZpY2F0aW9uc1BhZ2VSZWYsXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPEZldGNoVXNlcj5cbiAgICAgIHsoeyBpc0xvYWRpbmc6IGlzTG9hZGluZ1VzZXIsIHVzZXIsIGVycm9yIH0pID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgLy8gSW4gY2FzZSB0aGVyZSBpcyBhbiB1bmF1dGhvcml6ZWQgZXJyb3IsIHdlIHJlZGlyZWN0IHRvIHRoZSBsb2dpbiBwYWdlXG4gICAgICAgICAgaWYgKGVycm9yLmdyYXBoUUxFcnJvcnMgJiYgQXJyYXkuaXNBcnJheShlcnJvci5ncmFwaFFMRXJyb3JzKSkge1xuICAgICAgICAgICAgY29uc3QgaGFzVW5hdXRob3JpemVkRXJyb3IgPSBnZXRIYXNVbmF1dGhvcml6ZWRFcnJvcihcbiAgICAgICAgICAgICAgZXJyb3IuZ3JhcGhRTEVycm9yc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvciB8fCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcikge1xuICAgICAgICAgICAgICBsZXQgbG9nb3V0UmVhc29uOlxuICAgICAgICAgICAgICAgIHwgKHR5cGVvZiBMT0dPVVRfUkVBU09OUylba2V5b2YgdHlwZW9mIExPR09VVF9SRUFTT05TXVxuICAgICAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IpXG4gICAgICAgICAgICAgICAgbG9nb3V0UmVhc29uID0gTE9HT1VUX1JFQVNPTlMuVU5BVVRIT1JJWkVEO1xuICAgICAgICAgICAgICBlbHNlIGlmIChoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5ERUxFVEVEO1xuICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dvdXQgcmVhc29uPXtsb2dvdXRSZWFzb259IC8+O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBTaW5jZSB3ZSBkbyBub3Qga25vdyB0aGUgbG9jYWxlIG9mIHRoZSB1c2VyLCB3ZSBwaWNrIGl0IGZyb20gdGhlXG4gICAgICAgICAgLy8gdXNlcidzIGJyb3dzZXIgdG8gYXR0ZW1wdCB0byBtYXRjaCB0aGUgbGFuZ3VhZ2UgZm9yIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9ucy5cbiAgICAgICAgICBjb25zdCB1c2VyTG9jYWxlID0gZ2V0QnJvd3NlckxvY2FsZSh3aW5kb3cpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlckxvY2FsZX1cbiAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgeyh7IGxvY2FsZSwgbWVzc2FnZXMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlcG9ydEVycm9yVG9TZW50cnkoZXJyb3IsIHt9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPENvbmZpZ3VyZUludGxQcm92aWRlciBsb2NhbGU9e2xvY2FsZX0gbWVzc2FnZXM9e21lc3NhZ2VzfT5cbiAgICAgICAgICAgICAgICAgICAgPEVycm9yQXBvbG9naXplciAvPlxuICAgICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcm9qZWN0S2V5RnJvbVVybCA9IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsKGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXJcbiAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7LypcbiAgICAgICAgICAgIE5PVEU6IHdlIGRvIG5vdCB3YW50IHRvIGxvYWQgdGhlIGxvY2FsZSBkYXRhIGFzIGxvbmcgYXMgd2UgZG8gbm90XG4gICAgICAgICAgICBrbm93IHRoZSB1c2VyIHNldHRpbmcuIFRoaXMgaXMgaW1wb3J0YW50IGluIG9yZGVyIHRvIGF2b2lkIGZsYXNoaW5nXG4gICAgICAgICAgICBvZiB0cmFuc2xhdGVkIGNvbnRlbnQgb24gc3Vic2VxdWVudCByZS1yZW5kZXJzLlxuICAgICAgICAgICAgVGhlcmVmb3JlLCBhcyBsb25nIGFzIHRoZXJlIGlzIG5vIGxvY2FsZSwgdGhlIGNoaWxkcmVuIHNob3VsZCBjb25zaWRlciB1c2luZyB0aGVcbiAgICAgICAgICAgIGBpc0xvYWRpbmdgIHByb3AgdG8gZGVjaWRlIHdoYXQgdG8gcmVuZGVyLlxuICAgICAgICAgICovfVxuICAgICAgICAgICAgPEFzeW5jTG9jYWxlRGF0YVxuICAgICAgICAgICAgICBsb2NhbGU9e3VzZXI/Lmxhbmd1YWdlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdMb2NhbGVEYXRhLCBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBwYXNzIHRoZSBsYW5ndWFnZSBhcyBsb25nIGFzIHRoZSBsb2NhbGUgZGF0YVxuICAgICAgICAgICAgICAgICAgLy8gaXMgbm90IGxvYWRlZC5cbiAgICAgICAgICAgICAgICAgIHsuLi4oaXNMb2FkaW5nTG9jYWxlRGF0YSA/IHt9IDogeyBsb2NhbGUsIG1lc3NhZ2VzIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTZXR1cEZsb3BGbGlwUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgIGxkQ2xpZW50U2lkZUlkPXthcHBsaWNhdGlvbkVudmlyb25tZW50LmxkQ2xpZW50U2lkZUlkfVxuICAgICAgICAgICAgICAgICAgICBmbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsvKiBUaGlzIGlzIGEgdGVtcG9yYXJ5IGNvbnRhaW5lci4gSXQgd2lsbCBiZSByZW1vdmVkIG9uY2UgdGhlIG5ldyBuYXZpZ2F0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gKi99XG4gICAgICAgICAgICAgICAgICAgIDxOZXdNYWluTmF2aWdhdGlvbkZsYWdXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHksXG4gICAgICAgICAgICAgICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGhlbWVTd2l0Y2hlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWZXJzaW9uVHJhY2tlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBOT1RFOiB0aGUgcmVxdWVzdHMgaW4gZmxpZ2h0IGxvYWRlciB3aWxsIHJlbmRlciBhIGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGlubmVyIGludG8gdGhlIEFwcEJhci4gKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VudHJ5VXNlclRyYWNrZXIgdXNlcj17dXNlciA/PyB1bmRlZmluZWR9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAke0RJTUVOU0lPTlMuaGVhZGVyfSAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgMWZyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17bm90aWZpY2F0aW9uc0dsb2JhbFJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJhYm92ZS10b3AtbmF2aWdhdGlvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuR0xPQkFMfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2plY3RLZXlGcm9tVXJsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBpc1Byb2plY3RMb2FkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9qZWN0TG9hZGluZyB8fCAhcHJvamVjdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiB1c2VkIG91dHNpZGUgb2YgYSBwcm9qZWN0IGNvbnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3Igd2hlbiB0aGUgcHJvamVjdCBpcyBleHBpcmVkIG9yIHN1cHNlbmRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNob3VsZFVzZVByb2plY3RDb250ZXh0ID0gIShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9qZWN0LnN1c3BlbnNpb24gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3QuZXhwaXJ5ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QuZXhwaXJ5LmlzQWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXNob3VsZFVzZVByb2plY3RDb250ZXh0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdERhdGFMb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlcz17cHJvamVjdC5sYW5ndWFnZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZTogZGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0RGF0YUxvY2FsZT17ZGF0YUxvY2FsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25FbnZpcm9ubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxRdWlja0FjY2Vzc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZVByb2plY3REYXRhTG9jYWxlPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1Byb2plY3REYXRhTG9jYWxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZldGNoUHJvamVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6ICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnMi8zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnMid9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJzIvMydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzEvMyd9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwQmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybD17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hlYWRlcj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzaWRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCA9PT0gZmFsc2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCA9PT0gdHJ1ZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBncmlkLWNvbHVtbjogMS8yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDIvNDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIDxOYXZCYXI+IHNob3VsZCBvbmx5IGJlIHJlbmRlcmVkIHdpdGhpbiBhIHByb2plY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb250ZXh0LCB0aGVyZWZvcmUgd2hlbiB0aGVyZSBpcyBhIGBwcm9qZWN0S2V5YC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBgcHJvamVjdEtleWAgaW4gdGhlIFVSTCAoZS5nLiBgL2FjY291bnRgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcm91dGVzKSwgd2UgZG9uJ3QgcmVuZGVyIGl0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IHdlIGFsc28gXCJjYWNoZVwiIHRoZSBgcHJvamVjdEtleWAgaW4gbG9jYWxTdG9yYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYnV0IHRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCB0byBcInJlLWh5ZHJhdGVcIiB0aGUgVVJMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbG9jYXRpb24gKGUuZyB3aGVuIHlvdSBnbyB0byBgL2AsIHRoZXJlIHNob3VsZCBiZSBhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVkaXJlY3QgdG8gYC86cHJvamVjdEtleWApLiBUaGVyZWZvcmUsIHdlIHNob3VsZCBub3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWx5IG9uIHRoZSB2YWx1ZSBpbiBsb2NhbFN0b3JhZ2UgdG8gZGV0ZXJtaW5lIHdoaWNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYHByb2plY3RLZXlgIGlzIGN1cnJlbnRseSB1c2VkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvamVjdEtleUZyb21VcmwpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmV0Y2hQcm9qZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmc6IGlzTG9hZGluZ1Byb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzTG9hZGluZyA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdVc2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdMb2NhbGVEYXRhIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdQcm9qZWN0IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhbG9jYWxlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhcHJvamVjdDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IGRvIG5vdCBwYXNzIHRoZSBgcHJvamVjdGAgaW50byB0aGUgYXBwbGljYXRpb24gY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHBlcm1pc3Npb25zIGZvciB0aGUgTmF2YmFyIGFyZSByZXNvbHZlZCBzZXBhcmF0ZWx5LCB3aXRoaW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYSBkaWZmZXJlbnQgUmVhY3QgY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5hdkJhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdD17cHJvamVjdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkVudmlyb25tZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbk1lbnVJdGVtQ2xpY2tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHk9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZEV2YWx1YXRpb25SZWFkeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmV0Y2hQcm9qZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzaWRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nVXNlciB8fCBpc0xvYWRpbmdMb2NhbGVEYXRhID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFpbkNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwibWFpblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Mb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9NYWluQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1haW5Db250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cIm1haW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiByZWY9e25vdGlmaWNhdGlvbnNQYWdlUmVmfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuUEFHRX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLlNJREV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgYmVjYXVzZSB3ZSBoYXZlIGFuIGludGVybWVkaWFyeSA8ZGl2PiB3cmFwcGluZyB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXc+IGNvbXBvbmVudCB0aGF0IGlzIHVzZWQgdG8gd3JhcCBldmVyeSBjb250ZW50LXZpZXcuIFRoaXMgaW50ZXJtZWRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+IGlzIHNvbGVseSB1c2VkIGZvciBhZGRpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIGNvbnRlbnQtdmlldy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSG93ZXZlciwgdGhpcyBjb3VsZCBiZSBkb25lIGJ5IHBhc3NpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIDxWaWV3PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbGV0IGl0IGRvIHRoZSBsYXlvdXQsIHNvIHdlIGNhbiBhdm9pZCBsYXlpbmcgb3VyIGZyb20gdGhlIG91dHNpZGUgYXMgd2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gaGVyZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gKjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQb3J0YWxzQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtsYXlvdXRSZWZzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRUb3A9e0RJTUVOU0lPTlMuaGVhZGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRMZWZ0PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBESU1FTlNJT05TLm5hdk1lbnVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzBweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRMZWZ0T25FeHBhbmRlZE1lbnU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXlGcm9tVXJsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IERJTUVOU0lPTlMubmF2TWVudUV4cGFuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcwcHgnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVkaXJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tPVwiL3Byb2ZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPVwiL2FjY291bnQvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2FjY291bnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGByZW5kZXJgIGZ1bmN0aW9uLCB3ZSBhc3N1bWUgaXQncyBvbmUgb2YgdHdvIGNhc2VzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogMS4gVGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IHVzZSBgY2hpbGRyZW5gIGFuZCB0aGVyZWZvcmUgaW1wbGVtZW50cyB0aGUgcm91dGVzIGluY2x1ZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogdGhlIDxSb3V0ZUNhdGNoQWxsPiAodGhpcyBpcyB0aGUgXCJsZWdhY3lcIiBiZWhhdmlvcikuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAyLiBJdCdzIHRoZSBhY2NvdW50IGFwcGxpY2F0aW9uLCB3aGljaCBhbHdheXMgdXNlcyBgcmVuZGVyYCBhbmQgdGhlcmVmb3JlIHNob3VsZCByZW5kZXIgYXMgbm9ybWFsLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGBjaGlsZHJlbmAgZnVuY3Rpb24sIHdlIGNhbiBhbHdheXMgYXNzdW1lIHRoYXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIGl0J3MgYSBub3JtYWwgQ3VzdG9tIEFwcGxpY2F0aW9uIGFuZCB0aGF0IGl0IHNob3VsZCB0cmlnZ2VyIGEgZm9yY2UgcmVsb2FkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5yZW5kZXIgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+e3Byb3BzLnJlbmRlcigpfTwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlQ2F0Y2hBbGwgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBQcm9qZWN0IHJvdXRlcyAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlIGV4YWN0PXt0cnVlfSBwYXRoPVwiL1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNQcm9qZWN0S2V5ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UHJldmlvdXNQcm9qZWN0S2V5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI/LmRlZmF1bHRQcm9qZWN0S2V5ID8/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBOT1RFOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciBoYXMgbm90IGJlZW4gbG9hZGVkIGEgbG9hZGluZyBzcGlubmVyIGlzIHNob3duLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciB3YXMgbm90IHdvcmtpbmcgb24gYSBwcm9qZWN0IHByZXZpb3VzbHkgbm9yIGhhcyBhIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvamVjdCwgdGhlIHVzZXIgd2lsbCBiZSBwcm9tcHRlZCB0byBjcmVhdGUgb25lLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciB3YXMgd29ya2luZyBvbiBhIHByb2plY3QgcHJldmlvdXNseSBvciBoYXMgYSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHByb2plY3QsIHRoZSBhcHBsaWNhdGlvbiB3aWxsIHJlZGlyZWN0IHRvIHRoYXQgcHJvamVjdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF1c2VyKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPEFwcGxpY2F0aW9uTG9hZGVyIC8+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcmV2aW91c1Byb2plY3RLZXkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVkaXJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bz17YC8ke3ByZXZpb3VzUHJvamVjdEtleX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1JvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGUgZXhhY3Q9e2ZhbHNlfSBwYXRoPVwiLzpwcm9qZWN0S2V5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2plY3RDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVSb3V0ZVBlcm1pc3Npb25DaGVjaz17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLmRpc2FibGVSb3V0ZVBlcm1pc3Npb25DaGVja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBlZmZlY3RpdmVseSByZW5kZXJzIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2hpbGRyZW4sIHdoaWNoIGlzIHRoZSBhcHBsaWNhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3BlY2lmaWMgcGFydFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcy5yZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJvamVjdENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L01haW5Db250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9OZXdNYWluTmF2aWdhdGlvbkZsYWdXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgPC9TZXR1cEZsb3BGbGlwUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0FzeW5jTG9jYWxlRGF0YT5cbiAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICApO1xuICAgICAgfX1cbiAgICA8L0ZldGNoVXNlcj5cbiAgKTtcbn07XG5BcHBsaWNhdGlvblNoZWxsQXV0aGVudGljYXRlZC5kaXNwbGF5TmFtZSA9ICdBcHBsaWNhdGlvblNoZWxsQXV0aGVudGljYXRlZCc7XG5cbmV4cG9ydCBkZWZhdWx0IEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkO1xuIl19 */",
|
|
1029
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$
|
|
1029
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLWF1dGhlbnRpY2F0ZWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlQd0MiLCJmaWxlIjoiYXBwbGljYXRpb24tc2hlbGwtYXV0aGVudGljYXRlZC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWZPYmplY3QsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG4gIHVzZVJlZixcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHR5cGUgeyBBcG9sbG9FcnJvciB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2Vycm9ycyc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgeyBSZWRpcmVjdCwgUm91dGUsIFN3aXRjaCwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFBvcnRhbHNDb250YWluZXIgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG4gIHR5cGUgVEFwcGxpY2F0aW9uQ29udGV4dCxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHsgQXN5bmNMb2NhbGVEYXRhIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvaTE4bic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zTGlzdCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3JlYWN0LW5vdGlmaWNhdGlvbnMnO1xuaW1wb3J0IHtcbiAgcmVwb3J0RXJyb3JUb1NlbnRyeSxcbiAgU2VudHJ5VXNlclRyYWNrZXIsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3NlbnRyeSc7XG5pbXBvcnQgeyBESU1FTlNJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsLCBnZXRQcmV2aW91c1Byb2plY3RLZXkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgQXBwQmFyIGZyb20gJy4uL2FwcC1iYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IENvbmZpZ3VyZUludGxQcm92aWRlciBmcm9tICcuLi9jb25maWd1cmUtaW50bC1wcm92aWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBGZXRjaFVzZXIgZnJvbSAnLi4vZmV0Y2gtdXNlcic7XG5pbXBvcnQgTmF2QmFyIGZyb20gJy4uL25hdmJhcic7XG5pbXBvcnQgUHJvamVjdENvbnRhaW5lciBmcm9tICcuLi9wcm9qZWN0LWNvbnRhaW5lcic7XG5pbXBvcnQgUHJvamVjdERhdGFMb2NhbGUgZnJvbSAnLi4vcHJvamVjdC1kYXRhLWxvY2FsZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9nb3V0IGZyb20gJy4uL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5pbXBvcnQgUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgZnJvbSAnLi4vcmVkaXJlY3QtdG8tcHJvamVjdC1jcmVhdGUnO1xuaW1wb3J0IFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgZnJvbSAnLi4vcmVxdWVzdHMtaW4tZmxpZ2h0LWxvYWRlcic7XG5pbXBvcnQgUm91dGVDYXRjaEFsbCBmcm9tICcuLi9yb3V0ZS1jYXRjaC1hbGwnO1xuaW1wb3J0IFNldHVwRmxvcEZsaXBQcm92aWRlciBmcm9tICcuLi9zZXR1cC1mbG9wLWZsaXAtcHJvdmlkZXInO1xuaW1wb3J0IFRoZW1lU3dpdGNoZXIgZnJvbSAnLi4vdGhlbWUtc3dpdGNoZXInO1xuaW1wb3J0IFZlcnNpb25UcmFja2VyIGZyb20gJy4uL3ZlcnNpb24tdHJhY2tlcic7XG5pbXBvcnQgTmV3TWFpbk5hdmlnYXRpb25GbGFnV3JhcHBlciBmcm9tICcuL25ldy1tYWluLW5hdmlnYXRpb24tZmxhZy13cmFwcGVyJztcblxudHlwZSBUQXBwbGljYXRpb25TaGVsbEF1dGhlbnRpY2F0aW9uUHJvcHMgPSB7XG4gIGZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgZGVmYXVsdEZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uTWVudUl0ZW1DbGljaz86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICBkaXNhYmxlUm91dGVQZXJtaXNzaW9uQ2hlY2s/OiBib29sZWFuO1xuICByZW5kZXI/OiAoKSA9PiBKU1guRWxlbWVudDtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG50eXBlIE1haW5Db250YWluZXJQcm9wcyA9IHtcbiAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEhhc1VuYXV0aG9yaXplZEVycm9yID0gKGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ10pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5leHRlbnNpb25zICYmXG4gICAgICBncWxFcnJvci5leHRlbnNpb25zLmNvZGUgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSA9PT0gJ1VOQVVUSEVOVElDQVRFRCdcbiAgKTtcbmNvbnN0IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gKFxuICBncmFwaFFMRXJyb3JzOiBBcG9sbG9FcnJvclsnZ3JhcGhRTEVycm9ycyddXG4pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5tZXNzYWdlICYmXG4gICAgICAvLyBOT1RFOiBUaGUgQ1RQIEFQSSBkb2VzIG5vdCBwcm92aWRlIGFuIGVycm9yIGNvZGUgaW4gdGhpcyBjYXNlLlxuICAgICAgZ3FsRXJyb3IubWVzc2FnZS5pbmNsdWRlcygnd2FzIG5vdCBmb3VuZC4nKVxuICApO1xuXG5leHBvcnQgY29uc3QgTWFpbkNvbnRhaW5lciA9IHN0eWxlZC5tYWluPE1haW5Db250YWluZXJQcm9wcz5gXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgID8gYFxuICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgICAgICBncmlkLXJvdzogMy80O1xuICAgICAgYFxuICAgICAgOiBgXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgIGB9O1xuXG4gIC8qXG4gICAgQWxsb3cgdGhlIHRoaXMgZmxleCBjaGlsZCB0byBncm93IHNtYWxsZXIgdGhhbiBpdHMgc21hbGxlc3QgY29udGVudC5cbiAgICBUaGlzIGlzIG5lZWRlZCB3aGVuIHRoZXJlIGlzIGEgcmVhbGx5IHdpZGUgdGV4dCBpbnNpZGUgdGhhdCB3b3VsZCBzdHJldGNoXG4gICAgdGhpcyBub2RlIHRvIGJlIHdpZGVyIHRoYW4gdGhlIHBhcmVudC5cbiAgKi9cbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAvKlxuICAgIGxheW91dCB0aGUgY2hpbGRyZW4uIFRoZXJlIHdpbGwgYWx3YXlzIGJlIHRoZSBwYWdlIGFuZCBzaWRlIG5vdGlmaWNhdGlvblxuICAgIGFib3V0IHRoZSBhY3R1YWwgY29udGVudC4gVGhlIGNvbnRlbnQgc2hvdWxkIHN0cmV0Y2ggdG8gZmlsbCB0aGUgcmVzdCBvZlxuICAgIHRoZSBwYWdlLlxuICAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8qXG4gICAgc2V0IHBvc2l0aW9uIHRvIHJlbGF0aXZlIHRvIGxheW91dCBub3RpZmljYXRpb25zIGFuZCBtb2RhbHNcbiAgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuZXhwb3J0IGNvbnN0IEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkID0gKFxuICBwcm9wczogVEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGlvblByb3BzXG4pID0+IHtcbiAgY29uc3QgYXBwbGljYXRpb25FbnZpcm9ubWVudCA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dChcbiAgICAoY29udGV4dCkgPT4gY29udGV4dC5lbnZpcm9ubWVudFxuICApIGFzIFRBcHBsaWNhdGlvbkNvbnRleHQ8e30+WydlbnZpcm9ubWVudCddO1xuICAvLyBUT0RPOiB1c2luZyB0aGlzIGhvb2sgd2lsbCBzdWJzY3JpYmUgdGhlIGNvbXBvbmVudCB0byByb3V0ZSB1cGRhdGVzLlxuICAvLyBUaGlzIGlzIGN1cnJlbnRseSB1c2VmdWwgZm9yIGRldGVjdGluZyBhIGNoYW5nZSBpbiB0aGUgcHJvamVjdCBrZXlcbiAgLy8gZnJvbSBVUkwgKFwiL1wiIC0tPiBcIi86cHJvamVjdEtleVwiKS5cbiAgLy8gSG93ZXZlciwgZXZlcnkgcm91dGUgY2hhbmdlIHdpbGwgdHJpZ2dlciBhIHJlLXJlbmRlci4gVGhpcyBpcyBwcm9iYWJseVxuICAvLyBvay1pc2ggYnV0IHdlIG1pZ2h0IHdhbnQgdG8gbG9vayBpbnRvIGEgbW9yZSBwZXJmb3JtYW50IHNvbHV0aW9uLlxuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgY29uc3Qgbm90aWZpY2F0aW9uc0dsb2JhbFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IG5vdGlmaWNhdGlvbnNQYWdlUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgbGF5b3V0UmVmcyA9IHVzZVJlZjx7XG4gICAgbm90aWZpY2F0aW9uc0dsb2JhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgICBub3RpZmljYXRpb25zUGFnZVJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgfT4oe1xuICAgIG5vdGlmaWNhdGlvbnNHbG9iYWxSZWYsXG4gICAgbm90aWZpY2F0aW9uc1BhZ2VSZWYsXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPEZldGNoVXNlcj5cbiAgICAgIHsoeyBpc0xvYWRpbmc6IGlzTG9hZGluZ1VzZXIsIHVzZXIsIGVycm9yIH0pID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgLy8gSW4gY2FzZSB0aGVyZSBpcyBhbiB1bmF1dGhvcml6ZWQgZXJyb3IsIHdlIHJlZGlyZWN0IHRvIHRoZSBsb2dpbiBwYWdlXG4gICAgICAgICAgaWYgKGVycm9yLmdyYXBoUUxFcnJvcnMgJiYgQXJyYXkuaXNBcnJheShlcnJvci5ncmFwaFFMRXJyb3JzKSkge1xuICAgICAgICAgICAgY29uc3QgaGFzVW5hdXRob3JpemVkRXJyb3IgPSBnZXRIYXNVbmF1dGhvcml6ZWRFcnJvcihcbiAgICAgICAgICAgICAgZXJyb3IuZ3JhcGhRTEVycm9yc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvciB8fCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcikge1xuICAgICAgICAgICAgICBsZXQgbG9nb3V0UmVhc29uOlxuICAgICAgICAgICAgICAgIHwgKHR5cGVvZiBMT0dPVVRfUkVBU09OUylba2V5b2YgdHlwZW9mIExPR09VVF9SRUFTT05TXVxuICAgICAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IpXG4gICAgICAgICAgICAgICAgbG9nb3V0UmVhc29uID0gTE9HT1VUX1JFQVNPTlMuVU5BVVRIT1JJWkVEO1xuICAgICAgICAgICAgICBlbHNlIGlmIChoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5ERUxFVEVEO1xuICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dvdXQgcmVhc29uPXtsb2dvdXRSZWFzb259IC8+O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBTaW5jZSB3ZSBkbyBub3Qga25vdyB0aGUgbG9jYWxlIG9mIHRoZSB1c2VyLCB3ZSBwaWNrIGl0IGZyb20gdGhlXG4gICAgICAgICAgLy8gdXNlcidzIGJyb3dzZXIgdG8gYXR0ZW1wdCB0byBtYXRjaCB0aGUgbGFuZ3VhZ2UgZm9yIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9ucy5cbiAgICAgICAgICBjb25zdCB1c2VyTG9jYWxlID0gZ2V0QnJvd3NlckxvY2FsZSh3aW5kb3cpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlckxvY2FsZX1cbiAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgeyh7IGxvY2FsZSwgbWVzc2FnZXMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlcG9ydEVycm9yVG9TZW50cnkoZXJyb3IsIHt9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPENvbmZpZ3VyZUludGxQcm92aWRlciBsb2NhbGU9e2xvY2FsZX0gbWVzc2FnZXM9e21lc3NhZ2VzfT5cbiAgICAgICAgICAgICAgICAgICAgPEVycm9yQXBvbG9naXplciAvPlxuICAgICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcm9qZWN0S2V5RnJvbVVybCA9IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsKGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXJcbiAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7LypcbiAgICAgICAgICAgIE5PVEU6IHdlIGRvIG5vdCB3YW50IHRvIGxvYWQgdGhlIGxvY2FsZSBkYXRhIGFzIGxvbmcgYXMgd2UgZG8gbm90XG4gICAgICAgICAgICBrbm93IHRoZSB1c2VyIHNldHRpbmcuIFRoaXMgaXMgaW1wb3J0YW50IGluIG9yZGVyIHRvIGF2b2lkIGZsYXNoaW5nXG4gICAgICAgICAgICBvZiB0cmFuc2xhdGVkIGNvbnRlbnQgb24gc3Vic2VxdWVudCByZS1yZW5kZXJzLlxuICAgICAgICAgICAgVGhlcmVmb3JlLCBhcyBsb25nIGFzIHRoZXJlIGlzIG5vIGxvY2FsZSwgdGhlIGNoaWxkcmVuIHNob3VsZCBjb25zaWRlciB1c2luZyB0aGVcbiAgICAgICAgICAgIGBpc0xvYWRpbmdgIHByb3AgdG8gZGVjaWRlIHdoYXQgdG8gcmVuZGVyLlxuICAgICAgICAgICovfVxuICAgICAgICAgICAgPEFzeW5jTG9jYWxlRGF0YVxuICAgICAgICAgICAgICBsb2NhbGU9e3VzZXI/Lmxhbmd1YWdlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdMb2NhbGVEYXRhLCBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBwYXNzIHRoZSBsYW5ndWFnZSBhcyBsb25nIGFzIHRoZSBsb2NhbGUgZGF0YVxuICAgICAgICAgICAgICAgICAgLy8gaXMgbm90IGxvYWRlZC5cbiAgICAgICAgICAgICAgICAgIHsuLi4oaXNMb2FkaW5nTG9jYWxlRGF0YSA/IHt9IDogeyBsb2NhbGUsIG1lc3NhZ2VzIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTZXR1cEZsb3BGbGlwUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgIGxkQ2xpZW50U2lkZUlkPXthcHBsaWNhdGlvbkVudmlyb25tZW50LmxkQ2xpZW50U2lkZUlkfVxuICAgICAgICAgICAgICAgICAgICBmbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsvKiBUaGlzIGlzIGEgdGVtcG9yYXJ5IGNvbnRhaW5lci4gSXQgd2lsbCBiZSByZW1vdmVkIG9uY2UgdGhlIG5ldyBuYXZpZ2F0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gKi99XG4gICAgICAgICAgICAgICAgICAgIDxOZXdNYWluTmF2aWdhdGlvbkZsYWdXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHksXG4gICAgICAgICAgICAgICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGhlbWVTd2l0Y2hlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWZXJzaW9uVHJhY2tlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBOT1RFOiB0aGUgcmVxdWVzdHMgaW4gZmxpZ2h0IGxvYWRlciB3aWxsIHJlbmRlciBhIGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGlubmVyIGludG8gdGhlIEFwcEJhci4gKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VudHJ5VXNlclRyYWNrZXIgdXNlcj17dXNlciA/PyB1bmRlZmluZWR9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAke0RJTUVOU0lPTlMuaGVhZGVyfSAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgMWZyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17bm90aWZpY2F0aW9uc0dsb2JhbFJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJhYm92ZS10b3AtbmF2aWdhdGlvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuR0xPQkFMfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2plY3RLZXlGcm9tVXJsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBpc1Byb2plY3RMb2FkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9qZWN0TG9hZGluZyB8fCAhcHJvamVjdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiB1c2VkIG91dHNpZGUgb2YgYSBwcm9qZWN0IGNvbnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3Igd2hlbiB0aGUgcHJvamVjdCBpcyBleHBpcmVkIG9yIHN1cHNlbmRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNob3VsZFVzZVByb2plY3RDb250ZXh0ID0gIShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9qZWN0LnN1c3BlbnNpb24gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3QuZXhwaXJ5ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QuZXhwaXJ5LmlzQWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXNob3VsZFVzZVByb2plY3RDb250ZXh0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdERhdGFMb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlcz17cHJvamVjdC5sYW5ndWFnZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZTogZGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0RGF0YUxvY2FsZT17ZGF0YUxvY2FsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25FbnZpcm9ubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxRdWlja0FjY2Vzc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZVByb2plY3REYXRhTG9jYWxlPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1Byb2plY3REYXRhTG9jYWxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZldGNoUHJvamVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6ICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnMi8zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnMid9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJzIvMydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzEvMyd9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwQmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybD17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc2lkZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWQgPT09IGZhbHNlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWQgPT09IHRydWUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZ3JpZC1jb2x1bW46IDEvMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyLzQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO2B9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSA8TmF2QmFyPiBzaG91bGQgb25seSBiZSByZW5kZXJlZCB3aXRoaW4gYSBwcm9qZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29udGV4dCwgdGhlcmVmb3JlIHdoZW4gdGhlcmUgaXMgYSBgcHJvamVjdEtleWAuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gYHByb2plY3RLZXlgIGluIHRoZSBVUkwgKGUuZy4gYC9hY2NvdW50YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJvdXRlcyksIHdlIGRvbid0IHJlbmRlciBpdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiB3ZSBhbHNvIFwiY2FjaGVcIiB0aGUgYHByb2plY3RLZXlgIGluIGxvY2FsU3RvcmFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJ1dCB0aGlzIHNob3VsZCBvbmx5IGJlIHVzZWQgdG8gXCJyZS1oeWRyYXRlXCIgdGhlIFVSTFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxvY2F0aW9uIChlLmcgd2hlbiB5b3UgZ28gdG8gYC9gLCB0aGVyZSBzaG91bGQgYmUgYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlZGlyZWN0IHRvIGAvOnByb2plY3RLZXlgKS4gVGhlcmVmb3JlLCB3ZSBzaG91bGQgbm90XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVseSBvbiB0aGUgdmFsdWUgaW4gbG9jYWxTdG9yYWdlIHRvIGRldGVybWluZSB3aGljaFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGBwcm9qZWN0S2V5YCBpcyBjdXJyZW50bHkgdXNlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2plY3RLZXlGcm9tVXJsKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBpc0xvYWRpbmdQcm9qZWN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0xvYWRpbmcgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nVXNlciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nTG9jYWxlRGF0YSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nUHJvamVjdCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWxvY2FsZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXByb2plY3Q7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiBkbyBub3QgcGFzcyB0aGUgYHByb2plY3RgIGludG8gdGhlIGFwcGxpY2F0aW9uIGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwZXJtaXNzaW9ucyBmb3IgdGhlIE5hdmJhciBhcmUgcmVzb2x2ZWQgc2VwYXJhdGVseSwgd2l0aGluXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGEgZGlmZmVyZW50IFJlYWN0IGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOYXZCYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25FbnZpcm9ubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1lbnVJdGVtQ2xpY2s9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMub25NZW51SXRlbUNsaWNrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZz17aXNMb2FkaW5nfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkRXZhbHVhdGlvblJlYWR5PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZldGNoUHJvamVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc2lkZT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzTG9hZGluZ1VzZXIgfHwgaXNMb2FkaW5nTG9jYWxlRGF0YSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1haW5Db250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cIm1haW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uTG9hZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYWluQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJtYWluXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgcmVmPXtub3RpZmljYXRpb25zUGFnZVJlZn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLlBBR0V9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0IGRvbWFpbj17RE9NQUlOUy5TSURFfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIG9ubHkgbmVjZXNzYXJ5IGJlY2F1c2Ugd2UgaGF2ZSBhbiBpbnRlcm1lZGlhcnkgPGRpdj4gd3JhcHBpbmcgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWaWV3PiBjb21wb25lbnQgdGhhdCBpcyB1c2VkIHRvIHdyYXAgZXZlcnkgY29udGVudC12aWV3LiBUaGlzIGludGVybWVkaWFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PiBpcyBzb2xlbHkgdXNlZCBmb3IgYWRkaW5nIHRoZSB0cmFja2luZyBjb250ZXh0IHRvIHRoZSBjb250ZW50LXZpZXcuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhvd2V2ZXIsIHRoaXMgY291bGQgYmUgZG9uZSBieSBwYXNzaW5nIHRoZSB0cmFja2luZyBjb250ZXh0IHRvIHRoZSA8Vmlldz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGxldCBpdCBkbyB0aGUgbGF5b3V0LCBzbyB3ZSBjYW4gYXZvaWQgbGF5aW5nIG91ciBmcm9tIHRoZSBvdXRzaWRlIGFzIHdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvIGhlcmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+ICo6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UG9ydGFsc0NvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17bGF5b3V0UmVmc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0VG9wPXtESU1FTlNJT05TLmhlYWRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0TGVmdD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleUZyb21VcmxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IERJTUVOU0lPTlMubmV3TmF2TWVudVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IERJTUVOU0lPTlMubmF2TWVudVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnMHB4J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldExlZnRPbkV4cGFuZGVkTWVudT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleUZyb21VcmxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IERJTUVOU0lPTlMubmV3TmF2TWVudUV4cGFuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogRElNRU5TSU9OUy5uYXZNZW51RXhwYW5kZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzBweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb209XCIvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG89XCIvYWNjb3VudC9wcm9maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvYWNjb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYHJlbmRlcmAgZnVuY3Rpb24sIHdlIGFzc3VtZSBpdCdzIG9uZSBvZiB0d28gY2FzZXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAxLiBUaGUgYXBwbGljYXRpb24gZG9lcyBub3QgdXNlIGBjaGlsZHJlbmAgYW5kIHRoZXJlZm9yZSBpbXBsZW1lbnRzIHRoZSByb3V0ZXMgaW5jbHVkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiB0aGUgPFJvdXRlQ2F0Y2hBbGw+ICh0aGlzIGlzIHRoZSBcImxlZ2FjeVwiIGJlaGF2aW9yKS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIDIuIEl0J3MgdGhlIGFjY291bnQgYXBwbGljYXRpb24sIHdoaWNoIGFsd2F5cyB1c2VzIGByZW5kZXJgIGFuZCB0aGVyZWZvcmUgc2hvdWxkIHJlbmRlciBhcyBub3JtYWwuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYGNoaWxkcmVuYCBmdW5jdGlvbiwgd2UgY2FuIGFsd2F5cyBhc3N1bWUgdGhhdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogaXQncyBhIG5vcm1hbCBDdXN0b20gQXBwbGljYXRpb24gYW5kIHRoYXQgaXQgc2hvdWxkIHRyaWdnZXIgYSBmb3JjZSByZWxvYWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLnJlbmRlciA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD57cHJvcHMucmVuZGVyKCl9PC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVDYXRjaEFsbCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey8qIFByb2plY3Qgcm91dGVzICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGUgZXhhY3Q9e3RydWV9IHBhdGg9XCIvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1Byb2plY3RLZXkgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRQcmV2aW91c1Byb2plY3RLZXkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj8uZGVmYXVsdFByb2plY3RLZXkgPz9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIE5PVEU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIGhhcyBub3QgYmVlbiBsb2FkZWQgYSBsb2FkaW5nIHNwaW5uZXIgaXMgc2hvd24uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyBub3Qgd29ya2luZyBvbiBhIHByb2plY3QgcHJldmlvdXNseSBub3IgaGFzIGEgZGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9qZWN0LCB0aGUgdXNlciB3aWxsIGJlIHByb21wdGVkIHRvIGNyZWF0ZSBvbmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyB3b3JraW5nIG9uIGEgcHJvamVjdCBwcmV2aW91c2x5IG9yIGhhcyBhIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvamVjdCwgdGhlIGFwcGxpY2F0aW9uIHdpbGwgcmVkaXJlY3QgdG8gdGhhdCBwcm9qZWN0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXVzZXIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8QXBwbGljYXRpb25Mb2FkZXIgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByZXZpb3VzUHJvamVjdEtleSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPXtgLyR7cHJldmlvdXNQcm9qZWN0S2V5fWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZSBleGFjdD17ZmFsc2V9IHBhdGg9XCIvOnByb2plY3RLZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdENvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVJvdXRlUGVybWlzc2lvbkNoZWNrPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMuZGlzYWJsZVJvdXRlUGVybWlzc2lvbkNoZWNrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGVmZmVjdGl2ZWx5IHJlbmRlcnMgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjaGlsZHJlbiwgd2hpY2ggaXMgdGhlIGFwcGxpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzcGVjaWZpYyBwYXJ0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzLnJlbmRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Qcm9qZWN0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1JvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L05ld01haW5OYXZpZ2F0aW9uRmxhZ1dyYXBwZXI+XG4gICAgICAgICAgICAgICAgICA8L1NldHVwRmxvcEZsaXBQcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvRmV0Y2hVc2VyPlxuICApO1xufTtcbkFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkLmRpc3BsYXlOYW1lID0gJ0FwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkJztcblxuZXhwb3J0IGRlZmF1bHQgQXBwbGljYXRpb25TaGVsbEF1dGhlbnRpY2F0ZWQ7XG4iXX0= */",
|
|
1030
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$2
|
|
1030
1031
|
};
|
|
1031
1032
|
const ApplicationShellAuthenticated = props => {
|
|
1032
1033
|
const applicationEnvironment = useApplicationContext(context => context.environment);
|
|
@@ -1110,7 +1111,7 @@ const ApplicationShellAuthenticated = props => {
|
|
|
1110
1111
|
children: [jsx(ThemeSwitcher, {}), jsx(VersionTracker, {}), jsx(RequestsInFlightLoader, {}), jsx(SentryUserTracker, {
|
|
1111
1112
|
user: user !== null && user !== void 0 ? user : undefined
|
|
1112
1113
|
}), jsxs("div", {
|
|
1113
|
-
css: /*#__PURE__*/css("height:100vh;display:grid;grid-template-rows:auto ", DIMENSIONS.header, " 1fr;grid-template-columns:min-content 1fr;" + (process.env.NODE_ENV === "production" ? "" : ";label:ApplicationShellAuthenticated;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLWF1dGhlbnRpY2F0ZWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNPc0MiLCJmaWxlIjoiYXBwbGljYXRpb24tc2hlbGwtYXV0aGVudGljYXRlZC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWZPYmplY3QsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG4gIHVzZVJlZixcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHR5cGUgeyBBcG9sbG9FcnJvciB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2Vycm9ycyc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgeyBSZWRpcmVjdCwgUm91dGUsIFN3aXRjaCwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFBvcnRhbHNDb250YWluZXIgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG4gIHR5cGUgVEFwcGxpY2F0aW9uQ29udGV4dCxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHsgQXN5bmNMb2NhbGVEYXRhIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvaTE4bic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zTGlzdCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3JlYWN0LW5vdGlmaWNhdGlvbnMnO1xuaW1wb3J0IHtcbiAgcmVwb3J0RXJyb3JUb1NlbnRyeSxcbiAgU2VudHJ5VXNlclRyYWNrZXIsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3NlbnRyeSc7XG5pbXBvcnQgeyBESU1FTlNJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsLCBnZXRQcmV2aW91c1Byb2plY3RLZXkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgQXBwQmFyIGZyb20gJy4uL2FwcC1iYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IENvbmZpZ3VyZUludGxQcm92aWRlciBmcm9tICcuLi9jb25maWd1cmUtaW50bC1wcm92aWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBGZXRjaFVzZXIgZnJvbSAnLi4vZmV0Y2gtdXNlcic7XG5pbXBvcnQgTmF2QmFyIGZyb20gJy4uL25hdmJhcic7XG5pbXBvcnQgUHJvamVjdENvbnRhaW5lciBmcm9tICcuLi9wcm9qZWN0LWNvbnRhaW5lcic7XG5pbXBvcnQgUHJvamVjdERhdGFMb2NhbGUgZnJvbSAnLi4vcHJvamVjdC1kYXRhLWxvY2FsZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9nb3V0IGZyb20gJy4uL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5pbXBvcnQgUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgZnJvbSAnLi4vcmVkaXJlY3QtdG8tcHJvamVjdC1jcmVhdGUnO1xuaW1wb3J0IFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgZnJvbSAnLi4vcmVxdWVzdHMtaW4tZmxpZ2h0LWxvYWRlcic7XG5pbXBvcnQgUm91dGVDYXRjaEFsbCBmcm9tICcuLi9yb3V0ZS1jYXRjaC1hbGwnO1xuaW1wb3J0IFNldHVwRmxvcEZsaXBQcm92aWRlciBmcm9tICcuLi9zZXR1cC1mbG9wLWZsaXAtcHJvdmlkZXInO1xuaW1wb3J0IFRoZW1lU3dpdGNoZXIgZnJvbSAnLi4vdGhlbWUtc3dpdGNoZXInO1xuaW1wb3J0IFZlcnNpb25UcmFja2VyIGZyb20gJy4uL3ZlcnNpb24tdHJhY2tlcic7XG5pbXBvcnQgTmV3TWFpbk5hdmlnYXRpb25GbGFnV3JhcHBlciBmcm9tICcuL25ldy1tYWluLW5hdmlnYXRpb24tZmxhZy13cmFwcGVyJztcblxudHlwZSBUQXBwbGljYXRpb25TaGVsbEF1dGhlbnRpY2F0aW9uUHJvcHMgPSB7XG4gIGZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgZGVmYXVsdEZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uTWVudUl0ZW1DbGljaz86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICBkaXNhYmxlUm91dGVQZXJtaXNzaW9uQ2hlY2s/OiBib29sZWFuO1xuICByZW5kZXI/OiAoKSA9PiBKU1guRWxlbWVudDtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG50eXBlIE1haW5Db250YWluZXJQcm9wcyA9IHtcbiAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEhhc1VuYXV0aG9yaXplZEVycm9yID0gKGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ10pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5leHRlbnNpb25zICYmXG4gICAgICBncWxFcnJvci5leHRlbnNpb25zLmNvZGUgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSA9PT0gJ1VOQVVUSEVOVElDQVRFRCdcbiAgKTtcbmNvbnN0IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gKFxuICBncmFwaFFMRXJyb3JzOiBBcG9sbG9FcnJvclsnZ3JhcGhRTEVycm9ycyddXG4pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5tZXNzYWdlICYmXG4gICAgICAvLyBOT1RFOiBUaGUgQ1RQIEFQSSBkb2VzIG5vdCBwcm92aWRlIGFuIGVycm9yIGNvZGUgaW4gdGhpcyBjYXNlLlxuICAgICAgZ3FsRXJyb3IubWVzc2FnZS5pbmNsdWRlcygnd2FzIG5vdCBmb3VuZC4nKVxuICApO1xuXG5leHBvcnQgY29uc3QgTWFpbkNvbnRhaW5lciA9IHN0eWxlZC5tYWluPE1haW5Db250YWluZXJQcm9wcz5gXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgID8gYFxuICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgICAgICBncmlkLXJvdzogMy80O1xuICAgICAgYFxuICAgICAgOiBgXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgIGB9O1xuXG4gIC8qXG4gICAgQWxsb3cgdGhlIHRoaXMgZmxleCBjaGlsZCB0byBncm93IHNtYWxsZXIgdGhhbiBpdHMgc21hbGxlc3QgY29udGVudC5cbiAgICBUaGlzIGlzIG5lZWRlZCB3aGVuIHRoZXJlIGlzIGEgcmVhbGx5IHdpZGUgdGV4dCBpbnNpZGUgdGhhdCB3b3VsZCBzdHJldGNoXG4gICAgdGhpcyBub2RlIHRvIGJlIHdpZGVyIHRoYW4gdGhlIHBhcmVudC5cbiAgKi9cbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAvKlxuICAgIGxheW91dCB0aGUgY2hpbGRyZW4uIFRoZXJlIHdpbGwgYWx3YXlzIGJlIHRoZSBwYWdlIGFuZCBzaWRlIG5vdGlmaWNhdGlvblxuICAgIGFib3V0IHRoZSBhY3R1YWwgY29udGVudC4gVGhlIGNvbnRlbnQgc2hvdWxkIHN0cmV0Y2ggdG8gZmlsbCB0aGUgcmVzdCBvZlxuICAgIHRoZSBwYWdlLlxuICAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8qXG4gICAgc2V0IHBvc2l0aW9uIHRvIHJlbGF0aXZlIHRvIGxheW91dCBub3RpZmljYXRpb25zIGFuZCBtb2RhbHNcbiAgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuZXhwb3J0IGNvbnN0IEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkID0gKFxuICBwcm9wczogVEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGlvblByb3BzXG4pID0+IHtcbiAgY29uc3QgYXBwbGljYXRpb25FbnZpcm9ubWVudCA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dChcbiAgICAoY29udGV4dCkgPT4gY29udGV4dC5lbnZpcm9ubWVudFxuICApIGFzIFRBcHBsaWNhdGlvbkNvbnRleHQ8e30+WydlbnZpcm9ubWVudCddO1xuICAvLyBUT0RPOiB1c2luZyB0aGlzIGhvb2sgd2lsbCBzdWJzY3JpYmUgdGhlIGNvbXBvbmVudCB0byByb3V0ZSB1cGRhdGVzLlxuICAvLyBUaGlzIGlzIGN1cnJlbnRseSB1c2VmdWwgZm9yIGRldGVjdGluZyBhIGNoYW5nZSBpbiB0aGUgcHJvamVjdCBrZXlcbiAgLy8gZnJvbSBVUkwgKFwiL1wiIC0tPiBcIi86cHJvamVjdEtleVwiKS5cbiAgLy8gSG93ZXZlciwgZXZlcnkgcm91dGUgY2hhbmdlIHdpbGwgdHJpZ2dlciBhIHJlLXJlbmRlci4gVGhpcyBpcyBwcm9iYWJseVxuICAvLyBvay1pc2ggYnV0IHdlIG1pZ2h0IHdhbnQgdG8gbG9vayBpbnRvIGEgbW9yZSBwZXJmb3JtYW50IHNvbHV0aW9uLlxuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgY29uc3Qgbm90aWZpY2F0aW9uc0dsb2JhbFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IG5vdGlmaWNhdGlvbnNQYWdlUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgbGF5b3V0UmVmcyA9IHVzZVJlZjx7XG4gICAgbm90aWZpY2F0aW9uc0dsb2JhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgICBub3RpZmljYXRpb25zUGFnZVJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgfT4oe1xuICAgIG5vdGlmaWNhdGlvbnNHbG9iYWxSZWYsXG4gICAgbm90aWZpY2F0aW9uc1BhZ2VSZWYsXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPEZldGNoVXNlcj5cbiAgICAgIHsoeyBpc0xvYWRpbmc6IGlzTG9hZGluZ1VzZXIsIHVzZXIsIGVycm9yIH0pID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgLy8gSW4gY2FzZSB0aGVyZSBpcyBhbiB1bmF1dGhvcml6ZWQgZXJyb3IsIHdlIHJlZGlyZWN0IHRvIHRoZSBsb2dpbiBwYWdlXG4gICAgICAgICAgaWYgKGVycm9yLmdyYXBoUUxFcnJvcnMgJiYgQXJyYXkuaXNBcnJheShlcnJvci5ncmFwaFFMRXJyb3JzKSkge1xuICAgICAgICAgICAgY29uc3QgaGFzVW5hdXRob3JpemVkRXJyb3IgPSBnZXRIYXNVbmF1dGhvcml6ZWRFcnJvcihcbiAgICAgICAgICAgICAgZXJyb3IuZ3JhcGhRTEVycm9yc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvciB8fCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcikge1xuICAgICAgICAgICAgICBsZXQgbG9nb3V0UmVhc29uOlxuICAgICAgICAgICAgICAgIHwgKHR5cGVvZiBMT0dPVVRfUkVBU09OUylba2V5b2YgdHlwZW9mIExPR09VVF9SRUFTT05TXVxuICAgICAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IpXG4gICAgICAgICAgICAgICAgbG9nb3V0UmVhc29uID0gTE9HT1VUX1JFQVNPTlMuVU5BVVRIT1JJWkVEO1xuICAgICAgICAgICAgICBlbHNlIGlmIChoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5ERUxFVEVEO1xuICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dvdXQgcmVhc29uPXtsb2dvdXRSZWFzb259IC8+O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBTaW5jZSB3ZSBkbyBub3Qga25vdyB0aGUgbG9jYWxlIG9mIHRoZSB1c2VyLCB3ZSBwaWNrIGl0IGZyb20gdGhlXG4gICAgICAgICAgLy8gdXNlcidzIGJyb3dzZXIgdG8gYXR0ZW1wdCB0byBtYXRjaCB0aGUgbGFuZ3VhZ2UgZm9yIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9ucy5cbiAgICAgICAgICBjb25zdCB1c2VyTG9jYWxlID0gZ2V0QnJvd3NlckxvY2FsZSh3aW5kb3cpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlckxvY2FsZX1cbiAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgeyh7IGxvY2FsZSwgbWVzc2FnZXMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlcG9ydEVycm9yVG9TZW50cnkoZXJyb3IsIHt9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPENvbmZpZ3VyZUludGxQcm92aWRlciBsb2NhbGU9e2xvY2FsZX0gbWVzc2FnZXM9e21lc3NhZ2VzfT5cbiAgICAgICAgICAgICAgICAgICAgPEVycm9yQXBvbG9naXplciAvPlxuICAgICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcm9qZWN0S2V5RnJvbVVybCA9IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsKGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXJcbiAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7LypcbiAgICAgICAgICAgIE5PVEU6IHdlIGRvIG5vdCB3YW50IHRvIGxvYWQgdGhlIGxvY2FsZSBkYXRhIGFzIGxvbmcgYXMgd2UgZG8gbm90XG4gICAgICAgICAgICBrbm93IHRoZSB1c2VyIHNldHRpbmcuIFRoaXMgaXMgaW1wb3J0YW50IGluIG9yZGVyIHRvIGF2b2lkIGZsYXNoaW5nXG4gICAgICAgICAgICBvZiB0cmFuc2xhdGVkIGNvbnRlbnQgb24gc3Vic2VxdWVudCByZS1yZW5kZXJzLlxuICAgICAgICAgICAgVGhlcmVmb3JlLCBhcyBsb25nIGFzIHRoZXJlIGlzIG5vIGxvY2FsZSwgdGhlIGNoaWxkcmVuIHNob3VsZCBjb25zaWRlciB1c2luZyB0aGVcbiAgICAgICAgICAgIGBpc0xvYWRpbmdgIHByb3AgdG8gZGVjaWRlIHdoYXQgdG8gcmVuZGVyLlxuICAgICAgICAgICovfVxuICAgICAgICAgICAgPEFzeW5jTG9jYWxlRGF0YVxuICAgICAgICAgICAgICBsb2NhbGU9e3VzZXI/Lmxhbmd1YWdlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdMb2NhbGVEYXRhLCBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBwYXNzIHRoZSBsYW5ndWFnZSBhcyBsb25nIGFzIHRoZSBsb2NhbGUgZGF0YVxuICAgICAgICAgICAgICAgICAgLy8gaXMgbm90IGxvYWRlZC5cbiAgICAgICAgICAgICAgICAgIHsuLi4oaXNMb2FkaW5nTG9jYWxlRGF0YSA/IHt9IDogeyBsb2NhbGUsIG1lc3NhZ2VzIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTZXR1cEZsb3BGbGlwUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgIGxkQ2xpZW50U2lkZUlkPXthcHBsaWNhdGlvbkVudmlyb25tZW50LmxkQ2xpZW50U2lkZUlkfVxuICAgICAgICAgICAgICAgICAgICBmbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsvKiBUaGlzIGlzIGEgdGVtcG9yYXJ5IGNvbnRhaW5lci4gSXQgd2lsbCBiZSByZW1vdmVkIG9uY2UgdGhlIG5ldyBuYXZpZ2F0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gKi99XG4gICAgICAgICAgICAgICAgICAgIDxOZXdNYWluTmF2aWdhdGlvbkZsYWdXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHksXG4gICAgICAgICAgICAgICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGhlbWVTd2l0Y2hlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWZXJzaW9uVHJhY2tlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBOT1RFOiB0aGUgcmVxdWVzdHMgaW4gZmxpZ2h0IGxvYWRlciB3aWxsIHJlbmRlciBhIGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGlubmVyIGludG8gdGhlIEFwcEJhci4gKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VudHJ5VXNlclRyYWNrZXIgdXNlcj17dXNlciA/PyB1bmRlZmluZWR9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAke0RJTUVOU0lPTlMuaGVhZGVyfSAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgMWZyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17bm90aWZpY2F0aW9uc0dsb2JhbFJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJhYm92ZS10b3AtbmF2aWdhdGlvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuR0xPQkFMfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2plY3RLZXlGcm9tVXJsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBpc1Byb2plY3RMb2FkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9qZWN0TG9hZGluZyB8fCAhcHJvamVjdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiB1c2VkIG91dHNpZGUgb2YgYSBwcm9qZWN0IGNvbnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3Igd2hlbiB0aGUgcHJvamVjdCBpcyBleHBpcmVkIG9yIHN1cHNlbmRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNob3VsZFVzZVByb2plY3RDb250ZXh0ID0gIShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9qZWN0LnN1c3BlbnNpb24gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3QuZXhwaXJ5ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QuZXhwaXJ5LmlzQWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXNob3VsZFVzZVByb2plY3RDb250ZXh0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdERhdGFMb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlcz17cHJvamVjdC5sYW5ndWFnZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZTogZGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0RGF0YUxvY2FsZT17ZGF0YUxvY2FsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25FbnZpcm9ubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxRdWlja0FjY2Vzc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZVByb2plY3REYXRhTG9jYWxlPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1Byb2plY3REYXRhTG9jYWxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZldGNoUHJvamVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6ICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnMi8zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnMid9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJzIvMydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzEvMyd9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwQmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybD17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hlYWRlcj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzaWRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCA9PT0gZmFsc2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCA9PT0gdHJ1ZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBncmlkLWNvbHVtbjogMS8yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDIvNDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIDxOYXZCYXI+IHNob3VsZCBvbmx5IGJlIHJlbmRlcmVkIHdpdGhpbiBhIHByb2plY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb250ZXh0LCB0aGVyZWZvcmUgd2hlbiB0aGVyZSBpcyBhIGBwcm9qZWN0S2V5YC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBgcHJvamVjdEtleWAgaW4gdGhlIFVSTCAoZS5nLiBgL2FjY291bnRgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcm91dGVzKSwgd2UgZG9uJ3QgcmVuZGVyIGl0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IHdlIGFsc28gXCJjYWNoZVwiIHRoZSBgcHJvamVjdEtleWAgaW4gbG9jYWxTdG9yYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYnV0IHRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCB0byBcInJlLWh5ZHJhdGVcIiB0aGUgVVJMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbG9jYXRpb24gKGUuZyB3aGVuIHlvdSBnbyB0byBgL2AsIHRoZXJlIHNob3VsZCBiZSBhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVkaXJlY3QgdG8gYC86cHJvamVjdEtleWApLiBUaGVyZWZvcmUsIHdlIHNob3VsZCBub3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWx5IG9uIHRoZSB2YWx1ZSBpbiBsb2NhbFN0b3JhZ2UgdG8gZGV0ZXJtaW5lIHdoaWNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYHByb2plY3RLZXlgIGlzIGN1cnJlbnRseSB1c2VkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvamVjdEtleUZyb21VcmwpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmV0Y2hQcm9qZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmc6IGlzTG9hZGluZ1Byb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzTG9hZGluZyA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdVc2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdMb2NhbGVEYXRhIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdQcm9qZWN0IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhbG9jYWxlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhcHJvamVjdDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IGRvIG5vdCBwYXNzIHRoZSBgcHJvamVjdGAgaW50byB0aGUgYXBwbGljYXRpb24gY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHBlcm1pc3Npb25zIGZvciB0aGUgTmF2YmFyIGFyZSByZXNvbHZlZCBzZXBhcmF0ZWx5LCB3aXRoaW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYSBkaWZmZXJlbnQgUmVhY3QgY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5hdkJhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdD17cHJvamVjdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkVudmlyb25tZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbk1lbnVJdGVtQ2xpY2tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHk9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZEV2YWx1YXRpb25SZWFkeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmV0Y2hQcm9qZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzaWRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nVXNlciB8fCBpc0xvYWRpbmdMb2NhbGVEYXRhID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFpbkNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwibWFpblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Mb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9NYWluQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1haW5Db250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cIm1haW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiByZWY9e25vdGlmaWNhdGlvbnNQYWdlUmVmfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuUEFHRX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLlNJREV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgYmVjYXVzZSB3ZSBoYXZlIGFuIGludGVybWVkaWFyeSA8ZGl2PiB3cmFwcGluZyB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXc+IGNvbXBvbmVudCB0aGF0IGlzIHVzZWQgdG8gd3JhcCBldmVyeSBjb250ZW50LXZpZXcuIFRoaXMgaW50ZXJtZWRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+IGlzIHNvbGVseSB1c2VkIGZvciBhZGRpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIGNvbnRlbnQtdmlldy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSG93ZXZlciwgdGhpcyBjb3VsZCBiZSBkb25lIGJ5IHBhc3NpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIDxWaWV3PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbGV0IGl0IGRvIHRoZSBsYXlvdXQsIHNvIHdlIGNhbiBhdm9pZCBsYXlpbmcgb3VyIGZyb20gdGhlIG91dHNpZGUgYXMgd2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gaGVyZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gKjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQb3J0YWxzQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtsYXlvdXRSZWZzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRUb3A9e0RJTUVOU0lPTlMuaGVhZGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRMZWZ0PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBESU1FTlNJT05TLm5hdk1lbnVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzBweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRMZWZ0T25FeHBhbmRlZE1lbnU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXlGcm9tVXJsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IERJTUVOU0lPTlMubmF2TWVudUV4cGFuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcwcHgnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVkaXJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tPVwiL3Byb2ZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPVwiL2FjY291bnQvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2FjY291bnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGByZW5kZXJgIGZ1bmN0aW9uLCB3ZSBhc3N1bWUgaXQncyBvbmUgb2YgdHdvIGNhc2VzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogMS4gVGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IHVzZSBgY2hpbGRyZW5gIGFuZCB0aGVyZWZvcmUgaW1wbGVtZW50cyB0aGUgcm91dGVzIGluY2x1ZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogdGhlIDxSb3V0ZUNhdGNoQWxsPiAodGhpcyBpcyB0aGUgXCJsZWdhY3lcIiBiZWhhdmlvcikuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAyLiBJdCdzIHRoZSBhY2NvdW50IGFwcGxpY2F0aW9uLCB3aGljaCBhbHdheXMgdXNlcyBgcmVuZGVyYCBhbmQgdGhlcmVmb3JlIHNob3VsZCByZW5kZXIgYXMgbm9ybWFsLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGBjaGlsZHJlbmAgZnVuY3Rpb24sIHdlIGNhbiBhbHdheXMgYXNzdW1lIHRoYXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIGl0J3MgYSBub3JtYWwgQ3VzdG9tIEFwcGxpY2F0aW9uIGFuZCB0aGF0IGl0IHNob3VsZCB0cmlnZ2VyIGEgZm9yY2UgcmVsb2FkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5yZW5kZXIgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+e3Byb3BzLnJlbmRlcigpfTwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlQ2F0Y2hBbGwgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBQcm9qZWN0IHJvdXRlcyAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlIGV4YWN0PXt0cnVlfSBwYXRoPVwiL1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNQcm9qZWN0S2V5ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UHJldmlvdXNQcm9qZWN0S2V5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI/LmRlZmF1bHRQcm9qZWN0S2V5ID8/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBOT1RFOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciBoYXMgbm90IGJlZW4gbG9hZGVkIGEgbG9hZGluZyBzcGlubmVyIGlzIHNob3duLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciB3YXMgbm90IHdvcmtpbmcgb24gYSBwcm9qZWN0IHByZXZpb3VzbHkgbm9yIGhhcyBhIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvamVjdCwgdGhlIHVzZXIgd2lsbCBiZSBwcm9tcHRlZCB0byBjcmVhdGUgb25lLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciB3YXMgd29ya2luZyBvbiBhIHByb2plY3QgcHJldmlvdXNseSBvciBoYXMgYSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHByb2plY3QsIHRoZSBhcHBsaWNhdGlvbiB3aWxsIHJlZGlyZWN0IHRvIHRoYXQgcHJvamVjdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF1c2VyKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPEFwcGxpY2F0aW9uTG9hZGVyIC8+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcmV2aW91c1Byb2plY3RLZXkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVkaXJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bz17YC8ke3ByZXZpb3VzUHJvamVjdEtleX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1JvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGUgZXhhY3Q9e2ZhbHNlfSBwYXRoPVwiLzpwcm9qZWN0S2V5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2plY3RDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVSb3V0ZVBlcm1pc3Npb25DaGVjaz17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLmRpc2FibGVSb3V0ZVBlcm1pc3Npb25DaGVja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBlZmZlY3RpdmVseSByZW5kZXJzIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2hpbGRyZW4sIHdoaWNoIGlzIHRoZSBhcHBsaWNhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3BlY2lmaWMgcGFydFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcy5yZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJvamVjdENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L01haW5Db250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9OZXdNYWluTmF2aWdhdGlvbkZsYWdXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgPC9TZXR1cEZsb3BGbGlwUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0FzeW5jTG9jYWxlRGF0YT5cbiAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICApO1xuICAgICAgfX1cbiAgICA8L0ZldGNoVXNlcj5cbiAgKTtcbn07XG5BcHBsaWNhdGlvblNoZWxsQXV0aGVudGljYXRlZC5kaXNwbGF5TmFtZSA9ICdBcHBsaWNhdGlvblNoZWxsQXV0aGVudGljYXRlZCc7XG5cbmV4cG9ydCBkZWZhdWx0IEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkO1xuIl19 */"),
|
|
1114
|
+
css: /*#__PURE__*/css("height:100vh;display:grid;grid-template-rows:auto ", DIMENSIONS.header, " 1fr;grid-template-columns:min-content 1fr;" + (process.env.NODE_ENV === "production" ? "" : ";label:ApplicationShellAuthenticated;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLWF1dGhlbnRpY2F0ZWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNPc0MiLCJmaWxlIjoiYXBwbGljYXRpb24tc2hlbGwtYXV0aGVudGljYXRlZC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWZPYmplY3QsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG4gIHVzZVJlZixcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHR5cGUgeyBBcG9sbG9FcnJvciB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2Vycm9ycyc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgeyBSZWRpcmVjdCwgUm91dGUsIFN3aXRjaCwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFBvcnRhbHNDb250YWluZXIgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG4gIHR5cGUgVEFwcGxpY2F0aW9uQ29udGV4dCxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHsgQXN5bmNMb2NhbGVEYXRhIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvaTE4bic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zTGlzdCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3JlYWN0LW5vdGlmaWNhdGlvbnMnO1xuaW1wb3J0IHtcbiAgcmVwb3J0RXJyb3JUb1NlbnRyeSxcbiAgU2VudHJ5VXNlclRyYWNrZXIsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3NlbnRyeSc7XG5pbXBvcnQgeyBESU1FTlNJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsLCBnZXRQcmV2aW91c1Byb2plY3RLZXkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgQXBwQmFyIGZyb20gJy4uL2FwcC1iYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IENvbmZpZ3VyZUludGxQcm92aWRlciBmcm9tICcuLi9jb25maWd1cmUtaW50bC1wcm92aWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBGZXRjaFVzZXIgZnJvbSAnLi4vZmV0Y2gtdXNlcic7XG5pbXBvcnQgTmF2QmFyIGZyb20gJy4uL25hdmJhcic7XG5pbXBvcnQgUHJvamVjdENvbnRhaW5lciBmcm9tICcuLi9wcm9qZWN0LWNvbnRhaW5lcic7XG5pbXBvcnQgUHJvamVjdERhdGFMb2NhbGUgZnJvbSAnLi4vcHJvamVjdC1kYXRhLWxvY2FsZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9nb3V0IGZyb20gJy4uL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5pbXBvcnQgUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgZnJvbSAnLi4vcmVkaXJlY3QtdG8tcHJvamVjdC1jcmVhdGUnO1xuaW1wb3J0IFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgZnJvbSAnLi4vcmVxdWVzdHMtaW4tZmxpZ2h0LWxvYWRlcic7XG5pbXBvcnQgUm91dGVDYXRjaEFsbCBmcm9tICcuLi9yb3V0ZS1jYXRjaC1hbGwnO1xuaW1wb3J0IFNldHVwRmxvcEZsaXBQcm92aWRlciBmcm9tICcuLi9zZXR1cC1mbG9wLWZsaXAtcHJvdmlkZXInO1xuaW1wb3J0IFRoZW1lU3dpdGNoZXIgZnJvbSAnLi4vdGhlbWUtc3dpdGNoZXInO1xuaW1wb3J0IFZlcnNpb25UcmFja2VyIGZyb20gJy4uL3ZlcnNpb24tdHJhY2tlcic7XG5pbXBvcnQgTmV3TWFpbk5hdmlnYXRpb25GbGFnV3JhcHBlciBmcm9tICcuL25ldy1tYWluLW5hdmlnYXRpb24tZmxhZy13cmFwcGVyJztcblxudHlwZSBUQXBwbGljYXRpb25TaGVsbEF1dGhlbnRpY2F0aW9uUHJvcHMgPSB7XG4gIGZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgZGVmYXVsdEZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uTWVudUl0ZW1DbGljaz86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICBkaXNhYmxlUm91dGVQZXJtaXNzaW9uQ2hlY2s/OiBib29sZWFuO1xuICByZW5kZXI/OiAoKSA9PiBKU1guRWxlbWVudDtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG50eXBlIE1haW5Db250YWluZXJQcm9wcyA9IHtcbiAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEhhc1VuYXV0aG9yaXplZEVycm9yID0gKGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ10pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5leHRlbnNpb25zICYmXG4gICAgICBncWxFcnJvci5leHRlbnNpb25zLmNvZGUgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSA9PT0gJ1VOQVVUSEVOVElDQVRFRCdcbiAgKTtcbmNvbnN0IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gKFxuICBncmFwaFFMRXJyb3JzOiBBcG9sbG9FcnJvclsnZ3JhcGhRTEVycm9ycyddXG4pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5tZXNzYWdlICYmXG4gICAgICAvLyBOT1RFOiBUaGUgQ1RQIEFQSSBkb2VzIG5vdCBwcm92aWRlIGFuIGVycm9yIGNvZGUgaW4gdGhpcyBjYXNlLlxuICAgICAgZ3FsRXJyb3IubWVzc2FnZS5pbmNsdWRlcygnd2FzIG5vdCBmb3VuZC4nKVxuICApO1xuXG5leHBvcnQgY29uc3QgTWFpbkNvbnRhaW5lciA9IHN0eWxlZC5tYWluPE1haW5Db250YWluZXJQcm9wcz5gXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgID8gYFxuICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgICAgICBncmlkLXJvdzogMy80O1xuICAgICAgYFxuICAgICAgOiBgXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgIGB9O1xuXG4gIC8qXG4gICAgQWxsb3cgdGhlIHRoaXMgZmxleCBjaGlsZCB0byBncm93IHNtYWxsZXIgdGhhbiBpdHMgc21hbGxlc3QgY29udGVudC5cbiAgICBUaGlzIGlzIG5lZWRlZCB3aGVuIHRoZXJlIGlzIGEgcmVhbGx5IHdpZGUgdGV4dCBpbnNpZGUgdGhhdCB3b3VsZCBzdHJldGNoXG4gICAgdGhpcyBub2RlIHRvIGJlIHdpZGVyIHRoYW4gdGhlIHBhcmVudC5cbiAgKi9cbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAvKlxuICAgIGxheW91dCB0aGUgY2hpbGRyZW4uIFRoZXJlIHdpbGwgYWx3YXlzIGJlIHRoZSBwYWdlIGFuZCBzaWRlIG5vdGlmaWNhdGlvblxuICAgIGFib3V0IHRoZSBhY3R1YWwgY29udGVudC4gVGhlIGNvbnRlbnQgc2hvdWxkIHN0cmV0Y2ggdG8gZmlsbCB0aGUgcmVzdCBvZlxuICAgIHRoZSBwYWdlLlxuICAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8qXG4gICAgc2V0IHBvc2l0aW9uIHRvIHJlbGF0aXZlIHRvIGxheW91dCBub3RpZmljYXRpb25zIGFuZCBtb2RhbHNcbiAgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuZXhwb3J0IGNvbnN0IEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkID0gKFxuICBwcm9wczogVEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGlvblByb3BzXG4pID0+IHtcbiAgY29uc3QgYXBwbGljYXRpb25FbnZpcm9ubWVudCA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dChcbiAgICAoY29udGV4dCkgPT4gY29udGV4dC5lbnZpcm9ubWVudFxuICApIGFzIFRBcHBsaWNhdGlvbkNvbnRleHQ8e30+WydlbnZpcm9ubWVudCddO1xuICAvLyBUT0RPOiB1c2luZyB0aGlzIGhvb2sgd2lsbCBzdWJzY3JpYmUgdGhlIGNvbXBvbmVudCB0byByb3V0ZSB1cGRhdGVzLlxuICAvLyBUaGlzIGlzIGN1cnJlbnRseSB1c2VmdWwgZm9yIGRldGVjdGluZyBhIGNoYW5nZSBpbiB0aGUgcHJvamVjdCBrZXlcbiAgLy8gZnJvbSBVUkwgKFwiL1wiIC0tPiBcIi86cHJvamVjdEtleVwiKS5cbiAgLy8gSG93ZXZlciwgZXZlcnkgcm91dGUgY2hhbmdlIHdpbGwgdHJpZ2dlciBhIHJlLXJlbmRlci4gVGhpcyBpcyBwcm9iYWJseVxuICAvLyBvay1pc2ggYnV0IHdlIG1pZ2h0IHdhbnQgdG8gbG9vayBpbnRvIGEgbW9yZSBwZXJmb3JtYW50IHNvbHV0aW9uLlxuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgY29uc3Qgbm90aWZpY2F0aW9uc0dsb2JhbFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IG5vdGlmaWNhdGlvbnNQYWdlUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgbGF5b3V0UmVmcyA9IHVzZVJlZjx7XG4gICAgbm90aWZpY2F0aW9uc0dsb2JhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgICBub3RpZmljYXRpb25zUGFnZVJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgfT4oe1xuICAgIG5vdGlmaWNhdGlvbnNHbG9iYWxSZWYsXG4gICAgbm90aWZpY2F0aW9uc1BhZ2VSZWYsXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPEZldGNoVXNlcj5cbiAgICAgIHsoeyBpc0xvYWRpbmc6IGlzTG9hZGluZ1VzZXIsIHVzZXIsIGVycm9yIH0pID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgLy8gSW4gY2FzZSB0aGVyZSBpcyBhbiB1bmF1dGhvcml6ZWQgZXJyb3IsIHdlIHJlZGlyZWN0IHRvIHRoZSBsb2dpbiBwYWdlXG4gICAgICAgICAgaWYgKGVycm9yLmdyYXBoUUxFcnJvcnMgJiYgQXJyYXkuaXNBcnJheShlcnJvci5ncmFwaFFMRXJyb3JzKSkge1xuICAgICAgICAgICAgY29uc3QgaGFzVW5hdXRob3JpemVkRXJyb3IgPSBnZXRIYXNVbmF1dGhvcml6ZWRFcnJvcihcbiAgICAgICAgICAgICAgZXJyb3IuZ3JhcGhRTEVycm9yc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvciB8fCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcikge1xuICAgICAgICAgICAgICBsZXQgbG9nb3V0UmVhc29uOlxuICAgICAgICAgICAgICAgIHwgKHR5cGVvZiBMT0dPVVRfUkVBU09OUylba2V5b2YgdHlwZW9mIExPR09VVF9SRUFTT05TXVxuICAgICAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IpXG4gICAgICAgICAgICAgICAgbG9nb3V0UmVhc29uID0gTE9HT1VUX1JFQVNPTlMuVU5BVVRIT1JJWkVEO1xuICAgICAgICAgICAgICBlbHNlIGlmIChoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5ERUxFVEVEO1xuICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dvdXQgcmVhc29uPXtsb2dvdXRSZWFzb259IC8+O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBTaW5jZSB3ZSBkbyBub3Qga25vdyB0aGUgbG9jYWxlIG9mIHRoZSB1c2VyLCB3ZSBwaWNrIGl0IGZyb20gdGhlXG4gICAgICAgICAgLy8gdXNlcidzIGJyb3dzZXIgdG8gYXR0ZW1wdCB0byBtYXRjaCB0aGUgbGFuZ3VhZ2UgZm9yIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9ucy5cbiAgICAgICAgICBjb25zdCB1c2VyTG9jYWxlID0gZ2V0QnJvd3NlckxvY2FsZSh3aW5kb3cpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlckxvY2FsZX1cbiAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgeyh7IGxvY2FsZSwgbWVzc2FnZXMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlcG9ydEVycm9yVG9TZW50cnkoZXJyb3IsIHt9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPENvbmZpZ3VyZUludGxQcm92aWRlciBsb2NhbGU9e2xvY2FsZX0gbWVzc2FnZXM9e21lc3NhZ2VzfT5cbiAgICAgICAgICAgICAgICAgICAgPEVycm9yQXBvbG9naXplciAvPlxuICAgICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcm9qZWN0S2V5RnJvbVVybCA9IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsKGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXJcbiAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7LypcbiAgICAgICAgICAgIE5PVEU6IHdlIGRvIG5vdCB3YW50IHRvIGxvYWQgdGhlIGxvY2FsZSBkYXRhIGFzIGxvbmcgYXMgd2UgZG8gbm90XG4gICAgICAgICAgICBrbm93IHRoZSB1c2VyIHNldHRpbmcuIFRoaXMgaXMgaW1wb3J0YW50IGluIG9yZGVyIHRvIGF2b2lkIGZsYXNoaW5nXG4gICAgICAgICAgICBvZiB0cmFuc2xhdGVkIGNvbnRlbnQgb24gc3Vic2VxdWVudCByZS1yZW5kZXJzLlxuICAgICAgICAgICAgVGhlcmVmb3JlLCBhcyBsb25nIGFzIHRoZXJlIGlzIG5vIGxvY2FsZSwgdGhlIGNoaWxkcmVuIHNob3VsZCBjb25zaWRlciB1c2luZyB0aGVcbiAgICAgICAgICAgIGBpc0xvYWRpbmdgIHByb3AgdG8gZGVjaWRlIHdoYXQgdG8gcmVuZGVyLlxuICAgICAgICAgICovfVxuICAgICAgICAgICAgPEFzeW5jTG9jYWxlRGF0YVxuICAgICAgICAgICAgICBsb2NhbGU9e3VzZXI/Lmxhbmd1YWdlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdMb2NhbGVEYXRhLCBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBwYXNzIHRoZSBsYW5ndWFnZSBhcyBsb25nIGFzIHRoZSBsb2NhbGUgZGF0YVxuICAgICAgICAgICAgICAgICAgLy8gaXMgbm90IGxvYWRlZC5cbiAgICAgICAgICAgICAgICAgIHsuLi4oaXNMb2FkaW5nTG9jYWxlRGF0YSA/IHt9IDogeyBsb2NhbGUsIG1lc3NhZ2VzIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTZXR1cEZsb3BGbGlwUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgIGxkQ2xpZW50U2lkZUlkPXthcHBsaWNhdGlvbkVudmlyb25tZW50LmxkQ2xpZW50U2lkZUlkfVxuICAgICAgICAgICAgICAgICAgICBmbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsvKiBUaGlzIGlzIGEgdGVtcG9yYXJ5IGNvbnRhaW5lci4gSXQgd2lsbCBiZSByZW1vdmVkIG9uY2UgdGhlIG5ldyBuYXZpZ2F0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gKi99XG4gICAgICAgICAgICAgICAgICAgIDxOZXdNYWluTmF2aWdhdGlvbkZsYWdXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHksXG4gICAgICAgICAgICAgICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGhlbWVTd2l0Y2hlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWZXJzaW9uVHJhY2tlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBOT1RFOiB0aGUgcmVxdWVzdHMgaW4gZmxpZ2h0IGxvYWRlciB3aWxsIHJlbmRlciBhIGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGlubmVyIGludG8gdGhlIEFwcEJhci4gKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VudHJ5VXNlclRyYWNrZXIgdXNlcj17dXNlciA/PyB1bmRlZmluZWR9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAke0RJTUVOU0lPTlMuaGVhZGVyfSAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgMWZyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17bm90aWZpY2F0aW9uc0dsb2JhbFJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJhYm92ZS10b3AtbmF2aWdhdGlvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuR0xPQkFMfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2plY3RLZXlGcm9tVXJsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBpc1Byb2plY3RMb2FkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9qZWN0TG9hZGluZyB8fCAhcHJvamVjdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiB1c2VkIG91dHNpZGUgb2YgYSBwcm9qZWN0IGNvbnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3Igd2hlbiB0aGUgcHJvamVjdCBpcyBleHBpcmVkIG9yIHN1cHNlbmRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNob3VsZFVzZVByb2plY3RDb250ZXh0ID0gIShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9qZWN0LnN1c3BlbnNpb24gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3QuZXhwaXJ5ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QuZXhwaXJ5LmlzQWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXNob3VsZFVzZVByb2plY3RDb250ZXh0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdERhdGFMb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlcz17cHJvamVjdC5sYW5ndWFnZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZTogZGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0RGF0YUxvY2FsZT17ZGF0YUxvY2FsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25FbnZpcm9ubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxRdWlja0FjY2Vzc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZVByb2plY3REYXRhTG9jYWxlPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1Byb2plY3REYXRhTG9jYWxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZldGNoUHJvamVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6ICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnMi8zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnMid9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJzIvMydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzEvMyd9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwQmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybD17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc2lkZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWQgPT09IGZhbHNlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWQgPT09IHRydWUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZ3JpZC1jb2x1bW46IDEvMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyLzQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO2B9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSA8TmF2QmFyPiBzaG91bGQgb25seSBiZSByZW5kZXJlZCB3aXRoaW4gYSBwcm9qZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29udGV4dCwgdGhlcmVmb3JlIHdoZW4gdGhlcmUgaXMgYSBgcHJvamVjdEtleWAuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gYHByb2plY3RLZXlgIGluIHRoZSBVUkwgKGUuZy4gYC9hY2NvdW50YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJvdXRlcyksIHdlIGRvbid0IHJlbmRlciBpdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiB3ZSBhbHNvIFwiY2FjaGVcIiB0aGUgYHByb2plY3RLZXlgIGluIGxvY2FsU3RvcmFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJ1dCB0aGlzIHNob3VsZCBvbmx5IGJlIHVzZWQgdG8gXCJyZS1oeWRyYXRlXCIgdGhlIFVSTFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxvY2F0aW9uIChlLmcgd2hlbiB5b3UgZ28gdG8gYC9gLCB0aGVyZSBzaG91bGQgYmUgYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlZGlyZWN0IHRvIGAvOnByb2plY3RLZXlgKS4gVGhlcmVmb3JlLCB3ZSBzaG91bGQgbm90XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVseSBvbiB0aGUgdmFsdWUgaW4gbG9jYWxTdG9yYWdlIHRvIGRldGVybWluZSB3aGljaFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGBwcm9qZWN0S2V5YCBpcyBjdXJyZW50bHkgdXNlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2plY3RLZXlGcm9tVXJsKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBpc0xvYWRpbmdQcm9qZWN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0xvYWRpbmcgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nVXNlciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nTG9jYWxlRGF0YSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nUHJvamVjdCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWxvY2FsZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXByb2plY3Q7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiBkbyBub3QgcGFzcyB0aGUgYHByb2plY3RgIGludG8gdGhlIGFwcGxpY2F0aW9uIGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwZXJtaXNzaW9ucyBmb3IgdGhlIE5hdmJhciBhcmUgcmVzb2x2ZWQgc2VwYXJhdGVseSwgd2l0aGluXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGEgZGlmZmVyZW50IFJlYWN0IGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOYXZCYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25FbnZpcm9ubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1lbnVJdGVtQ2xpY2s9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMub25NZW51SXRlbUNsaWNrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZz17aXNMb2FkaW5nfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkRXZhbHVhdGlvblJlYWR5PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZldGNoUHJvamVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc2lkZT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzTG9hZGluZ1VzZXIgfHwgaXNMb2FkaW5nTG9jYWxlRGF0YSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1haW5Db250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cIm1haW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uTG9hZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYWluQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJtYWluXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgcmVmPXtub3RpZmljYXRpb25zUGFnZVJlZn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLlBBR0V9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0IGRvbWFpbj17RE9NQUlOUy5TSURFfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIG9ubHkgbmVjZXNzYXJ5IGJlY2F1c2Ugd2UgaGF2ZSBhbiBpbnRlcm1lZGlhcnkgPGRpdj4gd3JhcHBpbmcgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWaWV3PiBjb21wb25lbnQgdGhhdCBpcyB1c2VkIHRvIHdyYXAgZXZlcnkgY29udGVudC12aWV3LiBUaGlzIGludGVybWVkaWFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PiBpcyBzb2xlbHkgdXNlZCBmb3IgYWRkaW5nIHRoZSB0cmFja2luZyBjb250ZXh0IHRvIHRoZSBjb250ZW50LXZpZXcuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhvd2V2ZXIsIHRoaXMgY291bGQgYmUgZG9uZSBieSBwYXNzaW5nIHRoZSB0cmFja2luZyBjb250ZXh0IHRvIHRoZSA8Vmlldz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGxldCBpdCBkbyB0aGUgbGF5b3V0LCBzbyB3ZSBjYW4gYXZvaWQgbGF5aW5nIG91ciBmcm9tIHRoZSBvdXRzaWRlIGFzIHdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvIGhlcmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+ICo6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UG9ydGFsc0NvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17bGF5b3V0UmVmc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0VG9wPXtESU1FTlNJT05TLmhlYWRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0TGVmdD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleUZyb21VcmxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IERJTUVOU0lPTlMubmV3TmF2TWVudVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IERJTUVOU0lPTlMubmF2TWVudVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnMHB4J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldExlZnRPbkV4cGFuZGVkTWVudT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleUZyb21VcmxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IERJTUVOU0lPTlMubmV3TmF2TWVudUV4cGFuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogRElNRU5TSU9OUy5uYXZNZW51RXhwYW5kZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzBweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb209XCIvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG89XCIvYWNjb3VudC9wcm9maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvYWNjb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYHJlbmRlcmAgZnVuY3Rpb24sIHdlIGFzc3VtZSBpdCdzIG9uZSBvZiB0d28gY2FzZXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAxLiBUaGUgYXBwbGljYXRpb24gZG9lcyBub3QgdXNlIGBjaGlsZHJlbmAgYW5kIHRoZXJlZm9yZSBpbXBsZW1lbnRzIHRoZSByb3V0ZXMgaW5jbHVkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiB0aGUgPFJvdXRlQ2F0Y2hBbGw+ICh0aGlzIGlzIHRoZSBcImxlZ2FjeVwiIGJlaGF2aW9yKS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIDIuIEl0J3MgdGhlIGFjY291bnQgYXBwbGljYXRpb24sIHdoaWNoIGFsd2F5cyB1c2VzIGByZW5kZXJgIGFuZCB0aGVyZWZvcmUgc2hvdWxkIHJlbmRlciBhcyBub3JtYWwuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYGNoaWxkcmVuYCBmdW5jdGlvbiwgd2UgY2FuIGFsd2F5cyBhc3N1bWUgdGhhdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogaXQncyBhIG5vcm1hbCBDdXN0b20gQXBwbGljYXRpb24gYW5kIHRoYXQgaXQgc2hvdWxkIHRyaWdnZXIgYSBmb3JjZSByZWxvYWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLnJlbmRlciA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD57cHJvcHMucmVuZGVyKCl9PC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVDYXRjaEFsbCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey8qIFByb2plY3Qgcm91dGVzICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGUgZXhhY3Q9e3RydWV9IHBhdGg9XCIvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1Byb2plY3RLZXkgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRQcmV2aW91c1Byb2plY3RLZXkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj8uZGVmYXVsdFByb2plY3RLZXkgPz9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIE5PVEU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIGhhcyBub3QgYmVlbiBsb2FkZWQgYSBsb2FkaW5nIHNwaW5uZXIgaXMgc2hvd24uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyBub3Qgd29ya2luZyBvbiBhIHByb2plY3QgcHJldmlvdXNseSBub3IgaGFzIGEgZGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9qZWN0LCB0aGUgdXNlciB3aWxsIGJlIHByb21wdGVkIHRvIGNyZWF0ZSBvbmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyB3b3JraW5nIG9uIGEgcHJvamVjdCBwcmV2aW91c2x5IG9yIGhhcyBhIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvamVjdCwgdGhlIGFwcGxpY2F0aW9uIHdpbGwgcmVkaXJlY3QgdG8gdGhhdCBwcm9qZWN0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXVzZXIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8QXBwbGljYXRpb25Mb2FkZXIgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByZXZpb3VzUHJvamVjdEtleSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPXtgLyR7cHJldmlvdXNQcm9qZWN0S2V5fWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZSBleGFjdD17ZmFsc2V9IHBhdGg9XCIvOnByb2plY3RLZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdENvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVJvdXRlUGVybWlzc2lvbkNoZWNrPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMuZGlzYWJsZVJvdXRlUGVybWlzc2lvbkNoZWNrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGVmZmVjdGl2ZWx5IHJlbmRlcnMgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjaGlsZHJlbiwgd2hpY2ggaXMgdGhlIGFwcGxpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzcGVjaWZpYyBwYXJ0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzLnJlbmRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Qcm9qZWN0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1JvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L05ld01haW5OYXZpZ2F0aW9uRmxhZ1dyYXBwZXI+XG4gICAgICAgICAgICAgICAgICA8L1NldHVwRmxvcEZsaXBQcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvRmV0Y2hVc2VyPlxuICApO1xufTtcbkFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkLmRpc3BsYXlOYW1lID0gJ0FwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkJztcblxuZXhwb3J0IGRlZmF1bHQgQXBwbGljYXRpb25TaGVsbEF1dGhlbnRpY2F0ZWQ7XG4iXX0= */"),
|
|
1114
1115
|
children: [jsxs("div", {
|
|
1115
1116
|
ref: notificationsGlobalRef,
|
|
1116
1117
|
role: "region",
|
|
@@ -1155,13 +1156,14 @@ const ApplicationShellAuthenticated = props => {
|
|
|
1155
1156
|
});
|
|
1156
1157
|
}
|
|
1157
1158
|
}), jsx("header", {
|
|
1158
|
-
css: /*#__PURE__*/css("grid-row:", isNewNavigationEnabled ? '2/3' : '2', ";grid-column:", isNewNavigationEnabled ? '2/3' : '1/3', ";" + (process.env.NODE_ENV === "production" ? "" : ";label:ApplicationShellAuthenticated;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLWF1dGhlbnRpY2F0ZWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9Ud0MiLCJmaWxlIjoiYXBwbGljYXRpb24tc2hlbGwtYXV0aGVudGljYXRlZC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWZPYmplY3QsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG4gIHVzZVJlZixcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHR5cGUgeyBBcG9sbG9FcnJvciB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2Vycm9ycyc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgeyBSZWRpcmVjdCwgUm91dGUsIFN3aXRjaCwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFBvcnRhbHNDb250YWluZXIgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG4gIHR5cGUgVEFwcGxpY2F0aW9uQ29udGV4dCxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHsgQXN5bmNMb2NhbGVEYXRhIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvaTE4bic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zTGlzdCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3JlYWN0LW5vdGlmaWNhdGlvbnMnO1xuaW1wb3J0IHtcbiAgcmVwb3J0RXJyb3JUb1NlbnRyeSxcbiAgU2VudHJ5VXNlclRyYWNrZXIsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3NlbnRyeSc7XG5pbXBvcnQgeyBESU1FTlNJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsLCBnZXRQcmV2aW91c1Byb2plY3RLZXkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgQXBwQmFyIGZyb20gJy4uL2FwcC1iYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IENvbmZpZ3VyZUludGxQcm92aWRlciBmcm9tICcuLi9jb25maWd1cmUtaW50bC1wcm92aWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBGZXRjaFVzZXIgZnJvbSAnLi4vZmV0Y2gtdXNlcic7XG5pbXBvcnQgTmF2QmFyIGZyb20gJy4uL25hdmJhcic7XG5pbXBvcnQgUHJvamVjdENvbnRhaW5lciBmcm9tICcuLi9wcm9qZWN0LWNvbnRhaW5lcic7XG5pbXBvcnQgUHJvamVjdERhdGFMb2NhbGUgZnJvbSAnLi4vcHJvamVjdC1kYXRhLWxvY2FsZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9nb3V0IGZyb20gJy4uL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5pbXBvcnQgUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgZnJvbSAnLi4vcmVkaXJlY3QtdG8tcHJvamVjdC1jcmVhdGUnO1xuaW1wb3J0IFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgZnJvbSAnLi4vcmVxdWVzdHMtaW4tZmxpZ2h0LWxvYWRlcic7XG5pbXBvcnQgUm91dGVDYXRjaEFsbCBmcm9tICcuLi9yb3V0ZS1jYXRjaC1hbGwnO1xuaW1wb3J0IFNldHVwRmxvcEZsaXBQcm92aWRlciBmcm9tICcuLi9zZXR1cC1mbG9wLWZsaXAtcHJvdmlkZXInO1xuaW1wb3J0IFRoZW1lU3dpdGNoZXIgZnJvbSAnLi4vdGhlbWUtc3dpdGNoZXInO1xuaW1wb3J0IFZlcnNpb25UcmFja2VyIGZyb20gJy4uL3ZlcnNpb24tdHJhY2tlcic7XG5pbXBvcnQgTmV3TWFpbk5hdmlnYXRpb25GbGFnV3JhcHBlciBmcm9tICcuL25ldy1tYWluLW5hdmlnYXRpb24tZmxhZy13cmFwcGVyJztcblxudHlwZSBUQXBwbGljYXRpb25TaGVsbEF1dGhlbnRpY2F0aW9uUHJvcHMgPSB7XG4gIGZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgZGVmYXVsdEZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uTWVudUl0ZW1DbGljaz86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICBkaXNhYmxlUm91dGVQZXJtaXNzaW9uQ2hlY2s/OiBib29sZWFuO1xuICByZW5kZXI/OiAoKSA9PiBKU1guRWxlbWVudDtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG50eXBlIE1haW5Db250YWluZXJQcm9wcyA9IHtcbiAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEhhc1VuYXV0aG9yaXplZEVycm9yID0gKGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ10pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5leHRlbnNpb25zICYmXG4gICAgICBncWxFcnJvci5leHRlbnNpb25zLmNvZGUgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSA9PT0gJ1VOQVVUSEVOVElDQVRFRCdcbiAgKTtcbmNvbnN0IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gKFxuICBncmFwaFFMRXJyb3JzOiBBcG9sbG9FcnJvclsnZ3JhcGhRTEVycm9ycyddXG4pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5tZXNzYWdlICYmXG4gICAgICAvLyBOT1RFOiBUaGUgQ1RQIEFQSSBkb2VzIG5vdCBwcm92aWRlIGFuIGVycm9yIGNvZGUgaW4gdGhpcyBjYXNlLlxuICAgICAgZ3FsRXJyb3IubWVzc2FnZS5pbmNsdWRlcygnd2FzIG5vdCBmb3VuZC4nKVxuICApO1xuXG5leHBvcnQgY29uc3QgTWFpbkNvbnRhaW5lciA9IHN0eWxlZC5tYWluPE1haW5Db250YWluZXJQcm9wcz5gXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgID8gYFxuICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgICAgICBncmlkLXJvdzogMy80O1xuICAgICAgYFxuICAgICAgOiBgXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgIGB9O1xuXG4gIC8qXG4gICAgQWxsb3cgdGhlIHRoaXMgZmxleCBjaGlsZCB0byBncm93IHNtYWxsZXIgdGhhbiBpdHMgc21hbGxlc3QgY29udGVudC5cbiAgICBUaGlzIGlzIG5lZWRlZCB3aGVuIHRoZXJlIGlzIGEgcmVhbGx5IHdpZGUgdGV4dCBpbnNpZGUgdGhhdCB3b3VsZCBzdHJldGNoXG4gICAgdGhpcyBub2RlIHRvIGJlIHdpZGVyIHRoYW4gdGhlIHBhcmVudC5cbiAgKi9cbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAvKlxuICAgIGxheW91dCB0aGUgY2hpbGRyZW4uIFRoZXJlIHdpbGwgYWx3YXlzIGJlIHRoZSBwYWdlIGFuZCBzaWRlIG5vdGlmaWNhdGlvblxuICAgIGFib3V0IHRoZSBhY3R1YWwgY29udGVudC4gVGhlIGNvbnRlbnQgc2hvdWxkIHN0cmV0Y2ggdG8gZmlsbCB0aGUgcmVzdCBvZlxuICAgIHRoZSBwYWdlLlxuICAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8qXG4gICAgc2V0IHBvc2l0aW9uIHRvIHJlbGF0aXZlIHRvIGxheW91dCBub3RpZmljYXRpb25zIGFuZCBtb2RhbHNcbiAgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuZXhwb3J0IGNvbnN0IEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkID0gKFxuICBwcm9wczogVEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGlvblByb3BzXG4pID0+IHtcbiAgY29uc3QgYXBwbGljYXRpb25FbnZpcm9ubWVudCA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dChcbiAgICAoY29udGV4dCkgPT4gY29udGV4dC5lbnZpcm9ubWVudFxuICApIGFzIFRBcHBsaWNhdGlvbkNvbnRleHQ8e30+WydlbnZpcm9ubWVudCddO1xuICAvLyBUT0RPOiB1c2luZyB0aGlzIGhvb2sgd2lsbCBzdWJzY3JpYmUgdGhlIGNvbXBvbmVudCB0byByb3V0ZSB1cGRhdGVzLlxuICAvLyBUaGlzIGlzIGN1cnJlbnRseSB1c2VmdWwgZm9yIGRldGVjdGluZyBhIGNoYW5nZSBpbiB0aGUgcHJvamVjdCBrZXlcbiAgLy8gZnJvbSBVUkwgKFwiL1wiIC0tPiBcIi86cHJvamVjdEtleVwiKS5cbiAgLy8gSG93ZXZlciwgZXZlcnkgcm91dGUgY2hhbmdlIHdpbGwgdHJpZ2dlciBhIHJlLXJlbmRlci4gVGhpcyBpcyBwcm9iYWJseVxuICAvLyBvay1pc2ggYnV0IHdlIG1pZ2h0IHdhbnQgdG8gbG9vayBpbnRvIGEgbW9yZSBwZXJmb3JtYW50IHNvbHV0aW9uLlxuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgY29uc3Qgbm90aWZpY2F0aW9uc0dsb2JhbFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IG5vdGlmaWNhdGlvbnNQYWdlUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgbGF5b3V0UmVmcyA9IHVzZVJlZjx7XG4gICAgbm90aWZpY2F0aW9uc0dsb2JhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgICBub3RpZmljYXRpb25zUGFnZVJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgfT4oe1xuICAgIG5vdGlmaWNhdGlvbnNHbG9iYWxSZWYsXG4gICAgbm90aWZpY2F0aW9uc1BhZ2VSZWYsXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPEZldGNoVXNlcj5cbiAgICAgIHsoeyBpc0xvYWRpbmc6IGlzTG9hZGluZ1VzZXIsIHVzZXIsIGVycm9yIH0pID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgLy8gSW4gY2FzZSB0aGVyZSBpcyBhbiB1bmF1dGhvcml6ZWQgZXJyb3IsIHdlIHJlZGlyZWN0IHRvIHRoZSBsb2dpbiBwYWdlXG4gICAgICAgICAgaWYgKGVycm9yLmdyYXBoUUxFcnJvcnMgJiYgQXJyYXkuaXNBcnJheShlcnJvci5ncmFwaFFMRXJyb3JzKSkge1xuICAgICAgICAgICAgY29uc3QgaGFzVW5hdXRob3JpemVkRXJyb3IgPSBnZXRIYXNVbmF1dGhvcml6ZWRFcnJvcihcbiAgICAgICAgICAgICAgZXJyb3IuZ3JhcGhRTEVycm9yc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvciB8fCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcikge1xuICAgICAgICAgICAgICBsZXQgbG9nb3V0UmVhc29uOlxuICAgICAgICAgICAgICAgIHwgKHR5cGVvZiBMT0dPVVRfUkVBU09OUylba2V5b2YgdHlwZW9mIExPR09VVF9SRUFTT05TXVxuICAgICAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IpXG4gICAgICAgICAgICAgICAgbG9nb3V0UmVhc29uID0gTE9HT1VUX1JFQVNPTlMuVU5BVVRIT1JJWkVEO1xuICAgICAgICAgICAgICBlbHNlIGlmIChoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5ERUxFVEVEO1xuICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dvdXQgcmVhc29uPXtsb2dvdXRSZWFzb259IC8+O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBTaW5jZSB3ZSBkbyBub3Qga25vdyB0aGUgbG9jYWxlIG9mIHRoZSB1c2VyLCB3ZSBwaWNrIGl0IGZyb20gdGhlXG4gICAgICAgICAgLy8gdXNlcidzIGJyb3dzZXIgdG8gYXR0ZW1wdCB0byBtYXRjaCB0aGUgbGFuZ3VhZ2UgZm9yIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9ucy5cbiAgICAgICAgICBjb25zdCB1c2VyTG9jYWxlID0gZ2V0QnJvd3NlckxvY2FsZSh3aW5kb3cpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlckxvY2FsZX1cbiAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgeyh7IGxvY2FsZSwgbWVzc2FnZXMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlcG9ydEVycm9yVG9TZW50cnkoZXJyb3IsIHt9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPENvbmZpZ3VyZUludGxQcm92aWRlciBsb2NhbGU9e2xvY2FsZX0gbWVzc2FnZXM9e21lc3NhZ2VzfT5cbiAgICAgICAgICAgICAgICAgICAgPEVycm9yQXBvbG9naXplciAvPlxuICAgICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcm9qZWN0S2V5RnJvbVVybCA9IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsKGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXJcbiAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7LypcbiAgICAgICAgICAgIE5PVEU6IHdlIGRvIG5vdCB3YW50IHRvIGxvYWQgdGhlIGxvY2FsZSBkYXRhIGFzIGxvbmcgYXMgd2UgZG8gbm90XG4gICAgICAgICAgICBrbm93IHRoZSB1c2VyIHNldHRpbmcuIFRoaXMgaXMgaW1wb3J0YW50IGluIG9yZGVyIHRvIGF2b2lkIGZsYXNoaW5nXG4gICAgICAgICAgICBvZiB0cmFuc2xhdGVkIGNvbnRlbnQgb24gc3Vic2VxdWVudCByZS1yZW5kZXJzLlxuICAgICAgICAgICAgVGhlcmVmb3JlLCBhcyBsb25nIGFzIHRoZXJlIGlzIG5vIGxvY2FsZSwgdGhlIGNoaWxkcmVuIHNob3VsZCBjb25zaWRlciB1c2luZyB0aGVcbiAgICAgICAgICAgIGBpc0xvYWRpbmdgIHByb3AgdG8gZGVjaWRlIHdoYXQgdG8gcmVuZGVyLlxuICAgICAgICAgICovfVxuICAgICAgICAgICAgPEFzeW5jTG9jYWxlRGF0YVxuICAgICAgICAgICAgICBsb2NhbGU9e3VzZXI/Lmxhbmd1YWdlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdMb2NhbGVEYXRhLCBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBwYXNzIHRoZSBsYW5ndWFnZSBhcyBsb25nIGFzIHRoZSBsb2NhbGUgZGF0YVxuICAgICAgICAgICAgICAgICAgLy8gaXMgbm90IGxvYWRlZC5cbiAgICAgICAgICAgICAgICAgIHsuLi4oaXNMb2FkaW5nTG9jYWxlRGF0YSA/IHt9IDogeyBsb2NhbGUsIG1lc3NhZ2VzIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTZXR1cEZsb3BGbGlwUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgIGxkQ2xpZW50U2lkZUlkPXthcHBsaWNhdGlvbkVudmlyb25tZW50LmxkQ2xpZW50U2lkZUlkfVxuICAgICAgICAgICAgICAgICAgICBmbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsvKiBUaGlzIGlzIGEgdGVtcG9yYXJ5IGNvbnRhaW5lci4gSXQgd2lsbCBiZSByZW1vdmVkIG9uY2UgdGhlIG5ldyBuYXZpZ2F0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gKi99XG4gICAgICAgICAgICAgICAgICAgIDxOZXdNYWluTmF2aWdhdGlvbkZsYWdXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHksXG4gICAgICAgICAgICAgICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGhlbWVTd2l0Y2hlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWZXJzaW9uVHJhY2tlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBOT1RFOiB0aGUgcmVxdWVzdHMgaW4gZmxpZ2h0IGxvYWRlciB3aWxsIHJlbmRlciBhIGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGlubmVyIGludG8gdGhlIEFwcEJhci4gKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VudHJ5VXNlclRyYWNrZXIgdXNlcj17dXNlciA/PyB1bmRlZmluZWR9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAke0RJTUVOU0lPTlMuaGVhZGVyfSAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgMWZyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17bm90aWZpY2F0aW9uc0dsb2JhbFJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJhYm92ZS10b3AtbmF2aWdhdGlvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuR0xPQkFMfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2plY3RLZXlGcm9tVXJsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBpc1Byb2plY3RMb2FkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9qZWN0TG9hZGluZyB8fCAhcHJvamVjdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiB1c2VkIG91dHNpZGUgb2YgYSBwcm9qZWN0IGNvbnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3Igd2hlbiB0aGUgcHJvamVjdCBpcyBleHBpcmVkIG9yIHN1cHNlbmRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNob3VsZFVzZVByb2plY3RDb250ZXh0ID0gIShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9qZWN0LnN1c3BlbnNpb24gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3QuZXhwaXJ5ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QuZXhwaXJ5LmlzQWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXNob3VsZFVzZVByb2plY3RDb250ZXh0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdERhdGFMb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlcz17cHJvamVjdC5sYW5ndWFnZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZTogZGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0RGF0YUxvY2FsZT17ZGF0YUxvY2FsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25FbnZpcm9ubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxRdWlja0FjY2Vzc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZVByb2plY3REYXRhTG9jYWxlPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1Byb2plY3REYXRhTG9jYWxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZldGNoUHJvamVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6ICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnMi8zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnMid9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJzIvMydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzEvMyd9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwQmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybD17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hlYWRlcj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzaWRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCA9PT0gZmFsc2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCA9PT0gdHJ1ZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBncmlkLWNvbHVtbjogMS8yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDIvNDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIDxOYXZCYXI+IHNob3VsZCBvbmx5IGJlIHJlbmRlcmVkIHdpdGhpbiBhIHByb2plY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb250ZXh0LCB0aGVyZWZvcmUgd2hlbiB0aGVyZSBpcyBhIGBwcm9qZWN0S2V5YC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBgcHJvamVjdEtleWAgaW4gdGhlIFVSTCAoZS5nLiBgL2FjY291bnRgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcm91dGVzKSwgd2UgZG9uJ3QgcmVuZGVyIGl0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IHdlIGFsc28gXCJjYWNoZVwiIHRoZSBgcHJvamVjdEtleWAgaW4gbG9jYWxTdG9yYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYnV0IHRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCB0byBcInJlLWh5ZHJhdGVcIiB0aGUgVVJMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbG9jYXRpb24gKGUuZyB3aGVuIHlvdSBnbyB0byBgL2AsIHRoZXJlIHNob3VsZCBiZSBhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVkaXJlY3QgdG8gYC86cHJvamVjdEtleWApLiBUaGVyZWZvcmUsIHdlIHNob3VsZCBub3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWx5IG9uIHRoZSB2YWx1ZSBpbiBsb2NhbFN0b3JhZ2UgdG8gZGV0ZXJtaW5lIHdoaWNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYHByb2plY3RLZXlgIGlzIGN1cnJlbnRseSB1c2VkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvamVjdEtleUZyb21VcmwpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmV0Y2hQcm9qZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmc6IGlzTG9hZGluZ1Byb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzTG9hZGluZyA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdVc2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdMb2NhbGVEYXRhIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdQcm9qZWN0IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhbG9jYWxlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhcHJvamVjdDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IGRvIG5vdCBwYXNzIHRoZSBgcHJvamVjdGAgaW50byB0aGUgYXBwbGljYXRpb24gY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHBlcm1pc3Npb25zIGZvciB0aGUgTmF2YmFyIGFyZSByZXNvbHZlZCBzZXBhcmF0ZWx5LCB3aXRoaW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYSBkaWZmZXJlbnQgUmVhY3QgY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5hdkJhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdD17cHJvamVjdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkVudmlyb25tZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbk1lbnVJdGVtQ2xpY2tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHk9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZEV2YWx1YXRpb25SZWFkeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmV0Y2hQcm9qZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzaWRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nVXNlciB8fCBpc0xvYWRpbmdMb2NhbGVEYXRhID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFpbkNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwibWFpblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Mb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9NYWluQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1haW5Db250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cIm1haW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiByZWY9e25vdGlmaWNhdGlvbnNQYWdlUmVmfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuUEFHRX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLlNJREV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgYmVjYXVzZSB3ZSBoYXZlIGFuIGludGVybWVkaWFyeSA8ZGl2PiB3cmFwcGluZyB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXc+IGNvbXBvbmVudCB0aGF0IGlzIHVzZWQgdG8gd3JhcCBldmVyeSBjb250ZW50LXZpZXcuIFRoaXMgaW50ZXJtZWRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+IGlzIHNvbGVseSB1c2VkIGZvciBhZGRpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIGNvbnRlbnQtdmlldy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSG93ZXZlciwgdGhpcyBjb3VsZCBiZSBkb25lIGJ5IHBhc3NpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIDxWaWV3PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbGV0IGl0IGRvIHRoZSBsYXlvdXQsIHNvIHdlIGNhbiBhdm9pZCBsYXlpbmcgb3VyIGZyb20gdGhlIG91dHNpZGUgYXMgd2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gaGVyZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gKjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQb3J0YWxzQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtsYXlvdXRSZWZzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRUb3A9e0RJTUVOU0lPTlMuaGVhZGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRMZWZ0PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBESU1FTlNJT05TLm5hdk1lbnVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzBweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRMZWZ0T25FeHBhbmRlZE1lbnU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXlGcm9tVXJsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IERJTUVOU0lPTlMubmF2TWVudUV4cGFuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcwcHgnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVkaXJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tPVwiL3Byb2ZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPVwiL2FjY291bnQvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2FjY291bnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGByZW5kZXJgIGZ1bmN0aW9uLCB3ZSBhc3N1bWUgaXQncyBvbmUgb2YgdHdvIGNhc2VzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogMS4gVGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IHVzZSBgY2hpbGRyZW5gIGFuZCB0aGVyZWZvcmUgaW1wbGVtZW50cyB0aGUgcm91dGVzIGluY2x1ZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogdGhlIDxSb3V0ZUNhdGNoQWxsPiAodGhpcyBpcyB0aGUgXCJsZWdhY3lcIiBiZWhhdmlvcikuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAyLiBJdCdzIHRoZSBhY2NvdW50IGFwcGxpY2F0aW9uLCB3aGljaCBhbHdheXMgdXNlcyBgcmVuZGVyYCBhbmQgdGhlcmVmb3JlIHNob3VsZCByZW5kZXIgYXMgbm9ybWFsLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGBjaGlsZHJlbmAgZnVuY3Rpb24sIHdlIGNhbiBhbHdheXMgYXNzdW1lIHRoYXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIGl0J3MgYSBub3JtYWwgQ3VzdG9tIEFwcGxpY2F0aW9uIGFuZCB0aGF0IGl0IHNob3VsZCB0cmlnZ2VyIGEgZm9yY2UgcmVsb2FkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5yZW5kZXIgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+e3Byb3BzLnJlbmRlcigpfTwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlQ2F0Y2hBbGwgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBQcm9qZWN0IHJvdXRlcyAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlIGV4YWN0PXt0cnVlfSBwYXRoPVwiL1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNQcm9qZWN0S2V5ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UHJldmlvdXNQcm9qZWN0S2V5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI/LmRlZmF1bHRQcm9qZWN0S2V5ID8/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBOT1RFOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciBoYXMgbm90IGJlZW4gbG9hZGVkIGEgbG9hZGluZyBzcGlubmVyIGlzIHNob3duLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciB3YXMgbm90IHdvcmtpbmcgb24gYSBwcm9qZWN0IHByZXZpb3VzbHkgbm9yIGhhcyBhIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvamVjdCwgdGhlIHVzZXIgd2lsbCBiZSBwcm9tcHRlZCB0byBjcmVhdGUgb25lLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciB3YXMgd29ya2luZyBvbiBhIHByb2plY3QgcHJldmlvdXNseSBvciBoYXMgYSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHByb2plY3QsIHRoZSBhcHBsaWNhdGlvbiB3aWxsIHJlZGlyZWN0IHRvIHRoYXQgcHJvamVjdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF1c2VyKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPEFwcGxpY2F0aW9uTG9hZGVyIC8+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcmV2aW91c1Byb2plY3RLZXkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVkaXJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bz17YC8ke3ByZXZpb3VzUHJvamVjdEtleX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1JvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGUgZXhhY3Q9e2ZhbHNlfSBwYXRoPVwiLzpwcm9qZWN0S2V5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2plY3RDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVSb3V0ZVBlcm1pc3Npb25DaGVjaz17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLmRpc2FibGVSb3V0ZVBlcm1pc3Npb25DaGVja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBlZmZlY3RpdmVseSByZW5kZXJzIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2hpbGRyZW4sIHdoaWNoIGlzIHRoZSBhcHBsaWNhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3BlY2lmaWMgcGFydFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcy5yZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJvamVjdENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L01haW5Db250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9OZXdNYWluTmF2aWdhdGlvbkZsYWdXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgPC9TZXR1cEZsb3BGbGlwUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0FzeW5jTG9jYWxlRGF0YT5cbiAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICApO1xuICAgICAgfX1cbiAgICA8L0ZldGNoVXNlcj5cbiAgKTtcbn07XG5BcHBsaWNhdGlvblNoZWxsQXV0aGVudGljYXRlZC5kaXNwbGF5TmFtZSA9ICdBcHBsaWNhdGlvblNoZWxsQXV0aGVudGljYXRlZCc7XG5cbmV4cG9ydCBkZWZhdWx0IEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkO1xuIl19 */"),
|
|
1159
|
+
css: /*#__PURE__*/css("grid-row:", isNewNavigationEnabled ? '2/3' : '2', ";grid-column:", isNewNavigationEnabled ? '2/3' : '1/3', ";" + (process.env.NODE_ENV === "production" ? "" : ";label:ApplicationShellAuthenticated;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLWF1dGhlbnRpY2F0ZWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9Ud0MiLCJmaWxlIjoiYXBwbGljYXRpb24tc2hlbGwtYXV0aGVudGljYXRlZC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWZPYmplY3QsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG4gIHVzZVJlZixcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHR5cGUgeyBBcG9sbG9FcnJvciB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2Vycm9ycyc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgeyBSZWRpcmVjdCwgUm91dGUsIFN3aXRjaCwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFBvcnRhbHNDb250YWluZXIgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG4gIHR5cGUgVEFwcGxpY2F0aW9uQ29udGV4dCxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHsgQXN5bmNMb2NhbGVEYXRhIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvaTE4bic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zTGlzdCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3JlYWN0LW5vdGlmaWNhdGlvbnMnO1xuaW1wb3J0IHtcbiAgcmVwb3J0RXJyb3JUb1NlbnRyeSxcbiAgU2VudHJ5VXNlclRyYWNrZXIsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3NlbnRyeSc7XG5pbXBvcnQgeyBESU1FTlNJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsLCBnZXRQcmV2aW91c1Byb2plY3RLZXkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgQXBwQmFyIGZyb20gJy4uL2FwcC1iYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IENvbmZpZ3VyZUludGxQcm92aWRlciBmcm9tICcuLi9jb25maWd1cmUtaW50bC1wcm92aWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBGZXRjaFVzZXIgZnJvbSAnLi4vZmV0Y2gtdXNlcic7XG5pbXBvcnQgTmF2QmFyIGZyb20gJy4uL25hdmJhcic7XG5pbXBvcnQgUHJvamVjdENvbnRhaW5lciBmcm9tICcuLi9wcm9qZWN0LWNvbnRhaW5lcic7XG5pbXBvcnQgUHJvamVjdERhdGFMb2NhbGUgZnJvbSAnLi4vcHJvamVjdC1kYXRhLWxvY2FsZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9nb3V0IGZyb20gJy4uL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5pbXBvcnQgUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgZnJvbSAnLi4vcmVkaXJlY3QtdG8tcHJvamVjdC1jcmVhdGUnO1xuaW1wb3J0IFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgZnJvbSAnLi4vcmVxdWVzdHMtaW4tZmxpZ2h0LWxvYWRlcic7XG5pbXBvcnQgUm91dGVDYXRjaEFsbCBmcm9tICcuLi9yb3V0ZS1jYXRjaC1hbGwnO1xuaW1wb3J0IFNldHVwRmxvcEZsaXBQcm92aWRlciBmcm9tICcuLi9zZXR1cC1mbG9wLWZsaXAtcHJvdmlkZXInO1xuaW1wb3J0IFRoZW1lU3dpdGNoZXIgZnJvbSAnLi4vdGhlbWUtc3dpdGNoZXInO1xuaW1wb3J0IFZlcnNpb25UcmFja2VyIGZyb20gJy4uL3ZlcnNpb24tdHJhY2tlcic7XG5pbXBvcnQgTmV3TWFpbk5hdmlnYXRpb25GbGFnV3JhcHBlciBmcm9tICcuL25ldy1tYWluLW5hdmlnYXRpb24tZmxhZy13cmFwcGVyJztcblxudHlwZSBUQXBwbGljYXRpb25TaGVsbEF1dGhlbnRpY2F0aW9uUHJvcHMgPSB7XG4gIGZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgZGVmYXVsdEZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uTWVudUl0ZW1DbGljaz86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICBkaXNhYmxlUm91dGVQZXJtaXNzaW9uQ2hlY2s/OiBib29sZWFuO1xuICByZW5kZXI/OiAoKSA9PiBKU1guRWxlbWVudDtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG50eXBlIE1haW5Db250YWluZXJQcm9wcyA9IHtcbiAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEhhc1VuYXV0aG9yaXplZEVycm9yID0gKGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ10pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5leHRlbnNpb25zICYmXG4gICAgICBncWxFcnJvci5leHRlbnNpb25zLmNvZGUgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSA9PT0gJ1VOQVVUSEVOVElDQVRFRCdcbiAgKTtcbmNvbnN0IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gKFxuICBncmFwaFFMRXJyb3JzOiBBcG9sbG9FcnJvclsnZ3JhcGhRTEVycm9ycyddXG4pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5tZXNzYWdlICYmXG4gICAgICAvLyBOT1RFOiBUaGUgQ1RQIEFQSSBkb2VzIG5vdCBwcm92aWRlIGFuIGVycm9yIGNvZGUgaW4gdGhpcyBjYXNlLlxuICAgICAgZ3FsRXJyb3IubWVzc2FnZS5pbmNsdWRlcygnd2FzIG5vdCBmb3VuZC4nKVxuICApO1xuXG5leHBvcnQgY29uc3QgTWFpbkNvbnRhaW5lciA9IHN0eWxlZC5tYWluPE1haW5Db250YWluZXJQcm9wcz5gXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgID8gYFxuICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgICAgICBncmlkLXJvdzogMy80O1xuICAgICAgYFxuICAgICAgOiBgXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgIGB9O1xuXG4gIC8qXG4gICAgQWxsb3cgdGhlIHRoaXMgZmxleCBjaGlsZCB0byBncm93IHNtYWxsZXIgdGhhbiBpdHMgc21hbGxlc3QgY29udGVudC5cbiAgICBUaGlzIGlzIG5lZWRlZCB3aGVuIHRoZXJlIGlzIGEgcmVhbGx5IHdpZGUgdGV4dCBpbnNpZGUgdGhhdCB3b3VsZCBzdHJldGNoXG4gICAgdGhpcyBub2RlIHRvIGJlIHdpZGVyIHRoYW4gdGhlIHBhcmVudC5cbiAgKi9cbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAvKlxuICAgIGxheW91dCB0aGUgY2hpbGRyZW4uIFRoZXJlIHdpbGwgYWx3YXlzIGJlIHRoZSBwYWdlIGFuZCBzaWRlIG5vdGlmaWNhdGlvblxuICAgIGFib3V0IHRoZSBhY3R1YWwgY29udGVudC4gVGhlIGNvbnRlbnQgc2hvdWxkIHN0cmV0Y2ggdG8gZmlsbCB0aGUgcmVzdCBvZlxuICAgIHRoZSBwYWdlLlxuICAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8qXG4gICAgc2V0IHBvc2l0aW9uIHRvIHJlbGF0aXZlIHRvIGxheW91dCBub3RpZmljYXRpb25zIGFuZCBtb2RhbHNcbiAgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuZXhwb3J0IGNvbnN0IEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkID0gKFxuICBwcm9wczogVEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGlvblByb3BzXG4pID0+IHtcbiAgY29uc3QgYXBwbGljYXRpb25FbnZpcm9ubWVudCA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dChcbiAgICAoY29udGV4dCkgPT4gY29udGV4dC5lbnZpcm9ubWVudFxuICApIGFzIFRBcHBsaWNhdGlvbkNvbnRleHQ8e30+WydlbnZpcm9ubWVudCddO1xuICAvLyBUT0RPOiB1c2luZyB0aGlzIGhvb2sgd2lsbCBzdWJzY3JpYmUgdGhlIGNvbXBvbmVudCB0byByb3V0ZSB1cGRhdGVzLlxuICAvLyBUaGlzIGlzIGN1cnJlbnRseSB1c2VmdWwgZm9yIGRldGVjdGluZyBhIGNoYW5nZSBpbiB0aGUgcHJvamVjdCBrZXlcbiAgLy8gZnJvbSBVUkwgKFwiL1wiIC0tPiBcIi86cHJvamVjdEtleVwiKS5cbiAgLy8gSG93ZXZlciwgZXZlcnkgcm91dGUgY2hhbmdlIHdpbGwgdHJpZ2dlciBhIHJlLXJlbmRlci4gVGhpcyBpcyBwcm9iYWJseVxuICAvLyBvay1pc2ggYnV0IHdlIG1pZ2h0IHdhbnQgdG8gbG9vayBpbnRvIGEgbW9yZSBwZXJmb3JtYW50IHNvbHV0aW9uLlxuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgY29uc3Qgbm90aWZpY2F0aW9uc0dsb2JhbFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IG5vdGlmaWNhdGlvbnNQYWdlUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgbGF5b3V0UmVmcyA9IHVzZVJlZjx7XG4gICAgbm90aWZpY2F0aW9uc0dsb2JhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgICBub3RpZmljYXRpb25zUGFnZVJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgfT4oe1xuICAgIG5vdGlmaWNhdGlvbnNHbG9iYWxSZWYsXG4gICAgbm90aWZpY2F0aW9uc1BhZ2VSZWYsXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPEZldGNoVXNlcj5cbiAgICAgIHsoeyBpc0xvYWRpbmc6IGlzTG9hZGluZ1VzZXIsIHVzZXIsIGVycm9yIH0pID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgLy8gSW4gY2FzZSB0aGVyZSBpcyBhbiB1bmF1dGhvcml6ZWQgZXJyb3IsIHdlIHJlZGlyZWN0IHRvIHRoZSBsb2dpbiBwYWdlXG4gICAgICAgICAgaWYgKGVycm9yLmdyYXBoUUxFcnJvcnMgJiYgQXJyYXkuaXNBcnJheShlcnJvci5ncmFwaFFMRXJyb3JzKSkge1xuICAgICAgICAgICAgY29uc3QgaGFzVW5hdXRob3JpemVkRXJyb3IgPSBnZXRIYXNVbmF1dGhvcml6ZWRFcnJvcihcbiAgICAgICAgICAgICAgZXJyb3IuZ3JhcGhRTEVycm9yc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvciB8fCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcikge1xuICAgICAgICAgICAgICBsZXQgbG9nb3V0UmVhc29uOlxuICAgICAgICAgICAgICAgIHwgKHR5cGVvZiBMT0dPVVRfUkVBU09OUylba2V5b2YgdHlwZW9mIExPR09VVF9SRUFTT05TXVxuICAgICAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IpXG4gICAgICAgICAgICAgICAgbG9nb3V0UmVhc29uID0gTE9HT1VUX1JFQVNPTlMuVU5BVVRIT1JJWkVEO1xuICAgICAgICAgICAgICBlbHNlIGlmIChoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5ERUxFVEVEO1xuICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dvdXQgcmVhc29uPXtsb2dvdXRSZWFzb259IC8+O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBTaW5jZSB3ZSBkbyBub3Qga25vdyB0aGUgbG9jYWxlIG9mIHRoZSB1c2VyLCB3ZSBwaWNrIGl0IGZyb20gdGhlXG4gICAgICAgICAgLy8gdXNlcidzIGJyb3dzZXIgdG8gYXR0ZW1wdCB0byBtYXRjaCB0aGUgbGFuZ3VhZ2UgZm9yIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9ucy5cbiAgICAgICAgICBjb25zdCB1c2VyTG9jYWxlID0gZ2V0QnJvd3NlckxvY2FsZSh3aW5kb3cpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlckxvY2FsZX1cbiAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgeyh7IGxvY2FsZSwgbWVzc2FnZXMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlcG9ydEVycm9yVG9TZW50cnkoZXJyb3IsIHt9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPENvbmZpZ3VyZUludGxQcm92aWRlciBsb2NhbGU9e2xvY2FsZX0gbWVzc2FnZXM9e21lc3NhZ2VzfT5cbiAgICAgICAgICAgICAgICAgICAgPEVycm9yQXBvbG9naXplciAvPlxuICAgICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcm9qZWN0S2V5RnJvbVVybCA9IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsKGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXJcbiAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7LypcbiAgICAgICAgICAgIE5PVEU6IHdlIGRvIG5vdCB3YW50IHRvIGxvYWQgdGhlIGxvY2FsZSBkYXRhIGFzIGxvbmcgYXMgd2UgZG8gbm90XG4gICAgICAgICAgICBrbm93IHRoZSB1c2VyIHNldHRpbmcuIFRoaXMgaXMgaW1wb3J0YW50IGluIG9yZGVyIHRvIGF2b2lkIGZsYXNoaW5nXG4gICAgICAgICAgICBvZiB0cmFuc2xhdGVkIGNvbnRlbnQgb24gc3Vic2VxdWVudCByZS1yZW5kZXJzLlxuICAgICAgICAgICAgVGhlcmVmb3JlLCBhcyBsb25nIGFzIHRoZXJlIGlzIG5vIGxvY2FsZSwgdGhlIGNoaWxkcmVuIHNob3VsZCBjb25zaWRlciB1c2luZyB0aGVcbiAgICAgICAgICAgIGBpc0xvYWRpbmdgIHByb3AgdG8gZGVjaWRlIHdoYXQgdG8gcmVuZGVyLlxuICAgICAgICAgICovfVxuICAgICAgICAgICAgPEFzeW5jTG9jYWxlRGF0YVxuICAgICAgICAgICAgICBsb2NhbGU9e3VzZXI/Lmxhbmd1YWdlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdMb2NhbGVEYXRhLCBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBwYXNzIHRoZSBsYW5ndWFnZSBhcyBsb25nIGFzIHRoZSBsb2NhbGUgZGF0YVxuICAgICAgICAgICAgICAgICAgLy8gaXMgbm90IGxvYWRlZC5cbiAgICAgICAgICAgICAgICAgIHsuLi4oaXNMb2FkaW5nTG9jYWxlRGF0YSA/IHt9IDogeyBsb2NhbGUsIG1lc3NhZ2VzIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTZXR1cEZsb3BGbGlwUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgIGxkQ2xpZW50U2lkZUlkPXthcHBsaWNhdGlvbkVudmlyb25tZW50LmxkQ2xpZW50U2lkZUlkfVxuICAgICAgICAgICAgICAgICAgICBmbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsvKiBUaGlzIGlzIGEgdGVtcG9yYXJ5IGNvbnRhaW5lci4gSXQgd2lsbCBiZSByZW1vdmVkIG9uY2UgdGhlIG5ldyBuYXZpZ2F0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gKi99XG4gICAgICAgICAgICAgICAgICAgIDxOZXdNYWluTmF2aWdhdGlvbkZsYWdXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHksXG4gICAgICAgICAgICAgICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGhlbWVTd2l0Y2hlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWZXJzaW9uVHJhY2tlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBOT1RFOiB0aGUgcmVxdWVzdHMgaW4gZmxpZ2h0IGxvYWRlciB3aWxsIHJlbmRlciBhIGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGlubmVyIGludG8gdGhlIEFwcEJhci4gKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VudHJ5VXNlclRyYWNrZXIgdXNlcj17dXNlciA/PyB1bmRlZmluZWR9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAke0RJTUVOU0lPTlMuaGVhZGVyfSAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgMWZyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17bm90aWZpY2F0aW9uc0dsb2JhbFJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJhYm92ZS10b3AtbmF2aWdhdGlvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuR0xPQkFMfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2plY3RLZXlGcm9tVXJsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBpc1Byb2plY3RMb2FkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9qZWN0TG9hZGluZyB8fCAhcHJvamVjdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiB1c2VkIG91dHNpZGUgb2YgYSBwcm9qZWN0IGNvbnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3Igd2hlbiB0aGUgcHJvamVjdCBpcyBleHBpcmVkIG9yIHN1cHNlbmRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNob3VsZFVzZVByb2plY3RDb250ZXh0ID0gIShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9qZWN0LnN1c3BlbnNpb24gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3QuZXhwaXJ5ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QuZXhwaXJ5LmlzQWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXNob3VsZFVzZVByb2plY3RDb250ZXh0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdERhdGFMb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlcz17cHJvamVjdC5sYW5ndWFnZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZTogZGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0RGF0YUxvY2FsZT17ZGF0YUxvY2FsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25FbnZpcm9ubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxRdWlja0FjY2Vzc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZVByb2plY3REYXRhTG9jYWxlPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1Byb2plY3REYXRhTG9jYWxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZldGNoUHJvamVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6ICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnMi8zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnMid9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJzIvMydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzEvMyd9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwQmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybD17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc2lkZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWQgPT09IGZhbHNlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWQgPT09IHRydWUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZ3JpZC1jb2x1bW46IDEvMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyLzQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO2B9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSA8TmF2QmFyPiBzaG91bGQgb25seSBiZSByZW5kZXJlZCB3aXRoaW4gYSBwcm9qZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29udGV4dCwgdGhlcmVmb3JlIHdoZW4gdGhlcmUgaXMgYSBgcHJvamVjdEtleWAuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gYHByb2plY3RLZXlgIGluIHRoZSBVUkwgKGUuZy4gYC9hY2NvdW50YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJvdXRlcyksIHdlIGRvbid0IHJlbmRlciBpdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiB3ZSBhbHNvIFwiY2FjaGVcIiB0aGUgYHByb2plY3RLZXlgIGluIGxvY2FsU3RvcmFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJ1dCB0aGlzIHNob3VsZCBvbmx5IGJlIHVzZWQgdG8gXCJyZS1oeWRyYXRlXCIgdGhlIFVSTFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxvY2F0aW9uIChlLmcgd2hlbiB5b3UgZ28gdG8gYC9gLCB0aGVyZSBzaG91bGQgYmUgYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlZGlyZWN0IHRvIGAvOnByb2plY3RLZXlgKS4gVGhlcmVmb3JlLCB3ZSBzaG91bGQgbm90XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVseSBvbiB0aGUgdmFsdWUgaW4gbG9jYWxTdG9yYWdlIHRvIGRldGVybWluZSB3aGljaFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGBwcm9qZWN0S2V5YCBpcyBjdXJyZW50bHkgdXNlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2plY3RLZXlGcm9tVXJsKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBpc0xvYWRpbmdQcm9qZWN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0xvYWRpbmcgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nVXNlciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nTG9jYWxlRGF0YSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nUHJvamVjdCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWxvY2FsZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXByb2plY3Q7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiBkbyBub3QgcGFzcyB0aGUgYHByb2plY3RgIGludG8gdGhlIGFwcGxpY2F0aW9uIGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwZXJtaXNzaW9ucyBmb3IgdGhlIE5hdmJhciBhcmUgcmVzb2x2ZWQgc2VwYXJhdGVseSwgd2l0aGluXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGEgZGlmZmVyZW50IFJlYWN0IGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOYXZCYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25FbnZpcm9ubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1lbnVJdGVtQ2xpY2s9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMub25NZW51SXRlbUNsaWNrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZz17aXNMb2FkaW5nfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkRXZhbHVhdGlvblJlYWR5PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZldGNoUHJvamVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc2lkZT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzTG9hZGluZ1VzZXIgfHwgaXNMb2FkaW5nTG9jYWxlRGF0YSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1haW5Db250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cIm1haW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uTG9hZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYWluQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJtYWluXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgcmVmPXtub3RpZmljYXRpb25zUGFnZVJlZn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLlBBR0V9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0IGRvbWFpbj17RE9NQUlOUy5TSURFfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIG9ubHkgbmVjZXNzYXJ5IGJlY2F1c2Ugd2UgaGF2ZSBhbiBpbnRlcm1lZGlhcnkgPGRpdj4gd3JhcHBpbmcgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWaWV3PiBjb21wb25lbnQgdGhhdCBpcyB1c2VkIHRvIHdyYXAgZXZlcnkgY29udGVudC12aWV3LiBUaGlzIGludGVybWVkaWFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PiBpcyBzb2xlbHkgdXNlZCBmb3IgYWRkaW5nIHRoZSB0cmFja2luZyBjb250ZXh0IHRvIHRoZSBjb250ZW50LXZpZXcuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhvd2V2ZXIsIHRoaXMgY291bGQgYmUgZG9uZSBieSBwYXNzaW5nIHRoZSB0cmFja2luZyBjb250ZXh0IHRvIHRoZSA8Vmlldz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGxldCBpdCBkbyB0aGUgbGF5b3V0LCBzbyB3ZSBjYW4gYXZvaWQgbGF5aW5nIG91ciBmcm9tIHRoZSBvdXRzaWRlIGFzIHdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvIGhlcmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+ICo6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UG9ydGFsc0NvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17bGF5b3V0UmVmc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0VG9wPXtESU1FTlNJT05TLmhlYWRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0TGVmdD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleUZyb21VcmxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IERJTUVOU0lPTlMubmV3TmF2TWVudVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IERJTUVOU0lPTlMubmF2TWVudVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnMHB4J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldExlZnRPbkV4cGFuZGVkTWVudT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleUZyb21VcmxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IERJTUVOU0lPTlMubmV3TmF2TWVudUV4cGFuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogRElNRU5TSU9OUy5uYXZNZW51RXhwYW5kZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzBweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb209XCIvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG89XCIvYWNjb3VudC9wcm9maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvYWNjb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYHJlbmRlcmAgZnVuY3Rpb24sIHdlIGFzc3VtZSBpdCdzIG9uZSBvZiB0d28gY2FzZXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAxLiBUaGUgYXBwbGljYXRpb24gZG9lcyBub3QgdXNlIGBjaGlsZHJlbmAgYW5kIHRoZXJlZm9yZSBpbXBsZW1lbnRzIHRoZSByb3V0ZXMgaW5jbHVkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiB0aGUgPFJvdXRlQ2F0Y2hBbGw+ICh0aGlzIGlzIHRoZSBcImxlZ2FjeVwiIGJlaGF2aW9yKS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIDIuIEl0J3MgdGhlIGFjY291bnQgYXBwbGljYXRpb24sIHdoaWNoIGFsd2F5cyB1c2VzIGByZW5kZXJgIGFuZCB0aGVyZWZvcmUgc2hvdWxkIHJlbmRlciBhcyBub3JtYWwuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYGNoaWxkcmVuYCBmdW5jdGlvbiwgd2UgY2FuIGFsd2F5cyBhc3N1bWUgdGhhdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogaXQncyBhIG5vcm1hbCBDdXN0b20gQXBwbGljYXRpb24gYW5kIHRoYXQgaXQgc2hvdWxkIHRyaWdnZXIgYSBmb3JjZSByZWxvYWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLnJlbmRlciA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD57cHJvcHMucmVuZGVyKCl9PC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVDYXRjaEFsbCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey8qIFByb2plY3Qgcm91dGVzICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGUgZXhhY3Q9e3RydWV9IHBhdGg9XCIvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1Byb2plY3RLZXkgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRQcmV2aW91c1Byb2plY3RLZXkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj8uZGVmYXVsdFByb2plY3RLZXkgPz9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIE5PVEU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIGhhcyBub3QgYmVlbiBsb2FkZWQgYSBsb2FkaW5nIHNwaW5uZXIgaXMgc2hvd24uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyBub3Qgd29ya2luZyBvbiBhIHByb2plY3QgcHJldmlvdXNseSBub3IgaGFzIGEgZGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9qZWN0LCB0aGUgdXNlciB3aWxsIGJlIHByb21wdGVkIHRvIGNyZWF0ZSBvbmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyB3b3JraW5nIG9uIGEgcHJvamVjdCBwcmV2aW91c2x5IG9yIGhhcyBhIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvamVjdCwgdGhlIGFwcGxpY2F0aW9uIHdpbGwgcmVkaXJlY3QgdG8gdGhhdCBwcm9qZWN0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXVzZXIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8QXBwbGljYXRpb25Mb2FkZXIgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByZXZpb3VzUHJvamVjdEtleSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPXtgLyR7cHJldmlvdXNQcm9qZWN0S2V5fWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZSBleGFjdD17ZmFsc2V9IHBhdGg9XCIvOnByb2plY3RLZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdENvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVJvdXRlUGVybWlzc2lvbkNoZWNrPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMuZGlzYWJsZVJvdXRlUGVybWlzc2lvbkNoZWNrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGVmZmVjdGl2ZWx5IHJlbmRlcnMgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjaGlsZHJlbiwgd2hpY2ggaXMgdGhlIGFwcGxpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzcGVjaWZpYyBwYXJ0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzLnJlbmRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Qcm9qZWN0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1JvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L05ld01haW5OYXZpZ2F0aW9uRmxhZ1dyYXBwZXI+XG4gICAgICAgICAgICAgICAgICA8L1NldHVwRmxvcEZsaXBQcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvRmV0Y2hVc2VyPlxuICApO1xufTtcbkFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkLmRpc3BsYXlOYW1lID0gJ0FwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkJztcblxuZXhwb3J0IGRlZmF1bHQgQXBwbGljYXRpb25TaGVsbEF1dGhlbnRpY2F0ZWQ7XG4iXX0= */"),
|
|
1159
1160
|
children: jsx(AppBar, {
|
|
1160
1161
|
user: user,
|
|
1161
|
-
projectKeyFromUrl: projectKeyFromUrl
|
|
1162
|
+
projectKeyFromUrl: projectKeyFromUrl,
|
|
1163
|
+
isNewNavigationEnabled: isNewNavigationEnabled
|
|
1162
1164
|
})
|
|
1163
1165
|
}), jsx("aside", {
|
|
1164
|
-
css: /*#__PURE__*/css(isNewNavigationEnabled === false && "position: relative;\n grid-row: 3;\n display: flex;\n flex-direction: column;", " ", isNewNavigationEnabled === true && "grid-column: 1/2;\n grid-row: 2/4;\n overflow: hidden;", ";" + (process.env.NODE_ENV === "production" ? "" : ";label:ApplicationShellAuthenticated;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLWF1dGhlbnRpY2F0ZWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9Vd0MiLCJmaWxlIjoiYXBwbGljYXRpb24tc2hlbGwtYXV0aGVudGljYXRlZC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWZPYmplY3QsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG4gIHVzZVJlZixcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHR5cGUgeyBBcG9sbG9FcnJvciB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2Vycm9ycyc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgeyBSZWRpcmVjdCwgUm91dGUsIFN3aXRjaCwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFBvcnRhbHNDb250YWluZXIgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG4gIHR5cGUgVEFwcGxpY2F0aW9uQ29udGV4dCxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHsgQXN5bmNMb2NhbGVEYXRhIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvaTE4bic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zTGlzdCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3JlYWN0LW5vdGlmaWNhdGlvbnMnO1xuaW1wb3J0IHtcbiAgcmVwb3J0RXJyb3JUb1NlbnRyeSxcbiAgU2VudHJ5VXNlclRyYWNrZXIsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3NlbnRyeSc7XG5pbXBvcnQgeyBESU1FTlNJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsLCBnZXRQcmV2aW91c1Byb2plY3RLZXkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgQXBwQmFyIGZyb20gJy4uL2FwcC1iYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IENvbmZpZ3VyZUludGxQcm92aWRlciBmcm9tICcuLi9jb25maWd1cmUtaW50bC1wcm92aWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBGZXRjaFVzZXIgZnJvbSAnLi4vZmV0Y2gtdXNlcic7XG5pbXBvcnQgTmF2QmFyIGZyb20gJy4uL25hdmJhcic7XG5pbXBvcnQgUHJvamVjdENvbnRhaW5lciBmcm9tICcuLi9wcm9qZWN0LWNvbnRhaW5lcic7XG5pbXBvcnQgUHJvamVjdERhdGFMb2NhbGUgZnJvbSAnLi4vcHJvamVjdC1kYXRhLWxvY2FsZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9nb3V0IGZyb20gJy4uL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5pbXBvcnQgUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgZnJvbSAnLi4vcmVkaXJlY3QtdG8tcHJvamVjdC1jcmVhdGUnO1xuaW1wb3J0IFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgZnJvbSAnLi4vcmVxdWVzdHMtaW4tZmxpZ2h0LWxvYWRlcic7XG5pbXBvcnQgUm91dGVDYXRjaEFsbCBmcm9tICcuLi9yb3V0ZS1jYXRjaC1hbGwnO1xuaW1wb3J0IFNldHVwRmxvcEZsaXBQcm92aWRlciBmcm9tICcuLi9zZXR1cC1mbG9wLWZsaXAtcHJvdmlkZXInO1xuaW1wb3J0IFRoZW1lU3dpdGNoZXIgZnJvbSAnLi4vdGhlbWUtc3dpdGNoZXInO1xuaW1wb3J0IFZlcnNpb25UcmFja2VyIGZyb20gJy4uL3ZlcnNpb24tdHJhY2tlcic7XG5pbXBvcnQgTmV3TWFpbk5hdmlnYXRpb25GbGFnV3JhcHBlciBmcm9tICcuL25ldy1tYWluLW5hdmlnYXRpb24tZmxhZy13cmFwcGVyJztcblxudHlwZSBUQXBwbGljYXRpb25TaGVsbEF1dGhlbnRpY2F0aW9uUHJvcHMgPSB7XG4gIGZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgZGVmYXVsdEZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uTWVudUl0ZW1DbGljaz86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICBkaXNhYmxlUm91dGVQZXJtaXNzaW9uQ2hlY2s/OiBib29sZWFuO1xuICByZW5kZXI/OiAoKSA9PiBKU1guRWxlbWVudDtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG50eXBlIE1haW5Db250YWluZXJQcm9wcyA9IHtcbiAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEhhc1VuYXV0aG9yaXplZEVycm9yID0gKGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ10pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5leHRlbnNpb25zICYmXG4gICAgICBncWxFcnJvci5leHRlbnNpb25zLmNvZGUgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSA9PT0gJ1VOQVVUSEVOVElDQVRFRCdcbiAgKTtcbmNvbnN0IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gKFxuICBncmFwaFFMRXJyb3JzOiBBcG9sbG9FcnJvclsnZ3JhcGhRTEVycm9ycyddXG4pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5tZXNzYWdlICYmXG4gICAgICAvLyBOT1RFOiBUaGUgQ1RQIEFQSSBkb2VzIG5vdCBwcm92aWRlIGFuIGVycm9yIGNvZGUgaW4gdGhpcyBjYXNlLlxuICAgICAgZ3FsRXJyb3IubWVzc2FnZS5pbmNsdWRlcygnd2FzIG5vdCBmb3VuZC4nKVxuICApO1xuXG5leHBvcnQgY29uc3QgTWFpbkNvbnRhaW5lciA9IHN0eWxlZC5tYWluPE1haW5Db250YWluZXJQcm9wcz5gXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgID8gYFxuICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgICAgICBncmlkLXJvdzogMy80O1xuICAgICAgYFxuICAgICAgOiBgXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgIGB9O1xuXG4gIC8qXG4gICAgQWxsb3cgdGhlIHRoaXMgZmxleCBjaGlsZCB0byBncm93IHNtYWxsZXIgdGhhbiBpdHMgc21hbGxlc3QgY29udGVudC5cbiAgICBUaGlzIGlzIG5lZWRlZCB3aGVuIHRoZXJlIGlzIGEgcmVhbGx5IHdpZGUgdGV4dCBpbnNpZGUgdGhhdCB3b3VsZCBzdHJldGNoXG4gICAgdGhpcyBub2RlIHRvIGJlIHdpZGVyIHRoYW4gdGhlIHBhcmVudC5cbiAgKi9cbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAvKlxuICAgIGxheW91dCB0aGUgY2hpbGRyZW4uIFRoZXJlIHdpbGwgYWx3YXlzIGJlIHRoZSBwYWdlIGFuZCBzaWRlIG5vdGlmaWNhdGlvblxuICAgIGFib3V0IHRoZSBhY3R1YWwgY29udGVudC4gVGhlIGNvbnRlbnQgc2hvdWxkIHN0cmV0Y2ggdG8gZmlsbCB0aGUgcmVzdCBvZlxuICAgIHRoZSBwYWdlLlxuICAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8qXG4gICAgc2V0IHBvc2l0aW9uIHRvIHJlbGF0aXZlIHRvIGxheW91dCBub3RpZmljYXRpb25zIGFuZCBtb2RhbHNcbiAgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuZXhwb3J0IGNvbnN0IEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkID0gKFxuICBwcm9wczogVEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGlvblByb3BzXG4pID0+IHtcbiAgY29uc3QgYXBwbGljYXRpb25FbnZpcm9ubWVudCA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dChcbiAgICAoY29udGV4dCkgPT4gY29udGV4dC5lbnZpcm9ubWVudFxuICApIGFzIFRBcHBsaWNhdGlvbkNvbnRleHQ8e30+WydlbnZpcm9ubWVudCddO1xuICAvLyBUT0RPOiB1c2luZyB0aGlzIGhvb2sgd2lsbCBzdWJzY3JpYmUgdGhlIGNvbXBvbmVudCB0byByb3V0ZSB1cGRhdGVzLlxuICAvLyBUaGlzIGlzIGN1cnJlbnRseSB1c2VmdWwgZm9yIGRldGVjdGluZyBhIGNoYW5nZSBpbiB0aGUgcHJvamVjdCBrZXlcbiAgLy8gZnJvbSBVUkwgKFwiL1wiIC0tPiBcIi86cHJvamVjdEtleVwiKS5cbiAgLy8gSG93ZXZlciwgZXZlcnkgcm91dGUgY2hhbmdlIHdpbGwgdHJpZ2dlciBhIHJlLXJlbmRlci4gVGhpcyBpcyBwcm9iYWJseVxuICAvLyBvay1pc2ggYnV0IHdlIG1pZ2h0IHdhbnQgdG8gbG9vayBpbnRvIGEgbW9yZSBwZXJmb3JtYW50IHNvbHV0aW9uLlxuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgY29uc3Qgbm90aWZpY2F0aW9uc0dsb2JhbFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IG5vdGlmaWNhdGlvbnNQYWdlUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgbGF5b3V0UmVmcyA9IHVzZVJlZjx7XG4gICAgbm90aWZpY2F0aW9uc0dsb2JhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgICBub3RpZmljYXRpb25zUGFnZVJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgfT4oe1xuICAgIG5vdGlmaWNhdGlvbnNHbG9iYWxSZWYsXG4gICAgbm90aWZpY2F0aW9uc1BhZ2VSZWYsXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPEZldGNoVXNlcj5cbiAgICAgIHsoeyBpc0xvYWRpbmc6IGlzTG9hZGluZ1VzZXIsIHVzZXIsIGVycm9yIH0pID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgLy8gSW4gY2FzZSB0aGVyZSBpcyBhbiB1bmF1dGhvcml6ZWQgZXJyb3IsIHdlIHJlZGlyZWN0IHRvIHRoZSBsb2dpbiBwYWdlXG4gICAgICAgICAgaWYgKGVycm9yLmdyYXBoUUxFcnJvcnMgJiYgQXJyYXkuaXNBcnJheShlcnJvci5ncmFwaFFMRXJyb3JzKSkge1xuICAgICAgICAgICAgY29uc3QgaGFzVW5hdXRob3JpemVkRXJyb3IgPSBnZXRIYXNVbmF1dGhvcml6ZWRFcnJvcihcbiAgICAgICAgICAgICAgZXJyb3IuZ3JhcGhRTEVycm9yc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvciB8fCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcikge1xuICAgICAgICAgICAgICBsZXQgbG9nb3V0UmVhc29uOlxuICAgICAgICAgICAgICAgIHwgKHR5cGVvZiBMT0dPVVRfUkVBU09OUylba2V5b2YgdHlwZW9mIExPR09VVF9SRUFTT05TXVxuICAgICAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IpXG4gICAgICAgICAgICAgICAgbG9nb3V0UmVhc29uID0gTE9HT1VUX1JFQVNPTlMuVU5BVVRIT1JJWkVEO1xuICAgICAgICAgICAgICBlbHNlIGlmIChoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5ERUxFVEVEO1xuICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dvdXQgcmVhc29uPXtsb2dvdXRSZWFzb259IC8+O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBTaW5jZSB3ZSBkbyBub3Qga25vdyB0aGUgbG9jYWxlIG9mIHRoZSB1c2VyLCB3ZSBwaWNrIGl0IGZyb20gdGhlXG4gICAgICAgICAgLy8gdXNlcidzIGJyb3dzZXIgdG8gYXR0ZW1wdCB0byBtYXRjaCB0aGUgbGFuZ3VhZ2UgZm9yIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9ucy5cbiAgICAgICAgICBjb25zdCB1c2VyTG9jYWxlID0gZ2V0QnJvd3NlckxvY2FsZSh3aW5kb3cpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlckxvY2FsZX1cbiAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgeyh7IGxvY2FsZSwgbWVzc2FnZXMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlcG9ydEVycm9yVG9TZW50cnkoZXJyb3IsIHt9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPENvbmZpZ3VyZUludGxQcm92aWRlciBsb2NhbGU9e2xvY2FsZX0gbWVzc2FnZXM9e21lc3NhZ2VzfT5cbiAgICAgICAgICAgICAgICAgICAgPEVycm9yQXBvbG9naXplciAvPlxuICAgICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcm9qZWN0S2V5RnJvbVVybCA9IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsKGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXJcbiAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7LypcbiAgICAgICAgICAgIE5PVEU6IHdlIGRvIG5vdCB3YW50IHRvIGxvYWQgdGhlIGxvY2FsZSBkYXRhIGFzIGxvbmcgYXMgd2UgZG8gbm90XG4gICAgICAgICAgICBrbm93IHRoZSB1c2VyIHNldHRpbmcuIFRoaXMgaXMgaW1wb3J0YW50IGluIG9yZGVyIHRvIGF2b2lkIGZsYXNoaW5nXG4gICAgICAgICAgICBvZiB0cmFuc2xhdGVkIGNvbnRlbnQgb24gc3Vic2VxdWVudCByZS1yZW5kZXJzLlxuICAgICAgICAgICAgVGhlcmVmb3JlLCBhcyBsb25nIGFzIHRoZXJlIGlzIG5vIGxvY2FsZSwgdGhlIGNoaWxkcmVuIHNob3VsZCBjb25zaWRlciB1c2luZyB0aGVcbiAgICAgICAgICAgIGBpc0xvYWRpbmdgIHByb3AgdG8gZGVjaWRlIHdoYXQgdG8gcmVuZGVyLlxuICAgICAgICAgICovfVxuICAgICAgICAgICAgPEFzeW5jTG9jYWxlRGF0YVxuICAgICAgICAgICAgICBsb2NhbGU9e3VzZXI/Lmxhbmd1YWdlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdMb2NhbGVEYXRhLCBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBwYXNzIHRoZSBsYW5ndWFnZSBhcyBsb25nIGFzIHRoZSBsb2NhbGUgZGF0YVxuICAgICAgICAgICAgICAgICAgLy8gaXMgbm90IGxvYWRlZC5cbiAgICAgICAgICAgICAgICAgIHsuLi4oaXNMb2FkaW5nTG9jYWxlRGF0YSA/IHt9IDogeyBsb2NhbGUsIG1lc3NhZ2VzIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTZXR1cEZsb3BGbGlwUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgIGxkQ2xpZW50U2lkZUlkPXthcHBsaWNhdGlvbkVudmlyb25tZW50LmxkQ2xpZW50U2lkZUlkfVxuICAgICAgICAgICAgICAgICAgICBmbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsvKiBUaGlzIGlzIGEgdGVtcG9yYXJ5IGNvbnRhaW5lci4gSXQgd2lsbCBiZSByZW1vdmVkIG9uY2UgdGhlIG5ldyBuYXZpZ2F0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gKi99XG4gICAgICAgICAgICAgICAgICAgIDxOZXdNYWluTmF2aWdhdGlvbkZsYWdXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHksXG4gICAgICAgICAgICAgICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGhlbWVTd2l0Y2hlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWZXJzaW9uVHJhY2tlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBOT1RFOiB0aGUgcmVxdWVzdHMgaW4gZmxpZ2h0IGxvYWRlciB3aWxsIHJlbmRlciBhIGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGlubmVyIGludG8gdGhlIEFwcEJhci4gKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VudHJ5VXNlclRyYWNrZXIgdXNlcj17dXNlciA/PyB1bmRlZmluZWR9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAke0RJTUVOU0lPTlMuaGVhZGVyfSAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgMWZyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17bm90aWZpY2F0aW9uc0dsb2JhbFJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJhYm92ZS10b3AtbmF2aWdhdGlvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuR0xPQkFMfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2plY3RLZXlGcm9tVXJsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBpc1Byb2plY3RMb2FkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9qZWN0TG9hZGluZyB8fCAhcHJvamVjdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiB1c2VkIG91dHNpZGUgb2YgYSBwcm9qZWN0IGNvbnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3Igd2hlbiB0aGUgcHJvamVjdCBpcyBleHBpcmVkIG9yIHN1cHNlbmRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNob3VsZFVzZVByb2plY3RDb250ZXh0ID0gIShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9qZWN0LnN1c3BlbnNpb24gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3QuZXhwaXJ5ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QuZXhwaXJ5LmlzQWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXNob3VsZFVzZVByb2plY3RDb250ZXh0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdERhdGFMb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlcz17cHJvamVjdC5sYW5ndWFnZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZTogZGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0RGF0YUxvY2FsZT17ZGF0YUxvY2FsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25FbnZpcm9ubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxRdWlja0FjY2Vzc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZVByb2plY3REYXRhTG9jYWxlPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1Byb2plY3REYXRhTG9jYWxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZldGNoUHJvamVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6ICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnMi8zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnMid9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJzIvMydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzEvMyd9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwQmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybD17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hlYWRlcj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzaWRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCA9PT0gZmFsc2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCA9PT0gdHJ1ZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBncmlkLWNvbHVtbjogMS8yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDIvNDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIDxOYXZCYXI+IHNob3VsZCBvbmx5IGJlIHJlbmRlcmVkIHdpdGhpbiBhIHByb2plY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb250ZXh0LCB0aGVyZWZvcmUgd2hlbiB0aGVyZSBpcyBhIGBwcm9qZWN0S2V5YC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBgcHJvamVjdEtleWAgaW4gdGhlIFVSTCAoZS5nLiBgL2FjY291bnRgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcm91dGVzKSwgd2UgZG9uJ3QgcmVuZGVyIGl0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IHdlIGFsc28gXCJjYWNoZVwiIHRoZSBgcHJvamVjdEtleWAgaW4gbG9jYWxTdG9yYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYnV0IHRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCB0byBcInJlLWh5ZHJhdGVcIiB0aGUgVVJMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbG9jYXRpb24gKGUuZyB3aGVuIHlvdSBnbyB0byBgL2AsIHRoZXJlIHNob3VsZCBiZSBhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVkaXJlY3QgdG8gYC86cHJvamVjdEtleWApLiBUaGVyZWZvcmUsIHdlIHNob3VsZCBub3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWx5IG9uIHRoZSB2YWx1ZSBpbiBsb2NhbFN0b3JhZ2UgdG8gZGV0ZXJtaW5lIHdoaWNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYHByb2plY3RLZXlgIGlzIGN1cnJlbnRseSB1c2VkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvamVjdEtleUZyb21VcmwpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmV0Y2hQcm9qZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmc6IGlzTG9hZGluZ1Byb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzTG9hZGluZyA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdVc2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdMb2NhbGVEYXRhIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdQcm9qZWN0IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhbG9jYWxlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhcHJvamVjdDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IGRvIG5vdCBwYXNzIHRoZSBgcHJvamVjdGAgaW50byB0aGUgYXBwbGljYXRpb24gY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHBlcm1pc3Npb25zIGZvciB0aGUgTmF2YmFyIGFyZSByZXNvbHZlZCBzZXBhcmF0ZWx5LCB3aXRoaW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYSBkaWZmZXJlbnQgUmVhY3QgY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5hdkJhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdD17cHJvamVjdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkVudmlyb25tZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbk1lbnVJdGVtQ2xpY2tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHk9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZEV2YWx1YXRpb25SZWFkeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmV0Y2hQcm9qZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzaWRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nVXNlciB8fCBpc0xvYWRpbmdMb2NhbGVEYXRhID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFpbkNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwibWFpblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Mb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9NYWluQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1haW5Db250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cIm1haW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiByZWY9e25vdGlmaWNhdGlvbnNQYWdlUmVmfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuUEFHRX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLlNJREV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgYmVjYXVzZSB3ZSBoYXZlIGFuIGludGVybWVkaWFyeSA8ZGl2PiB3cmFwcGluZyB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXc+IGNvbXBvbmVudCB0aGF0IGlzIHVzZWQgdG8gd3JhcCBldmVyeSBjb250ZW50LXZpZXcuIFRoaXMgaW50ZXJtZWRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+IGlzIHNvbGVseSB1c2VkIGZvciBhZGRpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIGNvbnRlbnQtdmlldy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSG93ZXZlciwgdGhpcyBjb3VsZCBiZSBkb25lIGJ5IHBhc3NpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIDxWaWV3PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbGV0IGl0IGRvIHRoZSBsYXlvdXQsIHNvIHdlIGNhbiBhdm9pZCBsYXlpbmcgb3VyIGZyb20gdGhlIG91dHNpZGUgYXMgd2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gaGVyZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gKjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQb3J0YWxzQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtsYXlvdXRSZWZzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRUb3A9e0RJTUVOU0lPTlMuaGVhZGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRMZWZ0PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBESU1FTlNJT05TLm5hdk1lbnVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzBweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRMZWZ0T25FeHBhbmRlZE1lbnU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXlGcm9tVXJsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IERJTUVOU0lPTlMubmF2TWVudUV4cGFuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcwcHgnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVkaXJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tPVwiL3Byb2ZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPVwiL2FjY291bnQvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2FjY291bnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGByZW5kZXJgIGZ1bmN0aW9uLCB3ZSBhc3N1bWUgaXQncyBvbmUgb2YgdHdvIGNhc2VzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogMS4gVGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IHVzZSBgY2hpbGRyZW5gIGFuZCB0aGVyZWZvcmUgaW1wbGVtZW50cyB0aGUgcm91dGVzIGluY2x1ZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogdGhlIDxSb3V0ZUNhdGNoQWxsPiAodGhpcyBpcyB0aGUgXCJsZWdhY3lcIiBiZWhhdmlvcikuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAyLiBJdCdzIHRoZSBhY2NvdW50IGFwcGxpY2F0aW9uLCB3aGljaCBhbHdheXMgdXNlcyBgcmVuZGVyYCBhbmQgdGhlcmVmb3JlIHNob3VsZCByZW5kZXIgYXMgbm9ybWFsLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGBjaGlsZHJlbmAgZnVuY3Rpb24sIHdlIGNhbiBhbHdheXMgYXNzdW1lIHRoYXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIGl0J3MgYSBub3JtYWwgQ3VzdG9tIEFwcGxpY2F0aW9uIGFuZCB0aGF0IGl0IHNob3VsZCB0cmlnZ2VyIGEgZm9yY2UgcmVsb2FkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5yZW5kZXIgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+e3Byb3BzLnJlbmRlcigpfTwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlQ2F0Y2hBbGwgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBQcm9qZWN0IHJvdXRlcyAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlIGV4YWN0PXt0cnVlfSBwYXRoPVwiL1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNQcm9qZWN0S2V5ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UHJldmlvdXNQcm9qZWN0S2V5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI/LmRlZmF1bHRQcm9qZWN0S2V5ID8/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBOT1RFOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciBoYXMgbm90IGJlZW4gbG9hZGVkIGEgbG9hZGluZyBzcGlubmVyIGlzIHNob3duLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciB3YXMgbm90IHdvcmtpbmcgb24gYSBwcm9qZWN0IHByZXZpb3VzbHkgbm9yIGhhcyBhIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvamVjdCwgdGhlIHVzZXIgd2lsbCBiZSBwcm9tcHRlZCB0byBjcmVhdGUgb25lLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciB3YXMgd29ya2luZyBvbiBhIHByb2plY3QgcHJldmlvdXNseSBvciBoYXMgYSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHByb2plY3QsIHRoZSBhcHBsaWNhdGlvbiB3aWxsIHJlZGlyZWN0IHRvIHRoYXQgcHJvamVjdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF1c2VyKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPEFwcGxpY2F0aW9uTG9hZGVyIC8+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcmV2aW91c1Byb2plY3RLZXkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVkaXJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bz17YC8ke3ByZXZpb3VzUHJvamVjdEtleX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1JvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGUgZXhhY3Q9e2ZhbHNlfSBwYXRoPVwiLzpwcm9qZWN0S2V5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2plY3RDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVSb3V0ZVBlcm1pc3Npb25DaGVjaz17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLmRpc2FibGVSb3V0ZVBlcm1pc3Npb25DaGVja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBlZmZlY3RpdmVseSByZW5kZXJzIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2hpbGRyZW4sIHdoaWNoIGlzIHRoZSBhcHBsaWNhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3BlY2lmaWMgcGFydFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcy5yZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJvamVjdENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L01haW5Db250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9OZXdNYWluTmF2aWdhdGlvbkZsYWdXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgPC9TZXR1cEZsb3BGbGlwUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0FzeW5jTG9jYWxlRGF0YT5cbiAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICApO1xuICAgICAgfX1cbiAgICA8L0ZldGNoVXNlcj5cbiAgKTtcbn07XG5BcHBsaWNhdGlvblNoZWxsQXV0aGVudGljYXRlZC5kaXNwbGF5TmFtZSA9ICdBcHBsaWNhdGlvblNoZWxsQXV0aGVudGljYXRlZCc7XG5cbmV4cG9ydCBkZWZhdWx0IEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkO1xuIl19 */"),
|
|
1166
|
+
css: /*#__PURE__*/css(isNewNavigationEnabled === false && "position: relative;\n grid-row: 3;\n display: flex;\n flex-direction: column;", " ", isNewNavigationEnabled === true && "grid-column: 1/2;\n grid-row: 2/4;\n overflow: hidden;", ";" + (process.env.NODE_ENV === "production" ? "" : ";label:ApplicationShellAuthenticated;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLWF1dGhlbnRpY2F0ZWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVVd0MiLCJmaWxlIjoiYXBwbGljYXRpb24tc2hlbGwtYXV0aGVudGljYXRlZC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWZPYmplY3QsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG4gIHVzZVJlZixcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHR5cGUgeyBBcG9sbG9FcnJvciB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2Vycm9ycyc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgeyBSZWRpcmVjdCwgUm91dGUsIFN3aXRjaCwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFBvcnRhbHNDb250YWluZXIgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG4gIHR5cGUgVEFwcGxpY2F0aW9uQ29udGV4dCxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHsgQXN5bmNMb2NhbGVEYXRhIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvaTE4bic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zTGlzdCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3JlYWN0LW5vdGlmaWNhdGlvbnMnO1xuaW1wb3J0IHtcbiAgcmVwb3J0RXJyb3JUb1NlbnRyeSxcbiAgU2VudHJ5VXNlclRyYWNrZXIsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3NlbnRyeSc7XG5pbXBvcnQgeyBESU1FTlNJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsLCBnZXRQcmV2aW91c1Byb2plY3RLZXkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgQXBwQmFyIGZyb20gJy4uL2FwcC1iYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IENvbmZpZ3VyZUludGxQcm92aWRlciBmcm9tICcuLi9jb25maWd1cmUtaW50bC1wcm92aWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBGZXRjaFVzZXIgZnJvbSAnLi4vZmV0Y2gtdXNlcic7XG5pbXBvcnQgTmF2QmFyIGZyb20gJy4uL25hdmJhcic7XG5pbXBvcnQgUHJvamVjdENvbnRhaW5lciBmcm9tICcuLi9wcm9qZWN0LWNvbnRhaW5lcic7XG5pbXBvcnQgUHJvamVjdERhdGFMb2NhbGUgZnJvbSAnLi4vcHJvamVjdC1kYXRhLWxvY2FsZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9nb3V0IGZyb20gJy4uL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5pbXBvcnQgUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgZnJvbSAnLi4vcmVkaXJlY3QtdG8tcHJvamVjdC1jcmVhdGUnO1xuaW1wb3J0IFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgZnJvbSAnLi4vcmVxdWVzdHMtaW4tZmxpZ2h0LWxvYWRlcic7XG5pbXBvcnQgUm91dGVDYXRjaEFsbCBmcm9tICcuLi9yb3V0ZS1jYXRjaC1hbGwnO1xuaW1wb3J0IFNldHVwRmxvcEZsaXBQcm92aWRlciBmcm9tICcuLi9zZXR1cC1mbG9wLWZsaXAtcHJvdmlkZXInO1xuaW1wb3J0IFRoZW1lU3dpdGNoZXIgZnJvbSAnLi4vdGhlbWUtc3dpdGNoZXInO1xuaW1wb3J0IFZlcnNpb25UcmFja2VyIGZyb20gJy4uL3ZlcnNpb24tdHJhY2tlcic7XG5pbXBvcnQgTmV3TWFpbk5hdmlnYXRpb25GbGFnV3JhcHBlciBmcm9tICcuL25ldy1tYWluLW5hdmlnYXRpb24tZmxhZy13cmFwcGVyJztcblxudHlwZSBUQXBwbGljYXRpb25TaGVsbEF1dGhlbnRpY2F0aW9uUHJvcHMgPSB7XG4gIGZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgZGVmYXVsdEZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uTWVudUl0ZW1DbGljaz86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICBkaXNhYmxlUm91dGVQZXJtaXNzaW9uQ2hlY2s/OiBib29sZWFuO1xuICByZW5kZXI/OiAoKSA9PiBKU1guRWxlbWVudDtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG50eXBlIE1haW5Db250YWluZXJQcm9wcyA9IHtcbiAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEhhc1VuYXV0aG9yaXplZEVycm9yID0gKGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ10pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5leHRlbnNpb25zICYmXG4gICAgICBncWxFcnJvci5leHRlbnNpb25zLmNvZGUgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSA9PT0gJ1VOQVVUSEVOVElDQVRFRCdcbiAgKTtcbmNvbnN0IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gKFxuICBncmFwaFFMRXJyb3JzOiBBcG9sbG9FcnJvclsnZ3JhcGhRTEVycm9ycyddXG4pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5tZXNzYWdlICYmXG4gICAgICAvLyBOT1RFOiBUaGUgQ1RQIEFQSSBkb2VzIG5vdCBwcm92aWRlIGFuIGVycm9yIGNvZGUgaW4gdGhpcyBjYXNlLlxuICAgICAgZ3FsRXJyb3IubWVzc2FnZS5pbmNsdWRlcygnd2FzIG5vdCBmb3VuZC4nKVxuICApO1xuXG5leHBvcnQgY29uc3QgTWFpbkNvbnRhaW5lciA9IHN0eWxlZC5tYWluPE1haW5Db250YWluZXJQcm9wcz5gXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgID8gYFxuICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgICAgICBncmlkLXJvdzogMy80O1xuICAgICAgYFxuICAgICAgOiBgXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgIGB9O1xuXG4gIC8qXG4gICAgQWxsb3cgdGhlIHRoaXMgZmxleCBjaGlsZCB0byBncm93IHNtYWxsZXIgdGhhbiBpdHMgc21hbGxlc3QgY29udGVudC5cbiAgICBUaGlzIGlzIG5lZWRlZCB3aGVuIHRoZXJlIGlzIGEgcmVhbGx5IHdpZGUgdGV4dCBpbnNpZGUgdGhhdCB3b3VsZCBzdHJldGNoXG4gICAgdGhpcyBub2RlIHRvIGJlIHdpZGVyIHRoYW4gdGhlIHBhcmVudC5cbiAgKi9cbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAvKlxuICAgIGxheW91dCB0aGUgY2hpbGRyZW4uIFRoZXJlIHdpbGwgYWx3YXlzIGJlIHRoZSBwYWdlIGFuZCBzaWRlIG5vdGlmaWNhdGlvblxuICAgIGFib3V0IHRoZSBhY3R1YWwgY29udGVudC4gVGhlIGNvbnRlbnQgc2hvdWxkIHN0cmV0Y2ggdG8gZmlsbCB0aGUgcmVzdCBvZlxuICAgIHRoZSBwYWdlLlxuICAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8qXG4gICAgc2V0IHBvc2l0aW9uIHRvIHJlbGF0aXZlIHRvIGxheW91dCBub3RpZmljYXRpb25zIGFuZCBtb2RhbHNcbiAgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuZXhwb3J0IGNvbnN0IEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkID0gKFxuICBwcm9wczogVEFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGlvblByb3BzXG4pID0+IHtcbiAgY29uc3QgYXBwbGljYXRpb25FbnZpcm9ubWVudCA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dChcbiAgICAoY29udGV4dCkgPT4gY29udGV4dC5lbnZpcm9ubWVudFxuICApIGFzIFRBcHBsaWNhdGlvbkNvbnRleHQ8e30+WydlbnZpcm9ubWVudCddO1xuICAvLyBUT0RPOiB1c2luZyB0aGlzIGhvb2sgd2lsbCBzdWJzY3JpYmUgdGhlIGNvbXBvbmVudCB0byByb3V0ZSB1cGRhdGVzLlxuICAvLyBUaGlzIGlzIGN1cnJlbnRseSB1c2VmdWwgZm9yIGRldGVjdGluZyBhIGNoYW5nZSBpbiB0aGUgcHJvamVjdCBrZXlcbiAgLy8gZnJvbSBVUkwgKFwiL1wiIC0tPiBcIi86cHJvamVjdEtleVwiKS5cbiAgLy8gSG93ZXZlciwgZXZlcnkgcm91dGUgY2hhbmdlIHdpbGwgdHJpZ2dlciBhIHJlLXJlbmRlci4gVGhpcyBpcyBwcm9iYWJseVxuICAvLyBvay1pc2ggYnV0IHdlIG1pZ2h0IHdhbnQgdG8gbG9vayBpbnRvIGEgbW9yZSBwZXJmb3JtYW50IHNvbHV0aW9uLlxuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgY29uc3Qgbm90aWZpY2F0aW9uc0dsb2JhbFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IG5vdGlmaWNhdGlvbnNQYWdlUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgbGF5b3V0UmVmcyA9IHVzZVJlZjx7XG4gICAgbm90aWZpY2F0aW9uc0dsb2JhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgICBub3RpZmljYXRpb25zUGFnZVJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgfT4oe1xuICAgIG5vdGlmaWNhdGlvbnNHbG9iYWxSZWYsXG4gICAgbm90aWZpY2F0aW9uc1BhZ2VSZWYsXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPEZldGNoVXNlcj5cbiAgICAgIHsoeyBpc0xvYWRpbmc6IGlzTG9hZGluZ1VzZXIsIHVzZXIsIGVycm9yIH0pID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgLy8gSW4gY2FzZSB0aGVyZSBpcyBhbiB1bmF1dGhvcml6ZWQgZXJyb3IsIHdlIHJlZGlyZWN0IHRvIHRoZSBsb2dpbiBwYWdlXG4gICAgICAgICAgaWYgKGVycm9yLmdyYXBoUUxFcnJvcnMgJiYgQXJyYXkuaXNBcnJheShlcnJvci5ncmFwaFFMRXJyb3JzKSkge1xuICAgICAgICAgICAgY29uc3QgaGFzVW5hdXRob3JpemVkRXJyb3IgPSBnZXRIYXNVbmF1dGhvcml6ZWRFcnJvcihcbiAgICAgICAgICAgICAgZXJyb3IuZ3JhcGhRTEVycm9yc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvciB8fCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcikge1xuICAgICAgICAgICAgICBsZXQgbG9nb3V0UmVhc29uOlxuICAgICAgICAgICAgICAgIHwgKHR5cGVvZiBMT0dPVVRfUkVBU09OUylba2V5b2YgdHlwZW9mIExPR09VVF9SRUFTT05TXVxuICAgICAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IpXG4gICAgICAgICAgICAgICAgbG9nb3V0UmVhc29uID0gTE9HT1VUX1JFQVNPTlMuVU5BVVRIT1JJWkVEO1xuICAgICAgICAgICAgICBlbHNlIGlmIChoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5ERUxFVEVEO1xuICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dvdXQgcmVhc29uPXtsb2dvdXRSZWFzb259IC8+O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBTaW5jZSB3ZSBkbyBub3Qga25vdyB0aGUgbG9jYWxlIG9mIHRoZSB1c2VyLCB3ZSBwaWNrIGl0IGZyb20gdGhlXG4gICAgICAgICAgLy8gdXNlcidzIGJyb3dzZXIgdG8gYXR0ZW1wdCB0byBtYXRjaCB0aGUgbGFuZ3VhZ2UgZm9yIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9ucy5cbiAgICAgICAgICBjb25zdCB1c2VyTG9jYWxlID0gZ2V0QnJvd3NlckxvY2FsZSh3aW5kb3cpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlckxvY2FsZX1cbiAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgeyh7IGxvY2FsZSwgbWVzc2FnZXMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlcG9ydEVycm9yVG9TZW50cnkoZXJyb3IsIHt9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPENvbmZpZ3VyZUludGxQcm92aWRlciBsb2NhbGU9e2xvY2FsZX0gbWVzc2FnZXM9e21lc3NhZ2VzfT5cbiAgICAgICAgICAgICAgICAgICAgPEVycm9yQXBvbG9naXplciAvPlxuICAgICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcm9qZWN0S2V5RnJvbVVybCA9IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsKGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXJcbiAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7LypcbiAgICAgICAgICAgIE5PVEU6IHdlIGRvIG5vdCB3YW50IHRvIGxvYWQgdGhlIGxvY2FsZSBkYXRhIGFzIGxvbmcgYXMgd2UgZG8gbm90XG4gICAgICAgICAgICBrbm93IHRoZSB1c2VyIHNldHRpbmcuIFRoaXMgaXMgaW1wb3J0YW50IGluIG9yZGVyIHRvIGF2b2lkIGZsYXNoaW5nXG4gICAgICAgICAgICBvZiB0cmFuc2xhdGVkIGNvbnRlbnQgb24gc3Vic2VxdWVudCByZS1yZW5kZXJzLlxuICAgICAgICAgICAgVGhlcmVmb3JlLCBhcyBsb25nIGFzIHRoZXJlIGlzIG5vIGxvY2FsZSwgdGhlIGNoaWxkcmVuIHNob3VsZCBjb25zaWRlciB1c2luZyB0aGVcbiAgICAgICAgICAgIGBpc0xvYWRpbmdgIHByb3AgdG8gZGVjaWRlIHdoYXQgdG8gcmVuZGVyLlxuICAgICAgICAgICovfVxuICAgICAgICAgICAgPEFzeW5jTG9jYWxlRGF0YVxuICAgICAgICAgICAgICBsb2NhbGU9e3VzZXI/Lmxhbmd1YWdlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdMb2NhbGVEYXRhLCBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBwYXNzIHRoZSBsYW5ndWFnZSBhcyBsb25nIGFzIHRoZSBsb2NhbGUgZGF0YVxuICAgICAgICAgICAgICAgICAgLy8gaXMgbm90IGxvYWRlZC5cbiAgICAgICAgICAgICAgICAgIHsuLi4oaXNMb2FkaW5nTG9jYWxlRGF0YSA/IHt9IDogeyBsb2NhbGUsIG1lc3NhZ2VzIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTZXR1cEZsb3BGbGlwUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgIGxkQ2xpZW50U2lkZUlkPXthcHBsaWNhdGlvbkVudmlyb25tZW50LmxkQ2xpZW50U2lkZUlkfVxuICAgICAgICAgICAgICAgICAgICBmbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsvKiBUaGlzIGlzIGEgdGVtcG9yYXJ5IGNvbnRhaW5lci4gSXQgd2lsbCBiZSByZW1vdmVkIG9uY2UgdGhlIG5ldyBuYXZpZ2F0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gKi99XG4gICAgICAgICAgICAgICAgICAgIDxOZXdNYWluTmF2aWdhdGlvbkZsYWdXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHksXG4gICAgICAgICAgICAgICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGhlbWVTd2l0Y2hlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWZXJzaW9uVHJhY2tlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBOT1RFOiB0aGUgcmVxdWVzdHMgaW4gZmxpZ2h0IGxvYWRlciB3aWxsIHJlbmRlciBhIGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGlubmVyIGludG8gdGhlIEFwcEJhci4gKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VudHJ5VXNlclRyYWNrZXIgdXNlcj17dXNlciA/PyB1bmRlZmluZWR9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAke0RJTUVOU0lPTlMuaGVhZGVyfSAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgMWZyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17bm90aWZpY2F0aW9uc0dsb2JhbFJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJhYm92ZS10b3AtbmF2aWdhdGlvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuR0xPQkFMfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2plY3RLZXlGcm9tVXJsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBpc1Byb2plY3RMb2FkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9qZWN0TG9hZGluZyB8fCAhcHJvamVjdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiB1c2VkIG91dHNpZGUgb2YgYSBwcm9qZWN0IGNvbnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3Igd2hlbiB0aGUgcHJvamVjdCBpcyBleHBpcmVkIG9yIHN1cHNlbmRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNob3VsZFVzZVByb2plY3RDb250ZXh0ID0gIShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9qZWN0LnN1c3BlbnNpb24gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3QuZXhwaXJ5ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QuZXhwaXJ5LmlzQWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXNob3VsZFVzZVByb2plY3RDb250ZXh0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdERhdGFMb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlcz17cHJvamVjdC5sYW5ndWFnZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZTogZGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0RGF0YUxvY2FsZT17ZGF0YUxvY2FsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25FbnZpcm9ubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxRdWlja0FjY2Vzc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZVByb2plY3REYXRhTG9jYWxlPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1Byb2plY3REYXRhTG9jYWxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZldGNoUHJvamVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6ICR7aXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnMi8zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnMid9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJzIvMydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzEvMyd9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwQmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybD17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc2lkZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWQgPT09IGZhbHNlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2lzTmV3TmF2aWdhdGlvbkVuYWJsZWQgPT09IHRydWUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZ3JpZC1jb2x1bW46IDEvMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyLzQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO2B9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSA8TmF2QmFyPiBzaG91bGQgb25seSBiZSByZW5kZXJlZCB3aXRoaW4gYSBwcm9qZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29udGV4dCwgdGhlcmVmb3JlIHdoZW4gdGhlcmUgaXMgYSBgcHJvamVjdEtleWAuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gYHByb2plY3RLZXlgIGluIHRoZSBVUkwgKGUuZy4gYC9hY2NvdW50YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJvdXRlcyksIHdlIGRvbid0IHJlbmRlciBpdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiB3ZSBhbHNvIFwiY2FjaGVcIiB0aGUgYHByb2plY3RLZXlgIGluIGxvY2FsU3RvcmFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJ1dCB0aGlzIHNob3VsZCBvbmx5IGJlIHVzZWQgdG8gXCJyZS1oeWRyYXRlXCIgdGhlIFVSTFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxvY2F0aW9uIChlLmcgd2hlbiB5b3UgZ28gdG8gYC9gLCB0aGVyZSBzaG91bGQgYmUgYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlZGlyZWN0IHRvIGAvOnByb2plY3RLZXlgKS4gVGhlcmVmb3JlLCB3ZSBzaG91bGQgbm90XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVseSBvbiB0aGUgdmFsdWUgaW4gbG9jYWxTdG9yYWdlIHRvIGRldGVybWluZSB3aGljaFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGBwcm9qZWN0S2V5YCBpcyBjdXJyZW50bHkgdXNlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2plY3RLZXlGcm9tVXJsKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBpc0xvYWRpbmdQcm9qZWN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0xvYWRpbmcgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nVXNlciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nTG9jYWxlRGF0YSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nUHJvamVjdCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWxvY2FsZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXByb2plY3Q7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiBkbyBub3QgcGFzcyB0aGUgYHByb2plY3RgIGludG8gdGhlIGFwcGxpY2F0aW9uIGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwZXJtaXNzaW9ucyBmb3IgdGhlIE5hdmJhciBhcmUgcmVzb2x2ZWQgc2VwYXJhdGVseSwgd2l0aGluXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGEgZGlmZmVyZW50IFJlYWN0IGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOYXZCYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25FbnZpcm9ubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1lbnVJdGVtQ2xpY2s9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMub25NZW51SXRlbUNsaWNrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZz17aXNMb2FkaW5nfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkRXZhbHVhdGlvblJlYWR5PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRFdmFsdWF0aW9uUmVhZHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZldGNoUHJvamVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc2lkZT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzTG9hZGluZ1VzZXIgfHwgaXNMb2FkaW5nTG9jYWxlRGF0YSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1haW5Db250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3TmF2aWdhdGlvbkVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cIm1haW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uTG9hZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYWluQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05ld05hdmlnYXRpb25FbmFibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJtYWluXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgcmVmPXtub3RpZmljYXRpb25zUGFnZVJlZn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLlBBR0V9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0IGRvbWFpbj17RE9NQUlOUy5TSURFfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIG9ubHkgbmVjZXNzYXJ5IGJlY2F1c2Ugd2UgaGF2ZSBhbiBpbnRlcm1lZGlhcnkgPGRpdj4gd3JhcHBpbmcgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWaWV3PiBjb21wb25lbnQgdGhhdCBpcyB1c2VkIHRvIHdyYXAgZXZlcnkgY29udGVudC12aWV3LiBUaGlzIGludGVybWVkaWFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PiBpcyBzb2xlbHkgdXNlZCBmb3IgYWRkaW5nIHRoZSB0cmFja2luZyBjb250ZXh0IHRvIHRoZSBjb250ZW50LXZpZXcuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhvd2V2ZXIsIHRoaXMgY291bGQgYmUgZG9uZSBieSBwYXNzaW5nIHRoZSB0cmFja2luZyBjb250ZXh0IHRvIHRoZSA8Vmlldz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGxldCBpdCBkbyB0aGUgbGF5b3V0LCBzbyB3ZSBjYW4gYXZvaWQgbGF5aW5nIG91ciBmcm9tIHRoZSBvdXRzaWRlIGFzIHdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvIGhlcmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+ICo6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UG9ydGFsc0NvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17bGF5b3V0UmVmc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0VG9wPXtESU1FTlNJT05TLmhlYWRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0TGVmdD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleUZyb21VcmxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IERJTUVOU0lPTlMubmV3TmF2TWVudVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IERJTUVOU0lPTlMubmF2TWVudVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnMHB4J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldExlZnRPbkV4cGFuZGVkTWVudT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleUZyb21VcmxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNOZXdOYXZpZ2F0aW9uRW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IERJTUVOU0lPTlMubmV3TmF2TWVudUV4cGFuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogRElNRU5TSU9OUy5uYXZNZW51RXhwYW5kZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJzBweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb209XCIvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG89XCIvYWNjb3VudC9wcm9maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvYWNjb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYHJlbmRlcmAgZnVuY3Rpb24sIHdlIGFzc3VtZSBpdCdzIG9uZSBvZiB0d28gY2FzZXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAxLiBUaGUgYXBwbGljYXRpb24gZG9lcyBub3QgdXNlIGBjaGlsZHJlbmAgYW5kIHRoZXJlZm9yZSBpbXBsZW1lbnRzIHRoZSByb3V0ZXMgaW5jbHVkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiB0aGUgPFJvdXRlQ2F0Y2hBbGw+ICh0aGlzIGlzIHRoZSBcImxlZ2FjeVwiIGJlaGF2aW9yKS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIDIuIEl0J3MgdGhlIGFjY291bnQgYXBwbGljYXRpb24sIHdoaWNoIGFsd2F5cyB1c2VzIGByZW5kZXJgIGFuZCB0aGVyZWZvcmUgc2hvdWxkIHJlbmRlciBhcyBub3JtYWwuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYGNoaWxkcmVuYCBmdW5jdGlvbiwgd2UgY2FuIGFsd2F5cyBhc3N1bWUgdGhhdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogaXQncyBhIG5vcm1hbCBDdXN0b20gQXBwbGljYXRpb24gYW5kIHRoYXQgaXQgc2hvdWxkIHRyaWdnZXIgYSBmb3JjZSByZWxvYWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLnJlbmRlciA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD57cHJvcHMucmVuZGVyKCl9PC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVDYXRjaEFsbCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey8qIFByb2plY3Qgcm91dGVzICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGUgZXhhY3Q9e3RydWV9IHBhdGg9XCIvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1Byb2plY3RLZXkgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRQcmV2aW91c1Byb2plY3RLZXkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj8uZGVmYXVsdFByb2plY3RLZXkgPz9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIE5PVEU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIGhhcyBub3QgYmVlbiBsb2FkZWQgYSBsb2FkaW5nIHNwaW5uZXIgaXMgc2hvd24uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyBub3Qgd29ya2luZyBvbiBhIHByb2plY3QgcHJldmlvdXNseSBub3IgaGFzIGEgZGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9qZWN0LCB0aGUgdXNlciB3aWxsIGJlIHByb21wdGVkIHRvIGNyZWF0ZSBvbmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyB3b3JraW5nIG9uIGEgcHJvamVjdCBwcmV2aW91c2x5IG9yIGhhcyBhIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvamVjdCwgdGhlIGFwcGxpY2F0aW9uIHdpbGwgcmVkaXJlY3QgdG8gdGhhdCBwcm9qZWN0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXVzZXIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8QXBwbGljYXRpb25Mb2FkZXIgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByZXZpb3VzUHJvamVjdEtleSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPXtgLyR7cHJldmlvdXNQcm9qZWN0S2V5fWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZSBleGFjdD17ZmFsc2V9IHBhdGg9XCIvOnByb2plY3RLZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdENvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVJvdXRlUGVybWlzc2lvbkNoZWNrPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMuZGlzYWJsZVJvdXRlUGVybWlzc2lvbkNoZWNrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGVmZmVjdGl2ZWx5IHJlbmRlcnMgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjaGlsZHJlbiwgd2hpY2ggaXMgdGhlIGFwcGxpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzcGVjaWZpYyBwYXJ0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzLnJlbmRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Qcm9qZWN0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1JvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L05ld01haW5OYXZpZ2F0aW9uRmxhZ1dyYXBwZXI+XG4gICAgICAgICAgICAgICAgICA8L1NldHVwRmxvcEZsaXBQcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvRmV0Y2hVc2VyPlxuICApO1xufTtcbkFwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkLmRpc3BsYXlOYW1lID0gJ0FwcGxpY2F0aW9uU2hlbGxBdXRoZW50aWNhdGVkJztcblxuZXhwb3J0IGRlZmF1bHQgQXBwbGljYXRpb25TaGVsbEF1dGhlbnRpY2F0ZWQ7XG4iXX0= */"),
|
|
1165
1167
|
children: (() => {
|
|
1166
1168
|
// The <NavBar> should only be rendered within a project
|
|
1167
1169
|
// context, therefore when there is a `projectKey`.
|
|
@@ -1222,8 +1224,8 @@ const ApplicationShellAuthenticated = props => {
|
|
|
1222
1224
|
, {
|
|
1223
1225
|
ref: layoutRefs,
|
|
1224
1226
|
offsetTop: DIMENSIONS.header,
|
|
1225
|
-
offsetLeft: projectKeyFromUrl ? DIMENSIONS.navMenu : '0px',
|
|
1226
|
-
offsetLeftOnExpandedMenu: projectKeyFromUrl ? DIMENSIONS.navMenuExpanded : '0px'
|
|
1227
|
+
offsetLeft: projectKeyFromUrl ? isNewNavigationEnabled ? DIMENSIONS.newNavMenu : DIMENSIONS.navMenu : '0px',
|
|
1228
|
+
offsetLeftOnExpandedMenu: projectKeyFromUrl ? isNewNavigationEnabled ? DIMENSIONS.newNavMenuExpanded : DIMENSIONS.navMenuExpanded : '0px'
|
|
1227
1229
|
}), jsxs(Switch, {
|
|
1228
1230
|
children: [jsx(Redirect, {
|
|
1229
1231
|
from: "/profile",
|
|
@@ -1246,8 +1248,7 @@ const ApplicationShellAuthenticated = props => {
|
|
|
1246
1248
|
}), jsx(Route, {
|
|
1247
1249
|
exact: true,
|
|
1248
1250
|
path: "/",
|
|
1249
|
-
children: (
|
|
1250
|
-
var _user$defaultProjectK;
|
|
1251
|
+
children: (_user$defaultProjectK => {
|
|
1251
1252
|
const previousProjectKey = getPreviousProjectKey((_user$defaultProjectK = user === null || user === void 0 ? void 0 : user.defaultProjectKey) !== null && _user$defaultProjectK !== void 0 ? _user$defaultProjectK : undefined);
|
|
1252
1253
|
|
|
1253
1254
|
/**
|
|
@@ -1339,8 +1340,8 @@ ApplicationPageTitle.propTypes = {
|
|
|
1339
1340
|
ApplicationPageTitle.displayName = 'ApplicationPageTitle';
|
|
1340
1341
|
ApplicationPageTitle.defaultProps = defaultProps$1;
|
|
1341
1342
|
|
|
1342
|
-
function ownKeys$4(
|
|
1343
|
-
function _objectSpread$4(
|
|
1343
|
+
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; }
|
|
1344
|
+
function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$4(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$4(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1344
1345
|
const SuspendedRoute = props => jsx(Route, _objectSpread$4(_objectSpread$4({}, props), {}, {
|
|
1345
1346
|
children: jsx(Suspense, {
|
|
1346
1347
|
fallback: jsx(LoadingSpinner, {}),
|
|
@@ -1419,28 +1420,28 @@ const withoutProjectKeyClaim = scope => {
|
|
|
1419
1420
|
return _filterInstanceProperty(_context = scope.split(' ')).call(_context, claim => !_startsWithInstanceProperty(claim).call(claim, OIDC_CLAIMS.PROJECT_KEY)).join(' ');
|
|
1420
1421
|
};
|
|
1421
1422
|
const hasCachedAuthenticationState = () => {
|
|
1422
|
-
var _window$app$__DEVELOP
|
|
1423
|
-
if ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP !== void 0 && (_window$app$
|
|
1423
|
+
var _window$app$__DEVELOP;
|
|
1424
|
+
if ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP !== void 0 && (_window$app$__DEVELOP = _window$app$__DEVELOP.oidc) !== null && _window$app$__DEVELOP !== void 0 && _window$app$__DEVELOP.authorizeUrl) {
|
|
1424
1425
|
try {
|
|
1425
|
-
var _window$app$
|
|
1426
|
+
var _window$app$__DEVELOP5, _window$app$__DEVELOP6, _window$app$__DEVELOP7, _window$app$__DEVELOP8;
|
|
1426
1427
|
const activeProjectKey = getActiveProjectKey();
|
|
1427
1428
|
if (activeProjectKey) {
|
|
1428
|
-
var _window$app$
|
|
1429
|
+
var _window$app$__DEVELOP2;
|
|
1429
1430
|
// GIVEN The application is not requesting a project key,
|
|
1430
1431
|
// THEN we assume that the application does not need a project context.
|
|
1431
1432
|
// GIVEN The application is not requesting a project key,
|
|
1432
1433
|
// THEN we remove the cached project key.
|
|
1433
1434
|
// This is the case of an application like `account`.
|
|
1434
|
-
if (!((_window$app$
|
|
1435
|
+
if (!((_window$app$__DEVELOP2 = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP2 !== void 0 && (_window$app$__DEVELOP2 = _window$app$__DEVELOP2.oidc) !== null && _window$app$__DEVELOP2 !== void 0 && _window$app$__DEVELOP2.initialProjectKey)) {
|
|
1435
1436
|
removeActiveProjectKey();
|
|
1436
1437
|
}
|
|
1437
1438
|
} else {
|
|
1438
|
-
var _window$app$
|
|
1439
|
-
if ((_window$app$
|
|
1440
|
-
var _window$app$
|
|
1439
|
+
var _window$app$__DEVELOP3;
|
|
1440
|
+
if ((_window$app$__DEVELOP3 = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP3 !== void 0 && (_window$app$__DEVELOP3 = _window$app$__DEVELOP3.oidc) !== null && _window$app$__DEVELOP3 !== void 0 && _window$app$__DEVELOP3.initialProjectKey) {
|
|
1441
|
+
var _window$app$__DEVELOP4;
|
|
1441
1442
|
// Here we store the initial project key in local storage,
|
|
1442
1443
|
// so that it gets picked up when we initiate the login flow.
|
|
1443
|
-
setActiveProjectKey((_window$app$
|
|
1444
|
+
setActiveProjectKey((_window$app$__DEVELOP4 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP4 === void 0 || (_window$app$__DEVELOP4 = _window$app$__DEVELOP4.oidc) === null || _window$app$__DEVELOP4 === void 0 ? void 0 : _window$app$__DEVELOP4.initialProjectKey);
|
|
1444
1445
|
}
|
|
1445
1446
|
}
|
|
1446
1447
|
|
|
@@ -1456,10 +1457,10 @@ const hasCachedAuthenticationState = () => {
|
|
|
1456
1457
|
// Rebuild the requested OIDC scope to verify that it didn't change.
|
|
1457
1458
|
const requestedScope = buildOidcScope({
|
|
1458
1459
|
projectKey: activeProjectKey !== null && activeProjectKey !== void 0 ? activeProjectKey : undefined,
|
|
1459
|
-
oAuthScopes: (_window$app$
|
|
1460
|
-
additionalOAuthScopes: (_window$app$
|
|
1461
|
-
teamId: (_window$app$
|
|
1462
|
-
applicationId: (_window$app$
|
|
1460
|
+
oAuthScopes: (_window$app$__DEVELOP5 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP5 === void 0 || (_window$app$__DEVELOP5 = _window$app$__DEVELOP5.oidc) === null || _window$app$__DEVELOP5 === void 0 ? void 0 : _window$app$__DEVELOP5.oAuthScopes,
|
|
1461
|
+
additionalOAuthScopes: (_window$app$__DEVELOP6 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP6 === void 0 || (_window$app$__DEVELOP6 = _window$app$__DEVELOP6.oidc) === null || _window$app$__DEVELOP6 === void 0 ? void 0 : _window$app$__DEVELOP6.additionalOAuthScopes,
|
|
1462
|
+
teamId: (_window$app$__DEVELOP7 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP7 === void 0 || (_window$app$__DEVELOP7 = _window$app$__DEVELOP7.oidc) === null || _window$app$__DEVELOP7 === void 0 ? void 0 : _window$app$__DEVELOP7.teamId,
|
|
1463
|
+
applicationId: (_window$app$__DEVELOP8 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP8 === void 0 || (_window$app$__DEVELOP8 = _window$app$__DEVELOP8.oidc) === null || _window$app$__DEVELOP8 === void 0 ? void 0 : _window$app$__DEVELOP8.applicationId
|
|
1463
1464
|
});
|
|
1464
1465
|
// Omit the project key from the check. This allows to switch projects
|
|
1465
1466
|
// without having to log in again.
|
|
@@ -1477,12 +1478,12 @@ const hasCachedAuthenticationState = () => {
|
|
|
1477
1478
|
return window.localStorage.getItem(STORAGE_KEYS.IS_AUTHENTICATED) === 'true';
|
|
1478
1479
|
};
|
|
1479
1480
|
|
|
1480
|
-
const OidcCallback = /*#__PURE__*/lazy(() => import('./oidc-callback-
|
|
1481
|
+
const OidcCallback = /*#__PURE__*/lazy(() => import('./oidc-callback-80314ba9.esm.js' /* webpackChunkName: "oidc-callback" */));
|
|
1481
1482
|
|
|
1482
|
-
function ownKeys$3(
|
|
1483
|
-
function _objectSpread$3(
|
|
1483
|
+
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; }
|
|
1484
|
+
function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$3(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$3(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1484
1485
|
const Authenticated = props => {
|
|
1485
|
-
var _window$app$__DEVELOP
|
|
1486
|
+
var _window$app$__DEVELOP;
|
|
1486
1487
|
// We attempt to see if the user was already authenticated by looking
|
|
1487
1488
|
// at the "cached" flag in local storage.
|
|
1488
1489
|
const cachedAuthenticationState = hasCachedAuthenticationState();
|
|
@@ -1496,7 +1497,7 @@ const Authenticated = props => {
|
|
|
1496
1497
|
|
|
1497
1498
|
// When using the OIDC workflow, we always return false, to trigger
|
|
1498
1499
|
// the redirect to the login page.
|
|
1499
|
-
if ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP !== void 0 && (_window$app$
|
|
1500
|
+
if ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP !== void 0 && (_window$app$__DEVELOP = _window$app$__DEVELOP.oidc) !== null && _window$app$__DEVELOP !== void 0 && _window$app$__DEVELOP.authorizeUrl) {
|
|
1500
1501
|
return jsx(Fragment, {
|
|
1501
1502
|
children: props.render({
|
|
1502
1503
|
isAuthenticated: false
|
|
@@ -1516,7 +1517,7 @@ const AuthenticationRoutes = props => jsxs(Switch, {
|
|
|
1516
1517
|
applicationMessages: props.applicationMessages
|
|
1517
1518
|
})
|
|
1518
1519
|
}), jsx(SuspendedRoute, {
|
|
1519
|
-
path: "/:projectKey/
|
|
1520
|
+
path: "/:projectKey/:identifier/oidc/callback",
|
|
1520
1521
|
children: jsx(OidcCallback, {
|
|
1521
1522
|
locale: props.locale,
|
|
1522
1523
|
applicationMessages: props.applicationMessages
|
|
@@ -1527,8 +1528,8 @@ const AuthenticationRoutes = props => jsxs(Switch, {
|
|
|
1527
1528
|
});
|
|
1528
1529
|
AuthenticationRoutes.displayName = 'AuthenticationRoutes';
|
|
1529
1530
|
|
|
1530
|
-
function ownKeys$2(
|
|
1531
|
-
function _objectSpread$2(
|
|
1531
|
+
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; }
|
|
1532
|
+
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context2 = ownKeys$2(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context3 = ownKeys$2(Object(t))).call(_context3, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1532
1533
|
/**
|
|
1533
1534
|
* NOTE:
|
|
1534
1535
|
* This function try-catches around a `JSON.parse` and return
|
|
@@ -1630,9 +1631,9 @@ ApplicationShellProvider.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
1630
1631
|
} : {};
|
|
1631
1632
|
ApplicationShellProvider.displayName = 'ApplicationShellProvider';
|
|
1632
1633
|
|
|
1633
|
-
const RedirectToLogin = /*#__PURE__*/lazy(() => import('./redirect-to-login-
|
|
1634
|
+
const RedirectToLogin = /*#__PURE__*/lazy(() => import('./redirect-to-login-6c90f034.esm.js' /* webpackChunkName: "redirect-to-login" */));
|
|
1634
1635
|
|
|
1635
|
-
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)."; }
|
|
1636
|
+
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)."; }
|
|
1636
1637
|
const styles = process.env.NODE_ENV === "production" ? {
|
|
1637
1638
|
name: "1prreal",
|
|
1638
1639
|
styles: "html,body{font-size:var(--font-size-for-body);height:100vh;}#app{height:100%;}"
|
|
@@ -1640,7 +1641,7 @@ const styles = process.env.NODE_ENV === "production" ? {
|
|
|
1640
1641
|
name: "6fkj0f-styles",
|
|
1641
1642
|
styles: "html,body{font-size:var(--font-size-for-body);height:100vh;}#app{height:100%;};label:styles;",
|
|
1642
1643
|
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdsb2JhbC1zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdrQiIsImZpbGUiOiJnbG9iYWwtc3R5bGVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbS9tYXRlcmlhbHMvcmVzZXRzLmNzcyc7XG5pbXBvcnQgeyBHbG9iYWwsIGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuY29uc3Qgc3R5bGVzID0gY3NzYFxuICBodG1sLFxuICBib2R5IHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1mb3ItYm9keSk7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxuXG4gICNhcHAge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuYDtcblxuY29uc3QgR2xvYmFsU3R5bGVzID0gKCkgPT4gPEdsb2JhbCBzdHlsZXM9e3N0eWxlc30gLz47XG5cbmV4cG9ydCBkZWZhdWx0IEdsb2JhbFN0eWxlcztcbiJdfQ== */",
|
|
1643
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
1644
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
|
|
1644
1645
|
};
|
|
1645
1646
|
const GlobalStyles = () => jsx(Global, {
|
|
1646
1647
|
styles: styles
|
|
@@ -1649,7 +1650,7 @@ const GlobalStyles = () => jsx(Global, {
|
|
|
1649
1650
|
const ApplicationShell = props => {
|
|
1650
1651
|
useEffect(() => {
|
|
1651
1652
|
var _props$onRegisterErro;
|
|
1652
|
-
(_props$onRegisterErro = props.onRegisterErrorListeners) === null || _props$onRegisterErro === void 0
|
|
1653
|
+
(_props$onRegisterErro = props.onRegisterErrorListeners) === null || _props$onRegisterErro === void 0 || _props$onRegisterErro.call(props, {
|
|
1653
1654
|
dispatch: internalReduxStore.dispatch
|
|
1654
1655
|
});
|
|
1655
1656
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -1698,62 +1699,151 @@ ApplicationShell.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
1698
1699
|
ApplicationShell.displayName = 'ApplicationShell';
|
|
1699
1700
|
ApplicationShell.version = applicationShellVersion;
|
|
1700
1701
|
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
return TCustomViewStatus;
|
|
1706
|
-
}({});
|
|
1707
|
-
let TCustomViewType = /*#__PURE__*/function (TCustomViewType) {
|
|
1708
|
-
TCustomViewType["CustomPanel"] = "CustomPanel";
|
|
1709
|
-
return TCustomViewType;
|
|
1710
|
-
}({});
|
|
1711
|
-
|
|
1712
|
-
const CustomViewContext = /*#__PURE__*/createContext({
|
|
1713
|
-
config: {
|
|
1714
|
-
id: '',
|
|
1715
|
-
defaultLabel: '',
|
|
1716
|
-
labelAllLocales: {},
|
|
1717
|
-
url: '',
|
|
1718
|
-
type: TCustomViewType.CustomPanel,
|
|
1719
|
-
locators: [],
|
|
1720
|
-
permissions: [],
|
|
1721
|
-
createdAt: '',
|
|
1722
|
-
installedBy: [],
|
|
1723
|
-
owner: {
|
|
1724
|
-
createdAt: '',
|
|
1725
|
-
id: '',
|
|
1726
|
-
organizationId: '',
|
|
1727
|
-
updatedAt: ''
|
|
1728
|
-
},
|
|
1729
|
-
ownerId: '',
|
|
1730
|
-
status: TCustomViewStatus.Draft,
|
|
1731
|
-
updatedAt: ''
|
|
1702
|
+
const messages = defineMessages({
|
|
1703
|
+
loadError: {
|
|
1704
|
+
id: 'CustomViewLoader.error.load',
|
|
1705
|
+
defaultMessage: 'We could not load the Custom View. Please contact your administrator to check its configuration.'
|
|
1732
1706
|
}
|
|
1733
1707
|
});
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1708
|
+
|
|
1709
|
+
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)."; }
|
|
1710
|
+
const isIframeReady = iFrameElementRef => {
|
|
1711
|
+
try {
|
|
1712
|
+
var _iFrameElementRef$con;
|
|
1713
|
+
return (iFrameElementRef === null || iFrameElementRef === void 0 || (_iFrameElementRef$con = iFrameElementRef.contentWindow) === null || _iFrameElementRef$con === void 0 ? void 0 : _iFrameElementRef$con.document.readyState) === 'complete';
|
|
1714
|
+
} catch {
|
|
1715
|
+
// Trying to access the contentWindow of a cross-origin iFrame will throw an error.
|
|
1716
|
+
// We are not supposed to even get here because the iFrame must use
|
|
1717
|
+
// a URL from our very same domain (the custom view is proxied through our http-proxy service).
|
|
1718
|
+
return false;
|
|
1719
|
+
}
|
|
1742
1720
|
};
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1721
|
+
const CustomPanelIframe = /*#__PURE__*/_styled("iframe", process.env.NODE_ENV === "production" ? {
|
|
1722
|
+
target: "e1e3x9i10"
|
|
1723
|
+
} : {
|
|
1724
|
+
target: "e1e3x9i10",
|
|
1725
|
+
label: "CustomPanelIframe"
|
|
1726
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
1727
|
+
name: "174lt7a",
|
|
1728
|
+
styles: "height:100%;width:100%;border:none"
|
|
1729
|
+
} : {
|
|
1730
|
+
name: "174lt7a",
|
|
1731
|
+
styles: "height:100%;width:100%;border:none",
|
|
1732
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImN1c3RvbS12aWV3LWxvYWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0N1QyIsImZpbGUiOiJjdXN0b20tdmlldy1sb2FkZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgdXNlSW50bCB9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHsgdXNlU2hvd05vdGlmaWNhdGlvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FjdGlvbnMtZ2xvYmFsJztcbmltcG9ydCB7IEN1c3RvbVBhbmVsIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tY29tcG9uZW50cyc7XG5pbXBvcnQgeyB1c2VBcHBsaWNhdGlvbkNvbnRleHQgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCB7XG4gIENVU1RPTV9WSUVXU19FVkVOVFNfTkFNRVMsXG4gIENVU1RPTV9WSUVXU19FVkVOVFNfTUVUQSxcbiAgRE9NQUlOUyxcbiAgTk9USUZJQ0FUSU9OX0tJTkRTX1BBR0UsXG4gIEN1c3RvbVZpZXdEYXRhLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuaW1wb3J0IHsgcmVwb3J0RXJyb3JUb1NlbnRyeSB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3NlbnRyeSc7XG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcyc7XG5cbnR5cGUgVEN1c3RvbVZpZXdJZnJhbWVNZXNzYWdlID0ge1xuICBzb3VyY2U6IHN0cmluZztcbiAgZGVzdGluYXRpb246IHN0cmluZztcbiAgZXZlbnROYW1lOiBzdHJpbmc7XG4gIGV2ZW50RGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59O1xuXG50eXBlIFRDdXN0b21WaWV3TG9hZGVyUHJvcHMgPSB7XG4gIGN1c3RvbVZpZXc6IEN1c3RvbVZpZXdEYXRhO1xuICBob3N0VXJsPzogc3RyaW5nO1xuICBvbkNsb3NlOiAoKSA9PiB2b2lkO1xufTtcblxuY29uc3QgaXNJZnJhbWVSZWFkeSA9IChpRnJhbWVFbGVtZW50UmVmOiBIVE1MSUZyYW1lRWxlbWVudCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBpRnJhbWVFbGVtZW50UmVmPy5jb250ZW50V2luZG93Py5kb2N1bWVudC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnO1xuICB9IGNhdGNoIHtcbiAgICAvLyBUcnlpbmcgdG8gYWNjZXNzIHRoZSBjb250ZW50V2luZG93IG9mIGEgY3Jvc3Mtb3JpZ2luIGlGcmFtZSB3aWxsIHRocm93IGFuIGVycm9yLlxuICAgIC8vIFdlIGFyZSBub3Qgc3VwcG9zZWQgdG8gZXZlbiBnZXQgaGVyZSBiZWNhdXNlIHRoZSBpRnJhbWUgbXVzdCB1c2VcbiAgICAvLyBhIFVSTCBmcm9tIG91ciB2ZXJ5IHNhbWUgZG9tYWluICh0aGUgY3VzdG9tIHZpZXcgaXMgcHJveGllZCB0aHJvdWdoIG91ciBodHRwLXByb3h5IHNlcnZpY2UpLlxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufTtcblxuY29uc3QgQ3VzdG9tUGFuZWxJZnJhbWUgPSBzdHlsZWQuaWZyYW1lYFxuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG5gO1xuXG5mdW5jdGlvbiBDdXN0b21WaWV3TG9hZGVyKHByb3BzOiBUQ3VzdG9tVmlld0xvYWRlclByb3BzKSB7XG4gIGNvbnN0IGlGcmFtZUVsZW1lbnRSZWYgPSB1c2VSZWY8SFRNTElGcmFtZUVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBkYXRhTG9jYWxlID0gdXNlQXBwbGljYXRpb25Db250ZXh0KChjb250ZXh0KSA9PiBjb250ZXh0LmRhdGFMb2NhbGUpO1xuICBjb25zdCBwcm9qZWN0S2V5ID0gdXNlQXBwbGljYXRpb25Db250ZXh0KChjb250ZXh0KSA9PiBjb250ZXh0LnByb2plY3Q/LmtleSk7XG4gIGNvbnN0IGlGcmFtZUNvbW11bmljYXRpb25DaGFubmVsID0gdXNlUmVmKG5ldyBNZXNzYWdlQ2hhbm5lbCgpKTtcbiAgY29uc3Qgc2hvd05vdGlmaWNhdGlvbiA9IHVzZVNob3dOb3RpZmljYXRpb24oKTtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcblxuICBjb25zdCBtZXNzYWdlRnJvbUlGcmFtZUhhbmRsZXIgPSB1c2VDYWxsYmFjaygoZXZlbnQ6IE1lc3NhZ2VFdmVudCkgPT4ge1xuICAgIGlmIChldmVudC5kYXRhLm9yaWdpbiA9PT0gd2luZG93LmxvY2F0aW9uLm9yaWdpbikge1xuICAgICAgY29uc29sZS5sb2coJ21lc3NhZ2UgcmVjZWl2ZWQgZnJvbSBpZnJhbWUgcG9ydDogJywgZXZlbnQpO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIC8vIG9uTG9hZCBoYW5kbGVyIGlzIGNhbGxlZCBmcm9tIHRoZSBpRnJhbWUgZXZlbiB3aGVyZSB0aGUgVVJMIGlzIG5vdCB2YWxpZFxuICAvLyAoYmxvY2tlZCBieSBDT1JTLCA0MDQsIGV0Yy4pIHNvIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBpRnJhbWUgaXMgcmVhZHlcbiAgY29uc3Qgb25Mb2FkU3VjY2Vzc0hhbmRsZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgLy8gU2hvdyBlcnJvciBhbmQgYmxvY2sgaWYgdGhlIGlGcmFtZSBpcyBub3QgcmVhZHlcbiAgICAvLyAoZXJyb3IgbG9hZGluZyBpdClcbiAgICBpZiAoIWlzSWZyYW1lUmVhZHkoaUZyYW1lRWxlbWVudFJlZi5jdXJyZW50ISkpIHtcbiAgICAgIHNob3dOb3RpZmljYXRpb24oe1xuICAgICAgICBkb21haW46IERPTUFJTlMuUEFHRSxcbiAgICAgICAga2luZDogTk9USUZJQ0FUSU9OX0tJTkRTX1BBR0UuZXJyb3IsXG4gICAgICAgIHRleHQ6IGludGwuZm9ybWF0TWVzc2FnZShtZXNzYWdlcy5sb2FkRXJyb3IpLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gTGlzdGVuIGZvciBtZXNzYWdlcyBmcm9tIHRoZSBpRnJhbWVcbiAgICBpRnJhbWVDb21tdW5pY2F0aW9uQ2hhbm5lbC5jdXJyZW50LnBvcnQxLm9ubWVzc2FnZSA9XG4gICAgICBtZXNzYWdlRnJvbUlGcmFtZUhhbmRsZXI7XG5cbiAgICAvLyBUcmFuc2ZlciBwb3J0MiB0byB0aGUgaUZyYW1lIHNvIGl0IGNhbiBzZW5kIG1lc3NhZ2VzIGJhY2sgcHJpdmF0ZWx5XG4gICAgaUZyYW1lRWxlbWVudFJlZi5jdXJyZW50Py5jb250ZW50V2luZG93Py5wb3N0TWVzc2FnZShcbiAgICAgIENVU1RPTV9WSUVXU19FVkVOVFNfTkFNRVMuQ1VTVE9NX1ZJRVdfQk9PVFNUUkFQLFxuICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYsXG4gICAgICBbaUZyYW1lQ29tbXVuaWNhdGlvbkNoYW5uZWwuY3VycmVudC5wb3J0Ml1cbiAgICApO1xuXG4gICAgLy8gU2VuZCB0aGUgaW5pdGlhbGl6YXRpb24gbWVzc2FnZSB0byB0aGUgaUZyYW1lXG4gICAgaUZyYW1lQ29tbXVuaWNhdGlvbkNoYW5uZWwuY3VycmVudC5wb3J0MS5wb3N0TWVzc2FnZSh7XG4gICAgICBzb3VyY2U6IENVU1RPTV9WSUVXU19FVkVOVFNfTUVUQS5TT1VSQ0UsXG4gICAgICBkZXN0aW5hdGlvbjogYCR7Q1VTVE9NX1ZJRVdTX0VWRU5UU19NRVRBLkRFU1RJTkFUSU9OX1BSRUZJWH0ke3Byb3BzLmN1c3RvbVZpZXcuaWR9YCxcbiAgICAgIGV2ZW50TmFtZTogQ1VTVE9NX1ZJRVdTX0VWRU5UU19OQU1FUy5DVVNUT01fVklFV19JTklUSUFMSVpBVElPTixcbiAgICAgIGV2ZW50RGF0YToge1xuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgZGF0YUxvY2FsZSxcbiAgICAgICAgICBwcm9qZWN0S2V5LFxuICAgICAgICAgIGN1c3RvbVZpZXdDb25maWc6IHByb3BzLmN1c3RvbVZpZXcsXG4gICAgICAgICAgaG9zdFVybDogcHJvcHMuaG9zdFVybCB8fCB3aW5kb3cubG9jYXRpb24uaHJlZixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSBhcyBUQ3VzdG9tVmlld0lmcmFtZU1lc3NhZ2UpO1xuXG4gICAgLy8gV2Ugd2FudCB0aGUgZWZmZWN0IHRvIHJ1biBvbmx5IG9uY2Ugc28gd2UgZG9uJ3QgbmVlZCB0aGUgZGVwZW5kZW5jaWVzIGFycmF5LlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gQ2xvc2UgdGhlIGNoYW5uZWwgd2hlbiB0aGUgY29tcG9uZW50IHVubW91bnRzXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlGcmFtZUNvbW11bmljYXRpb25DaGFubmVsLmN1cnJlbnQ/LnBvcnQxLmNsb3NlKCk7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIC8vIEN1cnJlbnRseSB3ZSBvbmx5IHN1cHBvcnQgY3VzdG9tIHBhbmVsc1xuICBpZiAocHJvcHMuY3VzdG9tVmlldy50eXBlICE9PSAnQ3VzdG9tUGFuZWwnKSB7XG4gICAgcmVwb3J0RXJyb3JUb1NlbnRyeShcbiAgICAgIG5ldyBFcnJvcihcbiAgICAgICAgYEN1c3RvbVZpZXdMb2FkZXI6IFByb3ZpZGVkIEN1c3RvbSBWaWV3IGhhcyBhbiB1bnN1cHBvcnRlZCB0eXBlOiAke3Byb3BzLmN1c3RvbVZpZXcudHlwZX0uIFN1cHBvcnRlZCB0eXBlczogWydDdXN0b21QYW5lbCddLmBcbiAgICAgIClcbiAgICApO1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IHBhbmVsU2l6ZSA9IChwcm9wcy5jdXN0b21WaWV3LnR5cGVTZXR0aW5ncz8uc2l6ZT8udG9Mb2NhbGVMb3dlckNhc2UoKSB8fFxuICAgICdsYXJnZScpIGFzIExvd2VyY2FzZTwnU01BTEwnIHwgJ0xBUkdFJz47XG4gIGNvbnN0IGlGcmFtZVVybCA9IFtcbiAgICB3aW5kb3cubG9jYXRpb24ub3JpZ2luLFxuICAgICdjdXN0b20tdmlld3MnLFxuICAgIHByb3BzLmN1c3RvbVZpZXcuaWQsXG4gICAgJ3Byb2plY3RzJyxcbiAgICBwcm9qZWN0S2V5LFxuICBdLmpvaW4oJy8nKTtcblxuICByZXR1cm4gKFxuICAgIDxDdXN0b21QYW5lbFxuICAgICAgdGl0bGU9e2BDdXN0b20gVmlldzogJHtwcm9wcy5jdXN0b21WaWV3LmRlZmF1bHRMYWJlbH1gfVxuICAgICAgb25DbG9zZT17cHJvcHMub25DbG9zZX1cbiAgICAgIHNpemU9e3BhbmVsU2l6ZX1cbiAgICA+XG4gICAgICA8Q3VzdG9tUGFuZWxJZnJhbWVcbiAgICAgICAgaWQ9e2BjdXN0b20tdmlldy0ke3Byb3BzLmN1c3RvbVZpZXcuaWR9YH1cbiAgICAgICAga2V5PXtgY3VzdG9tLXZpZXctJHtwcm9wcy5jdXN0b21WaWV3LmlkfWB9XG4gICAgICAgIHRpdGxlPXtgQ3VzdG9tIFZpZXc6ICR7cHJvcHMuY3VzdG9tVmlldy5kZWZhdWx0TGFiZWx9YH1cbiAgICAgICAgcmVmPXtpRnJhbWVFbGVtZW50UmVmfVxuICAgICAgICBzcmM9e2lGcmFtZVVybH1cbiAgICAgICAgb25Mb2FkPXtvbkxvYWRTdWNjZXNzSGFuZGxlcn1cbiAgICAgIC8+XG4gICAgPC9DdXN0b21QYW5lbD5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQ3VzdG9tVmlld0xvYWRlcjtcbiJdfQ== */",
|
|
1733
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
1734
|
+
});
|
|
1735
|
+
function CustomViewLoader(props) {
|
|
1736
|
+
var _props$customView$typ;
|
|
1737
|
+
const iFrameElementRef = useRef(null);
|
|
1738
|
+
const dataLocale = useApplicationContext(context => context.dataLocale);
|
|
1739
|
+
const projectKey = useApplicationContext(context => {
|
|
1740
|
+
var _context$project;
|
|
1741
|
+
return (_context$project = context.project) === null || _context$project === void 0 ? void 0 : _context$project.key;
|
|
1742
|
+
});
|
|
1743
|
+
const iFrameCommunicationChannel = useRef(new MessageChannel());
|
|
1744
|
+
const showNotification = useShowNotification();
|
|
1745
|
+
const intl = useIntl();
|
|
1746
|
+
const messageFromIFrameHandler = useCallback(event => {
|
|
1747
|
+
if (event.data.origin === window.location.origin) {
|
|
1748
|
+
console.log('message received from iframe port: ', event);
|
|
1749
|
+
}
|
|
1750
|
+
}, []);
|
|
1751
|
+
|
|
1752
|
+
// onLoad handler is called from the iFrame even where the URL is not valid
|
|
1753
|
+
// (blocked by CORS, 404, etc.) so we need to make sure the iFrame is ready
|
|
1754
|
+
const onLoadSuccessHandler = useCallback(() => {
|
|
1755
|
+
var _iFrameElementRef$cur, _context;
|
|
1756
|
+
// Show error and block if the iFrame is not ready
|
|
1757
|
+
// (error loading it)
|
|
1758
|
+
if (!isIframeReady(iFrameElementRef.current)) {
|
|
1759
|
+
showNotification({
|
|
1760
|
+
domain: DOMAINS.PAGE,
|
|
1761
|
+
kind: NOTIFICATION_KINDS_PAGE.error,
|
|
1762
|
+
text: intl.formatMessage(messages.loadError)
|
|
1763
|
+
});
|
|
1764
|
+
return;
|
|
1765
|
+
}
|
|
1766
|
+
|
|
1767
|
+
// Listen for messages from the iFrame
|
|
1768
|
+
iFrameCommunicationChannel.current.port1.onmessage = messageFromIFrameHandler;
|
|
1769
|
+
|
|
1770
|
+
// Transfer port2 to the iFrame so it can send messages back privately
|
|
1771
|
+
(_iFrameElementRef$cur = iFrameElementRef.current) === null || _iFrameElementRef$cur === void 0 || (_iFrameElementRef$cur = _iFrameElementRef$cur.contentWindow) === null || _iFrameElementRef$cur === void 0 || _iFrameElementRef$cur.postMessage(CUSTOM_VIEWS_EVENTS_NAMES.CUSTOM_VIEW_BOOTSTRAP, window.location.href, [iFrameCommunicationChannel.current.port2]);
|
|
1772
|
+
|
|
1773
|
+
// Send the initialization message to the iFrame
|
|
1774
|
+
iFrameCommunicationChannel.current.port1.postMessage({
|
|
1775
|
+
source: CUSTOM_VIEWS_EVENTS_META.SOURCE,
|
|
1776
|
+
destination: _concatInstanceProperty(_context = "".concat(CUSTOM_VIEWS_EVENTS_META.DESTINATION_PREFIX)).call(_context, props.customView.id),
|
|
1777
|
+
eventName: CUSTOM_VIEWS_EVENTS_NAMES.CUSTOM_VIEW_INITIALIZATION,
|
|
1778
|
+
eventData: {
|
|
1779
|
+
context: {
|
|
1780
|
+
dataLocale,
|
|
1781
|
+
projectKey,
|
|
1782
|
+
customViewConfig: props.customView,
|
|
1783
|
+
hostUrl: props.hostUrl || window.location.href
|
|
1784
|
+
}
|
|
1785
|
+
}
|
|
1786
|
+
});
|
|
1787
|
+
|
|
1788
|
+
// We want the effect to run only once so we don't need the dependencies array.
|
|
1789
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1790
|
+
}, []);
|
|
1791
|
+
useEffect(() => {
|
|
1792
|
+
// Close the channel when the component unmounts
|
|
1793
|
+
return () => {
|
|
1794
|
+
var _iFrameCommunicationC;
|
|
1795
|
+
(_iFrameCommunicationC = iFrameCommunicationChannel.current) === null || _iFrameCommunicationC === void 0 || _iFrameCommunicationC.port1.close();
|
|
1796
|
+
};
|
|
1797
|
+
}, []);
|
|
1798
|
+
|
|
1799
|
+
// Currently we only support custom panels
|
|
1800
|
+
if (props.customView.type !== 'CustomPanel') {
|
|
1801
|
+
reportErrorToSentry(new Error("CustomViewLoader: Provided Custom View has an unsupported type: ".concat(props.customView.type, ". Supported types: ['CustomPanel'].")));
|
|
1802
|
+
return null;
|
|
1803
|
+
}
|
|
1804
|
+
const panelSize = ((_props$customView$typ = props.customView.typeSettings) === null || _props$customView$typ === void 0 || (_props$customView$typ = _props$customView$typ.size) === null || _props$customView$typ === void 0 ? void 0 : _props$customView$typ.toLocaleLowerCase()) || 'large';
|
|
1805
|
+
const iFrameUrl = [window.location.origin, 'custom-views', props.customView.id, 'projects', projectKey].join('/');
|
|
1806
|
+
return jsx(CustomPanel, {
|
|
1807
|
+
title: "Custom View: ".concat(props.customView.defaultLabel),
|
|
1808
|
+
onClose: props.onClose,
|
|
1809
|
+
size: panelSize,
|
|
1810
|
+
children: jsx(CustomPanelIframe, {
|
|
1811
|
+
id: "custom-view-".concat(props.customView.id),
|
|
1812
|
+
title: "Custom View: ".concat(props.customView.defaultLabel),
|
|
1813
|
+
ref: iFrameElementRef,
|
|
1814
|
+
src: iFrameUrl,
|
|
1815
|
+
onLoad: onLoadSuccessHandler
|
|
1816
|
+
}, "custom-view-".concat(props.customView.id))
|
|
1817
|
+
});
|
|
1818
|
+
}
|
|
1819
|
+
CustomViewLoader.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
1820
|
+
customView: _pt.any.isRequired,
|
|
1821
|
+
hostUrl: _pt.string,
|
|
1822
|
+
onClose: _pt.func.isRequired
|
|
1746
1823
|
} : {};
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1824
|
+
|
|
1825
|
+
const CustomViewDevHost = /*#__PURE__*/lazy(() => import('./custom-view-dev-host-77fdde9b.esm.js' /* webpackChunkName: "custom-view-dev-host" */));
|
|
1826
|
+
|
|
1827
|
+
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; }
|
|
1828
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$1(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$1(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1829
|
+
const CustomViewWithPermissionCheck = props => {
|
|
1830
|
+
const permissionKeys = entryPointUriPathToPermissionKeys(props.customViewId);
|
|
1831
|
+
|
|
1832
|
+
// Require View permission to render the application.
|
|
1833
|
+
const canView = useIsAuthorized({
|
|
1834
|
+
demandedPermissions: [permissionKeys.View]
|
|
1835
|
+
});
|
|
1836
|
+
if (canView) {
|
|
1837
|
+
return jsx(Fragment, {
|
|
1838
|
+
children: props.children
|
|
1839
|
+
});
|
|
1751
1840
|
}
|
|
1752
|
-
return
|
|
1841
|
+
return jsx(PageUnauthorized, {});
|
|
1753
1842
|
};
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1843
|
+
CustomViewWithPermissionCheck.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
1844
|
+
customViewId: _pt.string.isRequired,
|
|
1845
|
+
children: _pt.node
|
|
1846
|
+
} : {};
|
|
1757
1847
|
function CustomViewShellAuthenticated(props) {
|
|
1758
1848
|
const browserLocale = getBrowserLocale(window);
|
|
1759
1849
|
return jsx(FetchUser, {
|
|
@@ -1784,7 +1874,7 @@ function CustomViewShellAuthenticated(props) {
|
|
|
1784
1874
|
children: jsxs(Fragment, {
|
|
1785
1875
|
children: [jsx(ThemeProvider, {
|
|
1786
1876
|
theme: "default"
|
|
1787
|
-
}),
|
|
1877
|
+
}), jsx(FetchProject, {
|
|
1788
1878
|
projectKey: props.projectKey,
|
|
1789
1879
|
children: _ref3 => {
|
|
1790
1880
|
let isProjectLoading = _ref3.isLoading,
|
|
@@ -1800,7 +1890,10 @@ function CustomViewShellAuthenticated(props) {
|
|
|
1800
1890
|
project: project,
|
|
1801
1891
|
projectDataLocale: props.dataLocale,
|
|
1802
1892
|
environment: props.environment,
|
|
1803
|
-
children:
|
|
1893
|
+
children: jsx(CustomViewWithPermissionCheck, {
|
|
1894
|
+
customViewId: props.customViewConfig.id,
|
|
1895
|
+
children: props.children
|
|
1896
|
+
})
|
|
1804
1897
|
});
|
|
1805
1898
|
}
|
|
1806
1899
|
})]
|
|
@@ -1815,11 +1908,13 @@ function CustomViewShellAuthenticated(props) {
|
|
|
1815
1908
|
CustomViewShellAuthenticated.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
1816
1909
|
dataLocale: _pt.string.isRequired,
|
|
1817
1910
|
projectKey: _pt.string,
|
|
1911
|
+
customViewConfig: _pt.any.isRequired,
|
|
1818
1912
|
children: _pt.node.isRequired
|
|
1819
1913
|
} : {};
|
|
1820
1914
|
|
|
1821
1915
|
const browserLocale = getBrowserLocale(window);
|
|
1822
1916
|
function CustomViewShell(props) {
|
|
1917
|
+
var _window$app$__DEVELOP;
|
|
1823
1918
|
const _useState = useState(),
|
|
1824
1919
|
_useState2 = _slicedToArray(_useState, 2),
|
|
1825
1920
|
hostContext = _useState2[0],
|
|
@@ -1836,10 +1931,9 @@ function CustomViewShell(props) {
|
|
|
1836
1931
|
}, []);
|
|
1837
1932
|
useEffect(() => {
|
|
1838
1933
|
const bootstrapMessageHandler = event => {
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
if (event.origin === window.location.origin && event.data === CUSTOM_VIEWS_EVENTS_NAMES.CUSTOM_VIEW_BOOTSTRAP) {
|
|
1934
|
+
if ((event.origin === window.location.origin ||
|
|
1935
|
+
// event.origin is not defined in test environment
|
|
1936
|
+
process.env.NODE_ENV === 'test') && event.data === CUSTOM_VIEWS_EVENTS_NAMES.CUSTOM_VIEW_BOOTSTRAP) {
|
|
1843
1937
|
iFrameCommunicationPort.current = event.ports[0];
|
|
1844
1938
|
iFrameCommunicationPort.current.onmessage = hostMessageHandler;
|
|
1845
1939
|
// Once bootstraped, we don't want to listen for global messages anymore.
|
|
@@ -1856,31 +1950,42 @@ function CustomViewShell(props) {
|
|
|
1856
1950
|
window.removeEventListener('message', bootstrapMessageHandler);
|
|
1857
1951
|
};
|
|
1858
1952
|
}, [hostMessageHandler]);
|
|
1953
|
+
useEffect(() => {
|
|
1954
|
+
// Close the channel when the component unmounts
|
|
1955
|
+
return () => {
|
|
1956
|
+
var _iFrameCommunicationP;
|
|
1957
|
+
(_iFrameCommunicationP = iFrameCommunicationPort.current) === null || _iFrameCommunicationP === void 0 || _iFrameCommunicationP.close();
|
|
1958
|
+
iFrameCommunicationPort.current = undefined;
|
|
1959
|
+
};
|
|
1960
|
+
}, []);
|
|
1859
1961
|
if (!hostContext) {
|
|
1860
1962
|
return jsx(ApplicationLoader, {
|
|
1861
1963
|
showLogo: true
|
|
1862
1964
|
});
|
|
1863
1965
|
}
|
|
1966
|
+
const hostUrl = process.env.NODE_ENV === 'development' ? (_window$app$__DEVELOP = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP === void 0 ? void 0 : _window$app$__DEVELOP.customViewHostUrl : hostContext.hostUrl;
|
|
1864
1967
|
return jsx(ApplicationShellProvider, {
|
|
1865
1968
|
environment: window.app,
|
|
1866
|
-
applicationMessages: props.
|
|
1969
|
+
applicationMessages: props.applicationMessages,
|
|
1867
1970
|
children: _ref => {
|
|
1868
1971
|
let isAuthenticated = _ref.isAuthenticated;
|
|
1869
1972
|
if (isAuthenticated) {
|
|
1870
1973
|
return jsx(CustomViewContextProvider, {
|
|
1871
|
-
|
|
1974
|
+
hostUrl: hostUrl,
|
|
1975
|
+
customViewConfig: hostContext.customViewConfig,
|
|
1872
1976
|
children: jsx(CustomViewShellAuthenticated, {
|
|
1873
1977
|
dataLocale: hostContext.dataLocale,
|
|
1874
1978
|
environment: window.app,
|
|
1875
|
-
messages: props.
|
|
1979
|
+
messages: props.applicationMessages,
|
|
1876
1980
|
projectKey: hostContext.projectKey,
|
|
1981
|
+
customViewConfig: hostContext.customViewConfig,
|
|
1877
1982
|
children: props.children
|
|
1878
1983
|
})
|
|
1879
1984
|
});
|
|
1880
1985
|
}
|
|
1881
1986
|
return jsx(AsyncLocaleData, {
|
|
1882
1987
|
locale: browserLocale,
|
|
1883
|
-
applicationMessages: props.
|
|
1988
|
+
applicationMessages: props.applicationMessages,
|
|
1884
1989
|
children: _ref2 => {
|
|
1885
1990
|
let locale = _ref2.locale,
|
|
1886
1991
|
messages = _ref2.messages;
|
|
@@ -1895,7 +2000,29 @@ function CustomViewShell(props) {
|
|
|
1895
2000
|
});
|
|
1896
2001
|
}
|
|
1897
2002
|
CustomViewShell.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
1898
|
-
|
|
2003
|
+
disableDevHost: _pt.bool,
|
|
2004
|
+
children: _pt.node.isRequired
|
|
2005
|
+
} : {};
|
|
2006
|
+
const CustomViewShellWrapper = props => {
|
|
2007
|
+
if (process.env.NODE_ENV === 'development' && !props.disableDevHost) {
|
|
2008
|
+
return jsx(Suspense, {
|
|
2009
|
+
fallback: jsx(ApplicationLoader, {}),
|
|
2010
|
+
children: jsx(CustomViewDevHost, {
|
|
2011
|
+
applicationMessages: props.applicationMessages,
|
|
2012
|
+
children: jsx(CustomViewShell, {
|
|
2013
|
+
applicationMessages: props.applicationMessages,
|
|
2014
|
+
children: props.children
|
|
2015
|
+
})
|
|
2016
|
+
})
|
|
2017
|
+
});
|
|
2018
|
+
}
|
|
2019
|
+
return jsx(CustomViewShell, {
|
|
2020
|
+
applicationMessages: props.applicationMessages,
|
|
2021
|
+
children: props.children
|
|
2022
|
+
});
|
|
2023
|
+
};
|
|
2024
|
+
CustomViewShellWrapper.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
2025
|
+
disableDevHost: _pt.bool,
|
|
1899
2026
|
children: _pt.node.isRequired
|
|
1900
2027
|
} : {};
|
|
1901
2028
|
|
|
@@ -1988,8 +2115,8 @@ function setupGlobalErrorListener() {
|
|
|
1988
2115
|
});
|
|
1989
2116
|
}
|
|
1990
2117
|
|
|
1991
|
-
function ownKeys(
|
|
1992
|
-
function _objectSpread(
|
|
2118
|
+
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; }
|
|
2119
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context3 = ownKeys(Object(t))).call(_context3, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1993
2120
|
|
|
1994
2121
|
/**
|
|
1995
2122
|
* The route path to match. Usually it starts with `/:projectKey/my-entry-point`.
|
|
@@ -2029,4 +2156,4 @@ function useRoutesCreator() {
|
|
|
2029
2156
|
};
|
|
2030
2157
|
}
|
|
2031
2158
|
|
|
2032
|
-
export {
|
|
2159
|
+
export { ApplicationShell as A, ButlerContainer as B, CustomViewLoader as C, ErrorBoundary as E, FetchProject as F, InjectReducers as I, LoadingPlaceholder as L, ProjectDataLocale as P, RedirectToLogin as R, SetupFlopFlipProvider as S, RedirectToProjectCreate as a, ApplicationLoader as b, REQUESTS_IN_FLIGHT_LOADER_DOM_ID as c, ConfigureIntlProvider as d, ProjectSwitcher as e, ApplicationShellProvider as f, ApplicationPageTitle as g, CustomViewShellWrapper as h, createApolloContextForProxyForwardTo as i, SuspendedRoute as j, useMcLazyQuery as k, useMcMutation as l, useRoutesCreator as m, pimIndexerStates as p, setupGlobalErrorListener as s, useMcQuery as u };
|