@openmrs/esm-app-shell 6.3.1-pre.3014 → 6.3.1-pre.3019
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/.turbo/turbo-build.log +9 -9
- package/dist/aca6f38184562dbc.js.map +1 -0
- package/dist/index.html +1 -1
- package/dist/{openmrs.f652ab22814f1afc.js → openmrs.3871e50552d421a6.js} +1 -1
- package/dist/{openmrs.f652ab22814f1afc.js.map → openmrs.3871e50552d421a6.js.map} +1 -1
- package/dist/service-worker.js +1 -1
- package/lib/{f0af5b6f27783cfd.js → ec41b1cdf7fbf0a4.js} +1 -1
- package/lib/esm-devtools-app/96.js.map +1 -1
- package/lib/esm-devtools-app/main.js +1 -1
- package/lib/esm-devtools-app/openmrs-esm-devtools-app.js +1 -1
- package/lib/esm-devtools-app/openmrs-esm-devtools-app.js.buildmanifest.json +3 -3
- package/lib/esm-devtools-app/routes.json +1 -1
- package/lib/esm-help-menu-app/96.js.map +1 -1
- package/lib/esm-help-menu-app/main.js +1 -1
- package/lib/esm-help-menu-app/openmrs-esm-help-menu-app.js +1 -1
- package/lib/esm-help-menu-app/openmrs-esm-help-menu-app.js.buildmanifest.json +3 -3
- package/lib/esm-help-menu-app/routes.json +1 -1
- package/lib/esm-login-app/8389.js.map +1 -1
- package/lib/esm-login-app/main.js +1 -1
- package/lib/esm-login-app/openmrs-esm-login-app.js +1 -1
- package/lib/esm-login-app/openmrs-esm-login-app.js.buildmanifest.json +3 -3
- package/lib/esm-login-app/routes.json +1 -1
- package/lib/esm-offline-tools-app/2096.js.map +1 -1
- package/lib/esm-offline-tools-app/main.js +1 -1
- package/lib/esm-offline-tools-app/openmrs-esm-offline-tools-app.js +1 -1
- package/lib/esm-offline-tools-app/openmrs-esm-offline-tools-app.js.buildmanifest.json +3 -3
- package/lib/esm-offline-tools-app/routes.json +1 -1
- package/lib/esm-primary-navigation-app/1119.js +1 -0
- package/lib/esm-primary-navigation-app/1197.js +1 -0
- package/lib/esm-primary-navigation-app/1782.js +1 -0
- package/lib/esm-primary-navigation-app/1782.js.map +1 -0
- package/lib/esm-primary-navigation-app/2096.js +1 -0
- package/lib/esm-primary-navigation-app/2096.js.map +1 -0
- package/lib/esm-primary-navigation-app/2146.js +1 -0
- package/lib/esm-primary-navigation-app/2267.js +1 -0
- package/lib/esm-primary-navigation-app/2267.js.map +1 -0
- package/lib/esm-primary-navigation-app/2690.js +1 -0
- package/lib/esm-primary-navigation-app/2727.js +2 -0
- package/lib/esm-primary-navigation-app/2727.js.map +1 -0
- package/lib/esm-primary-navigation-app/3099.js +1 -0
- package/lib/esm-primary-navigation-app/3584.js +1 -0
- package/lib/esm-primary-navigation-app/3637.js +2 -0
- package/lib/esm-primary-navigation-app/3637.js.map +1 -0
- package/lib/esm-primary-navigation-app/4055.js +1 -0
- package/lib/esm-primary-navigation-app/4132.js +1 -0
- package/lib/esm-primary-navigation-app/4300.js +1 -0
- package/lib/esm-primary-navigation-app/4335.js +1 -0
- package/lib/esm-primary-navigation-app/4618.js +1 -0
- package/lib/esm-primary-navigation-app/4652.js +1 -0
- package/lib/esm-primary-navigation-app/4740.js +2 -0
- package/lib/esm-primary-navigation-app/4740.js.map +1 -0
- package/lib/esm-primary-navigation-app/4944.js +1 -0
- package/lib/esm-primary-navigation-app/5173.js +1 -0
- package/lib/esm-primary-navigation-app/5241.js +1 -0
- package/lib/esm-primary-navigation-app/5442.js +1 -0
- package/lib/esm-primary-navigation-app/5623.js +2 -0
- package/lib/{esm-implementer-tools-app → esm-primary-navigation-app}/5623.js.map +1 -1
- package/lib/esm-primary-navigation-app/5661.js +1 -0
- package/lib/esm-primary-navigation-app/5768.js +2 -0
- package/lib/{esm-implementer-tools-app/2271.js.LICENSE.txt → esm-primary-navigation-app/5768.js.LICENSE.txt} +10 -0
- package/lib/esm-primary-navigation-app/5768.js.map +1 -0
- package/lib/esm-primary-navigation-app/5770.js +2 -0
- package/lib/{esm-implementer-tools-app → esm-primary-navigation-app}/5770.js.map +1 -1
- package/lib/esm-primary-navigation-app/6022.js +1 -0
- package/lib/esm-primary-navigation-app/6248.js +1 -0
- package/lib/{esm-implementer-tools-app → esm-primary-navigation-app}/6248.js.map +1 -1
- package/lib/esm-primary-navigation-app/6326.js +2 -0
- package/lib/{esm-implementer-tools-app → esm-primary-navigation-app}/6326.js.map +1 -1
- package/lib/esm-primary-navigation-app/6408.js +2 -0
- package/lib/esm-primary-navigation-app/6408.js.LICENSE.txt +32 -0
- package/lib/esm-primary-navigation-app/6408.js.map +1 -0
- package/lib/esm-primary-navigation-app/6468.js +1 -0
- package/lib/esm-primary-navigation-app/6537.js +2 -0
- package/lib/esm-primary-navigation-app/6537.js.LICENSE.txt +5 -0
- package/lib/esm-primary-navigation-app/6537.js.map +1 -0
- package/lib/esm-primary-navigation-app/6679.js +1 -0
- package/lib/esm-primary-navigation-app/6840.js +1 -0
- package/lib/esm-primary-navigation-app/6859.js +1 -0
- package/lib/esm-primary-navigation-app/7097.js +1 -0
- package/lib/esm-primary-navigation-app/7159.js +1 -0
- package/lib/esm-primary-navigation-app/723.js +1 -0
- package/lib/esm-primary-navigation-app/7617.js +1 -0
- package/lib/esm-primary-navigation-app/795.js +1 -0
- package/lib/esm-primary-navigation-app/815.js +1 -0
- package/lib/esm-primary-navigation-app/815.js.map +1 -0
- package/lib/esm-primary-navigation-app/8163.js +1 -0
- package/lib/esm-primary-navigation-app/8349.js +1 -0
- package/lib/esm-primary-navigation-app/8577.js +1 -0
- package/lib/esm-primary-navigation-app/8577.js.map +1 -0
- package/lib/esm-primary-navigation-app/8618.js +1 -0
- package/lib/esm-primary-navigation-app/890.js +1 -0
- package/lib/esm-primary-navigation-app/9.js +1 -0
- package/lib/esm-primary-navigation-app/9.js.map +1 -0
- package/lib/esm-primary-navigation-app/9214.js +1 -0
- package/lib/esm-primary-navigation-app/9538.js +1 -0
- package/lib/esm-primary-navigation-app/9569.js +1 -0
- package/lib/esm-primary-navigation-app/986.js +1 -0
- package/lib/esm-primary-navigation-app/9879.js +1 -0
- package/lib/esm-primary-navigation-app/9895.js +1 -0
- package/lib/esm-primary-navigation-app/9900.js +1 -0
- package/lib/esm-primary-navigation-app/9913.js +1 -0
- package/lib/esm-primary-navigation-app/main.js +2 -0
- package/lib/esm-primary-navigation-app/main.js.LICENSE.txt +5 -0
- package/lib/esm-primary-navigation-app/main.js.map +1 -0
- package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js +1 -0
- package/lib/{esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js.buildmanifest.json → esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js.buildmanifest.json} +376 -425
- package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js.map +1 -0
- package/lib/esm-primary-navigation-app/routes.json +1 -0
- package/lib/index.html +2 -2
- package/lib/openmrs.js +4 -4
- package/lib/service-worker.js +1 -1
- package/package.json +3 -3
- package/dist/0f825473f7deefc5.js.map +0 -1
- package/lib/esm-implementer-tools-app/1119.js +0 -1
- package/lib/esm-implementer-tools-app/1197.js +0 -1
- package/lib/esm-implementer-tools-app/1915.js +0 -1
- package/lib/esm-implementer-tools-app/1915.js.map +0 -1
- package/lib/esm-implementer-tools-app/2096.js +0 -1
- package/lib/esm-implementer-tools-app/2096.js.map +0 -1
- package/lib/esm-implementer-tools-app/2146.js +0 -1
- package/lib/esm-implementer-tools-app/2271.js +0 -2
- package/lib/esm-implementer-tools-app/2271.js.map +0 -1
- package/lib/esm-implementer-tools-app/2369.js +0 -2
- package/lib/esm-implementer-tools-app/2369.js.LICENSE.txt +0 -19
- package/lib/esm-implementer-tools-app/2369.js.map +0 -1
- package/lib/esm-implementer-tools-app/2690.js +0 -1
- package/lib/esm-implementer-tools-app/3099.js +0 -1
- package/lib/esm-implementer-tools-app/3150.js +0 -1
- package/lib/esm-implementer-tools-app/3150.js.map +0 -1
- package/lib/esm-implementer-tools-app/3584.js +0 -1
- package/lib/esm-implementer-tools-app/4055.js +0 -1
- package/lib/esm-implementer-tools-app/4132.js +0 -1
- package/lib/esm-implementer-tools-app/4300.js +0 -1
- package/lib/esm-implementer-tools-app/4335.js +0 -1
- package/lib/esm-implementer-tools-app/4618.js +0 -1
- package/lib/esm-implementer-tools-app/4652.js +0 -1
- package/lib/esm-implementer-tools-app/4944.js +0 -1
- package/lib/esm-implementer-tools-app/5173.js +0 -1
- package/lib/esm-implementer-tools-app/5241.js +0 -1
- package/lib/esm-implementer-tools-app/5442.js +0 -1
- package/lib/esm-implementer-tools-app/5563.js +0 -1
- package/lib/esm-implementer-tools-app/5563.js.map +0 -1
- package/lib/esm-implementer-tools-app/5623.js +0 -2
- package/lib/esm-implementer-tools-app/5661.js +0 -1
- package/lib/esm-implementer-tools-app/5770.js +0 -2
- package/lib/esm-implementer-tools-app/6022.js +0 -1
- package/lib/esm-implementer-tools-app/6248.js +0 -1
- package/lib/esm-implementer-tools-app/6326.js +0 -2
- package/lib/esm-implementer-tools-app/6468.js +0 -1
- package/lib/esm-implementer-tools-app/6679.js +0 -1
- package/lib/esm-implementer-tools-app/6840.js +0 -1
- package/lib/esm-implementer-tools-app/6859.js +0 -1
- package/lib/esm-implementer-tools-app/6932.js +0 -2
- package/lib/esm-implementer-tools-app/6932.js.map +0 -1
- package/lib/esm-implementer-tools-app/7097.js +0 -1
- package/lib/esm-implementer-tools-app/7159.js +0 -1
- package/lib/esm-implementer-tools-app/723.js +0 -1
- package/lib/esm-implementer-tools-app/7617.js +0 -1
- package/lib/esm-implementer-tools-app/7687.js +0 -2
- package/lib/esm-implementer-tools-app/7687.js.LICENSE.txt +0 -44
- package/lib/esm-implementer-tools-app/7687.js.map +0 -1
- package/lib/esm-implementer-tools-app/769.js +0 -2
- package/lib/esm-implementer-tools-app/769.js.map +0 -1
- package/lib/esm-implementer-tools-app/7714.js +0 -1
- package/lib/esm-implementer-tools-app/7714.js.map +0 -1
- package/lib/esm-implementer-tools-app/795.js +0 -1
- package/lib/esm-implementer-tools-app/8031.js +0 -2
- package/lib/esm-implementer-tools-app/8031.js.LICENSE.txt +0 -9
- package/lib/esm-implementer-tools-app/8031.js.map +0 -1
- package/lib/esm-implementer-tools-app/8163.js +0 -1
- package/lib/esm-implementer-tools-app/8349.js +0 -1
- package/lib/esm-implementer-tools-app/8618.js +0 -1
- package/lib/esm-implementer-tools-app/890.js +0 -1
- package/lib/esm-implementer-tools-app/8995.js +0 -2
- package/lib/esm-implementer-tools-app/8995.js.map +0 -1
- package/lib/esm-implementer-tools-app/9214.js +0 -1
- package/lib/esm-implementer-tools-app/9295.js +0 -1
- package/lib/esm-implementer-tools-app/9295.js.map +0 -1
- package/lib/esm-implementer-tools-app/9538.js +0 -1
- package/lib/esm-implementer-tools-app/9569.js +0 -1
- package/lib/esm-implementer-tools-app/986.js +0 -1
- package/lib/esm-implementer-tools-app/9879.js +0 -1
- package/lib/esm-implementer-tools-app/9895.js +0 -1
- package/lib/esm-implementer-tools-app/9900.js +0 -1
- package/lib/esm-implementer-tools-app/9913.js +0 -1
- package/lib/esm-implementer-tools-app/main.js +0 -1
- package/lib/esm-implementer-tools-app/main.js.map +0 -1
- package/lib/esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js +0 -1
- package/lib/esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js.map +0 -1
- package/lib/esm-implementer-tools-app/routes.json +0 -1
- /package/dist/{0f825473f7deefc5.js → aca6f38184562dbc.js} +0 -0
- /package/lib/{esm-implementer-tools-app/6932.js.LICENSE.txt → esm-primary-navigation-app/2727.js.LICENSE.txt} +0 -0
- /package/lib/{esm-implementer-tools-app/769.js.LICENSE.txt → esm-primary-navigation-app/3637.js.LICENSE.txt} +0 -0
- /package/lib/{esm-implementer-tools-app/8995.js.LICENSE.txt → esm-primary-navigation-app/4740.js.LICENSE.txt} +0 -0
- /package/lib/{esm-implementer-tools-app → esm-primary-navigation-app}/5623.js.LICENSE.txt +0 -0
- /package/lib/{esm-implementer-tools-app → esm-primary-navigation-app}/5770.js.LICENSE.txt +0 -0
- /package/lib/{esm-implementer-tools-app → esm-primary-navigation-app}/6326.js.LICENSE.txt +0 -0
|
@@ -1955,7 +1955,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
1955
1955
|
\*************************************************************************************************/
|
|
1956
1956
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1957
1957
|
|
|
1958
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WorkspaceContainer: () => (/* binding */ WorkspaceContainer)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-i18next */ \"webpack/sharing/consume/default/react-i18next/react-i18next\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! classnames */ \"../../../node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _carbon_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @carbon/react */ \"webpack/sharing/consume/default/@carbon/react/@carbon/react\");\n/* harmony import */ var _carbon_react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_carbon_react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _carbon_react_icons__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @carbon/react/icons */ \"../../../node_modules/@carbon/icons-react/es/generated/bucket-11.js\");\n/* harmony import */ var _carbon_react_icons__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @carbon/react/icons */ \"../../../node_modules/@carbon/icons-react/es/generated/bucket-5.js\");\n/* harmony import */ var _openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @openmrs/esm-react-utils */ \"../../framework/esm-react-utils/dist/index.js\");\n/* harmony import */ var _openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @openmrs/esm-translations */ \"../../framework/esm-translations/dist/index.js\");\n/* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../icons */ \"../../framework/esm-styleguide/src/icons/index.ts\");\n/* harmony import */ var _notification_workspace_notification_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../notification/workspace-notification.component */ \"../../framework/esm-styleguide/src/workspaces/notification/workspace-notification.component.tsx\");\n/* harmony import */ var _workspaces__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../workspaces */ \"../../framework/esm-styleguide/src/workspaces/workspaces.ts\");\n/* harmony import */ var _workspace_renderer_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./workspace-renderer.component */ \"../../framework/esm-styleguide/src/workspaces/container/workspace-renderer.component.tsx\");\n/* harmony import */ var _action_menu_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./action-menu.component */ \"../../framework/esm-styleguide/src/workspaces/container/action-menu.component.tsx\");\n/* harmony import */ var _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./workspace.module.scss */ \"../../framework/esm-styleguide/src/workspaces/container/workspace.module.scss\");\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Use this component to render the [workspace window](https://zeroheight.com/23a080e38/p/483a22-workspace)\n * in an app such as the patient chart, or a workspace overlay in an app such as the clinic dashboard.\n * This allows workspaces to be opened on the page where this component is mounted. This component\n * must not be mounted multiple times on the same page. If there are multiple apps on a page, only\n * one of those apps should use this component—it \"hosts\" the workspaces.\n *\n * Workspaces may be opened with the [[launchWorkspace]] function from `@openmrs/esm-framework`\n * (among other options).\n *\n * The `overlay` prop determines whether the workspace is rendered as an overlay or a window.\n * When a workspace window is opened, the other content on the screen will be pushed to the left.\n * When an overlay is opened, it will cover other content on the screen.\n *\n * The context key is a string that appears in the URL, which defines the pages on which workspaces\n * are valid. If the URL changes in a way such that it no longer contains the context key, then\n * all workspaces will be closed. This ensures that, for example, workspaces on the home page do\n * not stay open when the user transitions to the patient dashboard; and also that workspaces do\n * not stay open when the user navigates to a different patient. The context key must be a valid\n * sub-path of the URL, with no initial or trailing slash. So if the URL is\n * `https://example.com/patient/123/foo`, then `patient` and `patient/123` and `123/foo` are valid\n * context keys, but `patient/12` and `pati` are not.\n *\n * An extension slot is provided in the workspace header. Its name is derived from the `featureName` of\n * the top-level component in which it is defined (feature names are generally provided in the lifecycle\n * functions in an app's `index.ts` file). The slot is named `workspace-header-${featureName}-slot`.\n * For the patient chart, this is `workspace-header-patient-chart-slot`.\n *\n * This component also provides the [Siderail and Bottom Nav](https://zeroheight.com/23a080e38/p/948cf1-siderail-and-bottom-nav/b/86907e).\n * To use this, pass the `showSiderailAndBottomNav` prop. The Siderail is rendered on the right side of the screen\n * on desktop, and the Bottom Nav is rendered at the bottom of the screen on tablet or mobile. The sidebar/bottom-nav\n * menu provides an extension slot, to which buttons are attached as extensions. The slot\n * derives its name from the `featureName` of the top-level component in which this `WorkspaceContainer`\n * appears (feature names are generally provided in the lifecycle functions in an app's `index.ts` file).\n * The slot is named `action-menu-${featureName}-items-slot`. For the patient chart, this is\n * `action-menu-patient-chart-items-slot`.\n *\n * This component also provides everything needed for workspace notifications to be rendered.\n *\n * @param props.contextKey The context key (explained above)\n * @param props.additionalWorkspaceProps Additional props to pass to the workspace. Using this is\n * unusual; you will generally want to pass props to the workspace when you open it, using\n * `launchWorkspace`. Use this only for props that will apply to every workspace launched\n * on the page where this component is mounted.\n */ function WorkspaceContainer(param) {\n var contextKey = param.contextKey, overlay = param.overlay, showSiderailAndBottomNav = param.showSiderailAndBottomNav, additionalWorkspaceProps = param.additionalWorkspaceProps, actionMenuProps = param.actionMenuProps;\n var layout = (0,_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__.useLayoutType)();\n var _useWorkspaces = (0,_workspaces__WEBPACK_IMPORTED_MODULE_8__.useWorkspaces)(), workspaces = _useWorkspaces.workspaces, workspaceWindowState = _useWorkspaces.workspaceWindowState, workspaceGroup = _useWorkspaces.workspaceGroup;\n var currentGroupName = workspaceGroup === null || workspaceGroup === void 0 ? void 0 : workspaceGroup.name;\n var activeWorkspace = workspaces[0];\n var isHidden = workspaceWindowState === 'hidden' || activeWorkspace == null;\n var isMaximized = workspaceWindowState === 'maximized';\n var _activeWorkspace_width;\n var width = (_activeWorkspace_width = activeWorkspace === null || activeWorkspace === void 0 ? void 0 : activeWorkspace.width) !== null && _activeWorkspace_width !== void 0 ? _activeWorkspace_width : overlay ? 'wider' : 'narrow';\n var showActionMenu = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function() {\n return showSiderailAndBottomNav || currentGroupName && !isHidden;\n }, [\n currentGroupName,\n isHidden,\n showSiderailAndBottomNav\n ]);\n (0,_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__.useBodyScrollLock)(!isHidden && !(0,_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__.isDesktop)(layout));\n var _obj, _obj1;\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: showSiderailAndBottomNav ? _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].workspaceContainerWithActionMenu : _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].workspaceContainerWithoutActionMenu\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"aside\", {\n className: classnames__WEBPACK_IMPORTED_MODULE_2___default()(overlay ? _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].workspaceOverlayOuterContainer : _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].workspaceWindowSpacer, (_obj = {}, _define_property(_obj, _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].hiddenRelative, isHidden), _define_property(_obj, _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].narrowWorkspace, width === 'narrow'), _define_property(_obj, _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].widerWorkspace, width === 'wider'), _define_property(_obj, _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].extraWideWorkspace, width === 'extra-wide'), _obj))\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: classnames__WEBPACK_IMPORTED_MODULE_2___default()(_workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].workspaceFixedContainer, (_obj1 = {}, _define_property(_obj1, _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].maximizedWindow, isMaximized), _define_property(_obj1, _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].hiddenFixed, isHidden), _obj1))\n }, workspaces.map(function(workspace, i) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n key: \"workspace-container-\".concat(workspace ? workspace.name : \"empty-\".concat(i)),\n className: classnames__WEBPACK_IMPORTED_MODULE_2___default()(_workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].workspaceInnerContainer, _define_property({}, _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].hiddenExtraWorkspace, i !== 0))\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react__WEBPACK_IMPORTED_MODULE_0__.Suspense, {\n fallback: null\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_i18next__WEBPACK_IMPORTED_MODULE_1__.I18nextProvider, {\n i18n: window.i18next,\n defaultNS: workspace.moduleName\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Workspace, {\n workspaceInstance: workspace,\n additionalWorkspaceProps: additionalWorkspaceProps\n }))));\n }))), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_notification_workspace_notification_component__WEBPACK_IMPORTED_MODULE_7__.WorkspaceNotification, {\n contextKey: contextKey\n })), showActionMenu && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_action_menu_component__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n name: currentGroupName,\n isWithinWorkspace: !showSiderailAndBottomNav,\n actionMenuProps: actionMenuProps\n }));\n}\nfunction Workspace(param) {\n var workspaceInstance = param.workspaceInstance, additionalWorkspaceProps = param.additionalWorkspaceProps;\n var t = (0,react_i18next__WEBPACK_IMPORTED_MODULE_1__.useTranslation)().t;\n var layout = (0,_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__.useLayoutType)();\n var _useWorkspaces = (0,_workspaces__WEBPACK_IMPORTED_MODULE_8__.useWorkspaces)(), workspaceWindowState = _useWorkspaces.workspaceWindowState, workspaceGroup = _useWorkspaces.workspaceGroup;\n var currentGroupName = workspaceGroup === null || workspaceGroup === void 0 ? void 0 : workspaceGroup.name;\n var isMaximized = workspaceWindowState === 'maximized';\n // Translate the workspace title\n // The workspace title is a translation key whose translation resides in the workspace module.\n // Since the workspace module is not loaded at the time of workspace registration, we need to translate it here\n // when the workspace is actually rendered and the workspace module along with its translations are loaded.\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n var translatedTitle = t(workspaceInstance.title);\n if (translatedTitle !== workspaceInstance.title) {\n workspaceInstance.setTitle(translatedTitle);\n }\n }, [\n workspaceInstance.title,\n t,\n workspaceInstance.setTitle\n ]);\n // We use the feature name of the app containing the workspace in order to set the extension\n // slot name. We can't use contextKey for this because we don't want the slot name to be\n // different for different patients, but we do want it to be different for different apps.\n var featureName = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__.ComponentContext).featureName;\n var toggleWindowState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function() {\n isMaximized ? (0,_workspaces__WEBPACK_IMPORTED_MODULE_8__.updateWorkspaceWindowState)('normal') : (0,_workspaces__WEBPACK_IMPORTED_MODULE_8__.updateWorkspaceWindowState)('maximized');\n }, [\n isMaximized\n ]);\n var _useMemo = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function() {\n return workspaceInstance !== null && workspaceInstance !== void 0 ? workspaceInstance : {};\n }, [\n workspaceInstance\n ]), _useMemo_canHide = _useMemo.canHide, canHide = _useMemo_canHide === void 0 ? false : _useMemo_canHide, _useMemo_canMaximize = _useMemo.canMaximize, canMaximize = _useMemo_canMaximize === void 0 ? false : _useMemo_canMaximize, _useMemo_currentWorkspaceGroup = _useMemo.currentWorkspaceGroup, currentWorkspaceGroup = _useMemo_currentWorkspaceGroup === void 0 ? '' : _useMemo_currentWorkspaceGroup, closeWorkspace = _useMemo.closeWorkspace;\n var workspaceProps = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function() {\n return _object_spread({}, additionalWorkspaceProps, workspaceInstance === null || workspaceInstance === void 0 ? void 0 : workspaceInstance.additionalProps);\n }, [\n additionalWorkspaceProps,\n workspaceInstance\n ]);\n var _workspaceInstance_titleNode;\n return workspaceInstance && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react__WEBPACK_IMPORTED_MODULE_3__.Header, {\n \"aria-label\": (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('workspaceHeader', 'Workspace Header'),\n className: _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].header\n }, !(0,_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__.isDesktop)(layout) && !canHide && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react__WEBPACK_IMPORTED_MODULE_3__.HeaderMenuButton, {\n \"aria-label\": (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('close', 'Close'),\n renderMenuIcon: /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_icons__WEBPACK_IMPORTED_MODULE_6__.ArrowLeftIcon, null),\n onClick: function() {\n return closeWorkspace();\n }\n }), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react__WEBPACK_IMPORTED_MODULE_3__.HeaderName, {\n prefix: \"\"\n }, (_workspaceInstance_titleNode = workspaceInstance.titleNode) !== null && _workspaceInstance_titleNode !== void 0 ? _workspaceInstance_titleNode : t(workspaceInstance.title)), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].overlayHeaderSpacer\n }), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react__WEBPACK_IMPORTED_MODULE_3__.HeaderGlobalBar, {\n className: _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].headerButtons\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__.ExtensionSlot, {\n name: \"workspace-header-group-\".concat(workspaceInstance.currentWorkspaceGroup, \"-slot\"),\n state: workspaceProps\n }), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__.ExtensionSlot, {\n name: \"workspace-header-type-\".concat(workspaceInstance.type, \"-slot\"),\n state: workspaceProps\n }), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__.ExtensionSlot, {\n name: \"workspace-header-\".concat(featureName, \"-slot\"),\n state: workspaceProps\n }), (0,_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__.isDesktop)(layout) && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, (canMaximize || isMaximized) && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react__WEBPACK_IMPORTED_MODULE_3__.HeaderGlobalAction, {\n /* @ts-expect-error */ align: \"bottom\",\n \"aria-label\": isMaximized ? (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('minimize', 'Minimize') : (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('maximize', 'Maximize'),\n label: isMaximized ? (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('minimize', 'Minimize') : (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('maximize', 'Maximize'),\n onClick: toggleWindowState,\n size: \"lg\"\n }, isMaximized ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react_icons__WEBPACK_IMPORTED_MODULE_12__.Minimize, null) : /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react_icons__WEBPACK_IMPORTED_MODULE_12__.Maximize, null)), canHide && !currentGroupName ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react__WEBPACK_IMPORTED_MODULE_3__.HeaderGlobalAction, {\n /* @ts-expect-error */ align: \"bottom-right\",\n \"aria-label\": (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('hide', 'Hide'),\n label: (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('hide', 'Hide'),\n onClick: function() {\n return (0,_workspaces__WEBPACK_IMPORTED_MODULE_8__.updateWorkspaceWindowState)('hidden');\n },\n size: \"lg\"\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_icons__WEBPACK_IMPORTED_MODULE_6__.ArrowRightIcon, null)) : /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react__WEBPACK_IMPORTED_MODULE_3__.HeaderGlobalAction, {\n /* @ts-expect-error */ align: \"bottom-right\",\n \"aria-label\": (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('close', 'Close'),\n label: (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('close', 'Close'),\n onClick: function() {\n return closeWorkspace === null || closeWorkspace === void 0 ? void 0 : closeWorkspace();\n },\n size: \"lg\"\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_icons__WEBPACK_IMPORTED_MODULE_6__.CloseIcon, null))), layout === 'tablet' && canHide && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react__WEBPACK_IMPORTED_MODULE_3__.HeaderGlobalAction, {\n /* @ts-expect-error */ align: \"bottom-right\",\n \"aria-label\": (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('close', 'Close'),\n label: (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('close', 'Close'),\n onClick: function() {\n return closeWorkspace === null || closeWorkspace === void 0 ? void 0 : closeWorkspace();\n }\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react_icons__WEBPACK_IMPORTED_MODULE_13__.DownToBottom, null)))), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: classnames__WEBPACK_IMPORTED_MODULE_2___default()(_workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].workspaceContent, _define_property({}, _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].marginWorkspaceContent, Boolean(currentWorkspaceGroup)))\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_workspace_renderer_component__WEBPACK_IMPORTED_MODULE_9__.WorkspaceRenderer, {\n key: workspaceInstance.name,\n workspace: workspaceInstance,\n additionalPropsFromPage: additionalWorkspaceProps\n })));\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy93b3Jrc3BhY2VzL2NvbnRhaW5lci93b3Jrc3BhY2UtY29udGFpbmVyLmNvbXBvbmVudC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBcUY7QUFDckI7QUFDNUI7QUFDc0U7QUFDbkM7QUFDaUQ7QUFDekQ7QUFDUTtBQUNrQjtBQUNLO0FBQzNCO0FBQ2xCO0FBQ0o7QUFVN0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNENDLEdBQ00sU0FBU2dDLG1CQUFtQixLQU1UO1FBTHhCQyxhQURpQyxNQUNqQ0EsWUFDQUMsVUFGaUMsTUFFakNBLFNBQ0FDLDJCQUhpQyxNQUdqQ0EsMEJBQ0FDLDJCQUppQyxNQUlqQ0EsMEJBQ0FDLGtCQUxpQyxNQUtqQ0E7SUFFQSxJQUFNQyxTQUFTakIsdUVBQWFBO0lBQzVCLElBQTZETyxpQkFBQUEsMERBQWFBLElBQWxFVyxhQUFxRFgsZUFBckRXLFlBQVlDLHVCQUF5Q1osZUFBekNZLHNCQUFzQkMsaUJBQW1CYixlQUFuQmE7SUFDMUMsSUFBTUMsbUJBQW1CRCwyQkFBQUEscUNBQUFBLGVBQWdCRSxJQUFJO0lBQzdDLElBQU1DLGtCQUFrQkwsVUFBVSxDQUFDLEVBQUU7SUFDckMsSUFBTU0sV0FBV0wseUJBQXlCLFlBQVlJLG1CQUFtQjtJQUN6RSxJQUFNRSxjQUFjTix5QkFBeUI7UUFDL0JJO0lBQWQsSUFBTUcsUUFBUUgsQ0FBQUEseUJBQUFBLDRCQUFBQSxzQ0FBQUEsZ0JBQWlCRyxLQUFLLGNBQXRCSCxvQ0FBQUEseUJBQTJCVixVQUFVLFVBQVU7SUFDN0QsSUFBTWMsaUJBQWlCM0MsOENBQU9BLENBQzVCO2VBQU04Qiw0QkFBNkJPLG9CQUFvQixDQUFDRztPQUN4RDtRQUFDSDtRQUFrQkc7UUFBVVY7S0FBeUI7SUFHeERmLDJFQUFpQkEsQ0FBQyxD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QVM7bUJBQU1OLDJCQUFBQSxxQ0FBQUE7O3FCQUVmLDJEQUFDekUsOERBQVlBLDBCQUtyQiwyREFBQ21DO1FBQ0NDLFdBQVcxQyxpREFBVUEsQ0FBQ3VCLCtEQUFNQSxDQUFDd0UsZ0JBQWdCLEVBQzNDLHFCQUFDeEUsK0RBQU1BLENBQUN5RSxzQkFBc0IsRUFBR0MsUUFBUW5CO3FCQUczQywyREFBQ3pELDRFQUFpQkE7UUFDaEJxQyxLQUFLVSxrQkFBa0JqQyxJQUFJO1FBQzNCcUIsV0FBV1k7UUFDWDhCLHlCQUF5QnRFOztBQU1yQyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy93b3Jrc3BhY2VzL2NvbnRhaW5lci93b3Jrc3BhY2UtY29udGFpbmVyLmNvbXBvbmVudC50c3g/ZWEzZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgU3VzcGVuc2UsIHVzZUNhbGxiYWNrLCB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJMThuZXh0UHJvdmlkZXIsIHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IEhlYWRlciwgSGVhZGVyR2xvYmFsQWN0aW9uLCBIZWFkZXJHbG9iYWxCYXIsIEhlYWRlck1lbnVCdXR0b24sIEhlYWRlck5hbWUgfSBmcm9tICdAY2FyYm9uL3JlYWN0JztcbmltcG9ydCB7IERvd25Ub0JvdHRvbSwgTWF4aW1pemUsIE1pbmltaXplIH0gZnJvbSAnQGNhcmJvbi9yZWFjdC9pY29ucyc7XG5pbXBvcnQgeyBDb21wb25lbnRDb250ZXh0LCBFeHRlbnNpb25TbG90LCBpc0Rlc2t0b3AsIHVzZUJvZHlTY3JvbGxMb2NrLCB1c2VMYXlvdXRUeXBlIH0gZnJvbSAnQG9wZW5tcnMvZXNtLXJlYWN0LXV0aWxzJztcbmltcG9ydCB7IGdldENvcmVUcmFuc2xhdGlvbiB9IGZyb20gJ0BvcGVubXJzL2VzbS10cmFuc2xhdGlvbnMnO1xuaW1wb3J0IHsgQXJyb3dMZWZ0SWNvbiwgQXJyb3dSaWdodEljb24sIENsb3NlSWNvbiB9IGZyb20gJy4uLy4uL2ljb25zJztcbmltcG9ydCB7IFdvcmtzcGFjZU5vdGlmaWNhdGlvbiB9IGZyb20gJy4uL25vdGlmaWNhdGlvbi93b3Jrc3BhY2Utbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyB0eXBlIE9wZW5Xb3Jrc3BhY2UsIHVwZGF0ZVdvcmtzcGFjZVdpbmRvd1N0YXRlLCB1c2VXb3Jrc3BhY2VzIH0gZnJvbSAnLi4vd29ya3NwYWNlcyc7XG5pbXBvcnQgeyBXb3Jrc3BhY2VSZW5kZXJlciB9IGZyb20gJy4vd29ya3NwYWNlLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgQWN0aW9uTWVudSBmcm9tICcuL2FjdGlvbi1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vd29ya3NwYWNlLm1vZHVsZS5zY3NzJztcblxuZXhwb3J0IGludGVyZmFjZSBXb3Jrc3BhY2VDb250YWluZXJQcm9wcyB7XG4gIGNvbnRleHRLZXk6IHN0cmluZztcbiAgb3ZlcmxheT86IGJvb2xlYW47XG4gIHNob3dTaWRlcmFpbEFuZEJvdHRvbU5hdj86IGJvb2xlYW47XG4gIGFkZGl0aW9uYWxXb3Jrc3BhY2VQcm9wcz86IG9iamVjdDtcbiAgYWN0aW9uTWVudVByb3BzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbi8qKlxuICogVXNlIHRoaXMgY29tcG9uZW50IHRvIHJlbmRlciB0aGUgW3dvcmtzcGFjZSB3aW5kb3ddKGh0dHBzOi8vemVyb2hlaWdodC5jb20vMjNhMDgwZTM4L3AvNDgzYTIyLXdvcmtzcGFjZSlcbiAqIGluIGFuIGFwcCBzdWNoIGFzIHRoZSBwYXRpZW50IGNoYXJ0LCBvciBhIHdvcmtzcGFjZSBvdmVybGF5IGluIGFuIGFwcCBzdWNoIGFzIHRoZSBjbGluaWMgZGFzaGJvYXJkLlxuICogVGhpcyBhbGxvd3Mgd29ya3NwYWNlcyB0byBiZSBvcGVuZWQgb24gdGhlIHBhZ2Ugd2hlcmUgdGhpcyBjb21wb25lbnQgaXMgbW91bnRlZC4gVGhpcyBjb21wb25lbnRcbiAqIG11c3Qgbm90IGJlIG1vdW50ZWQgbXVsdGlwbGUgdGltZXMgb24gdGhlIHNhbWUgcGFnZS4gSWYgdGhlcmUgYXJlIG11bHRpcGxlIGFwcHMgb24gYSBwYWdlLCBvbmx5XG4gKiBvbmUgb2YgdGhvc2UgYXBwcyBzaG91bGQgdXNlIHRoaXMgY29tcG9uZW504oCUaXQgXCJob3N0c1wiIHRoZSB3b3Jrc3BhY2VzLlxuICpcbiAqIFdvcmtzcGFjZXMgbWF5IGJlIG9wZW5lZCB3aXRoIHRoZSBbW2xhdW5jaFdvcmtzcGFjZV1dIGZ1bmN0aW9uIGZyb20gYEBvcGVubXJzL2VzbS1mcmFtZXdvcmtgXG4gKiAoYW1vbmcgb3RoZXIgb3B0aW9ucykuXG4gKlxuICogVGhlIGBvdmVybGF5YCBwcm9wIGRldGVybWluZXMgd2hldGhlciB0aGUgd29ya3NwYWNlIGlzIHJlbmRlcmVkIGFzIGFuIG92ZXJsYXkgb3IgYSB3aW5kb3cuXG4gKiBXaGVuIGEgd29ya3NwYWNlIHdpbmRvdyBpcyBvcGVuZWQsIHRoZSBvdGhlciBjb250ZW50IG9uIHRoZSBzY3JlZW4gd2lsbCBiZSBwdXNoZWQgdG8gdGhlIGxlZnQuXG4gKiBXaGVuIGFuIG92ZXJsYXkgaXMgb3BlbmVkLCBpdCB3aWxsIGNvdmVyIG90aGVyIGNvbnRlbnQgb24gdGhlIHNjcmVlbi5cbiAqXG4gKiBUaGUgY29udGV4dCBrZXkgaXMgYSBzdHJpbmcgdGhhdCBhcHBlYXJzIGluIHRoZSBVUkwsIHdoaWNoIGRlZmluZXMgdGhlIHBhZ2VzIG9uIHdoaWNoIHdvcmtzcGFjZXNcbiAqIGFyZSB2YWxpZC4gSWYgdGhlIFVSTCBjaGFuZ2VzIGluIGEgd2F5IHN1Y2ggdGhhdCBpdCBubyBsb25nZXIgY29udGFpbnMgdGhlIGNvbnRleHQga2V5LCB0aGVuXG4gKiBhbGwgd29ya3NwYWNlcyB3aWxsIGJlIGNsb3NlZC4gVGhpcyBlbnN1cmVzIHRoYXQsIGZvciBleGFtcGxlLCB3b3Jrc3BhY2VzIG9uIHRoZSBob21lIHBhZ2UgZG9cbiAqIG5vdCBzdGF5IG9wZW4gd2hlbiB0aGUgdXNlciB0cmFuc2l0aW9ucyB0byB0aGUgcGF0aWVudCBkYXNoYm9hcmQ7IGFuZCBhbHNvIHRoYXQgd29ya3NwYWNlcyBkb1xuICogbm90IHN0YXkgb3BlbiB3aGVuIHRoZSB1c2VyIG5hdmlnYXRlcyB0byBhIGRpZmZlcmVudCBwYXRpZW50LiBUaGUgY29udGV4dCBrZXkgbXVzdCBiZSBhIHZhbGlkXG4gKiBzdWItcGF0aCBvZiB0aGUgVVJMLCB3aXRoIG5vIGluaXRpYWwgb3IgdHJhaWxpbmcgc2xhc2guIFNvIGlmIHRoZSBVUkwgaXNcbiAqIGBodHRwczovL2V4YW1wbGUuY29tL3BhdGllbnQvMTIzL2Zvb2AsIHRoZW4gYHBhdGllbnRgIGFuZCBgcGF0aWVudC8xMjNgIGFuZCBgMTIzL2Zvb2AgYXJlIHZhbGlkXG4gKiBjb250ZXh0IGtleXMsIGJ1dCBgcGF0aWVudC8xMmAgYW5kIGBwYXRpYCBhcmUgbm90LlxuICpcbiAqIEFuIGV4dGVuc2lvbiBzbG90IGlzIHByb3ZpZGVkIGluIHRoZSB3b3Jrc3BhY2UgaGVhZGVyLiBJdHMgbmFtZSBpcyBkZXJpdmVkIGZyb20gdGhlIGBmZWF0dXJlTmFtZWAgb2ZcbiAqIHRoZSB0b3AtbGV2ZWwgY29tcG9uZW50IGluIHdoaWNoIGl0IGlzIGRlZmluZWQgKGZlYXR1cmUgbmFtZXMgYXJlIGdlbmVyYWxseSBwcm92aWRlZCBpbiB0aGUgbGlmZWN5Y2xlXG4gKiBmdW5jdGlvbnMgaW4gYW4gYXBwJ3MgYGluZGV4LnRzYCBmaWxlKS4gVGhlIHNsb3QgaXMgbmFtZWQgYHdvcmtzcGFjZS1oZWFkZXItJHtmZWF0dXJlTmFtZX0tc2xvdGAuXG4gKiBGb3IgdGhlIHBhdGllbnQgY2hhcnQsIHRoaXMgaXMgYHdvcmtzcGFjZS1oZWFkZXItcGF0aWVudC1jaGFydC1zbG90YC5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBhbHNvIHByb3ZpZGVzIHRoZSBbU2lkZXJhaWwgYW5kIEJvdHRvbSBOYXZdKGh0dHBzOi8vemVyb2hlaWdodC5jb20vMjNhMDgwZTM4L3AvOTQ4Y2YxLXNpZGVyYWlsLWFuZC1ib3R0b20tbmF2L2IvODY5MDdlKS5cbiAqIFRvIHVzZSB0aGlzLCBwYXNzIHRoZSBgc2hvd1NpZGVyYWlsQW5kQm90dG9tTmF2YCBwcm9wLiBUaGUgU2lkZXJhaWwgaXMgcmVuZGVyZWQgb24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIHNjcmVlblxuICogb24gZGVza3RvcCwgYW5kIHRoZSBCb3R0b20gTmF2IGlzIHJlbmRlcmVkIGF0IHRoZSBib3R0b20gb2YgdGhlIHNjcmVlbiBvbiB0YWJsZXQgb3IgbW9iaWxlLiBUaGUgc2lkZWJhci9ib3R0b20tbmF2XG4gKiBtZW51IHByb3ZpZGVzIGFuIGV4dGVuc2lvbiBzbG90LCB0byB3aGljaCBidXR0b25zIGFyZSBhdHRhY2hlZCBhcyBleHRlbnNpb25zLiBUaGUgc2xvdFxuICogZGVyaXZlcyBpdHMgbmFtZSBmcm9tIHRoZSBgZmVhdHVyZU5hbWVgIG9mIHRoZSB0b3AtbGV2ZWwgY29tcG9uZW50IGluIHdoaWNoIHRoaXMgYFdvcmtzcGFjZUNvbnRhaW5lcmBcbiAqIGFwcGVhcnMgKGZlYXR1cmUgbmFtZXMgYXJlIGdlbmVyYWxseSBwcm92aWRlZCBpbiB0aGUgbGlmZWN5Y2xlIGZ1bmN0aW9ucyBpbiBhbiBhcHAncyBgaW5kZXgudHNgIGZpbGUpLlxuICogVGhlIHNsb3QgaXMgbmFtZWQgYGFjdGlvbi1tZW51LSR7ZmVhdHVyZU5hbWV9LWl0ZW1zLXNsb3RgLiBGb3IgdGhlIHBhdGllbnQgY2hhcnQsIHRoaXMgaXNcbiAqIGBhY3Rpb24tbWVudS1wYXRpZW50LWNoYXJ0LWl0ZW1zLXNsb3RgLlxuICpcbiAqIFRoaXMgY29tcG9uZW50IGFsc28gcHJvdmlkZXMgZXZlcnl0aGluZyBuZWVkZWQgZm9yIHdvcmtzcGFjZSBub3RpZmljYXRpb25zIHRvIGJlIHJlbmRlcmVkLlxuICpcbiAqIEBwYXJhbSBwcm9wcy5jb250ZXh0S2V5IFRoZSBjb250ZXh0IGtleSAoZXhwbGFpbmVkIGFib3ZlKVxuICogQHBhcmFtIHByb3BzLmFkZGl0aW9uYWxXb3Jrc3BhY2VQcm9wcyBBZGRpdGlvbmFsIHByb3BzIHRvIHBhc3MgdG8gdGhlIHdvcmtzcGFjZS4gVXNpbmcgdGhpcyBpc1xuICogICAgICAgICAgdW51c3VhbDsgeW91IHdpbGwgZ2VuZXJhbGx5IHdhbnQgdG8gcGFzcyBwcm9wcyB0byB0aGUgd29ya3NwYWNlIHdoZW4geW91IG9wZW4gaXQsIHVzaW5nXG4gKiAgICAgICAgICBgbGF1bmNoV29ya3NwYWNlYC4gVXNlIHRoaXMgb25seSBmb3IgcHJvcHMgdGhhdCB3aWxsIGFwcGx5IHRvIGV2ZXJ5IHdvcmtzcGFjZSBsYXVuY2hlZFxuICogICAgICAgICAgb24gdGhlIHBhZ2Ugd2hlcmUgdGhpcyBjb21wb25lbnQgaXMgbW91bnRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdvcmtzcGFjZUNvbnRhaW5lcih7XG4gIGNvbnRleHRLZXksXG4gIG92ZXJsYXksXG4gIHNob3dTaWRlcmFpbEFuZEJvdHRvbU5hdixcbiAgYWRkaXRpb25hbFdvcmtzcGFjZVByb3BzLFxuICBhY3Rpb25NZW51UHJvcHMsXG59OiBXb3Jrc3BhY2VDb250YWluZXJQcm9wcykge1xuICBjb25zdCBsYXlvdXQgPSB1c2VMYXlvdXRUeXBlKCk7XG4gIGNvbnN0IHsgd29ya3NwYWNlcywgd29ya3NwYWNlV2luZG93U3RhdGUsIHdvcmtzcGFjZUdyb3VwIH0gPSB1c2VXb3Jrc3BhY2VzKCk7XG4gIGNvbnN0IGN1cnJlbnRHcm91cE5hbWUgPSB3b3Jrc3BhY2VHcm91cD8ubmFtZTtcbiAgY29uc3QgYWN0aXZlV29ya3NwYWNlID0gd29ya3NwYWNlc1swXTtcbiAgY29uc3QgaXNIaWRkZW4gPSB3b3Jrc3BhY2VXaW5kb3dTdGF0ZSA9PT0gJ2hpZGRlbicgfHwgYWN0aXZlV29ya3NwYWNlID09IG51bGw7XG4gIGNvbnN0IGlzTWF4aW1pemVkID0gd29ya3NwYWNlV2luZG93U3RhdGUgPT09ICdtYXhpbWl6ZWQnO1xuICBjb25zdCB3aWR0aCA9IGFjdGl2ZVdvcmtzcGFjZT8ud2lkdGggPz8gKG92ZXJsYXkgPyAnd2lkZXInIDogJ25hcnJvdycpO1xuICBjb25zdCBzaG93QWN0aW9uTWVudSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gc2hvd1NpZGVyYWlsQW5kQm90dG9tTmF2IHx8IChjdXJyZW50R3JvdXBOYW1lICYmICFpc0hpZGRlbiksXG4gICAgW2N1cnJlbnRHcm91cE5hbWUsIGlzSGlkZGVuLCBzaG93U2lkZXJhaWxBbmRCb3R0b21OYXZdLFxuICApO1xuXG4gIHVzZUJvZHlTY3JvbGxMb2NrKCFpc0hpZGRlbiAmJiAhaXNEZXNrdG9wKGxheW91dCkpO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICBzaG93U2lkZXJhaWxBbmRCb3R0b21OYXZcbiAgICAgICAgICAgID8gc3R5bGVzLndvcmtzcGFjZUNvbnRhaW5lcldpdGhBY3Rpb25NZW51XG4gICAgICAgICAgICA6IHN0eWxlcy53b3Jrc3BhY2VDb250YWluZXJXaXRob3V0QWN0aW9uTWVudVxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIDxhc2lkZVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhvdmVybGF5ID8gc3R5bGVzLndvcmtzcGFjZU92ZXJsYXlPdXRlckNvbnRhaW5lciA6IHN0eWxlcy53b3Jrc3BhY2VXaW5kb3dTcGFjZXIsIHtcbiAgICAgICAgICAgIFtzdHlsZXMuaGlkZGVuUmVsYXRpdmVdOiBpc0hpZGRlbixcbiAgICAgICAgICAgIFtzdHlsZXMubmFycm93V29ya3NwYWNlXTogd2lkdGggPT09ICduYXJyb3cnLFxuICAgICAgICAgICAgW3N0eWxlcy53aWRlcldvcmtzcGFjZV06IHdpZHRoID09PSAnd2lkZXInLFxuICAgICAgICAgICAgW3N0eWxlcy5leHRyYVdpZGVXb3Jrc3BhY2VdOiB3aWR0aCA9PT0gJ2V4dHJhLXdpZGUnLFxuICAgICAgICAgIH0pfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKHN0eWxlcy53b3Jrc3BhY2VGaXhlZENvbnRhaW5lciwge1xuICAgICAgICAgICAgICBbc3R5bGVzLm1heGltaXplZFdpbmRvd106IGlzTWF4aW1pemVkLFxuICAgICAgICAgICAgICBbc3R5bGVzLmhpZGRlbkZpeGVkXTogaXNIaWRkZW4sXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7d29ya3NwYWNlcy5tYXAoKHdvcmtzcGFjZSwgaSkgPT4gKFxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAga2V5PXtgd29ya3NwYWNlLWNvbnRhaW5lci0ke3dvcmtzcGFjZSA/IHdvcmtzcGFjZS5uYW1lIDogYGVtcHR5LSR7aX1gfWB9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKHN0eWxlcy53b3Jrc3BhY2VJbm5lckNvbnRhaW5lciwgeyBbc3R5bGVzLmhpZGRlbkV4dHJhV29ya3NwYWNlXTogaSAhPT0gMCB9KX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTdXNwZW5zZSBmYWxsYmFjaz17bnVsbH0+XG4gICAgICAgICAgICAgICAgICA8STE4bmV4dFByb3ZpZGVyIGkxOG49e3dpbmRvdy5pMThuZXh0fSBkZWZhdWx0TlM9e3dvcmtzcGFjZS5tb2R1bGVOYW1lfT5cbiAgICAgICAgICAgICAgICAgICAgPFdvcmtzcGFjZSB3b3Jrc3BhY2VJbnN0YW5jZT17d29ya3NwYWNlfSBhZGRpdGlvbmFsV29ya3NwYWNlUHJvcHM9e2FkZGl0aW9uYWxXb3Jrc3BhY2VQcm9wc30gLz5cbiAgICAgICAgICAgICAgICAgIDwvSTE4bmV4dFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgIDwvU3VzcGVuc2U+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYXNpZGU+XG4gICAgICAgIDxXb3Jrc3BhY2VOb3RpZmljYXRpb24gY29udGV4dEtleT17Y29udGV4dEtleX0gLz5cbiAgICAgIDwvZGl2PlxuICAgICAge3Nob3dBY3Rpb25NZW51ICYmIChcbiAgICAgICAgPEFjdGlvbk1lbnVcbiAgICAgICAgICBuYW1lPXtjdXJyZW50R3JvdXBOYW1lfVxuICAgICAgICAgIGlzV2l0aGluV29ya3NwYWNlPXshc2hvd1NpZGVyYWlsQW5kQm90dG9tTmF2fVxuICAgICAgICAgIGFjdGlvbk1lbnVQcm9wcz17YWN0aW9uTWVudVByb3BzfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8Lz5cbiAgKTtcbn1cblxuaW50ZXJmYWNlIFdvcmtzcGFjZVByb3BzIHtcbiAgd29ya3NwYWNlSW5zdGFuY2U6IE9wZW5Xb3Jrc3BhY2U7XG4gIGFkZGl0aW9uYWxXb3Jrc3BhY2VQcm9wcz86IG9iamVjdDtcbn1cblxuZnVuY3Rpb24gV29ya3NwYWNlKHsgd29ya3NwYWNlSW5zdGFuY2UsIGFkZGl0aW9uYWxXb3Jrc3BhY2VQcm9wcyB9OiBXb3Jrc3BhY2VQcm9wcykge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IGxheW91dCA9IHVzZUxheW91dFR5cGUoKTtcbiAgY29uc3QgeyB3b3Jrc3BhY2VXaW5kb3dTdGF0ZSwgd29ya3NwYWNlR3JvdXAgfSA9IHVzZVdvcmtzcGFjZXMoKTtcbiAgY29uc3QgY3VycmVudEdyb3VwTmFtZSA9IHdvcmtzcGFjZUdyb3VwPy5uYW1lO1xuICBjb25zdCBpc01heGltaXplZCA9IHdvcmtzcGFjZVdpbmRvd1N0YXRlID09PSAnbWF4aW1pemVkJztcblxuICAvLyBUcmFuc2xhdGUgdGhlIHdvcmtzcGFjZSB0aXRsZVxuICAvLyBUaGUgd29ya3NwYWNlIHRpdGxlIGlzIGEgdHJhbnNsYXRpb24ga2V5IHdob3NlIHRyYW5zbGF0aW9uIHJlc2lkZXMgaW4gdGhlIHdvcmtzcGFjZSBtb2R1bGUuXG4gIC8vIFNpbmNlIHRoZSB3b3Jrc3BhY2UgbW9kdWxlIGlzIG5vdCBsb2FkZWQgYXQgdGhlIHRpbWUgb2Ygd29ya3NwYWNlIHJlZ2lzdHJhdGlvbiwgd2UgbmVlZCB0byB0cmFuc2xhdGUgaXQgaGVyZVxuICAvLyB3aGVuIHRoZSB3b3Jrc3BhY2UgaXMgYWN0dWFsbHkgcmVuZGVyZWQgYW5kIHRoZSB3b3Jrc3BhY2UgbW9kdWxlIGFsb25nIHdpdGggaXRzIHRyYW5zbGF0aW9ucyBhcmUgbG9hZGVkLlxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHRyYW5zbGF0ZWRUaXRsZSA9IHQod29ya3NwYWNlSW5zdGFuY2UudGl0bGUpO1xuICAgIGlmICh0cmFuc2xhdGVkVGl0bGUgIT09IHdvcmtzcGFjZUluc3RhbmNlLnRpdGxlKSB7XG4gICAgICB3b3Jrc3BhY2VJbnN0YW5jZS5zZXRUaXRsZSh0cmFuc2xhdGVkVGl0bGUpO1xuICAgIH1cbiAgfSwgW3dvcmtzcGFjZUluc3RhbmNlLnRpdGxlLCB0LCB3b3Jrc3BhY2VJbnN0YW5jZS5zZXRUaXRsZV0pO1xuXG4gIC8vIFdlIHVzZSB0aGUgZmVhdHVyZSBuYW1lIG9mIHRoZSBhcHAgY29udGFpbmluZyB0aGUgd29ya3NwYWNlIGluIG9yZGVyIHRvIHNldCB0aGUgZXh0ZW5zaW9uXG4gIC8vIHNsb3QgbmFtZS4gV2UgY2FuJ3QgdXNlIGNvbnRleHRLZXkgZm9yIHRoaXMgYmVjYXVzZSB3ZSBkb24ndCB3YW50IHRoZSBzbG90IG5hbWUgdG8gYmVcbiAgLy8gZGlmZmVyZW50IGZvciBkaWZmZXJlbnQgcGF0aWVudHMsIGJ1dCB3ZSBkbyB3YW50IGl0IHRvIGJlIGRpZmZlcmVudCBmb3IgZGlmZmVyZW50IGFwcHMuXG4gIGNvbnN0IHsgZmVhdHVyZU5hbWUgfSA9IHVzZUNvbnRleHQoQ29tcG9uZW50Q29udGV4dCk7XG5cbiAgY29uc3QgdG9nZ2xlV2luZG93U3RhdGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaXNNYXhpbWl6ZWQgPyB1cGRhdGVXb3Jrc3BhY2VXaW5kb3dTdGF0ZSgnbm9ybWFsJykgOiB1cGRhdGVXb3Jrc3BhY2VXaW5kb3dTdGF0ZSgnbWF4aW1pemVkJyk7XG4gIH0sIFtpc01heGltaXplZF0pO1xuXG4gIGNvbnN0IHtcbiAgICBjYW5IaWRlID0gZmFsc2UsXG4gICAgY2FuTWF4aW1pemUgPSBmYWxzZSxcbiAgICBjdXJyZW50V29ya3NwYWNlR3JvdXAgPSAnJyxcbiAgICBjbG9zZVdvcmtzcGFjZSxcbiAgfSA9IHVzZU1lbW8oKCkgPT4gd29ya3NwYWNlSW5zdGFuY2UgPz8gKHt9IGFzIE9wZW5Xb3Jrc3BhY2UpLCBbd29ya3NwYWNlSW5zdGFuY2VdKTtcblxuICBjb25zdCB3b3Jrc3BhY2VQcm9wcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIC4uLmFkZGl0aW9uYWxXb3Jrc3BhY2VQcm9wcyxcbiAgICAgIC4uLndvcmtzcGFjZUluc3RhbmNlPy5hZGRpdGlvbmFsUHJvcHMsXG4gICAgfSksXG4gICAgW2FkZGl0aW9uYWxXb3Jrc3BhY2VQcm9wcywgd29ya3NwYWNlSW5zdGFuY2VdLFxuICApO1xuXG4gIHJldHVybiAoXG4gICAgd29ya3NwYWNlSW5zdGFuY2UgJiYgKFxuICAgICAgPD5cbiAgICAgICAgPEhlYWRlciBhcmlhLWxhYmVsPXtnZXRDb3JlVHJhbnNsYXRpb24oJ3dvcmtzcGFjZUhlYWRlcicsICdXb3Jrc3BhY2UgSGVhZGVyJyl9IGNsYXNzTmFtZT17c3R5bGVzLmhlYWRlcn0+XG4gICAgICAgICAgeyFpc0Rlc2t0b3AobGF5b3V0KSAmJiAhY2FuSGlkZSAmJiAoXG4gICAgICAgICAgICA8SGVhZGVyTWVudUJ1dHRvblxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtnZXRDb3JlVHJhbnNsYXRpb24oJ2Nsb3NlJywgJ0Nsb3NlJyl9XG4gICAgICAgICAgICAgIHJlbmRlck1lbnVJY29uPXs8QXJyb3dMZWZ0SWNvbiAvPn1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gY2xvc2VXb3Jrc3BhY2UoKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8SGVhZGVyTmFtZSBwcmVmaXg9XCJcIj5cbiAgICAgICAgICAgIHt3b3Jrc3BhY2VJbnN0YW5jZS50aXRsZU5vZGUgPz8gKHQod29ya3NwYWNlSW5zdGFuY2UudGl0bGUpIGFzIFJlYWN0LlJlYWN0RWxlbWVudCl9XG4gICAgICAgICAgPC9IZWFkZXJOYW1lPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMub3ZlcmxheUhlYWRlclNwYWNlcn0gLz5cbiAgICAgICAgICA8SGVhZGVyR2xvYmFsQmFyIGNsYXNzTmFtZT17c3R5bGVzLmhlYWRlckJ1dHRvbnN9PlxuICAgICAgICAgICAgPEV4dGVuc2lvblNsb3RcbiAgICAgICAgICAgICAgbmFtZT17YHdvcmtzcGFjZS1oZWFkZXItZ3JvdXAtJHt3b3Jrc3BhY2VJbnN0YW5jZS5jdXJyZW50V29ya3NwYWNlR3JvdXB9LXNsb3RgfVxuICAgICAgICAgICAgICBzdGF0ZT17d29ya3NwYWNlUHJvcHN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPEV4dGVuc2lvblNsb3QgbmFtZT17YHdvcmtzcGFjZS1oZWFkZXItdHlwZS0ke3dvcmtzcGFjZUluc3RhbmNlLnR5cGV9LXNsb3RgfSBzdGF0ZT17d29ya3NwYWNlUHJvcHN9IC8+XG4gICAgICAgICAgICA8RXh0ZW5zaW9uU2xvdCBuYW1lPXtgd29ya3NwYWNlLWhlYWRlci0ke2ZlYXR1cmVOYW1lfS1zbG90YH0gc3RhdGU9e3dvcmtzcGFjZVByb3BzfSAvPlxuICAgICAgICAgICAge2lzRGVza3RvcChsYXlvdXQpICYmIChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICB7KGNhbk1heGltaXplIHx8IGlzTWF4aW1pemVkKSAmJiAoXG4gICAgICAgICAgICAgICAgICA8SGVhZGVyR2xvYmFsQWN0aW9uXG4gICAgICAgICAgICAgICAgICAgIC8qIEB0cy1leHBlY3QtZXJyb3IgKi9cbiAgICAgICAgICAgICAgICAgICAgYWxpZ249XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtcbiAgICAgICAgICAgICAgICAgICAgICBpc01heGltaXplZFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBnZXRDb3JlVHJhbnNsYXRpb24oJ21pbmltaXplJywgJ01pbmltaXplJylcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZ2V0Q29yZVRyYW5zbGF0aW9uKCdtYXhpbWl6ZScsICdNYXhpbWl6ZScpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbGFiZWw9e1xuICAgICAgICAgICAgICAgICAgICAgIGlzTWF4aW1pemVkXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGdldENvcmVUcmFuc2xhdGlvbignbWluaW1pemUnLCAnTWluaW1pemUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBnZXRDb3JlVHJhbnNsYXRpb24oJ21heGltaXplJywgJ01heGltaXplJylcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGVXaW5kb3dTdGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxnXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2lzTWF4aW1pemVkID8gPE1pbmltaXplIC8+IDogPE1heGltaXplIC8+fVxuICAgICAgICAgICAgICAgICAgPC9IZWFkZXJHbG9iYWxBY3Rpb24+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICB7Y2FuSGlkZSAmJiAhY3VycmVudEdyb3VwTmFtZSA/IChcbiAgICAgICAgICAgICAgICAgIDxIZWFkZXJHbG9iYWxBY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgLyogQHRzLWV4cGVjdC1lcnJvciAqL1xuICAgICAgICAgICAgICAgICAgICBhbGlnbj1cImJvdHRvbS1yaWdodFwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e2dldENvcmVUcmFuc2xhdGlvbignaGlkZScsICdIaWRlJyl9XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsPXtnZXRDb3JlVHJhbnNsYXRpb24oJ2hpZGUnLCAnSGlkZScpfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB1cGRhdGVXb3Jrc3BhY2VXaW5kb3dTdGF0ZSgnaGlkZGVuJyl9XG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJsZ1wiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxBcnJvd1JpZ2h0SWNvbiAvPlxuICAgICAgICAgICAgICAgICAgPC9IZWFkZXJHbG9iYWxBY3Rpb24+XG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxIZWFkZXJHbG9iYWxBY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgLyogQHRzLWV4cGVjdC1lcnJvciAqL1xuICAgICAgICAgICAgICAgICAgICBhbGlnbj1cImJvdHRvbS1yaWdodFwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e2dldENvcmVUcmFuc2xhdGlvbignY2xvc2UnLCAnQ2xvc2UnKX1cbiAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2dldENvcmVUcmFuc2xhdGlvbignY2xvc2UnLCAnQ2xvc2UnKX1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gY2xvc2VXb3Jrc3BhY2U/LigpfVxuICAgICAgICAgICAgICAgICAgICBzaXplPVwibGdcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8Q2xvc2VJY29uIC8+XG4gICAgICAgICAgICAgICAgICA8L0hlYWRlckdsb2JhbEFjdGlvbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7bGF5b3V0ID09PSAndGFibGV0JyAmJiBjYW5IaWRlICYmIChcbiAgICAgICAgICAgICAgPEhlYWRlckdsb2JhbEFjdGlvblxuICAgICAgICAgICAgICAgIC8qIEB0cy1leHBlY3QtZXJyb3IgKi9cbiAgICAgICAgICAgICAgICBhbGlnbj1cImJvdHRvbS1yaWdodFwiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17Z2V0Q29yZVRyYW5zbGF0aW9uKCdjbG9zZScsICdDbG9zZScpfVxuICAgICAgICAgICAgICAgIGxhYmVsPXtnZXRDb3JlVHJhbnNsYXRpb24oJ2Nsb3NlJywgJ0Nsb3NlJyl9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gY2xvc2VXb3Jrc3BhY2U/LigpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPERvd25Ub0JvdHRvbSAvPlxuICAgICAgICAgICAgICA8L0hlYWRlckdsb2JhbEFjdGlvbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9IZWFkZXJHbG9iYWxCYXI+XG4gICAgICAgIDwvSGVhZGVyPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKHN0eWxlcy53b3Jrc3BhY2VDb250ZW50LCB7XG4gICAgICAgICAgICBbc3R5bGVzLm1hcmdpbldvcmtzcGFjZUNvbnRlbnRdOiBCb29sZWFuKGN1cnJlbnRXb3Jrc3BhY2VHcm91cCksXG4gICAgICAgICAgfSl9XG4gICAgICAgID5cbiAgICAgICAgICA8V29ya3NwYWNlUmVuZGVyZXJcbiAgICAgICAgICAgIGtleT17d29ya3NwYWNlSW5zdGFuY2UubmFtZX1cbiAgICAgICAgICAgIHdvcmtzcGFjZT17d29ya3NwYWNlSW5zdGFuY2V9XG4gICAgICAgICAgICBhZGRpdGlvbmFsUHJvcHNGcm9tUGFnZT17YWRkaXRpb25hbFdvcmtzcGFjZVByb3BzfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC8+XG4gICAgKVxuICApO1xufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiU3VzcGVuc2UiLCJ1c2VDYWxsYmFjayIsInVzZUNvbnRleHQiLCJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwiSTE4bmV4dFByb3ZpZGVyIiwidXNlVHJhbnNsYXRpb24iLCJjbGFzc05hbWVzIiwiSGVhZGVyIiwiSGVhZGVyR2xvYmFsQWN0aW9uIiwiSGVhZGVyR2xvYmFsQmFyIiwiSGVhZGVyTWVudUJ1dHRvbiIsIkhlYWRlck5hbWUiLCJEb3duVG9Cb3R0b20iLCJNYXhpbWl6ZSIsIk1pbmltaXplIiwiQ29tcG9uZW50Q29udGV4dCIsIkV4dGVuc2lvblNsb3QiLCJpc0Rlc2t0b3AiLCJ1c2VCb2R5U2Nyb2xsTG9jayIsInVzZUxheW91dFR5cGUiLCJnZXRDb3JlVHJhbnNsYXRpb24iLCJBcnJvd0xlZnRJY29uIiwiQXJyb3dSaWdodEljb24iLCJDbG9zZUljb24iLCJXb3Jrc3BhY2VOb3RpZmljYXRpb24iLCJ1cGRhdGVXb3Jrc3BhY2VXaW5kb3dTdGF0ZSIsInVzZVdvcmtzcGFjZXMiLCJXb3Jrc3BhY2VSZW5kZXJlciIsIkFjdGlvbk1lbnUiLCJzdHlsZXMiLCJXb3Jrc3BhY2VDb250YWluZXIiLCJjb250ZXh0S2V5Iiwib3ZlcmxheSIsInNob3dTaWRlcmFpbEFuZEJvdHRvbU5hdiIsImFkZGl0aW9uYWxXb3Jrc3BhY2VQcm9wcyIsImFjdGlvbk1lbnVQcm9wcyIsImxheW91dCIsIndvcmtzcGFjZXMiLCJ3b3Jrc3BhY2VXaW5kb3dTdGF0ZSIsIndvcmtzcGFjZUdyb3VwIiwiY3VycmVudEdyb3VwTmFtZSIsIm5hbWUiLCJhY3RpdmVXb3Jrc3BhY2UiLCJpc0hpZGRlbiIsImlzTWF4aW1pemVkIiwid2lkdGgiLCJzaG93QWN0aW9uTWVudSIsImRpdiIsImNsYXNzTmFtZSIsIndvcmtzcGFjZUNvbnRhaW5lcldpdGhBY3Rpb25NZW51Iiwid29ya3NwYWNlQ29udGFpbmVyV2l0aG91dEFjdGlvbk1lbnUiLCJhc2lkZSIsIndvcmtzcGFjZU92ZXJsYXlPdXRlckNvbnRhaW5lciIsIndvcmtzcGFjZVdpbmRvd1NwYWNlciIsImhpZGRlblJlbGF0aXZlIiwibmFycm93V29ya3NwYWNlIiwid2lkZXJXb3Jrc3BhY2UiLCJleHRyYVdpZGVXb3Jrc3BhY2UiLCJ3b3Jrc3BhY2VGaXhlZENvbnRhaW5lciIsIm1heGltaXplZFdpbmRvdyIsImhpZGRlbkZpeGVkIiwibWFwIiwid29ya3NwYWNlIiwiaSIsImtleSIsIndvcmtzcGFjZUlubmVyQ29udGFpbmVyIiwiaGlkZGVuRXh0cmFXb3Jrc3BhY2UiLCJmYWxsYmFjayIsImkxOG4iLCJ3aW5kb3ciLCJpMThuZXh0IiwiZGVmYXVsdE5TIiwibW9kdWxlTmFtZSIsIldvcmtzcGFjZSIsIndvcmtzcGFjZUluc3RhbmNlIiwiaXNXaXRoaW5Xb3Jrc3BhY2UiLCJ0IiwidHJhbnNsYXRlZFRpdGxlIiwidGl0bGUiLCJzZXRUaXRsZSIsImZlYXR1cmVOYW1lIiwidG9nZ2xlV2luZG93U3RhdGUiLCJjYW5IaWRlIiwiY2FuTWF4aW1pemUiLCJjdXJyZW50V29ya3NwYWNlR3JvdXAiLCJjbG9zZVdvcmtzcGFjZSIsIndvcmtzcGFjZVByb3BzIiwiYWRkaXRpb25hbFByb3BzIiwiYXJpYS1sYWJlbCIsImhlYWRlciIsInJlbmRlck1lbnVJY29uIiwib25DbGljayIsInByZWZpeCIsInRpdGxlTm9kZSIsIm92ZXJsYXlIZWFkZXJTcGFjZXIiLCJoZWFkZXJCdXR0b25zIiwic3RhdGUiLCJ0eXBlIiwiYWxpZ24iLCJsYWJlbCIsInNpemUiLCJ3b3Jrc3BhY2VDb250ZW50IiwibWFyZ2luV29ya3NwYWNlQ29udGVudCIsIkJvb2xlYW4iLCJhZGRpdGlvbmFsUHJvcHNGcm9tUGFnZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/src/workspaces/container/workspace-container.component.tsx\n");
|
|
1958
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WorkspaceContainer: () => (/* binding */ WorkspaceContainer)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-i18next */ \"webpack/sharing/consume/default/react-i18next/react-i18next\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! classnames */ \"../../../node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _carbon_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @carbon/react */ \"webpack/sharing/consume/default/@carbon/react/@carbon/react\");\n/* harmony import */ var _carbon_react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_carbon_react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _carbon_react_icons__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @carbon/react/icons */ \"../../../node_modules/@carbon/icons-react/es/generated/bucket-11.js\");\n/* harmony import */ var _carbon_react_icons__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @carbon/react/icons */ \"../../../node_modules/@carbon/icons-react/es/generated/bucket-5.js\");\n/* harmony import */ var _openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @openmrs/esm-react-utils */ \"../../framework/esm-react-utils/dist/index.js\");\n/* harmony import */ var _openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @openmrs/esm-translations */ \"../../framework/esm-translations/dist/index.js\");\n/* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../icons */ \"../../framework/esm-styleguide/src/icons/index.ts\");\n/* harmony import */ var _notification_workspace_notification_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../notification/workspace-notification.component */ \"../../framework/esm-styleguide/src/workspaces/notification/workspace-notification.component.tsx\");\n/* harmony import */ var _workspaces__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../workspaces */ \"../../framework/esm-styleguide/src/workspaces/workspaces.ts\");\n/* harmony import */ var _workspace_renderer_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./workspace-renderer.component */ \"../../framework/esm-styleguide/src/workspaces/container/workspace-renderer.component.tsx\");\n/* harmony import */ var _action_menu_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./action-menu.component */ \"../../framework/esm-styleguide/src/workspaces/container/action-menu.component.tsx\");\n/* harmony import */ var _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./workspace.module.scss */ \"../../framework/esm-styleguide/src/workspaces/container/workspace.module.scss\");\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Use this component to render the [workspace window](https://zeroheight.com/23a080e38/p/483a22-workspace)\n * in an app such as the patient chart, or a workspace overlay in an app such as the clinic dashboard.\n * This allows workspaces to be opened on the page where this component is mounted. This component\n * must not be mounted multiple times on the same page. If there are multiple apps on a page, only\n * one of those apps should use this component—it \"hosts\" the workspaces.\n *\n * Workspaces may be opened with the [[launchWorkspace]] function from `@openmrs/esm-framework`\n * (among other options).\n *\n * The `overlay` prop determines whether the workspace is rendered as an overlay or a window.\n * When a workspace window is opened, the other content on the screen will be pushed to the left.\n * When an overlay is opened, it will cover other content on the screen.\n *\n * The context key is a string that appears in the URL, which defines the pages on which workspaces\n * are valid. If the URL changes in a way such that it no longer contains the context key, then\n * all workspaces will be closed. This ensures that, for example, workspaces on the home page do\n * not stay open when the user transitions to the patient dashboard; and also that workspaces do\n * not stay open when the user navigates to a different patient. The context key must be a valid\n * sub-path of the URL, with no initial or trailing slash. So if the URL is\n * `https://example.com/patient/123/foo`, then `patient` and `patient/123` and `123/foo` are valid\n * context keys, but `patient/12` and `pati` are not.\n *\n * An extension slot is provided in the workspace header. Its name is derived from the `featureName` of\n * the top-level component in which it is defined (feature names are generally provided in the lifecycle\n * functions in an app's `index.ts` file). The slot is named `workspace-header-${featureName}-slot`.\n * For the patient chart, this is `workspace-header-patient-chart-slot`.\n *\n * This component also provides the [Siderail and Bottom Nav](https://zeroheight.com/23a080e38/p/948cf1-siderail-and-bottom-nav/b/86907e).\n * To use this, pass the `showSiderailAndBottomNav` prop. The Siderail is rendered on the right side of the screen\n * on desktop, and the Bottom Nav is rendered at the bottom of the screen on tablet or mobile. The sidebar/bottom-nav\n * menu provides an extension slot, to which buttons are attached as extensions. The slot\n * derives its name from the `featureName` of the top-level component in which this `WorkspaceContainer`\n * appears (feature names are generally provided in the lifecycle functions in an app's `index.ts` file).\n * The slot is named `action-menu-${featureName}-items-slot`. For the patient chart, this is\n * `action-menu-patient-chart-items-slot`.\n *\n * This component also provides everything needed for workspace notifications to be rendered.\n *\n * @param props.contextKey The context key (explained above)\n * @param props.additionalWorkspaceProps Additional props to pass to the workspace. Using this is\n * unusual; you will generally want to pass props to the workspace when you open it, using\n * `launchWorkspace`. Use this only for props that will apply to every workspace launched\n * on the page where this component is mounted.\n */ function WorkspaceContainer(param) {\n var contextKey = param.contextKey, overlay = param.overlay, showSiderailAndBottomNav = param.showSiderailAndBottomNav, additionalWorkspaceProps = param.additionalWorkspaceProps, actionMenuProps = param.actionMenuProps;\n var layout = (0,_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__.useLayoutType)();\n var _useWorkspaces = (0,_workspaces__WEBPACK_IMPORTED_MODULE_8__.useWorkspaces)(), workspaces = _useWorkspaces.workspaces, workspaceWindowState = _useWorkspaces.workspaceWindowState, workspaceGroup = _useWorkspaces.workspaceGroup;\n var currentGroupName = workspaceGroup === null || workspaceGroup === void 0 ? void 0 : workspaceGroup.name;\n var activeWorkspace = workspaces[0];\n var isHidden = workspaceWindowState === 'hidden' || activeWorkspace == null;\n var isMaximized = workspaceWindowState === 'maximized';\n var _activeWorkspace_width;\n var width = (_activeWorkspace_width = activeWorkspace === null || activeWorkspace === void 0 ? void 0 : activeWorkspace.width) !== null && _activeWorkspace_width !== void 0 ? _activeWorkspace_width : overlay ? 'wider' : 'narrow';\n var showActionMenu = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function() {\n return showSiderailAndBottomNav || currentGroupName && !isHidden;\n }, [\n currentGroupName,\n isHidden,\n showSiderailAndBottomNav\n ]);\n (0,_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__.useBodyScrollLock)(!isHidden && !(0,_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__.isDesktop)(layout));\n var _obj, _obj1;\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: showSiderailAndBottomNav ? _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].workspaceContainerWithActionMenu : _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].workspaceContainerWithoutActionMenu\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"aside\", {\n className: classnames__WEBPACK_IMPORTED_MODULE_2___default()(overlay ? _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].workspaceOverlayOuterContainer : _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].workspaceWindowSpacer, (_obj = {}, _define_property(_obj, _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].hiddenRelative, isHidden), _define_property(_obj, _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].narrowWorkspace, width === 'narrow'), _define_property(_obj, _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].widerWorkspace, width === 'wider'), _define_property(_obj, _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].extraWideWorkspace, width === 'extra-wide'), _obj))\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: classnames__WEBPACK_IMPORTED_MODULE_2___default()(_workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].workspaceFixedContainer, (_obj1 = {}, _define_property(_obj1, _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].maximizedWindow, isMaximized), _define_property(_obj1, _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].hiddenFixed, isHidden), _obj1))\n }, workspaces.map(function(workspace, i) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n key: \"workspace-container-\".concat(workspace ? workspace.name : \"empty-\".concat(i)),\n className: classnames__WEBPACK_IMPORTED_MODULE_2___default()(_workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].workspaceInnerContainer, _define_property({}, _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].hiddenExtraWorkspace, i !== 0))\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react__WEBPACK_IMPORTED_MODULE_0__.Suspense, {\n fallback: null\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_i18next__WEBPACK_IMPORTED_MODULE_1__.I18nextProvider, {\n i18n: window.i18next,\n defaultNS: workspace.moduleName\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Workspace, {\n workspaceInstance: workspace,\n additionalWorkspaceProps: additionalWorkspaceProps\n }))));\n }))), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_notification_workspace_notification_component__WEBPACK_IMPORTED_MODULE_7__.WorkspaceNotification, {\n contextKey: contextKey\n })), showActionMenu && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_action_menu_component__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n name: currentGroupName,\n isWithinWorkspace: !showSiderailAndBottomNav,\n actionMenuProps: actionMenuProps\n }));\n}\nfunction Workspace(param) {\n var workspaceInstance = param.workspaceInstance, additionalWorkspaceProps = param.additionalWorkspaceProps;\n var t = (0,react_i18next__WEBPACK_IMPORTED_MODULE_1__.useTranslation)().t;\n var layout = (0,_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__.useLayoutType)();\n var _useWorkspaces = (0,_workspaces__WEBPACK_IMPORTED_MODULE_8__.useWorkspaces)(), workspaceWindowState = _useWorkspaces.workspaceWindowState, workspaceGroup = _useWorkspaces.workspaceGroup;\n var currentGroupName = workspaceGroup === null || workspaceGroup === void 0 ? void 0 : workspaceGroup.name;\n var isMaximized = workspaceWindowState === 'maximized';\n // Translate the workspace title\n // The workspace title is a translation key whose translation resides in the workspace module.\n // Since the workspace module is not loaded at the time of workspace registration, we need to translate it here\n // when the workspace is actually rendered and the workspace module along with its translations are loaded.\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n var translatedTitle = t(workspaceInstance.title);\n if (translatedTitle !== workspaceInstance.title) {\n workspaceInstance.setTitle(translatedTitle);\n }\n }, [\n workspaceInstance.title,\n t,\n workspaceInstance.setTitle\n ]);\n // We use the feature name of the app containing the workspace in order to set the extension\n // slot name. We can't use contextKey for this because we don't want the slot name to be\n // different for different patients, but we do want it to be different for different apps.\n var featureName = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__.ComponentContext).featureName;\n var toggleWindowState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function() {\n isMaximized ? (0,_workspaces__WEBPACK_IMPORTED_MODULE_8__.updateWorkspaceWindowState)('normal') : (0,_workspaces__WEBPACK_IMPORTED_MODULE_8__.updateWorkspaceWindowState)('maximized');\n }, [\n isMaximized\n ]);\n var _useMemo = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function() {\n return workspaceInstance !== null && workspaceInstance !== void 0 ? workspaceInstance : {};\n }, [\n workspaceInstance\n ]), _useMemo_canHide = _useMemo.canHide, canHide = _useMemo_canHide === void 0 ? false : _useMemo_canHide, _useMemo_canMaximize = _useMemo.canMaximize, canMaximize = _useMemo_canMaximize === void 0 ? false : _useMemo_canMaximize, _useMemo_currentWorkspaceGroup = _useMemo.currentWorkspaceGroup, currentWorkspaceGroup = _useMemo_currentWorkspaceGroup === void 0 ? '' : _useMemo_currentWorkspaceGroup, closeWorkspace = _useMemo.closeWorkspace;\n var workspaceProps = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function() {\n return _object_spread({}, additionalWorkspaceProps, workspaceInstance === null || workspaceInstance === void 0 ? void 0 : workspaceInstance.additionalProps);\n }, [\n additionalWorkspaceProps,\n workspaceInstance\n ]);\n var _workspaceInstance_titleNode;\n return workspaceInstance && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react__WEBPACK_IMPORTED_MODULE_3__.Header, {\n \"aria-label\": (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('workspaceHeader', 'Workspace Header'),\n className: _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].header\n }, !(0,_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__.isDesktop)(layout) && !canHide && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react__WEBPACK_IMPORTED_MODULE_3__.HeaderMenuButton, {\n \"aria-label\": (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('close', 'Close'),\n renderMenuIcon: /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_icons__WEBPACK_IMPORTED_MODULE_6__.ArrowLeftIcon, null),\n onClick: function() {\n return closeWorkspace();\n }\n }), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react__WEBPACK_IMPORTED_MODULE_3__.HeaderName, {\n prefix: \"\"\n }, (_workspaceInstance_titleNode = workspaceInstance.titleNode) !== null && _workspaceInstance_titleNode !== void 0 ? _workspaceInstance_titleNode : t(workspaceInstance.title)), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].overlayHeaderSpacer\n }), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react__WEBPACK_IMPORTED_MODULE_3__.HeaderGlobalBar, {\n className: _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].headerButtons\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__.ExtensionSlot, {\n name: \"workspace-header-group-\".concat(workspaceInstance.currentWorkspaceGroup, \"-slot\"),\n state: workspaceProps\n }), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__.ExtensionSlot, {\n name: \"workspace-header-type-\".concat(workspaceInstance.type, \"-slot\"),\n state: workspaceProps\n }), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__.ExtensionSlot, {\n name: \"workspace-header-\".concat(featureName, \"-slot\"),\n state: workspaceProps\n }), (0,_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_4__.isDesktop)(layout) && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, (canMaximize || isMaximized) && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react__WEBPACK_IMPORTED_MODULE_3__.HeaderGlobalAction, {\n /* @ts-expect-error */ align: \"bottom\",\n \"aria-label\": isMaximized ? (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('minimize', 'Minimize') : (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('maximize', 'Maximize'),\n label: isMaximized ? (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('minimize', 'Minimize') : (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('maximize', 'Maximize'),\n onClick: toggleWindowState,\n size: \"lg\"\n }, isMaximized ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react_icons__WEBPACK_IMPORTED_MODULE_12__.Minimize, null) : /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react_icons__WEBPACK_IMPORTED_MODULE_12__.Maximize, null)), canHide && !currentGroupName ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react__WEBPACK_IMPORTED_MODULE_3__.HeaderGlobalAction, {\n /* @ts-expect-error */ align: \"bottom-right\",\n \"aria-label\": (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('hide', 'Hide'),\n label: (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('hide', 'Hide'),\n onClick: function() {\n return (0,_workspaces__WEBPACK_IMPORTED_MODULE_8__.updateWorkspaceWindowState)('hidden');\n },\n size: \"lg\"\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_icons__WEBPACK_IMPORTED_MODULE_6__.ArrowRightIcon, null)) : /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react__WEBPACK_IMPORTED_MODULE_3__.HeaderGlobalAction, {\n /* @ts-expect-error */ align: \"bottom-right\",\n \"aria-label\": (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('close', 'Close'),\n label: (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('close', 'Close'),\n onClick: function() {\n return closeWorkspace === null || closeWorkspace === void 0 ? void 0 : closeWorkspace();\n },\n size: \"lg\"\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_icons__WEBPACK_IMPORTED_MODULE_6__.CloseIcon, null))), layout === 'tablet' && canHide && /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react__WEBPACK_IMPORTED_MODULE_3__.HeaderGlobalAction, {\n /* @ts-expect-error */ align: \"bottom-right\",\n \"aria-label\": (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('close', 'Close'),\n label: (0,_openmrs_esm_translations__WEBPACK_IMPORTED_MODULE_5__.getCoreTranslation)('close', 'Close'),\n onClick: function() {\n return closeWorkspace === null || closeWorkspace === void 0 ? void 0 : closeWorkspace();\n }\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react_icons__WEBPACK_IMPORTED_MODULE_13__.DownToBottom, null)))), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: classnames__WEBPACK_IMPORTED_MODULE_2___default()(_workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].workspaceContent, _define_property({}, _workspace_module_scss__WEBPACK_IMPORTED_MODULE_11__[\"default\"].marginWorkspaceContent, Boolean(currentWorkspaceGroup)))\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_workspace_renderer_component__WEBPACK_IMPORTED_MODULE_9__.WorkspaceRenderer, {\n key: workspaceInstance.name,\n workspace: workspaceInstance,\n additionalPropsFromPage: additionalWorkspaceProps\n })));\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy93b3Jrc3BhY2VzL2NvbnRhaW5lci93b3Jrc3BhY2UtY29udGFpbmVyLmNvbXBvbmVudC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBcUc7QUFDckM7QUFDNUI7QUFDc0U7QUFDbkM7QUFDaUQ7QUFDekQ7QUFDUTtBQUNrQjtBQUNLO0FBQzNCO0FBQ2xCO0FBQ0o7QUFVN0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNENDLEdBQ00sU0FBU2dDLG1CQUFtQixLQU1UO1FBTHhCQyxhQURpQyxNQUNqQ0EsWUFDQUMsVUFGaUMsTUFFakNBLFNBQ0FDLDJCQUhpQyxNQUdqQ0EsMEJBQ0FDLDJCQUppQyxNQUlqQ0EsMEJBQ0FDLGtCQUxpQyxNQUtqQ0E7SUFFQSxJQUFNQyxTQUFTakIsdUVBQWFBO0lBQzVCLElBQTZETyxpQkFBQUEsMERBQWFBLElBQWxFVyxhQUFxRFgsZUFBckRXLFlBQVlDLHVCQUF5Q1osZUFBekNZLHNCQUFzQkMsaUJBQW1CYixlQUFuQmE7SUFDMUMsSUFBTUMsbUJBQW1CRCwyQkFBQUEscUNBQUFBLGVBQWdCRSxJQUFJO0lBQzdDLElBQU1DLGtCQUFrQkwsVUFBVSxDQUFDLEVBQUU7SUFDckMsSUFBTU0sV0FBV0wseUJBQXlCLFlBQVlJLG1CQUFtQjtJQUN6RSxJQUFNRSxjQUFjTix5QkFBeUI7UUFDL0JJO0lBQWQsSUFBTUcsUUFBUUgsQ0FBQUEseUJBQUFBLDRCQUFBQSxzQ0FBQUEsZ0JBQWlCRyxLQUFLLGNBQXRCSCxvQ0FBQUEseUJBQTJCVixVQUFVLFVBQVU7SUFDN0QsSUFBTWMsaUJBQWlCM0MsOENBQU9BLENBQzVCO2VBQU04Qiw0QkFBNkJPLG9CQUFvQixDQUFDRztPQUN4RDtRQUFDSDtRQUFrQkc7UUFBVVY7S0FBeUI7SUFHeERmLDJFQUFpQkEsQ0FBQyxD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QVM7bUJBQU1OLDJCQUFBQSxxQ0FBQUE7O3FCQUVmLDJEQUFDekUsOERBQVlBLDBCQUtyQiwyREFBQ21DO1FBQ0NDLFdBQVcxQyxpREFBVUEsQ0FBQ3VCLCtEQUFNQSxDQUFDd0UsZ0JBQWdCLEVBQzNDLHFCQUFDeEUsK0RBQU1BLENBQUN5RSxzQkFBc0IsRUFBR0MsUUFBUW5CO3FCQUczQywyREFBQ3pELDRFQUFpQkE7UUFDaEJxQyxLQUFLVSxrQkFBa0JqQyxJQUFJO1FBQzNCcUIsV0FBV1k7UUFDWDhCLHlCQUF5QnRFOztBQU1yQyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy93b3Jrc3BhY2VzL2NvbnRhaW5lci93b3Jrc3BhY2UtY29udGFpbmVyLmNvbXBvbmVudC50c3g/ZWEzZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdHlwZSBSZWFjdE5vZGUsIFN1c3BlbnNlLCB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSTE4bmV4dFByb3ZpZGVyLCB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBIZWFkZXIsIEhlYWRlckdsb2JhbEFjdGlvbiwgSGVhZGVyR2xvYmFsQmFyLCBIZWFkZXJNZW51QnV0dG9uLCBIZWFkZXJOYW1lIH0gZnJvbSAnQGNhcmJvbi9yZWFjdCc7XG5pbXBvcnQgeyBEb3duVG9Cb3R0b20sIE1heGltaXplLCBNaW5pbWl6ZSB9IGZyb20gJ0BjYXJib24vcmVhY3QvaWNvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50Q29udGV4dCwgRXh0ZW5zaW9uU2xvdCwgaXNEZXNrdG9wLCB1c2VCb2R5U2Nyb2xsTG9jaywgdXNlTGF5b3V0VHlwZSB9IGZyb20gJ0BvcGVubXJzL2VzbS1yZWFjdC11dGlscyc7XG5pbXBvcnQgeyBnZXRDb3JlVHJhbnNsYXRpb24gfSBmcm9tICdAb3Blbm1ycy9lc20tdHJhbnNsYXRpb25zJztcbmltcG9ydCB7IEFycm93TGVmdEljb24sIEFycm93UmlnaHRJY29uLCBDbG9zZUljb24gfSBmcm9tICcuLi8uLi9pY29ucyc7XG5pbXBvcnQgeyBXb3Jrc3BhY2VOb3RpZmljYXRpb24gfSBmcm9tICcuLi9ub3RpZmljYXRpb24vd29ya3NwYWNlLW5vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgdHlwZSBPcGVuV29ya3NwYWNlLCB1cGRhdGVXb3Jrc3BhY2VXaW5kb3dTdGF0ZSwgdXNlV29ya3NwYWNlcyB9IGZyb20gJy4uL3dvcmtzcGFjZXMnO1xuaW1wb3J0IHsgV29ya3NwYWNlUmVuZGVyZXIgfSBmcm9tICcuL3dvcmtzcGFjZS1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IEFjdGlvbk1lbnUgZnJvbSAnLi9hY3Rpb24tbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHN0eWxlcyBmcm9tICcuL3dvcmtzcGFjZS5tb2R1bGUuc2Nzcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV29ya3NwYWNlQ29udGFpbmVyUHJvcHMge1xuICBjb250ZXh0S2V5OiBzdHJpbmc7XG4gIG92ZXJsYXk/OiBib29sZWFuO1xuICBzaG93U2lkZXJhaWxBbmRCb3R0b21OYXY/OiBib29sZWFuO1xuICBhZGRpdGlvbmFsV29ya3NwYWNlUHJvcHM/OiBvYmplY3Q7XG4gIGFjdGlvbk1lbnVQcm9wcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG4vKipcbiAqIFVzZSB0aGlzIGNvbXBvbmVudCB0byByZW5kZXIgdGhlIFt3b3Jrc3BhY2Ugd2luZG93XShodHRwczovL3plcm9oZWlnaHQuY29tLzIzYTA4MGUzOC9wLzQ4M2EyMi13b3Jrc3BhY2UpXG4gKiBpbiBhbiBhcHAgc3VjaCBhcyB0aGUgcGF0aWVudCBjaGFydCwgb3IgYSB3b3Jrc3BhY2Ugb3ZlcmxheSBpbiBhbiBhcHAgc3VjaCBhcyB0aGUgY2xpbmljIGRhc2hib2FyZC5cbiAqIFRoaXMgYWxsb3dzIHdvcmtzcGFjZXMgdG8gYmUgb3BlbmVkIG9uIHRoZSBwYWdlIHdoZXJlIHRoaXMgY29tcG9uZW50IGlzIG1vdW50ZWQuIFRoaXMgY29tcG9uZW50XG4gKiBtdXN0IG5vdCBiZSBtb3VudGVkIG11bHRpcGxlIHRpbWVzIG9uIHRoZSBzYW1lIHBhZ2UuIElmIHRoZXJlIGFyZSBtdWx0aXBsZSBhcHBzIG9uIGEgcGFnZSwgb25seVxuICogb25lIG9mIHRob3NlIGFwcHMgc2hvdWxkIHVzZSB0aGlzIGNvbXBvbmVudOKAlGl0IFwiaG9zdHNcIiB0aGUgd29ya3NwYWNlcy5cbiAqXG4gKiBXb3Jrc3BhY2VzIG1heSBiZSBvcGVuZWQgd2l0aCB0aGUgW1tsYXVuY2hXb3Jrc3BhY2VdXSBmdW5jdGlvbiBmcm9tIGBAb3Blbm1ycy9lc20tZnJhbWV3b3JrYFxuICogKGFtb25nIG90aGVyIG9wdGlvbnMpLlxuICpcbiAqIFRoZSBgb3ZlcmxheWAgcHJvcCBkZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHdvcmtzcGFjZSBpcyByZW5kZXJlZCBhcyBhbiBvdmVybGF5IG9yIGEgd2luZG93LlxuICogV2hlbiBhIHdvcmtzcGFjZSB3aW5kb3cgaXMgb3BlbmVkLCB0aGUgb3RoZXIgY29udGVudCBvbiB0aGUgc2NyZWVuIHdpbGwgYmUgcHVzaGVkIHRvIHRoZSBsZWZ0LlxuICogV2hlbiBhbiBvdmVybGF5IGlzIG9wZW5lZCwgaXQgd2lsbCBjb3ZlciBvdGhlciBjb250ZW50IG9uIHRoZSBzY3JlZW4uXG4gKlxuICogVGhlIGNvbnRleHQga2V5IGlzIGEgc3RyaW5nIHRoYXQgYXBwZWFycyBpbiB0aGUgVVJMLCB3aGljaCBkZWZpbmVzIHRoZSBwYWdlcyBvbiB3aGljaCB3b3Jrc3BhY2VzXG4gKiBhcmUgdmFsaWQuIElmIHRoZSBVUkwgY2hhbmdlcyBpbiBhIHdheSBzdWNoIHRoYXQgaXQgbm8gbG9uZ2VyIGNvbnRhaW5zIHRoZSBjb250ZXh0IGtleSwgdGhlblxuICogYWxsIHdvcmtzcGFjZXMgd2lsbCBiZSBjbG9zZWQuIFRoaXMgZW5zdXJlcyB0aGF0LCBmb3IgZXhhbXBsZSwgd29ya3NwYWNlcyBvbiB0aGUgaG9tZSBwYWdlIGRvXG4gKiBub3Qgc3RheSBvcGVuIHdoZW4gdGhlIHVzZXIgdHJhbnNpdGlvbnMgdG8gdGhlIHBhdGllbnQgZGFzaGJvYXJkOyBhbmQgYWxzbyB0aGF0IHdvcmtzcGFjZXMgZG9cbiAqIG5vdCBzdGF5IG9wZW4gd2hlbiB0aGUgdXNlciBuYXZpZ2F0ZXMgdG8gYSBkaWZmZXJlbnQgcGF0aWVudC4gVGhlIGNvbnRleHQga2V5IG11c3QgYmUgYSB2YWxpZFxuICogc3ViLXBhdGggb2YgdGhlIFVSTCwgd2l0aCBubyBpbml0aWFsIG9yIHRyYWlsaW5nIHNsYXNoLiBTbyBpZiB0aGUgVVJMIGlzXG4gKiBgaHR0cHM6Ly9leGFtcGxlLmNvbS9wYXRpZW50LzEyMy9mb29gLCB0aGVuIGBwYXRpZW50YCBhbmQgYHBhdGllbnQvMTIzYCBhbmQgYDEyMy9mb29gIGFyZSB2YWxpZFxuICogY29udGV4dCBrZXlzLCBidXQgYHBhdGllbnQvMTJgIGFuZCBgcGF0aWAgYXJlIG5vdC5cbiAqXG4gKiBBbiBleHRlbnNpb24gc2xvdCBpcyBwcm92aWRlZCBpbiB0aGUgd29ya3NwYWNlIGhlYWRlci4gSXRzIG5hbWUgaXMgZGVyaXZlZCBmcm9tIHRoZSBgZmVhdHVyZU5hbWVgIG9mXG4gKiB0aGUgdG9wLWxldmVsIGNvbXBvbmVudCBpbiB3aGljaCBpdCBpcyBkZWZpbmVkIChmZWF0dXJlIG5hbWVzIGFyZSBnZW5lcmFsbHkgcHJvdmlkZWQgaW4gdGhlIGxpZmVjeWNsZVxuICogZnVuY3Rpb25zIGluIGFuIGFwcCdzIGBpbmRleC50c2AgZmlsZSkuIFRoZSBzbG90IGlzIG5hbWVkIGB3b3Jrc3BhY2UtaGVhZGVyLSR7ZmVhdHVyZU5hbWV9LXNsb3RgLlxuICogRm9yIHRoZSBwYXRpZW50IGNoYXJ0LCB0aGlzIGlzIGB3b3Jrc3BhY2UtaGVhZGVyLXBhdGllbnQtY2hhcnQtc2xvdGAuXG4gKlxuICogVGhpcyBjb21wb25lbnQgYWxzbyBwcm92aWRlcyB0aGUgW1NpZGVyYWlsIGFuZCBCb3R0b20gTmF2XShodHRwczovL3plcm9oZWlnaHQuY29tLzIzYTA4MGUzOC9wLzk0OGNmMS1zaWRlcmFpbC1hbmQtYm90dG9tLW5hdi9iLzg2OTA3ZSkuXG4gKiBUbyB1c2UgdGhpcywgcGFzcyB0aGUgYHNob3dTaWRlcmFpbEFuZEJvdHRvbU5hdmAgcHJvcC4gVGhlIFNpZGVyYWlsIGlzIHJlbmRlcmVkIG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBzY3JlZW5cbiAqIG9uIGRlc2t0b3AsIGFuZCB0aGUgQm90dG9tIE5hdiBpcyByZW5kZXJlZCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4gb24gdGFibGV0IG9yIG1vYmlsZS4gVGhlIHNpZGViYXIvYm90dG9tLW5hdlxuICogbWVudSBwcm92aWRlcyBhbiBleHRlbnNpb24gc2xvdCwgdG8gd2hpY2ggYnV0dG9ucyBhcmUgYXR0YWNoZWQgYXMgZXh0ZW5zaW9ucy4gVGhlIHNsb3RcbiAqIGRlcml2ZXMgaXRzIG5hbWUgZnJvbSB0aGUgYGZlYXR1cmVOYW1lYCBvZiB0aGUgdG9wLWxldmVsIGNvbXBvbmVudCBpbiB3aGljaCB0aGlzIGBXb3Jrc3BhY2VDb250YWluZXJgXG4gKiBhcHBlYXJzIChmZWF0dXJlIG5hbWVzIGFyZSBnZW5lcmFsbHkgcHJvdmlkZWQgaW4gdGhlIGxpZmVjeWNsZSBmdW5jdGlvbnMgaW4gYW4gYXBwJ3MgYGluZGV4LnRzYCBmaWxlKS5cbiAqIFRoZSBzbG90IGlzIG5hbWVkIGBhY3Rpb24tbWVudS0ke2ZlYXR1cmVOYW1lfS1pdGVtcy1zbG90YC4gRm9yIHRoZSBwYXRpZW50IGNoYXJ0LCB0aGlzIGlzXG4gKiBgYWN0aW9uLW1lbnUtcGF0aWVudC1jaGFydC1pdGVtcy1zbG90YC5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBhbHNvIHByb3ZpZGVzIGV2ZXJ5dGhpbmcgbmVlZGVkIGZvciB3b3Jrc3BhY2Ugbm90aWZpY2F0aW9ucyB0byBiZSByZW5kZXJlZC5cbiAqXG4gKiBAcGFyYW0gcHJvcHMuY29udGV4dEtleSBUaGUgY29udGV4dCBrZXkgKGV4cGxhaW5lZCBhYm92ZSlcbiAqIEBwYXJhbSBwcm9wcy5hZGRpdGlvbmFsV29ya3NwYWNlUHJvcHMgQWRkaXRpb25hbCBwcm9wcyB0byBwYXNzIHRvIHRoZSB3b3Jrc3BhY2UuIFVzaW5nIHRoaXMgaXNcbiAqICAgICAgICAgIHVudXN1YWw7IHlvdSB3aWxsIGdlbmVyYWxseSB3YW50IHRvIHBhc3MgcHJvcHMgdG8gdGhlIHdvcmtzcGFjZSB3aGVuIHlvdSBvcGVuIGl0LCB1c2luZ1xuICogICAgICAgICAgYGxhdW5jaFdvcmtzcGFjZWAuIFVzZSB0aGlzIG9ubHkgZm9yIHByb3BzIHRoYXQgd2lsbCBhcHBseSB0byBldmVyeSB3b3Jrc3BhY2UgbGF1bmNoZWRcbiAqICAgICAgICAgIG9uIHRoZSBwYWdlIHdoZXJlIHRoaXMgY29tcG9uZW50IGlzIG1vdW50ZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXb3Jrc3BhY2VDb250YWluZXIoe1xuICBjb250ZXh0S2V5LFxuICBvdmVybGF5LFxuICBzaG93U2lkZXJhaWxBbmRCb3R0b21OYXYsXG4gIGFkZGl0aW9uYWxXb3Jrc3BhY2VQcm9wcyxcbiAgYWN0aW9uTWVudVByb3BzLFxufTogV29ya3NwYWNlQ29udGFpbmVyUHJvcHMpIHtcbiAgY29uc3QgbGF5b3V0ID0gdXNlTGF5b3V0VHlwZSgpO1xuICBjb25zdCB7IHdvcmtzcGFjZXMsIHdvcmtzcGFjZVdpbmRvd1N0YXRlLCB3b3Jrc3BhY2VHcm91cCB9ID0gdXNlV29ya3NwYWNlcygpO1xuICBjb25zdCBjdXJyZW50R3JvdXBOYW1lID0gd29ya3NwYWNlR3JvdXA/Lm5hbWU7XG4gIGNvbnN0IGFjdGl2ZVdvcmtzcGFjZSA9IHdvcmtzcGFjZXNbMF07XG4gIGNvbnN0IGlzSGlkZGVuID0gd29ya3NwYWNlV2luZG93U3RhdGUgPT09ICdoaWRkZW4nIHx8IGFjdGl2ZVdvcmtzcGFjZSA9PSBudWxsO1xuICBjb25zdCBpc01heGltaXplZCA9IHdvcmtzcGFjZVdpbmRvd1N0YXRlID09PSAnbWF4aW1pemVkJztcbiAgY29uc3Qgd2lkdGggPSBhY3RpdmVXb3Jrc3BhY2U/LndpZHRoID8/IChvdmVybGF5ID8gJ3dpZGVyJyA6ICduYXJyb3cnKTtcbiAgY29uc3Qgc2hvd0FjdGlvbk1lbnUgPSB1c2VNZW1vKFxuICAgICgpID0+IHNob3dTaWRlcmFpbEFuZEJvdHRvbU5hdiB8fCAoY3VycmVudEdyb3VwTmFtZSAmJiAhaXNIaWRkZW4pLFxuICAgIFtjdXJyZW50R3JvdXBOYW1lLCBpc0hpZGRlbiwgc2hvd1NpZGVyYWlsQW5kQm90dG9tTmF2XSxcbiAgKTtcblxuICB1c2VCb2R5U2Nyb2xsTG9jayghaXNIaWRkZW4gJiYgIWlzRGVza3RvcChsYXlvdXQpKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgc2hvd1NpZGVyYWlsQW5kQm90dG9tTmF2XG4gICAgICAgICAgICA/IHN0eWxlcy53b3Jrc3BhY2VDb250YWluZXJXaXRoQWN0aW9uTWVudVxuICAgICAgICAgICAgOiBzdHlsZXMud29ya3NwYWNlQ29udGFpbmVyV2l0aG91dEFjdGlvbk1lbnVcbiAgICAgICAgfVxuICAgICAgPlxuICAgICAgICA8YXNpZGVcbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMob3ZlcmxheSA/IHN0eWxlcy53b3Jrc3BhY2VPdmVybGF5T3V0ZXJDb250YWluZXIgOiBzdHlsZXMud29ya3NwYWNlV2luZG93U3BhY2VyLCB7XG4gICAgICAgICAgICBbc3R5bGVzLmhpZGRlblJlbGF0aXZlXTogaXNIaWRkZW4sXG4gICAgICAgICAgICBbc3R5bGVzLm5hcnJvd1dvcmtzcGFjZV06IHdpZHRoID09PSAnbmFycm93JyxcbiAgICAgICAgICAgIFtzdHlsZXMud2lkZXJXb3Jrc3BhY2VdOiB3aWR0aCA9PT0gJ3dpZGVyJyxcbiAgICAgICAgICAgIFtzdHlsZXMuZXh0cmFXaWRlV29ya3NwYWNlXTogd2lkdGggPT09ICdleHRyYS13aWRlJyxcbiAgICAgICAgICB9KX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhzdHlsZXMud29ya3NwYWNlRml4ZWRDb250YWluZXIsIHtcbiAgICAgICAgICAgICAgW3N0eWxlcy5tYXhpbWl6ZWRXaW5kb3ddOiBpc01heGltaXplZCxcbiAgICAgICAgICAgICAgW3N0eWxlcy5oaWRkZW5GaXhlZF06IGlzSGlkZGVuLFxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3dvcmtzcGFjZXMubWFwKCh3b3Jrc3BhY2UsIGkpID0+IChcbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGtleT17YHdvcmtzcGFjZS1jb250YWluZXItJHt3b3Jrc3BhY2UgPyB3b3Jrc3BhY2UubmFtZSA6IGBlbXB0eS0ke2l9YH1gfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhzdHlsZXMud29ya3NwYWNlSW5uZXJDb250YWluZXIsIHsgW3N0eWxlcy5oaWRkZW5FeHRyYVdvcmtzcGFjZV06IGkgIT09IDAgfSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8U3VzcGVuc2UgZmFsbGJhY2s9e251bGx9PlxuICAgICAgICAgICAgICAgICAgPEkxOG5leHRQcm92aWRlciBpMThuPXt3aW5kb3cuaTE4bmV4dH0gZGVmYXVsdE5TPXt3b3Jrc3BhY2UubW9kdWxlTmFtZX0+XG4gICAgICAgICAgICAgICAgICAgIDxXb3Jrc3BhY2Ugd29ya3NwYWNlSW5zdGFuY2U9e3dvcmtzcGFjZX0gYWRkaXRpb25hbFdvcmtzcGFjZVByb3BzPXthZGRpdGlvbmFsV29ya3NwYWNlUHJvcHN9IC8+XG4gICAgICAgICAgICAgICAgICA8L0kxOG5leHRQcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L1N1c3BlbnNlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2FzaWRlPlxuICAgICAgICA8V29ya3NwYWNlTm90aWZpY2F0aW9uIGNvbnRleHRLZXk9e2NvbnRleHRLZXl9IC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIHtzaG93QWN0aW9uTWVudSAmJiAoXG4gICAgICAgIDxBY3Rpb25NZW51XG4gICAgICAgICAgbmFtZT17Y3VycmVudEdyb3VwTmFtZX1cbiAgICAgICAgICBpc1dpdGhpbldvcmtzcGFjZT17IXNob3dTaWRlcmFpbEFuZEJvdHRvbU5hdn1cbiAgICAgICAgICBhY3Rpb25NZW51UHJvcHM9e2FjdGlvbk1lbnVQcm9wc31cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC8+XG4gICk7XG59XG5cbmludGVyZmFjZSBXb3Jrc3BhY2VQcm9wcyB7XG4gIHdvcmtzcGFjZUluc3RhbmNlOiBPcGVuV29ya3NwYWNlO1xuICBhZGRpdGlvbmFsV29ya3NwYWNlUHJvcHM/OiBvYmplY3Q7XG59XG5cbmZ1bmN0aW9uIFdvcmtzcGFjZSh7IHdvcmtzcGFjZUluc3RhbmNlLCBhZGRpdGlvbmFsV29ya3NwYWNlUHJvcHMgfTogV29ya3NwYWNlUHJvcHMpIHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCBsYXlvdXQgPSB1c2VMYXlvdXRUeXBlKCk7XG4gIGNvbnN0IHsgd29ya3NwYWNlV2luZG93U3RhdGUsIHdvcmtzcGFjZUdyb3VwIH0gPSB1c2VXb3Jrc3BhY2VzKCk7XG4gIGNvbnN0IGN1cnJlbnRHcm91cE5hbWUgPSB3b3Jrc3BhY2VHcm91cD8ubmFtZTtcbiAgY29uc3QgaXNNYXhpbWl6ZWQgPSB3b3Jrc3BhY2VXaW5kb3dTdGF0ZSA9PT0gJ21heGltaXplZCc7XG5cbiAgLy8gVHJhbnNsYXRlIHRoZSB3b3Jrc3BhY2UgdGl0bGVcbiAgLy8gVGhlIHdvcmtzcGFjZSB0aXRsZSBpcyBhIHRyYW5zbGF0aW9uIGtleSB3aG9zZSB0cmFuc2xhdGlvbiByZXNpZGVzIGluIHRoZSB3b3Jrc3BhY2UgbW9kdWxlLlxuICAvLyBTaW5jZSB0aGUgd29ya3NwYWNlIG1vZHVsZSBpcyBub3QgbG9hZGVkIGF0IHRoZSB0aW1lIG9mIHdvcmtzcGFjZSByZWdpc3RyYXRpb24sIHdlIG5lZWQgdG8gdHJhbnNsYXRlIGl0IGhlcmVcbiAgLy8gd2hlbiB0aGUgd29ya3NwYWNlIGlzIGFjdHVhbGx5IHJlbmRlcmVkIGFuZCB0aGUgd29ya3NwYWNlIG1vZHVsZSBhbG9uZyB3aXRoIGl0cyB0cmFuc2xhdGlvbnMgYXJlIGxvYWRlZC5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB0cmFuc2xhdGVkVGl0bGUgPSB0KHdvcmtzcGFjZUluc3RhbmNlLnRpdGxlKTtcbiAgICBpZiAodHJhbnNsYXRlZFRpdGxlICE9PSB3b3Jrc3BhY2VJbnN0YW5jZS50aXRsZSkge1xuICAgICAgd29ya3NwYWNlSW5zdGFuY2Uuc2V0VGl0bGUodHJhbnNsYXRlZFRpdGxlKTtcbiAgICB9XG4gIH0sIFt3b3Jrc3BhY2VJbnN0YW5jZS50aXRsZSwgdCwgd29ya3NwYWNlSW5zdGFuY2Uuc2V0VGl0bGVdKTtcblxuICAvLyBXZSB1c2UgdGhlIGZlYXR1cmUgbmFtZSBvZiB0aGUgYXBwIGNvbnRhaW5pbmcgdGhlIHdvcmtzcGFjZSBpbiBvcmRlciB0byBzZXQgdGhlIGV4dGVuc2lvblxuICAvLyBzbG90IG5hbWUuIFdlIGNhbid0IHVzZSBjb250ZXh0S2V5IGZvciB0aGlzIGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudCB0aGUgc2xvdCBuYW1lIHRvIGJlXG4gIC8vIGRpZmZlcmVudCBmb3IgZGlmZmVyZW50IHBhdGllbnRzLCBidXQgd2UgZG8gd2FudCBpdCB0byBiZSBkaWZmZXJlbnQgZm9yIGRpZmZlcmVudCBhcHBzLlxuICBjb25zdCB7IGZlYXR1cmVOYW1lIH0gPSB1c2VDb250ZXh0KENvbXBvbmVudENvbnRleHQpO1xuXG4gIGNvbnN0IHRvZ2dsZVdpbmRvd1N0YXRlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlzTWF4aW1pemVkID8gdXBkYXRlV29ya3NwYWNlV2luZG93U3RhdGUoJ25vcm1hbCcpIDogdXBkYXRlV29ya3NwYWNlV2luZG93U3RhdGUoJ21heGltaXplZCcpO1xuICB9LCBbaXNNYXhpbWl6ZWRdKTtcblxuICBjb25zdCB7XG4gICAgY2FuSGlkZSA9IGZhbHNlLFxuICAgIGNhbk1heGltaXplID0gZmFsc2UsXG4gICAgY3VycmVudFdvcmtzcGFjZUdyb3VwID0gJycsXG4gICAgY2xvc2VXb3Jrc3BhY2UsXG4gIH0gPSB1c2VNZW1vKCgpID0+IHdvcmtzcGFjZUluc3RhbmNlID8/ICh7fSBhcyBPcGVuV29ya3NwYWNlKSwgW3dvcmtzcGFjZUluc3RhbmNlXSk7XG5cbiAgY29uc3Qgd29ya3NwYWNlUHJvcHMgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICAuLi5hZGRpdGlvbmFsV29ya3NwYWNlUHJvcHMsXG4gICAgICAuLi53b3Jrc3BhY2VJbnN0YW5jZT8uYWRkaXRpb25hbFByb3BzLFxuICAgIH0pLFxuICAgIFthZGRpdGlvbmFsV29ya3NwYWNlUHJvcHMsIHdvcmtzcGFjZUluc3RhbmNlXSxcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIHdvcmtzcGFjZUluc3RhbmNlICYmIChcbiAgICAgIDw+XG4gICAgICAgIDxIZWFkZXIgYXJpYS1sYWJlbD17Z2V0Q29yZVRyYW5zbGF0aW9uKCd3b3Jrc3BhY2VIZWFkZXInLCAnV29ya3NwYWNlIEhlYWRlcicpfSBjbGFzc05hbWU9e3N0eWxlcy5oZWFkZXJ9PlxuICAgICAgICAgIHshaXNEZXNrdG9wKGxheW91dCkgJiYgIWNhbkhpZGUgJiYgKFxuICAgICAgICAgICAgPEhlYWRlck1lbnVCdXR0b25cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17Z2V0Q29yZVRyYW5zbGF0aW9uKCdjbG9zZScsICdDbG9zZScpfVxuICAgICAgICAgICAgICByZW5kZXJNZW51SWNvbj17PEFycm93TGVmdEljb24gLz59XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGNsb3NlV29ya3NwYWNlKCl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPEhlYWRlck5hbWUgcHJlZml4PVwiXCI+e3dvcmtzcGFjZUluc3RhbmNlLnRpdGxlTm9kZSA/PyAodCh3b3Jrc3BhY2VJbnN0YW5jZS50aXRsZSkgYXMgUmVhY3ROb2RlKX08L0hlYWRlck5hbWU+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5vdmVybGF5SGVhZGVyU3BhY2VyfSAvPlxuICAgICAgICAgIDxIZWFkZXJHbG9iYWxCYXIgY2xhc3NOYW1lPXtzdHlsZXMuaGVhZGVyQnV0dG9uc30+XG4gICAgICAgICAgICA8RXh0ZW5zaW9uU2xvdFxuICAgICAgICAgICAgICBuYW1lPXtgd29ya3NwYWNlLWhlYWRlci1ncm91cC0ke3dvcmtzcGFjZUluc3RhbmNlLmN1cnJlbnRXb3Jrc3BhY2VHcm91cH0tc2xvdGB9XG4gICAgICAgICAgICAgIHN0YXRlPXt3b3Jrc3BhY2VQcm9wc31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8RXh0ZW5zaW9uU2xvdCBuYW1lPXtgd29ya3NwYWNlLWhlYWRlci10eXBlLSR7d29ya3NwYWNlSW5zdGFuY2UudHlwZX0tc2xvdGB9IHN0YXRlPXt3b3Jrc3BhY2VQcm9wc30gLz5cbiAgICAgICAgICAgIDxFeHRlbnNpb25TbG90IG5hbWU9e2B3b3Jrc3BhY2UtaGVhZGVyLSR7ZmVhdHVyZU5hbWV9LXNsb3RgfSBzdGF0ZT17d29ya3NwYWNlUHJvcHN9IC8+XG4gICAgICAgICAgICB7aXNEZXNrdG9wKGxheW91dCkgJiYgKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHsoY2FuTWF4aW1pemUgfHwgaXNNYXhpbWl6ZWQpICYmIChcbiAgICAgICAgICAgICAgICAgIDxIZWFkZXJHbG9iYWxBY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgLyogQHRzLWV4cGVjdC1lcnJvciAqL1xuICAgICAgICAgICAgICAgICAgICBhbGlnbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e1xuICAgICAgICAgICAgICAgICAgICAgIGlzTWF4aW1pemVkXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGdldENvcmVUcmFuc2xhdGlvbignbWluaW1pemUnLCAnTWluaW1pemUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBnZXRDb3JlVHJhbnNsYXRpb24oJ21heGltaXplJywgJ01heGltaXplJylcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBsYWJlbD17XG4gICAgICAgICAgICAgICAgICAgICAgaXNNYXhpbWl6ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gZ2V0Q29yZVRyYW5zbGF0aW9uKCdtaW5pbWl6ZScsICdNaW5pbWl6ZScpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGdldENvcmVUcmFuc2xhdGlvbignbWF4aW1pemUnLCAnTWF4aW1pemUnKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RvZ2dsZVdpbmRvd1N0YXRlfVxuICAgICAgICAgICAgICAgICAgICBzaXplPVwibGdcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7aXNNYXhpbWl6ZWQgPyA8TWluaW1pemUgLz4gOiA8TWF4aW1pemUgLz59XG4gICAgICAgICAgICAgICAgICA8L0hlYWRlckdsb2JhbEFjdGlvbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIHtjYW5IaWRlICYmICFjdXJyZW50R3JvdXBOYW1lID8gKFxuICAgICAgICAgICAgICAgICAgPEhlYWRlckdsb2JhbEFjdGlvblxuICAgICAgICAgICAgICAgICAgICAvKiBAdHMtZXhwZWN0LWVycm9yICovXG4gICAgICAgICAgICAgICAgICAgIGFsaWduPVwiYm90dG9tLXJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17Z2V0Q29yZVRyYW5zbGF0aW9uKCdoaWRlJywgJ0hpZGUnKX1cbiAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2dldENvcmVUcmFuc2xhdGlvbignaGlkZScsICdIaWRlJyl9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHVwZGF0ZVdvcmtzcGFjZVdpbmRvd1N0YXRlKCdoaWRkZW4nKX1cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxnXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEFycm93UmlnaHRJY29uIC8+XG4gICAgICAgICAgICAgICAgICA8L0hlYWRlckdsb2JhbEFjdGlvbj5cbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgPEhlYWRlckdsb2JhbEFjdGlvblxuICAgICAgICAgICAgICAgICAgICAvKiBAdHMtZXhwZWN0LWVycm9yICovXG4gICAgICAgICAgICAgICAgICAgIGFsaWduPVwiYm90dG9tLXJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17Z2V0Q29yZVRyYW5zbGF0aW9uKCdjbG9zZScsICdDbG9zZScpfVxuICAgICAgICAgICAgICAgICAgICBsYWJlbD17Z2V0Q29yZVRyYW5zbGF0aW9uKCdjbG9zZScsICdDbG9zZScpfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBjbG9zZVdvcmtzcGFjZT8uKCl9XG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJsZ1wiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxDbG9zZUljb24gLz5cbiAgICAgICAgICAgICAgICAgIDwvSGVhZGVyR2xvYmFsQWN0aW9uPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHtsYXlvdXQgPT09ICd0YWJsZXQnICYmIGNhbkhpZGUgJiYgKFxuICAgICAgICAgICAgICA8SGVhZGVyR2xvYmFsQWN0aW9uXG4gICAgICAgICAgICAgICAgLyogQHRzLWV4cGVjdC1lcnJvciAqL1xuICAgICAgICAgICAgICAgIGFsaWduPVwiYm90dG9tLXJpZ2h0XCJcbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtnZXRDb3JlVHJhbnNsYXRpb24oJ2Nsb3NlJywgJ0Nsb3NlJyl9XG4gICAgICAgICAgICAgICAgbGFiZWw9e2dldENvcmVUcmFuc2xhdGlvbignY2xvc2UnLCAnQ2xvc2UnKX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBjbG9zZVdvcmtzcGFjZT8uKCl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8RG93blRvQm90dG9tIC8+XG4gICAgICAgICAgICAgIDwvSGVhZGVyR2xvYmFsQWN0aW9uPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0hlYWRlckdsb2JhbEJhcj5cbiAgICAgICAgPC9IZWFkZXI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoc3R5bGVzLndvcmtzcGFjZUNvbnRlbnQsIHtcbiAgICAgICAgICAgIFtzdHlsZXMubWFyZ2luV29ya3NwYWNlQ29udGVudF06IEJvb2xlYW4oY3VycmVudFdvcmtzcGFjZUdyb3VwKSxcbiAgICAgICAgICB9KX1cbiAgICAgICAgPlxuICAgICAgICAgIDxXb3Jrc3BhY2VSZW5kZXJlclxuICAgICAgICAgICAga2V5PXt3b3Jrc3BhY2VJbnN0YW5jZS5uYW1lfVxuICAgICAgICAgICAgd29ya3NwYWNlPXt3b3Jrc3BhY2VJbnN0YW5jZX1cbiAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wc0Zyb21QYWdlPXthZGRpdGlvbmFsV29ya3NwYWNlUHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApXG4gICk7XG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJTdXNwZW5zZSIsInVzZUNhbGxiYWNrIiwidXNlQ29udGV4dCIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJJMThuZXh0UHJvdmlkZXIiLCJ1c2VUcmFuc2xhdGlvbiIsImNsYXNzTmFtZXMiLCJIZWFkZXIiLCJIZWFkZXJHbG9iYWxBY3Rpb24iLCJIZWFkZXJHbG9iYWxCYXIiLCJIZWFkZXJNZW51QnV0dG9uIiwiSGVhZGVyTmFtZSIsIkRvd25Ub0JvdHRvbSIsIk1heGltaXplIiwiTWluaW1pemUiLCJDb21wb25lbnRDb250ZXh0IiwiRXh0ZW5zaW9uU2xvdCIsImlzRGVza3RvcCIsInVzZUJvZHlTY3JvbGxMb2NrIiwidXNlTGF5b3V0VHlwZSIsImdldENvcmVUcmFuc2xhdGlvbiIsIkFycm93TGVmdEljb24iLCJBcnJvd1JpZ2h0SWNvbiIsIkNsb3NlSWNvbiIsIldvcmtzcGFjZU5vdGlmaWNhdGlvbiIsInVwZGF0ZVdvcmtzcGFjZVdpbmRvd1N0YXRlIiwidXNlV29ya3NwYWNlcyIsIldvcmtzcGFjZVJlbmRlcmVyIiwiQWN0aW9uTWVudSIsInN0eWxlcyIsIldvcmtzcGFjZUNvbnRhaW5lciIsImNvbnRleHRLZXkiLCJvdmVybGF5Iiwic2hvd1NpZGVyYWlsQW5kQm90dG9tTmF2IiwiYWRkaXRpb25hbFdvcmtzcGFjZVByb3BzIiwiYWN0aW9uTWVudVByb3BzIiwibGF5b3V0Iiwid29ya3NwYWNlcyIsIndvcmtzcGFjZVdpbmRvd1N0YXRlIiwid29ya3NwYWNlR3JvdXAiLCJjdXJyZW50R3JvdXBOYW1lIiwibmFtZSIsImFjdGl2ZVdvcmtzcGFjZSIsImlzSGlkZGVuIiwiaXNNYXhpbWl6ZWQiLCJ3aWR0aCIsInNob3dBY3Rpb25NZW51IiwiZGl2IiwiY2xhc3NOYW1lIiwid29ya3NwYWNlQ29udGFpbmVyV2l0aEFjdGlvbk1lbnUiLCJ3b3Jrc3BhY2VDb250YWluZXJXaXRob3V0QWN0aW9uTWVudSIsImFzaWRlIiwid29ya3NwYWNlT3ZlcmxheU91dGVyQ29udGFpbmVyIiwid29ya3NwYWNlV2luZG93U3BhY2VyIiwiaGlkZGVuUmVsYXRpdmUiLCJuYXJyb3dXb3Jrc3BhY2UiLCJ3aWRlcldvcmtzcGFjZSIsImV4dHJhV2lkZVdvcmtzcGFjZSIsIndvcmtzcGFjZUZpeGVkQ29udGFpbmVyIiwibWF4aW1pemVkV2luZG93IiwiaGlkZGVuRml4ZWQiLCJtYXAiLCJ3b3Jrc3BhY2UiLCJpIiwia2V5Iiwid29ya3NwYWNlSW5uZXJDb250YWluZXIiLCJoaWRkZW5FeHRyYVdvcmtzcGFjZSIsImZhbGxiYWNrIiwiaTE4biIsIndpbmRvdyIsImkxOG5leHQiLCJkZWZhdWx0TlMiLCJtb2R1bGVOYW1lIiwiV29ya3NwYWNlIiwid29ya3NwYWNlSW5zdGFuY2UiLCJpc1dpdGhpbldvcmtzcGFjZSIsInQiLCJ0cmFuc2xhdGVkVGl0bGUiLCJ0aXRsZSIsInNldFRpdGxlIiwiZmVhdHVyZU5hbWUiLCJ0b2dnbGVXaW5kb3dTdGF0ZSIsImNhbkhpZGUiLCJjYW5NYXhpbWl6ZSIsImN1cnJlbnRXb3Jrc3BhY2VHcm91cCIsImNsb3NlV29ya3NwYWNlIiwid29ya3NwYWNlUHJvcHMiLCJhZGRpdGlvbmFsUHJvcHMiLCJhcmlhLWxhYmVsIiwiaGVhZGVyIiwicmVuZGVyTWVudUljb24iLCJvbkNsaWNrIiwicHJlZml4IiwidGl0bGVOb2RlIiwib3ZlcmxheUhlYWRlclNwYWNlciIsImhlYWRlckJ1dHRvbnMiLCJzdGF0ZSIsInR5cGUiLCJhbGlnbiIsImxhYmVsIiwic2l6ZSIsIndvcmtzcGFjZUNvbnRlbnQiLCJtYXJnaW5Xb3Jrc3BhY2VDb250ZW50IiwiQm9vbGVhbiIsImFkZGl0aW9uYWxQcm9wc0Zyb21QYWdlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/src/workspaces/container/workspace-container.component.tsx\n");
|
|
1959
1959
|
|
|
1960
1960
|
/***/ }),
|
|
1961
1961
|
|