@openmrs/esm-app-shell 10.0.1-pre.5607 → 10.0.1-pre.5616

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.
@@ -4456,7 +4456,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webp
4456
4456
  },
4457
4457
  "../../framework/esm-api/dist/current-user.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
4458
4458
  "use strict";
4459
- eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n clearCurrentUser: () => (clearCurrentUser),\n getCurrentUser: () => (getCurrentUser),\n getLoggedInUser: () => (getLoggedInUser),\n getSessionLocation: () => (getSessionLocation),\n getSessionStore: () => (getSessionStore),\n refetchCurrentUser: () => (refetchCurrentUser),\n sessionStore: () => (sessionStore),\n setSessionLocation: () => (setSessionLocation),\n setUserLanguage: () => (setUserLanguage),\n setUserProperties: () => (setUserProperties),\n userHasAccess: () => (userHasAccess)\n});\n/* import */ var _openmrs_esm_error_handling__rspack_import_0 = __webpack_require__(\"../../framework/esm-error-handling/dist/index.js\");\n/* import */ var _openmrs_esm_state__rspack_import_1 = __webpack_require__(\"../../framework/esm-state/dist/index.js\");\n/* import */ var lodash_es__rspack_import_3 = __webpack_require__(\"../../../node_modules/lodash-es/isUndefined.js\");\n/* import */ var _openmrs_fetch_js__rspack_import_2 = __webpack_require__(\"../../framework/esm-api/dist/openmrs-fetch.js\");\n/** @module @category API */ \n\n\n\n/** @internal */ const sessionStore = (0,_openmrs_esm_state__rspack_import_1.createGlobalStore)('session', {\n loaded: false,\n session: null\n});\n/**\n * The upper bound on how old the session handed to a reader may be. It is measured from the moment a\n * fetch is *started*, not from the moment its response lands, so the session a reader sees is always\n * strictly newer than this.\n */ const sessionMaxAgeMillis = 60 * 1000;\nlet lastFetchTimeMillis = 0;\nlet inFlightRefresh = null;\n/**\n * Fetches the session if the store is unloaded or its session is older than `sessionMaxAgeMillis`.\n * Returns `null` only when the store already holds a session fresh enough to be read as-is, so a\n * caller that gets a promise back must wait for it rather than read the store.\n *\n * A fetch already in flight is joined rather than duplicated. This is what keeps `sessionMaxAgeMillis`\n * an upper bound: while a fetch is running, the store still holds the previous session, and returning\n * that would hand back data older than the bound allows.\n *\n * The returned promise rejects if the fetch fails, but the rejection is already handled and reported,\n * so a caller that only needs the fetch started can ignore it.\n */ function refreshSessionIfStale() {\n if (inFlightRefresh) {\n return inFlightRefresh;\n }\n if (sessionStore.getState().loaded && lastFetchTimeMillis >= Date.now() - sessionMaxAgeMillis) {\n return null;\n }\n return refetchCurrentUser();\n}\nfunction getCurrentUser(opts) {\n const includeAuthStatus = opts?.includeAuthStatus ?? true;\n const select = (session)=>includeAuthStatus ? session : session.user;\n if (!refreshSessionIfStale()) {\n return Promise.resolve(select(sessionStore.getState().session));\n }\n return new Promise((resolve)=>{\n const unsubscribe = sessionStore.subscribe((state)=>{\n if (state.loaded) {\n unsubscribe();\n resolve(select(state.session));\n }\n });\n });\n}\n\n/**\n * Returns the global session store containing the current user's session information.\n * If the session data is stale (older than 1 minute) or not yet loaded, this function\n * will trigger a refetch of the current user's session.\n *\n * @returns The global session store that can be subscribed to for session updates.\n *\n * @example\n * ```ts\n * import { getSessionStore } from '@openmrs/esm-api';\n * const store = getSessionStore();\n * const unsubscribe = store.subscribe((state) => {\n * if (state.loaded) {\n * console.log('Session:', state.session);\n * }\n * });\n * ```\n */ function getSessionStore() {\n refreshSessionIfStale();\n return sessionStore;\n}\n// NB locale is string only if this returns true\nfunction isValidLocale(locale) {\n if (locale === undefined || typeof locale !== 'string') {\n return false;\n }\n try {\n new Intl.Locale(locale);\n } catch (e) {\n return false;\n }\n return true;\n}\n/**\n * Sets the document's language attribute based on the user's locale preference\n * from the session data. This affects the HTML `lang` attribute which is used\n * for accessibility and internationalization.\n *\n * The locale is determined from either the session's locale or the user's\n * default locale property. Underscores in the locale are converted to hyphens\n * to match BCP 47 language tag format.\n *\n * @param data The session object containing locale information.\n */ function setUserLanguage(data) {\n let locale = data.locale ?? data.user?.userProperties?.defaultLocale;\n // Only underscores are converted here, deliberately, rather than reusing `toLanguageTag`. i18next\n // reads this value back off `document.lang` and uses it as the translation bundle key, and those\n // bundles are named with the POSIX form (`uz@Latn.json`), so converting `@` would send the loader\n // after a bundle that does not exist.\n if (locale && locale.includes('_')) {\n locale = locale.replaceAll('_', '-');\n }\n if (isValidLocale(locale) && locale !== document.documentElement.getAttribute('lang')) {\n document.documentElement.setAttribute('lang', locale);\n }\n}\nsessionStore.subscribe((state)=>{\n if (state.loaded && state.session) {\n setUserLanguage(state.session);\n }\n});\nfunction userHasPrivilege(requiredPrivilege, user) {\n if (typeof requiredPrivilege === 'string') {\n return !(0,lodash_es__rspack_import_3[\"default\"])(user.privileges.find((p)=>requiredPrivilege === p.display));\n } else if (Array.isArray(requiredPrivilege)) {\n return requiredPrivilege.every((rp)=>!(0,lodash_es__rspack_import_3[\"default\"])(user.privileges.find((p)=>rp === p.display)));\n } else if (!(0,lodash_es__rspack_import_3[\"default\"])(requiredPrivilege)) {\n console.error(`Could not understand privileges \"${requiredPrivilege}\"`);\n }\n return true;\n}\nfunction isSuperUser(user) {\n return !(0,lodash_es__rspack_import_3[\"default\"])(user.roles.find((role)=>role.display === 'System Developer'));\n}\n/**\n * The `refetchCurrentUser` function causes a network request to redownload\n * the user. All subscribers to the session store will be notified of the\n * new user once the new version of the user object is downloaded.\n *\n * @returns A Promise resolving to the updated session store state.\n *\n * @example\n * ```js\n * import { refetchCurrentUser } from '@openmrs/esm-api'\n * refetchCurrentUser()\n * ```\n */ function refetchCurrentUser(username, password) {\n lastFetchTimeMillis = Date.now();\n let headers = {};\n if (username && password) {\n headers['Authorization'] = `Basic ${window.btoa(`${username}:${password}`)}`;\n }\n const refresh = handleSessionResponse((0,_openmrs_fetch_js__rspack_import_2.openmrsFetch)(_openmrs_fetch_js__rspack_import_2.sessionEndpoint, {\n headers\n }));\n // Publish the request so that readers can wait on it instead of reading the session it is about to\n // replace. Each call still issues its own request; this only tracks the most recent one.\n const clear = ()=>{\n if (inFlightRefresh === refresh) {\n inFlightRefresh = null;\n }\n };\n refresh.then(clear, clear);\n inFlightRefresh = refresh;\n return refresh;\n}\n/**\n * Clears the current user session from the session store, setting the session\n * to an unauthenticated state. This is typically called during logout to reset\n * the application's authentication state.\n *\n * @example\n * ```ts\n * import { clearCurrentUser } from '@openmrs/esm-api';\n * // During logout\n * clearCurrentUser();\n * ```\n */ function clearCurrentUser() {\n sessionStore.setState({\n loaded: true,\n session: {\n authenticated: false,\n sessionId: ''\n }\n });\n}\n/**\n * Checks whether the given user has access based on the required privilege(s).\n * A user has access if they have the required privilege(s) or if they are a\n * \"System Developer\" (super user). If no privilege is required, access is granted.\n *\n * @param requiredPrivilege A single privilege string or an array of privilege strings\n * that the user must have. If an array is provided, the user must have ALL privileges.\n * @param user The user object containing their privileges and roles.\n * @returns `true` if the user has access, `false` otherwise. Returns `true` if no\n * privilege is required, and `false` if the user is undefined but a privilege is required.\n *\n * @example\n * ```ts\n * import { userHasAccess } from '@openmrs/esm-api';\n * const hasAccess = userHasAccess('View Patients', currentUser);\n * const hasMultipleAccess = userHasAccess(['View Patients', 'Edit Patients'], currentUser);\n * ```\n */ function userHasAccess(requiredPrivilege, user) {\n if (user === undefined) {\n // if the user hasn't been loaded, then return false iff there is a required privilege\n return !Boolean(requiredPrivilege);\n }\n if (!Boolean(requiredPrivilege)) {\n // if user exists but no requiredPrivilege is defined\n return true;\n }\n return userHasPrivilege(requiredPrivilege, user) || isSuperUser(user);\n}\n/**\n * Returns a Promise that resolves with the currently logged-in user object.\n * If the user is already loaded in the session store, the Promise resolves immediately.\n * Otherwise, it subscribes to the session store and resolves when a logged-in user\n * becomes available.\n *\n * @returns A Promise that resolves with the LoggedInUser object once available.\n *\n * @example\n * ```ts\n * import { getLoggedInUser } from '@openmrs/esm-api';\n * const user = await getLoggedInUser();\n * console.log('Logged in as:', user.display);\n * ```\n */ function getLoggedInUser() {\n let user;\n let unsubscribe;\n return new Promise((res)=>{\n const handler = (state)=>{\n if (state.loaded && state.session.user) {\n user = state.session.user;\n res(state.session.user);\n if (unsubscribe) {\n unsubscribe();\n }\n }\n };\n handler(sessionStore.getState());\n if (!user) {\n unsubscribe = sessionStore.subscribe(handler);\n }\n });\n}\n/**\n * Returns a Promise that resolves with the current session location, if one is set.\n * The session location represents the physical location where the user is currently\n * working (e.g., a clinic or ward).\n *\n * @returns A Promise that resolves with the SessionLocation object, or `undefined`\n * if no session location is set.\n *\n * @example\n * ```ts\n * import { getSessionLocation } from '@openmrs/esm-api';\n * const location = await getSessionLocation();\n * if (location) {\n * console.log('Current location:', location.display);\n * }\n * ```\n */ async function getSessionLocation() {\n const session = await getCurrentUser();\n return session.sessionLocation;\n}\n/**\n * Sets the session location for the current user. The session location represents\n * the physical location where the user is working (e.g., a clinic or ward).\n * This triggers a server request to update the session and refreshes the local\n * session store.\n *\n * @param locationUuid The UUID of the location to set as the session location.\n * @param abortController An AbortController to allow cancellation of the request.\n * @returns A Promise that resolves with the updated SessionStore.\n *\n * @example\n * ```ts\n * import { setSessionLocation } from '@openmrs/esm-api';\n * const abortController = new AbortController();\n * await setSessionLocation('location-uuid-here', abortController);\n * ```\n */ async function setSessionLocation(locationUuid, abortController) {\n return handleSessionResponse((0,_openmrs_fetch_js__rspack_import_2.openmrsFetch)(_openmrs_fetch_js__rspack_import_2.sessionEndpoint, {\n method: 'POST',\n body: {\n sessionLocation: locationUuid\n },\n headers: {\n 'Content-Type': 'application/json'\n },\n signal: abortController.signal\n }));\n}\n/**\n * Updates the user properties for a specific user. User properties are key-value\n * pairs that store user-specific settings and preferences. After updating the\n * properties on the server, the current user session is refetched to reflect\n * the changes.\n *\n * @param userUuid The UUID of the user whose properties should be updated.\n * @param userProperties An object containing the properties to set or update.\n * @param abortController Optional AbortController to allow cancellation of the request.\n * If not provided, a new AbortController is created.\n * @returns A Promise that resolves with the updated SessionStore after refetching\n * the current user.\n *\n * @example\n * ```ts\n * import { getLoggedInUser, setUserProperties } from '@openmrs/esm-api';\n * const user = await getLoggedInUser();\n * await setUserProperties(user.uuid, {\n * defaultLocale: 'en_GB',\n * customSetting: 'value'\n * });\n * ```\n */ async function setUserProperties(userUuid, userProperties, abortController) {\n if (!abortController) {\n abortController = new AbortController();\n }\n await (0,_openmrs_fetch_js__rspack_import_2.openmrsFetch)(`${_openmrs_fetch_js__rspack_import_2.restBaseUrl}/user/${userUuid}`, {\n method: 'POST',\n body: {\n userProperties\n },\n headers: {\n 'Content-Type': 'application/json'\n },\n signal: abortController.signal\n });\n return refetchCurrentUser();\n}\nfunction handleSessionResponse(result) {\n return new Promise((resolve, reject)=>{\n result.then((res)=>{\n let nextState;\n if (typeof res?.data === 'object') {\n nextState = {\n loaded: true,\n session: res.data\n };\n sessionStore.setState(nextState);\n resolve(nextState);\n } else {\n nextState = {\n loaded: false,\n session: null\n };\n sessionStore.setState(nextState);\n reject(nextState);\n }\n }).catch((err)=>{\n (0,_openmrs_esm_error_handling__rspack_import_0.reportError)(`Failed to fetch new session information: ${err}`);\n const nextState = {\n loaded: false,\n session: null\n };\n sessionStore.setState(nextState);\n reject(nextState);\n });\n });\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyPz9ydWxlU2V0WzFdLnJ1bGVzWzVdLnVzZVswXSEvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvcGFja2FnZXMvZnJhbWV3b3JrL2VzbS1hcGkvZGlzdC9jdXJyZW50LXVzZXIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tYXBpL2Rpc3QvY3VycmVudC11c2VyLmpzPzcxMjkiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IEFQSSAqLyBpbXBvcnQgeyByZXBvcnRFcnJvciB9IGZyb20gXCJAb3Blbm1ycy9lc20tZXJyb3ItaGFuZGxpbmdcIjtcbmltcG9ydCB7IGNyZWF0ZUdsb2JhbFN0b3JlIH0gZnJvbSBcIkBvcGVubXJzL2VzbS1zdGF0ZVwiO1xuaW1wb3J0IHsgaXNVbmRlZmluZWQgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBvcGVubXJzRmV0Y2gsIHJlc3RCYXNlVXJsLCBzZXNzaW9uRW5kcG9pbnQgfSBmcm9tIFwiLi9vcGVubXJzLWZldGNoLmpzXCI7XG4vKiogQGludGVybmFsICovIGV4cG9ydCBjb25zdCBzZXNzaW9uU3RvcmUgPSBjcmVhdGVHbG9iYWxTdG9yZSgnc2Vzc2lvbicsIHtcbiAgICBsb2FkZWQ6IGZhbHNlLFxuICAgIHNlc3Npb246IG51bGxcbn0pO1xuLyoqXG4gKiBUaGUgdXBwZXIgYm91bmQgb24gaG93IG9sZCB0aGUgc2Vzc2lvbiBoYW5kZWQgdG8gYSByZWFkZXIgbWF5IGJlLiBJdCBpcyBtZWFzdXJlZCBmcm9tIHRoZSBtb21lbnQgYVxuICogZmV0Y2ggaXMgKnN0YXJ0ZWQqLCBub3QgZnJvbSB0aGUgbW9tZW50IGl0cyByZXNwb25zZSBsYW5kcywgc28gdGhlIHNlc3Npb24gYSByZWFkZXIgc2VlcyBpcyBhbHdheXNcbiAqIHN0cmljdGx5IG5ld2VyIHRoYW4gdGhpcy5cbiAqLyBjb25zdCBzZXNzaW9uTWF4QWdlTWlsbGlzID0gNjAgKiAxMDAwO1xubGV0IGxhc3RGZXRjaFRpbWVNaWxsaXMgPSAwO1xubGV0IGluRmxpZ2h0UmVmcmVzaCA9IG51bGw7XG4vKipcbiAqIEZldGNoZXMgdGhlIHNlc3Npb24gaWYgdGhlIHN0b3JlIGlzIHVubG9hZGVkIG9yIGl0cyBzZXNzaW9uIGlzIG9sZGVyIHRoYW4gYHNlc3Npb25NYXhBZ2VNaWxsaXNgLlxuICogUmV0dXJucyBgbnVsbGAgb25seSB3aGVuIHRoZSBzdG9yZSBhbHJlYWR5IGhvbGRzIGEgc2Vzc2lvbiBmcmVzaCBlbm91Z2ggdG8gYmUgcmVhZCBhcy1pcywgc28gYVxuICogY2FsbGVyIHRoYXQgZ2V0cyBhIHByb21pc2UgYmFjayBtdXN0IHdhaXQgZm9yIGl0IHJhdGhlciB0aGFuIHJlYWQgdGhlIHN0b3JlLlxuICpcbiAqIEEgZmV0Y2ggYWxyZWFkeSBpbiBmbGlnaHQgaXMgam9pbmVkIHJhdGhlciB0aGFuIGR1cGxpY2F0ZWQuIFRoaXMgaXMgd2hhdCBrZWVwcyBgc2Vzc2lvbk1heEFnZU1pbGxpc2BcbiAqIGFuIHVwcGVyIGJvdW5kOiB3aGlsZSBhIGZldGNoIGlzIHJ1bm5pbmcsIHRoZSBzdG9yZSBzdGlsbCBob2xkcyB0aGUgcHJldmlvdXMgc2Vzc2lvbiwgYW5kIHJldHVybmluZ1xuICogdGhhdCB3b3VsZCBoYW5kIGJhY2sgZGF0YSBvbGRlciB0aGFuIHRoZSBib3VuZCBhbGxvd3MuXG4gKlxuICogVGhlIHJldHVybmVkIHByb21pc2UgcmVqZWN0cyBpZiB0aGUgZmV0Y2ggZmFpbHMsIGJ1dCB0aGUgcmVqZWN0aW9uIGlzIGFscmVhZHkgaGFuZGxlZCBhbmQgcmVwb3J0ZWQsXG4gKiBzbyBhIGNhbGxlciB0aGF0IG9ubHkgbmVlZHMgdGhlIGZldGNoIHN0YXJ0ZWQgY2FuIGlnbm9yZSBpdC5cbiAqLyBmdW5jdGlvbiByZWZyZXNoU2Vzc2lvbklmU3RhbGUoKSB7XG4gICAgaWYgKGluRmxpZ2h0UmVmcmVzaCkge1xuICAgICAgICByZXR1cm4gaW5GbGlnaHRSZWZyZXNoO1xuICAgIH1cbiAgICBpZiAoc2Vzc2lvblN0b3JlLmdldFN0YXRlKCkubG9hZGVkICYmIGxhc3RGZXRjaFRpbWVNaWxsaXMgPj0gRGF0ZS5ub3coKSAtIHNlc3Npb25NYXhBZ2VNaWxsaXMpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiByZWZldGNoQ3VycmVudFVzZXIoKTtcbn1cbmZ1bmN0aW9uIGdldEN1cnJlbnRVc2VyKG9wdHMpIHtcbiAgICBjb25zdCBpbmNsdWRlQXV0aFN0YXR1cyA9IG9wdHM/LmluY2x1ZGVBdXRoU3RhdHVzID8/IHRydWU7XG4gICAgY29uc3Qgc2VsZWN0ID0gKHNlc3Npb24pPT5pbmNsdWRlQXV0aFN0YXR1cyA/IHNlc3Npb24gOiBzZXNzaW9uLnVzZXI7XG4gICAgaWYgKCFyZWZyZXNoU2Vzc2lvbklmU3RhbGUoKSkge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHNlbGVjdChzZXNzaW9uU3RvcmUuZ2V0U3RhdGUoKS5zZXNzaW9uKSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSk9PntcbiAgICAgICAgY29uc3QgdW5zdWJzY3JpYmUgPSBzZXNzaW9uU3RvcmUuc3Vic2NyaWJlKChzdGF0ZSk9PntcbiAgICAgICAgICAgIGlmIChzdGF0ZS5sb2FkZWQpIHtcbiAgICAgICAgICAgICAgICB1bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIHJlc29sdmUoc2VsZWN0KHN0YXRlLnNlc3Npb24pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5leHBvcnQgeyBnZXRDdXJyZW50VXNlciB9O1xuLyoqXG4gKiBSZXR1cm5zIHRoZSBnbG9iYWwgc2Vzc2lvbiBzdG9yZSBjb250YWluaW5nIHRoZSBjdXJyZW50IHVzZXIncyBzZXNzaW9uIGluZm9ybWF0aW9uLlxuICogSWYgdGhlIHNlc3Npb24gZGF0YSBpcyBzdGFsZSAob2xkZXIgdGhhbiAxIG1pbnV0ZSkgb3Igbm90IHlldCBsb2FkZWQsIHRoaXMgZnVuY3Rpb25cbiAqIHdpbGwgdHJpZ2dlciBhIHJlZmV0Y2ggb2YgdGhlIGN1cnJlbnQgdXNlcidzIHNlc3Npb24uXG4gKlxuICogQHJldHVybnMgVGhlIGdsb2JhbCBzZXNzaW9uIHN0b3JlIHRoYXQgY2FuIGJlIHN1YnNjcmliZWQgdG8gZm9yIHNlc3Npb24gdXBkYXRlcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IGdldFNlc3Npb25TdG9yZSB9IGZyb20gJ0BvcGVubXJzL2VzbS1hcGknO1xuICogY29uc3Qgc3RvcmUgPSBnZXRTZXNzaW9uU3RvcmUoKTtcbiAqIGNvbnN0IHVuc3Vic2NyaWJlID0gc3RvcmUuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICogICBpZiAoc3RhdGUubG9hZGVkKSB7XG4gKiAgICAgY29uc29sZS5sb2coJ1Nlc3Npb246Jywgc3RhdGUuc2Vzc2lvbik7XG4gKiAgIH1cbiAqIH0pO1xuICogYGBgXG4gKi8gZXhwb3J0IGZ1bmN0aW9uIGdldFNlc3Npb25TdG9yZSgpIHtcbiAgICByZWZyZXNoU2Vzc2lvbklmU3RhbGUoKTtcbiAgICByZXR1cm4gc2Vzc2lvblN0b3JlO1xufVxuLy8gTkIgbG9jYWxlIGlzIHN0cmluZyBvbmx5IGlmIHRoaXMgcmV0dXJucyB0cnVlXG5mdW5jdGlvbiBpc1ZhbGlkTG9jYWxlKGxvY2FsZSkge1xuICAgIGlmIChsb2NhbGUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgbG9jYWxlICE9PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIG5ldyBJbnRsLkxvY2FsZShsb2NhbGUpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn1cbi8qKlxuICogU2V0cyB0aGUgZG9jdW1lbnQncyBsYW5ndWFnZSBhdHRyaWJ1dGUgYmFzZWQgb24gdGhlIHVzZXIncyBsb2NhbGUgcHJlZmVyZW5jZVxuICogZnJvbSB0aGUgc2Vzc2lvbiBkYXRhLiBUaGlzIGFmZmVjdHMgdGhlIEhUTUwgYGxhbmdgIGF0dHJpYnV0ZSB3aGljaCBpcyB1c2VkXG4gKiBmb3IgYWNjZXNzaWJpbGl0eSBhbmQgaW50ZXJuYXRpb25hbGl6YXRpb24uXG4gKlxuICogVGhlIGxvY2FsZSBpcyBkZXRlcm1pbmVkIGZyb20gZWl0aGVyIHRoZSBzZXNzaW9uJ3MgbG9jYWxlIG9yIHRoZSB1c2VyJ3NcbiAqIGRlZmF1bHQgbG9jYWxlIHByb3BlcnR5LiBVbmRlcnNjb3JlcyBpbiB0aGUgbG9jYWxlIGFyZSBjb252ZXJ0ZWQgdG8gaHlwaGVuc1xuICogdG8gbWF0Y2ggQkNQIDQ3IGxhbmd1YWdlIHRhZyBmb3JtYXQuXG4gKlxuICogQHBhcmFtIGRhdGEgVGhlIHNlc3Npb24gb2JqZWN0IGNvbnRhaW5pbmcgbG9jYWxlIGluZm9ybWF0aW9uLlxuICovIGV4cG9ydCBmdW5jdGlvbiBzZXRVc2VyTGFuZ3VhZ2UoZGF0YSkge1xuICAgIGxldCBsb2NhbGUgPSBkYXRhLmxvY2FsZSA/PyBkYXRhLnVzZXI/LnVzZXJQcm9wZXJ0aWVzPy5kZWZhdWx0TG9jYWxlO1xuICAgIC8vIE9ubHkgdW5kZXJzY29yZXMgYXJlIGNvbnZlcnRlZCBoZXJlLCBkZWxpYmVyYXRlbHksIHJhdGhlciB0aGFuIHJldXNpbmcgYHRvTGFuZ3VhZ2VUYWdgLiBpMThuZXh0XG4gICAgLy8gcmVhZHMgdGhpcyB2YWx1ZSBiYWNrIG9mZiBgZG9jdW1lbnQubGFuZ2AgYW5kIHVzZXMgaXQgYXMgdGhlIHRyYW5zbGF0aW9uIGJ1bmRsZSBrZXksIGFuZCB0aG9zZVxuICAgIC8vIGJ1bmRsZXMgYXJlIG5hbWVkIHdpdGggdGhlIFBPU0lYIGZvcm0gKGB1ekBMYXRuLmpzb25gKSwgc28gY29udmVydGluZyBgQGAgd291bGQgc2VuZCB0aGUgbG9hZGVyXG4gICAgLy8gYWZ0ZXIgYSBidW5kbGUgdGhhdCBkb2VzIG5vdCBleGlzdC5cbiAgICBpZiAobG9jYWxlICYmIGxvY2FsZS5pbmNsdWRlcygnXycpKSB7XG4gICAgICAgIGxvY2FsZSA9IGxvY2FsZS5yZXBsYWNlQWxsKCdfJywgJy0nKTtcbiAgICB9XG4gICAgaWYgKGlzVmFsaWRMb2NhbGUobG9jYWxlKSAmJiBsb2NhbGUgIT09IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2xhbmcnKSkge1xuICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0QXR0cmlidXRlKCdsYW5nJywgbG9jYWxlKTtcbiAgICB9XG59XG5zZXNzaW9uU3RvcmUuc3Vic2NyaWJlKChzdGF0ZSk9PntcbiAgICBpZiAoc3RhdGUubG9hZGVkICYmIHN0YXRlLnNlc3Npb24pIHtcbiAgICAgICAgc2V0VXNlckxhbmd1YWdlKHN0YXRlLnNlc3Npb24pO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gdXNlckhhc1ByaXZpbGVnZShyZXF1aXJlZFByaXZpbGVnZSwgdXNlcikge1xuICAgIGlmICh0eXBlb2YgcmVxdWlyZWRQcml2aWxlZ2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiAhaXNVbmRlZmluZWQodXNlci5wcml2aWxlZ2VzLmZpbmQoKHApPT5yZXF1aXJlZFByaXZpbGVnZSA9PT0gcC5kaXNwbGF5KSk7XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHJlcXVpcmVkUHJpdmlsZWdlKSkge1xuICAgICAgICByZXR1cm4gcmVxdWlyZWRQcml2aWxlZ2UuZXZlcnkoKHJwKT0+IWlzVW5kZWZpbmVkKHVzZXIucHJpdmlsZWdlcy5maW5kKChwKT0+cnAgPT09IHAuZGlzcGxheSkpKTtcbiAgICB9IGVsc2UgaWYgKCFpc1VuZGVmaW5lZChyZXF1aXJlZFByaXZpbGVnZSkpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgQ291bGQgbm90IHVuZGVyc3RhbmQgcHJpdmlsZWdlcyBcIiR7cmVxdWlyZWRQcml2aWxlZ2V9XCJgKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5mdW5jdGlvbiBpc1N1cGVyVXNlcih1c2VyKSB7XG4gICAgcmV0dXJuICFpc1VuZGVmaW5lZCh1c2VyLnJvbGVzLmZpbmQoKHJvbGUpPT5yb2xlLmRpc3BsYXkgPT09ICdTeXN0ZW0gRGV2ZWxvcGVyJykpO1xufVxuLyoqXG4gKiBUaGUgYHJlZmV0Y2hDdXJyZW50VXNlcmAgZnVuY3Rpb24gY2F1c2VzIGEgbmV0d29yayByZXF1ZXN0IHRvIHJlZG93bmxvYWRcbiAqIHRoZSB1c2VyLiBBbGwgc3Vic2NyaWJlcnMgdG8gdGhlIHNlc3Npb24gc3RvcmUgd2lsbCBiZSBub3RpZmllZCBvZiB0aGVcbiAqIG5ldyB1c2VyIG9uY2UgdGhlIG5ldyB2ZXJzaW9uIG9mIHRoZSB1c2VyIG9iamVjdCBpcyBkb3dubG9hZGVkLlxuICpcbiAqIEByZXR1cm5zIEEgUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIHVwZGF0ZWQgc2Vzc2lvbiBzdG9yZSBzdGF0ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBganNcbiAqIGltcG9ydCB7IHJlZmV0Y2hDdXJyZW50VXNlciB9IGZyb20gJ0BvcGVubXJzL2VzbS1hcGknXG4gKiByZWZldGNoQ3VycmVudFVzZXIoKVxuICogYGBgXG4gKi8gZXhwb3J0IGZ1bmN0aW9uIHJlZmV0Y2hDdXJyZW50VXNlcih1c2VybmFtZSwgcGFzc3dvcmQpIHtcbiAgICBsYXN0RmV0Y2hUaW1lTWlsbGlzID0gRGF0ZS5ub3coKTtcbiAgICBsZXQgaGVhZGVycyA9IHt9O1xuICAgIGlmICh1c2VybmFtZSAmJiBwYXNzd29yZCkge1xuICAgICAgICBoZWFkZXJzWydBdXRob3JpemF0aW9uJ10gPSBgQmFzaWMgJHt3aW5kb3cuYnRvYShgJHt1c2VybmFtZX06JHtwYXNzd29yZH1gKX1gO1xuICAgIH1cbiAgICBjb25zdCByZWZyZXNoID0gaGFuZGxlU2Vzc2lvblJlc3BvbnNlKG9wZW5tcnNGZXRjaChzZXNzaW9uRW5kcG9pbnQsIHtcbiAgICAgICAgaGVhZGVyc1xuICAgIH0pKTtcbiAgICAvLyBQdWJsaXNoIHRoZSByZXF1ZXN0IHNvIHRoYXQgcmVhZGVycyBjYW4gd2FpdCBvbiBpdCBpbnN0ZWFkIG9mIHJlYWRpbmcgdGhlIHNlc3Npb24gaXQgaXMgYWJvdXQgdG9cbiAgICAvLyByZXBsYWNlLiBFYWNoIGNhbGwgc3RpbGwgaXNzdWVzIGl0cyBvd24gcmVxdWVzdDsgdGhpcyBvbmx5IHRyYWNrcyB0aGUgbW9zdCByZWNlbnQgb25lLlxuICAgIGNvbnN0IGNsZWFyID0gKCk9PntcbiAgICAgICAgaWYgKGluRmxpZ2h0UmVmcmVzaCA9PT0gcmVmcmVzaCkge1xuICAgICAgICAgICAgaW5GbGlnaHRSZWZyZXNoID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmVmcmVzaC50aGVuKGNsZWFyLCBjbGVhcik7XG4gICAgaW5GbGlnaHRSZWZyZXNoID0gcmVmcmVzaDtcbiAgICByZXR1cm4gcmVmcmVzaDtcbn1cbi8qKlxuICogQ2xlYXJzIHRoZSBjdXJyZW50IHVzZXIgc2Vzc2lvbiBmcm9tIHRoZSBzZXNzaW9uIHN0b3JlLCBzZXR0aW5nIHRoZSBzZXNzaW9uXG4gKiB0byBhbiB1bmF1dGhlbnRpY2F0ZWQgc3RhdGUuIFRoaXMgaXMgdHlwaWNhbGx5IGNhbGxlZCBkdXJpbmcgbG9nb3V0IHRvIHJlc2V0XG4gKiB0aGUgYXBwbGljYXRpb24ncyBhdXRoZW50aWNhdGlvbiBzdGF0ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IGNsZWFyQ3VycmVudFVzZXIgfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJztcbiAqIC8vIER1cmluZyBsb2dvdXRcbiAqIGNsZWFyQ3VycmVudFVzZXIoKTtcbiAqIGBgYFxuICovIGV4cG9ydCBmdW5jdGlvbiBjbGVhckN1cnJlbnRVc2VyKCkge1xuICAgIHNlc3Npb25TdG9yZS5zZXRTdGF0ZSh7XG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgc2Vzc2lvbjoge1xuICAgICAgICAgICAgYXV0aGVudGljYXRlZDogZmFsc2UsXG4gICAgICAgICAgICBzZXNzaW9uSWQ6ICcnXG4gICAgICAgIH1cbiAgICB9KTtcbn1cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIHVzZXIgaGFzIGFjY2VzcyBiYXNlZCBvbiB0aGUgcmVxdWlyZWQgcHJpdmlsZWdlKHMpLlxuICogQSB1c2VyIGhhcyBhY2Nlc3MgaWYgdGhleSBoYXZlIHRoZSByZXF1aXJlZCBwcml2aWxlZ2Uocykgb3IgaWYgdGhleSBhcmUgYVxuICogXCJTeXN0ZW0gRGV2ZWxvcGVyXCIgKHN1cGVyIHVzZXIpLiBJZiBubyBwcml2aWxlZ2UgaXMgcmVxdWlyZWQsIGFjY2VzcyBpcyBncmFudGVkLlxuICpcbiAqIEBwYXJhbSByZXF1aXJlZFByaXZpbGVnZSBBIHNpbmdsZSBwcml2aWxlZ2Ugc3RyaW5nIG9yIGFuIGFycmF5IG9mIHByaXZpbGVnZSBzdHJpbmdzXG4gKiAgIHRoYXQgdGhlIHVzZXIgbXVzdCBoYXZlLiBJZiBhbiBhcnJheSBpcyBwcm92aWRlZCwgdGhlIHVzZXIgbXVzdCBoYXZlIEFMTCBwcml2aWxlZ2VzLlxuICogQHBhcmFtIHVzZXIgVGhlIHVzZXIgb2JqZWN0IGNvbnRhaW5pbmcgdGhlaXIgcHJpdmlsZWdlcyBhbmQgcm9sZXMuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHVzZXIgaGFzIGFjY2VzcywgYGZhbHNlYCBvdGhlcndpc2UuIFJldHVybnMgYHRydWVgIGlmIG5vXG4gKiAgIHByaXZpbGVnZSBpcyByZXF1aXJlZCwgYW5kIGBmYWxzZWAgaWYgdGhlIHVzZXIgaXMgdW5kZWZpbmVkIGJ1dCBhIHByaXZpbGVnZSBpcyByZXF1aXJlZC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IHVzZXJIYXNBY2Nlc3MgfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJztcbiAqIGNvbnN0IGhhc0FjY2VzcyA9IHVzZXJIYXNBY2Nlc3MoJ1ZpZXcgUGF0aWVudHMnLCBjdXJyZW50VXNlcik7XG4gKiBjb25zdCBoYXNNdWx0aXBsZUFjY2VzcyA9IHVzZXJIYXNBY2Nlc3MoWydWaWV3IFBhdGllbnRzJywgJ0VkaXQgUGF0aWVudHMnXSwgY3VycmVudFVzZXIpO1xuICogYGBgXG4gKi8gZXhwb3J0IGZ1bmN0aW9uIHVzZXJIYXNBY2Nlc3MocmVxdWlyZWRQcml2aWxlZ2UsIHVzZXIpIHtcbiAgICBpZiAodXNlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIC8vIGlmIHRoZSB1c2VyIGhhc24ndCBiZWVuIGxvYWRlZCwgdGhlbiByZXR1cm4gZmFsc2UgaWZmIHRoZXJlIGlzIGEgcmVxdWlyZWQgcHJpdmlsZWdlXG4gICAgICAgIHJldHVybiAhQm9vbGVhbihyZXF1aXJlZFByaXZpbGVnZSk7XG4gICAgfVxuICAgIGlmICghQm9vbGVhbihyZXF1aXJlZFByaXZpbGVnZSkpIHtcbiAgICAgICAgLy8gaWYgdXNlciBleGlzdHMgYnV0IG5vIHJlcXVpcmVkUHJpdmlsZWdlIGlzIGRlZmluZWRcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiB1c2VySGFzUHJpdmlsZWdlKHJlcXVpcmVkUHJpdmlsZWdlLCB1c2VyKSB8fCBpc1N1cGVyVXNlcih1c2VyKTtcbn1cbi8qKlxuICogUmV0dXJucyBhIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBjdXJyZW50bHkgbG9nZ2VkLWluIHVzZXIgb2JqZWN0LlxuICogSWYgdGhlIHVzZXIgaXMgYWxyZWFkeSBsb2FkZWQgaW4gdGhlIHNlc3Npb24gc3RvcmUsIHRoZSBQcm9taXNlIHJlc29sdmVzIGltbWVkaWF0ZWx5LlxuICogT3RoZXJ3aXNlLCBpdCBzdWJzY3JpYmVzIHRvIHRoZSBzZXNzaW9uIHN0b3JlIGFuZCByZXNvbHZlcyB3aGVuIGEgbG9nZ2VkLWluIHVzZXJcbiAqIGJlY29tZXMgYXZhaWxhYmxlLlxuICpcbiAqIEByZXR1cm5zIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIExvZ2dlZEluVXNlciBvYmplY3Qgb25jZSBhdmFpbGFibGUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBnZXRMb2dnZWRJblVzZXIgfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJztcbiAqIGNvbnN0IHVzZXIgPSBhd2FpdCBnZXRMb2dnZWRJblVzZXIoKTtcbiAqIGNvbnNvbGUubG9nKCdMb2dnZWQgaW4gYXM6JywgdXNlci5kaXNwbGF5KTtcbiAqIGBgYFxuICovIGV4cG9ydCBmdW5jdGlvbiBnZXRMb2dnZWRJblVzZXIoKSB7XG4gICAgbGV0IHVzZXI7XG4gICAgbGV0IHVuc3Vic2NyaWJlO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzKT0+e1xuICAgICAgICBjb25zdCBoYW5kbGVyID0gKHN0YXRlKT0+e1xuICAgICAgICAgICAgaWYgKHN0YXRlLmxvYWRlZCAmJiBzdGF0ZS5zZXNzaW9uLnVzZXIpIHtcbiAgICAgICAgICAgICAgICB1c2VyID0gc3RhdGUuc2Vzc2lvbi51c2VyO1xuICAgICAgICAgICAgICAgIHJlcyhzdGF0ZS5zZXNzaW9uLnVzZXIpO1xuICAgICAgICAgICAgICAgIGlmICh1bnN1YnNjcmliZSkge1xuICAgICAgICAgICAgICAgICAgICB1bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgaGFuZGxlcihzZXNzaW9uU3RvcmUuZ2V0U3RhdGUoKSk7XG4gICAgICAgIGlmICghdXNlcikge1xuICAgICAgICAgICAgdW5zdWJzY3JpYmUgPSBzZXNzaW9uU3RvcmUuc3Vic2NyaWJlKGhhbmRsZXIpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG4vKipcbiAqIFJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgY3VycmVudCBzZXNzaW9uIGxvY2F0aW9uLCBpZiBvbmUgaXMgc2V0LlxuICogVGhlIHNlc3Npb24gbG9jYXRpb24gcmVwcmVzZW50cyB0aGUgcGh5c2ljYWwgbG9jYXRpb24gd2hlcmUgdGhlIHVzZXIgaXMgY3VycmVudGx5XG4gKiB3b3JraW5nIChlLmcuLCBhIGNsaW5pYyBvciB3YXJkKS5cbiAqXG4gKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBTZXNzaW9uTG9jYXRpb24gb2JqZWN0LCBvciBgdW5kZWZpbmVkYFxuICogICBpZiBubyBzZXNzaW9uIGxvY2F0aW9uIGlzIHNldC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IGdldFNlc3Npb25Mb2NhdGlvbiB9IGZyb20gJ0BvcGVubXJzL2VzbS1hcGknO1xuICogY29uc3QgbG9jYXRpb24gPSBhd2FpdCBnZXRTZXNzaW9uTG9jYXRpb24oKTtcbiAqIGlmIChsb2NhdGlvbikge1xuICogICBjb25zb2xlLmxvZygnQ3VycmVudCBsb2NhdGlvbjonLCBsb2NhdGlvbi5kaXNwbGF5KTtcbiAqIH1cbiAqIGBgYFxuICovIGV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRTZXNzaW9uTG9jYXRpb24oKSB7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IGF3YWl0IGdldEN1cnJlbnRVc2VyKCk7XG4gICAgcmV0dXJuIHNlc3Npb24uc2Vzc2lvbkxvY2F0aW9uO1xufVxuLyoqXG4gKiBTZXRzIHRoZSBzZXNzaW9uIGxvY2F0aW9uIGZvciB0aGUgY3VycmVudCB1c2VyLiBUaGUgc2Vzc2lvbiBsb2NhdGlvbiByZXByZXNlbnRzXG4gKiB0aGUgcGh5c2ljYWwgbG9jYXRpb24gd2hlcmUgdGhlIHVzZXIgaXMgd29ya2luZyAoZS5nLiwgYSBjbGluaWMgb3Igd2FyZCkuXG4gKiBUaGlzIHRyaWdnZXJzIGEgc2VydmVyIHJlcXVlc3QgdG8gdXBkYXRlIHRoZSBzZXNzaW9uIGFuZCByZWZyZXNoZXMgdGhlIGxvY2FsXG4gKiBzZXNzaW9uIHN0b3JlLlxuICpcbiAqIEBwYXJhbSBsb2NhdGlvblV1aWQgVGhlIFVVSUQgb2YgdGhlIGxvY2F0aW9uIHRvIHNldCBhcyB0aGUgc2Vzc2lvbiBsb2NhdGlvbi5cbiAqIEBwYXJhbSBhYm9ydENvbnRyb2xsZXIgQW4gQWJvcnRDb250cm9sbGVyIHRvIGFsbG93IGNhbmNlbGxhdGlvbiBvZiB0aGUgcmVxdWVzdC5cbiAqIEByZXR1cm5zIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHVwZGF0ZWQgU2Vzc2lvblN0b3JlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgc2V0U2Vzc2lvbkxvY2F0aW9uIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWFwaSc7XG4gKiBjb25zdCBhYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gKiBhd2FpdCBzZXRTZXNzaW9uTG9jYXRpb24oJ2xvY2F0aW9uLXV1aWQtaGVyZScsIGFib3J0Q29udHJvbGxlcik7XG4gKiBgYGBcbiAqLyBleHBvcnQgYXN5bmMgZnVuY3Rpb24gc2V0U2Vzc2lvbkxvY2F0aW9uKGxvY2F0aW9uVXVpZCwgYWJvcnRDb250cm9sbGVyKSB7XG4gICAgcmV0dXJuIGhhbmRsZVNlc3Npb25SZXNwb25zZShvcGVubXJzRmV0Y2goc2Vzc2lvbkVuZHBvaW50LCB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICBzZXNzaW9uTG9jYXRpb246IGxvY2F0aW9uVXVpZFxuICAgICAgICB9LFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIH0sXG4gICAgICAgIHNpZ25hbDogYWJvcnRDb250cm9sbGVyLnNpZ25hbFxuICAgIH0pKTtcbn1cbi8qKlxuICogVXBkYXRlcyB0aGUgdXNlciBwcm9wZXJ0aWVzIGZvciBhIHNwZWNpZmljIHVzZXIuIFVzZXIgcHJvcGVydGllcyBhcmUga2V5LXZhbHVlXG4gKiBwYWlycyB0aGF0IHN0b3JlIHVzZXItc3BlY2lmaWMgc2V0dGluZ3MgYW5kIHByZWZlcmVuY2VzLiBBZnRlciB1cGRhdGluZyB0aGVcbiAqIHByb3BlcnRpZXMgb24gdGhlIHNlcnZlciwgdGhlIGN1cnJlbnQgdXNlciBzZXNzaW9uIGlzIHJlZmV0Y2hlZCB0byByZWZsZWN0XG4gKiB0aGUgY2hhbmdlcy5cbiAqXG4gKiBAcGFyYW0gdXNlclV1aWQgVGhlIFVVSUQgb2YgdGhlIHVzZXIgd2hvc2UgcHJvcGVydGllcyBzaG91bGQgYmUgdXBkYXRlZC5cbiAqIEBwYXJhbSB1c2VyUHJvcGVydGllcyBBbiBvYmplY3QgY29udGFpbmluZyB0aGUgcHJvcGVydGllcyB0byBzZXQgb3IgdXBkYXRlLlxuICogQHBhcmFtIGFib3J0Q29udHJvbGxlciBPcHRpb25hbCBBYm9ydENvbnRyb2xsZXIgdG8gYWxsb3cgY2FuY2VsbGF0aW9uIG9mIHRoZSByZXF1ZXN0LlxuICogICBJZiBub3QgcHJvdmlkZWQsIGEgbmV3IEFib3J0Q29udHJvbGxlciBpcyBjcmVhdGVkLlxuICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgdXBkYXRlZCBTZXNzaW9uU3RvcmUgYWZ0ZXIgcmVmZXRjaGluZ1xuICogICB0aGUgY3VycmVudCB1c2VyLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZ2V0TG9nZ2VkSW5Vc2VyLCBzZXRVc2VyUHJvcGVydGllcyB9IGZyb20gJ0BvcGVubXJzL2VzbS1hcGknO1xuICogY29uc3QgdXNlciA9IGF3YWl0IGdldExvZ2dlZEluVXNlcigpO1xuICogYXdhaXQgc2V0VXNlclByb3BlcnRpZXModXNlci51dWlkLCB7XG4gKiAgIGRlZmF1bHRMb2NhbGU6ICdlbl9HQicsXG4gKiAgIGN1c3RvbVNldHRpbmc6ICd2YWx1ZSdcbiAqIH0pO1xuICogYGBgXG4gKi8gZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldFVzZXJQcm9wZXJ0aWVzKHVzZXJVdWlkLCB1c2VyUHJvcGVydGllcywgYWJvcnRDb250cm9sbGVyKSB7XG4gICAgaWYgKCFhYm9ydENvbnRyb2xsZXIpIHtcbiAgICAgICAgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIH1cbiAgICBhd2FpdCBvcGVubXJzRmV0Y2goYCR7cmVzdEJhc2VVcmx9L3VzZXIvJHt1c2VyVXVpZH1gLCB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICB1c2VyUHJvcGVydGllc1xuICAgICAgICB9LFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIH0sXG4gICAgICAgIHNpZ25hbDogYWJvcnRDb250cm9sbGVyLnNpZ25hbFxuICAgIH0pO1xuICAgIHJldHVybiByZWZldGNoQ3VycmVudFVzZXIoKTtcbn1cbmZ1bmN0aW9uIGhhbmRsZVNlc3Npb25SZXNwb25zZShyZXN1bHQpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCk9PntcbiAgICAgICAgcmVzdWx0LnRoZW4oKHJlcyk9PntcbiAgICAgICAgICAgIGxldCBuZXh0U3RhdGU7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHJlcz8uZGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICBuZXh0U3RhdGUgPSB7XG4gICAgICAgICAgICAgICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbjogcmVzLmRhdGFcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHNlc3Npb25TdG9yZS5zZXRTdGF0ZShuZXh0U3RhdGUpO1xuICAgICAgICAgICAgICAgIHJlc29sdmUobmV4dFN0YXRlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV4dFN0YXRlID0ge1xuICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBzZXNzaW9uOiBudWxsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBzZXNzaW9uU3RvcmUuc2V0U3RhdGUobmV4dFN0YXRlKTtcbiAgICAgICAgICAgICAgICByZWplY3QobmV4dFN0YXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkuY2F0Y2goKGVycik9PntcbiAgICAgICAgICAgIHJlcG9ydEVycm9yKGBGYWlsZWQgdG8gZmV0Y2ggbmV3IHNlc3Npb24gaW5mb3JtYXRpb246ICR7ZXJyfWApO1xuICAgICAgICAgICAgY29uc3QgbmV4dFN0YXRlID0ge1xuICAgICAgICAgICAgICAgIGxvYWRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgc2Vzc2lvbjogbnVsbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHNlc3Npb25TdG9yZS5zZXRTdGF0ZShuZXh0U3RhdGUpO1xuICAgICAgICAgICAgcmVqZWN0KG5leHRTdGF0ZSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuIl0sIm5hbWVzIjpbInJlcG9ydEVycm9yIiwiY3JlYXRlR2xvYmFsU3RvcmUiLCJpc1VuZGVmaW5lZCIsIm9wZW5tcnNGZXRjaCIsInJlc3RCYXNlVXJsIiwic2Vzc2lvbkVuZHBvaW50Iiwic2Vzc2lvblN0b3JlIiwic2Vzc2lvbk1heEFnZU1pbGxpcyIsImxhc3RGZXRjaFRpbWVNaWxsaXMiLCJpbkZsaWdodFJlZnJlc2giLCJyZWZyZXNoU2Vzc2lvbklmU3RhbGUiLCJEYXRlIiwicmVmZXRjaEN1cnJlbnRVc2VyIiwiZ2V0Q3VycmVudFVzZXIiLCJvcHRzIiwiaW5jbHVkZUF1dGhTdGF0dXMiLCJzZWxlY3QiLCJzZXNzaW9uIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ1bnN1YnNjcmliZSIsInN0YXRlIiwiZ2V0U2Vzc2lvblN0b3JlIiwiaXNWYWxpZExvY2FsZSIsImxvY2FsZSIsInVuZGVmaW5lZCIsIkludGwiLCJlIiwic2V0VXNlckxhbmd1YWdlIiwiZGF0YSIsImRvY3VtZW50IiwidXNlckhhc1ByaXZpbGVnZSIsInJlcXVpcmVkUHJpdmlsZWdlIiwidXNlciIsInAiLCJBcnJheSIsInJwIiwiY29uc29sZSIsImlzU3VwZXJVc2VyIiwicm9sZSIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJoZWFkZXJzIiwid2luZG93IiwicmVmcmVzaCIsImhhbmRsZVNlc3Npb25SZXNwb25zZSIsImNsZWFyIiwiY2xlYXJDdXJyZW50VXNlciIsInVzZXJIYXNBY2Nlc3MiLCJCb29sZWFuIiwiZ2V0TG9nZ2VkSW5Vc2VyIiwicmVzIiwiaGFuZGxlciIsImdldFNlc3Npb25Mb2NhdGlvbiIsInNldFNlc3Npb25Mb2NhdGlvbiIsImxvY2F0aW9uVXVpZCIsImFib3J0Q29udHJvbGxlciIsInNldFVzZXJQcm9wZXJ0aWVzIiwidXNlclV1aWQiLCJ1c2VyUHJvcGVydGllcyIsIkFib3J0Q29udHJvbGxlciIsInJlc3VsdCIsInJlamVjdCIsIm5leHRTdGF0ZSIsImVyciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMEJBQTBCLEdBQTZEO0FBQ2hDO0FBQ2Y7QUFDd0M7QUFDaEYsY0FBYyxHQUFVLE1BQU1NLGVBQWVMLHlEQUFpQkEsQ0FBQyxXQUFXO0lBQ3RFLFFBQVE7SUFDUixTQUFTO0FBQ2IsR0FBRztBQUNIOzs7O0NBSUMsR0FBRyxNQUFNTSxzQkFBc0IsS0FBSztBQUNyQyxJQUFJQyxzQkFBc0I7QUFDMUIsSUFBSUMsa0JBQWtCO0FBQ3RCOzs7Ozs7Ozs7OztDQVdDLEdBQUcsU0FBU0M7SUFDVCxJQUFJRCxpQkFBaUI7UUFDakIsT0FBT0E7SUFDWDtJQUNBLElBQUlILGFBQWEsUUFBUSxHQUFHLE1BQU0sSUFBSUUsdUJBQXVCRyxLQUFLLEdBQUcsS0FBS0oscUJBQXFCO1FBQzNGLE9BQU87SUFDWDtJQUNBLE9BQU9LO0FBQ1g7QUFDQSxTQUFTQyxlQUFlQyxJQUFJO0lB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\n//# sourceURL=webpack-internal:///../../framework/esm-api/dist/current-user.js\n\n}");
4459
+ eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n clearCurrentUser: () => (clearCurrentUser),\n getCurrentUser: () => (getCurrentUser),\n getLoggedInUser: () => (getLoggedInUser),\n getSessionLocation: () => (getSessionLocation),\n getSessionStore: () => (getSessionStore),\n logout: () => (logout),\n refetchCurrentUser: () => (refetchCurrentUser),\n sessionStore: () => (sessionStore),\n setSessionLocale: () => (setSessionLocale),\n setSessionLocation: () => (setSessionLocation),\n setUserLanguage: () => (setUserLanguage),\n setUserProperties: () => (setUserProperties),\n userHasAccess: () => (userHasAccess),\n verifyTotpCode: () => (verifyTotpCode)\n});\n/* import */ var _openmrs_esm_error_handling__rspack_import_0 = __webpack_require__(\"../../framework/esm-error-handling/dist/index.js\");\n/* import */ var _openmrs_esm_state__rspack_import_1 = __webpack_require__(\"../../framework/esm-state/dist/index.js\");\n/* import */ var lodash_es__rspack_import_3 = __webpack_require__(\"../../../node_modules/lodash-es/isUndefined.js\");\n/* import */ var _openmrs_fetch_js__rspack_import_2 = __webpack_require__(\"../../framework/esm-api/dist/openmrs-fetch.js\");\n/** @module @category API */ \n\n\n\n/** @internal */ const sessionStore = (0,_openmrs_esm_state__rspack_import_1.createGlobalStore)('session', {\n loaded: false,\n session: null\n});\n/**\n * The upper bound on how old the session handed to a reader may be. It is measured from the moment a\n * fetch is *started*, not from the moment its response lands, so the session a reader sees is always\n * strictly newer than this.\n */ const sessionMaxAgeMillis = 60 * 1000;\nlet lastFetchTimeMillis = 0;\nlet inFlightRefresh = null;\n/**\n * Fetches the session if the store is unloaded or its session is older than `sessionMaxAgeMillis`.\n * Returns `null` only when the store already holds a session fresh enough to be read as-is, so a\n * caller that gets a promise back must wait for it rather than read the store.\n *\n * A fetch already in flight is joined rather than duplicated. This is what keeps `sessionMaxAgeMillis`\n * an upper bound: while a fetch is running, the store still holds the previous session, and returning\n * that would hand back data older than the bound allows.\n *\n * The returned promise rejects if the fetch fails, but the rejection is already handled and reported,\n * so a caller that only needs the fetch started can ignore it.\n */ function refreshSessionIfStale() {\n if (inFlightRefresh) {\n return inFlightRefresh;\n }\n if (sessionStore.getState().loaded && lastFetchTimeMillis >= Date.now() - sessionMaxAgeMillis) {\n return null;\n }\n return refetchCurrentUser();\n}\nfunction getCurrentUser(opts) {\n const includeAuthStatus = opts?.includeAuthStatus ?? true;\n const select = (session)=>includeAuthStatus ? session : session.user;\n const refresh = refreshSessionIfStale();\n if (!refresh) {\n return Promise.resolve(select(sessionStore.getState().session));\n }\n return new Promise((resolve)=>{\n const resolveIfLoaded = ()=>{\n const state = sessionStore.getState();\n if (state.loaded) {\n unsubscribe();\n resolve(select(state.session));\n }\n };\n const unsubscribe = sessionStore.subscribe(resolveIfLoaded);\n // A failed refresh keeps an already-loaded session without updating the store, so the\n // subscription alone would never fire.\n refresh.then(resolveIfLoaded, resolveIfLoaded);\n });\n}\n\n/**\n * Returns the global session store containing the current user's session information.\n * If the session data is stale (older than 1 minute) or not yet loaded, this function\n * will trigger a refetch of the current user's session.\n *\n * @returns The global session store that can be subscribed to for session updates.\n *\n * @example\n * ```ts\n * import { getSessionStore } from '@openmrs/esm-api';\n * const store = getSessionStore();\n * const unsubscribe = store.subscribe((state) => {\n * if (state.loaded) {\n * console.log('Session:', state.session);\n * }\n * });\n * ```\n */ function getSessionStore() {\n refreshSessionIfStale();\n return sessionStore;\n}\n// NB locale is string only if this returns true\nfunction isValidLocale(locale) {\n if (locale === undefined || typeof locale !== 'string') {\n return false;\n }\n try {\n new Intl.Locale(locale);\n } catch (e) {\n return false;\n }\n return true;\n}\n/**\n * Sets the document's language attribute based on the user's locale preference\n * from the session data. This affects the HTML `lang` attribute which is used\n * for accessibility and internationalization.\n *\n * The locale is determined from either the session's locale or the user's\n * default locale property. Underscores in the locale are converted to hyphens\n * to match BCP 47 language tag format.\n *\n * @param data The session object containing locale information.\n */ function setUserLanguage(data) {\n let locale = data.locale ?? data.user?.userProperties?.defaultLocale;\n // Only underscores are converted here, deliberately, rather than reusing `toLanguageTag`. i18next\n // reads this value back off `document.lang` and uses it as the translation bundle key, and those\n // bundles are named with the POSIX form (`uz@Latn.json`), so converting `@` would send the loader\n // after a bundle that does not exist.\n if (locale && locale.includes('_')) {\n locale = locale.replaceAll('_', '-');\n }\n if (isValidLocale(locale) && locale !== document.documentElement.getAttribute('lang')) {\n document.documentElement.setAttribute('lang', locale);\n }\n}\nsessionStore.subscribe((state)=>{\n if (state.loaded && state.session) {\n setUserLanguage(state.session);\n }\n});\nfunction userHasPrivilege(requiredPrivilege, user) {\n if (typeof requiredPrivilege === 'string') {\n return !(0,lodash_es__rspack_import_3[\"default\"])(user.privileges.find((p)=>requiredPrivilege === p.display));\n } else if (Array.isArray(requiredPrivilege)) {\n return requiredPrivilege.every((rp)=>!(0,lodash_es__rspack_import_3[\"default\"])(user.privileges.find((p)=>rp === p.display)));\n } else if (!(0,lodash_es__rspack_import_3[\"default\"])(requiredPrivilege)) {\n console.error(`Could not understand privileges \"${requiredPrivilege}\"`);\n }\n return true;\n}\nfunction isSuperUser(user) {\n return !(0,lodash_es__rspack_import_3[\"default\"])(user.roles.find((role)=>role.display === 'System Developer'));\n}\n/**\n * The `refetchCurrentUser` function causes a network request to redownload\n * the user. All subscribers to the session store will be notified of the\n * new user once the new version of the user object is downloaded.\n *\n * If the server rejects the request as unauthenticated (401 or 403), the store records a\n * logged-out session. If the request fails for any other reason, a session that has already\n * loaded is kept; otherwise the store records the error.\n *\n * @returns A Promise resolving to the updated session store state. It rejects with the\n * store state if the request fails for a reason other than authentication.\n *\n * @example\n * ```js\n * import { refetchCurrentUser } from '@openmrs/esm-api'\n * refetchCurrentUser()\n * ```\n */ function refetchCurrentUser(username, password) {\n lastFetchTimeMillis = Date.now();\n let headers = {};\n if (username && password) {\n headers['Authorization'] = `Basic ${window.btoa(`${username}:${password}`)}`;\n }\n const refresh = handleSessionResponse((0,_openmrs_fetch_js__rspack_import_2.openmrsFetch)(_openmrs_fetch_js__rspack_import_2.sessionEndpoint, {\n headers,\n rejectAuthFailure: true\n }));\n // Publish the request so that readers can wait on it instead of reading the session it is about to\n // replace. Each call still issues its own request; this only tracks the most recent one.\n const clear = ()=>{\n if (inFlightRefresh === refresh) {\n inFlightRefresh = null;\n }\n };\n refresh.then(clear, clear);\n inFlightRefresh = refresh;\n return refresh;\n}\n/**\n * Clears the current user session from the session store, setting the session\n * to an unauthenticated state. This is typically called during logout to reset\n * the application's authentication state.\n *\n * @example\n * ```ts\n * import { clearCurrentUser } from '@openmrs/esm-api';\n * // During logout\n * clearCurrentUser();\n * ```\n */ function clearCurrentUser() {\n sessionStore.setState({\n loaded: true,\n session: {\n authenticated: false,\n sessionId: ''\n }\n }, true);\n}\n/**\n * Checks whether the given user has access based on the required privilege(s).\n * A user has access if they have the required privilege(s) or if they are a\n * \"System Developer\" (super user). If no privilege is required, access is granted.\n *\n * @param requiredPrivilege A single privilege string or an array of privilege strings\n * that the user must have. If an array is provided, the user must have ALL privileges.\n * @param user The user object containing their privileges and roles.\n * @returns `true` if the user has access, `false` otherwise. Returns `true` if no\n * privilege is required, and `false` if the user is undefined but a privilege is required.\n *\n * @example\n * ```ts\n * import { userHasAccess } from '@openmrs/esm-api';\n * const hasAccess = userHasAccess('View Patients', currentUser);\n * const hasMultipleAccess = userHasAccess(['View Patients', 'Edit Patients'], currentUser);\n * ```\n */ function userHasAccess(requiredPrivilege, user) {\n if (user === undefined) {\n // if the user hasn't been loaded, then return false iff there is a required privilege\n return !Boolean(requiredPrivilege);\n }\n if (!Boolean(requiredPrivilege)) {\n // if user exists but no requiredPrivilege is defined\n return true;\n }\n return userHasPrivilege(requiredPrivilege, user) || isSuperUser(user);\n}\n/**\n * Returns a Promise that resolves with the currently logged-in user object.\n * If the user is already loaded in the session store, the Promise resolves immediately.\n * Otherwise, it subscribes to the session store and resolves when a logged-in user\n * becomes available.\n *\n * @returns A Promise that resolves with the LoggedInUser object once available.\n *\n * @example\n * ```ts\n * import { getLoggedInUser } from '@openmrs/esm-api';\n * const user = await getLoggedInUser();\n * console.log('Logged in as:', user.display);\n * ```\n */ function getLoggedInUser() {\n let user;\n let unsubscribe;\n return new Promise((res)=>{\n const handler = (state)=>{\n if (state.loaded && state.session.user) {\n user = state.session.user;\n res(state.session.user);\n if (unsubscribe) {\n unsubscribe();\n }\n }\n };\n handler(sessionStore.getState());\n if (!user) {\n unsubscribe = sessionStore.subscribe(handler);\n }\n });\n}\n/**\n * Returns a Promise that resolves with the current session location, if one is set.\n * The session location represents the physical location where the user is currently\n * working (e.g., a clinic or ward).\n *\n * @returns A Promise that resolves with the SessionLocation object, or `undefined`\n * if no session location is set.\n *\n * @example\n * ```ts\n * import { getSessionLocation } from '@openmrs/esm-api';\n * const location = await getSessionLocation();\n * if (location) {\n * console.log('Current location:', location.display);\n * }\n * ```\n */ async function getSessionLocation() {\n const session = await getCurrentUser();\n return session.sessionLocation;\n}\n/**\n * Sets the session location for the current user. The session location represents\n * the physical location where the user is working (e.g., a clinic or ward).\n * This triggers a server request to update the session and refreshes the local\n * session store.\n *\n * @param locationUuid The UUID of the location to set as the session location.\n * @param abortController An AbortController to allow cancellation of the request.\n * @returns A Promise that resolves with the updated SessionStore.\n *\n * @example\n * ```ts\n * import { setSessionLocation } from '@openmrs/esm-api';\n * const abortController = new AbortController();\n * await setSessionLocation('location-uuid-here', abortController);\n * ```\n */ async function setSessionLocation(locationUuid, abortController) {\n return handleSessionResponse((0,_openmrs_fetch_js__rspack_import_2.openmrsFetch)(_openmrs_fetch_js__rspack_import_2.sessionEndpoint, {\n method: 'POST',\n body: {\n sessionLocation: locationUuid\n },\n headers: {\n 'Content-Type': 'application/json'\n },\n rejectAuthFailure: true,\n signal: abortController?.signal\n }));\n}\n/**\n * Sets the locale for the current session only, leaving the user's default locale unchanged.\n * Use {@link setUserProperties} with a `defaultLocale` property to change the default instead.\n *\n * @param locale The locale in Java's `Locale#toString()` form, e.g. `en_GB`.\n * @param abortController Optional AbortController to allow cancellation of the request.\n * @returns A Promise that resolves with the updated SessionStore after refetching the current user.\n * It rejects with an {@link OpenmrsFetchError} if the server does not accept the locale.\n *\n * @example\n * ```ts\n * import { setSessionLocale } from '@openmrs/esm-api';\n * await setSessionLocale('fr');\n * ```\n *\n * @internal\n */ async function setSessionLocale(locale, abortController) {\n await (0,_openmrs_fetch_js__rspack_import_2.openmrsFetch)(_openmrs_fetch_js__rspack_import_2.sessionEndpoint, {\n method: 'POST',\n body: {\n locale\n },\n headers: {\n 'Content-Type': 'application/json'\n },\n signal: abortController?.signal\n });\n return refetchCurrentUser();\n}\n/**\n * Updates the user properties for a specific user. User properties are key-value\n * pairs that store user-specific settings and preferences. After updating the\n * properties on the server, the current user session is refetched to reflect\n * the changes.\n *\n * @param userUuid The UUID of the user whose properties should be updated.\n * @param userProperties An object containing the properties to set or update.\n * @param abortController Optional AbortController to allow cancellation of the request.\n * If not provided, a new AbortController is created.\n * @returns A Promise that resolves with the updated SessionStore after refetching\n * the current user.\n *\n * @example\n * ```ts\n * import { getLoggedInUser, setUserProperties } from '@openmrs/esm-api';\n * const user = await getLoggedInUser();\n * await setUserProperties(user.uuid, {\n * defaultLocale: 'en_GB',\n * customSetting: 'value'\n * });\n * ```\n */ async function setUserProperties(userUuid, userProperties, abortController) {\n if (!abortController) {\n abortController = new AbortController();\n }\n await (0,_openmrs_fetch_js__rspack_import_2.openmrsFetch)(`${_openmrs_fetch_js__rspack_import_2.restBaseUrl}/user/${userUuid}`, {\n method: 'POST',\n body: {\n userProperties\n },\n headers: {\n 'Content-Type': 'application/json'\n },\n signal: abortController.signal\n });\n return refetchCurrentUser();\n}\n/**\n * Submits a TOTP code to complete a two-factor login challenge. When the code is accepted, the\n * session store is refreshed with the now-authenticated session.\n *\n * @param code The code from the user's authenticator app.\n * @param rememberDevice Whether the server should skip the challenge on this device in future.\n * @returns A Promise resolving to the session. Its `authenticated` property is `false` if the\n * code was not accepted. It rejects with an {@link OpenmrsFetchError} if the server rejects the\n * request, in which case `responseBody` may explain why.\n *\n * @example\n * ```ts\n * import { verifyTotpCode } from '@openmrs/esm-api';\n * const session = await verifyTotpCode('123456', true);\n * ```\n *\n * @internal\n */ async function verifyTotpCode(code, rememberDevice = false) {\n const response = await (0,_openmrs_fetch_js__rspack_import_2.openmrsFetch)(rememberDevice ? `${_openmrs_fetch_js__rspack_import_2.sessionEndpoint}?rememberMe=true` : _openmrs_fetch_js__rspack_import_2.sessionEndpoint, {\n headers: {\n 'X-Totp-Code': code\n }\n });\n if (response.data?.authenticated) {\n // `refetchCurrentUser` only resolves once the store holds a session.\n const store = await refetchCurrentUser();\n return store.session;\n }\n return response.data;\n}\n/**\n * Ends the current session on the server and records a logged-out session in the session store.\n * A server that has already ended the session (401 or 403) counts as a successful logout.\n *\n * Other data cached for the logged-in user, such as SWR caches, is the caller's to clear.\n *\n * @returns A Promise that resolves once the session store holds a logged-out session.\n *\n * @example\n * ```ts\n * import { logout } from '@openmrs/esm-api';\n * await logout();\n * ```\n *\n * @internal\n */ async function logout() {\n try {\n await (0,_openmrs_fetch_js__rspack_import_2.openmrsFetch)(_openmrs_fetch_js__rspack_import_2.sessionEndpoint, {\n method: 'DELETE',\n rejectAuthFailure: true\n });\n } catch (err) {\n if (!isAuthFailure(err)) {\n throw err;\n }\n }\n clearCurrentUser();\n // The session just cleared is already correct, so a failed refresh loses nothing.\n await refetchCurrentUser().catch(()=>{});\n}\nfunction handleSessionResponse(result) {\n return new Promise((resolve, reject)=>{\n result.then((res)=>{\n if (typeof res?.data === 'object') {\n const nextState = {\n loaded: true,\n session: res.data\n };\n sessionStore.setState(nextState, true);\n resolve(nextState);\n } else {\n reject(recordSessionFailure(Error('The session endpoint did not respond with a session')));\n }\n }).catch((err)=>{\n // An auth failure is the session endpoint's answer for \"not logged in\", not a failed lookup.\n if (isAuthFailure(err)) {\n if (isUnauthenticatedSession(err.responseBody)) {\n sessionStore.setState({\n loaded: true,\n session: err.responseBody\n }, true);\n } else {\n clearCurrentUser();\n }\n resolve(sessionStore.getState());\n return;\n }\n (0,_openmrs_esm_error_handling__rspack_import_0.reportError)(`Failed to fetch new session information: ${err}`);\n reject(recordSessionFailure(err));\n });\n });\n}\nfunction isAuthFailure(err) {\n return err instanceof _openmrs_fetch_js__rspack_import_2.OpenmrsFetchError && (err.response.status === 401 || err.response.status === 403);\n}\nfunction isUnauthenticatedSession(body) {\n return typeof body === 'object' && body !== null && body.authenticated === false;\n}\n/**\n * A session that has already loaded is kept when a later fetch fails, since it is still the best answer\n * available. With nothing to fall back on, the error is recorded so the app shell can show an error page.\n */ function recordSessionFailure(err) {\n if (!sessionStore.getState().loaded) {\n sessionStore.setState({\n loaded: false,\n session: null,\n error: err instanceof Error ? err : Error(String(err))\n }, true);\n }\n return sessionStore.getState();\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyPz9ydWxlU2V0WzFdLnJ1bGVzWzVdLnVzZVswXSEvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvcGFja2FnZXMvZnJhbWV3b3JrL2VzbS1hcGkvZGlzdC9jdXJyZW50LXVzZXIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tYXBpL2Rpc3QvY3VycmVudC11c2VyLmpzPzcxMjkiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IEFQSSAqLyBpbXBvcnQgeyByZXBvcnRFcnJvciB9IGZyb20gXCJAb3Blbm1ycy9lc20tZXJyb3ItaGFuZGxpbmdcIjtcbmltcG9ydCB7IGNyZWF0ZUdsb2JhbFN0b3JlIH0gZnJvbSBcIkBvcGVubXJzL2VzbS1zdGF0ZVwiO1xuaW1wb3J0IHsgaXNVbmRlZmluZWQgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBPcGVubXJzRmV0Y2hFcnJvciwgb3Blbm1yc0ZldGNoLCByZXN0QmFzZVVybCwgc2Vzc2lvbkVuZHBvaW50IH0gZnJvbSBcIi4vb3Blbm1ycy1mZXRjaC5qc1wiO1xuLyoqIEBpbnRlcm5hbCAqLyBleHBvcnQgY29uc3Qgc2Vzc2lvblN0b3JlID0gY3JlYXRlR2xvYmFsU3RvcmUoJ3Nlc3Npb24nLCB7XG4gICAgbG9hZGVkOiBmYWxzZSxcbiAgICBzZXNzaW9uOiBudWxsXG59KTtcbi8qKlxuICogVGhlIHVwcGVyIGJvdW5kIG9uIGhvdyBvbGQgdGhlIHNlc3Npb24gaGFuZGVkIHRvIGEgcmVhZGVyIG1heSBiZS4gSXQgaXMgbWVhc3VyZWQgZnJvbSB0aGUgbW9tZW50IGFcbiAqIGZldGNoIGlzICpzdGFydGVkKiwgbm90IGZyb20gdGhlIG1vbWVudCBpdHMgcmVzcG9uc2UgbGFuZHMsIHNvIHRoZSBzZXNzaW9uIGEgcmVhZGVyIHNlZXMgaXMgYWx3YXlzXG4gKiBzdHJpY3RseSBuZXdlciB0aGFuIHRoaXMuXG4gKi8gY29uc3Qgc2Vzc2lvbk1heEFnZU1pbGxpcyA9IDYwICogMTAwMDtcbmxldCBsYXN0RmV0Y2hUaW1lTWlsbGlzID0gMDtcbmxldCBpbkZsaWdodFJlZnJlc2ggPSBudWxsO1xuLyoqXG4gKiBGZXRjaGVzIHRoZSBzZXNzaW9uIGlmIHRoZSBzdG9yZSBpcyB1bmxvYWRlZCBvciBpdHMgc2Vzc2lvbiBpcyBvbGRlciB0aGFuIGBzZXNzaW9uTWF4QWdlTWlsbGlzYC5cbiAqIFJldHVybnMgYG51bGxgIG9ubHkgd2hlbiB0aGUgc3RvcmUgYWxyZWFkeSBob2xkcyBhIHNlc3Npb24gZnJlc2ggZW5vdWdoIHRvIGJlIHJlYWQgYXMtaXMsIHNvIGFcbiAqIGNhbGxlciB0aGF0IGdldHMgYSBwcm9taXNlIGJhY2sgbXVzdCB3YWl0IGZvciBpdCByYXRoZXIgdGhhbiByZWFkIHRoZSBzdG9yZS5cbiAqXG4gKiBBIGZldGNoIGFscmVhZHkgaW4gZmxpZ2h0IGlzIGpvaW5lZCByYXRoZXIgdGhhbiBkdXBsaWNhdGVkLiBUaGlzIGlzIHdoYXQga2VlcHMgYHNlc3Npb25NYXhBZ2VNaWxsaXNgXG4gKiBhbiB1cHBlciBib3VuZDogd2hpbGUgYSBmZXRjaCBpcyBydW5uaW5nLCB0aGUgc3RvcmUgc3RpbGwgaG9sZHMgdGhlIHByZXZpb3VzIHNlc3Npb24sIGFuZCByZXR1cm5pbmdcbiAqIHRoYXQgd291bGQgaGFuZCBiYWNrIGRhdGEgb2xkZXIgdGhhbiB0aGUgYm91bmQgYWxsb3dzLlxuICpcbiAqIFRoZSByZXR1cm5lZCBwcm9taXNlIHJlamVjdHMgaWYgdGhlIGZldGNoIGZhaWxzLCBidXQgdGhlIHJlamVjdGlvbiBpcyBhbHJlYWR5IGhhbmRsZWQgYW5kIHJlcG9ydGVkLFxuICogc28gYSBjYWxsZXIgdGhhdCBvbmx5IG5lZWRzIHRoZSBmZXRjaCBzdGFydGVkIGNhbiBpZ25vcmUgaXQuXG4gKi8gZnVuY3Rpb24gcmVmcmVzaFNlc3Npb25JZlN0YWxlKCkge1xuICAgIGlmIChpbkZsaWdodFJlZnJlc2gpIHtcbiAgICAgICAgcmV0dXJuIGluRmxpZ2h0UmVmcmVzaDtcbiAgICB9XG4gICAgaWYgKHNlc3Npb25TdG9yZS5nZXRTdGF0ZSgpLmxvYWRlZCAmJiBsYXN0RmV0Y2hUaW1lTWlsbGlzID49IERhdGUubm93KCkgLSBzZXNzaW9uTWF4QWdlTWlsbGlzKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gcmVmZXRjaEN1cnJlbnRVc2VyKCk7XG59XG5mdW5jdGlvbiBnZXRDdXJyZW50VXNlcihvcHRzKSB7XG4gICAgY29uc3QgaW5jbHVkZUF1dGhTdGF0dXMgPSBvcHRzPy5pbmNsdWRlQXV0aFN0YXR1cyA/PyB0cnVlO1xuICAgIGNvbnN0IHNlbGVjdCA9IChzZXNzaW9uKT0+aW5jbHVkZUF1dGhTdGF0dXMgPyBzZXNzaW9uIDogc2Vzc2lvbi51c2VyO1xuICAgIGNvbnN0IHJlZnJlc2ggPSByZWZyZXNoU2Vzc2lvbklmU3RhbGUoKTtcbiAgICBpZiAoIXJlZnJlc2gpIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShzZWxlY3Qoc2Vzc2lvblN0b3JlLmdldFN0YXRlKCkuc2Vzc2lvbikpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpPT57XG4gICAgICAgIGNvbnN0IHJlc29sdmVJZkxvYWRlZCA9ICgpPT57XG4gICAgICAgICAgICBjb25zdCBzdGF0ZSA9IHNlc3Npb25TdG9yZS5nZXRTdGF0ZSgpO1xuICAgICAgICAgICAgaWYgKHN0YXRlLmxvYWRlZCkge1xuICAgICAgICAgICAgICAgIHVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShzZWxlY3Qoc3RhdGUuc2Vzc2lvbikpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCB1bnN1YnNjcmliZSA9IHNlc3Npb25TdG9yZS5zdWJzY3JpYmUocmVzb2x2ZUlmTG9hZGVkKTtcbiAgICAgICAgLy8gQSBmYWlsZWQgcmVmcmVzaCBrZWVwcyBhbiBhbHJlYWR5LWxvYWRlZCBzZXNzaW9uIHdpdGhvdXQgdXBkYXRpbmcgdGhlIHN0b3JlLCBzbyB0aGVcbiAgICAgICAgLy8gc3Vic2NyaXB0aW9uIGFsb25lIHdvdWxkIG5ldmVyIGZpcmUuXG4gICAgICAgIHJlZnJlc2gudGhlbihyZXNvbHZlSWZMb2FkZWQsIHJlc29sdmVJZkxvYWRlZCk7XG4gICAgfSk7XG59XG5leHBvcnQgeyBnZXRDdXJyZW50VXNlciB9O1xuLyoqXG4gKiBSZXR1cm5zIHRoZSBnbG9iYWwgc2Vzc2lvbiBzdG9yZSBjb250YWluaW5nIHRoZSBjdXJyZW50IHVzZXIncyBzZXNzaW9uIGluZm9ybWF0aW9uLlxuICogSWYgdGhlIHNlc3Npb24gZGF0YSBpcyBzdGFsZSAob2xkZXIgdGhhbiAxIG1pbnV0ZSkgb3Igbm90IHlldCBsb2FkZWQsIHRoaXMgZnVuY3Rpb25cbiAqIHdpbGwgdHJpZ2dlciBhIHJlZmV0Y2ggb2YgdGhlIGN1cnJlbnQgdXNlcidzIHNlc3Npb24uXG4gKlxuICogQHJldHVybnMgVGhlIGdsb2JhbCBzZXNzaW9uIHN0b3JlIHRoYXQgY2FuIGJlIHN1YnNjcmliZWQgdG8gZm9yIHNlc3Npb24gdXBkYXRlcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IGdldFNlc3Npb25TdG9yZSB9IGZyb20gJ0BvcGVubXJzL2VzbS1hcGknO1xuICogY29uc3Qgc3RvcmUgPSBnZXRTZXNzaW9uU3RvcmUoKTtcbiAqIGNvbnN0IHVuc3Vic2NyaWJlID0gc3RvcmUuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICogICBpZiAoc3RhdGUubG9hZGVkKSB7XG4gKiAgICAgY29uc29sZS5sb2coJ1Nlc3Npb246Jywgc3RhdGUuc2Vzc2lvbik7XG4gKiAgIH1cbiAqIH0pO1xuICogYGBgXG4gKi8gZXhwb3J0IGZ1bmN0aW9uIGdldFNlc3Npb25TdG9yZSgpIHtcbiAgICByZWZyZXNoU2Vzc2lvbklmU3RhbGUoKTtcbiAgICByZXR1cm4gc2Vzc2lvblN0b3JlO1xufVxuLy8gTkIgbG9jYWxlIGlzIHN0cmluZyBvbmx5IGlmIHRoaXMgcmV0dXJucyB0cnVlXG5mdW5jdGlvbiBpc1ZhbGlkTG9jYWxlKGxvY2FsZSkge1xuICAgIGlmIChsb2NhbGUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgbG9jYWxlICE9PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIG5ldyBJbnRsLkxvY2FsZShsb2NhbGUpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn1cbi8qKlxuICogU2V0cyB0aGUgZG9jdW1lbnQncyBsYW5ndWFnZSBhdHRyaWJ1dGUgYmFzZWQgb24gdGhlIHVzZXIncyBsb2NhbGUgcHJlZmVyZW5jZVxuICogZnJvbSB0aGUgc2Vzc2lvbiBkYXRhLiBUaGlzIGFmZmVjdHMgdGhlIEhUTUwgYGxhbmdgIGF0dHJpYnV0ZSB3aGljaCBpcyB1c2VkXG4gKiBmb3IgYWNjZXNzaWJpbGl0eSBhbmQgaW50ZXJuYXRpb25hbGl6YXRpb24uXG4gKlxuICogVGhlIGxvY2FsZSBpcyBkZXRlcm1pbmVkIGZyb20gZWl0aGVyIHRoZSBzZXNzaW9uJ3MgbG9jYWxlIG9yIHRoZSB1c2VyJ3NcbiAqIGRlZmF1bHQgbG9jYWxlIHByb3BlcnR5LiBVbmRlcnNjb3JlcyBpbiB0aGUgbG9jYWxlIGFyZSBjb252ZXJ0ZWQgdG8gaHlwaGVuc1xuICogdG8gbWF0Y2ggQkNQIDQ3IGxhbmd1YWdlIHRhZyBmb3JtYXQuXG4gKlxuICogQHBhcmFtIGRhdGEgVGhlIHNlc3Npb24gb2JqZWN0IGNvbnRhaW5pbmcgbG9jYWxlIGluZm9ybWF0aW9uLlxuICovIGV4cG9ydCBmdW5jdGlvbiBzZXRVc2VyTGFuZ3VhZ2UoZGF0YSkge1xuICAgIGxldCBsb2NhbGUgPSBkYXRhLmxvY2FsZSA/PyBkYXRhLnVzZXI/LnVzZXJQcm9wZXJ0aWVzPy5kZWZhdWx0TG9jYWxlO1xuICAgIC8vIE9ubHkgdW5kZXJzY29yZXMgYXJlIGNvbnZlcnRlZCBoZXJlLCBkZWxpYmVyYXRlbHksIHJhdGhlciB0aGFuIHJldXNpbmcgYHRvTGFuZ3VhZ2VUYWdgLiBpMThuZXh0XG4gICAgLy8gcmVhZHMgdGhpcyB2YWx1ZSBiYWNrIG9mZiBgZG9jdW1lbnQubGFuZ2AgYW5kIHVzZXMgaXQgYXMgdGhlIHRyYW5zbGF0aW9uIGJ1bmRsZSBrZXksIGFuZCB0aG9zZVxuICAgIC8vIGJ1bmRsZXMgYXJlIG5hbWVkIHdpdGggdGhlIFBPU0lYIGZvcm0gKGB1ekBMYXRuLmpzb25gKSwgc28gY29udmVydGluZyBgQGAgd291bGQgc2VuZCB0aGUgbG9hZGVyXG4gICAgLy8gYWZ0ZXIgYSBidW5kbGUgdGhhdCBkb2VzIG5vdCBleGlzdC5cbiAgICBpZiAobG9jYWxlICYmIGxvY2FsZS5pbmNsdWRlcygnXycpKSB7XG4gICAgICAgIGxvY2FsZSA9IGxvY2FsZS5yZXBsYWNlQWxsKCdfJywgJy0nKTtcbiAgICB9XG4gICAgaWYgKGlzVmFsaWRMb2NhbGUobG9jYWxlKSAmJiBsb2NhbGUgIT09IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2xhbmcnKSkge1xuICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0QXR0cmlidXRlKCdsYW5nJywgbG9jYWxlKTtcbiAgICB9XG59XG5zZXNzaW9uU3RvcmUuc3Vic2NyaWJlKChzdGF0ZSk9PntcbiAgICBpZiAoc3RhdGUubG9hZGVkICYmIHN0YXRlLnNlc3Npb24pIHtcbiAgICAgICAgc2V0VXNlckxhbmd1YWdlKHN0YXRlLnNlc3Npb24pO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gdXNlckhhc1ByaXZpbGVnZShyZXF1aXJlZFByaXZpbGVnZSwgdXNlcikge1xuICAgIGlmICh0eXBlb2YgcmVxdWlyZWRQcml2aWxlZ2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiAhaXNVbmRlZmluZWQodXNlci5wcml2aWxlZ2VzLmZpbmQoKHApPT5yZXF1aXJlZFByaXZpbGVnZSA9PT0gcC5kaXNwbGF5KSk7XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHJlcXVpcmVkUHJpdmlsZWdlKSkge1xuICAgICAgICByZXR1cm4gcmVxdWlyZWRQcml2aWxlZ2UuZXZlcnkoKHJwKT0+IWlzVW5kZWZpbmVkKHVzZXIucHJpdmlsZWdlcy5maW5kKChwKT0+cnAgPT09IHAuZGlzcGxheSkpKTtcbiAgICB9IGVsc2UgaWYgKCFpc1VuZGVmaW5lZChyZXF1aXJlZFByaXZpbGVnZSkpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgQ291bGQgbm90IHVuZGVyc3RhbmQgcHJpdmlsZWdlcyBcIiR7cmVxdWlyZWRQcml2aWxlZ2V9XCJgKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5mdW5jdGlvbiBpc1N1cGVyVXNlcih1c2VyKSB7XG4gICAgcmV0dXJuICFpc1VuZGVmaW5lZCh1c2VyLnJvbGVzLmZpbmQoKHJvbGUpPT5yb2xlLmRpc3BsYXkgPT09ICdTeXN0ZW0gRGV2ZWxvcGVyJykpO1xufVxuLyoqXG4gKiBUaGUgYHJlZmV0Y2hDdXJyZW50VXNlcmAgZnVuY3Rpb24gY2F1c2VzIGEgbmV0d29yayByZXF1ZXN0IHRvIHJlZG93bmxvYWRcbiAqIHRoZSB1c2VyLiBBbGwgc3Vic2NyaWJlcnMgdG8gdGhlIHNlc3Npb24gc3RvcmUgd2lsbCBiZSBub3RpZmllZCBvZiB0aGVcbiAqIG5ldyB1c2VyIG9uY2UgdGhlIG5ldyB2ZXJzaW9uIG9mIHRoZSB1c2VyIG9iamVjdCBpcyBkb3dubG9hZGVkLlxuICpcbiAqIElmIHRoZSBzZXJ2ZXIgcmVqZWN0cyB0aGUgcmVxdWVzdCBhcyB1bmF1dGhlbnRpY2F0ZWQgKDQwMSBvciA0MDMpLCB0aGUgc3RvcmUgcmVjb3JkcyBhXG4gKiBsb2dnZWQtb3V0IHNlc3Npb24uIElmIHRoZSByZXF1ZXN0IGZhaWxzIGZvciBhbnkgb3RoZXIgcmVhc29uLCBhIHNlc3Npb24gdGhhdCBoYXMgYWxyZWFkeVxuICogbG9hZGVkIGlzIGtlcHQ7IG90aGVyd2lzZSB0aGUgc3RvcmUgcmVjb3JkcyB0aGUgZXJyb3IuXG4gKlxuICogQHJldHVybnMgQSBQcm9taXNlIHJlc29sdmluZyB0byB0aGUgdXBkYXRlZCBzZXNzaW9uIHN0b3JlIHN0YXRlLiBJdCByZWplY3RzIHdpdGggdGhlXG4gKiAgIHN0b3JlIHN0YXRlIGlmIHRoZSByZXF1ZXN0IGZhaWxzIGZvciBhIHJlYXNvbiBvdGhlciB0aGFuIGF1dGhlbnRpY2F0aW9uLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBqc1xuICogaW1wb3J0IHsgcmVmZXRjaEN1cnJlbnRVc2VyIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWFwaSdcbiAqIHJlZmV0Y2hDdXJyZW50VXNlcigpXG4gKiBgYGBcbiAqLyBleHBvcnQgZnVuY3Rpb24gcmVmZXRjaEN1cnJlbnRVc2VyKHVzZXJuYW1lLCBwYXNzd29yZCkge1xuICAgIGxhc3RGZXRjaFRpbWVNaWxsaXMgPSBEYXRlLm5vdygpO1xuICAgIGxldCBoZWFkZXJzID0ge307XG4gICAgaWYgKHVzZXJuYW1lICYmIHBhc3N3b3JkKSB7XG4gICAgICAgIGhlYWRlcnNbJ0F1dGhvcml6YXRpb24nXSA9IGBCYXNpYyAke3dpbmRvdy5idG9hKGAke3VzZXJuYW1lfToke3Bhc3N3b3JkfWApfWA7XG4gICAgfVxuICAgIGNvbnN0IHJlZnJlc2ggPSBoYW5kbGVTZXNzaW9uUmVzcG9uc2Uob3Blbm1yc0ZldGNoKHNlc3Npb25FbmRwb2ludCwge1xuICAgICAgICBoZWFkZXJzLFxuICAgICAgICByZWplY3RBdXRoRmFpbHVyZTogdHJ1ZVxuICAgIH0pKTtcbiAgICAvLyBQdWJsaXNoIHRoZSByZXF1ZXN0IHNvIHRoYXQgcmVhZGVycyBjYW4gd2FpdCBvbiBpdCBpbnN0ZWFkIG9mIHJlYWRpbmcgdGhlIHNlc3Npb24gaXQgaXMgYWJvdXQgdG9cbiAgICAvLyByZXBsYWNlLiBFYWNoIGNhbGwgc3RpbGwgaXNzdWVzIGl0cyBvd24gcmVxdWVzdDsgdGhpcyBvbmx5IHRyYWNrcyB0aGUgbW9zdCByZWNlbnQgb25lLlxuICAgIGNvbnN0IGNsZWFyID0gKCk9PntcbiAgICAgICAgaWYgKGluRmxpZ2h0UmVmcmVzaCA9PT0gcmVmcmVzaCkge1xuICAgICAgICAgICAgaW5GbGlnaHRSZWZyZXNoID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmVmcmVzaC50aGVuKGNsZWFyLCBjbGVhcik7XG4gICAgaW5GbGlnaHRSZWZyZXNoID0gcmVmcmVzaDtcbiAgICByZXR1cm4gcmVmcmVzaDtcbn1cbi8qKlxuICogQ2xlYXJzIHRoZSBjdXJyZW50IHVzZXIgc2Vzc2lvbiBmcm9tIHRoZSBzZXNzaW9uIHN0b3JlLCBzZXR0aW5nIHRoZSBzZXNzaW9uXG4gKiB0byBhbiB1bmF1dGhlbnRpY2F0ZWQgc3RhdGUuIFRoaXMgaXMgdHlwaWNhbGx5IGNhbGxlZCBkdXJpbmcgbG9nb3V0IHRvIHJlc2V0XG4gKiB0aGUgYXBwbGljYXRpb24ncyBhdXRoZW50aWNhdGlvbiBzdGF0ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IGNsZWFyQ3VycmVudFVzZXIgfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJztcbiAqIC8vIER1cmluZyBsb2dvdXRcbiAqIGNsZWFyQ3VycmVudFVzZXIoKTtcbiAqIGBgYFxuICovIGV4cG9ydCBmdW5jdGlvbiBjbGVhckN1cnJlbnRVc2VyKCkge1xuICAgIHNlc3Npb25TdG9yZS5zZXRTdGF0ZSh7XG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgc2Vzc2lvbjoge1xuICAgICAgICAgICAgYXV0aGVudGljYXRlZDogZmFsc2UsXG4gICAgICAgICAgICBzZXNzaW9uSWQ6ICcnXG4gICAgICAgIH1cbiAgICB9LCB0cnVlKTtcbn1cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIHVzZXIgaGFzIGFjY2VzcyBiYXNlZCBvbiB0aGUgcmVxdWlyZWQgcHJpdmlsZWdlKHMpLlxuICogQSB1c2VyIGhhcyBhY2Nlc3MgaWYgdGhleSBoYXZlIHRoZSByZXF1aXJlZCBwcml2aWxlZ2Uocykgb3IgaWYgdGhleSBhcmUgYVxuICogXCJTeXN0ZW0gRGV2ZWxvcGVyXCIgKHN1cGVyIHVzZXIpLiBJZiBubyBwcml2aWxlZ2UgaXMgcmVxdWlyZWQsIGFjY2VzcyBpcyBncmFudGVkLlxuICpcbiAqIEBwYXJhbSByZXF1aXJlZFByaXZpbGVnZSBBIHNpbmdsZSBwcml2aWxlZ2Ugc3RyaW5nIG9yIGFuIGFycmF5IG9mIHByaXZpbGVnZSBzdHJpbmdzXG4gKiAgIHRoYXQgdGhlIHVzZXIgbXVzdCBoYXZlLiBJZiBhbiBhcnJheSBpcyBwcm92aWRlZCwgdGhlIHVzZXIgbXVzdCBoYXZlIEFMTCBwcml2aWxlZ2VzLlxuICogQHBhcmFtIHVzZXIgVGhlIHVzZXIgb2JqZWN0IGNvbnRhaW5pbmcgdGhlaXIgcHJpdmlsZWdlcyBhbmQgcm9sZXMuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHVzZXIgaGFzIGFjY2VzcywgYGZhbHNlYCBvdGhlcndpc2UuIFJldHVybnMgYHRydWVgIGlmIG5vXG4gKiAgIHByaXZpbGVnZSBpcyByZXF1aXJlZCwgYW5kIGBmYWxzZWAgaWYgdGhlIHVzZXIgaXMgdW5kZWZpbmVkIGJ1dCBhIHByaXZpbGVnZSBpcyByZXF1aXJlZC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IHVzZXJIYXNBY2Nlc3MgfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJztcbiAqIGNvbnN0IGhhc0FjY2VzcyA9IHVzZXJIYXNBY2Nlc3MoJ1ZpZXcgUGF0aWVudHMnLCBjdXJyZW50VXNlcik7XG4gKiBjb25zdCBoYXNNdWx0aXBsZUFjY2VzcyA9IHVzZXJIYXNBY2Nlc3MoWydWaWV3IFBhdGllbnRzJywgJ0VkaXQgUGF0aWVudHMnXSwgY3VycmVudFVzZXIpO1xuICogYGBgXG4gKi8gZXhwb3J0IGZ1bmN0aW9uIHVzZXJIYXNBY2Nlc3MocmVxdWlyZWRQcml2aWxlZ2UsIHVzZXIpIHtcbiAgICBpZiAodXNlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIC8vIGlmIHRoZSB1c2VyIGhhc24ndCBiZWVuIGxvYWRlZCwgdGhlbiByZXR1cm4gZmFsc2UgaWZmIHRoZXJlIGlzIGEgcmVxdWlyZWQgcHJpdmlsZWdlXG4gICAgICAgIHJldHVybiAhQm9vbGVhbihyZXF1aXJlZFByaXZpbGVnZSk7XG4gICAgfVxuICAgIGlmICghQm9vbGVhbihyZXF1aXJlZFByaXZpbGVnZSkpIHtcbiAgICAgICAgLy8gaWYgdXNlciBleGlzdHMgYnV0IG5vIHJlcXVpcmVkUHJpdmlsZWdlIGlzIGRlZmluZWRcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiB1c2VySGFzUHJpdmlsZWdlKHJlcXVpcmVkUHJpdmlsZWdlLCB1c2VyKSB8fCBpc1N1cGVyVXNlcih1c2VyKTtcbn1cbi8qKlxuICogUmV0dXJucyBhIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBjdXJyZW50bHkgbG9nZ2VkLWluIHVzZXIgb2JqZWN0LlxuICogSWYgdGhlIHVzZXIgaXMgYWxyZWFkeSBsb2FkZWQgaW4gdGhlIHNlc3Npb24gc3RvcmUsIHRoZSBQcm9taXNlIHJlc29sdmVzIGltbWVkaWF0ZWx5LlxuICogT3RoZXJ3aXNlLCBpdCBzdWJzY3JpYmVzIHRvIHRoZSBzZXNzaW9uIHN0b3JlIGFuZCByZXNvbHZlcyB3aGVuIGEgbG9nZ2VkLWluIHVzZXJcbiAqIGJlY29tZXMgYXZhaWxhYmxlLlxuICpcbiAqIEByZXR1cm5zIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIExvZ2dlZEluVXNlciBvYmplY3Qgb25jZSBhdmFpbGFibGUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBnZXRMb2dnZWRJblVzZXIgfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJztcbiAqIGNvbnN0IHVzZXIgPSBhd2FpdCBnZXRMb2dnZWRJblVzZXIoKTtcbiAqIGNvbnNvbGUubG9nKCdMb2dnZWQgaW4gYXM6JywgdXNlci5kaXNwbGF5KTtcbiAqIGBgYFxuICovIGV4cG9ydCBmdW5jdGlvbiBnZXRMb2dnZWRJblVzZXIoKSB7XG4gICAgbGV0IHVzZXI7XG4gICAgbGV0IHVuc3Vic2NyaWJlO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzKT0+e1xuICAgICAgICBjb25zdCBoYW5kbGVyID0gKHN0YXRlKT0+e1xuICAgICAgICAgICAgaWYgKHN0YXRlLmxvYWRlZCAmJiBzdGF0ZS5zZXNzaW9uLnVzZXIpIHtcbiAgICAgICAgICAgICAgICB1c2VyID0gc3RhdGUuc2Vzc2lvbi51c2VyO1xuICAgICAgICAgICAgICAgIHJlcyhzdGF0ZS5zZXNzaW9uLnVzZXIpO1xuICAgICAgICAgICAgICAgIGlmICh1bnN1YnNjcmliZSkge1xuICAgICAgICAgICAgICAgICAgICB1bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgaGFuZGxlcihzZXNzaW9uU3RvcmUuZ2V0U3RhdGUoKSk7XG4gICAgICAgIGlmICghdXNlcikge1xuICAgICAgICAgICAgdW5zdWJzY3JpYmUgPSBzZXNzaW9uU3RvcmUuc3Vic2NyaWJlKGhhbmRsZXIpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG4vKipcbiAqIFJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgY3VycmVudCBzZXNzaW9uIGxvY2F0aW9uLCBpZiBvbmUgaXMgc2V0LlxuICogVGhlIHNlc3Npb24gbG9jYXRpb24gcmVwcmVzZW50cyB0aGUgcGh5c2ljYWwgbG9jYXRpb24gd2hlcmUgdGhlIHVzZXIgaXMgY3VycmVudGx5XG4gKiB3b3JraW5nIChlLmcuLCBhIGNsaW5pYyBvciB3YXJkKS5cbiAqXG4gKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBTZXNzaW9uTG9jYXRpb24gb2JqZWN0LCBvciBgdW5kZWZpbmVkYFxuICogICBpZiBubyBzZXNzaW9uIGxvY2F0aW9uIGlzIHNldC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IGdldFNlc3Npb25Mb2NhdGlvbiB9IGZyb20gJ0BvcGVubXJzL2VzbS1hcGknO1xuICogY29uc3QgbG9jYXRpb24gPSBhd2FpdCBnZXRTZXNzaW9uTG9jYXRpb24oKTtcbiAqIGlmIChsb2NhdGlvbikge1xuICogICBjb25zb2xlLmxvZygnQ3VycmVudCBsb2NhdGlvbjonLCBsb2NhdGlvbi5kaXNwbGF5KTtcbiAqIH1cbiAqIGBgYFxuICovIGV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRTZXNzaW9uTG9jYXRpb24oKSB7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IGF3YWl0IGdldEN1cnJlbnRVc2VyKCk7XG4gICAgcmV0dXJuIHNlc3Npb24uc2Vzc2lvbkxvY2F0aW9uO1xufVxuLyoqXG4gKiBTZXRzIHRoZSBzZXNzaW9uIGxvY2F0aW9uIGZvciB0aGUgY3VycmVudCB1c2VyLiBUaGUgc2Vzc2lvbiBsb2NhdGlvbiByZXByZXNlbnRzXG4gKiB0aGUgcGh5c2ljYWwgbG9jYXRpb24gd2hlcmUgdGhlIHVzZXIgaXMgd29ya2luZyAoZS5nLiwgYSBjbGluaWMgb3Igd2FyZCkuXG4gKiBUaGlzIHRyaWdnZXJzIGEgc2VydmVyIHJlcXVlc3QgdG8gdXBkYXRlIHRoZSBzZXNzaW9uIGFuZCByZWZyZXNoZXMgdGhlIGxvY2FsXG4gKiBzZXNzaW9uIHN0b3JlLlxuICpcbiAqIEBwYXJhbSBsb2NhdGlvblV1aWQgVGhlIFVVSUQgb2YgdGhlIGxvY2F0aW9uIHRvIHNldCBhcyB0aGUgc2Vzc2lvbiBsb2NhdGlvbi5cbiAqIEBwYXJhbSBhYm9ydENvbnRyb2xsZXIgQW4gQWJvcnRDb250cm9sbGVyIHRvIGFsbG93IGNhbmNlbGxhdGlvbiBvZiB0aGUgcmVxdWVzdC5cbiAqIEByZXR1cm5zIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHVwZGF0ZWQgU2Vzc2lvblN0b3JlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgc2V0U2Vzc2lvbkxvY2F0aW9uIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWFwaSc7XG4gKiBjb25zdCBhYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gKiBhd2FpdCBzZXRTZXNzaW9uTG9jYXRpb24oJ2xvY2F0aW9uLXV1aWQtaGVyZScsIGFib3J0Q29udHJvbGxlcik7XG4gKiBgYGBcbiAqLyBleHBvcnQgYXN5bmMgZnVuY3Rpb24gc2V0U2Vzc2lvbkxvY2F0aW9uKGxvY2F0aW9uVXVpZCwgYWJvcnRDb250cm9sbGVyKSB7XG4gICAgcmV0dXJuIGhhbmRsZVNlc3Npb25SZXNwb25zZShvcGVubXJzRmV0Y2goc2Vzc2lvbkVuZHBvaW50LCB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICBzZXNzaW9uTG9jYXRpb246IGxvY2F0aW9uVXVpZFxuICAgICAgICB9LFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIH0sXG4gICAgICAgIHJlamVjdEF1dGhGYWlsdXJlOiB0cnVlLFxuICAgICAgICBzaWduYWw6IGFib3J0Q29udHJvbGxlcj8uc2lnbmFsXG4gICAgfSkpO1xufVxuLyoqXG4gKiBTZXRzIHRoZSBsb2NhbGUgZm9yIHRoZSBjdXJyZW50IHNlc3Npb24gb25seSwgbGVhdmluZyB0aGUgdXNlcidzIGRlZmF1bHQgbG9jYWxlIHVuY2hhbmdlZC5cbiAqIFVzZSB7QGxpbmsgc2V0VXNlclByb3BlcnRpZXN9IHdpdGggYSBgZGVmYXVsdExvY2FsZWAgcHJvcGVydHkgdG8gY2hhbmdlIHRoZSBkZWZhdWx0IGluc3RlYWQuXG4gKlxuICogQHBhcmFtIGxvY2FsZSBUaGUgbG9jYWxlIGluIEphdmEncyBgTG9jYWxlI3RvU3RyaW5nKClgIGZvcm0sIGUuZy4gYGVuX0dCYC5cbiAqIEBwYXJhbSBhYm9ydENvbnRyb2xsZXIgT3B0aW9uYWwgQWJvcnRDb250cm9sbGVyIHRvIGFsbG93IGNhbmNlbGxhdGlvbiBvZiB0aGUgcmVxdWVzdC5cbiAqIEByZXR1cm5zIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHVwZGF0ZWQgU2Vzc2lvblN0b3JlIGFmdGVyIHJlZmV0Y2hpbmcgdGhlIGN1cnJlbnQgdXNlci5cbiAqICAgSXQgcmVqZWN0cyB3aXRoIGFuIHtAbGluayBPcGVubXJzRmV0Y2hFcnJvcn0gaWYgdGhlIHNlcnZlciBkb2VzIG5vdCBhY2NlcHQgdGhlIGxvY2FsZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IHNldFNlc3Npb25Mb2NhbGUgfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJztcbiAqIGF3YWl0IHNldFNlc3Npb25Mb2NhbGUoJ2ZyJyk7XG4gKiBgYGBcbiAqXG4gKiBAaW50ZXJuYWxcbiAqLyBleHBvcnQgYXN5bmMgZnVuY3Rpb24gc2V0U2Vzc2lvbkxvY2FsZShsb2NhbGUsIGFib3J0Q29udHJvbGxlcikge1xuICAgIGF3YWl0IG9wZW5tcnNGZXRjaChzZXNzaW9uRW5kcG9pbnQsIHtcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgIGxvY2FsZVxuICAgICAgICB9LFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIH0sXG4gICAgICAgIHNpZ25hbDogYWJvcnRDb250cm9sbGVyPy5zaWduYWxcbiAgICB9KTtcbiAgICByZXR1cm4gcmVmZXRjaEN1cnJlbnRVc2VyKCk7XG59XG4vKipcbiAqIFVwZGF0ZXMgdGhlIHVzZXIgcHJvcGVydGllcyBmb3IgYSBzcGVjaWZpYyB1c2VyLiBVc2VyIHByb3BlcnRpZXMgYXJlIGtleS12YWx1ZVxuICogcGFpcnMgdGhhdCBzdG9yZSB1c2VyLXNwZWNpZmljIHNldHRpbmdzIGFuZCBwcmVmZXJlbmNlcy4gQWZ0ZXIgdXBkYXRpbmcgdGhlXG4gKiBwcm9wZXJ0aWVzIG9uIHRoZSBzZXJ2ZXIsIHRoZSBjdXJyZW50IHVzZXIgc2Vzc2lvbiBpcyByZWZldGNoZWQgdG8gcmVmbGVjdFxuICogdGhlIGNoYW5nZXMuXG4gKlxuICogQHBhcmFtIHVzZXJVdWlkIFRoZSBVVUlEIG9mIHRoZSB1c2VyIHdob3NlIHByb3BlcnRpZXMgc2hvdWxkIGJlIHVwZGF0ZWQuXG4gKiBAcGFyYW0gdXNlclByb3BlcnRpZXMgQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHByb3BlcnRpZXMgdG8gc2V0IG9yIHVwZGF0ZS5cbiAqIEBwYXJhbSBhYm9ydENvbnRyb2xsZXIgT3B0aW9uYWwgQWJvcnRDb250cm9sbGVyIHRvIGFsbG93IGNhbmNlbGxhdGlvbiBvZiB0aGUgcmVxdWVzdC5cbiAqICAgSWYgbm90IHByb3ZpZGVkLCBhIG5ldyBBYm9ydENvbnRyb2xsZXIgaXMgY3JlYXRlZC5cbiAqIEByZXR1cm5zIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHVwZGF0ZWQgU2Vzc2lvblN0b3JlIGFmdGVyIHJlZmV0Y2hpbmdcbiAqICAgdGhlIGN1cnJlbnQgdXNlci5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IGdldExvZ2dlZEluVXNlciwgc2V0VXNlclByb3BlcnRpZXMgfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJztcbiAqIGNvbnN0IHVzZXIgPSBhd2FpdCBnZXRMb2dnZWRJblVzZXIoKTtcbiAqIGF3YWl0IHNldFVzZXJQcm9wZXJ0aWVzKHVzZXIudXVpZCwge1xuICogICBkZWZhdWx0TG9jYWxlOiAnZW5fR0InLFxuICogICBjdXN0b21TZXR0aW5nOiAndmFsdWUnXG4gKiB9KTtcbiAqIGBgYFxuICovIGV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZXRVc2VyUHJvcGVydGllcyh1c2VyVXVpZCwgdXNlclByb3BlcnRpZXMsIGFib3J0Q29udHJvbGxlcikge1xuICAgIGlmICghYWJvcnRDb250cm9sbGVyKSB7XG4gICAgICAgIGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB9XG4gICAgYXdhaXQgb3Blbm1yc0ZldGNoKGAke3Jlc3RCYXNlVXJsfS91c2VyLyR7dXNlclV1aWR9YCwge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgYm9keToge1xuICAgICAgICAgICAgdXNlclByb3BlcnRpZXNcbiAgICAgICAgfSxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICB9LFxuICAgICAgICBzaWduYWw6IGFib3J0Q29udHJvbGxlci5zaWduYWxcbiAgICB9KTtcbiAgICByZXR1cm4gcmVmZXRjaEN1cnJlbnRVc2VyKCk7XG59XG4vKipcbiAqIFN1Ym1pdHMgYSBUT1RQIGNvZGUgdG8gY29tcGxldGUgYSB0d28tZmFjdG9yIGxvZ2luIGNoYWxsZW5nZS4gV2hlbiB0aGUgY29kZSBpcyBhY2NlcHRlZCwgdGhlXG4gKiBzZXNzaW9uIHN0b3JlIGlzIHJlZnJlc2hlZCB3aXRoIHRoZSBub3ctYXV0aGVudGljYXRlZCBzZXNzaW9uLlxuICpcbiAqIEBwYXJhbSBjb2RlIFRoZSBjb2RlIGZyb20gdGhlIHVzZXIncyBhdXRoZW50aWNhdG9yIGFwcC5cbiAqIEBwYXJhbSByZW1lbWJlckRldmljZSBXaGV0aGVyIHRoZSBzZXJ2ZXIgc2hvdWxkIHNraXAgdGhlIGNoYWxsZW5nZSBvbiB0aGlzIGRldmljZSBpbiBmdXR1cmUuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgcmVzb2x2aW5nIHRvIHRoZSBzZXNzaW9uLiBJdHMgYGF1dGhlbnRpY2F0ZWRgIHByb3BlcnR5IGlzIGBmYWxzZWAgaWYgdGhlXG4gKiAgIGNvZGUgd2FzIG5vdCBhY2NlcHRlZC4gSXQgcmVqZWN0cyB3aXRoIGFuIHtAbGluayBPcGVubXJzRmV0Y2hFcnJvcn0gaWYgdGhlIHNlcnZlciByZWplY3RzIHRoZVxuICogICByZXF1ZXN0LCBpbiB3aGljaCBjYXNlIGByZXNwb25zZUJvZHlgIG1heSBleHBsYWluIHdoeS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IHZlcmlmeVRvdHBDb2RlIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWFwaSc7XG4gKiBjb25zdCBzZXNzaW9uID0gYXdhaXQgdmVyaWZ5VG90cENvZGUoJzEyMzQ1NicsIHRydWUpO1xuICogYGBgXG4gKlxuICogQGludGVybmFsXG4gKi8gZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZlcmlmeVRvdHBDb2RlKGNvZGUsIHJlbWVtYmVyRGV2aWNlID0gZmFsc2UpIHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IG9wZW5tcnNGZXRjaChyZW1lbWJlckRldmljZSA/IGAke3Nlc3Npb25FbmRwb2ludH0/cmVtZW1iZXJNZT10cnVlYCA6IHNlc3Npb25FbmRwb2ludCwge1xuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAnWC1Ub3RwLUNvZGUnOiBjb2RlXG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAocmVzcG9uc2UuZGF0YT8uYXV0aGVudGljYXRlZCkge1xuICAgICAgICAvLyBgcmVmZXRjaEN1cnJlbnRVc2VyYCBvbmx5IHJlc29sdmVzIG9uY2UgdGhlIHN0b3JlIGhvbGRzIGEgc2Vzc2lvbi5cbiAgICAgICAgY29uc3Qgc3RvcmUgPSBhd2FpdCByZWZldGNoQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIHN0b3JlLnNlc3Npb247XG4gICAgfVxuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xufVxuLyoqXG4gKiBFbmRzIHRoZSBjdXJyZW50IHNlc3Npb24gb24gdGhlIHNlcnZlciBhbmQgcmVjb3JkcyBhIGxvZ2dlZC1vdXQgc2Vzc2lvbiBpbiB0aGUgc2Vzc2lvbiBzdG9yZS5cbiAqIEEgc2VydmVyIHRoYXQgaGFzIGFscmVhZHkgZW5kZWQgdGhlIHNlc3Npb24gKDQwMSBvciA0MDMpIGNvdW50cyBhcyBhIHN1Y2Nlc3NmdWwgbG9nb3V0LlxuICpcbiAqIE90aGVyIGRhdGEgY2FjaGVkIGZvciB0aGUgbG9nZ2VkLWluIHVzZXIsIHN1Y2ggYXMgU1dSIGNhY2hlcywgaXMgdGhlIGNhbGxlcidzIHRvIGNsZWFyLlxuICpcbiAqIEByZXR1cm5zIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIG9uY2UgdGhlIHNlc3Npb24gc3RvcmUgaG9sZHMgYSBsb2dnZWQtb3V0IHNlc3Npb24uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBsb2dvdXQgfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJztcbiAqIGF3YWl0IGxvZ291dCgpO1xuICogYGBgXG4gKlxuICogQGludGVybmFsXG4gKi8gZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvZ291dCgpIHtcbiAgICB0cnkge1xuICAgICAgICBhd2FpdCBvcGVubXJzRmV0Y2goc2Vzc2lvbkVuZHBvaW50LCB7XG4gICAgICAgICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgICAgICAgcmVqZWN0QXV0aEZhaWx1cmU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmICghaXNBdXRoRmFpbHVyZShlcnIpKSB7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY2xlYXJDdXJyZW50VXNlcigpO1xuICAgIC8vIFRoZSBzZXNzaW9uIGp1c3QgY2xlYXJlZCBpcyBhbHJlYWR5IGNvcnJlY3QsIHNvIGEgZmFpbGVkIHJlZnJlc2ggbG9zZXMgbm90aGluZy5cbiAgICBhd2FpdCByZWZldGNoQ3VycmVudFVzZXIoKS5jYXRjaCgoKT0+e30pO1xufVxuZnVuY3Rpb24gaGFuZGxlU2Vzc2lvblJlc3BvbnNlKHJlc3VsdCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KT0+e1xuICAgICAgICByZXN1bHQudGhlbigocmVzKT0+e1xuICAgICAgICAgICAgaWYgKHR5cGVvZiByZXM/LmRhdGEgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV4dFN0YXRlID0ge1xuICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHNlc3Npb246IHJlcy5kYXRhXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBzZXNzaW9uU3RvcmUuc2V0U3RhdGUobmV4dFN0YXRlLCB0cnVlKTtcbiAgICAgICAgICAgICAgICByZXNvbHZlKG5leHRTdGF0ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlamVjdChyZWNvcmRTZXNzaW9uRmFpbHVyZShFcnJvcignVGhlIHNlc3Npb24gZW5kcG9pbnQgZGlkIG5vdCByZXNwb25kIHdpdGggYSBzZXNzaW9uJykpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkuY2F0Y2goKGVycik9PntcbiAgICAgICAgICAgIC8vIEFuIGF1dGggZmFpbHVyZSBpcyB0aGUgc2Vzc2lvbiBlbmRwb2ludCdzIGFuc3dlciBmb3IgXCJub3QgbG9nZ2VkIGluXCIsIG5vdCBhIGZhaWxlZCBsb29rdXAuXG4gICAgICAgICAgICBpZiAoaXNBdXRoRmFpbHVyZShlcnIpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzVW5hdXRoZW50aWNhdGVkU2Vzc2lvbihlcnIucmVzcG9uc2VCb2R5KSkge1xuICAgICAgICAgICAgICAgICAgICBzZXNzaW9uU3RvcmUuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbjogZXJyLnJlc3BvbnNlQm9keVxuICAgICAgICAgICAgICAgICAgICB9LCB0cnVlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjbGVhckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlc29sdmUoc2Vzc2lvblN0b3JlLmdldFN0YXRlKCkpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlcG9ydEVycm9yKGBGYWlsZWQgdG8gZmV0Y2ggbmV3IHNlc3Npb24gaW5mb3JtYXRpb246ICR7ZXJyfWApO1xuICAgICAgICAgICAgcmVqZWN0KHJlY29yZFNlc3Npb25GYWlsdXJlKGVycikpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGlzQXV0aEZhaWx1cmUoZXJyKSB7XG4gICAgcmV0dXJuIGVyciBpbnN0YW5jZW9mIE9wZW5tcnNGZXRjaEVycm9yICYmIChlcnIucmVzcG9uc2Uuc3RhdHVzID09PSA0MDEgfHwgZXJyLnJlc3BvbnNlLnN0YXR1cyA9PT0gNDAzKTtcbn1cbmZ1bmN0aW9uIGlzVW5hdXRoZW50aWNhdGVkU2Vzc2lvbihib2R5KSB7XG4gICAgcmV0dXJuIHR5cGVvZiBib2R5ID09PSAnb2JqZWN0JyAmJiBib2R5ICE9PSBudWxsICYmIGJvZHkuYXV0aGVudGljYXRlZCA9PT0gZmFsc2U7XG59XG4vKipcbiAqIEEgc2Vzc2lvbiB0aGF0IGhhcyBhbHJlYWR5IGxvYWRlZCBpcyBrZXB0IHdoZW4gYSBsYXRlciBmZXRjaCBmYWlscywgc2luY2UgaXQgaXMgc3RpbGwgdGhlIGJlc3QgYW5zd2VyXG4gKiBhdmFpbGFibGUuIFdpdGggbm90aGluZyB0byBmYWxsIGJhY2sgb24sIHRoZSBlcnJvciBpcyByZWNvcmRlZCBzbyB0aGUgYXBwIHNoZWxsIGNhbiBzaG93IGFuIGVycm9yIHBhZ2UuXG4gKi8gZnVuY3Rpb24gcmVjb3JkU2Vzc2lvbkZhaWx1cmUoZXJyKSB7XG4gICAgaWYgKCFzZXNzaW9uU3RvcmUuZ2V0U3RhdGUoKS5sb2FkZWQpIHtcbiAgICAgICAgc2Vzc2lvblN0b3JlLnNldFN0YXRlKHtcbiAgICAgICAgICAgIGxvYWRlZDogZmFsc2UsXG4gICAgICAgICAgICBzZXNzaW9uOiBudWxsLFxuICAgICAgICAgICAgZXJyb3I6IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyIDogRXJyb3IoU3RyaW5nKGVycikpXG4gICAgICAgIH0sIHRydWUpO1xuICAgIH1cbiAgICByZXR1cm4gc2Vzc2lvblN0b3JlLmdldFN0YXRlKCk7XG59XG4iXSwibmFtZXMiOlsicmVwb3J0RXJyb3IiLCJjcmVhdGVHbG9iYWxTdG9yZSIsImlzVW5kZWZpbmVkIiwiT3Blbm1yc0ZldGNoRXJyb3IiLCJvcGVubXJzRmV0Y2giLCJyZXN0QmFzZVVybCIsInNlc3Npb25FbmRwb2ludCIsInNlc3Npb25TdG9yZSIsInNlc3Npb25NYXhBZ2VNaWxsaXMiLCJsYXN0RmV0Y2hUaW1lTWlsbGlzIiwiaW5GbGlnaHRSZWZyZXNoIiwicmVmcmVzaFNlc3Npb25JZlN0YWxlIiwiRGF0ZSIsInJlZmV0Y2hDdXJyZW50VXNlciIsImdldEN1cnJlbnRVc2VyIiwib3B0cyIsImluY2x1ZGVBdXRoU3RhdHVzIiwic2VsZWN0Iiwic2Vzc2lvbiIsInJlZnJlc2giLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlc29sdmVJZkxvYWRlZCIsInN0YXRlIiwidW5zdWJzY3JpYmUiLCJnZXRTZXNzaW9uU3RvcmUiLCJpc1ZhbGlkTG9jYWxlIiwibG9jYWxlIiwidW5kZWZpbmVkIiwiSW50bCIsImUiLCJzZXRVc2VyTGFuZ3VhZ2UiLCJkYXRhIiwiZG9jdW1lbnQiLCJ1c2VySGFzUHJpdmlsZWdlIiwicmVxdWlyZWRQcml2aWxlZ2UiLCJ1c2VyIiwicCIsIkFycmF5IiwicnAiLCJjb25zb2xlIiwiaXNTdXBlclVzZXIiLCJyb2xlIiwidXNlcm5hbWUiLCJwYXNzd29yZCIsImhlYWRlcnMiLCJ3aW5kb3ciLCJoYW5kbGVTZXNzaW9uUmVzcG9uc2UiLCJjbGVhciIsImNsZWFyQ3VycmVudFVzZXIiLCJ1c2VySGFzQWNjZXNzIiwiQm9vbGVhbiIsImdldExvZ2dlZEluVXNlciIsInJlcyIsImhhbmRsZXIiLCJnZXRTZXNzaW9uTG9jYXRpb24iLCJzZXRTZXNzaW9uTG9jYXRpb24iLCJsb2NhdGlvblV1aWQiLCJhYm9ydENvbnRyb2xsZXIiLCJzZXRTZXNzaW9uTG9jYWxlIiwic2V0VXNlclByb3BlcnRpZXMiLCJ1c2VyVXVpZCIsInVzZXJQcm9wZXJ0aWVzIiwiQWJvcnRDb250cm9sbGVyIiwidmVyaWZ5VG90cENvZGUiLCJjb2RlIiwicmVtZW1iZXJEZXZpY2UiLCJyZXNwb25zZSIsInN0b3JlIiwibG9nb3V0IiwiZXJyIiwiaXNBdXRoRmFpbHVyZSIsInJlc3VsdCIsInJlamVjdCIsIm5leHRTdGF0ZSIsInJlY29yZFNlc3Npb25GYWlsdXJlIiwiRXJyb3IiLCJpc1VuYXV0aGVudGljYXRlZFNlc3Npb24iLCJib2R5IiwiU3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQkFBMEIsR0FBNkQ7QUFDaEM7QUFDZjtBQUMyRDtBQUNuRyxjQUFjLEdBQVUsTUFBTU8sZUFBZU4seURBQWlCQSxDQUFDLFdBQVc7SUFDdEUsUUFBUTtJQUNSLFNBQVM7QUFDYixHQUFHO0FBQ0g7Ozs7Q0FJQyxHQUFHLE1BQU1PLHNCQUFzQixLQUFLO0FBQ3JDLElBQUlDLHNCQUFzQjtBQUMxQixJQUFJQyxrQkFBa0I7QUFDdEI7Ozs7Ozs7Ozs7O0NBV0MsR0FBRyxTQUFTQztJQUNULElBQUlELGlCQUFpQjtRQUNqQixPQUFPQTtJQUNYO0lBQ0EsSUFBSUgsYUFBYSxRQUFRLEdBQUcsTUFBTSxJQUFJRSx1QkFBdUJHLEtBQUssR0FBRyxLQUFLSixxQkFBcUI7UUFDM0YsT0FBTztJQUNYO0lBQ0EsT0FBT0s7QUFDWDtBQUNBLFNBQVNDLGVBQWVDLElBQUk7SUFDeEIsTUFBTUMsb0JBQW9CRCxNQUFNLHFCQUFxQjtJQUNyRCxNQUFNRSxTQUFT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\n//# sourceURL=webpack-internal:///../../framework/esm-api/dist/current-user.js\n\n}");
4460
4460
 
