@aidc-toolkit/gs1 1.0.49 → 1.0.50

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.js CHANGED
@@ -1,6 +1,6 @@
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={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"},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(`
1
+ import{i18nCoreInit as xr,i18nInit as Cr}from"@aidc-toolkit/core";import{i18nUtilityInit as Sr}from"@aidc-toolkit/utility";var I=n=>typeof n=="string",ge=()=>{let n,e,t=new Promise((r,i)=>{n=r,e=i});return t.resolve=n,t.reject=e,t},gt=n=>n==null?"":String(n),ar=(n,e,t)=>{n.forEach(r=>{e[r]&&(t[r]=e[r])})},sr=/###/g,It=n=>n&&n.includes("###")?n.replace(sr,"."):n,yt=n=>!n||I(n),Ie=(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}=Ie(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=Ie(n,a,Object);for(;s.obj===void 0&&a.length;)o=`${a[a.length-1]}.${o}`,a=a.slice(0,a.length-1),s=Ie(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}=Ie(n,e,Object);i[o]=i[o]||[],i[o].push(t)},Se=(n,e)=>{let{obj:t,k:r}=Ie(n,e);if(t&&Object.prototype.hasOwnProperty.call(t,r))return t[r]},fr=(n,e,t)=>{let r=Se(n,t);return r!==void 0?r:Se(e,t)},Pt=(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]):Pt(n[r],e[r],t):n[r]=e[r]);return n},B=n=>n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),cr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"},pr=n=>I(n)?n.replace(/[&<>"'\/]/g,e=>cr[e]):n,Ue=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}},lr=[" ",",","?","!",";"],ur=new Ue(20),hr=(n,e,t)=>{e=e||"",t=t||"";let r=lr.filter(a=>!e.includes(a)&&!t.includes(a));if(r.length===0)return!0;let i=ur.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},We=(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 d=o;d<r.length;++d)if(d!==o&&(s+=t),s+=r[d],a=i[s],a!==void 0){if(["string","number","boolean"].includes(typeof a)&&d<r.length-1)continue;o+=d-o+1;break}i=a}return i},ye=n=>n?.replace(/_/g,"-"),mr={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||mr,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:(e=e.map(o=>I(o)?o.replace(/[\r\n\x00-\x1F\x7F]/g," "):o),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)}},F=new He,re=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)}}once(e,t){let r=(...i)=>{t(...i),this.off(e,r)};return this.on(e,r),this}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(e,...t)})}},Ge=class extends re{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.includes(e)||this.options.ns.push(e)}removeNamespaces(e){let t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,r,i={}){let o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,a=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure,s;e.includes(".")?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 d=Se(this.data,s);return!d&&!t&&!r&&e.includes(".")&&(e=s[0],t=s[1],r=s.slice(2).join(".")),d||!a||!I(r)?d:We(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.includes(".")&&(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.includes(".")&&(s=e.split("."),i=r,r=t,t=s[1]),this.addNamespaces(t);let d=Se(this.data,s)||{};a.skipCopy||(r=JSON.parse(JSON.stringify(r))),i?Pt(d,r,o):d={...d,...r},Nt(this.data,s,d),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}},bt={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}},Lt=Symbol("i18next/PATH_KEY");function gr(){let n=[],e=Object.create(null),t;return e.get=(r,i)=>(t?.revoke?.(),i===Lt?n:(n.push(i),t=Proxy.revocable(r,e),t.proxy)),Proxy.revocable(Object.create(null),e).proxy}function te(n,e){let{[Lt]:t}=n(gr()),r=e?.keySeparator??".",i=e?.nsSeparator??":",o=e?.enableSelector==="strict";if(t.length>1&&i){let a=e?.ns,s=o?Array.isArray(a)?a:a?[a]:null:Array.isArray(a)?a:null;if(s&&(o?s:s.length>1?s.slice(1):[]).includes(t[0]))return`${t[0]}${i}${t.slice(1).join(r)}`}return t.join(r)}var Me=n=>!I(n)&&typeof n!="boolean"&&typeof n!="number",Pe=class n extends re{constructor(e,t={}){super(),ar(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=F.create("translator"),this.checkedLoadedFor={}}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=Me(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.includes(r),s=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!hr(e,r,i);if(a&&!s){let d=e.match(this.interpolator.nestingRegexp);if(d&&d.length>0)return{key:e,namespaces:I(o)?[o]:o};let f=e.split(r);(r!==i||r===i&&this.options.ns.includes(f[0]))&&(o=f.shift()),e=f.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=te(e,{...this.options,...i})),Array.isArray(e)||(e=[String(e)]),e=e.map(D=>typeof D=="function"?te(D,{...this.options,...i}):String(D));let o=i.returnDetails!==void 0?i.returnDetails:this.options.returnDetails,a=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,{key:s,namespaces:d}=this.extractFromKey(e[e.length-1],i),f=d[d.length-1],c=i.nsSeparator!==void 0?i.nsSeparator:this.options.nsSeparator;c===void 0&&(c=":");let p=i.lng||this.language,u=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(p?.toLowerCase()==="cimode")return u?o?{res:`${f}${c}${s}`,usedKey:s,exactUsedKey:s,usedLng:p,usedNS:f,usedParams:this.getUsedParamsDetails(i)}:`${f}${c}${s}`:o?{res:s,usedKey:s,exactUsedKey:s,usedLng:p,usedNS:f,usedParams:this.getUsedParamsDetails(i)}:s;let h=this.resolve(e,i),g=h?.res,C=h?.usedKey||s,b=h?.exactUsedKey||s,A=["[object Number]","[object Function]","[object RegExp]"],S=i.joinArrays!==void 0?i.joinArrays:this.options.joinArrays,v=!this.i18nFormat||this.i18nFormat.handleAsObject,N=i.count!==void 0&&!I(i.count),P=n.hasDefaultValue(i),Q=N?this.pluralResolver.getSuffix(p,i.count,i):"",ee=i.ordinal&&N?this.pluralResolver.getSuffix(p,i.count,{ordinal:!1}):"",lt=N&&!i.ordinal&&i.count===0,W=lt&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${Q}`]||i[`defaultValue${ee}`]||i.defaultValue,j=g;v&&!g&&P&&(j=W);let nr=Me(j),or=Object.prototype.toString.apply(j);if(v&&j&&nr&&!A.includes(or)&&!(I(S)&&Array.isArray(j))){if(!i.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");let D=this.options.returnedObjectHandler?this.options.returnedObjectHandler(C,j,{...i,ns:d}):`key '${s} (${this.language})' returned an object instead of string.`;return o?(h.res=D,h.usedParams=this.getUsedParamsDetails(i),h):D}if(a){let D=Array.isArray(j),k=D?[]:{},ut=D?b:C;for(let _ in j)if(Object.prototype.hasOwnProperty.call(j,_)){let z=`${ut}${a}${_}`;P&&!g?k[_]=this.translate(z,{...i,defaultValue:Me(W)?W[_]:void 0,joinArrays:!1,ns:d}):k[_]=this.translate(z,{...i,joinArrays:!1,ns:d}),k[_]===z&&(k[_]=j[_])}g=k}}else if(v&&I(S)&&Array.isArray(g))g=g.join(S),g&&(g=this.extendTranslation(g,e,i,r));else{let D=!1,k=!1;!this.isValidLookup(g)&&P&&(D=!0,g=W),this.isValidLookup(g)||(k=!0,g=s);let _=(i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&k?void 0:g,z=P&&W!==g&&this.options.updateMissing;if(k||D||z){if(this.logger.log(z?"updateKey":"missingKey",p,f,N&&!z?`${s}${this.pluralResolver.getSuffix(p,i.count,i)}`:s,z?W: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 he=[],xe=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo==="fallback"&&xe&&xe[0])for(let V=0;V<xe.length;V++)he.push(xe[V]);else this.options.saveMissingTo==="all"?he=this.languageUtils.toResolveHierarchy(i.lng||this.language):he.push(i.lng||this.language);let ht=(V,J,me)=>{let mt=P&&me!==g?me:_;this.options.missingKeyHandler?this.options.missingKeyHandler(V,f,J,mt,z,i):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(V,f,J,mt,z,i),this.emit("missingKey",V,f,J,g)};this.options.saveMissing&&(this.options.saveMissingPlurals&&N?he.forEach(V=>{let J=this.pluralResolver.getSuffixes(V,i);lt&&i[`defaultValue${this.options.pluralSeparator}zero`]&&!J.includes(`${this.options.pluralSeparator}zero`)&&J.push(`${this.options.pluralSeparator}zero`),J.forEach(me=>{ht([V],s+me,i[`defaultValue${me}`]||W)})}):ht(he,s,W))}g=this.extendTranslation(g,e,i,h,r),k&&g===s&&this.options.appendNamespaceToMissingKey&&(g=`${f}${c}${s}`),(k||D)&&this.options.parseMissingKeyHandler&&(g=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${f}${c}${s}`:s,D?g:void 0,i))}return o?(h.res=g,h.usedParams=this.getUsedParamsDetails(i),h):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 d=I(e)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables),f;if(d){let p=e.match(this.interpolator.nestingRegexp);f=p&&p.length}let c=r.replace&&!I(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(c={...this.options.interpolation.defaultVariables,...c}),e=this.interpolator.interpolate(e,c,r.lng||this.language||i.usedLng,r),d){let p=e.match(this.interpolator.nestingRegexp),u=p&&p.length;f<u&&(r.nest=!1)}!r.lng&&i&&i.res&&(r.lng=this.language||i.usedLng),r.nest!==!1&&(e=this.interpolator.nest(e,(...p)=>o?.[0]===p[0]&&!r.context?(this.logger.warn(`It seems you are nesting recursively key: ${p[0]} in key: ${t[0]}`),null):this.translate(...p,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=bt.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]),Array.isArray(e)&&(e=e.map(d=>typeof d=="function"?te(d,{...this.options,...t}):d)),e.forEach(d=>{if(this.isValidLookup(r))return;let f=this.extractFromKey(d,t),c=f.key;i=c;let p=f.namespaces;this.options.fallbackNS&&(p=p.concat(this.options.fallbackNS));let u=t.count!==void 0&&!I(t.count),h=u&&!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);p.forEach(b=>{this.isValidLookup(r)||(s=b,!this.checkedLoadedFor[`${C[0]}-${b}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(s)&&(this.checkedLoadedFor[`${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(A=>{if(this.isValidLookup(r))return;a=A;let S=[c];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(S,c,A,b,t);else{let N;u&&(N=this.pluralResolver.getSuffix(A,t.count,t));let P=`${this.options.pluralSeparator}zero`,Q=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(u&&(t.ordinal&&N.startsWith(Q)&&S.push(c+N.replace(Q,this.options.pluralSeparator)),S.push(c+N),h&&S.push(c+P)),g){let ee=`${c}${this.options.contextSeparator||"_"}${t.context}`;S.push(ee),u&&(t.ordinal&&N.startsWith(Q)&&S.push(ee+N.replace(Q,this.options.pluralSeparator)),S.push(ee+N),h&&S.push(ee+P))}}let v;for(;v=S.pop();)this.isValidLookup(r)||(o=v,r=this.getResource(A,b,v,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)&&r.startsWith(t)&&e[r]!==void 0)return!0;return!1}},be=class{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=F.create("languageUtils")}getScriptPartFromCode(e){if(e=ye(e),!e||!e.includes("-"))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=ye(e),!e||!e.includes("-"))return e;let t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(I(e)&&e.includes("-")){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.includes(e)}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=>a===o?!0:!a.includes("-")&&!o.includes("-")?!1:!!(a.includes("-")&&!o.includes("-")&&a.slice(0,a.indexOf("-"))===o||a.startsWith(o)&&o.length>1))}),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.includes("-")||e.includes("_"))?(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.includes(a)||o(this.formatLanguageCode(a))}),i}},Tt={zero:0,one:1,two:2,few:3,many:4,other:5},xt={select:n=>n===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})},Ye=class{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=F.create("pluralResolver"),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let r=ye(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!"),xt;if(!e.match(/-|_/))return xt;let d=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(d,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)=>Tt[i]-Tt[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))}},Ct=(n,e,t,r=".",i=!0)=>{let o=fr(n,e,t);return!o&&i&&I(t)&&(o=We(n,t,r),o===void 0&&(o=We(e,t,r))),o},Ke=n=>n.replace(/\$/g,"$$$$"),Le=class{constructor(e={}){this.logger=F.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:d,formatSeparator:f,unescapeSuffix:c,unescapePrefix:p,nestingPrefix:u,nestingPrefixEscaped:h,nestingSuffix:g,nestingSuffixEscaped:C,nestingOptionsSeparator:b,maxReplaces:A,alwaysFormat:S}=e.interpolation;this.escape=t!==void 0?t:pr,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=i!==void 0?i:!1,this.prefix=o?B(o):a||"{{",this.suffix=s?B(s):d||"}}",this.formatSeparator=f||",",this.unescapePrefix=c?"":p?B(p):"-",this.unescapeSuffix=this.unescapePrefix?"":c?B(c):"",this.nestingPrefix=u?B(u):h||B("$t("),this.nestingSuffix=g?B(g):C||B(")"),this.nestingOptionsSeparator=b||",",this.maxReplaces=A||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,d=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},f=h=>{if(!h.includes(this.formatSeparator)){let A=Ct(t,d,h,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(A,void 0,r,{...i,...t,interpolationkey:h}):A}let g=h.split(this.formatSeparator),C=g.shift().trim(),b=g.join(this.formatSeparator).trim();return this.format(Ct(t,d,C,this.options.keySeparator,this.options.ignoreJSONStructure),b,r,{...i,...t,interpolationkey:C})};this.resetRegExp(),!this.escapeValue&&typeof e=="string"&&/\$t\([^)]*\{[^}]*\{\{/.test(e)&&this.logger.warn("nesting options string contains interpolated variables with escapeValue: false \u2014 if any of those values are attacker-controlled they can inject additional nesting options (e.g. redirect lng/ns). Sanitise untrusted input before passing it to t(), or keep escapeValue: true.");let c=i?.missingInterpolationHandler||this.options.missingInterpolationHandler,p=i?.interpolation?.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:h=>Ke(h)},{regex:this.regexp,safeValue:h=>this.escapeValue?Ke(this.escape(h)):Ke(h)}].forEach(h=>{for(s=0;o=h.regex.exec(e);){let g=o[1].trim();if(a=f(g),a===void 0)if(typeof c=="function"){let b=c(e,o,i);a=I(b)?b:""}else if(i&&Object.prototype.hasOwnProperty.call(i,g))a="";else if(p){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=h.safeValue(a);if(e=e.replace(o[0],C),p?(h.regex.lastIndex+=a.length,h.regex.lastIndex-=o[0].length):h.regex.lastIndex=0,s++,s>=this.maxReplaces)break}}),e}nest(e,t,r={}){let i,o,a,s=(d,f)=>{let c=this.nestingOptionsSeparator;if(!d.includes(c))return d;let p=d.split(new RegExp(`${B(c)}[ ]*{`)),u=`{${p[1]}`;d=p[0],u=this.interpolate(u,a);let h=u.match(/'/g),g=u.match(/"/g);((h?.length??0)%2===0&&!g||(g?.length??0)%2!==0)&&(u=u.replace(/'/g,'"'));try{a=JSON.parse(u),f&&(a={...f,...a})}catch(C){return this.logger.warn(`failed parsing options string in nesting for key ${d}`,C),`${d}${c}${u}`}return a.defaultValue&&a.defaultValue.includes(this.prefix)&&delete a.defaultValue,d};for(;i=this.nestingRegexp.exec(e);){let d=[];a={...r},a=a.replace&&!I(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let f=/{.*}/.test(i[1])?i[1].lastIndexOf("}")+1:i[1].indexOf(this.formatSeparator);if(f!==-1&&(d=i[1].slice(f).split(this.formatSeparator).map(c=>c.trim()).filter(Boolean),i[1]=i[1].slice(0,f)),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=""),d.length&&(o=d.reduce((c,p)=>this.format(c,p,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),e=e.replace(i[0],o),this.regexp.lastIndex=0}return e}},Ir=n=>{let e=n.toLowerCase().trim(),t={};if(n.includes("(")){let r=n.split("(");e=r[0].toLowerCase().trim();let i=r[1].slice(0,-1);e==="currency"&&!i.includes(":")?t.currency||(t.currency=i.trim()):e==="relativetime"&&!i.includes(":")?t.range||(t.range=i.trim()):i.split(";").forEach(a=>{if(a){let[s,...d]=a.split(":"),f=d.join(":").trim().replace(/^'+|'+$/g,""),c=s.trim();t[c]||(t[c]=f),f==="false"&&(t[c]=!1),f==="true"&&(t[c]=!0),isNaN(f)||(t[c]=parseInt(f,10))}})}return{formatName:e,formatOptions:t}},St=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(ye(r),i),e[a]=s),s(t)}},yr=n=>(e,t,r)=>n(ye(t),r)(e),Je=class{constructor(e={}){this.logger=F.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";let r=t.cacheInBuiltFormats?St:yr;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()]=St(t)}format(e,t,r,i={}){if(!t||e==null)return e;let o=t.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&!o[0].includes(")")&&o.find(s=>s.includes(")"))){let s=o.findIndex(d=>d.includes(")"));o[0]=[o[0],...o.splice(1,s)].join(this.formatSeparator)}return o.reduce((s,d)=>{let{formatName:f,formatOptions:c}=Ir(d);if(this.formats[f]){let p=s;try{let u=i?.formatParams?.[i.interpolationkey]||{},h=u.locale||u.lng||i.locale||i.lng||r;p=this.formats[f](s,h,{...c,...i,...u})}catch(u){this.logger.warn(u)}return p}else this.logger.warn(`there was no format function for ${f}`);return s},e)}},Nr=(n,e)=>{n.pending[e]!==void 0&&(delete n.pending[e],n.pendingCount--)},Xe=class extends re{constructor(e,t,r,i={}){super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=F.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={},d={};return e.forEach(f=>{let c=!0;t.forEach(p=>{let u=`${f}|${p}`;!r.reload&&this.store.hasResourceBundle(f,p)?this.state[u]=2:this.state[u]<0||(this.state[u]===1?a[u]===void 0&&(a[u]=!0):(this.state[u]=1,c=!1,a[u]===void 0&&(a[u]=!0),o[u]===void 0&&(o[u]=!0),d[p]===void 0&&(d[p]=!0)))}),c||(s[f]=!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(d)}}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(d=>{dr(d.loaded,[o],a),Nr(d,e),t&&d.errors.push(t),d.pendingCount===0&&!d.done&&(Object.keys(d.loaded).forEach(f=>{s[f]||(s[f]={});let c=d.loaded[f];c.length&&c.forEach(p=>{s[f][p]===void 0&&(s[f][p]=!0)})}),d.done=!0,d.errors.length?d.callback(d.errors):d.callback())}),this.emit("loaded",s),this.queue=this.queue.filter(d=>!d.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=(f,c)=>{if(this.readingCalls--,this.waitingReads.length>0){let p=this.waitingReads.shift();this.read(p.lng,p.ns,p.fcName,p.tried,p.wait,p.callback)}if(f&&c&&i<this.maxRetries){setTimeout(()=>{this.read(e,t,r,i+1,o*2,a)},o);return}a(f,c)},d=this.backend[r].bind(this.backend);if(d.length===2){try{let f=d(e,t);f&&typeof f.then=="function"?f.then(c=>s(null,c)).catch(s):s(null,f)}catch(f){s(f)}return}return d(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 d={...a,isUpdate:o},f=this.backend.create.bind(this.backend);if(f.length<6)try{let c;f.length===5?c=f(e,t,r,i,d):c=f(e,t,r,i),c&&typeof c.then=="function"?c.then(p=>s(null,p)).catch(s):s(null,c)}catch(c){s(c)}else f(e,t,r,i,s,d)}!e||!e[0]||this.store.addResource(e[0],t,r,i)}}},Be=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",enableSelector:!1,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,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),Gt=n=>(I(n.ns)&&(n.ns=[n.ns]),I(n.fallbackLng)&&(n.fallbackLng=[n.fallbackLng]),I(n.fallbackNS)&&(n.fallbackNS=[n.fallbackNS]),n.supportedLngs&&!n.supportedLngs.includes("cimode")&&(n.supportedLngs=n.supportedLngs.concat(["cimode"])),n),Ce=()=>{},Tr=n=>{Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach(t=>{typeof n[t]=="function"&&(n[t]=n[t].bind(n))})},qe=class n extends re{constructor(e={},t){if(super(),this.options=Gt(e),this.services={},this.logger=F,this.modules={external:[]},Tr(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.includes("translation")||(e.defaultNS=e.ns[0]));let r=Be();this.options={...r,...this.options,...Gt(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);let i=f=>f?typeof f=="function"?new f:f:null;if(!this.options.isClone){this.modules.logger?F.init(i(this.modules.logger),this.options):F.init(null,this.options);let f;this.modules.formatter?f=this.modules.formatter:f=Je;let c=new be(this.options);this.store=new Ge(this.options.resources,this.options);let p=this.services;p.logger=F,p.resourceStore=this.store,p.languageUtils=c,p.pluralResolver=new Ye(c,{prepend:this.options.pluralSeparator}),f&&(p.formatter=i(f),p.formatter.init&&p.formatter.init(p,this.options),this.options.interpolation.format=p.formatter.format.bind(p.formatter)),p.interpolator=new Le(this.options),p.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},p.backendConnector=new Xe(i(this.modules.backend),p.resourceStore,p,this.options),p.backendConnector.on("*",(u,...h)=>{this.emit(u,...h)}),this.modules.languageDetector&&(p.languageDetector=i(this.modules.languageDetector),p.languageDetector.init&&p.languageDetector.init(p,this.options.detection,this.options)),this.modules.i18nFormat&&(p.i18nFormat=i(this.modules.i18nFormat),p.i18nFormat.init&&p.i18nFormat.init(this)),this.translator=new Pe(this.services,this.options),this.translator.on("*",(u,...h)=>{this.emit(u,...h)}),this.modules.external.forEach(u=>{u.init&&u.init(this)})}if(this.format=this.options.interpolation.format,t||(t=Ce),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let f=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);f.length>0&&f[0]!=="dev"&&(this.options.lng=f[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(f=>{this[f]=(...c)=>this.store[f](...c)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(f=>{this[f]=(...c)=>(this.store[f](...c),this)});let s=ge(),d=()=>{let f=(c,p)=>{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(p),t(c,p)};if((this.languages||this.isLanguageChangingTo)&&!this.isInitialized)return f(null,this.t.bind(this));this.changeLanguage(this.options.lng,f)};return this.options.resources||!this.options.initAsync?d():setTimeout(d,0),s}loadResources(e,t=Ce){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(f=>{f!=="cimode"&&(o.includes(f)||o.push(f))})};i?a(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(d=>a(d)),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=ge();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=Ce),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"&&bt.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"].includes(e)){for(let t=0;t<this.languages.length;t++){let r=this.languages[t];if(!["cimode","dev"].includes(r)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}!this.resolvedLanguage&&!this.languages.includes(e)&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;let r=ge();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,d)=>{d?this.isLanguageChangingTo===e&&(i(d),this.translator.changeLanguage(d),this.isLanguageChangingTo=void 0,this.emit("languageChanged",d),this.logger.log("languageChanged",d)):this.isLanguageChangingTo=void 0,r.resolve((...f)=>this.t(...f)),t&&t(s,(...f)=>this.t(...f))},a=s=>{!e&&!s&&this.services.languageDetector&&(s=[]);let d=I(s)?s:s&&s[0],f=this.store.hasLanguageSomeTranslations(d)?d:this.services.languageUtils.getBestMatchFromCodes(I(s)?[s]:s);f&&(this.language||i(f),this.translator.language||this.translator.changeLanguage(f),this.services.languageDetector?.cacheUserLanguage?.(f)),this.loadResources(f,c=>{o(c,f)})};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,i){let o=i?.scopeNs,a=(s,d,...f)=>{let c;typeof d!="object"?c=this.options.overloadTranslationOptionHandler([s,d].concat(f)):c={...d},c.lng=c.lng||a.lng,c.lngs=c.lngs||a.lngs;let p=c.ns!==void 0&&c.ns!==null;c.ns=c.ns||a.ns,c.keyPrefix!==""&&(c.keyPrefix=c.keyPrefix||r||a.keyPrefix);let u={...this.options,...c};Array.isArray(o)&&!p&&(u.ns=o),typeof c.keyPrefix=="function"&&(c.keyPrefix=te(c.keyPrefix,u));let h=this.options.keySeparator||".",g;return c.keyPrefix&&Array.isArray(s)?g=s.map(C=>(typeof C=="function"&&(C=te(C,u)),`${c.keyPrefix}${h}${C}`)):(typeof s=="function"&&(s=te(s,u)),g=c.keyPrefix?`${c.keyPrefix}${h}${s}`:s),this.t(g,c)};return I(e)?a.lng=e:a.lngs=e,a.ns=t,a.keyPrefix=r,a}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,d)=>{let f=this.services.backendConnector.state[`${s}|${d}`];return f===-1||f===0||f===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=ge();return this.options.ns?(I(e)&&(e=[e]),e.forEach(i=>{this.options.ns.includes(i)||this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),t&&t(i)}),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){let r=ge();I(e)&&(e=[e]);let i=this.options.preload||[],o=e.filter(a=>!i.includes(a)&&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 be(Be());return e.toLowerCase().indexOf("-latn")>1?"ltr":t.includes(r.getLanguagePartFromCode(e))||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=Ce){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((d,f)=>(d[f]={...this.store.data[f]},d[f]=Object.keys(d[f]).reduce((c,p)=>(c[p]={...d[f][p]},c),d[f]),d),{});o.store=new Ge(s,i),o.services.resourceStore=o.store}if(e.interpolation){let d={...Be().interpolation,...this.options.interpolation,...e.interpolation},f={...i,interpolation:d};o.services.interpolator=new Le(f)}return o.translator=new Pe(o.services,i),o.translator.on("*",(s,...d)=>{o.emit(s,...d)}),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(),Ri=L.createInstance,Di=L.dir,Ei=L.init,Ai=L.loadResources,vi=L.reloadResources,Vi=L.use,wi=L.changeLanguage,Oi=L.getFixedT,ki=L.t,$i=L.exists,ji=L.setDefaultNamespace,_i=L.hasLoadedNamespace,zi=L.loadNamespaces,Fi=L.loadLanguages;var Rt={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 Dt={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 Gr="aidct_gs1",Pr={en:{aidct_gs1:Rt},fr:{aidct_gs1:Dt}},m=L.createInstance();async function Xi(n,e=!1){return Cr(m,n,e,Gr,Pr,xr,Sr)}import{CharacterSetCreator as Et,CharacterSetValidator as br,Exclusions as At,utilityNS as Lr}from"@aidc-toolkit/utility";var Ne=new Et(["!",'"',"%","&","'","(",")","*","+",",","-",".","/","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"],At.AllNumeric),en=Ne,Qe=new Et(["#","-","/","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"],At.AllNumeric),tn=Qe,Ze=class extends br{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(m.t("AI64CharacterSetValidator.lengthMustBeMultipleOf4",{length:r}));let i=e.search(/={1,2}/u);if(i!==-1&&i<r-2)throw new RangeError(m.t("CharacterSetValidator.invalidCharacterAtPosition",{ns:Lr,c:"=",position:i}))}},rn=new Ze;import{NUMERIC_CREATOR as Te,utilityNS as tt}from"@aidc-toolkit/utility";var kt=[0,3,6,9,12,15,18,21,24,27],Re=[0,2,4,6,8,9,1,3,5,7],vt=[0,5,1,6,2,7,3,8,4,9],Vt=[0,5,9,4,8,3,7,2,6,1],Rr=[0,9,7,5,3,1,8,6,4,2];function De(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(m.t("CharacterSetValidator.invalidCharacterAtPosition",{ns:tt,c:e.charAt(o),position:o+1}));return t=!t,r+(t?kt[i]:i)},0)}function H(n){return Te.character(9-(De(!1,n)+9)%10)}function ie(n){return De(!0,n)%10===0}function wt(n,e){return Te.characterIndexes(e).reduce((t,r,i)=>{if(r===void 0)throw new RangeError(m.t("CharacterSetValidator.invalidCharacterAtPositionOfComponent",{ns:tt,c:e.charAt(i),position:i+1,component:m.t("Check.priceOrWeightComponent")}));return t+n[i][r]},0)}function rt(n){let e;switch(n.length){case 4:e=Te.character(wt([Re,Re,kt,Vt],n)*3%10);break;case 5:e=Te.character(Rr[9-(wt([vt,Re,Vt,vt,Re],n)+9)%10]);break;default:throw new RangeError(m.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],Ot=["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(m.t("Check.lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo",{length:n.length,maximumLength:et.length}));let t=Ne.characterIndexes(n).reduce((i,o,a)=>{if(o===void 0)throw new RangeError(m.t("CharacterSetValidator.invalidCharacterAtPosition",{ns:tt,c:n.charAt(a),position:a+1}));return i+o*et[e+a]},0)%1021,r=t%32;return Ot[(t-r)/32]+Ot[r]}function jt(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 _t}from"@aidc-toolkit/utility";var zt=4,Ft=12,nt=5,ot=11,at=2,st=7,Dr={minimumLength:zt,maximumLength:Ft,component:()=>m.t("Prefix.gs1CompanyPrefix")},Er={minimumLength:nt+1,maximumLength:ot+1,component:()=>m.t("Prefix.gs1CompanyPrefix")},Ar={minimumLength:at+5,maximumLength:st+5,component:()=>m.t("Prefix.gs1CompanyPrefix")},vr={minimumLength:nt,maximumLength:ot,component:()=>m.t("Prefix.upcCompanyPrefix")},Vr={minimumLength:at,maximumLength:st,component:()=>m.t("Prefix.gs18Prefix")},Y={GS1_COMPANY_PREFIX_MINIMUM_LENGTH:zt,GS1_COMPANY_PREFIX_MAXIMUM_LENGTH:Ft,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=Dr;else if(r.startsWith("00000")){if(r.startsWith("000000"))throw new RangeError(m.t(a??"Prefix.gs1CompanyPrefixCantStartWith000000"));if(!t)throw new RangeError(m.t(a??"Prefix.gs1CompanyPrefixCantStartWith00000"));s=Ar}else{if(!e)throw new RangeError(m.t(a??"Prefix.gs1CompanyPrefixCantStartWith0"));s=Er}break;case y.UPCCompanyPrefix:if(r.startsWith("0000"))throw new RangeError(m.t("Prefix.upcCompanyPrefixCantStartWith0000"));s=vr;break;case y.GS18Prefix:if(r.startsWith("0"))throw new RangeError(m.t("Prefix.gs18PrefixCantStartWith0"));s=Vr;break}i?o||_t.validate(r.substring(0,Math.min(s.minimumLength,r.length-1)),s):_t.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 wr}from"@aidc-toolkit/core";var U=wr(l,l.GTIN,l.GLN,l.SSCC,l.GRAI,l.GSRN,l.GDTI,l.GSIN,l.GCN);import{pick as Or}from"@aidc-toolkit/core";var Ee=Or(U,U.GTIN);import{exclude as kr}from"@aidc-toolkit/core";var M=kr(U,Ee);import{pick as $r}from"@aidc-toolkit/core";var Ae=$r(M,M.GLN,M.SSCC,M.GSRN,M.GSIN);import{exclude as jr}from"@aidc-toolkit/core";var Mt=jr(M,Ae);import{exclude as _r}from"@aidc-toolkit/core";var Kt=_r(l,U);import{omit as zr}from"@aidc-toolkit/core";var T={GTIN13:13,GTIN12:12,GTIN8:8,GTIN14:14},X=zr(T,"GTIN14"),Bt={[y.GS1CompanyPrefix]:T.GTIN13,[y.UPCCompanyPrefix]:T.GTIN12,[y.GS18Prefix]:T.GTIN8};function ne(n){return n.identifierType in U}function oe(n){return n.identifierType in Ee}function ae(n){return n.identifierType in M}function se(n){return n.identifierType in Ae}function de(n){return n.identifierType in Mt}function fe(n){return n.identifierType in Kt}var Fr={identifierType:l.GTIN,prefixType:y.GS1CompanyPrefix,length:X.GTIN13,referenceCharacterSet:x.Numeric,leaderType:G.IndicatorDigit},Mr={identifierType:l.GTIN,prefixType:y.UPCCompanyPrefix,length:X.GTIN12,referenceCharacterSet:x.Numeric,leaderType:G.IndicatorDigit},Kr={identifierType:l.GTIN,prefixType:y.GS18Prefix,length:X.GTIN8,referenceCharacterSet:x.Numeric,leaderType:G.IndicatorDigit},Br={[X.GTIN13]:Fr,[X.GTIN12]:Mr,[X.GTIN8]:Kr},Ur={identifierType:l.GLN,prefixType:y.GS1CompanyPrefix,length:13,referenceCharacterSet:x.Numeric,leaderType:G.None},Wr={identifierType:l.SSCC,prefixType:y.GS1CompanyPrefix,length:18,referenceCharacterSet:x.Numeric,leaderType:G.ExtensionDigit},Hr={identifierType:l.GRAI,prefixType:y.GS1CompanyPrefix,length:13,referenceCharacterSet:x.Numeric,leaderType:G.None,serialComponentLength:16,serialComponentCharacterSet:x.AI82},Yr={identifierType:l.GIAI,prefixType:y.GS1CompanyPrefix,length:30,referenceCharacterSet:x.AI82,requiresCheckCharacterPair:!1},Jr={identifierType:l.GSRN,prefixType:y.GS1CompanyPrefix,length:18,referenceCharacterSet:x.Numeric,leaderType:G.None},Xr={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},Zr={identifierType:l.GSIN,prefixType:y.GS1CompanyPrefix,length:17,referenceCharacterSet:x.Numeric,leaderType:G.None},Qr={identifierType:l.GCN,prefixType:y.GS1CompanyPrefix,length:13,referenceCharacterSet:x.Numeric,leaderType:G.None,serialComponentLength:12,serialComponentCharacterSet:x.Numeric},ei={identifierType:l.CPID,prefixType:y.GS1CompanyPrefix,length:30,referenceCharacterSet:x.AI39,requiresCheckCharacterPair:!1},ti={identifierType:l.GMN,prefixType:y.GS1CompanyPrefix,length:25,referenceCharacterSet:x.AI82,requiresCheckCharacterPair:!0},K={[l.GTIN]:Br,[l.GLN]:Ur,[l.SSCC]:Wr,[l.GRAI]:Hr,[l.GIAI]:Yr,[l.GSRN]:Jr,[l.GDTI]:Xr,[l.GINC]:qr,[l.GSIN]:Zr,[l.GCN]:Qr,[l.CPID]:ei,[l.GMN]:ti};function Ut(n){return!("identifierType"in n)}function eo(n){return ne(n)}function to(n){return oe(n)}function ro(n){return ae(n)}function io(n){return se(n)}function no(n){return de(n)}function oo(n){return fe(n)}import{NUMERIC_CREATOR as ri}from"@aidc-toolkit/utility";var ve={[x.Numeric]:ri,[x.AI82]:Ne,[x.AI39]:Qe};var ce=class{#t;#e;#r;#i;constructor(e){this.#t=e.identifierType,this.#e=e.length,this.#r=e.referenceCharacterSet,this.#i=ve[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){Y.validate(this.prefixType,!0,!1,e,!0,this.referenceCharacterSet===x.Numeric)}};var pe=class extends ce{#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(m.t("Identifier.identifierTypeLength",{identifierType:this.identifierType,length:this.length}));if(!ie(this.padIdentifier(e,t?.positionOffset)))throw new RangeError(m.t("Identifier.invalidCheckDigit"))}};import{NUMERIC_CREATOR as Wt}from"@aidc-toolkit/utility";var R={Any:0,RetailConsumer:1,OtherThanRetailConsumer:2},E=class n extends pe{static#t={minimumLength:0,maximumLength:1,component:()=>m.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=K.GTIN[e];super(t),this.#i=t.prefixType}get prefixType(){return this.#i}validatePrefix(e){Y.validate(this.prefixType,!1,!1,e,!0,!0)}static zeroSuppress(e){dt.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(m.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(m.t("Identifier.invalidZeroSuppressedGTIN12"));return dt.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(m.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(m.t("Identifier.invalidZeroSuppressedGTIN12AsGTIN14"));break;default:throw new RangeError(m.t("Identifier.invalidGTINLength"))}return n.validateAny(r),r}static validateAny(e,t=R.Any){let r=e,i,o=!1,a=!1,s=e,d;switch(e.length){case T.GTIN13:i=y.GS1CompanyPrefix,o=t!==R.RetailConsumer,a=t===R.Any,d=R.Any;break;case T.GTIN12:i=y.UPCCompanyPrefix,d=R.Any;break;case T.GTIN8:e.startsWith("0")?(r=n.zeroExpand(e),i=void 0):i=y.GS18Prefix,d=R.RetailConsumer;break;case T.GTIN14:i=y.GS1CompanyPrefix,o=!0,a=t!==R.OtherThanRetailConsumer||!e.startsWith("0"),s=e.substring(1),d=R.OtherThanRetailConsumer;break;default:throw new RangeError(m.t("Identifier.invalidGTINLength"))}if(i!==void 0&&Y.validate(i,o,a,s,!0,!0,n.#r[t]),!ie(r))throw new RangeError(m.t("Identifier.invalidCheckDigit"));if(t!==R.Any&&d!==R.Any&&d!==t)throw new RangeError(m.t(t===R.RetailConsumer?"Identifier.invalidGTINAtRetail":"Identifier.invalidGTINAtOtherThanRetail"))}static validateGTIN14(e){if(e.length!==T.GTIN14)throw new RangeError(m.t("Identifier.invalidGTIN14Length"));n.validateAny(e)}},ii=new E(T.GTIN13),dt=new E(T.GTIN12),ni=new E(T.GTIN8),Ht={[T.GTIN13]:ii,[T.GTIN12]:dt,[T.GTIN8]:ni};var le=class extends pe{};var w=class extends le{constructor(e){super(K[e])}};var $=class extends le{#t;#e;#r;#i;constructor(e){let t=K[e];super(t),this.#t=t.serialComponentLength,this.#e=t.serialComponentCharacterSet,this.#r={minimumLength:1,maximumLength:t.serialComponentLength,component:()=>m.t("Identifier.serialComponent")},this.#i=ve[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 oi,RegExpValidator as ai}from"@aidc-toolkit/utility";var O=class n extends ce{static#t=new class extends ai{createErrorMessage(e){return m.t("Identifier.referenceCantBeAllNumeric")}}(/\D/u);#e;constructor(e){let t=K[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(!jt(this.padIdentifier(e)))throw new RangeError(m.t("Identifier.invalidCheckCharacterPair"));t?.exclusion===oi.AllNumeric&&n.#t.validate(r)}};var si=new w(l.GLN),di=new w(l.SSCC),fi=new $(l.GRAI),ci=new O(l.GIAI),pi=new w(l.GSRN),li=new $(l.GDTI),ui=new O(l.GINC),hi=new w(l.GSIN),mi=new $(l.GCN),gi=new O(l.CPID),Ii=new O(l.GMN),Ve={[l.GTIN]:Ht,[l.GLN]:si,[l.SSCC]:di,[l.GRAI]:fi,[l.GIAI]:ci,[l.GSRN]:pi,[l.GDTI]:li,[l.GINC]:ui,[l.GSIN]:hi,[l.GCN]:mi,[l.CPID]:gi,[l.GMN]:Ii},ta={GTIN:E,GLN:w,SSCC:w,GRAI:$,GIAI:O,GSRN:w,GDTI:$,GINC:O,GSIN:w,GCN:$,CPID:O,GMN:O};function ra(n){return Ut(n)}function Yt(n){return ne(n)}function ia(n){return oe(n)}function na(n){return ae(n)}function oa(n){return se(n)}function aa(n){return de(n)}function sa(n){return fe(n)}var Jt="https://www.gs1.org/services/verified-by-gs1/results?";function la(n,e,t=void 0,r){let i,o;n===l.GTIN?(i=E.normalize(e),o=!0):(Ve[n].validate(e),i=e,o=n===l.GLN);let a=n.toLowerCase();return{reference:o?`${Jt}${a}=${i}`:`${Jt}key=${i}&key_type=${a}`,text:t??e,details:r}}import{Exclusions as Ti,NUMERIC_CREATOR as Xt}from"@aidc-toolkit/utility";import{CharacterSetCreator as yi,Exclusions as Ni,NUMERIC_CREATOR as Oe}from"@aidc-toolkit/utility";function we(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 ke(n){class e extends we(n){#t;#e=0n;constructor(r,i,...o){super(r,i,1,...o),this.#t=Number(yi.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 Oe.create(this.referenceLength,r,Ni.None,i===!0?this.tweak:void 0,o=>this.#r(o))}static*createAllPartial(r,i,o,a,s){if(i===0)yield r+Oe.character(9-(s+9)%10);else{let d=i-1,f=s;if(o!==0)for(let c of Oe.characterSet)yield*e.createAllPartial(c+r,d,0,a,f),f+=o;else{let c=4-a;for(let p of Oe.characterSet)yield*e.createAllPartial(r+p,d,0,c,f),f+=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,De(s===3,i))}}}}return e}var $e=class n extends ke(E){static#t={minimumLength:1,maximumLength:1,component:()=>m.t("Identifier.indicatorDigit")};constructor(e,t){super(e,e.prefix,t)}get prefix(){return this.prefixProvider.prefix}createGTIN14(e,t,r){return Xt.validate(e,n.#t),Xt.create(T.GTIN13-this.prefixProvider.gs1CompanyPrefix.length-1,t,Ti.None,r===!0?this.tweak:void 0,i=>{let o=e+this.prefixProvider.gs1CompanyPrefix+i;return o+H(o)})}};function je(n){class e extends ke(n){constructor(r,...i){super(r,r.gs1CompanyPrefix,...i)}}return e}var q=class extends je(w){};import{mapIterable as xi}from"@aidc-toolkit/utility";var ue=class extends je($){#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):xi(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 Ci}from"@aidc-toolkit/utility";var Z=class extends we(O){#t;constructor(e,t){super(e,e.gs1CompanyPrefix,2*Number(K[t].requiresCheckCharacterPair),t),this.#t={minimumLength:1,maximumLength:this.referenceLength,component:()=>m.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 d=i+s;return o?d+it(d):d}return typeof e!="object"?a(e):Ci(e,a)}};var ft={GTIN:$e,GLN:q,SSCC:q,GRAI:ue,GIAI:Z,GSRN:q,GDTI:ue,GINC:Z,GSIN:q,GCN:ue,CPID:Z,GMN:Z};function qt(n){return ne(n)}function Ja(n){return oe(n)}function Xa(n){return ae(n)}function qa(n){return se(n)}function Za(n){return de(n)}function Qa(n){return fe(n)}import{NUMERIC_CREATOR as _e}from"@aidc-toolkit/utility";var Zt=class{static parseRCN(e,t){let r=e.length;if(t.length!==r)throw new RangeError(m.t("Identifier.invalidRCNLength"));let i=r===12||r===13,o=!0,a=!1,s="",d=!1,f="",c="";for(let p=0;i&&p<r;p++){let u=e.charAt(p),h=t.charAt(p);if(p===0)i=u==="2",o=h==="2";else if(r===13&&p===1)i=_e.characterIndex(u)!==void 0,o=h===u;else if(p===r-1)i=u==="C";else switch(u){case"I":a||(i=s==="",a=!0,d=!1),s+=h;break;case"P":d||(i=f==="",d=!0,a=!1),f+=h;break;case"V":i=c==="",a=!1,d=!1,c=h;break;default:i=!1;break}}if(i&&=s!==""&&f!=="",!i)throw new RangeError(m.t("Identifier.invalidVariableMeasureRCNFormat"));if(!o)throw new RangeError(m.t("Identifier.invalidVariableMeasureRCNPrefix"));if(c!==""&&!$t(f,c))throw new RangeError(m.t("Identifier.invalidVariableMeasurePriceOrWeight"));if(!ie(t))throw new RangeError(m.t("Identifier.invalidCheckDigit"));return{itemReference:Number(s),priceOrWeight:Number(f)}}static createRCN(e,t,r){let i=e.length,o=i===12||i===13,a="",s=!1,d="",f=0,c=!1,p="",u=0,h=!1,g=N=>N+a,C=N=>N+d,b=N=>N+p,A=N=>N+rt(p),S=N=>N+H(N),v=[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=_e.characterIndex(P)!==void 0,a+=P;else if(N===i-1)o=P==="C";else switch(P){case"I":s||(o=f===0,s=!0,c=!1,v.push(C)),f++;break;case"P":c||(o=u===0,c=!0,s=!1,v.push(b)),u++;break;case"V":o=!h,s=!1,c=!1,h=!0,v.push(A);break;default:o=!1;break}}if(o&&=f!==0&&u!==0,!o)throw new RangeError(m.t("Identifier.invalidVariableMeasureRCNFormat"));return d=_e.create(f,t),p=_e.create(u,r),v.push(S),v.reduce((N,P)=>P(N),"")}};var Qt=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;#d;#o=0n;#f={};constructor(e,t){let r=Y.normalize(e,t);this.#r=r.prefixType,this.#i=r.prefix,this.#n=r.gs1CompanyPrefix,this.#a=r.upcCompanyPrefix,this.#s=r.gs18Prefix,this.#d=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.#f))this.#c(r)}}resetTweakFactor(){this.tweakFactor=this.#d}static get(e,t){let r=Y.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.#f[e];if(t===void 0){if(e===l.GTIN)t=new ft.GTIN(this,Bt[this.prefixType]);else{if(this.prefixType===y.GS18Prefix)throw new RangeError(m.t("Prefix.identifierTypeNotSupportedByGS18Prefix",{identifierType:e}));t=new ft[e](this,e)}this.#c(t),this.#f[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 ze(n){return typeof n=="object"&&"dateTime"in n&&n.dateTime instanceof Date&&"disclaimer"in n&&typeof n.disclaimer=="string"}function ct(n){return ze(n)&&"data"in n&&n.data instanceof Uint8Array}function er(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 ls(n){return typeof n=="object"&&"_disclaimer"in n&&"GCPPrefixFormatList"in n}import{Cache as Si,defaultHTTPFetch as Gi,omit as Pi,RemoteAppDataStorage as bi,WEBSITE_BASE_URL as Li}from"@aidc-toolkit/core";var pt=class n extends Si{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:ze(t)&&r instanceof Uint8Array?{...t,data:r}:void 0}}else{let e=await this.appDataStorage.read(n.APP_DATA_STORAGE_KEY);er(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,Pi(r,"data")),await this.appDataStorage.write(n.DATA_STORAGE_KEY,r.data))):await this.appDataStorage.write(n.APP_DATA_STORAGE_KEY,this.#e)}},tr=class n extends pt{static DEFAULT_BASE_URL=`${Li}/data`;#t;#e;constructor(e,t=n.DEFAULT_BASE_URL,r=Gi){super(e),this.#t=new bi(t,r)}async#r(e,t,r){return this.#t.read(e,t).then(i=>{if(i===void 0)throw new RangeError(m.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(!ze(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 rr}from"@aidc-toolkit/core";function Fe(n){return"length"in n}var ir=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(m.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 d;if(s===n.#e){let f=[];i=n.#n(e,f,i),d={childNodes:f}}else d={length:s};t[a]=d}}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(Fe(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?Fe(e)?e.length:n.#e:n.#t}static#d(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&&!Fe(a)&&(i=n.#d(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 d=await t.sourceData,f;if(ct(d)){let c=[];n.#n(d.data,c,0),e={dateTime:d.dateTime,disclaimer:d.disclaimer,childNodes:c},f=d}else{let c={childNodes:[]},p=1;for(let h of d.GCPPrefixFormatList.entry)p+=n.#a(c,h.prefix,h.gcpLength);e={dateTime:new Date(d.GCPPrefixFormatList.date),disclaimer:`${d._disclaimer.reduce((h,g)=>(h.length===0||h[h.length-1]===""||g===""?h.push(g):h.push(`${h.pop()} ${g}`),h),[]).join(`
2
2
  `)}
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};
3
+ `,...c};let u=new Uint8Array(p*5);n.#d(u,e,0),f={...rr(e,"childNodes"),data:u}}r=n.#o(s,7),r.getTime()<a.getTime()&&(r=a),i=s,await t.update(r,i,f)}else await t.update(a)}if(e===void 0&&i!==void 0){let s=await t.cacheData,d=[];n.#n(s.data,d,0),e={...rr(s,"data"),childNodes:d}}e!==void 0&&(this.#i=e)}lengthOf(e,t){let r;if(e===l.GTIN)r=E.normalize(t).padStart(T.GTIN14,"0").substring(1);else{let a=Ve[e];a.validate(t),r=!Yt(a)||a.leaderType!==G.ExtensionDigit?t:t.substring(1)}let i=this.root,o=0;for(;i!==void 0&&!Fe(i);)i=i.childNodes[Number(r.charAt(o++))];return i?.length??-1}};export{Qe as AI39_CREATOR,tn as AI39_VALIDATOR,rn as AI64_VALIDATOR,Ne as AI82_CREATOR,en as AI82_VALIDATOR,x as ContentCharacterSets,ir as GCPLength,pt as GCPLengthCache,X as GTINBaseLengths,$e as GTINCreator,T as GTINLengths,R as GTINLevels,Ee as GTINTypes,E as GTINValidator,Bt as GTIN_BASE_TYPES,ft as IdentifierCreatorConstructors,K as IdentifierDescriptors,l as IdentifierTypes,ce as IdentifierValidator,ta as IdentifierValidatorConstructors,Ve as IdentifierValidators,G as LeaderTypes,M as NonGTINNumericIdentifierTypes,le as NonGTINNumericIdentifierValidator,Z as NonNumericIdentifierCreator,Kt as NonNumericIdentifierTypes,O as NonNumericIdentifierValidator,q as NonSerializableNumericIdentifierCreator,Ae as NonSerializableNumericIdentifierTypes,w as NonSerializableNumericIdentifierValidator,U as NumericIdentifierTypes,pe as NumericIdentifierValidator,Qt as PrefixManager,y as PrefixTypes,Y as PrefixValidator,tr as RemoteGCPLengthCache,ue as SerializableNumericIdentifierCreator,Mt as SerializableNumericIdentifierTypes,$ as SerializableNumericIdentifierValidator,Zt as VariableMeasure,it as checkCharacterPair,H as checkDigit,De as checkDigitSum,Gr as gs1NS,Pr as gs1ResourceBundle,jt as hasValidCheckCharacterPair,ie as hasValidCheckDigit,Xi as i18nGS1Init,m as i18nextGS1,er as isGCPLengthAppData,ct as isGCPLengthData,ze as isGCPLengthHeader,ls as isGCPLengthSourceJSON,Ja as isGTINCreator,to as isGTINDescriptor,Ut as isGTINDescriptors,ia as isGTINValidator,ra as isGTINValidators,Xa as isNonGTINNumericIdentifierCreator,ro as isNonGTINNumericIdentifierDescriptor,na as isNonGTINNumericIdentifierValidator,Qa as isNonNumericIdentifierCreator,oo as isNonNumericIdentifierDescriptor,sa as isNonNumericIdentifierValidator,qa as isNonSerializableNumericIdentifierCreator,io as isNonSerializableNumericIdentifierDescriptor,oa as isNonSerializableNumericIdentifierValidator,qt as isNumericIdentifierCreator,eo as isNumericIdentifierDescriptor,Yt as isNumericIdentifierValidator,Za as isSerializableNumericIdentifierCreator,no as isSerializableNumericIdentifierDescriptor,aa as isSerializableNumericIdentifierValidator,$t as isValidPriceOrWeightCheckDigit,rt as priceOrWeightCheckDigit,la 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.49",
3
+ "version": "1.0.50",
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.46",
33
- "vitest": "^4.0.18"
32
+ "@aidc-toolkit/dev": "^1.0.47",
33
+ "vitest": "^4.1.8"
34
34
  },
