var marketplace=(()=>{var A,P=Object.create,M=Object.defineProperty,_=Object.getOwnPropertyDescriptor,R=Object.getOwnPropertyNames,j=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty,e=(e,t)=>function(){return t||(0,e[R(e)[0]])((t={exports:{}}).exports,t),t.exports},$=(t,a,r,n)=>{if(a&&"object"==typeof a||"function"==typeof a)for(let e of R(a))D.call(t,e)||e===r||M(t,e,{get:()=>a[e],enumerable:!(n=_(a,e))||n.enumerable});return t},t=(e,t,a)=>(a=null!=e?P(j(e)):{},$(!t&&e&&e.__esModule?a:M(a,"default",{value:e,enumerable:!0}),e)),b=e({"external-global-plugin:react"(e,t){t.exports=Spicetify.React}}),z=e({"node_modules/.pnpm/void-elements@3.1.0/node_modules/void-elements/index.js"(e,t){t.exports={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}}}),J=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/internal/constants.js"(e,t){var a=Number.MAX_SAFE_INTEGER||9007199254740991;t.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:a,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}}),U=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/internal/debug.js"(e,t){var a="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};t.exports=a}}),V=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/internal/re.js"(e,t){var{MAX_SAFE_COMPONENT_LENGTH:a,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:n}=J(),o=U(),i=(e=t.exports={}).re=[],s=e.safeRe=[],l=e.src=[],c=e.t={},u=0,t="[a-zA-Z0-9-]",d=[["\\s",1],["\\d",n],[t,r]],n=(e,t,a)=>{var r=(e=>{for(var[t,a]of d)e=e.split(t+"*").join(`${t}{0,${a}}`).split(t+"+").join(`${t}{1,${a}}`);return e})(t),n=u++;o(e,n,t),c[e]=n,l[n]=t,i[n]=new RegExp(t,a?"g":void 0),s[n]=new RegExp(r,a?"g":void 0)};n("NUMERICIDENTIFIER","0|[1-9]\\d*"),n("NUMERICIDENTIFIERLOOSE","\\d+"),n("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${t}*`),n("MAINVERSION",`(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})`),n("MAINVERSIONLOOSE",`(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})`),n("PRERELEASEIDENTIFIER",`(?:${l[c.NUMERICIDENTIFIER]}|${l[c.NONNUMERICIDENTIFIER]})`),n("PRERELEASEIDENTIFIERLOOSE",`(?:${l[c.NUMERICIDENTIFIERLOOSE]}|${l[c.NONNUMERICIDENTIFIER]})`),n("PRERELEASE",`(?:-(${l[c.PRERELEASEIDENTIFIER]}(?:\\.${l[c.PRERELEASEIDENTIFIER]})*))`),n("PRERELEASELOOSE",`(?:-?(${l[c.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${l[c.PRERELEASEIDENTIFIERLOOSE]})*))`),n("BUILDIDENTIFIER",t+"+"),n("BUILD",`(?:\\+(${l[c.BUILDIDENTIFIER]}(?:\\.${l[c.BUILDIDENTIFIER]})*))`),n("FULLPLAIN",`v?${l[c.MAINVERSION]}${l[c.PRERELEASE]}?${l[c.BUILD]}?`),n("FULL",`^${l[c.FULLPLAIN]}$`),n("LOOSEPLAIN",`[v=\\s]*${l[c.MAINVERSIONLOOSE]}${l[c.PRERELEASELOOSE]}?${l[c.BUILD]}?`),n("LOOSE",`^${l[c.LOOSEPLAIN]}$`),n("GTLT","((?:<|>)?=?)"),n("XRANGEIDENTIFIERLOOSE",l[c.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*"),n("XRANGEIDENTIFIER",l[c.NUMERICIDENTIFIER]+"|x|X|\\*"),n("XRANGEPLAIN",`[v=\\s]*(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:${l[c.PRERELEASE]})?${l[c.BUILD]}?)?)?`),n("XRANGEPLAINLOOSE",`[v=\\s]*(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:${l[c.PRERELEASELOOSE]})?${l[c.BUILD]}?)?)?`),n("XRANGE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAIN]}$`),n("XRANGELOOSE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAINLOOSE]}$`),n("COERCEPLAIN",`(^|[^\\d])(\\d{1,${a}})(?:\\.(\\d{1,${a}}))?(?:\\.(\\d{1,${a}}))?`),n("COERCE",l[c.COERCEPLAIN]+"(?:$|[^\\d])"),n("COERCEFULL",l[c.COERCEPLAIN]+`(?:${l[c.PRERELEASE]})?(?:${l[c.BUILD]})?(?:$|[^\\d])`),n("COERCERTL",l[c.COERCE],!0),n("COERCERTLFULL",l[c.COERCEFULL],!0),n("LONETILDE","(?:~>?)"),n("TILDETRIM",`(\\s*)${l[c.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",n("TILDE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAIN]}$`),n("TILDELOOSE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAINLOOSE]}$`),n("LONECARET","(?:\\^)"),n("CARETTRIM",`(\\s*)${l[c.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",n("CARET",`^${l[c.LONECARET]}${l[c.XRANGEPLAIN]}$`),n("CARETLOOSE",`^${l[c.LONECARET]}${l[c.XRANGEPLAINLOOSE]}$`),n("COMPARATORLOOSE",`^${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]})$|^$`),n("COMPARATOR",`^${l[c.GTLT]}\\s*(${l[c.FULLPLAIN]})$|^$`),n("COMPARATORTRIM",`(\\s*)${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]}|${l[c.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",n("HYPHENRANGE",`^\\s*(${l[c.XRANGEPLAIN]})\\s+-\\s+(${l[c.XRANGEPLAIN]})\\s*$`),n("HYPHENRANGELOOSE",`^\\s*(${l[c.XRANGEPLAINLOOSE]})\\s+-\\s+(${l[c.XRANGEPLAINLOOSE]})\\s*$`),n("STAR","(<|>)?=?\\s*\\*"),n("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),n("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),B=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/internal/parse-options.js"(e,t){var a=Object.freeze({loose:!0}),r=Object.freeze({});t.exports=e=>e?"object"!=typeof e?a:e:r}}),W=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/internal/identifiers.js"(e,t){var n=/^[0-9]+$/,a=(e,t)=>{var a=n.test(e),r=n.test(t);return a&&r&&(e=+e,t=+t),e===t?0:a&&!r||(!r||a)&&ea(t,e)}}}),H=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/classes/semver.js"(e,t){var n=U(),{MAX_LENGTH:a,MAX_SAFE_INTEGER:r}=J(),{safeRe:o,t:i}=V(),s=B(),l=W()["compareIdentifiers"],c=class{constructor(e,t){if(t=s(t),e instanceof c){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>a)throw new TypeError(`version is longer than ${a} characters`);n("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;t=e.trim().match(t.loose?o[i.LOOSE]:o[i.FULL]);if(!t)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>r||this.major<0)throw new TypeError("Invalid major version");if(this.minor>r||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>r||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){var t=+e;if(0<=t&&t{if(e instanceof r)return e;try{return new r(e,t)}catch(e){if(a)throw e;return null}}}}),Z=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/valid.js"(e,t){var a=q();t.exports=(e,t)=>{e=a(e,t);return e?e.version:null}}}),X=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/clean.js"(e,t){var a=q();t.exports=(e,t)=>{e=a(e.trim().replace(/^[=v]+/,""),t);return e?e.version:null}}}),Y=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/inc.js"(e,t){var o=H();t.exports=(e,t,a,r,n)=>{"string"==typeof a&&(n=r,r=a,a=void 0);try{return new o(e instanceof o?e.version:e,a).inc(t,r,n).version}catch(e){return null}}}}),Q=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/diff.js"(e,t){var o=q();t.exports=(e,t)=>{var a,r,e=o(e,null,!0),t=o(t,null,!0),n=e.compare(t);return 0===n?null:(r=!!(a=(n=0new a(e,t).major}}),te=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/minor.js"(e,t){var a=H();t.exports=(e,t)=>new a(e,t).minor}}),ae=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/patch.js"(e,t){var a=H();t.exports=(e,t)=>new a(e,t).patch}}),re=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/prerelease.js"(e,t){var a=q();t.exports=(e,t)=>{e=a(e,t);return e&&e.prerelease.length?e.prerelease:null}}}),G=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/compare.js"(e,t){var r=H();t.exports=(e,t,a)=>new r(e,a).compare(new r(t,a))}}),ne=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/rcompare.js"(e,t){var r=G();t.exports=(e,t,a)=>r(t,e,a)}}),oe=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/compare-loose.js"(e,t){var a=G();t.exports=(e,t)=>a(e,t,!0)}}),ie=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/compare-build.js"(e,t){var r=H();t.exports=(e,t,a)=>{e=new r(e,a),t=new r(t,a);return e.compare(t)||e.compareBuild(t)}}}),se=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/sort.js"(e,t){var r=ie();t.exports=(e,a)=>e.sort((e,t)=>r(e,t,a))}}),le=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/rsort.js"(e,t){var r=ie();t.exports=(e,a)=>e.sort((e,t)=>r(t,e,a))}}),ce=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/gt.js"(e,t){var r=G();t.exports=(e,t,a)=>0r(e,t,a)<0}}),de=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/eq.js"(e,t){var r=G();t.exports=(e,t,a)=>0===r(e,t,a)}}),pe=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/neq.js"(e,t){var r=G();t.exports=(e,t,a)=>0!==r(e,t,a)}}),he=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/gte.js"(e,t){var r=G();t.exports=(e,t,a)=>0<=r(e,t,a)}}),me=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/lte.js"(e,t){var r=G();t.exports=(e,t,a)=>r(e,t,a)<=0}}),fe=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/cmp.js"(e,t){var n=de(),o=pe(),i=ce(),s=he(),l=ue(),c=me();t.exports=(e,t,a,r)=>{switch(t){case"===":return(e="object"==typeof e?e.version:e)===(a="object"==typeof a?a.version:a);case"!==":return(e="object"==typeof e?e.version:e)!==(a="object"==typeof a?a.version:a);case"":case"=":case"==":return n(e,a,r);case"!=":return o(e,a,r);case">":return i(e,a,r);case">=":return s(e,a,r);case"<":return l(e,a,r);case"<=":return c(e,a,r);default:throw new TypeError("Invalid operator: "+t)}}}}),ge=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/coerce.js"(e,t){var u=H(),d=q(),{safeRe:p,t:h}=V();t.exports=(e,t)=>{if(e instanceof u)return e;if("string"!=typeof(e="number"==typeof e?String(e):e))return null;let a=null;if((t=t||{}).rtl){for(var r,n=t.includePrerelease?p[h.COERCERTLFULL]:p[h.COERCERTL];(r=n.exec(e))&&(!a||a.index+a[0].length!==e.length);)a&&r.index+r[0].length===a.index+a[0].length||(a=r),n.lastIndex=r.index+r[1].length+r[2].length;n.lastIndex=-1}else a=e.match(t.includePrerelease?p[h.COERCEFULL]:p[h.COERCE]);var o,i,s,l,c;return null===a?null:(o=a[2],i=a[3]||"0",s=a[4]||"0",l=t.includePrerelease&&a[5]?"-"+a[5]:"",c=t.includePrerelease&&a[6]?"+"+a[6]:"",d(o+`.${i}.`+s+l+c,t))}}}),F=e({"node_modules/.pnpm/yallist@4.0.0/node_modules/yallist/iterator.js"(e,t){"use strict";t.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}}}),ve=e({"node_modules/.pnpm/yallist@4.0.0/node_modules/yallist/yallist.js"(e,t){"use strict";function o(e){var t=this;if((t=t instanceof o?t:new o).tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach(function(e){t.push(e)});else if(0this.length&&(t=this.length);for(var r=0,n=this.head;null!==n&&rthis.length&&(t=this.length);for(var r=this.length,n=this.tail;null!==n&&tthis.length?this.length-1:e)<0&&(e=this.length+e);for(var r=0,n=this.head;null!==n&&r1,m=(e,t,a)=>{t=e[h].get(t);if(t){var r=t.value;if(f(e,r)){if(v(e,t),!e[o])return}else a&&(e[n]&&(t.value.now=Date.now()),e[p].unshiftNode(t));return r.value}},f=(e,t)=>{var a;return!(!t||!t.maxAge&&!e[c])&&(a=Date.now()-t.now,t.maxAge?a>t.maxAge:e[c]&&a>e[c])},g=t=>{if(t[s]>t[i])for(let e=t[p].tail;t[s]>t[i]&&null!==e;){var a=e.prev;v(t,e),e=a}},v=(e,t)=>{var a;t&&(a=t.value,e[u]&&e[u](a.key,a.value),e[s]-=a.length,e[h].delete(a.key),e[p].removeNode(t))},b=class{constructor(e,t,a,r,n){this.key=e,this.value=t,this.length=a,this.now=r,this.maxAge=n||0}},y=(e,t,a,r)=>{let n=a.value;f(e,n)&&(v(e,a),e[o]||(n=void 0)),n&&t.call(r,n.value,n.key,e)};t.exports=class{constructor(e){if((e=(e="number"==typeof e?{max:e}:e)||{}).max&&("number"!=typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[i]=e.max||1/0;var t=e.length||r;if(this[l]="function"!=typeof t?r:t,this[o]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw new TypeError("maxAge must be a number");this[c]=e.maxAge||0,this[u]=e.dispose,this[d]=e.noDisposeOnSet||!1,this[n]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[i]=e||1/0,g(this)}get max(){return this[i]}set allowStale(e){this[o]=!!e}get allowStale(){return this[o]}set maxAge(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[c]=e,g(this)}get maxAge(){return this[c]}set lengthCalculator(e){(e="function"!=typeof e?r:e)!==this[l]&&(this[l]=e,this[s]=0,this[p].forEach(e=>{e.length=this[l](e.value,e.key),this[s]+=e.length})),g(this)}get lengthCalculator(){return this[l]}get length(){return this[s]}get itemCount(){return this[p].length}rforEach(t,a){a=a||this;for(let e=this[p].tail;null!==e;){var r=e.prev;y(this,t,e,a),e=r}}forEach(t,a){a=a||this;for(let e=this[p].head;null!==e;){var r=e.next;y(this,t,e,a),e=r}}keys(){return this[p].toArray().map(e=>e.key)}values(){return this[p].toArray().map(e=>e.value)}reset(){this[u]&&this[p]&&this[p].length&&this[p].forEach(e=>this[u](e.key,e.value)),this[h]=new Map,this[p]=new a,this[s]=0}dump(){return this[p].map(e=>!f(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[p]}set(e,t,a){if((a=a||this[c])&&"number"!=typeof a)throw new TypeError("maxAge must be a number");var r,n=a?Date.now():0,o=this[l](t,e);return this[h].has(e)?o>this[i]?(v(this,this[h].get(e)),!1):(r=this[h].get(e).value,this[u]&&!this[d]&&this[u](e,r.value),r.now=n,r.maxAge=a,r.value=t,this[s]+=o-r.length,r.length=o,this.get(e),g(this),!0):(r=new b(e,t,o,n,a)).length>this[i]?(this[u]&&this[u](e,t),!1):(this[s]+=r.length,this[p].unshift(r),this[h].set(e,this[p].head),g(this),!0)}has(e){return!!this[h].has(e)&&(e=this[h].get(e).value,!f(this,e))}get(e){return m(this,e,!0)}peek(e){return m(this,e,!1)}pop(){var e=this[p].tail;return e?(v(this,e),e.value):null}del(e){v(this,this[h].get(e))}load(t){this.reset();var a=Date.now();for(let e=t.length-1;0<=e;e--){var r=t[e],n=r.e||0;0===n?this.set(r.k,r.v):0<(n=n-a)&&this.set(r.k,r.v,n)}}prune(){this[h].forEach((e,t)=>m(this,t,!1))}}}}),K=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/classes/range.js"(e,t){var r=class{constructor(e,t){if(t=n(t),e instanceof r)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new r(e.raw,t);if(e instanceof l)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(e=>this.parseRange(e.trim())).filter(e=>e.length),!this.set.length)throw new TypeError("Invalid SemVer Range: "+this.raw);if(1!v(e[0])),0===this.set.length)this.set=[t];else if(1e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){var t=((this.options.includePrerelease&&f)|(this.options.loose&&g))+":"+e,a=s.get(t);if(a)return a;var a=this.options.loose,r=a?p[h.HYPHENRANGELOOSE]:p[h.HYPHENRANGE];e=e.replace(r,L(this.options.includePrerelease)),d("hyphen replace",e),e=e.replace(p[h.COMPARATORTRIM],c),d("comparator trim",e),e=e.replace(p[h.TILDETRIM],u),d("tilde trim",e),e=e.replace(p[h.CARETTRIM],m),d("caret trim",e);let n=e.split(" ").map(e=>b(e,this.options)).join(" ").split(/\s+/).map(e=>I(e,this.options));a&&(n=n.filter(e=>(d("loose invalid filter",e,this.options),!!e.match(p[h.COMPARATORLOOSE])))),d("range list",n);var o=new Map;for(const i of n.map(e=>new l(e,this.options))){if(v(i))return[i];o.set(i.value,i)}1i(t,a)&&e.set.some(e=>i(e,a)&&t.every(t=>e.every(e=>t.intersects(e,a)))));throw new TypeError("a Range is required")}test(t){if(t){if("string"==typeof t)try{t=new a(t,this.options)}catch(e){return!1}for(let e=0;e"<0.0.0-0"===e.value,o=e=>""===e.value,i=(e,t)=>{let a=!0;var r=e.slice();let n=r.pop();for(;a&&r.length;)a=r.every(e=>n.intersects(e,t)),n=r.pop();return a},b=(e,t)=>(d("comp",e,t),e=w(e,t),d("caret",e),e=S(e,t),d("tildes",e),e=C(e,t),d("xrange",e),e=x(e,t),d("stars",e),e),y=e=>!e||"x"===e.toLowerCase()||"*"===e,S=(e,t)=>e.trim().split(/\s+/).map(e=>k(e,t)).join(" "),k=(i,e)=>{e=e.loose?p[h.TILDELOOSE]:p[h.TILDE];return i.replace(e,(e,t,a,r,n)=>{d("tilde",i,e,t,a,r,n);let o;return o=y(t)?"":y(a)?`>=${t}.0.0 <${+t+1}.0.0-0`:y(r)?`>=${t}.${a}.0 <${t}.${+a+1}.0-0`:n?(d("replaceTilde pr",n),`>=${t}.${a}.${r}-${n} <${t}.${+a+1}.0-0`):`>=${t}.${a}.${r} <${t}.${+a+1}.0-0`,d("tilde return",o),o})},w=(e,t)=>e.trim().split(/\s+/).map(e=>E(e,t)).join(" "),E=(i,e)=>{d("caret",i,e);var t=e.loose?p[h.CARETLOOSE]:p[h.CARET];const s=e.includePrerelease?"-0":"";return i.replace(t,(e,t,a,r,n)=>{d("caret",i,e,t,a,r,n);let o;return o=y(t)?"":y(a)?`>=${t}.0.0${s} <${+t+1}.0.0-0`:y(r)?"0"===t?`>=${t}.${a}.0${s} <${t}.${+a+1}.0-0`:`>=${t}.${a}.0${s} <${+t+1}.0.0-0`:n?(d("replaceCaret pr",n),"0"===t?"0"===a?`>=${t}.${a}.${r}-${n} <${t}.${a}.${+r+1}-0`:`>=${t}.${a}.${r}-${n} <${t}.${+a+1}.0-0`:`>=${t}.${a}.${r}-${n} <${+t+1}.0.0-0`):(d("no pr"),"0"===t?"0"===a?`>=${t}.${a}.${r}${s} <${t}.${a}.${+r+1}-0`:`>=${t}.${a}.${r}${s} <${t}.${+a+1}.0-0`:`>=${t}.${a}.${r} <${+t+1}.0.0-0`),d("caret return",o),o})},C=(e,t)=>(d("replaceXRanges",e,t),e.split(/\s+/).map(e=>N(e,t)).join(" ")),N=(c,u)=>{c=c.trim();var e=u.loose?p[h.XRANGELOOSE]:p[h.XRANGE];return c.replace(e,(e,t,a,r,n,o)=>{d("xRange",c,e,t,a,r,n,o);var i=y(a),s=i||y(r),l=s||y(n);return"="===t&&l&&(t=""),o=u.includePrerelease?"-0":"",i?e=">"===t||"<"===t?"<0.0.0-0":"*":t&&l?(s&&(r=0),n=0,">"===t?(t=">=",n=s?(a=+a+1,r=0):(r=+r+1,0)):"<="===t&&(t="<",s?a=+a+1:r=+r+1),e=t+a+`.${r}.`+n+(o="<"===t?"-0":o)):s?e=`>=${a}.0.0${o} <${+a+1}.0.0-0`:l&&(e=`>=${a}.${r}.0${o} <${a}.${+r+1}.0-0`),d("xRange return",e),e})},x=(e,t)=>(d("replaceStars",e,t),e.trim().replace(p[h.STAR],"")),I=(e,t)=>(d("replaceGTE0",e,t),e.trim().replace(p[t.includePrerelease?h.GTE0PRE:h.GTE0],"")),L=h=>(e,t,a,r,n,o,i,s,l,c,u,d,p)=>((t=y(a)?"":y(r)?`>=${a}.0.0`+(h?"-0":""):y(n)?`>=${a}.${r}.0`+(h?"-0":""):o?">="+t:">="+t+(h?"-0":""))+" "+(s=y(l)?"":y(c)?`<${+l+1}.0.0-0`:y(u)?`<${l}.${+c+1}.0-0`:d?`<=${l}.${c}.${u}-`+d:h?`<${l}.${c}.${+u+1}-0`:"<="+s)).trim(),O=(t,a,e)=>{for(let e=0;e")||!e.operator.startsWith(">"))&&!(this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||s(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||s(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")));throw new TypeError("a Comparator is required")}},n=(t.exports=r,B()),{safeRe:o,t:i}=V(),s=fe(),l=U(),c=H(),u=K()}}),Se=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/satisfies.js"(e,t){var r=K();t.exports=(e,t,a)=>{try{t=new r(t,a)}catch(e){return!1}return t.test(e)}}}),ke=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/to-comparators.js"(e,t){var a=K();t.exports=(e,t)=>new a(e,t).set.map(e=>e.map(e=>e.value).join(" ").trim().split(" "))}}),we=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/max-satisfying.js"(e,t){var i=H(),s=K();t.exports=(e,t,a)=>{let r=null,n=null,o=null;try{o=new s(t,a)}catch(e){return null}return e.forEach(e=>{!o.test(e)||r&&-1!==n.compare(e)||(r=e,n=new i(r,a))}),r}}}),Ee=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/min-satisfying.js"(e,t){var i=H(),s=K();t.exports=(e,t,a)=>{let r=null,n=null,o=null;try{o=new s(t,a)}catch(e){return null}return e.forEach(e=>{!o.test(e)||r&&1!==n.compare(e)||(r=e,n=new i(r,a))}),r}}}),Ce=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/min-version.js"(e,t){var o=H(),a=K(),i=ce();t.exports=(t,e)=>{t=new a(t,e);let r=new o("0.0.0");if(t.test(r))return r;if(r=new o("0.0.0-0"),t.test(r))return r;r=null;for(let e=0;e{var t=new o(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":a&&!i(t,a)||(a=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}}),!a||r&&!i(r,a)||(r=a)}return r&&t.test(r)?r:null}}}),Ne=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/valid.js"(e,t){var a=K();t.exports=(e,t)=>{try{return new a(e,t).range||"*"}catch(e){return null}}}}),xe=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/outside.js"(e,t){var a=H(),p=ye(),h=p["ANY"],m=K(),f=Se(),g=ce(),v=ue(),b=me(),y=he();t.exports=(r,n,e,o)=>{r=new a(r,o),n=new m(n,o);let i,s,l,c,u;switch(e){case">":i=g,s=b,l=v,c=">",u=">=";break;case"<":i=v,s=y,l=g,c="<",u="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(f(r,n,o))return!1;for(let e=0;e{e.semver===h&&(e=new p(">=0.0.0")),t=t||e,a=a||e,i(e.semver,t.semver,o)?t=e:l(e.semver,a.semver,o)&&(a=e)}),t.operator===c||t.operator===u)return!1;if((!a.operator||a.operator===c)&&s(r,a.semver))return!1;if(a.operator===u&&l(r,a.semver))return!1}return!0}}}),Ie=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/gtr.js"(e,t){var r=xe();t.exports=(e,t,a)=>r(e,t,">",a)}}),Le=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/ltr.js"(e,t){var r=xe();t.exports=(e,t,a)=>r(e,t,"<",a)}}),Oe=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/intersects.js"(e,t){var r=K();t.exports=(e,t,a)=>(e=new r(e,a),t=new r(t,a),e.intersects(t,a))}}),Te=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/simplify.js"(e,t){var h=Se(),m=G();t.exports=(e,t,a)=>{var r=[];let n=null,o=null;var i=e.sort((e,t)=>m(e,t,a));for(const p of i){var s=h(p,t,a);n=s?(o=p,n||p):(o&&r.push([n,o]),o=null)}n&&r.push([n,null]);var l,c,u=[];for([l,c]of r)l===c?u.push(l):c||l!==i[0]?c?l===i[0]?u.push("<="+c):u.push(l+" - "+c):u.push(">="+l):u.push("*");var e=u.join(" || "),d="string"==typeof t.raw?t.raw:String(t);return e.length=0.0.0-0")],k=[new a(">=0.0.0")],w=(e,t,a)=>{return!e||!(0<(a=y(e.semver,t.semver,a)))&&(a<0||">"===t.operator&&">="===e.operator)?t:e},E=(e,t,a)=>{return!e||!((a=y(e.semver,t.semver,a))<0)&&(0{if(t!==a){t=new s(t,r),a=new s(a,r);let e=!1;e:for(const o of t.set){for(const i of a.set){var n=((s,l,c)=>{if(s!==l){if(1===s.length&&s[0].semver===v){if(1===l.length&&l[0].semver===v)return!0;s=c.includePrerelease?S:k}if(1===l.length&&l[0].semver===v){if(c.includePrerelease)return!0;l=k}var u=new Set,d,p;let e,t;for(const h of s)">"===h.operator||">="===h.operator?e=w(e,h,c):"<"===h.operator||"<="===h.operator?t=E(t,h,c):u.add(h.semver);if(1="!==e.operator||"<="!==t.operator))return null}for(const m of u){if(e&&!b(m,String(e),c))return null;if(t&&!b(m,String(t),c))return null;for(const f of l)if(!b(m,String(f),c))return!1;return!0}let r,n,o=!(!t||c.includePrerelease||!t.semver.prerelease.length)&&t.semver,i=!(!e||c.includePrerelease||!e.semver.prerelease.length)&&e.semver;o&&1===o.prerelease.length&&"<"===t.operator&&0===o.prerelease[0]&&(o=!1);for(const g of l){if(n=n||">"===g.operator||">="===g.operator,r=r||"<"===g.operator||"<="===g.operator,e)if(i&&g.semver.prerelease&&g.semver.prerelease.length&&g.semver.major===i.major&&g.semver.minor===i.minor&&g.semver.patch===i.patch&&(i=!1),">"===g.operator||">="===g.operator){if((d=w(e,g,c))===g&&d!==e)return!1}else if(">="===e.operator&&!b(e.semver,String(g),c))return!1;if(t)if(o&&g.semver.prerelease&&g.semver.prerelease.length&&g.semver.major===o.major&&g.semver.minor===o.minor&&g.semver.patch===o.patch&&(o=!1),"<"===g.operator||"<="===g.operator){if((p=E(t,g,c))===g&&p!==t)return!1}else if("<="===t.operator&&!b(t.semver,String(g),c))return!1;if(!g.operator&&(t||e)&&0!==a)return!1}if(e&&r&&!t&&0!==a)return!1;if(t&&n&&!e&&0!==a)return!1;if(i||o)return!1}return true})(o,i,r);if(e=e||null!==n,n)continue e}if(e)return!1}}return!0}}}),a=e({"node_modules/.pnpm/semver@7.6.0/node_modules/semver/index.js"(j,e){var t=V(),a=J(),r=H(),n=W(),o=q(),i=Z(),s=X(),l=Y(),c=Q(),u=ee(),d=te(),p=ae(),h=re(),m=G(),f=ne(),g=oe(),v=ie(),b=se(),y=le(),S=ce(),k=ue(),w=de(),E=pe(),C=he(),N=me(),x=fe(),I=ge(),L=ye(),O=K(),T=Se(),A=ke(),P=we(),M=Ee(),_=Ce(),R=Ne(),D=xe(),$=Ie(),z=Le(),U=Oe(),B=Te(),F=Ae();e.exports={parse:o,valid:i,clean:s,inc:l,diff:c,major:u,minor:d,patch:p,prerelease:h,compare:m,rcompare:f,compareLoose:g,compareBuild:v,sort:b,rsort:y,gt:S,lt:k,eq:w,neq:E,gte:C,lte:N,cmp:x,coerce:I,Comparator:L,Range:O,satisfies:T,toComparators:A,maxSatisfying:P,minSatisfying:M,minVersion:_,validRange:R,outside:D,gtr:$,ltr:z,intersects:U,simplifyRange:B,subset:F,SemVer:r,re:t.re,src:t.src,tokens:t.t,SEMVER_SPEC_VERSION:a.SEMVER_SPEC_VERSION,RELEASE_TYPES:a.RELEASE_TYPES,compareIdentifiers:n.compareIdentifiers,rcompareIdentifiers:n.rcompareIdentifiers}}}),Pe=e({"node_modules/.pnpm/chroma-js@2.4.2/node_modules/chroma-js/chroma.js"(e,t){var a;a=function(){"use strict";for(var e=function(e,t,a){return void 0===a&&(a=1),e<(t=void 0===t?0:t)?t:a>16,t>>8&255,255&t,1];if(e.match(tt))return 4===(e=5!==e.length&&9!==e.length?e:e.substr(1)).length&&(e=(e=e.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]),[(t=parseInt(e,16))>>24&255,t>>16&255,t>>8&255,Math.round((255&t)/255*100)/100];throw new Error("unknown hex color: "+e)}function xe(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var a,r,n,o=(e=ut(e,"hsi"))[0],i=e[1],s=e[2];return isNaN(o)&&(o=0),isNaN(i)&&(i=0),360f.t1?e*e*e:f.t2*(e-f.t0)}function Ae(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var a=(e=_t(e,"lab"))[0],r=e[1],n=e[2],a=(a+16)/116,r=isNaN(r)?a:a+r/500,n=isNaN(n)?a:a-n/200;return a=f.Yn*Te(a),r=f.Xn*Te(r),n=f.Zn*Te(n),[Oe(3.2404542*r-1.5371385*a-.4985314*n),Oe(-.969266*r+1.8760108*a+.041556*n),Oe(.0556434*r-.2040259*a+1.0572252*n),3>16,e>>8&255,255&e,1];throw new Error("unknown num color: "+e)}function De(e){var t,a,r=(e=e/100)<66?(t=255,a=e<6?0:-155.25485562709179-.44596950469579133*(a=e-2)+104.49216199393888*S(a),e<20?0:.8274096064007395*(r=e-10)-254.76935184120902+115.67994401066147*S(r)):(t=351.97690566805693+.114206453784165*(t=e-55)-40.25366309332127*S(t),a=325.4494125711974+.07943456536662342*(a=e-50)-28.0852963507957*S(a),255);return[t,a,r,1]}function $e(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var a=(n=Ea(e,"rgb"))[0],r=n[1],n=n[2],a=[Ia(a/255),Ia(r/255),Ia(n/255)],o=Ca(.4122214708*(r=a[0])+.5363325363*(n=a[1])+.0514459929*(a=a[2])),i=Ca(.2119034982*r+.6806995451*n+.1073969566*a),r=Ca(.0883024619*r+.2817188376*n+.6299787005*a);return[.2104542553*o+.793617785*i-.0040720468*r,1.9779984951*o-2.428592205*i+.4505937099*r,.0259040371*o+.7827717662*i-.808675766*r]}var c=l,ze=i,u=o,Ue=e.type,Be=V,Fe=q,Ve=(ze.prototype.css=function(e){return Be(this._rgb,e)},c.css=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(ze,[null].concat(e,["css"])))},u.format.css=Fe,u.autodetect.push({p:5,test:function(e){for(var t=[],a=arguments.length-1;0m.t3?At(e,1/3):e/m.t2+m.t0},f=u,_t=e.unpack,Rt=Math.pow,jt=e.unpack,Dt=e.type,c=l,$t=i,g=o,zt=Le,Ut=($t.prototype.lab=function(){return zt(this._rgb)},c.lab=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply($t,[null].concat(e,["lab"])))},g.format.lab=Ae,g.autodetect.push({p:2,test:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(e=jt(e,"lab"),"array"===Dt(e)&&3===e.length)return"lab"}}),e.unpack),Bt=e.RAD2DEG,Ft=Math.sqrt,Vt=Math.atan2,Ht=Math.round,qt=e.unpack,Gt=Le,Kt=Pe,Jt=e.unpack,Wt=e.DEG2RAD,Zt=Math.sin,Xt=Math.cos,Yt=e.unpack,Qt=Me,ea=Ae,ta=e.unpack,aa=_e,ra=e.unpack,na=e.type,c=l,v=i,oa=o,ia=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var a=qt(e,"rgb"),r=a[0],n=a[1],a=a[2],r=Gt(r,n,a),n=r[0],a=r[1],r=r[2];return Kt(n,a,r)},g=(v.prototype.lch=function(){return ia(this._rgb)},v.prototype.hcl=function(){return ia(this._rgb).reverse()},c.lch=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(v,[null].concat(e,["lch"])))},c.hcl=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(v,[null].concat(e,["hcl"])))},oa.format.lch=_e,oa.format.hcl=Re,["lch","hcl"].forEach(function(a){return oa.autodetect.push({p:2,test:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(e=ra(e,a),"array"===na(e)&&3===e.length)return a}})}),{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}),c=i,b=o,sa=e.type,y=g,la=Ne,ca=Ce,ua=(c.prototype.name=function(){for(var e=ca(this._rgb,"rgb"),t=0,a=Object.keys(y);t=n/r?i=s:o=s}return ka(s)},Ea=(k.prototype.temp=k.prototype.kelvin=k.prototype.temperature=function(){return wa(this._rgb)},c.temp=c.kelvin=c.temperature=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(k,[null].concat(e,["temp"])))},b.format.temp=b.format.kelvin=b.format.temperature=De,e.unpack),Ca=Math.cbrt,Na=Math.pow,xa=Math.sign;function Ia(e){var t=Math.abs(e);return t<.04045?e/12.92:(xa(e)||1)*Na((t+.055)/1.055,2.4)}function La(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var a=(e=Oa(e,"lab"))[0],r=e[1],n=e[2],o=w(a+.3963377774*r+.2158037573*n,3),i=w(a-.1055613458*r-.0638541728*n,3),a=w(a-.0894841775*r-1.291485548*n,3);return[255*Aa(4.0767416621*o-3.3077115913*i+.2309699292*a),255*Aa(-1.2684380046*o+2.6097574011*i-.3413193965*a),255*Aa(-.0041960863*o-.7034186147*i+1.707614701*a),3=m[a];)a++;return a-1},w=function(e){return e},E=function(e){return e};return a(c),d.classes=function(e){var t;return null!=e?("array"===O(e)?p=[(m=e)[0],e[e.length-1]]:(t=L.analyze(p),m=0===e?[t.min,t.max]:L.limits(t,"e",e)),d):m},d.domain=function(a){if(!arguments.length)return p;g=a[0],v=a[a.length-1],l=[];var e=f.length;if(a.length===e&&g!==v)for(var t=0,r=Array.from(a);t=i[t+1];)t++;var a=(e-i[t])/(i[t+1]-i[t]);return o[t]+a*(o[t+1]-o[t])}))}return p=[g,v],d},d.mode=function(e){return arguments.length?(i=e,r(),d):i},d.range=function(e,t){return a(e),d},d.out=function(e){return n=e,d},d.spread=function(e){return arguments.length?(t=e,d):t},d.correctLightness=function(e){return r(),w=(e=null==e?!0:e)?function(e){for(var t=u(0,!0).lab()[0],a=u(1,!0).lab()[0],r=a 0");var l=Math.LOG10E*Kr(r),j=Math.LOG10E*Kr(n);i.push(r);for(var c=1;c.9999999)l[3]=1;return new Cr(Nr(l))}for(var p,h=e.shift(),m=h.get(o),f=[],g=0,v=0,b=0;b"}}:{children:o})),C.createElement("textarea",{ref:function(e){return t._input=e},style:w(w(w({},I.editor),I.textarea),n),className:N+(s?" ".concat(s):""),id:i,value:a,onChange:this._handleChange,onKeyDown:this._handleKeyDown,onClick:v,onKeyUp:S,onFocus:b,onBlur:y,disabled:c,form:u,maxLength:d,minLength:p,name:h,placeholder:m,readOnly:f,required:g,autoFocus:l,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"data-gramm":!1}),C.createElement("style",{dangerouslySetInnerHTML:{__html:x}}))},s.defaultProps={tabSize:2,insertSpaces:!0,ignoreTabKey:!1,padding:0},s);function s(){var f=null!==t&&t.apply(this,arguments)||this;return f.state={capture:!0},f._recordCurrentState=function(){var e,t,a=f._input;a&&(e=a.value,t=a.selectionStart,a=a.selectionEnd,f._recordChange({value:e,selectionStart:t,selectionEnd:a}))},f._getLines=function(e,t){return e.substring(0,t).split("\n")},f._recordChange=function(e,t){void 0===t&&(t=!1);var a=f._history,r=a.stack,a=a.offset,a=(r.length&&-1=i.reach);b+=v.value.length,v=v.next){var y=v.value;if(a.length>t.length)return;if(!(y instanceof A)){var S,k=1;if(m){if(!(S=P(g,b,t,h))||S.index>=t.length)break;var w=S.index,E=S.index+S[0].length,C=b;for(C+=v.value.length;C<=w;)v=v.next,C+=v.value.length;if(C-=v.value.length,b=C,v.value instanceof A)continue;for(var N=v;N!==a.tail&&(Ci.reach&&(i.reach=y),v.prev),I=(I&&(O=M(a,O,I),b+=I.length),_(a,O,k),new A(s,p?T.tokenize(x,p):x,f,x));v=M(a,O,I),L&&M(a,v,L),1i.reach&&(i.reach=x.reach)}}}}}(e,n,t,n.head,0),n),i=[],s=o.head.next;s!==o.tail;)i.push(s.value),s=s.next;return i},hooks:{all:{},add:function(e,t){var a=T.hooks.all;a[e]=a[e]||[],a[e].push(t)},run:function(e,t){var a=T.hooks.all[e];if(a&&a.length)for(var r,n=0;r=a[n++];)r(t)}},Token:A},l.Prism=T,A.stringify=function t(e,a){if("string"==typeof e)return e;var r;if(Array.isArray(e))return r="",e.forEach(function(e){r+=t(e,a)}),r;var n,o={type:e.type,content:t(e.content,a),tag:"span",classes:["token",e.type],attributes:{},language:a},e=e.alias,i=(e&&(Array.isArray(e)?Array.prototype.push.apply(o.classes,e):o.classes.push(e)),T.hooks.run("wrap",o),"");for(n in o.attributes)i+=" "+n+'="'+(o.attributes[n]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+i+">"+o.content+""},l.document?((n=T.util.currentScript())&&(T.filename=n.src,n.hasAttribute("data-manual"))&&(T.manual=!0),T.manual||("loading"===(o=document.readyState)||"interactive"===o&&n&&n.defer?document.addEventListener("DOMContentLoaded",i):window.requestAnimationFrame?window.requestAnimationFrame(i):window.setTimeout(i,16))):l.addEventListener&&!T.disableWorkerMessageHandler&&l.addEventListener("message",function(e){var e=JSON.parse(e.data),t=e.language,a=e.code,e=e.immediateClose;l.postMessage(T.highlight(a,T.languages[t],t)),e&&l.close()},!1),T);function A(e,t,a,r){this.type=e,this.content=t,this.alias=a,this.length=0|(r||"").length}function P(e,t,a,r){e.lastIndex=t;t=e.exec(a);return t&&r&&t[1]&&(e=t[1].length,t.index+=e,t[0]=t[0].slice(e)),t}function c(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function M(e,t,a){var r=t.next,a={value:a,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function _(e,t,a){for(var r=t.next,n=0;nfunction(){return Yr.default.createElement(Xr,null)}};for(A in $e)M(De,A,{get:$e[A],enumerable:!0});var ze=t(b()),Ue={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}},Be=class{constructor(e){this.init(e,1{this.observers[e]||(this.observers[e]=new Map);var t=this.observers[e].get(a)||0;this.observers[e].set(a,t+1)}),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(r){for(var e=arguments.length,n=new Array(1{var[t,a]=e;for(let e=0;e{var[t,a]=e;for(let e=0;e{a=e,r=t});return e.resolve=a,e.reject=r,e}function Ve(e){return null==e?"":""+e}function He(e,t,a){e.forEach(e=>{t[e]&&(a[e]=t[e])})}var qe=/###/g;function Ge(e,t,a){function r(e){return e&&-1":">",'"':""","'":"'","/":"/"};function Ye(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,e=>Xe[e]):e}var Qe=[" ",",","?","!",";"],et=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){var t=this.regExpMap.get(e);return void 0!==t||(t=new RegExp(e),this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,t),this.regExpQueue.push(e)),t}}(20);function tt(e,t,a){t=t||"",a=a||"";var r=Qe.filter(e=>t.indexOf(e)<0&&a.indexOf(e)<0);if(0===r.length)return 1;var n,r=et.getRegExp(`(${r.map(e=>"?"===e?"\\?":e).join("|")})`);let o=!r.test(e);return o||0<(n=e.indexOf(a))&&!r.test(e.substring(0,n))&&(o=!0),o}function at(e,t,a){var o=2t[e]&&0{this.processors[e]&&(t=this.processors[e].process(t,a,r,n))}),t}},it={},st=class extends r{constructor(e){var t=1{a=w&&a!==u?a:N;this.options.missingKeyHandler?this.options.missingKeyHandler(e,s,t,a,x,r):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(e,s,t,a,x,r),this.emit("missingKey",e,s,t,u)};this.options.saveMissing&&(this.options.saveMissingPlurals&&g?t.forEach(t=>{var e=this.pluralResolver.getSuffixes(t,r);E&&r[`defaultValue${this.options.pluralSeparator}zero`]&&e.indexOf(this.options.pluralSeparator+"zero")<0&&e.push(this.options.pluralSeparator+"zero"),e.forEach(e=>{I([t],i+e,r["defaultValue"+e]||C)})}):I(t,i,C))}u=this.extendTranslation(u,a,r,c,n),t&&u===i&&this.options.appendNamespaceToMissingKey&&(u=s+":"+i),(t||e)&&this.options.parseMissingKeyHandler&&(u="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?s+":"+i:i,e?u:void 0):this.options.parseMissingKeyHandler(u))}return e?(c.res=u,c.usedParams=this.getUsedParamsDetails(r),c):u}extendTranslation(a,r,n,o,i){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)a=this.i18nFormat.parse(a,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});var l="string"==typeof a&&(n&&n.interpolation&&void 0!==n.interpolation.skipOnVariables?n:this.options).interpolation.skipOnVariables;let e,t=(l&&(c=a.match(this.interpolator.nestingRegexp),e=c&&c.length),n.replace&&"string"!=typeof n.replace?n.replace:n);this.options.interpolation.defaultVariables&&(t={...this.options.interpolation.defaultVariables,...t}),a=this.interpolator.interpolate(a,t,n.lng||this.language,n),l&&(l=(c=a.match(this.interpolator.nestingRegexp))&&c.length,e{if(!this.isValidLookup(p)){t=this.extractFromKey(t,d);const s=t.key;r=s;let e=t.namespaces;this.options.fallbackNS&&(e=e.concat(this.options.fallbackNS));const l=void 0!==d.count&&"string"!=typeof d.count,c=l&&!d.ordinal&&0===d.count&&this.pluralResolver.shouldUseIntlApi(),u=void 0!==d.context&&("string"==typeof d.context||"number"==typeof d.context)&&""!==d.context,a=d.lngs||this.languageUtils.toResolveHierarchy(d.lng||this.language,d.fallbackLng);e.forEach(i=>{this.isValidLookup(p)||(n=i,!it[a[0]+"-"+i]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(n)&&(it[a[0]+"-"+i]=!0,this.logger.warn(`key "${r}" for languages "${a.join(", ")}" won't get resolved as namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),a.forEach(t=>{if(!this.isValidLookup(p)){m=t;var e,a=[s];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(a,s,t,i,d);else{let e;l&&(e=this.pluralResolver.getSuffix(t,d.count,d));var r,n=this.options.pluralSeparator+"zero",o=this.options.pluralSeparator+"ordinal"+this.options.pluralSeparator;l&&(a.push(s+e),d.ordinal&&0===e.indexOf(o)&&a.push(s+e.replace(o,this.options.pluralSeparator)),c)&&a.push(s+n),u&&(r=""+s+this.options.contextSeparator+d.context,a.push(r),l)&&(a.push(r+e),d.ordinal&&0===e.indexOf(o)&&a.push(r+e.replace(o,this.options.pluralSeparator)),c)&&a.push(r+n)}for(;e=a.pop();)this.isValidLookup(p)||(h=e,p=this.getResource(t,i,e,d))}}))})}}),{res:p,usedKey:r,exactUsedKey:h,usedLng:m,usedNS:n}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,a){var r=3e.toLowerCase()):2===e.length?(e[0]=e[0].toLowerCase(),e[1]=e[1].toUpperCase(),-1{a||(e=this.formatLanguageCode(e),this.options.supportedLngs&&!this.isSupportedCode(e))||(a=e)}),!a&&this.options.supportedLngs&&e.forEach(e=>{if(!a){const t=this.getLanguagePartFromCode(e);if(this.isSupportedCode(t))return a=t;a=this.options.supportedLngs.find(e=>e===t||!(e.indexOf("-")<0&&t.indexOf("-")<0)&&(0{e&&(this.isSupportedCode(e)?a.push(e):this.logger.warn("rejecting language code not found in supportedLngs: "+e))};return"string"==typeof e&&(-1{a.indexOf(e)<0&&r(this.formatLanguageCode(e))}),a}},ut=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],dt={1:function(e){return Number(1{t.lngs.forEach(e=>{a[e]={numbers:t.nr,plurals:dt[t.fc]}})}),a}var gt=class{constructor(e){var t=1""+t+e)}getSuffixes(t){let a=1mt[e]-mt[t]).map(e=>""+this.options.prepend+(a.ordinal?"ordinal"+this.options.prepend:"")+e):e.numbers.map(e=>this.getSuffix(t,e,a)):[]}getSuffix(e,t){var a=2this.options.prepend&&a.toString()?this.options.prepend+a.toString():a.toString();return"v1"===this.options.compatibilityJSON?1===a?"":"number"==typeof a?"_plural_"+a.toString():r():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?r():this.options.prepend&&t.toString()?this.options.prepend+t.toString():t.toString()}shouldUseIntlApi(){return!pt.includes(this.options.compatibilityJSON)}};function vt(e,t,a,r,n){var o,i,s,l=3e),this.init(e)}init(){var e=0e&&e.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,this.prefix+"(.+?)"+this.suffix),this.regexpUnescape=e(this.regexpUnescape,""+this.prefix+this.unescapePrefix+"(.+?)"+this.unescapeSuffix+this.suffix),this.nestingRegexp=e(this.nestingRegexp,this.nestingPrefix+"(.+?)"+this.nestingSuffix)}interpolate(r,a,n,o){let i,s,l;const c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function t(e){return e.replace(/\$/g,"$$$$")}const u=e=>{var t;return e.indexOf(this.formatSeparator)<0?(t=vt(a,c,e,this.options.keySeparator,this.options.ignoreJSONStructure),this.alwaysFormat?this.format(t,void 0,n,{...o,...a,interpolationkey:e}):t):(e=(t=e.split(this.formatSeparator)).shift().trim(),t=t.join(this.formatSeparator).trim(),this.format(vt(a,c,e,this.options.keySeparator,this.options.ignoreJSONStructure),t,n,{...o,...a,interpolationkey:e}))},d=(this.resetRegExp(),o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler),p=(o&&o.interpolation&&void 0!==o.interpolation.skipOnVariables?o:this.options).interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>t(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?t(this.escape(e)):t(e)}].forEach(e=>{for(l=0;i=e.regex.exec(r);){var t=i[1].trim();if(void 0===(s=u(t)))if("function"==typeof d){var a=d(r,i,o);s="string"==typeof a?a:""}else{if(!o||!Object.prototype.hasOwnProperty.call(o,t)){if(p){s=i[0];continue}this.logger.warn(`missed to pass in variable ${t} for interpolating `+r)}s=""}else"string"==typeof s||this.useRawValueToEscape||(s=Ve(s));a=e.safeValue(s);if(r=r.replace(i[0],a),p?(e.regex.lastIndex+=s.length,e.regex.lastIndex-=i[0].length):e.regex.lastIndex=0,++l>=this.maxReplaces)break}}),r}nest(a,r){let n=2e.trim()),o[1]=c.shift(),e=c,t=!0),(i=r(l.call(this,o[1].trim(),s),s))&&o[0]===a&&"string"!=typeof i)return i;(i="string"!=typeof i?Ve(i):i)||(this.logger.warn(`missed to resolve ${o[1]} for nesting `+a),i=""),t&&(i=e.reduce((e,t)=>this.format(e,t,n.lng,{...n,interpolationkey:o[1].trim()}),i.trim())),a=a.replace(o[0],i),this.regexp.lastIndex=0}return a}};function yt(e){let t=e.toLowerCase().trim();const a={};return-1{var t;e&&([e,...t]=e.split(":"),t=t.join(":").trim().replace(/^'+|'+$/g,""),a[e.trim()]||(a[e.trim()]=t),"false"===t&&(a[e.trim()]=!1),"true"===t&&(a[e.trim()]=!0),isNaN(t)||(a[e.trim()]=parseInt(t,10)))})),{formatName:t,formatOptions:a}}function o(o){const i={};return function(e,t,a){var r=t+JSON.stringify(a);let n=i[r];return n||(n=o(rt(t),a),i[r]=n),n(e)}}var St=class{constructor(){var e=0{const a=new Intl.NumberFormat(e,{...t});return e=>a.format(e)}),currency:o((e,t)=>{const a=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>a.format(e)}),datetime:o((e,t)=>{const a=new Intl.DateTimeFormat(e,{...t});return e=>a.format(e)}),relativetime:o((e,t)=>{const a=new Intl.RelativeTimeFormat(e,{...t});return e=>a.format(e,t.range||"day")}),list:o((e,t)=>{const a=new Intl.ListFormat(e,{...t});return e=>a.format(e)})},this.init(e)}init(e){var t=(1{var{formatName:a,formatOptions:r}=yt(a);if(this.formats[a]){let e=t;try{var n=s&&s.formatParams&&s.formatParams[s.interpolationkey]||{},o=n.locale||n.lng||s.locale||s.lng||i;e=this.formats[a](t,o,{...r,...s,...n})}catch(e){this.logger.warn(e)}return e}return this.logger.warn("there was no format function for "+a),t},e)}};function kt(e,t){void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)}var wt=class extends r{constructor(e,t,a){var r=3{let r=!0;t.forEach(e=>{var t=a+"|"+e;!n.reload&&this.store.hasResourceBundle(a,e)?this.state[t]=2:this.state[t]<0||(1===this.state[t]?void 0===i[t]&&(i[t]=!0):(this.state[t]=1,r=!1,void 0===i[t]&&(i[t]=!0),void 0===o[t]&&(o[t]=!0),void 0===l[e]&&(l[e]=!0)))}),r||(s[a]=!0)}),(Object.keys(o).length||Object.keys(i).length)&&this.queue.push({pending:i,pendingCount:Object.keys(i).length,loaded:{},errors:[],callback:a}),{toLoad:Object.keys(o),pending:Object.keys(i),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(l)}}loaded(e,t,a){var r=e.split("|");const n=r[0],o=r[1],i=(t&&this.emit("failedLoading",n,o,t),a&&this.store.addResourceBundle(n,o,a,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,{});this.queue.forEach(a=>{Je(a.loaded,[n],o),kt(a,e),t&&a.errors.push(t),0!==a.pendingCount||a.done||(Object.keys(a.loaded).forEach(t=>{i[t]||(i[t]={});var e=a.loaded[t];e.length&&e.forEach(e=>{void 0===i[t][e]&&(i[t][e]=!0)})}),a.done=!0,a.errors.length?a.callback(a.errors):a.callback())}),this.emit("loaded",i),this.queue=this.queue.filter(e=>!e.done)}read(r,n,o){let i=3=this.maxParallelReads)this.waitingReads.push({lng:r,ns:n,fcName:o,tried:i,wait:s,callback:l});else{this.readingCalls++;const a=(e,t)=>{var a;this.readingCalls--,0{this.read.call(this,r,n,o,i+1,2*s,l)},s):l(e,t)};var e=this.backend[o].bind(this.backend);if(2!==e.length)return e(r,n,a);try{var t=e(r,n);t&&"function"==typeof t.then?t.then(e=>a(null,e)).catch(a):a(null,t)}catch(e){a(e)}}}prepareLoading(e,t){var a=2{this.loadOne(e)})}load(e,t,a){this.prepareLoading(e,t,{},a)}reload(e,t,a){this.prepareLoading(e,t,{reload:!0},a)}loadOne(a){let r=1{e&&this.logger.warn(`${r}loading namespace ${o} for language ${n} failed`,e),!e&&t&&this.logger.log(`${r}loaded namespace ${o} for language `+n,t),this.loaded(a,e,t)})}saveMissing(t,a,r,n,o){var i=5{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(a))this.logger.warn(`did not save key "${r}" as the namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=r&&""!==r){if(this.backend&&this.backend.create){i={...i,isUpdate:o},o=this.backend.create.bind(this.backend);if(o.length<6)try{let e;(e=5===o.length?o(t,a,r,n,i):o(t,a,r,n))&&"function"==typeof e.then?e.then(e=>s(null,e)).catch(s):s(null,e)}catch(e){s(e)}else o(t,a,r,n,s,i)}t&&t[0]&&this.store.addResource(t[0],a,r,n)}}};function Et(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){let t={};if("object"==typeof e[1]&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const a=e[3]||e[2];Object.keys(a).forEach(e=>{t[e]=a[e]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function Ct(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function Nt(){}function xt(t){Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(e=>{"function"==typeof t[e]&&(t[e]=t[e].bind(t))})}var It=class extends r{constructor(){let e=0{this.init(e,t)},0)}}init(){var n=this;let e=0{e.init&&e.init(this)})}this.format=this.options.interpolation.format,a=a||Nt,!this.options.fallbackLng||this.services.languageDetector||this.options.lng||0<(o=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng)).length&&"dev"!==o[0]&&(this.options.lng=o[0]),this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(e=>{this[e]=function(){return n.store[e](...arguments)}});["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(e=>{this[e]=function(){return n.store[e](...arguments),n}});const s=Fe();t=()=>{var e=(e,t)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),s.resolve(t),a(e,t)};if(this.languages&&"v1"!==this.options.compatibilityAPI&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initImmediate?t():setTimeout(t,0),s}loadResources(e){let t=1{e&&"cimode"!==e&&this.services.languageUtils.toResolveHierarchy(e).forEach(e=>{"cimode"!==e&&r.indexOf(e)<0&&r.push(e)})};a?n(a):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>n(e)),this.options.preload&&this.options.preload.forEach(e=>n(e)),this.services.backendConnector.load(r,this.options.ns,e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),t(e)})}else t(null)}reloadResources(e,t,a){const r=Fe();return e=e||this.languages,t=t||this.options.ns,a=a||Nt,this.services.backendConnector.reload(e,t,e=>{r.resolve(),a(e)}),r}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(e.type)return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&ot.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this;throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()")}setResolvedLanguage(e){if(e&&this.languages&&!(-1<["cimode","dev"].indexOf(e)))for(let e=0;e{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)}),s=(e,t)=>{t?(i(t),this.translator.changeLanguage(t),this.isLanguageChangingTo=void 0,this.emit("languageChanged",t),this.logger.log("languageChanged",t)):this.isLanguageChangingTo=void 0,o.resolve(function(){return n.t(...arguments)}),r&&r(e,function(){return n.t(...arguments)})};var e=e=>{const t="string"==typeof(e=a||e||!this.services.languageDetector?e:[])?e:this.services.languageUtils.getBestMatchFromCodes(e);t&&(this.language||i(t),this.translator.language||this.translator.changeLanguage(t),this.services.languageDetector)&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(t),this.loadResources(t,e=>{s(e,t)})};return a||!this.services.languageDetector||this.services.languageDetector.async?!a&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(e):this.services.languageDetector.detect(e):e(a):e(this.services.languageDetector.detect()),o}getFixedT(e,t,l){var c=this;function u(e,t){let a;if("object"!=typeof t){for(var r=arguments.length,n=new Array(2""+a.keyPrefix+i+e):a.keyPrefix?""+a.keyPrefix+i+e:e,c.t(s,a)}return"string"==typeof e?u.lng=e:u.lngs=e,u.ns=t,u.keyPrefix=l,u}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){var t=1{e=this.services.backendConnector.state[e+"|"+t];return-1===e||2===e};if(t.precheck){t=t.precheck(this,o);if(void 0!==t)return t}return!!this.hasResourceBundle(a,e)||!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages)&&(!o(a,e)||r&&!o(n,e)))}loadNamespaces(e,t){const a=Fe();return this.options.ns?((e="string"==typeof e?[e]:e).forEach(e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}),this.loadResources(e=>{a.resolve(),t&&t(e)}),a):(t&&t(),Promise.resolve())}loadLanguages(e,t){const a=Fe(),r=this.options.preload||[];e=(e="string"==typeof e?[e]:e).filter(e=>r.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e));return e.length?(this.options.preload=r.concat(e),this.loadResources(e=>{a.resolve(),t&&t(e)}),a):(t&&t(),Promise.resolve())}dir(e){var t;return!(e=e||this.resolvedLanguage||(this.languages&&0{n[e]=this[e]}),n.services={...this.services},n.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},a&&(n.store=new nt(this.store.data,r),n.services.resourceStore=n.store),n.translator=new st(n.services,r),n.translator.on("*",function(e){for(var t=arguments.length,a=new Array(1()=>{if(t.isInitialized)a();else{const e=()=>{setTimeout(()=>{t.off("initialized",e)},0),a()};t.on("initialized",e)}};function At(e,t,a){e.loadNamespaces(t,Tt(e,a))}function Pt(t,e,a,r){(a="string"==typeof a?[a]:a).forEach(e=>{t.options.ns.indexOf(e)<0&&t.options.ns.push(e)}),t.loadLanguages(e,Tt(t,r))}function Mt(a,e,t){let r=2{if(r.bindI18n&&-1{e=a.services.backendConnector.state[e+"|"+t];return-1===e||2===e},!(n.bindI18n&&-1",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},Dt=e=>jt[e],$t={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:e=>e.replace(Rt,Dt)};var z={type:"3rdParty",init(e){!function(e){var t=0{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}},k=t(b(),1),Bt=(e,t)=>{const a=(0,k.useRef)();return(0,k.useEffect)(()=>{a.current=t?a.current:e},[e,t]),a.current};function Ft(e,t,a,r){return e.getFixedT(t,a,r)}function Vt(e,t){let r=1"string"==typeof t?t:t&&"object"==typeof t&&"string"==typeof t.defaultValue?t.defaultValue:Array.isArray(e)?e[e.length-1]:e,{},!1]).t=n,o.i18n={},o.ready=!1,o;s.options.react&&void 0!==s.options.react.wait&&Ot("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const l={...$t,...s.options.react,...r},{useSuspense:c,keyPrefix:u}=l;let d=e||i||s.options&&s.options.defaultNS;d="string"==typeof d?[d]:d||["translation"],s.reportNamespaces.addUsedNamespaces&&s.reportNamespaces.addUsedNamespaces(d);const p=(s.isInitialized||s.initializedStoreOnce)&&d.every(e=>Mt(e,s,l)),h=(n=s,o=r.lng||null,i="fallback"===l.nsMode?d:d[0],a=u,(0,k.useCallback)(Ft(n,o,i,a),[n,o,i,a])),m=()=>h,f=()=>Ft(s,r.lng||null,"fallback"===l.nsMode?d:d[0],u),[g,v]=(0,k.useState)(m);let b=d.join();r.lng&&(b=""+r.lng+b);const y=Bt(b),S=(0,k.useRef)(!0);(0,k.useEffect)(()=>{const{bindI18n:e,bindI18nStore:t}=l;function a(){S.current&&v(f)}return S.current=!0,p||c||(r.lng?Pt(s,r.lng,d,()=>{S.current&&v(f)}):At(s,d,()=>{S.current&&v(f)})),p&&y&&y!==b&&S.current&&v(f),e&&s&&s.on(e,a),t&&s&&s.store.on(t,a),()=>{S.current=!1,e&&s&&e.split(" ").forEach(e=>s.off(e,a)),t&&s&&t.split(" ").forEach(e=>s.store.off(e,a))}},[s,b]),(0,k.useEffect)(()=>{S.current&&p&&v(m)},[s,u,p]);n=[g,s,p];if(n.t=g,n.i18n=s,(n.ready=p)||!p&&!c)return n;throw new Promise(e=>{r.lng?Pt(s,r.lng,d,()=>e()):At(s,d,()=>e())})}var Ht=t(b(),1);function qt(i,e){let s=1(0,Ht.createElement)(a,Object.assign({},e,{forwardedRef:t}))):a}}t(b(),1),t(b(),1),t(b(),1);function Gt(e){return(Gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Kt(e){e=function(e,t){if("object"!==Gt(e)||null===e)return e;var a=e[Symbol.toPrimitive];if(void 0===a)return("string"===t?String:Number)(e);if("object"!==Gt(a=a.call(e,t||"default")))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}(e,"string");return"symbol"===Gt(e)?e:String(e)}function Jt(e,t){for(var a=0;a{t=localStorage.getItem(t);if(!t)return e;try{return JSON.parse(t)}catch(e){return t}}),Sa=e=>{const a={section:/^\s*\[\s*([^\]]*)\s*\]\s*$/,param:/^\s*([^=]+?)\s*=\s*(.*?)\s*$/,comment:/^\s*;.*$/},r={};e=e.split(/[\r\n]+/);let n=null;return e.forEach(function(e){var t;a.comment.test(e)||(a.param.test(e)?e.includes("xrdb")?(delete r[n??""],n=null):(t=e.match(a.param),n&&t&&(r[n][t[1]]=t[2].split(";")[0].trim())):a.section.test(e)?(t=e.match(a.section))&&(r[t[1]]={},n=t[1]):0==e.length&&(n=n&&null))}),r},ka=e=>{var t=document.querySelector("style.marketplaceSnippets"),t=(t&&t.remove(),document.createElement("style")),e=e.reduce((e,t)=>e=(e+=`/* ${t.title} - ${t.description} */ `)+t.code+` `,"");t.innerHTML=e,t.classList.add("marketplaceSnippets"),document.body.appendChild(t)},wa=(e,t)=>{let a=[];return e&&0({name:e.name,url:Pa(e.url)})):a.push({name:t,url:"https://github.com/"+t}),a},Ea=e=>e?Object.keys(e).map(e=>({key:e,value:e})):[],Ca=e=>[{key:"stars",value:e("grid.sort.stars")},{key:"newest",value:e("grid.sort.newest")},{key:"oldest",value:e("grid.sort.oldest")},{key:"lastUpdated",value:e("grid.sort.lastUpdated")},{key:"mostStale",value:e("grid.sort.mostStale")},{key:"a-z",value:e("grid.sort.aToZ")},{key:"z-a",value:e("grid.sort.zToA")}],Na=(...e)=>{console.debug("Resetting Marketplace");const t=[];0===e.length&&Object.keys(localStorage).forEach(e=>{e.startsWith("marketplace:")&&t.push(e)}),e.forEach(e=>{switch(e){case"extensions":t.push(...C(w.installedExtensions,[])),t.push(w.installedExtensions);break;case"snippets":t.push(...C(w.installedSnippets,[])),t.push(w.installedSnippets);break;case"theme":t.push(...C(w.installedThemes,[])),t.push(w.installedThemes),t.push(w.themeInstalled);break;default:console.error("Unknown category: "+e)}}),t.forEach(e=>{localStorage.removeItem(e),console.debug("Removed "+e)}),console.debug("Marketplace has been reset"),location.reload()},xa=a=>{var e=document.querySelector("style.marketplaceCSS.marketplaceScheme");if(e&&e.remove(),a){e=document.createElement("style");e.classList.add("marketplaceCSS"),e.classList.add("marketplaceScheme");let t=":root {";Object.keys(a).forEach(e=>{t=(t+=`--spice-${e}: #${a[e]};`)+`--spice-rgb-${e}: ${(e=>{if(3===e.length)e=e.split("").map(e=>e+e).join("");else{if(6!=e.length)throw"Only 3- or 6-digit hex colours are allowed.";if(e.match(/[^0-9a-f]/i))throw"Only hex colours are allowed."}e=e.match(/.{1,2}/g);if(e&&3===e.length)return[parseInt(e[0],16),parseInt(e[1],16),parseInt(e[2],16)];throw"Could not parse hex colour."})(a[e])};`}),t+="}",e.innerHTML=t,document.body.appendChild(e)}},Ia=e=>{try{var t,a,r=document.querySelector("link[href='user.css']"),n=(r&&r.remove(),document.querySelector("style.marketplaceCSS.marketplaceUserCSS"));n&&n.remove(),e?((t=document.createElement("style")).classList.add("marketplaceCSS"),t.classList.add("marketplaceUserCSS"),t.innerHTML=e,document.body.appendChild(t)):((a=document.createElement("link")).setAttribute("rel","stylesheet"),a.setAttribute("href","user.css"),a.classList.add("userCSS"),document.body.appendChild(a))}catch(e){console.warn(e)}},La=async(e,t)=>{if(!e.cssURL)throw new Error("No CSS URL provided");t||=await async function(){for(const e of["net","xyz"])try{if("opaqueredirect"===(await fetch("https://cdn.jsdelivr."+e,{redirect:"manual",cache:"no-cache"})).type)return e}catch(e){console.error(e);continue}}();var t=(e=>{const t=new URL(e);return t.host,t.host==="raw.githubusercontent.com"})(e.cssURL)?`https://cdn.jsdelivr.${t}/gh/${e.user}/${e.repo}@${e.branch}/`+e.manifest.usercss:e.cssURL,a=t.replace("/user.css","/assets/");console.debug("Parsing CSS: ",t);let r=await fetch(t+"?time="+Date.now()).then(e=>e.text());for(const i of r.matchAll(/url\(['|"](?.+?)['|"]\)/gm)||[]){var n,o=i?.groups?.path;!o||o.startsWith("http")||o.startsWith("data")||(n=a+o.replace(/\.\//g,""),r=r.replace(o,n))}return r};function Oa(e,r){e&&e.forEach(e=>{var t=r||e.user+"-"+e.repo,a=window.sessionStorage.getItem(t),a=a?JSON.parse(a):[];a.push(e),window.sessionStorage.setItem(t,JSON.stringify(a))})}async function Ta(e,t,a){try{var r={text:e,context:t+"/"+a,mode:"gfm"},n=await fetch("https://api.github.com/markdown",{method:"POST",body:JSON.stringify(r)});if(n.ok)return await n.text();throw Spicetify.showNotification(y("notifications.markdownParsingError",{status:n.status}),!0)}catch(e){return null}}function Aa(e){var t="snippet"===e.type?"snippet:":`${e.item.user}/${e.item.repo}/`;let a;switch(e.type){case"snippet":a=e.item.title.replaceAll(" ","-");break;case"theme":a=e.item.manifest?.usercss||"";break;case"extension":a=e.item.manifest?.main||"";break;case"app":a=e.item.manifest?.name?.replaceAll(" ","-")||""}return"marketplace:installed:"+t+a}var Pa=e=>{var t=decodeURI(e).trim().toLowerCase();return t.startsWith("javascript:")||t.startsWith("data:")||t.startsWith("vbscript:")?"about:blank":e},Ma=(e,t)=>{e=e.title||e?.manifest?.name||"",t=t.title||t?.manifest?.name||"";return e.localeCompare(t)},_a=(e,t)=>{return void 0===e.created||void 0===t.created?0:(e=new Date(e.created),new Date(t.created).getTime()-e.getTime())},Ra=(e,t)=>{return void 0===e.lastUpdated||void 0===t.lastUpdated?0:(e=new Date(e.lastUpdated),new Date(t.lastUpdated).getTime()-e.getTime())},ja=(e,t)=>{switch(t){case"a-z":e.sort((e,t)=>Ma(e,t));break;case"z-a":e.sort((e,t)=>Ma(t,e));break;case"newest":e.sort((e,t)=>_a(e,t));break;case"oldest":e.sort((e,t)=>_a(t,e));break;case"lastUpdated":e.sort((e,t)=>Ra(e,t));break;case"mostStale":e.sort((e,t)=>Ra(t,e));break;default:e.sort((e,t)=>t.stars-e.stars)}};var c=t(b()),f=t(b()),Da=t(Me()),$a=t(_e()),za=(i=Prism,a=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/,i.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+a.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+a.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+a.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+a.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:a,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},i.languages.css.atrule.inside.rest=i.languages.css,(a=i.languages.markup)&&(a.tag.addInlined("style","css"),a.tag.addAttribute("style","css")),t(b())),Ua="button-module__button___hf2qg_marketplace",Ba="button-module__circle___EZ88P_marketplace",g=e=>{var t=e.type||"round",a=[Ua];return"circle"===t&&a.push(Ba),e.classes&&a.push(...e.classes),za.default.createElement("button",{className:a.join(" "),onClick:e.onClick,"aria-label":e.label||"",disabled:e.disabled},e.children)},Fa=r=>{var e="marketplace-customCSS-preview";const[n,t]=f.default.useState("ADD_SNIPPET"!==r.type&&r.content?.item.code||""),[a,o]=f.default.useState("ADD_SNIPPET"!==r.type&&r.content?.item.title||""),[i,s]=f.default.useState("ADD_SNIPPET"!==r.type&&r.content?.item.description||""),[l,c]=f.default.useState("ADD_SNIPPET"!==r.type&&r.content?.item.imageURL||""),u=()=>a.replace(/\n/g,"").replaceAll(" ","-");const d="marketplace:installed:snippet:"+u(),[p,h]=f.default.useState(!!C(d));let m;return f.default.createElement("div",{id:"marketplace-add-snippet-container"},f.default.createElement("div",{className:"marketplace-customCSS-input-container"},f.default.createElement("label",{htmlFor:"marketplace-custom-css"},y("snippets.customCSS")),f.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},f.default.createElement(Da.default,{value:n,onValueChange:e=>t(e),highlight:e=>(0,$a.highlight)(e,$a.languages.css),textareaId:"marketplace-custom-css",textareaClassName:"snippet-code-editor",readOnly:"VIEW_SNIPPET"===r.type,placeholder:y("snippets.customCSSPlaceholder"),style:{}}))),f.default.createElement("div",{className:"marketplace-customCSS-input-container"},f.default.createElement("label",{htmlFor:"marketplace-customCSS-name-submit"},y("snippets.snippetName")),f.default.createElement("input",{id:"marketplace-customCSS-name-submit",className:"marketplace-code-editor",value:a,onChange:e=>{"VIEW_SNIPPET"!==r.type&&o(e.target.value)},placeholder:y("snippets.snippetNamePlaceholder")})),f.default.createElement("div",{className:"marketplace-customCSS-input-container"},f.default.createElement("label",{htmlFor:"marketplace-customCSS-description-submit"},y("snippets.snippetDesc")),f.default.createElement("input",{id:"marketplace-customCSS-description-submit",className:"marketplace-code-editor",value:i,onChange:e=>{"VIEW_SNIPPET"!==r.type&&s(e.target.value)},placeholder:y("snippets.snippetDescPlaceholder")})),f.default.createElement("div",{className:"marketplace-customCSS-input-container"},f.default.createElement("label",{htmlFor:e},y("snippets.snippetPreview")," ","VIEW_SNIPPET"!==r.type&&`(${y("snippets.optional")})`),l&&f.default.createElement("label",{htmlFor:e,style:{textAlign:"center"}},f.default.createElement("img",{className:"marketplace-customCSS-image-preview",src:l,alt:"Preview"}))),"VIEW_SNIPPET"!==r.type&&f.default.createElement(f.default.Fragment,null,f.default.createElement(g,{onClick:()=>{m.click()}},l.length?y("snippets.changeImage"):y("snippets.addImage"),f.default.createElement("input",{id:e,type:"file",style:{display:"none"},ref:e=>m=e,onChange:async e=>{if(e.target.files?.[0])try{r=e.target.files?.[0];var t=await new Promise((e,t)=>{const a=new FileReader;a.readAsDataURL(r),a.onload=()=>{e(a.result)},a.onerror=e=>{t(e)}});t&&c(t)}catch(e){console.error(e)}var r}})),f.default.createElement(g,{onClick:()=>{var e,t=u(),a=i.trim();p&&"EDIT_SNIPPET"!==r.type?Spicetify.showNotification(y("snippets.duplicateName"),!0):(console.debug("Installing snippet: "+t),r.content&&r.content.item.title!==t&&(console.debug("Deleting outdated snippet: "+r.content.item.title),localStorage.removeItem("marketplace:installed:snippet:"+r.content.item.title),e=C(w.installedSnippets,[]).filter(e=>e!=="marketplace:installed:snippet:"+r.content?.item.title),localStorage.setItem(w.installedSnippets,JSON.stringify(e))),localStorage.setItem(d,JSON.stringify({title:t,code:n,description:a,imageURL:l,custom:!0})),-1===(e=C(w.installedSnippets,[])).indexOf(d)&&(e.push(d),localStorage.setItem(w.installedSnippets,JSON.stringify(e))),t=e.map(e=>C(e)),ka(t),Spicetify.PopupModal.hide(),"EDIT_SNIPPET"===r.type&&location.reload())},disabled:!u()||!n.replace(/\n/g,"\\n")},y("snippets.saveCSS"))),"VIEW_SNIPPET"===r.type&&f.default.createElement(g,{onClick:()=>{r.callback&&r.callback(),h(!p)}},p?y("remove"):y("install")))},Va=t(b()),Ha=()=>Va.default.createElement("div",{id:"marketplace-reload-container"},Va.default.createElement("p",null,y("reloadModal.description")),Va.default.createElement("div",{className:"marketplace-reload-modal__button-container"},Va.default.createElement(g,{onClick:()=>{Spicetify.PopupModal.hide(),location.reload()}},y("reloadModal.reloadNow")),Va.default.createElement(g,{onClick:()=>{Spicetify.PopupModal.hide()}},y("reloadModal.reloadLater")))),u=t(b()),d=t(b()),qa=t(b()),Ga="toggle-module__toggle-wrapper___ocE5z_marketplace",Ka="toggle-module__disabled___OYAYf_marketplace",Ja="toggle-module__toggle-input___ceLM4_marketplace",Wa="toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace",Za="toggle-module__toggle-indicator___nCxwE_marketplace",Xa=e=>{var t="toggle:"+e.storageKey,a=[Ga];return!1===e.clickable&&a.push(Ka),qa.default.createElement("label",{className:a.join(" ")},qa.default.createElement("input",{className:Ja,type:"checkbox",checked:e.enabled,"data-storage-key":e.storageKey,id:t,title:"Toggle for "+e.storageKey,onChange:e.onChange}),qa.default.createElement("span",{className:Wa},qa.default.createElement("span",{className:Za})))},Ya=t(b()),Qa=t(e()),er=t=>{var e=t.sortBoxOptions.map(e=>({value:e.key,label:e.value})),a=t.sortBoxOptions.find(t.sortBySelectedFn);return Ya.default.createElement("div",{className:"marketplace-sortBox"},Ya.default.createElement("div",{className:"marketplace-sortBox-header"},Ya.default.createElement("div",{className:"marketplace-sortBox-header-title"}),Ya.default.createElement(Qa.default,{placeholder:"Select an option",options:e,value:a?.key,onChange:e=>{t.onChange(e.value)}})))},tr=t(b()),ar=()=>tr.default.createElement("svg",{role:"img",height:"16",width:"16",className:"Svg-sc-ytk21e-0 uPxdw nW1RKQOkzcJcX6aDCZB4",viewBox:"0 0 16 16"},tr.default.createElement("path",{d:"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8z"}),tr.default.createElement("path",{d:"M7.25 12.026v-1.5h1.5v1.5h-1.5zm.884-7.096A1.125 1.125 0 007.06 6.39l-1.431.448a2.625 2.625 0 115.13-.784c0 .54-.156 1.015-.503 1.488-.3.408-.7.652-.973.818l-.112.068c-.185.116-.26.203-.302.283-.046.087-.097.245-.097.57h-1.5c0-.47.072-.898.274-1.277.206-.385.507-.645.827-.846l.147-.092c.285-.177.413-.257.526-.41.169-.23.213-.397.213-.602 0-.622-.503-1.125-1.125-1.125z"})),rr=window.Spicetify,p=a=>{var e=a.type,t="dropdown"===e?"dropdown:"+a.storageKey:"toggle:"+a.storageKey,r=!!a.modalConfig.visual[a.storageKey];return void 0!==a.description&&null!==a.description||(a.description=""),"dropdown"===e&&a.options?d.default.createElement("div",{className:"settings-row"},d.default.createElement("label",{htmlFor:t,className:"col description"},a.name),d.default.createElement("div",{className:"col action"},d.default.createElement(er,{sortBoxOptions:a.options.map(e=>({key:e,value:e})),onChange:e=>{return e=e,t=a.storageKey,a.modalConfig.visual[t]=e,localStorage.setItem("marketplace:"+t,String(e)),void a.updateConfig(a.modalConfig);var t},sortBySelectedFn:e=>e.key==a.modalConfig.visual[a.storageKey]}),d.default.createElement(rr.ReactComponent.TooltipWrapper,{label:d.default.createElement(d.default.Fragment,null,a.description.split("\n").map(e=>d.default.createElement(d.default.Fragment,null,e,d.default.createElement("br",null)))),renderInline:!0,showDelay:10,placement:"top",labelClassName:"marketplace-settings-tooltip",disabled:!1},d.default.createElement("div",{className:"marketplace-tooltip-icon"},d.default.createElement(ar,null))))):d.default.createElement("div",{className:"settings-row"},d.default.createElement("label",{htmlFor:t,className:"col description"},a.name),d.default.createElement("div",{className:"col action"},d.default.createElement(Xa,{name:a.name,storageKey:a.storageKey,enabled:r,onChange:e=>{var t=e.target.checked,e=e.target.dataset.storageKey;a.modalConfig.visual[e]=t,console.debug(`toggling ${e} to `+t),localStorage.setItem("marketplace:"+e,String(t)),a.updateConfig(a.modalConfig)}})))},h=t(b()),nr=r=>{var e="toggle:"+r.name;const t=r.modalConfig.tabs.reduce((e,t,a)=>t.name===r.name?a:e,-1);var a=r.modalConfig.tabs[t]["enabled"];function n(e,t){var t=e+t,a=r.modalConfig.tabs[t];r.modalConfig.tabs[t]=r.modalConfig.tabs[e],r.modalConfig.tabs[e]=a,localStorage.setItem(w.tabs,JSON.stringify(r.modalConfig.tabs)),r.updateConfig(r.modalConfig)}return h.default.createElement("div",{className:"settings-row"},h.default.createElement("label",{htmlFor:e,className:"col description"},y("tabs."+r.name)),h.default.createElement("div",{className:"col action"},h.default.createElement("button",{title:"Move up",className:"arrow-btn",disabled:0===t,onClick:()=>n(t,-1)},h.default.createElement("svg",{height:"16",width:"16",viewBox:"0 0 16 16",fill:"currentColor",dangerouslySetInnerHTML:{__html:String(Spicetify.SVGIcons["chart-up"])}})),h.default.createElement("button",{title:"Move down",className:"arrow-btn",disabled:t===r.modalConfig.tabs.length-1,onClick:()=>n(t,1)},h.default.createElement("svg",{height:"16",width:"16",viewBox:"0 0 16 16",fill:"currentColor",dangerouslySetInnerHTML:{__html:String(Spicetify.SVGIcons["chart-down"])}})),h.default.createElement(Xa,{name:r.name,storageKey:"tab:"+r.name,clickable:"Extensions"!==r.name,enabled:a,onChange:e=>{r.modalConfig.tabs[t].enabled=e.target.checked,localStorage.setItem(w.tabs,JSON.stringify(r.modalConfig.tabs)),r.updateConfig(r.modalConfig)}})))},or=async()=>{const e=new MutationObserver(async()=>{var t;document.querySelector(".GenericModal[aria-label='Settings']")||(t=100,await new Promise(e=>setTimeout(e,t)),N("BACKUP"),e.disconnect())});e.observe(document.body,{childList:!0,subtree:!0}),Spicetify.PopupModal.hide()},ir=({CONFIG:e,updateAppConfig:t})=>{const[a,r]=u.default.useState({...e}),[n,o]=u.default.useState(y("settings.versionBtn")),i=e=>{t({...e}),r({...e})};e=document.querySelector("body > generic-modal button.main-trackCreditsModal-closeBtn");const s=document.querySelector("body > generic-modal > div");e&&s&&(e.onclick=()=>location.reload(),e.setAttribute("style","cursor: pointer;"),s.onclick=e=>{e.target===s&&location.reload()});e=C(w.albumArtBasedColor)?u.default.createElement(u.default.Fragment,null,u.default.createElement(p,{name:y("settings.albumArtBasedColorsMode"),storageKey:"albumArtBasedColorsMode",modalConfig:a,updateConfig:i,type:"dropdown",options:["monochromeDark","monochromeLight","analogicComplement","analogic","triad","quad"],description:y("settings.almbumArtColorsModeToolTip")}),u.default.createElement(p,{name:y("settings.albumArtBasedColorsVibrancy"),storageKey:"albumArtBasedColorsVibrancy",modalConfig:a,updateConfig:i,type:"dropdown",options:["desaturated","lightVibrant","prominent","vibrant"],description:y("settings.albumArtBasedColorsVibrancyToolTip")})):null;return u.default.createElement("div",{id:"marketplace-config-container"},u.default.createElement("h2",{className:"settings-heading"},y("settings.optionsHeading")),u.default.createElement(p,{name:y("settings.starCountLabel"),storageKey:"stars",modalConfig:a,updateConfig:i}),u.default.createElement(p,{name:y("settings.tagsLabel"),storageKey:"tags",modalConfig:a,updateConfig:i}),u.default.createElement(p,{name:y("settings.showArchived"),storageKey:"showArchived",modalConfig:a,updateConfig:i}),u.default.createElement(p,{name:y("settings.devToolsLabel"),storageKey:"themeDevTools",modalConfig:a,updateConfig:i}),u.default.createElement(p,{name:y("settings.hideInstalledLabel"),storageKey:"hideInstalled",modalConfig:a,updateConfig:i}),u.default.createElement(p,{name:y("settings.colourShiftLabel"),storageKey:"colorShift",modalConfig:a,updateConfig:i}),u.default.createElement(p,{name:y("settings.albumArtBasedColors"),storageKey:"albumArtBasedColors",modalConfig:a,updateConfig:i}),e,u.default.createElement("h2",{className:"settings-heading"},y("settings.tabsHeading")),u.default.createElement("div",{className:"tabs-container"},a.tabs.map(({name:e},t)=>u.default.createElement(nr,{key:t,name:e,modalConfig:a,updateConfig:i}))),u.default.createElement("h2",{className:"settings-heading"},y("settings.resetHeading")),u.default.createElement("div",{className:"settings-row"},u.default.createElement("label",{className:"col description"},y("settings.resetDescription")),u.default.createElement("div",{className:"col action"},u.default.createElement(g,{onClick:()=>Na()},y("settings.resetBtn")))),u.default.createElement("h2",{className:"settings-heading"},y("settings.backupHeading")),u.default.createElement("div",{className:"settings-row"},u.default.createElement("label",{className:"col description"},y("settings.backupLabel")),u.default.createElement("div",{className:"col action"},u.default.createElement(g,{onClick:or},y("settings.backupBtn")))),u.default.createElement("h2",null,y("settings.versionHeading")),u.default.createElement("div",{className:"setting-row"},u.default.createElement("label",{className:"col description"},y("grid.spicetifyMarketplace")," ",ma),u.default.createElement("div",{className:"col action"},u.default.createElement(g,{onClick:()=>{Spicetify.Platform.ClipboardAPI.copy(ma),o(y("settings.versionCopied")),setTimeout(()=>o(y("settings.versionBtn")),3e3)}},n))))},m=t(b()),sr=t(Me()),lr=t(_e()),cr=(Prism.languages.ini={comment:{pattern:/(^[ \f\t\v]*)[#;][^\n\r]*/m,lookbehind:!0},section:{pattern:/(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,lookbehind:!0,alias:"selector"},punctuation:/\[|\]/}},key:{pattern:/(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,lookbehind:!0,alias:"attr-value",inside:{"inner-value":{pattern:/^("|').+(?=\1$)/,lookbehind:!0}}},punctuation:/=/},localStorage.getItem(w.themeInstalled)),ur=cr?C(cr):null,dr=()=>{const[a,t]=m.default.useState(ur?(e=>{let t="";for(const a in e)if(Object.prototype.hasOwnProperty.call(e,a))if("object"==typeof e[a]){t+=`[${a}] `;for(const r in e[a])Object.prototype.hasOwnProperty.call(e[a],r)&&(t+=`${r}=${e[a][r]} `)}else t+=`${a}=${e[a]} `;return t})(ur.schemes):y("devTools.noThemeInstalled"));return m.default.createElement("div",{id:"marketplace-theme-dev-tools-container",className:"marketplace-theme-dev-tools-container"},m.default.createElement("div",{className:"devtools-column"},m.default.createElement("label",{htmlFor:"color-ini-editor"},m.default.createElement("h2",{className:"devtools-heading"},y("devTools.colorIniEditor"))),m.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},m.default.createElement(sr.default,{value:a,onValueChange:e=>t(e),highlight:e=>(0,lr.highlight)(e,lr.languages.ini),textareaId:"color-ini-editor",textareaClassName:"color-ini-editor",readOnly:!ur,placeholder:y("devTools.colorIniEditorPlaceholder"),style:{fontFamily:"monospace",resize:"none"}})),m.default.createElement(g,{onClick:()=>{var e=a;{var t;cr?(t=Sa(e),ur.schemes=t,localStorage.setItem(cr,JSON.stringify(ur))):Spicetify.showNotification(y("devTools.noThemeManifest"),!0)}}},y("save"))),m.default.createElement("div",{className:"devtools-column"},m.default.createElement("h2",{className:"devtools-heading"},y("devTools.invalidCSS")),m.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},function(){var e=document.querySelector("body > style.marketplaceCSS.marketplaceUserCSS")?.innerHTML,t=new RegExp(".-?[_a-zA-Z]+[_a-zA-Z0-9-]*\\s*{","g");if(!e)return["Error: Class name list not found; please create an issue"];var a=[];for(const o of e.matchAll(t)){var r=o[0].replace(/{/g,"").trim(),n=r.split(" ");let t;for(let e=0;em.default.createElement("div",{key:t,className:"invalid-css-text"},e)))))},v=t(b()),pr=t(Me()),hr=t(_e()),mr=(Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json,()=>{const[e,t]=v.default.useState("");const a=t=>{if(t){let e;try{e=JSON.parse(t)}catch(e){return void Spicetify.showNotification(y("backupModal.invalidJSON"))}var a;a=e,console.debug("Importing Marketplace"),Na(),Object.keys(a).forEach(e=>{localStorage.setItem(e,a[e]),console.debug("Imported "+e)}),location.reload()}else Spicetify.showNotification(y("backupModal.noDataPasted"))};return v.default.createElement("div",{id:"marketplace-backup-container"},v.default.createElement("div",{className:"marketplace-backup-input-container"},v.default.createElement("label",{htmlFor:"marketplace-backup"},y("backupModal.inputLabel")),v.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},v.default.createElement(pr.default,{value:e,onValueChange:e=>t(e),highlight:e=>(0,hr.highlight)(e,hr.languages.css),textareaId:"marketplace-import-text",textareaClassName:"import-textarea",readOnly:!1,className:"marketplace-code-editor-textarea",placeholder:y("backupModal.inputPlaceholder"),style:{}}))),v.default.createElement(v.default.Fragment,null,v.default.createElement(g,{classes:["marketplace-backup-button"],onClick:()=>{var e=(()=>{const t={};return Object.keys(localStorage).forEach(e=>{e.startsWith("marketplace:")&&(t[e]=localStorage.getItem(e))}),t})();Spicetify.Platform.ClipboardAPI.copy(JSON.stringify(e)),Spicetify.showNotification(y("backupModal.settingsCopied")),Spicetify.PopupModal.hide()}},y("backupModal.exportBtn")),v.default.createElement(g,{classes:["marketplace-backup-button"],onClick:()=>{a(e)}},y("backupModal.importBtn")),v.default.createElement(g,{classes:["marketplace-backup-button"],onClick:async()=>{var e=await(await(await window.showOpenFilePicker())[0].getFile()).text();a(e)}},y("backupModal.fileImportBtn"))))}),S=t(b());var fr=function(){const[e,t]=S.default.useState(null);return S.default.useEffect(()=>{!async function(){try{var{body:e,tag_name:t,message:a}=await(await fetch(ba)).json();return e&&t&&!a?{version:t.replace("v",""),changelog:await Ta(e.match(/## What's Changed([\s\S]*?)(\r\n\r|\n\n##)/)[1],"spicetify","spicetify-marketplace")}:null}catch(e){return console.error(e),null}}().then(e=>t(e))},[]),S.default.createElement("div",{id:"marketplace-update-container"},S.default.createElement("div",{id:"marketplace-update-description"},S.default.createElement("h4",null,y("updateModal.description")),S.default.createElement("a",{href:va+"/tag/v1.0.2"},y("updateModal.currentVersion",{version:ma})),S.default.createElement("a",{href:va+"/tag/v"+e?.version},y("updateModal.latestVersion",{version:e?.version}))),S.default.createElement("hr",null),S.default.createElement("div",{id:"marketplace-update-whats-changed"},S.default.createElement("h3",{className:"marketplace-update-header"},y("updateModal.whatsChanged")),S.default.createElement("details",null,S.default.createElement("summary",null,y("updateModal.seeChangelog")),S.default.createElement("ul",{dangerouslySetInnerHTML:{__html:e?.changelog??""}}))),S.default.createElement("hr",null),S.default.createElement("div",{id:"marketplace-update-guide"},S.default.createElement("h3",{className:"marketplace-update-header"},y("updateModal.howToUpgrade")),S.default.createElement("a",{href:"https://github.com/spicetify/spicetify-marketplace/wiki/Installation"},y("updateModal.viewGuide"))))},N=(e,t,a,r,n)=>{e=((e,t,a,r,n)=>{switch(e){case"ADD_SNIPPET":return{title:y("snippets.addTitle"),content:c.default.createElement(Fa,{type:e}),isLarge:!0};case"EDIT_SNIPPET":return{title:y("snippets.editTitle"),content:c.default.createElement(Fa,{type:e,content:r}),isLarge:!0};case"VIEW_SNIPPET":return{title:y("snippets.viewTitle"),content:c.default.createElement(Fa,{type:e,content:r,callback:n}),isLarge:!0};case"RELOAD":return{title:y("reloadModal.title"),content:c.default.createElement(Ha,null),isLarge:!1};case"SETTINGS":return{title:y("settings.title"),content:c.default.createElement(ir,{CONFIG:t,updateAppConfig:a}),isLarge:!0};case"THEME_DEV_TOOLS":return{title:y("devTools.title"),content:c.default.createElement(dr,null),isLarge:!0};case"BACKUP":return{title:y("backupModal.title"),content:c.default.createElement(mr,null),isLarge:!0};case"UPDATE":return{title:y("updateModal.title"),content:c.default.createElement(fr,null),isLarge:!0};default:return{title:"",content:c.default.createElement("div",null),isLarge:!1}}})(e,t,a,r,n),Spicetify.PopupModal.display(e)};async function gr(e,t=1,a=[],r=!1){let n=`https://api.github.com/search/repositories?q=${encodeURIComponent("topic:"+e)}&per_page=100`;t&&(n+="&page="+t);var o=JSON.parse(window.sessionStorage.getItem(e+"-page-"+t)||"null")||await fetch(n).then(e=>e.json()).catch(()=>null);return o?.items?(window.sessionStorage.setItem(e+"-page-"+t,JSON.stringify(o)),{...o,page_count:o.items.length,items:o.items.filter(e=>!a.includes(e.html_url)&&(r||!e.archived))}):(Spicetify.showNotification(y("notifications.tooManyRequests"),!0,5e3),{items:[]})}var Pe=new Blob([` self.addEventListener('message', async (event) => { const url = event.data; const response = await fetch(url); const data = await response.json().catch(() => null); self.postMessage(data); }); `],{type:"application/javascript"}),vr=URL.createObjectURL(Pe);async function br(e,t,a){var r=e+"-"+t,n=window.sessionStorage.getItem(r),o=JSON.parse(window.sessionStorage.getItem("noManifests")||"[]");if(n)return JSON.parse(n);n=`https://raw.githubusercontent.com/${e}/${t}/${a}/manifest.json`;if(o.includes(n))return null;let i=await async function(e){const r=new Worker(vr);return new Promise(t=>{const a=e=>{r.terminate(),t(e)};r.postMessage(e),r.addEventListener("message",e=>a(e.data),{once:!0}),r.addEventListener("error",()=>a(null),{once:!0})})}(n);return i?(Oa(i=Array.isArray(i)?i:[i],r),i):Oa([n],"noManifests")}async function yr(e,r,n,o=!1){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?.+)\/(?.+)\/contents/);if(!t||!t.groups)return null;const{user:i,repo:s}=t.groups;return(await br(i,s,r)).reduce((e,t)=>{var a=t.branch||r,a={manifest:t,title:t.name,subtitle:t.description,authors:wa(t.authors,i),user:i,repo:s,branch:a,imageURL:t.preview&&t.preview.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${i}/${s}/${a}/`+t.preview,extensionURL:t.main.startsWith("http")?t.main:`https://raw.githubusercontent.com/${i}/${s}/${a}/`+t.main,readmeURL:t.readme&&t.readme.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${i}/${s}/${a}/`+t.readme,stars:n,tags:t.tags};return t&&t.name&&t.description&&t.main&&(o&&localStorage.getItem(`marketplace:installed:${i}/${s}/`+t.main)||e.push(a)),e},[])}catch{return null}}async function Sr(e,r,n){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?.+)\/(?.+)\/contents/);if(!t||!t.groups)return null;const{user:o,repo:i}=t.groups;return(await br(o,i,r)).reduce((e,t)=>{var a=t.branch||r,a={manifest:t,title:t.name,subtitle:t.description,authors:wa(t.authors,o),user:o,repo:i,branch:a,imageURL:t.preview&&t.preview.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${o}/${i}/${a}/`+t.preview,readmeURL:t.readme&&t.readme.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${o}/${i}/${a}/`+t.readme,stars:n,tags:t.tags,cssURL:t.usercss.startsWith("http")?t.usercss:`https://raw.githubusercontent.com/${o}/${i}/${a}/`+t.usercss,schemesURL:t.schemes?t.schemes.startsWith("http")?t.schemes:`https://raw.githubusercontent.com/${o}/${i}/${a}/`+t.schemes:null,include:t.include};return t?.name&&t?.usercss&&t?.description&&e.push(a),e},[])}catch{return null}}async function kr(e,r,n){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?.+)\/(?.+)\/contents/);if(!t||!t.groups)return null;const{user:o,repo:i}=t.groups;return(await br(o,i,r)).reduce((e,t)=>{var a=t.branch||r,a={manifest:t,title:t.name,subtitle:t.description,authors:wa(t.authors,o),user:o,repo:i,branch:a,imageURL:t.preview&&t.preview.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${o}/${i}/${a}/`+t.preview,readmeURL:t.readme&&t.readme.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${o}/${i}/${a}/`+t.readme,stars:n,tags:t.tags};return t&&t.name&&t.description&&e.push(a),e},[])}catch{return null}}var wr=async()=>{return(await fetch("https://raw.githubusercontent.com/spicetify/spicetify-marketplace/main/resources/blacklist.json").then(e=>e.json()).catch(()=>({}))).repos},Er=async()=>{var e=await fetch("https://raw.githubusercontent.com/spicetify/spicetify-marketplace/main/resources/snippets.json").then(e=>e.json()).catch(()=>[]);return e.length?e.reduce((e,t)=>{t={...t};return t.preview&&(t.imageURL=t.preview.startsWith("http")?t.preview:"https://raw.githubusercontent.com/spicetify/spicetify-marketplace/main/"+t.preview,delete t.preview),e.push(t),e},[]):[]},Cr=t(b()),Nr=class extends Cr.default.Component{render(){return Cr.default.createElement("div",{onClick:this.props.onClick},Cr.default.createElement("p",{style:{fontSize:100,lineHeight:"65px"}},"»"),Cr.default.createElement("span",{style:{fontSize:20}},"Load more"))}},x=t(b()),xr=()=>x.default.createElement("svg",{width:"100px",height:"100px",viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"},x.default.createElement("circle",{cx:"50",cy:"50",r:"0",fill:"none",stroke:"currentColor",strokeWidth:"2"},x.default.createElement("animate",{attributeName:"r",repeatCount:"indefinite",dur:"1s",values:"0;40",keyTimes:"0;1",keySplines:"0 0.2 0.8 1",calcMode:"spline",begin:"0s"}),x.default.createElement("animate",{attributeName:"opacity",repeatCount:"indefinite",dur:"1s",values:"1;0",keyTimes:"0;1",keySplines:"0.2 0 0.8 1",calcMode:"spline",begin:"0s"})),x.default.createElement("circle",{cx:"50",cy:"50",r:"0",fill:"none",stroke:"currentColor",strokeWidth:"2"},x.default.createElement("animate",{attributeName:"r",repeatCount:"indefinite",dur:"1s",values:"0;40",keyTimes:"0;1",keySplines:"0 0.2 0.8 1",calcMode:"spline",begin:"-0.5s"}),x.default.createElement("animate",{attributeName:"opacity",repeatCount:"indefinite",dur:"1s",values:"1;0",keyTimes:"0;1",keySplines:"0.2 0 0.8 1",calcMode:"spline",begin:"-0.5s"}))),Ir=t(b()),Lr=()=>Ir.default.createElement("svg",{role:"img",width:"16",height:"16",viewBox:"0 0 24 24","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg"},Ir.default.createElement("path",{d:"M24 13.616v-3.232c-1.651-.587-2.694-.752-3.219-2.019v-.001c-.527-1.271.1-2.134.847-3.707l-2.285-2.285c-1.561.742-2.433 1.375-3.707.847h-.001c-1.269-.526-1.435-1.576-2.019-3.219h-3.232c-.582 1.635-.749 2.692-2.019 3.219h-.001c-1.271.528-2.132-.098-3.707-.847l-2.285 2.285c.745 1.568 1.375 2.434.847 3.707-.527 1.271-1.584 1.438-3.219 2.02v3.232c1.632.58 2.692.749 3.219 2.019.53 1.282-.114 2.166-.847 3.707l2.285 2.286c1.562-.743 2.434-1.375 3.707-.847h.001c1.27.526 1.436 1.579 2.019 3.219h3.232c.582-1.636.75-2.69 2.027-3.222h.001c1.262-.524 2.12.101 3.698.851l2.285-2.286c-.744-1.563-1.375-2.433-.848-3.706.527-1.271 1.588-1.44 3.221-2.021zm-12 2.384c-2.209 0-4-1.791-4-4s1.791-4 4-4 4 1.791 4 4-1.791 4-4 4z",fill:"currentColor"})),Or=t(b()),Tr=()=>Or.default.createElement("svg",{className:"devtools-icon",version:"1.1",viewBox:"1 1 22 22",xmlSpace:"preserve",xmlns:"http://www.w3.org/2000/svg"},Or.default.createElement("g",{className:"devtools-icon-internal",id:"grid_system"}),Or.default.createElement("g",{id:"_icons"},Or.default.createElement("path",{d:"M18,12v-0.9l0.7-5.7C18.8,4.5,18.6,3.7,18,3c-0.6-0.6-1.4-1-2.2-1H8.3C7.4,2,6.6,2.4,6,3C5.4,3.7,5.2,4.5,5.3,5.4L6,11.1 V12c0,1.6,1.3,2.9,2.8,3l-0.4,2.9c-0.1,1,0.2,2.1,0.8,2.9S11,22,12,22s2-0.5,2.7-1.2s1-1.8,0.8-2.9L15.2,15 C16.7,14.9,18,13.6,18,12z M7.5,4.3C7.7,4.1,8,4,8.3,4H13v2c0,0.6,0.4,1,1,1s1-0.4,1-1V4h0.7c0.3,0,0.6,0.1,0.8,0.3 c0.2,0.2,0.3,0.5,0.2,0.8L16.1,10H7.9L7.3,5.1C7.2,4.8,7.3,4.6,7.5,4.3z M13.2,19.4c-0.6,0.7-1.8,0.7-2.4,0 c-0.3-0.4-0.4-0.8-0.4-1.3l0.5-3.2h2.3l0.5,3.2C13.7,18.6,13.5,19.1,13.2,19.4z M15,13h-1h-4H9c-0.6,0-1-0.4-1-1h8 C16,12.6,15.6,13,15,13z"}))),I=t(b()),Ar=t(e()),i=class extends I.default.Component{constructor(e){super(e)}render(){var e=this.props["t"];return this.props.item.enabled?I.default.createElement("li",{className:"marketplace-tabBar-headerItem","data-tab":this.props.item.value,onClick:e=>{e.preventDefault(),this.props.switchTo(this.props.item)}},I.default.createElement("a",{"aria-current":"page",className:"marketplace-tabBar-headerItemLink "+(this.props.item.active?"marketplace-tabBar-active":""),draggable:"false",href:""},I.default.createElement("span",{className:"main-type-mestoBold"},e("tabs."+this.props.item.value)))):null}},Pr=qt()(i),Mr=I.default.memo(function({items:e,switchTo:t}){return I.default.createElement("li",{className:"marketplace-tabBar-headerItem"},I.default.createElement(Ar.default,{className:"main-type-mestoBold",options:e,value:"More",placeholder:"More",onChange:t}))}),_r=e=>{const t=document.querySelector(".Root__main-view .os-resize-observer-host")??document.querySelector(".Root__main-view .os-size-observer");if(!t)return null;const[a,r]=(0,I.useState)(t.clientWidth),n=()=>r(t.clientWidth),o=()=>{var e=document.querySelector(".marketplace-tabBar"),t=document.querySelector(".main-topBar-topbarContentWrapper");e&&t?(e&&t&&"/marketplace"===Spicetify.Platform.History.location.pathname&&(t.appendChild(e),document.querySelector(".main-topBar-container")?.setAttribute("style","contain: unset;")),Spicetify.Platform.History.listen(({pathname:e})=>{"/marketplace"!=e&&(document.querySelector(".marketplace-tabBar")?.remove(),document.querySelector(".main-topBar-container")?.removeAttribute("style"))})):setTimeout(o,100)};return(0,I.useEffect)(()=>{const e=new ResizeObserver(n);return e.observe(t),()=>{e.disconnect()}}),(0,I.useEffect)(()=>{o()}),I.default.createElement(Rr,{windowSize:a,links:e.links,activeLink:e.activeLink,switchCallback:e.switchCallback})},Rr=I.default.memo(function({links:e,activeLink:a,switchCallback:t,windowSize:r=1/0}){const n=I.default.useRef(null),[o,i]=(0,I.useState)([]),[s,l]=(0,I.useState)(0),[c,u]=(0,I.useState)([]),d=e.map(({name:e,enabled:t})=>{return{label:e,value:e,active:e===a,enabled:t}});return(0,I.useEffect)(()=>{n.current&&l(n.current.clientWidth)},[r,n.current?.clientWidth]),(0,I.useEffect)(()=>{var e;n.current&&(e=Array.from(n.current.children).map(e=>e.clientWidth),i(e))},[e]),(0,I.useEffect)(()=>{if(n.current)if(o.reduce((e,t)=>e+t,0)<=s)u([]);else{var e=Math.max(...o);const r=[];let a=e;o.forEach((e,t)=>{s>=a+e?a+=e:r.push(t)}),u(r)}},[s,o]),I.default.createElement("nav",{className:"marketplace-tabBar marketplace-tabBar-nav"},I.default.createElement("ul",{className:"marketplace-tabBar-header",ref:n},d.filter((e,t)=>!c.includes(t)).map(e=>I.default.createElement(Pr,{key:e.value,item:e,switchTo:t})),c.length||0===o.length?I.default.createElement(Mr,{items:c.map(e=>d[e]).filter(e=>e),switchTo:t}):null))}),L=t(b()),jr=t(b()),Dr=()=>jr.default.createElement("svg",{role:"img",width:"16",height:"16",viewBox:"0 0 448 512","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg"},jr.default.createElement("path",{d:"M53.21 467c1.562 24.84 23.02 45 47.9 45h245.8c24.88 0 46.33-20.16 47.9-45L416 128H32L53.21 467zM432 32H320l-11.58-23.16c-2.709-5.42-8.25-8.844-14.31-8.844H153.9c-6.061 0-11.6 3.424-14.31 8.844L128 32H16c-8.836 0-16 7.162-16 16V80c0 8.836 7.164 16 16 16h416c8.838 0 16-7.164 16-16V48C448 39.16 440.8 32 432 32z",fill:"currentColor"})),$r=t(b()),zr=()=>$r.default.createElement("svg",{role:"img",width:"16",height:"16",viewBox:"0 0 512 512","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg"},$r.default.createElement("path",{d:"M480 352h-133.5l-45.25 45.25C289.2 409.3 273.1 416 256 416s-33.16-6.656-45.25-18.75L165.5 352H32c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-96C512 366.3 497.7 352 480 352zM432 456c-13.2 0-24-10.8-24-24c0-13.2 10.8-24 24-24s24 10.8 24 24C456 445.2 445.2 456 432 456zM233.4 374.6C239.6 380.9 247.8 384 256 384s16.38-3.125 22.62-9.375l128-128c12.49-12.5 12.49-32.75 0-45.25c-12.5-12.5-32.76-12.5-45.25 0L288 274.8V32c0-17.67-14.33-32-32-32C238.3 0 224 14.33 224 32v242.8L150.6 201.4c-12.49-12.5-32.75-12.5-45.25 0c-12.49 12.5-12.49 32.75 0 45.25L233.4 374.6z",fill:"currentColor"})),Ur=t(b()),Br=()=>Ur.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24"},Ur.default.createElement("path",{d:"M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z",fill:"currentColor"})),Fr=t(b()),Vr=e=>{return Fr.default.createElement("div",{className:"marketplace-card__authors"},e.authors.map((e,t)=>Fr.default.createElement("a",{title:e.name,className:"marketplace-card__author",href:e.url,draggable:"false",dir:"auto",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),key:t},e.name)))},Hr=t(b()),qr=r=>{const[e,t]=Hr.default.useState(!1),n={[y("grid.externalJS")]:"external JS",[y("grid.archived")]:"archived",[y("grid.dark")]:"dark",[y("grid.light")]:"light"};var a=e=>{return e.filter((e,t,a)=>a.indexOf(e)===t).reduce((e,t)=>{var a=n[t]||t;return!r.showTags&&t!==y("grid.externalJS")&&t!==y("grid.archived")||e.push(Hr.default.createElement("li",{className:"marketplace-card__tag",draggable:!1,"data-tag":a},t)),e},[])};let o=r.tags.sort(e=>e===y("grid.externalJS")||e===y("grid.archived")?-1:1),i=[];return 1{e.stopPropagation(),t(!0)}},"..."):null)},O=window.Spicetify,Gr=class extends L.default.Component{tags;menuType;localStorageKey;key=null;type=Gr;constructor(e){super(e),this.menuType=O.ReactComponent.Menu,this.localStorageKey=Aa(e),Object.assign(this,e),this.tags=e.item.tags||[],e.item.include&&this.tags.push(y("grid.externalJS")),e.item.archived&&this.tags.push(y("grid.archived")),this.state={installed:null!==localStorage.getItem(this.localStorageKey),stars:this.props.item.stars||0,tagsExpanded:!1,externalUrl:this.props.item.user&&this.props.item.repo?`https://github.com/${this.props.item.user}/`+this.props.item.repo:"",lastUpdated:this.props.item.user&&this.props.item.repo?this.props.item.lastUpdated:void 0,created:this.props.item.user&&this.props.item.repo?this.props.item.created:void 0}}isInstalled(){return null!==localStorage.getItem(this.localStorageKey)}async componentDidMount(){if("Installed"===this.props.CONFIG.activeTab&&"snippet"!==this.props.type){var e=`https://api.github.com/repos/${this.props.item.user}/`+this.props.item.repo,{stargazers_count:e,pushed_at:t}=await fetch(e).then(e=>e.json());if(this.state.stars!==e&&this.props.CONFIG.visual.stars&&console.debug("Stars updated to: "+e),this.state.lastUpdated!==t)switch(console.debug("New update pushed at: "+t),this.props.type){case"extension":this.installExtension();break;case"theme":this.installTheme(!0)}}}buttonClicked(){if("extension"===this.props.type)this.isInstalled()?(console.debug("Extension already installed, removing"),this.removeExtension()):this.installExtension(),N("RELOAD");else if("theme"===this.props.type){var e=localStorage.getItem(w.themeInstalled),e=e?C(e,{}):{};if(this.isInstalled())console.debug("Theme already installed, removing"),this.removeTheme(this.localStorageKey);else{var t=localStorage.getItem(w.localTheme);if(null!=t&&"marketplace"!==t.toLowerCase())return void O.showNotification(y("notifications.wrongLocalTheme"),!0,5e3);this.removeTheme(),this.installTheme()}(this.props.item.manifest?.include||e.include)&&N("RELOAD")}else"app"===this.props.type?window.open(this.state.externalUrl,"_blank"):"snippet"===this.props.type?this.isInstalled()?(console.debug("Snippet already installed, removing"),this.removeSnippet()):this.installSnippet():console.error("Unknown card type")}installExtension(){var e,t,a,r,n,o,i,s,l,c,u,d;console.debug("Installing extension "+this.localStorageKey),this.props.item?({manifest:d,title:e,subtitle:t,authors:a,user:r,repo:n,branch:o,imageURL:i,extensionURL:s,readmeURL:l,lastUpdated:c,created:u}=this.props.item,localStorage.setItem(this.localStorageKey,JSON.stringify({manifest:d,type:this.props.type,title:e,subtitle:t,authors:a,user:r,repo:n,branch:o,imageURL:i,extensionURL:s,readmeURL:l,stars:this.state.stars,lastUpdated:c,created:u})),-1===(d=C(w.installedExtensions,[])).indexOf(this.localStorageKey)&&(d.push(this.localStorageKey),localStorage.setItem(w.installedExtensions,JSON.stringify(d))),console.debug("Installed"),this.setState({installed:!0})):O.showNotification(y("notifications.extensionInstallationError"),!0)}removeExtension(){var e;localStorage.getItem(this.localStorageKey)&&(console.debug("Removing extension "+this.localStorageKey),localStorage.removeItem(this.localStorageKey),e=C(w.installedExtensions,[]).filter(e=>e!==this.localStorageKey),localStorage.setItem(w.installedExtensions,JSON.stringify(e)),console.debug("Removed"),this.setState({installed:!1}))}async installTheme(a=!1){var r=this.props["item"];if(r){console.debug("Installing theme "+this.localStorageKey);let e={},t=null;a?({schemes:a,activeScheme:n}=C(this.localStorageKey,{}),e=a,t=n):r.schemesURL&&(a=await(await fetch(r.schemesURL)).text(),e=Sa(a));var n=t||Object.keys(e)[0]||null,{manifest:a,title:o,subtitle:i,authors:s,user:l,repo:c,branch:u,imageURL:d,extensionURL:p,readmeURL:h,cssURL:m,schemesURL:f,include:g,lastUpdated:v,created:b}=(console.debug(e,n),r),a=(localStorage.setItem(this.localStorageKey,JSON.stringify({manifest:a,type:this.props.type,title:o,subtitle:i,authors:s,user:l,repo:c,branch:u,imageURL:d,extensionURL:p,readmeURL:h,stars:this.state.stars,tags:this.tags,cssURL:m,schemesURL:f,include:g,schemes:e,activeScheme:n,lastUpdated:v,created:b})),C(w.installedThemes,[]));-1===a.indexOf(this.localStorageKey)&&(a.push(this.localStorageKey),localStorage.setItem(w.installedThemes,JSON.stringify(a)),localStorage.setItem(w.themeInstalled,this.localStorageKey)),console.debug("Installed"),r.include||(this.fetchAndInjectUserCSS(this.localStorageKey),this.props.updateActiveTheme(this.localStorageKey),this.props.updateColourSchemes(e,n),(o=this.props.item.manifest?.name)&&(O.Config.current_theme=o),n&&(O.Config.color_scheme=n)),this.setState({installed:!0})}else O.showNotification(y("notifications.themeInstallationError"),!0)}removeTheme(t){var e=(t=t||localStorage.getItem(w.themeInstalled))&&localStorage.getItem(t);t&&e&&(console.debug("Removing theme "+t),localStorage.removeItem(t),localStorage.removeItem(w.themeInstalled),e=C(w.installedThemes,[]).filter(e=>e!==t),localStorage.setItem(w.installedThemes,JSON.stringify(e)),console.debug("Removed"),this.fetchAndInjectUserCSS(null),this.props.updateActiveTheme(null),this.props.updateColourSchemes(null,null),O.Config.current_theme="marketplace",O.Config.color_scheme="marketplace",this.setState({installed:!1}))}installSnippet(){console.debug("Installing snippet "+this.localStorageKey),localStorage.setItem(this.localStorageKey,JSON.stringify({code:this.props.item.code,title:this.props.item.title,description:this.props.item.description,imageURL:this.props.item.imageURL}));var e=C(w.installedSnippets,[]),e=(-1===e.indexOf(this.localStorageKey)&&(e.push(this.localStorageKey),localStorage.setItem(w.installedSnippets,JSON.stringify(e))),e.map(e=>C(e)));ka(e),this.setState({installed:!0})}removeSnippet(){localStorage.removeItem(this.localStorageKey);var e=C(w.installedSnippets,[]).filter(e=>e!==this.localStorageKey),e=(localStorage.setItem(w.installedSnippets,JSON.stringify(e)),e.map(e=>C(e)));ka(e),this.setState({installed:!1})}async fetchAndInjectUserCSS(e){try{var t=window.sessionStorage.getItem("marketplace-request-tld")||void 0,a=e?await La(this.props.item,t):void 0;Ia(a)}catch(e){console.warn(e)}}openReadme(){this.props.item?.manifest?.readme?O.Platform.History.push({pathname:ga+"/readme",state:{data:{title:this.props.item.title,user:this.props.item.user,repo:this.props.item.repo,branch:this.props.item.branch,readmeURL:this.props.item.readmeURL,type:this.props.type,install:this.buttonClicked.bind(this),isInstalled:this.isInstalled.bind(this)}}}):O.showNotification(y("notifications.noReadmeFile"),!0)}render(){var e,t,a=this.isInstalled();return"Installed"!==this.props.CONFIG.activeTab||a?(e=["main-card-card","marketplace-card--"+this.props.type],a&&e.push("marketplace-card--installed"),t=[],"snippet"!==this.props.type&&this.props.visual.stars&&t.push("★ "+this.state.stars),L.default.createElement("div",{className:e.join(" "),onClick:()=>{if("snippet"===this.props.type){var e=this.props.item.title.replace(/\n/g,"");if(C("marketplace:installed:snippet:"+e)?.custom)return N("EDIT_SNIPPET",void 0,void 0,this.props);N("VIEW_SNIPPET",void 0,void 0,this.props,this.buttonClicked.bind(this))}else this.openReadme()}},L.default.createElement("div",{className:"main-card-draggable",draggable:"true"},L.default.createElement("div",{className:"main-card-imageContainer"},L.default.createElement("div",{className:"main-cardImage-imageWrapper"},L.default.createElement("div",null,L.default.createElement("img",{alt:"","aria-hidden":"false",draggable:"false",loading:"lazy",src:this.props.item.imageURL,className:"main-image-image main-cardImage-image",onError:e=>{e.currentTarget.setAttribute("src","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII"),e.currentTarget.closest(".main-cardImage-imageWrapper")?.classList.add("main-cardImage-imageWrapper--error")}})))),L.default.createElement("div",{className:"main-card-cardMetadata"},L.default.createElement("a",{draggable:"false",title:"snippet"===this.props.type?this.props.item.title:this.props.item.manifest?.name,className:"main-cardHeader-link",dir:"auto",href:"snippet"!==this.props.type?this.state.externalUrl:"https://github.com/spicetify/spicetify-marketplace/blob/main/src/resources/snippets.ts",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation()},L.default.createElement("div",{className:"main-cardHeader-text main-type-balladBold"},this.props.item.title)),L.default.createElement("div",{className:"main-cardSubHeader-root main-type-mestoBold marketplace-cardSubHeader"},this.props.item.authors&&L.default.createElement(Vr,{authors:this.props.item.authors}),L.default.createElement("span",null,t.join(" ‒ "))),L.default.createElement("p",{className:"marketplace-card-desc"},"snippet"===this.props.type?this.props.item.description:this.props.item.manifest?.description),this.props.item.lastUpdated&&L.default.createElement("p",{className:"marketplace-card-desc"},y("grid.lastUpdated",{val:new Date(this.props.item.lastUpdated),formatParams:{val:{year:"numeric",month:"long",day:"numeric"}}})),this.tags.length?L.default.createElement("div",{className:"marketplace-card__bottom-meta main-type-mestoBold"},L.default.createElement(qr,{tags:this.tags,showTags:this.props.CONFIG.visual.tags})):null,a&&L.default.createElement("div",{className:"marketplace-card__bottom-meta main-type-mestoBold"},"✓ ",y("grid.installed")),L.default.createElement(O.ReactComponent.TooltipWrapper,{label:"app"===this.props.type?y("github"):y(a?"remove":"install"),renderInline:!0},L.default.createElement("div",{className:"main-card-PlayButtonContainer"},L.default.createElement(g,{classes:["marketplace-installButton"],type:"circle",label:"app"===this.props.type?y("github"):y(a?"remove":"install"),onClick:e=>{e.stopPropagation(),this.buttonClicked()}},"app"===this.props.type?L.default.createElement(Br,null):a?L.default.createElement(Dr,null):L.default.createElement(zr,null)))))))):(console.debug("Card item not installed"),null)}},Kr=qt()(Gr),Jr=window.Spicetify,a=class extends s.default.Component{constructor(e){super(e),Object.assign(this,e),this.updateAppConfig=e.updateAppConfig.bind(this),this.sortConfig={by:C(w.sort,"top")},this.state={version:ma,newUpdate:!1,searchValue:"",cards:[],tabs:e.CONFIG.tabs,rest:!0,endOfList:!1,schemes:e.CONFIG.theme.schemes,activeScheme:e.CONFIG.theme.activeScheme,activeThemeKey:e.CONFIG.theme.activeThemeKey}}searchRequested;endOfList=!1;lastScroll=0;requestQueue=[];requestPage=0;cardList=[];sortConfig;gridUpdateTabs;gridUpdatePostsVisual;checkScroll;CONFIG;updateAppConfig;BLACKLIST;SNIPPETS;getInstalledTheme(){var e=localStorage.getItem(w.themeInstalled);return(e=e&&localStorage.getItem(e))?JSON.parse(e):null}newRequest(e){this.cardList=[];var t=[];this.requestQueue.unshift(t),this.loadAmount(t,e)}appendCard(e,t,a){a===this.props.CONFIG.activeTab&&(a=s.default.createElement(Kr,{item:e,key:`${this.props.CONFIG.activeTab}:${e.user}:`+e.title,CONFIG:this.CONFIG,visual:this.props.CONFIG.visual,type:t,activeThemeKey:this.state.activeThemeKey,updateColourSchemes:this.updateColourSchemes.bind(this),updateActiveTheme:this.setActiveTheme.bind(this)}),this.cardList.push(a))}updateSort(e){e&&(this.sortConfig.by=e,localStorage.setItem(w.sort,e)),this.requestPage=0,this.cardList=[],this.setState({cards:[],rest:!1,endOfList:!1}),this.endOfList=!1,this.newRequest(E)}updateTabs(){this.setState({tabs:[...this.props.CONFIG.tabs]})}updatePostsVisual(){this.cardList=this.cardList.map((e,t)=>s.default.createElement(Kr,{...e.props,key:t.toString(),CONFIG:this.CONFIG})),this.setState({cards:[...this.cardList]})}switchTo(e){this.CONFIG.activeTab=e.value,localStorage.setItem(w.activeTab,e.value),this.cardList=[],this.requestPage=0,this.setState({cards:[],rest:!1,endOfList:!1}),this.endOfList=!1,this.newRequest(E)}async loadPage(t){const a=this.CONFIG.activeTab;switch(a){case"Extensions":var e=await gr("spicetify-extensions",this.requestPage,this.BLACKLIST,this.CONFIG.visual.showArchived),r=[];for(const h of e.items){var n=await yr(h.contents_url,h.default_branch,h.stargazers_count,this.CONFIG.visual.hideInstalled);if(1({...e,archived:h.archived,lastUpdated:h.pushed_at,created:h.created_at})))}ja(r,localStorage.getItem("marketplace:sort")||"stars");for(const m of r)this.appendCard(m,"extension",a);this.setState({cards:this.cardList});var o=-1{e=C(e);if(1({...e,archived:b.archived,lastUpdated:b.pushed_at,created:b.created_at})))}this.setState({cards:this.cardList}),ja(c,localStorage.getItem("marketplace:sort")||"stars");for(const y of c)this.appendCard(y,"theme",a);e=-1({...e,archived:S.archived,lastUpdated:S.pushed_at,created:S.created_at})))}this.setState({cards:this.cardList}),ja(d,localStorage.getItem("marketplace:sort")||"stars");for(const k of d)this.appendCard(k,"app",a);i=-1this.appendCard(e,"snippet",a)),this.setState({cards:this.cardList}))}return this.setState({rest:!0,endOfList:!0}),this.endOfList=!0,0}async loadAmount(t,e=E){for(this.setState({rest:!1}),e+=this.cardList.length,this.requestPage=await this.loadPage(t);this.requestPage&&-1!==this.requestPage&&this.cardList.lengthe!==t):(this.requestQueue.shift(),this.setState({rest:!0}))}loadMore(){this.state.rest&&!this.endOfList&&this.loadAmount(this.requestQueue[0],E)}updateColourSchemes(e,t){console.debug("updateColourSchemes",e,t),this.CONFIG.theme.schemes=e,(this.CONFIG.theme.activeScheme=t)&&(Jr.Config.color_scheme=t),e&&t&&e[t]?xa(this.CONFIG.theme.schemes[t]):xa(null);var a=C(w.themeInstalled),r=C(a);r?(r.activeScheme=t,console.debug(r),localStorage.setItem(a,JSON.stringify(r))):console.debug("No installed theme data"),this.setState({schemes:e,activeScheme:t})}async componentDidMount(){fetch(ba).then(e=>e.json()).then(e=>{if(e.message)throw e;this.setState({version:e.name});try{this.setState({newUpdate:ya.default.gt(e.name,ma)})}catch(e){console.error(e)}},e=>{console.error("Failed to check for updates",e)}),this.gridUpdateTabs=this.updateTabs.bind(this),this.gridUpdatePostsVisual=this.updatePostsVisual.bind(this);var e=document.querySelector(".os-viewport")??document.querySelector("#main .main-view-container__scroll-node");this.checkScroll=this.isScrolledBottom.bind(this),e&&(e.addEventListener("scroll",this.checkScroll),this.cardList.length)?0=e.scrollHeight&&this.loadMore()}setActiveTheme(e){this.CONFIG.theme.activeThemeKey=e,this.setState({activeThemeKey:e})}getActiveScheme(){return this.state.activeScheme}render(){const a=this.props["t"];return s.default.createElement("section",{className:"contentSpacing"},s.default.createElement("div",{className:"marketplace-header"},s.default.createElement("div",{className:"marketplace-header__left"},this.state.newUpdate?s.default.createElement("button",{type:"button",title:a("grid.newUpdate"),className:"marketplace-header-icon-button",id:"marketplace-update",onClick:()=>N("UPDATE")},s.default.createElement(zr,null)," ",this.state.version):null,s.default.createElement("h2",{className:"marketplace-header__label"},a("grid.sort.label")),s.default.createElement(er,{onChange:e=>this.updateSort(e),sortBoxOptions:Ca(a),sortBySelectedFn:e=>e.key===this.CONFIG.sort})),s.default.createElement("div",{className:"marketplace-header__right"},this.CONFIG.visual.themeDevTools?s.default.createElement(Jr.ReactComponent.TooltipWrapper,{label:a("devTools.title"),renderInline:!0,placement:"bottom"},s.default.createElement("button",{type:"button","aria-label":a("devTools.title"),className:"marketplace-header-icon-button",onClick:()=>N("THEME_DEV_TOOLS")},s.default.createElement(Tr,null))):null,this.state.activeScheme?s.default.createElement(er,{onChange:e=>this.updateColourSchemes(this.state.schemes,e),sortBoxOptions:Ea(this.state.schemes),sortBySelectedFn:e=>e.key===this.getActiveScheme()}):null,s.default.createElement("div",{className:"searchbar--bar__wrapper"},s.default.createElement("input",{className:"searchbar-bar",type:"text",placeholder:`${a("grid.search")} ${a("tabs."+this.CONFIG.activeTab)}...`,value:this.state.searchValue,onChange:e=>{this.setState({searchValue:e.target.value})}})),s.default.createElement(Jr.ReactComponent.TooltipWrapper,{label:a("settings.title"),renderInline:!0,placement:"bottom"},s.default.createElement("button",{type:"button","aria-label":a("settings.title"),className:"marketplace-header-icon-button",id:"marketplace-settings-button",onClick:()=>N("SETTINGS",this.CONFIG,this.updateAppConfig)},s.default.createElement(Lr,null))))),[{handle:"extension",name:"Extensions"},{handle:"theme",name:"Themes"},{handle:"snippet",name:"Snippets"},{handle:"app",name:"Apps"}].map(t=>{var e=this.cardList.filter(e=>e.props.type===t.handle).filter(e=>{const t=this.state.searchValue.trim().toLowerCase();var{title:e,user:a,authors:r,tags:n}=e.props.item;return!t||e.toLowerCase().includes(t)||a?.toLowerCase().includes(t)||r?.some(e=>e.name.toLowerCase().includes(t))||n?.some(e=>e.toLowerCase().includes(t))}).map(e=>s.default.cloneElement(e,{activeThemeKey:this.state.activeThemeKey,key:e.key})).filter((t,e,a)=>a.findIndex(e=>e.key===t.key)===e);return e.length?s.default.createElement(s.default.Fragment,null,s.default.createElement("h2",{className:"marketplace-card-type-heading"},a("tabs."+t.name)),s.default.createElement("div",{className:"marketplace-grid main-gridContainer-gridContainer main-gridContainer-fixedWidth","data-tab":this.CONFIG.activeTab,"data-card-type":a("tabs."+t.name)},e)):null}),"Snippets"===this.CONFIG.activeTab?s.default.createElement(g,{classes:["marketplace-add-snippet-btn"],onClick:()=>N("ADD_SNIPPET")},"+ ",a("grid.addCSS")):null,s.default.createElement("footer",{className:"marketplace-footer"},!this.state.endOfList&&(this.state.rest&&0${this.props.t("readmePage.loading")}

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

Loading...

"===this.state.html?T.default.createElement("footer",{className:"marketplace-footer"},T.default.createElement(xr,null)):T.default.createElement("div",{id:"marketplace-readme",className:"marketplace-readme__container",dangerouslySetInnerHTML:{__html:this.state.html}}))}},Zr=qt()(Me),_e=(r.use(z).use(Wt).init({resources:ha,detection:{order:["navigator","htmlTag"]},fallbackLng:"en",interpolation:{escapeValue:!1}}),class extends ze.default.Component{state={count:0,CONFIG:{}};CONFIG;constructor(e){super(e);e=C(w.tabs,null);let t=[];try{if(t=JSON.parse(e),!Array.isArray(t))throw new Error("Could not parse marketplace tabs key");if(0===t.length)throw new Error("Empty marketplace tabs key");if(0!e).length)throw new Error("Falsey marketplace tabs key")}catch{t=fa,localStorage.setItem(w.tabs,JSON.stringify(t))}let a={},r=null;try{var n=C(w.themeInstalled,null);if(n){var o=C(n,null);if(!o)throw new Error("No installed theme data");a=o.schemes,r=o.activeScheme}else console.debug("No theme set as installed")}catch(e){console.error(e)}this.CONFIG={visual:{stars:JSON.parse(C("marketplace:stars",!0)),tags:JSON.parse(C("marketplace:tags",!0)),showArchived:JSON.parse(C("marketplace:showArchived",!1)),hideInstalled:JSON.parse(C("marketplace:hideInstalled",!1)),colorShift:JSON.parse(C("marketplace:colorShift",!1)),themeDevTools:JSON.parse(C("marketplace:themeDevTools",!1)),albumArtBasedColors:JSON.parse(C("marketplace:albumArtBasedColors",!1)),albumArtBasedColorsMode:C("marketplace:albumArtBasedColorsMode")||"monochrome-light",albumArtBasedColorsVibrancy:C("marketplace:albumArtBasedColorsVibrancy")||"PROMINENT",type:JSON.parse(C("marketplace:type",!1)),followers:JSON.parse(C("marketplace:followers",!1))},tabs:t,activeTab:C(w.activeTab,t[0]),theme:{activeThemeKey:C(w.themeInstalled,null),schemes:a,activeScheme:r},sort:C(w.sort,"stars")},this.CONFIG.activeTab&&this.CONFIG.tabs.filter(e=>e.name===this.CONFIG.activeTab).length||(this.CONFIG.activeTab=this.CONFIG.tabs[0].name)}updateConfig=e=>{this.CONFIG={...e},console.debug("updated config",this.CONFIG),this.setState({CONFIG:{...e}})};render(){var{location:e,replace:t}=Spicetify.Platform.History;return e.pathname===ga+"/readme"?e.state?.data?ze.default.createElement(Zr,{title:y("readmePage.title"),data:e.state.data}):(t(ga),null):ze.default.createElement(Wr,{title:y("grid.spicetifyMarketplace"),CONFIG:this.CONFIG,updateAppConfig:this.updateConfig})}}),Xr=qt()(_e),Yr=t(b());return Pe=je,$(M({},"__esModule",{value:!0}),Pe)})();const render=()=>marketplace.default();