dots/config/spicetify/CustomApps/marketplace/index.js
2023-02-13 01:53:52 -03:00

11 lines
No EOL
126 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var marketplace=(()=>{var j,D=Object.create,s=Object.defineProperty,M=Object.defineProperties,F=Object.getOwnPropertyDescriptor,U=Object.getOwnPropertyDescriptors,G=Object.getOwnPropertyNames,q=Object.getOwnPropertySymbols,B=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,H=(e,t,r)=>t in e?s(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,i=(e,t)=>{for(var r in t=t||{})K.call(t,r)&&H(e,r,t[r]);if(q)for(var r of q(t))V.call(t,r)&&H(e,r,t[r]);return e},z=(e,t)=>M(e,U(t)),y=(e=>"undefined"!=typeof require?require:"undefined"!=typeof Proxy?new Proxy(e,{get:(e,t)=>("undefined"!=typeof require?require:e)[t]}):e)(function(e){if("react"===e)return Spicetify.React;if("react-dom"===e)return Spicetify.ReactDOM;if("undefined"!=typeof require)return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')}),e=(e,t)=>function(){return t||(0,e[G(e)[0]])((t={exports:{}}).exports,t),t.exports},W=(t,r,a,n)=>{if(r&&"object"==typeof r||"function"==typeof r)for(let e of G(r))K.call(t,e)||e===a||s(t,e,{get:()=>r[e],enumerable:!(n=F(r,e))||n.enumerable});return t},t=(e,t,r)=>(r=null!=e?D(B(e)):{},W(!t&&e&&e.__esModule?r:s(r,"default",{value:e,enumerable:!0}),e)),p=e({"../../node_modules/semver/internal/constants.js"(e,t){var r=Number.MAX_SAFE_INTEGER||9007199254740991;t.exports={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:r,MAX_SAFE_COMPONENT_LENGTH:16}}}),J=e({"../../node_modules/semver/internal/debug.js"(e,t){var r="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};t.exports=r}}),x=e({"../../node_modules/semver/internal/re.js"(e,t){var r=p()["MAX_SAFE_COMPONENT_LENGTH"],n=J(),s=(e=t.exports={}).re=[],o=e.src=[],i=e.t={},l=0,t=(e,t,r)=>{var a=l++;n(e,a,t),i[e]=a,o[a]=t,s[a]=new RegExp(t,r?"g":void 0)};t("NUMERICIDENTIFIER","0|[1-9]\\d*"),t("NUMERICIDENTIFIERLOOSE","[0-9]+"),t("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),t("MAINVERSION",`(${o[i.NUMERICIDENTIFIER]})\\.(${o[i.NUMERICIDENTIFIER]})\\.(${o[i.NUMERICIDENTIFIER]})`),t("MAINVERSIONLOOSE",`(${o[i.NUMERICIDENTIFIERLOOSE]})\\.(${o[i.NUMERICIDENTIFIERLOOSE]})\\.(${o[i.NUMERICIDENTIFIERLOOSE]})`),t("PRERELEASEIDENTIFIER",`(?:${o[i.NUMERICIDENTIFIER]}|${o[i.NONNUMERICIDENTIFIER]})`),t("PRERELEASEIDENTIFIERLOOSE",`(?:${o[i.NUMERICIDENTIFIERLOOSE]}|${o[i.NONNUMERICIDENTIFIER]})`),t("PRERELEASE",`(?:-(${o[i.PRERELEASEIDENTIFIER]}(?:\\.${o[i.PRERELEASEIDENTIFIER]})*))`),t("PRERELEASELOOSE",`(?:-?(${o[i.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${o[i.PRERELEASEIDENTIFIERLOOSE]})*))`),t("BUILDIDENTIFIER","[0-9A-Za-z-]+"),t("BUILD",`(?:\\+(${o[i.BUILDIDENTIFIER]}(?:\\.${o[i.BUILDIDENTIFIER]})*))`),t("FULLPLAIN",`v?${o[i.MAINVERSION]}${o[i.PRERELEASE]}?${o[i.BUILD]}?`),t("FULL",`^${o[i.FULLPLAIN]}$`),t("LOOSEPLAIN",`[v=\\s]*${o[i.MAINVERSIONLOOSE]}${o[i.PRERELEASELOOSE]}?${o[i.BUILD]}?`),t("LOOSE",`^${o[i.LOOSEPLAIN]}$`),t("GTLT","((?:<|>)?=?)"),t("XRANGEIDENTIFIERLOOSE",o[i.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*"),t("XRANGEIDENTIFIER",o[i.NUMERICIDENTIFIER]+"|x|X|\\*"),t("XRANGEPLAIN",`[v=\\s]*(${o[i.XRANGEIDENTIFIER]})(?:\\.(${o[i.XRANGEIDENTIFIER]})(?:\\.(${o[i.XRANGEIDENTIFIER]})(?:${o[i.PRERELEASE]})?${o[i.BUILD]}?)?)?`),t("XRANGEPLAINLOOSE",`[v=\\s]*(${o[i.XRANGEIDENTIFIERLOOSE]})(?:\\.(${o[i.XRANGEIDENTIFIERLOOSE]})(?:\\.(${o[i.XRANGEIDENTIFIERLOOSE]})(?:${o[i.PRERELEASELOOSE]})?${o[i.BUILD]}?)?)?`),t("XRANGE",`^${o[i.GTLT]}\\s*${o[i.XRANGEPLAIN]}$`),t("XRANGELOOSE",`^${o[i.GTLT]}\\s*${o[i.XRANGEPLAINLOOSE]}$`),t("COERCE",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?(?:$|[^\\d])`),t("COERCERTL",o[i.COERCE],!0),t("LONETILDE","(?:~>?)"),t("TILDETRIM",`(\\s*)${o[i.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",t("TILDE",`^${o[i.LONETILDE]}${o[i.XRANGEPLAIN]}$`),t("TILDELOOSE",`^${o[i.LONETILDE]}${o[i.XRANGEPLAINLOOSE]}$`),t("LONECARET","(?:\\^)"),t("CARETTRIM",`(\\s*)${o[i.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",t("CARET",`^${o[i.LONECARET]}${o[i.XRANGEPLAIN]}$`),t("CARETLOOSE",`^${o[i.LONECARET]}${o[i.XRANGEPLAINLOOSE]}$`),t("COMPARATORLOOSE",`^${o[i.GTLT]}\\s*(${o[i.LOOSEPLAIN]})$|^$`),t("COMPARATOR",`^${o[i.GTLT]}\\s*(${o[i.FULLPLAIN]})$|^$`),t("COMPARATORTRIM",`(\\s*)${o[i.GTLT]}\\s*(${o[i.LOOSEPLAIN]}|${o[i.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",t("HYPHENRANGE",`^\\s*(${o[i.XRANGEPLAIN]})\\s+-\\s+(${o[i.XRANGEPLAIN]})\\s*$`),t("HYPHENRANGELOOSE",`^\\s*(${o[i.XRANGEPLAINLOOSE]})\\s+-\\s+(${o[i.XRANGEPLAINLOOSE]})\\s*$`),t("STAR","(<|>)?=?\\s*\\*"),t("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),t("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),X=e({"../../node_modules/semver/internal/parse-options.js"(e,t){var r=["includePrerelease","loose","rtl"];t.exports=t=>t?"object"!=typeof t?{loose:!0}:r.filter(e=>t[e]).reduce((e,t)=>(e[t]=!0,e),{}):{}}}),Y=e({"../../node_modules/semver/internal/identifiers.js"(e,t){var n=/^[0-9]+$/,r=(e,t)=>{var r=n.test(e),a=n.test(t);return r&&a&&(e=+e,t=+t),e===t?0:r&&!a||(!a||r)&&e<t?-1:1};t.exports={compareIdentifiers:r,rcompareIdentifiers:(e,t)=>r(t,e)}}}),_=e({"../../node_modules/semver/classes/semver.js"(e,t){var n=J(),{MAX_LENGTH:a,MAX_SAFE_INTEGER:s}=p(),{re:o,t:i}=x(),l=X(),c=Y()["compareIdentifiers"],u=class{constructor(e,t){if(t=l(t),e instanceof u){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>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;const r=e.trim().match(t.loose?o[i.LOOSE]:o[i.FULL]);if(!r)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>s||this.major<0)throw new TypeError("Invalid major version");if(this.minor>s||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>s||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){var t=+e;if(0<=t&&t<s)return t}return e}):this.prerelease=[],this.build=r[5]?r[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.`+this.patch,this.prerelease.length&&(this.version+="-"+this.prerelease.join(".")),this.version}toString(){return this.version}compare(e){if(n("SemVer.compare",this.version,this.options,e),!(e instanceof u)){if("string"==typeof e&&e===this.version)return 0;e=new u(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof u||(e=new u(e,this.options)),c(this.major,e.major)||c(this.minor,e.minor)||c(this.patch,e.patch)}comparePre(e){if(e instanceof u||(e=new u(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{var r=this.prerelease[t],a=e.prerelease[t];if(n("prerelease compare",t,r,a),void 0===r&&void 0===a)return 0;if(void 0===a)return 1;if(void 0===r)return-1;if(r!==a)return c(r,a)}while(++t)}compareBuild(e){e instanceof u||(e=new u(e,this.options));let t=0;do{var r=this.build[t],a=e.build[t];if(n("prerelease compare",t,r,a),void 0===r&&void 0===a)return 0;if(void 0===a)return 1;if(void 0===r)return-1;if(r!==a)return c(r,a)}while(++t)}inc(e,t){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t),this.inc("pre",t);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t),this.inc("pre",t);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":if(0===this.prerelease.length)this.prerelease=[0];else{let e=this.prerelease.length;for(;0<=--e;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(0!==c(this.prerelease[0],t)||isNaN(this.prerelease[1]))&&(this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this}};t.exports=u}}),a=e({"../../node_modules/semver/functions/parse.js"(e,t){var a=p()["MAX_LENGTH"],{re:n,t:s}=x(),o=_(),i=X();t.exports=(e,t)=>{if(t=i(t),e instanceof o)return e;if("string"!=typeof e)return null;if(e.length>a)return null;const r=t.loose?n[s.LOOSE]:n[s.FULL];if(!r.test(e))return null;try{return new o(e,t)}catch(e){return null}}}}),Q=e({"../../node_modules/semver/functions/valid.js"(e,t){var r=a();t.exports=(e,t)=>{e=r(e,t);return e?e.version:null}}}),Z=e({"../../node_modules/semver/functions/clean.js"(e,t){var r=a();t.exports=(e,t)=>{e=r(e.trim().replace(/^[=v]+/,""),t);return e?e.version:null}}}),ee=e({"../../node_modules/semver/functions/inc.js"(e,t){var n=_();t.exports=(e,t,r,a)=>{"string"==typeof r&&(a=r,r=void 0);try{return new n(e instanceof n?e.version:e,r).inc(t,a).version}catch(e){return null}}}}),n=e({"../../node_modules/semver/functions/compare.js"(e,t){var a=_();t.exports=(e,t,r)=>new a(e,r).compare(new a(t,r))}}),te=e({"../../node_modules/semver/functions/eq.js"(e,t){var a=n();t.exports=(e,t,r)=>0===a(e,t,r)}}),re=e({"../../node_modules/semver/functions/diff.js"(e,t){var o=a(),i=te();t.exports=(e,t)=>{if(i(e,t))return null;var r=o(e),a=o(t),e=r.prerelease.length||a.prerelease.length,n=e?"pre":"",t=e?"prerelease":"";for(const s in r)if(("major"===s||"minor"===s||"patch"===s)&&r[s]!==a[s])return n+s;return t}}}),ae=e({"../../node_modules/semver/functions/major.js"(e,t){var r=_();t.exports=(e,t)=>new r(e,t).major}}),ne=e({"../../node_modules/semver/functions/minor.js"(e,t){var r=_();t.exports=(e,t)=>new r(e,t).minor}}),se=e({"../../node_modules/semver/functions/patch.js"(e,t){var r=_();t.exports=(e,t)=>new r(e,t).patch}}),oe=e({"../../node_modules/semver/functions/prerelease.js"(e,t){var r=a();t.exports=(e,t)=>{e=r(e,t);return e&&e.prerelease.length?e.prerelease:null}}}),ie=e({"../../node_modules/semver/functions/rcompare.js"(e,t){var a=n();t.exports=(e,t,r)=>a(t,e,r)}}),le=e({"../../node_modules/semver/functions/compare-loose.js"(e,t){var r=n();t.exports=(e,t)=>r(e,t,!0)}}),ce=e({"../../node_modules/semver/functions/compare-build.js"(e,t){var n=_();t.exports=(e,t,r)=>{const a=new n(e,r);e=new n(t,r);return a.compare(e)||a.compareBuild(e)}}}),ue=e({"../../node_modules/semver/functions/sort.js"(e,t){var a=ce();t.exports=(e,r)=>e.sort((e,t)=>a(e,t,r))}}),pe=e({"../../node_modules/semver/functions/rsort.js"(e,t){var a=ce();t.exports=(e,r)=>e.sort((e,t)=>a(t,e,r))}}),u=e({"../../node_modules/semver/functions/gt.js"(e,t){var a=n();t.exports=(e,t,r)=>0<a(e,t,r)}}),he=e({"../../node_modules/semver/functions/lt.js"(e,t){var a=n();t.exports=(e,t,r)=>a(e,t,r)<0}}),de=e({"../../node_modules/semver/functions/neq.js"(e,t){var a=n();t.exports=(e,t,r)=>0!==a(e,t,r)}}),me=e({"../../node_modules/semver/functions/gte.js"(e,t){var a=n();t.exports=(e,t,r)=>0<=a(e,t,r)}}),fe=e({"../../node_modules/semver/functions/lte.js"(e,t){var a=n();t.exports=(e,t,r)=>a(e,t,r)<=0}}),ge=e({"../../node_modules/semver/functions/cmp.js"(e,t){var n=te(),s=de(),o=u(),i=me(),l=he(),c=fe();t.exports=(e,t,r,a)=>{switch(t){case"===":return(e="object"==typeof e?e.version:e)===(r="object"==typeof r?r.version:r);case"!==":return(e="object"==typeof e?e.version:e)!==(r="object"==typeof r?r.version:r);case"":case"=":case"==":return n(e,r,a);case"!=":return s(e,r,a);case">":return o(e,r,a);case">=":return i(e,r,a);case"<":return l(e,r,a);case"<=":return c(e,r,a);default:throw new TypeError("Invalid operator: "+t)}}}}),ve=e({"../../node_modules/semver/functions/coerce.js"(e,t){var n=_(),s=a(),{re:o,t:i}=x();t.exports=(e,t)=>{if(e instanceof n)return e;if("string"!=typeof(e="number"==typeof e?String(e):e))return null;let r=null;if((t=t||{}).rtl){for(var a;(a=o[i.COERCERTL].exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&a.index+a[0].length===r.index+r[0].length||(r=a),o[i.COERCERTL].lastIndex=a.index+a[1].length+a[2].length;o[i.COERCERTL].lastIndex=-1}else r=e.match(o[i.COERCE]);return null===r?null:s(`${r[2]}.${r[3]||"0"}.`+(r[4]||"0"),t)}}}),ye=e({"../../node_modules/yallist/iterator.js"(e,t){"use strict";t.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}}}),Ee=e({"../../node_modules/yallist/yallist.js"(e,t){"use strict";function s(e){var t=this;if((t=t instanceof s?t:new s).tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach(function(e){t.push(e)});else if(0<arguments.length)for(var r=0,a=arguments.length;r<a;r++)t.push(arguments[r]);return t}function o(e,t,r,a){if(!(this instanceof o))return new o(e,t,r,a);this.list=a,this.value=e,t?(t.next=this).prev=t:this.prev=null,r?(r.prev=this).next=r:this.next=null}(t.exports=s).Node=o,(s.create=s).prototype.removeNode=function(e){if(e.list!==this)throw new Error("removing node which does not belong to this list");var t=e.next,r=e.prev;return t&&(t.prev=r),r&&(r.next=t),e===this.head&&(this.head=t),e===this.tail&&(this.tail=r),e.list.length--,e.next=null,e.prev=null,e.list=null,t},s.prototype.unshiftNode=function(e){var t;e!==this.head&&(e.list&&e.list.removeNode(e),t=this.head,e.list=this,(e.next=t)&&(t.prev=e),this.head=e,this.tail||(this.tail=e),this.length++)},s.prototype.pushNode=function(e){var t;e!==this.tail&&(e.list&&e.list.removeNode(e),t=this.tail,e.list=this,(e.prev=t)&&(t.next=e),this.tail=e,this.head||(this.head=e),this.length++)},s.prototype.push=function(){for(var e=0,t=arguments.length;e<t;e++){a=r=void 0;var r=this,a=arguments[e];r.tail=new o(a,r.tail,null,r),r.head||(r.head=r.tail),r.length++}return this.length},s.prototype.unshift=function(){for(var e=0,t=arguments.length;e<t;e++){a=r=void 0;var r=this,a=arguments[e];r.head=new o(a,null,r.head,r),r.tail||(r.tail=r.head),r.length++}return this.length},s.prototype.pop=function(){var e;if(this.tail)return e=this.tail.value,this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,e},s.prototype.shift=function(){var e;if(this.head)return e=this.head.value,this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,e},s.prototype.forEach=function(e,t){t=t||this;for(var r=this.head,a=0;null!==r;a++)e.call(t,r.value,a,this),r=r.next},s.prototype.forEachReverse=function(e,t){t=t||this;for(var r=this.tail,a=this.length-1;null!==r;a--)e.call(t,r.value,a,this),r=r.prev},s.prototype.get=function(e){for(var t=0,r=this.head;null!==r&&t<e;t++)r=r.next;if(t===e&&null!==r)return r.value},s.prototype.getReverse=function(e){for(var t=0,r=this.tail;null!==r&&t<e;t++)r=r.prev;if(t===e&&null!==r)return r.value},s.prototype.map=function(e,t){t=t||this;for(var r=new s,a=this.head;null!==a;)r.push(e.call(t,a.value,this)),a=a.next;return r},s.prototype.mapReverse=function(e,t){t=t||this;for(var r=new s,a=this.tail;null!==a;)r.push(e.call(t,a.value,this)),a=a.prev;return r},s.prototype.reduce=function(e,t){var r,a=this.head;if(1<arguments.length)r=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");a=this.head.next,r=this.head.value}for(var n=0;null!==a;n++)r=e(r,a.value,n),a=a.next;return r},s.prototype.reduceReverse=function(e,t){var r,a=this.tail;if(1<arguments.length)r=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");a=this.tail.prev,r=this.tail.value}for(var n=this.length-1;null!==a;n--)r=e(r,a.value,n),a=a.prev;return r},s.prototype.toArray=function(){for(var e=new Array(this.length),t=0,r=this.head;null!==r;t++)e[t]=r.value,r=r.next;return e},s.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,r=this.tail;null!==r;t++)e[t]=r.value,r=r.prev;return e},s.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var r=new s;if(t<e||t<0)return r;e<0&&(e=0),t>this.length&&(t=this.length);for(var a=0,n=this.head;null!==n&&a<e;a++)n=n.next;for(;null!==n&&a<t;a++,n=n.next)r.push(n.value);return r},s.prototype.sliceReverse=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var r=new s;if(t<e||t<0)return r;e<0&&(e=0),t>this.length&&(t=this.length);for(var a=this.length,n=this.tail;null!==n&&t<a;a--)n=n.prev;for(;null!==n&&e<a;a--,n=n.prev)r.push(n.value);return r},s.prototype.splice=function(e,t,...r){(e=e>this.length?this.length-1:e)<0&&(e=this.length+e);for(var a=0,n=this.head;null!==n&&a<e;a++)n=n.next;for(var s=[],a=0;n&&a<t;a++)s.push(n.value),n=this.removeNode(n);(n=null===n?this.tail:n)!==this.head&&n!==this.tail&&(n=n.prev);for(a=0;a<r.length;a++)n=function(e,t,r){r=t===e.head?new o(r,null,t,e):new o(r,t,t.next,e);null===r.next&&(e.tail=r);null===r.prev&&(e.head=r);return e.length++,r}(this,n,r[a]);return s},s.prototype.reverse=function(){for(var e=this.head,t=this.tail,r=e;null!==r;r=r.prev){var a=r.prev;r.prev=r.next,r.next=a}return this.head=t,this.tail=e,this};try{ye()(s)}catch(e){}}}),be=e({"../../node_modules/lru-cache/index.js"(e,t){"use strict";var r=Ee(),o=Symbol("max"),i=Symbol("length"),l=Symbol("lengthCalculator"),s=Symbol("allowStale"),c=Symbol("maxAge"),u=Symbol("dispose"),p=Symbol("noDisposeOnSet"),h=Symbol("lruList"),d=Symbol("cache"),n=Symbol("updateAgeOnGet"),a=()=>1,m=(e,t,r)=>{const a=e[d].get(t);if(a){t=a.value;if(f(e,t)){if(v(e,a),!e[s])return}else r&&(e[n]&&(a.value.now=Date.now()),e[h].unshiftNode(a));return t.value}},f=(e,t)=>{if(!t||!t.maxAge&&!e[c])return!1;var r=Date.now()-t.now;return t.maxAge?r>t.maxAge:e[c]&&r>e[c]},g=t=>{if(t[i]>t[o])for(let e=t[h].tail;t[i]>t[o]&&null!==e;){var r=e.prev;v(t,e),e=r}},v=(e,t)=>{var r;t&&(r=t.value,e[u]&&e[u](r.key,r.value),e[i]-=r.length,e[d].delete(r.key),e[h].removeNode(t))},y=class{constructor(e,t,r,a,n){this.key=e,this.value=t,this.length=r,this.now=a,this.maxAge=n||0}},E=(e,t,r,a)=>{let n=r.value;f(e,n)&&(v(e,r),e[s]||(n=void 0)),n&&t.call(a,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[o]=e.max||1/0;var t=e.length||a;if(this[l]="function"!=typeof t?a:t,this[s]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw new TypeError("maxAge must be a number");this[c]=e.maxAge||0,this[u]=e.dispose,this[p]=e.noDisposeOnSet||!1,this[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[o]=e||1/0,g(this)}get max(){return this[o]}set allowStale(e){this[s]=!!e}get allowStale(){return this[s]}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?a:e)!==this[l]&&(this[l]=e,this[i]=0,this[h].forEach(e=>{e.length=this[l](e.value,e.key),this[i]+=e.length})),g(this)}get lengthCalculator(){return this[l]}get length(){return this[i]}get itemCount(){return this[h].length}rforEach(t,r){r=r||this;for(let e=this[h].tail;null!==e;){var a=e.prev;E(this,t,e,r),e=a}}forEach(t,r){r=r||this;for(let e=this[h].head;null!==e;){var a=e.next;E(this,t,e,r),e=a}}keys(){return this[h].toArray().map(e=>e.key)}values(){return this[h].toArray().map(e=>e.value)}reset(){this[u]&&this[h]&&this[h].length&&this[h].forEach(e=>this[u](e.key,e.value)),this[d]=new Map,this[h]=new r,this[i]=0}dump(){return this[h].map(e=>!f(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[h]}set(e,t,r){if((r=r||this[c])&&"number"!=typeof r)throw new TypeError("maxAge must be a number");var a=r?Date.now():0,n=this[l](t,e);if(this[d].has(e)){if(n>this[o])return v(this,this[d].get(e)),!1;const s=this[d].get(e).value;return this[u]&&!this[p]&&this[u](e,s.value),s.now=a,s.maxAge=r,s.value=t,this[i]+=n-s.length,s.length=n,this.get(e),g(this),!0}n=new y(e,t,n,a,r);return n.length>this[o]?(this[u]&&this[u](e,t),!1):(this[i]+=n.length,this[h].unshift(n),this[d].set(e,this[h].head),g(this),!0)}has(e){if(!this[d].has(e))return!1;e=this[d].get(e).value;return!f(this,e)}get(e){return m(this,e,!0)}peek(e){return m(this,e,!1)}pop(){var e=this[h].tail;return e?(v(this,e),e.value):null}del(e){v(this,this[d].get(e))}load(t){this.reset();var r=Date.now();for(let e=t.length-1;0<=e;e--){var a=t[e],n=a.e||0;0===n?this.set(a.k,a.v):0<(n=n-r)&&this.set(a.k,a.v,n)}}prune(){this[d].forEach((e,t)=>m(this,t,!1))}}}}),k=e({"../../node_modules/semver/classes/range.js"(e,t){var a=class{constructor(e,t){if(t=n(t),e instanceof a)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new a(e.raw,t);if(e instanceof l)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split("||").map(e=>this.parseRange(e.trim())).filter(e=>e.length),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);if(1<this.set.length){t=this.set[0];if(this.set=this.set.filter(e=>!f(e[0])),0===this.set.length)this.set=[t];else if(1<this.set.length)for(const r of this.set)if(1===r.length&&s(r[0])){this.set=[r];break}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();var t=`parseRange:${Object.keys(this.options).join(",")}:`+e,r=i.get(t);if(r)return r;var r=this.options.loose,a=r?h[d.HYPHENRANGELOOSE]:h[d.HYPHENRANGE];e=e.replace(a,N(this.options.includePrerelease)),p("hyphen replace",e),e=e.replace(h[d.COMPARATORTRIM],c),p("comparator trim",e);let n=(e=(e=(e=e.replace(h[d.TILDETRIM],u)).replace(h[d.CARETTRIM],m)).split(/\s+/).join(" ")).split(" ").map(e=>g(e,this.options)).join(" ").split(/\s+/).map(e=>C(e,this.options));r&&(n=n.filter(e=>(p("loose invalid filter",e,this.options),!!e.match(h[d.COMPARATORLOOSE])))),p("range list",n);const s=new Map;for(const o of n.map(e=>new l(e,this.options))){if(f(o))return[o];s.set(o.value,o)}1<s.size&&s.has("")&&s.delete("");a=[...s.values()];return i.set(t,a),a}intersects(e,r){if(e instanceof a)return this.set.some(t=>o(t,r)&&e.set.some(e=>o(e,r)&&t.every(t=>e.every(e=>t.intersects(e,r)))));throw new TypeError("a Range is required")}test(t){if(!t)return!1;if("string"==typeof t)try{t=new r(t,this.options)}catch(e){return!1}for(let e=0;e<this.set.length;e++)if(I(this.set[e],t,this.options))return!0;return!1}};t.exports=a;var i=new(be())({max:1e3}),n=X(),l=Se(),p=J(),r=_(),{re:h,t:d,comparatorTrimReplace:c,tildeTrimReplace:u,caretTrimReplace:m}=x(),f=e=>"<0.0.0-0"===e.value,s=e=>""===e.value,o=(e,t)=>{let r=!0;const a=e.slice();let n=a.pop();for(;r&&a.length;)r=a.every(e=>n.intersects(e,t)),n=a.pop();return r},g=(e,t)=>(p("comp",e,t),e=b(e,t),p("caret",e),e=y(e,t),p("tildes",e),e=w(e,t),p("xrange",e),e=O(e,t),p("stars",e),e),v=e=>!e||"x"===e.toLowerCase()||"*"===e,y=(e,t)=>e.trim().split(/\s+/).map(e=>E(e,t)).join(" "),E=(o,e)=>{e=e.loose?h[d.TILDELOOSE]:h[d.TILDE];return o.replace(e,(e,t,r,a,n)=>{p("tilde",o,e,t,r,a,n);let s;return s=v(t)?"":v(r)?`>=${t}.0.0 <${+t+1}.0.0-0`:v(a)?`>=${t}.${r}.0 <${t}.${+r+1}.0-0`:n?(p("replaceTilde pr",n),`>=${t}.${r}.${a}-${n} <${t}.${+r+1}.0-0`):`>=${t}.${r}.${a} <${t}.${+r+1}.0-0`,p("tilde return",s),s})},b=(e,t)=>e.trim().split(/\s+/).map(e=>S(e,t)).join(" "),S=(o,e)=>{p("caret",o,e);var t=e.loose?h[d.CARETLOOSE]:h[d.CARET];const i=e.includePrerelease?"-0":"";return o.replace(t,(e,t,r,a,n)=>{p("caret",o,e,t,r,a,n);let s;return s=v(t)?"":v(r)?`>=${t}.0.0${i} <${+t+1}.0.0-0`:v(a)?"0"===t?`>=${t}.${r}.0${i} <${t}.${+r+1}.0-0`:`>=${t}.${r}.0${i} <${+t+1}.0.0-0`:n?(p("replaceCaret pr",n),"0"===t?"0"===r?`>=${t}.${r}.${a}-${n} <${t}.${r}.${+a+1}-0`:`>=${t}.${r}.${a}-${n} <${t}.${+r+1}.0-0`:`>=${t}.${r}.${a}-${n} <${+t+1}.0.0-0`):(p("no pr"),"0"===t?"0"===r?`>=${t}.${r}.${a}${i} <${t}.${r}.${+a+1}-0`:`>=${t}.${r}.${a}${i} <${t}.${+r+1}.0-0`:`>=${t}.${r}.${a} <${+t+1}.0.0-0`),p("caret return",s),s})},w=(e,t)=>(p("replaceXRanges",e,t),e.split(/\s+/).map(e=>k(e,t)).join(" ")),k=(c,u)=>{c=c.trim();var e=u.loose?h[d.XRANGELOOSE]:h[d.XRANGE];return c.replace(e,(e,t,r,a,n,s)=>{p("xRange",c,e,t,r,a,n,s);var o=v(r),i=o||v(a),l=i||v(n);return"="===t&&l&&(t=""),s=u.includePrerelease?"-0":"",o?e=">"===t||"<"===t?"<0.0.0-0":"*":t&&l?(i&&(a=0),n=0,">"===t?(t=">=",n=i?(r=+r+1,a=0):(a=+a+1,0)):"<="===t&&(t="<",i?r=+r+1:a=+a+1),e=t+r+`.${a}.`+n+(s="<"===t?"-0":s)):i?e=`>=${r}.0.0${s} <${+r+1}.0.0-0`:l&&(e=`>=${r}.${a}.0${s} <${r}.${+a+1}.0-0`),p("xRange return",e),e})},O=(e,t)=>(p("replaceStars",e,t),e.trim().replace(h[d.STAR],"")),C=(e,t)=>(p("replaceGTE0",e,t),e.trim().replace(h[t.includePrerelease?d.GTE0PRE:d.GTE0],"")),N=d=>(e,t,r,a,n,s,o,i,l,c,u,p,h)=>((t=v(r)?"":v(a)?`>=${r}.0.0`+(d?"-0":""):v(n)?`>=${r}.${a}.0`+(d?"-0":""):s?">="+t:">="+t+(d?"-0":""))+" "+(i=v(l)?"":v(c)?`<${+l+1}.0.0-0`:v(u)?`<${l}.${+c+1}.0-0`:p?`<=${l}.${c}.${u}-`+p:d?`<${l}.${c}.${+u+1}-0`:"<="+i)).trim(),I=(t,r,e)=>{for(let e=0;e<t.length;e++)if(!t[e].test(r))return!1;if(!r.prerelease.length||e.includePrerelease)return!0;for(let e=0;e<t.length;e++)if(p(t[e].semver),t[e].semver!==l.ANY&&0<t[e].semver.prerelease.length){var a=t[e].semver;if(a.major===r.major&&a.minor===r.minor&&a.patch===r.patch)return!0}return!1}}}),Se=e({"../../node_modules/semver/classes/comparator.js"(e,t){var r=Symbol("SemVer ANY"),i=class{static get ANY(){return r}constructor(e,t){if(t=a(t),e instanceof i){if(e.loose===!!t.loose)return e;e=e.value}o("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===r?this.value="":this.value=this.operator+this.semver.version,o("comp",this)}parse(e){var t=this.options.loose?n[s.COMPARATORLOOSE]:n[s.COMPARATOR],t=e.match(t);if(!t)throw new TypeError("Invalid comparator: "+e);this.operator=void 0!==t[1]?t[1]:"","="===this.operator&&(this.operator=""),t[2]?this.semver=new c(t[2],this.options.loose):this.semver=r}toString(){return this.value}test(e){if(o("Comparator.test",e,this.options.loose),this.semver===r||e===r)return!0;if("string"==typeof e)try{e=new c(e,this.options)}catch(e){return!1}return l(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof i))throw new TypeError("a Comparator is required");if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return""===this.value||new u(e.value,t).test(this.value);if(""===e.operator)return""===e.value||new u(this.value,t).test(e.semver);var r=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),a=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),n=this.semver.version===e.semver.version,s=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),o=l(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),t=l(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return r||a||n&&s||o||t}},a=(t.exports=i,X()),{re:n,t:s}=x(),l=ge(),o=J(),c=_(),u=k()}}),we=e({"../../node_modules/semver/functions/satisfies.js"(e,t){var a=k();t.exports=(e,t,r)=>{try{t=new a(t,r)}catch(e){return!1}return t.test(e)}}}),ke=e({"../../node_modules/semver/ranges/to-comparators.js"(e,t){var r=k();t.exports=(e,t)=>new r(e,t).set.map(e=>e.map(e=>e.value).join(" ").trim().split(" "))}}),Oe=e({"../../node_modules/semver/ranges/max-satisfying.js"(e,t){var o=_(),i=k();t.exports=(e,t,r)=>{let a=null,n=null,s=null;try{s=new i(t,r)}catch(e){return null}return e.forEach(e=>{!s.test(e)||a&&-1!==n.compare(e)||(a=e,n=new o(a,r))}),a}}}),Ce=e({"../../node_modules/semver/ranges/min-satisfying.js"(e,t){var o=_(),i=k();t.exports=(e,t,r)=>{let a=null,n=null,s=null;try{s=new i(t,r)}catch(e){return null}return e.forEach(e=>{!s.test(e)||a&&1!==n.compare(e)||(a=e,n=new o(a,r))}),a}}}),Ne=e({"../../node_modules/semver/ranges/min-version.js"(e,t){var s=_(),r=k(),o=u();t.exports=(t,e)=>{t=new r(t,e);let a=new s("0.0.0");if(t.test(a))return a;if(a=new s("0.0.0-0"),t.test(a))return a;a=null;for(let e=0;e<t.set.length;++e){const n=t.set[e];let r=null;n.forEach(e=>{const t=new s(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":r&&!o(t,r)||(r=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}}),!r||a&&!o(a,r)||(a=r)}return a&&t.test(a)?a:null}}}),Ie=e({"../../node_modules/semver/ranges/valid.js"(e,t){var r=k();t.exports=(e,t)=>{try{return new r(e,t).range||"*"}catch(e){return null}}}}),xe=e({"../../node_modules/semver/ranges/outside.js"(e,t){var r=_(),h=Se(),d=h["ANY"],m=k(),f=we(),g=u(),v=he(),y=fe(),E=me();t.exports=(a,n,e,s)=>{a=new r(a,s),n=new m(n,s);let o,i,l,c,u;switch(e){case">":o=g,i=y,l=v,c=">",u=">=";break;case"<":o=v,i=E,l=g,c="<",u="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(f(a,n,s))return!1;for(let e=0;e<n.set.length;++e){const p=n.set[e];let t=null,r=null;if(p.forEach(e=>{e.semver===d&&(e=new h(">=0.0.0")),t=t||e,r=r||e,o(e.semver,t.semver,s)?t=e:l(e.semver,r.semver,s)&&(r=e)}),t.operator===c||t.operator===u)return!1;if((!r.operator||r.operator===c)&&i(a,r.semver))return!1;if(r.operator===u&&l(a,r.semver))return!1}return!0}}}),_e=e({"../../node_modules/semver/ranges/gtr.js"(e,t){var a=xe();t.exports=(e,t,r)=>a(e,t,">",r)}}),Le=e({"../../node_modules/semver/ranges/ltr.js"(e,t){var a=xe();t.exports=(e,t,r)=>a(e,t,"<",r)}}),Re=e({"../../node_modules/semver/ranges/intersects.js"(e,t){var a=k();t.exports=(e,t,r)=>(e=new a(e,r),t=new a(t,r),e.intersects(t))}}),Te=e({"../../node_modules/semver/ranges/simplify.js"(e,t){var d=we(),m=n();t.exports=(e,t,r)=>{const a=[];let n=null,s=null;var o,i,l=e.sort((e,t)=>m(e,t,r));for(const h of l){var c=d(h,t,r);n=c?(s=h,n||h):(s&&a.push([n,s]),s=null)}n&&a.push([n,null]);const u=[];for([o,i]of a)o===i?u.push(o):i||o!==l[0]?i?o===l[0]?u.push("<="+i):u.push(o+" - "+i):u.push(">="+o):u.push("*");var e=u.join(" || "),p="string"==typeof t.raw?t.raw:String(t);return e.length<p.length?e:t}}}),Ae=e({"../../node_modules/semver/ranges/subset.js"(e,t){var i=k(),v=Se(),y=v["ANY"],E=we(),b=n(),S=(e,t,r)=>{if(!e)return t;r=b(e.semver,t.semver,r);return!(0<r)&&(r<0||">"===t.operator&&">="===e.operator)?t:e},w=(e,t,r)=>{if(!e)return t;r=b(e.semver,t.semver,r);return!(r<0)&&(0<r||"<"===t.operator&&"<="===e.operator)?t:e};t.exports=(e,t,r={})=>{if(e===t)return!0;e=new i(e,r),t=new i(t,r);let a=!1;e:for(const s of e.set){for(const o of t.set){var n=((e,t,r)=>{if(e===t)return true;if(e.length===1&&e[0].semver===y)if(t.length===1&&t[0].semver===y)return true;else if(r.includePrerelease)e=[new v(">=0.0.0-0")];else e=[new v(">=0.0.0")];if(t.length===1&&t[0].semver===y)if(r.includePrerelease)return true;else t=[new v(">=0.0.0")];const a=new Set;let n,s;for(const d of e)if(d.operator===">"||d.operator===">=")n=S(n,d,r);else if(d.operator==="<"||d.operator==="<=")s=w(s,d,r);else a.add(d.semver);if(a.size>1)return null;let o;if(n&&s){o=b(n.semver,s.semver,r);if(o>0)return null;else if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(const m of a){if(n&&!E(m,String(n),r))return null;if(s&&!E(m,String(s),r))return null;for(const f of t)if(!E(m,String(f),r))return false;return true}let i,l,c,u,p=s&&!r.includePrerelease&&s.semver.prerelease.length?s.semver:false,h=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:false;if(p&&p.prerelease.length===1&&s.operator==="<"&&p.prerelease[0]===0)p=false;for(const g of t){u=u||g.operator===">"||g.operator===">=";c=c||g.operator==="<"||g.operator==="<=";if(n){if(h)if(g.semver.prerelease&&g.semver.prerelease.length&&g.semver.major===h.major&&g.semver.minor===h.minor&&g.semver.patch===h.patch)h=false;if(g.operator===">"||g.operator===">="){i=S(n,g,r);if(i===g&&i!==n)return false}else if(n.operator===">="&&!E(n.semver,String(g),r))return false}if(s){if(p)if(g.semver.prerelease&&g.semver.prerelease.length&&g.semver.major===p.major&&g.semver.minor===p.minor&&g.semver.patch===p.patch)p=false;if(g.operator==="<"||g.operator==="<="){l=w(s,g,r);if(l===g&&l!==s)return false}else if(s.operator==="<="&&!E(s.semver,String(g),r))return false}if(!g.operator&&(s||n)&&o!==0)return false}if(n&&c&&!s&&o!==0)return false;if(s&&u&&!n&&o!==0)return false;if(h||p)return false;return true})(s,o,r);if(a=a||null!==n,n)continue e}if(a)return!1}return!0}}}),r=e({"../../node_modules/semver/index.js"(e,t){var r=x();t.exports={re:r.re,src:r.src,tokens:r.t,SEMVER_SPEC_VERSION:p().SEMVER_SPEC_VERSION,SemVer:_(),compareIdentifiers:Y().compareIdentifiers,rcompareIdentifiers:Y().rcompareIdentifiers,parse:a(),valid:Q(),clean:Z(),inc:ee(),diff:re(),major:ae(),minor:ne(),patch:se(),prerelease:oe(),compare:n(),rcompare:ie(),compareLoose:le(),compareBuild:ce(),sort:ue(),rsort:pe(),gt:u(),lt:he(),eq:te(),neq:de(),gte:me(),lte:fe(),cmp:ge(),coerce:ve(),Comparator:Se(),Range:k(),satisfies:we(),toComparators:ke(),maxSatisfying:Oe(),minSatisfying:Ce(),minVersion:Ne(),validRange:Ie(),outside:xe(),gtr:_e(),ltr:Le(),intersects:Re(),simplifyRange:Te(),subset:Ae()}}}),$e=e({"../../node_modules/react-simple-code-editor/lib/index.js"(e){"use strict";var a,t,r=e&&e.__extends||(a=function(e,t){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}a(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),w=e&&e.__assign||function(){return(w=Object.assign||function(e){for(var t,r=1,a=arguments.length;r<a;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},n=e&&e.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&("get"in n?t.__esModule:!n.writable&&!n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,a,n)}:function(e,t,r,a){e[a=void 0===a?r:a]=t[r]}),s=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return s(t,e),t},k=e&&e.__rest||function(e,t){var r={};for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,n=Object.getOwnPropertySymbols(e);a<n.length;a++)t.indexOf(n[a])<0&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(r[n[a]]=e[n[a]]);return r},O=(Object.defineProperty(e,"__esModule",{value:!0}),o(y("react"))),g="navigator"in global&&/Win/i.test(navigator.platform),v="navigator"in global&&/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform),C="npm__react-simple-code-editor__textarea",N="\n/**\n * Reset the text fill color so that placeholder is visible\n */\n.".concat(C,":empty {\n -webkit-text-fill-color: inherit !important;\n}\n\n/**\n * Hack to apply on some CSS on IE10 and IE11\n */\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n /**\n * IE doesn't support '-webkit-text-fill-color'\n * So we use 'color: transparent' to make the text transparent on IE\n * Unlike other browsers, it doesn't affect caret color in IE\n */\n .").concat(C," {\n color: transparent !important;\n }\n\n .").concat(C,"::selection {\n background-color: #accef7 !important;\n color: transparent !important;\n }\n}\n"),o=(t=O.Component,r(i,t),i.prototype.componentDidMount=function(){this._recordCurrentState()},Object.defineProperty(i.prototype,"session",{get:function(){return{history:this._history}},set:function(e){this._history=e.history},enumerable:!1,configurable:!0}),i.prototype.render=function(){var t=this,e=this.props,r=e.value,a=e.style,n=e.padding,s=e.highlight,o=e.textareaId,i=e.textareaClassName,l=e.autoFocus,c=e.disabled,u=e.form,p=e.maxLength,h=e.minLength,d=e.name,m=e.placeholder,f=e.readOnly,g=e.required,v=e.onClick,y=e.onFocus,E=e.onBlur,b=e.onKeyUp,S=(e.onKeyDown,e.onValueChange,e.tabSize,e.insertSpaces,e.ignoreTabKey,e.preClassName),e=k(e,["value","style","padding","highlight","textareaId","textareaClassName","autoFocus","disabled","form","maxLength","minLength","name","placeholder","readOnly","required","onClick","onFocus","onBlur","onKeyUp","onKeyDown","onValueChange","tabSize","insertSpaces","ignoreTabKey","preClassName"]),n={paddingTop:n,paddingRight:n,paddingBottom:n,paddingLeft:n},s=s(r);return O.createElement("div",w({},e,{style:w(w({},I.container),a)}),O.createElement("textarea",{ref:function(e){return t._input=e},style:w(w(w({},I.editor),I.textarea),n),className:C+(i?" ".concat(i):""),id:o,value:r,onChange:this._handleChange,onKeyDown:this._handleKeyDown,onClick:v,onKeyUp:b,onFocus:y,onBlur:E,disabled:c,form:u,maxLength:p,minLength:h,name:d,placeholder:m,readOnly:f,required:g,autoFocus:l,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"data-gramm":!1}),O.createElement("pre",w({className:S,"aria-hidden":"true",style:w(w(w({},I.editor),I.highlight),n)},"string"==typeof s?{dangerouslySetInnerHTML:{__html:s+"<br />"}}:{children:s})),O.createElement("style",{type:"text/css",dangerouslySetInnerHTML:{__html:N}}))},i.defaultProps={tabSize:2,insertSpaces:!0,ignoreTabKey:!1,padding:0},i);function i(){var f=null!==t&&t.apply(this,arguments)||this;return f.state={capture:!0},f._recordCurrentState=function(){var e,t,r=f._input;r&&(e=r.value,t=r.selectionStart,r=r.selectionEnd,f._recordChange({value:e,selectionStart:t,selectionEnd:r}))},f._getLines=function(e,t){return e.substring(0,t).split("\n")},f._recordChange=function(e,t){void 0===t&&(t=!1);var r=f._history,a=r.stack,r=r.offset,r=(a.length&&-1<r&&(f._history.stack=a.slice(0,r+1),100<(r=f._history.stack.length)&&(f._history.stack=a.slice(a=r-100,r),f._history.offset=Math.max(f._history.offset-a,0))),Date.now());if(t){var a=f._history.stack[f._history.offset];if(a&&r-a.timestamp<3e3){var t=/[^a-z0-9]([a-z0-9]+)$/i,a=null==(a=f._getLines(a.value,a.selectionStart).pop())?void 0:a.match(t),n=null==(n=f._getLines(e.value,e.selectionStart).pop())?void 0:n.match(t);if(null!=a&&a[1]&&null!=(t=null==n?void 0:n[1])&&t.startsWith(a[1]))return void(f._history.stack[f._history.offset]=w(w({},e),{timestamp:r}))}}f._history.stack.push(w(w({},e),{timestamp:r})),f._history.offset++},f._updateInput=function(e){var t=f._input;t&&(t.value=e.value,t.selectionStart=e.selectionStart,t.selectionEnd=e.selectionEnd,f.props.onValueChange(e.value))},f._applyEdits=function(e){var t=f._input,r=f._history.stack[f._history.offset];r&&t&&(f._history.stack[f._history.offset]=w(w({},r),{selectionStart:t.selectionStart,selectionEnd:t.selectionEnd})),f._recordChange(e),f._updateInput(e)},f._undoEdit=function(){var e=f._history,t=e.stack,e=e.offset,t=t[e-1];t&&(f._updateInput(t),f._history.offset=Math.max(e-1,0))},f._redoEdit=function(){var e=f._history,t=e.stack,e=e.offset,r=t[e+1];r&&(f._updateInput(r),f._history.offset=Math.min(e+1,t.length-1))},f._handleKeyDown=function(e){var t,r,a,n,s,o,i,l,c,u,p=f.props,h=p.tabSize,d=p.insertSpaces,m=p.ignoreTabKey,p=p.onKeyDown;p&&(p(e),e.defaultPrevented)||(27===e.keyCode&&e.currentTarget.blur(),t=(p=e.currentTarget).value,r=p.selectionStart,p=p.selectionEnd,a=(d?" ":"\t").repeat(h),9===e.keyCode&&!m&&f.state.capture?(e.preventDefault(),e.shiftKey?(n=(l=f._getLines(t,r)).length-1,s=f._getLines(t,p).length-1,d=t.split("\n").map(function(e,t){return n<=t&&t<=s&&e.startsWith(a)?e.substring(a.length):e}).join("\n"),t!==d&&(u=l[n],f._applyEdits({value:d,selectionStart:null!=u&&u.startsWith(a)?r-a.length:r,selectionEnd:p-(t.length-d.length)}))):r!==p?(o=(l=f._getLines(t,r)).length-1,i=f._getLines(t,p).length-1,u=l[o],f._applyEdits({value:t.split("\n").map(function(e,t){return o<=t&&t<=i?a+e:e}).join("\n"),selectionStart:u&&/\S/.test(u)?r+a.length:r,selectionEnd:p+a.length*(i-o+1)})):(c=r+a.length,f._applyEdits({value:t.substring(0,r)+a+t.substring(p),selectionStart:c,selectionEnd:c}))):8===e.keyCode?(h=r!==p,t.substring(0,r).endsWith(a)&&!h&&(e.preventDefault(),c=r-a.length,f._applyEdits({value:t.substring(0,r-a.length)+t.substring(p),selectionStart:c,selectionEnd:c}))):13===e.keyCode?r===p&&null!=(d=null==(m=f._getLines(t,r).pop())?void 0:m.match(/^\s+/))&&d[0]&&(e.preventDefault(),c=r+(l="\n"+d[0]).length,f._applyEdits({value:t.substring(0,r)+l+t.substring(p),selectionStart:c,selectionEnd:c})):57===e.keyCode||219===e.keyCode||222===e.keyCode||192===e.keyCode?(u=void 0,57===e.keyCode&&e.shiftKey?u=["(",")"]:219===e.keyCode?u=e.shiftKey?["{","}"]:["[","]"]:222===e.keyCode?u=e.shiftKey?['"','"']:["'","'"]:192!==e.keyCode||e.shiftKey||(u=["`","`"]),r!==p&&u&&(e.preventDefault(),f._applyEdits({value:t.substring(0,r)+u[0]+t.substring(r,p)+u[1]+t.substring(p),selectionStart:r,selectionEnd:p+2}))):(v?e.metaKey&&90===e.keyCode:e.ctrlKey&&90===e.keyCode)&&!e.shiftKey&&!e.altKey?(e.preventDefault(),f._undoEdit()):(v?e.metaKey&&90===e.keyCode&&e.shiftKey:g?e.ctrlKey&&89===e.keyCode:e.ctrlKey&&90===e.keyCode&&e.shiftKey)&&!e.altKey?(e.preventDefault(),f._redoEdit()):77!==e.keyCode||!e.ctrlKey||v&&!e.shiftKey||(e.preventDefault(),f.setState(function(e){return{capture:!e.capture}})))},f._handleChange=function(e){var e=e.currentTarget,t=e.value,r=e.selectionStart,e=e.selectionEnd;f._recordChange({value:t,selectionStart:r,selectionEnd:e},!0),f.props.onValueChange(t)},f._history={stack:[],offset:-1},f._input=null,f}e.default=o;var I={container:{position:"relative",textAlign:"left",boxSizing:"border-box",padding:0,overflow:"hidden"},textarea:{position:"absolute",top:0,left:0,height:"100%",width:"100%",resize:"none",color:"inherit",overflow:"hidden",MozOsxFontSmoothing:"grayscale",WebkitFontSmoothing:"antialiased",WebkitTextFillColor:"transparent"},highlight:{position:"relative",pointerEvents:"none"},editor:{margin:0,border:0,background:"none",boxSizing:"inherit",display:"inherit",fontFamily:"inherit",fontSize:"inherit",fontStyle:"inherit",fontVariantLigatures:"inherit",fontWeight:"inherit",letterSpacing:"inherit",lineHeight:"inherit",tabSize:"inherit",textIndent:"inherit",textRendering:"inherit",textTransform:"inherit",whiteSpace:"pre-wrap",wordBreak:"keep-all",overflowWrap:"break-word"}}}}),Pe=e({"../../node_modules/prismjs/components/prism-core.js"(e,t){var r=function(l){var r=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,e={},L={manual:l.Prism&&l.Prism.manual,disableWorkerMessageHandler:l.Prism&&l.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof R?new R(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function r(e,a){var n,t;switch(a=a||{},L.util.type(e)){case"Object":if(t=L.util.objId(e),a[t])return a[t];for(var s in n={},a[t]=n,e)e.hasOwnProperty(s)&&(n[s]=r(e[s],a));return n;case"Array":return(t=L.util.objId(e),a[t])?a[t]:(n=[],a[t]=n,e.forEach(function(e,t){n[t]=r(e,a)}),n);default:return e}},getLanguage:function(e){for(;e;){var t=r.exec(e.className);if(t)return t[1].toLowerCase();e=e.parentElement}return"none"},setLanguage:function(e,t){e.className=e.className.replace(RegExp(r,"gi"),""),e.classList.add("language-"+t)},currentScript:function(){if("undefined"==typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(e){var t=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(e.stack)||[])[1];if(t){var r,a=document.getElementsByTagName("script");for(r in a)if(a[r].src==t)return a[r]}return null}},isActive:function(e,t,r){for(var a="no-"+t;e;){var n=e.classList;if(n.contains(t))return!0;if(n.contains(a))return!1;e=e.parentElement}return!!r}},languages:{plain:e,plaintext:e,text:e,txt:e,extend:function(e,t){var r,a=L.util.clone(L.languages[e]);for(r in t)a[r]=t[r];return a},insertBefore:function(r,e,t,a){var n,s=(a=a||L.languages)[r],o={};for(n in s)if(s.hasOwnProperty(n)){if(n==e)for(var i in t)t.hasOwnProperty(i)&&(o[i]=t[i]);t.hasOwnProperty(n)||(o[n]=s[n])}var l=a[r];return a[r]=o,L.languages.DFS(L.languages,function(e,t){t===l&&e!=r&&(this[e]=o)}),o},DFS:function e(t,r,a,n){n=n||{};var s,o,i,l=L.util.objId;for(s in t)t.hasOwnProperty(s)&&(r.call(t,s,t[s],a||s),o=t[s],"Object"!==(i=L.util.type(o))||n[l(o)]?"Array"!==i||n[l(o)]||(n[l(o)]=!0,e(o,r,s,n)):(n[l(o)]=!0,e(o,r,null,n)))}},plugins:{},highlightAll:function(e,t){L.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,r){var a={callback:r,container:e,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};L.hooks.run("before-highlightall",a),a.elements=Array.prototype.slice.apply(a.container.querySelectorAll(a.selector)),L.hooks.run("before-all-elements-highlight",a);for(var n,s=0;n=a.elements[s++];)L.highlightElement(n,!0===t,a.callback)},highlightElement:function(e,t,r){var a=L.util.getLanguage(e),n=L.languages[a],s=(L.util.setLanguage(e,a),e.parentElement);s&&"pre"===s.nodeName.toLowerCase()&&L.util.setLanguage(s,a);var o={element:e,language:a,grammar:n,code:e.textContent};function i(e){o.highlightedCode=e,L.hooks.run("before-insert",o),o.element.innerHTML=o.highlightedCode,L.hooks.run("after-highlight",o),L.hooks.run("complete",o),r&&r.call(o.element)}if(L.hooks.run("before-sanity-check",o),(s=o.element.parentElement)&&"pre"===s.nodeName.toLowerCase()&&!s.hasAttribute("tabindex")&&s.setAttribute("tabindex","0"),!o.code)return L.hooks.run("complete",o),void(r&&r.call(o.element));L.hooks.run("before-highlight",o),o.grammar?t&&l.Worker?((a=new Worker(L.filename)).onmessage=function(e){i(e.data)},a.postMessage(JSON.stringify({language:o.language,code:o.code,immediateClose:!0}))):i(L.highlight(o.code,o.grammar,o.language)):i(L.util.encode(o.code))},highlight:function(e,t,r){e={code:e,grammar:t,language:r};if(L.hooks.run("before-tokenize",e),e.grammar)return e.tokens=L.tokenize(e.code,e.grammar),L.hooks.run("after-tokenize",e),R.stringify(L.util.encode(e.tokens),e.language);throw new Error('The language "'+e.language+'" has no grammar.')},tokenize:function(e,t){var r=t.rest;if(r){for(var a in r)t[a]=r[a];delete t.rest}for(var n=new c,s=(A(n,n.head,e),!function e(t,r,a,n,s,o){for(var i in a)if(a.hasOwnProperty(i)&&a[i]){var l=a[i];l=Array.isArray(l)?l:[l];for(var c=0;c<l.length;++c){if(o&&o.cause==i+","+c)return;for(var u,p=l[c],h=p.inside,d=!!p.lookbehind,m=!!p.greedy,f=p.alias,g=(m&&!p.pattern.global&&(u=p.pattern.toString().match(/[imsuy]*$/)[0],p.pattern=RegExp(p.pattern.source,u+"g")),p.pattern||p),v=n.next,y=s;v!==r.tail&&!(o&&y>=o.reach);y+=v.value.length,v=v.next){var E=v.value;if(r.length>t.length)return;if(!(E instanceof R)){var b,S=1;if(m){if(!(b=T(g,y,t,d))||b.index>=t.length)break;var w=b.index,k=b.index+b[0].length,O=y;for(O+=v.value.length;O<=w;)v=v.next,O+=v.value.length;if(O-=v.value.length,y=O,v.value instanceof R)continue;for(var C=v;C!==r.tail&&(O<k||"string"==typeof C.value);C=C.next)S++,O+=C.value.length;S--,E=t.slice(y,O),b.index-=y}else if(!(b=T(g,0,E,d)))continue;var w=b.index,N=b[0],I=E.slice(0,w),x=E.slice(w+N.length),E=y+E.length,_=(o&&E>o.reach&&(o.reach=E),v.prev),I=(I&&(_=A(r,_,I),y+=I.length),$(r,_,S),new R(i,h?L.tokenize(N,h):N,f,N));v=A(r,_,I),x&&A(r,v,x),1<S&&(N={cause:i+","+c,reach:E},e(t,r,a,v.prev,y,N),o&&N.reach>o.reach&&(o.reach=N.reach))}}}}}(e,n,t,n.head,0),n),o=[],i=s.head.next;i!==s.tail;)o.push(i.value),i=i.next;return o},hooks:{all:{},add:function(e,t){var r=L.hooks.all;r[e]=r[e]||[],r[e].push(t)},run:function(e,t){var r=L.hooks.all[e];if(r&&r.length)for(var a,n=0;a=r[n++];)a(t)}},Token:R};function R(e,t,r,a){this.type=e,this.content=t,this.alias=r,this.length=0|(a||"").length}function T(e,t,r,a){e.lastIndex=t;t=e.exec(r);return t&&a&&t[1]&&(e=t[1].length,t.index+=e,t[0]=t[0].slice(e)),t}function c(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function A(e,t,r){var a=t.next,r={value:r,prev:t,next:a};return t.next=r,a.prev=r,e.length++,r}function $(e,t,r){for(var a=t.next,n=0;n<r&&a!==e.tail;n++)a=a.next;(t.next=a).prev=t,e.length-=n}if(l.Prism=L,R.stringify=function t(e,r){if("string"==typeof e)return e;var a;if(Array.isArray(e))return a="",e.forEach(function(e){a+=t(e,r)}),a;var n,s={type:e.type,content:t(e.content,r),tag:"span",classes:["token",e.type],attributes:{},language:r},e=e.alias,o=(e&&(Array.isArray(e)?Array.prototype.push.apply(s.classes,e):s.classes.push(e)),L.hooks.run("wrap",s),"");for(n in s.attributes)o+=" "+n+'="'+(s.attributes[n]||"").replace(/"/g,"&quot;")+'"';return"<"+s.tag+' class="'+s.classes.join(" ")+'"'+o+">"+s.content+"</"+s.tag+">"},!l.document)return l.addEventListener&&(L.disableWorkerMessageHandler||l.addEventListener("message",function(e){var e=JSON.parse(e.data),t=e.language,r=e.code,e=e.immediateClose;l.postMessage(L.highlight(r,L.languages[t],t)),e&&l.close()},!1)),L;var a,e=L.util.currentScript();function n(){L.manual||L.highlightAll()}return e&&(L.filename=e.src,e.hasAttribute("data-manual")&&(L.manual=!0)),L.manual||("loading"===(a=document.readyState)||"interactive"===a&&e&&e.defer?document.addEventListener("DOMContentLoaded",n):window.requestAnimationFrame?window.requestAnimationFrame(n):window.setTimeout(n,16)),L}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});void 0!==t&&t.exports&&(t.exports=r),"undefined"!=typeof global&&(global.Prism=r)}}),je=e({"../../node_modules/classnames/index.js"(e,t){!function(){"use strict";var o={}.hasOwnProperty;function i(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var a,n=typeof r;if("string"==n||"number"==n)e.push(r);else if(Array.isArray(r))!r.length||(a=i.apply(null,r))&&e.push(a);else if("object"==n)if(r.toString===Object.prototype.toString)for(var s in r)o.call(r,s)&&r[s]&&e.push(s);else e.push(r.toString())}}return e.join(" ")}void 0!==t&&t.exports?t.exports=i.default=i:"function"==typeof define&&"object"==typeof define.amd&&define.amd?define("classnames",[],function(){return i}):window.classNames=i}()}}),De=e({"../../node_modules/react-dropdown/dist/index.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var p=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var t=o();if(t&&t.has(e))return t.get(e);var r,a={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e){var s;Object.prototype.hasOwnProperty.call(e,r)&&((s=n?Object.getOwnPropertyDescriptor(e,r):null)&&(s.get||s.set)?Object.defineProperty(a,r,s):a[r]=e[r])}a.default=e,t&&t.set(e,a);return a}(y("react")),h=(t=je())&&t.__esModule?t:{default:t};function o(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return o=function(){return e},e}function i(e){return(i="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 l(){return(l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r,a=arguments[t];for(r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e}).apply(this,arguments)}function c(t,e){var r,a=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),a.push.apply(a,r)),a}function d(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function s(e){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function m(e,t){return(m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var f="Select...",t=function(e){var t,r=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");function a(e){var t,r;if(this instanceof a)return t=this,(t=!(r=s(a).call(this,e))||"object"!==i(r)&&"function"!=typeof r?u(t):r).state={selected:t.parseValue(e.value,e.options)||{label:void 0===e.placeholder?f:e.placeholder,value:""},isOpen:!1},t.dropdownRef=(0,p.createRef)(),t.mounted=!0,t.handleDocumentClick=t.handleDocumentClick.bind(u(t)),t.fireChangeEvent=t.fireChangeEvent.bind(u(t)),t;throw new TypeError("Cannot call a class as a function")}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&m(r,e),r=a,(e=[{key:"componentDidUpdate",value:function(e){this.props.value!==e.value&&(this.props.value?(e=this.parseValue(this.props.value,this.props.options))!==this.state.selected&&this.setState({selected:e}):this.setState({selected:{label:void 0===this.props.placeholder?f:this.props.placeholder,value:""}}))}},{key:"componentDidMount",value:function(){document.addEventListener("click",this.handleDocumentClick,!1),document.addEventListener("touchend",this.handleDocumentClick,!1)}},{key:"componentWillUnmount",value:function(){this.mounted=!1,document.removeEventListener("click",this.handleDocumentClick,!1),document.removeEventListener("touchend",this.handleDocumentClick,!1)}},{key:"handleMouseDown",value:function(e){this.props.onFocus&&"function"==typeof this.props.onFocus&&this.props.onFocus(this.state.isOpen),"mousedown"===e.type&&0!==e.button||(e.stopPropagation(),e.preventDefault(),this.props.disabled||this.setState({isOpen:!this.state.isOpen}))}},{key:"parseValue",value:function(t,e){var r;if("string"==typeof t)for(var a,n=0,s=e.length;n<s;n++)"group"===e[n].type?(a=e[n].items.filter(function(e){return e.value===t})).length&&(r=a[0]):void 0!==e[n].value&&e[n].value===t&&(r=e[n]);return r||t}},{key:"setValue",value:function(e,t){e={selected:{value:e,label:t},isOpen:!1};this.fireChangeEvent(e),this.setState(e)}},{key:"fireChangeEvent",value:function(e){e.selected!==this.state.selected&&this.props.onChange&&this.props.onChange(e.selected)}},{key:"renderOption",value:function(r){var e=r.value,t=(void 0===e&&(e=r.label||r),r.label||r.value||r),a=e===this.state.selected.value||e===this.state.selected;d(n={},"".concat(this.props.baseClassName,"-option"),!0),d(n,r.className,!!r.className),d(n,"is-selected",a);var n=(0,h.default)(n),s=Object.keys(r.data||{}).reduce(function(e,t){return function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?c(r,!0).forEach(function(e){d(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):c(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},e,d({},"data-".concat(t),r.data[t]))},{});return p.default.createElement("div",l({key:e,className:n,onMouseDown:this.setValue.bind(this,e,t),onClick:this.setValue.bind(this,e,t),role:"option","aria-selected":a?"true":"false"},s),t)}},{key:"buildMenu",value:function(){var a=this,e=this.props,t=e.options,n=e.baseClassName,e=t.map(function(e){var t,r;return"group"===e.type?(t=p.default.createElement("div",{className:"".concat(n,"-title")},e.name),r=e.items.map(function(e){return a.renderOption(e)}),p.default.createElement("div",{className:"".concat(n,"-group"),key:e.name,role:"listbox",tabIndex:"-1"},t,r)):a.renderOption(e)});return e.length?e:p.default.createElement("div",{className:"".concat(n,"-noresults")},"No options found")}},{key:"handleDocumentClick",value:function(e){!this.mounted||this.dropdownRef.current.contains(e.target)||this.state.isOpen&&this.setState({isOpen:!1})}},{key:"isValueSelected",value:function(){return"string"==typeof this.state.selected||""!==this.state.selected.value}},{key:"render",value:function(){var e=this.props,t=e.baseClassName,r=e.controlClassName,a=e.placeholderClassName,n=e.menuClassName,s=e.arrowClassName,o=e.arrowClosed,i=e.arrowOpen,e=e.className,l=this.props.disabled?"Dropdown-disabled":"",c="string"==typeof this.state.selected?this.state.selected:this.state.selected.label,e=(0,h.default)((d(u={},"".concat(t,"-root"),!0),d(u,e,!!e),d(u,"is-open",this.state.isOpen),u)),r=(0,h.default)((d(u={},"".concat(t,"-control"),!0),d(u,r,!!r),d(u,l,!!l),u)),u=(0,h.default)((d(l={},"".concat(t,"-placeholder"),!0),d(l,a,!!a),d(l,"is-selected",this.isValueSelected()),l)),l=(0,h.default)((d(a={},"".concat(t,"-menu"),!0),d(a,n,!!n),a)),a=(0,h.default)((d(n={},"".concat(t,"-arrow"),!0),d(n,s,!!s),n)),s=p.default.createElement("div",{className:u},c),n=this.state.isOpen?p.default.createElement("div",{className:l,"aria-expanded":"true"},this.buildMenu()):null;return p.default.createElement("div",{ref:this.dropdownRef,className:e},p.default.createElement("div",{className:r,onMouseDown:this.handleMouseDown.bind(this),onTouchEnd:this.handleMouseDown.bind(this),"aria-haspopup":"listbox"},s,p.default.createElement("div",{className:"".concat(t,"-arrow-wrapper")},i&&o?this.state.isOpen?i:o:p.default.createElement("span",{className:a}))),n)}}])&&n(r.prototype,e),t&&n(r,t),a}(p.Component);t.defaultProps={baseClassName:"Dropdown"},e.default=t}}),Me=e({"../../node_modules/react-is/cjs/react-is.development.js"(e){"use strict";function t(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:var r=e.type;switch(r){case p:case h:case o:case l:case i:case m:return r;default:var a=r&&r.$$typeof;switch(a){case u:case d:case v:case g:case c:return a;default:return t}}case s:return t}}}function r(e){return t(e)===h}var a,n,s,o,i,l,c,u,p,h,d,m,f,g,v,y,E,b,S,w,k,O,C,N,I,x,_,L,R,T,A;a="function"==typeof Symbol&&Symbol.for,n=a?Symbol.for("react.element"):60103,s=a?Symbol.for("react.portal"):60106,o=a?Symbol.for("react.fragment"):60107,i=a?Symbol.for("react.strict_mode"):60108,l=a?Symbol.for("react.profiler"):60114,c=a?Symbol.for("react.provider"):60109,u=a?Symbol.for("react.context"):60110,p=a?Symbol.for("react.async_mode"):60111,h=a?Symbol.for("react.concurrent_mode"):60111,d=a?Symbol.for("react.forward_ref"):60112,m=a?Symbol.for("react.suspense"):60113,f=a?Symbol.for("react.suspense_list"):60120,g=a?Symbol.for("react.memo"):60115,v=a?Symbol.for("react.lazy"):60116,y=a?Symbol.for("react.block"):60121,E=a?Symbol.for("react.fundamental"):60117,b=a?Symbol.for("react.responder"):60118,S=a?Symbol.for("react.scope"):60119,a=h,w=u,k=c,O=n,C=d,N=o,I=v,x=g,_=s,L=l,R=i,T=m,A=!1,e.AsyncMode=p,e.ConcurrentMode=a,e.ContextConsumer=w,e.ContextProvider=k,e.Element=O,e.ForwardRef=C,e.Fragment=N,e.Lazy=I,e.Memo=x,e.Portal=_,e.Profiler=L,e.StrictMode=R,e.Suspense=T,e.isAsyncMode=function(e){return A||(A=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),r(e)||t(e)===p},e.isConcurrentMode=r,e.isContextConsumer=function(e){return t(e)===u},e.isContextProvider=function(e){return t(e)===c},e.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===n},e.isForwardRef=function(e){return t(e)===d},e.isFragment=function(e){return t(e)===o},e.isLazy=function(e){return t(e)===v},e.isMemo=function(e){return t(e)===g},e.isPortal=function(e){return t(e)===s},e.isProfiler=function(e){return t(e)===l},e.isStrictMode=function(e){return t(e)===i},e.isSuspense=function(e){return t(e)===m},e.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===h||e===l||e===i||e===m||e===f||"object"==typeof e&&null!==e&&(e.$$typeof===v||e.$$typeof===g||e.$$typeof===c||e.$$typeof===u||e.$$typeof===d||e.$$typeof===E||e.$$typeof===b||e.$$typeof===S||e.$$typeof===y)},e.typeOf=t}}),Fe=e({"../../node_modules/react-is/index.js"(e,t){"use strict";t.exports=Me()}}),Ue=e({"../../node_modules/object-assign/index.js"(e,t){"use strict";var l=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(e){a[e]=e}),"abcdefghijklmnopqrst"!==Object.keys(Object.assign({},a)).join("")?void 0:1}catch(e){return}}()?Object.assign:function(e,t){for(var r,a=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),n=1;n<arguments.length;n++){for(var s in r=Object(arguments[n]))c.call(r,s)&&(a[s]=r[s]);if(l)for(var o=l(r),i=0;i<o.length;i++)u.call(r,o[i])&&(a[o[i]]=r[o[i]])}return a}}}),Ge=e({"../../node_modules/prop-types/lib/ReactPropTypesSecret.js"(e,t){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}}),qe=e({"../../node_modules/prop-types/lib/has.js"(e,t){t.exports=Function.call.bind(Object.prototype.hasOwnProperty)}}),Be=e({"../../node_modules/prop-types/checkPropTypes.js"(e,t){"use strict";var l,c,u,p=function(){};function r(e,t,r,a,n){for(var s in e)if(u(e,s)){var o,i;try{if("function"!=typeof e[s])throw(i=Error((a||"React class")+": "+r+" type `"+s+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[s]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.")).name="Invariant Violation",i;o=e[s](t,s,a,r,null,l)}catch(e){o=e}!o||o instanceof Error||p((a||"React class")+": type specification of "+r+" `"+s+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof o+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),o instanceof Error&&!(o.message in c)&&(c[o.message]=!0,s=n?n():"",p("Failed "+r+" type: "+o.message+(null!=s?s:"")))}}l=Ge(),c={},u=qe(),p=function(e){e="Warning: "+e;"undefined"!=typeof console&&console.error(e);try{throw new Error(e)}catch(e){}},r.resetWarningCache=function(){c={}},t.exports=r}}),Ke=e({"../../node_modules/prop-types/factoryWithTypeCheckers.js"(e,t){"use strict";var c=Fe(),g=Ue(),v=Ge(),y=qe(),a=Be(),E=function(){};function n(){return null}E=function(e){e="Warning: "+e;"undefined"!=typeof console&&console.error(e);try{throw new Error(e)}catch(e){}},t.exports=function(s,u){var o="function"==typeof Symbol&&Symbol.iterator,i="@@iterator";var p="<<anonymous>>",e={array:t("array"),bigint:t("bigint"),bool:t("boolean"),func:t("function"),number:t("number"),object:t("object"),string:t("string"),symbol:t("symbol"),any:r(n),arrayOf:function(l){return r(function(e,t,r,a,n){if("function"!=typeof l)return new h("Property `"+n+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var s=e[t];if(!Array.isArray(s))return new h("Invalid "+a+" `"+n+"` of type `"+m(s)+"` supplied to `"+r+"`, expected an array.");for(var o=0;o<s.length;o++){var i=l(s,o,r,a,n+"["+o+"]",v);if(i instanceof Error)return i}return null})},element:r(function(e,t,r,a,n){return e=e[t],s(e)?null:new h("Invalid "+a+" `"+n+"` of type `"+m(e)+"` supplied to `"+r+"`, expected a single ReactElement.")}),elementType:r(function(e,t,r,a,n){return e=e[t],c.isValidElementType(e)?null:new h("Invalid "+a+" `"+n+"` of type `"+m(e)+"` supplied to `"+r+"`, expected a single ReactElement type.")}),instanceOf:function(o){return r(function(e,t,r,a,n){var s;return e[t]instanceof o?null:(s=o.name||p,new h("Invalid "+a+" `"+n+"` of type `"+((a=e[t]).constructor&&a.constructor.name?a.constructor.name:p)+"` supplied to `"+r+"`, expected instance of `"+s+"`."))})},node:r(function(e,t,r,a,n){return l(e[t])?null:new h("Invalid "+a+" `"+n+"` supplied to `"+r+"`, expected a ReactNode.")}),objectOf:function(l){return r(function(e,t,r,a,n){if("function"!=typeof l)return new h("Property `"+n+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var s,o=e[t];if("object"!==(e=m(o)))return new h("Invalid "+a+" `"+n+"` of type `"+e+"` supplied to `"+r+"`, expected an object.");for(s in o)if(y(o,s)){var i=l(o,s,r,a,n+"."+s,v);if(i instanceof Error)return i}return null})},oneOf:function(i){if(Array.isArray(i))return r(function(e,t,r,a,n){for(var s=e[t],o=0;o<i.length;o++)if(function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}(s,i[o]))return null;e=JSON.stringify(i,function(e,t){return"symbol"===f(t)?String(t):t});return new h("Invalid "+a+" `"+n+"` of value `"+String(s)+"` supplied to `"+r+"`, expected one of "+e+".")});E(1<arguments.length?"Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).":"Invalid argument supplied to oneOf, expected an array.");return n},oneOfType:function(l){if(!Array.isArray(l))return E("Invalid argument supplied to oneOfType, expected an instance of array."),n;for(var e=0;e<l.length;e++){var t=l[e];if("function"!=typeof t)return E("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+function(e){var t=f(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}(t)+" at index "+e+"."),n}return r(function(e,t,r,a,n){for(var s=[],o=0;o<l.length;o++){var i=(0,l[o])(e,t,r,a,n,v);if(null==i)return null;i.data&&y(i.data,"expectedType")&&s.push(i.data.expectedType)}return new h("Invalid "+a+" `"+n+"` supplied to `"+r+"`"+(0<s.length?", expected one of type ["+s.join(", ")+"]":"")+".")})},shape:function(l){return r(function(e,t,r,a,n){var s,o=e[t];if("object"!==(e=m(o)))return new h("Invalid "+a+" `"+n+"` of type `"+e+"` supplied to `"+r+"`, expected `object`.");for(s in l){var i=l[s];if("function"!=typeof i)return d(r,a,n,s,f(i));i=i(o,s,r,a,n+"."+s,v);if(i)return i}return null})},exact:function(c){return r(function(e,t,r,a,n){var s,o=e[t],i=m(o);if("object"!==i)return new h("Invalid "+a+" `"+n+"` of type `"+i+"` supplied to `"+r+"`, expected `object`.");for(s in g({},e[t],c)){var l=c[s];if(y(c,s)&&"function"!=typeof l)return d(r,a,n,s,f(l));if(!l)return new h("Invalid "+a+" `"+n+"` key `"+s+"` supplied to `"+r+"`.\nBad object: "+JSON.stringify(e[t],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(c),null," "));l=l(o,s,r,a,n+"."+s,v);if(l)return l}return null})}};function h(e,t){this.message=e,this.data=t&&"object"==typeof t?t:{},this.stack=""}function r(i){var l={},c=0;function e(e,t,r,a,n,s,o){if(a=a||p,s=s||r,o!==v){if(u)throw(o=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types")).name="Invariant Violation",o;"undefined"!=typeof console&&!l[o=a+":"+r]&&c<3&&(E("You are manually calling a React.PropTypes validation function for the `"+s+"` prop on `"+a+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),l[o]=!0,c++)}return null==t[r]?e?null===t[r]?new h("The "+n+" `"+s+"` is marked as required in `"+a+"`, but its value is `null`."):new h("The "+n+" `"+s+"` is marked as required in `"+a+"`, but its value is `undefined`."):null:i(t,r,a,n,s)}var t=e.bind(null,!1);return t.isRequired=e.bind(null,!0),t}function t(o){return r(function(e,t,r,a,n,s){return m(e=e[t])!==o?new h("Invalid "+a+" `"+n+"` of type `"+f(e)+"` supplied to `"+r+"`, expected `"+o+"`.",{expectedType:o}):null})}function d(e,t,r,a,n){return new h((e||"React class")+": "+t+" type `"+r+"."+a+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+n+"`.")}function l(e){switch(typeof e){case"number":case"string":case"undefined":return!0;case"boolean":return!e;case"object":if(Array.isArray(e))return e.every(l);if(null===e||s(e))return!0;var t=function(e){if("function"==typeof(e=e&&(o&&e[o]||e[i])))return e}(e);if(!t)return!1;var r,a=t.call(e);if(t!==e.entries){for(;!(r=a.next()).done;)if(!l(r.value))return!1}else for(;!(r=a.next()).done;){var n=r.value;if(n&&!l(n[1]))return!1}return!0;default:return!1}}function m(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":(e=e,"symbol"===t||e&&("Symbol"===e["@@toStringTag"]||"function"==typeof Symbol&&e instanceof Symbol)?"symbol":t)}function f(e){if(null==e)return""+e;var t=m(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}return h.prototype=Error.prototype,e.checkPropTypes=a,e.resetWarningCache=a.resetWarningCache,e.PropTypes=e}}}),e=e({"../../node_modules/prop-types/index.js"(e,t){var r=Fe();t.exports=Ke()(r.isElement,!0)}}),Ve={},He=Ve,ze={default:()=>function(){return wr.default.createElement(Sr,null)}};for(j in ze)s(He,j,{get:ze[j],enumerable:!0});var We=t(y("react")),o=t(y("react")),Je=t(r()),E=(t,e)=>{t=localStorage.getItem(t);if(!t)return e;try{return JSON.parse(t)}catch(e){return t}},Xe=e=>{const a={section:/^\s*\[\s*([^\]]*)\s*\]\s*$/,param:/^\s*([^=]+?)\s*=\s*(.*?)\s*$/,comment:/^\s*;.*$/},n={},t=e.split(/[\r\n]+/);let s=null;return t.forEach(function(e){if(!a.comment.test(e))if(a.param.test(e)){const r=e.match(a.param);s?n[s][null==r?void 0:r[1]]=null==r?void 0:r[2].split(";")[0].trim():r&&(n[r[1]]=r[2].split(";")[0].trim())}else{var t;a.section.test(e)?(t=e.match(a.section))&&(n[t[1]]={},s=t[1]):0==e.length&&s&&(s=null)}}),n},Ye=e=>{const t=document.querySelector("style.marketplaceSnippets"),r=(t&&t.remove(),document.createElement("style"));e=e.reduce((e,t)=>e=(e+=`/* ${t.title} - ${t.description} */
`)+t.code+`
`,"");r.innerHTML=e,r.classList.add("marketplaceSnippets"),document.head.appendChild(r)},Qe=(e,t)=>{let r=[];return e&&0<e.length?r=e.map(e=>({name:e.name,url:e.url.startsWith("javascript:")?"":e.url})):r.push({name:t,url:"https://github.com/"+t}),r},Ze=e=>e?Object.keys(e).map(e=>({key:e,value:e})):[],et=()=>{console.log("Resetting Marketplace"),Object.keys(localStorage).forEach(e=>{e.startsWith("marketplace:")&&(localStorage.removeItem(e),console.log("Removed "+e))}),console.log("Marketplace has been reset"),location.reload()},tt=r=>{const e=document.querySelector("link[href='colors.css']"),t=(e&&e.remove(),document.querySelector("style.marketplaceCSS.marketplaceScheme"));if(t&&t.remove(),r){const a=document.createElement("style");a.classList.add("marketplaceCSS"),a.classList.add("marketplaceScheme");let t=":root {";const n=Object.keys(r);n.forEach(e=>{t=(t+=`--spice-${e}: #${r[e]};`)+`--spice-rgb-${e}: ${(e=>{if(3===e.length)e=e.split("").map(e=>e+e).join("");else{if(6!=e.length)throw"Only 3- or 6-digit hex colours are allowed.";if(e.match(/[^0-9a-f]/i))throw"Only hex colours are allowed."}e=e.match(/.{1,2}/g);if(e&&3===e.length)return[parseInt(e[0],16),parseInt(e[1],16),parseInt(e[2],16)];throw"Could not parse hex colour."})(r[e])};`}),t+="}",a.innerHTML=t,document.head.appendChild(a)}else{const s=document.createElement("link");s.setAttribute("rel","stylesheet"),s.setAttribute("href","colors.css"),s.classList.add("userCSS"),document.head.appendChild(s)}},rt=e=>{try{const t=document.querySelector("link[href='user.css']"),r=(t&&t.remove(),document.querySelector("style.marketplaceCSS.marketplaceUserCSS"));if(r&&r.remove(),e){const a=document.createElement("style");a.classList.add("marketplaceCSS"),a.classList.add("marketplaceUserCSS"),a.innerHTML=e,document.head.appendChild(a)}else{const n=document.createElement("link");n.setAttribute("rel","stylesheet"),n.setAttribute("href","user.css"),n.classList.add("userCSS"),document.head.appendChild(n)}}catch(e){console.warn(e)}},at=async e=>{if(!e.cssURL)throw new Error("No CSS URL provided");const t=-1<e.cssURL.indexOf("raw.githubusercontent.com")?`https://cdn.jsdelivr.net/gh/${e.user}/${e.repo}@${e.branch}/`+e.manifest.usercss:e.cssURL;var r,a=t.replace("/user.css","/assets/");console.log("Parsing CSS: ",t);let n=await fetch(t+"?time="+Date.now()).then(e=>e.text());for(const s of n.matchAll(new RegExp(`url\\(['|"](?<path>.+?)['|"]\\)`,"gm"))||[]){const o=null==(r=null==s?void 0:s.groups)?void 0:r.path;!o||o.startsWith("http")||o.startsWith("data")||(r=a+o.replace(/\.\//g,""),n=n.replace(o,r))}return n};async function nt(e,t,r){try{var a={text:e,context:t+"/"+r,mode:"gfm"};const n=await fetch("https://api.github.com/markdown",{method:"POST",body:JSON.stringify(a)});if(n.ok)return await n.text();throw Spicetify.showNotification(`Error parsing markdown (HTTP ${n.status})`)}catch(e){return null}}var st="0.7.0",f="marketplace:installed-extensions",g="marketplace:installed-snippets",b="marketplace:installed-themes",ot="marketplace:active-tab",it="marketplace:tabs",lt="marketplace:sort-by",S="marketplace:theme-installed",ct=[{name:"Extensions",enabled:!0},{name:"Themes",enabled:!0},{name:"Snippets",enabled:!0},{name:"Apps",enabled:!0},{name:"Installed",enabled:!0}],v=100,ut="/marketplace",pt="https://api.github.com/repos/spicetify/spicetify-marketplace/releases/tags/v0.7.0",l=t(y("react")),d=t(y("react")),ht=t($e()),dt=t(Pe()),mt=(r=Prism,$=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/,r.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,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\\((?:"+$.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+$.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+$.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:$,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:/[(){};:,]/},r.languages.css.atrule.inside.rest=r.languages.css,($=r.languages.markup)&&($.tag.addInlined("style","css"),$.tag.addAttribute("style","css")),t(y("react"))),ft="button-module__button___hf2qg_marketplace",gt="button-module__circle___EZ88P_marketplace",m=e=>{var t=e.type||"round";const r=[ft];return"circle"===t&&r.push(gt),e.classes&&r.push(...e.classes),mt.default.createElement("button",{className:r.join(" "),onClick:e.onClick,"aria-label":e.label,disabled:e.disabled},e.children)},vt=o=>{var e,t="marketplace-customCSS-preview";const[i,r]=d.default.useState("ADD_SNIPPET"!==o.type&&(null==(e=o.content)?void 0:e.item.code)||""),[a,n]=d.default.useState("ADD_SNIPPET"!==o.type&&(null==(e=o.content)?void 0:e.item.title)||""),[l,s]=d.default.useState("ADD_SNIPPET"!==o.type&&(null==(e=o.content)?void 0:e.item.description)||""),[c,u]=d.default.useState("ADD_SNIPPET"!==o.type&&(null==(e=o.content)?void 0:e.item.imageURL)||""),p=()=>a.replace(/\n/g,"").replaceAll(" ","-");let h;return d.default.createElement("div",{id:"marketplace-add-snippet-container"},d.default.createElement("div",{className:"marketplace-customCSS-input-container"},d.default.createElement("label",{htmlFor:"marketplace-custom-css"},"Custom CSS"),d.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},d.default.createElement(ht.default,{value:i,onValueChange:e=>r(e),highlight:e=>(0,dt.highlight)(e,dt.languages.css),textareaId:"marketplace-custom-css",textareaClassName:"snippet-code-editor",readOnly:"VIEW_SNIPPET"===o.type,placeholder:"Input your own custom CSS here! You can find them in the installed tab for management.",style:{}}))),d.default.createElement("div",{className:"marketplace-customCSS-input-container"},d.default.createElement("label",{htmlFor:"marketplace-customCSS-name-submit"},"Snippet Name"),d.default.createElement("input",{id:"marketplace-customCSS-name-submit",className:"marketplace-code-editor",value:a,onChange:e=>{"VIEW_SNIPPET"!==o.type&&n(e.target.value)},placeholder:"Enter a name for your custom snippet."})),d.default.createElement("div",{className:"marketplace-customCSS-input-container"},d.default.createElement("label",{htmlFor:"marketplace-customCSS-description-submit"},"Snippet Description"),d.default.createElement("input",{id:"marketplace-customCSS-description-submit",className:"marketplace-code-editor",value:l,onChange:e=>{"VIEW_SNIPPET"!==o.type&&s(e.target.value)},placeholder:"Enter a description for your custom snippet."})),d.default.createElement("div",{className:"marketplace-customCSS-input-container"},d.default.createElement("label",{htmlFor:t},"Snippet Preview ","VIEW_SNIPPET"!==o.type&&"(optional)"),c&&d.default.createElement("label",{htmlFor:t,style:{textAlign:"center"}},d.default.createElement("img",{className:"marketplace-customCSS-image-preview",src:c,alt:"Preview"}))),"VIEW_SNIPPET"!==o.type&&d.default.createElement(d.default.Fragment,null,d.default.createElement(m,{onClick:()=>{h.click()}},c.length?"Change image":"Add image",d.default.createElement("input",{id:t,type:"file",style:{display:"none"},ref:e=>h=e,onChange:async e=>{var t,r,a;if(null!=(t=e.target.files)&&t[0])try{a=null==(r=e.target.files)?void 0:r[0];var n=await new Promise((e,t)=>{const r=new FileReader;r.readAsDataURL(a),r.onload=()=>{e(r.result)},r.onerror=e=>{t(e)}});n&&(console.log(n),u(n))}catch(e){console.error(e)}}})),d.default.createElement(m,{onClick:()=>{var e=p(),t=l.trim(),r="marketplace:installed:snippet:"+e;if(E(r)&&"EDIT_SNIPPET"!==o.type)Spicetify.showNotification("That name is already taken!");else{if(console.log("Installing snippet: "+e),o.content&&o.content.item.title!==e){console.log("Deleting outdated snippet: "+o.content.item.title),localStorage.removeItem("marketplace:installed:snippet:"+o.content.item.title);const s=E(g,[]);var a=s.filter(e=>{return e!=="marketplace:installed:snippet:"+(null==(e=o.content)?void 0:e.item.title)});localStorage.setItem(g,JSON.stringify(a))}localStorage.setItem(r,JSON.stringify({title:e,code:i,description:t,imageURL:c,custom:!0}));const n=E(g,[]);-1===n.indexOf(r)&&(n.push(r),console.log(n),localStorage.setItem(g,JSON.stringify(n)));a=n.map(e=>E(e));Ye(a),Spicetify.PopupModal.hide(),"EDIT_SNIPPET"===o.type&&location.reload()}},disabled:!p()||!i.replace(/\n/g,"\\n")},"Save CSS")))},c=t(y("react")),yt=()=>c.default.createElement("div",{id:"marketplace-reload-container"},c.default.createElement("p",null,"A page reload is required to complete this operation."),c.default.createElement("div",{className:"marketplace-reload-modal__button-container"},c.default.createElement(m,{onClick:()=>{Spicetify.PopupModal.hide(),location.reload()}},"Reload now"),c.default.createElement(m,{onClick:()=>{Spicetify.PopupModal.hide()}},"Reload later"))),h=t(y("react")),Et=t(y("react")),bt=t(y("react")),St="toggle-module__toggle-wrapper___ocE5z_marketplace",wt="toggle-module__disabled___OYAYf_marketplace",kt="toggle-module__toggle-input___ceLM4_marketplace",Ot="toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace",Ct="toggle-module__toggle-indicator___nCxwE_marketplace",Nt=e=>{var t="toggle:"+e.storageKey;const r=[St];return!1===e.clickable&&r.push(wt),bt.default.createElement("label",{className:r.join(" ")},bt.default.createElement("input",{className:kt,type:"checkbox",checked:e.enabled,"data-storage-key":e.storageKey,id:t,title:"Toggle for "+e.storageKey,onChange:e.onChange}),bt.default.createElement("span",{className:Ot},bt.default.createElement("span",{className:Ct})))},w=r=>{var e="toggle:"+r.storageKey,t=!!r.modalConfig.visual[r.storageKey];return Et.default.createElement("div",{className:"setting-row"},Et.default.createElement("label",{htmlFor:e,className:"col description"},r.name),Et.default.createElement("div",{className:"col action"},Et.default.createElement(Nt,{name:r.name,storageKey:r.storageKey,enabled:t,onChange:e=>{var t=e.target.checked,e=e.target.dataset.storageKey;r.modalConfig.visual[e]=t,console.log(`toggling ${e} to `+t),localStorage.setItem("marketplace:"+e,String(t)),r.updateConfig(r.modalConfig)}})))},O=t(y("react")),It=a=>{var e="toggle:"+a.name;const t=a.modalConfig.tabs.reduce((e,t,r)=>t.name===a.name?r:e,-1);var r=a.modalConfig.tabs[t]["enabled"];function n(e,t){console.log({currPos:e,dir:t});var t=e+t,r=a.modalConfig.tabs[t];a.modalConfig.tabs[t]=a.modalConfig.tabs[e],a.modalConfig.tabs[e]=r,localStorage.setItem(it,JSON.stringify(a.modalConfig.tabs)),a.updateConfig(a.modalConfig)}return O.default.createElement("div",{className:"setting-row"},O.default.createElement("label",{htmlFor:e,className:"col description"},a.name),O.default.createElement("div",{className:"col action"},O.default.createElement("button",{title:"Move up",className:"arrow-btn",disabled:0===t,onClick:()=>n(t,-1)},O.default.createElement("svg",{height:"16",width:"16",viewBox:"0 0 16 16",fill:"currentColor",dangerouslySetInnerHTML:{__html:String(Spicetify.SVGIcons["chart-up"])}})),O.default.createElement("button",{title:"Move down",className:"arrow-btn",disabled:t===a.modalConfig.tabs.length-1,onClick:()=>n(t,1)},O.default.createElement("svg",{height:"16",width:"16",viewBox:"0 0 16 16",fill:"currentColor",dangerouslySetInnerHTML:{__html:String(Spicetify.SVGIcons["chart-down"])}})),O.default.createElement(Nt,{name:a.name,storageKey:"tab:"+a.name,clickable:"Extensions"!==a.name,enabled:r,onChange:e=>{console.log({e:e}),a.modalConfig.tabs[t].enabled=e.target.checked,localStorage.setItem(it,JSON.stringify(a.modalConfig.tabs)),a.updateConfig(a.modalConfig)}})))},xt=({CONFIG:e,updateAppConfig:t})=>{const[r,a]=h.default.useState(i({},e)),n=e=>{t(i({},e)),a(i({},e))},s=document.querySelector("body > generic-modal button.main-trackCreditsModal-closeBtn"),o=document.querySelector("body > generic-modal > div");return s&&o&&(s.onclick=()=>location.reload(),s.setAttribute("style","cursor: pointer;"),o.onclick=e=>{e.target===o&&location.reload()}),h.default.createElement("div",{id:"marketplace-config-container"},h.default.createElement("h2",null,"Options"),h.default.createElement(w,{name:"Stars count",storageKey:"stars",modalConfig:r,updateConfig:n}),h.default.createElement(w,{name:"Tags",storageKey:"tags",modalConfig:r,updateConfig:n}),h.default.createElement(w,{name:"Theme developer tools",storageKey:"themeDevTools",modalConfig:r,updateConfig:n}),h.default.createElement(w,{name:"Hide installed when browsing",storageKey:"hideInstalled",modalConfig:r,updateConfig:n}),h.default.createElement(w,{name:"Shift colors every minute",storageKey:"colorShift",modalConfig:r,updateConfig:n}),h.default.createElement("h2",null,"Tabs"),h.default.createElement("div",{className:"tabs-container"},r.tabs.map(({name:e},t)=>h.default.createElement(It,{key:t,name:e,modalConfig:r,updateConfig:n}))),h.default.createElement("h2",null,"Reset"),h.default.createElement("div",{className:"setting-row"},h.default.createElement("label",{className:"col description"},"Uninstall all extensions and themes, and reset preferences"),h.default.createElement("div",{className:"col action"},h.default.createElement(m,{onClick:et},"Reset"))))},C=t(y("react")),_t=t($e()),Lt=t(Pe()),Rt=(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(S)),N=Rt?E(Rt):null,Tt=()=>{const[r,t]=C.default.useState(N?(e=>{let t="";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r))if("object"==typeof e[r]){t+=`[${r}]
`;for(const a in e[r])Object.prototype.hasOwnProperty.call(e[r],a)&&(t+=`${a}=${e[r][a]}
`)}else t+=`${r}=${e[r]}
`;return t})(N.schemes):"Error: No marketplace theme installed");return C.default.createElement("div",{id:"marketplace-theme-dev-tools-container",className:"marketplace-theme-dev-tools-container"},C.default.createElement("div",{className:"devtools-column"},C.default.createElement("label",{htmlFor:"color-ini-editor"},C.default.createElement("h2",{className:"devtools-heading"},"Color.ini Editor")),C.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},C.default.createElement(_t.default,{value:r,onValueChange:e=>t(e),highlight:e=>(0,Lt.highlight)(e,Lt.languages.ini),textareaId:"color-ini-editor",textareaClassName:"color-ini-editor",readOnly:!N,placeholder:"[your-color-scheme-name]",style:{fontFamily:"monospace",resize:"none"}})),C.default.createElement(m,{onClick:()=>{var e=r;{var t;Rt?(t=Xe(e),N.schemes=t,localStorage.setItem(Rt,JSON.stringify(N))):Spicetify.showNotification("Error: No theme manifest found")}}},"Save")),C.default.createElement("div",{className:"devtools-column"},C.default.createElement("h2",{className:"devtools-heading"},"Invalid CSS"),C.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},function(){var e=document.querySelector("head > style.marketplaceCSS.marketplaceUserCSS");const t=null==e?void 0:e.innerHTML;if(e=new RegExp(".-?[_a-zA-Z]+[_a-zA-Z0-9-]*\\s*{","g"),!t)return["Error: Class name list not found; please create an issue"];const r=[];for(const n of t.matchAll(e)){const s=n[0].replace("{","").trim();var a=s.split(" ");let t;for(let e=0;e<a.length;e++){try{t=document.querySelector(""+a[e])}catch(e){t=document.getElementsByClassName(""+s)}t||r.push(s)}}return r}().map((e,t)=>C.default.createElement("div",{key:t,className:"invalid-css-text"},e)))))},I=(e,t,r,a)=>{e=((e,t,r,a)=>{switch(e){case"ADD_SNIPPET":return{title:"Add Snippet",content:l.default.createElement(vt,{type:e}),isLarge:!0};case"EDIT_SNIPPET":return{title:"Edit Snippet",content:l.default.createElement(vt,{type:e,content:a}),isLarge:!0};case"VIEW_SNIPPET":return{title:"View Snippet",content:l.default.createElement(vt,{type:e,content:a}),isLarge:!0};case"RELOAD":return{title:"Reload",content:l.default.createElement(yt,null),isLarge:!1};case"SETTINGS":return{title:"Settings",content:l.default.createElement(xt,{CONFIG:t,updateAppConfig:r}),isLarge:!0};case"THEME_DEV_TOOLS":return{title:"Theme Dev Tools",content:l.default.createElement(Tt,null),isLarge:!0};default:return{title:"",content:l.default.createElement("div",null),isLarge:!1}}})(e,t,r,a),Spicetify.PopupModal.display(e)},At=[{title:"Fix 'Liked' Icon",description:"Fix the colours of the Liked icon in sidebar",code:".main-likedSongsButton-likedSongsIcon {\n color: var(--spice-sidebar);\n background: var(--spice-text);\n}",preview:"resources/assets/snippets/fix-liked-icon.png"},{title:"Hide Upgrade Button",description:"Makes the upgrade button hidden",code:".main-topBar-UpgradeButton {\n display: none !important;\n}",preview:"resources/assets/snippets/hide-upgrade-button.png"},{title:"Auto-hide Friends",description:"Collapse the friends activity sidebar on small screens",code:"[aria-label='Friend Activity'] {\n transition: width 0.3s;\n}\n@media screen and (max-width: 1200px) {\n [aria-label='Friend Activity'] {\n width: 0;\n }\n [aria-label='Friend Activity'] .LayoutResizer__resize-bar {\n display: none;\n }\n}",preview:"resources/assets/snippets/auto-hide-friends.png"},{title:"Smooth Reveal Playlist Gradient",description:"Reveals the playlist gradient header gradient with a fade in effect",code:".main-entityHeader-overlay,\n.main-actionBarBackground-background,\n.main-entityHeader-overlay,\n.main-entityHeader-backgroundColor {\n -webkit-transition: 3s;\n}",preview:"resources/assets/snippets/smooth-playlist-reveal-gradient.png"},{title:"Remove connect bar",description:"Remove connect bar that causes progress bar displacement when listening on different devices",code:".main-connectBar-connectBar {\n color: transparent !important;\n overflow: visible !important;\n --triangle-position: 147px !important;\n align-items: unset !important;\n height: 0px !important;\n position: absolute !important;\n left: 80% !important;\n display: flex !important;\n bottom: 2% !important;\n padding: unset !important;\n}",preview:"resources/assets/snippets/remove-connect-bar.png"},{title:"Fix playlist arrows",description:"Fixes the opened and closed orientation of the playlist folder arrows",code:".main-rootlist-expandArrow {\n -webkit-transform: rotate(-90deg) !important;\n transform: rotate(-90deg) !important;\n}\n.main-rootlist-expandArrow:hover {\n -webkit-transform: rotate(-90deg) !important;\n transform: rotate(-90deg) !important;\n}\n.qAAhQw9dXNB7DbPgDDxy {\n -webkit-transform: rotate(0deg) !important;\n transform: rotate(0deg) !important;\n}\n.qAAhQw9dXNB7DbPgDDxy:hover {\n -webkit-transform: rotate(0deg) !important;\n transform: rotate(0deg) !important;\n}",preview:"resources/assets/snippets/fix-playlist-arrows.png"},{title:"Fix main view width",description:"Makes main view fill up all available space",code:".contentSpacing {\n max-width: 100% !important;\n}",preview:"resources/assets/snippets/fix-main-view-width.png"},{title:"Left aligned heart icons",description:"Moves the heart icon to the left side of the track title in track views",code:".main-trackList-rowSectionStart {\n margin-left: 38px !important;\n}\n.main-addButton-button.main-trackList-rowHeartButton,\n.main-addButton-button.main-trackList-rowHeartButton {\n position: absolute !important;\n left: 48px !important;\n}",preview:"resources/assets/snippets/left-aligned-heart-icons.png"},{title:"Hover Panels",description:"Have your playlist, friend activity, and controls bar be hoverable.",code:".Root__nav-bar {\n position: absolute;\n width: 40px;\n opacity: 0;\n bottom: 0;\n left: 0;\n top: 0;\n z-index: 1;\n}\nnav.Root__nav-bar:hover {\n position: inherit;\n width: 225px;\n opacity: 1;\n transition: visibility 5s, opacity 0.5s linear;\n}\n.LayoutResizer__resize-bar {\n cursor: none;\n}\n.Root__top-bar {\n opacity: 0;\n transition: visibility 5s, opacity 1s linear;\n}\n.Root__top-bar:hover {\n transition-delay: 0.5s;\n opacity: 1;\n transition: visibility 5s, opacity 0.5s linear;\n}\n.main-topBar-container {\n -webkit-padding-end: 32px;\n padding: 16px 85px;\n padding-inline-end: 32px;\n max-width: none;\n}\naside.main-buddyFeed-buddyFeedRoot:hover {\n position: inherit;\n width: var(--buddy-feed-width);\n opacity: 1;\n transition: visibility 5s, opacity 0.5s linear;\n left: 0;\n}\naside.main-buddyFeed-buddyFeedRoot {\n position: absolute;\n width: 65px;\n opacity: 0;\n bottom: 0;\n left: -30px;\n top: 0;\n z-index: 1;\n}",preview:"resources/assets/snippets/hover-panels.png"},{title:"Fix progress bar displacement",description:"Fixes the progress bar displacement for a few themes. Better version of @CharlieS1103 Snippet",code:".main-connectBar-connectBar {\n overflow: visible !important;\n position: absolute !important;\n display: flex !important;\n align-items: unset !important;\n left: 80% !important;\n height: 20px !important;\n bottom: 1% !important;\n padding: 2px !important;\n background-color: transparent !important;\n color: var(--spice-text) !important;\n}\n.control-button::after {\n display: none !important;\n}",preview:"resources/assets/snippets/fix-progress-bar.png"}];async function $t(e,t=1,r=[],a){let n=a?`https://api.github.com/search/repositories?q=${encodeURIComponent(a+"+topic:"+e)}&per_page=100`:`https://api.github.com/search/repositories?q=${encodeURIComponent("topic:"+e)}&per_page=100`;t&&(n+="&page="+t);const s=await fetch(n).then(e=>e.json()).catch(()=>[]);{if(s.items)return z(i({},s),{page_count:s.items.length,items:s.items.filter(e=>!r.includes(e.html_url))});Spicetify.showNotification("Too Many Requests, Cool Down.")}}async function Pt(e,t,r){var a=window.sessionStorage.getItem(e+"-"+t);const n=window.sessionStorage.getItem("noManifests");if(a)return JSON.parse(a);const s=`https://raw.githubusercontent.com/${e}/${t}/${r}/manifest.json`;if(null!=n&&n.includes(s))return null;a=await fetch(s).then(e=>e.json()).catch(()=>{var a=[s],n="noManifests";a&&a.forEach(e=>{n=n||a.user+"-"+a.repo;var t=window.sessionStorage.getItem(n);const r=t?JSON.parse(t):[];r.push(e),window.sessionStorage.setItem(n,JSON.stringify(r))})});return a&&window.sessionStorage.setItem(e+"-"+t,JSON.stringify(a)),a}async function jt(t,a,n,s=!1){try{let e;var r=t.match(new RegExp("https:\\/\\/api\\.github\\.com\\/repos\\/(?<user>.+)\\/(?<repo>.+)\\/contents"));if(!r||!r.groups)return null;const{user:o,repo:i}=r.groups;return e=await Pt(o,i,a),(e=Array.isArray(e)?e:[e]).reduce((e,t)=>{var r=t.branch||a,r={manifest:t,title:t.name,subtitle:t.description,authors:Qe(t.authors,o),user:o,repo:i,branch:r,imageURL:t.preview&&t.preview.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.preview,extensionURL:t.main.startsWith("http")?t.main:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.main,readmeURL:t.readme&&t.readme.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.readme,stars:n,tags:t.tags};return t&&t.name&&t.description&&t.main&&(s&&localStorage.getItem(`marketplace:installed:${o}/${i}/`+t.main)||e.push(r)),e},[])}catch(e){return null}}async function Dt(t,a,n){try{let e;var r=t.match(new RegExp("https:\\/\\/api\\.github\\.com\\/repos\\/(?<user>.+)\\/(?<repo>.+)\\/contents"));if(!r||!r.groups)return null;const{user:s,repo:o}=r.groups;return e=await Pt(s,o,a),(e=Array.isArray(e)?e:[e]).reduce((e,t)=>{var r=t.branch||a,r={manifest:t,title:t.name,subtitle:t.description,authors:Qe(t.authors,s),user:s,repo:o,branch:r,imageURL:t.preview&&t.preview.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${s}/${o}/${r}/`+t.preview,readmeURL:t.readme&&t.readme.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${s}/${o}/${r}/`+t.readme,stars:n,tags:t.tags,cssURL:t.usercss.startsWith("http")?t.usercss:`https://raw.githubusercontent.com/${s}/${o}/${r}/`+t.usercss,schemesURL:t.schemes?t.schemes.startsWith("http")?t.schemes:`https://raw.githubusercontent.com/${s}/${o}/${r}/`+t.schemes:null,include:t.include};return null!=t&&t.name&&null!=t&&t.usercss&&null!=t&&t.description&&e.push(r),e},[])}catch(e){return null}}async function Mt(t,a,n){try{let e;var r=t.match(new RegExp("https:\\/\\/api\\.github\\.com\\/repos\\/(?<user>.+)\\/(?<repo>.+)\\/contents"));if(!r||!r.groups)return null;const{user:s,repo:o}=r.groups;return e=await Pt(s,o,a),(e=Array.isArray(e)?e:[e]).reduce((e,t)=>{var r=t.branch||a,r={manifest:t,title:t.name,subtitle:t.description,authors:Qe(t.authors,s),user:s,repo:o,branch:r,imageURL:t.preview&&t.preview.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${s}/${o}/${r}/`+t.preview,readmeURL:t.readme&&t.readme.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${s}/${o}/${r}/`+t.readme,stars:n,tags:t.tags};return t&&t.name&&t.description&&e.push(r),e},[])}catch(e){return null}}var Ft=async()=>{return(await fetch("https://raw.githubusercontent.com/spicetify/spicetify-marketplace/main/resources/blacklist.json").then(e=>e.json()).catch(()=>({}))).repos},Ut=async()=>{return At.reduce((e,t)=>{const r=i({},t);return r.preview&&(r.imageURL=r.preview.startsWith("http")?r.preview:"https://raw.githubusercontent.com/spicetify/spicetify-marketplace/main/"+r.preview,delete r.preview),e.push(r),e},[])},Gt=t(y("react")),qt=class extends Gt.default.Component{render(){return Gt.default.createElement("div",{onClick:this.props.onClick},Gt.default.createElement("p",{style:{fontSize:100,lineHeight:"65px"}},"»"),Gt.default.createElement("span",{style:{fontSize:20}},"Load more"))}},L=t(y("react")),Bt=()=>L.default.createElement("svg",{width:"100px",height:"100px",viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"},L.default.createElement("circle",{cx:"50",cy:"50",r:"0",fill:"none",stroke:"currentColor",strokeWidth:"2"},L.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"}),L.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"})),L.default.createElement("circle",{cx:"50",cy:"50",r:"0",fill:"none",stroke:"currentColor",strokeWidth:"2"},L.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"}),L.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"}))),Kt=t(y("react")),Vt=()=>Kt.default.createElement("svg",{role:"img",width:"16",height:"16",viewBox:"0 0 24 24","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg"},Kt.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"})),Ht=t(y("react")),zt=()=>Ht.default.createElement("svg",{className:"devtools-icon",version:"1.1",viewBox:"1 1 22 22",xmlSpace:"preserve",xmlns:"http://www.w3.org/2000/svg"},Ht.default.createElement("g",{className:"devtools-icon-internal",id:"grid_system"}),Ht.default.createElement("g",{id:"_icons"},Ht.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"}))),Wt=t(y("react")),Jt=t(De()),Xt=t=>{var e=t.sortBoxOptions.map(e=>({value:e.key,label:e.value})),r=t.sortBoxOptions.find(t.sortBySelectedFn);return Wt.default.createElement("div",{className:"marketplace-sortBox"},Wt.default.createElement("div",{className:"marketplace-sortBox-header"},Wt.default.createElement("div",{className:"marketplace-sortBox-header-title"}),Wt.default.createElement(Jt.default,{placeholder:"Select an option",options:e,value:null==r?void 0:r.key,onChange:e=>{t.onChange(e.value)}})))},R=t(y("react")),Yt=t(y("react-dom")),Qt=t(De()),r=t(e()),Zt=class extends R.default.Component{constructor(e){super(e)}render(){return this.props.item.enabled?R.default.createElement("li",{className:"marketplace-tabBar-headerItem","data-tab":this.props.item.value,onClick:e=>{e.preventDefault(),this.props.switchTo(this.props.item)}},R.default.createElement("a",{"aria-current":"page",className:"marketplace-tabBar-headerItemLink "+(this.props.item.active?"marketplace-tabBar-active":""),draggable:"false",href:""},R.default.createElement("span",{className:"main-type-mestoBold"},this.props.item.value))):null}},er=R.default.memo(function({items:e,switchTo:t}){return R.default.createElement("li",{className:"marketplace-tabBar-headerItem"},R.default.createElement(Qt.default,{className:"main-type-mestoBold",options:e,value:"More",placeholder:"More",onChange:t}))}),tr=({children:e})=>e&&document.querySelector(".main-topBar-topbarContentWrapper")?Yt.default.createPortal(R.default.createElement("div",{className:"main-topBar-topbarContent"},e),document.querySelector(".main-topBar-topbarContentWrapper")):null,rr=(tr.propTypes={children:r.default.element},e=>{const t=document.querySelector(".Root__main-view .os-resize-observer-host");if(!t)return null;const[r,a]=(0,R.useState)(t.clientWidth),n=()=>a(t.clientWidth);return(0,R.useEffect)(()=>{const e=new ResizeObserver(n);return e.observe(t),()=>{e.disconnect()}},[n]),R.default.createElement(tr,null,R.default.createElement(ar,{windowSize:r,links:e.links,activeLink:e.activeLink,switchCallback:e.switchCallback}))}),ar=R.default.memo(function({links:e,activeLink:r,switchCallback:t,windowSize:a=1/0}){const n=R.default.useRef(null),[s,o]=(0,R.useState)([]),[i,l]=(0,R.useState)(0),[c,u]=(0,R.useState)([]),p=e.map(({name:e,enabled:t})=>{return{label:e,value:e,active:e===r,enabled:t}});return(0,R.useEffect)(()=>{n.current&&l(n.current.clientWidth)},[a]),(0,R.useEffect)(()=>{if(n.current){const t=Array.from(n.current.children);var e=t.map(e=>e.clientWidth);o(e)}},[e]),(0,R.useEffect)(()=>{if(n.current)if(s.reduce((e,t)=>e+t,0)<=i)u([]);else{var e=Math.max(...s);const a=[];let r=e;s.forEach((e,t)=>{i>=r+e?r+=e:a.push(t)}),u(a)}},[i,s]),R.default.createElement("nav",{className:"marketplace-tabBar marketplace-tabBar-nav"},R.default.createElement("ul",{className:"marketplace-tabBar-header",ref:n},p.filter((e,t)=>!c.includes(t)).map(e=>R.default.createElement(Zt,{key:e.value,item:e,switchTo:t})),c.length||0===s.length?R.default.createElement(er,{items:c.map(e=>p[e]).filter(e=>e),switchTo:t}):null))}),T=t(y("react")),nr=t(y("react")),sr=()=>nr.default.createElement("svg",{role:"img",width:"16",height:"16",viewBox:"0 0 448 512","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg"},nr.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"})),or=t(y("react")),ir=()=>or.default.createElement("svg",{role:"img",width:"16",height:"16",viewBox:"0 0 512 512","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg"},or.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"})),lr=t(y("react")),cr=()=>lr.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24"},lr.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"})),ur=t(y("react")),pr=e=>{return ur.default.createElement("div",{className:"marketplace-card__authors"},e.authors.map((e,t)=>ur.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)))},A=t(y("react")),hr=r=>{const[e,t]=A.default.useState(!1);var a=e=>{const t=e.filter((e,t,r)=>r.indexOf(e)===t);return t.reduce((e,t)=>(!r.showTags&&"external JS"!==t||e.push(A.default.createElement("li",{className:"marketplace-card__tag",draggable:!1,"data-tag":t},t)),e),[])},n=r.tags.slice(0,4),s=r.tags.slice(4);return A.default.createElement("div",{className:"marketplace-card__tags-container"},A.default.createElement("ul",{className:"marketplace-card__tags"},a(n),s.length&&e?a(s):null),s.length&&!e?A.default.createElement("button",{className:"marketplace-card__tags-more-btn",onClick:e=>{e.stopPropagation(),t(!0)}},"..."):null)},dr=class extends T.default.Component{constructor(e){super(e),this.key=null,this.type=dr,this.menuType=Spicetify.ReactComponent.Menu;var t,r="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=(null==(t=e.item.manifest)?void 0:t.usercss)||"";break;case"extension":a=(null==(t=e.item.manifest)?void 0:t.main)||"";break;case"app":a=(null==(t=null==(t=e.item.manifest)?void 0:t.name)?void 0:t.replaceAll(" ","-"))||""}this.localStorageKey="marketplace:installed:"+r+a,Object.assign(this,e),this.tags=e.item.tags||[],e.item.include&&this.tags.push("external JS"),this.state={installed:null!==localStorage.getItem(this.localStorageKey),stars:this.props.item.stars||0,tagsExpanded:!1,externalUrl:this.props.item.user&&this.props.item.repo?`https://github.com/${this.props.item.user}/`+this.props.item.repo:"",lastUpdated:this.props.item.user&&this.props.item.repo?this.props.item.lastUpdated:void 0}}isInstalled(){return null!==localStorage.getItem(this.localStorageKey)}async componentDidMount(){if("Installed"===this.props.CONFIG.activeTab&&"snippet"!==this.props.type){var e=`https://api.github.com/repos/${this.props.item.user}/`+this.props.item.repo,{stargazers_count:e,pushed_at:t}=await fetch(e).then(e=>e.json());const r={stars:0,lastUpdated:void 0};this.state.stars!==e&&this.props.CONFIG.visual.stars&&(r.stars=e,console.log("Stars updated to: "+e)),this.state.lastUpdated!==t&&(r.lastUpdated=t,console.log("New update pushed at: "+t))}}buttonClicked(){var e,t;"extension"===this.props.type?(this.isInstalled()?(console.log("Extension already installed, removing"),this.removeExtension()):this.installExtension(),I("RELOAD")):"theme"===this.props.type?(t=(e=localStorage.getItem("marketplace:theme-installed"))?E(e,{}):{},console.log(t),console.log(e),this.isInstalled()?(console.log("Theme already installed, removing"),this.removeTheme(this.localStorageKey)):(this.removeTheme(),this.installTheme()),(null!=(e=this.props.item.manifest)&&e.include||t.include)&&I("RELOAD")):"app"===this.props.type?window.open(this.state.externalUrl,"_blank"):"snippet"===this.props.type?this.isInstalled()?(console.log("Snippet already installed, removing"),this.removeSnippet()):this.installSnippet():console.error("Unknown card type")}installExtension(){if(console.log("Installing extension "+this.localStorageKey),this.props.item){var{manifest:e,title:t,subtitle:r,authors:a,user:n,repo:s,branch:o,imageURL:i,extensionURL:l,readmeURL:c,lastUpdated:u}=this.props.item;localStorage.setItem(this.localStorageKey,JSON.stringify({manifest:e,type:this.props.type,title:t,subtitle:r,authors:a,user:n,repo:s,branch:o,imageURL:i,extensionURL:l,readmeURL:c,stars:this.state.stars,lastUpdated:u}));const p=E(f,[]);-1===p.indexOf(this.localStorageKey)&&(p.push(this.localStorageKey),localStorage.setItem(f,JSON.stringify(p))),console.log("Installed"),this.setState({installed:!0})}else Spicetify.showNotification("There was an error installing extension")}removeExtension(){if(localStorage.getItem(this.localStorageKey)){console.log("Removing extension "+this.localStorageKey),localStorage.removeItem(this.localStorageKey);const t=E(f,[]);var e=t.filter(e=>e!==this.localStorageKey);localStorage.setItem(f,JSON.stringify(e)),console.log("Removed"),this.setState({installed:!1})}}async installTheme(){var t=this.props["item"];if(t){console.log("Installing theme "+this.localStorageKey);let e={};if(t.schemesURL){const y=await fetch(t.schemesURL);var r=await y.text();e=Xe(r)}var r=Object.keys(e)[0],r=(console.log(e,r),r||null),{manifest:a,title:n,subtitle:s,authors:o,user:i,repo:l,branch:c,imageURL:u,extensionURL:p,readmeURL:h,cssURL:d,schemesURL:m,include:f,lastUpdated:g}=t;localStorage.setItem(this.localStorageKey,JSON.stringify({manifest:a,type:this.props.type,title:n,subtitle:s,authors:o,user:i,repo:l,branch:c,imageURL:u,extensionURL:p,readmeURL:h,stars:this.state.stars,tags:this.tags,cssURL:d,schemesURL:m,include:f,schemes:e,activeScheme:r,lastUpdated:g}));const v=E(b,[]);-1===v.indexOf(this.localStorageKey)&&(v.push(this.localStorageKey),localStorage.setItem(b,JSON.stringify(v)),localStorage.setItem(S,this.localStorageKey)),console.log("Installed"),t.include||(this.fetchAndInjectUserCSS(this.localStorageKey),this.props.updateActiveTheme(this.localStorageKey),this.props.updateColourSchemes(e,r)),this.setState({installed:!0})}else Spicetify.showNotification("There was an error installing theme")}removeTheme(t){var e=(t=t||localStorage.getItem(S))&&localStorage.getItem(t);if(t&&e){console.log("Removing theme "+t),localStorage.removeItem(t),localStorage.removeItem(S);const r=E(b,[]);e=r.filter(e=>e!==t);localStorage.setItem(b,JSON.stringify(e)),console.log("Removed"),this.fetchAndInjectUserCSS(null),this.props.updateActiveTheme(null),this.props.updateColourSchemes(null,null),this.setState({installed:!1})}}installSnippet(){console.log("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}));const e=E(g,[]);-1===e.indexOf(this.localStorageKey)&&(e.push(this.localStorageKey),localStorage.setItem(g,JSON.stringify(e)));var t=e.map(e=>E(e));Ye(t),this.setState({installed:!0})}removeSnippet(){localStorage.removeItem(this.localStorageKey);const e=E(g,[]),t=e.filter(e=>e!==this.localStorageKey);localStorage.setItem(g,JSON.stringify(t));var r=t.map(e=>E(e));Ye(r),this.setState({installed:!1})}async fetchAndInjectUserCSS(e){try{var t=e?await at(this.props.item):void 0;rt(t)}catch(e){console.warn(e)}}openReadme(){var e;null!=(e=this.props.item)&&e.manifest&&null!=(e=null==(e=this.props.item)?void 0:e.manifest)&&e.readme?Spicetify.Platform.History.push({pathname:ut+"/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}}}):Spicetify.showNotification("No page was found")}render(){var e,t=this.isInstalled();if("Installed"===this.props.CONFIG.activeTab&&!t)return console.log("Card item not installed"),null;const r=["main-card-card","marketplace-card--"+this.props.type],a=(t&&r.push("marketplace-card--installed"),[]);return"snippet"!==this.props.type&&this.props.visual.stars&&a.push("★ "+this.state.stars),T.default.createElement("div",{className:r.join(" "),onClick:()=>{if("snippet"===this.props.type){var e=this.props.item.title.replace(/\n/g,"");if(null!=(e=E("marketplace:installed:snippet:"+e))&&e.custom)return I("EDIT_SNIPPET",void 0,void 0,this.props);I("VIEW_SNIPPET",void 0,void 0,this.props)}else this.openReadme()}},T.default.createElement("div",{className:"main-card-draggable",draggable:"true"},T.default.createElement("div",{className:"main-card-imageContainer"},T.default.createElement("div",{className:"main-cardImage-imageWrapper"},T.default.createElement("div",null,T.default.createElement("img",{alt:"","aria-hidden":"false",draggable:"false",loading:"lazy",src:this.props.item.imageURL,className:"main-image-image main-cardImage-image",onError:e=>{e.currentTarget.setAttribute("src","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII"),null!=(e=e.currentTarget.closest(".main-cardImage-imageWrapper"))&&e.classList.add("main-cardImage-imageWrapper--error")}})))),T.default.createElement("div",{className:"main-card-cardMetadata"},T.default.createElement("a",{draggable:"false",title:"snippet"===this.props.type?this.props.item.title:null==(e=this.props.item.manifest)?void 0:e.name,className:"main-cardHeader-link",dir:"auto",href:"snippet"!==this.props.type?this.state.externalUrl:"https://github.com/spicetify/spicetify-marketplace/blob/main/packages/marketplace/src/resources/snippets.ts",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation()},T.default.createElement("div",{className:"main-cardHeader-text main-type-balladBold"},this.props.item.title)),T.default.createElement("div",{className:"main-cardSubHeader-root main-type-mestoBold marketplace-cardSubHeader"},this.props.item.authors&&T.default.createElement(pr,{authors:this.props.item.authors}),T.default.createElement("span",null,a.join(" "))),T.default.createElement("p",{className:"marketplace-card-desc"},"snippet"===this.props.type?this.props.item.description:null==(e=this.props.item.manifest)?void 0:e.description),this.props.item.lastUpdated&&T.default.createElement("p",{className:"marketplace-card-desc"},"Last updated:"," ",new Date(this.props.item.lastUpdated).toLocaleString("en-US",{month:"long",day:"numeric",year:"numeric"})),this.tags.length?T.default.createElement("div",{className:"marketplace-card__bottom-meta main-type-mestoBold"},T.default.createElement(hr,{tags:this.tags,showTags:this.props.CONFIG.visual.tags})):null,t&&T.default.createElement("div",{className:"marketplace-card__bottom-meta main-type-mestoBold"},"✓ Installed"),T.default.createElement("div",{className:"main-card-PlayButtonContainer"},T.default.createElement(m,{classes:["marketplace-installButton"],type:"circle",label:"app"===this.props.type?"GitHub":t?"Remove":"Install",onClick:e=>{e.stopPropagation(),this.buttonClicked()}},"app"===this.props.type?T.default.createElement(cr,null):t?T.default.createElement(sr,null):T.default.createElement(ir,null))))))}},mr=t(y("react")),fr=t(u()),gr=t(y("react-dom"));var $,vr=async function(t,r,e){for(;!Spicetify?.PopupModal||!Spicetify?.LocalStorage;)await new Promise(e=>setTimeout(e,100));var a,t=`spcr-whats-new_${t}-version`,n=Spicetify.LocalStorage.get(t)??"";try{(0,fr.default)(r,n)&&(Spicetify.LocalStorage.set(t,r),a={...e,content:function(e){const t=document.createElement("div"),r=(t.setAttribute("id","whats-new-content-wrapper"),document.createElement("style"));return r.textContent=`
#whats-new-content-wrapper ul, #whats-new-content-wrapper ol {
list-style: inherit;
margin-left: 1em;
}
`,gr.default.render(e,t),t.appendChild(r),t}(e.content)},Spicetify.PopupModal.display(a))}catch(e){Spicetify.LocalStorage.set(t,r)}},yr=async()=>{var e=await fetch(pt).then(e=>e.json()).then(e=>{e=e.message?null:e.body;return e&&nt(e,"spicetify","spicetify-marketplace")}).catch(e=>(console.error(e),null));e&&vr("marketplace",st,{title:"✨ Marketplace v0.7.0",content:mr.default.createElement("div",{dangerouslySetInnerHTML:{__html:e}}),isLarge:!0})},Er=class extends o.default.Component{constructor(e){super(e),this.endOfList=!1,this.lastScroll=0,this.requestQueue=[],this.requestPage=0,this.cardList=[],Object.assign(this,e),this.updateAppConfig=e.updateAppConfig.bind(this),this.sortConfig={by:E(lt,"top")},this.state={version:st,newUpdate:!1,searchValue:"",cards:[],tabs:e.CONFIG.tabs,rest:!0,endOfList:!1,schemes:e.CONFIG.theme.schemes,activeScheme:e.CONFIG.theme.activeScheme,activeThemeKey:e.CONFIG.theme.activeThemeKey}}getInstalledTheme(){var e=localStorage.getItem(S);if(!e)return null;e=localStorage.getItem(e);return e?JSON.parse(e):null}newRequest(e,t){this.cardList=[];var r=[];this.requestQueue.unshift(r),this.loadAmount(r,e,t)}appendCard(e,t){e=o.default.createElement(dr,{item:e,key:this.props.CONFIG.activeTab+":"+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(e),this.setState({cards:this.cardList})}updateSort(e){e&&(this.sortConfig.by=e,localStorage.setItem(lt,e)),this.requestPage=0,this.cardList=[],this.setState({cards:[],rest:!1,endOfList:!1}),this.endOfList=!1,this.newRequest(v)}updateTabs(){this.setState({tabs:[...this.props.CONFIG.tabs]})}updatePostsVisual(){this.cardList=this.cardList.map((e,t)=>o.default.createElement(dr,z(i({},e.props),{key:t.toString(),CONFIG:this.CONFIG}))),this.setState({cards:[...this.cardList]})}switchTo(e){this.CONFIG.activeTab=e.value,localStorage.setItem(ot,e.value),this.cardList=[],this.requestPage=0,this.setState({cards:[],rest:!1,endOfList:!1}),this.endOfList=!1,this.newRequest(v)}async loadPage(t,e){switch(this.CONFIG.activeTab){case"Extensions":var r=await $t("spicetify-extensions",this.requestPage,this.BLACKLIST,e);for(const o of r.items){const i=await jt(o.contents_url,o.default_branch,o.stargazers_count,this.CONFIG.visual.hideInstalled);if(1<this.requestQueue.length&&t!==this.requestQueue[0])return-1;i&&i.length&&i.forEach(e=>{Object.assign(e,{lastUpdated:o.pushed_at}),this.appendCard(e,"extension")})}var a=-1<this.requestPage&&this.requestPage?this.requestPage:1,n=v*(a-1)+r.page_count,s=r.total_count-n;if(console.log(`Parsed ${n}/${r.total_count} extensions`),0<s)return a+1;console.log("No more extension results");break;case"Installed":{const l={theme:E(b,[]),extension:E(f,[]),snippet:E(g,[])};for(const c in l)l[c].length&&l[c].forEach(async e=>{e=E(e);if(1<this.requestQueue.length&&t!==this.requestQueue[0])return-1;this.appendCard(e,c)});break}case"Themes":n=await $t("spicetify-themes",this.requestPage,this.BLACKLIST,e);for(const u of n.items){const p=await Dt(u.contents_url,u.default_branch,u.stargazers_count);if(1<this.requestQueue.length&&t!==this.requestQueue[0])return-1;p&&p.length&&p.forEach(e=>{Object.assign(e,{lastUpdated:u.pushed_at}),this.appendCard(e,"theme")})}r=-1<this.requestPage&&this.requestPage?this.requestPage:1,s=v*(r-1)+n.page_count,a=n.total_count-s;if(console.log(`Parsed ${s}/${n.total_count} themes`),0<a)return r+1;console.log("No more theme results");break;case"Apps":s=await $t("spicetify-apps",this.requestPage,this.BLACKLIST,e);for(const h of s.items){const d=await Mt(h.contents_url,h.default_branch,h.stargazers_count);if(1<this.requestQueue.length&&t!==this.requestQueue[0])return-1;d&&d.length&&d.forEach(e=>{Object.assign(e,{lastUpdated:h.pushed_at}),this.appendCard(e,"app")})}n=-1<this.requestPage&&this.requestPage?this.requestPage:1,a=v*(n-1)+s.page_count,r=s.total_count-a;if(console.log(`Parsed ${a}/${s.total_count} apps`),0<r)return n+1;console.log("No more app results");break;case"Snippets":{const m=await Ut();if(1<this.requestQueue.length&&t!==this.requestQueue[0])return-1;m&&m.length&&m.forEach(e=>this.appendCard(e,"snippet"))}}return this.setState({rest:!0,endOfList:!0}),this.endOfList=!0,0}async loadAmount(t,e=v,r){for(this.setState({rest:!1}),e+=this.cardList.length,this.requestPage=await this.loadPage(t,r);this.requestPage&&-1!==this.requestPage&&this.cardList.length<e&&!this.state.endOfList;)this.requestPage=await this.loadPage(t,r);-1===this.requestPage?this.requestQueue=this.requestQueue.filter(e=>e!==t):(this.requestQueue.shift(),this.setState({rest:!0}))}loadMore(){this.state.rest&&!this.endOfList&&this.loadAmount(this.requestQueue[0],v)}updateColourSchemes(e,t){console.log("updateColourSchemes",e,t),this.CONFIG.theme.schemes=e,this.CONFIG.theme.activeScheme=t,e&&t&&e[t]?tt(this.CONFIG.theme.schemes[t]):tt(null);var r=E(S);const a=E(r);a?(a.activeScheme=t,console.log(a),localStorage.setItem(r,JSON.stringify(a))):console.log("No installed theme data"),this.setState({schemes:e,activeScheme:t})}async componentDidMount(){fetch("https://api.github.com/repos/spicetify/spicetify-marketplace/releases").then(e=>e.json()).then(e=>{this.setState({version:e[0].name});try{this.setState({newUpdate:Je.default.gt(this.state.version,st)})}catch(e){console.error(e)}},e=>{console.error("Failed to check for updates",e)}),yr(),this.gridUpdateTabs=this.updateTabs.bind(this),this.gridUpdatePostsVisual=this.updatePostsVisual.bind(this);const e=document.querySelector(".os-viewport");this.checkScroll=this.isScrolledBottom.bind(this),e&&(e.addEventListener("scroll",this.checkScroll),this.cardList.length)?0<this.lastScroll&&e.scrollTo(0,this.lastScroll):(this.BLACKLIST=await Ft(),this.newRequest(v))}componentWillUnmount(){this.gridUpdateTabs=this.gridUpdatePostsVisual=null;const e=document.querySelector(".os-viewport");e&&(this.lastScroll=e.scrollTop,e.removeEventListener("scroll",this.checkScroll))}isScrolledBottom(e){e=e.target;e.scrollTop+e.clientHeight>=e.scrollHeight&&this.loadMore()}setActiveTheme(e){this.CONFIG.theme.activeThemeKey=e,this.setState({activeThemeKey:e})}getActiveScheme(){return this.state.activeScheme}handleSearch(e){"Enter"===e.key?(this.setState({endOfList:!1}),this.newRequest(v,this.state.searchValue.trim().toLowerCase()),this.searchRequested=!0):"Backspace"!==e.key&&"Delete"!==e.key||!this.searchRequested||""!==this.state.searchValue.trim()||(this.setState({endOfList:!1}),this.newRequest(v,this.state.searchValue.trim().toLowerCase()),this.searchRequested=!1)}render(){return o.default.createElement("section",{className:"contentSpacing"},o.default.createElement("div",{className:"marketplace-header"},o.default.createElement("div",{className:"marketplace-header__left"},o.default.createElement("h1",null,this.props.title),this.state.newUpdate?o.default.createElement("button",{type:"button",title:"New update",className:"marketplace-header-icon-button",id:"marketplace-update",onClick:()=>window.location.href="https://github.com/spicetify/spicetify-marketplace"},o.default.createElement(ir,null)," ",this.state.version):null),o.default.createElement("div",{className:"marketplace-header__right"},this.CONFIG.visual.themeDevTools?o.default.createElement("button",{type:"button",title:"ThemeDevTools",className:"marketplace-header-icon-button",onClick:()=>I("THEME_DEV_TOOLS")},o.default.createElement(zt,null)):null,this.state.activeScheme?o.default.createElement(Xt,{onChange:e=>this.updateColourSchemes(this.state.schemes,e),sortBoxOptions:Ze(this.state.schemes),sortBySelectedFn:e=>e.key===this.getActiveScheme()}):null,o.default.createElement("div",{className:"searchbar--bar__wrapper"},o.default.createElement("input",{className:"searchbar-bar",type:"text",placeholder:`Search ${this.CONFIG.activeTab}...`,value:this.state.searchValue,onChange:e=>{this.setState({searchValue:e.target.value})},onKeyDown:this.handleSearch.bind(this)})),o.default.createElement("button",{type:"button",title:"Settings",className:"marketplace-header-icon-button",id:"marketplace-settings-button",onClick:()=>I("SETTINGS",this.CONFIG,this.updateAppConfig)},o.default.createElement(Vt,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"],{title:r,user:a}=e.props.item;if(""===t.trim()||r.toLowerCase().includes(t.trim().toLowerCase())||null!=a&&a.toLowerCase().includes(t.trim().toLowerCase()))return e}).map((e,t)=>{return e.key=t,o.default.cloneElement(e,{activeThemeKey:this.state.activeThemeKey})});return e.length?o.default.createElement(o.default.Fragment,null,o.default.createElement("h2",{className:"marketplace-card-type-heading"},t.name),o.default.createElement("div",{className:"marketplace-grid main-gridContainer-gridContainer main-gridContainer-fixedWidth","data-tab":this.CONFIG.activeTab,"data-card-type":t.name},e)):null}),"Snippets"===this.CONFIG.activeTab?o.default.createElement(m,{classes:["marketplace-add-snippet-btn"],onClick:()=>I("ADD_SNIPPET")},"+Add CSS"):null,o.default.createElement("footer",{className:"marketplace-footer"},!this.state.endOfList&&(this.state.rest?o.default.createElement(qt,{onClick:this.loadMore.bind(this)}):o.default.createElement(Bt,null))),o.default.createElement(rr,{switchCallback:this.switchTo.bind(this),links:this.CONFIG.tabs,activeLink:this.CONFIG.activeTab}))}},P=t(y("react")),br=class extends P.default.Component{constructor(){super(...arguments),this.state={html:"<p>Loading...</p>"},this.getReadmeHTML=async()=>fetch(this.props.data.readmeURL).then(e=>{if(e.ok)return e.text();throw Spicetify.showNotification(`Error loading README (HTTP ${e.status})`)}).then(e=>nt(e,this.props.data.user,this.props.data.repo)).then(e=>(e||Spicetify.Platform.History.goBack(),e)).catch(e=>(console.error(e),Spicetify.Platform.History.goBack(),null))}componentDidMount(){this.getReadmeHTML().then(e=>{null!=e&&this.setState({html:e})})}componentDidUpdate(){var e;const t=null==(e=document.querySelector("#marketplace-readme"))?void 0:e.closest("main");t&&setTimeout(()=>{t.style.overflowY="auto"},1e3),document.querySelectorAll("#marketplace-readme img").forEach(e=>{e.addEventListener("error",e=>{const t=e.target;e=t.getAttribute("src"),e=`https://raw.githubusercontent.com/${this.props.data.user}/${this.props.data.repo}/${this.props.data.branch}/`+e;t.setAttribute("src",e)},{once:!0})})}render(){return P.default.createElement("section",{className:"contentSpacing"},P.default.createElement("div",{className:"marketplace-header",style:{flexDirection:"row"}},P.default.createElement("h1",null,this.props.title)),"<p>Loading...</p>"===this.state.html?P.default.createElement("footer",{className:"marketplace-footer"},P.default.createElement(Bt,null)):P.default.createElement("div",{id:"marketplace-readme",className:"marketplace-readme__container",dangerouslySetInnerHTML:{__html:this.state.html}}))}},Sr=class extends We.default.Component{constructor(e){super(e),this.state={count:0,CONFIG:{}},this.updateConfig=e=>{this.CONFIG=i({},e),console.log("updated config",this.CONFIG),this.setState({CONFIG:i({},e)})};e=E(it,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<t.filter(e=>!e).length)throw new Error("Falsey marketplace tabs key")}catch(e){t=ct,localStorage.setItem(it,JSON.stringify(t))}let r={},a=null;try{var n=E(S,null);if(n){var s=E(n,null);if(!s)throw new Error("No installed theme data");r=s.schemes,a=s.activeScheme}else console.log("No theme set as installed")}catch(e){console.error(e)}this.CONFIG={visual:{stars:JSON.parse(E("marketplace:stars",!0)),tags:JSON.parse(E("marketplace:tags",!0)),hideInstalled:JSON.parse(E("marketplace:hideInstalled",!1)),colorShift:JSON.parse(E("marketplace:colorShift",!1)),themeDevTools:JSON.parse(E("marketplace:themeDevTools",!1)),type:JSON.parse(E("marketplace:type",!1)),followers:JSON.parse(E("marketplace:followers",!1))},tabs:t,activeTab:E(ot,t[0]),theme:{activeThemeKey:E(S,null),schemes:r,activeScheme:a}},this.CONFIG.activeTab&&this.CONFIG.tabs.filter(e=>e.name===this.CONFIG.activeTab).length||(this.CONFIG.activeTab=this.CONFIG.tabs[0].name)}render(){var e=Spicetify.Platform.History["location"];return e.pathname===ut+"/readme"?We.default.createElement(br,{title:"Spicetify Marketplace - Readme",data:e.state.data}):We.default.createElement(Er,{title:"Spicetify Marketplace",CONFIG:this.CONFIG,updateAppConfig:this.updateConfig})}},wr=t(y("react"));return $=Ve,W(s({},"__esModule",{value:!0}),$)})();const render=()=>marketplace.default();