35
35
  "dependencies": {
36
- "@aidc-toolkit/core": "^1.0.47",
37
- "@aidc-toolkit/utility": "^1.0.48"
36
+ "@aidc-toolkit/core": "^1.0.48",
37
+ "@aidc-toolkit/utility": "^1.0.49"
38
38
  }
39
39
  }
package/src/version.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * Repository version, updated automatically during publication.
3
3
  */
4
- export const VERSION = "1.0.49";
4
+ export const VERSION = "1.0.50";
@@ -188,7 +188,7 @@ describe("GS1 Company Prefix length", () => {
188
188
  // Binary not available, JSON 1 available.
189
189
  await expect(gcpLengthJSON1Source.load().then(() => {
190
190
  root1 = gcpLengthJSON1Source.root;
191
- })).resolves.not.toThrowError(RangeError);
191
+ })).resolves.not.toThrow(RangeError);
192
192
 
193
193
  nextCheckDateTime = await gcpLengthCacheJSON1Source.nextCheckDateTime;
194
194
 
@@ -204,7 +204,7 @@ describe("GS1 Company Prefix length", () => {
204
204
  // Binary available, binary 1 not available but not in next check date/time window.
205
205
  await expect(gcpLengthBinary1Source.load().then(() => {
206
206
  root2 = gcpLengthBinary1Source.root;
207
- })).resolves.not.toThrowError(RangeError);
207
+ })).resolves.not.toThrow(RangeError);
208
208
 