4461
4461
  },
4462
4462
  "../../framework/esm-api/dist/environment.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
@@ -4466,7 +4466,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webp
4466
4466
  },
4467
4467
  "../../framework/esm-api/dist/index.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
4468
4468
  "use strict";
4469
- eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n OpenmrsFetchError: () => (/* reexport safe */ _openmrs_fetch_js__rspack_import_3.OpenmrsFetchError),\n backendDependencies: () => (/* reexport safe */ _openmrs_backend_dependencies_js__rspack_import_2.backendDependencies),\n clearCurrentUser: () => (/* reexport safe */ _current_user_js__rspack_import_0.clearCurrentUser),\n fhirBaseUrl: () => (/* reexport safe */ _openmrs_fetch_js__rspack_import_3.fhirBaseUrl),\n getCurrentUser: () => (/* reexport safe */ _current_user_js__rspack_import_0.getCurrentUser),\n getLoggedInUser: () => (/* reexport safe */ _current_user_js__rspack_import_0.getLoggedInUser),\n getSessionLocation: () => (/* reexport safe */ _current_user_js__rspack_import_0.getSessionLocation),\n getSessionStore: () => (/* reexport safe */ _current_user_js__rspack_import_0.getSessionStore),\n isDevEnabled: () => (/* reexport safe */ _environment_js__rspack_import_1.isDevEnabled),\n makeUrl: () => (/* reexport safe */ _openmrs_fetch_js__rspack_import_3.makeUrl),\n openmrsFetch: () => (/* reexport safe */ _openmrs_fetch_js__rspack_import_3.openmrsFetch),\n refetchCurrentUser: () => (/* reexport safe */ _current_user_js__rspack_import_0.refetchCurrentUser),\n restBaseUrl: () => (/* reexport safe */ _openmrs_fetch_js__rspack_import_3.restBaseUrl),\n sessionEndpoint: () => (/* reexport safe */ _openmrs_fetch_js__rspack_import_3.sessionEndpoint),\n sessionStore: () => (/* reexport safe */ _current_user_js__rspack_import_0.sessionStore),\n setSessionLocation: () => (/* reexport safe */ _current_user_js__rspack_import_0.setSessionLocation),\n setUserLanguage: () => (/* reexport safe */ _current_user_js__rspack_import_0.setUserLanguage),\n setUserProperties: () => (/* reexport safe */ _current_user_js__rspack_import_0.setUserProperties),\n setupApiModule: () => (/* reexport safe */ _setup_js__rspack_import_4.setupApiModule),\n userHasAccess: () => (/* reexport safe */ _current_user_js__rspack_import_0.userHasAccess)\n});\n/* import */ var _current_user_js__rspack_import_0 = __webpack_require__(\"../../framework/esm-api/dist/current-user.js\");\n/* import */ var _environment_js__rspack_import_1 = __webpack_require__(\"../../framework/esm-api/dist/environment.js\");\n/* import */ var _openmrs_backend_dependencies_js__rspack_import_2 = __webpack_require__(\"../../framework/esm-api/dist/openmrs-backend-dependencies.js\");\n/* import */ var _openmrs_fetch_js__rspack_import_3 = __webpack_require__(\"../../framework/esm-api/dist/openmrs-fetch.js\");\n/* import */ var _setup_js__rspack_import_4 = __webpack_require__(\"../../framework/esm-api/dist/setup.js\");\n/* import */ var _types_index_js__rspack_import_5 = __webpack_require__(\"../../framework/esm-api/dist/types/index.js\");\n\n\n\n\n\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyPz9ydWxlU2V0WzFdLnJ1bGVzWzVdLnVzZVswXSEvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvcGFja2FnZXMvZnJhbWV3b3JrL2VzbS1hcGkvZGlzdC9pbmRleC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvZGlzdC9pbmRleC5qcz9lYWE2Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2N1cnJlbnQtdXNlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW52aXJvbm1lbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL29wZW5tcnMtYmFja2VuZC1kZXBlbmRlbmNpZXMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL29wZW5tcnMtZmV0Y2guanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NldHVwLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlcy9pbmRleC5qc1wiO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQWtDO0FBQ0Q7QUFDaUI7QUFDZjtBQUNSO0FBQ00ifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-api/dist/index.js\n\n}");
4469
+ eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n OpenmrsFetchError: () => (/* reexport safe */ _openmrs_fetch_js__rspack_import_3.OpenmrsFetchError),\n backendDependencies: () => (/* reexport safe */ _openmrs_backend_dependencies_js__rspack_import_2.backendDependencies),\n clearCurrentUser: () => (/* reexport safe */ _current_user_js__rspack_import_0.clearCurrentUser),\n fhirBaseUrl: () => (/* reexport safe */ _openmrs_fetch_js__rspack_import_3.fhirBaseUrl),\n getCurrentUser: () => (/* reexport safe */ _current_user_js__rspack_import_0.getCurrentUser),\n getLoggedInUser: () => (/* reexport safe */ _current_user_js__rspack_import_0.getLoggedInUser),\n getSessionLocation: () => (/* reexport safe */ _current_user_js__rspack_import_0.getSessionLocation),\n getSessionStore: () => (/* reexport safe */ _current_user_js__rspack_import_0.getSessionStore),\n isDevEnabled: () => (/* reexport safe */ _environment_js__rspack_import_1.isDevEnabled),\n logout: () => (/* reexport safe */ _current_user_js__rspack_import_0.logout),\n makeUrl: () => (/* reexport safe */ _openmrs_fetch_js__rspack_import_3.makeUrl),\n openmrsFetch: () => (/* reexport safe */ _openmrs_fetch_js__rspack_import_3.openmrsFetch),\n refetchCurrentUser: () => (/* reexport safe */ _current_user_js__rspack_import_0.refetchCurrentUser),\n restBaseUrl: () => (/* reexport safe */ _openmrs_fetch_js__rspack_import_3.restBaseUrl),\n sessionEndpoint: () => (/* reexport safe */ _openmrs_fetch_js__rspack_import_3.sessionEndpoint),\n sessionStore: () => (/* reexport safe */ _current_user_js__rspack_import_0.sessionStore),\n setSessionLocale: () => (/* reexport safe */ _current_user_js__rspack_import_0.setSessionLocale),\n setSessionLocation: () => (/* reexport safe */ _current_user_js__rspack_import_0.setSessionLocation),\n setUserLanguage: () => (/* reexport safe */ _current_user_js__rspack_import_0.setUserLanguage),\n setUserProperties: () => (/* reexport safe */ _current_user_js__rspack_import_0.setUserProperties),\n setupApiModule: () => (/* reexport safe */ _setup_js__rspack_import_4.setupApiModule),\n userHasAccess: () => (/* reexport safe */ _current_user_js__rspack_import_0.userHasAccess),\n verifyTotpCode: () => (/* reexport safe */ _current_user_js__rspack_import_0.verifyTotpCode)\n});\n/* import */ var _current_user_js__rspack_import_0 = __webpack_require__(\"../../framework/esm-api/dist/current-user.js\");\n/* import */ var _environment_js__rspack_import_1 = __webpack_require__(\"../../framework/esm-api/dist/environment.js\");\n/* import */ var _openmrs_backend_dependencies_js__rspack_import_2 = __webpack_require__(\"../../framework/esm-api/dist/openmrs-backend-dependencies.js\");\n/* import */ var _openmrs_fetch_js__rspack_import_3 = __webpack_require__(\"../../framework/esm-api/dist/openmrs-fetch.js\");\n/* import */ var _setup_js__rspack_import_4 = __webpack_require__(\"../../framework/esm-api/dist/setup.js\");\n/* import */ var _types_index_js__rspack_import_5 = __webpack_require__(\"../../framework/esm-api/dist/types/index.js\");\n\n\n\n\n\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyPz9ydWxlU2V0WzFdLnJ1bGVzWzVdLnVzZVswXSEvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvcGFja2FnZXMvZnJhbWV3b3JrL2VzbS1hcGkvZGlzdC9pbmRleC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvZGlzdC9pbmRleC5qcz9lYWE2Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2N1cnJlbnQtdXNlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW52aXJvbm1lbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL29wZW5tcnMtYmFja2VuZC1kZXBlbmRlbmNpZXMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL29wZW5tcnMtZmV0Y2guanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NldHVwLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlcy9pbmRleC5qc1wiO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQWtDO0FBQ0Q7QUFDaUI7QUFDZjtBQUNSO0FBQ00ifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-api/dist/index.js\n\n}");
4470
4470
 
