10 lines
No EOL
94 KiB
JavaScript
10 lines
No EOL
94 KiB
JavaScript
!async function(){for(;!Spicetify.React||!Spicetify.ReactDOM;)await new Promise(e=>setTimeout(e,10));(()=>{function _(e,t,r){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:".",s=!(4<arguments.length&&void 0!==arguments[4])||arguments[4];let n=Y(e,t,r);return n=!n&&s&&P(r)&&void 0===(n=te(e,r,a))?te(t,r,a):n}var U,P=e=>"string"==typeof e,F=()=>{let r,a;var e=new Promise((e,t)=>{r=e,a=t});return e.resolve=r,e.reject=a,e},T=e=>null==e?"":""+e,V=(e,t,r)=>{e.forEach(e=>{t[e]&&(r[e]=t[e])})},B=/###/g,D=e=>e&&-1<e.indexOf("###")?e.replace(B,"."):e,K=e=>!e||P(e),q=(e,t,r)=>{var a=P(t)?t.split("."):t;let s=0;for(;s<a.length-1;){if(K(e))return{};var n=D(a[s]);!e[n]&&r&&(e[n]=new r),e=Object.prototype.hasOwnProperty.call(e,n)?e[n]:{},++s}return K(e)?{}:{obj:e,k:D(a[s])}},z=(a,s,n)=>{var{obj:e,k:t}=q(a,s,Object);if(void 0!==e||1===s.length)e[t]=n;else{let e=s[s.length-1],t=s.slice(0,s.length-1),r=q(a,t,Object);for(;void 0===r.obj&&t.length;)e=t[t.length-1]+"."+e,t=t.slice(0,t.length-1),(r=q(a,t,Object))?.obj&&void 0!==r.obj[r.k+"."+e]&&(r.obj=void 0);r.obj[r.k+"."+e]=n}},W=(e,t,r,a)=>{var{obj:e,k:t}=q(e,t,Object);e[t]=e[t]||[],e[t].push(r)},H=(e,t)=>{var{obj:e,k:t}=q(e,t);if(e&&Object.prototype.hasOwnProperty.call(e,t))return e[t]},Y=(e,t,r)=>{e=H(e,r);return void 0!==e?e:H(t,r)},G=(e,t,r)=>{for(const a in t)"__proto__"!==a&&"constructor"!==a&&(a in e?P(e[a])||e[a]instanceof String||P(t[a])||t[a]instanceof String?r&&(e[a]=t[a]):G(e[a],t[a],r):e[a]=t[a]);return e},b=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),J={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},X=e=>P(e)?e.replace(/[&<>"'\/]/g,e=>J[e]):e,Z=[" ",",","?","!",";"],Q=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){var t=this.regExpMap.get(e);return void 0!==t||(t=new RegExp(e),this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,t),this.regExpQueue.push(e)),t}}(20),ee=(e,t,r)=>{t=t||"",r=r||"";var a=Z.filter(e=>t.indexOf(e)<0&&r.indexOf(e)<0);if(0===a.length)return!0;var s,a=Q.getRegExp(`(${a.map(e=>"?"===e?"\\?":e).join("|")})`);let n=!a.test(e);return n||0<(s=e.indexOf(r))&&!a.test(e.substring(0,s))&&(n=!0),n},te=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:".";if(e){if(e[t])return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0;var o=t.split(n);let s=e;for(let a=0;a<o.length;){if(!s||"object"!=typeof s)return;let t,r="";for(let e=a;e<o.length;++e)if(e!==a&&(r+=n),r+=o[e],void 0!==(t=s[r])&&!(-1<["string","number","boolean"].indexOf(typeof t)&&e<o.length-1)){a+=e-a+1;break}s=t}return s}},re=e=>e?.replace("_","-"),ae={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}},se=class{constructor(e){this.init(e,1<arguments.length&&void 0!==arguments[1]?arguments[1]:{})}init(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||ae,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.forward(t,"log","",!0)}warn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.forward(t,"warn","",!0)}error(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.forward(t,"error","")}deprecate(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,r,a){return a&&!this.debug?null:(P(e[0])&&(e[0]=""+r+this.prefix+" "+e[0]),this.logger[t](e))}create(e){return new se(this.logger,{prefix:this.prefix+`:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new se(this.logger,e)}},l=new se,e=class{constructor(){this.observers={}}on(e,r){return e.split(" ").forEach(e=>{this.observers[e]||(this.observers[e]=new Map);var t=this.observers[e].get(r)||0;this.observers[e].set(r,t+1)}),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(a){for(var e=arguments.length,s=new Array(1<e?e-1:0),t=1;t<e;t++)s[t-1]=arguments[t];this.observers[a]&&Array.from(this.observers[a].entries()).forEach(e=>{var[t,r]=e;for(let e=0;e<r;e++)t(...s)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(e=>{var[t,r]=e;for(let e=0;e<r;e++)t.apply(t,[a,...s])})}},ne=class extends e{constructor(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){e=this.options.ns.indexOf(e);-1<e&&this.options.ns.splice(e,1)}getResource(e,t,r){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{},s=(void 0!==a.keySeparator?a:this.options).keySeparator,a=(void 0!==a.ignoreJSONStructure?a:this.options).ignoreJSONStructure;let n;-1<e.indexOf(".")?n=e.split("."):(n=[e,t],r&&(Array.isArray(r)?n.push(...r):P(r)&&s?n.push(...r.split(s)):n.push(r)));var o=H(this.data,n);return!o&&!t&&!r&&-1<e.indexOf(".")&&(e=n[0],t=n[1],r=n.slice(2).join(".")),!o&&a&&P(r)?te(this.data?.[e]?.[t],r,s):o}addResource(e,t,r,a){var s=4<arguments.length&&void 0!==arguments[4]?arguments[4]:{silent:!1},n=(void 0!==s.keySeparator?s:this.options).keySeparator;let o=[e,t];r&&(o=o.concat(n?r.split(n):r)),-1<e.indexOf(".")&&(a=t,t=(o=e.split("."))[1]),this.addNamespaces(t),z(this.data,o,a),s.silent||this.emit("added",e,t,r,a)}addResources(e,t,r){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(const s in r)(P(r[s])||Array.isArray(r[s]))&&this.addResource(e,t,s,r[s],{silent:!0});a.silent||this.emit("added",e,t,r)}addResourceBundle(e,t,r,a,s){var n=5<arguments.length&&void 0!==arguments[5]?arguments[5]:{silent:!1,skipCopy:!1};let o=[e,t],i=(-1<e.indexOf(".")&&(a=r,r=t,t=(o=e.split("."))[1]),this.addNamespaces(t),H(this.data,o)||{});n.skipCopy||(r=JSON.parse(JSON.stringify(r))),a?G(i,r,s):i={...i,...r},z(this.data,o,i),n.silent||this.emit("added",e,t,r)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t=t||this.options.defaultNS,this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&0<Object.keys(t[e]).length)}toJSON(){return this.data}},oe={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,r,a,s){return e.forEach(e=>{t=this.processors[e]?.process(t,r,a,s)??t}),t}},ie={},le=e=>!P(e)&&"boolean"!=typeof e&&"number"!=typeof e,ce=class extends e{constructor(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};super(),V(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=l.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){return null!=e&&void 0!==this.resolve(e,1<arguments.length&&void 0!==arguments[1]?arguments[1]:{interpolation:{}})?.res}extractFromKey(e,t){let r=(void 0!==t.nsSeparator?t:this.options).nsSeparator;void 0===r&&(r=":");var a=(void 0!==t.keySeparator?t:this.options).keySeparator;let s=t.ns||this.options.defaultNS||[];var n=r&&-1<e.indexOf(r),t=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||ee(e,r,a));if(n&&!t){n=e.match(this.interpolator.nestingRegexp);if(n&&0<n.length)return{key:e,namespaces:P(s)?[s]:s};t=e.split(r);(r!==a||r===a&&-1<this.options.ns.indexOf(t[0]))&&(s=t.shift()),e=t.join(a)}return{key:e,namespaces:P(s)?[s]:s}}translate(r,a,s){if(a=(a="object"==typeof(a="object"!=typeof a&&this.options.overloadTranslationOptionHandler?this.options.overloadTranslationOptionHandler(arguments):a)?{...a}:a)||{},null==r)return"";Array.isArray(r)||(r=[String(r)]);var e=(void 0!==a.returnDetails?a:this.options).returnDetails,n=(void 0!==a.keySeparator?a:this.options).keySeparator;const{key:o,namespaces:t}=this.extractFromKey(r[r.length-1],a),i=t[t.length-1];var l=a.lng||this.language,c=a.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if("cimode"===l?.toLowerCase())return c?(c=a.nsSeparator||this.options.nsSeparator,e?{res:""+i+c+o,usedKey:o,exactUsedKey:o,usedLng:l,usedNS:i,usedParams:this.getUsedParamsDetails(a)}:""+i+c+o):e?{res:o,usedKey:o,exactUsedKey:o,usedLng:l,usedNS:i,usedParams:this.getUsedParamsDetails(a)}:o;c=this.resolve(r,a);let h=c?.res;var u=c?.usedKey||o,f=c?.exactUsedKey||o,d=(void 0!==a.joinArrays?a:this.options).joinArrays,p=!this.i18nFormat||this.i18nFormat.handleAsObject,g=void 0!==a.count&&!P(a.count);const m=ce.hasDefaultValue(a);var b=g?this.pluralResolver.getSuffix(l,a.count,a):"",v=a.ordinal&&g?this.pluralResolver.getSuffix(l,a.count,{ordinal:!1}):"";const y=g&&!a.ordinal&&0===a.count,w=y&&a[`defaultValue${this.options.pluralSeparator}zero`]||a["defaultValue"+b]||a["defaultValue"+v]||a.defaultValue;let k=h;p&&!h&&m&&(k=w);var b=le(k),v=Object.prototype.toString.apply(k);if(!(p&&k&&b&&["[object Number]","[object Function]","[object RegExp]"].indexOf(v)<0)||P(d)&&Array.isArray(k))if(p&&P(d)&&Array.isArray(h))h=(h=h.join(d))&&this.extendTranslation(h,r,a,s);else{let e=!1,t=!1;!this.isValidLookup(h)&&m&&(e=!0,h=w),this.isValidLookup(h)||(t=!0,h=o);const R=(a.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&t?void 0:h,N=m&&w!==h&&this.options.updateMissing;if(t||e||N){this.logger.log(N?"updateKey":"missingKey",l,i,o,N?w:h),n&&(b=this.resolve(o,{...a,keySeparator:!1}))&&b.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 t=[];var x=this.languageUtils.getFallbackCodes(this.options.fallbackLng,a.lng||this.language);if("fallback"===this.options.saveMissingTo&&x&&x[0])for(let e=0;e<x.length;e++)t.push(x[e]);else"all"===this.options.saveMissingTo?t=this.languageUtils.toResolveHierarchy(a.lng||this.language):t.push(a.lng||this.language);const C=(e,t,r)=>{r=m&&r!==h?r:R;this.options.missingKeyHandler?this.options.missingKeyHandler(e,i,t,r,N,a):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,i,t,r,N,a),this.emit("missingKey",e,i,t,h)};this.options.saveMissing&&(this.options.saveMissingPlurals&&g?t.forEach(t=>{var e=this.pluralResolver.getSuffixes(t,a);y&&a[`defaultValue${this.options.pluralSeparator}zero`]&&e.indexOf(this.options.pluralSeparator+"zero")<0&&e.push(this.options.pluralSeparator+"zero"),e.forEach(e=>{C([t],o+e,a["defaultValue"+e]||w)})}):C(t,o,w))}h=this.extendTranslation(h,r,a,c,s),t&&h===o&&this.options.appendNamespaceToMissingKey&&(h=i+":"+o),(t||e)&&this.options.parseMissingKeyHandler&&(h=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?i+":"+o:o,e?h:void 0))}else{if(!a.returnObjects&&!this.options.returnObjects)return this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!"),v=this.options.returnedObjectHandler?this.options.returnedObjectHandler(u,k,{...a,ns:t}):`key '${o} (${this.language})' returned an object instead of string.`,e?(c.res=v,c.usedParams=this.getUsedParamsDetails(a),c):v;if(n){var S,p=Array.isArray(k),L=p?[]:{},O=p?f:u;for(const j in k)Object.prototype.hasOwnProperty.call(k,j)&&(S=""+O+n+j,m&&!h?L[j]=this.translate(S,{...a,defaultValue:le(w)?w[j]:void 0,joinArrays:!1,ns:t}):L[j]=this.translate(S,{...a,joinArrays:!1,ns:t}),L[j]===S)&&(L[j]=k[j]);h=L}}return e?(c.res=h,c.usedParams=this.getUsedParamsDetails(a),c):h}extendTranslation(r,a,s,n,o){var i=this;if(this.i18nFormat?.parse)r=this.i18nFormat.parse(r,{...this.options.interpolation.defaultVariables,...s},s.lng||this.language||n.usedLng,n.usedNS,n.usedKey,{resolved:n});else if(!s.skipInterpolation){s.interpolation&&this.interpolator.init({...s,interpolation:{...this.options.interpolation,...s.interpolation}});var l=P(r)&&(void 0!==s?.interpolation?.skipOnVariables?s:this.options).interpolation.skipOnVariables;let e,t=(l&&(c=r.match(this.interpolator.nestingRegexp),e=c&&c.length),s.replace&&!P(s.replace)?s.replace:s);this.options.interpolation.defaultVariables&&(t={...this.options.interpolation.defaultVariables,...t}),r=this.interpolator.interpolate(r,t,s.lng||this.language||n.usedLng,s),l&&(l=(c=r.match(this.interpolator.nestingRegexp))&&c.length,e<l)&&(s.nest=!1),!s.lng&&n&&n.res&&(s.lng=this.language||n.usedLng),!1!==s.nest&&(r=this.interpolator.nest(r,function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return o?.[0]!==t[0]||s.context?i.translate(...t,a):(i.logger.warn(`It seems you are nesting recursively key: ${t[0]} in key: `+a[0]),null)},s)),s.interpolation&&this.interpolator.reset()}var c=s.postProcess||this.options.postProcess,l=P(c)?[c]:c;return r=null!=r&&l?.length&&!1!==s.applyPostProcessor?oe.handle(l,r,a,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...n,usedParams:this.getUsedParamsDetails(s)},...s}:s,this):r}resolve(e){let u=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},f,a,d,p,s;return(e=P(e)?[e]:e).forEach(t=>{if(!this.isValidLookup(f)){t=this.extractFromKey(t,u);const i=t.key;a=i;let e=t.namespaces;this.options.fallbackNS&&(e=e.concat(this.options.fallbackNS));const l=void 0!==u.count&&!P(u.count),c=l&&!u.ordinal&&0===u.count,h=void 0!==u.context&&(P(u.context)||"number"==typeof u.context)&&""!==u.context,r=u.lngs||this.languageUtils.toResolveHierarchy(u.lng||this.language,u.fallbackLng);e.forEach(o=>{this.isValidLookup(f)||(s=o,ie[r[0]+"-"+o]||!this.utils?.hasLoadedNamespace||this.utils?.hasLoadedNamespace(s)||(ie[r[0]+"-"+o]=!0,this.logger.warn(`key "${a}" for languages "${r.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!!!")),r.forEach(t=>{if(!this.isValidLookup(f)){p=t;var e,r=[i];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(r,i,t,o,u);else{let e;l&&(e=this.pluralResolver.getSuffix(t,u.count,u));var a,s=this.options.pluralSeparator+"zero",n=this.options.pluralSeparator+"ordinal"+this.options.pluralSeparator;l&&(r.push(i+e),u.ordinal&&0===e.indexOf(n)&&r.push(i+e.replace(n,this.options.pluralSeparator)),c)&&r.push(i+s),h&&(a=""+i+this.options.contextSeparator+u.context,r.push(a),l)&&(r.push(a+e),u.ordinal&&0===e.indexOf(n)&&r.push(a+e.replace(n,this.options.pluralSeparator)),c)&&r.push(a+s)}for(;e=r.pop();)this.isValidLookup(f)||(d=e,f=this.getResource(t,o,e,u))}}))})}}),{res:f,usedKey:a,exactUsedKey:d,usedLng:p,usedNS:s}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,r){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{};return(this.i18nFormat?.getResource?this.i18nFormat:this.resourceStore).getResource(e,t,r,a)}getUsedParamsDetails(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.replace&&!P(e.replace);let r=t?e.replace:e;if(t&&void 0!==e.count&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!t){r={...r};for(const a of["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"])delete r[a]}return r}static hasDefaultValue(e){var t="defaultValue";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t===r.substring(0,t.length)&&void 0!==e[r])return!0;return!1}},he=class{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=l.create("languageUtils")}getScriptPartFromCode(e){return!(e=re(e))||e.indexOf("-")<0||2===(e=e.split("-")).length||(e.pop(),"x"===e[e.length-1].toLowerCase())?null:this.formatLanguageCode(e.join("-"))}getLanguagePartFromCode(e){return!(e=re(e))||e.indexOf("-")<0?e:(e=e.split("-"),this.formatLanguageCode(e[0]))}formatLanguageCode(t){if(P(t)&&-1<t.indexOf("-")){let e;try{e=Intl.getCanonicalLocales(t)[0]}catch(e){}return(e=e&&this.options.lowerCaseLng?e.toLowerCase():e)?e:this.options.lowerCaseLng?t.toLowerCase():t}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(e){return"languageOnly"!==this.options.load&&!this.options.nonExplicitSupportedLngs||(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||-1<this.supportedLngs.indexOf(e)}getBestMatchFromCodes(e){if(!e)return null;let r;return e.forEach(e=>{r||(e=this.formatLanguageCode(e),this.options.supportedLngs&&!this.isSupportedCode(e))||(r=e)}),!r&&this.options.supportedLngs&&e.forEach(e=>{if(!r){const t=this.getLanguagePartFromCode(e);if(this.isSupportedCode(t))return r=t;r=this.options.supportedLngs.find(e=>e===t||!(e.indexOf("-")<0&&t.indexOf("-")<0)&&(0<e.indexOf("-")&&t.indexOf("-")<0&&e.substring(0,e.indexOf("-"))===t||0===e.indexOf(t)&&1<t.length)?e:void 0)}}),r=r||this.getFallbackCodes(this.options.fallbackLng)[0]}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),P(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let r=e[t];return(r=(r=(r=(r=r||e[this.getScriptPartFromCode(t)])||e[this.formatLanguageCode(t)])||e[this.getLanguagePartFromCode(t)])||e.default)||[]}toResolveHierarchy(e,t){t=this.getFallbackCodes(t||this.options.fallbackLng||[],e);const r=[],a=e=>{e&&(this.isSupportedCode(e)?r.push(e):this.logger.warn("rejecting language code not found in supportedLngs: "+e))};return P(e)&&(-1<e.indexOf("-")||-1<e.indexOf("_"))?("languageOnly"!==this.options.load&&a(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&a(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&a(this.getLanguagePartFromCode(e))):P(e)&&a(this.formatLanguageCode(e)),t.forEach(e=>{r.indexOf(e)<0&&a(this.formatLanguageCode(e))}),r}},ue={zero:0,one:1,two:2,few:3,many:4,other:5},fe={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})},de=class{constructor(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=l.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(t){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},a=re("dev"===t?"en":t),e=r.ordinal?"ordinal":"cardinal",s=JSON.stringify({cleanedCode:a,type:e});if(s in this.pluralRulesCache)return this.pluralRulesCache[s];let n;try{n=new Intl.PluralRules(a,{type:e})}catch(e){if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),fe;if(!t.match(/-|_/))return fe;a=this.languageUtils.getLanguagePartFromCode(t);n=this.getRule(a,r)}return this.pluralRulesCache[s]=n}needsPlural(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};let r=this.getRule(e,t);return 1<(r=r||this.getRule("dev",t))?.resolvedOptions().pluralCategories.length}getPluralFormsOfKey(e,t){return this.getSuffixes(e,2<arguments.length&&void 0!==arguments[2]?arguments[2]:{}).map(e=>""+t+e)}getSuffixes(e){let t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r=this.getRule(e,t);return(r=r||this.getRule("dev",t))?r.resolvedOptions().pluralCategories.sort((e,t)=>ue[e]-ue[t]).map(e=>""+this.options.prepend+(t.ordinal?"ordinal"+this.options.prepend:"")+e):[]}getSuffix(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},a=this.getRule(e,r);return a?""+this.options.prepend+(r.ordinal?"ordinal"+this.options.prepend:"")+a.select(t):(this.logger.warn("no plural rule found for: "+e),this.getSuffix("dev",t,r))}},pe=e=>e.replace(/\$/g,"$$$$"),ge=class{constructor(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.logger=l.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},{escape:e,escapeValue:t,useRawValueToEscape:r,prefix:a,prefixEscaped:s,suffix:n,suffixEscaped:o,formatSeparator:i,unescapeSuffix:l,unescapePrefix:c,nestingPrefix:h,nestingPrefixEscaped:u,nestingSuffix:f,nestingSuffixEscaped:d,nestingOptionsSeparator:p,maxReplaces:g,alwaysFormat:m}=(e.interpolation||(e.interpolation={escapeValue:!0}),e.interpolation);this.escape=void 0!==e?e:X,this.escapeValue=void 0===t||t,this.useRawValueToEscape=void 0!==r&&r,this.prefix=a?b(a):s||"{{",this.suffix=n?b(n):o||"}}",this.formatSeparator=i||",",this.unescapePrefix=l?"":c||"-",this.unescapeSuffix=!this.unescapePrefix&&l||"",this.nestingPrefix=h?b(h):u||b("$t("),this.nestingSuffix=f?b(f):d||b(")"),this.nestingOptionsSeparator=p||",",this.maxReplaces=g||1e3,this.alwaysFormat=void 0!==m&&m,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){var e=(e,t)=>e?.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,this.prefix+"(.+?)"+this.suffix),this.regexpUnescape=e(this.regexpUnescape,""+this.prefix+this.unescapePrefix+"(.+?)"+this.unescapeSuffix+this.suffix),this.nestingRegexp=e(this.nestingRegexp,this.nestingPrefix+"(.+?)"+this.nestingSuffix)}interpolate(a,r,s,n){let o,i,l;const c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},h=e=>{var t;return e.indexOf(this.formatSeparator)<0?(t=_(r,c,e,this.options.keySeparator,this.options.ignoreJSONStructure),this.alwaysFormat?this.format(t,void 0,s,{...n,...r,interpolationkey:e}):t):(e=(t=e.split(this.formatSeparator)).shift().trim(),t=t.join(this.formatSeparator).trim(),this.format(_(r,c,e,this.options.keySeparator,this.options.ignoreJSONStructure),t,s,{...n,...r,interpolationkey:e}))},u=(this.resetRegExp(),n?.missingInterpolationHandler||this.options.missingInterpolationHandler),f=(void 0!==n?.interpolation?.skipOnVariables?n:this.options).interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>pe(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?pe(this.escape(e)):pe(e)}].forEach(e=>{for(l=0;o=e.regex.exec(a);){var t=o[1].trim();if(void 0===(i=h(t)))if("function"==typeof u){var r=u(a,o,n);i=P(r)?r:""}else{if(!n||!Object.prototype.hasOwnProperty.call(n,t)){if(f){i=o[0];continue}this.logger.warn(`missed to pass in variable ${t} for interpolating `+a)}i=""}else P(i)||this.useRawValueToEscape||(i=T(i));r=e.safeValue(i);if(a=a.replace(o[0],r),f?(e.regex.lastIndex+=i.length,e.regex.lastIndex-=o[0].length):e.regex.lastIndex=0,++l>=this.maxReplaces)break}}),a}nest(r,a){let s=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},n,o,i;for(var l,c=(r,e)=>{var a=this.nestingOptionsSeparator;if(!(r.indexOf(a)<0)){var s=r.split(new RegExp(a+"[ ]*{"));let t="{"+s[1];r=s[0];var s=(t=this.interpolate(t,i)).match(/'/g),n=t.match(/"/g);((s?.length??0)%2!=0||n)&&n.length%2==0||(t=t.replace(/'/g,'"'));try{i=JSON.parse(t),e&&(i={...e,...i})}catch(e){return this.logger.warn("failed parsing options string in nesting for key "+r,e),""+r+a+t}i.defaultValue&&-1<i.defaultValue.indexOf(this.prefix)&&delete i.defaultValue}return r};n=this.nestingRegexp.exec(r);){let e=[],t=((i=(i={...s}).replace&&!P(i.replace)?i.replace:i).applyPostProcessor=!1,delete i.defaultValue,!1);if(-1===n[0].indexOf(this.formatSeparator)||/{.*}/.test(n[1])||(l=n[1].split(this.formatSeparator).map(e=>e.trim()),n[1]=l.shift(),e=l,t=!0),(o=a(c.call(this,n[1].trim(),i),i))&&n[0]===r&&!P(o))return o;(o=P(o)?o:T(o))||(this.logger.warn(`missed to resolve ${n[1]} for nesting `+r),o=""),t&&(o=e.reduce((e,t)=>this.format(e,t,s.lng,{...s,interpolationkey:n[1].trim()}),o.trim())),r=r.replace(n[0],o),this.regexp.lastIndex=0}return r}},me=e=>{let t=e.toLowerCase().trim();const r={};return-1<e.indexOf("(")&&(e=e.split("("),t=e[0].toLowerCase().trim(),e=e[1].substring(0,e[1].length-1),"currency"===t&&e.indexOf(":")<0?r.currency||(r.currency=e.trim()):"relativetime"===t&&e.indexOf(":")<0?r.range||(r.range=e.trim()):e.split(";").forEach(e=>{var t;e&&([e,...t]=e.split(":"),t=t.join(":").trim().replace(/^'+|'+$/g,""),e=e.trim(),r[e]||(r[e]=t),"false"===t&&(r[e]=!1),"true"===t&&(r[e]=!0),isNaN(t)||(r[e]=parseInt(t,10)))})),{formatName:t,formatOptions:r}},r=o=>{const i={};return(e,t,r)=>{let a=r;r&&r.interpolationkey&&r.formatParams&&r.formatParams[r.interpolationkey]&&r[r.interpolationkey]&&(a={...a,[r.interpolationkey]:void 0});var s=t+JSON.stringify(a);let n=i[s];return n||(n=o(re(t),r),i[s]=n),n(e)}},be=class{constructor(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.logger=l.create("formatter"),this.options=e,this.formats={number:r((e,t)=>{const r=new Intl.NumberFormat(e,{...t});return e=>r.format(e)}),currency:r((e,t)=>{const r=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>r.format(e)}),datetime:r((e,t)=>{const r=new Intl.DateTimeFormat(e,{...t});return e=>r.format(e)}),relativetime:r((e,t)=>{const r=new Intl.RelativeTimeFormat(e,{...t});return e=>r.format(e,t.range||"day")}),list:r((e,t)=>{const r=new Intl.ListFormat(e,{...t});return e=>r.format(e)})},this.init(e)}init(e){this.formatSeparator=(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{interpolation:{}}).interpolation.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=r(t)}format(e,t,o){let i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{};var t=t.split(this.formatSeparator),r=(1<t.length&&1<t[0].indexOf("(")&&t[0].indexOf(")")<0&&t.find(e=>-1<e.indexOf(")"))&&(r=t.findIndex(e=>-1<e.indexOf(")")),t[0]=[t[0],...t.splice(1,r)].join(this.formatSeparator)),t.reduce((t,r)=>{var{formatName:r,formatOptions:a}=me(r);if(this.formats[r]){let e=t;try{var s=i?.formatParams?.[i.interpolationkey]||{},n=s.locale||s.lng||i.locale||i.lng||o;e=this.formats[r](t,n,{...a,...i,...s})}catch(e){this.logger.warn(e)}return e}return this.logger.warn("there was no format function for "+r),t},e));return r}},ve=(e,t)=>{void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)},ye=class extends e{constructor(e,t,r){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=a,this.logger=l.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=a.maxParallelReads||10,this.readingCalls=0,this.maxRetries=0<=a.maxRetries?a.maxRetries:5,this.retryTimeout=1<=a.retryTimeout?a.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,a.backend,a)}queueLoad(e,t,s,r){const n={},o={},i={},l={};return e.forEach(r=>{let a=!0;t.forEach(e=>{var t=r+"|"+e;!s.reload&&this.store.hasResourceBundle(r,e)?this.state[t]=2:this.state[t]<0||(1===this.state[t]?void 0===o[t]&&(o[t]=!0):(this.state[t]=1,a=!1,void 0===o[t]&&(o[t]=!0),void 0===n[t]&&(n[t]=!0),void 0===l[e]&&(l[e]=!0)))}),a||(i[r]=!0)}),(Object.keys(n).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(n),pending:Object.keys(o),toLoadLanguages:Object.keys(i),toLoadNamespaces:Object.keys(l)}}loaded(e,t,r){var a=e.split("|");const s=a[0],n=a[1],o=(t&&this.emit("failedLoading",s,n,t),!t&&r&&this.store.addResourceBundle(s,n,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0),{});this.queue.forEach(r=>{W(r.loaded,[s],n),ve(r,e),t&&r.errors.push(t),0!==r.pendingCount||r.done||(Object.keys(r.loaded).forEach(t=>{o[t]||(o[t]={});var e=r.loaded[t];e.length&&e.forEach(e=>{void 0===o[t][e]&&(o[t][e]=!0)})}),r.done=!0,r.errors.length?r.callback(r.errors):r.callback())}),this.emit("loaded",o),this.queue=this.queue.filter(e=>!e.done)}read(a,s,n){let o=3<arguments.length&&void 0!==arguments[3]?arguments[3]:0,i=4<arguments.length&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,l=5<arguments.length?arguments[5]:void 0;if(!a.length)return l(null,{});if(this.readingCalls>=this.maxParallelReads)this.waitingReads.push({lng:a,ns:s,fcName:n,tried:o,wait:i,callback:l});else{this.readingCalls++;const r=(e,t)=>{var r;this.readingCalls--,0<this.waitingReads.length&&(r=this.waitingReads.shift(),this.read(r.lng,r.ns,r.fcName,r.tried,r.wait,r.callback)),e&&t&&o<this.maxRetries?setTimeout(()=>{this.read.call(this,a,s,n,o+1,2*i,l)},i):l(e,t)};var e=this.backend[n].bind(this.backend);if(2!==e.length)return e(a,s,r);try{var t=e(a,s);t&&"function"==typeof t.then?t.then(e=>r(null,e)).catch(r):r(null,t)}catch(e){r(e)}}}prepareLoading(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},a=3<arguments.length?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),a&&a();P(e)&&(e=this.languageUtils.toResolveHierarchy(e)),P(t)&&(t=[t]);e=this.queueLoad(e,t,r,a);if(!e.toLoad.length)return e.pending.length||a(),null;e.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,r){this.prepareLoading(e,t,{},r)}reload(e,t,r){this.prepareLoading(e,t,{reload:!0},r)}loadOne(r){let a=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"";var e=r.split("|");const s=e[0],n=e[1];this.read(s,n,"read",void 0,void 0,(e,t)=>{e&&this.logger.warn(`${a}loading namespace ${n} for language ${s} failed`,e),!e&&t&&this.logger.log(`${a}loaded namespace ${n} for language `+s,t),this.loaded(r,e,t)})}saveMissing(t,r,a,s,n){var o=5<arguments.length&&void 0!==arguments[5]?arguments[5]:{};let i=6<arguments.length&&void 0!==arguments[6]?arguments[6]:()=>{};if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(r))this.logger.warn(`did not save key "${a}" as the namespace "${r}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=a&&""!==a){if(this.backend?.create){o={...o,isUpdate:n},n=this.backend.create.bind(this.backend);if(n.length<6)try{let e;(e=5===n.length?n(t,r,a,s,o):n(t,r,a,s))&&"function"==typeof e.then?e.then(e=>i(null,e)).catch(i):i(null,e)}catch(e){i(e)}else n(t,r,a,s,i,o)}t&&t[0]&&this.store.addResource(t[0],r,a,s)}}},we=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if("object"==typeof e[1]&&(t=e[1]),P(e[1])&&(t.defaultValue=e[1]),P(e[2])&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const r=e[3]||e[2];Object.keys(r).forEach(e=>{t[e]=r[e]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),ke=e=>(P(e.ns)&&(e.ns=[e.ns]),P(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),P(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),"boolean"==typeof e.initImmediate&&(e.initAsync=e.initImmediate),e),xe=()=>{},Se=t=>{Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(e=>{"function"==typeof t[e]&&(t[e]=t[e].bind(t))})},Le=class extends e{constructor(){let e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=1<arguments.length?arguments[1]:void 0;if(super(),this.options=ke(e),this.services={},this.logger=l,this.modules={external:[]},Se(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(){var s=this;let e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},r=1<arguments.length?arguments[1]:void 0;this.isInitializing=!0,"function"==typeof e&&(r=e,e={}),null==e.defaultNS&&e.ns&&(P(e.ns)?e.defaultNS=e.ns:e.ns.indexOf("translation")<0&&(e.defaultNS=e.ns[0]));var t=we(),a=(this.options={...t,...this.options,...ke(e)},this.options.interpolation={...t.interpolation,...this.options.interpolation},void 0!==e.keySeparator&&(this.options.userDefinedKeySeparator=e.keySeparator),void 0!==e.nsSeparator&&(this.options.userDefinedNsSeparator=e.nsSeparator),e=>e?"function"==typeof e?new e:e:null);if(!this.options.isClone){this.modules.logger?l.init(a(this.modules.logger),this.options):l.init(null,this.options);let e;e=this.modules.formatter||be;var n=new he(this.options),o=(this.store=new ne(this.options.resources,this.options),this.services);o.logger=l,o.resourceStore=this.store,o.languageUtils=n,o.pluralResolver=new de(n,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!e||this.options.interpolation.format&&this.options.interpolation.format!==t.interpolation.format||(o.formatter=a(e),o.formatter.init(o,this.options),this.options.interpolation.format=o.formatter.format.bind(o.formatter)),o.interpolator=new ge(this.options),o.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},o.backendConnector=new ye(a(this.modules.backend),o.resourceStore,o,this.options),o.backendConnector.on("*",function(e){for(var t=arguments.length,r=new Array(1<t?t-1:0),a=1;a<t;a++)r[a-1]=arguments[a];s.emit(e,...r)}),this.modules.languageDetector&&(o.languageDetector=a(this.modules.languageDetector),o.languageDetector.init)&&o.languageDetector.init(o,this.options.detection,this.options),this.modules.i18nFormat&&(o.i18nFormat=a(this.modules.i18nFormat),o.i18nFormat.init)&&o.i18nFormat.init(this),this.translator=new ce(this.services,this.options),this.translator.on("*",function(e){for(var t=arguments.length,r=new Array(1<t?t-1:0),a=1;a<t;a++)r[a-1]=arguments[a];s.emit(e,...r)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}this.format=this.options.interpolation.format,r=r||xe,!this.options.fallbackLng||this.services.languageDetector||this.options.lng||0<(n=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng)).length&&"dev"!==n[0]&&(this.options.lng=n[0]),this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(e=>{this[e]=function(){return s.store[e](...arguments)}});["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(e=>{this[e]=function(){return s.store[e](...arguments),s}});const i=F();t=()=>{var e=(e,t)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),i.resolve(t),r(e,t)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?t():setTimeout(t,0),i}loadResources(e){let t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:xe;var r=P(e)?e:this.language;if("function"==typeof e&&(t=e),!this.options.resources||this.options.partialBundledLanguages){if("cimode"===r?.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return t();const a=[],s=e=>{e&&"cimode"!==e&&this.services.languageUtils.toResolveHierarchy(e).forEach(e=>{"cimode"!==e&&a.indexOf(e)<0&&a.push(e)})};r?s(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>s(e)),this.options.preload?.forEach?.(e=>s(e)),this.services.backendConnector.load(a,this.options.ns,e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),t(e)})}else t(null)}reloadResources(e,t,r){const a=F();return"function"==typeof e&&(r=e,e=void 0),"function"==typeof t&&(r=t,t=void 0),e=e||this.languages,t=t||this.options.ns,r=r||xe,this.services.backendConnector.reload(e,t,e=>{a.resolve(),r(e)}),a}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)return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&oe.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this;throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()")}setResolvedLanguage(e){if(e&&this.languages&&!(-1<["cimode","dev"].indexOf(e)))for(let e=0;e<this.languages.length;e++){var t=this.languages[e];if(!(-1<["cimode","dev"].indexOf(t))&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}}changeLanguage(r,a){var s=this;this.isLanguageChangingTo=r;const n=F(),o=(this.emit("languageChanging",r),e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)}),i=(e,t)=>{t?(o(t),this.translator.changeLanguage(t),this.isLanguageChangingTo=void 0,this.emit("languageChanged",t),this.logger.log("languageChanged",t)):this.isLanguageChangingTo=void 0,n.resolve(function(){return s.t(...arguments)}),a&&a(e,function(){return s.t(...arguments)})};var e=e=>{r||e||!this.services.languageDetector||(e=[]);const t=P(e)?e:this.services.languageUtils.getBestMatchFromCodes(e);t&&(this.language||o(t),this.translator.language||this.translator.changeLanguage(t),this.services.languageDetector?.cacheUserLanguage?.(t)),this.loadResources(t,e=>{i(e,t)})};return r||!this.services.languageDetector||this.services.languageDetector.async?!r&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(e):this.services.languageDetector.detect(e):e(r):e(this.services.languageDetector.detect()),n}getFixedT(e,t,l){var c=this;function h(e,t){let r;if("object"!=typeof t){for(var a=arguments.length,s=new Array(2<a?a-2:0),n=2;n<a;n++)s[n-2]=arguments[n];r=c.options.overloadTranslationOptionHandler([e,t].concat(s))}else r={...t};r.lng=r.lng||h.lng,r.lngs=r.lngs||h.lngs,r.ns=r.ns||h.ns,""!==r.keyPrefix&&(r.keyPrefix=r.keyPrefix||l||h.keyPrefix);const o=c.options.keySeparator||".";let i;return i=r.keyPrefix&&Array.isArray(e)?e.map(e=>""+r.keyPrefix+o+e):r.keyPrefix?""+r.keyPrefix+o+e:e,c.t(i,r)}return P(e)?h.lng=e:h.lngs=e,h.ns=t,h.keyPrefix=l,h}t(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.translator?.translate(...t)}exists(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.translator?.exists(...t)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var r=t.lng||this.resolvedLanguage||this.languages[0],a=!!this.options&&this.options.fallbackLng,s=this.languages[this.languages.length-1];if("cimode"===r.toLowerCase())return!0;var n=(e,t)=>{e=this.services.backendConnector.state[e+"|"+t];return-1===e||0===e||2===e};if(t.precheck){t=t.precheck(this,n);if(void 0!==t)return t}return!!this.hasResourceBundle(r,e)||!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages)&&(!n(r,e)||a&&!n(s,e)))}loadNamespaces(e,t){const r=F();return this.options.ns?((e=P(e)?[e]:e).forEach(e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){const r=F(),a=(P(e)&&(e=[e]),this.options.preload||[]);e=e.filter(e=>a.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e));return e.length?(this.options.preload=a.concat(e),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}dir(e){var t;return!(e=e||this.resolvedLanguage||(0<this.languages?.length?this.languages[0]:this.language))||(t=this.services?.languageUtils||new he(we()),-1<["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e)))||1<e.toLowerCase().indexOf("-arab")?"rtl":"ltr"}static createInstance(){return new Le(0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},1<arguments.length?arguments[1]:void 0)}cloneInstance(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:xe,r=e.forkResourceStore,a=(r&&delete e.forkResourceStore,{...this.options,...e,isClone:!0});const s=new Le(a);void 0===e.debug&&void 0===e.prefix||(s.logger=s.logger.clone(e));return["store","services","language"].forEach(e=>{s[e]=this[e]}),s.services={...this.services},s.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},r&&(e=Object.keys(this.store.data).reduce((r,a)=>(r[a]={...this.store.data[a]},Object.keys(r[a]).reduce((e,t)=>(e[t]={...r[a][t]},e),{})),{}),s.store=new ne(e,a),s.services.resourceStore=s.store),s.translator=new ce(s.services,a),s.translator.on("*",function(e){for(var t=arguments.length,r=new Array(1<t?t-1:0),a=1;a<t;a++)r[a-1]=arguments[a];s.emit(e,...r)}),s.init(a,t),s.translator.options=a,s.translator.backendConnector.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},s}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}},e=Le.createInstance(),Oe=(e.createInstance=Le.createInstance,e.createInstance,e.dir,e.init,e.loadResources,e.reloadResources,e.use,e.changeLanguage,e.getFixedT,e.t),e=(e.exists,e.setDefaultNamespace,e.hasLoadedNamespace,e.loadNamespaces,e.loadLanguages,"marketplace"),g={installedExtensions:e+":installed-extensions",installedSnippets:e+":installed-snippets",installedThemes:e+":installed-themes",activeTab:e+":active-tab",tabs:e+":tabs",sort:e+":sort",themeInstalled:e+":theme-installed",localTheme:e+":local-theme",albumArtBasedColor:e+":albumArtBasedColors",albumArtBasedColorMode:e+":albumArtBasedColorsMode",albumArtBasedColorVibrancy:e+":albumArtBasedColorsVibrancy",colorShift:e+":colorShift"},Re=100,{min:Ne,max:Ce}=Math,L=(e,t=0,r=1)=>Ne(Ce(t,e),r),je=t=>{t._clipped=!1,t._unclipped=t.slice(0);for(let e=0;e<=3;e++)e<3?((t[e]<0||255<t[e])&&(t._clipped=!0),t[e]=L(t[e],0,255)):3===e&&(t[e]=L(t[e],0,1));return t},Pe={};for(U of["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"])Pe[`[object ${U}]`]=U.toLowerCase();function O(e){return Pe[Object.prototype.toString.call(e)]||"object"}var p=(t,e=null)=>3<=t.length?Array.prototype.slice.call(t):"object"==O(t[0])&&e?e.split("").filter(e=>void 0!==t[0][e]).map(e=>t[0][e]):t[0].slice(0),c=e=>{var t;return!(e.length<2)&&"string"==O(e[t=e.length-1])?e[t].toLowerCase():null},{PI:e,min:Me,max:Ee}=Math,a=e=>Math.round(100*e)/100,$e=e=>Math.round(100*e)/100,u=2*e,Ae=e/3,Ie=e/180,_e=180/e,o={format:{},autodetect:[]},m=class{constructor(...e){if("object"===O(e[0])&&e[0].constructor&&e[0].constructor===this.constructor)return e[0];let t=c(e),r=!1;if(!t){r=!0,o.sorted||(o.autodetect=o.autodetect.sort((e,t)=>t.p-e.p),o.sorted=!0);for(var a of o.autodetect)if(t=a.test(...e))break}if(!o.format[t])throw new Error("unknown format: "+e);var s=o.format[t].apply(null,r?e:e.slice(0,-1));this._rgb=je(s),3===this._rgb.length&&this._rgb.push(1)}toString(){return"function"==O(this.hex)?this.hex():`[${this._rgb.join(",")}]`}},e=(...e)=>new m(...e),R=(e.version="3.1.1",e),s={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},Ue=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,Fe=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,Te=e=>{var t;if(e.match(Ue))return 3===(e=4!==e.length&&7!==e.length?e:e.substr(1)).length&&(e=(e=e.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]),[(t=parseInt(e,16))>>16,t>>8&255,255&t,1];if(e.match(Fe))return 4===(e=5!==e.length&&9!==e.length?e:e.substr(1)).length&&(e=(e=e.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]),[(t=parseInt(e,16))>>24&255,t>>16&255,t>>8&255,Math.round((255&t)/255*100)/100];throw new Error("unknown hex color: "+e)},Ve=Math["round"],Be=(...e)=>{let[t,r,a,s]=p(e,"rgba"),n=c(e)||"auto";void 0===s&&(s=1),"auto"===n&&(n=s<1?"rgba":"rgb");let o="000000"+(Ve(t)<<16|Ve(r)<<8|Ve(a)).toString(16),i=(o=o.substr(o.length-6),"0"+Ve(255*s).toString(16));switch(i=i.substr(i.length-2),n.toLowerCase()){case"rgba":return"#"+o+i;case"argb":return"#"+i+o;default:return"#"+o}},De=(m.prototype.name=function(){var e,t=Be(this._rgb,"rgb");for(e of Object.keys(s))if(s[e]===t)return e.toLowerCase();return t},o.format.named=e=>{if(e=e.toLowerCase(),s[e])return Te(s[e]);throw new Error("unknown color name: "+e)},o.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&"string"===O(e)&&s[e.toLowerCase()])return"named"}}),m.prototype.alpha=function(e,t=!1){return void 0!==e&&"number"===O(e)?t?(this._rgb[3]=e,this):new m([this._rgb[0],this._rgb[1],this._rgb[2],e],"rgb"):this._rgb[3]},m.prototype.clipped=function(){return this._rgb._clipped||!1},{Kn:18,labWhitePoint:"d65",Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452,kE:216/24389,kKE:8,kK:24389/27,RefWhiteRGB:{X:.95047,Y:1,Z:1.08883},MtxRGB2XYZ:{m00:.4124564390896922,m01:.21267285140562253,m02:.0193338955823293,m10:.357576077643909,m11:.715152155287818,m12:.11919202588130297,m20:.18043748326639894,m21:.07217499330655958,m22:.9503040785363679},MtxXYZ2RGB:{m00:3.2404541621141045,m01:-.9692660305051868,m02:.055643430959114726,m10:-1.5371385127977166,m11:1.8760108454466942,m12:-.2040259135167538,m20:-.498531409556016,m21:.041556017530349834,m22:1.0572251882231791},As:.9414285350000001,Bs:1.040417467,Cs:1.089532651,MtxAdaptMa:{m00:.8951,m01:-.7502,m02:.0389,m10:.2664,m11:1.7135,m12:-.0685,m20:-.1614,m21:.0367,m22:1.0296},MtxAdaptMaI:{m00:.9869929054667123,m01:.43230526972339456,m02:-.008528664575177328,m10:-.14705425642099013,m11:.5183602715367776,m12:.04004282165408487,m20:.15996265166373125,m21:.0492912282128556,m22:.9684866957875502}}),w=De,Ke=new Map([["a",[1.0985,.35585]],["b",[1.0985,.35585]],["c",[.98074,1.18232]],["d50",[.96422,.82521]],["d55",[.95682,.92149]],["d65",[.95047,1.08883]],["e",[1,1,1]],["f2",[.99186,.67393]],["f7",[.95041,1.08747]],["f11",[1.00962,.6435]],["icc",[.96422,.82521]]]);function i(e){var t=Ke.get(String(e).toLowerCase());if(!t)throw new Error("unknown Lab illuminant "+e);De.labWhitePoint=e,De.Xn=t[0],De.Zn=t[1]}function qe(){return De.labWhitePoint}var ze=e=>{var t=Math.sign(e);return((e=Math.abs(e))<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)*t},We=(e,t,r)=>{var{MtxAdaptMa:a,MtxAdaptMaI:s,MtxXYZ2RGB:n,RefWhiteRGB:o,Xn:i,Yn:l,Zn:c}=w,h=i*a.m00+l*a.m10+c*a.m20,u=i*a.m01+l*a.m11+c*a.m21,i=i*a.m02+l*a.m12+c*a.m22,l=o.X*a.m00+o.Y*a.m10+o.Z*a.m20,c=o.X*a.m01+o.Y*a.m11+o.Z*a.m21,o=o.X*a.m02+o.Y*a.m12+o.Z*a.m22,l=(e*a.m00+t*a.m10+r*a.m20)*(l/h),h=(e*a.m01+t*a.m11+r*a.m21)*(c/u),c=(e*a.m02+t*a.m12+r*a.m22)*(o/i),u=l*s.m00+h*s.m10+c*s.m20,e=l*s.m01+h*s.m11+c*s.m21,t=l*s.m02+h*s.m12+c*s.m22;return[255*ze(u*n.m00+e*n.m10+t*n.m20),255*ze(u*n.m01+e*n.m11+t*n.m21),255*ze(u*n.m02+e*n.m12+t*n.m22)]},He=(...e)=>{var[t,r,a]=e=p(e,"lab"),[t,r,a]=((e,t,r)=>{const{kE:a,kK:s,kKE:n,Xn:o,Yn:i,Zn:l}=w,c=(e+16)/116,h=.002*t+c,u=c-.005*r,f=h*h*h,d=u*u*u,p=f>a?f:(116*h-16)/s,g=e>n?Math.pow((e+16)/116,3):e/s,m=d>a?d:(116*u-16)/s,b=p*o,v=g*i,y=m*l;return[b,v,y]})(t,r,a),[t,r,a]=We(t,r,a);return[t,r,a,3<e.length?e[3]:1]};function Ye(e){var t=Math.sign(e);return((e=Math.abs(e))<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4))*t}var Ge=(e,t,r)=>{e=Ye(e/255),t=Ye(t/255),r=Ye(r/255);var{MtxRGB2XYZ:a,MtxAdaptMa:s,MtxAdaptMaI:n,Xn:o,Yn:i,Zn:l,As:c,Bs:h,Cs:u}=w,f=e*a.m00+t*a.m10+r*a.m20,d=e*a.m01+t*a.m11+r*a.m21,e=e*a.m02+t*a.m12+r*a.m22,t=o*s.m00+i*s.m10+l*s.m20,r=o*s.m01+i*s.m11+l*s.m21,a=o*s.m02+i*s.m12+l*s.m22,o=f*s.m00+d*s.m10+e*s.m20,i=f*s.m01+d*s.m11+e*s.m21,l=f*s.m02+d*s.m12+e*s.m22;return[(o*=t/c)*n.m00+(i*=r/h)*n.m10+(l*=a/u)*n.m20,o*n.m01+i*n.m11+l*n.m21,o*n.m02+i*n.m12+l*n.m22]},Je=(...e)=>{var[e,t,r,...a]=p(e,"rgb"),[e,t,r]=Ge(e,t,r),[e,t,r]=function(e,t,r){var{Xn:a,Yn:s,Zn:n,kE:o,kK:i}=w,e=e/a,a=t/s,t=r/n,s=o<e?Math.pow(e,1/3):(i*e+16)/116,r=o<a?Math.pow(a,1/3):(i*a+16)/116,n=o<t?Math.pow(t,1/3):(i*t+16)/116;return[116*r-16,500*(s-r),200*(r-n)]}(e,t,r);return[e,t,r,...0<a.length&&a[0]<1?[a[0]]:[]]},Xe=(m.prototype.lab=function(){return Je(this._rgb)},(Object.assign(R,{lab:(...e)=>new m(...e,"lab"),getLabWhitePoint:qe,setLabWhitePoint:i}),o.format.lab=He,o.autodetect.push({p:2,test:(...e)=>{if("array"===O(e=p(e,"lab"))&&3===e.length)return"lab"}}),m.prototype.darken=function(e=1){var t=this.lab();return t[0]-=w.Kn*e,new m(t,"lab").alpha(this.alpha(),!0)},m.prototype.brighten=function(e=1){return this.darken(-e)},m.prototype.darker=m.prototype.darken,m.prototype.brighter=m.prototype.brighten,m.prototype.get=function(e){var[e,t]=e.split("."),r=this[e]();if(t){var a=e.indexOf(t)-("ok"===e.substr(0,2)?2:0);if(-1<a)return r[a];throw new Error(`unknown channel ${t} in mode `+e)}return r},Math)["pow"]),Ze=(m.prototype.luminance=function(n,o="rgb"){if(void 0===n||"number"!==O(n))return Ze(...this._rgb.slice(0,3));{if(0===n)return new m([0,0,0,this._rgb[3]],"rgb");if(1===n)return new m([255,255,255,this._rgb[3]],"rgb");var e=this.luminance();let s=20;const i=(e,t)=>{var r=e.interpolate(t,.5,o),a=r.luminance();return Math.abs(n-a)<1e-7||!s--?r:n<a?i(e,r):i(r,t)};e=(n<e?i(new m([0,0,0]),this):i(this,new m([255,255,255]))).rgb();return new m([...e,this._rgb[3]])}},(e,t,r)=>.2126*(e=Qe(e))+.7152*(t=Qe(t))+.0722*(r=Qe(r))),Qe=e=>(e/=255)<=.03928?e/12.92:Xe((e+.055)/1.055,2.4),n={},h=(e,t,r=.5,...a)=>{let s=a[0]||"lrgb";if(n[s]||a.length||(s=Object.keys(n)[0]),n[s])return"object"!==O(e)&&(e=new m(e)),"object"!==O(t)&&(t=new m(t)),n[s](e,t,r).alpha(e.alpha()+r*(t.alpha()-e.alpha()));throw new Error(`interpolation mode ${s} is not defined`)},{sin:et,cos:tt}=(m.prototype.mix=m.prototype.interpolate=function(e,t=.5,...r){return h(this,e,t,...r)},m.prototype.premultiply=function(e=!1){var t=this._rgb,r=t[3];return e?(this._rgb=[t[0]*r,t[1]*r,t[2]*r,r],this):new m([t[0]*r,t[1]*r,t[2]*r,r],"rgb")},Math),rt=(...e)=>{let[t,r,a]=p(e,"lch");return isNaN(a)&&(a=0),a*=Ie,[t,tt(a)*r,et(a)*r]},at=(...e)=>{var[t,r,a]=e=p(e,"lch"),[t,r,a]=rt(t,r,a),[t,r,a]=He(t,r,a);return[t,r,a,3<e.length?e[3]:1]},e=(...e)=>{e=p(e,"hcl").reverse();return at(...e)},{sqrt:st,atan2:nt,round:ot}=Math,it=(...e)=>{var[e,t,r]=p(e,"lab"),a=st(t*t+r*r);let s=(nt(r,t)*_e+360)%360;return[e,a,s=0===ot(1e4*a)?Number.NaN:s]},lt=(...e)=>{var[e,t,r,...a]=p(e,"rgb"),[e,t,r]=Je(e,t,r),[e,t,r]=it(e,t,r);return[e,t,r,...0<a.length&&a[0]<1?[a[0]]:[]]},{sqrt:ct,pow:f}=(m.prototype.lch=function(){return lt(this._rgb)},m.prototype.hcl=function(){return lt(this._rgb).reverse()},Object.assign(R,{lch:(...e)=>new m(...e,"lch"),hcl:(...e)=>new m(...e,"hcl")}),o.format.lch=at,o.format.hcl=e,["lch","hcl"].forEach(t=>o.autodetect.push({p:2,test:(...e)=>{if("array"===O(e=p(e,t))&&3===e.length)return t}})),m.prototype.saturate=function(e=1){var t=this.lch();return t[1]+=w.Kn*e,t[1]<0&&(t[1]=0),new m(t,"lch").alpha(this.alpha(),!0)},m.prototype.desaturate=function(e=1){return this.saturate(-e)},m.prototype.set=function(e,t,r=!1){var[e,a]=e.split("."),s=this[e]();if(a){var n=e.indexOf(a)-("ok"===e.substr(0,2)?2:0);if(-1<n){if("string"==O(t))switch(t.charAt(0)){case"+":case"-":s[n]+=+t;break;case"*":s[n]*=+t.substr(1);break;case"/":s[n]/=+t.substr(1);break;default:s[n]=+t}else{if("number"!==O(t))throw new Error("unsupported value for Color.set");s[n]=t}var o=new m(s,e);return r?(this._rgb=o._rgb,this):o}throw new Error(`unknown channel ${a} in mode `+e)}return s},m.prototype.tint=function(e=.5,...t){return h(this,"white",e,...t)},m.prototype.shade=function(e=.5,...t){return h(this,"black",e,...t)},n.rgb=(e,t,r)=>{e=e._rgb,t=t._rgb;return new m(e[0]+r*(t[0]-e[0]),e[1]+r*(t[1]-e[1]),e[2]+r*(t[2]-e[2]),"rgb")},Math),d=(n.lrgb=(e,t,r)=>{var[e,a,s]=e._rgb,[t,n,o]=t._rgb;return new m(ct(f(e,2)*(1-r)+f(t,2)*r),ct(f(a,2)*(1-r)+f(n,2)*r),ct(f(s,2)*(1-r)+f(o,2)*r),"rgb")},n.lab=(e,t,r)=>{e=e.lab(),t=t.lab();return new m(e[0]+r*(t[0]-e[0]),e[1]+r*(t[1]-e[1]),e[2]+r*(t[2]-e[2]),"lab")},(e,t,r,a)=>{let s,n;"hsl"===a?(s=e.hsl(),n=t.hsl()):"hsv"===a?(s=e.hsv(),n=t.hsv()):"hcg"===a?(s=e.hcg(),n=t.hcg()):"hsi"===a?(s=e.hsi(),n=t.hsi()):"lch"===a||"hcl"===a?(a="hcl",s=e.hcl(),n=t.hcl()):"oklch"===a&&(s=e.oklch().reverse(),n=t.oklch().reverse());let o,i,l,c,h,u;"h"!==a.substr(0,1)&&"oklch"!==a||([o,l,h]=s,[i,c,u]=n);let f,d,p,g;return isNaN(o)||isNaN(i)?isNaN(o)?isNaN(i)?d=Number.NaN:(d=i,1!=h&&0!=h||"hsv"==a||(f=c)):(d=o,1!=u&&0!=u||"hsv"==a||(f=l)):(g=i>o&&180<i-o?i-(o+360):i<o&&180<o-i?i+360-o:i-o,d=o+r*g),void 0===f&&(f=l+r*(c-l)),p=h+r*(u-h),new m("oklch"===a?[p,f,d]:[d,f,p],a)}),e=(e,t,r)=>d(e,t,r,"lch"),e=(n.lch=e,n.hcl=e,e=>{if("number"==O(e)&&0<=e&&e<=16777215)return[e>>16,e>>8&255,255&e,1];throw new Error("unknown num color: "+e)}),ht=(...e)=>{var[e,t,r]=p(e,"rgb");return(e<<16)+(t<<8)+r},ut=(m.prototype.num=function(){return ht(this._rgb)},Object.assign(R,{num:(...e)=>new m(...e,"num")}),o.format.num=e,o.autodetect.push({p:5,test:(...e)=>{if(1===e.length&&"number"===O(e[0])&&0<=e[0]&&e[0]<=16777215)return"num"}}),(n.num=(e,t,r)=>{e=e.num(),t=t.num();return new m(e+r*(t-e),"num")},Math)["floor"]),e=(...e)=>{let[t,r,a]=e=p(e,"hcg"),s,n,o;a*=255;var i=255*r;if(0===r)s=n=o=a;else{360<(t=360===t?0:t)&&(t-=360),t<0&&(t+=360),t/=60;var l=ut(t),c=t-l,h=a*(1-r),u=h+i*(1-c),f=h+i*c,d=h+i;switch(l){case 0:[s,n,o]=[d,f,h];break;case 1:[s,n,o]=[u,d,h];break;case 2:[s,n,o]=[h,d,f];break;case 3:[s,n,o]=[h,u,d];break;case 4:[s,n,o]=[f,h,d];break;case 5:[s,n,o]=[d,h,u]}}return[s,n,o,3<e.length?e[3]:1]},ft=(...e)=>{var[e,t,r]=p(e,"rgb"),a=Me(e,t,r),s=Ee(e,t,r),n=s-a;let o;return 0==n?o=Number.NaN:(e===s&&(o=(t-r)/n),t===s&&(o=2+(r-e)/n),r===s&&(o=4+(e-t)/n),(o*=60)<0&&(o+=360)),[o,100*n/255,a/(255-n)*100]},v=(m.prototype.hcg=function(){return ft(this._rgb)},R.hcg=(...e)=>new m(...e,"hcg"),o.format.hcg=e,o.autodetect.push({p:1,test:(...e)=>{if("array"===O(e=p(e,"hcg"))&&3===e.length)return"hcg"}}),(n.hcg=(e,t,r)=>d(e,t,r,"hcg"),Math)["cos"]),e=(...e)=>{let[t,r,a]=e=p(e,"hsi"),s,n,o;return isNaN(t)&&(t=0),isNaN(r)&&(r=0),360<t&&(t-=360),t<0&&(t+=360),(t/=360)<1/3?(o=(1-r)/3,s=(1+r*v(u*t)/v(Ae-u*t))/3,n=1-(o+s)):t<2/3?(t-=1/3,s=(1-r)/3,n=(1+r*v(u*t)/v(Ae-u*t))/3,o=1-(s+n)):(t-=2/3,n=(1-r)/3,o=(1+r*v(u*t)/v(Ae-u*t))/3,s=1-(n+o)),s=L(a*s*3),n=L(a*n*3),o=L(a*o*3),[255*s,255*n,255*o,3<e.length?e[3]:1]},{min:dt,sqrt:pt,acos:gt}=Math,mt=(...e)=>{var[e,t,r]=p(e,"rgb");let a;var s=dt(e/=255,t/=255,r/=255),n=(e+t+r)/3,s=0<n?1-s/n:0;return 0==s?a=NaN:(a=(e-t+(e-r))/2,a/=pt((e-t)*(e-t)+(e-r)*(t-r)),a=gt(a),t<r&&(a=u-a),a/=u),[360*a,s,n]},bt=(m.prototype.hsi=function(){return mt(this._rgb)},R.hsi=(...e)=>new m(...e,"hsi"),o.format.hsi=e,o.autodetect.push({p:2,test:(...e)=>{if("array"===O(e=p(e,"hsi"))&&3===e.length)return"hsi"}}),n.hsi=(e,t,r)=>d(e,t,r,"hsi"),(...e)=>{var[t,r,a]=e=p(e,"hsl");let s,n,o;if(0===r)s=n=o=255*a;else{var i=[0,0,0],l=[0,0,0],c=a<.5?a*(1+r):a+r-a*r,h=2*a-c,r=t/360;i[0]=r+1/3,i[1]=r,i[2]=r-1/3;for(let e=0;e<3;e++)i[e]<0&&(i[e]+=1),1<i[e]&&--i[e],6*i[e]<1?l[e]=h+6*(c-h)*i[e]:2*i[e]<1?l[e]=c:3*i[e]<2?l[e]=h+(c-h)*(2/3-i[e])*6:l[e]=h;[s,n,o]=[255*l[0],255*l[1],255*l[2]]}return 3<e.length?[s,n,o,e[3]]:[s,n,o,1]}),vt=(...e)=>{var[t,r,a]=e=p(e,"rgba"),s=Me(t/=255,r/=255,a/=255),n=Ee(t,r,a),o=(n+s)/2;let i,l;return n===s?(i=0,l=Number.NaN):i=o<.5?(n-s)/(n+s):(n-s)/(2-n-s),t==n?l=(r-a)/(n-s):r==n?l=2+(a-t)/(n-s):a==n&&(l=4+(t-r)/(n-s)),(l*=60)<0&&(l+=360),3<e.length&&void 0!==e[3]?[l,i,o,e[3]]:[l,i,o]},yt=(m.prototype.hsl=function(){return vt(this._rgb)},R.hsl=(...e)=>new m(...e,"hsl"),o.format.hsl=bt,o.autodetect.push({p:2,test:(...e)=>{if("array"===O(e=p(e,"hsl"))&&3===e.length)return"hsl"}}),(n.hsl=(e,t,r)=>d(e,t,r,"hsl"),Math)["floor"]),e=(...e)=>{let[t,r,a]=e=p(e,"hsv"),s,n,o;if(a*=255,0===r)s=n=o=a;else{360<(t=360===t?0:t)&&(t-=360),t<0&&(t+=360),t/=60;var i=yt(t),l=t-i,c=a*(1-r),h=a*(1-r*l),u=a*(1-r*(1-l));switch(i){case 0:[s,n,o]=[a,u,c];break;case 1:[s,n,o]=[h,a,c];break;case 2:[s,n,o]=[c,a,u];break;case 3:[s,n,o]=[c,h,a];break;case 4:[s,n,o]=[u,c,a];break;case 5:[s,n,o]=[a,c,h]}}return[s,n,o,3<e.length?e[3]:1]},{min:wt,max:kt}=Math,xt=(...e)=>{var[e,t,r]=e=p(e,"rgb"),a=wt(e,t,r),s=kt(e,t,r),a=s-a;let n,o;return 0===s?(n=Number.NaN,o=0):(o=a/s,e===s&&(n=(t-r)/a),t===s&&(n=2+(r-e)/a),r===s&&(n=4+(e-t)/a),(n*=60)<0&&(n+=360)),[n,o,s/255]};m.prototype.hsv=function(){return xt(this._rgb)},R.hsv=(...e)=>new m(...e,"hsv"),o.format.hsv=e,o.autodetect.push({p:2,test:(...e)=>{if("array"===O(e=p(e,"hsv"))&&3===e.length)return"hsv"}});function St(e,r){var t=e.length,a=(Array.isArray(e[0])||(e=[e]),(r=Array.isArray(r[0])?r:r.map(e=>[e]))[0].length);let s=r[0].map((e,t)=>r.map(e=>e[t])),n=e.map(r=>s.map(a=>Array.isArray(r)?r.reduce((e,t,r)=>e+t*(a[r]||0),0):a.reduce((e,t)=>e+t*r,0)));return 1===t&&(n=n[0]),1===a?n.map(e=>e[0]):n}n.hsv=(e,t,r)=>d(e,t,r,"hsv");var Lt=(...e)=>{var[e,t,r,...a]=e=p(e,"lab"),[e,t,r]=function(e){e=St([[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],e);return St([[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],e.map(e=>e**3))}([e,t,r]),[e,t,r]=We(e,t,r);return[e,t,r,...0<a.length&&a[0]<1?[a[0]]:[]]};var Ot=(...e)=>{var[e,t,r,...a]=p(e,"rgb");return[...function(e){e=St([[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],e);return St([[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],e.map(e=>Math.cbrt(e)))}(Ge(e,t,r)),...0<a.length&&a[0]<1?[a[0]]:[]]},{pow:Rt,sqrt:Nt,PI:Ct,cos:jt,sin:Pt,atan2:Mt}=(m.prototype.oklab=function(){return Ot(this._rgb)},Object.assign(R,{oklab:(...e)=>new m(...e,"oklab")}),o.format.oklab=Lt,o.autodetect.push({p:2,test:(...e)=>{if("array"===O(e=p(e,"oklab"))&&3===e.length)return"oklab"}}),n.oklab=(e,t,r)=>{e=e.oklab(),t=t.oklab();return new m(e[0]+r*(t[0]-e[0]),e[1]+r*(t[1]-e[1]),e[2]+r*(t[2]-e[2]),"oklab")},n.oklch=(e,t,r)=>d(e,t,r,"oklch"),Math),Et=Math["pow"];function $t(n){let o="rgb",i=R("#ccc"),t=0,l=[0,1],c=[],h=[0,0],u=!1,f=[],r=!1,d=0,p=1,a,g={},m=!0,b=1;function s(t){if((t=t||["#fff","#000"])&&"string"===O(t)&&R.brewer&&R.brewer[t.toLowerCase()]&&(t=R.brewer[t.toLowerCase()]),"array"===O(t)){t=(t=1===t.length?[t[0],t[0]]:t).slice(0);for(let e=0;e<t.length;e++)t[e]=R(t[e]);for(let e=c.length=0;e<t.length;e++)c.push(e/(t.length-1))}x(),f=t}const v=function(t){if(null==u)return 0;{var r=u.length-1;let e=0;for(;e<r&&t>=u[e];)e++;return e-1}};let y=e=>e,w=e=>e;function k(e,t){let r,a;if(null==t&&(t=!1),isNaN(e)||null===e)return i;if(a=t?e:u&&2<u.length?v(e)/(u.length-2):p!==d?(e-d)/(p-d):1,a=w(a),t||(a=y(a)),1!==b&&(a=Et(a,b)),a=h[0]+a*(1-h[0]-h[1]),a=L(a,0,1),e=Math.floor(1e4*a),m&&g[e])r=g[e];else{if("array"===O(f))for(let e=0;e<c.length;e++){var s=c[e];if(a<=s){r=f[e];break}if(a>=s&&e===c.length-1){r=f[e];break}if(a>s&&a<c[e+1]){a=(a-s)/(c[e+1]-s),r=R.interpolate(f[e],f[e+1],a,o);break}}else"function"===O(f)&&(r=f(a));m&&(g[e]=r)}return r}var x=()=>g={};s(n);function S(e){return e=R(k(e)),r&&e[r]?e[r]():e}return S.classes=function(e){var t;return null!=e?("array"===O(e)?(u=e,l=[e[0],e[e.length-1]]):(t=R.analyze(l),u=0===e?[t.min,t.max]:R.limits(t,"e",e)),S):u},S.domain=function(r){if(!arguments.length)return l;d=r[0],p=r[r.length-1],c=[];var t=f.length;if(r.length===t&&d!==p)for(var e of Array.from(r))c.push((e-d)/(p-d));else{for(let e=0;e<t;e++)c.push(e/(t-1));if(2<r.length){const a=r.map((e,t)=>t/(r.length-1)),s=r.map(e=>(e-d)/(p-d));s.every((e,t)=>a[t]===e)||(w=e=>{if(e<=0||1<=e)return e;let t=0;for(;e>=s[t+1];)t++;var r=(e-s[t])/(s[t+1]-s[t]);return a[t]+r*(a[t+1]-a[t])})}}return l=[d,p],S},S.mode=function(e){return arguments.length?(o=e,x(),S):o},S.range=function(e,t){return s(e),S},S.out=function(e){return r=e,S},S.spread=function(e){return arguments.length?(t=e,S):t},S.correctLightness=function(e){return null==e&&(e=!0),a=e,x(),y=a?function(e){var t=k(0,!0).lab()[0],r=k(1,!0).lab()[0];const a=r<t;let s=k(e,!0).lab()[0];const n=t+(r-t)*e;let o=s-n,i=0,l=1,c=20;for(;.01<Math.abs(o)&&0<c--;)a&&(o*=-1),o<0?(i=e,e+=.5*(l-e)):(l=e,e+=.5*(i-e)),s=k(e,!0).lab()[0],o=s-n;return e}:e=>e,S},S.padding=function(e){return null!=e?("number"===O(e)&&(e=[e,e]),h=e,S):h},S.colors=function(t,r){arguments.length<2&&(r="hex");let e=[];if(0===arguments.length)e=f.slice(0);else if(1===t)e=[S(.5)];else if(1<t){const a=l[0],s=l[1]-a;e=function(t,e,r){var a=[],s=t<e,n=r?s?e+1:e-1:e;for(let e=t;s?e<n:e>n;s?e++:e--)a.push(e);return a}(0,t,!1).map(e=>S(a+e/(t-1)*s))}else{n=[];let a=[];if(u&&2<u.length)for(let e=1,t=u.length,r=1<=t;r?e<t:e>t;r?e++:e--)a.push(.5*(u[e-1]+u[e]));else a=l;e=a.map(e=>S(e))}return e=R[r]?e.map(e=>e[r]()):e},S.cache=function(e){return null!=e?(m=e,S):m},S.gamma=function(e){return null!=e?(b=e,S):b},S.nodata=function(e){return null!=e?(i=R(e),S):i},S}var At=function(t){let r=[1,1];for(let e=1;e<t;e++){var a=[1];for(let e=1;e<=r.length;e++)a[e]=(r[e]||0)+r[e-1];r=a}return r},It=Math["round"],y=(m.prototype.rgb=function(e=!0){return!1===e?this._rgb.slice(0,3):this._rgb.slice(0,3).map(It)},m.prototype.rgba=function(r=!0){return this._rgb.slice(0,4).map((e,t)=>!(t<3)||!1===r?e:It(e))},Object.assign(R,{rgb:(...e)=>new m(...e,"rgb")}),o.format.rgb=(...e)=>{e=p(e,"rgba");return void 0===e[3]&&(e[3]=1),e},o.autodetect.push({p:3,test:(...e)=>{if("array"===O(e=p(e,"rgba"))&&(3===e.length||4===e.length&&"number"==O(e[3])&&0<=e[3]&&e[3]<=1))return"rgb"}}),(e,t,r)=>{if(y[r])return y[r](e,t);throw new Error("unknown blend mode "+r)}),e=r=>(e,t)=>{t=R(t).rgb(),e=R(e).rgb();return R.rgb(r(t,e))},t=a=>(e,t)=>{var r=[];return r[0]=a(e[0],t[0]),r[1]=a(e[1],t[1]),r[2]=a(e[2],t[2]),r},e=(y.normal=e(t(e=>e)),y.multiply=e(t((e,t)=>e*t/255)),y.screen=e(t((e,t)=>255*(1-(1-e/255)*(1-t/255)))),y.overlay=e(t((e,t)=>t<128?2*e*t/255:255*(1-2*(1-e/255)*(1-t/255)))),y.darken=e(t((e,t)=>t<e?t:e)),y.lighten=e(t((e,t)=>t<e?e:t)),y.dodge=e(t((e,t)=>255===e||255<(e=t/255*255/(1-e/255))?255:e)),y.burn=e(t((e,t)=>255*(1-(1-t/255)/(e/255)))),y),{pow:_t,sin:Ut,cos:Ft}=Math;var{floor:Tt,random:Vt}=Math,{log:Bt,pow:Dt,floor:Kt,abs:qt}=Math;function zt(e,t=null){const r={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0};return(e="object"===O(e)?Object.values(e):e).forEach(e=>{null==(e=t&&"object"===O(e)?e[t]:e)||isNaN(e)||(r.values.push(e),r.sum+=e,e<r.min&&(r.min=e),e>r.max&&(r.max=e),r.count+=1)}),r.domain=[r.min,r.max],r.limits=(e,t)=>Wt(r,e,t),r}function Wt(e,t="equal",n=7){var{min:o,max:i}=e="array"==O(e)?zt(e):e,l=e.values.sort((e,t)=>e-t);if(1===n)return[o,i];var c=[];if("c"===t.substr(0,1)&&(c.push(o),c.push(i)),"e"===t.substr(0,1)){c.push(o);for(let e=1;e<n;e++)c.push(o+e/n*(i-o));c.push(i)}else if("l"===t.substr(0,1)){if(o<=0)throw new Error("Logarithmic scales are only possible for values > 0");var r=Math.LOG10E*Bt(o),a=Math.LOG10E*Bt(i);c.push(o);for(let e=1;e<n;e++)c.push(Dt(10,r+e/n*(a-r)));c.push(i)}else if("q"===t.substr(0,1)){c.push(o);for(let e=1;e<n;e++){var s=(l.length-1)*e/n,h=Kt(s);c.push(h===s?l[h]:l[h]*(1-(s=s-h))+l[h+1]*s)}c.push(i)}else if("k"===t.substr(0,1)){let t;var u=l.length,f=new Array(u),d=new Array(n);let r=!0,e=0,s=null;(s=[]).push(o);for(let e=1;e<n;e++)s.push(o+e/n*(i-o));for(s.push(i);r;){for(let e=0;e<n;e++)d[e]=0;for(let a=0;a<u;a++){var p=l[a];let t=Number.MAX_VALUE,r;for(let e=0;e<n;e++){var g=qt(s[e]-p);g<t&&(t=g,r=e),d[r]++,f[a]=r}}var m=new Array(n);for(let e=0;e<n;e++)m[e]=null;for(let e=0;e<u;e++)null===m[t=f[e]]?m[t]=l[e]:m[t]+=l[e];for(let e=0;e<n;e++)m[e]*=1/d[e];r=!1;for(let e=0;e<n;e++)if(m[e]!==s[e]){r=!0;break}s=m,200<++e&&(r=!1)}var b={};for(let e=0;e<n;e++)b[e]=[];for(let e=0;e<u;e++)b[t=f[e]].push(l[e]);let a=[];for(let e=0;e<n;e++)a.push(b[e][0]),a.push(b[e][b[e].length-1]);a=a.sort((e,t)=>e-t),c.push(a[0]);for(let e=1;e<a.length;e+=2){var v=a[e];isNaN(v)||-1!==c.indexOf(v)||c.push(v)}}return c}function Ht(e,t,r){return.2126729*Math.pow(e/255,2.4)+.7151522*Math.pow(t/255,2.4)+.072175*Math.pow(r/255,2.4)}var{sqrt:k,pow:x,min:Yt,max:Gt,atan2:Jt,abs:Xt,cos:Zt,sin:Qt,exp:er,PI:tr}=Math;var t={cool(){return $t([R.hsl(180,1,.9),R.hsl(250,.7,.4)])},hot(){return $t(["#000","#f00","#ff0","#fff"]).mode("rgb")}},rr={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},ar=Object.keys(rr),sr=new Map(ar.map(e=>[e.toLowerCase(),e])),rr="function"==typeof Proxy?new Proxy(rr,{get(e,t){t=t.toLowerCase();if(sr.has(t))return e[sr.get(t)]},getOwnPropertyNames(){return Object.getOwnPropertyNames(ar)}}):rr,S=(...e)=>{var[t,r,a,s]=e=p(e,"cmyk"),e=4<e.length?e[4]:1;return 1===s?[0,0,0,e]:[1<=t?0:255*(1-t)*(1-s),1<=r?0:255*(1-r)*(1-s),1<=a?0:255*(1-a)*(1-s),e]},nr=Math["max"],or=(...e)=>{var[e,t,r]=p(e,"rgb"),a=1-nr(e/=255,nr(t/=255,r/=255)),s=a<1?1/(1-a):0;return[(1-e-a)*s,(1-t-a)*s,(1-r-a)*s,a]},ir=(m.prototype.cmyk=function(){return or(this._rgb)},Object.assign(R,{cmyk:(...e)=>new m(...e,"cmyk")}),o.format.cmyk=S,o.autodetect.push({p:2,test:(...e)=>{if("array"===O(e=p(e,"cmyk"))&&4===e.length)return"cmyk"}}),(...e)=>{var t=p(e,"hsla");let r=c(e)||"lsa";return t[0]=a(t[0]||0)+"deg",t[1]=a(100*t[1])+"%",t[2]=a(100*t[2])+"%","hsla"===r||3<t.length&&t[3]<1?(t[3]="/ "+(3<t.length?t[3]:1),r="hsla"):t.length=3,`${r.substr(0,3)}(${t.join(" ")})`}),lr=(...e)=>{var t=p(e,"lab"),e=c(e)||"lab";return t[0]=a(t[0])+"%",t[1]=a(t[1]),t[2]=a(t[2]),"laba"===e||3<t.length&&t[3]<1?t[3]="/ "+(3<t.length?t[3]:1):t.length=3,`lab(${t.join(" ")})`},cr=(...e)=>{var t=p(e,"lch"),e=c(e)||"lab";return t[0]=a(t[0])+"%",t[1]=a(t[1]),t[2]=isNaN(t[2])?"none":a(t[2])+"deg","lcha"===e||3<t.length&&t[3]<1?t[3]="/ "+(3<t.length?t[3]:1):t.length=3,`lch(${t.join(" ")})`},hr=(...e)=>{e=p(e,"lab");return e[0]=a(100*e[0])+"%",e[1]=$e(e[1]),e[2]=$e(e[2]),3<e.length&&e[3]<1?e[3]="/ "+(3<e.length?e[3]:1):e.length=3,`oklab(${e.join(" ")})`},ur=(...e)=>{var[e,t,r,...a]=p(e,"rgb"),[e,t,r]=Ot(e,t,r),[e,t,r]=it(e,t,r);return[e,t,r,...0<a.length&&a[0]<1?[a[0]]:[]]},fr=(...e)=>{e=p(e,"lch");return e[0]=a(100*e[0])+"%",e[1]=$e(e[1]),e[2]=isNaN(e[2])?"none":a(e[2])+"deg",3<e.length&&e[3]<1?e[3]="/ "+(3<e.length?e[3]:1):e.length=3,`oklch(${e.join(" ")})`},dr=Math["round"],pr=(...e)=>{var t,r=p(e,"rgba");let a=c(e)||"rgb";return"hsl"===a.substr(0,3)?ir(vt(r),a):"lab"===a.substr(0,3)?(e=qe(),i("d50"),t=lr(Je(r),a),i(e),t):"lch"===a.substr(0,3)?(e=qe(),i("d50"),t=cr(lt(r),a),i(e),t):"oklab"===a.substr(0,5)?hr(Ot(r)):"oklch"===a.substr(0,5)?fr(ur(r)):(r[0]=dr(r[0]),r[1]=dr(r[1]),r[2]=dr(r[2]),("rgba"===a||3<r.length&&r[3]<1)&&(r[3]="/ "+(3<r.length?r[3]:1),a="rgba"),`${a.substr(0,3)}(${r.slice(0,"rgb"===a?3:4).join(" ")})`)},gr=(...e)=>{var[e,t,r,...a]=e=p(e,"lch"),[e,t,r]=rt(e,t,r),[e,t,r]=Lt(e,t,r);return[e,t,r,...0<a.length&&a[0]<1?[a[0]]:[]]},S=/((?:-?\d+)|(?:-?\d+(?:\.\d+)?)%|none)/.source,N=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)%?)|none)/.source,C=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)%)|none)/.source,j=/\s*/.source,M=/\s+/.source,mr=/\s*,\s*/.source,br=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)(?:deg)?)|none)/.source,E=/\s*(?:\/\s*((?:[01]|[01]?\.\d+)|\d+(?:\.\d+)?%))?/.source,vr=new RegExp("^rgba?\\("+j+[S,S,S].join(M)+E+"\\)$"),yr=new RegExp("^rgb\\("+j+[S,S,S].join(mr)+j+"\\)$"),wr=new RegExp("^rgba\\("+j+[S,S,S,N].join(mr)+j+"\\)$"),kr=new RegExp("^hsla?\\("+j+[br,C,C].join(M)+E+"\\)$"),xr=new RegExp("^hsl?\\("+j+[br,C,C].join(mr)+j+"\\)$"),Sr=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,Lr=new RegExp("^lab\\("+j+[N,N,N].join(M)+E+"\\)$"),Or=new RegExp("^lch\\("+j+[N,N,br].join(M)+E+"\\)$"),Rr=new RegExp("^oklab\\("+j+[N,N,N].join(M)+E+"\\)$"),Nr=new RegExp("^oklch\\("+j+[N,N,br].join(M)+E+"\\)$"),Cr=Math["round"],jr=e=>e.map((e,t)=>t<=2?L(Cr(e),0,255):e),$=(e,t=0,r=100,a=!1)=>("string"==typeof e&&e.endsWith("%")&&(e=parseFloat(e.substring(0,e.length-1))/100,e=a?t+.5*(e+1)*(r-t):t+e*(r-t)),+e),A=(e,t)=>"none"===e?t:e,S=e=>{if("transparent"===(e=e.toLowerCase().trim()))return[0,0,0,0];let r;if(o.format.named)try{return o.format.named(e)}catch(e){}if(r=(r=e.match(vr))||e.match(yr)){let t=r.slice(1,4);for(let e=0;e<3;e++)t[e]=+$(A(t[e],0),0,255);t=jr(t);var a=void 0!==r[4]?+$(r[4],0,1):1;return t[3]=a,t}if(r=e.match(wr)){var t=r.slice(1,5);for(let e=0;e<4;e++)t[e]=+$(t[e],0,255);return t}if(r=(r=e.match(kr))||e.match(xr))return(a=r.slice(1,4))[0]=+A(a[0].replace("deg",""),0),a[1]=.01*+$(A(a[1],0),0,100),a[2]=.01*+$(A(a[2],0),0,100),a=jr(bt(a)),s=void 0!==r[4]?+$(r[4],0,1):1,a[3]=s,a;if(r=e.match(Sr)){var s=r.slice(1,4),n=(s[1]*=.01,s[2]*=.01,bt(s));for(let e=0;e<3;e++)n[e]=Cr(n[e]);return n[3]=+r[4],n}return(r=e.match(Lr))?((a=r.slice(1,4))[0]=$(A(a[0],0),0,100),a[1]=$(A(a[1],0),-125,125,!0),a[2]=$(A(a[2],0),-125,125,!0),s=qe(),i("d50"),a=jr(He(a)),i(s),s=void 0!==r[4]?+$(r[4],0,1):1,a[3]=s,a):(r=e.match(Or))?((s=r.slice(1,4))[0]=$(s[0],0,100),s[1]=$(A(s[1],0),0,150,!1),s[2]=+A(s[2].replace("deg",""),0),a=qe(),i("d50"),s=jr(at(s)),i(a),a=void 0!==r[4]?+$(r[4],0,1):1,s[3]=a,s):(r=e.match(Rr))?((a=r.slice(1,4))[0]=$(A(a[0],0),0,1),a[1]=$(A(a[1],0),-.4,.4,!0),a[2]=$(A(a[2],0),-.4,.4,!0),s=jr(Lt(a)),a=void 0!==r[4]?+$(r[4],0,1):1,s[3]=a,s):(r=e.match(Nr))?((a=r.slice(1,4))[0]=$(A(a[0],0),0,1),a[1]=$(A(a[1],0),0,.4,!1),a[2]=+A(a[2].replace("deg",""),0),s=jr(gr(a)),e=void 0!==r[4]?+$(r[4],0,1):1,s[3]=e,s):void 0},Pr=(S.test=e=>vr.test(e)||kr.test(e)||Lr.test(e)||Or.test(e)||Rr.test(e)||Nr.test(e)||yr.test(e)||wr.test(e)||xr.test(e)||Sr.test(e)||"transparent"===e,S),Mr=(m.prototype.css=function(e){return pr(this._rgb,e)},R.css=(...e)=>new m(...e,"css"),o.format.css=Pr,o.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&"string"===O(e)&&Pr.test(e))return"css"}}),o.format.gl=(...e)=>{e=p(e,"rgba");return e[0]*=255,e[1]*=255,e[2]*=255,e},R.gl=(...e)=>new m(...e,"gl"),m.prototype.gl=function(){var e=this._rgb;return[e[0]/255,e[1]/255,e[2]/255,e[3]]},m.prototype.hex=function(e){return Be(this._rgb,e)},(R.hex=(...e)=>new m(...e,"hex"),o.format.hex=Te,o.autodetect.push({p:4,test:(e,...t)=>{if(!t.length&&"string"===O(e)&&0<=[3,4,5,6,7,8,9].indexOf(e.length))return"hex"}}),Math)["log"]),Er=e=>{e/=100;let t,r,a;return a=e<66?(t=255,r=e<6?0:-155.25485562709179-.44596950469579133*(r=e-2)+104.49216199393888*Mr(r),e<20?0:.8274096064007395*(a=e-10)-254.76935184120902+115.67994401066147*Mr(a)):(t=351.97690566805693+.114206453784165*(t=e-55)-40.25366309332127*Mr(t),r=325.4494125711974+.07943456536662342*(r=e-50)-28.0852963507957*Mr(r),255),[t,r,a,1]},$r=Math["round"],Ar=(...e)=>{var e=p(e,"rgb"),t=e[0],r=e[2];let a=1e3,s=4e4;let n;for(;.4<s-a;){n=.5*(s+a);var o=Er(n);o[2]/o[0]>=r/t?s=n:a=n}return $r(n)},C=(m.prototype.temp=m.prototype.kelvin=m.prototype.temperature=function(){return Ar(this._rgb)},(...e)=>new m(...e,"temp")),Ir=(Object.assign(R,{temp:C,kelvin:C,temperature:C}),o.format.temp=o.format.kelvin=o.format.temperature=Er,m.prototype.oklch=function(){return ur(this._rgb)},Object.assign(R,{oklch:(...e)=>new m(...e,"oklch")}),o.format.oklch=gr,o.autodetect.push({p:2,test:(...e)=>{if("array"===O(e=p(e,"oklch"))&&3===e.length)return"oklch"}}),Object.assign(R,{analyze:zt,average:(e,i="lrgb",l=null)=>{var t=e.length;const r=t/(l=l||Array.from(new Array(t)).map(()=>1)).reduce(function(e,t){return e+t});if(l.forEach((e,t)=>{l[t]*=r}),e=e.map(e=>new m(e)),"lrgb"===i){var a=e,s=l,n=a.length,o=[0,0,0,0];for(let e=0;e<a.length;e++){var c=a[e],h=s[e]/n,c=c._rgb;o[0]+=Rt(c[0],2)*h,o[1]+=Rt(c[1],2)*h,o[2]+=Rt(c[2],2)*h,o[3]+=c[3]*h}return o[0]=Nt(o[0]),o[1]=Nt(o[1]),o[2]=Nt(o[2]),.9999999<o[3]&&(o[3]=1),new m(je(o))}{var u,f=e.shift();const d=f.get(i),p=[];let s=0,n=0;for(let e=0;e<d.length;e++)d[e]=(d[e]||0)*l[0],p.push(isNaN(d[e])?0:l[0]),"h"!==i.charAt(e)||isNaN(d[e])||(u=d[e]/180*Ct,s+=jt(u)*l[0],n+=Pt(u)*l[0]);let o=f.alpha()*l[0];e.forEach((e,t)=>{var r,a=e.get(i);o+=e.alpha()*l[t+1];for(let e=0;e<d.length;e++)isNaN(a[e])||(p[e]+=l[t+1],"h"===i.charAt(e)?(r=a[e]/180*Ct,s+=jt(r)*l[t+1],n+=Pt(r)*l[t+1]):d[e]+=a[e]*l[t+1])});for(let t=0;t<d.length;t++)if("h"===i.charAt(t)){let e=Mt(n/p[t],s/p[t])/Ct*180;for(;e<0;)e+=360;for(;360<=e;)e-=360;d[t]=e}else d[t]=d[t]/p[t];return o/=t,new m(d,i).alpha(.99999<o?1:o,!0)}},bezier:e=>{const t=function(e){let a,s,n,o;if(2===(e=e.map(e=>new m(e))).length)[s,n]=e.map(e=>e.lab()),a=function(t){var e=[0,1,2].map(e=>s[e]+t*(n[e]-s[e]));return new m(e,"lab")};else if(3===e.length)[s,n,o]=e.map(e=>e.lab()),a=function(t){var e=[0,1,2].map(e=>(1-t)*(1-t)*s[e]+2*(1-t)*t*n[e]+t*t*o[e]);return new m(e,"lab")};else if(4===e.length){let r;[s,n,o,r]=e.map(e=>e.lab()),a=function(t){var e=[0,1,2].map(e=>(1-t)*(1-t)*(1-t)*s[e]+3*(1-t)*(1-t)*t*n[e]+3*(1-t)*t*t*o[e]+t*t*t*r[e]);return new m(e,"lab")}}else{if(!(5<=e.length))throw new RangeError("No point in running bezier with only one color.");{let t,o,i;t=e.map(e=>e.lab()),i=e.length-1,o=At(i),a=function(s){const n=1-s;var e=[0,1,2].map(a=>t.reduce((e,t,r)=>e+o[r]*n**(i-r)*s**r*t[a],0));return new m(e,"lab")}}}return a}(e);return t.scale=()=>$t(t),t},blend:e,brewer:rr,Color:m,colors:s,contrast:(e,t)=>{e=new m(e),t=new m(t);e=e.luminance(),t=t.luminance();return t<e?(e+.05)/(t+.05):(t+.05)/(e+.05)},contrastAPCA:(e,t)=>{e=new m(e),t=new m(t);var e=Ht(...(e=e.alpha()<1?h(t,e,e.alpha(),"rgb"):e).rgb()),t=Ht(...t.rgb()),e=.022<=e?e:e+Math.pow(.022-e,1.414),t=.022<=t?t:t+Math.pow(.022-t,1.414),r=Math.pow(t,.56)-Math.pow(e,.57),a=Math.pow(t,.65)-Math.pow(e,.62),e=Math.abs(t-e)<5e-4?0:e<t?1.14*r:1.14*a;return 100*(Math.abs(e)<.1?0:0<e?e-.027:.027+e)},cubehelix:function(s=300,n=-1.5,o=1,i=1,l=[0,1]){let c=0,h;function t(e){var t=u*((s+120)/360+n*e),r=_t(l[0]+h*e,i),e=(0!==c?o[0]+e*c:o)*r*(1-r)/2,a=Ft(t),t=Ut(t);return R(je([255*(r+e*(-.14861*a+1.78277*t)),255*(r+e*(-.29227*a-.90649*t)),255*(r+1.97294*a*e),1]))}return"array"===O(l)?h=l[1]-l[0]:(h=0,l=[l,l]),t.start=function(e){return null==e?s:(s=e,t)},t.rotations=function(e){return null==e?n:(n=e,t)},t.gamma=function(e){return null==e?i:(i=e,t)},t.hue=function(e){return null==e?o:("array"===O(o=e)?0===(c=o[1]-o[0])&&(o=o[1]):c=0,t)},t.lightness=function(e){return null==e?l:(h="array"===O(e)?(l=e)[1]-e[0]:(l=[e,e],0),t)},t.scale=()=>R.scale(t),t.hue(o),t},deltaE:function(e,t,r=1,a=1,s=1){function n(e){return 360*e/(2*tr)}function o(e){return 2*tr*e/360}e=new m(e),t=new m(t);var[e,i,l]=Array.from(e.lab()),[t,c,h]=Array.from(t.lab()),u=(e+t)/2,f=(k(x(i,2)+x(l,2))+k(x(c,2)+x(h,2)))/2,f=.5*(1-k(x(f,7)/(x(f,7)+x(25,7)))),c=c*(1+f),f=k(x(i=i*(1+f),2)+x(l,2)),d=k(x(c,2)+x(h,2)),p=(f+d)/2,l=n(Jt(l,i)),i=n(Jt(h,c)),l=180<Xt((h=0<=l?l:l+360)-(c=0<=i?i:i+360))?(h+c+360)/2:(h+c)/2,i=1-.17*Zt(o(l-30))+.24*Zt(o(2*l))+.32*Zt(o(3*l+6))-.2*Zt(o(4*l-63)),g=Xt(g=c-h)<=180?g:c<=h?360+g:g-360,c=(g=2*k(f*d)*Qt(o(g)/2),t-e),h=d-f,t=1+.015*x(u-50,2)/k(20+x(u-50,2)),e=1+.045*p,d=1+.015*p*i,f=30*er(-x((l-275)/25,2)),u=-(2*k(x(p,7)/(x(p,7)+x(25,7))))*Qt(2*o(f)),i=k(x(c/(r*t),2)+x(h/(a*e),2)+x(g/(s*d),2)+h/(a*e)*u*(g/(s*d)));return Gt(0,Yt(100,i))},distance:function(e,t,r="lab"){e=new m(e),t=new m(t);var a,s=e.get(r),n=t.get(r);let o=0;for(a in s){var i=(s[a]||0)-(n[a]||0);o+=i*i}return Math.sqrt(o)},input:o,interpolate:h,limits:Wt,mix:h,random:()=>{let t="#";for(let e=0;e<6;e++)t+="0123456789abcdef".charAt(Tt(16*Vt()));return new m(t,"hex")},scale:$t,scales:t,valid:(...e)=>{try{return new m(...e),!0}catch(e){return!1}}}),R),I=(t,e)=>{t=localStorage.getItem(t);if(!t)return e;try{return JSON.parse(t)}catch(e){return t}},_r=e=>{e=3===e.length?e.split("").map(e=>e+e).join(""):e;if(6!==e.length)throw"Only 3- or 6-digit hex colours are allowed.";if(e.match(/[^0-9a-f]/i))throw"Only hex colours are allowed.";e=e.match(/.{1,2}/g);if(e&&3===e.length)return[Number.parseInt(e[0],16),Number.parseInt(e[1],16),Number.parseInt(e[2],16)];throw"Could not parse hex colour."},Ur=(e,t)=>{let r=[];return e&&0<e.length?r=e.map(e=>({name:e.name,url:Hr(e.url)})):r.push({name:t,url:"https://github.com/"+t}),r},Fr=(...e)=>{console.debug("Resetting Marketplace");var t=[];if(0===e.length)for(const r in localStorage)r.startsWith("marketplace:")&&t.push(r);for(const a of e)switch(a){case"extensions":t.push(...I(g.installedExtensions,[])),t.push(g.installedExtensions);break;case"snippets":t.push(...I(g.installedSnippets,[])),t.push(g.installedSnippets);break;case"theme":t.push(...I(g.installedThemes,[])),t.push(g.installedThemes),t.push(g.themeInstalled);break;default:console.error("Unknown category: "+a)}for(const s of t)localStorage.removeItem(s),console.debug("Removed "+s);console.debug("Marketplace has been reset"),location.reload()},Tr=()=>{var e={};for(const t in localStorage)t.startsWith("marketplace:")&&(e[t]=localStorage.getItem(t));return e},Vr=t=>{var r=document.querySelector("style.marketplaceCSS.marketplaceScheme");if(r&&r.remove(),t){r=document.createElement("style");r.classList.add("marketplaceCSS"),r.classList.add("marketplaceScheme");let e=":root {";for(const a of Object.keys(t))e=(e+=`--spice-${a}: #${t[a]};`)+`--spice-rgb-${a}: ${_r(t[a])};`;e+="}",r.innerHTML=e,document.body.appendChild(r)}},Br=async e=>{let t=I(g.albumArtBasedColorVibrancy);return t=t.replace(/([A-Z])/g,"_$1").toUpperCase(),(await Spicetify.colorExtractor(e))[t].substring(1)},Dr=async(e,t)=>{var r=I(g.albumArtBasedColorMode).replace(/([A-Z])/g,"-$1").toLowerCase();return(await fetch(`https://www.thecolorapi.com/scheme?hex=${e}&mode=${r}&count=`+t).then(e=>e.json())).colors.map(e=>e.hex.value.substring(1))};var Kr=f=>{Spicetify.Player.addEventListener("songchange",async()=>{var t;t=1e3,await new Promise(e=>setTimeout(e,t));let r=Spicetify.Player.data?.item?.metadata?.image_xlarge_url;if(r=null==r?await new Promise(t=>{setInterval(()=>{var e=Spicetify.Player.data?.item?.metadata?.image_xlarge_url;e&&t(e)},50)}):r){var a,s,n=new Set(Object.values(f)).size,o=await Br(r),i=await Dr(o,n);let e=new Map;for([a,s]of Object.entries(f))e.has(s)?e.get(s).push(a):e.set(s,[a]);var l,o=new Map([...e.entries()].sort((e,t)=>{e=Ir(e[0]),t=Ir(t[0]);return e.get("lab.l")-t.get("lab.l")})),c={};for([,l]of(e=o).entries()){var h=i.shift();if(h)for(const u of l)c[u]=h}Vr(c)}})},qr=e=>{e=new URL(e);return e.host,"raw.githubusercontent.com"===e.host},zr=e=>{e=e.match(/https:\/\/raw\.githubusercontent\.com\/(?<user>[^/]+)\/(?<repo>[^/]+)\/(?<branch>[^/]+)\/(?<filePath>.+$)/);return{user:e?e.groups?.user:null,repo:e?e.groups?.repo:null,branch:e?e.groups?.branch:null,filePath:e?e.groups?.filePath:null}};function Wr(e,t){if(e)for(const s of e){var r=t||s.user+"-"+s.repo,a=window.sessionStorage.getItem(r),a=a?JSON.parse(a):[];a.push(s),window.sessionStorage.setItem(r,JSON.stringify(a))}}var Hr=e=>{var t=decodeURI(e).trim().toLowerCase();return t.startsWith("javascript:")||t.startsWith("data:")||t.startsWith("vbscript:")?"about:blank":e},Yr=e=>{e&&(e=e.split("/").pop())&&-1===Spicetify.Config.extensions.indexOf(e)&&Spicetify.Config.extensions.push(e)};async function Gr(){for(const e of["net","xyz"])try{if("opaqueredirect"===(await fetch("https://cdn.jsdelivr."+e,{redirect:"manual",cache:"no-cache"})).type)return e}catch(e){console.error(e)}}var mr=new Blob([`
|
|
self.addEventListener('message', async (event) => {
|
|
const url = event.data;
|
|
const response = await fetch(url);
|
|
const data = await response.json().catch(() => null);
|
|
self.postMessage(data);
|
|
});
|
|
`],{type:"application/javascript"}),Jr=URL.createObjectURL(mr);async function Xr(e,t,r){var a=e+"-"+t,s=window.sessionStorage.getItem(a),n=JSON.parse(window.sessionStorage.getItem("noManifests")||"[]");if(s)return JSON.parse(s);s=`https://raw.githubusercontent.com/${e}/${t}/${r}/manifest.json`;if(n.includes(s))return null;let o=await async function(e){const a=new Worker(Jr);return new Promise(t=>{const r=e=>{a.terminate(),t(e)};a.postMessage(e),a.addEventListener("message",e=>r(e.data),{once:!0}),a.addEventListener("error",()=>r(null),{once:!0})})}(s);return o?(Wr(o=Array.isArray(o)?o:[o],a),o):Wr([s],"noManifests")}async function Zr(e,t){var r=await async function(e,t=1){const r=window.sessionStorage.getItem("marketplace:blacklist");let a=`https://api.github.com/search/repositories?per_page=${Re}&q=`+encodeURIComponent(`topic:spicetify-${e}s`);t&&(a+="&page="+t);var s=JSON.parse(window.sessionStorage.getItem(`spicetify-${e}s-page-`+t)||"null")||await fetch(a).then(e=>e.json()).catch(()=>null);return s?.items?(window.sessionStorage.setItem(`spicetify-${e}s-page-`+t,JSON.stringify(s)),{...s,page_count:s.items.length,items:s.items.filter(e=>!r?.includes(e.html_url))}):(Spicetify.showNotification(Oe("notifications.tooManyRequests"),!0,5e3),{items:[]})}(e,t),a=(!async function(e,t){for(const r of e.items)"theme"===t?await async function(e,a,s){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?<user>.+)\/(?<repo>.+)\/contents/);if(!t||!t.groups)return;const{user:n,repo:o}=t.groups;return(await Xr(n,o,a)).reduce((e,t)=>{var r;return t?.name&&t?.usercss&&t?.description&&(r=t.branch||a,r={manifest:t,title:t.name,subtitle:t.description,authors:Ur(t.authors,n),user:n,repo:o,branch:r,imageURL:t.preview?.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${n}/${o}/${r}/`+t.preview,readmeURL:t.readme?.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${n}/${o}/${r}/`+t.readme,stars:s,tags:t.tags,cssURL:t.usercss.startsWith("http")?t.usercss:`https://raw.githubusercontent.com/${n}/${o}/${r}/`+t.usercss,schemesURL:t.schemes?t.schemes.startsWith("http")?t.schemes:`https://raw.githubusercontent.com/${n}/${o}/${r}/`+t.schemes:null,include:t.include},e.push(r)),e},[])}catch{return}}(r.contents_url,r.default_branch,r.stargazers_count):"extension"===t?await async function(e,a,s,n=!1){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?<user>.+)\/(?<repo>.+)\/contents/);if(!t||!t.groups)return;const{user:o,repo:i}=t.groups;return(await Xr(o,i,a)).reduce((e,t)=>{var r;return t?.name&&t.description&&t.main&&(r=t.branch||a,r={manifest:t,title:t.name,subtitle:t.description,authors:Ur(t.authors,o),user:o,repo:i,branch:r,imageURL:t.preview?.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.preview,extensionURL:t.main.startsWith("http")?t.main:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.main,readmeURL:t.readme?.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.readme,stars:s,tags:t.tags},n&&localStorage.getItem(`marketplace:installed:${o}/${i}/`+t.main)||e.push(r)),e},[])}catch{return}}(r.contents_url,r.default_branch,r.stargazers_count):"app"===t&&await async function(e,a,s){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?<user>.+)\/(?<repo>.+)\/contents/);if(!t||!t.groups)return;const{user:n,repo:o}=t.groups;return(await Xr(n,o,a)).reduce((e,t)=>{var r;return t?.name&&t.description&&!t.main&&!t.usercss&&(r=t.branch||a,r={manifest:t,title:t.name,subtitle:t.description,authors:Ur(t.authors,n),user:n,repo:o,branch:r,imageURL:t.preview?.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${n}/${o}/${r}/`+t.preview,readmeURL:t.readme?.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${n}/${o}/${r}/`+t.readme,stars:s,tags:t.tags},e.push(r)),e},[])}catch{return}}(r.contents_url,r.default_branch,r.stargazers_count)}(r,e),Re*t+r.page_count),s=(console.debug({pageOfRepos:r}),r.total_count-a);if(console.debug(`Parsed ${a}/${r.total_count} ${e}s`),0<s)return Zr(e,t+1);console.debug(`No more ${e} results`)}!async function e(){if(Spicetify.LocalStorage&&Spicetify.showNotification){var t=document.createElement("script");t.innerHTML="const global = globalThis;",document.body.appendChild(t),console.log("Initializing Spicetify Marketplace v1.0.5"),window.Marketplace={reset:Fr,export:Tr,version:"1.0.5"};const p=await Gr();t=async t=>{t=I(t);if(t){if(console.debug("Initializing theme: ",t),t.schemes){var e=t.schemes[t.activeScheme];if(Vr(e),Spicetify.Config.color_scheme=t.activeScheme,"true"===localStorage.getItem(g.albumArtBasedColor))Kr(e);else if("true"===localStorage.getItem(g.colorShift)){var r=t.schemes;let e=0;const f=Object.keys(r).length;setInterval(()=>{e%=f,Vr(Object.values(r)[e]),e++},6e4)}}else console.warn("No schemes found for theme");e=document.querySelector("link.marketplaceCSS"),e=(e&&e.remove(),await(async(e,t)=>{if(!e.cssURL)throw new Error("No CSS URL provided");var t=t||await Gr(),t=qr(e.cssURL)?`https://cdn.jsdelivr.${t}/gh/${e.user}/${e.repo}@${e.branch}/`+e.manifest.usercss:e.cssURL,r=t.replace("/user.css","/assets/");console.debug("Parsing CSS: ",t);let a=await fetch(t+"?time="+Date.now()).then(e=>e.text());for(const o of a.matchAll(/url\(['|"](?<path>.+?)['|"]\)/gm)||[]){var s,n=o?.groups?.path;!n||n.startsWith("http")||n.startsWith("data")||(s=r+n.replace(/\.\//g,""),a=a.replace(n,s))}return a})(t,p));try{var a,s,n=document.querySelector("link[href='user.css']"),o=(n&&n.remove(),document.querySelector("style.marketplaceCSS.marketplaceUserCSS"));o&&o.remove(),e?((a=document.createElement("style")).classList.add("marketplaceCSS"),a.classList.add("marketplaceUserCSS"),a.innerHTML=e,document.body.appendChild(a)):((s=document.createElement("link")).setAttribute("rel","stylesheet"),s.setAttribute("href","user.css"),s.classList.add("userCSS"),document.body.appendChild(s))}catch(e){console.warn(e)}if(Spicetify.Config.current_theme=t.manifest?.name,t.include?.length)for(const d of t.include){var i=document.createElement("script");let e=d;if(qr(d)){var{user:l,repo:c,branch:h,filePath:u}=zr(d);if(!(l&&c&&h&&u))return;e=`https://cdn.jsdelivr.${p}/gh/${l}/${c}@${h}/`+u,u.endsWith(".mjs")&&(i.type="module")}i.src=e+"?time="+Date.now(),i.classList.add("marketplaceScript"),document.body.appendChild(i),Yr(d)}}else console.debug("No theme manifest found")};console.log("Loaded Marketplace extension");var r=I(g.installedSnippets,[]).map(e=>I(e));if(r=r,(a=document.querySelector("style.marketplaceSnippets"))&&a.remove(),a=document.createElement("style"),r=r.reduce((e,t)=>`${e}/* ${t.title} - ${t.description} */
|
|
${t.code}
|
|
`,""),a.innerHTML=r,a.classList.add("marketplaceSnippets"),document.body.appendChild(a),p){window.sessionStorage.setItem("marketplace-request-tld",p);for(const s of I(g.installedExtensions,[]))(e=>{e=I(e);if(e&&e.extensionURL){console.debug("Initializing extension: ",e);var t=document.createElement("script");if(t.defer=!0,t.src=e.extensionURL,qr(t.src)){var{user:r,repo:a,branch:s,filePath:n}=zr(e.extensionURL);if(!(r&&a&&s&&n))return;t.src=`https://cdn.jsdelivr.${p}/gh/${r}/${a}@${s}/`+n,n.endsWith(".mjs")&&(t.type="module")}t.src=t.src+"?time="+Date.now(),document.body.appendChild(t),Yr(e.manifest?.main)}})(s);var r=Spicetify.Config["current_theme"],a=(localStorage.setItem(g.localTheme,r),localStorage.getItem(g.themeInstalled));a&&("marketplace"!==r.toLocaleLowerCase()?Spicetify.showNotification(Oe("notifications.wrongLocalTheme"),!0,5e3):t(a))}else window.navigator.onLine?(console.error(new Error("Unable to connect to the CDN, please check your Internet configuration.")),Spicetify.showNotification(Oe("notifications.noCdnConnection"),!0,5e3)):window.addEventListener("online",e,{once:!0})}else setTimeout(e,100)}(),async function(){console.debug("Preloading extensions and themes..."),window.sessionStorage.clear();var e=await(await fetch("https://raw.githubusercontent.com/spicetify/marketplace/main/resources/blacklist.json").then(e=>e.json()).catch(()=>({}))).repos;window.sessionStorage.setItem("marketplace:blacklist",JSON.stringify(e)),await Promise.all([Zr("extension",0),Zr("theme",0),Zr("app",0)])}()})()}(); |