209
209
  expect(root2).not.toBeUndefined();
210
210
 
@@ -221,7 +221,7 @@ describe("GS1 Company Prefix length", () => {
221
221
  // Binary not available, JSON 2 available.
222
222
  await expect(gcpLengthJSON2Source.load().then(() => {
223
223
  root2 = gcpLengthJSON2Source.root;
224
- })).resolves.not.toThrowError(RangeError);
224
+ })).resolves.not.toThrow(RangeError);
225
225
 
226
226
  nextCheckDateTime = await gcpLengthCacheJSON2Source.nextCheckDateTime;
227
227
 
@@ -236,7 +236,7 @@ describe("GS1 Company Prefix length", () => {
236
236
  // Binary available, binary 2 available and more recent but not in next check date/time window.
237
237
  await expect(gcpLengthBinary2Source.load().then(() => {
238
238
  root2 = gcpLengthBinary2Source.root;
239
- })).resolves.not.toThrowError(RangeError);
239
+ })).resolves.not.toThrow(RangeError);
240
240
 
241
241
  // No change.
242
242
  expect(() => {
@@ -248,7 +248,7 @@ describe("GS1 Company Prefix length", () => {
248
248
  // Binary 1 available, binary 2 available and more recent and in next check date/time window.
249
249
  await expect(gcpLengthBinary2Source.load().then(() => {
250
250
  root2 = gcpLengthBinary2Source.root;
251
- })).resolves.not.toThrowError(RangeError);
251
+ })).resolves.not.toThrow(RangeError);
252
252
 
253
253
  expect(root2).not.toBeUndefined();
254
254
 
@@ -275,7 +275,7 @@ describe("GS1 Company Prefix length", () => {
275
275
 
276
276
  const gcpLengthJSON2Source = new GCPLength(gcpLengthCacheJSON2Source);
277
277
 
278
- await expect(gcpLengthJSON2Source.load()).resolves.not.toThrowError(RangeError);
278
+ await expect(gcpLengthJSON2Source.load()).resolves.not.toThrow(RangeError);
279
279
 
280
280
  function testIdentifiers(prefixManager: PrefixManager, prefixLength: number): void {
281
281
  expect(gcpLengthJSON2Source.lengthOf(IdentifierTypes.GTIN, prefixManager.gtinCreator.create(0, true))).toBe(prefixLength);
@@ -348,7 +348,7 @@ describe("GS1 Company Prefix length", () => {
348
348
 
349
349
  const gcpLength = new GCPLength(gcpLengthCache);
350
350
 
351
- await expect(gcpLength.load()).resolves.not.toThrowError(RangeError);
351
+ await expect(gcpLength.load()).resolves.not.toThrow(RangeError);
352
352
 
353
353
  expect(savedNextCheckDateTime).not.toBeUndefined();
354
354
  expect(savedCacheDateTime).not.toBeUndefined();