4471
4471
  },
4472
4472
  "../../framework/esm-api/dist/openmrs-backend-dependencies.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
@@ -4476,7 +4476,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webp
4476
4476
  },
4477
4477
  "../../framework/esm-api/dist/openmrs-fetch.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
4478
4478
  "use strict";
4479
- eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n OpenmrsFetchError: () => (OpenmrsFetchError),\n fhirBaseUrl: () => (fhirBaseUrl),\n makeUrl: () => (makeUrl),\n openmrsFetch: () => (openmrsFetch),\n restBaseUrl: () => (restBaseUrl),\n sessionEndpoint: () => (sessionEndpoint)\n});\n/* import */ var lodash_es__rspack_import_3 = __webpack_require__(\"../../../node_modules/lodash-es/isPlainObject.js\");\n/* import */ var _openmrs_esm_config__rspack_import_0 = __webpack_require__(\"../../framework/esm-config/dist/index.js\");\n/* import */ var _openmrs_esm_navigation__rspack_import_1 = __webpack_require__(\"../../framework/esm-navigation/dist/index.js\");\n/* import */ var _config_schema_js__rspack_import_2 = __webpack_require__(\"../../framework/esm-api/dist/config-schema.js\");\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}\n/** @module @category API */ \n\n\n\n/** The base URL for the OpenMRS REST API (e.g., '/ws/rest/v1'). */ const restBaseUrl = '/ws/rest/v1';\n/** The base URL for the OpenMRS FHIR R4 API (e.g., '/ws/fhir2/R4'). */ const fhirBaseUrl = '/ws/fhir2/R4';\n/** The endpoint for session management operations. */ const sessionEndpoint = `${restBaseUrl}/session`;\n/**\n * Append `path` to the OpenMRS SPA base.\n *\n * @param path The path to append to the OpenMRS base URL.\n * @returns The full URL with the OpenMRS base prepended. If the path is already\n * an absolute URL (starting with 'http'), it is returned unchanged.\n *\n * @example\n *\n * ```ts\n * makeUrl('/foo/bar');\n * // => '/openmrs/foo/bar'\n * ```\n */ function makeUrl(path) {\n if (path && path.startsWith('http')) {\n return path;\n } else if (path[0] !== '/') {\n // ensure path starts with /\n path = '/' + path;\n }\n return window.openmrsBase + path;\n}\n/**\n * The openmrsFetch function is a wrapper around the\n * [browser's built-in fetch function](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch),\n * with extra handling for OpenMRS-specific API behaviors, such as\n * request headers, authentication, authorization, and the API urls.\n *\n * @param path A string url to make the request to. Note that the\n * openmrs base url (by default `/openmrs`) will be automatically\n * prepended to the URL, so there is no need to include it.\n * @param fetchInit A [fetch init object](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax).\n * Note that the `body` property does not need to be `JSON.stringify()`ed\n * because openmrsFetch will do that for you.\n * @returns A [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)\n * that resolves with a [Response object](https://developer.mozilla.org/en-US/docs/Web/API/Response).\n * Note that the openmrs version of the Response object has already\n * downloaded the HTTP response body as json, and has an additional\n * `data` property with the HTTP response json as a javascript object.\n *\n * @example\n * ```js\n * import { openmrsFetch } from '@openmrs/esm-api'\n * const abortController = new AbortController();\n * openmrsFetch(`${restBaseUrl}/session', {signal: abortController.signal})\n * .then(response => {\n * console.log(response.data.authenticated)\n * })\n * .catch(err => {\n * console.error(err.status);\n * })\n * abortController.abort();\n * openmrsFetch(`${restBaseUrl}/session', {\n * method: 'POST',\n * body: {\n * username: 'hi',\n * password: 'there',\n * }\n * })\n * ```\n *\n * #### Cancellation\n *\n * To cancel a network request, use an\n * [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort).\n * It is best practice to cancel your network requests when the user\n * navigates away from a page while the request is pending request, to\n * free up memory and network resources and to prevent race conditions.\n *\n * @category API\n */ function openmrsFetch(path, fetchInit = {}) {\n if (typeof path !== 'string') {\n throw Error(\"The first argument to @openmrs/api's openmrsFetch function must be a url string\");\n }\n if (typeof fetchInit !== 'object') {\n throw Error(\"The second argument to @openmrs/api's openmrsFetch function must be a plain object.\");\n }\n if (!window.openmrsBase) {\n throw Error(\"@openmrs/api is running in a browser that doesn't have window.openmrsBase, which is provided by openmrs-module-spa's HTML file.\");\n }\n // Prefix the url with the openmrs spa base\n let url = makeUrl(path);\n // We're going to need some headers\n if (!fetchInit.headers) {\n fetchInit.headers = {};\n }\n /* Automatically stringify javascript objects being sent in the\n * request body.\n */ if ((0,lodash_es__rspack_import_3[\"default\"])(fetchInit.body)) {\n fetchInit.body = JSON.stringify(fetchInit.body);\n }\n /* Add a request header to tell the server to respond with json,\n * since frontend code almost always wants json and the OpenMRS\n * server won't give you json unless you explicitly ask for it.\n * If a different Accept header is preferred, pass it into the fetchInit.\n * If no Accept header is desired, pass it in explicitly as null.\n */ if (typeof fetchInit.headers.Accept === 'undefined') {\n fetchInit.headers.Accept = 'application/json';\n }\n if (fetchInit.headers.Accept === null) {\n delete fetchInit.headers.Accept;\n }\n /* This tells the OpenMRS REST API not to return a WWW-Authenticate\n * header. Returning that header is useful when using the API, but\n * not from a UI.\n */ let isRestRequest = false;\n try {\n const requestUrl = new URL(url, window.location.href);\n const restUrl = new URL(makeUrl(restBaseUrl), window.location.href);\n // Compare normalized paths without changing the outgoing URL. Pagination links\n // may omit the extra slash introduced by an openmrsBase with a trailing slash.\n const requestPath = requestUrl.pathname.replace(/\\/{2,}/g, '/');\n const restPath = restUrl.pathname.replace(/\\/{2,}/g, '/');\n isRestRequest = requestUrl.origin === restUrl.origin && (requestPath === restPath || requestPath.startsWith(`${restPath}/`));\n } catch {\n // Let native fetch reject malformed URLs instead of throwing synchronously here.\n }\n if (isRestRequest) {\n let hasAuthHeader = false;\n for (const [name, value] of Object.entries(fetchInit.headers)){\n if (name.toLowerCase() === 'disable-www-authenticate') {\n if (value === undefined) {\n // Remove every casing so fetch cannot combine \"undefined\" with the default.\n delete fetchInit.headers[name];\n } else {\n hasAuthHeader = true;\n }\n }\n }\n if (!hasAuthHeader) {\n fetchInit.headers['Disable-WWW-Authenticate'] = 'true';\n }\n }\n if (path.startsWith(fhirBaseUrl)) {\n const urlUrl = new URL(url, window.location.toString());\n if (!urlUrl.searchParams.has('_summary')) {\n urlUrl.searchParams.set('_summary', 'data');\n url = urlUrl.toString();\n }\n }\n /* We capture the stacktrace before making the request, so that if an error occurs we can\n * log a full stacktrace that includes the code that made the request and handled the response\n * Otherwise, we could run into situations where the stacktrace doesn't even show which code\n * called @openmrs/api.\n */ const requestStacktrace = Error();\n return window.fetch(url, fetchInit).then(async (r)=>{\n const response = r;\n const { redirectAuthFailure, followRedirects } = await (0,_openmrs_esm_config__rspack_import_0.getConfig)('@openmrs/esm-api');\n if (response.ok) {\n /*\n * Backend modules can trigger SPA redirects by returning a `Location` header.\n * This is required because `fetch()` hides HTTP redirects from the application.\n *\n * - Session endpoint (2xx): Authentication challenge URLs (e.g. TOTP,2FA).\n * - HTTP 204: Logout redirect URLs (e.g. Keycloak IdP logout). Refer: OA-41 #1231\n */ const location = response.headers.get('location');\n const shouldRedirect = followRedirects && location && (url === makeUrl(sessionEndpoint) || response.status === 204);\n if (shouldRedirect) {\n (0,_openmrs_esm_navigation__rspack_import_1.navigate)({\n to: location\n });\n }\n if (response.status === 204) {\n /* HTTP 204 - No Content\n * We should not try to download the empty response as json. Instead,\n * we return null since there is no response body.\n */ response.data = null;\n return response;\n } else {\n // HTTP 200s - The request succeeded\n return response.clone().text().then((responseText)=>{\n try {\n if (responseText) {\n response.data = JSON.parse(responseText);\n }\n } catch (err) {\n // Server didn't respond with json\n }\n return response;\n });\n }\n } else {\n /* HTTP response status is not in 200s. Usually this will mean\n * either HTTP 400s (bad request from browser) or HTTP 500s (server error)\n * Our goal is to come up with best possible stacktrace and error message\n * to help developers understand the problem and debug\n */ /*\n * Redirect to given url when redirect on auth failure is enabled\n */ if (url === makeUrl(sessionEndpoint) && response.status === 403 || redirectAuthFailure.enabled && redirectAuthFailure.errors.includes(response.status)) {\n (0,_openmrs_esm_navigation__rspack_import_1.clearHistory)();\n // by default, redirect to the url specified in the config.\n // If blank, use the location header from the response.\n // If that is also blank, use the default redirect url.\n const location = redirectAuthFailure.url || response.headers.get('location') || _config_schema_js__rspack_import_2.defaultRedirectAuthFailureUrl;\n (0,_openmrs_esm_navigation__rspack_import_1.navigate)({\n to: location\n });\n /* We sometimes don't really want this promise to resolve since there's no response data,\n * nor do we want it to reject because that would trigger error handling. We instead\n * want it to remain in pending status while the navigation occurs.\n */ return redirectAuthFailure.resolvePromise ? Promise.resolve() : new Promise(()=>{});\n } else {\n // Attempt to download a response body, if it has one\n return response.clone().text().then((responseText)=>{\n let responseBody = responseText;\n try {\n responseBody = JSON.parse(responseText);\n } catch (err) {\n // Server didn't respond with json, so just go with the response text string\n }\n /* Make the fetch promise go into \"rejected\" status, with the best\n * possible stacktrace and error message.\n */ throw new OpenmrsFetchError(url, response, responseBody, requestStacktrace);\n }, (err)=>{\n /* We weren't able to download a response body for this error.\n * Time to just give the best possible stacktrace and error message.\n */ throw new OpenmrsFetchError(url, response, null, requestStacktrace);\n });\n }\n }\n });\n}\nclass OpenmrsFetchError extends Error {\n constructor(url, response, responseBody, requestStacktrace){\n super(), _define_property(this, \"response\", void 0), _define_property(this, \"responseBody\", void 0);\n this.message = `Server responded with ${response.status} (${response.statusText}) for url ${url}. Check err.responseBody or network tab in dev tools for more info`;\n requestStacktrace.message = this.message;\n this.responseBody = responseBody;\n this.response = response;\n this.stack = `Stacktrace for outgoing request:\\n${requestStacktrace.stack}\\nStacktrace for incoming response:\\n${this.stack}`;\n }\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyPz9ydWxlU2V0WzFdLnJ1bGVzWzVdLnVzZVswXSEvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvcGFja2FnZXMvZnJhbWV3b3JrL2VzbS1hcGkvZGlzdC9vcGVubXJzLWZldGNoLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLWFwaS9kaXN0L29wZW5tcnMtZmV0Y2guanM/YzhiNiJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfZGVmaW5lX3Byb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkge1xuICAgIGlmIChrZXkgaW4gb2JqKSB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwge1xuICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIG9ialtrZXldID0gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG59XG4vKiogQG1vZHVsZSBAY2F0ZWdvcnkgQVBJICovIGltcG9ydCB7IGlzUGxhaW5PYmplY3QgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBnZXRDb25maWcgfSBmcm9tIFwiQG9wZW5tcnMvZXNtLWNvbmZpZ1wiO1xuaW1wb3J0IHsgY2xlYXJIaXN0b3J5LCBuYXZpZ2F0ZSB9IGZyb20gXCJAb3Blbm1ycy9lc20tbmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgZGVmYXVsdFJlZGlyZWN0QXV0aEZhaWx1cmVVcmwgfSBmcm9tIFwiLi9jb25maWctc2NoZW1hLmpzXCI7XG4vKiogVGhlIGJhc2UgVVJMIGZvciB0aGUgT3Blbk1SUyBSRVNUIEFQSSAoZS5nLiwgJy93cy9yZXN0L3YxJykuICovIGV4cG9ydCBjb25zdCByZXN0QmFzZVVybCA9ICcvd3MvcmVzdC92MSc7XG4vKiogVGhlIGJhc2UgVVJMIGZvciB0aGUgT3Blbk1SUyBGSElSIFI0IEFQSSAoZS5nLiwgJy93cy9maGlyMi9SNCcpLiAqLyBleHBvcnQgY29uc3QgZmhpckJhc2VVcmwgPSAnL3dzL2ZoaXIyL1I0Jztcbi8qKiBUaGUgZW5kcG9pbnQgZm9yIHNlc3Npb24gbWFuYWdlbWVudCBvcGVyYXRpb25zLiAqLyBleHBvcnQgY29uc3Qgc2Vzc2lvbkVuZHBvaW50ID0gYCR7cmVzdEJhc2VVcmx9L3Nlc3Npb25gO1xuLyoqXG4gKiBBcHBlbmQgYHBhdGhgIHRvIHRoZSBPcGVuTVJTIFNQQSBiYXNlLlxuICpcbiAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIHRvIGFwcGVuZCB0byB0aGUgT3Blbk1SUyBiYXNlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBmdWxsIFVSTCB3aXRoIHRoZSBPcGVuTVJTIGJhc2UgcHJlcGVuZGVkLiBJZiB0aGUgcGF0aCBpcyBhbHJlYWR5XG4gKiAgIGFuIGFic29sdXRlIFVSTCAoc3RhcnRpbmcgd2l0aCAnaHR0cCcpLCBpdCBpcyByZXR1cm5lZCB1bmNoYW5nZWQuXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBgYGB0c1xuICogbWFrZVVybCgnL2Zvby9iYXInKTtcbiAqIC8vID0+ICcvb3Blbm1ycy9mb28vYmFyJ1xuICogYGBgXG4gKi8gZXhwb3J0IGZ1bmN0aW9uIG1ha2VVcmwocGF0aCkge1xuICAgIGlmIChwYXRoICYmIHBhdGguc3RhcnRzV2l0aCgnaHR0cCcpKSB7XG4gICAgICAgIHJldHVybiBwYXRoO1xuICAgIH0gZWxzZSBpZiAocGF0aFswXSAhPT0gJy8nKSB7XG4gICAgICAgIC8vIGVuc3VyZSBwYXRoIHN0YXJ0cyB3aXRoIC9cbiAgICAgICAgcGF0aCA9ICcvJyArIHBhdGg7XG4gICAgfVxuICAgIHJldHVybiB3aW5kb3cub3Blbm1yc0Jhc2UgKyBwYXRoO1xufVxuLyoqXG4gKiBUaGUgb3Blbm1yc0ZldGNoIGZ1bmN0aW9uIGlzIGEgd3JhcHBlciBhcm91bmQgdGhlXG4gKiBbYnJvd3NlcidzIGJ1aWx0LWluIGZldGNoIGZ1bmN0aW9uXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRmV0Y2hfQVBJL1VzaW5nX0ZldGNoKSxcbiAqIHdpdGggZXh0cmEgaGFuZGxpbmcgZm9yIE9wZW5NUlMtc3BlY2lmaWMgQVBJIGJlaGF2aW9ycywgc3VjaCBhc1xuICogcmVxdWVzdCBoZWFkZXJzLCBhdXRoZW50aWNhdGlvbiwgYXV0aG9yaXphdGlvbiwgYW5kIHRoZSBBUEkgdXJscy5cbiAqXG4gKiBAcGFyYW0gcGF0aCBBIHN0cmluZyB1cmwgdG8gbWFrZSB0aGUgcmVxdWVzdCB0by4gTm90ZSB0aGF0IHRoZVxuICogICBvcGVubXJzIGJhc2UgdXJsIChieSBkZWZhdWx0IGAvb3Blbm1yc2ApIHdpbGwgYmUgYXV0b21hdGljYWxseVxuICogICBwcmVwZW5kZWQgdG8gdGhlIFVSTCwgc28gdGhlcmUgaXMgbm8gbmVlZCB0byBpbmNsdWRlIGl0LlxuICogQHBhcmFtIGZldGNoSW5pdCBBIFtmZXRjaCBpbml0IG9iamVjdF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUvZmV0Y2gjU3ludGF4KS5cbiAqICAgTm90ZSB0aGF0IHRoZSBgYm9keWAgcHJvcGVydHkgZG9lcyBub3QgbmVlZCB0byBiZSBgSlNPTi5zdHJpbmdpZnkoKWBlZFxuICogICBiZWNhdXNlIG9wZW5tcnNGZXRjaCB3aWxsIGRvIHRoYXQgZm9yIHlvdS5cbiAqIEByZXR1cm5zIEEgW1Byb21pc2VdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1Byb21pc2UpXG4gKiAgIHRoYXQgcmVzb2x2ZXMgd2l0aCBhIFtSZXNwb25zZSBvYmplY3RdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9SZXNwb25zZSkuXG4gKiAgIE5vdGUgdGhhdCB0aGUgb3Blbm1ycyB2ZXJzaW9uIG9mIHRoZSBSZXNwb25zZSBvYmplY3QgaGFzIGFscmVhZHlcbiAqICAgZG93bmxvYWRlZCB0aGUgSFRUUCByZXNwb25zZSBib2R5IGFzIGpzb24sIGFuZCBoYXMgYW4gYWRkaXRpb25hbFxuICogICBgZGF0YWAgcHJvcGVydHkgd2l0aCB0aGUgSFRUUCByZXNwb25zZSBqc29uIGFzIGEgamF2YXNjcmlwdCBvYmplY3QuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGpzXG4gKiBpbXBvcnQgeyBvcGVubXJzRmV0Y2ggfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJ1xuICogY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICogb3Blbm1yc0ZldGNoKGAke3Jlc3RCYXNlVXJsfS9zZXNzaW9uJywge3NpZ25hbDogYWJvcnRDb250cm9sbGVyLnNpZ25hbH0pXG4gKiAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAqICAgICBjb25zb2xlLmxvZyhyZXNwb25zZS5kYXRhLmF1dGhlbnRpY2F0ZWQpXG4gKiAgIH0pXG4gKiAgIC5jYXRjaChlcnIgPT4ge1xuICogICAgIGNvbnNvbGUuZXJyb3IoZXJyLnN0YXR1cyk7XG4gKiAgIH0pXG4gKiBhYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcbiAqIG9wZW5tcnNGZXRjaChgJHtyZXN0QmFzZVVybH0vc2Vzc2lvbicsIHtcbiAqICAgbWV0aG9kOiAnUE9TVCcsXG4gKiAgIGJvZHk6IHtcbiAqICAgICB1c2VybmFtZTogJ2hpJyxcbiAqICAgICBwYXNzd29yZDogJ3RoZXJlJyxcbiAqICAgfVxuICogfSlcbiAqIGBgYFxuICpcbiAqICMjIyMgQ2FuY2VsbGF0aW9uXG4gKlxuICogVG8gY2FuY2VsIGEgbmV0d29yayByZXF1ZXN0LCB1c2UgYW5cbiAqIFtBYm9ydENvbnRyb2xsZXJdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9BYm9ydENvbnRyb2xsZXIvYWJvcnQpLlxuICogSXQgaXMgYmVzdCBwcmFjdGljZSB0byBjYW5jZWwgeW91ciBuZXR3b3JrIHJlcXVlc3RzIHdoZW4gdGhlIHVzZXJcbiAqIG5hdmlnYXRlcyBhd2F5IGZyb20gYSBwYWdlIHdoaWxlIHRoZSByZXF1ZXN0IGlzIHBlbmRpbmcgcmVxdWVzdCwgdG9cbiAqIGZyZWUgdXAgbWVtb3J5IGFuZCBuZXR3b3JrIHJlc291cmNlcyBhbmQgdG8gcHJldmVudCByYWNlIGNvbmRpdGlvbnMuXG4gKlxuICogQGNhdGVnb3J5IEFQSVxuICovIGV4cG9ydCBmdW5jdGlvbiBvcGVubXJzRmV0Y2gocGF0aCwgZmV0Y2hJbml0ID0ge30pIHtcbiAgICBpZiAodHlwZW9mIHBhdGggIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRocm93IEVycm9yKFwiVGhlIGZpcnN0IGFyZ3VtZW50IHRvIEBvcGVubXJzL2FwaSdzIG9wZW5tcnNGZXRjaCBmdW5jdGlvbiBtdXN0IGJlIGEgdXJsIHN0cmluZ1wiKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBmZXRjaEluaXQgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIHRocm93IEVycm9yKFwiVGhlIHNlY29uZCBhcmd1bWVudCB0byBAb3Blbm1ycy9hcGkncyBvcGVubXJzRmV0Y2ggZnVuY3Rpb24gbXVzdCBiZSBhIHBsYWluIG9iamVjdC5cIik7XG4gICAgfVxuICAgIGlmICghd2luZG93Lm9wZW5tcnNCYXNlKSB7XG4gICAgICAgIHRocm93IEVycm9yKFwiQG9wZW5tcnMvYXBpIGlzIHJ1bm5pbmcgaW4gYSBicm93c2VyIHRoYXQgZG9lc24ndCBoYXZlIHdpbmRvdy5vcGVubXJzQmFzZSwgd2hpY2ggaXMgcHJvdmlkZWQgYnkgb3Blbm1ycy1tb2R1bGUtc3BhJ3MgSFRNTCBmaWxlLlwiKTtcbiAgICB9XG4gICAgLy8gUHJlZml4IHRoZSB1cmwgd2l0aCB0aGUgb3Blbm1ycyBzcGEgYmFzZVxuICAgIGxldCB1cmwgPSBtYWtlVXJsKHBhdGgpO1xuICAgIC8vIFdlJ3JlIGdvaW5nIHRvIG5lZWQgc29tZSBoZWFkZXJzXG4gICAgaWYgKCFmZXRjaEluaXQuaGVhZGVycykge1xuICAgICAgICBmZXRjaEluaXQuaGVhZGVycyA9IHt9O1xuICAgIH1cbiAgICAvKiBBdXRvbWF0aWNhbGx5IHN0cmluZ2lmeSBqYXZhc2NyaXB0IG9iamVjdHMgYmVpbmcgc2VudCBpbiB0aGVcbiAgICogcmVxdWVzdCBib2R5LlxuICAgKi8gaWYgKGlzUGxhaW5PYmplY3QoZmV0Y2hJbml0LmJvZHkpKSB7XG4gICAgICAgIGZldGNoSW5pdC5ib2R5ID0gSlNPTi5zdHJpbmdpZnkoZmV0Y2hJbml0LmJvZHkpO1xuICAgIH1cbiAgICAvKiBBZGQgYSByZXF1ZXN0IGhlYWRlciB0byB0ZWxsIHRoZSBzZXJ2ZXIgdG8gcmVzcG9uZCB3aXRoIGpzb24sXG4gICAqIHNpbmNlIGZyb250ZW5kIGNvZGUgYWxtb3N0IGFsd2F5cyB3YW50cyBqc29uIGFuZCB0aGUgT3Blbk1SU1xuICAgKiBzZXJ2ZXIgd29uJ3QgZ2l2ZSB5b3UganNvbiB1bmxlc3MgeW91IGV4cGxpY2l0bHkgYXNrIGZvciBpdC5cbiAgICogSWYgYSBkaWZmZXJlbnQgQWNjZXB0IGhlYWRlciBpcyBwcmVmZXJyZWQsIHBhc3MgaXQgaW50byB0aGUgZmV0Y2hJbml0LlxuICAgKiBJZiBubyBBY2NlcHQgaGVhZGVyIGlzIGRlc2lyZWQsIHBhc3MgaXQgaW4gZXhwbGljaXRseSBhcyBudWxsLlxuICAgKi8gaWYgKHR5cGVvZiBmZXRjaEluaXQuaGVhZGVycy5BY2NlcHQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGZldGNoSW5pdC5oZWFkZXJzLkFjY2VwdCA9ICdhcHBsaWNhdGlvbi9qc29uJztcbiAgICB9XG4gICAgaWYgKGZldGNoSW5pdC5oZWFkZXJzLkFjY2VwdCA9PT0gbnVsbCkge1xuICAgICAgICBkZWxldGUgZmV0Y2hJbml0LmhlYWRlcnMuQWNjZXB0O1xuICAgIH1cbiAgICAvKiBUaGlzIHRlbGxzIHRoZSBPcGVuTVJTIFJFU1QgQVBJIG5vdCB0byByZXR1cm4gYSBXV1ctQXV0aGVudGljYXRlXG4gICAqIGhlYWRlci4gUmV0dXJuaW5nIHRoYXQgaGVhZGVyIGlzIHVzZWZ1bCB3aGVuIHVzaW5nIHRoZSBBUEksIGJ1dFxuICAgKiBub3QgZnJvbSBhIFVJLlxuICAgKi8gbGV0IGlzUmVzdFJlcXVlc3QgPSBmYWxzZTtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCByZXF1ZXN0VXJsID0gbmV3IFVSTCh1cmwsIHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgICAgICAgY29uc3QgcmVzdFVybCA9IG5ldyBVUkwobWFrZVVybChyZXN0QmFzZVVybCksIHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgICAgICAgLy8gQ29tcGFyZSBub3JtYWxpemVkIHBhdGhzIHdpdGhvdXQgY2hhbmdpbmcgdGhlIG91dGdvaW5nIFVSTC4gUGFnaW5hdGlvbiBsaW5rc1xuICAgICAgICAvLyBtYXkgb21pdCB0aGUgZXh0cmEgc2xhc2ggaW50cm9kdWNlZCBieSBhbiBvcGVubXJzQmFzZSB3aXRoIGEgdHJhaWxpbmcgc2xhc2guXG4gICAgICAgIGNvbnN0IHJlcXVlc3RQYXRoID0gcmVxdWVzdFVybC5wYXRobmFtZS5yZXBsYWNlKC9cXC97Mix9L2csICcvJyk7XG4gICAgICAgIGNvbnN0IHJlc3RQYXRoID0gcmVzdFVybC5wYXRobmFtZS5yZXBsYWNlKC9cXC97Mix9L2csICcvJyk7XG4gICAgICAgIGlzUmVzdFJlcXVlc3QgPSByZXF1ZXN0VXJsLm9yaWdpbiA9PT0gcmVzdFVybC5vcmlnaW4gJiYgKHJlcXVlc3RQYXRoID09PSByZXN0UGF0aCB8fCByZXF1ZXN0UGF0aC5zdGFydHNXaXRoKGAke3Jlc3RQYXRofS9gKSk7XG4gICAgfSBjYXRjaCAge1xuICAgIC8vIExldCBuYXRpdmUgZmV0Y2ggcmVqZWN0IG1hbGZvcm1lZCBVUkxzIGluc3RlYWQgb2YgdGhyb3dpbmcgc3luY2hyb25vdXNseSBoZXJlLlxuICAgIH1cbiAgICBpZiAoaXNSZXN0UmVxdWVzdCkge1xuICAgICAgICBsZXQgaGFzQXV0aEhlYWRlciA9IGZhbHNlO1xuICAgICAgICBmb3IgKGNvbnN0IFtuYW1lLCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZmV0Y2hJbml0LmhlYWRlcnMpKXtcbiAgICAgICAgICAgIGlmIChuYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdkaXNhYmxlLXd3dy1hdXRoZW50aWNhdGUnKSB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gUmVtb3ZlIGV2ZXJ5IGNhc2luZyBzbyBmZXRjaCBjYW5ub3QgY29tYmluZSBcInVuZGVmaW5lZFwiIHdpdGggdGhlIGRlZmF1bHQuXG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBmZXRjaEluaXQuaGVhZGVyc1tuYW1lXTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBoYXNBdXRoSGVhZGVyID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFoYXNBdXRoSGVhZGVyKSB7XG4gICAgICAgICAgICBmZXRjaEluaXQuaGVhZGVyc1snRGlzYWJsZS1XV1ctQXV0aGVudGljYXRlJ10gPSAndHJ1ZSc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHBhdGguc3RhcnRzV2l0aChmaGlyQmFzZVVybCkpIHtcbiAgICAgICAgY29uc3QgdXJsVXJsID0gbmV3IFVSTCh1cmwsIHdpbmRvdy5sb2NhdGlvbi50b1N0cmluZygpKTtcbiAgICAgICAgaWYgKCF1cmxVcmwuc2VhcmNoUGFyYW1zLmhhcygnX3N1bW1hcnknKSkge1xuICAgICAgICAgICAgdXJsVXJsLnNlYXJjaFBhcmFtcy5zZXQoJ19zdW1tYXJ5JywgJ2RhdGEnKTtcbiAgICAgICAgICAgIHVybCA9IHVybFVybC50b1N0cmluZygpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qIFdlIGNhcHR1cmUgdGhlIHN0YWNrdHJhY2UgYmVmb3JlIG1ha2luZyB0aGUgcmVxdWVzdCwgc28gdGhhdCBpZiBhbiBlcnJvciBvY2N1cnMgd2UgY2FuXG4gICAqIGxvZyBhIGZ1bGwgc3RhY2t0cmFjZSB0aGF0IGluY2x1ZGVzIHRoZSBjb2RlIHRoYXQgbWFkZSB0aGUgcmVxdWVzdCBhbmQgaGFuZGxlZCB0aGUgcmVzcG9uc2VcbiAgICogT3RoZXJ3aXNlLCB3ZSBjb3VsZCBydW4gaW50byBzaXR1YXRpb25zIHdoZXJlIHRoZSBzdGFja3RyYWNlIGRvZXNuJ3QgZXZlbiBzaG93IHdoaWNoIGNvZGVcbiAgICogY2FsbGVkIEBvcGVubXJzL2FwaS5cbiAgICovIGNvbnN0IHJlcXVlc3RTdGFja3RyYWNlID0gRXJyb3IoKTtcbiAgICByZXR1cm4gd2luZG93LmZldGNoKHVybCwgZmV0Y2hJbml0KS50aGVuKGFzeW5jIChyKT0+e1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IHI7XG4gICAgICAgIGNvbnN0IHsgcmVkaXJlY3RBdXRoRmFpbHVyZSwgZm9sbG93UmVkaXJlY3RzIH0gPSBhd2FpdCBnZXRDb25maWcoJ0BvcGVubXJzL2VzbS1hcGknKTtcbiAgICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgICAvKlxuICAgICAgICogQmFja2VuZCBtb2R1bGVzIGNhbiB0cmlnZ2VyIFNQQSByZWRpcmVjdHMgYnkgcmV0dXJuaW5nIGEgYExvY2F0aW9uYCBoZWFkZXIuXG4gICAgICAgKiBUaGlzIGlzIHJlcXVpcmVkIGJlY2F1c2UgYGZldGNoKClgIGhpZGVzIEhUVFAgcmVkaXJlY3RzIGZyb20gdGhlIGFwcGxpY2F0aW9uLlxuICAgICAgICpcbiAgICAgICAqIC0gU2Vzc2lvbiBlbmRwb2ludCAoMnh4KTogQXV0aGVudGljYXRpb24gY2hhbGxlbmdlIFVSTHMgKGUuZy4gVE9UUCwyRkEpLlxuICAgICAgICogLSBIVFRQIDIwNDogTG9nb3V0IHJlZGlyZWN0IFVSTHMgKGUuZy4gS2V5Y2xvYWsgSWRQIGxvZ291dCkuIFJlZmVyOiBPQS00MSAjMTIzMVxuICAgICAgICovIGNvbnN0IGxvY2F0aW9uID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ2xvY2F0aW9uJyk7XG4gICAgICAgICAgICBjb25zdCBzaG91bGRSZWRpcmVjdCA9IGZvbGxvd1JlZGlyZWN0cyAmJiBsb2NhdGlvbiAmJiAodXJsID09PSBtYWtlVXJsKHNlc3Npb25FbmRwb2ludCkgfHwgcmVzcG9uc2Uuc3RhdHVzID09PSAyMDQpO1xuICAgICAgICAgICAgaWYgKHNob3VsZFJlZGlyZWN0KSB7XG4gICAgICAgICAgICAgICAgbmF2aWdhdGUoe1xuICAgICAgICAgICAgICAgICAgICB0bzogbG9jYXRpb25cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDIwNCkge1xuICAgICAgICAgICAgICAgIC8qIEhUVFAgMjA0IC0gTm8gQ29udGVudFxuICAgICAgICAgKiBXZSBzaG91bGQgbm90IHRyeSB0byBkb3dubG9hZCB0aGUgZW1wdHkgcmVzcG9uc2UgYXMganNvbi4gSW5zdGVhZCxcbiAgICAgICAgICogd2UgcmV0dXJuIG51bGwgc2luY2UgdGhlcmUgaXMgbm8gcmVzcG9uc2UgYm9keS5cbiAgICAgICAgICovIHJlc3BvbnNlLmRhdGEgPSBudWxsO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gSFRUUCAyMDBzIC0gVGhlIHJlcXVlc3Qgc3VjY2VlZGVkXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmNsb25lKCkudGV4dCgpLnRoZW4oKHJlc3BvbnNlVGV4dCk9PntcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZVRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5kYXRhID0gSlNPTi5wYXJzZShyZXNwb25zZVRleHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gU2VydmVyIGRpZG4ndCByZXNwb25kIHdpdGgganNvblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8qIEhUVFAgcmVzcG9uc2Ugc3RhdHVzIGlzIG5vdCBpbiAyMDBzLiBVc3VhbGx5IHRoaXMgd2lsbCBtZWFuXG4gICAgICAgKiBlaXRoZXIgSFRUUCA0MDBzIChiYWQgcmVxdWVzdCBmcm9tIGJyb3dzZXIpIG9yIEhUVFAgNTAwcyAoc2VydmVyIGVycm9yKVxuICAgICAgICogT3VyIGdvYWwgaXMgdG8gY29tZSB1cCB3aXRoIGJlc3QgcG9zc2libGUgc3RhY2t0cmFjZSBhbmQgZXJyb3IgbWVzc2FnZVxuICAgICAgICogdG8gaGVscCBkZXZlbG9wZXJzIHVuZGVyc3RhbmQgdGhlIHByb2JsZW0gYW5kIGRlYnVnXG4gICAgICAgKi8gLypcbiAgICAgICAqIFJlZGlyZWN0IHRvIGdpdmVuIHVybCB3aGVuIHJlZGlyZWN0IG9uIGF1dGggZmFpbHVyZSBpcyBlbmFibGVkXG4gICAgICAgKi8gaWYgKHVybCA9PT0gbWFrZVVybChzZXNzaW9uRW5kcG9pbnQpICYmIHJlc3BvbnNlLnN0YXR1cyA9PT0gNDAzIHx8IHJlZGlyZWN0QXV0aEZhaWx1cmUuZW5hYmxlZCAmJiByZWRpcmVjdEF1dGhGYWlsdXJlLmVycm9ycy5pbmNsdWRlcyhyZXNwb25zZS5zdGF0dXMpKSB7XG4gICAgICAgICAgICAgICAgY2xlYXJIaXN0b3J5KCk7XG4gICAgICAgICAgICAgICAgLy8gYnkgZGVmYXVsdCwgcmVkaXJlY3QgdG8gdGhlIHVybCBzcGVjaWZpZWQgaW4gdGhlIGNvbmZpZy5cbiAgICAgICAgICAgICAgICAvLyBJZiBibGFuaywgdXNlIHRoZSBsb2NhdGlvbiBoZWFkZXIgZnJvbSB0aGUgcmVzcG9uc2UuXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhhdCBpcyBhbHNvIGJsYW5rLCB1c2UgdGhlIGRlZmF1bHQgcmVkaXJlY3QgdXJsLlxuICAgICAgICAgICAgICAgIGNvbnN0IGxvY2F0aW9uID0gcmVkaXJlY3RBdXRoRmFpbHVyZS51cmwgfHwgcmVzcG9uc2UuaGVhZGVycy5nZXQoJ2xvY2F0aW9uJykgfHwgZGVmYXVsdFJlZGlyZWN0QXV0aEZhaWx1cmVVcmw7XG4gICAgICAgICAgICAgICAgbmF2aWdhdGUoe1xuICAgICAgICAgICAgICAgICAgICB0bzogbG9jYXRpb25cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvKiBXZSBzb21ldGltZXMgZG9uJ3QgcmVhbGx5IHdhbnQgdGhpcyBwcm9taXNlIHRvIHJlc29sdmUgc2luY2UgdGhlcmUncyBubyByZXNwb25zZSBkYXRhLFxuICAgICAgICAgKiBub3IgZG8gd2Ugd2FudCBpdCB0byByZWplY3QgYmVjYXVzZSB0aGF0IHdvdWxkIHRyaWdnZXIgZXJyb3IgaGFuZGxpbmcuIFdlIGluc3RlYWRcbiAgICAgICAgICogd2FudCBpdCB0byByZW1haW4gaW4gcGVuZGluZyBzdGF0dXMgd2hpbGUgdGhlIG5hdmlnYXRpb24gb2NjdXJzLlxuICAgICAgICAgKi8gcmV0dXJuIHJlZGlyZWN0QXV0aEZhaWx1cmUucmVzb2x2ZVByb21pc2UgPyBQcm9taXNlLnJlc29sdmUoKSA6IG5ldyBQcm9taXNlKCgpPT57fSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIEF0dGVtcHQgdG8gZG93bmxvYWQgYSByZXNwb25zZSBib2R5LCBpZiBpdCBoYXMgb25lXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmNsb25lKCkudGV4dCgpLnRoZW4oKHJlc3BvbnNlVGV4dCk9PntcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3BvbnNlQm9keSA9IHJlc3BvbnNlVGV4dDtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlQm9keSA9IEpTT04ucGFyc2UocmVzcG9uc2VUZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFNlcnZlciBkaWRuJ3QgcmVzcG9uZCB3aXRoIGpzb24sIHNvIGp1c3QgZ28gd2l0aCB0aGUgcmVzcG9uc2UgdGV4dCBzdHJpbmdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvKiBNYWtlIHRoZSBmZXRjaCBwcm9taXNlIGdvIGludG8gXCJyZWplY3RlZFwiIHN0YXR1cywgd2l0aCB0aGUgYmVzdFxuICAgICAgICAgICAgICAgKiBwb3NzaWJsZSBzdGFja3RyYWNlIGFuZCBlcnJvciBtZXNzYWdlLlxuICAgICAgICAgICAgICAgKi8gdGhyb3cgbmV3IE9wZW5tcnNGZXRjaEVycm9yKHVybCwgcmVzcG9uc2UsIHJlc3BvbnNlQm9keSwgcmVxdWVzdFN0YWNrdHJhY2UpO1xuICAgICAgICAgICAgICAgIH0sIChlcnIpPT57XG4gICAgICAgICAgICAgICAgICAgIC8qIFdlIHdlcmVuJ3QgYWJsZSB0byBkb3dubG9hZCBhIHJlc3BvbnNlIGJvZHkgZm9yIHRoaXMgZXJyb3IuXG4gICAgICAgICAgICAgICAqIFRpbWUgdG8ganVzdCBnaXZlIHRoZSBiZXN0IHBvc3NpYmxlIHN0YWNrdHJhY2UgYW5kIGVycm9yIG1lc3NhZ2UuXG4gICAgICAgICAgICAgICAqLyB0aHJvdyBuZXcgT3Blbm1yc0ZldGNoRXJyb3IodXJsLCByZXNwb25zZSwgbnVsbCwgcmVxdWVzdFN0YWNrdHJhY2UpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5leHBvcnQgY2xhc3MgT3Blbm1yc0ZldGNoRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IodXJsLCByZXNwb25zZSwgcmVzcG9uc2VCb2R5LCByZXF1ZXN0U3RhY2t0cmFjZSl7XG4gICAgICAgIHN1cGVyKCksIF9kZWZpbmVfcHJvcGVydHkodGhpcywgXCJyZXNwb25zZVwiLCB2b2lkIDApLCBfZGVmaW5lX3Byb3BlcnR5KHRoaXMsIFwicmVzcG9uc2VCb2R5XCIsIHZvaWQgMCk7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9IGBTZXJ2ZXIgcmVzcG9uZGVkIHdpdGggJHtyZXNwb25zZS5zdGF0dXN9ICgke3Jlc3BvbnNlLnN0YXR1c1RleHR9KSBmb3IgdXJsICR7dXJsfS4gQ2hlY2sgZXJyLnJlc3BvbnNlQm9keSBvciBuZXR3b3JrIHRhYiBpbiBkZXYgdG9vbHMgZm9yIG1vcmUgaW5mb2A7XG4gICAgICAgIHJlcXVlc3RTdGFja3RyYWNlLm1lc3NhZ2UgPSB0aGlzLm1lc3NhZ2U7XG4gICAgICAgIHRoaXMucmVzcG9uc2VCb2R5ID0gcmVzcG9uc2VCb2R5O1xuICAgICAgICB0aGlzLnJlc3BvbnNlID0gcmVzcG9uc2U7XG4gICAgICAgIHRoaXMuc3RhY2sgPSBgU3RhY2t0cmFjZSBmb3Igb3V0Z29pbmcgcmVxdWVzdDpcXG4ke3JlcXVlc3RTdGFja3RyYWNlLnN0YWNrfVxcblN0YWNrdHJhY2UgZm9yIGluY29taW5nIHJlc3BvbnNlOlxcbiR7dGhpcy5zdGFja31gO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJfZGVmaW5lX3Byb3BlcnR5Iiwib2JqIiwia2V5IiwidmFsdWUiLCJPYmplY3QiLCJpc1BsYWluT2JqZWN0IiwiZ2V0Q29uZmlnIiwiY2xlYXJIaXN0b3J5IiwibmF2aWdhdGUiLCJkZWZhdWx0UmVkaXJlY3RBdXRoRmFpbHVyZVVybCIsInJlc3RCYXNlVXJsIiwiZmhpckJhc2VVcmwiLCJzZXNzaW9uRW5kcG9pbnQiLCJtYWtlVXJsIiwicGF0aCIsIndpbmRvdyIsIm9wZW5tcnNGZXRjaCIsImZldGNoSW5pdCIsIkVycm9yIiwidXJsIiwiSlNPTiIsImlzUmVzdFJlcXVlc3QiLCJyZXF1ZXN0VXJsIiwiVVJMIiwicmVzdFVybCIsInJlcXVlc3RQYXRoIiwicmVzdFBhdGgiLCJoYXNBdXRoSGVhZGVyIiwibmFtZSIsInVuZGVmaW5lZCIsInVybFVybCIsInJlcXVlc3RTdGFja3RyYWNlIiwiciIsInJlc3BvbnNlIiwicmVkaXJlY3RBdXRoRmFpbHVyZSIsImZvbGxvd1JlZGlyZWN0cyIsImxvY2F0aW9uIiwic2hvdWxkUmVkaXJlY3QiLCJyZXNwb25zZVRleHQiLCJlcnIiLCJQcm9taXNlIiwicmVzcG9uc2VCb2R5IiwiT3Blbm1yc0ZldGNoRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSxTQUFTQSxpQkFBaUJDLEdBQUcsRUFBRUMsR0FBRyxFQUFFQyxLQUFLO0lBQ3JDLElBQUlELE9BQU9ELEtBQUs7UUFDWkcsT0FBTyxjQUFjLENBQUNILEtBQUtDLEtBQUs7WUFDNUIsT0FBT0M7WUFDUCxZQUFZO1lBQ1osY0FBYztZQUNkLFVBQVU7UUFDZDtJQUNKLE9BQU87UUFDSEYsR0FBRyxDQUFDQyxJQUFJLEdBQUdDO0lBQ2Y7SUFDQSxPQUFPRjtBQUNYO0FBQ0EsMEJBQTBCLEdBQTZDO0FBQ3ZCO0FBQ2lCO0FBQ0U7QUFDbkUsaUVBQWlFLEdBQVUsTUFBTVMsY0FBYyxjQUFjO0FBQzdHLHFFQUFxRSxHQUFVLE1BQU1DLGNBQWMsZUFBZTtBQUNsSCxvREFBb0QsR0FBVSxNQUFNQyxrQkFBa0IsR0FBR0YsWUFBWSxRQUFRLENBQUMsQ0FBQztBQUMvRzs7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\n//# sourceURL=webpack-internal:///../../framework/esm-api/dist/openmrs-fetch.js\n\n}");
4479
+ eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n OpenmrsFetchError: () => (OpenmrsFetchError),\n fhirBaseUrl: () => (fhirBaseUrl),\n makeUrl: () => (makeUrl),\n openmrsFetch: () => (openmrsFetch),\n restBaseUrl: () => (restBaseUrl),\n sessionEndpoint: () => (sessionEndpoint)\n});\n/* import */ var lodash_es__rspack_import_3 = __webpack_require__(\"../../../node_modules/lodash-es/isPlainObject.js\");\n/* import */ var _openmrs_esm_config__rspack_import_0 = __webpack_require__(\"../../framework/esm-config/dist/index.js\");\n/* import */ var _openmrs_esm_navigation__rspack_import_1 = __webpack_require__(\"../../framework/esm-navigation/dist/index.js\");\n/* import */ var _config_schema_js__rspack_import_2 = __webpack_require__(\"../../framework/esm-api/dist/config-schema.js\");\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}\n/** @module @category API */ \n\n\n\n/** The base URL for the OpenMRS REST API (e.g., '/ws/rest/v1'). */ const restBaseUrl = '/ws/rest/v1';\n/** The base URL for the OpenMRS FHIR R4 API (e.g., '/ws/fhir2/R4'). */ const fhirBaseUrl = '/ws/fhir2/R4';\n/** The endpoint for session management operations. */ const sessionEndpoint = `${restBaseUrl}/session`;\n/**\n * Append `path` to the OpenMRS SPA base.\n *\n * @param path The path to append to the OpenMRS base URL.\n * @returns The full URL with the OpenMRS base prepended. If the path is already\n * an absolute URL (starting with 'http'), it is returned unchanged.\n *\n * @example\n *\n * ```ts\n * makeUrl('/foo/bar');\n * // => '/openmrs/foo/bar'\n * ```\n */ function makeUrl(path) {\n if (path && path.startsWith('http')) {\n return path;\n } else if (path[0] !== '/') {\n // ensure path starts with /\n path = '/' + path;\n }\n return window.openmrsBase + path;\n}\n/**\n * The openmrsFetch function is a wrapper around the\n * [browser's built-in fetch function](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch),\n * with extra handling for OpenMRS-specific API behaviors, such as\n * request headers, authentication, authorization, and the API urls.\n *\n * @param path A string url to make the request to. Note that the\n * openmrs base url (by default `/openmrs`) will be automatically\n * prepended to the URL, so there is no need to include it.\n * @param fetchInit A [fetch init object](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax).\n * Note that the `body` property does not need to be `JSON.stringify()`ed\n * because openmrsFetch will do that for you.\n * @returns A [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)\n * that resolves with a [Response object](https://developer.mozilla.org/en-US/docs/Web/API/Response).\n * Note that the openmrs version of the Response object has already\n * downloaded the HTTP response body as json, and has an additional\n * `data` property with the HTTP response json as a javascript object.\n *\n * @example\n * ```js\n * import { openmrsFetch } from '@openmrs/esm-api'\n * const abortController = new AbortController();\n * openmrsFetch(`${restBaseUrl}/session', {signal: abortController.signal})\n * .then(response => {\n * console.log(response.data.authenticated)\n * })\n * .catch(err => {\n * console.error(err.status);\n * })\n * abortController.abort();\n * openmrsFetch(`${restBaseUrl}/session', {\n * method: 'POST',\n * body: {\n * username: 'hi',\n * password: 'there',\n * }\n * })\n * ```\n *\n * #### Cancellation\n *\n * To cancel a network request, use an\n * [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort).\n * It is best practice to cancel your network requests when the user\n * navigates away from a page while the request is pending request, to\n * free up memory and network resources and to prevent race conditions.\n *\n * @category API\n */ function openmrsFetch(path, fetchInit = {}) {\n if (typeof path !== 'string') {\n throw Error(\"The first argument to @openmrs/api's openmrsFetch function must be a url string\");\n }\n if (typeof fetchInit !== 'object') {\n throw Error(\"The second argument to @openmrs/api's openmrsFetch function must be a plain object.\");\n }\n if (!window.openmrsBase) {\n throw Error(\"@openmrs/api is running in a browser that doesn't have window.openmrsBase, which is provided by openmrs-module-spa's HTML file.\");\n }\n // Prefix the url with the openmrs spa base\n let url = makeUrl(path);\n // We're going to need some headers\n if (!fetchInit.headers) {\n fetchInit.headers = {};\n }\n // Automatically stringify javascript objects being sent in the\n // request body.\n if ((0,lodash_es__rspack_import_3[\"default\"])(fetchInit.body)) {\n fetchInit.body = JSON.stringify(fetchInit.body);\n }\n // Add a request header to tell the server to respond with json,\n // since frontend code almost always wants json and the OpenMRS\n // server won't give you json unless you explicitly ask for it.\n // If a different Accept header is preferred, pass it into the fetchInit.\n // If no Accept header is desired, pass it in explicitly as null.\n if (typeof fetchInit.headers.Accept === 'undefined') {\n fetchInit.headers.Accept = 'application/json';\n }\n if (fetchInit.headers.Accept === null) {\n delete fetchInit.headers.Accept;\n }\n // This tells the OpenMRS REST API not to return a WWW-Authenticate\n // header. Returning that header is useful when using the API, but\n // not from a UI.\n let isRestRequest = false;\n try {\n const requestUrl = new URL(url, window.location.href);\n const restUrl = new URL(makeUrl(restBaseUrl), window.location.href);\n // Compare normalized paths without changing the outgoing URL. Pagination links\n // may omit the extra slash introduced by an openmrsBase with a trailing slash.\n const requestPath = requestUrl.pathname.replace(/\\/{2,}/g, '/');\n const restPath = restUrl.pathname.replace(/\\/{2,}/g, '/');\n isRestRequest = requestUrl.origin === restUrl.origin && (requestPath === restPath || requestPath.startsWith(`${restPath}/`));\n } catch {\n // Let native fetch reject malformed URLs instead of throwing synchronously here.\n }\n if (isRestRequest) {\n let hasAuthHeader = false;\n for (const [name, value] of Object.entries(fetchInit.headers)){\n if (name.toLowerCase() === 'disable-www-authenticate') {\n if (value === undefined) {\n // Remove every casing so fetch cannot combine \"undefined\" with the default.\n delete fetchInit.headers[name];\n } else {\n hasAuthHeader = true;\n }\n }\n }\n if (!hasAuthHeader) {\n fetchInit.headers['Disable-WWW-Authenticate'] = 'true';\n }\n }\n if (path.startsWith(fhirBaseUrl)) {\n const urlUrl = new URL(url, window.location.toString());\n if (!urlUrl.searchParams.has('_summary')) {\n urlUrl.searchParams.set('_summary', 'data');\n url = urlUrl.toString();\n }\n }\n // We capture the stacktrace before making the request, so that if an error occurs we can\n // log a full stacktrace that includes the code that made the request and handled the response\n // Otherwise, we could run into situations where the stacktrace doesn't even show which code\n // called @openmrs/api.\n const requestStacktrace = Error();\n return window.fetch(url, fetchInit).then(async (r)=>{\n const response = r;\n const { redirectAuthFailure, followRedirects } = await (0,_openmrs_esm_config__rspack_import_0.getConfig)('@openmrs/esm-api');\n if (response.ok) {\n // Backend modules can trigger SPA redirects by returning a `Location` header.\n // This is required because `fetch()` hides HTTP redirects from the application.\n // Session endpoint (2xx): Authentication challenge URLs (e.g. TOTP,2FA).\n // HTTP 204: Logout redirect URLs (e.g. Keycloak IdP logout). Refer: OA-41 #1231\n const location = response.headers.get('location');\n const shouldRedirect = followRedirects && location && (url === makeUrl(sessionEndpoint) || response.status === 204);\n if (shouldRedirect) {\n (0,_openmrs_esm_navigation__rspack_import_1.navigate)({\n to: location\n });\n }\n if (response.status === 204) {\n // HTTP 204 - No Content\n // We should not try to download the empty response as json. Instead,\n // we return null since there is no response body.\n response.data = null;\n return response;\n } else {\n // HTTP 200s - The request succeeded\n return response.clone().text().then((responseText)=>{\n try {\n if (responseText) {\n response.data = JSON.parse(responseText);\n }\n } catch (err) {\n // Server didn't respond with json\n }\n return response;\n });\n }\n } else {\n // HTTP response status is not in 200s. Usually this will mean\n // either HTTP 400s (bad request from browser) or HTTP 500s (server error)\n // Our goal is to come up with best possible stacktrace and error message\n // to help developers understand the problem and debug\n // Redirect to given url when redirect on auth failure is enabled\n if (url === makeUrl(sessionEndpoint) && response.status === 403 || redirectAuthFailure.enabled && redirectAuthFailure.errors.includes(response.status)) {\n (0,_openmrs_esm_navigation__rspack_import_1.clearHistory)();\n // by default, redirect to the url specified in the config.\n // If blank, use the location header from the response.\n // If that is also blank, use the default redirect url.\n const location = redirectAuthFailure.url || response.headers.get('location') || _config_schema_js__rspack_import_2.defaultRedirectAuthFailureUrl;\n (0,_openmrs_esm_navigation__rspack_import_1.navigate)({\n to: location\n });\n const rejectAuthFailures = fetchInit.rejectAuthFailure === true;\n if (!rejectAuthFailures) {\n return redirectAuthFailure.resolvePromise ? Promise.resolve() : new Promise(()=>{});\n }\n }\n // Attempt to download a response body, if it has one\n return response.clone().text().then((responseText)=>{\n let responseBody = responseText;\n try {\n responseBody = JSON.parse(responseText);\n } catch (err) {\n // Server didn't respond with json, so just go with the response text string\n }\n // Make the fetch promise go into \"rejected\" status, with the best\n // possible stacktrace and error message.\n throw new OpenmrsFetchError(url, response, responseBody, requestStacktrace);\n }, ()=>{\n // We weren't able to download a response body for this error.\n // Time to just give the best possible stacktrace and error message.\n throw new OpenmrsFetchError(url, response, null, requestStacktrace);\n });\n }\n });\n}\nclass OpenmrsFetchError extends Error {\n constructor(url, response, responseBody, requestStacktrace){\n super(), _define_property(this, \"response\", void 0), _define_property(this, \"responseBody\", void 0);\n this.message = `Server responded with ${response.status} (${response.statusText}) for url ${url}. Check err.responseBody or network tab in dev tools for more info`;\n requestStacktrace.message = this.message;\n this.responseBody = responseBody;\n this.response = response;\n this.stack = `Stacktrace for outgoing request:\\n${requestStacktrace.stack}\\nStacktrace for incoming response:\\n${this.stack}`;\n }\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyPz9ydWxlU2V0WzFdLnJ1bGVzWzVdLnVzZVswXSEvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvcGFja2FnZXMvZnJhbWV3b3JrL2VzbS1hcGkvZGlzdC9vcGVubXJzLWZldGNoLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLWFwaS9kaXN0L29wZW5tcnMtZmV0Y2guanM/YzhiNiJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfZGVmaW5lX3Byb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkge1xuICAgIGlmIChrZXkgaW4gb2JqKSB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwge1xuICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIG9ialtrZXldID0gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG59XG4vKiogQG1vZHVsZSBAY2F0ZWdvcnkgQVBJICovIGltcG9ydCB7IGlzUGxhaW5PYmplY3QgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBnZXRDb25maWcgfSBmcm9tIFwiQG9wZW5tcnMvZXNtLWNvbmZpZ1wiO1xuaW1wb3J0IHsgY2xlYXJIaXN0b3J5LCBuYXZpZ2F0ZSB9IGZyb20gXCJAb3Blbm1ycy9lc20tbmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgZGVmYXVsdFJlZGlyZWN0QXV0aEZhaWx1cmVVcmwgfSBmcm9tIFwiLi9jb25maWctc2NoZW1hLmpzXCI7XG4vKiogVGhlIGJhc2UgVVJMIGZvciB0aGUgT3Blbk1SUyBSRVNUIEFQSSAoZS5nLiwgJy93cy9yZXN0L3YxJykuICovIGV4cG9ydCBjb25zdCByZXN0QmFzZVVybCA9ICcvd3MvcmVzdC92MSc7XG4vKiogVGhlIGJhc2UgVVJMIGZvciB0aGUgT3Blbk1SUyBGSElSIFI0IEFQSSAoZS5nLiwgJy93cy9maGlyMi9SNCcpLiAqLyBleHBvcnQgY29uc3QgZmhpckJhc2VVcmwgPSAnL3dzL2ZoaXIyL1I0Jztcbi8qKiBUaGUgZW5kcG9pbnQgZm9yIHNlc3Npb24gbWFuYWdlbWVudCBvcGVyYXRpb25zLiAqLyBleHBvcnQgY29uc3Qgc2Vzc2lvbkVuZHBvaW50ID0gYCR7cmVzdEJhc2VVcmx9L3Nlc3Npb25gO1xuLyoqXG4gKiBBcHBlbmQgYHBhdGhgIHRvIHRoZSBPcGVuTVJTIFNQQSBiYXNlLlxuICpcbiAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIHRvIGFwcGVuZCB0byB0aGUgT3Blbk1SUyBiYXNlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBmdWxsIFVSTCB3aXRoIHRoZSBPcGVuTVJTIGJhc2UgcHJlcGVuZGVkLiBJZiB0aGUgcGF0aCBpcyBhbHJlYWR5XG4gKiAgIGFuIGFic29sdXRlIFVSTCAoc3RhcnRpbmcgd2l0aCAnaHR0cCcpLCBpdCBpcyByZXR1cm5lZCB1bmNoYW5nZWQuXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBgYGB0c1xuICogbWFrZVVybCgnL2Zvby9iYXInKTtcbiAqIC8vID0+ICcvb3Blbm1ycy9mb28vYmFyJ1xuICogYGBgXG4gKi8gZXhwb3J0IGZ1bmN0aW9uIG1ha2VVcmwocGF0aCkge1xuICAgIGlmIChwYXRoICYmIHBhdGguc3RhcnRzV2l0aCgnaHR0cCcpKSB7XG4gICAgICAgIHJldHVybiBwYXRoO1xuICAgIH0gZWxzZSBpZiAocGF0aFswXSAhPT0gJy8nKSB7XG4gICAgICAgIC8vIGVuc3VyZSBwYXRoIHN0YXJ0cyB3aXRoIC9cbiAgICAgICAgcGF0aCA9ICcvJyArIHBhdGg7XG4gICAgfVxuICAgIHJldHVybiB3aW5kb3cub3Blbm1yc0Jhc2UgKyBwYXRoO1xufVxuLyoqXG4gKiBUaGUgb3Blbm1yc0ZldGNoIGZ1bmN0aW9uIGlzIGEgd3JhcHBlciBhcm91bmQgdGhlXG4gKiBbYnJvd3NlcidzIGJ1aWx0LWluIGZldGNoIGZ1bmN0aW9uXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRmV0Y2hfQVBJL1VzaW5nX0ZldGNoKSxcbiAqIHdpdGggZXh0cmEgaGFuZGxpbmcgZm9yIE9wZW5NUlMtc3BlY2lmaWMgQVBJIGJlaGF2aW9ycywgc3VjaCBhc1xuICogcmVxdWVzdCBoZWFkZXJzLCBhdXRoZW50aWNhdGlvbiwgYXV0aG9yaXphdGlvbiwgYW5kIHRoZSBBUEkgdXJscy5cbiAqXG4gKiBAcGFyYW0gcGF0aCBBIHN0cmluZyB1cmwgdG8gbWFrZSB0aGUgcmVxdWVzdCB0by4gTm90ZSB0aGF0IHRoZVxuICogICBvcGVubXJzIGJhc2UgdXJsIChieSBkZWZhdWx0IGAvb3Blbm1yc2ApIHdpbGwgYmUgYXV0b21hdGljYWxseVxuICogICBwcmVwZW5kZWQgdG8gdGhlIFVSTCwgc28gdGhlcmUgaXMgbm8gbmVlZCB0byBpbmNsdWRlIGl0LlxuICogQHBhcmFtIGZldGNoSW5pdCBBIFtmZXRjaCBpbml0IG9iamVjdF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUvZmV0Y2gjU3ludGF4KS5cbiAqICAgTm90ZSB0aGF0IHRoZSBgYm9keWAgcHJvcGVydHkgZG9lcyBub3QgbmVlZCB0byBiZSBgSlNPTi5zdHJpbmdpZnkoKWBlZFxuICogICBiZWNhdXNlIG9wZW5tcnNGZXRjaCB3aWxsIGRvIHRoYXQgZm9yIHlvdS5cbiAqIEByZXR1cm5zIEEgW1Byb21pc2VdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1Byb21pc2UpXG4gKiAgIHRoYXQgcmVzb2x2ZXMgd2l0aCBhIFtSZXNwb25zZSBvYmplY3RdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9SZXNwb25zZSkuXG4gKiAgIE5vdGUgdGhhdCB0aGUgb3Blbm1ycyB2ZXJzaW9uIG9mIHRoZSBSZXNwb25zZSBvYmplY3QgaGFzIGFscmVhZHlcbiAqICAgZG93bmxvYWRlZCB0aGUgSFRUUCByZXNwb25zZSBib2R5IGFzIGpzb24sIGFuZCBoYXMgYW4gYWRkaXRpb25hbFxuICogICBgZGF0YWAgcHJvcGVydHkgd2l0aCB0aGUgSFRUUCByZXNwb25zZSBqc29uIGFzIGEgamF2YXNjcmlwdCBvYmplY3QuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGpzXG4gKiBpbXBvcnQgeyBvcGVubXJzRmV0Y2ggfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJ1xuICogY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICogb3Blbm1yc0ZldGNoKGAke3Jlc3RCYXNlVXJsfS9zZXNzaW9uJywge3NpZ25hbDogYWJvcnRDb250cm9sbGVyLnNpZ25hbH0pXG4gKiAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAqICAgICBjb25zb2xlLmxvZyhyZXNwb25zZS5kYXRhLmF1dGhlbnRpY2F0ZWQpXG4gKiAgIH0pXG4gKiAgIC5jYXRjaChlcnIgPT4ge1xuICogICAgIGNvbnNvbGUuZXJyb3IoZXJyLnN0YXR1cyk7XG4gKiAgIH0pXG4gKiBhYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcbiAqIG9wZW5tcnNGZXRjaChgJHtyZXN0QmFzZVVybH0vc2Vzc2lvbicsIHtcbiAqICAgbWV0aG9kOiAnUE9TVCcsXG4gKiAgIGJvZHk6IHtcbiAqICAgICB1c2VybmFtZTogJ2hpJyxcbiAqICAgICBwYXNzd29yZDogJ3RoZXJlJyxcbiAqICAgfVxuICogfSlcbiAqIGBgYFxuICpcbiAqICMjIyMgQ2FuY2VsbGF0aW9uXG4gKlxuICogVG8gY2FuY2VsIGEgbmV0d29yayByZXF1ZXN0LCB1c2UgYW5cbiAqIFtBYm9ydENvbnRyb2xsZXJdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9BYm9ydENvbnRyb2xsZXIvYWJvcnQpLlxuICogSXQgaXMgYmVzdCBwcmFjdGljZSB0byBjYW5jZWwgeW91ciBuZXR3b3JrIHJlcXVlc3RzIHdoZW4gdGhlIHVzZXJcbiAqIG5hdmlnYXRlcyBhd2F5IGZyb20gYSBwYWdlIHdoaWxlIHRoZSByZXF1ZXN0IGlzIHBlbmRpbmcgcmVxdWVzdCwgdG9cbiAqIGZyZWUgdXAgbWVtb3J5IGFuZCBuZXR3b3JrIHJlc291cmNlcyBhbmQgdG8gcHJldmVudCByYWNlIGNvbmRpdGlvbnMuXG4gKlxuICogQGNhdGVnb3J5IEFQSVxuICovIGV4cG9ydCBmdW5jdGlvbiBvcGVubXJzRmV0Y2gocGF0aCwgZmV0Y2hJbml0ID0ge30pIHtcbiAgICBpZiAodHlwZW9mIHBhdGggIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRocm93IEVycm9yKFwiVGhlIGZpcnN0IGFyZ3VtZW50IHRvIEBvcGVubXJzL2FwaSdzIG9wZW5tcnNGZXRjaCBmdW5jdGlvbiBtdXN0IGJlIGEgdXJsIHN0cmluZ1wiKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBmZXRjaEluaXQgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIHRocm93IEVycm9yKFwiVGhlIHNlY29uZCBhcmd1bWVudCB0byBAb3Blbm1ycy9hcGkncyBvcGVubXJzRmV0Y2ggZnVuY3Rpb24gbXVzdCBiZSBhIHBsYWluIG9iamVjdC5cIik7XG4gICAgfVxuICAgIGlmICghd2luZG93Lm9wZW5tcnNCYXNlKSB7XG4gICAgICAgIHRocm93IEVycm9yKFwiQG9wZW5tcnMvYXBpIGlzIHJ1bm5pbmcgaW4gYSBicm93c2VyIHRoYXQgZG9lc24ndCBoYXZlIHdpbmRvdy5vcGVubXJzQmFzZSwgd2hpY2ggaXMgcHJvdmlkZWQgYnkgb3Blbm1ycy1tb2R1bGUtc3BhJ3MgSFRNTCBmaWxlLlwiKTtcbiAgICB9XG4gICAgLy8gUHJlZml4IHRoZSB1cmwgd2l0aCB0aGUgb3Blbm1ycyBzcGEgYmFzZVxuICAgIGxldCB1cmwgPSBtYWtlVXJsKHBhdGgpO1xuICAgIC8vIFdlJ3JlIGdvaW5nIHRvIG5lZWQgc29tZSBoZWFkZXJzXG4gICAgaWYgKCFmZXRjaEluaXQuaGVhZGVycykge1xuICAgICAgICBmZXRjaEluaXQuaGVhZGVycyA9IHt9O1xuICAgIH1cbiAgICAvLyBBdXRvbWF0aWNhbGx5IHN0cmluZ2lmeSBqYXZhc2NyaXB0IG9iamVjdHMgYmVpbmcgc2VudCBpbiB0aGVcbiAgICAvLyByZXF1ZXN0IGJvZHkuXG4gICAgaWYgKGlzUGxhaW5PYmplY3QoZmV0Y2hJbml0LmJvZHkpKSB7XG4gICAgICAgIGZldGNoSW5pdC5ib2R5ID0gSlNPTi5zdHJpbmdpZnkoZmV0Y2hJbml0LmJvZHkpO1xuICAgIH1cbiAgICAvLyBBZGQgYSByZXF1ZXN0IGhlYWRlciB0byB0ZWxsIHRoZSBzZXJ2ZXIgdG8gcmVzcG9uZCB3aXRoIGpzb24sXG4gICAgLy8gc2luY2UgZnJvbnRlbmQgY29kZSBhbG1vc3QgYWx3YXlzIHdhbnRzIGpzb24gYW5kIHRoZSBPcGVuTVJTXG4gICAgLy8gc2VydmVyIHdvbid0IGdpdmUgeW91IGpzb24gdW5sZXNzIHlvdSBleHBsaWNpdGx5IGFzayBmb3IgaXQuXG4gICAgLy8gSWYgYSBkaWZmZXJlbnQgQWNjZXB0IGhlYWRlciBpcyBwcmVmZXJyZWQsIHBhc3MgaXQgaW50byB0aGUgZmV0Y2hJbml0LlxuICAgIC8vIElmIG5vIEFjY2VwdCBoZWFkZXIgaXMgZGVzaXJlZCwgcGFzcyBpdCBpbiBleHBsaWNpdGx5IGFzIG51bGwuXG4gICAgaWYgKHR5cGVvZiBmZXRjaEluaXQuaGVhZGVycy5BY2NlcHQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGZldGNoSW5pdC5oZWFkZXJzLkFjY2VwdCA9ICdhcHBsaWNhdGlvbi9qc29uJztcbiAgICB9XG4gICAgaWYgKGZldGNoSW5pdC5oZWFkZXJzLkFjY2VwdCA9PT0gbnVsbCkge1xuICAgICAgICBkZWxldGUgZmV0Y2hJbml0LmhlYWRlcnMuQWNjZXB0O1xuICAgIH1cbiAgICAvLyBUaGlzIHRlbGxzIHRoZSBPcGVuTVJTIFJFU1QgQVBJIG5vdCB0byByZXR1cm4gYSBXV1ctQXV0aGVudGljYXRlXG4gICAgLy8gaGVhZGVyLiBSZXR1cm5pbmcgdGhhdCBoZWFkZXIgaXMgdXNlZnVsIHdoZW4gdXNpbmcgdGhlIEFQSSwgYnV0XG4gICAgLy8gbm90IGZyb20gYSBVSS5cbiAgICBsZXQgaXNSZXN0UmVxdWVzdCA9IGZhbHNlO1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3RVcmwgPSBuZXcgVVJMKHVybCwgd2luZG93LmxvY2F0aW9uLmhyZWYpO1xuICAgICAgICBjb25zdCByZXN0VXJsID0gbmV3IFVSTChtYWtlVXJsKHJlc3RCYXNlVXJsKSwgd2luZG93LmxvY2F0aW9uLmhyZWYpO1xuICAgICAgICAvLyBDb21wYXJlIG5vcm1hbGl6ZWQgcGF0aHMgd2l0aG91dCBjaGFuZ2luZyB0aGUgb3V0Z29pbmcgVVJMLiBQYWdpbmF0aW9uIGxpbmtzXG4gICAgICAgIC8vIG1heSBvbWl0IHRoZSBleHRyYSBzbGFzaCBpbnRyb2R1Y2VkIGJ5IGFuIG9wZW5tcnNCYXNlIHdpdGggYSB0cmFpbGluZyBzbGFzaC5cbiAgICAgICAgY29uc3QgcmVxdWVzdFBhdGggPSByZXF1ZXN0VXJsLnBhdGhuYW1lLnJlcGxhY2UoL1xcL3syLH0vZywgJy8nKTtcbiAgICAgICAgY29uc3QgcmVzdFBhdGggPSByZXN0VXJsLnBhdGhuYW1lLnJlcGxhY2UoL1xcL3syLH0vZywgJy8nKTtcbiAgICAgICAgaXNSZXN0UmVxdWVzdCA9IHJlcXVlc3RVcmwub3JpZ2luID09PSByZXN0VXJsLm9yaWdpbiAmJiAocmVxdWVzdFBhdGggPT09IHJlc3RQYXRoIHx8IHJlcXVlc3RQYXRoLnN0YXJ0c1dpdGgoYCR7cmVzdFBhdGh9L2ApKTtcbiAgICB9IGNhdGNoICB7XG4gICAgLy8gTGV0IG5hdGl2ZSBmZXRjaCByZWplY3QgbWFsZm9ybWVkIFVSTHMgaW5zdGVhZCBvZiB0aHJvd2luZyBzeW5jaHJvbm91c2x5IGhlcmUuXG4gICAgfVxuICAgIGlmIChpc1Jlc3RSZXF1ZXN0KSB7XG4gICAgICAgIGxldCBoYXNBdXRoSGVhZGVyID0gZmFsc2U7XG4gICAgICAgIGZvciAoY29uc3QgW25hbWUsIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhmZXRjaEluaXQuaGVhZGVycykpe1xuICAgICAgICAgICAgaWYgKG5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2Rpc2FibGUtd3d3LWF1dGhlbnRpY2F0ZScpIHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmUgZXZlcnkgY2FzaW5nIHNvIGZldGNoIGNhbm5vdCBjb21iaW5lIFwidW5kZWZpbmVkXCIgd2l0aCB0aGUgZGVmYXVsdC5cbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGZldGNoSW5pdC5oZWFkZXJzW25hbWVdO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGhhc0F1dGhIZWFkZXIgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWhhc0F1dGhIZWFkZXIpIHtcbiAgICAgICAgICAgIGZldGNoSW5pdC5oZWFkZXJzWydEaXNhYmxlLVdXVy1BdXRoZW50aWNhdGUnXSA9ICd0cnVlJztcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAocGF0aC5zdGFydHNXaXRoKGZoaXJCYXNlVXJsKSkge1xuICAgICAgICBjb25zdCB1cmxVcmwgPSBuZXcgVVJMKHVybCwgd2luZG93LmxvY2F0aW9uLnRvU3RyaW5nKCkpO1xuICAgICAgICBpZiAoIXVybFVybC5zZWFyY2hQYXJhbXMuaGFzKCdfc3VtbWFyeScpKSB7XG4gICAgICAgICAgICB1cmxVcmwuc2VhcmNoUGFyYW1zLnNldCgnX3N1bW1hcnknLCAnZGF0YScpO1xuICAgICAgICAgICAgdXJsID0gdXJsVXJsLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gV2UgY2FwdHVyZSB0aGUgc3RhY2t0cmFjZSBiZWZvcmUgbWFraW5nIHRoZSByZXF1ZXN0LCBzbyB0aGF0IGlmIGFuIGVycm9yIG9jY3VycyB3ZSBjYW5cbiAgICAvLyBsb2cgYSBmdWxsIHN0YWNrdHJhY2UgdGhhdCBpbmNsdWRlcyB0aGUgY29kZSB0aGF0IG1hZGUgdGhlIHJlcXVlc3QgYW5kIGhhbmRsZWQgdGhlIHJlc3BvbnNlXG4gICAgLy8gT3RoZXJ3aXNlLCB3ZSBjb3VsZCBydW4gaW50byBzaXR1YXRpb25zIHdoZXJlIHRoZSBzdGFja3RyYWNlIGRvZXNuJ3QgZXZlbiBzaG93IHdoaWNoIGNvZGVcbiAgICAvLyBjYWxsZWQgQG9wZW5tcnMvYXBpLlxuICAgIGNvbnN0IHJlcXVlc3RTdGFja3RyYWNlID0gRXJyb3IoKTtcbiAgICByZXR1cm4gd2luZG93LmZldGNoKHVybCwgZmV0Y2hJbml0KS50aGVuKGFzeW5jIChyKT0+e1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IHI7XG4gICAgICAgIGNvbnN0IHsgcmVkaXJlY3RBdXRoRmFpbHVyZSwgZm9sbG93UmVkaXJlY3RzIH0gPSBhd2FpdCBnZXRDb25maWcoJ0BvcGVubXJzL2VzbS1hcGknKTtcbiAgICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgICAvLyBCYWNrZW5kIG1vZHVsZXMgY2FuIHRyaWdnZXIgU1BBIHJlZGlyZWN0cyBieSByZXR1cm5pbmcgYSBgTG9jYXRpb25gIGhlYWRlci5cbiAgICAgICAgICAgIC8vIFRoaXMgaXMgcmVxdWlyZWQgYmVjYXVzZSBgZmV0Y2goKWAgaGlkZXMgSFRUUCByZWRpcmVjdHMgZnJvbSB0aGUgYXBwbGljYXRpb24uXG4gICAgICAgICAgICAvLyBTZXNzaW9uIGVuZHBvaW50ICgyeHgpOiBBdXRoZW50aWNhdGlvbiBjaGFsbGVuZ2UgVVJMcyAoZS5nLiBUT1RQLDJGQSkuXG4gICAgICAgICAgICAvLyBIVFRQIDIwNDogTG9nb3V0IHJlZGlyZWN0IFVSTHMgKGUuZy4gS2V5Y2xvYWsgSWRQIGxvZ291dCkuIFJlZmVyOiBPQS00MSAjMTIzMVxuICAgICAgICAgICAgY29uc3QgbG9jYXRpb24gPSByZXNwb25zZS5oZWFkZXJzLmdldCgnbG9jYXRpb24nKTtcbiAgICAgICAgICAgIGNvbnN0IHNob3VsZFJlZGlyZWN0ID0gZm9sbG93UmVkaXJlY3RzICYmIGxvY2F0aW9uICYmICh1cmwgPT09IG1ha2VVcmwoc2Vzc2lvbkVuZHBvaW50KSB8fCByZXNwb25zZS5zdGF0dXMgPT09IDIwNCk7XG4gICAgICAgICAgICBpZiAoc2hvdWxkUmVkaXJlY3QpIHtcbiAgICAgICAgICAgICAgICBuYXZpZ2F0ZSh7XG4gICAgICAgICAgICAgICAgICAgIHRvOiBsb2NhdGlvblxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjA0KSB7XG4gICAgICAgICAgICAgICAgLy8gSFRUUCAyMDQgLSBObyBDb250ZW50XG4gICAgICAgICAgICAgICAgLy8gV2Ugc2hvdWxkIG5vdCB0cnkgdG8gZG93bmxvYWQgdGhlIGVtcHR5IHJlc3BvbnNlIGFzIGpzb24uIEluc3RlYWQsXG4gICAgICAgICAgICAgICAgLy8gd2UgcmV0dXJuIG51bGwgc2luY2UgdGhlcmUgaXMgbm8gcmVzcG9uc2UgYm9keS5cbiAgICAgICAgICAgICAgICByZXNwb25zZS5kYXRhID0gbnVsbDtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIEhUVFAgMjAwcyAtIFRoZSByZXF1ZXN0IHN1Y2NlZWRlZFxuICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5jbG9uZSgpLnRleHQoKS50aGVuKChyZXNwb25zZVRleHQpPT57XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2VUZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UuZGF0YSA9IEpTT04ucGFyc2UocmVzcG9uc2VUZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFNlcnZlciBkaWRuJ3QgcmVzcG9uZCB3aXRoIGpzb25cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBIVFRQIHJlc3BvbnNlIHN0YXR1cyBpcyBub3QgaW4gMjAwcy4gVXN1YWxseSB0aGlzIHdpbGwgbWVhblxuICAgICAgICAgICAgLy8gZWl0aGVyIEhUVFAgNDAwcyAoYmFkIHJlcXVlc3QgZnJvbSBicm93c2VyKSBvciBIVFRQIDUwMHMgKHNlcnZlciBlcnJvcilcbiAgICAgICAgICAgIC8vIE91ciBnb2FsIGlzIHRvIGNvbWUgdXAgd2l0aCBiZXN0IHBvc3NpYmxlIHN0YWNrdHJhY2UgYW5kIGVycm9yIG1lc3NhZ2VcbiAgICAgICAgICAgIC8vIHRvIGhlbHAgZGV2ZWxvcGVycyB1bmRlcnN0YW5kIHRoZSBwcm9ibGVtIGFuZCBkZWJ1Z1xuICAgICAgICAgICAgLy8gUmVkaXJlY3QgdG8gZ2l2ZW4gdXJsIHdoZW4gcmVkaXJlY3Qgb24gYXV0aCBmYWlsdXJlIGlzIGVuYWJsZWRcbiAgICAgICAgICAgIGlmICh1cmwgPT09IG1ha2VVcmwoc2Vzc2lvbkVuZHBvaW50KSAmJiByZXNwb25zZS5zdGF0dXMgPT09IDQwMyB8fCByZWRpcmVjdEF1dGhGYWlsdXJlLmVuYWJsZWQgJiYgcmVkaXJlY3RBdXRoRmFpbHVyZS5lcnJvcnMuaW5jbHVkZXMocmVzcG9uc2Uuc3RhdHVzKSkge1xuICAgICAgICAgICAgICAgIGNsZWFySGlzdG9yeSgpO1xuICAgICAgICAgICAgICAgIC8vIGJ5IGRlZmF1bHQsIHJlZGlyZWN0IHRvIHRoZSB1cmwgc3BlY2lmaWVkIGluIHRoZSBjb25maWcuXG4gICAgICAgICAgICAgICAgLy8gSWYgYmxhbmssIHVzZSB0aGUgbG9jYXRpb24gaGVhZGVyIGZyb20gdGhlIHJlc3BvbnNlLlxuICAgICAgICAgICAgICAgIC8vIElmIHRoYXQgaXMgYWxzbyBibGFuaywgdXNlIHRoZSBkZWZhdWx0IHJlZGlyZWN0IHVybC5cbiAgICAgICAgICAgICAgICBjb25zdCBsb2NhdGlvbiA9IHJlZGlyZWN0QXV0aEZhaWx1cmUudXJsIHx8IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdsb2NhdGlvbicpIHx8IGRlZmF1bHRSZWRpcmVjdEF1dGhGYWlsdXJlVXJsO1xuICAgICAgICAgICAgICAgIG5hdmlnYXRlKHtcbiAgICAgICAgICAgICAgICAgICAgdG86IGxvY2F0aW9uXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVqZWN0QXV0aEZhaWx1cmVzID0gZmV0Y2hJbml0LnJlamVjdEF1dGhGYWlsdXJlID09PSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmICghcmVqZWN0QXV0aEZhaWx1cmVzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZWRpcmVjdEF1dGhGYWlsdXJlLnJlc29sdmVQcm9taXNlID8gUHJvbWlzZS5yZXNvbHZlKCkgOiBuZXcgUHJvbWlzZSgoKT0+e30pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEF0dGVtcHQgdG8gZG93bmxvYWQgYSByZXNwb25zZSBib2R5LCBpZiBpdCBoYXMgb25lXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuY2xvbmUoKS50ZXh0KCkudGhlbigocmVzcG9uc2VUZXh0KT0+e1xuICAgICAgICAgICAgICAgIGxldCByZXNwb25zZUJvZHkgPSByZXNwb25zZVRleHQ7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VCb2R5ID0gSlNPTi5wYXJzZShyZXNwb25zZVRleHQpO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIC8vIFNlcnZlciBkaWRuJ3QgcmVzcG9uZCB3aXRoIGpzb24sIHNvIGp1c3QgZ28gd2l0aCB0aGUgcmVzcG9uc2UgdGV4dCBzdHJpbmdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gTWFrZSB0aGUgZmV0Y2ggcHJvbWlzZSBnbyBpbnRvIFwicmVqZWN0ZWRcIiBzdGF0dXMsIHdpdGggdGhlIGJlc3RcbiAgICAgICAgICAgICAgICAvLyBwb3NzaWJsZSBzdGFja3RyYWNlIGFuZCBlcnJvciBtZXNzYWdlLlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBPcGVubXJzRmV0Y2hFcnJvcih1cmwsIHJlc3BvbnNlLCByZXNwb25zZUJvZHksIHJlcXVlc3RTdGFja3RyYWNlKTtcbiAgICAgICAgICAgIH0sICgpPT57XG4gICAgICAgICAgICAgICAgLy8gV2Ugd2VyZW4ndCBhYmxlIHRvIGRvd25sb2FkIGEgcmVzcG9uc2UgYm9keSBmb3IgdGhpcyBlcnJvci5cbiAgICAgICAgICAgICAgICAvLyBUaW1lIHRvIGp1c3QgZ2l2ZSB0aGUgYmVzdCBwb3NzaWJsZSBzdGFja3RyYWNlIGFuZCBlcnJvciBtZXNzYWdlLlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBPcGVubXJzRmV0Y2hFcnJvcih1cmwsIHJlc3BvbnNlLCBudWxsLCByZXF1ZXN0U3RhY2t0cmFjZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuZXhwb3J0IGNsYXNzIE9wZW5tcnNGZXRjaEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHVybCwgcmVzcG9uc2UsIHJlc3BvbnNlQm9keSwgcmVxdWVzdFN0YWNrdHJhY2Upe1xuICAgICAgICBzdXBlcigpLCBfZGVmaW5lX3Byb3BlcnR5KHRoaXMsIFwicmVzcG9uc2VcIiwgdm9pZCAwKSwgX2RlZmluZV9wcm9wZXJ0eSh0aGlzLCBcInJlc3BvbnNlQm9keVwiLCB2b2lkIDApO1xuICAgICAgICB0aGlzLm1lc3NhZ2UgPSBgU2VydmVyIHJlc3BvbmRlZCB3aXRoICR7cmVzcG9uc2Uuc3RhdHVzfSAoJHtyZXNwb25zZS5zdGF0dXNUZXh0fSkgZm9yIHVybCAke3VybH0uIENoZWNrIGVyci5yZXNwb25zZUJvZHkgb3IgbmV0d29yayB0YWIgaW4gZGV2IHRvb2xzIGZvciBtb3JlIGluZm9gO1xuICAgICAgICByZXF1ZXN0U3RhY2t0cmFjZS5tZXNzYWdlID0gdGhpcy5tZXNzYWdlO1xuICAgICAgICB0aGlzLnJlc3BvbnNlQm9keSA9IHJlc3BvbnNlQm9keTtcbiAgICAgICAgdGhpcy5yZXNwb25zZSA9IHJlc3BvbnNlO1xuICAgICAgICB0aGlzLnN0YWNrID0gYFN0YWNrdHJhY2UgZm9yIG91dGdvaW5nIHJlcXVlc3Q6XFxuJHtyZXF1ZXN0U3RhY2t0cmFjZS5zdGFja31cXG5TdGFja3RyYWNlIGZvciBpbmNvbWluZyByZXNwb25zZTpcXG4ke3RoaXMuc3RhY2t9YDtcbiAgICB9XG59XG4iXSwibmFtZXMiOlsiX2RlZmluZV9wcm9wZXJ0eSIsIm9iaiIsImtleSIsInZhbHVlIiwiT2JqZWN0IiwiaXNQbGFpbk9iamVjdCIsImdldENvbmZpZyIsImNsZWFySGlzdG9yeSIsIm5hdmlnYXRlIiwiZGVmYXVsdFJlZGlyZWN0QXV0aEZhaWx1cmVVcmwiLCJyZXN0QmFzZVVybCIsImZoaXJCYXNlVXJsIiwic2Vzc2lvbkVuZHBvaW50IiwibWFrZVVybCIsInBhdGgiLCJ3aW5kb3ciLCJvcGVubXJzRmV0Y2giLCJmZXRjaEluaXQiLCJFcnJvciIsInVybCIsIkpTT04iLCJpc1Jlc3RSZXF1ZXN0IiwicmVxdWVzdFVybCIsIlVSTCIsInJlc3RVcmwiLCJyZXF1ZXN0UGF0aCIsInJlc3RQYXRoIiwiaGFzQXV0aEhlYWRlciIsIm5hbWUiLCJ1bmRlZmluZWQiLCJ1cmxVcmwiLCJyZXF1ZXN0U3RhY2t0cmFjZSIsInIiLCJyZXNwb25zZSIsInJlZGlyZWN0QXV0aEZhaWx1cmUiLCJmb2xsb3dSZWRpcmVjdHMiLCJsb2NhdGlvbiIsInNob3VsZFJlZGlyZWN0IiwicmVzcG9uc2VUZXh0IiwiZXJyIiwicmVqZWN0QXV0aEZhaWx1cmVzIiwiUHJvbWlzZSIsInJlc3BvbnNlQm9keSIsIk9wZW5tcnNGZXRjaEVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsU0FBU0EsaUJBQWlCQyxHQUFHLEVBQUVDLEdBQUcsRUFBRUMsS0FBSztJQUNyQyxJQUFJRCxPQUFPRCxLQUFLO1FBQ1pHLE9BQU8sY0FBYyxDQUFDSCxLQUFLQyxLQUFLO1lBQzVCLE9BQU9DO1lBQ1AsWUFBWTtZQUNaLGNBQWM7WUFDZCxVQUFVO1FBQ2Q7SUFDSixPQUFPO1FBQ0hGLEdBQUcsQ0FBQ0MsSUFBSSxHQUFHQztJQUNmO0lBQ0EsT0FBT0Y7QUFDWDtBQUNBLDBCQUEwQixHQUE2QztBQUN2QjtBQUNpQjtBQUNFO0FBQ25FLGlFQUFpRSxHQUFVLE1BQU1TLGNBQWMsY0FBYztBQUM3RyxxRUFBcUUsR0FBVSxNQUFNQyxjQUFjLGVBQWU7QUFDbEgsb0RBQW9ELEdBQVUsTUFBTUMsa0JBQWtCLEdBQUdGLFlBQVksUUFBUSxDQUFDLENBQUM7QUFDL0c7Ozs7Ozs7Ozs7Ozs7Q0FhQyxHQUFVLFNBQVNHLFFBQVFDLElBQUk7SUFDNUIsSUFBSUEsUUFBUUEsS0FBSyxVQUFVLENBQUMsU0FBUztRQUNqQyxPQUFPQTtJQUNYLE9BQU8sSUFBSUEsSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLO1FBQ3hCLDRC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\n//# sourceURL=webpack-internal:///../../framework/esm-api/dist/openmrs-fetch.js\n\n}");
4480
4480
 
