@openmrs/esm-home-app 11.1.1-pre.9708 → 11.1.1-pre.9714
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/dist/1442.js +1 -0
- package/dist/1442.js.map +1 -0
- package/dist/2152.js +1 -0
- package/dist/2152.js.map +1 -0
- package/dist/3989.js +1 -1
- package/dist/3989.js.map +1 -1
- package/dist/4560.js +1 -0
- package/dist/4560.js.map +1 -0
- package/dist/7209.js +1 -0
- package/dist/7209.js.map +1 -0
- package/dist/8183.js +1 -1
- package/dist/9061.js +1 -1
- package/dist/9061.js.map +1 -1
- package/dist/9590.js +1 -0
- package/dist/9590.js.map +1 -0
- package/dist/9771.js +1 -1
- package/dist/9771.js.map +1 -1
- package/dist/openmrs-esm-home-app.js +2 -2
- package/dist/openmrs-esm-home-app.js.buildmanifest.json +132 -64
- package/dist/openmrs-esm-home-app.js.map +1 -1
- package/dist/routes.json +1 -1
- package/package.json +1 -1
- package/dist/1744.js +0 -1
- package/dist/1744.js.map +0 -1
package/dist/8183.js
CHANGED
|
@@ -12,7 +12,7 @@ If you're the maintainer: the 'elements' key only works with '_type' equal to 'A
|
|
|
12
12
|
${t}`)}return n}let oN=(e,t)=>{let r=structuredClone(t);if(!e)return r;for(let t of Object.keys(e)){let n=r[t],o=e[t];if(o&&(o.hasOwnProperty("_type")||o.hasOwnProperty("_default"))){r.hasOwnProperty(t)||(r[t]=o._default);let e=o._elements;if(n&&oA(e)){if(o._type===nB.Array&&Array.isArray(n)){let o=n.map(t=>oN(e,t));r[t]=o}else if(o._type===nB.Object)for(let t of Object.keys(n))n[t]=oN(e,n[t])}}else if(oM(o)){let e=n??{};oM(e)&&(r[t]=oN(o,e))}}return r};function oA(e){return!!e&&Object.keys(e).filter(e=>!["_default","_validators"].includes(e)).length>0}function oM(e){return"object"==typeof e&&!Array.isArray(e)&&null!==e}let o$=new Set;function oI(e,t){let r=`${e}:::${t}`;o$||(o$=new Set),o$.has(r)||(console.error(t),o$.add(r))}function oL(e){e?o$.forEach(t=>{t.startsWith(e)&&o$.delete(t)}):o$.clear()}function oF(){os.forEach(e=>e()),os.length=0,od.clear(),ox.clear(),oS.clear(),oE.clear(),ou()}let oB={"Translation overrides":{_description:"Per-language overrides for frontend translations should be keyed by language code and each language dictionary contains the translation key and the display value",_type:nB.Object,_default:{},_validators:[nV(e=>Object.keys(e).every(e=>/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e)),e=>{let t=Object.keys(e).filter(e=>!/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e));return`The 'Translation overrides' object should have language codes for keys. Language codes must be in the form of a two-to-three letter language code optionally followed by a hyphen and a two-to-three letter country code. The following keys do not conform: ${t.join(", ")}.`})]}},oV={"Display conditions":{privileges:{_description:"The privilege(s) the user must have to use this extension",_type:nB.Array,_default:[]},expression:{_description:"The expression that determines whether the extension is displayed",_type:nB.String,_default:void 0}},...oB},oU=(e,t)=>nV(r=>e<=r&&r<=t,`must be between ${e} and ${t}`),oW=e=>{let t=e.concat(["openmrsBase","openmrsSpaBase"]);return nV(e=>{if(!e||"string"!=typeof e)return!1;let r=/\${(.*?)}/g,n=r.exec(e);for(;n;){if(!t.includes(n[1]))return!1;n=r.exec(e)}return!0},"Should be a URL or path. The allowed template parameters are "+t.map(e=>"${"+e+"}").join(", "))},oz=oW([]),oK=e=>nV(t=>e.includes(t),`Must be one of the following: '${e.join("', '")}'.`),oH={inRange:oU,isUrl:oz,isUrlWithTemplateParameters:oW,oneOf:oK};var oG=r(2034);let oq=Y("breadcrumbs",[]);function oY(e){return oZ([e])}function oZ(e){let t=[...oJ(),...e.map(e=>({matcher:e.matcher instanceof RegExp?e.matcher:"string"==typeof e.matcher?(0,oG.pathToRegexp)(e.matcher).regexp:(0,oG.pathToRegexp)(e.path).regexp,settings:e}))];oq.setState(t,!0)}function oJ(){return oq.getState()}function oX(e,t){if(t)return function(e,t){let[r]=e.filter(e=>e.matcher.test(t));return r}(e,t)||function(e,t){let r=t.split("/");for(;r.length>1;){r.pop();let t=oX(e,r.join("/"));if(t)return t}}(e,t)}function oQ(e,t){if(e.length>0){let r=oX(e,t);if(r){let t=[r],n=oX(e,r.settings.parent);for(;void 0!==n;)t.push(n),n=oX(e,n.settings.parent);return t.reverse()}}return[]}function o0(e){return oQ(oJ(),e)}var o1=Object.freeze({__proto__:null,get start(){return ag},get ensureJQuerySupport(){return i2},get setBootstrapMaxTime(){return iI},get setMountMaxTime(){return iL},get setUnmountMaxTime(){return iF},get setUnloadMaxTime(){return iB},get registerApplication(){return an},get unregisterApplication(){return ai},get getMountedApps(){return i8},get getAppStatus(){return at},get unloadApplication(){return aa},get checkActivityFunctions(){return ao},get getAppNames(){return ae},get pathToActiveWhen(){return au},get navigateToUrl(){return iG},get patchHistoryApi(){return iQ},get triggerAppChange(){return af},get addErrorHandler(){return o5},get removeErrorHandler(){return o9},get mountRootParcel(){return iR},get NOT_LOADED(){return ie},get LOADING_SOURCE_CODE(){return it},get NOT_BOOTSTRAPPED(){return ir},get BOOTSTRAPPING(){return io},get NOT_MOUNTED(){return ii},get MOUNTING(){return ia},get UPDATING(){return il},get LOAD_ERROR(){return id},get MOUNTED(){return is},get UNLOADING(){return ic},get UNMOUNTING(){return iu},get SKIP_BECAUSE_BROKEN(){return ip}}),o2=("u">typeof globalThis?globalThis:"u">typeof window?window:"u">typeof global?global:"u">typeof self?self:{}).CustomEvent,o4=!function(){try{var e=new o2("cat",{detail:{foo:"bar"}});return"cat"===e.type&&"bar"===e.detail.foo}catch(e){}return!1}()?"u">typeof document&&"function"==typeof document.createEvent?function(e,t){var r=document.createEvent("CustomEvent");return t?r.initCustomEvent(e,t.bubbles,t.cancelable,t.detail):r.initCustomEvent(e,!1,!1,void 0),r}:function(e,t){var r=document.createEventObject();return r.type=e,t?(r.bubbles=!!t.bubbles,r.cancelable=!!t.cancelable,r.detail=t.detail):(r.bubbles=!1,r.cancelable=!1,r.detail=void 0),r}:o2;let o3=[];function o6(e,t,r){let n=o8(e,t,r);o3.length?o3.forEach(e=>e(n)):setTimeout(()=>{throw n})}function o5(e){if("function"!=typeof e)throw Error(o7(28,!1));o3.push(e)}function o9(e){if("function"!=typeof e)throw Error(o7(29,!1));let t=!1;return o3=o3.filter(r=>{let n=r===e;return t=t||n,!n}),t}function o7(e,t,...r){return`single-spa minified message #${e}: ${t?t+" ":""}See https://single-spa.js.org/error/?code=${e}${r.length?`&arg=${r.join("&arg=")}`:""}`}function o8(e,t,r){let n,o=`${ib(t)} '${iy(t)}' died in status ${t.status}: `;if(e instanceof Error){try{e.message=o+e.message}catch(e){}n=e}else{console.warn(o7(30,!1,t.status,iy(t)));try{n=Error(o+JSON.stringify(e))}catch(t){n=e}}return n.appOrParcelName=iy(t),t.status=r,n}let ie="NOT_LOADED",it="LOADING_SOURCE_CODE",ir="NOT_BOOTSTRAPPED",io="BOOTSTRAPPING",ii="NOT_MOUNTED",ia="MOUNTING",is="MOUNTED",il="UPDATING",iu="UNMOUNTING",ic="UNLOADING",id="LOAD_ERROR",ip="SKIP_BECAUSE_BROKEN";function ih(e){return e.status===is}function im(e){try{return e.activeWhen(window.location)}catch(t){return o6(t,e,ip),!1}}function iy(e){return e.name}function ig(e){return!!e.unmountThisParcel}function ib(e){return ig(e)?"parcel":"application"}function iv(){for(let e=arguments.length-1;e>0;e--)for(let t in arguments[e])"__proto__"!==t&&(arguments[e-1][t]=arguments[e][t]);return arguments[0]}function iw(e,t){for(let r=0;r<e.length;r++)if(t(e[r]))return e[r];return null}function i_(e){return e&&("function"==typeof e||Array.isArray(e)&&!iw(e,e=>"function"!=typeof e))}function ix(e,t){let r=e[t]||[];0===(r=Array.isArray(r)?r:[r]).length&&(r=[()=>Promise.resolve()]);let n=ib(e),o=iy(e);return function(e){return r.reduce((r,i,a)=>r.then(()=>{let r=i(e);return iE(r)?r:Promise.reject(o7(15,!1,n,o,t,a))}),Promise.resolve())}}function iE(e){return e&&"function"==typeof e.then&&"function"==typeof e.catch}let iS=[];function iD(e,t){return Promise.resolve().then(()=>e.status!==ir?e:(e.status=io,e.bootstrap?iV(e,"bootstrap").then(r).catch(r=>{if(t)throw o8(r,e,ip);return o6(r,e,ip),e}):Promise.resolve().then(r)));function r(){return e.status=ii,e}}function iO(e,t){return Promise.resolve().then(()=>{if(e.status!==is)return e;return e.status=iu,Promise.all(Object.keys(e.parcels).map(t=>e.parcels[t].unmountThisParcel())).then(r,n=>r().then(()=>{let r=Error(n.message);if(t)throw o8(r,e,ip);o6(r,e,ip)})).then(()=>e);function r(){return iV(e,"unmount").then(()=>{e.status=ii},r=>{if(t)throw o8(r,e,ip);o6(r,e,ip)})}})}let iP=!1,iC=!1;function ik(e,t){return Promise.resolve().then(()=>e.status!==ii?e:(iP||(window.dispatchEvent(new o4("single-spa:before-first-mount")),iP=!0),e.status=ia,iV(e,"mount").then(()=>(e.status=is,iC||(window.dispatchEvent(new o4("single-spa:first-mount")),iC=!0),e)).catch(r=>{return e.status=is,iO(e,!0).then(n,n);function n(){if(t)throw o8(r,e,ip);return o6(r,e,ip),e}})))}let ij=0,iT={parcels:{}};function iR(){return iN.apply(iT,arguments)}function iN(e,t){let r,n,o,i=this;if(!e||"object"!=typeof e&&"function"!=typeof e)throw Error(o7(2,!1));if(e.name&&"string"!=typeof e.name)throw Error(o7(3,!1,typeof e.name));let a=ij++,s=e.name||`parcel-${a}`;if("object"!=typeof t)throw Error(o7(4,!1,s,typeof t));if(!t.domElement)throw Error(o7(5,!1,s));let l="function"==typeof e,u=l?e:()=>Promise.resolve(e),c={id:a,parcels:{},status:l?it:ir,customProps:t,parentName:iy(i),unmountThisParcel:()=>f.then(()=>{if(c.status!==is)throw Error(o7(6,!1,s,c.status));return iO(c,!0)}).then(e=>(c.parentName&&delete i.parcels[c.id],e)).then(e=>(n(e),e)).catch(e=>{throw c.status=ip,o(e),e})};i.parcels[a]=c;let d=u();if(!d||"function"!=typeof d.then)throw Error(o7(7,!1));let p=(d=d.then(e=>{if(!e)throw Error(o7(8,!1));if(s=e.name||`parcel-${a}`,Object.prototype.hasOwnProperty.call(e,"bootstrap")&&!i_(e.bootstrap))throw Error(o7(9,!1,s));if(!i_(e.mount))throw Error(o7(10,!1,s));if(!i_(e.unmount))throw Error(o7(11,!1,s));if(e.update&&!i_(e.update))throw Error(o7(12,!1,s));let t=ix(e,"bootstrap"),n=ix(e,"mount"),o=ix(e,"unmount");c.status=ir,c.name=s,c.bootstrap=t,c.mount=n,c.unmount=o,c.timeouts=iU(e.timeouts),e.update&&(c.update=ix(e,"update"),r.update=function(e){return c.customProps=e,iA(Promise.resolve().then(()=>{if(c.status!==is)throw Error(o7(32,!1,iy(c)));return c.status=il,iV(c,"update").then(()=>(c.status=is,c)).catch(e=>{throw o8(e,c,ip)})}))})})).then(()=>iD(c,!0)),f=p.then(()=>ik(c,!0)),h=new Promise((e,t)=>{n=e,o=t});return r={mount:()=>iA(Promise.resolve().then(()=>{if(c.status!==ii)throw Error(o7(13,!1,s,c.status));return i.parcels[a]=c,ik(c)})),unmount:()=>iA(c.unmountThisParcel()),getStatus:()=>c.status,loadPromise:iA(d),bootstrapPromise:iA(p),mountPromise:iA(f),unmountPromise:iA(h)}}function iA(e){return e.then(()=>null)}function iM(e){let t=iy(e),r="function"==typeof e.customProps?e.customProps(t,window.location):e.customProps;("object"!=typeof r||null===r||Array.isArray(r))&&(r={},console.warn(o7(40,!1),t,r));let n=iv({},r,{name:t,mountParcel:iN.bind(e),singleSpa:o1});return ig(e)&&(n.unmountSelf=e.unmountThisParcel),n}let i$={bootstrap:{millis:4e3,dieOnTimeout:!1,warningMillis:1e3},mount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unmount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unload:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},update:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3}};function iI(e,t,r){if("number"!=typeof e||e<=0)throw Error(o7(16,!1));i$.bootstrap={millis:e,dieOnTimeout:t,warningMillis:r||1e3}}function iL(e,t,r){if("number"!=typeof e||e<=0)throw Error(o7(17,!1));i$.mount={millis:e,dieOnTimeout:t,warningMillis:r||1e3}}function iF(e,t,r){if("number"!=typeof e||e<=0)throw Error(o7(18,!1));i$.unmount={millis:e,dieOnTimeout:t,warningMillis:r||1e3}}function iB(e,t,r){if("number"!=typeof e||e<=0)throw Error(o7(19,!1));i$.unload={millis:e,dieOnTimeout:t,warningMillis:r||1e3}}function iV(e,t){let r=e.timeouts[t],n=r.warningMillis,o=ib(e);return new Promise((i,a)=>{let s=!1,l=!1;e[t](iM(e)).then(e=>{s=!0,i(e)}).catch(e=>{s=!0,a(e)}),setTimeout(()=>c(1),n),setTimeout(()=>c(!0),r.millis);let u=o7(31,!1,t,o,iy(e),r.millis);function c(e){s||(!0===e?(l=!0,r.dieOnTimeout?a(Error(u)):console.error(u)):!l&&(console.warn(u),e*n+n<r.millis&&setTimeout(()=>c(e+1),n)))}})}function iU(e){let t={};for(let r in i$)t[r]=iv({},i$[r],e&&e[r]||{});return t}function iW(e){return Promise.resolve().then(()=>{let t,r;return e.loadPromise?e.loadPromise:e.status!==ie&&e.status!==id?e:(e.status=it,e.loadPromise=Promise.resolve().then(()=>{let n=e.loadApp(iM(e));if(!iE(n))throw r=!0,Error(o7(33,!1,iy(e)));return n.then(r=>{let n;e.loadErrorTime=null,"object"!=typeof(t=r)&&(n=34),Object.prototype.hasOwnProperty.call(t,"bootstrap")&&!i_(t.bootstrap)&&(n=35),i_(t.mount)||(n=36),i_(t.unmount)||(n=37);let o=ib(t);if(n){let r;try{r=JSON.stringify(t)}catch(e){}return console.error(o7(n,!1,o,iy(e),r),t),o6(void 0,e,ip),e}return t.devtools&&t.devtools.overlays&&(e.devtools.overlays=iv({},e.devtools.overlays,t.devtools.overlays)),e.status=ir,e.bootstrap=ix(t,"bootstrap"),e.mount=ix(t,"mount"),e.unmount=ix(t,"unmount"),e.unload=ix(t,"unload"),e.timeouts=iU(t.timeouts),delete e.loadPromise,e})}).catch(t=>{let n;return delete e.loadPromise,r?n=ip:(n=id,e.loadErrorTime=(new Date).getTime()),o6(t,e,n),e}))})}let iz="u">typeof window,iK={hashchange:[],popstate:[]},iH=["hashchange","popstate"];function iG(e){let t;if("string"==typeof e)t=e;else if(this&&this.href)t=this.href;else{if(!(e&&e.currentTarget&&e.currentTarget.href&&e.preventDefault))throw Error(o7(14,!1));t=e.currentTarget.href,e.preventDefault()}let r=i0(window.location.href),n=i0(t);0===t.indexOf("#")?window.location.hash=n.hash:r.host!==n.host&&n.host?window.location.href=t:n.pathname===r.pathname&&n.search===r.search?window.location.hash=n.hash:window.history.pushState(null,null,t)}function iq(e){if(e){let t=e[0].type;iH.indexOf(t)>=0&&iK[t].forEach(t=>{try{t.apply(this,e)}catch(e){setTimeout(()=>{throw e})}})}}function iY(){ah([],arguments)}function iZ(e,t){return function(){let r=window.location.href,n=e.apply(this,arguments),i=window.location.href;return o&&r===i||window.dispatchEvent(function(e,t){let r;try{r=new PopStateEvent("popstate",{state:e})}catch(t){(r=document.createEvent("PopStateEvent")).initPopStateEvent("popstate",!1,!1,e)}return r.singleSpa=!0,r.singleSpaTrigger=t,r}(window.history.state,t)),n}}let iJ=null,iX=!1;function iQ(e){if(iX)throw Error(o7(43,!1));o=!e||!e.hasOwnProperty("urlRerouteOnly")||e.urlRerouteOnly,iX=!0,iJ=window.history.replaceState,window.addEventListener("hashchange",iY),window.addEventListener("popstate",iY);let t=window.addEventListener,r=window.removeEventListener;window.addEventListener=function(e,r){if(!("function"==typeof r&&iH.indexOf(e)>=0)||iw(iK[e],e=>e===r))return t.apply(this,arguments);iK[e].push(r)},window.removeEventListener=function(e,t){return"function"==typeof t&&iH.indexOf(e)>=0&&(iK[e]=iK[e].filter(e=>e!==t)),r.apply(this,arguments)},window.history.pushState=iZ(window.history.pushState,"pushState"),window.history.replaceState=iZ(iJ,"replaceState")}function i0(e){let t=document.createElement("a");return t.href=e,t}iz&&(window.singleSpaNavigate?console.warn(o7(41,!1)):window.singleSpaNavigate=iG);let i1=!1;function i2(e=window.jQuery){if(e||window.$&&window.$.fn&&window.$.fn.jquery&&(e=window.$),e&&!i1){let t=e.fn.on,r=e.fn.off;e.fn.on=function(e,r){return i4.call(this,t,window.addEventListener,e,r,arguments)},e.fn.off=function(e,t){return i4.call(this,r,window.removeEventListener,e,t,arguments)},i1=!0}}function i4(e,t,r,n,o){return"string"!=typeof r?e.apply(this,o):(r.split(/\s+/).forEach(e=>{iH.indexOf(e)>=0&&(t(e,n),r=r.replace(e,""))}),""===r.trim()?this:e.apply(this,o))}let i3={};function i6(e){return Promise.resolve().then(()=>{let t=i3[iy(e)];if(!t)return e;if(e.status===ie)return i5(e,t),e;if(e.status===ic)return t.promise.then(()=>e);if(e.status!==ii&&e.status!==id)return e;let r=e.status===id?Promise.resolve():iV(e,"unload");return e.status=ic,r.then(()=>(i5(e,t),e)).catch(r=>(delete i3[iy(e)],delete e.bootstrap,delete e.mount,delete e.unmount,delete e.unload,o6(r,e,ip),t.reject(r),e))})}function i5(e,t){delete i3[iy(e)],delete e.bootstrap,delete e.mount,delete e.unmount,delete e.unload,e.status=ie,t.resolve()}function i9(e,t,r,n){i3[iy(e)]={app:e,resolve:r,reject:n},Object.defineProperty(i3[iy(e)],"promise",{get:t})}let i7=[];function i8(){return i7.filter(ih).map(iy)}function ae(){return i7.map(iy)}function at(e){let t=iw(i7,t=>iy(t)===e);return t?t.status:null}let ar=!1;function an(e,t,r,n){var o,i;let a,s,l=(a={name:null,loadApp:null,activeWhen:null,customProps:null},"object"==typeof e?(function(e){if(Array.isArray(e)||null===e)throw Error(o7(39,!1));let t=["name","app","activeWhen","customProps"],r=Object.keys(e).reduce((e,r)=>t.indexOf(r)>=0?e:e.concat(r),[]);if(0!==r.length)throw Error(o7(38,!1,t.join(", "),r.join(", ")));if("string"!=typeof e.name||0===e.name.length||"object"!=typeof e.app&&"function"!=typeof e.app)throw Error(o7(20,!1));let n=e=>"string"==typeof e||"function"==typeof e;if(!(n(e.activeWhen)||Array.isArray(e.activeWhen)&&e.activeWhen.every(n)))throw Error(o7(24,!1));if(!al(e.customProps))throw Error(o7(22,!1))}(e),a.name=e.name,a.loadApp=e.app,a.activeWhen=e.activeWhen,a.customProps=e.customProps):(function(e,t,r,n){if("string"!=typeof e||0===e.length)throw Error(o7(20,!1));if(!t)throw Error(o7(23,!1));if("function"!=typeof r)throw Error(o7(24,!1));if(!al(n))throw Error(o7(22,!1))}(e,t,r,n),a.name=e,a.loadApp=t,a.activeWhen=r,a.customProps=n),a.loadApp="function"!=typeof(o=a.loadApp)?()=>Promise.resolve(o):o,a.customProps=a.customProps||{},s=(s=Array.isArray(i=a.activeWhen)?i:[i]).map(e=>"function"==typeof e?e:au(e)),a.activeWhen=e=>s.some(t=>t(e)),a);if(ay||ar||(ar=!0,setTimeout(()=>{ay||console.warn(o7(1,!1))},5e3)),-1!==ae().indexOf(l.name))throw Error(o7(21,!1,l.name));i7.push(iv({loadErrorTime:null,status:ie,parcels:{},devtools:{overlays:{options:{},selectors:[]}}},l)),iz&&(i2(),ah())}function ao(e=window.location){return i7.filter(t=>t.activeWhen(e)).map(iy)}function ai(e){if(0===i7.filter(t=>iy(t)===e).length)throw Error(o7(25,!1,e));return(iz?aa(e,{waitForUnmount:!1}):Promise.resolve()).then(()=>{let t=i7.map(iy).indexOf(e);i7.splice(t,1)})}function aa(e,t={waitForUnmount:!1}){if("string"!=typeof e)throw Error(o7(26,!1));let r=iw(i7,t=>iy(t)===e);if(!r)throw Error(o7(27,!1,e));let n=i3[iy(r)];if(t&&t.waitForUnmount){if(n)return n.promise;{let e=new Promise((t,n)=>{i9(r,()=>e,t,n)});return e}}{let e;return n?(e=n.promise,as(r,n.resolve,n.reject)):e=new Promise((t,n)=>{i9(r,()=>e,t,n),as(r,t,n)}),e}}function as(e,t,r){Promise.resolve().then(()=>{if(iw(ao(),t=>t===iy(e)))return af()}).then(()=>iO(e).then(i6).then(()=>{t(),setTimeout(()=>{ah()})})).catch(r)}function al(e){return!e||"function"==typeof e||"object"==typeof e&&null!==e&&!Array.isArray(e)}function au(e,t){let r=function(e,t){let r=0,n=!1,o="^";"/"!==e[0]&&(e="/"+e);for(let t=0;t<e.length;t++){let r=e[t],o=n&&"/"===r;(!n&&":"===r||o)&&i(t)}return i(e.length),RegExp(o,"i");function i(i){let a=e.slice(r,i).replace(/[|\\{}()[\]^$+*?.]/g,"\\$&");if(o+=n?"[^/]+/?":a,i===e.length)if(n)t&&(o+="$");else{let e=t?"":".*";o="/"===o.charAt(o.length-1)?`${o}${e}$`:`${o}(/${e})?(#.*)?$`}n=!n,r=i}}(e,t);return e=>{let t=e.origin;t||(t=`${e.protocol}//${e.host}`);let n=e.href.replace(t,"").replace(e.search,"").split("?")[0];return r.test(n)}}let ac=!1,ad=[],ap=iz&&window.location.href;function af(){return ah()}function ah(e=[],t,r=!1){let n,o,i,a,s;if(ac)return new Promise((e,r)=>{ad.push({resolve:e,reject:r,eventArguments:t})});let{appsToUnload:l,appsToUnmount:u,appsToLoad:c,appsToMount:d}=(n=[],o=[],i=[],a=[],s=(new Date).getTime(),i7.forEach(e=>{let t=e.status!==ip&&im(e);switch(e.status){case id:t&&s-e.loadErrorTime>=200&&i.push(e);break;case ie:case it:t&&i.push(e);break;case ir:case ii:!t&&i3[iy(e)]?n.push(e):t&&a.push(e);break;case is:t||o.push(e)}}),{appsToUnload:n,appsToUnmount:o,appsToLoad:i,appsToMount:a}),p,f=[],h=ap,m=ap=window.location.href;return ay?(ac=!0,p=l.concat(c,u,d),Promise.resolve().then(()=>(w(0===p.length?"before-no-app-change":"before-app-change",v(!0)),w("before-routing-event",v(!0,{cancelNavigation:y})),Promise.all(f).then(r=>{if(r.some(e=>e))return iJ.call(window.history,history.state,"",h.substring(location.origin.length)),ap=location.href,ac=!1,ah(e,t,!0);let n=l.map(i6),o=Promise.all(u.map(iO).map(e=>e.then(i6)).concat(n));o.then(()=>{w("before-mount-routing-event",v(!0))},e=>{throw e});let i=c.map(e=>iW(e).then(e=>am(e,o))),a=d.filter(e=>0>c.indexOf(e)).map(e=>am(e,o));return o.catch(e=>{throw b(),e}).then(()=>(b(),Promise.all(i.concat(a)).catch(t=>{throw e.forEach(e=>e.reject(t)),t}).then(g).then(()=>{},e=>{throw e})))})))):(p=c,Promise.resolve().then(()=>Promise.all(c.map(iW)).then(b).then(()=>[]).catch(e=>{throw b(),e}).finally(()=>{})));function y(e=!0){let t="function"==typeof(null==e?void 0:e.then)?e:Promise.resolve(e);f.push(t.catch(e=>(console.warn(Error(o7(42,!1))),console.warn(e),!1)))}function g(){let t=i8();e.forEach(e=>e.resolve(t));try{w(0===p.length?"no-app-change":"app-change",v()),w("routing-event",v())}catch(e){setTimeout(()=>{throw e})}if(ac=!1,ad.length>0){let e=ad;ad=[],ah(e)}return t}function b(){r||(e.forEach(e=>{iq(e.eventArguments)}),iq(t))}function v(e=!1,r){let n={},o={[is]:[],[ii]:[],[ie]:[],[ip]:[]};e?(c.concat(d).forEach((e,t)=>{a(e,is)}),l.forEach(e=>{a(e,ie)}),u.forEach(e=>{a(e,ii)})):p.forEach(e=>{a(e)});let i={detail:{newAppStatuses:n,appsByNewStatus:o,totalAppChanges:p.length,originalEvent:null==t?void 0:t[0],oldUrl:h,newUrl:m}};return r&&iv(i.detail,r),i;function a(e,t){let r=iy(e);t=t||at(r),n[r]=t,(o[t]=o[t]||[]).push(r)}}function w(e,t){r||window.dispatchEvent(new o4(`single-spa:${e}`,t))}}function am(e,t){return im(e)?iD(e).then(e=>t.then(()=>im(e)?ik(e):e)):t.then(()=>e)}let ay=!1;function ag(e){ay=!0,iz&&(iQ(e),ah())}function ab(e,t){let r=window.getOpenmrsSpaBase().replace(/\/$/,"");return av(e,{openmrsBase:window.openmrsBase,openmrsSpaBase:r,...t}).replace(/^\/\//,"/")}function av(e,t){return Object.keys(t).reduce((e,r)=>e.split("${"+r+"}").join(t[r]),e)}function aw({to:e,templateParams:t}){let r=window.getOpenmrsSpaBase().replace(/\/$/,""),n=ab(e,t).replace(window.location.origin,"");n.startsWith(r)?iG(n):window.location.assign(n)}iz&&window.__SINGLE_SPA_DEVTOOLS__&&(window.__SINGLE_SPA_DEVTOOLS__.exposedMethods={getRawAppData:function(){return[...i7]},reroute:ah,NOT_LOADED:ie,toLoadPromise:iW,toBootstrapPromise:iD,unregisterApplication:ai,getProfilerData:function(){return iS}});let a_="openmrs:history";function ax(e){let t=JSON.parse(sessionStorage.getItem(a_)??"[]")||[];t.push(e),t.length>50&&(t=t.slice(-50)),sessionStorage.setItem(a_,JSON.stringify(t))}function aE(){0===JSON.parse(sessionStorage.getItem(a_)??"[]").length&&document.referrer&&ax(document.referrer),window.addEventListener("single-spa:routing-event",e=>{let t=aS();e.detail.originalEvent?.singleSpaTrigger=="replaceState"?(t[t.length-1]=window.location.href,sessionStorage.setItem(a_,JSON.stringify(t))):!e.detail.originalEvent?.singleSpa&&t.includes(window.location.href)?aD({toUrl:window.location.href}):t[t.length-1]!==window.location.href&&ax(window.location.href)})}function aS(){return JSON.parse(sessionStorage.getItem(a_)??"[]")}function aD({toUrl:e}){let t=aS(),r=t.lastIndexOf(e);if(-1!=r){let e=t.slice(0,r+1);aw({to:t[r]}),sessionStorage.setItem(a_,JSON.stringify(e))}else throw Error(`URL ${e} not found in history; cannot go back to it.`)}function aO(){sessionStorage.removeItem(a_)}let aP="${openmrsSpaBase}/login",aC={redirectAuthFailure:{enabled:{_type:nB.Boolean,_default:!0,_description:"Whether to redirect logged-out users to `redirectAuthFailure.url`"},url:{_type:nB.String,_default:aP,_validators:[oH.isUrl],_description:"The url to which users will be redirected when they are logged out. If set to blank, the `location` header from the response will be used."},errors:{_type:nB.Array,_default:[401],_elements:{_type:nB.Number,_validators:[oH.inRange(100,600)]},_description:"The HTTP error codes for which users will be redirected"},resolvePromise:{_type:nB.Boolean,_default:!1,_description:"Changes how requests that fail authentication are handled. Try messing with this if redirects to the login page aren't working correctly."}},followRedirects:{_type:nB.Boolean,_default:!0,_description:"Whether openmrsFetch should support redirects returned from the backend"}};function ak(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}let aj="/ws/rest/v1",aT="/ws/fhir2/R4",aR=`${aj}/session`;function aN(e){return e&&e.startsWith("http")?e:("/"!==e[0]&&(e="/"+e),window.openmrsBase+e)}function aA(e,t={}){if("string"!=typeof e)throw Error("The first argument to @openmrs/api's openmrsFetch function must be a url string");if("object"!=typeof t)throw Error("The second argument to @openmrs/api's openmrsFetch function must be a plain object.");if(!window.openmrsBase)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.");let r=aN(e);if(t.headers||(t.headers={}),eQ(t.body)&&(t.body=JSON.stringify(t.body)),void 0===t.headers.Accept&&(t.headers.Accept="application/json"),null===t.headers.Accept&&delete t.headers.Accept,e.startsWith(aj)&&void 0===t.headers["Disable-WWW-Authenticate"]&&(t.headers["Disable-WWW-Authenticate"]="true"),e.startsWith(aT)){let e=new URL(r,window.location.toString());e.searchParams.has("_summary")||(e.searchParams.set("_summary","data"),r=e.toString())}let n=Error();return window.fetch(r,t).then(async e=>{let{redirectAuthFailure:t,followRedirects:o}=await ov("@openmrs/esm-api");if(e.ok){let t=e.headers.get("location");return(o&&t&&(r===aN(aR)||204===e.status)&&aw({to:t}),204===e.status)?(e.data=null,e):e.clone().text().then(t=>{try{t&&(e.data=JSON.parse(t))}catch(e){}return e})}return r===aN(aR)&&403===e.status||t.enabled&&t.errors.includes(e.status)?(aO(),aw({to:t.url||e.headers.get("location")||aP}),t.resolvePromise?Promise.resolve():new Promise(()=>{})):e.clone().text().then(t=>{let o=t;try{o=JSON.parse(t)}catch(e){}throw new a$(r,e,o,n)},t=>{throw new a$(r,e,null,n)})})}function aM(e,t={}){if("object"!=typeof t)throw Error("The second argument to openmrsObservableFetch must be either omitted or an object");let r=new AbortController;return t.signal=r.signal,new eR(n=>{let o=!1;return aA(e,t).then(e=>{o=!0,n.next(e),n.complete()},e=>{o=!0,n.error(e)}),()=>{o||r.abort()}})}class a$ extends Error{constructor(e,t,r,n){super(),ak(this,"response",void 0),ak(this,"responseBody",void 0),this.message=`Server responded with ${t.status} (${t.statusText}) for url ${e}. Check err.responseBody or network tab in dev tools for more info`,n.message=this.message,this.responseBody=r,this.response=t,this.stack=`Stacktrace for outgoing request:
|
|
13
13
|
${n.stack}
|
|
14
14
|
Stacktrace for incoming response:
|
|
15
|
-
${this.stack}`}}let aI=Y("session",{loaded:!1,session:null}),aL=0;function aF(e={includeAuthStatus:!0}){return(aL<Date.now()-6e4||!aI.getState().loaded)&&aU(),new eR(t=>{let r=r=>{r.loaded&&(e.includeAuthStatus?t.next(r.session):t.next(r.session?.user))};return r(aI.getState()),aI.subscribe(r)})}function aB(){return(aL<Date.now()-6e4||!aI.getState().loaded)&&aU(),aI}function aV(e){let t=e.locale??e.user?.userProperties?.defaultLocale;t&&t.includes("_")&&(t=t.replaceAll("_","-")),function(e){if(void 0===e||"string"!=typeof e)return!1;try{new Intl.Locale(e)}catch(e){return!1}return!0}(t)&&t!==document.documentElement.getAttribute("lang")&&document.documentElement.setAttribute("lang",t)}function aU(e,t){aL=Date.now();let r={};return e&&t&&(r.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`),aY(aA(aR,{headers:r}))}function aW(){aI.setState({loaded:!0,session:{authenticated:!1,sessionId:""}})}function az(e,t){var r,n;if(void 0===t)return!e;if(!e)return!0;return r=e,n=t,("string"==typeof r?!ee(n.privileges.find(e=>r===e.display)):Array.isArray(r)?r.every(e=>!ee(n.privileges.find(t=>e===t.display))):(ee(r)||console.error(`Could not understand privileges "${r}"`),!0))||!ee(t.roles.find(e=>"System Developer"===e.display))}function aK(){let e,t;return new Promise(r=>{let n=n=>{n.loaded&&n.session.user&&(e=n.session.user,r(n.session.user),t&&t())};n(aI.getState()),e||(t=aI.subscribe(n))})}function aH(){return new Promise((e,t)=>{aF().subscribe(t=>{e(t.sessionLocation)},t).unsubscribe()})}async function aG(e,t){return aY(aA(aR,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},signal:t.signal}))}async function aq(e,t,r){return r||(r=new AbortController),await aA(`${aj}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:r.signal}),aU()}function aY(e){return new Promise((t,r)=>{e.then(e=>{let n;"object"==typeof e?.data?(n={loaded:!0,session:e.data},aI.setState(n),t(n)):(n={loaded:!1,session:null},aI.setState(n),r(n))}).catch(e=>{$(`Failed to fetch new session information: ${e}`);let t={loaded:!1,session:null};aI.setState(t),r(t)})})}function aZ(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}aI.subscribe(e=>{e.loaded&&e.session&&aV(e.session)});let aJ={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function aX(){op("@openmrs/esm-api",aC),aU()}let aQ={address1:"Address line 1",address2:"Address line 2",address3:"Address line 3",address4:"Address line 4",address5:"Address line 5",address6:"Address line 6",city:"City",cityVillage:"City",country:"Country",countyDistrict:"District",district:"District",postalCode:"Postal code",state:"State",stateProvince:"State",closeAllOpenedWorkspaces:"Discard changes in {{count}} workspaces",closingAllWorkspacesPromptBody:"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",closingAllWorkspacesPromptTitle:"You have unsaved changes",discard:"Discard",hide:"Hide",maximize:"Maximize",minimize:"Minimize",openAnyway:"Open anyway",unsavedChangesInOpenedWorkspace:"You may have unsaved changes in the opened workspace. Do you want to discard these changes?",unsavedChangesInWorkspace:'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',unsavedChangesTitleText:"Unsaved changes",workspaceHeader:"Workspace header",discardUnsavedChangesPromptBodyMultiple:"{{count}} workspaces have unsaved changes. Closing them will discard the changes:",discardUnsavedChangesPromptBodySingle:"<strong>{{workspaceTitle}}</strong> has unsaved changes. Closing it will discard them.",discardUnsavedChangesPromptTitle:"Discard unsaved changes?",keepEditing:"Keep editing",abnormalValue:"Abnormal value",actions:"Actions",actionableNotification:"Actionable notification",address:"Address",age:"Age",batchActionItemSelected:"{{totalSelected}} item selected",batchActionsItemsSelected:"{{totalSelected}} items selected",cancel:"Cancel",change:"Change",Clinic:"Clinic",close:"Close",closesActionableNotification:"Close actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",delete:"Delete",discardChanges:"Discard changes",edit:"Edit",emptyStateText:"There are no {{displayText}} to display",error:"Error",errorCopy:"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.",errorLoadingLoginLocations:"Unable to load login locations. Please try again or contact support if the problem persists.",female:"Female",leftNavigation:"Left navigation",loading:"Loading",localVersion:"Local Build",male:"Male",noResultsToDisplay:"No results to display",notAvailable:"Not available",other:"Other",paginationItemsCount:"{{pageItemsCount}} / {{totalItems}} items",paginationOfPages:"of {{count}} pages",patientAvatarAlt:"Avatar for {{patientName}}",patientIdentifierSticker:"Patient identifier sticker",patientLists:"Patient lists",patientPhotoAlt:"Profile photo of {{patientName}}",patientPhotoPlaceholder:"Photo placeholder for {{patientName}}",prereleaseVersion:"Prerelease",print:"Print",printError:"Print error",printErrorExplainer:"An error occurred in {{errorLocation}}",printIdentifierSticker:"Print identifier sticker",printing:"Printing",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",resetOverrides:"Reset overrides",save:"Save",scriptLoadingFailed:"Error: Script failed to load",scriptLoadingError:"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",searchForLocation:"Search for a location",seeAll:"See all",seeMoreLists:"See {{count}} more lists",selectAll:"Select all",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",toggleDevTools:"Toggle dev tools",unknown:"Unknown",yearAbbreviation:"yr",yearsAbbreviation:"yrs"},a0=e=>"string"==typeof e,a1=()=>{let e,t,r=new Promise((r,n)=>{e=r,t=n});return r.resolve=e,r.reject=t,r},a2=e=>null==e?"":""+e,a4=/###/g,a3=e=>e&&e.indexOf("###")>-1?e.replace(a4,"."):e,a6=e=>!e||a0(e),a5=(e,t,r)=>{let n=a0(t)?t.split("."):t,o=0;for(;o<n.length-1;){if(a6(e))return{};let t=a3(n[o]);!e[t]&&r&&(e[t]=new r),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++o}return a6(e)?{}:{obj:e,k:a3(n[o])}},a9=(e,t,r)=>{let{obj:n,k:o}=a5(e,t,Object);if(void 0!==n||1===t.length){n[o]=r;return}let i=t[t.length-1],a=t.slice(0,t.length-1),s=a5(e,a,Object);for(;void 0===s.obj&&a.length;)i=`${a[a.length-1]}.${i}`,s=a5(e,a=a.slice(0,a.length-1),Object),s?.obj&&void 0!==s.obj[`${s.k}.${i}`]&&(s.obj=void 0);s.obj[`${s.k}.${i}`]=r},a7=(e,t)=>{let{obj:r,k:n}=a5(e,t);if(r&&Object.prototype.hasOwnProperty.call(r,n))return r[n]},a8=(e,t,r)=>{for(let n in t)"__proto__"!==n&&"constructor"!==n&&(n in e?a0(e[n])||e[n]instanceof String||a0(t[n])||t[n]instanceof String?r&&(e[n]=t[n]):a8(e[n],t[n],r):e[n]=t[n]);return e};var se={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};let st=e=>a0(e)?e.replace(/[&<>"'\/]/g,e=>se[e]):e,sr=[" ",",","?","!",";"],sn=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){let t=this.regExpMap.get(e);if(void 0!==t)return t;let r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}(20),so=(e,t,r=".")=>{if(!e)return;if(e[t]){if(!Object.prototype.hasOwnProperty.call(e,t))return;return e[t]}let n=t.split(r),o=e;for(let e=0;e<n.length;){let t;if(!o||"object"!=typeof o)return;let i="";for(let a=e;a<n.length;++a)if(a!==e&&(i+=r),i+=n[a],void 0!==(t=o[i])){if(["string","number","boolean"].indexOf(typeof t)>-1&&a<n.length-1)continue;e+=a-e+1;break}o=t}return o},si=e=>e?.replace("_","-"),sa={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}};class ss{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||sa,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,r,n){return n&&!this.debug?null:(a0(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new ss(this.logger,{...{prefix:`${this.prefix}:${e}:`},...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new ss(this.logger,e)}}var sl=new ss;class su{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(e=>{this.observers[e]||(this.observers[e]=new Map);let r=this.observers[e].get(t)||0;this.observers[e].set(t,r+1)}),this}off(e,t){if(this.observers[e]){if(!t)return void delete this.observers[e];this.observers[e].delete(t)}}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([e,r])=>{for(let n=0;n<r;n++)e(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([r,n])=>{for(let o=0;o<n;o++)r.apply(r,[e,...t])})}}class sc extends su{constructor(e,t={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}removeNamespaces(e){let t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,r,n={}){let o,i=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,a=void 0!==n.ignoreJSONStructure?n.ignoreJSONStructure:this.options.ignoreJSONStructure;e.indexOf(".")>-1?o=e.split("."):(o=[e,t],r&&(Array.isArray(r)?o.push(...r):a0(r)&&i?o.push(...r.split(i)):o.push(r)));let s=a7(this.data,o);return(!s&&!t&&!r&&e.indexOf(".")>-1&&(e=o[0],t=o[1],r=o.slice(2).join(".")),!s&&a&&a0(r))?so(this.data?.[e]?.[t],r,i):s}addResource(e,t,r,n,o={silent:!1}){let i=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,a=[e,t];r&&(a=a.concat(i?r.split(i):r)),e.indexOf(".")>-1&&(a=e.split("."),n=t,t=a[1]),this.addNamespaces(t),a9(this.data,a,n),o.silent||this.emit("added",e,t,r,n)}addResources(e,t,r,n={silent:!1}){for(let n in r)(a0(r[n])||Array.isArray(r[n]))&&this.addResource(e,t,n,r[n],{silent:!0});n.silent||this.emit("added",e,t,r)}addResourceBundle(e,t,r,n,o,i={silent:!1,skipCopy:!1}){let a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),n=r,r=t,t=a[1]),this.addNamespaces(t);let s=a7(this.data,a)||{};i.skipCopy||(r=JSON.parse(JSON.stringify(r))),n?a8(s,r,o):s={...s,...r},a9(this.data,a,s),i.silent||this.emit("added",e,t,r)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){let t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}}var sd={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,r,n,o){return e.forEach(e=>{t=this.processors[e]?.process(t,r,n,o)??t}),t}};let sp=Symbol("i18next/PATH_KEY");function sf(e,t){let r,n,o,{[sp]:i}=e((n=[],(o=Object.create(null)).get=(e,t)=>(r?.revoke?.(),t===sp)?n:(n.push(t),(r=Proxy.revocable(e,o)).proxy),Proxy.revocable(Object.create(null),o).proxy));return i.join(t?.keySeparator??".")}let sh={},sm=e=>!a0(e)&&"boolean"!=typeof e&&"number"!=typeof e;class sy extends su{constructor(e,t={}){super(),((e,t,r)=>{e.forEach(e=>{t[e]&&(r[e]=t[e])})})(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=sl.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){let r={...t};if(null==e)return!1;let n=this.resolve(e,r);if(n?.res===void 0)return!1;let o=sm(n.res);return!1!==r.returnObjects||!o}extractFromKey(e,t){let r=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===r&&(r=":");let n=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,o=t.ns||this.options.defaultNS||[],i=r&&e.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!((e,t,r)=>{t=t||"",r=r||"";let n=sr.filter(e=>0>t.indexOf(e)&&0>r.indexOf(e));if(0===n.length)return!0;let o=sn.getRegExp(`(${n.map(e=>"?"===e?"\\?":e).join("|")})`),i=!o.test(e);if(!i){let t=e.indexOf(r);t>0&&!o.test(e.substring(0,t))&&(i=!0)}return i})(e,r,n);if(i&&!a){let t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:a0(o)?[o]:o};let i=e.split(r);(r!==n||r===n&&this.options.ns.indexOf(i[0])>-1)&&(o=i.shift()),e=i.join(n)}return{key:e,namespaces:a0(o)?[o]:o}}translate(e,t,r){let n="object"==typeof t?{...t}:t;if("object"!=typeof n&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof n&&(n={...n}),n||(n={}),null==e)return"";"function"==typeof e&&(e=sf(e,{...this.options,...n})),Array.isArray(e)||(e=[String(e)]);let o=void 0!==n.returnDetails?n.returnDetails:this.options.returnDetails,i=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,{key:a,namespaces:s}=this.extractFromKey(e[e.length-1],n),l=s[s.length-1],u=void 0!==n.nsSeparator?n.nsSeparator:this.options.nsSeparator;void 0===u&&(u=":");let c=n.lng||this.language,d=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c?.toLowerCase()==="cimode")return d?o?{res:`${l}${u}${a}`,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${u}${a}`:o?{res:a,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:a;let p=this.resolve(e,n),f=p?.res,h=p?.usedKey||a,m=p?.exactUsedKey||a,y=void 0!==n.joinArrays?n.joinArrays:this.options.joinArrays,g=!this.i18nFormat||this.i18nFormat.handleAsObject,b=void 0!==n.count&&!a0(n.count),v=sy.hasDefaultValue(n),w=b?this.pluralResolver.getSuffix(c,n.count,n):"",x=n.ordinal&&b?this.pluralResolver.getSuffix(c,n.count,{ordinal:!1}):"",E=b&&!n.ordinal&&0===n.count,S=E&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${w}`]||n[`defaultValue${x}`]||n.defaultValue,D=f;g&&!f&&v&&(D=S);let O=sm(D),P=Object.prototype.toString.apply(D);if(g&&D&&O&&0>["[object Number]","[object Function]","[object RegExp]"].indexOf(P)&&!(a0(y)&&Array.isArray(D))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");let e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,D,{...n,ns:s}):`key '${a} (${this.language})' returned an object instead of string.`;return o?(p.res=e,p.usedParams=this.getUsedParamsDetails(n),p):e}if(i){let e=Array.isArray(D),t=e?[]:{},r=e?m:h;for(let e in D)if(Object.prototype.hasOwnProperty.call(D,e)){let o=`${r}${i}${e}`;v&&!f?t[e]=this.translate(o,{...n,defaultValue:sm(S)?S[e]:void 0,...{joinArrays:!1,ns:s}}):t[e]=this.translate(o,{...n,joinArrays:!1,ns:s}),t[e]===o&&(t[e]=D[e])}f=t}}else if(g&&a0(y)&&Array.isArray(f))(f=f.join(y))&&(f=this.extendTranslation(f,e,n,r));else{let t=!1,o=!1;!this.isValidLookup(f)&&v&&(t=!0,f=S),this.isValidLookup(f)||(o=!0,f=a);let s=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&o?void 0:f,d=v&&S!==f&&this.options.updateMissing;if(o||t||d){if(this.logger.log(d?"updateKey":"missingKey",c,l,a,d?S:f),i){let e=this.resolve(a,{...n,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[],t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if("fallback"===this.options.saveMissingTo&&t&&t[0])for(let r=0;r<t.length;r++)e.push(t[r]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(n.lng||this.language):e.push(n.lng||this.language);let r=(e,t,r)=>{let o=v&&r!==f?r:s;this.options.missingKeyHandler?this.options.missingKeyHandler(e,l,t,o,d,n):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,l,t,o,d,n),this.emit("missingKey",e,l,t,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&b?e.forEach(e=>{let t=this.pluralResolver.getSuffixes(e,n);E&&n[`defaultValue${this.options.pluralSeparator}zero`]&&0>t.indexOf(`${this.options.pluralSeparator}zero`)&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{r([e],a+t,n[`defaultValue${t}`]||S)})}):r(e,a,S))}f=this.extendTranslation(f,e,n,p,r),o&&f===a&&this.options.appendNamespaceToMissingKey&&(f=`${l}${u}${a}`),(o||t)&&this.options.parseMissingKeyHandler&&(f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${a}`:a,t?f:void 0,n))}return o?(p.res=f,p.usedParams=this.getUsedParamsDetails(n),p):f}extendTranslation(e,t,r,n,o){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||n.usedLng,n.usedNS,n.usedKey,{resolved:n});else if(!r.skipInterpolation){let i;r.interpolation&&this.interpolator.init({...r,...{interpolation:{...this.options.interpolation,...r.interpolation}}});let a=a0(e)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);if(a){let t=e.match(this.interpolator.nestingRegexp);i=t&&t.length}let s=r.replace&&!a0(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(s={...this.options.interpolation.defaultVariables,...s}),e=this.interpolator.interpolate(e,s,r.lng||this.language||n.usedLng,r),a){let t=e.match(this.interpolator.nestingRegexp);i<(t&&t.length)&&(r.nest=!1)}!r.lng&&n&&n.res&&(r.lng=this.language||n.usedLng),!1!==r.nest&&(e=this.interpolator.nest(e,(...e)=>o?.[0]!==e[0]||r.context?this.translate(...e,t):(this.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${t[0]}`),null),r)),r.interpolation&&this.interpolator.reset()}let i=r.postProcess||this.options.postProcess,a=a0(i)?[i]:i;return null!=e&&a?.length&&!1!==r.applyPostProcessor&&(e=sd.handle(a,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...n,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e,t={}){let r,n,o,i,a;return a0(e)&&(e=[e]),e.forEach(e=>{if(this.isValidLookup(r))return;let s=this.extractFromKey(e,t),l=s.key;n=l;let u=s.namespaces;this.options.fallbackNS&&(u=u.concat(this.options.fallbackNS));let c=void 0!==t.count&&!a0(t.count),d=c&&!t.ordinal&&0===t.count,p=void 0!==t.context&&(a0(t.context)||"number"==typeof t.context)&&""!==t.context,f=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);u.forEach(e=>{this.isValidLookup(r)||(a=e,!sh[`${f[0]}-${e}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(a)&&(sh[`${f[0]}-${e}`]=!0,this.logger.warn(`key "${n}" for languages "${f.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),f.forEach(n=>{let a;if(this.isValidLookup(r))return;i=n;let s=[l];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(s,l,n,e,t);else{let e;c&&(e=this.pluralResolver.getSuffix(n,t.count,t));let r=`${this.options.pluralSeparator}zero`,o=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(c&&(t.ordinal&&0===e.indexOf(o)&&s.push(l+e.replace(o,this.options.pluralSeparator)),s.push(l+e),d&&s.push(l+r)),p){let n=`${l}${this.options.contextSeparator||"_"}${t.context}`;s.push(n),c&&(t.ordinal&&0===e.indexOf(o)&&s.push(n+e.replace(o,this.options.pluralSeparator)),s.push(n+e),d&&s.push(n+r))}}for(;a=s.pop();)this.isValidLookup(r)||(o=a,r=this.getResource(n,e,a,t))}))})}),{res:r,usedKey:n,exactUsedKey:o,usedLng:i,usedNS:a}}isValidLookup(e){return void 0!==e&&!(!this.options.returnNull&&null===e)&&!(!this.options.returnEmptyString&&""===e)}getResource(e,t,r,n={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,r,n):this.resourceStore.getResource(e,t,r,n)}getUsedParamsDetails(e={}){let t=e.replace&&!a0(e.replace),r=t?e.replace:e;if(t&&void 0!==e.count&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!t)for(let e of(r={...r},["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"]))delete r[e];return r}static hasDefaultValue(e){let t="defaultValue";for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t===r.substring(0,t.length)&&void 0!==e[r])return!0;return!1}}class sg{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=sl.create("languageUtils")}getScriptPartFromCode(e){if(!(e=si(e))||0>e.indexOf("-"))return null;let t=e.split("-");return 2===t.length||(t.pop(),"x"===t[t.length-1].toLowerCase())?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(!(e=si(e))||0>e.indexOf("-"))return e;let t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(a0(e)&&e.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch(e){}return(t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t)?t:this.options.lowerCaseLng?e.toLowerCase():e}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){let t;return e?(e.forEach(e=>{if(t)return;let r=this.formatLanguageCode(e);(!this.options.supportedLngs||this.isSupportedCode(r))&&(t=r)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;let r=this.getScriptPartFromCode(e);if(this.isSupportedCode(r))return t=r;let n=this.getLanguagePartFromCode(e);if(this.isSupportedCode(n))return t=n;t=this.options.supportedLngs.find(e=>{if(e===n||!(0>e.indexOf("-")&&0>n.indexOf("-"))&&(e.indexOf("-")>0&&0>n.indexOf("-")&&e.substring(0,e.indexOf("-"))===n||0===e.indexOf(n)&&n.length>1))return e})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),a0(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let r=e[t];return r||(r=e[this.getScriptPartFromCode(t)]),r||(r=e[this.formatLanguageCode(t)]),r||(r=e[this.getLanguagePartFromCode(t)]),r||(r=e.default),r||[]}toResolveHierarchy(e,t){let r=this.getFallbackCodes((!1===t?[]:t)||this.options.fallbackLng||[],e),n=[],o=e=>{e&&(this.isSupportedCode(e)?n.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return a0(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&o(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&o(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&o(this.getLanguagePartFromCode(e))):a0(e)&&o(this.formatLanguageCode(e)),r.forEach(e=>{0>n.indexOf(e)&&o(this.formatLanguageCode(e))}),n}}let sb={zero:0,one:1,two:2,few:3,many:4,other:5},sv={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class sw{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=sl.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let r,n=si("dev"===e?"en":e),o=t.ordinal?"ordinal":"cardinal",i=JSON.stringify({cleanedCode:n,type:o});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];try{r=new Intl.PluralRules(n,{type:o})}catch(o){if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),sv;if(!e.match(/-|_/))return sv;let n=this.languageUtils.getLanguagePartFromCode(e);r=this.getRule(n,t)}return this.pluralRulesCache[i]=r,r}needsPlural(e,t={}){let r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,r={}){return this.getSuffixes(e,r).map(e=>`${t}${e}`)}getSuffixes(e,t={}){let r=this.getRule(e,t);return(r||(r=this.getRule("dev",t)),r)?r.resolvedOptions().pluralCategories.sort((e,t)=>sb[e]-sb[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`):[]}getSuffix(e,t,r={}){let n=this.getRule(e,r);return n?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${n.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,r))}}let s_=(e,t,r,n=".",o=!0)=>{let i,a=void 0!==(i=a7(e,r))?i:a7(t,r);return!a&&o&&a0(r)&&void 0===(a=so(e,r,n))&&(a=so(t,r,n)),a};class sx{constructor(e={}){this.logger=sl.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});let{escape:t,escapeValue:r,useRawValueToEscape:n,prefix:o,prefixEscaped:i,suffix:a,suffixEscaped:s,formatSeparator:l,unescapeSuffix:u,unescapePrefix:c,nestingPrefix:d,nestingPrefixEscaped:p,nestingSuffix:f,nestingSuffixEscaped:h,nestingOptionsSeparator:m,maxReplaces:y,alwaysFormat:g}=e.interpolation;this.escape=void 0!==t?t:st,this.escapeValue=void 0===r||r,this.useRawValueToEscape=void 0!==n&&n,this.prefix=o?o.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):i||"{{",this.suffix=a?a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):s||"}}",this.formatSeparator=l||",",this.unescapePrefix=u?"":c||"-",this.unescapeSuffix=this.unescapePrefix?"":u||"",this.nestingPrefix=d?d.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):p||"$t(".replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),this.nestingSuffix=f?f.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):h||")".replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),this.nestingOptionsSeparator=m||",",this.maxReplaces=y||1e3,this.alwaysFormat=void 0!==g&&g,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let e=(e,t)=>e?.source===t?(e.lastIndex=0,e):RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,r,n){let o,i,a,s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=e=>{if(0>e.indexOf(this.formatSeparator)){let o=s_(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(o,void 0,r,{...n,...t,interpolationkey:e}):o}let o=e.split(this.formatSeparator),i=o.shift().trim(),a=o.join(this.formatSeparator).trim();return this.format(s_(t,s,i,this.options.keySeparator,this.options.ignoreJSONStructure),a,r,{...n,...t,interpolationkey:i})};this.resetRegExp();let u=n?.missingInterpolationHandler||this.options.missingInterpolationHandler,c=n?.interpolation?.skipOnVariables!==void 0?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>e.replace(/\$/g,"$$$$")},{regex:this.regexp,safeValue:e=>this.escapeValue?this.escape(e).replace(/\$/g,"$$$$"):e.replace(/\$/g,"$$$$")}].forEach(t=>{for(a=0;o=t.regex.exec(e);){let r=o[1].trim();if(void 0===(i=l(r)))if("function"==typeof u){let t=u(e,o,n);i=a0(t)?t:""}else if(n&&Object.prototype.hasOwnProperty.call(n,r))i="";else if(c){i=o[0];continue}else this.logger.warn(`missed to pass in variable ${r} for interpolating ${e}`),i="";else a0(i)||this.useRawValueToEscape||(i=a2(i));let s=t.safeValue(i);if(e=e.replace(o[0],s),c?(t.regex.lastIndex+=i.length,t.regex.lastIndex-=o[0].length):t.regex.lastIndex=0,++a>=this.maxReplaces)break}}),e}nest(e,t,r={}){let n,o,i,a=(e,t)=>{let r=this.nestingOptionsSeparator;if(0>e.indexOf(r))return e;let n=e.split(RegExp(`${r}[ ]*{`)),o=`{${n[1]}`;e=n[0];let a=(o=this.interpolate(o,i)).match(/'/g),s=o.match(/"/g);((a?.length??0)%2!=0||s)&&s.length%2==0||(o=o.replace(/'/g,'"'));try{i=JSON.parse(o),t&&(i={...t,...i})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${r}${o}`}return i.defaultValue&&i.defaultValue.indexOf(this.prefix)>-1&&delete i.defaultValue,e};for(;n=this.nestingRegexp.exec(e);){let s=[];(i=(i={...r}).replace&&!a0(i.replace)?i.replace:i).applyPostProcessor=!1,delete i.defaultValue;let l=/{.*}/.test(n[1])?n[1].lastIndexOf("}")+1:n[1].indexOf(this.formatSeparator);if(-1!==l&&(s=n[1].slice(l).split(this.formatSeparator).map(e=>e.trim()).filter(Boolean),n[1]=n[1].slice(0,l)),(o=t(a.call(this,n[1].trim(),i),i))&&n[0]===e&&!a0(o))return o;a0(o)||(o=a2(o)),o||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${e}`),o=""),s.length&&(o=s.reduce((e,t)=>this.format(e,t,r.lng,{...r,interpolationkey:n[1].trim()}),o.trim())),e=e.replace(n[0],o),this.regexp.lastIndex=0}return e}}let sE=e=>{let t={};return(r,n,o)=>{let i=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(i={...i,[o.interpolationkey]:void 0});let a=n+JSON.stringify(i),s=t[a];return s||(s=e(si(n),o),t[a]=s),s(r)}},sS=e=>(t,r,n)=>e(si(r),n)(t);class sD{constructor(e={}){this.logger=sl.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";let r=t.cacheInBuiltFormats?sE:sS;this.formats={number:r((e,t)=>{let r=new Intl.NumberFormat(e,{...t});return e=>r.format(e)}),currency:r((e,t)=>{let r=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>r.format(e)}),datetime:r((e,t)=>{let r=new Intl.DateTimeFormat(e,{...t});return e=>r.format(e)}),relativetime:r((e,t)=>{let r=new Intl.RelativeTimeFormat(e,{...t});return e=>r.format(e,t.range||"day")}),list:r((e,t)=>{let r=new Intl.ListFormat(e,{...t});return e=>r.format(e)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=sE(t)}format(e,t,r,n={}){let o=t.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&0>o[0].indexOf(")")&&o.find(e=>e.indexOf(")")>-1)){let e=o.findIndex(e=>e.indexOf(")")>-1);o[0]=[o[0],...o.splice(1,e)].join(this.formatSeparator)}return o.reduce((e,t)=>{let{formatName:o,formatOptions:i}=(e=>{let t=e.toLowerCase().trim(),r={};if(e.indexOf("(")>-1){let n=e.split("(");t=n[0].toLowerCase().trim();let o=n[1].substring(0,n[1].length-1);"currency"===t&&0>o.indexOf(":")?r.currency||(r.currency=o.trim()):"relativetime"===t&&0>o.indexOf(":")?r.range||(r.range=o.trim()):o.split(";").forEach(e=>{if(e){let[t,...n]=e.split(":"),o=n.join(":").trim().replace(/^'+|'+$/g,""),i=t.trim();r[i]||(r[i]=o),"false"===o&&(r[i]=!1),"true"===o&&(r[i]=!0),isNaN(o)||(r[i]=parseInt(o,10))}})}return{formatName:t,formatOptions:r}})(t);if(this.formats[o]){let t=e;try{let a=n?.formatParams?.[n.interpolationkey]||{},s=a.locale||a.lng||n.locale||n.lng||r;t=this.formats[o](e,s,{...i,...n,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${o}`),e},e)}}class sO extends su{constructor(e,t,r,n={}){super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=n,this.logger=sl.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=n.maxParallelReads||10,this.readingCalls=0,this.maxRetries=n.maxRetries>=0?n.maxRetries:5,this.retryTimeout=n.retryTimeout>=1?n.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,n.backend,n)}queueLoad(e,t,r,n){let o={},i={},a={},s={};return e.forEach(e=>{let n=!0;t.forEach(t=>{let a=`${e}|${t}`;!r.reload&&this.store.hasResourceBundle(e,t)?this.state[a]=2:this.state[a]<0||(1===this.state[a]?void 0===i[a]&&(i[a]=!0):(this.state[a]=1,n=!1,void 0===i[a]&&(i[a]=!0),void 0===o[a]&&(o[a]=!0),void 0===s[t]&&(s[t]=!0)))}),n||(a[e]=!0)}),(Object.keys(o).length||Object.keys(i).length)&&this.queue.push({pending:i,pendingCount:Object.keys(i).length,loaded:{},errors:[],callback:n}),{toLoad:Object.keys(o),pending:Object.keys(i),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(s)}}loaded(e,t,r){let n=e.split("|"),o=n[0],i=n[1];t&&this.emit("failedLoading",o,i,t),!t&&r&&this.store.addResourceBundle(o,i,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0);let a={};this.queue.forEach(r=>{((e,t,r,n)=>{let{obj:o,k:i}=a5(e,t,Object);o[i]=o[i]||[],o[i].push(r)})(r.loaded,[o],i),void 0!==r.pending[e]&&(delete r.pending[e],r.pendingCount--),t&&r.errors.push(t),0!==r.pendingCount||r.done||(Object.keys(r.loaded).forEach(e=>{a[e]||(a[e]={});let t=r.loaded[e];t.length&&t.forEach(t=>{void 0===a[e][t]&&(a[e][t]=!0)})}),r.done=!0,r.errors.length?r.callback(r.errors):r.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(e=>!e.done)}read(e,t,r,n=0,o=this.retryTimeout,i){if(!e.length)return i(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:r,tried:n,wait:o,callback:i});this.readingCalls++;let a=(a,s)=>{if(this.readingCalls--,this.waitingReads.length>0){let e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}a&&s&&n<this.maxRetries?setTimeout(()=>{this.read.call(this,e,t,r,n+1,2*o,i)},o):i(a,s)},s=this.backend[r].bind(this.backend);if(2===s.length){try{let r=s(e,t);r&&"function"==typeof r.then?r.then(e=>a(null,e)).catch(a):a(null,r)}catch(e){a(e)}return}return s(e,t,a)}prepareLoading(e,t,r={},n){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),n&&n();a0(e)&&(e=this.languageUtils.toResolveHierarchy(e)),a0(t)&&(t=[t]);let o=this.queueLoad(e,t,r,n);if(!o.toLoad.length)return o.pending.length||n(),null;o.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,r){this.prepareLoading(e,t,{},r)}reload(e,t,r){this.prepareLoading(e,t,{reload:!0},r)}loadOne(e,t=""){let r=e.split("|"),n=r[0],o=r[1];this.read(n,o,"read",void 0,void 0,(r,i)=>{r&&this.logger.warn(`${t}loading namespace ${o} for language ${n} failed`,r),!r&&i&&this.logger.log(`${t}loaded namespace ${o} for language ${n}`,i),this.loaded(e,r,i)})}saveMissing(e,t,r,n,o,i={},a=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t))return void this.logger.warn(`did not save key "${r}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");if(null!=r&&""!==r){if(this.backend?.create){let s={...i,isUpdate:o},l=this.backend.create.bind(this.backend);if(l.length<6)try{let o;(o=5===l.length?l(e,t,r,n,s):l(e,t,r,n))&&"function"==typeof o.then?o.then(e=>a(null,e)).catch(a):a(null,o)}catch(e){a(e)}else l(e,t,r,n,a,s)}e&&e[0]&&this.store.addResource(e[0],t,r,n)}}}let sP=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if("object"==typeof e[1]&&(t=e[1]),a0(e[1])&&(t.defaultValue=e[1]),a0(e[2])&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){let r=e[3]||e[2];Object.keys(r).forEach(e=>{t[e]=r[e]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),sC=e=>(a0(e.ns)&&(e.ns=[e.ns]),a0(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),a0(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),"boolean"==typeof e.initImmediate&&(e.initAsync=e.initImmediate),e),sk=()=>{};class sj extends su{constructor(e={},t){if(super(),this.options=sC(e),this.services={},this.logger=sl,this.modules={external:[]},(e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(t=>{"function"==typeof e[t]&&(e[t]=e[t].bind(e))})})(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,"function"==typeof e&&(t=e,e={}),null==e.defaultNS&&e.ns&&(a0(e.ns)?e.defaultNS=e.ns:0>e.ns.indexOf("translation")&&(e.defaultNS=e.ns[0]));let r=sP();this.options={...r,...this.options,...sC(e)},this.options.interpolation={...r.interpolation,...this.options.interpolation},void 0!==e.keySeparator&&(this.options.userDefinedKeySeparator=e.keySeparator),void 0!==e.nsSeparator&&(this.options.userDefinedNsSeparator=e.nsSeparator);let n=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let e;this.modules.logger?sl.init(n(this.modules.logger),this.options):sl.init(null,this.options),e=this.modules.formatter?this.modules.formatter:sD;let t=new sg(this.options);this.store=new sc(this.options.resources,this.options);let o=this.services;o.logger=sl,o.resourceStore=this.store,o.languageUtils=t,o.pluralResolver=new sw(t,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),e&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(o.formatter=n(e),o.formatter.init&&o.formatter.init(o,this.options),this.options.interpolation.format=o.formatter.format.bind(o.formatter)),o.interpolator=new sx(this.options),o.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},o.backendConnector=new sO(n(this.modules.backend),o.resourceStore,o,this.options),o.backendConnector.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(o.languageDetector=n(this.modules.languageDetector),o.languageDetector.init&&o.languageDetector.init(o,this.options.detection,this.options)),this.modules.i18nFormat&&(o.i18nFormat=n(this.modules.i18nFormat),o.i18nFormat.init&&o.i18nFormat.init(this)),this.translator=new sy(this.services,this.options),this.translator.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,t||(t=sk),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(e=>{this[e]=(...t)=>this.store[e](...t)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(e=>{this[e]=(...t)=>(this.store[e](...t),this)});let o=a1(),i=()=>{let e=(e,r)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),o.resolve(r),t(e,r)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?i():setTimeout(i,0),o}loadResources(e,t=sk){let r=t,n=a0(e)?e:this.language;if("function"==typeof e&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if(n?.toLowerCase()==="cimode"&&(!this.options.preload||0===this.options.preload.length))return r();let e=[],t=t=>{t&&"cimode"!==t&&this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{"cimode"!==t&&0>e.indexOf(t)&&e.push(t)})};n?t(n):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>t(e)),this.options.preload?.forEach?.(e=>t(e)),this.services.backendConnector.load(e,this.options.ns,e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),r(e)})}else r(null)}reloadResources(e,t,r){let n=a1();return"function"==typeof e&&(r=e,e=void 0),"function"==typeof t&&(r=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),r||(r=sk),this.services.backendConnector.reload(e,t,e=>{n.resolve(),r(e)}),n}use(e){if(!e)throw Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&sd.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1)){for(let e=0;e<this.languages.length;e++){let t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&0>this.languages.indexOf(e)&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;let r=a1();this.emit("languageChanging",e);let n=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},o=(o,i)=>{i?this.isLanguageChangingTo===e&&(n(i),this.translator.changeLanguage(i),this.isLanguageChangingTo=void 0,this.emit("languageChanged",i),this.logger.log("languageChanged",i)):this.isLanguageChangingTo=void 0,r.resolve((...e)=>this.t(...e)),t&&t(o,(...e)=>this.t(...e))},i=t=>{e||t||!this.services.languageDetector||(t=[]);let r=a0(t)?t:t&&t[0],i=this.store.hasLanguageSomeTranslations(r)?r:this.services.languageUtils.getBestMatchFromCodes(a0(t)?[t]:t);i&&(this.language||n(i),this.translator.language||this.translator.changeLanguage(i),this.services.languageDetector?.cacheUserLanguage?.(i)),this.loadResources(i,e=>{o(e,i)})};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(i):this.services.languageDetector.detect(i):i(e):i(this.services.languageDetector.detect()),r}getFixedT(e,t,r){let n=(e,t,...o)=>{let i,a;(i="object"!=typeof t?this.options.overloadTranslationOptionHandler([e,t].concat(o)):{...t}).lng=i.lng||n.lng,i.lngs=i.lngs||n.lngs,i.ns=i.ns||n.ns,""!==i.keyPrefix&&(i.keyPrefix=i.keyPrefix||r||n.keyPrefix);let s=this.options.keySeparator||".";return i.keyPrefix&&Array.isArray(e)?a=e.map(e=>("function"==typeof e&&(e=sf(e,{...this.options,...t})),`${i.keyPrefix}${s}${e}`)):("function"==typeof e&&(e=sf(e,{...this.options,...t})),a=i.keyPrefix?`${i.keyPrefix}${s}${e}`:e),this.t(a,i)};return a0(e)?n.lng=e:n.lngs=e,n.ns=t,n.keyPrefix=r,n}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;let r=t.lng||this.resolvedLanguage||this.languages[0],n=!!this.options&&this.options.fallbackLng,o=this.languages[this.languages.length-1];if("cimode"===r.toLowerCase())return!0;let i=(e,t)=>{let r=this.services.backendConnector.state[`${e}|${t}`];return -1===r||0===r||2===r};if(t.precheck){let e=t.precheck(this,i);if(void 0!==e)return e}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||i(r,e)&&(!n||i(o,e)))}loadNamespaces(e,t){let r=a1();return this.options.ns?(a0(e)&&(e=[e]),e.forEach(e=>{0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){let r=a1();a0(e)&&(e=[e]);let n=this.options.preload||[],o=e.filter(e=>0>n.indexOf(e)&&this.services.languageUtils.isSupportedCode(e));return o.length?(this.options.preload=n.concat(o),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";try{let t=new Intl.Locale(e);if(t&&t.getTextInfo){let e=t.getTextInfo();if(e&&e.direction)return e.direction}}catch(e){}let t=this.services?.languageUtils||new sg(sP());return e.toLowerCase().indexOf("-latn")>1?"ltr":["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){return new sj(e,t)}cloneInstance(e={},t=sk){let r=e.forkResourceStore;r&&delete e.forkResourceStore;let n={...this.options,...e,isClone:!0},o=new sj(n);return(void 0!==e.debug||void 0!==e.prefix)&&(o.logger=o.logger.clone(e)),["store","services","language"].forEach(e=>{o[e]=this[e]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new sc(Object.keys(this.store.data).reduce((e,t)=>(e[t]={...this.store.data[t]},e[t]=Object.keys(e[t]).reduce((r,n)=>(r[n]={...e[t][n]},r),e[t]),e),{}),n),o.services.resourceStore=o.store),o.translator=new sy(o.services,n),o.translator.on("*",(e,...t)=>{o.emit(e,...t)}),o.init(n,t),o.translator.options=n,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}let sT=sj.createInstance();sT.createInstance=sj.createInstance,sT.createInstance,sT.dir,sT.init,sT.loadResources,sT.reloadResources,sT.use,sT.changeLanguage,sT.getFixedT,sT.t,sT.exists,sT.setDefaultNamespace,sT.hasLoadedNamespace,sT.loadNamespaces,sT.loadLanguages;let sR=sT.default||sT;function sN(e,t,r,n){return sR.t(t,{ns:e,defaultValue:r,...n})}function sA(e,t,r){return aQ[e]?sN("core",e,t??aQ[e],r):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}sR.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let sM="import-map-override:",s$="import-map-overrides-disabled",sI="import-map-overrides:change",sL=!1,sF=null,sB=null;async function sV(){return sB??(sB=sU().then(({map:e,complete:t})=>(t||(sB=null),e))),sB}async function sU(){let e=document.querySelectorAll('script[type="systemjs-importmap"]'),t=[],r=!0;for(let n=0;n<e.length;n++){let o=e[n];try{if(o.src){let e=await fetch(o.src);if(!e.ok)throw Error(`Request for ${o.src} returned ${e.status} ${e.statusText}`);t.push(await e.json())}else o.textContent&&t.push(JSON.parse(o.textContent))}catch(e){r=!1,console.warn(`[import-maps] Failed to parse import map from script tag at index ${n}`,e)}}return{map:sW(t),complete:r}}function sW(e){let t={imports:{}};for(let r of e)r?.imports&&Object.assign(t.imports,r.imports);return t}function sz(){let e={};try{let t=sY();for(let r=0;r<localStorage.length;r++){let n=localStorage.key(r);if(n?.startsWith(sM)){let r=n.slice(sM.length);if(!t.includes(r)){let t=localStorage.getItem(n);t&&(e[r]=t)}}}}catch(e){console.warn("[import-maps] Failed to read import-map overrides from localStorage",e)}return{imports:e}}async function sK(){let e=await sV();return sL?sW([e,sF??sz()]):e}async function sH(){return sV()}async function sG(){return sL?sW([await sV(),sz()]):sV()}function sq(e){if(!sL)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);if(r?.startsWith(sM)){let t=localStorage.getItem(r);t&&(e[r.slice(sM.length)]=t)}}return{imports:e}}return sz()}function sY(){if(!sL)return[];try{let e=localStorage.getItem(s$);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function sZ(e){return!!sL&&sY().includes(e)}function sJ(e,t){if(!sL)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(sM+e,t),window.dispatchEvent(new CustomEvent(sI))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function sX(e){if(!sL)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(sM+e);let t=sY().filter(t=>t!==e);t.length>0?localStorage.setItem(s$,JSON.stringify(t)):localStorage.removeItem(s$),window.dispatchEvent(new CustomEvent(sI))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function sQ(){if(!sL)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);r?.startsWith(sM)&&e.push(r)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(s$),window.dispatchEvent(new CustomEvent(sI))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function s0(e){if(!sL)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=sY().filter(t=>t!==e);t.length>0?localStorage.setItem(s$,JSON.stringify(t)):localStorage.removeItem(s$),window.dispatchEvent(new CustomEvent(sI))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let s1=!1;function s2(){!s1&&(s1=!0,(sL="development"===window.spaEnv)&&(sF=sz()))}function s4(e){return e.replace(/[\/\-@]/g,"_")}async function s3(e,t="./start",n){var o;let i,a=!n?.maxLoadingTime||n.maxLoadingTime<=0?6e5:n.maxLoadingTime;await Promise.race([s6(e,n?.importMap),new Promise((t,r)=>{i=setTimeout(()=>{var t;r(Error(`Could not resolve requested script, ${e}, within ${(t=a)<1e3?`${t} milliseconds`:t<6e4?`${Math.floor(t/1e3)} seconds`:t<36e5?`${Math.floor(t/6e4)} minutes`:t<864e5?`${Math.floor(t/36e5)} hours`:`${Math.floor(t/864e5)} days`}.`))},a)})]),i&&clearTimeout(i);let s=s4(e),l=window[s];if(!("object"==typeof(o=l)&&null!==o&&"init"in o&&"function"==typeof o.init&&"get"in o&&"function"==typeof o.get)){let e=`The global variable ${s} does not refer to a federated module`;throw console.error(e),Error(e)}l.init(r.S.default);let u=(await l.get(t))();if("object"!=typeof u||null===u){let t=`Container for ${e} did not return an ESM module as expected`;throw console.error(t),Error(t)}return u}async function s6(e,t){if("string"!=typeof e||0===e.trim().length){let e="Attempted to call importDynamic() without supplying a package to load";throw console.error(e),Error(e)}let r=s4(e);if(!window[r]){let r=t??await s5();if(!r.imports.hasOwnProperty(e)){let t=`Could not find the package ${e} defined in the current importmap`;throw console.error(t),Error(t)}let n=r.imports[e];n.startsWith("./")&&(n=window.spaBase+n.substring(1));let o=e in sq().imports;try{return await function(e){var t;let r=(t=window)[s9]??(t[s9]=new Map),n=r.get(e);if(n)return n;if(document.head.querySelector(`script[src="${e}"]`))return console.warn(`Script at ${e} already loaded. Not loading it again.`),Promise.resolve();let o=document.createElement("script");o.src=e,o.type="text/javascript",o.async=!0;let i=new Promise((t,n)=>{let i=setTimeout(()=>{console.error(`The script at ${e} did not load within 5 seconds. This may indicate an issue with the imports in the script's entry-point file or with the script's bundler configuration.`)},5e3);function a(){clearTimeout(i),o.removeEventListener("load",s),o.removeEventListener("error",l)}function s(){a(),t()}function l(t){a(),r.delete(e),o.remove();let i=`Failed to load script from ${e}`;console.error(i,t),n(t.message??i)}o.addEventListener("load",s),o.addEventListener("error",l),document.head.appendChild(o)});return r.set(e,i),i}(n)}catch(e){return o&&T({kind:"error",title:sA("scriptLoadingFailed","Error: Script failed to load"),description:sA("scriptLoadingError","Failed to load overridden script from {{- url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",{url:n}),actionButtonLabel:sA("resetOverrides","Reset overrides"),onActionButtonClick(){sQ(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function s5(){return sK()}let s9=Symbol.for("__openmrs_script_loading");function s7(e){return!!e&&"object"==typeof e&&!(Object.hasOwn(e,"pages")&&(!e.pages||!Array.isArray(e.pages))||Object.hasOwn(e,"extensions")&&(!e.extensions||!Array.isArray(e.extensions))||Object.hasOwn(e,"workspaces")&&(!e.workspaces||!Array.isArray(e.workspaces))||Object.hasOwn(e,"modals")&&(!e.modals||!Array.isArray(e.modals)))}function s8(e){return!!e&&"object"==typeof e&&"routes"in e&&!!e.routes&&"object"==typeof e.routes&&Object.entries(e.routes).every(([e,t])=>"string"==typeof e&&s7(t))}let le="openmrs-routes:",lt="openmrs-routes:change",lr=!1,ln=null,lo=null;async function li(){return lo??(lo=la().then(({map:e,complete:t})=>(t||(lo=null),e))),lo}async function la(){let e=document.querySelectorAll("script[type='openmrs-routes']"),t=[],r=!0;for(let n=0;n<e.length;n++){let o=e[n];try{let e;if(o.src){let t=await fetch(o.src);if(!t.ok)throw Error(`Request for ${o.src} returned ${t.status} ${t.statusText}`);e=await t.json()}else o.textContent&&(e=JSON.parse(o.textContent));e&&s8(e)&&t.push(e)}catch(e){r=!1,console.warn(`[route-maps] Failed to parse routes from script tag at index ${n}`,e)}}return{map:ls(t),complete:r}}function ls(e){let t={routes:{}};for(let r of e)r&&"object"==typeof r&&!Array.isArray(r)&&(Object.assign(t.routes,r.routes),void 0===t.version&&void 0!==r.version&&(t.version=r.version));return t}async function ll(){let e={version:void 0,routes:{}};try{let t=[];for(let e=0;e<localStorage.length;e++){let r=localStorage.key(e);if(r?.startsWith(le)){let e=localStorage.getItem(r);e&&t.push({moduleName:r.slice(le.length),raw:e})}}for(let r of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let r=JSON.parse(t);if(s7(r))return{moduleName:e,routes:r};if("string"==typeof r&&r.startsWith("http")){let t=await fetch(r),n=await t.json();if(s7(n))return{moduleName:e,routes:n};throw Error(`${r} did not resolve to a valid OpenmrsAppRoutes object`)}throw Error(`Override for ${e} is neither a valid routes object nor a URL`)}))))"fulfilled"===r.status?e.routes[r.value.moduleName]=r.value.routes:console.warn("[route-maps] Failed to load route override",r.reason)}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}async function lu(){let e=await li();return lr?ls([e,ln??await ll()]):e}async function lc(){return li()}async function ld(){return lr?ls([await li(),await ll()]):li()}function lp(){if(!lr)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);if(r?.startsWith(le)){let t=localStorage.getItem(r);t&&(e[r.slice(le.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function lf(e,t){if(!lr)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(le+e,JSON.stringify(t));else{let r=JSON.parse(t);if(!s7(r))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(le+e,JSON.stringify(r))}else if(t instanceof URL)localStorage.setItem(le+e,JSON.stringify(t.toString()));else{if(!s7(t))return void console.error(`Override for ${e} is not in a valid format. Expected either a Javascript Object, a JSON string of a Javascript object, or a URL`,t);localStorage.setItem(le+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(lt))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function lh(e){if(!lr)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(le+e),window.dispatchEvent(new CustomEvent(lt))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function lm(){if(!lr)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);r?.startsWith(le)&&e.push(r)}e.forEach(e=>localStorage.removeItem(e)),window.dispatchEvent(new CustomEvent(lt))}catch(e){console.warn("[route-maps] Failed to clear route overrides from localStorage",e)}}let ly=null;function lg(){return ly||(ly=(lr="development"===window.spaEnv)?ll().then(e=>{ln=e}):Promise.resolve())}let lb=`${aj}/attachment`;function lv(e,t){return aA(`${lb}/${e}`,{signal:t.signal})}function lw(e,t,r,n){return aA(l_(e,t,n),{signal:r.signal})}function l_(e,t,r){return r?`${lb}?patient=${e}&encounter=${r}`:`${lb}?patient=${e}&includeEncounterless=${t}`}async function lx(e,t,r){let n=new FormData;return n.append("fileCaption",t.fileDescription),n.append("patient",e),r&&n.append("encounter",r),t.file?n.append("file",t.file,t.fileName):(n.append("file",new File([""],t.fileName),t.fileName),n.append("base64Content",t.base64Content)),aA(`${lb}`,{method:"POST",body:n})}function lE(e,t){return aA(`${lb}/${e}`,{method:"DELETE",signal:t.signal})}try{self["workbox:window:6.5.4"]&&_()}catch(e){}function lS(e,t){return new Promise(function(r){var n=new MessageChannel;n.port1.onmessage=function(e){r(e.data)},e.postMessage(t,[n.port2])})}function lD(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function lO(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}try{self["workbox:core:6.5.4"]&&_()}catch(e){}var lP=function(){var e=this;this.promise=new Promise(function(t,r){e.resolve=t,e.reject=r})};function lC(e,t){var r=location.href;return new URL(e,r).href===new URL(t,r).href}var lk=function(e,t){this.type=e,Object.assign(this,t)};function lj(e,t,r){return r?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}function lT(){}var lR={type:"SKIP_WAITING"};function lN(e,t){if(!t)return e&&e.then?e.then(lT):Promise.resolve()}var lA=function(e){function t(t,r){var n,o;return void 0===r&&(r={}),(n=e.call(this)||this).nn={},n.tn=0,n.rn=new lP,n.en=new lP,n.on=new lP,n.un=0,n.an=new Set,n.cn=function(){var e=n.fn,t=e.installing;n.tn>0||!lC(t.scriptURL,n.sn.toString())||performance.now()>n.un+6e4?(n.vn=t,e.removeEventListener("updatefound",n.cn)):(n.hn=t,n.an.add(t),n.rn.resolve(t)),++n.tn,t.addEventListener("statechange",n.ln)},n.ln=function(e){var t=n.fn,r=e.target,o=r.state,i=r===n.vn,a={sw:r,isExternal:i,originalEvent:e};!i&&n.mn&&(a.isUpdate=!0),n.dispatchEvent(new lk(o,a)),"installed"===o?n.wn=self.setTimeout(function(){"installed"===o&&t.waiting===r&&n.dispatchEvent(new lk("waiting",a))},200):"activating"===o&&(clearTimeout(n.wn),i||n.en.resolve(r))},n.dn=function(e){var t=n.hn,r=t!==navigator.serviceWorker.controller;n.dispatchEvent(new lk("controlling",{isExternal:r,originalEvent:e,sw:t,isUpdate:n.mn})),r||n.on.resolve(t)},o=function(e){var t=e.data,r=e.ports,o=e.source;return lj(n.getSW(),function(){n.an.has(o)&&n.dispatchEvent(new lk("message",{data:t,originalEvent:e,ports:r,sw:o}))})},n.gn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];try{return Promise.resolve(o.apply(this,e))}catch(e){return Promise.reject(e)}},n.sn=t,n.nn=r,navigator.serviceWorker.addEventListener("message",n.gn),n}t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e;var r,n,o=t.prototype;return o.register=function(e){var t=(void 0===e?{}:e).immediate,r=void 0!==t&&t;try{var n,o,i,a=this;return n=function(){if(!r&&"complete"!==document.readyState)return lN(new Promise(function(e){return window.addEventListener("load",e)}))},o=function(){return a.mn=!!navigator.serviceWorker.controller,a.yn=a.pn(),lj(a.bn(),function(e){a.fn=e,a.yn&&(a.hn=a.yn,a.en.resolve(a.yn),a.on.resolve(a.yn),a.yn.addEventListener("statechange",a.ln,{once:!0}));var t=a.fn.waiting;return t&&lC(t.scriptURL,a.sn.toString())&&(a.hn=t,Promise.resolve().then(function(){a.dispatchEvent(new lk("waiting",{sw:t,wasWaitingBeforeRegister:!0}))}).then(function(){})),a.hn&&(a.rn.resolve(a.hn),a.an.add(a.hn)),a.fn.addEventListener("updatefound",a.cn),navigator.serviceWorker.addEventListener("controllerchange",a.dn),a.fn})},(i=n())&&i.then?i.then(o):o(i)}catch(e){return Promise.reject(e)}},o.update=function(){try{return this.fn?lN(this.fn.update()):void 0}catch(e){return Promise.reject(e)}},o.getSW=function(){return void 0!==this.hn?Promise.resolve(this.hn):this.rn.promise},o.messageSW=function(e){try{return lj(this.getSW(),function(t){return lS(t,e)})}catch(e){return Promise.reject(e)}},o.messageSkipWaiting=function(){this.fn&&this.fn.waiting&&lS(this.fn.waiting,lR)},o.pn=function(){var e=navigator.serviceWorker.controller;return e&&lC(e.scriptURL,this.sn.toString())?e:void 0},o.bn=function(){try{var e=this;return function(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}(function(){return lj(navigator.serviceWorker.register(e.sn,e.nn),function(t){return e.un=performance.now(),t})},function(e){throw e})}catch(e){return Promise.reject(e)}},r=[{key:"active",get:function(){return this.en.promise}},{key:"controlling",get:function(){return this.on.promise}}],lD(t.prototype,r),n&&lD(t,n),t}(function(){function e(){this.Pn=new Map}var t=e.prototype;return t.addEventListener=function(e,t){this.Sn(e).add(t)},t.removeEventListener=function(e,t){this.Sn(e).delete(t)},t.dispatchEvent=function(e){e.target=this;for(var t,r=function(e){var t;if("u"<typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(t=function(e){if(e){if("string"==typeof e)return lO(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?lO(e,void 0):void 0}}(e))){t&&(e=t);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(t=e[Symbol.iterator]()).next.bind(t)}(this.Sn(e.type));!(t=r()).done;)(0,t.value)(e)},t.Sn=function(e){return this.Pn.has(e)||this.Pn.set(e,new Set),this.Pn.get(e)},e}());function lM(e,t){if(void 0!==p)return console.warn(`The application's Service Worker has already been registered. The new service worker at ${e} will not be registered.`),p;if(!("serviceWorker"in navigator))throw Error("Registering the Service Worker is not possible due to missing browser capabilities.");let r=new lA(e,t);return p=r.register().then(()=>r.controlling.then(()=>r))}function l$(){return p??Promise.resolve(void 0)}let lI="x-omrs-offline-response-body",lL="x-omrs-offline-response-status",lF="x-omrs-offline-caching-strategy";async function lB(e){let t=await l$();return t?await t.messageSW(e):{success:!1,result:void 0,error:"No service worker has been registered. This is typically the case when the application has been built without offline-related features."}}async function lV(){let e=window.sessionStorage;try{e.setItem("someKeyHere","test"),e.removeItem("someKeyHere")}catch(t){if(t.code===DOMException.QUOTA_EXCEEDED_ERR&&0===e.length)return!0}return!1}async function lU(){return!window.indexedDB}async function lW(){return new Promise(e=>{let t=indexedDB.open("test");t.onerror=()=>e(!0),t.onsuccess=()=>e(!1)})}async function lz(){return await lW()||await lU()||await lV()}let lK="openmrs3:offline-mode",lH="unavailable";function lG(){return{current:lH,notAvailable:"unavailable"===lH,active:"on"===lH}}function lq(e){"unavailable"!==lH&&"unavailable"!==e&&(localStorage.setItem(lK,"on"===e?"active":"disabled"),lH=e)}async function lY(){await lz()||(lH="active"===localStorage.getItem(lK)?"on":"off"),navigator.onLine}let lZ="u">typeof globalThis?globalThis:"u">typeof self?self:"u">typeof window?window:global,lJ=Object.keys,lX=Array.isArray;function lQ(e,t){return"object"!=typeof t||lJ(t).forEach(function(r){e[r]=t[r]}),e}"u"<typeof Promise||lZ.Promise||(lZ.Promise=Promise);let l0=Object.getPrototypeOf,l1={}.hasOwnProperty;function l2(e,t){return l1.call(e,t)}function l4(e,t){"function"==typeof t&&(t=t(l0(e))),("u"<typeof Reflect?lJ:Reflect.ownKeys)(t).forEach(r=>{l6(e,r,t[r])})}let l3=Object.defineProperty;function l6(e,t,r,n){l3(e,t,lQ(r&&l2(r,"get")&&"function"==typeof r.get?{get:r.get,set:r.set,configurable:!0}:{value:r,configurable:!0,writable:!0},n))}function l5(e){return{from:function(t){return e.prototype=Object.create(t.prototype),l6(e.prototype,"constructor",e),{extend:l4.bind(null,e.prototype)}}}}let l9=Object.getOwnPropertyDescriptor;function l7(e,t){let r;return l9(e,t)||(r=l0(e))&&l7(r,t)}let l8=[].slice;function ue(e,t,r){return l8.call(e,t,r)}function ut(e,t){return t(e)}function ur(e){if(!e)throw Error("Assertion Failed")}function un(e){lZ.setImmediate?setImmediate(e):setTimeout(e,0)}function uo(e,t){return e.reduce((e,r,n)=>{var o=t(r,n);return o&&(e[o[0]]=o[1]),e},{})}function ui(e,t){if("string"==typeof t&&l2(e,t))return e[t];if(!t)return e;if("string"!=typeof t){for(var r=[],n=0,o=t.length;n<o;++n){var i=ui(e,t[n]);r.push(i)}return r}var a=t.indexOf(".");if(-1!==a){var s=e[t.substr(0,a)];return null==s?void 0:ui(s,t.substr(a+1))}}function ua(e,t,r){if(e&&void 0!==t&&(!("isFrozen"in Object)||!Object.isFrozen(e)))if("string"!=typeof t&&"length"in t){ur("string"!=typeof r&&"length"in r);for(var n=0,o=t.length;n<o;++n)ua(e,t[n],r[n])}else{var i=t.indexOf(".");if(-1!==i){var a=t.substr(0,i),s=t.substr(i+1);if(""===s)void 0===r?lX(e)&&!isNaN(parseInt(a))?e.splice(a,1):delete e[a]:e[a]=r;else{var l=e[a];l&&l2(e,a)||(l=e[a]={}),ua(l,s,r)}}else void 0===r?lX(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=r}}function us(e){var t={};for(var r in e)l2(e,r)&&(t[r]=e[r]);return t}let ul=[].concat;function uu(e){return ul.apply([],e)}let uc="BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(uu([8,16,32,64].map(e=>["Int","Uint","Float"].map(t=>t+e+"Array")))).filter(e=>lZ[e]),ud=uc.map(e=>lZ[e]);uo(uc,e=>[e,!0]);let up=null;function uf(e){up="u">typeof WeakMap&&new WeakMap;let t=function e(t){if(!t||"object"!=typeof t)return t;let r=up&&up.get(t);if(r)return r;if(lX(t)){r=[],up&&up.set(t,r);for(var n=0,o=t.length;n<o;++n)r.push(e(t[n]))}else if(ud.indexOf(t.constructor)>=0)r=t;else{let n=l0(t);for(var i in r=n===Object.prototype?{}:Object.create(n),up&&up.set(t,r),t)l2(t,i)&&(r[i]=e(t[i]))}return r}(e);return up=null,t}let{toString:uh}={};function um(e){return uh.call(e).slice(8,-1)}let uy="u">typeof Symbol?Symbol.iterator:"@@iterator",ug="symbol"==typeof uy?function(e){var t;return null!=e&&(t=e[uy])&&t.apply(e)}:function(){return null},ub={};function uv(e){var t,r,n,o;if(1==arguments.length){if(lX(e))return e.slice();if(this===ub&&"string"==typeof e)return[e];if(o=ug(e)){for(r=[];!(n=o.next()).done;)r.push(n.value);return r}if(null==e)return[e];if("number"==typeof(t=e.length)){for(r=Array(t);t--;)r[t]=e[t];return r}return[e]}for(t=arguments.length,r=Array(t);t--;)r[t]=arguments[t];return r}let uw="u">typeof Symbol?e=>"AsyncFunction"===e[Symbol.toStringTag]:()=>!1;var u_="u">typeof location&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href),ux=()=>!0;let uE=!Error("").stack;function uS(){if(uE)try{throw uS.arguments,Error()}catch(e){return e}return Error()}function uD(e,t){var r=e.stack;return r?(t=t||0,0===r.indexOf(e.name)&&(t+=(e.name+e.message).split("\n").length),r.split("\n").slice(t).filter(ux).map(e=>"\n"+e).join("")):""}var uO=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],uP=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(uO),uC={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed",MissingAPI:"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"};function uk(e,t){this._e=uS(),this.name=e,this.message=t}function uj(e,t){return e+". Errors: "+Object.keys(t).map(e=>t[e].toString()).filter((e,t,r)=>r.indexOf(e)===t).join("\n")}function uT(e,t,r,n){this._e=uS(),this.failures=t,this.failedKeys=n,this.successCount=r,this.message=uj(e,t)}function uR(e,t){this._e=uS(),this.name="BulkError",this.failures=Object.keys(t).map(e=>t[e]),this.failuresByPos=t,this.message=uj(e,t)}l5(uk).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+": "+this.message+uD(this._e,2))}},toString:function(){return this.name+": "+this.message}}),l5(uT).from(uk),l5(uR).from(uk);var uN=uP.reduce((e,t)=>(e[t]=t+"Error",e),{}),uA=uP.reduce((e,t)=>{var r=t+"Error";function n(e,n){this._e=uS(),this.name=r,e?"string"==typeof e?(this.message=`${e}${n?"\n "+n:""}`,this.inner=n||null):"object"==typeof e&&(this.message=`${e.name} ${e.message}`,this.inner=e):(this.message=uC[t]||r,this.inner=null)}return l5(n).from(uk),e[t]=n,e},{});uA.Syntax=SyntaxError,uA.Type=TypeError,uA.Range=RangeError;var uM=uO.reduce((e,t)=>(e[t+"Error"]=uA[t],e),{}),u$=uP.reduce((e,t)=>(-1===["Syntax","Type","Range"].indexOf(t)&&(e[t+"Error"]=uA[t]),e),{});function uI(){}function uL(e){return e}function uF(e,t){return null==e||e===uL?t:function(r){return t(e(r))}}function uB(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function uV(e,t){return e===uI?t:function(){var r=e.apply(this,arguments);void 0!==r&&(arguments[0]=r);var n=this.onsuccess,o=this.onerror;this.onsuccess=null,this.onerror=null;var i=t.apply(this,arguments);return n&&(this.onsuccess=this.onsuccess?uB(n,this.onsuccess):n),o&&(this.onerror=this.onerror?uB(o,this.onerror):o),void 0!==i?i:r}}function uU(e,t){return e===uI?t:function(){e.apply(this,arguments);var r=this.onsuccess,n=this.onerror;this.onsuccess=this.onerror=null,t.apply(this,arguments),r&&(this.onsuccess=this.onsuccess?uB(r,this.onsuccess):r),n&&(this.onerror=this.onerror?uB(n,this.onerror):n)}}function uW(e,t){return e===uI?t:function(r){var n=e.apply(this,arguments);lQ(r,n);var o=this.onsuccess,i=this.onerror;this.onsuccess=null,this.onerror=null;var a=t.apply(this,arguments);return o&&(this.onsuccess=this.onsuccess?uB(o,this.onsuccess):o),i&&(this.onerror=this.onerror?uB(i,this.onerror):i),void 0===n?void 0===a?void 0:a:lQ(n,a)}}function uz(e,t){return e===uI?t:function(){return!1!==t.apply(this,arguments)&&e.apply(this,arguments)}}function uK(e,t){return e===uI?t:function(){var r=e.apply(this,arguments);if(r&&"function"==typeof r.then){for(var n=this,o=arguments.length,i=Array(o);o--;)i[o]=arguments[o];return r.then(function(){return t.apply(n,i)})}return t.apply(this,arguments)}}u$.ModifyError=uT,u$.DexieError=uk,u$.BulkError=uR;var uH={};let[uG,uq,uY]="u"<typeof Promise?[]:(()=>{let e=Promise.resolve();if("u"<typeof crypto||!crypto.subtle)return[e,l0(e),e];let t=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[t,l0(t),e]})(),uZ=uq&&uq.then,uJ=uG&&uG.constructor,uX=!!uY;var uQ=!1,u0=uY?()=>{uY.then(cd)}:lZ.setImmediate?setImmediate.bind(null,cd):lZ.MutationObserver?()=>{var e=document.createElement("div");new MutationObserver(()=>{cd(),e=null}).observe(e,{attributes:!0}),e.setAttribute("i","1")}:()=>{setTimeout(cd,0)},u1=function(e,t){ce.push([e,t]),u4&&(u0(),u4=!1)},u2=!0,u4=!0,u3=[],u6=[],u5=null,u9=uL,u7={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:cM,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach(e=>{try{cM(e[0],e[1])}catch(e){}})}},u8=u7,ce=[],ct=0,cr=[];function cn(e){if("object"!=typeof this)throw TypeError("Promises must be constructed via new");this._listeners=[],this.onuncatched=uI,this._lib=!1;var t=this._PSD=u8;if(u_&&(this._stackHolder=uS(),this._prev=null,this._numPrev=0),"function"!=typeof e){if(e!==uH)throw TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(!1===this._state&&ca(this,this._value))}this._state=null,this._value=null,++t.ref,function e(t,r){try{r(r=>{if(null===t._state){if(r===t)throw TypeError("A promise cannot be resolved with itself.");var n=t._lib&&cp();r&&"function"==typeof r.then?e(t,(e,t)=>{r instanceof cn?r._then(e,t):r.then(e,t)}):(t._state=!0,t._value=r,cs(t)),n&&cf()}},ca.bind(null,t))}catch(e){ca(t,e)}}(this,e)}let co={get:function(){var e=u8,t=c_;function r(r,n){var o=!e.global&&(e!==u8||t!==c_);let i=o&&!cD();var a=new cn((t,a)=>{cl(this,new ci(cR(r,e,o,i),cR(n,e,o,i),t,a,e))});return u_&&cc(a,this),a}return r.prototype=uH,r},set:function(e){l6(this,"then",e&&e.prototype===uH?co:{get:function(){return e},set:co.set})}};function ci(e,t,r,n,o){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.resolve=r,this.reject=n,this.psd=o}function ca(e,t){if(u6.push(t),null===e._state){var r=e._lib&&cp();t=u9(t),e._state=!1,e._value=t,u_&&null!==t&&"object"==typeof t&&!t._promise&&function(e){try{e.apply(null,void 0)}catch(e){}}(()=>{var r=l7(t,"stack");t._promise=e,l6(t,"stack",{get:()=>uQ?r&&(r.get?r.get.apply(t):r.value):e.stack})}),u3.some(t=>t._value===e._value)||u3.push(e),cs(e),r&&cf()}}function cs(e){var t=e._listeners;e._listeners=[];for(var r=0,n=t.length;r<n;++r)cl(e,t[r]);var o=e._PSD;--o.ref||o.finalize(),0===ct&&(++ct,u1(()=>{0==--ct&&ch()},[]))}function cl(e,t){if(null!==e._state){var r=e._state?t.onFulfilled:t.onRejected;if(null===r)return(e._state?t.resolve:t.reject)(e._value);++t.psd.ref,++ct,u1(cu,[r,e,t])}else e._listeners.push(t)}function cu(e,t,r){try{u5=t;var n,o=t._value;t._state?n=e(o):(u6.length&&(u6=[]),n=e(o),-1===u6.indexOf(o)&&function(e){for(var t=u3.length;t;)if(u3[--t]._value===e._value)return void u3.splice(t,1)}(t)),r.resolve(n)}catch(e){r.reject(e)}finally{u5=null,0==--ct&&ch(),--r.psd.ref||r.psd.finalize()}}function cc(e,t){var r=t?t._numPrev+1:0;r<100&&(e._prev=t,e._numPrev=r)}function cd(){cp()&&cf()}function cp(){var e=u2;return u2=!1,u4=!1,e}function cf(){var e,t,r;do for(;ce.length>0;)for(e=ce,ce=[],r=e.length,t=0;t<r;++t){var n=e[t];n[0].apply(null,n[1])}while(ce.length>0);u2=!0,u4=!0}function ch(){var e=u3;u3=[],e.forEach(e=>{e._PSD.onunhandled.call(null,e._value,e)});for(var t=cr.slice(0),r=t.length;r;)t[--r]()}function cm(e){return new cn(uH,!1,e)}function cy(e,t){var r=u8;return function(){var n=cp(),o=u8;try{return ck(r,!0),e.apply(this,arguments)}catch(e){t&&t(e)}finally{ck(o,!1),n&&cf()}}}l4(cn.prototype,{then:co,_then:function(e,t){cl(this,new ci(null,null,e,t,u8))},catch:function(e){if(1==arguments.length)return this.then(null,e);var t=arguments[0],r=arguments[1];return"function"==typeof t?this.then(null,e=>e instanceof t?r(e):cm(e)):this.then(null,e=>e&&e.name===t?r(e):cm(e))},finally:function(e){return this.then(t=>(e(),t),t=>(e(),cm(t)))},stack:{get:function(){if(this._stack)return this._stack;try{uQ=!0;var e=(function e(t,r,n){if(r.length===n)return r;var o="";if(!1===t._state){var i,a,s=t._value;null!=s?(i=s.name||"Error",a=s.message||s,o=uD(s,0)):(i=s,a=""),r.push(i+(a?": "+a:"")+o)}return u_&&((o=uD(t._stackHolder,2))&&-1===r.indexOf(o)&&r.push(o),t._prev&&e(t._prev,r,n)),r})(this,[],20).join("\nFrom previous: ");return null!==this._state&&(this._stack=e),e}finally{uQ=!1}}},timeout:function(e,t){return e<1/0?new cn((r,n)=>{var o=setTimeout(()=>n(new uA.Timeout(t)),e);this.then(r,n).finally(clearTimeout.bind(null,o))}):this}}),"u">typeof Symbol&&Symbol.toStringTag&&l6(cn.prototype,Symbol.toStringTag,"Dexie.Promise"),u7.env=cj(),l4(cn,{all:function(){var e=uv.apply(null,arguments).map(cO);return new cn(function(t,r){0===e.length&&t([]);var n=e.length;e.forEach((o,i)=>cn.resolve(o).then(r=>{e[i]=r,--n||t(e)},r))})},resolve:e=>{if(e instanceof cn)return e;if(e&&"function"==typeof e.then)return new cn((t,r)=>{e.then(t,r)});var t=new cn(uH,!0,e);return cc(t,u5),t},reject:cm,race:function(){var e=uv.apply(null,arguments).map(cO);return new cn((t,r)=>{e.map(e=>cn.resolve(e).then(t,r))})},PSD:{get:()=>u8,set:e=>u8=e},totalEchoes:{get:()=>c_},newPSD:cE,usePSD:cT,scheduler:{get:()=>u1,set:e=>{u1=e}},rejectionMapper:{get:()=>u9,set:e=>{u9=e}},follow:(e,t)=>new cn((r,n)=>cE((t,r)=>{var n=u8;n.unhandleds=[],n.onunhandled=r,n.finalize=uB(function(){var e;e=()=>{0===this.unhandleds.length?t():r(this.unhandleds[0])},cr.push(function t(){e(),cr.splice(cr.indexOf(t),1)}),++ct,u1(()=>{0==--ct&&ch()},[])},n.finalize),e()},t,r,n))}),uJ&&(uJ.allSettled&&l6(cn,"allSettled",function(){let e=uv.apply(null,arguments).map(cO);return new cn(t=>{0===e.length&&t([]);let r=e.length,n=Array(r);e.forEach((e,o)=>cn.resolve(e).then(e=>n[o]={status:"fulfilled",value:e},e=>n[o]={status:"rejected",reason:e}).then(()=>--r||t(n)))})}),uJ.any&&"u">typeof AggregateError&&l6(cn,"any",function(){let e=uv.apply(null,arguments).map(cO);return new cn((t,r)=>{0===e.length&&r(AggregateError([]));let n=e.length,o=Array(n);e.forEach((e,i)=>cn.resolve(e).then(e=>t(e),e=>{o[i]=e,--n||r(AggregateError(o))}))})}));let cg={awaits:0,echoes:0,id:0};var cb=0,cv=[],cw=0,c_=0,cx=0;function cE(e,t,r,n){var o=u8,i=Object.create(o);i.parent=o,i.ref=0,i.global=!1,i.id=++cx;var a=u7.env;i.env=uX?{Promise:cn,PromiseProp:{value:cn,configurable:!0,writable:!0},all:cn.all,race:cn.race,allSettled:cn.allSettled,any:cn.any,resolve:cn.resolve,reject:cn.reject,nthen:cN(a.nthen,i),gthen:cN(a.gthen,i)}:{},t&&lQ(i,t),++o.ref,i.finalize=function(){--this.parent.ref||this.parent.finalize()};var s=cT(i,e,r,n);return 0===i.ref&&i.finalize(),s}function cS(){return cg.id||(cg.id=++cb),++cg.awaits,cg.echoes+=100,cg.id}function cD(){return!!cg.awaits&&(0==--cg.awaits&&(cg.id=0),cg.echoes=100*cg.awaits,!0)}function cO(e){return cg.echoes&&e&&e.constructor===uJ?(cS(),e.then(e=>(cD(),e),e=>(cD(),c$(e)))):e}function cP(e){++c_,cg.echoes&&0!=--cg.echoes||(cg.echoes=cg.id=0),cv.push(u8),ck(e,!0)}function cC(){var e=cv[cv.length-1];cv.pop(),ck(e,!1)}function ck(e,t){var r,n=u8;if((t?!cg.echoes||cw++&&e===u8:!cw||--cw&&e===u8)||(r=t?cP.bind(null,e):cC,uZ.call(uG,r)),e!==u8&&(u8=e,n===u7&&(u7.env=cj()),uX)){var o=u7.env.Promise,i=e.env;uq.then=i.nthen,o.prototype.then=i.gthen,(n.global||e.global)&&(Object.defineProperty(lZ,"Promise",i.PromiseProp),o.all=i.all,o.race=i.race,o.resolve=i.resolve,o.reject=i.reject,i.allSettled&&(o.allSettled=i.allSettled),i.any&&(o.any=i.any))}}function cj(){var e=lZ.Promise;return uX?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(lZ,"Promise"),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject,nthen:uq.then,gthen:e.prototype.then}:{}}function cT(e,t,r,n,o){var i=u8;try{return ck(e,!0),t(r,n,o)}finally{ck(i,!1)}}function cR(e,t,r,n){return"function"!=typeof e?e:function(){var o,i=u8;r&&cS(),ck(t,!0);try{return e.apply(this,arguments)}finally{ck(i,!1),n&&(o=cD,uZ.call(uG,o))}}}function cN(e,t){return function(r,n){return e.call(this,cR(r,t),cR(n,t))}}-1===(""+uZ).indexOf("[native code]")&&(cS=cD=uI);let cA="unhandledrejection";function cM(e,t){var r;try{r=t.onuncatched(e)}catch(e){}if(!1!==r)try{var n,o={promise:t,reason:e};if(lZ.document&&document.createEvent?((n=document.createEvent("Event")).initEvent(cA,!0,!0),lQ(n,o)):lZ.CustomEvent&&lQ(n=new CustomEvent(cA,{detail:o}),o),n&&lZ.dispatchEvent&&(dispatchEvent(n),!lZ.PromiseRejectionEvent&&lZ.onunhandledrejection))try{lZ.onunhandledrejection(n)}catch(e){}u_&&n&&!n.defaultPrevented&&console.warn(`Unhandled rejection: ${e.stack||e}`)}catch(e){}}var c$=cn.reject;let cI="3.2.7",cL=String.fromCharCode(65535),cF=-1/0,cB="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",cV="String expected.",cU=[],cW="u">typeof navigator&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),cz=e=>!/(dexie\.js|dexie\.min\.js)/.test(e),cK="__dbnames",cH="readonly",cG="readwrite";function cq(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}let cY={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function cZ(e){return"string"!=typeof e||/\./.test(e)?e=>e:t=>(void 0===t[e]&&e in t&&delete(t=uf(t))[e],t)}class cJ{_trans(e,t,r){let n=this._tx||u8.trans,o=this.name;function i(e,r,n){if(!n.schema[o])throw new uA.NotFound("Table "+o+" not part of transaction");return t(n.idbtrans,n)}let a=cp();try{return n&&n.db===this.db?n===u8.trans?n._promise(e,i,r):cE(()=>n._promise(e,i,r),{trans:n,transless:u8.transless||u8}):function e(t,r,n,o){if(t.idbdb&&(t._state.openComplete||u8.letThrough||t._vip)){var i=t._createTransaction(r,n,t._dbSchema);try{i.create(),t._state.PR1398_maxLoop=3}catch(i){return i.name===uN.InvalidState&&t.isOpen()&&--t._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),t._close(),t.open().then(()=>e(t,r,n,o))):c$(i)}return i._promise(r,(e,t)=>cE(()=>(u8.trans=i,o(e,t,i)))).then(e=>i._completion.then(()=>e))}if(t._state.openComplete)return c$(new uA.DatabaseClosed(t._state.dbOpenError));if(!t._state.isBeingOpened){if(!t._options.autoOpen)return c$(new uA.DatabaseClosed);t.open().catch(uI)}return t._state.dbReadyPromise.then(()=>e(t,r,n,o))}(this.db,e,[this.name],i)}finally{a&&cf()}}get(e,t){return e&&e.constructor===Object?this.where(e).first(t):this._trans("readonly",t=>this.core.get({trans:t,key:e}).then(e=>this.hook.reading.fire(e))).then(t)}where(e){if("string"==typeof e)return new this.db.WhereClause(this,e);if(lX(e))return new this.db.WhereClause(this,`[${e.join("+")}]`);let t=lJ(e);if(1===t.length)return this.where(t[0]).equals(e[t[0]]);let r=this.schema.indexes.concat(this.schema.primKey).filter(e=>{if(e.compound&&t.every(t=>e.keyPath.indexOf(t)>=0)){for(let r=0;r<t.length;++r)if(-1===t.indexOf(e.keyPath[r]))return!1;return!0}return!1}).sort((e,t)=>e.keyPath.length-t.keyPath.length)[0];if(r&&this.db._maxKey!==cL){let n=r.keyPath.slice(0,t.length);return this.where(n).equals(n.map(t=>e[t]))}!r&&u_&&console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${t.join("+")}]`);let{idxByName:n}=this.schema,o=this.db._deps.indexedDB;function i(e,t){try{return 0===o.cmp(e,t)}catch(e){return!1}}let[a,s]=t.reduce(([t,r],o)=>{let a=n[o],s=e[o];return[t||a,t||!a?cq(r,a&&a.multi?e=>{let t=ui(e,o);return lX(t)&&t.some(e=>i(s,e))}:e=>i(s,ui(e,o))):r]},[null,null]);return a?this.where(a.name).equals(e[a.keyPath]).filter(s):r?this.filter(s):this.where(t).equals("")}filter(e){return this.toCollection().and(e)}count(e){return this.toCollection().count(e)}offset(e){return this.toCollection().offset(e)}limit(e){return this.toCollection().limit(e)}each(e){return this.toCollection().each(e)}toArray(e){return this.toCollection().toArray(e)}toCollection(){return new this.db.Collection(new this.db.WhereClause(this))}orderBy(e){return new this.db.Collection(new this.db.WhereClause(this,lX(e)?`[${e.join("+")}]`:e))}reverse(){return this.toCollection().reverse()}mapToClass(e){this.schema.mappedClass=e;let t=t=>{if(!t)return t;let r=Object.create(e.prototype);for(var n in t)if(l2(t,n))try{r[n]=t[n]}catch(e){}return r};return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=t,this.hook("reading",t),e}defineClass(){return this.mapToClass(function(e){lQ(this,e)})}add(e,t){let{auto:r,keyPath:n}=this.schema.primKey,o=e;return n&&r&&(o=cZ(n)(e)),this._trans("readwrite",e=>this.core.mutate({trans:e,type:"add",keys:null!=t?[t]:null,values:[o]})).then(e=>e.numFailures?cn.reject(e.failures[0]):e.lastResult).then(t=>{if(n)try{ua(e,n,t)}catch(e){}return t})}update(e,t){if("object"!=typeof e||lX(e))return this.where(":id").equals(e).modify(t);{let r=ui(e,this.schema.primKey.keyPath);if(void 0===r)return c$(new uA.InvalidArgument("Given object does not contain its primary key"));try{"function"!=typeof t?lJ(t).forEach(r=>{ua(e,r,t[r])}):t(e,{value:e,primKey:r})}catch(e){}return this.where(":id").equals(r).modify(t)}}put(e,t){let{auto:r,keyPath:n}=this.schema.primKey,o=e;return n&&r&&(o=cZ(n)(e)),this._trans("readwrite",e=>this.core.mutate({trans:e,type:"put",values:[o],keys:null!=t?[t]:null})).then(e=>e.numFailures?cn.reject(e.failures[0]):e.lastResult).then(t=>{if(n)try{ua(e,n,t)}catch(e){}return t})}delete(e){return this._trans("readwrite",t=>this.core.mutate({trans:t,type:"delete",keys:[e]})).then(e=>e.numFailures?cn.reject(e.failures[0]):void 0)}clear(){return this._trans("readwrite",e=>this.core.mutate({trans:e,type:"deleteRange",range:cY})).then(e=>e.numFailures?cn.reject(e.failures[0]):void 0)}bulkGet(e){return this._trans("readonly",t=>this.core.getMany({keys:e,trans:t}).then(e=>e.map(e=>this.hook.reading.fire(e))))}bulkAdd(e,t,r){let n=Array.isArray(t)?t:void 0,o=(r=r||(n?void 0:t))?r.allKeys:void 0;return this._trans("readwrite",t=>{let{auto:r,keyPath:i}=this.schema.primKey;if(i&&n)throw new uA.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(n&&n.length!==e.length)throw new uA.InvalidArgument("Arguments objects and keys must have the same length");let a=e.length,s=i&&r?e.map(cZ(i)):e;return this.core.mutate({trans:t,type:"add",keys:n,values:s,wantResults:o}).then(({numFailures:e,results:t,lastResult:r,failures:n})=>{if(0===e)return o?t:r;throw new uR(`${this.name}.bulkAdd(): ${e} of ${a} operations failed`,n)})})}bulkPut(e,t,r){let n=Array.isArray(t)?t:void 0,o=(r=r||(n?void 0:t))?r.allKeys:void 0;return this._trans("readwrite",t=>{let{auto:r,keyPath:i}=this.schema.primKey;if(i&&n)throw new uA.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(n&&n.length!==e.length)throw new uA.InvalidArgument("Arguments objects and keys must have the same length");let a=e.length,s=i&&r?e.map(cZ(i)):e;return this.core.mutate({trans:t,type:"put",keys:n,values:s,wantResults:o}).then(({numFailures:e,results:t,lastResult:r,failures:n})=>{if(0===e)return o?t:r;throw new uR(`${this.name}.bulkPut(): ${e} of ${a} operations failed`,n)})})}bulkDelete(e){let t=e.length;return this._trans("readwrite",t=>this.core.mutate({trans:t,type:"delete",keys:e})).then(({numFailures:e,lastResult:r,failures:n})=>{if(0===e)return r;throw new uR(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`,n)})}}function cX(e){var t={},r=function(r,n){if(n){for(var o=arguments.length,i=Array(o-1);--o;)i[o-1]=arguments[o];return t[r].subscribe.apply(null,i),e}if("string"==typeof r)return t[r]};r.addEventType=i;for(var n=1,o=arguments.length;n<o;++n)i(arguments[n]);return r;function i(e,n,o){if("object"!=typeof e){n||(n=uz),o||(o=uI);var a={subscribers:[],fire:o,subscribe:function(e){-1===a.subscribers.indexOf(e)&&(a.subscribers.push(e),a.fire=n(a.fire,e))},unsubscribe:function(e){a.subscribers=a.subscribers.filter(function(t){return t!==e}),a.fire=a.subscribers.reduce(n,o)}};return t[e]=r[e]=a,a}lJ(e).forEach(function(t){var r=e[t];if(lX(r))i(t,e[t][0],e[t][1]);else{if("asap"!==r)throw new uA.InvalidArgument("Invalid event config");var n=i(t,uL,function(){for(var e=arguments.length,t=Array(e);e--;)t[e]=arguments[e];n.subscribers.forEach(function(e){un(function(){e.apply(null,t)})})})}})}}function cQ(e,t){return l5(t).from({prototype:e}),t}function c0(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function c1(e,t){e.filter=cq(e.filter,t)}function c2(e,t,r){var n=e.replayFilter;e.replayFilter=n?()=>cq(n(),t()):t,e.justLimit=r&&!n}function c4(e,t){if(e.isPrimKey)return t.primaryKey;let r=t.getIndexByKeyPath(e.index);if(!r)throw new uA.Schema("KeyPath "+e.index+" on object store "+t.name+" is not indexed");return r}function c3(e,t,r){let n=c4(e,t.schema);return t.openCursor({trans:r,values:!e.keysOnly,reverse:"prev"===e.dir,unique:!!e.unique,query:{index:n,range:e.range}})}function c6(e,t,r,n){let o=e.replayFilter?cq(e.filter,e.replayFilter()):e.filter;if(e.or){let i={},a=(e,r,n)=>{if(!o||o(r,n,e=>r.stop(e),e=>r.fail(e))){var a=r.primaryKey,s=""+a;"[object ArrayBuffer]"===s&&(s=""+new Uint8Array(a)),l2(i,s)||(i[s]=!0,t(e,r,n))}};return Promise.all([e.or._iterate(a,r),c5(c3(e,n,r),e.algorithm,a,!e.keysOnly&&e.valueMapper)])}return c5(c3(e,n,r),cq(e.algorithm,o),t,!e.keysOnly&&e.valueMapper)}function c5(e,t,r,n){var o=cy(n?(e,t,o)=>r(n(e),t,o):r);return e.then(e=>{if(e)return e.start(()=>{var r=()=>e.continue();t&&!t(e,e=>r=e,t=>{e.stop(t),r=uI},t=>{e.fail(t),r=uI})||o(e.value,e,e=>r=e),r()})})}function c9(e,t){try{let r=c7(e),n=c7(t);if(r!==n)return"Array"===r?1:"Array"===n?-1:"binary"===r?1:"binary"===n?-1:"string"===r?1:"string"===n?-1:"Date"===r?1:"Date"!==n?NaN:-1;switch(r){case"number":case"Date":case"string":return e>t?1:e<t?-1:0;case"binary":return function(e,t){let r=e.length,n=t.length,o=r<n?r:n;for(let r=0;r<o;++r)if(e[r]!==t[r])return e[r]<t[r]?-1:1;return r===n?0:r<n?-1:1}(c8(e),c8(t));case"Array":return function(e,t){let r=e.length,n=t.length,o=r<n?r:n;for(let r=0;r<o;++r){let n=c9(e[r],t[r]);if(0!==n)return n}return r===n?0:r<n?-1:1}(e,t)}}catch(e){}return NaN}function c7(e){let t=typeof e;if("object"!==t)return t;if(ArrayBuffer.isView(e))return"binary";let r=um(e);return"ArrayBuffer"===r?"binary":r}function c8(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}class de{_read(e,t){var r=this._ctx;return r.error?r.table._trans(null,c$.bind(null,r.error)):r.table._trans("readonly",e).then(t)}_write(e){var t=this._ctx;return t.error?t.table._trans(null,c$.bind(null,t.error)):t.table._trans("readwrite",e,"locked")}_addAlgorithm(e){var t=this._ctx;t.algorithm=cq(t.algorithm,e)}_iterate(e,t){return c6(this._ctx,e,t,this._ctx.table.core)}clone(e){var t=Object.create(this.constructor.prototype),r=Object.create(this._ctx);return e&&lQ(r,e),t._ctx=r,t}raw(){return this._ctx.valueMapper=null,this}each(e){var t=this._ctx;return this._read(r=>c6(t,e,r,t.table.core))}count(e){return this._read(e=>{let t=this._ctx,r=t.table.core;if(c0(t,!0))return r.count({trans:e,query:{index:c4(t,r.schema),range:t.range}}).then(e=>Math.min(e,t.limit));var n=0;return c6(t,()=>(++n,!1),e,r).then(()=>n)}).then(e)}sortBy(e,t){let r=e.split(".").reverse(),n=r[0],o=r.length-1;function i(e,t){return t?i(e[r[t]],t-1):e[n]}var a="next"===this._ctx.dir?1:-1;function s(e,t){var r=i(e,o),n=i(t,o);return r<n?-a:r>n?a:0}return this.toArray(function(e){return e.sort(s)}).then(t)}toArray(e){return this._read(e=>{var t=this._ctx;if("next"===t.dir&&c0(t,!0)&&t.limit>0){let{valueMapper:r}=t,n=c4(t,t.table.core.schema);return t.table.core.query({trans:e,limit:t.limit,values:!0,query:{index:n,range:t.range}}).then(({result:e})=>r?e.map(r):e)}{let r=[];return c6(t,e=>r.push(e),e,t.table.core).then(()=>r)}},e)}offset(e){var t=this._ctx;return e<=0||(t.offset+=e,c0(t)?c2(t,()=>{var t=e;return(e,r)=>0===t||(1===t?--t:r(()=>{e.advance(t),t=0}),!1)}):c2(t,()=>{var t=e;return()=>--t<0})),this}limit(e){return this._ctx.limit=Math.min(this._ctx.limit,e),c2(this._ctx,()=>{var t=e;return function(e,r,n){return--t<=0&&r(n),t>=0}},!0),this}until(e,t){return c1(this._ctx,function(r,n,o){return!e(r.value)||(n(o),t)}),this}first(e){return this.limit(1).toArray(function(e){return e[0]}).then(e)}last(e){return this.reverse().first(e)}filter(e){var t;return c1(this._ctx,function(t){return e(t.value)}),(t=this._ctx).isMatch=cq(t.isMatch,e),this}and(e){return this.filter(e)}or(e){return new this.db.WhereClause(this._ctx.table,e,this)}reverse(){return this._ctx.dir="prev"===this._ctx.dir?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this}desc(){return this.reverse()}eachKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each(function(t,r){e(r.key,r)})}eachUniqueKey(e){return this._ctx.unique="unique",this.eachKey(e)}eachPrimaryKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each(function(t,r){e(r.primaryKey,r)})}keys(e){var t=this._ctx;t.keysOnly=!t.isMatch;var r=[];return this.each(function(e,t){r.push(t.key)}).then(function(){return r}).then(e)}primaryKeys(e){var t=this._ctx;if("next"===t.dir&&c0(t,!0)&&t.limit>0)return this._read(e=>{var r=c4(t,t.table.core.schema);return t.table.core.query({trans:e,values:!1,limit:t.limit,query:{index:r,range:t.range}})}).then(({result:e})=>e).then(e);t.keysOnly=!t.isMatch;var r=[];return this.each(function(e,t){r.push(t.primaryKey)}).then(function(){return r}).then(e)}uniqueKeys(e){return this._ctx.unique="unique",this.keys(e)}firstKey(e){return this.limit(1).keys(function(e){return e[0]}).then(e)}lastKey(e){return this.reverse().firstKey(e)}distinct(){var e=this._ctx,t=e.index&&e.table.schema.idxByName[e.index];if(!t||!t.multi)return this;var r={};return c1(this._ctx,function(e){var t=e.primaryKey.toString(),n=l2(r,t);return r[t]=!0,!n}),this}modify(e){var t=this._ctx;return this._write(r=>{var n;if("function"==typeof e)n=e;else{var o=lJ(e),i=o.length;n=function(t){for(var r=!1,n=0;n<i;++n){var a=o[n],s=e[a];ui(t,a)!==s&&(ua(t,a,s),r=!0)}return r}}let a=t.table.core,{outbound:s,extractKey:l}=a.schema.primaryKey,u=this.db._options.modifyChunkSize||200,c=[],d=0,p=[],f=(e,t)=>{let{failures:r,numFailures:n}=t;for(let t of(d+=e-n,lJ(r)))c.push(r[t])};return this.clone().primaryKeys().then(o=>{let i=c=>{let d=Math.min(u,o.length-c);return a.getMany({trans:r,keys:o.slice(c,c+d),cache:"immutable"}).then(p=>{let h=[],m=[],y=s?[]:null,g=[];for(let e=0;e<d;++e){let t=p[e],r={value:uf(t),primKey:o[c+e]};!1!==n.call(r,r.value,r)&&(null==r.value?g.push(o[c+e]):s||0===c9(l(t),l(r.value))?(m.push(r.value),s&&y.push(o[c+e])):(g.push(o[c+e]),h.push(r.value)))}let b=c0(t)&&t.limit===1/0&&("function"!=typeof e||e===dt)&&{index:t.index,range:t.range};return Promise.resolve(h.length>0&&a.mutate({trans:r,type:"add",values:h}).then(e=>{for(let t in e.failures)g.splice(parseInt(t),1);f(h.length,e)})).then(()=>(m.length>0||b&&"object"==typeof e)&&a.mutate({trans:r,type:"put",keys:y,values:m,criteria:b,changeSpec:"function"!=typeof e&&e}).then(e=>f(m.length,e))).then(()=>(g.length>0||b&&e===dt)&&a.mutate({trans:r,type:"delete",keys:g,criteria:b}).then(e=>f(g.length,e))).then(()=>o.length>c+d&&i(c+u))})};return i(0).then(()=>{if(c.length>0)throw new uT("Error modifying one or more objects",c,d,p);return o.length})})})}delete(){var e=this._ctx,t=e.range;return c0(e)&&(e.isPrimKey&&!cW||3===t.type)?this._write(r=>{let{primaryKey:n}=e.table.core.schema;return e.table.core.count({trans:r,query:{index:n,range:t}}).then(n=>e.table.core.mutate({trans:r,type:"deleteRange",range:t}).then(({failures:e,lastResult:t,results:r,numFailures:o})=>{if(o)throw new uT("Could not delete some values",Object.keys(e).map(t=>e[t]),n-o);return n-o}))}):this.modify(dt)}}let dt=(e,t)=>t.value=null;function dr(e,t){return e<t?-1:+(e!==t)}function dn(e,t){return e>t?-1:+(e!==t)}function di(e,t,r){var n=e instanceof dc?new e.Collection(e):e;return n._ctx.error=r?new r(t):TypeError(t),n}function da(e){return new e.Collection(e,()=>du("")).limit(0)}function ds(e,t,r,n){var o,i,a,s,l,u,c,d=r.length;if(!r.every(e=>"string"==typeof e))return di(e,cV);function p(e){o="next"===e?e=>e.toUpperCase():e=>e.toLowerCase(),i="next"===e?e=>e.toLowerCase():e=>e.toUpperCase(),a="next"===e?dr:dn;var t=r.map(function(e){return{lower:i(e),upper:o(e)}}).sort(function(e,t){return a(e.lower,t.lower)});s=t.map(function(e){return e.upper}),l=t.map(function(e){return e.lower}),u=e,c="next"===e?"":n}p("next");var f=new e.Collection(e,()=>dl(s[0],l[d-1]+n));f._ondirectionchange=function(e){p(e)};var h=0;return f._addAlgorithm(function(e,r,n){var o=e.key;if("string"!=typeof o)return!1;var p=i(o);if(t(p,l,h))return!0;for(var f=null,m=h;m<d;++m){var y=function(e,t,r,n,o,i){for(var a=Math.min(e.length,n.length),s=-1,l=0;l<a;++l){var u=t[l];if(u!==n[l])return 0>o(e[l],r[l])?e.substr(0,l)+r[l]+r.substr(l+1):0>o(e[l],n[l])?e.substr(0,l)+n[l]+r.substr(l+1):s>=0?e.substr(0,s)+t[s]+r.substr(s+1):null;0>o(e[l],u)&&(s=l)}return a<n.length&&"next"===i?e+r.substr(e.length):a<e.length&&"prev"===i?e.substr(0,r.length):s<0?null:e.substr(0,s)+n[s]+r.substr(s+1)}(o,p,s[m],l[m],a,u);null===y&&null===f?h=m+1:(null===f||a(f,y)>0)&&(f=y)}return r(null!==f?function(){e.continue(f+c)}:n),!1}),f}function dl(e,t,r,n){return{type:2,lower:e,upper:t,lowerOpen:r,upperOpen:n}}function du(e){return{type:1,lower:e,upper:e}}class dc{get Collection(){return this._ctx.table.db.Collection}between(e,t,r,n){r=!1!==r,n=!0===n;try{return this._cmp(e,t)>0||0===this._cmp(e,t)&&(r||n)&&(!r||!n)?da(this):new this.Collection(this,()=>dl(e,t,!r,!n))}catch(e){return di(this,cB)}}equals(e){return null==e?di(this,cB):new this.Collection(this,()=>du(e))}above(e){return null==e?di(this,cB):new this.Collection(this,()=>dl(e,void 0,!0))}aboveOrEqual(e){return null==e?di(this,cB):new this.Collection(this,()=>dl(e,void 0,!1))}below(e){return null==e?di(this,cB):new this.Collection(this,()=>dl(void 0,e,!1,!0))}belowOrEqual(e){return null==e?di(this,cB):new this.Collection(this,()=>dl(void 0,e))}startsWith(e){return"string"!=typeof e?di(this,cV):this.between(e,e+cL,!0,!0)}startsWithIgnoreCase(e){return""===e?this.startsWith(e):ds(this,(e,t)=>0===e.indexOf(t[0]),[e],cL)}equalsIgnoreCase(e){return ds(this,(e,t)=>e===t[0],[e],"")}anyOfIgnoreCase(){var e=uv.apply(ub,arguments);return 0===e.length?da(this):ds(this,(e,t)=>-1!==t.indexOf(e),e,"")}startsWithAnyOfIgnoreCase(){var e=uv.apply(ub,arguments);return 0===e.length?da(this):ds(this,(e,t)=>t.some(t=>0===e.indexOf(t)),e,cL)}anyOf(){let e=uv.apply(ub,arguments),t=this._cmp;try{e.sort(t)}catch(e){return di(this,cB)}if(0===e.length)return da(this);let r=new this.Collection(this,()=>dl(e[0],e[e.length-1]));r._ondirectionchange=r=>{t="next"===r?this._ascending:this._descending,e.sort(t)};let n=0;return r._addAlgorithm((r,o,i)=>{let a=r.key;for(;t(a,e[n])>0;)if(++n===e.length)return o(i),!1;return 0===t(a,e[n])||(o(()=>{r.continue(e[n])}),!1)}),r}notEqual(e){return this.inAnyRange([[cF,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){let e=uv.apply(ub,arguments);if(0===e.length)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return di(this,cB)}let t=e.reduce((e,t)=>e?e.concat([[e[e.length-1][1],t]]):[[cF,t]],null);return t.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(t,{includeLowers:!1,includeUppers:!1})}inAnyRange(e,t){let r=this._cmp,n=this._ascending,o=this._descending,i=this._min,a=this._max;if(0===e.length)return da(this);if(!e.every(e=>void 0!==e[0]&&void 0!==e[1]&&0>=n(e[0],e[1])))return di(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",uA.InvalidArgument);let s=!t||!1!==t.includeLowers,l=t&&!0===t.includeUppers,u,c=n;function d(e,t){return c(e[0],t[0])}try{(u=e.reduce(function(e,t){let n=0,o=e.length;for(;n<o;++n){let o=e[n];if(0>r(t[0],o[1])&&r(t[1],o[0])>0){o[0]=i(o[0],t[0]),o[1]=a(o[1],t[1]);break}}return n===o&&e.push(t),e},[])).sort(d)}catch(e){return di(this,cB)}let p=0,f=l?e=>n(e,u[p][1])>0:e=>n(e,u[p][1])>=0,h=s?e=>o(e,u[p][0])>0:e=>o(e,u[p][0])>=0,m=f,y=new this.Collection(this,()=>dl(u[0][0],u[u.length-1][1],!s,!l));return y._ondirectionchange=e=>{"next"===e?(m=f,c=n):(m=h,c=o),u.sort(d)},y._addAlgorithm((e,t,r)=>{for(var o=e.key;m(o);)if(++p===u.length)return t(r),!1;return!!(!f(o)&&!h(o))||(0===this._cmp(o,u[p][1])||0===this._cmp(o,u[p][0])||t(()=>{c===n?e.continue(u[p][0]):e.continue(u[p][1])}),!1)}),y}startsWithAnyOf(){let e=uv.apply(ub,arguments);return e.every(e=>"string"==typeof e)?0===e.length?da(this):this.inAnyRange(e.map(e=>[e,e+cL])):di(this,"startsWithAnyOf() only works with strings")}}function dd(e){return cy(function(t){return dp(t),e(t.target.error),!1})}function dp(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}let df="storagemutated",dh="x-storagemutated-1",dm=cX(null,df);class dy{_lock(){return ur(!u8.global),++this._reculock,1!==this._reculock||u8.global||(u8.lockOwnerFor=this),this}_unlock(){if(ur(!u8.global),0==--this._reculock)for(u8.global||(u8.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{cT(e[1],e[0])}catch(e){}}return this}_locked(){return this._reculock&&u8.lockOwnerFor!==this}create(e){if(!this.mode)return this;let t=this.db.idbdb,r=this.db._state.dbOpenError;if(ur(!this.idbtrans),!e&&!t)switch(r&&r.name){case"DatabaseClosedError":throw new uA.DatabaseClosed(r);case"MissingAPIError":throw new uA.MissingAPI(r.message,r);default:throw new uA.OpenFailed(r)}if(!this.active)throw new uA.TransactionInactive;return ur(null===this._completion._state),(e=this.idbtrans=e||(this.db.core?this.db.core.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}):t.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}))).onerror=cy(t=>{dp(t),this._reject(e.error)}),e.onabort=cy(t=>{dp(t),this.active&&this._reject(new uA.Abort(e.error)),this.active=!1,this.on("abort").fire(t)}),e.oncomplete=cy(()=>{this.active=!1,this._resolve(),"mutatedParts"in e&&dm.storagemutated.fire(e.mutatedParts)}),this}_promise(e,t,r){if("readwrite"===e&&"readwrite"!==this.mode)return c$(new uA.ReadOnly("Transaction is readonly"));if(!this.active)return c$(new uA.TransactionInactive);if(this._locked())return new cn((n,o)=>{this._blockedFuncs.push([()=>{this._promise(e,t,r).then(n,o)},u8])});if(r)return cE(()=>{var e=new cn((e,r)=>{this._lock();let n=t(e,r,this);n&&n.then&&n.then(e,r)});return e.finally(()=>this._unlock()),e._lib=!0,e});var n=new cn((e,r)=>{var n=t(e,r,this);n&&n.then&&n.then(e,r)});return n._lib=!0,n}_root(){return this.parent?this.parent._root():this}waitFor(e){var t=this._root();let r=cn.resolve(e);if(t._waitingFor)t._waitingFor=t._waitingFor.then(()=>r);else{t._waitingFor=r,t._waitingQueue=[];var n=t.idbtrans.objectStore(t.storeNames[0]);!function e(){for(++t._spinCount;t._waitingQueue.length;)t._waitingQueue.shift()();t._waitingFor&&(n.get(-1/0).onsuccess=e)}()}var o=t._waitingFor;return new cn((e,n)=>{r.then(r=>t._waitingQueue.push(cy(e.bind(null,r))),e=>t._waitingQueue.push(cy(n.bind(null,e)))).finally(()=>{t._waitingFor===o&&(t._waitingFor=null)})})}abort(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new uA.Abort))}table(e){let t=this._memoizedTables||(this._memoizedTables={});if(l2(t,e))return t[e];let r=this.schema[e];if(!r)throw new uA.NotFound("Table "+e+" not part of transaction");let n=new this.db.Table(e,r,this);return n.core=this.db.core.table(e),t[e]=n,n}}function dg(e,t,r,n,o,i,a){return{name:e,keyPath:t,unique:r,multi:n,auto:o,compound:i,src:(r&&!a?"&":"")+(n?"*":"")+(o?"++":"")+db(t)}}function db(e){return"string"==typeof e?e:e?"["+[].join.call(e,"+")+"]":""}function dv(e,t,r){return{name:e,primKey:t,indexes:r,mappedClass:null,idxByName:uo(r,e=>[e.name,e])}}let dw=e=>{try{return e.only([[]]),dw=()=>[[]],[[]]}catch(e){return dw=()=>cL,cL}};function d_(e){return null==e?()=>{}:"string"==typeof e?1===e.split(".").length?t=>t[e]:t=>ui(t,e):t=>ui(t,e)}function dx(e){return[].slice.call(e)}let dE=0;function dS(e){return null==e?":id":"string"==typeof e?e:`[${e.join("+")}]`}function dD({_novip:e},t){let r=t.db,n=function(e,t,{IDBKeyRange:r,indexedDB:n},o){var i;return{dbcore:(i=function(e,t,r){let n;function o(e){if(3===e.type)return null;if(4===e.type)throw Error("Cannot convert never type to IDBKeyRange");let{lower:r,upper:n,lowerOpen:o,upperOpen:i}=e;return void 0===r?void 0===n?null:t.upperBound(n,!!i):void 0===n?t.lowerBound(r,!!o):t.bound(r,n,!!o,!!i)}let{schema:i,hasGetAll:a}=(n=dx(e.objectStoreNames),{schema:{name:e.name,tables:n.map(e=>r.objectStore(e)).map(e=>{let{keyPath:t,autoIncrement:r}=e,n=lX(t),o=null==t,i={},a={name:e.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:o,compound:n,keyPath:t,autoIncrement:r,unique:!0,extractKey:d_(t)},indexes:dx(e.indexNames).map(t=>e.index(t)).map(e=>{let{name:t,unique:r,multiEntry:n,keyPath:o}=e,a={name:t,compound:lX(o),keyPath:o,unique:r,multiEntry:n,extractKey:d_(o)};return i[dS(o)]=a,a}),getIndexByKeyPath:e=>i[dS(e)]};return i[":id"]=a.primaryKey,null!=t&&(i[dS(t)]=a.primaryKey),a})},hasGetAll:n.length>0&&"getAll"in r.objectStore(n[0])&&!("u">typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}),s=i.tables.map(e=>{let t;return{name:t=e.name,schema:e,mutate:function({trans:e,type:r,keys:n,values:i,range:a}){return new Promise((s,l)=>{let u;s=cy(s);let c=e.objectStore(t),d=null==c.keyPath,p="put"===r||"add"===r;if(!p&&"delete"!==r&&"deleteRange"!==r)throw Error("Invalid operation type: "+r);let{length:f}=n||i||{length:1};if(n&&i&&n.length!==i.length)throw Error("Given keys array must have same length as given values array.");if(0===f)return s({numFailures:0,failures:{},results:[],lastResult:void 0});let h=[],m=[],y=0,g=e=>{++y,dp(e)};if("deleteRange"===r){if(4===a.type)return s({numFailures:y,failures:m,results:[],lastResult:void 0});3===a.type?h.push(u=c.clear()):h.push(u=c.delete(o(a)))}else{let[e,t]=p?d?[i,n]:[i,null]:[n,null];if(p)for(let n=0;n<f;++n)h.push(u=t&&void 0!==t[n]?c[r](e[n],t[n]):c[r](e[n])),u.onerror=g;else for(let t=0;t<f;++t)h.push(u=c[r](e[t])),u.onerror=g}let b=e=>{let t=e.target.result;h.forEach((e,t)=>null!=e.error&&(m[t]=e.error)),s({numFailures:y,failures:m,results:"delete"===r?n:h.map(e=>e.result),lastResult:t})};u.onerror=e=>{g(e),b(e)},u.onsuccess=b})},getMany:({trans:e,keys:r})=>new Promise((n,o)=>{n=cy(n);let i=e.objectStore(t),a=r.length,s=Array(a),l,u=0,c=0,d=e=>{let t=e.target;s[t._pos]=t.result,++c===u&&n(s)},p=dd(o);for(let e=0;e<a;++e)null!=r[e]&&((l=i.get(r[e]))._pos=e,l.onsuccess=d,l.onerror=p,++u);0===u&&n(s)}),get:({trans:e,key:r})=>new Promise((n,o)=>{n=cy(n);let i=e.objectStore(t).get(r);i.onsuccess=e=>n(e.target.result),i.onerror=dd(o)}),query:e=>new Promise((r,n)=>{r=cy(r);let{trans:i,values:s,limit:l,query:u}=e,c=l===1/0?void 0:l,{index:d,range:p}=u,f=i.objectStore(t),h=d.isPrimaryKey?f:f.index(d.name),m=o(p);if(0===l)return r({result:[]});if(a){let e=s?h.getAll(m,c):h.getAllKeys(m,c);e.onsuccess=e=>r({result:e.target.result}),e.onerror=dd(n)}else{let e=0,t=!s&&"openKeyCursor"in h?h.openKeyCursor(m):h.openCursor(m),o=[];t.onsuccess=n=>{let i=t.result;return i?(o.push(s?i.value:i.primaryKey),++e===l?r({result:o}):void i.continue()):r({result:o})},t.onerror=dd(n)}}),openCursor:function({trans:e,values:r,query:n,reverse:i,unique:a}){return new Promise((s,l)=>{s=cy(s);let{index:u,range:c}=n,d=e.objectStore(t),p=u.isPrimaryKey?d:d.index(u.name),f=i?a?"prevunique":"prev":a?"nextunique":"next",h=!r&&"openKeyCursor"in p?p.openKeyCursor(o(c),f):p.openCursor(o(c),f);h.onerror=dd(l),h.onsuccess=cy(t=>{let r=h.result;if(!r)return void s(null);r.___id=++dE,r.done=!1;let n=r.continue.bind(r),o=r.continuePrimaryKey;o&&(o=o.bind(r));let i=r.advance.bind(r),a=()=>{throw Error("Cursor not stopped")};r.trans=e,r.stop=r.continue=r.continuePrimaryKey=r.advance=()=>{throw Error("Cursor not started")},r.fail=cy(l),r.next=function(){let e=1;return this.start(()=>e--?this.continue():this.stop()).then(()=>this)},r.start=e=>{let t=new Promise((e,t)=>{e=cy(e),h.onerror=dd(t),r.fail=t,r.stop=t=>{r.stop=r.continue=r.continuePrimaryKey=r.advance=a,e(t)}}),s=()=>{if(h.result)try{e()}catch(e){r.fail(e)}else r.done=!0,r.start=()=>{throw Error("Cursor behind last entry")},r.stop()};return h.onsuccess=cy(e=>{h.onsuccess=s,s()}),r.continue=n,r.continuePrimaryKey=o,r.advance=i,s(),t},s(r)},l)})},count({query:e,trans:r}){let{index:n,range:i}=e;return new Promise((e,a)=>{let s=r.objectStore(t),l=n.isPrimaryKey?s:s.index(n.name),u=o(i),c=u?l.count(u):l.count();c.onsuccess=cy(t=>e(t.target.result)),c.onerror=dd(a)})}}}),l={};return s.forEach(e=>l[e.name]=e),{stack:"dbcore",transaction:e.transaction.bind(e),table(e){if(!l[e])throw Error(`Table '${e}' not found`);return l[e]},MIN_KEY:-1/0,MAX_KEY:dw(t),schema:i}}(t,r,o),e.dbcore.reduce((e,{create:t})=>({...e,...t(e)}),i))}}(e._middlewares,r,e._deps,t);e.core=n.dbcore,e.tables.forEach(t=>{let r=t.name;e.core.schema.tables.some(e=>e.name===r)&&(t.core=e.core.table(r),e[r]instanceof e.Table&&(e[r].core=t.core))})}function dO({_novip:e},t,r,n){r.forEach(r=>{let o=n[r];t.forEach(t=>{let n=l7(t,r);(!n||"value"in n&&void 0===n.value)&&(t===e.Transaction.prototype||t instanceof e.Transaction?l6(t,r,{get(){return this.table(r)},set(e){l3(this,r,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):t[r]=new e.Table(r,o))})})}function dP({_novip:e},t){t.forEach(t=>{for(let r in t)t[r]instanceof e.Table&&delete t[r]})}function dC(e,t){return e._cfg.version-t._cfg.version}function dk(e,t){let r,n={del:[],add:[],change:[]};for(r in e)t[r]||n.del.push(r);for(r in t){let o=e[r],i=t[r];if(o){let e={name:r,def:i,recreate:!1,del:[],add:[],change:[]};if(""+(o.primKey.keyPath||"")==""+(i.primKey.keyPath||"")&&(o.primKey.auto===i.primKey.auto||cW)){let t,r=o.idxByName,a=i.idxByName;for(t in r)a[t]||e.del.push(t);for(t in a){let n=r[t],o=a[t];n?n.src!==o.src&&e.change.push(o):e.add.push(o)}(e.del.length>0||e.add.length>0||e.change.length>0)&&n.change.push(e)}else e.recreate=!0,n.change.push(e)}else n.add.push([r,i])}return n}function dj(e,t,r,n){let o=e.db.createObjectStore(t,r.keyPath?{keyPath:r.keyPath,autoIncrement:r.auto}:{autoIncrement:r.auto});return n.forEach(e=>dT(o,e)),o}function dT(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function dR(e,t,r){let n={};return ue(t.objectStoreNames,0).forEach(e=>{let t=r.objectStore(e),o=t.keyPath,i=dg(db(o),o||"",!1,!1,!!t.autoIncrement,o&&"string"!=typeof o,!0),a=[];for(let e=0;e<t.indexNames.length;++e){let r=t.index(t.indexNames[e]);o=r.keyPath;var s=dg(r.name,o,!!r.unique,!!r.multiEntry,!1,o&&"string"!=typeof o,!1);a.push(s)}n[e]=dv(e,i,a)}),n}function dN({_novip:e},t,r){let n=r.db.objectStoreNames;for(let o=0;o<n.length;++o){let i=n[o],a=r.objectStore(i);e._hasGetAll="getAll"in a;for(let e=0;e<a.indexNames.length;++e){let r=a.indexNames[e],n=a.index(r).keyPath,o="string"==typeof n?n:"["+ue(n).join("+")+"]";if(t[i]){let e=t[i].idxByName[o];e&&(e.name=r,delete t[i].idxByName[o],t[i].idxByName[r]=e)}}}"u">typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&lZ.WorkerGlobalScope&&lZ instanceof lZ.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}class dA{_parseStoresSpec(e,t){lJ(e).forEach(r=>{if(null!==e[r]){var n=e[r].split(",").map((e,t)=>{let r=(e=e.trim()).replace(/([&*]|\+\+)/g,""),n=/^\[/.test(r)?r.match(/^\[(.*)\]$/)[1].split("+"):r;return dg(r,n||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),lX(n),0===t)}),o=n.shift();if(o.multi)throw new uA.Schema("Primary key cannot be multi-valued");n.forEach(e=>{if(e.auto)throw new uA.Schema("Only primary key can be marked as autoIncrement (++)");if(!e.keyPath)throw new uA.Schema("Index must have a name and cannot be an empty string")}),t[r]=dv(r,o,n)}})}stores(e){let t=this.db;this._cfg.storesSource=this._cfg.storesSource?lQ(this._cfg.storesSource,e):e;let r=t._versions,n={},o={};return r.forEach(e=>{lQ(n,e._cfg.storesSource),o=e._cfg.dbschema={},e._parseStoresSpec(n,o)}),t._dbSchema=o,dP(t,[t._allTables,t,t.Transaction.prototype]),dO(t,[t._allTables,t,t.Transaction.prototype,this._cfg.tables],lJ(o),o),t._storeNames=lJ(o),this}upgrade(e){return this._cfg.contentUpgrade=uK(this._cfg.contentUpgrade||uI,e),this}}function dM(e,t){let r=e._dbNamesDB;return r||(r=e._dbNamesDB=new d0(cK,{addons:[],indexedDB:e,IDBKeyRange:t})).version(1).stores({dbnames:"name"}),r.table("dbnames")}function d$(e){return e&&"function"==typeof e.databases}function dI(e){return cE(function(){return u8.letThrough=!0,e()})}function dL(e){var t=t=>e.next(t),r=o(t),n=o(t=>e.throw(t));function o(e){return t=>{var o=e(t),i=o.value;return o.done?i:i&&"function"==typeof i.then?i.then(r,n):lX(i)?Promise.all(i).then(r,n):r(i)}}return o(t)()}function dF(e,t,r){var n=arguments.length;if(n<2)throw new uA.InvalidArgument("Too few arguments");for(var o=Array(n-1);--n;)o[n-1]=arguments[n];return r=o.pop(),[e,uu(o),r]}function dB(e,t,r){let n=lX(e)?e.slice():[e];for(let e=0;e<r;++e)n.push(t);return n}let dV={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:function(e){return{...e,table(t){let r=e.table(t),{schema:n}=r,o={},i=[];function a(e,t,r){let n=dS(e),s=o[n]=o[n]||[],l=null==e?0:"string"==typeof e?1:e.length,u=t>0,c={...r,isVirtual:u,keyTail:t,keyLength:l,extractKey:d_(e),unique:!u&&r.unique};return s.push(c),c.isPrimaryKey||i.push(c),l>1&&a(2===l?e[0]:e.slice(0,l-1),t+1,r),s.sort((e,t)=>e.keyTail-t.keyTail),c}let s=a(n.primaryKey.keyPath,0,n.primaryKey);for(let e of(o[":id"]=[s],n.indexes))a(e.keyPath,0,e);function l(t){var r,n;let o=t.query.index;return o.isVirtual?{...t,query:{index:o,range:(r=t.query.range,n=o.keyTail,{type:1===r.type?2:r.type,lower:dB(r.lower,r.lowerOpen?e.MAX_KEY:e.MIN_KEY,n),lowerOpen:!0,upper:dB(r.upper,r.upperOpen?e.MIN_KEY:e.MAX_KEY,n),upperOpen:!0})}}:t}return{...r,schema:{...n,primaryKey:s,indexes:i,getIndexByKeyPath:function(e){let t=o[dS(e)];return t&&t[0]}},count:e=>r.count(l(e)),query:e=>r.query(l(e)),openCursor(t){let{keyTail:n,isVirtual:o,keyLength:i}=t.query.index;return o?r.openCursor(l(t)).then(r=>r&&Object.create(r,{continue:{value:function(o){null!=o?r.continue(dB(o,t.reverse?e.MAX_KEY:e.MIN_KEY,n)):t.unique?r.continue(r.key.slice(0,i).concat(t.reverse?e.MIN_KEY:e.MAX_KEY,n)):r.continue()}},continuePrimaryKey:{value(t,o){r.continuePrimaryKey(dB(t,e.MAX_KEY,n),o)}},primaryKey:{get:()=>r.primaryKey},key:{get(){let e=r.key;return 1===i?e[0]:e.slice(0,i)}},value:{get:()=>r.value}})):r.openCursor(t)}}}}}};function dU(e,t,r,n){return r=r||{},n=n||"",lJ(e).forEach(o=>{if(l2(t,o)){var i=e[o],a=t[o];if("object"==typeof i&&"object"==typeof a&&i&&a){let e=um(i);e!==um(a)?r[n+o]=t[o]:"Object"===e?dU(i,a,r,n+o+"."):i!==a&&(r[n+o]=t[o])}else i!==a&&(r[n+o]=t[o])}else r[n+o]=void 0}),lJ(t).forEach(o=>{l2(e,o)||(r[n+o]=t[o])}),r}let dW={stack:"dbcore",name:"HooksMiddleware",level:2,create:e=>({...e,table(t){let r=e.table(t),{primaryKey:n}=r.schema;return{...r,mutate(e){let o=u8.trans,{deleting:i,creating:a,updating:s}=o.table(t).hook;switch(e.type){case"add":if(a.fire===uI)break;return o._promise("readwrite",()=>l(e),!0);case"put":if(a.fire===uI&&s.fire===uI)break;return o._promise("readwrite",()=>l(e),!0);case"delete":if(i.fire===uI)break;return o._promise("readwrite",()=>l(e),!0);case"deleteRange":if(i.fire===uI)break;return o._promise("readwrite",()=>(function e(t,o,i){return r.query({trans:t,values:!1,query:{index:n,range:o},limit:i}).then(({result:r})=>l({type:"delete",keys:r,trans:t}).then(n=>n.numFailures>0?Promise.reject(n.failures[0]):r.length<i?{failures:[],numFailures:0,lastResult:void 0}:e(t,{...o,lower:r[r.length-1],lowerOpen:!0},i)))})(e.trans,e.range,1e4),!0)}return r.mutate(e);function l(e){var t,o;let l=u8.trans,u=e.keys||("delete"===(t=e).type?t.keys:t.keys||t.values.map(n.extractKey));if(!u)throw Error("Keys missing");return"delete"!==(e="add"===e.type||"put"===e.type?{...e,keys:u}:{...e}).type&&(e.values=[...e.values]),e.keys&&(e.keys=[...e.keys]),("add"===(o=e).type?Promise.resolve([]):r.getMany({trans:o.trans,keys:u,cache:"immutable"})).then(t=>{let o=u.map((r,o)=>{let u=t[o],c={onerror:null,onsuccess:null};if("delete"===e.type)i.fire.call(c,r,u,l);else if("add"===e.type||void 0===u){let t=a.fire.call(c,r,e.values[o],l);null==r&&null!=t&&(r=t,e.keys[o]=r,n.outbound||ua(e.values[o],n.keyPath,r))}else{let t=dU(u,e.values[o]),n=s.fire.call(c,t,r,u,l);if(n){let t=e.values[o];Object.keys(n).forEach(e=>{l2(t,e)?t[e]=n[e]:ua(t,e,n[e])})}}return c});return r.mutate(e).then(({failures:r,results:n,numFailures:i,lastResult:a})=>{for(let i=0;i<u.length;++i){let a=n?n[i]:u[i],s=o[i];null==a?s.onerror&&s.onerror(r[i]):s.onsuccess&&s.onsuccess("put"===e.type&&t[i]?e.values[i]:a)}return{failures:r,results:n,numFailures:i,lastResult:a}}).catch(e=>(o.forEach(t=>t.onerror&&t.onerror(e)),Promise.reject(e)))})}}}}})};function dz(e,t,r){try{if(!t||t.keys.length<e.length)return null;let n=[];for(let o=0,i=0;o<t.keys.length&&i<e.length;++o)0===c9(t.keys[o],e[i])&&(n.push(r?uf(t.values[o]):t.values[o]),++i);return n.length===e.length?n:null}catch(e){return null}}let dK={stack:"dbcore",level:-1,create:e=>({table:t=>{let r=e.table(t);return{...r,getMany:e=>{if(!e.cache)return r.getMany(e);let t=dz(e.keys,e.trans._cache,"clone"===e.cache);return t?cn.resolve(t):r.getMany(e).then(t=>(e.trans._cache={keys:e.keys,values:"clone"===e.cache?uf(t):t},t))},mutate:e=>("add"!==e.type&&(e.trans._cache=null),r.mutate(e))}}})};function dH(e){return!("from"in e)}let dG=function(e,t){if(!this){let t=new dG;return e&&"d"in e&&lQ(t,e),t}lQ(this,arguments.length?{d:1,from:e,to:arguments.length>1?t:e}:{d:0})};function dq(e,t,r){let n=c9(t,r);if(isNaN(n))return;if(n>0)throw RangeError();if(dH(e))return lQ(e,{from:t,to:r,d:1});let o=e.l,i=e.r;if(0>c9(r,e.from))return o?dq(o,t,r):e.l={from:t,to:r,d:1,l:null,r:null},dJ(e);if(c9(t,e.to)>0)return i?dq(i,t,r):e.r={from:t,to:r,d:1,l:null,r:null},dJ(e);0>c9(t,e.from)&&(e.from=t,e.l=null,e.d=i?i.d+1:1),c9(r,e.to)>0&&(e.to=r,e.r=null,e.d=e.l?e.l.d+1:1);let a=!e.r;o&&!e.l&&dY(e,o),i&&a&&dY(e,i)}function dY(e,t){dH(t)||function e(t,{from:r,to:n,l:o,r:i}){dq(t,r,n),o&&e(t,o),i&&e(t,i)}(e,t)}function dZ(e){let t=dH(e)?null:{s:0,n:e};return{next(e){let r=arguments.length>0;for(;t;)switch(t.s){case 0:if(t.s=1,r)for(;t.n.l&&0>c9(e,t.n.from);)t={up:t,n:t.n.l,s:1};else for(;t.n.l;)t={up:t,n:t.n.l,s:1};case 1:if(t.s=2,!r||0>=c9(e,t.n.to))return{value:t.n,done:!1};case 2:if(t.n.r){t.s=3,t={up:t,n:t.n.r,s:0};continue}case 3:t=t.up}return{done:!0}}}}function dJ(e){var t,r;let n=((null==(t=e.r)?void 0:t.d)||0)-((null==(r=e.l)?void 0:r.d)||0),o=n>1?"r":n<-1?"l":"";if(o){let t="r"===o?"l":"r",r={...e},n=e[o];e.from=n.from,e.to=n.to,e[o]=n[o],r[o]=n[t],e[t]=r,r.d=dX(r)}e.d=dX(e)}function dX({r:e,l:t}){return(e?t?Math.max(e.d,t.d):e.d:t?t.d:0)+1}l4(dG.prototype,{add(e){return dY(this,e),this},addKey(e){return dq(this,e,e),this},addKeys(e){return e.forEach(e=>dq(this,e,e)),this},[uy](){return dZ(this)}});let dQ={stack:"dbcore",level:0,create:e=>{let t=e.schema.name,r=new dG(e.MIN_KEY,e.MAX_KEY);return{...e,table:n=>{let o=e.table(n),{schema:i}=o,{primaryKey:a}=i,{extractKey:s,outbound:l}=a,u={...o,mutate:e=>{let a=e.trans,s=a.mutatedParts||(a.mutatedParts={}),l=e=>{let r=`idb://${t}/${n}/${e}`;return s[r]||(s[r]=new dG)},u=l(""),c=l(":dels"),{type:d}=e,[p,f]="deleteRange"===e.type?[e.range]:"delete"===e.type?[e.keys]:e.values.length<50?[[],e.values]:[],h=e.trans._cache;return o.mutate(e).then(e=>{if(lX(p)){"delete"!==d&&(p=e.results),u.addKeys(p);let t=dz(p,h);t||"add"===d||c.addKeys(p),(t||f)&&i.indexes.forEach(function(e){let r=l(e.name||"");function n(t){return null!=t?e.extractKey(t):null}let o=t=>e.multiEntry&&lX(t)?t.forEach(e=>r.addKey(e)):r.addKey(t);(t||f).forEach((e,r)=>{let i=t&&n(t[r]),a=f&&n(f[r]);0!==c9(i,a)&&(null!=i&&o(i),null!=a&&o(a))})})}else if(p){let e={from:p.lower,to:p.upper};c.add(e),u.add(e)}else u.add(r),c.add(r),i.indexes.forEach(e=>l(e.name).add(r));return e})}},c=({query:{index:t,range:r}})=>{var n,o;return[t,new dG(null!=(n=r.lower)?n:e.MIN_KEY,null!=(o=r.upper)?o:e.MAX_KEY)]},d={get:e=>[a,new dG(e.key)],getMany:e=>[a,(new dG).addKeys(e.keys)],count:c,query:c,openCursor:c};return lJ(d).forEach(e=>{u[e]=function(i){let{subscr:a}=u8;if(a){let u=e=>{let r=`idb://${t}/${n}/${e}`;return a[r]||(a[r]=new dG)},c=u(""),p=u(":dels"),[f,h]=d[e](i);if(u(f.name||"").add(h),!f.isPrimaryKey){if("count"!==e){let t="query"===e&&l&&i.values&&o.query({...i,values:!1});return o[e].apply(this,arguments).then(r=>{if("query"===e){if(l&&i.values)return t.then(({result:e})=>(c.addKeys(e),r));let e=i.values?r.result.map(s):r.result;i.values?c.addKeys(e):p.addKeys(e)}else if("openCursor"===e){let e=i.values;return r&&Object.create(r,{key:{get:()=>(p.addKey(r.primaryKey),r.key)},primaryKey:{get(){let e=r.primaryKey;return p.addKey(e),e}},value:{get:()=>(e&&c.addKey(r.primaryKey),r.value)}})}return r})}p.add(r)}}return o[e].apply(this,arguments)}}),u}}}};class d0{constructor(e,t){var r;this._middlewares={},this.verno=0;const n=d0.dependencies;this._options=t={addons:d0.addons,autoOpen:!0,indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange,...t},this._deps={indexedDB:t.indexedDB,IDBKeyRange:t.IDBKeyRange};const{addons:o}=t;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;const i={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:uI,dbReadyPromise:null,cancelOpen:uI,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3};i.dbReadyPromise=new cn(e=>{i.dbReadyResolve=e}),i.openCanceller=new cn((e,t)=>{i.cancelOpen=t}),this._state=i,this.name=e,this.on=cX(this,"populate","blocked","versionchange","close",{ready:[uK,uI]}),this.on.ready.subscribe=ut(this.on.ready.subscribe,e=>(t,r)=>{d0.vip(()=>{let n=this._state;if(n.openComplete)n.dbOpenError||cn.resolve().then(t),r&&e(t);else if(n.onReadyBeingFired)n.onReadyBeingFired.push(t),r&&e(t);else{e(t);let n=this;r||e(function e(){n.on.ready.unsubscribe(t),n.on.ready.unsubscribe(e)})}})}),this.Collection=(r=this,cQ(de.prototype,function(e,t){this.db=r;let n=cY,o=null;if(t)try{n=t()}catch(e){o=e}let i=e._ctx,a=i.table,s=a.hook.reading.fire;this._ctx={table:a,index:i.index,isPrimKey:!i.index||a.schema.primKey.keyPath&&i.index===a.schema.primKey.name,range:n,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:o,or:i.or,valueMapper:s!==uL?s:null}})),this.Table=function(e){return cQ(cJ.prototype,function(t,r,n){this.db=e,this._tx=n,this.name=t,this.schema=r,this.hook=e._allTables[t]?e._allTables[t].hook:cX(null,{creating:[uV,uI],reading:[uF,uL],updating:[uW,uI],deleting:[uU,uI]})})}(this),this.Transaction=function(e){return cQ(dy.prototype,function(t,r,n,o,i){this.db=e,this.mode=t,this.storeNames=r,this.schema=n,this.chromeTransactionDurability=o,this.idbtrans=null,this.on=cX(this,"complete","error","abort"),this.parent=i||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new cn((e,t)=>{this._resolve=e,this._reject=t}),this._completion.then(()=>{this.active=!1,this.on.complete.fire()},e=>{var t=this.active;return this.active=!1,this.on.error.fire(e),this.parent?this.parent._reject(e):t&&this.idbtrans&&this.idbtrans.abort(),c$(e)})})}(this),this.Version=function(e){return cQ(dA.prototype,function(t){this.db=e,this._cfg={version:t,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})}(this),this.WhereClause=function(e){return cQ(dc.prototype,function(t,r,n){this.db=e,this._ctx={table:t,index:":id"===r?null:r,or:n};let o=e._deps.indexedDB;if(!o)throw new uA.MissingAPI;this._cmp=this._ascending=o.cmp.bind(o),this._descending=(e,t)=>o.cmp(t,e),this._max=(e,t)=>o.cmp(e,t)>0?e:t,this._min=(e,t)=>0>o.cmp(e,t)?e:t,this._IDBKeyRange=e._deps.IDBKeyRange})}(this),this.on("versionchange",e=>{e.newVersion>0?console.warn(`Another connection wants to upgrade database '${this.name}'. Closing db now to resume the upgrade.`):console.warn(`Another connection wants to delete database '${this.name}'. Closing db now to resume the delete request.`),this.close()}),this.on("blocked",e=>{!e.newVersion||e.newVersion<e.oldVersion?console.warn(`Dexie.delete('${this.name}') was blocked`):console.warn(`Upgrade '${this.name}' blocked by other connection holding version ${e.oldVersion/10}`)}),this._maxKey=dw(t.IDBKeyRange),this._createTransaction=(e,t,r,n)=>new this.Transaction(e,t,r,this._options.chromeTransactionDurability,n),this._fireOnBlocked=e=>{this.on("blocked").fire(e),cU.filter(e=>e.name===this.name&&e!==this&&!e._state.vcFired).map(t=>t.on("versionchange").fire(e))},this.use(dV),this.use(dW),this.use(dQ),this.use(dK),this.vip=Object.create(this,{_vip:{value:!0}}),o.forEach(e=>e(this))}version(e){if(isNaN(e)||e<.1)throw new uA.Type("Given version is not a positive number");if(e=Math.round(10*e)/10,this.idbdb||this._state.isBeingOpened)throw new uA.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,e);let t=this._versions;var r=t.filter(t=>t._cfg.version===e)[0];return r||(r=new this.Version(e),t.push(r),t.sort(dC),r.stores({}),this._state.autoSchema=!1,r)}_whenReady(e){return this.idbdb&&(this._state.openComplete||u8.letThrough||this._vip)?e():new cn((e,t)=>{if(this._state.openComplete)return t(new uA.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen)return void t(new uA.DatabaseClosed);this.open().catch(uI)}this._state.dbReadyPromise.then(e,t)}).then(e)}use({stack:e,create:t,level:r,name:n}){n&&this.unuse({stack:e,name:n});let o=this._middlewares[e]||(this._middlewares[e]=[]);return o.push({stack:e,create:t,level:null==r?10:r,name:n}),o.sort((e,t)=>e.level-t.level),this}unuse({stack:e,name:t,create:r}){return e&&this._middlewares[e]&&(this._middlewares[e]=this._middlewares[e].filter(e=>r?e.create!==r:!!t&&e.name!==t)),this}open(){return function(e){var t;let r=e._state,{indexedDB:n}=e._deps;if(r.isBeingOpened||e.idbdb)return r.dbReadyPromise.then(()=>r.dbOpenError?c$(r.dbOpenError):e);u_&&(r.openCanceller._stackHolder=uS()),r.isBeingOpened=!0,r.dbOpenError=null,r.openComplete=!1;let o=r.openCanceller;function i(){if(r.openCanceller!==o)throw new uA.DatabaseClosed("db.open() was cancelled")}let a=r.dbReadyResolve,s=null,l=!1,u=()=>new cn((t,o)=>{if(i(),!n)throw new uA.MissingAPI;let a=e.name,u=r.autoSchema?n.open(a):n.open(a,Math.round(10*e.verno));if(!u)throw new uA.MissingAPI;u.onerror=dd(o),u.onblocked=cy(e._fireOnBlocked),u.onupgradeneeded=cy(t=>{if(s=u.transaction,r.autoSchema&&!e._options.allowEmptyDB){u.onerror=dp,s.abort(),u.result.close();let e=n.deleteDatabase(a);e.onsuccess=e.onerror=cy(()=>{o(new uA.NoSuchDatabase(`Database ${a} doesnt exist`))})}else{let r,n,a,p;s.onerror=dd(o);var i,c,d=t.oldVersion>0x4000000000000000?0:t.oldVersion;l=d<1,e._novip.idbdb=u.result,i=d/10,c=s,r=e._dbSchema,(n=e._createTransaction("readwrite",e._storeNames,r)).create(c),n._completion.catch(o),a=n._reject.bind(n),p=u8.transless||u8,cE(()=>{u8.trans=n,u8.transless=p,0===i?(lJ(r).forEach(e=>{dj(c,e,r[e].primKey,r[e].indexes)}),dD(e,c),cn.follow(()=>e.on.populate.fire(n)).catch(a)):(function({_novip:e},t,r,n){let o=[],i=e._versions,a=e._dbSchema=dR(e,e.idbdb,n),s=!1;return i.filter(e=>e._cfg.version>=t).forEach(i=>{o.push(()=>{let o=a,l=i._cfg.dbschema;dN(e,o,n),dN(e,l,n),a=e._dbSchema=l;let u=dk(o,l);u.add.forEach(e=>{dj(n,e[0],e[1].primKey,e[1].indexes)}),u.change.forEach(e=>{if(e.recreate)throw new uA.Upgrade("Not yet support for changing primary key");{let t=n.objectStore(e.name);e.add.forEach(e=>dT(t,e)),e.change.forEach(e=>{t.deleteIndex(e.name),dT(t,e)}),e.del.forEach(e=>t.deleteIndex(e))}});let c=i._cfg.contentUpgrade;if(c&&i._cfg.version>t){let t;dD(e,n),r._memoizedTables={},s=!0;let i=us(l);u.del.forEach(e=>{i[e]=o[e]}),dP(e,[e.Transaction.prototype]),dO(e,[e.Transaction.prototype],lJ(i),i),r.schema=i;let a=uw(c);a&&cS();let d=cn.follow(()=>{if((t=c(r))&&a){var e=cD.bind(null,null);t.then(e,e)}});return t&&"function"==typeof t.then?cn.resolve(t):d.then(()=>t)}}),o.push(t=>{var n;s&&cW||(n=i._cfg.dbschema,[].slice.call(t.db.objectStoreNames).forEach(e=>null==n[e]&&t.db.deleteObjectStore(e))),dP(e,[e.Transaction.prototype]),dO(e,[e.Transaction.prototype],e._storeNames,e._dbSchema),r.schema=e._dbSchema})}),(function e(){return o.length?cn.resolve(o.shift()(r.idbtrans)).then(e):cn.resolve()})().then(()=>{var e;lJ(e=a).forEach(t=>{n.db.objectStoreNames.contains(t)||dj(n,t,e[t].primKey,e[t].indexes)})})})(e,i,n,c).catch(a)})}},o),u.onsuccess=cy(()=>{s=null;let n=e._novip.idbdb=u.result,o=ue(n.objectStoreNames);if(o.length>0)try{let t,i=n.transaction(1===o.length?o[0]:o,"readonly");r.autoSchema?function({_novip:e},t,r){e.verno=t.version/10;let n=e._dbSchema=dR(0,t,r);e._storeNames=ue(t.objectStoreNames,0),dO(e,[e._allTables],lJ(n),n)}(e,n,i):(dN(e,e._dbSchema,i),((t=dk(dR(0,e.idbdb,i),e._dbSchema)).add.length||t.change.some(e=>e.add.length||e.change.length))&&console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.")),dD(e,i)}catch(e){}cU.push(e),n.onversionchange=cy(t=>{r.vcFired=!0,e.on("versionchange").fire(t)}),n.onclose=cy(t=>{e.on("close").fire(t)}),l&&function({indexedDB:e,IDBKeyRange:t},r){d$(e)||r===cK||dM(e,t).put({name:r}).catch(uI)}(e._deps,a),t()},o)}).catch(e=>e&&"UnknownError"===e.name&&r.PR1398_maxLoop>0?(r.PR1398_maxLoop--,console.warn("Dexie: Workaround for Chrome UnknownError on open()"),u()):cn.reject(e));return cn.race([o,("u"<typeof navigator?cn.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(e){var r=function(){return indexedDB.databases().finally(e)};t=setInterval(r,100),r()}).finally(function(){return clearInterval(t)}):Promise.resolve()).then(u)]).then(()=>(i(),r.onReadyBeingFired=[],cn.resolve(dI(()=>e.on.ready.fire(e.vip))).then(function t(){if(r.onReadyBeingFired.length>0){let n=r.onReadyBeingFired.reduce(uK,uI);return r.onReadyBeingFired=[],cn.resolve(dI(()=>n(e.vip))).then(t)}}))).finally(()=>{r.onReadyBeingFired=null,r.isBeingOpened=!1}).then(()=>e).catch(t=>{r.dbOpenError=t;try{s&&s.abort()}catch(e){}return o===r.openCanceller&&e._close(),c$(t)}).finally(()=>{r.openComplete=!0,a()})}(this)}_close(){let e=this._state,t=cU.indexOf(this);if(t>=0&&cU.splice(t,1),this.idbdb){try{this.idbdb.close()}catch(e){}this._novip.idbdb=null}e.dbReadyPromise=new cn(t=>{e.dbReadyResolve=t}),e.openCanceller=new cn((t,r)=>{e.cancelOpen=r})}close(){this._close();let e=this._state;this._options.autoOpen=!1,e.dbOpenError=new uA.DatabaseClosed,e.isBeingOpened&&e.cancelOpen(e.dbOpenError)}delete(){let e=arguments.length>0,t=this._state;return new cn((r,n)=>{let o=()=>{this.close();var e=this._deps.indexedDB.deleteDatabase(this.name);e.onsuccess=cy(()=>{!function({indexedDB:e,IDBKeyRange:t},r){d$(e)||r===cK||dM(e,t).delete(r).catch(uI)}(this._deps,this.name),r()}),e.onerror=dd(n),e.onblocked=this._fireOnBlocked};if(e)throw new uA.InvalidArgument("Arguments not allowed in db.delete()");t.isBeingOpened?t.dbReadyPromise.then(o):o()})}backendDB(){return this.idbdb}isOpen(){return null!==this.idbdb}hasBeenClosed(){let e=this._state.dbOpenError;return e&&"DatabaseClosed"===e.name}hasFailed(){return null!==this._state.dbOpenError}dynamicallyOpened(){return this._state.autoSchema}get tables(){return lJ(this._allTables).map(e=>this._allTables[e])}transaction(){let e=dF.apply(this,arguments);return this._transaction.apply(this,e)}_transaction(e,t,r){let n,o,i=u8.trans;i&&i.db===this&&-1===e.indexOf("!")||(i=null);let a=-1!==e.indexOf("?");e=e.replace("!","").replace("?","");try{if(o=t.map(e=>{var t=e instanceof this.Table?e.name:e;if("string"!=typeof t)throw TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return t}),"r"==e||e===cH)n=cH;else{if("rw"!=e&&e!=cG)throw new uA.InvalidArgument("Invalid transaction mode: "+e);n=cG}if(i){if(i.mode===cH&&n===cG){if(!a)throw new uA.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");i=null}i&&o.forEach(e=>{if(i&&-1===i.storeNames.indexOf(e)){if(!a)throw new uA.SubTransaction("Table "+e+" not included in parent transaction.");i=null}}),a&&i&&!i.active&&(i=null)}}catch(e){return i?i._promise(null,(t,r)=>{r(e)}):c$(e)}let s=(function e(t,r,n,o,i){return cn.resolve().then(()=>{let a,s=u8.transless||u8,l=t._createTransaction(r,n,t._dbSchema,o);if(o)l.idbtrans=o.idbtrans;else try{l.create(),t._state.PR1398_maxLoop=3}catch(o){return o.name===uN.InvalidState&&t.isOpen()&&--t._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),t._close(),t.open().then(()=>e(t,r,n,null,i))):c$(o)}let u=uw(i);u&&cS();let c=cn.follow(()=>{if(a=i.call(l,l))if(u){var e=cD.bind(null,null);a.then(e,e)}else"function"==typeof a.next&&"function"==typeof a.throw&&(a=dL(a))},{trans:l,transless:s});return(a&&"function"==typeof a.then?cn.resolve(a).then(e=>l.active?e:c$(new uA.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))):c.then(()=>a)).then(e=>(o&&l._resolve(),l._completion.then(()=>e))).catch(e=>(l._reject(e),c$(e)))})}).bind(null,this,n,o,i,r);return i?i._promise(n,s,"lock"):u8.trans?cT(u8.transless,()=>this._whenReady(s)):this._whenReady(s)}table(e){if(!l2(this._allTables,e))throw new uA.InvalidTable(`Table ${e} does not exist`);return this._allTables[e]}}let d1="u">typeof Symbol&&"observable"in Symbol?Symbol.observable:"@@observable";class d2{constructor(e){this._subscribe=e}subscribe(e,t,r){return this._subscribe(e&&"function"!=typeof e?e:{next:e,error:t,complete:r})}[d1](){return this}}function d4(e,t){return lJ(t).forEach(r=>{dY(e[r]||(e[r]=new dG),t[r])}),e}try{i={indexedDB:lZ.indexedDB||lZ.mozIndexedDB||lZ.webkitIndexedDB||lZ.msIndexedDB,IDBKeyRange:lZ.IDBKeyRange||lZ.webkitIDBKeyRange}}catch(e){i={indexedDB:null,IDBKeyRange:null}}function d3(e){let t=d6;try{d6=!0,dm.storagemutated.fire(e)}finally{d6=t}}l4(d0,{...u$,delete:e=>new d0(e,{addons:[]}).delete(),exists:e=>new d0(e,{addons:[]}).open().then(e=>(e.close(),!0)).catch("NoSuchDatabaseError",()=>!1),getDatabaseNames(e){try{return(function({indexedDB:e,IDBKeyRange:t}){return d$(e)?Promise.resolve(e.databases()).then(e=>e.map(e=>e.name).filter(e=>e!==cK)):dM(e,t).toCollection().primaryKeys()})(d0.dependencies).then(e)}catch(e){return c$(new uA.MissingAPI)}},defineClass:()=>function(e){lQ(this,e)},ignoreTransaction:e=>u8.trans?cT(u8.transless,e):e(),vip:dI,async:function(e){return function(){try{var t=dL(e.apply(this,arguments));return t&&"function"==typeof t.then?t:cn.resolve(t)}catch(e){return c$(e)}}},spawn:function(e,t,r){try{var n=dL(e.apply(r,t||[]));return n&&"function"==typeof n.then?n:cn.resolve(n)}catch(e){return c$(e)}},currentTransaction:{get:()=>u8.trans||null},waitFor:function(e,t){let r=cn.resolve("function"==typeof e?d0.ignoreTransaction(e):e).timeout(t||6e4);return u8.trans?u8.trans.waitFor(r):r},Promise:cn,debug:{get:()=>u_,set:e=>{u_=e,ux="dexie"===e?()=>!0:cz}},derive:l5,extend:lQ,props:l4,override:ut,Events:cX,on:dm,liveQuery:function(e){let t,r=!1,n=new d2(n=>{let o=uw(e),i=!1,a={},s={},l={get closed(){return i},unsubscribe:()=>{i=!0,dm.storagemutated.unsubscribe(p)}};n.start&&n.start(l);let u=!1,c=!1;function d(){return lJ(s).some(e=>a[e]&&function(e,t){let r=dZ(t),n=r.next();if(n.done)return!1;let o=n.value,i=dZ(e),a=i.next(o.from),s=a.value;for(;!n.done&&!a.done;){if(0>=c9(s.from,o.to)&&c9(s.to,o.from)>=0)return!0;0>c9(o.from,s.from)?o=(n=r.next(s.from)).value:s=(a=i.next(o.from)).value}return!1}(a[e],s[e]))}let p=e=>{d4(a,e),d()&&f()},f=()=>{let h,m;if(u||i)return;a={};let y={},g=(o&&cS(),h=()=>cE(e,{subscr:y,trans:null}),m=u8.trans?cT(u8.transless,h):h(),o&&m.then(cD,cD),m);c||(dm(df,p),c=!0),u=!0,Promise.resolve(g).then(e=>{r=!0,t=e,u=!1,i||(d()?f():(a={},s=y,n.next&&n.next(e)))},e=>{u=!1,r=!1,n.error&&n.error(e),l.unsubscribe()})};return f(),l});return n.hasValue=()=>r,n.getValue=()=>t,n},extendObservabilitySet:d4,getByKeyPath:ui,setByKeyPath:ua,delByKeyPath:function(e,t){"string"==typeof t?ua(e,t,void 0):"length"in t&&[].map.call(t,function(t){ua(e,t,void 0)})},shallowClone:us,deepClone:uf,getObjectDiff:dU,cmp:c9,asap:un,minKey:cF,addons:[],connections:cU,errnames:uN,dependencies:i,semVer:cI,version:cI.split(".").map(e=>parseInt(e)).reduce((e,t,r)=>e+t/Math.pow(10,2*r))}),d0.maxKey=dw(d0.dependencies.IDBKeyRange),"u">typeof dispatchEvent&&"u">typeof addEventListener&&(dm(df,e=>{if(!d6){let t;cW?(t=document.createEvent("CustomEvent")).initCustomEvent(dh,!0,!0,e):t=new CustomEvent(dh,{detail:e}),d6=!0,dispatchEvent(t),d6=!1}}),addEventListener(dh,({detail:e})=>{d6||d3(e)}));let d6=!1;if("u">typeof BroadcastChannel){let e=new BroadcastChannel(dh);"function"==typeof e.unref&&e.unref(),dm(df,t=>{d6||e.postMessage(t)}),e.onmessage=e=>{e.data&&d3(e.data)}}else if("u">typeof self&&"u">typeof navigator){dm(df,e=>{try{d6||("u">typeof localStorage&&localStorage.setItem(dh,JSON.stringify({trig:Math.random(),changedParts:e})),"object"==typeof self.clients&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach(t=>t.postMessage({type:dh,changedParts:e})))}catch(e){}}),"u">typeof addEventListener&&addEventListener("storage",e=>{if(e.key===dh){let t=JSON.parse(e.newValue);t&&d3(t.changedParts)}});let e=self.document&&navigator.serviceWorker;e&&e.addEventListener("message",function({data:e}){e&&e.type===dh&&d3(e.changedParts)})}function d5(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}cn.rejectionMapper=function(e,t){if(!e||e instanceof uk||e instanceof TypeError||e instanceof SyntaxError||!e.name||!uM[e.name])return e;var r=new uM[e.name](t||e.message,e);return"stack"in e&&l6(r,"stack",{get:function(){return this.inner.stack}}),r},ux=cz;class d9 extends d0{constructor(){super("EsmOffline"),d5(this,"syncQueue",void 0),d5(this,"dynamicOfflineData",void 0),this.version(4).stores({syncQueue:"++id,userId,type,[userId+type]",dynamicOfflineData:"++id,type,identifier,*users,&[type+identifier]"}),this.syncQueue=this.table("syncQueue"),this.dynamicOfflineData=this.table("dynamicOfflineData")}}function d7(){return new d9}let d8=new d9,pe={},pt=Y("offline-synchronization",{});function pr(){return pt}async function pn(){if(pt.getState().synchronization)return;let e=await d8.syncQueue.count(),t={},r=Object.entries(pe),n=r.length,o={},i=new AbortController,a=()=>{let e=pt.getState().synchronization;pt.setState({synchronization:{...e,pendingCount:e.pendingCount-1}})};try{pt.setState({synchronization:{totalCount:e,pendingCount:e,abortController:i}});for(let e=0;e<n&&r.length>0;e++)for(let e=r.length;e--;){let[n,s]=r[e],l=s.dependsOn.map(e=>t[e]);l.every(Boolean)&&(o[n]={},await Promise.all(l),t[n]=po(s,o,i,a),r.splice(e,1))}await Promise.allSettled(Object.values(t))}finally{pt.setState({synchronization:void 0})}}async function po({type:e,dependsOn:t,process:r},n,o,i){let a=[],s=[],l=await pi();await d8.syncQueue.where({type:e,userId:l}).each((e,t)=>{a.push([t.primaryKey,e.content,e.descriptor]),s.push(e.content)});for(let u=0;u<a.length;u++){let[c,d,{id:p,dependencies:f=[]}]=a[u];try{let i=await r(d,{abort:o,index:u,items:s,userId:l,dependencies:f.map(({id:e,type:r})=>t.includes(r)?n[r][e]:void 0)});void 0!==p&&(n[e][p]=i),await d8.syncQueue.delete(c)}catch(e){await d8.syncQueue.update(c,{lastError:{name:e?.name,message:e?.message??e?.toString()}})}finally{i()}}}async function pi(){let e=await aK();return e?.uuid||"*"}async function pa(e,t,r,n){let o=n&&n.id;return void 0!==o&&await d8.syncQueue.where({type:t,userId:e}).filter(e=>e?.descriptor.id===o).delete().catch(d0.errnames.DatabaseClosed),await d8.syncQueue.add({type:t,content:r,userId:e,descriptor:n||{},createdOn:new Date}).catch(d0.errnames.DatabaseClosed,()=>-1)}async function ps(e,t,r){let n=await pi();return await pa(n,e,t,r)}async function pl(e,t){return(await pu(e,t)).map(e=>e.content)}async function pu(e,t){return await d8.syncQueue.where(t?{type:t,userId:e}:{userId:e}).toArray().catch(d0.errnames.DatabaseClosed,()=>[])}async function pc(e){let t=await pi();return await pl(t,e)}async function pd(e){let t=await pi();return await pu(t,e)}async function pp(e){return await d8.syncQueue.get(e).catch(d0.errnames.DatabaseClosed,()=>void 0)}function pf(e){return!!pe[e]?.options.onBeginEditSyncItem}async function ph(e){let t=await pp(e);if(!t)throw Error(`No sync item with the ID ${e} exists.`);let r=pe[t.type]?.options.onBeginEditSyncItem;if(!r)throw Error(`A sync item with the ID ${e} exists, but the associated handler (if one exists) doesn't support editing the item. You can avoid this error by either verifying that sync items of this type can be edited via the "canEditSynchronizationItemsOfType(type: string)" function or alternatively ensure that the synchronizaton handler for sync items of type "${t.type}" supports editing items.`);r(t)}async function pm(e){await d8.syncQueue.delete(e).catch(d0.errnames.DatabaseClosed)}function py(e,t,r,n={}){pe[e]={type:e,dependsOn:t,process:r,options:n}}let pg="u">typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),pb=new Uint8Array(16),pv=[];for(let e=0;e<256;++e)pv.push((e+256).toString(16).slice(1));let pw=function(e,t,r){if(pg&&!t&&!e)return pg();let n=(e=e||{}).random||(e.rng||function(){if(!a&&!(a="u">typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return a(pb)})();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=n[e];return t}return function(e,t=0){return pv[e[t+0]]+pv[e[t+1]]+pv[e[t+2]]+pv[e[t+3]]+"-"+pv[e[t+4]]+pv[e[t+5]]+"-"+pv[e[t+6]]+pv[e[t+7]]+"-"+pv[e[t+8]]+pv[e[t+9]]+"-"+pv[e[t+10]]+pv[e[t+11]]+pv[e[t+12]]+pv[e[t+13]]+pv[e[t+14]]+pv[e[t+15]]}(n)},p_="OFFLINE+";function px(){return p_+pw()}function pE(e){return e.startsWith(p_)}let pS={};function pD(){return Object.values(pS)}function pO(e){pS[e.id]&&console.warn(`[setupDynamicOfflineDataHandler] Another second handler with the ID "${e.id}" was registered. This handler will override the previous one. This could be unintended as the previous handler might run different flows than the newly registered one. If this is the case, ensure that you are setting up the handlers with different IDs.`),pS[e.id]=e}async function pP(e){let t=await pM();return await pC(t,e)}async function pC(e,t){let r=new d9;return await r.dynamicOfflineData.where(t?{type:t,users:e}:{users:e}).toArray().catch(d0.errnames.DatabaseClosed,()=>[])}async function pk(e,t){let r=await pM();return await pj(r,e,t)}async function pj(e,t,r){let n=new d9,o=await n.dynamicOfflineData.get({type:t,identifier:r}).catch(d0.errnames.DatabaseClosed,()=>void 0);o?o.users.includes(e)||await n.dynamicOfflineData.update(o.id,{users:[...o.users,e]}).catch(d0.errnames.DatabaseClosed):await n.dynamicOfflineData.add({users:[e],type:t,identifier:r}).catch(d0.errnames.DatabaseClosed)}async function pT(e,t){let r=await pM();return await pR(r,e,t)}async function pR(e,t,r){let n=new d9,o=await n.dynamicOfflineData.get({type:t,identifier:r,users:e}).catch(d0.errnames.DatabaseClosed,()=>void 0);o&&(o.users.length>1?await n.dynamicOfflineData.update(o.id,{users:o.users.filter(t=>t!==e)}).catch(d0.errnames.DatabaseClosed):await n.dynamicOfflineData.delete(o.id).catch(d0.errnames.DatabaseClosed))}async function pN(e,t){let r=await pP(e);await Promise.all(r.map(async e=>pA(e.type,e.identifier,t)))}async function pA(e,t,r){await pk(e,t);let n=new d9,o=await pM(),i=await n.dynamicOfflineData.get({type:e,identifier:t}).catch(d0.errnames.DatabaseClosed,()=>void 0),a=pD().filter(t=>t.type===e);if(!i)return;let s=await Promise.all(a.map(async e=>{try{return e.sync(t,r),{id:e.id,error:void 0}}catch(r){let t=r.message?.toString()??r.toString();return{id:e.id,error:t}}})),l=s.filter(e=>!e.error).map(e=>e.id),u=s.filter(e=>e.error).map(e=>e.id),c=s.filter(e=>e.error).map(e=>({handlerId:e.id,message:e.error})),d={syncedOn:new Date,syncedBy:o,succeededHandlers:l,erroredHandlers:u,errors:c};i.id&&await n.dynamicOfflineData.update(i.id,{syncState:d}).catch(d0.errnames.DatabaseClosed)}async function pM(){let e=(await aK()).uuid;if(!e)throw Error("Using the dynamic offline data API requires a logged in user.");return e}let p$=Y("offline-patients",{offlinePatientDataSyncState:{},handlers:{}});function pI(){return pB(),p$}function pL(e,t){pB(),pO({type:"patient",displayName:t.displayName,id:e,isSynced:()=>Promise.resolve(!0),sync:(e,r)=>t.onOfflinePatientAdded({patientUuid:e,signal:r??new AbortController().signal})})}async function pF(e){pB(),await pA("patient",e)}function pB(){console.warn("The offline patient API has been deprecated and will be removed in a future release. To prevent future crashes, the functions remain available for the moment, but any invocations should be migrated ASAP.")}async function pV(e,t,r=!0){if(e){let n=null,[o,i]=await Promise.all([aA(`${aT}/Patient/${e}`,t).catch(e=>n=e),r?pU(e):Promise.resolve(null)]);if(o.ok)return o.data;if(i)return i;if(n)throw n}return null}async function pU(e){let t=(await pc("patient-registration")).find(t=>t.fhirPatient.id===e);return t?.fhirPatient??null}function pW(e,t){let r=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(r)}function pz(e,t){let r=e=>{t("detail"in e&&null!==e.detail?e.detail:void 0)};return window.addEventListener(`openmrs:${e}`,r),()=>{window.removeEventListener(`openmrs:${e}`,r)}}var pK=r(9549);function pH(e){return{uuid:e.uuid,display:e.display}}function pG(e=null,t=null){let r=new URLSearchParams;e&&r.set("tag",e),t&&r.set("q",t);let n=r.toString();return aM(`${aj}/location${n?"?"+n:""}`).pipe((0,pK.map)(e=>e.data.results.map(pH))).pipe((0,pK.take)(1))}function pq(e){return{uuid:e.uuid,display:e.display,name:e.name}}function pY(){return aM(`${aj}/visittype`).pipe((0,pK.map)(e=>e.data.results.map(pq))).pipe((0,pK.take)(1))}var pZ=function(){function e(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return e.prototype=Object.create(Error.prototype),e}(),pJ=function(e){function t(t,r){var n=e.call(this)||this;return n.subject=t,n.subscriber=r,n.closed=!1,n}return eb(t,e),t.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var e=this.subject,t=e.observers;if(this.subject=null,t&&0!==t.length&&!e.isStopped&&!e.closed){var r=t.indexOf(this.subscriber);-1!==r&&t.splice(r,1)}}},t}(eO),pX=function(e){function t(t){var r=e.call(this,t)||this;return r.destination=t,r}return eb(t,e),t}(ek),pQ=function(e){function t(){var t=e.call(this)||this;return t.observers=[],t.closed=!1,t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return eb(t,e),t.prototype[eC]=function(){return new pX(this)},t.prototype.lift=function(e){var t=new p0(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new pZ;if(!this.isStopped)for(var t=this.observers,r=t.length,n=t.slice(),o=0;o<r;o++)n[o].next(e)},t.prototype.error=function(e){if(this.closed)throw new pZ;this.hasError=!0,this.thrownError=e,this.isStopped=!0;for(var t=this.observers,r=t.length,n=t.slice(),o=0;o<r;o++)n[o].error(e);this.observers.length=0},t.prototype.complete=function(){if(this.closed)throw new pZ;this.isStopped=!0;for(var e=this.observers,t=e.length,r=e.slice(),n=0;n<t;n++)r[n].complete();this.observers.length=0},t.prototype.unsubscribe=function(){this.isStopped=!0,this.closed=!0,this.observers=null},t.prototype._trySubscribe=function(t){if(!this.closed)return e.prototype._trySubscribe.call(this,t);throw new pZ},t.prototype._subscribe=function(e){if(this.closed)throw new pZ;return this.hasError?(e.error(this.thrownError),eO.EMPTY):this.isStopped?(e.complete(),eO.EMPTY):(this.observers.push(e),new pJ(this,e))},t.prototype.asObservable=function(){var e=new eR;return e.source=this,e},t.create=function(e,t){return new p0(e,t)},t}(eR),p0=function(e){function t(t,r){var n=e.call(this)||this;return n.destination=t,n.source=r,n}return eb(t,e),t.prototype.next=function(e){var t=this.destination;t&&t.next&&t.next(e)},t.prototype.error=function(e){var t=this.destination;t&&t.error&&this.destination.error(e)},t.prototype.complete=function(){var e=this.destination;e&&e.complete&&this.destination.complete()},t.prototype._subscribe=function(e){return this.source?this.source.subscribe(e):eO.EMPTY},t}(pQ),p1=function(e){function t(t){var r=e.call(this)||this;return r._value=t,r}return eb(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),t.prototype._subscribe=function(t){var r=e.prototype._subscribe.call(this,t);return r&&!r.closed&&t.next(this._value),r},t.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(!this.closed)return this._value;throw new pZ},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(pQ),p2=((eu={}).NEWVISIT="startVisit",eu.EDITVISIT="editVisit",eu.LOADING="loadingVisit",eu),p4=((ec={}).NOTSTARTED="notStarted",ec.ONGOING="ongoing",ec);let p3="custom:(uuid,display,voided,indication,startDatetime,stopDatetime,encounters:(uuid,display,encounterDatetime,form:(uuid,name),location:ref,encounterType:ref,encounterProviders:(uuid,display,provider:(uuid,display))),patient:(uuid,display),visitType:(uuid,name,display),attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),location:(uuid,name,display))",p6=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function p5(){return J("visit",p6)}function p9(e,t){p5().setState({patientUuid:e,manuallySetVisitUuid:t})}function p7(e,t){return aA(`${aj}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function p8(e,t,r){return aA(`${aj}/visit/${e}`,{signal:r.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function fe(e,t,r){return aA(`${aj}/visit?patient=${e}&v=${r??p3}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}p5().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});let ft=new p1(null);class fr{static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+fr.version}static addUnaryOp(e){return fr.max_unop_len=Math.max(e.length,fr.max_unop_len),fr.unary_ops[e]=1,fr}static addBinaryOp(e,t,r){return fr.max_binop_len=Math.max(e.length,fr.max_binop_len),fr.binary_ops[e]=t,r?fr.right_associative.add(e):fr.right_associative.delete(e),fr}static addIdentifierChar(e){return fr.additional_identifier_chars.add(e),fr}static addLiteral(e,t){return fr.literals[e]=t,fr}static removeUnaryOp(e){return delete fr.unary_ops[e],e.length===fr.max_unop_len&&(fr.max_unop_len=fr.getMaxKeyLen(fr.unary_ops)),fr}static removeAllUnaryOps(){return fr.unary_ops={},fr.max_unop_len=0,fr}static removeIdentifierChar(e){return fr.additional_identifier_chars.delete(e),fr}static removeBinaryOp(e){return delete fr.binary_ops[e],e.length===fr.max_binop_len&&(fr.max_binop_len=fr.getMaxKeyLen(fr.binary_ops)),fr.right_associative.delete(e),fr}static removeAllBinaryOps(){return fr.binary_ops={},fr.max_binop_len=0,fr}static removeLiteral(e){return delete fr.literals[e],fr}static removeAllLiterals(){return fr.literals={},fr}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(e){this.expr=e,this.index=0}static parse(e){return new fr(e).parse()}static getMaxKeyLen(e){return Math.max(0,...Object.keys(e).map(e=>e.length))}static isDecimalDigit(e){return e>=48&&e<=57}static binaryPrecedence(e){return fr.binary_ops[e]||0}static isIdentifierStart(e){return e>=65&&e<=90||e>=97&&e<=122||e>=128&&!fr.binary_ops[String.fromCharCode(e)]||fr.additional_identifier_chars.has(String.fromCharCode(e))}static isIdentifierPart(e){return fr.isIdentifierStart(e)||fr.isDecimalDigit(e)}throwError(e){let t=Error(e+" at character "+this.index);throw t.index=this.index,t.description=e,t}runHook(e,t){if(fr.hooks[e]){let r={context:this,node:t};return fr.hooks.run(e,r),r.node}return t}searchHook(e){if(fr.hooks[e]){let t={context:this};return fr.hooks[e].find(function(e){return e.call(t.context,t),t.node}),t.node}}gobbleSpaces(){let e=this.code;for(;e===fr.SPACE_CODE||e===fr.TAB_CODE||e===fr.LF_CODE||e===fr.CR_CODE;)e=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let e=this.gobbleExpressions(),t=1===e.length?e[0]:{type:fr.COMPOUND,body:e};return this.runHook("after-all",t)}gobbleExpressions(e){let t=[],r,n;for(;this.index<this.expr.length;)if((r=this.code)===fr.SEMCOL_CODE||r===fr.COMMA_CODE)this.index++;else if(n=this.gobbleExpression())t.push(n);else if(this.index<this.expr.length){if(r===e)break;this.throwError('Unexpected "'+this.char+'"')}return t}gobbleExpression(){let e=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",e)}gobbleBinaryOp(){this.gobbleSpaces();let e=this.expr.substr(this.index,fr.max_binop_len),t=e.length;for(;t>0;){if(fr.binary_ops.hasOwnProperty(e)&&(!fr.isIdentifierStart(this.code)||this.index+e.length<this.expr.length&&!fr.isIdentifierPart(this.expr.charCodeAt(this.index+e.length))))return this.index+=t,e;e=e.substr(0,--t)}return!1}gobbleBinaryExpression(){let e,t,r,n,o,i,a,s,l;if(!(i=this.gobbleToken())||!(t=this.gobbleBinaryOp()))return i;for(o={value:t,prec:fr.binaryPrecedence(t),right_a:fr.right_associative.has(t)},(a=this.gobbleToken())||this.throwError("Expected expression after "+t),n=[i,o,a];t=this.gobbleBinaryOp();){if(0===(r=fr.binaryPrecedence(t))){this.index-=t.length;break}o={value:t,prec:r,right_a:fr.right_associative.has(t)},l=t;let s=e=>o.right_a&&e.right_a?r>e.prec:r<=e.prec;for(;n.length>2&&s(n[n.length-2]);)a=n.pop(),t=n.pop().value,i=n.pop(),e={type:fr.BINARY_EXP,operator:t,left:i,right:a},n.push(e);(e=this.gobbleToken())||this.throwError("Expected expression after "+l),n.push(o,e)}for(s=n.length-1,e=n[s];s>1;)e={type:fr.BINARY_EXP,operator:n[s-1].value,left:n[s-2],right:e},s-=2;return e}gobbleToken(){let e,t,r,n;if(this.gobbleSpaces(),n=this.searchHook("gobble-token"))return this.runHook("after-token",n);if(e=this.code,fr.isDecimalDigit(e)||e===fr.PERIOD_CODE)return this.gobbleNumericLiteral();if(e===fr.SQUOTE_CODE||e===fr.DQUOTE_CODE)n=this.gobbleStringLiteral();else if(e===fr.OBRACK_CODE)n=this.gobbleArray();else{for(r=(t=this.expr.substr(this.index,fr.max_unop_len)).length;r>0;){if(fr.unary_ops.hasOwnProperty(t)&&(!fr.isIdentifierStart(this.code)||this.index+t.length<this.expr.length&&!fr.isIdentifierPart(this.expr.charCodeAt(this.index+t.length)))){this.index+=r;let e=this.gobbleToken();return e||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:fr.UNARY_EXP,operator:t,argument:e,prefix:!0})}t=t.substr(0,--r)}fr.isIdentifierStart(e)?(n=this.gobbleIdentifier(),fr.literals.hasOwnProperty(n.name)?n={type:fr.LITERAL,value:fr.literals[n.name],raw:n.name}:n.name===fr.this_str&&(n={type:fr.THIS_EXP})):e===fr.OPAREN_CODE&&(n=this.gobbleGroup())}return n?(n=this.gobbleTokenProperty(n),this.runHook("after-token",n)):this.runHook("after-token",!1)}gobbleTokenProperty(e){this.gobbleSpaces();let t=this.code;for(;t===fr.PERIOD_CODE||t===fr.OBRACK_CODE||t===fr.OPAREN_CODE||t===fr.QUMARK_CODE;){let r;if(t===fr.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==fr.PERIOD_CODE)break;r=!0,this.index+=2,this.gobbleSpaces(),t=this.code}this.index++,t===fr.OBRACK_CODE?((e={type:fr.MEMBER_EXP,computed:!0,object:e,property:this.gobbleExpression()}).property||this.throwError('Unexpected "'+this.char+'"'),this.gobbleSpaces(),(t=this.code)!==fr.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):t===fr.OPAREN_CODE?e={type:fr.CALL_EXP,arguments:this.gobbleArguments(fr.CPAREN_CODE),callee:e}:(t===fr.PERIOD_CODE||r)&&(r&&this.index--,this.gobbleSpaces(),e={type:fr.MEMBER_EXP,computed:!1,object:e,property:this.gobbleIdentifier()}),r&&(e.optional=!0),this.gobbleSpaces(),t=this.code}return e}gobbleNumericLiteral(){let e="",t,r;for(;fr.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);if(this.code===fr.PERIOD_CODE)for(e+=this.expr.charAt(this.index++);fr.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);if("e"===(t=this.char)||"E"===t){for(e+=this.expr.charAt(this.index++),("+"===(t=this.char)||"-"===t)&&(e+=this.expr.charAt(this.index++));fr.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);fr.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+e+this.char+")")}return r=this.code,fr.isIdentifierStart(r)?this.throwError("Variable names cannot start with a number ("+e+this.char+")"):(r===fr.PERIOD_CODE||1===e.length&&e.charCodeAt(0)===fr.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:fr.LITERAL,value:parseFloat(e),raw:e}}gobbleStringLiteral(){let e="",t=this.index,r=this.expr.charAt(this.index++),n=!1;for(;this.index<this.expr.length;){let t=this.expr.charAt(this.index++);if(t===r){n=!0;break}if("\\"===t)switch(t=this.expr.charAt(this.index++)){case"n":e+="\n";break;case"r":e+="\r";break;case"t":e+=" ";break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="\v";break;default:e+=t}else e+=t}return n||this.throwError('Unclosed quote after "'+e+'"'),{type:fr.LITERAL,value:e,raw:this.expr.substring(t,this.index)}}gobbleIdentifier(){let e=this.code,t=this.index;for(fr.isIdentifierStart(e)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length;)if(e=this.code,fr.isIdentifierPart(e))this.index++;else break;return{type:fr.IDENTIFIER,name:this.expr.slice(t,this.index)}}gobbleArguments(e){let t=[],r=!1,n=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let o=this.code;if(o===e){r=!0,this.index++,e===fr.CPAREN_CODE&&n&&n>=t.length&&this.throwError("Unexpected token "+String.fromCharCode(e));break}if(o===fr.COMMA_CODE){if(this.index++,++n!==t.length){if(e===fr.CPAREN_CODE)this.throwError("Unexpected token ,");else if(e===fr.CBRACK_CODE)for(let e=t.length;e<n;e++)t.push(null)}}else if(t.length!==n&&0!==n)this.throwError("Expected comma");else{let e=this.gobbleExpression();e&&e.type!==fr.COMPOUND||this.throwError("Expected comma"),t.push(e)}}return r||this.throwError("Expected "+String.fromCharCode(e)),t}gobbleGroup(){this.index++;let e=this.gobbleExpressions(fr.CPAREN_CODE);if(this.code===fr.CPAREN_CODE)return(this.index++,1===e.length)?e[0]:!!e.length&&{type:fr.SEQUENCE_EXP,expressions:e};this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:fr.ARRAY_EXP,elements:this.gobbleArguments(fr.CBRACK_CODE)}}}Object.assign(fr,{hooks:new class{add(e,t,r){if("string"!=typeof arguments[0])for(let e in arguments[0])this.add(e,arguments[0][e],arguments[1]);else(Array.isArray(e)?e:[e]).forEach(function(e){this[e]=this[e]||[],t&&this[e][r?"unshift":"push"](t)},this)}run(e,t){this[e]=this[e]||[],this[e].forEach(function(e){e.call(t&&t.context?t.context:t,t)})}},plugins:new class{constructor(e){this.jsep=e,this.registered={}}register(...e){e.forEach(e=>{if("object"!=typeof e||!e.name||!e.init)throw Error("Invalid JSEP plugin format");this.registered[e.name]||(e.init(this.jsep),this.registered[e.name]=e)})}}(fr),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"??":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10,"**":11},right_associative:new Set(["**"]),additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"}),fr.max_unop_len=fr.getMaxKeyLen(fr.unary_ops),fr.max_binop_len=fr.getMaxKeyLen(fr.binary_ops);let fn=e=>new fr(e).parse(),fo=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(fr).filter(e=>!fo.includes(e)&&void 0===fn[e]).forEach(e=>{fn[e]=fr[e]}),fn.Jsep=fr,fn.plugins.register({name:"ternary",init(e){e.hooks.add("after-expression",function(t){if(t.node&&this.code===e.QUMARK_CODE){this.index++;let r=t.node,n=this.gobbleExpression();if(n||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let o=this.gobbleExpression();if(o||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:r,consequent:n,alternate:o},r.operator&&e.binary_ops[r.operator]<=.9){let n=r;for(;n.right.operator&&e.binary_ops[n.right.operator]<=.9;)n=n.right;t.node.test=n.right,n.right=t.node,t.node=r}}else this.throwError("Expected :")}})}});let fi="ArrowFunctionExpression",fa={Array,Boolean,Symbol,Infinity,NaN,Math,Number,BigInt,String,RegExp,JSON,isFinite,isNaN,parseFloat,parseInt,decodeURI,encodeURI,encodeURIComponent,Object:{__proto__:void 0,assign:Object.assign.bind(null),fromEntries:Object.fromEntries.bind(null),hasOwn:Object.hasOwn.bind(null),keys:Object.keys.bind(null),is:Object.is.bind(null),values:Object.values.bind(null)}},fs={...fa,Promise};function fl(e,t={}){return fh(e,t,fg)}async function fu(e,t={}){return fm(e,t,fg)}function fc(e,t={}){return fh(e,t,fb)}function fd(e,t={}){return fm(e,t,fb)}function fp(e,t={}){return fh(e,t,fv)}function ff(e,t={}){return fm(e,t,fv)}function fh(e,t={},r){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let n=fS(t,fa),o=fw("string"==typeof e?fn(e):e,n);if(r(o))return o;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}}async function fm(e,t={},r){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))return Promise.reject(`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`);if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let n=fS(t,fs);return Promise.resolve(fw("string"==typeof e?fn(e):e,n)).then(t=>{if(r(t))return t;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}})}function fy(e){return fn(e)}function fg(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function fb(e){return"boolean"==typeof e}function fv(e){return"number"==typeof e}function fw(e,t){switch(e.type){case"UnaryExpression":var r,n,o,i,a,s,l,u,c,d,p,f,h,m=e,y=t;let g=fw(m.argument,y);switch(m.operator){case"+":return+g;case"-":return-g;case"~":return~g;case"!":return!g;default:throw`Expression evaluator does not support operator '${m.operator}''`}case"BinaryExpression":var b=e,v=t;switch(b.operator){case"&&":return fw(b.left,v)&&fw(b.right,v);case"||":return fw(b.left,v)||fw(b.right,v);case"??":return fw(b.left,v)??fw(b.right,v)}let w=fw(b.left,v),x=fw(b.right,v);switch(b.operator){case"+":return w+x;case"-":return w-x;case"*":return w*x;case"/":return w/x;case"%":return w%x;case"**":return w**x;case"==":return w==x;case"===":return w===x;case"!=":return w!=x;case"!==":return w!==x;case">":return w>x;case">=":return w>=x;case"<":return w<x;case"<=":return w<=x;case"in":return w in x;default:throw`Expression evaluator does not support operator '${b.operator}' operator`}case"ConditionalExpression":return r=e,n=t,fw(r.test,n)?fw(r.consequent,n):fw(r.alternate,n);case"CallExpression":return fP(fx(e,t));case"ArrowFunctionExpression":let E;return o=e,i=t,E=o.params?.map(e=>{if("Identifier"===e.type)return e.name;throw`Cannot handle parameter of type ${e.type}`})??[],(function(...e){if(e.length<E.length)throw`Required argument(s) ${E.slice(e.length,-1).join(", ")} were not provided`;let t=Object.fromEntries(E.reduce((t,r,n)=>{let o=e[n];return function e(t){if("string"==typeof t||"number"==typeof t||"boolean"==typeof t||"function"==typeof t||null===t||t instanceof RegExp)return!0;if("object"==typeof t){for(let r of Object.keys(t))if(!e(t[r]))return!1;return!0}if(Array.isArray(t)){for(let r of t)if(!e(r))break}return!1}(o)&&t.push([r,o]),t},[]));return fw(o.body,i.addVariables(t))}).bind(null);case"MemberExpression":return fP(fE(e,t));case"ArrayExpression":return a=e,s=t,a.elements?.map(fC(s));case"SequenceExpression":let S;return l=e,u=t,(S=l.expressions.map(fC(u)))[S.length-1];case"NewExpression":var D=e,O=t;if(D.callee&&"Identifier"===D.callee.type){let e=D.arguments?.map(fC(O));switch(D.callee.name){case"Date":return new Date(...e);case"RegExp":return new RegExp(...e);default:throw`Cannot instantiate object of type ${D.callee.name}`}}if(D.callee)throw"new must be called with either Date or RegExp";throw'Could not handle "new" without a specified class';case"Literal":return e.value;case"Identifier":return c=e,d=t,(fk(c.name),d.variables&&Object.hasOwn(d.variables,c.name))?d.variables[c.name]:Object.hasOwn(d.globals,c.name)?d.globals[c.name]:void 0;case"TemplateLiteral":let P,C;return p=e,f=t,P=p.expressions?.map(fC(f))??[],(C=p.quasis?.map(fC(f))??[]).filter(e=>!e.tail).map(e=>e.value).join("")+P.join("")+C.filter(e=>e.tail).map(e=>e.value).join("");case"TemplateElement":return{value:(h=e).cooked,tail:h.tail};default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function f_(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return f_(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function fx(e,t){let r=fO(e.callee,t);if(r===fD||e.optional&&null==r)return fD;let n=e.arguments?.map(fC(t));if(r){if("function"!=typeof r)throw`${fR(e.callee)} is not a function`}else throw`No function named ${fR(e.callee)} is defined in this context`;return r(...n)}function fE(e,t){let r=fO(e.object,t);if(r===fD||e.optional&&null==r)return fD;if(null===r)throw TypeError(`TypeError: cannot read properties of null (reading '${fT(e.property,t)}')`);if(void 0===r)switch(e.object.type){case"Identifier":{let r=f_(e.object,t);throw ReferenceError(`ReferenceError: ${r} is not defined`)}case"MemberExpression":throw TypeError(`TypeError: cannot read properties of undefined (reading '${fT(e.property,t)}')`);default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}if("object"!=typeof r&&"function"!=typeof r&&"string"!=typeof r&&"number"!=typeof r)throw`VisitMemberExpression does not support member access on type ${typeof r}`;let n=e.computed?function(e){if(void 0===e)throw{type:"Illegal property access",message:"No property was supplied to the property access"};if("string"!=typeof e&&"number"!=typeof e)throw{type:"Illegal property access",message:`Cannot use a value of type ${null===e?"null":typeof e} as a property name`};return e}(fw(e.property,t)):function(e){if("Identifier"!==e.type)throw`VisitMemberExpression does not support a property of type '${e.type}'`;return e.name}(e.property);fk(n),function(e,t){if(fj.has(String(t)))return;let r=Object(e);for(;null!==r;){if(Object.hasOwn(r,t)){if(r===Object.prototype||r===Function.prototype)throw{type:"Illegal property access",message:`Cannot access the ${t} property of objects`};return}r=Object.getPrototypeOf(r)}}(r,n);let o=r[n];return"function"==typeof o?o.bind(r):o}function fS(e,t){let r={variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return r.addVariables.bind(r),r}fn.plugins.register({name:"arrow",init(e){e.addBinaryOp("=>",.1,!0),e.hooks.add("gobble-expression",function(t){if(this.gobbleSpaces(),this.code===e.OPAREN_CODE){let r=this.index;if(this.index++,this.gobbleSpaces(),this.code===e.CPAREN_CODE){this.index++;let e=this.gobbleBinaryOp();if("=>"===e){let r=this.gobbleBinaryExpression();r||this.throwError("Expected expression after "+e),t.node={type:fi,params:null,body:r};return}}this.index=r}}),e.hooks.add("after-expression",function(t){!function t(r){r&&(Object.values(r).forEach(e=>{e&&"object"==typeof e&&t(e)}),"=>"===r.operator&&(r.type=fi,r.params=r.left?[r.left]:null,r.body=r.right,r.params&&r.params[0].type===e.SEQUENCE_EXP&&(r.params=r.params[0].expressions),delete r.left,delete r.right,delete r.operator))}(t.node)})}}),fn.plugins.register({name:"new",init(e){e.addUnaryOp("new"),e.hooks.add("after-token",function(t){let r=t.node;if(r&&"new"===r.operator){r.argument&&[e.CALL_EXP,e.MEMBER_EXP].includes(r.argument.type)||this.throwError("Expected new function()"),t.node=r.argument;let n=t.node;for(;n.type===e.MEMBER_EXP||n.type===e.CALL_EXP&&n.callee.type===e.MEMBER_EXP;)n=n.type===e.MEMBER_EXP?n.object:n.callee.object;n.type="NewExpression"}})}}),fn.plugins.register({name:"numbers",init(e){function t(e){return"x"===e||"X"===e?(this.index+=2,[[48,57],[65,70],[97,102]]):"b"===e||"B"===e?(this.index+=2,[[48,49]]):"o"===e||"O"===e||e>="0"&&e<="7"?(this.index+=e<="7"?1:2,[[48,55]]):null}function r(t){let r=this.index,n="",o=()=>{for(;e.isDecimalDigit(this.code)||95===this.code;)95===this.code?this.index++:n+=this.expr.charAt(this.index++)};o(),this.code===e.PERIOD_CODE&&(n+=this.expr.charAt(this.index++),o());let i=this.char;("e"===i||"E"===i)&&(n+=this.expr.charAt(this.index++),("+"===(i=this.char)||"-"===i)&&(n+=this.expr.charAt(this.index++)),o(),e.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+n+this.char+")"));let a=this.code;if(e.isIdentifierStart(a))this.throwError("Variable names cannot start with a number ("+n+this.char+")");else if(a===e.PERIOD_CODE){n.length>1&&this.throwError(`Unexpected period ${JSON.stringify({chCode:a,number:n},null,2)}`),this.index=r;return}t.node={type:e.LITERAL,value:parseFloat(n),raw:this.expr.substring(r,this.index)}}e.hooks.add("gobble-token",function(n){if(48===this.code){var o,i,a;let s=this.index,l=this.expr.charAt(this.index+1),u=t.call(this,l);if(!u)return;let c="";for(;o=this.code,i=u,95===o||i.some(([e,t])=>o>=e&&o<=t);)95===this.code?this.index++:c+=this.expr.charAt(this.index++);if(e.isIdentifierPart(this.code)){if(e.isDecimalDigit(this.code)&&e.isDecimalDigit(l.charCodeAt(0))){this.index=s+1,r.call(this,n);return}this.throwError("unexpected char within number")}n.node={type:e.LITERAL,value:parseInt(c,"x"===(a=l)||"X"===a?16:"b"===a||"B"===a?2:8),raw:this.expr.substring(s,this.index)}}else(e.isDecimalDigit(this.code)||this.code===e.PERIOD_CODE)&&r.call(this,n)})}}),fn.plugins.register({name:"regex",init(e){e.hooks.add("gobble-token",function(t){if(47===this.code){let r=++this.index,n=!1;for(;this.index<this.expr.length;){if(47===this.code&&!n){let n,o=this.expr.slice(r,this.index),i="";for(;++this.index<this.expr.length;){let e=this.code;if(e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57)i+=this.char;else break}try{n=new RegExp(o,i)}catch(e){this.throwError(e.message)}return t.node={type:e.LITERAL,value:n,raw:this.expr.slice(r-1,this.index)},t.node=this.gobbleTokenProperty(t.node),t.node}this.code===e.OBRACK_CODE?n=!0:n&&this.code===e.CBRACK_CODE&&(n=!1),this.index+=92===this.code?2:1}this.throwError("Unclosed Regex")}})}}),fn.plugins.register({name:"ternary",init(e){e.hooks.add("after-expression",function(t){if(t.node&&this.code===e.QUMARK_CODE){this.index++;let r=t.node,n=this.gobbleExpression();if(n||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let o=this.gobbleExpression();if(o||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:r,consequent:n,alternate:o},r.operator&&e.binary_ops[r.operator]<=.9){let n=r;for(;n.right.operator&&e.binary_ops[n.right.operator]<=.9;)n=n.right;t.node.test=n.right,n.right=t.node,t.node=r}}else this.throwError("Expected :")}})}}),fn.plugins.register({name:"jsepTemplateLiteral",init(e){function t(e,r=!0){if(96===this.code){let t={type:"TemplateLiteral",quasis:[],expressions:[]},n="",o="",i=!1,a=this.expr.length,s=()=>t.quasis.push({type:"TemplateElement",value:{raw:o,cooked:n},tail:i});for(;this.index<a;){let a=this.expr.charAt(++this.index);if("`"===a)return this.index+=1,i=!0,s(),e.node=t,r&&(e.node=this.gobbleTokenProperty(e.node)),e.node;if("$"===a&&"{"===this.expr.charAt(this.index+1))this.index+=2,s(),o="",n="",t.expressions.push(...this.gobbleExpressions(125)),125!==this.code&&this.throwError("unclosed ${");else if("\\"===a)switch(o+=a,a=this.expr.charAt(++this.index),o+=a,a){case"n":n+="\n";break;case"r":n+="\r";break;case"t":n+=" ";break;case"b":n+="\b";break;case"f":n+="\f";break;case"v":n+="\v";break;default:n+=a}else n+=a,o+=a}this.throwError("Unclosed `")}}e.hooks.add("gobble-token",t),e.hooks.add("after-token",function(r){if((r.node.type===e.IDENTIFIER||r.node.type===e.MEMBER_EXP)&&96===this.code)return r.node={type:"TaggedTemplateExpression",tag:r.node,quasi:t.bind(this)(r,!1)},r.node=this.gobbleTokenProperty(r.node),r.node})}}),fn.addBinaryOp("in",7),fn.addBinaryOp("??",1);let fD=Symbol("optional chain short-circuited");function fO(e,t){switch(e.type){case"MemberExpression":return fE(e,t);case"CallExpression":return fx(e,t);default:return fw(e,t)}}function fP(e){return e===fD?void 0:e}function fC(e){return function(t){return null===t?null:fw(t,e)}}function fk(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}let fj=new Set(["toString","valueOf","hasOwnProperty"]);function fT(e,t){try{return f_(e,t)}catch{return"<computed>"}}function fR(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function fN(e){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;let t={globals:{...fs},isLocalExpression:!1,variables:new Set};return fA("string"==typeof e?fn(e):e,t),[...t.variables]}function fA(e,t){switch(e.type){case"UnaryExpression":return n=e,o=t,fA(n.argument,o);case"BinaryExpression":return i=e,a=t,[fA(i.left,a),fA(i.right,a)].filter(Boolean);case"ConditionalExpression":return s=e,l=t,[fA(s.consequent,l),fA(s.test,l),fA(s.alternate,l)].filter(Boolean);case"CallExpression":let r;return u=e,c=t,r=fA(u.callee,c),u.arguments?.map(fM(c)),r;case"ArrowFunctionExpression":var n,o,i,a,s,l,u,c,d,p,f,h,m,y,g,b,v=e,w=t;let x={...w};x.isLocalExpression=!0;let E=v.params?.map(fM(x))??[],S=fA(v.body,x)??[];if(S&&Array.isArray(S))for(let e of S)E.includes(e)||w.variables.add(e);return;case"MemberExpression":var D=e,O=t;if(fA(D.object,O),D.computed)return void fA(D.property,O);let P={...O};P.isLocalExpression=!0,fA(D.property,P);return;case"ArrayExpression":return d=e,p=t,void d.elements?.map(fM(p));case"SequenceExpression":return f=e,h=t,void f.expressions?.map(fM(h));case"NewExpression":return m=e,y=t,void m.arguments?.map(fM(y));case"Literal":case"TemplateElement":return;case"Identifier":var C=e,k=t;if(!(C.name in k.globals))if(k.isLocalExpression)return C.name;else k.variables.add(C.name);return;case"TemplateLiteral":return g=e,b=t,void(g.expressions?.map(fM(b)),g.quasis?.map(fM(b)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function fM(e){return function(t){return null===t?null:fA(t,e)}}let f$=J("feature-flags",{flags:function(){let e={};for(let t of Object.keys(localStorage))if(t.startsWith("openmrs:feature-flag:")){let r=t.replace("openmrs:feature-flag:",""),n=JSON.parse(localStorage.getItem(`openmrs:feature-flag-meta:${r}`)||"{}");e[r]={enabled:"true"===localStorage.getItem(t),...n}}return e}()});function fI(e,t,r){f$.setState(n=>({flags:{...n.flags,[e]:{enabled:n.flags[e]?.enabled??!1,label:t,description:r}}}))}function fL(){let e=f$.getState().flags;Object.keys(localStorage).filter(e=>e.startsWith("openmrs:feature-flag:")).forEach(t=>{let r=t.replace("openmrs:feature-flag:","");e[r]||(localStorage.removeItem(t),localStorage.removeItem(`openmrs:feature-flag-meta:${r}`))})}function fF(e){return f$.getState().flags[e].enabled}function fB(e,t){f$.subscribe(r=>{t(r.flags[e].enabled)})}function fV(e,t){f$.setState(r=>({flags:{...r.flags,[e]:{...r.flags[e],enabled:t}}}))}function fU(e){return!window.offlineEnabled||(e??navigator.onLine)}f$.subscribe(e=>{for(let[t,r]of Object.entries(e.flags))localStorage.setItem(`openmrs:feature-flag:${t}`,r.enabled.toString()),localStorage.setItem(`openmrs:feature-flag-meta:${t}`,JSON.stringify({label:r.label,description:r.description}))});var fW=rp(function(e,t,r){ro(e,t,r)});function fz(e=!0,t=!1){return fK(fU(),e,t)}function fK(e,t=!0,r=!1){return!!(e?t:r)}let fH=Y("extensionsInternal",{slots:{},extensions:{}}),fG=Y("extensionRenderings",{renderings:new Map}),fq=()=>J("extensionsInternal",{slots:{},extensions:{}}),fY=()=>J("extensionRenderings",{renderings:new Map});function fZ(e){let t=fH.getState(),r=e(t);r!==t&&fH.setState(r)}let fJ=null,fX=null;function fQ(){let e=fG.getState();return fJ&&e===fX||(fJ=new Map(e.renderings),fX=e,function(e){for(let t of(f8.clear(),e.values()))ht(t,1);he=!0}(fJ)),fJ}function f0(e){fX={renderings:e},fG.setState(fX,!0)}function f1(e){let t=fQ();t.has(e.renderingId)||(t.set(e.renderingId,e),ht(e,1),f0(t))}function f2(e){let t=fQ(),r=t.get(e);r&&(t.delete(e),ht(r,-1),f0(t))}let f4=()=>J("extensions",{slots:{}}),f3=0,f6=new Set;function f5(e){f3++;try{return e()}finally{if(0==--f3&&f6.size>0){let e=Array.from(f6);for(let t of(f6.clear(),e))f9(t)}}}function f9(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function f7(e){f3>0?f6.add(e):f9(e)}let f8=new Map,he=!1;function ht(e,t){let r=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),n=f8.get(r);if(!n){if(t<0)return;f8.set(r,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),he=!0;return}n.count+=t,n.count<1&&(f8.delete(r),he=!0)}function hr(){var e,t;if(fQ(),!he)return;he=!1;let r=Array.from(f8.values(),({record:e})=>e);r.sort(hn),e=nZ.getState().mountedExtensions,t=r,e.length===t.length&&e.every((e,r)=>0===hn(e,t[r]))||nZ.setState({mountedExtensions:r})}function hn(e,t){return ho(e.slotName,t.slotName)||ho(e.extensionId,t.extensionId)||ho(e.slotModuleName,t.slotModuleName)||ho(e.extensionModuleName,t.extensionModuleName)}function ho(e,t){return e===t?0:e<t?-1:1}hr(),fG.subscribe(()=>f7(hr));let hi=fq(),ha=f4(),hs=nX(),hl=n1(),hu=new Set,hc=!1;function hd(e){if(null===e)hu=null;else if(null!==hu)for(let t of e)hu.add(t);f7(hp)}function hp(){if(!hc){hc=!0;try{for(let e=1;;e++){let t=hu;if(null!==t&&0===t.size)return;hu=new Set;try{!function(e,t,r,n,o,i=null){let a=ha.getState().slots,s={},l=!1,u=fU(),c=Object.entries(n.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[n,d]of Object.entries(e.slots)){let p=a[n];if(p&&i&&!i.has(n)){s[n]=p;continue}let{config:f}=n0(t,d.name),h=function(e,t,r,n,o,i,a){let s=function(e,t){let r=e.add||[],n=e.remove||[],o=e.order||[],{extensions:i}=hi.getState();return[...t,...r].filter(e=>!n.includes(e)).sort((e,r)=>hE(e,o,i[hy(e)]?.order,t)-hE(r,o,i[hy(r)]?.order,t))}(r,t.slots[e].attachedIds),l=[];for(let u of s){let{config:s}=n4(n,e,u),c=n3(r,e,u),d=c?fW({},s,c):s,p=hy(u),f=t.extensions[p];if(f){let e=d?.["Display conditions"]?.privileges??f.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!a?.user||!az(e,a.user))||f.featureFlag&&!o.includes(f.featureFlag)||window.offlineEnabled&&!fK(i,f.online,f.offline))continue;l.push({id:u,name:p,moduleName:f.moduleName,config:d,featureFlag:f.featureFlag,meta:f.meta,online:d?.["Display conditions"]?.online??f.online??!0,offline:d?.["Display conditions"]?.offline??f.offline??!1,displayConditionExpression:d?.["Display conditions"]?.expression||f.displayExpression})}}return l}(n,e,f,r,c,u,o.session);p&&p.moduleName===d.moduleName&&r4(p.candidateExtensions,h)?s[n]=p:(s[n]={moduleName:d.moduleName,candidateExtensions:h},l=!0)}(l||Object.keys(a).length!==Object.keys(s).length)&&ha.setState({slots:s})}(hi.getState(),hs.getState(),hl.getState(),f$.getState(),aI.getState(),t)}catch(e){throw hu=null===t||null===hu?null:new Set([...t,...hu]),e}if(e>=20)return void console.error("The extension system stopped recomputing after 20 passes because something keeps invalidating slots in response to the extension store being written. Some slots are left stale until the next write.")}}finally{hc=!1}}}function hf(e,t){let r=new Set;for(let n of Object.keys(e))e[n]!==t[n]&&r.add(n);for(let n of Object.keys(t))n in e||r.add(n);return r}function hh(){hd(null)}function hm(e,t){return{moduleName:t,name:e,attachedIds:[]}}function hy(e){let[t]=e.split("#");return t}function hg(e,t){let r=hy(t);return e.extensions[r]}function hb(e){return hg(hi.getState(),e)}hi.subscribe((e,t)=>{hd(e.extensions!==t.extensions?null:hf(e.slots,t.slots))}),hs.subscribe((e,t)=>{hd(hf(e.slots,t.slots))}),hl.subscribe((e,t)=>{hd(hf(e.configs,t.configs))}),f$.subscribe(()=>hd(null)),aI.subscribe(()=>hd(null)),hh(),b(hh);let hv=e=>fZ(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function hw(e,t){fZ(r=>{let n=r.slots[e];return n?{...r,slots:{...r.slots,[e]:{...n,attachedIds:[...n.attachedIds,t]}}}:{...r,slots:{...r.slots,[e]:{...hm(e),attachedIds:[t]}}}})}function h_(e,t){fZ(r=>{let n=r.slots[e];return n&&n.attachedIds.includes(t)?{...r,slots:{...r.slots,[e]:{...n,attachedIds:n.attachedIds.filter(e=>e!==t)}}}:r})}function hx(e){fZ(t=>{let r=t.slots[e];return r?{...t,slots:{...t.slots,[e]:{...r,attachedIds:[]}}}:t})}function hE(e,t,r,n){let o=t.indexOf(e);if(-1!==o)return o;{if(void 0!==r)return 1e3+r;let t=n.indexOf(e);return -1!==t?2e3+t:3e3}}function hS(e,t){return function(e,t,r=null,n){let o;return e.filter(e=>{let i=e.displayConditionExpression;if("string"!=typeof i||0===i.trim().length)return!0;o??(o=t&&"object"==typeof t?{session:r,...t}:{session:r});try{return!!fc(i,o)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(n?` in ${n}`:""),t),!1}})}(hD(e),t,aI.getState().session,e)}function hD(e){return ha.getState().slots[e]?.candidateExtensions??[]}let hO=(e,t)=>hi.setState(r=>{let n=r.slots[t]?.moduleName;if(n&&n!=e)return console.warn(`An extension slot with the name '${t}' already exists. Refusing to register the same slot name twice (in "registerExtensionSlot"). The existing one is from module ${n}.`),r;if(n&&n==e)return r;if(r.slots[t])return{...r,slots:{...r.slots,[t]:{...r.slots[t],moduleName:e}}};let o=hm(t,e);return{...r,slots:{...r.slots,[t]:{...o}}}}),hP=()=>{hu=null,fZ(()=>({slots:{},extensions:{}})),fY().setState({renderings:new Map}),ha.setState({slots:{}})},hC=Y("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function hk({name:e,basePath:t,mode:r,componentContext:n,state:o}){hC.setState({slotName:e,basePath:t,mode:r??"normal",componentContext:n,state:o})}function hj(e){hC.getState().slotName===e&&hC.setState(hC.getInitialState(),!0)}let hT=Y("modalRegistry",{modals:{}});function hR(e){hT.setState(t=>(t.modals[e.name]=e,t))}function hN(e){let t=hT.getState().modals[e];if(!t){let r=hb(e);r&&(t={name:e,load:r.load,moduleName:r.moduleName},console.warn(`Modal ${e} was registered as an extension. This is deprecated and will be removed in the future. Please register it in the "modals" section of routes.json instead of the "extensions" section.`),hR(t))}return t}let hA=Y("workspaceRegistrations",{workspaces:{}}),hM=Y("workspaceGroups",{workspaceGroups:{}});function h$(e){hA.setState(t=>({workspaces:{...t.workspaces,[e.name]:{...e,load:e.load,preferredWindowSize:e.preferredWindowSize??"normal",type:e.type??"form",canHide:e.canHide??!1,canMaximize:e.canMaximize??!1,width:e.width??"narrow",groups:e.groups??[]}}}))}function hI(e){hM.setState(t=>{let r=t.workspaceGroups[e.name];return r?{workspaceGroups:{...t.workspaceGroups,[e.name]:{...r,members:Array.from(new Set([...r.members,...e.members]))}}}:{workspaceGroups:{...t.workspaceGroups,[e.name]:{name:e.name,members:e.members}}}})}let hL=new Set;function hF(e){let t=hA.getState().workspaces;if(t[e])return t[e];{let t=hb(e);if(t){var r;let n;return hL.has(e)||(console.warn(`The workspace '${e}' is registered as an extension. This is deprecated. Please register it in the "workspaces" section of the routes.json file.`),hL.add(e)),{name:t.name,title:(r=t,"string"==typeof(n=r?.meta?.title)?n:n&&"object"==typeof n?sN(r.moduleName,n.key,n.default):r.name),moduleName:t.moduleName,preferredWindowSize:t.meta?.screenSize??"normal",load:t.load,type:t.meta?.type??"form",canHide:t.meta?.canHide??!1,canMaximize:t.meta?.canMaximize??!1,width:t.meta?.width??"narrow",groups:t.meta?.groups??[]}}throw Error(`No workspace named '${e}' has been registered.`)}}function hB(e){let t=hM.getState().workspaceGroups;if(t[e])return t[e];throw Error(`No workspace group named '${e}' has been registered.`)}let hV=Y("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],workspaceTitleByWorkspaceName:{},isMostRecentlyOpenedWindowHidden:!1});function hU(e){let{registeredWorkspacesByName:t,registeredWindowsByName:r}=hV.getState(),n=t[e];if(n){let t=r[n.window];if(t)return t;throw Error(`No workspace window found with name: ${n.window} for workspace: ${e}`)}throw Error(`No workspace found with name: ${e}`)}function hW(e){let{registeredGroupsByName:t,registeredWindowsByName:r}=hV.getState(),n=r[e];if(n){let r=t[n.group];if(r)return r;throw Error(`No workspace group found with name: ${n.group} for window: ${e}`)}throw Error(`No workspace window found with name: ${e}`)}function hz(e){let{openedWindows:t}=hV.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function hK(e,t){if(0==t.length)return;let{registeredGroupsByName:r}=hV.getState(),n={...r};for(let r of t){if(n[r.name])throw Error(`Cannot register workspace group ${r.name} more than once`);n[r.name]={...r,moduleName:e}}hV.setState({registeredGroupsByName:n})}function hH(e,t){if(0==t.length)return;let{registeredWindowsByName:r}=hV.getState(),n={...r};for(let r of t){if(n[r.name])throw Error(`Cannot register workspace window ${r.name} more than once`);let t={...r,moduleName:e};n[r.name]=t}hV.setState({registeredWindowsByName:n})}function hG(e,t){if(0==t.length)return;let{registeredWorkspacesByName:r}=hV.getState(),n={...r};for(let r of t){if(n[r.name])throw Error(`Cannot register workspace ${r.name} more than once`);let t={...r,moduleName:e};n[r.name]=t}hV.setState({registeredWorkspacesByName:n})}let hq=0,hY=null,hZ={bootstrap:15e3,mount:15e3,unmount:15e3};function hJ(e,t){if(e.timeouts)return e;let r=e.name??"parcel",n=Object.fromEntries(Object.keys(hZ).filter(t=>e[t]).map(n=>{var o,i;let a,s;return[n,(o=e[n],i=hZ[n],a=Array.isArray(o)?o:[o],s=e=>a.reduce((t,o,i)=>t.then(()=>{let t=o(e);return"function"==typeof t?.then&&"function"==typeof t?.catch?t:Promise.reject(Error(`Lifecycle function ${n} at array index ${i} for parcel ${r} did not return a promise`))}),Promise.resolve(void 0)),e=>{let o,a=new Promise((e,t)=>{o=setTimeout(()=>t(Error(`Lifecycle function ${n} for parcel ${r} did not settle within ${i}ms`)),i)});return Promise.race([s(e),a]).finally(()=>clearTimeout(o)).then(e=>(t(n,!1),e),e=>{throw t(n,!0),e})})]}));return{...e,...n}}async function hX(e,t){var r,n;let o,i,a,s,l,u=await (hY??(hY=new Promise((e,t)=>{iR({name:"openmrs-extension-host",bootstrap:()=>Promise.resolve(),mount:t=>(e(t.mountParcel),Promise.resolve()),unmount:()=>Promise.resolve()},{domElement:document.createElement("div")}).mountPromise.catch(t)}).catch(e=>(console.error("The host parcel used to mount extensions could not be mounted. Falling back to mounting extensions as root parcels, which leaks their DOM elements.",e),iR))),hY),c={...t},d=(o=c,i=!1,{retarget:e=>o={...e},release:a=()=>(function(e){for(let t of Object.keys(e))delete e[t]})(o),onSettled(e,t){switch(e){case"bootstrap":t&&a();return;case"mount":i||(i=t);return;case"unmount":(t||i)&&a();return}}});return n=u((r=d.onSettled,"function"==typeof e?()=>e().then(e=>hJ(e,r)):hJ(e,r)),c),s=e=>t=>e.call(n,d.retarget(t)).catch(e=>{throw"SKIP_BECAUSE_BROKEN"===n.getStatus()&&d.release(),e}),l=n.update&&s(n.update),Object.defineProperty(n,"update",{configurable:!0,enumerable:!0,get:()=>l,set:e=>{l=e&&s(e)}})}function hQ(){return h0}function h0(e,t){let r,n=hX(e,t).then(e=>r=e);return{mount:()=>n.then(e=>e.mount()),unmount:()=>n.then(e=>e.unmount()),update:e=>n.then(t=>t.update?.(e)),getStatus:()=>r?.getStatus()??"LOADING_SOURCE_CODE",get loadPromise(){return n.then(e=>e.loadPromise)},get bootstrapPromise(){return n.then(e=>e.bootstrapPromise)},get mountPromise(){return n.then(e=>e.mountPromise)},get unmountPromise(){return n.then(e=>e.unmountPromise)}}}async function h1(e,t,r,n,o=e=>e,i={}){let a=hy(n),s=hb(n),l=null;if(e){if(!s)throw Error(`Couldn't find extension '${a}' to attach to '${t}'`);let{meta:u,moduleName:c,online:d,offline:p,load:f}=s;if(fz(d,p)){let s,d=hq++,p=`${t}/${n}-${d}`;e.dataset.extensionRenderingId=p;let h=e=>{try{f2(p)}catch(t){console.error(e,t)}};try{f1({renderingId:p,extensionName:a,extensionModuleName:c,extensionId:n,slotName:t,slotModuleName:r})}catch(e){throw h(`Recomputing configuration after registering '${n}' failed also failed`),e}try{s=await f()}catch(e){throw h(`Recomputing configuration after '${n}' failed to load also failed`),e}try{l=await hX(o({...s,name:`${t}/${a}-${d}`}),{...i,_meta:u,_extensionContext:{extensionId:n,extensionSlotName:t,extensionSlotModuleName:r,extensionModuleName:c},domElement:e})}catch(e){throw h(`Recomputing configuration after '${n}' failed to mount also failed`),e}l.mountPromise.then(void 0,e=>{console.error(`Extension '${n}' in slot '${t}' failed to mount`,e),h(`Recomputing configuration after '${n}' failed to mount also failed`)}),l.unmountPromise.then(()=>h(`Recomputing configuration after unmounting '${n}' failed`),e=>{console.error(`Extension '${n}' in slot '${t}' failed to unmount`,e),h(`Recomputing configuration after '${n}' failed to unmount also failed`)})}}else console.warn(`Tried to render ${n} into ${t} but no DOM element was available.`);return l}var h2=r(7125),h4=r.n(h2);let h3=(0,h2.createContext)({moduleName:"",featureName:""});function h6({to:e,templateParams:t,onBeforeNavigate:r,children:n,...o}){return(0,h2.useEffect)(()=>{o.href&&console.warn(`ConfigurableLink does not support the href prop. Use the 'to' prop instead. The provided href value is '${o.href}'`),o.onClick&&console.warn(`ConfigurableLink does not support the onClick prop. Use the 'onBeforeNavigate' prop instead. The 'to' prop of the offending link is ${e}`)},[]),h4().createElement("a",{onClick:n=>{0===n.button&&!n.ctrlKey&&!n.shiftKey&&!n.altKey&&!n.metaKey&&(n.preventDefault(),r?.(n),aw({to:e,templateParams:t})),0===n.button&&(n.ctrlKey||n.metaKey)&&r?.(n),0===n.button&&n.shiftKey&&r?.(n),1===n.button&&r?.(n)},href:ab(e,t),...o},n)}let h5=({state:e,children:t,...r})=>{let{extension:n}=(0,h2.useContext)(h3),o=(0,h2.useRef)(null),i=(0,h2.useRef)(Promise.resolve()),a=(0,h2.useRef)(!1),s=(0,h2.useRef)(!1),l=(0,h2.useRef)(e),u=(0,h2.useCallback)(e=>{if(!e)return;let t=()=>{"MOUNTED"===e.getStatus()&&e.unmount()};switch(e.getStatus()){case"MOUNTED":e.unmount();break;case"UPDATING":i.current?.then(t,t);break;default:e.mountPromise.then(t,()=>{})}},[]),c=(0,h2.useCallback)((e,t)=>{e.update&&"UNMOUNTING"!==e.getStatus()&&(i.current=Promise.all([e.mountPromise,i.current]).then(()=>{if(o.current?.getStatus()==="MOUNTED"&&o.current.update)return o.current.update({...t})}).catch(e=>{let t=o.current?.getStatus();"UNMOUNTING"!==t&&"NOT_MOUNTED"!==t&&"UNLOADING"!==t&&console.error(`The extension '${n?.extensionId}' failed to update`,e)}))},[]),d=(0,h2.useCallback)(t=>{t&&!o.current&&!s.current&&n?.extensionSlotName&&n.extensionSlotModuleName&&(s.current=!0,h1(t,n.extensionSlotName,n.extensionSlotModuleName,n.extensionId,void 0,e).then(t=>{(s.current=!1,o.current=t,a.current)?u(t):t&&l.current!==e&&c(t,l.current)},()=>{s.current=!1}))},[]);return(0,h2.useEffect)(()=>(a.current=!1,()=>{a.current=!0,u(o.current)}),[]),(0,h2.useEffect)(()=>{l.current=e,o.current&&c(o.current,e)},[e]),n?h4().createElement("div",{ref:d,"data-extension-id":n?.extensionId,style:{position:"relative"},...r}):null};function h9(e){let t=(0,h2.useRef)(e);return F(t.current,e)||(t.current=e),t.current}function h7(e,t){"function"==typeof t&&(t=t(e));let r={};for(let[n,o]of Object.entries(t)){let t=function(...t){e.setState(e=>o(e,...t))};r[n]=t}return r}let h8=e=>e;function me(e,t=h8,r){let n=(0,h2.useCallback)(t=>e.subscribe(t),[e]),o=(0,h2.useCallback)(()=>t(e.getState()),[e,t]),i=(0,h2.useSyncExternalStore)(n,o,o),a=(0,h2.useMemo)(()=>r?h7(e,r):null,[e,r]);return(0,h2.useMemo)(()=>a?{...i,...a}:i,[i,a])}function mt(e,t){return me(e,h8,t)}function mr(e){return function(t){let r=(0,h2.useCallback)(t=>e.subscribe(t),[]),n=(0,h2.useCallback)(()=>e.getState(),[]),o=(0,h2.useSyncExternalStore)(r,n,n),i=(0,h2.useMemo)(()=>t?h7(e,t):null,[t]);return(0,h2.useMemo)(()=>i?{...o,...i}:o,[o,i])}}let mn=[];Object.freeze(mn);let mo={candidateExtensions:mn};Object.freeze(mo);let mi=e=>{let t=(0,h2.useCallback)(t=>t.slots?.[e]??mo,[e]);return me(f4(),t)},ma=e=>e.session;function ms(e,t){let{candidateExtensions:r}=mi(e),n=me(aI,ma),o=h9(t);return(0,h2.useMemo)(()=>hS(e,o),[e,o,n,r])}function ml(e,t){let{moduleName:r}=(0,h2.useContext)(h3);if(!r)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,h2.useEffect)(()=>{hO(r,e)},[r,e]),{extensions:ms(e,t),extensionSlotName:e,extensionSlotModuleName:r}}function mu(e){return e}function mc({name:e,extensionSlotName:t,select:r=mu,children:n,state:o,style:i,...a}){if(n&&o)throw Error("Both children and state have been provided. If children are provided, the state must be passed as a prop to the `Extension` component.");let s=e??t,l=(0,h2.useRef)(null),{extensions:u,extensionSlotModuleName:c}=ml(s,o),d=(0,h2.useMemo)(()=>r(u),[r,u]),p=(0,h2.useMemo)(()=>{if("function"==typeof n&&!h4().isValidElement(n))return d.map(e=>n(e,o))},[n,d]);return h4().createElement("div",{ref:l,"data-extension-slot-name":s,"data-extension-slot-module-name":c,style:{...i,position:"relative"},...a},s&&d?.map((e,t)=>h4().createElement(h3.Provider,{key:e.id,value:{moduleName:c,featureName:"",extension:{extensionId:e.id,extensionSlotName:s,extensionSlotModuleName:c}}},p?.[t]??("function"!=typeof n?n:null)??h4().createElement(h5,{state:o}))))}var md=r(5873);function mp(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function mf(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?mp(Object(r),!0).forEach(function(t){var n,o,i;n=e,o=t,i=r[t],o in n?Object.defineProperty(n,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[o]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mp(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function mh(e){return(mh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function mm(e){return(mm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function my(e,t){var r;if("function"!=typeof(r=t.domElement?function(){return t.domElement}:t.domElementGetter?t.domElementGetter:e.domElementGetter?e.domElementGetter:function(e){var t=e.appName||e.name;if(!t)throw Error("single-spa's dom-element-getter-helpers was not given an application name as a prop, so it can't make a unique dom element container for the react application");var r="single-spa-application:".concat(t);return function(){var e=document.getElementById(r);return e||((e=document.createElement("div")).id=r,document.body.appendChild(e)),e}}(t)))throw Error("single-spa's dom-element-getter-helpers was given an invalid domElementGetter for application or parcel '".concat(t.name,"'. Expected a function, received ").concat(mm(r)));return function(){var e=r(t);if(!(e instanceof HTMLElement))throw Error("single-spa's dom-element-getter-helpers: domElementGetter returned an invalid dom element for application or parcel '".concat(t.name,"'. Expected HTMLElement, received ").concat(mm(e)));return e}}var mg=null;try{mg=require("react").createContext()}catch(e){}var mb={React:null,ReactDOM:null,ReactDOMClient:null,rootComponent:null,loadRootComponent:null,errorBoundary:null,errorBoundaryClass:null,domElementGetter:null,parcelCanUpdate:!0,suppressComponentDidCatchWarning:!1,domElements:{},renderResults:{},updateResolves:{},unmountResolves:{}};function mv(e,t){return e.rootComponent?Promise.resolve():e.loadRootComponent(t).then(function(t){e.rootComponent=t})}function mw(e,t){return new Promise(function(r,n){e.suppressComponentDidCatchWarning||!function(e){if(!(e&&"string"==typeof e.version&&e.version.indexOf(".")>=0))return!1;var t=e.version.slice(0,e.version.indexOf("."));try{return Number(t)>=16}catch(e){return!1}}(e.React)||e.errorBoundary||e.errorBoundaryClass||(e.rootComponent.prototype?e.rootComponent.prototype.componentDidCatch||console.warn("single-spa-react: ".concat(t.name||t.appName||t.childAppName,"'s rootComponent should implement componentDidCatch to avoid accidentally unmounting the entire single-spa application.")):console.warn("single-spa-react: ".concat(t.name||t.appName||t.childAppName,"'s rootComponent does not implement an error boundary. If using a functional component, consider providing an opts.errorBoundary to singleSpaReact(opts).")));var o,i=mS(e,t,function(){r(this)}),a=my(e,t)(),s=function(e){var t=e.reactDom,r=e.renderType,n=e.elementToRender,o=e.domElement,i=t[r];if("function"!=typeof i)throw Error('renderType "'.concat(r,'" did not return a function.'));switch(r){case"createRoot":case"unstable_createRoot":case"createBlockingRoot":case"unstable_createBlockingRoot":var a=i(o);return a.render(n),a;case"hydrateRoot":return i(o,n);default:return i(n,o),null}}({elementToRender:i,domElement:a,reactDom:mE(e),renderType:"function"==typeof(o=e).renderType?o.renderType():o.renderType});e.domElements[t.name]=a,e.renderResults[t.name]=s})}function m_(e,t){return new Promise(function(r){e.unmountResolves[t.name]=r;var n=e.renderResults[t.name];n&&n.unmount?n.unmount():mE(e).unmountComponentAtNode(e.domElements[t.name]),delete e.domElements[t.name],delete e.renderResults[t.name]})}function mx(e,t){return new Promise(function(r){e.updateResolves[t.name]||(e.updateResolves[t.name]=[]),e.updateResolves[t.name].push(r);var n=mS(e,t,null),o=e.renderResults[t.name];if(o&&o.render)o.render(n);else{var i=my(e,t)();mE(e).render(n,i)}})}function mE(e){return e.ReactDOMClient||e.ReactDOM}function mS(e,t,r){var n=e.React.createElement(e.rootComponent,t),o=mg?e.React.createElement(mg.Provider,{value:t},n):n;return(e.errorBoundary||t.errorBoundary||e.errorBoundaryClass||t.errorBoundaryClass)&&(e.errorBoundaryClass=e.errorBoundaryClass||t.errorBoundaryClass||function(e,t){function r(t){e.React.Component.apply(this,arguments),this.state={caughtError:null,caughtErrorInfo:null},r.displayName="SingleSpaReactErrorBoundary(".concat(t.name,")")}return r.prototype=Object.create(e.React.Component.prototype),r.prototype.render=function(){return this.state.caughtError?(e.errorBoundary||t.errorBoundary)(this.state.caughtError,this.state.caughtErrorInfo,this.props):this.props.children},r.prototype.componentDidCatch=function(e,t){this.setState({caughtError:e,caughtErrorInfo:t})},r}(e,t),o=e.React.createElement(e.errorBoundaryClass,t,o)),o=e.React.createElement(e.SingleSpaRoot,mf(mf({},t),{},{mountFinished:r,updateFinished:function(){e.updateResolves[t.name]&&(e.updateResolves[t.name].forEach(function(e){return e()}),delete e.updateResolves[t.name])},unmountFinished:function(){e.unmountResolves[t.name]&&(e.unmountResolves[t.name](),delete e.unmountResolves[t.name])}}),o)}var mD=r(5921),mO=r(7364),mP=r.n(mO),mC=r(9106);let mk={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},mj=new Map;(0,mC.initCache)(mj);let mT={errorRetryCount:3,fetcher:aA,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof a$){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>mj};function mR(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},mk,e),r={...mT,...t.swrConfig};return function(e){var n,o,i,a,s;return i=o=class extends(n=h4().Component){componentDidCatch(e,r){r&&r.componentStack&&(e.extra=Object.assign(e.extra||{},{componentStack:r.componentStack})),t.throwErrorsToConsole&&setTimeout(()=>{throw e}),this.setState({caughtError:e,caughtErrorInfo:r})}render(){if(this.state.caughtError)return h4().createElement("div",null,"An error has occurred. Please try reloading the page.");{let n=h4().createElement(h2.Suspense,{fallback:null},h4().createElement(mO.SWRConfig,{value:r},h4().createElement(h3.Provider,{value:this.state.config},t.disableTranslations?h4().createElement(e,this.props):h4().createElement(mD.I18nextProvider,{i18n:window.i18next,defaultNS:this.state.config.extension?`${this.state.config.moduleName}___${this.state.config.extension.extensionSlotName}___${this.state.config.extension.extensionId}`:this.state.config.moduleName},h4().createElement(e,this.props)))));return t.strictMode&&h4().StrictMode?h4().createElement(h4().StrictMode,null,n):n}}constructor(e){super(e),this.state={caughtError:null,caughtErrorInfo:null,config:{moduleName:t.moduleName,featureName:t.featureName,extension:e._extensionContext}}}},a="displayName",s=`OpenmrsReactComponent(${t.featureName})`,a in i?Object.defineProperty(i,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[a]=s,o}}function mN(e,t){return function(e){if("object"!==mh(e))throw Error("single-spa-react requires a configuration object");var t,r=mf(mf({},mb),e);if(!r.React)throw Error("single-spa-react must be passed opts.React");if(!r.ReactDOM&&!r.ReactDOMClient)throw Error("single-spa-react must be passed opts.ReactDOM or opts.ReactDOMClient");if(r.renderType||(null!=(t=r.ReactDOMClient)&&t.createRoot?r.renderType="createRoot":r.renderType="render"),!r.rootComponent&&!r.loadRootComponent)throw Error("single-spa-react must be passed opts.rootComponent or opts.loadRootComponent");if(r.errorBoundary&&"function"!=typeof r.errorBoundary)throw Error("The errorBoundary opt for single-spa-react must either be omitted or be a function that returns React elements");!mg&&r.React.createContext&&(mg=r.React.createContext()),r.SingleSpaRoot=function(e){function t(e){t.displayName="SingleSpaRoot(".concat(e.name,")")}return t.prototype=Object.create(e.React.Component.prototype),t.prototype.componentDidMount=function(){setTimeout(this.props.mountFinished)},t.prototype.componentWillUnmount=function(){setTimeout(this.props.unmountFinished)},t.prototype.render=function(){return setTimeout(this.props.updateFinished),this.props.children},t}(r);var n={bootstrap:mv.bind(null,r),mount:mw.bind(null,r),unmount:m_.bind(null,r)};return r.parcelCanUpdate&&(n.update=mx.bind(null,r)),n}({React:h4(),ReactDOMClient:md,rootComponent:mR(t)(e)})}function mA(e,t){return()=>e().then(({default:e})=>mN(e,t))}function mM(e,t){return()=>Promise.resolve(mN(e,t))}let m$=mA,mI=W()(()=>({}));Z("openmrs-app-context",mI);let mL={};function mF(e,t=e=>e){let r=mI.getState();return e in r?Object.freeze(Object.assign({},t?t(r[e]):r[e])):null}function mB(e,t){mI.setState(r=>(e in r||(r[e]={}),r[e]=t(r[e]),Object.assign({},r)))}function mV(e){return null===e?null:Object.freeze(Object.assign({},e))}let mU=new Map;function mW(e,t){let r=(0,h2.useRef)(t??{}),n=(0,h2.useRef)(t=>mB(e,t)),o=(0,h2.useRef)(Symbol());return(0,h2.useEffect)(()=>{let r=t??{},n=o.current;return null===mF(e)?!function(e,t=mL){mI.setState(r=>{if(e in r)throw Error(`Attempted to re-register namespace ${e} in the app context. Each namespace must be unregistered before the name can be registered again.`);return Object.assign({},r,{[e]:t===mL?{}:t})})}(e,r):(console.warn(`Namespace ${e} is already registered in the app context. This is likely a race condition during navigation, but may indicate two components are trying to own the same namespace. Updating the existing context.`),mB(e,()=>r)),mU.set(e,n),()=>{mU.get(e)===n&&(mI.setState(t=>(e in t&&delete t[e],t)),mU.delete(e))}},[e]),(0,h2.useEffect)(()=>{let n=t??{};F(r.current,n)||(mB(e,()=>n),r.current=n)},[t]),n.current}function mz({namespace:e,value:t}){return mW(e,t),null}let mK=({children:e,value:t,fallback:r})=>t?h4().createElement(h4().Fragment,null,e):r?h4().createElement(h4().Fragment,null,r):null;function mH(){let e=(0,h2.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,h2.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function mG(e,t=e=>e??{}){let[r,n]=(0,h2.useState)(()=>{if(mq(e))return;let r=mF(e);if(null!==r)return t?t(r):r});return(0,h2.useEffect)(()=>{if(mq(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,h2.useEffect)(()=>{var r;let o;return(r=e=>{if(null==e)return void n(void 0);let r=t?t(e):e;n(e=>F(e,r)?e:r)})(mV(o=mF(e))),mI.subscribe(t=>{let n=e in t?t[e]:null;n!==o&&(o=n,r(mV(n)))})},[e,t]),r}function mq(e){return"string"!=typeof e||0===e.trim().length}function mY(e){let t=ms(e);return(0,h2.useMemo)(()=>t.map(e=>e.id),[t])}function mZ(e){return mi(e).candidateExtensions}function mJ(e,t,r){let{data:n,error:o,mutate:i,isLoading:a,isValidating:s}=mP()(e?l_(e,t,r):null,aA);return(0,h2.useMemo)(()=>({isLoading:a,data:n?.data.results??[],error:o,mutate:i,isValidating:s}),[n,o,a,s,i])}function mX(e){(0,h2.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let mQ={},m0=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
|
|
15
|
+
${this.stack}`}}let aI=Y("session",{loaded:!1,session:null}),aL=0;function aF(e={includeAuthStatus:!0}){return(aL<Date.now()-6e4||!aI.getState().loaded)&&aU(),new eR(t=>{let r=r=>{r.loaded&&(e.includeAuthStatus?t.next(r.session):t.next(r.session?.user))};return r(aI.getState()),aI.subscribe(r)})}function aB(){return(aL<Date.now()-6e4||!aI.getState().loaded)&&aU(),aI}function aV(e){let t=e.locale??e.user?.userProperties?.defaultLocale;t&&t.includes("_")&&(t=t.replaceAll("_","-")),function(e){if(void 0===e||"string"!=typeof e)return!1;try{new Intl.Locale(e)}catch(e){return!1}return!0}(t)&&t!==document.documentElement.getAttribute("lang")&&document.documentElement.setAttribute("lang",t)}function aU(e,t){aL=Date.now();let r={};return e&&t&&(r.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`),aY(aA(aR,{headers:r}))}function aW(){aI.setState({loaded:!0,session:{authenticated:!1,sessionId:""}})}function az(e,t){var r,n;if(void 0===t)return!e;if(!e)return!0;return r=e,n=t,("string"==typeof r?!ee(n.privileges.find(e=>r===e.display)):Array.isArray(r)?r.every(e=>!ee(n.privileges.find(t=>e===t.display))):(ee(r)||console.error(`Could not understand privileges "${r}"`),!0))||!ee(t.roles.find(e=>"System Developer"===e.display))}function aK(){let e,t;return new Promise(r=>{let n=n=>{n.loaded&&n.session.user&&(e=n.session.user,r(n.session.user),t&&t())};n(aI.getState()),e||(t=aI.subscribe(n))})}function aH(){return new Promise((e,t)=>{aF().subscribe(t=>{e(t.sessionLocation)},t).unsubscribe()})}async function aG(e,t){return aY(aA(aR,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},signal:t.signal}))}async function aq(e,t,r){return r||(r=new AbortController),await aA(`${aj}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:r.signal}),aU()}function aY(e){return new Promise((t,r)=>{e.then(e=>{let n;"object"==typeof e?.data?(n={loaded:!0,session:e.data},aI.setState(n),t(n)):(n={loaded:!1,session:null},aI.setState(n),r(n))}).catch(e=>{$(`Failed to fetch new session information: ${e}`);let t={loaded:!1,session:null};aI.setState(t),r(t)})})}function aZ(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}aI.subscribe(e=>{e.loaded&&e.session&&aV(e.session)});let aJ={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function aX(){op("@openmrs/esm-api",aC),aU()}let aQ={address1:"Address line 1",address2:"Address line 2",address3:"Address line 3",address4:"Address line 4",address5:"Address line 5",address6:"Address line 6",city:"City",cityVillage:"City",country:"Country",countyDistrict:"District",district:"District",postalCode:"Postal code",state:"State",stateProvince:"State",closeAllOpenedWorkspaces:"Discard changes in {{count}} workspaces",closingAllWorkspacesPromptBody:"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",closingAllWorkspacesPromptTitle:"You have unsaved changes",discard:"Discard",hide:"Hide",maximize:"Maximize",minimize:"Minimize",openAnyway:"Open anyway",unsavedChangesInOpenedWorkspace:"You may have unsaved changes in the opened workspace. Do you want to discard these changes?",unsavedChangesInWorkspace:'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',unsavedChangesTitleText:"Unsaved changes",workspaceHeader:"Workspace header",discardUnsavedChangesPromptBodyMultiple:"{{count}} workspaces have unsaved changes. Closing them will discard the changes:",discardUnsavedChangesPromptBodySingle:"<strong>{{workspaceTitle}}</strong> has unsaved changes. Closing it will discard them.",discardUnsavedChangesPromptTitle:"Discard unsaved changes?",keepEditing:"Keep editing",abnormalValue:"Abnormal value",actions:"Actions",actionableNotification:"Actionable notification",address:"Address",age:"Age",batchActionItemSelected:"{{totalSelected}} item selected",batchActionsItemsSelected:"{{totalSelected}} items selected",cancel:"Cancel",change:"Change",Clinic:"Clinic",close:"Close",closesActionableNotification:"Close actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",delete:"Delete",discardChanges:"Discard changes",edit:"Edit",emptyStateText:"There are no {{displayText}} to display",error:"Error",errorCopy:"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.",errorLoadingLoginLocations:"Unable to load login locations. Please try again or contact support if the problem persists.",female:"Female",leftNavigation:"Left navigation",loading:"Loading",localVersion:"Local Build",male:"Male",noResultsToDisplay:"No results to display",notAvailable:"Not available",other:"Other",paginationItemsCount:"{{pageItemsCount}} / {{totalItems}} items",paginationOfPages:"of {{count}} pages",patientAvatarAlt:"Avatar for {{patientName}}",patientIdentifierSticker:"Patient identifier sticker",patientLists:"Patient lists",patientPhotoAlt:"Profile photo of {{patientName}}",patientPhotoPlaceholder:"Photo placeholder for {{patientName}}",prereleaseVersion:"Prerelease",print:"Print",printError:"Print error",printErrorExplainer:"An error occurred in {{errorLocation}}",printIdentifierSticker:"Print identifier sticker",printing:"Printing",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",resetOverrides:"Reset overrides",save:"Save",scriptLoadingFailed:"Error: Script failed to load",scriptLoadingError:"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",searchForLocation:"Search for a location",seeAll:"See all",seeMoreLists:"See {{count}} more lists",selectAll:"Select all",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",toggleDevTools:"Toggle dev tools",unknown:"Unknown",yearAbbreviation:"yr",yearsAbbreviation:"yrs"},a0=e=>"string"==typeof e,a1=()=>{let e,t,r=new Promise((r,n)=>{e=r,t=n});return r.resolve=e,r.reject=t,r},a2=e=>null==e?"":""+e,a4=/###/g,a3=e=>e&&e.indexOf("###")>-1?e.replace(a4,"."):e,a6=e=>!e||a0(e),a5=(e,t,r)=>{let n=a0(t)?t.split("."):t,o=0;for(;o<n.length-1;){if(a6(e))return{};let t=a3(n[o]);!e[t]&&r&&(e[t]=new r),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++o}return a6(e)?{}:{obj:e,k:a3(n[o])}},a9=(e,t,r)=>{let{obj:n,k:o}=a5(e,t,Object);if(void 0!==n||1===t.length){n[o]=r;return}let i=t[t.length-1],a=t.slice(0,t.length-1),s=a5(e,a,Object);for(;void 0===s.obj&&a.length;)i=`${a[a.length-1]}.${i}`,s=a5(e,a=a.slice(0,a.length-1),Object),s?.obj&&void 0!==s.obj[`${s.k}.${i}`]&&(s.obj=void 0);s.obj[`${s.k}.${i}`]=r},a7=(e,t)=>{let{obj:r,k:n}=a5(e,t);if(r&&Object.prototype.hasOwnProperty.call(r,n))return r[n]},a8=(e,t,r)=>{for(let n in t)"__proto__"!==n&&"constructor"!==n&&(n in e?a0(e[n])||e[n]instanceof String||a0(t[n])||t[n]instanceof String?r&&(e[n]=t[n]):a8(e[n],t[n],r):e[n]=t[n]);return e};var se={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};let st=e=>a0(e)?e.replace(/[&<>"'\/]/g,e=>se[e]):e,sr=[" ",",","?","!",";"],sn=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){let t=this.regExpMap.get(e);if(void 0!==t)return t;let r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}(20),so=(e,t,r=".")=>{if(!e)return;if(e[t]){if(!Object.prototype.hasOwnProperty.call(e,t))return;return e[t]}let n=t.split(r),o=e;for(let e=0;e<n.length;){let t;if(!o||"object"!=typeof o)return;let i="";for(let a=e;a<n.length;++a)if(a!==e&&(i+=r),i+=n[a],void 0!==(t=o[i])){if(["string","number","boolean"].indexOf(typeof t)>-1&&a<n.length-1)continue;e+=a-e+1;break}o=t}return o},si=e=>e?.replace("_","-"),sa={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}};class ss{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||sa,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,r,n){return n&&!this.debug?null:(a0(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new ss(this.logger,{...{prefix:`${this.prefix}:${e}:`},...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new ss(this.logger,e)}}var sl=new ss;class su{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(e=>{this.observers[e]||(this.observers[e]=new Map);let r=this.observers[e].get(t)||0;this.observers[e].set(t,r+1)}),this}off(e,t){if(this.observers[e]){if(!t)return void delete this.observers[e];this.observers[e].delete(t)}}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([e,r])=>{for(let n=0;n<r;n++)e(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([r,n])=>{for(let o=0;o<n;o++)r.apply(r,[e,...t])})}}class sc extends su{constructor(e,t={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}removeNamespaces(e){let t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,r,n={}){let o,i=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,a=void 0!==n.ignoreJSONStructure?n.ignoreJSONStructure:this.options.ignoreJSONStructure;e.indexOf(".")>-1?o=e.split("."):(o=[e,t],r&&(Array.isArray(r)?o.push(...r):a0(r)&&i?o.push(...r.split(i)):o.push(r)));let s=a7(this.data,o);return(!s&&!t&&!r&&e.indexOf(".")>-1&&(e=o[0],t=o[1],r=o.slice(2).join(".")),!s&&a&&a0(r))?so(this.data?.[e]?.[t],r,i):s}addResource(e,t,r,n,o={silent:!1}){let i=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,a=[e,t];r&&(a=a.concat(i?r.split(i):r)),e.indexOf(".")>-1&&(a=e.split("."),n=t,t=a[1]),this.addNamespaces(t),a9(this.data,a,n),o.silent||this.emit("added",e,t,r,n)}addResources(e,t,r,n={silent:!1}){for(let n in r)(a0(r[n])||Array.isArray(r[n]))&&this.addResource(e,t,n,r[n],{silent:!0});n.silent||this.emit("added",e,t,r)}addResourceBundle(e,t,r,n,o,i={silent:!1,skipCopy:!1}){let a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),n=r,r=t,t=a[1]),this.addNamespaces(t);let s=a7(this.data,a)||{};i.skipCopy||(r=JSON.parse(JSON.stringify(r))),n?a8(s,r,o):s={...s,...r},a9(this.data,a,s),i.silent||this.emit("added",e,t,r)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){let t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}}var sd={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,r,n,o){return e.forEach(e=>{t=this.processors[e]?.process(t,r,n,o)??t}),t}};let sp=Symbol("i18next/PATH_KEY");function sf(e,t){let r,n,o,{[sp]:i}=e((n=[],(o=Object.create(null)).get=(e,t)=>(r?.revoke?.(),t===sp)?n:(n.push(t),(r=Proxy.revocable(e,o)).proxy),Proxy.revocable(Object.create(null),o).proxy));return i.join(t?.keySeparator??".")}let sh={},sm=e=>!a0(e)&&"boolean"!=typeof e&&"number"!=typeof e;class sy extends su{constructor(e,t={}){super(),((e,t,r)=>{e.forEach(e=>{t[e]&&(r[e]=t[e])})})(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=sl.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){let r={...t};if(null==e)return!1;let n=this.resolve(e,r);if(n?.res===void 0)return!1;let o=sm(n.res);return!1!==r.returnObjects||!o}extractFromKey(e,t){let r=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===r&&(r=":");let n=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,o=t.ns||this.options.defaultNS||[],i=r&&e.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!((e,t,r)=>{t=t||"",r=r||"";let n=sr.filter(e=>0>t.indexOf(e)&&0>r.indexOf(e));if(0===n.length)return!0;let o=sn.getRegExp(`(${n.map(e=>"?"===e?"\\?":e).join("|")})`),i=!o.test(e);if(!i){let t=e.indexOf(r);t>0&&!o.test(e.substring(0,t))&&(i=!0)}return i})(e,r,n);if(i&&!a){let t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:a0(o)?[o]:o};let i=e.split(r);(r!==n||r===n&&this.options.ns.indexOf(i[0])>-1)&&(o=i.shift()),e=i.join(n)}return{key:e,namespaces:a0(o)?[o]:o}}translate(e,t,r){let n="object"==typeof t?{...t}:t;if("object"!=typeof n&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof n&&(n={...n}),n||(n={}),null==e)return"";"function"==typeof e&&(e=sf(e,{...this.options,...n})),Array.isArray(e)||(e=[String(e)]);let o=void 0!==n.returnDetails?n.returnDetails:this.options.returnDetails,i=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,{key:a,namespaces:s}=this.extractFromKey(e[e.length-1],n),l=s[s.length-1],u=void 0!==n.nsSeparator?n.nsSeparator:this.options.nsSeparator;void 0===u&&(u=":");let c=n.lng||this.language,d=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c?.toLowerCase()==="cimode")return d?o?{res:`${l}${u}${a}`,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${u}${a}`:o?{res:a,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:a;let p=this.resolve(e,n),f=p?.res,h=p?.usedKey||a,m=p?.exactUsedKey||a,y=void 0!==n.joinArrays?n.joinArrays:this.options.joinArrays,g=!this.i18nFormat||this.i18nFormat.handleAsObject,b=void 0!==n.count&&!a0(n.count),v=sy.hasDefaultValue(n),w=b?this.pluralResolver.getSuffix(c,n.count,n):"",x=n.ordinal&&b?this.pluralResolver.getSuffix(c,n.count,{ordinal:!1}):"",E=b&&!n.ordinal&&0===n.count,S=E&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${w}`]||n[`defaultValue${x}`]||n.defaultValue,D=f;g&&!f&&v&&(D=S);let O=sm(D),P=Object.prototype.toString.apply(D);if(g&&D&&O&&0>["[object Number]","[object Function]","[object RegExp]"].indexOf(P)&&!(a0(y)&&Array.isArray(D))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");let e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,D,{...n,ns:s}):`key '${a} (${this.language})' returned an object instead of string.`;return o?(p.res=e,p.usedParams=this.getUsedParamsDetails(n),p):e}if(i){let e=Array.isArray(D),t=e?[]:{},r=e?m:h;for(let e in D)if(Object.prototype.hasOwnProperty.call(D,e)){let o=`${r}${i}${e}`;v&&!f?t[e]=this.translate(o,{...n,defaultValue:sm(S)?S[e]:void 0,...{joinArrays:!1,ns:s}}):t[e]=this.translate(o,{...n,joinArrays:!1,ns:s}),t[e]===o&&(t[e]=D[e])}f=t}}else if(g&&a0(y)&&Array.isArray(f))(f=f.join(y))&&(f=this.extendTranslation(f,e,n,r));else{let t=!1,o=!1;!this.isValidLookup(f)&&v&&(t=!0,f=S),this.isValidLookup(f)||(o=!0,f=a);let s=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&o?void 0:f,d=v&&S!==f&&this.options.updateMissing;if(o||t||d){if(this.logger.log(d?"updateKey":"missingKey",c,l,a,d?S:f),i){let e=this.resolve(a,{...n,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[],t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if("fallback"===this.options.saveMissingTo&&t&&t[0])for(let r=0;r<t.length;r++)e.push(t[r]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(n.lng||this.language):e.push(n.lng||this.language);let r=(e,t,r)=>{let o=v&&r!==f?r:s;this.options.missingKeyHandler?this.options.missingKeyHandler(e,l,t,o,d,n):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,l,t,o,d,n),this.emit("missingKey",e,l,t,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&b?e.forEach(e=>{let t=this.pluralResolver.getSuffixes(e,n);E&&n[`defaultValue${this.options.pluralSeparator}zero`]&&0>t.indexOf(`${this.options.pluralSeparator}zero`)&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{r([e],a+t,n[`defaultValue${t}`]||S)})}):r(e,a,S))}f=this.extendTranslation(f,e,n,p,r),o&&f===a&&this.options.appendNamespaceToMissingKey&&(f=`${l}${u}${a}`),(o||t)&&this.options.parseMissingKeyHandler&&(f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${a}`:a,t?f:void 0,n))}return o?(p.res=f,p.usedParams=this.getUsedParamsDetails(n),p):f}extendTranslation(e,t,r,n,o){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||n.usedLng,n.usedNS,n.usedKey,{resolved:n});else if(!r.skipInterpolation){let i;r.interpolation&&this.interpolator.init({...r,...{interpolation:{...this.options.interpolation,...r.interpolation}}});let a=a0(e)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);if(a){let t=e.match(this.interpolator.nestingRegexp);i=t&&t.length}let s=r.replace&&!a0(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(s={...this.options.interpolation.defaultVariables,...s}),e=this.interpolator.interpolate(e,s,r.lng||this.language||n.usedLng,r),a){let t=e.match(this.interpolator.nestingRegexp);i<(t&&t.length)&&(r.nest=!1)}!r.lng&&n&&n.res&&(r.lng=this.language||n.usedLng),!1!==r.nest&&(e=this.interpolator.nest(e,(...e)=>o?.[0]!==e[0]||r.context?this.translate(...e,t):(this.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${t[0]}`),null),r)),r.interpolation&&this.interpolator.reset()}let i=r.postProcess||this.options.postProcess,a=a0(i)?[i]:i;return null!=e&&a?.length&&!1!==r.applyPostProcessor&&(e=sd.handle(a,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...n,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e,t={}){let r,n,o,i,a;return a0(e)&&(e=[e]),e.forEach(e=>{if(this.isValidLookup(r))return;let s=this.extractFromKey(e,t),l=s.key;n=l;let u=s.namespaces;this.options.fallbackNS&&(u=u.concat(this.options.fallbackNS));let c=void 0!==t.count&&!a0(t.count),d=c&&!t.ordinal&&0===t.count,p=void 0!==t.context&&(a0(t.context)||"number"==typeof t.context)&&""!==t.context,f=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);u.forEach(e=>{this.isValidLookup(r)||(a=e,!sh[`${f[0]}-${e}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(a)&&(sh[`${f[0]}-${e}`]=!0,this.logger.warn(`key "${n}" for languages "${f.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),f.forEach(n=>{let a;if(this.isValidLookup(r))return;i=n;let s=[l];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(s,l,n,e,t);else{let e;c&&(e=this.pluralResolver.getSuffix(n,t.count,t));let r=`${this.options.pluralSeparator}zero`,o=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(c&&(t.ordinal&&0===e.indexOf(o)&&s.push(l+e.replace(o,this.options.pluralSeparator)),s.push(l+e),d&&s.push(l+r)),p){let n=`${l}${this.options.contextSeparator||"_"}${t.context}`;s.push(n),c&&(t.ordinal&&0===e.indexOf(o)&&s.push(n+e.replace(o,this.options.pluralSeparator)),s.push(n+e),d&&s.push(n+r))}}for(;a=s.pop();)this.isValidLookup(r)||(o=a,r=this.getResource(n,e,a,t))}))})}),{res:r,usedKey:n,exactUsedKey:o,usedLng:i,usedNS:a}}isValidLookup(e){return void 0!==e&&!(!this.options.returnNull&&null===e)&&!(!this.options.returnEmptyString&&""===e)}getResource(e,t,r,n={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,r,n):this.resourceStore.getResource(e,t,r,n)}getUsedParamsDetails(e={}){let t=e.replace&&!a0(e.replace),r=t?e.replace:e;if(t&&void 0!==e.count&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!t)for(let e of(r={...r},["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"]))delete r[e];return r}static hasDefaultValue(e){let t="defaultValue";for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t===r.substring(0,t.length)&&void 0!==e[r])return!0;return!1}}class sg{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=sl.create("languageUtils")}getScriptPartFromCode(e){if(!(e=si(e))||0>e.indexOf("-"))return null;let t=e.split("-");return 2===t.length||(t.pop(),"x"===t[t.length-1].toLowerCase())?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(!(e=si(e))||0>e.indexOf("-"))return e;let t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(a0(e)&&e.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch(e){}return(t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t)?t:this.options.lowerCaseLng?e.toLowerCase():e}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){let t;return e?(e.forEach(e=>{if(t)return;let r=this.formatLanguageCode(e);(!this.options.supportedLngs||this.isSupportedCode(r))&&(t=r)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;let r=this.getScriptPartFromCode(e);if(this.isSupportedCode(r))return t=r;let n=this.getLanguagePartFromCode(e);if(this.isSupportedCode(n))return t=n;t=this.options.supportedLngs.find(e=>{if(e===n||!(0>e.indexOf("-")&&0>n.indexOf("-"))&&(e.indexOf("-")>0&&0>n.indexOf("-")&&e.substring(0,e.indexOf("-"))===n||0===e.indexOf(n)&&n.length>1))return e})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),a0(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let r=e[t];return r||(r=e[this.getScriptPartFromCode(t)]),r||(r=e[this.formatLanguageCode(t)]),r||(r=e[this.getLanguagePartFromCode(t)]),r||(r=e.default),r||[]}toResolveHierarchy(e,t){let r=this.getFallbackCodes((!1===t?[]:t)||this.options.fallbackLng||[],e),n=[],o=e=>{e&&(this.isSupportedCode(e)?n.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return a0(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&o(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&o(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&o(this.getLanguagePartFromCode(e))):a0(e)&&o(this.formatLanguageCode(e)),r.forEach(e=>{0>n.indexOf(e)&&o(this.formatLanguageCode(e))}),n}}let sb={zero:0,one:1,two:2,few:3,many:4,other:5},sv={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class sw{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=sl.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let r,n=si("dev"===e?"en":e),o=t.ordinal?"ordinal":"cardinal",i=JSON.stringify({cleanedCode:n,type:o});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];try{r=new Intl.PluralRules(n,{type:o})}catch(o){if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),sv;if(!e.match(/-|_/))return sv;let n=this.languageUtils.getLanguagePartFromCode(e);r=this.getRule(n,t)}return this.pluralRulesCache[i]=r,r}needsPlural(e,t={}){let r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,r={}){return this.getSuffixes(e,r).map(e=>`${t}${e}`)}getSuffixes(e,t={}){let r=this.getRule(e,t);return(r||(r=this.getRule("dev",t)),r)?r.resolvedOptions().pluralCategories.sort((e,t)=>sb[e]-sb[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`):[]}getSuffix(e,t,r={}){let n=this.getRule(e,r);return n?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${n.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,r))}}let s_=(e,t,r,n=".",o=!0)=>{let i,a=void 0!==(i=a7(e,r))?i:a7(t,r);return!a&&o&&a0(r)&&void 0===(a=so(e,r,n))&&(a=so(t,r,n)),a};class sx{constructor(e={}){this.logger=sl.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});let{escape:t,escapeValue:r,useRawValueToEscape:n,prefix:o,prefixEscaped:i,suffix:a,suffixEscaped:s,formatSeparator:l,unescapeSuffix:u,unescapePrefix:c,nestingPrefix:d,nestingPrefixEscaped:p,nestingSuffix:f,nestingSuffixEscaped:h,nestingOptionsSeparator:m,maxReplaces:y,alwaysFormat:g}=e.interpolation;this.escape=void 0!==t?t:st,this.escapeValue=void 0===r||r,this.useRawValueToEscape=void 0!==n&&n,this.prefix=o?o.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):i||"{{",this.suffix=a?a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):s||"}}",this.formatSeparator=l||",",this.unescapePrefix=u?"":c||"-",this.unescapeSuffix=this.unescapePrefix?"":u||"",this.nestingPrefix=d?d.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):p||"$t(".replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),this.nestingSuffix=f?f.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):h||")".replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),this.nestingOptionsSeparator=m||",",this.maxReplaces=y||1e3,this.alwaysFormat=void 0!==g&&g,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let e=(e,t)=>e?.source===t?(e.lastIndex=0,e):RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,r,n){let o,i,a,s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=e=>{if(0>e.indexOf(this.formatSeparator)){let o=s_(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(o,void 0,r,{...n,...t,interpolationkey:e}):o}let o=e.split(this.formatSeparator),i=o.shift().trim(),a=o.join(this.formatSeparator).trim();return this.format(s_(t,s,i,this.options.keySeparator,this.options.ignoreJSONStructure),a,r,{...n,...t,interpolationkey:i})};this.resetRegExp();let u=n?.missingInterpolationHandler||this.options.missingInterpolationHandler,c=n?.interpolation?.skipOnVariables!==void 0?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>e.replace(/\$/g,"$$$$")},{regex:this.regexp,safeValue:e=>this.escapeValue?this.escape(e).replace(/\$/g,"$$$$"):e.replace(/\$/g,"$$$$")}].forEach(t=>{for(a=0;o=t.regex.exec(e);){let r=o[1].trim();if(void 0===(i=l(r)))if("function"==typeof u){let t=u(e,o,n);i=a0(t)?t:""}else if(n&&Object.prototype.hasOwnProperty.call(n,r))i="";else if(c){i=o[0];continue}else this.logger.warn(`missed to pass in variable ${r} for interpolating ${e}`),i="";else a0(i)||this.useRawValueToEscape||(i=a2(i));let s=t.safeValue(i);if(e=e.replace(o[0],s),c?(t.regex.lastIndex+=i.length,t.regex.lastIndex-=o[0].length):t.regex.lastIndex=0,++a>=this.maxReplaces)break}}),e}nest(e,t,r={}){let n,o,i,a=(e,t)=>{let r=this.nestingOptionsSeparator;if(0>e.indexOf(r))return e;let n=e.split(RegExp(`${r}[ ]*{`)),o=`{${n[1]}`;e=n[0];let a=(o=this.interpolate(o,i)).match(/'/g),s=o.match(/"/g);((a?.length??0)%2!=0||s)&&s.length%2==0||(o=o.replace(/'/g,'"'));try{i=JSON.parse(o),t&&(i={...t,...i})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${r}${o}`}return i.defaultValue&&i.defaultValue.indexOf(this.prefix)>-1&&delete i.defaultValue,e};for(;n=this.nestingRegexp.exec(e);){let s=[];(i=(i={...r}).replace&&!a0(i.replace)?i.replace:i).applyPostProcessor=!1,delete i.defaultValue;let l=/{.*}/.test(n[1])?n[1].lastIndexOf("}")+1:n[1].indexOf(this.formatSeparator);if(-1!==l&&(s=n[1].slice(l).split(this.formatSeparator).map(e=>e.trim()).filter(Boolean),n[1]=n[1].slice(0,l)),(o=t(a.call(this,n[1].trim(),i),i))&&n[0]===e&&!a0(o))return o;a0(o)||(o=a2(o)),o||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${e}`),o=""),s.length&&(o=s.reduce((e,t)=>this.format(e,t,r.lng,{...r,interpolationkey:n[1].trim()}),o.trim())),e=e.replace(n[0],o),this.regexp.lastIndex=0}return e}}let sE=e=>{let t={};return(r,n,o)=>{let i=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(i={...i,[o.interpolationkey]:void 0});let a=n+JSON.stringify(i),s=t[a];return s||(s=e(si(n),o),t[a]=s),s(r)}},sS=e=>(t,r,n)=>e(si(r),n)(t);class sD{constructor(e={}){this.logger=sl.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";let r=t.cacheInBuiltFormats?sE:sS;this.formats={number:r((e,t)=>{let r=new Intl.NumberFormat(e,{...t});return e=>r.format(e)}),currency:r((e,t)=>{let r=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>r.format(e)}),datetime:r((e,t)=>{let r=new Intl.DateTimeFormat(e,{...t});return e=>r.format(e)}),relativetime:r((e,t)=>{let r=new Intl.RelativeTimeFormat(e,{...t});return e=>r.format(e,t.range||"day")}),list:r((e,t)=>{let r=new Intl.ListFormat(e,{...t});return e=>r.format(e)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=sE(t)}format(e,t,r,n={}){let o=t.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&0>o[0].indexOf(")")&&o.find(e=>e.indexOf(")")>-1)){let e=o.findIndex(e=>e.indexOf(")")>-1);o[0]=[o[0],...o.splice(1,e)].join(this.formatSeparator)}return o.reduce((e,t)=>{let{formatName:o,formatOptions:i}=(e=>{let t=e.toLowerCase().trim(),r={};if(e.indexOf("(")>-1){let n=e.split("(");t=n[0].toLowerCase().trim();let o=n[1].substring(0,n[1].length-1);"currency"===t&&0>o.indexOf(":")?r.currency||(r.currency=o.trim()):"relativetime"===t&&0>o.indexOf(":")?r.range||(r.range=o.trim()):o.split(";").forEach(e=>{if(e){let[t,...n]=e.split(":"),o=n.join(":").trim().replace(/^'+|'+$/g,""),i=t.trim();r[i]||(r[i]=o),"false"===o&&(r[i]=!1),"true"===o&&(r[i]=!0),isNaN(o)||(r[i]=parseInt(o,10))}})}return{formatName:t,formatOptions:r}})(t);if(this.formats[o]){let t=e;try{let a=n?.formatParams?.[n.interpolationkey]||{},s=a.locale||a.lng||n.locale||n.lng||r;t=this.formats[o](e,s,{...i,...n,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${o}`),e},e)}}class sO extends su{constructor(e,t,r,n={}){super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=n,this.logger=sl.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=n.maxParallelReads||10,this.readingCalls=0,this.maxRetries=n.maxRetries>=0?n.maxRetries:5,this.retryTimeout=n.retryTimeout>=1?n.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,n.backend,n)}queueLoad(e,t,r,n){let o={},i={},a={},s={};return e.forEach(e=>{let n=!0;t.forEach(t=>{let a=`${e}|${t}`;!r.reload&&this.store.hasResourceBundle(e,t)?this.state[a]=2:this.state[a]<0||(1===this.state[a]?void 0===i[a]&&(i[a]=!0):(this.state[a]=1,n=!1,void 0===i[a]&&(i[a]=!0),void 0===o[a]&&(o[a]=!0),void 0===s[t]&&(s[t]=!0)))}),n||(a[e]=!0)}),(Object.keys(o).length||Object.keys(i).length)&&this.queue.push({pending:i,pendingCount:Object.keys(i).length,loaded:{},errors:[],callback:n}),{toLoad:Object.keys(o),pending:Object.keys(i),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(s)}}loaded(e,t,r){let n=e.split("|"),o=n[0],i=n[1];t&&this.emit("failedLoading",o,i,t),!t&&r&&this.store.addResourceBundle(o,i,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0);let a={};this.queue.forEach(r=>{((e,t,r,n)=>{let{obj:o,k:i}=a5(e,t,Object);o[i]=o[i]||[],o[i].push(r)})(r.loaded,[o],i),void 0!==r.pending[e]&&(delete r.pending[e],r.pendingCount--),t&&r.errors.push(t),0!==r.pendingCount||r.done||(Object.keys(r.loaded).forEach(e=>{a[e]||(a[e]={});let t=r.loaded[e];t.length&&t.forEach(t=>{void 0===a[e][t]&&(a[e][t]=!0)})}),r.done=!0,r.errors.length?r.callback(r.errors):r.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(e=>!e.done)}read(e,t,r,n=0,o=this.retryTimeout,i){if(!e.length)return i(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:r,tried:n,wait:o,callback:i});this.readingCalls++;let a=(a,s)=>{if(this.readingCalls--,this.waitingReads.length>0){let e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}a&&s&&n<this.maxRetries?setTimeout(()=>{this.read.call(this,e,t,r,n+1,2*o,i)},o):i(a,s)},s=this.backend[r].bind(this.backend);if(2===s.length){try{let r=s(e,t);r&&"function"==typeof r.then?r.then(e=>a(null,e)).catch(a):a(null,r)}catch(e){a(e)}return}return s(e,t,a)}prepareLoading(e,t,r={},n){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),n&&n();a0(e)&&(e=this.languageUtils.toResolveHierarchy(e)),a0(t)&&(t=[t]);let o=this.queueLoad(e,t,r,n);if(!o.toLoad.length)return o.pending.length||n(),null;o.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,r){this.prepareLoading(e,t,{},r)}reload(e,t,r){this.prepareLoading(e,t,{reload:!0},r)}loadOne(e,t=""){let r=e.split("|"),n=r[0],o=r[1];this.read(n,o,"read",void 0,void 0,(r,i)=>{r&&this.logger.warn(`${t}loading namespace ${o} for language ${n} failed`,r),!r&&i&&this.logger.log(`${t}loaded namespace ${o} for language ${n}`,i),this.loaded(e,r,i)})}saveMissing(e,t,r,n,o,i={},a=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t))return void this.logger.warn(`did not save key "${r}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");if(null!=r&&""!==r){if(this.backend?.create){let s={...i,isUpdate:o},l=this.backend.create.bind(this.backend);if(l.length<6)try{let o;(o=5===l.length?l(e,t,r,n,s):l(e,t,r,n))&&"function"==typeof o.then?o.then(e=>a(null,e)).catch(a):a(null,o)}catch(e){a(e)}else l(e,t,r,n,a,s)}e&&e[0]&&this.store.addResource(e[0],t,r,n)}}}let sP=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if("object"==typeof e[1]&&(t=e[1]),a0(e[1])&&(t.defaultValue=e[1]),a0(e[2])&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){let r=e[3]||e[2];Object.keys(r).forEach(e=>{t[e]=r[e]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),sC=e=>(a0(e.ns)&&(e.ns=[e.ns]),a0(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),a0(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),"boolean"==typeof e.initImmediate&&(e.initAsync=e.initImmediate),e),sk=()=>{};class sj extends su{constructor(e={},t){if(super(),this.options=sC(e),this.services={},this.logger=sl,this.modules={external:[]},(e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(t=>{"function"==typeof e[t]&&(e[t]=e[t].bind(e))})})(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,"function"==typeof e&&(t=e,e={}),null==e.defaultNS&&e.ns&&(a0(e.ns)?e.defaultNS=e.ns:0>e.ns.indexOf("translation")&&(e.defaultNS=e.ns[0]));let r=sP();this.options={...r,...this.options,...sC(e)},this.options.interpolation={...r.interpolation,...this.options.interpolation},void 0!==e.keySeparator&&(this.options.userDefinedKeySeparator=e.keySeparator),void 0!==e.nsSeparator&&(this.options.userDefinedNsSeparator=e.nsSeparator);let n=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let e;this.modules.logger?sl.init(n(this.modules.logger),this.options):sl.init(null,this.options),e=this.modules.formatter?this.modules.formatter:sD;let t=new sg(this.options);this.store=new sc(this.options.resources,this.options);let o=this.services;o.logger=sl,o.resourceStore=this.store,o.languageUtils=t,o.pluralResolver=new sw(t,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),e&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(o.formatter=n(e),o.formatter.init&&o.formatter.init(o,this.options),this.options.interpolation.format=o.formatter.format.bind(o.formatter)),o.interpolator=new sx(this.options),o.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},o.backendConnector=new sO(n(this.modules.backend),o.resourceStore,o,this.options),o.backendConnector.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(o.languageDetector=n(this.modules.languageDetector),o.languageDetector.init&&o.languageDetector.init(o,this.options.detection,this.options)),this.modules.i18nFormat&&(o.i18nFormat=n(this.modules.i18nFormat),o.i18nFormat.init&&o.i18nFormat.init(this)),this.translator=new sy(this.services,this.options),this.translator.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,t||(t=sk),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(e=>{this[e]=(...t)=>this.store[e](...t)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(e=>{this[e]=(...t)=>(this.store[e](...t),this)});let o=a1(),i=()=>{let e=(e,r)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),o.resolve(r),t(e,r)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?i():setTimeout(i,0),o}loadResources(e,t=sk){let r=t,n=a0(e)?e:this.language;if("function"==typeof e&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if(n?.toLowerCase()==="cimode"&&(!this.options.preload||0===this.options.preload.length))return r();let e=[],t=t=>{t&&"cimode"!==t&&this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{"cimode"!==t&&0>e.indexOf(t)&&e.push(t)})};n?t(n):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>t(e)),this.options.preload?.forEach?.(e=>t(e)),this.services.backendConnector.load(e,this.options.ns,e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),r(e)})}else r(null)}reloadResources(e,t,r){let n=a1();return"function"==typeof e&&(r=e,e=void 0),"function"==typeof t&&(r=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),r||(r=sk),this.services.backendConnector.reload(e,t,e=>{n.resolve(),r(e)}),n}use(e){if(!e)throw Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&sd.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1)){for(let e=0;e<this.languages.length;e++){let t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&0>this.languages.indexOf(e)&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;let r=a1();this.emit("languageChanging",e);let n=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},o=(o,i)=>{i?this.isLanguageChangingTo===e&&(n(i),this.translator.changeLanguage(i),this.isLanguageChangingTo=void 0,this.emit("languageChanged",i),this.logger.log("languageChanged",i)):this.isLanguageChangingTo=void 0,r.resolve((...e)=>this.t(...e)),t&&t(o,(...e)=>this.t(...e))},i=t=>{e||t||!this.services.languageDetector||(t=[]);let r=a0(t)?t:t&&t[0],i=this.store.hasLanguageSomeTranslations(r)?r:this.services.languageUtils.getBestMatchFromCodes(a0(t)?[t]:t);i&&(this.language||n(i),this.translator.language||this.translator.changeLanguage(i),this.services.languageDetector?.cacheUserLanguage?.(i)),this.loadResources(i,e=>{o(e,i)})};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(i):this.services.languageDetector.detect(i):i(e):i(this.services.languageDetector.detect()),r}getFixedT(e,t,r){let n=(e,t,...o)=>{let i,a;(i="object"!=typeof t?this.options.overloadTranslationOptionHandler([e,t].concat(o)):{...t}).lng=i.lng||n.lng,i.lngs=i.lngs||n.lngs,i.ns=i.ns||n.ns,""!==i.keyPrefix&&(i.keyPrefix=i.keyPrefix||r||n.keyPrefix);let s=this.options.keySeparator||".";return i.keyPrefix&&Array.isArray(e)?a=e.map(e=>("function"==typeof e&&(e=sf(e,{...this.options,...t})),`${i.keyPrefix}${s}${e}`)):("function"==typeof e&&(e=sf(e,{...this.options,...t})),a=i.keyPrefix?`${i.keyPrefix}${s}${e}`:e),this.t(a,i)};return a0(e)?n.lng=e:n.lngs=e,n.ns=t,n.keyPrefix=r,n}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;let r=t.lng||this.resolvedLanguage||this.languages[0],n=!!this.options&&this.options.fallbackLng,o=this.languages[this.languages.length-1];if("cimode"===r.toLowerCase())return!0;let i=(e,t)=>{let r=this.services.backendConnector.state[`${e}|${t}`];return -1===r||0===r||2===r};if(t.precheck){let e=t.precheck(this,i);if(void 0!==e)return e}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||i(r,e)&&(!n||i(o,e)))}loadNamespaces(e,t){let r=a1();return this.options.ns?(a0(e)&&(e=[e]),e.forEach(e=>{0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){let r=a1();a0(e)&&(e=[e]);let n=this.options.preload||[],o=e.filter(e=>0>n.indexOf(e)&&this.services.languageUtils.isSupportedCode(e));return o.length?(this.options.preload=n.concat(o),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";try{let t=new Intl.Locale(e);if(t&&t.getTextInfo){let e=t.getTextInfo();if(e&&e.direction)return e.direction}}catch(e){}let t=this.services?.languageUtils||new sg(sP());return e.toLowerCase().indexOf("-latn")>1?"ltr":["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){return new sj(e,t)}cloneInstance(e={},t=sk){let r=e.forkResourceStore;r&&delete e.forkResourceStore;let n={...this.options,...e,isClone:!0},o=new sj(n);return(void 0!==e.debug||void 0!==e.prefix)&&(o.logger=o.logger.clone(e)),["store","services","language"].forEach(e=>{o[e]=this[e]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new sc(Object.keys(this.store.data).reduce((e,t)=>(e[t]={...this.store.data[t]},e[t]=Object.keys(e[t]).reduce((r,n)=>(r[n]={...e[t][n]},r),e[t]),e),{}),n),o.services.resourceStore=o.store),o.translator=new sy(o.services,n),o.translator.on("*",(e,...t)=>{o.emit(e,...t)}),o.init(n,t),o.translator.options=n,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}let sT=sj.createInstance();sT.createInstance=sj.createInstance,sT.createInstance,sT.dir,sT.init,sT.loadResources,sT.reloadResources,sT.use,sT.changeLanguage,sT.getFixedT,sT.t,sT.exists,sT.setDefaultNamespace,sT.hasLoadedNamespace,sT.loadNamespaces,sT.loadLanguages;let sR=sT.default||sT;function sN(e,t,r,n){return sR.t(t,{ns:e,defaultValue:r,...n})}function sA(e,t,r){return aQ[e]?sN("core",e,t??aQ[e],r):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}sR.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let sM="import-map-override:",s$="import-map-overrides-disabled",sI="import-map-overrides:change",sL=!1,sF=null,sB=null;async function sV(){return sB??(sB=sU().then(({map:e,complete:t})=>(t||(sB=null),e))),sB}async function sU(){let e=document.querySelectorAll('script[type="systemjs-importmap"]'),t=[],r=!0;for(let n=0;n<e.length;n++){let o=e[n];try{if(o.src){let e=await fetch(o.src);if(!e.ok)throw Error(`Request for ${o.src} returned ${e.status} ${e.statusText}`);t.push(await e.json())}else o.textContent&&t.push(JSON.parse(o.textContent))}catch(e){r=!1,console.warn(`[import-maps] Failed to parse import map from script tag at index ${n}`,e)}}return{map:sW(t),complete:r}}function sW(e){let t={imports:{}};for(let r of e)r?.imports&&Object.assign(t.imports,r.imports);return t}function sz(){let e={};try{let t=sY();for(let r=0;r<localStorage.length;r++){let n=localStorage.key(r);if(n?.startsWith(sM)){let r=n.slice(sM.length);if(!t.includes(r)){let t=localStorage.getItem(n);t&&(e[r]=t)}}}}catch(e){console.warn("[import-maps] Failed to read import-map overrides from localStorage",e)}return{imports:e}}async function sK(){let e=await sV();return sL?sW([e,sF??sz()]):e}async function sH(){return sV()}async function sG(){return sL?sW([await sV(),sz()]):sV()}function sq(e){if(!sL)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);if(r?.startsWith(sM)){let t=localStorage.getItem(r);t&&(e[r.slice(sM.length)]=t)}}return{imports:e}}return sz()}function sY(){if(!sL)return[];try{let e=localStorage.getItem(s$);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function sZ(e){return!!sL&&sY().includes(e)}function sJ(e,t){if(!sL)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(sM+e,t),window.dispatchEvent(new CustomEvent(sI))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function sX(e){if(!sL)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(sM+e);let t=sY().filter(t=>t!==e);t.length>0?localStorage.setItem(s$,JSON.stringify(t)):localStorage.removeItem(s$),window.dispatchEvent(new CustomEvent(sI))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function sQ(){if(!sL)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);r?.startsWith(sM)&&e.push(r)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(s$),window.dispatchEvent(new CustomEvent(sI))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function s0(e){if(!sL)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=sY().filter(t=>t!==e);t.length>0?localStorage.setItem(s$,JSON.stringify(t)):localStorage.removeItem(s$),window.dispatchEvent(new CustomEvent(sI))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let s1=!1;function s2(){!s1&&(s1=!0,(sL="development"===window.spaEnv)&&(sF=sz()))}function s4(e){return e.replace(/[\/\-@]/g,"_")}async function s3(e,t="./start",n){var o;let i,a=!n?.maxLoadingTime||n.maxLoadingTime<=0?6e5:n.maxLoadingTime;await Promise.race([s6(e,n?.importMap),new Promise((t,r)=>{i=setTimeout(()=>{var t;r(Error(`Could not resolve requested script, ${e}, within ${(t=a)<1e3?`${t} milliseconds`:t<6e4?`${Math.floor(t/1e3)} seconds`:t<36e5?`${Math.floor(t/6e4)} minutes`:t<864e5?`${Math.floor(t/36e5)} hours`:`${Math.floor(t/864e5)} days`}.`))},a)})]),i&&clearTimeout(i);let s=s4(e),l=window[s];if(!("object"==typeof(o=l)&&null!==o&&"init"in o&&"function"==typeof o.init&&"get"in o&&"function"==typeof o.get)){let e=`The global variable ${s} does not refer to a federated module`;throw console.error(e),Error(e)}l.init(r.S.default);let u=(await l.get(t))();if("object"!=typeof u||null===u){let t=`Container for ${e} did not return an ESM module as expected`;throw console.error(t),Error(t)}return u}async function s6(e,t){if("string"!=typeof e||0===e.trim().length){let e="Attempted to call importDynamic() without supplying a package to load";throw console.error(e),Error(e)}let r=s4(e);if(!window[r]){let r=t??await s5();if(!r.imports.hasOwnProperty(e)){let t=`Could not find the package ${e} defined in the current importmap`;throw console.error(t),Error(t)}let n=r.imports[e];n.startsWith("./")&&(n=window.spaBase+n.substring(1));let o=e in sq().imports;try{return await function(e){var t;let r=(t=window)[s9]??(t[s9]=new Map),n=r.get(e);if(n)return n;if(document.head.querySelector(`script[src="${e}"]`))return console.warn(`Script at ${e} already loaded. Not loading it again.`),Promise.resolve();let o=document.createElement("script");o.src=e,o.type="text/javascript",o.async=!0;let i=new Promise((t,n)=>{let i=setTimeout(()=>{console.error(`The script at ${e} did not load within 5 seconds. This may indicate an issue with the imports in the script's entry-point file or with the script's bundler configuration.`)},5e3);function a(){clearTimeout(i),o.removeEventListener("load",s),o.removeEventListener("error",l)}function s(){a(),t()}function l(t){a(),r.delete(e),o.remove();let i=`Failed to load script from ${e}`;console.error(i,t),n(t.message??i)}o.addEventListener("load",s),o.addEventListener("error",l),document.head.appendChild(o)});return r.set(e,i),i}(n)}catch(e){return o&&T({kind:"error",title:sA("scriptLoadingFailed","Error: Script failed to load"),description:sA("scriptLoadingError","Failed to load overridden script from {{- url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",{url:n}),actionButtonLabel:sA("resetOverrides","Reset overrides"),onActionButtonClick(){sQ(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function s5(){return sK()}let s9=Symbol.for("__openmrs_script_loading");function s7(e){return!!e&&"object"==typeof e&&!(Object.hasOwn(e,"pages")&&(!e.pages||!Array.isArray(e.pages))||Object.hasOwn(e,"extensions")&&(!e.extensions||!Array.isArray(e.extensions))||Object.hasOwn(e,"workspaces")&&(!e.workspaces||!Array.isArray(e.workspaces))||Object.hasOwn(e,"modals")&&(!e.modals||!Array.isArray(e.modals)))}function s8(e){return!!e&&"object"==typeof e&&"routes"in e&&!!e.routes&&"object"==typeof e.routes&&Object.entries(e.routes).every(([e,t])=>"string"==typeof e&&s7(t))}let le="openmrs-routes:",lt="openmrs-routes:change",lr=!1,ln=null,lo=null;async function li(){return lo??(lo=la().then(({map:e,complete:t})=>(t||(lo=null),e))),lo}async function la(){let e=document.querySelectorAll("script[type='openmrs-routes']"),t=[],r=!0;for(let n=0;n<e.length;n++){let o=e[n];try{let e;if(o.src){let t=await fetch(o.src);if(!t.ok)throw Error(`Request for ${o.src} returned ${t.status} ${t.statusText}`);e=await t.json()}else o.textContent&&(e=JSON.parse(o.textContent));e&&s8(e)&&t.push(e)}catch(e){r=!1,console.warn(`[route-maps] Failed to parse routes from script tag at index ${n}`,e)}}return{map:ls(t),complete:r}}function ls(e){let t={routes:{}};for(let r of e)r&&"object"==typeof r&&!Array.isArray(r)&&(Object.assign(t.routes,r.routes),void 0===t.version&&void 0!==r.version&&(t.version=r.version));return t}async function ll(){let e={version:void 0,routes:{}};try{let t=[];for(let e=0;e<localStorage.length;e++){let r=localStorage.key(e);if(r?.startsWith(le)){let e=localStorage.getItem(r);e&&t.push({moduleName:r.slice(le.length),raw:e})}}for(let r of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let r=JSON.parse(t);if(s7(r))return{moduleName:e,routes:r};if("string"==typeof r&&r.startsWith("http")){let t=await fetch(r),n=await t.json();if(s7(n))return{moduleName:e,routes:n};throw Error(`${r} did not resolve to a valid OpenmrsAppRoutes object`)}throw Error(`Override for ${e} is neither a valid routes object nor a URL`)}))))"fulfilled"===r.status?e.routes[r.value.moduleName]=r.value.routes:console.warn("[route-maps] Failed to load route override",r.reason)}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}async function lu(){let e=await li();return lr?ls([e,ln??await ll()]):e}async function lc(){return li()}async function ld(){return lr?ls([await li(),await ll()]):li()}function lp(){if(!lr)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);if(r?.startsWith(le)){let t=localStorage.getItem(r);t&&(e[r.slice(le.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function lf(e,t){if(!lr)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(le+e,JSON.stringify(t));else{let r=JSON.parse(t);if(!s7(r))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(le+e,JSON.stringify(r))}else if(t instanceof URL)localStorage.setItem(le+e,JSON.stringify(t.toString()));else{if(!s7(t))return void console.error(`Override for ${e} is not in a valid format. Expected either a Javascript Object, a JSON string of a Javascript object, or a URL`,t);localStorage.setItem(le+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(lt))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function lh(e){if(!lr)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(le+e),window.dispatchEvent(new CustomEvent(lt))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function lm(){if(!lr)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);r?.startsWith(le)&&e.push(r)}e.forEach(e=>localStorage.removeItem(e)),window.dispatchEvent(new CustomEvent(lt))}catch(e){console.warn("[route-maps] Failed to clear route overrides from localStorage",e)}}let ly=null;function lg(){return ly||(ly=(lr="development"===window.spaEnv)?ll().then(e=>{ln=e}):Promise.resolve())}let lb=`${aj}/attachment`;function lv(e,t){return aA(`${lb}/${e}`,{signal:t.signal})}function lw(e,t,r,n){return aA(l_(e,t,n),{signal:r.signal})}function l_(e,t,r){return r?`${lb}?patient=${e}&encounter=${r}`:`${lb}?patient=${e}&includeEncounterless=${t}`}async function lx(e,t,r){let n=new FormData;return n.append("fileCaption",t.fileDescription),n.append("patient",e),r&&n.append("encounter",r),t.file?n.append("file",t.file,t.fileName):(n.append("file",new File([""],t.fileName),t.fileName),n.append("base64Content",t.base64Content)),aA(`${lb}`,{method:"POST",body:n})}function lE(e,t){return aA(`${lb}/${e}`,{method:"DELETE",signal:t.signal})}try{self["workbox:window:6.5.4"]&&_()}catch(e){}function lS(e,t){return new Promise(function(r){var n=new MessageChannel;n.port1.onmessage=function(e){r(e.data)},e.postMessage(t,[n.port2])})}function lD(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function lO(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}try{self["workbox:core:6.5.4"]&&_()}catch(e){}var lP=function(){var e=this;this.promise=new Promise(function(t,r){e.resolve=t,e.reject=r})};function lC(e,t){var r=location.href;return new URL(e,r).href===new URL(t,r).href}var lk=function(e,t){this.type=e,Object.assign(this,t)};function lj(e,t,r){return r?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}function lT(){}var lR={type:"SKIP_WAITING"};function lN(e,t){if(!t)return e&&e.then?e.then(lT):Promise.resolve()}var lA=function(e){function t(t,r){var n,o;return void 0===r&&(r={}),(n=e.call(this)||this).nn={},n.tn=0,n.rn=new lP,n.en=new lP,n.on=new lP,n.un=0,n.an=new Set,n.cn=function(){var e=n.fn,t=e.installing;n.tn>0||!lC(t.scriptURL,n.sn.toString())||performance.now()>n.un+6e4?(n.vn=t,e.removeEventListener("updatefound",n.cn)):(n.hn=t,n.an.add(t),n.rn.resolve(t)),++n.tn,t.addEventListener("statechange",n.ln)},n.ln=function(e){var t=n.fn,r=e.target,o=r.state,i=r===n.vn,a={sw:r,isExternal:i,originalEvent:e};!i&&n.mn&&(a.isUpdate=!0),n.dispatchEvent(new lk(o,a)),"installed"===o?n.wn=self.setTimeout(function(){"installed"===o&&t.waiting===r&&n.dispatchEvent(new lk("waiting",a))},200):"activating"===o&&(clearTimeout(n.wn),i||n.en.resolve(r))},n.dn=function(e){var t=n.hn,r=t!==navigator.serviceWorker.controller;n.dispatchEvent(new lk("controlling",{isExternal:r,originalEvent:e,sw:t,isUpdate:n.mn})),r||n.on.resolve(t)},o=function(e){var t=e.data,r=e.ports,o=e.source;return lj(n.getSW(),function(){n.an.has(o)&&n.dispatchEvent(new lk("message",{data:t,originalEvent:e,ports:r,sw:o}))})},n.gn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];try{return Promise.resolve(o.apply(this,e))}catch(e){return Promise.reject(e)}},n.sn=t,n.nn=r,navigator.serviceWorker.addEventListener("message",n.gn),n}t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e;var r,n,o=t.prototype;return o.register=function(e){var t=(void 0===e?{}:e).immediate,r=void 0!==t&&t;try{var n,o,i,a=this;return n=function(){if(!r&&"complete"!==document.readyState)return lN(new Promise(function(e){return window.addEventListener("load",e)}))},o=function(){return a.mn=!!navigator.serviceWorker.controller,a.yn=a.pn(),lj(a.bn(),function(e){a.fn=e,a.yn&&(a.hn=a.yn,a.en.resolve(a.yn),a.on.resolve(a.yn),a.yn.addEventListener("statechange",a.ln,{once:!0}));var t=a.fn.waiting;return t&&lC(t.scriptURL,a.sn.toString())&&(a.hn=t,Promise.resolve().then(function(){a.dispatchEvent(new lk("waiting",{sw:t,wasWaitingBeforeRegister:!0}))}).then(function(){})),a.hn&&(a.rn.resolve(a.hn),a.an.add(a.hn)),a.fn.addEventListener("updatefound",a.cn),navigator.serviceWorker.addEventListener("controllerchange",a.dn),a.fn})},(i=n())&&i.then?i.then(o):o(i)}catch(e){return Promise.reject(e)}},o.update=function(){try{return this.fn?lN(this.fn.update()):void 0}catch(e){return Promise.reject(e)}},o.getSW=function(){return void 0!==this.hn?Promise.resolve(this.hn):this.rn.promise},o.messageSW=function(e){try{return lj(this.getSW(),function(t){return lS(t,e)})}catch(e){return Promise.reject(e)}},o.messageSkipWaiting=function(){this.fn&&this.fn.waiting&&lS(this.fn.waiting,lR)},o.pn=function(){var e=navigator.serviceWorker.controller;return e&&lC(e.scriptURL,this.sn.toString())?e:void 0},o.bn=function(){try{var e=this;return function(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}(function(){return lj(navigator.serviceWorker.register(e.sn,e.nn),function(t){return e.un=performance.now(),t})},function(e){throw e})}catch(e){return Promise.reject(e)}},r=[{key:"active",get:function(){return this.en.promise}},{key:"controlling",get:function(){return this.on.promise}}],lD(t.prototype,r),n&&lD(t,n),t}(function(){function e(){this.Pn=new Map}var t=e.prototype;return t.addEventListener=function(e,t){this.Sn(e).add(t)},t.removeEventListener=function(e,t){this.Sn(e).delete(t)},t.dispatchEvent=function(e){e.target=this;for(var t,r=function(e){var t;if("u"<typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(t=function(e){if(e){if("string"==typeof e)return lO(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?lO(e,void 0):void 0}}(e))){t&&(e=t);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(t=e[Symbol.iterator]()).next.bind(t)}(this.Sn(e.type));!(t=r()).done;)(0,t.value)(e)},t.Sn=function(e){return this.Pn.has(e)||this.Pn.set(e,new Set),this.Pn.get(e)},e}());function lM(e,t){if(void 0!==p)return console.warn(`The application's Service Worker has already been registered. The new service worker at ${e} will not be registered.`),p;if(!("serviceWorker"in navigator))throw Error("Registering the Service Worker is not possible due to missing browser capabilities.");let r=new lA(e,t);return p=r.register().then(()=>r.controlling.then(()=>r))}function l$(){return p??Promise.resolve(void 0)}let lI="x-omrs-offline-response-body",lL="x-omrs-offline-response-status",lF="x-omrs-offline-caching-strategy";async function lB(e){let t=await l$();return t?await t.messageSW(e):{success:!1,result:void 0,error:"No service worker has been registered. This is typically the case when the application has been built without offline-related features."}}async function lV(){let e=window.sessionStorage;try{e.setItem("someKeyHere","test"),e.removeItem("someKeyHere")}catch(t){if(t.code===DOMException.QUOTA_EXCEEDED_ERR&&0===e.length)return!0}return!1}async function lU(){return!window.indexedDB}async function lW(){return new Promise(e=>{let t=indexedDB.open("test");t.onerror=()=>e(!0),t.onsuccess=()=>e(!1)})}async function lz(){return await lW()||await lU()||await lV()}let lK="openmrs3:offline-mode",lH="unavailable";function lG(){return{current:lH,notAvailable:"unavailable"===lH,active:"on"===lH}}function lq(e){"unavailable"!==lH&&"unavailable"!==e&&(localStorage.setItem(lK,"on"===e?"active":"disabled"),lH=e)}async function lY(){await lz()||(lH="active"===localStorage.getItem(lK)?"on":"off"),navigator.onLine}let lZ="u">typeof globalThis?globalThis:"u">typeof self?self:"u">typeof window?window:global,lJ=Object.keys,lX=Array.isArray;function lQ(e,t){return"object"!=typeof t||lJ(t).forEach(function(r){e[r]=t[r]}),e}"u"<typeof Promise||lZ.Promise||(lZ.Promise=Promise);let l0=Object.getPrototypeOf,l1={}.hasOwnProperty;function l2(e,t){return l1.call(e,t)}function l4(e,t){"function"==typeof t&&(t=t(l0(e))),("u"<typeof Reflect?lJ:Reflect.ownKeys)(t).forEach(r=>{l6(e,r,t[r])})}let l3=Object.defineProperty;function l6(e,t,r,n){l3(e,t,lQ(r&&l2(r,"get")&&"function"==typeof r.get?{get:r.get,set:r.set,configurable:!0}:{value:r,configurable:!0,writable:!0},n))}function l5(e){return{from:function(t){return e.prototype=Object.create(t.prototype),l6(e.prototype,"constructor",e),{extend:l4.bind(null,e.prototype)}}}}let l9=Object.getOwnPropertyDescriptor;function l7(e,t){let r;return l9(e,t)||(r=l0(e))&&l7(r,t)}let l8=[].slice;function ue(e,t,r){return l8.call(e,t,r)}function ut(e,t){return t(e)}function ur(e){if(!e)throw Error("Assertion Failed")}function un(e){lZ.setImmediate?setImmediate(e):setTimeout(e,0)}function uo(e,t){return e.reduce((e,r,n)=>{var o=t(r,n);return o&&(e[o[0]]=o[1]),e},{})}function ui(e,t){if("string"==typeof t&&l2(e,t))return e[t];if(!t)return e;if("string"!=typeof t){for(var r=[],n=0,o=t.length;n<o;++n){var i=ui(e,t[n]);r.push(i)}return r}var a=t.indexOf(".");if(-1!==a){var s=e[t.substr(0,a)];return null==s?void 0:ui(s,t.substr(a+1))}}function ua(e,t,r){if(e&&void 0!==t&&(!("isFrozen"in Object)||!Object.isFrozen(e)))if("string"!=typeof t&&"length"in t){ur("string"!=typeof r&&"length"in r);for(var n=0,o=t.length;n<o;++n)ua(e,t[n],r[n])}else{var i=t.indexOf(".");if(-1!==i){var a=t.substr(0,i),s=t.substr(i+1);if(""===s)void 0===r?lX(e)&&!isNaN(parseInt(a))?e.splice(a,1):delete e[a]:e[a]=r;else{var l=e[a];l&&l2(e,a)||(l=e[a]={}),ua(l,s,r)}}else void 0===r?lX(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=r}}function us(e){var t={};for(var r in e)l2(e,r)&&(t[r]=e[r]);return t}let ul=[].concat;function uu(e){return ul.apply([],e)}let uc="BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(uu([8,16,32,64].map(e=>["Int","Uint","Float"].map(t=>t+e+"Array")))).filter(e=>lZ[e]),ud=uc.map(e=>lZ[e]);uo(uc,e=>[e,!0]);let up=null;function uf(e){up="u">typeof WeakMap&&new WeakMap;let t=function e(t){if(!t||"object"!=typeof t)return t;let r=up&&up.get(t);if(r)return r;if(lX(t)){r=[],up&&up.set(t,r);for(var n=0,o=t.length;n<o;++n)r.push(e(t[n]))}else if(ud.indexOf(t.constructor)>=0)r=t;else{let n=l0(t);for(var i in r=n===Object.prototype?{}:Object.create(n),up&&up.set(t,r),t)l2(t,i)&&(r[i]=e(t[i]))}return r}(e);return up=null,t}let{toString:uh}={};function um(e){return uh.call(e).slice(8,-1)}let uy="u">typeof Symbol?Symbol.iterator:"@@iterator",ug="symbol"==typeof uy?function(e){var t;return null!=e&&(t=e[uy])&&t.apply(e)}:function(){return null},ub={};function uv(e){var t,r,n,o;if(1==arguments.length){if(lX(e))return e.slice();if(this===ub&&"string"==typeof e)return[e];if(o=ug(e)){for(r=[];!(n=o.next()).done;)r.push(n.value);return r}if(null==e)return[e];if("number"==typeof(t=e.length)){for(r=Array(t);t--;)r[t]=e[t];return r}return[e]}for(t=arguments.length,r=Array(t);t--;)r[t]=arguments[t];return r}let uw="u">typeof Symbol?e=>"AsyncFunction"===e[Symbol.toStringTag]:()=>!1;var u_="u">typeof location&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href),ux=()=>!0;let uE=!Error("").stack;function uS(){if(uE)try{throw uS.arguments,Error()}catch(e){return e}return Error()}function uD(e,t){var r=e.stack;return r?(t=t||0,0===r.indexOf(e.name)&&(t+=(e.name+e.message).split("\n").length),r.split("\n").slice(t).filter(ux).map(e=>"\n"+e).join("")):""}var uO=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],uP=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(uO),uC={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed",MissingAPI:"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"};function uk(e,t){this._e=uS(),this.name=e,this.message=t}function uj(e,t){return e+". Errors: "+Object.keys(t).map(e=>t[e].toString()).filter((e,t,r)=>r.indexOf(e)===t).join("\n")}function uT(e,t,r,n){this._e=uS(),this.failures=t,this.failedKeys=n,this.successCount=r,this.message=uj(e,t)}function uR(e,t){this._e=uS(),this.name="BulkError",this.failures=Object.keys(t).map(e=>t[e]),this.failuresByPos=t,this.message=uj(e,t)}l5(uk).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+": "+this.message+uD(this._e,2))}},toString:function(){return this.name+": "+this.message}}),l5(uT).from(uk),l5(uR).from(uk);var uN=uP.reduce((e,t)=>(e[t]=t+"Error",e),{}),uA=uP.reduce((e,t)=>{var r=t+"Error";function n(e,n){this._e=uS(),this.name=r,e?"string"==typeof e?(this.message=`${e}${n?"\n "+n:""}`,this.inner=n||null):"object"==typeof e&&(this.message=`${e.name} ${e.message}`,this.inner=e):(this.message=uC[t]||r,this.inner=null)}return l5(n).from(uk),e[t]=n,e},{});uA.Syntax=SyntaxError,uA.Type=TypeError,uA.Range=RangeError;var uM=uO.reduce((e,t)=>(e[t+"Error"]=uA[t],e),{}),u$=uP.reduce((e,t)=>(-1===["Syntax","Type","Range"].indexOf(t)&&(e[t+"Error"]=uA[t]),e),{});function uI(){}function uL(e){return e}function uF(e,t){return null==e||e===uL?t:function(r){return t(e(r))}}function uB(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function uV(e,t){return e===uI?t:function(){var r=e.apply(this,arguments);void 0!==r&&(arguments[0]=r);var n=this.onsuccess,o=this.onerror;this.onsuccess=null,this.onerror=null;var i=t.apply(this,arguments);return n&&(this.onsuccess=this.onsuccess?uB(n,this.onsuccess):n),o&&(this.onerror=this.onerror?uB(o,this.onerror):o),void 0!==i?i:r}}function uU(e,t){return e===uI?t:function(){e.apply(this,arguments);var r=this.onsuccess,n=this.onerror;this.onsuccess=this.onerror=null,t.apply(this,arguments),r&&(this.onsuccess=this.onsuccess?uB(r,this.onsuccess):r),n&&(this.onerror=this.onerror?uB(n,this.onerror):n)}}function uW(e,t){return e===uI?t:function(r){var n=e.apply(this,arguments);lQ(r,n);var o=this.onsuccess,i=this.onerror;this.onsuccess=null,this.onerror=null;var a=t.apply(this,arguments);return o&&(this.onsuccess=this.onsuccess?uB(o,this.onsuccess):o),i&&(this.onerror=this.onerror?uB(i,this.onerror):i),void 0===n?void 0===a?void 0:a:lQ(n,a)}}function uz(e,t){return e===uI?t:function(){return!1!==t.apply(this,arguments)&&e.apply(this,arguments)}}function uK(e,t){return e===uI?t:function(){var r=e.apply(this,arguments);if(r&&"function"==typeof r.then){for(var n=this,o=arguments.length,i=Array(o);o--;)i[o]=arguments[o];return r.then(function(){return t.apply(n,i)})}return t.apply(this,arguments)}}u$.ModifyError=uT,u$.DexieError=uk,u$.BulkError=uR;var uH={};let[uG,uq,uY]="u"<typeof Promise?[]:(()=>{let e=Promise.resolve();if("u"<typeof crypto||!crypto.subtle)return[e,l0(e),e];let t=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[t,l0(t),e]})(),uZ=uq&&uq.then,uJ=uG&&uG.constructor,uX=!!uY;var uQ=!1,u0=uY?()=>{uY.then(cd)}:lZ.setImmediate?setImmediate.bind(null,cd):lZ.MutationObserver?()=>{var e=document.createElement("div");new MutationObserver(()=>{cd(),e=null}).observe(e,{attributes:!0}),e.setAttribute("i","1")}:()=>{setTimeout(cd,0)},u1=function(e,t){ce.push([e,t]),u4&&(u0(),u4=!1)},u2=!0,u4=!0,u3=[],u6=[],u5=null,u9=uL,u7={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:cM,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach(e=>{try{cM(e[0],e[1])}catch(e){}})}},u8=u7,ce=[],ct=0,cr=[];function cn(e){if("object"!=typeof this)throw TypeError("Promises must be constructed via new");this._listeners=[],this.onuncatched=uI,this._lib=!1;var t=this._PSD=u8;if(u_&&(this._stackHolder=uS(),this._prev=null,this._numPrev=0),"function"!=typeof e){if(e!==uH)throw TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(!1===this._state&&ca(this,this._value))}this._state=null,this._value=null,++t.ref,function e(t,r){try{r(r=>{if(null===t._state){if(r===t)throw TypeError("A promise cannot be resolved with itself.");var n=t._lib&&cp();r&&"function"==typeof r.then?e(t,(e,t)=>{r instanceof cn?r._then(e,t):r.then(e,t)}):(t._state=!0,t._value=r,cs(t)),n&&cf()}},ca.bind(null,t))}catch(e){ca(t,e)}}(this,e)}let co={get:function(){var e=u8,t=c_;function r(r,n){var o=!e.global&&(e!==u8||t!==c_);let i=o&&!cD();var a=new cn((t,a)=>{cl(this,new ci(cR(r,e,o,i),cR(n,e,o,i),t,a,e))});return u_&&cc(a,this),a}return r.prototype=uH,r},set:function(e){l6(this,"then",e&&e.prototype===uH?co:{get:function(){return e},set:co.set})}};function ci(e,t,r,n,o){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.resolve=r,this.reject=n,this.psd=o}function ca(e,t){if(u6.push(t),null===e._state){var r=e._lib&&cp();t=u9(t),e._state=!1,e._value=t,u_&&null!==t&&"object"==typeof t&&!t._promise&&function(e){try{e.apply(null,void 0)}catch(e){}}(()=>{var r=l7(t,"stack");t._promise=e,l6(t,"stack",{get:()=>uQ?r&&(r.get?r.get.apply(t):r.value):e.stack})}),u3.some(t=>t._value===e._value)||u3.push(e),cs(e),r&&cf()}}function cs(e){var t=e._listeners;e._listeners=[];for(var r=0,n=t.length;r<n;++r)cl(e,t[r]);var o=e._PSD;--o.ref||o.finalize(),0===ct&&(++ct,u1(()=>{0==--ct&&ch()},[]))}function cl(e,t){if(null!==e._state){var r=e._state?t.onFulfilled:t.onRejected;if(null===r)return(e._state?t.resolve:t.reject)(e._value);++t.psd.ref,++ct,u1(cu,[r,e,t])}else e._listeners.push(t)}function cu(e,t,r){try{u5=t;var n,o=t._value;t._state?n=e(o):(u6.length&&(u6=[]),n=e(o),-1===u6.indexOf(o)&&function(e){for(var t=u3.length;t;)if(u3[--t]._value===e._value)return void u3.splice(t,1)}(t)),r.resolve(n)}catch(e){r.reject(e)}finally{u5=null,0==--ct&&ch(),--r.psd.ref||r.psd.finalize()}}function cc(e,t){var r=t?t._numPrev+1:0;r<100&&(e._prev=t,e._numPrev=r)}function cd(){cp()&&cf()}function cp(){var e=u2;return u2=!1,u4=!1,e}function cf(){var e,t,r;do for(;ce.length>0;)for(e=ce,ce=[],r=e.length,t=0;t<r;++t){var n=e[t];n[0].apply(null,n[1])}while(ce.length>0);u2=!0,u4=!0}function ch(){var e=u3;u3=[],e.forEach(e=>{e._PSD.onunhandled.call(null,e._value,e)});for(var t=cr.slice(0),r=t.length;r;)t[--r]()}function cm(e){return new cn(uH,!1,e)}function cy(e,t){var r=u8;return function(){var n=cp(),o=u8;try{return ck(r,!0),e.apply(this,arguments)}catch(e){t&&t(e)}finally{ck(o,!1),n&&cf()}}}l4(cn.prototype,{then:co,_then:function(e,t){cl(this,new ci(null,null,e,t,u8))},catch:function(e){if(1==arguments.length)return this.then(null,e);var t=arguments[0],r=arguments[1];return"function"==typeof t?this.then(null,e=>e instanceof t?r(e):cm(e)):this.then(null,e=>e&&e.name===t?r(e):cm(e))},finally:function(e){return this.then(t=>(e(),t),t=>(e(),cm(t)))},stack:{get:function(){if(this._stack)return this._stack;try{uQ=!0;var e=(function e(t,r,n){if(r.length===n)return r;var o="";if(!1===t._state){var i,a,s=t._value;null!=s?(i=s.name||"Error",a=s.message||s,o=uD(s,0)):(i=s,a=""),r.push(i+(a?": "+a:"")+o)}return u_&&((o=uD(t._stackHolder,2))&&-1===r.indexOf(o)&&r.push(o),t._prev&&e(t._prev,r,n)),r})(this,[],20).join("\nFrom previous: ");return null!==this._state&&(this._stack=e),e}finally{uQ=!1}}},timeout:function(e,t){return e<1/0?new cn((r,n)=>{var o=setTimeout(()=>n(new uA.Timeout(t)),e);this.then(r,n).finally(clearTimeout.bind(null,o))}):this}}),"u">typeof Symbol&&Symbol.toStringTag&&l6(cn.prototype,Symbol.toStringTag,"Dexie.Promise"),u7.env=cj(),l4(cn,{all:function(){var e=uv.apply(null,arguments).map(cO);return new cn(function(t,r){0===e.length&&t([]);var n=e.length;e.forEach((o,i)=>cn.resolve(o).then(r=>{e[i]=r,--n||t(e)},r))})},resolve:e=>{if(e instanceof cn)return e;if(e&&"function"==typeof e.then)return new cn((t,r)=>{e.then(t,r)});var t=new cn(uH,!0,e);return cc(t,u5),t},reject:cm,race:function(){var e=uv.apply(null,arguments).map(cO);return new cn((t,r)=>{e.map(e=>cn.resolve(e).then(t,r))})},PSD:{get:()=>u8,set:e=>u8=e},totalEchoes:{get:()=>c_},newPSD:cE,usePSD:cT,scheduler:{get:()=>u1,set:e=>{u1=e}},rejectionMapper:{get:()=>u9,set:e=>{u9=e}},follow:(e,t)=>new cn((r,n)=>cE((t,r)=>{var n=u8;n.unhandleds=[],n.onunhandled=r,n.finalize=uB(function(){var e;e=()=>{0===this.unhandleds.length?t():r(this.unhandleds[0])},cr.push(function t(){e(),cr.splice(cr.indexOf(t),1)}),++ct,u1(()=>{0==--ct&&ch()},[])},n.finalize),e()},t,r,n))}),uJ&&(uJ.allSettled&&l6(cn,"allSettled",function(){let e=uv.apply(null,arguments).map(cO);return new cn(t=>{0===e.length&&t([]);let r=e.length,n=Array(r);e.forEach((e,o)=>cn.resolve(e).then(e=>n[o]={status:"fulfilled",value:e},e=>n[o]={status:"rejected",reason:e}).then(()=>--r||t(n)))})}),uJ.any&&"u">typeof AggregateError&&l6(cn,"any",function(){let e=uv.apply(null,arguments).map(cO);return new cn((t,r)=>{0===e.length&&r(AggregateError([]));let n=e.length,o=Array(n);e.forEach((e,i)=>cn.resolve(e).then(e=>t(e),e=>{o[i]=e,--n||r(AggregateError(o))}))})}));let cg={awaits:0,echoes:0,id:0};var cb=0,cv=[],cw=0,c_=0,cx=0;function cE(e,t,r,n){var o=u8,i=Object.create(o);i.parent=o,i.ref=0,i.global=!1,i.id=++cx;var a=u7.env;i.env=uX?{Promise:cn,PromiseProp:{value:cn,configurable:!0,writable:!0},all:cn.all,race:cn.race,allSettled:cn.allSettled,any:cn.any,resolve:cn.resolve,reject:cn.reject,nthen:cN(a.nthen,i),gthen:cN(a.gthen,i)}:{},t&&lQ(i,t),++o.ref,i.finalize=function(){--this.parent.ref||this.parent.finalize()};var s=cT(i,e,r,n);return 0===i.ref&&i.finalize(),s}function cS(){return cg.id||(cg.id=++cb),++cg.awaits,cg.echoes+=100,cg.id}function cD(){return!!cg.awaits&&(0==--cg.awaits&&(cg.id=0),cg.echoes=100*cg.awaits,!0)}function cO(e){return cg.echoes&&e&&e.constructor===uJ?(cS(),e.then(e=>(cD(),e),e=>(cD(),c$(e)))):e}function cP(e){++c_,cg.echoes&&0!=--cg.echoes||(cg.echoes=cg.id=0),cv.push(u8),ck(e,!0)}function cC(){var e=cv[cv.length-1];cv.pop(),ck(e,!1)}function ck(e,t){var r,n=u8;if((t?!cg.echoes||cw++&&e===u8:!cw||--cw&&e===u8)||(r=t?cP.bind(null,e):cC,uZ.call(uG,r)),e!==u8&&(u8=e,n===u7&&(u7.env=cj()),uX)){var o=u7.env.Promise,i=e.env;uq.then=i.nthen,o.prototype.then=i.gthen,(n.global||e.global)&&(Object.defineProperty(lZ,"Promise",i.PromiseProp),o.all=i.all,o.race=i.race,o.resolve=i.resolve,o.reject=i.reject,i.allSettled&&(o.allSettled=i.allSettled),i.any&&(o.any=i.any))}}function cj(){var e=lZ.Promise;return uX?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(lZ,"Promise"),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject,nthen:uq.then,gthen:e.prototype.then}:{}}function cT(e,t,r,n,o){var i=u8;try{return ck(e,!0),t(r,n,o)}finally{ck(i,!1)}}function cR(e,t,r,n){return"function"!=typeof e?e:function(){var o,i=u8;r&&cS(),ck(t,!0);try{return e.apply(this,arguments)}finally{ck(i,!1),n&&(o=cD,uZ.call(uG,o))}}}function cN(e,t){return function(r,n){return e.call(this,cR(r,t),cR(n,t))}}-1===(""+uZ).indexOf("[native code]")&&(cS=cD=uI);let cA="unhandledrejection";function cM(e,t){var r;try{r=t.onuncatched(e)}catch(e){}if(!1!==r)try{var n,o={promise:t,reason:e};if(lZ.document&&document.createEvent?((n=document.createEvent("Event")).initEvent(cA,!0,!0),lQ(n,o)):lZ.CustomEvent&&lQ(n=new CustomEvent(cA,{detail:o}),o),n&&lZ.dispatchEvent&&(dispatchEvent(n),!lZ.PromiseRejectionEvent&&lZ.onunhandledrejection))try{lZ.onunhandledrejection(n)}catch(e){}u_&&n&&!n.defaultPrevented&&console.warn(`Unhandled rejection: ${e.stack||e}`)}catch(e){}}var c$=cn.reject;let cI="3.2.7",cL=String.fromCharCode(65535),cF=-1/0,cB="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",cV="String expected.",cU=[],cW="u">typeof navigator&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),cz=e=>!/(dexie\.js|dexie\.min\.js)/.test(e),cK="__dbnames",cH="readonly",cG="readwrite";function cq(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}let cY={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function cZ(e){return"string"!=typeof e||/\./.test(e)?e=>e:t=>(void 0===t[e]&&e in t&&delete(t=uf(t))[e],t)}class cJ{_trans(e,t,r){let n=this._tx||u8.trans,o=this.name;function i(e,r,n){if(!n.schema[o])throw new uA.NotFound("Table "+o+" not part of transaction");return t(n.idbtrans,n)}let a=cp();try{return n&&n.db===this.db?n===u8.trans?n._promise(e,i,r):cE(()=>n._promise(e,i,r),{trans:n,transless:u8.transless||u8}):function e(t,r,n,o){if(t.idbdb&&(t._state.openComplete||u8.letThrough||t._vip)){var i=t._createTransaction(r,n,t._dbSchema);try{i.create(),t._state.PR1398_maxLoop=3}catch(i){return i.name===uN.InvalidState&&t.isOpen()&&--t._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),t._close(),t.open().then(()=>e(t,r,n,o))):c$(i)}return i._promise(r,(e,t)=>cE(()=>(u8.trans=i,o(e,t,i)))).then(e=>i._completion.then(()=>e))}if(t._state.openComplete)return c$(new uA.DatabaseClosed(t._state.dbOpenError));if(!t._state.isBeingOpened){if(!t._options.autoOpen)return c$(new uA.DatabaseClosed);t.open().catch(uI)}return t._state.dbReadyPromise.then(()=>e(t,r,n,o))}(this.db,e,[this.name],i)}finally{a&&cf()}}get(e,t){return e&&e.constructor===Object?this.where(e).first(t):this._trans("readonly",t=>this.core.get({trans:t,key:e}).then(e=>this.hook.reading.fire(e))).then(t)}where(e){if("string"==typeof e)return new this.db.WhereClause(this,e);if(lX(e))return new this.db.WhereClause(this,`[${e.join("+")}]`);let t=lJ(e);if(1===t.length)return this.where(t[0]).equals(e[t[0]]);let r=this.schema.indexes.concat(this.schema.primKey).filter(e=>{if(e.compound&&t.every(t=>e.keyPath.indexOf(t)>=0)){for(let r=0;r<t.length;++r)if(-1===t.indexOf(e.keyPath[r]))return!1;return!0}return!1}).sort((e,t)=>e.keyPath.length-t.keyPath.length)[0];if(r&&this.db._maxKey!==cL){let n=r.keyPath.slice(0,t.length);return this.where(n).equals(n.map(t=>e[t]))}!r&&u_&&console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${t.join("+")}]`);let{idxByName:n}=this.schema,o=this.db._deps.indexedDB;function i(e,t){try{return 0===o.cmp(e,t)}catch(e){return!1}}let[a,s]=t.reduce(([t,r],o)=>{let a=n[o],s=e[o];return[t||a,t||!a?cq(r,a&&a.multi?e=>{let t=ui(e,o);return lX(t)&&t.some(e=>i(s,e))}:e=>i(s,ui(e,o))):r]},[null,null]);return a?this.where(a.name).equals(e[a.keyPath]).filter(s):r?this.filter(s):this.where(t).equals("")}filter(e){return this.toCollection().and(e)}count(e){return this.toCollection().count(e)}offset(e){return this.toCollection().offset(e)}limit(e){return this.toCollection().limit(e)}each(e){return this.toCollection().each(e)}toArray(e){return this.toCollection().toArray(e)}toCollection(){return new this.db.Collection(new this.db.WhereClause(this))}orderBy(e){return new this.db.Collection(new this.db.WhereClause(this,lX(e)?`[${e.join("+")}]`:e))}reverse(){return this.toCollection().reverse()}mapToClass(e){this.schema.mappedClass=e;let t=t=>{if(!t)return t;let r=Object.create(e.prototype);for(var n in t)if(l2(t,n))try{r[n]=t[n]}catch(e){}return r};return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=t,this.hook("reading",t),e}defineClass(){return this.mapToClass(function(e){lQ(this,e)})}add(e,t){let{auto:r,keyPath:n}=this.schema.primKey,o=e;return n&&r&&(o=cZ(n)(e)),this._trans("readwrite",e=>this.core.mutate({trans:e,type:"add",keys:null!=t?[t]:null,values:[o]})).then(e=>e.numFailures?cn.reject(e.failures[0]):e.lastResult).then(t=>{if(n)try{ua(e,n,t)}catch(e){}return t})}update(e,t){if("object"!=typeof e||lX(e))return this.where(":id").equals(e).modify(t);{let r=ui(e,this.schema.primKey.keyPath);if(void 0===r)return c$(new uA.InvalidArgument("Given object does not contain its primary key"));try{"function"!=typeof t?lJ(t).forEach(r=>{ua(e,r,t[r])}):t(e,{value:e,primKey:r})}catch(e){}return this.where(":id").equals(r).modify(t)}}put(e,t){let{auto:r,keyPath:n}=this.schema.primKey,o=e;return n&&r&&(o=cZ(n)(e)),this._trans("readwrite",e=>this.core.mutate({trans:e,type:"put",values:[o],keys:null!=t?[t]:null})).then(e=>e.numFailures?cn.reject(e.failures[0]):e.lastResult).then(t=>{if(n)try{ua(e,n,t)}catch(e){}return t})}delete(e){return this._trans("readwrite",t=>this.core.mutate({trans:t,type:"delete",keys:[e]})).then(e=>e.numFailures?cn.reject(e.failures[0]):void 0)}clear(){return this._trans("readwrite",e=>this.core.mutate({trans:e,type:"deleteRange",range:cY})).then(e=>e.numFailures?cn.reject(e.failures[0]):void 0)}bulkGet(e){return this._trans("readonly",t=>this.core.getMany({keys:e,trans:t}).then(e=>e.map(e=>this.hook.reading.fire(e))))}bulkAdd(e,t,r){let n=Array.isArray(t)?t:void 0,o=(r=r||(n?void 0:t))?r.allKeys:void 0;return this._trans("readwrite",t=>{let{auto:r,keyPath:i}=this.schema.primKey;if(i&&n)throw new uA.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(n&&n.length!==e.length)throw new uA.InvalidArgument("Arguments objects and keys must have the same length");let a=e.length,s=i&&r?e.map(cZ(i)):e;return this.core.mutate({trans:t,type:"add",keys:n,values:s,wantResults:o}).then(({numFailures:e,results:t,lastResult:r,failures:n})=>{if(0===e)return o?t:r;throw new uR(`${this.name}.bulkAdd(): ${e} of ${a} operations failed`,n)})})}bulkPut(e,t,r){let n=Array.isArray(t)?t:void 0,o=(r=r||(n?void 0:t))?r.allKeys:void 0;return this._trans("readwrite",t=>{let{auto:r,keyPath:i}=this.schema.primKey;if(i&&n)throw new uA.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(n&&n.length!==e.length)throw new uA.InvalidArgument("Arguments objects and keys must have the same length");let a=e.length,s=i&&r?e.map(cZ(i)):e;return this.core.mutate({trans:t,type:"put",keys:n,values:s,wantResults:o}).then(({numFailures:e,results:t,lastResult:r,failures:n})=>{if(0===e)return o?t:r;throw new uR(`${this.name}.bulkPut(): ${e} of ${a} operations failed`,n)})})}bulkDelete(e){let t=e.length;return this._trans("readwrite",t=>this.core.mutate({trans:t,type:"delete",keys:e})).then(({numFailures:e,lastResult:r,failures:n})=>{if(0===e)return r;throw new uR(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`,n)})}}function cX(e){var t={},r=function(r,n){if(n){for(var o=arguments.length,i=Array(o-1);--o;)i[o-1]=arguments[o];return t[r].subscribe.apply(null,i),e}if("string"==typeof r)return t[r]};r.addEventType=i;for(var n=1,o=arguments.length;n<o;++n)i(arguments[n]);return r;function i(e,n,o){if("object"!=typeof e){n||(n=uz),o||(o=uI);var a={subscribers:[],fire:o,subscribe:function(e){-1===a.subscribers.indexOf(e)&&(a.subscribers.push(e),a.fire=n(a.fire,e))},unsubscribe:function(e){a.subscribers=a.subscribers.filter(function(t){return t!==e}),a.fire=a.subscribers.reduce(n,o)}};return t[e]=r[e]=a,a}lJ(e).forEach(function(t){var r=e[t];if(lX(r))i(t,e[t][0],e[t][1]);else{if("asap"!==r)throw new uA.InvalidArgument("Invalid event config");var n=i(t,uL,function(){for(var e=arguments.length,t=Array(e);e--;)t[e]=arguments[e];n.subscribers.forEach(function(e){un(function(){e.apply(null,t)})})})}})}}function cQ(e,t){return l5(t).from({prototype:e}),t}function c0(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function c1(e,t){e.filter=cq(e.filter,t)}function c2(e,t,r){var n=e.replayFilter;e.replayFilter=n?()=>cq(n(),t()):t,e.justLimit=r&&!n}function c4(e,t){if(e.isPrimKey)return t.primaryKey;let r=t.getIndexByKeyPath(e.index);if(!r)throw new uA.Schema("KeyPath "+e.index+" on object store "+t.name+" is not indexed");return r}function c3(e,t,r){let n=c4(e,t.schema);return t.openCursor({trans:r,values:!e.keysOnly,reverse:"prev"===e.dir,unique:!!e.unique,query:{index:n,range:e.range}})}function c6(e,t,r,n){let o=e.replayFilter?cq(e.filter,e.replayFilter()):e.filter;if(e.or){let i={},a=(e,r,n)=>{if(!o||o(r,n,e=>r.stop(e),e=>r.fail(e))){var a=r.primaryKey,s=""+a;"[object ArrayBuffer]"===s&&(s=""+new Uint8Array(a)),l2(i,s)||(i[s]=!0,t(e,r,n))}};return Promise.all([e.or._iterate(a,r),c5(c3(e,n,r),e.algorithm,a,!e.keysOnly&&e.valueMapper)])}return c5(c3(e,n,r),cq(e.algorithm,o),t,!e.keysOnly&&e.valueMapper)}function c5(e,t,r,n){var o=cy(n?(e,t,o)=>r(n(e),t,o):r);return e.then(e=>{if(e)return e.start(()=>{var r=()=>e.continue();t&&!t(e,e=>r=e,t=>{e.stop(t),r=uI},t=>{e.fail(t),r=uI})||o(e.value,e,e=>r=e),r()})})}function c9(e,t){try{let r=c7(e),n=c7(t);if(r!==n)return"Array"===r?1:"Array"===n?-1:"binary"===r?1:"binary"===n?-1:"string"===r?1:"string"===n?-1:"Date"===r?1:"Date"!==n?NaN:-1;switch(r){case"number":case"Date":case"string":return e>t?1:e<t?-1:0;case"binary":return function(e,t){let r=e.length,n=t.length,o=r<n?r:n;for(let r=0;r<o;++r)if(e[r]!==t[r])return e[r]<t[r]?-1:1;return r===n?0:r<n?-1:1}(c8(e),c8(t));case"Array":return function(e,t){let r=e.length,n=t.length,o=r<n?r:n;for(let r=0;r<o;++r){let n=c9(e[r],t[r]);if(0!==n)return n}return r===n?0:r<n?-1:1}(e,t)}}catch(e){}return NaN}function c7(e){let t=typeof e;if("object"!==t)return t;if(ArrayBuffer.isView(e))return"binary";let r=um(e);return"ArrayBuffer"===r?"binary":r}function c8(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}class de{_read(e,t){var r=this._ctx;return r.error?r.table._trans(null,c$.bind(null,r.error)):r.table._trans("readonly",e).then(t)}_write(e){var t=this._ctx;return t.error?t.table._trans(null,c$.bind(null,t.error)):t.table._trans("readwrite",e,"locked")}_addAlgorithm(e){var t=this._ctx;t.algorithm=cq(t.algorithm,e)}_iterate(e,t){return c6(this._ctx,e,t,this._ctx.table.core)}clone(e){var t=Object.create(this.constructor.prototype),r=Object.create(this._ctx);return e&&lQ(r,e),t._ctx=r,t}raw(){return this._ctx.valueMapper=null,this}each(e){var t=this._ctx;return this._read(r=>c6(t,e,r,t.table.core))}count(e){return this._read(e=>{let t=this._ctx,r=t.table.core;if(c0(t,!0))return r.count({trans:e,query:{index:c4(t,r.schema),range:t.range}}).then(e=>Math.min(e,t.limit));var n=0;return c6(t,()=>(++n,!1),e,r).then(()=>n)}).then(e)}sortBy(e,t){let r=e.split(".").reverse(),n=r[0],o=r.length-1;function i(e,t){return t?i(e[r[t]],t-1):e[n]}var a="next"===this._ctx.dir?1:-1;function s(e,t){var r=i(e,o),n=i(t,o);return r<n?-a:r>n?a:0}return this.toArray(function(e){return e.sort(s)}).then(t)}toArray(e){return this._read(e=>{var t=this._ctx;if("next"===t.dir&&c0(t,!0)&&t.limit>0){let{valueMapper:r}=t,n=c4(t,t.table.core.schema);return t.table.core.query({trans:e,limit:t.limit,values:!0,query:{index:n,range:t.range}}).then(({result:e})=>r?e.map(r):e)}{let r=[];return c6(t,e=>r.push(e),e,t.table.core).then(()=>r)}},e)}offset(e){var t=this._ctx;return e<=0||(t.offset+=e,c0(t)?c2(t,()=>{var t=e;return(e,r)=>0===t||(1===t?--t:r(()=>{e.advance(t),t=0}),!1)}):c2(t,()=>{var t=e;return()=>--t<0})),this}limit(e){return this._ctx.limit=Math.min(this._ctx.limit,e),c2(this._ctx,()=>{var t=e;return function(e,r,n){return--t<=0&&r(n),t>=0}},!0),this}until(e,t){return c1(this._ctx,function(r,n,o){return!e(r.value)||(n(o),t)}),this}first(e){return this.limit(1).toArray(function(e){return e[0]}).then(e)}last(e){return this.reverse().first(e)}filter(e){var t;return c1(this._ctx,function(t){return e(t.value)}),(t=this._ctx).isMatch=cq(t.isMatch,e),this}and(e){return this.filter(e)}or(e){return new this.db.WhereClause(this._ctx.table,e,this)}reverse(){return this._ctx.dir="prev"===this._ctx.dir?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this}desc(){return this.reverse()}eachKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each(function(t,r){e(r.key,r)})}eachUniqueKey(e){return this._ctx.unique="unique",this.eachKey(e)}eachPrimaryKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each(function(t,r){e(r.primaryKey,r)})}keys(e){var t=this._ctx;t.keysOnly=!t.isMatch;var r=[];return this.each(function(e,t){r.push(t.key)}).then(function(){return r}).then(e)}primaryKeys(e){var t=this._ctx;if("next"===t.dir&&c0(t,!0)&&t.limit>0)return this._read(e=>{var r=c4(t,t.table.core.schema);return t.table.core.query({trans:e,values:!1,limit:t.limit,query:{index:r,range:t.range}})}).then(({result:e})=>e).then(e);t.keysOnly=!t.isMatch;var r=[];return this.each(function(e,t){r.push(t.primaryKey)}).then(function(){return r}).then(e)}uniqueKeys(e){return this._ctx.unique="unique",this.keys(e)}firstKey(e){return this.limit(1).keys(function(e){return e[0]}).then(e)}lastKey(e){return this.reverse().firstKey(e)}distinct(){var e=this._ctx,t=e.index&&e.table.schema.idxByName[e.index];if(!t||!t.multi)return this;var r={};return c1(this._ctx,function(e){var t=e.primaryKey.toString(),n=l2(r,t);return r[t]=!0,!n}),this}modify(e){var t=this._ctx;return this._write(r=>{var n;if("function"==typeof e)n=e;else{var o=lJ(e),i=o.length;n=function(t){for(var r=!1,n=0;n<i;++n){var a=o[n],s=e[a];ui(t,a)!==s&&(ua(t,a,s),r=!0)}return r}}let a=t.table.core,{outbound:s,extractKey:l}=a.schema.primaryKey,u=this.db._options.modifyChunkSize||200,c=[],d=0,p=[],f=(e,t)=>{let{failures:r,numFailures:n}=t;for(let t of(d+=e-n,lJ(r)))c.push(r[t])};return this.clone().primaryKeys().then(o=>{let i=c=>{let d=Math.min(u,o.length-c);return a.getMany({trans:r,keys:o.slice(c,c+d),cache:"immutable"}).then(p=>{let h=[],m=[],y=s?[]:null,g=[];for(let e=0;e<d;++e){let t=p[e],r={value:uf(t),primKey:o[c+e]};!1!==n.call(r,r.value,r)&&(null==r.value?g.push(o[c+e]):s||0===c9(l(t),l(r.value))?(m.push(r.value),s&&y.push(o[c+e])):(g.push(o[c+e]),h.push(r.value)))}let b=c0(t)&&t.limit===1/0&&("function"!=typeof e||e===dt)&&{index:t.index,range:t.range};return Promise.resolve(h.length>0&&a.mutate({trans:r,type:"add",values:h}).then(e=>{for(let t in e.failures)g.splice(parseInt(t),1);f(h.length,e)})).then(()=>(m.length>0||b&&"object"==typeof e)&&a.mutate({trans:r,type:"put",keys:y,values:m,criteria:b,changeSpec:"function"!=typeof e&&e}).then(e=>f(m.length,e))).then(()=>(g.length>0||b&&e===dt)&&a.mutate({trans:r,type:"delete",keys:g,criteria:b}).then(e=>f(g.length,e))).then(()=>o.length>c+d&&i(c+u))})};return i(0).then(()=>{if(c.length>0)throw new uT("Error modifying one or more objects",c,d,p);return o.length})})})}delete(){var e=this._ctx,t=e.range;return c0(e)&&(e.isPrimKey&&!cW||3===t.type)?this._write(r=>{let{primaryKey:n}=e.table.core.schema;return e.table.core.count({trans:r,query:{index:n,range:t}}).then(n=>e.table.core.mutate({trans:r,type:"deleteRange",range:t}).then(({failures:e,lastResult:t,results:r,numFailures:o})=>{if(o)throw new uT("Could not delete some values",Object.keys(e).map(t=>e[t]),n-o);return n-o}))}):this.modify(dt)}}let dt=(e,t)=>t.value=null;function dr(e,t){return e<t?-1:+(e!==t)}function dn(e,t){return e>t?-1:+(e!==t)}function di(e,t,r){var n=e instanceof dc?new e.Collection(e):e;return n._ctx.error=r?new r(t):TypeError(t),n}function da(e){return new e.Collection(e,()=>du("")).limit(0)}function ds(e,t,r,n){var o,i,a,s,l,u,c,d=r.length;if(!r.every(e=>"string"==typeof e))return di(e,cV);function p(e){o="next"===e?e=>e.toUpperCase():e=>e.toLowerCase(),i="next"===e?e=>e.toLowerCase():e=>e.toUpperCase(),a="next"===e?dr:dn;var t=r.map(function(e){return{lower:i(e),upper:o(e)}}).sort(function(e,t){return a(e.lower,t.lower)});s=t.map(function(e){return e.upper}),l=t.map(function(e){return e.lower}),u=e,c="next"===e?"":n}p("next");var f=new e.Collection(e,()=>dl(s[0],l[d-1]+n));f._ondirectionchange=function(e){p(e)};var h=0;return f._addAlgorithm(function(e,r,n){var o=e.key;if("string"!=typeof o)return!1;var p=i(o);if(t(p,l,h))return!0;for(var f=null,m=h;m<d;++m){var y=function(e,t,r,n,o,i){for(var a=Math.min(e.length,n.length),s=-1,l=0;l<a;++l){var u=t[l];if(u!==n[l])return 0>o(e[l],r[l])?e.substr(0,l)+r[l]+r.substr(l+1):0>o(e[l],n[l])?e.substr(0,l)+n[l]+r.substr(l+1):s>=0?e.substr(0,s)+t[s]+r.substr(s+1):null;0>o(e[l],u)&&(s=l)}return a<n.length&&"next"===i?e+r.substr(e.length):a<e.length&&"prev"===i?e.substr(0,r.length):s<0?null:e.substr(0,s)+n[s]+r.substr(s+1)}(o,p,s[m],l[m],a,u);null===y&&null===f?h=m+1:(null===f||a(f,y)>0)&&(f=y)}return r(null!==f?function(){e.continue(f+c)}:n),!1}),f}function dl(e,t,r,n){return{type:2,lower:e,upper:t,lowerOpen:r,upperOpen:n}}function du(e){return{type:1,lower:e,upper:e}}class dc{get Collection(){return this._ctx.table.db.Collection}between(e,t,r,n){r=!1!==r,n=!0===n;try{return this._cmp(e,t)>0||0===this._cmp(e,t)&&(r||n)&&(!r||!n)?da(this):new this.Collection(this,()=>dl(e,t,!r,!n))}catch(e){return di(this,cB)}}equals(e){return null==e?di(this,cB):new this.Collection(this,()=>du(e))}above(e){return null==e?di(this,cB):new this.Collection(this,()=>dl(e,void 0,!0))}aboveOrEqual(e){return null==e?di(this,cB):new this.Collection(this,()=>dl(e,void 0,!1))}below(e){return null==e?di(this,cB):new this.Collection(this,()=>dl(void 0,e,!1,!0))}belowOrEqual(e){return null==e?di(this,cB):new this.Collection(this,()=>dl(void 0,e))}startsWith(e){return"string"!=typeof e?di(this,cV):this.between(e,e+cL,!0,!0)}startsWithIgnoreCase(e){return""===e?this.startsWith(e):ds(this,(e,t)=>0===e.indexOf(t[0]),[e],cL)}equalsIgnoreCase(e){return ds(this,(e,t)=>e===t[0],[e],"")}anyOfIgnoreCase(){var e=uv.apply(ub,arguments);return 0===e.length?da(this):ds(this,(e,t)=>-1!==t.indexOf(e),e,"")}startsWithAnyOfIgnoreCase(){var e=uv.apply(ub,arguments);return 0===e.length?da(this):ds(this,(e,t)=>t.some(t=>0===e.indexOf(t)),e,cL)}anyOf(){let e=uv.apply(ub,arguments),t=this._cmp;try{e.sort(t)}catch(e){return di(this,cB)}if(0===e.length)return da(this);let r=new this.Collection(this,()=>dl(e[0],e[e.length-1]));r._ondirectionchange=r=>{t="next"===r?this._ascending:this._descending,e.sort(t)};let n=0;return r._addAlgorithm((r,o,i)=>{let a=r.key;for(;t(a,e[n])>0;)if(++n===e.length)return o(i),!1;return 0===t(a,e[n])||(o(()=>{r.continue(e[n])}),!1)}),r}notEqual(e){return this.inAnyRange([[cF,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){let e=uv.apply(ub,arguments);if(0===e.length)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return di(this,cB)}let t=e.reduce((e,t)=>e?e.concat([[e[e.length-1][1],t]]):[[cF,t]],null);return t.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(t,{includeLowers:!1,includeUppers:!1})}inAnyRange(e,t){let r=this._cmp,n=this._ascending,o=this._descending,i=this._min,a=this._max;if(0===e.length)return da(this);if(!e.every(e=>void 0!==e[0]&&void 0!==e[1]&&0>=n(e[0],e[1])))return di(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",uA.InvalidArgument);let s=!t||!1!==t.includeLowers,l=t&&!0===t.includeUppers,u,c=n;function d(e,t){return c(e[0],t[0])}try{(u=e.reduce(function(e,t){let n=0,o=e.length;for(;n<o;++n){let o=e[n];if(0>r(t[0],o[1])&&r(t[1],o[0])>0){o[0]=i(o[0],t[0]),o[1]=a(o[1],t[1]);break}}return n===o&&e.push(t),e},[])).sort(d)}catch(e){return di(this,cB)}let p=0,f=l?e=>n(e,u[p][1])>0:e=>n(e,u[p][1])>=0,h=s?e=>o(e,u[p][0])>0:e=>o(e,u[p][0])>=0,m=f,y=new this.Collection(this,()=>dl(u[0][0],u[u.length-1][1],!s,!l));return y._ondirectionchange=e=>{"next"===e?(m=f,c=n):(m=h,c=o),u.sort(d)},y._addAlgorithm((e,t,r)=>{for(var o=e.key;m(o);)if(++p===u.length)return t(r),!1;return!!(!f(o)&&!h(o))||(0===this._cmp(o,u[p][1])||0===this._cmp(o,u[p][0])||t(()=>{c===n?e.continue(u[p][0]):e.continue(u[p][1])}),!1)}),y}startsWithAnyOf(){let e=uv.apply(ub,arguments);return e.every(e=>"string"==typeof e)?0===e.length?da(this):this.inAnyRange(e.map(e=>[e,e+cL])):di(this,"startsWithAnyOf() only works with strings")}}function dd(e){return cy(function(t){return dp(t),e(t.target.error),!1})}function dp(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}let df="storagemutated",dh="x-storagemutated-1",dm=cX(null,df);class dy{_lock(){return ur(!u8.global),++this._reculock,1!==this._reculock||u8.global||(u8.lockOwnerFor=this),this}_unlock(){if(ur(!u8.global),0==--this._reculock)for(u8.global||(u8.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{cT(e[1],e[0])}catch(e){}}return this}_locked(){return this._reculock&&u8.lockOwnerFor!==this}create(e){if(!this.mode)return this;let t=this.db.idbdb,r=this.db._state.dbOpenError;if(ur(!this.idbtrans),!e&&!t)switch(r&&r.name){case"DatabaseClosedError":throw new uA.DatabaseClosed(r);case"MissingAPIError":throw new uA.MissingAPI(r.message,r);default:throw new uA.OpenFailed(r)}if(!this.active)throw new uA.TransactionInactive;return ur(null===this._completion._state),(e=this.idbtrans=e||(this.db.core?this.db.core.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}):t.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}))).onerror=cy(t=>{dp(t),this._reject(e.error)}),e.onabort=cy(t=>{dp(t),this.active&&this._reject(new uA.Abort(e.error)),this.active=!1,this.on("abort").fire(t)}),e.oncomplete=cy(()=>{this.active=!1,this._resolve(),"mutatedParts"in e&&dm.storagemutated.fire(e.mutatedParts)}),this}_promise(e,t,r){if("readwrite"===e&&"readwrite"!==this.mode)return c$(new uA.ReadOnly("Transaction is readonly"));if(!this.active)return c$(new uA.TransactionInactive);if(this._locked())return new cn((n,o)=>{this._blockedFuncs.push([()=>{this._promise(e,t,r).then(n,o)},u8])});if(r)return cE(()=>{var e=new cn((e,r)=>{this._lock();let n=t(e,r,this);n&&n.then&&n.then(e,r)});return e.finally(()=>this._unlock()),e._lib=!0,e});var n=new cn((e,r)=>{var n=t(e,r,this);n&&n.then&&n.then(e,r)});return n._lib=!0,n}_root(){return this.parent?this.parent._root():this}waitFor(e){var t=this._root();let r=cn.resolve(e);if(t._waitingFor)t._waitingFor=t._waitingFor.then(()=>r);else{t._waitingFor=r,t._waitingQueue=[];var n=t.idbtrans.objectStore(t.storeNames[0]);!function e(){for(++t._spinCount;t._waitingQueue.length;)t._waitingQueue.shift()();t._waitingFor&&(n.get(-1/0).onsuccess=e)}()}var o=t._waitingFor;return new cn((e,n)=>{r.then(r=>t._waitingQueue.push(cy(e.bind(null,r))),e=>t._waitingQueue.push(cy(n.bind(null,e)))).finally(()=>{t._waitingFor===o&&(t._waitingFor=null)})})}abort(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new uA.Abort))}table(e){let t=this._memoizedTables||(this._memoizedTables={});if(l2(t,e))return t[e];let r=this.schema[e];if(!r)throw new uA.NotFound("Table "+e+" not part of transaction");let n=new this.db.Table(e,r,this);return n.core=this.db.core.table(e),t[e]=n,n}}function dg(e,t,r,n,o,i,a){return{name:e,keyPath:t,unique:r,multi:n,auto:o,compound:i,src:(r&&!a?"&":"")+(n?"*":"")+(o?"++":"")+db(t)}}function db(e){return"string"==typeof e?e:e?"["+[].join.call(e,"+")+"]":""}function dv(e,t,r){return{name:e,primKey:t,indexes:r,mappedClass:null,idxByName:uo(r,e=>[e.name,e])}}let dw=e=>{try{return e.only([[]]),dw=()=>[[]],[[]]}catch(e){return dw=()=>cL,cL}};function d_(e){return null==e?()=>{}:"string"==typeof e?1===e.split(".").length?t=>t[e]:t=>ui(t,e):t=>ui(t,e)}function dx(e){return[].slice.call(e)}let dE=0;function dS(e){return null==e?":id":"string"==typeof e?e:`[${e.join("+")}]`}function dD({_novip:e},t){let r=t.db,n=function(e,t,{IDBKeyRange:r,indexedDB:n},o){var i;return{dbcore:(i=function(e,t,r){let n;function o(e){if(3===e.type)return null;if(4===e.type)throw Error("Cannot convert never type to IDBKeyRange");let{lower:r,upper:n,lowerOpen:o,upperOpen:i}=e;return void 0===r?void 0===n?null:t.upperBound(n,!!i):void 0===n?t.lowerBound(r,!!o):t.bound(r,n,!!o,!!i)}let{schema:i,hasGetAll:a}=(n=dx(e.objectStoreNames),{schema:{name:e.name,tables:n.map(e=>r.objectStore(e)).map(e=>{let{keyPath:t,autoIncrement:r}=e,n=lX(t),o=null==t,i={},a={name:e.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:o,compound:n,keyPath:t,autoIncrement:r,unique:!0,extractKey:d_(t)},indexes:dx(e.indexNames).map(t=>e.index(t)).map(e=>{let{name:t,unique:r,multiEntry:n,keyPath:o}=e,a={name:t,compound:lX(o),keyPath:o,unique:r,multiEntry:n,extractKey:d_(o)};return i[dS(o)]=a,a}),getIndexByKeyPath:e=>i[dS(e)]};return i[":id"]=a.primaryKey,null!=t&&(i[dS(t)]=a.primaryKey),a})},hasGetAll:n.length>0&&"getAll"in r.objectStore(n[0])&&!("u">typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}),s=i.tables.map(e=>{let t;return{name:t=e.name,schema:e,mutate:function({trans:e,type:r,keys:n,values:i,range:a}){return new Promise((s,l)=>{let u;s=cy(s);let c=e.objectStore(t),d=null==c.keyPath,p="put"===r||"add"===r;if(!p&&"delete"!==r&&"deleteRange"!==r)throw Error("Invalid operation type: "+r);let{length:f}=n||i||{length:1};if(n&&i&&n.length!==i.length)throw Error("Given keys array must have same length as given values array.");if(0===f)return s({numFailures:0,failures:{},results:[],lastResult:void 0});let h=[],m=[],y=0,g=e=>{++y,dp(e)};if("deleteRange"===r){if(4===a.type)return s({numFailures:y,failures:m,results:[],lastResult:void 0});3===a.type?h.push(u=c.clear()):h.push(u=c.delete(o(a)))}else{let[e,t]=p?d?[i,n]:[i,null]:[n,null];if(p)for(let n=0;n<f;++n)h.push(u=t&&void 0!==t[n]?c[r](e[n],t[n]):c[r](e[n])),u.onerror=g;else for(let t=0;t<f;++t)h.push(u=c[r](e[t])),u.onerror=g}let b=e=>{let t=e.target.result;h.forEach((e,t)=>null!=e.error&&(m[t]=e.error)),s({numFailures:y,failures:m,results:"delete"===r?n:h.map(e=>e.result),lastResult:t})};u.onerror=e=>{g(e),b(e)},u.onsuccess=b})},getMany:({trans:e,keys:r})=>new Promise((n,o)=>{n=cy(n);let i=e.objectStore(t),a=r.length,s=Array(a),l,u=0,c=0,d=e=>{let t=e.target;s[t._pos]=t.result,++c===u&&n(s)},p=dd(o);for(let e=0;e<a;++e)null!=r[e]&&((l=i.get(r[e]))._pos=e,l.onsuccess=d,l.onerror=p,++u);0===u&&n(s)}),get:({trans:e,key:r})=>new Promise((n,o)=>{n=cy(n);let i=e.objectStore(t).get(r);i.onsuccess=e=>n(e.target.result),i.onerror=dd(o)}),query:e=>new Promise((r,n)=>{r=cy(r);let{trans:i,values:s,limit:l,query:u}=e,c=l===1/0?void 0:l,{index:d,range:p}=u,f=i.objectStore(t),h=d.isPrimaryKey?f:f.index(d.name),m=o(p);if(0===l)return r({result:[]});if(a){let e=s?h.getAll(m,c):h.getAllKeys(m,c);e.onsuccess=e=>r({result:e.target.result}),e.onerror=dd(n)}else{let e=0,t=!s&&"openKeyCursor"in h?h.openKeyCursor(m):h.openCursor(m),o=[];t.onsuccess=n=>{let i=t.result;return i?(o.push(s?i.value:i.primaryKey),++e===l?r({result:o}):void i.continue()):r({result:o})},t.onerror=dd(n)}}),openCursor:function({trans:e,values:r,query:n,reverse:i,unique:a}){return new Promise((s,l)=>{s=cy(s);let{index:u,range:c}=n,d=e.objectStore(t),p=u.isPrimaryKey?d:d.index(u.name),f=i?a?"prevunique":"prev":a?"nextunique":"next",h=!r&&"openKeyCursor"in p?p.openKeyCursor(o(c),f):p.openCursor(o(c),f);h.onerror=dd(l),h.onsuccess=cy(t=>{let r=h.result;if(!r)return void s(null);r.___id=++dE,r.done=!1;let n=r.continue.bind(r),o=r.continuePrimaryKey;o&&(o=o.bind(r));let i=r.advance.bind(r),a=()=>{throw Error("Cursor not stopped")};r.trans=e,r.stop=r.continue=r.continuePrimaryKey=r.advance=()=>{throw Error("Cursor not started")},r.fail=cy(l),r.next=function(){let e=1;return this.start(()=>e--?this.continue():this.stop()).then(()=>this)},r.start=e=>{let t=new Promise((e,t)=>{e=cy(e),h.onerror=dd(t),r.fail=t,r.stop=t=>{r.stop=r.continue=r.continuePrimaryKey=r.advance=a,e(t)}}),s=()=>{if(h.result)try{e()}catch(e){r.fail(e)}else r.done=!0,r.start=()=>{throw Error("Cursor behind last entry")},r.stop()};return h.onsuccess=cy(e=>{h.onsuccess=s,s()}),r.continue=n,r.continuePrimaryKey=o,r.advance=i,s(),t},s(r)},l)})},count({query:e,trans:r}){let{index:n,range:i}=e;return new Promise((e,a)=>{let s=r.objectStore(t),l=n.isPrimaryKey?s:s.index(n.name),u=o(i),c=u?l.count(u):l.count();c.onsuccess=cy(t=>e(t.target.result)),c.onerror=dd(a)})}}}),l={};return s.forEach(e=>l[e.name]=e),{stack:"dbcore",transaction:e.transaction.bind(e),table(e){if(!l[e])throw Error(`Table '${e}' not found`);return l[e]},MIN_KEY:-1/0,MAX_KEY:dw(t),schema:i}}(t,r,o),e.dbcore.reduce((e,{create:t})=>({...e,...t(e)}),i))}}(e._middlewares,r,e._deps,t);e.core=n.dbcore,e.tables.forEach(t=>{let r=t.name;e.core.schema.tables.some(e=>e.name===r)&&(t.core=e.core.table(r),e[r]instanceof e.Table&&(e[r].core=t.core))})}function dO({_novip:e},t,r,n){r.forEach(r=>{let o=n[r];t.forEach(t=>{let n=l7(t,r);(!n||"value"in n&&void 0===n.value)&&(t===e.Transaction.prototype||t instanceof e.Transaction?l6(t,r,{get(){return this.table(r)},set(e){l3(this,r,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):t[r]=new e.Table(r,o))})})}function dP({_novip:e},t){t.forEach(t=>{for(let r in t)t[r]instanceof e.Table&&delete t[r]})}function dC(e,t){return e._cfg.version-t._cfg.version}function dk(e,t){let r,n={del:[],add:[],change:[]};for(r in e)t[r]||n.del.push(r);for(r in t){let o=e[r],i=t[r];if(o){let e={name:r,def:i,recreate:!1,del:[],add:[],change:[]};if(""+(o.primKey.keyPath||"")==""+(i.primKey.keyPath||"")&&(o.primKey.auto===i.primKey.auto||cW)){let t,r=o.idxByName,a=i.idxByName;for(t in r)a[t]||e.del.push(t);for(t in a){let n=r[t],o=a[t];n?n.src!==o.src&&e.change.push(o):e.add.push(o)}(e.del.length>0||e.add.length>0||e.change.length>0)&&n.change.push(e)}else e.recreate=!0,n.change.push(e)}else n.add.push([r,i])}return n}function dj(e,t,r,n){let o=e.db.createObjectStore(t,r.keyPath?{keyPath:r.keyPath,autoIncrement:r.auto}:{autoIncrement:r.auto});return n.forEach(e=>dT(o,e)),o}function dT(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function dR(e,t,r){let n={};return ue(t.objectStoreNames,0).forEach(e=>{let t=r.objectStore(e),o=t.keyPath,i=dg(db(o),o||"",!1,!1,!!t.autoIncrement,o&&"string"!=typeof o,!0),a=[];for(let e=0;e<t.indexNames.length;++e){let r=t.index(t.indexNames[e]);o=r.keyPath;var s=dg(r.name,o,!!r.unique,!!r.multiEntry,!1,o&&"string"!=typeof o,!1);a.push(s)}n[e]=dv(e,i,a)}),n}function dN({_novip:e},t,r){let n=r.db.objectStoreNames;for(let o=0;o<n.length;++o){let i=n[o],a=r.objectStore(i);e._hasGetAll="getAll"in a;for(let e=0;e<a.indexNames.length;++e){let r=a.indexNames[e],n=a.index(r).keyPath,o="string"==typeof n?n:"["+ue(n).join("+")+"]";if(t[i]){let e=t[i].idxByName[o];e&&(e.name=r,delete t[i].idxByName[o],t[i].idxByName[r]=e)}}}"u">typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&lZ.WorkerGlobalScope&&lZ instanceof lZ.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}class dA{_parseStoresSpec(e,t){lJ(e).forEach(r=>{if(null!==e[r]){var n=e[r].split(",").map((e,t)=>{let r=(e=e.trim()).replace(/([&*]|\+\+)/g,""),n=/^\[/.test(r)?r.match(/^\[(.*)\]$/)[1].split("+"):r;return dg(r,n||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),lX(n),0===t)}),o=n.shift();if(o.multi)throw new uA.Schema("Primary key cannot be multi-valued");n.forEach(e=>{if(e.auto)throw new uA.Schema("Only primary key can be marked as autoIncrement (++)");if(!e.keyPath)throw new uA.Schema("Index must have a name and cannot be an empty string")}),t[r]=dv(r,o,n)}})}stores(e){let t=this.db;this._cfg.storesSource=this._cfg.storesSource?lQ(this._cfg.storesSource,e):e;let r=t._versions,n={},o={};return r.forEach(e=>{lQ(n,e._cfg.storesSource),o=e._cfg.dbschema={},e._parseStoresSpec(n,o)}),t._dbSchema=o,dP(t,[t._allTables,t,t.Transaction.prototype]),dO(t,[t._allTables,t,t.Transaction.prototype,this._cfg.tables],lJ(o),o),t._storeNames=lJ(o),this}upgrade(e){return this._cfg.contentUpgrade=uK(this._cfg.contentUpgrade||uI,e),this}}function dM(e,t){let r=e._dbNamesDB;return r||(r=e._dbNamesDB=new d0(cK,{addons:[],indexedDB:e,IDBKeyRange:t})).version(1).stores({dbnames:"name"}),r.table("dbnames")}function d$(e){return e&&"function"==typeof e.databases}function dI(e){return cE(function(){return u8.letThrough=!0,e()})}function dL(e){var t=t=>e.next(t),r=o(t),n=o(t=>e.throw(t));function o(e){return t=>{var o=e(t),i=o.value;return o.done?i:i&&"function"==typeof i.then?i.then(r,n):lX(i)?Promise.all(i).then(r,n):r(i)}}return o(t)()}function dF(e,t,r){var n=arguments.length;if(n<2)throw new uA.InvalidArgument("Too few arguments");for(var o=Array(n-1);--n;)o[n-1]=arguments[n];return r=o.pop(),[e,uu(o),r]}function dB(e,t,r){let n=lX(e)?e.slice():[e];for(let e=0;e<r;++e)n.push(t);return n}let dV={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:function(e){return{...e,table(t){let r=e.table(t),{schema:n}=r,o={},i=[];function a(e,t,r){let n=dS(e),s=o[n]=o[n]||[],l=null==e?0:"string"==typeof e?1:e.length,u=t>0,c={...r,isVirtual:u,keyTail:t,keyLength:l,extractKey:d_(e),unique:!u&&r.unique};return s.push(c),c.isPrimaryKey||i.push(c),l>1&&a(2===l?e[0]:e.slice(0,l-1),t+1,r),s.sort((e,t)=>e.keyTail-t.keyTail),c}let s=a(n.primaryKey.keyPath,0,n.primaryKey);for(let e of(o[":id"]=[s],n.indexes))a(e.keyPath,0,e);function l(t){var r,n;let o=t.query.index;return o.isVirtual?{...t,query:{index:o,range:(r=t.query.range,n=o.keyTail,{type:1===r.type?2:r.type,lower:dB(r.lower,r.lowerOpen?e.MAX_KEY:e.MIN_KEY,n),lowerOpen:!0,upper:dB(r.upper,r.upperOpen?e.MIN_KEY:e.MAX_KEY,n),upperOpen:!0})}}:t}return{...r,schema:{...n,primaryKey:s,indexes:i,getIndexByKeyPath:function(e){let t=o[dS(e)];return t&&t[0]}},count:e=>r.count(l(e)),query:e=>r.query(l(e)),openCursor(t){let{keyTail:n,isVirtual:o,keyLength:i}=t.query.index;return o?r.openCursor(l(t)).then(r=>r&&Object.create(r,{continue:{value:function(o){null!=o?r.continue(dB(o,t.reverse?e.MAX_KEY:e.MIN_KEY,n)):t.unique?r.continue(r.key.slice(0,i).concat(t.reverse?e.MIN_KEY:e.MAX_KEY,n)):r.continue()}},continuePrimaryKey:{value(t,o){r.continuePrimaryKey(dB(t,e.MAX_KEY,n),o)}},primaryKey:{get:()=>r.primaryKey},key:{get(){let e=r.key;return 1===i?e[0]:e.slice(0,i)}},value:{get:()=>r.value}})):r.openCursor(t)}}}}}};function dU(e,t,r,n){return r=r||{},n=n||"",lJ(e).forEach(o=>{if(l2(t,o)){var i=e[o],a=t[o];if("object"==typeof i&&"object"==typeof a&&i&&a){let e=um(i);e!==um(a)?r[n+o]=t[o]:"Object"===e?dU(i,a,r,n+o+"."):i!==a&&(r[n+o]=t[o])}else i!==a&&(r[n+o]=t[o])}else r[n+o]=void 0}),lJ(t).forEach(o=>{l2(e,o)||(r[n+o]=t[o])}),r}let dW={stack:"dbcore",name:"HooksMiddleware",level:2,create:e=>({...e,table(t){let r=e.table(t),{primaryKey:n}=r.schema;return{...r,mutate(e){let o=u8.trans,{deleting:i,creating:a,updating:s}=o.table(t).hook;switch(e.type){case"add":if(a.fire===uI)break;return o._promise("readwrite",()=>l(e),!0);case"put":if(a.fire===uI&&s.fire===uI)break;return o._promise("readwrite",()=>l(e),!0);case"delete":if(i.fire===uI)break;return o._promise("readwrite",()=>l(e),!0);case"deleteRange":if(i.fire===uI)break;return o._promise("readwrite",()=>(function e(t,o,i){return r.query({trans:t,values:!1,query:{index:n,range:o},limit:i}).then(({result:r})=>l({type:"delete",keys:r,trans:t}).then(n=>n.numFailures>0?Promise.reject(n.failures[0]):r.length<i?{failures:[],numFailures:0,lastResult:void 0}:e(t,{...o,lower:r[r.length-1],lowerOpen:!0},i)))})(e.trans,e.range,1e4),!0)}return r.mutate(e);function l(e){var t,o;let l=u8.trans,u=e.keys||("delete"===(t=e).type?t.keys:t.keys||t.values.map(n.extractKey));if(!u)throw Error("Keys missing");return"delete"!==(e="add"===e.type||"put"===e.type?{...e,keys:u}:{...e}).type&&(e.values=[...e.values]),e.keys&&(e.keys=[...e.keys]),("add"===(o=e).type?Promise.resolve([]):r.getMany({trans:o.trans,keys:u,cache:"immutable"})).then(t=>{let o=u.map((r,o)=>{let u=t[o],c={onerror:null,onsuccess:null};if("delete"===e.type)i.fire.call(c,r,u,l);else if("add"===e.type||void 0===u){let t=a.fire.call(c,r,e.values[o],l);null==r&&null!=t&&(r=t,e.keys[o]=r,n.outbound||ua(e.values[o],n.keyPath,r))}else{let t=dU(u,e.values[o]),n=s.fire.call(c,t,r,u,l);if(n){let t=e.values[o];Object.keys(n).forEach(e=>{l2(t,e)?t[e]=n[e]:ua(t,e,n[e])})}}return c});return r.mutate(e).then(({failures:r,results:n,numFailures:i,lastResult:a})=>{for(let i=0;i<u.length;++i){let a=n?n[i]:u[i],s=o[i];null==a?s.onerror&&s.onerror(r[i]):s.onsuccess&&s.onsuccess("put"===e.type&&t[i]?e.values[i]:a)}return{failures:r,results:n,numFailures:i,lastResult:a}}).catch(e=>(o.forEach(t=>t.onerror&&t.onerror(e)),Promise.reject(e)))})}}}}})};function dz(e,t,r){try{if(!t||t.keys.length<e.length)return null;let n=[];for(let o=0,i=0;o<t.keys.length&&i<e.length;++o)0===c9(t.keys[o],e[i])&&(n.push(r?uf(t.values[o]):t.values[o]),++i);return n.length===e.length?n:null}catch(e){return null}}let dK={stack:"dbcore",level:-1,create:e=>({table:t=>{let r=e.table(t);return{...r,getMany:e=>{if(!e.cache)return r.getMany(e);let t=dz(e.keys,e.trans._cache,"clone"===e.cache);return t?cn.resolve(t):r.getMany(e).then(t=>(e.trans._cache={keys:e.keys,values:"clone"===e.cache?uf(t):t},t))},mutate:e=>("add"!==e.type&&(e.trans._cache=null),r.mutate(e))}}})};function dH(e){return!("from"in e)}let dG=function(e,t){if(!this){let t=new dG;return e&&"d"in e&&lQ(t,e),t}lQ(this,arguments.length?{d:1,from:e,to:arguments.length>1?t:e}:{d:0})};function dq(e,t,r){let n=c9(t,r);if(isNaN(n))return;if(n>0)throw RangeError();if(dH(e))return lQ(e,{from:t,to:r,d:1});let o=e.l,i=e.r;if(0>c9(r,e.from))return o?dq(o,t,r):e.l={from:t,to:r,d:1,l:null,r:null},dJ(e);if(c9(t,e.to)>0)return i?dq(i,t,r):e.r={from:t,to:r,d:1,l:null,r:null},dJ(e);0>c9(t,e.from)&&(e.from=t,e.l=null,e.d=i?i.d+1:1),c9(r,e.to)>0&&(e.to=r,e.r=null,e.d=e.l?e.l.d+1:1);let a=!e.r;o&&!e.l&&dY(e,o),i&&a&&dY(e,i)}function dY(e,t){dH(t)||function e(t,{from:r,to:n,l:o,r:i}){dq(t,r,n),o&&e(t,o),i&&e(t,i)}(e,t)}function dZ(e){let t=dH(e)?null:{s:0,n:e};return{next(e){let r=arguments.length>0;for(;t;)switch(t.s){case 0:if(t.s=1,r)for(;t.n.l&&0>c9(e,t.n.from);)t={up:t,n:t.n.l,s:1};else for(;t.n.l;)t={up:t,n:t.n.l,s:1};case 1:if(t.s=2,!r||0>=c9(e,t.n.to))return{value:t.n,done:!1};case 2:if(t.n.r){t.s=3,t={up:t,n:t.n.r,s:0};continue}case 3:t=t.up}return{done:!0}}}}function dJ(e){var t,r;let n=((null==(t=e.r)?void 0:t.d)||0)-((null==(r=e.l)?void 0:r.d)||0),o=n>1?"r":n<-1?"l":"";if(o){let t="r"===o?"l":"r",r={...e},n=e[o];e.from=n.from,e.to=n.to,e[o]=n[o],r[o]=n[t],e[t]=r,r.d=dX(r)}e.d=dX(e)}function dX({r:e,l:t}){return(e?t?Math.max(e.d,t.d):e.d:t?t.d:0)+1}l4(dG.prototype,{add(e){return dY(this,e),this},addKey(e){return dq(this,e,e),this},addKeys(e){return e.forEach(e=>dq(this,e,e)),this},[uy](){return dZ(this)}});let dQ={stack:"dbcore",level:0,create:e=>{let t=e.schema.name,r=new dG(e.MIN_KEY,e.MAX_KEY);return{...e,table:n=>{let o=e.table(n),{schema:i}=o,{primaryKey:a}=i,{extractKey:s,outbound:l}=a,u={...o,mutate:e=>{let a=e.trans,s=a.mutatedParts||(a.mutatedParts={}),l=e=>{let r=`idb://${t}/${n}/${e}`;return s[r]||(s[r]=new dG)},u=l(""),c=l(":dels"),{type:d}=e,[p,f]="deleteRange"===e.type?[e.range]:"delete"===e.type?[e.keys]:e.values.length<50?[[],e.values]:[],h=e.trans._cache;return o.mutate(e).then(e=>{if(lX(p)){"delete"!==d&&(p=e.results),u.addKeys(p);let t=dz(p,h);t||"add"===d||c.addKeys(p),(t||f)&&i.indexes.forEach(function(e){let r=l(e.name||"");function n(t){return null!=t?e.extractKey(t):null}let o=t=>e.multiEntry&&lX(t)?t.forEach(e=>r.addKey(e)):r.addKey(t);(t||f).forEach((e,r)=>{let i=t&&n(t[r]),a=f&&n(f[r]);0!==c9(i,a)&&(null!=i&&o(i),null!=a&&o(a))})})}else if(p){let e={from:p.lower,to:p.upper};c.add(e),u.add(e)}else u.add(r),c.add(r),i.indexes.forEach(e=>l(e.name).add(r));return e})}},c=({query:{index:t,range:r}})=>{var n,o;return[t,new dG(null!=(n=r.lower)?n:e.MIN_KEY,null!=(o=r.upper)?o:e.MAX_KEY)]},d={get:e=>[a,new dG(e.key)],getMany:e=>[a,(new dG).addKeys(e.keys)],count:c,query:c,openCursor:c};return lJ(d).forEach(e=>{u[e]=function(i){let{subscr:a}=u8;if(a){let u=e=>{let r=`idb://${t}/${n}/${e}`;return a[r]||(a[r]=new dG)},c=u(""),p=u(":dels"),[f,h]=d[e](i);if(u(f.name||"").add(h),!f.isPrimaryKey){if("count"!==e){let t="query"===e&&l&&i.values&&o.query({...i,values:!1});return o[e].apply(this,arguments).then(r=>{if("query"===e){if(l&&i.values)return t.then(({result:e})=>(c.addKeys(e),r));let e=i.values?r.result.map(s):r.result;i.values?c.addKeys(e):p.addKeys(e)}else if("openCursor"===e){let e=i.values;return r&&Object.create(r,{key:{get:()=>(p.addKey(r.primaryKey),r.key)},primaryKey:{get(){let e=r.primaryKey;return p.addKey(e),e}},value:{get:()=>(e&&c.addKey(r.primaryKey),r.value)}})}return r})}p.add(r)}}return o[e].apply(this,arguments)}}),u}}}};class d0{constructor(e,t){var r;this._middlewares={},this.verno=0;const n=d0.dependencies;this._options=t={addons:d0.addons,autoOpen:!0,indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange,...t},this._deps={indexedDB:t.indexedDB,IDBKeyRange:t.IDBKeyRange};const{addons:o}=t;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;const i={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:uI,dbReadyPromise:null,cancelOpen:uI,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3};i.dbReadyPromise=new cn(e=>{i.dbReadyResolve=e}),i.openCanceller=new cn((e,t)=>{i.cancelOpen=t}),this._state=i,this.name=e,this.on=cX(this,"populate","blocked","versionchange","close",{ready:[uK,uI]}),this.on.ready.subscribe=ut(this.on.ready.subscribe,e=>(t,r)=>{d0.vip(()=>{let n=this._state;if(n.openComplete)n.dbOpenError||cn.resolve().then(t),r&&e(t);else if(n.onReadyBeingFired)n.onReadyBeingFired.push(t),r&&e(t);else{e(t);let n=this;r||e(function e(){n.on.ready.unsubscribe(t),n.on.ready.unsubscribe(e)})}})}),this.Collection=(r=this,cQ(de.prototype,function(e,t){this.db=r;let n=cY,o=null;if(t)try{n=t()}catch(e){o=e}let i=e._ctx,a=i.table,s=a.hook.reading.fire;this._ctx={table:a,index:i.index,isPrimKey:!i.index||a.schema.primKey.keyPath&&i.index===a.schema.primKey.name,range:n,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:o,or:i.or,valueMapper:s!==uL?s:null}})),this.Table=function(e){return cQ(cJ.prototype,function(t,r,n){this.db=e,this._tx=n,this.name=t,this.schema=r,this.hook=e._allTables[t]?e._allTables[t].hook:cX(null,{creating:[uV,uI],reading:[uF,uL],updating:[uW,uI],deleting:[uU,uI]})})}(this),this.Transaction=function(e){return cQ(dy.prototype,function(t,r,n,o,i){this.db=e,this.mode=t,this.storeNames=r,this.schema=n,this.chromeTransactionDurability=o,this.idbtrans=null,this.on=cX(this,"complete","error","abort"),this.parent=i||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new cn((e,t)=>{this._resolve=e,this._reject=t}),this._completion.then(()=>{this.active=!1,this.on.complete.fire()},e=>{var t=this.active;return this.active=!1,this.on.error.fire(e),this.parent?this.parent._reject(e):t&&this.idbtrans&&this.idbtrans.abort(),c$(e)})})}(this),this.Version=function(e){return cQ(dA.prototype,function(t){this.db=e,this._cfg={version:t,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})}(this),this.WhereClause=function(e){return cQ(dc.prototype,function(t,r,n){this.db=e,this._ctx={table:t,index:":id"===r?null:r,or:n};let o=e._deps.indexedDB;if(!o)throw new uA.MissingAPI;this._cmp=this._ascending=o.cmp.bind(o),this._descending=(e,t)=>o.cmp(t,e),this._max=(e,t)=>o.cmp(e,t)>0?e:t,this._min=(e,t)=>0>o.cmp(e,t)?e:t,this._IDBKeyRange=e._deps.IDBKeyRange})}(this),this.on("versionchange",e=>{e.newVersion>0?console.warn(`Another connection wants to upgrade database '${this.name}'. Closing db now to resume the upgrade.`):console.warn(`Another connection wants to delete database '${this.name}'. Closing db now to resume the delete request.`),this.close()}),this.on("blocked",e=>{!e.newVersion||e.newVersion<e.oldVersion?console.warn(`Dexie.delete('${this.name}') was blocked`):console.warn(`Upgrade '${this.name}' blocked by other connection holding version ${e.oldVersion/10}`)}),this._maxKey=dw(t.IDBKeyRange),this._createTransaction=(e,t,r,n)=>new this.Transaction(e,t,r,this._options.chromeTransactionDurability,n),this._fireOnBlocked=e=>{this.on("blocked").fire(e),cU.filter(e=>e.name===this.name&&e!==this&&!e._state.vcFired).map(t=>t.on("versionchange").fire(e))},this.use(dV),this.use(dW),this.use(dQ),this.use(dK),this.vip=Object.create(this,{_vip:{value:!0}}),o.forEach(e=>e(this))}version(e){if(isNaN(e)||e<.1)throw new uA.Type("Given version is not a positive number");if(e=Math.round(10*e)/10,this.idbdb||this._state.isBeingOpened)throw new uA.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,e);let t=this._versions;var r=t.filter(t=>t._cfg.version===e)[0];return r||(r=new this.Version(e),t.push(r),t.sort(dC),r.stores({}),this._state.autoSchema=!1,r)}_whenReady(e){return this.idbdb&&(this._state.openComplete||u8.letThrough||this._vip)?e():new cn((e,t)=>{if(this._state.openComplete)return t(new uA.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen)return void t(new uA.DatabaseClosed);this.open().catch(uI)}this._state.dbReadyPromise.then(e,t)}).then(e)}use({stack:e,create:t,level:r,name:n}){n&&this.unuse({stack:e,name:n});let o=this._middlewares[e]||(this._middlewares[e]=[]);return o.push({stack:e,create:t,level:null==r?10:r,name:n}),o.sort((e,t)=>e.level-t.level),this}unuse({stack:e,name:t,create:r}){return e&&this._middlewares[e]&&(this._middlewares[e]=this._middlewares[e].filter(e=>r?e.create!==r:!!t&&e.name!==t)),this}open(){return function(e){var t;let r=e._state,{indexedDB:n}=e._deps;if(r.isBeingOpened||e.idbdb)return r.dbReadyPromise.then(()=>r.dbOpenError?c$(r.dbOpenError):e);u_&&(r.openCanceller._stackHolder=uS()),r.isBeingOpened=!0,r.dbOpenError=null,r.openComplete=!1;let o=r.openCanceller;function i(){if(r.openCanceller!==o)throw new uA.DatabaseClosed("db.open() was cancelled")}let a=r.dbReadyResolve,s=null,l=!1,u=()=>new cn((t,o)=>{if(i(),!n)throw new uA.MissingAPI;let a=e.name,u=r.autoSchema?n.open(a):n.open(a,Math.round(10*e.verno));if(!u)throw new uA.MissingAPI;u.onerror=dd(o),u.onblocked=cy(e._fireOnBlocked),u.onupgradeneeded=cy(t=>{if(s=u.transaction,r.autoSchema&&!e._options.allowEmptyDB){u.onerror=dp,s.abort(),u.result.close();let e=n.deleteDatabase(a);e.onsuccess=e.onerror=cy(()=>{o(new uA.NoSuchDatabase(`Database ${a} doesnt exist`))})}else{let r,n,a,p;s.onerror=dd(o);var i,c,d=t.oldVersion>0x4000000000000000?0:t.oldVersion;l=d<1,e._novip.idbdb=u.result,i=d/10,c=s,r=e._dbSchema,(n=e._createTransaction("readwrite",e._storeNames,r)).create(c),n._completion.catch(o),a=n._reject.bind(n),p=u8.transless||u8,cE(()=>{u8.trans=n,u8.transless=p,0===i?(lJ(r).forEach(e=>{dj(c,e,r[e].primKey,r[e].indexes)}),dD(e,c),cn.follow(()=>e.on.populate.fire(n)).catch(a)):(function({_novip:e},t,r,n){let o=[],i=e._versions,a=e._dbSchema=dR(e,e.idbdb,n),s=!1;return i.filter(e=>e._cfg.version>=t).forEach(i=>{o.push(()=>{let o=a,l=i._cfg.dbschema;dN(e,o,n),dN(e,l,n),a=e._dbSchema=l;let u=dk(o,l);u.add.forEach(e=>{dj(n,e[0],e[1].primKey,e[1].indexes)}),u.change.forEach(e=>{if(e.recreate)throw new uA.Upgrade("Not yet support for changing primary key");{let t=n.objectStore(e.name);e.add.forEach(e=>dT(t,e)),e.change.forEach(e=>{t.deleteIndex(e.name),dT(t,e)}),e.del.forEach(e=>t.deleteIndex(e))}});let c=i._cfg.contentUpgrade;if(c&&i._cfg.version>t){let t;dD(e,n),r._memoizedTables={},s=!0;let i=us(l);u.del.forEach(e=>{i[e]=o[e]}),dP(e,[e.Transaction.prototype]),dO(e,[e.Transaction.prototype],lJ(i),i),r.schema=i;let a=uw(c);a&&cS();let d=cn.follow(()=>{if((t=c(r))&&a){var e=cD.bind(null,null);t.then(e,e)}});return t&&"function"==typeof t.then?cn.resolve(t):d.then(()=>t)}}),o.push(t=>{var n;s&&cW||(n=i._cfg.dbschema,[].slice.call(t.db.objectStoreNames).forEach(e=>null==n[e]&&t.db.deleteObjectStore(e))),dP(e,[e.Transaction.prototype]),dO(e,[e.Transaction.prototype],e._storeNames,e._dbSchema),r.schema=e._dbSchema})}),(function e(){return o.length?cn.resolve(o.shift()(r.idbtrans)).then(e):cn.resolve()})().then(()=>{var e;lJ(e=a).forEach(t=>{n.db.objectStoreNames.contains(t)||dj(n,t,e[t].primKey,e[t].indexes)})})})(e,i,n,c).catch(a)})}},o),u.onsuccess=cy(()=>{s=null;let n=e._novip.idbdb=u.result,o=ue(n.objectStoreNames);if(o.length>0)try{let t,i=n.transaction(1===o.length?o[0]:o,"readonly");r.autoSchema?function({_novip:e},t,r){e.verno=t.version/10;let n=e._dbSchema=dR(0,t,r);e._storeNames=ue(t.objectStoreNames,0),dO(e,[e._allTables],lJ(n),n)}(e,n,i):(dN(e,e._dbSchema,i),((t=dk(dR(0,e.idbdb,i),e._dbSchema)).add.length||t.change.some(e=>e.add.length||e.change.length))&&console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.")),dD(e,i)}catch(e){}cU.push(e),n.onversionchange=cy(t=>{r.vcFired=!0,e.on("versionchange").fire(t)}),n.onclose=cy(t=>{e.on("close").fire(t)}),l&&function({indexedDB:e,IDBKeyRange:t},r){d$(e)||r===cK||dM(e,t).put({name:r}).catch(uI)}(e._deps,a),t()},o)}).catch(e=>e&&"UnknownError"===e.name&&r.PR1398_maxLoop>0?(r.PR1398_maxLoop--,console.warn("Dexie: Workaround for Chrome UnknownError on open()"),u()):cn.reject(e));return cn.race([o,("u"<typeof navigator?cn.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(e){var r=function(){return indexedDB.databases().finally(e)};t=setInterval(r,100),r()}).finally(function(){return clearInterval(t)}):Promise.resolve()).then(u)]).then(()=>(i(),r.onReadyBeingFired=[],cn.resolve(dI(()=>e.on.ready.fire(e.vip))).then(function t(){if(r.onReadyBeingFired.length>0){let n=r.onReadyBeingFired.reduce(uK,uI);return r.onReadyBeingFired=[],cn.resolve(dI(()=>n(e.vip))).then(t)}}))).finally(()=>{r.onReadyBeingFired=null,r.isBeingOpened=!1}).then(()=>e).catch(t=>{r.dbOpenError=t;try{s&&s.abort()}catch(e){}return o===r.openCanceller&&e._close(),c$(t)}).finally(()=>{r.openComplete=!0,a()})}(this)}_close(){let e=this._state,t=cU.indexOf(this);if(t>=0&&cU.splice(t,1),this.idbdb){try{this.idbdb.close()}catch(e){}this._novip.idbdb=null}e.dbReadyPromise=new cn(t=>{e.dbReadyResolve=t}),e.openCanceller=new cn((t,r)=>{e.cancelOpen=r})}close(){this._close();let e=this._state;this._options.autoOpen=!1,e.dbOpenError=new uA.DatabaseClosed,e.isBeingOpened&&e.cancelOpen(e.dbOpenError)}delete(){let e=arguments.length>0,t=this._state;return new cn((r,n)=>{let o=()=>{this.close();var e=this._deps.indexedDB.deleteDatabase(this.name);e.onsuccess=cy(()=>{!function({indexedDB:e,IDBKeyRange:t},r){d$(e)||r===cK||dM(e,t).delete(r).catch(uI)}(this._deps,this.name),r()}),e.onerror=dd(n),e.onblocked=this._fireOnBlocked};if(e)throw new uA.InvalidArgument("Arguments not allowed in db.delete()");t.isBeingOpened?t.dbReadyPromise.then(o):o()})}backendDB(){return this.idbdb}isOpen(){return null!==this.idbdb}hasBeenClosed(){let e=this._state.dbOpenError;return e&&"DatabaseClosed"===e.name}hasFailed(){return null!==this._state.dbOpenError}dynamicallyOpened(){return this._state.autoSchema}get tables(){return lJ(this._allTables).map(e=>this._allTables[e])}transaction(){let e=dF.apply(this,arguments);return this._transaction.apply(this,e)}_transaction(e,t,r){let n,o,i=u8.trans;i&&i.db===this&&-1===e.indexOf("!")||(i=null);let a=-1!==e.indexOf("?");e=e.replace("!","").replace("?","");try{if(o=t.map(e=>{var t=e instanceof this.Table?e.name:e;if("string"!=typeof t)throw TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return t}),"r"==e||e===cH)n=cH;else{if("rw"!=e&&e!=cG)throw new uA.InvalidArgument("Invalid transaction mode: "+e);n=cG}if(i){if(i.mode===cH&&n===cG){if(!a)throw new uA.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");i=null}i&&o.forEach(e=>{if(i&&-1===i.storeNames.indexOf(e)){if(!a)throw new uA.SubTransaction("Table "+e+" not included in parent transaction.");i=null}}),a&&i&&!i.active&&(i=null)}}catch(e){return i?i._promise(null,(t,r)=>{r(e)}):c$(e)}let s=(function e(t,r,n,o,i){return cn.resolve().then(()=>{let a,s=u8.transless||u8,l=t._createTransaction(r,n,t._dbSchema,o);if(o)l.idbtrans=o.idbtrans;else try{l.create(),t._state.PR1398_maxLoop=3}catch(o){return o.name===uN.InvalidState&&t.isOpen()&&--t._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),t._close(),t.open().then(()=>e(t,r,n,null,i))):c$(o)}let u=uw(i);u&&cS();let c=cn.follow(()=>{if(a=i.call(l,l))if(u){var e=cD.bind(null,null);a.then(e,e)}else"function"==typeof a.next&&"function"==typeof a.throw&&(a=dL(a))},{trans:l,transless:s});return(a&&"function"==typeof a.then?cn.resolve(a).then(e=>l.active?e:c$(new uA.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))):c.then(()=>a)).then(e=>(o&&l._resolve(),l._completion.then(()=>e))).catch(e=>(l._reject(e),c$(e)))})}).bind(null,this,n,o,i,r);return i?i._promise(n,s,"lock"):u8.trans?cT(u8.transless,()=>this._whenReady(s)):this._whenReady(s)}table(e){if(!l2(this._allTables,e))throw new uA.InvalidTable(`Table ${e} does not exist`);return this._allTables[e]}}let d1="u">typeof Symbol&&"observable"in Symbol?Symbol.observable:"@@observable";class d2{constructor(e){this._subscribe=e}subscribe(e,t,r){return this._subscribe(e&&"function"!=typeof e?e:{next:e,error:t,complete:r})}[d1](){return this}}function d4(e,t){return lJ(t).forEach(r=>{dY(e[r]||(e[r]=new dG),t[r])}),e}try{i={indexedDB:lZ.indexedDB||lZ.mozIndexedDB||lZ.webkitIndexedDB||lZ.msIndexedDB,IDBKeyRange:lZ.IDBKeyRange||lZ.webkitIDBKeyRange}}catch(e){i={indexedDB:null,IDBKeyRange:null}}function d3(e){let t=d6;try{d6=!0,dm.storagemutated.fire(e)}finally{d6=t}}l4(d0,{...u$,delete:e=>new d0(e,{addons:[]}).delete(),exists:e=>new d0(e,{addons:[]}).open().then(e=>(e.close(),!0)).catch("NoSuchDatabaseError",()=>!1),getDatabaseNames(e){try{return(function({indexedDB:e,IDBKeyRange:t}){return d$(e)?Promise.resolve(e.databases()).then(e=>e.map(e=>e.name).filter(e=>e!==cK)):dM(e,t).toCollection().primaryKeys()})(d0.dependencies).then(e)}catch(e){return c$(new uA.MissingAPI)}},defineClass:()=>function(e){lQ(this,e)},ignoreTransaction:e=>u8.trans?cT(u8.transless,e):e(),vip:dI,async:function(e){return function(){try{var t=dL(e.apply(this,arguments));return t&&"function"==typeof t.then?t:cn.resolve(t)}catch(e){return c$(e)}}},spawn:function(e,t,r){try{var n=dL(e.apply(r,t||[]));return n&&"function"==typeof n.then?n:cn.resolve(n)}catch(e){return c$(e)}},currentTransaction:{get:()=>u8.trans||null},waitFor:function(e,t){let r=cn.resolve("function"==typeof e?d0.ignoreTransaction(e):e).timeout(t||6e4);return u8.trans?u8.trans.waitFor(r):r},Promise:cn,debug:{get:()=>u_,set:e=>{u_=e,ux="dexie"===e?()=>!0:cz}},derive:l5,extend:lQ,props:l4,override:ut,Events:cX,on:dm,liveQuery:function(e){let t,r=!1,n=new d2(n=>{let o=uw(e),i=!1,a={},s={},l={get closed(){return i},unsubscribe:()=>{i=!0,dm.storagemutated.unsubscribe(p)}};n.start&&n.start(l);let u=!1,c=!1;function d(){return lJ(s).some(e=>a[e]&&function(e,t){let r=dZ(t),n=r.next();if(n.done)return!1;let o=n.value,i=dZ(e),a=i.next(o.from),s=a.value;for(;!n.done&&!a.done;){if(0>=c9(s.from,o.to)&&c9(s.to,o.from)>=0)return!0;0>c9(o.from,s.from)?o=(n=r.next(s.from)).value:s=(a=i.next(o.from)).value}return!1}(a[e],s[e]))}let p=e=>{d4(a,e),d()&&f()},f=()=>{let h,m;if(u||i)return;a={};let y={},g=(o&&cS(),h=()=>cE(e,{subscr:y,trans:null}),m=u8.trans?cT(u8.transless,h):h(),o&&m.then(cD,cD),m);c||(dm(df,p),c=!0),u=!0,Promise.resolve(g).then(e=>{r=!0,t=e,u=!1,i||(d()?f():(a={},s=y,n.next&&n.next(e)))},e=>{u=!1,r=!1,n.error&&n.error(e),l.unsubscribe()})};return f(),l});return n.hasValue=()=>r,n.getValue=()=>t,n},extendObservabilitySet:d4,getByKeyPath:ui,setByKeyPath:ua,delByKeyPath:function(e,t){"string"==typeof t?ua(e,t,void 0):"length"in t&&[].map.call(t,function(t){ua(e,t,void 0)})},shallowClone:us,deepClone:uf,getObjectDiff:dU,cmp:c9,asap:un,minKey:cF,addons:[],connections:cU,errnames:uN,dependencies:i,semVer:cI,version:cI.split(".").map(e=>parseInt(e)).reduce((e,t,r)=>e+t/Math.pow(10,2*r))}),d0.maxKey=dw(d0.dependencies.IDBKeyRange),"u">typeof dispatchEvent&&"u">typeof addEventListener&&(dm(df,e=>{if(!d6){let t;cW?(t=document.createEvent("CustomEvent")).initCustomEvent(dh,!0,!0,e):t=new CustomEvent(dh,{detail:e}),d6=!0,dispatchEvent(t),d6=!1}}),addEventListener(dh,({detail:e})=>{d6||d3(e)}));let d6=!1;if("u">typeof BroadcastChannel){let e=new BroadcastChannel(dh);"function"==typeof e.unref&&e.unref(),dm(df,t=>{d6||e.postMessage(t)}),e.onmessage=e=>{e.data&&d3(e.data)}}else if("u">typeof self&&"u">typeof navigator){dm(df,e=>{try{d6||("u">typeof localStorage&&localStorage.setItem(dh,JSON.stringify({trig:Math.random(),changedParts:e})),"object"==typeof self.clients&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach(t=>t.postMessage({type:dh,changedParts:e})))}catch(e){}}),"u">typeof addEventListener&&addEventListener("storage",e=>{if(e.key===dh){let t=JSON.parse(e.newValue);t&&d3(t.changedParts)}});let e=self.document&&navigator.serviceWorker;e&&e.addEventListener("message",function({data:e}){e&&e.type===dh&&d3(e.changedParts)})}function d5(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}cn.rejectionMapper=function(e,t){if(!e||e instanceof uk||e instanceof TypeError||e instanceof SyntaxError||!e.name||!uM[e.name])return e;var r=new uM[e.name](t||e.message,e);return"stack"in e&&l6(r,"stack",{get:function(){return this.inner.stack}}),r},ux=cz;class d9 extends d0{constructor(){super("EsmOffline"),d5(this,"syncQueue",void 0),d5(this,"dynamicOfflineData",void 0),this.version(4).stores({syncQueue:"++id,userId,type,[userId+type]",dynamicOfflineData:"++id,type,identifier,*users,&[type+identifier]"}),this.syncQueue=this.table("syncQueue"),this.dynamicOfflineData=this.table("dynamicOfflineData")}}function d7(){return new d9}let d8=new d9,pe={},pt=Y("offline-synchronization",{});function pr(){return pt}async function pn(){if(pt.getState().synchronization)return;let e=await d8.syncQueue.count(),t={},r=Object.entries(pe),n=r.length,o={},i=new AbortController,a=()=>{let e=pt.getState().synchronization;pt.setState({synchronization:{...e,pendingCount:e.pendingCount-1}})};try{pt.setState({synchronization:{totalCount:e,pendingCount:e,abortController:i}});for(let e=0;e<n&&r.length>0;e++)for(let e=r.length;e--;){let[n,s]=r[e],l=s.dependsOn.map(e=>t[e]);l.every(Boolean)&&(o[n]={},await Promise.all(l),t[n]=po(s,o,i,a),r.splice(e,1))}await Promise.allSettled(Object.values(t))}finally{pt.setState({synchronization:void 0})}}async function po({type:e,dependsOn:t,process:r},n,o,i){let a=[],s=[],l=await pi();await d8.syncQueue.where({type:e,userId:l}).each((e,t)=>{a.push([t.primaryKey,e.content,e.descriptor]),s.push(e.content)});for(let u=0;u<a.length;u++){let[c,d,{id:p,dependencies:f=[]}]=a[u];try{let i=await r(d,{abort:o,index:u,items:s,userId:l,dependencies:f.map(({id:e,type:r})=>t.includes(r)?n[r][e]:void 0)});void 0!==p&&(n[e][p]=i),await d8.syncQueue.delete(c)}catch(e){await d8.syncQueue.update(c,{lastError:{name:e?.name,message:e?.message??e?.toString()}})}finally{i()}}}async function pi(){let e=await aK();return e?.uuid||"*"}async function pa(e,t,r,n){let o=n&&n.id;return void 0!==o&&await d8.syncQueue.where({type:t,userId:e}).filter(e=>e?.descriptor.id===o).delete().catch(d0.errnames.DatabaseClosed),await d8.syncQueue.add({type:t,content:r,userId:e,descriptor:n||{},createdOn:new Date}).catch(d0.errnames.DatabaseClosed,()=>-1)}async function ps(e,t,r){let n=await pi();return await pa(n,e,t,r)}async function pl(e,t){return(await pu(e,t)).map(e=>e.content)}async function pu(e,t){return await d8.syncQueue.where(t?{type:t,userId:e}:{userId:e}).toArray().catch(d0.errnames.DatabaseClosed,()=>[])}async function pc(e){let t=await pi();return await pl(t,e)}async function pd(e){let t=await pi();return await pu(t,e)}async function pp(e){return await d8.syncQueue.get(e).catch(d0.errnames.DatabaseClosed,()=>void 0)}function pf(e){return!!pe[e]?.options.onBeginEditSyncItem}async function ph(e){let t=await pp(e);if(!t)throw Error(`No sync item with the ID ${e} exists.`);let r=pe[t.type]?.options.onBeginEditSyncItem;if(!r)throw Error(`A sync item with the ID ${e} exists, but the associated handler (if one exists) doesn't support editing the item. You can avoid this error by either verifying that sync items of this type can be edited via the "canEditSynchronizationItemsOfType(type: string)" function or alternatively ensure that the synchronizaton handler for sync items of type "${t.type}" supports editing items.`);r(t)}async function pm(e){await d8.syncQueue.delete(e).catch(d0.errnames.DatabaseClosed)}function py(e,t,r,n={}){pe[e]={type:e,dependsOn:t,process:r,options:n}}let pg="u">typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),pb=new Uint8Array(16),pv=[];for(let e=0;e<256;++e)pv.push((e+256).toString(16).slice(1));let pw=function(e,t,r){if(pg&&!t&&!e)return pg();let n=(e=e||{}).random||(e.rng||function(){if(!a&&!(a="u">typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return a(pb)})();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=n[e];return t}return function(e,t=0){return pv[e[t+0]]+pv[e[t+1]]+pv[e[t+2]]+pv[e[t+3]]+"-"+pv[e[t+4]]+pv[e[t+5]]+"-"+pv[e[t+6]]+pv[e[t+7]]+"-"+pv[e[t+8]]+pv[e[t+9]]+"-"+pv[e[t+10]]+pv[e[t+11]]+pv[e[t+12]]+pv[e[t+13]]+pv[e[t+14]]+pv[e[t+15]]}(n)},p_="OFFLINE+";function px(){return p_+pw()}function pE(e){return e.startsWith(p_)}let pS={};function pD(){return Object.values(pS)}function pO(e){pS[e.id]&&console.warn(`[setupDynamicOfflineDataHandler] Another second handler with the ID "${e.id}" was registered. This handler will override the previous one. This could be unintended as the previous handler might run different flows than the newly registered one. If this is the case, ensure that you are setting up the handlers with different IDs.`),pS[e.id]=e}async function pP(e){let t=await pM();return await pC(t,e)}async function pC(e,t){let r=new d9;return await r.dynamicOfflineData.where(t?{type:t,users:e}:{users:e}).toArray().catch(d0.errnames.DatabaseClosed,()=>[])}async function pk(e,t){let r=await pM();return await pj(r,e,t)}async function pj(e,t,r){let n=new d9,o=await n.dynamicOfflineData.get({type:t,identifier:r}).catch(d0.errnames.DatabaseClosed,()=>void 0);o?o.users.includes(e)||await n.dynamicOfflineData.update(o.id,{users:[...o.users,e]}).catch(d0.errnames.DatabaseClosed):await n.dynamicOfflineData.add({users:[e],type:t,identifier:r}).catch(d0.errnames.DatabaseClosed)}async function pT(e,t){let r=await pM();return await pR(r,e,t)}async function pR(e,t,r){let n=new d9,o=await n.dynamicOfflineData.get({type:t,identifier:r,users:e}).catch(d0.errnames.DatabaseClosed,()=>void 0);o&&(o.users.length>1?await n.dynamicOfflineData.update(o.id,{users:o.users.filter(t=>t!==e)}).catch(d0.errnames.DatabaseClosed):await n.dynamicOfflineData.delete(o.id).catch(d0.errnames.DatabaseClosed))}async function pN(e,t){let r=await pP(e);await Promise.all(r.map(async e=>pA(e.type,e.identifier,t)))}async function pA(e,t,r){await pk(e,t);let n=new d9,o=await pM(),i=await n.dynamicOfflineData.get({type:e,identifier:t}).catch(d0.errnames.DatabaseClosed,()=>void 0),a=pD().filter(t=>t.type===e);if(!i)return;let s=await Promise.all(a.map(async e=>{try{return e.sync(t,r),{id:e.id,error:void 0}}catch(r){let t=r.message?.toString()??r.toString();return{id:e.id,error:t}}})),l=s.filter(e=>!e.error).map(e=>e.id),u=s.filter(e=>e.error).map(e=>e.id),c=s.filter(e=>e.error).map(e=>({handlerId:e.id,message:e.error})),d={syncedOn:new Date,syncedBy:o,succeededHandlers:l,erroredHandlers:u,errors:c};i.id&&await n.dynamicOfflineData.update(i.id,{syncState:d}).catch(d0.errnames.DatabaseClosed)}async function pM(){let e=(await aK()).uuid;if(!e)throw Error("Using the dynamic offline data API requires a logged in user.");return e}let p$=Y("offline-patients",{offlinePatientDataSyncState:{},handlers:{}});function pI(){return pB(),p$}function pL(e,t){pB(),pO({type:"patient",displayName:t.displayName,id:e,isSynced:()=>Promise.resolve(!0),sync:(e,r)=>t.onOfflinePatientAdded({patientUuid:e,signal:r??new AbortController().signal})})}async function pF(e){pB(),await pA("patient",e)}function pB(){console.warn("The offline patient API has been deprecated and will be removed in a future release. To prevent future crashes, the functions remain available for the moment, but any invocations should be migrated ASAP.")}async function pV(e,t,r=!0){if(e){let n=null,[o,i]=await Promise.all([aA(`${aT}/Patient/${e}`,t).catch(e=>n=e),r?pU(e):Promise.resolve(null)]);if(o.ok)return o.data;if(i)return i;if(n)throw n}return null}async function pU(e){let t=(await pc("patient-registration")).find(t=>t.fhirPatient.id===e);return t?.fhirPatient??null}function pW(e,t){let r=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(r)}function pz(e,t){let r=e=>{t("detail"in e&&null!==e.detail?e.detail:void 0)};return window.addEventListener(`openmrs:${e}`,r),()=>{window.removeEventListener(`openmrs:${e}`,r)}}var pK=r(9549);function pH(e){return{uuid:e.uuid,display:e.display}}function pG(e=null,t=null){let r=new URLSearchParams;e&&r.set("tag",e),t&&r.set("q",t);let n=r.toString();return aM(`${aj}/location${n?"?"+n:""}`).pipe((0,pK.map)(e=>e.data.results.map(pH))).pipe((0,pK.take)(1))}function pq(e){return{uuid:e.uuid,display:e.display,name:e.name}}function pY(){return aM(`${aj}/visittype`).pipe((0,pK.map)(e=>e.data.results.map(pq))).pipe((0,pK.take)(1))}var pZ=function(){function e(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return e.prototype=Object.create(Error.prototype),e}(),pJ=function(e){function t(t,r){var n=e.call(this)||this;return n.subject=t,n.subscriber=r,n.closed=!1,n}return eb(t,e),t.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var e=this.subject,t=e.observers;if(this.subject=null,t&&0!==t.length&&!e.isStopped&&!e.closed){var r=t.indexOf(this.subscriber);-1!==r&&t.splice(r,1)}}},t}(eO),pX=function(e){function t(t){var r=e.call(this,t)||this;return r.destination=t,r}return eb(t,e),t}(ek),pQ=function(e){function t(){var t=e.call(this)||this;return t.observers=[],t.closed=!1,t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return eb(t,e),t.prototype[eC]=function(){return new pX(this)},t.prototype.lift=function(e){var t=new p0(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new pZ;if(!this.isStopped)for(var t=this.observers,r=t.length,n=t.slice(),o=0;o<r;o++)n[o].next(e)},t.prototype.error=function(e){if(this.closed)throw new pZ;this.hasError=!0,this.thrownError=e,this.isStopped=!0;for(var t=this.observers,r=t.length,n=t.slice(),o=0;o<r;o++)n[o].error(e);this.observers.length=0},t.prototype.complete=function(){if(this.closed)throw new pZ;this.isStopped=!0;for(var e=this.observers,t=e.length,r=e.slice(),n=0;n<t;n++)r[n].complete();this.observers.length=0},t.prototype.unsubscribe=function(){this.isStopped=!0,this.closed=!0,this.observers=null},t.prototype._trySubscribe=function(t){if(!this.closed)return e.prototype._trySubscribe.call(this,t);throw new pZ},t.prototype._subscribe=function(e){if(this.closed)throw new pZ;return this.hasError?(e.error(this.thrownError),eO.EMPTY):this.isStopped?(e.complete(),eO.EMPTY):(this.observers.push(e),new pJ(this,e))},t.prototype.asObservable=function(){var e=new eR;return e.source=this,e},t.create=function(e,t){return new p0(e,t)},t}(eR),p0=function(e){function t(t,r){var n=e.call(this)||this;return n.destination=t,n.source=r,n}return eb(t,e),t.prototype.next=function(e){var t=this.destination;t&&t.next&&t.next(e)},t.prototype.error=function(e){var t=this.destination;t&&t.error&&this.destination.error(e)},t.prototype.complete=function(){var e=this.destination;e&&e.complete&&this.destination.complete()},t.prototype._subscribe=function(e){return this.source?this.source.subscribe(e):eO.EMPTY},t}(pQ),p1=function(e){function t(t){var r=e.call(this)||this;return r._value=t,r}return eb(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),t.prototype._subscribe=function(t){var r=e.prototype._subscribe.call(this,t);return r&&!r.closed&&t.next(this._value),r},t.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(!this.closed)return this._value;throw new pZ},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(pQ),p2=((eu={}).NEWVISIT="startVisit",eu.EDITVISIT="editVisit",eu.LOADING="loadingVisit",eu),p4=((ec={}).NOTSTARTED="notStarted",ec.ONGOING="ongoing",ec);let p3="custom:(uuid,display,voided,indication,startDatetime,stopDatetime,encounters:(uuid,display,encounterDatetime,form:(uuid,name),location:ref,encounterType:ref,encounterProviders:(uuid,display,provider:(uuid,display))),patient:(uuid,display),visitType:(uuid,name,display),attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),location:(uuid,name,display))",p6=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function p5(){return J("visit",p6)}function p9(e,t){p5().setState({patientUuid:e,manuallySetVisitUuid:t})}function p7(e,t){return aA(`${aj}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function p8(e,t,r){return aA(`${aj}/visit/${e}`,{signal:r.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function fe(e,t,r){return aA(`${aj}/visit?patient=${e}&v=${r??p3}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}p5().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});let ft=new p1(null);class fr{static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+fr.version}static addUnaryOp(e){return fr.max_unop_len=Math.max(e.length,fr.max_unop_len),fr.unary_ops[e]=1,fr}static addBinaryOp(e,t,r){return fr.max_binop_len=Math.max(e.length,fr.max_binop_len),fr.binary_ops[e]=t,r?fr.right_associative.add(e):fr.right_associative.delete(e),fr}static addIdentifierChar(e){return fr.additional_identifier_chars.add(e),fr}static addLiteral(e,t){return fr.literals[e]=t,fr}static removeUnaryOp(e){return delete fr.unary_ops[e],e.length===fr.max_unop_len&&(fr.max_unop_len=fr.getMaxKeyLen(fr.unary_ops)),fr}static removeAllUnaryOps(){return fr.unary_ops={},fr.max_unop_len=0,fr}static removeIdentifierChar(e){return fr.additional_identifier_chars.delete(e),fr}static removeBinaryOp(e){return delete fr.binary_ops[e],e.length===fr.max_binop_len&&(fr.max_binop_len=fr.getMaxKeyLen(fr.binary_ops)),fr.right_associative.delete(e),fr}static removeAllBinaryOps(){return fr.binary_ops={},fr.max_binop_len=0,fr}static removeLiteral(e){return delete fr.literals[e],fr}static removeAllLiterals(){return fr.literals={},fr}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(e){this.expr=e,this.index=0}static parse(e){return new fr(e).parse()}static getMaxKeyLen(e){return Math.max(0,...Object.keys(e).map(e=>e.length))}static isDecimalDigit(e){return e>=48&&e<=57}static binaryPrecedence(e){return fr.binary_ops[e]||0}static isIdentifierStart(e){return e>=65&&e<=90||e>=97&&e<=122||e>=128&&!fr.binary_ops[String.fromCharCode(e)]||fr.additional_identifier_chars.has(String.fromCharCode(e))}static isIdentifierPart(e){return fr.isIdentifierStart(e)||fr.isDecimalDigit(e)}throwError(e){let t=Error(e+" at character "+this.index);throw t.index=this.index,t.description=e,t}runHook(e,t){if(fr.hooks[e]){let r={context:this,node:t};return fr.hooks.run(e,r),r.node}return t}searchHook(e){if(fr.hooks[e]){let t={context:this};return fr.hooks[e].find(function(e){return e.call(t.context,t),t.node}),t.node}}gobbleSpaces(){let e=this.code;for(;e===fr.SPACE_CODE||e===fr.TAB_CODE||e===fr.LF_CODE||e===fr.CR_CODE;)e=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let e=this.gobbleExpressions(),t=1===e.length?e[0]:{type:fr.COMPOUND,body:e};return this.runHook("after-all",t)}gobbleExpressions(e){let t=[],r,n;for(;this.index<this.expr.length;)if((r=this.code)===fr.SEMCOL_CODE||r===fr.COMMA_CODE)this.index++;else if(n=this.gobbleExpression())t.push(n);else if(this.index<this.expr.length){if(r===e)break;this.throwError('Unexpected "'+this.char+'"')}return t}gobbleExpression(){let e=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",e)}gobbleBinaryOp(){this.gobbleSpaces();let e=this.expr.substr(this.index,fr.max_binop_len),t=e.length;for(;t>0;){if(fr.binary_ops.hasOwnProperty(e)&&(!fr.isIdentifierStart(this.code)||this.index+e.length<this.expr.length&&!fr.isIdentifierPart(this.expr.charCodeAt(this.index+e.length))))return this.index+=t,e;e=e.substr(0,--t)}return!1}gobbleBinaryExpression(){let e,t,r,n,o,i,a,s,l;if(!(i=this.gobbleToken())||!(t=this.gobbleBinaryOp()))return i;for(o={value:t,prec:fr.binaryPrecedence(t),right_a:fr.right_associative.has(t)},(a=this.gobbleToken())||this.throwError("Expected expression after "+t),n=[i,o,a];t=this.gobbleBinaryOp();){if(0===(r=fr.binaryPrecedence(t))){this.index-=t.length;break}o={value:t,prec:r,right_a:fr.right_associative.has(t)},l=t;let s=e=>o.right_a&&e.right_a?r>e.prec:r<=e.prec;for(;n.length>2&&s(n[n.length-2]);)a=n.pop(),t=n.pop().value,i=n.pop(),e={type:fr.BINARY_EXP,operator:t,left:i,right:a},n.push(e);(e=this.gobbleToken())||this.throwError("Expected expression after "+l),n.push(o,e)}for(s=n.length-1,e=n[s];s>1;)e={type:fr.BINARY_EXP,operator:n[s-1].value,left:n[s-2],right:e},s-=2;return e}gobbleToken(){let e,t,r,n;if(this.gobbleSpaces(),n=this.searchHook("gobble-token"))return this.runHook("after-token",n);if(e=this.code,fr.isDecimalDigit(e)||e===fr.PERIOD_CODE)return this.gobbleNumericLiteral();if(e===fr.SQUOTE_CODE||e===fr.DQUOTE_CODE)n=this.gobbleStringLiteral();else if(e===fr.OBRACK_CODE)n=this.gobbleArray();else{for(r=(t=this.expr.substr(this.index,fr.max_unop_len)).length;r>0;){if(fr.unary_ops.hasOwnProperty(t)&&(!fr.isIdentifierStart(this.code)||this.index+t.length<this.expr.length&&!fr.isIdentifierPart(this.expr.charCodeAt(this.index+t.length)))){this.index+=r;let e=this.gobbleToken();return e||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:fr.UNARY_EXP,operator:t,argument:e,prefix:!0})}t=t.substr(0,--r)}fr.isIdentifierStart(e)?(n=this.gobbleIdentifier(),fr.literals.hasOwnProperty(n.name)?n={type:fr.LITERAL,value:fr.literals[n.name],raw:n.name}:n.name===fr.this_str&&(n={type:fr.THIS_EXP})):e===fr.OPAREN_CODE&&(n=this.gobbleGroup())}return n?(n=this.gobbleTokenProperty(n),this.runHook("after-token",n)):this.runHook("after-token",!1)}gobbleTokenProperty(e){this.gobbleSpaces();let t=this.code;for(;t===fr.PERIOD_CODE||t===fr.OBRACK_CODE||t===fr.OPAREN_CODE||t===fr.QUMARK_CODE;){let r;if(t===fr.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==fr.PERIOD_CODE)break;r=!0,this.index+=2,this.gobbleSpaces(),t=this.code}this.index++,t===fr.OBRACK_CODE?((e={type:fr.MEMBER_EXP,computed:!0,object:e,property:this.gobbleExpression()}).property||this.throwError('Unexpected "'+this.char+'"'),this.gobbleSpaces(),(t=this.code)!==fr.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):t===fr.OPAREN_CODE?e={type:fr.CALL_EXP,arguments:this.gobbleArguments(fr.CPAREN_CODE),callee:e}:(t===fr.PERIOD_CODE||r)&&(r&&this.index--,this.gobbleSpaces(),e={type:fr.MEMBER_EXP,computed:!1,object:e,property:this.gobbleIdentifier()}),r&&(e.optional=!0),this.gobbleSpaces(),t=this.code}return e}gobbleNumericLiteral(){let e="",t,r;for(;fr.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);if(this.code===fr.PERIOD_CODE)for(e+=this.expr.charAt(this.index++);fr.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);if("e"===(t=this.char)||"E"===t){for(e+=this.expr.charAt(this.index++),("+"===(t=this.char)||"-"===t)&&(e+=this.expr.charAt(this.index++));fr.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);fr.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+e+this.char+")")}return r=this.code,fr.isIdentifierStart(r)?this.throwError("Variable names cannot start with a number ("+e+this.char+")"):(r===fr.PERIOD_CODE||1===e.length&&e.charCodeAt(0)===fr.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:fr.LITERAL,value:parseFloat(e),raw:e}}gobbleStringLiteral(){let e="",t=this.index,r=this.expr.charAt(this.index++),n=!1;for(;this.index<this.expr.length;){let t=this.expr.charAt(this.index++);if(t===r){n=!0;break}if("\\"===t)switch(t=this.expr.charAt(this.index++)){case"n":e+="\n";break;case"r":e+="\r";break;case"t":e+=" ";break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="\v";break;default:e+=t}else e+=t}return n||this.throwError('Unclosed quote after "'+e+'"'),{type:fr.LITERAL,value:e,raw:this.expr.substring(t,this.index)}}gobbleIdentifier(){let e=this.code,t=this.index;for(fr.isIdentifierStart(e)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length;)if(e=this.code,fr.isIdentifierPart(e))this.index++;else break;return{type:fr.IDENTIFIER,name:this.expr.slice(t,this.index)}}gobbleArguments(e){let t=[],r=!1,n=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let o=this.code;if(o===e){r=!0,this.index++,e===fr.CPAREN_CODE&&n&&n>=t.length&&this.throwError("Unexpected token "+String.fromCharCode(e));break}if(o===fr.COMMA_CODE){if(this.index++,++n!==t.length){if(e===fr.CPAREN_CODE)this.throwError("Unexpected token ,");else if(e===fr.CBRACK_CODE)for(let e=t.length;e<n;e++)t.push(null)}}else if(t.length!==n&&0!==n)this.throwError("Expected comma");else{let e=this.gobbleExpression();e&&e.type!==fr.COMPOUND||this.throwError("Expected comma"),t.push(e)}}return r||this.throwError("Expected "+String.fromCharCode(e)),t}gobbleGroup(){this.index++;let e=this.gobbleExpressions(fr.CPAREN_CODE);if(this.code===fr.CPAREN_CODE)return(this.index++,1===e.length)?e[0]:!!e.length&&{type:fr.SEQUENCE_EXP,expressions:e};this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:fr.ARRAY_EXP,elements:this.gobbleArguments(fr.CBRACK_CODE)}}}Object.assign(fr,{hooks:new class{add(e,t,r){if("string"!=typeof arguments[0])for(let e in arguments[0])this.add(e,arguments[0][e],arguments[1]);else(Array.isArray(e)?e:[e]).forEach(function(e){this[e]=this[e]||[],t&&this[e][r?"unshift":"push"](t)},this)}run(e,t){this[e]=this[e]||[],this[e].forEach(function(e){e.call(t&&t.context?t.context:t,t)})}},plugins:new class{constructor(e){this.jsep=e,this.registered={}}register(...e){e.forEach(e=>{if("object"!=typeof e||!e.name||!e.init)throw Error("Invalid JSEP plugin format");this.registered[e.name]||(e.init(this.jsep),this.registered[e.name]=e)})}}(fr),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"??":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10,"**":11},right_associative:new Set(["**"]),additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"}),fr.max_unop_len=fr.getMaxKeyLen(fr.unary_ops),fr.max_binop_len=fr.getMaxKeyLen(fr.binary_ops);let fn=e=>new fr(e).parse(),fo=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(fr).filter(e=>!fo.includes(e)&&void 0===fn[e]).forEach(e=>{fn[e]=fr[e]}),fn.Jsep=fr,fn.plugins.register({name:"ternary",init(e){e.hooks.add("after-expression",function(t){if(t.node&&this.code===e.QUMARK_CODE){this.index++;let r=t.node,n=this.gobbleExpression();if(n||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let o=this.gobbleExpression();if(o||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:r,consequent:n,alternate:o},r.operator&&e.binary_ops[r.operator]<=.9){let n=r;for(;n.right.operator&&e.binary_ops[n.right.operator]<=.9;)n=n.right;t.node.test=n.right,n.right=t.node,t.node=r}}else this.throwError("Expected :")}})}});let fi="ArrowFunctionExpression",fa={Array,Boolean,Symbol,Infinity,NaN,Math,Number,BigInt,String,RegExp,JSON,isFinite,isNaN,parseFloat,parseInt,decodeURI,encodeURI,encodeURIComponent,Object:{__proto__:void 0,assign:Object.assign.bind(null),fromEntries:Object.fromEntries.bind(null),hasOwn:Object.hasOwn.bind(null),keys:Object.keys.bind(null),is:Object.is.bind(null),values:Object.values.bind(null)}},fs={...fa,Promise};function fl(e,t={}){return fh(e,t,fg)}async function fu(e,t={}){return fm(e,t,fg)}function fc(e,t={}){return fh(e,t,fb)}function fd(e,t={}){return fm(e,t,fb)}function fp(e,t={}){return fh(e,t,fv)}function ff(e,t={}){return fm(e,t,fv)}function fh(e,t={},r){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let n=fS(t,fa),o=fw("string"==typeof e?fn(e):e,n);if(r(o))return o;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}}async function fm(e,t={},r){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))return Promise.reject(`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`);if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let n=fS(t,fs);return Promise.resolve(fw("string"==typeof e?fn(e):e,n)).then(t=>{if(r(t))return t;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}})}function fy(e){return fn(e)}function fg(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function fb(e){return"boolean"==typeof e}function fv(e){return"number"==typeof e}function fw(e,t){switch(e.type){case"UnaryExpression":var r,n,o,i,a,s,l,u,c,d,p,f,h,m=e,y=t;let g=fw(m.argument,y);switch(m.operator){case"+":return+g;case"-":return-g;case"~":return~g;case"!":return!g;default:throw`Expression evaluator does not support operator '${m.operator}''`}case"BinaryExpression":var b=e,v=t;switch(b.operator){case"&&":return fw(b.left,v)&&fw(b.right,v);case"||":return fw(b.left,v)||fw(b.right,v);case"??":return fw(b.left,v)??fw(b.right,v)}let w=fw(b.left,v),x=fw(b.right,v);switch(b.operator){case"+":return w+x;case"-":return w-x;case"*":return w*x;case"/":return w/x;case"%":return w%x;case"**":return w**x;case"==":return w==x;case"===":return w===x;case"!=":return w!=x;case"!==":return w!==x;case">":return w>x;case">=":return w>=x;case"<":return w<x;case"<=":return w<=x;case"in":return w in x;default:throw`Expression evaluator does not support operator '${b.operator}' operator`}case"ConditionalExpression":return r=e,n=t,fw(r.test,n)?fw(r.consequent,n):fw(r.alternate,n);case"CallExpression":return fP(fx(e,t));case"ArrowFunctionExpression":let E;return o=e,i=t,E=o.params?.map(e=>{if("Identifier"===e.type)return e.name;throw`Cannot handle parameter of type ${e.type}`})??[],(function(...e){if(e.length<E.length)throw`Required argument(s) ${E.slice(e.length,-1).join(", ")} were not provided`;let t=Object.fromEntries(E.reduce((t,r,n)=>{let o=e[n];return function e(t){if("string"==typeof t||"number"==typeof t||"boolean"==typeof t||"function"==typeof t||null===t||t instanceof RegExp)return!0;if("object"==typeof t){for(let r of Object.keys(t))if(!e(t[r]))return!1;return!0}if(Array.isArray(t)){for(let r of t)if(!e(r))break}return!1}(o)&&t.push([r,o]),t},[]));return fw(o.body,i.addVariables(t))}).bind(null);case"MemberExpression":return fP(fE(e,t));case"ArrayExpression":return a=e,s=t,a.elements?.map(fC(s));case"SequenceExpression":let S;return l=e,u=t,(S=l.expressions.map(fC(u)))[S.length-1];case"NewExpression":var D=e,O=t;if(D.callee&&"Identifier"===D.callee.type){let e=D.arguments?.map(fC(O));switch(D.callee.name){case"Date":return new Date(...e);case"RegExp":return new RegExp(...e);default:throw`Cannot instantiate object of type ${D.callee.name}`}}if(D.callee)throw"new must be called with either Date or RegExp";throw'Could not handle "new" without a specified class';case"Literal":return e.value;case"Identifier":return c=e,d=t,(fk(c.name),d.variables&&Object.hasOwn(d.variables,c.name))?d.variables[c.name]:Object.hasOwn(d.globals,c.name)?d.globals[c.name]:void 0;case"TemplateLiteral":let P,C;return p=e,f=t,P=p.expressions?.map(fC(f))??[],(C=p.quasis?.map(fC(f))??[]).filter(e=>!e.tail).map(e=>e.value).join("")+P.join("")+C.filter(e=>e.tail).map(e=>e.value).join("");case"TemplateElement":return{value:(h=e).cooked,tail:h.tail};default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function f_(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return f_(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function fx(e,t){let r=fO(e.callee,t);if(r===fD||e.optional&&null==r)return fD;let n=e.arguments?.map(fC(t));if(r){if("function"!=typeof r)throw`${fR(e.callee)} is not a function`}else throw`No function named ${fR(e.callee)} is defined in this context`;return r(...n)}function fE(e,t){let r=fO(e.object,t);if(r===fD||e.optional&&null==r)return fD;if(null===r)throw TypeError(`TypeError: cannot read properties of null (reading '${fT(e.property,t)}')`);if(void 0===r)switch(e.object.type){case"Identifier":{let r=f_(e.object,t);throw ReferenceError(`ReferenceError: ${r} is not defined`)}case"MemberExpression":throw TypeError(`TypeError: cannot read properties of undefined (reading '${fT(e.property,t)}')`);default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}if("object"!=typeof r&&"function"!=typeof r&&"string"!=typeof r&&"number"!=typeof r)throw`VisitMemberExpression does not support member access on type ${typeof r}`;let n=e.computed?function(e){if(void 0===e)throw{type:"Illegal property access",message:"No property was supplied to the property access"};if("string"!=typeof e&&"number"!=typeof e)throw{type:"Illegal property access",message:`Cannot use a value of type ${null===e?"null":typeof e} as a property name`};return e}(fw(e.property,t)):function(e){if("Identifier"!==e.type)throw`VisitMemberExpression does not support a property of type '${e.type}'`;return e.name}(e.property);fk(n),function(e,t){if(fj.has(String(t)))return;let r=Object(e);for(;null!==r;){if(Object.hasOwn(r,t)){if(r===Object.prototype||r===Function.prototype)throw{type:"Illegal property access",message:`Cannot access the ${t} property of objects`};return}r=Object.getPrototypeOf(r)}}(r,n);let o=r[n];return"function"==typeof o?o.bind(r):o}function fS(e,t){let r={variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return r.addVariables.bind(r),r}fn.plugins.register({name:"arrow",init(e){e.addBinaryOp("=>",.1,!0),e.hooks.add("gobble-expression",function(t){if(this.gobbleSpaces(),this.code===e.OPAREN_CODE){let r=this.index;if(this.index++,this.gobbleSpaces(),this.code===e.CPAREN_CODE){this.index++;let e=this.gobbleBinaryOp();if("=>"===e){let r=this.gobbleBinaryExpression();r||this.throwError("Expected expression after "+e),t.node={type:fi,params:null,body:r};return}}this.index=r}}),e.hooks.add("after-expression",function(t){!function t(r){r&&(Object.values(r).forEach(e=>{e&&"object"==typeof e&&t(e)}),"=>"===r.operator&&(r.type=fi,r.params=r.left?[r.left]:null,r.body=r.right,r.params&&r.params[0].type===e.SEQUENCE_EXP&&(r.params=r.params[0].expressions),delete r.left,delete r.right,delete r.operator))}(t.node)})}}),fn.plugins.register({name:"new",init(e){e.addUnaryOp("new"),e.hooks.add("after-token",function(t){let r=t.node;if(r&&"new"===r.operator){r.argument&&[e.CALL_EXP,e.MEMBER_EXP].includes(r.argument.type)||this.throwError("Expected new function()"),t.node=r.argument;let n=t.node;for(;n.type===e.MEMBER_EXP||n.type===e.CALL_EXP&&n.callee.type===e.MEMBER_EXP;)n=n.type===e.MEMBER_EXP?n.object:n.callee.object;n.type="NewExpression"}})}}),fn.plugins.register({name:"numbers",init(e){function t(e){return"x"===e||"X"===e?(this.index+=2,[[48,57],[65,70],[97,102]]):"b"===e||"B"===e?(this.index+=2,[[48,49]]):"o"===e||"O"===e||e>="0"&&e<="7"?(this.index+=e<="7"?1:2,[[48,55]]):null}function r(t){let r=this.index,n="",o=()=>{for(;e.isDecimalDigit(this.code)||95===this.code;)95===this.code?this.index++:n+=this.expr.charAt(this.index++)};o(),this.code===e.PERIOD_CODE&&(n+=this.expr.charAt(this.index++),o());let i=this.char;("e"===i||"E"===i)&&(n+=this.expr.charAt(this.index++),("+"===(i=this.char)||"-"===i)&&(n+=this.expr.charAt(this.index++)),o(),e.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+n+this.char+")"));let a=this.code;if(e.isIdentifierStart(a))this.throwError("Variable names cannot start with a number ("+n+this.char+")");else if(a===e.PERIOD_CODE){n.length>1&&this.throwError(`Unexpected period ${JSON.stringify({chCode:a,number:n},null,2)}`),this.index=r;return}t.node={type:e.LITERAL,value:parseFloat(n),raw:this.expr.substring(r,this.index)}}e.hooks.add("gobble-token",function(n){if(48===this.code){var o,i,a;let s=this.index,l=this.expr.charAt(this.index+1),u=t.call(this,l);if(!u)return;let c="";for(;o=this.code,i=u,95===o||i.some(([e,t])=>o>=e&&o<=t);)95===this.code?this.index++:c+=this.expr.charAt(this.index++);if(e.isIdentifierPart(this.code)){if(e.isDecimalDigit(this.code)&&e.isDecimalDigit(l.charCodeAt(0))){this.index=s+1,r.call(this,n);return}this.throwError("unexpected char within number")}n.node={type:e.LITERAL,value:parseInt(c,"x"===(a=l)||"X"===a?16:"b"===a||"B"===a?2:8),raw:this.expr.substring(s,this.index)}}else(e.isDecimalDigit(this.code)||this.code===e.PERIOD_CODE)&&r.call(this,n)})}}),fn.plugins.register({name:"regex",init(e){e.hooks.add("gobble-token",function(t){if(47===this.code){let r=++this.index,n=!1;for(;this.index<this.expr.length;){if(47===this.code&&!n){let n,o=this.expr.slice(r,this.index),i="";for(;++this.index<this.expr.length;){let e=this.code;if(e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57)i+=this.char;else break}try{n=new RegExp(o,i)}catch(e){this.throwError(e.message)}return t.node={type:e.LITERAL,value:n,raw:this.expr.slice(r-1,this.index)},t.node=this.gobbleTokenProperty(t.node),t.node}this.code===e.OBRACK_CODE?n=!0:n&&this.code===e.CBRACK_CODE&&(n=!1),this.index+=92===this.code?2:1}this.throwError("Unclosed Regex")}})}}),fn.plugins.register({name:"ternary",init(e){e.hooks.add("after-expression",function(t){if(t.node&&this.code===e.QUMARK_CODE){this.index++;let r=t.node,n=this.gobbleExpression();if(n||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let o=this.gobbleExpression();if(o||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:r,consequent:n,alternate:o},r.operator&&e.binary_ops[r.operator]<=.9){let n=r;for(;n.right.operator&&e.binary_ops[n.right.operator]<=.9;)n=n.right;t.node.test=n.right,n.right=t.node,t.node=r}}else this.throwError("Expected :")}})}}),fn.plugins.register({name:"jsepTemplateLiteral",init(e){function t(e,r=!0){if(96===this.code){let t={type:"TemplateLiteral",quasis:[],expressions:[]},n="",o="",i=!1,a=this.expr.length,s=()=>t.quasis.push({type:"TemplateElement",value:{raw:o,cooked:n},tail:i});for(;this.index<a;){let a=this.expr.charAt(++this.index);if("`"===a)return this.index+=1,i=!0,s(),e.node=t,r&&(e.node=this.gobbleTokenProperty(e.node)),e.node;if("$"===a&&"{"===this.expr.charAt(this.index+1))this.index+=2,s(),o="",n="",t.expressions.push(...this.gobbleExpressions(125)),125!==this.code&&this.throwError("unclosed ${");else if("\\"===a)switch(o+=a,a=this.expr.charAt(++this.index),o+=a,a){case"n":n+="\n";break;case"r":n+="\r";break;case"t":n+=" ";break;case"b":n+="\b";break;case"f":n+="\f";break;case"v":n+="\v";break;default:n+=a}else n+=a,o+=a}this.throwError("Unclosed `")}}e.hooks.add("gobble-token",t),e.hooks.add("after-token",function(r){if((r.node.type===e.IDENTIFIER||r.node.type===e.MEMBER_EXP)&&96===this.code)return r.node={type:"TaggedTemplateExpression",tag:r.node,quasi:t.bind(this)(r,!1)},r.node=this.gobbleTokenProperty(r.node),r.node})}}),fn.addBinaryOp("in",7),fn.addBinaryOp("??",1);let fD=Symbol("optional chain short-circuited");function fO(e,t){switch(e.type){case"MemberExpression":return fE(e,t);case"CallExpression":return fx(e,t);default:return fw(e,t)}}function fP(e){return e===fD?void 0:e}function fC(e){return function(t){return null===t?null:fw(t,e)}}function fk(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}let fj=new Set(["toString","valueOf","hasOwnProperty"]);function fT(e,t){try{return f_(e,t)}catch{return"<computed>"}}function fR(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function fN(e){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;let t={globals:{...fs},isLocalExpression:!1,variables:new Set};return fA("string"==typeof e?fn(e):e,t),[...t.variables]}function fA(e,t){switch(e.type){case"UnaryExpression":return n=e,o=t,fA(n.argument,o);case"BinaryExpression":return i=e,a=t,[fA(i.left,a),fA(i.right,a)].filter(Boolean);case"ConditionalExpression":return s=e,l=t,[fA(s.consequent,l),fA(s.test,l),fA(s.alternate,l)].filter(Boolean);case"CallExpression":let r;return u=e,c=t,r=fA(u.callee,c),u.arguments?.map(fM(c)),r;case"ArrowFunctionExpression":var n,o,i,a,s,l,u,c,d,p,f,h,m,y,g,b,v=e,w=t;let x={...w};x.isLocalExpression=!0;let E=v.params?.map(fM(x))??[],S=fA(v.body,x)??[];if(S&&Array.isArray(S))for(let e of S)E.includes(e)||w.variables.add(e);return;case"MemberExpression":var D=e,O=t;if(fA(D.object,O),D.computed)return void fA(D.property,O);let P={...O};P.isLocalExpression=!0,fA(D.property,P);return;case"ArrayExpression":return d=e,p=t,void d.elements?.map(fM(p));case"SequenceExpression":return f=e,h=t,void f.expressions?.map(fM(h));case"NewExpression":return m=e,y=t,void m.arguments?.map(fM(y));case"Literal":case"TemplateElement":return;case"Identifier":var C=e,k=t;if(!(C.name in k.globals))if(k.isLocalExpression)return C.name;else k.variables.add(C.name);return;case"TemplateLiteral":return g=e,b=t,void(g.expressions?.map(fM(b)),g.quasis?.map(fM(b)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function fM(e){return function(t){return null===t?null:fA(t,e)}}let f$=J("feature-flags",{flags:function(){let e={};for(let t of Object.keys(localStorage))if(t.startsWith("openmrs:feature-flag:")){let r=t.replace("openmrs:feature-flag:",""),n=JSON.parse(localStorage.getItem(`openmrs:feature-flag-meta:${r}`)||"{}");e[r]={enabled:"true"===localStorage.getItem(t),...n}}return e}()});function fI(e,t,r){f$.setState(n=>({flags:{...n.flags,[e]:{enabled:n.flags[e]?.enabled??!1,label:t,description:r}}}))}function fL(){let e=f$.getState().flags;Object.keys(localStorage).filter(e=>e.startsWith("openmrs:feature-flag:")).forEach(t=>{let r=t.replace("openmrs:feature-flag:","");e[r]||(localStorage.removeItem(t),localStorage.removeItem(`openmrs:feature-flag-meta:${r}`))})}function fF(e){return f$.getState().flags[e].enabled}function fB(e,t){f$.subscribe(r=>{t(r.flags[e].enabled)})}function fV(e,t){f$.setState(r=>({flags:{...r.flags,[e]:{...r.flags[e],enabled:t}}}))}function fU(e){return!window.offlineEnabled||(e??navigator.onLine)}f$.subscribe(e=>{for(let[t,r]of Object.entries(e.flags))localStorage.setItem(`openmrs:feature-flag:${t}`,r.enabled.toString()),localStorage.setItem(`openmrs:feature-flag-meta:${t}`,JSON.stringify({label:r.label,description:r.description}))});var fW=rp(function(e,t,r){ro(e,t,r)});function fz(e=!0,t=!1){return fK(fU(),e,t)}function fK(e,t=!0,r=!1){return!!(e?t:r)}let fH=Y("extensionsInternal",{slots:{},extensions:{}}),fG=Y("extensionRenderings",{renderings:new Map}),fq=()=>J("extensionsInternal",{slots:{},extensions:{}}),fY=()=>J("extensionRenderings",{renderings:new Map});function fZ(e){let t=fH.getState(),r=e(t);r!==t&&fH.setState(r)}let fJ=null,fX=null;function fQ(){let e=fG.getState();return fJ&&e===fX||(fJ=new Map(e.renderings),fX=e,function(e){for(let t of(f8.clear(),e.values()))ht(t,1);he=!0}(fJ)),fJ}function f0(e){fX={renderings:e},fG.setState(fX,!0)}function f1(e){let t=fQ();t.has(e.renderingId)||(t.set(e.renderingId,e),ht(e,1),f0(t))}function f2(e){let t=fQ(),r=t.get(e);r&&(t.delete(e),ht(r,-1),f0(t))}let f4=()=>J("extensions",{slots:{}}),f3=0,f6=new Set;function f5(e){f3++;try{return e()}finally{if(0==--f3&&f6.size>0){let e=Array.from(f6);for(let t of(f6.clear(),e))f9(t)}}}function f9(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function f7(e){f3>0?f6.add(e):f9(e)}let f8=new Map,he=!1;function ht(e,t){let r=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),n=f8.get(r);if(!n){if(t<0)return;f8.set(r,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),he=!0;return}n.count+=t,n.count<1&&(f8.delete(r),he=!0)}function hr(){var e,t;if(fQ(),!he)return;he=!1;let r=Array.from(f8.values(),({record:e})=>e);r.sort(hn),e=nZ.getState().mountedExtensions,t=r,e.length===t.length&&e.every((e,r)=>0===hn(e,t[r]))||nZ.setState({mountedExtensions:r})}function hn(e,t){return ho(e.slotName,t.slotName)||ho(e.extensionId,t.extensionId)||ho(e.slotModuleName,t.slotModuleName)||ho(e.extensionModuleName,t.extensionModuleName)}function ho(e,t){return e===t?0:e<t?-1:1}hr(),fG.subscribe(()=>f7(hr));let hi=fq(),ha=f4(),hs=nX(),hl=n1(),hu=new Set,hc=!1;function hd(e){if(null===e)hu=null;else if(null!==hu)for(let t of e)hu.add(t);f7(hp)}function hp(){if(!hc){hc=!0;try{for(let e=1;;e++){let t=hu;if(null!==t&&0===t.size)return;hu=new Set;try{!function(e,t,r,n,o,i=null){let a=ha.getState().slots,s={},l=!1,u=fU(),c=Object.entries(n.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[n,d]of Object.entries(e.slots)){let p=a[n];if(p&&i&&!i.has(n)){s[n]=p;continue}let{config:f}=n0(t,d.name),h=function(e,t,r,n,o,i,a){let s=function(e,t){let r=e.add||[],n=e.remove||[],o=e.order||[],{extensions:i}=hi.getState();return[...t,...r].filter(e=>!n.includes(e)).sort((e,r)=>hE(e,o,i[hy(e)]?.order,t)-hE(r,o,i[hy(r)]?.order,t))}(r,t.slots[e].attachedIds),l=[];for(let u of s){let{config:s}=n4(n,e,u),c=n3(r,e,u),d=c?fW({},s,c):s,p=hy(u),f=t.extensions[p];if(f){let e=d?.["Display conditions"]?.privileges??f.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!a?.user||!az(e,a.user))||f.featureFlag&&!o.includes(f.featureFlag)||window.offlineEnabled&&!fK(i,f.online,f.offline))continue;l.push({id:u,name:p,moduleName:f.moduleName,config:d,featureFlag:f.featureFlag,meta:f.meta,online:d?.["Display conditions"]?.online??f.online??!0,offline:d?.["Display conditions"]?.offline??f.offline??!1,displayConditionExpression:d?.["Display conditions"]?.expression||f.displayExpression})}}return l}(n,e,f,r,c,u,o.session);p&&p.moduleName===d.moduleName&&r4(p.candidateExtensions,h)?s[n]=p:(s[n]={moduleName:d.moduleName,candidateExtensions:h},l=!0)}(l||Object.keys(a).length!==Object.keys(s).length)&&ha.setState({slots:s})}(hi.getState(),hs.getState(),hl.getState(),f$.getState(),aI.getState(),t)}catch(e){throw hu=null===t||null===hu?null:new Set([...t,...hu]),e}if(e>=20)return void console.error("The extension system stopped recomputing after 20 passes because something keeps invalidating slots in response to the extension store being written. Some slots are left stale until the next write.")}}finally{hc=!1}}}function hf(e,t){let r=new Set;for(let n of Object.keys(e))e[n]!==t[n]&&r.add(n);for(let n of Object.keys(t))n in e||r.add(n);return r}function hh(){hd(null)}function hm(e,t){return{moduleName:t,name:e,attachedIds:[]}}function hy(e){let[t]=e.split("#");return t}function hg(e,t){let r=hy(t);return e.extensions[r]}function hb(e){return hg(hi.getState(),e)}hi.subscribe((e,t)=>{hd(e.extensions!==t.extensions?null:hf(e.slots,t.slots))}),hs.subscribe((e,t)=>{hd(hf(e.slots,t.slots))}),hl.subscribe((e,t)=>{hd(hf(e.configs,t.configs))}),f$.subscribe(()=>hd(null)),aI.subscribe(()=>hd(null)),hh(),b(hh);let hv=e=>fZ(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function hw(e,t){fZ(r=>{let n=r.slots[e];return n?{...r,slots:{...r.slots,[e]:{...n,attachedIds:[...n.attachedIds,t]}}}:{...r,slots:{...r.slots,[e]:{...hm(e),attachedIds:[t]}}}})}function h_(e,t){fZ(r=>{let n=r.slots[e];return n&&n.attachedIds.includes(t)?{...r,slots:{...r.slots,[e]:{...n,attachedIds:n.attachedIds.filter(e=>e!==t)}}}:r})}function hx(e){fZ(t=>{let r=t.slots[e];return r?{...t,slots:{...t.slots,[e]:{...r,attachedIds:[]}}}:t})}function hE(e,t,r,n){let o=t.indexOf(e);if(-1!==o)return o;{if(void 0!==r)return 1e3+r;let t=n.indexOf(e);return -1!==t?2e3+t:3e3}}function hS(e,t){return function(e,t,r=null,n){let o;return e.filter(e=>{let i=e.displayConditionExpression;if("string"!=typeof i||0===i.trim().length)return!0;o??(o=t&&"object"==typeof t?{session:r,...t}:{session:r});try{return!!fc(i,o)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(n?` in ${n}`:""),t),!1}})}(hD(e),t,aI.getState().session,e)}function hD(e){return ha.getState().slots[e]?.candidateExtensions??[]}let hO=(e,t)=>hi.setState(r=>{let n=r.slots[t]?.moduleName;if(n&&n!=e)return console.warn(`An extension slot with the name '${t}' already exists. Refusing to register the same slot name twice (in "registerExtensionSlot"). The existing one is from module ${n}.`),r;if(n&&n==e)return r;if(r.slots[t])return{...r,slots:{...r.slots,[t]:{...r.slots[t],moduleName:e}}};let o=hm(t,e);return{...r,slots:{...r.slots,[t]:{...o}}}}),hP=()=>{hu=null,fZ(()=>({slots:{},extensions:{}})),fY().setState({renderings:new Map}),ha.setState({slots:{}})},hC=Y("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function hk({name:e,basePath:t,mode:r,componentContext:n,state:o}){hC.setState({slotName:e,basePath:t,mode:r??"normal",componentContext:n,state:o})}function hj(e){hC.getState().slotName===e&&hC.setState(hC.getInitialState(),!0)}let hT=Y("modalRegistry",{modals:{}});function hR(e){hT.setState(t=>(t.modals[e.name]=e,t))}function hN(e){let t=hT.getState().modals[e];if(!t){let r=hb(e);r&&(t={name:e,load:r.load,moduleName:r.moduleName},console.warn(`Modal ${e} was registered as an extension. This is deprecated and will be removed in the future. Please register it in the "modals" section of routes.json instead of the "extensions" section.`),hR(t))}return t}let hA=Y("workspaceRegistrations",{workspaces:{}}),hM=Y("workspaceGroups",{workspaceGroups:{}});function h$(e){hA.setState(t=>({workspaces:{...t.workspaces,[e.name]:{...e,load:e.load,preferredWindowSize:e.preferredWindowSize??"normal",type:e.type??"form",canHide:e.canHide??!1,canMaximize:e.canMaximize??!1,width:e.width??"narrow",groups:e.groups??[]}}}))}function hI(e){hM.setState(t=>{let r=t.workspaceGroups[e.name];return r?{workspaceGroups:{...t.workspaceGroups,[e.name]:{...r,members:Array.from(new Set([...r.members,...e.members]))}}}:{workspaceGroups:{...t.workspaceGroups,[e.name]:{name:e.name,members:e.members}}}})}let hL=new Set;function hF(e){let t=hA.getState().workspaces;if(t[e])return t[e];{let t=hb(e);if(t){var r;let n;return hL.has(e)||(console.warn(`The workspace '${e}' is registered as an extension. This is deprecated. Please register it in the "workspaces" section of the routes.json file.`),hL.add(e)),{name:t.name,title:(r=t,"string"==typeof(n=r?.meta?.title)?n:n&&"object"==typeof n?sN(r.moduleName,n.key,n.default):r.name),moduleName:t.moduleName,preferredWindowSize:t.meta?.screenSize??"normal",load:t.load,type:t.meta?.type??"form",canHide:t.meta?.canHide??!1,canMaximize:t.meta?.canMaximize??!1,width:t.meta?.width??"narrow",groups:t.meta?.groups??[]}}throw Error(`No workspace named '${e}' has been registered.`)}}function hB(e){let t=hM.getState().workspaceGroups;if(t[e])return t[e];throw Error(`No workspace group named '${e}' has been registered.`)}let hV=Y("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],workspaceTitleByWorkspaceName:{},isMostRecentlyOpenedWindowHidden:!1});function hU(e){let{registeredWorkspacesByName:t,registeredWindowsByName:r}=hV.getState(),n=t[e];if(n){let t=r[n.window];if(t)return t;throw Error(`No workspace window found with name: ${n.window} for workspace: ${e}`)}throw Error(`No workspace found with name: ${e}`)}function hW(e){let{registeredGroupsByName:t,registeredWindowsByName:r}=hV.getState(),n=r[e];if(n){let r=t[n.group];if(r)return r;throw Error(`No workspace group found with name: ${n.group} for window: ${e}`)}throw Error(`No workspace window found with name: ${e}`)}function hz(e){let{openedWindows:t}=hV.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function hK(e,t){if(0==t.length)return;let{registeredGroupsByName:r}=hV.getState(),n={...r};for(let r of t){if(n[r.name])throw Error(`Cannot register workspace group ${r.name} more than once`);n[r.name]={...r,moduleName:e}}hV.setState({registeredGroupsByName:n})}function hH(e,t){if(0==t.length)return;let{registeredWindowsByName:r}=hV.getState(),n={...r};for(let r of t){if(n[r.name])throw Error(`Cannot register workspace window ${r.name} more than once`);let t={...r,moduleName:e};n[r.name]=t}hV.setState({registeredWindowsByName:n})}function hG(e,t){if(0==t.length)return;let{registeredWorkspacesByName:r}=hV.getState(),n={...r};for(let r of t){if(n[r.name])throw Error(`Cannot register workspace ${r.name} more than once`);let t={...r,moduleName:e};n[r.name]=t}hV.setState({registeredWorkspacesByName:n})}let hq=0,hY=null,hZ={bootstrap:15e3,mount:15e3,unmount:15e3};function hJ(e,t){if(e.timeouts)return e;let r=e.name??"parcel",n=Object.fromEntries(Object.keys(hZ).filter(t=>e[t]).map(n=>{var o,i;let a,s;return[n,(o=e[n],i=hZ[n],a=Array.isArray(o)?o:[o],s=e=>a.reduce((t,o,i)=>t.then(()=>{let t=o(e);return"function"==typeof t?.then&&"function"==typeof t?.catch?t:Promise.reject(Error(`Lifecycle function ${n} at array index ${i} for parcel ${r} did not return a promise`))}),Promise.resolve(void 0)),e=>{let o,a=new Promise((e,t)=>{o=setTimeout(()=>t(Error(`Lifecycle function ${n} for parcel ${r} did not settle within ${i}ms`)),i)});return Promise.race([s(e),a]).finally(()=>clearTimeout(o)).then(e=>(t(n,!1),e),e=>{throw t(n,!0),e})})]}));return{...e,...n}}async function hX(e,t){var r,n;let o,i,a,s,l,u=await (hY??(hY=new Promise((e,t)=>{iR({name:"openmrs-extension-host",bootstrap:()=>Promise.resolve(),mount:t=>(e(t.mountParcel),Promise.resolve()),unmount:()=>Promise.resolve()},{domElement:document.createElement("div")}).mountPromise.catch(t)}).catch(e=>(console.error("The host parcel used to mount extensions could not be mounted. Falling back to mounting extensions as root parcels, which leaks their DOM elements.",e),iR))),hY),c={...t},d=(o=c,i=!1,{retarget:e=>o={...e},release:a=()=>(function(e){for(let t of Object.keys(e))delete e[t]})(o),onSettled(e,t){switch(e){case"bootstrap":t&&a();return;case"mount":i||(i=t);return;case"unmount":(t||i)&&a();return}}});return n=u((r=d.onSettled,"function"==typeof e?()=>e().then(e=>hJ(e,r)):hJ(e,r)),c),s=e=>t=>e.call(n,d.retarget(t)).catch(e=>{throw"SKIP_BECAUSE_BROKEN"===n.getStatus()&&d.release(),e}),l=n.update&&s(n.update),Object.defineProperty(n,"update",{configurable:!0,enumerable:!0,get:()=>l,set:e=>{l=e&&s(e)}})}function hQ(){return h0}function h0(e,t){let r,n=hX(e,t).then(e=>r=e);return{mount:()=>n.then(e=>e.mount()),unmount:()=>n.then(e=>e.unmount()),update:e=>n.then(t=>t.update?.(e)),getStatus:()=>r?.getStatus()??"LOADING_SOURCE_CODE",get loadPromise(){return n.then(e=>e.loadPromise)},get bootstrapPromise(){return n.then(e=>e.bootstrapPromise)},get mountPromise(){return n.then(e=>e.mountPromise)},get unmountPromise(){return n.then(e=>e.unmountPromise)}}}async function h1(e,t,r,n,o=e=>e,i={}){let a=hy(n),s=hb(n),l=null;if(e){if(!s)throw Error(`Couldn't find extension '${a}' to attach to '${t}'`);let{meta:u,moduleName:c,online:d,offline:p,load:f}=s;if(fz(d,p)){let s,d=hq++,p=`${t}/${n}-${d}`;e.dataset.extensionRenderingId=p;let h=e=>{try{f2(p)}catch(t){console.error(e,t)}};try{f1({renderingId:p,extensionName:a,extensionModuleName:c,extensionId:n,slotName:t,slotModuleName:r})}catch(e){throw h(`Recomputing configuration after registering '${n}' failed also failed`),e}try{s=await f()}catch(e){throw h(`Recomputing configuration after '${n}' failed to load also failed`),e}try{l=await hX(o({...s,name:`${t}/${a}-${d}`}),{...i,_meta:u,_extensionContext:{extensionId:n,extensionSlotName:t,extensionSlotModuleName:r,extensionModuleName:c},domElement:e})}catch(e){throw h(`Recomputing configuration after '${n}' failed to mount also failed`),e}l.mountPromise.then(void 0,e=>{console.error(`Extension '${n}' in slot '${t}' failed to mount`,e),h(`Recomputing configuration after '${n}' failed to mount also failed`)}),l.unmountPromise.then(()=>h(`Recomputing configuration after unmounting '${n}' failed`),e=>{console.error(`Extension '${n}' in slot '${t}' failed to unmount`,e),h(`Recomputing configuration after '${n}' failed to unmount also failed`)})}}else console.warn(`Tried to render ${n} into ${t} but no DOM element was available.`);return l}var h2=r(7125),h4=r.n(h2);let h3=(0,h2.createContext)({moduleName:"",featureName:""});function h6({to:e,templateParams:t,onBeforeNavigate:r,children:n,...o}){return(0,h2.useEffect)(()=>{o.href&&console.warn(`ConfigurableLink does not support the href prop. Use the 'to' prop instead. The provided href value is '${o.href}'`),o.onClick&&console.warn(`ConfigurableLink does not support the onClick prop. Use the 'onBeforeNavigate' prop instead. The 'to' prop of the offending link is ${e}`)},[]),h4().createElement("a",{onClick:n=>{0===n.button&&!n.ctrlKey&&!n.shiftKey&&!n.altKey&&!n.metaKey&&(n.preventDefault(),r?.(n),aw({to:e,templateParams:t})),0===n.button&&(n.ctrlKey||n.metaKey)&&r?.(n),0===n.button&&n.shiftKey&&r?.(n),1===n.button&&r?.(n)},href:ab(e,t),...o},n)}let h5=({state:e,children:t,...r})=>{let{extension:n}=(0,h2.useContext)(h3),o=(0,h2.useRef)(null),i=(0,h2.useRef)(Promise.resolve()),a=(0,h2.useRef)(!1),s=(0,h2.useRef)(!1),l=(0,h2.useRef)(e),u=(0,h2.useCallback)(e=>{if(!e)return;let t=()=>{"MOUNTED"===e.getStatus()&&e.unmount()};switch(e.getStatus()){case"MOUNTED":e.unmount();break;case"UPDATING":i.current?.then(t,t);break;default:e.mountPromise.then(t,()=>{})}},[]),c=(0,h2.useCallback)((e,t)=>{e.update&&"UNMOUNTING"!==e.getStatus()&&(i.current=Promise.all([e.mountPromise,i.current]).then(()=>{if(o.current?.getStatus()==="MOUNTED"&&o.current.update)return o.current.update({...t})}).catch(e=>{let t=o.current?.getStatus();"UNMOUNTING"!==t&&"NOT_MOUNTED"!==t&&"UNLOADING"!==t&&console.error(`The extension '${n?.extensionId}' failed to update`,e)}))},[]),d=(0,h2.useCallback)(t=>{t&&!o.current&&!s.current&&n?.extensionSlotName&&n.extensionSlotModuleName&&(s.current=!0,h1(t,n.extensionSlotName,n.extensionSlotModuleName,n.extensionId,void 0,e).then(t=>{(s.current=!1,o.current=t,a.current)?u(t):t&&l.current!==e&&c(t,l.current)},()=>{s.current=!1}))},[]);return(0,h2.useEffect)(()=>(a.current=!1,()=>{a.current=!0,u(o.current)}),[]),(0,h2.useEffect)(()=>{l.current=e,o.current&&c(o.current,e)},[e]),n?h4().createElement("div",{ref:d,"data-extension-id":n?.extensionId,style:{position:"relative"},...r}):null};function h9(e){let t=(0,h2.useRef)(e);return F(t.current,e)||(t.current=e),t.current}function h7(e,t){"function"==typeof t&&(t=t(e));let r={};for(let[n,o]of Object.entries(t)){let t=function(...t){e.setState(e=>o(e,...t))};r[n]=t}return r}let h8=e=>e;function me(e,t=h8,r){let n=(0,h2.useCallback)(t=>e.subscribe(t),[e]),o=(0,h2.useCallback)(()=>t(e.getState()),[e,t]),i=(0,h2.useSyncExternalStore)(n,o,o),a=(0,h2.useMemo)(()=>r?h7(e,r):null,[e,r]);return(0,h2.useMemo)(()=>a?{...i,...a}:i,[i,a])}function mt(e,t){return me(e,h8,t)}function mr(e){return function(t){let r=(0,h2.useCallback)(t=>e.subscribe(t),[]),n=(0,h2.useCallback)(()=>e.getState(),[]),o=(0,h2.useSyncExternalStore)(r,n,n),i=(0,h2.useMemo)(()=>t?h7(e,t):null,[t]);return(0,h2.useMemo)(()=>i?{...o,...i}:o,[o,i])}}let mn=[];Object.freeze(mn);let mo={candidateExtensions:mn};Object.freeze(mo);let mi=e=>{let t=(0,h2.useCallback)(t=>t.slots?.[e]??mo,[e]);return me(f4(),t)},ma=e=>e.session;function ms(e,t){let{candidateExtensions:r}=mi(e),n=me(aI,ma),o=h9(t);return(0,h2.useMemo)(()=>hS(e,o),[e,o,n,r])}function ml(e,t){let{moduleName:r}=(0,h2.useContext)(h3);if(!r)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,h2.useEffect)(()=>{hO(r,e)},[r,e]),{extensions:ms(e,t),extensionSlotName:e,extensionSlotModuleName:r}}function mu(e){return e}function mc({name:e,extensionSlotName:t,select:r=mu,children:n,state:o,style:i,...a}){if(n&&o)throw Error("Both children and state have been provided. If children are provided, the state must be passed as a prop to the `Extension` component.");let s=e??t,l=(0,h2.useRef)(null),{extensions:u,extensionSlotModuleName:c}=ml(s,o),d=(0,h2.useMemo)(()=>r(u),[r,u]),p=(0,h2.useMemo)(()=>{if("function"==typeof n&&!h4().isValidElement(n))return d.map(e=>n(e,o))},[n,d]);return h4().createElement("div",{ref:l,"data-extension-slot-name":s,"data-extension-slot-module-name":c,style:{...i,position:"relative"},...a},s&&d?.map((e,t)=>h4().createElement(h3.Provider,{key:e.id,value:{moduleName:c,featureName:"",extension:{extensionId:e.id,extensionSlotName:s,extensionSlotModuleName:c}}},p?.[t]??("function"!=typeof n?n:null)??h4().createElement(h5,{state:o}))))}var md=r(5873);function mp(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function mf(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?mp(Object(r),!0).forEach(function(t){var n,o,i;n=e,o=t,i=r[t],o in n?Object.defineProperty(n,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[o]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mp(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function mh(e){return(mh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function mm(e){return(mm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function my(e,t){var r;if("function"!=typeof(r=t.domElement?function(){return t.domElement}:t.domElementGetter?t.domElementGetter:e.domElementGetter?e.domElementGetter:function(e){var t=e.appName||e.name;if(!t)throw Error("single-spa's dom-element-getter-helpers was not given an application name as a prop, so it can't make a unique dom element container for the react application");var r="single-spa-application:".concat(t);return function(){var e=document.getElementById(r);return e||((e=document.createElement("div")).id=r,document.body.appendChild(e)),e}}(t)))throw Error("single-spa's dom-element-getter-helpers was given an invalid domElementGetter for application or parcel '".concat(t.name,"'. Expected a function, received ").concat(mm(r)));return function(){var e=r(t);if(!(e instanceof HTMLElement))throw Error("single-spa's dom-element-getter-helpers: domElementGetter returned an invalid dom element for application or parcel '".concat(t.name,"'. Expected HTMLElement, received ").concat(mm(e)));return e}}var mg=null;try{mg=require("react").createContext()}catch(e){}var mb={React:null,ReactDOM:null,ReactDOMClient:null,rootComponent:null,loadRootComponent:null,errorBoundary:null,errorBoundaryClass:null,domElementGetter:null,parcelCanUpdate:!0,suppressComponentDidCatchWarning:!1,domElements:{},renderResults:{},updateResolves:{},unmountResolves:{}};function mv(e,t){return e.rootComponent?Promise.resolve():e.loadRootComponent(t).then(function(t){e.rootComponent=t})}function mw(e,t){return new Promise(function(r,n){e.suppressComponentDidCatchWarning||!function(e){if(!(e&&"string"==typeof e.version&&e.version.indexOf(".")>=0))return!1;var t=e.version.slice(0,e.version.indexOf("."));try{return Number(t)>=16}catch(e){return!1}}(e.React)||e.errorBoundary||e.errorBoundaryClass||(e.rootComponent.prototype?e.rootComponent.prototype.componentDidCatch||console.warn("single-spa-react: ".concat(t.name||t.appName||t.childAppName,"'s rootComponent should implement componentDidCatch to avoid accidentally unmounting the entire single-spa application.")):console.warn("single-spa-react: ".concat(t.name||t.appName||t.childAppName,"'s rootComponent does not implement an error boundary. If using a functional component, consider providing an opts.errorBoundary to singleSpaReact(opts).")));var o,i=mS(e,t,function(){r(this)}),a=my(e,t)(),s=function(e){var t=e.reactDom,r=e.renderType,n=e.elementToRender,o=e.domElement,i=t[r];if("function"!=typeof i)throw Error('renderType "'.concat(r,'" did not return a function.'));switch(r){case"createRoot":case"unstable_createRoot":case"createBlockingRoot":case"unstable_createBlockingRoot":var a=i(o);return a.render(n),a;case"hydrateRoot":return i(o,n);default:return i(n,o),null}}({elementToRender:i,domElement:a,reactDom:mE(e),renderType:"function"==typeof(o=e).renderType?o.renderType():o.renderType});e.domElements[t.name]=a,e.renderResults[t.name]=s})}function m_(e,t){return new Promise(function(r){e.unmountResolves[t.name]=r;var n=e.renderResults[t.name];n&&n.unmount?n.unmount():mE(e).unmountComponentAtNode(e.domElements[t.name]),delete e.domElements[t.name],delete e.renderResults[t.name]})}function mx(e,t){return new Promise(function(r){e.updateResolves[t.name]||(e.updateResolves[t.name]=[]),e.updateResolves[t.name].push(r);var n=mS(e,t,null),o=e.renderResults[t.name];if(o&&o.render)o.render(n);else{var i=my(e,t)();mE(e).render(n,i)}})}function mE(e){return e.ReactDOMClient||e.ReactDOM}function mS(e,t,r){var n=e.React.createElement(e.rootComponent,t),o=mg?e.React.createElement(mg.Provider,{value:t},n):n;return(e.errorBoundary||t.errorBoundary||e.errorBoundaryClass||t.errorBoundaryClass)&&(e.errorBoundaryClass=e.errorBoundaryClass||t.errorBoundaryClass||function(e,t){function r(t){e.React.Component.apply(this,arguments),this.state={caughtError:null,caughtErrorInfo:null},r.displayName="SingleSpaReactErrorBoundary(".concat(t.name,")")}return r.prototype=Object.create(e.React.Component.prototype),r.prototype.render=function(){return this.state.caughtError?(e.errorBoundary||t.errorBoundary)(this.state.caughtError,this.state.caughtErrorInfo,this.props):this.props.children},r.prototype.componentDidCatch=function(e,t){this.setState({caughtError:e,caughtErrorInfo:t})},r}(e,t),o=e.React.createElement(e.errorBoundaryClass,t,o)),o=e.React.createElement(e.SingleSpaRoot,mf(mf({},t),{},{mountFinished:r,updateFinished:function(){e.updateResolves[t.name]&&(e.updateResolves[t.name].forEach(function(e){return e()}),delete e.updateResolves[t.name])},unmountFinished:function(){e.unmountResolves[t.name]&&(e.unmountResolves[t.name](),delete e.unmountResolves[t.name])}}),o)}var mD=r(5921),mO=r(8909),mP=r.n(mO),mC=r(9106);let mk={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},mj=new Map;(0,mC.initCache)(mj);let mT={errorRetryCount:3,fetcher:aA,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof a$){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>mj};function mR(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},mk,e),r={...mT,...t.swrConfig};return function(e){var n,o,i,a,s;return i=o=class extends(n=h4().Component){componentDidCatch(e,r){r&&r.componentStack&&(e.extra=Object.assign(e.extra||{},{componentStack:r.componentStack})),t.throwErrorsToConsole&&setTimeout(()=>{throw e}),this.setState({caughtError:e,caughtErrorInfo:r})}render(){if(this.state.caughtError)return h4().createElement("div",null,"An error has occurred. Please try reloading the page.");{let n=h4().createElement(h2.Suspense,{fallback:null},h4().createElement(mO.SWRConfig,{value:r},h4().createElement(h3.Provider,{value:this.state.config},t.disableTranslations?h4().createElement(e,this.props):h4().createElement(mD.I18nextProvider,{i18n:window.i18next,defaultNS:this.state.config.extension?`${this.state.config.moduleName}___${this.state.config.extension.extensionSlotName}___${this.state.config.extension.extensionId}`:this.state.config.moduleName},h4().createElement(e,this.props)))));return t.strictMode&&h4().StrictMode?h4().createElement(h4().StrictMode,null,n):n}}constructor(e){super(e),this.state={caughtError:null,caughtErrorInfo:null,config:{moduleName:t.moduleName,featureName:t.featureName,extension:e._extensionContext}}}},a="displayName",s=`OpenmrsReactComponent(${t.featureName})`,a in i?Object.defineProperty(i,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[a]=s,o}}function mN(e,t){return function(e){if("object"!==mh(e))throw Error("single-spa-react requires a configuration object");var t,r=mf(mf({},mb),e);if(!r.React)throw Error("single-spa-react must be passed opts.React");if(!r.ReactDOM&&!r.ReactDOMClient)throw Error("single-spa-react must be passed opts.ReactDOM or opts.ReactDOMClient");if(r.renderType||(null!=(t=r.ReactDOMClient)&&t.createRoot?r.renderType="createRoot":r.renderType="render"),!r.rootComponent&&!r.loadRootComponent)throw Error("single-spa-react must be passed opts.rootComponent or opts.loadRootComponent");if(r.errorBoundary&&"function"!=typeof r.errorBoundary)throw Error("The errorBoundary opt for single-spa-react must either be omitted or be a function that returns React elements");!mg&&r.React.createContext&&(mg=r.React.createContext()),r.SingleSpaRoot=function(e){function t(e){t.displayName="SingleSpaRoot(".concat(e.name,")")}return t.prototype=Object.create(e.React.Component.prototype),t.prototype.componentDidMount=function(){setTimeout(this.props.mountFinished)},t.prototype.componentWillUnmount=function(){setTimeout(this.props.unmountFinished)},t.prototype.render=function(){return setTimeout(this.props.updateFinished),this.props.children},t}(r);var n={bootstrap:mv.bind(null,r),mount:mw.bind(null,r),unmount:m_.bind(null,r)};return r.parcelCanUpdate&&(n.update=mx.bind(null,r)),n}({React:h4(),ReactDOMClient:md,rootComponent:mR(t)(e)})}function mA(e,t){return()=>e().then(({default:e})=>mN(e,t))}function mM(e,t){return()=>Promise.resolve(mN(e,t))}let m$=mA,mI=W()(()=>({}));Z("openmrs-app-context",mI);let mL={};function mF(e,t=e=>e){let r=mI.getState();return e in r?Object.freeze(Object.assign({},t?t(r[e]):r[e])):null}function mB(e,t){mI.setState(r=>(e in r||(r[e]={}),r[e]=t(r[e]),Object.assign({},r)))}function mV(e){return null===e?null:Object.freeze(Object.assign({},e))}let mU=new Map;function mW(e,t){let r=(0,h2.useRef)(t??{}),n=(0,h2.useRef)(t=>mB(e,t)),o=(0,h2.useRef)(Symbol());return(0,h2.useEffect)(()=>{let r=t??{},n=o.current;return null===mF(e)?!function(e,t=mL){mI.setState(r=>{if(e in r)throw Error(`Attempted to re-register namespace ${e} in the app context. Each namespace must be unregistered before the name can be registered again.`);return Object.assign({},r,{[e]:t===mL?{}:t})})}(e,r):(console.warn(`Namespace ${e} is already registered in the app context. This is likely a race condition during navigation, but may indicate two components are trying to own the same namespace. Updating the existing context.`),mB(e,()=>r)),mU.set(e,n),()=>{mU.get(e)===n&&(mI.setState(t=>(e in t&&delete t[e],t)),mU.delete(e))}},[e]),(0,h2.useEffect)(()=>{let n=t??{};F(r.current,n)||(mB(e,()=>n),r.current=n)},[t]),n.current}function mz({namespace:e,value:t}){return mW(e,t),null}let mK=({children:e,value:t,fallback:r})=>t?h4().createElement(h4().Fragment,null,e):r?h4().createElement(h4().Fragment,null,r):null;function mH(){let e=(0,h2.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,h2.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function mG(e,t=e=>e??{}){let[r,n]=(0,h2.useState)(()=>{if(mq(e))return;let r=mF(e);if(null!==r)return t?t(r):r});return(0,h2.useEffect)(()=>{if(mq(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,h2.useEffect)(()=>{var r;let o;return(r=e=>{if(null==e)return void n(void 0);let r=t?t(e):e;n(e=>F(e,r)?e:r)})(mV(o=mF(e))),mI.subscribe(t=>{let n=e in t?t[e]:null;n!==o&&(o=n,r(mV(n)))})},[e,t]),r}function mq(e){return"string"!=typeof e||0===e.trim().length}function mY(e){let t=ms(e);return(0,h2.useMemo)(()=>t.map(e=>e.id),[t])}function mZ(e){return mi(e).candidateExtensions}function mJ(e,t,r){let{data:n,error:o,mutate:i,isLoading:a,isValidating:s}=mP()(e?l_(e,t,r):null,aA);return(0,h2.useMemo)(()=>({isLoading:a,data:n?.data.results??[],error:o,mutate:i,isValidating:s}),[n,o,a,s,i])}function mX(e){(0,h2.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let mQ={},m0=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
|
|
16
16
|
Usually this is already applied when using "getAsyncLifecycle" or "getSyncLifecycle".`;function m1(e){let{moduleName:t,extension:r}=(0,h2.useContext)(h3),n=e?.externalModuleName??t;if(!n&&!r)throw Error(m0);let o=function(e){let t=(0,h2.useMemo)(()=>nJ(e),[e]),r=function(e){let[t,r]=(0,h2.useState)(()=>{let t=e.getState();return t.loaded&&t.config?t.config:null});return(0,h2.useEffect)(()=>e?.subscribe(e=>{e.loaded&&e.config&&r(e.config)}),[e]),t}(t);if(!r)throw mQ[e]||(mQ[e]=new Promise(e=>{let r=t.subscribe(t=>{t.loaded&&t.config&&(e(t.config),r())})})),mQ[e];return r}(n),i=function(e){let t=(0,h2.useMemo)(n1,[]),r=function(e,t){let[r,n]=(0,h2.useState)(t?()=>{let r=n4(e.getState(),t.extensionSlotName,t.extensionId);if(r.loaded&&r.config)return r.config}:null);return(0,h2.useEffect)(()=>{if(t)return e.subscribe(e=>{let o=n4(e,t.extensionSlotName,t.extensionId);o.loaded&&o.config&&!r4(o.config,r)&&n(o.config)})},[e,t,r]),r}(t,e);if(!r&&e){let r=`${e.extensionSlotName}-${e.extensionId}`;throw!mQ[r]&&t&&(mQ[r]=new Promise(r=>{let n=t.subscribe(t=>{let o=n4(t,e.extensionSlotName,e.extensionId);o.loaded&&o.config&&(r(o.config),n())})})),mQ[r]}return r||{}}(r);return(0,h2.useMemo)(()=>e?.externalModuleName&&n===e.externalModuleName?{...o}:{...o,...i},[n,e?.externalModuleName,o,i])}let m2=ms;function m4(){let[e,t]=(0,h2.useState)(fU());return(0,h2.useEffect)(()=>b(({online:e})=>t(e)),[]),e}function m3(e,t=300){let[r,n]=(0,h2.useState)(e);return(0,h2.useEffect)(()=>{let r=setTimeout(()=>{n(e)},t);return()=>{clearTimeout(r)}},[e,t]),r}var m6=r(4498),m5=r.n(m6);let m9=`custom:${[["admissionDecisionConcept","ref"],["admissionEncounterType","ref"],["admissionForm","ref"],["atFacilityVisitType","ref"],["bedAssignmentEncounterType","ref"],["cancelADTRequestEncounterType","ref"],["checkInClerkEncounterRole","ref"],["checkInEncounterType","ref"],["clinicianEncounterRole","ref"],["conceptSourcesForDiagnosisSearch","ref"],["consultEncounterType","ref"],["consultFreeTextCommentsConcept","ref"],["denyAdmissionConcept","ref"],["diagnosisMetadata","ref"],["diagnosisSets","ref"],["dischargeForm","ref"],["dispositionDescriptor","ref"],["dispositions","ref"],["emrApiConceptSource","ref"],["exitFromInpatientEncounterType","ref"],["extraPatientIdentifierTypes","ref"],["fullPrivilegeLevel","ref"],["highPrivilegeLevel","ref"],["identifierTypesToSearch","ref"],["inpatientNoteEncounterType","ref"],["lastViewedPatientSizeLimit","ref"],["metadataSourceName","ref"],["motherChildRelationshipType","ref"],["narrowerThanConceptMapType","ref"],["nonDiagnosisConceptSets","ref"],["orderingProviderEncounterRole","ref"],["patientDiedConcept","ref"],["personImageDirectory","ref"],["primaryIdentifierType","ref"],["sameAsConceptMapType","ref"],["suppressedDiagnosisConcepts","ref"],["supportsAdmissionLocationTag","(uuid,display,name,links)"],["supportsLoginLocationTag","(uuid,display,name,links)"],["supportsTransferLocationTag","(uuid,display,name,links)"],["supportsVisitsLocationTag","(uuid,display,name,links)"],["telephoneAttributeType","ref"],["testPatientPersonAttributeType","ref"],["transferForm","ref"],["transferRequestEncounterType","ref"],["transferWithinHospitalEncounterType","ref"],["unknownCauseOfDeathConcept","ref"],["unknownLocation","ref"],["unknownPatientPersonAttributeType","ref"],["unknownProvider","ref"],["visitAssignmentHandlerAdjustEncounterTimeOfDayIfNecessary","ref"],["visitExpireHours","ref"],["visitNoteEncounterType","ref"]].map(([e,t])=>`${e}:${t}`).join(",")}`;function m7(){let e=`${aj}/emrapi/configuration?v=${m9}`,t=m5()(e,aA);return(0,h2.useMemo)(()=>({emrConfiguration:t.data?.data,isLoadingEmrConfiguration:t.isLoading,mutateEmrConfiguration:t.mutate,errorFetchingEmrConfiguration:t.error}),[t])}let m8=mr(fq());function ye(e){let t=ms(e);return(0,h2.useMemo)(()=>Object.fromEntries(t.map(e=>[e.name,e.meta])),[t])}let yt=mr(f4());function yr(e){let{flags:t}=me(f$);return t[e]?.enabled??!1}function yn(){let[,e]=(0,h2.useState)(0);return(0,h2.useCallback)(()=>{e(e=>e+1)},[])}function yo(e,t,r={}){return ya(e,t,yi,r)}let yi={getPaginatedUrl:(e,t,r)=>{if(!e)return null;{let n=new URL(aN(e.toString()),window.location.toString());return n.searchParams.set("limit",""+t),n.searchParams.set("startIndex",""+r),n.searchParams.set("totalCount","true"),n.toString()}},getNextUrl:e=>{let t=e?.links?.find(e=>"next"==e.rel)?.uri;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.totalCount??NaN,getCurrentPageSize:e=>e?.results?.length??NaN,getData:e=>e?.results};function ya(e,t,r,n={}){let{getPaginatedUrl:o,getTotalCount:i,getCurrentPageSize:a,getData:s}=r,{immutable:l,swrConfig:u}=n,c=n.fetcher??aA,[d,p]=(0,h2.useState)(1),f=(0,h2.useRef)(NaN),h=(0,h2.useRef)(NaN),m=(0,h2.useRef)(d),y=(0,h2.useRef)(!1),g=(0,h2.useRef)(!1),b=e?.toString()??"",[v,w]=(0,h2.useState)(b);b!==v&&(w(b),p(1),m.current=1,f.current=NaN,h.current=NaN,y.current=!1,g.current=!1);let x=(d-1)*t,E=(0,h2.useMemo)(()=>o(e,t,x),[e,t,x]),{data:S,...D}=(l?m5():mP())(E,c,u);S?.data&&(f.current=i(S?.data),h.current=a(S?.data),y.current=!0);let O=Math.ceil(f.current/t),P=(0,h2.useCallback)(e=>{if(!Number.isInteger(e)||e<1)return void console.warn(`useServerPagination: ignoring goTo(${e}); page must be a positive integer.`);let r=Math.ceil(f.current/t);!y.current||Number.isNaN(r)||e<=r?(m.current=e,p(e)):console.warn("Invalid attempt to go to out of bounds page: "+e)},[t]);(0,h2.useEffect)(()=>{if(!y.current)return;if(Number.isNaN(f.current)){g.current||(g.current=!0,console.warn(`useServerPagination: ${b} returned no total count, so out-of-range pages cannot be detected.`));return}let e=Math.max(1,Math.ceil(f.current/t));d>e&&(console.warn(`Invalid attempt to go to out of bounds page: ${d}; returning to page ${e}.`),m.current=e,p(e))},[d,t,b,S]);let C=(0,h2.useCallback)(()=>{P(m.current+1)},[P]),k=(0,h2.useCallback)(()=>{P(m.current-1)},[P]);return{data:s(S?.data),totalPages:O,totalCount:f.current,currentPage:d,currentPageSize:h.current,paginated:O>1,showNextButton:d<O,showPreviousButton:d>1,goTo:P,goToNext:C,goToPrevious:k,...D}}function ys(e,t,r={}){return ya(e,t,yl(),r)}function yl(){return{getPaginatedUrl:(e,t,r)=>{if(!e)return null;{let n=new URL(aN(e.toString()),window.location.toString());return n.searchParams.set("_count",""+t),n.searchParams.set("_getpagesoffset",""+r),n.toString()}},getNextUrl:e=>{let t=e?.link?.find(e=>"next"==e.relation)?.url;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.total??NaN,getCurrentPageSize:e=>e?.entry?.length??NaN,getData:e=>e?.entry?.map(e=>e.resource)}}var yu=r(5292),yc=r.n(yu);function yd(e,t={}){return yp(e,yi,t)}function yp(e,t,r={}){let{swrInfiniteConfig:n,immutable:o}=r,{getNextUrl:i,getTotalCount:a,getData:s}=t,l=r.fetcher??aA,u=(0,h2.useCallback)((r,n)=>0==r?e?.toString()??null:t.getNextUrl(n.data),[e]),{data:c,size:d,setSize:p,...f}=yc()(u,l,{...n,...o?{revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1}:{}}),h=i(c?.[c.length-1].data),m=a(c?.[0]?.data);return{data:c?.flatMap(e=>s(e.data)),totalCount:m,hasMore:null!=h,loadMore:()=>{p((c?.length??0)+1)},nextUri:h,...f}}function yf(e,t={}){return yh(e,yi,t)}function yh(e,t,r={}){let n=yp(e,t,r),{hasMore:o,error:i,data:a,loadMore:s,isLoading:l,nextUri:u}=n;return((0,h2.useEffect)(()=>{o&&!i&&s()},[o,u]),r.partialData)?n:{...n,data:o||i?void 0:a,isLoading:l||o}}function ym(e,t={}){return yh(e,yl(),t)}function yy(e,t={}){return yp(e,yl(),t)}function yg(){let e="tablet";return document.body.classList.forEach(t=>{switch(t){case"omrs-breakpoint-lt-tablet":e="phone";break;case"omrs-breakpoint-gt-small-desktop":e="large-desktop";break;case"omrs-breakpoint-gt-tablet":e="small-desktop"}}),e}function yb(){let[e,t]=(0,h2.useState)(yg);return(0,h2.useEffect)(()=>{let e=()=>{t(yg())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}let yv=e=>"small-desktop"===e||"large-desktop"===e;function yw(e){let t=(0,h2.useContext)(h3);(0,h2.useEffect)(()=>(t&&t.moduleName&&(e.componentContext=t),hk(e),()=>{hj(e.name)}),[t,e])}function y_(){return me(hC)}function yx(e=null,t=null){let[r,n]=(0,h2.useState)([]);return(0,h2.useEffect)(()=>{let r=pG(e,t).subscribe(e=>{n(e)},e=>{console.error(e)});return()=>r.unsubscribe()},[e,t]),r}function yE(e,t=!0){let r=(0,h2.useRef)(null);return(0,h2.useEffect)(()=>{let n=n=>{t&&r.current&&n.target&&n.target instanceof Node&&(r.current.contains(n.target)||e(n))};return window.addEventListener("mousedown",n),window.addEventListener("touchstart",n),()=>{window.removeEventListener("mousedown",n),window.removeEventListener("touchstart",n)}},[e,t]),r}function yS(e){let t=(0,h2.useRef)();return(0,h2.useEffect)(()=>{let r=new IntersectionObserver(t=>{for(let r of t)if(r.isIntersecting)return void e()},{threshold:1});return t.current&&r.observe(t.current),()=>{t.current&&r.unobserve(t.current)}},[t.current,e]),t}function yD(e,t={}){let{abortController:r,fetchInit:n,url:o,swrConfig:i}=t,a=mH(),s=(0,h2.useMemo)(()=>n?.signal??r?.signal??a.signal,[r?.signal,n?.signal,a.signal]),l=(0,h2.useCallback)(e=>aA(function(e,t){if(t)return"function"==typeof t?t(e):t;if("string"==typeof e)return e;throw Error(`When using useOpenmrsSWR with a key that is not a string, you must provide a url() function that converts the key to a valid url. The key for this hook is ${e}.`)}(e,o),{...n,signal:s}),[s,n,o]);return mP()(e,l,i)}function yO(e=[],t=10){let[r,n]=(0,h2.useState)(1),o=(0,h2.useMemo)(()=>"number"==typeof t&&t>0?Math.max(1,Math.ceil(e.length/t)):1,[e.length,t]);r>o&&n(o);let i=Math.min(Math.max(1,r),o),a=(0,h2.useMemo)(()=>{let r=(i-1)*t,n=(i+0)*t;return e.slice(r,n)},[e,i,t]),s=(0,h2.useCallback)(e=>{!Number.isInteger(e)||e<1?console.warn(`usePagination: ignoring goTo(${e}); page must be a positive integer.`):n(e)},[]),l=(0,h2.useCallback)(()=>{n(e=>e+1)},[]),u=(0,h2.useCallback)(()=>{n(e=>Math.max(1,e-1))},[]);return(0,h2.useMemo)(()=>({results:a,totalPages:o,currentPage:i,paginated:e.length>t,showNextButton:i<o,showPreviousButton:i>1,goTo:s,goToNext:l,goToPrevious:u}),[a,o,e.length,t,i,s,l,u])}function yP(e,t,r,n){return{pageSizes:(0,h2.useMemo)(()=>{let r=Math.ceil(t/e);return isNaN(r)&&(r=0),[...Array(r).keys()].map(t=>(t+1)*e)},[e,t]),pageItemsCount:(0,h2.useMemo)(()=>e>t?t:e*r>t?e*(r-1)+n:e*r,[e,t,r,n])}}function yC(){let e=/\/patient\/([a-zA-Z0-9\-]+)\/?/.exec(location.pathname);return e&&e[1]}function yk(e){let[t,r]=(0,h2.useState)(e??yC()),{data:n,error:o,isValidating:i}=mP()(t?["patient",t]:null,()=>pV(t,{}));return(0,h2.useEffect)(()=>{let e=()=>{let e=yC();e!==t&&r(e)};return window.addEventListener("single-spa:routing-event",e),()=>window.removeEventListener("single-spa:routing-event",e)},[t]),(0,h2.useMemo)(()=>({isLoading:i&&!o&&!n,patient:n,patientUuid:t,error:o}),[i,o,n,t])}function yj(){let e=`${aj}/metadatamapping/termmapping?v=custom:(metadataUuid)&code=emr.primaryIdentifierType`,{data:t,error:r,isLoading:n}=mP()(e,aA);return(0,h2.useMemo)(()=>({primaryIdentifierCode:t?.data?.results[0]?.metadataUuid,isLoading:n,error:r}),[t,r,n])}function yT(e){let{extensions:t,extensionSlotModuleName:r}=ml(e);return e?t.map(t=>({state:n})=>h4().createElement(h3.Provider,{value:{moduleName:r,featureName:"",extension:{extensionId:t.id,extensionSlotName:e,extensionSlotModuleName:r}}},h4().createElement(h5,{state:n}))):[]}function yR(){let e=(0,h2.useRef)(),[t,r]=(0,h2.useState)(null),n=null;if(!t){if(s){let e=aB().getState();e.loaded&&(n=e.session)}else s=new Promise(t=>{let r=({loaded:r,session:o})=>{r&&(t(o),n=o,e.current&&(e.current(),e.current=void 0))};r(aB().getState()),n||(e.current=aB().subscribe(r))});if(n)r(n);else throw s}(0,h2.useEffect)(()=>(e.current||(e.current=aB().subscribe(({loaded:e,session:t})=>{e&&(n=t,r(t))})),()=>{e.current&&(e.current(),e.current=void 0)}),[]);let o=t||n;if(!o)if(s)throw console.warn("useSession is in an unexpected state. Attempting to recover."),s;else throw Error("useSession is in an invalid state.");return o}let yN=({privilege:e,fallback:t,children:r})=>{let[n,o]=(0,h2.useState)(null);return((0,h2.useEffect)(()=>{let e=aF({includeAuthStatus:!1}).subscribe(o);return()=>e.unsubscribe()},[]),n&&az(e,n))?h4().createElement(h4().Fragment,null,r):t?h4().createElement(h4().Fragment,null,t):null};var yA=r(3464),yM=r.n(yA),y$=r(5602);let yI=new Map;function yL(){for(let e of Array.from(yI.values()))e()}let yF={setVisitContext:(e,t)=>null==t?{manuallySetVisitUuid:null}:{manuallySetVisitUuid:t.uuid,patientUuid:t.patient?.uuid}};function yB(e){let t=(0,h2.useId)();return(0,h2.useEffect)(()=>{if(e)return yI.set(t,e),()=>{yI.delete(t)}},[t,e]),{...mt(p5(),yF),mutateVisit:yL}}function yV(e,t=p3){let r=(0,h2.useRef)(void 0),{patientUuid:n,manuallySetVisitUuid:o,setVisitContext:i}=yB((0,h2.useCallback)(()=>r.current?.(),[])),a=e&&n==e?o:null,s=`?patient=${e}&v=${t}&includeInactive=false`,l=`/${a}?v=${t}`,{data:u,error:c,mutate:d,isValidating:p}=mP()(e?`${aj}/visit${s}`:null,aA),{data:f,error:h,mutate:m,isValidating:y}=mP()(e&&a?`${aj}/visit${l}`:null,aA),g=(0,h2.useMemo)(()=>u?.data.results.find(e=>null===e.stopDatetime)??null,[u]),b=(0,h2.useMemo)(()=>a&&f?f.data:null,[f,a]),v=(0,h2.useRef)(null);(0,h2.useEffect)(()=>{!p&&g&&n===e&&null===o&&i(g),y||(v.current&&b&&v.current.uuid===b.uuid&&!v.current.stopDatetime&&b.stopDatetime&&i(null),v.current=b)},[b,o,g,p,y,n]);let w=(0,h2.useCallback)(()=>{d(),m()},[d,m]);(0,h2.useEffect)(()=>{r.current=w},[w]);let x=!!(!u||a&&!f),E=!!(a?h:c);return{error:c||h,mutate:w,isValidating:p||y,activeVisit:g,currentVisit:b,currentVisitIsRetrospective:!!a,isLoading:x&&!E}}function yU(){let[e,t]=(0,h2.useState)([]);return(0,h2.useEffect)(()=>{let e=pY().subscribe(e=>{t(e)},e=>console.error(e));return()=>e.unsubscribe()},[]),e}yA.extend(y$);let yW=new Map;async function yz(e,t){let r=t.indexOf("#"),n=r>=0,o=n?t.substring(0,r):e,i=n?t.substring(r+1):t,a=await s3(o);return a&&Object.hasOwn(a,i)&&"function"==typeof a[i]?yH(o,a).then(()=>a[i]()):(a?a&&Object.hasOwn(a,i)?console.warn(`The export ${t}, defined in ${e}'s routes.json, is not a function`):console.warn(`${o} does not define a component called "${i}", referenced in ${e}'s routes.json. This cannot be loaded.`):console.warn(`Unknown app ${o} for ${t} defined in ${e}'s routes.json`),yK)}let yK={bootstrap:()=>Promise.resolve(),mount:()=>Promise.resolve(),unmount:()=>Promise.resolve()};async function yH(e,t){if(e in yW)await yW[e];else{let r=t??await s3(e);await (yW[e]=new Promise((t,n)=>{if(Object.hasOwn(r,"startupApp")){let o=r.startupApp;if("function"==typeof o)return Promise.resolve(o()).then(()=>{oh(e),t(null)}).catch(n)}oh(e),t(null)}))}}function yG(e,t){let r=t.name;if(!r)return void console.error(`An extension definition in ${e} is missing an name and thus cannot be
|
|
17
17
|
registered. To fix this, ensure that you define the "name" field inside the
|
|
18
18
|
extension definition.`,t);t.slots&&t.slot&&console.warn(`The extension ${r} from ${e} declares both a 'slots' property and
|