diff --git a/.config/spicetify/CustomApps/marketplace/README.md b/.config/spicetify/CustomApps/marketplace/README.md index 5926cc1c..b680fcfd 100644 --- a/.config/spicetify/CustomApps/marketplace/README.md +++ b/.config/spicetify/CustomApps/marketplace/README.md @@ -1,35 +1,35 @@ # Spicetify Marketplace

- - + + - - + + - - + + - - + +

-Customize your Spotify client directly from within [Spicetify](https://github.com/spicetify/spicetify-cli)! +Customize your Spotify client directly from within [Spicetify](https://github.com/spicetify/cli)! Marketplace allows you to **browse, download, and install** extensions, themes, and CSS snippets with ease. You can also browse custom apps, but will need to do some manual installation to get them working. Made with [Spicetify Creator](https://github.com/spicetify/spicetify-creator) -Head to the [wiki](https://github.com/spicetify/spicetify-marketplace/wiki) to get started! +Head to the [wiki](https://github.com/spicetify/marketplace/wiki) to get started! --- ## Links -- [Overview](https://github.com/spicetify/spicetify-marketplace/wiki) -- [Installation](https://github.com/spicetify/spicetify-marketplace/wiki/Installation) -- [Publishing to Marketplace](https://github.com/spicetify/spicetify-marketplace/wiki/Publishing-to-Marketplace) -- [Contributions](https://github.com/spicetify/spicetify-marketplace/wiki/Contributions) -- [Development](https://github.com/spicetify/spicetify-marketplace/wiki/Development) -- [Translating/Localizing Marketplace](https://github.com/spicetify/spicetify-marketplace/wiki/Localizing-Marketplace) +- [Overview](https://github.com/spicetify/marketplace/wiki) +- [Installation](https://github.com/spicetify/marketplace/wiki/Installation) +- [Publishing to Marketplace](https://github.com/spicetify/marketplace/wiki/Publishing-to-Marketplace) +- [Contributions](https://github.com/spicetify/marketplace/wiki/Contributions) +- [Development](https://github.com/spicetify/marketplace/wiki/Development) +- [Translating/Localizing Marketplace](https://github.com/spicetify/marketplace/wiki/Localizing-Marketplace) diff --git a/.config/spicetify/CustomApps/marketplace/extension.js b/.config/spicetify/CustomApps/marketplace/extension.js index cc6abe57..b0a9ec23 100644 --- a/.config/spicetify/CustomApps/marketplace/extension.js +++ b/.config/spicetify/CustomApps/marketplace/extension.js @@ -1,10 +1,10 @@ -!async function(){for(;!Spicetify.React||!Spicetify.ReactDOM;)await new Promise(e=>setTimeout(e,10));var e,t,i,l,_,u,F,U,T,D,r,c,n,V,B,q,z,f,h,o,C,p,K,H,J,W,a,G,Y,X,Z,s,d,g,b,m,v,Q,y,ee,te,w,re,ne,ae,k,x,oe,S,se;i=Object.create,l=Object.defineProperty,_=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,F=Object.getPrototypeOf,U=Object.prototype.hasOwnProperty,e={"node_modules/.pnpm/chroma-js@2.4.2/node_modules/chroma-js/chroma.js"(e,t){var r;r=function(){"use strict";for(var e=function(e,t,r){return void 0===r&&(r=1),e<(t=void 0===t?0:t)?t:r>16,t>>8&255,255&t,1];if(e.match(tt))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)}function Ne(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r,n,a,o=(e=ct(e,"hsi"))[0],s=e[1],i=e[2];return isNaN(o)&&(o=0),isNaN(s)&&(s=0),360g.t1?e*e*e:g.t2*(e-g.t0)}function Me(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r=(e=$t(e,"lab"))[0],n=e[1],a=e[2],r=(r+16)/116,n=isNaN(n)?r:r+n/500,a=isNaN(a)?r:r-a/200;return r=g.Yn*je(r),n=g.Xn*je(n),a=g.Zn*je(a),[Pe(3.2404542*n-1.5371385*r-.4985314*a),Pe(-.969266*n+1.8760108*r+.041556*a),Pe(.0556434*n-.2040259*r+1.0572252*a),3>16,e>>8&255,255&e,1];throw new Error("unknown num color: "+e)}function Fe(e){var t,r,n=(e=e/100)<66?(t=255,r=e<6?0:-155.25485562709179-.44596950469579133*(r=e-2)+104.49216199393888*w(r),e<20?0:.8274096064007395*(n=e-10)-254.76935184120902+115.67994401066147*w(n)):(t=351.97690566805693+.114206453784165*(t=e-55)-40.25366309332127*w(t),r=325.4494125711974+.07943456536662342*(r=e-50)-28.0852963507957*w(r),255);return[t,r,n,1]}function Ue(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r=(a=Sr(e,"rgb"))[0],n=a[1],a=a[2],r=[Rr(r/255),Rr(n/255),Rr(a/255)],o=Lr(.4122214708*(n=r[0])+.5363325363*(a=r[1])+.0514459929*(r=r[2])),s=Lr(.2119034982*n+.6806995451*a+.1073969566*r),n=Lr(.0883024619*n+.2817188376*a+.6299787005*r);return[.2104542553*o+.793617785*s-.0040720468*n,1.9779984951*o-2.428592205*s+.4505937099*n,.0259040371*o+.7827717662*s-.808675766*n]}var u=l,Te=s,c=o,De=e.type,Ve=q,Be=K,qe=(Te.prototype.css=function(e){return Ve(this._rgb,e)},u.css=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(Te,[null].concat(e,["css"])))},c.format.css=Be,c.autodetect.push({p:5,test:function(e){for(var t=[],r=arguments.length-1;0d.t3?Mt(e,1/3):e/d.t2+d.t0},g=c,$t=e.unpack,At=Math.pow,_t=e.unpack,Ft=e.type,u=l,Ut=s,b=o,Tt=Ce,Dt=(Ut.prototype.lab=function(){return Tt(this._rgb)},u.lab=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(Ut,[null].concat(e,["lab"])))},b.format.lab=Me,b.autodetect.push({p:2,test:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(e=_t(e,"lab"),"array"===Ft(e)&&3===e.length)return"lab"}}),e.unpack),Vt=e.RAD2DEG,Bt=Math.sqrt,qt=Math.atan2,zt=Math.round,Kt=e.unpack,Ht=Ce,Jt=Ee,Wt=e.unpack,Gt=e.DEG2RAD,Yt=Math.sin,Xt=Math.cos,Zt=e.unpack,Qt=Ie,er=Me,tr=e.unpack,rr=$e,nr=e.unpack,ar=e.type,u=l,m=s,or=o,sr=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r=Kt(e,"rgb"),n=r[0],a=r[1],r=r[2],n=Ht(n,a,r),a=n[0],r=n[1],n=n[2];return Jt(a,r,n)},b=(m.prototype.lch=function(){return sr(this._rgb)},m.prototype.hcl=function(){return sr(this._rgb).reverse()},u.lch=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(m,[null].concat(e,["lch"])))},u.hcl=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(m,[null].concat(e,["hcl"])))},or.format.lch=$e,or.format.hcl=Ae,["lch","hcl"].forEach(function(r){return or.autodetect.push({p:2,test:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(e=nr(e,r),"array"===ar(e)&&3===e.length)return r}})}),{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",cornflower:"#6495ed",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"}),u=s,v=o,ir=e.type,y=b,lr=Oe,ur=Le,cr=(u.prototype.name=function(){for(var e=ur(this._rgb,"rgb"),t=0,r=Object.keys(y);t=a/n?s=i:o=i}return kr(i)},Sr=(k.prototype.temp=k.prototype.kelvin=k.prototype.temperature=function(){return xr(this._rgb)},u.temp=u.kelvin=u.temperature=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(k,[null].concat(e,["temp"])))},v.format.temp=v.format.kelvin=v.format.temperature=Fe,e.unpack),Lr=Math.cbrt,Or=Math.pow,Nr=Math.sign;function Rr(e){var t=Math.abs(e);return t<.04045?e/12.92:(Nr(e)||1)*Or((t+.055)/1.055,2.4)}function Cr(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r=(e=Pr(e,"lab"))[0],n=e[1],a=e[2],o=x(r+.3963377774*n+.2158037573*a,3),s=x(r-.1055613458*n-.0638541728*a,3),r=x(r-.0894841775*n-1.291485548*a,3);return[255*Mr(4.0767416621*o-3.3077115913*s+.2309699292*r),255*Mr(-1.2684380046*o+2.6097574011*s-.3413193965*r),255*Mr(-.0041960863*o-.7034186147*s+1.707614701*r),3=d[r];)r++;return r-1},x=function(e){return e},S=function(e){return e};return r(u),f.classes=function(e){var t;return null!=e?("array"===P(e)?h=[(d=e)[0],e[e.length-1]]:(t=C.analyze(h),d=0===e?[t.min,t.max]:C.limits(t,"e",e)),f):d},f.domain=function(r){if(!arguments.length)return h;b=r[0],m=r[r.length-1],l=[];var e=g.length;if(r.length===e&&b!==m)for(var t=0,n=Array.from(r);t=s[t+1];)t++;var r=(e-s[t])/(s[t+1]-s[t]);return o[t]+r*(o[t+1]-o[t])}))}return h=[b,m],f},f.mode=function(e){return arguments.length?(s=e,n(),f):s},f.range=function(e,t){return r(e),f},f.out=function(e){return a=e,f},f.spread=function(e){return arguments.length?(t=e,f):t},f.correctLightness=function(e){return n(),x=(e=null==e?!0:e)?function(e){for(var t=c(0,!0).lab()[0],r=c(1,!0).lab()[0],n=r 0");var l=Math.LOG10E*Wn(n),_=Math.LOG10E*Wn(a);s.push(n);for(var u=1;u.9999999)l[3]=1;return new On(Nn(l))}for(var h,p=e.shift(),d=p.get(o),g=[],b=0,m=0,v=0;v{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(n){for(var e=arguments.length,a=new Array(1{var[t,r]=e;for(let e=0;e{var[t,r]=e;for(let e=0;e":">",'"':""","'":"'","/":"/"},q=[" ",",","?","!",";"],z=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),f=class extends n{constructor(e){var t=1t[e]&&0{this.processors[e]&&(t=this.processors[e].process(t,r,n,a))}),t}},o={},C=class extends n{constructor(e){var t=1{r=x&&r!==c?r:O;this.options.missingKeyHandler?this.options.missingKeyHandler(e,i,t,r,N,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(e,i,t,r,N,n),this.emit("missingKey",e,i,t,c)};this.options.saveMissing&&(this.options.saveMissingPlurals&&b?t.forEach(t=>{var e=this.pluralResolver.getSuffixes(t,n);S&&n[`defaultValue${this.options.pluralSeparator}zero`]&&e.indexOf(this.options.pluralSeparator+"zero")<0&&e.push(this.options.pluralSeparator+"zero"),e.forEach(e=>{R([t],s+e,n["defaultValue"+e]||L)})}):R(t,s,L))}c=this.extendTranslation(c,r,n,u,a),t&&c===s&&this.options.appendNamespaceToMissingKey&&(c=i+":"+s),(t||e)&&this.options.parseMissingKeyHandler&&(c="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?i+":"+s:s,e?c:void 0):this.options.parseMissingKeyHandler(c))}return e?(u.res=c,u.usedParams=this.getUsedParamsDetails(n),u):c}extendTranslation(r,n,a,o,s){var i=this;if(this.i18nFormat&&this.i18nFormat.parse)r=this.i18nFormat.parse(r,{...this.options.interpolation.defaultVariables,...a},a.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!a.skipInterpolation){a.interpolation&&this.interpolator.init({...a,interpolation:{...this.options.interpolation,...a.interpolation}});var l="string"==typeof r&&(a&&a.interpolation&&void 0!==a.interpolation.skipOnVariables?a:this.options).interpolation.skipOnVariables;let e,t=(l&&(u=r.match(this.interpolator.nestingRegexp),e=u&&u.length),a.replace&&"string"!=typeof a.replace?a.replace:a);this.options.interpolation.defaultVariables&&(t={...this.options.interpolation.defaultVariables,...t}),r=this.interpolator.interpolate(r,t,a.lng||this.language,a),l&&(l=(u=r.match(this.interpolator.nestingRegexp))&&u.length,e{if(!this.isValidLookup(h)){t=this.extractFromKey(t,f);const i=t.key;n=i;let e=t.namespaces;this.options.fallbackNS&&(e=e.concat(this.options.fallbackNS));const l=void 0!==f.count&&"string"!=typeof f.count,u=l&&!f.ordinal&&0===f.count&&this.pluralResolver.shouldUseIntlApi(),c=void 0!==f.context&&("string"==typeof f.context||"number"==typeof f.context)&&""!==f.context,r=f.lngs||this.languageUtils.toResolveHierarchy(f.lng||this.language,f.fallbackLng);e.forEach(s=>{this.isValidLookup(h)||(a=s,!o[r[0]+"-"+s]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(o[r[0]+"-"+s]=!0,this.logger.warn(`key "${n}" for languages "${r.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),r.forEach(t=>{if(!this.isValidLookup(h)){d=t;var e,r=[i];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(r,i,t,s,f);else{let e;l&&(e=this.pluralResolver.getSuffix(t,f.count,f));var n,a=this.options.pluralSeparator+"zero",o=this.options.pluralSeparator+"ordinal"+this.options.pluralSeparator;l&&(r.push(i+e),f.ordinal&&0===e.indexOf(o)&&r.push(i+e.replace(o,this.options.pluralSeparator)),u)&&r.push(i+a),c&&(n=""+i+this.options.contextSeparator+f.context,r.push(n),l)&&(r.push(n+e),f.ordinal&&0===e.indexOf(o)&&r.push(n+e.replace(o,this.options.pluralSeparator)),u)&&r.push(n+a)}for(;e=r.pop();)this.isValidLookup(h)||(p=e,h=this.getResource(t,s,e,f))}}))})}}),{res:h,usedKey:n,exactUsedKey:p,usedLng:d,usedNS:a}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,r){var n=3e.toLowerCase()):2===e.length?(e[0]=e[0].toLowerCase(),e[1]=e[1].toUpperCase(),-1{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&&(this.isSupportedCode(e)?r.push(e):this.logger.warn("rejecting language code not found in supportedLngs: "+e))};return"string"==typeof e&&(-1{r.indexOf(e)<0&&n(this.formatLanguageCode(e))}),r}},K=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],H={1:function(e){return Number(1""+t+e)}getSuffixes(t){let r=1a[e]-a[t]).map(e=>""+this.options.prepend+(r.ordinal?"ordinal"+this.options.prepend:"")+e):e.numbers.map(e=>this.getSuffix(t,e,r)):[]}getSuffix(e,t){var r=2this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString();return"v1"===this.options.compatibilityJSON?1===r?"":"number"==typeof r?"_plural_"+r.toString():n():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?n():this.options.prepend&&t.toString()?this.options.prepend+t.toString():t.toString()}shouldUseIntlApi(){return!J.includes(this.options.compatibilityJSON)}},Y=class{constructor(){var e=0e),this.init(e)}init(){var e=0e&&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(n,r,a,o){let s,i,l;const u=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function t(e){return e.replace(/\$/g,"$$$$")}const c=e=>{var t;return e.indexOf(this.formatSeparator)<0?(t=ge(r,u,e,this.options.keySeparator,this.options.ignoreJSONStructure),this.alwaysFormat?this.format(t,void 0,a,{...o,...r,interpolationkey:e}):t):(e=(t=e.split(this.formatSeparator)).shift().trim(),t=t.join(this.formatSeparator).trim(),this.format(ge(r,u,e,this.options.keySeparator,this.options.ignoreJSONStructure),t,a,{...o,...r,interpolationkey:e}))},f=(this.resetRegExp(),o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler),h=(o&&o.interpolation&&void 0!==o.interpolation.skipOnVariables?o:this.options).interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>t(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?t(this.escape(e)):t(e)}].forEach(e=>{for(l=0;s=e.regex.exec(n);){var t=s[1].trim();if(void 0===(i=c(t)))if("function"==typeof f){var r=f(n,s,o);i="string"==typeof r?r:""}else{if(!o||!Object.prototype.hasOwnProperty.call(o,t)){if(h){i=s[0];continue}this.logger.warn(`missed to pass in variable ${t} for interpolating `+n)}i=""}else"string"==typeof i||this.useRawValueToEscape||(i=ie(i));r=e.safeValue(i);if(n=n.replace(s[0],r),h?(e.regex.lastIndex+=i.length,e.regex.lastIndex-=s[0].length):e.regex.lastIndex=0,++l>=this.maxReplaces)break}}),n}nest(r,n){let a=2e.trim()),o[1]=u.shift(),e=u,t=!0),(s=n(l.call(this,o[1].trim(),i),i))&&o[0]===r&&"string"!=typeof s)return s;(s="string"!=typeof s?ie(s):s)||(this.logger.warn(`missed to resolve ${o[1]} for nesting `+r),s=""),t&&(s=e.reduce((e,t)=>this.format(e,t,a.lng,{...a,interpolationkey:o[1].trim()}),s.trim())),r=r.replace(o[0],s),this.regexp.lastIndex=0}return r}},X=class{constructor(){var e=0{const r=new Intl.NumberFormat(e,{...t});return e=>r.format(e)}),currency:E((e,t)=>{const r=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>r.format(e)}),datetime:E((e,t)=>{const r=new Intl.DateTimeFormat(e,{...t});return e=>r.format(e)}),relativetime:E((e,t)=>{const r=new Intl.RelativeTimeFormat(e,{...t});return e=>r.format(e,t.range||"day")}),list:E((e,t)=>{const r=new Intl.ListFormat(e,{...t});return e=>r.format(e)})},this.init(e)}init(e){var t=(1{var{formatName:r,formatOptions:n}=be(r);if(this.formats[r]){let e=t;try{var a=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},o=a.locale||a.lng||i.locale||i.lng||s;e=this.formats[r](t,o,{...n,...i,...a})}catch(e){this.logger.warn(e)}return e}return this.logger.warn("there was no format function for "+r),t},e)}},Z=class extends n{constructor(e,t,r){var n=3{let n=!0;t.forEach(e=>{var t=r+"|"+e;!a.reload&&this.store.hasResourceBundle(r,e)?this.state[t]=2:this.state[t]<0||(1===this.state[t]?void 0===s[t]&&(s[t]=!0):(this.state[t]=1,n=!1,void 0===s[t]&&(s[t]=!0),void 0===o[t]&&(o[t]=!0),void 0===l[e]&&(l[e]=!0)))}),n||(i[r]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(i),toLoadNamespaces:Object.keys(l)}}loaded(e,t,r){var n=e.split("|");const a=n[0],o=n[1],s=(t&&this.emit("failedLoading",a,o,t),r&&this.store.addResourceBundle(a,o,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,{});this.queue.forEach(r=>{ce(r.loaded,[a],o),me(r,e),t&&r.errors.push(t),0!==r.pendingCount||r.done||(Object.keys(r.loaded).forEach(t=>{s[t]||(s[t]={});var e=r.loaded[t];e.length&&e.forEach(e=>{void 0===s[t][e]&&(s[t][e]=!0)})}),r.done=!0,r.errors.length?r.callback(r.errors):r.callback())}),this.emit("loaded",s),this.queue=this.queue.filter(e=>!e.done)}read(n,a,o){let s=3=this.maxParallelReads)this.waitingReads.push({lng:n,ns:a,fcName:o,tried:s,wait:i,callback:l});else{this.readingCalls++;const r=(e,t)=>{var r;this.readingCalls--,0{this.read.call(this,n,a,o,s+1,2*i,l)},i):l(e,t)};var e=this.backend[o].bind(this.backend);if(2!==e.length)return e(n,a,r);try{var t=e(n,a);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{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 n=1{e&&this.logger.warn(`${n}loading namespace ${o} for language ${a} failed`,e),!e&&t&&this.logger.log(`${n}loaded namespace ${o} for language `+a,t),this.loaded(r,e,t)})}saveMissing(t,r,n,a,o){var s=5{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(r))this.logger.warn(`did not save key "${n}" 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!=n&&""!==n){if(this.backend&&this.backend.create){s={...s,isUpdate:o},o=this.backend.create.bind(this.backend);if(o.length<6)try{let e;(e=5===o.length?o(t,r,n,a,s):o(t,r,n,a))&&"function"==typeof e.then?e.then(e=>i(null,e)).catch(i):i(null,e)}catch(e){i(e)}else o(t,r,n,a,i,s)}t&&t[0]&&this.store.addResource(t[0],r,n,a)}}},s=class extends n{constructor(){let e=0{this.init(e,t)},0)}}init(){var a=this;let e=0{e.init&&e.init(this)})}this.format=this.options.interpolation.format,r=r||I,!this.options.fallbackLng||this.services.languageDetector||this.options.lng||0<(o=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng)).length&&"dev"!==o[0]&&(this.options.lng=o[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 a.store[e](...arguments)}});["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(e=>{this[e]=function(){return a.store[e](...arguments),a}});const i=L();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&&"v1"!==this.options.compatibilityAPI&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initImmediate?t():setTimeout(t,0),i}loadResources(e){let t=1{e&&"cimode"!==e&&this.services.languageUtils.toResolveHierarchy(e).forEach(e=>{"cimode"!==e&&n.indexOf(e)<0&&n.push(e)})};r?a(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>a(e)),this.options.preload&&this.options.preload.forEach(e=>a(e)),this.services.backendConnector.load(n,this.options.ns,e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),t(e)})}else t(null)}reloadResources(e,t,r){const n=L();return e=e||this.languages,t=t||this.options.ns,r=r||I,this.services.backendConnector.reload(e,t,e=>{n.resolve(),r(e)}),n}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&&h.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.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)}),i=(e,t)=>{t?(s(t),this.translator.changeLanguage(t),this.isLanguageChangingTo=void 0,this.emit("languageChanged",t),this.logger.log("languageChanged",t)):this.isLanguageChangingTo=void 0,o.resolve(function(){return a.t(...arguments)}),n&&n(e,function(){return a.t(...arguments)})};var e=e=>{const t="string"==typeof(e=r||e||!this.services.languageDetector?e:[])?e:this.services.languageUtils.getBestMatchFromCodes(e);t&&(this.language||s(t),this.translator.language||this.translator.changeLanguage(t),this.services.languageDetector)&&this.services.languageDetector.cacheUserLanguage&&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()),o}getFixedT(e,t,l){var u=this;function c(e,t){let r;if("object"!=typeof t){for(var n=arguments.length,a=new Array(2""+r.keyPrefix+s+e):r.keyPrefix?""+r.keyPrefix+s+e:e,u.t(i,r)}return"string"==typeof e?c.lng=e:c.lngs=e,c.ns=t,c.keyPrefix=l,c}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){var t=1{e=this.services.backendConnector.state[e+"|"+t];return-1===e||2===e};if(t.precheck){t=t.precheck(this,o);if(void 0!==t)return t}return!!this.hasResourceBundle(r,e)||!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages)&&(!o(r,e)||n&&!o(a,e)))}loadNamespaces(e,t){const r=L();return this.options.ns?((e="string"==typeof 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=L(),n=this.options.preload||[];e=(e="string"==typeof e?[e]:e).filter(e=>n.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e));return e.length?(this.options.preload=n.concat(e),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}dir(e){var t;return!(e=e||this.resolvedLanguage||(this.languages&&0{a[e]=this[e]}),a.services={...this.services},a.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},r&&(a.store=new f(this.store.data,n),a.services.resourceStore=a.store),a.translator=new C(a.services,n),a.translator.on("*",function(e){for(var t=arguments.length,r=new Array(1{r=null!=e?i(F(e)):{};var n=!t&&e&&e.__esModule?r:l(r,"default",{value:e,enumerable:!0}),a=e,o=void 0,s=void 0;if(a&&"object"==typeof a||"function"==typeof a)for(let e of u(a))U.call(n,e)||e===o||l(n,e,{get:()=>a[e],enumerable:!(s=_(a,e))||s.enumerable});return n})(T()),v=(t,e)=>{t=localStorage.getItem(t);if(!t)return e;try{return JSON.parse(t)}catch(e){return t}},Q=e=>{if(3===e.length)e=e.split("").map(e=>e+e).join("");else{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[parseInt(e[0],16),parseInt(e[1],16),parseInt(e[2],16)];throw"Could not parse hex colour."},y=(e,t)=>{let r=[];return e&&0({name:e.name,url:oe(e.url)})):r.push({name:t,url:"https://github.com/"+t}),r},ee=(...e)=>{console.debug("Resetting Marketplace");const t=[];0===e.length&&Object.keys(localStorage).forEach(e=>{e.startsWith("marketplace:")&&t.push(e)}),e.forEach(e=>{switch(e){case"extensions":t.push(...v(g.installedExtensions,[])),t.push(g.installedExtensions);break;case"snippets":t.push(...v(g.installedSnippets,[])),t.push(g.installedSnippets);break;case"theme":t.push(...v(g.installedThemes,[])),t.push(g.installedThemes),t.push(g.themeInstalled);break;default:console.error("Unknown category: "+e)}}),t.forEach(e=>{localStorage.removeItem(e),console.debug("Removed "+e)}),console.debug("Marketplace has been reset"),location.reload()},te=()=>{const t={};return Object.keys(localStorage).forEach(e=>{e.startsWith("marketplace:")&&(t[e]=localStorage.getItem(e))}),t},w=r=>{var e=document.querySelector("style.marketplaceCSS.marketplaceScheme");if(e&&e.remove(),r){e=document.createElement("style");e.classList.add("marketplaceCSS"),e.classList.add("marketplaceScheme");let t=":root {";Object.keys(r).forEach(e=>{t=(t+=`--spice-${e}: #${r[e]};`)+`--spice-rgb-${e}: ${Q(r[e])};`}),t+="}",e.innerHTML=t,document.body.appendChild(e)}},re=async e=>{let t=v(g.albumArtBasedColorVibrancy);return t=t.replace(/([A-Z])/g,"_$1").toUpperCase(),(await Spicetify.colorExtractor(e))[t].substring(1)},ne=async(e,t)=>{var r=v(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))},ae=h=>{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 n,a,o=new Set(Object.values(h)).size,s=await re(r),i=await ne(s,o);let e=new Map;for([n,a]of Object.entries(h))e.has(a)?e.get(a).push(n):e.set(a,[n]);var l,s=new Map([...e.entries()].sort((e,t)=>{e=(0,m.default)(e[0]),t=(0,m.default)(t[0]);return e.get("lab.l")-t.get("lab.l")})),u={};for([,l]of(e=s).entries()){var c=i.shift();if(c)for(const f of l)u[f]=c}w(u)}})},k=e=>{e=new URL(e);return e.host,"raw.githubusercontent.com"===e.host},x=e=>{e=e.match(/https:\/\/raw\.githubusercontent\.com\/(?[^/]+)\/(?[^/]+)\/(?[^/]+)\/(?.+$)/);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}},oe=e=>{var t=decodeURI(e).trim().toLowerCase();return t.startsWith("javascript:")||t.startsWith("data:")||t.startsWith("vbscript:")?"about:blank":e},S=e=>{e&&(e=e.split("/").pop())&&-1===Spicetify.Config.extensions.indexOf(e)&&Spicetify.Config.extensions.push(e)},n=new Blob([` +!async function(){for(;!Spicetify.React||!Spicetify.ReactDOM;)await new Promise(e=>setTimeout(e,10));(()=>{function _(e,t,r){var a=3"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||P(e),q=(e,t,r)=>{var a=P(t)?t.split("."):t;let s=0;for(;s{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=2e?.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{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{var[t,r]=e;for(let e=0;e{var[t,r]=e;for(let e=0;et[e]&&0{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{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{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{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&&(this.isSupportedCode(e)?r.push(e):this.logger.warn("rejecting language code not found in supportedLngs: "+e))};return P(e)&&(-1{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""+t+e)}getSuffixes(e){let t=1ue[e]-ue[t]).map(e=>""+this.options.prepend+(t.ordinal?"ordinal"+this.options.prepend:"")+e):[]}getSuffix(e,t){var r=2e.replace(/\$/g,"$$$$"),ge=class{constructor(){var e=0e),this.init(e)}init(){var e=0e?.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{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&&-1e.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{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{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-1-1{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{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=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.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{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{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{};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{this.init(e,t)},0)}}init(){var s=this;let e=0e?"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{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{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.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""+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=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{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(1Ne(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||2553<=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=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=onew 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{var r=e.interpolate(t,.5,o),a=r.luminance();return Math.abs(n-a)<1e-7||!s--?r:n.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=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,...0new 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{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&&180d(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{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{var[e,t,r]=p(e,"rgb");let a;var s=dt(e/=255,t/=255,r/=255),n=(e+t+r)/3,s=0new 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{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),3new 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{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{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)),...0new 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=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=s&&e===c.length-1){r=f[e];break}if(a>s&&ag={};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;et/(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=re,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(1n;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&&2t;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<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)=>tt255===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,er.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 0");var r=Math.LOG10E*Bt(o),a=Math.LOG10E*Bt(i);c.push(o);for(let e=1;ee-t),c.push(a[0]);for(let e=1;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{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{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{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{e=p(e,"lab");return e[0]=a(100*e[0])+"%",e[1]=$e(e[1]),e[2]=$e(e[2]),3{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{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{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{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,...0e.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=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{var r,a=e.get(i);o+=e.alpha()*l[t+1];for(let e=0;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=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:eR.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{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({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\/(?[^/]+)\/(?[^/]+)\/(?[^/]+)\/(?.+$)/);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"}),se=URL.createObjectURL(n),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.2"),window.Marketplace={reset:ee,export:te,version:"1.0.2"};const l=await xe();t=async t=>{t=v(t);if(t){if(console.debug("Initializing theme: ",t),t.schemes){var e=t.schemes[t.activeScheme];if(w(e),Spicetify.Config.color_scheme=t.activeScheme,"true"===localStorage.getItem(g.albumArtBasedColor))ae(e);else if("true"===localStorage.getItem(g.colorShift)){var r=t.schemes;let e=0;const i=Object.keys(r).length;setInterval(()=>{e%=i,w(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");t||=await xe();var t=k(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 n=await fetch(t+"?time="+Date.now()).then(e=>e.text());for(const s of n.matchAll(/url\(['|"](?.+?)['|"]\)/gm)||[]){var a,o=s?.groups?.path;!o||o.startsWith("http")||o.startsWith("data")||(a=r+o.replace(/\.\//g,""),n=n.replace(o,a))}return n})(t,l));try{var n,a,o=document.querySelector("link[href='user.css']"),s=(o&&o.remove(),document.querySelector("style.marketplaceCSS.marketplaceUserCSS"));s&&s.remove(),e?((n=document.createElement("style")).classList.add("marketplaceCSS"),n.classList.add("marketplaceUserCSS"),n.innerHTML=e,document.body.appendChild(n)):((a=document.createElement("link")).setAttribute("rel","stylesheet"),a.setAttribute("href","user.css"),a.classList.add("userCSS"),document.body.appendChild(a))}catch(e){console.warn(e)}Spicetify.Config.current_theme=t.manifest?.name,t.include&&t.include.length&&t.include.forEach(e=>{var t=document.createElement("script");let r=e;if(k(e)){var{user:n,repo:a,branch:o,filePath:s}=x(e);if(!(n&&a&&o&&s))return;r=`https://cdn.jsdelivr.${l}/gh/${n}/${a}@${o}/`+s,s.endsWith(".mjs")&&(t.type="module")}t.src=r+"?time="+Date.now(),t.classList.add("marketplaceScript"),document.body.appendChild(t),S(e)})}else console.debug("No theme manifest found")};console.log("Loaded Marketplace extension");var r,n=v(g.installedSnippets,[]).map(e=>v(e));n=n,(r=document.querySelector("style.marketplaceSnippets"))&&r.remove(),r=document.createElement("style"),n=n.reduce((e,t)=>e=(e+=`/* ${t.title} - ${t.description} */ -`)+t.code+` -`,""),r.innerHTML=n,r.classList.add("marketplaceSnippets"),document.body.appendChild(r),l?(window.sessionStorage.setItem("marketplace-request-tld",l),n=(v(g.installedExtensions,[]).forEach(e=>{if((e=v(e))&&e.extensionURL){console.debug("Initializing extension: ",e);var t=document.createElement("script");if(t.defer=!0,t.src=e.extensionURL,k(t.src)){var{user:r,repo:n,branch:a,filePath:o}=x(e.extensionURL);if(!(r&&n&&a&&o))return;t.src=`https://cdn.jsdelivr.${l}/gh/${r}/${n}@${a}/`+o,o.endsWith(".mjs")&&(t.type="module")}t.src=t.src+"?time="+Date.now(),document.body.appendChild(t),S(e.manifest?.main)}}),Spicetify.Config)["current_theme"],localStorage.setItem(g.localTheme,n),(r=localStorage.getItem(g.themeInstalled))&&("marketplace"!==n.toLocaleLowerCase()?Spicetify.showNotification(d("notifications.wrongLocalTheme"),!0,5e3):t(r))):window.navigator.onLine?(console.error(new Error("Unable to connect to the CDN, please check your Internet configuration.")),Spicetify.showNotification(d("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/spicetify-marketplace/main/resources/blacklist.json").then(e=>e.json()).catch(()=>({}))).repos;window.sessionStorage.setItem("marketplace:blacklist",JSON.stringify(e)),await Promise.all([A("extension",0),A("theme",0),A("app",0)])}();function L(){let r,n;var e=new Promise((e,t)=>{r=e,n=t});return e.resolve=r,e.reject=n,e}function ie(e){return null==e?"":""+e}function le(e,t,r){e.forEach(e=>{t[e]&&(r[e]=t[e])})}function O(e,t,r){function n(e){return e&&-1"'\/]/g,e=>B[e]):e}function pe(e,t,r){t=t||"",r=r||"";var n=q.filter(e=>t.indexOf(e)<0&&r.indexOf(e)<0);if(0===n.length)return 1;var a,n=z.getRegExp(`(${n.map(e=>"?"===e?"\\?":e).join("|")})`);let o=!n.test(e);return o||0<(a=e.indexOf(r))&&!n.test(e.substring(0,a))&&(o=!0),o}function P(e,t,r){var o=2{t.lngs.forEach(e=>{r[e]={numbers:t.nr,plurals:H[t.fc]}})}),r}function ge(e,t,r,n,a){var o,s,i,l=3{var t;e&&([e,...t]=e.split(":"),t=t.join(":").trim().replace(/^'+|'+$/g,""),r[e.trim()]||(r[e.trim()]=t),"false"===t&&(r[e.trim()]=!1),"true"===t&&(r[e.trim()]=!0),isNaN(t)||(r[e.trim()]=parseInt(t,10)))})),{formatName:t,formatOptions:r}}function E(o){const s={};return function(e,t,r){var n=t+JSON.stringify(r);let a=s[n];return a||(a=o(j(t),r),s[n]=a),a(e)}}function me(e,t){void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)}function ve(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){let t={};if("object"==typeof e[1]&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof 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}}}function ye(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function I(){}function we(t){Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(e=>{"function"==typeof t[e]&&(t[e]=t[e].bind(t))})}function ke(e,n){e&&e.forEach(e=>{var t=n||e.user+"-"+e.repo,r=window.sessionStorage.getItem(t),r=r?JSON.parse(r):[];r.push(e),window.sessionStorage.setItem(t,JSON.stringify(r))})}async function xe(){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);continue}}async function $(e,t,r){var n=e+"-"+t,a=window.sessionStorage.getItem(n),o=JSON.parse(window.sessionStorage.getItem("noManifests")||"[]");if(a)return JSON.parse(a);a=`https://raw.githubusercontent.com/${e}/${t}/${r}/manifest.json`;if(o.includes(a))return null;let s=await async function(e){const n=new Worker(se);return new Promise(t=>{const r=e=>{n.terminate(),t(e)};n.postMessage(e),n.addEventListener("message",e=>r(e.data),{once:!0}),n.addEventListener("error",()=>r(null),{once:!0})})}(a);return s?(ke(s=Array.isArray(s)?s:[s],n),s):ke([a],"noManifests")}async function A(e,t){var r=await async function(e,t=1){const r=window.sessionStorage.getItem("marketplace:blacklist");let n=`https://api.github.com/search/repositories?per_page=${b}&q=`+encodeURIComponent(`topic:spicetify-${e}s`);t&&(n+="&page="+t);var a=JSON.parse(window.sessionStorage.getItem(`spicetify-${e}s-page-`+t)||"null")||await fetch(n).then(e=>e.json()).catch(()=>null);return a?.items?(window.sessionStorage.setItem(`spicetify-${e}s-page-`+t,JSON.stringify(a)),{...a,page_count:a.items.length,items:a.items.filter(e=>!r?.includes(e.html_url))}):(Spicetify.showNotification(d("notifications.tooManyRequests"),!0,5e3),{items:[]})}(e,t),n=(!async function(e,t){for(const r of e.items)"theme"===t?await async function(e,n,a){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?.+)\/(?.+)\/contents/);if(!t||!t.groups)return;const{user:o,repo:s}=t.groups;return(await $(o,s,n)).reduce((e,t)=>{var r=t.branch||n,r={manifest:t,title:t.name,subtitle:t.description,authors:y(t.authors,o),user:o,repo:s,branch:r,imageURL:t.preview&&t.preview.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${o}/${s}/${r}/`+t.preview,readmeURL:t.readme&&t.readme.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${o}/${s}/${r}/`+t.readme,stars:a,tags:t.tags,cssURL:t.usercss.startsWith("http")?t.usercss:`https://raw.githubusercontent.com/${o}/${s}/${r}/`+t.usercss,schemesURL:t.schemes?t.schemes.startsWith("http")?t.schemes:`https://raw.githubusercontent.com/${o}/${s}/${r}/`+t.schemes:null,include:t.include};return t?.name&&t?.usercss&&t?.description&&e.push(r),e},[])}catch{return}}(r.contents_url,r.default_branch,r.stargazers_count):"extension"===t?await async function(e,n,a,o=!1){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?.+)\/(?.+)\/contents/);if(!t||!t.groups)return;const{user:s,repo:i}=t.groups;return(await $(s,i,n)).reduce((e,t)=>{var r=t.branch||n,r={manifest:t,title:t.name,subtitle:t.description,authors:y(t.authors,s),user:s,repo:i,branch:r,imageURL:t.preview&&t.preview.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${s}/${i}/${r}/`+t.preview,extensionURL:t.main.startsWith("http")?t.main:`https://raw.githubusercontent.com/${s}/${i}/${r}/`+t.main,readmeURL:t.readme&&t.readme.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${s}/${i}/${r}/`+t.readme,stars:a,tags:t.tags};return t&&t.name&&t.description&&t.main&&(o&&localStorage.getItem(`marketplace:installed:${s}/${i}/`+t.main)||e.push(r)),e},[])}catch{return}}(r.contents_url,r.default_branch,r.stargazers_count):"app"===t&&await async function(e,n,a){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?.+)\/(?.+)\/contents/);if(!t||!t.groups)return;const{user:o,repo:s}=t.groups;return(await $(o,s,n)).reduce((e,t)=>{var r=t.branch||n,r={manifest:t,title:t.name,subtitle:t.description,authors:y(t.authors,o),user:o,repo:s,branch:r,imageURL:t.preview&&t.preview.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${o}/${s}/${r}/`+t.preview,readmeURL:t.readme&&t.readme.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${o}/${s}/${r}/`+t.readme,stars:a,tags:t.tags};return t&&t.name&&t.description&&e.push(r),e},[])}catch{return}}(r.contents_url,r.default_branch,r.stargazers_count)}(r,e),b*t+r.page_count),a=(console.debug({pageOfRepos:r}),r.total_count-n);if(console.debug(`Parsed ${n}/${r.total_count} ${e}s`),0{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\/(?.+)\/(?.+)\/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\/(?.+)\/(?.+)\/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\/(?.+)\/(?.+)\/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{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\(['|"](?.+?)['|"]\)/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)])}()})()}(); \ No newline at end of file diff --git a/.config/spicetify/CustomApps/marketplace/index.js b/.config/spicetify/CustomApps/marketplace/index.js index ee9d47ae..fa56df52 100644 --- a/.config/spicetify/CustomApps/marketplace/index.js +++ b/.config/spicetify/CustomApps/marketplace/index.js @@ -1,13 +1,13 @@ -var marketplace=(()=>{var A,P=Object.create,M=Object.defineProperty,_=Object.getOwnPropertyDescriptor,R=Object.getOwnPropertyNames,j=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty,e=(e,t)=>function(){return t||(0,e[R(e)[0]])((t={exports:{}}).exports,t),t.exports},$=(t,a,r,n)=>{if(a&&"object"==typeof a||"function"==typeof a)for(let e of R(a))D.call(t,e)||e===r||M(t,e,{get:()=>a[e],enumerable:!(n=_(a,e))||n.enumerable});return t},t=(e,t,a)=>(a=null!=e?P(j(e)):{},$(!t&&e&&e.__esModule?a:M(a,"default",{value:e,enumerable:!0}),e)),b=e({"external-global-plugin:react"(e,t){t.exports=Spicetify.React}}),z=e({"node_modules/.pnpm/void-elements@3.1.0/node_modules/void-elements/index.js"(e,t){t.exports={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}}}),J=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/internal/constants.js"(e,t){var a=Number.MAX_SAFE_INTEGER||9007199254740991;t.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:a,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}}),U=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/internal/debug.js"(e,t){var a="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};t.exports=a}}),V=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/internal/re.js"(e,t){var{MAX_SAFE_COMPONENT_LENGTH:a,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:n}=J(),o=U(),i=(e=t.exports={}).re=[],s=e.safeRe=[],l=e.src=[],c=e.t={},u=0,t="[a-zA-Z0-9-]",d=[["\\s",1],["\\d",n],[t,r]],n=(e,t,a)=>{var r=(e=>{for(var[t,a]of d)e=e.split(t+"*").join(`${t}{0,${a}}`).split(t+"+").join(`${t}{1,${a}}`);return e})(t),n=u++;o(e,n,t),c[e]=n,l[n]=t,i[n]=new RegExp(t,a?"g":void 0),s[n]=new RegExp(r,a?"g":void 0)};n("NUMERICIDENTIFIER","0|[1-9]\\d*"),n("NUMERICIDENTIFIERLOOSE","\\d+"),n("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${t}*`),n("MAINVERSION",`(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})`),n("MAINVERSIONLOOSE",`(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})`),n("PRERELEASEIDENTIFIER",`(?:${l[c.NUMERICIDENTIFIER]}|${l[c.NONNUMERICIDENTIFIER]})`),n("PRERELEASEIDENTIFIERLOOSE",`(?:${l[c.NUMERICIDENTIFIERLOOSE]}|${l[c.NONNUMERICIDENTIFIER]})`),n("PRERELEASE",`(?:-(${l[c.PRERELEASEIDENTIFIER]}(?:\\.${l[c.PRERELEASEIDENTIFIER]})*))`),n("PRERELEASELOOSE",`(?:-?(${l[c.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${l[c.PRERELEASEIDENTIFIERLOOSE]})*))`),n("BUILDIDENTIFIER",t+"+"),n("BUILD",`(?:\\+(${l[c.BUILDIDENTIFIER]}(?:\\.${l[c.BUILDIDENTIFIER]})*))`),n("FULLPLAIN",`v?${l[c.MAINVERSION]}${l[c.PRERELEASE]}?${l[c.BUILD]}?`),n("FULL",`^${l[c.FULLPLAIN]}$`),n("LOOSEPLAIN",`[v=\\s]*${l[c.MAINVERSIONLOOSE]}${l[c.PRERELEASELOOSE]}?${l[c.BUILD]}?`),n("LOOSE",`^${l[c.LOOSEPLAIN]}$`),n("GTLT","((?:<|>)?=?)"),n("XRANGEIDENTIFIERLOOSE",l[c.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*"),n("XRANGEIDENTIFIER",l[c.NUMERICIDENTIFIER]+"|x|X|\\*"),n("XRANGEPLAIN",`[v=\\s]*(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:${l[c.PRERELEASE]})?${l[c.BUILD]}?)?)?`),n("XRANGEPLAINLOOSE",`[v=\\s]*(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:${l[c.PRERELEASELOOSE]})?${l[c.BUILD]}?)?)?`),n("XRANGE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAIN]}$`),n("XRANGELOOSE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAINLOOSE]}$`),n("COERCEPLAIN",`(^|[^\\d])(\\d{1,${a}})(?:\\.(\\d{1,${a}}))?(?:\\.(\\d{1,${a}}))?`),n("COERCE",l[c.COERCEPLAIN]+"(?:$|[^\\d])"),n("COERCEFULL",l[c.COERCEPLAIN]+`(?:${l[c.PRERELEASE]})?(?:${l[c.BUILD]})?(?:$|[^\\d])`),n("COERCERTL",l[c.COERCE],!0),n("COERCERTLFULL",l[c.COERCEFULL],!0),n("LONETILDE","(?:~>?)"),n("TILDETRIM",`(\\s*)${l[c.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",n("TILDE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAIN]}$`),n("TILDELOOSE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAINLOOSE]}$`),n("LONECARET","(?:\\^)"),n("CARETTRIM",`(\\s*)${l[c.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",n("CARET",`^${l[c.LONECARET]}${l[c.XRANGEPLAIN]}$`),n("CARETLOOSE",`^${l[c.LONECARET]}${l[c.XRANGEPLAINLOOSE]}$`),n("COMPARATORLOOSE",`^${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]})$|^$`),n("COMPARATOR",`^${l[c.GTLT]}\\s*(${l[c.FULLPLAIN]})$|^$`),n("COMPARATORTRIM",`(\\s*)${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]}|${l[c.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",n("HYPHENRANGE",`^\\s*(${l[c.XRANGEPLAIN]})\\s+-\\s+(${l[c.XRANGEPLAIN]})\\s*$`),n("HYPHENRANGELOOSE",`^\\s*(${l[c.XRANGEPLAINLOOSE]})\\s+-\\s+(${l[c.XRANGEPLAINLOOSE]})\\s*$`),n("STAR","(<|>)?=?\\s*\\*"),n("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),n("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),B=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/internal/parse-options.js"(e,t){var a=Object.freeze({loose:!0}),r=Object.freeze({});t.exports=e=>e?"object"!=typeof e?a:e:r}}),W=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/internal/identifiers.js"(e,t){var n=/^[0-9]+$/,a=(e,t)=>{var a=n.test(e),r=n.test(t);return a&&r&&(e=+e,t=+t),e===t?0:a&&!r||(!r||a)&&ea(t,e)}}}),H=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/classes/semver.js"(e,t){var n=U(),{MAX_LENGTH:a,MAX_SAFE_INTEGER:r}=J(),{safeRe:o,t:i}=V(),s=B(),l=W()["compareIdentifiers"],c=class{constructor(e,t){if(t=s(t),e instanceof c){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>a)throw new TypeError(`version is longer than ${a} characters`);n("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;t=e.trim().match(t.loose?o[i.LOOSE]:o[i.FULL]);if(!t)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>r||this.major<0)throw new TypeError("Invalid major version");if(this.minor>r||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>r||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){var t=+e;if(0<=t&&t{if(e instanceof r)return e;try{return new r(e,t)}catch(e){if(a)throw e;return null}}}}),Z=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/valid.js"(e,t){var a=q();t.exports=(e,t)=>{e=a(e,t);return e?e.version:null}}}),X=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/clean.js"(e,t){var a=q();t.exports=(e,t)=>{e=a(e.trim().replace(/^[=v]+/,""),t);return e?e.version:null}}}),Y=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/inc.js"(e,t){var o=H();t.exports=(e,t,a,r,n)=>{"string"==typeof a&&(n=r,r=a,a=void 0);try{return new o(e instanceof o?e.version:e,a).inc(t,r,n).version}catch(e){return null}}}}),Q=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/diff.js"(e,t){var o=q();t.exports=(e,t)=>{var a,r,e=o(e,null,!0),t=o(t,null,!0),n=e.compare(t);return 0===n?null:(r=!!(a=(n=0new a(e,t).major}}),te=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/minor.js"(e,t){var a=H();t.exports=(e,t)=>new a(e,t).minor}}),ae=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/patch.js"(e,t){var a=H();t.exports=(e,t)=>new a(e,t).patch}}),re=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/prerelease.js"(e,t){var a=q();t.exports=(e,t)=>{e=a(e,t);return e&&e.prerelease.length?e.prerelease:null}}}),G=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/compare.js"(e,t){var r=H();t.exports=(e,t,a)=>new r(e,a).compare(new r(t,a))}}),ne=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/rcompare.js"(e,t){var r=G();t.exports=(e,t,a)=>r(t,e,a)}}),oe=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/compare-loose.js"(e,t){var a=G();t.exports=(e,t)=>a(e,t,!0)}}),ie=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/compare-build.js"(e,t){var r=H();t.exports=(e,t,a)=>{e=new r(e,a),t=new r(t,a);return e.compare(t)||e.compareBuild(t)}}}),se=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/sort.js"(e,t){var r=ie();t.exports=(e,a)=>e.sort((e,t)=>r(e,t,a))}}),le=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/rsort.js"(e,t){var r=ie();t.exports=(e,a)=>e.sort((e,t)=>r(t,e,a))}}),ce=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/gt.js"(e,t){var r=G();t.exports=(e,t,a)=>0r(e,t,a)<0}}),de=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/eq.js"(e,t){var r=G();t.exports=(e,t,a)=>0===r(e,t,a)}}),pe=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/neq.js"(e,t){var r=G();t.exports=(e,t,a)=>0!==r(e,t,a)}}),he=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/gte.js"(e,t){var r=G();t.exports=(e,t,a)=>0<=r(e,t,a)}}),me=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/lte.js"(e,t){var r=G();t.exports=(e,t,a)=>r(e,t,a)<=0}}),fe=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/cmp.js"(e,t){var n=de(),o=pe(),i=ce(),s=he(),l=ue(),c=me();t.exports=(e,t,a,r)=>{switch(t){case"===":return(e="object"==typeof e?e.version:e)===(a="object"==typeof a?a.version:a);case"!==":return(e="object"==typeof e?e.version:e)!==(a="object"==typeof a?a.version:a);case"":case"=":case"==":return n(e,a,r);case"!=":return o(e,a,r);case">":return i(e,a,r);case">=":return s(e,a,r);case"<":return l(e,a,r);case"<=":return c(e,a,r);default:throw new TypeError("Invalid operator: "+t)}}}}),ge=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/coerce.js"(e,t){var u=H(),d=q(),{safeRe:p,t:h}=V();t.exports=(e,t)=>{if(e instanceof u)return e;if("string"!=typeof(e="number"==typeof e?String(e):e))return null;let a=null;if((t=t||{}).rtl){for(var r,n=t.includePrerelease?p[h.COERCERTLFULL]:p[h.COERCERTL];(r=n.exec(e))&&(!a||a.index+a[0].length!==e.length);)a&&r.index+r[0].length===a.index+a[0].length||(a=r),n.lastIndex=r.index+r[1].length+r[2].length;n.lastIndex=-1}else a=e.match(t.includePrerelease?p[h.COERCEFULL]:p[h.COERCE]);var o,i,s,l,c;return null===a?null:(o=a[2],i=a[3]||"0",s=a[4]||"0",l=t.includePrerelease&&a[5]?"-"+a[5]:"",c=t.includePrerelease&&a[6]?"+"+a[6]:"",d(o+`.${i}.`+s+l+c,t))}}}),F=e({"node_modules/.pnpm/yallist@4.0.0/node_modules/yallist/iterator.js"(e,t){"use strict";t.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}}}),ve=e({"node_modules/.pnpm/yallist@4.0.0/node_modules/yallist/yallist.js"(e,t){"use strict";function o(e){var t=this;if((t=t instanceof o?t:new o).tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach(function(e){t.push(e)});else if(0this.length&&(t=this.length);for(var r=0,n=this.head;null!==n&&rthis.length&&(t=this.length);for(var r=this.length,n=this.tail;null!==n&&tthis.length?this.length-1:e)<0&&(e=this.length+e);for(var r=0,n=this.head;null!==n&&r1,m=(e,t,a)=>{t=e[h].get(t);if(t){var r=t.value;if(f(e,r)){if(v(e,t),!e[o])return}else a&&(e[n]&&(t.value.now=Date.now()),e[p].unshiftNode(t));return r.value}},f=(e,t)=>{var a;return!(!t||!t.maxAge&&!e[c])&&(a=Date.now()-t.now,t.maxAge?a>t.maxAge:e[c]&&a>e[c])},g=t=>{if(t[s]>t[i])for(let e=t[p].tail;t[s]>t[i]&&null!==e;){var a=e.prev;v(t,e),e=a}},v=(e,t)=>{var a;t&&(a=t.value,e[u]&&e[u](a.key,a.value),e[s]-=a.length,e[h].delete(a.key),e[p].removeNode(t))},b=class{constructor(e,t,a,r,n){this.key=e,this.value=t,this.length=a,this.now=r,this.maxAge=n||0}},y=(e,t,a,r)=>{let n=a.value;f(e,n)&&(v(e,a),e[o]||(n=void 0)),n&&t.call(r,n.value,n.key,e)};t.exports=class{constructor(e){if((e=(e="number"==typeof e?{max:e}:e)||{}).max&&("number"!=typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[i]=e.max||1/0;var t=e.length||r;if(this[l]="function"!=typeof t?r:t,this[o]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw new TypeError("maxAge must be a number");this[c]=e.maxAge||0,this[u]=e.dispose,this[d]=e.noDisposeOnSet||!1,this[n]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[i]=e||1/0,g(this)}get max(){return this[i]}set allowStale(e){this[o]=!!e}get allowStale(){return this[o]}set maxAge(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[c]=e,g(this)}get maxAge(){return this[c]}set lengthCalculator(e){(e="function"!=typeof e?r:e)!==this[l]&&(this[l]=e,this[s]=0,this[p].forEach(e=>{e.length=this[l](e.value,e.key),this[s]+=e.length})),g(this)}get lengthCalculator(){return this[l]}get length(){return this[s]}get itemCount(){return this[p].length}rforEach(t,a){a=a||this;for(let e=this[p].tail;null!==e;){var r=e.prev;y(this,t,e,a),e=r}}forEach(t,a){a=a||this;for(let e=this[p].head;null!==e;){var r=e.next;y(this,t,e,a),e=r}}keys(){return this[p].toArray().map(e=>e.key)}values(){return this[p].toArray().map(e=>e.value)}reset(){this[u]&&this[p]&&this[p].length&&this[p].forEach(e=>this[u](e.key,e.value)),this[h]=new Map,this[p]=new a,this[s]=0}dump(){return this[p].map(e=>!f(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[p]}set(e,t,a){if((a=a||this[c])&&"number"!=typeof a)throw new TypeError("maxAge must be a number");var r,n=a?Date.now():0,o=this[l](t,e);return this[h].has(e)?o>this[i]?(v(this,this[h].get(e)),!1):(r=this[h].get(e).value,this[u]&&!this[d]&&this[u](e,r.value),r.now=n,r.maxAge=a,r.value=t,this[s]+=o-r.length,r.length=o,this.get(e),g(this),!0):(r=new b(e,t,o,n,a)).length>this[i]?(this[u]&&this[u](e,t),!1):(this[s]+=r.length,this[p].unshift(r),this[h].set(e,this[p].head),g(this),!0)}has(e){return!!this[h].has(e)&&(e=this[h].get(e).value,!f(this,e))}get(e){return m(this,e,!0)}peek(e){return m(this,e,!1)}pop(){var e=this[p].tail;return e?(v(this,e),e.value):null}del(e){v(this,this[h].get(e))}load(t){this.reset();var a=Date.now();for(let e=t.length-1;0<=e;e--){var r=t[e],n=r.e||0;0===n?this.set(r.k,r.v):0<(n=n-a)&&this.set(r.k,r.v,n)}}prune(){this[h].forEach((e,t)=>m(this,t,!1))}}}}),K=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/classes/range.js"(e,t){var r=class{constructor(e,t){if(t=n(t),e instanceof r)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new r(e.raw,t);if(e instanceof l)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(e=>this.parseRange(e.trim())).filter(e=>e.length),!this.set.length)throw new TypeError("Invalid SemVer Range: "+this.raw);if(1!v(e[0])),0===this.set.length)this.set=[t];else if(1e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){var t=((this.options.includePrerelease&&f)|(this.options.loose&&g))+":"+e,a=s.get(t);if(a)return a;var a=this.options.loose,r=a?p[h.HYPHENRANGELOOSE]:p[h.HYPHENRANGE];e=e.replace(r,L(this.options.includePrerelease)),d("hyphen replace",e),e=e.replace(p[h.COMPARATORTRIM],c),d("comparator trim",e),e=e.replace(p[h.TILDETRIM],u),d("tilde trim",e),e=e.replace(p[h.CARETTRIM],m),d("caret trim",e);let n=e.split(" ").map(e=>b(e,this.options)).join(" ").split(/\s+/).map(e=>I(e,this.options));a&&(n=n.filter(e=>(d("loose invalid filter",e,this.options),!!e.match(p[h.COMPARATORLOOSE])))),d("range list",n);var o=new Map;for(const i of n.map(e=>new l(e,this.options))){if(v(i))return[i];o.set(i.value,i)}1i(t,a)&&e.set.some(e=>i(e,a)&&t.every(t=>e.every(e=>t.intersects(e,a)))));throw new TypeError("a Range is required")}test(t){if(t){if("string"==typeof t)try{t=new a(t,this.options)}catch(e){return!1}for(let e=0;e"<0.0.0-0"===e.value,o=e=>""===e.value,i=(e,t)=>{let a=!0;var r=e.slice();let n=r.pop();for(;a&&r.length;)a=r.every(e=>n.intersects(e,t)),n=r.pop();return a},b=(e,t)=>(d("comp",e,t),e=w(e,t),d("caret",e),e=S(e,t),d("tildes",e),e=C(e,t),d("xrange",e),e=x(e,t),d("stars",e),e),y=e=>!e||"x"===e.toLowerCase()||"*"===e,S=(e,t)=>e.trim().split(/\s+/).map(e=>k(e,t)).join(" "),k=(i,e)=>{e=e.loose?p[h.TILDELOOSE]:p[h.TILDE];return i.replace(e,(e,t,a,r,n)=>{d("tilde",i,e,t,a,r,n);let o;return o=y(t)?"":y(a)?`>=${t}.0.0 <${+t+1}.0.0-0`:y(r)?`>=${t}.${a}.0 <${t}.${+a+1}.0-0`:n?(d("replaceTilde pr",n),`>=${t}.${a}.${r}-${n} <${t}.${+a+1}.0-0`):`>=${t}.${a}.${r} <${t}.${+a+1}.0-0`,d("tilde return",o),o})},w=(e,t)=>e.trim().split(/\s+/).map(e=>E(e,t)).join(" "),E=(i,e)=>{d("caret",i,e);var t=e.loose?p[h.CARETLOOSE]:p[h.CARET];const s=e.includePrerelease?"-0":"";return i.replace(t,(e,t,a,r,n)=>{d("caret",i,e,t,a,r,n);let o;return o=y(t)?"":y(a)?`>=${t}.0.0${s} <${+t+1}.0.0-0`:y(r)?"0"===t?`>=${t}.${a}.0${s} <${t}.${+a+1}.0-0`:`>=${t}.${a}.0${s} <${+t+1}.0.0-0`:n?(d("replaceCaret pr",n),"0"===t?"0"===a?`>=${t}.${a}.${r}-${n} <${t}.${a}.${+r+1}-0`:`>=${t}.${a}.${r}-${n} <${t}.${+a+1}.0-0`:`>=${t}.${a}.${r}-${n} <${+t+1}.0.0-0`):(d("no pr"),"0"===t?"0"===a?`>=${t}.${a}.${r}${s} <${t}.${a}.${+r+1}-0`:`>=${t}.${a}.${r}${s} <${t}.${+a+1}.0-0`:`>=${t}.${a}.${r} <${+t+1}.0.0-0`),d("caret return",o),o})},C=(e,t)=>(d("replaceXRanges",e,t),e.split(/\s+/).map(e=>N(e,t)).join(" ")),N=(c,u)=>{c=c.trim();var e=u.loose?p[h.XRANGELOOSE]:p[h.XRANGE];return c.replace(e,(e,t,a,r,n,o)=>{d("xRange",c,e,t,a,r,n,o);var i=y(a),s=i||y(r),l=s||y(n);return"="===t&&l&&(t=""),o=u.includePrerelease?"-0":"",i?e=">"===t||"<"===t?"<0.0.0-0":"*":t&&l?(s&&(r=0),n=0,">"===t?(t=">=",n=s?(a=+a+1,r=0):(r=+r+1,0)):"<="===t&&(t="<",s?a=+a+1:r=+r+1),e=t+a+`.${r}.`+n+(o="<"===t?"-0":o)):s?e=`>=${a}.0.0${o} <${+a+1}.0.0-0`:l&&(e=`>=${a}.${r}.0${o} <${a}.${+r+1}.0-0`),d("xRange return",e),e})},x=(e,t)=>(d("replaceStars",e,t),e.trim().replace(p[h.STAR],"")),I=(e,t)=>(d("replaceGTE0",e,t),e.trim().replace(p[t.includePrerelease?h.GTE0PRE:h.GTE0],"")),L=h=>(e,t,a,r,n,o,i,s,l,c,u,d,p)=>((t=y(a)?"":y(r)?`>=${a}.0.0`+(h?"-0":""):y(n)?`>=${a}.${r}.0`+(h?"-0":""):o?">="+t:">="+t+(h?"-0":""))+" "+(s=y(l)?"":y(c)?`<${+l+1}.0.0-0`:y(u)?`<${l}.${+c+1}.0-0`:d?`<=${l}.${c}.${u}-`+d:h?`<${l}.${c}.${+u+1}-0`:"<="+s)).trim(),O=(t,a,e)=>{for(let e=0;e")||!e.operator.startsWith(">"))&&!(this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||s(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||s(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")));throw new TypeError("a Comparator is required")}},n=(t.exports=r,B()),{safeRe:o,t:i}=V(),s=fe(),l=U(),c=H(),u=K()}}),Se=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/satisfies.js"(e,t){var r=K();t.exports=(e,t,a)=>{try{t=new r(t,a)}catch(e){return!1}return t.test(e)}}}),ke=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/to-comparators.js"(e,t){var a=K();t.exports=(e,t)=>new a(e,t).set.map(e=>e.map(e=>e.value).join(" ").trim().split(" "))}}),we=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/max-satisfying.js"(e,t){var i=H(),s=K();t.exports=(e,t,a)=>{let r=null,n=null,o=null;try{o=new s(t,a)}catch(e){return null}return e.forEach(e=>{!o.test(e)||r&&-1!==n.compare(e)||(r=e,n=new i(r,a))}),r}}}),Ee=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/min-satisfying.js"(e,t){var i=H(),s=K();t.exports=(e,t,a)=>{let r=null,n=null,o=null;try{o=new s(t,a)}catch(e){return null}return e.forEach(e=>{!o.test(e)||r&&1!==n.compare(e)||(r=e,n=new i(r,a))}),r}}}),Ce=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/min-version.js"(e,t){var o=H(),a=K(),i=ce();t.exports=(t,e)=>{t=new a(t,e);let r=new o("0.0.0");if(t.test(r))return r;if(r=new o("0.0.0-0"),t.test(r))return r;r=null;for(let e=0;e{var t=new o(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":a&&!i(t,a)||(a=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}}),!a||r&&!i(r,a)||(r=a)}return r&&t.test(r)?r:null}}}),Ne=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/valid.js"(e,t){var a=K();t.exports=(e,t)=>{try{return new a(e,t).range||"*"}catch(e){return null}}}}),xe=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/outside.js"(e,t){var a=H(),p=ye(),h=p["ANY"],m=K(),f=Se(),g=ce(),v=ue(),b=me(),y=he();t.exports=(r,n,e,o)=>{r=new a(r,o),n=new m(n,o);let i,s,l,c,u;switch(e){case">":i=g,s=b,l=v,c=">",u=">=";break;case"<":i=v,s=y,l=g,c="<",u="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(f(r,n,o))return!1;for(let e=0;e{e.semver===h&&(e=new p(">=0.0.0")),t=t||e,a=a||e,i(e.semver,t.semver,o)?t=e:l(e.semver,a.semver,o)&&(a=e)}),t.operator===c||t.operator===u)return!1;if((!a.operator||a.operator===c)&&s(r,a.semver))return!1;if(a.operator===u&&l(r,a.semver))return!1}return!0}}}),Ie=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/gtr.js"(e,t){var r=xe();t.exports=(e,t,a)=>r(e,t,">",a)}}),Le=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/ltr.js"(e,t){var r=xe();t.exports=(e,t,a)=>r(e,t,"<",a)}}),Oe=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/intersects.js"(e,t){var r=K();t.exports=(e,t,a)=>(e=new r(e,a),t=new r(t,a),e.intersects(t,a))}}),Te=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/simplify.js"(e,t){var h=Se(),m=G();t.exports=(e,t,a)=>{var r=[];let n=null,o=null;var i=e.sort((e,t)=>m(e,t,a));for(const p of i){var s=h(p,t,a);n=s?(o=p,n||p):(o&&r.push([n,o]),o=null)}n&&r.push([n,null]);var l,c,u=[];for([l,c]of r)l===c?u.push(l):c||l!==i[0]?c?l===i[0]?u.push("<="+c):u.push(l+" - "+c):u.push(">="+l):u.push("*");var e=u.join(" || "),d="string"==typeof t.raw?t.raw:String(t);return e.length=0.0.0-0")],k=[new a(">=0.0.0")],w=(e,t,a)=>{return!e||!(0<(a=y(e.semver,t.semver,a)))&&(a<0||">"===t.operator&&">="===e.operator)?t:e},E=(e,t,a)=>{return!e||!((a=y(e.semver,t.semver,a))<0)&&(0{if(t!==a){t=new s(t,r),a=new s(a,r);let e=!1;e:for(const o of t.set){for(const i of a.set){var n=((s,l,c)=>{if(s!==l){if(1===s.length&&s[0].semver===v){if(1===l.length&&l[0].semver===v)return!0;s=c.includePrerelease?S:k}if(1===l.length&&l[0].semver===v){if(c.includePrerelease)return!0;l=k}var u=new Set,d,p;let e,t;for(const h of s)">"===h.operator||">="===h.operator?e=w(e,h,c):"<"===h.operator||"<="===h.operator?t=E(t,h,c):u.add(h.semver);if(1="!==e.operator||"<="!==t.operator))return null}for(const m of u){if(e&&!b(m,String(e),c))return null;if(t&&!b(m,String(t),c))return null;for(const f of l)if(!b(m,String(f),c))return!1;return!0}let r,n,o=!(!t||c.includePrerelease||!t.semver.prerelease.length)&&t.semver,i=!(!e||c.includePrerelease||!e.semver.prerelease.length)&&e.semver;o&&1===o.prerelease.length&&"<"===t.operator&&0===o.prerelease[0]&&(o=!1);for(const g of l){if(n=n||">"===g.operator||">="===g.operator,r=r||"<"===g.operator||"<="===g.operator,e)if(i&&g.semver.prerelease&&g.semver.prerelease.length&&g.semver.major===i.major&&g.semver.minor===i.minor&&g.semver.patch===i.patch&&(i=!1),">"===g.operator||">="===g.operator){if((d=w(e,g,c))===g&&d!==e)return!1}else if(">="===e.operator&&!b(e.semver,String(g),c))return!1;if(t)if(o&&g.semver.prerelease&&g.semver.prerelease.length&&g.semver.major===o.major&&g.semver.minor===o.minor&&g.semver.patch===o.patch&&(o=!1),"<"===g.operator||"<="===g.operator){if((p=E(t,g,c))===g&&p!==t)return!1}else if("<="===t.operator&&!b(t.semver,String(g),c))return!1;if(!g.operator&&(t||e)&&0!==a)return!1}if(e&&r&&!t&&0!==a)return!1;if(t&&n&&!e&&0!==a)return!1;if(i||o)return!1}return true})(o,i,r);if(e=e||null!==n,n)continue e}if(e)return!1}}return!0}}}),a=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/index.js"(j,e){var t=V(),a=J(),r=H(),n=W(),o=q(),i=Z(),s=X(),l=Y(),c=Q(),u=ee(),d=te(),p=ae(),h=re(),m=G(),f=ne(),g=oe(),v=ie(),b=se(),y=le(),S=ce(),k=ue(),w=de(),E=pe(),C=he(),N=me(),x=fe(),I=ge(),L=ye(),O=K(),T=Se(),A=ke(),P=we(),M=Ee(),_=Ce(),R=Ne(),D=xe(),$=Ie(),z=Le(),U=Oe(),B=Te(),F=Ae();e.exports={parse:o,valid:i,clean:s,inc:l,diff:c,major:u,minor:d,patch:p,prerelease:h,compare:m,rcompare:f,compareLoose:g,compareBuild:v,sort:b,rsort:y,gt:S,lt:k,eq:w,neq:E,gte:C,lte:N,cmp:x,coerce:I,Comparator:L,Range:O,satisfies:T,toComparators:A,maxSatisfying:P,minSatisfying:M,minVersion:_,validRange:R,outside:D,gtr:$,ltr:z,intersects:U,simplifyRange:B,subset:F,SemVer:r,re:t.re,src:t.src,tokens:t.t,SEMVER_SPEC_VERSION:a.SEMVER_SPEC_VERSION,RELEASE_TYPES:a.RELEASE_TYPES,compareIdentifiers:n.compareIdentifiers,rcompareIdentifiers:n.rcompareIdentifiers}}}),Pe=e({"node_modules/.pnpm/chroma-js@2.4.2/node_modules/chroma-js/chroma.js"(e,t){var a;a=function(){"use strict";for(var e=function(e,t,a){return void 0===a&&(a=1),e<(t=void 0===t?0:t)?t:a>16,t>>8&255,255&t,1];if(e.match(tt))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)}function xe(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var a,r,n,o=(e=ut(e,"hsi"))[0],i=e[1],s=e[2];return isNaN(o)&&(o=0),isNaN(i)&&(i=0),360f.t1?e*e*e:f.t2*(e-f.t0)}function Ae(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var a=(e=_t(e,"lab"))[0],r=e[1],n=e[2],a=(a+16)/116,r=isNaN(r)?a:a+r/500,n=isNaN(n)?a:a-n/200;return a=f.Yn*Te(a),r=f.Xn*Te(r),n=f.Zn*Te(n),[Oe(3.2404542*r-1.5371385*a-.4985314*n),Oe(-.969266*r+1.8760108*a+.041556*n),Oe(.0556434*r-.2040259*a+1.0572252*n),3>16,e>>8&255,255&e,1];throw new Error("unknown num color: "+e)}function De(e){var t,a,r=(e=e/100)<66?(t=255,a=e<6?0:-155.25485562709179-.44596950469579133*(a=e-2)+104.49216199393888*S(a),e<20?0:.8274096064007395*(r=e-10)-254.76935184120902+115.67994401066147*S(r)):(t=351.97690566805693+.114206453784165*(t=e-55)-40.25366309332127*S(t),a=325.4494125711974+.07943456536662342*(a=e-50)-28.0852963507957*S(a),255);return[t,a,r,1]}function $e(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var a=(n=Ea(e,"rgb"))[0],r=n[1],n=n[2],a=[Ia(a/255),Ia(r/255),Ia(n/255)],o=Ca(.4122214708*(r=a[0])+.5363325363*(n=a[1])+.0514459929*(a=a[2])),i=Ca(.2119034982*r+.6806995451*n+.1073969566*a),r=Ca(.0883024619*r+.2817188376*n+.6299787005*a);return[.2104542553*o+.793617785*i-.0040720468*r,1.9779984951*o-2.428592205*i+.4505937099*r,.0259040371*o+.7827717662*i-.808675766*r]}var c=l,ze=i,u=o,Ue=e.type,Be=V,Fe=q,Ve=(ze.prototype.css=function(e){return Be(this._rgb,e)},c.css=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(ze,[null].concat(e,["css"])))},u.format.css=Fe,u.autodetect.push({p:5,test:function(e){for(var t=[],a=arguments.length-1;0m.t3?At(e,1/3):e/m.t2+m.t0},f=u,_t=e.unpack,Rt=Math.pow,jt=e.unpack,Dt=e.type,c=l,$t=i,g=o,zt=Le,Ut=($t.prototype.lab=function(){return zt(this._rgb)},c.lab=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply($t,[null].concat(e,["lab"])))},g.format.lab=Ae,g.autodetect.push({p:2,test:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(e=jt(e,"lab"),"array"===Dt(e)&&3===e.length)return"lab"}}),e.unpack),Bt=e.RAD2DEG,Ft=Math.sqrt,Vt=Math.atan2,Ht=Math.round,qt=e.unpack,Gt=Le,Kt=Pe,Jt=e.unpack,Wt=e.DEG2RAD,Zt=Math.sin,Xt=Math.cos,Yt=e.unpack,Qt=Me,ea=Ae,ta=e.unpack,aa=_e,ra=e.unpack,na=e.type,c=l,v=i,oa=o,ia=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var a=qt(e,"rgb"),r=a[0],n=a[1],a=a[2],r=Gt(r,n,a),n=r[0],a=r[1],r=r[2];return Kt(n,a,r)},g=(v.prototype.lch=function(){return ia(this._rgb)},v.prototype.hcl=function(){return ia(this._rgb).reverse()},c.lch=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(v,[null].concat(e,["lch"])))},c.hcl=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(v,[null].concat(e,["hcl"])))},oa.format.lch=_e,oa.format.hcl=Re,["lch","hcl"].forEach(function(a){return oa.autodetect.push({p:2,test:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(e=ra(e,a),"array"===na(e)&&3===e.length)return a}})}),{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",cornflower:"#6495ed",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"}),c=i,b=o,sa=e.type,y=g,la=Ne,ca=Ce,ua=(c.prototype.name=function(){for(var e=ca(this._rgb,"rgb"),t=0,a=Object.keys(y);t=n/r?i=s:o=s}return ka(s)},Ea=(k.prototype.temp=k.prototype.kelvin=k.prototype.temperature=function(){return wa(this._rgb)},c.temp=c.kelvin=c.temperature=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(k,[null].concat(e,["temp"])))},b.format.temp=b.format.kelvin=b.format.temperature=De,e.unpack),Ca=Math.cbrt,Na=Math.pow,xa=Math.sign;function Ia(e){var t=Math.abs(e);return t<.04045?e/12.92:(xa(e)||1)*Na((t+.055)/1.055,2.4)}function La(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var a=(e=Oa(e,"lab"))[0],r=e[1],n=e[2],o=w(a+.3963377774*r+.2158037573*n,3),i=w(a-.1055613458*r-.0638541728*n,3),a=w(a-.0894841775*r-1.291485548*n,3);return[255*Aa(4.0767416621*o-3.3077115913*i+.2309699292*a),255*Aa(-1.2684380046*o+2.6097574011*i-.3413193965*a),255*Aa(-.0041960863*o-.7034186147*i+1.707614701*a),3=m[a];)a++;return a-1},w=function(e){return e},E=function(e){return e};return a(c),d.classes=function(e){var t;return null!=e?("array"===O(e)?p=[(m=e)[0],e[e.length-1]]:(t=L.analyze(p),m=0===e?[t.min,t.max]:L.limits(t,"e",e)),d):m},d.domain=function(a){if(!arguments.length)return p;g=a[0],v=a[a.length-1],l=[];var e=f.length;if(a.length===e&&g!==v)for(var t=0,r=Array.from(a);t=i[t+1];)t++;var a=(e-i[t])/(i[t+1]-i[t]);return o[t]+a*(o[t+1]-o[t])}))}return p=[g,v],d},d.mode=function(e){return arguments.length?(i=e,r(),d):i},d.range=function(e,t){return a(e),d},d.out=function(e){return n=e,d},d.spread=function(e){return arguments.length?(t=e,d):t},d.correctLightness=function(e){return r(),w=(e=null==e?!0:e)?function(e){for(var t=u(0,!0).lab()[0],a=u(1,!0).lab()[0],r=a 0");var l=Math.LOG10E*Kr(r),j=Math.LOG10E*Kr(n);i.push(r);for(var c=1;c.9999999)l[3]=1;return new Cr(Nr(l))}for(var p,h=e.shift(),m=h.get(o),f=[],g=0,v=0,b=0;b"}}:{children:o})),C.createElement("textarea",{ref:function(e){return t._input=e},style:w(w(w({},I.editor),I.textarea),n),className:N+(s?" ".concat(s):""),id:i,value:a,onChange:this._handleChange,onKeyDown:this._handleKeyDown,onClick:v,onKeyUp:S,onFocus:b,onBlur:y,disabled:c,form:u,maxLength:d,minLength:p,name:h,placeholder:m,readOnly:f,required:g,autoFocus:l,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"data-gramm":!1}),C.createElement("style",{dangerouslySetInnerHTML:{__html:x}}))},s.defaultProps={tabSize:2,insertSpaces:!0,ignoreTabKey:!1,padding:0},s);function s(){var f=null!==t&&t.apply(this,arguments)||this;return f.state={capture:!0},f._recordCurrentState=function(){var e,t,a=f._input;a&&(e=a.value,t=a.selectionStart,a=a.selectionEnd,f._recordChange({value:e,selectionStart:t,selectionEnd:a}))},f._getLines=function(e,t){return e.substring(0,t).split("\n")},f._recordChange=function(e,t){void 0===t&&(t=!1);var a=f._history,r=a.stack,a=a.offset,a=(r.length&&-1=i.reach);b+=v.value.length,v=v.next){var y=v.value;if(a.length>t.length)return;if(!(y instanceof A)){var S,k=1;if(m){if(!(S=P(g,b,t,h))||S.index>=t.length)break;var w=S.index,E=S.index+S[0].length,C=b;for(C+=v.value.length;C<=w;)v=v.next,C+=v.value.length;if(C-=v.value.length,b=C,v.value instanceof A)continue;for(var N=v;N!==a.tail&&(Ci.reach&&(i.reach=y),v.prev),I=(I&&(O=M(a,O,I),b+=I.length),_(a,O,k),new A(s,p?T.tokenize(x,p):x,f,x));v=M(a,O,I),L&&M(a,v,L),1i.reach&&(i.reach=x.reach)}}}}}(e,n,t,n.head,0),n),i=[],s=o.head.next;s!==o.tail;)i.push(s.value),s=s.next;return i},hooks:{all:{},add:function(e,t){var a=T.hooks.all;a[e]=a[e]||[],a[e].push(t)},run:function(e,t){var a=T.hooks.all[e];if(a&&a.length)for(var r,n=0;r=a[n++];)r(t)}},Token:A},l.Prism=T,A.stringify=function t(e,a){if("string"==typeof e)return e;var r;if(Array.isArray(e))return r="",e.forEach(function(e){r+=t(e,a)}),r;var n,o={type:e.type,content:t(e.content,a),tag:"span",classes:["token",e.type],attributes:{},language:a},e=e.alias,i=(e&&(Array.isArray(e)?Array.prototype.push.apply(o.classes,e):o.classes.push(e)),T.hooks.run("wrap",o),"");for(n in o.attributes)i+=" "+n+'="'+(o.attributes[n]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+i+">"+o.content+""},l.document?((n=T.util.currentScript())&&(T.filename=n.src,n.hasAttribute("data-manual"))&&(T.manual=!0),T.manual||("loading"===(o=document.readyState)||"interactive"===o&&n&&n.defer?document.addEventListener("DOMContentLoaded",i):window.requestAnimationFrame?window.requestAnimationFrame(i):window.setTimeout(i,16))):l.addEventListener&&!T.disableWorkerMessageHandler&&l.addEventListener("message",function(e){var e=JSON.parse(e.data),t=e.language,a=e.code,e=e.immediateClose;l.postMessage(T.highlight(a,T.languages[t],t)),e&&l.close()},!1),T);function A(e,t,a,r){this.type=e,this.content=t,this.alias=a,this.length=0|(r||"").length}function P(e,t,a,r){e.lastIndex=t;t=e.exec(a);return t&&r&&t[1]&&(e=t[1].length,t.index+=e,t[0]=t[0].slice(e)),t}function c(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function M(e,t,a){var r=t.next,a={value:a,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function _(e,t,a){for(var r=t.next,n=0;nfunction(){return Yr.default.createElement(Xr,null)}};for(A in $e)M(De,A,{get:$e[A],enumerable:!0});var ze=t(b()),Ue={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}},Be=class{constructor(e){this.init(e,1{this.observers[e]||(this.observers[e]=new Map);var t=this.observers[e].get(a)||0;this.observers[e].set(a,t+1)}),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(r){for(var e=arguments.length,n=new Array(1{var[t,a]=e;for(let e=0;e{var[t,a]=e;for(let e=0;e{a=e,r=t});return e.resolve=a,e.reject=r,e}function Ve(e){return null==e?"":""+e}function He(e,t,a){e.forEach(e=>{t[e]&&(a[e]=t[e])})}var qe=/###/g;function Ge(e,t,a){function r(e){return e&&-1":">",'"':""","'":"'","/":"/"};function Ye(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,e=>Xe[e]):e}var Qe=[" ",",","?","!",";"],et=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);function tt(e,t,a){t=t||"",a=a||"";var r=Qe.filter(e=>t.indexOf(e)<0&&a.indexOf(e)<0);if(0===r.length)return 1;var n,r=et.getRegExp(`(${r.map(e=>"?"===e?"\\?":e).join("|")})`);let o=!r.test(e);return o||0<(n=e.indexOf(a))&&!r.test(e.substring(0,n))&&(o=!0),o}function at(e,t,a){var o=2t[e]&&0{this.processors[e]&&(t=this.processors[e].process(t,a,r,n))}),t}},it={},st=class extends r{constructor(e){var t=1{a=w&&a!==u?a:N;this.options.missingKeyHandler?this.options.missingKeyHandler(e,s,t,a,x,r):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(e,s,t,a,x,r),this.emit("missingKey",e,s,t,u)};this.options.saveMissing&&(this.options.saveMissingPlurals&&g?t.forEach(t=>{var e=this.pluralResolver.getSuffixes(t,r);E&&r[`defaultValue${this.options.pluralSeparator}zero`]&&e.indexOf(this.options.pluralSeparator+"zero")<0&&e.push(this.options.pluralSeparator+"zero"),e.forEach(e=>{I([t],i+e,r["defaultValue"+e]||C)})}):I(t,i,C))}u=this.extendTranslation(u,a,r,c,n),t&&u===i&&this.options.appendNamespaceToMissingKey&&(u=s+":"+i),(t||e)&&this.options.parseMissingKeyHandler&&(u="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?s+":"+i:i,e?u:void 0):this.options.parseMissingKeyHandler(u))}return e?(c.res=u,c.usedParams=this.getUsedParamsDetails(r),c):u}extendTranslation(a,r,n,o,i){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)a=this.i18nFormat.parse(a,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});var l="string"==typeof a&&(n&&n.interpolation&&void 0!==n.interpolation.skipOnVariables?n:this.options).interpolation.skipOnVariables;let e,t=(l&&(c=a.match(this.interpolator.nestingRegexp),e=c&&c.length),n.replace&&"string"!=typeof n.replace?n.replace:n);this.options.interpolation.defaultVariables&&(t={...this.options.interpolation.defaultVariables,...t}),a=this.interpolator.interpolate(a,t,n.lng||this.language,n),l&&(l=(c=a.match(this.interpolator.nestingRegexp))&&c.length,e{if(!this.isValidLookup(p)){t=this.extractFromKey(t,d);const s=t.key;r=s;let e=t.namespaces;this.options.fallbackNS&&(e=e.concat(this.options.fallbackNS));const l=void 0!==d.count&&"string"!=typeof d.count,c=l&&!d.ordinal&&0===d.count&&this.pluralResolver.shouldUseIntlApi(),u=void 0!==d.context&&("string"==typeof d.context||"number"==typeof d.context)&&""!==d.context,a=d.lngs||this.languageUtils.toResolveHierarchy(d.lng||this.language,d.fallbackLng);e.forEach(i=>{this.isValidLookup(p)||(n=i,!it[a[0]+"-"+i]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(n)&&(it[a[0]+"-"+i]=!0,this.logger.warn(`key "${r}" for languages "${a.join(", ")}" won't get resolved as namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),a.forEach(t=>{if(!this.isValidLookup(p)){m=t;var e,a=[s];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(a,s,t,i,d);else{let e;l&&(e=this.pluralResolver.getSuffix(t,d.count,d));var r,n=this.options.pluralSeparator+"zero",o=this.options.pluralSeparator+"ordinal"+this.options.pluralSeparator;l&&(a.push(s+e),d.ordinal&&0===e.indexOf(o)&&a.push(s+e.replace(o,this.options.pluralSeparator)),c)&&a.push(s+n),u&&(r=""+s+this.options.contextSeparator+d.context,a.push(r),l)&&(a.push(r+e),d.ordinal&&0===e.indexOf(o)&&a.push(r+e.replace(o,this.options.pluralSeparator)),c)&&a.push(r+n)}for(;e=a.pop();)this.isValidLookup(p)||(h=e,p=this.getResource(t,i,e,d))}}))})}}),{res:p,usedKey:r,exactUsedKey:h,usedLng:m,usedNS:n}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,a){var r=3e.toLowerCase()):2===e.length?(e[0]=e[0].toLowerCase(),e[1]=e[1].toUpperCase(),-1{a||(e=this.formatLanguageCode(e),this.options.supportedLngs&&!this.isSupportedCode(e))||(a=e)}),!a&&this.options.supportedLngs&&e.forEach(e=>{if(!a){const t=this.getLanguagePartFromCode(e);if(this.isSupportedCode(t))return a=t;a=this.options.supportedLngs.find(e=>e===t||!(e.indexOf("-")<0&&t.indexOf("-")<0)&&(0{e&&(this.isSupportedCode(e)?a.push(e):this.logger.warn("rejecting language code not found in supportedLngs: "+e))};return"string"==typeof e&&(-1{a.indexOf(e)<0&&r(this.formatLanguageCode(e))}),a}},ut=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],dt={1:function(e){return Number(1{t.lngs.forEach(e=>{a[e]={numbers:t.nr,plurals:dt[t.fc]}})}),a}var gt=class{constructor(e){var t=1""+t+e)}getSuffixes(t){let a=1mt[e]-mt[t]).map(e=>""+this.options.prepend+(a.ordinal?"ordinal"+this.options.prepend:"")+e):e.numbers.map(e=>this.getSuffix(t,e,a)):[]}getSuffix(e,t){var a=2this.options.prepend&&a.toString()?this.options.prepend+a.toString():a.toString();return"v1"===this.options.compatibilityJSON?1===a?"":"number"==typeof a?"_plural_"+a.toString():r():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?r():this.options.prepend&&t.toString()?this.options.prepend+t.toString():t.toString()}shouldUseIntlApi(){return!pt.includes(this.options.compatibilityJSON)}};function vt(e,t,a,r,n){var o,i,s,l=3e),this.init(e)}init(){var e=0e&&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(r,a,n,o){let i,s,l;const c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function t(e){return e.replace(/\$/g,"$$$$")}const u=e=>{var t;return e.indexOf(this.formatSeparator)<0?(t=vt(a,c,e,this.options.keySeparator,this.options.ignoreJSONStructure),this.alwaysFormat?this.format(t,void 0,n,{...o,...a,interpolationkey:e}):t):(e=(t=e.split(this.formatSeparator)).shift().trim(),t=t.join(this.formatSeparator).trim(),this.format(vt(a,c,e,this.options.keySeparator,this.options.ignoreJSONStructure),t,n,{...o,...a,interpolationkey:e}))},d=(this.resetRegExp(),o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler),p=(o&&o.interpolation&&void 0!==o.interpolation.skipOnVariables?o:this.options).interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>t(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?t(this.escape(e)):t(e)}].forEach(e=>{for(l=0;i=e.regex.exec(r);){var t=i[1].trim();if(void 0===(s=u(t)))if("function"==typeof d){var a=d(r,i,o);s="string"==typeof a?a:""}else{if(!o||!Object.prototype.hasOwnProperty.call(o,t)){if(p){s=i[0];continue}this.logger.warn(`missed to pass in variable ${t} for interpolating `+r)}s=""}else"string"==typeof s||this.useRawValueToEscape||(s=Ve(s));a=e.safeValue(s);if(r=r.replace(i[0],a),p?(e.regex.lastIndex+=s.length,e.regex.lastIndex-=i[0].length):e.regex.lastIndex=0,++l>=this.maxReplaces)break}}),r}nest(a,r){let n=2e.trim()),o[1]=c.shift(),e=c,t=!0),(i=r(l.call(this,o[1].trim(),s),s))&&o[0]===a&&"string"!=typeof i)return i;(i="string"!=typeof i?Ve(i):i)||(this.logger.warn(`missed to resolve ${o[1]} for nesting `+a),i=""),t&&(i=e.reduce((e,t)=>this.format(e,t,n.lng,{...n,interpolationkey:o[1].trim()}),i.trim())),a=a.replace(o[0],i),this.regexp.lastIndex=0}return a}};function yt(e){let t=e.toLowerCase().trim();const a={};return-1{var t;e&&([e,...t]=e.split(":"),t=t.join(":").trim().replace(/^'+|'+$/g,""),a[e.trim()]||(a[e.trim()]=t),"false"===t&&(a[e.trim()]=!1),"true"===t&&(a[e.trim()]=!0),isNaN(t)||(a[e.trim()]=parseInt(t,10)))})),{formatName:t,formatOptions:a}}function o(o){const i={};return function(e,t,a){var r=t+JSON.stringify(a);let n=i[r];return n||(n=o(rt(t),a),i[r]=n),n(e)}}var St=class{constructor(){var e=0{const a=new Intl.NumberFormat(e,{...t});return e=>a.format(e)}),currency:o((e,t)=>{const a=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>a.format(e)}),datetime:o((e,t)=>{const a=new Intl.DateTimeFormat(e,{...t});return e=>a.format(e)}),relativetime:o((e,t)=>{const a=new Intl.RelativeTimeFormat(e,{...t});return e=>a.format(e,t.range||"day")}),list:o((e,t)=>{const a=new Intl.ListFormat(e,{...t});return e=>a.format(e)})},this.init(e)}init(e){var t=(1{var{formatName:a,formatOptions:r}=yt(a);if(this.formats[a]){let e=t;try{var n=s&&s.formatParams&&s.formatParams[s.interpolationkey]||{},o=n.locale||n.lng||s.locale||s.lng||i;e=this.formats[a](t,o,{...r,...s,...n})}catch(e){this.logger.warn(e)}return e}return this.logger.warn("there was no format function for "+a),t},e)}};function kt(e,t){void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)}var wt=class extends r{constructor(e,t,a){var r=3{let r=!0;t.forEach(e=>{var t=a+"|"+e;!n.reload&&this.store.hasResourceBundle(a,e)?this.state[t]=2:this.state[t]<0||(1===this.state[t]?void 0===i[t]&&(i[t]=!0):(this.state[t]=1,r=!1,void 0===i[t]&&(i[t]=!0),void 0===o[t]&&(o[t]=!0),void 0===l[e]&&(l[e]=!0)))}),r||(s[a]=!0)}),(Object.keys(o).length||Object.keys(i).length)&&this.queue.push({pending:i,pendingCount:Object.keys(i).length,loaded:{},errors:[],callback:a}),{toLoad:Object.keys(o),pending:Object.keys(i),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(l)}}loaded(e,t,a){var r=e.split("|");const n=r[0],o=r[1],i=(t&&this.emit("failedLoading",n,o,t),a&&this.store.addResourceBundle(n,o,a,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,{});this.queue.forEach(a=>{Je(a.loaded,[n],o),kt(a,e),t&&a.errors.push(t),0!==a.pendingCount||a.done||(Object.keys(a.loaded).forEach(t=>{i[t]||(i[t]={});var e=a.loaded[t];e.length&&e.forEach(e=>{void 0===i[t][e]&&(i[t][e]=!0)})}),a.done=!0,a.errors.length?a.callback(a.errors):a.callback())}),this.emit("loaded",i),this.queue=this.queue.filter(e=>!e.done)}read(r,n,o){let i=3=this.maxParallelReads)this.waitingReads.push({lng:r,ns:n,fcName:o,tried:i,wait:s,callback:l});else{this.readingCalls++;const a=(e,t)=>{var a;this.readingCalls--,0{this.read.call(this,r,n,o,i+1,2*s,l)},s):l(e,t)};var e=this.backend[o].bind(this.backend);if(2!==e.length)return e(r,n,a);try{var t=e(r,n);t&&"function"==typeof t.then?t.then(e=>a(null,e)).catch(a):a(null,t)}catch(e){a(e)}}}prepareLoading(e,t){var a=2{this.loadOne(e)})}load(e,t,a){this.prepareLoading(e,t,{},a)}reload(e,t,a){this.prepareLoading(e,t,{reload:!0},a)}loadOne(a){let r=1{e&&this.logger.warn(`${r}loading namespace ${o} for language ${n} failed`,e),!e&&t&&this.logger.log(`${r}loaded namespace ${o} for language `+n,t),this.loaded(a,e,t)})}saveMissing(t,a,r,n,o){var i=5{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(a))this.logger.warn(`did not save key "${r}" as the namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=r&&""!==r){if(this.backend&&this.backend.create){i={...i,isUpdate:o},o=this.backend.create.bind(this.backend);if(o.length<6)try{let e;(e=5===o.length?o(t,a,r,n,i):o(t,a,r,n))&&"function"==typeof e.then?e.then(e=>s(null,e)).catch(s):s(null,e)}catch(e){s(e)}else o(t,a,r,n,s,i)}t&&t[0]&&this.store.addResource(t[0],a,r,n)}}};function Et(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){let t={};if("object"==typeof e[1]&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const a=e[3]||e[2];Object.keys(a).forEach(e=>{t[e]=a[e]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function Ct(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function Nt(){}function xt(t){Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(e=>{"function"==typeof t[e]&&(t[e]=t[e].bind(t))})}var It=class extends r{constructor(){let e=0{this.init(e,t)},0)}}init(){var n=this;let e=0{e.init&&e.init(this)})}this.format=this.options.interpolation.format,a=a||Nt,!this.options.fallbackLng||this.services.languageDetector||this.options.lng||0<(o=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng)).length&&"dev"!==o[0]&&(this.options.lng=o[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 n.store[e](...arguments)}});["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(e=>{this[e]=function(){return n.store[e](...arguments),n}});const s=Fe();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),s.resolve(t),a(e,t)};if(this.languages&&"v1"!==this.options.compatibilityAPI&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initImmediate?t():setTimeout(t,0),s}loadResources(e){let t=1{e&&"cimode"!==e&&this.services.languageUtils.toResolveHierarchy(e).forEach(e=>{"cimode"!==e&&r.indexOf(e)<0&&r.push(e)})};a?n(a):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>n(e)),this.options.preload&&this.options.preload.forEach(e=>n(e)),this.services.backendConnector.load(r,this.options.ns,e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),t(e)})}else t(null)}reloadResources(e,t,a){const r=Fe();return e=e||this.languages,t=t||this.options.ns,a=a||Nt,this.services.backendConnector.reload(e,t,e=>{r.resolve(),a(e)}),r}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(e.type)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&&ot.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.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)}),s=(e,t)=>{t?(i(t),this.translator.changeLanguage(t),this.isLanguageChangingTo=void 0,this.emit("languageChanged",t),this.logger.log("languageChanged",t)):this.isLanguageChangingTo=void 0,o.resolve(function(){return n.t(...arguments)}),r&&r(e,function(){return n.t(...arguments)})};var e=e=>{const t="string"==typeof(e=a||e||!this.services.languageDetector?e:[])?e:this.services.languageUtils.getBestMatchFromCodes(e);t&&(this.language||i(t),this.translator.language||this.translator.changeLanguage(t),this.services.languageDetector)&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(t),this.loadResources(t,e=>{s(e,t)})};return a||!this.services.languageDetector||this.services.languageDetector.async?!a&&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(a):e(this.services.languageDetector.detect()),o}getFixedT(e,t,l){var c=this;function u(e,t){let a;if("object"!=typeof t){for(var r=arguments.length,n=new Array(2""+a.keyPrefix+i+e):a.keyPrefix?""+a.keyPrefix+i+e:e,c.t(s,a)}return"string"==typeof e?u.lng=e:u.lngs=e,u.ns=t,u.keyPrefix=l,u}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){var t=1{e=this.services.backendConnector.state[e+"|"+t];return-1===e||2===e};if(t.precheck){t=t.precheck(this,o);if(void 0!==t)return t}return!!this.hasResourceBundle(a,e)||!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages)&&(!o(a,e)||r&&!o(n,e)))}loadNamespaces(e,t){const a=Fe();return this.options.ns?((e="string"==typeof e?[e]:e).forEach(e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}),this.loadResources(e=>{a.resolve(),t&&t(e)}),a):(t&&t(),Promise.resolve())}loadLanguages(e,t){const a=Fe(),r=this.options.preload||[];e=(e="string"==typeof e?[e]:e).filter(e=>r.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e));return e.length?(this.options.preload=r.concat(e),this.loadResources(e=>{a.resolve(),t&&t(e)}),a):(t&&t(),Promise.resolve())}dir(e){var t;return!(e=e||this.resolvedLanguage||(this.languages&&0{n[e]=this[e]}),n.services={...this.services},n.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},a&&(n.store=new nt(this.store.data,r),n.services.resourceStore=n.store),n.translator=new st(n.services,r),n.translator.on("*",function(e){for(var t=arguments.length,a=new Array(1()=>{if(t.isInitialized)a();else{const e=()=>{setTimeout(()=>{t.off("initialized",e)},0),a()};t.on("initialized",e)}};function At(e,t,a){e.loadNamespaces(t,Tt(e,a))}function Pt(t,e,a,r){(a="string"==typeof a?[a]:a).forEach(e=>{t.options.ns.indexOf(e)<0&&t.options.ns.push(e)}),t.loadLanguages(e,Tt(t,r))}function Mt(a,e,t){let r=2{if(r.bindI18n&&-1{e=a.services.backendConnector.state[e+"|"+t];return-1===e||2===e},!(n.bindI18n&&-1",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},Dt=e=>jt[e],$t={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:e=>e.replace(Rt,Dt)};var z={type:"3rdParty",init(e){!function(e){var t=0{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}},k=t(b(),1),Bt=(e,t)=>{const a=(0,k.useRef)();return(0,k.useEffect)(()=>{a.current=t?a.current:e},[e,t]),a.current};function Ft(e,t,a,r){return e.getFixedT(t,a,r)}function Vt(e,t){let r=1"string"==typeof t?t:t&&"object"==typeof t&&"string"==typeof t.defaultValue?t.defaultValue:Array.isArray(e)?e[e.length-1]:e,{},!1]).t=n,o.i18n={},o.ready=!1,o;s.options.react&&void 0!==s.options.react.wait&&Ot("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const l={...$t,...s.options.react,...r},{useSuspense:c,keyPrefix:u}=l;let d=e||i||s.options&&s.options.defaultNS;d="string"==typeof d?[d]:d||["translation"],s.reportNamespaces.addUsedNamespaces&&s.reportNamespaces.addUsedNamespaces(d);const p=(s.isInitialized||s.initializedStoreOnce)&&d.every(e=>Mt(e,s,l)),h=(n=s,o=r.lng||null,i="fallback"===l.nsMode?d:d[0],a=u,(0,k.useCallback)(Ft(n,o,i,a),[n,o,i,a])),m=()=>h,f=()=>Ft(s,r.lng||null,"fallback"===l.nsMode?d:d[0],u),[g,v]=(0,k.useState)(m);let b=d.join();r.lng&&(b=""+r.lng+b);const y=Bt(b),S=(0,k.useRef)(!0);(0,k.useEffect)(()=>{const{bindI18n:e,bindI18nStore:t}=l;function a(){S.current&&v(f)}return S.current=!0,p||c||(r.lng?Pt(s,r.lng,d,()=>{S.current&&v(f)}):At(s,d,()=>{S.current&&v(f)})),p&&y&&y!==b&&S.current&&v(f),e&&s&&s.on(e,a),t&&s&&s.store.on(t,a),()=>{S.current=!1,e&&s&&e.split(" ").forEach(e=>s.off(e,a)),t&&s&&t.split(" ").forEach(e=>s.store.off(e,a))}},[s,b]),(0,k.useEffect)(()=>{S.current&&p&&v(m)},[s,u,p]);n=[g,s,p];if(n.t=g,n.i18n=s,(n.ready=p)||!p&&!c)return n;throw new Promise(e=>{r.lng?Pt(s,r.lng,d,()=>e()):At(s,d,()=>e())})}var Ht=t(b(),1);function qt(i,e){let s=1(0,Ht.createElement)(a,Object.assign({},e,{forwardedRef:t}))):a}}t(b(),1),t(b(),1),t(b(),1);function Gt(e){return(Gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Kt(e){e=function(e,t){if("object"!==Gt(e)||null===e)return e;var a=e[Symbol.toPrimitive];if(void 0===a)return("string"===t?String:Number)(e);if("object"!==Gt(a=a.call(e,t||"default")))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}(e,"string");return"symbol"===Gt(e)?e:String(e)}function Jt(e,t){for(var a=0;a{t=localStorage.getItem(t);if(!t)return e;try{return JSON.parse(t)}catch(e){return t}}),Sa=e=>{const a={section:/^\s*\[\s*([^\]]*)\s*\]\s*$/,param:/^\s*([^=]+?)\s*=\s*(.*?)\s*$/,comment:/^\s*;.*$/},r={};e=e.split(/[\r\n]+/);let n=null;return e.forEach(function(e){var t;a.comment.test(e)||(a.param.test(e)?e.includes("xrdb")?(delete r[n??""],n=null):(t=e.match(a.param),n&&t&&(r[n][t[1]]=t[2].split(";")[0].trim())):a.section.test(e)?(t=e.match(a.section))&&(r[t[1]]={},n=t[1]):0==e.length&&(n=n&&null))}),r},ka=e=>{var t=document.querySelector("style.marketplaceSnippets"),t=(t&&t.remove(),document.createElement("style")),e=e.reduce((e,t)=>e=(e+=`/* ${t.title} - ${t.description} */ -`)+t.code+` -`,"");t.innerHTML=e,t.classList.add("marketplaceSnippets"),document.body.appendChild(t)},wa=(e,t)=>{let a=[];return e&&0({name:e.name,url:Pa(e.url)})):a.push({name:t,url:"https://github.com/"+t}),a},Ea=e=>e?Object.keys(e).map(e=>({key:e,value:e})):[],Ca=e=>[{key:"stars",value:e("grid.sort.stars")},{key:"newest",value:e("grid.sort.newest")},{key:"oldest",value:e("grid.sort.oldest")},{key:"lastUpdated",value:e("grid.sort.lastUpdated")},{key:"mostStale",value:e("grid.sort.mostStale")},{key:"a-z",value:e("grid.sort.aToZ")},{key:"z-a",value:e("grid.sort.zToA")}],Na=(...e)=>{console.debug("Resetting Marketplace");const t=[];0===e.length&&Object.keys(localStorage).forEach(e=>{e.startsWith("marketplace:")&&t.push(e)}),e.forEach(e=>{switch(e){case"extensions":t.push(...C(w.installedExtensions,[])),t.push(w.installedExtensions);break;case"snippets":t.push(...C(w.installedSnippets,[])),t.push(w.installedSnippets);break;case"theme":t.push(...C(w.installedThemes,[])),t.push(w.installedThemes),t.push(w.themeInstalled);break;default:console.error("Unknown category: "+e)}}),t.forEach(e=>{localStorage.removeItem(e),console.debug("Removed "+e)}),console.debug("Marketplace has been reset"),location.reload()},xa=a=>{var e=document.querySelector("style.marketplaceCSS.marketplaceScheme");if(e&&e.remove(),a){e=document.createElement("style");e.classList.add("marketplaceCSS"),e.classList.add("marketplaceScheme");let t=":root {";Object.keys(a).forEach(e=>{t=(t+=`--spice-${e}: #${a[e]};`)+`--spice-rgb-${e}: ${(e=>{if(3===e.length)e=e.split("").map(e=>e+e).join("");else{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[parseInt(e[0],16),parseInt(e[1],16),parseInt(e[2],16)];throw"Could not parse hex colour."})(a[e])};`}),t+="}",e.innerHTML=t,document.body.appendChild(e)}},Ia=e=>{try{var t,a,r=document.querySelector("link[href='user.css']"),n=(r&&r.remove(),document.querySelector("style.marketplaceCSS.marketplaceUserCSS"));n&&n.remove(),e?((t=document.createElement("style")).classList.add("marketplaceCSS"),t.classList.add("marketplaceUserCSS"),t.innerHTML=e,document.body.appendChild(t)):((a=document.createElement("link")).setAttribute("rel","stylesheet"),a.setAttribute("href","user.css"),a.classList.add("userCSS"),document.body.appendChild(a))}catch(e){console.warn(e)}},La=async(e,t)=>{if(!e.cssURL)throw new Error("No CSS URL provided");t||=await async function(){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);continue}}();var t=(e=>{const t=new URL(e);return t.host,t.host==="raw.githubusercontent.com"})(e.cssURL)?`https://cdn.jsdelivr.${t}/gh/${e.user}/${e.repo}@${e.branch}/`+e.manifest.usercss:e.cssURL,a=t.replace("/user.css","/assets/");console.debug("Parsing CSS: ",t);let r=await fetch(t+"?time="+Date.now()).then(e=>e.text());for(const i of r.matchAll(/url\(['|"](?.+?)['|"]\)/gm)||[]){var n,o=i?.groups?.path;!o||o.startsWith("http")||o.startsWith("data")||(n=a+o.replace(/\.\//g,""),r=r.replace(o,n))}return r};function Oa(e,r){e&&e.forEach(e=>{var t=r||e.user+"-"+e.repo,a=window.sessionStorage.getItem(t),a=a?JSON.parse(a):[];a.push(e),window.sessionStorage.setItem(t,JSON.stringify(a))})}async function Ta(e,t,a){try{var r={text:e,context:t+"/"+a,mode:"gfm"},n=await fetch("https://api.github.com/markdown",{method:"POST",body:JSON.stringify(r)});if(n.ok)return await n.text();throw Spicetify.showNotification(y("notifications.markdownParsingError",{status:n.status}),!0)}catch(e){return null}}function Aa(e){var t="snippet"===e.type?"snippet:":`${e.item.user}/${e.item.repo}/`;let a;switch(e.type){case"snippet":a=e.item.title.replaceAll(" ","-");break;case"theme":a=e.item.manifest?.usercss||"";break;case"extension":a=e.item.manifest?.main||"";break;case"app":a=e.item.manifest?.name?.replaceAll(" ","-")||""}return"marketplace:installed:"+t+a}var Pa=e=>{var t=decodeURI(e).trim().toLowerCase();return t.startsWith("javascript:")||t.startsWith("data:")||t.startsWith("vbscript:")?"about:blank":e},Ma=(e,t)=>{e=e.title||e?.manifest?.name||"",t=t.title||t?.manifest?.name||"";return e.localeCompare(t)},_a=(e,t)=>{return void 0===e.created||void 0===t.created?0:(e=new Date(e.created),new Date(t.created).getTime()-e.getTime())},Ra=(e,t)=>{return void 0===e.lastUpdated||void 0===t.lastUpdated?0:(e=new Date(e.lastUpdated),new Date(t.lastUpdated).getTime()-e.getTime())},ja=(e,t)=>{switch(t){case"a-z":e.sort((e,t)=>Ma(e,t));break;case"z-a":e.sort((e,t)=>Ma(t,e));break;case"newest":e.sort((e,t)=>_a(e,t));break;case"oldest":e.sort((e,t)=>_a(t,e));break;case"lastUpdated":e.sort((e,t)=>Ra(e,t));break;case"mostStale":e.sort((e,t)=>Ra(t,e));break;default:e.sort((e,t)=>t.stars-e.stars)}};var c=t(b()),f=t(b()),Da=t(Me()),$a=t(_e()),za=(i=Prism,a=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/,i.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+a.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+a.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+a.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+a.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:a,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},i.languages.css.atrule.inside.rest=i.languages.css,(a=i.languages.markup)&&(a.tag.addInlined("style","css"),a.tag.addAttribute("style","css")),t(b())),Ua="button-module__button___hf2qg_marketplace",Ba="button-module__circle___EZ88P_marketplace",g=e=>{var t=e.type||"round",a=[Ua];return"circle"===t&&a.push(Ba),e.classes&&a.push(...e.classes),za.default.createElement("button",{className:a.join(" "),onClick:e.onClick,"aria-label":e.label||"",disabled:e.disabled},e.children)},Fa=r=>{var e="marketplace-customCSS-preview";const[n,t]=f.default.useState("ADD_SNIPPET"!==r.type&&r.content?.item.code||""),[a,o]=f.default.useState("ADD_SNIPPET"!==r.type&&r.content?.item.title||""),[i,s]=f.default.useState("ADD_SNIPPET"!==r.type&&r.content?.item.description||""),[l,c]=f.default.useState("ADD_SNIPPET"!==r.type&&r.content?.item.imageURL||""),u=()=>a.replace(/\n/g,"").replaceAll(" ","-");const d="marketplace:installed:snippet:"+u(),[p,h]=f.default.useState(!!C(d));let m;return f.default.createElement("div",{id:"marketplace-add-snippet-container"},f.default.createElement("div",{className:"marketplace-customCSS-input-container"},f.default.createElement("label",{htmlFor:"marketplace-custom-css"},y("snippets.customCSS")),f.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},f.default.createElement(Da.default,{value:n,onValueChange:e=>t(e),highlight:e=>(0,$a.highlight)(e,$a.languages.css),textareaId:"marketplace-custom-css",textareaClassName:"snippet-code-editor",readOnly:"VIEW_SNIPPET"===r.type,placeholder:y("snippets.customCSSPlaceholder"),style:{}}))),f.default.createElement("div",{className:"marketplace-customCSS-input-container"},f.default.createElement("label",{htmlFor:"marketplace-customCSS-name-submit"},y("snippets.snippetName")),f.default.createElement("input",{id:"marketplace-customCSS-name-submit",className:"marketplace-code-editor",value:a,onChange:e=>{"VIEW_SNIPPET"!==r.type&&o(e.target.value)},placeholder:y("snippets.snippetNamePlaceholder")})),f.default.createElement("div",{className:"marketplace-customCSS-input-container"},f.default.createElement("label",{htmlFor:"marketplace-customCSS-description-submit"},y("snippets.snippetDesc")),f.default.createElement("input",{id:"marketplace-customCSS-description-submit",className:"marketplace-code-editor",value:i,onChange:e=>{"VIEW_SNIPPET"!==r.type&&s(e.target.value)},placeholder:y("snippets.snippetDescPlaceholder")})),f.default.createElement("div",{className:"marketplace-customCSS-input-container"},f.default.createElement("label",{htmlFor:e},y("snippets.snippetPreview")," ","VIEW_SNIPPET"!==r.type&&`(${y("snippets.optional")})`),l&&f.default.createElement("label",{htmlFor:e,style:{textAlign:"center"}},f.default.createElement("img",{className:"marketplace-customCSS-image-preview",src:l,alt:"Preview"}))),"VIEW_SNIPPET"!==r.type&&f.default.createElement(f.default.Fragment,null,f.default.createElement(g,{onClick:()=>{m.click()}},l.length?y("snippets.changeImage"):y("snippets.addImage"),f.default.createElement("input",{id:e,type:"file",style:{display:"none"},ref:e=>m=e,onChange:async e=>{if(e.target.files?.[0])try{r=e.target.files?.[0];var t=await new Promise((e,t)=>{const a=new FileReader;a.readAsDataURL(r),a.onload=()=>{e(a.result)},a.onerror=e=>{t(e)}});t&&c(t)}catch(e){console.error(e)}var r}})),f.default.createElement(g,{onClick:()=>{var e,t=u(),a=i.trim();p&&"EDIT_SNIPPET"!==r.type?Spicetify.showNotification(y("snippets.duplicateName"),!0):(console.debug("Installing snippet: "+t),r.content&&r.content.item.title!==t&&(console.debug("Deleting outdated snippet: "+r.content.item.title),localStorage.removeItem("marketplace:installed:snippet:"+r.content.item.title),e=C(w.installedSnippets,[]).filter(e=>e!=="marketplace:installed:snippet:"+r.content?.item.title),localStorage.setItem(w.installedSnippets,JSON.stringify(e))),localStorage.setItem(d,JSON.stringify({title:t,code:n,description:a,imageURL:l,custom:!0})),-1===(e=C(w.installedSnippets,[])).indexOf(d)&&(e.push(d),localStorage.setItem(w.installedSnippets,JSON.stringify(e))),t=e.map(e=>C(e)),ka(t),Spicetify.PopupModal.hide(),"EDIT_SNIPPET"===r.type&&location.reload())},disabled:!u()||!n.replace(/\n/g,"\\n")},y("snippets.saveCSS"))),"VIEW_SNIPPET"===r.type&&f.default.createElement(g,{onClick:()=>{r.callback&&r.callback(),h(!p)}},p?y("remove"):y("install")))},Va=t(b()),Ha=()=>Va.default.createElement("div",{id:"marketplace-reload-container"},Va.default.createElement("p",null,y("reloadModal.description")),Va.default.createElement("div",{className:"marketplace-reload-modal__button-container"},Va.default.createElement(g,{onClick:()=>{Spicetify.PopupModal.hide(),location.reload()}},y("reloadModal.reloadNow")),Va.default.createElement(g,{onClick:()=>{Spicetify.PopupModal.hide()}},y("reloadModal.reloadLater")))),u=t(b()),d=t(b()),qa=t(b()),Ga="toggle-module__toggle-wrapper___ocE5z_marketplace",Ka="toggle-module__disabled___OYAYf_marketplace",Ja="toggle-module__toggle-input___ceLM4_marketplace",Wa="toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace",Za="toggle-module__toggle-indicator___nCxwE_marketplace",Xa=e=>{var t="toggle:"+e.storageKey,a=[Ga];return!1===e.clickable&&a.push(Ka),qa.default.createElement("label",{className:a.join(" ")},qa.default.createElement("input",{className:Ja,type:"checkbox",checked:e.enabled,"data-storage-key":e.storageKey,id:t,title:"Toggle for "+e.storageKey,onChange:e.onChange}),qa.default.createElement("span",{className:Wa},qa.default.createElement("span",{className:Za})))},Ya=t(b()),Qa=t(e()),er=t=>{var e=t.sortBoxOptions.map(e=>({value:e.key,label:e.value})),a=t.sortBoxOptions.find(t.sortBySelectedFn);return Ya.default.createElement("div",{className:"marketplace-sortBox"},Ya.default.createElement("div",{className:"marketplace-sortBox-header"},Ya.default.createElement("div",{className:"marketplace-sortBox-header-title"}),Ya.default.createElement(Qa.default,{placeholder:"Select an option",options:e,value:a?.key,onChange:e=>{t.onChange(e.value)}})))},tr=t(b()),ar=()=>tr.default.createElement("svg",{role:"img",height:"16",width:"16",className:"Svg-sc-ytk21e-0 uPxdw nW1RKQOkzcJcX6aDCZB4",viewBox:"0 0 16 16"},tr.default.createElement("path",{d:"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8z"}),tr.default.createElement("path",{d:"M7.25 12.026v-1.5h1.5v1.5h-1.5zm.884-7.096A1.125 1.125 0 007.06 6.39l-1.431.448a2.625 2.625 0 115.13-.784c0 .54-.156 1.015-.503 1.488-.3.408-.7.652-.973.818l-.112.068c-.185.116-.26.203-.302.283-.046.087-.097.245-.097.57h-1.5c0-.47.072-.898.274-1.277.206-.385.507-.645.827-.846l.147-.092c.285-.177.413-.257.526-.41.169-.23.213-.397.213-.602 0-.622-.503-1.125-1.125-1.125z"})),rr=window.Spicetify,p=a=>{var e=a.type,t="dropdown"===e?"dropdown:"+a.storageKey:"toggle:"+a.storageKey,r=!!a.modalConfig.visual[a.storageKey];return void 0!==a.description&&null!==a.description||(a.description=""),"dropdown"===e&&a.options?d.default.createElement("div",{className:"settings-row"},d.default.createElement("label",{htmlFor:t,className:"col description"},a.name),d.default.createElement("div",{className:"col action"},d.default.createElement(er,{sortBoxOptions:a.options.map(e=>({key:e,value:e})),onChange:e=>{return e=e,t=a.storageKey,a.modalConfig.visual[t]=e,localStorage.setItem("marketplace:"+t,String(e)),void a.updateConfig(a.modalConfig);var t},sortBySelectedFn:e=>e.key==a.modalConfig.visual[a.storageKey]}),d.default.createElement(rr.ReactComponent.TooltipWrapper,{label:d.default.createElement(d.default.Fragment,null,a.description.split("\n").map(e=>d.default.createElement(d.default.Fragment,null,e,d.default.createElement("br",null)))),renderInline:!0,showDelay:10,placement:"top",labelClassName:"marketplace-settings-tooltip",disabled:!1},d.default.createElement("div",{className:"marketplace-tooltip-icon"},d.default.createElement(ar,null))))):d.default.createElement("div",{className:"settings-row"},d.default.createElement("label",{htmlFor:t,className:"col description"},a.name),d.default.createElement("div",{className:"col action"},d.default.createElement(Xa,{name:a.name,storageKey:a.storageKey,enabled:r,onChange:e=>{var t=e.target.checked,e=e.target.dataset.storageKey;a.modalConfig.visual[e]=t,console.debug(`toggling ${e} to `+t),localStorage.setItem("marketplace:"+e,String(t)),a.updateConfig(a.modalConfig)}})))},h=t(b()),nr=r=>{var e="toggle:"+r.name;const t=r.modalConfig.tabs.reduce((e,t,a)=>t.name===r.name?a:e,-1);var a=r.modalConfig.tabs[t]["enabled"];function n(e,t){var t=e+t,a=r.modalConfig.tabs[t];r.modalConfig.tabs[t]=r.modalConfig.tabs[e],r.modalConfig.tabs[e]=a,localStorage.setItem(w.tabs,JSON.stringify(r.modalConfig.tabs)),r.updateConfig(r.modalConfig)}return h.default.createElement("div",{className:"settings-row"},h.default.createElement("label",{htmlFor:e,className:"col description"},y("tabs."+r.name)),h.default.createElement("div",{className:"col action"},h.default.createElement("button",{title:"Move up",className:"arrow-btn",disabled:0===t,onClick:()=>n(t,-1)},h.default.createElement("svg",{height:"16",width:"16",viewBox:"0 0 16 16",fill:"currentColor",dangerouslySetInnerHTML:{__html:String(Spicetify.SVGIcons["chart-up"])}})),h.default.createElement("button",{title:"Move down",className:"arrow-btn",disabled:t===r.modalConfig.tabs.length-1,onClick:()=>n(t,1)},h.default.createElement("svg",{height:"16",width:"16",viewBox:"0 0 16 16",fill:"currentColor",dangerouslySetInnerHTML:{__html:String(Spicetify.SVGIcons["chart-down"])}})),h.default.createElement(Xa,{name:r.name,storageKey:"tab:"+r.name,clickable:"Extensions"!==r.name,enabled:a,onChange:e=>{r.modalConfig.tabs[t].enabled=e.target.checked,localStorage.setItem(w.tabs,JSON.stringify(r.modalConfig.tabs)),r.updateConfig(r.modalConfig)}})))},or=async()=>{const e=new MutationObserver(async()=>{var t;document.querySelector(".GenericModal[aria-label='Settings']")||(t=100,await new Promise(e=>setTimeout(e,t)),N("BACKUP"),e.disconnect())});e.observe(document.body,{childList:!0,subtree:!0}),Spicetify.PopupModal.hide()},ir=({CONFIG:e,updateAppConfig:t})=>{const[a,r]=u.default.useState({...e}),[n,o]=u.default.useState(y("settings.versionBtn")),i=e=>{t({...e}),r({...e})};e=document.querySelector("body > generic-modal button.main-trackCreditsModal-closeBtn");const s=document.querySelector("body > generic-modal > div");e&&s&&(e.onclick=()=>location.reload(),e.setAttribute("style","cursor: pointer;"),s.onclick=e=>{e.target===s&&location.reload()});e=C(w.albumArtBasedColor)?u.default.createElement(u.default.Fragment,null,u.default.createElement(p,{name:y("settings.albumArtBasedColorsMode"),storageKey:"albumArtBasedColorsMode",modalConfig:a,updateConfig:i,type:"dropdown",options:["monochromeDark","monochromeLight","analogicComplement","analogic","triad","quad"],description:y("settings.almbumArtColorsModeToolTip")}),u.default.createElement(p,{name:y("settings.albumArtBasedColorsVibrancy"),storageKey:"albumArtBasedColorsVibrancy",modalConfig:a,updateConfig:i,type:"dropdown",options:["desaturated","lightVibrant","prominent","vibrant"],description:y("settings.albumArtBasedColorsVibrancyToolTip")})):null;return u.default.createElement("div",{id:"marketplace-config-container"},u.default.createElement("h2",{className:"settings-heading"},y("settings.optionsHeading")),u.default.createElement(p,{name:y("settings.starCountLabel"),storageKey:"stars",modalConfig:a,updateConfig:i}),u.default.createElement(p,{name:y("settings.tagsLabel"),storageKey:"tags",modalConfig:a,updateConfig:i}),u.default.createElement(p,{name:y("settings.showArchived"),storageKey:"showArchived",modalConfig:a,updateConfig:i}),u.default.createElement(p,{name:y("settings.devToolsLabel"),storageKey:"themeDevTools",modalConfig:a,updateConfig:i}),u.default.createElement(p,{name:y("settings.hideInstalledLabel"),storageKey:"hideInstalled",modalConfig:a,updateConfig:i}),u.default.createElement(p,{name:y("settings.colourShiftLabel"),storageKey:"colorShift",modalConfig:a,updateConfig:i}),u.default.createElement(p,{name:y("settings.albumArtBasedColors"),storageKey:"albumArtBasedColors",modalConfig:a,updateConfig:i}),e,u.default.createElement("h2",{className:"settings-heading"},y("settings.tabsHeading")),u.default.createElement("div",{className:"tabs-container"},a.tabs.map(({name:e},t)=>u.default.createElement(nr,{key:t,name:e,modalConfig:a,updateConfig:i}))),u.default.createElement("h2",{className:"settings-heading"},y("settings.resetHeading")),u.default.createElement("div",{className:"settings-row"},u.default.createElement("label",{className:"col description"},y("settings.resetDescription")),u.default.createElement("div",{className:"col action"},u.default.createElement(g,{onClick:()=>Na()},y("settings.resetBtn")))),u.default.createElement("h2",{className:"settings-heading"},y("settings.backupHeading")),u.default.createElement("div",{className:"settings-row"},u.default.createElement("label",{className:"col description"},y("settings.backupLabel")),u.default.createElement("div",{className:"col action"},u.default.createElement(g,{onClick:or},y("settings.backupBtn")))),u.default.createElement("h2",null,y("settings.versionHeading")),u.default.createElement("div",{className:"setting-row"},u.default.createElement("label",{className:"col description"},y("grid.spicetifyMarketplace")," ",ma),u.default.createElement("div",{className:"col action"},u.default.createElement(g,{onClick:()=>{Spicetify.Platform.ClipboardAPI.copy(ma),o(y("settings.versionCopied")),setTimeout(()=>o(y("settings.versionBtn")),3e3)}},n))))},m=t(b()),sr=t(Me()),lr=t(_e()),cr=(Prism.languages.ini={comment:{pattern:/(^[ \f\t\v]*)[#;][^\n\r]*/m,lookbehind:!0},section:{pattern:/(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,lookbehind:!0,alias:"selector"},punctuation:/\[|\]/}},key:{pattern:/(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,lookbehind:!0,alias:"attr-value",inside:{"inner-value":{pattern:/^("|').+(?=\1$)/,lookbehind:!0}}},punctuation:/=/},localStorage.getItem(w.themeInstalled)),ur=cr?C(cr):null,dr=()=>{const[a,t]=m.default.useState(ur?(e=>{let t="";for(const a in e)if(Object.prototype.hasOwnProperty.call(e,a))if("object"==typeof e[a]){t+=`[${a}] -`;for(const r in e[a])Object.prototype.hasOwnProperty.call(e[a],r)&&(t+=`${r}=${e[a][r]} -`)}else t+=`${a}=${e[a]} -`;return t})(ur.schemes):y("devTools.noThemeInstalled"));return m.default.createElement("div",{id:"marketplace-theme-dev-tools-container",className:"marketplace-theme-dev-tools-container"},m.default.createElement("div",{className:"devtools-column"},m.default.createElement("label",{htmlFor:"color-ini-editor"},m.default.createElement("h2",{className:"devtools-heading"},y("devTools.colorIniEditor"))),m.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},m.default.createElement(sr.default,{value:a,onValueChange:e=>t(e),highlight:e=>(0,lr.highlight)(e,lr.languages.ini),textareaId:"color-ini-editor",textareaClassName:"color-ini-editor",readOnly:!ur,placeholder:y("devTools.colorIniEditorPlaceholder"),style:{fontFamily:"monospace",resize:"none"}})),m.default.createElement(g,{onClick:()=>{var e=a;{var t;cr?(t=Sa(e),ur.schemes=t,localStorage.setItem(cr,JSON.stringify(ur))):Spicetify.showNotification(y("devTools.noThemeManifest"),!0)}}},y("save"))),m.default.createElement("div",{className:"devtools-column"},m.default.createElement("h2",{className:"devtools-heading"},y("devTools.invalidCSS")),m.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},function(){var e=document.querySelector("body > style.marketplaceCSS.marketplaceUserCSS")?.innerHTML,t=new RegExp(".-?[_a-zA-Z]+[_a-zA-Z0-9-]*\\s*{","g");if(!e)return["Error: Class name list not found; please create an issue"];var a=[];for(const o of e.matchAll(t)){var r=o[0].replace(/{/g,"").trim(),n=r.split(" ");let t;for(let e=0;em.default.createElement("div",{key:t,className:"invalid-css-text"},e)))))},v=t(b()),pr=t(Me()),hr=t(_e()),mr=(Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json,()=>{const[e,t]=v.default.useState("");const a=t=>{if(t){let e;try{e=JSON.parse(t)}catch(e){return void Spicetify.showNotification(y("backupModal.invalidJSON"))}var a;a=e,console.debug("Importing Marketplace"),Na(),Object.keys(a).forEach(e=>{localStorage.setItem(e,a[e]),console.debug("Imported "+e)}),location.reload()}else Spicetify.showNotification(y("backupModal.noDataPasted"))};return v.default.createElement("div",{id:"marketplace-backup-container"},v.default.createElement("div",{className:"marketplace-backup-input-container"},v.default.createElement("label",{htmlFor:"marketplace-backup"},y("backupModal.inputLabel")),v.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},v.default.createElement(pr.default,{value:e,onValueChange:e=>t(e),highlight:e=>(0,hr.highlight)(e,hr.languages.css),textareaId:"marketplace-import-text",textareaClassName:"import-textarea",readOnly:!1,className:"marketplace-code-editor-textarea",placeholder:y("backupModal.inputPlaceholder"),style:{}}))),v.default.createElement(v.default.Fragment,null,v.default.createElement(g,{classes:["marketplace-backup-button"],onClick:()=>{var e=(()=>{const t={};return Object.keys(localStorage).forEach(e=>{e.startsWith("marketplace:")&&(t[e]=localStorage.getItem(e))}),t})();Spicetify.Platform.ClipboardAPI.copy(JSON.stringify(e)),Spicetify.showNotification(y("backupModal.settingsCopied")),Spicetify.PopupModal.hide()}},y("backupModal.exportBtn")),v.default.createElement(g,{classes:["marketplace-backup-button"],onClick:()=>{a(e)}},y("backupModal.importBtn")),v.default.createElement(g,{classes:["marketplace-backup-button"],onClick:async()=>{var e=await(await(await window.showOpenFilePicker())[0].getFile()).text();a(e)}},y("backupModal.fileImportBtn"))))}),S=t(b());var fr=function(){const[e,t]=S.default.useState(null);return S.default.useEffect(()=>{!async function(){try{var{body:e,tag_name:t,message:a}=await(await fetch(ba)).json();return e&&t&&!a?{version:t.replace("v",""),changelog:await Ta(e.match(/## What's Changed([\s\S]*?)(\r\n\r|\n\n##)/)[1],"spicetify","spicetify-marketplace")}:null}catch(e){return console.error(e),null}}().then(e=>t(e))},[]),S.default.createElement("div",{id:"marketplace-update-container"},S.default.createElement("div",{id:"marketplace-update-description"},S.default.createElement("h4",null,y("updateModal.description")),S.default.createElement("a",{href:va+"/tag/v1.0.2"},y("updateModal.currentVersion",{version:ma})),S.default.createElement("a",{href:va+"/tag/v"+e?.version},y("updateModal.latestVersion",{version:e?.version}))),S.default.createElement("hr",null),S.default.createElement("div",{id:"marketplace-update-whats-changed"},S.default.createElement("h3",{className:"marketplace-update-header"},y("updateModal.whatsChanged")),S.default.createElement("details",null,S.default.createElement("summary",null,y("updateModal.seeChangelog")),S.default.createElement("ul",{dangerouslySetInnerHTML:{__html:e?.changelog??""}}))),S.default.createElement("hr",null),S.default.createElement("div",{id:"marketplace-update-guide"},S.default.createElement("h3",{className:"marketplace-update-header"},y("updateModal.howToUpgrade")),S.default.createElement("a",{href:"https://github.com/spicetify/spicetify-marketplace/wiki/Installation"},y("updateModal.viewGuide"))))},N=(e,t,a,r,n)=>{e=((e,t,a,r,n)=>{switch(e){case"ADD_SNIPPET":return{title:y("snippets.addTitle"),content:c.default.createElement(Fa,{type:e}),isLarge:!0};case"EDIT_SNIPPET":return{title:y("snippets.editTitle"),content:c.default.createElement(Fa,{type:e,content:r}),isLarge:!0};case"VIEW_SNIPPET":return{title:y("snippets.viewTitle"),content:c.default.createElement(Fa,{type:e,content:r,callback:n}),isLarge:!0};case"RELOAD":return{title:y("reloadModal.title"),content:c.default.createElement(Ha,null),isLarge:!1};case"SETTINGS":return{title:y("settings.title"),content:c.default.createElement(ir,{CONFIG:t,updateAppConfig:a}),isLarge:!0};case"THEME_DEV_TOOLS":return{title:y("devTools.title"),content:c.default.createElement(dr,null),isLarge:!0};case"BACKUP":return{title:y("backupModal.title"),content:c.default.createElement(mr,null),isLarge:!0};case"UPDATE":return{title:y("updateModal.title"),content:c.default.createElement(fr,null),isLarge:!0};default:return{title:"",content:c.default.createElement("div",null),isLarge:!1}}})(e,t,a,r,n),Spicetify.PopupModal.display(e)};async function gr(e,t=1,a=[],r=!1){let n=`https://api.github.com/search/repositories?q=${encodeURIComponent("topic:"+e)}&per_page=100`;t&&(n+="&page="+t);var o=JSON.parse(window.sessionStorage.getItem(e+"-page-"+t)||"null")||await fetch(n).then(e=>e.json()).catch(()=>null);return o?.items?(window.sessionStorage.setItem(e+"-page-"+t,JSON.stringify(o)),{...o,page_count:o.items.length,items:o.items.filter(e=>!a.includes(e.html_url)&&(r||!e.archived))}):(Spicetify.showNotification(y("notifications.tooManyRequests"),!0,5e3),{items:[]})}var Pe=new Blob([` +var marketplace=(()=>{var E,C=Object.create,A=Object.defineProperty,P=Object.getOwnPropertyDescriptor,L=Object.getOwnPropertyNames,D=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty,e=(e,t)=>function(){return t||(0,e[L(e)[0]])((t={exports:{}}).exports,t),t.exports},M=(t,r,a,n)=>{if(r&&"object"==typeof r||"function"==typeof r)for(let e of L(r))R.call(t,e)||e===a||A(t,e,{get:()=>r[e],enumerable:!(n=P(r,e))||n.enumerable});return t},t=(e,t,r)=>(r=null!=e?C(D(e)):{},M(!t&&e&&e.__esModule?r:A(r,"default",{value:e,enumerable:!0}),e)),r=e({"external-global-plugin:react"(e,t){t.exports=Spicetify.React}}),j=e({"node_modules/.pnpm/void-elements@3.1.0/node_modules/void-elements/index.js"(e,t){t.exports={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}}}),G=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/internal/constants.js"(e,t){var r=Number.MAX_SAFE_INTEGER||9007199254740991;t.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:r,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}}),B=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/internal/debug.js"(e,t){var r="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};t.exports=r}}),H=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/internal/re.js"(e,t){var{MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:a,MAX_LENGTH:n}=G(),o=B(),i=(e=t.exports={}).re=[],s=e.safeRe=[],l=e.src=[],c=e.t={},d=0,t="[a-zA-Z0-9-]",u=[["\\s",1],["\\d",n],[t,a]],n=(e,t,r)=>{var a=(e=>{for(var[t,r]of u)e=e.split(t+"*").join(`${t}{0,${r}}`).split(t+"+").join(`${t}{1,${r}}`);return e})(t),n=d++;o(e,n,t),c[e]=n,l[n]=t,i[n]=new RegExp(t,r?"g":void 0),s[n]=new RegExp(a,r?"g":void 0)};n("NUMERICIDENTIFIER","0|[1-9]\\d*"),n("NUMERICIDENTIFIERLOOSE","\\d+"),n("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${t}*`),n("MAINVERSION",`(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})`),n("MAINVERSIONLOOSE",`(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})`),n("PRERELEASEIDENTIFIER",`(?:${l[c.NUMERICIDENTIFIER]}|${l[c.NONNUMERICIDENTIFIER]})`),n("PRERELEASEIDENTIFIERLOOSE",`(?:${l[c.NUMERICIDENTIFIERLOOSE]}|${l[c.NONNUMERICIDENTIFIER]})`),n("PRERELEASE",`(?:-(${l[c.PRERELEASEIDENTIFIER]}(?:\\.${l[c.PRERELEASEIDENTIFIER]})*))`),n("PRERELEASELOOSE",`(?:-?(${l[c.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${l[c.PRERELEASEIDENTIFIERLOOSE]})*))`),n("BUILDIDENTIFIER",t+"+"),n("BUILD",`(?:\\+(${l[c.BUILDIDENTIFIER]}(?:\\.${l[c.BUILDIDENTIFIER]})*))`),n("FULLPLAIN",`v?${l[c.MAINVERSION]}${l[c.PRERELEASE]}?${l[c.BUILD]}?`),n("FULL",`^${l[c.FULLPLAIN]}$`),n("LOOSEPLAIN",`[v=\\s]*${l[c.MAINVERSIONLOOSE]}${l[c.PRERELEASELOOSE]}?${l[c.BUILD]}?`),n("LOOSE",`^${l[c.LOOSEPLAIN]}$`),n("GTLT","((?:<|>)?=?)"),n("XRANGEIDENTIFIERLOOSE",l[c.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*"),n("XRANGEIDENTIFIER",l[c.NUMERICIDENTIFIER]+"|x|X|\\*"),n("XRANGEPLAIN",`[v=\\s]*(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:${l[c.PRERELEASE]})?${l[c.BUILD]}?)?)?`),n("XRANGEPLAINLOOSE",`[v=\\s]*(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:${l[c.PRERELEASELOOSE]})?${l[c.BUILD]}?)?)?`),n("XRANGE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAIN]}$`),n("XRANGELOOSE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAINLOOSE]}$`),n("COERCEPLAIN",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?`),n("COERCE",l[c.COERCEPLAIN]+"(?:$|[^\\d])"),n("COERCEFULL",l[c.COERCEPLAIN]+`(?:${l[c.PRERELEASE]})?(?:${l[c.BUILD]})?(?:$|[^\\d])`),n("COERCERTL",l[c.COERCE],!0),n("COERCERTLFULL",l[c.COERCEFULL],!0),n("LONETILDE","(?:~>?)"),n("TILDETRIM",`(\\s*)${l[c.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",n("TILDE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAIN]}$`),n("TILDELOOSE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAINLOOSE]}$`),n("LONECARET","(?:\\^)"),n("CARETTRIM",`(\\s*)${l[c.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",n("CARET",`^${l[c.LONECARET]}${l[c.XRANGEPLAIN]}$`),n("CARETLOOSE",`^${l[c.LONECARET]}${l[c.XRANGEPLAINLOOSE]}$`),n("COMPARATORLOOSE",`^${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]})$|^$`),n("COMPARATOR",`^${l[c.GTLT]}\\s*(${l[c.FULLPLAIN]})$|^$`),n("COMPARATORTRIM",`(\\s*)${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]}|${l[c.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",n("HYPHENRANGE",`^\\s*(${l[c.XRANGEPLAIN]})\\s+-\\s+(${l[c.XRANGEPLAIN]})\\s*$`),n("HYPHENRANGELOOSE",`^\\s*(${l[c.XRANGEPLAINLOOSE]})\\s+-\\s+(${l[c.XRANGEPLAINLOOSE]})\\s*$`),n("STAR","(<|>)?=?\\s*\\*"),n("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),n("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),$=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/internal/parse-options.js"(e,t){var r=Object.freeze({loose:!0}),a=Object.freeze({});t.exports=e=>e?"object"!=typeof e?r:e:a}}),V=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/internal/identifiers.js"(e,t){var n=/^[0-9]+$/,r=(e,t)=>{var r=n.test(e),a=n.test(t);return r&&a&&(e=+e,t=+t),e===t?0:r&&!a||(!a||r)&&er(t,e)}}}),q=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/classes/semver.js"(e,t){var n=B(),{MAX_LENGTH:r,MAX_SAFE_INTEGER:a}=G(),{safeRe:o,t:i}=H(),s=$(),l=V()["compareIdentifiers"],c=class{constructor(e,t){if(t=s(t),e instanceof c){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>r)throw new TypeError(`version is longer than ${r} characters`);n("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;t=e.trim().match(t.loose?o[i.LOOSE]:o[i.FULL]);if(!t)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>a||this.major<0)throw new TypeError("Invalid major version");if(this.minor>a||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>a||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){var t=+e;if(0<=t&&t{if(e instanceof a)return e;try{return new a(e,t)}catch(e){if(r)throw e;return null}}}}),te=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/valid.js"(e,t){var r=ee();t.exports=(e,t)=>{e=r(e,t);return e?e.version:null}}}),re=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/clean.js"(e,t){var r=ee();t.exports=(e,t)=>{e=r(e.trim().replace(/^[=v]+/,""),t);return e?e.version:null}}}),ae=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/inc.js"(e,t){var o=q();t.exports=(e,t,r,a,n)=>{"string"==typeof r&&(n=a,a=r,r=void 0);try{return new o(e instanceof o?e.version:e,r).inc(t,a,n).version}catch(e){return null}}}}),ne=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/diff.js"(e,t){var o=ee();t.exports=(e,t)=>{var e=o(e,null,!0),t=o(t,null,!0),r=e.compare(t);if(0===r)return null;var r=0new r(e,t).major}}),ie=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/minor.js"(e,t){var r=q();t.exports=(e,t)=>new r(e,t).minor}}),se=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/patch.js"(e,t){var r=q();t.exports=(e,t)=>new r(e,t).patch}}),le=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/prerelease.js"(e,t){var r=ee();t.exports=(e,t)=>{e=r(e,t);return e&&e.prerelease.length?e.prerelease:null}}}),ce=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/compare.js"(e,t){var a=q();t.exports=(e,t,r)=>new a(e,r).compare(new a(t,r))}}),de=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/rcompare.js"(e,t){var a=ce();t.exports=(e,t,r)=>a(t,e,r)}}),ue=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/compare-loose.js"(e,t){var r=ce();t.exports=(e,t)=>r(e,t,!0)}}),pe=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/compare-build.js"(e,t){var a=q();t.exports=(e,t,r)=>{e=new a(e,r),t=new a(t,r);return e.compare(t)||e.compareBuild(t)}}}),me=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/sort.js"(e,t){var a=pe();t.exports=(e,r)=>e.sort((e,t)=>a(e,t,r))}}),he=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/rsort.js"(e,t){var a=pe();t.exports=(e,r)=>e.sort((e,t)=>a(t,e,r))}}),fe=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/gt.js"(e,t){var a=ce();t.exports=(e,t,r)=>0a(e,t,r)<0}}),be=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/eq.js"(e,t){var a=ce();t.exports=(e,t,r)=>0===a(e,t,r)}}),ve=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/neq.js"(e,t){var a=ce();t.exports=(e,t,r)=>0!==a(e,t,r)}}),ye=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/gte.js"(e,t){var a=ce();t.exports=(e,t,r)=>0<=a(e,t,r)}}),we=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/lte.js"(e,t){var a=ce();t.exports=(e,t,r)=>a(e,t,r)<=0}}),Se=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/cmp.js"(e,t){var n=be(),o=ve(),i=fe(),s=ye(),l=ge(),c=we();t.exports=(e,t,r,a)=>{switch(t){case"===":return(e="object"==typeof e?e.version:e)===(r="object"==typeof r?r.version:r);case"!==":return(e="object"==typeof e?e.version:e)!==(r="object"==typeof r?r.version:r);case"":case"=":case"==":return n(e,r,a);case"!=":return o(e,r,a);case">":return i(e,r,a);case">=":return s(e,r,a);case"<":return l(e,r,a);case"<=":return c(e,r,a);default:throw new TypeError("Invalid operator: "+t)}}}}),Ee=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/coerce.js"(e,t){var d=q(),u=ee(),{safeRe:p,t:m}=H();t.exports=(e,t)=>{if(e instanceof d)return e;if("string"!=typeof(e="number"==typeof e?String(e):e))return null;let r=null;if((t=t||{}).rtl){for(var a,n=t.includePrerelease?p[m.COERCERTLFULL]:p[m.COERCERTL];(a=n.exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&a.index+a[0].length===r.index+r[0].length||(r=a),n.lastIndex=a.index+a[1].length+a[2].length;n.lastIndex=-1}else r=e.match(t.includePrerelease?p[m.COERCEFULL]:p[m.COERCE]);var o,i,s,l,c;return null===r?null:(o=r[2],i=r[3]||"0",s=r[4]||"0",l=t.includePrerelease&&r[5]?"-"+r[5]:"",c=t.includePrerelease&&r[6]?"+"+r[6]:"",u(o+`.${i}.`+s+l+c,t))}}}),z=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/internal/lrucache.js"(e,t){t.exports=class{constructor(){this.max=1e3,this.map=new Map}get(e){var t=this.map.get(e);if(void 0!==t)return this.map.delete(e),this.map.set(e,t),t}delete(e){return this.map.delete(e)}set(e,t){var r;return this.delete(e)||void 0===t||(this.map.size>=this.max&&(r=this.map.keys().next().value,this.delete(r)),this.map.set(e,t)),this}}}}),Ce=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/classes/range.js"(e,t){var a=/\s+/g,n=class{constructor(e,t){if(t=o(t),e instanceof n)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new n(e.raw,t);if(e instanceof l)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().replace(a," "),this.set=this.raw.split("||").map(e=>this.parseRange(e.trim())).filter(e=>e.length),!this.set.length)throw new TypeError("Invalid SemVer Range: "+this.raw);if(1!b(e[0])),0===this.set.length)this.set=[t];else if(1y(e,this.options)).join(" ").split(/\s+/).map(e=>O(e,this.options));r&&(n=n.filter(e=>(u("loose invalid filter",e,this.options),!!e.match(p[m.COMPARATORLOOSE])))),u("range list",n);var o=new Map;for(const i of n.map(e=>new l(e,this.options))){if(b(i))return[i];o.set(i.value,i)}1v(t,r)&&e.set.some(e=>v(e,r)&&t.every(t=>e.every(e=>t.intersects(e,r)))));throw new TypeError("a Range is required")}test(t){if(t){if("string"==typeof t)try{t=new r(t,this.options)}catch(e){return!1}for(let e=0;e"<0.0.0-0"===e.value,i=e=>""===e.value,v=(e,t)=>{let r=!0;var a=e.slice();let n=a.pop();for(;r&&a.length;)r=a.every(e=>n.intersects(e,t)),n=a.pop();return r},y=(e,t)=>(u("comp",e,t),e=C(e,t),u("caret",e),e=S(e,t),u("tildes",e),e=x(e,t),u("xrange",e),e=N(e,t),u("stars",e),e),w=e=>!e||"x"===e.toLowerCase()||"*"===e,S=(e,t)=>e.trim().split(/\s+/).map(e=>E(e,t)).join(" "),E=(i,e)=>{e=e.loose?p[m.TILDELOOSE]:p[m.TILDE];return i.replace(e,(e,t,r,a,n)=>{u("tilde",i,e,t,r,a,n);let o;return o=w(t)?"":w(r)?`>=${t}.0.0 <${+t+1}.0.0-0`:w(a)?`>=${t}.${r}.0 <${t}.${+r+1}.0-0`:n?(u("replaceTilde pr",n),`>=${t}.${r}.${a}-${n} <${t}.${+r+1}.0-0`):`>=${t}.${r}.${a} <${t}.${+r+1}.0-0`,u("tilde return",o),o})},C=(e,t)=>e.trim().split(/\s+/).map(e=>k(e,t)).join(" "),k=(i,e)=>{u("caret",i,e);var t=e.loose?p[m.CARETLOOSE]:p[m.CARET];const s=e.includePrerelease?"-0":"";return i.replace(t,(e,t,r,a,n)=>{u("caret",i,e,t,r,a,n);let o;return o=w(t)?"":w(r)?`>=${t}.0.0${s} <${+t+1}.0.0-0`:w(a)?"0"===t?`>=${t}.${r}.0${s} <${t}.${+r+1}.0-0`:`>=${t}.${r}.0${s} <${+t+1}.0.0-0`:n?(u("replaceCaret pr",n),"0"===t?"0"===r?`>=${t}.${r}.${a}-${n} <${t}.${r}.${+a+1}-0`:`>=${t}.${r}.${a}-${n} <${t}.${+r+1}.0-0`:`>=${t}.${r}.${a}-${n} <${+t+1}.0.0-0`):(u("no pr"),"0"===t?"0"===r?`>=${t}.${r}.${a}${s} <${t}.${r}.${+a+1}-0`:`>=${t}.${r}.${a}${s} <${t}.${+r+1}.0-0`:`>=${t}.${r}.${a} <${+t+1}.0.0-0`),u("caret return",o),o})},x=(e,t)=>(u("replaceXRanges",e,t),e.split(/\s+/).map(e=>I(e,t)).join(" ")),I=(c,d)=>{c=c.trim();var e=d.loose?p[m.XRANGELOOSE]:p[m.XRANGE];return c.replace(e,(e,t,r,a,n,o)=>{u("xRange",c,e,t,r,a,n,o);var i=w(r),s=i||w(a),l=s||w(n);return"="===t&&l&&(t=""),o=d.includePrerelease?"-0":"",i?e=">"===t||"<"===t?"<0.0.0-0":"*":t&&l?(s&&(a=0),n=0,">"===t?(t=">=",n=s?(r=+r+1,a=0):(a=+a+1,0)):"<="===t&&(t="<",s?r=+r+1:a=+a+1),e=t+r+`.${a}.`+n+(o="<"===t?"-0":o)):s?e=`>=${r}.0.0${o} <${+r+1}.0.0-0`:l&&(e=`>=${r}.${a}.0${o} <${r}.${+a+1}.0-0`),u("xRange return",e),e})},N=(e,t)=>(u("replaceStars",e,t),e.trim().replace(p[m.STAR],"")),O=(e,t)=>(u("replaceGTE0",e,t),e.trim().replace(p[t.includePrerelease?m.GTE0PRE:m.GTE0],"")),A=p=>(e,t,r,a,n,o,i,s,l,c,d,u)=>((t=w(r)?"":w(a)?`>=${r}.0.0`+(p?"-0":""):w(n)?`>=${r}.${a}.0`+(p?"-0":""):o?">="+t:">="+t+(p?"-0":""))+" "+(s=w(l)?"":w(c)?`<${+l+1}.0.0-0`:w(d)?`<${l}.${+c+1}.0-0`:u?`<=${l}.${c}.${d}-`+u:p?`<${l}.${c}.${+d+1}-0`:"<="+s)).trim(),T=(t,r,e)=>{for(let e=0;e")||!e.operator.startsWith(">"))&&!(this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||s(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||s(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")));throw new TypeError("a Comparator is required")}},n=(t.exports=a,$()),{safeRe:o,t:i}=H(),s=Se(),l=B(),c=q(),d=Ce()}}),xe=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/satisfies.js"(e,t){var a=Ce();t.exports=(e,t,r)=>{try{t=new a(t,r)}catch(e){return!1}return t.test(e)}}}),Ie=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/ranges/to-comparators.js"(e,t){var r=Ce();t.exports=(e,t)=>new r(e,t).set.map(e=>e.map(e=>e.value).join(" ").trim().split(" "))}}),Ne=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/ranges/max-satisfying.js"(e,t){var i=q(),s=Ce();t.exports=(e,t,r)=>{let a=null,n=null,o=null;try{o=new s(t,r)}catch(e){return null}return e.forEach(e=>{!o.test(e)||a&&-1!==n.compare(e)||(a=e,n=new i(a,r))}),a}}}),Oe=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/ranges/min-satisfying.js"(e,t){var i=q(),s=Ce();t.exports=(e,t,r)=>{let a=null,n=null,o=null;try{o=new s(t,r)}catch(e){return null}return e.forEach(e=>{!o.test(e)||a&&1!==n.compare(e)||(a=e,n=new i(a,r))}),a}}}),Ae=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/ranges/min-version.js"(e,t){var o=q(),r=Ce(),i=fe();t.exports=(t,e)=>{t=new r(t,e);let a=new o("0.0.0");if(t.test(a))return a;if(a=new o("0.0.0-0"),t.test(a))return a;a=null;for(let e=0;e{var t=new o(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":r&&!i(t,r)||(r=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}}),!r||a&&!i(a,r)||(a=r)}return a&&t.test(a)?a:null}}}),Te=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/ranges/valid.js"(e,t){var r=Ce();t.exports=(e,t)=>{try{return new r(e,t).range||"*"}catch(e){return null}}}}),Pe=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/ranges/outside.js"(e,t){var r=q(),p=ke(),m=p["ANY"],h=Ce(),f=xe(),g=fe(),b=ge(),v=we(),y=ye();t.exports=(a,n,e,o)=>{a=new r(a,o),n=new h(n,o);let i,s,l,c,d;switch(e){case">":i=g,s=v,l=b,c=">",d=">=";break;case"<":i=b,s=y,l=g,c="<",d="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(f(a,n,o))return!1;for(let e=0;e{e.semver===m&&(e=new p(">=0.0.0")),t=t||e,r=r||e,i(e.semver,t.semver,o)?t=e:l(e.semver,r.semver,o)&&(r=e)}),t.operator===c||t.operator===d)return!1;if((!r.operator||r.operator===c)&&s(a,r.semver))return!1;if(r.operator===d&&l(a,r.semver))return!1}return!0}}}),Le=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/ranges/gtr.js"(e,t){var a=Pe();t.exports=(e,t,r)=>a(e,t,">",r)}}),De=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/ranges/ltr.js"(e,t){var a=Pe();t.exports=(e,t,r)=>a(e,t,"<",r)}}),Re=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/ranges/intersects.js"(e,t){var a=Ce();t.exports=(e,t,r)=>(e=new a(e,r),t=new a(t,r),e.intersects(t,r))}}),Me=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/ranges/simplify.js"(e,t){var m=xe(),h=ce();t.exports=(e,t,r)=>{var a=[];let n=null,o=null;var i=e.sort((e,t)=>h(e,t,r));for(const p of i){var s=m(p,t,r);n=s?(o=p,n||p):(o&&a.push([n,o]),o=null)}n&&a.push([n,null]);var l,c,d=[];for([l,c]of a)l===c?d.push(l):c||l!==i[0]?c?l===i[0]?d.push("<="+c):d.push(l+" - "+c):d.push(">="+l):d.push("*");var e=d.join(" || "),u="string"==typeof t.raw?t.raw:String(t);return e.length=0.0.0-0")],S=[new r(">=0.0.0")],E=(e,t,r)=>{return!e||!(0<(r=y(e.semver,t.semver,r)))&&(r<0||">"===t.operator&&">="===e.operator)?t:e},C=(e,t,r)=>{return!e||!((r=y(e.semver,t.semver,r))<0)&&(0{if(t!==r){t=new s(t,a),r=new s(r,a);let e=!1;e:for(const o of t.set){for(const i of r.set){var n=((s,l,c)=>{if(s!==l){if(1===s.length&&s[0].semver===b){if(1===l.length&&l[0].semver===b)return!0;s=c.includePrerelease?w:S}if(1===l.length&&l[0].semver===b){if(c.includePrerelease)return!0;l=S}var d=new Set,u,p;let e,t;for(const m of s)">"===m.operator||">="===m.operator?e=E(e,m,c):"<"===m.operator||"<="===m.operator?t=C(t,m,c):d.add(m.semver);if(1="!==e.operator||"<="!==t.operator))return null}for(const h of d){if(e&&!v(h,String(e),c))return null;if(t&&!v(h,String(t),c))return null;for(const f of l)if(!v(h,String(f),c))return!1;return!0}let a,n,o=!(!t||c.includePrerelease||!t.semver.prerelease.length)&&t.semver,i=!(!e||c.includePrerelease||!e.semver.prerelease.length)&&e.semver;o&&1===o.prerelease.length&&"<"===t.operator&&0===o.prerelease[0]&&(o=!1);for(const g of l){if(n=n||">"===g.operator||">="===g.operator,a=a||"<"===g.operator||"<="===g.operator,e)if(i&&g.semver.prerelease&&g.semver.prerelease.length&&g.semver.major===i.major&&g.semver.minor===i.minor&&g.semver.patch===i.patch&&(i=!1),">"===g.operator||">="===g.operator){if((u=E(e,g,c))===g&&u!==e)return!1}else if(">="===e.operator&&!v(e.semver,String(g),c))return!1;if(t)if(o&&g.semver.prerelease&&g.semver.prerelease.length&&g.semver.major===o.major&&g.semver.minor===o.minor&&g.semver.patch===o.patch&&(o=!1),"<"===g.operator||"<="===g.operator){if((p=C(t,g,c))===g&&p!==t)return!1}else if("<="===t.operator&&!v(t.semver,String(g),c))return!1;if(!g.operator&&(t||e)&&0!==r)return!1}if(e&&a&&!t&&0!==r)return!1;if(t&&n&&!e&&0!==r)return!1;if(i||o)return!1}return true})(o,i,a);if(e=e||null!==n,n)continue e}if(e)return!1}}return!0}}}),a=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/index.js"(_,e){var t=H(),r=G(),a=q(),n=V(),o=ee(),i=te(),s=re(),l=ae(),c=ne(),d=oe(),u=ie(),p=se(),m=le(),h=ce(),f=de(),g=ue(),b=pe(),v=me(),y=he(),w=fe(),S=ge(),E=be(),C=ve(),k=ye(),x=we(),I=Se(),N=Ee(),O=ke(),A=Ce(),T=xe(),P=Ie(),L=Ne(),D=Oe(),R=Ae(),M=Te(),j=Pe(),B=Le(),$=De(),z=Re(),F=Me(),U=_e();e.exports={parse:o,valid:i,clean:s,inc:l,diff:c,major:d,minor:u,patch:p,prerelease:m,compare:h,rcompare:f,compareLoose:g,compareBuild:b,sort:v,rsort:y,gt:w,lt:S,eq:E,neq:C,gte:k,lte:x,cmp:I,coerce:N,Comparator:O,Range:A,satisfies:T,toComparators:P,maxSatisfying:L,minSatisfying:D,minVersion:R,validRange:M,outside:j,gtr:B,ltr:$,intersects:z,simplifyRange:F,subset:U,SemVer:a,re:t.re,src:t.src,tokens:t.t,SEMVER_SPEC_VERSION:r.SEMVER_SPEC_VERSION,RELEASE_TYPES:r.RELEASE_TYPES,compareIdentifiers:n.compareIdentifiers,rcompareIdentifiers:n.rcompareIdentifiers}}}),F=e({"node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-core.js"(e,t){var l,r,a,n,T,o="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},o=(r=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,a=0,n={},T={manual:(l=o).Prism&&l.Prism.manual,disableWorkerMessageHandler:l.Prism&&l.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof P?new P(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=i.reach);v+=b.value.length,b=b.next){var y=b.value;if(r.length>t.length)return;if(!(y instanceof P)){var w,S=1;if(h){if(!(w=L(g,v,t,m))||w.index>=t.length)break;var E=w.index,C=w.index+w[0].length,k=v;for(k+=b.value.length;k<=E;)b=b.next,k+=b.value.length;if(k-=b.value.length,v=k,b.value instanceof P)continue;for(var x=b;x!==r.tail&&(ki.reach&&(i.reach=y),b.prev),N=(N&&(A=D(r,A,N),v+=N.length),R(r,A,S),new P(s,p?T.tokenize(I,p):I,f,I));b=D(r,A,N),O&&D(r,b,O),1i.reach&&(i.reach=I.reach)}}}}}(e,n,t,n.head,0),n),i=[],s=o.head.next;s!==o.tail;)i.push(s.value),s=s.next;return i},hooks:{all:{},add:function(e,t){var r=T.hooks.all;r[e]=r[e]||[],r[e].push(t)},run:function(e,t){var r=T.hooks.all[e];if(r&&r.length)for(var a,n=0;a=r[n++];)a(t)}},Token:P},l.Prism=T,P.stringify=function t(e,r){if("string"==typeof e)return e;var a;if(Array.isArray(e))return a="",e.forEach(function(e){a+=t(e,r)}),a;var n,o={type:e.type,content:t(e.content,r),tag:"span",classes:["token",e.type],attributes:{},language:r},e=e.alias,i=(e&&(Array.isArray(e)?Array.prototype.push.apply(o.classes,e):o.classes.push(e)),T.hooks.run("wrap",o),"");for(n in o.attributes)i+=" "+n+'="'+(o.attributes[n]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+i+">"+o.content+""},l.document?((n=T.util.currentScript())&&(T.filename=n.src,n.hasAttribute("data-manual"))&&(T.manual=!0),T.manual||("loading"===(o=document.readyState)||"interactive"===o&&n&&n.defer?document.addEventListener("DOMContentLoaded",i):window.requestAnimationFrame?window.requestAnimationFrame(i):window.setTimeout(i,16))):l.addEventListener&&!T.disableWorkerMessageHandler&&l.addEventListener("message",function(e){var e=JSON.parse(e.data),t=e.language,r=e.code,e=e.immediateClose;l.postMessage(T.highlight(r,T.languages[t],t)),e&&l.close()},!1),T);function P(e,t,r,a){this.type=e,this.content=t,this.alias=r,this.length=0|(a||"").length}function L(e,t,r,a){e.lastIndex=t;t=e.exec(r);return t&&a&&t[1]&&(e=t[1].length,t.index+=e,t[0]=t[0].slice(e)),t}function c(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function D(e,t,r){var a=t.next,r={value:r,prev:t,next:a};return t.next=r,a.prev=r,e.length++,r}function R(e,t,r){for(var a=t.next,n=0;n"}}:{children:y})),$.createElement("textarea",{ref:function(e){return T.current=e},style:j(j(j({},H.editor),H.textarea),P),className:U+(x?" ".concat(x):""),id:N,value:O,onChange:function(e){var e=e.currentTarget,t=e.value,r=e.selectionStart,e=e.selectionEnd;D({value:t,selectionStart:r,selectionEnd:e},!0),v(t)},onKeyDown:function(e){var t,r,a,n,o,i,s,l,c,d,u,p;b&&(b(e),e.defaultPrevented)||("Escape"===e.key&&e.currentTarget.blur(),d=(r=e.currentTarget).value,t=r.selectionStart,r=r.selectionEnd,a=(g?" ":"\t").repeat(I),"Tab"===e.key&&!f&&L?(e.preventDefault(),e.shiftKey?(n=(c=m(d,t)).length-1,o=m(d,r).length-1,p=d.split("\n").map(function(e,t){return n<=t&&t<=o&&e.startsWith(a)?e.substring(a.length):e}).join("\n"),d!==p&&(u=c[n],h({value:p,selectionStart:null!=u&&u.startsWith(a)?t-a.length:t,selectionEnd:r-(d.length-p.length)}))):t!==r?(i=(c=m(d,t)).length-1,s=m(d,r).length-1,u=c[i],h({value:d.split("\n").map(function(e,t){return i<=t&&t<=s?a+e:e}).join("\n"),selectionStart:u&&/\S/.test(u)?t+a.length:t,selectionEnd:r+a.length*(s-i+1)})):(l=t+a.length,h({value:d.substring(0,t)+a+d.substring(r),selectionStart:l,selectionEnd:l}))):"Backspace"===e.key?(p=t!==r,d.substring(0,t).endsWith(a)&&!p&&(e.preventDefault(),l=t-a.length,h({value:d.substring(0,t-a.length)+d.substring(r),selectionStart:l,selectionEnd:l}))):"Enter"===e.key?t===r&&null!=(u=null==(c=m(d,t).pop())?void 0:c.match(/^\s+/))&&u[0]&&(e.preventDefault(),l=t+(p="\n"+u[0]).length,h({value:d.substring(0,t)+p+d.substring(r),selectionStart:l,selectionEnd:l})):57===e.keyCode||219===e.keyCode||222===e.keyCode||192===e.keyCode?(c=void 0,57===e.keyCode&&e.shiftKey?c=["(",")"]:219===e.keyCode?c=e.shiftKey?["{","}"]:["[","]"]:222===e.keyCode?c=e.shiftKey?['"','"']:["'","'"]:192!==e.keyCode||e.shiftKey||(c=["`","`"]),t!==r&&c&&(e.preventDefault(),h({value:d.substring(0,t)+c[0]+d.substring(t,r)+c[1]+d.substring(r),selectionStart:t,selectionEnd:r+2}))):(F?e.metaKey&&90===e.keyCode:e.ctrlKey&&90===e.keyCode)&&!e.shiftKey&&!e.altKey?(e.preventDefault(),u=A.current,p=u.stack,u=u.offset,(p=p[u-1])&&(M(p),A.current.offset=Math.max(u-1,0))):(F?e.metaKey&&90===e.keyCode&&e.shiftKey:z?e.ctrlKey&&89===e.keyCode:e.ctrlKey&&90===e.keyCode&&e.shiftKey)&&!e.altKey?(e.preventDefault(),l=A.current,c=l.stack,l=l.offset,(d=c[l+1])&&(M(d),A.current.offset=Math.min(l+1,c.length-1))):77!==e.keyCode||!e.ctrlKey||F&&!e.shiftKey||(e.preventDefault(),_(function(e){return!e})))},onClick:d,onKeyUp:p,onFocus:u,onBlur:c,disabled:a,form:n,maxLength:i,minLength:s,name:l,placeholder:w,readOnly:E,required:C,autoFocus:r,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"data-gramm":!1}),$.createElement("style",{dangerouslySetInnerHTML:{__html:G}}))}),H={container:{position:"relative",textAlign:"left",boxSizing:"border-box",padding:0,overflow:"hidden"},textarea:{position:"absolute",top:0,left:0,height:"100%",width:"100%",resize:"none",color:"inherit",overflow:"hidden",MozOsxFontSmoothing:"grayscale",WebkitFontSmoothing:"antialiased",WebkitTextFillColor:"transparent"},highlight:{position:"relative",pointerEvents:"none"},editor:{margin:0,border:0,background:"none",boxSizing:"inherit",display:"inherit",fontFamily:"inherit",fontSize:"inherit",fontStyle:"inherit",fontVariantLigatures:"inherit",fontWeight:"inherit",letterSpacing:"inherit",lineHeight:"inherit",tabSize:"inherit",textIndent:"inherit",textRendering:"inherit",textTransform:"inherit",whiteSpace:"pre-wrap",wordBreak:"keep-all",overflowWrap:"break-word"}};e.default=t}}),je=e({"node_modules/.pnpm/classnames@2.3.2/node_modules/classnames/index.js"(e,t){!function(){"use strict";var i={}.hasOwnProperty;function s(){for(var e=[],t=0;tfunction(){return nh.default.createElement(ah,null)}};for(E in Ze)A(Xe,E,{get:Ze[E],enumerable:!0});function Qe(e,t,r){var a=3"string"==typeof e,et=()=>{let r,a;var e=new Promise((e,t)=>{r=e,a=t});return e.resolve=r,e.reject=a,e},tt=e=>null==e?"":""+e,rt=(e,t,r)=>{e.forEach(e=>{t[e]&&(r[e]=t[e])})},at=/###/g,nt=e=>e&&-1!e||T(e),it=(e,t,r)=>{var a=T(t)?t.split("."):t;let n=0;for(;n{var{obj:e,k:t}=it(a,n,Object);if(void 0!==e||1===n.length)e[t]=o;else{let e=n[n.length-1],t=n.slice(0,n.length-1),r=it(a,t,Object);for(;void 0===r.obj&&t.length;)e=t[t.length-1]+"."+e,t=t.slice(0,t.length-1),(r=it(a,t,Object))?.obj&&void 0!==r.obj[r.k+"."+e]&&(r.obj=void 0);r.obj[r.k+"."+e]=o}},lt=(e,t,r,a)=>{var{obj:e,k:t}=it(e,t,Object);e[t]=e[t]||[],e[t].push(r)},ct=(e,t)=>{var{obj:e,k:t}=it(e,t);if(e&&Object.prototype.hasOwnProperty.call(e,t))return e[t]},dt=(e,t,r)=>{e=ct(e,r);return void 0!==e?e:ct(t,r)},ut=(e,t,r)=>{for(const a in t)"__proto__"!==a&&"constructor"!==a&&(a in e?T(e[a])||e[a]instanceof String||T(t[a])||t[a]instanceof String?r&&(e[a]=t[a]):ut(e[a],t[a],r):e[a]=t[a]);return e},pt=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),mt={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},ht=e=>T(e)?e.replace(/[&<>"'\/]/g,e=>mt[e]):e,ft=[" ",",","?","!",";"],gt=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),bt=(e,t,r)=>{t=t||"",r=r||"";var a=ft.filter(e=>t.indexOf(e)<0&&r.indexOf(e)<0);if(0===a.length)return!0;var n,a=gt.getRegExp(`(${a.map(e=>"?"===e?"\\?":e).join("|")})`);let o=!a.test(e);return o||0<(n=e.indexOf(r))&&!a.test(e.substring(0,n))&&(o=!0),o},vt=function(e,t){var o=2e?.replace("_","-"),wt={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)}},St=class{constructor(e){this.init(e,1{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,n=new Array(1{var[t,r]=e;for(let e=0;e{var[t,r]=e;for(let e=0;et[e]&&0{t=this.processors[e]?.process(t,r,a,n)??t}),t}},xt={},It=e=>!T(e)&&"boolean"!=typeof e&&"number"!=typeof e,Nt=class extends n{constructor(e){var t=1{r=g&&r!==d?r:I;this.options.missingKeyHandler?this.options.missingKeyHandler(e,s,t,r,N,a):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,s,t,r,N,a),this.emit("missingKey",e,s,t,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&f?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=>{O([t],i+e,a["defaultValue"+e]||w)})}):O(t,i,w))}d=this.extendTranslation(d,r,a,c,n),t&&d===i&&this.options.appendNamespaceToMissingKey&&(d=s+":"+i),(t||e)&&this.options.parseMissingKeyHandler&&(d=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?s+":"+i:i,e?d: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,S,{...a,ns:t}):`key '${i} (${this.language})' returned an object instead of string.`,e?(c.res=v,c.usedParams=this.getUsedParamsDetails(a),c):v;if(o){var C,h=Array.isArray(S),k=h?[]:{},x=h?p:u;for(const A in S)Object.prototype.hasOwnProperty.call(S,A)&&(C=""+x+o+A,g&&!d?k[A]=this.translate(C,{...a,defaultValue:It(w)?w[A]:void 0,joinArrays:!1,ns:t}):k[A]=this.translate(C,{...a,joinArrays:!1,ns:t}),k[A]===C)&&(k[A]=S[A]);d=k}}return e?(c.res=d,c.usedParams=this.getUsedParamsDetails(a),c):d}extendTranslation(r,a,n,o,i){var s=this;if(this.i18nFormat?.parse)r=this.i18nFormat.parse(r,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});var l=T(r)&&(void 0!==n?.interpolation?.skipOnVariables?n:this.options).interpolation.skipOnVariables;let e,t=(l&&(c=r.match(this.interpolator.nestingRegexp),e=c&&c.length),n.replace&&!T(n.replace)?n.replace:n);this.options.interpolation.defaultVariables&&(t={...this.options.interpolation.defaultVariables,...t}),r=this.interpolator.interpolate(r,t,n.lng||this.language||o.usedLng,n),l&&(l=(c=r.match(this.interpolator.nestingRegexp))&&c.length,e{if(!this.isValidLookup(p)){t=this.extractFromKey(t,u);const s=t.key;a=s;let e=t.namespaces;this.options.fallbackNS&&(e=e.concat(this.options.fallbackNS));const l=void 0!==u.count&&!T(u.count),c=l&&!u.ordinal&&0===u.count,d=void 0!==u.context&&(T(u.context)||"number"==typeof u.context)&&""!==u.context,r=u.lngs||this.languageUtils.toResolveHierarchy(u.lng||this.language,u.fallbackLng);e.forEach(i=>{this.isValidLookup(p)||(n=i,xt[r[0]+"-"+i]||!this.utils?.hasLoadedNamespace||this.utils?.hasLoadedNamespace(n)||(xt[r[0]+"-"+i]=!0,this.logger.warn(`key "${a}" for languages "${r.join(", ")}" won't get resolved as namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),r.forEach(t=>{if(!this.isValidLookup(p)){h=t;var e,r=[s];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(r,s,t,i,u);else{let e;l&&(e=this.pluralResolver.getSuffix(t,u.count,u));var a,n=this.options.pluralSeparator+"zero",o=this.options.pluralSeparator+"ordinal"+this.options.pluralSeparator;l&&(r.push(s+e),u.ordinal&&0===e.indexOf(o)&&r.push(s+e.replace(o,this.options.pluralSeparator)),c)&&r.push(s+n),d&&(a=""+s+this.options.contextSeparator+u.context,r.push(a),l)&&(r.push(a+e),u.ordinal&&0===e.indexOf(o)&&r.push(a+e.replace(o,this.options.pluralSeparator)),c)&&r.push(a+n)}for(;e=r.pop();)this.isValidLookup(p)||(m=e,p=this.getResource(t,i,e,u))}}))})}}),{res:p,usedKey:a,exactUsedKey:m,usedLng:h,usedNS:n}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,r){var a=3{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&&(this.isSupportedCode(e)?r.push(e):this.logger.warn("rejecting language code not found in supportedLngs: "+e))};return T(e)&&(-1{r.indexOf(e)<0&&a(this.formatLanguageCode(e))}),r}},At={zero:0,one:1,two:2,few:3,many:4,other:5},Tt={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})},Pt=class{constructor(e){var t=1""+t+e)}getSuffixes(e){let t=1At[e]-At[t]).map(e=>""+this.options.prepend+(t.ordinal?"ordinal"+this.options.prepend:"")+e):[]}getSuffix(e,t){var r=2e.replace(/\$/g,"$$$$"),Dt=class{constructor(){var e=0e),this.init(e)}init(){var e=0e?.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,n,o){let i,s,l;const c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},d=e=>{var t;return e.indexOf(this.formatSeparator)<0?(t=Qe(r,c,e,this.options.keySeparator,this.options.ignoreJSONStructure),this.alwaysFormat?this.format(t,void 0,n,{...o,...r,interpolationkey:e}):t):(e=(t=e.split(this.formatSeparator)).shift().trim(),t=t.join(this.formatSeparator).trim(),this.format(Qe(r,c,e,this.options.keySeparator,this.options.ignoreJSONStructure),t,n,{...o,...r,interpolationkey:e}))},u=(this.resetRegExp(),o?.missingInterpolationHandler||this.options.missingInterpolationHandler),p=(void 0!==o?.interpolation?.skipOnVariables?o:this.options).interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>Lt(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?Lt(this.escape(e)):Lt(e)}].forEach(e=>{for(l=0;i=e.regex.exec(a);){var t=i[1].trim();if(void 0===(s=d(t)))if("function"==typeof u){var r=u(a,i,o);s=T(r)?r:""}else{if(!o||!Object.prototype.hasOwnProperty.call(o,t)){if(p){s=i[0];continue}this.logger.warn(`missed to pass in variable ${t} for interpolating `+a)}s=""}else T(s)||this.useRawValueToEscape||(s=tt(s));r=e.safeValue(s);if(a=a.replace(i[0],r),p?(e.regex.lastIndex+=s.length,e.regex.lastIndex-=i[0].length):e.regex.lastIndex=0,++l>=this.maxReplaces)break}}),a}nest(r,a){let n=2{var a=this.nestingOptionsSeparator;if(!(r.indexOf(a)<0)){var n=r.split(new RegExp(a+"[ ]*{"));let t="{"+n[1];r=n[0];var n=(t=this.interpolate(t,s)).match(/'/g),o=t.match(/"/g);((n?.length??0)%2!=0||o)&&o.length%2==0||(t=t.replace(/'/g,'"'));try{s=JSON.parse(t),e&&(s={...e,...s})}catch(e){return this.logger.warn("failed parsing options string in nesting for key "+r,e),""+r+a+t}s.defaultValue&&-1e.trim()),o[1]=l.shift(),e=l,t=!0),(i=a(c.call(this,o[1].trim(),s),s))&&o[0]===r&&!T(i))return i;(i=T(i)?i:tt(i))||(this.logger.warn(`missed to resolve ${o[1]} for nesting `+r),i=""),t&&(i=e.reduce((e,t)=>this.format(e,t,n.lng,{...n,interpolationkey:o[1].trim()}),i.trim())),r=r.replace(o[0],i),this.regexp.lastIndex=0}return r}},Rt=e=>{let t=e.toLowerCase().trim();const r={};return-1{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}},Mt=i=>{const s={};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 n=t+JSON.stringify(a);let o=s[n];return o||(o=i(yt(t),r),s[n]=o),o(e)}},_t=class{constructor(){var e=0{const r=new Intl.NumberFormat(e,{...t});return e=>r.format(e)}),currency:Mt((e,t)=>{const r=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>r.format(e)}),datetime:Mt((e,t)=>{const r=new Intl.DateTimeFormat(e,{...t});return e=>r.format(e)}),relativetime:Mt((e,t)=>{const r=new Intl.RelativeTimeFormat(e,{...t});return e=>r.format(e,t.range||"day")}),list:Mt((e,t)=>{const r=new Intl.ListFormat(e,{...t});return e=>r.format(e)})},this.init(e)}init(e){this.formatSeparator=(1-1-1{var{formatName:r,formatOptions:a}=Rt(r);if(this.formats[r]){let e=t;try{var n=s?.formatParams?.[s.interpolationkey]||{},o=n.locale||n.lng||s.locale||s.lng||i;e=this.formats[r](t,o,{...a,...s,...n})}catch(e){this.logger.warn(e)}return e}return this.logger.warn("there was no format function for "+r),t},e));return r}},jt=(e,t)=>{void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)},Bt=class extends n{constructor(e,t,r){var a=3{let a=!0;t.forEach(e=>{var t=r+"|"+e;!n.reload&&this.store.hasResourceBundle(r,e)?this.state[t]=2:this.state[t]<0||(1===this.state[t]?void 0===i[t]&&(i[t]=!0):(this.state[t]=1,a=!1,void 0===i[t]&&(i[t]=!0),void 0===o[t]&&(o[t]=!0),void 0===l[e]&&(l[e]=!0)))}),a||(s[r]=!0)}),(Object.keys(o).length||Object.keys(i).length)&&this.queue.push({pending:i,pendingCount:Object.keys(i).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(o),pending:Object.keys(i),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(l)}}loaded(e,t,r){var a=e.split("|");const n=a[0],o=a[1],i=(t&&this.emit("failedLoading",n,o,t),!t&&r&&this.store.addResourceBundle(n,o,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0),{});this.queue.forEach(r=>{lt(r.loaded,[n],o),jt(r,e),t&&r.errors.push(t),0!==r.pendingCount||r.done||(Object.keys(r.loaded).forEach(t=>{i[t]||(i[t]={});var e=r.loaded[t];e.length&&e.forEach(e=>{void 0===i[t][e]&&(i[t][e]=!0)})}),r.done=!0,r.errors.length?r.callback(r.errors):r.callback())}),this.emit("loaded",i),this.queue=this.queue.filter(e=>!e.done)}read(a,n,o){let i=3=this.maxParallelReads)this.waitingReads.push({lng:a,ns:n,fcName:o,tried:i,wait:s,callback:l});else{this.readingCalls++;const r=(e,t)=>{var r;this.readingCalls--,0{this.read.call(this,a,n,o,i+1,2*s,l)},s):l(e,t)};var e=this.backend[o].bind(this.backend);if(2!==e.length)return e(a,n,r);try{var t=e(a,n);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{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{e&&this.logger.warn(`${a}loading namespace ${o} for language ${n} failed`,e),!e&&t&&this.logger.log(`${a}loaded namespace ${o} for language `+n,t),this.loaded(r,e,t)})}saveMissing(t,r,a,n,o){var i=5{};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){i={...i,isUpdate:o},o=this.backend.create.bind(this.backend);if(o.length<6)try{let e;(e=5===o.length?o(t,r,a,n,i):o(t,r,a,n))&&"function"==typeof e.then?e.then(e=>s(null,e)).catch(s):s(null,e)}catch(e){s(e)}else o(t,r,a,n,s,i)}t&&t[0]&&this.store.addResource(t[0],r,a,n)}}},$t=()=>({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]),T(e[1])&&(t.defaultValue=e[1]),T(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}}),zt=e=>(T(e.ns)&&(e.ns=[e.ns]),T(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),T(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),Ft=()=>{},Ut=t=>{Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(e=>{"function"==typeof t[e]&&(t[e]=t[e].bind(t))})},Gt=class extends n{constructor(){let e=0{this.init(e,t)},0)}}init(){var n=this;let e=0e?"function"==typeof e?new e:e:null);if(!this.options.isClone){this.modules.logger?Et.init(a(this.modules.logger),this.options):Et.init(null,this.options);let e;e=this.modules.formatter||_t;var o=new Ot(this.options),i=(this.store=new Ct(this.options.resources,this.options),this.services);i.logger=Et,i.resourceStore=this.store,i.languageUtils=o,i.pluralResolver=new Pt(o,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!e||this.options.interpolation.format&&this.options.interpolation.format!==t.interpolation.format||(i.formatter=a(e),i.formatter.init(i,this.options),this.options.interpolation.format=i.formatter.format.bind(i.formatter)),i.interpolator=new Dt(this.options),i.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},i.backendConnector=new Bt(a(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on("*",function(e){for(var t=arguments.length,r=new Array(1{e.init&&e.init(this)})}this.format=this.options.interpolation.format,r=r||Ft,!this.options.fallbackLng||this.services.languageDetector||this.options.lng||0<(o=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng)).length&&"dev"!==o[0]&&(this.options.lng=o[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 n.store[e](...arguments)}});["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(e=>{this[e]=function(){return n.store[e](...arguments),n}});const s=et();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),s.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),s}loadResources(e){let t=1{e&&"cimode"!==e&&this.services.languageUtils.toResolveHierarchy(e).forEach(e=>{"cimode"!==e&&a.indexOf(e)<0&&a.push(e)})};r?n(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>n(e)),this.options.preload?.forEach?.(e=>n(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=et();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||Ft,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&&kt.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.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)}),s=(e,t)=>{t?(i(t),this.translator.changeLanguage(t),this.isLanguageChangingTo=void 0,this.emit("languageChanged",t),this.logger.log("languageChanged",t)):this.isLanguageChangingTo=void 0,o.resolve(function(){return n.t(...arguments)}),a&&a(e,function(){return n.t(...arguments)})};var e=e=>{r||e||!this.services.languageDetector||(e=[]);const t=T(e)?e:this.services.languageUtils.getBestMatchFromCodes(e);t&&(this.language||i(t),this.translator.language||this.translator.changeLanguage(t),this.services.languageDetector?.cacheUserLanguage?.(t)),this.loadResources(t,e=>{s(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()),o}getFixedT(e,t,l){var c=this;function d(e,t){let r;if("object"!=typeof t){for(var a=arguments.length,n=new Array(2""+r.keyPrefix+i+e):r.keyPrefix?""+r.keyPrefix+i+e:e,c.t(s,r)}return T(e)?d.lng=e:d.lngs=e,d.ns=t,d.keyPrefix=l,d}t(){for(var e=arguments.length,t=new Array(e),r=0;r{e=this.services.backendConnector.state[e+"|"+t];return-1===e||0===e||2===e};if(t.precheck){t=t.precheck(this,o);if(void 0!==t)return t}return!!this.hasResourceBundle(r,e)||!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages)&&(!o(r,e)||a&&!o(n,e)))}loadNamespaces(e,t){const r=et();return this.options.ns?((e=T(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=et(),a=(T(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{n[e]=this[e]}),n.services={...this.services},n.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},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),{})),{}),n.store=new Ct(e,a),n.services.resourceStore=n.store),n.translator=new Nt(n.services,a),n.translator.on("*",function(e){for(var t=arguments.length,r=new Array(1{if(e)for(const t in e)void 0===r[t]&&(r[t]=e[t])}),r}var Wt=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Kt=function(e,t,r,a){var n=4{r=r||{},r.path=r.path||"/",t=encodeURIComponent(t);let a=e+"="+t;if(0{if(null===Zt)try{Zt="undefined"!==window&&null!==window.localStorage;var e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch(e){Zt=!1}return Zt},er={name:"localStorage",lookup(e){e=e.lookupLocalStorage;if(e&&Qt())return window.localStorage.getItem(e)||void 0},cacheUserLanguage(e,t){t=t.lookupLocalStorage;t&&Qt()&&window.localStorage.setItem(t,e)}},tr=null,rr=()=>{if(null===tr)try{tr="undefined"!==window&&null!==window.sessionStorage;var e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch(e){tr=!1}return tr},ar={name:"sessionStorage",lookup(e){e=e.lookupSessionStorage;if(e&&rr())return window.sessionStorage.getItem(e)||void 0},cacheUserLanguage(e,t){t=t.lookupSessionStorage;t&&rr()&&window.sessionStorage.setItem(t,e)}},nr={name:"navigator",lookup(e){var t=[];if("undefined"!=typeof navigator){var{languages:r,userLanguage:a,language:n}=navigator;if(r)for(let e=0;ee}}var cr,dr,ur=class{constructor(e){var t=1e.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=r,this.addDetector(Yt),this.addDetector(Xt),this.addDetector(er),this.addDetector(ar),this.addDetector(nr),this.addDetector(or),this.addDetector(ir),this.addDetector(sr)}addDetector(e){return this.detectors[e.name]=e,this}detect(e){e=e||this.options.order;let r=[];return e.forEach(t=>{if(this.detectors[t]){let e=this.detectors[t].lookup(this.options);(e=e&&"string"==typeof e?[e]:e)&&(r=r.concat(e))}}),r=r.map(e=>this.options.convertDetectedLanguage(e)),this.services.languageUtils.getBestMatchFromCodes?r:0{this.detectors[e]&&this.detectors[e].cacheUserLanguage(t,this.options)})}},pr=(ur.type="languageDetector",t(r())),mr=(t(r(),1),t(r(),1),t(j()),{}),hr=(e,t,r,a)=>{yr(r)&&mr[r]||(yr(r)&&(mr[r]=new Date),e=e,r=[r=r,{code:t,...a||{}}],e?.services?.logger?.forward?e.services.logger.forward(r,"warn","react-i18next::",!0):(yr(r[0])&&(r[0]="react-i18next:: "+r[0]),e?.services?.logger?.warn?e.services.logger.warn(...r):console?.warn&&console.warn(...r)))},fr=(t,r)=>()=>{if(t.isInitialized)r();else{const e=()=>{setTimeout(()=>{t.off("initialized",e)},0),r()};t.on("initialized",e)}},gr=(e,t,r)=>{e.loadNamespaces(t,fr(e,r))},br=(t,e,r,a)=>{if(yr(r)&&(r=[r]),t.options.preload&&-1{t.options.ns.indexOf(e)<0&&t.options.ns.push(e)}),t.loadLanguages(e,fr(t,a))},vr=(r,e,a={})=>e.languages&&e.languages.length?e.hasLoadedNamespace(r,{lng:a.lng,precheck:(e,t)=>{if(-1"string"==typeof e,wr=e=>"object"==typeof e&&null!==e,Sr=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Er={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},Cr=e=>Er[e],kr={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:e=>e.replace(Sr,Cr)},xr=()=>kr,Ir=()=>cr,j={type:"3rdParty",init(e){var t;[t={}]=[e.options.react],kr={...kr,...t},cr=e}},Nr=(0,t(r(),1).createContext)(),Or=class{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}},Ar=t(r(),1),Tr=(e,t)=>{const r=(0,Ar.useRef)();return(0,Ar.useEffect)(()=>{r.current=t?r.current:e},[e,t]),r.current},Pr=(e,t,r,a)=>e.getFixedT(t,r,a),Lr=(e,t,r,a)=>(0,Ar.useCallback)(Pr(e,t,r,a),[e,t,r,a]),Dr=t(r(),1),Rr=(i,s={})=>function(o){function r({forwardedRef:e,...t}){var[r,a,n]=((e,a)=>{var t=a["i18n"],{i18n:r,defaultNS:n}=(0,Ar.useContext)(Nr)||{};const o=t||r||Ir();if(o&&!o.reportNamespaces&&(o.reportNamespaces=new Or),!o)return hr(o,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next"),(r=[t=(e,t)=>yr(t)?t:wr(t)&&yr(t.defaultValue)?t.defaultValue:Array.isArray(e)?e[e.length-1]:e,{},!1]).t=t,r.i18n={},r.ready=!1,r;o.options.react?.wait&&hr(o,"DEPRECATED_OPTION","useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const i={...xr(),...o.options.react,...a},{useSuspense:s,keyPrefix:l}=i;let c=e||n||o.options?.defaultNS;c=yr(c)?[c]:c||["translation"],o.reportNamespaces.addUsedNamespaces?.(c);const d=(o.isInitialized||o.initializedStoreOnce)&&c.every(e=>vr(e,o,i)),u=Lr(o,a.lng||null,"fallback"===i.nsMode?c:c[0],l),p=()=>u,m=()=>Pr(o,a.lng||null,"fallback"===i.nsMode?c:c[0],l),[h,f]=(0,Ar.useState)(p);let g=c.join();a.lng&&(g=""+a.lng+g);const b=Tr(g),v=(0,Ar.useRef)(!0);(0,Ar.useEffect)(()=>{const{bindI18n:e,bindI18nStore:t}=i,r=(v.current=!0,d||s||(a.lng?br(o,a.lng,c,()=>{v.current&&f(m)}):gr(o,c,()=>{v.current&&f(m)})),d&&b&&b!==g&&v.current&&f(m),()=>{v.current&&f(m)});return e&&o?.on(e,r),t&&o?.store.on(t,r),()=>{v.current=!1,o&&e?.split(" ").forEach(e=>o.off(e,r)),t&&o&&t.split(" ").forEach(e=>o.store.off(e,r))}},[o,g]),(0,Ar.useEffect)(()=>{v.current&&d&&f(p)},[o,l,d]);t=[h,o,d];if(t.t=h,t.i18n=o,(t.ready=d)||!d&&!s)return t;throw new Promise(e=>{a.lng?br(o,a.lng,c,()=>e()):gr(o,c,()=>e())})})(i,{...t,keyPrefix:s.keyPrefix}),t={...t,t:r,i18n:a,tReady:n};return s.withRef&&e?t.ref=e:!s.withRef&&e&&(t.forwardedRef=e),(0,Dr.createElement)(o,t)}var e;r.displayName=`withI18nextTranslation(${e=o,e.displayName||e.name||(yr(e)&&0(0,Dr.createElement)(r,Object.assign({},e,{forwardedRef:t}))):r},o=(t(r(),1),t(r(),1),t(r(),1),t(r())),Mr=t(a()),_r="1.0.5",a="marketplace",x={installedExtensions:a+":installed-extensions",installedSnippets:a+":installed-snippets",installedThemes:a+":installed-themes",activeTab:a+":active-tab",tabs:a+":tabs",sort:a+":sort",themeInstalled:a+":theme-installed",localTheme:a+":local-theme",albumArtBasedColor:a+":albumArtBasedColors",albumArtBasedColorMode:a+":albumArtBasedColorsMode",albumArtBasedColorVibrancy:a+":albumArtBasedColorsVibrancy",colorShift:a+":colorShift"},jr=[{name:"Extensions",enabled:!0},{name:"Themes",enabled:!0},{name:"Snippets",enabled:!0},{name:"Apps",enabled:!0},{name:"Installed",enabled:!0}],Br=100,$r="/marketplace",zr="https://github.com/spicetify/marketplace/releases",Fr="https://api.github.com/repos/spicetify/marketplace/releases/latest",{min:Ur,max:Gr}=Math,Hr=(e,t=0,r=1)=>Ur(Gr(t,e),r),Vr=t=>{t._clipped=!1,t._unclipped=t.slice(0);for(let e=0;e<=3;e++)e<3?((t[e]<0||2553<=t.length?Array.prototype.slice.call(t):"object"==k(t[0])&&e?e.split("").filter(e=>void 0!==t[0][e]).map(e=>t[0][e]):t[0].slice(0),Wr=e=>{var t;return!(e.length<2)&&"string"==k(e[t=e.length-1])?e[t].toLowerCase():null},{PI:a,min:Kr,max:Jr}=Math,Yr=e=>Math.round(100*e)/100,Xr=e=>Math.round(100*e)/100,Zr=2*a,Qr=a/3,ea=a/180,ta=180/a,i={format:{},autodetect:[]},g=class{constructor(...e){if("object"===k(e[0])&&e[0].constructor&&e[0].constructor===this.constructor)return e[0];let t=Wr(e),r=!1;if(!t){r=!0,i.sorted||(i.autodetect=i.autodetect.sort((e,t)=>t.p-e.p),i.sorted=!0);for(var a of i.autodetect)if(t=a.test(...e))break}if(!i.format[t])throw new Error("unknown format: "+e);var n=i.format[t].apply(null,r?e:e.slice(0,-1));this._rgb=Vr(n),3===this._rgb.length&&this._rgb.push(1)}toString(){return"function"==k(this.hex)?this.hex():`[${this._rgb.join(",")}]`}},a=(...e)=>new g(...e),I=(a.version="3.1.1",a),ra={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"},aa=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,na=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,oa=e=>{var t;if(e.match(aa))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(na))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)},ia=Math["round"],sa=(...e)=>{let[t,r,a,n]=h(e,"rgba"),o=Wr(e)||"auto";void 0===n&&(n=1),"auto"===o&&(o=n<1?"rgba":"rgb");let i="000000"+(ia(t)<<16|ia(r)<<8|ia(a)).toString(16),s=(i=i.substr(i.length-6),"0"+ia(255*n).toString(16));switch(s=s.substr(s.length-2),o.toLowerCase()){case"rgba":return"#"+i+s;case"argb":return"#"+s+i;default:return"#"+i}},la=(g.prototype.name=function(){var e,t=sa(this._rgb,"rgb");for(e of Object.keys(ra))if(ra[e]===t)return e.toLowerCase();return t},i.format.named=e=>{if(e=e.toLowerCase(),ra[e])return oa(ra[e]);throw new Error("unknown color name: "+e)},i.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&"string"===k(e)&&ra[e.toLowerCase()])return"named"}}),g.prototype.alpha=function(e,t=!1){return void 0!==e&&"number"===k(e)?t?(this._rgb[3]=e,this):new g([this._rgb[0],this._rgb[1],this._rgb[2],e],"rgb"):this._rgb[3]},g.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}}),ca=la,da=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 ua(e){var t=da.get(String(e).toLowerCase());if(!t)throw new Error("unknown Lab illuminant "+e);la.labWhitePoint=e,la.Xn=t[0],la.Zn=t[1]}function pa(){return la.labWhitePoint}var ma=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},ha=(e,t,r)=>{var{MtxAdaptMa:a,MtxAdaptMaI:n,MtxXYZ2RGB:o,RefWhiteRGB:i,Xn:s,Yn:l,Zn:c}=ca,d=s*a.m00+l*a.m10+c*a.m20,u=s*a.m01+l*a.m11+c*a.m21,s=s*a.m02+l*a.m12+c*a.m22,l=i.X*a.m00+i.Y*a.m10+i.Z*a.m20,c=i.X*a.m01+i.Y*a.m11+i.Z*a.m21,i=i.X*a.m02+i.Y*a.m12+i.Z*a.m22,l=(e*a.m00+t*a.m10+r*a.m20)*(l/d),d=(e*a.m01+t*a.m11+r*a.m21)*(c/u),c=(e*a.m02+t*a.m12+r*a.m22)*(i/s),u=l*n.m00+d*n.m10+c*n.m20,e=l*n.m01+d*n.m11+c*n.m21,t=l*n.m02+d*n.m12+c*n.m22;return[255*ma(u*o.m00+e*o.m10+t*o.m20),255*ma(u*o.m01+e*o.m11+t*o.m21),255*ma(u*o.m02+e*o.m12+t*o.m22)]},fa=(...e)=>{var[t,r,a]=e=h(e,"lab"),[t,r,a]=((e,t,r)=>{const{kE:a,kK:n,kKE:o,Xn:i,Yn:s,Zn:l}=ca,c=(e+16)/116,d=.002*t+c,u=c-.005*r,p=d*d*d,m=u*u*u,h=p>a?p:(116*d-16)/n,f=e>o?Math.pow((e+16)/116,3):e/n,g=m>a?m:(116*u-16)/n,b=h*i,v=f*s,y=g*l;return[b,v,y]})(t,r,a),[t,r,a]=ha(t,r,a);return[t,r,a,3{e=ga(e/255),t=ga(t/255),r=ga(r/255);var{MtxRGB2XYZ:a,MtxAdaptMa:n,MtxAdaptMaI:o,Xn:i,Yn:s,Zn:l,As:c,Bs:d,Cs:u}=ca,p=e*a.m00+t*a.m10+r*a.m20,m=e*a.m01+t*a.m11+r*a.m21,e=e*a.m02+t*a.m12+r*a.m22,t=i*n.m00+s*n.m10+l*n.m20,r=i*n.m01+s*n.m11+l*n.m21,a=i*n.m02+s*n.m12+l*n.m22,i=p*n.m00+m*n.m10+e*n.m20,s=p*n.m01+m*n.m11+e*n.m21,l=p*n.m02+m*n.m12+e*n.m22;return[(i*=t/c)*o.m00+(s*=r/d)*o.m10+(l*=a/u)*o.m20,i*o.m01+s*o.m11+l*o.m21,i*o.m02+s*o.m12+l*o.m22]},va=(...e)=>{var[e,t,r,...a]=h(e,"rgb"),[e,t,r]=ba(e,t,r),[e,t,r]=function(e,t,r){var{Xn:a,Yn:n,Zn:o,kE:i,kK:s}=ca,e=e/a,a=t/n,t=r/o,n=inew g(...e,"lab"),getLabWhitePoint:pa,setLabWhitePoint:ua}),i.format.lab=fa,i.autodetect.push({p:2,test:(...e)=>{if("array"===k(e=h(e,"lab"))&&3===e.length)return"lab"}}),g.prototype.darken=function(e=1){var t=this.lab();return t[0]-=ca.Kn*e,new g(t,"lab").alpha(this.alpha(),!0)},g.prototype.brighten=function(e=1){return this.darken(-e)},g.prototype.darker=g.prototype.darken,g.prototype.brighter=g.prototype.brighten,g.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{var r=e.interpolate(t,.5,i),a=r.luminance();return Math.abs(o-a)<1e-7||!n--?r:o.2126*(e=Sa(e))+.7152*(t=Sa(t))+.0722*(r=Sa(r))),Sa=e=>(e/=255)<=.03928?e/12.92:ya((e+.055)/1.055,2.4),s={},Ea=(e,t,r=.5,...a)=>{let n=a[0]||"lrgb";if(s[n]||a.length||(n=Object.keys(s)[0]),s[n])return"object"!==k(e)&&(e=new g(e)),"object"!==k(t)&&(t=new g(t)),s[n](e,t,r).alpha(e.alpha()+r*(t.alpha()-e.alpha()));throw new Error(`interpolation mode ${n} is not defined`)},{sin:Ca,cos:ka}=(g.prototype.mix=g.prototype.interpolate=function(e,t=.5,...r){return Ea(this,e,t,...r)},g.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 g([t[0]*r,t[1]*r,t[2]*r,r],"rgb")},Math),xa=(...e)=>{let[t,r,a]=h(e,"lch");return isNaN(a)&&(a=0),a*=ea,[t,ka(a)*r,Ca(a)*r]},Ia=(...e)=>{var[t,r,a]=e=h(e,"lch"),[t,r,a]=xa(t,r,a),[t,r,a]=fa(t,r,a);return[t,r,a,3{e=h(e,"hcl").reverse();return Ia(...e)},{sqrt:Na,atan2:Oa,round:Aa}=Math,Ta=(...e)=>{var[e,t,r]=h(e,"lab"),a=Na(t*t+r*r);let n=(Oa(r,t)*ta+360)%360;return[e,a,n=0===Aa(1e4*a)?Number.NaN:n]},Pa=(...e)=>{var[e,t,r,...a]=h(e,"rgb"),[e,t,r]=va(e,t,r),[e,t,r]=Ta(e,t,r);return[e,t,r,...0new g(...e,"lch"),hcl:(...e)=>new g(...e,"hcl")}),i.format.lch=Ia,i.format.hcl=a,["lch","hcl"].forEach(t=>i.autodetect.push({p:2,test:(...e)=>{if("array"===k(e=h(e,t))&&3===e.length)return t}})),g.prototype.saturate=function(e=1){var t=this.lch();return t[1]+=ca.Kn*e,t[1]<0&&(t[1]=0),new g(t,"lch").alpha(this.alpha(),!0)},g.prototype.desaturate=function(e=1){return this.saturate(-e)},g.prototype.set=function(e,t,r=!1){var[e,a]=e.split("."),n=this[e]();if(a){var o=e.indexOf(a)-("ok"===e.substr(0,2)?2:0);if(-1{e=e._rgb,t=t._rgb;return new g(e[0]+r*(t[0]-e[0]),e[1]+r*(t[1]-e[1]),e[2]+r*(t[2]-e[2]),"rgb")},Math),Ra=(s.lrgb=(e,t,r)=>{var[e,a,n]=e._rgb,[t,o,i]=t._rgb;return new g(La(Da(e,2)*(1-r)+Da(t,2)*r),La(Da(a,2)*(1-r)+Da(o,2)*r),La(Da(n,2)*(1-r)+Da(i,2)*r),"rgb")},s.lab=(e,t,r)=>{e=e.lab(),t=t.lab();return new g(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 n,o;"hsl"===a?(n=e.hsl(),o=t.hsl()):"hsv"===a?(n=e.hsv(),o=t.hsv()):"hcg"===a?(n=e.hcg(),o=t.hcg()):"hsi"===a?(n=e.hsi(),o=t.hsi()):"lch"===a||"hcl"===a?(a="hcl",n=e.hcl(),o=t.hcl()):"oklch"===a&&(n=e.oklch().reverse(),o=t.oklch().reverse());let i,s,l,c,d,u;"h"!==a.substr(0,1)&&"oklch"!==a||([i,l,d]=n,[s,c,u]=o);let p,m,h,f;return isNaN(i)||isNaN(s)?isNaN(i)?isNaN(s)?m=Number.NaN:(m=s,1!=d&&0!=d||"hsv"==a||(p=c)):(m=i,1!=u&&0!=u||"hsv"==a||(p=l)):(f=s>i&&180Ra(e,t,r,"lch"),a=(s.lch=a,s.hcl=a,e=>{if("number"==k(e)&&0<=e&&e<=16777215)return[e>>16,e>>8&255,255&e,1];throw new Error("unknown num color: "+e)}),Ma=(...e)=>{var[e,t,r]=h(e,"rgb");return(e<<16)+(t<<8)+r},_a=(g.prototype.num=function(){return Ma(this._rgb)},Object.assign(I,{num:(...e)=>new g(...e,"num")}),i.format.num=a,i.autodetect.push({p:5,test:(...e)=>{if(1===e.length&&"number"===k(e[0])&&0<=e[0]&&e[0]<=16777215)return"num"}}),(s.num=(e,t,r)=>{e=e.num(),t=t.num();return new g(e+r*(t-e),"num")},Math)["floor"]),a=(...e)=>{let[t,r,a]=e=h(e,"hcg"),n,o,i;a*=255;var s=255*r;if(0===r)n=o=i=a;else{360<(t=360===t?0:t)&&(t-=360),t<0&&(t+=360),t/=60;var l=_a(t),c=t-l,d=a*(1-r),u=d+s*(1-c),p=d+s*c,m=d+s;switch(l){case 0:[n,o,i]=[m,p,d];break;case 1:[n,o,i]=[u,m,d];break;case 2:[n,o,i]=[d,m,p];break;case 3:[n,o,i]=[d,u,m];break;case 4:[n,o,i]=[p,d,m];break;case 5:[n,o,i]=[m,d,u]}}return[n,o,i,3{var[e,t,r]=h(e,"rgb"),a=Kr(e,t,r),n=Jr(e,t,r),o=n-a;let i;return 0==o?i=Number.NaN:(e===n&&(i=(t-r)/o),t===n&&(i=2+(r-e)/o),r===n&&(i=4+(e-t)/o),(i*=60)<0&&(i+=360)),[i,100*o/255,a/(255-o)*100]},Ba=(g.prototype.hcg=function(){return ja(this._rgb)},I.hcg=(...e)=>new g(...e,"hcg"),i.format.hcg=a,i.autodetect.push({p:1,test:(...e)=>{if("array"===k(e=h(e,"hcg"))&&3===e.length)return"hcg"}}),(s.hcg=(e,t,r)=>Ra(e,t,r,"hcg"),Math)["cos"]),a=(...e)=>{let[t,r,a]=e=h(e,"hsi"),n,o,i;return isNaN(t)&&(t=0),isNaN(r)&&(r=0),360{var[e,t,r]=h(e,"rgb");let a;var n=$a(e/=255,t/=255,r/=255),o=(e+t+r)/3,n=0new g(...e,"hsi"),i.format.hsi=a,i.autodetect.push({p:2,test:(...e)=>{if("array"===k(e=h(e,"hsi"))&&3===e.length)return"hsi"}}),s.hsi=(e,t,r)=>Ra(e,t,r,"hsi"),(...e)=>{var[t,r,a]=e=h(e,"hsl");let n,o,i;if(0===r)n=o=i=255*a;else{var s=[0,0,0],l=[0,0,0],c=a<.5?a*(1+r):a+r-a*r,d=2*a-c,r=t/360;s[0]=r+1/3,s[1]=r,s[2]=r-1/3;for(let e=0;e<3;e++)s[e]<0&&(s[e]+=1),1{var[t,r,a]=e=h(e,"rgba"),n=Kr(t/=255,r/=255,a/=255),o=Jr(t,r,a),i=(o+n)/2;let s,l;return o===n?(s=0,l=Number.NaN):s=i<.5?(o-n)/(o+n):(o-n)/(2-o-n),t==o?l=(r-a)/(o-n):r==o?l=2+(a-t)/(o-n):a==o&&(l=4+(t-r)/(o-n)),(l*=60)<0&&(l+=360),3new g(...e,"hsl"),i.format.hsl=Ga,i.autodetect.push({p:2,test:(...e)=>{if("array"===k(e=h(e,"hsl"))&&3===e.length)return"hsl"}}),(s.hsl=(e,t,r)=>Ra(e,t,r,"hsl"),Math)["floor"]),a=(...e)=>{let[t,r,a]=e=h(e,"hsv"),n,o,i;if(a*=255,0===r)n=o=i=a;else{360<(t=360===t?0:t)&&(t-=360),t<0&&(t+=360),t/=60;var s=Va(t),l=t-s,c=a*(1-r),d=a*(1-r*l),u=a*(1-r*(1-l));switch(s){case 0:[n,o,i]=[a,u,c];break;case 1:[n,o,i]=[d,a,c];break;case 2:[n,o,i]=[c,a,u];break;case 3:[n,o,i]=[c,d,a];break;case 4:[n,o,i]=[u,c,a];break;case 5:[n,o,i]=[a,c,d]}}return[n,o,i,3{var[e,t,r]=e=h(e,"rgb"),a=qa(e,t,r),n=Wa(e,t,r),a=n-a;let o,i;return 0===n?(o=Number.NaN,i=0):(i=a/n,e===n&&(o=(t-r)/a),t===n&&(o=2+(r-e)/a),r===n&&(o=4+(e-t)/a),(o*=60)<0&&(o+=360)),[o,i,n/255]};g.prototype.hsv=function(){return Ka(this._rgb)},I.hsv=(...e)=>new g(...e,"hsv"),i.format.hsv=a,i.autodetect.push({p:2,test:(...e)=>{if("array"===k(e=h(e,"hsv"))&&3===e.length)return"hsv"}});function Ja(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 n=r[0].map((e,t)=>r.map(e=>e[t])),o=e.map(r=>n.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&&(o=o[0]),1===a?o.map(e=>e[0]):o}s.hsv=(e,t,r)=>Ra(e,t,r,"hsv");var Ya=(...e)=>{var[e,t,r,...a]=e=h(e,"lab"),[e,t,r]=function(e){e=Ja([[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],e);return Ja([[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],e.map(e=>e**3))}([e,t,r]),[e,t,r]=ha(e,t,r);return[e,t,r,...0{var[e,t,r,...a]=h(e,"rgb");return[...function(e){e=Ja([[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],e);return Ja([[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],e.map(e=>Math.cbrt(e)))}(ba(e,t,r)),...0new g(...e,"oklab")}),i.format.oklab=Ya,i.autodetect.push({p:2,test:(...e)=>{if("array"===k(e=h(e,"oklab"))&&3===e.length)return"oklab"}}),s.oklab=(e,t,r)=>{e=e.oklab(),t=t.oklab();return new g(e[0]+r*(t[0]-e[0]),e[1]+r*(t[1]-e[1]),e[2]+r*(t[2]-e[2]),"oklab")},s.oklch=(e,t,r)=>Ra(e,t,r,"oklch"),Math),nn=Math["pow"];function on(o){let i="rgb",s=I("#ccc"),t=0,l=[0,1],c=[],d=[0,0],u=!1,p=[],r=!1,m=0,h=1,a,f={},g=!0,b=1;function n(t){if((t=t||["#fff","#000"])&&"string"===k(t)&&I.brewer&&I.brewer[t.toLowerCase()]&&(t=I.brewer[t.toLowerCase()]),"array"===k(t)){t=(t=1===t.length?[t[0],t[0]]:t).slice(0);for(let e=0;e=u[e];)e++;return e-1}};let y=e=>e,w=e=>e;function S(e,t){let r,a;if(null==t&&(t=!1),isNaN(e)||null===e)return s;if(a=t?e:u&&2=n&&e===c.length-1){r=p[e];break}if(a>n&&af={};n(o);function C(e){return e=I(S(e)),r&&e[r]?e[r]():e}return C.classes=function(e){var t;return null!=e?("array"===k(e)?(u=e,l=[e[0],e[e.length-1]]):(t=I.analyze(l),u=0===e?[t.min,t.max]:I.limits(t,"e",e)),C):u},C.domain=function(r){if(!arguments.length)return l;m=r[0],h=r[r.length-1],c=[];var t=p.length;if(r.length===t&&m!==h)for(var e of Array.from(r))c.push((e-m)/(h-m));else{for(let e=0;et/(r.length-1)),n=r.map(e=>(e-m)/(h-m));n.every((e,t)=>a[t]===e)||(w=e=>{if(e<=0||1<=e)return e;let t=0;for(;e>=n[t+1];)t++;var r=(e-n[t])/(n[t+1]-n[t]);return a[t]+r*(a[t+1]-a[t])})}}return l=[m,h],C},C.mode=function(e){return arguments.length?(i=e,E(),C):i},C.range=function(e,t){return n(e),C},C.out=function(e){return r=e,C},C.spread=function(e){return arguments.length?(t=e,C):t},C.correctLightness=function(e){return null==e&&(e=!0),a=e,E(),y=a?function(e){var t=S(0,!0).lab()[0],r=S(1,!0).lab()[0];const a=re,C},C.padding=function(e){return null!=e?("number"===k(e)&&(e=[e,e]),d=e,C):d},C.colors=function(t,r){arguments.length<2&&(r="hex");let e=[];if(0===arguments.length)e=p.slice(0);else if(1===t)e=[C(.5)];else if(1o;n?e++:e--)a.push(e);return a}(0,t,!1).map(e=>C(a+e/(t-1)*n))}else{o=[];let a=[];if(u&&2t;r?e++:e--)a.push(.5*(u[e-1]+u[e]));else a=l;e=a.map(e=>C(e))}return e=I[r]?e.map(e=>e[r]()):e},C.cache=function(e){return null!=e?(g=e,C):g},C.gamma=function(e){return null!=e?(b=e,C):b},C.nodata=function(e){return null!=e?(s=I(e),C):s},C}var sn=function(t){let r=[1,1];for(let e=1;e!(t<3)||!1===r?e:ln(e))},Object.assign(I,{rgb:(...e)=>new g(...e,"rgb")}),i.format.rgb=(...e)=>{e=h(e,"rgba");return void 0===e[3]&&(e[3]=1),e},i.autodetect.push({p:3,test:(...e)=>{if("array"===k(e=h(e,"rgba"))&&(3===e.length||4===e.length&&"number"==k(e[3])&&0<=e[3]&&e[3]<=1))return"rgb"}}),(e,t,r)=>{if(cn[r])return cn[r](e,t);throw new Error("unknown blend mode "+r)}),a=r=>(e,t)=>{t=I(t).rgb(),e=I(e).rgb();return I.rgb(r(t,e))},dn=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},a=(cn.normal=a(dn(e=>e)),cn.multiply=a(dn((e,t)=>e*t/255)),cn.screen=a(dn((e,t)=>255*(1-(1-e/255)*(1-t/255)))),cn.overlay=a(dn((e,t)=>t<128?2*e*t/255:255*(1-2*(1-e/255)*(1-t/255)))),cn.darken=a(dn((e,t)=>tt255===e||255<(e=t/255*255/(1-e/255))?255:e)),cn.burn=a(dn((e,t)=>255*(1-(1-t/255)/(e/255)))),cn),{pow:un,sin:pn,cos:mn}=Math;var{floor:hn,random:fn}=Math,{log:gn,pow:bn,floor:vn,abs:yn}=Math;function wn(e,t=null){const r={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0};return(e="object"===k(e)?Object.values(e):e).forEach(e=>{null==(e=t&&"object"===k(e)?e[t]:e)||isNaN(e)||(r.values.push(e),r.sum+=e,er.max&&(r.max=e),r.count+=1)}),r.domain=[r.min,r.max],r.limits=(e,t)=>Sn(r,e,t),r}function Sn(e,t="equal",o=7){var{min:i,max:s}=e="array"==k(e)?wn(e):e,l=e.values.sort((e,t)=>e-t);if(1===o)return[i,s];var c=[];if("c"===t.substr(0,1)&&(c.push(i),c.push(s)),"e"===t.substr(0,1)){c.push(i);for(let e=1;e 0");var r=Math.LOG10E*gn(i),a=Math.LOG10E*gn(s);c.push(i);for(let e=1;ee-t),c.push(a[0]);for(let e=1;e[e.toLowerCase(),e])),Ln="function"==typeof Proxy?new Proxy(Ln,{get(e,t){t=t.toLowerCase();if(Rn.has(t))return e[Rn.get(t)]},getOwnPropertyNames(){return Object.getOwnPropertyNames(Dn)}}):Ln,l=(...e)=>{var[t,r,a,n]=e=h(e,"cmyk"),e=4{var[e,t,r]=h(e,"rgb"),a=1-Mn(e/=255,Mn(t/=255,r/=255)),n=a<1?1/(1-a):0;return[(1-e-a)*n,(1-t-a)*n,(1-r-a)*n,a]},jn=(g.prototype.cmyk=function(){return _n(this._rgb)},Object.assign(I,{cmyk:(...e)=>new g(...e,"cmyk")}),i.format.cmyk=l,i.autodetect.push({p:2,test:(...e)=>{if("array"===k(e=h(e,"cmyk"))&&4===e.length)return"cmyk"}}),(...e)=>{var t=h(e,"hsla");let r=Wr(e)||"lsa";return t[0]=Yr(t[0]||0)+"deg",t[1]=Yr(100*t[1])+"%",t[2]=Yr(100*t[2])+"%","hsla"===r||3{var t=h(e,"lab"),e=Wr(e)||"lab";return t[0]=Yr(t[0])+"%",t[1]=Yr(t[1]),t[2]=Yr(t[2]),"laba"===e||3{var t=h(e,"lch"),e=Wr(e)||"lab";return t[0]=Yr(t[0])+"%",t[1]=Yr(t[1]),t[2]=isNaN(t[2])?"none":Yr(t[2])+"deg","lcha"===e||3{e=h(e,"lab");return e[0]=Yr(100*e[0])+"%",e[1]=Xr(e[1]),e[2]=Xr(e[2]),3{var[e,t,r,...a]=h(e,"rgb"),[e,t,r]=Xa(e,t,r),[e,t,r]=Ta(e,t,r);return[e,t,r,...0{e=h(e,"lch");return e[0]=Yr(100*e[0])+"%",e[1]=Xr(e[1]),e[2]=isNaN(e[2])?"none":Yr(e[2])+"deg",3{var t,r=h(e,"rgba");let a=Wr(e)||"rgb";return"hsl"===a.substr(0,3)?jn(Ha(r),a):"lab"===a.substr(0,3)?(e=pa(),ua("d50"),t=Bn(va(r),a),ua(e),t):"lch"===a.substr(0,3)?(e=pa(),ua("d50"),t=$n(Pa(r),a),ua(e),t):"oklab"===a.substr(0,5)?zn(Xa(r)):"oklch"===a.substr(0,5)?Un(Fn(r)):(r[0]=Gn(r[0]),r[1]=Gn(r[1]),r[2]=Gn(r[2]),("rgba"===a||3{var[e,t,r,...a]=e=h(e,"lch"),[e,t,r]=xa(e,t,r),[e,t,r]=Ya(e,t,r);return[e,t,r,...0e.map((e,t)=>t<=2?Hr(so(e),0,255):e),u=(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),co=(e,t)=>"none"===e?t:e,l=e=>{if("transparent"===(e=e.toLowerCase().trim()))return[0,0,0,0];let r;if(i.format.named)try{return i.format.named(e)}catch(e){}if(r=(r=e.match(Xn))||e.match(Zn)){let t=r.slice(1,4);for(let e=0;e<3;e++)t[e]=+u(co(t[e],0),0,255);t=lo(t);var a=void 0!==r[4]?+u(r[4],0,1):1;return t[3]=a,t}if(r=e.match(Qn)){var t=r.slice(1,5);for(let e=0;e<4;e++)t[e]=+u(t[e],0,255);return t}if(r=(r=e.match(eo))||e.match(to))return(a=r.slice(1,4))[0]=+co(a[0].replace("deg",""),0),a[1]=.01*+u(co(a[1],0),0,100),a[2]=.01*+u(co(a[2],0),0,100),a=lo(Ga(a)),n=void 0!==r[4]?+u(r[4],0,1):1,a[3]=n,a;if(r=e.match(ro)){var n=r.slice(1,4),o=(n[1]*=.01,n[2]*=.01,Ga(n));for(let e=0;e<3;e++)o[e]=so(o[e]);return o[3]=+r[4],o}return(r=e.match(ao))?((a=r.slice(1,4))[0]=u(co(a[0],0),0,100),a[1]=u(co(a[1],0),-125,125,!0),a[2]=u(co(a[2],0),-125,125,!0),n=pa(),ua("d50"),a=lo(fa(a)),ua(n),n=void 0!==r[4]?+u(r[4],0,1):1,a[3]=n,a):(r=e.match(no))?((n=r.slice(1,4))[0]=u(n[0],0,100),n[1]=u(co(n[1],0),0,150,!1),n[2]=+co(n[2].replace("deg",""),0),a=pa(),ua("d50"),n=lo(Ia(n)),ua(a),a=void 0!==r[4]?+u(r[4],0,1):1,n[3]=a,n):(r=e.match(oo))?((a=r.slice(1,4))[0]=u(co(a[0],0),0,1),a[1]=u(co(a[1],0),-.4,.4,!0),a[2]=u(co(a[2],0),-.4,.4,!0),n=lo(Ya(a)),a=void 0!==r[4]?+u(r[4],0,1):1,n[3]=a,n):(r=e.match(io))?((a=r.slice(1,4))[0]=u(co(a[0],0),0,1),a[1]=u(co(a[1],0),0,.4,!1),a[2]=+co(a[2].replace("deg",""),0),n=lo(Vn(a)),e=void 0!==r[4]?+u(r[4],0,1):1,n[3]=e,n):void 0},uo=(l.test=e=>Xn.test(e)||eo.test(e)||ao.test(e)||no.test(e)||oo.test(e)||io.test(e)||Zn.test(e)||Qn.test(e)||to.test(e)||ro.test(e)||"transparent"===e,l),po=(g.prototype.css=function(e){return Hn(this._rgb,e)},I.css=(...e)=>new g(...e,"css"),i.format.css=uo,i.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&"string"===k(e)&&uo.test(e))return"css"}}),i.format.gl=(...e)=>{e=h(e,"rgba");return e[0]*=255,e[1]*=255,e[2]*=255,e},I.gl=(...e)=>new g(...e,"gl"),g.prototype.gl=function(){var e=this._rgb;return[e[0]/255,e[1]/255,e[2]/255,e[3]]},g.prototype.hex=function(e){return sa(this._rgb,e)},(I.hex=(...e)=>new g(...e,"hex"),i.format.hex=oa,i.autodetect.push({p:4,test:(e,...t)=>{if(!t.length&&"string"===k(e)&&0<=[3,4,5,6,7,8,9].indexOf(e.length))return"hex"}}),Math)["log"]),mo=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*po(r),e<20?0:.8274096064007395*(a=e-10)-254.76935184120902+115.67994401066147*po(a)):(t=351.97690566805693+.114206453784165*(t=e-55)-40.25366309332127*po(t),r=325.4494125711974+.07943456536662342*(r=e-50)-28.0852963507957*po(r),255),[t,r,a,1]},ho=Math["round"],fo=(...e)=>{var e=h(e,"rgb"),t=e[0],r=e[2];let a=1e3,n=4e4;let o;for(;.4=r/t?n=o:a=o}return ho(o)},qn=(g.prototype.temp=g.prototype.kelvin=g.prototype.temperature=function(){return fo(this._rgb)},(...e)=>new g(...e,"temp")),N=(Object.assign(I,{temp:qn,kelvin:qn,temperature:qn}),i.format.temp=i.format.kelvin=i.format.temperature=mo,g.prototype.oklch=function(){return Fn(this._rgb)},Object.assign(I,{oklch:(...e)=>new g(...e,"oklch")}),i.format.oklch=Vn,i.autodetect.push({p:2,test:(...e)=>{if("array"===k(e=h(e,"oklch"))&&3===e.length)return"oklch"}}),Object.assign(I,{analyze:wn,average:(e,s="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 g(e)),"lrgb"===s){var a=e,n=l,o=a.length,i=[0,0,0,0];for(let e=0;e{var r,a=e.get(s);i+=e.alpha()*l[t+1];for(let e=0;e{const t=function(e){let a,n,o,i;if(2===(e=e.map(e=>new g(e))).length)[n,o]=e.map(e=>e.lab()),a=function(t){var e=[0,1,2].map(e=>n[e]+t*(o[e]-n[e]));return new g(e,"lab")};else if(3===e.length)[n,o,i]=e.map(e=>e.lab()),a=function(t){var e=[0,1,2].map(e=>(1-t)*(1-t)*n[e]+2*(1-t)*t*o[e]+t*t*i[e]);return new g(e,"lab")};else if(4===e.length){let r;[n,o,i,r]=e.map(e=>e.lab()),a=function(t){var e=[0,1,2].map(e=>(1-t)*(1-t)*(1-t)*n[e]+3*(1-t)*(1-t)*t*o[e]+3*(1-t)*t*t*i[e]+t*t*t*r[e]);return new g(e,"lab")}}else{if(!(5<=e.length))throw new RangeError("No point in running bezier with only one color.");{let t,i,s;t=e.map(e=>e.lab()),s=e.length-1,i=sn(s),a=function(n){const o=1-n;var e=[0,1,2].map(a=>t.reduce((e,t,r)=>e+i[r]*o**(s-r)*n**r*t[a],0));return new g(e,"lab")}}}return a}(e);return t.scale=()=>on(t),t},blend:a,brewer:Ln,Color:g,colors:ra,contrast:(e,t)=>{e=new g(e),t=new g(t);e=e.luminance(),t=t.luminance();return t{e=new g(e),t=new g(t);var e=En(...(e=e.alpha()<1?Ea(t,e,e.alpha(),"rgb"):e).rgb()),t=En(...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:eI.scale(t),t.hue(i),t},deltaE:function(e,t,r=1,a=1,n=1){function o(e){return 360*e/(2*Pn)}function i(e){return 2*Pn*e/360}e=new g(e),t=new g(t);var[e,s,l]=Array.from(e.lab()),[t,c,d]=Array.from(t.lab()),u=(e+t)/2,p=(Cn(b(s,2)+b(l,2))+Cn(b(c,2)+b(d,2)))/2,p=.5*(1-Cn(b(p,7)/(b(p,7)+b(25,7)))),c=c*(1+p),p=Cn(b(s=s*(1+p),2)+b(l,2)),m=Cn(b(c,2)+b(d,2)),h=(p+m)/2,l=o(In(l,s)),s=o(In(d,c)),l=180{let t="#";for(let e=0;e<6;e++)t+="0123456789abcdef".charAt(hn(16*fn()));return new g(t,"hex")},scale:on,scales:dn,valid:(...e)=>{try{return new g(...e),!0}catch(e){return!1}}}),(t,e)=>{t=localStorage.getItem(t);if(!t)return e;try{return JSON.parse(t)}catch(e){return t}}),go=e=>{var t,r,a={section:/^\s*\[\s*([^\]]*)\s*\]\s*$/,param:/^\s*([^=]+?)\s*=\s*(.*?)\s*$/,comment:/^\s*;.*$/},n={};let o=null;for(const i of e.split(/[\r\n]+/))a.comment.test(i)||(a.param.test(i)?i.includes("xrdb")||(t=i.match(a.param),o&&t&&3===t.length&&(r=t[1].trim(),t=t[2].split(";")[0].trim(),n[o]||(n[o]={}),n[o][r]=t)):a.section.test(i)&&(r=i.match(a.section))&&(n[o=r[1]]={}));return n},bo=e=>{var t=document.querySelector("style.marketplaceSnippets"),t=(t&&t.remove(),document.createElement("style")),e=e.reduce((e,t)=>`${e}/* ${t.title} - ${t.description} */ +${t.code} +`,"");t.innerHTML=e,t.classList.add("marketplaceSnippets"),document.body.appendChild(t)},vo=(e,t)=>{let r=[];return e&&0({name:e.name,url:Oo(e.url)})):r.push({name:t,url:"https://github.com/"+t}),r},yo=e=>e?Object.keys(e).map(e=>({key:e,value:e})):[],wo=e=>[{key:"stars",value:e("grid.sort.stars")},{key:"newest",value:e("grid.sort.newest")},{key:"oldest",value:e("grid.sort.oldest")},{key:"lastUpdated",value:e("grid.sort.lastUpdated")},{key:"mostStale",value:e("grid.sort.mostStale")},{key:"a-z",value:e("grid.sort.aToZ")},{key:"z-a",value:e("grid.sort.zToA")}],So=(...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(...N(x.installedExtensions,[])),t.push(x.installedExtensions);break;case"snippets":t.push(...N(x.installedSnippets,[])),t.push(x.installedSnippets);break;case"theme":t.push(...N(x.installedThemes,[])),t.push(x.installedThemes),t.push(x.themeInstalled);break;default:console.error("Unknown category: "+a)}for(const n of t)localStorage.removeItem(n),console.debug("Removed "+n);console.debug("Marketplace has been reset"),location.reload()},Eo=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}: ${(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."})(t[a])};`;e+="}",r.innerHTML=e,document.body.appendChild(r)}},Co=e=>{try{var t,r,a=document.querySelector("link[href='user.css']"),n=(a&&a.remove(),document.querySelector("style.marketplaceCSS.marketplaceUserCSS"));n&&n.remove(),e?((t=document.createElement("style")).classList.add("marketplaceCSS"),t.classList.add("marketplaceUserCSS"),t.innerHTML=e,document.body.appendChild(t)):((r=document.createElement("link")).setAttribute("rel","stylesheet"),r.setAttribute("href","user.css"),r.classList.add("userCSS"),document.body.appendChild(r))}catch(e){console.warn(e)}},ko=async(e,t)=>{if(!e.cssURL)throw new Error("No CSS URL provided");var t=t||await async function(){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)}}(),t=(e=>{const t=new URL(e);return t.host,t.host==="raw.githubusercontent.com"})(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 i of a.matchAll(/url\(['|"](?.+?)['|"]\)/gm)||[]){var n,o=i?.groups?.path;!o||o.startsWith("http")||o.startsWith("data")||(n=r+o.replace(/\.\//g,""),a=a.replace(o,n))}return a};function xo(e,t){if(e)for(const n of e){var r=t||n.user+"-"+n.repo,a=window.sessionStorage.getItem(r),a=a?JSON.parse(a):[];a.push(n),window.sessionStorage.setItem(r,JSON.stringify(a))}}async function Io(e,t,r){try{var a={text:e,context:t+"/"+r,mode:"gfm"},n=await fetch("https://api.github.com/markdown",{method:"POST",body:JSON.stringify(a)});if(n.ok)return await n.text();throw Spicetify.showNotification(y("notifications.markdownParsingError",{status:n.status}),!0)}catch(e){return null}}function No(e){var t="snippet"===e.type?"snippet:":`${e.item.user}/${e.item.repo}/`;let r;switch(e.type){case"snippet":r=e.item.title.replaceAll(" ","-");break;case"theme":r=e.item.manifest?.usercss||"";break;case"extension":r=e.item.manifest?.main||"";break;case"app":r=e.item.manifest?.name?.replaceAll(" ","-")||""}return"marketplace:installed:"+t+r}var Oo=e=>{var t=decodeURI(e).trim().toLowerCase();return t.startsWith("javascript:")||t.startsWith("data:")||t.startsWith("vbscript:")?"about:blank":e},Ao=(e,t)=>{e=e.title||e?.manifest?.name||"",t=t.title||t?.manifest?.name||"";return e.localeCompare(t)},To=(e,t)=>{return void 0===e.created||void 0===t.created?0:(e=new Date(e.created),new Date(t.created).getTime()-e.getTime())},Po=(e,t)=>{return void 0===e.lastUpdated||void 0===t.lastUpdated?0:(e=new Date(e.lastUpdated),new Date(t.lastUpdated).getTime()-e.getTime())},Lo=(e,t)=>{switch(t){case"a-z":e.sort((e,t)=>Ao(e,t));break;case"z-a":e.sort((e,t)=>Ao(t,e));break;case"newest":e.sort((e,t)=>To(e,t));break;case"oldest":e.sort((e,t)=>To(t,e));break;case"lastUpdated":e.sort((e,t)=>Po(e,t));break;case"mostStale":e.sort((e,t)=>Po(t,e));break;default:e.sort((e,t)=>t.stars-e.stars)}};async function Do(e,t=1,r=[],a=!1){let n=`https://api.github.com/search/repositories?q=${encodeURIComponent("topic:"+e)}&per_page=100`;t&&(n+="&page="+t);var o=JSON.parse(window.sessionStorage.getItem(e+"-page-"+t)||"null")||await fetch(n).then(e=>e.json()).catch(()=>null);return o?.items?(window.sessionStorage.setItem(e+"-page-"+t,JSON.stringify(o)),{...o,page_count:o.items.length,items:o.items.filter(e=>!r.includes(e.html_url)&&(a||!e.archived))}):(Spicetify.showNotification(y("notifications.tooManyRequests"),!0,5e3),{items:[]})}var Kn=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"}),vr=URL.createObjectURL(Pe);async function br(e,t,a){var r=e+"-"+t,n=window.sessionStorage.getItem(r),o=JSON.parse(window.sessionStorage.getItem("noManifests")||"[]");if(n)return JSON.parse(n);n=`https://raw.githubusercontent.com/${e}/${t}/${a}/manifest.json`;if(o.includes(n))return null;let i=await async function(e){const r=new Worker(vr);return new Promise(t=>{const a=e=>{r.terminate(),t(e)};r.postMessage(e),r.addEventListener("message",e=>a(e.data),{once:!0}),r.addEventListener("error",()=>a(null),{once:!0})})}(n);return i?(Oa(i=Array.isArray(i)?i:[i],r),i):Oa([n],"noManifests")}async function yr(e,r,n,o=!1){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?.+)\/(?.+)\/contents/);if(!t||!t.groups)return null;const{user:i,repo:s}=t.groups;return(await br(i,s,r)).reduce((e,t)=>{var a=t.branch||r,a={manifest:t,title:t.name,subtitle:t.description,authors:wa(t.authors,i),user:i,repo:s,branch:a,imageURL:t.preview&&t.preview.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${i}/${s}/${a}/`+t.preview,extensionURL:t.main.startsWith("http")?t.main:`https://raw.githubusercontent.com/${i}/${s}/${a}/`+t.main,readmeURL:t.readme&&t.readme.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${i}/${s}/${a}/`+t.readme,stars:n,tags:t.tags};return t&&t.name&&t.description&&t.main&&(o&&localStorage.getItem(`marketplace:installed:${i}/${s}/`+t.main)||e.push(a)),e},[])}catch{return null}}async function Sr(e,r,n){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?.+)\/(?.+)\/contents/);if(!t||!t.groups)return null;const{user:o,repo:i}=t.groups;return(await br(o,i,r)).reduce((e,t)=>{var a=t.branch||r,a={manifest:t,title:t.name,subtitle:t.description,authors:wa(t.authors,o),user:o,repo:i,branch:a,imageURL:t.preview&&t.preview.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${o}/${i}/${a}/`+t.preview,readmeURL:t.readme&&t.readme.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${o}/${i}/${a}/`+t.readme,stars:n,tags:t.tags,cssURL:t.usercss.startsWith("http")?t.usercss:`https://raw.githubusercontent.com/${o}/${i}/${a}/`+t.usercss,schemesURL:t.schemes?t.schemes.startsWith("http")?t.schemes:`https://raw.githubusercontent.com/${o}/${i}/${a}/`+t.schemes:null,include:t.include};return t?.name&&t?.usercss&&t?.description&&e.push(a),e},[])}catch{return null}}async function kr(e,r,n){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?.+)\/(?.+)\/contents/);if(!t||!t.groups)return null;const{user:o,repo:i}=t.groups;return(await br(o,i,r)).reduce((e,t)=>{var a=t.branch||r,a={manifest:t,title:t.name,subtitle:t.description,authors:wa(t.authors,o),user:o,repo:i,branch:a,imageURL:t.preview&&t.preview.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${o}/${i}/${a}/`+t.preview,readmeURL:t.readme&&t.readme.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${o}/${i}/${a}/`+t.readme,stars:n,tags:t.tags};return t&&t.name&&t.description&&e.push(a),e},[])}catch{return null}}var wr=async()=>{return(await fetch("https://raw.githubusercontent.com/spicetify/spicetify-marketplace/main/resources/blacklist.json").then(e=>e.json()).catch(()=>({}))).repos},Er=async()=>{var e=await fetch("https://raw.githubusercontent.com/spicetify/spicetify-marketplace/main/resources/snippets.json").then(e=>e.json()).catch(()=>[]);return e.length?e.reduce((e,t)=>{t={...t};return t.preview&&(t.imageURL=t.preview.startsWith("http")?t.preview:"https://raw.githubusercontent.com/spicetify/spicetify-marketplace/main/"+t.preview,delete t.preview),e.push(t),e},[]):[]},Cr=t(b()),Nr=class extends Cr.default.Component{render(){return Cr.default.createElement("div",{onClick:this.props.onClick},Cr.default.createElement("p",{style:{fontSize:100,lineHeight:"65px"}},"»"),Cr.default.createElement("span",{style:{fontSize:20}},"Load more"))}},x=t(b()),xr=()=>x.default.createElement("svg",{width:"100px",height:"100px",viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"},x.default.createElement("circle",{cx:"50",cy:"50",r:"0",fill:"none",stroke:"currentColor",strokeWidth:"2"},x.default.createElement("animate",{attributeName:"r",repeatCount:"indefinite",dur:"1s",values:"0;40",keyTimes:"0;1",keySplines:"0 0.2 0.8 1",calcMode:"spline",begin:"0s"}),x.default.createElement("animate",{attributeName:"opacity",repeatCount:"indefinite",dur:"1s",values:"1;0",keyTimes:"0;1",keySplines:"0.2 0 0.8 1",calcMode:"spline",begin:"0s"})),x.default.createElement("circle",{cx:"50",cy:"50",r:"0",fill:"none",stroke:"currentColor",strokeWidth:"2"},x.default.createElement("animate",{attributeName:"r",repeatCount:"indefinite",dur:"1s",values:"0;40",keyTimes:"0;1",keySplines:"0 0.2 0.8 1",calcMode:"spline",begin:"-0.5s"}),x.default.createElement("animate",{attributeName:"opacity",repeatCount:"indefinite",dur:"1s",values:"1;0",keyTimes:"0;1",keySplines:"0.2 0 0.8 1",calcMode:"spline",begin:"-0.5s"}))),Ir=t(b()),Lr=()=>Ir.default.createElement("svg",{role:"img",width:"16",height:"16",viewBox:"0 0 24 24","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg"},Ir.default.createElement("path",{d:"M24 13.616v-3.232c-1.651-.587-2.694-.752-3.219-2.019v-.001c-.527-1.271.1-2.134.847-3.707l-2.285-2.285c-1.561.742-2.433 1.375-3.707.847h-.001c-1.269-.526-1.435-1.576-2.019-3.219h-3.232c-.582 1.635-.749 2.692-2.019 3.219h-.001c-1.271.528-2.132-.098-3.707-.847l-2.285 2.285c.745 1.568 1.375 2.434.847 3.707-.527 1.271-1.584 1.438-3.219 2.02v3.232c1.632.58 2.692.749 3.219 2.019.53 1.282-.114 2.166-.847 3.707l2.285 2.286c1.562-.743 2.434-1.375 3.707-.847h.001c1.27.526 1.436 1.579 2.019 3.219h3.232c.582-1.636.75-2.69 2.027-3.222h.001c1.262-.524 2.12.101 3.698.851l2.285-2.286c-.744-1.563-1.375-2.433-.848-3.706.527-1.271 1.588-1.44 3.221-2.021zm-12 2.384c-2.209 0-4-1.791-4-4s1.791-4 4-4 4 1.791 4 4-1.791 4-4 4z",fill:"currentColor"})),Or=t(b()),Tr=()=>Or.default.createElement("svg",{className:"devtools-icon",version:"1.1",viewBox:"1 1 22 22",xmlSpace:"preserve",xmlns:"http://www.w3.org/2000/svg"},Or.default.createElement("g",{className:"devtools-icon-internal",id:"grid_system"}),Or.default.createElement("g",{id:"_icons"},Or.default.createElement("path",{d:"M18,12v-0.9l0.7-5.7C18.8,4.5,18.6,3.7,18,3c-0.6-0.6-1.4-1-2.2-1H8.3C7.4,2,6.6,2.4,6,3C5.4,3.7,5.2,4.5,5.3,5.4L6,11.1 V12c0,1.6,1.3,2.9,2.8,3l-0.4,2.9c-0.1,1,0.2,2.1,0.8,2.9S11,22,12,22s2-0.5,2.7-1.2s1-1.8,0.8-2.9L15.2,15 C16.7,14.9,18,13.6,18,12z M7.5,4.3C7.7,4.1,8,4,8.3,4H13v2c0,0.6,0.4,1,1,1s1-0.4,1-1V4h0.7c0.3,0,0.6,0.1,0.8,0.3 c0.2,0.2,0.3,0.5,0.2,0.8L16.1,10H7.9L7.3,5.1C7.2,4.8,7.3,4.6,7.5,4.3z M13.2,19.4c-0.6,0.7-1.8,0.7-2.4,0 c-0.3-0.4-0.4-0.8-0.4-1.3l0.5-3.2h2.3l0.5,3.2C13.7,18.6,13.5,19.1,13.2,19.4z M15,13h-1h-4H9c-0.6,0-1-0.4-1-1h8 C16,12.6,15.6,13,15,13z"}))),I=t(b()),Ar=t(e()),i=class extends I.default.Component{constructor(e){super(e)}render(){var e=this.props["t"];return this.props.item.enabled?I.default.createElement("li",{className:"marketplace-tabBar-headerItem","data-tab":this.props.item.value,onClick:e=>{e.preventDefault(),this.props.switchTo(this.props.item)}},I.default.createElement("a",{"aria-current":"page",className:"marketplace-tabBar-headerItemLink "+(this.props.item.active?"marketplace-tabBar-active":""),draggable:"false",href:""},I.default.createElement("span",{className:"main-type-mestoBold"},e("tabs."+this.props.item.value)))):null}},Pr=qt()(i),Mr=I.default.memo(function({items:e,switchTo:t}){return I.default.createElement("li",{className:"marketplace-tabBar-headerItem"},I.default.createElement(Ar.default,{className:"main-type-mestoBold",options:e,value:"More",placeholder:"More",onChange:t}))}),_r=e=>{const t=document.querySelector(".Root__main-view .os-resize-observer-host")??document.querySelector(".Root__main-view .os-size-observer");if(!t)return null;const[a,r]=(0,I.useState)(t.clientWidth),n=()=>r(t.clientWidth),o=()=>{var e=document.querySelector(".marketplace-tabBar"),t=document.querySelector(".main-topBar-topbarContentWrapper");e&&t?(e&&t&&"/marketplace"===Spicetify.Platform.History.location.pathname&&(t.appendChild(e),document.querySelector(".main-topBar-container")?.setAttribute("style","contain: unset;")),Spicetify.Platform.History.listen(({pathname:e})=>{"/marketplace"!=e&&(document.querySelector(".marketplace-tabBar")?.remove(),document.querySelector(".main-topBar-container")?.removeAttribute("style"))})):setTimeout(o,100)};return(0,I.useEffect)(()=>{const e=new ResizeObserver(n);return e.observe(t),()=>{e.disconnect()}}),(0,I.useEffect)(()=>{o()}),I.default.createElement(Rr,{windowSize:a,links:e.links,activeLink:e.activeLink,switchCallback:e.switchCallback})},Rr=I.default.memo(function({links:e,activeLink:a,switchCallback:t,windowSize:r=1/0}){const n=I.default.useRef(null),[o,i]=(0,I.useState)([]),[s,l]=(0,I.useState)(0),[c,u]=(0,I.useState)([]),d=e.map(({name:e,enabled:t})=>{return{label:e,value:e,active:e===a,enabled:t}});return(0,I.useEffect)(()=>{n.current&&l(n.current.clientWidth)},[r,n.current?.clientWidth]),(0,I.useEffect)(()=>{var e;n.current&&(e=Array.from(n.current.children).map(e=>e.clientWidth),i(e))},[e]),(0,I.useEffect)(()=>{if(n.current)if(o.reduce((e,t)=>e+t,0)<=s)u([]);else{var e=Math.max(...o);const r=[];let a=e;o.forEach((e,t)=>{s>=a+e?a+=e:r.push(t)}),u(r)}},[s,o]),I.default.createElement("nav",{className:"marketplace-tabBar marketplace-tabBar-nav"},I.default.createElement("ul",{className:"marketplace-tabBar-header",ref:n},d.filter((e,t)=>!c.includes(t)).map(e=>I.default.createElement(Pr,{key:e.value,item:e,switchTo:t})),c.length||0===o.length?I.default.createElement(Mr,{items:c.map(e=>d[e]).filter(e=>e),switchTo:t}):null))}),L=t(b()),jr=t(b()),Dr=()=>jr.default.createElement("svg",{role:"img",width:"16",height:"16",viewBox:"0 0 448 512","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg"},jr.default.createElement("path",{d:"M53.21 467c1.562 24.84 23.02 45 47.9 45h245.8c24.88 0 46.33-20.16 47.9-45L416 128H32L53.21 467zM432 32H320l-11.58-23.16c-2.709-5.42-8.25-8.844-14.31-8.844H153.9c-6.061 0-11.6 3.424-14.31 8.844L128 32H16c-8.836 0-16 7.162-16 16V80c0 8.836 7.164 16 16 16h416c8.838 0 16-7.164 16-16V48C448 39.16 440.8 32 432 32z",fill:"currentColor"})),$r=t(b()),zr=()=>$r.default.createElement("svg",{role:"img",width:"16",height:"16",viewBox:"0 0 512 512","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg"},$r.default.createElement("path",{d:"M480 352h-133.5l-45.25 45.25C289.2 409.3 273.1 416 256 416s-33.16-6.656-45.25-18.75L165.5 352H32c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-96C512 366.3 497.7 352 480 352zM432 456c-13.2 0-24-10.8-24-24c0-13.2 10.8-24 24-24s24 10.8 24 24C456 445.2 445.2 456 432 456zM233.4 374.6C239.6 380.9 247.8 384 256 384s16.38-3.125 22.62-9.375l128-128c12.49-12.5 12.49-32.75 0-45.25c-12.5-12.5-32.76-12.5-45.25 0L288 274.8V32c0-17.67-14.33-32-32-32C238.3 0 224 14.33 224 32v242.8L150.6 201.4c-12.49-12.5-32.75-12.5-45.25 0c-12.49 12.5-12.49 32.75 0 45.25L233.4 374.6z",fill:"currentColor"})),Ur=t(b()),Br=()=>Ur.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24"},Ur.default.createElement("path",{d:"M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z",fill:"currentColor"})),Fr=t(b()),Vr=e=>{return Fr.default.createElement("div",{className:"marketplace-card__authors"},e.authors.map((e,t)=>Fr.default.createElement("a",{title:e.name,className:"marketplace-card__author",href:e.url,draggable:"false",dir:"auto",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),key:t},e.name)))},Hr=t(b()),qr=r=>{const[e,t]=Hr.default.useState(!1),n={[y("grid.externalJS")]:"external JS",[y("grid.archived")]:"archived",[y("grid.dark")]:"dark",[y("grid.light")]:"light"};var a=e=>{return e.filter((e,t,a)=>a.indexOf(e)===t).reduce((e,t)=>{var a=n[t]||t;return!r.showTags&&t!==y("grid.externalJS")&&t!==y("grid.archived")||e.push(Hr.default.createElement("li",{className:"marketplace-card__tag",draggable:!1,"data-tag":a},t)),e},[])};let o=r.tags.sort(e=>e===y("grid.externalJS")||e===y("grid.archived")?-1:1),i=[];return 1{e.stopPropagation(),t(!0)}},"..."):null)},O=window.Spicetify,Gr=class extends L.default.Component{tags;menuType;localStorageKey;key=null;type=Gr;constructor(e){super(e),this.menuType=O.ReactComponent.Menu,this.localStorageKey=Aa(e),Object.assign(this,e),this.tags=e.item.tags||[],e.item.include&&this.tags.push(y("grid.externalJS")),e.item.archived&&this.tags.push(y("grid.archived")),this.state={installed:null!==localStorage.getItem(this.localStorageKey),stars:this.props.item.stars||0,tagsExpanded:!1,externalUrl:this.props.item.user&&this.props.item.repo?`https://github.com/${this.props.item.user}/`+this.props.item.repo:"",lastUpdated:this.props.item.user&&this.props.item.repo?this.props.item.lastUpdated:void 0,created:this.props.item.user&&this.props.item.repo?this.props.item.created:void 0}}isInstalled(){return null!==localStorage.getItem(this.localStorageKey)}async componentDidMount(){if("Installed"===this.props.CONFIG.activeTab&&"snippet"!==this.props.type){var e=`https://api.github.com/repos/${this.props.item.user}/`+this.props.item.repo,{stargazers_count:e,pushed_at:t}=await fetch(e).then(e=>e.json());if(this.state.stars!==e&&this.props.CONFIG.visual.stars&&console.debug("Stars updated to: "+e),this.state.lastUpdated!==t)switch(console.debug("New update pushed at: "+t),this.props.type){case"extension":this.installExtension();break;case"theme":this.installTheme(!0)}}}buttonClicked(){if("extension"===this.props.type)this.isInstalled()?(console.debug("Extension already installed, removing"),this.removeExtension()):this.installExtension(),N("RELOAD");else if("theme"===this.props.type){var e=localStorage.getItem(w.themeInstalled),e=e?C(e,{}):{};if(this.isInstalled())console.debug("Theme already installed, removing"),this.removeTheme(this.localStorageKey);else{var t=localStorage.getItem(w.localTheme);if(null!=t&&"marketplace"!==t.toLowerCase())return void O.showNotification(y("notifications.wrongLocalTheme"),!0,5e3);this.removeTheme(),this.installTheme()}(this.props.item.manifest?.include||e.include)&&N("RELOAD")}else"app"===this.props.type?window.open(this.state.externalUrl,"_blank"):"snippet"===this.props.type?this.isInstalled()?(console.debug("Snippet already installed, removing"),this.removeSnippet()):this.installSnippet():console.error("Unknown card type")}installExtension(){var e,t,a,r,n,o,i,s,l,c,u,d;console.debug("Installing extension "+this.localStorageKey),this.props.item?({manifest:d,title:e,subtitle:t,authors:a,user:r,repo:n,branch:o,imageURL:i,extensionURL:s,readmeURL:l,lastUpdated:c,created:u}=this.props.item,localStorage.setItem(this.localStorageKey,JSON.stringify({manifest:d,type:this.props.type,title:e,subtitle:t,authors:a,user:r,repo:n,branch:o,imageURL:i,extensionURL:s,readmeURL:l,stars:this.state.stars,lastUpdated:c,created:u})),-1===(d=C(w.installedExtensions,[])).indexOf(this.localStorageKey)&&(d.push(this.localStorageKey),localStorage.setItem(w.installedExtensions,JSON.stringify(d))),console.debug("Installed"),this.setState({installed:!0})):O.showNotification(y("notifications.extensionInstallationError"),!0)}removeExtension(){var e;localStorage.getItem(this.localStorageKey)&&(console.debug("Removing extension "+this.localStorageKey),localStorage.removeItem(this.localStorageKey),e=C(w.installedExtensions,[]).filter(e=>e!==this.localStorageKey),localStorage.setItem(w.installedExtensions,JSON.stringify(e)),console.debug("Removed"),this.setState({installed:!1}))}async installTheme(a=!1){var r=this.props["item"];if(r){console.debug("Installing theme "+this.localStorageKey);let e={},t=null;a?({schemes:a,activeScheme:n}=C(this.localStorageKey,{}),e=a,t=n):r.schemesURL&&(a=await(await fetch(r.schemesURL)).text(),e=Sa(a));var n=t||Object.keys(e)[0]||null,{manifest:a,title:o,subtitle:i,authors:s,user:l,repo:c,branch:u,imageURL:d,extensionURL:p,readmeURL:h,cssURL:m,schemesURL:f,include:g,lastUpdated:v,created:b}=(console.debug(e,n),r),a=(localStorage.setItem(this.localStorageKey,JSON.stringify({manifest:a,type:this.props.type,title:o,subtitle:i,authors:s,user:l,repo:c,branch:u,imageURL:d,extensionURL:p,readmeURL:h,stars:this.state.stars,tags:this.tags,cssURL:m,schemesURL:f,include:g,schemes:e,activeScheme:n,lastUpdated:v,created:b})),C(w.installedThemes,[]));-1===a.indexOf(this.localStorageKey)&&(a.push(this.localStorageKey),localStorage.setItem(w.installedThemes,JSON.stringify(a)),localStorage.setItem(w.themeInstalled,this.localStorageKey)),console.debug("Installed"),r.include||(this.fetchAndInjectUserCSS(this.localStorageKey),this.props.updateActiveTheme(this.localStorageKey),this.props.updateColourSchemes(e,n),(o=this.props.item.manifest?.name)&&(O.Config.current_theme=o),n&&(O.Config.color_scheme=n)),this.setState({installed:!0})}else O.showNotification(y("notifications.themeInstallationError"),!0)}removeTheme(t){var e=(t=t||localStorage.getItem(w.themeInstalled))&&localStorage.getItem(t);t&&e&&(console.debug("Removing theme "+t),localStorage.removeItem(t),localStorage.removeItem(w.themeInstalled),e=C(w.installedThemes,[]).filter(e=>e!==t),localStorage.setItem(w.installedThemes,JSON.stringify(e)),console.debug("Removed"),this.fetchAndInjectUserCSS(null),this.props.updateActiveTheme(null),this.props.updateColourSchemes(null,null),O.Config.current_theme="marketplace",O.Config.color_scheme="marketplace",this.setState({installed:!1}))}installSnippet(){console.debug("Installing snippet "+this.localStorageKey),localStorage.setItem(this.localStorageKey,JSON.stringify({code:this.props.item.code,title:this.props.item.title,description:this.props.item.description,imageURL:this.props.item.imageURL}));var e=C(w.installedSnippets,[]),e=(-1===e.indexOf(this.localStorageKey)&&(e.push(this.localStorageKey),localStorage.setItem(w.installedSnippets,JSON.stringify(e))),e.map(e=>C(e)));ka(e),this.setState({installed:!0})}removeSnippet(){localStorage.removeItem(this.localStorageKey);var e=C(w.installedSnippets,[]).filter(e=>e!==this.localStorageKey),e=(localStorage.setItem(w.installedSnippets,JSON.stringify(e)),e.map(e=>C(e)));ka(e),this.setState({installed:!1})}async fetchAndInjectUserCSS(e){try{var t=window.sessionStorage.getItem("marketplace-request-tld")||void 0,a=e?await La(this.props.item,t):void 0;Ia(a)}catch(e){console.warn(e)}}openReadme(){this.props.item?.manifest?.readme?O.Platform.History.push({pathname:ga+"/readme",state:{data:{title:this.props.item.title,user:this.props.item.user,repo:this.props.item.repo,branch:this.props.item.branch,readmeURL:this.props.item.readmeURL,type:this.props.type,install:this.buttonClicked.bind(this),isInstalled:this.isInstalled.bind(this)}}}):O.showNotification(y("notifications.noReadmeFile"),!0)}render(){var e,t,a=this.isInstalled();return"Installed"!==this.props.CONFIG.activeTab||a?(e=["main-card-card","marketplace-card--"+this.props.type],a&&e.push("marketplace-card--installed"),t=[],"snippet"!==this.props.type&&this.props.visual.stars&&t.push("★ "+this.state.stars),L.default.createElement("div",{className:e.join(" "),onClick:()=>{if("snippet"===this.props.type){var e=this.props.item.title.replace(/\n/g,"");if(C("marketplace:installed:snippet:"+e)?.custom)return N("EDIT_SNIPPET",void 0,void 0,this.props);N("VIEW_SNIPPET",void 0,void 0,this.props,this.buttonClicked.bind(this))}else this.openReadme()}},L.default.createElement("div",{className:"main-card-draggable",draggable:"true"},L.default.createElement("div",{className:"main-card-imageContainer"},L.default.createElement("div",{className:"main-cardImage-imageWrapper"},L.default.createElement("div",null,L.default.createElement("img",{alt:"","aria-hidden":"false",draggable:"false",loading:"lazy",src:this.props.item.imageURL,className:"main-image-image main-cardImage-image",onError:e=>{e.currentTarget.setAttribute("src","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII"),e.currentTarget.closest(".main-cardImage-imageWrapper")?.classList.add("main-cardImage-imageWrapper--error")}})))),L.default.createElement("div",{className:"main-card-cardMetadata"},L.default.createElement("a",{draggable:"false",title:"snippet"===this.props.type?this.props.item.title:this.props.item.manifest?.name,className:"main-cardHeader-link",dir:"auto",href:"snippet"!==this.props.type?this.state.externalUrl:"https://github.com/spicetify/spicetify-marketplace/blob/main/src/resources/snippets.ts",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation()},L.default.createElement("div",{className:"main-cardHeader-text main-type-balladBold"},this.props.item.title)),L.default.createElement("div",{className:"main-cardSubHeader-root main-type-mestoBold marketplace-cardSubHeader"},this.props.item.authors&&L.default.createElement(Vr,{authors:this.props.item.authors}),L.default.createElement("span",null,t.join(" ‒ "))),L.default.createElement("p",{className:"marketplace-card-desc"},"snippet"===this.props.type?this.props.item.description:this.props.item.manifest?.description),this.props.item.lastUpdated&&L.default.createElement("p",{className:"marketplace-card-desc"},y("grid.lastUpdated",{val:new Date(this.props.item.lastUpdated),formatParams:{val:{year:"numeric",month:"long",day:"numeric"}}})),this.tags.length?L.default.createElement("div",{className:"marketplace-card__bottom-meta main-type-mestoBold"},L.default.createElement(qr,{tags:this.tags,showTags:this.props.CONFIG.visual.tags})):null,a&&L.default.createElement("div",{className:"marketplace-card__bottom-meta main-type-mestoBold"},"✓ ",y("grid.installed")),L.default.createElement(O.ReactComponent.TooltipWrapper,{label:"app"===this.props.type?y("github"):y(a?"remove":"install"),renderInline:!0},L.default.createElement("div",{className:"main-card-PlayButtonContainer"},L.default.createElement(g,{classes:["marketplace-installButton"],type:"circle",label:"app"===this.props.type?y("github"):y(a?"remove":"install"),onClick:e=>{e.stopPropagation(),this.buttonClicked()}},"app"===this.props.type?L.default.createElement(Br,null):a?L.default.createElement(Dr,null):L.default.createElement(zr,null)))))))):(console.debug("Card item not installed"),null)}},Kr=qt()(Gr),Jr=window.Spicetify,a=class extends s.default.Component{constructor(e){super(e),Object.assign(this,e),this.updateAppConfig=e.updateAppConfig.bind(this),this.sortConfig={by:C(w.sort,"top")},this.state={version:ma,newUpdate:!1,searchValue:"",cards:[],tabs:e.CONFIG.tabs,rest:!0,endOfList:!1,schemes:e.CONFIG.theme.schemes,activeScheme:e.CONFIG.theme.activeScheme,activeThemeKey:e.CONFIG.theme.activeThemeKey}}searchRequested;endOfList=!1;lastScroll=0;requestQueue=[];requestPage=0;cardList=[];sortConfig;gridUpdateTabs;gridUpdatePostsVisual;checkScroll;CONFIG;updateAppConfig;BLACKLIST;SNIPPETS;getInstalledTheme(){var e=localStorage.getItem(w.themeInstalled);return(e=e&&localStorage.getItem(e))?JSON.parse(e):null}newRequest(e){this.cardList=[];var t=[];this.requestQueue.unshift(t),this.loadAmount(t,e)}appendCard(e,t,a){a===this.props.CONFIG.activeTab&&(a=s.default.createElement(Kr,{item:e,key:`${this.props.CONFIG.activeTab}:${e.user}:`+e.title,CONFIG:this.CONFIG,visual:this.props.CONFIG.visual,type:t,activeThemeKey:this.state.activeThemeKey,updateColourSchemes:this.updateColourSchemes.bind(this),updateActiveTheme:this.setActiveTheme.bind(this)}),this.cardList.push(a))}updateSort(e){e&&(this.sortConfig.by=e,localStorage.setItem(w.sort,e)),this.requestPage=0,this.cardList=[],this.setState({cards:[],rest:!1,endOfList:!1}),this.endOfList=!1,this.newRequest(E)}updateTabs(){this.setState({tabs:[...this.props.CONFIG.tabs]})}updatePostsVisual(){this.cardList=this.cardList.map((e,t)=>s.default.createElement(Kr,{...e.props,key:t.toString(),CONFIG:this.CONFIG})),this.setState({cards:[...this.cardList]})}switchTo(e){this.CONFIG.activeTab=e.value,localStorage.setItem(w.activeTab,e.value),this.cardList=[],this.requestPage=0,this.setState({cards:[],rest:!1,endOfList:!1}),this.endOfList=!1,this.newRequest(E)}async loadPage(t){const a=this.CONFIG.activeTab;switch(a){case"Extensions":var e=await gr("spicetify-extensions",this.requestPage,this.BLACKLIST,this.CONFIG.visual.showArchived),r=[];for(const h of e.items){var n=await yr(h.contents_url,h.default_branch,h.stargazers_count,this.CONFIG.visual.hideInstalled);if(1({...e,archived:h.archived,lastUpdated:h.pushed_at,created:h.created_at})))}ja(r,localStorage.getItem("marketplace:sort")||"stars");for(const m of r)this.appendCard(m,"extension",a);this.setState({cards:this.cardList});var o=-1{e=C(e);if(1({...e,archived:b.archived,lastUpdated:b.pushed_at,created:b.created_at})))}this.setState({cards:this.cardList}),ja(c,localStorage.getItem("marketplace:sort")||"stars");for(const y of c)this.appendCard(y,"theme",a);e=-1({...e,archived:S.archived,lastUpdated:S.pushed_at,created:S.created_at})))}this.setState({cards:this.cardList}),ja(d,localStorage.getItem("marketplace:sort")||"stars");for(const k of d)this.appendCard(k,"app",a);i=-1this.appendCard(e,"snippet",a)),this.setState({cards:this.cardList}))}return this.setState({rest:!0,endOfList:!0}),this.endOfList=!0,0}async loadAmount(t,e=E){for(this.setState({rest:!1}),e+=this.cardList.length,this.requestPage=await this.loadPage(t);this.requestPage&&-1!==this.requestPage&&this.cardList.lengthe!==t):(this.requestQueue.shift(),this.setState({rest:!0}))}loadMore(){this.state.rest&&!this.endOfList&&this.loadAmount(this.requestQueue[0],E)}updateColourSchemes(e,t){console.debug("updateColourSchemes",e,t),this.CONFIG.theme.schemes=e,(this.CONFIG.theme.activeScheme=t)&&(Jr.Config.color_scheme=t),e&&t&&e[t]?xa(this.CONFIG.theme.schemes[t]):xa(null);var a=C(w.themeInstalled),r=C(a);r?(r.activeScheme=t,console.debug(r),localStorage.setItem(a,JSON.stringify(r))):console.debug("No installed theme data"),this.setState({schemes:e,activeScheme:t})}async componentDidMount(){fetch(ba).then(e=>e.json()).then(e=>{if(e.message)throw e;this.setState({version:e.name});try{this.setState({newUpdate:ya.default.gt(e.name,ma)})}catch(e){console.error(e)}},e=>{console.error("Failed to check for updates",e)}),this.gridUpdateTabs=this.updateTabs.bind(this),this.gridUpdatePostsVisual=this.updatePostsVisual.bind(this);var e=document.querySelector(".os-viewport")??document.querySelector("#main .main-view-container__scroll-node");this.checkScroll=this.isScrolledBottom.bind(this),e&&(e.addEventListener("scroll",this.checkScroll),this.cardList.length)?0=e.scrollHeight&&this.loadMore()}setActiveTheme(e){this.CONFIG.theme.activeThemeKey=e,this.setState({activeThemeKey:e})}getActiveScheme(){return this.state.activeScheme}render(){const a=this.props["t"];return s.default.createElement("section",{className:"contentSpacing"},s.default.createElement("div",{className:"marketplace-header"},s.default.createElement("div",{className:"marketplace-header__left"},this.state.newUpdate?s.default.createElement("button",{type:"button",title:a("grid.newUpdate"),className:"marketplace-header-icon-button",id:"marketplace-update",onClick:()=>N("UPDATE")},s.default.createElement(zr,null)," ",this.state.version):null,s.default.createElement("h2",{className:"marketplace-header__label"},a("grid.sort.label")),s.default.createElement(er,{onChange:e=>this.updateSort(e),sortBoxOptions:Ca(a),sortBySelectedFn:e=>e.key===this.CONFIG.sort})),s.default.createElement("div",{className:"marketplace-header__right"},this.CONFIG.visual.themeDevTools?s.default.createElement(Jr.ReactComponent.TooltipWrapper,{label:a("devTools.title"),renderInline:!0,placement:"bottom"},s.default.createElement("button",{type:"button","aria-label":a("devTools.title"),className:"marketplace-header-icon-button",onClick:()=>N("THEME_DEV_TOOLS")},s.default.createElement(Tr,null))):null,this.state.activeScheme?s.default.createElement(er,{onChange:e=>this.updateColourSchemes(this.state.schemes,e),sortBoxOptions:Ea(this.state.schemes),sortBySelectedFn:e=>e.key===this.getActiveScheme()}):null,s.default.createElement("div",{className:"searchbar--bar__wrapper"},s.default.createElement("input",{className:"searchbar-bar",type:"text",placeholder:`${a("grid.search")} ${a("tabs."+this.CONFIG.activeTab)}...`,value:this.state.searchValue,onChange:e=>{this.setState({searchValue:e.target.value})}})),s.default.createElement(Jr.ReactComponent.TooltipWrapper,{label:a("settings.title"),renderInline:!0,placement:"bottom"},s.default.createElement("button",{type:"button","aria-label":a("settings.title"),className:"marketplace-header-icon-button",id:"marketplace-settings-button",onClick:()=>N("SETTINGS",this.CONFIG,this.updateAppConfig)},s.default.createElement(Lr,null))))),[{handle:"extension",name:"Extensions"},{handle:"theme",name:"Themes"},{handle:"snippet",name:"Snippets"},{handle:"app",name:"Apps"}].map(t=>{var e=this.cardList.filter(e=>e.props.type===t.handle).filter(e=>{const t=this.state.searchValue.trim().toLowerCase();var{title:e,user:a,authors:r,tags:n}=e.props.item;return!t||e.toLowerCase().includes(t)||a?.toLowerCase().includes(t)||r?.some(e=>e.name.toLowerCase().includes(t))||n?.some(e=>e.toLowerCase().includes(t))}).map(e=>s.default.cloneElement(e,{activeThemeKey:this.state.activeThemeKey,key:e.key})).filter((t,e,a)=>a.findIndex(e=>e.key===t.key)===e);return e.length?s.default.createElement(s.default.Fragment,null,s.default.createElement("h2",{className:"marketplace-card-type-heading"},a("tabs."+t.name)),s.default.createElement("div",{className:"marketplace-grid main-gridContainer-gridContainer main-gridContainer-fixedWidth","data-tab":this.CONFIG.activeTab,"data-card-type":a("tabs."+t.name)},e)):null}),"Snippets"===this.CONFIG.activeTab?s.default.createElement(g,{classes:["marketplace-add-snippet-btn"],onClick:()=>N("ADD_SNIPPET")},"+ ",a("grid.addCSS")):null,s.default.createElement("footer",{className:"marketplace-footer"},!this.state.endOfList&&(this.state.rest&&0${this.props.t("readmePage.loading")}

`};getReadmeHTML=async()=>fetch(this.props.data.readmeURL).then(e=>{if(e.ok)return e.text();throw Spicetify.showNotification(`${this.props.t("readmePage.errorLoading")} (HTTP ${e.status})`,!0)}).then(e=>Ta(e,this.props.data.user,this.props.data.repo)).then(e=>(e||Spicetify.Platform.History.goBack(),e)).catch(e=>(console.error(e),Spicetify.Platform.History.goBack(),null));componentDidMount(){this.getReadmeHTML().then(e=>{null!=e&&this.setState({html:e})})}componentDidUpdate(){const e=document.querySelector("#marketplace-readme")?.closest("main");if(e){const t=setInterval(()=>{document.querySelector("#marketplace-readme")?(e.style.overflowY="visible",e.style.overflowY="auto"):(clearInterval(t),e.style.removeProperty("overflow-y"))},1e3)}document.querySelectorAll("#marketplace-readme img").forEach(e=>{e.addEventListener("error",e=>{var e=e.target,t=e.getAttribute("src"),t="/"===t?.charAt(0)?`https://raw.githubusercontent.com/${this.props.data.user}/${this.props.data.repo}/${this.props.data.branch}/`+t?.slice(1):this.props.data.readmeURL.substring(0,this.props.data.readmeURL.lastIndexOf("/"))+"/"+t;e.setAttribute("src",t)},{once:!0})})}buttonContent(){return"app"===this.props.data.type?{icon:T.default.createElement(Br,null),text:this.props.t("github")}:this.state.isInstalled?{icon:T.default.createElement(Dr,null),text:this.props.t("remove")}:{icon:T.default.createElement(zr,null),text:this.props.t("install")}}render(){var e="control"!==JSON.parse(localStorage.getItem("spicetify-exp-features")||"{}").enableGlobalNavBar?.value&&!0;return T.default.createElement("section",{className:"contentSpacing"},T.default.createElement("div",{className:"marketplace-header",style:{marginTop:e?"60px":"0px"}},T.default.createElement("div",{className:"marketplace-header__left"},T.default.createElement("h1",null,this.props.title)),T.default.createElement("div",{className:"marketplace-header__right"},T.default.createElement(g,{classes:["marketplace-header__button"],onClick:e=>{e.preventDefault(),this.props.data.install(),this.setState({isInstalled:!this.state.isInstalled})},label:this.buttonContent().text},this.buttonContent().icon," ",this.buttonContent().text))),"

Loading...

"===this.state.html?T.default.createElement("footer",{className:"marketplace-footer"},T.default.createElement(xr,null)):T.default.createElement("div",{id:"marketplace-readme",className:"marketplace-readme__container",dangerouslySetInnerHTML:{__html:this.state.html}}))}},Zr=qt()(Me),_e=(r.use(z).use(Wt).init({resources:ha,detection:{order:["navigator","htmlTag"]},fallbackLng:"en",interpolation:{escapeValue:!1}}),class extends ze.default.Component{state={count:0,CONFIG:{}};CONFIG;constructor(e){super(e);e=C(w.tabs,null);let t=[];try{if(t=JSON.parse(e),!Array.isArray(t))throw new Error("Could not parse marketplace tabs key");if(0===t.length)throw new Error("Empty marketplace tabs key");if(0!e).length)throw new Error("Falsey marketplace tabs key")}catch{t=fa,localStorage.setItem(w.tabs,JSON.stringify(t))}let a={},r=null;try{var n=C(w.themeInstalled,null);if(n){var o=C(n,null);if(!o)throw new Error("No installed theme data");a=o.schemes,r=o.activeScheme}else console.debug("No theme set as installed")}catch(e){console.error(e)}this.CONFIG={visual:{stars:JSON.parse(C("marketplace:stars",!0)),tags:JSON.parse(C("marketplace:tags",!0)),showArchived:JSON.parse(C("marketplace:showArchived",!1)),hideInstalled:JSON.parse(C("marketplace:hideInstalled",!1)),colorShift:JSON.parse(C("marketplace:colorShift",!1)),themeDevTools:JSON.parse(C("marketplace:themeDevTools",!1)),albumArtBasedColors:JSON.parse(C("marketplace:albumArtBasedColors",!1)),albumArtBasedColorsMode:C("marketplace:albumArtBasedColorsMode")||"monochrome-light",albumArtBasedColorsVibrancy:C("marketplace:albumArtBasedColorsVibrancy")||"PROMINENT",type:JSON.parse(C("marketplace:type",!1)),followers:JSON.parse(C("marketplace:followers",!1))},tabs:t,activeTab:C(w.activeTab,t[0]),theme:{activeThemeKey:C(w.themeInstalled,null),schemes:a,activeScheme:r},sort:C(w.sort,"stars")},this.CONFIG.activeTab&&this.CONFIG.tabs.filter(e=>e.name===this.CONFIG.activeTab).length||(this.CONFIG.activeTab=this.CONFIG.tabs[0].name)}updateConfig=e=>{this.CONFIG={...e},console.debug("updated config",this.CONFIG),this.setState({CONFIG:{...e}})};render(){var{location:e,replace:t}=Spicetify.Platform.History;return e.pathname===ga+"/readme"?e.state?.data?ze.default.createElement(Zr,{title:y("readmePage.title"),data:e.state.data}):(t(ga),null):ze.default.createElement(Wr,{title:y("grid.spicetifyMarketplace"),CONFIG:this.CONFIG,updateAppConfig:this.updateConfig})}}),Xr=qt()(_e),Yr=t(b());return Pe=je,$(M({},"__esModule",{value:!0}),Pe)})();const render=()=>marketplace.default(); \ No newline at end of file +`],{type:"application/javascript"}),Ro=URL.createObjectURL(Kn);async function Mo(e,t,r){var a=e+"-"+t,n=window.sessionStorage.getItem(a),o=JSON.parse(window.sessionStorage.getItem("noManifests")||"[]");if(n)return JSON.parse(n);n=`https://raw.githubusercontent.com/${e}/${t}/${r}/manifest.json`;if(o.includes(n))return null;let i=await async function(e){const a=new Worker(Ro);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})})}(n);return i?(xo(i=Array.isArray(i)?i:[i],a),i):xo([n],"noManifests")}async function _o(e,a,n,o=!1){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?.+)\/(?.+)\/contents/);if(!t||!t.groups)return null;const{user:i,repo:s}=t.groups;return(await Mo(i,s,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:vo(t.authors,i),user:i,repo:s,branch:r,imageURL:t.preview?.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${i}/${s}/${r}/`+t.preview,extensionURL:t.main.startsWith("http")?t.main:`https://raw.githubusercontent.com/${i}/${s}/${r}/`+t.main,readmeURL:t.readme?.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${i}/${s}/${r}/`+t.readme,stars:n,tags:t.tags},o&&localStorage.getItem(`marketplace:installed:${i}/${s}/`+t.main)||e.push(r)),e},[])}catch{return null}}async function jo(e,a,n){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?.+)\/(?.+)\/contents/);if(!t||!t.groups)return null;const{user:o,repo:i}=t.groups;return(await Mo(o,i,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:vo(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,readmeURL:t.readme?.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.readme,stars:n,tags:t.tags,cssURL:t.usercss.startsWith("http")?t.usercss:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.usercss,schemesURL:t.schemes?t.schemes.startsWith("http")?t.schemes:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.schemes:null,include:t.include},e.push(r)),e},[])}catch{return null}}async function Bo(e,a,n){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?.+)\/(?.+)\/contents/);if(!t||!t.groups)return null;const{user:o,repo:i}=t.groups;return(await Mo(o,i,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:vo(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,readmeURL:t.readme?.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.readme,stars:n,tags:t.tags},e.push(r)),e},[])}catch{return null}}var $o=async()=>{return(await fetch("https://raw.githubusercontent.com/spicetify/marketplace/main/resources/blacklist.json").then(e=>e.json()).catch(()=>({}))).repos},zo=async(r=!1)=>{var e=await fetch("https://raw.githubusercontent.com/spicetify/marketplace/main/resources/snippets.json").then(e=>e.json()).catch(()=>[]);return e.length?e.reduce((e,t)=>{t={...t};return t.preview&&(t.imageURL=t.preview.startsWith("http")?t.preview:"https://raw.githubusercontent.com/spicetify/spicetify-marketplace/main/"+t.preview,t.preview=void 0),r&&localStorage.getItem("marketplace:installed:snippet:"+t.title.replaceAll(" ","-"))||e.push(t),e},[]):[]},Fo=t(r()),Uo=t(F()),Go=t(r()),Ho=t(U()),Vo=(Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json,t(r())),qo="button-module__button___hf2qg_marketplace",Wo="button-module__circle___EZ88P_marketplace",Ko=e=>{var t=e.type||"round",r=[qo];return"circle"===t&&r.push(Wo),e.classes&&r.push(...e.classes),Vo.default.createElement("button",{className:r.join(" "),onClick:e.onClick,"aria-label":e.label||"",disabled:e.disabled},e.children)},Jo=()=>{const[e,t]=Go.default.useState("");const r=t=>{if(t){let e;try{e=JSON.parse(t)}catch(e){return void Spicetify.showNotification(y("backupModal.invalidJSON"))}var r=e;console.debug("Importing Marketplace"),So();for(const a in r)localStorage.setItem(a,r[a]),console.debug("Imported "+a);location.reload()}else Spicetify.showNotification(y("backupModal.noDataPasted"))};return Go.default.createElement("div",{id:"marketplace-backup-container"},Go.default.createElement("div",{className:"marketplace-backup-input-container"},Go.default.createElement("label",{htmlFor:"marketplace-backup"},y("backupModal.inputLabel")),Go.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},Go.default.createElement(Ho.default,{value:e,onValueChange:e=>t(e),highlight:e=>(0,Uo.highlight)(e,Uo.languages.css),textareaId:"marketplace-import-text",textareaClassName:"import-textarea",readOnly:!1,className:"marketplace-code-editor-textarea",placeholder:y("backupModal.inputPlaceholder"),style:{}}))),Go.default.createElement(Go.default.Fragment,null,Go.default.createElement(Ko,{classes:["marketplace-backup-button"],onClick:()=>{var e=(()=>{var e={};for(const t in localStorage)t.startsWith("marketplace:")&&(e[t]=localStorage.getItem(t));return e})();Spicetify.Platform.ClipboardAPI.copy(JSON.stringify(e)),Spicetify.showNotification(y("backupModal.settingsCopied")),Spicetify.PopupModal.hide()}},y("backupModal.exportBtn")),Go.default.createElement(Ko,{classes:["marketplace-backup-button"],onClick:()=>{r(e)}},y("backupModal.importBtn")),Go.default.createElement(Ko,{classes:["marketplace-backup-button"],onClick:async()=>{var e=await(await(await window.showOpenFilePicker())[0].getFile()).text();r(e)}},y("backupModal.fileImportBtn"))))},Yo=t(r()),Xo=()=>Yo.default.createElement("div",{id:"marketplace-reload-container"},Yo.default.createElement("p",null,y("reloadModal.description")),Yo.default.createElement("div",{className:"marketplace-reload-modal__button-container"},Yo.default.createElement(Ko,{onClick:()=>{Spicetify.PopupModal.hide(),location.reload()}},y("reloadModal.reloadNow")),Yo.default.createElement(Ko,{onClick:()=>{Spicetify.PopupModal.hide()}},y("reloadModal.reloadLater")))),p=t(r()),Zo=t(r()),Qo=t(r()),ei=()=>Qo.default.createElement("svg",{height:"16",width:"16",className:"Svg-sc-ytk21e-0 uPxdw nW1RKQOkzcJcX6aDCZB4",viewBox:"0 0 16 16",role:"img","aria-label":"Tooltip Icon"},Qo.default.createElement("path",{d:"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8z"}),Qo.default.createElement("path",{d:"M7.25 12.026v-1.5h1.5v1.5h-1.5zm.884-7.096A1.125 1.125 0 007.06 6.39l-1.431.448a2.625 2.625 0 115.13-.784c0 .54-.156 1.015-.503 1.488-.3.408-.7.652-.973.818l-.112.068c-.185.116-.26.203-.302.283-.046.087-.097.245-.097.57h-1.5c0-.47.072-.898.274-1.277.206-.385.507-.645.827-.846l.147-.092c.285-.177.413-.257.526-.41.169-.23.213-.397.213-.602 0-.622-.503-1.125-1.125-1.125z"})),ti=t(r()),ri=t(Be()),ai=t=>{var e=t.sortBoxOptions.map(e=>({value:e.key,label:e.value})),r=t.sortBoxOptions.find(t.sortBySelectedFn);return ti.default.createElement("div",{className:"marketplace-sortBox"},ti.default.createElement("div",{className:"marketplace-sortBox-header"},ti.default.createElement("div",{className:"marketplace-sortBox-header-title"}),ti.default.createElement(ri.default,{placeholder:"Select an option",options:e,value:r?.key,onChange:e=>{t.onChange(e.value)}})))},ni=t(r()),oi="toggle-module__toggle-wrapper___ocE5z_marketplace",ii="toggle-module__disabled___OYAYf_marketplace",si="toggle-module__toggle-input___ceLM4_marketplace",li="toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace",ci="toggle-module__toggle-indicator___nCxwE_marketplace",di=e=>{var t="toggle:"+e.storageKey,r=[oi];return!1===e.clickable&&r.push(ii),ni.default.createElement("label",{className:r.join(" ")},ni.default.createElement("input",{className:si,type:"checkbox",checked:e.enabled,"data-storage-key":e.storageKey,id:t,title:"Toggle for "+e.storageKey,onChange:e.onChange}),ni.default.createElement("span",{className:li},ni.default.createElement("span",{className:ci})))},ui=window.Spicetify,pi=r=>{var e=r.type,t="dropdown"===e?"dropdown:"+r.storageKey:"toggle:"+r.storageKey,a=!!r.modalConfig.visual[r.storageKey];return void 0!==r.description&&null!==r.description||(r.description=""),"dropdown"===e&&r.options?Zo.default.createElement("div",{className:"settings-row"},Zo.default.createElement("label",{htmlFor:t,className:"col description"},r.name),Zo.default.createElement("div",{className:"col action"},Zo.default.createElement(ai,{sortBoxOptions:r.options.map(e=>({key:e,value:e})),onChange:e=>{return e=e,t=r.storageKey,r.modalConfig.visual[t]=e,localStorage.setItem("marketplace:"+t,String(e)),void r.updateConfig(r.modalConfig);var t},sortBySelectedFn:e=>e.key===r.modalConfig.visual[r.storageKey]}),Zo.default.createElement(ui.ReactComponent.TooltipWrapper,{label:r.description.split("\n").map(e=>Zo.default.createElement("span",{key:e},e,Zo.default.createElement("br",null))),renderInline:!0,showDelay:10,placement:"top",labelClassName:"marketplace-settings-tooltip",disabled:!1},Zo.default.createElement("div",{className:"marketplace-tooltip-icon"},Zo.default.createElement(ei,null))))):Zo.default.createElement("div",{className:"settings-row"},Zo.default.createElement("label",{htmlFor:t,className:"col description"},r.name),Zo.default.createElement("div",{className:"col action"},Zo.default.createElement(di,{name:r.name,storageKey:r.storageKey,enabled:a,onChange:e=>{var t=e.target.checked,e=e.target.dataset.storageKey;r.modalConfig.visual[e]=t,console.debug(`toggling ${e} to `+t),localStorage.setItem("marketplace:"+e,String(t)),r.updateConfig(r.modalConfig)}})))},mi=t(r()),W=t(r());function hi(e,t){return(hi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function fi(e,t){e.prototype=Object.create(t.prototype),hi(e.prototype.constructor=e,t)}function _(){return(_=Object.assign?Object.assign.bind():function(e){for(var t=1;t. You may also pass a {context : MyContext} option to connect");var I=r;return function(w){var S,E,C,r,e;if((0,Fi.isValidElementType)(w))return e=w.displayName||w.name||"Component",S=a(e),E=Bi({},l,{getDisplayName:a,methodName:n,renderCountProp:o,shouldHandleStateChanges:x,storeKey:i,displayName:S,wrappedComponentName:e,WrappedComponent:w}),e=l.pure,C=e?O.useMemo:function(e){return e()},(r=e?O.default.memo(t):t).WrappedComponent=w,r.displayName=t.displayName=S,s?((e=O.default.forwardRef(function(e,t){return O.default.createElement(r,Bi({},e,{reactReduxForwardedRef:t}))})).displayName=S,e.WrappedComponent=w,(0,zi.default)(e,w)):(0,zi.default)(r,w);throw new Error("You must pass a component to the function returned by "+n+". Instead received "+qi(w));function t(r){var e=(0,O.useMemo)(function(){var e=r.reactReduxForwardedRef,t=$i(r,Gi);return[r.context,e,t]},[r]),t=e[0],a=e[1],n=e[2],o=(0,O.useMemo)(function(){return t&&t.Consumer&&(0,Fi.isContextConsumer)(O.default.createElement(t.Consumer,null))?t:I},[t,I]),i=(0,O.useContext)(o),s=Boolean(r.store)&&Boolean(r.store.getState)&&Boolean(r.store.dispatch),e=Boolean(i)&&Boolean(i.store);if(!s&&!e)throw new Error('Could not find "store" in the context of "'+S+'". Either wrap the root component in a , or pass a custom React context provider to and the corresponding React context consumer to '+S+" in connect options.");var l=(s?r:i).store,c=(0,O.useMemo)(function(){return k(l.dispatch,E)},[l]),e=(0,O.useMemo)(function(){var e,t;return x?(t=(e=Ri(l,s?null:i.subscription)).notifyNestedSubs.bind(e),[e,t]):Vi},[l,s,i]),d=e[0],e=e[1],u=(0,O.useMemo)(function(){return s?i:Bi({},i,{subscription:d})},[s,i,d]),p=(0,O.useReducer)(Wi,Hi,Xi),m=p[0][0],p=p[1];if(m&&m.error)throw m.error;var h=(0,O.useRef)(),f=(0,O.useRef)(n),g=(0,O.useRef)(),b=(0,O.useRef)(!1),v=C(function(){return g.current&&n===f.current?g.current:c(l.getState(),n)},[l,m,n]),y=(Ki(Ji,[f,h,b,n,v,g,e]),Ki(Yi,[x,l,d,c,f,h,b,g,e,p],[l,d,c]),(0,O.useMemo)(function(){return O.default.createElement(w,Bi({},v,{ref:a}))},[a,w,v]));return(0,O.useMemo)(function(){return x?O.default.createElement(o.Provider,{value:u},y):y},[o,y,u])}}}function Qi(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}function es(e,t){if(!Qi(e,t)){if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(var n=0;n")},r.setCallbacks=function(e){r.callbacks=e},r}function Qs(e,t){var r=e.droppableId===t.droppableId,a=ml(e.index),n=ml(t.index);return r?"\n You have moved the item from position "+a+"\n to position "+n+"\n ":"\n You have moved the item from position "+a+"\n in list "+e.droppableId+"\n to list "+t.droppableId+"\n in position "+n+"\n "}function el(e,t,r){return t.droppableId===r.droppableId?"\n The item "+e+"\n has been combined with "+r.draggableId:"\n The item "+e+"\n in list "+t.droppableId+"\n has been combined with "+r.draggableId+"\n in list "+r.droppableId+"\n "}function tl(e){return"\n The item has returned to its starting position\n of "+ml(e.index)+"\n"}function m(e,t){return{x:e.x+t.x,y:e.y+t.y}}function rl(e,t){return{x:e.x-t.x,y:e.y-t.y}}function al(e,t){return e.x===t.x&&e.y===t.y}function nl(e,t,r){var a;return void 0===r&&(r=0),(a={})[e]=t,a["x"===e?"y":"x"]=r,a}function ol(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function il(t,e){return Math.min.apply(Math,e.map(function(e){return ol(t,e)}))}function sl(t){return function(e){return{x:t(e.x),y:t(e.y)}}}function ll(e,t){return{top:e.top+t.y,left:e.left+t.x,bottom:e.bottom+t.y,right:e.right+t.x}}function cl(e){return[{x:e.left,y:e.top},{x:e.right,y:e.top},{x:e.left,y:e.bottom},{x:e.right,y:e.bottom}]}function dl(e,t){var r;return t&&t.shouldClipSubject?(t=t.pageMarginBox,r=e,(r=As({top:Math.max(r.top,t.top),right:Math.min(r.right,t.right),bottom:Math.min(r.bottom,t.bottom),left:Math.max(r.left,t.left)})).width<=0||r.height<=0?null:r):As(e)}function ul(e){var t,r,a=e.page,n=e.withPlaceholder,o=e.axis,e=e.frame,i=(t=a.marginBox,(i=e)?ll(t,i.scroll.diff.displacement):t),o=(t=i,i=o,(o=n)&&o.increasedBy?_({},t,((r={})[i.end]=t[i.end]+o.increasedBy[i.line],r)):t);return{page:a,withPlaceholder:n,active:dl(o,e)}}function pl(e,t){e.frame||Z(!1);var r=e.frame,a=rl(t,r.scroll.initial),n=fl(a),t=_({},r,{scroll:{initial:r.scroll.initial,current:t,diff:{value:a,displacement:n},max:r.scroll.max}});return _({},e,{frame:t,subject:ul({page:e.subject.page,withPlaceholder:e.subject.withPlaceholder,axis:e.axis,frame:t})})}var ml=function(e){return e+1},hl={dragHandleUsageInstructions:"\n Press space bar to start a drag.\n When dragging you can use the arrow keys to move the item around and escape to cancel.\n Some screen readers may require you to be in focus mode or to use your pass through key\n",onDragStart:function(e){return"\n You have lifted an item in position "+ml(e.source.index)+"\n"},onDragUpdate:function(e){var t=e.destination;return t?Qs(e.source,t):(t=e.combine)?el(e.draggableId,e.source,t):"You are over an area that cannot be dropped on"},onDragEnd:function(e){var t,r;return"CANCEL"===e.reason?"\n Movement cancelled.\n "+tl(e.source)+"\n ":(t=e.destination,r=e.combine,t?"\n You have dropped the item.\n "+Qs(e.source,t)+"\n ":r?"\n You have dropped the item.\n "+el(e.draggableId,e.source,r)+"\n ":"\n The item has been dropped while not over a drop area.\n "+tl(e.source)+"\n ")}},Q={x:0,y:0},fl=function(e){return{x:0!==e.x?-e.x:0,y:0!==e.y?-e.y:0}};function gl(t){return Object.values?Object.values(t):Object.keys(t).map(function(e){return t[e]})}function bl(e,t){if(e.findIndex)return e.findIndex(t);for(var r=0;rn.bottom,e=e.leftn.right,a&&e)||a&&r||e&&t}},jl={direction:"vertical",line:"y",crossAxisLine:"x",start:"top",end:"bottom",size:"height",crossAxisStart:"left",crossAxisEnd:"right",crossAxisSize:"width"},Bl={direction:"horizontal",line:"x",crossAxisLine:"y",start:"left",end:"right",size:"width",crossAxisStart:"top",crossAxisEnd:"bottom",crossAxisSize:"height"},$l=function(e){var t,r=e.target,a=e.destination,n=e.viewport,o=e.withDroppableDisplacement,e=e.isVisibleThroughFrameFn,o=o?function(e,t){t=t.frame?t.frame.scroll.diff.displacement:Q;return ll(e,t)}(r,a):r;return r=o,t=e,!!(a=a).subject.active&&t(a.subject.active)(r)&&(t=o,e(n)(t))};function zl(e){var t=e.afterDragging,i=e.destination,s=e.displacedBy,l=e.viewport,c=e.forceShouldAnimate,d=e.last;return t.reduce(function(e,t){o=s,n=(n=t).page.marginBox,o={top:s.point.y,right:0,bottom:0,left:s.point.x};var r,a,n=As(ks(n,o)),o=t.descriptor.id;return e.all.push(o),$l(_({},{target:n,destination:i,viewport:l,withDroppableDisplacement:!0},{isVisibleThroughFrameFn:_l}))?(r=(n=o,r=d,"boolean"==typeof(a=c)?a:!r||(a=r.invisible,r=r.visible,!a[n]&&(!(a=r[n])||a.shouldAnimate))),e.visible[o]={draggableId:o,shouldAnimate:r}):e.invisible[t.descriptor.id]=!0,e},{all:[],visible:{},invisible:{}})}function Fl(e){var t=e.insideDestination,r=e.inHomeList,a=e.displacedBy,e=e.destination,r=(r={inHomeList:r},(t=t).length?(t=t[t.length-1].descriptor.index,r.inHomeList?t:t+1):0);return{displaced:Rl,displacedBy:a,at:{type:"REORDER",destination:{droppableId:e.descriptor.id,index:r}}}}function Ul(e){var t,r=e.draggable,a=e.insideDestination,n=e.destination,o=e.viewport,i=e.displacedBy,s=e.last,l=e.index,e=e.forceShouldAnimate,c=Nl(r,n);return null!=l&&(t=vl(a,function(e){return e.descriptor.index===l}))?(r=Ll(r,a),t=a.indexOf(t),{displaced:zl({afterDragging:r.slice(t),destination:n,displacedBy:i,last:s,viewport:o.frame,forceShouldAnimate:e}),displacedBy:i,at:{type:"REORDER",destination:{droppableId:n.descriptor.id,index:l}}}):Fl({insideDestination:a,inHomeList:c,displacedBy:i,destination:n})}function Gl(e,t){return Boolean(t.effected[e])}function Hl(e){var t,r,a,n,o=e.isMovingForward,i=e.isInHomeList,s=e.draggable,l=e.draggables,c=e.destination,d=e.insideDestination,u=e.previousImpact,p=e.viewport,e=e.afterCritical,m=u.at;return m||Z(!1,"Cannot move in direction without previous impact location"),"REORDER"===m.type?(i={isMovingForward:o,isInHomeList:i,location:m.destination,insideDestination:d},n=i.isMovingForward,r=i.isInHomeList,a=i.insideDestination,i=i.location,null==(i=!a.length||(i=i.index,t=a[0].descriptor.index,a=a[a.length-1].descriptor.index,(n=n?i+1:i-1)t.left&&a.topt.top&&(!!fc(n)(o.center)||(a=e.axis,t=n.center[a.crossAxisLine],e=o[a.crossAxisStart],r=o[a.crossAxisEnd],a=(n=Ol(n[a.crossAxisStart],n[a.crossAxisEnd]))(e),n=n(r),!a&&!n)||(a?ee[c.start]+r&&pe[c.start]-d+r&&ue[c.start]+d+r&&pe[c.start]+r&&uv.descriptor.index?w.descriptor.index-1:w.descriptor.index:null,Ul({draggable:b,insideDestination:h,destination:r,viewport:y,last:a,displacedBy:t,index:f}))):Ml}function wc(e,t){return _({},e,((e={})[t.descriptor.id]=t,e))}function Sc(e){var t,r=e.previousImpact,a=e.impact,e=e.droppables,r=mc(r),a=mc(a);return r&&r!==a&&(a=e[r]).subject.withPlaceholder?((a=(r=a).subject.withPlaceholder)||Z(!1,"Cannot remove placeholder form subject when there was none"),a=(t=r.frame)?((a=a.oldFrameMaxScroll)||Z(!1,"Expected droppable with frame to have old max frame scroll when removing placeholder"),t=lc(t,a),_({},r,{subject:ul({page:r.subject.page,axis:r.axis,frame:t,withPlaceholder:null}),frame:t})):_({},r,{subject:ul({page:r.subject.page,axis:r.axis,frame:null,withPlaceholder:null})}),wc(e,a)):e}function Ec(e){var t,r,a,n,o=e.state,i=e.clientSelection,s=e.dimensions,l=e.viewport,c=e.impact,e=e.scrollJumpRequest,l=l||o.viewport,s=s||o.dimensions,i=i||o.current.client.selection,i={offset:d=rl(i,o.initial.client.selection),selection:i,borderBoxCenter:m(o.initial.client.borderBoxCenter,d)},d={selection:m(i.selection,l.scroll.current),borderBoxCenter:m(i.borderBoxCenter,l.scroll.current),offset:m(i.offset,l.scroll.diff.value)},i={client:i,page:d};return"COLLECTING"===o.phase?_({phase:"COLLECTING"},o,{dimensions:s,viewport:l,current:i}):(t=s.draggables[o.critical.draggable.id],c=c||yc({pageOffset:d.offset,draggable:t,draggables:s.draggables,droppables:s.droppables,previousImpact:o.impact,viewport:l,afterCritical:o.afterCritical}),d={draggable:t,impact:c,previousImpact:o.impact,draggables:s.draggables,droppables:s.droppables},t=d.draggable,r=d.draggables,a=d.droppables,n=d.previousImpact,d=d.impact,n=Sc({previousImpact:n,impact:d,droppables:a}),a=!(d=mc(d))||(a=a[d],Nl(t,a))||a.subject.withPlaceholder?n:(d=cc(a,t,r),wc(n,d)),_({},o,{current:i,dimensions:{draggables:s.draggables,droppables:a},impact:c,viewport:l,scrollJumpRequest:e||null,forceShouldAnimate:!e&&null}))}function Cc(e){var t,r,a=e.impact,n=e.viewport,o=e.draggables,i=e.destination,e=e.forceShouldAnimate,s=a.displaced;return t=s.all,r=o,_({},a,{displaced:zl({afterDragging:t.map(function(e){return r[e]}),destination:i,displacedBy:a.displacedBy,viewport:n.frame,forceShouldAnimate:e,last:s})})}function kc(e){var t=e.impact,r=e.draggable,a=e.droppable,n=e.draggables,o=e.viewport,e=e.afterCritical,t=Zl({impact:t,draggable:r,draggables:n,droppable:a,afterCritical:e});return rc({pageBorderBoxCenter:t,draggable:r,viewport:o})}function xc(e){var t=e.state,r=e.dimensions,e=e.viewport,a=("SNAP"!==t.movementMode&&Z(!1),t.impact),e=e||t.viewport,n=(r=r||t.dimensions).draggables,o=r.droppables,i=n[t.critical.draggable.id],o=((s=mc(a))||Z(!1,"Must be over a destination in SNAP movement mode"),o[s]),s=Cc({impact:a,viewport:e,destination:o,draggables:n}),a=kc({impact:s,draggable:i,droppable:o,draggables:n,viewport:e,afterCritical:t.afterCritical});return Ec({impact:s,clientSelection:a,state:t,dimensions:r,viewport:e})}function Ic(e){var t=e.draggable,r=e.home,a=e.draggables,e=e.viewport,n=pc(r.axis,t.displaceBy),a=kl(r.descriptor.id,a);-1===(o=a.indexOf(t))&&Z(!1,"Expected draggable to be inside home list");var o=(a=a.slice(o+1)).reduce(function(e,t){return e[t.descriptor.id]=!0,e},{}),o={inVirtualList:"virtual"===r.descriptor.mode,displacedBy:n,effected:o};return{impact:{displaced:zl({afterDragging:a,destination:r,displacedBy:n,last:null,viewport:e.frame,forceShouldAnimate:!1}),displacedBy:n,at:{type:"REORDER",destination:{index:(a=t.descriptor).index,droppableId:a.droppableId}}},afterCritical:o}}function Nc(e){var t=e.additions,a=e.updatedDroppables,n=e.viewport,o=n.scroll.diff.value;return t.map(function(e){var t,r=e.descriptor.droppableId,r=function(e){e=e.frame;return e||Z(!1,"Expected Droppable to have a frame"),e}(a[r]).scroll.diff.value,r=m(o,r);return e={draggable:e,offset:r,initialWindowScroll:n.scroll.initial},r=e.draggable,t=e.offset,e=e.initialWindowScroll,t=Rs(r.client,t),e=Is(t,e),_({},r,{placeholder:_({},r.placeholder,{client:t}),client:t,page:e})})}function Oc(e){return"SNAP"===e.movementMode}function Ac(e,t,r){var a={draggables:(a=e.dimensions).draggables,droppables:wc(a.droppables,t)};return(!Oc(e)||r?Ec:xc)({state:e,dimensions:a})}function Tc(e){return e.isDragging&&"SNAP"===e.movementMode?_({phase:"DRAGGING"},e,{scrollJumpRequest:null}):e}function Pc(e){return{type:"PUBLISH_WHILE_DRAGGING",payload:e}}function Lc(){return{type:"COLLECTION_STARTING",payload:null}}function Dc(e){return{type:"UPDATE_DROPPABLE_SCROLL",payload:e}}function Rc(e){return{type:"UPDATE_DROPPABLE_IS_ENABLED",payload:e}}function Mc(e){return{type:"UPDATE_DROPPABLE_IS_COMBINE_ENABLED",payload:e}}function _c(e){return{type:"MOVE",payload:e}}function jc(){return{type:"MOVE_UP",payload:null}}function Bc(){return{type:"MOVE_DOWN",payload:null}}function $c(){return{type:"MOVE_RIGHT",payload:null}}function zc(){return{type:"MOVE_LEFT",payload:null}}function Fc(){return{type:"FLUSH",payload:null}}function Uc(e){return{type:"DROP_COMPLETE",payload:e}}function Gc(e){return{type:"DROP",payload:e}}function Hc(){return{type:"DROP_ANIMATION_FINISHED",payload:null}}var Vc={phase:"IDLE",completed:null,shouldFlush:!1},qc=function(e,t){if(void 0===e&&(e=Vc),"FLUSH"===t.type)return _({},Vc,{shouldFlush:!0});var r,a,n,o,i,s;if("INITIAL_PUBLISH"===t.type)return"IDLE"!==e.phase&&Z(!1,"INITIAL_PUBLISH must come after a IDLE phase"),c=(r=t.payload).critical,l=r.clientSelection,d=r.viewport,s=r.dimensions,r=r.movementMode,n=s.draggables[c.draggable.id],o=s.droppables[c.droppable.id],{phase:"DRAGGING",isDragging:!0,critical:c,movementMode:r,dimensions:s,initial:r={client:c={selection:l,borderBoxCenter:n.client.borderBox.center,offset:Q},page:{selection:m(c.selection,d.scroll.initial),borderBoxCenter:m(c.selection,d.scroll.initial),offset:m(c.selection,d.scroll.diff.value)}},current:r,isWindowScrollAllowed:El(s.droppables).every(function(e){return!e.isFixedOnPage}),impact:c=(l=Ic({draggable:n,home:o,draggables:s.draggables,viewport:d})).impact,afterCritical:l.afterCritical,onLiftImpact:c,viewport:d,scrollJumpRequest:null,forceShouldAnimate:null};if("COLLECTION_STARTING"===t.type)return"COLLECTING"===e.phase||"DROP_PENDING"===e.phase?e:("DRAGGING"!==e.phase&&Z(!1,"Collection cannot start from phase "+e.phase),_({phase:"COLLECTING"},e,{phase:"COLLECTING"}));if("PUBLISH_WHILE_DRAGGING"===t.type)return"COLLECTING"!==e.phase&&"DROP_PENDING"!==e.phase&&Z(!1,"Unexpected "+t.type+" received in phase "+e.phase),r={state:e,published:t.payload},a=r.state,r=r.published,n=r.modified.map(function(e){var t=a.dimensions.droppables[e.droppableId];return pl(t,e.scroll)}),n=_({},a.dimensions.droppables,{},wl(n)),o=Sl(Nc({additions:r.additions,updatedDroppables:n,viewport:a.viewport})),i=_({},a.dimensions.draggables,{},o),r.removals.forEach(function(e){delete i[e]}),o={droppables:n,draggables:i},r=mc(a.impact),n=r?o.droppables[r]:null,r=o.draggables[a.critical.draggable.id],s=o.droppables[a.critical.droppable.id],r=Ic({draggable:r,home:s,draggables:i,viewport:a.viewport}),s=r.impact,r=r.afterCritical,n=n&&n.isCombineEnabled?a.impact:s,n=yc({pageOffset:a.current.page.offset,draggable:o.draggables[a.critical.draggable.id],draggables:o.draggables,droppables:o.droppables,previousImpact:n,viewport:a.viewport,afterCritical:r}),n=_({phase:"DRAGGING"},a,{phase:"DRAGGING",impact:n,onLiftImpact:s,dimensions:o,afterCritical:r,forceShouldAnimate:!1}),"COLLECTING"===a.phase?n:_({phase:"DROP_PENDING"},n,{phase:"DROP_PENDING",reason:a.reason,isWaiting:!1});if("MOVE"===t.type){if("DROP_PENDING"===e.phase)return e;hc(e)||Z(!1,t.type+" not permitted in phase "+e.phase);var l=t.payload.client;return al(l,e.current.client.selection)?e:Ec({state:e,clientSelection:l,impact:Oc(e)?e.impact:null})}if("UPDATE_DROPPABLE_SCROLL"===t.type){if("DROP_PENDING"===e.phase)return Tc(e);if("COLLECTING"===e.phase)return Tc(e);hc(e)||Z(!1,t.type+" not permitted in phase "+e.phase);var c=t.payload,d=c.id,l=c.newScroll,c=e.dimensions.droppables[d];return c?(d=pl(c,l),Ac(e,d,!1)):e}if("UPDATE_DROPPABLE_IS_ENABLED"===t.type){if("DROP_PENDING"===e.phase)return e;hc(e)||Z(!1,"Attempting to move in an unsupported phase "+e.phase);var c=t.payload,l=c.id,d=c.isEnabled,c=e.dimensions.droppables[l],l=(c||Z(!1,"Cannot find Droppable[id: "+l+"] to toggle its enabled state"),c.isEnabled===d&&Z(!1,"Trying to set droppable isEnabled to "+String(d)+"\n but it is already "+String(c.isEnabled)),_({},c,{isEnabled:d}));return Ac(e,l,!0)}if("UPDATE_DROPPABLE_IS_COMBINE_ENABLED"===t.type){if("DROP_PENDING"===e.phase)return e;hc(e)||Z(!1,"Attempting to move in an unsupported phase "+e.phase);var c=t.payload,d=c.id,l=c.isCombineEnabled,c=e.dimensions.droppables[d],d=(c||Z(!1,"Cannot find Droppable[id: "+d+"] to toggle its isCombineEnabled state"),c.isCombineEnabled===l&&Z(!1,"Trying to set droppable isCombineEnabled to "+String(l)+"\n but it is already "+String(c.isCombineEnabled)),_({},c,{isCombineEnabled:l}));return Ac(e,d,!0)}if("MOVE_BY_WINDOW_SCROLL"===t.type){if("DROP_PENDING"===e.phase||"DROP_ANIMATING"===e.phase)return e;hc(e)||Z(!1,"Cannot move by window in phase "+e.phase),e.isWindowScrollAllowed||Z(!1,"Window scrolling is currently not supported for fixed lists");c=t.payload.newScroll;return al(e.viewport.scroll.current,c)?Tc(e):(l=Ql(e.viewport,c),(Oc(e)?xc:Ec)({state:e,viewport:l}))}if("UPDATE_VIEWPORT_MAX_SCROLL"===t.type)return!hc(e)||(d=t.payload.maxScroll,al(d,e.viewport.scroll.max))?e:(c=_({},e.viewport,{scroll:_({},e.viewport.scroll,{max:d})}),_({phase:"DRAGGING"},e,{viewport:c}));if("MOVE_UP"!==t.type&&"MOVE_DOWN"!==t.type&&"MOVE_LEFT"!==t.type&&"MOVE_RIGHT"!==t.type)return"DROP_PENDING"===t.type?(l=t.payload.reason,"COLLECTING"!==e.phase&&Z(!1,"Can only move into the DROP_PENDING phase from the COLLECTING phase"),_({phase:"DROP_PENDING"},e,{phase:"DROP_PENDING",isWaiting:!0,reason:l})):"DROP_ANIMATE"===t.type?(c=(d=t.payload).completed,l=d.dropDuration,d=d.newHomeClientOffset,"DRAGGING"!==e.phase&&"DROP_PENDING"!==e.phase&&Z(!1,"Cannot animate drop from phase "+e.phase),{phase:"DROP_ANIMATING",completed:c,dropDuration:l,newHomeClientOffset:d,dimensions:e.dimensions}):"DROP_COMPLETE"===t.type?{phase:"IDLE",completed:t.payload.completed,shouldFlush:!1}:e;if("COLLECTING"===e.phase||"DROP_PENDING"===e.phase)return e;"DRAGGING"!==e.phase&&Z(!1,t.type+" received while not in DRAGGING phase");c=uc({state:e,type:t.type});return c?Ec({state:e,impact:c.impact,clientSelection:c.clientSelection,scrollJumpRequest:c.scrollJumpRequest}):e};function Wc(e,t){e=kl(e.droppable.id,t.draggables);if(!(e.length<=1)){for(var r=e.map(function(e){return e.descriptor.index}),a={},n=1;n indexes.\n\n (This can cause unexpected bugs)\n\n "+e+"\n "))}}function Kc(e){return al(e,Q)?null:"translate("+e.x+"px, "+e.y+"px)"}function Jc(){return{x:window.pageXOffset,y:window.pageYOffset}}var Yc=function(l){return function(e){var i=e.getState,s=e.dispatch;return function(o){return function(e){var t,r,a,n;"LIFT"!==e.type?o(e):(e=e.payload,r=e.id,t=e.clientSelection,e=e.movementMode,"DROP_ANIMATING"===(n=i()).phase&&s(Uc({completed:n.completed})),"IDLE"!==i().phase&&Z(!1,"Unexpected phase to start a drag"),s(Fc()),s({type:"BEFORE_INITIAL_CAPTURE",payload:{draggableId:r,movementMode:e}}),n=l.startPublishing({draggableId:r,scrollOptions:{shouldPublishImmediately:"SNAP"===e}}),r=n.critical,a=n.dimensions,n=n.viewport,Wc(r,a),s({type:"INITIAL_PUBLISH",payload:{critical:r,dimensions:a,clientSelection:t,movementMode:e,viewport:n}}))}}}},Xc=function(r){return function(){return function(t){return function(e){"INITIAL_PUBLISH"===e.type&&r.dragging(),"DROP_ANIMATE"===e.type&&r.dropping(e.payload.completed.result.reason),"FLUSH"!==e.type&&"DROP_COMPLETE"!==e.type||r.resting(),t(e)}}}},Zc={outOfTheWay:"cubic-bezier(0.2, 0, 0, 1)",drop:"cubic-bezier(.2,1,.1,1)"},Qc={opacity:{drop:0,combining:.7},scale:{drop:.75}},qn=.33,a=.55,Ln=.2+"s "+Zc.outOfTheWay,ed={fluid:"opacity "+Ln,snap:"transform "+Ln+", opacity "+Ln,drop:function(e){e=e+"s "+Zc.drop;return"transform "+e+", opacity "+e},outOfTheWay:"transform "+Ln,placeholder:"height "+Ln+", width "+Ln+", margin "+Ln},td={moveTo:Kc,drop:function(e,t){e=Kc(e);return e?t?e+" scale("+Qc.scale.drop+")":e:null}},rd=qn,ad=a,nd=ad-rd,od=function(e){var p=e.getState,m=e.dispatch;return function(u){return function(e){var t,r,a,n,o,i,s,l,c,d;"DROP"!==e.type?u(e):(t=p(),e=e.payload.reason,"COLLECTING"===t.phase?m({type:"DROP_PENDING",payload:{reason:e}}):"IDLE"!==t.phase&&("DROP_PENDING"===t.phase&&t.isWaiting&&Z(!1,"A DROP action occurred while DROP_PENDING and still waiting"),"DRAGGING"!==t.phase&&"DROP_PENDING"!==t.phase&&Z(!1,"Cannot drop in phase: "+t.phase),s=t.critical,o=(l=t.dimensions).draggables[t.critical.draggable.id],c={reason:e,lastImpact:t.impact,afterCritical:t.afterCritical,onLiftImpact:t.onLiftImpact,home:t.dimensions.droppables[t.critical.droppable.id],viewport:t.viewport,draggables:t.dimensions.draggables},i=c.draggables,a=c.reason,r=c.lastImpact,d=c.home,n=c.viewport,c=c.onLiftImpact,r=(a=r.at&&"DROP"===a?"REORDER"===r.at.type?{impact:r,didDropInsideDroppable:!0}:{impact:_({},r,{displaced:Rl}),didDropInsideDroppable:!0}:{impact:Cc({draggables:i,impact:c,destination:d,viewport:n,forceShouldAnimate:!0}),didDropInsideDroppable:!1}).impact,c=(i=a.didDropInsideDroppable)?xl(r):null,d=i?Il(r):null,n={index:s.draggable.index,droppableId:s.droppable.id},a={draggableId:o.descriptor.id,type:o.descriptor.type,source:n,reason:e,mode:t.movementMode,destination:c,combine:d},i={impact:r,draggable:o,dimensions:l,viewport:t.viewport,afterCritical:t.afterCritical},s=i.impact,n=i.draggable,c=i.dimensions,d=i.viewport,i=i.afterCritical,o=c.draggables,c=c.droppables,l=(l=mc(s))?c[l]:null,c=c[n.descriptor.droppableId],s=kc({impact:s,draggable:n,draggables:o,afterCritical:i,droppable:l||c,viewport:d}),o=rl(s,n.client.borderBox.center),i={critical:t.critical,afterCritical:t.afterCritical,result:a,impact:r},!al(t.current.client.offset,o)||Boolean(a.combine)?(l={current:t.current.client.offset,destination:o,reason:e},c=l.current,d=l.destination,l=l.reason,s=(c=ol(c,d))<=0?rd:1500<=c?ad:(d=rd+nd*(c/1500),Number(("CANCEL"===l?.6*d:d).toFixed(2))),m({type:"DROP_ANIMATE",payload:{newHomeClientOffset:o,dropDuration:s,completed:i}})):m(Uc({completed:i}))))}}};function id(e){var t=e.onWindowScroll;var r,a=Bs(function(){t(Jc())}),n=(r=a,{eventName:"scroll",options:{passive:!0,capture:!1},fn:function(e){e.target!==window&&e.target!==window.document||r()}}),o=Vs;function i(){return o!==Vs}return{start:function(){i()&&Z(!1,"Cannot start scroll listener when already active"),o=qs(window,[n])},stop:function(){i()||Z(!1,"Cannot stop scroll listener when not active"),a.cancel(),o(),o=Vs},isActive:i}}function sd(t){function e(e){r?X("Announcement already made. Not making a second announcement"):a?X("\n Announcements cannot be made asynchronously.\n Default message has already been announced.\n "):(r=!0,t(e),clearTimeout(n))}var r=!1,a=!1,n=setTimeout(function(){a=!0});return e.wasCalled=function(){return r},e}function ld(){var a=[];return{add:function(e){var r=setTimeout(function(){return t=r,-1===(e=bl(a,function(e){return e.timerId===t}))&&Z(!1,"Could not find timer"),void a.splice(e,1)[0].callback();var t,e});a.push({timerId:r,callback:e})},flush:function(){var e;a.length&&(e=[].concat(a),a.length=0,e.forEach(function(e){clearTimeout(e.timerId),e.callback()}))}}}function cd(e,t){t()}function dd(e,t){return{draggableId:e.draggable.id,type:e.droppable.type,source:{droppableId:e.droppable.id,index:e.draggable.index},mode:t}}function ud(e,t,r,a){e&&(e(t,{announce:e=sd(r)}),e.wasCalled())||r(a(t))}function pd(c,d){function t(e){p||Z(!1,"Cannot fire onDragEnd when there is no matching onDragStart"),p=null,cd(0,function(){ud(c().onDragEnd,e,d,hl.onDragEnd)})}var u=ld(),p=null;return{beforeCapture:function(t,r){p&&Z(!1,"Cannot fire onBeforeCapture as a drag start has already been published"),cd(0,function(){var e=c().onBeforeCapture;e&&e({draggableId:t,mode:r})})},beforeStart:function(t,r){p&&Z(!1,"Cannot fire onBeforeDragStart as a drag start has already been published"),cd(0,function(){var e=c().onBeforeDragStart;e&&e(dd(t,r))})},start:function(e,t){p&&Z(!1,"Cannot fire onBeforeDragStart as a drag start has already been published");var r=dd(e,t);p={mode:t,lastCritical:e,lastLocation:r.source,lastCombine:null},u.add(function(){cd(0,function(){ud(c().onDragStart,r,d,hl.onDragStart)})})},update:function(e,t){var r,a,n,o=xl(t),t=Il(t),i=(p||Z(!1,"Cannot fire onDragMove when onDragStart has not been called"),s=e,i=p.lastCritical,!(s===i||(r=s.draggable.id===i.draggable.id&&s.draggable.droppableId===i.draggable.droppableId&&s.draggable.type===i.draggable.type&&s.draggable.index===i.draggable.index,s=s.droppable.id===i.droppable.id&&s.droppable.type===i.droppable.type,r&&s))),s=(i&&(p.lastCritical=e),r=p.lastLocation,s=o,!(null==r&&null==s||null!=r&&null!=s&&r.droppableId===s.droppableId&&r.index===s.index)),l=(s&&(p.lastLocation=o),l=p.lastCombine,a=t,!(null==l&&null==a||null!=l&&null!=a&&l.draggableId===a.draggableId&&l.droppableId===a.droppableId));l&&(p.lastCombine=t),(i||s||l)&&(n=_({},dd(e,p.mode),{combine:t,destination:o}),u.add(function(){cd(0,function(){ud(c().onDragUpdate,n,d,hl.onDragUpdate)})}))},flush:function(){p||Z(!1,"Can only flush responders while dragging"),u.flush()},drop:t,abort:function(){var e;p&&(e=_({},dd(p.lastCritical,p.mode),{combine:null,destination:null,reason:"CANCEL"}),t(e))}}}function md(e){var t=e.dimensionMarshal,r=e.focusMarshal,a=e.styleMarshal,n=e.getResponders,o=e.announce,e=e.autoScroller;return xi(qc,Cd(function(){for(var e=arguments.length,o=new Array(e),t=0;t(r=r).startScrollingFrom?0:t<=r.maxScrollValueAt?zd:t===r.startScrollingFrom?1:(r=Dd({startOfRange:r.maxScrollValueAt,endOfRange:r.startScrollingFrom,current:t}),t=zd*Fd(1-r),Math.ceil(t)))?0:e?Math.max((t=r,e=a,a=Gd,e=Date.now()-e,Gd<=e?t:en.height,!(a=(o=o.width>n.width)||r?o&&r?null:{x:o?0:e.x,y:r?0:e.y}:e))||al(a,Q)?null:a}var jd=Y(function(e){return El(e).filter(function(e){return!!e.isEnabled&&!!e.frame})}),Bd=.25,$d=.05,zd=28,Fd=function(e){return Math.pow(e,2)},dn={stopDampeningAt:1200,accelerateAt:360},Ud=dn.accelerateAt,Gd=dn.stopDampeningAt,Hd=sl(function(e){return 0===e?0:e}),Vd=sl(function(e){return 0===e?0:0e.major||!(t.majore.minor||!(t.minor=e.patch)},Au="\n We expect a html5 doctype: \n This is to ensure consistent browser layout and measurement\n\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/doctype.md\n";function Tu(e){e()}function Pu(e,t){Tu(function(){(0,W.useEffect)(function(){try{e()}catch(e){Hs("\n A setup problem was encountered.\n\n > "+e.message+"\n ")}},t)})}function Lu(){Pu(function(){var e=xu,t=W.default.version,t=(e=Nu(e),t=Nu(t),Ou(e,t)||X("\n React version: ["+t.raw+"]\n does not satisfy expected peer dependency version: ["+e.raw+"]\n\n This can result in run time bugs, and even fatal crashes\n "),document);(t=t.doctype)?("html"!==t.name.toLowerCase()&&X("\n Unexpected found: ("+t.name+")\n\n "+Au+"\n "),""!==t.publicId&&X("\n Unexpected publicId found: ("+t.publicId+")\n A html5 doctype does not have a publicId\n\n "+Au+"\n ")):X("\n No found.\n\n "+Au+"\n ")},[])}function Du(e){var t=(0,W.useRef)(e);return(0,W.useEffect)(function(){t.current=e}),t}function Ru(){var t=null;function e(){t||Z(!1,"Cannot release lock when there is no lock"),t=null}return{isClaimed:function(){return Boolean(t)},isActive:function(e){return e===t},claim:function(e){return t&&Z(!1,"Cannot claim lock as it is already claimed"),t=e={abandon:e}},release:e,tryAbandon:function(){t&&(t.abandon(),e())}}}var Mu=27,_u=32,ju=37,Bu=38,$u=39,zu=40,Fu=((d={})[13]=!0,d[9]=!0,d),Uu=function(e){Fu[e.keyCode]&&e.preventDefault()},Gu=(We="visibilitychange","undefined"!=typeof document&&vl([We,"ms"+We,"webkit"+We,"moz"+We,"o"+We],function(e){return"on"+e in document})||We),Hu=0,Vu=5;var qu={type:"IDLE"};function Wu(e){var r=e.cancel,a=e.completed,o=e.getPhase,i=e.setPhase;return[{eventName:"mousemove",fn:function(e){var t,r=e.button,a=e.clientX,n=e.clientY;r===Hu&&(r={x:a,y:n},"DRAGGING"===(a=o()).type?(e.preventDefault(),a.actions.move(r)):("PENDING"!==a.type&&Z(!1,"Cannot be IDLE"),n=a.point,n=n,t=r,(Math.abs(t.x-n.x)>=Vu||Math.abs(t.y-n.y)>=Vu)&&(e.preventDefault(),t=a.actions.fluidLift(r),i({type:"DRAGGING",actions:t}))))}},{eventName:"mouseup",fn:function(e){var t=o();("DRAGGING"!==t.type?r:(e.preventDefault(),t.actions.drop({shouldBlockNextClick:!0}),a))()}},{eventName:"mousedown",fn:function(e){"DRAGGING"===o().type&&e.preventDefault(),r()}},{eventName:"keydown",fn:function(e){"PENDING"===o().type?r():e.keyCode===Mu?(e.preventDefault(),r()):Uu(e)}},{eventName:"resize",fn:r},{eventName:"scroll",options:{passive:!0,capture:!1},fn:function(){"PENDING"===o().type&&r()}},{eventName:"webkitmouseforcedown",fn:function(e){var t=o();"IDLE"===t.type&&Z(!1,"Unexpected phase"),t.actions.shouldRespectForcePress()?r():e.preventDefault()}},{eventName:Gu,fn:r}]}function Ku(){}(Je={})[34]=!0,Je[33]=!0,Je[36]=!0,Je[35]=!0;var Ju=Je;function Yu(t,r){function a(){r(),t.cancel()}return[{eventName:"keydown",fn:function(e){e.keyCode===Mu?(e.preventDefault(),a()):e.keyCode===_u?(e.preventDefault(),r(),t.drop()):e.keyCode===zu?(e.preventDefault(),t.moveDown()):e.keyCode===Bu?(e.preventDefault(),t.moveUp()):e.keyCode===$u?(e.preventDefault(),t.moveRight()):e.keyCode===ju?(e.preventDefault(),t.moveLeft()):Ju[e.keyCode]?e.preventDefault():Uu(e)}},{eventName:"mousedown",fn:a},{eventName:"mouseup",fn:a},{eventName:"click",fn:a},{eventName:"touchstart",fn:a},{eventName:"resize",fn:a},{eventName:"wheel",fn:a,options:{passive:!0}},{eventName:Gu,fn:a}]}var Xu={type:"IDLE"},Zu=.15;var Qu={input:!0,button:!0,textarea:!0,select:!0,option:!0,optgroup:!0,video:!0,audio:!0};function ep(e,t){t=t.target;return hu(t)&&function e(t,r){var a;return null!=r&&(!!Boolean(Qu[r.tagName.toLowerCase()])||"true"===(a=r.getAttribute("contenteditable"))||""===a||r!==t&&e(t,r.parentElement))}(e,t)}Wn="matches";var tp="undefined"!=typeof document&&vl([Wn,"msMatchesSelector","webkitMatchesSelector"],function(e){return e in Element.prototype})||Wn;function rp(e,t){return e.closest?e.closest(t):function e(t,r){return null==t?null:t[tp](r)?t:e(t.parentElement,r)}(e,t)}function ap(e,t){var t=t.target;return t instanceof mu(t).Element?(t=rp(t,"["+nu.contextId+'="'+e+'"]'))?hu(t)?t:(X("drag handle must be a HTMLElement"),null):null:(X("event.target must be a Element"),null)}function np(e){e.preventDefault()}function op(e){var t=e.expected,r=e.phase,a=e.isLockActive,e=e.shouldWarn;return a()?t===r||(e&&X("\n Cannot perform action.\n The actions you used belong to an outdated phase\n\n Current phase: "+t+"\n You called an action from outdated phase: "+r+"\n\n Tips:\n\n - Do not use preDragActions actions after calling preDragActions.lift()\n "),!1):(e&&X("\n Cannot perform action.\n The sensor no longer has an action lock.\n\n Tips:\n\n - Throw away your action handlers when forceStop() is called\n - Check actions.isActive() if you really need to\n "),!1)}function ip(e){var t=e.lockAPI,r=e.store,a=e.registry,e=e.draggableId;return!(t.isClaimed()||((t=a.draggable.findById(e))?!t.options.isEnabled||!Td(r.getState(),e):(X("Unable to find draggable with id: "+e),1)))}function sp(e){var t,r,a,n,o,i,s=e.lockAPI,l=e.contextId,c=e.store,d=e.registry,u=e.draggableId,p=e.forceSensorStop,e=e.sourceEvent;return ip({lockAPI:s,store:c,registry:d,draggableId:u})?(t=d.draggable.getById(u),d=l,a=t.descriptor.id,d="["+ou.contextId+'="'+d+'"]',(r=(d=vl(yl(document.querySelectorAll(d)),function(e){return e.getAttribute(ou.id)===a}))?hu(d)?d:(X("Draggable element is not a HTMLElement"),null):null)?e&&!t.options.canDragInteractiveElements&&ep(r,e)?null:(n=s.claim(p||Vs),o="PRE_DRAG",i=function(e,t){op({expected:e,phase:o,isLockActive:h,shouldWarn:!0})&&c.dispatch(t())}.bind(null,"DRAGGING"),{isActive:function(){return op({expected:"PRE_DRAG",phase:o,isLockActive:h,shouldWarn:!1})},shouldRespectForcePress:m,fluidLift:function(e){var t=Bs(function(e){i(function(){return _c({client:e})})});return _({},f({liftActionArgs:{id:u,clientSelection:e,movementMode:"FLUID"},cleanup:function(){return t.cancel()},actions:{move:t}}),{move:t})},snapLift:function(){var e={moveUp:function(){return i(jc)},moveRight:function(){return i($c)},moveDown:function(){return i(Bc)},moveLeft:function(){return i(zc)}};return f({liftActionArgs:{id:u,clientSelection:As(r.getBoundingClientRect()).center,movementMode:"SNAP"},cleanup:Vs,actions:e})},abort:function(){op({expected:"PRE_DRAG",phase:o,isLockActive:h,shouldWarn:!0})&&s.release()}}):(X("Unable to find draggable element with id: "+u),null)):null;function m(){return t.options.shouldRespectForcePress}function h(){return s.isActive(n)}function f(r){function a(){s.release(),o="COMPLETED"}function t(e,t){void 0===t&&(t={shouldBlockNextClick:!1}),r.cleanup(),t.shouldBlockNextClick&&(t=qs(window,[{eventName:"click",fn:np,options:{once:!0,passive:!1,capture:!0}}]),setTimeout(t)),a(),c.dispatch(Gc({reason:e}))}return"PRE_DRAG"!==o&&(a(),"PRE_DRAG"!==o)&&Z(!1,"Cannot lift in phase "+o),c.dispatch({type:"LIFT",payload:r.liftActionArgs}),o="DRAGGING",_({isActive:function(){return op({expected:"DRAGGING",phase:o,isLockActive:h,shouldWarn:!1})},shouldRespectForcePress:m,drop:function(e){return t("DROP",e)},cancel:function(e){return t("CANCEL",e)}},r.actions)}}var lp=[function(a){var r=(0,W.useRef)(qu),n=(0,W.useRef)(Vs),e=K(function(){return{eventName:"mousedown",fn:function(e){var t;e.defaultPrevented||e.button!==Hu||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey||(t=a.findClosestDraggableId(e))&&(t=a.tryGetLock(t,i,{sourceEvent:e}))&&(e.preventDefault(),e={x:e.clientX,y:e.clientY},n.current(),c(t,e))}}},[a]),t=K(function(){return{eventName:"webkitmouseforcewillbegin",fn:function(e){var t,r;e.defaultPrevented||(t=a.findClosestDraggableId(e))&&(r=a.findOptionsForDraggable(t))&&!r.shouldRespectForcePress&&a.canGetLock(t)&&e.preventDefault()}}},[a]),o=J(function(){n.current=qs(window,[t,e],{passive:!1,capture:!0})},[t,e]),i=J(function(){"IDLE"!==r.current.type&&(r.current=qu,n.current(),o())},[o]),s=J(function(){var e=r.current;i(),"DRAGGING"===e.type&&e.actions.cancel({shouldBlockNextClick:!0}),"PENDING"===e.type&&e.actions.abort()},[i]),l=J(function(){var e=Wu({cancel:s,completed:i,getPhase:function(){return r.current},setPhase:function(e){r.current=e}});n.current=qs(window,e,{capture:!0,passive:!1})},[s,i]),c=J(function(e,t){"IDLE"!==r.current.type&&Z(!1,"Expected to move from IDLE to PENDING drag"),r.current={type:"PENDING",point:t,actions:e},l()},[l]);uu(function(){return o(),function(){n.current()}},[o])},function(n){var o=(0,W.useRef)(Ku),e=K(function(){return{eventName:"keydown",fn:function(e){var t,r;function a(){r||Z(!1,"Cannot stop capturing a keyboard drag when not capturing"),r=!1,o.current(),i()}e.defaultPrevented||e.keyCode===_u&&(t=n.findClosestDraggableId(e))&&(t=n.tryGetLock(t,a,{sourceEvent:e}))&&(e.preventDefault(),r=!0,e=t.snapLift(),o.current(),o.current=qs(window,Yu(e,a),{capture:!0,passive:!1}))}}},[n]),i=J(function(){o.current=qs(window,[e],{passive:!1,capture:!0})},[e]);uu(function(){return i(),function(){o.current()}},[i])},function(r){var t=(0,W.useRef)(Xu),c=(0,W.useRef)(Vs),d=J(function(){return t.current},[]),a=J(function(e){t.current=e},[]),e=K(function(){return{eventName:"touchstart",fn:function(e){var t;e.defaultPrevented||(t=r.findClosestDraggableId(e))&&(t=r.tryGetLock(t,u,{sourceEvent:e}))&&(e={x:(e=e.touches[0]).clientX,y:e.clientY},c.current(),s(t,e))}}},[r]),n=J(function(){c.current=qs(window,[e],{capture:!0,passive:!1})},[e]),u=J(function(){var e=t.current;"IDLE"!==e.type&&("PENDING"===e.type&&clearTimeout(e.longPressTimerId),a(Xu),c.current(),n())},[n,a]),p=J(function(){var e=t.current;u(),"DRAGGING"===e.type&&e.actions.cancel({shouldBlockNextClick:!0}),"PENDING"===e.type&&e.actions.abort()},[u]),o=J(function(){var a,r,n,t,o,e={capture:!0,passive:!1},i={cancel:p,completed:u,getPhase:d},s=qs(window,(a=i.cancel,r=i.completed,n=i.getPhase,[{eventName:"touchmove",options:{capture:!1},fn:function(e){var t,r=n();"DRAGGING"!==r.type?a():(r.hasMoved=!0,t={x:(t=e.touches[0]).clientX,y:t.clientY},e.preventDefault(),r.actions.move(t))}},{eventName:"touchend",fn:function(e){var t=n();("DRAGGING"!==t.type?a:(e.preventDefault(),t.actions.drop({shouldBlockNextClick:!0}),r))()}},{eventName:"touchcancel",fn:function(e){"DRAGGING"!==n().type||e.preventDefault(),a()}},{eventName:"touchforcechange",fn:function(e){var t=n(),r=("IDLE"===t.type&&Z(!1),e.touches[0]);if(r&&r.force>=Zu){r=t.actions.shouldRespectForcePress();if("PENDING"!==t.type)return!r||t.hasMoved?void e.preventDefault():void a();r&&a()}}},{eventName:Gu,fn:a}]),e),l=qs(window,(t=i.cancel,o=i.getPhase,[{eventName:"orientationchange",fn:t},{eventName:"resize",fn:t},{eventName:"contextmenu",fn:function(e){e.preventDefault()}},{eventName:"keydown",fn:function(e){"DRAGGING"!==o().type||e.keyCode===Mu&&e.preventDefault(),t()}},{eventName:Gu,fn:t}]),e);c.current=function(){s(),l()}},[p,d,u]),i=J(function(){var e=d(),e=("PENDING"!==e.type&&Z(!1,"Cannot start dragging from phase "+e.type),e.actions.fluidLift(e.point));a({type:"DRAGGING",actions:e,hasMoved:!1})},[d,a]),s=J(function(e,t){"IDLE"!==d().type&&Z(!1,"Expected to move from IDLE to PENDING drag");var r=setTimeout(i,120);a({type:"PENDING",point:t,actions:e,longPressTimerId:r}),o()},[o,d,a,i]);uu(function(){return n(),function(){c.current();var e=d();"PENDING"===e.type&&(clearTimeout(e.longPressTimerId),a(Xu))}},[d,n,a]),uu(function(){return qs(window,[{eventName:"touchmove",fn:function(){},options:{capture:!1,passive:!1}}])},[])}];function cp(e){var t,a=e.contextId,n=e.store,o=e.registry,r=e.customSensors,e=e.enableDefaultSensors,i=[].concat(e?lp:[],r||[]),s=(0,W.useState)(Ru)[0],l=J(function(e,t){e.isDragging&&!t.isDragging&&s.tryAbandon()},[s]),c=(uu(function(){var t=n.getState();return n.subscribe(function(){var e=n.getState();l(t,e),t=e})},[s,n,l]),uu(function(){return s.tryAbandon},[s.tryAbandon]),J(function(e){return ip({lockAPI:s,registry:o,store:n,draggableId:e})},[s,o,n])),d=J(function(e,t,r){return sp({lockAPI:s,registry:o,contextId:a,store:n,draggableId:e,forceSensorStop:t,sourceEvent:r&&r.sourceEvent?r.sourceEvent:null})},[a,s,o,n]),u=J(function(e){return(t=ap(t=a,e))?t.getAttribute(nu.draggableId):null;var t},[a]),p=J(function(e){e=o.draggable.findById(e);return e?e.options:null},[o.draggable]),m=J(function(){s.isClaimed()&&(s.tryAbandon(),"IDLE"!==n.getState().phase)&&n.dispatch(Fc())},[s,n]),h=J(s.isClaimed,[s]),f=K(function(){return{canGetLock:c,tryGetLock:d,findClosestDraggableId:u,findOptionsForDraggable:p,tryReleaseLock:m,isLockClaimed:h}},[c,d,u,p,m,h]);t=i,Tu(function(){var e=Du(t);Pu(function(){e.current.length!==t.length&&Z(!1,"Cannot change the amount of sensor hooks after mounting")})});for(var g=0;g in your onDragEnd.\n Consider calling provided.announce() before the unmount so that the instruction will\n not be lost for users relying on a screen reader.\n\n Message not passed to screen reader:\n\n "'+e+'"\n ')},[])),k=Cu({contextId:f,text:y}),x=pu(f,v),I=J(function(e){up(w).dispatch(e)},[]),N=K(function(){return Ni({publishWhileDragging:Pc,updateDroppableScroll:Dc,updateDroppableIsEnabled:Rc,updateDroppableIsCombineEnabled:Mc,collectionStarting:Lc},I)},[I]),O=(n=K(gu,[]),(0,W.useEffect)(function(){return function(){requestAnimationFrame(n.clean)}},[n]),n),A=K(function(){return Ad(O,N)},[O,N]),T=K(function(){return Zd(_({scrollWindow:Pd,scrollDroppable:A.scrollDroppable},Ni({move:_c},I)))},[A.scrollDroppable,I]),P=(o=f,i=(0,W.useRef)({}),s=(0,W.useRef)(null),l=(0,W.useRef)(null),c=(0,W.useRef)(!1),d=J(function(t,e){var r={id:t,focus:e};return i.current[t]=r,function(){var e=i.current;e[t]!==r&&delete e[t]}},[]),u=J(function(e){e=fu(o,e);e&&e!==document.activeElement&&e.focus()},[o]),p=J(function(e,t){s.current===e&&(s.current=t)},[]),m=J(function(){l.current||c.current&&(l.current=requestAnimationFrame(function(){l.current=null;var e=s.current;e&&u(e)}))},[u]),h=J(function(e){s.current=null;var t=document.activeElement;t&&t.getAttribute(nu.draggableId)===e&&(s.current=e)},[]),uu(function(){return c.current=!0,function(){c.current=!1;var e=l.current;e&&cancelAnimationFrame(e)}},[]),K(function(){return{register:d,tryRecordFocus:h,tryRestoreFocusRecorded:m,tryShiftRecord:p}},[d,h,m,p])),y=K(function(){return md({announce:C,autoScroller:T,dimensionMarshal:A,focusMarshal:P,getResponders:E,styleMarshal:x})},[C,T,A,P,E,x]),L=(w.current&&w.current!==y&&X("unexpected store change"),w.current=y,J(function(){var e=up(w);"IDLE"!==e.getState().phase&&e.dispatch(Fc())},[])),D=J(function(){var e=up(w).getState();return e.isDragging||"DROP_ANIMATING"===e.phase},[]),R=(g(K(function(){return{isDragging:D,tryAbort:L}},[D,L])),J(function(e){return Td(up(w).getState(),e)},[])),M=J(function(){return hc(up(w).getState())},[]),v=K(function(){return{marshal:A,focus:P,contextId:f,canLift:R,isMovementAllowed:M,dragHandleUsageInstructionsId:k,registry:O}},[f,A,k,P,R,M,O]);return cp({contextId:f,store:y,registry:O,customSensors:b,enableDefaultSensors:!1!==e.enableDefaultSensors}),(0,W.useEffect)(function(){return L},[L]),W.default.createElement(ku.Provider,{value:v},W.default.createElement(ji,{context:vu,store:y},e.children))}var mp=0;function hp(t){var r=K(function(){return""+mp++},[]),a=t.dragHandleUsageInstructions||hl.dragHandleUsageInstructions;return W.default.createElement(Xs,null,function(e){return W.default.createElement(pp,{nonce:t.nonce,contextId:r,setCallbacks:e,dragHandleUsageInstructions:a,enableDefaultSensors:t.enableDefaultSensors,sensors:t.sensors,onBeforeCapture:t.onBeforeCapture,onBeforeDragStart:t.onBeforeDragStart,onDragStart:t.onDragStart,onDragUpdate:t.onDragUpdate,onDragEnd:t.onDragEnd},t.children)})}function fp(t){return function(e){return t===e}}function gp(e,t){return t(e.overflowX)||t(e.overflowY)}function bp(e){return e={overflowX:(e=window.getComputedStyle(e)).overflowX,overflowY:e.overflowY},gp(e,wp)||gp(e,Sp)}function vp(e){var t,r;return null==e?null:e===document.body?(t=bu(),(r=document.documentElement)||Z(!1),bp(t)&&(t=window.getComputedStyle(r),r={overflowX:t.overflowX,overflowY:t.overflowY},(t=Ep)((r=r).overflowX)&&t(r.overflowY)||X("\n We have detected that your element might be a scroll container.\n We have found no reliable way of detecting whether the element is a scroll container.\n Under most circumstances a scroll bar will be on the element (document.documentElement)\n\n Because we cannot determine if the is a scroll container, and generally it is not one,\n we will be treating the as *not* a scroll container\n\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/how-we-detect-scroll-containers.md\n ")),null):e===document.documentElement?null:bp(e)?e:vp(e.parentElement)}function yp(e){return!!e&&("fixed"===window.getComputedStyle(e).position||yp(e.parentElement))}var wp=fp("scroll"),Sp=fp("auto"),Ep=fp("visible"),Cp=function(e){e&&vp(e.parentElement)&&X("\n Droppable: unsupported nested scroll container detected.\n A Droppable can only have one scroll parent (which can be itself)\n Nested scroll containers are currently not supported.\n\n We hope to support nested scroll containers soon: https://github.com/atlassian/react-beautiful-dnd/issues/131\n ")},kp=function(e){return{x:e.scrollLeft,y:e.scrollTop}},xp=function(e){return{closestScrollable:vp(e),isFixedOnPage:yp(e)}},Ip=function(e){var t,r,a,n=e.ref,o=e.descriptor,i=e.env,s=e.windowScroll,l=e.direction,c=e.isDropDisabled,d=e.isCombineEnabled,e=e.shouldClipSubject,u=i.closestScrollable,p=(p=u,h=Os(n=n),!p||n!==p?h:(n=h.paddingBox.top-p.scrollTop,t=h.paddingBox.left-p.scrollLeft,m=n+p.scrollHeight,p=t+p.scrollWidth,n=ks({top:n,right:p,bottom:m,left:t},h.border),Ps({borderBox:n,margin:h.margin,border:h.border,padding:h.padding}))),m=Is(p,s),h=u?(t=Os(u),n={scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth},{client:t,page:Is(t,s),scroll:kp(u),scrollSize:n,shouldClipSubject:e}):null;return s={descriptor:o,isEnabled:!c,isCombineEnabled:d,isFixedOnPage:i.isFixedOnPage,direction:l,client:p,page:m,closest:h},u=s.descriptor,n=s.isEnabled,e=s.isCombineEnabled,o=s.isFixedOnPage,c=s.direction,d=s.client,i=s.page,s=s.closest,r=s?(a=s.scrollSize,r=s.client,l=xd({scrollHeight:a.scrollHeight,scrollWidth:a.scrollWidth,height:r.paddingBox.height,width:r.paddingBox.width}),{pageMarginBox:s.page.marginBox,frameClient:r,scrollSize:a,shouldClipSubject:s.shouldClipSubject,scroll:{initial:s.scroll,current:s.scroll,max:l,diff:{value:Q,displacement:Q}}}):null,{descriptor:u,isCombineEnabled:e,isFixedOnPage:o,axis:a="vertical"===c?jl:Bl,isEnabled:n,client:d,page:i,frame:r,subject:ul({page:i,withPlaceholder:null,axis:a,frame:r})}},Np={passive:!1},Op={passive:!0},Ap=function(e){return e.shouldPublishImmediately?Np:Op};function Tp(e){e=(0,W.useContext)(e);return e||Z(!1,"Could not find required context"),e}var Pp=function(e){return e&&e.env.closestScrollable||null};function Lp(){}var Dp={width:0,height:0,margin:{top:0,right:0,bottom:0,left:0}},Rp=function(e){var t=e.isAnimatingOpenOnMount,r=e.placeholder,e=e.animate;return t||"close"===e?Dp:{height:r.client.borderBox.height,width:r.client.borderBox.width,margin:r.client.margin}};var Mp=W.default.memo(function(e){var t,r,a=(0,W.useRef)(null),n=J(function(){a.current&&(clearTimeout(a.current),a.current=null)},[]),o=e.animate,i=e.onTransitionEnd,s=e.onClose,l=e.contextId,c=(u=(0,W.useState)("open"===e.animate))[0],d=u[1],u=((0,W.useEffect)(function(){return c?"open"!==o?(n(),d(!1),Lp):a.current?Lp:(a.current=setTimeout(function(){a.current=null,d(!1)}),n):Lp},[o,c,n]),J(function(e){"height"===e.propertyName&&(i(),"close"===o)&&s()},[o,s,i])),p=(t={isAnimatingOpenOnMount:c,animate:e.animate,placeholder:e.placeholder},r=t.isAnimatingOpenOnMount,p=t.placeholder,t=t.animate,r=Rp({isAnimatingOpenOnMount:r,placeholder:p,animate:t}),{display:p.display,boxSizing:"border-box",width:r.width,height:r.height,marginTop:r.margin.top,marginRight:r.margin.right,marginBottom:r.margin.bottom,marginLeft:r.margin.left,flexShrink:"0",flexGrow:"0",pointerEvents:"none",transition:"none"!==t?ed.placeholder:null});return W.default.createElement(e.placeholder.tagName,{style:p,"data-rbd-placeholder-context-id":l,onTransitionEnd:u,ref:e.innerRef})}),_p=W.default.createContext(null);function jp(e){e&&hu(e)||Z(!1,"\n provided.innerRef has not been provided with a HTMLElement.\n\n You can find a guide on using the innerRef callback functions at:\n https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/using-inner-ref.md\n ")}function Bp(e){return"boolean"==typeof e}function $p(t,e){e.forEach(function(e){return e(t)})}var zp=[function(e){e=e.props;e.droppableId||Z(!1,"A Droppable requires a droppableId prop"),"string"!=typeof e.droppableId&&Z(!1,"A Droppable requires a [string] droppableId. Provided: ["+typeof e.droppableId+"]")},function(e){e=e.props;Bp(e.isDropDisabled)||Z(!1,"isDropDisabled must be a boolean"),Bp(e.isCombineEnabled)||Z(!1,"isCombineEnabled must be a boolean"),Bp(e.ignoreContainerClipping)||Z(!1,"ignoreContainerClipping must be a boolean")},function(e){jp((0,e.getDroppableRef)())}],Fp=[function(e){var t=e.props,e=e.getPlaceholderRef;t.placeholder&&!e()&&X('\n Droppable setup issue [droppableId: "'+t.droppableId+'"]:\n DroppableProvided > placeholder could not be found.\n\n Please be sure to add the {provided.placeholder} React Node as a child of your Droppable.\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/api/droppable.md\n ')}],Up=[function(e){e.props.renderClone||Z(!1,"Must provide a clone render function (renderClone) for virtual lists")},function(e){(0,e.getPlaceholderRef)()&&Z(!1,"Expected virtual list to not have a placeholder")}];fi(Vp,Gp=W.default.PureComponent),Vp.getDerivedStateFromProps=function(e,t){return e.shouldAnimate?e.on?{isVisible:!0,data:e.on,animate:"open"}:t.isVisible?{isVisible:!0,data:t.data,animate:"close"}:{isVisible:!1,animate:"close",data:null}:{isVisible:Boolean(e.on),data:e.on,animate:"none"}},Vp.prototype.render=function(){var e;return this.state.isVisible?(e={onClose:this.onClose,data:this.state.data,animate:this.state.animate},this.props.children(e)):null};var Gp,Hp=Vp;function Vp(){for(var e,t=arguments.length,r=new Array(t),a=0;a{const i=getComputedStyle(document.body).getPropertyValue("--spice-button-disabled"),[s,t]=(0,mi.useState)({width:window.innerWidth}),n=((0,mi.useEffect)(()=>{const e=()=>t({width:window.innerWidth});return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),(e,t,r)=>{var a,n,o,t={...t};return e&&t.transform&&(t.transform=(o=(e=t.transform).match(/translate\(([-\d.]+)px,\s*([-\d.]+)px\)/))?(a=(n=s.width>=.95*window.screen.width)?600:430,n=n?120:70,`translate(${Number.parseFloat(o[1])-a}px, ${Number.parseFloat(o[2])-n}px)`):e),{borderRadius:"5px",border:r?"2px solid "+i:"2px solid red",userSelect:"none",paddingTop:12,paddingBottom:12,width:"110px",display:"flex",alignItems:"center",justifyContent:"center",textDecoration:r?"none":"line-through",cursor:"pointer",...t}});return mi.default.createElement(hp,{onDragEnd:e=>{var t,{source:e,destination:r}=e;r&&(t=a.modalConfig.tabs,e=e.index,r=r.index,[e]=(t=Array.from(t)).splice(e,1),t.splice(r,0,e),a.modalConfig.tabs=t,localStorage.setItem(x.tabs,JSON.stringify(a.modalConfig.tabs)),a.updateConfig(a.modalConfig))}},mi.default.createElement(pm,{droppableId:"droppable",direction:"horizontal"},(e,t)=>mi.default.createElement("div",{ref:e.innerRef,style:{display:"flex",paddingTop:8,paddingBottom:8,gap:8},...e.droppableProps},a.modalConfig.tabs.map((r,e)=>mi.default.createElement(cm,{key:r.name,draggableId:r.name,index:e},(e,t)=>mi.default.createElement("div",{ref:e.innerRef,...e.draggableProps,style:n(t.isDragging,e.draggableProps.style,r.enabled)},mi.default.createElement("div",{className:"dnd-box",...e.dragHandleProps,onClick:()=>{return t=r.name,e=a.modalConfig.tabs.map(e=>e.name===t?{...e,enabled:!e.enabled}:e),a.modalConfig.tabs=e,localStorage.setItem(x.tabs,JSON.stringify(a.modalConfig.tabs)),void a.updateConfig(a.modalConfig);var t,e}},mi.default.createElement("svg",{className:"dnd-icon",fill:"currentColor",width:"16",height:"16",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg","aria-label":"Drag icon",role:"img"},mi.default.createElement("path",{"fill-rule":"evenodd",d:"M7.375 3.67c0-.645-.56-1.17-1.25-1.17s-1.25.525-1.25 1.17c0 .646.56 1.17 1.25 1.17s1.25-.524 1.25-1.17zm0 8.66c0-.646-.56-1.17-1.25-1.17s-1.25.524-1.25 1.17c0 .645.56 1.17 1.25 1.17s1.25-.525 1.25-1.17zm-1.25-5.5c.69 0 1.25.525 1.25 1.17 0 .645-.56 1.17-1.25 1.17S4.875 8.645 4.875 8c0-.645.56-1.17 1.25-1.17zm5-3.16c0-.645-.56-1.17-1.25-1.17s-1.25.525-1.25 1.17c0 .646.56 1.17 1.25 1.17s1.25-.524 1.25-1.17zm-1.25 7.49c.69 0 1.25.524 1.25 1.17 0 .645-.56 1.17-1.25 1.17s-1.25-.525-1.25-1.17c0-.646.56-1.17 1.25-1.17zM11.125 8c0-.645-.56-1.17-1.25-1.17s-1.25.525-1.25 1.17c0 .645.56 1.17 1.25 1.17s1.25-.525 1.25-1.17z"})),"Extensions"===r.name?"Extens.":r.name)))),e.placeholder)))}),hm=async()=>{const e=new MutationObserver(async()=>{var t;document.querySelector(".GenericModal[aria-label='Settings']")||(t=100,await new Promise(e=>setTimeout(e,t)),Im("BACKUP"),e.disconnect())});e.observe(document.body,{childList:!0,subtree:!0}),Spicetify.PopupModal.hide()},fm=({CONFIG:e,updateAppConfig:t})=>{const[r,a]=p.default.useState({...e}),[n,o]=p.default.useState(y("settings.versionBtn"));var e=e=>{t({...e}),a({...e})},i=document.querySelector("body > generic-modal button.main-trackCreditsModal-closeBtn");const s=document.querySelector("body > generic-modal > div");i&&s&&(i.onclick=()=>location.reload(),i.setAttribute("style","cursor: pointer;"),s.onclick=e=>{e.target===s&&location.reload()});i=N(x.albumArtBasedColor)?p.default.createElement(p.default.Fragment,null,p.default.createElement(pi,{name:y("settings.albumArtBasedColorsMode"),storageKey:"albumArtBasedColorsMode",modalConfig:r,updateConfig:e,type:"dropdown",options:["monochromeDark","monochromeLight","analogicComplement","analogic","triad","quad"],description:y("settings.almbumArtColorsModeToolTip")}),p.default.createElement(pi,{name:y("settings.albumArtBasedColorsVibrancy"),storageKey:"albumArtBasedColorsVibrancy",modalConfig:r,updateConfig:e,type:"dropdown",options:["desaturated","lightVibrant","prominent","vibrant"],description:y("settings.albumArtBasedColorsVibrancyToolTip")})):null;return p.default.createElement("div",{id:"marketplace-config-container"},p.default.createElement("div",{className:"settings-block-top"},p.default.createElement("h2",{className:"settings-heading"},y("settings.optionsHeading")),p.default.createElement(pi,{name:y("settings.starCountLabel"),storageKey:"stars",modalConfig:r,updateConfig:e}),p.default.createElement(pi,{name:y("settings.tagsLabel"),storageKey:"tags",modalConfig:r,updateConfig:e}),p.default.createElement(pi,{name:y("settings.showArchived"),storageKey:"showArchived",modalConfig:r,updateConfig:e}),p.default.createElement(pi,{name:y("settings.devToolsLabel"),storageKey:"themeDevTools",modalConfig:r,updateConfig:e}),p.default.createElement(pi,{name:y("settings.hideInstalledLabel"),storageKey:"hideInstalled",modalConfig:r,updateConfig:e}),p.default.createElement(pi,{name:y("settings.colourShiftLabel"),storageKey:"colorShift",modalConfig:r,updateConfig:e}),p.default.createElement(pi,{name:y("settings.albumArtBasedColors"),storageKey:"albumArtBasedColors",modalConfig:r,updateConfig:e}),i),p.default.createElement("div",{className:"settings-block"},p.default.createElement("h2",{className:"settings-heading"},y("settings.tabsHeading")),p.default.createElement(mm,{modalConfig:r,updateConfig:e}),p.default.createElement("p",{className:"settings-tabs-description"},"(",y("settings.tabsDescription"),")")),p.default.createElement("div",{className:"settings-block"},p.default.createElement("h2",{className:"settings-heading"},y("settings.resetHeading")),p.default.createElement("div",{className:"settings-row"},p.default.createElement("span",{className:"col description"},y("settings.resetDescription")),p.default.createElement("div",{className:"col action"},p.default.createElement(Ko,{onClick:()=>So()},y("settings.resetBtn"))))),p.default.createElement("div",{className:"settings-block"},p.default.createElement("h2",{className:"settings-heading"},y("settings.backupHeading")),p.default.createElement("div",{className:"settings-row"},p.default.createElement("span",{className:"col description"},y("settings.backupLabel")),p.default.createElement("div",{className:"col action"},p.default.createElement(Ko,{onClick:hm},y("settings.backupBtn"))))),p.default.createElement("div",{className:"settings-block-bottom"},p.default.createElement("div",{className:"settings-row"},p.default.createElement("span",{className:"col description"},y("grid.spicetifyMarketplace")," ",y("settings.versionHeading")," ",_r),p.default.createElement("div",{className:"col action"},p.default.createElement(Ko,{onClick:()=>{Spicetify.Platform.ClipboardAPI.copy(_r),o(y("settings.versionCopied")),setTimeout(()=>o(y("settings.versionBtn")),3e3)},classes:["small"]},n)))))},gm=t(F()),f=t(r()),bm=t(U()),vm=(e=Prism,l=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/,e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+l.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+l.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+l.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+l.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:l,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,(l=e.languages.markup)&&(l.tag.addInlined("style","css"),l.tag.addAttribute("style","css")),a=>{var e="marketplace-customCSS-preview";const[n,t]=f.default.useState("ADD_SNIPPET"!==a.type&&a.content?.item.code||""),[r,o]=f.default.useState("ADD_SNIPPET"!==a.type&&a.content?.item.title||""),[i,s]=f.default.useState("ADD_SNIPPET"!==a.type&&a.content?.item.description||""),[l,c]=f.default.useState("ADD_SNIPPET"!==a.type&&a.content?.item.imageURL||""),d=()=>r.replace(/\n/g,"").replaceAll(" ","-");const u="marketplace:installed:snippet:"+d(),[p,m]=f.default.useState(!!N(u));let h;return f.default.createElement("div",{id:"marketplace-add-snippet-container"},f.default.createElement("div",{className:"marketplace-customCSS-input-container"},f.default.createElement("label",{htmlFor:"marketplace-custom-css"},y("snippets.customCSS")),f.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},f.default.createElement(bm.default,{value:n,onValueChange:e=>t(e),highlight:e=>(0,gm.highlight)(e,gm.languages.css),textareaId:"marketplace-custom-css",textareaClassName:"snippet-code-editor",readOnly:"VIEW_SNIPPET"===a.type,placeholder:y("snippets.customCSSPlaceholder"),style:{}}))),f.default.createElement("div",{className:"marketplace-customCSS-input-container"},f.default.createElement("label",{htmlFor:"marketplace-customCSS-name-submit"},y("snippets.snippetName")),f.default.createElement("input",{id:"marketplace-customCSS-name-submit",className:"marketplace-code-editor",value:r,onChange:e=>{"VIEW_SNIPPET"!==a.type&&o(e.target.value)},placeholder:y("snippets.snippetNamePlaceholder")})),f.default.createElement("div",{className:"marketplace-customCSS-input-container"},f.default.createElement("label",{htmlFor:"marketplace-customCSS-description-submit"},y("snippets.snippetDesc")),f.default.createElement("input",{id:"marketplace-customCSS-description-submit",className:"marketplace-code-editor",value:i,onChange:e=>{"VIEW_SNIPPET"!==a.type&&s(e.target.value)},placeholder:y("snippets.snippetDescPlaceholder")})),f.default.createElement("div",{className:"marketplace-customCSS-input-container"},f.default.createElement("label",{htmlFor:e},y("snippets.snippetPreview")," ","VIEW_SNIPPET"!==a.type&&`(${y("snippets.optional")})`),l&&f.default.createElement("label",{htmlFor:e,style:{textAlign:"center"}},f.default.createElement("img",{className:"marketplace-customCSS-image-preview",src:l,alt:"Preview"}))),"VIEW_SNIPPET"!==a.type&&f.default.createElement(f.default.Fragment,null,f.default.createElement(Ko,{onClick:()=>{h.click()}},l.length?y("snippets.changeImage"):y("snippets.addImage"),f.default.createElement("input",{id:e,type:"file",style:{display:"none"},ref:e=>h=e,onChange:async e=>{if(e.target.files?.[0])try{a=e.target.files?.[0];var t=await new Promise((e,t)=>{const r=new FileReader;r.readAsDataURL(a),r.onload=()=>{e(r.result)},r.onerror=e=>{t(e)}});t&&c(t)}catch(e){console.error(e)}var a}})),f.default.createElement(Ko,{onClick:()=>{var e,t=d(),r=i.trim();p&&"EDIT_SNIPPET"!==a.type?Spicetify.showNotification(y("snippets.duplicateName"),!0):(console.debug("Installing snippet: "+t),a.content&&a.content.item.title!==t&&(console.debug("Deleting outdated snippet: "+a.content.item.title),localStorage.removeItem("marketplace:installed:snippet:"+a.content.item.title),e=N(x.installedSnippets,[]).filter(e=>e!=="marketplace:installed:snippet:"+a.content?.item.title),localStorage.setItem(x.installedSnippets,JSON.stringify(e))),localStorage.setItem(u,JSON.stringify({title:t,code:n,description:r,imageURL:l,custom:!0})),-1===(e=N(x.installedSnippets,[])).indexOf(u)&&(e.push(u),localStorage.setItem(x.installedSnippets,JSON.stringify(e))),t=e.map(e=>N(e)),bo(t),Spicetify.PopupModal.hide(),"EDIT_SNIPPET"===a.type&&location.reload())},disabled:!d()||!n.replace(/\n/g,"\\n")},y("snippets.saveCSS"))),"VIEW_SNIPPET"===a.type&&f.default.createElement(Ko,{onClick:()=>{a.callback?.(),m(!p)}},p?y("remove"):y("install")))}),ym=t(F()),wm=t(r()),Sm=t(U()),Em=(Prism.languages.ini={comment:{pattern:/(^[ \f\t\v]*)[#;][^\n\r]*/m,lookbehind:!0},section:{pattern:/(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,lookbehind:!0,alias:"selector"},punctuation:/\[|\]/}},key:{pattern:/(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,lookbehind:!0,alias:"attr-value",inside:{"inner-value":{pattern:/^("|').+(?=\1$)/,lookbehind:!0}}},punctuation:/=/},localStorage.getItem(x.themeInstalled)),Cm=Em?N(Em):null,km=()=>{const[r,t]=wm.default.useState(Cm?(e=>{let t="";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r))if("object"==typeof e[r]){t+=`[${r}] +`;for(const a in e[r])Object.prototype.hasOwnProperty.call(e[r],a)&&(t+=`${a}=${e[r][a]} +`)}else t+=`${r}=${e[r]} +`;return t})(Cm.schemes):y("devTools.noThemeInstalled"));return wm.default.createElement("div",{id:"marketplace-theme-dev-tools-container",className:"marketplace-theme-dev-tools-container"},wm.default.createElement("div",{className:"devtools-column"},wm.default.createElement("label",{htmlFor:"color-ini-editor"},wm.default.createElement("h2",{className:"devtools-heading"},y("devTools.colorIniEditor"))),wm.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},wm.default.createElement(Sm.default,{value:r,onValueChange:e=>t(e),highlight:e=>(0,ym.highlight)(e,ym.languages.ini),textareaId:"color-ini-editor",textareaClassName:"color-ini-editor",readOnly:!Cm,placeholder:y("devTools.colorIniEditorPlaceholder"),style:{fontFamily:"monospace",resize:"none"}})),wm.default.createElement(Ko,{onClick:()=>{var e=r;{var t;Em?(t=go(e),Cm.schemes=t,localStorage.setItem(Em,JSON.stringify(Cm))):Spicetify.showNotification(y("devTools.noThemeManifest"),!0)}}},y("save"))),wm.default.createElement("div",{className:"devtools-column"},wm.default.createElement("h2",{className:"devtools-heading"},y("devTools.invalidCSS")),wm.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},function(){var e=document.querySelector("body > style.marketplaceCSS.marketplaceUserCSS")?.innerHTML;if(!e)return["Error: Class name list not found; please create an issue"];var r=[];for(const o of e.matchAll(/.-?[_a-zA-Z]+[_a-zA-Z0-9-]*\s*{/g)){var a=o[0].replace(/{/g,"").trim(),n=a.split(" ");let t;for(let e=0;ewm.default.createElement("div",{key:t,className:"invalid-css-text"},e)))))},v=t(r());var xm=function(){const[e,t]=v.default.useState(null);return v.default.useEffect(()=>{!async function(){try{var{body:e,tag_name:t,message:r}=await(await fetch(Fr)).json();return e&&t&&!r?{version:t.replace("v",""),changelog:await Io(e.match(/## What's Changed([\s\S]*?)(\r\n\r|\n\n##)/)[1],"spicetify","marketplace")}:null}catch(e){return console.error(e),null}}().then(e=>t(e))},[]),v.default.createElement("div",{id:"marketplace-update-container"},v.default.createElement("div",{id:"marketplace-update-description"},v.default.createElement("h4",null,y("updateModal.description")),v.default.createElement("a",{href:zr+"/tag/v1.0.5"},y("updateModal.currentVersion",{version:_r})),v.default.createElement("a",{href:zr+"/tag/v"+e?.version},y("updateModal.latestVersion",{version:e?.version}))),v.default.createElement("hr",null),v.default.createElement("div",{id:"marketplace-update-whats-changed"},v.default.createElement("h3",{className:"marketplace-update-header"},y("updateModal.whatsChanged")),v.default.createElement("details",null,v.default.createElement("summary",null,y("updateModal.seeChangelog")),v.default.createElement("ul",{dangerouslySetInnerHTML:{__html:e?.changelog??""}}))),v.default.createElement("hr",null),v.default.createElement("div",{id:"marketplace-update-guide"},v.default.createElement("h3",{className:"marketplace-update-header"},y("updateModal.howToUpgrade")),v.default.createElement("a",{href:"https://github.com/spicetify/marketplace/wiki/Installation"},y("updateModal.viewGuide"))))},Im=(e,t,r,a,n)=>{e=((e,t,r,a,n)=>{switch(e){case"ADD_SNIPPET":return{title:y("snippets.addTitle"),content:Fo.default.createElement(vm,{type:e}),isLarge:!0};case"EDIT_SNIPPET":return{title:y("snippets.editTitle"),content:Fo.default.createElement(vm,{type:e,content:a}),isLarge:!0};case"VIEW_SNIPPET":return{title:y("snippets.viewTitle"),content:Fo.default.createElement(vm,{type:e,content:a,callback:n}),isLarge:!0};case"RELOAD":return{title:y("reloadModal.title"),content:Fo.default.createElement(Xo,null),isLarge:!1};case"SETTINGS":return{title:y("settings.title"),content:Fo.default.createElement(fm,{CONFIG:t,updateAppConfig:r}),isLarge:!0};case"THEME_DEV_TOOLS":return{title:y("devTools.title"),content:Fo.default.createElement(km,null),isLarge:!0};case"BACKUP":return{title:y("backupModal.title"),content:Fo.default.createElement(Jo,null),isLarge:!0};case"UPDATE":return{title:y("updateModal.title"),content:Fo.default.createElement(xm,null),isLarge:!0};default:return{title:"",content:Fo.default.createElement("div",null),isLarge:!1}}})(e,t,r,a,n),Spicetify.PopupModal.display(e)},w=t(r()),Nm=t(r()),Om=()=>Nm.default.createElement("svg",{role:"img",width:"16",height:"16",viewBox:"0 0 512 512","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg"},Nm.default.createElement("path",{d:"M480 352h-133.5l-45.25 45.25C289.2 409.3 273.1 416 256 416s-33.16-6.656-45.25-18.75L165.5 352H32c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-96C512 366.3 497.7 352 480 352zM432 456c-13.2 0-24-10.8-24-24c0-13.2 10.8-24 24-24s24 10.8 24 24C456 445.2 445.2 456 432 456zM233.4 374.6C239.6 380.9 247.8 384 256 384s16.38-3.125 22.62-9.375l128-128c12.49-12.5 12.49-32.75 0-45.25c-12.5-12.5-32.76-12.5-45.25 0L288 274.8V32c0-17.67-14.33-32-32-32C238.3 0 224 14.33 224 32v242.8L150.6 201.4c-12.49-12.5-32.75-12.5-45.25 0c-12.49 12.5-12.49 32.75 0 45.25L233.4 374.6z",fill:"currentColor"})),Am=t(r()),Tm=()=>Am.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",role:"img","aria-label":"GitHub Icon"},Am.default.createElement("path",{d:"M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z",fill:"currentColor"})),Pm=t(r()),Lm=()=>Pm.default.createElement("svg",{role:"img",width:"16",height:"16",viewBox:"0 0 448 512","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg"},Pm.default.createElement("path",{d:"M53.21 467c1.562 24.84 23.02 45 47.9 45h245.8c24.88 0 46.33-20.16 47.9-45L416 128H32L53.21 467zM432 32H320l-11.58-23.16c-2.709-5.42-8.25-8.844-14.31-8.844H153.9c-6.061 0-11.6 3.424-14.31 8.844L128 32H16c-8.836 0-16 7.162-16 16V80c0 8.836 7.164 16 16 16h416c8.838 0 16-7.164 16-16V48C448 39.16 440.8 32 432 32z",fill:"currentColor"})),Dm=t(r()),Rm=e=>{return Dm.default.createElement("div",{className:"marketplace-card__authors"},e.authors.map(e=>Dm.default.createElement("a",{title:e.name,className:"marketplace-card__author",href:e.url,draggable:"false",dir:"auto",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),key:e.name+e.url},e.name)))},Mm=t(r()),_m=a=>{const[e,t]=Mm.default.useState(!1),n={[y("grid.externalJS")]:"external JS",[y("grid.archived")]:"archived",[y("grid.dark")]:"dark",[y("grid.light")]:"light"};var r=e=>{return e.filter((e,t,r)=>r.indexOf(e)===t).reduce((e,t)=>{var r=n[t]||t;return!a.showTags&&t!==y("grid.externalJS")&&t!==y("grid.archived")||e.push(Mm.default.createElement("li",{className:"marketplace-card__tag",draggable:!1,"data-tag":r},t)),e},[])};let o=[...a.tags??[]].sort(e=>e===y("grid.externalJS")||e===y("grid.archived")?-1:1),i=[];return 1{e.stopPropagation(),t(!0)}},"..."):null)},jm=window.Spicetify,Bm=class extends w.default.Component{tags;menuType;localStorageKey;key=null;type=Bm;constructor(e){super(e),this.menuType=jm.ReactComponent.Menu,this.localStorageKey=No(e),Object.assign(this,e),this.tags=e.item.tags||[],e.item.include&&this.tags.push(y("grid.externalJS")),e.item.archived&&this.tags.push(y("grid.archived")),this.state={installed:null!==localStorage.getItem(this.localStorageKey),stars:this.props.item.stars||0,tagsExpanded:!1,externalUrl:this.props.item.user&&this.props.item.repo?`https://github.com/${this.props.item.user}/`+this.props.item.repo:"",lastUpdated:this.props.item.user&&this.props.item.repo?this.props.item.lastUpdated:void 0,created:this.props.item.user&&this.props.item.repo?this.props.item.created:void 0}}isInstalled(){return null!==localStorage.getItem(this.localStorageKey)}async componentDidMount(){if("Installed"===this.props.CONFIG.activeTab&&"snippet"!==this.props.type){var e=`https://api.github.com/repos/${this.props.item.user}/`+this.props.item.repo,{stargazers_count:e,pushed_at:t}=await fetch(e).then(e=>e.json());if(this.state.stars!==e&&this.props.CONFIG.visual.stars&&console.debug("Stars updated to: "+e),this.state.lastUpdated!==t)switch(console.debug("New update pushed at: "+t),this.props.type){case"extension":this.installExtension();break;case"theme":this.installTheme(!0)}}}buttonClicked(){if("extension"===this.props.type)this.isInstalled()?(console.debug("Extension already installed, removing"),this.removeExtension()):this.installExtension(),Im("RELOAD");else if("theme"===this.props.type){var e=localStorage.getItem(x.themeInstalled),e=e?N(e,{}):{};if(this.isInstalled())console.debug("Theme already installed, removing"),this.removeTheme(this.localStorageKey);else{var t=localStorage.getItem(x.localTheme);if(null!=t&&"marketplace"!==t.toLowerCase())return void jm.showNotification(y("notifications.wrongLocalTheme"),!0,5e3);this.removeTheme(),this.installTheme()}(this.props.item.manifest?.include||e.include)&&Im("RELOAD")}else"app"===this.props.type?window.open(this.state.externalUrl,"_blank"):"snippet"===this.props.type?this.isInstalled()?(console.debug("Snippet already installed, removing"),this.removeSnippet()):this.installSnippet():console.error("Unknown card type")}installExtension(){var e,t,r,a,n,o,i,s,l,c,d,u;console.debug("Installing extension "+this.localStorageKey),this.props.item?({manifest:u,title:e,subtitle:t,authors:r,user:a,repo:n,branch:o,imageURL:i,extensionURL:s,readmeURL:l,lastUpdated:c,created:d}=this.props.item,localStorage.setItem(this.localStorageKey,JSON.stringify({manifest:u,type:this.props.type,title:e,subtitle:t,authors:r,user:a,repo:n,branch:o,imageURL:i,extensionURL:s,readmeURL:l,stars:this.state.stars,lastUpdated:c,created:d})),-1===(u=N(x.installedExtensions,[])).indexOf(this.localStorageKey)&&(u.push(this.localStorageKey),localStorage.setItem(x.installedExtensions,JSON.stringify(u))),console.debug("Installed"),this.setState({installed:!0})):jm.showNotification(y("notifications.extensionInstallationError"),!0)}removeExtension(){var e;localStorage.getItem(this.localStorageKey)&&(console.debug("Removing extension "+this.localStorageKey),localStorage.removeItem(this.localStorageKey),e=N(x.installedExtensions,[]).filter(e=>e!==this.localStorageKey),localStorage.setItem(x.installedExtensions,JSON.stringify(e)),console.debug("Removed"),this.setState({installed:!1}))}async installTheme(r=!1){var a=this.props["item"];if(a){console.debug("Installing theme "+this.localStorageKey);let e={},t=null;r?({schemes:r,activeScheme:n}=N(this.localStorageKey,{}),e=r,t=n):a.schemesURL&&(r=await(await fetch(a.schemesURL)).text(),e=go(r));var n=t||Object.keys(e)[0]||null,{manifest:r,title:o,subtitle:i,authors:s,user:l,repo:c,branch:d,imageURL:u,extensionURL:p,readmeURL:m,cssURL:h,schemesURL:f,include:g,lastUpdated:b,created:v}=(console.debug(e,n),a),r=(localStorage.setItem(this.localStorageKey,JSON.stringify({manifest:r,type:this.props.type,title:o,subtitle:i,authors:s,user:l,repo:c,branch:d,imageURL:u,extensionURL:p,readmeURL:m,stars:this.state.stars,tags:this.tags,cssURL:h,schemesURL:f,include:g,schemes:e,activeScheme:n,lastUpdated:b,created:v})),N(x.installedThemes,[]));-1===r.indexOf(this.localStorageKey)&&(r.push(this.localStorageKey),localStorage.setItem(x.installedThemes,JSON.stringify(r)),localStorage.setItem(x.themeInstalled,this.localStorageKey)),console.debug("Installed"),a.include||(this.fetchAndInjectUserCSS(this.localStorageKey),this.props.updateActiveTheme(this.localStorageKey),this.props.updateColourSchemes(e,n),(o=this.props.item.manifest?.name)&&(jm.Config.current_theme=o),n&&(jm.Config.color_scheme=n)),this.setState({installed:!0})}else jm.showNotification(y("notifications.themeInstallationError"),!0)}removeTheme(e){const t=e||localStorage.getItem(x.themeInstalled);var e=t&&localStorage.getItem(t);t&&e&&(console.debug("Removing theme "+t),localStorage.removeItem(t),localStorage.removeItem(x.themeInstalled),e=N(x.installedThemes,[]).filter(e=>e!==t),localStorage.setItem(x.installedThemes,JSON.stringify(e)),console.debug("Removed"),this.fetchAndInjectUserCSS(null),this.props.updateActiveTheme(null),this.props.updateColourSchemes(null,null),jm.Config.current_theme="marketplace",jm.Config.color_scheme="marketplace",this.setState({installed:!1}))}installSnippet(){console.debug("Installing snippet "+this.localStorageKey),localStorage.setItem(this.localStorageKey,JSON.stringify({code:this.props.item.code,title:this.props.item.title,description:this.props.item.description,imageURL:this.props.item.imageURL}));var e=N(x.installedSnippets,[]),e=(-1===e.indexOf(this.localStorageKey)&&(e.push(this.localStorageKey),localStorage.setItem(x.installedSnippets,JSON.stringify(e))),e.map(e=>N(e)));bo(e),this.setState({installed:!0})}removeSnippet(){localStorage.removeItem(this.localStorageKey);var e=N(x.installedSnippets,[]).filter(e=>e!==this.localStorageKey),e=(localStorage.setItem(x.installedSnippets,JSON.stringify(e)),e.map(e=>N(e)));bo(e),this.setState({installed:!1})}async fetchAndInjectUserCSS(e){try{var t=window.sessionStorage.getItem("marketplace-request-tld")||void 0,r=e?await ko(this.props.item,t):void 0;Co(r)}catch(e){console.warn(e)}}openReadme(){this.props.item?.manifest?.readme?jm.Platform.History.push({pathname:$r+"/readme",state:{data:{title:this.props.item.title,user:this.props.item.user,repo:this.props.item.repo,branch:this.props.item.branch,readmeURL:this.props.item.readmeURL,type:this.props.type,install:this.buttonClicked.bind(this),isInstalled:this.isInstalled.bind(this)}}}):jm.showNotification(y("notifications.noReadmeFile"),!0)}render(){var e,t,r=this.isInstalled();return"Installed"!==this.props.CONFIG.activeTab||r?(e=["main-card-card","marketplace-card--"+this.props.type],r&&e.push("marketplace-card--installed"),t=[],"snippet"!==this.props.type&&this.props.visual.stars&&t.push("★ "+this.state.stars),w.default.createElement("div",{className:e.join(" "),onClick:()=>{if("snippet"===this.props.type){var e=this.props.item.title.replace(/\n/g,"");if(N("marketplace:installed:snippet:"+e)?.custom)return Im("EDIT_SNIPPET",void 0,void 0,this.props);Im("VIEW_SNIPPET",void 0,void 0,this.props,this.buttonClicked.bind(this))}else this.openReadme()}},w.default.createElement("div",{className:"main-card-draggable",draggable:"true"},w.default.createElement("div",{className:"main-card-imageContainer"},w.default.createElement("div",{className:"main-cardImage-imageWrapper"},w.default.createElement("div",null,w.default.createElement("img",{alt:"","aria-hidden":"false",draggable:"false",loading:"lazy",src:this.props.item.imageURL,className:"main-image-image main-cardImage-image",onError:e=>{e.currentTarget.setAttribute("src","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII"),e.currentTarget.closest(".main-cardImage-imageWrapper")?.classList.add("main-cardImage-imageWrapper--error")}})))),w.default.createElement("div",{className:"main-card-cardMetadata"},w.default.createElement("a",{draggable:"false",title:"snippet"===this.props.type?this.props.item.title:this.props.item.manifest?.name,className:"main-cardHeader-link",dir:"auto",href:"snippet"!==this.props.type?this.state.externalUrl:"https://github.com/spicetify/marketplace/blob/main/resources/snippets.json",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation()},w.default.createElement("div",{className:"main-cardHeader-text main-type-balladBold"},this.props.item.title)),w.default.createElement("div",{className:"main-cardSubHeader-root main-type-mestoBold marketplace-cardSubHeader"},this.props.item.authors&&w.default.createElement(Rm,{authors:this.props.item.authors}),w.default.createElement("span",null,t.join(" ‒ "))),w.default.createElement("p",{className:"marketplace-card-desc"},"snippet"===this.props.type?this.props.item.description:this.props.item.manifest?.description),this.props.item.lastUpdated&&w.default.createElement("p",{className:"marketplace-card-desc"},y("grid.lastUpdated",{val:new Date(this.props.item.lastUpdated),formatParams:{val:{year:"numeric",month:"long",day:"numeric"}}})),this.tags.length?w.default.createElement("div",{className:"marketplace-card__bottom-meta main-type-mestoBold"},w.default.createElement(_m,{tags:this.tags,showTags:this.props.CONFIG.visual.tags})):null,r&&w.default.createElement("div",{className:"marketplace-card__bottom-meta main-type-mestoBold"},"✓ ",y("grid.installed")),w.default.createElement(jm.ReactComponent.TooltipWrapper,{label:"app"===this.props.type?y("github"):y(r?"remove":"install"),renderInline:!0},w.default.createElement("div",{className:"main-card-PlayButtonContainer"},w.default.createElement(Ko,{classes:["marketplace-installButton"],type:"circle",label:"app"===this.props.type?y("github"):y(r?"remove":"install"),onClick:e=>{e.stopPropagation(),this.buttonClicked()}},"app"===this.props.type?w.default.createElement(Tm,null):r?w.default.createElement(Lm,null):w.default.createElement(Om,null)))))))):(console.debug("Card item not installed"),null)}},$m=Rr()(Bm),zm=t(r()),Fm=class extends zm.default.Component{render(){return zm.default.createElement("div",{style:{marginTop:"60px"},onClick:this.props.onClick},zm.default.createElement("p",{style:{fontSize:100,lineHeight:"65px"}},"»"),zm.default.createElement("span",{style:{fontSize:20}},"Load more"))}},Um=t(r()),Gm=()=>Um.default.createElement("svg",{style:{marginTop:"60px"},width:"100px",height:"100px",viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",role:"img","aria-label":"Loading Icon"},Um.default.createElement("circle",{cx:"50",cy:"50",r:"0",fill:"none",stroke:"currentColor",strokeWidth:"2"},Um.default.createElement("animate",{attributeName:"r",repeatCount:"indefinite",dur:"1s",values:"0;40",keyTimes:"0;1",keySplines:"0 0.2 0.8 1",calcMode:"spline",begin:"0s"}),Um.default.createElement("animate",{attributeName:"opacity",repeatCount:"indefinite",dur:"1s",values:"1;0",keyTimes:"0;1",keySplines:"0.2 0 0.8 1",calcMode:"spline",begin:"0s"})),Um.default.createElement("circle",{cx:"50",cy:"50",r:"0",fill:"none",stroke:"currentColor",strokeWidth:"2"},Um.default.createElement("animate",{attributeName:"r",repeatCount:"indefinite",dur:"1s",values:"0;40",keyTimes:"0;1",keySplines:"0 0.2 0.8 1",calcMode:"spline",begin:"-0.5s"}),Um.default.createElement("animate",{attributeName:"opacity",repeatCount:"indefinite",dur:"1s",values:"1;0",keyTimes:"0;1",keySplines:"0.2 0 0.8 1",calcMode:"spline",begin:"-0.5s"}))),Hm=t(r()),Vm=()=>Hm.default.createElement("svg",{role:"img",width:"16",height:"16",viewBox:"0 0 24 24","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg"},Hm.default.createElement("path",{d:"M24 13.616v-3.232c-1.651-.587-2.694-.752-3.219-2.019v-.001c-.527-1.271.1-2.134.847-3.707l-2.285-2.285c-1.561.742-2.433 1.375-3.707.847h-.001c-1.269-.526-1.435-1.576-2.019-3.219h-3.232c-.582 1.635-.749 2.692-2.019 3.219h-.001c-1.271.528-2.132-.098-3.707-.847l-2.285 2.285c.745 1.568 1.375 2.434.847 3.707-.527 1.271-1.584 1.438-3.219 2.02v3.232c1.632.58 2.692.749 3.219 2.019.53 1.282-.114 2.166-.847 3.707l2.285 2.286c1.562-.743 2.434-1.375 3.707-.847h.001c1.27.526 1.436 1.579 2.019 3.219h3.232c.582-1.636.75-2.69 2.027-3.222h.001c1.262-.524 2.12.101 3.698.851l2.285-2.286c-.744-1.563-1.375-2.433-.848-3.706.527-1.271 1.588-1.44 3.221-2.021zm-12 2.384c-2.209 0-4-1.791-4-4s1.791-4 4-4 4 1.791 4 4-1.791 4-4 4z",fill:"currentColor"})),qm=t(r()),Wm=()=>qm.default.createElement("svg",{className:"devtools-icon",version:"1.1",viewBox:"1 1 22 22",xmlSpace:"preserve",xmlns:"http://www.w3.org/2000/svg",role:"img","aria-label":"Developer Tools Icon"},qm.default.createElement("g",{className:"devtools-icon-internal",id:"grid_system"}),qm.default.createElement("g",{id:"_icons"},qm.default.createElement("path",{d:"M18,12v-0.9l0.7-5.7C18.8,4.5,18.6,3.7,18,3c-0.6-0.6-1.4-1-2.2-1H8.3C7.4,2,6.6,2.4,6,3C5.4,3.7,5.2,4.5,5.3,5.4L6,11.1 V12c0,1.6,1.3,2.9,2.8,3l-0.4,2.9c-0.1,1,0.2,2.1,0.8,2.9S11,22,12,22s2-0.5,2.7-1.2s1-1.8,0.8-2.9L15.2,15 C16.7,14.9,18,13.6,18,12z M7.5,4.3C7.7,4.1,8,4,8.3,4H13v2c0,0.6,0.4,1,1,1s1-0.4,1-1V4h0.7c0.3,0,0.6,0.1,0.8,0.3 c0.2,0.2,0.3,0.5,0.2,0.8L16.1,10H7.9L7.3,5.1C7.2,4.8,7.3,4.6,7.5,4.3z M13.2,19.4c-0.6,0.7-1.8,0.7-2.4,0 c-0.3-0.4-0.4-0.8-0.4-1.3l0.5-3.2h2.3l0.5,3.2C13.7,18.6,13.5,19.1,13.2,19.4z M15,13h-1h-4H9c-0.6,0-1-0.4-1-1h8 C16,12.6,15.6,13,15,13z"}))),S=t(r()),Km=t(Be()),Jm=Rr()(class extends S.default.Component{render(){var e=this.props["t"];return this.props.item.enabled?S.default.createElement("li",{className:"marketplace-tabBar-headerItem","data-tab":this.props.item.value,onClick:e=>{e.preventDefault(),this.props.switchTo(this.props.item)}},S.default.createElement("a",{"aria-current":"page",className:"marketplace-tabBar-headerItemLink "+(this.props.item.active?"marketplace-tabBar-active":""),draggable:"false",href:"##"},S.default.createElement("span",{className:"main-type-mestoBold"},e("tabs."+this.props.item.value)))):null}}),Ym=S.default.memo(function({items:e,switchTo:t}){return S.default.createElement("li",{className:"marketplace-tabBar-headerItem"},S.default.createElement(Km.default,{className:"main-type-mestoBold",options:e,value:"More",placeholder:"More",onChange:t}))}),Xm=e=>{const t=document.querySelector(".Root__main-view .os-resize-observer-host, .Root__main-view .os-size-observer, .Root__main-view .main-view-container__scroll-node");if(!t)return null;const[r,a]=(0,S.useState)(t.clientWidth),n=()=>a(t.clientWidth),o=()=>{var e=document.querySelector(".marketplace-tabBar"),t=document.querySelector(".main-topBar-topbarContentWrapper");e&&t?(e&&t&&"/marketplace"===Spicetify.Platform.History.location.pathname&&(t.appendChild(e),document.querySelector(".main-topBar-container")?.setAttribute("style","contain: unset;")),Spicetify.Platform.History.listen(({pathname:e})=>{"/marketplace"!==e&&(document.querySelector(".marketplace-tabBar")?.remove(),document.querySelector(".main-topBar-container")?.removeAttribute("style"))})):setTimeout(o,100)};return(0,S.useEffect)(()=>{const e=new ResizeObserver(n);return e.observe(t),()=>{e.disconnect()}}),(0,S.useEffect)(()=>{o()}),S.default.createElement(Zm,{windowSize:r,links:e.links,activeLink:e.activeLink,switchCallback:e.switchCallback})},Zm=S.default.memo(function({links:e,activeLink:r,switchCallback:t,windowSize:a=Number.POSITIVE_INFINITY}){const n=S.default.useRef(null),[o,i]=(0,S.useState)([]),[s,l]=(0,S.useState)(0),[c,d]=(0,S.useState)([]),u=e.map(({name:e,enabled:t})=>{return{label:e,value:e,active:e===r,enabled:t}});return(0,S.useEffect)(()=>{n.current&&l(n.current.clientWidth)},[a,n.current?.clientWidth]),(0,S.useEffect)(()=>{var e;n.current&&(e=Array.from(n.current.children).map(e=>e.clientWidth),i(e))},[e]),(0,S.useEffect)(()=>{if(n.current)if(o.reduce((e,t)=>e+t,0)<=s)d([]);else{var e=Math.max(...o);const a=[];let r=e;o.forEach((e,t)=>{s>=r+e?r+=e:a.push(t)}),d(a)}},[s,o]),S.default.createElement("nav",{className:"marketplace-tabBar marketplace-tabBar-nav"},S.default.createElement("ul",{className:"marketplace-tabBar-header",ref:n},u.filter((e,t)=>!c.includes(t)).map(e=>S.default.createElement(Jm,{key:e.value,item:e,switchTo:t})),c.length||0===o.length?S.default.createElement(Ym,{items:c.map(e=>u[e]).filter(e=>e),switchTo:t}):null))}),Qm=window.Spicetify,eh=Rr()(class extends o.default.Component{constructor(e){super(e),Object.assign(this,e),this.updateAppConfig=e.updateAppConfig.bind(this),this.sortConfig={by:N(x.sort,"top")},this.state={version:_r,newUpdate:!1,searchValue:"",cards:[],tabs:e.CONFIG.tabs,rest:!0,endOfList:!1,schemes:e.CONFIG.theme.schemes,activeScheme:e.CONFIG.theme.activeScheme,activeThemeKey:e.CONFIG.theme.activeThemeKey}}searchRequested;endOfList=!1;lastScroll=0;requestQueue=[];requestPage=0;cardList=[];sortConfig;gridUpdateTabs;gridUpdatePostsVisual;checkScroll;CONFIG;updateAppConfig;BLACKLIST;SNIPPETS;getInstalledTheme(){var e=localStorage.getItem(x.themeInstalled);return(e=e&&localStorage.getItem(e))?JSON.parse(e):null}newRequest(e){this.cardList=[];var t=[];this.requestQueue.unshift(t),this.loadAmount(t,e)}appendCard(e,t,r){r===this.props.CONFIG.activeTab&&(r=o.default.createElement($m,{item:e,key:`${this.props.CONFIG.activeTab}:${e.user}:`+e.title,CONFIG:this.CONFIG,visual:this.props.CONFIG.visual,type:t,activeThemeKey:this.state.activeThemeKey,updateColourSchemes:this.updateColourSchemes.bind(this),updateActiveTheme:this.setActiveTheme.bind(this)}),this.cardList.push(r))}updateSort(e){e&&(this.sortConfig.by=e,localStorage.setItem(x.sort,e)),this.requestPage=0,this.cardList=[],this.setState({cards:[],rest:!1,endOfList:!1}),this.endOfList=!1,this.newRequest(Br)}updateTabs(){this.setState({tabs:[...this.props.CONFIG.tabs]})}updatePostsVisual(){this.cardList=this.cardList.map((e,t)=>o.default.createElement($m,{...e.props,key:t.toString(),CONFIG:this.CONFIG})),this.setState({cards:[...this.cardList]})}switchTo(e){this.CONFIG.activeTab=e.value,localStorage.setItem(x.activeTab,e.value),this.cardList=[],this.requestPage=0,this.setState({cards:[],rest:!1,endOfList:!1}),this.endOfList=!1,this.newRequest(Br)}async loadPage(e){var t=this.CONFIG.activeTab;switch(t){case"Extensions":var r=await Do("spicetify-extensions",this.requestPage,this.BLACKLIST,this.CONFIG.visual.showArchived),a=[];for(const f of r.items){var n=await _o(f.contents_url,f.default_branch,f.stargazers_count,this.CONFIG.visual.hideInstalled);if(1({...e,archived:f.archived,lastUpdated:f.pushed_at,created:f.created_at})))}Lo(a,localStorage.getItem("marketplace:sort")||"stars");for(const g of a)this.appendCard(g,"extension",t);this.setState({cards:this.cardList});var o=-1({...e,archived:w.archived,lastUpdated:w.pushed_at,created:w.created_at})))}this.setState({cards:this.cardList}),Lo(u,localStorage.getItem("marketplace:sort")||"stars");for(const S of u)this.appendCard(S,"theme",t);r=-1({...e,archived:E.archived,lastUpdated:E.pushed_at,created:E.created_at})))}this.setState({cards:this.cardList}),Lo(m,localStorage.getItem("marketplace:sort")||"stars");for(const C of m)this.appendCard(C,"app",t);i=-1e!==t):(this.requestQueue.shift(),this.setState({rest:!0}))}loadMore(){this.state.rest&&!this.endOfList&&this.loadAmount(this.requestQueue[0],Br)}updateColourSchemes(e,t){console.debug("updateColourSchemes",e,t),this.CONFIG.theme.schemes=e,(this.CONFIG.theme.activeScheme=t)&&(Qm.Config.color_scheme=t),e&&t&&e[t]?Eo(this.CONFIG.theme.schemes[t]):Eo(null);var r=N(x.themeInstalled),a=N(r);a?(a.activeScheme=t,console.debug(a),localStorage.setItem(r,JSON.stringify(a))):console.debug("No installed theme data"),this.setState({schemes:e,activeScheme:t})}async componentDidMount(){fetch(Fr).then(e=>e.json()).then(e=>{if(e.message)throw e;this.setState({version:e.name});try{this.setState({newUpdate:Mr.default.gt(e.name,_r)})}catch(e){console.error(e)}},e=>{console.error("Failed to check for updates",e)}),this.gridUpdateTabs=this.updateTabs.bind(this),this.gridUpdatePostsVisual=this.updatePostsVisual.bind(this);var e=document.querySelector(".os-viewport")??document.querySelector("#main .main-view-container__scroll-node");this.checkScroll=this.isScrolledBottom.bind(this),e&&(e.addEventListener("scroll",this.checkScroll),this.cardList.length)?0=e.scrollHeight&&this.loadMore()}setActiveTheme(e){this.CONFIG.theme.activeThemeKey=e,this.setState({activeThemeKey:e})}getActiveScheme(){return this.state.activeScheme}render(){const r=this.props["t"];return o.default.createElement("section",{className:"contentSpacing"},o.default.createElement("div",{className:"marketplace-header"},o.default.createElement("div",{className:"marketplace-header__left"},this.state.newUpdate?o.default.createElement("button",{type:"button",title:r("grid.newUpdate"),className:"marketplace-header-icon-button",id:"marketplace-update",onClick:()=>Im("UPDATE")},o.default.createElement(Om,null)," ",this.state.version):null,o.default.createElement("h2",{className:"marketplace-header__label"},r("grid.sort.label")),o.default.createElement(ai,{onChange:e=>this.updateSort(e),sortBoxOptions:wo(r),sortBySelectedFn:e=>e.key===this.CONFIG.sort})),o.default.createElement("div",{className:"marketplace-header__right"},this.CONFIG.visual.themeDevTools?o.default.createElement(Qm.ReactComponent.TooltipWrapper,{label:r("devTools.title"),renderInline:!0,placement:"bottom"},o.default.createElement("button",{type:"button","aria-label":r("devTools.title"),className:"marketplace-header-icon-button",onClick:()=>Im("THEME_DEV_TOOLS")},o.default.createElement(Wm,null))):null,this.state.activeScheme?o.default.createElement(ai,{onChange:e=>this.updateColourSchemes(this.state.schemes,e),sortBoxOptions:yo(this.state.schemes),sortBySelectedFn:e=>e.key===this.getActiveScheme()}):null,o.default.createElement("div",{className:"searchbar--bar__wrapper"},o.default.createElement("input",{className:"searchbar-bar",type:"text",placeholder:`${r("grid.search")} ${r("tabs."+this.CONFIG.activeTab)}...`,value:this.state.searchValue,onChange:e=>{this.setState({searchValue:e.target.value})}})),o.default.createElement(Qm.ReactComponent.TooltipWrapper,{label:r("settings.title"),renderInline:!0,placement:"bottom"},o.default.createElement("button",{type:"button","aria-label":r("settings.title"),className:"marketplace-header-icon-button",id:"marketplace-settings-button",onClick:()=>Im("SETTINGS",this.CONFIG,this.updateAppConfig)},o.default.createElement(Vm,null))))),[{handle:"extension",name:"Extensions"},{handle:"theme",name:"Themes"},{handle:"snippet",name:"Snippets"},{handle:"app",name:"Apps"}].map(t=>{var e=this.cardList.filter(e=>e.props.type===t.handle).filter(e=>{const t=this.state.searchValue.trim().toLowerCase();var{title:e,user:r,authors:a,tags:n}=e.props.item;return!t||e.toLowerCase().includes(t)||r?.toLowerCase().includes(t)||a?.some(e=>e.name.toLowerCase().includes(t))||[...n??[]].some(e=>e.toLowerCase().includes(t))}).map(e=>o.default.cloneElement(e,{activeThemeKey:this.state.activeThemeKey,key:e.key})).filter((t,e,r)=>r.findIndex(e=>e.key===t.key)===e);return e.length?o.default.createElement("div",{className:"marketplace-content"},o.default.createElement("h2",{className:"marketplace-card-type-heading"},r("tabs."+t.name)),o.default.createElement("div",{className:"marketplace-grid main-gridContainer-gridContainer main-gridContainer-fixedWidth","data-tab":this.CONFIG.activeTab,"data-card-type":r("tabs."+t.name)},e)):null}),"Snippets"===this.CONFIG.activeTab?o.default.createElement(Ko,{classes:["marketplace-add-snippet-btn"],onClick:()=>Im("ADD_SNIPPET")},"+ ",r("grid.addCSS")):null,o.default.createElement("footer",{className:"marketplace-footer"},this.state.endOfList?o.default.createElement("div",{style:{height:"64px"}}):this.state.rest&&0${this.props.t("readmePage.loading")}

`};getReadmeHTML=async()=>fetch(this.props.data.readmeURL).then(e=>{if(e.ok)return e.text();throw Spicetify.showNotification(`${this.props.t("readmePage.errorLoading")} (HTTP ${e.status})`,!0)}).then(e=>Io(e,this.props.data.user,this.props.data.repo)).then(e=>(e||Spicetify.Platform.History.goBack(),e)).catch(e=>(console.error(e),Spicetify.Platform.History.goBack(),null));componentDidMount(){this.getReadmeHTML().then(e=>{null!=e&&this.setState({html:e})})}componentDidUpdate(){const e=document.querySelector("#marketplace-readme")?.closest("main");if(e){const t=setInterval(()=>{document.querySelector("#marketplace-readme")?(e.style.overflowY="visible",e.style.overflowY="auto"):(clearInterval(t),e.style.removeProperty("overflow-y"))},1e3)}document.querySelectorAll("#marketplace-readme img").forEach(e=>{e.addEventListener("error",e=>{var e=e.target,t=e.getAttribute("src"),t="/"===t?.charAt(0)?`https://raw.githubusercontent.com/${this.props.data.user}/${this.props.data.repo}/${this.props.data.branch}/`+t?.slice(1):this.props.data.readmeURL.substring(0,this.props.data.readmeURL.lastIndexOf("/"))+"/"+t;e.setAttribute("src",t)},{once:!0})})}buttonContent(){return"app"===this.props.data.type?{icon:th.default.createElement(Tm,null),text:this.props.t("github")}:this.state.isInstalled?{icon:th.default.createElement(Lm,null),text:this.props.t("remove")}:{icon:th.default.createElement(Om,null),text:this.props.t("install")}}render(){var e="control"!==JSON.parse(localStorage.getItem("spicetify-exp-features")||"{}").enableGlobalNavBar?.value&&!0;return th.default.createElement("section",{className:"contentSpacing"},th.default.createElement("div",{className:"marketplace-header",style:{marginTop:e?"60px":"0px"}},th.default.createElement("div",{className:"marketplace-header__left"},th.default.createElement("h1",null,this.props.title)),th.default.createElement("div",{className:"marketplace-header__right"},th.default.createElement(Ko,{classes:["marketplace-header__button"],onClick:e=>{e.preventDefault(),this.props.data.install(),this.setState({isInstalled:!this.state.isInstalled})},label:this.buttonContent().text},this.buttonContent().icon," ",this.buttonContent().text))),"

Loading...

"===this.state.html?th.default.createElement("footer",{className:"marketplace-footer"},th.default.createElement(Gm,null)):th.default.createElement("div",{id:"marketplace-readme",className:"marketplace-readme__container",dangerouslySetInnerHTML:{__html:this.state.html}}))}}),Ln={ar:{translation:{settings:{title:"إعدادات المتجر",optionsHeading:"خيارات",starCountLabel:"عدد النجوم",tagsLabel:"العلامات",showArchived:"إظهار المستودعات المؤرشفة",devToolsLabel:"أدوات مطوري السمات",hideInstalledLabel:"إخفاء المثبتة عند التصفح",colourShiftLabel:"تغيير الألوان كل دقيقة",albumArtBasedColors:"تغيير الألوان بناءً على غلاف الألبوم",albumArtBasedColorsMode:"وضع نظام الألوان (واجهة برمجة التطبيقات الملونة (API))",albumArtBasedColorsVibrancy:"اللون المأخوذ من غلاف الألبوم",albumArtBasedColorsVibrancyToolTip:"مشبع قليلًا: اللون الأكثر بروزًا ولكن مع سطوع أقل بكثير \n ساطع خفيف: اللون الأكثر حيوية ولكن مع زيادة السطوع قليلًا \n بارز: اللون الأكثر بروزًا في غلاف الألبوم \n حيوي: اللون الأكثر حيوية في غلاف الألبوم",almbumArtColorsModeToolTip:"أحادي اللون الداكن: نظام ألوان يعتمد بشكل مباشر على اللون الرئيسي المحدد، باستخدام ظلال مختلفة من اللون الرئيسي ودمج درجات الرمادي لإنشاء نظام ألوان، وهذا هو عكس نظام أحادي اللون الفاتح. \n أحادي اللون الفاتح: نظام ألوان يعتمد بشكل مباشر على اللون الرئيسي المحدد، باستخدام ظلال مختلفة من اللون الرئيسي ودمج درجات الرمادي لإنشاء نظام ألوان. ستكون خلفية أحادي اللون الفاتح هي لون المقدمة أو النص في نظام أحادي اللون الداكن والعكس صحيح. \n تناظري: نظام ألوان يعتمد على اللون الرئيسي المحدد، باستخدام الألوان المجاورة للون الرئيسي على عجلة الألوان. \n تناظري تكميلي: نظام ألوان يعتمد على اللون الرئيسي المحدد، باستخدام الألوان المجاورة للون الرئيسي على عجلة الألوان واللون التكميلي. \n ثلاثي: نظام ألوان يعتمد على اللون الرئيسي المحدد، باستخدام الألوان الموجودة على عجلة الألوان والتي تكون متساوية البعد عن اللون الرئيسي. \n رباعي: نظام ألوان يعتمد على اللون الرئيسي المحدد، باستخدام الألوان الموجودة على عجلة الألوان والتي تبعد 90 درجة عن اللون الرئيسي.",tabsHeading:"علامات التبويب",tabsDescription:"اسحب وأفلت لإعادة الترتيب، انقر للتمكين/التعطيل",resetHeading:"إعادة الضبط",resetBtn:"$t(settings.resetHeading)",resetDescription:"إلغاء تثبيت جميع الإضافات والسمات، وإعادة ضبط التفضيلات",backupHeading:"نسخ احتياطي/استعادة",backupLabel:"نسخ احتياطي أو استعادة جميع بيانات المتجر. لا يتضمن ذلك إعدادات أي شيء تم تثبيته عبر المتجر.",backupBtn:"فتح",versionHeading:"الإصدار",versionBtn:"نسخ",versionCopied:"تم النسخ"},tabs:{Extensions:"الإضافات",Themes:"السمات",Snippets:"المقتطفات",Apps:"التطبيقات",Installed:"المثبتة"},snippets:{addTitle:"إضافة مقتطف",duplicateName:"هذا الاسم مستخدم بالفعل!",editTitle:"تعديل مقتطف",viewTitle:"عرض مقتطف",customCSS:"CSS مخصص",customCSSPlaceholder:"أدخل CSS المخصص الخاص بك هنا! يمكنك العثور عليها في علامة التبويب المثبتة للإدارة.",snippetName:"اسم المقتطف",snippetNamePlaceholder:"أدخل اسمًا للمقتطف المخصص الخاص بك",snippetDesc:"وصف المقتطف",snippetDescPlaceholder:"أدخل وصفًا للمقتطف المخصص الخاص بك",snippetPreview:"معاينة المقتطف",optional:"اختياري",addImage:"إضافة صورة",changeImage:"تغيير الصورة",saveCSS:"حفظ CSS"},reloadModal:{title:"إعادة التحميل",description:"يجب إعادة تحميل الصفحة لإكمال هذه العملية.",reloadNow:"إعادة التحميل الآن",reloadLater:"إعادة التحميل لاحقًا"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"تم نسخ الإعدادات إلى الحافظة",noDataPasted:"لم يتم لصق أي بيانات",invalidJSON:"JSON غير صالح",inputLabel:"إعدادات المتجر",inputPlaceholder:"انسخ/ألصق إعداداتك هنا",exportBtn:"تصدير",importBtn:"استيراد",fileImportBtn:"استيراد من ملف"},devTools:{title:"أدوات تطوير السمات",noThemeInstalled:"خطأ: لم يتم تثبيت أي سمة من المتجر",noThemeManifest:"خطأ: لم يتم العثور على بيان السمة",colorIniEditor:"محرر Color.ini",colorIniEditorPlaceholder:"[اسم-نظام-الألوان-الخاص-بك]",invalidCSS:"CSS غير صالح"},updateModal:{title:"تحديث المتجر",description:"قم بتحديث متجر سبياسيتيفي لتلقي ميزات جديدة وإصلاح الأخطاء.",currentVersion:"الإصدار الحالي: {{إصدار}}",latestVersion:"أحدث إصدار: {{إصدار}}",whatsChanged:"ما الذي تغير",seeChangelog:"عرض سجل التغييرات",howToUpgrade:"كيفية الترقية",viewGuide:"عرض الدليل"},grid:{spicetifyMarketplace:"متجر سبياسيتيفي",newUpdate:"تحديث جديد",addCSS:"إضافة CSS",search:"بحث",installed:"مثبتة",lastUpdated:"آخر تحديث {{val, datetime}}",externalJS:"JS خارجي",archived:"مؤرشفة",dark:"داكن",light:"فاتح",sort:{label:"فرز حسب:",stars:"النجوم",newest:"الأحدث",oldest:"الأقدم",lastUpdated:"آخر تحديث",mostStale:"الأكثر تقادمًا",aToZ:"أ-ي",zToA:"ي-أ"}},readmePage:{title:"$t(grid.spicetifyMarketplace) - اقرأني",loading:"جارٍ التحميل...",errorLoading:"README خطأ في تحميل ملف اقرأني"},github:"غيثب",install:"تثبيت",remove:"إزالة",save:"حفظ",colour_one:"لون",colour_other:"ألوان",favourite:"مفضل",notifications:{wrongLocalTheme:"يُرجى ضبط السمة الحالية في config-xpui.ini على ” المتجر“ لتثبيت السمات باستخدام المتجر",tooManyRequests:"عدد كبير جدًا من الطلبات، يرجى الانتظار",noCdnConnection:"المتجر غير قادر على الاتصال بشبكة CDN. يرجى التحقق من إعدادات الإنترنت الخاصة بك",markdownParsingError:"خطأ في تحليل Markdown (HTTP {{status}})",noReadmeFile:"لم يتم العثور على ملف اقرأني README",themeInstallationError:"حدث خطأ أثناء تثبيت السمة",extensionInstallationError:"حدث خطأ أثناء تثبيت الإضافة"}}},ca:{translation:{settings:{title:"Configuració",optionsHeading:"Opcions",starCountLabel:"Número d'estrelles",tagsLabel:"Etiquetes",devToolsLabel:"Eines per a desenvolupadors de temes",hideInstalledLabel:"Amagar instal·lats",colourShiftLabel:"Canviar colors cada minut",albumArtBasedColors:"Canviar colors a partir de la portada de l'àlbum",albumArtBasedColorsMode:"Mode esquema de colors (ColorApi)",albumArtBasedColorsVibrancy:"Colors agafats de la portada de l'àlbum",albumArtBasedColorsVibrancyToolTip:"Desaturat:El color més destacat però amb molta menys bror \n Vibrant Clar: El color més villantibrant amb la brillantor augmentada una mica \n Prominent: El color més destacat a la portada de l'Àlbum \n Vibrant: El color més vibrant a la portada de l'Àlbum",almbumArtColorsModeToolTip:"Monochrome Dark: Un esquema de colors basat en el color principal seleccionat, emprant diferentes tonalitats i barrejant tons grisos per crear l'esquema de colors, aquest és l'invers de Monochrome Light. \n Monochrome Light: Un esquema de colors basat en el color principal seleccionat, emprant diferentes tonalitats i barrejant tons grisos per crear l'esquema de colors. El colors del fins de Monochrome light seria el color de primer pla en Monochrome Dark i viceversa. \n Analògic: Un esquema de colors basat en el color principal seleccionat, emprant els colors adjacents en la roda de colors. \n Analògic Complementari: Un esquema de colors basat en el color principal seleccionat, emprant els colors adjacents en la roda de colors i el color complementari. \n Tríada: Un esquema de colors basat en el color principal seleccionat, emprant els colors de la roda de colors que estan separats de manera equidistant del color principal. \n Quad: Un esquema de colors basat en el color principal seleccionat, emprant els colors que es troben separats 90 graus entre si en la roda de colors.",tabsHeading:"Pestanyes",tabsDescription:"Arrossegueu i deixeu anar per canviar l'ordre, feu clic per activar/desactivar",resetHeading:"Restablir",resetBtn:"$t(settings.resetHeading)",resetDescription:"Borrar totes les extensions, temes i preferències",backupHeading:"Fer una còpia/Reestablir des d'una còpia",backupLabel:"Fer una còpia o restablir totes les dades de Marketplace des d'una còpia. Això no inclou la configuració per els elements instal·lats amb Marketplace.",backupBtn:"Obrir",versionHeading:"Versió",versionBtn:"Copiar",versionCopied:"Copiat"},tabs:{Extensions:"Extensions",Themes:"Temes",Snippets:"Fragments",Apps:"Aplicacions",Installed:"Instal·lats"},snippets:{addTitle:"Afegir fragment",editTitle:"Editar fragment",viewTitle:"Veure fragment",customCSS:"CSS personalitzat",customCSSPlaceholder:"Crea el teu propi CSS aqui! Pots trobar-los a la pestanya d'instal·lats per administrar-los.",snippetName:"Nom del fragment de codi",snippetNamePlaceholder:"Afegeix un nom al teu codi personalitzat",snippetDesc:"Descripció del codi",snippetDescPlaceholder:"Crea una descripció per al teu codi personalitzat",snippetPreview:"Vista prèvia del fragment",optional:"Opcional",addImage:"Afegir imatge",changeImage:"Canviar imatge",saveCSS:"Guardar CSS"},reloadModal:{title:"Recarregar",description:"És necessari recarregar la finestra per completar aquesta operació.",reloadNow:"Fes-ho ara",reloadLater:"Després"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Configuració copiada al portapapers",noDataPasted:"No s'han enganxat dades",invalidJSON:"JSON invàlid",inputLabel:"Configuració de Marketplace",inputPlaceholder:"Còpia/enganxa la teva configuració aquí",exportBtn:"Exportar",importBtn:"Importar",fileImportBtn:"Importar des d'un arxiu"},devTools:{title:"Eines de desenvolupador de temes",noThemeInstalled:"Error: No hi ha cap tema de Marketplace instal·lat",noThemeManifest:"Error: No s'ha trobat el manifest",colorIniEditor:"Editor de Color.ini",colorIniEditorPlaceholder:"[nom-de-esquema-de-color]",invalidCSS:"CSS invàlid"},grid:{spicetifyMarketplace:"Marketplace de Spicetify",newUpdate:"Nova Actualització",addCSS:"Afegir CSS",search:"Buscar",installed:"Instal·lat",lastUpdated:"Última actualizació {{val, datetime}}",externalJS:"JS extern",dark:"fosc",light:"clar"},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Carregant...",errorLoading:"Error carregant el README"},github:"GitHub",install:"Instal·lar",remove:"Borrar",save:"Guardar",colour_one:"color",colour_other:"colors",favourite:"preferit"}},en:{translation:{settings:{title:"Marketplace Settings",optionsHeading:"Options",starCountLabel:"Stars count",tagsLabel:"Tags",showArchived:"Show archived repos",devToolsLabel:"Theme developer tools",hideInstalledLabel:"Hide installed when browsing",colourShiftLabel:"Shift colours every minute",albumArtBasedColors:"Change colours based on album art",albumArtBasedColorsMode:"Colour scheme (ColorApi) mode",albumArtBasedColorsVibrancy:"Colour grabbed from album art",albumArtBasedColorsVibrancyToolTip:"Desaturated: The colour that is the most prominent but with much less brightness \n Light Vibrant: The most Vibrant colour but with the brightness amped up a tad \n Prominent: The colour that pops the most in the album art \n Vibrant: The most vibrant colour in the album art",almbumArtColorsModeToolTip:"Monochrome Dark: A colour scheme based directly on the main colour selected, using different shades of the main colour and mixing in greys to create a colour scheme, this is the inverse of Monochrome Light. \n Monochrome Light: A colour scheme based directly on the main colour selected, using different shades of the main colour and mixing in greys to create a colour scheme. The background of monochrome light would be the foreground or text colour on Monochrome Dark and vice versa. \n Analogic: A colour scheme based on the main colour selected, using the colours adjacent to the main colour on the colour wheel. \n Analogic Complementary: A colour scheme based on the main colour selected, using the colours adjacent to the main colour on the colour wheel and the complementary colour. \n Triad: A colour scheme based on the main colour selected, using the colours on the colour wheel that are equidistant from the main colour. \n Quad: A colour scheme based on the main colour selected, using the colours on the colour wheel that are 90 degrees from the main colour.",tabsHeading:"Tabs",tabsDescription:"Drag and drop to reorder, click to enable/disable",resetHeading:"Reset",resetBtn:"$t(settings.resetHeading)",resetDescription:"Uninstall all extensions and themes, and reset preferences",backupHeading:"Back up/Restore",backupLabel:"Back up or restore all Marketplace data. This does not include settings for anything installed via Marketplace.",backupBtn:"Open",versionHeading:"Version",versionBtn:"Copy",versionCopied:"Copied"},tabs:{Extensions:"Extensions",Themes:"Themes",Snippets:"Snippets",Apps:"Apps",Installed:"Installed"},snippets:{addTitle:"Add Snippet",duplicateName:"That name is already taken!",editTitle:"Edit Snippet",viewTitle:"View Snippet",customCSS:"Custom CSS",customCSSPlaceholder:"Input your own custom CSS here! You can find them in the installed tab for management.",snippetName:"Snippet Name",snippetNamePlaceholder:"Enter a name for your custom snippet",snippetDesc:"Snippet Description",snippetDescPlaceholder:"Enter a description for your custom snippet",snippetPreview:"Snippet Preview",optional:"Optional",addImage:"Add image",changeImage:"Change image",saveCSS:"Save CSS"},reloadModal:{title:"Reload",description:"A page reload is required to complete this operation.",reloadNow:"Reload now",reloadLater:"Reload later"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Settings copied to clipboard",noDataPasted:"No data pasted",invalidJSON:"Invalid JSON",inputLabel:"Marketplace Settings",inputPlaceholder:"Copy/paste your settings here",exportBtn:"Export",importBtn:"Import",fileImportBtn:"Import from file"},devTools:{title:"Theme Dev Tools",noThemeInstalled:"Error: No marketplace theme installed",noThemeManifest:"Error: No theme manifest found",colorIniEditor:"Color.ini Editor",colorIniEditorPlaceholder:"[your-colour-scheme-name]",invalidCSS:"Invalid CSS"},updateModal:{title:"Update the Marketplace",description:"Update Spicetify Marketplace to receive new features and bug fixes.",currentVersion:"Current version: {{version}}",latestVersion:"Latest version: {{version}}",whatsChanged:"What's Changed",seeChangelog:"See changelog",howToUpgrade:"How to upgrade",viewGuide:"View guide"},grid:{spicetifyMarketplace:"Spicetify Marketplace",newUpdate:"New update",addCSS:"Add CSS",search:"Search",installed:"Installed",lastUpdated:"Last updated {{val, datetime}}",externalJS:"external JS",archived:"archived",dark:"dark",light:"light",sort:{label:"Sort by:",stars:"Stars",newest:"Newest",oldest:"Oldest",lastUpdated:"Last Updated",mostStale:"Most Stale",aToZ:"A-Z",zToA:"Z-A"}},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Loading...",errorLoading:"Error loading README"},github:"GitHub",install:"Install",remove:"Remove",save:"Save",colour_one:"colour",colour_other:"colours",favourite:"favourite",notifications:{wrongLocalTheme:"Please set current_theme in config-xpui.ini to 'marketplace' to install themes using the Marketplace",tooManyRequests:"Too many requests, cool down",noCdnConnection:"Marketplace is unable to connect to the CDN. Please check your Internet configuration",markdownParsingError:"Error parsing markdown (HTTP {{status}})",noReadmeFile:"No README was found",themeInstallationError:"There was an error installing theme",extensionInstallationError:"There was an error installing extension"}}},"en-US":{translation:{settings:{colourShiftLabel:"Shift colors every minute",albumArtBasedColors:"Change colors based on album art",albumArtBasedColorsMode:"Color scheme (ColorApi) mode",albumArtBasedColorsVibrancy:"Color grabbed from album art",albumArtBasedColorsVibrancyToolTip:"Desaturated: The color that is the most prominent but with much less brightness \n Light Vibrant: The most Vibrant color but with the brightness amped up a tad \n Prominent: The color that pops the most in the album art \n Vibrant: The most vibrant color in the album art",almbumArtColorsModeToolTip:"Monochrome Dark: A color scheme based directly on the main color selected, using different shades of the main color and mixing in greys to create a color scheme, this is the inverse of Monochrome Light. \n Monochrome Light: A color scheme based directly on the main color selected, using different shades of the main color and mixing in greys to create a color scheme. The background of monochrome light would be the foreground or text color on Monochrome Dark and vice versa. \n Analogic: A color scheme based on the main color selected, using the colors adjacent to the main color on the color wheel. \n Analogic Complementary: A color scheme based on the main color selected, using the colors adjacent to the main color on the color wheel and the complementary color. \n Triad: A color scheme based on the main color selected, using the colors on the color wheel that are equidistant from the main color. \n Quad: A color scheme based on the main color selected, using the colors on the color wheel that are 90 degrees from the main color."},devTools:{colorIniEditorPlaceholder:"[your-color-scheme-name]"},colour_one:"color",colour_other:"colors",favourite:"favorite"}},es:{translation:{settings:{title:"Ajustes",optionsHeading:"Opciones",starCountLabel:"Número de estrellas",tagsLabel:"Etiquetas",devToolsLabel:"Herramientas para desarrolladores de temas",hideInstalledLabel:"Ocultar lo instalado al navegar",colourShiftLabel:"Cambiar colores cada minuto",tabsHeading:"Pestañas",tabsDescription:"Arrastre y suelte para cambiar el orden, haga clic para activar/desactivar",resetHeading:"Restablecer",resetBtn:"$t(settings.resetHeading)",resetDescription:"Borrar todas extensiones y temas, y borrar preferencias",backupHeading:"Copia de seguridad/Restauración",backupLabel:"Haz una copia de seguridad o restaura todos los datos de Marketplace. Esto no incluye la configuración de nada instalado a través de Marketplace.",backupBtn:"Abrir"},tabs:{Extensions:"Extensiones",Themes:"Temas",Snippets:"Códigos",Apps:"Aplicaciones",Installed:"Instalados"},snippets:{addTitle:"Añadir Código",editTitle:"Editar Código",viewTitle:"Ver Código",customCSS:"Custom CSS",customCSSPlaceholder:"¡Crea tu propio CSS aquí! Puedes encontrarlos en la pestaña de instalados para administrarlos.",snippetName:"Nombre del código",snippetNamePlaceholder:"Asígnale un nombre para tu código personalizado",snippetDesc:"Descripción del código",snippetDescPlaceholder:"Crea una descripción para tu código personalizado",snippetPreview:"Código",optional:"Opcional",addImage:"Añadir imagen",changeImage:"Cambiar imagen",saveCSS:"Guardar CSS"},reloadModal:{title:"Recargar",description:"Es necesario recargar la página para completar esta operación.",reloadNow:"Recargar ahora",reloadLater:"Recargar después"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Ajustes copiados al portapapeles",noDataPasted:"No hay datos pegados",invalidJSON:"JSON inválido",inputLabel:"Ajustes de Marketplace",inputPlaceholder:"Copia/pega tus ajustes aquí",exportBtn:"Exportar",importBtn:"Importar",fileImportBtn:"Importar desde un archivo"},devTools:{title:"Herramientas de desarrollador de temas",noThemeInstalled:"Error: No se ha instalado el tema del marketplace",noThemeManifest:"Error: No se ha encontrado el manifiesto del tema",colorIniEditor:"Editor de Color.ini",colorIniEditorPlaceholder:"[nombre-de-esquema-de-color]",invalidCSS:"CSS inválido"},grid:{spicetifyMarketplace:"Marketplace de Spicetify",newUpdate:"Nueva actualización",addCSS:"Añadir CSS",search:"Buscar",installed:"Instalado",lastUpdated:"Última actualización {{val, datetime}}",externalJS:"JS externo",dark:"oscuro",light:"claro"},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Cargando...",errorLoading:"Error al cargar el README"},github:"GitHub",install:"Instalar",remove:"Borrar",save:"Guardar",colour_one:"color",colour_other:"colores",favourite:"favorito"}},fr:{translation:{settings:{title:"Réglages Marché Spicetify",optionsHeading:"Options",starCountLabel:"Nombres d’étoiles",tagsLabel:"Tags",devToolsLabel:"Outils pour les développeurs de thèmes",hideInstalledLabel:"Masquer ceux étant installés lors de la navigation",colourShiftLabel:"Changer de couleur chaque minutes",albumArtBasedColors:"Changement des couleurs basé sur les pochettes d'albums",albumArtBasedColorsMode:"Mode de schéma de couleur (ColorApi)",albumArtBasedColorsVibrancy:"Couleur saisie depuis les pochettes d'albums",albumArtBasedColorsVibrancyToolTip:"Désaturé: La couleur qui est la plus proéminente mais avec beaucoup moins de luminosité\nVibrations Claires: La couleur la plus vibrante, mais avec une luminosité un peu plus forte\nPrometteur: La couleur qui ressort le plus dans la pochette de l'album\nVibrations: La couleur la plus vibrante dans la pochette de l'album",albumArtColorsModeToolTip:"Monochrome foncé: une palette de couleurs basée directement sur la couleur principale sélectionnée, en utilisant différentes nuances de la couleur principale et en mélangeant des gris pour créer une palette de couleurs, c'est l'inverse du monochrome clair.\nMonochrome clair: Une palette de couleurs basée directement sur la couleur principale sélectionnée, en utilisant différentes nuances de la couleur principale et en mélangeant les gris pour créer une palette de couleurs. L'arrière-plan d'un monochrome clair sera le premier plan ou la couleur du texte d'un monochrome foncé et vice versa.\nAnalogique: Schéma de couleurs basé sur la couleur principale sélectionnée, utilisant les couleurs adjacentes à la couleur principale sur le cercle chromatique.\nAnalogique complémentaire: Un schéma de couleurs basé sur la couleur principale sélectionnée, utilisant les couleurs adjacentes à la couleur principale sur le cercle chromatique et la couleur complémentaire.\nTriade: Un schéma de couleurs basé sur la couleur principale sélectionnée, utilisant les couleurs équidistantes de la couleur principale sur le cercle chromatique.\nQuad: Un schéma de couleurs basé sur la couleur principale sélectionnée, utilisant les couleurs du cercle chromatique qui sont à 90 degrés de la couleur principale.",tabsHeading:"Onglets",tabsDescription:"Glisser-déposer pour modifier l'ordre, cliquer pour activer/désactiver",resetHeading:"Réinitialiser",resetBtn:"$t(settings.resetHeading)",resetDescription:"Désinstaller toutes les extensions et tous les thèmes, ainsi que l’ensemble des réglages",backupHeading:"Sauvegarde/Restauration",backupLabel:"Sauvegarder ou restaurer toutes les données du Marché. Celà n'inclue pas les réglages pour quoi que ce soit installé depuis le Marché.",backupBtn:"Ouvrir",versionHeading:"Version",versionBtn:"Copier",versionCopied:"Copié"},tabs:{Extensions:"Extensions",Themes:"Thèmes",Snippets:"Bribes",Apps:"Applications",Installed:"Installé(s)"},snippets:{addTitle:"Ajouter Bribe",editTitle:"Éditer Bribe",viewTitle:"Voir Bribe",customCSS:"CSS personnalisé",customCSSPlaceholder:"Insérez votre propre CSS personnalisé ici! Vous pouvez les retrouver dans l’onglet Installé pour les gérer.",snippetName:"Nom de la bribe",snippetNamePlaceholder:"Entrer un nom pour votre bribe personnalisée",snippetDesc:"Description de la bribe",snippetDescPlaceholder:"Entrez une description pour votre bribe personnalisée",snippetPreview:"Prévisualiser la bribe",optional:"Optionnel",addImage:"Ajouter une image",changeImage:"Changer l’image",saveCSS:"Enregistrer le CSS"},reloadModal:{title:"Recharger",description:"Un rechargement de la page est requis pour finaliser cette opération.",reloadNow:"Recharger maintenant",reloadLater:"Recharger plus tard"},backupModal:{title:"Sauvegarder/Restaurer",settingsCopied:"Réglages copiés dans le presse-papier",noDataPasted:"Aucune donnée collée",invalidJSON:"JSON invalide",inputLabel:"Réglages du Marché",inputPlaceholder:"Copier/coller vos réglages ici",exportBtn:"Exporter",importBtn:"Importer",fileImportBtn:"Importer depuis un fichier"},devTools:{title:"Outils de développeurs de thèmes",noThemeInstalled:"Erreur: Aucun thème du marché n’est installé",noThemeManifest:"Erreur: Aucun manifeste de thème trouvé",colorIniEditor:"Éditeur Color.ini",colorIniEditorPlaceholder:"[nom-de-votre-schéma-de-couleur]",invalidCSS:"CSS invalide"},grid:{spicetifyMarketplace:"Marché Spicetify",newUpdate:"Nouvelle mise à jour",addCSS:"Ajouter CSS",search:"Rechercher",installed:"Installé",lastUpdated:"Dernière mise à jour {{val, datetime}}",externalJS:"JS externe",dark:"sombre",light:"clair",sort:{label:"Trier par:",stars:"Étoiles",newest:"Nouveauté",oldest:"Ancienneté",lastUpdated:"Dernière mise à jour",mostStale:"Le plus périmé",aToZ:"A-Z",zToA:"Z-A"}},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Chargement…",errorLoading:"Erreur lors du chargement du README"},github:"GitHub",install:"Installer",remove:"Supprimer",save:"Enregistrer",colour_one:"couleur",colour_other:"couleurs",favourite:"favoris"}},ru:{translation:{settings:{title:"Настройки",optionsHeading:"Основные",starCountLabel:"Отображать количество звезд",tagsLabel:"Отображать теги",showArchived:"Отображать архивные репозитории",devToolsLabel:"Включить инструменты разработчика тем",hideInstalledLabel:"Скрывать установленное в других вкладках",colourShiftLabel:"Менять цвета каждую минуту",albumArtBasedColors:"Использовать цвета на основе обложки альбома",albumArtBasedColorsMode:"Тип цвета",albumArtBasedColorsVibrancy:"Тип цветовой схемы на основе обложки альбома",albumArtBasedColorsVibrancyToolTip:"Desaturated: наиболее часто встречаемый в обложке цвет с малой яркостью \n Light Vibrant: самый насыщенный цвет с повышенной яркостью \n Prominent: наиболее часто встречаемый цвет в обложке альбома \n Vibrant: самый насыщенный цвет в обложке альбома",almbumArtColorsModeToolTip:"Monochrome Dark, Monochrome Light: основаны иcключительно на выбранном цвете, дополнительные цвета создаются путем изменения яркости основого. Противоположны друг другу: цвет, являющийся фоновым в Monochrome Light, в Monochrome Dark будет цветом переднего плана и наоборот. \n Analogic: палитра определяется выбранным и цветами, смежными с ним на цветовом круге. \n Analogic Complementary: схожа c Analogic, но сожержит также дополнительный цвет. \n Triad: палитра определяется основным цветом и цветами, равноудаленными от него. \n Quad: палитра определяется выбранным цветом и цветами, расположенных под углом 90 градусов к нему.",tabsHeading:"Вкладки",tabsDescription:"Перетаскивание для изменения порядка, щелчок для включения/выключения",resetHeading:"Сброс",resetBtn:"Сбросить",resetDescription:"Удалить все и сбросить настройки",backupHeading:"Резервное копирование и восстановление",backupLabel:"Сохранить или восстановить все данные Маркетплейса, за исключением настроек установленных тем и расширений.",backupBtn:"Открыть",versionHeading:"Версия",versionBtn:"Копировать",versionCopied:"Скопировано"},tabs:{Extensions:"Расширения",Themes:"Темы",Snippets:"Сниппеты",Apps:"Приложения",Installed:"Установленное"},snippets:{addTitle:"Добавление сниппета",duplicateName:"Сниппет с таким названием уже существует",editTitle:"Редактирование сниппета",viewTitle:"Просмотр сниппета",customCSS:"CSS",customCSSPlaceholder:"Вставьте сюда CSS вашего сниппета",snippetName:"Название",snippetNamePlaceholder:"Введите название для вашего сниппета",snippetDesc:"Описание",snippetDescPlaceholder:"Введите описание для вашего сниппета",snippetPreview:"Превью",optional:"необязательно",addImage:"Добавить изображение",changeImage:"Изменить изображение",saveCSS:"Сохранить"},reloadModal:{title:"Перезагрузка",description:"Необходима перезагрузка страницы для применения изменений",reloadNow:"Перезагрузить сейчас",reloadLater:"Перезагрузить позже"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Настройки скопированы в буфер обмена",noDataPasted:"Ничего не вставлено",invalidJSON:"Неверный JSON",inputLabel:"Настройки Маркетплейса",inputPlaceholder:"Вставьте ваши настройки сюда",exportBtn:"Экспортировать",importBtn:"Импортировать",fileImportBtn:"Импортировать из файла"},devTools:{title:"Инструменты разработчика тем",noThemeInstalled:"Ошибка: Не установлена тема из Маркетплейса",noThemeManifest:"Ошибка: Не найден манифест темы",colorIniEditor:"Редактор color.ini",colorIniEditorPlaceholder:"[название-вашей-цветовой-схемы]",invalidCSS:"Неверный CSS"},updateModal:{title:"Обновление Маркетплейса",description:"Обновите Маркетплейс для получения новых функций и исправлений.",currentVersion:"Текущая версия: {{version}}",latestVersion:"Последняя версия: {{version}}",whatsChanged:"Что нового",seeChangelog:"Посмотреть изменения",howToUpgrade:"Инструкция по обновлению",viewGuide:"Посмотреть инструкцию"},grid:{spicetifyMarketplace:"Маркетплейс Spicetify",newUpdate:"Доступно обновление",addCSS:"Добавить CSS",search:"Искать",installed:"Установлено",lastUpdated:"Обновлено: {{val, datetime}}",externalJS:"содержит JS",archived:"архивировано",dark:"темный",light:"светлый",sort:{label:"Сортировать:",stars:"по количеству звезд",newest:"сначала новые",oldest:"сначала старые",lastUpdated:"сначала недавно обновленные",mostStale:"сначала давно не обновлявшиеся",aToZ:"по названию (A-Z)",zToA:"по названию (Z-A)"}},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Загрузка...",errorLoading:"Ошибка загрузки README"},github:"GitHub",install:"Установить",remove:"Удалить",save:"Сохранить",colour_one:"цвет",colour_other:"цвета",favourite:"избранное",notifications:{wrongLocalTheme:"Пожалуйста, измените значение current_theme в config-xpui.ini на 'marketplace', чтобы использовать темы из Маркетплейса",tooManyRequests:"Слишком много запросов. Пожалуйста, попробуйте позже",noCdnConnection:"Маркетплейс не может подключиться к CDN. Пожалуйста, попробуйте позже",markdownParsingError:"Ошибка при парсинге Markdown (HTTP {{status}})",noReadmeFile:"README не найден",themeInstallationError:"Ошибка при установке темы",extensionInstallationError:"Ошибка при установке расширения"}}},"zh-TW":{translation:{settings:{title:"設定",optionsHeading:"選項",starCountLabel:"收藏數",tagsLabel:"標籤",devToolsLabel:"主題開發者工具",hideInstalledLabel:"瀏覽時隱藏已安裝項目",colourShiftLabel:"每分鐘進行色調偏移",tabsHeading:"分頁",tabsDescription:"拖放更改顺序,点击启用/禁用",resetHeading:"重設",resetBtn:"$t(settings.resetHeading)",resetDescription:"解除安裝所有擴充套件和主題, 並重設偏好設定",backupHeading:"備份與還原",backupLabel:"備份或還原所有 Marketplace 中的資料(不包含從 Marketplace 安裝的擴充元件的設定)。",backupBtn:"開啟",albumArtBasedColors:"根據專輯封面選色",albumArtBasedColorsMode:"色彩方案 (ColorApi) 模式",albumArtBasedColorsVibrancy:"已從專輯封面抽取顏色",albumArtBasedColorsVibrancyToolTip:"Desaturated:最突出但亮度較低的顏色 \n Light Vibrant:最接近 Vibrant 的色彩,但亮度稍微提升一些 \n Prominent:專輯封面裡面出現最多的色彩 \n Vibrant:專輯中最明亮的色彩",almbumArtColorsModeToolTip:"Monochrome Dark:這個色彩方案直接以選擇的主色彩為基礎,但使用比較不一樣的色調並且融入灰色。這和 Monochrome Light 正好相反。 \n Monochrome Light:這個色彩方案直接以選擇的主色彩為基礎,但使用比較不一樣的色調並且融入灰色。這和 Monochrome Light 正好相反。Monochrome Light 的背景色會是 Monochrome Dark 的前景或文字顏色,反之亦然。 \n Analogic:這個色彩方案以選擇的主色彩為基礎,使用色環上主色彩鄰近的色彩。 \n Analogic Complementary:這個色彩方案以選擇的主色彩為基礎,使用色環上主色彩鄰近的色彩以及互補色。 \n Triad:這個色彩方案以選擇的主色彩為基礎,使用色環上和主色彩距離相等的顏色。 \n Quad:這個色彩方案以選擇的主色彩為基礎,使用色環上和主色彩差 90 度的顏色。",versionHeading:"版本",versionBtn:"複製",versionCopied:"已複製"},tabs:{Extensions:"擴充套件",Themes:"主題",Snippets:"微調片段",Apps:"功能模組",Installed:"已安裝項目"},snippets:{addTitle:"加入微調片段",editTitle:"編輯微調片段",viewTitle:"檢視微調片段",customCSS:"自訂 CSS",customCSSPlaceholder:"這裡可以輸入您的自訂 CSS!您可以在「已安裝項目」分頁中看到這些片段,進而進行管理。",snippetName:"微調片段名稱",snippetNamePlaceholder:"輸入自訂微調片段的名稱",snippetDesc:"微調片段描述",snippetDescPlaceholder:"輸入自訂微調片段的描述",snippetPreview:"微調片段預覽圖",optional:"非必須",addImage:"加入影像",changeImage:"更改影像",saveCSS:"儲存 CSS"},reloadModal:{title:"重新載入",description:"需要重新載入頁面,才能完成這個操作。",reloadNow:"立即重新載入",reloadLater:"稍後重新載入"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"已將設定複製至剪貼簿",noDataPasted:"沒有貼上資料",invalidJSON:"JSON 無效",inputLabel:"Marketplace 設定",inputPlaceholder:"在此複製或貼上設定",exportBtn:"匯出",importBtn:"匯入",fileImportBtn:"從檔案匯入"},devTools:{title:"主題開發者工具",noThemeInstalled:"錯誤:沒有安裝 Marketplace 主題",noThemeManifest:"錯誤:找不到主題資訊清單",colorIniEditor:"Color.ini 編輯器",colorIniEditorPlaceholder:"[您的色彩配置名稱]",invalidCSS:"CSS 無效"},grid:{spicetifyMarketplace:"Spicetify Marketplace",newUpdate:"有更新",addCSS:"加入 CSS",search:"搜尋",installed:"已經安裝",lastUpdated:"上次更新於 {{val, datetime}}",externalJS:"有外部 JS",dark:"暗色",light:"亮色"},readmePage:{title:"$t(grid.spicetifyMarketplace) – 說明",loading:"正在載入……",errorLoading:"載入 README 時發生錯誤"},github:"GitHub",install:"安裝",remove:"移除",save:"儲存",colour_one:"色彩",colour_other:"色彩",favourite:"收藏"}},"zh-CN":{translation:{settings:{title:"设置",optionsHeading:"选项",starCountLabel:"收藏数",tagsLabel:"标签",devToolsLabel:"主題开发者工具",hideInstalledLabel:"浏览时隐藏已安装项目",colourShiftLabel:"每分钟进行色调偏移",tabsHeading:"分页",tabsDescription:"拖放更改顺序,点击启用/禁用",resetHeading:"重置",resetBtn:"$t(settings.resetHeading)",resetDescription:"卸载所有扩展插件和主题,并重置设置"},tabs:{Extensions:"扩展插件",Themes:"主题",Snippets:"微调片段",Apps:"功能模组",Installed:"已安裝项目"},snippets:{addTitle:"加入微调片段",editTitle:"编辑微调片段",viewTitle:"检视微调片段",customCSS:"自定义 CSS",customCSSPlaceholder:"这里可以输入您的自定义 CSS!您可以在「已安裝项目」标签页中看到这些片段,进而进行管理。",snippetName:"微调片段名称",snippetNamePlaceholder:"输入自定义微调片段的名称",snippetDesc:"微调片段描述",snippetDescPlaceholder:"输入自定义微调片段的描述",snippetPreview:"微调片段预览图",optional:"非必要",addImage:"加入影像",changeImage:"更改影像",saveCSS:"保存 CSS"},reloadModal:{title:"重新加载",description:"需要重新加载页面,才能完成这个操作。",reloadNow:"立即重新加载",reloadLater:"稍后重新加载"},devTools:{title:"主題开发者工具",noThemeInstalled:"错误:未安装商场主题",noThemeManifest:"错误:找不到主题内容清单",colorIniEditor:"Color.ini 编辑器",colorIniEditorPlaceholder:"[您的色彩配置名称]",invalidCSS:"CSS 无效"},grid:{spicetifyMarketplace:"Spicetify 商场",newUpdate:"有更新",addCSS:"加入 CSS",search:"搜索",installed:"已安装",lastUpdated:"上次更新于 {{val, datetime}}",externalJS:"有外部 JS",dark:"暗色模式",light:"亮色模式"},readmePage:{title:"$t(grid.spicetifyMarketplace) – 说明",loading:"正在加载……",errorLoading:"加载 README 时发生错误"},github:"GitHub",install:"安裝",remove:"移除",save:"保存",colour_one:"色彩",colour_other:"色彩",favourite:"收藏"}},et:{translation:{settings:{title:"Turu seaded",optionsHeading:"Seaded",starCountLabel:"Tähtede arv",tagsLabel:"Sildid",devToolsLabel:"Teema arendaja tööriistad",hideInstalledLabel:"Peida sirvimisel paigaldatud",colourShiftLabel:"Muutke värve iga minut",albumArtBasedColors:"Muutke värve albumipildi põhjal",albumArtBasedColorsMode:"Värviskeemi (ColorApi) režiim",albumArtBasedColorsVibrancy:"Albumipildilt haaratud värv",albumArtBasedColorsVibrancyToolTip:"Desaturated: Värv, mis on kõige silmatorkavam, kuid palju väiksema heledusega \n Light vibrant: Kõige erksam värv, kuid veidi suurendatud heledusega \n Prominent: Värv, mis ilmub albumi kujunduses kõige rohkem \n Vibrant: Albumipildi kõige elavam värv",almbumArtColorsModeToolTip:"Monochrome dark: Värvilahendus, mis põhineb otse valitud põhivärvil, kasutades põhivärvi erinevaid toone ja segades värviskeemi loomiseks halle, see on ühevärvlise heleda pöördväärtus. \n Monochrome light: Värvilahendus, mis põhineb otse valitud põhivärvil, kasutades põhivärvi erinevaid toone ja segades värviskeemi loomiseks halle. Ühevärvilise valguse taust oleks ühevärvilise tumeda esiplaani või teksti värv ja vastupidi. \n Analogic: Valitud põhivärvil põhinev värviskeem, kasutades värviratta põhivärviga külgnevaid värve. \n Analogic complement: Valitud põhivärvil põhinev värviskeem, kasutades värviratta põhivärviga külgnevaid värve ja lisavärvi. \n Triad: Valitud põhivärvil põhinev värviskeem, kasutades põhivärvist võrdsel kaugusel asuvaid värviratta värve. \n Quad: Valitud põhivärvil põhinev värviskeem, kasutades värvirattal olevaid värve, mis on põhivärvist 90 kraadi.",tabsHeading:"Vahekaardid",tabsDescription:"Järjekorra muutmiseks lohista ja eemalda, lubamiseks/välja lülitamiseks klõpsa",resetHeading:"Reset",resetBtn:"$t(settings.resetHeading)",resetDescription:"Uninstall all extensions and themes, and reset preferences",backupHeading:"Varunda/Taasta",backupLabel:"Varunda või taasta kõik turu andmed. See ei hõlma turu kaudu paigaldatud elementide seadeid.",backupBtn:"Ava",versionHeading:"Versioon",versionBtn:"Kopeeri",versionCopied:"Kopeeritud"},tabs:{Extensions:"Lisad",Themes:"Teemad",Snippets:"Katked",Apps:"Rakendused",Installed:"Paigaldatud"},snippets:{addTitle:"Lisa katkend",editTitle:"Muuda katkendit",viewTitle:"Vaata katkendit",customCSS:"Kohandatud CSS",customCSSPlaceholder:"Paigalda Kohandatud CSS siia! Haldamiseks leiate need paigaldatud vahekaardilt.",snippetName:"Katkendi nimi",snippetNamePlaceholder:"Lisa kohandatud katkendi nimi",snippetDesc:"Katkendi kirjeldus",snippetDescPlaceholder:"Lisa kohandatud katkendi kirjeldus",snippetPreview:"Katkendi eelvaade",optional:"valikuline",addImage:"Lisa pilt",changeImage:"Muuda pilti",saveCSS:"Salvesta CSS"},reloadModal:{title:"Laadi uuesti",description:"Selle toimingu lõpuleviimiseks on vaja leht uuesti laadida.",reloadNow:"Laadige kohe uuesti",reloadLater:"Laadige hiljem uuesti"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Seaded kopeeriti lõikelauale",noDataPasted:"Andmeid pole kleebitud",invalidJSON:"Vale JSON",inputLabel:"Turu Seaded",inputPlaceholder:"Kopeeri/kleebi enda seaded siia",exportBtn:"Ekspordi",importBtn:"Impordi",fileImportBtn:"Impordi failist"},devTools:{title:"Teema arendustööriistad",noThemeInstalled:"Viga: Turu teemat pole installitud",noThemeManifest:"Viga: Teema manifesti ei leitud",colorIniEditor:"Color.ini redaktor",colorIniEditorPlaceholder:"[teie-värviskeemi-nimi]",invalidCSS:"Vigane CSS"},grid:{spicetifyMarketplace:"Spicetify Turg",newUpdate:"Uus värskendus",addCSS:"Lisa CSS",search:"Otsi",installed:"Paigaldatud",lastUpdated:"Viimati uuendatud {{val, datetime}}",externalJS:"väline JS",dark:"tume",light:"hele"},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Laadimine...",errorLoading:"Viga README laadimisel"},github:"GitHub",install:"Paigalda",remove:"Eemalda",save:"Salvesta",colour_one:"värv",colour_other:"värvid",favourite:"lemmik"}},pl:{translation:{settings:{title:"Ustawienia Marketplace",optionsHeading:"Opcje",starCountLabel:"Ilość gwiazdek",tagsLabel:"Tagi",showArchived:"Pokaż archiwalne repozytoria",devToolsLabel:"Narzędzia do tworzenia motywów",hideInstalledLabel:"Ukryj zainstalowane podczas przeglądania",colourShiftLabel:"Zmieniaj kolory co minutę",albumArtBasedColors:"Zmień kolory bazując na okładce albumu",albumArtBasedColorsMode:"Tryb schematu kolorów (ColorApi)",albumArtBasedColorsVibrancy:"Kolor pobrany z okładki albumu",albumArtBasedColorsVibrancyToolTip:"Nasycony: Kolor, który jest najbardziej widoczny, ale o znacznie mniejszej jasności. \nJasny wibrujący: Najbardziej żywy kolor, ale z nieco zwiększoną jasnością. \nWyraźny: Kolor, który najbardziej rzuca się w oczy na okładce albumu. \nWibrujący: Najbardziej żywy kolor na okładce albumu",almbumArtColorsModeToolTip:"Monochromatyczny ciemny: Schemat kolorów oparty bezpośrednio na wybranym głównym kolorze, wykorzystujący różne odcienie głównego koloru i mieszający szarości w celu stworzenia schematu kolorów, jest to odwrotność Monochromatycznego jasnego. \nMonochromatyczny jasny: Schemat kolorów oparty bezpośrednio na wybranym głównym kolorze, wykorzystujący różne odcienie głównego koloru i mieszanie szarości w celu utworzenia schematu kolorów. Tło monochromatycznego światła będzie na pierwszym planie lub kolorem tekstu w monochromatycznym ciemnym i odwrotnie. \nAnalogowy: Schemat kolorów oparty na wybranym głównym kolorze, wykorzystujący kolory sąsiadujące z głównym kolorem na kole kolorów. \nUzupełnienie analogowe: Schemat kolorów oparty na wybranym głównym kolorze, wykorzystujący kolory sąsiadujące z głównym kolorem na kole kolorów i kolorem uzupełniającym. \nTriada: Schemat kolorów oparty na wybranym głównym kolorze, wykorzystujący kolory na kole kolorów, które są w równej odległości od głównego koloru. \nQuad: Schemat kolorów oparty na wybranym głównym kolorze, wykorzystujący kolory na kole kolorów, które są oddalone o 90 stopni od głównego koloru.",tabsHeading:"Karty",tabsDescription:"Przeciągnij i upuść, aby zmienić kolejność, kliknij, aby włączyć/wyłączyć",resetHeading:"Reset",resetBtn:"Zresetuj",resetDescription:"Odinstaluj wszystkie rozszerzenia, motywy i zresetuj preferencje",backupHeading:"Kopia zapasowa/Przywracanie kopii",backupLabel:"Utwórz kopię zapasową lub przywróć wszystkie dane Marketplace. Kopia nie zawiera ustawień dla rzeczy zainstalowanych poprzez Marketplace.",backupBtn:"Otwórz",versionHeading:"Wersja",versionBtn:"Skopiuj",versionCopied:"Skopiowano"},tabs:{Extensions:"Rozszerzenia",Themes:"Motywy",Snippets:"Snippety",Apps:"Aplikacje",Installed:"Zainstalowane"},snippets:{addTitle:"Dodaj Snippet",duplicateName:"Ta nazwa jest już zajęta!",editTitle:"Edytuj Snippet",viewTitle:"Pokaż Snippet",customCSS:"Niestandardowy CSS",customCSSPlaceholder:"Wprowadź tutaj swój własny CSS! Możesz go znaleźć w zakładce 'Zainstalowane' aby nim zarządzać.",snippetName:"Nazwa snippetu",snippetNamePlaceholder:"Wprowadź nazwę swojego niestandardowego snippetu",snippetDesc:"Opis snippetu",snippetDescPlaceholder:"Wpisz opis swojego snippetu",snippetPreview:"Podgląd snippetu",optional:"Opcjonalne",addImage:"Dodaj obraz",changeImage:"Zmień obraz",saveCSS:"Zapisz CSS"},reloadModal:{title:"Przeładuj",description:"Do ukończenia tej operacji wymagane jest przeładowanie strony.",reloadNow:"Przeładuj teraz",reloadLater:"Przeładuj póżniej"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Skopiowano do schowka",noDataPasted:"Dane nie zostały wklejone",invalidJSON:"Nieprawidłowy JSON",inputLabel:"Ustawienia Marketplace",inputPlaceholder:"Skopiuj/wklej tu swoje ustawienia",exportBtn:"Eksportuj",importBtn:"Importuj",fileImportBtn:"Importuj z pliku"},devTools:{title:"Narzędzia developerskie do motywów",noThemeInstalled:"Błąd: Nie zainstalowano motywu",noThemeManifest:"Błąd: Nie znaleziono pliku manifestu motywu",colorIniEditor:"Edytor color.ini",colorIniEditorPlaceholder:"[nazwa-twojego-koloru]",invalidCSS:"Nieprawidłowy CSS"},updateModal:{title:"Zaktualizuj Marketplace",description:"Zaktualizuj Spicetify Marketplace, aby otrzymywać nowe funkcje i poprawki błędów.",currentVersion:"Obecna wersja: {{version}}",latestVersion:"Najnowsza wersja: {{version}}",whatsChanged:"Co się zmieniło",seeChangelog:"Zobacz zmiany",howToUpgrade:"Jak zaktualizować",viewGuide:"Zobacz przewodnik"},grid:{spicetifyMarketplace:"Spicetify Marketplace",newUpdate:"Nowa aktualizacja",addCSS:"Dodaj CSS",search:"Wyszukaj",installed:"Zainstalowane",lastUpdated:"Ostatnio zaktualizowane {{val, datetime}}",externalJS:"zewnętrzny JS",archived:"archiwalny",dark:"ciemny",light:"jasny",sort:{label:"Sortuj po:",stars:"Ilość gwiazdek",newest:"Najnowsze",oldest:"Najstarsze",lastUpdated:"Ostatnio zaktualizowane",mostStale:"Najrzadziej aktualizowane",aToZ:"A-Z",zToA:"Z-A"}},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Ładowanie...",errorLoading:"Błąd podczas ładowania README"},github:"GitHub",install:"Zainstaluj",remove:"Odinstaluj",save:"Zapisz",colour_one:"kolor",colour_other:"kolory",favourite:"ulubione",notifications:{wrongLocalTheme:'Ustaw current_theme w config-xpui.ini na "marketplace", aby instalować motywy za pomocą Marketplace.',tooManyRequests:"Za dużo żądań, spokojnie",noCdnConnection:"Marketplace nie może połączyć się z CDN. Sprawdź swoją konfigurację internetową",markdownParsingError:"Błąd podczas parsowania markdownu (HTTP {{status}})",noReadmeFile:"Nie znaleziono README",themeInstallationError:"Wystąpił błąd podczas instalacji motywu",extensionInstallationError:"Wystąpił błąd podczas instalacji rozszerzenia"}}},it:{translation:{settings:{title:"Impostazioni Marketplace",optionsHeading:"Opzioni",starCountLabel:"Contatore stelle",tagsLabel:"Tag",showArchived:"Mostra repository archiviati",devToolsLabel:"Strumenti di sviluppo del tema",hideInstalledLabel:"Nascondi i pacchetti già installati durante la navigazione",colourShiftLabel:"Cambia colori ogni minuto",albumArtBasedColors:"Cambia i colori in base alla copertina dell'album",albumArtBasedColorsMode:"Schema colori modalità (ColorApi)",albumArtBasedColorsVibrancy:"Colore preso dalla copertina dell'album",albumArtBasedColorsVibrancyToolTip:"Desaturato: Il colore predominante ma con molta meno luminosità \n Vibrante Chiaro: Il colore più intenso ma con la luminosità aumentata leggermente \n Predominante: Il colore che spicca di più nella copertina dell'album \n Vibrante: Il colore più intenso nella copertina dell'album",almbumArtColorsModeToolTip:"Monocromo Scuro: Uno schema di colori basato direttamente sul colore principale selezionato, utilizzando diverse sfumature del colore principale e mescolando i grigi per creare uno schema di colori; questo è l'inverso di Monocromo Chiaro. \n Monocromo Chiaro: Uno schema di colori basato direttamente sul colore principale selezionato, utilizzando diverse sfumature del colore principale e mescolando i grigi per creare uno schema di colori. Lo sfondo di Monocromo Chiaro sarebbe il colore del testo o di quello in primo piano su Monocromo Scuro e viceversa. \n Armonico: Uno schema di colori basato sul colore principale selezionato, utilizzando i colori adiacenti al colore principale sulla ruota dei colori.\n Armonico Complementare: Uno schema di colori basato sul colore principale selezionato, utilizzando i colori adiacenti al colore principale sulla ruota dei colori e il colore complementare. \n Ternario: Uno schema di colori basato sul colore principale selezionato, utilizzando i colori sulla ruota dei colori che sono equidistanti dal colore principale. \n Quaternario: Uno schema di colori basato sul colore principale selezionato, utilizzando i colori sulla ruota dei colori che sono a 90 gradi dal colore principale.",tabsHeading:"Schede",tabsDescription:"Trascinare e rilasciare per cambiare l'ordine, cliccare per attivare/disattivare",resetHeading:"Reimposta",resetBtn:"$t(settings.resetHeading)",resetDescription:"Disinstalla tutte le estensioni e i temi, e ripristina le preferenze",backupHeading:"Backup/Ripristino",backupLabel:"Effettua il backup o ripristina tutti i dati del Marketplace. Questo non include le impostazioni per qualsiasi elemento installato tramite Marketplace.",backupBtn:"Apri",versionHeading:"Versione",versionBtn:"Copia",versionCopied:"Copiato"},tabs:{Extensions:"Estensioni",Themes:"Temi",Snippets:"Moduli",Apps:"Applicazioni",Installed:"Installato"},snippets:{addTitle:"Aggiungi Modulo",duplicateName:"Questo nome è già stato utilizzato!",editTitle:"Modifica Modulo",viewTitle:"Visualizza Modulo",customCSS:"CSS personalizzato",customCSSPlaceholder:"Scrivi qui il tuo CSS personalizzato! Puoi trovarli nella scheda degli installati per la gestione.",snippetName:"Nome Modulo",snippetNamePlaceholder:"Inserisci un nome per il tuo modulo personalizzato",snippetDesc:"Descrizione Modulo",snippetDescPlaceholder:"Inserisci una descrizione per il tuo modulo personalizzato",snippetPreview:"Anteprima Modulo",optional:"Opzionale",addImage:"Aggiungi immagine",changeImage:"Cambia immagine",saveCSS:"Salva CSS"},reloadModal:{title:"Ricarica",description:"È necessario ricaricare la pagina per completare questa operazione.",reloadNow:"Ricarica",reloadLater:"Più tardi"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Impostazioni copiate negli appunti",noDataPasted:"Nessun dato incollato",invalidJSON:"JSON non valido",inputLabel:"Impostazioni Marketplace",inputPlaceholder:"Copia/incolla qui le tue impostazioni",exportBtn:"Esporta",importBtn:"Importa",fileImportBtn:"Importa da file"},devTools:{title:"Strumenti di sviluppo del tema",noThemeInstalled:"Errore: Nessun tema del Marketplace installato",noThemeManifest:"Errore: Nessun manifest del tema trovato",colorIniEditor:"Editor Color.ini",colorIniEditorPlaceholder:"[nome-del-tuo-schema-colori]",invalidCSS:"Classi CSS non valide"},updateModal:{title:"Aggiorna il Marketplace",description:"Aggiorna Spicetify Marketplace per ricevere nuove funzionalità e correzioni dei bug.",currentVersion:"Versione attuale: {{version}}",latestVersion:"Ultima versione: {{version}}",whatsChanged:"Cos'è Cambiato",seeChangelog:"Guarda il changelog",howToUpgrade:"Come effettuare l'aggiornamento",viewGuide:"Visualizza guida"},grid:{spicetifyMarketplace:"Spicetify Marketplace",newUpdate:"Nuovo aggiornamento",addCSS:"Aggiungi CSS",search:"Cerca",installed:"Installato",lastUpdated:"Ultimo aggiornamento {{val, datetime}}",externalJS:"jS esterno",archived:"archiviato",dark:"scuro",light:"chiaro",sort:{label:"Ordina per:",stars:"Valutazione",newest:"Più recente",oldest:"Meno recenti",lastUpdated:"Ultimo aggiornamento",mostStale:"Meno Aggiornato",aToZ:"A-Z",zToA:"Z-A"}},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Caricamento...",errorLoading:"Errore nel caricamento del README"},github:"GitHub",install:"Installa",remove:"Rimuovi",save:"Salva",colour_one:"colore",colour_other:"colori",favourite:"preferito",notifications:{wrongLocalTheme:"Si prega d'impostare current_theme in config-xpui.ini su 'marketplace' per installare temi utilizzando il Marketplace",tooManyRequests:"Troppe richieste, attendi un momento",noCdnConnection:"Il Marketplace non riesce a connettersi al CDN. Si prega di controllare la configurazione Internet",markdownParsingError:"Errore durante l'analisi del Markdown (HTTP {{status}})",noReadmeFile:"Nessun README trovato",themeInstallationError:"Si è verificato un errore durante l'installazione del tema",extensionInstallationError:"Si è verificato un errore durante l'installazione dell'estensione"}}},uk:{translation:{settings:{title:"Налаштування Маркетплейсу",optionsHeading:"Налаштування",starCountLabel:"Кількість зірок",tagsLabel:"Теги",showArchived:"Показати заархівовані репозиторії",devToolsLabel:"Інструменти розробника тем",hideInstalledLabel:"Сховати встановлені",colourShiftLabel:"Змінювати колір кожну хвилину",albumArtBasedColors:"Змінювати колір в залежності від обкладинки альбому",albumArtBasedColorsMode:"Кольорова схема (ColorApi)",albumArtBasedColorsVibrancy:"Колір взято з обкладинки альбому",albumArtBasedColorsVibrancyToolTip:"Насичений: Колір, який є найбільш помітним, але з набагато меншою яскравістю \n Light Vibrant (Яскравий): Найяскравіший колір, але з дещо підвищеною яскравістю \n Виразний: Колір, який найбільше виділяється на обкладинці альбому \n Яскравий: Найяскравіший колір на обкладинці альбому",almbumArtColorsModeToolTip:"Монохромний темний: кольорова схема, що базується безпосередньо на вибраному основному кольорі, з використанням різних відтінків основного кольору та змішуванням сірих кольорів для створення кольорової схеми, це протилежність монохромного світлого. \n Монохромний світлий: Кольорова схема, що базується безпосередньо на вибраному основному кольорі, з використанням різних відтінків основного кольору та змішуванням сірих кольорів для створення кольорової схеми. Тло монохромного світлого буде переднім планом або кольором тексту на монохромному темному, і навпаки. \n Аналоговий: Кольорова схема, заснована на вибраному основному кольорі з використанням кольорів, суміжних з основним кольором на колірному колі. \n Аналогово-доповнювальна: Кольорова схема на основі вибраного основного кольору з використанням сусідніх з ним кольорів на колірному колі та додаткового кольору. \n Тріада: Кольорова схема на основі вибраного основного кольору з використанням кольорів на колі кольорів, рівновіддалених від основного кольору. \n Квадрат: Кольорова схема на основі вибраного основного кольору з використанням кольорів на колі кольорів, розташованих під кутом 90 градусів до основного кольору.",tabsHeading:"Вкладки",tabsDescription:"Перетягніть, щоб змінити порядок, натисніть, щоб увімкнути/вимкнути",resetHeading:"Скинути",resetBtn:"$t(settings.resetHeading)",resetDescription:"Видалити усі розширення і теми, та скинути налаштування",backupHeading:"Резервне копіювання/Відновлення",backupLabel:"Копіювати або відновити всі дані Маркетплейсу. Це не включає в себе налаштування всього, що встановлено через Маркетплейс",backupBtn:"Відкрити",versionHeading:"Версія",versionBtn:"Копіювати",versionCopied:"Скопійовано"},tabs:{Extensions:"Розширення",Themes:"Теми",Snippets:"Фрагменти",Apps:"Застосунки",Installed:"Встановлено"},snippets:{addTitle:"Додати фрагмент",duplicateName:"Ця назва вже зайнята!",editTitle:"Редагувати фрагмент",viewTitle:"Переглянути фрагмент",customCSS:"Користувацький CSS",customCSSPlaceholder:"Введіть свій власний CSS тут! Ви можете знайти їх у вкладці управління встановленими файлами.",snippetName:"Назва фрагменту",snippetNamePlaceholder:"Введіть ім'я для вашого користувацького фрагменту",snippetDesc:"Опис фрагменту",snippetDescPlaceholder:"Введіть опис для вашого користувацького фрагменту",snippetPreview:"Перегляд фрагменту",optional:"Необов'язковий",addImage:"Додати світлину",changeImage:"Змінити світлину",saveCSS:"Зберегти CSS"},reloadModal:{title:"Перезавантажити",description:"Для завершення цієї операції потрібно перезавантажити сторінку",reloadNow:"Перезавантажити зараз",reloadLater:"Перезавантажити пізніше"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Налаштування скопійовано у буфер обміну",noDataPasted:"Дані не вставлено",invalidJSON:"Недійсний JSON",inputLabel:"Налаштування Маркетплейсу",inputPlaceholder:"Скопіювати/вставити свої налаштування сюди",exportBtn:"Експорт",importBtn:"Імпорт",fileImportBtn:"Імпортувати з файлу"},devTools:{title:"Інструменти розробника тем",noThemeInstalled:"Помилка: Тему Маркетплейсу не встановлено",noThemeManifest:"Помилка: маніфест теми не знайдено",colorIniEditor:"Редактор Color.ini",colorIniEditorPlaceholder:"[your-colour-scheme-name]",invalidCSS:"Недійсний CSS"},updateModal:{title:"Оновити Маркетплейс",description:"Оновіть Spicetify Marketplace щоб отримувати нові функції і багфікси.",currentVersion:"Поточна версія: {{version}}",latestVersion:"Остання версія: {{version}}",whatsChanged:"Що змінилося",seeChangelog:"Переглянути список змін",howToUpgrade:"Як оновлюватися",viewGuide:"Переглянути посібник"},grid:{spicetifyMarketplace:"Маркетплейс Spicetify",newUpdate:"Нове оновлення",addCSS:"Додати CSS",search:"Пошук",installed:"Встановлено",lastUpdated:"Востаннє оновлено {{val, datetime}}",externalJS:"зовнішній JS",archived:"заархівоване",dark:"темний",light:"світлий",sort:{label:"Сортувати за:",stars:"Зірки",newest:"Новіші",oldest:"Старіші",lastUpdated:"Останнє оновлене",mostStale:"Найнесвіжіший",aToZ:"A-Z",zToA:"Z-A"}},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Завантаження...",errorLoading:"Помилка завантаження README"},github:"GitHub",install:"Встановити",remove:"Видалити",save:"Зберегти",colour_one:"колір",colour_other:"кольори",favourite:"улюблене",notifications:{wrongLocalTheme:"Будь ласка, поставте 'marketplace' у змінну current_theme у файлі config-xpui.ini щоб встановлювати теми за допомогою Маркетплейсу",tooManyRequests:"Забагато запитів, зачекайте",noCdnConnection:"Маркетплейс не може зв'язатися з CDN. Будь ласка, перевірте вашу конфігурацію Інтернету",markdownParsingError:"Помилка розбору markdown (HTTP {{status}})",noReadmeFile:"README не знайдено",themeInstallationError:"Сталася помилка при встановленні теми",extensionInstallationError:"Сталася помилка при встановленні розширення"}}},ja:{translation:{settings:{title:"マーケットプレイスの設定",optionsHeading:"オプション",starCountLabel:"スターの数",tagsLabel:"タグ",showArchived:"アーカイブされたリポジトリを表示",devToolsLabel:"テーマ開発者ツール",hideInstalledLabel:"ブラウジング時にインストール済みを非表示にする",colourShiftLabel:"1分ごとに色を変更",albumArtBasedColors:"アルバムアートに基づいて色を変更",albumArtBasedColorsMode:"カラースキーム(ColorApi)モード",albumArtBasedColorsVibrancy:"アルバムアートから取得した色",albumArtBasedColorsVibrancyToolTip:"Desaturated: 最も目立つ色だが、明るさがはるかに抑えられています \n Light Vibrant: 最も活気ある色ですが、明るさが少し増しています \n Prominent: アルバムアートで最も目立つ色です \n Vibrant: アルバムアートで最も鮮やかな色です",almbumArtColorsModeToolTip:"Monochrome Dark: 選択したメインカラーを基にした色の配色スキームで、メインカラーの異なる濃淡やグレーを混ぜて配色することで、これはMonochrome Lightの反対です。 \n Monochrome Light: 選択したメインカラーを直接基にした色の配色スキームで、メインカラーの異なる濃淡やグレーを混ぜて配色します。Monochrome Lightの背景色は、Monochrome Darkの前景色やテキスト色となり、その逆も同様です。 \n Analogic: 選択されたメインカラーを基に、カラーホイール上でメインカラーに隣接する色を使用した配色スキームです。 \n Analogic Complementary: 選択したメインカラーを基に、カラーホイール上でメインカラーに隣接する色と補色を使用した配色スキームです。 \n Triad: 選択したメインカラーを基に、カラーホイール上でメインカラーから等距離にある色を使用した配色スキームです。 \n Quad: 選択されたメインカラーを基に、カラーホイール上でメインカラーから90度離れた色を使用した配色スキームです。",tabsHeading:"タブ",tabsDescription:"ドラッグ&ドロップで順序を変更し、クリックで有効/無効を切り替える",resetHeading:"リセット",resetBtn:"$t(settings.resetHeading)",resetDescription:"すべての拡張機能とテーマをアンインストールし、設定をリセットします",backupHeading:"バックアップ/リストア",backupLabel:"すべてのマーケットプレイスデータのバックアップまたはリストアを行います。これには、マーケットプレイスを介してインストールされた設定は含まれません。",backupBtn:"開く",versionHeading:"バージョン",versionBtn:"コピー",versionCopied:"コピーされました"},tabs:{Extensions:"拡張機能",Themes:"テーマ",Snippets:"スニペット",Apps:"アプリ",Installed:"インストール済み"},snippets:{addTitle:"スニペットを追加",duplicateName:"その名前は既に使われています!",editTitle:"スニペットを編集",viewTitle:"スニペットを表示",customCSS:"カスタムCSS",customCSSPlaceholder:"ここにカスタムCSSを入力してください! 管理用のインストール済みタブで見つけることができます。",snippetName:"スニペット名",snippetNamePlaceholder:"カスタムスニペットの名前を入力してください",snippetDesc:"スニペットの説明",snippetDescPlaceholder:"カスタムスニペットの説明を入力してください",snippetPreview:"スニペットプレビュー",optional:"オプション",addImage:"画像を追加",changeImage:"画像を変更",saveCSS:"CSSを保存"},reloadModal:{title:"リロード",description:"この操作を完了するにはページのリロードが必要です。",reloadNow:"今すぐ読み込む",reloadLater:"後で読み込む"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"設定がクリップボードにコピーされました",noDataPasted:"データが貼り付けられていません",invalidJSON:"無効なJSON",inputLabel:"マーケットプレイスの設定",inputPlaceholder:"ここに設定をコピー&ペーストしてください",exportBtn:"エクスポート",importBtn:"インポート",fileImportBtn:"ファイルからインポート"},devTools:{title:"テーマ開発ツール",noThemeInstalled:"エラー:マーケットプレイスのテーマがインストールされていません",noThemeManifest:"エラー:テーママニフェストが見つかりませんでした",colorIniEditor:"Color.ini Editor",colorIniEditorPlaceholder:"[your-colour-scheme-name]",invalidCSS:"無効なCSS"},updateModal:{title:"マーケットプレイスの更新",description:"新機能やバグ修正を受け取るために、Spicetify Marketplaceを更新してください。",currentVersion:"現在のバージョン: {{version}}",latestVersion:"最新のバージョン: {{version}}",whatsChanged:"変更内容",seeChangelog:"変更履歴を見る",howToUpgrade:"アップグレード方法",viewGuide:"ガイドを見る"},grid:{spicetifyMarketplace:"Spicetify Marketplace",newUpdate:"新しいアップデート",addCSS:"CSSを追加",search:"検索",installed:"インストール済み",lastUpdated:"{{val, datetime}}に最終更新",externalJS:"外部JS",archived:"アーカイブ済み",dark:"ダーク",light:"ライト",sort:{label:"並べ替え:",stars:"スター",newest:"最新",oldest:"最古",lastUpdated:"最終更新",mostStale:"最も古い",aToZ:"A-Z",zToA:"Z-A"}},readmePage:{title:"$t(grid.spicetifyMarketplace) - README",loading:"読み込み中...",errorLoading:"READMEの読み込み中にエラーが発生しました"},github:"GitHub",install:"インストール",remove:"削除",save:"保存",colour_one:"色",colour_other:"色",favourite:"お気に入り",notifications:{wrongLocalTheme:"config-xpui.iniのcurrent_themeを 'marketplace' に設定して、マーケットプレイスを使用してテーマをインストールしてください",tooManyRequests:"リクエストが多すぎます。時間をおいて再試行してください",noCdnConnection:"マーケットプレイスがCDNに接続できません。インターネットの設定を確認してください",markdownParsingError:"Markdownの解析エラー(HTTP {{status}})",noReadmeFile:"READMEが見つかりませんでした",themeInstallationError:"テーマのインストール中にエラーが発生しました",extensionInstallationError:"拡張機能のインストール中にエラーが発生しました"}}},"pt-BR":{translation:{settings:{title:"Opções do Marketplace",optionsHeading:"Opções",starCountLabel:"Quantidade de Estrelas",tagsLabel:"Tags",showArchived:"Exibir repositórios arquivados",devToolsLabel:"Ferramentas para desenvolvedores de temas",hideInstalledLabel:"Ocultar a instalação durante a navegação",colourShiftLabel:"Mudança de cores a cada minuto",albumArtBasedColors:"Alterar as cores com base na arte do álbum",albumArtBasedColorsMode:"Modo de esquema de cores (ColorApi)",albumArtBasedColorsVibrancy:"Cor extraída da arte do álbum",albumArtBasedColorsVibrancyToolTip:"Desaturada: A cor que é a mais proeminente, mas com muito menos brilho \n Vibrante claro: A cor mais vibrante, mas com o brilho um pouco mais intenso \n Proeminente: A cor que mais se destaca na arte do álbum \n Vibrante: A cor mais vibrante na arte do álbum",almbumArtColorsModeToolTip:"Monocromático Escuro: um esquema de cores baseado diretamente na cor principal selecionada, usando diferentes tons da cor principal e misturando cinzas para criar um esquema de cores; esse é o inverso do Monocromático claro. \n Monocromática Leve: Um esquema de cores baseado diretamente na cor principal selecionada, usando diferentes tons da cor principal e misturando cinzas para criar um esquema de cores. O plano de fundo do monocromático claro seria o primeiro plano ou a cor do texto no Monocromático Escuro e vice-versa. \n Analogic: A colour scheme based on the main colour selected, using the colours adjacent to the main colour on the colour wheel. \n Analogic Complementary: A colour scheme based on the main colour selected, using the colours adjacent to the main colour on the colour wheel and the complementary colour. \n Triad: A colour scheme based on the main colour selected, using the colours on the colour wheel that are equidistant from the main colour. \n Quad: A colour scheme based on the main colour selected, using the colours on the colour wheel that are 90 degrees from the main colour.",tabsHeading:"Tabs",tabsDescription:"Arraste e solte para reordenar, clique para ativar/desativar",resetHeading:"Resetar",resetBtn:"$t(settings.resetHeading)",resetDescription:"Desinstale todas as extensões e temas e redefina as preferências",backupHeading:"Back up/Restaurar",backupLabel:"Faça backup ou restaure todos os dados do Marketplace. Isto não inclui definições para qualquer coisa instalada através do Marketplace.",backupBtn:"Abrir",versionHeading:"Versão",versionBtn:"Copiar",versionCopied:"Copiado"},tabs:{Extensions:"Extensões",Themes:"Temas",Snippets:"Snippets",Apps:"Aplicativos",Installed:"Instalados"},snippets:{addTitle:"Adicionar Snippet",duplicateName:"Esse nome já está sendo usado!",editTitle:"Editar Snippet",viewTitle:"Ver Snippet",customCSS:"Personalizar CSS",customCSSPlaceholder:"Insira seu próprio CSS personalizado aqui! Você pode encontrá-los na guia instalada para gerenciamento.",snippetName:"Nome do Snippet",snippetNamePlaceholder:"Digite um nome para seu snippet personalizado",snippetDesc:"Descrição do Snippet",snippetDescPlaceholder:"Digite uma descrição para seu snippet personalizado",snippetPreview:"Visualizar Snippets",optional:"Opcional",addImage:"Adicionar Imagem",changeImage:"Mudar imagem",saveCSS:"Salvar o CSS"},reloadModal:{title:"Recarregar",description:"É necessário recarregar a página para concluir essa operação.",reloadNow:"Recarregar agora",reloadLater:"Recarregar mais tarde"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Configurações copiadas para a área de transferência",noDataPasted:"Nenhum dado foi colado",invalidJSON:"JSON inválido",inputLabel:"Configurações do Marketplace",inputPlaceholder:"Copie/cole suas configurações aqui",exportBtn:"Exportar",importBtn:"Importar",fileImportBtn:"Importar de um arquivo"},devTools:{title:"Ferramentas de desenvolvimento de temas",noThemeInstalled:"Erro: Nenhum tema do mercado instalado",noThemeManifest:"Erro: Nenhum manifesto de tema encontrado",colorIniEditor:"Color.ini Editor",colorIniEditorPlaceholder:"[your-colour-scheme-name]",invalidCSS:"CSS inválido"},updateModal:{title:"Atualizar o Marketplace",description:"Atualize o Spicetify Marketplace para receber novos recursos e correções de bugs.",currentVersion:"Versão atual: {{version}}",latestVersion:"Versão mais recente: {{version}}",whatsChanged:"O que mudou",seeChangelog:"Veja o registro de mudanças",howToUpgrade:"Como atualizar",viewGuide:"Ver o guia"},grid:{spicetifyMarketplace:"Spicetify Marketplace",newUpdate:"Nova atualização",addCSS:"Adicionar CSS.",search:"Pesquisar",installed:"Instalador",lastUpdated:"Última atualização {{val, datetime}}",externalJS:"external JS",archived:"arquivado",dark:"dark",light:"light",sort:{label:"Classificar por:",stars:"Estrelas",newest:"Mais recente",oldest:"Mais antigo",lastUpdated:"Última atualização",mostStale:"Mais obsoleto",aToZ:"A-Z",zToA:"Z-A"}},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Carregando...",errorLoading:"Error loading README"},github:"GitHub",install:"Instalar",remove:"Remove-r",save:"Salvar",colour_one:"cor",colour_other:"cores",favourite:"favoritos",notifications:{wrongLocalTheme:"Por favor, defina current_theme em config-xpui.ini para 'marketplace' para instalar temas usando o Marketplace",tooManyRequests:"Muitas solicitações, acalme-se",noCdnConnection:"Marketplace não consegue se conectar à CDN. Verifique sua configuração de Internet",markdownParsingError:"Error parsing markdown (HTTP {{status}})",noReadmeFile:"No README was found",themeInstallationError:"Ocorreu um erro ao instalar o tema",extensionInstallationError:"Ocorreu um erro ao instalar a extensão"}}},"de-DE":{translation:{settings:{title:"Marketplace Einstellungen",optionsHeading:"Optionen",starCountLabel:"Sterne Anzahl",tagsLabel:"Schlagwörter",showArchived:"Archivierte repos anzeigen",devToolsLabel:"Design Entwicklerwerkzeuge",hideInstalledLabel:"Versteckt installierte beim durchsuchen",colourShiftLabel:"Jede Minute Farbe wechseln",albumArtBasedColors:"Farbe basierend auf Album Cover wechseln",albumArtBasedColorsMode:"Farbschema (ColorApi) Modus",albumArtBasedColorsVibrancy:"Farbe vom Album Cover übernommen",albumArtBasedColorsVibrancyToolTip:"Entsättigt: Die am stärksten ausgeprägte Farbe, aber mit viel weniger Helligkeit \n Leicht lebhaft: Die am stärksten leuchtende Farbe, aber mit etwas mehr Helligkeit \n Prominent: Die Farbe, die im Albumcover am stärksten hervortritt \n Lebendig: Die lebendigste Farbe im Albumcover",almbumArtColorsModeToolTip:"Monochrom Dunkel: Ein Farbschema, das direkt auf der ausgewählten Hauptfarbe basiert, wobei verschiedene Schattierungen der Hauptfarbe verwendet und Grautöne beigemischt werden, um ein Farbschema zu erstellen; dies ist das Gegenteil von Monochrom Hell. \n Monochrom Hell: Ein Farbschema, das direkt auf der ausgewählten Hauptfarbe basiert, wobei verschiedene Schattierungen der Hauptfarbe verwendet und Grautöne beigemischt werden, um ein Farbschema zu erstellen. Der Hintergrund von Monochrom hell wäre die Vordergrund- oder Textfarbe bei Monochrom dunkel und umgekehrt. \n Analogisch: Ein Farbschema, das auf der ausgewählten Hauptfarbe basiert und die Farben verwendet, die auf dem Farbkreis neben der Hauptfarbe liegen. \n Analogisch Komplementär: Ein Farbschema, das auf der ausgewählten Hauptfarbe basiert, wobei die Farben neben der Hauptfarbe auf dem Farbkreis und die Komplementärfarbe verwendet werden. \n Dreiklang: Ein Farbschema auf der Grundlage der ausgewählten Hauptfarbe, bei dem die Farben auf dem Farbkreis verwendet werden, die gleich weit von der Hauptfarbe entfernt sind. \n Vierer: Ein Farbschema auf der Grundlage der ausgewählten Hauptfarbe, bei dem die Farben auf dem Farbkreis verwendet werden, die 90 Grad von der Hauptfarbe entfernt sind.",tabsHeading:"Register",tabsDescription:"Ziehen und Ablegen zum Ändern der Reihenfolge, Klicken zum Aktivieren/Deaktivieren",resetHeading:"Zurücksetzen",resetBtn:"$t(settings.resetHeading)",resetDescription:"Deinstalliere alle Erweiterungen und Themes und setze Präferenzen zurück",backupHeading:"Sicherung erstellen / Wiederherstellen",backupLabel:"Sichern Sie alle Marketplace-Daten oder stellen Sie sie wieder her. Dies umfasst nicht die Einstellungen für alles, was über den Marketplace installiert wurde.",backupBtn:"Öffnen",versionHeading:"Version",versionBtn:"Kopieren",versionCopied:"Kopiert"},tabs:{Extensions:"Erweiterungen",Themes:"Designs",Snippets:"Snippets",Apps:"Apps",Installed:"Installiert"},snippets:{addTitle:"Snippet hinzufügen",duplicateName:"Dieser Name ist bereits vergeben!",editTitle:"Snippet bearbeiten",viewTitle:"Snippet ansehen",customCSS:"Benutzerdefiniertes CSS",customCSSPlaceholder:"Geben Sie hier Ihre eigenen benutzerdefinierten CSS ein! Sie finden sie auf der Registerkarte „Installiert“ für die Verwaltung.",snippetName:"Snippet Name",snippetNamePlaceholder:"Geben Sie einen Namen für ihr benutzerdefiniertes Snippet ein",snippetDesc:"Snippet Beschreibung",snippetDescPlaceholder:"Geben sie eine Beschreibung für ihr benutzerdefiniertes Snippet ein",snippetPreview:"Snippet Vorschau",optional:"Optional",addImage:"Foto hinzufügen",changeImage:"Foto ändern",saveCSS:"CSS speichern"},reloadModal:{title:"Neu laden",description:"Um diesen Vorgang abzuschließen, muss die Seite neu geladen werden.",reloadNow:"Jetzt neu laden",reloadLater:"Später neu laden"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Einstellungen in die Zwischenablage kopiert",noDataPasted:"Keine Daten eingefügt",invalidJSON:"Ungültiges JSON",inputLabel:"Marketplace Einstellungen",inputPlaceholder:"Kopieren Sie Ihre Einstellungen und fügen Sie sie hier ein",exportBtn:"Export",importBtn:"Import",fileImportBtn:"Von Datei importieren"},devTools:{title:"Design Entwicklerwerkzeug",noThemeInstalled:"Fehler: Kein Marketplace Design installed",noThemeManifest:"Fehler: Kein Design-Manifest gefunden",colorIniEditor:"Color.ini Bearbeitung",colorIniEditorPlaceholder:"[your-colour-scheme-name]",invalidCSS:"Ungültiges CSS"},updateModal:{title:"Aktualisieren Sie den Marketplace",description:"Aktualisieren Sie den Spicetify Marketplace um neue Funktionen und Fehlerbehebungen zu erhalten.",currentVersion:"Derzeitige Version: {{version}}",latestVersion:"Neueste Version: {{version}}",whatsChanged:"Was hat sich geändert?",seeChangelog:"Änderungsverlauf ansehen",howToUpgrade:"Wie man aktualisiert",viewGuide:"Anleitung ansehen"},grid:{spicetifyMarketplace:"Spicetify Marketplace",newUpdate:"Neues Update",addCSS:"CSS hinzufügen",search:"Suchen",installed:"Installiert",lastUpdated:"Zuletzt aktualisiert {{val, datetime}}",externalJS:"Externes JS",archived:"archiviert",dark:"dunkel",light:"hell",sort:{label:"Sortieren nach:",stars:"Sterne",newest:"Neueste",oldest:"Älteste",lastUpdated:"Zuletzt aktualisiert",mostStale:"Am abgestandensten",aToZ:"A-Z",zToA:"Z-A"}},readmePage:{title:"$t(grid.spicetifyMarketplace) - Les mich",loading:"Laden...",errorLoading:"Fehler beim laden von README"},github:"GitHub",install:"Installieren",remove:"Entfernen",save:"Speichern",colour_one:"Farbe",colour_other:"Farben",favourite:"Favorit",notifications:{wrongLocalTheme:"Bitte setzen Sie current_theme in config-xpui.ini auf 'marketplace', um Themen über den Marketplace zu installieren",tooManyRequests:"Zu viele Anfragen, beruhigen Sie sich",noCdnConnection:"Marketplace kann sich nicht mit dem CDN verbinden. Bitte überprüfen Sie Ihre Internetkonfiguration",markdownParsingError:"Fehler beim Parsen von Markdown (HTTP {{status}})",noReadmeFile:"README wurde nicht gefunden",themeInstallationError:"Beim Installieren von einem Design ist ein Fehler aufgetreten",extensionInstallationError:"Beim Installieren einer Erweiterung ist ein Fehler aufgetreten"}}}};n.use(j).use(ur).init({resources:Ln,detection:{order:["navigator","htmlTag"]},fallbackLng:"en",interpolation:{escapeValue:!1}});var ah=Rr()(class extends pr.default.Component{state={count:0,CONFIG:{}};CONFIG;constructor(e){super(e);e=N(x.tabs,null);let t=[];try{if(t=e,!Array.isArray(t))throw new Error("Could not parse marketplace tabs key");if(0===t.length)throw new Error("Empty marketplace tabs key");if(0!e).length)throw new Error("Falsey marketplace tabs key")}catch{t=jr,localStorage.setItem(x.tabs,JSON.stringify(t))}let r={},a=null;try{var n=N(x.themeInstalled,null);if(n){var o=N(n,null);if(!o)throw new Error("No installed theme data");r=o.schemes,a=o.activeScheme}else console.debug("No theme set as installed")}catch(e){console.error(e)}this.CONFIG={visual:{stars:JSON.parse(N("marketplace:stars",!0)),tags:JSON.parse(N("marketplace:tags",!0)),showArchived:JSON.parse(N("marketplace:showArchived",!1)),hideInstalled:JSON.parse(N("marketplace:hideInstalled",!1)),colorShift:JSON.parse(N("marketplace:colorShift",!1)),themeDevTools:JSON.parse(N("marketplace:themeDevTools",!1)),albumArtBasedColors:JSON.parse(N("marketplace:albumArtBasedColors",!1)),albumArtBasedColorsMode:N("marketplace:albumArtBasedColorsMode")||"monochrome-light",albumArtBasedColorsVibrancy:N("marketplace:albumArtBasedColorsVibrancy")||"PROMINENT",type:JSON.parse(N("marketplace:type",!1)),followers:JSON.parse(N("marketplace:followers",!1))},tabs:t,activeTab:N(x.activeTab,t[0]),theme:{activeThemeKey:N(x.themeInstalled,null),schemes:r,activeScheme:a},sort:N(x.sort,"stars")},this.CONFIG.activeTab&&this.CONFIG.tabs.filter(e=>e.name===this.CONFIG.activeTab).length||(this.CONFIG.activeTab=this.CONFIG.tabs[0].name)}updateConfig=e=>{this.CONFIG={...e},console.debug("updated config",this.CONFIG),this.setState({CONFIG:{...e}})};render(){var{location:e,replace:t}=Spicetify.Platform.History;return e.pathname===$r+"/readme"?e.state?.data?pr.default.createElement(rh,{title:y("readmePage.title"),data:e.state.data}):(t($r),null):pr.default.createElement(eh,{title:y("grid.spicetifyMarketplace"),CONFIG:this.CONFIG,updateAppConfig:this.updateConfig})}}),nh=t(r());return qn=Ye,M(A({},"__esModule",{value:!0}),qn)})();const render=()=>marketplace.default(); \ No newline at end of file diff --git a/.config/spicetify/CustomApps/marketplace/style.css b/.config/spicetify/CustomApps/marketplace/style.css index 87c4964e..4dee50ab 100644 --- a/.config/spicetify/CustomApps/marketplace/style.css +++ b/.config/spicetify/CustomApps/marketplace/style.css @@ -1 +1 @@ -@charset "UTF-8";code[class*=language-],pre[class*=language-]{color:#ccc;background:0 0;font-family:Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}#marketplace-add-snippet-container{display:flex;flex-direction:column;gap:16px}#marketplace-add-snippet-container #marketplace-custom-css:focus-visible{outline:0}.marketplace-customCSS-input-container{display:flex;flex-direction:column}img.marketplace-customCSS-image-preview{aspect-ratio:1;width:100%;height:auto;max-width:400px;-o-object-fit:cover;object-fit:cover;margin:0 auto}#marketplace-customCSS-submit{margin-left:auto}.marketplace-backup-button{padding:10px;margin:10px}.marketplace-card-type-heading{margin:1em 0 .5em;color:var(--spice-subtext);font-size:1.3em}.marketplace-grid .main-card-draggable{display:flex;flex-direction:column}.marketplace-grid .main-card-draggable .main-card-cardMetadata{flex-grow:1;display:flex;flex-direction:column}.marketplace-grid .main-card-draggable .main-card-cardMetadata .main-cardHeader-link:hover{text-decoration:underline}.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card__author~.marketplace-card__author::before{content:", "}.marketplace-grid .main-card-draggable .main-card-cardMetadata ul.marketplace-card__tags{display:flex;flex-wrap:wrap;gap:8px}.marketplace-grid .main-card-draggable .main-card-cardMetadata li.marketplace-card__tag{background-color:var(--spice-tab-active);border-radius:4px;padding:0 9px 2px}.marketplace-grid .main-card-draggable .main-card-cardMetadata li.marketplace-card__tag[data-tag="external JS"],.marketplace-grid .main-card-draggable .main-card-cardMetadata li.marketplace-card__tag[data-tag=archived]{background-color:#db3737;color:#fff}.marketplace-grid .main-card-draggable .main-card-cardMetadata li.marketplace-card__tag[data-tag=dark]{background-color:#000;color:#fff}.marketplace-grid .main-card-draggable .main-card-cardMetadata li.marketplace-card__tag[data-tag=light]{background-color:#fff;color:#333}.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card__tags-more-btn{background-color:var(--spice-tab-active);border-radius:4px;padding:0 9px 2px;margin-top:8px;border:none}.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card__tags-more-btn:focus,.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card__tags-more-btn:hover{filter:brightness(1.4)}.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card-desc{font:-webkit-small-control;margin:12px 0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card__bottom-meta{margin-top:auto;margin-bottom:0}.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card__bottom-meta+.marketplace-card__bottom-meta{margin-top:8px}.marketplace-grid[data-tab=Installed]:empty::after{content:"No installed " attr(data-card-type);display:block}.main-cardImage-imageWrapper--error::before{content:"";display:block;position:absolute;overflow:hidden;top:0;left:0;bottom:0;right:0;height:100%;width:100%;background-color:var(--spice-subtext);filter:brightness(50%);-webkit-clip-path:path("M41.20833,21.5c-2.54758,0.00136 -4.90298,1.35492 -6.18685,3.55534l-12.54167,21.5c-0.64062,1.09578 -0.97875,2.34203 -0.97982,3.61133v86c0,7.83362 6.49972,14.33333 14.33333,14.33333h100.33333c7.83362,0 14.33333,-6.49972 14.33333,-14.33333v-86c-0.00107,-1.2693 -0.3392,-2.51555 -0.97982,-3.61133l-12.54167,-21.5c-1.28387,-2.20042 -3.63926,-3.55398 -6.18685,-3.55534zM45.32357,35.83333h81.35286l8.35645,14.33333h-98.06576zM35.83333,64.5h100.33333v71.66667h-100.33333zM64.5,78.83333v14.33333h43v-14.33333z");clip-path:path("M41.20833,21.5c-2.54758,0.00136 -4.90298,1.35492 -6.18685,3.55534l-12.54167,21.5c-0.64062,1.09578 -0.97875,2.34203 -0.97982,3.61133v86c0,7.83362 6.49972,14.33333 14.33333,14.33333h100.33333c7.83362,0 14.33333,-6.49972 14.33333,-14.33333v-86c-0.00107,-1.2693 -0.3392,-2.51555 -0.97982,-3.61133l-12.54167,-21.5c-1.28387,-2.20042 -3.63926,-3.55398 -6.18685,-3.55534zM45.32357,35.83333h81.35286l8.35645,14.33333h-98.06576zM35.83333,64.5h100.33333v71.66667h-100.33333zM64.5,78.83333v14.33333h43v-14.33333z");clip-rule:nonzero;transform:scale(.5)}.main-cardImage-imageWrapper--error{box-shadow:none}.main-card-card:hover .main-cardImage-imageWrapper--error::before{filter:brightness(100%)}.marketplace-cardSubHeader,.marketplace-card__bottom-meta{margin-top:4px;white-space:normal;color:var(--spice-subtext)}.marketplace-cardSubHeader{display:flex;flex-direction:column;gap:8px}.marketplace-card--installed{flex:0!important;-webkit-box-flex:0!important;border:1px solid var(--spice-button)}.marketplace-installButton{cursor:pointer;--size:40px}.marketplace-code-editor{width:100%;margin-bottom:10px;padding:3px 5px;background-color:var(--spice-main);color:var(--spice-text);font-size:14px;border:1px solid var(--spice-button);border-radius:4px}.devtools-column{height:570px;width:50%;position:relative;background-color:var(--spice-sidebar);color:var(--spice-text);overflow:scroll;padding:1rem}.color-ini-editor{height:70%;width:100%;background-color:var(--spice-sidebar);color:var(--spice-text);overflow:scroll;padding:1rem;resize:none;font-family:monospace}.marketplace-theme-dev-tools-container{justify-content:flex-end;display:flex}.marketplace-theme-dev-tools-container .marketplace-code-editor-wrapper{height:400px;margin-bottom:16px;overflow:auto}.devtools-heading,.invalid-css-heading{font-size:1.5rem;font-weight:700;text-decoration:underline;margin-bottom:1rem}.invalid-css-text{margin-bottom:1.5rem;font-family:monospace;-webkit-user-select:text;-moz-user-select:text;user-select:text}.devtools-icon{width:18px;fill:var(--spice-button)}.arrow-closed,.arrow-open{border:solid rgba(var(--spice-rgb-text),.7);border-width:0 2px 2px 0;display:inline-block;padding:4px;position:absolute;right:10px}.arrow-closed{top:10px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.arrow-open{top:14px;transform:rotate(-135deg);-webkit-transform:rotate(-135deg)}.Dropdown-root{position:relative}.Dropdown-root.is-open .Dropdown-control{border-bottom-left-radius:0;border-bottom-right-radius:0}.Dropdown-root.is-open .Dropdown-control:hover .Dropdown-arrow{border-color:transparent transparent rgb(var(--spice-rgb-text))}.Dropdown-root.is-open .Dropdown-arrow{border-color:transparent transparent rgba(var(--spice-rgb-text),.7);border-width:0 5px 5px}.Dropdown-root.is-open .Dropdown-menu{border-top-left-radius:0;border-top-right-radius:0}.Dropdown-control{position:relative;overflow:hidden;background-color:var(--spice-sidebar);border:0;border-radius:8px;box-sizing:border-box;color:rgba(var(--spice-rgb-text),.7);cursor:default;outline:0;padding:8px 36px 8px 16px;transition:all .2s ease}.Dropdown-control:hover{color:rgb(var(--spice-rgb-text));background-color:var(--spice-button-disabled)}.Dropdown-control:hover .Dropdown-arrow{border-color:rgb(var(--spice-rgb-text)) transparent transparent}.Dropdown-arrow{border-color:rgba(var(--spice-rgb-text),.7) transparent transparent;border-style:solid;border-width:5px 5px 0;content:" ";display:block;height:0;margin-top:-ceil(2.5);position:absolute;right:16px;top:18px;width:0}.Dropdown-menu{background-color:var(--spice-sidebar);border:0;border-radius:8px;box-shadow:0 1px 0 rgba(0,0,0,.06);box-sizing:border-box;margin-top:-1px;max-height:200px;overflow-y:auto;position:absolute;top:100%;width:100%;z-index:1000;-webkit-overflow-scrolling:touch}.Dropdown-menu .Dropdown-group>.Dropdown-title{padding:8px 10px;color:#333;font-weight:700;text-transform:capitalize}.Dropdown-option{box-sizing:border-box;color:rgba(var(--spice-rgb-text),.7);cursor:pointer;display:block;padding:8px 10px}.Dropdown-option:last-child{border-bottom-right-radius:8px;border-bottom-left-radius:8px}.Dropdown-option.is-selected{background-color:rgba(var(--spice-rgb-text),.7);color:var(--spice-sidebar)}.Dropdown-option:hover{background-color:rgb(var(--spice-rgb-text));color:var(--spice-sidebar)}.Dropdown-noresults{box-sizing:border-box;color:#ccc;cursor:default;display:block;padding:8px 10px}.GenericModal{background-color:var(--spice-player)}.marketplace-header{-webkit-box-pack:justify;-webkit-box-align:center;align-content:space-between;align-items:center;color:var(--spice-text);background-color:var(--spice-main);display:flex;justify-content:space-between;padding-bottom:8px;position:sticky;flex-direction:row;top:64px;z-index:1}.contentSpacing:has(#marketplace-readme) .marketplace-header{top:0}.marketplace-header__left,.marketplace-header__right{display:flex}.marketplace-header__left>:is(div,button),.marketplace-header__right>:is(div,button){margin-left:8px}.marketplace-header__label{display:inline-flex;align-self:center}.marketplace-grid{--minimumColumnWidth:180px;--column-width:minmax(var(--minimumColumnWidth), 1fr);--column-count:auto-fill;--grid-gap:24px}.marketplace-sort-bar{align-items:center;display:flex}.marketplace-sort-container{position:relative;display:flex}.marketplace-tabBar-headerItem{-webkit-app-region:no-drag;display:inline-block;pointer-events:auto;vertical-align:middle}.marketplace-tabBar-active{background-color:var(--spice-tab-active);border-radius:4px}.marketplace-tabBar-headerItemLink{border-radius:4px;color:var(--spice-text);display:inline-block;margin:0 8px 0 0;padding:8px 16px;position:relative;text-decoration:none!important;cursor:pointer}.marketplace-tabBar-nav{-webkit-app-region:drag;pointer-events:none;width:100%}.marketplace-tabBar-headerItem .optionsMenu-dropBox{color:var(--spice-text);border:0;max-width:150px;height:42px;padding:0 30px 0 12px;background-color:initial;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.marketplace-tabBar-headerItem .optionsMenu-dropBox svg{position:absolute;margin-left:8px}.marketplace-header-icon-button{border-radius:8px;color:var(--spice-text);display:inline-block;padding:10px 14px 6px;font-weight:700;position:relative;text-decoration:none!important;cursor:pointer;background-color:transparent;border:none;background-color:var(--spice-sidebar);transition-duration:.2s}.marketplace-header-icon-button:hover{background-color:var(--spice-button-disabled)}#marketplace-update{margin-left:0;margin-right:16px}.searchbar--bar__wrapper{display:flex;flex-direction:column;align-items:flex-end;flex-grow:1}.searchbar-bar{border-style:solid;border-color:var(--spice-sidebar);background-color:var(--spice-sidebar)!important;border-radius:8px;padding:10px 12px;color:var(--spice-text)!important}.marketplace-footer{margin:auto;text-align:center}.marketplace-add-snippet-btn{position:sticky!important;bottom:32px;left:100%}.spicetify-root-vars{--spice-shadow:#1f1525;--spice-text:#ffffff;--spice-sidebar:#0a0e14;--spice-button-disabled:#535353;--spice-main:#0a0e14;--spice-misc:#bfbfbf;--spice-selected-row:#909090;--spice-subtext:#f0f0f0;--spice-tab-active:#795b84;--spice-button:#6f3c89;--spice-notification:#6f3c89;--spice-player:#0a0e14;--spice-notification-error:#e22134;--spice-card:#6f3c89;--spice-button-active:#795b84}:root{--background-body:var(--spice-main);--background:var(--spice-main);--background-alt:var(--spice-shadow);--selection:#1c76c5;--text-main:var(--spice-subtext);--text-bright:var(--spice-text);--text-muted:#a9b1ba;--links:#41adff;--focus:#0096bfab;--border:#526980;--code:#ffbe85;--animation-duration:0.1s;--button-base:#0c151c;--button-hover:#040a0f;--scrollbar-thumb:var(--button-hover);--scrollbar-thumb-hover:rgb(0, 0, 0);--form-placeholder:#a9a9a9;--form-text:#fff;--variable:#d941e2;--highlight:#efdb43;--select-arrow:url("data:image/svg+xml;charset=utf-8,%3C?xml version='1.0' encoding='utf-8'?%3E %3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' height='62.5' width='116.9' fill='%23efefef'%3E %3Cpath d='M115.3,1.6 C113.7,0 111.1,0 109.5,1.6 L58.5,52.7 L7.4,1.6 C5.8,0 3.2,0 1.6,1.6 C0,3.2 0,5.8 1.6,7.4 L55.5,61.3 C56.3,62.1 57.3,62.5 58.4,62.5 C59.4,62.5 60.5,62.1 61.3,61.3 L115.2,7.4 C116.9,5.8 116.9,3.2 115.3,1.6Z'/%3E %3C/svg%3E")}#marketplace-readme{-webkit-user-select:text;-moz-user-select:text;user-select:text;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue","Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;line-height:1.4;max-width:800px;margin:20px auto;padding:0 10px;word-wrap:break-word;color:#dbdbdb;color:var(--text-main);background:#202b38;background:var(--background-body);text-rendering:optimizeLegibility}#marketplace-readme button{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}#marketplace-readme input{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}#marketplace-readme textarea{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}#marketplace-readme h1{font-size:2.2em;margin-top:0}#marketplace-readme h1,#marketplace-readme h2,#marketplace-readme h3,#marketplace-readme h4,#marketplace-readme h5,#marketplace-readme h6{margin-bottom:12px;margin-top:24px}#marketplace-readme h1{color:#fff;color:var(--text-bright)}#marketplace-readme h2{color:#fff;color:var(--text-bright)}#marketplace-readme h3{color:#fff;color:var(--text-bright)}#marketplace-readme h4{color:#fff;color:var(--text-bright)}#marketplace-readme h5{color:#fff;color:var(--text-bright)}#marketplace-readme h6{color:#fff;color:var(--text-bright)}#marketplace-readme strong{color:#fff;color:var(--text-bright)}#marketplace-readme b,#marketplace-readme h1,#marketplace-readme h2,#marketplace-readme h3,#marketplace-readme h4,#marketplace-readme h5,#marketplace-readme h6,#marketplace-readme strong,#marketplace-readme th{font-weight:600}#marketplace-readme q::before{content:none}#marketplace-readme q::after{content:none}#marketplace-readme blockquote{border-left:4px solid rgba(0,150,191,.6705882353);border-left:4px solid var(--focus);margin:1.5em 0;padding:.5em 1em;font-style:italic}#marketplace-readme q{border-left:4px solid rgba(0,150,191,.6705882353);border-left:4px solid var(--focus);margin:1.5em 0;padding:.5em 1em;font-style:italic}#marketplace-readme blockquote>footer{font-style:normal;border:0}#marketplace-readme blockquote cite{font-style:normal}#marketplace-readme address{font-style:normal}#marketplace-readme a[href^="mailto:"]::before{content:"\1f4e7 "}#marketplace-readme a[href^="tel:"]::before{content:"\1f4de "}#marketplace-readme a[href^="sms:"]::before{content:"\1f4ac "}#marketplace-readme mark{background-color:#efdb43;background-color:var(--highlight);border-radius:2px;padding:0 2px 0 2px;color:#000}#marketplace-readme a>code,#marketplace-readme a>strong{color:inherit}#marketplace-readme button,#marketplace-readme input[type=button],#marketplace-readme input[type=checkbox],#marketplace-readme input[type=radio],#marketplace-readme input[type=range],#marketplace-readme input[type=reset],#marketplace-readme input[type=submit],#marketplace-readme select{cursor:pointer}#marketplace-readme input,#marketplace-readme select{display:block}#marketplace-readme [type=checkbox],#marketplace-readme [type=radio]{display:initial}#marketplace-readme input{color:#fff;color:var(--form-text);background-color:#161f27;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:0}#marketplace-readme button{color:#fff;color:var(--form-text);background-color:#161f27;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:0}#marketplace-readme textarea{color:#fff;color:var(--form-text);background-color:#161f27;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:0}#marketplace-readme select{color:#fff;color:var(--form-text);background-color:#161f27;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:0}#marketplace-readme button{background-color:#0c151c;background-color:var(--button-base);padding-right:30px;padding-left:30px}#marketplace-readme input[type=submit]{background-color:#0c151c;background-color:var(--button-base);padding-right:30px;padding-left:30px}#marketplace-readme input[type=reset]{background-color:#0c151c;background-color:var(--button-base);padding-right:30px;padding-left:30px}#marketplace-readme input[type=button]{background-color:#0c151c;background-color:var(--button-base);padding-right:30px;padding-left:30px}#marketplace-readme button:hover{background:#040a0f;background:var(--button-hover)}#marketplace-readme input[type=submit]:hover{background:#040a0f;background:var(--button-hover)}#marketplace-readme input[type=reset]:hover{background:#040a0f;background:var(--button-hover)}#marketplace-readme input[type=button]:hover{background:#040a0f;background:var(--button-hover)}#marketplace-readme input[type=color]{min-height:2rem;padding:8px;cursor:pointer}#marketplace-readme input[type=checkbox],#marketplace-readme input[type=radio]{height:1em;width:1em}#marketplace-readme input[type=radio]{border-radius:100%}#marketplace-readme input{vertical-align:top}#marketplace-readme label{vertical-align:middle;margin-bottom:4px;display:inline-block}#marketplace-readme button,#marketplace-readme input:not([type=checkbox]):not([type=radio]),#marketplace-readme input[type=range],#marketplace-readme select,#marketplace-readme textarea{-webkit-appearance:none}#marketplace-readme textarea{display:block;margin-right:0;box-sizing:border-box;resize:vertical}#marketplace-readme textarea:not([cols]){width:100%}#marketplace-readme textarea:not([rows]){min-height:40px;height:140px}#marketplace-readme select{background:#161f27 url("data:image/svg+xml;charset=utf-8,%3C?xml version='1.0' encoding='utf-8'?%3E %3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' height='62.5' width='116.9' fill='%23efefef'%3E %3Cpath d='M115.3,1.6 C113.7,0 111.1,0 109.5,1.6 L58.5,52.7 L7.4,1.6 C5.8,0 3.2,0 1.6,1.6 C0,3.2 0,5.8 1.6,7.4 L55.5,61.3 C56.3,62.1 57.3,62.5 58.4,62.5 C59.4,62.5 60.5,62.1 61.3,61.3 L115.2,7.4 C116.9,5.8 116.9,3.2 115.3,1.6Z'/%3E %3C/svg%3E") calc(100% - 12px) 50%/12px no-repeat;background:var(--background) var(--select-arrow) calc(100% - 12px) 50%/12px no-repeat;padding-right:35px}#marketplace-readme select::-ms-expand{display:none}#marketplace-readme select[multiple]{padding-right:10px;background-image:none;overflow-y:auto}#marketplace-readme input:focus{box-shadow:0 0 0 2px rgba(0,150,191,.6705882353);box-shadow:0 0 0 2px var(--focus)}#marketplace-readme select:focus{box-shadow:0 0 0 2px rgba(0,150,191,.6705882353);box-shadow:0 0 0 2px var(--focus)}#marketplace-readme button:focus{box-shadow:0 0 0 2px rgba(0,150,191,.6705882353);box-shadow:0 0 0 2px var(--focus)}#marketplace-readme textarea:focus{box-shadow:0 0 0 2px rgba(0,150,191,.6705882353);box-shadow:0 0 0 2px var(--focus)}#marketplace-readme button:active,#marketplace-readme input[type=button]:active,#marketplace-readme input[type=checkbox]:active,#marketplace-readme input[type=radio]:active,#marketplace-readme input[type=range]:active,#marketplace-readme input[type=reset]:active,#marketplace-readme input[type=submit]:active{transform:translateY(2px)}#marketplace-readme button:disabled,#marketplace-readme input:disabled,#marketplace-readme select:disabled,#marketplace-readme textarea:disabled{cursor:not-allowed;opacity:.5}#marketplace-readme ::-moz-placeholder{color:#a9a9a9;color:var(--form-placeholder)}#marketplace-readme ::placeholder{color:#a9a9a9;color:var(--form-placeholder)}#marketplace-readme fieldset{border:1px rgba(0,150,191,.6705882353) solid;border:1px var(--focus) solid;border-radius:6px;margin:0;margin-bottom:12px;padding:10px}#marketplace-readme legend{font-size:.9em;font-weight:600}#marketplace-readme input[type=range]{margin:10px 0;padding:10px 0;background:0 0}#marketplace-readme input[type=range]:focus{outline:0}#marketplace-readme input[type=range]::-webkit-slider-runnable-track{width:100%;height:9.5px;-webkit-transition:.2s;transition:.2s;background:#161f27;background:var(--background);border-radius:3px}#marketplace-readme input[type=range]::-webkit-slider-thumb{box-shadow:0 1px 1px #000,0 0 1px #0d0d0d;height:20px;width:20px;border-radius:50%;background:#526980;background:var(--border);-webkit-appearance:none;margin-top:-7px}#marketplace-readme input[type=range]:focus::-webkit-slider-runnable-track{background:#161f27;background:var(--background)}#marketplace-readme input[type=range]::-moz-range-track{width:100%;height:9.5px;-moz-transition:.2s;transition:.2s;background:#161f27;background:var(--background);border-radius:3px}#marketplace-readme input[type=range]::-moz-range-thumb{box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d;height:20px;width:20px;border-radius:50%;background:#526980;background:var(--border)}#marketplace-readme input[type=range]::-ms-track{width:100%;height:9.5px;background:0 0;border-color:transparent;border-width:16px 0;color:transparent}#marketplace-readme input[type=range]::-ms-fill-lower{background:#161f27;background:var(--background);border:.2px solid #010101;border-radius:3px;box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d}#marketplace-readme input[type=range]::-ms-fill-upper{background:#161f27;background:var(--background);border:.2px solid #010101;border-radius:3px;box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d}#marketplace-readme input[type=range]::-ms-thumb{box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d;border:1px solid #000;height:20px;width:20px;border-radius:50%;background:#526980;background:var(--border)}#marketplace-readme input[type=range]:focus::-ms-fill-lower{background:#161f27;background:var(--background)}#marketplace-readme input[type=range]:focus::-ms-fill-upper{background:#161f27;background:var(--background)}#marketplace-readme a{text-decoration:none;color:#41adff;color:var(--links)}#marketplace-readme a:hover{text-decoration:underline}#marketplace-readme code{background:#161f27;background:var(--background);color:#ffbe85;color:var(--code);padding:2.5px 5px;border-radius:6px;font-size:1em}#marketplace-readme samp{background:#161f27;background:var(--background);color:#ffbe85;color:var(--code);padding:2.5px 5px;border-radius:6px;font-size:1em}#marketplace-readme time{background:#161f27;background:var(--background);color:#ffbe85;color:var(--code);padding:2.5px 5px;border-radius:6px;font-size:1em}#marketplace-readme pre>code{padding:10px;display:block;overflow-x:auto}#marketplace-readme var{color:#d941e2;color:var(--variable);font-style:normal;font-family:monospace}#marketplace-readme kbd{background:#161f27;background:var(--background);border:1px solid #526980;border:1px solid var(--border);border-radius:2px;color:#dbdbdb;color:var(--text-main);padding:2px 4px 2px 4px}#marketplace-readme img,#marketplace-readme video{max-width:100%;height:auto}#marketplace-readme hr{border:none;border-top:1px solid #526980;border-top:1px solid var(--border)}#marketplace-readme table{border-collapse:collapse;margin-bottom:10px;width:100%;table-layout:fixed}#marketplace-readme table caption{text-align:left}#marketplace-readme td,#marketplace-readme th{padding:6px;text-align:left;vertical-align:top;word-wrap:break-word}#marketplace-readme thead{border-bottom:1px solid #526980;border-bottom:1px solid var(--border)}#marketplace-readme tfoot{border-top:1px solid #526980;border-top:1px solid var(--border)}#marketplace-readme tbody tr:nth-child(2n){background-color:#161f27;background-color:var(--background)}#marketplace-readme tbody tr:nth-child(2n) button{background-color:#1a242f;background-color:var(--background-alt)}#marketplace-readme tbody tr:nth-child(2n) button:hover{background-color:#202b38;background-color:var(--background-body)}#marketplace-readme ::-webkit-scrollbar{height:10px;width:10px}#marketplace-readme ::-webkit-scrollbar-track{background:#161f27;background:var(--background);border-radius:6px}#marketplace-readme ::-webkit-scrollbar-thumb{background:#040a0f;background:var(--scrollbar-thumb);border-radius:6px}#marketplace-readme ::-webkit-scrollbar-thumb:hover{background:#000;background:var(--scrollbar-thumb-hover)}#marketplace-readme ::-moz-selection{background-color:#1c76c5;background-color:var(--selection);color:#fff;color:var(--text-bright)}#marketplace-readme ::selection{background-color:#1c76c5;background-color:var(--selection);color:#fff;color:var(--text-bright)}#marketplace-readme details{display:flex;flex-direction:column;align-items:flex-start;background-color:#1a242f;background-color:var(--background-alt);padding:10px 10px 0;margin:1em 0;border-radius:6px;overflow:hidden}#marketplace-readme details[open]{padding:10px}#marketplace-readme details>:last-child{margin-bottom:0}#marketplace-readme details[open] summary{margin-bottom:10px}#marketplace-readme summary{display:list-item;background-color:#161f27;background-color:var(--background);padding:10px;margin:-10px -10px 0;cursor:pointer;outline:0}#marketplace-readme summary:focus,#marketplace-readme summary:hover{text-decoration:underline}#marketplace-readme details>:not(summary){margin-top:0}#marketplace-readme summary::-webkit-details-marker{color:#dbdbdb;color:var(--text-main)}#marketplace-readme dialog{background-color:#1a242f;background-color:var(--background-alt);color:#dbdbdb;color:var(--text-main);border:none;border-radius:6px;border-color:#526980;border-color:var(--border);padding:10px 30px}#marketplace-readme dialog>header:first-child{background-color:#161f27;background-color:var(--background);border-radius:6px 6px 0 0;margin:-10px -30px 10px;padding:10px;text-align:center}#marketplace-readme dialog::backdrop{background:rgba(0,0,0,.6117647059);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#marketplace-readme footer{border-top:1px solid #526980;border-top:1px solid var(--border);padding-top:10px;color:#a9b1ba;color:var(--text-muted)}#marketplace-readme body>footer{margin-top:40px}@media print{#marketplace-readme body,#marketplace-readme button,#marketplace-readme code,#marketplace-readme details,#marketplace-readme input,#marketplace-readme pre,#marketplace-readme summary,#marketplace-readme textarea{background-color:#fff}#marketplace-readme button,#marketplace-readme input,#marketplace-readme textarea{border:1px solid #000}#marketplace-readme body,#marketplace-readme button,#marketplace-readme code,#marketplace-readme footer,#marketplace-readme h1,#marketplace-readme h2,#marketplace-readme h3,#marketplace-readme h4,#marketplace-readme h5,#marketplace-readme h6,#marketplace-readme input,#marketplace-readme pre,#marketplace-readme strong,#marketplace-readme summary,#marketplace-readme textarea{color:#000}#marketplace-readme summary::marker{color:#000}#marketplace-readme summary::-webkit-details-marker{color:#000}#marketplace-readme tbody tr:nth-child(2n){background-color:#f2f2f2}#marketplace-readme a{color:#00f;text-decoration:underline}}#marketplace-readme code{border:1px solid var(--spice-button-disabled)}#marketplace-readme li,#marketplace-readme ul{list-style-position:inside}#marketplace-readme li li,#marketplace-readme ul li{margin-bottom:8px}#marketplace-readme ul{list-style-type:disc}#marketplace-readme ol{list-style-type:auto}#marketplace-readme code,#marketplace-readme p,#marketplace-readme pre{margin:8px 0}#marketplace-readme pre{overflow-x:auto}#marketplace-readme table{table-layout:auto}#marketplace-readme table td,#marketplace-readme table th{border:1px solid var(--spice-button-disabled)}.GenericModal[aria-label="Reload required"]{height:240px!important}.marketplace-reload-modal__button-container{display:flex;justify-content:center;padding-top:18px}.marketplace-reload-modal__button-container button{margin:18px;padding:8px 24px}#marketplace-config-container .settings-row{display:flex;justify-content:space-between}#marketplace-config-container .settings-row .col{display:flex;padding:10px 0;align-items:center}#marketplace-config-container .settings-row .col.action{text-align:right;margin-inline-start:8px}#marketplace-config-container .settings-row .col.action .marketplace-sortBox+.marketplace-tooltip-icon{margin-inline-start:8px}#marketplace-config-container .settings-heading{position:relative;border-bottom:2px solid var(--spice-button-disabled);padding:0 0 4px;margin:0 0 4px}.marketplace-tooltip-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.marketplace-tooltip-icon+[data-tippy-root]{text-align:start}button.arrow-btn{align-items:center;border:0;border-radius:50%;background-color:rgba(var(--spice-rgb-shadow),.7);color:var(--spice-text);cursor:pointer;display:flex;margin-inline-end:12px;padding:8px}button.arrow-btn.small{width:24px;height:24px;padding:5px}button.arrow-btn.disabled,button.arrow-btn[disabled]{color:rgba(var(--spice-rgb-text),.3);cursor:not-allowed}#marketplace-add-snippet-container input,textarea{width:100%;margin-bottom:10px;padding:3px 5px;background-color:var(--spice-main);color:var(--spice-text);font-size:14px;border:1px solid var(--spice-button);border-radius:4px}#marketplace-update-container .marketplace-update-header{margin-bottom:.25rem;margin-top:.5rem}#marketplace-update-description>h4{margin-bottom:.5rem}#marketplace-update-description a{display:block}#marketplace-update-whats-changed li{list-style-type:disc}#marketplace-update-whats-changed li::marker{unicode-bidi:isolate;font-variant-numeric:tabular-nums;text-transform:none;text-indent:0!important;text-align:start!important;-moz-text-align-last:start!important;text-align-last:start!important}#marketplace-update-whats-changed>details>ul{padding-left:1.25rem}.button-module__button___hf2qg_marketplace{box-sizing:border-box;font-family:var(--font-family, spotify-circular),Helvetica,Arial,sans-serif;-webkit-tap-highlight-color:transparent;font-size:1rem;line-height:1.5rem;font-weight:700;background-color:transparent;border:0;border-radius:500px;display:inline-block;position:relative;text-align:center;text-decoration:none;text-transform:none;touch-action:manipulation;transition-duration:33ms;transition-property:background-color,border-color,color,box-shadow,filter,transform;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;transform:translate3d(0,0,0);padding:0;min-inline-size:0px;align-self:center;position:relative;background-color:var(--spice-text);color:var(--spice-main);border-radius:500px;font-size:inherit;padding-block:12px;padding-inline:32px}@media screen and (min-width:768px){.button-module__button___hf2qg_marketplace{font-size:1rem;line-height:1.5rem;text-transform:none;letter-spacing:normal}}.button-module__button___hf2qg_marketplace:hover{transform:scale(1.04)}.button-module__button___hf2qg_marketplace:active{background-color:var(--spice-subtext);box-shadow:none;transform:scale(1)}.button-module__button___hf2qg_marketplace:disabled{opacity:.5;cursor:not-allowed}.button-module__circle___EZ88P_marketplace{padding-inline:16px;width:48px;height:48px}.button-module__circle___EZ88P_marketplace svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.toggle-module__toggle-wrapper___ocE5z_marketplace{display:inline-flex;position:relative;align-items:center;cursor:pointer}.toggle-module__disabled___OYAYf_marketplace{opacity:0;pointer-events:none}.toggle-module__toggle-input___ceLM4_marketplace{opacity:0;pointer-events:none;position:absolute}.toggle-module__toggle-input___ceLM4_marketplace:checked~.toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace{background-color:var(--spice-text)}.toggle-module__toggle-input___ceLM4_marketplace:checked~.toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace .toggle-module__toggle-indicator___nCxwE_marketplace{background-color:#fff;left:auto;right:2px;right:3px}.toggle-module__toggle-input___ceLM4_marketplace:hover~.toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace{filter:brightness(1.3)}.toggle-module__toggle-input___ceLM4_marketplace:hover:checked~.toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace{filter:brightness(1.15)}.toggle-module__toggle-input___ceLM4_marketplace:active:not([disabled])~.toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace .toggle-module__toggle-indicator___nCxwE_marketplace{width:20px}.toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace{background-color:#535353;border-radius:24px;height:24px;position:relative;width:42px}.toggle-module__toggle-indicator___nCxwE_marketplace{background:#fff;border-radius:inherit;height:20px;left:2px;position:absolute;top:2px;transition:background-color,left,right,width .1s ease;width:20px;height:18px;width:18px;top:3px;left:3px;background:var(--spice-shadow)!important} \ No newline at end of file +@charset "UTF-8";code[class*=language-],pre[class*=language-]{color:#ccc;background:0 0;font-family:Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}#marketplace-add-snippet-container{display:flex;flex-direction:column;gap:16px}#marketplace-add-snippet-container #marketplace-custom-css:focus-visible{outline:0}.marketplace-customCSS-input-container{display:flex;flex-direction:column}img.marketplace-customCSS-image-preview{aspect-ratio:1;width:100%;height:auto;max-width:400px;-o-object-fit:cover;object-fit:cover;margin:0 auto}#marketplace-customCSS-submit{margin-left:auto}.marketplace-backup-button{padding:10px;margin:10px}.marketplace-card-type-heading{margin:1em 0 .5em;color:var(--spice-subtext);font-size:1.3em}.marketplace-grid .main-card-draggable{display:flex;flex-direction:column}.marketplace-grid .main-card-draggable .main-card-cardMetadata{flex-grow:1;display:flex;flex-direction:column}.marketplace-grid .main-card-draggable .main-card-cardMetadata .main-cardHeader-link:hover{text-decoration:underline}.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card__author~.marketplace-card__author::before{content:", "}.marketplace-grid .main-card-draggable .main-card-cardMetadata ul.marketplace-card__tags{display:flex;flex-wrap:wrap;gap:8px}.marketplace-grid .main-card-draggable .main-card-cardMetadata li.marketplace-card__tag{background-color:var(--spice-tab-active);border-radius:4px;padding:0 9px 2px}.marketplace-grid .main-card-draggable .main-card-cardMetadata li.marketplace-card__tag[data-tag="external JS"],.marketplace-grid .main-card-draggable .main-card-cardMetadata li.marketplace-card__tag[data-tag=archived]{background-color:#db3737;color:#fff}.marketplace-grid .main-card-draggable .main-card-cardMetadata li.marketplace-card__tag[data-tag=dark]{background-color:#000;color:#fff}.marketplace-grid .main-card-draggable .main-card-cardMetadata li.marketplace-card__tag[data-tag=light]{background-color:#fff;color:#333}.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card__tags-more-btn{background-color:var(--spice-tab-active);border-radius:4px;padding:0 9px 2px;margin-top:8px;border:none}.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card__tags-more-btn:focus,.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card__tags-more-btn:hover{filter:brightness(1.4)}.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card-desc{font:-webkit-small-control;margin:12px 0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card__bottom-meta{margin-top:auto;margin-bottom:0}.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card__bottom-meta+.marketplace-card__bottom-meta{margin-top:8px}.marketplace-grid[data-tab=Installed]:empty::after{content:"No installed " attr(data-card-type);display:block}.main-cardImage-imageWrapper--error::before{content:"";display:block;position:absolute;overflow:hidden;top:0;left:0;bottom:0;right:0;height:100%;width:100%;background-color:var(--spice-subtext);filter:brightness(50%);-webkit-clip-path:path("M41.20833,21.5c-2.54758,0.00136 -4.90298,1.35492 -6.18685,3.55534l-12.54167,21.5c-0.64062,1.09578 -0.97875,2.34203 -0.97982,3.61133v86c0,7.83362 6.49972,14.33333 14.33333,14.33333h100.33333c7.83362,0 14.33333,-6.49972 14.33333,-14.33333v-86c-0.00107,-1.2693 -0.3392,-2.51555 -0.97982,-3.61133l-12.54167,-21.5c-1.28387,-2.20042 -3.63926,-3.55398 -6.18685,-3.55534zM45.32357,35.83333h81.35286l8.35645,14.33333h-98.06576zM35.83333,64.5h100.33333v71.66667h-100.33333zM64.5,78.83333v14.33333h43v-14.33333z");clip-path:path("M41.20833,21.5c-2.54758,0.00136 -4.90298,1.35492 -6.18685,3.55534l-12.54167,21.5c-0.64062,1.09578 -0.97875,2.34203 -0.97982,3.61133v86c0,7.83362 6.49972,14.33333 14.33333,14.33333h100.33333c7.83362,0 14.33333,-6.49972 14.33333,-14.33333v-86c-0.00107,-1.2693 -0.3392,-2.51555 -0.97982,-3.61133l-12.54167,-21.5c-1.28387,-2.20042 -3.63926,-3.55398 -6.18685,-3.55534zM45.32357,35.83333h81.35286l8.35645,14.33333h-98.06576zM35.83333,64.5h100.33333v71.66667h-100.33333zM64.5,78.83333v14.33333h43v-14.33333z");clip-rule:nonzero;transform:scale(.5)}.main-cardImage-imageWrapper--error{box-shadow:none}.main-card-card:hover .main-cardImage-imageWrapper--error::before{filter:brightness(100%)}.marketplace-cardSubHeader,.marketplace-card__bottom-meta{margin-top:4px;white-space:normal;color:var(--spice-subtext)}.marketplace-cardSubHeader{display:flex;flex-direction:column;gap:8px}.marketplace-card--installed{flex:0!important;-webkit-box-flex:0!important;border:1px solid var(--spice-button)}.marketplace-installButton{cursor:pointer;--size:40px}.marketplace-code-editor{width:100%;margin-bottom:10px;padding:3px 5px;background-color:var(--spice-main);color:var(--spice-text);font-size:14px;border:1px solid var(--spice-button);border-radius:4px}.devtools-column{height:570px;width:50%;position:relative;background-color:var(--spice-sidebar);color:var(--spice-text);overflow:scroll;padding:1rem}.color-ini-editor{height:70%;width:100%;background-color:var(--spice-sidebar);color:var(--spice-text);overflow:scroll;padding:1rem;resize:none;font-family:monospace}.marketplace-theme-dev-tools-container{justify-content:flex-end;display:flex}.marketplace-theme-dev-tools-container .marketplace-code-editor-wrapper{height:400px;margin-bottom:16px;overflow:auto}.devtools-heading,.invalid-css-heading{font-size:1.5rem;font-weight:700;text-decoration:underline;margin-bottom:1rem}.invalid-css-text{margin-bottom:1.5rem;font-family:monospace;-webkit-user-select:text;-moz-user-select:text;user-select:text}.devtools-icon{width:18px;fill:var(--spice-button)}.arrow-closed,.arrow-open{border:solid rgba(var(--spice-rgb-text),.7);border-width:0 2px 2px 0;display:inline-block;padding:4px;position:absolute;right:10px}.arrow-closed{top:10px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.arrow-open{top:14px;transform:rotate(-135deg);-webkit-transform:rotate(-135deg)}.Dropdown-root{position:relative}.Dropdown-root.is-open .Dropdown-control{border-bottom-left-radius:0;border-bottom-right-radius:0}.Dropdown-root.is-open .Dropdown-control:hover .Dropdown-arrow{border-color:transparent transparent rgb(var(--spice-rgb-text))}.Dropdown-root.is-open .Dropdown-arrow{border-color:transparent transparent rgba(var(--spice-rgb-text),.7);border-width:0 5px 5px}.Dropdown-root.is-open .Dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;width:-moz-max-content;width:max-content}.Dropdown-control{position:relative;overflow:hidden;background-color:var(--spice-sidebar);border:0;border-radius:8px;box-sizing:border-box;color:rgba(var(--spice-rgb-text),.7);cursor:default;outline:0;padding:8px 36px 8px 16px;transition:all .2s ease}.Dropdown-control:hover{color:rgb(var(--spice-rgb-text));background-color:var(--spice-button-disabled)}.Dropdown-control:hover .Dropdown-arrow{border-color:rgb(var(--spice-rgb-text)) transparent transparent}.Dropdown-arrow{border-color:rgba(var(--spice-rgb-text),.7) transparent transparent;border-style:solid;border-width:5px 5px 0;content:" ";display:block;height:0;margin-top:-ceil(2.5);position:absolute;right:16px;top:18px;width:0}.Dropdown-menu{background-color:var(--spice-sidebar);border:0;border-radius:8px;box-shadow:0 1px 0 rgba(0,0,0,.06);box-sizing:border-box;margin-top:-1px;max-height:200px;overflow-y:auto;position:absolute;top:100%;width:100%;z-index:1000;-webkit-overflow-scrolling:touch}.Dropdown-menu .Dropdown-group>.Dropdown-title{padding:8px 10px;color:#333;font-weight:700;text-transform:capitalize}.Dropdown-option{box-sizing:border-box;color:rgba(var(--spice-rgb-text),.7);cursor:pointer;display:block;padding:8px 10px}.Dropdown-option:last-child{border-bottom-right-radius:8px;border-bottom-left-radius:8px}.Dropdown-option.is-selected{background-color:rgba(var(--spice-rgb-text),.7);color:var(--spice-sidebar)}.Dropdown-option:hover{background-color:rgb(var(--spice-rgb-text));color:var(--spice-sidebar)}.Dropdown-noresults{box-sizing:border-box;color:#ccc;cursor:default;display:block;padding:8px 10px}.GenericModal{background-color:var(--spice-player)}.marketplace-header{-webkit-box-pack:justify;-webkit-box-align:center;align-content:space-between;align-items:center;color:var(--spice-text);background-color:var(--spice-main);display:flex;justify-content:space-between;padding-bottom:8px;position:sticky;flex-direction:row;top:64px;z-index:1}.contentSpacing:has(#marketplace-readme) .marketplace-header{top:0}.marketplace-header__left,.marketplace-header__right{display:flex}.marketplace-header__left>:is(div,button),.marketplace-header__right>:is(div,button){margin-left:8px}.marketplace-header__label{display:inline-flex;align-self:center}.marketplace-grid{--minimumColumnWidth:180px;--column-width:minmax(var(--minimumColumnWidth), 1fr);--column-count:auto-fill;--grid-gap:24px}.marketplace-sort-bar{align-items:center;display:flex}.marketplace-sort-container{position:relative;display:flex}.marketplace-tabBar-headerItem{-webkit-app-region:no-drag;display:inline-block;pointer-events:auto;vertical-align:middle}.marketplace-tabBar-active{background-color:var(--spice-tab-active);border-radius:4px}.marketplace-tabBar-headerItemLink{border-radius:4px;color:var(--spice-text);display:inline-block;margin:0 8px 0 0;padding:8px 16px;position:relative;text-decoration:none!important;cursor:pointer}.marketplace-tabBar-nav{-webkit-app-region:drag;pointer-events:none;width:100%}.marketplace-tabBar-headerItem .optionsMenu-dropBox{color:var(--spice-text);border:0;max-width:150px;height:42px;padding:0 30px 0 12px;background-color:initial;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.marketplace-tabBar-headerItem .optionsMenu-dropBox svg{position:absolute;margin-left:8px}.marketplace-header-icon-button{border-radius:8px;color:var(--spice-text);display:inline-block;padding:10px 14px 6px;font-weight:700;position:relative;text-decoration:none!important;cursor:pointer;background-color:transparent;border:none;background-color:var(--spice-sidebar);transition-duration:.2s}.marketplace-header-icon-button:hover{background-color:var(--spice-button-disabled)}#marketplace-update{margin-left:0;margin-right:16px}.searchbar--bar__wrapper{display:flex;flex-direction:column;align-items:flex-end;flex-grow:1}.searchbar-bar{border-style:solid;border-color:var(--spice-sidebar);background-color:var(--spice-sidebar)!important;border-radius:8px;padding:10px 12px;color:var(--spice-text)!important}.marketplace-footer{margin:auto;text-align:center}.marketplace-add-snippet-btn{position:sticky!important;bottom:32px;left:100%}.marketplace-content{margin-top:60px}.spicetify-root-vars{--spice-shadow:#1f1525;--spice-text:#ffffff;--spice-sidebar:#0a0e14;--spice-button-disabled:#535353;--spice-main:#0a0e14;--spice-misc:#bfbfbf;--spice-selected-row:#909090;--spice-subtext:#f0f0f0;--spice-tab-active:#795b84;--spice-button:#6f3c89;--spice-notification:#6f3c89;--spice-player:#0a0e14;--spice-notification-error:#e22134;--spice-card:#6f3c89;--spice-button-active:#795b84}:root{--background-body:var(--spice-main);--background:var(--spice-main);--background-alt:var(--spice-shadow);--selection:#1c76c5;--text-main:var(--spice-subtext);--text-bright:var(--spice-text);--text-muted:#a9b1ba;--links:#41adff;--focus:#0096bfab;--border:#526980;--code:#ffbe85;--animation-duration:0.1s;--button-base:#0c151c;--button-hover:#040a0f;--scrollbar-thumb:var(--button-hover);--scrollbar-thumb-hover:rgb(0, 0, 0);--form-placeholder:#a9a9a9;--form-text:#fff;--variable:#d941e2;--highlight:#efdb43;--select-arrow:url("data:image/svg+xml;charset=utf-8,%3C?xml version='1.0' encoding='utf-8'?%3E %3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' height='62.5' width='116.9' fill='%23efefef'%3E %3Cpath d='M115.3,1.6 C113.7,0 111.1,0 109.5,1.6 L58.5,52.7 L7.4,1.6 C5.8,0 3.2,0 1.6,1.6 C0,3.2 0,5.8 1.6,7.4 L55.5,61.3 C56.3,62.1 57.3,62.5 58.4,62.5 C59.4,62.5 60.5,62.1 61.3,61.3 L115.2,7.4 C116.9,5.8 116.9,3.2 115.3,1.6Z'/%3E %3C/svg%3E")}#marketplace-readme{-webkit-user-select:text;-moz-user-select:text;user-select:text;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue","Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;line-height:1.4;max-width:800px;margin:20px auto;padding:0 10px;word-wrap:break-word;color:#dbdbdb;color:var(--text-main);background:#202b38;background:var(--background-body);text-rendering:optimizeLegibility}#marketplace-readme button{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}#marketplace-readme input{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}#marketplace-readme textarea{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}#marketplace-readme h1{font-size:2.2em;margin-top:0}#marketplace-readme h1,#marketplace-readme h2,#marketplace-readme h3,#marketplace-readme h4,#marketplace-readme h5,#marketplace-readme h6{margin-bottom:12px;margin-top:24px}#marketplace-readme h1{color:#fff;color:var(--text-bright)}#marketplace-readme h2{color:#fff;color:var(--text-bright)}#marketplace-readme h3{color:#fff;color:var(--text-bright)}#marketplace-readme h4{color:#fff;color:var(--text-bright)}#marketplace-readme h5{color:#fff;color:var(--text-bright)}#marketplace-readme h6{color:#fff;color:var(--text-bright)}#marketplace-readme strong{color:#fff;color:var(--text-bright)}#marketplace-readme b,#marketplace-readme h1,#marketplace-readme h2,#marketplace-readme h3,#marketplace-readme h4,#marketplace-readme h5,#marketplace-readme h6,#marketplace-readme strong,#marketplace-readme th{font-weight:600}#marketplace-readme q::before{content:none}#marketplace-readme q::after{content:none}#marketplace-readme blockquote{border-left:4px solid rgba(0,150,191,.6705882353);border-left:4px solid var(--focus);margin:1.5em 0;padding:.5em 1em;font-style:italic}#marketplace-readme q{border-left:4px solid rgba(0,150,191,.6705882353);border-left:4px solid var(--focus);margin:1.5em 0;padding:.5em 1em;font-style:italic}#marketplace-readme blockquote>footer{font-style:normal;border:0}#marketplace-readme blockquote cite{font-style:normal}#marketplace-readme address{font-style:normal}#marketplace-readme a[href^="mailto:"]::before{content:"\1f4e7 "}#marketplace-readme a[href^="tel:"]::before{content:"\1f4de "}#marketplace-readme a[href^="sms:"]::before{content:"\1f4ac "}#marketplace-readme mark{background-color:#efdb43;background-color:var(--highlight);border-radius:2px;padding:0 2px 0 2px;color:#000}#marketplace-readme a>code,#marketplace-readme a>strong{color:inherit}#marketplace-readme button,#marketplace-readme input[type=button],#marketplace-readme input[type=checkbox],#marketplace-readme input[type=radio],#marketplace-readme input[type=range],#marketplace-readme input[type=reset],#marketplace-readme input[type=submit],#marketplace-readme select{cursor:pointer}#marketplace-readme input,#marketplace-readme select{display:block}#marketplace-readme [type=checkbox],#marketplace-readme [type=radio]{display:initial}#marketplace-readme input{color:#fff;color:var(--form-text);background-color:#161f27;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:0}#marketplace-readme button{color:#fff;color:var(--form-text);background-color:#161f27;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:0}#marketplace-readme textarea{color:#fff;color:var(--form-text);background-color:#161f27;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:0}#marketplace-readme select{color:#fff;color:var(--form-text);background-color:#161f27;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:0}#marketplace-readme button{background-color:#0c151c;background-color:var(--button-base);padding-right:30px;padding-left:30px}#marketplace-readme input[type=submit]{background-color:#0c151c;background-color:var(--button-base);padding-right:30px;padding-left:30px}#marketplace-readme input[type=reset]{background-color:#0c151c;background-color:var(--button-base);padding-right:30px;padding-left:30px}#marketplace-readme input[type=button]{background-color:#0c151c;background-color:var(--button-base);padding-right:30px;padding-left:30px}#marketplace-readme button:hover{background:#040a0f;background:var(--button-hover)}#marketplace-readme input[type=submit]:hover{background:#040a0f;background:var(--button-hover)}#marketplace-readme input[type=reset]:hover{background:#040a0f;background:var(--button-hover)}#marketplace-readme input[type=button]:hover{background:#040a0f;background:var(--button-hover)}#marketplace-readme input[type=color]{min-height:2rem;padding:8px;cursor:pointer}#marketplace-readme input[type=checkbox],#marketplace-readme input[type=radio]{height:1em;width:1em}#marketplace-readme input[type=radio]{border-radius:100%}#marketplace-readme input{vertical-align:top}#marketplace-readme label{vertical-align:middle;margin-bottom:4px;display:inline-block}#marketplace-readme button,#marketplace-readme input:not([type=checkbox]):not([type=radio]),#marketplace-readme input[type=range],#marketplace-readme select,#marketplace-readme textarea{-webkit-appearance:none}#marketplace-readme textarea{display:block;margin-right:0;box-sizing:border-box;resize:vertical}#marketplace-readme textarea:not([cols]){width:100%}#marketplace-readme textarea:not([rows]){min-height:40px;height:140px}#marketplace-readme select{background:#161f27 url("data:image/svg+xml;charset=utf-8,%3C?xml version='1.0' encoding='utf-8'?%3E %3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' height='62.5' width='116.9' fill='%23efefef'%3E %3Cpath d='M115.3,1.6 C113.7,0 111.1,0 109.5,1.6 L58.5,52.7 L7.4,1.6 C5.8,0 3.2,0 1.6,1.6 C0,3.2 0,5.8 1.6,7.4 L55.5,61.3 C56.3,62.1 57.3,62.5 58.4,62.5 C59.4,62.5 60.5,62.1 61.3,61.3 L115.2,7.4 C116.9,5.8 116.9,3.2 115.3,1.6Z'/%3E %3C/svg%3E") calc(100% - 12px) 50%/12px no-repeat;background:var(--background) var(--select-arrow) calc(100% - 12px) 50%/12px no-repeat;padding-right:35px}#marketplace-readme select::-ms-expand{display:none}#marketplace-readme select[multiple]{padding-right:10px;background-image:none;overflow-y:auto}#marketplace-readme input:focus{box-shadow:0 0 0 2px rgba(0,150,191,.6705882353);box-shadow:0 0 0 2px var(--focus)}#marketplace-readme select:focus{box-shadow:0 0 0 2px rgba(0,150,191,.6705882353);box-shadow:0 0 0 2px var(--focus)}#marketplace-readme button:focus{box-shadow:0 0 0 2px rgba(0,150,191,.6705882353);box-shadow:0 0 0 2px var(--focus)}#marketplace-readme textarea:focus{box-shadow:0 0 0 2px rgba(0,150,191,.6705882353);box-shadow:0 0 0 2px var(--focus)}#marketplace-readme button:active,#marketplace-readme input[type=button]:active,#marketplace-readme input[type=checkbox]:active,#marketplace-readme input[type=radio]:active,#marketplace-readme input[type=range]:active,#marketplace-readme input[type=reset]:active,#marketplace-readme input[type=submit]:active{transform:translateY(2px)}#marketplace-readme button:disabled,#marketplace-readme input:disabled,#marketplace-readme select:disabled,#marketplace-readme textarea:disabled{cursor:not-allowed;opacity:.5}#marketplace-readme ::-moz-placeholder{color:#a9a9a9;color:var(--form-placeholder)}#marketplace-readme ::placeholder{color:#a9a9a9;color:var(--form-placeholder)}#marketplace-readme fieldset{border:1px rgba(0,150,191,.6705882353) solid;border:1px var(--focus) solid;border-radius:6px;margin:0;margin-bottom:12px;padding:10px}#marketplace-readme legend{font-size:.9em;font-weight:600}#marketplace-readme input[type=range]{margin:10px 0;padding:10px 0;background:0 0}#marketplace-readme input[type=range]:focus{outline:0}#marketplace-readme input[type=range]::-webkit-slider-runnable-track{width:100%;height:9.5px;-webkit-transition:.2s;transition:.2s;background:#161f27;background:var(--background);border-radius:3px}#marketplace-readme input[type=range]::-webkit-slider-thumb{box-shadow:0 1px 1px #000,0 0 1px #0d0d0d;height:20px;width:20px;border-radius:50%;background:#526980;background:var(--border);-webkit-appearance:none;margin-top:-7px}#marketplace-readme input[type=range]:focus::-webkit-slider-runnable-track{background:#161f27;background:var(--background)}#marketplace-readme input[type=range]::-moz-range-track{width:100%;height:9.5px;-moz-transition:.2s;transition:.2s;background:#161f27;background:var(--background);border-radius:3px}#marketplace-readme input[type=range]::-moz-range-thumb{box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d;height:20px;width:20px;border-radius:50%;background:#526980;background:var(--border)}#marketplace-readme input[type=range]::-ms-track{width:100%;height:9.5px;background:0 0;border-color:transparent;border-width:16px 0;color:transparent}#marketplace-readme input[type=range]::-ms-fill-lower{background:#161f27;background:var(--background);border:.2px solid #010101;border-radius:3px;box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d}#marketplace-readme input[type=range]::-ms-fill-upper{background:#161f27;background:var(--background);border:.2px solid #010101;border-radius:3px;box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d}#marketplace-readme input[type=range]::-ms-thumb{box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d;border:1px solid #000;height:20px;width:20px;border-radius:50%;background:#526980;background:var(--border)}#marketplace-readme input[type=range]:focus::-ms-fill-lower{background:#161f27;background:var(--background)}#marketplace-readme input[type=range]:focus::-ms-fill-upper{background:#161f27;background:var(--background)}#marketplace-readme a{text-decoration:none;color:#41adff;color:var(--links)}#marketplace-readme a:hover{text-decoration:underline}#marketplace-readme code{background:#161f27;background:var(--background);color:#ffbe85;color:var(--code);padding:2.5px 5px;border-radius:6px;font-size:1em}#marketplace-readme samp{background:#161f27;background:var(--background);color:#ffbe85;color:var(--code);padding:2.5px 5px;border-radius:6px;font-size:1em}#marketplace-readme time{background:#161f27;background:var(--background);color:#ffbe85;color:var(--code);padding:2.5px 5px;border-radius:6px;font-size:1em}#marketplace-readme pre>code{padding:10px;display:block;overflow-x:auto}#marketplace-readme var{color:#d941e2;color:var(--variable);font-style:normal;font-family:monospace}#marketplace-readme kbd{background:#161f27;background:var(--background);border:1px solid #526980;border:1px solid var(--border);border-radius:2px;color:#dbdbdb;color:var(--text-main);padding:2px 4px 2px 4px}#marketplace-readme img,#marketplace-readme video{max-width:100%;height:auto}#marketplace-readme hr{border:none;border-top:1px solid #526980;border-top:1px solid var(--border)}#marketplace-readme table{border-collapse:collapse;margin-bottom:10px;width:100%;table-layout:fixed}#marketplace-readme table caption{text-align:left}#marketplace-readme td,#marketplace-readme th{padding:6px;text-align:left;vertical-align:top;word-wrap:break-word}#marketplace-readme thead{border-bottom:1px solid #526980;border-bottom:1px solid var(--border)}#marketplace-readme tfoot{border-top:1px solid #526980;border-top:1px solid var(--border)}#marketplace-readme tbody tr:nth-child(2n){background-color:#161f27;background-color:var(--background)}#marketplace-readme tbody tr:nth-child(2n) button{background-color:#1a242f;background-color:var(--background-alt)}#marketplace-readme tbody tr:nth-child(2n) button:hover{background-color:#202b38;background-color:var(--background-body)}#marketplace-readme ::-webkit-scrollbar{height:10px;width:10px}#marketplace-readme ::-webkit-scrollbar-track{background:#161f27;background:var(--background);border-radius:6px}#marketplace-readme ::-webkit-scrollbar-thumb{background:#040a0f;background:var(--scrollbar-thumb);border-radius:6px}#marketplace-readme ::-webkit-scrollbar-thumb:hover{background:#000;background:var(--scrollbar-thumb-hover)}#marketplace-readme ::-moz-selection{background-color:#1c76c5;background-color:var(--selection);color:#fff;color:var(--text-bright)}#marketplace-readme ::selection{background-color:#1c76c5;background-color:var(--selection);color:#fff;color:var(--text-bright)}#marketplace-readme details{display:flex;flex-direction:column;align-items:flex-start;background-color:#1a242f;background-color:var(--background-alt);padding:10px 10px 0;margin:1em 0;border-radius:6px;overflow:hidden}#marketplace-readme details[open]{padding:10px}#marketplace-readme details>:last-child{margin-bottom:0}#marketplace-readme details[open] summary{margin-bottom:10px}#marketplace-readme summary{display:list-item;background-color:#161f27;background-color:var(--background);padding:10px;margin:-10px -10px 0;cursor:pointer;outline:0}#marketplace-readme summary:focus,#marketplace-readme summary:hover{text-decoration:underline}#marketplace-readme details>:not(summary){margin-top:0}#marketplace-readme summary::-webkit-details-marker{color:#dbdbdb;color:var(--text-main)}#marketplace-readme dialog{background-color:#1a242f;background-color:var(--background-alt);color:#dbdbdb;color:var(--text-main);border:none;border-radius:6px;border-color:#526980;border-color:var(--border);padding:10px 30px}#marketplace-readme dialog>header:first-child{background-color:#161f27;background-color:var(--background);border-radius:6px 6px 0 0;margin:-10px -30px 10px;padding:10px;text-align:center}#marketplace-readme dialog::backdrop{background:rgba(0,0,0,.6117647059);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#marketplace-readme footer{border-top:1px solid #526980;border-top:1px solid var(--border);padding-top:10px;color:#a9b1ba;color:var(--text-muted)}#marketplace-readme body>footer{margin-top:40px}@media print{#marketplace-readme body,#marketplace-readme button,#marketplace-readme code,#marketplace-readme details,#marketplace-readme input,#marketplace-readme pre,#marketplace-readme summary,#marketplace-readme textarea{background-color:#fff}#marketplace-readme button,#marketplace-readme input,#marketplace-readme textarea{border:1px solid #000}#marketplace-readme body,#marketplace-readme button,#marketplace-readme code,#marketplace-readme footer,#marketplace-readme h1,#marketplace-readme h2,#marketplace-readme h3,#marketplace-readme h4,#marketplace-readme h5,#marketplace-readme h6,#marketplace-readme input,#marketplace-readme pre,#marketplace-readme strong,#marketplace-readme summary,#marketplace-readme textarea{color:#000}#marketplace-readme summary::marker{color:#000}#marketplace-readme summary::-webkit-details-marker{color:#000}#marketplace-readme tbody tr:nth-child(2n){background-color:#f2f2f2}#marketplace-readme a{color:#00f;text-decoration:underline}}#marketplace-readme code{border:1px solid var(--spice-button-disabled)}#marketplace-readme li,#marketplace-readme ul{list-style-position:inside}#marketplace-readme li li,#marketplace-readme ul li{margin-bottom:8px}#marketplace-readme ul{list-style-type:disc}#marketplace-readme ol{list-style-type:auto}#marketplace-readme code,#marketplace-readme p,#marketplace-readme pre{margin:8px 0}#marketplace-readme pre{overflow-x:auto}#marketplace-readme table{table-layout:auto}#marketplace-readme table td,#marketplace-readme table th{border:1px solid var(--spice-button-disabled)}.GenericModal[aria-label="Reload required"]{height:240px!important}.marketplace-reload-modal__button-container{display:flex;justify-content:center;padding-top:18px}.marketplace-reload-modal__button-container button{margin:18px;padding:8px 24px}#marketplace-config-container .settings-block{padding-top:10px;padding-bottom:10px}#marketplace-config-container .settings-block-top{padding-bottom:10px}#marketplace-config-container .settings-block-bottom{padding-top:10px}#marketplace-config-container .settings-tabs-description{font-style:italic;font-size:12px}#marketplace-config-container .settings-row{display:flex;justify-content:space-between}#marketplace-config-container .settings-row .col{display:flex;padding:8px 0;align-items:center}#marketplace-config-container .settings-row .col.action{text-align:right;margin-inline-start:8px}#marketplace-config-container .settings-row .col.action .marketplace-sortBox+.marketplace-tooltip-icon{margin-inline-start:8px}#marketplace-config-container .settings-heading{position:relative;border-bottom:2px solid var(--spice-button-disabled);padding:0 0 4px;margin:0 0 4px}.marketplace-tooltip-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.marketplace-tooltip-icon+[data-tippy-root]{text-align:start}button.arrow-btn{align-items:center;border:0;border-radius:50%;background-color:rgba(var(--spice-rgb-shadow),.7);color:var(--spice-text);cursor:pointer;display:flex;margin-inline-end:12px;padding:8px}button.arrow-btn.small{width:24px;height:24px;padding:5px}button.arrow-btn.disabled,button.arrow-btn[disabled]{color:rgba(var(--spice-rgb-text),.3);cursor:not-allowed}.dnd-box{display:flex;align-items:center;justify-content:center;position:relative;width:100%}.dnd-icon{position:absolute;left:4px}#marketplace-add-snippet-container input,textarea{width:100%;margin-bottom:10px;padding:3px 5px;background-color:var(--spice-main);color:var(--spice-text);font-size:14px;border:1px solid var(--spice-button);border-radius:4px}#marketplace-update-container .marketplace-update-header{margin-bottom:.25rem;margin-top:.5rem}#marketplace-update-description>h4{margin-bottom:.5rem}#marketplace-update-description a{display:block}#marketplace-update-whats-changed li{list-style-type:disc}#marketplace-update-whats-changed li::marker{unicode-bidi:isolate;font-variant-numeric:tabular-nums;text-transform:none;text-indent:0!important;text-align:start!important;-moz-text-align-last:start!important;text-align-last:start!important}#marketplace-update-whats-changed>details>ul{padding-left:1.25rem}.button-module__button___hf2qg_marketplace{box-sizing:border-box;font-family:var(--font-family, spotify-circular),Helvetica,Arial,sans-serif;-webkit-tap-highlight-color:transparent;font-size:1rem;line-height:1.5rem;font-weight:700;background-color:transparent;border:0;border-radius:500px;display:inline-block;position:relative;text-align:center;text-decoration:none;text-transform:none;touch-action:manipulation;transition-duration:33ms;transition-property:background-color,border-color,color,box-shadow,filter,transform;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;transform:translate3d(0,0,0);padding:0;min-inline-size:0px;align-self:center;position:relative;background-color:var(--spice-text);color:var(--spice-main);border-radius:500px;font-size:inherit;padding-block:12px;padding-inline:32px}@media screen and (min-width:768px){.button-module__button___hf2qg_marketplace{font-size:1rem;line-height:1.5rem;text-transform:none;letter-spacing:normal}}.button-module__button___hf2qg_marketplace:hover{transform:scale(1.04)}.button-module__button___hf2qg_marketplace:active{background-color:var(--spice-subtext);box-shadow:none;transform:scale(1)}.button-module__button___hf2qg_marketplace:disabled{opacity:.5;cursor:not-allowed}.button-module__circle___EZ88P_marketplace{padding-inline:16px;width:48px;height:48px}.button-module__circle___EZ88P_marketplace svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.toggle-module__toggle-wrapper___ocE5z_marketplace{display:inline-flex;position:relative;align-items:center;cursor:pointer}.toggle-module__disabled___OYAYf_marketplace{opacity:0;pointer-events:none}.toggle-module__toggle-input___ceLM4_marketplace{opacity:0;pointer-events:none;position:absolute}.toggle-module__toggle-input___ceLM4_marketplace:checked~.toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace{background-color:var(--spice-text)}.toggle-module__toggle-input___ceLM4_marketplace:checked~.toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace .toggle-module__toggle-indicator___nCxwE_marketplace{background-color:#fff;left:auto;right:2px;right:3px}.toggle-module__toggle-input___ceLM4_marketplace:hover~.toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace{filter:brightness(1.3)}.toggle-module__toggle-input___ceLM4_marketplace:hover:checked~.toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace{filter:brightness(1.15)}.toggle-module__toggle-input___ceLM4_marketplace:active:not([disabled])~.toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace .toggle-module__toggle-indicator___nCxwE_marketplace{width:20px}.toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace{background-color:#535353;border-radius:24px;height:24px;position:relative;width:42px}.toggle-module__toggle-indicator___nCxwE_marketplace{background:#fff;border-radius:inherit;height:20px;left:2px;position:absolute;top:2px;transition:background-color,left,right,width .1s ease;width:20px;height:18px;width:18px;top:3px;left:3px;background:var(--spice-shadow)!important} \ No newline at end of file diff --git a/.config/spicetify/config-xpui.ini b/.config/spicetify/config-xpui.ini index ca749b67..24f843b9 100644 --- a/.config/spicetify/config-xpui.ini +++ b/.config/spicetify/config-xpui.ini @@ -29,4 +29,4 @@ custom_apps = library|lyrics-plus|marketplace ; DO NOT CHANGE! [Backup] version = 1.2.63.394.g126b0d89 -with = 2.40.9 +with = 2.40.10