4481
4481
  },
4482
4482
  "../../framework/esm-api/dist/setup.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
@@ -4746,7 +4746,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webp
4746
4746
  },
4747
4747
  "../../framework/esm-framework/dist/internal.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
4748
4748
  "use strict";
4749
- eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n ActionMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ActionMenu),\n ActionMenuButton: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ActionMenuButton),\n ActionMenuButton2: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ActionMenuButton2),\n ActionableNotificationComponent: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ActionableNotificationComponent),\n ActivityIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ActivityIcon),\n AddIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.AddIcon),\n AllergiesIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.AllergiesIcon),\n AppointmentsAltPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.AppointmentsAltPictogram),\n AppointmentsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.AppointmentsPictogram),\n ArrowDownIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ArrowDownIcon),\n ArrowLeftIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ArrowLeftIcon),\n ArrowRightIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ArrowRightIcon),\n ArrowUpIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ArrowUpIcon),\n Assessment1Pictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Assessment1Pictogram),\n Assessment2Pictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Assessment2Pictogram),\n AttachmentIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.AttachmentIcon),\n BabyIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.BabyIcon),\n BloodBankPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.BloodBankPictogram),\n Breakpoint: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Breakpoint),\n CalendarHeatMapIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CalendarHeatMapIcon),\n CalendarIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CalendarIcon),\n CardHeader: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CardHeader),\n CardiologyPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CardiologyPictogram),\n CaretDownIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CaretDownIcon),\n CaretLeftIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CaretLeftIcon),\n CaretRightIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CaretRightIcon),\n CaretUpIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CaretUpIcon),\n ChartAverageIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChartAverageIcon),\n ChartLineIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChartLineIcon),\n CheckmarkFilledIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CheckmarkFilledIcon),\n CheckmarkOutlineIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CheckmarkOutlineIcon),\n ChemistryIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChemistryIcon),\n ChevronDownIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChevronDownIcon),\n ChevronLeftIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChevronLeftIcon),\n ChevronRightIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChevronRightIcon),\n ChevronUpIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChevronUpIcon),\n CloseFilledIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CloseFilledIcon),\n CloseIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CloseIcon),\n CloseOutlineIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CloseOutlineIcon),\n ComponentContext: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.ComponentContext),\n ConditionsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ConditionsIcon),\n ConfigurableLink: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.ConfigurableLink),\n CtScanPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CtScanPictogram),\n CustomOverflowMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CustomOverflowMenu),\n CustomOverflowMenuItem: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CustomOverflowMenuItem),\n DashboardExtension: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DashboardExtension),\n DentistryPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DentistryPictogram),\n DiagnosisTags: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DiagnosisTags),\n DigitalTrustPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DigitalTrustPictogram),\n DocumentAttachmentIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DocumentAttachmentIcon),\n DocumentIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DocumentIcon),\n DownloadIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DownloadIcon),\n DrugOrderIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DrugOrderIcon),\n EditIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EditIcon),\n EmergencyDepartmentPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EmergencyDepartmentPictogram),\n EmptyCard: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EmptyCard),\n EmptyCardIllustration: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EmptyCardIllustration),\n ErrorCard: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ErrorCard),\n ErrorState: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ErrorState),\n EventScheduleIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EventScheduleIcon),\n EventsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EventsIcon),\n Extension: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.Extension),\n ExtensionSlot: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.ExtensionSlot),\n FacilityPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.FacilityPictogram),\n GenderFemaleIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GenderFemaleIcon),\n GenderMaleIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GenderMaleIcon),\n GenderOtherIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GenderOtherIcon),\n GenderUnknownIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GenderUnknownIcon),\n GenericOrderTypeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GenericOrderTypeIcon),\n GeriatricsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GeriatricsPictogram),\n GroupAccessIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GroupAccessIcon),\n GroupIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GroupIcon),\n GynaecologyPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GynaecologyPictogram),\n HomePictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.HomePictogram),\n HospitalBedIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.HospitalBedIcon),\n Icon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Icon),\n ImageMedicalIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ImageMedicalIcon),\n InPatientPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.InPatientPictogram),\n InformationFilledIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.InformationFilledIcon),\n InformationIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.InformationIcon),\n InformationSquareIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.InformationSquareIcon),\n InventoryManagementIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.InventoryManagementIcon),\n LabOrderIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.LabOrderIcon),\n LaboratoryPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.LaboratoryPictogram),\n Labs2Pictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Labs2Pictogram),\n LeftNavMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.LeftNavMenu),\n ListCheckedIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ListCheckedIcon),\n LocationIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.LocationIcon),\n LocationPicker: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.LocationPicker),\n MaterialOrderIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MaterialOrderIcon),\n MaximizeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MaximizeIcon),\n MaybeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MaybeIcon),\n MaybePictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MaybePictogram),\n MedicationIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MedicationIcon),\n MessageQueueIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MessageQueueIcon),\n MetadataExportPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MetadataExportPictogram),\n MicroscopeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MicroscopeIcon),\n MobileCheckIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MobileCheckIcon),\n MoneyIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MoneyIcon),\n MotherIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MotherIcon),\n MovementIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MovementIcon),\n Notification: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Notification),\n NumericObservation: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.NumericObservation),\n ObstetricsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ObstetricsPictogram),\n OpenmrsAppContext: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.OpenmrsAppContext),\n OpenmrsDatePicker: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.OpenmrsDatePicker),\n OpenmrsDateRangePicker: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.OpenmrsDateRangePicker),\n OpenmrsFetchError: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.OpenmrsFetchError),\n OverflowMenuHorizontalIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.OverflowMenuHorizontalIcon),\n OverflowMenuVerticalIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.OverflowMenuVerticalIcon),\n PageHeader: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PageHeader),\n PageHeaderContent: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PageHeaderContent),\n Pagination: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Pagination),\n PasswordIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PasswordIcon),\n PatientBannerActionsMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientBannerActionsMenu),\n PatientBannerContactDetails: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientBannerContactDetails),\n PatientBannerPatientIdentifiers: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientBannerPatientIdentifiers),\n PatientBannerPatientInfo: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientBannerPatientInfo),\n PatientBannerToggleContactDetailsButton: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientBannerToggleContactDetailsButton),\n PatientListsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientListsPictogram),\n PatientPhoto: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientPhoto),\n PatientSearchPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientSearchPictogram),\n PatientsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientsPictogram),\n PaymentsDeskPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PaymentsDeskPictogram),\n PedestrianFamilyIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PedestrianFamilyIcon),\n PenIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PenIcon),\n Pharmacy2Pictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Pharmacy2Pictogram),\n PharmacyPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PharmacyPictogram),\n Pictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Pictogram),\n PrinterIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PrinterIcon),\n ProcedureOrderIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ProcedureOrderIcon),\n ProgramsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ProgramsIcon),\n RadiologyIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.RadiologyIcon),\n ReferralOrderIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ReferralOrderIcon),\n RegistrationPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.RegistrationPictogram),\n RenderIfValueIsTruthy: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.RenderIfValueIsTruthy),\n RenewIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.RenewIcon),\n ReportIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ReportIcon),\n ResetIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ResetIcon),\n ResponsiveWrapper: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ResponsiveWrapper),\n SaveIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SaveIcon),\n SearchIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SearchIcon),\n ServiceQueuesPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ServiceQueuesPictogram),\n SettingsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SettingsIcon),\n ShoppingCartAddItemIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ShoppingCartAddItemIcon),\n ShoppingCartArrowDownIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ShoppingCartArrowDownIcon),\n ShoppingCartIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ShoppingCartIcon),\n Snackbar: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Snackbar),\n StickyNoteAddIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.StickyNoteAddIcon),\n StockManagementPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.StockManagementPictogram),\n SwitcherIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SwitcherIcon),\n SyringeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SyringeIcon),\n TableBatchActions: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TableBatchActions),\n TableIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TableIcon),\n TableOfContentsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TableOfContentsIcon),\n TimeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TimeIcon),\n Toast: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Toast),\n ToolsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ToolsIcon),\n TransferPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TransferPictogram),\n TranslateIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TranslateIcon),\n TrashCanIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TrashCanIcon),\n TreeViewAltIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TreeViewAltIcon),\n TriagePictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TriagePictogram),\n TwoFactorAuthenticationIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TwoFactorAuthenticationIcon),\n Type: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.Type),\n UserAvatarIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.UserAvatarIcon),\n UserFollowIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.UserFollowIcon),\n UserHasAccess: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.UserHasAccess),\n UserIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.UserIcon),\n UserXrayIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.UserXrayIcon),\n ViewIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ViewIcon),\n ViewOffIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ViewOffIcon),\n VisitMode: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.VisitMode),\n VisitStatus: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.VisitStatus),\n WarningIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.WarningIcon),\n Workspace2: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Workspace2),\n WorkspaceContainer: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.WorkspaceContainer),\n WorkspaceNotification: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.WorkspaceNotification),\n XrayPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.XrayPictogram),\n addImportMapOverride: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.addImportMapOverride),\n addRouteMapOverride: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.addRouteMapOverride),\n age: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.age),\n ageAsDuration: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.ageAsDuration),\n attach: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.attach),\n attachmentUrl: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.attachmentUrl),\n backendDependencies: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.backendDependencies),\n batchExtensionUpdates: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.batchExtensionUpdates),\n canAccessStorage: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.canAccessStorage),\n canCloseWorkspaceWithoutPrompting: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.canCloseWorkspaceWithoutPrompting),\n cancelPrompt: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.cancelPrompt),\n changeWorkspaceContext: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.changeWorkspaceContext),\n cleanupObsoleteFeatureFlags: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.cleanupObsoleteFeatureFlags),\n clearConfigDerivationError: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.clearConfigDerivationError),\n clearConfigErrors: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.clearConfigErrors),\n clearCurrentUser: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.clearCurrentUser),\n clearHistory: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.clearHistory),\n closeAllWorkspaces: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.closeAllWorkspaces),\n closeWorkspace: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.closeWorkspace),\n closeWorkspaceGroup2: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.closeWorkspaceGroup2),\n compile: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.compile),\n configExtensionStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.configExtensionStore),\n configInternalStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.configInternalStore),\n convertToLocaleCalendar: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.convertToLocaleCalendar),\n createAttachment: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.createAttachment),\n createDashboard: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.createDashboard),\n createErrorHandler: () => (/* reexport safe */ _openmrs_esm_error_handling__rspack_import_4.createErrorHandler),\n createGlobalStore: () => (/* reexport safe */ _openmrs_esm_state__rspack_import_12.createGlobalStore),\n createParcelMounter: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.createParcelMounter),\n createUseStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.createUseStore),\n defaultVisitCustomRepresentation: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.defaultVisitCustomRepresentation),\n defineConfigSchema: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.defineConfigSchema),\n defineExtensionConfigSchema: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.defineExtensionConfigSchema),\n deleteAttachmentPermanently: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.deleteAttachmentPermanently),\n detach: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.detach),\n detachAll: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.detachAll),\n dispatchActionableNotificationShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.dispatchActionableNotificationShown),\n dispatchNotificationShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.dispatchNotificationShown),\n dispatchSnackbarShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.dispatchSnackbarShown),\n dispatchToastShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.dispatchToastShown),\n displayName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.displayName),\n duration: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.duration),\n enableImportMapOverride: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.enableImportMapOverride),\n esmStyleGuideSchema: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.esmStyleGuideSchema),\n evaluate: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluate),\n evaluateAsBoolean: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsBoolean),\n evaluateAsBooleanAsync: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsBooleanAsync),\n evaluateAsNumber: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsNumber),\n evaluateAsNumberAsync: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsNumberAsync),\n evaluateAsType: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsType),\n evaluateAsTypeAsync: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsTypeAsync),\n evaluateAsync: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsync),\n extractVariableNames: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.extractVariableNames),\n featureFlagsStore: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.featureFlagsStore),\n fetchCurrentPatient: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.fetchCurrentPatient),\n fhirBaseUrl: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.fhirBaseUrl),\n filterBreadcrumbs: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.filterBreadcrumbs),\n finishRegisteringAllApps: () => (/* reexport safe */ _openmrs_esm_routes__rspack_import_11.finishRegisteringAllApps),\n fireOpenmrsEvent: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.fireOpenmrsEvent),\n formatDate: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatDate),\n formatDatetime: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatDatetime),\n formatDuration: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatDuration),\n formatDurationBetween: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatDurationBetween),\n formatPartialDate: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatPartialDate),\n formatPatientName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatPatientName),\n formatTime: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatTime),\n formattedName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formattedName),\n getAssignedExtensions: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getAssignedExtensions),\n getAsyncExtensionLifecycle: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.getAsyncExtensionLifecycle),\n getAsyncLifecycle: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.getAsyncLifecycle),\n getAttachmentByUuid: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getAttachmentByUuid),\n getAttachments: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getAttachments),\n getAttachmentsUrl: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getAttachmentsUrl),\n getBreadcrumbs: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.getBreadcrumbs),\n getBreadcrumbsFor: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.getBreadcrumbsFor),\n getCandidateExtensions: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getCandidateExtensions),\n getConfig: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getConfig),\n getConfigStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getConfigStore),\n getCoreTranslation: () => (/* reexport safe */ _openmrs_esm_translations__rspack_import_14.getCoreTranslation),\n getCurrentImportMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getCurrentImportMap),\n getCurrentPageMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getCurrentPageMap),\n getCurrentRouteMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getCurrentRouteMap),\n getCurrentUser: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.getCurrentUser),\n getDefaultCalendar: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.getDefaultCalendar),\n getDefaultsFromConfigSchema: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.getDefaultsFromConfigSchema),\n getDynamicOfflineDataEntries: () => (/* reexport safe */ _deprecated_js__rspack_import_16.getDynamicOfflineDataEntries),\n getExtensionConfig: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionConfig),\n getExtensionConfigFromExtensionSlotStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionConfigFromExtensionSlotStore),\n getExtensionConfigFromStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionConfigFromStore),\n getExtensionInternalStore: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionInternalStore),\n getExtensionNameFromId: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionNameFromId),\n getExtensionRegistration: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionRegistration),\n getExtensionRegistrationFrom: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionRegistrationFrom),\n getExtensionRenderingsStore: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionRenderingsStore),\n getExtensionSlotConfig: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionSlotConfig),\n getExtensionSlotConfigFromStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionSlotConfigFromStore),\n getExtensionSlotsConfigStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionSlotsConfigStore),\n getExtensionStore: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionStore),\n getExtensionsConfigStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionsConfigStore),\n getFeatureFlag: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.getFeatureFlag),\n getFhirServerPaginationHandlers: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.getFhirServerPaginationHandlers),\n getGlobalStore: () => (/* reexport safe */ _openmrs_esm_state__rspack_import_12.getGlobalStore),\n getGroupByWindowName: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getGroupByWindowName),\n getHistory: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.getHistory),\n getImportMapDefaultMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getImportMapDefaultMap),\n getImportMapDisabledOverrides: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getImportMapDisabledOverrides),\n getImportMapNextPageMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getImportMapNextPageMap),\n getImportMapOverrideMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getImportMapOverrideMap),\n getLifecycle: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.getLifecycle),\n getLocale: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.getLocale),\n getLocaleDisplayName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.getLocaleDisplayName),\n getLocations: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getLocations),\n getLoggedInUser: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.getLoggedInUser),\n getModalRegistration: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getModalRegistration),\n getOpenedWindowIndexByWorkspace: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getOpenedWindowIndexByWorkspace),\n getPatientName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.getPatientName),\n getPromptBeforeClosingFcn: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.getPromptBeforeClosingFcn),\n getRegisteredWorkspace2Names: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.getRegisteredWorkspace2Names),\n getRouteMapDefaultMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getRouteMapDefaultMap),\n getRouteMapNextPageMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getRouteMapNextPageMap),\n getRouteMapOverrideMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getRouteMapOverrideMap),\n getSessionLocation: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.getSessionLocation),\n getSessionStore: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.getSessionStore),\n getSyncLifecycle: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.getSyncLifecycle),\n getSynchronizationItems: () => (/* reexport safe */ _deprecated_js__rspack_import_16.getSynchronizationItems),\n getTranslationOverrides: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getTranslationOverrides),\n getVisitStore: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getVisitStore),\n getVisitTypes: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getVisitTypes),\n getVisitsForPatient: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getVisitsForPatient),\n getWindowByWorkspaceName: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getWindowByWorkspaceName),\n getWorkspaceGroupRegistration: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getWorkspaceGroupRegistration),\n getWorkspaceGroupStore: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.getWorkspaceGroupStore),\n getWorkspaceRegistration: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getWorkspaceRegistration),\n getWorkspaceStore: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.getWorkspaceStore),\n goBackInHistory: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.goBackInHistory),\n iconIds: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.iconIds),\n implementerToolsConfigStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.implementerToolsConfigStore),\n importDynamic: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.importDynamic),\n inRange: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.inRange),\n integrateBreakpoints: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.integrateBreakpoints),\n interpolateString: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.interpolateString),\n interpolateUrl: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.interpolateUrl),\n invalidateImplementerToolsConfig: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.invalidateImplementerToolsConfig),\n isDesktop: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.isDesktop),\n isDevEnabled: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.isDevEnabled),\n isImportMapOverrideDisabled: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.isImportMapOverrideDisabled),\n isOmrsDateStrict: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.isOmrsDateStrict),\n isOmrsDateToday: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.isOmrsDateToday),\n isOpenmrsAppRoutes: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.isOpenmrsAppRoutes),\n isOpenmrsRoutes: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.isOpenmrsRoutes),\n isUrl: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.isUrl),\n isUrlWithTemplateParameters: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.isUrlWithTemplateParameters),\n isVersionSatisfied: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.isVersionSatisfied),\n jsep: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.jsep),\n launchWorkspace: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.launchWorkspace),\n launchWorkspace2: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.launchWorkspace2),\n launchWorkspaceGroup: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.launchWorkspaceGroup),\n launchWorkspaceGroup2: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.launchWorkspaceGroup2),\n leftNavStore: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.leftNavStore),\n loadLifeCycles: () => (/* reexport safe */ _openmrs_esm_routes__rspack_import_11.loadLifeCycles),\n makeUrl: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.makeUrl),\n matchLocale: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.matchLocale),\n messageOmrsServiceWorker: () => (/* reexport safe */ _deprecated_js__rspack_import_16.messageOmrsServiceWorker),\n navigate: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.navigate),\n navigateAndLaunchWorkspace: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.navigateAndLaunchWorkspace),\n oneOf: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.oneOf),\n openmrsComponentDecorator: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.openmrsComponentDecorator),\n openmrsFetch: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.openmrsFetch),\n parseDate: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.parseDate),\n parseDateInput: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.parseDateInput),\n pictogramIds: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.pictogramIds),\n preloadImport: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.preloadImport),\n processConfig: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.processConfig),\n promptBeforeClosing: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.promptBeforeClosing),\n promptForClosingWorkspaces: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.promptForClosingWorkspaces),\n provide: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.provide),\n recordConfigDerivationError: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.recordConfigDerivationError),\n refetchCurrentUser: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.refetchCurrentUser),\n registerApp: () => (/* reexport safe */ _openmrs_esm_routes__rspack_import_11.registerApp),\n registerBreadcrumb: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.registerBreadcrumb),\n registerBreadcrumbs: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.registerBreadcrumbs),\n registerDefaultCalendar: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.registerDefaultCalendar),\n registerExtension: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerExtension),\n registerExtensionRendering: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerExtensionRendering),\n registerExtensionSlot: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerExtensionSlot),\n registerFeatureFlag: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.registerFeatureFlag),\n registerGlobalStore: () => (/* reexport safe */ _openmrs_esm_state__rspack_import_12.registerGlobalStore),\n registerModal: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerModal),\n registerModuleLoad: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.registerModuleLoad),\n registerModuleWithConfigSystem: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.registerModuleWithConfigSystem),\n registerTranslationNamespace: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.registerTranslationNamespace),\n registerWorkspace: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerWorkspace),\n registerWorkspaceGroup: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerWorkspaceGroup),\n registerWorkspaceGroups2: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerWorkspaceGroups2),\n registerWorkspaceWindows2: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerWorkspaceWindows2),\n registerWorkspaces2: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerWorkspaces2),\n removeImportMapOverride: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.removeImportMapOverride),\n removeRouteMapOverride: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.removeRouteMapOverride),\n renderActionableNotifications: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderActionableNotifications),\n renderExtension: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.renderExtension),\n renderInlineNotifications: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderInlineNotifications),\n renderLoadingSpinner: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderLoadingSpinner),\n renderParcel: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.renderParcel),\n renderSnackbars: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderSnackbars),\n renderToasts: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderToasts),\n renderWorkspaceWindowsAndMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderWorkspaceWindowsAndMenu),\n reportError: () => (/* reexport safe */ _openmrs_esm_error_handling__rspack_import_4.reportError),\n reset: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.reset),\n resetConfigSystem: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.resetConfigSystem),\n resetImportMapOverrides: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.resetImportMapOverrides),\n resetRouteMapOverrides: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.resetRouteMapOverrides),\n resetWorkspaceStore: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.resetWorkspaceStore),\n restBaseUrl: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.restBaseUrl),\n retry: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.retry),\n saveVisit: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.saveVisit),\n scheduleRecomputation: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.scheduleRecomputation),\n selectPreferredName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.selectPreferredName),\n sessionEndpoint: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.sessionEndpoint),\n sessionStore: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.sessionStore),\n setCurrentVisit: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.setCurrentVisit),\n setFeatureFlag: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.setFeatureFlag),\n setImplementerToolsConfigRecomputer: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.setImplementerToolsConfigRecomputer),\n setLeftNav: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.setLeftNav),\n setSessionLocation: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.setSessionLocation),\n setUserLanguage: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.setUserLanguage),\n setUserProperties: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.setUserProperties),\n setupApiModule: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.setupApiModule),\n setupDynamicOfflineDataHandler: () => (/* reexport safe */ _deprecated_js__rspack_import_16.setupDynamicOfflineDataHandler),\n setupHistory: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.setupHistory),\n setupImportMapOverrides: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.setupImportMapOverrides),\n setupModals: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.setupModals),\n setupOfflineSync: () => (/* reexport safe */ _deprecated_js__rspack_import_16.setupOfflineSync),\n setupRouteMapOverrides: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.setupRouteMapOverrides),\n shallowEqual: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.shallowEqual),\n showActionableNotification: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showActionableNotification),\n showModal: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showModal),\n showNotification: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showNotification),\n showSnackbar: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showSnackbar),\n showToast: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showToast),\n showWorkspacePrompts: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showWorkspacePrompts),\n slugify: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.slugify),\n subscribeActionableNotificationShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.subscribeActionableNotificationShown),\n subscribeNotificationShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.subscribeNotificationShown),\n subscribeOpenmrsEvent: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.subscribeOpenmrsEvent),\n subscribePrecacheStaticDependencies: () => (/* reexport safe */ _deprecated_js__rspack_import_16.subscribePrecacheStaticDependencies),\n subscribeSnackbarShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.subscribeSnackbarShown),\n subscribeTo: () => (/* reexport safe */ _openmrs_esm_state__rspack_import_12.subscribeTo),\n subscribeToFeatureFlag: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.subscribeToFeatureFlag),\n subscribeToastShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.subscribeToastShown),\n temporaryConfigStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.temporaryConfigStore),\n toDateObjectStrict: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.toDateObjectStrict),\n toLanguageTag: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.toLanguageTag),\n toLocationObject: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.toLocationObject),\n toOmrsIsoString: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.toOmrsIsoString),\n toVisitTypeObject: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.toVisitTypeObject),\n translateFrom: () => (/* reexport safe */ _openmrs_esm_translations__rspack_import_14.translateFrom),\n tryRegisterExtension: () => (/* reexport safe */ _openmrs_esm_routes__rspack_import_11.tryRegisterExtension),\n unregisterExtensionRendering: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.unregisterExtensionRendering),\n unsetLeftNav: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.unsetLeftNav),\n updateInternalExtensionStore: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.updateInternalExtensionStore),\n updateVisit: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.updateVisit),\n updateWorkspaceWindowState: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.updateWorkspaceWindowState),\n useAbortController: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useAbortController),\n useAppContext: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useAppContext),\n useAssignedExtensionIds: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useAssignedExtensionIds),\n useAssignedExtensions: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useAssignedExtensions),\n useAttachments: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useAttachments),\n useBodyScrollLock: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useBodyScrollLock),\n useCandidateExtensions: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useCandidateExtensions),\n useConfig: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useConfig),\n useConnectedExtensions: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useConnectedExtensions),\n useConnectivity: () => (/* reexport safe */ _deprecated_js__rspack_import_16.useConnectivity),\n useCustomOverflowMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.useCustomOverflowMenu),\n useDebounce: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useDebounce),\n useDefineAppContext: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useDefineAppContext),\n useEmrConfiguration: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useEmrConfiguration),\n useExtensionContext: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionContext),\n useExtensionInternalStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionInternalStore),\n useExtensionSlot: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionSlot),\n useExtensionSlotMeta: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionSlotMeta),\n useExtensionSlotStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionSlotStore),\n useExtensionStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionStore),\n useFeatureFlag: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useFeatureFlag),\n useFhirFetchAll: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useFhirFetchAll),\n useFhirInfinite: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useFhirInfinite),\n useFhirPagination: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useFhirPagination),\n useForceUpdate: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useForceUpdate),\n useLayoutType: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useLayoutType),\n useLeftNav: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useLeftNav),\n useLeftNavStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useLeftNavStore),\n useLocations: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useLocations),\n useOnClickOutside: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOnClickOutside),\n useOnVisible: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOnVisible),\n useOpenmrsFetchAll: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOpenmrsFetchAll),\n useOpenmrsInfinite: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOpenmrsInfinite),\n useOpenmrsPagination: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOpenmrsPagination),\n useOpenmrsSWR: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOpenmrsSWR),\n usePagination: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.usePagination),\n usePaginationInfo: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.usePaginationInfo),\n usePatient: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.usePatient),\n usePatientPhoto: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.usePatientPhoto),\n usePrimaryIdentifierCode: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.usePrimaryIdentifierCode),\n useRenderableExtensions: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useRenderableExtensions),\n useSession: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useSession),\n useShallowStableValue: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useShallowStableValue),\n useStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useStore),\n useStoreWithActions: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useStoreWithActions),\n useVisit: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useVisit),\n useVisitContextStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useVisitContextStore),\n useVisitTypes: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useVisitTypes),\n useWorkspace2Context: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.useWorkspace2Context),\n useWorkspace2Store: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.useWorkspace2Store),\n useWorkspaces: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.useWorkspaces),\n userHasAccess: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.userHasAccess),\n validator: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.validator),\n validators: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.validators),\n visitTypesUrl: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.visitTypesUrl),\n workspace2Store: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.workspace2Store),\n workspace2StoreActions: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.workspace2StoreActions),\n workspaceStore: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.workspaceStore)\n});\n/* import */ var _openmrs_esm_api__rspack_import_0 = __webpack_require__(\"../../framework/esm-api/dist/index.js\");\n/* import */ var _openmrs_esm_config__rspack_import_1 = __webpack_require__(\"../../framework/esm-config/dist/index.js\");\n/* import */ var _openmrs_esm_dynamic_loading__rspack_import_2 = __webpack_require__(\"../../framework/esm-dynamic-loading/dist/index.js\");\n/* import */ var _openmrs_esm_emr_api__rspack_import_3 = __webpack_require__(\"../../framework/esm-emr-api/dist/index.js\");\n/* import */ var _openmrs_esm_error_handling__rspack_import_4 = __webpack_require__(\"../../framework/esm-error-handling/dist/index.js\");\n/* import */ var _openmrs_esm_expression_evaluator__rspack_import_5 = __webpack_require__(\"../../framework/esm-expression-evaluator/dist/index.js\");\n/* import */ var _openmrs_esm_extensions__rspack_import_6 = __webpack_require__(\"../../framework/esm-extensions/dist/index.js\");\n/* import */ var _openmrs_esm_feature_flags__rspack_import_7 = __webpack_require__(\"../../framework/esm-feature-flags/dist/index.js\");\n/* import */ var _openmrs_esm_globals__rspack_import_8 = __webpack_require__(\"../../framework/esm-globals/dist/index.js\");\n/* import */ var _openmrs_esm_navigation__rspack_import_9 = __webpack_require__(\"../../framework/esm-navigation/dist/index.js\");\n/* import */ var _openmrs_esm_react_utils__rspack_import_10 = __webpack_require__(\"../../framework/esm-react-utils/dist/index.js\");\n/* import */ var _openmrs_esm_routes__rspack_import_11 = __webpack_require__(\"../../framework/esm-routes/dist/index.js\");\n/* import */ var _openmrs_esm_state__rspack_import_12 = __webpack_require__(\"../../framework/esm-state/dist/index.js\");\n/* import */ var _openmrs_esm_styleguide_src_internal__rspack_import_13 = __webpack_require__(\"../../framework/esm-styleguide/dist/internal.js\");\n/* import */ var _openmrs_esm_translations__rspack_import_14 = __webpack_require__(\"../../framework/esm-translations/dist/index.js\");\n/* import */ var _openmrs_esm_utils__rspack_import_15 = __webpack_require__(\"../../framework/esm-utils/dist/index.js\");\n/* import */ var _deprecated_js__rspack_import_16 = __webpack_require__(\"../../framework/esm-framework/dist/deprecated.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyPz9ydWxlU2V0WzFdLnJ1bGVzWzVdLnVzZVswXSEvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvcGFja2FnZXMvZnJhbWV3b3JrL2VzbS1mcmFtZXdvcmsvZGlzdC9pbnRlcm5hbC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1mcmFtZXdvcmsvZGlzdC9pbnRlcm5hbC5qcz85YTgyIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCJAb3Blbm1ycy9lc20tYXBpXCI7XG5leHBvcnQgKiBmcm9tIFwiQG9wZW5tcnMvZXNtLWNvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1keW5hbWljLWxvYWRpbmdcIjtcbmV4cG9ydCAqIGZyb20gXCJAb3Blbm1ycy9lc20tZW1yLWFwaVwiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1lcnJvci1oYW5kbGluZ1wiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1leHByZXNzaW9uLWV2YWx1YXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1leHRlbnNpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiQG9wZW5tcnMvZXNtLWZlYXR1cmUtZmxhZ3NcIjtcbmV4cG9ydCAqIGZyb20gXCJAb3Blbm1ycy9lc20tZ2xvYmFsc1wiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1uYXZpZ2F0aW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiQG9wZW5tcnMvZXNtLXJlYWN0LXV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiQG9wZW5tcnMvZXNtLXJvdXRlc1wiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1zdGF0ZVwiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1zdHlsZWd1aWRlL3NyYy9pbnRlcm5hbFwiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS10cmFuc2xhdGlvbnNcIjtcbmV4cG9ydCAqIGZyb20gXCJAb3Blbm1ycy9lc20tdXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlcHJlY2F0ZWQuanNcIjtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBaUM7QUFDRztBQUNTO0FBQ1I7QUFDTztBQUNNO0FBQ1Y7QUFDRztBQUNOO0FBQ0c7QUFDQztBQUNMO0FBQ0Q7QUFDa0I7QUFDWDtBQUNQO0FBQ0gifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-framework/dist/internal.js\n\n}");
4749
+ eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n ActionMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ActionMenu),\n ActionMenuButton: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ActionMenuButton),\n ActionMenuButton2: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ActionMenuButton2),\n ActionableNotificationComponent: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ActionableNotificationComponent),\n ActivityIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ActivityIcon),\n AddIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.AddIcon),\n AllergiesIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.AllergiesIcon),\n AppointmentsAltPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.AppointmentsAltPictogram),\n AppointmentsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.AppointmentsPictogram),\n ArrowDownIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ArrowDownIcon),\n ArrowLeftIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ArrowLeftIcon),\n ArrowRightIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ArrowRightIcon),\n ArrowUpIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ArrowUpIcon),\n Assessment1Pictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Assessment1Pictogram),\n Assessment2Pictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Assessment2Pictogram),\n AttachmentIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.AttachmentIcon),\n BabyIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.BabyIcon),\n BloodBankPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.BloodBankPictogram),\n Breakpoint: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Breakpoint),\n CalendarHeatMapIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CalendarHeatMapIcon),\n CalendarIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CalendarIcon),\n CardHeader: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CardHeader),\n CardiologyPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CardiologyPictogram),\n CaretDownIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CaretDownIcon),\n CaretLeftIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CaretLeftIcon),\n CaretRightIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CaretRightIcon),\n CaretUpIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CaretUpIcon),\n ChartAverageIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChartAverageIcon),\n ChartLineIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChartLineIcon),\n CheckmarkFilledIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CheckmarkFilledIcon),\n CheckmarkOutlineIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CheckmarkOutlineIcon),\n ChemistryIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChemistryIcon),\n ChevronDownIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChevronDownIcon),\n ChevronLeftIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChevronLeftIcon),\n ChevronRightIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChevronRightIcon),\n ChevronUpIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChevronUpIcon),\n CloseFilledIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CloseFilledIcon),\n CloseIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CloseIcon),\n CloseOutlineIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CloseOutlineIcon),\n ComponentContext: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.ComponentContext),\n ConditionsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ConditionsIcon),\n ConfigurableLink: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.ConfigurableLink),\n CtScanPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CtScanPictogram),\n CustomOverflowMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CustomOverflowMenu),\n CustomOverflowMenuItem: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CustomOverflowMenuItem),\n DashboardExtension: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DashboardExtension),\n DentistryPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DentistryPictogram),\n DiagnosisTags: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DiagnosisTags),\n DigitalTrustPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DigitalTrustPictogram),\n DocumentAttachmentIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DocumentAttachmentIcon),\n DocumentIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DocumentIcon),\n DownloadIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DownloadIcon),\n DrugOrderIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DrugOrderIcon),\n EditIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EditIcon),\n EmergencyDepartmentPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EmergencyDepartmentPictogram),\n EmptyCard: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EmptyCard),\n EmptyCardIllustration: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EmptyCardIllustration),\n ErrorCard: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ErrorCard),\n ErrorState: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ErrorState),\n EventScheduleIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EventScheduleIcon),\n EventsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EventsIcon),\n Extension: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.Extension),\n ExtensionSlot: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.ExtensionSlot),\n FacilityPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.FacilityPictogram),\n GenderFemaleIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GenderFemaleIcon),\n GenderMaleIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GenderMaleIcon),\n GenderOtherIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GenderOtherIcon),\n GenderUnknownIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GenderUnknownIcon),\n GenericOrderTypeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GenericOrderTypeIcon),\n GeriatricsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GeriatricsPictogram),\n GroupAccessIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GroupAccessIcon),\n GroupIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GroupIcon),\n GynaecologyPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GynaecologyPictogram),\n HomePictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.HomePictogram),\n HospitalBedIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.HospitalBedIcon),\n Icon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Icon),\n ImageMedicalIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ImageMedicalIcon),\n InPatientPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.InPatientPictogram),\n InformationFilledIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.InformationFilledIcon),\n InformationIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.InformationIcon),\n InformationSquareIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.InformationSquareIcon),\n InventoryManagementIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.InventoryManagementIcon),\n LabOrderIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.LabOrderIcon),\n LaboratoryPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.LaboratoryPictogram),\n Labs2Pictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Labs2Pictogram),\n LeftNavMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.LeftNavMenu),\n ListCheckedIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ListCheckedIcon),\n LocationIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.LocationIcon),\n LocationPicker: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.LocationPicker),\n MaterialOrderIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MaterialOrderIcon),\n MaximizeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MaximizeIcon),\n MaybeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MaybeIcon),\n MaybePictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MaybePictogram),\n MedicationIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MedicationIcon),\n MessageQueueIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MessageQueueIcon),\n MetadataExportPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MetadataExportPictogram),\n MicroscopeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MicroscopeIcon),\n MobileCheckIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MobileCheckIcon),\n MoneyIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MoneyIcon),\n MotherIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MotherIcon),\n MovementIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MovementIcon),\n Notification: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Notification),\n NumericObservation: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.NumericObservation),\n ObstetricsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ObstetricsPictogram),\n OpenmrsAppContext: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.OpenmrsAppContext),\n OpenmrsDatePicker: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.OpenmrsDatePicker),\n OpenmrsDateRangePicker: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.OpenmrsDateRangePicker),\n OpenmrsFetchError: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.OpenmrsFetchError),\n OverflowMenuHorizontalIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.OverflowMenuHorizontalIcon),\n OverflowMenuVerticalIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.OverflowMenuVerticalIcon),\n PageHeader: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PageHeader),\n PageHeaderContent: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PageHeaderContent),\n Pagination: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Pagination),\n PasswordIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PasswordIcon),\n PatientBannerActionsMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientBannerActionsMenu),\n PatientBannerContactDetails: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientBannerContactDetails),\n PatientBannerPatientIdentifiers: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientBannerPatientIdentifiers),\n PatientBannerPatientInfo: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientBannerPatientInfo),\n PatientBannerToggleContactDetailsButton: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientBannerToggleContactDetailsButton),\n PatientListsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientListsPictogram),\n PatientPhoto: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientPhoto),\n PatientSearchPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientSearchPictogram),\n PatientsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientsPictogram),\n PaymentsDeskPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PaymentsDeskPictogram),\n PedestrianFamilyIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PedestrianFamilyIcon),\n PenIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PenIcon),\n Pharmacy2Pictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Pharmacy2Pictogram),\n PharmacyPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PharmacyPictogram),\n Pictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Pictogram),\n PrinterIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PrinterIcon),\n ProcedureOrderIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ProcedureOrderIcon),\n ProgramsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ProgramsIcon),\n RadiologyIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.RadiologyIcon),\n ReferralOrderIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ReferralOrderIcon),\n RegistrationPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.RegistrationPictogram),\n RenderIfValueIsTruthy: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.RenderIfValueIsTruthy),\n RenewIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.RenewIcon),\n ReportIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ReportIcon),\n ResetIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ResetIcon),\n ResponsiveWrapper: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ResponsiveWrapper),\n SaveIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SaveIcon),\n SearchIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SearchIcon),\n ServiceQueuesPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ServiceQueuesPictogram),\n SettingsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SettingsIcon),\n ShoppingCartAddItemIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ShoppingCartAddItemIcon),\n ShoppingCartArrowDownIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ShoppingCartArrowDownIcon),\n ShoppingCartIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ShoppingCartIcon),\n Snackbar: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Snackbar),\n StickyNoteAddIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.StickyNoteAddIcon),\n StockManagementPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.StockManagementPictogram),\n SwitcherIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SwitcherIcon),\n SyringeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SyringeIcon),\n TableBatchActions: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TableBatchActions),\n TableIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TableIcon),\n TableOfContentsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TableOfContentsIcon),\n TimeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TimeIcon),\n Toast: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Toast),\n ToolsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ToolsIcon),\n TransferPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TransferPictogram),\n TranslateIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TranslateIcon),\n TrashCanIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TrashCanIcon),\n TreeViewAltIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TreeViewAltIcon),\n TriagePictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TriagePictogram),\n TwoFactorAuthenticationIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TwoFactorAuthenticationIcon),\n Type: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.Type),\n UserAvatarIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.UserAvatarIcon),\n UserFollowIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.UserFollowIcon),\n UserHasAccess: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.UserHasAccess),\n UserIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.UserIcon),\n UserXrayIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.UserXrayIcon),\n ViewIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ViewIcon),\n ViewOffIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ViewOffIcon),\n VisitMode: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.VisitMode),\n VisitStatus: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.VisitStatus),\n WarningIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.WarningIcon),\n Workspace2: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Workspace2),\n WorkspaceContainer: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.WorkspaceContainer),\n WorkspaceNotification: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.WorkspaceNotification),\n XrayPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.XrayPictogram),\n addImportMapOverride: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.addImportMapOverride),\n addRouteMapOverride: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.addRouteMapOverride),\n age: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.age),\n ageAsDuration: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.ageAsDuration),\n attach: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.attach),\n attachmentUrl: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.attachmentUrl),\n backendDependencies: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.backendDependencies),\n batchExtensionUpdates: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.batchExtensionUpdates),\n canAccessStorage: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.canAccessStorage),\n canCloseWorkspaceWithoutPrompting: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.canCloseWorkspaceWithoutPrompting),\n cancelPrompt: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.cancelPrompt),\n changeWorkspaceContext: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.changeWorkspaceContext),\n cleanupObsoleteFeatureFlags: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.cleanupObsoleteFeatureFlags),\n clearConfigDerivationError: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.clearConfigDerivationError),\n clearConfigErrors: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.clearConfigErrors),\n clearCurrentUser: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.clearCurrentUser),\n clearHistory: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.clearHistory),\n closeAllWorkspaces: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.closeAllWorkspaces),\n closeWorkspace: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.closeWorkspace),\n closeWorkspaceGroup2: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.closeWorkspaceGroup2),\n compile: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.compile),\n configExtensionStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.configExtensionStore),\n configInternalStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.configInternalStore),\n convertToLocaleCalendar: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.convertToLocaleCalendar),\n createAttachment: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.createAttachment),\n createDashboard: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.createDashboard),\n createErrorHandler: () => (/* reexport safe */ _openmrs_esm_error_handling__rspack_import_4.createErrorHandler),\n createGlobalStore: () => (/* reexport safe */ _openmrs_esm_state__rspack_import_12.createGlobalStore),\n createParcelMounter: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.createParcelMounter),\n createUseStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.createUseStore),\n defaultVisitCustomRepresentation: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.defaultVisitCustomRepresentation),\n defineConfigSchema: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.defineConfigSchema),\n defineExtensionConfigSchema: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.defineExtensionConfigSchema),\n deleteAttachmentPermanently: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.deleteAttachmentPermanently),\n detach: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.detach),\n detachAll: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.detachAll),\n dispatchActionableNotificationShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.dispatchActionableNotificationShown),\n dispatchNotificationShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.dispatchNotificationShown),\n dispatchSnackbarShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.dispatchSnackbarShown),\n dispatchToastShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.dispatchToastShown),\n displayName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.displayName),\n duration: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.duration),\n enableImportMapOverride: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.enableImportMapOverride),\n esmStyleGuideSchema: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.esmStyleGuideSchema),\n evaluate: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluate),\n evaluateAsBoolean: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsBoolean),\n evaluateAsBooleanAsync: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsBooleanAsync),\n evaluateAsNumber: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsNumber),\n evaluateAsNumberAsync: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsNumberAsync),\n evaluateAsType: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsType),\n evaluateAsTypeAsync: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsTypeAsync),\n evaluateAsync: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsync),\n extractVariableNames: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.extractVariableNames),\n featureFlagsStore: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.featureFlagsStore),\n fetchCurrentPatient: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.fetchCurrentPatient),\n fhirBaseUrl: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.fhirBaseUrl),\n filterBreadcrumbs: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.filterBreadcrumbs),\n finishRegisteringAllApps: () => (/* reexport safe */ _openmrs_esm_routes__rspack_import_11.finishRegisteringAllApps),\n fireOpenmrsEvent: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.fireOpenmrsEvent),\n formatDate: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatDate),\n formatDatetime: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatDatetime),\n formatDuration: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatDuration),\n formatDurationBetween: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatDurationBetween),\n formatPartialDate: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatPartialDate),\n formatPatientName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatPatientName),\n formatTime: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatTime),\n formattedName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formattedName),\n getAssignedExtensions: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getAssignedExtensions),\n getAsyncExtensionLifecycle: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.getAsyncExtensionLifecycle),\n getAsyncLifecycle: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.getAsyncLifecycle),\n getAttachmentByUuid: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getAttachmentByUuid),\n getAttachments: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getAttachments),\n getAttachmentsUrl: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getAttachmentsUrl),\n getBreadcrumbs: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.getBreadcrumbs),\n getBreadcrumbsFor: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.getBreadcrumbsFor),\n getCandidateExtensions: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getCandidateExtensions),\n getConfig: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getConfig),\n getConfigStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getConfigStore),\n getCoreTranslation: () => (/* reexport safe */ _openmrs_esm_translations__rspack_import_14.getCoreTranslation),\n getCurrentImportMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getCurrentImportMap),\n getCurrentPageMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getCurrentPageMap),\n getCurrentRouteMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getCurrentRouteMap),\n getCurrentUser: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.getCurrentUser),\n getDefaultCalendar: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.getDefaultCalendar),\n getDefaultsFromConfigSchema: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.getDefaultsFromConfigSchema),\n getDynamicOfflineDataEntries: () => (/* reexport safe */ _deprecated_js__rspack_import_16.getDynamicOfflineDataEntries),\n getExtensionConfig: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionConfig),\n getExtensionConfigFromExtensionSlotStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionConfigFromExtensionSlotStore),\n getExtensionConfigFromStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionConfigFromStore),\n getExtensionInternalStore: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionInternalStore),\n getExtensionNameFromId: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionNameFromId),\n getExtensionRegistration: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionRegistration),\n getExtensionRegistrationFrom: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionRegistrationFrom),\n getExtensionRenderingsStore: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionRenderingsStore),\n getExtensionSlotConfig: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionSlotConfig),\n getExtensionSlotConfigFromStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionSlotConfigFromStore),\n getExtensionSlotsConfigStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionSlotsConfigStore),\n getExtensionStore: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionStore),\n getExtensionsConfigStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionsConfigStore),\n getFeatureFlag: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.getFeatureFlag),\n getFhirServerPaginationHandlers: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.getFhirServerPaginationHandlers),\n getGlobalStore: () => (/* reexport safe */ _openmrs_esm_state__rspack_import_12.getGlobalStore),\n getGroupByWindowName: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getGroupByWindowName),\n getHistory: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.getHistory),\n getImportMapDefaultMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getImportMapDefaultMap),\n getImportMapDisabledOverrides: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getImportMapDisabledOverrides),\n getImportMapNextPageMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getImportMapNextPageMap),\n getImportMapOverrideMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getImportMapOverrideMap),\n getLifecycle: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.getLifecycle),\n getLocale: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.getLocale),\n getLocaleDisplayName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.getLocaleDisplayName),\n getLocations: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getLocations),\n getLoggedInUser: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.getLoggedInUser),\n getModalRegistration: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getModalRegistration),\n getOpenedWindowIndexByWorkspace: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getOpenedWindowIndexByWorkspace),\n getPatientName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.getPatientName),\n getPromptBeforeClosingFcn: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.getPromptBeforeClosingFcn),\n getRegisteredWorkspace2Names: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.getRegisteredWorkspace2Names),\n getRouteMapDefaultMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getRouteMapDefaultMap),\n getRouteMapNextPageMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getRouteMapNextPageMap),\n getRouteMapOverrideMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getRouteMapOverrideMap),\n getSessionLocation: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.getSessionLocation),\n getSessionStore: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.getSessionStore),\n getSyncLifecycle: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.getSyncLifecycle),\n getSynchronizationItems: () => (/* reexport safe */ _deprecated_js__rspack_import_16.getSynchronizationItems),\n getTranslationOverrides: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getTranslationOverrides),\n getVisitStore: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getVisitStore),\n getVisitTypes: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getVisitTypes),\n getVisitsForPatient: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getVisitsForPatient),\n getWindowByWorkspaceName: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getWindowByWorkspaceName),\n getWorkspaceGroupRegistration: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getWorkspaceGroupRegistration),\n getWorkspaceGroupStore: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.getWorkspaceGroupStore),\n getWorkspaceRegistration: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getWorkspaceRegistration),\n getWorkspaceStore: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.getWorkspaceStore),\n goBackInHistory: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.goBackInHistory),\n iconIds: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.iconIds),\n implementerToolsConfigStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.implementerToolsConfigStore),\n importDynamic: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.importDynamic),\n inRange: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.inRange),\n integrateBreakpoints: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.integrateBreakpoints),\n interpolateString: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.interpolateString),\n interpolateUrl: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.interpolateUrl),\n invalidateImplementerToolsConfig: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.invalidateImplementerToolsConfig),\n isDesktop: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.isDesktop),\n isDevEnabled: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.isDevEnabled),\n isImportMapOverrideDisabled: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.isImportMapOverrideDisabled),\n isOmrsDateStrict: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.isOmrsDateStrict),\n isOmrsDateToday: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.isOmrsDateToday),\n isOpenmrsAppRoutes: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.isOpenmrsAppRoutes),\n isOpenmrsRoutes: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.isOpenmrsRoutes),\n isUrl: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.isUrl),\n isUrlWithTemplateParameters: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.isUrlWithTemplateParameters),\n isVersionSatisfied: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.isVersionSatisfied),\n jsep: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.jsep),\n launchWorkspace: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.launchWorkspace),\n launchWorkspace2: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.launchWorkspace2),\n launchWorkspaceGroup: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.launchWorkspaceGroup),\n launchWorkspaceGroup2: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.launchWorkspaceGroup2),\n leftNavStore: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.leftNavStore),\n loadLifeCycles: () => (/* reexport safe */ _openmrs_esm_routes__rspack_import_11.loadLifeCycles),\n logout: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.logout),\n makeUrl: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.makeUrl),\n matchLocale: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.matchLocale),\n messageOmrsServiceWorker: () => (/* reexport safe */ _deprecated_js__rspack_import_16.messageOmrsServiceWorker),\n navigate: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.navigate),\n navigateAndLaunchWorkspace: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.navigateAndLaunchWorkspace),\n oneOf: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.oneOf),\n openmrsComponentDecorator: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.openmrsComponentDecorator),\n openmrsFetch: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.openmrsFetch),\n parseDate: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.parseDate),\n parseDateInput: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.parseDateInput),\n pictogramIds: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.pictogramIds),\n preloadImport: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.preloadImport),\n processConfig: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.processConfig),\n promptBeforeClosing: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.promptBeforeClosing),\n promptForClosingWorkspaces: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.promptForClosingWorkspaces),\n provide: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.provide),\n recordConfigDerivationError: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.recordConfigDerivationError),\n refetchCurrentUser: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.refetchCurrentUser),\n registerApp: () => (/* reexport safe */ _openmrs_esm_routes__rspack_import_11.registerApp),\n registerBreadcrumb: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.registerBreadcrumb),\n registerBreadcrumbs: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.registerBreadcrumbs),\n registerDefaultCalendar: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.registerDefaultCalendar),\n registerExtension: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerExtension),\n registerExtensionRendering: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerExtensionRendering),\n registerExtensionSlot: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerExtensionSlot),\n registerFeatureFlag: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.registerFeatureFlag),\n registerGlobalStore: () => (/* reexport safe */ _openmrs_esm_state__rspack_import_12.registerGlobalStore),\n registerModal: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerModal),\n registerModuleLoad: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.registerModuleLoad),\n registerModuleWithConfigSystem: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.registerModuleWithConfigSystem),\n registerTranslationNamespace: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.registerTranslationNamespace),\n registerWorkspace: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerWorkspace),\n registerWorkspaceGroup: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerWorkspaceGroup),\n registerWorkspaceGroups2: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerWorkspaceGroups2),\n registerWorkspaceWindows2: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerWorkspaceWindows2),\n registerWorkspaces2: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerWorkspaces2),\n removeImportMapOverride: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.removeImportMapOverride),\n removeRouteMapOverride: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.removeRouteMapOverride),\n renderActionableNotifications: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderActionableNotifications),\n renderExtension: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.renderExtension),\n renderInlineNotifications: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderInlineNotifications),\n renderLoadingSpinner: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderLoadingSpinner),\n renderParcel: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.renderParcel),\n renderSnackbars: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderSnackbars),\n renderToasts: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderToasts),\n renderWorkspaceWindowsAndMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderWorkspaceWindowsAndMenu),\n reportError: () => (/* reexport safe */ _openmrs_esm_error_handling__rspack_import_4.reportError),\n reset: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.reset),\n resetConfigSystem: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.resetConfigSystem),\n resetImportMapOverrides: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.resetImportMapOverrides),\n resetRouteMapOverrides: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.resetRouteMapOverrides),\n resetWorkspaceStore: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.resetWorkspaceStore),\n restBaseUrl: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.restBaseUrl),\n retry: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.retry),\n saveVisit: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.saveVisit),\n scheduleRecomputation: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.scheduleRecomputation),\n selectPreferredName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.selectPreferredName),\n sessionEndpoint: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.sessionEndpoint),\n sessionStore: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.sessionStore),\n setCurrentVisit: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.setCurrentVisit),\n setFeatureFlag: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.setFeatureFlag),\n setImplementerToolsConfigRecomputer: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.setImplementerToolsConfigRecomputer),\n setLeftNav: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.setLeftNav),\n setSessionLocale: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.setSessionLocale),\n setSessionLocation: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.setSessionLocation),\n setUserLanguage: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.setUserLanguage),\n setUserProperties: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.setUserProperties),\n setupApiModule: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.setupApiModule),\n setupDynamicOfflineDataHandler: () => (/* reexport safe */ _deprecated_js__rspack_import_16.setupDynamicOfflineDataHandler),\n setupHistory: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.setupHistory),\n setupImportMapOverrides: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.setupImportMapOverrides),\n setupModals: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.setupModals),\n setupOfflineSync: () => (/* reexport safe */ _deprecated_js__rspack_import_16.setupOfflineSync),\n setupRouteMapOverrides: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.setupRouteMapOverrides),\n shallowEqual: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.shallowEqual),\n showActionableNotification: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showActionableNotification),\n showModal: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showModal),\n showNotification: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showNotification),\n showSnackbar: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showSnackbar),\n showToast: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showToast),\n showWorkspacePrompts: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showWorkspacePrompts),\n slugify: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.slugify),\n subscribeActionableNotificationShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.subscribeActionableNotificationShown),\n subscribeNotificationShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.subscribeNotificationShown),\n subscribeOpenmrsEvent: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.subscribeOpenmrsEvent),\n subscribePrecacheStaticDependencies: () => (/* reexport safe */ _deprecated_js__rspack_import_16.subscribePrecacheStaticDependencies),\n subscribeSnackbarShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.subscribeSnackbarShown),\n subscribeTo: () => (/* reexport safe */ _openmrs_esm_state__rspack_import_12.subscribeTo),\n subscribeToFeatureFlag: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.subscribeToFeatureFlag),\n subscribeToastShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.subscribeToastShown),\n temporaryConfigStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.temporaryConfigStore),\n toDateObjectStrict: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.toDateObjectStrict),\n toLanguageTag: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.toLanguageTag),\n toLocationObject: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.toLocationObject),\n toOmrsIsoString: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.toOmrsIsoString),\n toVisitTypeObject: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.toVisitTypeObject),\n translateFrom: () => (/* reexport safe */ _openmrs_esm_translations__rspack_import_14.translateFrom),\n tryRegisterExtension: () => (/* reexport safe */ _openmrs_esm_routes__rspack_import_11.tryRegisterExtension),\n unregisterExtensionRendering: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.unregisterExtensionRendering),\n unsetLeftNav: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.unsetLeftNav),\n updateInternalExtensionStore: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.updateInternalExtensionStore),\n updateVisit: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.updateVisit),\n updateWorkspaceWindowState: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.updateWorkspaceWindowState),\n useAbortController: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useAbortController),\n useAppContext: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useAppContext),\n useAssignedExtensionIds: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useAssignedExtensionIds),\n useAssignedExtensions: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useAssignedExtensions),\n useAttachments: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useAttachments),\n useBodyScrollLock: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useBodyScrollLock),\n useCandidateExtensions: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useCandidateExtensions),\n useConfig: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useConfig),\n useConnectedExtensions: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useConnectedExtensions),\n useConnectivity: () => (/* reexport safe */ _deprecated_js__rspack_import_16.useConnectivity),\n useCustomOverflowMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.useCustomOverflowMenu),\n useDebounce: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useDebounce),\n useDefineAppContext: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useDefineAppContext),\n useEmrConfiguration: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useEmrConfiguration),\n useExtensionContext: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionContext),\n useExtensionInternalStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionInternalStore),\n useExtensionSlot: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionSlot),\n useExtensionSlotMeta: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionSlotMeta),\n useExtensionSlotStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionSlotStore),\n useExtensionStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionStore),\n useFeatureFlag: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useFeatureFlag),\n useFhirFetchAll: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useFhirFetchAll),\n useFhirInfinite: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useFhirInfinite),\n useFhirPagination: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useFhirPagination),\n useForceUpdate: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useForceUpdate),\n useLayoutType: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useLayoutType),\n useLeftNav: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useLeftNav),\n useLeftNavStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useLeftNavStore),\n useLocations: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useLocations),\n useOnClickOutside: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOnClickOutside),\n useOnVisible: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOnVisible),\n useOpenmrsFetchAll: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOpenmrsFetchAll),\n useOpenmrsInfinite: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOpenmrsInfinite),\n useOpenmrsPagination: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOpenmrsPagination),\n useOpenmrsSWR: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOpenmrsSWR),\n usePagination: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.usePagination),\n usePaginationInfo: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.usePaginationInfo),\n usePatient: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.usePatient),\n usePatientPhoto: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.usePatientPhoto),\n usePrimaryIdentifierCode: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.usePrimaryIdentifierCode),\n useRenderableExtensions: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useRenderableExtensions),\n useSession: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useSession),\n useShallowStableValue: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useShallowStableValue),\n useStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useStore),\n useStoreWithActions: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useStoreWithActions),\n useVisit: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useVisit),\n useVisitContextStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useVisitContextStore),\n useVisitTypes: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useVisitTypes),\n useWorkspace2Context: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.useWorkspace2Context),\n useWorkspace2Store: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.useWorkspace2Store),\n useWorkspaces: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.useWorkspaces),\n userHasAccess: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.userHasAccess),\n validator: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.validator),\n validators: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.validators),\n verifyTotpCode: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.verifyTotpCode),\n visitTypesUrl: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.visitTypesUrl),\n workspace2Store: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.workspace2Store),\n workspace2StoreActions: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.workspace2StoreActions),\n workspaceStore: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.workspaceStore)\n});\n/* import */ var _openmrs_esm_api__rspack_import_0 = __webpack_require__(\"../../framework/esm-api/dist/index.js\");\n/* import */ var _openmrs_esm_config__rspack_import_1 = __webpack_require__(\"../../framework/esm-config/dist/index.js\");\n/* import */ var _openmrs_esm_dynamic_loading__rspack_import_2 = __webpack_require__(\"../../framework/esm-dynamic-loading/dist/index.js\");\n/* import */ var _openmrs_esm_emr_api__rspack_import_3 = __webpack_require__(\"../../framework/esm-emr-api/dist/index.js\");\n/* import */ var _openmrs_esm_error_handling__rspack_import_4 = __webpack_require__(\"../../framework/esm-error-handling/dist/index.js\");\n/* import */ var _openmrs_esm_expression_evaluator__rspack_import_5 = __webpack_require__(\"../../framework/esm-expression-evaluator/dist/index.js\");\n/* import */ var _openmrs_esm_extensions__rspack_import_6 = __webpack_require__(\"../../framework/esm-extensions/dist/index.js\");\n/* import */ var _openmrs_esm_feature_flags__rspack_import_7 = __webpack_require__(\"../../framework/esm-feature-flags/dist/index.js\");\n/* import */ var _openmrs_esm_globals__rspack_import_8 = __webpack_require__(\"../../framework/esm-globals/dist/index.js\");\n/* import */ var _openmrs_esm_navigation__rspack_import_9 = __webpack_require__(\"../../framework/esm-navigation/dist/index.js\");\n/* import */ var _openmrs_esm_react_utils__rspack_import_10 = __webpack_require__(\"../../framework/esm-react-utils/dist/index.js\");\n/* import */ var _openmrs_esm_routes__rspack_import_11 = __webpack_require__(\"../../framework/esm-routes/dist/index.js\");\n/* import */ var _openmrs_esm_state__rspack_import_12 = __webpack_require__(\"../../framework/esm-state/dist/index.js\");\n/* import */ var _openmrs_esm_styleguide_src_internal__rspack_import_13 = __webpack_require__(\"../../framework/esm-styleguide/dist/internal.js\");\n/* import */ var _openmrs_esm_translations__rspack_import_14 = __webpack_require__(\"../../framework/esm-translations/dist/index.js\");\n/* import */ var _openmrs_esm_utils__rspack_import_15 = __webpack_require__(\"../../framework/esm-utils/dist/index.js\");\n/* import */ var _deprecated_js__rspack_import_16 = __webpack_require__(\"../../framework/esm-framework/dist/deprecated.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyPz9ydWxlU2V0WzFdLnJ1bGVzWzVdLnVzZVswXSEvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvcGFja2FnZXMvZnJhbWV3b3JrL2VzbS1mcmFtZXdvcmsvZGlzdC9pbnRlcm5hbC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1mcmFtZXdvcmsvZGlzdC9pbnRlcm5hbC5qcz85YTgyIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCJAb3Blbm1ycy9lc20tYXBpXCI7XG5leHBvcnQgKiBmcm9tIFwiQG9wZW5tcnMvZXNtLWNvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1keW5hbWljLWxvYWRpbmdcIjtcbmV4cG9ydCAqIGZyb20gXCJAb3Blbm1ycy9lc20tZW1yLWFwaVwiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1lcnJvci1oYW5kbGluZ1wiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1leHByZXNzaW9uLWV2YWx1YXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1leHRlbnNpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiQG9wZW5tcnMvZXNtLWZlYXR1cmUtZmxhZ3NcIjtcbmV4cG9ydCAqIGZyb20gXCJAb3Blbm1ycy9lc20tZ2xvYmFsc1wiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1uYXZpZ2F0aW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiQG9wZW5tcnMvZXNtLXJlYWN0LXV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiQG9wZW5tcnMvZXNtLXJvdXRlc1wiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1zdGF0ZVwiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1zdHlsZWd1aWRlL3NyYy9pbnRlcm5hbFwiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS10cmFuc2xhdGlvbnNcIjtcbmV4cG9ydCAqIGZyb20gXCJAb3Blbm1ycy9lc20tdXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlcHJlY2F0ZWQuanNcIjtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBaUM7QUFDRztBQUNTO0FBQ1I7QUFDTztBQUNNO0FBQ1Y7QUFDRztBQUNOO0FBQ0c7QUFDQztBQUNMO0FBQ0Q7QUFDa0I7QUFDWDtBQUNQO0FBQ0gifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-framework/dist/internal.js\n\n}");
4750
4750
 
4751
4751
  },
4752
4752
  "../../framework/esm-globals/dist/events.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {