diff --git a/.config/spicetify/CustomApps/marketplace/extension.js b/.config/spicetify/CustomApps/marketplace/extension.js index b4a3d7e9..20bd442c 100644 --- a/.config/spicetify/CustomApps/marketplace/extension.js +++ b/.config/spicetify/CustomApps/marketplace/extension.js @@ -1,3 +1,10 @@ -"use strict";var marketplace=(()=>{var f=Object.create,i=Object.defineProperty,r=Object.defineProperties,u=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertyNames,a=Object.getOwnPropertySymbols,s=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,c=(e,t,r)=>t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,d=(e,t)=>{for(var r in t=t||{})h.call(t,r)&&c(e,r,t[r]);if(a)for(var r of a(t))o.call(t,r)&&c(e,r,t[r]);return e},p=(e,t)=>r(e,n(t));e={"node_modules/chroma-js/chroma.js"(e,t){var r;r=function(){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 xe(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r,n,a,o=(e=lt(e,"hsi"))[0],c=e[1],f=e[2];return isNaN(o)&&(o=0),isNaN(c)&&(c=0),360b.t1?e*e*e:b.t2*(e-b.t0)}function Ce(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r=(e=Rt(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=b.Yn*Ee(r),n=b.Xn*Ee(n),a=b.Zn*Ee(a),[je(3.2404542*n-1.5371385*r-.4985314*a),je(-.969266*n+1.8760108*r+.041556*a),je(.0556434*n-.2040259*r+1.0572252*a),3>16,e>>8&255,255&e,1];throw new Error("unknown num color: "+e)}function qe(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=[$r(r/255),$r(n/255),$r(a/255)],o=_r(.4122214708*(n=r[0])+.5363325363*(a=r[1])+.0514459929*(r=r[2])),c=_r(.2119034982*n+.6806995451*a+.1073969566*r),n=_r(.0883024619*n+.2817188376*a+.6299787005*r);return[.2104542553*o+.793617785*c-.0040720468*n,1.9779984951*o-2.428592205*c+.4505937099*n,.0259040371*o+.7827717662*c-.808675766*n]}var u=i,Fe=c,l=o,De=e.type,Ge=B,We=z,Be=(Fe.prototype.css=function(e){return Ge(this._rgb,e)},u.css=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(Fe,[null].concat(e,["css"])))},l.format.css=We,l.autodetect.push({p:5,test:function(e){for(var t=[],r=arguments.length-1;0p.t3?Ct(e,1/3):e/p.t2+p.t0},b=l,Rt=e.unpack,At=Math.pow,It=e.unpack,qt=e.type,u=i,Ut=c,g=o,Ft=Oe,Dt=(Ut.prototype.lab=function(){return Ft(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"])))},g.format.lab=Ce,g.autodetect.push({p:2,test:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(e=It(e,"lab"),"array"===qt(e)&&3===e.length)return"lab"}}),e.unpack),Gt=e.RAD2DEG,Wt=Math.sqrt,Bt=Math.atan2,Tt=Math.round,zt=e.unpack,Yt=Oe,Ht=Le,Jt=e.unpack,Xt=e.DEG2RAD,Vt=Math.sin,Zt=Math.cos,Kt=e.unpack,Qt=Pe,er=Ce,tr=e.unpack,rr=Re,nr=e.unpack,ar=e.type,u=i,m=c,or=o,cr=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r=zt(e,"rgb"),n=r[0],a=r[1],r=r[2],n=Yt(n,a,r),a=n[0],r=n[1],n=n[2];return Ht(a,r,n)},g=(m.prototype.lch=function(){return cr(this._rgb)},m.prototype.hcl=function(){return cr(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=Re,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=c,v=o,fr=e.type,y=g,ir=Ne,ur=_e,lr=(u.prototype.name=function(){for(var e=ur(this._rgb,"rgb"),t=0,r=Object.keys(y);t=a/n?c=f:o=f}return kr(f)},Sr=(k.prototype.temp=k.prototype.kelvin=k.prototype.temperature=function(){return Mr(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=qe,e.unpack),_r=Math.cbrt,Nr=Math.pow,xr=Math.sign;function $r(e){var t=Math.abs(e);return t<.04045?e/12.92:(xr(e)||1)*Nr((t+.055)/1.055,2.4)}function Or(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r=(e=jr(e,"lab"))[0],n=e[1],a=e[2],o=M(r+.3963377774*n+.2158037573*a,3),c=M(r-.1055613458*n-.0638541728*a,3),r=M(r-.0894841775*n-1.291485548*a,3);return[255*Cr(4.0767416621*o-3.3077115913*c+.2309699292*r),255*Cr(-1.2684380046*o+2.6097574011*c-.3413193965*r),255*Cr(-.0041960863*o-.7034186147*c+1.707614701*r),3=p[r];)r++;return r-1},M=function(e){return e},S=function(e){return e};return r(u),s.classes=function(e){var t;return null!=e?("array"===j(e)?h=[(p=e)[0],e[e.length-1]]:(t=O.analyze(h),p=0===e?[t.min,t.max]:O.limits(t,"e",e)),s):p},s.domain=function(r){if(!arguments.length)return h;g=r[0],m=r[r.length-1],i=[];var e=b.length;if(r.length===e&&g!==m)for(var t=0,n=Array.from(r);t=c[t+1];)t++;var r=(e-c[t])/(c[t+1]-c[t]);return o[t]+r*(o[t+1]-o[t])}))}return h=[g,m],s},s.mode=function(e){return arguments.length?(c=e,n(),s):c},s.range=function(e,t){return r(e),s},s.out=function(e){return a=e,s},s.spread=function(e){return arguments.length?(t=e,s):t},s.correctLightness=function(e){return n(),M=(e=null==e?!0:e)?function(e){for(var t=l(0,!0).lab()[0],r=l(1,!0).lab()[0],n=r 0");var i=Math.LOG10E*Jn(n),I=Math.LOG10E*Jn(a);c.push(n);for(var u=1;u.9999999)i[3]=1;return new Nn(xn(i))}for(var h,d=e.shift(),p=d.get(o),b=[],g=0,m=0,v=0;v{r=null!=e?f(s(e)):{};var n=!t&&e&&e.__esModule?r:i(r,"default",{value:e,enumerable:!0}),a=e,o=void 0,c=void 0;if(a&&"object"==typeof a||"function"==typeof a)for(let e of l(a))h.call(n,e)||e===o||i(n,e,{get:()=>a[e],enumerable:!(c=u(a,e))||c.enumerable});return n})(function(){return t||(0,e[l(e)[0]])((t={exports:{}}).exports,t),t.exports}()),x=(t,e)=>{t=localStorage.getItem(t);if(!t)return e;try{return JSON.parse(t)}catch(e){return t}},I=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."},$=(e,t)=>{let r=[];return e&&0({name:e.name,url:W(e.url)})):r.push({name:t,url:"https://github.com/"+t}),r},q=(...e)=>{console.debug("Resetting Marketplace");const t=[];0===e.length&&Object.keys(localStorage).forEach(e=>{e.startsWith("marketplace:")&&t.push(e)}),e.forEach(e=>{"extensions"===e?(t.push(...x(g,[])),t.push(g)):"snippets"===e?(t.push(...x(m,[])),t.push(m)):"theme"===e&&(t.push(...x(v,[])),t.push(v),t.push(y))}),t.forEach(e=>{localStorage.removeItem(e),console.debug("Removed "+e)}),console.debug("Marketplace has been reset"),location.reload()},U=()=>{const t={};return Object.keys(localStorage).forEach(e=>{e.startsWith("marketplace:")&&(t[e]=localStorage.getItem(e))}),t},O=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}: ${I(r[e])};`}),t+="}",e.innerHTML=t,document.body.appendChild(e)}},F=async e=>{let t=x(M);return t=t.replace(/([A-Z])/g,"_$1").toUpperCase(),(await Spicetify.colorExtractor(e))[t].substring(1)},D=async(e,t)=>{var r=x(k).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 G=s=>{Spicetify.Player.addEventListener("songchange",async()=>{await L(1e3);let t=null==(a=null==(a=null==(a=Spicetify.Player.data)?void 0:a.track)?void 0:a.metadata)?void 0:a.image_xlarge_url;if(t=null==t?await new Promise(t=>{setInterval(()=>{var e=null==(e=null==(e=null==(e=Spicetify.Player.data)?void 0:e.track)?void 0:e.metadata)?void 0:e.image_xlarge_url;e&&t(e)},50)}):t){var r,n,a=new Set(Object.values(s)).size,o=await F(t),c=await D(o,a);let e=new Map;for([r,n]of Object.entries(s))e.has(n)?e.get(n).push(r):e.set(n,[r]);var f,o=new Map([...e.entries()].sort((e,t)=>{e=(0,N.default)(e[0]),t=(0,N.default)(t[0]);return e.get("lab.l")-t.get("lab.l")})),i={};for([,f]of(e=o).entries()){var u=c.shift();if(u)for(const l of f)i[l]=u}O(i)}})},j=e=>{e=new URL(e);return e.host,"raw.githubusercontent.com"===e.host},E=e=>{var t,e=e.match(new RegExp("https:\\/\\/raw\\.githubusercontent\\.com\\/(?[^/]+)\\/(?[^/]+)\\/(?[^/]+)\\/(?.+$)"));return{user:e?null==(t=e.groups)?void 0:t.user:null,repo:e?null==(t=e.groups)?void 0:t.repo:null,branch:e?null==(t=e.groups)?void 0:t.branch:null,filePath:e?null==(t=e.groups)?void 0:t.filePath:null}};function C(r,n){r&&r.forEach(e=>{n=n||r.user+"-"+r.repo;var t=window.sessionStorage.getItem(n),t=t?JSON.parse(t):[];t.push(e),window.sessionStorage.setItem(n,JSON.stringify(t))})}function L(t){return new Promise(e=>setTimeout(e,t))}var W=e=>{var t=decodeURI(e).trim().toLowerCase();return t.startsWith("javascript:")||t.startsWith("data:")||t.startsWith("vbscript:")?"about:blank":e},P=e=>{e&&(e=e.split("/").pop())&&-1===Spicetify.Config.extensions.indexOf(e)&&Spicetify.Config.extensions.push(e)};async function R(e,t,r){var n=window.sessionStorage.getItem(e+"-"+t),a=window.sessionStorage.getItem("noManifests");if(n)return JSON.parse(n);const o=`https://raw.githubusercontent.com/${e}/${t}/${r}/manifest.json`;return null!=a&&a.includes(o)?null:((n=await fetch(o).then(e=>e.json()).catch(()=>C([o],"noManifests")))&&window.sessionStorage.setItem(e+"-"+t,JSON.stringify(n)),n)}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="+_;return"extension"===e?n+="&q="+encodeURIComponent("topic:spicetify-extensions"):"theme"===e&&(n+="&q="+encodeURIComponent("topic:spicetify-themes")),t&&(n+="&page="+t),(e=await fetch(n).then(e=>e.json()).catch(()=>[])).items||Spicetify.showNotification("Too Many Requests, Cool Down.",!0),t=p(d({},e),{page_count:e.items.length,items:e.items.filter(e=>!(null!=r&&r.includes(e.html_url)))})}(e,t),n=(!async function(e,t){for(const n of e.items){var r="theme"===t?await async function(t,n,a){try{let e;var r=t.match(new RegExp("https:\\/\\/api\\.github\\.com\\/repos\\/(?.+)\\/(?.+)\\/contents"));if(!r||!r.groups)return null;const{user:o,repo:c}=r.groups;return e=await R(o,c,n),(e=Array.isArray(e)?e:[e]).reduce((e,t)=>{var r=t.branch||n,r={manifest:t,title:t.name,subtitle:t.description,authors:$(t.authors,o),user:o,repo:c,branch:r,imageURL:t.preview&&t.preview.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${o}/${c}/${r}/`+t.preview,readmeURL:t.readme&&t.readme.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${o}/${c}/${r}/`+t.readme,stars:a,tags:t.tags,cssURL:t.usercss.startsWith("http")?t.usercss:`https://raw.githubusercontent.com/${o}/${c}/${r}/`+t.usercss,schemesURL:t.schemes?t.schemes.startsWith("http")?t.schemes:`https://raw.githubusercontent.com/${o}/${c}/${r}/`+t.schemes:null,include:t.include};return null!=t&&t.name&&null!=t&&t.usercss&&null!=t&&t.description&&e.push(r),e},[])}catch(e){return null}}(n.contents_url,n.default_branch,n.stargazers_count):await async function(t,n,a,o=!1){try{let e;var r=t.match(new RegExp("https:\\/\\/api\\.github\\.com\\/repos\\/(?.+)\\/(?.+)\\/contents"));if(!r||!r.groups)return null;const{user:c,repo:f}=r.groups;return e=await R(c,f,n),(e=Array.isArray(e)?e:[e]).reduce((e,t)=>{var r=t.branch||n,r={manifest:t,title:t.name,subtitle:t.description,authors:$(t.authors,c),user:c,repo:f,branch:r,imageURL:t.preview&&t.preview.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${c}/${f}/${r}/`+t.preview,extensionURL:t.main.startsWith("http")?t.main:`https://raw.githubusercontent.com/${c}/${f}/${r}/`+t.main,readmeURL:t.readme&&t.readme.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${c}/${f}/${r}/`+t.readme,stars:a,tags:t.tags};return t&&t.name&&t.description&&t.main&&(o&&localStorage.getItem(`marketplace:installed:${c}/${f}/`+t.main)||e.push(r)),e},[])}catch(e){return null}}(n.contents_url,n.default_branch,n.stargazers_count);r&&(C(r),await L(5e3))}}(r,e),_*(t-1)+r.page_count),a=(console.debug({pageOfRepos:r}),r.total_count-n);if(console.debug(`Parsed ${n}/${r.total_count} ${e}s`),0{for(;null==Spicetify||!Spicetify.LocalStorage||null==Spicetify||!Spicetify.showNotification;)await new Promise(e=>setTimeout(e,100));var e=document.createElement("script");e.innerHTML="const global = globalThis;",document.body.appendChild(e),console.log("Initializing Spicetify Marketplace v"+b),window.Marketplace={reset:q,export:U,version:b};var e=async t=>{t=x(t);if(t){if(console.debug("Initializing theme: ",t),t.schemes){var e=t.schemes[t.activeScheme];if(O(e),Spicetify.Config.color_scheme=t.activeScheme,"true"===localStorage.getItem(w))G(e);else if("true"===localStorage.getItem(S)){var r=t.schemes;let e=0;const f=Object.keys(r).length;setInterval(()=>{e%=f,O(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=>{if(!e.cssURL)throw new Error("No CSS URL provided");var e=j(e.cssURL)?`https://cdn.jsdelivr.net/gh/${e.user}/${e.repo}@${e.branch}/`+e.manifest.usercss:e.cssURL,t=e.replace("/user.css","/assets/");console.debug("Parsing CSS: ",e);let r=await fetch(e+"?time="+Date.now()).then(e=>e.text());for(const o of r.matchAll(new RegExp(`url\\(['|"](?.+?)['|"]\\)`,"gm"))||[]){var n,a=null==(a=null==o?void 0:o.groups)?void 0:a.path;!a||a.startsWith("http")||a.startsWith("data")||(n=t+a.replace(/\.\//g,""),r=r.replace(a,n))}return r})(t));try{var n,a,o=document.querySelector("link[href='user.css']"),c=(o&&o.remove(),document.querySelector("style.marketplaceCSS.marketplaceUserCSS"));c&&c.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=null==(o=t.manifest)?void 0:o.name,t.include&&t.include.length&&t.include.forEach(e=>{var t,r,n,a,o=document.createElement("script");let c=e;j(e)&&({user:t,repo:r,branch:n,filePath:a}=E(e),c=`https://cdn.jsdelivr.net/gh/${t}/${r}@${n}/`+a),o.src=c+"?time="+Date.now(),o.classList.add("marketplaceScript"),document.body.appendChild(o),P(e)})}else console.debug("No theme manifest found")},t=(console.log("Loaded Marketplace extension"),Spicetify.Config.local_theme=Spicetify.Config.current_theme,Spicetify.Config.local_color_scheme=Spicetify.Config.color_scheme,localStorage.getItem(y));t&&e(t);e=x(m,[]).map(e=>x(e));t=e,(e=document.querySelector("style.marketplaceSnippets"))&&e.remove(),e=document.createElement("style"),t=t.reduce((e,t)=>e=(e+=`/* ${t.title} - ${t.description} */ +!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);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([` + 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.1"),window.Marketplace={reset:ee,export:te,version:"1.0.1"};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+` -`,""),e.innerHTML=t,e.classList.add("marketplaceSnippets"),document.body.appendChild(e),x(g,[]).forEach(e=>{if((e=x(e))&&e.extensionURL){console.debug("Initializing extension: ",e);var t=document.createElement("script");if(t.defer=!0,t.src=e.extensionURL,j(t.src)){var{user:r,repo:n,branch:a,filePath:o}=E(e.extensionURL);if(!(r&&n&&a&&o))return;t.src=`https://cdn.jsdelivr.net/gh/${r}/${n}@${a}/`+o}t.src=t.src+"?time="+Date.now(),document.body.appendChild(t),P(null==(r=e.manifest)?void 0:r.main)}})})(),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",1),A("theme",1)])}()})(); \ No newline at end of file +`,""),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{var T,_=Object.create,j=Object.defineProperty,M=Object.defineProperties,D=Object.getOwnPropertyDescriptor,$=Object.getOwnPropertyDescriptors,F=Object.getOwnPropertyNames,B=Object.getOwnPropertySymbols,U=Object.getPrototypeOf,G=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,t,r)=>t in e?j(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,l=(e,t)=>{for(var r in t=t||{})G.call(t,r)&&K(e,r,t[r]);if(B)for(var r of B(t))z.call(t,r)&&K(e,r,t[r]);return e},J=(e,t)=>M(e,$(t)),e=(e,t)=>function(){return t||(0,e[F(e)[0]])((t={exports:{}}).exports,t),t.exports},W=(t,r,n,a)=>{if(r&&"object"==typeof r||"function"==typeof r)for(let e of F(r))G.call(t,e)||e===n||j(t,e,{get:()=>r[e],enumerable:!(a=D(r,e))||a.enumerable});return t},t=(e,t,r)=>(r=null!=e?_(U(e)):{},W(!t&&e&&e.__esModule?r:j(r,"default",{value:e,enumerable:!0}),e)),b=e({"external-global-plugin:react"(e,t){t.exports=Spicetify.React}}),X=e({"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}}}),Y=e({"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_INTEGER:r,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}}),Q=e({"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}}),Z=e({"node_modules/semver/internal/re.js"(e,t){var r=Y()["MAX_SAFE_COMPONENT_LENGTH"],a=Q(),o=(e=t.exports={}).re=[],i=e.src=[],s=e.t={},l=0,t=(e,t,r)=>{var n=l++;a(e,n,t),s[e]=n,i[n]=t,o[n]=new RegExp(t,r?"g":void 0)};t("NUMERICIDENTIFIER","0|[1-9]\\d*"),t("NUMERICIDENTIFIERLOOSE","[0-9]+"),t("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),t("MAINVERSION",`(${i[s.NUMERICIDENTIFIER]})\\.(${i[s.NUMERICIDENTIFIER]})\\.(${i[s.NUMERICIDENTIFIER]})`),t("MAINVERSIONLOOSE",`(${i[s.NUMERICIDENTIFIERLOOSE]})\\.(${i[s.NUMERICIDENTIFIERLOOSE]})\\.(${i[s.NUMERICIDENTIFIERLOOSE]})`),t("PRERELEASEIDENTIFIER",`(?:${i[s.NUMERICIDENTIFIER]}|${i[s.NONNUMERICIDENTIFIER]})`),t("PRERELEASEIDENTIFIERLOOSE",`(?:${i[s.NUMERICIDENTIFIERLOOSE]}|${i[s.NONNUMERICIDENTIFIER]})`),t("PRERELEASE",`(?:-(${i[s.PRERELEASEIDENTIFIER]}(?:\\.${i[s.PRERELEASEIDENTIFIER]})*))`),t("PRERELEASELOOSE",`(?:-?(${i[s.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${i[s.PRERELEASEIDENTIFIERLOOSE]})*))`),t("BUILDIDENTIFIER","[0-9A-Za-z-]+"),t("BUILD",`(?:\\+(${i[s.BUILDIDENTIFIER]}(?:\\.${i[s.BUILDIDENTIFIER]})*))`),t("FULLPLAIN",`v?${i[s.MAINVERSION]}${i[s.PRERELEASE]}?${i[s.BUILD]}?`),t("FULL",`^${i[s.FULLPLAIN]}$`),t("LOOSEPLAIN",`[v=\\s]*${i[s.MAINVERSIONLOOSE]}${i[s.PRERELEASELOOSE]}?${i[s.BUILD]}?`),t("LOOSE",`^${i[s.LOOSEPLAIN]}$`),t("GTLT","((?:<|>)?=?)"),t("XRANGEIDENTIFIERLOOSE",i[s.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*"),t("XRANGEIDENTIFIER",i[s.NUMERICIDENTIFIER]+"|x|X|\\*"),t("XRANGEPLAIN",`[v=\\s]*(${i[s.XRANGEIDENTIFIER]})(?:\\.(${i[s.XRANGEIDENTIFIER]})(?:\\.(${i[s.XRANGEIDENTIFIER]})(?:${i[s.PRERELEASE]})?${i[s.BUILD]}?)?)?`),t("XRANGEPLAINLOOSE",`[v=\\s]*(${i[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[s.XRANGEIDENTIFIERLOOSE]})(?:${i[s.PRERELEASELOOSE]})?${i[s.BUILD]}?)?)?`),t("XRANGE",`^${i[s.GTLT]}\\s*${i[s.XRANGEPLAIN]}$`),t("XRANGELOOSE",`^${i[s.GTLT]}\\s*${i[s.XRANGEPLAINLOOSE]}$`),t("COERCE",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?(?:$|[^\\d])`),t("COERCERTL",i[s.COERCE],!0),t("LONETILDE","(?:~>?)"),t("TILDETRIM",`(\\s*)${i[s.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",t("TILDE",`^${i[s.LONETILDE]}${i[s.XRANGEPLAIN]}$`),t("TILDELOOSE",`^${i[s.LONETILDE]}${i[s.XRANGEPLAINLOOSE]}$`),t("LONECARET","(?:\\^)"),t("CARETTRIM",`(\\s*)${i[s.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",t("CARET",`^${i[s.LONECARET]}${i[s.XRANGEPLAIN]}$`),t("CARETLOOSE",`^${i[s.LONECARET]}${i[s.XRANGEPLAINLOOSE]}$`),t("COMPARATORLOOSE",`^${i[s.GTLT]}\\s*(${i[s.LOOSEPLAIN]})$|^$`),t("COMPARATOR",`^${i[s.GTLT]}\\s*(${i[s.FULLPLAIN]})$|^$`),t("COMPARATORTRIM",`(\\s*)${i[s.GTLT]}\\s*(${i[s.LOOSEPLAIN]}|${i[s.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",t("HYPHENRANGE",`^\\s*(${i[s.XRANGEPLAIN]})\\s+-\\s+(${i[s.XRANGEPLAIN]})\\s*$`),t("HYPHENRANGELOOSE",`^\\s*(${i[s.XRANGEPLAINLOOSE]})\\s+-\\s+(${i[s.XRANGEPLAINLOOSE]})\\s*$`),t("STAR","(<|>)?=?\\s*\\*"),t("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),t("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),ee=e({"node_modules/semver/internal/parse-options.js"(e,t){var r=Object.freeze({loose:!0}),n=Object.freeze({});t.exports=e=>e?"object"!=typeof e?r:e:n}}),te=e({"node_modules/semver/internal/identifiers.js"(e,t){var a=/^[0-9]+$/,r=(e,t)=>{var r=a.test(e),n=a.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n||(!n||r)&&er(t,e)}}}),H=e({"node_modules/semver/classes/semver.js"(e,t){var a=Q(),{MAX_LENGTH:r,MAX_SAFE_INTEGER:n}=Y(),{re:o,t:i}=Z(),s=ee(),l=te()["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`);a("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>n||this.major<0)throw new TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>n||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 n)return e;try{return new n(e,t)}catch(e){if(r)throw e;return null}}}}),ne=e({"node_modules/semver/functions/valid.js"(e,t){var r=re();t.exports=(e,t)=>{e=r(e,t);return e?e.version:null}}}),ae=e({"node_modules/semver/functions/clean.js"(e,t){var r=re();t.exports=(e,t)=>{e=r(e.trim().replace(/^[=v]+/,""),t);return e?e.version:null}}}),oe=e({"node_modules/semver/functions/inc.js"(e,t){var o=H();t.exports=(e,t,r,n,a)=>{"string"==typeof r&&(a=n,n=r,r=void 0);try{return new o(e instanceof o?e.version:e,r).inc(t,n,a).version}catch(e){return null}}}}),ie=e({"node_modules/semver/functions/diff.js"(e,t){var o=re();t.exports=(e,t)=>{var r,n,e=o(e,null,!0),t=o(t,null,!0),a=e.compare(t);return 0===a?null:(r=(a=0new r(e,t).major}}),le=e({"node_modules/semver/functions/minor.js"(e,t){var r=H();t.exports=(e,t)=>new r(e,t).minor}}),ce=e({"node_modules/semver/functions/patch.js"(e,t){var r=H();t.exports=(e,t)=>new r(e,t).patch}}),ue=e({"node_modules/semver/functions/prerelease.js"(e,t){var r=re();t.exports=(e,t)=>{e=r(e,t);return e&&e.prerelease.length?e.prerelease:null}}}),V=e({"node_modules/semver/functions/compare.js"(e,t){var n=H();t.exports=(e,t,r)=>new n(e,r).compare(new n(t,r))}}),pe=e({"node_modules/semver/functions/rcompare.js"(e,t){var n=V();t.exports=(e,t,r)=>n(t,e,r)}}),de=e({"node_modules/semver/functions/compare-loose.js"(e,t){var r=V();t.exports=(e,t)=>r(e,t,!0)}}),he=e({"node_modules/semver/functions/compare-build.js"(e,t){var n=H();t.exports=(e,t,r)=>{e=new n(e,r),t=new n(t,r);return e.compare(t)||e.compareBuild(t)}}}),fe=e({"node_modules/semver/functions/sort.js"(e,t){var n=he();t.exports=(e,r)=>e.sort((e,t)=>n(e,t,r))}}),me=e({"node_modules/semver/functions/rsort.js"(e,t){var n=he();t.exports=(e,r)=>e.sort((e,t)=>n(t,e,r))}}),ge=e({"node_modules/semver/functions/gt.js"(e,t){var n=V();t.exports=(e,t,r)=>0n(e,t,r)<0}}),be=e({"node_modules/semver/functions/eq.js"(e,t){var n=V();t.exports=(e,t,r)=>0===n(e,t,r)}}),ye=e({"node_modules/semver/functions/neq.js"(e,t){var n=V();t.exports=(e,t,r)=>0!==n(e,t,r)}}),Ee=e({"node_modules/semver/functions/gte.js"(e,t){var n=V();t.exports=(e,t,r)=>0<=n(e,t,r)}}),we=e({"node_modules/semver/functions/lte.js"(e,t){var n=V();t.exports=(e,t,r)=>n(e,t,r)<=0}}),Se=e({"node_modules/semver/functions/cmp.js"(e,t){var a=be(),o=ye(),i=ge(),s=Ee(),l=ve(),c=we();t.exports=(e,t,r,n)=>{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 a(e,r,n);case"!=":return o(e,r,n);case">":return i(e,r,n);case">=":return s(e,r,n);case"<":return l(e,r,n);case"<=":return c(e,r,n);default:throw new TypeError("Invalid operator: "+t)}}}}),ke=e({"node_modules/semver/functions/coerce.js"(e,t){var a=H(),o=re(),{re:i,t:s}=Z();t.exports=(e,t)=>{if(e instanceof a)return e;if("string"!=typeof(e="number"==typeof e?String(e):e))return null;let r=null;if((t=t||{}).rtl){for(var n;(n=i[s.COERCERTL].exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&n.index+n[0].length===r.index+r[0].length||(r=n),i[s.COERCERTL].lastIndex=n.index+n[1].length+n[2].length;i[s.COERCERTL].lastIndex=-1}else r=e.match(i[s.COERCE]);return null===r?null:o(`${r[2]}.${r[3]||"0"}.`+(r[4]||"0"),t)}}}),Oe=e({"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}}}}),Ce=e({"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 n=0,a=this.head;null!==a&&nthis.length&&(t=this.length);for(var n=this.length,a=this.tail;null!==a&&tthis.length?this.length-1:e)<0&&(e=this.length+e);for(var n=0,a=this.head;null!==a&&n1,f=(e,t,r)=>{t=e[h].get(t);if(t){var n=t.value;if(m(e,n)){if(v(e,t),!e[o])return}else r&&(e[a]&&(t.value.now=Date.now()),e[d].unshiftNode(t));return n.value}},m=(e,t)=>{var r;return!(!t||!t.maxAge&&!e[c])&&(r=Date.now()-t.now,t.maxAge?r>t.maxAge:e[c]&&r>e[c])},g=t=>{if(t[s]>t[i])for(let e=t[d].tail;t[s]>t[i]&&null!==e;){var r=e.prev;v(t,e),e=r}},v=(e,t)=>{var r;t&&(r=t.value,e[u]&&e[u](r.key,r.value),e[s]-=r.length,e[h].delete(r.key),e[d].removeNode(t))},b=class{constructor(e,t,r,n,a){this.key=e,this.value=t,this.length=r,this.now=n,this.maxAge=a||0}},y=(e,t,r,n)=>{let a=r.value;m(e,a)&&(v(e,r),e[o]||(a=void 0)),a&&t.call(n,a.value,a.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||n;if(this[l]="function"!=typeof t?n: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[p]=e.noDisposeOnSet||!1,this[a]=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?n:e)!==this[l]&&(this[l]=e,this[s]=0,this[d].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[d].length}rforEach(t,r){r=r||this;for(let e=this[d].tail;null!==e;){var n=e.prev;y(this,t,e,r),e=n}}forEach(t,r){r=r||this;for(let e=this[d].head;null!==e;){var n=e.next;y(this,t,e,r),e=n}}keys(){return this[d].toArray().map(e=>e.key)}values(){return this[d].toArray().map(e=>e.value)}reset(){this[u]&&this[d]&&this[d].length&&this[d].forEach(e=>this[u](e.key,e.value)),this[h]=new Map,this[d]=new r,this[s]=0}dump(){return this[d].map(e=>!m(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[d]}set(e,t,r){if((r=r||this[c])&&"number"!=typeof r)throw new TypeError("maxAge must be a number");var n,a=r?Date.now():0,o=this[l](t,e);return this[h].has(e)?o>this[i]?(v(this,this[h].get(e)),!1):(n=this[h].get(e).value,this[u]&&!this[p]&&this[u](e,n.value),n.now=a,n.maxAge=r,n.value=t,this[s]+=o-n.length,n.length=o,this.get(e),g(this),!0):(n=new b(e,t,o,a,r)).length>this[i]?(this[u]&&this[u](e,t),!1):(this[s]+=n.length,this[d].unshift(n),this[h].set(e,this[d].head),g(this),!0)}has(e){return!!this[h].has(e)&&(e=this[h].get(e).value,!m(this,e))}get(e){return f(this,e,!0)}peek(e){return f(this,e,!1)}pop(){var e=this[d].tail;return e?(v(this,e),e.value):null}del(e){v(this,this[h].get(e))}load(t){this.reset();var r=Date.now();for(let e=t.length-1;0<=e;e--){var n=t[e],a=n.e||0;0===a?this.set(n.k,n.v):0<(a=a-r)&&this.set(n.k,n.v,a)}}prune(){this[h].forEach((e,t)=>f(this,t,!1))}}}}),q=e({"node_modules/semver/classes/range.js"(e,t){var n=class{constructor(e,t){if(t=a(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.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split("||").map(e=>this.parseRange(e.trim())).filter(e=>e.length),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);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){e=e.trim();var t=((this.options.includePrerelease&&m)|(this.options.loose&&g))+":"+e,r=s.get(t);if(r)return r;var r=this.options.loose,n=r?d[h.HYPHENRANGELOOSE]:d[h.HYPHENRANGE];e=e.replace(n,I(this.options.includePrerelease)),p("hyphen replace",e),e=e.replace(d[h.COMPARATORTRIM],c),p("comparator trim",e);let a=(e=(e=(e=e.replace(d[h.TILDETRIM],u)).replace(d[h.CARETTRIM],f)).split(/\s+/).join(" ")).split(" ").map(e=>b(e,this.options)).join(" ").split(/\s+/).map(e=>x(e,this.options));r&&(a=a.filter(e=>(p("loose invalid filter",e,this.options),!!e.match(d[h.COMPARATORLOOSE])))),p("range list",a);var o=new Map;for(const i of a.map(e=>new l(e,this.options))){if(v(i))return[i];o.set(i.value,i)}1i(t,r)&&e.set.some(e=>i(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,o=e=>""===e.value,i=(e,t)=>{let r=!0;var n=e.slice();let a=n.pop();for(;r&&n.length;)r=n.every(e=>a.intersects(e,t)),a=n.pop();return r},b=(e,t)=>(p("comp",e,t),e=S(e,t),p("caret",e),e=E(e,t),p("tildes",e),e=O(e,t),p("xrange",e),e=N(e,t),p("stars",e),e),y=e=>!e||"x"===e.toLowerCase()||"*"===e,E=(e,t)=>e.trim().split(/\s+/).map(e=>w(e,t)).join(" "),w=(i,e)=>{e=e.loose?d[h.TILDELOOSE]:d[h.TILDE];return i.replace(e,(e,t,r,n,a)=>{p("tilde",i,e,t,r,n,a);let o;return o=y(t)?"":y(r)?`>=${t}.0.0 <${+t+1}.0.0-0`:y(n)?`>=${t}.${r}.0 <${t}.${+r+1}.0-0`:a?(p("replaceTilde pr",a),`>=${t}.${r}.${n}-${a} <${t}.${+r+1}.0-0`):`>=${t}.${r}.${n} <${t}.${+r+1}.0-0`,p("tilde return",o),o})},S=(e,t)=>e.trim().split(/\s+/).map(e=>k(e,t)).join(" "),k=(i,e)=>{p("caret",i,e);var t=e.loose?d[h.CARETLOOSE]:d[h.CARET];const s=e.includePrerelease?"-0":"";return i.replace(t,(e,t,r,n,a)=>{p("caret",i,e,t,r,n,a);let o;return o=y(t)?"":y(r)?`>=${t}.0.0${s} <${+t+1}.0.0-0`:y(n)?"0"===t?`>=${t}.${r}.0${s} <${t}.${+r+1}.0-0`:`>=${t}.${r}.0${s} <${+t+1}.0.0-0`:a?(p("replaceCaret pr",a),"0"===t?"0"===r?`>=${t}.${r}.${n}-${a} <${t}.${r}.${+n+1}-0`:`>=${t}.${r}.${n}-${a} <${t}.${+r+1}.0-0`:`>=${t}.${r}.${n}-${a} <${+t+1}.0.0-0`):(p("no pr"),"0"===t?"0"===r?`>=${t}.${r}.${n}${s} <${t}.${r}.${+n+1}-0`:`>=${t}.${r}.${n}${s} <${t}.${+r+1}.0-0`:`>=${t}.${r}.${n} <${+t+1}.0.0-0`),p("caret return",o),o})},O=(e,t)=>(p("replaceXRanges",e,t),e.split(/\s+/).map(e=>C(e,t)).join(" ")),C=(c,u)=>{c=c.trim();var e=u.loose?d[h.XRANGELOOSE]:d[h.XRANGE];return c.replace(e,(e,t,r,n,a,o)=>{p("xRange",c,e,t,r,n,a,o);var i=y(r),s=i||y(n),l=s||y(a);return"="===t&&l&&(t=""),o=u.includePrerelease?"-0":"",i?e=">"===t||"<"===t?"<0.0.0-0":"*":t&&l?(s&&(n=0),a=0,">"===t?(t=">=",a=s?(r=+r+1,n=0):(n=+n+1,0)):"<="===t&&(t="<",s?r=+r+1:n=+n+1),e=t+r+`.${n}.`+a+(o="<"===t?"-0":o)):s?e=`>=${r}.0.0${o} <${+r+1}.0.0-0`:l&&(e=`>=${r}.${n}.0${o} <${r}.${+n+1}.0-0`),p("xRange return",e),e})},N=(e,t)=>(p("replaceStars",e,t),e.trim().replace(d[h.STAR],"")),x=(e,t)=>(p("replaceGTE0",e,t),e.trim().replace(d[t.includePrerelease?h.GTE0PRE:h.GTE0],"")),I=h=>(e,t,r,n,a,o,i,s,l,c,u,p,d)=>((t=y(r)?"":y(n)?`>=${r}.0.0`+(h?"-0":""):y(a)?`>=${r}.${n}.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`:p?`<=${l}.${c}.${u}-`+p:h?`<${l}.${c}.${+u+1}-0`:"<="+s)).trim(),L=(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")}},a=(t.exports=n,ee()),{re:o,t:i}=Z(),s=Se(),l=Q(),c=H(),u=q()}}),Ie=e({"node_modules/semver/functions/satisfies.js"(e,t){var n=q();t.exports=(e,t,r)=>{try{t=new n(t,r)}catch(e){return!1}return t.test(e)}}}),Le=e({"node_modules/semver/ranges/to-comparators.js"(e,t){var r=q();t.exports=(e,t)=>new r(e,t).set.map(e=>e.map(e=>e.value).join(" ").trim().split(" "))}}),Re=e({"node_modules/semver/ranges/max-satisfying.js"(e,t){var i=H(),s=q();t.exports=(e,t,r)=>{let n=null,a=null,o=null;try{o=new s(t,r)}catch(e){return null}return e.forEach(e=>{!o.test(e)||n&&-1!==a.compare(e)||(n=e,a=new i(n,r))}),n}}}),Pe=e({"node_modules/semver/ranges/min-satisfying.js"(e,t){var i=H(),s=q();t.exports=(e,t,r)=>{let n=null,a=null,o=null;try{o=new s(t,r)}catch(e){return null}return e.forEach(e=>{!o.test(e)||n&&1!==a.compare(e)||(n=e,a=new i(n,r))}),n}}}),Ae=e({"node_modules/semver/ranges/min-version.js"(e,t){var o=H(),r=q(),i=ge();t.exports=(t,e)=>{t=new r(t,e);let n=new o("0.0.0");if(t.test(n))return n;if(n=new o("0.0.0-0"),t.test(n))return n;n=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||n&&!i(n,r)||(n=r)}return n&&t.test(n)?n:null}}}),Te=e({"node_modules/semver/ranges/valid.js"(e,t){var r=q();t.exports=(e,t)=>{try{return new r(e,t).range||"*"}catch(e){return null}}}}),_e=e({"node_modules/semver/ranges/outside.js"(e,t){var r=H(),d=xe(),h=d["ANY"],f=q(),m=Ie(),g=ge(),v=ve(),b=we(),y=Ee();t.exports=(n,a,e,o)=>{n=new r(n,o),a=new f(a,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(m(n,a,o))return!1;for(let e=0;e{e.semver===h&&(e=new d(">=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===u)return!1;if((!r.operator||r.operator===c)&&s(n,r.semver))return!1;if(r.operator===u&&l(n,r.semver))return!1}return!0}}}),je=e({"node_modules/semver/ranges/gtr.js"(e,t){var n=_e();t.exports=(e,t,r)=>n(e,t,">",r)}}),Me=e({"node_modules/semver/ranges/ltr.js"(e,t){var n=_e();t.exports=(e,t,r)=>n(e,t,"<",r)}}),De=e({"node_modules/semver/ranges/intersects.js"(e,t){var n=q();t.exports=(e,t,r)=>(e=new n(e,r),t=new n(t,r),e.intersects(t,r))}}),$e=e({"node_modules/semver/ranges/simplify.js"(e,t){var h=Ie(),f=V();t.exports=(e,t,r)=>{var n=[];let a=null,o=null;var i=e.sort((e,t)=>f(e,t,r));for(const d of i){var s=h(d,t,r);a=s?(o=d,a||d):(o&&n.push([a,o]),o=null)}a&&n.push([a,null]);var l,c,u=[];for([l,c]of n)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(" || "),p="string"==typeof t.raw?t.raw:String(t);return e.length=0.0.0-0")],w=[new r(">=0.0.0")],S=(e,t,r)=>{return!e||!(0<(r=y(e.semver,t.semver,r)))&&(r<0||">"===t.operator&&">="===e.operator)?t:e},k=(e,t,r)=>{return!e||!((r=y(e.semver,t.semver,r))<0)&&(0{if(t!==r){t=new s(t,n),r=new s(r,n);let e=!1;e:for(const o of t.set){for(const i of r.set){var a=((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?E:w}if(1===l.length&&l[0].semver===v){if(c.includePrerelease)return!0;l=w}var u=new Set,p,d;let e,t;for(const h of s)">"===h.operator||">="===h.operator?e=S(e,h,c):"<"===h.operator||"<="===h.operator?t=k(t,h,c):u.add(h.semver);if(1="!==e.operator||"<="!==t.operator))return null}for(const f of u){if(e&&!b(f,String(e),c))return null;if(t&&!b(f,String(t),c))return null;for(const m of l)if(!b(f,String(m),c))return!1;return!0}let n,a,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(a=a||">"===g.operator||">="===g.operator,n=n||"<"===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((p=S(e,g,c))===g&&p!==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((d=k(t,g,c))===g&&d!==t)return!1}else if("<="===t.operator&&!b(t.semver,String(g),c))return!1;if(!g.operator&&(t||e)&&0!==r)return!1}if(e&&n&&!t&&0!==r)return!1;if(t&&a&&!e&&0!==r)return!1;if(i||o)return!1}return true})(o,i,n);if(e=e||null!==a,a)continue e}if(e)return!1}}return!0}}}),Be=e({"node_modules/semver/index.js"(M,e){var t=Z(),r=Y(),n=H(),a=te(),o=re(),i=ne(),s=ae(),l=oe(),c=ie(),u=se(),p=le(),d=ce(),h=ue(),f=V(),m=pe(),g=de(),v=he(),b=fe(),y=me(),E=ge(),w=ve(),S=be(),k=ye(),O=Ee(),C=we(),N=Se(),x=ke(),I=xe(),L=q(),R=Ie(),P=Le(),A=Re(),T=Pe(),_=Ae(),j=Te(),D=_e(),$=je(),F=Me(),B=De(),U=$e(),G=Fe();e.exports={parse:o,valid:i,clean:s,inc:l,diff:c,major:u,minor:p,patch:d,prerelease:h,compare:f,rcompare:m,compareLoose:g,compareBuild:v,sort:b,rsort:y,gt:E,lt:w,eq:S,neq:k,gte:O,lte:C,cmp:N,coerce:x,Comparator:I,Range:L,satisfies:R,toComparators:P,maxSatisfying:A,minSatisfying:T,minVersion:_,validRange:j,outside:D,gtr:$,ltr:F,intersects:B,simplifyRange:U,subset:G,SemVer:n,re:t.re,src:t.src,tokens:t.t,SEMVER_SPEC_VERSION:r.SEMVER_SPEC_VERSION,RELEASE_TYPES:r.RELEASE_TYPES,compareIdentifiers:a.compareIdentifiers,rcompareIdentifiers:a.rcompareIdentifiers}}}),r=e({"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=ut(e,"hsi"))[0],i=e[1],s=e[2];return isNaN(o)&&(o=0),isNaN(i)&&(i=0),360m.t1?e*e*e:m.t2*(e-m.t0)}function Pe(){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=m.Yn*Re(r),n=m.Xn*Re(n),a=m.Zn*Re(a),[Le(3.2404542*n-1.5371385*r-.4985314*a),Le(-.969266*n+1.8760108*r+.041556*a),Le(.0556434*n-.2040259*r+1.0572252*a),3>16,e>>8&255,255&e,1];throw new Error("unknown num color: "+e)}function De(e){var t,r,n=(e=e/100)<66?(t=255,r=e<6?0:-155.25485562709179-.44596950469579133*(r=e-2)+104.49216199393888*E(r),e<20?0:.8274096064007395*(n=e-10)-254.76935184120902+115.67994401066147*E(n)):(t=351.97690566805693+.114206453784165*(t=e-55)-40.25366309332127*E(t),r=325.4494125711974+.07943456536662342*(r=e-50)-28.0852963507957*E(r),255);return[t,r,n,1]}function $e(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r=(a=kr(e,"rgb"))[0],n=a[1],a=a[2],r=[xr(r/255),xr(n/255),xr(a/255)],o=Or(.4122214708*(n=r[0])+.5363325363*(a=r[1])+.0514459929*(r=r[2])),i=Or(.2119034982*n+.6806995451*a+.1073969566*r),n=Or(.0883024619*n+.2817188376*a+.6299787005*r);return[.2104542553*o+.793617785*i-.0040720468*n,1.9779984951*o-2.428592205*i+.4505937099*n,.0259040371*o+.7827717662*i-.808675766*n]}var c=l,Fe=i,u=o,Be=e.type,Ue=H,Ge=q,He=(Fe.prototype.css=function(e){return Ue(this._rgb,e)},c.css=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(Fe,[null].concat(e,["css"])))},u.format.css=Ge,u.autodetect.push({p:5,test:function(e){for(var t=[],r=arguments.length-1;0f.t3?Pt(e,1/3):e/f.t2+f.t0},m=u,_t=e.unpack,jt=Math.pow,Mt=e.unpack,Dt=e.type,c=l,$t=i,g=o,Ft=Ie,Bt=($t.prototype.lab=function(){return Ft(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=Pe,g.autodetect.push({p:2,test:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(e=Mt(e,"lab"),"array"===Dt(e)&&3===e.length)return"lab"}}),e.unpack),Ut=e.RAD2DEG,Gt=Math.sqrt,Ht=Math.atan2,Vt=Math.round,qt=e.unpack,zt=Ie,Kt=Ae,Jt=e.unpack,Wt=e.DEG2RAD,Xt=Math.sin,Yt=Math.cos,Qt=e.unpack,Zt=Te,er=Pe,tr=e.unpack,rr=_e,nr=e.unpack,ar=e.type,c=l,v=i,or=o,ir=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r=qt(e,"rgb"),n=r[0],a=r[1],r=r[2],n=zt(n,a,r),a=n[0],r=n[1],n=n[2];return Kt(a,r,n)},g=(v.prototype.lch=function(){return ir(this._rgb)},v.prototype.hcl=function(){return ir(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"])))},or.format.lch=_e,or.format.hcl=je,["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"}),c=i,b=o,sr=e.type,y=g,lr=Ce,cr=Oe,ur=(c.prototype.name=function(){for(var e=cr(this._rgb,"rgb"),t=0,r=Object.keys(y);t=a/n?i=s:o=s}return wr(s)},kr=(w.prototype.temp=w.prototype.kelvin=w.prototype.temperature=function(){return Sr(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(w,[null].concat(e,["temp"])))},b.format.temp=b.format.kelvin=b.format.temperature=De,e.unpack),Or=Math.cbrt,Cr=Math.pow,Nr=Math.sign;function xr(e){var t=Math.abs(e);return t<.04045?e/12.92:(Nr(e)||1)*Cr((t+.055)/1.055,2.4)}function Ir(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r=(e=Lr(e,"lab"))[0],n=e[1],a=e[2],o=S(r+.3963377774*n+.2158037573*a,3),i=S(r-.1055613458*n-.0638541728*a,3),r=S(r-.0894841775*n-1.291485548*a,3);return[255*Pr(4.0767416621*o-3.3077115913*i+.2309699292*r),255*Pr(-1.2684380046*o+2.6097574011*i-.3413193965*r),255*Pr(-.0041960863*o-.7034186147*i+1.707614701*r),3=f[r];)r++;return r-1},S=function(e){return e},k=function(e){return e};return r(c),p.classes=function(e){var t;return null!=e?("array"===L(e)?d=[(f=e)[0],e[e.length-1]]:(t=I.analyze(d),f=0===e?[t.min,t.max]:I.limits(t,"e",e)),p):f},p.domain=function(r){if(!arguments.length)return d;g=r[0],v=r[r.length-1],l=[];var e=m.length;if(r.length===e&&g!==v)for(var t=0,n=Array.from(r);t=i[t+1];)t++;var r=(e-i[t])/(i[t+1]-i[t]);return o[t]+r*(o[t+1]-o[t])}))}return d=[g,v],p},p.mode=function(e){return arguments.length?(i=e,n(),p):i},p.range=function(e,t){return r(e),p},p.out=function(e){return a=e,p},p.spread=function(e){return arguments.length?(t=e,p):t},p.correctLightness=function(e){return n(),S=(e=null==e?!0:e)?function(e){for(var t=u(0,!0).lab()[0],r=u(1,!0).lab()[0],n=r 0");var l=Math.LOG10E*Jn(n),M=Math.LOG10E*Jn(a);i.push(n);for(var c=1;c.9999999)l[3]=1;return new Cn(Nn(l))}for(var d,h=e.shift(),f=h.get(o),m=[],g=0,v=0,b=0;b"}}:{children:o})),O.createElement("textarea",{ref:function(e){return t._input=e},style:S(S(S({},x.editor),x.textarea),a),className:C+(s?" ".concat(s):""),id:i,value:r,onChange:this._handleChange,onKeyDown:this._handleKeyDown,onClick:v,onKeyUp:E,onFocus:b,onBlur:y,disabled:c,form:u,maxLength:p,minLength:d,name:h,placeholder:f,readOnly:m,required:g,autoFocus:l,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"data-gramm":!1}),O.createElement("style",{dangerouslySetInnerHTML:{__html:N}}))},s.defaultProps={tabSize:2,insertSpaces:!0,ignoreTabKey:!1,padding:0},s);function s(){var m=null!==t&&t.apply(this,arguments)||this;return m.state={capture:!0},m._recordCurrentState=function(){var e,t,r=m._input;r&&(e=r.value,t=r.selectionStart,r=r.selectionEnd,m._recordChange({value:e,selectionStart:t,selectionEnd:r}))},m._getLines=function(e,t){return e.substring(0,t).split("\n")},m._recordChange=function(e,t){void 0===t&&(t=!1);var r=m._history,n=r.stack,r=r.offset,r=(n.length&&-1=i.reach);b+=v.value.length,v=v.next){var y=v.value;if(r.length>t.length)return;if(!(y instanceof P)){var E,w=1;if(f){if(!(E=A(g,b,t,h))||E.index>=t.length)break;var S=E.index,k=E.index+E[0].length,O=b;for(O+=v.value.length;O<=S;)v=v.next,O+=v.value.length;if(O-=v.value.length,b=O,v.value instanceof P)continue;for(var C=v;C!==r.tail&&(Oi.reach&&(i.reach=y),v.prev),x=(x&&(L=T(r,L,x),b+=x.length),_(r,L,w),new P(s,d?R.tokenize(N,d):N,m,N));v=T(r,L,x),I&&T(r,v,I),1i.reach&&(i.reach=N.reach)}}}}}(e,a,t,a.head,0),a),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=R.hooks.all;r[e]=r[e]||[],r[e].push(t)},run:function(e,t){var r=R.hooks.all[e];if(r&&r.length)for(var n,a=0;n=r[a++];)n(t)}},Token:P},l.Prism=R,P.stringify=function t(e,r){if("string"==typeof e)return e;var n;if(Array.isArray(e))return n="",e.forEach(function(e){n+=t(e,r)}),n;var a,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)),R.hooks.run("wrap",o),"");for(a in o.attributes)i+=" "+a+'="'+(o.attributes[a]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+i+">"+o.content+""},l.document?((a=R.util.currentScript())&&(R.filename=a.src,a.hasAttribute("data-manual"))&&(R.manual=!0),R.manual||("loading"===(o=document.readyState)||"interactive"===o&&a&&a.defer?document.addEventListener("DOMContentLoaded",i):window.requestAnimationFrame?window.requestAnimationFrame(i):window.setTimeout(i,16))):l.addEventListener&&!R.disableWorkerMessageHandler&&l.addEventListener("message",function(e){var e=JSON.parse(e.data),t=e.language,r=e.code,e=e.immediateClose;l.postMessage(R.highlight(r,R.languages[t],t)),e&&l.close()},!1),R);function P(e,t,r,n){this.type=e,this.content=t,this.alias=r,this.length=0|(n||"").length}function A(e,t,r,n){e.lastIndex=t;t=e.exec(r);return t&&n&&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 T(e,t,r){var n=t.next,r={value:r,prev:t,next:n};return t.next=r,n.prev=r,e.length++,r}function _(e,t,r){for(var n=t.next,a=0;aconsole.error("SEMVER",...e):()=>{};t.exports=r}}),ze=e({"node_modules/spcr-whats-new/node_modules/semver/internal/constants.js"(e,t){var r=Number.MAX_SAFE_INTEGER||9007199254740991;t.exports={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:r,MAX_SAFE_COMPONENT_LENGTH:16}}}),Ke=e({"node_modules/spcr-whats-new/node_modules/semver/internal/re.js"(e,t){var r=ze()["MAX_SAFE_COMPONENT_LENGTH"],a=qe(),o=(e=t.exports={}).re=[],i=e.src=[],s=e.t={},l=0,t=(e,t,r)=>{var n=l++;a(e,n,t),s[e]=n,i[n]=t,o[n]=new RegExp(t,r?"g":void 0)};t("NUMERICIDENTIFIER","0|[1-9]\\d*"),t("NUMERICIDENTIFIERLOOSE","[0-9]+"),t("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),t("MAINVERSION",`(${i[s.NUMERICIDENTIFIER]})\\.(${i[s.NUMERICIDENTIFIER]})\\.(${i[s.NUMERICIDENTIFIER]})`),t("MAINVERSIONLOOSE",`(${i[s.NUMERICIDENTIFIERLOOSE]})\\.(${i[s.NUMERICIDENTIFIERLOOSE]})\\.(${i[s.NUMERICIDENTIFIERLOOSE]})`),t("PRERELEASEIDENTIFIER",`(?:${i[s.NUMERICIDENTIFIER]}|${i[s.NONNUMERICIDENTIFIER]})`),t("PRERELEASEIDENTIFIERLOOSE",`(?:${i[s.NUMERICIDENTIFIERLOOSE]}|${i[s.NONNUMERICIDENTIFIER]})`),t("PRERELEASE",`(?:-(${i[s.PRERELEASEIDENTIFIER]}(?:\\.${i[s.PRERELEASEIDENTIFIER]})*))`),t("PRERELEASELOOSE",`(?:-?(${i[s.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${i[s.PRERELEASEIDENTIFIERLOOSE]})*))`),t("BUILDIDENTIFIER","[0-9A-Za-z-]+"),t("BUILD",`(?:\\+(${i[s.BUILDIDENTIFIER]}(?:\\.${i[s.BUILDIDENTIFIER]})*))`),t("FULLPLAIN",`v?${i[s.MAINVERSION]}${i[s.PRERELEASE]}?${i[s.BUILD]}?`),t("FULL",`^${i[s.FULLPLAIN]}$`),t("LOOSEPLAIN",`[v=\\s]*${i[s.MAINVERSIONLOOSE]}${i[s.PRERELEASELOOSE]}?${i[s.BUILD]}?`),t("LOOSE",`^${i[s.LOOSEPLAIN]}$`),t("GTLT","((?:<|>)?=?)"),t("XRANGEIDENTIFIERLOOSE",i[s.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*"),t("XRANGEIDENTIFIER",i[s.NUMERICIDENTIFIER]+"|x|X|\\*"),t("XRANGEPLAIN",`[v=\\s]*(${i[s.XRANGEIDENTIFIER]})(?:\\.(${i[s.XRANGEIDENTIFIER]})(?:\\.(${i[s.XRANGEIDENTIFIER]})(?:${i[s.PRERELEASE]})?${i[s.BUILD]}?)?)?`),t("XRANGEPLAINLOOSE",`[v=\\s]*(${i[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[s.XRANGEIDENTIFIERLOOSE]})(?:${i[s.PRERELEASELOOSE]})?${i[s.BUILD]}?)?)?`),t("XRANGE",`^${i[s.GTLT]}\\s*${i[s.XRANGEPLAIN]}$`),t("XRANGELOOSE",`^${i[s.GTLT]}\\s*${i[s.XRANGEPLAINLOOSE]}$`),t("COERCE",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?(?:$|[^\\d])`),t("COERCERTL",i[s.COERCE],!0),t("LONETILDE","(?:~>?)"),t("TILDETRIM",`(\\s*)${i[s.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",t("TILDE",`^${i[s.LONETILDE]}${i[s.XRANGEPLAIN]}$`),t("TILDELOOSE",`^${i[s.LONETILDE]}${i[s.XRANGEPLAINLOOSE]}$`),t("LONECARET","(?:\\^)"),t("CARETTRIM",`(\\s*)${i[s.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",t("CARET",`^${i[s.LONECARET]}${i[s.XRANGEPLAIN]}$`),t("CARETLOOSE",`^${i[s.LONECARET]}${i[s.XRANGEPLAINLOOSE]}$`),t("COMPARATORLOOSE",`^${i[s.GTLT]}\\s*(${i[s.LOOSEPLAIN]})$|^$`),t("COMPARATOR",`^${i[s.GTLT]}\\s*(${i[s.FULLPLAIN]})$|^$`),t("COMPARATORTRIM",`(\\s*)${i[s.GTLT]}\\s*(${i[s.LOOSEPLAIN]}|${i[s.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",t("HYPHENRANGE",`^\\s*(${i[s.XRANGEPLAIN]})\\s+-\\s+(${i[s.XRANGEPLAIN]})\\s*$`),t("HYPHENRANGELOOSE",`^\\s*(${i[s.XRANGEPLAINLOOSE]})\\s+-\\s+(${i[s.XRANGEPLAINLOOSE]})\\s*$`),t("STAR","(<|>)?=?\\s*\\*"),t("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),t("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),Je=e({"node_modules/spcr-whats-new/node_modules/semver/internal/parse-options.js"(e,t){var r=["includePrerelease","loose","rtl"];t.exports=t=>t?"object"!=typeof t?{loose:!0}:r.filter(e=>t[e]).reduce((e,t)=>(e[t]=!0,e),{}):{}}}),We=e({"node_modules/spcr-whats-new/node_modules/semver/internal/identifiers.js"(e,t){var a=/^[0-9]+$/,r=(e,t)=>{var r=a.test(e),n=a.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n||(!n||r)&&er(t,e)}}}),Xe=e({"node_modules/spcr-whats-new/node_modules/semver/classes/semver.js"(e,t){var a=qe(),{MAX_LENGTH:r,MAX_SAFE_INTEGER:n}=ze(),{re:o,t:i}=Ke(),s=Je(),l=We()["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: "+e);if(e.length>r)throw new TypeError(`version is longer than ${r} characters`);a("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>n||this.major<0)throw new TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>n||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&&tnew n(e,r).compare(new n(t,r))}}),Qe=e({"node_modules/spcr-whats-new/node_modules/semver/functions/gt.js"(e,t){var n=Ye();t.exports=(e,t,r)=>0function(){return Qa.default.createElement(Ya,null)}};for(T in tt)j(et,T,{get:tt[T],enumerable:!0});var rt=t(b());function R(e){return(R="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 i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function nt(e){e=function(e,t){if("object"!==R(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);if("object"!==R(r=r.call(e,t||"default")))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}(e,"string");return"symbol"===R(e)?e:String(e)}function at(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r":">",'"':""","'":"'","/":"/"};function Ct(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,function(e){return Ot[e]}):e}var Nt="undefined"!=typeof window&&window.navigator&&void 0===window.navigator.userAgentData&&window.navigator.userAgent&&-1i+s;)s++,c=o[l=a.slice(i,i+s).join(n)];if(void 0===c)return;if(null===c)return null;if(t.endsWith(l)){if("string"==typeof c)return c;if(l&&"string"==typeof c[l])return c[l]}var u=a.slice(i+s).join(n);return u?It(c,u,n):void 0}o=o[a[i]]}return o}}function Lt(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function Rt(t){for(var e=1;e=p.maxReplaces)break}var r,n}),a}},{key:"nest",value:function(e,t){var r,n=this,a=2=this.maxParallelReads)this.waitingReads.push({lng:n,ns:a,fcName:o,tried:s,wait:l,callback:c});else{this.readingCalls++;function t(e,t){var r;i.readingCalls--,0",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"};function Lr(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function Rr(t){for(var e=1;e{t=localStorage.getItem(t);if(!t)return e;try{return JSON.parse(t)}catch(e){return t}},vn=e=>{const r={section:/^\s*\[\s*([^\]]*)\s*\]\s*$/,param:/^\s*([^=]+?)\s*=\s*(.*?)\s*$/,comment:/^\s*;.*$/},n={};e=e.split(/[\r\n]+/);let a=null;return e.forEach(function(e){var t;r.comment.test(e)||(r.param.test(e)?e.includes("xrdb")?(delete n[null!=a?a:""],a=null):(t=e.match(r.param),a&&t&&(n[a][t[1]]=t[2].split(";")[0].trim())):r.section.test(e)?(t=e.match(r.section))&&(n[t[1]]={},a=t[1]):0==e.length&&(a=a&&null))}),n},bn=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} */ +var marketplace=(()=>{var A,P=Object.create,_=Object.defineProperty,R=Object.getOwnPropertyDescriptor,M=Object.getOwnPropertyNames,j=Object.getPrototypeOf,$=Object.prototype.hasOwnProperty,e=(e,t)=>function(){return t||(0,e[M(e)[0]])((t={exports:{}}).exports,t),t.exports},D=(t,a,r,n)=>{if(a&&"object"==typeof a||"function"==typeof a)for(let e of M(a))$.call(t,e)||e===r||_(t,e,{get:()=>a[e],enumerable:!(n=R(a,e))||n.enumerable});return t},t=(e,t,a)=>(a=null!=e?P(j(e)):{},D(!t&&e&&e.__esModule?a:_(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*$")}}),F=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=F(),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}}}}),X=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}}}),Z=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))}}}),B=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,F()),{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=X(),s=Z(),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(),_=Ee(),R=Ce(),M=Ne(),$=xe(),D=Ie(),z=Le(),U=Oe(),F=Te(),B=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:_,minVersion:R,validRange:M,outside:$,gtr:D,ltr:z,intersects:U,simplifyRange:F,subset:B,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=Rt(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 $e(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 De(){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,Fe=V,Be=q,Ve=(ze.prototype.css=function(e){return Fe(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=Be,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,Rt=e.unpack,Mt=Math.pow,jt=e.unpack,$t=e.type,c=l,Dt=i,g=o,zt=Le,Ut=(Dt.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(Dt,[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"===$t(e)&&3===e.length)return"lab"}}),e.unpack),Ft=e.RAD2DEG,Bt=Math.sqrt,Vt=Math.atan2,Ht=Math.round,qt=e.unpack,Gt=Le,Kt=Pe,Jt=e.unpack,Wt=e.DEG2RAD,Xt=Math.sin,Zt=Math.cos,Yt=e.unpack,Qt=_e,ea=Ae,ta=e.unpack,aa=Re,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=Re,oa.format.hcl=Me,["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=$e,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=_(a,O,I),b+=I.length),R(a,O,k),new A(s,p?T.tokenize(x,p):x,f,x));v=_(a,O,I),L&&_(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 _(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 R(e,t,a){for(var r=t.next,n=0;nfunction(){return Yr.default.createElement(Zr,null)}};for(A in De)_($e,A,{get:De[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)}},Fe=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=>Ze[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=Be();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=Be();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=Be();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=Be(),r=this.options.preload||[];e=(e="string"==typeof e?[e]:e).filter(e=>r.indexOf(e)<0);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 _t(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",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},$t=e=>jt[e],Dt={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:e=>e.replace(Mt,$t)};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),Ft=(e,t)=>{const a=(0,k.useRef)();return(0,k.useEffect)(()=>{a.current=t?a.current:e},[e,t]),a.current};function Bt(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={...Dt,...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=>_t(e,s,l)),h=(n=s,o=r.lng||null,i="fallback"===l.nsMode?d:d[0],a=u,(0,k.useCallback)(Bt(n,o,i,a),[n,o,i,a])),m=()=>h,f=()=>Bt(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=Ft(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)},yn=(e,t)=>{let r=[];return e&&0({name:e.name,url:xn(e.url)})):r.push({name:t,url:"https://github.com/"+t}),r},En=e=>e?Object.keys(e).map(e=>({key:e,value:e})):[],wn=(...e)=>{console.debug("Resetting Marketplace");const t=[];0===e.length&&Object.keys(localStorage).forEach(e=>{e.startsWith("marketplace:")&&t.push(e)}),e.forEach(e=>{"extensions"===e?(t.push(...w(E.installedExtensions,[])),t.push(E.installedExtensions)):"snippets"===e?(t.push(...w(E.installedSnippets,[])),t.push(E.installedSnippets)):"theme"===e&&(t.push(...w(E.installedThemes,[])),t.push(E.installedThemes),t.push(E.themeInstalled))}),t.forEach(e=>{localStorage.removeItem(e),console.debug("Removed "+e)}),console.debug("Marketplace has been reset"),location.reload()},Sn=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}: ${(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."})(r[e])};`}),t+="}",e.innerHTML=t,document.body.appendChild(e)}},kn=e=>{try{var t,r,n=document.querySelector("link[href='user.css']"),a=(n&&n.remove(),document.querySelector("style.marketplaceCSS.marketplaceUserCSS"));a&&a.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)}},On=async e=>{if(!e.cssURL)throw new Error("No CSS URL provided");var e=(e=>{const t=new URL(e);return t.host,t.host==="raw.githubusercontent.com"})(e.cssURL)?`https://cdn.jsdelivr.net/gh/${e.user}/${e.repo}@${e.branch}/`+e.manifest.usercss:e.cssURL,t=e.replace("/user.css","/assets/");console.debug("Parsing CSS: ",e);let r=await fetch(e+"?time="+Date.now()).then(e=>e.text());for(const o of r.matchAll(new RegExp(`url\\(['|"](?.+?)['|"]\\)`,"gm"))||[]){var n,a=null==(a=null==o?void 0:o.groups)?void 0:a.path;!a||a.startsWith("http")||a.startsWith("data")||(n=t+a.replace(/\.\//g,""),r=r.replace(a,n))}return r};async function Cn(e,t,r){try{var n={text:e,context:t+"/"+r,mode:"gfm"},a=await fetch("https://api.github.com/markdown",{method:"POST",body:JSON.stringify(n)});if(a.ok)return await a.text();throw Spicetify.showNotification(`Error parsing markdown (HTTP ${a.status})`,!0)}catch(e){return null}}function Nn(e){var t,r="snippet"===e.type?"snippet:":`${e.item.user}/${e.item.repo}/`;let n;switch(e.type){case"snippet":n=e.item.title.replaceAll(" ","-");break;case"theme":n=(null==(t=e.item.manifest)?void 0:t.usercss)||"";break;case"extension":n=(null==(t=e.item.manifest)?void 0:t.main)||"";break;case"app":n=(null==(t=null==(t=e.item.manifest)?void 0:t.name)?void 0:t.replaceAll(" ","-"))||""}return"marketplace:installed:"+r+n}var xn=e=>{var t=decodeURI(e).trim().toLowerCase();return t.startsWith("javascript:")||t.startsWith("data:")||t.startsWith("vbscript:")?"about:blank":e},In=t(b()),v=t(b()),Ln=t(Ue()),Rn=t(Ge()),Pn=(Be=Prism,r=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/,Be.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+r.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\\((?:"+r.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+r.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+r.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:r,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:/[(){};:,]/},Be.languages.css.atrule.inside.rest=Be.languages.css,(r=Be.languages.markup)&&(r.tag.addInlined("style","css"),r.tag.addAttribute("style","css")),t(b())),An="button-module__button___hf2qg_marketplace",Tn="button-module__circle___EZ88P_marketplace",S=e=>{var t=e.type||"round",r=[An];return"circle"===t&&r.push(Tn),e.classes&&r.push(...e.classes),Pn.default.createElement("button",{className:r.join(" "),onClick:e.onClick,"aria-label":e.label||"",disabled:e.disabled},e.children)},_n=n=>{var e,t="marketplace-customCSS-preview";const[a,r]=v.default.useState("ADD_SNIPPET"!==n.type&&(null==(e=n.content)?void 0:e.item.code)||""),[o,i]=v.default.useState("ADD_SNIPPET"!==n.type&&(null==(e=n.content)?void 0:e.item.title)||""),[s,l]=v.default.useState("ADD_SNIPPET"!==n.type&&(null==(e=n.content)?void 0:e.item.description)||""),[c,u]=v.default.useState("ADD_SNIPPET"!==n.type&&(null==(e=n.content)?void 0:e.item.imageURL)||""),p=()=>o.replace(/\n/g,"").replaceAll(" ","-");const d="marketplace:installed:snippet:"+p(),[h,f]=v.default.useState(!!w(d));let m;return v.default.createElement("div",{id:"marketplace-add-snippet-container"},v.default.createElement("div",{className:"marketplace-customCSS-input-container"},v.default.createElement("label",{htmlFor:"marketplace-custom-css"},g("snippets.customCSS")),v.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},v.default.createElement(Ln.default,{value:a,onValueChange:e=>r(e),highlight:e=>(0,Rn.highlight)(e,Rn.languages.css),textareaId:"marketplace-custom-css",textareaClassName:"snippet-code-editor",readOnly:"VIEW_SNIPPET"===n.type,placeholder:g("snippets.customCSSPlaceholder"),style:{}}))),v.default.createElement("div",{className:"marketplace-customCSS-input-container"},v.default.createElement("label",{htmlFor:"marketplace-customCSS-name-submit"},g("snippets.snippetName")),v.default.createElement("input",{id:"marketplace-customCSS-name-submit",className:"marketplace-code-editor",value:o,onChange:e=>{"VIEW_SNIPPET"!==n.type&&i(e.target.value)},placeholder:g("snippets.snippetNamePlaceholder")})),v.default.createElement("div",{className:"marketplace-customCSS-input-container"},v.default.createElement("label",{htmlFor:"marketplace-customCSS-description-submit"},g("snippets.snippetDesc")),v.default.createElement("input",{id:"marketplace-customCSS-description-submit",className:"marketplace-code-editor",value:s,onChange:e=>{"VIEW_SNIPPET"!==n.type&&l(e.target.value)},placeholder:g("snippets.snippetDescPlaceholder")})),v.default.createElement("div",{className:"marketplace-customCSS-input-container"},v.default.createElement("label",{htmlFor:t},g("snippets.snippetPreview")," ","VIEW_SNIPPET"!==n.type&&`(${g("snippets.optional")})`),c&&v.default.createElement("label",{htmlFor:t,style:{textAlign:"center"}},v.default.createElement("img",{className:"marketplace-customCSS-image-preview",src:c,alt:"Preview"}))),"VIEW_SNIPPET"!==n.type&&v.default.createElement(v.default.Fragment,null,v.default.createElement(S,{onClick:()=>{m.click()}},c.length?g("snippets.changeImage"):g("snippets.addImage"),v.default.createElement("input",{id:t,type:"file",style:{display:"none"},ref:e=>m=e,onChange:async e=>{var t,r,n;if(null!=(t=e.target.files)&&t[0])try{n=null==(r=e.target.files)?void 0:r[0];var a=await new Promise((e,t)=>{const r=new FileReader;r.readAsDataURL(n),r.onload=()=>{e(r.result)},r.onerror=e=>{t(e)}});a&&u(a)}catch(e){console.error(e)}}})),v.default.createElement(S,{onClick:()=>{var e,t=p(),r=s.trim();h&&"EDIT_SNIPPET"!==n.type?Spicetify.showNotification("That name is already taken!",!0):(console.debug("Installing snippet: "+t),n.content&&n.content.item.title!==t&&(console.debug("Deleting outdated snippet: "+n.content.item.title),localStorage.removeItem("marketplace:installed:snippet:"+n.content.item.title),e=w(E.installedSnippets,[]).filter(e=>{return e!=="marketplace:installed:snippet:"+(null==(e=n.content)?void 0:e.item.title)}),localStorage.setItem(E.installedSnippets,JSON.stringify(e))),localStorage.setItem(d,JSON.stringify({title:t,code:a,description:r,imageURL:c,custom:!0})),-1===(e=w(E.installedSnippets,[])).indexOf(d)&&(e.push(d),localStorage.setItem(E.installedSnippets,JSON.stringify(e))),t=e.map(e=>w(e)),bn(t),Spicetify.PopupModal.hide(),"EDIT_SNIPPET"===n.type&&location.reload())},disabled:!p()||!a.replace(/\n/g,"\\n")},g("snippets.saveCSS"))),"VIEW_SNIPPET"===n.type&&v.default.createElement(S,{onClick:()=>{n.callback&&n.callback(),f(!h)}},h?g("remove"):g("install")))},jn=t(b()),Mn=()=>jn.default.createElement("div",{id:"marketplace-reload-container"},jn.default.createElement("p",null,g("reloadModal.description")),jn.default.createElement("div",{className:"marketplace-reload-modal__button-container"},jn.default.createElement(S,{onClick:()=>{Spicetify.PopupModal.hide(),location.reload()}},g("reloadModal.reloadNow")),jn.default.createElement(S,{onClick:()=>{Spicetify.PopupModal.hide()}},g("reloadModal.reloadLater")))),k=t(b()),O=t(b()),Dn=t(b()),$n="toggle-module__toggle-wrapper___ocE5z_marketplace",Fn="toggle-module__disabled___OYAYf_marketplace",Bn="toggle-module__toggle-input___ceLM4_marketplace",Un="toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace",Gn="toggle-module__toggle-indicator___nCxwE_marketplace",Hn=e=>{var t="toggle:"+e.storageKey,r=[$n];return!1===e.clickable&&r.push(Fn),Dn.default.createElement("label",{className:r.join(" ")},Dn.default.createElement("input",{className:Bn,type:"checkbox",checked:e.enabled,"data-storage-key":e.storageKey,id:t,title:"Toggle for "+e.storageKey,onChange:e.onChange}),Dn.default.createElement("span",{className:Un},Dn.default.createElement("span",{className:Gn})))},Vn=t(b()),qn=t(Ve()),zn=t=>{var e=t.sortBoxOptions.map(e=>({value:e.key,label:e.value})),r=t.sortBoxOptions.find(t.sortBySelectedFn);return Vn.default.createElement("div",{className:"marketplace-sortBox"},Vn.default.createElement("div",{className:"marketplace-sortBox-header"},Vn.default.createElement("div",{className:"marketplace-sortBox-header-title"}),Vn.default.createElement(qn.default,{placeholder:"Select an option",options:e,value:null==r?void 0:r.key,onChange:e=>{t.onChange(e.value)}})))},Kn=t(b()),Jn=()=>Kn.default.createElement("svg",{role:"img",height:"16",width:"16",className:"Svg-sc-ytk21e-0 uPxdw nW1RKQOkzcJcX6aDCZB4",viewBox:"0 0 16 16"},Kn.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"}),Kn.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"})),Wn=window.Spicetify,Xn=r=>{var e=r.type,t="dropdown"===e?"dropdown:"+r.storageKey:"toggle:"+r.storageKey,n=!!r.modalConfig.visual[r.storageKey];return void 0!==r.description&&null!==r.description||(r.description=""),"dropdown"===e&&r.options?O.default.createElement("div",{className:"setting-row"},O.default.createElement("label",{htmlFor:t,className:"col description"},r.name),O.default.createElement("div",{className:"col action"},O.default.createElement(zn,{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]}),O.default.createElement(Wn.ReactComponent.TooltipWrapper,{label:O.default.createElement(O.default.Fragment,null,r.description.split("\n").map(e=>O.default.createElement(O.default.Fragment,null,e,O.default.createElement("br",null)))),renderInline:!0,showDelay:10,placement:"top",labelClassName:"marketplace-settings-tooltip",disabled:!1},O.default.createElement("div",{className:"marketplace-tooltip-icon"},O.default.createElement(Jn,null))))):O.default.createElement("div",{className:"setting-row"},O.default.createElement("label",{htmlFor:t,className:"col description"},r.name),O.default.createElement("div",{className:"col action"},O.default.createElement(Hn,{name:r.name,storageKey:r.storageKey,enabled:n,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)}})))},Yn=t(b()),Qn=n=>{var e="toggle:"+n.name;const t=n.modalConfig.tabs.reduce((e,t,r)=>t.name===n.name?r:e,-1);var r=n.modalConfig.tabs[t]["enabled"];function a(e,t){var t=e+t,r=n.modalConfig.tabs[t];n.modalConfig.tabs[t]=n.modalConfig.tabs[e],n.modalConfig.tabs[e]=r,localStorage.setItem(E.tabs,JSON.stringify(n.modalConfig.tabs)),n.updateConfig(n.modalConfig)}return Yn.default.createElement("div",{className:"setting-row"},Yn.default.createElement("label",{htmlFor:e,className:"col description"},g("tabs."+n.name)),Yn.default.createElement("div",{className:"col action"},Yn.default.createElement("button",{title:"Move up",className:"arrow-btn",disabled:0===t,onClick:()=>a(t,-1)},Yn.default.createElement("svg",{height:"16",width:"16",viewBox:"0 0 16 16",fill:"currentColor",dangerouslySetInnerHTML:{__html:String(Spicetify.SVGIcons["chart-up"])}})),Yn.default.createElement("button",{title:"Move down",className:"arrow-btn",disabled:t===n.modalConfig.tabs.length-1,onClick:()=>a(t,1)},Yn.default.createElement("svg",{height:"16",width:"16",viewBox:"0 0 16 16",fill:"currentColor",dangerouslySetInnerHTML:{__html:String(Spicetify.SVGIcons["chart-down"])}})),Yn.default.createElement(Hn,{name:n.name,storageKey:"tab:"+n.name,clickable:"Extensions"!==n.name,enabled:r,onChange:e=>{n.modalConfig.tabs[t].enabled=e.target.checked,localStorage.setItem(E.tabs,JSON.stringify(n.modalConfig.tabs)),n.updateConfig(n.modalConfig)}})))},Zn=async()=>{const e=new MutationObserver(async()=>{var t;document.querySelector(".GenericModal[aria-label='Settings']")||(t=100,await new Promise(e=>setTimeout(e,t)),ca("BACKUP"),e.disconnect())});e.observe(document.body,{childList:!0,subtree:!0}),Spicetify.PopupModal.hide()},ea=({CONFIG:e,updateAppConfig:t})=>{const[r,n]=k.default.useState(l({},e)),[a,o]=k.default.useState(g("settings.versionBtn")),i=e=>{t(l({},e)),n(l({},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=w(E.albumArtBasedColor)?k.default.createElement(k.default.Fragment,null,k.default.createElement(Xn,{name:g("settings.albumArtBasedColorsMode"),storageKey:"albumArtBasedColorsMode",modalConfig:r,updateConfig:i,type:"dropdown",options:["monochromeDark","monochromeLight","analogicComplement","analogic","triad","quad"],description:g("settings.almbumArtColorsModeToolTip")}),k.default.createElement(Xn,{name:g("settings.albumArtBasedColorsVibrancy"),storageKey:"albumArtBasedColorsVibrancy",modalConfig:r,updateConfig:i,type:"dropdown",options:["desaturated","lightVibrant","prominent","vibrant"],description:g("settings.albumArtBasedColorsVibrancyToolTip")})):null;return k.default.createElement("div",{id:"marketplace-config-container"},k.default.createElement("h2",null,g("settings.optionsHeading")),k.default.createElement(Xn,{name:g("settings.starCountLabel"),storageKey:"stars",modalConfig:r,updateConfig:i}),k.default.createElement(Xn,{name:g("settings.tagsLabel"),storageKey:"tags",modalConfig:r,updateConfig:i}),k.default.createElement(Xn,{name:g("settings.devToolsLabel"),storageKey:"themeDevTools",modalConfig:r,updateConfig:i}),k.default.createElement(Xn,{name:g("settings.hideInstalledLabel"),storageKey:"hideInstalled",modalConfig:r,updateConfig:i}),k.default.createElement(Xn,{name:g("settings.colourShiftLabel"),storageKey:"colorShift",modalConfig:r,updateConfig:i}),k.default.createElement(Xn,{name:g("settings.albumArtBasedColors"),storageKey:"albumArtBasedColors",modalConfig:r,updateConfig:i}),e,k.default.createElement("h2",null,g("settings.tabsHeading")),k.default.createElement("div",{className:"tabs-container"},r.tabs.map(({name:e},t)=>k.default.createElement(Qn,{key:t,name:e,modalConfig:r,updateConfig:i}))),k.default.createElement("h2",null,g("settings.resetHeading")),k.default.createElement("div",{className:"setting-row"},k.default.createElement("label",{className:"col description"},g("settings.resetDescription")),k.default.createElement("div",{className:"col action"},k.default.createElement(S,{onClick:wn},g("settings.resetBtn")))),k.default.createElement("h2",null,g("settings.backupHeading")),k.default.createElement("div",{className:"setting-row"},k.default.createElement("label",{className:"col description"},g("settings.backupLabel")),k.default.createElement("div",{className:"col action"},k.default.createElement(S,{onClick:Zn},g("settings.backupBtn")))),k.default.createElement("h2",null,g("settings.versionHeading")),k.default.createElement("div",{className:"setting-row"},k.default.createElement("label",{className:"col description"},g("grid.spicetifyMarketplace")," ",dn),k.default.createElement("div",{className:"col action"},k.default.createElement(S,{onClick:()=>{Spicetify.Platform.ClipboardAPI.copy(dn),o(g("settings.versionCopied")),setTimeout(()=>o(g("settings.versionBtn")),3e3)}},a))))},C=t(b()),ta=t(Ue()),ra=t(Ge()),na=(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(E.themeInstalled)),aa=na?w(na):null,oa=()=>{const[r,t]=C.default.useState(aa?(e=>{let t="";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r))if("object"==typeof e[r]){t+=`[${r}] -`;for(const n in e[r])Object.prototype.hasOwnProperty.call(e[r],n)&&(t+=`${n}=${e[r][n]} -`)}else t+=`${r}=${e[r]} -`;return t})(aa.schemes):g("devTools.noThemeInstalled"));return C.default.createElement("div",{id:"marketplace-theme-dev-tools-container",className:"marketplace-theme-dev-tools-container"},C.default.createElement("div",{className:"devtools-column"},C.default.createElement("label",{htmlFor:"color-ini-editor"},C.default.createElement("h2",{className:"devtools-heading"},g("devTools.colorIniEditor"))),C.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},C.default.createElement(ta.default,{value:r,onValueChange:e=>t(e),highlight:e=>(0,ra.highlight)(e,ra.languages.ini),textareaId:"color-ini-editor",textareaClassName:"color-ini-editor",readOnly:!aa,placeholder:g("devTools.colorIniEditorPlaceholder"),style:{fontFamily:"monospace",resize:"none"}})),C.default.createElement(S,{onClick:()=>{var e=r;{var t;na?(t=vn(e),aa.schemes=t,localStorage.setItem(na,JSON.stringify(aa))):Spicetify.showNotification(g("devTools.noThemeManifest"),!0)}}},g("save"))),C.default.createElement("div",{className:"devtools-column"},C.default.createElement("h2",{className:"devtools-heading"},g("devTools.invalidCSS")),C.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},function(){var e=null==(e=document.querySelector("body > style.marketplaceCSS.marketplaceUserCSS"))?void 0:e.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 r=[];for(const o of e.matchAll(t)){var n=o[0].replace(/{/g,"").trim(),a=n.split(" ");let t;for(let e=0;eC.default.createElement("div",{key:t,className:"invalid-css-text"},e)))))},N=t(b()),ia=t(Ue()),sa=t(Ge()),la=(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]=N.default.useState("");const r=t=>{if(t){let e;try{e=JSON.parse(t)}catch(e){return void Spicetify.showNotification(g("backupModal.invalidJSON"))}var r;r=e,console.debug("Importing Marketplace"),wn(),Object.keys(r).forEach(e=>{localStorage.setItem(e,r[e]),console.debug("Imported "+e)}),location.reload()}else Spicetify.showNotification(g("backupModal.noDataPasted"))};return N.default.createElement("div",{id:"marketplace-backup-container"},N.default.createElement("div",{className:"marketplace-backup-input-container"},N.default.createElement("label",{htmlFor:"marketplace-backup"},g("backupModal.inputLabel")),N.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},N.default.createElement(ia.default,{value:e,onValueChange:e=>t(e),highlight:e=>(0,sa.highlight)(e,sa.languages.css),textareaId:"marketplace-import-text",textareaClassName:"import-textarea",readOnly:!1,className:"marketplace-code-editor-textarea",placeholder:g("backupModal.inputPlaceholder"),style:{}}))),N.default.createElement(N.default.Fragment,null,N.default.createElement(S,{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(g("backupModal.settingsCopied")),Spicetify.PopupModal.hide()}},g("backupModal.exportBtn")),N.default.createElement(S,{classes:["marketplace-backup-button"],onClick:()=>{r(e)}},g("backupModal.importBtn")),N.default.createElement(S,{classes:["marketplace-backup-button"],onClick:async()=>{var e=await(await(await window.showOpenFilePicker())[0].getFile()).text();r(e)}},g("backupModal.fileImportBtn"))))}),ca=(e,t,r,n,a)=>{e=((e,t,r,n,a)=>{switch(e){case"ADD_SNIPPET":return{title:g("snippets.addTitle"),content:In.default.createElement(_n,{type:e}),isLarge:!0};case"EDIT_SNIPPET":return{title:g("snippets.editTitle"),content:In.default.createElement(_n,{type:e,content:n}),isLarge:!0};case"VIEW_SNIPPET":return{title:g("snippets.viewTitle"),content:In.default.createElement(_n,{type:e,content:n,callback:a}),isLarge:!0};case"RELOAD":return{title:g("reloadModal.title"),content:In.default.createElement(Mn,null),isLarge:!1};case"SETTINGS":return{title:g("settings.title"),content:In.default.createElement(ea,{CONFIG:t,updateAppConfig:r}),isLarge:!0};case"THEME_DEV_TOOLS":return{title:g("devTools.title"),content:In.default.createElement(oa,null),isLarge:!0};case"BACKUP":return{title:g("backupModal.title"),content:In.default.createElement(la,null),isLarge:!0};default:return{title:"",content:In.default.createElement("div",null),isLarge:!1}}})(e,t,r,n,a),Spicetify.PopupModal.display(e)},ua=[{title:"Rounded 'Now Playing' Bar",description:"Adds rounded corners to the 'Now Playing' bar so it matches the rest of the User Interface.",code:":root{ --border-radius-1: 8px; } .Root__now-playing-bar, .Root__now-playing-bar footer { border-radius: var(--border-radius-1) !important; }",preview:"resources/assets/snippets/rounded-now-playing.png"},{title:"Rounded Images",description:"Adds rounded corners to the cover art, playlist covers, cards and other images",code:"/* Expanded Cover Art Image (+ position fix) */\n .main-navBar-navBar > :nth-child(3) {\n margin: 0 0 0 1px;\n border-radius: 6px;\n }\n \n /* Collapsed Cover Art Image */\n .cover-art-image,\n .artist-artistOverview-sideBlock > div > section > div:nth-child(3) > section:nth-child(2) > div > img,\n .view-homeShortcutsGrid-image {\n border-radius: 4px;\n }\n \n /*\n Playlist Header\n Search Category Card Image\n List Cards\n Local Files Card\n Placeholder Profile Card\n Artist Overview Side Block\n */\n .main-entityHeader-shadow,\n .x-categoryCard-image,\n .main-cardImage-image,\n .main-cardImage-imageWrapper,\n .main-entityHeader-imagePlaceholder > div,\n .artist-artistOverview-sideBlock > div > section {\n border-radius: 6px;\n }\n \n /* Circled Artist + Profile Cards (force) */\n .main-cardImage-circular,\n .main-entityHeader-imagePlaceholder,\n .main-entityHeader-circle {\n border-radius: 50% !important;\n }\n \n /* Track List Image */\n .main-trackList-rowImage {\n border-radius: 3px;\n }",preview:"resources/assets/snippets/rounded-images.png"},{title:"Fix 'Episodes' Icon",description:"Makes the 'Your Episodes' button icon monochromatic like the rest of the icons.",code:".main-yourEpisodesButton-yourEpisodesIcon { background: var(--spice-text); color: var(--spice-sidebar); }",preview:"resources/assets/snippets/fixed-episodes-icon.png"},{title:"Fix 'Liked' Icon",description:"Fix the colours of the Liked icon in sidebar",code:".main-likedSongsButton-likedSongsIcon {\n color: var(--spice-sidebar);\n background: var(--spice-text);\n}",preview:"resources/assets/snippets/fix-liked-icon.png"},{title:"Fix 'DJ' Icon",description:"Makes the DJ icon match themes better",code:".main-collectionLinkButton-icon > div { background: var(--spice-text); color: var(--spice-sidebar); }",preview:"resources/assets/snippets/fix-DJ-icon.png"},{title:"Hide Upgrade Button",description:"Makes the upgrade button hidden",code:".main-topBar-UpgradeButton {\n display: none !important;\n}",preview:"resources/assets/snippets/hide-upgrade-button.png"},{title:"Auto-hide Friends",description:"Collapse the friends activity sidebar on small screens",code:"[aria-label='Friend Activity'] {\n transition: width 0.3s;\n}\n@media screen and (max-width: 1200px) {\n [aria-label='Friend Activity'] {\n width: 0;\n }\n [aria-label='Friend Activity'] .LayoutResizer__resize-bar {\n display: none;\n }\n}",preview:"resources/assets/snippets/auto-hide-friends.png"},{title:"Smooth Reveal Playlist Gradient",description:"Reveals the playlist gradient header gradient with a fade in effect",code:".main-entityHeader-overlay,\n.main-actionBarBackground-background,\n.main-entityHeader-overlay,\n.main-entityHeader-backgroundColor {\n -webkit-transition: 3s;\n}",preview:"resources/assets/snippets/smooth-playlist-reveal-gradient.png"},{title:"Remove connect bar",description:"Remove connect bar that causes progress bar displacement when listening on different devices",code:".main-connectBar-connectBar {\n display: none !important;}",preview:"resources/assets/snippets/remove-connect-bar.png"},{title:"Fix main view width",description:"Makes main view fill up all available space",code:".contentSpacing {\n max-width: 100% !important;\n}",preview:"resources/assets/snippets/fix-main-view-width.png"},{title:"Left aligned heart icons",description:"Moves the heart icon to the left side of the track title in track views",code:".main-trackList-rowSectionStart {\n margin-left: 38px !important;\n}\n.main-addButton-button.main-trackList-rowHeartButton,\n.main-addButton-button.main-trackList-rowHeartButton {\n position: absolute !important;\n left: 48px !important;\n}",preview:"resources/assets/snippets/left-aligned-heart-icons.png"},{title:"Hover Panels",description:"Have your playlist, right sidebar, and controls bar be hoverable.",code:".Root__nav-bar {\n position: absolute;\n width: 35px;\n opacity: 0;\n bottom: 0;\n left: 0;\n top: 0;\n z-index: 12;\n transition: width 400ms, opacity 250ms ease-out;\n}\n.main-yourLibraryX-entryPoints{\n background: var(--spice-sidebar);\n}\n.Root__nav-bar:hover {\n width: 250px;\n opacity: 1;\n transition: width 250ms , opacity 400ms ease-in;\n}\n.LayoutResizer__resize-bar {\n cursor: none;\n}\n.Root__top-bar {\n opacity: 0;\n transition: visibility 5s, opacity 1s linear;\n}\n.Root__top-bar:hover {\n transition-delay: 0.5s;\n opacity: 1;\n transition: visibility 5s, opacity 0.5s linear;\n}\n.main-topBar-container {\n -webkit-padding-end: 32px;\n padding: 16px 85px;\n padding-inline-end: 32px;\n max-width: none;\n}\n.main-buddyFeed-container:hover {\n width: var(--panel-width) !important;\n opacity: 1 !important;\n transition: width 250ms , opacity 400ms ease-in;\n}\n.main-buddyFeed-container {\n position:absolute;\n right: -5px;\n top: 0;\n bottom: 84px;\n width: 50px !important;\n opacity: 0 !important;\n transition: width 400ms, opacity 250ms ease-out;\n}\n.main-trackList-trackListHeader{\ntop: 0px !important;\n}\n.main-yourLibraryX-navItem{\noverflow: hidden\n}\n.main-coverSlotCollapsed-navAltContainer{\noverflow: visible \n}\n.LayoutResizer__resize-bar{\n\tdisplay: none;\n}",preview:"resources/assets/snippets/hover-panels.png"},{title:"Fix progress bar displacement",description:"Fixes the progress bar displacement for a few themes. Better version of @CharlieS1103 Snippet",code:".main-connectBar-connectBar {\n overflow: visible !important;\n position: absolute !important;\n display: flex !important;\n align-items: unset !important;\n left: 80% !important;\n height: 20px !important;\n bottom: 1% !important;\n padding: 2px !important;\n background-color: transparent !important;\n color: var(--spice-text) !important;\n}\n.control-button::after {\n display: none !important;\n}",preview:"resources/assets/snippets/fix-progress-bar.png"},{title:"Fix playlist hover effect",description:"Fixes the hover effect on the playlist titles in some themes",code:".main-rootlist-rootlistItemOverlay {\n display: none;\n}",preview:"resources/assets/snippets/fix-playlist-hover.png"},{title:"Disable Homepage Recommendation",description:"Disable Homepage Recommendation charts",code:"section[data-testid='home-page'] .main-shelf-shelf:not([aria-label='Recently played'], [aria-label='Your playlists']) {\n\tdisplay: none !important;\n}",preview:"resources/assets/snippets/disable-recommendation.png"},{title:"Circular Album Art",description:"Makes the now playing album art be circular (like a vinyl)",code:".cover-art .cover-art-image {\n border-radius: 100% !important;\n}",preview:"resources/assets/snippets/circular-album-art.png"},{title:"Always show forward button",description:"The navigate forward button hides itself when the window width is smaller. This snipppet makes it so that it is always shown.",code:".main-topBar-historyButtons .main-topBar-forward {\n display: inline-flex !important;\n}",preview:"resources/assets/snippets/always-show-forward.png"},{title:"Right Side Cover Art",description:"Cover art on right side with animation",code:".main-nowPlayingWidget-nowPlaying > .ellipsis-one-line,\n.main-trackInfo-container {\n margin-left: 74px;\n}\n.main-coverSlotExpanded-container {\n position: fixed;\n top: calc(100% - 305px);\n left: calc(100% - 220px);\n width: 200px;\n height: 200px;\n visibility: hidden;\n transform-origin: center;\n animation: 1s coverExpandedIn;\n animation-fill-mode: forwards;\n}\n.Q4cc5RktWgz2H8_vDrIS {\n display: none;\n}\n.main-coverSlotCollapsed-container {\n position: fixed;\n top: -12px;\n left: 0px;\n width: 56px;\n height: 56px;\n visibility: visible;\n z-index: 1;\n}\n.cover-art .cover-art-image,\n.main-coverSlotCollapsed-container {\n transform-origin: center;\n transition-timing-function: ease-in;\n transition: width 0.5s 0.2s, height 0.5s 0.2s, top 0.3s, left 0.5s,\n box-shadow 0.5s;\n}\n.main-coverSlotCollapsed-container[aria-hidden='true'] {\n left: calc(100vw - 164px);\n top: -240px;\n width: 200px;\n height: 200px;\n visibility: hidden;\n animation: 1s coverExpandedOut;\n}\n.main-coverSlotCollapsed-container[aria-hidden='false'] {\n transition-timing-function: ease-out !important;\n transition: width 0.5s 0.2s, height 0.5s 0.2s, top 0.5s 0.1s, left 0.3s,\n box-shadow 0.5s !important;\n}\n.main-coverSlotCollapsed-container[aria-hidden='true']\n .cover-art\n .cover-art-image,\n.main-nowPlayingWidget-coverExpanded\n .main-coverSlotCollapsed-container\n .cover-art\n .cover-art-image {\n width: 200px;\n height: 200px;\n}\n.main-nowPlayingBar-left {\n z-index: 2;\n}\n.main-nowPlayingBar-center {\n z-index: 1;\n}\n.cover-art.shadow {\n box-shadow: 0 0 10px rgba(var(--spice-rgb-shadow), 1) !important;\n}\n@keyframes coverExpandedIn {\n 99% {\n visibility: hidden;\n }\n 100% {\n visibility: visible;\n }\n}\n@keyframes coverExpandedOut {\n 99% {\n visibility: visible;\n }\n 100% {\n visibility: hidden;\n }\n}",preview:"resources/assets/snippets/right-cover-art.png"},{title:"Better lyrics style",description:"Spotify lyrics are focused and beautified",code:".lyrics-lyrics-contentContainer .lyrics-lyricsContent-lyric.lyrics-lyricsContent-highlight { filter: blur(1.5px); padding: 15px; font-size: 110%; } .lyrics-lyrics-contentContainer .lyrics-lyricsContent-lyric.lyrics-lyricsContent-active { filter: none; padding: 20px; font-size: 130%; } .lyrics-lyrics-contentContainer .lyrics-lyricsContent-lyric { filter: blur(1.5px); padding: 15px; font-size: 110%; } .lyrics-lyrics-contentContainer .lyrics-lyricsContent-lyric.lyrics-lyricsContent-unsynced { filter: none; padding: 10px; font-size: 100%; }",preview:"resources/assets/snippets/better-lyrics-style.png"},{title:"Fix now playing icon color",description:"Fixes the now playing icon color",code:`.main-trackList-playingIcon { -webkit-mask-image: url("data:image/svg+xml,%3Csvg id='playing-icon' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 24'%3E%3Cdefs%3E%3Cstyle%3E %23playing-icon %7B fill: %2320BC54; %7D @keyframes play %7B 0%25 %7Btransform: scaleY(1);%7D 3.3%25 %7Btransform: scaleY(0.9583);%7D 6.6%25 %7Btransform: scaleY(0.9166);%7D 9.9%25 %7Btransform: scaleY(0.8333);%7D 13.3%25 %7Btransform: scaleY(0.7083);%7D 16.6%25 %7Btransform: scaleY(0.5416);%7D 19.9%25 %7Btransform: scaleY(0.4166);%7D 23.3%25 %7Btransform: scaleY(0.25);%7D 26.6%25 %7Btransform: scaleY(0.1666);%7D 29.9%25 %7Btransform: scaleY(0.125);%7D 33.3%25 %7Btransform: scaleY(0.125);%7D 36.6%25 %7Btransform: scaleY(0.1666);%7D 39.9%25 %7Btransform: scaleY(0.1666);%7D 43.3%25 %7Btransform: scaleY(0.2083);%7D 46.6%25 %7Btransform: scaleY(0.2916);%7D 49.9%25 %7Btransform: scaleY(0.375);%7D 53.3%25 %7Btransform: scaleY(0.5);%7D 56.6%25 %7Btransform: scaleY(0.5833);%7D 59.9%25 %7Btransform: scaleY(0.625);%7D 63.3%25 %7Btransform: scaleY(0.6666);%7D 66.6%25 %7Btransform: scaleY(0.6666);%7D 69.9%25 %7Btransform: scaleY(0.6666);%7D 73.3%25 %7Btransform: scaleY(0.6666);%7D 76.6%25 %7Btransform: scaleY(0.7083);%7D 79.9%25 %7Btransform: scaleY(0.75);%7D 83.3%25 %7Btransform: scaleY(0.8333);%7D 86.6%25 %7Btransform: scaleY(0.875);%7D 89.9%25 %7Btransform: scaleY(0.9166);%7D 93.3%25 %7Btransform: scaleY(0.9583);%7D 96.6%25 %7Btransform: scaleY(1);%7D %7D %23bar1 %7B transform-origin: bottom; animation: play 0.9s -0.51s infinite; %7D %23bar2 %7B transform-origin: bottom; animation: play 0.9s infinite; %7D %23bar3 %7B transform-origin: bottom; animation: play 0.9s -0.15s infinite; %7D %23bar4 %7B transform-origin: bottom; animation: play 0.9s -0.75s infinite; %7D %3C/style%3E%3C/defs%3E%3Ctitle%3Eplaying-icon%3C/title%3E%3Crect id='bar1' class='cls-1' width='4' height='24'/%3E%3Crect id='bar2' class='cls-1' x='6' width='4' height='24'/%3E%3Crect id='bar3' class='cls-1' x='12' width='4' height='24'/%3E%3Crect id='bar4' class='cls-1' x='18' width='4' height='24'/%3E%3C/svg%3E"); background: var(--spice-button); content-visibility: hidden; -webkit-mask-repeat: no-repeat; }`,preview:"resources/assets/snippets/fix-now-playing-icon.png"},{title:"Hide playing gif",description:"Hides the gif that shows the music playing",code:".main-trackList-playingIcon{display: none}",preview:"resources/assets/snippets/hide-playing-gif.png"},{title:"Pointers",description:"Clickable elements are now a pointer",code:"button, .show-followButton-button, .main-dropDown-dropDown, .x-toggle-wrapper, .main-playlistEditDetailsModal-closeBtn, .main-trackList-rowPlayPauseButton, .main-rootlist-rootlistItemLink:link, .main-rootlist-rootlistItemLink:visited, .x-sortBox-sortDropdown, .main-contextMenu-menuItemButton, .main-trackList-column, .main-moreButton-button, .x-downloadButton-button, .main-playButton-PlayButton, .main-coverSlotExpandedCollapseButton-chevron, .main-coverSlotCollapsed-chevron, .control-button:focus, .control-button:hover, .main-repeatButton-button, .main-skipForwardButton-button, .main-playPauseButton-button, .main-skipBackButton-button, .main-shuffleButton-button, .main-addButton-button, .progress-bar__slider, .playback-bar, .main-editImageButton-image, .X1lXSiVj0pzhQCUo_72A { cursor: pointer !important; }",preview:"resources/assets/snippets/pointer.png"},{title:"Remove Top gradient",description:"Removes gradient from home page and playlist page",code:".main-entityHeader-backgroundColor { display: none !important; } .main-actionBarBackground-background { display: none !important; } .main-home-homeHeader { display: none !important; }",preview:"resources/assets/snippets/remove-gradient.png"},{title:"Fix Liked Button",description:"Fixes Liked Button colors",code:'#_R_G *:not([fill="none"]) { fill: var(--spice-button) !important; } #_R_G *:not([stroke="none"]) { stroke: var(--spice-button); } .main-addButton-button[aria-checked="false"] { color: rgba(var(--spice-rgb-selected-row), 0.7); } .control-button-heart[aria-checked="true"], .main-addButton-button, .main-addButton-active:focus, .main-addButton-active:hover { color: var(--spice-button); }',preview:"resources/assets/snippets/fix-liked-button.png"},{title:"Hide Sidebar ScrollBar",description:"Hides Sidebar ScrollBar near playlist section",code:".os-scrollbar:nth-child(6) .os-scrollbar-handle { visibility: hidden; }",preview:"resources/assets/snippets/hide-sidebar-scrollbar.png"},{title:"Modern ScrollBar",description:"Thin rounded modern scrollbar",code:".os-theme-spotify.os-host-transition > .os-scrollbar-vertical > .os-scrollbar-track > .os-scrollbar-handle { border-radius: 4px; width: 6px; background-color: var(--spice-button-disabled); } .os-theme-spotify.os-host-transition > .os-scrollbar-vertical > .os-scrollbar-track { width: 6px; }",preview:"resources/assets/snippets/modern-scrollbar.png"},{title:"Remove liked and Episodes icon",description:"Removes the liked and episodes icon from the sidebar",code:'.main-collectionLinkButton-collectionLinkButton[href="/collection/tracks"], .main-collectionLinkButton-collectionLinkButton[href="/collection/episodes"] {display: none;}',preview:"resources/assets/snippets/remove-ep-likes.png"},{title:"Rotating Cover Art",description:"Adds circular mask to cover art and rotation",code:"@keyframes rotating { from { transform: rotate(0deg); } to { transform: rotate(360deg); }} .cover-art { animation: rotating 10s linear infinite; clip-path: circle(50% at 50% 50%);}",preview:"resources/assets/snippets/rotating-coverart.png"},{title:"Hide liked songs card",description:"Hides the sometimes unfitting liked Songs card in the Your Libary tab",code:".collection-collectionEntityHeroCard-likedSongs{ display: none; }",preview:"resources/assets/snippets/hide-likedSongs-card.png"},{title:"Fix playlist and folder position",description:"Replaces the playlists section in the left side bar to align with all the other category icons for the new UI. Screenshot includes 'Playlist icons' snippet",code:"div.playlist-item__img.folder, img.playlist-item__img { margin-right: 16px; } div.main-rootlist-rootlist { --left-sidebar-item-height: 32px; --left-sidebar-item-indentation-width: 10px; } div.GlueDropTarget.personal-library > * { height: 32px !important; }",preview:"resources/assets/snippets/fix-playlist-and-folder-position.png"},{title:"Remove recently played from homepage",description:"Removes the recently played shelf from the home page",code:"section.main-shelf-shelf[aria-label='Recently played'] { visibility: hidden; position: absolute; }",preview:"resources/assets/snippets/remove-recently-played.png"},{title:"Make custom app icons thicker",description:"Gives icons from the sticky list a thicker border",code:"#spicetify-sticky-list>li:nth-child(1n+1)>a>div.icon.collection-icon>svg:not(.lucide-crown) { stroke: currentcolor; stroke-width: 11px; } .collection-icon { color: unset; }",preview:"resources/assets/snippets/thicker-sticky-list-icons.png"},{title:"Pretty Lyrics",description:"Gets rid of the ugly background colour on the lyrics page and makes it consistent with themes. Works best with dark themes.",code:".lyrics-lyrics-background { display: none; } .lyrics-lyrics-contentWrapper>*:not(.lyrics-lyricsContent-active, .lyrics-lyricsContent-highlight, .lyrics-lyricsContent-provider, .lyrics-lyricsContent-description, .lyrics-lyricsContent-unsynced) { color: #FFFFFF4D !important; } .lyrics-lyrics-contentWrapper>*:not(.lyrics-lyricsContent-active, .lyrics-lyricsContent-highlight, .lyrics-lyricsContent-provider, .lyrics-lyricsContent-description, .lyrics-lyricsContent-unsynced):hover { color: #FFFFFF !important; } .lyrics-lyricsContent-highlight { color: #FFFFFF66; } .lyrics-lyricsContent-unsynced { color: #FFFFFF !important; } .lyrics-lyricsContent-unsynced:hover { color: #FFFFFF !important; } .lyrics-lyricsContent-provider, .lyrics-lyricsContent-description { color: #FFFFFFB6 !important; }",preview:"resources/assets/snippets/pretty-lyrics.png"},{title:"Oneko",description:"Adds Oneko onto your playback bar!",code:"[class^='playback-']:not(.volume-bar__slider-container > .playback-progressbar):before { content: ''; width: 32px; height: 32px; bottom: calc(100% - 7px); right: 10px; position: absolute; image-rendering: pixelated; background-image: url('https://raw.githubusercontent.com/adryd325/oneko.js/14bab15a755d0e35cd4ae19c931d96d306f99f42/oneko.gif'); animation: oneko 1s infinite; } @keyframes oneko { 0%, 50% { background-position: -64px 0; } 50.0001%, 100% { background-position: -64px -32px; } }",preview:"resources/assets/snippets/oneko.png"},{title:"Remove Popular sections from homepage",description:"Thanks Spotify, but I have a music taste",code:".main-shelf-shelf.Shelf:has(> div > div > .main-shelf-seeAll[href='/section/0JQ5DAuChZYPe9iDhh2mJz'], [href='/section/0JQ5DAnM3wGh0gz1MXnu4h'], [href='/section/0JQ5DAnM3wGh0gz1MXnu3B'],[href='/section/0JQ5DAnM3wGh0gz1MXnu3D']) { display: none !important; }",preview:"resources/assets/snippets/remove-popular.png"},{title:"Dark Lyrics",description:"Replaces the highly saturated lyrics backgrounds with a very subtle dark gradient",code:".lyrics-lyrics-background { background-image: linear-gradient(315deg,var(--lyrics-color-background),black); background-size: 500%; } .lyrics-lyricsContent-lyric.lyrics-lyricsContent-highlight { color: white; } .lyrics-lyricsContent-lyric { color: #424242; }",preview:"resources/assets/snippets/dark-lyrics.png"},{title:"Thicker Bars",description:"Makes the song progress and volume bar thicker",code:".x-progressBar-progressBarBg { height: 100% !important; } .x-progressBar-sliderArea { height: 100% !important; } .x-progressBar-fillColor { height: 100% !important; }",preview:"resources/assets/snippets/thicker-bars.png"}];async function pa(e,t=1,r=[]){let n=`https://api.github.com/search/repositories?q=${encodeURIComponent("topic:"+e)}&per_page=100`;t&&(n+="&page="+t);e=await fetch(n).then(e=>e.json()).catch(()=>[]);if(e.items)return J(l({},e),{page_count:e.items.length,items:e.items.filter(e=>!r.includes(e.html_url))});Spicetify.showNotification("Too Many Requests, Cool Down.",!0)}async function da(e,t,r){var n=window.sessionStorage.getItem(e+"-"+t),a=window.sessionStorage.getItem("noManifests");if(n)return JSON.parse(n);const o=`https://raw.githubusercontent.com/${e}/${t}/${r}/manifest.json`;return null!=a&&a.includes(o)?null:((n=await fetch(o).then(e=>e.json()).catch(()=>{var r,n;r=[o],n="noManifests",r&&r.forEach(e=>{n=n||r.user+"-"+r.repo;var t=window.sessionStorage.getItem(n),t=t?JSON.parse(t):[];t.push(e),window.sessionStorage.setItem(n,JSON.stringify(t))})}))&&window.sessionStorage.setItem(e+"-"+t,JSON.stringify(n)),n)}async function ha(t,n,a,o=!1){try{let e;var r=t.match(new RegExp("https:\\/\\/api\\.github\\.com\\/repos\\/(?.+)\\/(?.+)\\/contents"));if(!r||!r.groups)return null;const{user:i,repo:s}=r.groups;return e=await da(i,s,n),(e=Array.isArray(e)?e:[e]).reduce((e,t)=>{var r=t.branch||n,r={manifest:t,title:t.name,subtitle:t.description,authors:yn(t.authors,i),user:i,repo:s,branch:r,imageURL:t.preview&&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&&t.readme.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${i}/${s}/${r}/`+t.readme,stars:a,tags:t.tags};return t&&t.name&&t.description&&t.main&&(o&&localStorage.getItem(`marketplace:installed:${i}/${s}/`+t.main)||e.push(r)),e},[])}catch(e){return null}}async function fa(t,n,a){try{let e;var r=t.match(new RegExp("https:\\/\\/api\\.github\\.com\\/repos\\/(?.+)\\/(?.+)\\/contents"));if(!r||!r.groups)return null;const{user:o,repo:i}=r.groups;return e=await da(o,i,n),(e=Array.isArray(e)?e:[e]).reduce((e,t)=>{var r=t.branch||n,r={manifest:t,title:t.name,subtitle:t.description,authors:yn(t.authors,o),user:o,repo:i,branch:r,imageURL:t.preview&&t.preview.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.preview,readmeURL:t.readme&&t.readme.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.readme,stars:a,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};return null!=t&&t.name&&null!=t&&t.usercss&&null!=t&&t.description&&e.push(r),e},[])}catch(e){return null}}async function ma(t,n,a){try{let e;var r=t.match(new RegExp("https:\\/\\/api\\.github\\.com\\/repos\\/(?.+)\\/(?.+)\\/contents"));if(!r||!r.groups)return null;const{user:o,repo:i}=r.groups;return e=await da(o,i,n),(e=Array.isArray(e)?e:[e]).reduce((e,t)=>{var r=t.branch||n,r={manifest:t,title:t.name,subtitle:t.description,authors:yn(t.authors,o),user:o,repo:i,branch:r,imageURL:t.preview&&t.preview.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.preview,readmeURL:t.readme&&t.readme.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.readme,stars:a,tags:t.tags};return t&&t.name&&t.description&&e.push(r),e},[])}catch(e){return null}}var ga=async()=>{return(await fetch("https://raw.githubusercontent.com/spicetify/spicetify-marketplace/main/resources/blacklist.json").then(e=>e.json()).catch(()=>({}))).repos},va=async()=>{return ua.reduce((e,t)=>{t=l({},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},[])},ba=t(b()),ya=class extends ba.default.Component{render(){return ba.default.createElement("div",{onClick:this.props.onClick},ba.default.createElement("p",{style:{fontSize:100,lineHeight:"65px"}},"»"),ba.default.createElement("span",{style:{fontSize:20}},"Load more"))}},Ea=t(b()),wa=()=>Ea.default.createElement("svg",{width:"100px",height:"100px",viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"},Ea.default.createElement("circle",{cx:"50",cy:"50",r:"0",fill:"none",stroke:"currentColor",strokeWidth:"2"},Ea.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"}),Ea.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"})),Ea.default.createElement("circle",{cx:"50",cy:"50",r:"0",fill:"none",stroke:"currentColor",strokeWidth:"2"},Ea.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"}),Ea.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"}))),Sa=t(b()),ka=()=>Sa.default.createElement("svg",{role:"img",width:"16",height:"16",viewBox:"0 0 24 24","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg"},Sa.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"})),Oa=t(b()),Ca=()=>Oa.default.createElement("svg",{className:"devtools-icon",version:"1.1",viewBox:"1 1 22 22",xmlSpace:"preserve",xmlns:"http://www.w3.org/2000/svg"},Oa.default.createElement("g",{className:"devtools-icon-internal",id:"grid_system"}),Oa.default.createElement("g",{id:"_icons"},Oa.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"}))),x=t(b()),Na=t(Ve()),Be=class extends x.default.Component{constructor(e){super(e)}render(){var e=this.props["t"];return this.props.item.enabled?x.default.createElement("li",{className:"marketplace-tabBar-headerItem","data-tab":this.props.item.value,onClick:e=>{e.preventDefault(),this.props.switchTo(this.props.item)}},x.default.createElement("a",{"aria-current":"page",className:"marketplace-tabBar-headerItemLink "+(this.props.item.active?"marketplace-tabBar-active":""),draggable:"false",href:""},x.default.createElement("span",{className:"main-type-mestoBold"},e("tabs."+this.props.item.value)))):null}},xa=qr()(Be),Ia=x.default.memo(function({items:e,switchTo:t}){return x.default.createElement("li",{className:"marketplace-tabBar-headerItem"},x.default.createElement(Na.default,{className:"main-type-mestoBold",options:e,value:"More",placeholder:"More",onChange:t}))}),La=e=>{const t=document.querySelector(".Root__main-view .os-resize-observer-host");if(!t)return null;const[r,n]=(0,x.useState)(t.clientWidth),a=()=>n(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),Spicetify.Platform.History.listen(({pathname:e})=>{"/marketplace"!=e&&null!=(e=document.querySelector(".marketplace-tabBar"))&&e.remove()})):setTimeout(o,100)};return(0,x.useEffect)(()=>{const e=new ResizeObserver(a);return e.observe(t),()=>{e.disconnect()}}),(0,x.useEffect)(()=>{o()}),x.default.createElement(Ra,{windowSize:r,links:e.links,activeLink:e.activeLink,switchCallback:e.switchCallback})},Ra=x.default.memo(function({links:e,activeLink:r,switchCallback:t,windowSize:n=1/0}){const a=x.default.useRef(null),[o,i]=(0,x.useState)([]),[s,l]=(0,x.useState)(0),[c,u]=(0,x.useState)([]),p=e.map(({name:e,enabled:t})=>{return{label:e,value:e,active:e===r,enabled:t}});return(0,x.useEffect)(()=>{a.current&&l(a.current.clientWidth)},[n,null==(n=a.current)?void 0:n.clientWidth]),(0,x.useEffect)(()=>{var e;a.current&&(e=Array.from(a.current.children).map(e=>e.clientWidth),i(e))},[e]),(0,x.useEffect)(()=>{if(a.current)if(o.reduce((e,t)=>e+t,0)<=s)u([]);else{var e=Math.max(...o);const n=[];let r=e;o.forEach((e,t)=>{s>=r+e?r+=e:n.push(t)}),u(n)}},[s,o]),x.default.createElement("nav",{className:"marketplace-tabBar marketplace-tabBar-nav"},x.default.createElement("ul",{className:"marketplace-tabBar-header",ref:a},p.filter((e,t)=>!c.includes(t)).map(e=>x.default.createElement(xa,{key:e.value,item:e,switchTo:t})),c.length||0===o.length?x.default.createElement(Ia,{items:c.map(e=>p[e]).filter(e=>e),switchTo:t}):null))}),I=t(b()),Pa=t(b()),Aa=()=>Pa.default.createElement("svg",{role:"img",width:"16",height:"16",viewBox:"0 0 448 512","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg"},Pa.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"})),Ta=t(b()),_a=()=>Ta.default.createElement("svg",{role:"img",width:"16",height:"16",viewBox:"0 0 512 512","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg"},Ta.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"})),ja=t(b()),Ma=()=>ja.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24"},ja.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"})),Da=t(b()),$a=e=>{return Da.default.createElement("div",{className:"marketplace-card__authors"},e.authors.map((e,t)=>Da.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)))},Fa=t(b()),Ba=n=>{const[e,t]=Fa.default.useState(!1),a={[g("grid.externalJS")]:"external JS",[g("grid.dark")]:"dark",[g("grid.light")]:"light"};var r=e=>{return e.filter((e,t,r)=>r.indexOf(e)===t).reduce((e,t)=>{var r=a[t]||t;return!n.showTags&&t!==g("grid.externalJS")||e.push(Fa.default.createElement("li",{className:"marketplace-card__tag",draggable:!1,"data-tag":r},t)),e},[])},o=n.tags.slice(0,4),i=n.tags.slice(4);return Fa.default.createElement("div",{className:"marketplace-card__tags-container"},Fa.default.createElement("ul",{className:"marketplace-card__tags"},r(o),i.length&&e?r(i):null),i.length&&!e?Fa.default.createElement("button",{className:"marketplace-card__tags-more-btn",onClick:e=>{e.stopPropagation(),t(!0)}},"..."):null)},L=window.Spicetify,Ua=class extends I.default.Component{constructor(e){super(e),this.key=null,this.type=Ua,this.menuType=L.ReactComponent.Menu,this.localStorageKey=Nn(e),Object.assign(this,e),this.tags=e.item.tags||[],e.item.include&&this.tags.push(g("grid.externalJS")),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}}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(){var e,t;"extension"===this.props.type?(this.isInstalled()?(console.debug("Extension already installed, removing"),this.removeExtension()):this.installExtension(),ca("RELOAD")):"theme"===this.props.type?(t=(t=localStorage.getItem(E.themeInstalled))?w(t,{}):{},this.isInstalled()?(console.debug("Theme already installed, removing"),this.removeTheme(this.localStorageKey)):(this.removeTheme(),this.installTheme()),(null!=(e=this.props.item.manifest)&&e.include||t.include)&&ca("RELOAD")):"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,n,a,o,i,s,l,c,u;console.debug("Installing extension "+this.localStorageKey),this.props.item?({manifest:u,title:e,subtitle:t,authors:r,user:n,repo:a,branch:o,imageURL:i,extensionURL:s,readmeURL:l,lastUpdated:c}=this.props.item,localStorage.setItem(this.localStorageKey,JSON.stringify({manifest:u,type:this.props.type,title:e,subtitle:t,authors:r,user:n,repo:a,branch:o,imageURL:i,extensionURL:s,readmeURL:l,stars:this.state.stars,lastUpdated:c})),-1===(u=w(E.installedExtensions,[])).indexOf(this.localStorageKey)&&(u.push(this.localStorageKey),localStorage.setItem(E.installedExtensions,JSON.stringify(u))),console.debug("Installed"),this.setState({installed:!0})):L.showNotification("There was an error installing extension",!0)}removeExtension(){var e;localStorage.getItem(this.localStorageKey)&&(console.debug("Removing extension "+this.localStorageKey),localStorage.removeItem(this.localStorageKey),e=w(E.installedExtensions,[]).filter(e=>e!==this.localStorageKey),localStorage.setItem(E.installedExtensions,JSON.stringify(e)),console.debug("Removed"),this.setState({installed:!1}))}async installTheme(r=!1){var n=this.props["item"];if(n){console.debug("Installing theme "+this.localStorageKey);let e={},t=null;r?({schemes:r,activeScheme:a}=w(this.localStorageKey,{}),e=r,t=a):n.schemesURL&&(r=await(await fetch(n.schemesURL)).text(),e=vn(r));var a=t||Object.keys(e)[0]||null,{manifest:r,title:o,subtitle:i,authors:s,user:l,repo:c,branch:u,imageURL:p,extensionURL:d,readmeURL:h,cssURL:f,schemesURL:m,include:g,lastUpdated:v}=(console.debug(e,a),n),r=(localStorage.setItem(this.localStorageKey,JSON.stringify({manifest:r,type:this.props.type,title:o,subtitle:i,authors:s,user:l,repo:c,branch:u,imageURL:p,extensionURL:d,readmeURL:h,stars:this.state.stars,tags:this.tags,cssURL:f,schemesURL:m,include:g,schemes:e,activeScheme:a,lastUpdated:v})),w(E.installedThemes,[]));-1===r.indexOf(this.localStorageKey)&&(r.push(this.localStorageKey),localStorage.setItem(E.installedThemes,JSON.stringify(r)),localStorage.setItem(E.themeInstalled,this.localStorageKey)),console.debug("Installed"),n.include||(this.fetchAndInjectUserCSS(this.localStorageKey),this.props.updateActiveTheme(this.localStorageKey),this.props.updateColourSchemes(e,a),(i=null==(o=this.props.item.manifest)?void 0:o.name)&&(L.Config.current_theme=i),a&&(L.Config.color_scheme=a)),this.setState({installed:!0})}else L.showNotification("There was an error installing theme",!0)}removeTheme(t){var e=(t=t||localStorage.getItem(E.themeInstalled))&&localStorage.getItem(t);t&&e&&(console.debug("Removing theme "+t),localStorage.removeItem(t),localStorage.removeItem(E.themeInstalled),e=w(E.installedThemes,[]).filter(e=>e!==t),localStorage.setItem(E.installedThemes,JSON.stringify(e)),console.debug("Removed"),this.fetchAndInjectUserCSS(null),this.props.updateActiveTheme(null),this.props.updateColourSchemes(null,null),L.Config.current_theme=L.Config.local_theme,L.Config.color_scheme=L.Config.local_color_scheme,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=w(E.installedSnippets,[]),e=(-1===e.indexOf(this.localStorageKey)&&(e.push(this.localStorageKey),localStorage.setItem(E.installedSnippets,JSON.stringify(e))),e.map(e=>w(e)));bn(e),this.setState({installed:!0})}removeSnippet(){localStorage.removeItem(this.localStorageKey);var e=w(E.installedSnippets,[]).filter(e=>e!==this.localStorageKey),e=(localStorage.setItem(E.installedSnippets,JSON.stringify(e)),e.map(e=>w(e)));bn(e),this.setState({installed:!1})}async fetchAndInjectUserCSS(e){try{var t=e?await On(this.props.item):void 0;kn(t)}catch(e){console.warn(e)}}openReadme(){var e;null!=(e=this.props.item)&&e.manifest&&null!=(e=null==(e=this.props.item)?void 0:e.manifest)&&e.readme?L.Platform.History.push({pathname:mn+"/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)}}}):L.showNotification("No page was found",!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),I.default.createElement("div",{className:e.join(" "),onClick:()=>{if("snippet"===this.props.type){var e=this.props.item.title.replace(/\n/g,"");if(null!=(e=w("marketplace:installed:snippet:"+e))&&e.custom)return ca("EDIT_SNIPPET",void 0,void 0,this.props);ca("VIEW_SNIPPET",void 0,void 0,this.props,this.buttonClicked.bind(this))}else this.openReadme()}},I.default.createElement("div",{className:"main-card-draggable",draggable:"true"},I.default.createElement("div",{className:"main-card-imageContainer"},I.default.createElement("div",{className:"main-cardImage-imageWrapper"},I.default.createElement("div",null,I.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"),null!=(e=e.currentTarget.closest(".main-cardImage-imageWrapper"))&&e.classList.add("main-cardImage-imageWrapper--error")}})))),I.default.createElement("div",{className:"main-card-cardMetadata"},I.default.createElement("a",{draggable:"false",title:"snippet"===this.props.type?this.props.item.title:null==(e=this.props.item.manifest)?void 0:e.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()},I.default.createElement("div",{className:"main-cardHeader-text main-type-balladBold"},this.props.item.title)),I.default.createElement("div",{className:"main-cardSubHeader-root main-type-mestoBold marketplace-cardSubHeader"},this.props.item.authors&&I.default.createElement($a,{authors:this.props.item.authors}),I.default.createElement("span",null,t.join(" ‒ "))),I.default.createElement("p",{className:"marketplace-card-desc"},"snippet"===this.props.type?this.props.item.description:null==(e=this.props.item.manifest)?void 0:e.description),this.props.item.lastUpdated&&I.default.createElement("p",{className:"marketplace-card-desc"},g("grid.lastUpdated",{val:new Date(this.props.item.lastUpdated),formatParams:{val:{year:"numeric",month:"long",day:"numeric"}}})),this.tags.length?I.default.createElement("div",{className:"marketplace-card__bottom-meta main-type-mestoBold"},I.default.createElement(Ba,{tags:this.tags,showTags:this.props.CONFIG.visual.tags})):null,r&&I.default.createElement("div",{className:"marketplace-card__bottom-meta main-type-mestoBold"},"✓ ",g("grid.installed")),I.default.createElement(L.ReactComponent.TooltipWrapper,{label:"app"===this.props.type?g("github"):g(r?"remove":"install"),renderInline:!0},I.default.createElement("div",{className:"main-card-PlayButtonContainer"},I.default.createElement(S,{classes:["marketplace-installButton"],type:"circle",label:"app"===this.props.type?g("github"):g(r?"remove":"install"),onClick:e=>{e.stopPropagation(),this.buttonClicked()}},"app"===this.props.type?I.default.createElement(Ma,null):r?I.default.createElement(Aa,null):I.default.createElement(_a,null)))))))):(console.debug("Card item not installed"),null)}},Ga=qr()(Ua),Ha=t(b()),Va=t(Qe()),qa=t(e());var za=async function(t,r,e){for(;!Spicetify?.PopupModal||!Spicetify?.LocalStorage;)await new Promise(e=>setTimeout(e,100));var n,t=`spcr-whats-new_${t}-version`,a=Spicetify.LocalStorage.get(t)??"";try{(0,Va.default)(r,a)&&(Spicetify.LocalStorage.set(t,r),n={...e,content:function(e){var t=document.createElement("div"),r=(t.setAttribute("id","whats-new-content-wrapper"),document.createElement("style"));return r.textContent=` - #whats-new-content-wrapper ul, #whats-new-content-wrapper ol { - list-style: inherit; - margin-left: 1em; - } - `,qa.default.render(e,t),t.appendChild(r),t}(e.content)},Spicetify.PopupModal.display(n))}catch(e){Spicetify.LocalStorage.set(t,r)}},Ka=async()=>{var e=await fetch(gn).then(e=>e.json()).then(e=>{e=e.message?null:e.body;return e&&Cn(e,"spicetify","spicetify-marketplace")}).catch(e=>(console.error(e),null));e&&za("marketplace",dn,{title:"✨ Marketplace v0.8.7",content:Ha.default.createElement("div",{dangerouslySetInnerHTML:{__html:e}}),isLarge:!0})},Ja=window.Spicetify,r=class extends f.default.Component{constructor(e){super(e),this.endOfList=!1,this.lastScroll=0,this.requestQueue=[],this.requestPage=0,this.cardList=[],Object.assign(this,e),this.updateAppConfig=e.updateAppConfig.bind(this),this.sortConfig={by:w(E.sortBy,"top")},this.state={version:dn,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}}getInstalledTheme(){var e=localStorage.getItem(E.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=f.default.createElement(Ga,{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),this.setState({cards:this.cardList}))}updateSort(e){e&&(this.sortConfig.by=e,localStorage.setItem(E.sortBy,e)),this.requestPage=0,this.cardList=[],this.setState({cards:[],rest:!1,endOfList:!1}),this.endOfList=!1,this.newRequest(fn)}updateTabs(){this.setState({tabs:[...this.props.CONFIG.tabs]})}updatePostsVisual(){this.cardList=this.cardList.map((e,t)=>f.default.createElement(Ga,J(l({},e.props),{key:t.toString(),CONFIG:this.CONFIG}))),this.setState({cards:[...this.cardList]})}switchTo(e){this.CONFIG.activeTab=e.value,localStorage.setItem(E.activeTab,e.value),this.cardList=[],this.requestPage=0,this.setState({cards:[],rest:!1,endOfList:!1}),this.endOfList=!1,this.newRequest(fn)}async loadPage(t){const r=this.CONFIG.activeTab;switch(r){case"Extensions":var e=await pa("spicetify-extensions",this.requestPage,this.BLACKLIST);for(const u of e.items){var n=await ha(u.contents_url,u.default_branch,u.stargazers_count,this.CONFIG.visual.hideInstalled);if(1{Object.assign(e,{lastUpdated:u.pushed_at}),this.appendCard(e,"extension",r)})}var a=-1{e=w(e);if(1{Object.assign(e,{lastUpdated:d.pushed_at}),this.appendCard(e,"theme",r)})}e=-1{Object.assign(e,{lastUpdated:h.pushed_at}),this.appendCard(e,"app",r)})}o=-1this.appendCard(e,"snippet",r))}return this.setState({rest:!0,endOfList:!0}),this.endOfList=!0,0}async loadAmount(t,e=fn){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],fn)}updateColourSchemes(e,t){console.debug("updateColourSchemes",e,t),this.CONFIG.theme.schemes=e,(this.CONFIG.theme.activeScheme=t)&&(Ja.Config.color_scheme=t),e&&t&&e[t]?Sn(this.CONFIG.theme.schemes[t]):Sn(null);var r=w(E.themeInstalled),n=w(r);n?(n.activeScheme=t,console.debug(n),localStorage.setItem(r,JSON.stringify(n))):console.debug("No installed theme data"),this.setState({schemes:e,activeScheme:t})}async componentDidMount(){fetch("https://api.github.com/repos/spicetify/spicetify-marketplace/releases").then(e=>e.json()).then(e=>{this.setState({version:e[0].name});try{this.setState({newUpdate:pn.default.gt(this.state.version,dn)})}catch(e){console.error(e)}},e=>{console.error("Failed to check for updates",e)}),Ka(),this.gridUpdateTabs=this.updateTabs.bind(this),this.gridUpdatePostsVisual=this.updatePostsVisual.bind(this);var e=document.querySelector(".os-viewport");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 f.default.createElement("section",{className:"contentSpacing"},f.default.createElement("div",{className:"marketplace-header"},f.default.createElement("div",{className:"marketplace-header__left"},f.default.createElement("h1",null,this.props.title),this.state.newUpdate?f.default.createElement("button",{type:"button",title:r("grid.newUpdate"),className:"marketplace-header-icon-button",id:"marketplace-update",onClick:()=>window.location.href="https://github.com/spicetify/spicetify-marketplace/releases/latest"},f.default.createElement(_a,null)," ",this.state.version):null),f.default.createElement("div",{className:"marketplace-header__right"},this.CONFIG.visual.themeDevTools?f.default.createElement(Ja.ReactComponent.TooltipWrapper,{label:r("devTools.title"),renderInline:!0,placement:"bottom"},f.default.createElement("button",{type:"button","aria-label":r("devTools.title"),className:"marketplace-header-icon-button",onClick:()=>ca("THEME_DEV_TOOLS")},f.default.createElement(Ca,null))):null,this.state.activeScheme?f.default.createElement(zn,{onChange:e=>this.updateColourSchemes(this.state.schemes,e),sortBoxOptions:En(this.state.schemes),sortBySelectedFn:e=>e.key===this.getActiveScheme()}):null,f.default.createElement("div",{className:"searchbar--bar__wrapper"},f.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})}})),f.default.createElement(Ja.ReactComponent.TooltipWrapper,{label:r("settings.title"),renderInline:!0,placement:"bottom"},f.default.createElement("button",{type:"button","aria-label":r("settings.title"),className:"marketplace-header-icon-button",id:"marketplace-settings-button",onClick:()=>ca("SETTINGS",this.CONFIG,this.updateAppConfig)},f.default.createElement(ka,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:n}=e.props.item;return!t||e.toLowerCase().includes(t)||(null==r?void 0:r.toLowerCase().includes(t))||(null==n?void 0:n.some(e=>e.name.toLowerCase().includes(t)))}).map(e=>f.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?f.default.createElement(f.default.Fragment,null,f.default.createElement("h2",{className:"marketplace-card-type-heading"},r("tabs."+t.name)),f.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?f.default.createElement(S,{classes:["marketplace-add-snippet-btn"],onClick:()=>ca("ADD_SNIPPET")},"+ ",r("grid.addCSS")):null,f.default.createElement("footer",{className:"marketplace-footer"},!this.state.endOfList&&(this.state.rest?f.default.createElement(ya,{onClick:this.loadMore.bind(this)}):f.default.createElement(wa,null))),f.default.createElement(La,{switchCallback:this.switchTo.bind(this),links:this.CONFIG.tabs,activeLink:this.CONFIG.activeTab}))}},Wa=qr()(r),A=t(b()),Ue=class extends A.default.Component{constructor(){super(...arguments),this.state={isInstalled:this.props.data.isInstalled(),html:`

${this.props.t("readmePage.loading")}

`},this.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=>Cn(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(){var e;const t=null==(e=document.querySelector("#marketplace-readme"))?void 0:e.closest("main");if(t){const r=setInterval(()=>{document.querySelector("#marketplace-readme")?(t.style.overflowY="visible",t.style.overflowY="auto"):(clearInterval(r),t.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="/"===(null==t?void 0:t.charAt(0))?`https://raw.githubusercontent.com/${this.props.data.user}/${this.props.data.repo}/${this.props.data.branch}/`+(null==t?void 0: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:A.default.createElement(Ma,null),text:this.props.t("github")}:this.state.isInstalled?{icon:A.default.createElement(Aa,null),text:this.props.t("remove")}:{icon:A.default.createElement(_a,null),text:this.props.t("install")}}render(){return A.default.createElement("section",{className:"contentSpacing"},A.default.createElement("div",{className:"marketplace-header"},A.default.createElement("div",{className:"marketplace-header__left"},A.default.createElement("h1",null,this.props.title)),A.default.createElement("div",{className:"marketplace-header__right"},A.default.createElement(S,{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?A.default.createElement("footer",{className:"marketplace-footer"},A.default.createElement(wa,null)):A.default.createElement("div",{id:"marketplace-readme",className:"marketplace-readme__container",dangerouslySetInnerHTML:{__html:this.state.html}}))}},Xa=qr()(Ue),Ge=(h.use(X).use(zr).init({resources:{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",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:"Settings",optionsHeading:"Options",starCountLabel:"Stars count",tagsLabel:"Tags",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",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",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"},grid:{spicetifyMarketplace:"Spicetify Marketplace",newUpdate:"New update",addCSS:"Add CSS",search:"Search",installed:"Installed",lastUpdated:"Last updated {{val, datetime}}",externalJS:"external JS",dark:"dark",light:"light"},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"}},"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:"Numero de estrellas",tagsLabel:"Etiquetas",devToolsLabel:"Herramientas para desarrolladores de temas",hideInstalledLabel:"Esconder instalado cuando buscando",colourShiftLabel:"Cambiar colores cada minuto",tabsHeading:"Pestañas",resetHeading:"Reestablecer",resetBtn:"$t(settings.resetHeading)",resetDescription:"Borrar todas estensiones and temas, y borrar preferencias",backupHeading:"Haz una copia/Reestablecer desde una copia",backupLabel:"Haz una copia o reestablece todos los datos de Marketplace desde una copia. Esto no incluye ajustes para las cosas instaladas con Marketplace.",backupBtn:"Abrir"},tabs:{Extensions:"Extensiónes",Themes:"Temas",Snippets:"Codigos",Apps:"Aplicaciones",Installed:"Instalados"},snippets:{addTitle:"Añadir Codigo",editTitle:"Editar Codigo",viewTitle:"Ver Codigo",customCSS:"Custom CSS",customCSSPlaceholder:"¡Crea tu propio CSS aqui! Puedes encontrarlos en la pestaña de instalados para administrarlos.",snippetName:"Nombre del codigo",snippetNamePlaceholder:"Asignale un nombre para tu codigo personalizado",snippetDesc:"Descripcion del codigo",snippetDescPlaceholder:"Crea una description para tu codigo personalizado",snippetPreview:"Codigo",optional:"Opcional",addImage:"Añadir imagen",changeImage:"Cambiar imagen",saveCSS:"Guardar CSS"},reloadModal:{title:"Recargar",description:"Una recarga de ventada es necesaria para completar esta operación.",reloadNow:"Recargar ahora",reloadLater:"Recargar después"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Ajustes copiados al portapapeles",noDataPasted:"No data pegado",invalidJSON:"JSON invalido",inputLabel:"Ajustes de Marketplace",inputPlaceholder:"Copia/pega tus ajustes aqui",exportBtn:"Exportar",importBtn:"Importar",fileImportBtn:"Importar desde un archivo"},devTools:{title:"Herramientas de desarrollador de temas",noThemeInstalled:"Error: No tema de marketplace instalado",noThemeManifest:"Error: No manifiesto de tema encontrado",colorIniEditor:"Editor de Color.ini",colorIniEditorPlaceholder:"[nombre-de-esquema-de-color]",invalidCSS:"CSS invalido"},grid:{spicetifyMarketplace:"Marketplace de Spicetify",newUpdate:"Nueva actualización",addCSS:"Añadir CSS",search:"Buscar",installed:"Instalado",lastUpdated:"Ultima actualización {{val, datetime}}",externalJS:"JS external",dark:"oscuro",light:"claro"},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Cargando...",errorLoading:"Error cargando README"},github:"GitHub",install:"Instalar",remove:"Borrar",save:"Guardar",colour_one:"color",colour_other:"colores",favourite:"favorito"}},fr:{translation:{settings:{title:"Réglages",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 couleure chaque minutes",tabsHeading:"Onglets",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"},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érrer.",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"},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:"couleure",colour_other:"couleures",favourite:"favoris"}},"zh-TW":{translation:{settings:{title:"設定",optionsHeading:"選項",starCountLabel:"收藏數",tagsLabel:"標籤",devToolsLabel:"主題開發者工具",hideInstalledLabel:"瀏覽時隱藏已安裝項目",colourShiftLabel:"每分鐘進行色調偏移",tabsHeading:"分頁",resetHeading:"重設",resetBtn:"$t(settings.resetHeading)",resetDescription:"解除安裝所有擴充套件和主題, 並重設偏好設定",backupHeading:"備份與還原",backupLabel:"備份或還原所有 Marketplace 中的資料(不包含從 Marketplace 安裝的擴充元件的設定)。",backupBtn:"開啟"},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:"分页",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:"收藏"}}},detection:{order:["navigator","htmlTag"]},fallbackLng:"en",interpolation:{escapeValue:!1}}),class extends rt.default.Component{constructor(e){super(e),this.state={count:0,CONFIG:{}},this.updateConfig=e=>{this.CONFIG=l({},e),console.debug("updated config",this.CONFIG),this.setState({CONFIG:l({},e)})};e=w(E.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(e){t=hn,localStorage.setItem(E.tabs,JSON.stringify(t))}let r={},n=null;try{var a=w(E.themeInstalled,null);if(a){var o=w(a,null);if(!o)throw new Error("No installed theme data");r=o.schemes,n=o.activeScheme}else console.debug("No theme set as installed")}catch(e){console.error(e)}this.CONFIG={visual:{stars:JSON.parse(w("marketplace:stars",!0)),tags:JSON.parse(w("marketplace:tags",!0)),hideInstalled:JSON.parse(w("marketplace:hideInstalled",!1)),colorShift:JSON.parse(w("marketplace:colorShift",!1)),themeDevTools:JSON.parse(w("marketplace:themeDevTools",!1)),albumArtBasedColors:JSON.parse(w("marketplace:albumArtBasedColors",!1)),albumArtBasedColorsMode:w("marketplace:albumArtBasedColorsMode")||"monochrome-light",albumArtBasedColorsVibrancy:w("marketplace:albumArtBasedColorsVibrancy")||"PROMINENT",type:JSON.parse(w("marketplace:type",!1)),followers:JSON.parse(w("marketplace:followers",!1))},tabs:t,activeTab:w(E.activeTab,t[0]),theme:{activeThemeKey:w(E.themeInstalled,null),schemes:r,activeScheme:n}},this.CONFIG.activeTab&&this.CONFIG.tabs.filter(e=>e.name===this.CONFIG.activeTab).length||(this.CONFIG.activeTab=this.CONFIG.tabs[0].name)}render(){var e,{location:t,replace:r}=Spicetify.Platform.History;return t.pathname===mn+"/readme"?null!=(e=t.state)&&e.data?rt.default.createElement(Xa,{title:g("readmePage.title"),data:t.state.data}):(r(mn),null):rt.default.createElement(Wa,{title:g("grid.spicetifyMarketplace"),CONFIG:this.CONFIG,updateAppConfig:this.updateConfig})}}),Ya=qr()(Ge),Qa=t(b());return Ve=Ze,W(j({},"__esModule",{value:!0}),Ve)})();const render=()=>marketplace.default(); \ No newline at end of file +`,"");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},_a=(e,t)=>{e=e.title||e?.manifest?.name||"",t=t.title||t?.manifest?.name||"";return e.localeCompare(t)},Ra=(e,t)=>{return void 0===e.created||void 0===t.created?0:(e=new Date(e.created),new Date(t.created).getTime()-e.getTime())},Ma=(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)=>_a(e,t));break;case"z-a":e.sort((e,t)=>_a(t,e));break;case"newest":e.sort((e,t)=>Ra(e,t));break;case"oldest":e.sort((e,t)=>Ra(t,e));break;case"lastUpdated":e.sort((e,t)=>Ma(e,t));break;case"mostStale":e.sort((e,t)=>Ma(t,e));break;default:e.sort((e,t)=>t.stars-e.stars)}};var c=t(b()),f=t(b()),$a=t(_e()),Da=t(Re()),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",Fa="button-module__circle___EZ88P_marketplace",g=e=>{var t=e.type||"round",a=[Ua];return"circle"===t&&a.push(Fa),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)},Ba=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($a.default,{value:n,onValueChange:e=>t(e),highlight:e=>(0,Da.highlight)(e,Da.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",Xa="toggle-module__toggle-indicator___nCxwE_marketplace",Za=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:Xa})))},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(Za,{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(Za,{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(_e()),lr=t(Re()),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(_e()),hr=t(Re()),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.1"},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(Ba,{type:e}),isLarge:!0};case"EDIT_SNIPPET":return{title:y("snippets.editTitle"),content:c.default.createElement(Ba,{type:e,content:r}),isLarge:!0};case"VIEW_SNIPPET":return{title:y("snippets.viewTitle"),content:c.default.createElement(Ba,{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([` + 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),_r=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}))}),Rr=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(Mr,{windowSize:a,links:e.links,activeLink:e.activeLink,switchCallback:e.switchCallback})},Mr=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(_r,{items:c.map(e=>d[e]).filter(e=>e),switchTo:t}):null))}),L=t(b()),jr=t(b()),$r=()=>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"})),Dr=t(b()),zr=()=>Dr.default.createElement("svg",{role:"img",width:"16",height:"16",viewBox:"0 0 512 512","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg"},Dr.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()),Fr=()=>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"})),Br=t(b()),Vr=e=>{return Br.default.createElement("div",{className:"marketplace-card__authors"},e.authors.map((e,t)=>Br.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(Fr,null):a?L.default.createElement($r,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(Fr,null),text:this.props.t("github")}:this.state.isInstalled?{icon:T.default.createElement($r,null),text:this.props.t("remove")}:{icon:T.default.createElement(zr,null),text:this.props.t("install")}}render(){return T.default.createElement("section",{className:"contentSpacing"},T.default.createElement("div",{className:"marketplace-header"},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}}))}},Xr=qt()(_e),Re=(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(Xr,{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})}}),Zr=qt()(Re),Yr=t(b());return Pe=je,D(_({},"__esModule",{value:!0}),Pe)})();const render=()=>marketplace.default(); \ No newline at end of file diff --git a/.config/spicetify/CustomApps/marketplace/manifest.json b/.config/spicetify/CustomApps/marketplace/manifest.json index 13d9dbe8..0ce32b51 100644 --- a/.config/spicetify/CustomApps/marketplace/manifest.json +++ b/.config/spicetify/CustomApps/marketplace/manifest.json @@ -1,9 +1,12 @@ { - "name": "marketplace", + "name": { + "en": "Marketplace", + "ru": "Маркетплейс" + }, "icon": "\n", "active-icon": "\n", "subfiles": [], "subfiles_extension": [ "extension.js" ] -} +} \ No newline at end of file diff --git a/.config/spicetify/CustomApps/marketplace/style.css b/.config/spicetify/CustomApps/marketplace/style.css index 3c4b00e9..87c4964e 100644 --- a/.config/spicetify/CustomApps/marketplace/style.css +++ b/.config/spicetify/CustomApps/marketplace/style.css @@ -1 +1 @@ -@charset "UTF-8";.Root__fixed-top-bar~.Root__main-view .marketplace-header{padding-top:64px}.marketplace-header{-webkit-box-pack:justify;-webkit-box-align:center;align-content:space-between;align-items:center;color:var(--spice-text);display:flex;justify-content:space-between;margin:16px 0;position:sticky;flex-direction:row-reverse;z-index:1}.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__left{position:fixed;left:16px}@media (min-width:1024px){.marketplace-header__left{left:32px}}.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)}.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}option{background-color:var(--spice-button)}.marketplace-footer{margin:auto;text-align:center}.marketplace-add-snippet-btn{position:sticky!important;bottom:32px;left:100%}.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}.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"]{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-config-container .setting-row{display:flex;justify-content:space-between}#marketplace-config-container .setting-row .col{display:flex;padding:10px 0;align-items:center}#marketplace-config-container .setting-row .col.action{text-align:right}#marketplace-config-container .setting-row .col.action .marketplace-sortBox+.marketplace-tooltip-icon{-webkit-margin-start:8px;margin-inline-start:8px}.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;-webkit-margin-end:12px;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}.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-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}.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{background-color:var(--spice-player)}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}.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)}.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}.marketplace-backup-button{padding:10px;margin:10px}.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}.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 diff --git a/.config/spicetify/Themes/Comfy/config.json b/.config/spicetify/Themes/Comfy/config.json index b638fb74..3195dda8 100644 --- a/.config/spicetify/Themes/Comfy/config.json +++ b/.config/spicetify/Themes/Comfy/config.json @@ -106,6 +106,90 @@ "pagelink-active": "B7C1D5", "radio-btn-active": "363D4C" }, + "Everforest": { + "text": "D3C6AA", + "subtext": "9AA79D", + "main": "272E33", + "main-elevated": "30363A", + "main-transition": "495156", + "highlight": "444747", + "highlight-elevated": "34393D", + "sidebar": "2E383C", + "player": "272E33", + "card": "374145", + "shadow": "374145", + "selected-row": "D3C6AA", + "button": "A7C080", + "button-active": "AEC984", + "button-disabled": "374145", + "tab-active": "181C1E", + "notification": "86AF87", + "notification-error": "E67E80", + "misc": "000000", + "play-button": "A7C080", + "play-button-active": "AEC984", + "progress-fg": "A7C080", + "progress-bg": "9DA9A0", + "heart": "A7C080", + "pagelink-active": "181C1E", + "radio-btn-active": "86AF87" + }, + "Kanagawa": { + "text": "545464", + "subtext": "545464", + "main": "F2EBBC", + "main-elevated": "E6DFB7", + "main-transition": "D5CEA3", + "highlight": "D5CfAf", + "highlight-elevated": "E0DAB4", + "sidebar": "E7DBA0", + "player": "F2EBBC", + "card": "D5CEA3", + "shadow": "E0DAB4", + "selected-row": "43436C", + "button": "43242B", + "button-active": "39395D", + "button-disabled": "D5CEA3", + "tab-active": "E7DBA0", + "notification": "43242B", + "notification-error": "E82423", + "misc": "000000", + "play-button": "43242B", + "play-button-active": "43242B", + "progress-fg": "43242B", + "progress-bg": "77713E", + "heart": "E82423", + "pagelink-active": "FFFFFF", + "radio-btn-active": "E7DBA0" + }, + "Houjicha": { + "text": "B59F92", + "subtext": "997B6F", + "main": "473F3C", + "main-elevated": "534C49", + "main-transition": "5C514D", + "highlight": "574F4B", + "highlight-elevated": "59524F", + "sidebar": "514741", + "player": "473F3C", + "card": "78645C", + "shadow": "78645C", + "selected-row": "A49A96", + "button": "6E916F", + "button-active": "B3A49A", + "button-disabled": "67564D", + "tab-active": "6D5D54", + "notification": "86AF87", + "notification-error": "D25050", + "misc": "000000", + "play-button": "B59F92", + "play-button-active": "C7AfA1", + "progress-fg": "86AF87", + "progress-bg": "B59F92", + "heart": "86AF87", + "pagelink-active": "FFFFFF", + "radio-btn-active": "877063" + }, "Kitty": { "text": "FFFFFF", "subtext": "FFDDDC", @@ -656,5 +740,22 @@ "Remove-Column-Bar-Snippet": true, "Tracklist-Gradient-Opacity": "", "Collapse-Topbar-Snippet": true, - "Topbar-Inside-Titlebar-Snippet-Collapsed": true + "Topbar-Inside-Titlebar-Snippet-Collapsed": true, + "Smooth-Progress-Bar-Snippet": true, + "Remove-Connect-Bar-Snippet": true, + "Remove-Tracklist-Gradient-Noise": false, + "App-Titlebar-Height": "", + "Replace-Existing-Banners": false, + "Prefer-Existing-Image": false, + "Header-Background": false, + "Tracklist-Header-Background": false, + "Tracklist-Header-Background-Opacity": "", + "Tracklist-Header-Background-Collapsed": false, + "Custom-Image-Collapsed": false, + "Cover-Art-Width": "", + "Cover-Art-Height": "", + "Cover-Art-Radius": "", + "Cover-Art-Left": "", + "Cover-Art-Bottom": "", + "Custom-Cover-Art-Dimensions-Collapsed": false } diff --git a/.config/spicetify/config-xpui.ini b/.config/spicetify/config-xpui.ini index 0f908da0..eb357e65 100644 --- a/.config/spicetify/config-xpui.ini +++ b/.config/spicetify/config-xpui.ini @@ -31,4 +31,4 @@ always_enable_devtools = 0 ; DO NOT CHANGE! [Backup] version = 1.2.31.1205.g4d59ad7c -with = 2.34.0 +with = 2.36.4