UNPKG

@digital-blueprint/formalize-app

Version:

[GitHub Repository](https://github.com/digital-blueprint/formalize-app) | [npmjs package](https://www.npmjs.com/package/@digital-blueprint/formalize-app) | [Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/formalize-app/) | [Formalize Bundle](https:

43 lines 163 kB
let e,t,o,r,i,n,s,a,l,d,c,u,h,p,g,b,f,m,v,y,x,w,k,S,_,$,E,C,A,O,P,L,N,R,D,j,T,M,F=e=>e;function I(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function U(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?I(Object(o),!0).forEach((function(t){z(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):I(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function z(e,t,o){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var r=o.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)} /*! * License: LGPL-2.1-or-later * Dependencies: * * @webcomponents/scoped-custom-element-registry: BSD-3-Clause * @dbp-toolkit/app-shell: LGPL-2.1-or-later * @dbp-toolkit/language-select: LGPL-2.1-or-later * @dbp-toolkit/auth: LGPL-2.1-or-later * @dbp-toolkit/theme-switcher: LGPL-2.1-or-later * universal-router: MIT * @dbp-toolkit/matomo: LGPL-2.1-or-later * @dbp-toolkit/tabulator-table: LGPL-2.1-or-later * xlsx: Apache-2.0 * jspdf-autotable: MIT * xss: MIT * cssfilter: MIT * @dbp-toolkit/common: LGPL-2.1-or-later * lit-html: BSD-3-Clause * @dbp-toolkit/file-handling: LGPL-2.1-or-later * webdav: MIT * jose: MIT * file-saver: MIT * @dbp-toolkit/grant-permission-dialog: LGPL-2.1-or-later * @dbp-toolkit/pdf-viewer: LGPL-2.1-or-later * pdfjs-dist: Apache-2.0 * html2pdf.js: MIT * jspdf: MIT * @dbp-toolkit/notification: LGPL-2.1-or-later * tabulator-tables: MIT * @babel/runtime: MIT * fflate: MIT * jquery: MIT * @dbp-toolkit/person-select: LGPL-2.1-or-later * select2: MIT * @dbp-toolkit/form-elements: LGPL-2.1-or-later * i18next: MIT * @lit/reactive-element: BSD-3-Clause * lit-element: BSD-3-Clause * @open-wc/dedupe-mixin: MIT * @open-wc/scoped-elements: MIT * dialog-polyfill: BSD */(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}const B=e=>"string"==typeof e,H=()=>{let e,t;const o=new Promise(((o,r)=>{e=o,t=r}));return o.resolve=e,o.reject=t,o},V=e=>null==e?"":""+e,K=/###/g,q=e=>e&&e.indexOf("###")>-1?e.replace(K,"."):e,Y=e=>!e||B(e),J=(e,t,o)=>{const r=B(t)?t.split("."):t;let i=0;for(;i<r.length-1;){if(Y(e))return{};const t=q(r[i]);!e[t]&&o&&(e[t]=new o),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++i}return Y(e)?{}:{obj:e,k:q(r[i])}},W=(e,t,o)=>{const{obj:r,k:i}=J(e,t,Object);if(void 0!==r||1===t.length)return void(r[i]=o);let n=t[t.length-1],s=t.slice(0,t.length-1),a=J(e,s,Object);for(;void 0===a.obj&&s.length;)n=`${s[s.length-1]}.${n}`,s=s.slice(0,s.length-1),a=J(e,s,Object),a&&a.obj&&void 0!==a.obj[`${a.k}.${n}`]&&(a.obj=void 0);a.obj[`${a.k}.${n}`]=o},G=(e,t)=>{const{obj:o,k:r}=J(e,t);if(o)return o[r]},Z=(e,t,o)=>{for(const r in t)"__proto__"!==r&&"constructor"!==r&&(r in e?B(e[r])||e[r]instanceof String||B(t[r])||t[r]instanceof String?o&&(e[r]=t[r]):Z(e[r],t[r],o):e[r]=t[r]);return e},Q=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var X={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const ee=e=>B(e)?e.replace(/[&<>"'\/]/g,(e=>X[e])):e;const te=[" ",",","?","!",";"],oe=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(void 0!==t)return t;const o=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,o),this.regExpQueue.push(e),o}}(20),re=function(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(o);let i=e;for(let e=0;e<r.length;){if(!i||"object"!=typeof i)return;let t,n="";for(let s=e;s<r.length;++s)if(s!==e&&(n+=o),n+=r[s],t=i[n],void 0!==t){if(["string","number","boolean"].indexOf(typeof t)>-1&&s<r.length-1)continue;e+=s-e+1;break}i=t}return i},ie=e=>e&&e.replace("_","-"),ne={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};var se=new class e{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||ne,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return this.forward(t,"log","",!0)}warn(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return this.forward(t,"warn","",!0)}error(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return this.forward(t,"error","")}deprecate(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,o,r){return r&&!this.debug?null:(B(e[0])&&(e[0]=`${o}${this.prefix} ${e[0]}`),this.logger[t](e))}create(t){return new e(this.logger,U(U({},{prefix:`${this.prefix}:${t}:`}),this.options))}clone(t){return(t=t||this.options).prefix=t.prefix||this.prefix,new e(this.logger,t)}};class ae{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach((e=>{this.observers[e]||(this.observers[e]=new Map);const o=this.observers[e].get(t)||0;this.observers[e].set(t,o+1)})),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),r=1;r<t;r++)o[r-1]=arguments[r];if(this.observers[e]){Array.from(this.observers[e].entries()).forEach((e=>{let[t,r]=e;for(let e=0;e<r;e++)t(...o)}))}if(this.observers["*"]){Array.from(this.observers["*"].entries()).forEach((t=>{let[r,i]=t;for(let t=0;t<i;t++)r.apply(r,[e,...o])}))}}}class le extends ae{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{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){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,o){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator,n=void 0!==r.ignoreJSONStructure?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let s;e.indexOf(".")>-1?s=e.split("."):(s=[e,t],o&&(Array.isArray(o)?s.push(...o):B(o)&&i?s.push(...o.split(i)):s.push(o)));const a=G(this.data,s);return!a&&!t&&!o&&e.indexOf(".")>-1&&(e=s[0],t=s[1],o=s.slice(2).join(".")),!a&&n&&B(o)?re(this.data&&this.data[e]&&this.data[e][t],o,i):a}addResource(e,t,o,r){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const n=void 0!==i.keySeparator?i.keySeparator:this.options.keySeparator;let s=[e,t];o&&(s=s.concat(n?o.split(n):o)),e.indexOf(".")>-1&&(s=e.split("."),r=t,t=s[1]),this.addNamespaces(t),W(this.data,s,r),i.silent||this.emit("added",e,t,o,r)}addResources(e,t,o){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(const r in o)(B(o[r])||Array.isArray(o[r]))&&this.addResource(e,t,r,o[r],{silent:!0});r.silent||this.emit("added",e,t,o)}addResourceBundle(e,t,o,r,i){let n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1,skipCopy:!1},s=[e,t];e.indexOf(".")>-1&&(s=e.split("."),r=o,o=t,t=s[1]),this.addNamespaces(t);let a=G(this.data,s)||{};n.skipCopy||(o=JSON.parse(JSON.stringify(o))),r?Z(a,o,i):a=U(U({},a),o),W(this.data,s,a),n.silent||this.emit("added",e,t,o)}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),"v1"===this.options.compatibilityAPI?U(U({},{}),this.getResource(e,t)):this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((e=>t[e]&&Object.keys(t[e]).length>0))}toJSON(){return this.data}}var de={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,o,r,i){return e.forEach((e=>{this.processors[e]&&(t=this.processors[e].process(t,o,r,i))})),t}};const ce={};class ue extends ae{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),((e,t,o)=>{e.forEach((e=>{t[e]&&(o[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=se.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;const o=this.resolve(e,t);return o&&void 0!==o.res}extractFromKey(e,t){let o=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===o&&(o=":");const r=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator;let i=t.ns||this.options.defaultNS||[];const n=o&&e.indexOf(o)>-1,s=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||((e,t,o)=>{t=t||"",o=o||"";const r=te.filter((e=>t.indexOf(e)<0&&o.indexOf(e)<0));if(0===r.length)return!0;const i=oe.getRegExp(`(${r.map((e=>"?"===e?"\\?":e)).join("|")})`);let n=!i.test(e);if(!n){const t=e.indexOf(o);t>0&&!i.test(e.substring(0,t))&&(n=!0)}return n})(e,o,r));if(n&&!s){const t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:B(i)?[i]:i};const n=e.split(o);(o!==r||o===r&&this.options.ns.indexOf(n[0])>-1)&&(i=n.shift()),e=n.join(r)}return{key:e,namespaces:B(i)?[i]:i}}translate(e,t,o){if("object"!=typeof t&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof t&&(t=U({},t)),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);const r=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,i=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,{key:n,namespaces:s}=this.extractFromKey(e[e.length-1],t),a=s[s.length-1],l=t.lng||this.language,d=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l&&"cimode"===l.toLowerCase()){if(d){const e=t.nsSeparator||this.options.nsSeparator;return r?{res:`${a}${e}${n}`,usedKey:n,exactUsedKey:n,usedLng:l,usedNS:a,usedParams:this.getUsedParamsDetails(t)}:`${a}${e}${n}`}return r?{res:n,usedKey:n,exactUsedKey:n,usedLng:l,usedNS:a,usedParams:this.getUsedParamsDetails(t)}:n}const c=this.resolve(e,t);let u=c&&c.res;const h=c&&c.usedKey||n,p=c&&c.exactUsedKey||n,g=Object.prototype.toString.apply(u),b=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,f=!this.i18nFormat||this.i18nFormat.handleAsObject,m=!B(u)&&"boolean"!=typeof u&&"number"!=typeof u;if(!(f&&u&&m&&["[object Number]","[object Function]","[object RegExp]"].indexOf(g)<0)||B(b)&&Array.isArray(u))if(f&&B(b)&&Array.isArray(u))u=u.join(b),u&&(u=this.extendTranslation(u,e,t,o));else{let r=!1,s=!1;const d=void 0!==t.count&&!B(t.count),h=ue.hasDefaultValue(t),p=d?this.pluralResolver.getSuffix(l,t.count,t):"",g=t.ordinal&&d?this.pluralResolver.getSuffix(l,t.count,{ordinal:!1}):"",b=d&&!t.ordinal&&0===t.count&&this.pluralResolver.shouldUseIntlApi(),f=b&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${p}`]||t[`defaultValue${g}`]||t.defaultValue;!this.isValidLookup(u)&&h&&(r=!0,u=f),this.isValidLookup(u)||(s=!0,u=n);const m=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&s?void 0:u,v=h&&f!==u&&this.options.updateMissing;if(s||r||v){if(this.logger.log(v?"updateKey":"missingKey",l,a,n,v?f:u),i){const e=this.resolve(n,U(U({},t),{},{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=[];const o=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&o&&o[0])for(let t=0;t<o.length;t++)e.push(o[t]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(t.lng||this.language):e.push(t.lng||this.language);const r=(e,o,r)=>{const i=h&&r!==u?r:m;this.options.missingKeyHandler?this.options.missingKeyHandler(e,a,o,i,v,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(e,a,o,i,v,t),this.emit("missingKey",e,a,o,u)};this.options.saveMissing&&(this.options.saveMissingPlurals&&d?e.forEach((e=>{const o=this.pluralResolver.getSuffixes(e,t);b&&t[`defaultValue${this.options.pluralSeparator}zero`]&&o.indexOf(`${this.options.pluralSeparator}zero`)<0&&o.push(`${this.options.pluralSeparator}zero`),o.forEach((o=>{r([e],n+o,t[`defaultValue${o}`]||f)}))})):r(e,n,f))}u=this.extendTranslation(u,e,t,c,o),s&&u===n&&this.options.appendNamespaceToMissingKey&&(u=`${a}:${n}`),(s||r)&&this.options.parseMissingKeyHandler&&(u="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${a}:${n}`:n,r?u:void 0):this.options.parseMissingKeyHandler(u))}else{if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,u,U(U({},t),{},{ns:s})):`key '${n} (${this.language})' returned an object instead of string.`;return r?(c.res=e,c.usedParams=this.getUsedParamsDetails(t),c):e}if(i){const e=Array.isArray(u),o=e?[]:{},r=e?p:h;for(const e in u)if(Object.prototype.hasOwnProperty.call(u,e)){const n=`${r}${i}${e}`;o[e]=this.translate(n,U(U({},t),{joinArrays:!1,ns:s})),o[e]===n&&(o[e]=u[e])}u=o}}return r?(c.res=u,c.usedParams=this.getUsedParamsDetails(t),c):u}extendTranslation(e,t,o,r,i){var n=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,U(U({},this.options.interpolation.defaultVariables),o),o.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!o.skipInterpolation){o.interpolation&&this.interpolator.init(U(U({},o),{interpolation:U(U({},this.options.interpolation),o.interpolation)}));const s=B(e)&&(o&&o.interpolation&&void 0!==o.interpolation.skipOnVariables?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let a;if(s){const t=e.match(this.interpolator.nestingRegexp);a=t&&t.length}let l=o.replace&&!B(o.replace)?o.replace:o;if(this.options.interpolation.defaultVariables&&(l=U(U({},this.options.interpolation.defaultVariables),l)),e=this.interpolator.interpolate(e,l,o.lng||this.language||r.usedLng,o),s){const t=e.match(this.interpolator.nestingRegexp);a<(t&&t.length)&&(o.nest=!1)}!o.lng&&"v1"!==this.options.compatibilityAPI&&r&&r.res&&(o.lng=this.language||r.usedLng),!1!==o.nest&&(e=this.interpolator.nest(e,(function(){for(var e=arguments.length,r=new Array(e),s=0;s<e;s++)r[s]=arguments[s];return i&&i[0]===r[0]&&!o.context?(n.logger.warn(`It seems you are nesting recursively key: ${r[0]} in key: ${t[0]}`),null):n.translate(...r,t)}),o)),o.interpolation&&this.interpolator.reset()}const s=o.postProcess||this.options.postProcess,a=B(s)?[s]:s;return null!=e&&a&&a.length&&!1!==o.applyPostProcessor&&(e=de.handle(a,e,t,this.options&&this.options.postProcessPassResolved?U({i18nResolved:U(U({},r),{},{usedParams:this.getUsedParamsDetails(o)})},o):o,this)),e}resolve(e){let t,o,r,i,n,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return B(e)&&(e=[e]),e.forEach((e=>{if(this.isValidLookup(t))return;const a=this.extractFromKey(e,s),l=a.key;o=l;let d=a.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const c=void 0!==s.count&&!B(s.count),u=c&&!s.ordinal&&0===s.count&&this.pluralResolver.shouldUseIntlApi(),h=void 0!==s.context&&(B(s.context)||"number"==typeof s.context)&&""!==s.context,p=s.lngs?s.lngs:this.languageUtils.toResolveHierarchy(s.lng||this.language,s.fallbackLng);d.forEach((e=>{this.isValidLookup(t)||(n=e,!ce[`${p[0]}-${e}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(n)&&(ce[`${p[0]}-${e}`]=!0,this.logger.warn(`key "${o}" for languages "${p.join(", ")}" won't get resolved as namespace "${n}" 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!!!")),p.forEach((o=>{if(this.isValidLookup(t))return;i=o;const n=[l];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(n,l,o,e,s);else{let e;c&&(e=this.pluralResolver.getSuffix(o,s.count,s));const t=`${this.options.pluralSeparator}zero`,r=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(c&&(n.push(l+e),s.ordinal&&0===e.indexOf(r)&&n.push(l+e.replace(r,this.options.pluralSeparator)),u&&n.push(l+t)),h){const o=`${l}${this.options.contextSeparator}${s.context}`;n.push(o),c&&(n.push(o+e),s.ordinal&&0===e.indexOf(r)&&n.push(o+e.replace(r,this.options.pluralSeparator)),u&&n.push(o+t))}}let a;for(;a=n.pop();)this.isValidLookup(t)||(r=a,t=this.getResource(o,e,a,s))})))}))})),{res:t,usedKey:o,exactUsedKey:r,usedLng:i,usedNS:n}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,o){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,o,r):this.resourceStore.getResource(e,t,o,r)}getUsedParamsDetails(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],o=e.replace&&!B(e.replace);let r=o?e.replace:e;if(o&&void 0!==e.count&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r=U(U({},this.options.interpolation.defaultVariables),r)),!o){r=U({},r);for(const e of t)delete r[e]}return r}static hasDefaultValue(e){const t="defaultValue";for(const o in e)if(Object.prototype.hasOwnProperty.call(e,o)&&t===o.substring(0,12)&&void 0!==e[o])return!0;return!1}}const he=e=>e.charAt(0).toUpperCase()+e.slice(1);class pe{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=se.create("languageUtils")}getScriptPartFromCode(e){if(!(e=ie(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=ie(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(B(e)&&e.indexOf("-")>-1){if("undefined"!=typeof Intl&&void 0!==Intl.getCanonicalLocales)try{let t=Intl.getCanonicalLocales(e)[0];if(t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t)return t}catch(e){}const t=["hans","hant","latn","cyrl","cans","mong","arab"];let o=e.split("-");return this.options.lowerCaseLng?o=o.map((e=>e.toLowerCase())):2===o.length?(o[0]=o[0].toLowerCase(),o[1]=o[1].toUpperCase(),t.indexOf(o[1].toLowerCase())>-1&&(o[1]=he(o[1].toLowerCase()))):3===o.length&&(o[0]=o[0].toLowerCase(),2===o[1].length&&(o[1]=o[1].toUpperCase()),"sgn"!==o[0]&&2===o[2].length&&(o[2]=o[2].toUpperCase()),t.indexOf(o[1].toLowerCase())>-1&&(o[1]=he(o[1].toLowerCase())),t.indexOf(o[2].toLowerCase())>-1&&(o[2]=he(o[2].toLowerCase()))),o.join("-")}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){if(!e)return null;let t;return e.forEach((e=>{if(t)return;const o=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(o)||(t=o)})),!t&&this.options.supportedLngs&&e.forEach((e=>{if(t)return;const o=this.getLanguagePartFromCode(e);if(this.isSupportedCode(o))return t=o;t=this.options.supportedLngs.find((e=>e===o?e:e.indexOf("-")<0&&o.indexOf("-")<0?void 0:e.indexOf("-")>0&&o.indexOf("-")<0&&e.substring(0,e.indexOf("-"))===o||0===e.indexOf(o)&&o.length>1?e:void 0))})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),B(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let o=e[t];return o||(o=e[this.getScriptPartFromCode(t)]),o||(o=e[this.formatLanguageCode(t)]),o||(o=e[this.getLanguagePartFromCode(t)]),o||(o=e.default),o||[]}toResolveHierarchy(e,t){const o=this.getFallbackCodes(t||this.options.fallbackLng||[],e),r=[],i=e=>{e&&(this.isSupportedCode(e)?r.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return B(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&i(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&i(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&i(this.getLanguagePartFromCode(e))):B(e)&&i(this.formatLanguageCode(e)),o.forEach((e=>{r.indexOf(e)<0&&i(this.formatLanguageCode(e))})),r}}let ge=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],be={1:e=>Number(e>1),2:e=>Number(1!=e),3:e=>0,4:e=>Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2),5:e=>Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5),6:e=>Number(1==e?0:e>=2&&e<=4?1:2),7:e=>Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2),8:e=>Number(1==e?0:2==e?1:8!=e&&11!=e?2:3),9:e=>Number(e>=2),10:e=>Number(1==e?0:2==e?1:e<7?2:e<11?3:4),11:e=>Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3),12:e=>Number(e%10!=1||e%100==11),13:e=>Number(0!==e),14:e=>Number(1==e?0:2==e?1:3==e?2:3),15:e=>Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2),16:e=>Number(e%10==1&&e%100!=11?0:0!==e?1:2),17:e=>Number(1==e||e%10==1&&e%100!=11?0:1),18:e=>Number(0==e?0:1==e?1:2),19:e=>Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3),20:e=>Number(1==e?0:0==e||e%100>0&&e%100<20?1:2),21:e=>Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0),22:e=>Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)};const fe=["v1","v2","v3"],me=["v4"],ve={zero:0,one:1,two:2,few:3,many:4,other:5};class ye{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=se.create("pluralResolver"),this.options.compatibilityJSON&&!me.includes(this.options.compatibilityJSON)||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=(()=>{const e={};return ge.forEach((t=>{t.lngs.forEach((o=>{e[o]={numbers:t.nr,plurals:be[t.fc]}}))})),e})(),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi()){const o=ie("dev"===e?"en":e),r=t.ordinal?"ordinal":"cardinal",i=JSON.stringify({cleanedCode:o,type:r});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];let n;try{n=new Intl.PluralRules(o,{type:r})}catch(o){if(!e.match(/-|_/))return;const r=this.languageUtils.getLanguagePartFromCode(e);n=this.getRule(r,t)}return this.pluralRulesCache[i]=n,n}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=this.getRule(e,t);return this.shouldUseIntlApi()?o&&o.resolvedOptions().pluralCategories.length>1:o&&o.numbers.length>1}getPluralFormsOfKey(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,o).map((e=>`${t}${e}`))}getSuffixes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=this.getRule(e,t);return o?this.shouldUseIntlApi()?o.resolvedOptions().pluralCategories.sort(((e,t)=>ve[e]-ve[t])).map((e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`)):o.numbers.map((o=>this.getSuffix(e,o,t))):[]}getSuffix(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=this.getRule(e,o);return r?this.shouldUseIntlApi()?`${this.options.prepend}${o.ordinal?`ordinal${this.options.prepend}`:""}${r.select(t)}`:this.getSuffixRetroCompatible(r,t):(this.logger.warn(`no plural rule found for: ${e}`),"")}getSuffixRetroCompatible(e,t){const o=e.noAbs?e.plurals(t):e.plurals(Math.abs(t));let r=e.numbers[o];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===r?r="plural":1===r&&(r=""));const i=()=>this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString();return"v1"===this.options.compatibilityJSON?1===r?"":"number"==typeof r?`_plural_${r.toString()}`:i():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?i():this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString()}shouldUseIntlApi(){return!fe.includes(this.options.compatibilityJSON)}}const xe=function(e,t,o){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=((e,t,o)=>{const r=G(e,o);return void 0!==r?r:G(t,o)})(e,t,o);return!n&&i&&B(o)&&(n=re(e,o,r),void 0===n&&(n=re(t,o,r))),n},we=e=>e.replace(/\$/g,"$$$$");class ke{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=se.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||(e=>e),this.init(e)}init(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:o,useRawValueToEscape:r,prefix:i,prefixEscaped:n,suffix:s,suffixEscaped:a,formatSeparator:l,unescapeSuffix:d,unescapePrefix:c,nestingPrefix:u,nestingPrefixEscaped:h,nestingSuffix:p,nestingSuffixEscaped:g,nestingOptionsSeparator:b,maxReplaces:f,alwaysFormat:m}=e.interpolation;this.escape=void 0!==t?t:ee,this.escapeValue=void 0===o||o,this.useRawValueToEscape=void 0!==r&&r,this.prefix=i?Q(i):n||"{{",this.suffix=s?Q(s):a||"}}",this.formatSeparator=l||",",this.unescapePrefix=d?"":c||"-",this.unescapeSuffix=this.unescapePrefix?"":d||"",this.nestingPrefix=u?Q(u):h||Q("$t("),this.nestingSuffix=p?Q(p):g||Q(")"),this.nestingOptionsSeparator=b||",",this.maxReplaces=f||1e3,this.alwaysFormat=void 0!==m&&m,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(e,t)=>e&&e.source===t?(e.lastIndex=0,e):new 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,o,r){let i,n,s;const a=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=e=>{if(e.indexOf(this.formatSeparator)<0){const i=xe(t,a,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,o,U(U(U({},r),t),{},{interpolationkey:e})):i}const i=e.split(this.formatSeparator),n=i.shift().trim(),s=i.join(this.formatSeparator).trim();return this.format(xe(t,a,n,this.options.keySeparator,this.options.ignoreJSONStructure),s,o,U(U(U({},r),t),{},{interpolationkey:n}))};this.resetRegExp();const d=r&&r.missingInterpolationHandler||this.options.missingInterpolationHandler,c=r&&r.interpolation&&void 0!==r.interpolation.skipOnVariables?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>we(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?we(this.escape(e)):we(e)}].forEach((t=>{for(s=0;i=t.regex.exec(e);){const o=i[1].trim();if(n=l(o),void 0===n)if("function"==typeof d){const t=d(e,i,r);n=B(t)?t:""}else if(r&&Object.prototype.hasOwnProperty.call(r,o))n="";else{if(c){n=i[0];continue}this.logger.warn(`missed to pass in variable ${o} for interpolating ${e}`),n=""}else B(n)||this.useRawValueToEscape||(n=V(n));const a=t.safeValue(n);if(e=e.replace(i[0],a),c?(t.regex.lastIndex+=n.length,t.regex.lastIndex-=i[0].length):t.regex.lastIndex=0,s++,s>=this.maxReplaces)break}})),e}nest(e,t){let o,r,i,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s=(e,t)=>{const o=this.nestingOptionsSeparator;if(e.indexOf(o)<0)return e;const r=e.split(new RegExp(`${o}[ ]*{`));let n=`{${r[1]}`;e=r[0],n=this.interpolate(n,i);const s=n.match(/'/g),a=n.match(/"/g);(s&&s.length%2==0&&!a||a.length%2!=0)&&(n=n.replace(/'/g,'"'));try{i=JSON.parse(n),t&&(i=U(U({},t),i))}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${o}${n}`}return i.defaultValue&&i.defaultValue.indexOf(this.prefix)>-1&&delete i.defaultValue,e};for(;o=this.nestingRegexp.exec(e);){let a=[];i=U({},n),i=i.replace&&!B(i.replace)?i.replace:i,i.applyPostProcessor=!1,delete i.defaultValue;let l=!1;if(-1!==o[0].indexOf(this.formatSeparator)&&!/{.*}/.test(o[1])){const e=o[1].split(this.formatSeparator).map((e=>e.trim()));o[1]=e.shift(),a=e,l=!0}if(r=t(s.call(this,o[1].trim(),i),i),r&&o[0]===e&&!B(r))return r;B(r)||(r=V(r)),r||(this.logger.warn(`missed to resolve ${o[1]} for nesting ${e}`),r=""),l&&(r=a.reduce(((e,t)=>this.format(e,t,n.lng,U(U({},n),{},{interpolationkey:o[1].trim()}))),r.trim())),e=e.replace(o[0],r),this.regexp.lastIndex=0}return e}}const Se=e=>{const t={};return(o,r,i)=>{let n=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(n=U(U({},n),{},{[i.interpolationkey]:void 0}));const s=r+JSON.stringify(n);let a=t[s];return a||(a=e(ie(r),i),t[s]=a),a(o)}};class _e{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=se.create("formatter"),this.options=e,this.formats={number:Se(((e,t)=>{const o=new Intl.NumberFormat(e,U({},t));return e=>o.format(e)})),currency:Se(((e,t)=>{const o=new Intl.NumberFormat(e,U(U({},t),{},{style:"currency"}));return e=>o.format(e)})),datetime:Se(((e,t)=>{const o=new Intl.DateTimeFormat(e,U({},t));return e=>o.format(e)})),relativetime:Se(((e,t)=>{const o=new Intl.RelativeTimeFormat(e,U({},t));return e=>o.format(e,t.range||"day")})),list:Se(((e,t)=>{const o=new Intl.ListFormat(e,U({},t));return e=>o.format(e)}))},this.init(e)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};this.formatSeparator=t.interpolation.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=Se(t)}format(e,t,o){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i=t.split(this.formatSeparator);if(i.length>1&&i[0].indexOf("(")>1&&i[0].indexOf(")")<0&&i.find((e=>e.indexOf(")")>-1))){const e=i.findIndex((e=>e.indexOf(")")>-1));i[0]=[i[0],...i.splice(1,e)].join(this.formatSeparator)}const n=i.reduce(((e,t)=>{const{formatName:i,formatOptions:n}=(e=>{let t=e.toLowerCase().trim();const o={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);"currency"===t&&i.indexOf(":")<0?o.currency||(o.currency=i.trim()):"relativetime"===t&&i.indexOf(":")<0?o.range||(o.range=i.trim()):i.split(";").forEach((e=>{if(e){const[t,...r]=e.split(":"),i=r.join(":").trim().replace(/^'+|'+$/g,""),n=t.trim();o[n]||(o[n]=i),"false"===i&&(o[n]=!1),"true"===i&&(o[n]=!0),isNaN(i)||(o[n]=parseInt(i,10))}}))}return{formatName:t,formatOptions:o}})(t);if(this.formats[i]){let t=e;try{const s=r&&r.formatParams&&r.formatParams[r.interpolationkey]||{},a=s.locale||s.lng||r.locale||r.lng||o;t=this.formats[i](e,a,U(U(U({},n),r),s))}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${i}`),e}),e);return n}}class $e extends ae{constructor(e,t,o){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=o,this.languageUtils=o.languageUtils,this.options=r,this.logger=se.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(o,r.backend,r)}queueLoad(e,t,o,r){const i={},n={},s={},a={};return e.forEach((e=>{let r=!0;t.forEach((t=>{const s=`${e}|${t}`;!o.reload&&this.store.hasResourceBundle(e,t)?this.state[s]=2:this.state[s]<0||(1===this.state[s]?void 0===n[s]&&(n[s]=!0):(this.state[s]=1,r=!1,void 0===n[s]&&(n[s]=!0),void 0===i[s]&&(i[s]=!0),void 0===a[t]&&(a[t]=!0)))})),r||(s[e]=!0)})),(Object.keys(i).length||Object.keys(n).length)&&this.queue.push({pending:n,pendingCount:Object.keys(n).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(i),pending:Object.keys(n),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(a)}}loaded(e,t,o){const r=e.split("|"),i=r[0],n=r[1];t&&this.emit("failedLoading",i,n,t),!t&&o&&this.store.addResourceBundle(i,n,o,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&o&&(this.state[e]=0);const s={};this.queue.forEach((o=>{((e,t,o)=>{const{obj:r,k:i}=J(e,t,Object);r[i]=r[i]||[],r[i].push(o)})(o.loaded,[i],n),((e,t)=>{void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)})(o,e),t&&o.errors.push(t),0!==o.pendingCount||o.done||(Object.keys(o.loaded).forEach((e=>{s[e]||(s[e]={});const t=o.loaded[e];t.length&&t.forEach((t=>{void 0===s[e][t]&&(s[e][t]=!0)}))})),o.done=!0,o.errors.length?o.callback(o.errors):o.callback())})),this.emit("loaded",s),this.queue=this.queue.filter((e=>!e.done))}read(e,t,o){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,n=arguments.length>5?arguments[5]:void 0;if(!e.length)return n(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:o,tried:r,wait:i,callback:n});this.readingCalls++;const s=(s,a)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}s&&a&&r<this.maxRetries?setTimeout((()=>{this.read.call(this,e,t,o,r+1,2*i,n)}),i):n(s,a)},a=this.backend[o].bind(this.backend);if(2!==a.length)return a(e,t,s);try{const o=a(e,t);o&&"function"==typeof o.then?o.then((e=>s(null,e))).catch(s):s(null,o)}catch(e){s(e)}}prepareLoading(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();B(e)&&(e=this.languageUtils.toResolveHierarchy(e)),B(t)&&(t=[t]);const i=this.queueLoad(e,t,o,r);if(!i.toLoad.length)return i.pending.length||r(),null;i.toLoad.forEach((e=>{this.loadOne(e)}))}load(e,t,o){this.prepareLoading(e,t,{},o)}reload(e,t,o){this.prepareLoading(e,t,{reload:!0},o)}loadOne(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const o=e.split("|"),r=o[0],i=o[1];this.read(r,i,"read",void 0,void 0,((o,n)=>{o&&this.logger.warn(`${t}loading namespace ${i} for language ${r} failed`,o),!o&&n&&this.logger.log(`${t}loaded namespace ${i} for language ${r}`,n),this.loaded(e,o,n)}))}saveMissing(e,t,o,r,i){let n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))this.logger.warn(`did not save key "${o}" 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!!!");else if(null!=o&&""!==o){if(this.backend&&this.backend.create){const a=U(U({},n),{},{isUpdate:i}),l=this.backend.create.bind(this.backend);if(l.length<6)try{let i;i=5===l.length?l(e,t,o,r,a):l(e,t,o,r),i&&"function"==typeof i.then?i.then((e=>s(null,e))).catch(s):s(null,i)}catch(e){s(e)}else l(e,t,o,r,s,a)}e&&e[0]&&this.store.addResource(e[0],t,o,r)}}}const Ee=()=>({debug:!1,initImmediate:!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]),B(e[1])&&(t.defaultValue=e[1]),B(e[2])&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const o=e[3]||e[2];Object.keys(o).forEach((e=>{t[e]=o[e]}))}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),Ce=e=>(B(e.ns)&&(e.ns=[e.ns]),B(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),B(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e),Ae=()=>{};class Oe extends ae{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;var o;if(super(),this.options=Ce(e),this.services={},this.logger=se,this.modules={external:[]},o=this,Object.getOwnPropertyNames(Object.getPrototypeOf(o)).forEach((e=>{"function"==typeof o[e]&&(o[e]=o[e].bind(o))})),t&&!this.isInitialized&&!e.isClone){if(!this.options.initImmediate)return this.init(e,t),this;setTimeout((()=>{this.init(e,t)}),0)}}init(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,"function"==typeof t&&(o=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&(B(t.ns)?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const r=Ee();this.options=U(U(U({},r),this.options),Ce(t)),"v1"!==this.options.compatibilityAPI&&(this.options.interpolation=U(U({},r.interpolation),this.options.interpolation)),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator);const i=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let t;this.modules.logger?se.init(i(this.modules.logger),this.options):se.init(null,this.options),this.modules.formatter?t=this.modules.formatter:"undefined"!=typeof Intl&&(t=_e);const o=new pe(this.options);this.store=new le(this.options.resources,this.options);const n=this.services;n.logger=se,n.resourceStore=this.store,n.languageUtils=o,n.pluralResolver=new ye(o,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!t||this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format||(n.formatter=i(t),n.formatter.init(n,this.options),this.options.interpolation.format=n.formatter.format.bind(n.formatter)),n.interpolator=new ke(this.options),n.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},n.backendConnector=new $e(i(this.modules.backend),n.resourceStore,n,this.options),n.backendConnector.on("*",(function(t){for(var o=arguments.length,r=new Array(o>1?o-1:0),i=1;i<o;i++)r[i-1]=arguments[i];e.emit(t,...r)})),this.modules.languageDetector&&(n.languageDetector=i(this.modules.languageDetector),n.languageDetector.init&&n.languageDetector.init(n,this.options.detection,this.options)),this.modules.i18nFormat&&(n.i18nFormat=i(this.modules.i18nFormat),n.i18nFormat.init&&n.i18nFormat.init(this)),this.translator=new ue(this.services,this.options),this.translator.on("*",(function(t){for(var o=arguments.length,r=new Array(o>1?o-1:0),i=1;i<o;i++)r[i-1]=arguments[i];e.emit(t,...r)})),this.modules.external.forEach((e=>{e.init&&e.init(this)}))}if(this.format=this.options.interpolation.format,o||(o=Ae),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const 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((t=>{this[t]=function(){return e.store[t](...arguments)}}));["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach((t=>{this[t]=function(){return e.store[t](...arguments),e}}));const n=H(),s=()=>{const e=(e,t)=>{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),n.resolve(t),o(e,t)};if(this.languages&&"v1"!==this.options.compatibilityAPI&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initImmediate?s():setTimeout(s,0),n}loadResources(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ae;const o=B(e)?e:this.language;if("function"==typeof e&&(t=e),!this.options.resources||this.options.partialBundledLanguages){if(o&&"cimode"===o.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return t();const e=[],r=t=>{if(!t)return;if("cimode"===t)return;this.services.languageUtils.toResolveHierarchy(t).forEach((t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)}))};if(o)r(o);else{this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((e=>r(e)))}this.options.preload&&this.options.preload.forEach((e=>r(e))),this.services.backendConnector.load(e,this.options.ns,(e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),t(e)}))}else t(null)}reloadResources(e,t,o){const r=H();return"function"==typeof e&&(o=e,e=void 0),"function"==typeof t&&(o=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),o||(o=Ae),this.services.backendConnector.reload(e,t,(e=>{r.resolve(),o(e)})),r}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new 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&&de.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++){const t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}}changeLanguage(e,t){var o=this;this.isLanguageChangingTo=e;const r=H();this.emit("languageChanging",e);const i=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},n=(e,n)=>{n?(i(n),this.translator.changeLanguage(n),this.isLanguageChangingTo=void 0,this.emit("languageChanged",n),this.logger.log("languageChanged",n)):this.isLanguageChangingTo=void 0,r.resolve((function(){return o.t(...arguments)})),t&&t(e,(function(){return o.t(...arguments)}))},s=t=>{e||t||!this.services.languageDetector||(t=[]);const o=B(t)?t:this.services.languageUtils.getBestMatchFromCodes(t);o&&(this.language||i(o),this.translator.language||this.translator.changeLanguage(o),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(o)),this.loadResources(o,(e=>{n(e,o)}))};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(s):this.services.languageDetector.detect(s):s(e):s(this.services.languageDetector.detect()),r}getFixedT(e,t,o){var r=this;const i=function e(t,i){let n;if("object"!=typeof i){for(var s=arguments.length,a=new Array(s>2?s-2:0),l=2;l<s;l++)a[l-2]=arguments[l];n=r.options.overloadTranslationOptionHandler([t,i].concat(a))}else n=U({},i);n.lng=n.lng||e.lng,n.lngs=n.lngs||e.lngs,n.ns=n.ns||e.ns,""!==n.keyPrefix&&(n.keyPrefix=n.keyPrefix||o||e.keyPrefix);const d=r.options.keySeparator||".";let c;return c=n.keyPrefix&&Array.isArray(t)?t.map((e=>`${n.keyPrefix}${d}${e}`)):n.keyPrefix?`${n.keyPrefix}${d}${t}`:t,r.t(c,n)};return B(e)?i.lng=e:i.lngs=e,i.ns=t,i.keyPrefix=o,i}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};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;const o=t.lng||this.resolvedLanguage||this.languages[0],r=!!this.options&&this.options.fallbackLng,i=this.languages[this.languages.length-1];if("cimode"===o.toLowerCase())return!0;const n=(e,t)=>{const o=this.services.backendConnector.state[`${e}|${t}`];return-1===o||0===o||2===o};if(t.precheck){const e=t.precheck(this,n);if(void 0!==e)return e}return!!this.hasResourceBundle(o,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!n(o,e)||r&&!n(i,e)))}loadNamespaces(e,t){const o=H();return this.options.ns?(B(e)&&(e=[e]),e.forEach((e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)})),this.loadResources((e=>{o.resolve(),t&&t(e)})),o):(t&&t(),Promise.resolve())}loadLanguages(e,t){const o=H();B(e)&&(e=[e]);const r=this.options.preload||[],i=e.filter((e=>r.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e)));return i.length?(this.options.preload=r.concat(i),this.loadResources((e=>{o.resolve(),t&&t(e)})),o):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=this.services&&this.services.languageUtils||new pe(Ee());return["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(){return new Oe(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]: