Skip to content

Instantly share code, notes, and snippets.

@AlphaKR93
Last active March 22, 2024 16:07
Show Gist options
  • Save AlphaKR93/2b3dd46be9854c12e96d5b4d95389d34 to your computer and use it in GitHub Desktop.
Save AlphaKR93/2b3dd46be9854c12e96d5b4d95389d34 to your computer and use it in GitHub Desktop.
"use strict";(()=>{var ca=Object.defineProperty;var l=(e,t)=>()=>(e&&(t=e(e=0)),t);var P=(e,t)=>{for(var n in t)ca(e,n,{get:t[n],enumerable:!0})};var pe,ge,x,Xe,oe,Q,he=l(()=>{"use strict";pe=window.nativeModuleProxy,ge=pe.MMKVManager;x=pe.DCDFileManager??pe.RTNFileManager;Xe=pe.InfoDictionaryManager??pe.RTNClientInfoManager;oe=pe.DCDDeviceManager??pe.RTNDeviceManager,Q=pe.BundleUpdaterManager});var Dt,ee,mt=l(()=>{Dt=["a","b","i"],ee=new Map});function ir(e,t,n,r,o){let a=ee.get(t)?.[e];if(!a)return o?Reflect.construct(t[e],n,r):t[e].apply(r,n);for(let s of a.b.values()){let m=s.call(r,n);Array.isArray(m)&&(n=m)}let i=[...a.i.values()].reduce(function(s,m){return function(){for(var p=arguments.length,_=new Array(p),O=0;O<p;O++)_[O]=arguments[O];return m.call(r,_,s)}},function(){for(var s=arguments.length,m=new Array(s),p=0;p<s;p++)m[p]=arguments[p];return o?Reflect.construct(a.o,m,r):a.o.apply(r,m)})(...n);for(let s of a.a.values())i=s.call(r,n,i)??i;return i}var sr=l(()=>{mt()});function Pt(e,t,n,r){let o=ee.get(e),a=o?.[t];return a?.[r].has(n)?(a[r].delete(n),Dt.every(function(i){return a[i].size===0})&&(Reflect.defineProperty(e,t,{value:a.o,writable:!0,configurable:!0})||(e[t]=a.o),delete o[t]),Object.keys(o).length==0&&ee.delete(e),!0):!1}function cr(){for(let[e,t]of ee.entries())for(let n in t)for(let r of Dt)for(let o of t[n]?.[r].keys()??[])Pt(e,n,o,r)}var Bt=l(()=>{mt()});function dt(e){return function(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(typeof n[t]!="function")throw new Error(`${t} is not a function in ${n.constructor.name}`);ee.has(n)||ee.set(n,Object.create(null));let a=ee.get(n);if(!a[t]){let m=n[t];a[t]={o:m,b:new Map,i:new Map,a:new Map};let p=function(D,k,$){let ve=ir(t,n,k,D,$);return o&&s(),ve},_=new Proxy(m,{apply:function(D,k,$){return p(k,$,!1)},construct:function(D,k){return p(m,k,!0)},get:function(D,k,$){return k=="toString"?m.toString.bind(m):Reflect.get(D,k,$)}});Reflect.defineProperty(n,t,{value:_,configurable:!0,writable:!0})||(n[t]=_)}let i=Symbol(),s=function(){return Pt(n,t,i,e)};return a[t][e].set(i,r),s}}var lr=l(()=>{sr();mt();Bt()});var Lt={};P(Lt,{after:()=>R,before:()=>Mt,instead:()=>Te,unpatchAll:()=>cr});var Mt,Te,R,Ot=l(()=>{lr();Bt();Mt=dt("b"),Te=dt("i"),R=dt("a")});var ur,K=l(()=>{"use strict";Ot();Ot();ur={...Lt}});function Ut(){return{listeners:Object.values(Ft).reduce(function(e,t){return e[t]=new Set,e},{}),on(e,t){this.listeners[e].has(t)||this.listeners[e].add(t)},off(e,t){this.listeners[e].delete(t)},once(e,t){var n=this;let r=function(o,a){n.off(o,r),t(o,a)};this.on(e,r)},emit(e,t){for(let n of this.listeners[e])n(e,t)}}}var Ft,fr=l(()=>{"use strict";(function(e){e.GET="GET",e.SET="SET",e.DEL="DEL"})(Ft||(Ft={}))});var mr,pt,kt,Gt,Vt,Re,gt,Oe,dr=l(()=>{"use strict";he();h();mr=/[<>:"/\\|?*]/g,pt=function(e){return c.Platform.select({default:e,ios:x.saveFileToGallery?e:`Documents/${e}`})},kt=function(e){return mr.test(e)&&(e=e.replace(mr,"-").replace(/-+/g,"-")),`vd_mmkv/${e}`},Gt=async function(){let{CacheDirPath:e,DocumentsDirPath:t}=x.getConstants(),n=c.Platform.select({default:e,ios:t}),r=c.NativeModules.RNFSManager;try{await r.unlink(await x.fileExists(`${n}/revenge.js`)?`${n}/revenge.js`:`${n}/vendetta.js`)}catch{}},Vt=async function(e){await ge.getItem(e)&&ge.removeItem(e);let t=kt(e);await x.fileExists(`${x.getConstants().DocumentsDirPath}/${t}`)&&await x.removeFile?.("documents",t)},Re=function(e){let t=kt(e);return Oe(t,async function(){try{let n=`${x.getConstants().DocumentsDirPath}/${t}`;if(await x.fileExists(n))return;let r=await ge.getItem(e)??"{}";if(r==="!!LARGE_VALUE!!"){let o=`${x.getConstants().CacheDirPath}/mmkv/${e}`;await x.fileExists(o)?r=await x.readFile(o,"utf8"):(console.log(`${e}: Experienced data loss :(`),r="{}")}await x.writeFile("documents",pt(t),r,"utf8"),await ge.getItem(e)!==null&&(ge.removeItem(e),console.log(`Successfully migrated ${e} store from MMKV storage to fs`))}catch(n){console.error("Failed to migrate to fs from MMKVManager ",n)}}())},gt=function(e){let t=kt(e);return x.removeFile("documents",pt(t))},Oe=function(e,t){let n;return{get:async function(){await t;let r=`${x.getConstants().DocumentsDirPath}/${e}`;return!n&&!await x.fileExists(r)?(n=!0,x.writeFile("documents",pt(e),"{}","utf8")):JSON.parse(await x.readFile(r,"utf8"))},set:async function(r){await t,await x.writeFile("documents",pt(e),JSON.stringify(r),"utf8")}}}});var Ht={};P(Ht,{awaitSyncWrapper:()=>Fe,createFileBackend:()=>Oe,createMMKVBackend:()=>Re,createProxy:()=>hr,createStorage:()=>ae,purgeStorage:()=>Vt,removeCachedScript:()=>Gt,removeMMKVBackend:()=>gt,useProxy:()=>T,wrapSync:()=>ye});function hr(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=Ut();function n(r,o){return new Proxy(r,{get(a,i){if(i===pr)return t;let s=[...o,i],m=a[i];return m!=null?(t.emit("GET",{path:s,value:m}),typeof m=="object"?n(m,s):m):m},set(a,i,s){return a[i]=s,t.emit("SET",{path:[...o,i],value:s}),!0},deleteProperty(a,i){let s=delete a[i];return s&&t.emit("DEL",{path:[...o,i]}),s}})}return{proxy:n(e,[]),emitter:t}}function T(e){if(e[$t])throw e[$t];let t=e[pr];if(!t)throw new Error(`InvalidArgumentExcpetion - storage[emitterSymbol] is ${typeof t}`);let[,n]=React.useReducer(function(r){return~r},0);return React.useEffect(function(){let r=function(){return n()};return t.on("SET",r),t.on("DEL",r),function(){t.off("SET",r),t.off("DEL",r)}},[t]),e}async function ae(e){let t=await e.get(),{proxy:n,emitter:r}=hr(t),o=function(){return e.set(n)};return r.on("SET",o),r.on("DEL",o),n}function ye(e){let t,n,r=[],o=function(a){return t?a():r.push(a)};return e.then(function(a){t=a,r.forEach(function(i){return i()})}).catch(function(a){n=a}),new Proxy({},{...Object.fromEntries(Object.getOwnPropertyNames(Reflect).map(function(a){return[a,function(i){for(var s=arguments.length,m=new Array(s>1?s-1:0),p=1;p<s;p++)m[p-1]=arguments[p];return Reflect[a](t??i,...m)}]})),get(a,i,s){return i===$t?n:i===gr?o:Reflect.get(t??a,i,s)}})}var pr,gr,$t,Fe,H=l(()=>{"use strict";fr();dr();pr=Symbol.for("vendetta.storage.emitter"),gr=Symbol.for("vendetta.storage.accessor"),$t=Symbol.for("vendetta.storage.error");Fe=function(e){return new Promise(function(t){return e[gr](t)})}});function ie(e,t){return ht(e,t,{walkable:["props","children","child","sibling"]})}var Rr=l(()=>{"use strict";Ee()});function jt(e,t,n,r){if(!(r>n.maxDepth)&&e){try{if(t(e))return e}catch{}if(Array.isArray(e)){for(let o of e)if(!(typeof o!="object"||o===null))try{let a=jt(o,t,n,r+1);if(a)return a}catch{}}else if(typeof e=="object"){for(let o of Object.keys(e))if(!(typeof e[o]!="object"||e[o]===null)&&!(n.walkable.length&&!n.walkable.includes(o))&&!n.ignore.includes(o))try{let a=jt(e[o],t,n,r+1);if(a)return a}catch{}}}}function ht(e,t){let{walkable:n=[],ignore:r=[],maxDepth:o=100}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return jt(e,t,{walkable:n,ignore:r,maxDepth:o},0)}var yr=l(()=>{"use strict"});async function _e(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1e4,r=await fetch(e,{signal:la(n),...t});if(!r.ok)throw new Error("Request returned non-ok");return r}function la(e){let t=new AbortController;return setTimeout(function(){return t.abort(`Timed out after ${e}ms`)},e),t.signal}var Er=l(()=>{"use strict"});function Kt(e){return Object.isFrozen(e)?Object.assign({},e):e}var _r=l(()=>{"use strict"});function Y(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];let o={...e};return n.forEach(function(a){return delete o[a]}),o}var br=l(()=>{"use strict"});var Yt={};P(Yt,{findInReactTree:()=>ie,findInTree:()=>ht,safeFetch:()=>_e,unfreeze:()=>Kt,without:()=>Y});var Ee=l(()=>{"use strict";Rr();yr();Er();_r();br()});var Xt={};P(Xt,{find:()=>W,findAll:()=>qe,findByDisplayName:()=>zt,findByDisplayNameAll:()=>pa,findByName:()=>G,findByNameAll:()=>da,findByProps:()=>f,findByPropsAll:()=>ma,findByStoreName:()=>Ue,findByTypeName:()=>ga,findByTypeNameAll:()=>ha,modules:()=>Wt});var ua,xr,Sr,Wt,W,qe,wr,vr,Tr,Cr,fa,f,ma,G,da,zt,pa,ga,ha,Ue,C=l(()=>{"use strict";ua=window.ErrorUtils.getGlobalHandler(),xr=function(e){return Object.defineProperty(window.modules,e,{value:window.modules[e],enumerable:!1,configurable:!0,writable:!0})};for(let e in window.modules){let t=Number(e),n=window.modules[t]?.publicModule?.exports;(!n||n===window||n.proxygone===null)&&xr(t)}Sr=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return function(n){let r=[];for(let o in e){let a=Number(o),i=e[a]?.publicModule?.exports;if(!e[a].isInitialized)try{let s=Function.prototype.toString;Object.defineProperty(Function.prototype,"toString",{value:s,configurable:!0,writable:!1}),window.ErrorUtils.setGlobalHandler(null),__r(a),window.ErrorUtils.setGlobalHandler(ua),Object.defineProperty(Function.prototype,"toString",{value:s,configurable:!0,writable:!0})}catch{}if(!i){xr(a);continue}if(i.default&&i.__esModule&&n(i.default)){if(t)return i.default;r.push(i.default)}if(n(i)){if(t)return i;r.push(i)}}if(!t)return r}},Wt=window.modules,W=Sr(Wt,!0),qe=Sr(Wt),wr=function(e){return function(t){return e.every(function(n){return t[n]!==void 0})}},vr=function(e,t){return t?function(n){return n?.name===e}:function(n){return n?.default?.name===e}},Tr=function(e,t){return t?function(n){return n?.displayName===e}:function(n){return n?.default?.displayName===e}},Cr=function(e,t){return t?function(n){return n?.type?.name===e}:function(n){return n?.default?.type?.name===e}},fa=function(e){return function(t){return t.getName&&t.getName.length===0&&t.getName()===e}},f=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return W(wr(t))},ma=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return qe(wr(t))},G=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return W(vr(e,t))},da=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return qe(vr(e,t))},zt=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return W(Tr(e,t))},pa=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return qe(Tr(e,t))},ga=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return W(Cr(e,t))},ha=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return qe(Cr(e,t))},Ue=function(e){return W(fa(e))}});var qt,Ra,B,Ce=l(()=>{"use strict";C();qt=f("setLogFn").default,Ra=new qt("Revenge"),B=Ra});var tn={};P(tn,{color:()=>se,fetchTheme:()=>Je,getCurrentTheme:()=>Ae,initThemes:()=>en,installTheme:()=>Ie,patchChatBackground:()=>Zt,removeTheme:()=>Qt,selectTheme:()=>Ne,themes:()=>V,updateThemes:()=>Nr});async function Jt(e){if(typeof e!="object")throw new Error("Theme must be an object");await Oe("vendetta_theme.json").set(e)}function Zt(){let e=Ae()?.data?.background;if(!e)return;let t=G("MessagesWrapperConnected",!1);if(!t)return;let{MessagesWrapper:n}=f("MessagesWrapper");if(!n)return;let r=[R("default",t,function(o,a){return React.createElement(c.ImageBackground,{style:{flex:1,height:"100%"},source:{uri:e.url},blurRadius:typeof e.blur=="number"?e.blur:0,children:a})}),R("render",n.prototype,function(o,a){let i=ie(a,function(s){return s?.props&&"HACK_fixModalInteraction"in s.props&&s?.props?.style});i?i.props.style=Object.assign(c.StyleSheet.flatten(i.props.style??{}),{backgroundColor:"#0000"}):B.error("Didn't find Messages when patching MessagesWrapper!")})];return function(){return r.forEach(function(o){return o()})}}function Ir(e){if(ce.valid(e))return ce(e).hex();let t=Number(c.processColor(e));return ce.rgb(t>>16&255,t>>8&255,t&255,t>>24&255).hex()}function Ea(e){if(e.semanticColors){let t=e.semanticColors;for(let n in t)for(let r in t[n])t[n][r]&&=Ir(t[n][r])}if(e.rawColors){let t=e.rawColors;for(let n in t)e.rawColors[n]=Ir(t[n]);c.Platform.OS==="android"&&_a(t)}return e}function _a(e){let t={BLACK_ALPHA_60:["BLACK",.6],BRAND_NEW_360_ALPHA_20:["BRAND_360",.2],BRAND_NEW_360_ALPHA_25:["BRAND_360",.25],BRAND_NEW_500_ALPHA_20:["BRAND_500",.2],PRIMARY_DARK_500_ALPHA_20:["PRIMARY_500",.2],PRIMARY_DARK_700_ALPHA_60:["PRIMARY_700",.6],STATUS_GREEN_500_ALPHA_20:["GREEN_500",.2],STATUS_RED_500_ALPHA_20:["RED_500",.2]};for(let n in t){let[r,o]=t[n];e[r]&&(e[n]=ce(e[r]).alpha(o).hex())}}async function Je(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n;try{n=await(await _e(e,{cache:"no-store"})).json()}catch{throw new Error(`Failed to fetch theme at ${e}`)}V[e]={id:e,selected:t,data:Ea(n)},t&&Jt(V[e])}async function Ie(e){if(typeof e!="string"||e in V)throw new Error("Theme already installed");await Je(e)}async function Ne(e){if(e==="default")return await Jt({});let t=Object.values(V).find(function(n){return n.selected})?.id;t&&(V[t].selected=!1),V[e].selected=!0,await Jt(V[e])}async function Qt(e){let t=V[e];return t.selected&&await Ne("default"),delete V[e],t.selected}function Ae(){let e=window.__vendetta_loader?.features?.themes?.prop;return e&&window[e]||null}async function Nr(){await Fe(V);let e=Ae();await Promise.allSettled(Object.keys(V).map(function(t){return Je(t,e?.id===t)}))}async function en(){let e=Ae();if(!e)return;let t=se.default.unsafe_rawColors;se.default.unsafe_rawColors=new Proxy(t,{get:function(n,r){return e?e.data?.rawColors?.[r]??Reflect.get(t,r):Reflect.get(t,r)}}),Te("resolveSemanticColor",se.default.meta??se.default.internal,function(n,r){if(!e)return r(...n);let[o,a]=n,[i,s]=Ar(o,a),m=o==="amoled"?2:o==="light"?1:0;let p=ya[i]??i,_=(e.data?.semanticColors?.[i]??e.data?.semanticColors?.[p])?.[m];if(i==="CHAT_BACKGROUND"&&typeof e.data?.background?.alpha=="number")return ce(_||"black").alpha(1-e.data.background.alpha).hex();if(_)return _;let O=e.data?.rawColors?.[s.raw];return O?s.opacity===1?O:ce(O).alpha(s.opacity).hex():r(...n)}),await Nr()}function Ar(e,t){let n=t[Ar._sym??=Object.getOwnPropertySymbols(t)[0]],r=se.SemanticColor[n];return[n,r[e.toLowerCase()]]}var se,V,ya,z=l(()=>{"use strict";K();H();Ee();h();C();Ce();se=f("SemanticColor"),V=ye(ae(Re("VENDETTA_THEMES"))),ya={BG_BACKDROP:"BACKGROUND_FLOATING",BG_BASE_PRIMARY:"BACKGROUND_PRIMARY",BG_BASE_SECONDARY:"BACKGROUND_SECONDARY",BG_BASE_TERTIARY:"BACKGROUND_SECONDARY_ALT",BG_MOD_FAINT:"BACKGROUND_MODIFIER_ACCENT",BG_MOD_STRONG:"BACKGROUND_MODIFIER_ACCENT",BG_MOD_SUBTLE:"BACKGROUND_MODIFIER_ACCENT",BG_SURFACE_OVERLAY:"BACKGROUND_FLOATING",BG_SURFACE_OVERLAY_TMP:"BACKGROUND_FLOATING",BG_SURFACE_RAISED:"BACKGROUND_MOBILE_PRIMARY"}});var Rt,Dr,c,ce,yt=l(()=>{"use strict";K();z();Rt=function(e){for(let t in window.modules){let n=window.modules[t]?.publicModule.exports;if(n&&e(n))return n}},Dr=Rt(function(e){return e?.default?.name==="requireNativeComponent"});Dr&&Te("default",Dr,function(e,t){try{return t(...e)}catch{return e[0]}});window.React=Rt(function(e){return e.createElement});c=Rt(function(e){return e.AppRegistry}),ce=Rt(function(e){return e.brewer});if(window.__vendetta_loader?.features.themes)try{en()}catch(e){console.error("[Revenge] Failed to initialize themes...",e)}});var sn={};P(sn,{Flux:()=>Ta,FluxDispatcher:()=>_t,NavigationNative:()=>le,React:()=>Pe,ReactNative:()=>c,assets:()=>Ze,channels:()=>rn,chroma:()=>ce,clipboard:()=>X,commands:()=>Et,constants:()=>ke,i18n:()=>De,invites:()=>Sa,lodash:()=>bt,moment:()=>an,navigation:()=>wa,navigationStack:()=>va,stylesheet:()=>F,toasts:()=>on,url:()=>Ge,util:()=>Ca});function xa(e){if(nn){for(let t in e)e[t]=new Proxy(c.StyleSheet.flatten(e[t]),{get(n,r,o){let a=Reflect.get(n,r,o);return Pr.isSemanticColor(a)?Pr.resolveSemanticColor(ba.theme,a):a}});return e}}var ba,nn,Pr,ke,rn,De,Ge,on,F,X,Ze,Sa,Et,wa,va,le,Ta,_t,Pe,an,bt,Ca,h=l(()=>{"use strict";yt();C();yt();yt();ba=Ue("ThemeStore"),nn=f("colors","unsafe_rawColors"),Pr=nn?.internal??nn?.meta;ke=f("Fonts","Permissions"),rn=f("getVoiceChannelId"),De=f("Messages"),Ge=f("openURL","openDeeplink"),on=W(function(e){return e.open&&e.close&&!e.startDrag&&!e.init&&!e.openReplay&&!e.setAlwaysOnTop&&!e.setAccountFlag}),F={...W(function(e){return e.createStyles&&!e.ActionSheet}),createThemedStyleSheet:xa,...f("createThemedStyleSheet")},X=f("setString","getString","hasString"),Ze=f("registerAsset"),Sa=f("acceptInviteAndTransitionToInviteChannel"),Et=f("getBuiltInCommands"),wa=f("pushLazy"),va=f("createStackNavigator"),le=f("NavigationContainer"),Ta=f("connectStores"),_t=f("_currentDispatchActionType"),Pe=window.React,an=f("isMoment"),bt=f("forEachRight"),Ca=f("inspect","isNullOrUndefined")});var b,Br,Mr,Qe,ue=l(()=>{(function(e){e.BRAND="brand",e.RED="red",e.GREEN="green",e.PRIMARY="primary",e.TRANSPARENT="transparent",e.GREY="grey",e.LIGHTGREY="lightgrey",e.WHITE="white",e.LINK="link"})(b||(b={}));(function(e){e[e.BUILT_IN=0]="BUILT_IN",e[e.BUILT_IN_TEXT=1]="BUILT_IN_TEXT",e[e.BUILT_IN_INTEGRATION=2]="BUILT_IN_INTEGRATION",e[e.BOT=3]="BOT",e[e.PLACEHOLDER=4]="PLACEHOLDER"})(Br||(Br={}));(function(e){e[e.SUB_COMMAND=1]="SUB_COMMAND",e[e.SUB_COMMAND_GROUP=2]="SUB_COMMAND_GROUP",e[e.STRING=3]="STRING",e[e.INTEGER=4]="INTEGER",e[e.BOOLEAN=5]="BOOLEAN",e[e.USER=6]="USER",e[e.CHANNEL=7]="CHANNEL",e[e.ROLE=8]="ROLE",e[e.MENTIONABLE=9]="MENTIONABLE",e[e.NUMBER=10]="NUMBER",e[e.ATTACHMENT=11]="ATTACHMENT"})(Mr||(Mr={}));(function(e){e[e.CHAT=1]="CHAT",e[e.USER=2]="USER",e[e.MESSAGE=3]="MESSAGE"})(Qe||(Qe={}))});var ln={};P(ln,{patchCommands:()=>cn,registerCommand:()=>Ia});function cn(){let e=R("getBuiltInCommands",Et,function(t,n){let[r]=t;if(r===Qe.CHAT)return n.concat(et)});return function(){et=[],e()}}function Ia(e){let t=Et.getBuiltInCommands(Qe.CHAT,!0,!1);t.sort(function(r,o){return Number.parseInt(o.id)-Number.parseInt(r.id)});let n=t[t.length-1];return e.id=(Number.parseInt(n.id,10)-1).toString(),et.push(e),function(){return et=et.filter(function(r){let{id:o}=r;return o!==e.id})}}var et,un=l(()=>{"use strict";K();h();ue();et=[]});var Rn={};P(Rn,{DEVELOPMENT_DISTRIBUTION_URL:()=>gn,DISCORD_SERVER:()=>fn,DISCORD_SERVER_ID:()=>mn,ESCAPE_REGEX:()=>hn,GITHUB:()=>pn,HTTP_REGEX:()=>Aa,HTTP_REGEX_MULTI:()=>nt,PLUGINS_CHANNEL_ID:()=>dn,PROXY_PREFIX:()=>Na,PROXY_PREFIXES:()=>Be,THEMES_CHANNEL_ID:()=>tt});var fn,mn,dn,tt,pn,Na,Be,gn,Aa,nt,hn,fe=l(()=>{"use strict";fn="https://discord.com/invite/ddcQf3s2Uq",mn="1015931589865246730",dn="1091880384561684561",tt="1091880434939482202",pn="https://github.com/revenge-mod",Na="https://vd-plugins.github.io/proxy",Be=["https://vd-plugins.github.io/proxy"],gn="https://raw.githubusercontent.com/revenge-mod/builds/dev/revenge.js",Aa=/^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)$/,nt=/https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_+.~#?&//=]*)/g,hn=/[.*+?^${}()|[\]\\]/g});var d,S,j=l(()=>{"use strict";H();d=ye(ae(Re("VENDETTA_SETTINGS"))),S=ye(ae(Oe("vendetta_loader.json")))});var En={};P(En,{rawColors:()=>yn,semanticColors:()=>y});var y,yn,be=l(()=>{"use strict";z();h();y=se?.default?.colors??ke?.ThemeColorMap,yn=se?.default?.unsafe_rawColors??ke?.Colors});function xe(e){let{selectable:t,style:n,children:r}=e;return t?c.Platform.select({ios:React.createElement(Da,{style:n,children:r}),default:React.createElement(Lr,{style:n,children:r,selectable:!0})}):React.createElement(Lr,{style:n,children:r})}var Or,Da,Lr,Fr=l(()=>{"use strict";h();be();Or=F.createThemedStyleSheet({codeBlock:{fontFamily:ke.Fonts.CODE_SEMIBOLD,fontSize:12,textAlignVertical:"center",backgroundColor:y.BACKGROUND_SECONDARY,color:y.TEXT_NORMAL,borderWidth:1,borderRadius:4,borderColor:y.BACKGROUND_TERTIARY,padding:10}}),Da=function(e){let{style:t,children:n}=e;return React.createElement(c.TextInput,{editable:!1,multiline:!0,style:[Or.codeBlock,t&&t],value:n})},Lr=function(e){let{selectable:t,style:n,children:r}=e;return React.createElement(c.Text,{selectable:t,style:[Or.codeBlock,n&&n]},r)}});function Ur(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var kr=l(()=>{});function Gr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Vr(e,t,n){return t&&Gr(e.prototype,t),n&&Gr(e,n),e}var $r=l(()=>{});function Hr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var jr=l(()=>{});function xt(e,t){return xt=Object.setPrototypeOf||function(r,o){return r.__proto__=o,r},xt(e,t)}var Kr=l(()=>{});function Yr(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&xt(e,t)}var Wr=l(()=>{Kr()});function rt(e){return rt=Object.setPrototypeOf?Object.getPrototypeOf:function(n){return n.__proto__||Object.getPrototypeOf(n)},rt(e)}var zr=l(()=>{});function Xr(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var qr=l(()=>{});function Jr(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var Zr=l(()=>{});function Qr(e){"@swc/helpers - typeof";return e&&typeof Symbol<"u"&&e.constructor===Symbol?"symbol":typeof e}var eo=l(()=>{});function to(e,t){return t&&(Qr(t)==="object"||typeof t=="function")?t:Jr(e)}var no=l(()=>{Zr();eo()});function ro(e){var t=Xr();return function(){var r=rt(e),o;if(t){var a=rt(this).constructor;o=Reflect.construct(r,arguments,a)}else o=r.apply(this,arguments);return to(this,o)}}var oo=l(()=>{zr();qr();no()});var ao,Pa,N,_n=l(()=>{"use strict";kr();$r();jr();Wr();oo();h();A();ao=F.createThemedStyleSheet({view:{flex:1,flexDirection:"column",margin:10},title:{fontSize:20,textAlign:"center",marginBottom:5}}),N=function(e){"use strict";Yr(n,e);var t=ro(n);function n(r){Ur(this,n);var o;return o=t.call(this,r),o.state={hasErr:!1},o}return Vr(n,[{key:"render",value:function(){var o=this;return this.state.hasErr?Pe.createElement(c.ScrollView,{style:ao.view},Pe.createElement(E.FormText,{style:ao.title},"Uh oh."),Pe.createElement(xe,{selectable:!0,style:{marginBottom:5}},this.state.errText),Pe.createElement(te,{color:te.Colors.RED,size:te.Sizes.MEDIUM,look:te.Looks.FILLED,onPress:function(){return o.setState({hasErr:!1,errText:void 0})},text:"Retry"})):this.props.children}}]),n}(Pa=Pe.Component);Hr(N,"getDerivedStateFromError",function(e){return{hasErr:!0,errText:e.message}})});var xn={};P(xn,{all:()=>me,find:()=>Ba,getAssetByID:()=>La,getAssetByName:()=>Ma,getAssetIDByName:()=>u,patchAssets:()=>bn});function bn(){let e=R("registerAsset",Ze,function(t,n){let r=t[0];me[r.name]={...r,id:n}});for(let t=1;;t++){let n=Ze.getAssetByID(t);if(!n)break;me[n.name]||(me[n.name]={...n,id:t})}return e}var me,Ba,Ma,La,u,w=l(()=>{"use strict";K();h();me={};Ba=function(e){return Object.values(me).find(e)},Ma=function(e){return me[e]},La=function(e){return Ze.getAssetByID(e)},u=function(e){return me[e]?.id}});function Ve(e){let{onChangeText:t,placeholder:n,style:r}=e;return St.TextInput?React.createElement(St.TextInput,{style:[Sn.redesignSearch,r],size:"sm",placeholder:n,onChange:t,isClearable:!0,leadingIcon:function(){return React.createElement(c.Image,{source:u("MagnifyingGlassIcon"),style:Sn.icon})},returnKeyType:"search"}):React.createElement(Oa,{style:[Sn.search,r],placeholder:n,onChangeText:t})}var Oa,Sn,io=l(()=>{"use strict";h();C();A();w();be();Oa=G("StaticSearchBarContainer"),Sn=F.createThemedStyleSheet({search:{margin:0,padding:0,borderBottomWidth:0,backgroundColor:"none"},redesignSearch:{paddingHorizontal:8,marginBottom:4},icon:{width:16,height:16,tintColor:y.INTERACTIVE_NORMAL}})});function $e(e){let{label:t,icon:n,noPadding:r=!1,noAnimation:o=!1,children:a}=e,{FormRow:i,FormDivider:s}=E,[m,p]=React.useState(!0);return React.createElement(React.Fragment,null,React.createElement(i,{label:t,leading:n&&React.createElement(i.Icon,{source:u(n)}),trailing:React.createElement(i.Arrow,{style:{transform:[{rotate:`${m?180:90}deg`}]}}),onPress:function(){p(!m),o||c.LayoutAnimation.configureNext(c.LayoutAnimation.Presets.easeInEaseOut)}}),!m&&React.createElement(React.Fragment,null,React.createElement(s,null),React.createElement(c.View,{style:!r&&{paddingHorizontal:15}},a)))}var so=l(()=>{"use strict";h();w();A()});var Cn={};P(Cn,{Alert:()=>wn,Button:()=>te,Codeblock:()=>xe,ErrorBoundary:()=>N,Forms:()=>E,General:()=>Fa,HelpMessage:()=>vn,Redesign:()=>St,SafeAreaView:()=>Tn,Search:()=>Ve,Summary:()=>$e});var E,Fa,wn,te,vn,Tn,St,A=l(()=>{"use strict";C();Fr();_n();io();so();E=f("Form","FormSection"),Fa=f("Button","Text","View"),wn=zt("FluxContainer(Alert)"),te=f("Looks","Colors","Sizes"),vn=G("HelpMessage"),Tn=f("useSafeAreaInsets").SafeAreaView,St=f("Button","ContextMenu","TextInput")??{}});function In(e){let{title:t,confirmText:n,confirmColor:r,onConfirm:o,cancelText:a,placeholder:i,initialValue:s="",secureTextEntry:m}=e,[p,_]=React.useState(s),[O,D]=React.useState("");function k(){Promise.resolve(o(p)).then(function(){co.close()}).catch(function(ve){D(ve.message)})}return React.createElement(wn,{title:t,confirmText:n,confirmColor:r,isConfirmButtonDisabled:O.length!==0,onConfirm:k,cancelText:a,onCancel:function(){return co.close()}},React.createElement(Ua,{placeholder:i,value:p,onChange:function($){_(typeof $=="string"?$:$.text),O&&D("")},returnKeyType:"done",onSubmitEditing:k,error:O||void 0,secureTextEntry:m,autoFocus:!0,showBorder:!0,style:{paddingVertical:5,alignSelf:"stretch",paddingHorizontal:0}}))}var Ua,co,lo=l(()=>{"use strict";C();A();({FormInput:Ua}=E),co=f("openLazy","close")});var An={};P(An,{showConfirmationAlert:()=>v,showCustomAlert:()=>fo,showInputAlert:()=>Nn});function v(e){let t=e;return t.body=e.content,t.content=void 0,t.isDismissable??=!0,uo.show(t)}var uo,fo,Nn,ne=l(()=>{"use strict";C();lo();uo=f("openLazy","close");fo=function(e,t){return uo.openLazy({importer:async function(){return function(){return React.createElement(e,t)}}})},Nn=function(e){return fo(In,e)}});var Dn={};P(Dn,{showToast:()=>g});var ka,g,re=l(()=>{"use strict";h();C();({uuid4:ka}=f("uuid4")),g=function(e,t){return on.open({key:`vd-toast-${ka()}`,content:e,source:t,icon:t})}});var Mn={};P(Mn,{branch:()=>mo,connectToDebugger:()=>Pn,getDebugInfo:()=>at,patchLogHook:()=>Bn,setDevelopmentBuildEnabled:()=>Me,socket:()=>q,toggleSafeMode:()=>ot,versionHash:()=>wt});async function ot(){d.safeMode={...d.safeMode,enabled:!d.safeMode?.enabled},window.__vendetta_loader?.features.themes&&(Ae()?.id&&(d.safeMode.currentThemeId=Ae()?.id),d.safeMode?.enabled?await Ne("default"):d.safeMode?.currentThemeId&&await Ne(d.safeMode?.currentThemeId)),setTimeout(Q.reload,400)}function Pn(e){if(q!==void 0&&q.readyState!==WebSocket.CLOSED&&q.close(),!e){g("Invalid debugger URL!",u("Small"));return}q=new WebSocket(`ws://${e}`),q.addEventListener("open",function(){return g("Connected to debugger.",u("Check"))}),q.addEventListener("message",function(t){try{(0,eval)(t.data)}catch(n){console.error(n)}}),q.addEventListener("error",function(t){console.log(`Debugger error: ${t.message}`),g("An error occurred with the debugger connection!",u("Small"))})}function Bn(){let e=R("nativeLoggingHook",globalThis,function(t){q?.readyState===WebSocket.OPEN&&q.send(JSON.stringify({message:t[0],level:t[1]})),B.log(t[0])});return function(){q?.close(),e()}}function at(){let e=window.HermesInternal.getRuntimeProperties(),t=e["OSS Release Version"],n="for RN ",r=c.Platform.constants,o=r.reactNativeVersion;return{vendetta:{version:wt,loader:window.__vendetta_loader?.name??"Unknown",branch:mo},discord:{version:Xe.Version,build:Xe.Build},react:{version:React.version,nativeVersion:t.startsWith(n)?t.substring(n.length):`${o.major}.${o.minor}.${o.patch}`},hermes:{version:t,buildType:e.Build,bytecodeVersion:e["Bytecode Version"]},...c.Platform.select({android:{os:{name:"Android",version:r.Release,sdk:r.Version}},ios:{os:{name:r.systemName,version:r.osVersion}}}),...c.Platform.select({android:{device:{manufacturer:r.Manufacturer,brand:r.Brand,model:r.Model,codename:oe.device}},ios:{device:{manufacturer:oe.deviceManufacturer,brand:oe.deviceBrand,model:oe.deviceModel,codename:oe.device}}})}}async function Me(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e)d.__previousCustomLoadUrlConfig=S.customLoadUrl,S.customLoadUrl={enabled:!0,url:gn};else{let n=d.__previousCustomLoadUrlConfig;n?S.customLoadUrl=n:S.customLoadUrl={enabled:!1,url:"http://localhost:4040/revenge.js"},d.__previousCustomLoadUrlConfig=void 0}d.developmentBuildEnabled=e,await Gt(),t&&v({title:"Reload required",content:"Changes will only apply next time the app launches or reloads.",confirmText:"Reload now",cancelText:"Later",confirmColor:b.PRIMARY,onConfirm:Q.reload})}var q,wt,mo,He=l(()=>{"use strict";fe();Ce();he();K();j();z();h();ue();ne();w();re();H();wt="69c993e",mo="HEAD"});function ho(e){let{locale:t}=e;try{po&&(po.overrideTheme(Ga?.theme??"dark"),go&&Va.useAMOLEDTheme===2&&go.setAMOLEDThemeEnabled(!0))}catch(n){B.error("Failed to fix theme...",n)}try{an.locale(t.toLowerCase())}catch(n){B.error("Failed to fix timestamps...",n)}_t.unsubscribe("I18N_LOAD_SUCCESS",ho)}function Ro(){return _t.subscribe("I18N_LOAD_SUCCESS",ho)}var po,go,Ga,Va,yo=l(()=>{"use strict";Ce();h();C();po=f("updateTheme","overrideTheme"),go=f("setAMOLEDThemeEnabled"),Ga=Ue("ThemeStore"),Va=Ue("UnsyncedUserSettingsStore")});var $a,Ha,ja,Eo,_o=l(()=>{"use strict";$a=function(e){return{status:"fulfilled",value:e}},Ha=function(e){return{status:"rejected",reason:e}},ja=function(e){return Promise.resolve(e).then($a,Ha)},Eo=function(e){return Promise.all(Array.from(e).map(ja))}});var Un={};P(Un,{evalPlugin:()=>bo,fetchPlugin:()=>je,getSettings:()=>Fn,initPlugins:()=>On,installPlugin:()=>Se,plugins:()=>M,removePlugin:()=>Ln,startPlugin:()=>Ke,stopPlugin:()=>Ye});async function je(e){e.endsWith("/")||(e+="/");let t=M[e],n;try{n=await(await _e(`${e}manifest.json`,{cache:"no-store"})).json()}catch{throw new Error(`Failed to fetch manifest for ${e}`)}let r;if(t?.manifest.hash!==n.hash)try{r=await(await _e(e+(n.main||"index.js"),{cache:"no-store"})).text()}catch{}if(!r&&!t)throw new Error(`Failed to fetch JS for ${e}`);M[e]={id:e,manifest:n,enabled:t?.enabled??!1,update:t?.update??!0,js:r??t.js}}async function Se(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e.endsWith("/")||(e+="/"),typeof e!="string"||e in M)throw new Error("Plugin already installed");await je(e),t&&await Ke(e)}async function bo(e){let t={...window.vendetta,plugin:{id:e.id,manifest:e.manifest,storage:await ae(Re(e.id))},logger:new qt(`Vendetta \xBB ${e.manifest.name}`)},n=`vendetta=>{return ${e.js}} //# sourceURL=${e.id}`,r=(0,eval)(n)(t),o=typeof r=="function"?r():r;return o?.default??o??{}}async function Ke(e){e.endsWith("/")||(e+="/");let t=M[e];if(!t)throw new Error("Attempted to start non-existent plugin");try{if(!d.safeMode?.enabled){let n=await bo(t);Le[e]=n,n.onLoad?.()}t.enabled=!0}catch(n){B.error(`Plugin ${t.id} errored whilst loading, and will be unloaded`,n);try{Le[t.id]?.onUnload?.()}catch(r){B.error(`Plugin ${t.id} errored whilst unloading`,r)}delete Le[e],t.enabled=!1}}function Ye(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;e.endsWith("/")||(e+="/");let n=M[e],r=Le[e];if(!n)throw new Error("Attempted to stop non-existent plugin");if(!d.safeMode?.enabled){try{r?.onUnload?.()}catch(o){B.error(`Plugin ${n.id} errored whilst unloading`,o)}delete Le[e]}t&&(n.enabled=!1)}async function Ln(e){e.endsWith("/")||(e+="/"),M[e].enabled&&Ye(e),delete M[e],await Vt(e)}async function On(){await Fe(d),await Fe(M);let e=Object.keys(M);return d.safeMode?.enabled||(await Eo(e.filter(function(t){return M[t].enabled}).map(async function(t){return M[t].update&&await je(t).catch(function(n){return B.error(n.message)}),await Ke(t)})),e.filter(function(t){return!M[t].enabled&&M[t].update}).forEach(function(t){return je(t)})),Ka}var M,Le,Ka,Fn,we=l(()=>{"use strict";Ce();_o();j();H();Ee();M=ye(ae(Re("VENDETTA_PLUGINS"))),Le={};Ka=function(){return Object.keys(Le).forEach(function(e){return Ye(e,!1)})},Fn=function(e){return Le[e]?.settings}});async function xo(e){return{patcher:Y(ur,"unpatchAll"),metro:{...Xt,common:{...sn}},constants:Rn,utils:Yt,debug:Y(Mn,"versionHash","patchLogHook","toggleSafeMode"),ui:{components:Cn,toasts:Dn,alerts:An,assets:xn,...En},plugins:Y(Un,"initPlugins","evalPlugin"),themes:Y(tn,"initThemes"),commands:Y(ln,"patchCommands"),storage:Ht,settings:d,loader:{identity:window.__vendetta_loader,config:S},logger:B,version:wt,unload:function(){e.filter(function(t){return typeof t=="function"}).forEach(function(t){return t()}),window.vendetta=void 0}}}var So=l(()=>{"use strict";un();fe();He();Ce();K();we();j();H();z();Ee();h();C();ne();w();be();A();re()});function wo(){return R("default",Ya,function(e,t){let[{thread:n}]=e;if(n.guild_id!==mn)return;let r;if(n.parent_id===dn)r="Plugin";else if(n.parent_id===tt&&window.__vendetta_loader?.features.themes)r="Theme";else return;let{firstMessage:o}=Xa(n),a=o?.content?.match(nt);if(!a)return;r==="Plugin"?a=a.filter(function(p){return Be.some(function(_){return p.startsWith(_)})}):a=a.filter(function(p){return p.endsWith(".json")});let i=a[0];if(!i)return;let s=ie(t,function(p){return p?.[0]?.key}),m=s[0].type;s.unshift(React.createElement(m,{key:"install"},React.createElement(Wa,{leading:React.createElement(za,{style:{opacity:1},source:u("ic_download_24px")}),label:`Install ${r}`,onPress:function(){return(r==="Plugin"?Se:Ie)(i).then(function(){g(`Successfully installed ${n.name}`,u("Check"))}).catch(function(p){g(p.message,u("Small"))}).finally(function(){return qa()})}})))})}var Ya,Wa,za,Xa,qa,vo=l(()=>{"use strict";fe();K();we();z();Ee();C();w();A();re();Ya=G("ForumPostLongPressActionSheet",!1),{FormRow:Wa,FormIcon:za}=E,{useFirstForumPostMessage:Xa}=f("useFirstForumPostMessage"),{hideActionSheet:qa}=f("openLazy","hideActionSheet")});function To(e){if(Be.filter(function(t){return e.startsWith(t)}).length>0)return"Plugin";if(e.endsWith(".json")&&window.__vendetta_loader?.features.themes)return"Theme"}function Co(e,t){(e==="Plugin"?Se:Ie)(t).then(function(){g("Successfully installed",u("Check"))}).catch(function(n){g(n.message,u("Small"))})}function Io(){let e=new Array;return e.push(R("showSimpleActionSheet",Ja,function(t){if(t[0].key!=="LongPressUrl")return;let{header:{title:n},options:r}=t[0],o=To(n);o&&r.push({label:`Install ${o}`,onPress:function(){return Co(o,n)}})})),e.push(Te("handleClick",Za,async function(t,n){let{href:r}=t[0],o=To(r);if(!o)return n.apply(this,t);if(o==="Theme"&&ti(ei())?.parent_id!==tt)return n.apply(this,t);v({title:"Hold Up",content:["This link is a ",React.createElement(c.Text,{style:ni["text-md/semibold"]},o),", would you like to install it?"],onConfirm:function(){return Co(o,r)},confirmText:"Install",cancelText:"Cancel",secondaryConfirmText:"Open in Browser",onConfirmSecondary:function(){return Qa(r)}})})),function(){return e.forEach(function(t){return t()})}}var Ja,Za,Qa,ei,ti,ni,No=l(()=>{"use strict";fe();K();we();z();h();C();ne();w();re();Ja=W(function(e){return e?.showSimpleActionSheet&&!Object.getOwnPropertyDescriptor(e,"showSimpleActionSheet")?.get}),Za=f("handleClick"),{openURL:Qa}=Ge,{getChannelId:ei}=rn,{getChannel:ti}=f("getChannel"),{TextStyleSheet:ni}=f("TextStyleSheet")});function kn(){let e=new Array;return e.push(wo()),e.push(Io()),function(){return e.forEach(function(t){return t()})}}var Ao=l(()=>{"use strict";vo();No()});function Bo(){return R("render",ri.prototype,function(e,t){var n=this;if(!this.state.error)return;let r=at();this.state.activeTab??="message";let o=Po.find(function(s){return s.id===n.state.activeTab}),a=this.state.error[this.state.activeTab],i=[{text:"Restart Discord",onPress:this.handleReload},...d.safeMode?.enabled?[]:[{text:"Restart in Safe Mode",onPress:ot}],{text:"Retry Render",color:b.RED,onPress:function(){return n.setState({info:null,error:null})}}];return React.createElement(N,null,React.createElement(Tn,{style:it.container},React.createElement(c.View,{style:it.header},t.props.Illustration&&React.createElement(t.props.Illustration,{style:{flex:1,resizeMode:"contain",maxHeight:96,paddingRight:4}}),React.createElement(c.View,{style:{flex:2,paddingLeft:4}},React.createElement(c.Text,{style:it.headerTitle},t.props.title),React.createElement(c.Text,{style:it.headerDescription},t.props.body))),React.createElement(c.View,{style:{flex:6}},React.createElement(c.View,{style:{paddingBottom:8}},React.createElement(oi,{tabs:Po,activeTab:this.state.activeTab,onTabSelected:function(s){n.setState({activeTab:s})}})),React.createElement(xe,{selectable:!0,style:{flexBasis:"auto",marginBottom:8}},[`Discord: ${r.discord.build} (${r.os.name})`,`Vendetta: ${r.vendetta.version}`].join(` `)),React.createElement(xe,{selectable:!0,style:{flex:1,textAlignVertical:"top"}},o?.trimWhitespace?a.split(` `).filter(function(s){return s.length!==0}).map(function(s){return s.trim()}).join(` `):a)),React.createElement(c.View,{style:it.footer},i.map(function(s){let m=i.indexOf(s)!==0?8:0;return React.createElement(te,{text:s.text,color:s.color??b.BRAND,size:s.size??"small",onPress:s.onPress,style:oe.isTablet?{flex:`0.${i.length}`,marginLeft:m}:{marginTop:m}})}))))})}var ri,oi,Do,it,Po,Mo=l(()=>{"use strict";He();he();K();j();h();C();ue();be();A();ri=G("ErrorBoundary"),{BadgableTabBar:oi}=f("BadgableTabBar"),{TextStyleSheet:Do}=f("TextStyleSheet"),it=F.createThemedStyleSheet({container:{flex:1,backgroundColor:y.BACKGROUND_PRIMARY,paddingHorizontal:16},header:{flex:1,flexDirection:"row",justifyContent:"center",alignItems:"center",marginVertical:8},headerTitle:{...Do["heading-md/semibold"],textAlign:"center",textTransform:"uppercase",color:y.HEADER_PRIMARY},headerDescription:{...Do["text-sm/medium"],textAlign:"center",color:y.TEXT_MUTED},footer:{flexDirection:oe.isTablet?"row":"column",justifyContent:"flex-end",marginVertical:8}}),Po=[{id:"message",title:"Message"},{id:"stack",title:"Stack Trace"},{id:"componentStack",title:"Component",trimWhitespace:!0}]});function vt(e){let{alertTitle:t,installFunction:n}=e;return React.createElement(c.TouchableOpacity,{onPress:function(){return X.getString().then(function(r){return Nn({title:t,initialValue:r.match(nt)?.[0]??"",placeholder:"https://example.com/",onConfirm:function(o){return n(o)},confirmText:"Install",cancelText:"Cancel"})})}},React.createElement(c.Image,{style:ai.icon,source:u("ic_add_24px")}))}var ai,Lo=l(()=>{"use strict";fe();h();ne();w();be();ai=F.createThemedStyleSheet({icon:{marginRight:10,tintColor:y.HEADER_PRIMARY}})});function Gn(e){let{asset:t}=e;return React.createElement(ii,{label:`${t.name} - ${t.id}`,trailing:React.createElement(c.Image,{source:t.id,style:{width:32,height:32}}),onPress:function(){X.setString(t.name),g("Copied asset name to clipboard.",u("toast_copy_link"))}})}var ii,Oo=l(()=>{"use strict";h();w();A();re();({FormRow:ii}=E)});function Vn(){let[e,t]=React.useState("");return React.createElement(N,null,React.createElement(c.View,{style:{flex:1}},React.createElement(Ve,{style:{margin:10},onChangeText:function(n){return t(n)},placeholder:"Search"}),React.createElement(c.FlatList,{data:Object.values(me).filter(function(n){return n.name.includes(e)||n.id.toString()===e}),renderItem:function(n){let{item:r}=n;return React.createElement(Gn,{asset:r})},ItemSeparatorComponent:si,keyExtractor:function(n){return n.name}})))}var si,Fo=l(()=>{"use strict";h();w();A();Oo();({FormDivider:si}=E)});function Hn(){let e=le.useNavigation();return T(d),T(S),React.createElement(N,null,React.createElement(c.ScrollView,{style:{flex:1},contentContainerStyle:{paddingBottom:38}},React.createElement($n,{title:"Debug",titleStyleType:"no_border"},React.createElement(ko,{value:d.debuggerUrl,onChange:function(t){return d.debuggerUrl=t},placeholder:"127.0.0.1:9090",title:"DEBUGGER URL"}),React.createElement(st,null),React.createElement(U,{label:"Connect to debug websocket",leading:React.createElement(U.Icon,{source:u("copy")}),onPress:function(){return Pn(d.debuggerUrl)}}),window.__vendetta_rdc&&React.createElement(React.Fragment,null,React.createElement(st,null),React.createElement(U,{label:"Connect to React DevTools",leading:React.createElement(U.Icon,{source:u("ic_badge_staff")}),onPress:function(){return window.__vendetta_rdc?.connectToDevTools({host:d.debuggerUrl.split(":")?.[0],resolveRNStyle:c.StyleSheet.flatten})}}))),window.__vendetta_loader?.features.loaderConfig&&React.createElement($n,{title:"Loader config"},d.developmentBuildEnabled?React.createElement(U,{label:"Load from custom URL",subLabel:"Using development builds overrides this setting, tap to disable.",leading:React.createElement(U.Icon,{source:u("copy")}),onPress:function(){return v({title:"Stop using development builds?",content:["To use the ",React.createElement(c.Text,{style:ui["text-md/semibold"]},"Load from custom URL")," option, you will have to stop using development builds as it overrides this setting."],confirmText:"Revert",cancelText:"Cancel",confirmColor:b.PRIMARY,onConfirm:function(){return Me(!1)}})}}):React.createElement(React.Fragment,null,React.createElement(Uo,{label:"Load from custom URL",subLabel:"Load Revenge from a custom endpoint.",leading:React.createElement(U.Icon,{source:u("copy")}),value:S.customLoadUrl.enabled,onValueChange:function(t){S.customLoadUrl.enabled=t}}),React.createElement(st,null),S.customLoadUrl.enabled&&React.createElement(React.Fragment,null,React.createElement(ko,{value:S.customLoadUrl.url,onChange:function(t){return S.customLoadUrl.url=t},placeholder:"http://localhost:4040/revenge.js",title:"REVENGE URL"}),React.createElement(st,null))),window.__vendetta_loader.features.devtools&&React.createElement(Uo,{label:"Load React DevTools",subLabel:`Version: ${window.__vendetta_loader.features.devtools.version}`,leading:React.createElement(U.Icon,{source:u("ic_badge_staff")}),value:S.loadReactDevTools,onValueChange:function(t){S.loadReactDevTools=t}})),React.createElement($n,{title:"Other"},React.createElement(U,{label:"Asset Browser",leading:React.createElement(U.Icon,{source:u("ic_image")}),trailing:U.Arrow,onPress:function(){return e.push("VendettaCustomPage",{title:"Asset Browser",render:Vn})}}),React.createElement(st,null),React.createElement(U,{label:"ErrorBoundary Tools",leading:React.createElement(U.Icon,{source:u("ic_warning_24px")}),trailing:U.Arrow,onPress:function(){return li({key:"ErrorBoundaryTools",header:{title:"Which ErrorBoundary do you want to trip?",icon:React.createElement(U.Icon,{style:{marginRight:8},source:u("ic_warning_24px")}),onClose:function(){return ci()}},options:[{label:"Revenge",onPress:function(){return e.push("VendettaCustomPage",{render:function(){return React.createElement("undefined",null)}})}},{label:"Discord",isDestructive:!0,onPress:function(){return e.push("VendettaCustomPage",{noErrorBoundary:!0})}}]})}}))))}var $n,U,Uo,ko,st,ci,li,ui,Go=l(()=>{"use strict";He();j();H();h();C();ue();ne();w();A();Fo();({FormSection:$n,FormRow:U,FormSwitchRow:Uo,FormInput:ko,FormDivider:st}=E),{hideActionSheet:ci}=f("openLazy","hideActionSheet"),{showSimpleActionSheet:li}=f("showSimpleActionSheet"),{TextStyleSheet:ui}=f("TextStyleSheet")});function Tt(e){let{label:t,version:n,icon:r}=e;return React.createElement(Vo,{label:t,leading:React.createElement(Vo.Icon,{source:u(r)}),trailing:React.createElement(fi,null,n),onPress:function(){X.setString(`${t} - ${n}`),g("Copied version to clipboard.",u("toast_copy_link"))}})}var Vo,fi,$o=l(()=>{"use strict";h();w();A();re();({FormRow:Vo,FormText:fi}=E)});function jn(){T(d),T(S);let e=[{label:"Revenge",version:`${L.vendetta.version} (${L.vendetta.branch})`,icon:"ic_progress_wrench_24px"},{label:"Discord",version:`${L.discord.version} (${L.discord.build})`,icon:"Discord"},{label:"React",version:L.react.version,icon:"ic_category_16px"},{label:"React Native",version:L.react.nativeVersion,icon:"mobile"},{label:"Bytecode",version:L.hermes.bytecodeVersion,icon:"ic_server_security_24px"}],t=[{label:"Loader",version:L.vendetta.loader,icon:"ic_download_24px"},{label:"Operating System",version:`${L.os.name} ${L.os.version}`,icon:"ic_cog_24px"},...L.os.sdk?[{label:"SDK",version:L.os.sdk,icon:"ic_profile_badge_verified_developer_color"}]:[],{label:"Manufacturer",version:L.device.manufacturer,icon:"ic_badge_staff"},{label:"Brand",version:L.device.brand,icon:"ic_settings_boost_24px"},{label:"Model",version:L.device.model,icon:"ic_phonelink_24px"},{label:c.Platform.select({android:"Codename",ios:"Machine ID"}),version:L.device.codename,icon:"ic_compose_24px"}];return d.__previousCustomLoadUrlConfig??=S.customLoadUrl,React.createElement(N,null,React.createElement(c.ScrollView,{style:{flex:1},contentContainerStyle:{paddingBottom:38}},React.createElement(Ct,{title:"Links",titleStyleType:"no_border"},React.createElement(I,{label:"Discord Server",leading:React.createElement(I.Icon,{source:u("Discord")}),trailing:I.Arrow,onPress:function(){return Ge.openDeeplink(fn)}}),React.createElement(de,null),React.createElement(I,{label:"GitHub",leading:React.createElement(I.Icon,{source:u("img_account_sync_github_white")}),trailing:I.Arrow,onPress:function(){return Ge.openURL(pn)}})),React.createElement(Ct,{title:"Actions"},React.createElement(I,{label:"Reload Discord",leading:React.createElement(I.Icon,{source:u("ic_message_retry")}),onPress:function(){return Q.reload()}}),React.createElement(de,null),React.createElement(I,{label:d.safeMode?.enabled?"Return to Normal Mode":"Reload in Safe Mode",subLabel:`This will reload Discord ${d.safeMode?.enabled?"normally.":"without loading plugins."}`,leading:React.createElement(I.Icon,{source:u("ic_privacy_24px")}),onPress:ot}),React.createElement(de,null),React.createElement(I,{label:"Update Revenge",subLabel:"This process usually happens automatically. If it doesn't, you can force it here.",leading:React.createElement(I.Icon,{source:u("ic_message_retry")}),onPress:function(){return Me(d.developmentBuildEnabled)}}),React.createElement(de,null),React.createElement(Ho,{label:"Developer Settings",leading:React.createElement(I.Icon,{source:u("ic_progress_wrench_24px")}),value:d.developerSettings,onValueChange:function(n){d.developerSettings=n}})),React.createElement(Ct,{title:"Info"},React.createElement($e,{label:"Versions",icon:"ic_information_filled_24px"},e.map(function(n,r){return React.createElement(React.Fragment,null,React.createElement(Tt,{label:n.label,version:n.version,icon:n.icon}),r!==e.length-1&&React.createElement(de,null))})),React.createElement(de,null),React.createElement($e,{label:"Platform",icon:"ic_mobile_device"},t.map(function(n,r){return React.createElement(React.Fragment,null,React.createElement(Tt,{label:n.label,version:n.version,icon:n.icon}),r!==t.length-1&&React.createElement(de,null))}))),React.createElement(Ct,{title:"Advanced"},React.createElement(Ho,{label:"Use Development Builds",subLabel:"Use development builds for testing new features or bug fixes, may be unstable.",leading:React.createElement(I.Icon,{source:u("ic_progress_wrench_24px")}),value:d.developmentBuildEnabled,onValueChange:function(n){n?v({title:"Use development builds?",content:"Development builds can be unstable and may contain bugs. Changes will apply next time the app launches or reloads.",confirmText:"Continue",cancelText:"Nevermind",confirmColor:b.RED,onConfirm:function(){return Me(n)}}):Me(n)}}),React.createElement(de,null),React.createElement(I,{label:"Clear Plugin Storage",leading:React.createElement(I.Icon,{source:u("ic_message_delete")}),onPress:function(){return v({title:"Clear plugin storage?",content:"All installed plugins will be removed and the app will be reloaded. Plugin settings will still be retained. This is only neccessary if you have a corrupted storage.",confirmText:"Yes, I have a corrupted storage",cancelText:"Cancel",confirmColor:b.RED,onConfirm:function(){return gt("VENDETTA_PLUGINS").finally(Q.reload)}})}}),React.createElement(de,null),React.createElement(I,{label:"Clear Theme Storage",leading:React.createElement(I.Icon,{source:u("ic_message_delete")}),onPress:function(){return v({title:"Clear theme storage?",content:"All installed themes will be removed and the app will be reloaded. This is only neccessary if you have a corrupted storage.",confirmText:"Yes, I have a corrupted storage",cancelText:"Cancel",confirmColor:b.RED,onConfirm:function(){return gt("VENDETTA_THEMES").finally(Q.reload)}})}}))))}var I,Ho,Ct,de,L,jo=l(()=>{"use strict";fe();He();he();j();H();h();ue();ne();w();A();$o();({FormRow:I,FormSwitchRow:Ho,FormSection:Ct,FormDivider:de}=E),L=at()});function ct(e){let{items:t,safeModeMessage:n,safeModeExtras:r,card:o,keyGetter:a}=e;T(d),T(t);let[i,s]=React.useState("");return React.createElement(N,null,React.createElement(c.FlatList,{ListHeaderComponent:React.createElement(React.Fragment,null,d.safeMode?.enabled&&React.createElement(c.View,{style:{marginBottom:10}},React.createElement(vn,{messageType:0},n),r),React.createElement(Ve,{style:{marginBottom:10},onChangeText:function(m){return s(m.toLowerCase())},placeholder:"Search"})),ListFooterComponent:React.createElement(c.View,{style:{height:48}}),style:{paddingHorizontal:10,paddingTop:10},contentContainerStyle:{paddingBottom:20},data:Object.values(t).filter(function(m){return a(m).some(function(p){return p?.toLowerCase().includes(i)})}),renderItem:function(m){let{item:p,index:_}=m;return React.createElement(o,{item:p,index:_,highlight:i})}}))}var Kn=l(()=>{"use strict";j();H();h();A()});function lt(e){let t=e.toggleValue??!1;return React.createElement(c.View,{style:[J.card,{marginTop:e.index!==0?10:0}]},React.createElement(Yn,{style:J.header,label:React.createElement(c.View,{style:J.headerChildren},React.createElement(c.Text,{style:J.headerLabel},Wn(e.headerLabel,e.highlight)),e.headerSublabel&&React.createElement(c.Text,{style:J.headerSubtitle},Wn(e.headerSublabel,e.highlight))),leading:e.headerIcon&&React.createElement(c.View,{style:J.iconContainer},React.createElement(c.Image,{source:u(e.headerIcon),style:J.smallerIcon})),trailing:e.toggleType&&(e.toggleType==="switch"?React.createElement(mi,{style:c.Platform.OS==="android"&&{marginVertical:-15},value:e.toggleValue,onValueChange:e.onToggleChange}):React.createElement(c.Pressable,{onPress:function(){t=!t,e.onToggleChange?.(t)}},React.createElement(di,{selected:e.toggleValue})))}),React.createElement(Yn,{label:e.descriptionLabel&&Wn(e.descriptionLabel,e.highlight),trailing:React.createElement(c.View,{style:J.actions},e.overflowActions&&React.createElement(c.TouchableOpacity,{onPress:function(){return gi({key:"CardOverflow",header:{title:e.overflowTitle,icon:e.headerIcon&&React.createElement(Yn.Icon,{style:{marginRight:8},source:u(e.headerIcon)}),onClose:function(){return pi()}},options:e.overflowActions?.map(function(n){return{...n,icon:u(n.icon)}})})}},React.createElement(c.Image,{style:J.icon,source:u("ic_more_24px")})),e.actions?.map(function(n){let{icon:r,onPress:o}=n;return React.createElement(c.TouchableOpacity,{onPress:o},React.createElement(c.Image,{style:J.icon,source:u(r)}))}))}))}var Yn,mi,di,pi,gi,Ko,J,Wn,zn=l(()=>{"use strict";fe();h();C();w();be();A();({FormRow:Yn,FormSwitch:mi,FormRadio:di}=E),{hideActionSheet:pi}=f("openLazy","hideActionSheet"),{showSimpleActionSheet:gi}=f("showSimpleActionSheet"),{TextStyleSheet:Ko}=f("TextStyleSheet"),J=F.createThemedStyleSheet({card:{backgroundColor:y?.BACKGROUND_SECONDARY,borderRadius:12},header:{padding:0,backgroundColor:y?.BACKGROUND_TERTIARY,borderRadius:12},headerChildren:{flexDirection:"column",justifyContent:"center"},headerLabel:{color:y?.TEXT_NORMAL,...Ko["text-md/semibold"]},headerSubtitle:{color:y?.TEXT_MUTED,...Ko["text-sm/semibold"]},actions:{flexDirection:"row-reverse",alignItems:"center"},icon:{width:22,height:22,marginLeft:5,tintColor:y?.INTERACTIVE_NORMAL},iconContainer:{width:33,height:33,borderRadius:17,backgroundColor:y?.BACKGROUND_ACCENT,justifyContent:"center",alignItems:"center"},smallerIcon:{width:22,height:22,tintColor:y?.INTERACTIVE_NORMAL},highlight:{backgroundColor:`#F0${yn.YELLOW_300.slice(1)}`}}),Wn=function(e,t){return t?e.split(new RegExp(`(${t.replace(hn,"\\$&")})`,"gi")).map(function(n,r){return r%2===1?React.createElement(c.Text,{style:J.highlight},n):n}):e}});async function Yo(e,t){e.enabled&&Ye(e.id,!1),t(),e.enabled&&await Ke(e.id)}function Xn(e){let{item:t,index:n,highlight:r}=e,o=Fn(t.id),a=le.useNavigation(),[i,s]=React.useState(!1);if(i)return null;let m=t.manifest.authors;return React.createElement(lt,{index:n,headerLabel:t.manifest.name,headerSublabel:m?.[0]&&`by ${t.manifest.authors.map(function(p){return p.name}).join(", ")}`,headerIcon:t.manifest.vendetta?.icon||"ic_application_command_24px",toggleType:"switch",toggleValue:t.enabled,onToggleChange:function(p){try{p?Ke(t.id):Ye(t.id)}catch(_){g(_.message,u("Small"))}},descriptionLabel:t.manifest.description,overflowTitle:t.manifest.name,overflowActions:[{icon:"ic_sync_24px",label:"Refetch",onPress:async function(){Yo(t,function(){je(t.id).then(async function(){g("Successfully refetched plugin.",u("toast_image_saved"))}).catch(function(){g("Failed to refetch plugin!",u("Small"))})})}},{icon:"copy",label:"Copy URL",onPress:function(){X.setString(t.id),g("Copied plugin URL to clipboard.",u("toast_copy_link"))}},{icon:"ic_download_24px",label:t.update?"Disable updates":"Enable updates",onPress:function(){t.update=!t.update,g(`${t.update?"Enabled":"Disabled"} updates for ${t.manifest.name}.`,u("toast_image_saved"))}},{icon:"ic_duplicate",label:"Clear data",isDestructive:!0,onPress:function(){return v({title:"Wait!",content:`Are you sure you wish to clear the data of ${t.manifest.name}?`,confirmText:"Clear",cancelText:"Cancel",confirmColor:b.RED,onConfirm:function(){Yo(t,function(){try{ge.removeItem(t.id),g(`Cleared data for ${t.manifest.name}.`,u("trash"))}catch{g(`Failed to clear data for ${t.manifest.name}!`,u("Small"))}})}})}},{icon:"ic_message_delete",label:"Delete",isDestructive:!0,onPress:function(){return v({title:"Wait!",content:`Are you sure you wish to delete ${t.manifest.name}? This will clear all of the plugin's data.`,confirmText:"Delete",cancelText:"Cancel",confirmColor:b.RED,onConfirm:function(){try{Ln(t.id),s(!0)}catch(p){g(p.message,u("Small"))}}})}}],actions:[...o?[{icon:"settings",onPress:function(){return a.push("VendettaCustomPage",{title:t.manifest.name,render:o})}}]:[]],highlight:r})}var Wo=l(()=>{"use strict";he();we();h();ue();ne();w();zn();re()});function qn(){return T(d),React.createElement(ct,{items:M,safeModeMessage:"You are in Safe Mode, so plugins cannot be loaded. Disable any misbehaving plugins, then return to Normal Mode from the General settings page.",card:Xn,keyGetter:function(e){return[e.id,e.manifest.name,e.manifest.description,e.manifest.authors?.map(function(t){return t.name})].flat()}})}var zo=l(()=>{"use strict";we();j();H();Kn();Wo()});async function Xo(e,t){await Ne(e?t:"default"),Q.reload()}function Jn(e){let{item:t,index:n,highlight:r}=e;T(d);let[o,a]=React.useState(!1);if(o)return null;let i=t.data.authors;return React.createElement(lt,{index:n,headerLabel:t.data.name,headerSublabel:i?.[0]&&`by ${i.map(function(s){return s.name}).join(", ")}`,descriptionLabel:t.data.description??"No description.",toggleType:d.safeMode?.enabled?void 0:"radio",toggleValue:t.selected,onToggleChange:function(s){Xo(s,t.id)},overflowTitle:t.data.name,overflowActions:[{icon:"ic_sync_24px",label:"Refetch",onPress:function(){Je(t.id,t.selected).then(function(){t.selected?v({title:"Theme refetched",content:"A reload is required to see the changes. Do you want to reload now?",confirmText:"Reload",cancelText:"Cancel",confirmColor:b.RED,onConfirm:function(){return Q.reload()}}):g("Successfully refetched theme.",u("toast_image_saved"))}).catch(function(){g("Failed to refetch theme!",u("Small"))})}},{icon:"copy",label:"Copy URL",onPress:function(){X.setString(t.id),g("Copied theme URL to clipboard.",u("toast_copy_link"))}},{icon:"ic_message_delete",label:"Delete",isDestructive:!0,onPress:function(){return v({title:"Wait!",content:`Are you sure you wish to delete ${t.data.name}?`,confirmText:"Delete",cancelText:"Cancel",confirmColor:b.RED,onConfirm:function(){Qt(t.id).then(function(s){a(!0),s&&Xo(!1,t.id)}).catch(function(s){g(s.message,u("Small"))})}})}}],highlight:r})}var qo=l(()=>{"use strict";he();j();H();z();h();ue();ne();w();zn();re()});function Zn(){return T(d),React.createElement(ct,{items:V,safeModeMessage:`You are in Safe Mode, meaning themes have been temporarily disabled.${d.safeMode?.currentThemeId?" If a theme appears to be causing the issue, you can press below to disable it persistently.":""}`,safeModeExtras:d.safeMode?.currentThemeId?React.createElement(te,{text:"Disable Theme",color:b.BRAND,size:"small",onPress:function(){delete d.safeMode?.currentThemeId},style:{marginTop:8}}):void 0,card:Jn,keyGetter:function(e){return[e.id,e.data.name,e.data.description,e.data.authors?.map(function(t){return t.name})].flat()}})}var Jo=l(()=>{"use strict";j();H();z();ue();A();Kn();qo()});var hi,ut,It,We,ft,Zo,Qn,Nt=l(()=>{"use strict";fe();we();j();z();Ee();h();ne();w();be();_n();Lo();Go();jo();zo();Jo();re();hi=F.createThemedStyleSheet({container:{flex:1,backgroundColor:y.BACKGROUND_MOBILE_PRIMARY}}),ut=function(e,t){return t?bt.snakeCase(e).toUpperCase():e},It=function(e,t){return Object.fromEntries(e.map(function(n){return[n.key,typeof t=="function"?t(n):typeof t=="string"?n[t]:t]}))},We=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;return[{key:ut("RevengeSettings",e),title:"General",icon:"settings",render:jn},{key:ut("RevengePlugins",e),title:"Plugins",icon:"debug",options:{headerRight:function(){return React.createElement(vt,{alertTitle:"Install Plugin",installFunction:async function(t){if(!(Be.filter(function(n){return t.startsWith(n)}).length>0)&&!d.developerSettings)setImmediate(function(){return v({title:"Unproxied Plugin",content:"The plugin you are trying to install has not been verified by Revenge staff. Are you sure you want to continue?",confirmText:"Install",onConfirm:function(){return Se(t).then(function(){return g("Installed plugin",u("Check"))}).catch(function(n){return g(n?.message??`${n}`,u("Small"))})},cancelText:"Cancel"})});else return await Se(t)}})}},render:qn},{key:ut("RevengeThemes",e),title:"Themes",icon:"ic_theme_24px",shouldRender:function(){return Object.prototype.hasOwnProperty.call(window.__vendetta_loader?.features,"themes")??!1},options:{headerRight:function(){return!d.safeMode?.enabled&&React.createElement(vt,{alertTitle:"Install Theme",installFunction:Ie})}},render:Zn},{key:ut("RevengeDeveloper",e),title:"Developer",icon:"ic_progress_wrench_24px",shouldRender:function(){return d.developerSettings??!1},render:Hn},{key:ut("VendettaCustomPage",e),title:"Revenge Page",shouldRender:function(){return!1},render:function(t){let{render:n,noErrorBoundary:r,...o}=t,a=le.useNavigation();return a.addListener("focus",function(){return a.setOptions(Y(o,"render","noErrorBoundary"))}),r?React.createElement(n,null):React.createElement(N,null,React.createElement(n,null))}}]},ft=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;return We(e).filter(function(t){return t.shouldRender?.()??!0})},Zo=function(){return It(We(),function(e){return{title:e.title,render:e.render,...e.options}})},Qn=function(){let e=We(!0);return{getLayout:function(){return{title:"Revenge",label:"Revenge",settings:ft(!0).map(function(t){return t.key})}},titleConfig:It(e,"title"),relationships:It(e,null),rendererConfigs:It(e,function(t){let n=React.memo(function(r){let{navigation:o,route:a}=r;return o.addListener("focus",function(){return o.setOptions(t.options)}),React.createElement(c.View,{style:hi.container},React.createElement(t.render,a.params))});return{type:"route",title:function(){return t.title},icon:t.icon?u(t.icon):null,screen:{route:bt.chain(t.key).camelCase().upperFirst().value(),getComponent:function(){return n}}}})}}});function tr(){let e=le.useNavigation();T(d);let t=ft();return React.createElement(N,null,React.createElement(Ri,{key:"Revenge",title:`Revenge${` (${"HEAD".split("/").at(-1)})`}${d.safeMode?.enabled?" (Safe Mode)":""}`},t.map(function(n,r){return React.createElement(React.Fragment,null,React.createElement(er,{label:n.title,leading:React.createElement(er.Icon,{source:u(n.icon)}),trailing:er.Arrow,onPress:function(){return e.push(n.key)}}),r!==t.length-1&&React.createElement(yi,null))})))}var er,Ri,yi,Qo=l(()=>{"use strict";j();H();h();w();A();Nt();({FormRow:er,FormSection:Ri,FormDivider:yi}=E)});function nr(){let e=new Array;return e.push(R("default",Ei,function(t,n){return{...n,...Zo()}})),R("default",_i,function(t,n){let r=ie(n.props.children,function(o){return o.type&&o.type.name==="UserSettingsOverview"});e.push(R("renderSupportAndAcknowledgements",r.type.prototype,function(o,a){let{props:{children:i}}=a,s=i.findIndex(function(m){return m?.type?.name==="UploadLogsButton"});s!==-1&&i.splice(s,1)})),e.push(R("render",r.type.prototype,function(o,a){let{props:{children:i}}=a,s=[De.Messages.BILLING_SETTINGS,De.Messages.PREMIUM_SETTINGS];i=ie(i,function(p){return p.children?.[1].type?.name==="FormSection"}).children;let m=i.findIndex(function(p){return s.includes(p?.props.label)});i.splice(m===-1?4:m,0,React.createElement(tr,null))}))},!0),function(){return e.forEach(function(t){return t()})}}var Ei,_i,ea=l(()=>{"use strict";K();Ee();h();C();Qo();Nt();Ei=G("getScreens",!1),_i=G("UserSettingsOverviewWrapper",!1)});function or(){let e=new Array;return xi(e)||bi(e),function(){return e.forEach(function(t){return t?.()})}}function bi(e){let t=f("useOverviewSettings"),n=f("getSettingTitleConfig"),r=f("SETTING_RELATIONSHIPS","SETTING_RENDERER_CONFIGS"),o="getSettingSearchListItems",a="getSettingListItems",i=f(o),s=!i,m=s?a:o,p=i??f(a);if(!p||!t)return;let _=We(!0),O=ft(!0),D=Qn();e.push(R("useOverviewSettings",t,function(ve,ze){return ta(ze,D.getLayout())})),e.push(R("getSettingTitleConfig",n,function(ve,ze){return{...ze,...D.titleConfig}})),e.push(R(m,p,function(ve,ze){let[ia]=ve;return[...O.filter(function(Z){return ia.includes(Z.key)}).map(function(Z){return{type:"setting_search_result",ancestorRendererData:D.rendererConfigs[Z.key],setting:Z.key,title:D.titleConfig[Z.key],breadcrumbs:["Revenge"],icon:D.rendererConfigs[Z.key].icon}}),...ze.filter(function(Z){return s||!_.map(function(At){return At.key}).includes(Z.setting)})].map(function(Z,At,sa){return{...Z,index:At,total:sa.length}})}));let k=r.SETTING_RELATIONSHIPS,$=r.SETTING_RENDERER_CONFIGS;return r.SETTING_RELATIONSHIPS={...k,...D.relationships},r.SETTING_RENDERER_CONFIGS={...$,...D.rendererConfigs},e.push(function(){r.SETTING_RELATIONSHIPS=k,r.SETTING_RENDERER_CONFIGS=$}),!0}function xi(e){let t=f("SearchableSettingsList"),n=f("SETTING_RENDERER_CONFIG"),r=f("getSettingListItems");if(!r||!t||!n)return!1;let o=We(!0),a=Qn();e.push(Mt("type",t.SearchableSettingsList,function(s){let[{sections:m}]=s;return ta(m,a.getLayout())})),e.push(R("getSettingListSearchResultItems",r,function(s,m){m.forEach(function(p){return o.some(function(_){return _.key===p.setting})&&(p.breadcrumbs=["Revenge"])})}));let i=n.SETTING_RENDERER_CONFIG;return n.SETTING_RENDERER_CONFIG={...i,...a.rendererConfigs},e.push(function(){n.SETTING_RENDERER_CONFIG=i}),!0}function ta(e,t){if(!Array.isArray(e)||e.find(function(o){return rr(o,"Revenge")}))return;let n=e.findIndex(function(o){return rr(o,De.Messages.ACCOUNT_SETTINGS)});e.splice(n+1,0,t);let r=e.find(function(o){return rr(o,De.Messages.SUPPORT)});r&&(r.settings=r.settings.filter(function(o){return o!=="UPLOAD_DEBUG_LOGS"}))}var rr,na=l(()=>{"use strict";h();K();C();Nt();rr=function(e,t){return e?.label===t||e?.title===t}});function ar(){let e=[nr(),or()];return function(){return e.forEach(function(t){return t?.()})}}var ra=l(()=>{"use strict";ea();na()});var oa={};P(oa,{default:()=>Si});async function Si(){let e=await Promise.all([Bn(),bn(),cn(),Zt(),Ro(),Bo(),ar(),kn()]);window.vendetta=await xo(e),e.push(await On()),B.log("Revenge is ready!")}var aa=l(()=>{"use strict";un();He();yo();Ce();we();z();So();w();Ao();Mo();ra()});he();console.log("Hello from Revenge!");Object.freeze=Object;Object.seal=Object;Promise.resolve().then(()=>(aa(),oa)).then(function(e){return e.default()}).catch(function(e){console.log(e?.stack??e.toString()),alert([`Failed to load Revenge! `,`Build Number: ${Xe.Build}`,"Revenge: 69c993e",e?.stack||e.toString()].join(` `))});})(); //# sourceURL=Revenge
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment