@aidc-toolkit/gs1 1.0.48 → 1.0.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2 -2
- package/dist/index.js +2 -2
- package/package.json +4 -4
- package/src/version.ts +1 -1
- package/tsconfig-src.tsbuildinfo +1 -1
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{i18nCoreInit as Sr,i18nInit as Gr}from"@aidc-toolkit/core";import{i18nUtilityInit as Pr}from"@aidc-toolkit/utility";var I=n=>typeof n=="string",me=()=>{let n,e,t=new Promise((r,i)=>{n=r,e=i});return t.resolve=n,t.reject=e,t},gt=n=>n==null?"":""+n,sr=(n,e,t)=>{n.forEach(r=>{e[r]&&(t[r]=e[r])})},fr=/###/g,It=n=>n&&n.indexOf("###")>-1?n.replace(fr,"."):n,yt=n=>!n||I(n),ge=(n,e,t)=>{let r=I(e)?e.split("."):e,i=0;for(;i<r.length-1;){if(yt(n))return{};let o=It(r[i]);!n[o]&&t&&(n[o]=new t),Object.prototype.hasOwnProperty.call(n,o)?n=n[o]:n={},++i}return yt(n)?{}:{obj:n,k:It(r[i])}},Nt=(n,e,t)=>{let{obj:r,k:i}=ge(n,e,Object);if(r!==void 0||e.length===1){r[i]=t;return}let o=e[e.length-1],a=e.slice(0,e.length-1),s=ge(n,a,Object);for(;s.obj===void 0&&a.length;)o=`${a[a.length-1]}.${o}`,a=a.slice(0,a.length-1),s=ge(n,a,Object),s?.obj&&typeof s.obj[`${s.k}.${o}`]<"u"&&(s.obj=void 0);s.obj[`${s.k}.${o}`]=t},dr=(n,e,t,r)=>{let{obj:i,k:o}=ge(n,e,Object);i[o]=i[o]||[],i[o].push(t)},Ce=(n,e)=>{let{obj:t,k:r}=ge(n,e);if(t&&Object.prototype.hasOwnProperty.call(t,r))return t[r]},cr=(n,e,t)=>{let r=Ce(n,t);return r!==void 0?r:Ce(e,t)},bt=(n,e,t)=>{for(let r in e)r!=="__proto__"&&r!=="constructor"&&(r in n?I(n[r])||n[r]instanceof String||I(e[r])||e[r]instanceof String?t&&(n[r]=e[r]):bt(n[r],e[r],t):n[r]=e[r]);return n},ee=n=>n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),pr={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},lr=n=>I(n)?n.replace(/[&<>"'\/]/g,e=>pr[e]):n,Be=class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){let t=this.regExpMap.get(e);if(t!==void 0)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}},ur=[" ",",","?","!",";"],hr=new Be(20),mr=(n,e,t)=>{e=e||"",t=t||"";let r=ur.filter(a=>e.indexOf(a)<0&&t.indexOf(a)<0);if(r.length===0)return!0;let i=hr.getRegExp(`(${r.map(a=>a==="?"?"\\?":a).join("|")})`),o=!i.test(n);if(!o){let a=n.indexOf(t);a>0&&!i.test(n.substring(0,a))&&(o=!0)}return o},Ue=(n,e,t=".")=>{if(!n)return;if(n[e])return Object.prototype.hasOwnProperty.call(n,e)?n[e]:void 0;let r=e.split(t),i=n;for(let o=0;o<r.length;){if(!i||typeof i!="object")return;let a,s="";for(let f=o;f<r.length;++f)if(f!==o&&(s+=t),s+=r[f],a=i[s],a!==void 0){if(["string","number","boolean"].indexOf(typeof a)>-1&&f<r.length-1)continue;o+=f-o+1;break}i=a}return i},Ie=n=>n?.replace("_","-"),gr={type:"logger",log(n){this.output("log",n)},warn(n){this.output("warn",n)},error(n){this.output("error",n)},output(n,e){console?.[n]?.apply?.(console,e)}},He=class n{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||gr,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,i){return i&&!this.debug?null:(I(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new n(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new n(this.logger,e)}},z=new He,te=class{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(r=>{this.observers[r]||(this.observers[r]=new Map);let i=this.observers[r].get(t)||0;this.observers[r].set(t,i+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([i,o])=>{for(let a=0;a<o;a++)i(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([i,o])=>{for(let a=0;a<o;a++)i.apply(i,[e,...t])})}},Se=class extends te{constructor(e,t={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&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,i={}){let o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,a=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure,s;e.indexOf(".")>-1?s=e.split("."):(s=[e,t],r&&(Array.isArray(r)?s.push(...r):I(r)&&o?s.push(...r.split(o)):s.push(r)));let f=Ce(this.data,s);return!f&&!t&&!r&&e.indexOf(".")>-1&&(e=s[0],t=s[1],r=s.slice(2).join(".")),f||!a||!I(r)?f:Ue(this.data?.[e]?.[t],r,o)}addResource(e,t,r,i,o={silent:!1}){let a=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,s=[e,t];r&&(s=s.concat(a?r.split(a):r)),e.indexOf(".")>-1&&(s=e.split("."),i=t,t=s[1]),this.addNamespaces(t),Nt(this.data,s,i),o.silent||this.emit("added",e,t,r,i)}addResources(e,t,r,i={silent:!1}){for(let o in r)(I(r[o])||Array.isArray(r[o]))&&this.addResource(e,t,o,r[o],{silent:!0});i.silent||this.emit("added",e,t,r)}addResourceBundle(e,t,r,i,o,a={silent:!1,skipCopy:!1}){let s=[e,t];e.indexOf(".")>-1&&(s=e.split("."),i=r,r=t,t=s[1]),this.addNamespaces(t);let f=Ce(this.data,s)||{};a.skipCopy||(r=JSON.parse(JSON.stringify(r))),i?bt(f,r,o):f={...f,...r},Nt(this.data,s,f),a.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 this.getResource(e,t)!==void 0}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(i=>t[i]&&Object.keys(t[i]).length>0)}toJSON(){return this.data}},Lt={processors:{},addPostProcessor(n){this.processors[n.name]=n},handle(n,e,t,r,i){return n.forEach(o=>{e=this.processors[o]?.process(e,t,r,i)??e}),e}},Rt=Symbol("i18next/PATH_KEY");function Ir(){let n=[],e=Object.create(null),t;return e.get=(r,i)=>(t?.revoke?.(),i===Rt?n:(n.push(i),t=Proxy.revocable(r,e),t.proxy)),Proxy.revocable(Object.create(null),e).proxy}function We(n,e){let{[Rt]:t}=n(Ir());return t.join(e?.keySeparator??".")}var Tt={},Fe=n=>!I(n)&&typeof n!="boolean"&&typeof n!="number",Ge=class n extends te{constructor(e,t={}){super(),sr(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=z.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){let r={...t};if(e==null)return!1;let i=this.resolve(e,r);if(i?.res===void 0)return!1;let o=Fe(i.res);return!(r.returnObjects===!1&&o)}extractFromKey(e,t){let r=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");let i=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator,o=t.ns||this.options.defaultNS||[],a=r&&e.indexOf(r)>-1,s=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!mr(e,r,i);if(a&&!s){let f=e.match(this.interpolator.nestingRegexp);if(f&&f.length>0)return{key:e,namespaces:I(o)?[o]:o};let d=e.split(r);(r!==i||r===i&&this.options.ns.indexOf(d[0])>-1)&&(o=d.shift()),e=d.join(i)}return{key:e,namespaces:I(o)?[o]:o}}translate(e,t,r){let i=typeof t=="object"?{...t}:t;if(typeof i!="object"&&this.options.overloadTranslationOptionHandler&&(i=this.options.overloadTranslationOptionHandler(arguments)),typeof i=="object"&&(i={...i}),i||(i={}),e==null)return"";typeof e=="function"&&(e=We(e,{...this.options,...i})),Array.isArray(e)||(e=[String(e)]);let o=i.returnDetails!==void 0?i.returnDetails:this.options.returnDetails,a=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,{key:s,namespaces:f}=this.extractFromKey(e[e.length-1],i),d=f[f.length-1],p=i.nsSeparator!==void 0?i.nsSeparator:this.options.nsSeparator;p===void 0&&(p=":");let c=i.lng||this.language,m=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c?.toLowerCase()==="cimode")return m?o?{res:`${d}${p}${s}`,usedKey:s,exactUsedKey:s,usedLng:c,usedNS:d,usedParams:this.getUsedParamsDetails(i)}:`${d}${p}${s}`:o?{res:s,usedKey:s,exactUsedKey:s,usedLng:c,usedNS:d,usedParams:this.getUsedParamsDetails(i)}:s;let u=this.resolve(e,i),g=u?.res,C=u?.usedKey||s,b=u?.exactUsedKey||s,E=["[object Number]","[object Function]","[object RegExp]"],S=i.joinArrays!==void 0?i.joinArrays:this.options.joinArrays,A=!this.i18nFormat||this.i18nFormat.handleAsObject,N=i.count!==void 0&&!I(i.count),P=n.hasDefaultValue(i),Z=N?this.pluralResolver.getSuffix(c,i.count,i):"",Q=i.ordinal&&N?this.pluralResolver.getSuffix(c,i.count,{ordinal:!1}):"",lt=N&&!i.ordinal&&i.count===0,U=lt&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${Z}`]||i[`defaultValue${Q}`]||i.defaultValue,$=g;A&&!g&&P&&($=U);let or=Fe($),ar=Object.prototype.toString.apply($);if(A&&$&&or&&E.indexOf(ar)<0&&!(I(S)&&Array.isArray($))){if(!i.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");let j=this.options.returnedObjectHandler?this.options.returnedObjectHandler(C,$,{...i,ns:f}):`key '${s} (${this.language})' returned an object instead of string.`;return o?(u.res=j,u.usedParams=this.getUsedParamsDetails(i),u):j}if(a){let j=Array.isArray($),w=j?[]:{},ut=j?b:C;for(let _ in $)if(Object.prototype.hasOwnProperty.call($,_)){let K=`${ut}${a}${_}`;P&&!g?w[_]=this.translate(K,{...i,defaultValue:Fe(U)?U[_]:void 0,joinArrays:!1,ns:f}):w[_]=this.translate(K,{...i,joinArrays:!1,ns:f}),w[_]===K&&(w[_]=$[_])}g=w}}else if(A&&I(S)&&Array.isArray(g))g=g.join(S),g&&(g=this.extendTranslation(g,e,i,r));else{let j=!1,w=!1;!this.isValidLookup(g)&&P&&(j=!0,g=U),this.isValidLookup(g)||(w=!0,g=s);let _=(i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&w?void 0:g,K=P&&U!==g&&this.options.updateMissing;if(w||j||K){if(this.logger.log(K?"updateKey":"missingKey",c,d,s,K?U:g),a){let v=this.resolve(s,{...i,keySeparator:!1});v&&v.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 ue=[],Te=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo==="fallback"&&Te&&Te[0])for(let v=0;v<Te.length;v++)ue.push(Te[v]);else this.options.saveMissingTo==="all"?ue=this.languageUtils.toResolveHierarchy(i.lng||this.language):ue.push(i.lng||this.language);let ht=(v,Y,he)=>{let mt=P&&he!==g?he:_;this.options.missingKeyHandler?this.options.missingKeyHandler(v,d,Y,mt,K,i):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(v,d,Y,mt,K,i),this.emit("missingKey",v,d,Y,g)};this.options.saveMissing&&(this.options.saveMissingPlurals&&N?ue.forEach(v=>{let Y=this.pluralResolver.getSuffixes(v,i);lt&&i[`defaultValue${this.options.pluralSeparator}zero`]&&Y.indexOf(`${this.options.pluralSeparator}zero`)<0&&Y.push(`${this.options.pluralSeparator}zero`),Y.forEach(he=>{ht([v],s+he,i[`defaultValue${he}`]||U)})}):ht(ue,s,U))}g=this.extendTranslation(g,e,i,u,r),w&&g===s&&this.options.appendNamespaceToMissingKey&&(g=`${d}${p}${s}`),(w||j)&&this.options.parseMissingKeyHandler&&(g=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${d}${p}${s}`:s,j?g:void 0,i))}return o?(u.res=g,u.usedParams=this.getUsedParamsDetails(i),u):g}extendTranslation(e,t,r,i,o){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});let f=I(e)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables),d;if(f){let c=e.match(this.interpolator.nestingRegexp);d=c&&c.length}let p=r.replace&&!I(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(p={...this.options.interpolation.defaultVariables,...p}),e=this.interpolator.interpolate(e,p,r.lng||this.language||i.usedLng,r),f){let c=e.match(this.interpolator.nestingRegexp),m=c&&c.length;d<m&&(r.nest=!1)}!r.lng&&i&&i.res&&(r.lng=this.language||i.usedLng),r.nest!==!1&&(e=this.interpolator.nest(e,(...c)=>o?.[0]===c[0]&&!r.context?(this.logger.warn(`It seems you are nesting recursively key: ${c[0]} in key: ${t[0]}`),null):this.translate(...c,t),r)),r.interpolation&&this.interpolator.reset()}let a=r.postProcess||this.options.postProcess,s=I(a)?[a]:a;return e!=null&&s?.length&&r.applyPostProcessor!==!1&&(e=Lt.handle(s,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...i,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e,t={}){let r,i,o,a,s;return I(e)&&(e=[e]),e.forEach(f=>{if(this.isValidLookup(r))return;let d=this.extractFromKey(f,t),p=d.key;i=p;let c=d.namespaces;this.options.fallbackNS&&(c=c.concat(this.options.fallbackNS));let m=t.count!==void 0&&!I(t.count),u=m&&!t.ordinal&&t.count===0,g=t.context!==void 0&&(I(t.context)||typeof t.context=="number")&&t.context!=="",C=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);c.forEach(b=>{this.isValidLookup(r)||(s=b,!Tt[`${C[0]}-${b}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(s)&&(Tt[`${C[0]}-${b}`]=!0,this.logger.warn(`key "${i}" for languages "${C.join(", ")}" won't get resolved as namespace "${s}" 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!!!")),C.forEach(E=>{if(this.isValidLookup(r))return;a=E;let S=[p];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(S,p,E,b,t);else{let N;m&&(N=this.pluralResolver.getSuffix(E,t.count,t));let P=`${this.options.pluralSeparator}zero`,Z=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(m&&(t.ordinal&&N.indexOf(Z)===0&&S.push(p+N.replace(Z,this.options.pluralSeparator)),S.push(p+N),u&&S.push(p+P)),g){let Q=`${p}${this.options.contextSeparator||"_"}${t.context}`;S.push(Q),m&&(t.ordinal&&N.indexOf(Z)===0&&S.push(Q+N.replace(Z,this.options.pluralSeparator)),S.push(Q+N),u&&S.push(Q+P))}}let A;for(;A=S.pop();)this.isValidLookup(r)||(o=A,r=this.getResource(E,b,A,t))}))})}),{res:r,usedKey:i,exactUsedKey:o,usedLng:a,usedNS:s}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,t,r,i={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,r,i):this.resourceStore.getResource(e,t,r,i)}getUsedParamsDetails(e={}){let t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=e.replace&&!I(e.replace),i=r?e.replace:e;if(r&&typeof e.count<"u"&&(i.count=e.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!r){i={...i};for(let o of t)delete i[o]}return i}static hasDefaultValue(e){let t="defaultValue";for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t===r.substring(0,t.length)&&e[r]!==void 0)return!0;return!1}},Pe=class{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=z.create("languageUtils")}getScriptPartFromCode(e){if(e=Ie(e),!e||e.indexOf("-")<0)return null;let t=e.split("-");return t.length===2||(t.pop(),t[t.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(e=Ie(e),!e||e.indexOf("-")<0)return e;let t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(I(e)&&e.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch{}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||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(r=>{if(t)return;let i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(t=i)}),!t&&this.options.supportedLngs&&e.forEach(r=>{if(t)return;let i=this.getScriptPartFromCode(r);if(this.isSupportedCode(i))return t=i;let o=this.getLanguagePartFromCode(r);if(this.isSupportedCode(o))return t=o;t=this.options.supportedLngs.find(a=>{if(a===o)return a;if(!(a.indexOf("-")<0&&o.indexOf("-")<0)&&(a.indexOf("-")>0&&o.indexOf("-")<0&&a.substring(0,a.indexOf("-"))===o||a.indexOf(o)===0&&o.length>1))return a})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if(typeof e=="function"&&(e=e(t)),I(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((t===!1?[]:t)||this.options.fallbackLng||[],e),i=[],o=a=>{a&&(this.isSupportedCode(a)?i.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return I(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(e))):I(e)&&o(this.formatLanguageCode(e)),r.forEach(a=>{i.indexOf(a)<0&&o(this.formatLanguageCode(a))}),i}},xt={zero:0,one:1,two:2,few:3,many:4,other:5},Ct={select:n=>n===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})},Ye=class{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=z.create("pluralResolver"),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let r=Ie(e==="dev"?"en":e),i=t.ordinal?"ordinal":"cardinal",o=JSON.stringify({cleanedCode:r,type:i});if(o in this.pluralRulesCache)return this.pluralRulesCache[o];let a;try{a=new Intl.PluralRules(r,{type:i})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),Ct;if(!e.match(/-|_/))return Ct;let f=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(f,t)}return this.pluralRulesCache[o]=a,a}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(i=>`${t}${i}`)}getSuffixes(e,t={}){let r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?r.resolvedOptions().pluralCategories.sort((i,o)=>xt[i]-xt[o]).map(i=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${i}`):[]}getSuffix(e,t,r={}){let i=this.getRule(e,r);return i?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,r))}},St=(n,e,t,r=".",i=!0)=>{let o=cr(n,e,t);return!o&&i&&I(t)&&(o=Ue(n,t,r),o===void 0&&(o=Ue(e,t,r))),o},Me=n=>n.replace(/\$/g,"$$$$"),be=class{constructor(e={}){this.logger=z.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(t=>t),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});let{escape:t,escapeValue:r,useRawValueToEscape:i,prefix:o,prefixEscaped:a,suffix:s,suffixEscaped:f,formatSeparator:d,unescapeSuffix:p,unescapePrefix:c,nestingPrefix:m,nestingPrefixEscaped:u,nestingSuffix:g,nestingSuffixEscaped:C,nestingOptionsSeparator:b,maxReplaces:E,alwaysFormat:S}=e.interpolation;this.escape=t!==void 0?t:lr,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=i!==void 0?i:!1,this.prefix=o?ee(o):a||"{{",this.suffix=s?ee(s):f||"}}",this.formatSeparator=d||",",this.unescapePrefix=p?"":c||"-",this.unescapeSuffix=this.unescapePrefix?"":p||"",this.nestingPrefix=m?ee(m):u||ee("$t("),this.nestingSuffix=g?ee(g):C||ee(")"),this.nestingOptionsSeparator=b||",",this.maxReplaces=E||1e3,this.alwaysFormat=S!==void 0?S:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let e=(t,r)=>t?.source===r?(t.lastIndex=0,t):new RegExp(r,"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,i){let o,a,s,f=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},d=u=>{if(u.indexOf(this.formatSeparator)<0){let E=St(t,f,u,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(E,void 0,r,{...i,...t,interpolationkey:u}):E}let g=u.split(this.formatSeparator),C=g.shift().trim(),b=g.join(this.formatSeparator).trim();return this.format(St(t,f,C,this.options.keySeparator,this.options.ignoreJSONStructure),b,r,{...i,...t,interpolationkey:C})};this.resetRegExp();let p=i?.missingInterpolationHandler||this.options.missingInterpolationHandler,c=i?.interpolation?.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:u=>Me(u)},{regex:this.regexp,safeValue:u=>this.escapeValue?Me(this.escape(u)):Me(u)}].forEach(u=>{for(s=0;o=u.regex.exec(e);){let g=o[1].trim();if(a=d(g),a===void 0)if(typeof p=="function"){let b=p(e,o,i);a=I(b)?b:""}else if(i&&Object.prototype.hasOwnProperty.call(i,g))a="";else if(c){a=o[0];continue}else this.logger.warn(`missed to pass in variable ${g} for interpolating ${e}`),a="";else!I(a)&&!this.useRawValueToEscape&&(a=gt(a));let C=u.safeValue(a);if(e=e.replace(o[0],C),c?(u.regex.lastIndex+=a.length,u.regex.lastIndex-=o[0].length):u.regex.lastIndex=0,s++,s>=this.maxReplaces)break}}),e}nest(e,t,r={}){let i,o,a,s=(f,d)=>{let p=this.nestingOptionsSeparator;if(f.indexOf(p)<0)return f;let c=f.split(new RegExp(`${p}[ ]*{`)),m=`{${c[1]}`;f=c[0],m=this.interpolate(m,a);let u=m.match(/'/g),g=m.match(/"/g);((u?.length??0)%2===0&&!g||g.length%2!==0)&&(m=m.replace(/'/g,'"'));try{a=JSON.parse(m),d&&(a={...d,...a})}catch(C){return this.logger.warn(`failed parsing options string in nesting for key ${f}`,C),`${f}${p}${m}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,f};for(;i=this.nestingRegexp.exec(e);){let f=[];a={...r},a=a.replace&&!I(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let d=/{.*}/.test(i[1])?i[1].lastIndexOf("}")+1:i[1].indexOf(this.formatSeparator);if(d!==-1&&(f=i[1].slice(d).split(this.formatSeparator).map(p=>p.trim()).filter(Boolean),i[1]=i[1].slice(0,d)),o=t(s.call(this,i[1].trim(),a),a),o&&i[0]===e&&!I(o))return o;I(o)||(o=gt(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${e}`),o=""),f.length&&(o=f.reduce((p,c)=>this.format(p,c,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),e=e.replace(i[0],o),this.regexp.lastIndex=0}return e}},yr=n=>{let e=n.toLowerCase().trim(),t={};if(n.indexOf("(")>-1){let r=n.split("(");e=r[0].toLowerCase().trim();let i=r[1].substring(0,r[1].length-1);e==="currency"&&i.indexOf(":")<0?t.currency||(t.currency=i.trim()):e==="relativetime"&&i.indexOf(":")<0?t.range||(t.range=i.trim()):i.split(";").forEach(a=>{if(a){let[s,...f]=a.split(":"),d=f.join(":").trim().replace(/^'+|'+$/g,""),p=s.trim();t[p]||(t[p]=d),d==="false"&&(t[p]=!1),d==="true"&&(t[p]=!0),isNaN(d)||(t[p]=parseInt(d,10))}})}return{formatName:e,formatOptions:t}},Gt=n=>{let e={};return(t,r,i)=>{let o=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(o={...o,[i.interpolationkey]:void 0});let a=r+JSON.stringify(o),s=e[a];return s||(s=n(Ie(r),i),e[a]=s),s(t)}},Nr=n=>(e,t,r)=>n(Ie(t),r)(e),Je=class{constructor(e={}){this.logger=z.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";let r=t.cacheInBuiltFormats?Gt:Nr;this.formats={number:r((i,o)=>{let a=new Intl.NumberFormat(i,{...o});return s=>a.format(s)}),currency:r((i,o)=>{let a=new Intl.NumberFormat(i,{...o,style:"currency"});return s=>a.format(s)}),datetime:r((i,o)=>{let a=new Intl.DateTimeFormat(i,{...o});return s=>a.format(s)}),relativetime:r((i,o)=>{let a=new Intl.RelativeTimeFormat(i,{...o});return s=>a.format(s,o.range||"day")}),list:r((i,o)=>{let a=new Intl.ListFormat(i,{...o});return s=>a.format(s)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=Gt(t)}format(e,t,r,i={}){let o=t.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&o[0].indexOf(")")<0&&o.find(s=>s.indexOf(")")>-1)){let s=o.findIndex(f=>f.indexOf(")")>-1);o[0]=[o[0],...o.splice(1,s)].join(this.formatSeparator)}return o.reduce((s,f)=>{let{formatName:d,formatOptions:p}=yr(f);if(this.formats[d]){let c=s;try{let m=i?.formatParams?.[i.interpolationkey]||{},u=m.locale||m.lng||i.locale||i.lng||r;c=this.formats[d](s,u,{...p,...i,...m})}catch(m){this.logger.warn(m)}return c}else this.logger.warn(`there was no format function for ${d}`);return s},e)}},Tr=(n,e)=>{n.pending[e]!==void 0&&(delete n.pending[e],n.pendingCount--)},Xe=class extends te{constructor(e,t,r,i={}){super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=z.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,i.backend,i)}queueLoad(e,t,r,i){let o={},a={},s={},f={};return e.forEach(d=>{let p=!0;t.forEach(c=>{let m=`${d}|${c}`;!r.reload&&this.store.hasResourceBundle(d,c)?this.state[m]=2:this.state[m]<0||(this.state[m]===1?a[m]===void 0&&(a[m]=!0):(this.state[m]=1,p=!1,a[m]===void 0&&(a[m]=!0),o[m]===void 0&&(o[m]=!0),f[c]===void 0&&(f[c]=!0)))}),p||(s[d]=!0)}),(Object.keys(o).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(a),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(f)}}loaded(e,t,r){let i=e.split("|"),o=i[0],a=i[1];t&&this.emit("failedLoading",o,a,t),!t&&r&&this.store.addResourceBundle(o,a,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0);let s={};this.queue.forEach(f=>{dr(f.loaded,[o],a),Tr(f,e),t&&f.errors.push(t),f.pendingCount===0&&!f.done&&(Object.keys(f.loaded).forEach(d=>{s[d]||(s[d]={});let p=f.loaded[d];p.length&&p.forEach(c=>{s[d][c]===void 0&&(s[d][c]=!0)})}),f.done=!0,f.errors.length?f.callback(f.errors):f.callback())}),this.emit("loaded",s),this.queue=this.queue.filter(f=>!f.done)}read(e,t,r,i=0,o=this.retryTimeout,a){if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:r,tried:i,wait:o,callback:a});return}this.readingCalls++;let s=(d,p)=>{if(this.readingCalls--,this.waitingReads.length>0){let c=this.waitingReads.shift();this.read(c.lng,c.ns,c.fcName,c.tried,c.wait,c.callback)}if(d&&p&&i<this.maxRetries){setTimeout(()=>{this.read.call(this,e,t,r,i+1,o*2,a)},o);return}a(d,p)},f=this.backend[r].bind(this.backend);if(f.length===2){try{let d=f(e,t);d&&typeof d.then=="function"?d.then(p=>s(null,p)).catch(s):s(null,d)}catch(d){s(d)}return}return f(e,t,s)}prepareLoading(e,t,r={},i){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();I(e)&&(e=this.languageUtils.toResolveHierarchy(e)),I(t)&&(t=[t]);let o=this.queueLoad(e,t,r,i);if(!o.toLoad.length)return o.pending.length||i(),null;o.toLoad.forEach(a=>{this.loadOne(a)})}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("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(a,s)=>{a&&this.logger.warn(`${t}loading namespace ${o} for language ${i} failed`,a),!a&&s&&this.logger.log(`${t}loaded namespace ${o} for language ${i}`,s),this.loaded(e,a,s)})}saveMissing(e,t,r,i,o,a={},s=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t)){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!!!");return}if(!(r==null||r==="")){if(this.backend?.create){let f={...a,isUpdate:o},d=this.backend.create.bind(this.backend);if(d.length<6)try{let p;d.length===5?p=d(e,t,r,i,f):p=d(e,t,r,i),p&&typeof p.then=="function"?p.then(c=>s(null,c)).catch(s):s(null,p)}catch(p){s(p)}else d(e,t,r,i,s,f)}!e||!e[0]||this.store.addResource(e[0],t,r,i)}}},Ke=()=>({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:n=>{let e={};if(typeof n[1]=="object"&&(e=n[1]),I(n[1])&&(e.defaultValue=n[1]),I(n[2])&&(e.tDescription=n[2]),typeof n[2]=="object"||typeof n[3]=="object"){let t=n[3]||n[2];Object.keys(t).forEach(r=>{e[r]=t[r]})}return e},interpolation:{escapeValue:!0,format:n=>n,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),Pt=n=>(I(n.ns)&&(n.ns=[n.ns]),I(n.fallbackLng)&&(n.fallbackLng=[n.fallbackLng]),I(n.fallbackNS)&&(n.fallbackNS=[n.fallbackNS]),n.supportedLngs?.indexOf?.("cimode")<0&&(n.supportedLngs=n.supportedLngs.concat(["cimode"])),typeof n.initImmediate=="boolean"&&(n.initAsync=n.initImmediate),n),xe=()=>{},xr=n=>{Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach(t=>{typeof n[t]=="function"&&(n[t]=n[t].bind(n))})},Cr=n=>!!(n?.modules?.backend?.name?.indexOf("Locize")>0||n?.modules?.backend?.constructor?.name?.indexOf("Locize")>0||n?.options?.backend?.backends&&n.options.backend.backends.some(e=>e?.name?.indexOf("Locize")>0||e?.constructor?.name?.indexOf("Locize")>0)),qe=class n extends te{constructor(e={},t){if(super(),this.options=Pt(e),this.services={},this.logger=z,this.modules={external:[]},xr(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,typeof e=="function"&&(t=e,e={}),e.defaultNS==null&&e.ns&&(I(e.ns)?e.defaultNS=e.ns:e.ns.indexOf("translation")<0&&(e.defaultNS=e.ns[0]));let r=Ke();this.options={...r,...this.options,...Pt(e)},this.options.interpolation={...r.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator),typeof this.options.overloadTranslationOptionHandler!="function"&&(this.options.overloadTranslationOptionHandler=r.overloadTranslationOptionHandler),this.options.showSupportNotice!==!1&&!Cr(this)&&typeof console<"u"&&typeof console.info<"u"&&console.info("\u{1F310} i18next is maintained with support from locize.com \u2014 consider powering your project with managed localization (AI, CDN, integrations): https://locize.com \u{1F499}");let i=d=>d?typeof d=="function"?new d:d:null;if(!this.options.isClone){this.modules.logger?z.init(i(this.modules.logger),this.options):z.init(null,this.options);let d;this.modules.formatter?d=this.modules.formatter:d=Je;let p=new Pe(this.options);this.store=new Se(this.options.resources,this.options);let c=this.services;c.logger=z,c.resourceStore=this.store,c.languageUtils=p,c.pluralResolver=new Ye(p,{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"),d&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(c.formatter=i(d),c.formatter.init&&c.formatter.init(c,this.options),this.options.interpolation.format=c.formatter.format.bind(c.formatter)),c.interpolator=new be(this.options),c.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},c.backendConnector=new Xe(i(this.modules.backend),c.resourceStore,c,this.options),c.backendConnector.on("*",(u,...g)=>{this.emit(u,...g)}),this.modules.languageDetector&&(c.languageDetector=i(this.modules.languageDetector),c.languageDetector.init&&c.languageDetector.init(c,this.options.detection,this.options)),this.modules.i18nFormat&&(c.i18nFormat=i(this.modules.i18nFormat),c.i18nFormat.init&&c.i18nFormat.init(this)),this.translator=new Ge(this.services,this.options),this.translator.on("*",(u,...g)=>{this.emit(u,...g)}),this.modules.external.forEach(u=>{u.init&&u.init(this)})}if(this.format=this.options.interpolation.format,t||(t=xe),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.length>0&&d[0]!=="dev"&&(this.options.lng=d[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(d=>{this[d]=(...p)=>this.store[d](...p)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(d=>{this[d]=(...p)=>(this.store[d](...p),this)});let s=me(),f=()=>{let d=(p,c)=>{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),s.resolve(c),t(p,c)};if(this.languages&&!this.isInitialized)return d(null,this.t.bind(this));this.changeLanguage(this.options.lng,d)};return this.options.resources||!this.options.initAsync?f():setTimeout(f,0),s}loadResources(e,t=xe){let r=t,i=I(e)?e:this.language;if(typeof e=="function"&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if(i?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();let o=[],a=s=>{if(!s||s==="cimode")return;this.services.languageUtils.toResolveHierarchy(s).forEach(d=>{d!=="cimode"&&o.indexOf(d)<0&&o.push(d)})};i?a(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(f=>a(f)),this.options.preload?.forEach?.(s=>a(s)),this.services.backendConnector.load(o,this.options.ns,s=>{!s&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(s)})}else r(null)}reloadResources(e,t,r){let i=me();return typeof e=="function"&&(r=e,e=void 0),typeof t=="function"&&(r=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),r||(r=xe),this.services.backendConnector.reload(e,t,o=>{i.resolve(),r(o)}),i}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 e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&Lt.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!(["cimode","dev"].indexOf(e)>-1)){for(let t=0;t<this.languages.length;t++){let r=this.languages[t];if(!(["cimode","dev"].indexOf(r)>-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;let r=me();this.emit("languageChanging",e);let i=s=>{this.language=s,this.languages=this.services.languageUtils.toResolveHierarchy(s),this.resolvedLanguage=void 0,this.setResolvedLanguage(s)},o=(s,f)=>{f?this.isLanguageChangingTo===e&&(i(f),this.translator.changeLanguage(f),this.isLanguageChangingTo=void 0,this.emit("languageChanged",f),this.logger.log("languageChanged",f)):this.isLanguageChangingTo=void 0,r.resolve((...d)=>this.t(...d)),t&&t(s,(...d)=>this.t(...d))},a=s=>{!e&&!s&&this.services.languageDetector&&(s=[]);let f=I(s)?s:s&&s[0],d=this.store.hasLanguageSomeTranslations(f)?f:this.services.languageUtils.getBestMatchFromCodes(I(s)?[s]:s);d&&(this.language||i(d),this.translator.language||this.translator.changeLanguage(d),this.services.languageDetector?.cacheUserLanguage?.(d)),this.loadResources(d,p=>{o(p,d)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e),r}getFixedT(e,t,r){let i=(o,a,...s)=>{let f;typeof a!="object"?f=this.options.overloadTranslationOptionHandler([o,a].concat(s)):f={...a},f.lng=f.lng||i.lng,f.lngs=f.lngs||i.lngs,f.ns=f.ns||i.ns,f.keyPrefix!==""&&(f.keyPrefix=f.keyPrefix||r||i.keyPrefix);let d=this.options.keySeparator||".",p;return f.keyPrefix&&Array.isArray(o)?p=o.map(c=>(typeof c=="function"&&(c=We(c,{...this.options,...a})),`${f.keyPrefix}${d}${c}`)):(typeof o=="function"&&(o=We(o,{...this.options,...a})),p=f.keyPrefix?`${f.keyPrefix}${d}${o}`:o),this.t(p,f)};return I(e)?i.lng=e:i.lngs=e,i.ns=t,i.keyPrefix=r,i}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],i=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;let a=(s,f)=>{let d=this.services.backendConnector.state[`${s}|${f}`];return d===-1||d===0||d===2};if(t.precheck){let s=t.precheck(this,a);if(s!==void 0)return s}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(r,e)&&(!i||a(o,e)))}loadNamespaces(e,t){let r=me();return this.options.ns?(I(e)&&(e=[e]),e.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),t&&t(i)}),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){let r=me();I(e)&&(e=[e]);let i=this.options.preload||[],o=e.filter(a=>i.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return o.length?(this.options.preload=i.concat(o),this.loadResources(a=>{r.resolve(),t&&t(a)}),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 i=new Intl.Locale(e);if(i&&i.getTextInfo){let o=i.getTextInfo();if(o&&o.direction)return o.direction}}catch{}let t=["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"],r=this.services?.languageUtils||new Pe(Ke());return e.toLowerCase().indexOf("-latn")>1?"ltr":t.indexOf(r.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){let r=new n(e,t);return r.createInstance=n.createInstance,r}cloneInstance(e={},t=xe){let r=e.forkResourceStore;r&&delete e.forkResourceStore;let i={...this.options,...e,isClone:!0},o=new n(i);if((e.debug!==void 0||e.prefix!==void 0)&&(o.logger=o.logger.clone(e)),["store","services","language"].forEach(s=>{o[s]=this[s]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r){let s=Object.keys(this.store.data).reduce((f,d)=>(f[d]={...this.store.data[d]},f[d]=Object.keys(f[d]).reduce((p,c)=>(p[c]={...f[d][c]},p),f[d]),f),{});o.store=new Se(s,i),o.services.resourceStore=o.store}if(e.interpolation){let f={...Ke().interpolation,...this.options.interpolation,...e.interpolation},d={...i,interpolation:f};o.services.interpolator=new be(d)}return o.translator=new Ge(o.services,i),o.translator.on("*",(s,...f)=>{o.emit(s,...f)}),o.init(i,t),o.translator.options=i,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}}},L=qe.createInstance(),Ei=L.createInstance,Ai=L.dir,vi=L.init,Oi=L.loadResources,Vi=L.reloadResources,wi=L.use,ki=L.changeLanguage,$i=L.getFixedT,ji=L.t,_i=L.exists,zi=L.setDefaultNamespace,Fi=L.hasLoadedNamespace,Mi=L.loadNamespaces,Ki=L.loadLanguages;var Dt={AI64CharacterSetValidator:{lengthMustBeMultipleOf4:"Length {{length, number}} must be a multiple of 4"},Check:{lengthOfStringForPriceOrWeightMustBeExactly:"Length {{length, number}} of string for price or weight must be 4 or 5",priceOrWeightComponent:"price or weight",lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo:"Length {{length, number}} of string for check character pair must be less than or equal to {{maximumLength, number}}"},Identifier:{identifierTypeLength:"{{identifierType}} must be {{length, number}} digits long",invalidCheckDigit:"Invalid check digit",invalidGTINLength:"GTIN must be 13, 12, 8, or 14 digits long",invalidGTIN14Length:"GTIN must be 14 digits long",invalidZeroSuppressedGTIN12:"Invalid zero-suppressed GTIN-12",invalidZeroSuppressibleGTIN12:"GTIN-12 not zero-suppressible",invalidZeroSuppressedGTIN12AsGTIN13:"Invalid zero-suppressed GTIN-12 as GTIN-13",invalidZeroSuppressedGTIN12AsGTIN14:"Invalid zero-suppressed GTIN-12 as GTIN-14",invalidGTINAtRetail:"GTIN not supported at retail consumer trade item level",invalidGTINAtOtherThanRetail:"GTIN not supported at other than retail consumer trade item level",invalidRCNLength:"RCN length must match format length",invalidVariableMeasureRCNFormat:"Invalid variable measure RCN format",invalidVariableMeasureRCNPrefix:"Invalid variable measure RCN prefix",invalidVariableMeasurePriceOrWeight:"Invalid variable measure price or weight",indicatorDigit:"indicator digit",serialComponent:"serial component",reference:"reference",referenceCantBeAllNumeric:"Reference can't be all-numeric",invalidCheckCharacterPair:"Invalid check character pair"},Prefix:{gs1CompanyPrefix:"GS1 Company Prefix",upcCompanyPrefix:"U.P.C. Company Prefix",gs18Prefix:"GS1-8 Prefix",gs1CompanyPrefixCantStartWith0:`GS1 Company Prefix can't start with "0"`,gs1CompanyPrefixCantStartWith00000:`GS1 Company Prefix can't start with "00000"`,gs1CompanyPrefixCantStartWith000000:`GS1 Company Prefix can't start with "000000"`,upcCompanyPrefixCantStartWith0000:`U.P.C. Company Prefix can't start with "0000"`,gs18PrefixCantStartWith0:`GS1-8 Prefix can't start with "0"`,identifierTypeNotSupportedByGS18Prefix:"{{identifierType}} not supported by GS1-8 Prefix"},GCPLength:{gs1CompanyPrefixLengthDataFileNotFound:'GS1 Company Prefix length data "{{key}}" not found',gs1CompanyPrefixLengthDataNotLoaded:"GS1 Company Prefix length data not loaded"}};var Et={AI64CharacterSetValidator:{lengthMustBeMultipleOf4:"La longueur {{length, number}} doit \xEAtre un multiple de 4"},Check:{lengthOfStringForPriceOrWeightMustBeExactly:"La longueur {{length, number}} de la cha\xEEne pour le prix ou le poids doit \xEAtre 4 ou 5",priceOrWeightComponent:"prix ou poids",lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo:"La longueur {{length, number}} de la cha\xEEne pour la paire de caract\xE8res de v\xE9rification doit \xEAtre inf\xE9rieure ou \xE9gale \xE0 {{maximumLength, number}}"},Identifier:{identifierTypeLength:"{{identifierType}} doit comporter {{length, number}} chiffres",invalidCheckDigit:"Chiffre de contr\xF4le non valide",invalidGTINLength:"Le GTIN doit comporter 13, 12, 8 ou 14 chiffres",invalidGTIN14Length:"Le GTIN doit comporter 14 chiffres",invalidZeroSuppressedGTIN12:"Code GTIN-12 non valide avec z\xE9ro supprim\xE9",invalidZeroSuppressibleGTIN12:"Le GTIN-12 ne peut pas \xEAtre supprim\xE9 par z\xE9ro",invalidZeroSuppressedGTIN12AsGTIN13:"GTIN-12 non valide avec z\xE9ro supprim\xE9 en tant que GTIN-13",invalidZeroSuppressedGTIN12AsGTIN14:"GTIN-12 non valide avec z\xE9ro supprim\xE9 en tant que GTIN-14",invalidGTINAtRetail:"Le GTIN n'est pas pris en charge au niveau des articles de consommation au d\xE9tail",invalidGTINAtOtherThanRetail:"Le GTIN n'est pas pris en charge \xE0 d'autres niveaux que ceux des articles de consommation au d\xE9tail",invalidRCNLength:"La longueur du RCN doit correspondre \xE0 la longueur du format",invalidVariableMeasureRCNFormat:"Format RCN de mesure variable non valide",invalidVariableMeasureRCNPrefix:"Pr\xE9fixe RCN de mesure variable non valide",invalidVariableMeasurePriceOrWeight:"Mesure variable invalide : prix ou poids",indicatorDigit:"chiffre indicateur",serialComponent:"composant s\xE9rie",reference:"r\xE9f\xE9rence",referenceCantBeAllNumeric:"La r\xE9f\xE9rence ne peut pas \xEAtre enti\xE8rement num\xE9rique",invalidCheckCharacterPair:"Paire de caract\xE8res de contr\xF4le non valide"},Prefix:{gs1CompanyPrefix:"Pr\xE9fixe de l'entreprise GS1",upcCompanyPrefix:"Pr\xE9fixe de l'entreprise U.P.C.",gs18Prefix:"Pr\xE9fixe GS1-8",gs1CompanyPrefixCantStartWith0:"Le pr\xE9fixe de l'entreprise GS1 ne peut pas commencer par \xAB\xA00\xA0\xBB",gs1CompanyPrefixCantStartWith00000:"Le pr\xE9fixe de l'entreprise GS1 ne peut pas commencer par \xAB\xA000000\xA0\xBB",gs1CompanyPrefixCantStartWith000000:"Le pr\xE9fixe de l'entreprise GS1 ne peut pas commencer par \xAB\xA0000000\xA0\xBB",upcCompanyPrefixCantStartWith0000:"Le pr\xE9fixe de l'entreprise U.P.C. ne peut pas commencer par \xAB\xA00000\xA0\xBB",gs18PrefixCantStartWith0:"Le pr\xE9fixe GS1-8 ne peut pas commencer par \xAB\xA00\xA0\xBB",identifierTypeNotSupportedByGS18Prefix:"{{identifierType}} non pris en charge par le pr\xE9fixe GS1-8"},GCPLength:{gs1CompanyPrefixLengthDataFileNotFound:"Donn\xE9es de longueur du pr\xE9fixe d'entreprise GS1 \xAB\xA0{{key}}\xA0\xBB introuvables",gs1CompanyPrefixLengthDataNotLoaded:"Les donn\xE9es relatives \xE0 la longueur du pr\xE9fixe d'entreprise GS1 n'ont pas \xE9t\xE9 charg\xE9es"}};var br="aidct_gs1",Lr={en:{aidct_gs1:Dt},fr:{aidct_gs1:Et}},h=L.createInstance();async function Zi(n,e=!1){return Gr(h,n,e,br,Lr,Sr,Pr)}import{CharacterSetCreator as At,CharacterSetValidator as Rr,Exclusions as vt,utilityNS as Dr}from"@aidc-toolkit/utility";var ye=new At(["!",'"',"%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","_","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"],vt.AllNumeric),rn=ye,Qe=new At(["#","-","/","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],vt.AllNumeric),nn=Qe,Ze=class extends Rr{constructor(){super(["-","0","1","2","3","4","5","6","7","8","9","=","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","_","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"])}validate(e,t){super.validate(e,t);let r=e.length;if(r%4!==0)throw new RangeError(h.t("AI64CharacterSetValidator.lengthMustBeMultipleOf4",{length:r}));let i=e.search(/={1,2}/u);if(i!==-1&&i<r-2)throw new RangeError(h.t("CharacterSetValidator.invalidCharacterAtPosition",{ns:Dr,c:"=",position:i}))}},on=new Ze;import{NUMERIC_CREATOR as Ne,utilityNS as tt}from"@aidc-toolkit/utility";var $t=[0,3,6,9,12,15,18,21,24,27],Le=[0,2,4,6,8,9,1,3,5,7],Ot=[0,5,1,6,2,7,3,8,4,9],Vt=[0,5,9,4,8,3,7,2,6,1],Er=[0,9,7,5,3,1,8,6,4,2];function Re(n,e){let t=(e.length+Number(n))%2===0;return Ne.characterIndexes(e).reduce((r,i,o)=>{if(i===void 0)throw new RangeError(h.t("CharacterSetValidator.invalidCharacterAtPosition",{ns:tt,c:e.charAt(o),position:o+1}));return t=!t,r+(t?$t[i]:i)},0)}function H(n){return Ne.character(9-(Re(!1,n)+9)%10)}function re(n){return Re(!0,n)%10===0}function wt(n,e){return Ne.characterIndexes(e).reduce((t,r,i)=>{if(r===void 0)throw new RangeError(h.t("CharacterSetValidator.invalidCharacterAtPositionOfComponent",{ns:tt,c:e.charAt(i),position:i+1,component:h.t("Check.priceOrWeightComponent")}));return t+n[i][r]},0)}function rt(n){let e;switch(n.length){case 4:e=Ne.character(wt([Le,Le,$t,Vt],n)*3%10);break;case 5:e=Ne.character(Er[9-(wt([Ot,Le,Vt,Ot,Le],n)+9)%10]);break;default:throw new RangeError(h.t("Check.lengthOfStringForPriceOrWeightMustBeExactly",{length:n.length}))}return e}function jt(n,e){return rt(n)===e}var et=[107,103,101,97,89,83,79,73,71,67,61,59,53,47,43,41,37,31,29,23,19,17,13,11,7,5,3,2],kt=["2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","W","X","Y","Z"];function it(n){let e=et.length-n.length;if(e<0)throw new RangeError(h.t("Check.lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo",{length:n.length,maximumLength:et.length}));let t=ye.characterIndexes(n).reduce((i,o,a)=>{if(o===void 0)throw new RangeError(h.t("CharacterSetValidator.invalidCharacterAtPosition",{ns:tt,c:n.charAt(a),position:a+1}));return i+o*et[e+a]},0)%1021,r=t%32;return kt[(t-r)/32]+kt[r]}function _t(n){let e=n.length-2;return it(n.substring(0,e))===n.substring(e)}var y={GS1CompanyPrefix:"GS1 Company Prefix",UPCCompanyPrefix:"U.P.C. Company Prefix",GS18Prefix:"GS1-8 Prefix"};import{NUMERIC_CREATOR as zt}from"@aidc-toolkit/utility";var Ft=4,Mt=12,nt=5,ot=11,at=2,st=7,Ar={minimumLength:Ft,maximumLength:Mt,component:()=>h.t("Prefix.gs1CompanyPrefix")},vr={minimumLength:nt+1,maximumLength:ot+1,component:()=>h.t("Prefix.gs1CompanyPrefix")},Or={minimumLength:at+5,maximumLength:st+5,component:()=>h.t("Prefix.gs1CompanyPrefix")},Vr={minimumLength:nt,maximumLength:ot,component:()=>h.t("Prefix.upcCompanyPrefix")},wr={minimumLength:at,maximumLength:st,component:()=>h.t("Prefix.gs18Prefix")},W={GS1_COMPANY_PREFIX_MINIMUM_LENGTH:Ft,GS1_COMPANY_PREFIX_MAXIMUM_LENGTH:Mt,UPC_COMPANY_PREFIX_MINIMUM_LENGTH:nt,UPC_COMPANY_PREFIX_MAXIMUM_LENGTH:ot,GS1_8_PREFIX_MINIMUM_LENGTH:at,GS1_8_PREFIX_MAXIMUM_LENGTH:st,validate(n,e,t,r,i=!1,o=!1,a){let s;switch(n){case y.GS1CompanyPrefix:if(!r.startsWith("0"))s=Ar;else if(r.startsWith("00000")){if(r.startsWith("000000"))throw new RangeError(h.t(a??"Prefix.gs1CompanyPrefixCantStartWith000000"));if(!t)throw new RangeError(h.t(a??"Prefix.gs1CompanyPrefixCantStartWith00000"));s=Or}else{if(!e)throw new RangeError(h.t(a??"Prefix.gs1CompanyPrefixCantStartWith0"));s=vr}break;case y.UPCCompanyPrefix:if(r.startsWith("0000"))throw new RangeError(h.t("Prefix.upcCompanyPrefixCantStartWith0000"));s=Vr;break;case y.GS18Prefix:if(r.startsWith("0"))throw new RangeError(h.t("Prefix.gs18PrefixCantStartWith0"));s=wr;break}i?o||zt.validate(r.substring(0,Math.min(s.minimumLength,r.length-1)),s):zt.validate(r,s)},normalize(n,e){this.validate(n,!0,!0,e);let t;switch(n){case y.GS1CompanyPrefix:t=e;break;case y.UPCCompanyPrefix:t=`0${e}`;break;case y.GS18Prefix:t=`00000${e}`;break}let r,i,o,a;return t.startsWith("0")?t.startsWith("00000")?(r=y.GS18Prefix,a=t.substring(5),i=a):(r=y.UPCCompanyPrefix,o=t.substring(1),i=o):(r=y.GS1CompanyPrefix,i=t),{prefixType:r,prefix:i,gs1CompanyPrefix:t,upcCompanyPrefix:o,gs18Prefix:a}}};var x={Numeric:"Numeric",AI82:"AI82",AI39:"AI39"};var l={GTIN:"GTIN",GLN:"GLN",SSCC:"SSCC",GRAI:"GRAI",GIAI:"GIAI",GSRN:"GSRN",GDTI:"GDTI",GINC:"GINC",GSIN:"GSIN",GCN:"GCN",CPID:"CPID",GMN:"GMN"};var G={None:"None",IndicatorDigit:"Indicator digit",ExtensionDigit:"Extension digit"};import{pick as kr}from"@aidc-toolkit/core";var B=kr(l,l.GTIN,l.GLN,l.SSCC,l.GRAI,l.GSRN,l.GDTI,l.GSIN,l.GCN);import{pick as $r}from"@aidc-toolkit/core";var De=$r(B,B.GTIN);import{exclude as jr}from"@aidc-toolkit/core";var F=jr(B,De);import{pick as _r}from"@aidc-toolkit/core";var Ee=_r(F,F.GLN,F.SSCC,F.GSRN,F.GSIN);import{exclude as zr}from"@aidc-toolkit/core";var Kt=zr(F,Ee);import{exclude as Fr}from"@aidc-toolkit/core";var Bt=Fr(l,B);import{omit as Mr}from"@aidc-toolkit/core";var T={GTIN13:13,GTIN12:12,GTIN8:8,GTIN14:14},J=Mr(T,"GTIN14"),Ut={[y.GS1CompanyPrefix]:T.GTIN13,[y.UPCCompanyPrefix]:T.GTIN12,[y.GS18Prefix]:T.GTIN8};function ie(n){return n.identifierType in B}function ne(n){return n.identifierType in De}function oe(n){return n.identifierType in F}function ae(n){return n.identifierType in Ee}function se(n){return n.identifierType in Kt}function fe(n){return n.identifierType in Bt}var Kr={identifierType:l.GTIN,prefixType:y.GS1CompanyPrefix,length:J.GTIN13,referenceCharacterSet:x.Numeric,leaderType:G.IndicatorDigit},Br={identifierType:l.GTIN,prefixType:y.UPCCompanyPrefix,length:J.GTIN12,referenceCharacterSet:x.Numeric,leaderType:G.IndicatorDigit},Ur={identifierType:l.GTIN,prefixType:y.GS18Prefix,length:J.GTIN8,referenceCharacterSet:x.Numeric,leaderType:G.IndicatorDigit},Hr={[J.GTIN13]:Kr,[J.GTIN12]:Br,[J.GTIN8]:Ur},Wr={identifierType:l.GLN,prefixType:y.GS1CompanyPrefix,length:13,referenceCharacterSet:x.Numeric,leaderType:G.None},Yr={identifierType:l.SSCC,prefixType:y.GS1CompanyPrefix,length:18,referenceCharacterSet:x.Numeric,leaderType:G.ExtensionDigit},Jr={identifierType:l.GRAI,prefixType:y.GS1CompanyPrefix,length:13,referenceCharacterSet:x.Numeric,leaderType:G.None,serialComponentLength:16,serialComponentCharacterSet:x.AI82},Xr={identifierType:l.GIAI,prefixType:y.GS1CompanyPrefix,length:30,referenceCharacterSet:x.AI82,requiresCheckCharacterPair:!1},qr={identifierType:l.GSRN,prefixType:y.GS1CompanyPrefix,length:18,referenceCharacterSet:x.Numeric,leaderType:G.None},Zr={identifierType:l.GDTI,prefixType:y.GS1CompanyPrefix,length:13,referenceCharacterSet:x.Numeric,leaderType:G.None,serialComponentLength:17,serialComponentCharacterSet:x.AI82},Qr={identifierType:l.GINC,prefixType:y.GS1CompanyPrefix,length:30,referenceCharacterSet:x.AI82,requiresCheckCharacterPair:!1},ei={identifierType:l.GSIN,prefixType:y.GS1CompanyPrefix,length:17,referenceCharacterSet:x.Numeric,leaderType:G.None},ti={identifierType:l.GCN,prefixType:y.GS1CompanyPrefix,length:13,referenceCharacterSet:x.Numeric,leaderType:G.None,serialComponentLength:12,serialComponentCharacterSet:x.Numeric},ri={identifierType:l.CPID,prefixType:y.GS1CompanyPrefix,length:30,referenceCharacterSet:x.AI39,requiresCheckCharacterPair:!1},ii={identifierType:l.GMN,prefixType:y.GS1CompanyPrefix,length:25,referenceCharacterSet:x.AI82,requiresCheckCharacterPair:!0},M={[l.GTIN]:Hr,[l.GLN]:Wr,[l.SSCC]:Yr,[l.GRAI]:Jr,[l.GIAI]:Xr,[l.GSRN]:qr,[l.GDTI]:Zr,[l.GINC]:Qr,[l.GSIN]:ei,[l.GCN]:ti,[l.CPID]:ri,[l.GMN]:ii};function Ht(n){return!("identifierType"in n)}function ro(n){return ie(n)}function io(n){return ne(n)}function no(n){return oe(n)}function oo(n){return ae(n)}function ao(n){return se(n)}function so(n){return fe(n)}import{NUMERIC_CREATOR as ni}from"@aidc-toolkit/utility";var Ae={[x.Numeric]:ni,[x.AI82]:ye,[x.AI39]:Qe};var de=class{#t;#e;#r;#i;constructor(e){this.#t=e.identifierType,this.#e=e.length,this.#r=e.referenceCharacterSet,this.#i=Ae[e.referenceCharacterSet]}get identifierType(){return this.#t}get prefixType(){return y.GS1CompanyPrefix}get length(){return this.#e}get referenceCharacterSet(){return this.#r}get referenceCreator(){return this.#i}padIdentifier(e,t){return t===void 0?e:this.referenceCreator.character(0).repeat(t).concat(e)}validatePrefix(e){W.validate(this.prefixType,!0,!1,e,!0,this.referenceCharacterSet===x.Numeric)}};var ce=class extends de{#t;#e;constructor(e){super(e),this.#t=e.leaderType,this.#e=+(this.leaderType===G.ExtensionDigit)}get leaderType(){return this.#t}validate(e,t){if(this.#e===0?super.validatePrefix(e):super.validatePrefix(e.substring(this.#e)),e.length!==this.length)throw new RangeError(h.t("Identifier.identifierTypeLength",{identifierType:this.identifierType,length:this.length}));if(!re(this.padIdentifier(e,t?.positionOffset)))throw new RangeError(h.t("Identifier.invalidCheckDigit"))}};import{NUMERIC_CREATOR as Wt}from"@aidc-toolkit/utility";var R={Any:0,RetailConsumer:1,OtherThanRetailConsumer:2},D=class n extends ce{static#t={minimumLength:0,maximumLength:1,component:()=>h.t("Identifier.indicatorDigit")};static#e={minimumLength:8,maximumLength:8};static#r={[R.Any]:void 0,[R.RetailConsumer]:"Identifier.invalidGTINAtRetail",[R.OtherThanRetailConsumer]:"Identifier.invalidGTINAtOtherThanRetail"};#i;constructor(e){let t=M.GTIN[e];super(t),this.#i=t.prefixType}get prefixType(){return this.#i}validatePrefix(e){W.validate(this.prefixType,!1,!1,e,!0,!0)}static zeroSuppress(e){ft.validate(e);let t=Array.from(e),r;if(t[0]==="0"&&t[6]==="0"&&t[7]==="0"&&(t[10]>="5"&&t[8]==="0"&&t[9]==="0"&&t[5]!=="0"?r=`0${t[1]}${t[2]}${t[3]}${t[4]}${t[5]}${t[10]}${t[11]}`:t[5]==="0"&&t[8]==="0"&&t[9]==="0"&&t[4]!=="0"?r=`0${t[1]}${t[2]}${t[3]}${t[4]}${t[10]}4${t[11]}`:t[3]<="2"&&t[4]==="0"&&t[5]==="0"?r=`0${t[1]}${t[2]}${t[8]}${t[9]}${t[10]}${t[3]}${t[11]}`:t[3]>="3"&&t[4]==="0"&&t[5]==="0"&&t[8]==="0"&&(r=`0${t[1]}${t[2]}${t[3]}${t[9]}${t[10]}3${t[11]}`)),r===void 0)throw new RangeError(h.t("Identifier.invalidZeroSuppressibleGTIN12"));return r}static zeroExpand(e){Wt.validate(e,n.#e);let t=Array.from(e),r;if(t[0]==="0"&&(t[6]>="5"&&t[5]!=="0"?r=`0${t[1]}${t[2]}${t[3]}${t[4]}${t[5]}0000${t[6]}${t[7]}`:t[6]==="4"&&t[4]!=="0"?r=`0${t[1]}${t[2]}${t[3]}${t[4]}00000${t[5]}${t[7]}`:t[6]<="2"?r=`0${t[1]}${t[2]}${t[6]}0000${t[3]}${t[4]}${t[5]}${t[7]}`:t[6]==="3"&&t[3]>="3"&&(r=`0${t[1]}${t[2]}${t[3]}00000${t[4]}${t[5]}${t[7]}`)),r===void 0)throw new RangeError(h.t("Identifier.invalidZeroSuppressedGTIN12"));return ft.validate(r),r}static convertToGTIN14(e,t){Wt.validate(e,n.#t);let r=n.normalize(t).padStart(T.GTIN14,"0");if(e.length!==0&&!r.startsWith(e)){let i=`${e}${r.substring(1,T.GTIN14-1)}`;r=`${i}${H(i)}`}return r}static normalize(e){let t=e.length,r;switch(t){case T.GTIN13:if(!e.startsWith("0"))r=e;else if(!e.startsWith("00000"))r=e.substring(1);else if(!e.startsWith("000000"))r=e.substring(5);else throw new RangeError(h.t("Identifier.invalidZeroSuppressedGTIN12AsGTIN13"));break;case T.GTIN12:r=e;break;case T.GTIN8:e.startsWith("0")?r=n.zeroExpand(e):r=e;break;case T.GTIN14:if(!e.startsWith("0"))r=e;else if(!e.startsWith("00"))r=e.substring(1);else if(!e.startsWith("000000"))r=e.substring(2);else if(!e.startsWith("0000000"))r=e.substring(6);else throw new RangeError(h.t("Identifier.invalidZeroSuppressedGTIN12AsGTIN14"));break;default:throw new RangeError(h.t("Identifier.invalidGTINLength"))}return n.validateAny(r),r}static validateAny(e,t=R.Any){let r=e,i,o=!1,a=!1,s=e,f;switch(e.length){case T.GTIN13:i=y.GS1CompanyPrefix,o=t!==R.RetailConsumer,a=t===R.Any,f=R.Any;break;case T.GTIN12:i=y.UPCCompanyPrefix,f=R.Any;break;case T.GTIN8:e.startsWith("0")?(r=n.zeroExpand(e),i=void 0):i=y.GS18Prefix,f=R.RetailConsumer;break;case T.GTIN14:i=y.GS1CompanyPrefix,o=!0,a=t!==R.OtherThanRetailConsumer||!e.startsWith("0"),s=e.substring(1),f=R.OtherThanRetailConsumer;break;default:throw new RangeError(h.t("Identifier.invalidGTINLength"))}if(i!==void 0&&W.validate(i,o,a,s,!0,!0,n.#r[t]),!re(r))throw new RangeError(h.t("Identifier.invalidCheckDigit"));if(t!==R.Any&&f!==R.Any&&f!==t)throw new RangeError(h.t(t===R.RetailConsumer?"Identifier.invalidGTINAtRetail":"Identifier.invalidGTINAtOtherThanRetail"))}static validateGTIN14(e){if(e.length!==T.GTIN14)throw new RangeError(h.t("Identifier.invalidGTIN14Length"));n.validateAny(e)}},oi=new D(T.GTIN13),ft=new D(T.GTIN12),ai=new D(T.GTIN8),Yt={[T.GTIN13]:oi,[T.GTIN12]:ft,[T.GTIN8]:ai};var pe=class extends ce{};var O=class extends pe{constructor(e){super(M[e])}};var k=class extends pe{#t;#e;#r;#i;constructor(e){let t=M[e];super(t),this.#t=t.serialComponentLength,this.#e=t.serialComponentCharacterSet,this.#r={minimumLength:1,maximumLength:t.serialComponentLength,component:()=>h.t("Identifier.serialComponent")},this.#i=Ae[t.serialComponentCharacterSet]}get serialComponentLength(){return this.#t}get serialComponentCharacterSet(){return this.#e}get serialComponentValidation(){return this.#r}get serialComponentCreator(){return this.#i}validate(e,t){super.validate(e.substring(0,this.length),t),e.length>this.length&&this.serialComponentCreator.validate(e.substring(this.length),this.#r)}split(e,t){return this.validate(e,t),{baseIdentifier:e.substring(0,this.length),serialComponent:e.substring(this.length)}}};import{Exclusions as si,RegExpValidator as fi}from"@aidc-toolkit/utility";var V=class n extends de{static#t=new class extends fi{createErrorMessage(e){return h.t("Identifier.referenceCantBeAllNumeric")}}(/\D/u);#e;constructor(e){let t=M[e];super(t),this.#e=t.requiresCheckCharacterPair}get requiresCheckCharacterPair(){return this.#e}validate(e,t){let r=this.requiresCheckCharacterPair?e.substring(0,e.length-2):e;if(super.validatePrefix(r),!this.requiresCheckCharacterPair)this.referenceCreator.validate(e,{maximumLength:this.length});else if(!_t(this.padIdentifier(e)))throw new RangeError(h.t("Identifier.invalidCheckCharacterPair"));t?.exclusion===si.AllNumeric&&n.#t.validate(r)}};var di=new O(l.GLN),ci=new O(l.SSCC),pi=new k(l.GRAI),li=new V(l.GIAI),ui=new O(l.GSRN),hi=new k(l.GDTI),mi=new V(l.GINC),gi=new O(l.GSIN),Ii=new k(l.GCN),yi=new V(l.CPID),Ni=new V(l.GMN),ve={[l.GTIN]:Yt,[l.GLN]:di,[l.SSCC]:ci,[l.GRAI]:pi,[l.GIAI]:li,[l.GSRN]:ui,[l.GDTI]:hi,[l.GINC]:mi,[l.GSIN]:gi,[l.GCN]:Ii,[l.CPID]:yi,[l.GMN]:Ni},ia={GTIN:D,GLN:O,SSCC:O,GRAI:k,GIAI:V,GSRN:O,GDTI:k,GINC:V,GSIN:O,GCN:k,CPID:V,GMN:V};function na(n){return Ht(n)}function Jt(n){return ie(n)}function oa(n){return ne(n)}function aa(n){return oe(n)}function sa(n){return ae(n)}function fa(n){return se(n)}function da(n){return fe(n)}var Xt="https://www.gs1.org/services/verified-by-gs1/results?";function ha(n,e,t=void 0,r){let i,o;n===l.GTIN?(i=D.normalize(e),o=!0):(ve[n].validate(e),i=e,o=n===l.GLN);let a=n.toLowerCase();return{reference:o?`${Xt}${a}=${i}`:`${Xt}key=${i}&key_type=${a}`,text:t??e,details:r}}import{Exclusions as Ci,NUMERIC_CREATOR as qt}from"@aidc-toolkit/utility";import{CharacterSetCreator as Ti,Exclusions as xi,NUMERIC_CREATOR as Ve}from"@aidc-toolkit/utility";function Oe(n){class e extends n{#t;#e;constructor(r,i,o,...a){super(...a),this.#t=r,this.#e=this.length-i.length-o}get prefixProvider(){return this.#t}get prefix(){return this.prefixProvider.gs1CompanyPrefix}get referenceLength(){return this.#e}}return e}function we(n){class e extends Oe(n){#t;#e=0n;constructor(r,i,...o){super(r,i,1,...o),this.#t=Number(Ti.powerOf10(this.referenceLength))}get capacity(){return this.#t}get tweak(){return this.#e}set tweak(r){this.#e=r}#r(r){let i=this.leaderType===G.ExtensionDigit?r.substring(0,1)+this.prefix+r.substring(1):this.prefix+r;return i+H(i)}create(r,i){return Ve.create(this.referenceLength,r,xi.None,i===!0?this.tweak:void 0,o=>this.#r(o))}static*createAllPartial(r,i,o,a,s){if(i===0)yield r+Ve.character(9-(s+9)%10);else{let f=i-1,d=s;if(o!==0)for(let p of Ve.characterSet)yield*e.createAllPartial(p+r,f,0,a,d),d+=o;else{let p=4-a;for(let c of Ve.characterSet)yield*e.createAllPartial(r+c,f,0,p,d),d+=a}}}createAll(){let r=this.leaderType===G.ExtensionDigit,i=this.prefix,o=this.length,a=this.referenceLength,s=3-2*((a+1-Number(r))%2);return{[Symbol.iterator](){return e.createAllPartial(i,a,r?3-2*o%2:0,s,Re(s===3,i))}}}}return e}var ke=class n extends we(D){static#t={minimumLength:1,maximumLength:1,component:()=>h.t("Identifier.indicatorDigit")};constructor(e,t){super(e,e.prefix,t)}get prefix(){return this.prefixProvider.prefix}createGTIN14(e,t,r){return qt.validate(e,n.#t),qt.create(T.GTIN13-this.prefixProvider.gs1CompanyPrefix.length-1,t,Ci.None,r===!0?this.tweak:void 0,i=>{let o=e+this.prefixProvider.gs1CompanyPrefix+i;return o+H(o)})}};function $e(n){class e extends we(n){constructor(r,...i){super(r,r.gs1CompanyPrefix,...i)}}return e}var X=class extends $e(O){};import{mapIterable as Si}from"@aidc-toolkit/utility";var le=class extends $e(k){#t(e,t){let r=this.serialComponentCreator,i=this.serialComponentValidation;function o(a){return r.validate(a,i),e+a}return typeof t!="object"?o(t):Si(t,o)}createSerialized(e,t,r){return this.#t(this.create(e,r),t)}concatenate(e,t){return this.validate(e),this.#t(e,t)}};import{mapIterable as Gi}from"@aidc-toolkit/utility";var q=class extends Oe(V){#t;constructor(e,t){super(e,e.gs1CompanyPrefix,2*Number(M[t].requiresCheckCharacterPair),t),this.#t={minimumLength:1,maximumLength:this.referenceLength,component:()=>h.t("Identifier.reference")}}get referenceValidation(){return this.#t}create(e){let t=this.referenceCreator,r=this.referenceValidation,i=this.prefix,o=this.requiresCheckCharacterPair;function a(s){t.validate(s,r);let f=i+s;return o?f+it(f):f}return typeof e!="object"?a(e):Gi(e,a)}};var dt={GTIN:ke,GLN:X,SSCC:X,GRAI:le,GIAI:q,GSRN:X,GDTI:le,GINC:q,GSIN:X,GCN:le,CPID:q,GMN:q};function Zt(n){return ie(n)}function qa(n){return ne(n)}function Za(n){return oe(n)}function Qa(n){return ae(n)}function es(n){return se(n)}function ts(n){return fe(n)}import{NUMERIC_CREATOR as je}from"@aidc-toolkit/utility";var Qt=class{static parseRCN(e,t){let r=e.length;if(t.length!==r)throw new RangeError(h.t("Identifier.invalidRCNLength"));let i=r===12||r===13,o=!0,a=!1,s="",f=!1,d="",p="";for(let c=0;i&&c<r;c++){let m=e.charAt(c),u=t.charAt(c);if(c===0)i=m==="2",o=u==="2";else if(r===13&&c===1)i=je.characterIndex(m)!==void 0,o=u===m;else if(c===r-1)i=m==="C";else switch(m){case"I":a||(i=s==="",a=!0,f=!1),s+=u;break;case"P":f||(i=d==="",f=!0,a=!1),d+=u;break;case"V":i=p==="",a=!1,f=!1,p=u;break;default:i=!1;break}}if(i&&=s!==""&&d!=="",!i)throw new RangeError(h.t("Identifier.invalidVariableMeasureRCNFormat"));if(!o)throw new RangeError(h.t("Identifier.invalidVariableMeasureRCNPrefix"));if(p!==""&&!jt(d,p))throw new RangeError(h.t("Identifier.invalidVariableMeasurePriceOrWeight"));if(!re(t))throw new RangeError(h.t("Identifier.invalidCheckDigit"));return{itemReference:Number(s),priceOrWeight:Number(d)}}static createRCN(e,t,r){let i=e.length,o=i===12||i===13,a="",s=!1,f="",d=0,p=!1,c="",m=0,u=!1,g=N=>N+a,C=N=>N+f,b=N=>N+c,E=N=>N+rt(c),S=N=>N+H(N),A=[g];for(let N=0;o&&N<i;N++){let P=e.charAt(N);if(N===0)o=P==="2",a=P;else if(i===13&&N===1)o=je.characterIndex(P)!==void 0,a+=P;else if(N===i-1)o=P==="C";else switch(P){case"I":s||(o=d===0,s=!0,p=!1,A.push(C)),d++;break;case"P":p||(o=m===0,p=!0,s=!1,A.push(b)),m++;break;case"V":o=!u,s=!1,p=!1,u=!0,A.push(E);break;default:o=!1;break}}if(o&&=d!==0&&m!==0,!o)throw new RangeError(h.t("Identifier.invalidVariableMeasureRCNFormat"));return f=je.create(d,t),c=je.create(m,r),A.push(S),A.reduce((N,P)=>P(N),"")}};var er=class n{static#t=new Map;static#e={GTIN:1987n,GLN:4241n,SSCC:8087n,GRAI:3221n,GSRN:2341n,GDTI:7333n,GSIN:5623n,GCN:6869n};#r;#i;#n;#a;#s;#f;#o=0n;#d={};constructor(e,t){let r=W.normalize(e,t);this.#r=r.prefixType,this.#i=r.prefix,this.#n=r.gs1CompanyPrefix,this.#a=r.upcCompanyPrefix,this.#s=r.gs18Prefix,this.#f=BigInt(`1${this.gs1CompanyPrefix}`),this.resetTweakFactor()}get prefixType(){return this.#r}get prefix(){return this.#i}get gs1CompanyPrefix(){return this.#n}get upcCompanyPrefix(){return this.#a}get gs18Prefix(){return this.#s}#c(e){Zt(e)&&(e.tweak=this.tweakFactor*n.#e[e.identifierType])}get tweakFactor(){return this.#o}set tweakFactor(e){let t=BigInt(e);if(this.#o!==t){this.#o=t;for(let r of Object.values(this.#d))this.#c(r)}}resetTweakFactor(){this.tweakFactor=this.#f}static get(e,t){let r=W.normalize(e,t),i=n.#t.get(r.gs1CompanyPrefix);return i===void 0&&(i=new n(r.prefixType,r.prefix),n.#t.set(r.gs1CompanyPrefix,i)),i}getIdentifierCreator(e){let t=this.#d[e];if(t===void 0){if(e===l.GTIN)t=new dt.GTIN(this,Ut[this.prefixType]);else{if(this.prefixType===y.GS18Prefix)throw new RangeError(h.t("Prefix.identifierTypeNotSupportedByGS18Prefix",{identifierType:e}));t=new dt[e](this,e)}this.#c(t),this.#d[e]=t}return t}get gtinCreator(){return this.getIdentifierCreator(l.GTIN)}get glnCreator(){return this.getIdentifierCreator(l.GLN)}get ssccCreator(){return this.getIdentifierCreator(l.SSCC)}get graiCreator(){return this.getIdentifierCreator(l.GRAI)}get giaiCreator(){return this.getIdentifierCreator(l.GIAI)}get gsrnCreator(){return this.getIdentifierCreator(l.GSRN)}get gdtiCreator(){return this.getIdentifierCreator(l.GDTI)}get gincCreator(){return this.getIdentifierCreator(l.GINC)}get gsinCreator(){return this.getIdentifierCreator(l.GSIN)}get gcnCreator(){return this.getIdentifierCreator(l.GCN)}get cpidCreator(){return this.getIdentifierCreator(l.CPID)}get gmnCreator(){return this.getIdentifierCreator(l.GMN)}};function _e(n){return typeof n=="object"&&"dateTime"in n&&n.dateTime instanceof Date&&"disclaimer"in n&&typeof n.disclaimer=="string"}function ct(n){return _e(n)&&"data"in n&&n.data instanceof Uint8Array}function tr(n){return typeof n=="object"&&"nextCheckDateTime"in n&&n.nextCheckDateTime instanceof Date&&(!("gcpLengthData"in n)||n.gcpLengthData===void 0||typeof n.gcpLengthData=="object"&&n.gcpLengthData!==null&&ct(n.gcpLengthData))}function hs(n){return typeof n=="object"&&"_disclaimer"in n&&"GCPPrefixFormatList"in n}import{Cache as Pi,defaultHTTPFetch as bi,omit as Li,RemoteAppDataStorage as Ri,WEBSITE_BASE_URL as Di}from"@aidc-toolkit/core";var pt=class n extends Pi{static APP_DATA_STORAGE_KEY="gcp-length";static NEXT_CHECK_DATE_TIME_STORAGE_KEY="gcp-length-next-check-date-time";static HEADER_STORAGE_KEY="gcp-length-header";static DATA_STORAGE_KEY="gcp-length-data";#t;#e;constructor(e){super(),this.#t=e}get appDataStorage(){return this.#t}async#r(){if(this.#e===void 0)if(this.appDataStorage.supportsBinary){let e=await this.appDataStorage.read(n.NEXT_CHECK_DATE_TIME_STORAGE_KEY),t=await this.appDataStorage.read(n.HEADER_STORAGE_KEY),r=await this.appDataStorage.read(n.DATA_STORAGE_KEY,!0);this.#e={nextCheckDateTime:e instanceof Date?e:void 0,gcpLengthData:_e(t)&&r instanceof Uint8Array?{...t,data:r}:void 0}}else{let e=await this.appDataStorage.read(n.APP_DATA_STORAGE_KEY);tr(e)&&(this.#e=e)}return this.#e===void 0&&(this.#e={nextCheckDateTime:new Date,gcpLengthData:void 0}),this.#e}get nextCheckDateTime(){return this.#r().then(e=>e.nextCheckDateTime)}get cacheDateTime(){return this.#r().then(e=>e.gcpLengthData?.dateTime)}get cacheData(){return this.#r().then(e=>{if(e.gcpLengthData===void 0)throw new Error("GS1 Company Prefix length application data not loaded");return e.gcpLengthData})}async update(e,t,r){this.#e={nextCheckDateTime:e,gcpLengthData:r??this.#e?.gcpLengthData},this.appDataStorage.supportsBinary?(await this.appDataStorage.write(n.NEXT_CHECK_DATE_TIME_STORAGE_KEY,e),r!==void 0&&(await this.appDataStorage.write(n.HEADER_STORAGE_KEY,Li(r,"data")),await this.appDataStorage.write(n.DATA_STORAGE_KEY,r.data))):await this.appDataStorage.write(n.APP_DATA_STORAGE_KEY,this.#e)}},rr=class n extends pt{static DEFAULT_BASE_URL=`${Di}/data`;#t;#e;constructor(e,t=n.DEFAULT_BASE_URL,r=bi){super(e),this.#t=new Ri(t,r)}async#r(e,t,r){return this.#t.read(e,t).then(i=>{if(i===void 0)throw new RangeError(h.t("GCPLength.gs1CompanyPrefixLengthDataFileNotFound",{key:e}));return r(i)}).catch(async i=>{let o=new Date;throw o.setMinutes(o.getMinutes()+10),await this.update(o),i})}get sourceDateTime(){return this.#r(n.HEADER_STORAGE_KEY,!1,e=>{if(!_e(e))throw new Error("Invalid GS1 Company Prefix length header");return this.#e=e,this.#e.dateTime})}get sourceData(){return this.#r(n.DATA_STORAGE_KEY,!0,e=>{let t=this.#e;if(t===void 0)throw new Error("GS1 Company Prefix length header not loaded");if(!(e instanceof Uint8Array))throw new Error("Invalid GS1 Company Prefix length data");return{...t,data:e}})}};import{omit as ir}from"@aidc-toolkit/core";function ze(n){return"length"in n}var nr=class n{static#t=15;static#e=14;#r;#i;constructor(e){this.#r=e}get root(){if(this.#i===void 0)throw new RangeError(h.t("GCPLength.gs1CompanyPrefixLengthDataNotLoaded"));return this.#i}get dateTime(){return this.root.dateTime}get disclaimer(){return this.root.disclaimer}static#n(e,t,r){let i=r,o=new Array(10);for(let a=0;a<10;a+=2){let s=e[i++];o[a]=s>>4,o[a+1]=s&15}for(let a=0;a<10;a++){let s=o[a];if(s!==n.#t){let f;if(s===n.#e){let d=[];i=n.#n(e,d,i),f={childNodes:d}}else f={length:s};t[a]=f}}return i}static#a(e,t,r){let i=Number(t.charAt(0)),o=e.childNodes[i],a=0;if(t.length!==1){let s;if(o===void 0)s={childNodes:[]},a++;else{if(ze(o))throw new Error("Overlapping entry");s=o}e.childNodes[i]=s,a+=n.#a(s,t.substring(1),r)}else{if(o!==void 0)throw new Error("Duplicate entry");e.childNodes[i]={length:r}}return a}static#s(e){return e!==void 0?ze(e)?e.length:n.#e:n.#t}static#f(e,t,r){let i=r,o=t.childNodes;for(let a=0;a<10;a+=2)e[i++]=n.#s(o[a])<<4|n.#s(o[a+1]);for(let a of o)a!==void 0&&!ze(a)&&(i=n.#f(e,a,i));return i}static#o(e,t){let r=new Date(e);return r.setDate(r.getDate()+t),r}async load(){let e,t=this.#r,r=await t.nextCheckDateTime,i=await t.cacheDateTime,o=new Date,a=n.#o(o,1);if(r===void 0||r.getTime()<=o.getTime()){let s=await t.sourceDateTime;if(i===void 0||i.getTime()<s.getTime()){let f=await t.sourceData,d;if(ct(f)){let p=[];n.#n(f.data,p,0),e={dateTime:f.dateTime,disclaimer:f.disclaimer,childNodes:p},d=f}else{let p={childNodes:[]},c=1;for(let u of f.GCPPrefixFormatList.entry)c+=n.#a(p,u.prefix,u.gcpLength);e={dateTime:new Date(f.GCPPrefixFormatList.date),disclaimer:`${f._disclaimer.reduce((u,g)=>(u.length===0||u[u.length-1]===""||g===""?u.push(g):u.push(`${u.pop()} ${g}`),u),[]).join(`
|
|
1
|
+
import{i18nCoreInit as br,i18nInit as Lr}from"@aidc-toolkit/core";import{i18nUtilityInit as Rr}from"@aidc-toolkit/utility";var I=n=>typeof n=="string",me=()=>{let n,e,t=new Promise((r,i)=>{n=r,e=i});return t.resolve=n,t.reject=e,t},gt=n=>n==null?"":""+n,fr=(n,e,t)=>{n.forEach(r=>{e[r]&&(t[r]=e[r])})},dr=/###/g,It=n=>n&&n.indexOf("###")>-1?n.replace(dr,"."):n,yt=n=>!n||I(n),ge=(n,e,t)=>{let r=I(e)?e.split("."):e,i=0;for(;i<r.length-1;){if(yt(n))return{};let o=It(r[i]);!n[o]&&t&&(n[o]=new t),Object.prototype.hasOwnProperty.call(n,o)?n=n[o]:n={},++i}return yt(n)?{}:{obj:n,k:It(r[i])}},Tt=(n,e,t)=>{let{obj:r,k:i}=ge(n,e,Object);if(r!==void 0||e.length===1){r[i]=t;return}let o=e[e.length-1],a=e.slice(0,e.length-1),s=ge(n,a,Object);for(;s.obj===void 0&&a.length;)o=`${a[a.length-1]}.${o}`,a=a.slice(0,a.length-1),s=ge(n,a,Object),s?.obj&&typeof s.obj[`${s.k}.${o}`]<"u"&&(s.obj=void 0);s.obj[`${s.k}.${o}`]=t},cr=(n,e,t,r)=>{let{obj:i,k:o}=ge(n,e,Object);i[o]=i[o]||[],i[o].push(t)},Ce=(n,e)=>{let{obj:t,k:r}=ge(n,e);if(t&&Object.prototype.hasOwnProperty.call(t,r))return t[r]},pr=(n,e,t)=>{let r=Ce(n,t);return r!==void 0?r:Ce(e,t)},bt=(n,e,t)=>{for(let r in e)r!=="__proto__"&&r!=="constructor"&&(r in n?I(n[r])||n[r]instanceof String||I(e[r])||e[r]instanceof String?t&&(n[r]=e[r]):bt(n[r],e[r],t):n[r]=e[r]);return n},J=n=>n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),lr={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},ur=n=>I(n)?n.replace(/[&<>"'\/]/g,e=>lr[e]):n,Be=class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){let t=this.regExpMap.get(e);if(t!==void 0)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}},hr=[" ",",","?","!",";"],mr=new Be(20),gr=(n,e,t)=>{e=e||"",t=t||"";let r=hr.filter(a=>e.indexOf(a)<0&&t.indexOf(a)<0);if(r.length===0)return!0;let i=mr.getRegExp(`(${r.map(a=>a==="?"?"\\?":a).join("|")})`),o=!i.test(n);if(!o){let a=n.indexOf(t);a>0&&!i.test(n.substring(0,a))&&(o=!0)}return o},Ue=(n,e,t=".")=>{if(!n)return;if(n[e])return Object.prototype.hasOwnProperty.call(n,e)?n[e]:void 0;let r=e.split(t),i=n;for(let o=0;o<r.length;){if(!i||typeof i!="object")return;let a,s="";for(let f=o;f<r.length;++f)if(f!==o&&(s+=t),s+=r[f],a=i[s],a!==void 0){if(["string","number","boolean"].indexOf(typeof a)>-1&&f<r.length-1)continue;o+=f-o+1;break}i=a}return i},Ie=n=>n?.replace(/_/g,"-"),Ir={type:"logger",log(n){this.output("log",n)},warn(n){this.output("warn",n)},error(n){this.output("error",n)},output(n,e){console?.[n]?.apply?.(console,e)}},He=class n{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||Ir,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,i){return i&&!this.debug?null:(I(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new n(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new n(this.logger,e)}},z=new He,te=class{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(r=>{this.observers[r]||(this.observers[r]=new Map);let i=this.observers[r].get(t)||0;this.observers[r].set(t,i+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([i,o])=>{for(let a=0;a<o;a++)i(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([i,o])=>{for(let a=0;a<o;a++)i.apply(i,[e,...t])})}},Se=class extends te{constructor(e,t={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&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,i={}){let o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,a=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure,s;e.indexOf(".")>-1?s=e.split("."):(s=[e,t],r&&(Array.isArray(r)?s.push(...r):I(r)&&o?s.push(...r.split(o)):s.push(r)));let f=Ce(this.data,s);return!f&&!t&&!r&&e.indexOf(".")>-1&&(e=s[0],t=s[1],r=s.slice(2).join(".")),f||!a||!I(r)?f:Ue(this.data?.[e]?.[t],r,o)}addResource(e,t,r,i,o={silent:!1}){let a=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,s=[e,t];r&&(s=s.concat(a?r.split(a):r)),e.indexOf(".")>-1&&(s=e.split("."),i=t,t=s[1]),this.addNamespaces(t),Tt(this.data,s,i),o.silent||this.emit("added",e,t,r,i)}addResources(e,t,r,i={silent:!1}){for(let o in r)(I(r[o])||Array.isArray(r[o]))&&this.addResource(e,t,o,r[o],{silent:!0});i.silent||this.emit("added",e,t,r)}addResourceBundle(e,t,r,i,o,a={silent:!1,skipCopy:!1}){let s=[e,t];e.indexOf(".")>-1&&(s=e.split("."),i=r,r=t,t=s[1]),this.addNamespaces(t);let f=Ce(this.data,s)||{};a.skipCopy||(r=JSON.parse(JSON.stringify(r))),i?bt(f,r,o):f={...f,...r},Tt(this.data,s,f),a.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 this.getResource(e,t)!==void 0}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(i=>t[i]&&Object.keys(t[i]).length>0)}toJSON(){return this.data}},Lt={processors:{},addPostProcessor(n){this.processors[n.name]=n},handle(n,e,t,r,i){return n.forEach(o=>{e=this.processors[o]?.process(e,t,r,i)??e}),e}},Rt=Symbol("i18next/PATH_KEY");function yr(){let n=[],e=Object.create(null),t;return e.get=(r,i)=>(t?.revoke?.(),i===Rt?n:(n.push(i),t=Proxy.revocable(r,e),t.proxy)),Proxy.revocable(Object.create(null),e).proxy}function We(n,e){let{[Rt]:t}=n(yr());return t.join(e?.keySeparator??".")}var Nt={},Fe=n=>!I(n)&&typeof n!="boolean"&&typeof n!="number",Ge=class n extends te{constructor(e,t={}){super(),fr(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=z.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){let r={...t};if(e==null)return!1;let i=this.resolve(e,r);if(i?.res===void 0)return!1;let o=Fe(i.res);return!(r.returnObjects===!1&&o)}extractFromKey(e,t){let r=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");let i=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator,o=t.ns||this.options.defaultNS||[],a=r&&e.indexOf(r)>-1,s=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!gr(e,r,i);if(a&&!s){let f=e.match(this.interpolator.nestingRegexp);if(f&&f.length>0)return{key:e,namespaces:I(o)?[o]:o};let d=e.split(r);(r!==i||r===i&&this.options.ns.indexOf(d[0])>-1)&&(o=d.shift()),e=d.join(i)}return{key:e,namespaces:I(o)?[o]:o}}translate(e,t,r){let i=typeof t=="object"?{...t}:t;if(typeof i!="object"&&this.options.overloadTranslationOptionHandler&&(i=this.options.overloadTranslationOptionHandler(arguments)),typeof i=="object"&&(i={...i}),i||(i={}),e==null)return"";typeof e=="function"&&(e=We(e,{...this.options,...i})),Array.isArray(e)||(e=[String(e)]);let o=i.returnDetails!==void 0?i.returnDetails:this.options.returnDetails,a=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,{key:s,namespaces:f}=this.extractFromKey(e[e.length-1],i),d=f[f.length-1],p=i.nsSeparator!==void 0?i.nsSeparator:this.options.nsSeparator;p===void 0&&(p=":");let c=i.lng||this.language,m=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c?.toLowerCase()==="cimode")return m?o?{res:`${d}${p}${s}`,usedKey:s,exactUsedKey:s,usedLng:c,usedNS:d,usedParams:this.getUsedParamsDetails(i)}:`${d}${p}${s}`:o?{res:s,usedKey:s,exactUsedKey:s,usedLng:c,usedNS:d,usedParams:this.getUsedParamsDetails(i)}:s;let u=this.resolve(e,i),g=u?.res,C=u?.usedKey||s,b=u?.exactUsedKey||s,E=["[object Number]","[object Function]","[object RegExp]"],S=i.joinArrays!==void 0?i.joinArrays:this.options.joinArrays,A=!this.i18nFormat||this.i18nFormat.handleAsObject,T=i.count!==void 0&&!I(i.count),P=n.hasDefaultValue(i),Q=T?this.pluralResolver.getSuffix(c,i.count,i):"",ee=i.ordinal&&T?this.pluralResolver.getSuffix(c,i.count,{ordinal:!1}):"",lt=T&&!i.ordinal&&i.count===0,U=lt&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${Q}`]||i[`defaultValue${ee}`]||i.defaultValue,$=g;A&&!g&&P&&($=U);let ar=Fe($),sr=Object.prototype.toString.apply($);if(A&&$&&ar&&E.indexOf(sr)<0&&!(I(S)&&Array.isArray($))){if(!i.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");let j=this.options.returnedObjectHandler?this.options.returnedObjectHandler(C,$,{...i,ns:f}):`key '${s} (${this.language})' returned an object instead of string.`;return o?(u.res=j,u.usedParams=this.getUsedParamsDetails(i),u):j}if(a){let j=Array.isArray($),V=j?[]:{},ut=j?b:C;for(let _ in $)if(Object.prototype.hasOwnProperty.call($,_)){let K=`${ut}${a}${_}`;P&&!g?V[_]=this.translate(K,{...i,defaultValue:Fe(U)?U[_]:void 0,joinArrays:!1,ns:f}):V[_]=this.translate(K,{...i,joinArrays:!1,ns:f}),V[_]===K&&(V[_]=$[_])}g=V}}else if(A&&I(S)&&Array.isArray(g))g=g.join(S),g&&(g=this.extendTranslation(g,e,i,r));else{let j=!1,V=!1;!this.isValidLookup(g)&&P&&(j=!0,g=U),this.isValidLookup(g)||(V=!0,g=s);let _=(i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&V?void 0:g,K=P&&U!==g&&this.options.updateMissing;if(V||j||K){if(this.logger.log(K?"updateKey":"missingKey",c,d,s,K?U:g),a){let v=this.resolve(s,{...i,keySeparator:!1});v&&v.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 ue=[],Ne=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo==="fallback"&&Ne&&Ne[0])for(let v=0;v<Ne.length;v++)ue.push(Ne[v]);else this.options.saveMissingTo==="all"?ue=this.languageUtils.toResolveHierarchy(i.lng||this.language):ue.push(i.lng||this.language);let ht=(v,Y,he)=>{let mt=P&&he!==g?he:_;this.options.missingKeyHandler?this.options.missingKeyHandler(v,d,Y,mt,K,i):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(v,d,Y,mt,K,i),this.emit("missingKey",v,d,Y,g)};this.options.saveMissing&&(this.options.saveMissingPlurals&&T?ue.forEach(v=>{let Y=this.pluralResolver.getSuffixes(v,i);lt&&i[`defaultValue${this.options.pluralSeparator}zero`]&&Y.indexOf(`${this.options.pluralSeparator}zero`)<0&&Y.push(`${this.options.pluralSeparator}zero`),Y.forEach(he=>{ht([v],s+he,i[`defaultValue${he}`]||U)})}):ht(ue,s,U))}g=this.extendTranslation(g,e,i,u,r),V&&g===s&&this.options.appendNamespaceToMissingKey&&(g=`${d}${p}${s}`),(V||j)&&this.options.parseMissingKeyHandler&&(g=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${d}${p}${s}`:s,j?g:void 0,i))}return o?(u.res=g,u.usedParams=this.getUsedParamsDetails(i),u):g}extendTranslation(e,t,r,i,o){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});let f=I(e)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables),d;if(f){let c=e.match(this.interpolator.nestingRegexp);d=c&&c.length}let p=r.replace&&!I(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(p={...this.options.interpolation.defaultVariables,...p}),e=this.interpolator.interpolate(e,p,r.lng||this.language||i.usedLng,r),f){let c=e.match(this.interpolator.nestingRegexp),m=c&&c.length;d<m&&(r.nest=!1)}!r.lng&&i&&i.res&&(r.lng=this.language||i.usedLng),r.nest!==!1&&(e=this.interpolator.nest(e,(...c)=>o?.[0]===c[0]&&!r.context?(this.logger.warn(`It seems you are nesting recursively key: ${c[0]} in key: ${t[0]}`),null):this.translate(...c,t),r)),r.interpolation&&this.interpolator.reset()}let a=r.postProcess||this.options.postProcess,s=I(a)?[a]:a;return e!=null&&s?.length&&r.applyPostProcessor!==!1&&(e=Lt.handle(s,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...i,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e,t={}){let r,i,o,a,s;return I(e)&&(e=[e]),e.forEach(f=>{if(this.isValidLookup(r))return;let d=this.extractFromKey(f,t),p=d.key;i=p;let c=d.namespaces;this.options.fallbackNS&&(c=c.concat(this.options.fallbackNS));let m=t.count!==void 0&&!I(t.count),u=m&&!t.ordinal&&t.count===0,g=t.context!==void 0&&(I(t.context)||typeof t.context=="number")&&t.context!=="",C=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);c.forEach(b=>{this.isValidLookup(r)||(s=b,!Nt[`${C[0]}-${b}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(s)&&(Nt[`${C[0]}-${b}`]=!0,this.logger.warn(`key "${i}" for languages "${C.join(", ")}" won't get resolved as namespace "${s}" 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!!!")),C.forEach(E=>{if(this.isValidLookup(r))return;a=E;let S=[p];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(S,p,E,b,t);else{let T;m&&(T=this.pluralResolver.getSuffix(E,t.count,t));let P=`${this.options.pluralSeparator}zero`,Q=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(m&&(t.ordinal&&T.indexOf(Q)===0&&S.push(p+T.replace(Q,this.options.pluralSeparator)),S.push(p+T),u&&S.push(p+P)),g){let ee=`${p}${this.options.contextSeparator||"_"}${t.context}`;S.push(ee),m&&(t.ordinal&&T.indexOf(Q)===0&&S.push(ee+T.replace(Q,this.options.pluralSeparator)),S.push(ee+T),u&&S.push(ee+P))}}let A;for(;A=S.pop();)this.isValidLookup(r)||(o=A,r=this.getResource(E,b,A,t))}))})}),{res:r,usedKey:i,exactUsedKey:o,usedLng:a,usedNS:s}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,t,r,i={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,r,i):this.resourceStore.getResource(e,t,r,i)}getUsedParamsDetails(e={}){let t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=e.replace&&!I(e.replace),i=r?e.replace:e;if(r&&typeof e.count<"u"&&(i.count=e.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!r){i={...i};for(let o of t)delete i[o]}return i}static hasDefaultValue(e){let t="defaultValue";for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t===r.substring(0,t.length)&&e[r]!==void 0)return!0;return!1}},Pe=class{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=z.create("languageUtils")}getScriptPartFromCode(e){if(e=Ie(e),!e||e.indexOf("-")<0)return null;let t=e.split("-");return t.length===2||(t.pop(),t[t.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(e=Ie(e),!e||e.indexOf("-")<0)return e;let t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(I(e)&&e.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch{}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||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(r=>{if(t)return;let i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(t=i)}),!t&&this.options.supportedLngs&&e.forEach(r=>{if(t)return;let i=this.getScriptPartFromCode(r);if(this.isSupportedCode(i))return t=i;let o=this.getLanguagePartFromCode(r);if(this.isSupportedCode(o))return t=o;t=this.options.supportedLngs.find(a=>{if(a===o)return a;if(!(a.indexOf("-")<0&&o.indexOf("-")<0)&&(a.indexOf("-")>0&&o.indexOf("-")<0&&a.substring(0,a.indexOf("-"))===o||a.indexOf(o)===0&&o.length>1))return a})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if(typeof e=="function"&&(e=e(t)),I(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((t===!1?[]:t)||this.options.fallbackLng||[],e),i=[],o=a=>{a&&(this.isSupportedCode(a)?i.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return I(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(e))):I(e)&&o(this.formatLanguageCode(e)),r.forEach(a=>{i.indexOf(a)<0&&o(this.formatLanguageCode(a))}),i}},xt={zero:0,one:1,two:2,few:3,many:4,other:5},Ct={select:n=>n===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})},Ye=class{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=z.create("pluralResolver"),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let r=Ie(e==="dev"?"en":e),i=t.ordinal?"ordinal":"cardinal",o=JSON.stringify({cleanedCode:r,type:i});if(o in this.pluralRulesCache)return this.pluralRulesCache[o];let a;try{a=new Intl.PluralRules(r,{type:i})}catch{if(typeof Intl>"u")return this.logger.error("No Intl support, please use an Intl polyfill!"),Ct;if(!e.match(/-|_/))return Ct;let f=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(f,t)}return this.pluralRulesCache[o]=a,a}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(i=>`${t}${i}`)}getSuffixes(e,t={}){let r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?r.resolvedOptions().pluralCategories.sort((i,o)=>xt[i]-xt[o]).map(i=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${i}`):[]}getSuffix(e,t,r={}){let i=this.getRule(e,r);return i?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,r))}},St=(n,e,t,r=".",i=!0)=>{let o=pr(n,e,t);return!o&&i&&I(t)&&(o=Ue(n,t,r),o===void 0&&(o=Ue(e,t,r))),o},Me=n=>n.replace(/\$/g,"$$$$"),be=class{constructor(e={}){this.logger=z.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(t=>t),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});let{escape:t,escapeValue:r,useRawValueToEscape:i,prefix:o,prefixEscaped:a,suffix:s,suffixEscaped:f,formatSeparator:d,unescapeSuffix:p,unescapePrefix:c,nestingPrefix:m,nestingPrefixEscaped:u,nestingSuffix:g,nestingSuffixEscaped:C,nestingOptionsSeparator:b,maxReplaces:E,alwaysFormat:S}=e.interpolation;this.escape=t!==void 0?t:ur,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=i!==void 0?i:!1,this.prefix=o?J(o):a||"{{",this.suffix=s?J(s):f||"}}",this.formatSeparator=d||",",this.unescapePrefix=p?"":c||"-",this.unescapeSuffix=this.unescapePrefix?"":p||"",this.nestingPrefix=m?J(m):u||J("$t("),this.nestingSuffix=g?J(g):C||J(")"),this.nestingOptionsSeparator=b||",",this.maxReplaces=E||1e3,this.alwaysFormat=S!==void 0?S:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let e=(t,r)=>t?.source===r?(t.lastIndex=0,t):new RegExp(r,"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,i){let o,a,s,f=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},d=u=>{if(u.indexOf(this.formatSeparator)<0){let E=St(t,f,u,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(E,void 0,r,{...i,...t,interpolationkey:u}):E}let g=u.split(this.formatSeparator),C=g.shift().trim(),b=g.join(this.formatSeparator).trim();return this.format(St(t,f,C,this.options.keySeparator,this.options.ignoreJSONStructure),b,r,{...i,...t,interpolationkey:C})};this.resetRegExp();let p=i?.missingInterpolationHandler||this.options.missingInterpolationHandler,c=i?.interpolation?.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:u=>Me(u)},{regex:this.regexp,safeValue:u=>this.escapeValue?Me(this.escape(u)):Me(u)}].forEach(u=>{for(s=0;o=u.regex.exec(e);){let g=o[1].trim();if(a=d(g),a===void 0)if(typeof p=="function"){let b=p(e,o,i);a=I(b)?b:""}else if(i&&Object.prototype.hasOwnProperty.call(i,g))a="";else if(c){a=o[0];continue}else this.logger.warn(`missed to pass in variable ${g} for interpolating ${e}`),a="";else!I(a)&&!this.useRawValueToEscape&&(a=gt(a));let C=u.safeValue(a);if(e=e.replace(o[0],C),c?(u.regex.lastIndex+=a.length,u.regex.lastIndex-=o[0].length):u.regex.lastIndex=0,s++,s>=this.maxReplaces)break}}),e}nest(e,t,r={}){let i,o,a,s=(f,d)=>{let p=this.nestingOptionsSeparator;if(f.indexOf(p)<0)return f;let c=f.split(new RegExp(`${J(p)}[ ]*{`)),m=`{${c[1]}`;f=c[0],m=this.interpolate(m,a);let u=m.match(/'/g),g=m.match(/"/g);((u?.length??0)%2===0&&!g||(g?.length??0)%2!==0)&&(m=m.replace(/'/g,'"'));try{a=JSON.parse(m),d&&(a={...d,...a})}catch(C){return this.logger.warn(`failed parsing options string in nesting for key ${f}`,C),`${f}${p}${m}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,f};for(;i=this.nestingRegexp.exec(e);){let f=[];a={...r},a=a.replace&&!I(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let d=/{.*}/.test(i[1])?i[1].lastIndexOf("}")+1:i[1].indexOf(this.formatSeparator);if(d!==-1&&(f=i[1].slice(d).split(this.formatSeparator).map(p=>p.trim()).filter(Boolean),i[1]=i[1].slice(0,d)),o=t(s.call(this,i[1].trim(),a),a),o&&i[0]===e&&!I(o))return o;I(o)||(o=gt(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${e}`),o=""),f.length&&(o=f.reduce((p,c)=>this.format(p,c,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),e=e.replace(i[0],o),this.regexp.lastIndex=0}return e}},Tr=n=>{let e=n.toLowerCase().trim(),t={};if(n.indexOf("(")>-1){let r=n.split("(");e=r[0].toLowerCase().trim();let i=r[1].substring(0,r[1].length-1);e==="currency"&&i.indexOf(":")<0?t.currency||(t.currency=i.trim()):e==="relativetime"&&i.indexOf(":")<0?t.range||(t.range=i.trim()):i.split(";").forEach(a=>{if(a){let[s,...f]=a.split(":"),d=f.join(":").trim().replace(/^'+|'+$/g,""),p=s.trim();t[p]||(t[p]=d),d==="false"&&(t[p]=!1),d==="true"&&(t[p]=!0),isNaN(d)||(t[p]=parseInt(d,10))}})}return{formatName:e,formatOptions:t}},Gt=n=>{let e={};return(t,r,i)=>{let o=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(o={...o,[i.interpolationkey]:void 0});let a=r+JSON.stringify(o),s=e[a];return s||(s=n(Ie(r),i),e[a]=s),s(t)}},Nr=n=>(e,t,r)=>n(Ie(t),r)(e),Je=class{constructor(e={}){this.logger=z.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";let r=t.cacheInBuiltFormats?Gt:Nr;this.formats={number:r((i,o)=>{let a=new Intl.NumberFormat(i,{...o});return s=>a.format(s)}),currency:r((i,o)=>{let a=new Intl.NumberFormat(i,{...o,style:"currency"});return s=>a.format(s)}),datetime:r((i,o)=>{let a=new Intl.DateTimeFormat(i,{...o});return s=>a.format(s)}),relativetime:r((i,o)=>{let a=new Intl.RelativeTimeFormat(i,{...o});return s=>a.format(s,o.range||"day")}),list:r((i,o)=>{let a=new Intl.ListFormat(i,{...o});return s=>a.format(s)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=Gt(t)}format(e,t,r,i={}){let o=t.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&o[0].indexOf(")")<0&&o.find(s=>s.indexOf(")")>-1)){let s=o.findIndex(f=>f.indexOf(")")>-1);o[0]=[o[0],...o.splice(1,s)].join(this.formatSeparator)}return o.reduce((s,f)=>{let{formatName:d,formatOptions:p}=Tr(f);if(this.formats[d]){let c=s;try{let m=i?.formatParams?.[i.interpolationkey]||{},u=m.locale||m.lng||i.locale||i.lng||r;c=this.formats[d](s,u,{...p,...i,...m})}catch(m){this.logger.warn(m)}return c}else this.logger.warn(`there was no format function for ${d}`);return s},e)}},xr=(n,e)=>{n.pending[e]!==void 0&&(delete n.pending[e],n.pendingCount--)},Xe=class extends te{constructor(e,t,r,i={}){super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=z.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,i.backend,i)}queueLoad(e,t,r,i){let o={},a={},s={},f={};return e.forEach(d=>{let p=!0;t.forEach(c=>{let m=`${d}|${c}`;!r.reload&&this.store.hasResourceBundle(d,c)?this.state[m]=2:this.state[m]<0||(this.state[m]===1?a[m]===void 0&&(a[m]=!0):(this.state[m]=1,p=!1,a[m]===void 0&&(a[m]=!0),o[m]===void 0&&(o[m]=!0),f[c]===void 0&&(f[c]=!0)))}),p||(s[d]=!0)}),(Object.keys(o).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(a),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(f)}}loaded(e,t,r){let i=e.split("|"),o=i[0],a=i[1];t&&this.emit("failedLoading",o,a,t),!t&&r&&this.store.addResourceBundle(o,a,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0);let s={};this.queue.forEach(f=>{cr(f.loaded,[o],a),xr(f,e),t&&f.errors.push(t),f.pendingCount===0&&!f.done&&(Object.keys(f.loaded).forEach(d=>{s[d]||(s[d]={});let p=f.loaded[d];p.length&&p.forEach(c=>{s[d][c]===void 0&&(s[d][c]=!0)})}),f.done=!0,f.errors.length?f.callback(f.errors):f.callback())}),this.emit("loaded",s),this.queue=this.queue.filter(f=>!f.done)}read(e,t,r,i=0,o=this.retryTimeout,a){if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:r,tried:i,wait:o,callback:a});return}this.readingCalls++;let s=(d,p)=>{if(this.readingCalls--,this.waitingReads.length>0){let c=this.waitingReads.shift();this.read(c.lng,c.ns,c.fcName,c.tried,c.wait,c.callback)}if(d&&p&&i<this.maxRetries){setTimeout(()=>{this.read.call(this,e,t,r,i+1,o*2,a)},o);return}a(d,p)},f=this.backend[r].bind(this.backend);if(f.length===2){try{let d=f(e,t);d&&typeof d.then=="function"?d.then(p=>s(null,p)).catch(s):s(null,d)}catch(d){s(d)}return}return f(e,t,s)}prepareLoading(e,t,r={},i){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();I(e)&&(e=this.languageUtils.toResolveHierarchy(e)),I(t)&&(t=[t]);let o=this.queueLoad(e,t,r,i);if(!o.toLoad.length)return o.pending.length||i(),null;o.toLoad.forEach(a=>{this.loadOne(a)})}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("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(a,s)=>{a&&this.logger.warn(`${t}loading namespace ${o} for language ${i} failed`,a),!a&&s&&this.logger.log(`${t}loaded namespace ${o} for language ${i}`,s),this.loaded(e,a,s)})}saveMissing(e,t,r,i,o,a={},s=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t)){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!!!");return}if(!(r==null||r==="")){if(this.backend?.create){let f={...a,isUpdate:o},d=this.backend.create.bind(this.backend);if(d.length<6)try{let p;d.length===5?p=d(e,t,r,i,f):p=d(e,t,r,i),p&&typeof p.then=="function"?p.then(c=>s(null,c)).catch(s):s(null,p)}catch(p){s(p)}else d(e,t,r,i,s,f)}!e||!e[0]||this.store.addResource(e[0],t,r,i)}}},Ke=()=>({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:n=>{let e={};if(typeof n[1]=="object"&&(e=n[1]),I(n[1])&&(e.defaultValue=n[1]),I(n[2])&&(e.tDescription=n[2]),typeof n[2]=="object"||typeof n[3]=="object"){let t=n[3]||n[2];Object.keys(t).forEach(r=>{e[r]=t[r]})}return e},interpolation:{escapeValue:!0,format:n=>n,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),Pt=n=>(I(n.ns)&&(n.ns=[n.ns]),I(n.fallbackLng)&&(n.fallbackLng=[n.fallbackLng]),I(n.fallbackNS)&&(n.fallbackNS=[n.fallbackNS]),n.supportedLngs?.indexOf?.("cimode")<0&&(n.supportedLngs=n.supportedLngs.concat(["cimode"])),typeof n.initImmediate=="boolean"&&(n.initAsync=n.initImmediate),n),xe=()=>{},Cr=n=>{Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach(t=>{typeof n[t]=="function"&&(n[t]=n[t].bind(n))})},Dt="__i18next_supportNoticeShown",Sr=()=>typeof globalThis<"u"&&!!globalThis[Dt],Gr=()=>{typeof globalThis<"u"&&(globalThis[Dt]=!0)},Pr=n=>!!(n?.modules?.backend?.name?.indexOf("Locize")>0||n?.modules?.backend?.constructor?.name?.indexOf("Locize")>0||n?.options?.backend?.backends&&n.options.backend.backends.some(e=>e?.name?.indexOf("Locize")>0||e?.constructor?.name?.indexOf("Locize")>0)||n?.options?.backend?.projectId||n?.options?.backend?.backendOptions&&n.options.backend.backendOptions.some(e=>e?.projectId)),qe=class n extends te{constructor(e={},t){if(super(),this.options=Pt(e),this.services={},this.logger=z,this.modules={external:[]},Cr(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,typeof e=="function"&&(t=e,e={}),e.defaultNS==null&&e.ns&&(I(e.ns)?e.defaultNS=e.ns:e.ns.indexOf("translation")<0&&(e.defaultNS=e.ns[0]));let r=Ke();this.options={...r,...this.options,...Pt(e)},this.options.interpolation={...r.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator),typeof this.options.overloadTranslationOptionHandler!="function"&&(this.options.overloadTranslationOptionHandler=r.overloadTranslationOptionHandler),this.options.showSupportNotice!==!1&&!Pr(this)&&!Sr()&&(typeof console<"u"&&typeof console.info<"u"&&console.info("\u{1F310} i18next is maintained with support from Locize \u2014 consider powering your project with managed localization (AI, CDN, integrations): https://locize.com \u{1F499}"),Gr());let i=d=>d?typeof d=="function"?new d:d:null;if(!this.options.isClone){this.modules.logger?z.init(i(this.modules.logger),this.options):z.init(null,this.options);let d;this.modules.formatter?d=this.modules.formatter:d=Je;let p=new Pe(this.options);this.store=new Se(this.options.resources,this.options);let c=this.services;c.logger=z,c.resourceStore=this.store,c.languageUtils=p,c.pluralResolver=new Ye(p,{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"),d&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(c.formatter=i(d),c.formatter.init&&c.formatter.init(c,this.options),this.options.interpolation.format=c.formatter.format.bind(c.formatter)),c.interpolator=new be(this.options),c.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},c.backendConnector=new Xe(i(this.modules.backend),c.resourceStore,c,this.options),c.backendConnector.on("*",(u,...g)=>{this.emit(u,...g)}),this.modules.languageDetector&&(c.languageDetector=i(this.modules.languageDetector),c.languageDetector.init&&c.languageDetector.init(c,this.options.detection,this.options)),this.modules.i18nFormat&&(c.i18nFormat=i(this.modules.i18nFormat),c.i18nFormat.init&&c.i18nFormat.init(this)),this.translator=new Ge(this.services,this.options),this.translator.on("*",(u,...g)=>{this.emit(u,...g)}),this.modules.external.forEach(u=>{u.init&&u.init(this)})}if(this.format=this.options.interpolation.format,t||(t=xe),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.length>0&&d[0]!=="dev"&&(this.options.lng=d[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(d=>{this[d]=(...p)=>this.store[d](...p)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(d=>{this[d]=(...p)=>(this.store[d](...p),this)});let s=me(),f=()=>{let d=(p,c)=>{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),s.resolve(c),t(p,c)};if(this.languages&&!this.isInitialized)return d(null,this.t.bind(this));this.changeLanguage(this.options.lng,d)};return this.options.resources||!this.options.initAsync?f():setTimeout(f,0),s}loadResources(e,t=xe){let r=t,i=I(e)?e:this.language;if(typeof e=="function"&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if(i?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();let o=[],a=s=>{if(!s||s==="cimode")return;this.services.languageUtils.toResolveHierarchy(s).forEach(d=>{d!=="cimode"&&o.indexOf(d)<0&&o.push(d)})};i?a(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(f=>a(f)),this.options.preload?.forEach?.(s=>a(s)),this.services.backendConnector.load(o,this.options.ns,s=>{!s&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(s)})}else r(null)}reloadResources(e,t,r){let i=me();return typeof e=="function"&&(r=e,e=void 0),typeof t=="function"&&(r=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),r||(r=xe),this.services.backendConnector.reload(e,t,o=>{i.resolve(),r(o)}),i}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 e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&Lt.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!(["cimode","dev"].indexOf(e)>-1)){for(let t=0;t<this.languages.length;t++){let r=this.languages[t];if(!(["cimode","dev"].indexOf(r)>-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;let r=me();this.emit("languageChanging",e);let i=s=>{this.language=s,this.languages=this.services.languageUtils.toResolveHierarchy(s),this.resolvedLanguage=void 0,this.setResolvedLanguage(s)},o=(s,f)=>{f?this.isLanguageChangingTo===e&&(i(f),this.translator.changeLanguage(f),this.isLanguageChangingTo=void 0,this.emit("languageChanged",f),this.logger.log("languageChanged",f)):this.isLanguageChangingTo=void 0,r.resolve((...d)=>this.t(...d)),t&&t(s,(...d)=>this.t(...d))},a=s=>{!e&&!s&&this.services.languageDetector&&(s=[]);let f=I(s)?s:s&&s[0],d=this.store.hasLanguageSomeTranslations(f)?f:this.services.languageUtils.getBestMatchFromCodes(I(s)?[s]:s);d&&(this.language||i(d),this.translator.language||this.translator.changeLanguage(d),this.services.languageDetector?.cacheUserLanguage?.(d)),this.loadResources(d,p=>{o(p,d)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e),r}getFixedT(e,t,r){let i=(o,a,...s)=>{let f;typeof a!="object"?f=this.options.overloadTranslationOptionHandler([o,a].concat(s)):f={...a},f.lng=f.lng||i.lng,f.lngs=f.lngs||i.lngs,f.ns=f.ns||i.ns,f.keyPrefix!==""&&(f.keyPrefix=f.keyPrefix||r||i.keyPrefix);let d=this.options.keySeparator||".",p;return f.keyPrefix&&Array.isArray(o)?p=o.map(c=>(typeof c=="function"&&(c=We(c,{...this.options,...a})),`${f.keyPrefix}${d}${c}`)):(typeof o=="function"&&(o=We(o,{...this.options,...a})),p=f.keyPrefix?`${f.keyPrefix}${d}${o}`:o),this.t(p,f)};return I(e)?i.lng=e:i.lngs=e,i.ns=t,i.keyPrefix=r,i}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],i=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;let a=(s,f)=>{let d=this.services.backendConnector.state[`${s}|${f}`];return d===-1||d===0||d===2};if(t.precheck){let s=t.precheck(this,a);if(s!==void 0)return s}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(r,e)&&(!i||a(o,e)))}loadNamespaces(e,t){let r=me();return this.options.ns?(I(e)&&(e=[e]),e.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),t&&t(i)}),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){let r=me();I(e)&&(e=[e]);let i=this.options.preload||[],o=e.filter(a=>i.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return o.length?(this.options.preload=i.concat(o),this.loadResources(a=>{r.resolve(),t&&t(a)}),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 i=new Intl.Locale(e);if(i&&i.getTextInfo){let o=i.getTextInfo();if(o&&o.direction)return o.direction}}catch{}let t=["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"],r=this.services?.languageUtils||new Pe(Ke());return e.toLowerCase().indexOf("-latn")>1?"ltr":t.indexOf(r.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){let r=new n(e,t);return r.createInstance=n.createInstance,r}cloneInstance(e={},t=xe){let r=e.forkResourceStore;r&&delete e.forkResourceStore;let i={...this.options,...e,isClone:!0},o=new n(i);if((e.debug!==void 0||e.prefix!==void 0)&&(o.logger=o.logger.clone(e)),["store","services","language"].forEach(s=>{o[s]=this[s]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r){let s=Object.keys(this.store.data).reduce((f,d)=>(f[d]={...this.store.data[d]},f[d]=Object.keys(f[d]).reduce((p,c)=>(p[c]={...f[d][c]},p),f[d]),f),{});o.store=new Se(s,i),o.services.resourceStore=o.store}if(e.interpolation){let f={...Ke().interpolation,...this.options.interpolation,...e.interpolation},d={...i,interpolation:f};o.services.interpolator=new be(d)}return o.translator=new Ge(o.services,i),o.translator.on("*",(s,...f)=>{o.emit(s,...f)}),o.init(i,t),o.translator.options=i,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}}},L=qe.createInstance(),Oi=L.createInstance,wi=L.dir,Vi=L.init,ki=L.loadResources,$i=L.reloadResources,ji=L.use,_i=L.changeLanguage,zi=L.getFixedT,Fi=L.t,Mi=L.exists,Ki=L.setDefaultNamespace,Bi=L.hasLoadedNamespace,Ui=L.loadNamespaces,Hi=L.loadLanguages;var Et={AI64CharacterSetValidator:{lengthMustBeMultipleOf4:"Length {{length, number}} must be a multiple of 4"},Check:{lengthOfStringForPriceOrWeightMustBeExactly:"Length {{length, number}} of string for price or weight must be 4 or 5",priceOrWeightComponent:"price or weight",lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo:"Length {{length, number}} of string for check character pair must be less than or equal to {{maximumLength, number}}"},Identifier:{identifierTypeLength:"{{identifierType}} must be {{length, number}} digits long",invalidCheckDigit:"Invalid check digit",invalidGTINLength:"GTIN must be 13, 12, 8, or 14 digits long",invalidGTIN14Length:"GTIN must be 14 digits long",invalidZeroSuppressedGTIN12:"Invalid zero-suppressed GTIN-12",invalidZeroSuppressibleGTIN12:"GTIN-12 not zero-suppressible",invalidZeroSuppressedGTIN12AsGTIN13:"Invalid zero-suppressed GTIN-12 as GTIN-13",invalidZeroSuppressedGTIN12AsGTIN14:"Invalid zero-suppressed GTIN-12 as GTIN-14",invalidGTINAtRetail:"GTIN not supported at retail consumer trade item level",invalidGTINAtOtherThanRetail:"GTIN not supported at other than retail consumer trade item level",invalidRCNLength:"RCN length must match format length",invalidVariableMeasureRCNFormat:"Invalid variable measure RCN format",invalidVariableMeasureRCNPrefix:"Invalid variable measure RCN prefix",invalidVariableMeasurePriceOrWeight:"Invalid variable measure price or weight",indicatorDigit:"indicator digit",serialComponent:"serial component",reference:"reference",referenceCantBeAllNumeric:"Reference can't be all-numeric",invalidCheckCharacterPair:"Invalid check character pair"},Prefix:{gs1CompanyPrefix:"GS1 Company Prefix",upcCompanyPrefix:"U.P.C. Company Prefix",gs18Prefix:"GS1-8 Prefix",gs1CompanyPrefixCantStartWith0:`GS1 Company Prefix can't start with "0"`,gs1CompanyPrefixCantStartWith00000:`GS1 Company Prefix can't start with "00000"`,gs1CompanyPrefixCantStartWith000000:`GS1 Company Prefix can't start with "000000"`,upcCompanyPrefixCantStartWith0000:`U.P.C. Company Prefix can't start with "0000"`,gs18PrefixCantStartWith0:`GS1-8 Prefix can't start with "0"`,identifierTypeNotSupportedByGS18Prefix:"{{identifierType}} not supported by GS1-8 Prefix"},GCPLength:{gs1CompanyPrefixLengthDataFileNotFound:'GS1 Company Prefix length data "{{key}}" not found',gs1CompanyPrefixLengthDataNotLoaded:"GS1 Company Prefix length data not loaded"}};var At={AI64CharacterSetValidator:{lengthMustBeMultipleOf4:"La longueur {{length, number}} doit \xEAtre un multiple de 4"},Check:{lengthOfStringForPriceOrWeightMustBeExactly:"La longueur {{length, number}} de la cha\xEEne pour le prix ou le poids doit \xEAtre 4 ou 5",priceOrWeightComponent:"prix ou poids",lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo:"La longueur {{length, number}} de la cha\xEEne pour la paire de caract\xE8res de v\xE9rification doit \xEAtre inf\xE9rieure ou \xE9gale \xE0 {{maximumLength, number}}"},Identifier:{identifierTypeLength:"{{identifierType}} doit comporter {{length, number}} chiffres",invalidCheckDigit:"Chiffre de contr\xF4le non valide",invalidGTINLength:"Le GTIN doit comporter 13, 12, 8 ou 14 chiffres",invalidGTIN14Length:"Le GTIN doit comporter 14 chiffres",invalidZeroSuppressedGTIN12:"Code GTIN-12 non valide avec z\xE9ro supprim\xE9",invalidZeroSuppressibleGTIN12:"Le GTIN-12 ne peut pas \xEAtre supprim\xE9 par z\xE9ro",invalidZeroSuppressedGTIN12AsGTIN13:"GTIN-12 non valide avec z\xE9ro supprim\xE9 en tant que GTIN-13",invalidZeroSuppressedGTIN12AsGTIN14:"GTIN-12 non valide avec z\xE9ro supprim\xE9 en tant que GTIN-14",invalidGTINAtRetail:"Le GTIN n'est pas pris en charge au niveau des articles de consommation au d\xE9tail",invalidGTINAtOtherThanRetail:"Le GTIN n'est pas pris en charge \xE0 d'autres niveaux que ceux des articles de consommation au d\xE9tail",invalidRCNLength:"La longueur du RCN doit correspondre \xE0 la longueur du format",invalidVariableMeasureRCNFormat:"Format RCN de mesure variable non valide",invalidVariableMeasureRCNPrefix:"Pr\xE9fixe RCN de mesure variable non valide",invalidVariableMeasurePriceOrWeight:"Mesure variable invalide : prix ou poids",indicatorDigit:"chiffre indicateur",serialComponent:"composant s\xE9rie",reference:"r\xE9f\xE9rence",referenceCantBeAllNumeric:"La r\xE9f\xE9rence ne peut pas \xEAtre enti\xE8rement num\xE9rique",invalidCheckCharacterPair:"Paire de caract\xE8res de contr\xF4le non valide"},Prefix:{gs1CompanyPrefix:"Pr\xE9fixe de l'entreprise GS1",upcCompanyPrefix:"Pr\xE9fixe de l'entreprise U.P.C.",gs18Prefix:"Pr\xE9fixe GS1-8",gs1CompanyPrefixCantStartWith0:"Le pr\xE9fixe de l'entreprise GS1 ne peut pas commencer par \xAB\xA00\xA0\xBB",gs1CompanyPrefixCantStartWith00000:"Le pr\xE9fixe de l'entreprise GS1 ne peut pas commencer par \xAB\xA000000\xA0\xBB",gs1CompanyPrefixCantStartWith000000:"Le pr\xE9fixe de l'entreprise GS1 ne peut pas commencer par \xAB\xA0000000\xA0\xBB",upcCompanyPrefixCantStartWith0000:"Le pr\xE9fixe de l'entreprise U.P.C. ne peut pas commencer par \xAB\xA00000\xA0\xBB",gs18PrefixCantStartWith0:"Le pr\xE9fixe GS1-8 ne peut pas commencer par \xAB\xA00\xA0\xBB",identifierTypeNotSupportedByGS18Prefix:"{{identifierType}} non pris en charge par le pr\xE9fixe GS1-8"},GCPLength:{gs1CompanyPrefixLengthDataFileNotFound:"Donn\xE9es de longueur du pr\xE9fixe d'entreprise GS1 \xAB\xA0{{key}}\xA0\xBB introuvables",gs1CompanyPrefixLengthDataNotLoaded:"Les donn\xE9es relatives \xE0 la longueur du pr\xE9fixe d'entreprise GS1 n'ont pas \xE9t\xE9 charg\xE9es"}};var Dr="aidct_gs1",Er={en:{aidct_gs1:Et},fr:{aidct_gs1:At}},h=L.createInstance();async function tn(n,e=!1){return Lr(h,n,e,Dr,Er,br,Rr)}import{CharacterSetCreator as vt,CharacterSetValidator as Ar,Exclusions as Ot,utilityNS as vr}from"@aidc-toolkit/utility";var ye=new vt(["!",'"',"%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","_","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"],Ot.AllNumeric),an=ye,Qe=new vt(["#","-","/","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],Ot.AllNumeric),sn=Qe,Ze=class extends Ar{constructor(){super(["-","0","1","2","3","4","5","6","7","8","9","=","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","_","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"])}validate(e,t){super.validate(e,t);let r=e.length;if(r%4!==0)throw new RangeError(h.t("AI64CharacterSetValidator.lengthMustBeMultipleOf4",{length:r}));let i=e.search(/={1,2}/u);if(i!==-1&&i<r-2)throw new RangeError(h.t("CharacterSetValidator.invalidCharacterAtPosition",{ns:vr,c:"=",position:i}))}},fn=new Ze;import{NUMERIC_CREATOR as Te,utilityNS as tt}from"@aidc-toolkit/utility";var jt=[0,3,6,9,12,15,18,21,24,27],Le=[0,2,4,6,8,9,1,3,5,7],wt=[0,5,1,6,2,7,3,8,4,9],Vt=[0,5,9,4,8,3,7,2,6,1],Or=[0,9,7,5,3,1,8,6,4,2];function Re(n,e){let t=(e.length+Number(n))%2===0;return Te.characterIndexes(e).reduce((r,i,o)=>{if(i===void 0)throw new RangeError(h.t("CharacterSetValidator.invalidCharacterAtPosition",{ns:tt,c:e.charAt(o),position:o+1}));return t=!t,r+(t?jt[i]:i)},0)}function H(n){return Te.character(9-(Re(!1,n)+9)%10)}function re(n){return Re(!0,n)%10===0}function kt(n,e){return Te.characterIndexes(e).reduce((t,r,i)=>{if(r===void 0)throw new RangeError(h.t("CharacterSetValidator.invalidCharacterAtPositionOfComponent",{ns:tt,c:e.charAt(i),position:i+1,component:h.t("Check.priceOrWeightComponent")}));return t+n[i][r]},0)}function rt(n){let e;switch(n.length){case 4:e=Te.character(kt([Le,Le,jt,Vt],n)*3%10);break;case 5:e=Te.character(Or[9-(kt([wt,Le,Vt,wt,Le],n)+9)%10]);break;default:throw new RangeError(h.t("Check.lengthOfStringForPriceOrWeightMustBeExactly",{length:n.length}))}return e}function _t(n,e){return rt(n)===e}var et=[107,103,101,97,89,83,79,73,71,67,61,59,53,47,43,41,37,31,29,23,19,17,13,11,7,5,3,2],$t=["2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","W","X","Y","Z"];function it(n){let e=et.length-n.length;if(e<0)throw new RangeError(h.t("Check.lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo",{length:n.length,maximumLength:et.length}));let t=ye.characterIndexes(n).reduce((i,o,a)=>{if(o===void 0)throw new RangeError(h.t("CharacterSetValidator.invalidCharacterAtPosition",{ns:tt,c:n.charAt(a),position:a+1}));return i+o*et[e+a]},0)%1021,r=t%32;return $t[(t-r)/32]+$t[r]}function zt(n){let e=n.length-2;return it(n.substring(0,e))===n.substring(e)}var y={GS1CompanyPrefix:"GS1 Company Prefix",UPCCompanyPrefix:"U.P.C. Company Prefix",GS18Prefix:"GS1-8 Prefix"};import{NUMERIC_CREATOR as Ft}from"@aidc-toolkit/utility";var Mt=4,Kt=12,nt=5,ot=11,at=2,st=7,wr={minimumLength:Mt,maximumLength:Kt,component:()=>h.t("Prefix.gs1CompanyPrefix")},Vr={minimumLength:nt+1,maximumLength:ot+1,component:()=>h.t("Prefix.gs1CompanyPrefix")},kr={minimumLength:at+5,maximumLength:st+5,component:()=>h.t("Prefix.gs1CompanyPrefix")},$r={minimumLength:nt,maximumLength:ot,component:()=>h.t("Prefix.upcCompanyPrefix")},jr={minimumLength:at,maximumLength:st,component:()=>h.t("Prefix.gs18Prefix")},W={GS1_COMPANY_PREFIX_MINIMUM_LENGTH:Mt,GS1_COMPANY_PREFIX_MAXIMUM_LENGTH:Kt,UPC_COMPANY_PREFIX_MINIMUM_LENGTH:nt,UPC_COMPANY_PREFIX_MAXIMUM_LENGTH:ot,GS1_8_PREFIX_MINIMUM_LENGTH:at,GS1_8_PREFIX_MAXIMUM_LENGTH:st,validate(n,e,t,r,i=!1,o=!1,a){let s;switch(n){case y.GS1CompanyPrefix:if(!r.startsWith("0"))s=wr;else if(r.startsWith("00000")){if(r.startsWith("000000"))throw new RangeError(h.t(a??"Prefix.gs1CompanyPrefixCantStartWith000000"));if(!t)throw new RangeError(h.t(a??"Prefix.gs1CompanyPrefixCantStartWith00000"));s=kr}else{if(!e)throw new RangeError(h.t(a??"Prefix.gs1CompanyPrefixCantStartWith0"));s=Vr}break;case y.UPCCompanyPrefix:if(r.startsWith("0000"))throw new RangeError(h.t("Prefix.upcCompanyPrefixCantStartWith0000"));s=$r;break;case y.GS18Prefix:if(r.startsWith("0"))throw new RangeError(h.t("Prefix.gs18PrefixCantStartWith0"));s=jr;break}i?o||Ft.validate(r.substring(0,Math.min(s.minimumLength,r.length-1)),s):Ft.validate(r,s)},normalize(n,e){this.validate(n,!0,!0,e);let t;switch(n){case y.GS1CompanyPrefix:t=e;break;case y.UPCCompanyPrefix:t=`0${e}`;break;case y.GS18Prefix:t=`00000${e}`;break}let r,i,o,a;return t.startsWith("0")?t.startsWith("00000")?(r=y.GS18Prefix,a=t.substring(5),i=a):(r=y.UPCCompanyPrefix,o=t.substring(1),i=o):(r=y.GS1CompanyPrefix,i=t),{prefixType:r,prefix:i,gs1CompanyPrefix:t,upcCompanyPrefix:o,gs18Prefix:a}}};var x={Numeric:"Numeric",AI82:"AI82",AI39:"AI39"};var l={GTIN:"GTIN",GLN:"GLN",SSCC:"SSCC",GRAI:"GRAI",GIAI:"GIAI",GSRN:"GSRN",GDTI:"GDTI",GINC:"GINC",GSIN:"GSIN",GCN:"GCN",CPID:"CPID",GMN:"GMN"};var G={None:"None",IndicatorDigit:"Indicator digit",ExtensionDigit:"Extension digit"};import{pick as _r}from"@aidc-toolkit/core";var B=_r(l,l.GTIN,l.GLN,l.SSCC,l.GRAI,l.GSRN,l.GDTI,l.GSIN,l.GCN);import{pick as zr}from"@aidc-toolkit/core";var De=zr(B,B.GTIN);import{exclude as Fr}from"@aidc-toolkit/core";var F=Fr(B,De);import{pick as Mr}from"@aidc-toolkit/core";var Ee=Mr(F,F.GLN,F.SSCC,F.GSRN,F.GSIN);import{exclude as Kr}from"@aidc-toolkit/core";var Bt=Kr(F,Ee);import{exclude as Br}from"@aidc-toolkit/core";var Ut=Br(l,B);import{omit as Ur}from"@aidc-toolkit/core";var N={GTIN13:13,GTIN12:12,GTIN8:8,GTIN14:14},X=Ur(N,"GTIN14"),Ht={[y.GS1CompanyPrefix]:N.GTIN13,[y.UPCCompanyPrefix]:N.GTIN12,[y.GS18Prefix]:N.GTIN8};function ie(n){return n.identifierType in B}function ne(n){return n.identifierType in De}function oe(n){return n.identifierType in F}function ae(n){return n.identifierType in Ee}function se(n){return n.identifierType in Bt}function fe(n){return n.identifierType in Ut}var Hr={identifierType:l.GTIN,prefixType:y.GS1CompanyPrefix,length:X.GTIN13,referenceCharacterSet:x.Numeric,leaderType:G.IndicatorDigit},Wr={identifierType:l.GTIN,prefixType:y.UPCCompanyPrefix,length:X.GTIN12,referenceCharacterSet:x.Numeric,leaderType:G.IndicatorDigit},Yr={identifierType:l.GTIN,prefixType:y.GS18Prefix,length:X.GTIN8,referenceCharacterSet:x.Numeric,leaderType:G.IndicatorDigit},Jr={[X.GTIN13]:Hr,[X.GTIN12]:Wr,[X.GTIN8]:Yr},Xr={identifierType:l.GLN,prefixType:y.GS1CompanyPrefix,length:13,referenceCharacterSet:x.Numeric,leaderType:G.None},qr={identifierType:l.SSCC,prefixType:y.GS1CompanyPrefix,length:18,referenceCharacterSet:x.Numeric,leaderType:G.ExtensionDigit},Zr={identifierType:l.GRAI,prefixType:y.GS1CompanyPrefix,length:13,referenceCharacterSet:x.Numeric,leaderType:G.None,serialComponentLength:16,serialComponentCharacterSet:x.AI82},Qr={identifierType:l.GIAI,prefixType:y.GS1CompanyPrefix,length:30,referenceCharacterSet:x.AI82,requiresCheckCharacterPair:!1},ei={identifierType:l.GSRN,prefixType:y.GS1CompanyPrefix,length:18,referenceCharacterSet:x.Numeric,leaderType:G.None},ti={identifierType:l.GDTI,prefixType:y.GS1CompanyPrefix,length:13,referenceCharacterSet:x.Numeric,leaderType:G.None,serialComponentLength:17,serialComponentCharacterSet:x.AI82},ri={identifierType:l.GINC,prefixType:y.GS1CompanyPrefix,length:30,referenceCharacterSet:x.AI82,requiresCheckCharacterPair:!1},ii={identifierType:l.GSIN,prefixType:y.GS1CompanyPrefix,length:17,referenceCharacterSet:x.Numeric,leaderType:G.None},ni={identifierType:l.GCN,prefixType:y.GS1CompanyPrefix,length:13,referenceCharacterSet:x.Numeric,leaderType:G.None,serialComponentLength:12,serialComponentCharacterSet:x.Numeric},oi={identifierType:l.CPID,prefixType:y.GS1CompanyPrefix,length:30,referenceCharacterSet:x.AI39,requiresCheckCharacterPair:!1},ai={identifierType:l.GMN,prefixType:y.GS1CompanyPrefix,length:25,referenceCharacterSet:x.AI82,requiresCheckCharacterPair:!0},M={[l.GTIN]:Jr,[l.GLN]:Xr,[l.SSCC]:qr,[l.GRAI]:Zr,[l.GIAI]:Qr,[l.GSRN]:ei,[l.GDTI]:ti,[l.GINC]:ri,[l.GSIN]:ii,[l.GCN]:ni,[l.CPID]:oi,[l.GMN]:ai};function Wt(n){return!("identifierType"in n)}function oo(n){return ie(n)}function ao(n){return ne(n)}function so(n){return oe(n)}function fo(n){return ae(n)}function co(n){return se(n)}function po(n){return fe(n)}import{NUMERIC_CREATOR as si}from"@aidc-toolkit/utility";var Ae={[x.Numeric]:si,[x.AI82]:ye,[x.AI39]:Qe};var de=class{#t;#e;#r;#i;constructor(e){this.#t=e.identifierType,this.#e=e.length,this.#r=e.referenceCharacterSet,this.#i=Ae[e.referenceCharacterSet]}get identifierType(){return this.#t}get prefixType(){return y.GS1CompanyPrefix}get length(){return this.#e}get referenceCharacterSet(){return this.#r}get referenceCreator(){return this.#i}padIdentifier(e,t){return t===void 0?e:this.referenceCreator.character(0).repeat(t).concat(e)}validatePrefix(e){W.validate(this.prefixType,!0,!1,e,!0,this.referenceCharacterSet===x.Numeric)}};var ce=class extends de{#t;#e;constructor(e){super(e),this.#t=e.leaderType,this.#e=+(this.leaderType===G.ExtensionDigit)}get leaderType(){return this.#t}validate(e,t){if(this.#e===0?super.validatePrefix(e):super.validatePrefix(e.substring(this.#e)),e.length!==this.length)throw new RangeError(h.t("Identifier.identifierTypeLength",{identifierType:this.identifierType,length:this.length}));if(!re(this.padIdentifier(e,t?.positionOffset)))throw new RangeError(h.t("Identifier.invalidCheckDigit"))}};import{NUMERIC_CREATOR as Yt}from"@aidc-toolkit/utility";var R={Any:0,RetailConsumer:1,OtherThanRetailConsumer:2},D=class n extends ce{static#t={minimumLength:0,maximumLength:1,component:()=>h.t("Identifier.indicatorDigit")};static#e={minimumLength:8,maximumLength:8};static#r={[R.Any]:void 0,[R.RetailConsumer]:"Identifier.invalidGTINAtRetail",[R.OtherThanRetailConsumer]:"Identifier.invalidGTINAtOtherThanRetail"};#i;constructor(e){let t=M.GTIN[e];super(t),this.#i=t.prefixType}get prefixType(){return this.#i}validatePrefix(e){W.validate(this.prefixType,!1,!1,e,!0,!0)}static zeroSuppress(e){ft.validate(e);let t=Array.from(e),r;if(t[0]==="0"&&t[6]==="0"&&t[7]==="0"&&(t[10]>="5"&&t[8]==="0"&&t[9]==="0"&&t[5]!=="0"?r=`0${t[1]}${t[2]}${t[3]}${t[4]}${t[5]}${t[10]}${t[11]}`:t[5]==="0"&&t[8]==="0"&&t[9]==="0"&&t[4]!=="0"?r=`0${t[1]}${t[2]}${t[3]}${t[4]}${t[10]}4${t[11]}`:t[3]<="2"&&t[4]==="0"&&t[5]==="0"?r=`0${t[1]}${t[2]}${t[8]}${t[9]}${t[10]}${t[3]}${t[11]}`:t[3]>="3"&&t[4]==="0"&&t[5]==="0"&&t[8]==="0"&&(r=`0${t[1]}${t[2]}${t[3]}${t[9]}${t[10]}3${t[11]}`)),r===void 0)throw new RangeError(h.t("Identifier.invalidZeroSuppressibleGTIN12"));return r}static zeroExpand(e){Yt.validate(e,n.#e);let t=Array.from(e),r;if(t[0]==="0"&&(t[6]>="5"&&t[5]!=="0"?r=`0${t[1]}${t[2]}${t[3]}${t[4]}${t[5]}0000${t[6]}${t[7]}`:t[6]==="4"&&t[4]!=="0"?r=`0${t[1]}${t[2]}${t[3]}${t[4]}00000${t[5]}${t[7]}`:t[6]<="2"?r=`0${t[1]}${t[2]}${t[6]}0000${t[3]}${t[4]}${t[5]}${t[7]}`:t[6]==="3"&&t[3]>="3"&&(r=`0${t[1]}${t[2]}${t[3]}00000${t[4]}${t[5]}${t[7]}`)),r===void 0)throw new RangeError(h.t("Identifier.invalidZeroSuppressedGTIN12"));return ft.validate(r),r}static convertToGTIN14(e,t){Yt.validate(e,n.#t);let r=n.normalize(t).padStart(N.GTIN14,"0");if(e.length!==0&&!r.startsWith(e)){let i=`${e}${r.substring(1,N.GTIN14-1)}`;r=`${i}${H(i)}`}return r}static normalize(e){let t=e.length,r;switch(t){case N.GTIN13:if(!e.startsWith("0"))r=e;else if(!e.startsWith("00000"))r=e.substring(1);else if(!e.startsWith("000000"))r=e.substring(5);else throw new RangeError(h.t("Identifier.invalidZeroSuppressedGTIN12AsGTIN13"));break;case N.GTIN12:r=e;break;case N.GTIN8:e.startsWith("0")?r=n.zeroExpand(e):r=e;break;case N.GTIN14:if(!e.startsWith("0"))r=e;else if(!e.startsWith("00"))r=e.substring(1);else if(!e.startsWith("000000"))r=e.substring(2);else if(!e.startsWith("0000000"))r=e.substring(6);else throw new RangeError(h.t("Identifier.invalidZeroSuppressedGTIN12AsGTIN14"));break;default:throw new RangeError(h.t("Identifier.invalidGTINLength"))}return n.validateAny(r),r}static validateAny(e,t=R.Any){let r=e,i,o=!1,a=!1,s=e,f;switch(e.length){case N.GTIN13:i=y.GS1CompanyPrefix,o=t!==R.RetailConsumer,a=t===R.Any,f=R.Any;break;case N.GTIN12:i=y.UPCCompanyPrefix,f=R.Any;break;case N.GTIN8:e.startsWith("0")?(r=n.zeroExpand(e),i=void 0):i=y.GS18Prefix,f=R.RetailConsumer;break;case N.GTIN14:i=y.GS1CompanyPrefix,o=!0,a=t!==R.OtherThanRetailConsumer||!e.startsWith("0"),s=e.substring(1),f=R.OtherThanRetailConsumer;break;default:throw new RangeError(h.t("Identifier.invalidGTINLength"))}if(i!==void 0&&W.validate(i,o,a,s,!0,!0,n.#r[t]),!re(r))throw new RangeError(h.t("Identifier.invalidCheckDigit"));if(t!==R.Any&&f!==R.Any&&f!==t)throw new RangeError(h.t(t===R.RetailConsumer?"Identifier.invalidGTINAtRetail":"Identifier.invalidGTINAtOtherThanRetail"))}static validateGTIN14(e){if(e.length!==N.GTIN14)throw new RangeError(h.t("Identifier.invalidGTIN14Length"));n.validateAny(e)}},fi=new D(N.GTIN13),ft=new D(N.GTIN12),di=new D(N.GTIN8),Jt={[N.GTIN13]:fi,[N.GTIN12]:ft,[N.GTIN8]:di};var pe=class extends ce{};var O=class extends pe{constructor(e){super(M[e])}};var k=class extends pe{#t;#e;#r;#i;constructor(e){let t=M[e];super(t),this.#t=t.serialComponentLength,this.#e=t.serialComponentCharacterSet,this.#r={minimumLength:1,maximumLength:t.serialComponentLength,component:()=>h.t("Identifier.serialComponent")},this.#i=Ae[t.serialComponentCharacterSet]}get serialComponentLength(){return this.#t}get serialComponentCharacterSet(){return this.#e}get serialComponentValidation(){return this.#r}get serialComponentCreator(){return this.#i}validate(e,t){super.validate(e.substring(0,this.length),t),e.length>this.length&&this.serialComponentCreator.validate(e.substring(this.length),this.#r)}split(e,t){return this.validate(e,t),{baseIdentifier:e.substring(0,this.length),serialComponent:e.substring(this.length)}}};import{Exclusions as ci,RegExpValidator as pi}from"@aidc-toolkit/utility";var w=class n extends de{static#t=new class extends pi{createErrorMessage(e){return h.t("Identifier.referenceCantBeAllNumeric")}}(/\D/u);#e;constructor(e){let t=M[e];super(t),this.#e=t.requiresCheckCharacterPair}get requiresCheckCharacterPair(){return this.#e}validate(e,t){let r=this.requiresCheckCharacterPair?e.substring(0,e.length-2):e;if(super.validatePrefix(r),!this.requiresCheckCharacterPair)this.referenceCreator.validate(e,{maximumLength:this.length});else if(!zt(this.padIdentifier(e)))throw new RangeError(h.t("Identifier.invalidCheckCharacterPair"));t?.exclusion===ci.AllNumeric&&n.#t.validate(r)}};var li=new O(l.GLN),ui=new O(l.SSCC),hi=new k(l.GRAI),mi=new w(l.GIAI),gi=new O(l.GSRN),Ii=new k(l.GDTI),yi=new w(l.GINC),Ti=new O(l.GSIN),Ni=new k(l.GCN),xi=new w(l.CPID),Ci=new w(l.GMN),ve={[l.GTIN]:Jt,[l.GLN]:li,[l.SSCC]:ui,[l.GRAI]:hi,[l.GIAI]:mi,[l.GSRN]:gi,[l.GDTI]:Ii,[l.GINC]:yi,[l.GSIN]:Ti,[l.GCN]:Ni,[l.CPID]:xi,[l.GMN]:Ci},aa={GTIN:D,GLN:O,SSCC:O,GRAI:k,GIAI:w,GSRN:O,GDTI:k,GINC:w,GSIN:O,GCN:k,CPID:w,GMN:w};function sa(n){return Wt(n)}function Xt(n){return ie(n)}function fa(n){return ne(n)}function da(n){return oe(n)}function ca(n){return ae(n)}function pa(n){return se(n)}function la(n){return fe(n)}var qt="https://www.gs1.org/services/verified-by-gs1/results?";function Ia(n,e,t=void 0,r){let i,o;n===l.GTIN?(i=D.normalize(e),o=!0):(ve[n].validate(e),i=e,o=n===l.GLN);let a=n.toLowerCase();return{reference:o?`${qt}${a}=${i}`:`${qt}key=${i}&key_type=${a}`,text:t??e,details:r}}import{Exclusions as Pi,NUMERIC_CREATOR as Zt}from"@aidc-toolkit/utility";import{CharacterSetCreator as Si,Exclusions as Gi,NUMERIC_CREATOR as we}from"@aidc-toolkit/utility";function Oe(n){class e extends n{#t;#e;constructor(r,i,o,...a){super(...a),this.#t=r,this.#e=this.length-i.length-o}get prefixProvider(){return this.#t}get prefix(){return this.prefixProvider.gs1CompanyPrefix}get referenceLength(){return this.#e}}return e}function Ve(n){class e extends Oe(n){#t;#e=0n;constructor(r,i,...o){super(r,i,1,...o),this.#t=Number(Si.powerOf10(this.referenceLength))}get capacity(){return this.#t}get tweak(){return this.#e}set tweak(r){this.#e=r}#r(r){let i=this.leaderType===G.ExtensionDigit?r.substring(0,1)+this.prefix+r.substring(1):this.prefix+r;return i+H(i)}create(r,i){return we.create(this.referenceLength,r,Gi.None,i===!0?this.tweak:void 0,o=>this.#r(o))}static*createAllPartial(r,i,o,a,s){if(i===0)yield r+we.character(9-(s+9)%10);else{let f=i-1,d=s;if(o!==0)for(let p of we.characterSet)yield*e.createAllPartial(p+r,f,0,a,d),d+=o;else{let p=4-a;for(let c of we.characterSet)yield*e.createAllPartial(r+c,f,0,p,d),d+=a}}}createAll(){let r=this.leaderType===G.ExtensionDigit,i=this.prefix,o=this.length,a=this.referenceLength,s=3-2*((a+1-Number(r))%2);return{[Symbol.iterator](){return e.createAllPartial(i,a,r?3-2*o%2:0,s,Re(s===3,i))}}}}return e}var ke=class n extends Ve(D){static#t={minimumLength:1,maximumLength:1,component:()=>h.t("Identifier.indicatorDigit")};constructor(e,t){super(e,e.prefix,t)}get prefix(){return this.prefixProvider.prefix}createGTIN14(e,t,r){return Zt.validate(e,n.#t),Zt.create(N.GTIN13-this.prefixProvider.gs1CompanyPrefix.length-1,t,Pi.None,r===!0?this.tweak:void 0,i=>{let o=e+this.prefixProvider.gs1CompanyPrefix+i;return o+H(o)})}};function $e(n){class e extends Ve(n){constructor(r,...i){super(r,r.gs1CompanyPrefix,...i)}}return e}var q=class extends $e(O){};import{mapIterable as bi}from"@aidc-toolkit/utility";var le=class extends $e(k){#t(e,t){let r=this.serialComponentCreator,i=this.serialComponentValidation;function o(a){return r.validate(a,i),e+a}return typeof t!="object"?o(t):bi(t,o)}createSerialized(e,t,r){return this.#t(this.create(e,r),t)}concatenate(e,t){return this.validate(e),this.#t(e,t)}};import{mapIterable as Li}from"@aidc-toolkit/utility";var Z=class extends Oe(w){#t;constructor(e,t){super(e,e.gs1CompanyPrefix,2*Number(M[t].requiresCheckCharacterPair),t),this.#t={minimumLength:1,maximumLength:this.referenceLength,component:()=>h.t("Identifier.reference")}}get referenceValidation(){return this.#t}create(e){let t=this.referenceCreator,r=this.referenceValidation,i=this.prefix,o=this.requiresCheckCharacterPair;function a(s){t.validate(s,r);let f=i+s;return o?f+it(f):f}return typeof e!="object"?a(e):Li(e,a)}};var dt={GTIN:ke,GLN:q,SSCC:q,GRAI:le,GIAI:Z,GSRN:q,GDTI:le,GINC:Z,GSIN:q,GCN:le,CPID:Z,GMN:Z};function Qt(n){return ie(n)}function es(n){return ne(n)}function ts(n){return oe(n)}function rs(n){return ae(n)}function is(n){return se(n)}function ns(n){return fe(n)}import{NUMERIC_CREATOR as je}from"@aidc-toolkit/utility";var er=class{static parseRCN(e,t){let r=e.length;if(t.length!==r)throw new RangeError(h.t("Identifier.invalidRCNLength"));let i=r===12||r===13,o=!0,a=!1,s="",f=!1,d="",p="";for(let c=0;i&&c<r;c++){let m=e.charAt(c),u=t.charAt(c);if(c===0)i=m==="2",o=u==="2";else if(r===13&&c===1)i=je.characterIndex(m)!==void 0,o=u===m;else if(c===r-1)i=m==="C";else switch(m){case"I":a||(i=s==="",a=!0,f=!1),s+=u;break;case"P":f||(i=d==="",f=!0,a=!1),d+=u;break;case"V":i=p==="",a=!1,f=!1,p=u;break;default:i=!1;break}}if(i&&=s!==""&&d!=="",!i)throw new RangeError(h.t("Identifier.invalidVariableMeasureRCNFormat"));if(!o)throw new RangeError(h.t("Identifier.invalidVariableMeasureRCNPrefix"));if(p!==""&&!_t(d,p))throw new RangeError(h.t("Identifier.invalidVariableMeasurePriceOrWeight"));if(!re(t))throw new RangeError(h.t("Identifier.invalidCheckDigit"));return{itemReference:Number(s),priceOrWeight:Number(d)}}static createRCN(e,t,r){let i=e.length,o=i===12||i===13,a="",s=!1,f="",d=0,p=!1,c="",m=0,u=!1,g=T=>T+a,C=T=>T+f,b=T=>T+c,E=T=>T+rt(c),S=T=>T+H(T),A=[g];for(let T=0;o&&T<i;T++){let P=e.charAt(T);if(T===0)o=P==="2",a=P;else if(i===13&&T===1)o=je.characterIndex(P)!==void 0,a+=P;else if(T===i-1)o=P==="C";else switch(P){case"I":s||(o=d===0,s=!0,p=!1,A.push(C)),d++;break;case"P":p||(o=m===0,p=!0,s=!1,A.push(b)),m++;break;case"V":o=!u,s=!1,p=!1,u=!0,A.push(E);break;default:o=!1;break}}if(o&&=d!==0&&m!==0,!o)throw new RangeError(h.t("Identifier.invalidVariableMeasureRCNFormat"));return f=je.create(d,t),c=je.create(m,r),A.push(S),A.reduce((T,P)=>P(T),"")}};var tr=class n{static#t=new Map;static#e={GTIN:1987n,GLN:4241n,SSCC:8087n,GRAI:3221n,GSRN:2341n,GDTI:7333n,GSIN:5623n,GCN:6869n};#r;#i;#n;#a;#s;#f;#o=0n;#d={};constructor(e,t){let r=W.normalize(e,t);this.#r=r.prefixType,this.#i=r.prefix,this.#n=r.gs1CompanyPrefix,this.#a=r.upcCompanyPrefix,this.#s=r.gs18Prefix,this.#f=BigInt(`1${this.gs1CompanyPrefix}`),this.resetTweakFactor()}get prefixType(){return this.#r}get prefix(){return this.#i}get gs1CompanyPrefix(){return this.#n}get upcCompanyPrefix(){return this.#a}get gs18Prefix(){return this.#s}#c(e){Qt(e)&&(e.tweak=this.tweakFactor*n.#e[e.identifierType])}get tweakFactor(){return this.#o}set tweakFactor(e){let t=BigInt(e);if(this.#o!==t){this.#o=t;for(let r of Object.values(this.#d))this.#c(r)}}resetTweakFactor(){this.tweakFactor=this.#f}static get(e,t){let r=W.normalize(e,t),i=n.#t.get(r.gs1CompanyPrefix);return i===void 0&&(i=new n(r.prefixType,r.prefix),n.#t.set(r.gs1CompanyPrefix,i)),i}getIdentifierCreator(e){let t=this.#d[e];if(t===void 0){if(e===l.GTIN)t=new dt.GTIN(this,Ht[this.prefixType]);else{if(this.prefixType===y.GS18Prefix)throw new RangeError(h.t("Prefix.identifierTypeNotSupportedByGS18Prefix",{identifierType:e}));t=new dt[e](this,e)}this.#c(t),this.#d[e]=t}return t}get gtinCreator(){return this.getIdentifierCreator(l.GTIN)}get glnCreator(){return this.getIdentifierCreator(l.GLN)}get ssccCreator(){return this.getIdentifierCreator(l.SSCC)}get graiCreator(){return this.getIdentifierCreator(l.GRAI)}get giaiCreator(){return this.getIdentifierCreator(l.GIAI)}get gsrnCreator(){return this.getIdentifierCreator(l.GSRN)}get gdtiCreator(){return this.getIdentifierCreator(l.GDTI)}get gincCreator(){return this.getIdentifierCreator(l.GINC)}get gsinCreator(){return this.getIdentifierCreator(l.GSIN)}get gcnCreator(){return this.getIdentifierCreator(l.GCN)}get cpidCreator(){return this.getIdentifierCreator(l.CPID)}get gmnCreator(){return this.getIdentifierCreator(l.GMN)}};function _e(n){return typeof n=="object"&&"dateTime"in n&&n.dateTime instanceof Date&&"disclaimer"in n&&typeof n.disclaimer=="string"}function ct(n){return _e(n)&&"data"in n&&n.data instanceof Uint8Array}function rr(n){return typeof n=="object"&&"nextCheckDateTime"in n&&n.nextCheckDateTime instanceof Date&&(!("gcpLengthData"in n)||n.gcpLengthData===void 0||typeof n.gcpLengthData=="object"&&n.gcpLengthData!==null&&ct(n.gcpLengthData))}function Is(n){return typeof n=="object"&&"_disclaimer"in n&&"GCPPrefixFormatList"in n}import{Cache as Ri,defaultHTTPFetch as Di,omit as Ei,RemoteAppDataStorage as Ai,WEBSITE_BASE_URL as vi}from"@aidc-toolkit/core";var pt=class n extends Ri{static APP_DATA_STORAGE_KEY="gcp-length";static NEXT_CHECK_DATE_TIME_STORAGE_KEY="gcp-length-next-check-date-time";static HEADER_STORAGE_KEY="gcp-length-header";static DATA_STORAGE_KEY="gcp-length-data";#t;#e;constructor(e){super(),this.#t=e}get appDataStorage(){return this.#t}async#r(){if(this.#e===void 0)if(this.appDataStorage.supportsBinary){let e=await this.appDataStorage.read(n.NEXT_CHECK_DATE_TIME_STORAGE_KEY),t=await this.appDataStorage.read(n.HEADER_STORAGE_KEY),r=await this.appDataStorage.read(n.DATA_STORAGE_KEY,!0);this.#e={nextCheckDateTime:e instanceof Date?e:void 0,gcpLengthData:_e(t)&&r instanceof Uint8Array?{...t,data:r}:void 0}}else{let e=await this.appDataStorage.read(n.APP_DATA_STORAGE_KEY);rr(e)&&(this.#e=e)}return this.#e===void 0&&(this.#e={nextCheckDateTime:new Date,gcpLengthData:void 0}),this.#e}get nextCheckDateTime(){return this.#r().then(e=>e.nextCheckDateTime)}get cacheDateTime(){return this.#r().then(e=>e.gcpLengthData?.dateTime)}get cacheData(){return this.#r().then(e=>{if(e.gcpLengthData===void 0)throw new Error("GS1 Company Prefix length application data not loaded");return e.gcpLengthData})}async update(e,t,r){this.#e={nextCheckDateTime:e,gcpLengthData:r??this.#e?.gcpLengthData},this.appDataStorage.supportsBinary?(await this.appDataStorage.write(n.NEXT_CHECK_DATE_TIME_STORAGE_KEY,e),r!==void 0&&(await this.appDataStorage.write(n.HEADER_STORAGE_KEY,Ei(r,"data")),await this.appDataStorage.write(n.DATA_STORAGE_KEY,r.data))):await this.appDataStorage.write(n.APP_DATA_STORAGE_KEY,this.#e)}},ir=class n extends pt{static DEFAULT_BASE_URL=`${vi}/data`;#t;#e;constructor(e,t=n.DEFAULT_BASE_URL,r=Di){super(e),this.#t=new Ai(t,r)}async#r(e,t,r){return this.#t.read(e,t).then(i=>{if(i===void 0)throw new RangeError(h.t("GCPLength.gs1CompanyPrefixLengthDataFileNotFound",{key:e}));return r(i)}).catch(async i=>{let o=new Date;throw o.setMinutes(o.getMinutes()+10),await this.update(o),i})}get sourceDateTime(){return this.#r(n.HEADER_STORAGE_KEY,!1,e=>{if(!_e(e))throw new Error("Invalid GS1 Company Prefix length header");return this.#e=e,this.#e.dateTime})}get sourceData(){return this.#r(n.DATA_STORAGE_KEY,!0,e=>{let t=this.#e;if(t===void 0)throw new Error("GS1 Company Prefix length header not loaded");if(!(e instanceof Uint8Array))throw new Error("Invalid GS1 Company Prefix length data");return{...t,data:e}})}};import{omit as nr}from"@aidc-toolkit/core";function ze(n){return"length"in n}var or=class n{static#t=15;static#e=14;#r;#i;constructor(e){this.#r=e}get root(){if(this.#i===void 0)throw new RangeError(h.t("GCPLength.gs1CompanyPrefixLengthDataNotLoaded"));return this.#i}get dateTime(){return this.root.dateTime}get disclaimer(){return this.root.disclaimer}static#n(e,t,r){let i=r,o=new Array(10);for(let a=0;a<10;a+=2){let s=e[i++];o[a]=s>>4,o[a+1]=s&15}for(let a=0;a<10;a++){let s=o[a];if(s!==n.#t){let f;if(s===n.#e){let d=[];i=n.#n(e,d,i),f={childNodes:d}}else f={length:s};t[a]=f}}return i}static#a(e,t,r){let i=Number(t.charAt(0)),o=e.childNodes[i],a=0;if(t.length!==1){let s;if(o===void 0)s={childNodes:[]},a++;else{if(ze(o))throw new Error("Overlapping entry");s=o}e.childNodes[i]=s,a+=n.#a(s,t.substring(1),r)}else{if(o!==void 0)throw new Error("Duplicate entry");e.childNodes[i]={length:r}}return a}static#s(e){return e!==void 0?ze(e)?e.length:n.#e:n.#t}static#f(e,t,r){let i=r,o=t.childNodes;for(let a=0;a<10;a+=2)e[i++]=n.#s(o[a])<<4|n.#s(o[a+1]);for(let a of o)a!==void 0&&!ze(a)&&(i=n.#f(e,a,i));return i}static#o(e,t){let r=new Date(e);return r.setDate(r.getDate()+t),r}async load(){let e,t=this.#r,r=await t.nextCheckDateTime,i=await t.cacheDateTime,o=new Date,a=n.#o(o,1);if(r===void 0||r.getTime()<=o.getTime()){let s=await t.sourceDateTime;if(i===void 0||i.getTime()<s.getTime()){let f=await t.sourceData,d;if(ct(f)){let p=[];n.#n(f.data,p,0),e={dateTime:f.dateTime,disclaimer:f.disclaimer,childNodes:p},d=f}else{let p={childNodes:[]},c=1;for(let u of f.GCPPrefixFormatList.entry)c+=n.#a(p,u.prefix,u.gcpLength);e={dateTime:new Date(f.GCPPrefixFormatList.date),disclaimer:`${f._disclaimer.reduce((u,g)=>(u.length===0||u[u.length-1]===""||g===""?u.push(g):u.push(`${u.pop()} ${g}`),u),[]).join(`
|
|
2
2
|
`)}
|
|
3
|
-
`,...p};let m=new Uint8Array(c*5);n.#f(m,e,0),d={...
|
|
3
|
+
`,...p};let m=new Uint8Array(c*5);n.#f(m,e,0),d={...nr(e,"childNodes"),data:m}}r=n.#o(s,7),r.getTime()<a.getTime()&&(r=a),i=s,await t.update(r,i,d)}else await t.update(a)}if(e===void 0&&i!==void 0){let s=await t.cacheData,f=[];n.#n(s.data,f,0),e={...nr(s,"data"),childNodes:f}}e!==void 0&&(this.#i=e)}lengthOf(e,t){let r;if(e===l.GTIN)r=D.normalize(t).padStart(N.GTIN14,"0").substring(1);else{let a=ve[e];a.validate(t),r=!Xt(a)||a.leaderType!==G.ExtensionDigit?t:t.substring(1)}let i=this.root,o=0;for(;i!==void 0&&!ze(i);)i=i.childNodes[Number(r.charAt(o++))];return i?.length??-1}};export{Qe as AI39_CREATOR,sn as AI39_VALIDATOR,fn as AI64_VALIDATOR,ye as AI82_CREATOR,an as AI82_VALIDATOR,x as ContentCharacterSets,or as GCPLength,pt as GCPLengthCache,X as GTINBaseLengths,ke as GTINCreator,N as GTINLengths,R as GTINLevels,De as GTINTypes,D as GTINValidator,Ht as GTIN_BASE_TYPES,dt as IdentifierCreatorConstructors,M as IdentifierDescriptors,l as IdentifierTypes,de as IdentifierValidator,aa as IdentifierValidatorConstructors,ve as IdentifierValidators,G as LeaderTypes,F as NonGTINNumericIdentifierTypes,pe as NonGTINNumericIdentifierValidator,Z as NonNumericIdentifierCreator,Ut as NonNumericIdentifierTypes,w as NonNumericIdentifierValidator,q as NonSerializableNumericIdentifierCreator,Ee as NonSerializableNumericIdentifierTypes,O as NonSerializableNumericIdentifierValidator,B as NumericIdentifierTypes,ce as NumericIdentifierValidator,tr as PrefixManager,y as PrefixTypes,W as PrefixValidator,ir as RemoteGCPLengthCache,le as SerializableNumericIdentifierCreator,Bt as SerializableNumericIdentifierTypes,k as SerializableNumericIdentifierValidator,er as VariableMeasure,it as checkCharacterPair,H as checkDigit,Re as checkDigitSum,Dr as gs1NS,Er as gs1ResourceBundle,zt as hasValidCheckCharacterPair,re as hasValidCheckDigit,tn as i18nGS1Init,h as i18nextGS1,rr as isGCPLengthAppData,ct as isGCPLengthData,_e as isGCPLengthHeader,Is as isGCPLengthSourceJSON,es as isGTINCreator,ao as isGTINDescriptor,Wt as isGTINDescriptors,fa as isGTINValidator,sa as isGTINValidators,ts as isNonGTINNumericIdentifierCreator,so as isNonGTINNumericIdentifierDescriptor,da as isNonGTINNumericIdentifierValidator,ns as isNonNumericIdentifierCreator,po as isNonNumericIdentifierDescriptor,la as isNonNumericIdentifierValidator,rs as isNonSerializableNumericIdentifierCreator,fo as isNonSerializableNumericIdentifierDescriptor,ca as isNonSerializableNumericIdentifierValidator,Qt as isNumericIdentifierCreator,oo as isNumericIdentifierDescriptor,Xt as isNumericIdentifierValidator,is as isSerializableNumericIdentifierCreator,co as isSerializableNumericIdentifierDescriptor,pa as isSerializableNumericIdentifierValidator,_t as isValidPriceOrWeightCheckDigit,rt as priceOrWeightCheckDigit,Ia as verifiedByGS1};
|
|
4
4
|
/*!
|
|
5
5
|
* Copyright © 2024-2026 Dolphin Data Development Ltd. and AIDC Toolkit
|
|
6
6
|
* contributors
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aidc-toolkit/gs1",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.49",
|
|
4
4
|
"description": "GS1 AIDC Toolkit",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
"test": "tsc --project tsconfig-test.json --noEmit && vitest run"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@aidc-toolkit/dev": "^1.0.
|
|
32
|
+
"@aidc-toolkit/dev": "^1.0.46",
|
|
33
33
|
"vitest": "^4.0.18"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@aidc-toolkit/core": "^1.0.
|
|
37
|
-
"@aidc-toolkit/utility": "^1.0.
|
|
36
|
+
"@aidc-toolkit/core": "^1.0.47",
|
|
37
|
+
"@aidc-toolkit/utility": "^1.0.48"
|
|
38
38
|
}
|
|
39
39
|
}
|
package/src/version.ts
CHANGED