You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
GooseMod/goosemod.ru.js

1 line
131 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

(function(){"use strict";function styleInject(e,t){void 0===t&&(t={});var o=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===o&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}var css_248z='.gm-store-card{background-color:var(--background-secondary);border-radius:8px;box-shadow:var(--elevation-medium);box-sizing:border-box;height:380px;margin:10px;padding:12px;position:relative;width:330px}.gm-store-card>:first-child{-webkit-user-drag:none;background:linear-gradient(225deg,var(--background-tertiary),var(--background-secondary-alt));border-radius:8px 8px 0 0;height:200px;margin-left:-12px;margin-top:-12px;object-fit:contain;user-select:none;width:calc(100% + 24px)}.gm-store-card>:first-child[src="/assets/2366391afb15ed6c2a019a0c0caa0797.svg"]{object-fit:cover}.gm-store-card>:first-child:hover~:nth-child(2),.gm-store-card>:nth-child(2):hover{top:132px}.gm-store-card>:nth-child(2){background-color:rgba(0,0,0,.5);border-radius:16px;cursor:default;opacity:.95;padding-right:10px;position:absolute;right:10px;top:152px;transition:top .2s;width:fit-content}.gm-store-card>:nth-child(2).no-pfp{padding:0 8px}.gm-store-card>:nth-child(3){-webkit-line-clamp:1;margin-top:10px}.gm-store-card>:nth-child(3),.gm-store-card>:nth-child(4){-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;width:calc(100% - 34px)}.gm-store-card>:nth-child(4){-webkit-line-clamp:3;clear:both;margin-top:5px}.gm-store-card>:nth-child(5){align-items:center;display:flex;flex-direction:column;gap:10px;margin-left:auto;order:2;position:absolute;right:12px;top:214px;width:24px}.gm-store-card>:nth-child(5)>*{color:var(--interactive-normal)}.gm-store-card>:nth-child(5)>:hover{color:var(--interactive-hover)}.gm-store-card>:nth-child(6){bottom:12px;display:flex;gap:5px;position:absolute;width:calc(100% - 32px)}.gm-store-card>:nth-child(6)>:first-child{cursor:pointer;display:inline-flex;width:90px}.gm-store-card>:nth-child(6)>:nth-child(2){color:#ddd;cursor:pointer;display:inline-flex;margin-left:14px;min-width:0;padding:2px 5px;width:auto}.gm-store-card>:nth-child(6)>:nth-child(3){margin-top:4px;position:absolute;right:-10px}.gm-store-card>:nth-child(6)>:nth-child(3).hide-toggle{display:none!important}.gm-store-card .inner-2O5YO7{height:100%}.gm-store-card .outer-s4sY2_{height:100%;padding-top:0!important;transition:height .2s}.gm-store-card>:first-child:hover .pagination-20ouY7{bottom:0}.gm-store-card .pagination-20ouY7{bottom:-30px;height:30px;position:absolute;transition:bottom .2s cubic-bezier(0,.8,.5,1);width:100%;z-index:1}.gm-store-card .arrow-vOpU7R,.gm-store-card .dotNormal-9wUKKy{opacity:.6}#gm-settings-inject>div,.gm-store-settings{align-items:center;display:flex;flex-flow:row wrap;justify-content:center}.gm-store-settings>h1{flex-basis:100%}.gm-inline-dropdown{align-items:center;display:flex;margin-left:12px}.gm-inline-dropdown>.select-2TCrqx{margin-left:8px;width:120px}.gm-settings-note-markdown{color:inherit!important;font-size:inherit}.gm-settings-note-markdown .paragraph-3Ejjt0{margin:0}.gm-settings-label-icon{vertical-align:sub}.gm-settings-label-text{margin-left:6px;vertical-align:top}.gm-settings-header-collapser{float:right;height:22px;margin-top:-3px;width:22px}.gm-settings-header-collapser.collapsed{transform:rotate(-90deg)}.gm-store-category{width:100%}.gm-store-category>:nth-child(2){display:grid;grid-auto-flow:column;grid-template-columns:repeat(auto-fill,350px);overflow-x:scroll;width:100%}.gm-store-header{margin-bottom:0;margin-left:10px;margin-top:20px;max-width:100%;width:100%}.gm-store-header>div{font-size:24px;font-weight:700;line-height:26px}.gm-store-search{flex-grow:1;margin-right:12px}.gm-highlight #app-mount:after{box-shadow:0 0 0 99999px rgb(0 0 0/50%);content:"";display:block;z-index:9}.gm-highlight .content-3YMskv [id*=gm]{background:var(--background-modifier-selected);border-radius:0;filter:brightness(2);transition:all .5s;z-index:10}.gm-ootb-modal{width:600px}.gm-modules-preview{align-items:center;display:flex;justify-content:center;margin-bottom:60px;text-align:start}.gm-modules-preview .guildIcon-2Ut8OT{display:none}.gm-modules-preview .cardHeader-r-Jvg2{margin-bottom:12px}.gm-modules-preview .card-B2gQB5{background-color:var(--background-tertiary)}.gm-store-author-pfp{border-radius:50%;display:inline;margin-right:5px;vertical-align:bottom}.gm-store-author-name{line-height:32px}.gm-carousel-modal{background-color:var(--background-primary);border-radius:6px;padding:12px;pointer-events:all}.gm-carousel-modal .outer-s4sY2_{background-color:var(--background-secondary-alt);height:30vw;padding-top:0!important;width:50vw}.gm-carousel-modal .root-3tU4d2{background-color:unset}.gm-carousel-modal .smallCarouselImage-2Qvg9S{cursor:default}.gm-store-loading-container{align-items:center;display:flex;height:100%;justify-content:center}.gm-store-card-mini{cursor:pointer;height:74px;width:100%}.gm-store-card-mini>:first-child{background-color:unset;border-radius:0 8px 8px 0;height:100%;position:absolute;right:0;width:120px}.gm-store-card-mini>:nth-child(3){margin-top:0}.gm-store-card-mini>:nth-child(4){-webkit-line-clamp:1;width:75%}.gm-store-card-mini>:nth-child(2),.gm-store-card-mini>:nth-child(5),.gm-store-card-mini>:nth-child(6){display:none}.gm-modules-container{display:flex;flex-flow:row wrap;grid-template-columns:none;justify-content:center}.gm-store-card-mini .pagination-20ouY7{display:none}.gm-store-card-mini .smallCarouselImage-2Qvg9S{cursor:unset}.gm-repos-modal-icon-Verified{color:var(--status-positive-background)}.gm-repos-modal-icon-Alert{color:var(--status-danger-background)}.gm-repos-modal-icon-Alert .icon-1ihkOt{height:12px;width:12px}.gm-repos-modal-icon-Help{color:var(--status-warning-background)}.gm-error-boundary{display:flex;flex-flow:column;height:100%;width:100%}.gm-error-boundary>:first-child{display:flex;justify-content:center;width:100%}.gm-error-boundary>:first-child>:first-child{background-image:url(https://goosemod.com/img/goose_glitch.jpg);background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:50%;display:block;height:48px;margin-right:22px;object-fit:cover;overflow:hidden;pointer-events:none;width:48px}.gm-error-boundary>:first-child>:nth-child(2){margin-top:-2px}.gm-error-boundary>:first-child>:nth-child(2) .title-3KTIjF{color:var(--interactive-normal);font-family:var(--font-primary);margin-bottom:0;margin-left:1px}.gm-error-boundary>:nth-child(2){display:flex;gap:40px;justify-content:center;margin-top:28px;width:100%}.gm-error-boundary>:nth-child(3){align-items:center;color:var(--header-secondary);display:flex;justify-content:flex-end;margin-top:28px}.gm-error-boundary>:nth-child(3)>:first-child{height:24px;margin-right:4px;width:24px}.gm-error-boundary>:nth-child(4){margin-top:8px;width:100%}.gm-error-boundary>:nth-child(4) pre{margin-bottom:28px}.layer-v9HyYc{z-index:999}.container-ZMc96U.themed-Hp1KC_{--background-primary:unset}.container-2cd8Mz{background:var(--background-primary)!important}#gm-sponsor-modal .headerTitle-kLIB73{background-image:url(https://goosemod.com/img/goose_gold.jpg);background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:50%;height:60px}#gm-sponsor-modal .headerTitle-kLIB73:after{color:var(--text-normal);content:"GooseMod Sponsor";display:block;font-family:var(--font-display);font-size:24px;margin-left:70px;margin-top:6px;width:140px}#gm-sponsor-modal .guildBackground-3BSNJY>svg:first-child{display:none}#gm-sponsor-modal .content-2eQb8J{padding:16px 8px 16px 16px}#gm-sponsor-modal .content-2eQb8J>div:not(:last-child){margin-bottom:32px}#gm-sponsor-modal .footer-31IekZ{left:-16px;top:16px;width:calc(100% - 8px)}#gm-sponsor-modal .content-2eQb8J>div:first-child{color:var(--text-normal);font-family:var(--font-primary);font-size:16px;line-height:20px}';styleInject(css_248z);var sleep=e=>new Promise((t=>setTimeout(t,e)));const fromStr=e=>e.replace("rgb(","").replace(")","").split(", "),toStr=([e,t,o])=>`rgb(${e}, ${t}, ${o})`,light=(e,t)=>toStr(fromStr(e).map((e=>e*t))),gmColor="88, 101, 242",regionColor="114, 137, 218",makeRegionStyle=e=>`background-color: rgb(${e}); color: white; border-radius: 4px; border: 2px solid ${light(e,.5)}; padding: 3px 6px 3px 6px; font-weight: bold;`,debug=(e,...t)=>{const o=e.split("."),s=o.map((e=>`%c${e}%c`)),n=o.reduce((e=>e.concat(makeRegionStyle(regionColor),"")),[]);console.log(`%cGooseMod%c ${s.join(" ")}`,makeRegionStyle(gmColor),"",...n,...t)};var Logger={__proto__:null,debug:debug};let wpRequire;window.webpackChunkdiscord_app.push([[Math.random()],{},e=>{wpRequire=e}]);const all=()=>Object.keys(wpRequire.c).map((e=>wpRequire.c[e].exports)).filter((e=>e)),wrapFilter=e=>t=>{try{return e(t)}catch{return!1}},find=(e,t=!0)=>{const o=wrapFilter(e);for(const e of all()){if(t&&e.default&&o(e.default))return e.default;if(o(e))return e}},findAll=(e,t=!0)=>{const o=wrapFilter(e),s=[];for(const e of all())t&&e.default&&o(e.default)&&s.push(e.default),o(e)&&s.push(e);return s},findByProps=(...e)=>find((t=>e.every((e=>void 0!==t[e])))),findByPropsAll=(...e)=>findAll((t=>e.every((e=>void 0!==t[e])))),findByPrototypes=(...e)=>find((t=>t.prototype&&e.every((e=>void 0!==t.prototype[e])))),findByDisplayName=e=>{const t=find((t=>t.displayName===e));return t||"Text"!==e?"Header"===e?find((e=>"LegacyHeader"===e.displayName)):t:find((e=>"LegacyText"===e.displayName))},findByDisplayNameAll=e=>findAll((t=>t.displayName===e)),findByModuleId=e=>wpRequire.c[e],common={React:findByProps("createElement"),ReactDOM:findByProps("render","hydrate"),Flux:findByProps("Store","connectStores"),FluxDispatcher:findByProps("register","wait"),i18n:findByProps("Messages","_requestedLocale"),channels:findByProps("getChannelId","getVoiceChannelId"),constants:findByProps("API_HOST")};var WebpackModules={__proto__:null,all:all,find:find,findAll:findAll,findByProps:findByProps,findByPropsAll:findByPropsAll,findByPrototypes:findByPrototypes,findByDisplayName:findByDisplayName,findByDisplayNameAll:findByDisplayNameAll,findByModuleId:findByModuleId,common:common},_GMErrorBoundary=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByDisplayName("FormTitle"),o=goosemod.webpackModules.findByProps("Sizes","Colors","Looks","DropdownSizes"),s=goosemod.webpackModules.find((e=>"Markdown"===e.displayName&&e.rules)),n=goosemod.webpackModules.findByDisplayName("DropdownArrow");return class extends e.PureComponent{constructor(e){super(e),this.state={error:!1}}componentDidCatch(e,t){console.log("honk",{error:e,moreInfo:t});const o=decodeURI(e.stack.split("\n").filter((e=>!e.includes("/assets/"))).join("\n")),s=decodeURI(t.componentStack.split("\n").slice(1,9).join("\n")),n=o.match(/\((.*) \| GM Module:/)?.[1]||s.match(/\((.*) \| GM Module:/)?.[1];let a=n||"Unknown";const r=n?"Plugin":"Cause";"Unknown"===a&&(o.includes("GooseMod")&&(a="GooseMod Internals"),(o.toLowerCase().includes("powercord")||o.toLowerCase().includes("betterdiscord"))&&(a="Other Mods")),this.setState({error:!0,suspectedCause:{name:a,type:r},errorStack:{raw:e.stack,useful:o},componentStack:{raw:t.componentStack,useful:s}})}render(){return this.state.toRetry&&(this.state.error=!1),setTimeout((()=>{this.state.toRetry=!0}),100),this.state.error?e.createElement("div",{className:"gm-error-boundary"},e.createElement("div",{},e.createElement("div",{}),e.createElement(t,{tag:"h1"},"GooseMod has handled an error",e.createElement(s,{},`## Suspected ${this.state.suspectedCause.type}: ${this.state.suspectedCause.name}`))),e.createElement("div",{},e.createElement(o,{color:o.Colors.BRAND,size:o.Sizes.LARGE,onClick:()=>{this.state.toRetry=!0,this.forceUpdate()}},"Retry"),e.createElement(o,{color:o.Colors.RED,size:o.Sizes.LARGE,onClick:()=>{location.reload()}},"Refresh")),e.createElement("div",{onClick:()=>{this.state.toRetry=!1,this.state.showDetails=!this.state.showDetails,this.forceUpdate()}},e.createElement("div",{style:{transform:`rotate(${this.state.showDetails?"0":"-90"}deg)`}},e.createElement(n,{width:24,height:24})),this.state.showDetails?"Hide Details":"Show Details"),this.state.showDetails?e.createElement("div",{},e.createElement(s,{},"# Error Stack"),e.createElement(s,{},`\`\`\`\n${this.state.errorStack.useful}\n\`\`\``),e.createElement(s,{},"# Component Stack"),e.createElement(s,{},`\`\`\`\n${this.state.componentStack.useful}\n\`\`\``),e.createElement(s,{},"# Debug Info"),e.createElement(s,{},`\`\`\`\n${goosemod.genDebugInfo()}\n\`\`\``)):null):this.props.children}}};let GMErrorBoundary;const generateIdSegment=()=>Math.random().toString(16).substring(2),generateId=(e=3)=>new Array(e).fill(0).map((()=>generateIdSegment())).join(""),modIndex={},isReactComponent=e=>!(!e||!e.prototype?.render&&!e.displayName),beforePatches=(e,t,o,s,n)=>{const a=modIndex[o][n].before;if(0===a.length)return t;let r=t;for(const t of a)try{let o=t.call(e,r);if(!1===o)return!1;Array.isArray(o)&&(r=o)}catch(e){console.error(`Before patch (${o} - ${s}) failed, skipping`,e)}return r},insteadPatches=(e,t,o,s,n,a)=>{const r=modIndex[s][a].instead;if(0===r.length)return o.apply(e,t);let i;for(const a of r)try{let s=a.call(e,t,o.bind(e));void 0!==s&&(i=s)}catch(e){console.error(`Instead patch (${s} - ${n}) failed, skipping`,e)}return i},afterPatches=(e,t,o,s,n,a)=>{const r=modIndex[s][a].after;let i=o;for(const o of r)try{let s=o.call(e,t,i);void 0!==s&&(i=s)}catch(e){console.error(`After patch (${s} - ${n}) failed, skipping`,e)}return i},generateNewFunction=(e,t,o,s)=>function(...n){const a=beforePatches(this,n,t,o,s);let r;if(Array.isArray(a)){const i=insteadPatches(this,n,e,t,o,s);r=afterPatches(this,a,i,t,o,s)}if(modIndex[t][s].harden){GMErrorBoundary||(GMErrorBoundary=_GMErrorBoundary());const{React:e}=goosemod.webpackModules.common;return e.createElement(GMErrorBoundary,{},r)}return r},patch$a=(e,t,o,s=!1,n=!1)=>{if("function"!=typeof e[t])return goosemod.logger.debug("patcher","Failed to patch as key isn't func",e,t),()=>{};if(!e._goosemodPatcherId){const t=generateId();e._goosemodPatcherId=t,modIndex[t]={}}const a=e._goosemodPatcherId,r=`gm-${t}`;if(!modIndex[a][r]){const o=e[t];e[t]=Object.assign(generateNewFunction(o,a,t,r),o),e[t].toString=()=>o.toString();let s=!1;isReactComponent(o)&&(s=!0),e.render&&("render"!==t?patch$a(e,"render",(()=>{})):s=!0),o.displayName?.endsWith("Item")&&(s=!1),modIndex[a][r]={before:[],after:[],instead:[],harden:s,original:o}}const i=n?"instead":s?"before":"after",d=modIndex[a][r][i].push(o);return()=>{modIndex[a][r][i].splice(d-1,1);["before","after","instead"].every((e=>0===modIndex[a][r][e].length))&&(e[t]=modIndex[a][r].original,delete e._goosemodPatcherId)}},uninjectors$1={},inject=(e,t,o,s,n=!1)=>{uninjectors$1[e]=patch$a(t,o,s,n)},uninject=e=>!!uninjectors$1[e]&&(uninjectors$1[e](),!0);var simpleTooltip=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByProps("tooltipBottom","tooltipRight");return class extends e.PureComponent{constructor(e){super(e),this.props.position=this.props.position.toLowerCase(),this.state={}}render(){return this.props.children({onMouseEnter:async()=>{document.querySelector(".gm-tooltip")&&document.querySelector(".gm-tooltip").remove();let e=document.createElement("div");document.querySelectorAll(".layerContainer-2v_Sit")[1].appendChild(e);const o=document.querySelector(`.gm-tooltipref-${this.state.refId}`).getBoundingClientRect();e.outerHTML=`<div class="layer-2aCOJ3 disabledPointerEvents-2AmYRc gm-tooltip" style="position: absolute; top: -1000px; left: -1000px;"><div class="${t[`tooltip${this.props.position[0].toUpperCase()+this.props.position.substring(1)}`]} tooltip-14MtrL tooltipPrimary-3qLMbS tooltipDisablePointerEvents-1huO19" style="opacity: 1; transform: none;"><div class="tooltipPointer-3L49xb"></div><div class="tooltipContent-Nejnvh tooltip-1j5_GT text-sm-normal-3Zj3Iv">${this.props.text}</div></div></div>`,e=document.querySelector(".gm-tooltip");const s=e.getBoundingClientRect();switch(this.props.position){case"top":e.style.left=o.left+o.width/2-s.width/2+"px",e.style.top=o.top-s.height-8+"px";break;case"left":e.style.left=o.left-s.width-8+"px",e.style.top=o.top+o.height/2-s.height/2+"px"}},onMouseLeave:()=>{document.querySelector(".gm-tooltip")&&document.querySelector(".gm-tooltip").remove()},text:this.props.text,className:`gm-tooltipref-${this.state.refId=Math.random().toString().split(".")[1]}`})}}};const getReactInstance=e=>e&&e[Object.keys(e).find((e=>e.startsWith("__reactInternalInstance")||e.startsWith("__reactFiber$")))],getNodeInternals=e=>e&&e._reactInternalFiber||e._reactInternals,getOwnerInstance=e=>{let t=getReactInstance(e);for(;t.return;)if(t=t.return,t.stateNode?._reactInternals)return t.stateNode},findInTree=(e,t,o)=>{const{walkable:s=null,ignore:n=[]}=o??{};return e&&"object"==typeof e?"string"==typeof t?e[t]:t(e)?e:Array.isArray(e)?e.map((e=>findInTree(e,t,o))).find((e=>e)):(s||Object.keys(e)).map((s=>!n.includes(s)&&findInTree(e[s],t,o))).find((e=>e)):null},findInReactTree=(e,t)=>findInTree(e,t,{walkable:["props","children","child","sibling"]});var ReactUtils={__proto__:null,getReactInstance:getReactInstance,getNodeInternals:getNodeInternals,getOwnerInstance:getOwnerInstance,findInTree:findInTree,findInReactTree:findInReactTree};let goosemodScope$j={};const setThisScope$m=e=>{goosemodScope$j=e},labelToId=e=>e.toLowerCase().replace(/ /g,"-"),getInjectId=e=>`gm-cm-${e}`,patchTypeToNavId=e=>{switch(e){case"user":return"user-context";case"message":return"message";default:return e}},getExtraInfo=e=>{try{switch(e){case"message":return getNodeInternals(getOwnerInstance(document.getElementById("message"))).return.return.memoizedProps;case"message-actions":return getNodeInternals(getOwnerInstance(document.getElementById("message-actions"))).return.return.memoizedProps;case"user-context":return getNodeInternals(getOwnerInstance(document.getElementById("user-context"))).return.return.return.return.return.return.memoizedProps;default:return}}catch(e){return}},generateElement=(e,t,o,s,n,{Menu:a,React:r})=>{const i=void 0!==e.checked;e.id=e.id||labelToId(e.label);let d=t;"function"==typeof d&&(d=d()),d&&(d=d.map((e=>(e.originalAction||(e.originalAction=e.action),e)))),e.action=function(){return i?(e.checked=!e.checked,c.props.checked=e.checked,getOwnerInstance(document.querySelector(`[id^="${o}-"][id*="${e.id}"]`)).props.onMouseEnter(),e.originalAction(arguments,n,e.checked)):e.originalAction(arguments,n)};const l=i?a.MenuCheckboxItem:a.MenuItem,c=void 0!==d?r.createElement(l,e,...d.map((e=>generateElement(e,e.sub,o,s,n,{Menu:a,React:r})))):r.createElement(l,e);return c},patch$9=(e,t)=>{const{React:o}=goosemodScope$j.webpackModules.common,s=goosemodScope$j.webpackModules.findByProps("MenuItem"),n=patchTypeToNavId(e);return t.originalAction=t.action,patch$a(s,"default",(a=>{if(a.length<1)return;const[{navId:r,children:i}]=a;if(r!==n&&("message"!==n||"message-actions"!==r))return a;if(findInReactTree(i,(e=>e?.props?.id===(t.id||labelToId(t.label)))))return a;const d=Object.assign({},t),l=generateElement(d,d.sub,n,e,Object.assign({},getExtraInfo(r)),{Menu:s,React:o});let c=findInReactTree(i,(e=>e&&e.props&&!0===e.props.goosemod));return c?(Array.isArray(c.props.children)||(c.props.children=[c.props.children]),c.props.children.push(l)):(c=o.createElement(s.MenuGroup,{goosemod:!0},l),i.push([o.createElement(s.MenuSeparator),c])),a}),!0)},uninjectors={},add$1=(e,t)=>{uninjectors[getInjectId(t.id||labelToId(t.label))]=patch$9(e,t)},remove$3=e=>{const t=getInjectId(labelToId(e));return!!uninjectors[t]&&(uninjectors[t](),!0)};var _contextMenu={__proto__:null,setThisScope:setThisScope$m,labelToId:labelToId,getInjectId:getInjectId,patchTypeToNavId:patchTypeToNavId,getExtraInfo:getExtraInfo,patch:patch$9,add:add$1,remove:remove$3};let goosemodScope$i={};const setThisScope$l=e=>{goosemodScope$i=e},patch$8=(e,t,o)=>{const{React:s}=goosemodScope$i.webpackModules.common,n=goosemodScope$i.webpackModules.findByDisplayName("Tooltip"),{icon:a}=goosemodScope$i.webpackModules.findByProps("icon","isHeader"),r=goosemodScope$i.webpackModules.find((e=>e.default&&"MiniPopover"===e.default.displayName));return patch$a(r,"default",((i,d)=>{const l=findInReactTree(d,(e=>e&&e.message));return l?(d.props.children.unshift(s.createElement(n,{position:"top",text:e},(({onMouseLeave:e,onMouseEnter:n})=>s.createElement(r.Button,{onClick:()=>{o(l)},onMouseEnter:n,onMouseLeave:e},"string"!=typeof t?t:s.createElement("img",{src:t,width:"24px",height:"24px",className:a}))))),d):d}))};var _miniPopover={__proto__:null,setThisScope:setThisScope$l,patch:patch$8};let goosemodScope$h={};const setThisScope$k=e=>{goosemodScope$h=e},patch$7=(e,t,o,{inUpload:s=!1,inReadonlyChannels:n=!1}={})=>{const{React:a}=goosemodScope$h.webpackModules.common,r=goosemodScope$h.webpackModules.findByDisplayName("Tooltip"),i=goosemodScope$h.webpackModules.findByProps("Looks","DropdownSizes"),d=goosemodScope$h.webpackModules.findByProps("button"),l=goosemodScope$h.webpackModules.findByProps("buttonWrapper","pulseButton"),c=goosemodScope$h.webpackModules.findByProps("button","textArea"),m=goosemodScope$h.webpackModules.find((e=>e.type&&e.type.render&&"ChannelTextAreaContainer"===e.type.render.displayName));return patch$a(m.type,"render",((m,p)=>{const g=findInReactTree(p,(e=>e&&e.className&&0===e.className.indexOf("buttons-")));return!g||!s&&!0===p.props.children[0].ref.current?.classList?.contains("channelTextAreaUpload-3t7EIx")||!n&&!0===p.props.children[0].ref.current?.classList?.contains("channelTextAreaDisabled-8rmlrp")||g.children.unshift(a.createElement("div",null,a.createElement(r,{position:"top",text:e},(({onMouseLeave:e,onMouseEnter:s})=>a.createElement(i,{look:i.Looks.BLANK,size:i.Sizes.ICON,onClick:()=>{o(g)},onMouseEnter:s,onMouseLeave:e},"string"!=typeof t?t:a.createElement("img",{src:t,width:"24px",height:"24px",className:`${c.button} ${d.contents} ${l.button}`})))))),p}))};var _channelTextAreaButtons={__proto__:null,setThisScope:setThisScope$k,patch:patch$7};let goosemodScope$g={},Commands;const setThisScope$j=e=>{goosemodScope$g=e,Commands=goosemodScope$g.webpackModules.findByProps("BUILT_IN_COMMANDS","BUILT_IN_SECTIONS");const{React:t}=goosemodScope$g.webpackModules.common,o=goosemod.webpackModules.findByProps("getIconComponent"),s=goosemod.webpackModules.find((e=>"ApplicationCommandItem"===e.default?.displayName)),n=goosemod.webpackModules.findByProps("useSearchManager"),a={id:applicationId,type:0,name:"GooseMod"};goosemod.patcher.patch(o,"getIconComponent",(([e])=>{if(e.id===applicationId)return e=>t.createElement("div",{className:"wrapper-1wwiGV selectable-fgiA2c",style:{width:e.width,height:e.height,padding:e.padding??0}},t.createElement("img",{src:"https://goosemod.com/img/logo.jpg",style:{width:e.width,height:e.height,borderRadius:"50%"},className:"icon-1kx1ir"}))})),goosemod.patcher.patch(s,"default",(([{command:e}],o)=>(e.applicationId===applicationId&&(o.props.children[0]=t.createElement("div",{className:"wrapper-3t15Cn image-1a_IXB",style:{width:32,height:32}},t.createElement("img",{src:"https://goosemod.com/img/logo.jpg",style:{width:32,height:32,borderRadius:"50%"},className:"icon-1kx1ir"}))),o))),goosemod.patcher.patch(n,"useSearchManager",((e,t)=>{const o=Object.values(Commands.BUILT_IN_COMMANDS).filter((e=>e.applicationId===applicationId));if(0===o.length)return t;t.activeSections.find((e=>e.id===a.id))||t.activeSections.push(a),t.sectionDescriptors.find((e=>e.id===a.id))||t.sectionDescriptors.push(a);let s=t.commandsByActiveSection.find((e=>e.section.id===a.id));if(s?s.data=o:null!=t.filteredSectionId&&t.filteredSectionId!==applicationId||t.commandsByActiveSection.push({section:a,data:o}),t.commandsByActiveSection.find((e=>"-1"===e.section.id))){const e=t.commandsByActiveSection.find((e=>"-1"===e.section.id));e.data=e.data.filter((e=>e.applicationId!==applicationId))}return t}))},applicationId="-3",add=(e,t,o,s=[])=>{const n=Commands;for(const e of s)e.displayName=e.displayName??e.name;n.BUILT_IN_COMMANDS.push({applicationId:applicationId,type:1,inputType:0,description:t,name:e,displayName:e,displayDescription:t,execute:o,options:s,id:`-${Math.random().toString().split(".")[1].substring(0,5)}`})},remove$2=e=>{const t=Commands;t.BUILT_IN_COMMANDS=t.BUILT_IN_COMMANDS.filter((t=>t.name!==e))};var _commands={__proto__:null,setThisScope:setThisScope$j,add:add,remove:remove$2};let goosemodScope$f={};const setThisScope$i=e=>{goosemodScope$f=e;const{BOT_AVATARS:t}=goosemodScope$f.webpackModules.findByProps("BOT_AVATARS","DEFAULT_AVATARS");t.GooseMod="https://cdn.discordapp.com/avatars/760559484342501406/5125aff2f446ad7c45cf2dfd6abf92ed.webp"},send=(e,t="GooseMod")=>{const{createBotMessage:o}=goosemodScope$f.webpackModules.findByProps("createBotMessage"),{getChannelId:s}=goosemodScope$f.webpackModules.findByProps("getChannelId","getVoiceChannelId"),{receiveMessage:n}=goosemodScope$f.webpackModules.findByProps("receiveMessage","sendBotMessage"),a=o(s(),"");"string"==typeof e?a.content=e:a.embeds.push(e),a.state="SENT",a.author.id="1",a.author.bot=!0,a.author.discriminator="0000",a.author.avatar="GooseMod",a.author.username=t,n(s(),a)};let notices$1=[],goosemodScope$e={},updateCall;const setThisScope$h=async e=>{goosemodScope$e=e;const t=goosemodScope$e.webpackModules.findByProps("base","sidebar");for(;void 0===document.getElementsByClassName(t.base)[0];)await sleep(10);const o=getOwnerInstance(document.getElementsByClassName(t.base)[0]),{React:s}=goosemodScope$e.webpackModules.common;class n extends s.PureComponent{constructor(e){super(e),this._updateCall=()=>this.forceUpdate()}componentDidMount(){updateCall=this._updateCall}componentWillUnmount(){}render(){return notices$1.length>0?notices$1.shift().react:null}}patch$a(o.props.children[0],"type",((e,o)=>(goosemod.reactUtils.findInReactTree(o,(e=>e.className===t.base)).children.unshift(s.createElement(n)),o))),o.forceUpdate()},patch$6=(e,t,o,s="brand")=>{const n=goosemodScope$e.webpackModules.findByProps("colorDanger","notice")[`color${s[0].toUpperCase()+s.substring(1).toLowerCase()}`],a=goosemodScope$e.webpackModules.findByProps("NoticeCloseButton","NoticeButton"),{React:r}=goosemodScope$e.webpackModules.common,i=generateId(),d=r.createElement(a.default,{class:"goosemod-notice",id:i,color:n},r.createElement(a.NoticeCloseButton,{onClick:()=>{notices$1=notices$1.filter((e=>e.id!==i)),updateCall()}}),e,r.createElement(a.NoticeButton,{onClick:()=>{o()}},t));notices$1.push({react:d,id:i}),updateCall()};var _notices={__proto__:null,get notices(){return notices$1},setThisScope:setThisScope$h,patch:patch$6};let goosemodScope$d={};const setThisScope$g=e=>{goosemodScope$d=e},patch$5=(e,t,o,{atEnd:s=!1,showWhere:n=["dm","channel"]}={})=>{const{React:a}=goosemodScope$d.webpackModules.common,r=goosemod.webpackModules.findByProps("title","themed","icon","icon","iconBadge"),i=goosemodScope$d.webpackModules.find((e=>e.default&&"HeaderBar"===e.default.displayName));return patch$a(i,"default",((d,l)=>{const c=l.props.children.props.children[1].props.children.props.children;let m="other";if(null===c[1])m="home";else switch(c[0][1].key){case"mute":m="channel";break;case"calls":m="dm"}return n.includes(m)?(c[s?"push":"unshift"](a.createElement(i.Icon,{"aria-label":e,tooltip:e,disabled:!1,showBadge:!1,selected:!1,icon:()=>"string"!=typeof t?t:a.createElement("img",{src:t,width:"24px",height:"24px",className:`${r}.icon`}),onClick:()=>{o()}})),l):l}))};var _headerBarButtons={__proto__:null,setThisScope:setThisScope$g,patch:patch$5};let goosemodScope$c={};const setThisScope$f=e=>{goosemodScope$c=e},patch$4=(e,t,o,s=(()=>{}),{round:n=!1}={})=>{const{React:a}=goosemodScope$c.webpackModules.common,r=goosemodScope$c.webpackModules.findByDisplayName("Tooltip"),i=goosemodScope$c.webpackModules.findByDisplayName("Clickable"),d=goosemodScope$c.webpackModules.findByProps("profileBadge24","profileBadge22"),l=[];for(const c of goosemodScope$c.webpackModules.findByPropsAll("BadgeSizes"))l.push(patch$a(c,"default",(([{user:l,size:c}],m)=>{if(!o().includes(l.id))return m;let p=d.profileBadge24;switch(c){case 1:p=d.profileBadge22;break;case 2:p=d.profileBadge18}return m.props.children.unshift(a.createElement(r,{position:"top",text:e},(({onMouseLeave:e,onMouseEnter:o})=>a.createElement(i,{onClick:()=>{s()},onMouseEnter:o,onMouseLeave:e},a.createElement("div",{style:{backgroundImage:`url("${t}")`,borderRadius:n?"50%":""},className:`${d.profileBadge} ${p}`}))))),m})));return()=>l.forEach((e=>e()))};var _userBadges={__proto__:null,setThisScope:setThisScope$f,patch:patch$4};const setThisScope$e=e=>{},patch$3=(e,{before:t=!1}={})=>{const o=goosemod.webpackModules.find((e=>e.default&&"function"==typeof e.default&&e.default.toString().includes("e.hideTag"))),{React:s}=goosemod.webpackModules.common;return patch$a(o,"default",(([o],n)=>{const a=e(o);if(!a||""===a.props.children)return;const r=s.createElement("span",{style:{width:"5px",display:"inline-block"}});return delete a.props.style.marginLeft,delete a.props.style.marginRight,t?n.props.children.unshift(a,r):n.props.children.push(r,a),n}))};var _username={__proto__:null,setThisScope:setThisScope$e,patch:patch$3};let goosemodScope$b={};const setThisScope$d=e=>{goosemodScope$b=e},patch$2=(e,t,o,s=(()=>{}),{round:n=!1}={})=>{const{React:a}=goosemodScope$b.webpackModules.common,r=goosemodScope$b.webpackModules.findByDisplayName("Tooltip"),i=goosemodScope$b.webpackModules.findByDisplayName("Clickable"),d=goosemodScope$b.webpackModules.findByProps("guildIconContainer","iconTierNone"),l=goosemod.webpackModules.findByProps("AnimatedBanner");return patch$a(l.default,"type",(function(l,c){if(!o().includes(l[0]?.guild?.id))return c;const m=c.props.children[0].props.children[0];m.__injected||(patch$a(m,"type",(function(o,l){return l.props.children.unshift(a.createElement(r,{position:"top",text:e},(({onMouseLeave:e,onMouseEnter:o})=>a.createElement(i,{onClick:()=>{s()},onMouseEnter:o,onMouseLeave:e},a.createElement("div",{style:{backgroundImage:`url("${t}")`,borderRadius:n?"50%":"",width:"16px",height:"16px",backgroundRepeat:"no-repeat",backgroundSize:"contain",backgroundPosition:"50%",objectFit:"cover"},className:`${d.guildIconContainer}`}))))),l})),m.__injected=!0)}))};var _guildBadges={__proto__:null,setThisScope:setThisScope$d,patch:patch$2};const contextMenu=_contextMenu,miniPopover=_miniPopover,channelTextAreaButtons=_channelTextAreaButtons,commands=_commands,internalMessage=send,notices=_notices,headerBarButtons=_headerBarButtons,userBadges=_userBadges,username=_username,guildBadges=_guildBadges,setThisScope$c=e=>{for(const t of[setThisScope$m,setThisScope$l,setThisScope$k,setThisScope$j,setThisScope$i,setThisScope$h,setThisScope$g,setThisScope$f,setThisScope$e,setThisScope$d])try{t(e)}catch(e){console.error("[GooseMod] Failed to scope patcher module",e,t)}};var Patcher={__proto__:null,contextMenu:contextMenu,miniPopover:miniPopover,channelTextAreaButtons:channelTextAreaButtons,commands:commands,internalMessage:internalMessage,notices:notices,headerBarButtons:headerBarButtons,userBadges:userBadges,username:username,guildBadges:guildBadges,setThisScope:setThisScope$c,patch:patch$a,inject:inject,uninject:uninject,simpleTooltip:simpleTooltip};let goosemodScope$a={};const setThisScope$b=e=>{goosemodScope$a=e},patch$1=()=>{const{React:e}=goosemodScope$a.webpackModules.common,t=goosemodScope$a.webpackModules.findByProps("Sizes","AnimatedAvatar");goosemodScope$a.patcher.patch(t,"default",(([{src:e}],t)=>{if(e.includes("/avatars"))return t.props["data-user-id"]=e.match(/\/avatars\/([0-9]+)\//)[1],t})),goosemodScope$a.patcher.patch(t.AnimatedAvatar,"type",((o,s)=>e.createElement(t.default,{...s.props})))};var _avatar={__proto__:null,setThisScope:setThisScope$b,patch:patch$1};const avatar=_avatar,setThisScope$a=e=>{setThisScope$b(e)},patch=()=>{patch$1()};var Attrs={__proto__:null,avatar:avatar,setThisScope:setThisScope$a,patch:patch};const toastCSS=".gm-toasts {\n position: fixed;\n display: flex;\n top: 0;\n flex-direction: column;\n align-items: center;\n justify-content: flex-end;\n pointer-events: none;\n z-index: 4000;\n\n bottom: 80px;\n right: 40px;\n}\n\n@keyframes gm-toast-up {\n from {\n transform: translateY(0);\n opacity: 0;\n }\n}\n\n.gm-toast {\n animation: gm-toast-up 300ms ease;\n background: rgba(79,84,92,0.5);\n backdrop-filter: blur(2px);\n padding: 22px;\n border-radius: 6px;\n box-shadow: var(--elevation-high);\n font-weight: 500;\n color: #fff;\n user-select: text;\n font-size: 20px;\n opacity: 1;\n margin-top: 40px;\n pointer-events: none;\n user-select: none;\n\n width: 280px;\n text-align: left;\n\n overflow-wrap: break-word;\n}\n\n.gm-toast > :first-child {\n margin-bottom: 12px;\n}\n\n.gm-toast > :last-child {\n color: var(--header-secondary);\n font-size: 18px;\n white-space: pre-line;\n}\n\n@keyframes gm-toast-down {\n to {\n transform: translateY(0px);\n opacity: 0;\n }\n}\n\n.gm-toast.closing {\n animation: gm-toast-down 200ms ease;\n animation-fill-mode: forwards;\n opacity: 1;\n transform: translateY(-10px);\n}\n\n\n.gm-toast.toast-info {\n background-color: hsla(197,calc(var(--saturation-factor, 1)*100%),47.8%, 0.5);\n}\n\n.gm-toast.toast-success {\n background-color: hsla(139,calc(var(--saturation-factor, 1)*66.8%),58.6%, 0.5);\n}\n\n.gm-toast.toast-danger,\n.gm-toast.toast-error {\n background-color: hsla(359,calc(var(--saturation-factor, 1)*82.6%),59.4%, 0.5);\n}\n\n.gm-toast.toast-warning,\n.gm-toast.toast-warn {\n background-color: hsla(38,calc(var(--saturation-factor, 1)*95.7%),54.1%, 0.5);\n}",styleSheet=document.createElement("style");styleSheet.textContent=toastCSS,document.head.appendChild(styleSheet);var showToast=(e,t={})=>{if(t?.type?.startsWith("debug")){if(!goosemod.settings.gmSettings.debugToasts)return;t.type=t.type.replace("debug","")}if(!document.querySelector(".gm-toasts")){const e=document.createElement("div");e.classList.add("gm-toasts"),document.querySelector("#app-mount").appendChild(e)}let{subtext:o="",type:s="",timeout:n=3e3}=t;n*=1.5;const a=document.createElement("div");a.classList.add("gm-toast"),s&&a.classList.add("toast-"+s);const r=document.createElement("div");r.textContent=e,a.appendChild(r);const i=document.createElement("div");i.textContent=o,a.appendChild(i),document.querySelector(".gm-toasts").appendChild(a);const d=()=>{a.classList.add("closing"),setTimeout((()=>{a.remove(),document.querySelectorAll(".gm-toasts .gm-toast").length||document.querySelector(".gm-toasts").remove()}),300)};return setTimeout(d,n),{toastElem:a,closeFn:d}};let goosemodScope$9={};const setThisScope$9=e=>{goosemodScope$9=e},show$1=(e,t,o,s,n)=>new Promise((a=>{const{React:r}=goosemodScope$9.webpackModules.common,{find:i,findByDisplayName:d,findByProps:l}=goosemodScope$9.webpackModules,c=d("Text"),m=i((e=>"Markdown"===e.displayName&&e.rules)),p=l("button","colorRed");(0,l("openModal","updateModal").openModal)((i=>(3===i.transitionState&&a(!1),r.createElement(d("ConfirmModal"),{header:t,confirmText:e,cancelText:s||goosemod.webpackModules.findByPropsAll("Messages")[1].Messages.CANCEL,confirmButtonColor:p[`color${n?n[0].toUpperCase()+n.substring(1).toLowerCase():"Red"}`],onClose:()=>{a(!1)},onCancel:()=>{a(!1),i.onClose()},onConfirm:()=>{a(!0),i.onClose()},transitionState:i.transitionState},...o.split("\n").map((e=>r.createElement(m,{size:c.Sizes.SIZE_16},e)))))))}));let goosemodScope$8={},showHideMod={},originalChangelog={};const setThisScope$8=e=>{goosemodScope$8=e,showHideMod=goosemodScope$8.webpackModules.findByProps("showChangeLog");const t=goosemodScope$8.webpackModules.findByProps("changeLog").changeLog;originalChangelog=Object.assign({},t)},showChangelog=()=>{showHideMod.showChangeLog()},hideChangelog=()=>{showHideMod.hideChangeLog()},resetChangelog=()=>{setChangelog(originalChangelog)},setChangelog=e=>{const t=goosemodScope$8.webpackModules.findByProps("changeLog"),o={template:"standard",revision:1,locale:"en-us",...e};for(const e of Object.keys(t.changeLog))delete t.changeLog[e];for(const e of Object.keys(o))t.changeLog[e]=o[e]};var Changelog={__proto__:null,setThisScope:setThisScope$8,showChangelog:showChangelog,hideChangelog:hideChangelog,resetChangelog:resetChangelog,setChangelog:setChangelog};const image="https://media.discordapp.net/attachments/756146058924392542/771374562184658944/2018-11-14-11-36-30-1200x800.png";let version,generated,goosemodScope$7={};const setThisScope$7=e=>{goosemodScope$7=e},show=async()=>{generated||generate(),goosemodScope$7.changelog.resetChangelog(),goosemodScope$7.changelog.setChangelog(generated),goosemodScope$7.changelog.showChangelog(),await sleep(300);const e=()=>{document.querySelector(".modal-3Hrb0S .size20-9iTTnl").textContent=`GooseMod ${version}`,document.querySelector(".modal-3Hrb0S .footer-31IekZ").remove()};e(),goosemodScope$7.changelog.resetChangelog(),setTimeout(e,300)},generate=()=>{const e=JSON.parse("{\"version\":\"v12.3\",\"date\":\"2021-11-03\",\"body\":\"New Store Badges {added marginTop}\\n======================\\n\\n* **Store UI now uses a badge system to show version, time since last update, and GitHub stars.**\\n\\nGeneral Hotfixes {progress}\\n======================\\n\\n* **Fixed InternalMessage / some commands.**\\n* **Fixed Store using incorrect scrollbars.**\\n* **Fixed Store not working / rendering.**\\n\\nAdditions to APIs {added}\\n======================\\n\\n* **Webpack: Added findByModuleId function.**\\n* **Settings, Header: Added hide prop.**\"}");version=e.version,generated={image:image,date:e.date,body:e.body}};var GoosemodChangelog={__proto__:null,setThisScope:setThisScope$7,show:show,generate:generate};let enabled=!1,todo=["themes","plugins"];const done=e=>{todo.splice(todo.indexOf(e),1)},themes=async()=>{const e=(await Promise.resolve().then((function(){return modulesPreview$1}))).default(),{React:t}=goosemod.webpackModules.common,o=goosemod.webpackModules.findByDisplayName("Header"),s=goosemod.webpackModules.findByDisplayName("Text"),n=goosemod.moduleStoreAPI.modules.filter((e=>e.tags.includes("theme")&&e.images&&e.images[0])).sort(((e,t)=>t.github?.stars-e.github?.stars)),a=Math.floor(Math.random()*(n.length-5));goosemod.webpackModules.find((e=>e.show&&e.show.toString().includes("confirmText"))).show({className:"gm-ootb-modal",title:"Темы",confirmText:"Взглянуть на темы",onConfirm:async()=>{0===goosemod.ootb.todo.length&&(await sleep(2e3),goosemod.ootb.settings())},body:t.createElement("div",{className:"container-1rn8Cv"},t.createElement(e,{modules:n.slice(a,a+3)}),t.createElement(o,{className:"header-2MiVco",size:o.Sizes.SIZE_24},"Украсьте ваш Discord с помощью тем"),t.createElement(s,{className:"byline-3REiHf",size:s.Sizes.SIZE_16,color:s.Colors.HEADER_SECONDARY},"Выбирайте из более чем 100 тем, чтобы отрегулировать и улучшить Ваш пользовательский интерфейс"))})},plugins=async()=>{const e=(await Promise.resolve().then((function(){return modulesPreview$1}))).default(),{React:t}=goosemod.webpackModules.common,o=goosemod.webpackModules.findByDisplayName("Header"),s=goosemod.webpackModules.findByDisplayName("Text"),n=goosemod.moduleStoreAPI.modules.filter((e=>!e.tags.includes("theme")&&e.images&&e.images[0])).sort(((e,t)=>t.github?.stars-e.github?.stars)),a=Math.floor(Math.random()*(n.length-5));goosemod.webpackModules.find((e=>e.show&&e.show.toString().includes("confirmText"))).show({className:"gm-ootb-modal",title:"Плагины",confirmText:"Взглянуть на плагины",onConfirm:async()=>{0===goosemod.ootb.todo.length&&(await sleep(2e3),goosemod.ootb.settings())},body:t.createElement("div",{className:"container-1rn8Cv"},t.createElement(e,{modules:n.slice(a,a+3)}),t.createElement(o,{className:"header-2MiVco",size:o.Sizes.SIZE_24},"Прокачайте свой Discord"),t.createElement(s,{className:"byline-3REiHf",size:s.Sizes.SIZE_16,color:s.Colors.HEADER_SECONDARY},"Плагины улучшают Ваш опыт пользования приложением за счёт всяких удобств"))})},store=async()=>{const e=(await Promise.resolve().then((function(){return modulesPreview$1}))).default(),{React:t}=goosemod.webpackModules.common,o=goosemod.webpackModules.findByProps("transitionTo"),s=goosemod.webpackModules.findByDisplayName("Header"),n=goosemod.webpackModules.findByDisplayName("Text"),a=goosemod.moduleStoreAPI.modules.filter((e=>e.images&&e.images[0])).sort(((e,t)=>t.github?.stars-e.github?.stars)),r=Math.floor(Math.random()*(a.length-5));goosemod.webpackModules.find((e=>e.show&&e.show.toString().includes("confirmText"))).show({className:"gm-ootb-modal",title:"Магазин",confirmText:"Заглянуть в магазин на главном экране",onConfirm:async()=>{o.transitionTo("/channels/@me"),await sleep(100),document.body.classList.add("gm-highlight"),await sleep(3e3),document.body.classList.remove("gm-highlight")},body:t.createElement("div",{className:"container-1rn8Cv"},t.createElement(e,{modules:a.slice(r,r+3)}),t.createElement(s,{className:"header-2MiVco",size:s.Sizes.SIZE_24},"Ищите темы и плагины в магазине"),t.createElement(n,{className:"byline-3REiHf",size:n.Sizes.SIZE_16,color:n.Colors.HEADER_SECONDARY},"GooseMod использует свой собственный магазин, в котором Вы легко можете найти и установить модули"))})},settings=async()=>{const e=(await Promise.resolve().then((function(){return modulesPreview$1}))).default(),{React:t}=goosemod.webpackModules.common,o=goosemod.webpackModules.findByDisplayName("Header"),s=goosemod.webpackModules.findByDisplayName("Text");goosemod.webpackModules.find((e=>e.show&&e.show.toString().includes("confirmText"))).show({className:"gm-ootb-modal",title:"Настройки",confirmText:"Заглянуть в настройки GooseMod",onConfirm:async()=>{goosemod.settings.openSettings(),await sleep(20),document.querySelector('[aria-controls="gm-Настройки-tab"]').click();const e=document.querySelector(".sidebarRegionScroller-3MXcoP");for(e.scrollTop=e.offsetHeight-270;document.querySelector(".closeButton-1tv5uR");)await sleep(100);goosemod.ootb.community()},body:t.createElement("div",{className:"container-1rn8Cv"},t.createElement(e,{modules:[{name:"Экспериментальное",description:"Попробуйте новые экспериментальные функции"},{name:"Утилиты",description:"Делайте резервные копии, сбрасывайте настройки GooseMod, и так далее"},{name:"Опции",description:"Отрегулируйте GooseMod как душе угодно"}]}),t.createElement(o,{className:"header-2MiVco",size:o.Sizes.SIZE_24},"Настройте GooseMod, чтобы подогнать функционал под себя"),t.createElement(s,{className:"byline-3REiHf",size:s.Sizes.SIZE_16,color:s.Colors.HEADER_SECONDARY},"Вы можете изменять много разных настроек"))})},community=async()=>{const e=(await Promise.resolve().then((function(){return modulesPreview$1}))).default(),{React:t}=goosemod.webpackModules.common,o=goosemod.webpackModules.findByDisplayName("Header"),s=goosemod.webpackModules.findByDisplayName("Text");goosemod.webpackModules.find((e=>e.show&&e.show.toString().includes("confirmText"))).show({className:"gm-ootb-modal",title:"Сообщество",confirmText:"Присоединиться к Discord-серверу GooseMod",onConfirm:()=>{window.open("https://goosemod.com/discord")},body:t.createElement("div",{className:"container-1rn8Cv"},t.createElement(e,{modules:[{name:"Задавайте вопросы",description:"Задавайте любые вопросы и получите помощь"},{name:"Новости",description:"Оставайтесь в курсе новостей и анонсов, касающихся GooseMod и связанных проектов"},{name:"Участвуйте",description:"Предлагайте, помогайте другим, и так далее"}]}),t.createElement(o,{className:"header-2MiVco",size:o.Sizes.SIZE_24},"Вступить в сообщество GooseMod"),t.createElement(s,{className:"byline-3REiHf",size:s.Sizes.SIZE_16,color:s.Colors.HEADER_SECONDARY},"Присоединяйтесь к нашему Discord-серверу для дополнительной информации"))})},start=async()=>{const e=(await Promise.resolve().then((function(){return modulesPreview$1}))).default(),{React:t}=goosemod.webpackModules.common,o=goosemod.webpackModules.findByDisplayName("Header"),s=goosemod.webpackModules.findByDisplayName("Text");goosemod.webpackModules.find((e=>e.show&&e.show.toString().includes("confirmText"))).show({className:"gm-ootb-modal",title:"GooseMod",confirmText:"Узнать больше",cancelText:"Не интересно",onConfirm:()=>{goosemod.ootb.enabled=!0,goosemod.ootb.store()},body:t.createElement("div",{className:"container-1rn8Cv"},t.createElement(e,{modules:[{name:"Магазин",description:"Узнайте больше о магазине GooseMod и о том, что в нём есть"},{name:"Настройки",description:"Узнайте больше о настройках для GooseMod и плагинов"},{name:"Сообщество",description:"Присоединяйтесь к нашему Discord-серверу, чтобы задавать вопросы и быть в курсе последних новостей"}]}),t.createElement(o,{className:"header-2MiVco",size:o.Sizes.SIZE_24},"Узнайте больше о GooseMod"),t.createElement(s,{className:"byline-3REiHf",size:s.Sizes.SIZE_16,color:s.Colors.HEADER_SECONDARY},"Пройти короткий тур по ключевым функциям GooseMod"))})};var OOTB={__proto__:null,enabled:enabled,todo:todo,done:done,themes:themes,plugins:plugins,store:store,settings:settings,community:community,start:start};const setThisScope$6=e=>{},startLoadingScreen=()=>{},updateLoadingScreen=e=>{},stopLoadingScreen=()=>{},defaultSettings={changelog:!0,separators:!0,gmBadges:!0,attrs:!1,home:!0,devchannel:!1,snippets:!1,autoupdate:!0,newModuleNotifications:!1,placeholderimage:!1,collapsiblehome:!0,allThemeSettings:!1,debugToasts:!1},loadStore=()=>{const e=JSON.parse(goosemod.storage.get("goosemodGMSettings"))||{};return{...defaultSettings,...e,get:()=>target}},target={uninit:!0};var GMSettings=new Proxy({uninit:!0},{get:(e,t)=>(e.uninit&&(e=loadStore()),e[t]??!1),set:(e,t,o)=>(e.uninit&&(e=loadStore()),e[t]=o,goosemod.storage.set("goosemodGMSettings",JSON.stringify(e)),!0)}),addToHome=async e=>{const{React:t,ReactDOM:o}=e.webpackModules.common,s=e.webpackModules.find((e=>e.default&&"ConnectedPrivateChannelsList"===e.default.displayName)),n=e.webpackModules.findByDisplayName("ListSectionItem"),{LinkButton:a}=e.webpackModules.findByProps("LinkButton"),r=e.webpackModules.findByProps("interactive","selected"),i=e.webpackModules.findByProps("channel","linkButtonIcon"),d=e.webpackModules.findByProps("headerText","privateChannelsHeaderContainer"),l=e.webpackModules.findByProps("icon","iconBadge","title"),c=e.webpackModules.findByProps("scrollerBase","auto","thin"),m={themes:t.createElement(e.webpackModules.findByDisplayName("Eye"),{width:24,height:24}),plugins:t.createElement(e.webpackModules.findByDisplayName("InlineCode"),{width:24,height:24}),snippets:t.createElement(e.webpackModules.findByDisplayName("Pictures"),{width:24,height:24}),expandable:t.createElement(goosemod.webpackModules.findByDisplayName("DropdownArrow"),{className:`${l.icon}`,width:24,height:24})},p=(await Promise.resolve().then((function(){return header$3}))).default(),g=e.webpackModules.findByDisplayName("LoadingPopout"),u=(e,o,s)=>t.createElement(p,{icon:e,title:o,id:s}),h=(e,o)=>t.createElement("div",{className:e?"":`${c.auto}`,id:"gm-settings-inject",style:{padding:"22px",backgroundColor:"var(--background-primary)",height:"100%",overflow:e?"":"hidden scroll"}},o),f=e.webpackModules.findByProps("transitionTo"),y=(e,t,o=0)=>{if(o>5)return!1;const s=e.parentElement;return s.classList.contains(t)&&s||y(s,t,o+1)},b=(...e)=>e.map((e=>document.getElementsByClassName(e)[0])).find((e=>e));let S=e.settings.gmSettings.collapsiblehome&&goosemod.storage.get("goosemodHomeExpanded")||!0,w={plugins:e.settings.items.find((e=>"Плагины"===e[1])),themes:e.settings.items.find((e=>"Темы"===e[1])),snippets:e.settings.items.find((e=>"Сниппеты"===e[1]))},x={plugins:e.settings._createItem(w.plugins[1],w.plugins[2],!1),themes:e.settings._createItem(w.themes[1],w.themes[2],!1),snippets:e.settings._createItem(w.snippets[1],w.snippets[2],!1)};const v=(s,n)=>{const a=[...b("content-98HsJk","content-1SgpWY").children].find(((e,t)=>0!==t&&!e.classList.contains("erd_scroll_detection_container")));for(const e of b("scroller-1JbKMe","scroller-WSmht3").children[0].children)e.children[0]?.classList?.remove?.(r.selected,i.interactiveSelected);setTimeout((()=>{document.getElementById(`gm-home-${n}`).parentElement.classList.add(r.selected,i.interactiveSelected)}),0);const d="snippets"!==n&&Array.isArray(x[n].props.children)?x[n].props.children.filter((e=>"card"===e.props.type)).length:0,l="snippets"!==n?e.moduleStoreAPI.modules.filter((e=>"plugins"===n?!e.tags.includes("theme"):e.tags.includes("theme"))).length:0;if((d!==l||e.settings[`regen${n}`])&&(delete e.settings[`regen${n}`],x[n]=t.createElement("div",{className:"gm-store-loading-container"},t.createElement(g)),(async()=>{"snippets"!==n&&w[n][2].filter((e=>"card"===e.type)).length!==l&&await e.moduleStoreAPI.updateStoreSetting(),x[n]=e.settings._createItem(w[n][1],w[n][2],!1),document.querySelector(`#gm-home-${n}`).click()})()),1===a.children.length&&o.render(((e,o,s,n)=>t.createElement("div",{style:{height:"100%",overflow:"hidden"}},u(e,o,s),h(!1,n)))(m[n],s,n,x[n]),a.children[0]),2===a.children.length||3===a.children.length){let e=a.children.length-2;const t=a.children[e+1].classList.contains("stickyScroller-24zUyY");t&&(e=0),a.children[e+0].className="",o.render(u(m[n],s,n),a.children[e+0]),0!==e&&a.children[e+1].children[1]&&(a.children[e+1].children[1].style.display="none"),t&&(e=1),o.render(h(t,x[n]),0!==e?a.children[e+1].children[0]:a.children[e+1])}e.ootb.enabled&&e.ootb.todo.includes(n)&&(e.ootb[n](),e.ootb.done(n))},k=e.settings.gmSettings.snippets;e.settingsUninjects.push(e.patcher.patch(s,"default",((o,s)=>{if(s.props.children.props.children.some((e=>!0===e?.goosemod)))return;const c=e=>(e.goosemod=!0,e);setTimeout((()=>{b("scroller-1JbKMe","scroller-WSmht3").addEventListener("click",(e=>{const t=y(e.target,i.link);t&&!t.id.startsWith("gm-home-")&&(document.querySelectorAll('[id^="gm-home-"]').forEach((e=>e.parentElement.classList.remove(r.selected,i.interactiveSelected))),setTimeout((()=>{null!==document.getElementById("gm-settings-inject")&&(f.transitionTo("/invalid"),f.back())}),1))}))}),10),s.props.children.props.children.push(c(t.createElement(n,{className:d.privateChannelsHeaderContainer},t.createElement("span",{className:d.headerText},"GooseMod"),e.settings.gmSettings.collapsiblehome?t.createElement("div",{className:`${d.privateChannelRecipientsInviteButtonIcon} ${l.iconWrapper} ${l.clickable} gm-category-collapser`,style:{transform:`rotate(${S?"0":"-90"}deg)`,width:"22px",left:S?"0px":"-2px",top:S?"-6px":"-2px"},onClick:()=>{S=!S,goosemod.storage.set("goosemodHomeExpanded",S);const e=document.querySelector(".gm-category-collapser");e.style.transform=`rotate(${S?"0":"-90"}deg)`,e.style.left=S?"0px":"-2px",e.style.top=S?"-6px":"-2px";document.querySelectorAll('[id^="gm-home-"]').forEach((e=>e.style.display=S?"":"none"))}},m.expandable):null)),c(t.createElement(a,{style:{display:S||"Темы"===b("title-29uC1r","title-17SveM")?.textContent?"block":"none"},icon:()=>m.themes,onClick:()=>v("Темы","themes"),id:"gm-home-themes",text:"Темы",selected:!1})),c(t.createElement(a,{style:{display:S||"Плагины"===b("title-29uC1r","title-17SveM")?.textContent?"block":"none"},icon:()=>m.plugins,onClick:()=>v("Плагины","plugins"),id:"gm-home-plugins",text:"Плагины",selected:!1})),k?c(t.createElement(a,{style:{display:S||"Сниппеты"===b("title-29uC1r","title-17SveM")?.textContent?"block":"none"},icon:()=>m.snippets,onClick:()=>v("Сниппеты","snippets"),id:"gm-home-snippets",text:"Сниппеты",selected:!1})):null)}))),b("privateChannels-1nO12o","privateChannels-oVe7HL")&&(f.transitionTo("/invalid"),f.back()),(async()=>{await e.moduleStoreAPI.updateStoreSetting();for(const t of["themes","plugins"])x[t]=e.settings._createItem(w[t][1],w[t][2],!1);if(!k)return;const t=JSON.parse(goosemod.storage.get("goosemodSnippets"))||{};for(const e in t){const o=t[e];t[e]=document.createElement("style"),t[e].appendChild(document.createTextNode(o)),document.body.appendChild(t[e])}const o=async(o,s)=>{const{fetchMessages:n}=e.webpackModules.findByProps("fetchMessages","sendMessage"),{getRawMessages:a}=e.webpackModules.findByProps("getMessages"),{getChannel:r,hasChannel:i}=e.webpackModules.findByProps("getChannel","getDMFromUserId");if(!i(o))return;await n({channelId:o});const d=r(o),l=Object.values(a(o)).filter((e=>e.content.includes("```css")&&!e.message_reference&&!e.content.includes("quick CSS")&&!e.content.includes("Theme Toggler"))).sort(((e,t)=>t.attachments.length+t.embeds.length-(e.attachments.length+e.embeds.length))),c=e.settings.items.find((e=>"Сниппеты"===e[1]));c[2].push({type:"store-header",text:s},...l.map((o=>({type:"card",tags:[o.id],lastUpdated:0,discordMessage:{guild:d.guild_id,channel:d.id,message:o.id},images:[o.attachments?.[0]?.proxy_url||o.embeds?.[0]?.thumbnail?.proxy_url].filter((e=>e)),name:"",author:[{name:o.author.username,id:o.author.id,avatar:o.author.avatar}],subtext:o.content.replace(/```css(.*)```/gs,""),buttonText:t[o.id]?"Удалить":"Добавить",buttonType:t[o.id]?"danger":"brand",onclick:()=>{const s=c[2].find((e=>e.tags?.includes(o.id))),n=document.querySelector(`[class*="${o.id}"]`).querySelector("button");e.settings.regensnippets=!0,t[o.id]?(t[o.id].remove(),delete t[o.id],n.className=n.className.replace("lookOutlined-3sRXeN colorRed-1TFJan","lookFilled-1Gx00P colorBrand-3pXr91"),n.textContent="Добавить",s.buttonText="Добавить",s.buttonType="brand"):(t[o.id]=document.createElement("style"),t[o.id].appendChild(document.createTextNode(/```css(.*)```/s.exec(o.content)[1])),document.body.appendChild(t[o.id]),n.className=n.className.replace("lookFilled-1Gx00P colorBrand-3pXr91","lookOutlined-3sRXeN colorRed-1TFJan"),n.textContent="Удалить",s.buttonText="Удалить",s.buttonType="danger");const a=Object.assign({},t);for(const e in a)a[e]=a[e].textContent;goosemod.storage.set("goosemodSnippets",JSON.stringify(a))},showToggle:!1,isToggled:()=>!1}))))};await o("755005803303403570","Powercord CSS Snippets"),await o("836694789898109009","BetterDiscord CSS Snippets"),await o("449569809613717518","Black Box CSS Snippets"),x.snippets=e.settings._createItem(w.snippets[1],w.snippets[2],!1)})()},addToContextMenu=(e,t)=>{const o=t=>({label:t,action:async()=>{e.settings.openSettings(),await sleep(10);let o=t;switch(o){case"Настройки":o="settings";break;case"Плагины":o="plugins";break;case"Темы":o="themes";break;case"Сниппеты":o="snippets";break;case"Список изменений":o="changelog"}document.querySelector(`[aria-controls="gm-${o.replace(/ /g,"-").toLowerCase()}-tab"]`).click()}});e.settingsUninjects.push(e.patcher.contextMenu.patch("user-settings-cog",{label:"GooseMod",sub:[o("Настройки"),t?void 0:o("Плагины"),t?void 0:o("Темы"),o("Список изменений")].filter((e=>e))})),e.settingsUninjects.push(e.patcher.contextMenu.patch("user-settings-cog",{label:"Модули GooseMod",sub:()=>e.settings.items.slice(e.settings.items.indexOf(e.settings.items.find((e=>"Модули GooseMod"===e[1])))+1).map((e=>o(e[1])))}))},addToSettingsSidebar=async(e,t)=>{let o;for(;!(o=e.webpackModules.findByDisplayName("SettingsView"));)await sleep(50);const s=e.webpackModules.findByDisplayName("Text"),{React:n}=e.webpackModules.common;e.settingsUninjects.push(e.patcher.patch(o.prototype,"getPredicateSections",((o,a)=>{const r=a.find((e=>"logout"===e.section));return r?(a.splice(a.indexOf(r),0,...e.settings.items.filter((e=>!(t.home&&("Плагины"===e[1]||"Темы"===e[1]||"Сниппеты"===e[1])||!t.snippets&&"Сниппеты"===e[1]))).map((t=>{switch(t[0]){case"item":let o=t[1];switch(o){case"Настройки":o="settings";break;case"Плагины":o="plugins";break;case"Темы":o="themes";break;case"Сниппеты":o="snippets";break;case"Список изменений":o="changelog"}let s={section:"gm-"+o,label:t[1],predicate:()=>{},element:function(){if("function"==typeof t[3])return document.querySelector(".item-3XjbnG.selected-g-kMVV:not(.item-3mHhwr)").click(),t[3](),n.createElement("div");const o=document.querySelector(".standardSidebarView-E9Pc3j nav > div");return"Плагины"!==t[1]&&"Темы"!==t[1]&&"Сниппеты"!==t[1]||(setTimeout((()=>{document.querySelector(".sidebarRegion-VFTUkN").style.maxWidth="218px",document.querySelector(".contentColumnDefault-1VQkGM").style.maxWidth="calc(100vw - 218px - 60px - 20px)"}),10),o.addEventListener("click",(e=>{0!==e.clientX&&"Плагины"!==e.target.textContent&&"Темы"!==e.target.textContent&&"Сниппеты"!==e.target.textContent&&(document.querySelector(".sidebarRegion-VFTUkN").style.maxWidth="50%",document.querySelector(".contentColumnDefault-1VQkGM").style.maxWidth="740px")}))),e.settings._createItem(t[1],t[2])}};return t[4]&&(s.color="#f04747"),s;case"heading":return{section:"HEADER",label:t[1]};case"separator":return{section:"DIVIDER"}}})),{section:"DIVIDER"}),a.push({section:"DIVIDER"},{section:"CUSTOM",element:()=>n.createElement("div",{className:"info-3pQQBb"},n.createElement(s,{className:"line-18uChy",size:s.Sizes.SIZE_12,color:s.Colors.MUTED,tag:"span"},"GooseMod"," ",e.versioning.version," ",n.createElement("span",{className:"versionHash-mssSIL"},"(",e.versioning.hash.substring(0,7),")")),n.createElement(s,{className:"line-18uChy",size:s.Sizes.SIZE_12,color:s.Colors.MUTED,tag:"span"},"GooseMod Ext"," ",window.gmExtension))}),a):a}))),e.settings.isSettingsOpen()&&e.settings.reopenSettings()},addBaseItems=(e,t,o)=>{let s=e.settings.items;e.settings.items=[],e.settings.createHeading("GooseMod");const n=async(o,s)=>{switch(o){case"changelog":if(s){const o=[["item","Список изменений",[""],async()=>{show()},!1]];t.separators&&o.unshift(["separator"]),e.settings.items.splice(e.settings.items.indexOf(e.settings.items.find((e=>"Themes"===e[1])))+1,0,...o)}else e.settings.items.splice(e.settings.items.indexOf(e.settings.items.find((e=>"Change Log"===e[1]))),t.separators?2:1);await e.settings.reopenSettings(),e.settings.openSettingItem("Settings");break;case"devchannel":s?goosemod.storage.set("goosemodUntetheredBranch","dev"):goosemod.storage.remove("goosemodUntetheredBranch");break;case"separators":if(s)t.home||goosemod.settings.items.splice(2,0,["separator"]),t.changelog&&goosemod.settings.items.splice(4,0,["separator"]);else{let t=!0;e.settings.items=e.settings.items.filter(((o,s)=>(e.settings.items[s+1]&&e.settings.items[s+1][1]&&"Модули GooseMod"===e.settings.items[s+1][1]&&(t=!1),!("separator"===o[0]&&t))))}await e.settings.reopenSettings(),e.settings.openSettingItem("Settings");break;case"gmBadges":e.gmBadges[s?"addBadges":"removeBadges"]()}t[o]=s},a=async()=>{await e.confirmDialog("Перезагрузить","Требуется Перезагрузка","Эта настройка **требует перезагрузки для вступления в силу**. До перезагрузки вы **можете наблюдать странное поведение** во время сеанса.")&&location.reload()};e.settings.createItem("Настройки",["",{type:"header",text:"Настройки"},{type:"toggle",text:"Список изменений GooseMod",subtext:"Показывать кнопку просмотра списка изменений GooseMod в настройках",onToggle:e=>n("changelog",e),isToggled:()=>t.changelog},{type:"toggle",text:"Разделители в настройках",subtext:"Показывать разделители между вкладками настроек GooseMod",onToggle:e=>n("separators",e),isToggled:()=>t.separators},{type:"toggle",text:"Магазин на главном экране",subtext:"Показывать магазин GooseMod на главном экране, а не в меню настроек",onToggle:e=>{n("home",e),a()},isToggled:()=>t.home},{type:"header",text:"Магазин"},{type:"toggle",text:"Автообновление",subtext:"Автоматически обновлять репозитории и модули каждый час",onToggle:e=>n("autoupdate",e),isToggled:()=>t.autoupdate},{type:"toggle",text:"Уведомления о новом модуле",subtext:"Показывать всплывающее уведомление каждый раз, когда новый модуль добавляется в Магазин",onToggle:e=>n("newModuleNotifications",e),isToggled:()=>t.newModuleNotifications},{type:"header",text:"Внешний вид"},{type:"toggle",text:"Значки GooseMod",subtext:"Показывать значки почёта пользователей GooseMod",onToggle:e=>n("gmBadges",e),isToggled:()=>t.gmBadges},{type:"header",text:"Утилиты"},{type:"text-and-button",text:"Очистить кэш",subtext:"Очищает (полностью) почти все кэши, используемые GooseMod",buttonText:"Очистить",onclick:async()=>{goosemod.storage.keys().filter((e=>e.toLowerCase().startsWith("goosemod")&&e.includes("Cache"))).forEach((e=>goosemod.storage.remove(e))),a()}},{type:"text-and-button",text:"Начать тур",subtext:"Пройти тур функционала GooseMod снова",buttonText:"Начать",onclick:async()=>{e.settings.closeSettings(),e.ootb.start()}},{type:"text-and-button",text:"Скопировать отладочную информацию",subtext:"Копирует информацию об установке и GooseMod для отчётов и отладки",buttonText:"Скопировать",onclick:async()=>{const{copy:t}=e.webpackModules.findByProps("copy","SUPPORTS_COPY");t(e.genDebugInfo())}},{type:"text-and-danger-button",text:"Сбросить до заводских настроек",subtext:"Полностью сбрасывает настройки GooseMod: удаляет все изменения и модули, как при чистой установке",buttonText:"Сбросить",onclick:async()=>{await e.confirmDialog("Сбросить","Сбросить GooseMod","Сбрасывание настроек GooseMod удаляет все изменения и модули, как при чистой установке. Сброс является необратимым.")&&(await e.remove(),window.location.reload())}},{type:"header",text:"Резервное копирование"},{type:"text-and-button",text:"Создать резервную копию",subtext:"Создаёт файл с резервной копией Ваших модулей и настроек GooseMod",buttonText:"Создать",onclick:()=>{const e=goosemod.storage.keys().filter((e=>e.toLowerCase().startsWith("goosemod")&&!e.includes("Cache"))).reduce(((e,t)=>(e[t]=goosemod.storage.get(t),e)),{}),t=JSON.stringify(e),o=document.createElement("a");o.style.display="none";const s=new Blob([t],{type:"application/json"});o.href=URL.createObjectURL(s),o.download="goosemodBackup.json",document.body.appendChild(o),o.click(),o.remove()}},{type:"text-and-button",text:"Восстановить резервную копию",subtext:"Восстанавливает ваши модули и настройки GooseMod из файла резервной копии, **восстанавливайте только доверенные резервные копии**",buttonText:"Восстановить",onclick:async()=>{const e=document.createElement("input");e.style.display="none",e.type="file",e.click(),await new Promise((t=>{e.onchange=()=>{t()}}));const t=e.files[0];if(!t)return;const o=new FileReader;o.onload=()=>{const e=JSON.parse(o.result);for(const t in e)t.startsWith("goosemod")&&goosemod.storage.set(t,e[t]);location.reload()},o.readAsText(t)}},{type:"header",text:"Интерфейс",collapsed:!0,collapseOffset:1},{type:"subtext",text:"Небольшие изменения, как, например, изменения интерфейса, чтобы GooseMod выглядел так, как Вы желаете"},{type:"toggle",text:"Изображение по умолчанию",subtext:"Использовать изображение-заглушку в Магазине для модулей без изображений",onToggle:e=>{n("placeholderimage",e)},isToggled:()=>t.placeholderimage},{type:"toggle",text:"Складывающаяся категория на главном экране",subtext:"Позволяет скрывать категорию на главном экране нажатием по иконке",onToggle:e=>{n("collapsiblehome",e)},isToggled:()=>t.collapsiblehome},{type:"header",text:"Экспериментальное",collapsed:!0,collapseOffset:1},{type:"subtext",text:"Экспериментальные настройки, скорее всего, не закончены и нестабильны, что может ухудшить впечатления"},{type:"toggle",experimental:!0,text:"Атрибуты данных",subtext:"Добавляет атрибуты данных к некоторым элементам, использующиеся некоторыми темами",onToggle:e=>{n("attrs",e),a()},isToggled:()=>t.attrs},{type:"toggle",experimental:!0,text:"Сниппеты",subtext:"Включить вкладку сниппетов в магазине",onToggle:e=>{n("snippets",e),a()},isToggled:()=>t.snippets},{type:"toggle",experimental:!0,text:"Принудительно использовать настройки тем",subtext:"Принудительно использовать автоматически сгенерированные настройки для всех тем",onToggle:e=>{n("allThemeSettings",e),a()},isToggled:()=>t.allThemeSettings},{type:"toggle",experimental:!0,text:"Topaz",subtext:"Load Topaz with GooseMod. Topaz is in alpha and very experimental.",onToggle:e=>{e?goosemod.storage.set("goosemodTopaz",!0):goosemod.storage.remove("goosemodTopaz"),a()},isToggled:()=>goosemod.storage.get("goosemodTopaz")},{type:"gm-footer"}]),t.separators&&!t.home&&e.settings.createSeparator();let r="По рейтингу",i="Все",d="",l=!1;const c=async()=>{if(l)return;l=!0;const t=t=>{const o=t.querySelectorAll(".title-31JmR4, .title-2dsDLn"),a=o[1],d=[...o[0].getElementsByClassName("gm-store-author-name")].map((e=>e.textContent.split("#")[0])),l=a.childNodes[0].wholeText,c=t.querySelector(".description-3_Ncsb, .description-30xx7u").innerText,m=s.test(l)||s.test(c),p=t.querySelector(".container-3auIfb, .container-2nx-BQ").classList.contains("hide-toggle")?"Магазин":"Установленные";switch(r){case"По алфавиту":t.style.order="";break;case"По дате обновления":{const o=e.moduleStoreAPI.modules.find((e=>e.name===l.trim()));t.style.order=3e9-o.lastUpdated;break}case"По рейтингу":t.style.order=1e4-parseInt(t.children[4].children[0].ariaLabel)}t.style.display=!m||"Магазин"!==n&&n!==p||"Все"!==i&&!d.includes(i.split(" (").slice(0,-1).join(" ("))?"none":"block"},o=[...document.querySelectorAll(":not(.gm-store-category) > div > .gm-store-card")],s=new RegExp(`.*${d}.*`,"i");let n=document.querySelector(".selected-3s45Ha, .selected-g-kMVV")?.textContent||"Магазин";"Магазин"!==n&&"Установленные"!==n&&(n="Магазин"),o.forEach(t);const a=""===d&&"Магазин"===n&&"Все"===i;[...document.getElementsByClassName("gm-store-category")].forEach((e=>e.style.display=a?"block":"none"));const c=document.querySelector(":not(.gm-store-category) > .gm-store-header");if(c&&(c.style.height=a?"":"0px",c.style.opacity=a?"":"0",c.style.margin=a?"":"0"),document.querySelector(".gm-store-card-loading-placeholder")){let e=[...document.querySelectorAll(".gm-store-card-loading-placeholder")];for(;0!==e.length;)e=e.filter((e=>"gm-store-card-loading-placeholder"===e.className||(t(e),!1))),await sleep(10)}if(c&&!a&&"Ничего не найдено"!==c.textContent&&o.every((e=>"none"===e.style.display))){if(c.style.height="",c.style.opacity="",c.style.margin="",c.dataset.original=c.textContent,c.children[0].textContent="Ничего не найдено",""!==d&&"Магазин"===n&&"Все"===i)if(o[0]&&o[0].classList.contains("theme")){0!==goosemod.moduleStoreAPI.modules.filter((e=>!e.tags.includes("theme")&&(s.test(e.name)||s.test(e.description)))).length&&(c.children[0].textContent="Ничего не найдено, возможно Вы имели в виду плагины?",c.style.cursor="pointer",c.onclick=async()=>{const e=d;document.getElementById("gm-home-plugins").click(),await sleep(100);const t=document.querySelector(".input-3Xdcic, .input-2m5SfJ");t.value=e,t.__reactProps$.onChange({currentTarget:{value:e}})})}else{0!==goosemod.moduleStoreAPI.modules.filter((e=>e.tags.includes("theme")&&(s.test(e.name)||s.test(e.description)))).length&&(c.children[0].textContent="Ничего не найдено, возможно Вы имели в виду темы?",c.style.cursor="pointer",c.onclick=async()=>{const e=d;document.getElementById("gm-home-themes").click(),await sleep(100);const t=document.querySelector(".input-3Xdcic, .input-2m5SfJ");t.value=e,t.__reactProps$.onChange({currentTarget:{value:e}})})}}else c&&"Все темы"!==c.textContent&&"Все плагины"!==c.textContent&&(c.children[0].textContent=c.dataset.original,c.style.cursor="",c.onclick=()=>{});l=!1};e.settings.updateModuleStoreUI=c,["Плагины","Темы"].forEach(((t,o)=>e.settings.createItem(t,["",{type:"search",placeholder:0===o?"Искать плагины":"Искать темы",onchange:e=>{d=e,c()},storeSpecific:!0},{type:"dropdown-individual",label:"Сортировка",options:["По рейтингу","По алфавиту","По дате обновления"],onchange:e=>{r=e,c()}},{type:"dropdown-individual",label:"Автор",options:()=>{const t=e.moduleStoreAPI.idCache.getCache(),o=[...e.moduleStoreAPI.modules.reduce(((e,o)=>{let s=o.authors;Array.isArray(s)||(s=[s]);for(const o of s){let s=o;if("object"==typeof o)s=o.n;else if(o.match(/^[0-9]{17,18}$/))s=t[o]?.data?.username;else{const e=o.match(/(.*) \(([0-9]{17,18})\)/);null!==e&&(s=e[1])}s&&e.set(s,(e.get(s)||0)+1)}return e}),new Map).entries()].sort(((e,t)=>t[1]-e[1])).map((e=>`${e[0]} (${e[1]})`));return o.unshift("Все"),o},onchange:e=>{i=e,c()}},{type:"store-category",text:"Популярное",sort:(e,t)=>t.github?.stars-e.github?.stars},{type:"store-category",text:"Недавно обновлённое",sort:(e,t)=>t.lastUpdated-e.lastUpdated},{type:"store-header",text:0===o?"Все плагины":"Все темы"},{type:"gm-footer"}]))),e.settings.createItem("Сниппеты",["",{type:"search",placeholder:"Search Snippets",onchange:e=>{const t=document.getElementsByClassName("gm-store-card"),o=new RegExp(`.*${e}.*`,"i"),s=e=>{for(const t of e){const e=t.getElementsByClassName("markdown-11q6EU")[0].textContent,s=o.test(e);t.style.display=s?"":"none"}};0===t.length?setTimeout((()=>s(document.getElementsByClassName("gm-store-card"))),10):s(t)},storeSpecific:!0}]),t.changelog&&(t.separators&&e.settings.createSeparator(),e.settings.createItem("Список изменений",[""],(async()=>{show()}))),e.settings.createSeparator(),e.settings.createHeading("Модули GooseMod"),e.settings.items=e.settings.items.concat(s)},getItems=async()=>({divider:(await Promise.resolve().then((function(){return divider}))).default(),header:(await Promise.resolve().then((function(){return header$1}))).default(),toggle:(await Promise.resolve().then((function(){return toggle$1}))).default(),text:(await Promise.resolve().then((function(){return text$1}))).default(),"text-and-child":(await Promise.resolve().then((function(){return textAndChild$1}))).default(),"text-and-button":(await Promise.resolve().then((function(){return textAndButton$1}))).default(),"text-and-color":(await Promise.resolve().then((function(){return textAndColor$1}))).default(),button:(await Promise.resolve().then((function(){return button$1}))).default(),search:(await Promise.resolve().then((function(){return search$1}))).default(),"dropdown-individual":(await Promise.resolve().then((function(){return dropdownIndividual$1}))).default(),"store-header":(await Promise.resolve().then((function(){return storeHeader}))).default(),card:(await Promise.resolve().then((function(){return card}))).default(),"store-category":(await Promise.resolve().then((function(){return storeCategory$1}))).default(),custom:(await Promise.resolve().then((function(){return custom$1}))).default(),"text-input":(await Promise.resolve().then((function(){return textInput$1}))).default(),subtext:(await Promise.resolve().then((function(){return subtext$1}))).default()});const gmSettings=GMSettings;let Items={},goosemodScope$6={};const setThisScope$5=async e=>{goosemodScope$6=e,Items=await getItems()},removeModuleUI=(e,t)=>{const o=void 0===goosemodScope$6.modules[e];o&&(goosemodScope$6.modules[e]=Object.assign({},goosemodScope$6.disabledModules[e]),delete goosemodScope$6.disabledModules[e]),goosemodScope$6.moduleStoreAPI.moduleRemoved(goosemodScope$6.modules[e]),o||goosemodScope$6.modules[e].goosemodHandlers.onRemove(),delete goosemodScope$6.modules[e],goosemodScope$6.moduleSettingsStore.clearModuleSetting(e),t&&goosemodScope$6.settings.openSettingItem(t)},isSettingsOpen=()=>null!==document.querySelector(".standardSidebarView-E9Pc3j .closeButton-PCZcma"),closeSettings=()=>{let e=document.querySelector(".standardSidebarView-E9Pc3j .closeButton-PCZcma");if(null===e)return!1;e.click()},openSettings=()=>{document.querySelector('.flex-2S1XBF.flex-3BkGQD.horizontal-112GEH.horizontal-1Piu5-.flex-3BkGQD.directionRow-2Iu2A9.justifyStart-2Mwniq.alignStretch-Uwowzr.noWrap-hBpHBz > [type="button"]:last-child').click()},openSettingItem=e=>{try{const t=[...document.querySelector(".standardSidebarView-E9Pc3j nav > div").children];return t[1].click(),setTimeout((()=>t.find((t=>t.textContent===e)).click()),5),!0}catch(e){return!1}},reopenSettings=async()=>{goosemodScope$6.settings.closeSettings(),await sleep(500),goosemodScope$6.settings.openSettings(),await sleep(100)};let items=[];const createItem=(e,t,o,s=!1)=>{goosemodScope$6.settings.items.push(["item",e,t,o,s])},removeItem=e=>{const t=goosemodScope$6.settings.items.indexOf(goosemodScope$6.settings.items.find((t=>t[1]===e)));if(-1===t)return!1;goosemodScope$6.settings.items.splice(t,1)},createHeading=e=>{goosemodScope$6.settings.items.push(["heading",e])},createSeparator=()=>{goosemodScope$6.settings.items.push(["separator"])},_createItem=(e,t,o=!0)=>{const{React:s}=goosemodScope$6.webpackModules.common,n=goosemodScope$6.webpackModules.findByDisplayName("FormSection"),a=goosemodScope$6.webpackModules.findByDisplayName("FormTitle"),r=()=>t.slice(1).map(((t,o)=>{t.type.includes("danger-button")&&(t.type=t.type.replace("danger-",""),t.danger=!0);const n=Items[t.type];return n?s.createElement(n,{i:o,...t,itemName:e}):s.createElement("div")}));return o?s.createElement(n,{className:"Плагины"===e||"Темы"===e?"gm-store-settings":""},t[1].prototype?.render?null:s.createElement(a,{tag:"h1"},e),t[1].prototype?.render?s.createElement(t[1]):r()):s.createElement("div",{},r())},makeGooseModSettings=()=>{goosemodScope$6.settingsUninjects=[],addBaseItems(goosemodScope$6,gmSettings),addToSettingsSidebar(goosemodScope$6,gmSettings),addToContextMenu(goosemodScope$6,gmSettings.home),gmSettings.home&&addToHome(goosemodScope$6);try{loadColorPicker()}catch(e){goosemodScope$6.logger.debug("settings.load","Failed to load color picker")}},loadColorPicker=()=>{const{findInReactTree:e}=goosemodScope$6.reactUtils;if(!goosemodScope$6.webpackModules.findByDisplayName("ColorPicker")){e(goosemodScope$6.webpackModules.findByDisplayName("GuildFolderSettingsModal").prototype.render.call({props:{},state:{}}).props.children,(e=>e.props?.colors)).type().props.children.type._ctor()}};var Settings={__proto__:null,gmSettings:gmSettings,get Items(){return Items},setThisScope:setThisScope$5,removeModuleUI:removeModuleUI,isSettingsOpen:isSettingsOpen,closeSettings:closeSettings,openSettings:openSettings,openSettingItem:openSettingItem,reopenSettings:reopenSettings,items:items,createItem:createItem,removeItem:removeItem,createHeading:createHeading,createSeparator:createSeparator,_createItem:_createItem,makeGooseModSettings:makeGooseModSettings},ab2str=e=>(new TextDecoder).decode(e);const evalGlobal=eval,makeSourceURL=e=>`${e} | GM Module`.replace(/ /g,"%20");let goosemodScope$5={};const setThisScope$4=e=>{goosemodScope$5=e},importModule=async(e,t=!1)=>{let o=e.name;goosemodScope$5.logger.debug("import",`Importing module: "${o}"`),void 0!==goosemodScope$5.modules[o]?.goosemodHandlers?.onImport&&(goosemodScope$5.logger.debug(`import.load.module.${o}`,"Module already imported, removing then installing new version"),await goosemodScope$5.modules[o].goosemodHandlers.onRemove()),"object"==typeof e.data&&(e.data=ab2str(e.data));goosemodScope$5[t?"disabledModules":"modules"][o]=Object.assign(evalGlobal("const goosemodScope=goosemod;"+e.data+` //# sourceURL=${makeSourceURL(e.name)}`),e.metadata),t||await goosemodScope$5.modules[o].goosemodHandlers.onImport()};let goosemodScope$4={};const setThisScope$3=e=>{goosemodScope$4=e},disableModule=e=>{let t=JSON.parse(goosemod.storage.get("goosemodDisabled"))||{};t[e]=!0,goosemod.storage.set("goosemodDisabled",JSON.stringify(t))},enableModule=e=>{let t=JSON.parse(goosemod.storage.get("goosemodDisabled"))||{};delete t[e],goosemod.storage.set("goosemodDisabled",JSON.stringify(t))},checkDisabled=e=>Object.keys(JSON.parse(goosemod.storage.get("goosemodDisabled"))||{}).includes(e),saveModuleSettings=async()=>{let e=JSON.parse(goosemod.storage.get("goosemodModules"))||{};for(let t in goosemodScope$4.modules)if(goosemodScope$4.modules.hasOwnProperty(t))try{e[t]=await(goosemodScope$4.modules[t].goosemodHandlers.getSettings||(async()=>[]))()}catch(e){console.error("Failed to load settings to save module",t,e)}JSON.stringify(JSON.parse(goosemod.storage.get("goosemodModules")))!==JSON.stringify(e)&&goosemod.storage.set("goosemodModules",JSON.stringify(e))},clearModuleSetting=e=>{let t=JSON.parse(goosemod.storage.get("goosemodModules"));t&&t[e]&&(delete t[e],goosemod.storage.set("goosemodModules",JSON.stringify(t)))},clearSettings=()=>{goosemod.storage.remove("goosemodModules")},loadSavedModuleSetting=async e=>{let t=JSON.parse(goosemod.storage.get("goosemodModules"));t&&t[e]&&await(goosemodScope$4.modules[e].goosemodHandlers.loadSettings||(async()=>[]))(t[e])};var ModuleSettingsStore={__proto__:null,setThisScope:setThisScope$3,disableModule:disableModule,enableModule:enableModule,checkDisabled:checkDisabled,saveModuleSettings:saveModuleSettings,clearModuleSetting:clearModuleSetting,clearSettings:clearSettings,loadSavedModuleSetting:loadSavedModuleSetting};let openpgp;const loadLibrary=async()=>{let js=await(await fetch("https://api.goosemod.com/pgp.js",{cache:"force-cache"})).text();js=js.replace("detectNode:function(){","detectNode:function(){return false;"),openpgp=eval(js+";openpgp")},verifySignature=async(e,t,o)=>{openpgp||await loadLibrary();const s=await openpgp.readKey({armoredKey:e}),n=await openpgp.createMessage({text:o}),a=await openpgp.readSignature({armoredSignature:t}),r=await openpgp.verify({message:n,signature:a,verificationKeys:s}),{verified:i,keyID:d}=r.signatures[0];try{return await i,goosemod.logger.debug("pgp","verified, key id:",d.toHex()),!0}catch(e){return goosemod.logger.debug("pgp","failed to verify",e.message),!1}},hash=async(e,t)=>{const o=await crypto.subtle.digest(t,new TextEncoder("utf-8").encode(e));return Array.prototype.map.call(new Uint8Array(o),(e=>("00"+e.toString(16)).slice(-2))).join("")},sha512=e=>hash(e,"SHA-512");let goosemodScope$3={};const setThisScope$2=e=>{goosemodScope$3=e},getCache$1=()=>JSON.parse(goosemod.storage.get("goosemodJSCache")||"{}"),purgeCache$1=()=>goosemod.storage.remove("goosemodJSCache"),updateCache$1=(e,t,o)=>{let s=goosemodScope$3.moduleStoreAPI.jsCache.getCache();s[e]={hash:t,js:o},goosemod.storage.set("goosemodJSCache",JSON.stringify(s))},getJSForModule=async e=>{const t=goosemodScope$3.moduleStoreAPI.modules.find((t=>t.name===e)),o=goosemodScope$3.moduleStoreAPI.jsCache.getCache();if(o[e]&&t.hash===o[e].hash)return o[e].js;{const o=t.repo.split("/").slice(0,-1).join("/"),s=await(await fetch(`${o}/module/${e}.js?_=${Date.now()}`)).text();return goosemodScope$3.moduleStoreAPI.jsCache.updateCache(e,t.hash,s),s}};var JSCache={__proto__:null,setThisScope:setThisScope$2,getCache:getCache$1,purgeCache:purgeCache$1,updateCache:updateCache$1,getJSForModule:getJSForModule};const currentDate=new Date-0;let goosemodScope$2={},getUser,queueProcessInterval;const setThisScope$1=e=>{goosemodScope$2=e,getUser=goosemodScope$2.webpackModules.findByProps("getUser","fetchCurrentUser").getUser},queue=[],queueReturns=[],processQueue=async()=>{if(0===queue.length)return clearInterval(queueProcessInterval),void(queueProcessInterval=void 0);const e=queue.pop();queueReturns.push(await getUser(e))},getCache=()=>JSON.parse(goosemod.storage.get("goosemodIDCache")||"{}"),purgeCache=()=>goosemod.storage.remove("goosemodIDCache"),updateCache=(e,t)=>{let o=getCache();o[e]={data:t,time:currentDate},goosemod.storage.set("goosemodIDCache",JSON.stringify(o))},getDataForID=async e=>{const t=getCache();if(t[e]&&t[e].time>currentDate-864e5)return t[e].data;{let t;for(queue.push(e),queueProcessInterval||(queueProcessInterval=setInterval(processQueue,500),processQueue());;){if(t=queueReturns.find((t=>t.id===e)),t){queueReturns.splice(queueReturns.indexOf(t),1);break}await sleep(500)}return updateCache(e,t),t}};var IDCache={__proto__:null,setThisScope:setThisScope$1,getCache:getCache,purgeCache:purgeCache,updateCache:updateCache,getDataForID:getDataForID};let goosemodScope$1={};var moduleStoreAPI={setThisScope:e=>{goosemodScope$1=e,setThisScope$2(e),setThisScope$1(e)},modules:[],repos:[],apiBaseURL:"https://api.goosemod.com",storeApiBaseURL:"https://store.goosemod.com",jsCache:JSCache,idCache:IDCache,getSettingItemName:e=>e.tags.includes("theme")?"Темы":"Плагины",hotupdate:async(e=!1)=>{e&&goosemodScope$1.updateLoadingScreen("Getting modules from repos..."),await goosemodScope$1.moduleStoreAPI.updateModules(),await goosemodScope$1.moduleStoreAPI.updateStoreSetting(),e&&goosemodScope$1.updateLoadingScreen("Updating modules...");const t={},o=[];for(const s in goosemodScope$1.modules){const n=goosemodScope$1.moduleStoreAPI.modules.find((e=>e.name===s))?.hash,a=goosemodScope$1.moduleStoreAPI.jsCache.getCache()[s]?.hash;if(void 0!==n&&void 0!==a&&n!==a){if(void 0===t[s.repo]){const e=goosemodScope$1.moduleStoreAPI.repos.find((e=>e.url===s.repo));if("untrusted"===goosemodScope$1.moduleStoreAPI.verifyPgp(e).trustState){goosemodScope$1.showToast(`Failed to verify repo ${e.meta.name}, refusing to update it's modules`,{timeout:1e4,type:"error",subtext:"Магазин GooseMod"}),t[s.repo]=!1;continue}t[s.repo]=!0}!1!==t[s.repo]&&(e&&goosemodScope$1.updateLoadingScreen(`Updating modules...\n${s}`),o.push(goosemodScope$1.moduleStoreAPI.importModule(s,goosemodScope$1.moduleSettingsStore.checkDisabled(s)).then((async()=>{}))))}}await Promise.all(o)},initRepos:async()=>{const e=async e=>(await(await fetch(`${e}?_=${Date.now()}`)).json()).meta,t=async t=>({url:t,enabled:!0,meta:await e(t)});goosemodScope$1.moduleStoreAPI.repos=JSON.parse(goosemod.storage.get("goosemodRepos"))||[await t("https://store.goosemod.com/goosemod.json"),await t("https://store.goosemod.com/ms2porter.json"),await t("https://store.goosemod.com/bdthemes.json"),await t("https://store.goosemod.com/pcthemes.json"),await t("https://store.goosemod.com/pcplugins.json")]},updateModules:async()=>{let e=[];if(goosemodScope$1.moduleStoreAPI.repos=(await Promise.all(goosemodScope$1.moduleStoreAPI.repos.map((async t=>{if(!t.enabled)return t;try{const o=await(await fetch(`${t.url}?_=${Date.now()}`)).text(),s=JSON.parse(o);return"untrusted"===await goosemodScope$1.moduleStoreAPI.verifyPgp(t).trustState?(goosemodScope$1.showToast(`Failed to verify repo: ${t.meta.name}, refusing to use new modules`,{timeout:1e4,type:"error",subtext:"Магазин GooseMod"}),e=e.concat(goosemodScope$1.moduleStoreAPI.modules.filter((e=>e.repo===t.url))).sort(((e,t)=>e.name.localeCompare(t.name))),t):(e=e.concat(s.modules.map((e=>(e.repo=t.url,e)))).sort(((e,t)=>e.name.localeCompare(t.name))),{...t,meta:s.meta,resp:o})}catch(o){goosemodScope$1.showToast(`Failed to get repo: ${t.url}`,{timeout:5e3,type:"error",subtext:"Магазин GooseMod"}),console.error(o),e=e.concat(goosemodScope$1.moduleStoreAPI.modules.filter((e=>e.repo===t.url))).sort(((e,t)=>e.name.localeCompare(t.name)))}return t})))).sort(((e,t)=>goosemodScope$1.moduleStoreAPI.repos.indexOf(e.url)-goosemodScope$1.moduleStoreAPI.repos.indexOf(t.url))),goosemodScope$1.settings.gmSettings.newModuleNotifications)for(const t of e){goosemodScope$1.moduleStoreAPI.modules.find((e=>t.name===e.name))||goosemodScope$1.showToast(`${t.name}`,{timeout:5e3,subtext:"New "+(t.tags.includes("theme")?"Theme":"Plugin")})}goosemodScope$1.moduleStoreAPI.modules=e,goosemod.storage.set("goosemodRepos",JSON.stringify(goosemodScope$1.moduleStoreAPI.repos.map((e=>(delete e.resp,e))))),goosemod.storage.set("goosemodCachedModules",JSON.stringify(goosemodScope$1.moduleStoreAPI.modules))},importModule:async(e,t=!1)=>{try{const o=goosemodScope$1.moduleStoreAPI.modules.find((t=>t.name===e)),s=await goosemodScope$1.moduleStoreAPI.jsCache.getJSForModule(e),n=await sha512(s);if(n!==o.hash)return goosemodScope$1.showToast(`Cancelled importing of ${e} due to hash mismatch`,{timeout:2e3,type:"danger",subtext:"Магазин GooseMod"}),void console.warn("Hash mismatch",n,o.hash);await goosemodScope$1.importModule({name:e,data:s,metadata:o},t),t||(void 0!==goosemodScope$1.modules[e].goosemodHandlers.onLoadingFinished&&await goosemodScope$1.modules[e].goosemodHandlers.onLoadingFinished(),await goosemodScope$1.moduleSettingsStore.loadSavedModuleSetting(e));try{const e=goosemodScope$1.settings.items.find((e=>e[1]===goosemodScope$1.moduleStoreAPI.getSettingItemName(o)))[2].find((e=>e.subtext===o.description));e.buttonType="danger",e.buttonText="Удалить",e.showToggle=!0}catch(e){}}catch(e){console.error(e)}},moduleRemoved:e=>{let t=goosemodScope$1.settings.items.find((t=>t[1]===goosemodScope$1.moduleStoreAPI.getSettingItemName(e)))[2].find((t=>t.subtext===e.description));void 0!==t&&(t.buttonType="brand",t.buttonText="Установить",t.showToggle=!1)},parseAuthors:async e=>{const t="string"==typeof e?e.split(", "):e;return await Promise.all(t.map((async e=>{if("object"==typeof e)return{name:e.n,id:e.i,avatar:e.a};if(e.match(/^[0-9]{17,18}$/)){const t=await getDataForID(e);return{name:t.username,id:t.id,avatar:t.avatar}}const t=e.match(/(.*) \(([0-9]{17,18})\)/);return{name:t?.[1]||e,id:t?.[2]}})))},updateStoreSetting:async()=>{let e=goosemodScope$1.settings.items.filter((e=>"Плагины"===e[1]||"Темы"===e[1]));for(const t of e)t[2]=t[2].filter((e=>"card"!==e.type));for(const t of goosemodScope$1.moduleStoreAPI.modules){const o=goosemodScope$1.moduleStoreAPI.getSettingItemName(t),s=e.find((e=>e[1]===o)),n=t.tags.includes("theme")?"themes":"plugins";s[2].push({type:"card",tags:t.tags,github:t.github,notice:t.notice,images:t.images?.map((e=>{if(e.startsWith("/")){e=t.repo.split("/").slice(0,-1).join("/")+e}return e})),lastUpdated:t.lastUpdated,buttonType:goosemodScope$1.modules[t.name]||goosemodScope$1.disabledModules[t.name]?"danger":"brand",showToggle:goosemodScope$1.modules[t.name]||goosemodScope$1.disabledModules[t.name],name:t.name,author:await goosemodScope$1.moduleStoreAPI.parseAuthors(t.authors),subtext:t.description,subtext2:"0"===t.version||t.version.toLowerCase().includes("auto")?"":`v${t.version}`,buttonText:goosemodScope$1.modules[t.name]||goosemodScope$1.disabledModules[t.name]?"Удалить":"Установить",onclick:async()=>{if(goosemodScope$1.settings[`regen${n}`]=!0,goosemodScope$1.modules[t.name]||goosemodScope$1.disabledModules[t.name])goosemodScope$1.settings.removeModuleUI(t.name,o);else{if(t.dependencies&&t.dependencies.length>0)for(const e of t.dependencies)await goosemodScope$1.moduleStoreAPI.importModule(e);await goosemodScope$1.moduleStoreAPI.importModule(t.name)}},isToggled:()=>void 0===goosemodScope$1.disabledModules[t.name],onToggle:async e=>{goosemodScope$1.settings.ignoreVisualToggle?delete goosemodScope$1.settings.ignoreVisualToggle:(goosemodScope$1.settings[`regen${n}`]=!0,e?(goosemodScope$1.modules[t.name]=goosemodScope$1.disabledModules[t.name],delete goosemodScope$1.disabledModules[t.name],await goosemodScope$1.modules[t.name].goosemodHandlers.onImport(),void 0!==goosemodScope$1.modules[t.name].goosemodHandlers.onLoadingFinished&&await goosemodScope$1.modules[t.name].goosemodHandlers.onLoadingFinished(),await goosemodScope$1.moduleSettingsStore.loadSavedModuleSetting(t.name),goosemodScope$1.moduleSettingsStore.enableModule(t.name)):(goosemodScope$1.disabledModules[t.name]=goosemodScope$1.modules[t.name],await goosemodScope$1.modules[t.name].goosemodHandlers.onRemove(),delete goosemodScope$1.modules[t.name],goosemodScope$1.moduleSettingsStore.disableModule(t.name)))}})}},verifyPgp:async e=>{const t=t=>{const o={result:t,trustState:"verified"!==t&&e.oncePgp||"invalid_signature"===t||"no_signature"===t?"untrusted":"verified"===t?"trusted":"unknown",when:Date.now()},s=goosemodScope$1.moduleStoreAPI.repos.find((t=>t.url===e.url));return s?(s.pgp=o,"verified"===t&&(s.oncePgp=!0),goosemod.logger.debug("pgp.save",s),goosemod.storage.set("goosemodRepos",JSON.stringify(goosemodScope$1.moduleStoreAPI.repos)),s.pgp):o};goosemod.logger.debug("pgp","verifying repo:",e.meta.name);const o=async e=>{const t=await fetch(e+"?_="+Date.now());return!!t.ok&&await t.text()},s=await o(`https://goosemod.github.io/Keyserver/repos/${e.meta.name}.gpg`);if(!s)return goosemod.logger.debug("pgp","no public key, aborting"),t("no_public_key");const n=await o(e.url+".sig");if(!n)return goosemod.logger.debug("pgp","no signature, aborting"),t("no_signature");const a=e.resp||await o(e.url);return t(await verifySignature(s,n,a)?"verified":"invalid_signature")}};let css="",toSaveNext=!1;const init$3=()=>{injectHooks(),setInterval((()=>{toSaveNext&&(toSaveNext=!1,save())}),1e4)},save=()=>{[...document.body.classList].forEach((e=>{css=css.replace(new RegExp(`body.${e}`,"g"),"body")})),goosemod.storage.set("goosemodCSSCache",css),goosemod.showToast("Saved",{subtext:"CSS Cache",type:"debuginfo"})},injectHooks=()=>{const e=()=>toSaveNext=!0,t=CSSStyleSheet.prototype.insertRule,o=Node.prototype.appendChild;CSSStyleSheet.prototype.insertRule=function(o){t.apply(this,arguments),o.includes("body.")&&(css+=o,e())};const s=[document.body,document.head],n=t=>{t.appendChild=function(t){if(o.apply(this,arguments),"STYLE"===t.tagName){if(t.id.startsWith("ace"))return;n(t);for(const e of t.childNodes)css+=e.textContent;e()}t.data&&(css+=t.textContent,e())}};for(const e of s)n(e)},load=()=>{const e=document.createElement("style");e.id="gm-css-cache",e.appendChild(document.createTextNode(goosemod.storage.get("goosemodCSSCache")||"")),document.body.appendChild(e),goosemod.showToast("Loaded",{subtext:"CSS Cache",type:"debuginfo"}),init$3()},removeStyle=()=>{const e=document.getElementById("gm-css-cache");e&&e.remove()};var CSSCache={__proto__:null,init:init$3,load:load,removeStyle:removeStyle};let goosemodScope={},unpatchers=[];const setThisScope=e=>{goosemodScope=e},showSponsorModal=()=>{window.open("https://github.com/sponsors/CanadaHonk")},badgeUsers={sponsor:["506482395269169153","597905003717459968","405400327370571786","707309693449535599","302734867425132545","557429876618166283","250353310698176522","301088721984552961","700698485560705084","274209973196816385","274926795285987328","293094733159333889","202740603790819328","541210648982585354","516750892372852754","192760945766957066","206837744658415616","889366461703913573","294468537899024384","688437973330428047","341522422836625408","597072695875600385","987317921774723092","162970149857656832","584363189890711562","158176459037474816","949168996182261820","275808021605777409","499802781235019777"],dev:["506482395269169153"],translator:["290293141666267136","346338830011596800","425140480334888980","650178631129235456","186496078273708033","202740603790819328","717498477457702964"]},addBadges=()=>{unpatchers.push(goosemodScope.patcher.userBadges.patch("Спонсор GooseMod","https://goosemod.com/img/goose_gold.jpg",(()=>goosemodScope.settings.gmSettings.gmBadges?badgeUsers.sponsor:[]),(()=>{showSponsorModal()}),{round:!0}),goosemodScope.patcher.userBadges.patch("Переводчик GooseMod","https://goosemod.com/img/goose_globe.png",(()=>goosemodScope.settings.gmSettings.gmBadges?badgeUsers.translator:[]),(()=>{}),{round:!0}),goosemodScope.patcher.userBadges.patch("Разработчик GooseMod","https://goosemod.com/img/goose_glitch.jpg",(()=>goosemodScope.settings.gmSettings.gmBadges?badgeUsers.dev:[]),(()=>{}),{round:!0}),goosemod.patcher.guildBadges.patch("Официальный сервер GooseMod","https://goosemod.com/img/logo.jpg",(()=>goosemodScope.settings.gmSettings.gmBadges?["756146058320674998"]:[]),(()=>{}),{round:!0}))},removeBadges=()=>{for(const e of unpatchers)e()};var GMBadges={__proto__:null,setThisScope:setThisScope,addBadges:addBadges,removeBadges:removeBadges};function getLocalStoragePropertyDescriptor(){const e=document.createElement("frame");e.src="about:blank",document.body.appendChild(e);let t=Object.getOwnPropertyDescriptor(e.contentWindow,"localStorage");return e.remove(),t}var fixLocalStorage=()=>{Object.defineProperty(window,"localStorage",getLocalStoragePropertyDescriptor())};const init$2=()=>{fixLocalStorage()},type$1="LocalStorage",set$1=(e,t)=>localStorage.setItem(e,t),get$1=e=>localStorage.getItem(e),remove$1=e=>localStorage.removeItem(e),keys$1=()=>Object.keys(localStorage);var impl_localstorage={__proto__:null,init:init$2,type:type$1,set:set$1,get:get$1,remove:remove$1,keys:keys$1};const backup$2=async({keys:e,get:t})=>{if(window.localStorage)for(const o of e())localStorage.setItem(o,t(o))},restore$2=async({set:e})=>{window.localStorage&&Object.keys(localStorage).filter((e=>e.toLowerCase().startsWith("goosemod"))).forEach((t=>e(t,localStorage.getItem(t))))},clear$2=async()=>{window.localStorage&&Object.keys(localStorage).filter((e=>e.toLowerCase().startsWith("goosemod"))).forEach((e=>localStorage.removeItem(e)))};var parity_localStorage={__proto__:null,backup:backup$2,restore:restore$2,clear:clear$2};const backup$1=async({keys:e,get:t})=>{if(!window.DiscordNative?.userDataCache)return;const o=await DiscordNative.userDataCache.getCached()||{};for(const s of e())o[s]=t(s);DiscordNative.userDataCache.cacheUserData(JSON.stringify(o))},restore$1=async({set:e})=>{if(!window.DiscordNative?.userDataCache)return;const t=await DiscordNative.userDataCache.getCached();t&&Object.keys(t).filter((e=>e.toLowerCase().startsWith("goosemod"))).forEach((o=>e(o,t[o])))},clear$1=async()=>{if(!window.DiscordNative?.userDataCache)return;const e=await DiscordNative.userDataCache.getCached();e&&Object.keys(e).filter((e=>e.toLowerCase().startsWith("goosemod"))).forEach((t=>{delete e[t],DiscordNative.userDataCache.cacheUserData(JSON.stringify(e))}))};var parity_userDataCache={__proto__:null,backup:backup$1,restore:restore$1,clear:clear$1},paritySystems=[parity_localStorage,parity_userDataCache];let storageCache={};const type="Extension",init$1=async()=>{window.localStorage||fixLocalStorage();const e=new Promise((e=>document.addEventListener("gmes_get_return",(async({detail:t})=>{storageCache=t,Object.keys(storageCache).length<5&&await restore(),e()}),{once:!0})));document.dispatchEvent(new CustomEvent("gmes_get")),await e,await backup()},restore=async()=>{console.log("GooseMod","Restoring storage...");for(const e of paritySystems)await e.restore({set:set})},backup=async()=>{console.log("GooseMod","Backing up storage...");for(const e of paritySystems)await e.backup({keys:keys,get:get})},set=(e,t)=>{storageCache[e]=t,document.dispatchEvent(new CustomEvent("gmes_set",{detail:{key:e,value:t}})),backup()},get=e=>storageCache[e]||null,remove=e=>{delete storageCache[e],document.dispatchEvent(new CustomEvent("gmes_remove",{detail:{key:e}})),backup()},clear=async()=>{keys().filter((e=>e.toLowerCase().startsWith("goosemod"))).forEach((e=>remove(e)));for(const e of paritySystems)await e.clear()},keys=()=>Object.keys(storageCache);var impl_extension={__proto__:null,type:type,init:init$1,restore:restore,backup:backup,set:set,get:get,remove:remove,clear:clear,keys:keys};const impl=window.gmExtension?impl_extension:impl_localstorage;var _Card=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.patcher.simpleTooltip(),o=new Intl.RelativeTimeFormat("en",{localeMatcher:"best fit",numeric:"auto",style:"long"}),s=goosemod.webpackModules.findByProps("Sizes","Colors","Looks","DropdownSizes"),n=goosemod.webpackModules.findByDisplayName("Switch"),a=goosemod.webpackModules.find((e=>"Markdown"===e.displayName&&e.rules)),r=goosemod.webpackModules.findByDisplayName("FormText"),i=goosemod.webpackModules.findByProps("formText","placeholder"),d=goosemod.webpackModules.findByProps("title","dividerDefault"),l=goosemod.webpackModules.findByProps("openModal","updateModal"),c=goosemod.webpackModules.findByDisplayName("SmallMediaCarousel"),m=goosemod.webpackModules.findByDisplayName("Discord"),p=goosemod.webpackModules.findByDisplayName("Clock"),g=goosemod.webpackModules.findByDisplayName("Info"),u=e=>{const t=Math.floor((Date.now()-e)/1e3),s=[{label:"year",seconds:31536e3},{label:"month",seconds:2592e3},{label:"day",seconds:86400},{label:"hour",seconds:3600},{label:"minute",seconds:60},{label:"second",seconds:1}].find((e=>e.seconds<t)),n=Math.floor(t/s.seconds);return o.format(-1*n,s.label)};return class extends e.PureComponent{constructor(e){super(e),this.state={}}render(){this.state.renderLoaded?this.state.renderLoaded=!1:(this.state.loaded=!this.props.i,this.state.loaded||setTimeout((()=>{this.setState({loaded:!0,renderLoaded:!0})}),10)),this.props.checked!==this.props.isToggled()&&(this.props.checked=this.props.isToggled());let o=!1;this.state.forceDisplay&&(o=!0,this.state.forceDisplay=!1,delete this.state.forceDisplay);let{notice:h}=this.props;switch(h){case 1:h="Other users may notice your usage";break;case 2:h="Other users may question or judge your usage, use appropriately"}const f=()=>{const e=[...document.querySelectorAll(".title-2dsDLn + .colorStandard-1Xxp1s")].filter((e=>e.textContent===this.props.subtext)).map((e=>e.parentElement));for(const t of e){const e=t.__reactFiber$.return;e.pendingProps=this.props,e.memoizedState.renderLoaded=!0,e.stateNode.forceUpdate()}};return this.state.loaded?e.createElement("div",{className:["gm-store-card",this.props.mini?"gm-store-card-mini":"",...this.props.tags.map((e=>e.replace(/ /g,"|")))].join(" "),onClick:this.props.onClick,style:{display:this.props.i&&!o?"none":"block"}},e.createElement(c,{autoplayInterval:0,items:(this.props.images?.[0]?this.props.images:[goosemod.settings.gmSettings.placeholderimage?"/assets/2366391afb15ed6c2a019a0c0caa0797.svg":"data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA="]).map((e=>({type:1,src:e}))),paused:!0,onCurrentItemClick:()=>{this.props.images?.[0]&&l.openModal((()=>e.createElement("div",{className:"gm-carousel-modal"},e.createElement(c,{items:this.props.images.map((e=>({type:1,src:e}))),autoplayInterval:5e3}))))}}),e.createElement("div",{className:[d.title,this.props.author.every((e=>!e.avatar))?"no-pfp":""].join(" ")},...this.props.author.map(((t,o)=>[t.avatar?e.createElement("img",{loading:"lazy",src:`https://cdn.discordapp.com/avatars/${t.id}/${t.avatar}.png?size=32`,className:"gm-store-author-pfp"}):null,e.createElement("span",{className:"gm-store-author-name"},t.name),o!==this.props.author.length-1?e.createElement("span",{className:i.description},", "):null]))),e.createElement("div",{className:d.title},this.props.name),e.createElement(r,{className:this.props.name?i.description:""},e.createElement(a,{className:"gm-settings-note-markdown"},this.props.subtext)),e.createElement("div",{},this.props.github?e.createElement(t,{text:this.props.github.stars,position:"left"},(({onMouseEnter:t,onMouseLeave:o,className:s,text:n})=>e.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"currentColor","aria-label":n,onMouseEnter:t,onMouseLeave:o,className:s},e.createElement("path",{d:"M12 .587l3.668 7.568 8.332 1.151-6.064 5.828 1.48 8.279-7.416-3.967-7.417 3.967 1.481-8.279-6.064-5.828 8.332-1.151z"})))):null,this.props.lastUpdated||this.props.subtext2?e.createElement(t,{text:(this.props.subtext2||"")+(this.props.subtext2&&this.props.lastUpdated?" | ":"")+(this.props.lastUpdated?u(1e3*this.props.lastUpdated):""),position:"left"},(({onMouseEnter:t,onMouseLeave:o,className:s,text:n})=>e.createElement(p,{width:24,height:24,"aria-label":n,className:s,onMouseEnter:t,onMouseLeave:o}))):null,this.props.notice?e.createElement(t,{text:h,position:"left"},(({onMouseEnter:t,onMouseLeave:o,className:s,text:n})=>e.createElement(g,{width:24,height:24,"aria-label":n,className:s,onMouseEnter:t,onMouseLeave:o}))):null),e.createElement("div",{},e.createElement(s,{color:"danger"===this.props.buttonType?s.Colors.RED:s.Colors.BRAND,look:s.Looks.FILLED,size:s.Sizes.SMALL,onClick:()=>{this.props.onclick(),this.props.buttonType="danger"===this.props.buttonType?"":"danger",this.props.buttonText="Удалить"===this.props.buttonText?"Установить":"Удалить",this.props.showToggle=!this.props.showToggle,f()}},this.props.buttonText),this.props.github?e.createElement(s,{color:s.Colors.PRIMARY,size:s.Sizes.SMALL,onClick:()=>{window.open(`https://github.com/${this.props.github.repo}`)}},e.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"currentColor"},e.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"}))):null,this.props.discordMessage?e.createElement(s,{color:s.Colors.GREY,size:s.Sizes.SMALL,onClick:()=>{const{transitionTo:e}=goosemod.webpackModules.findByProps("transitionTo"),{jumpToMessage:t}=goosemod.webpackModules.findByProps("jumpToMessage");e(`/channels/${this.props.discordMessage.guild}/${this.props.discordMessage.channel}`),t({channelId:this.props.discordMessage.channel,messageId:this.props.discordMessage.message,flash:!0})}},e.createElement(m,{width:"24",height:"24"})):null,e.createElement(n,{className:this.props.showToggle?"":"hide-toggle",checked:this.props.checked,disabled:!1,onChange:e=>{this.props.checked=!this.props.checked,this.state.renderLoaded=!0,this.state.forceDisplay=!0,this.props.onToggle(this.props.checked),f()}}))):e.createElement("div",{className:"gm-store-card-loading-placeholder"})}}},card={__proto__:null,default:_Card},ProfileStoreInit=()=>{const e=_Card(),{React:t,ReactDOM:o}=goosemod.webpackModules.common,s=goosemod.webpackModules.find((e=>"UserProfileModal"===e.default?.displayName)),n=goosemod.webpackModules.findByProps("auto","scrollerBase");goosemod.patcher.patch(s,"default",((s,a)=>{const r=goosemod.reactUtils.findInReactTree(a.props.children,(e=>e.props?.section));r&&goosemod.patcher.patch(r,"type",(([{user:{id:s}}],a)=>{const r=goosemod.moduleStoreAPI.modules.filter((e=>e.authors.some&&e.authors.some((e=>e.i===s))));if(0===r.length)return;const i=goosemod.settings.items.find((e=>"Темы"===e[1]))[2],d=goosemod.settings.items.find((e=>"Плагины"===e[1]))[2],l=r.filter((e=>e.tags.includes("theme"))),c=r.filter((e=>!e.tags.includes("theme"))),m=a.props.children,p=m.props.children[0],g=o=>t.createElement(e,{...o,mini:!0,onClick:async()=>{document.querySelector(".backdrop-1wrmKB").click();goosemod.webpackModules.findByProps("transitionTo").transitionTo("/store"),await sleep(200),document.getElementById("gm-home-"+(o.tags.includes("theme")?"themes":"plugins")).click(),await sleep(2e3);const e=[...document.querySelectorAll(".title-31JmR4 + .colorStandard-2KCXvj")].filter((e=>e.textContent===o.subtext)).pop().parentElement;document.querySelector("#gm-settings-inject").scrollTo({top:e.offsetTop-12,behavior:"smooth"}),e.style.boxShadow="0 0 12px 6px rgb(88 101 242 / 30%)",setTimeout((()=>{e.style.boxShadow=""}),15e3)}});return goosemod.patcher.patch(m.props,"onItemSelect",(([e])=>{e.startsWith("GM_")&&setTimeout((()=>{const e=document.querySelector(".body-r6_QPy > :first-child");o.render(t.createElement("div",{className:[n.auto,"gm-modules-container"].join(" ")},...l.map((e=>i.find((t=>t.name===e.name)))).map((e=>g(e))),...c.map((e=>d.find((t=>t.name===e.name)))).map((e=>g(e)))),e)}),1)})),m.props.children.push(t.cloneElement(p,{id:"GM_MODULES"},"Модули GooseMod")),a}))}))},GenDebugInfo=()=>{const e={powercord:"powercord",vizality:"vizality",ED:"enhanceddiscord",BdApi:"betterdiscord"};return`Discord:\nClient: ${window.DiscordNative?"desktop":"web"}\nUser Agent: ${navigator.userAgent}\nRelease Channel: ${GLOBAL_ENV.RELEASE_CHANNEL}\nOther Mods: ${Object.keys(e).filter((e=>Object.keys(window).includes(e))).map((t=>e[t])).join(", ")}\n\nGooseMod:\nGM Version: ${goosemod.versioning.version} (${goosemod.versioning.hash})\nGM Branch: ${goosemod.versioning.branch}\nGM Extension Version: ${window.gmExtension}\nGM Storage Impl: ${goosemod.storage.type}\nModules: ${Object.keys(goosemod.modules).join(", ")}`};const scopeSetterFncs=[setThisScope$6,setThisScope$5,setThisScope$4,moduleStoreAPI.setThisScope,setThisScope$8,setThisScope$7,setThisScope$c,setThisScope$a,setThisScope$3,setThisScope$9,setThisScope],importsToAssign={startLoadingScreen:startLoadingScreen,stopLoadingScreen:stopLoadingScreen,updateLoadingScreen:updateLoadingScreen,settings:Settings,importModule:importModule,moduleSettingsStore:ModuleSettingsStore,webpackModules:WebpackModules,logger:Logger,showToast:showToast,confirmDialog:show$1,moduleStoreAPI:moduleStoreAPI,changelog:Changelog,goosemodChangelog:GoosemodChangelog,patcher:Patcher,attrs:Attrs,reactUtils:ReactUtils,cssCache:CSSCache,gmBadges:GMBadges,ootb:OOTB,storage:impl,genDebugInfo:GenDebugInfo},init=async function(){for(Object.assign(this,importsToAssign),await this.storage.init(),this.cssCache.load();void 0===window.webpackJsonp&&void 0===window.webpackChunkdiscord_app;)await sleep(50);for(;!this.webpackModules.findByProps("LinkButton");)await sleep(50);for(let e of scopeSetterFncs)try{await e(this)}catch(t){console.error("[GooseMod] Failed to scopeset",t,e)}this.versioning={version:"12.3",hash:"af2bcf99053777ff96fc286fd86d91d169c5573a",branch:goosemod.storage.get("goosemodUntetheredBranch"),lastUsedVersion:this.storage.get("goosemodLastVersion")},this.versioning.isDeveloperBuild="<hash>"===this.versioning.hash,this.storage.set("goosemodLastVersion",this.versioning.version),this.logger.debug("import.version.goosemod",`${this.versioning.version} (${this.versioning.hash})`),void 0!==window.DiscordNative&&this.logger.debug("import.version.discord",`${DiscordNative.app.getReleaseChannel()} ${DiscordNative.app.getVersion()}`),window.gmUntethered&&(this.untetheredVersion=window.gmUntethered.slice()),this.versioning.lastUsedVersion&&this.versioning.version!==this.versioning.lastUsedVersion&&this.goosemodChangelog.show(),this.startLoadingScreen(),this.updateLoadingScreen("Initialising internals...");let e=Object.keys(JSON.parse(this.storage.get("goosemodModules"))||{}),t=Object.keys(JSON.parse(this.storage.get("goosemodDisabled"))||{});this.modules=e.filter((e=>-1===t.indexOf(e))).reduce(((e,t)=>(e[t]={goosemodHandlers:{}},e)),{}),this.disabledModules=e.filter((e=>-1!==t.indexOf(e))).reduce(((e,t)=>(e[t]={goosemodHandlers:{}},e)),{}),this.moduleStoreAPI.modules=JSON.parse(this.storage.get("goosemodCachedModules"))||[],this.moduleStoreAPI.modules.cached=!0,this.settings.makeGooseModSettings(),await this.moduleStoreAPI.initRepos(),this.removed=!1,this.storage.get("goosemodCachedModules")||await this.moduleStoreAPI.updateModules(!0);let o=!1;0===e.length&&(o=!0),e=e.filter((e=>void 0!==this.moduleStoreAPI.modules.find((t=>t.name===e))));let s=e.find((e=>e.toLowerCase().includes("theme")));s&&e.unshift(e.splice(e.indexOf(s),1)[0]);let n=e.find((e=>"Hardcoded Color Fixer"===e));n&&e.unshift(e.splice(e.indexOf(n),1)[0]),o&&(e=["Fucklytics","Custom CSS"]),this.updateLoadingScreen("Importing modules from Store...");const a=[];for(let o of e)a.push(this.moduleStoreAPI.importModule(o,t.includes(o)));if(await Promise.all(a),this.cssCache.removeStyle(),this.settings.gmSettings.gmBadges&&this.gmBadges.addBadges(),this.settings.gmSettings.attrs&&this.attrs.patch(),this.saveInterval=setInterval((()=>{this.moduleSettingsStore.saveModuleSettings()}),3e3),this.remove=async()=>{this.settingsUninjects.forEach((e=>e())),clearInterval(this.saveInterval),clearInterval(this.hotupdateInterval),await this.storage.clear(),this.removed=!0;for(let e in this.modules)if(this.modules.hasOwnProperty(e)&&void 0!==this.modules[e].goosemodHandlers.onRemove)try{this.modules[e].goosemodHandlers.onRemove()}catch(e){}},this.moduleStoreAPI.hotupdate(!0),this.hotupdateInterval=setInterval((()=>{this.settings.gmSettings.autoupdate&&this.moduleStoreAPI.hotupdate()}),36e5),this.stopLoadingScreen(),this.settings.isSettingsOpen()&&this.settings.reopenSettings(),!this.storage.get("goosemodOOTB")){for(await sleep(1e3);document.querySelector(".modal-3O0aXp");)await sleep(100);this.ootb.start(),this.storage.set("goosemodOOTB",!0)}this.storage.get("goosemodTopaz")&&setTimeout((async()=>{(0,eval)(await(await fetch("https://goosemod.github.io/topaz/out.js",{cache:"no-store"})).text())}),1e3),ProfileStoreInit(),document.body.classList.add("goosemod")};window.goosemod={},init.bind(window.goosemod)();var modulesPreview=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByDisplayName("DiscoverStaticGuildCard"),o=e=>e.images?.map((t=>{if(t.startsWith("/")){t=e.repo.split("/").slice(0,-1).join("/")+t}return t}));return class extends e.PureComponent{render(){setTimeout((()=>{try{const e=document.querySelectorAll('.gm-modules-preview [class*="splashImage"]');e[e.length-3].src=o(this.props.modules[1])[0],e[e.length-2].src=o(this.props.modules[0])[0],e[e.length-1].src=o(this.props.modules[2])[0]}catch(e){}}),100);const s="placeholderCard-2jZYky";return e.createElement("div",{className:"gm-modules-preview"},e.createElement(t,{className:s,disabled:!0,small:!0,loading:!1,guild:{banner:null,splash:null,discoverySplash:null,icon:null,id:null,memberCount:null,presenceCount:null,...this.props.modules[1]}}),e.createElement(t,{className:s,guild:{banner:null,splash:null,discoverySplash:null,icon:null,id:null,memberCount:null,presenceCount:null,...this.props.modules[0]}}),e.createElement(t,{className:s,disabled:!0,small:!0,loading:!1,guild:{banner:null,splash:null,discoverySplash:null,icon:null,id:null,memberCount:null,presenceCount:null,...this.props.modules[2]}}))}}},modulesPreview$1={__proto__:null,default:modulesPreview},openReposModal=async()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByDisplayName("SwitchItem");class o extends e.Component{constructor(e){const t=e.onChange;e.onChange=e=>{t(e),this.props.value=e,this.forceUpdate()},super(e)}render(){return e.createElement("div",{},e.createElement(r,{style:{width:"100px",position:"absolute",right:"108px",marginTop:"33px"},color:i.colorPrimary,size:i.sizeSmall,onClick:this.props.buttonOpenLink},"Открыть ссылку"),e.createElement(r,{style:{width:"92px",position:"absolute",right:"10px",marginTop:"33px"},color:i.colorRed,size:i.sizeSmall,onClick:this.props.buttonOnClick},"Удалить"),e.createElement(t,{...this.props}))}}let s;const n=async()=>{await goosemod.moduleStoreAPI.updateModules(),await goosemod.moduleStoreAPI.updateStoreSetting(),document.querySelector(".selected-aXhQR6").click()},a=async()=>{s(),await n(),S()},{Button:r}=goosemod.webpackModules.findByProps("Button"),i=goosemod.webpackModules.findByProps("button","colorRed"),d=goosemod.webpackModules.findByProps("ModalRoot"),l=goosemod.webpackModules.findByProps("socialLink","date"),c=goosemod.webpackModules.findByDisplayName("LegacyHeader"),m=goosemod.webpackModules.findByDisplayName("Text"),{openModal:p}=goosemod.webpackModules.findByProps("openModal","updateModal"),g=goosemod.webpackModules.findByDisplayName("Flex"),u=goosemod.webpackModules.findByDisplayName("TextInput"),h=goosemod.webpackModules.findByDisplayName("Tooltip"),f=goosemod.webpackModules.findByDisplayName("FlowerStar"),y=goosemod.webpackModules.findByDisplayName("Verified"),b=goosemod.webpackModules.findAll((e=>"Alert"===e.displayName)).pop(),S=()=>{const t=[];let S=0;for(const s of goosemod.moduleStoreAPI.repos){const r=[s.meta.name];if(s.pgp?.trustState){let t="",o=null;switch(s.pgp.trustState){case"trusted":t="Подтверждено PGP подписью",o=e.createElement(y,{className:"icon-1ihkOt"});break;case"untrusted":t="Не подтверждено PGP подписью",o=e.createElement(b,{className:"icon-1ihkOt"});break;case"unknown":t="PGP подпись отсутствует",o=e.createElement(b,{className:"icon-1ihkOt"})}r.unshift(e.createElement("span",{style:{display:"inline-flex",position:"relative",top:"2px",marginRight:"4px"}},e.createElement(h,{position:"top",color:"primary",text:t},(({onMouseLeave:s,onMouseEnter:n})=>e.createElement(f,{className:`gm-repos-modal-icon-${o.type.displayName}`,"aria-label":t,onMouseEnter:n,onMouseLeave:s},o)))))}t.push(e.createElement(o,{style:{marginTop:0===S?"16px":""},note:s.meta.description,value:s.enabled,onChange:e=>{s.enabled=e,n()},buttonOpenLink:()=>{window.open(s.url)},buttonOnClick:async()=>{goosemod.moduleStoreAPI.repos.splice(goosemod.moduleStoreAPI.repos.indexOf(s),1),a()}},...r)),S++}let w="";p((o=>(s=o.onClose,e.createElement(d.ModalRoot,{transitionState:o.transitionState,size:"medium"},e.createElement(d.ModalHeader,{},e.createElement(g.Child,{basis:"auto",grow:1,shrink:1,wrap:!1},e.createElement(c,{tag:"h2",size:c.Sizes.SIZE_20},"Репозитории"),e.createElement(m,{size:m.Sizes.SIZE_12,className:l.date},goosemod.moduleStoreAPI.modules.filter((e=>e.tags.includes("theme"))).length," Themes",", ",goosemod.moduleStoreAPI.modules.filter((e=>!e.tags.includes("theme"))).length," Plugins",", ",Object.keys(goosemod.moduleStoreAPI.modules.reduce(((e,t)=>{let o=t.authors;return o.forEach||(o=[o]),o.forEach((t=>e[t.n||t.match(/(.*) \(([0-9]{17,18})\)/)?.[1]||t]=!0)),e}),{})).length," Developers")),e.createElement("FlexChild",{basis:"auto",grow:0,shrink:1,wrap:!1},e.createElement(d.ModalCloseButton,{onClick:o.onClose}))),e.createElement(d.ModalContent,{},...t,e.createElement(g,{style:{marginBottom:"16px"},basis:"auto",grow:1,shrink:1},e.createElement(u,{className:"codeRedemptionInput-3JOJea",placeholder:"https://example.com/modules.json",onChange:e=>{w=e}}),e.createElement(r,{style:{width:"112px"},size:i.sizeMedium,onClick:async()=>{let e={};try{e=await(await fetch(w)).json()}catch(e){}if(void 0===e.meta?.name)return void goosemod.showToast("Неверная ссылка или репозиторий",{type:"error",timeout:5e3,subtext:"Недопустимый формат ссылки"});if(!confirm("Внешние репозитории представляют угрозу безопасности, так как они не управляются разработчиками GooseMod. Мы не несём ответственность за любые опасности из-за добавления внешних репозиториев пользователями.\n\nЕсли Вы не доверяете владельцу этого репозитория, не используйте его, так как это может поставить под угрозу ваш клиент Discord.\n\nПожалуйста, подтвердите добавление этого репозитория нажатием \"OK\"."))return void goosemod.showToast("Добавление репозитория отменено",{type:"danger",timeout:5e3,subtext:"Отклонено оповещение о безопасности"});const t={url:w,meta:e.meta,enabled:!0},o=await goosemod.moduleStoreAPI.verifyPgp(t,!1);"untrusted"!==o.trustState?"trusted"===o.trustState||confirm("Этот репозиторий неизвестен и не подтверждён (отсутствует PGP), пожалуйста, будьте очень осторожны. Удостоверьтесь в том, что Вы можете полностью доверять владельцу(-ам) репозитория.\n\nЧтобы исправить эту проблему, попросите владельца репозитория добавить поддержку PGP.\n\nПожалуйста, подтвердите добавление этого репозитория нажатием \"OK\".")?(goosemod.moduleStoreAPI.repos.push(t),a()):goosemod.showToast("Добавление репозитория отменено",{type:"danger",timeout:5e3,subtext:"Отклонено оповещение о безопасности"}):goosemod.showToast("Добавление репозитория отменено",{type:"danger",timeout:5e3,subtext:"Ошибка подтверждения PGP"})}},"Добавить")))))))};S()},header$2=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByProps("updateAvailable"),o=goosemod.webpackModules.findByProps("icon","iconBadge","title"),s=e.createElement(goosemod.webpackModules.findByDisplayName("Retry"),{width:24,height:24,className:o.icon}),n=e.createElement(goosemod.webpackModules.findByDisplayName("Cloud"),{width:24,height:24,className:o.icon}),a=goosemod.webpackModules.findByDisplayName("HeaderBarContainer"),r=goosemod.webpackModules.findByDisplayName("TabBar"),i=goosemod.webpackModules.findByProps("topPill"),d=goosemod.webpackModules.findByProps("tabBar","nowPlayingColumn"),l={themes:"STORE",plugins:"STORE"};return class extends e.PureComponent{constructor(e){super(e)}render(){return e.createElement(a,{isAuthenticated:!0,transparent:!1},e.createElement(a.Icon,{icon:()=>this.props.icon,className:o.icon}),e.createElement(a.Title,{},this.props.title),l[this.props.id]?e.createElement(a.Divider):null,l[this.props.id]?e.createElement(r,{selectedItem:l[this.props.id],type:i.topPill,className:d.tabBar,onItemSelect:e=>{l[this.props.id]=e,this.forceUpdate(),setTimeout(goosemod.settings.updateModuleStoreUI,10)}},e.createElement(r.Item,{id:"STORE",look:0,className:d.item},"Магазин"),e.createElement(r.Item,{id:"IMPORTED",look:0,className:d.item},"Установленные")):null,"snippets"!==this.props.id?e.createElement("div",{className:o.toolbar,style:{position:"absolute",right:"0px"}},e.createElement(a.Icon,{icon:()=>s,tooltip:"Обновить",onClick:async()=>{document.querySelector(`.${o.toolbar} > [role="button"] > svg`).classList.add(t.updateAvailable),await goosemod.moduleStoreAPI.hotupdate(!0),document.querySelector(".selected-aXhQR6").click()}}),e.createElement(a.Icon,{icon:()=>n,tooltip:"Репозитории",onClick:openReposModal})):"")}}},header$3={__proto__:null,default:header$2},_Divider=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByDisplayName("FormDivider"),o=goosemod.webpackModules.findByProps("dividerDefault","titleDefault");return class extends e.PureComponent{render(){return e.createElement(t,{className:o.dividerDefault})}}},divider={__proto__:null,default:_Divider},header=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByDisplayName("FormTitle"),o=goosemod.webpackModules.findByProps("marginTop20","marginBottom8"),s=goosemod.webpackModules.findByDisplayName("Tooltip"),n=goosemod.webpackModules.findByDisplayName("Science");return class extends e.PureComponent{constructor(t){t.experimental&&(t.text=[e.createElement(s,{position:"top",color:"primary",text:"Experimental"},(({onMouseLeave:t,onMouseEnter:o})=>e.createElement(n,{width:18,height:18,className:"gm-settings-label-icon",onMouseLeave:t,onMouseEnter:o}))),e.createElement("span",{style:{verticalAlign:"unset"},className:"gm-settings-label-text"},t.text)]),t.id=`gm-settings-header-${Math.random().toString().substring(2)}`,t.collapsible=void 0!==t.collapsed,t.collapsed=t.collapsed||!1,t.hide&&(t.collapseOffset=0),super(t),this.props.handleCollapse=()=>{const e=[...document.querySelectorAll(`#${this.props.id} ~ *`)],t=e.slice(0,e.indexOf(e.find((e=>"H5"===e.tagName))));for(const e of t.slice(this.props.collapseOffset||0))e.style.display=this.props.collapsed?"none":""},this.props.collapsed&&this.props.handleCollapse()}render(){return setTimeout(this.props.handleCollapse,100),this.props.hide?null:e.createElement(t,{tag:"h5",className:(0!==this.props.i?o.marginTop20+" ":"")+o.marginBottom8,onClick:this.props.collapsible?()=>{this.props.collapsed=!this.props.collapsed,this.props.handleCollapse(),this.forceUpdate()}:void 0,id:this.props.id},this.props.text,this.props.collapsible?e.createElement(goosemod.webpackModules.findByDisplayName("DropdownArrow"),{className:["gm-settings-header-collapser",this.props.collapsed?"collapsed":""].join(" "),width:22,height:22}):null)}}},header$1={__proto__:null,default:header},toggle=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByDisplayName("SwitchItem"),o=goosemod.webpackModules.find((e=>"Markdown"===e.displayName&&e.rules)),s=goosemod.webpackModules.findByDisplayName("Tooltip"),n=goosemod.webpackModules.findByDisplayName("Science"),a=goosemod.webpackModules.findByDisplayName("InfoFilled");return class extends e.Component{constructor(t){const o=t.onToggle;t.onChange=e=>{this.props.value=e,this.forceUpdate(),o(e)},t.experimental&&(t.text=[e.createElement(s,{position:"top",color:"primary",text:"Experimental"},(({onMouseLeave:t,onMouseEnter:o})=>e.createElement(n,{width:22,height:22,className:"gm-settings-label-icon",onMouseLeave:t,onMouseEnter:o}))),e.createElement("span",{className:"gm-settings-label-text"},t.text)],t.subtext="**Experimental:** "+t.subtext),t.debug&&(t.text=[e.createElement(s,{position:"top",color:"primary",text:"Debug"},(({onMouseLeave:t,onMouseEnter:o})=>e.createElement(a,{width:22,height:22,className:"gm-settings-label-icon",onMouseLeave:t,onMouseEnter:o}))),e.createElement("span",{className:"gm-settings-label-text"},t.text)],t.subtext="**Debug:** "+t.subtext),super(t)}render(){return e.createElement(t,{value:this.props.isToggled(),note:e.createElement(o,{className:"gm-settings-note-markdown"},this.props.subtext||""),disabled:!!this.props.disabled&&this.props.disabled(),onChange:this.props.onChange},this.props.text)}}},toggle$1={__proto__:null,default:toggle},text=()=>{const e=_Divider(),{React:t}=goosemod.webpackModules.common,o=goosemod.webpackModules.findByDisplayName("FormItem"),s=goosemod.webpackModules.findByDisplayName("FormText"),n=goosemod.webpackModules.findByDisplayName("Flex"),a=goosemod.webpackModules.findByProps("marginTop20","marginBottom20"),r=goosemod.webpackModules.findByProps("title","dividerDefault"),i=goosemod.webpackModules.findByProps("formText","placeholder");return class extends t.PureComponent{render(){return t.createElement(o,{className:[n.Direction.VERTICAL,n.Justify.START,n.Align.STRETCH,n.Wrap.NO_WRAP,a.marginBottom20].join(" ")},t.createElement("div",{style:{display:"flex",justifyContent:"space-between"}},t.createElement("div",{},t.createElement("div",{className:r.labelRow,style:{marginBottom:"4px"}},t.createElement("label",{class:r.title},this.props.text)),t.createElement(s,{className:i.description},this.props.subtext))),t.createElement(e))}}},text$1={__proto__:null,default:text},textAndChild=()=>{const{React:e}=goosemod.webpackModules.common,t=_Divider();goosemod.webpackModules.findByProps("Sizes","Colors","Looks","DropdownSizes");const o=goosemod.webpackModules.find((e=>"Markdown"===e.displayName&&e.rules)),s=goosemod.webpackModules.findByDisplayName("FormItem"),n=goosemod.webpackModules.findByDisplayName("FormText"),a=goosemod.webpackModules.findByDisplayName("Flex"),r=goosemod.webpackModules.findByProps("marginTop20","marginBottom20"),i=goosemod.webpackModules.findByProps("title","dividerDefault"),d=goosemod.webpackModules.findByProps("formText","placeholder");return class extends e.PureComponent{render(){return e.createElement(s,{className:[a.Direction.VERTICAL,a.Justify.START,a.Align.STRETCH,a.Wrap.NO_WRAP,r.marginBottom20].join(" ")},e.createElement("div",{style:{display:"flex",justifyContent:"space-between"}},e.createElement("div",{},e.createElement("div",{className:i.labelRow,style:{marginBottom:"4px"}},e.createElement("label",{class:i.title},this.props.text)),e.createElement(n,{className:d.description},e.createElement(o,{className:"gm-settings-note-markdown"},this.props.subtext||""))),this.props.children),e.createElement(t))}}},textAndChild$1={__proto__:null,default:textAndChild},textAndButton=()=>{const{React:e}=goosemod.webpackModules.common,t=_Divider(),o=goosemod.webpackModules.findByProps("Sizes","Colors","Looks","DropdownSizes"),s=goosemod.webpackModules.find((e=>"Markdown"===e.displayName&&e.rules)),n=goosemod.webpackModules.findByDisplayName("FormItem"),a=goosemod.webpackModules.findByDisplayName("FormText"),r=goosemod.webpackModules.findByDisplayName("Flex"),i=goosemod.webpackModules.findByProps("marginTop20","marginBottom20"),d=goosemod.webpackModules.findByProps("title","dividerDefault"),l=goosemod.webpackModules.findByProps("formText","placeholder");return class extends e.PureComponent{render(){return e.createElement(n,{className:[r.Direction.VERTICAL,r.Justify.START,r.Align.STRETCH,r.Wrap.NO_WRAP,i.marginBottom20].join(" ")},e.createElement("div",{style:{display:"flex",justifyContent:"space-between"}},e.createElement("div",{},e.createElement("div",{className:d.labelRow,style:{marginBottom:"4px"}},e.createElement("label",{class:d.title},this.props.text)),e.createElement(a,{className:l.description},e.createElement(s,{className:"gm-settings-note-markdown"},this.props.subtext||""))),e.createElement(o,{color:this.props.danger?o.Colors.RED:o.Colors.BRAND,disabled:this.props.disabled,onClick:()=>this.props.onclick()},this.props.buttonText)),e.createElement(t))}}},textAndButton$1={__proto__:null,default:textAndButton},textAndColor=()=>{const{React:e,constants:{DEFAULT_ROLE_COLOR:t,ROLE_COLORS:o}}=goosemod.webpackModules.common,s=_Divider(),n=goosemod.webpackModules.findByDisplayName("FormItem"),a=goosemod.webpackModules.findByDisplayName("FormTitle"),r=goosemod.webpackModules.findByProps("marginTop20","marginBottom20"),i=goosemod.webpackModules.findByProps("defaultMarginh5");return class extends e.PureComponent{constructor(e){e.default=(e=>{if(e&&7===e.length)return parseInt(e.slice(1),16)})((e.initialValue||(()=>{}))())||0,e.value=e.default,super(e)}render(){const d=goosemod.webpackModules.find((e=>"ColorPicker"===e.default?.displayName));return e.createElement(n,{className:[r.marginBottom20].join(" ")},e.createElement(a,{tag:"h5",className:(0!==this.props.i?r.marginTop20+" ":"")+i.defaultMarginh5},this.props.text),e.createElement(d.default,{colors:o,defaultColor:this.props.default||t,disabled:!1,value:this.props.value,customColor:null,renderDefaultButton:t=>e.createElement(d.DefaultColorButton,t),renderCustomButton:t=>e.createElement(d.CustomColorButton,t),customPickerPosition:"bottom",onChange:e=>{var t;this.props.value=e,this.forceUpdate(),this.props.oninput("#"+((16711680&(t=e))>>>16).toString(16).padStart(2,"0")+((65280&t)>>>8).toString(16).padStart(2,"0")+(255&t).toString(16).padStart(2,"0"))}}),e.createElement(s))}}},textAndColor$1={__proto__:null,default:textAndColor},button=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByProps("Sizes","Colors","Looks","DropdownSizes");return class extends e.PureComponent{render(){return e.createElement(t,{color:t.Colors.BRAND,size:t.Sizes.SMALL,disabled:this.props.disabled,onClick:()=>this.props.onclick()},this.props.text)}}},button$1={__proto__:null,default:button},search=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.find((e=>"SearchBar"===e.displayName&&e.prototype.focus));return class extends e.PureComponent{render(){return this.props.text||(this.props.text=""),setTimeout((()=>{this.props.onchange(this.props.text)}),10),e.createElement(t,{...t.defaultProps,className:this.props.storeSpecific?"gm-store-search":"",size:t.Sizes.MEDIUM,query:this.props.text,placeholder:this.props.placeholder||"Search",onClear:()=>{this.props.text="",this.forceUpdate()},onChange:e=>{this.props.text=e,this.forceUpdate()}})}}},search$1={__proto__:null,default:search},dropdownIndividual=()=>{const{React:e}=goosemod.webpackModules.common,{SingleSelect:t}=goosemod.webpackModules.findByProps("SingleSelect"),o=goosemod.webpackModules.findByDisplayName("FormText"),s=goosemod.webpackModules.findByProps("formText","placeholder");return class extends e.PureComponent{render(){return"function"==typeof this.props.options&&(this.props.options=this.props.options()),this.props.value||(this.props.value=(this.props.selected||(()=>{}))()||this.props.options[0]),setTimeout((()=>{this.props.onchange(this.props.value)}),10),e.createElement("div",{className:"gm-inline-dropdown"},e.createElement(o,{className:s.description},this.props.label),e.createElement(t,{searchable:!1,onChange:e=>{this.props.value=e.value,this.forceUpdate()},value:this.props.value,options:this.props.options.map((e=>({label:e,value:e})))}))}}},dropdownIndividual$1={__proto__:null,default:dropdownIndividual},_StoreHeader=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByDisplayName("Text");return class extends e.PureComponent{render(){return e.createElement("div",{className:"gm-store-header"},e.createElement(t,{color:t.Colors.HEADER_PRIMARY,size:t.Sizes.SIZE_20},this.props.text))}}},storeHeader={__proto__:null,default:_StoreHeader},storeCategory=()=>{const{React:e}=goosemod.webpackModules.common,t=_StoreHeader(),o=_Card(),s=goosemod.webpackModules.findByProps("scrollerBase","auto","thin");return class extends e.PureComponent{render(){return this.props.cards||(this.props.cards=goosemod.settings.items.find((e=>e[1]===this.props.itemName))[2].filter((e=>"card"===e.type)).sort(this.props.sort).slice(0,10).map((t=>e.createElement(o,t)))),e.createElement("div",{className:"gm-store-category"},e.createElement(t,{text:this.props.text}),e.createElement("div",{className:s.auto},...this.props.cards))}}},storeCategory$1={__proto__:null,default:storeCategory},custom=()=>{const{React:e}=goosemod.webpackModules.common;return class extends e.PureComponent{render(){return e.createElement("div",{ref:e=>{e&&e.appendChild("function"==typeof this.props.element?this.props.element():this.props.element)}})}}},custom$1={__proto__:null,default:custom},textInput=()=>{const{React:e}=goosemod.webpackModules.common,t=_Divider(),o=goosemod.webpackModules.findByDisplayName("FormItem"),s=goosemod.webpackModules.findByDisplayName("FormText"),n=goosemod.webpackModules.findByDisplayName("TextInput"),a=goosemod.webpackModules.findByDisplayName("Flex"),r=goosemod.webpackModules.findByProps("marginTop20","marginBottom20"),i=goosemod.webpackModules.findByProps("formText","description");return class extends e.PureComponent{render(){return e.createElement(o,{title:this.props.text,className:[a.Direction.VERTICAL,a.Justify.START,a.Align.STRETCH,a.Wrap.NO_WRAP,r.marginBottom20].join(" ")},e.createElement(n,{onChange:e=>{this.props.oninput(e)},defaultValue:this.props.initialValue?this.props.initialValue():""}),this.props.subtext&&e.createElement(s,{className:[i.description,r.marginTop8].join(" ")},this.props.subtext),e.createElement(t))}}},textInput$1={__proto__:null,default:textInput},subtext=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByDisplayName("FormText"),o=goosemod.webpackModules.find((e=>"Markdown"===e.displayName&&e.rules)),s=goosemod.webpackModules.findByProps("marginTop20","marginBottom20");return class extends e.PureComponent{render(){return e.createElement(t,{type:"description",className:s.marginBottom20},e.createElement(o,{className:"gm-settings-note-markdown"},this.props.text||""))}}},subtext$1={__proto__:null,default:subtext}})();//# sourceURL=GooseMod