@devvit/public-api 0.10.25-next-2024-08-15-1214a0630.0 → 0.10.25-next-2024-08-19-f27845e8c.0

Sign up to get free protection for your applications and to get access to all the features.
package/public-api.min.js CHANGED
@@ -1,8 +1,8 @@
1
- var iP=Object.create;var Lm=Object.defineProperty;var nP=Object.getOwnPropertyDescriptor;var sP=Object.getOwnPropertyNames;var oP=Object.getPrototypeOf,aP=Object.prototype.hasOwnProperty;var h=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var dP=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of sP(e))!aP.call(r,s)&&s!==t&&Lm(r,s,{get:()=>e[s],enumerable:!(i=nP(e,s))||i.enumerable});return r};var Fr=(r,e,t)=>(t=r!=null?iP(oP(r)):{},dP(e||!r||!r.__esModule?Lm(t,"default",{value:r,enumerable:!0}):t,r));var Al=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var n=(r,e,t)=>(Al(r,e,"read from private field"),t?t.call(r):e.get(r)),l=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},d=(r,e,t,i)=>(Al(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t);var b=(r,e,t)=>(Al(r,e,"access private method"),t);var ae=h((EO,Dm)=>{Dm.exports=function(r){try{return!!r()}catch{return!0}}});var ba=h((TO,_m)=>{var lP=ae();_m.exports=!lP(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")})});var K=h((RO,Hm)=>{var Nm=ba(),qm=Function.prototype,wl=qm.call,uP=Nm&&qm.bind.bind(wl,wl);Hm.exports=Nm?uP:function(r){return function(){return wl.apply(r,arguments)}}});var Wm=h((OO,jm)=>{var cP=Math.ceil,mP=Math.floor;jm.exports=Math.trunc||function(e){var t=+e;return(t>0?mP:cP)(t)}});var ka=h((FO,Gm)=>{var pP=Wm();Gm.exports=function(r){var e=+r;return e!==e||e===0?0:pP(e)}});var me=h((MO,zm)=>{var Pa=function(r){return r&&r.Math==Math&&r};zm.exports=Pa(typeof globalThis=="object"&&globalThis)||Pa(typeof window=="object"&&window)||Pa(typeof self=="object"&&self)||Pa(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var Mr=h((UO,Vm)=>{Vm.exports=!1});var Sa=h((BO,$m)=>{var Jm=me(),gP=Object.defineProperty;$m.exports=function(r,e){try{gP(Jm,r,{value:e,configurable:!0,writable:!0})}catch{Jm[r]=e}return e}});var Ca=h((LO,Xm)=>{var fP=me(),hP=Sa(),Km="__core-js_shared__",vP=fP[Km]||hP(Km,{});Xm.exports=vP});var xl=h((DO,Ym)=>{var yP=Mr(),Zm=Ca();(Ym.exports=function(r,e){return Zm[r]||(Zm[r]=e!==void 0?e:{})})("versions",[]).push({version:"3.27.2",mode:yP?"pure":"global",copyright:"\xA9 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.27.2/LICENSE",source:"https://github.com/zloirock/core-js"})});var Ia=h((_O,Qm)=>{Qm.exports=function(r){return r==null}});var Aa=h((NO,ep)=>{var bP=Ia(),kP=TypeError;ep.exports=function(r){if(bP(r))throw kP("Can't call method on "+r);return r}});var En=h((qO,tp)=>{var PP=Aa(),SP=Object;tp.exports=function(r){return SP(PP(r))}});var Ie=h((HO,rp)=>{var CP=K(),IP=En(),AP=CP({}.hasOwnProperty);rp.exports=Object.hasOwn||function(e,t){return AP(IP(e),t)}});var El=h((jO,ip)=>{var wP=K(),xP=0,EP=Math.random(),TP=wP(1 .toString);ip.exports=function(r){return"Symbol("+(r===void 0?"":r)+")_"+TP(++xP+EP,36)}});var sp=h((WO,np)=>{np.exports=typeof navigator<"u"&&String(navigator.userAgent)||""});var mp=h((GO,cp)=>{var up=me(),Tl=sp(),op=up.process,ap=up.Deno,dp=op&&op.versions||ap&&ap.version,lp=dp&&dp.v8,je,wa;lp&&(je=lp.split("."),wa=je[0]>0&&je[0]<4?1:+(je[0]+je[1]));!wa&&Tl&&(je=Tl.match(/Edge\/(\d+)/),(!je||je[1]>=74)&&(je=Tl.match(/Chrome\/(\d+)/),je&&(wa=+je[1])));cp.exports=wa});var Rl=h((zO,gp)=>{var pp=mp(),RP=ae();gp.exports=!!Object.getOwnPropertySymbols&&!RP(function(){var r=Symbol();return!String(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&pp&&pp<41})});var Ol=h((VO,fp)=>{var OP=Rl();fp.exports=OP&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Ae=h((JO,vp)=>{var FP=me(),MP=xl(),hp=Ie(),UP=El(),BP=Rl(),LP=Ol(),Ur=FP.Symbol,Fl=MP("wks"),DP=LP?Ur.for||Ur:Ur&&Ur.withoutSetter||UP;vp.exports=function(r){return hp(Fl,r)||(Fl[r]=BP&&hp(Ur,r)?Ur[r]:DP("Symbol."+r)),Fl[r]}});var kp=h(($O,bp)=>{var _P=Ae(),NP=_P("toStringTag"),yp={};yp[NP]="z";bp.exports=String(yp)==="[object z]"});var Ul=h((KO,Pp)=>{var Ml=typeof document=="object"&&document.all,qP=typeof Ml>"u"&&Ml!==void 0;Pp.exports={all:Ml,IS_HTMLDDA:qP}});var X=h((XO,Cp)=>{var Sp=Ul(),HP=Sp.all;Cp.exports=Sp.IS_HTMLDDA?function(r){return typeof r=="function"||r===HP}:function(r){return typeof r=="function"}});var xa=h((ZO,Ap)=>{var Ip=K(),jP=Ip({}.toString),WP=Ip("".slice);Ap.exports=function(r){return WP(jP(r),8,-1)}});var Tn=h((YO,wp)=>{var GP=kp(),zP=X(),Ea=xa(),VP=Ae(),JP=VP("toStringTag"),$P=Object,KP=Ea(function(){return arguments}())=="Arguments",XP=function(r,e){try{return r[e]}catch{}};wp.exports=GP?Ea:function(r){var e,t,i;return r===void 0?"Undefined":r===null?"Null":typeof(t=XP(e=$P(r),JP))=="string"?t:KP?Ea(e):(i=Ea(e))=="Object"&&zP(e.callee)?"Arguments":i}});var Rn=h((QO,xp)=>{var ZP=Tn(),YP=String;xp.exports=function(r){if(ZP(r)==="Symbol")throw TypeError("Cannot convert a Symbol value to a string");return YP(r)}});var Ll=h((eF,Rp)=>{var Bl=K(),QP=ka(),eS=Rn(),tS=Aa(),rS=Bl("".charAt),Ep=Bl("".charCodeAt),iS=Bl("".slice),Tp=function(r){return function(e,t){var i=eS(tS(e)),s=QP(t),o=i.length,a,c;return s<0||s>=o?r?"":void 0:(a=Ep(i,s),a<55296||a>56319||s+1===o||(c=Ep(i,s+1))<56320||c>57343?r?rS(i,s):a:r?iS(i,s,s+2):(a-55296<<10)+(c-56320)+65536)}};Rp.exports={codeAt:Tp(!1),charAt:Tp(!0)}});var Mp=h((tF,Fp)=>{var nS=me(),sS=X(),Op=nS.WeakMap;Fp.exports=sS(Op)&&/native code/.test(String(Op))});var yt=h((rF,Lp)=>{var Up=X(),Bp=Ul(),oS=Bp.all;Lp.exports=Bp.IS_HTMLDDA?function(r){return typeof r=="object"?r!==null:Up(r)||r===oS}:function(r){return typeof r=="object"?r!==null:Up(r)}});var pe=h((iF,Dp)=>{var aS=ae();Dp.exports=!aS(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var _l=h((nF,Np)=>{var dS=me(),_p=yt(),Dl=dS.document,lS=_p(Dl)&&_p(Dl.createElement);Np.exports=function(r){return lS?Dl.createElement(r):{}}});var Nl=h((sF,qp)=>{var uS=pe(),cS=ae(),mS=_l();qp.exports=!uS&&!cS(function(){return Object.defineProperty(mS("div"),"a",{get:function(){return 7}}).a!=7})});var ql=h((oF,Hp)=>{var pS=pe(),gS=ae();Hp.exports=pS&&gS(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Xe=h((aF,jp)=>{var fS=yt(),hS=String,vS=TypeError;jp.exports=function(r){if(fS(r))return r;throw vS(hS(r)+" is not an object")}});var We=h((dF,Wp)=>{var yS=ba(),Ta=Function.prototype.call;Wp.exports=yS?Ta.bind(Ta):function(){return Ta.apply(Ta,arguments)}});var On=h((lF,Gp)=>{var Hl=me(),bS=X(),kS=function(r){return bS(r)?r:void 0};Gp.exports=function(r,e){return arguments.length<2?kS(Hl[r]):Hl[r]&&Hl[r][e]}});var jl=h((uF,zp)=>{var PS=K();zp.exports=PS({}.isPrototypeOf)});var Wl=h((cF,Vp)=>{var SS=On(),CS=X(),IS=jl(),AS=Ol(),wS=Object;Vp.exports=AS?function(r){return typeof r=="symbol"}:function(r){var e=SS("Symbol");return CS(e)&&IS(e.prototype,wS(r))}});var Gl=h((mF,Jp)=>{var xS=String;Jp.exports=function(r){try{return xS(r)}catch{return"Object"}}});var Ra=h((pF,$p)=>{var ES=X(),TS=Gl(),RS=TypeError;$p.exports=function(r){if(ES(r))return r;throw RS(TS(r)+" is not a function")}});var Oa=h((gF,Kp)=>{var OS=Ra(),FS=Ia();Kp.exports=function(r,e){var t=r[e];return FS(t)?void 0:OS(t)}});var Zp=h((fF,Xp)=>{var zl=We(),Vl=X(),Jl=yt(),MS=TypeError;Xp.exports=function(r,e){var t,i;if(e==="string"&&Vl(t=r.toString)&&!Jl(i=zl(t,r))||Vl(t=r.valueOf)&&!Jl(i=zl(t,r))||e!=="string"&&Vl(t=r.toString)&&!Jl(i=zl(t,r)))return i;throw MS("Can't convert object to primitive value")}});var tg=h((hF,eg)=>{var US=We(),Yp=yt(),Qp=Wl(),BS=Oa(),LS=Zp(),DS=Ae(),_S=TypeError,NS=DS("toPrimitive");eg.exports=function(r,e){if(!Yp(r)||Qp(r))return r;var t=BS(r,NS),i;if(t){if(e===void 0&&(e="default"),i=US(t,r,e),!Yp(i)||Qp(i))return i;throw _S("Can't convert object to primitive value")}return e===void 0&&(e="number"),LS(r,e)}});var Fa=h((vF,rg)=>{var qS=tg(),HS=Wl();rg.exports=function(r){var e=qS(r,"string");return HS(e)?e:e+""}});var Ze=h(ng=>{var jS=pe(),WS=Nl(),GS=ql(),Ma=Xe(),ig=Fa(),zS=TypeError,$l=Object.defineProperty,VS=Object.getOwnPropertyDescriptor,Kl="enumerable",Xl="configurable",Zl="writable";ng.f=jS?GS?function(e,t,i){if(Ma(e),t=ig(t),Ma(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Zl in i&&!i[Zl]){var s=VS(e,t);s&&s[Zl]&&(e[t]=i.value,i={configurable:Xl in i?i[Xl]:s[Xl],enumerable:Kl in i?i[Kl]:s[Kl],writable:!1})}return $l(e,t,i)}:$l:function(e,t,i){if(Ma(e),t=ig(t),Ma(i),WS)try{return $l(e,t,i)}catch{}if("get"in i||"set"in i)throw zS("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var Br=h((bF,sg)=>{sg.exports=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}}});var Ua=h((kF,og)=>{var JS=pe(),$S=Ze(),KS=Br();og.exports=JS?function(r,e,t){return $S.f(r,e,KS(1,t))}:function(r,e,t){return r[e]=t,r}});var Ba=h((PF,dg)=>{var XS=xl(),ZS=El(),ag=XS("keys");dg.exports=function(r){return ag[r]||(ag[r]=ZS(r))}});var La=h((SF,lg)=>{lg.exports={}});var Lr=h((CF,mg)=>{var YS=Mp(),cg=me(),QS=yt(),eC=Ua(),Yl=Ie(),Ql=Ca(),tC=Ba(),rC=La(),ug="Object already initialized",eu=cg.TypeError,iC=cg.WeakMap,Da,Fn,_a,nC=function(r){return _a(r)?Fn(r):Da(r,{})},sC=function(r){return function(e){var t;if(!QS(e)||(t=Fn(e)).type!==r)throw eu("Incompatible receiver, "+r+" required");return t}};YS||Ql.state?(Ge=Ql.state||(Ql.state=new iC),Ge.get=Ge.get,Ge.has=Ge.has,Ge.set=Ge.set,Da=function(r,e){if(Ge.has(r))throw eu(ug);return e.facade=r,Ge.set(r,e),e},Fn=function(r){return Ge.get(r)||{}},_a=function(r){return Ge.has(r)}):(Xt=tC("state"),rC[Xt]=!0,Da=function(r,e){if(Yl(r,Xt))throw eu(ug);return e.facade=r,eC(r,Xt,e),e},Fn=function(r){return Yl(r,Xt)?r[Xt]:{}},_a=function(r){return Yl(r,Xt)});var Ge,Xt;mg.exports={set:Da,get:Fn,has:_a,enforce:nC,getterFor:sC}});var tu=h(fg=>{"use strict";var pg={}.propertyIsEnumerable,gg=Object.getOwnPropertyDescriptor,oC=gg&&!pg.call({1:2},1);fg.f=oC?function(e){var t=gg(this,e);return!!t&&t.enumerable}:pg});var iu=h((AF,hg)=>{var aC=K(),dC=ae(),lC=xa(),ru=Object,uC=aC("".split);hg.exports=dC(function(){return!ru("z").propertyIsEnumerable(0)})?function(r){return lC(r)=="String"?uC(r,""):ru(r)}:ru});var Dr=h((wF,vg)=>{var cC=iu(),mC=Aa();vg.exports=function(r){return cC(mC(r))}});var nu=h(bg=>{var pC=pe(),gC=We(),fC=tu(),hC=Br(),vC=Dr(),yC=Fa(),bC=Ie(),kC=Nl(),yg=Object.getOwnPropertyDescriptor;bg.f=pC?yg:function(e,t){if(e=vC(e),t=yC(t),kC)try{return yg(e,t)}catch{}if(bC(e,t))return hC(!gC(fC.f,e,t),e[t])}});var au=h((EF,Pg)=>{var su=pe(),PC=Ie(),kg=Function.prototype,SC=su&&Object.getOwnPropertyDescriptor,ou=PC(kg,"name"),CC=ou&&function(){}.name==="something",IC=ou&&(!su||su&&SC(kg,"name").configurable);Pg.exports={EXISTS:ou,PROPER:CC,CONFIGURABLE:IC}});var lu=h((TF,Sg)=>{var AC=K(),wC=X(),du=Ca(),xC=AC(Function.toString);wC(du.inspectSource)||(du.inspectSource=function(r){return xC(r)});Sg.exports=du.inspectSource});var mu=h((RF,Ag)=>{var cu=K(),EC=ae(),TC=X(),Na=Ie(),uu=pe(),RC=au().CONFIGURABLE,OC=lu(),Ig=Lr(),FC=Ig.enforce,MC=Ig.get,Cg=String,qa=Object.defineProperty,UC=cu("".slice),BC=cu("".replace),LC=cu([].join),DC=uu&&!EC(function(){return qa(function(){},"length",{value:8}).length!==8}),_C=String(String).split("String"),NC=Ag.exports=function(r,e,t){UC(Cg(e),0,7)==="Symbol("&&(e="["+BC(Cg(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),t&&t.getter&&(e="get "+e),t&&t.setter&&(e="set "+e),(!Na(r,"name")||RC&&r.name!==e)&&(uu?qa(r,"name",{value:e,configurable:!0}):r.name=e),DC&&t&&Na(t,"arity")&&r.length!==t.arity&&qa(r,"length",{value:t.arity});try{t&&Na(t,"constructor")&&t.constructor?uu&&qa(r,"prototype",{writable:!1}):r.prototype&&(r.prototype=void 0)}catch{}var i=FC(r);return Na(i,"source")||(i.source=LC(_C,typeof e=="string"?e:"")),r};Function.prototype.toString=NC(function(){return TC(this)&&MC(this).source||OC(this)},"toString")});var Zt=h((OF,wg)=>{var qC=X(),HC=Ze(),jC=mu(),WC=Sa();wg.exports=function(r,e,t,i){i||(i={});var s=i.enumerable,o=i.name!==void 0?i.name:e;if(qC(t)&&jC(t,o,i),i.global)s?r[e]=t:WC(e,t);else{try{i.unsafe?r[e]&&(s=!0):delete r[e]}catch{}s?r[e]=t:HC.f(r,e,{value:t,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return r}});var pu=h((FF,xg)=>{var GC=ka(),zC=Math.max,VC=Math.min;xg.exports=function(r,e){var t=GC(r);return t<0?zC(t+e,0):VC(t,e)}});var Tg=h((MF,Eg)=>{var JC=ka(),$C=Math.min;Eg.exports=function(r){return r>0?$C(JC(r),9007199254740991):0}});var Ha=h((UF,Rg)=>{var KC=Tg();Rg.exports=function(r){return KC(r.length)}});var Mg=h((BF,Fg)=>{var XC=Dr(),ZC=pu(),YC=Ha(),Og=function(r){return function(e,t,i){var s=XC(e),o=YC(s),a=ZC(i,o),c;if(r&&t!=t){for(;o>a;)if(c=s[a++],c!=c)return!0}else for(;o>a;a++)if((r||a in s)&&s[a]===t)return r||a||0;return!r&&-1}};Fg.exports={includes:Og(!0),indexOf:Og(!1)}});var fu=h((LF,Bg)=>{var QC=K(),gu=Ie(),eI=Dr(),tI=Mg().indexOf,rI=La(),Ug=QC([].push);Bg.exports=function(r,e){var t=eI(r),i=0,s=[],o;for(o in t)!gu(rI,o)&&gu(t,o)&&Ug(s,o);for(;e.length>i;)gu(t,o=e[i++])&&(~tI(s,o)||Ug(s,o));return s}});var ja=h((DF,Lg)=>{Lg.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var _g=h(Dg=>{var iI=fu(),nI=ja(),sI=nI.concat("length","prototype");Dg.f=Object.getOwnPropertyNames||function(e){return iI(e,sI)}});var hu=h(Ng=>{Ng.f=Object.getOwnPropertySymbols});var Hg=h((qF,qg)=>{var oI=On(),aI=K(),dI=_g(),lI=hu(),uI=Xe(),cI=aI([].concat);qg.exports=oI("Reflect","ownKeys")||function(e){var t=dI.f(uI(e)),i=lI.f;return i?cI(t,i(e)):t}});var Gg=h((HF,Wg)=>{var jg=Ie(),mI=Hg(),pI=nu(),gI=Ze();Wg.exports=function(r,e,t){for(var i=mI(e),s=gI.f,o=pI.f,a=0;a<i.length;a++){var c=i[a];!jg(r,c)&&!(t&&jg(t,c))&&s(r,c,o(e,c))}}});var Vg=h((jF,zg)=>{var fI=ae(),hI=X(),vI=/#|\.prototype\./,Mn=function(r,e){var t=bI[yI(r)];return t==PI?!0:t==kI?!1:hI(e)?fI(e):!!e},yI=Mn.normalize=function(r){return String(r).replace(vI,".").toLowerCase()},bI=Mn.data={},kI=Mn.NATIVE="N",PI=Mn.POLYFILL="P";zg.exports=Mn});var Un=h((WF,Jg)=>{var vu=me(),SI=nu().f,CI=Ua(),II=Zt(),AI=Sa(),wI=Gg(),xI=Vg();Jg.exports=function(r,e){var t=r.target,i=r.global,s=r.stat,o,a,c,p,g,v;if(i?a=vu:s?a=vu[t]||AI(t,{}):a=(vu[t]||{}).prototype,a)for(c in e){if(g=e[c],r.dontCallGetSet?(v=SI(a,c),p=v&&v.value):p=a[c],o=xI(i?c:t+(s?".":"#")+c,r.forced),!o&&p!==void 0){if(typeof g==typeof p)continue;wI(g,p)}(r.sham||p&&p.sham)&&CI(g,"sham",!0),II(a,c,g,r)}}});var yu=h((GF,$g)=>{var EI=fu(),TI=ja();$g.exports=Object.keys||function(e){return EI(e,TI)}});var Xg=h(Kg=>{var RI=pe(),OI=ql(),FI=Ze(),MI=Xe(),UI=Dr(),BI=yu();Kg.f=RI&&!OI?Object.defineProperties:function(e,t){MI(e);for(var i=UI(t),s=BI(t),o=s.length,a=0,c;o>a;)FI.f(e,c=s[a++],i[c]);return e}});var Yg=h((VF,Zg)=>{var LI=On();Zg.exports=LI("document","documentElement")});var Bn=h((JF,of)=>{var DI=Xe(),_I=Xg(),Qg=ja(),NI=La(),qI=Yg(),HI=_l(),jI=Ba(),ef=">",tf="<",ku="prototype",Pu="script",nf=jI("IE_PROTO"),bu=function(){},sf=function(r){return tf+Pu+ef+r+tf+"/"+Pu+ef},rf=function(r){r.write(sf("")),r.close();var e=r.parentWindow.Object;return r=null,e},WI=function(){var r=HI("iframe"),e="java"+Pu+":",t;return r.style.display="none",qI.appendChild(r),r.src=String(e),t=r.contentWindow.document,t.open(),t.write(sf("document.F=Object")),t.close(),t.F},Wa,Ga=function(){try{Wa=new ActiveXObject("htmlfile")}catch{}Ga=typeof document<"u"?document.domain&&Wa?rf(Wa):WI():rf(Wa);for(var r=Qg.length;r--;)delete Ga[ku][Qg[r]];return Ga()};NI[nf]=!0;of.exports=Object.create||function(e,t){var i;return e!==null?(bu[ku]=DI(e),i=new bu,bu[ku]=null,i[nf]=e):i=Ga(),t===void 0?i:_I.f(i,t)}});var df=h(($F,af)=>{var GI=ae();af.exports=!GI(function(){function r(){}return r.prototype.constructor=null,Object.getPrototypeOf(new r)!==r.prototype})});var Cu=h((KF,uf)=>{var zI=Ie(),VI=X(),JI=En(),$I=Ba(),KI=df(),lf=$I("IE_PROTO"),Su=Object,XI=Su.prototype;uf.exports=KI?Su.getPrototypeOf:function(r){var e=JI(r);if(zI(e,lf))return e[lf];var t=e.constructor;return VI(t)&&e instanceof t?t.prototype:e instanceof Su?XI:null}});var xu=h((XF,pf)=>{"use strict";var ZI=ae(),YI=X(),QI=yt(),eA=Bn(),cf=Cu(),tA=Zt(),rA=Ae(),iA=Mr(),wu=rA("iterator"),mf=!1,st,Iu,Au;[].keys&&(Au=[].keys(),"next"in Au?(Iu=cf(cf(Au)),Iu!==Object.prototype&&(st=Iu)):mf=!0);var nA=!QI(st)||ZI(function(){var r={};return st[wu].call(r)!==r});nA?st={}:iA&&(st=eA(st));YI(st[wu])||tA(st,wu,function(){return this});pf.exports={IteratorPrototype:st,BUGGY_SAFARI_ITERATORS:mf}});var Ln=h((ZF,ff)=>{var sA=Ze().f,oA=Ie(),aA=Ae(),gf=aA("toStringTag");ff.exports=function(r,e,t){r&&!t&&(r=r.prototype),r&&!oA(r,gf)&&sA(r,gf,{configurable:!0,value:e})}});var _r=h((YF,hf)=>{hf.exports={}});var Eu=h((QF,vf)=>{"use strict";var dA=xu().IteratorPrototype,lA=Bn(),uA=Br(),cA=Ln(),mA=_r(),pA=function(){return this};vf.exports=function(r,e,t,i){var s=e+" Iterator";return r.prototype=lA(dA,{next:uA(+!i,t)}),cA(r,s,!1,!0),mA[s]=pA,r}});var bf=h((eM,yf)=>{var gA=X(),fA=String,hA=TypeError;yf.exports=function(r){if(typeof r=="object"||gA(r))return r;throw hA("Can't set "+fA(r)+" as a prototype")}});var Pf=h((tM,kf)=>{var vA=K(),yA=Xe(),bA=bf();kf.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var r=!1,e={},t;try{t=vA(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set),t(e,[]),r=e instanceof Array}catch{}return function(s,o){return yA(s),bA(o),r?t(s,o):s.__proto__=o,s}}():void 0)});var Ru=h((rM,Of)=>{"use strict";var kA=Un(),PA=We(),za=Mr(),Tf=au(),SA=X(),CA=Eu(),Sf=Cu(),Cf=Pf(),IA=Ln(),AA=Ua(),Tu=Zt(),wA=Ae(),If=_r(),Rf=xu(),xA=Tf.PROPER,EA=Tf.CONFIGURABLE,Af=Rf.IteratorPrototype,Va=Rf.BUGGY_SAFARI_ITERATORS,Dn=wA("iterator"),wf="keys",_n="values",xf="entries",Ef=function(){return this};Of.exports=function(r,e,t,i,s,o,a){CA(t,e,i);var c=function(U){if(U===s&&y)return y;if(!Va&&U in v)return v[U];switch(U){case wf:return function(){return new t(this,U)};case _n:return function(){return new t(this,U)};case xf:return function(){return new t(this,U)}}return function(){return new t(this)}},p=e+" Iterator",g=!1,v=r.prototype,m=v[Dn]||v["@@iterator"]||s&&v[s],y=!Va&&m||c(s),k=e=="Array"&&v.entries||m,C,I,w;if(k&&(C=Sf(k.call(new r)),C!==Object.prototype&&C.next&&(!za&&Sf(C)!==Af&&(Cf?Cf(C,Af):SA(C[Dn])||Tu(C,Dn,Ef)),IA(C,p,!0,!0),za&&(If[p]=Ef))),xA&&s==_n&&m&&m.name!==_n&&(!za&&EA?AA(v,"name",_n):(g=!0,y=function(){return PA(m,this)})),s)if(I={values:c(_n),keys:o?y:c(wf),entries:c(xf)},a)for(w in I)(Va||g||!(w in v))&&Tu(v,w,I[w]);else kA({target:e,proto:!0,forced:Va||g},I);return(!za||a)&&v[Dn]!==y&&Tu(v,Dn,y,{name:s}),If[e]=y,I}});var Ou=h((iM,Ff)=>{Ff.exports=function(r,e){return{value:r,done:e}}});var Lf=h(()=>{"use strict";var TA=Ll().charAt,RA=Rn(),Uf=Lr(),OA=Ru(),Mf=Ou(),Bf="String Iterator",FA=Uf.set,MA=Uf.getterFor(Bf);OA(String,"String",function(r){FA(this,{type:Bf,string:RA(r),index:0})},function(){var e=MA(this),t=e.string,i=e.index,s;return i>=t.length?Mf(void 0,!0):(s=TA(t,i),e.index+=s.length,Mf(s,!1))})});var Fu=h((oM,Df)=>{var UA=ae(),BA=Ae(),LA=Mr(),DA=BA("iterator");Df.exports=!UA(function(){var r=new URL("b?a=1&b=2&c=3","http://a"),e=r.searchParams,t="";return r.pathname="c%20d",e.forEach(function(i,s){e.delete("b"),t+=s+i}),LA&&!r.toJSON||!e.sort||r.href!=="http://a/c%20d?a=1&c=3"||e.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!e[DA]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("http://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("http://a#\u0431").hash!=="#%D0%B1"||t!=="a1c3"||new URL("http://x",void 0).host!=="x"})});var Nf=h((aM,_f)=>{var _A=xa(),NA=K();_f.exports=function(r){if(_A(r)==="Function")return NA(r)}});var Ja=h((dM,Hf)=>{var qf=Nf(),qA=Ra(),HA=ba(),jA=qf(qf.bind);Hf.exports=function(r,e){return qA(r),e===void 0?r:HA?jA(r,e):function(){return r.apply(e,arguments)}}});var Gf=h((lM,Wf)=>{var jf=mu(),WA=Ze();Wf.exports=function(r,e,t){return t.get&&jf(t.get,e,{getter:!0}),t.set&&jf(t.set,e,{setter:!0}),WA.f(r,e,t)}});var Mu=h((uM,zf)=>{var GA=jl(),zA=TypeError;zf.exports=function(r,e){if(GA(e,r))return r;throw zA("Incorrect invocation")}});var Kf=h((cM,$f)=>{"use strict";var Vf=pe(),VA=K(),JA=We(),$A=ae(),Uu=yu(),KA=hu(),XA=tu(),ZA=En(),YA=iu(),Nr=Object.assign,Jf=Object.defineProperty,QA=VA([].concat);$f.exports=!Nr||$A(function(){if(Vf&&Nr({b:1},Nr(Jf({},"a",{enumerable:!0,get:function(){Jf(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var r={},e={},t=Symbol(),i="abcdefghijklmnopqrst";return r[t]=7,i.split("").forEach(function(s){e[s]=s}),Nr({},r)[t]!=7||Uu(Nr({},e)).join("")!=i})?function(e,t){for(var i=ZA(e),s=arguments.length,o=1,a=KA.f,c=XA.f;s>o;)for(var p=YA(arguments[o++]),g=a?QA(Uu(p),a(p)):Uu(p),v=g.length,m=0,y;v>m;)y=g[m++],(!Vf||JA(c,p,y))&&(i[y]=p[y]);return i}:Nr});var Yf=h((mM,Zf)=>{var ew=We(),Xf=Xe(),tw=Oa();Zf.exports=function(r,e,t){var i,s;Xf(r);try{if(i=tw(r,"return"),!i){if(e==="throw")throw t;return t}i=ew(i,r)}catch(o){s=!0,i=o}if(e==="throw")throw t;if(s)throw i;return Xf(i),t}});var eh=h((pM,Qf)=>{var rw=Xe(),iw=Yf();Qf.exports=function(r,e,t,i){try{return i?e(rw(t)[0],t[1]):e(t)}catch(s){iw(r,"throw",s)}}});var rh=h((gM,th)=>{var nw=Ae(),sw=_r(),ow=nw("iterator"),aw=Array.prototype;th.exports=function(r){return r!==void 0&&(sw.Array===r||aw[ow]===r)}});var dh=h((fM,ah)=>{var dw=K(),lw=ae(),ih=X(),uw=Tn(),cw=On(),mw=lu(),nh=function(){},pw=[],sh=cw("Reflect","construct"),Bu=/^\s*(?:class|function)\b/,gw=dw(Bu.exec),fw=!Bu.exec(nh),Nn=function(e){if(!ih(e))return!1;try{return sh(nh,pw,e),!0}catch{return!1}},oh=function(e){if(!ih(e))return!1;switch(uw(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return fw||!!gw(Bu,mw(e))}catch{return!0}};oh.sham=!0;ah.exports=!sh||lw(function(){var r;return Nn(Nn.call)||!Nn(Object)||!Nn(function(){r=!0})||r})?oh:Nn});var Lu=h((hM,lh)=>{"use strict";var hw=Fa(),vw=Ze(),yw=Br();lh.exports=function(r,e,t){var i=hw(e);i in r?vw.f(r,i,yw(0,t)):r[i]=t}});var $a=h((vM,ch)=>{var bw=Tn(),uh=Oa(),kw=Ia(),Pw=_r(),Sw=Ae(),Cw=Sw("iterator");ch.exports=function(r){if(!kw(r))return uh(r,Cw)||uh(r,"@@iterator")||Pw[bw(r)]}});var Du=h((yM,mh)=>{var Iw=We(),Aw=Ra(),ww=Xe(),xw=Gl(),Ew=$a(),Tw=TypeError;mh.exports=function(r,e){var t=arguments.length<2?Ew(r):e;if(Aw(t))return ww(Iw(t,r));throw Tw(xw(r)+" is not iterable")}});var hh=h((bM,fh)=>{"use strict";var Rw=Ja(),Ow=We(),Fw=En(),Mw=eh(),Uw=rh(),Bw=dh(),Lw=Ha(),ph=Lu(),Dw=Du(),_w=$a(),gh=Array;fh.exports=function(e){var t=Fw(e),i=Bw(this),s=arguments.length,o=s>1?arguments[1]:void 0,a=o!==void 0;a&&(o=Rw(o,s>2?arguments[2]:void 0));var c=_w(t),p=0,g,v,m,y,k,C;if(c&&!(this===gh&&Uw(c)))for(y=Dw(t,c),k=y.next,v=i?new this:[];!(m=Ow(k,y)).done;p++)C=a?Mw(y,o,[m.value,p],!0):m.value,ph(v,p,C);else for(g=Lw(t),v=i?new this(g):gh(g);g>p;p++)C=a?o(t[p],p):t[p],ph(v,p,C);return v.length=p,v}});var _u=h((kM,yh)=>{var vh=pu(),Nw=Ha(),qw=Lu(),Hw=Array,jw=Math.max;yh.exports=function(r,e,t){for(var i=Nw(r),s=vh(e,i),o=vh(t===void 0?i:t,i),a=Hw(jw(o-s,0)),c=0;s<o;s++,c++)qw(a,c,r[s]);return a.length=c,a}});var xh=h((PM,wh)=>{var Yt=K(),Nu=2147483647,qn=36,Ch=1,ju=26,Ww=38,Gw=700,zw=72,Vw=128,Jw="-",$w=/[^\0-\u007E]/,Ih=/[.\u3002\uFF0E\uFF61]/g,bh="Overflow: input needs wider integers to process",qu=qn-Ch,kh=RangeError,Kw=Yt(Ih.exec),qr=Math.floor,Hu=String.fromCharCode,Ph=Yt("".charCodeAt),Ah=Yt([].join),bt=Yt([].push),Xw=Yt("".replace),Zw=Yt("".split),Yw=Yt("".toLowerCase),Qw=function(r){for(var e=[],t=0,i=r.length;t<i;){var s=Ph(r,t++);if(s>=55296&&s<=56319&&t<i){var o=Ph(r,t++);(o&64512)==56320?bt(e,((s&1023)<<10)+(o&1023)+65536):(bt(e,s),t--)}else bt(e,s)}return e},Sh=function(r){return r+22+75*(r<26)},ex=function(r,e,t){var i=0;for(r=t?qr(r/Gw):r>>1,r+=qr(r/e);r>qu*ju>>1;)r=qr(r/qu),i+=qn;return qr(i+(qu+1)*r/(r+Ww))},tx=function(r){var e=[];r=Qw(r);var t=r.length,i=Vw,s=0,o=zw,a,c;for(a=0;a<r.length;a++)c=r[a],c<128&&bt(e,Hu(c));var p=e.length,g=p;for(p&&bt(e,Jw);g<t;){var v=Nu;for(a=0;a<r.length;a++)c=r[a],c>=i&&c<v&&(v=c);var m=g+1;if(v-i>qr((Nu-s)/m))throw kh(bh);for(s+=(v-i)*m,i=v,a=0;a<r.length;a++){if(c=r[a],c<i&&++s>Nu)throw kh(bh);if(c==i){for(var y=s,k=qn;;){var C=k<=o?Ch:k>=o+ju?ju:k-o;if(y<C)break;var I=y-C,w=qn-C;bt(e,Hu(Sh(C+I%w))),y=qr(I/w),k+=qn}bt(e,Hu(Sh(y))),o=ex(s,m,g==p),s=0,g++}}s++,i++}return Ah(e,"")};wh.exports=function(r){var e=[],t=Zw(Xw(Yw(r),Ih,"."),"."),i,s;for(i=0;i<t.length;i++)s=t[i],bt(e,Kw($w,s)?"xn--"+tx(s):s);return Ah(e,".")}});var Wu=h((SM,Eh)=>{var rx=TypeError;Eh.exports=function(r,e){if(r<e)throw rx("Not enough arguments");return r}});var Rh=h((CM,Th)=>{var ix=Ae(),nx=Bn(),sx=Ze().f,Gu=ix("unscopables"),zu=Array.prototype;zu[Gu]==null&&sx(zu,Gu,{configurable:!0,value:nx(null)});Th.exports=function(r){zu[Gu][r]=!0}});var Lh=h((IM,Bh)=>{"use strict";var ox=Dr(),Vu=Rh(),Oh=_r(),Mh=Lr(),ax=Ze().f,dx=Ru(),Ka=Ou(),lx=Mr(),ux=pe(),Uh="Array Iterator",cx=Mh.set,mx=Mh.getterFor(Uh);Bh.exports=dx(Array,"Array",function(r,e){cx(this,{type:Uh,target:ox(r),index:0,kind:e})},function(){var r=mx(this),e=r.target,t=r.kind,i=r.index++;return!e||i>=e.length?(r.target=void 0,Ka(void 0,!0)):t=="keys"?Ka(i,!1):t=="values"?Ka(e[i],!1):Ka([i,e[i]],!1)},"values");var Fh=Oh.Arguments=Oh.Array;Vu("keys");Vu("values");Vu("entries");if(!lx&&ux&&Fh.name!=="values")try{ax(Fh,"name",{value:"values"})}catch{}});var _h=h((AM,Dh)=>{var px=Zt();Dh.exports=function(r,e,t){for(var i in e)px(r,i,e[i],t);return r}});var Hh=h((wM,qh)=>{var Nh=_u(),gx=Math.floor,Ju=function(r,e){var t=r.length,i=gx(t/2);return t<8?fx(r,e):hx(r,Ju(Nh(r,0,i),e),Ju(Nh(r,i),e),e)},fx=function(r,e){for(var t=r.length,i=1,s,o;i<t;){for(o=i,s=r[i];o&&e(r[o-1],s)>0;)r[o]=r[--o];o!==i++&&(r[o]=s)}return r},hx=function(r,e,t,i){for(var s=e.length,o=t.length,a=0,c=0;a<s||c<o;)r[a+c]=a<s&&c<o?i(e[a],t[c])<=0?e[a++]:t[c++]:a<s?e[a++]:t[c++];return r};qh.exports=Ju});var ic=h((xM,av)=>{"use strict";Lh();var Yu=Un(),jr=me(),Xa=We(),Ye=K(),vx=pe(),Qh=Fu(),ev=Zt(),yx=_h(),bx=Ln(),kx=Eu(),tc=Lr(),tv=Mu(),$u=X(),Px=Ie(),Sx=Ja(),Cx=Tn(),Ix=Xe(),rv=yt(),ge=Rn(),Ax=Bn(),jh=Br(),Qu=Du(),wx=$a(),Hr=Wu(),xx=Ae(),Ex=Hh(),Tx=xx("iterator"),Wn="URLSearchParams",iv=Wn+"Iterator",nv=tc.set,ze=tc.getterFor(Wn),Rx=tc.getterFor(iv),Ox=Object.getOwnPropertyDescriptor,rc=function(r){if(!vx)return jr[r];var e=Ox(jr,r);return e&&e.value},Wh=rc("fetch"),Ya=rc("Request"),Hn=rc("Headers"),Ku=Ya&&Ya.prototype,Gh=Hn&&Hn.prototype,Fx=jr.RegExp,Mx=jr.TypeError,sv=jr.decodeURIComponent,Ux=jr.encodeURIComponent,Bx=Ye("".charAt),zh=Ye([].join),Qt=Ye([].push),ec=Ye("".replace),Lx=Ye([].shift),Vh=Ye([].splice),Jh=Ye("".split),Dx=Ye("".slice),_x=/\+/g,$h=Array(4),Nx=function(r){return $h[r-1]||($h[r-1]=Fx("((?:%[\\da-f]{2}){"+r+"})","gi"))},qx=function(r){try{return sv(r)}catch{return r}},Kh=function(r){var e=ec(r,_x," "),t=4;try{return sv(e)}catch{for(;t;)e=ec(e,Nx(t--),qx);return e}},Hx=/[!'()~]|%20/g,jx={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},Wx=function(r){return jx[r]},Xh=function(r){return ec(Ux(r),Hx,Wx)},Xu=kx(function(e,t){nv(this,{type:iv,iterator:Qu(ze(e).entries),kind:t})},"Iterator",function(){var e=Rx(this),t=e.kind,i=e.iterator.next(),s=i.value;return i.done||(i.value=t==="keys"?s.key:t==="values"?s.value:[s.key,s.value]),i},!0),ov=function(r){this.entries=[],this.url=null,r!==void 0&&(rv(r)?this.parseObject(r):this.parseQuery(typeof r=="string"?Bx(r,0)==="?"?Dx(r,1):r:ge(r)))};ov.prototype={type:Wn,bindURL:function(r){this.url=r,this.update()},parseObject:function(r){var e=wx(r),t,i,s,o,a,c,p;if(e)for(t=Qu(r,e),i=t.next;!(s=Xa(i,t)).done;){if(o=Qu(Ix(s.value)),a=o.next,(c=Xa(a,o)).done||(p=Xa(a,o)).done||!Xa(a,o).done)throw Mx("Expected sequence with length 2");Qt(this.entries,{key:ge(c.value),value:ge(p.value)})}else for(var g in r)Px(r,g)&&Qt(this.entries,{key:g,value:ge(r[g])})},parseQuery:function(r){if(r)for(var e=Jh(r,"&"),t=0,i,s;t<e.length;)i=e[t++],i.length&&(s=Jh(i,"="),Qt(this.entries,{key:Kh(Lx(s)),value:Kh(zh(s,"="))}))},serialize:function(){for(var r=this.entries,e=[],t=0,i;t<r.length;)i=r[t++],Qt(e,Xh(i.key)+"="+Xh(i.value));return zh(e,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var Qa=function(){tv(this,jn);var e=arguments.length>0?arguments[0]:void 0;nv(this,new ov(e))},jn=Qa.prototype;yx(jn,{append:function(e,t){Hr(arguments.length,2);var i=ze(this);Qt(i.entries,{key:ge(e),value:ge(t)}),i.updateURL()},delete:function(r){Hr(arguments.length,1);for(var e=ze(this),t=e.entries,i=ge(r),s=0;s<t.length;)t[s].key===i?Vh(t,s,1):s++;e.updateURL()},get:function(e){Hr(arguments.length,1);for(var t=ze(this).entries,i=ge(e),s=0;s<t.length;s++)if(t[s].key===i)return t[s].value;return null},getAll:function(e){Hr(arguments.length,1);for(var t=ze(this).entries,i=ge(e),s=[],o=0;o<t.length;o++)t[o].key===i&&Qt(s,t[o].value);return s},has:function(e){Hr(arguments.length,1);for(var t=ze(this).entries,i=ge(e),s=0;s<t.length;)if(t[s++].key===i)return!0;return!1},set:function(e,t){Hr(arguments.length,1);for(var i=ze(this),s=i.entries,o=!1,a=ge(e),c=ge(t),p=0,g;p<s.length;p++)g=s[p],g.key===a&&(o?Vh(s,p--,1):(o=!0,g.value=c));o||Qt(s,{key:a,value:c}),i.updateURL()},sort:function(){var e=ze(this);Ex(e.entries,function(t,i){return t.key>i.key?1:-1}),e.updateURL()},forEach:function(e){for(var t=ze(this).entries,i=Sx(e,arguments.length>1?arguments[1]:void 0),s=0,o;s<t.length;)o=t[s++],i(o.value,o.key,this)},keys:function(){return new Xu(this,"keys")},values:function(){return new Xu(this,"values")},entries:function(){return new Xu(this,"entries")}},{enumerable:!0});ev(jn,Tx,jn.entries,{name:"entries"});ev(jn,"toString",function(){return ze(this).serialize()},{enumerable:!0});bx(Qa,Wn);Yu({global:!0,constructor:!0,forced:!Qh},{URLSearchParams:Qa});!Qh&&$u(Hn)&&(Zh=Ye(Gh.has),Yh=Ye(Gh.set),Zu=function(r){if(rv(r)){var e=r.body,t;if(Cx(e)===Wn)return t=r.headers?new Hn(r.headers):new Hn,Zh(t,"content-type")||Yh(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),Ax(r,{body:jh(0,ge(e)),headers:jh(0,t)})}return r},$u(Wh)&&Yu({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return Wh(e,arguments.length>1?Zu(arguments[1]):{})}}),$u(Ya)&&(Za=function(e){return tv(this,Ku),new Ya(e,arguments.length>1?Zu(arguments[1]):{})},Ku.constructor=Za,Za.prototype=Ku,Yu({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:Za})));var Zh,Yh,Zu,Za;av.exports={URLSearchParams:Qa,getState:ze}});var wv=h(()=>{"use strict";Lf();var Gx=Un(),bc=pe(),zx=Fu(),kc=me(),dv=Ja(),Re=K(),nd=Zt(),we=Gf(),Vx=Mu(),hc=Ie(),Pc=Kf(),Wr=hh(),Ve=_u(),Jx=Ll().codeAt,$x=xh(),at=Rn(),Kx=Ln(),Xx=Wu(),kv=ic(),Pv=Lr(),Zx=Pv.set,sd=Pv.getterFor("URL"),Yx=kv.URLSearchParams,Qx=kv.getState,Gn=kc.URL,vc=kc.TypeError,od=kc.parseInt,e0=Math.floor,lv=Math.pow,Te=Re("".charAt),Je=Re(/./.exec),Vn=Re([].join),t0=Re(1 .toString),r0=Re([].pop),zr=Re([].push),uv=Re("".replace),i0=Re([].shift),n0=Re("".split),$n=Re("".slice),ad=Re("".toLowerCase),s0=Re([].unshift),o0="Invalid authority",nc="Invalid scheme",er="Invalid host",cv="Invalid port",Sv=/[a-z]/i,a0=/[\d+-.a-z]/i,yc=/\d/,d0=/^0x/i,l0=/^[0-7]+$/,u0=/^\d+$/,Cv=/^[\da-f]+$/i,c0=/[\0\t\n\r #%/:<>?@[\\\]^|]/,m0=/[\0\t\n\r #/:<>?@[\\\]^|]/,p0=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,g0=/[\t\n\r]/g,xe,f0=function(r){var e=n0(r,"."),t,i,s,o,a,c,p;if(e.length&&e[e.length-1]==""&&e.length--,t=e.length,t>4)return r;for(i=[],s=0;s<t;s++){if(o=e[s],o=="")return r;if(a=10,o.length>1&&Te(o,0)=="0"&&(a=Je(d0,o)?16:8,o=$n(o,a==8?1:2)),o==="")c=0;else{if(!Je(a==10?u0:a==8?l0:Cv,o))return r;c=od(o,a)}zr(i,c)}for(s=0;s<t;s++)if(c=i[s],s==t-1){if(c>=lv(256,5-t))return null}else if(c>255)return null;for(p=r0(i),s=0;s<i.length;s++)p+=i[s]*lv(256,3-s);return p},h0=function(r){var e=[0,0,0,0,0,0,0,0],t=0,i=null,s=0,o,a,c,p,g,v,m,y=function(){return Te(r,s)};if(y()==":"){if(Te(r,1)!=":")return;s+=2,t++,i=t}for(;y();){if(t==8)return;if(y()==":"){if(i!==null)return;s++,t++,i=t;continue}for(o=a=0;a<4&&Je(Cv,y());)o=o*16+od(y(),16),s++,a++;if(y()=="."){if(a==0||(s-=a,t>6))return;for(c=0;y();){if(p=null,c>0)if(y()=="."&&c<4)s++;else return;if(!Je(yc,y()))return;for(;Je(yc,y());){if(g=od(y(),10),p===null)p=g;else{if(p==0)return;p=p*10+g}if(p>255)return;s++}e[t]=e[t]*256+p,c++,(c==2||c==4)&&t++}if(c!=4)return;break}else if(y()==":"){if(s++,!y())return}else if(y())return;e[t++]=o}if(i!==null)for(v=t-i,t=7;t!=0&&v>0;)m=e[t],e[t--]=e[i+v-1],e[i+--v]=m;else if(t!=8)return;return e},v0=function(r){for(var e=null,t=1,i=null,s=0,o=0;o<8;o++)r[o]!==0?(s>t&&(e=i,t=s),i=null,s=0):(i===null&&(i=o),++s);return s>t&&(e=i,t=s),e},zn=function(r){var e,t,i,s;if(typeof r=="number"){for(e=[],t=0;t<4;t++)s0(e,r%256),r=e0(r/256);return Vn(e,".")}else if(typeof r=="object"){for(e="",i=v0(r),t=0;t<8;t++)s&&r[t]===0||(s&&(s=!1),i===t?(e+=t?":":"::",s=!0):(e+=t0(r[t],16),t<7&&(e+=":")));return"["+e+"]"}return r},id={},Iv=Pc({},id,{" ":1,'"':1,"<":1,">":1,"`":1}),Av=Pc({},Iv,{"#":1,"?":1,"{":1,"}":1}),sc=Pc({},Av,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),kt=function(r,e){var t=Jx(r,0);return t>32&&t<127&&!hc(e,r)?r:encodeURIComponent(r)},ed={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Jn=function(r,e){var t;return r.length==2&&Je(Sv,Te(r,0))&&((t=Te(r,1))==":"||!e&&t=="|")},mv=function(r){var e;return r.length>1&&Jn($n(r,0,2))&&(r.length==2||(e=Te(r,2))==="/"||e==="\\"||e==="?"||e==="#")},y0=function(r){return r==="."||ad(r)==="%2e"},b0=function(r){return r=ad(r),r===".."||r==="%2e."||r===".%2e"||r==="%2e%2e"},oc={},pv={},ac={},gv={},fv={},dc={},hv={},vv={},td={},rd={},lc={},uc={},cc={},mc={},yv={},pc={},Gr={},Qe={},bv={},tr={},ot={},Sc=function(r,e,t){var i=at(r),s,o,a;if(e){if(o=this.parse(i),o)throw vc(o);this.searchParams=null}else{if(t!==void 0&&(s=new Sc(t,!0)),o=this.parse(i,null,s),o)throw vc(o);a=Qx(new Yx),a.bindURL(this),this.searchParams=a}};Sc.prototype={type:"URL",parse:function(r,e,t){var i=this,s=e||oc,o=0,a="",c=!1,p=!1,g=!1,v,m,y,k;for(r=at(r),e||(i.scheme="",i.username="",i.password="",i.host=null,i.port=null,i.path=[],i.query=null,i.fragment=null,i.cannotBeABaseURL=!1,r=uv(r,p0,"")),r=uv(r,g0,""),v=Wr(r);o<=v.length;){switch(m=v[o],s){case oc:if(m&&Je(Sv,m))a+=ad(m),s=pv;else{if(e)return nc;s=ac;continue}break;case pv:if(m&&(Je(a0,m)||m=="+"||m=="-"||m=="."))a+=ad(m);else if(m==":"){if(e&&(i.isSpecial()!=hc(ed,a)||a=="file"&&(i.includesCredentials()||i.port!==null)||i.scheme=="file"&&!i.host))return;if(i.scheme=a,e){i.isSpecial()&&ed[i.scheme]==i.port&&(i.port=null);return}a="",i.scheme=="file"?s=mc:i.isSpecial()&&t&&t.scheme==i.scheme?s=gv:i.isSpecial()?s=vv:v[o+1]=="/"?(s=fv,o++):(i.cannotBeABaseURL=!0,zr(i.path,""),s=bv)}else{if(e)return nc;a="",s=ac,o=0;continue}break;case ac:if(!t||t.cannotBeABaseURL&&m!="#")return nc;if(t.cannotBeABaseURL&&m=="#"){i.scheme=t.scheme,i.path=Ve(t.path),i.query=t.query,i.fragment="",i.cannotBeABaseURL=!0,s=ot;break}s=t.scheme=="file"?mc:dc;continue;case gv:if(m=="/"&&v[o+1]=="/")s=td,o++;else{s=dc;continue}break;case fv:if(m=="/"){s=rd;break}else{s=Qe;continue}case dc:if(i.scheme=t.scheme,m==xe)i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=Ve(t.path),i.query=t.query;else if(m=="/"||m=="\\"&&i.isSpecial())s=hv;else if(m=="?")i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=Ve(t.path),i.query="",s=tr;else if(m=="#")i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=Ve(t.path),i.query=t.query,i.fragment="",s=ot;else{i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=Ve(t.path),i.path.length--,s=Qe;continue}break;case hv:if(i.isSpecial()&&(m=="/"||m=="\\"))s=td;else if(m=="/")s=rd;else{i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,s=Qe;continue}break;case vv:if(s=td,m!="/"||Te(a,o+1)!="/")continue;o++;break;case td:if(m!="/"&&m!="\\"){s=rd;continue}break;case rd:if(m=="@"){c&&(a="%40"+a),c=!0,y=Wr(a);for(var C=0;C<y.length;C++){var I=y[C];if(I==":"&&!g){g=!0;continue}var w=kt(I,sc);g?i.password+=w:i.username+=w}a=""}else if(m==xe||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()){if(c&&a=="")return o0;o-=Wr(a).length+1,a="",s=lc}else a+=m;break;case lc:case uc:if(e&&i.scheme=="file"){s=pc;continue}else if(m==":"&&!p){if(a=="")return er;if(k=i.parseHost(a),k)return k;if(a="",s=cc,e==uc)return}else if(m==xe||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()){if(i.isSpecial()&&a=="")return er;if(e&&a==""&&(i.includesCredentials()||i.port!==null))return;if(k=i.parseHost(a),k)return k;if(a="",s=Gr,e)return;continue}else m=="["?p=!0:m=="]"&&(p=!1),a+=m;break;case cc:if(Je(yc,m))a+=m;else if(m==xe||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()||e){if(a!=""){var U=od(a,10);if(U>65535)return cv;i.port=i.isSpecial()&&U===ed[i.scheme]?null:U,a=""}if(e)return;s=Gr;continue}else return cv;break;case mc:if(i.scheme="file",m=="/"||m=="\\")s=yv;else if(t&&t.scheme=="file")if(m==xe)i.host=t.host,i.path=Ve(t.path),i.query=t.query;else if(m=="?")i.host=t.host,i.path=Ve(t.path),i.query="",s=tr;else if(m=="#")i.host=t.host,i.path=Ve(t.path),i.query=t.query,i.fragment="",s=ot;else{mv(Vn(Ve(v,o),""))||(i.host=t.host,i.path=Ve(t.path),i.shortenPath()),s=Qe;continue}else{s=Qe;continue}break;case yv:if(m=="/"||m=="\\"){s=pc;break}t&&t.scheme=="file"&&!mv(Vn(Ve(v,o),""))&&(Jn(t.path[0],!0)?zr(i.path,t.path[0]):i.host=t.host),s=Qe;continue;case pc:if(m==xe||m=="/"||m=="\\"||m=="?"||m=="#"){if(!e&&Jn(a))s=Qe;else if(a==""){if(i.host="",e)return;s=Gr}else{if(k=i.parseHost(a),k)return k;if(i.host=="localhost"&&(i.host=""),e)return;a="",s=Gr}continue}else a+=m;break;case Gr:if(i.isSpecial()){if(s=Qe,m!="/"&&m!="\\")continue}else if(!e&&m=="?")i.query="",s=tr;else if(!e&&m=="#")i.fragment="",s=ot;else if(m!=xe&&(s=Qe,m!="/"))continue;break;case Qe:if(m==xe||m=="/"||m=="\\"&&i.isSpecial()||!e&&(m=="?"||m=="#")){if(b0(a)?(i.shortenPath(),m!="/"&&!(m=="\\"&&i.isSpecial())&&zr(i.path,"")):y0(a)?m!="/"&&!(m=="\\"&&i.isSpecial())&&zr(i.path,""):(i.scheme=="file"&&!i.path.length&&Jn(a)&&(i.host&&(i.host=""),a=Te(a,0)+":"),zr(i.path,a)),a="",i.scheme=="file"&&(m==xe||m=="?"||m=="#"))for(;i.path.length>1&&i.path[0]==="";)i0(i.path);m=="?"?(i.query="",s=tr):m=="#"&&(i.fragment="",s=ot)}else a+=kt(m,Av);break;case bv:m=="?"?(i.query="",s=tr):m=="#"?(i.fragment="",s=ot):m!=xe&&(i.path[0]+=kt(m,id));break;case tr:!e&&m=="#"?(i.fragment="",s=ot):m!=xe&&(m=="'"&&i.isSpecial()?i.query+="%27":m=="#"?i.query+="%23":i.query+=kt(m,id));break;case ot:m!=xe&&(i.fragment+=kt(m,Iv));break}o++}},parseHost:function(r){var e,t,i;if(Te(r,0)=="["){if(Te(r,r.length-1)!="]"||(e=h0($n(r,1,-1)),!e))return er;this.host=e}else if(this.isSpecial()){if(r=$x(r),Je(c0,r)||(e=f0(r),e===null))return er;this.host=e}else{if(Je(m0,r))return er;for(e="",t=Wr(r),i=0;i<t.length;i++)e+=kt(t[i],id);this.host=e}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||this.scheme=="file"},includesCredentials:function(){return this.username!=""||this.password!=""},isSpecial:function(){return hc(ed,this.scheme)},shortenPath:function(){var r=this.path,e=r.length;e&&(this.scheme!="file"||e!=1||!Jn(r[0],!0))&&r.length--},serialize:function(){var r=this,e=r.scheme,t=r.username,i=r.password,s=r.host,o=r.port,a=r.path,c=r.query,p=r.fragment,g=e+":";return s!==null?(g+="//",r.includesCredentials()&&(g+=t+(i?":"+i:"")+"@"),g+=zn(s),o!==null&&(g+=":"+o)):e=="file"&&(g+="//"),g+=r.cannotBeABaseURL?a[0]:a.length?"/"+Vn(a,"/"):"",c!==null&&(g+="?"+c),p!==null&&(g+="#"+p),g},setHref:function(r){var e=this.parse(r);if(e)throw vc(e);this.searchParams.update()},getOrigin:function(){var r=this.scheme,e=this.port;if(r=="blob")try{return new Vr(r.path[0]).origin}catch{return"null"}return r=="file"||!this.isSpecial()?"null":r+"://"+zn(this.host)+(e!==null?":"+e:"")},getProtocol:function(){return this.scheme+":"},setProtocol:function(r){this.parse(at(r)+":",oc)},getUsername:function(){return this.username},setUsername:function(r){var e=Wr(at(r));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var t=0;t<e.length;t++)this.username+=kt(e[t],sc)}},getPassword:function(){return this.password},setPassword:function(r){var e=Wr(at(r));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var t=0;t<e.length;t++)this.password+=kt(e[t],sc)}},getHost:function(){var r=this.host,e=this.port;return r===null?"":e===null?zn(r):zn(r)+":"+e},setHost:function(r){this.cannotBeABaseURL||this.parse(r,lc)},getHostname:function(){var r=this.host;return r===null?"":zn(r)},setHostname:function(r){this.cannotBeABaseURL||this.parse(r,uc)},getPort:function(){var r=this.port;return r===null?"":at(r)},setPort:function(r){this.cannotHaveUsernamePasswordPort()||(r=at(r),r==""?this.port=null:this.parse(r,cc))},getPathname:function(){var r=this.path;return this.cannotBeABaseURL?r[0]:r.length?"/"+Vn(r,"/"):""},setPathname:function(r){this.cannotBeABaseURL||(this.path=[],this.parse(r,Gr))},getSearch:function(){var r=this.query;return r?"?"+r:""},setSearch:function(r){r=at(r),r==""?this.query=null:(Te(r,0)=="?"&&(r=$n(r,1)),this.query="",this.parse(r,tr)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var r=this.fragment;return r?"#"+r:""},setHash:function(r){if(r=at(r),r==""){this.fragment=null;return}Te(r,0)=="#"&&(r=$n(r,1)),this.fragment="",this.parse(r,ot)},update:function(){this.query=this.searchParams.serialize()||null}};var Vr=function(e){var t=Vx(this,te),i=Xx(arguments.length,1)>1?arguments[1]:void 0,s=Zx(t,new Sc(e,!1,i));bc||(t.href=s.serialize(),t.origin=s.getOrigin(),t.protocol=s.getProtocol(),t.username=s.getUsername(),t.password=s.getPassword(),t.host=s.getHost(),t.hostname=s.getHostname(),t.port=s.getPort(),t.pathname=s.getPathname(),t.search=s.getSearch(),t.searchParams=s.getSearchParams(),t.hash=s.getHash())},te=Vr.prototype,Ee=function(r,e){return{get:function(){return sd(this)[r]()},set:e&&function(t){return sd(this)[e](t)},configurable:!0,enumerable:!0}};bc&&(we(te,"href",Ee("serialize","setHref")),we(te,"origin",Ee("getOrigin")),we(te,"protocol",Ee("getProtocol","setProtocol")),we(te,"username",Ee("getUsername","setUsername")),we(te,"password",Ee("getPassword","setPassword")),we(te,"host",Ee("getHost","setHost")),we(te,"hostname",Ee("getHostname","setHostname")),we(te,"port",Ee("getPort","setPort")),we(te,"pathname",Ee("getPathname","setPathname")),we(te,"search",Ee("getSearch","setSearch")),we(te,"searchParams",Ee("getSearchParams")),we(te,"hash",Ee("getHash","setHash")));nd(te,"toJSON",function(){return sd(this).serialize()},{enumerable:!0});nd(te,"toString",function(){return sd(this).serialize()},{enumerable:!0});Gn&&(gc=Gn.createObjectURL,fc=Gn.revokeObjectURL,gc&&nd(Vr,"createObjectURL",dv(gc,Gn)),fc&&nd(Vr,"revokeObjectURL",dv(fc,Gn)));var gc,fc;Kx(Vr,"URL");Gx({global:!0,constructor:!0,forced:!zx,sham:!bc},{URL:Vr})});var xv=h(()=>{wv()});var Ev=h(()=>{"use strict";var k0=Un(),P0=We();k0({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return P0(URL.prototype.toString,this)}})});var Tv=h(()=>{ic()});var Ov=h((LM,Rv)=>{var S0=me();Rv.exports=S0});var Mv=h((DM,Fv)=>{xv();Ev();Tv();var C0=Ov();Fv.exports=C0.URL});var Kc=h((QL,Dy)=>{var ME=Object.prototype.toString;Dy.exports=function(e){if(e===void 0)return"undefined";if(e===null)return"null";var t=typeof e;if(t==="boolean")return"boolean";if(t==="string")return"string";if(t==="number")return"number";if(t==="symbol")return"symbol";if(t==="function")return _E(e)?"generatorfunction":"function";if(UE(e))return"array";if(HE(e))return"buffer";if(qE(e))return"arguments";if(LE(e))return"date";if(BE(e))return"error";if(DE(e))return"regexp";switch(Ly(e)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(NE(e))return"generator";switch(t=ME.call(e),t){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return t.slice(8,-1).toLowerCase().replace(/\s/g,"")};function Ly(r){return typeof r.constructor=="function"?r.constructor.name:null}function UE(r){return Array.isArray?Array.isArray(r):r instanceof Array}function BE(r){return r instanceof Error||typeof r.message=="string"&&r.constructor&&typeof r.constructor.stackTraceLimit=="number"}function LE(r){return r instanceof Date?!0:typeof r.toDateString=="function"&&typeof r.getDate=="function"&&typeof r.setDate=="function"}function DE(r){return r instanceof RegExp?!0:typeof r.flags=="string"&&typeof r.ignoreCase=="boolean"&&typeof r.multiline=="boolean"&&typeof r.global=="boolean"}function _E(r,e){return Ly(r)==="GeneratorFunction"}function NE(r){return typeof r.throw=="function"&&typeof r.return=="function"&&typeof r.next=="function"}function qE(r){try{if(typeof r.length=="number"&&typeof r.callee=="function")return!0}catch(e){if(e.message.indexOf("callee")!==-1)return!0}return!1}function HE(r){return r.constructor&&typeof r.constructor.isBuffer=="function"?r.constructor.isBuffer(r):!1}});var qy=h((eD,Ny)=>{"use strict";var _y=Symbol.prototype.valueOf,jE=Kc();function WE(r,e){switch(jE(r)){case"array":return r.slice();case"object":return Object.assign({},r);case"date":return new r.constructor(Number(r));case"map":return new Map(r);case"set":return new Set(r);case"buffer":return JE(r);case"symbol":return $E(r);case"arraybuffer":return zE(r);case"float32array":case"float64array":case"int16array":case"int32array":case"int8array":case"uint16array":case"uint32array":case"uint8clampedarray":case"uint8array":return VE(r);case"regexp":return GE(r);case"error":return Object.create(r);default:return r}}function GE(r){let e=r.flags!==void 0?r.flags:/\w+$/.exec(r)||void 0,t=new r.constructor(r.source,e);return t.lastIndex=r.lastIndex,t}function zE(r){let e=new r.constructor(r.byteLength);return new Uint8Array(e).set(new Uint8Array(r)),e}function VE(r,e){return new r.constructor(r.buffer,r.byteOffset,r.length)}function JE(r){let e=r.length,t=Buffer.allocUnsafe?Buffer.allocUnsafe(e):Buffer.from(e);return r.copy(t),t}function $E(r){return _y?Object(_y.call(r)):{}}Ny.exports=WE});var jy=h((tD,Hy)=>{"use strict";Hy.exports=function(e){return e!=null&&typeof e=="object"&&Array.isArray(e)===!1}});var zy=h((rD,Gy)=>{"use strict";var KE=jy();function Wy(r){return KE(r)===!0&&Object.prototype.toString.call(r)==="[object Object]"}Gy.exports=function(e){var t,i;return!(Wy(e)===!1||(t=e.constructor,typeof t!="function")||(i=t.prototype,Wy(i)===!1)||i.hasOwnProperty("isPrototypeOf")===!1)}});var Jy=h((iD,Vy)=>{"use strict";var XE=qy(),ZE=Kc(),YE=zy();function Xc(r,e){switch(ZE(r)){case"object":return QE(r,e);case"array":return eT(r,e);default:return XE(r)}}function QE(r,e){if(typeof e=="function")return e(r);if(e||YE(r)){let t=new r.constructor;for(let i in r)t[i]=Xc(r[i],e);return t}return r}function eT(r,e){let t=new r.constructor(r.length);for(let i=0;i<r.length;i++)t[i]=Xc(r[i],e);return t}Vy.exports=Xc});var jd=h((ls,pi)=>{var tT=200,am="__lodash_hash_undefined__",_d=1,sb=2,ob=9007199254740991,Od="[object Arguments]",em="[object Array]",rT="[object AsyncFunction]",ab="[object Boolean]",db="[object Date]",lb="[object Error]",ub="[object Function]",iT="[object GeneratorFunction]",Fd="[object Map]",cb="[object Number]",nT="[object Null]",mi="[object Object]",$y="[object Promise]",sT="[object Proxy]",mb="[object RegExp]",Md="[object Set]",pb="[object String]",oT="[object Symbol]",aT="[object Undefined]",tm="[object WeakMap]",gb="[object ArrayBuffer]",Ud="[object DataView]",dT="[object Float32Array]",lT="[object Float64Array]",uT="[object Int8Array]",cT="[object Int16Array]",mT="[object Int32Array]",pT="[object Uint8Array]",gT="[object Uint8ClampedArray]",fT="[object Uint16Array]",hT="[object Uint32Array]",vT=/[\\^$.*+?()[\]{}|]/g,yT=/^\[object .+?Constructor\]$/,bT=/^(?:0|[1-9]\d*)$/,H={};H[dT]=H[lT]=H[uT]=H[cT]=H[mT]=H[pT]=H[gT]=H[fT]=H[hT]=!0;H[Od]=H[em]=H[gb]=H[ab]=H[Ud]=H[db]=H[lb]=H[ub]=H[Fd]=H[cb]=H[mi]=H[mb]=H[Md]=H[pb]=H[tm]=!1;var fb=typeof global=="object"&&global&&global.Object===Object&&global,kT=typeof self=="object"&&self&&self.Object===Object&&self,ct=fb||kT||Function("return this")(),hb=typeof ls=="object"&&ls&&!ls.nodeType&&ls,Ky=hb&&typeof pi=="object"&&pi&&!pi.nodeType&&pi,vb=Ky&&Ky.exports===hb,Zc=vb&&fb.process,Xy=function(){try{return Zc&&Zc.binding&&Zc.binding("util")}catch{}}(),Zy=Xy&&Xy.isTypedArray;function PT(r,e){for(var t=-1,i=r==null?0:r.length,s=0,o=[];++t<i;){var a=r[t];e(a,t,r)&&(o[s++]=a)}return o}function ST(r,e){for(var t=-1,i=e.length,s=r.length;++t<i;)r[s+t]=e[t];return r}function CT(r,e){for(var t=-1,i=r==null?0:r.length;++t<i;)if(e(r[t],t,r))return!0;return!1}function IT(r,e){for(var t=-1,i=Array(r);++t<r;)i[t]=e(t);return i}function AT(r){return function(e){return r(e)}}function wT(r,e){return r.has(e)}function xT(r,e){return r?.[e]}function ET(r){var e=-1,t=Array(r.size);return r.forEach(function(i,s){t[++e]=[s,i]}),t}function TT(r,e){return function(t){return r(e(t))}}function RT(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}var OT=Array.prototype,FT=Function.prototype,Nd=Object.prototype,Yc=ct["__core-js_shared__"],yb=FT.toString,et=Nd.hasOwnProperty,Yy=function(){var r=/[^.]+$/.exec(Yc&&Yc.keys&&Yc.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}(),bb=Nd.toString,MT=RegExp("^"+yb.call(et).replace(vT,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Qy=vb?ct.Buffer:void 0,Bd=ct.Symbol,eb=ct.Uint8Array,kb=Nd.propertyIsEnumerable,UT=OT.splice,ur=Bd?Bd.toStringTag:void 0,tb=Object.getOwnPropertySymbols,BT=Qy?Qy.isBuffer:void 0,LT=TT(Object.keys,Object),rm=gi(ct,"DataView"),us=gi(ct,"Map"),im=gi(ct,"Promise"),nm=gi(ct,"Set"),sm=gi(ct,"WeakMap"),cs=gi(Object,"create"),DT=pr(rm),_T=pr(us),NT=pr(im),qT=pr(nm),HT=pr(sm),rb=Bd?Bd.prototype:void 0,Qc=rb?rb.valueOf:void 0;function cr(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}function jT(){this.__data__=cs?cs(null):{},this.size=0}function WT(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}function GT(r){var e=this.__data__;if(cs){var t=e[r];return t===am?void 0:t}return et.call(e,r)?e[r]:void 0}function zT(r){var e=this.__data__;return cs?e[r]!==void 0:et.call(e,r)}function VT(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=cs&&e===void 0?am:e,this}cr.prototype.clear=jT;cr.prototype.delete=WT;cr.prototype.get=GT;cr.prototype.has=zT;cr.prototype.set=VT;function mt(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}function JT(){this.__data__=[],this.size=0}function $T(r){var e=this.__data__,t=qd(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():UT.call(e,t,1),--this.size,!0}function KT(r){var e=this.__data__,t=qd(e,r);return t<0?void 0:e[t][1]}function XT(r){return qd(this.__data__,r)>-1}function ZT(r,e){var t=this.__data__,i=qd(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}mt.prototype.clear=JT;mt.prototype.delete=$T;mt.prototype.get=KT;mt.prototype.has=XT;mt.prototype.set=ZT;function mr(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}function YT(){this.size=0,this.__data__={hash:new cr,map:new(us||mt),string:new cr}}function QT(r){var e=Hd(this,r).delete(r);return this.size-=e?1:0,e}function eR(r){return Hd(this,r).get(r)}function tR(r){return Hd(this,r).has(r)}function rR(r,e){var t=Hd(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}mr.prototype.clear=YT;mr.prototype.delete=QT;mr.prototype.get=eR;mr.prototype.has=tR;mr.prototype.set=rR;function Ld(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new mr;++e<t;)this.add(r[e])}function iR(r){return this.__data__.set(r,am),this}function nR(r){return this.__data__.has(r)}Ld.prototype.add=Ld.prototype.push=iR;Ld.prototype.has=nR;function Ot(r){var e=this.__data__=new mt(r);this.size=e.size}function sR(){this.__data__=new mt,this.size=0}function oR(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}function aR(r){return this.__data__.get(r)}function dR(r){return this.__data__.has(r)}function lR(r,e){var t=this.__data__;if(t instanceof mt){var i=t.__data__;if(!us||i.length<tT-1)return i.push([r,e]),this.size=++t.size,this;t=this.__data__=new mr(i)}return t.set(r,e),this.size=t.size,this}Ot.prototype.clear=sR;Ot.prototype.delete=oR;Ot.prototype.get=aR;Ot.prototype.has=dR;Ot.prototype.set=lR;function uR(r,e){var t=Dd(r),i=!t&&AR(r),s=!t&&!i&&om(r),o=!t&&!i&&!s&&xb(r),a=t||i||s||o,c=a?IT(r.length,String):[],p=c.length;for(var g in r)(e||et.call(r,g))&&!(a&&(g=="length"||s&&(g=="offset"||g=="parent")||o&&(g=="buffer"||g=="byteLength"||g=="byteOffset")||kR(g,p)))&&c.push(g);return c}function qd(r,e){for(var t=r.length;t--;)if(Cb(r[t][0],e))return t;return-1}function cR(r,e,t){var i=e(r);return Dd(r)?i:ST(i,t(r))}function ps(r){return r==null?r===void 0?aT:nT:ur&&ur in Object(r)?yR(r):IR(r)}function ib(r){return ms(r)&&ps(r)==Od}function Pb(r,e,t,i,s){return r===e?!0:r==null||e==null||!ms(r)&&!ms(e)?r!==r&&e!==e:mR(r,e,t,i,Pb,s)}function mR(r,e,t,i,s,o){var a=Dd(r),c=Dd(e),p=a?em:Rt(r),g=c?em:Rt(e);p=p==Od?mi:p,g=g==Od?mi:g;var v=p==mi,m=g==mi,y=p==g;if(y&&om(r)){if(!om(e))return!1;a=!0,v=!1}if(y&&!v)return o||(o=new Ot),a||xb(r)?Sb(r,e,t,i,s,o):hR(r,e,p,t,i,s,o);if(!(t&_d)){var k=v&&et.call(r,"__wrapped__"),C=m&&et.call(e,"__wrapped__");if(k||C){var I=k?r.value():r,w=C?e.value():e;return o||(o=new Ot),s(I,w,t,i,o)}}return y?(o||(o=new Ot),vR(r,e,t,i,s,o)):!1}function pR(r){if(!wb(r)||SR(r))return!1;var e=Ib(r)?MT:yT;return e.test(pr(r))}function gR(r){return ms(r)&&Ab(r.length)&&!!H[ps(r)]}function fR(r){if(!CR(r))return LT(r);var e=[];for(var t in Object(r))et.call(r,t)&&t!="constructor"&&e.push(t);return e}function Sb(r,e,t,i,s,o){var a=t&_d,c=r.length,p=e.length;if(c!=p&&!(a&&p>c))return!1;var g=o.get(r);if(g&&o.get(e))return g==e;var v=-1,m=!0,y=t&sb?new Ld:void 0;for(o.set(r,e),o.set(e,r);++v<c;){var k=r[v],C=e[v];if(i)var I=a?i(C,k,v,e,r,o):i(k,C,v,r,e,o);if(I!==void 0){if(I)continue;m=!1;break}if(y){if(!CT(e,function(w,U){if(!wT(y,U)&&(k===w||s(k,w,t,i,o)))return y.push(U)})){m=!1;break}}else if(!(k===C||s(k,C,t,i,o))){m=!1;break}}return o.delete(r),o.delete(e),m}function hR(r,e,t,i,s,o,a){switch(t){case Ud:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case gb:return!(r.byteLength!=e.byteLength||!o(new eb(r),new eb(e)));case ab:case db:case cb:return Cb(+r,+e);case lb:return r.name==e.name&&r.message==e.message;case mb:case pb:return r==e+"";case Fd:var c=ET;case Md:var p=i&_d;if(c||(c=RT),r.size!=e.size&&!p)return!1;var g=a.get(r);if(g)return g==e;i|=sb,a.set(r,e);var v=Sb(c(r),c(e),i,s,o,a);return a.delete(r),v;case oT:if(Qc)return Qc.call(r)==Qc.call(e)}return!1}function vR(r,e,t,i,s,o){var a=t&_d,c=nb(r),p=c.length,g=nb(e),v=g.length;if(p!=v&&!a)return!1;for(var m=p;m--;){var y=c[m];if(!(a?y in e:et.call(e,y)))return!1}var k=o.get(r);if(k&&o.get(e))return k==e;var C=!0;o.set(r,e),o.set(e,r);for(var I=a;++m<p;){y=c[m];var w=r[y],U=e[y];if(i)var ce=a?i(U,w,y,e,r,o):i(w,U,y,r,e,o);if(!(ce===void 0?w===U||s(w,U,t,i,o):ce)){C=!1;break}I||(I=y=="constructor")}if(C&&!I){var xn=r.constructor,ya=e.constructor;xn!=ya&&"constructor"in r&&"constructor"in e&&!(typeof xn=="function"&&xn instanceof xn&&typeof ya=="function"&&ya instanceof ya)&&(C=!1)}return o.delete(r),o.delete(e),C}function nb(r){return cR(r,ER,bR)}function Hd(r,e){var t=r.__data__;return PR(e)?t[typeof e=="string"?"string":"hash"]:t.map}function gi(r,e){var t=xT(r,e);return pR(t)?t:void 0}function yR(r){var e=et.call(r,ur),t=r[ur];try{r[ur]=void 0;var i=!0}catch{}var s=bb.call(r);return i&&(e?r[ur]=t:delete r[ur]),s}var bR=tb?function(r){return r==null?[]:(r=Object(r),PT(tb(r),function(e){return kb.call(r,e)}))}:TR,Rt=ps;(rm&&Rt(new rm(new ArrayBuffer(1)))!=Ud||us&&Rt(new us)!=Fd||im&&Rt(im.resolve())!=$y||nm&&Rt(new nm)!=Md||sm&&Rt(new sm)!=tm)&&(Rt=function(r){var e=ps(r),t=e==mi?r.constructor:void 0,i=t?pr(t):"";if(i)switch(i){case DT:return Ud;case _T:return Fd;case NT:return $y;case qT:return Md;case HT:return tm}return e});function kR(r,e){return e=e??ob,!!e&&(typeof r=="number"||bT.test(r))&&r>-1&&r%1==0&&r<e}function PR(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}function SR(r){return!!Yy&&Yy in r}function CR(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||Nd;return r===t}function IR(r){return bb.call(r)}function pr(r){if(r!=null){try{return yb.call(r)}catch{}try{return r+""}catch{}}return""}function Cb(r,e){return r===e||r!==r&&e!==e}var AR=ib(function(){return arguments}())?ib:function(r){return ms(r)&&et.call(r,"callee")&&!kb.call(r,"callee")},Dd=Array.isArray;function wR(r){return r!=null&&Ab(r.length)&&!Ib(r)}var om=BT||RR;function xR(r,e){return Pb(r,e)}function Ib(r){if(!wb(r))return!1;var e=ps(r);return e==ub||e==iT||e==rT||e==sT}function Ab(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=ob}function wb(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}function ms(r){return r!=null&&typeof r=="object"}var xb=Zy?AT(Zy):gR;function ER(r){return wR(r)?uR(r):fR(r)}function TR(){return[]}function RR(){return!1}pi.exports=xR});var $k=h(nl=>{"use strict";nl.byteLength=QR;nl.toByteArray=tO;nl.fromByteArray=nO;var tt=[],Ne=[],YR=typeof Uint8Array<"u"?Uint8Array:Array,Rm="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Ir=0,Vk=Rm.length;Ir<Vk;++Ir)tt[Ir]=Rm[Ir],Ne[Rm.charCodeAt(Ir)]=Ir;var Ir,Vk;Ne["-".charCodeAt(0)]=62;Ne["_".charCodeAt(0)]=63;function Jk(r){var e=r.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=r.indexOf("=");t===-1&&(t=e);var i=t===e?0:4-t%4;return[t,i]}function QR(r){var e=Jk(r),t=e[0],i=e[1];return(t+i)*3/4-i}function eO(r,e,t){return(e+t)*3/4-t}function tO(r){var e,t=Jk(r),i=t[0],s=t[1],o=new YR(eO(r,i,s)),a=0,c=s>0?i-4:i,p;for(p=0;p<c;p+=4)e=Ne[r.charCodeAt(p)]<<18|Ne[r.charCodeAt(p+1)]<<12|Ne[r.charCodeAt(p+2)]<<6|Ne[r.charCodeAt(p+3)],o[a++]=e>>16&255,o[a++]=e>>8&255,o[a++]=e&255;return s===2&&(e=Ne[r.charCodeAt(p)]<<2|Ne[r.charCodeAt(p+1)]>>4,o[a++]=e&255),s===1&&(e=Ne[r.charCodeAt(p)]<<10|Ne[r.charCodeAt(p+1)]<<4|Ne[r.charCodeAt(p+2)]>>2,o[a++]=e>>8&255,o[a++]=e&255),o}function rO(r){return tt[r>>18&63]+tt[r>>12&63]+tt[r>>6&63]+tt[r&63]}function iO(r,e,t){for(var i,s=[],o=e;o<t;o+=3)i=(r[o]<<16&16711680)+(r[o+1]<<8&65280)+(r[o+2]&255),s.push(rO(i));return s.join("")}function nO(r){for(var e,t=r.length,i=t%3,s=[],o=16383,a=0,c=t-i;a<c;a+=o)s.push(iO(r,a,a+o>c?c:a+o));return i===1?(e=r[t-1],s.push(tt[e>>2]+tt[e<<4&63]+"==")):i===2&&(e=(r[t-2]<<8)+r[t-1],s.push(tt[e>>10]+tt[e>>4&63]+tt[e<<2&63]+"=")),s.join("")}});var oH=Fr(Mv(),1);function f(r,e){if(r==null)throw Error(e??"Expected nonnullish value.")}function rr(r,e){if(!r)throw Error(e)}var re;(function(r){r.COMMENT="t1_",r.ACCOUNT="t2_",r.LINK="t3_",r.MESSAGE="t4_",r.SUBREDDIT="t5_",r.AWARD="t6_"})(re||(re={}));function Pt(r){return r.startsWith(re.COMMENT)}function dd(r){return r.startsWith(re.ACCOUNT)}function ir(r){return r.startsWith(re.LINK)}function Uv(r){return r.startsWith(re.MESSAGE)}function Bv(r){return r.startsWith(re.SUBREDDIT)}function Lv(r){return r.startsWith(re.AWARD)}function I0(r){rr(Pt(r),`Expected comment id to start with ${re.COMMENT}, got ${r}}`)}function A0(r){rr(dd(r),`Expected account id to start with ${re.ACCOUNT}, got ${r}}`)}function w0(r){rr(ir(r),`Expected link id to start with ${re.LINK}, got ${r}}`)}function x0(r){rr(Uv(r),`Expected message id to start with ${re.MESSAGE}, got ${r}}`)}function E0(r){rr(Bv(r),`Expected subreddit id to start with ${re.SUBREDDIT}, got ${r}}`)}function T0(r){rr(Lv(r),`Expected award id to start with ${re.AWARD}, got ${r}}`)}function Jr(r){return I0(r),r}function ie(r){return A0(r),r}function fe(r){return w0(r),r}function R0(r){return x0(r),r}function Oe(r){return E0(r),r}function O0(r){return T0(r),r}function he(r){if(Pt(r))return Jr(r);if(dd(r))return ie(r);if(ir(r))return fe(r);if(Uv(r))return R0(r);if(Bv(r))return Oe(r);if(Lv(r))return O0(r);throw new Error(`Expected thing id to start with ${Object.values(re).join(", ")} got ${r}}`)}function Cc(r){return Pt(r)}import*as S from"@devvit/protos";var ld=class{constructor(e){}};var Ic=(t=>(t.Installation="installation",t.App="app",t))(Ic||{});function nr(r,e=new Set){for(let t of r){if(t.type==="group"){nr(t.fields,e);continue}let i=t.name;if(e.has(i))throw new Error(`Duplicate field name: ${i}`);e.add(i)}F0(r)}function F0(r){for(let e of r)if(e.type==="string"&&e.isSecret&&e.scope!=="app")throw`Invalid setting: only app settings can be secrets. Add "scope: SettingScope.App" to field "${e.name}"`}var St=Object.freeze({INTERVAL:0,FORM:1,STATE:2,CHANNEL:3});var JM=["activity","add-emoji","add","add-media","add-to-feed","admin","align-center","align-left","align-right","all","appearance","approve","archived","aspect-ratio","aspect-rectangle","attach","audio","author","avatar-style","award","back","ban","best","binoculars","block","blockchain","bold","bot","boost","bounce","brand-awareness","browse","browser","cake","calendar","camera","caret-down","caret-left","caret-right","caret-up","chat","chat-group","chat-new","checkbox-dismiss","checkbox","checkmark","chrome","clear","close","closed-captioning","code-block","code-inline","coins-color-old","coins-color","coins","collapse-left","collapse-right","collection","comment","comments","community","contest","controversial","crop","crosspost","crowd-control","custom-feed","customize","day","delete","discover","dismiss-all","distinguish","down-arrow","down","download","downvote","downvotes","drag","drugs","duplicate","edit","effect","embed","emoji","end-live-chat","error","expand-left","expand-right","external","feed-video","filter","format","forward","gif-post","heart","help","hide","history","home","hot","ignore-reports","image-post","inbox","info","invite","italic","join","joined","jump-down","jump-up","karma","keyboard","kick","language","leave","left","link","link-post","list-bulleted","list-numbered","live-chat","live","load","location","lock","logout","loop","mark-read","mask","media-gallery","meme","menu","message","mic","mic-mute","mod","mod-mail","mod-mode","mod-mute","mod-overflow","mod-queue","mod-unmute","music","new","night","notification","notification-frequent","notification-off","nsfw","nsfw-language","nsfw-violence","original","overflow-caret","overflow-horizontal","overflow-vertical","pause","payment","peace","pending-posts","phone","pin","planet","play","poll-post","popular","posts","powerup-color-outline","powerup-fill-color","powerup","predictions","premium","privacy","profile","qa","qr-code","quarantined","quote","r-slash","radio-button","raise-hand","random","ratings-everyone","ratings-mature","ratings-nsfw","ratings-violence","refresh","remove","reply","report","reverse","right","rising","rotate","rotate-image","rpan","rules","safari","save","saved","search","self","send","settings","share-android","share","share-ios","show","side-menu","skipback10","skipforward10","sort-az","sort","sort-price","sort-za","spam","spoiler","sponsored","star","statistics","status-live","sticker","strikethrough","subtract","superscript","swap-camera","swipe-back","swipe-down","swipe","swipe-up","table","tag","tap","telescope","text","text-post","text-size","toggle","tools","top","topic-activism","topic-addictionsupport","topic-advice","topic-animals","topic-anime","topic-art","topic-beauty","topic-business","topic-careers","topic-cars","topic-celebrity","topic-craftsdiy","topic-crypto","topic-culture","topic-diy","topic-entertainment","topic-ethics","topic-family","topic-fashion","topic","topic-fitness","topic-food","topic-funny","topic-gender","topic-health","topic-help","topic-history","topic-hobbies","topic-homegarden","topic-internet","topic-law","topic-learning","topic-lifestyle","topic-marketplace","topic-mature","topic-mensfashion","topic-menshealth","topic-meta","topic-military","topic-movies","topic-music","topic-news","topic-other","topic-outdoors","topic-pets","topic-photography","topic-places","topic-podcasts","topic-politics","topic-programming","topic-reading","topic-religion","topic-science","topic-sexorientation","topic-sports","topic-style","topic-tabletop","topic-technology","topic-television","topic-traumasupport","topic-travel","topic-videogaming","topic-womensfashion","topic-womenshealth","translate","trim","u-slash","unban","undo","unheart","unlock","unmod","unpin","unverified","up-arrow","up","upload","upvote","upvotes","user","user-note","users","vault","verified","video-camera","video-feed","video-live-1","video-live-fill-1","video-live","video-post","video-thread","video-transcription","view-card","view-classic","view-compact","view-grid","views","volume","volume-mute","wallet","warning","wiki-ban","wiki","wiki-unban","world"];import{AppSettingsDefinition as J0,GetFieldsResponse as $0}from"@devvit/protos";import{FormField as sr,FormFieldType as Fe}from"@devvit/protos";function dt(r){return r.map(e=>{switch(e.type){case"string":return M0(e);case"image":return U0(e);case"paragraph":return B0(e);case"number":return L0(e);case"select":return D0(e);case"boolean":return _0(e);case"group":return N0(e);default:throw new Error("Unknown field type.")}})}function M0(r){return sr.fromPartial({defaultValue:{fieldType:Fe.STRING,stringValue:r.defaultValue},disabled:r.disabled,fieldConfig:{stringConfig:{placeholder:r.placeholder}},fieldId:r.name,fieldType:Fe.STRING,helpText:r.helpText,label:r.label,required:r.required,isSecret:r.isSecret})}function U0(r){return sr.fromPartial({disabled:r.disabled,fieldId:r.name,fieldType:Fe.IMAGE,helpText:r.helpText,label:r.label,required:r.required})}function B0(r){return sr.fromPartial({defaultValue:{fieldType:Fe.PARAGRAPH,stringValue:r.defaultValue},disabled:r.disabled,fieldConfig:{paragraphConfig:{lineHeight:r.lineHeight,placeholder:r.placeholder}},fieldId:r.name,fieldType:Fe.PARAGRAPH,helpText:r.helpText,label:r.label,required:r.required})}function L0(r){return sr.fromPartial({defaultValue:{fieldType:Fe.NUMBER,numberValue:r.defaultValue},disabled:r.disabled,fieldConfig:{numberConfig:{}},fieldId:r.name,fieldType:Fe.NUMBER,helpText:r.helpText,label:r.label,required:r.required})}function D0(r){return sr.fromPartial({defaultValue:{fieldType:Fe.SELECTION,selectionValue:{values:r.defaultValue}},disabled:r.disabled,fieldConfig:{selectionConfig:{choices:r.options,multiSelect:r.multiSelect}},fieldId:r.name,fieldType:Fe.SELECTION,helpText:r.helpText,label:r.label,required:r.required})}function _0(r){return sr.fromPartial({defaultValue:{fieldType:Fe.BOOLEAN,boolValue:r.defaultValue},disabled:r.disabled,fieldId:r.name,fieldType:Fe.BOOLEAN,helpText:r.helpText,label:r.label})}function N0(r){return sr.fromPartial({fieldType:Fe.GROUP,fieldConfig:{groupConfig:{fields:dt(r.fields)}},label:r.label,helpText:r.helpText})}function M(r,e){u.prototype[r]=e}import{ValidateFormResponse as V0}from"@devvit/protos";import{RealtimeSubscriptionStatus as _v}from"@devvit/protos";var B=Object.freeze({Actor:"devvit-actor",App:"devvit-app",AppUser:"devvit-app-user",AppViewerAuthToken:"devvit-app-viewer-authorization",Caller:"devvit-caller",CallerPortID:"devvit-caller-port-id",Canary:"devvit-canary",Debug:"devvit-debug",GQLHost:"devvit-gql-host",Installation:"devvit-installation",ModPermissions:"devvit-mod-permissions",R2Auth:"devvit-sec-authorization",R2Host:"devvit-r2-host",RemoteHostname:"devvit-remote-hostname",SettingsUri:"devvit-sec-settings-uri",StreamID:"devvit-stream-id",Subreddit:"devvit-subreddit",TraceID:"devvit-trace-id",User:"devvit-user",Version:"devvit-version",Language:"devvit-accept-language",Timezone:"devvit-accept-timezone"}),Dv;(function(r){r.Blocks="blocks",r.EmitSnapshots="emitSnapshots",r.EmitState="emitState",r.Runtime="runtime",r.Surface="surface",r.UseAsync="useAsync",r.UseChannel="useChannel"})(Dv||(Dv={}));function Nv(r){function e(t){let i=r.currentHookIndex,s=r.getCurrentComponentState(),o=r.getPreviousComponentState(),a=r.metadata[B.App]?.values[0];f(a,"useChannel - app is missing from Context");let c=r.metadata[B.Installation]?.values[0];f(c,"useChannel - installation is missing from Context");async function p(I){let w=s[i].channel;if(s[i].active)if(s[i].connected)await r.realtime.send(w,I);else throw Error(`Failed to send to channel '${w}'; it is active but not yet connected`);else throw Error(`Cannot send a message over inactive channel: ${w}`)}function g(){if(!s[i].active){let I=s[i].channel;s[i].active=!0,r.addRealtimeChannel(I)}}function v(){if(s[i].active){let I=s[i].channel;s[i].active=!1,r.removeRealtimeChannel(I)}}function m(I){return async()=>{let w;switch(I.status){case _v.REALTIME_SUBSCRIBED:s[i].connected=!0,w=t.onSubscribed?.();break;case _v.REALTIME_UNSUBSCRIBED:s[i].connected=!1,w=t.onUnsubscribed?.();break;default:w=t.onMessage(I.event?.data??{});break}await w}}let y={channel:`${a}:${c}:${t.name}`,active:!1,connected:!1,preventCallback:!1,type:St.CHANNEL};i in s?y=s[i]:i in o&&(y=o[i]);let k=r.realtimeEvent;r.isInitialRender?y.active=!1:k&&y.active&&k.event.channel===y.channel&&(y.preventCallback||r.runHook(m(k)),r.rerenderIn(0)),s[i]=y,r.currentHookIndex++;let C=0;return y.active&&y.connected?C=2:y.active&&!y.connected?C=1:!y.active&&y.connected?C=3:!y.active&&!y.connected&&(C=4),{subscribe:g,unsubscribe:v,send:p,status:C}}return e}import{FormFieldType as $r}from"@devvit/protos";function Ac(r){switch(r.fieldType){case $r.STRING:return r.stringValue;case $r.IMAGE:return r.stringValue;case $r.PARAGRAPH:return r.stringValue;case $r.NUMBER:return r.numberValue;case $r.BOOLEAN:return r.boolValue;case $r.SELECTION:return r.selectionValue?.values??[];default:return}}function Ct(r){return Object.keys(r).reduce((e,t)=>(e[t]=Ac(r[t]),e),{})}function qv(r){function e(t,i){let s=r.currentHookIndex,o=r.getCurrentComponentKey(),a=r.getCurrentComponentState(),c=r.getPreviousComponentState(),p=`form.hook.${o}.${s}`,g={formKey:p,preventSubmit:!1,type:St.FORM};s in a?g=a[s]:s in c&&(g=c[s]),a[s]=g,r.forms.set(p,t);let v=r.formSubmittedEvent;return v&&!g.preventSubmit&&v.formId===p&&r.runHook(async()=>{let m=i(Ct(v.results));m&&m instanceof Promise&&await m,r.rerenderIn(0)}),a[s].preventSubmit=!1,r.currentHookIndex++,p}return e}function Hv(r){function e(t,i){let s=r.currentHookIndex,o=r.getCurrentComponentState(),a=r.getPreviousComponentState(),c=100,p=Math.max(c,i),g={lastRun:void 0,running:!1,preventCallback:!1,type:St.INTERVAL};s in o?g=o[s]:s in a&&(g=a[s]);function v(){i<c&&console.error(`useInterval delay must be at least ${c}ms. Your interval of ${i}ms was automatically extended.`);for(let[y,k]of Object.entries(o))if(y!==s.toString()&&k?.type===St.INTERVAL&&k?.running)throw new Error("Only one useInterval hook may be running at a time");o[s]={running:!0,lastRun:o[s]?.lastRun??Date.now(),preventCallback:!1,type:St.INTERVAL},r.rerenderIn(p)}function m(){o[s].running=!1,o[s].lastRun=void 0,o[s].preventCallback=!1}return r.isEffectRender&&g.running&&(g.preventCallback||(g.lastRun===void 0||g.lastRun+p<Date.now())&&r.runHook(async()=>{let y=t();y&&y instanceof Promise&&await y,g.lastRun=Date.now()}),r.rerenderIn(p)),g.preventCallback=!1,o[s]=g,r.currentHookIndex++,{start:v,stop:m}}return e}function jv(r){function e(t){let i=r.currentHookIndex,s=r.getCurrentComponentState(),o=r.getPreviousComponentState();if(i in s)return r.currentHookIndex++,[s[i],a];if(r.isInitialRender||!(i in o)){let c=t instanceof Function?t():t;if(c instanceof Promise)throw(async()=>{s[i]=await c,r.currentHookIndex=0})();s[i]=c}else s[i]=o[i];function a(c){if(r.isRendering)throw new Error("Cannot call setState while rendering.");s[i]=c instanceof Function?c(s[i]):c}return r.currentHookIndex++,[s[i],a]}return e}var It,ud,Wv,cd,Gv,Kr=class{constructor(){l(this,ud);l(this,cd);l(this,It,{});d(this,It,u.assets)}getURL(e){return typeof e=="string"?b(this,ud,Wv).call(this,e):b(this,cd,Gv).call(this,e)}};It=new WeakMap,ud=new WeakSet,Wv=function(e){let t=n(this,It)[e];if(t)return t;try{return new URL(e),e}catch{return""}},cd=new WeakSet,Gv=function(e){let t={},i=[];if(n(this,It))for(let s of e)n(this,It)[s]?t[s]=n(this,It)[s]:i.push(s);else i=e;if(i.length>0)throw new Error(`The following assets were missing from the assets list: ${i.join(", ")}`);return t};var At,Xr=class{constructor(e){l(this,At,void 0);d(this,At,e)}async get(e){let{messages:t}=await u.kvStorePlugin.Get({keys:[e]},n(this,At));try{if(t[e])return JSON.parse(t[e])}catch{return}}async put(e,t){let i={};i[e]=JSON.stringify(t),await u.kvStorePlugin.Put({messages:i},n(this,At))}async delete(e){await u.kvStorePlugin.Del({keys:[e]},n(this,At))}async list(){let{keys:e}=await u.kvStorePlugin.List({filter:"*"},n(this,At));return e}};At=new WeakMap;var Kn,Zr=class{constructor(e){l(this,Kn,void 0);d(this,Kn,e)}async upload(e){let t=await u.mediaPlugin.Upload(e,n(this,Kn));if(!t.mediaId)throw new Error("unable to get mediaId via uploads");return Promise.resolve({mediaId:t.mediaId,mediaUrl:t.mediaUrl})}};Kn=new WeakMap;var Xn,Yr=class{constructor(e){l(this,Xn,void 0);d(this,Xn,e)}async add(e){await u.modLogPlugin.Add(e,n(this,Xn))}};Xn=new WeakMap;var P,Zn,ei=class{constructor(e){l(this,P,void 0);l(this,Zn,void 0);d(this,P,e),d(this,Zn,new pd(e))}get modMail(){return n(this,Zn)}getSubredditById(e){return ve.getById(he(e),n(this,P))}getSubredditByName(e){return ve.getByName(e,n(this,P))}addSubredditRemovalReason(e,t){return ve.addRemovalReason(e,t.title,t.message,n(this,P))}getSubredditRemovalReasons(e){return ve.getRemovalReasons(e,n(this,P))}getCurrentSubreddit(){return ve.getFromMetadata(n(this,P))}getPostById(e){return V.getById(he(e),n(this,P))}submitPost(e){return V.submit(e,n(this,P))}crosspost(e){return V.crosspost(e,n(this,P))}getUserById(e){return A.getById(he(e),n(this,P))}getCollectionById(e){return Qr.getCollectionById({collectionId:e},n(this,P))}createCollection(e){return Qr.create(e,n(this,P))}getCollectionsForSubreddit(e){return Qr.getCollectionsForSubreddit({subredditId:e},n(this,P))}getUserByUsername(e){return A.getByUsername(e,n(this,P))}getCurrentUser(){return A.getFromMetadata(B.User,n(this,P))}getAppUser(){return A.getFromMetadata(B.AppUser,n(this,P))}getSnoovatarUrl(e){return A.getSnoovatarUrl(e,n(this,P))}getCommentById(e){return Z.getById(he(e),n(this,P))}getComments(e){return Z.getComments(e,n(this,P))}getCommentsByUser(e){return Z.getCommentsByUser(e,n(this,P))}submitComment(e){return Z.submit({...e,id:he(e.id)},n(this,P))}getControversialPosts(e){return V.getControversialPosts(e,n(this,P))}getTopPosts(e){return V.getTopPosts(e,n(this,P))}getHotPosts(e){return V.getHotPosts(e,n(this,P))}getNewPosts(e){return V.getNewPosts(e,n(this,P))}getRisingPosts(e){return V.getRisingPosts(e,n(this,P))}getPostsByUser(e){return V.getPostsByUser(e,n(this,P))}getCommentsAndPostsByUser(e){return A.getOverview(e,n(this,P))}getModerationLog(e){return md(e,n(this,P))}getApprovedUsers(e){return A.getSubredditUsersByType({type:"contributors",...e},n(this,P))}approveUser(e,t){return A.createRelationship({username:e,subredditName:t,type:"contributor"},n(this,P))}removeUser(e,t){return A.removeRelationship({username:e,subredditName:t,type:"contributor"},n(this,P))}getWikiContributors(e){return A.getSubredditUsersByType({type:"wikicontributors",...e},n(this,P))}addWikiContributor(e,t){return A.createRelationship({username:e,subredditName:t,type:"wikicontributor"},n(this,P))}removeWikiContributor(e,t){return A.removeRelationship({username:e,subredditName:t,type:"wikicontributor"},n(this,P))}getBannedUsers(e){return A.getSubredditUsersByType({type:"banned",...e},n(this,P))}banUser(e){return A.createRelationship({username:e.username,subredditName:e.subredditName,type:"banned",banReason:e.reason,banMessage:e.message,note:e.note,duration:e.duration},n(this,P))}unbanUser(e,t){return A.removeRelationship({username:e,subredditName:t,type:"banned"},n(this,P))}getBannedWikiContributors(e){return A.getSubredditUsersByType({type:"wikibanned",...e},n(this,P))}banWikiContributor(e){return A.createRelationship({...e,type:"wikibanned"},n(this,P))}unbanWikiContributor(e,t){return A.removeRelationship({username:e,subredditName:t,type:"wikibanned"},n(this,P))}getModerators(e){return A.getSubredditUsersByType({type:"moderators",...e},n(this,P))}inviteModerator(e){return A.createRelationship({type:"moderator_invite",subredditName:e.subredditName,username:e.subredditName,permissions:e.permissions??[]},n(this,P))}revokeModeratorInvite(e,t){return A.removeRelationship({username:e,subredditName:t,type:"moderator_invite"},n(this,P))}removeModerator(e,t){return A.removeRelationship({type:"moderator",subredditName:t,username:e},n(this,P))}setModeratorPermissions(e,t,i){return A.setModeratorPermissions(e,t,i,n(this,P))}getMutedUsers(e){return A.getSubredditUsersByType({type:"muted",...e},n(this,P))}muteUser(e){return A.createRelationship({...e,type:"muted"},n(this,P))}unmuteUser(e,t){return A.removeRelationship({username:e,subredditName:t,type:"muted"},n(this,P))}getModNotes(e){return Me.get(e,n(this,P))}deleteModNote(e){return Me.delete(e,n(this,P))}addModNote(e){let t={...e,redditId:e.redditId?he(e.redditId):void 0};return Me.add(t,n(this,P))}addRemovalNote(e){return Me.addRemovalNote(e,n(this,P))}async sendPrivateMessage(e){return or.send(e,n(this,P))}async sendPrivateMessageAsSubreddit(e){return or.sendAsSubreddit(e,n(this,P))}async approve(e){if(Pt(e))return Z.approve(e,n(this,P));if(ir(e))return V.approve(e,n(this,P));throw new Error("id must start with either t1_ or t3_")}async remove(e,t){if(Pt(e))return Z.remove(e,t,n(this,P));if(ir(e))return V.remove(e,t,n(this,P));throw new Error("id must start with either t1_ or t3_")}async getPostFlairTemplates(e){return de.getPostFlairTemplates(e,n(this,P))}async getUserFlairTemplates(e){return de.getUserFlairTemplates(e,n(this,P))}async createPostFlairTemplate(e){return de.createPostFlairTemplate(e,n(this,P))}async createUserFlairTemplate(e){return de.createUserFlairTemplate(e,n(this,P))}async editFlairTemplate(e){return de.editFlairTemplate(e,n(this,P))}async deleteFlairTemplate(e,t){return de.deleteFlairTemplate(e,t,n(this,P))}async setUserFlair(e){return Ue.setUserFlair(e,n(this,P))}async removeUserFlair(e,t){return Ue.removeUserFlair(e,t,n(this,P))}async setPostFlair(e){return Ue.setPostFlair(e,n(this,P))}async removePostFlair(e,t){return Ue.removePostFlair(e,fe(t),n(this,P))}async getWidgets(e){return ne.getWidgets(e,n(this,P))}async deleteWidget(e,t){return ne.delete(e,t,n(this,P))}async addWidget(e){return ne.add(e,n(this,P))}async reorderWidgets(e,t){return ne.reorder(e,t,n(this,P))}async getWikiPage(e,t){return ye.getPage(e,t,n(this,P))}async getWikiPages(e){return ye.getPages(e,n(this,P))}async createWikiPage(e){return ye.createPage(e,n(this,P))}async updateWikiPage(e){return ye.updatePage(e,n(this,P))}getWikiPageRevisions(e){return ye.getPageRevisions(e,n(this,P))}async revertWikiPage(e,t,i){return ye.revertPage(e,t,i,n(this,P))}async getWikiPageSettings(e,t){return ye.getPageSettings(e,t,n(this,P))}async updateWikiPageSettings(e){return ye.updatePageSettings(e,n(this,P))}async addEditorToWikiPage(e,t,i){return ye.addEditor(e,t,i,n(this,P))}async removeEditorFromWikiPage(e,t,i){return ye.removeEditor(e,t,i,n(this,P))}getMessages(e){return or.getMessages(e,n(this,P))}markAllMessagesAsRead(){return or.markAllAsRead(n(this,P))}report(e,t){return u.redditAPIPlugins.LinksAndComments.Report({reason:t.reason,thingId:e.id,srName:e.subredditName,usernames:e.authorName},n(this,P))}getModQueue(e){return ve.aboutLocation({...e,location:"modqueue"},n(this,P))}getReports(e){return ve.aboutLocation({...e,location:"reports"},n(this,P))}getSpam(e){return ve.aboutLocation({...e,location:"spam"},n(this,P))}getUnmoderated(e){return ve.aboutLocation({...e,location:"unmoderated"},n(this,P))}getEdited(e){return ve.aboutLocation({...e,location:"edited"},n(this,P))}getVaultByAddress(e){return Vv(e,n(this,P))}getVaultByUserId(e){return Jv(he(e),n(this,P))}};P=new WeakMap,Zn=new WeakMap;import{RedisKeyScope as wc}from"@devvit/protos";var T,R,O,xc=class{constructor(e,t,i){l(this,T,void 0);l(this,R,void 0);l(this,O,void 0);d(this,T,e),d(this,R,t),d(this,O,i)}async get(e){return await n(this,T).Get({key:e,transactionId:n(this,R)},n(this,O)),this}async multi(){await n(this,T).Multi(n(this,R),n(this,O))}async set(e,t,i){let s;return i?.expiration&&(s=Math.floor((i.expiration.getTime()-Date.now())/1e3),s<1&&(s=1)),await n(this,T).Set({key:e,value:t,nx:i?.nx===!0,xx:i?.xx===!0,expiration:s||0,transactionId:n(this,R)},n(this,O)),this}async del(...e){return await n(this,T).Del({keys:e,transactionId:n(this,R)},n(this,O)),this}async type(e){return await n(this,T).Type({key:e,transactionId:n(this,R)},n(this,O)),this}async exec(){let e=await n(this,T).Exec(n(this,R),n(this,O)),t=[];for(let i of e.response)i.members?t.push(i.members):i.nil!==void 0?t.push(null):i.num!==void 0?t.push(i.num):i.values!==void 0?t.push(i.values.values):i.str!==void 0&&t.push(i.str);return t}async discard(){await n(this,T).Discard(n(this,R),n(this,O))}async watch(...e){return await n(this,T).Watch({keys:e,transactionId:n(this,R)},n(this,O)),this}async unwatch(){return await n(this,T).Unwatch(n(this,R),n(this,O)),this}async getRange(e,t,i){return await n(this,T).GetRange({key:e,start:t,end:i,transactionId:n(this,R)},n(this,O)),this}async setRange(e,t,i){return await n(this,T).SetRange({key:e,offset:t,value:i,transactionId:n(this,R)},n(this,O)),this}async strlen(e){return this.strLen(e)}async strLen(e){return await n(this,T).Strlen({key:e,transactionId:n(this,R)},n(this,O)),this}async mget(e){return this.mGet(e)}async mGet(e){return await n(this,T).MGet({keys:e,transactionId:n(this,R)},n(this,O)),this}async mset(e){return this.mSet(e)}async mSet(e){let t=Object.entries(e).map(([i,s])=>({key:i,value:s}));return await n(this,T).MSet({kv:t,transactionId:n(this,R)},n(this,O)),this}async incrBy(e,t){return await n(this,T).IncrBy({key:e,value:t,transactionId:n(this,R)},n(this,O)),this}async expire(e,t){return await n(this,T).Expire({key:e,seconds:t,transactionId:n(this,R)},n(this,O)),this}async expireTime(e){return await n(this,T).ExpireTime({key:e,transactionId:n(this,R)},n(this,O)),this}async zAdd(e,...t){return await n(this,T).ZAdd({key:e,members:t,transactionId:n(this,R)},n(this,O)),this}async zScore(e,t){return await n(this,T).ZScore({key:{key:e,transactionId:n(this,R)},member:t},n(this,O)),this}async zRank(e,t){return await n(this,T).ZRank({key:{key:e,transactionId:n(this,R)},member:t},n(this,O)),this}async zIncrBy(e,t,i){return await n(this,T).ZIncrBy({key:e,member:t,value:i,transactionId:n(this,R)},n(this,O)),this}async zScan(e,t,i,s){let o={key:e,cursor:t,pattern:i,count:s,transactionId:n(this,R)};return await n(this,T).ZScan(o,n(this,O)),this}async zCard(e){return await n(this,T).ZCard({key:e,transactionId:n(this,R)},n(this,O)),this}async zRange(e,t,i,s){let o={rev:!1,byLex:!1,byScore:!1,offset:0,count:1e3};return s?.reverse&&(o.rev=s.reverse),s?.by==="lex"?o.byLex=!0:s?.by==="score"&&(o.byScore=!0),await n(this,T).ZRange({key:{key:e,transactionId:n(this,R)},start:t+"",stop:i+"",...o},n(this,O)),this}async zRem(e,t){return await n(this,T).ZRem({key:{key:e,transactionId:n(this,R)},members:t},n(this,O)),this}async zRemRangeByLex(e,t,i){return await n(this,T).ZRemRangeByLex({key:{key:e,transactionId:n(this,R)},min:t,max:i},n(this,O)),this}async zRemRangeByRank(e,t,i){return await n(this,T).ZRemRangeByRank({key:{key:e,transactionId:n(this,R)},start:t,stop:i},n(this,O)),this}async zRemRangeByScore(e,t,i){return await n(this,T).ZRemRangeByScore({key:{key:e,transactionId:n(this,R)},min:t,max:i},n(this,O)),this}async hgetall(e){return this.hGetAll(e)}async hGetAll(e){return await n(this,T).HGetAll({key:e,transactionId:n(this,R)},n(this,O)),this}async hget(e,t){return this.hGet(e,t)}async hGet(e,t){return await n(this,T).HGet({key:e,field:t,transactionId:n(this,R)},n(this,O)),this}async hset(e,t){return this.hSet(e,t)}async hSet(e,t){let i=Object.entries(t).map(([s,o])=>({field:s,value:o}));return await n(this,T).HSet({key:e,fv:i,transactionId:n(this,R)},n(this,O)),this}async hincrby(e,t,i){return this.hIncrBy(e,t,i)}async hIncrBy(e,t,i){return await n(this,T).HIncrBy({key:e,field:t,value:i,transactionId:n(this,R)},n(this,O)),this}async hdel(e,t){return this.hDel(e,t)}async hDel(e,t){return await n(this,T).HDel({key:e,fields:t,transactionId:n(this,R)},n(this,O)),this}async hscan(e,t,i,s){return this.hScan(e,t,i,s)}async hScan(e,t,i,s){let o={key:e,cursor:t,pattern:i,count:s,transactionId:n(this,R)};return await n(this,T).HScan(o,n(this,O)),this}async hkeys(e){return this.hKeys(e)}async hKeys(e){return await n(this,T).HKeys({key:e,transactionId:n(this,R)},n(this,O)),this}async hlen(e){return this.hLen(e)}async hLen(e){return await n(this,T).HLen({key:e,transactionId:n(this,R)},n(this,O)),this}};T=new WeakMap,R=new WeakMap,O=new WeakMap;var F,ti,Ec=class Ec{constructor(e,t=void 0,i=wc.INSTALLATION){l(this,F,void 0);l(this,ti,void 0);d(this,F,e),d(this,ti,t),this.scope=i,this.global=i===wc.INSTALLATION?new Ec(n(this,F),n(this,ti),wc.GLOBAL):this}get storage(){return n(this,ti)||u.redisPlugin}async watch(...e){let t=await this.storage.Watch({keys:e},n(this,F));return new xc(this.storage,t,n(this,F))}async get(e){let t=await this.storage.Get({key:e,scope:this.scope},n(this,F));return t!==null?t.value??void 0:t}async set(e,t,i){let s;return i?.expiration&&(s=Math.floor((i.expiration.getTime()-Date.now())/1e3),s<1&&(s=1)),(await this.storage.Set({key:e,value:t,nx:i?.nx===!0&&!i.xx,xx:i?.xx===!0&&!i.nx,expiration:s||0,scope:this.scope},n(this,F))).value}async del(...e){await this.storage.Del({keys:e,scope:this.scope},n(this,F))}async incrBy(e,t){return(await this.storage.IncrBy({key:e,value:t,scope:this.scope},n(this,F))).value}async getRange(e,t,i){let s=await this.storage.GetRange({key:e,start:t,end:i,scope:this.scope},n(this,F));return s!==null?s.value:s}async setRange(e,t,i){return(await this.storage.SetRange({key:e,offset:t,value:i,scope:this.scope},n(this,F))).value}async strlen(e){return this.strLen(e)}async strLen(e){return(await this.storage.Strlen({key:e,scope:this.scope},n(this,F))).value}async expire(e,t){await this.storage.Expire({key:e,seconds:t,scope:this.scope},n(this,F))}async expireTime(e){return(await this.storage.ExpireTime({key:e,scope:this.scope},n(this,F))).value}async zAdd(e,...t){return(await this.storage.ZAdd({key:e,members:t,scope:this.scope},n(this,F))).value}async zRange(e,t,i,s){let o={rev:!1,byLex:!1,byScore:!1,offset:0,count:1e3};return s?.reverse&&(o.rev=s.reverse),s?.by==="lex"?o.byLex=!0:s?.by==="score"?o.byScore=!0:(o.offset=0,o.count=0),(await this.storage.ZRange({key:{key:e},start:t+"",stop:i+"",...o,scope:this.scope},n(this,F))).members}async zRem(e,t){return(await this.storage.ZRem({key:{key:e},members:t,scope:this.scope},n(this,F))).value}async zRemRangeByLex(e,t,i){return(await this.storage.ZRemRangeByLex({key:{key:e},min:t,max:i,scope:this.scope},n(this,F))).value}async zRemRangeByRank(e,t,i){return(await this.storage.ZRemRangeByRank({key:{key:e},start:t,stop:i,scope:this.scope},n(this,F))).value}async zRemRangeByScore(e,t,i){return(await this.storage.ZRemRangeByScore({key:{key:e},min:t,max:i,scope:this.scope},n(this,F))).value}async zScore(e,t){let i=await this.storage.ZScore({key:{key:e},member:t,scope:this.scope},n(this,F));return i!==null?i.value:i}async zRank(e,t){let i=await this.storage.ZRank({key:{key:e},member:t,scope:this.scope},n(this,F));return i!==null?i.value:i}async zIncrBy(e,t,i){let s=await this.storage.ZIncrBy({key:e,member:t,value:i,scope:this.scope},n(this,F));return s!==null?s.value:s}async mget(e){return this.mGet(e)}async mGet(e){let t=await this.storage.MGet({keys:e,scope:this.scope},n(this,F));return t!==null?t.values.map(i=>i||null):t}async mset(e){return this.mSet(e)}async mSet(e){let t=Object.entries(e).map(([i,s])=>({key:i,value:s}));await this.storage.MSet({kv:t,scope:this.scope},n(this,F))}async zCard(e){let t=await this.storage.ZCard({key:e,scope:this.scope},n(this,F));return t!==null?t.value:t}async zScan(e,t,i,s){let o={key:e,cursor:t,pattern:i,count:s,scope:this.scope};return await this.storage.ZScan(o,n(this,F))}async type(e){let t=await this.storage.Type({key:e,scope:this.scope},n(this,F));return t!==null?t.value:t}async hget(e,t){return this.hGet(e,t)}async hGet(e,t){let i=await this.storage.HGet({key:e,field:t,scope:this.scope},n(this,F));return i!==null?i.value??void 0:i}async hset(e,t){return this.hSet(e,t)}async hSet(e,t){let i=Object.entries(t).map(([o,a])=>({field:o,value:a}));return(await this.storage.HSet({key:e,fv:i,scope:this.scope},n(this,F))).value}async hgetall(e){return this.hGetAll(e)}async hGetAll(e){let t=await this.storage.HGetAll({key:e,scope:this.scope},n(this,F));return t!==null?t.fieldValues:t}async hdel(e,t){return this.hDel(e,t)}async hDel(e,t){return(await this.storage.HDel({key:e,fields:t,scope:this.scope},n(this,F))).value}async hscan(e,t,i,s){return this.hScan(e,t,i,s)}async hScan(e,t,i,s){let o={key:e,cursor:t,pattern:i,count:s,scope:this.scope};return await this.storage.HScan(o,n(this,F))}async hkeys(e){return this.hKeys(e)}async hKeys(e){let t=await this.storage.HKeys({key:e,scope:this.scope},n(this,F));return t!==null?t.keys:t}async hincrby(e,t,i){return this.hIncrBy(e,t,i)}async hIncrBy(e,t,i){return(await this.storage.HIncrBy({key:e,field:t,value:i,scope:this.scope},n(this,F))).value}async hlen(e){return this.hLen(e)}async hLen(e){return(await this.storage.HLen({key:e,scope:this.scope})).value}};F=new WeakMap,ti=new WeakMap;var ri=Ec;var ar,ii=class{constructor(e){l(this,ar,void 0);d(this,ar,e)}async runJob(e){return(await u.schedulerPlugin.Schedule({action:{type:e.name,data:e.data},cron:"cron"in e?e.cron:void 0,when:"runAt"in e?e.runAt:void 0},n(this,ar))).id}async cancelJob(e){await u.schedulerPlugin.Cancel({id:e},n(this,ar))}async listJobs(){return(await u.schedulerPlugin.List({after:new Date(0),before:new Date(Date.now()+31536e7)},n(this,ar))).actions.map(t=>(f(t.request?.action,"Scheduled job is malformed"),"when"in t.request&&t.request.when!=null?{id:t.id,name:t.request.action.type,runAt:t.request.when,data:t.request.action.data}:{id:t.id,name:t.request.action.type,cron:t.request.cron??"",data:t.request.action}))}};ar=new WeakMap;var Yn,ni=class{constructor(e){l(this,Yn,void 0);d(this,Yn,e)}async get(e){return(await this.getAll())[e]}async getAll(){let t=await u.settingsPlugin.GetSettings({},n(this,Yn));if(!t.installationSettings)throw new Error("Could not get installation settings");if(!t.appSettings)throw new Error("Could not get app settings");return{...$v(t.installationSettings.settings,u.installationSettings),...$v(t.appSettings.settings,u.appSettings)}}};Yn=new WeakMap;function $v(r,e){let t=Object.keys(r).reduce((i,s)=>(i[s]=Ac(r[s]),i),{});return e&&Kv(t,e),t}function Kv(r,e){for(let t of e)t.type==="group"?Kv(r,t.fields):!(t.name in r)&&"defaultValue"in t&&(r[t.name]=t.defaultValue)}import{EffectType as Tc,Form as H0,ToastAppearance as Xv}from"@devvit/protos";var dr,si,gd=class{constructor(e){l(this,dr,[]);l(this,si,void 0);d(this,si,e)}showForm(e,t){let i=u.formDefinitions.get(e);if(!i&&n(this,si)){let a=n(this,si).forms.get(e);a&&(i={form:a,onSubmit:()=>{}})}if(!i)throw new Error("Form does not exist. Make sure you have added it using Devvit.createForm at the root of your app.");let s=i.form instanceof Function?i.form(t??{}):i.form,o=H0.fromPartial({id:e,title:s.title,acceptLabel:s.acceptLabel,cancelLabel:s.cancelLabel,shortDescription:s.description});nr(s.fields),o.fields=dt(s.fields),n(this,dr).push({type:Tc.EFFECT_SHOW_FORM,showForm:{form:o}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?Xv.SUCCESS:Xv.NEUTRAL}:t={text:e},n(this,dr).push({type:Tc.EFFECT_SHOW_TOAST,showToast:{toast:t}})}navigateTo(e){let t;typeof e=="string"?t=new URL(e).toString():t=new URL(e.permalink,"https://www.reddit.com").toString(),n(this,dr).push({type:Tc.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}get __effects(){return n(this,dr)}};dr=new WeakMap,si=new WeakMap;var Mc={now(){return new Date}};function Zv(r){return`__autocache__${r}`}function Yv(r){return`__lock__${r}`}var j0=300,W0=1e3,fd=5e3,Rc=3,Qv=.1,ey=1e3,G0=3e4;function ty(r){if(r.error)throw new Error(r.error);return r.value}var wt,xt,Be,oi,vd,ry,yd,iy,bd,ny,Qn,Oc,kd,sy,Pd,oy,es,Fc,Sd,ay,hd=class{constructor(e,t,i=Mc){l(this,vd);l(this,yd);l(this,bd);l(this,Qn);l(this,kd);l(this,Pd);l(this,es);l(this,Sd);l(this,wt,void 0);l(this,xt,{});l(this,Be,void 0);l(this,oi,void 0);d(this,wt,e),d(this,oi,t),d(this,Be,i)}async cache(e,t){d(this,xt,n(this,oi).__cache=n(this,oi).__cache??{}),b(this,Sd,ay).call(this,t);let i=b(this,vd,ry).call(this,t.key);if(i!==void 0)return i;let s=await b(this,es,Fc).call(this,t.key),o=await b(this,yd,iy).call(this,t,s,e);return ty(o)}};wt=new WeakMap,xt=new WeakMap,Be=new WeakMap,oi=new WeakMap,vd=new WeakSet,ry=function(e){let t=n(this,xt)[e];if(t){let i=n(this,Be).now().getTime(),s=t?.error&&t?.errorTime&&t.errorCount<Rc&&Math.random()<Qv&&t.errorTime+ey<i;if(t?.expires&&t.expires<i&&t.checkedAt+ey<i||s){delete n(this,xt)[e];return}else return ty(t)}},yd=new WeakSet,iy=async function(e,t,i){let s=t?.expires,o=s?b(this,Pd,oy).call(this,s):1;return!t||t?.error&&t.errorCount<Rc&&Qv>Math.random()||o>Math.random()?b(this,bd,ny).call(this,e,t,i):t},bd=new WeakSet,ny=async function(e,t,i){let s=Yv(e.key),o=n(this,Be).now().getTime(),a=new Date(o+e.ttl/2);if(await n(this,wt).set(s,"1",{expiration:a,nx:!0}))return b(this,kd,sy).call(this,e.key,t,i,e.ttl);if(t)return t;{let p=n(this,Be).now();return b(this,Qn,Oc).call(this,p,e.key,e.ttl)}},Qn=new WeakSet,Oc=async function(e,t,i){let s=Math.min(i,W0),o=await b(this,es,Fc).call(this,t);if(o)return o;if(n(this,Be).now().getTime()-e.getTime()>=s)throw new Error(`Cache request timed out trying to get data at key: ${t}`);return await new Promise(a=>setTimeout(a,j0)),b(this,Qn,Oc).call(this,e,t,i)},kd=new WeakSet,sy=async function(e,t,i,s){let o=n(this,Be).now().getTime()+s;t=t??{value:null,expires:o,errorCount:0,error:null,errorTime:null,checkedAt:0};try{t.value=await i(),t.error=null,t.errorCount=0,t.errorTime=null}catch(a){t.value=null,t.error=a.message??"Unknown error",t.errorTime=n(this,Be).now().getTime(),t.errorCount++}return n(this,xt)[e]=t,await n(this,wt).set(Zv(e),JSON.stringify(t),{expiration:new Date(o+G0)}),t.error&&t.errorCount<Rc&&await n(this,wt).del(Yv(e)),t},Pd=new WeakSet,oy=function(e){let t=n(this,Be).now().getTime(),i=e-t;return i<0?1:i<1e3?.1:i<2e3?.01:i<3e3?.001:0},es=new WeakSet,Fc=async function(e){let t=await n(this,wt).get(Zv(e));if(t){let i=JSON.parse(t);return i.checkedAt=n(this,Be).now().getTime(),n(this,xt)[e]=i,i}},Sd=new WeakSet,ay=function(e){e.ttl<fd&&(console.warn(`Cache TTL cannot be less than ${fd} milliseconds! Updating ttl value of ${e.ttl} to ${fd}.`),e.ttl=fd)};function dy(r,e,t=Mc){let i=new hd(r,e,t);return i.cache.bind(i)}var ts,ai=class{constructor(e){l(this,ts,void 0);d(this,ts,e)}async send(e,t){await u.realtimePlugin.Send({channel:e,data:t},n(this,ts))}};ts=new WeakMap;function Le({metadata:r,ui:e,hooks:t,reconciler:i}){let s=new Yr(r),o=new Xr(r),a=new ri(r),c=dy(a,i?i.state:{}),p=new ei(r),g=new ii(r),v=new ni(r),m=e?new gd(i):void 0,y=new Zr(r),k=new Kr,C=new ai(r),I=t&&i?jv(i):void 0,w=t&&i?Hv(i):void 0,U=t&&i?qv(i):void 0,ce=t&&i?Nv(i):void 0;return{modLog:s,kvStore:o,redis:a,reddit:p,scheduler:g,settings:v,media:y,assets:k,realtime:C,get useForm(){return U??(()=>{throw new Error("useForm() is unavailable")})},get cache(){return c??(()=>{throw new Error("cache() is unavailable")})},get useState(){return I??(()=>{throw new Error("useState() is unavailable")})},get useInterval(){return w??(()=>{throw new Error("useInterval() is unavailable")})},get useChannel(){return ce??(()=>{throw new Error("useChannel() is unavailable")})},get ui(){if(!m)throw new Error("ui client is not available");return m}}}function le(r,e,t){let i=r[B.Subreddit]?.values[0];f(i,"subreddit is missing from Context");let s=r[B.AppUser]?.values[0];f(s,"appAccountId is missing from Context");let o=r[B.User]?.values[0],a=z0(r);return{appAccountId:s,subredditId:i,userId:o,postId:e,commentId:t,debug:a,toJSON(){return{appAccountId:s,subredditId:i,userId:o,postId:e,commentId:t,debug:a}}}}function z0(r){let e={blocks:void 0,emitSnapshots:void 0,emitState:void 0,runtime:void 0,surface:void 0,useAsync:void 0,useChannel:void 0},t={};for(let s in e)t[s.toLowerCase()]=s;let i={metadata:r};for(let s of(r[B.Debug]?.values??[]).join().split(",")){let[o,a]=s.split("=");o&&(o=o.trim(),a=a?.trim(),o.toLowerCase()in t?o=t[o.toLowerCase()]:console.warn(`[api] unknown devvit-debug header "${o}"`),i[o]??(i[o]=a||`${!0}`),console.info(`[api] set devvit-debug ${o}=${i[o]}`))}return i}function ly(r){return r.flatMap(e=>e.type==="group"?ly(e.fields):e)}async function Cd(r,e,t){if(!e)throw new Error("Settings were not defined.");let i=V0.fromPartial({success:!0,errors:{}}),s=Ct(r.fieldValues),o=ly(e);return await Promise.all(o.map(async a=>{let c=a.name;if(c&&a.onValidate){let p=s[c],g=a.onValidate,v=Object.assign(Le({metadata:t}),le(t)),m=await g({value:p,isEditing:r.editing},v);m&&(i.success=!1,i.errors[c]=m)}})),i}async function K0(){if(!u.appSettings)throw new Error("App settings were not defined.");return $0.fromPartial({fields:{fields:dt(u.appSettings)}})}async function X0(r,e){return Cd(r,u.appSettings,e)}function uy(r){r.provides(J0),M("GetAppSettingsFields",K0),M("ValidateAppForm",X0)}import{CustomPostDefinition as tE}from"@devvit/protos";import{BlockRenderEventType as Vc,EffectType as wy}from"@devvit/protos";function di(r){return r.__effects}function cy(){let r=new Set;return e=>{let t=e,i=1;for(;r.has(t);)t=`${e}.${i++}`;return r.add(t),t}}import{BlockActionType as zc,BlockAnimationDirection as by,BlockAnimationLoopMode as ky,BlockAnimationType as Py,BlockAvatarBackground as Sy,BlockAvatarFacing as Cy,BlockAvatarSize as Et,BlockBorderWidth as Ad,BlockButtonAppearance as Tt,BlockButtonSize as Lc,BlockFullSnooSize as li,BlockGap as wd,BlockHorizontalAlignment as Dc,BlockIconSize as xd,BlockImageResizeMode as rs,BlockPadding as is,BlockRadius as ns,BlockSizeUnit as _c,BlockSpacerShape as Nc,BlockSpacerSize as Ed,BlockStackDirection as qc,BlockTextOutline as Hc,BlockTextOverflow as jc,BlockTextSize as ui,BlockTextStyle as Wc,BlockTextWeight as Iy,BlockType as De,BlockVerticalAlignment as Gc}from"@devvit/protos";var Uc={transparent:"transparent",black:"#000000",white:"#ffffff","coolgray-950":"#04090A","coolgray-900":"#0B1416","coolgray-850":"#0F1A1C","coolgray-800":"#131F23","coolgray-750":"#1A282D","coolgray-700":"#223237","coolgray-650":"#2A3C42","coolgray-600":"#33464C","coolgray-550":"#4B6066","coolgray-525":"#576F76","coolgray-500":"#667A80","coolgray-450":"#82959B","coolgray-400":"#A0B0B5","coolgray-350":"#B8C5C9","coolgray-300":"#D2DADD","coolgray-250":"#DAE0E3","coolgray-200":"#E2E7E9","coolgray-150":"#EAEDEF","coolgray-100":"#F2F4F5","coolgray-50":"#F9FAFA","puregray-950":"#080808","puregray-900":"#131313","puregray-850":"#181818","puregray-800":"#1E1E1E","puregray-750":"#272727","puregray-700":"#303030","puregray-650":"#393939","puregray-600":"#434343","puregray-550":"#5C5C5C","puregray-500":"#767676","puregray-450":"#919191","puregray-400":"#ACACAC","puregray-350":"#C3C3C3","puregray-300":"#D6D6D6","puregray-250":"#DDDDDD","puregray-200":"#E4E4E4","puregray-150":"#EBEBEB","puregray-100":"#F2F2F2","puregray-50":"#F8F8F8","orangered-950":"#190600","orangered-900":"#340E00","orangered-800":"#4F1500","orangered-700":"#721F00","orangered-600":"#962900","orangered-500":"#D93A00","orangered-400":"#FE7C53","orangered-300":"#FFBEA6","orangered-200":"#FFD5C6","orangered-100":"#FFEDE5","orangered-50":"#FFF6F3","red-950":"#1C0004","red-900":"#3A0008","red-800":"#58000C","red-700":"#7E0011","red-600":"#A50016","red-500":"#EB001F","red-400":"#FF6E80","red-300":"#FFADB8","red-200":"#FFCCD2","red-100":"#FFEAED","red-50":"#FFF6F7","sakurapink-950":"#1A0011","sakurapink-900":"#360024","sakurapink-800":"#530037","sakurapink-700":"#770051","sakurapink-600":"#9B006A","sakurapink-500":"#E00096","sakurapink-400":"#FF55BD","sakurapink-300":"#FFA5E3","sakurapink-200":"#FFC5EC","sakurapink-100":"#FFE5F9","sakurapink-50":"#FFF3FB","berrypurple-950":"#16001F","berrypurple-900":"#2E0041","berrypurple-800":"#470062","berrypurple-700":"#66008C","berrypurple-600":"#8700B5","berrypurple-500":"#BC0EFF","berrypurple-400":"#D55EFF","berrypurple-300":"#EEA7FF","berrypurple-200":"#F2C8FF","berrypurple-100":"#FBE6FF","berrypurple-50":"#FCF4FF","periwinkle-950":"#0D0B1F","periwinkle-900":"#1A1741","periwinkle-800":"#272262","periwinkle-700":"#372F8C","periwinkle-600":"#453BB5","periwinkle-500":"#6A5CFF","periwinkle-400":"#988EFF","periwinkle-300":"#C3BDFF","periwinkle-200":"#D8D4FF","periwinkle-100":"#ECEAFF","periwinkle-50":"#F7F6FF","alienblue-950":"#000C1D","alienblue-900":"#00183D","alienblue-800":"#00255D","alienblue-700":"#003584","alienblue-600":"#0045AC","alienblue-500":"#1870F4","alienblue-400":"#629FFF","alienblue-300":"#A7CCFF","alienblue-200":"#C6DCFF","alienblue-100":"#E4EFFF","alienblue-50":"#F3F7FF","lightblue-950":"#000D12","lightblue-900":"#001C26","lightblue-800":"#002A3A","lightblue-700":"#003F56","lightblue-600":"#005472","lightblue-500":"#007FAE","lightblue-400":"#47B0DB","lightblue-300":"#95DCFB","lightblue-200":"#B6E9FF","lightblue-100":"#D9F6FF","lightblue-50":"#ECFAFF","mintgreen-950":"#00100E","mintgreen-900":"#001E1B","mintgreen-800":"#002E28","mintgreen-700":"#00443C","mintgreen-600":"#005A4F","mintgreen-500":"#008675","mintgreen-400":"#45B9AB","mintgreen-300":"#96E1D8","mintgreen-200":"#B7ECE5","mintgreen-100":"#DAF7F4","mintgreen-50":"#ECFBF9","kiwigreen-950":"#021000","kiwigreen-900":"#032200","kiwigreen-800":"#053200","kiwigreen-700":"#084A00","kiwigreen-600":"#0A6000","kiwigreen-500":"#0E8A00","kiwigreen-400":"#55BD46","kiwigreen-300":"#A3E398","kiwigreen-200":"#BFEEB8","kiwigreen-100":"#DFF8DB","kiwigreen-50":"#EEFCED","lime-950":"#0C0E00","lime-900":"#1A1F00","lime-800":"#282F00","lime-700":"#3A4501","lime-600":"#4D5A01","lime-500":"#6B7E01","lime-400":"#A1B33B","lime-300":"#CFDB83","lime-200":"#DFE8A6","lime-100":"#EFF4CC","lime-50":"#F7FAE5","yellow-950":"#100D01","yellow-900":"#251E02","yellow-800":"#382D03","yellow-700":"#504104","yellow-600":"#665505","yellow-500":"#8F7407","yellow-400":"#DBAF00","yellow-300":"#FADB61","yellow-200":"#FFE88F","yellow-100":"#FFF2BD","yellow-50":"#FFFAE5","yelloworange-950":"#150C00","yelloworange-900":"#2C1A00","yelloworange-800":"#432700","yelloworange-700":"#623A00","yelloworange-600":"#814C00","yelloworange-500":"#B06400","yelloworange-400":"#FF9C1A","yelloworange-300":"#FFCD7C","yelloworange-200":"#FFDDA8","yelloworange-100":"#FFF0D3","yelloworange-50":"#FFF7EA","poopbrown-950":"#110B04","poopbrown-900":"#29190A","poopbrown-800":"#3B2510","poopbrown-700":"#54371A","poopbrown-600":"#6E4924","poopbrown-500":"#9A6D3F","poopbrown-400":"#CAA075","poopbrown-300":"#EECCAA","poopbrown-200":"#F6DDC3","poopbrown-100":"#FEEEDD","poopbrown-50":"#FEF7EE",pizzaRed:{light:"#ef5350",dark:"#c62828"},"global-brand-orangered":{light:"#FF4500",dark:"#FF4500"},"global-focus":{light:"#47B0DB",dark:"#007FAE"},"interactive-content-disabled":{light:"#0000003f",dark:"#ffffff3f"},"interactive-background-disabled":{light:"#0000000c",dark:"#ffffff0c"},"interactive-pressed":{light:"#00000028",dark:"#ffffff28"},"neutral-content":{light:"#2A3C42",dark:"#B8C5C9"},"neutral-content-disabled":{light:"#D6D6D6",dark:"#303030"},"neutral-content-weak":{light:"#576F76",dark:"#82959B"},"neutral-content-strong":{light:"#0F1A1C",dark:"#F2F4F5"},"neutral-background":{light:"#ffffff",dark:"#0B1416"},"neutral-background-selected":{light:"#EAEDEF",dark:"#1A282D"},"neutral-background-weak":{light:"#F9FAFA",dark:"#04090A"},"neutral-background-medium":{light:"#F8F8F8",dark:"#131313"},"neutral-background-strong":{light:"#ffffff",dark:"#0F1A1C"},"neutral-background-hover":{light:"#F2F4F5",dark:"#131F23"},"neutral-border":{light:"#00000033",dark:"#ffffff33"},"neutral-border-medium":{light:"#0000007f",dark:"#ffffff7f"},"neutral-border-weak":{light:"#00000019",dark:"#ffffff19"},"neutral-border-strong":{light:"#0F1A1C",dark:"#F2F4F5"},primary:{light:"#0045AC",dark:"#629FFF"},"primary-hover":{light:"#003584",dark:"#A7CCFF"},"primary-visited":{light:"#8700B5",dark:"#D55EFF"},"primary-onBackground":{light:"#ffffff",dark:"#ffffff"},"primary-onBackground-selected":{light:"#ffffff",dark:"#000000"},"primary-background":{light:"#0045AC",dark:"#0045AC"},"primary-background-hover":{light:"#003584",dark:"#1870F4"},"primary-background-selected":{light:"#00255D",dark:"#629FFF"},secondary:{light:"#0F1A1C",dark:"#F2F4F5"},"secondary-hover":{light:"#000000",dark:"#ffffff"},"secondary-weak":{light:"#576F76",dark:"#82959B"},"secondary-onBackground":{light:"#000000",dark:"#ffffff"},"secondary-background":{light:"#EAEDEF",dark:"#1A282D"},"secondary-background-hover":{light:"#E2E7E9",dark:"#223237"},"secondary-background-selected":{light:"#D2DADD",dark:"#33464C"},"secondary-plain":{light:"#0F1A1C",dark:"#F2F4F5"},"secondary-plain-hover":{light:"#000000",dark:"#ffffff"},"danger-background":{light:"#EB001F",dark:"#A50016"},"danger-background-disabled":{light:"#FFCCD2",dark:"#3A0008"},"danger-background-hover":{light:"#A50016",dark:"#EB001F"},"danger-onBackground":{light:"#ffffff",dark:"#ffffff"},"danger-content":{light:"#A50016",dark:"#FF6E80"},"danger-content-hover":{light:"#7E0011",dark:"#FFADB8"},"danger-content-default":{light:"#ffffff",dark:"#ffffff"},"brand-background":{light:"#D93A00",dark:"#D93A00"},"brand-onBackground":{light:"#ffffff",dark:"#ffffff"},"brand-background-hover":{light:"#962900",dark:"#962900"},"media-background":{light:"#00000099",dark:"#00000099"},"media-onbackground":{light:"#ffffff",dark:"#ffffff"},"media-onbackground-weak":{light:"#E2E7E9",dark:"#E2E7E9"},"media-background-hover":{light:"#000000cc",dark:"#000000cc"},"media-onbackground-disabled":{light:"#ffffff3f",dark:"#ffffff3f"},"media-border-selected":{light:"#ffffff",dark:"#ffffff"},"media-background-selected":{light:"#000000cc",dark:"#000000cc"},"success-content":{light:"#0A6000",dark:"#55BD46"},"success-hover":{light:"#084A00",dark:"#A3E398"},"success-onBackground":{light:"#ffffff",dark:"#ffffff"},"success-background":{light:"#0E8A00",dark:"#0A6000"},"success-background-hover":{light:"#0A6000",dark:"#0E8A00"},"warning-content":{light:"#665505",dark:"#DBAF00"},"warning-content-hover":{light:"#504104",dark:"#FADB61"},"warning-onBackground":{light:"#000000",dark:"#000000"},"warning-background":{light:"#DBAF00",dark:"#DBAF00"},"warning-background-hover":{light:"#8F7407",dark:"#FADB61"},"upvote-content":{light:"#962900",dark:"#FE7C53"},"upvote-content-weak":{light:"#FF4500",dark:"#FF4500"},"upvote-disabled":{light:"#9629004c",dark:"#FE7C534c"},"upvote-onBackground":{light:"#ffffff",dark:"#ffffff"},"upvote-background":{light:"#D93A00",dark:"#D93A00"},"upvote-background-hover":{light:"#962900",dark:"#962900"},"upvote-background-disabled":{light:"#D93A004c",dark:"#D93A004c"},"downvote-content":{light:"#453BB5",dark:"#988EFF"},"downvote-content-weak":{light:"#6A5CFF",dark:"#6A5CFF"},"downvote-disabled":{light:"#453BB54c",dark:"#988EFF4c"},"downvote-onBackground":{light:"#ffffff",dark:"#ffffff"},"downvote-background":{light:"#6A5CFF",dark:"#453BB5"},"downvote-background-hover":{light:"#453BB5",dark:"#453BB5"},"downvote-background-disabled":{light:"#6A5CFF4c",dark:"#6A5CFF4c"},"brand-gradient-default":{light:"",dark:""},"brand-gradient-default-highlight":{light:"",dark:""},"brand-gradient-hover":{light:"",dark:""},"brand-gradient-hover-highlight":{light:"",dark:""},"brand-gradient-active":{light:"",dark:""},"brand-gradient-active-highlight":{light:"",dark:""},"gradient-media":{light:"",dark:""},"gradient-media-strong":{light:"",dark:""},"transparent-background-hover":{light:"#82959B19",dark:"#667A8019"},"global-black":{light:"#000000",dark:"#000000"},"global-white":{light:"#ffffff",dark:"#ffffff"},"global-orangered":{light:"#D93A00",dark:"#D93A00"},"global-alienblue":{light:"#1870F4",dark:"#1870F4"},"global-darkblue":{light:"#131F23",dark:"#131F23"},"tone-1":{light:"#131313",dark:"#F2F2F2"},"tone-2":{light:"#434343",dark:"#ACACAC"},"tone-3":{light:"#ACACAC",dark:"#434343"},"tone-4":{light:"#E4E4E4",dark:"#303030"},"tone-5":{light:"#F2F2F2",dark:"#1E1E1E"},"tone-6":{light:"#F8F8F8",dark:"#131313"},"tone-7":{light:"#ffffff",dark:"#080808"},"action-upvote":{light:"#D93A00",dark:"#D93A00"},"action-downvote":{light:"#6A5CFF",dark:"#6A5CFF"},"alert-caution":{light:"#8F7407",dark:"#8F7407"},"identity-admin":{light:"#D93A00",dark:"#D93A00"},"identity-moderator":{light:"#0E8A00",dark:"#0E8A00"},"identity-self":{light:"#008675",dark:"#008675"},"identity-coins":{light:"#DBAF00",dark:"#DBAF00"},"category-live":{light:"#D93A00",dark:"#D93A00"},"category-nsfw":{light:"#E00096",dark:"#E00096"},"category-spoiler":{light:"#131313",dark:"#F2F2F2"},"ui-canvas":{light:"#F2F2F2",dark:"#080808"},"ui-modalbackground":{light:"#ffffff",dark:"#0F1A1C"},"avatar-gradient":{light:"",dark:""},"opacity-highlight":{light:"",dark:""},"opacity-08":{light:"#13131314",dark:"#13131314"},"opacity-50":{light:"#0000007f",dark:"#F2F2F27f"},scrim:{light:"#00000099",dark:"#00000099"},"scrim-strong":{light:"#000000cc",dark:"#000000cc"},"scrim-gradient":{light:"",dark:""},online:{light:"#55BD46",dark:"#55BD46"},favorite:{light:"#8F7407",dark:"#DBAF00"}};var my={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",transparent:"#FFFFFF00",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},py=r=>!!r.match(/^(#[0-9a-fA-F]{3,8}).*/),gy=r=>r in Uc,Bc=r=>r in my,fy=r=>!!r.match(/^rgba?\(.*/),hy=r=>!!r.match(/^hsla?\(.*/),vy=(r,e="light")=>{if(Bc(r))return Id(r);let i=Uc[r];return typeof i=="string"?i:i[e]},Id=r=>my[r]??r,yy=r=>{let[e,t,i,s]=r.replace(/^rgba?\(|\s+|\)$/g,"").split(",");if(!e||!t||!i)return r;let a=[...[e,t,i].map(p=>parseFloat(p))];if(s){let p=parseFloat(s),g=Math.round(p*255);a.push(g)}return`#${a.map(p=>p.toString(16).padStart(2,"0")).join("")}`};var Ay="data-",Z0=new Set(["onPress","onMessage"]),Y0=new Map([["onPress",zc.ACTION_CLICK],["onMessage",zc.ACTION_WEBVIEW]]),ss,ci=class{constructor(e=()=>{}){l(this,ss,void 0);d(this,ss,e)}createBlocksElementOrThrow({type:e,props:t,children:i}){let s=this.createBlocksElement({type:e,props:t,children:i});if(!s)throw new Error(`Could not create block of type ${e}`);return s}createBlocksElement({type:e,props:t,children:i}){switch(e){case"blocks":return this.makeRoot(t,...i);case"hstack":return this.makeHStack(t,...i);case"vstack":return this.makeVStack(t,...i);case"zstack":return this.makeZStack(t,...i);case"text":return this.makeText(t,...i);case"button":return this.makeButton(t,...i);case"image":return this.makeImage(t);case"spacer":return this.makeSpacer(t);case"icon":return this.makeIcon(t);case"avatar":return this.makeAvatar(t);case"fullsnoo":return this.makeFullSnoo(t);case"animation":return this.makeAnimation(t);case"webview":return this.makeWebView(t);case"__fragment":throw new Error("root fragment is not supported - use 'blocks' instead")}}makeRootHeight(e){switch(e){case"regular":return 320;case"tall":return 512}}makeBlockPadding(e){switch(e){case"none":return is.PADDING_NONE;case"xsmall":return is.PADDING_XSMALL;case"small":return is.PADDING_SMALL;case"medium":return is.PADDING_MEDIUM;case"large":return is.PADDING_LARGE}}makeBlockRadius(e){switch(e){case"none":return ns.RADIUS_NONE;case"small":return ns.RADIUS_SMALL;case"medium":return ns.RADIUS_MEDIUM;case"large":return ns.RADIUS_LARGE;case"full":return ns.RADIUS_FULL}}makeBlockGap(e){switch(e){case"none":return wd.GAP_NONE;case"small":return wd.GAP_SMALL;case"medium":return wd.GAP_MEDIUM;case"large":return wd.GAP_LARGE}}makeBlockAlignment(e){if(e===void 0)return;let t,i;if(e.includes("top")?t=Gc.ALIGN_TOP:e.includes("middle")?t=Gc.ALIGN_MIDDLE:e.includes("bottom")&&(t=Gc.ALIGN_BOTTOM),e.includes("start")?i=Dc.ALIGN_START:e.includes("center")?i=Dc.ALIGN_CENTER:e.includes("end")&&(i=Dc.ALIGN_END),t!==void 0||i!==void 0)return{vertical:t,horizontal:i}}makeBlockBorder(e,t,i,s){if(!e&&!t)return;let o;switch(e){case"none":o=Ad.BORDER_WIDTH_NONE;break;case"thin":o=Ad.BORDER_WIDTH_THIN;break;case"thick":o=Ad.BORDER_WIDTH_THICK;break;default:o=Ad.BORDER_WIDTH_THIN;break}let a=t??"neutral-border-weak",c=this.getThemedColors(a,i,s);return{width:o,color:c?.light,colors:c}}makeBlockTextSize(e){switch(e){case"xsmall":return ui.TEXT_SIZE_XSMALL;case"small":return ui.TEXT_SIZE_SMALL;case"medium":return ui.TEXT_SIZE_MEDIUM;case"large":return ui.TEXT_SIZE_LARGE;case"xlarge":return ui.TEXT_SIZE_XLARGE;case"xxlarge":return ui.TEXT_SIZE_XXLARGE}}makeBlockTextStyle(e){switch(e){case"body":return Wc.TEXT_STYLE_BODY;case"metadata":return Wc.TEXT_STYLE_METADATA;case"heading":return Wc.TEXT_STYLE_HEADING}}makeBlockTextOutline(e){switch(e){case"none":return Hc.TEXT_OUTLINE_NONE;case"thin":return Hc.TEXT_OUTLINE_THIN;case"thick":return Hc.TEXT_OUTLINE_THICK}}makeBlockTextWeight(e){switch(e){case"regular":return Iy.TEXT_WEIGHT_REGULAR;case"bold":return Iy.TEXT_WEIGHT_BOLD}}makeBlockTextOverflow(e){switch(e){case"clip":return jc.TEXT_OVERFLOW_CLIP;case"ellipsis":return jc.TEXT_OVERFLOW_ELLIPSE}return jc.TEXT_OVERFLOW_ELLIPSE}makeBlockButtonAppearance(e){switch(e){case"secondary":return Tt.BUTTON_APPEARANCE_SECONDARY;case"primary":return Tt.BUTTON_APPEARANCE_PRIMARY;case"plain":return Tt.BUTTON_APPEARANCE_PLAIN;case"bordered":return Tt.BUTTON_APPEARANCE_BORDERED;case"media":return Tt.BUTTON_APPEARANCE_MEDIA;case"destructive":return Tt.BUTTON_APPEARANCE_DESTRUCTIVE;case"caution":return Tt.BUTTON_APPEARANCE_CAUTION;case"success":return Tt.BUTTON_APPEARANCE_SUCCESS}}makeBlockButtonSize(e){switch(e){case"small":return Lc.BUTTON_SIZE_SMALL;case"medium":return Lc.BUTTON_SIZE_MEDIUM;case"large":return Lc.BUTTON_SIZE_LARGE}}makeBlockImageResizeMode(e){switch(e){case"none":return rs.IMAGE_RESIZE_NONE;case"fit":return rs.IMAGE_RESIZE_FIT;case"fill":return rs.IMAGE_RESIZE_FILL;case"cover":return rs.IMAGE_RESIZE_COVER;case"scale-down":return rs.IMAGE_RESIZE_SCALE_DOWN}}makeBlockSpacerSize(e){switch(e){case"xsmall":return Ed.SPACER_XSMALL;case"small":return Ed.SPACER_SMALL;case"medium":return Ed.SPACER_MEDIUM;case"large":return Ed.SPACER_LARGE}}makeBlockSpacerShape(e){switch(e){case"invisible":return Nc.SPACER_INVISIBLE;case"thin":return Nc.SPACER_THIN;case"square":return Nc.SPACER_SQUARE}}makeBlockIconSize(e){switch(e){case"xsmall":return xd.ICON_SIZE_XSMALL;case"small":return xd.ICON_SIZE_SMALL;case"medium":return xd.ICON_SIZE_MEDIUM;case"large":return xd.ICON_SIZE_LARGE}}makeBlockAvatarSize(e){switch(e){case"xxsmall":return Et.AVATAR_SIZE_XXSMALL;case"xsmall":return Et.AVATAR_SIZE_XSMALL;case"small":return Et.AVATAR_SIZE_SMALL;case"medium":return Et.AVATAR_SIZE_MEDIUM;case"large":return Et.AVATAR_SIZE_LARGE;case"xlarge":return Et.AVATAR_SIZE_XXLARGE;case"xxlarge":return Et.AVATAR_SIZE_XXLARGE;case"xxxlarge":return Et.AVATAR_SIZE_XXXLARGE}}makeBlockAvatarFacing(e){switch(e){case"left":return Cy.AVATAR_FACING_LEFT;case"right":return Cy.AVATAR_FACING_RIGHT}}makeBlockFullSnooSize(e){switch(e){case"xsmall":return li.FULLSNOO_XSMALL;case"small":return li.FULLSNOO_SMALL;case"medium":return li.FULLSNOO_MEDIUM;case"large":return li.FULLSNOO_LARGE;case"xlarge":return li.FULLSNOO_XLARGE;case"xxlarge":return li.FULLSNOO_XXLARGE}}makeBlockAvatarBackground(e){switch(e){case"dark":return Sy.AVATAR_BG_DARK;case"light":return Sy.AVATAR_BG_LIGHT}}makeBlockAnimationType(e){return e==="lottie"||e===void 0?Py.ANIM_LOTTIE:Py.UNRECOGNIZED}makeBlockAnimationDirection(e){switch(e){case"backward":return by.ANIM_DIR_BACKWARD;case"forward":return by.ANIM_DIR_FORWARD}}makeBlockLoopMode(e){switch(e){case"repeat":return ky.ANIM_LOOP_REPEAT;case"bounce":return ky.ANIM_LOOP_BOUNCE}}makeBlockSize(e){if(e&&(e.width!=null||e.height!=null||e.grow)){let{value:t,unit:i}=this.parseSize(e.width)??{},{value:s,unit:o}=this.parseSize(e.height)??{};return{width:t,widthUnit:i,height:s,heightUnit:o,grow:e.grow}}}makeBlockSizes(e){if(e){let t=e.width!=null||e.minWidth!=null||e.maxWidth!=null,i=e.height!=null||e.minHeight!=null||e.maxHeight!=null;if(t||i||e.grow!=null)return{width:t?{value:this.parseSize(e.width),min:this.parseSize(e.minWidth),max:this.parseSize(e.maxWidth)}:void 0,height:i?{value:this.parseSize(e.height),min:this.parseSize(e.minHeight),max:this.parseSize(e.maxHeight)}:void 0,grow:e.grow}}}parseSize(e){if(e==null)return;if(typeof e=="number")return{value:e,unit:_c.SIZE_UNIT_PERCENT};let t=e.match(/^(\d+(?:\.\d+)?)(px|%)?$/);if(t==null)return;let i=_c.SIZE_UNIT_PERCENT;return t?.at(2)==="px"&&(i=_c.SIZE_UNIT_PIXELS),{value:Number.parseFloat(t[1]),unit:i}}getDataSet(e){return Object.keys(e).filter(t=>t.startsWith(Ay)).reduce((t,i)=>(t[i.substring(Ay.length)]=e[i],t),{})}makeActions(e,t){let i=[],s=this.getDataSet(t);return Z0.forEach(o=>{if(o in t){let a=t[o];i.push({type:Y0.get(o)??zc.UNRECOGNIZED,id:a.toString(),data:s})}}),i}blockColorToHex(e,t="light"){if(e)return e=e.toLowerCase(),py(e)?e:gy(e)?vy(e,t):Bc(e)?Id(e):fy(e)?yy(e):hy(e)?e:(console.warn(`Could not parse color: ${e}.`),Id("red"))}childrenToBlocks(e){return e.flatMap(t=>(typeof t!="string"?this.createBlocksElement(t):void 0)??[])}getThemedColors(e,t,i){let s=this.blockColorToHex(t,"light"),o=this.blockColorToHex(i,"dark"),a=[];if(e&&(!s||!o)){let c=Array.from(e?.matchAll(/[\w#-]+(?:\([\w\t ,.#-]+\))?/g)??[]);a.push(...c.map(p=>p[0]))}return s||(s=this.blockColorToHex(a?.at(0),"light")),o||(o=this.blockColorToHex(a?.at(1)??a?.at(0),"dark")),s||o?{light:s,dark:o}:void 0}parsePixels(e){return typeof e=="string"?Number(e.slice(0,-2)):e}resolveAssetUrl(e){return n(this,ss).call(this)?.getURL(e)??e}childrenToString(e){return e.map(t=>t.toString()).join("")}makeRoot(e,...t){return this.wrapRoot(e,this.childrenToBlocks(t))}wrapRoot(e,t){return this.makeBlock(De.BLOCK_ROOT,{},{rootConfig:{children:t,height:this.makeRootHeight(u.customPostType?.height??e?.height??"regular")}})}makeStackBlock(e,t,i){let s=this.getThemedColors(t?.backgroundColor,t?.lightBackgroundColor,t?.darkBackgroundColor);return this.makeBlock(De.BLOCK_STACK,t,{stackConfig:{alignment:this.makeBlockAlignment(t?.alignment),backgroundColor:s?.light,backgroundColors:s,border:this.makeBlockBorder(t?.border,t?.borderColor,t?.lightBorderColor,t?.darkBorderColor),children:this.childrenToBlocks(i),cornerRadius:this.makeBlockRadius(t?.cornerRadius),direction:e,gap:this.makeBlockGap(t?.gap),padding:this.makeBlockPadding(t?.padding),reverse:t?.reverse}})}makeHStack(e,...t){return this.makeStackBlock(qc.STACK_HORIZONTAL,e,t)}makeVStack(e,...t){return this.makeStackBlock(qc.STACK_VERTICAL,e,t)}makeZStack(e,...t){return this.makeStackBlock(qc.STACK_DEPTH,e,t)}makeText(e,...t){let i=this.getThemedColors(e?.color,e?.lightColor,e?.darkColor);return this.makeBlock(De.BLOCK_TEXT,e,{textConfig:{alignment:this.makeBlockAlignment(e?.alignment),color:i?.light,colors:i,outline:this.makeBlockTextOutline(e?.outline),size:this.makeBlockTextSize(e?.size),style:this.makeBlockTextStyle(e?.style),text:this.childrenToString(t),weight:this.makeBlockTextWeight(e?.weight),selectable:e?.selectable,wrap:e?.wrap,overflow:this.makeBlockTextOverflow(e?.overflow)}})}makeButton(e,...t){let i=this.getThemedColors(e?.textColor,e?.lightTextColor,e?.darkTextColor);return this.makeBlock(De.BLOCK_BUTTON,e,{buttonConfig:{buttonAppearance:this.makeBlockButtonAppearance(e?.appearance),icon:e?.icon,buttonSize:this.makeBlockButtonSize(e?.size),text:this.childrenToString(t),textColor:i?.light,textColors:i,disabled:e?.disabled}})}makeImage(e){return e&&this.makeBlock(De.BLOCK_IMAGE,e,{imageConfig:{description:e?.description,resizeMode:this.makeBlockImageResizeMode(e.resizeMode),url:this.resolveAssetUrl(e.url),width:this.parsePixels(e.imageWidth),height:this.parsePixels(e.imageHeight)}})}makeSpacer(e){return this.makeBlock(De.BLOCK_SPACER,e,{spacerConfig:{size:this.makeBlockSpacerSize(e?.size),shape:this.makeBlockSpacerShape(e?.shape)}})}makeIcon(e){let t=this.getThemedColors(e?.color,e?.lightColor,e?.darkColor);return e&&this.makeBlock(De.BLOCK_ICON,e,{iconConfig:{icon:e.name,color:t?.light,colors:t,size:this.makeBlockIconSize(e.size)}})}makeAvatar(e){return e&&this.makeBlock(De.BLOCK_AVATAR,e,{avatarConfig:{thingId:e.thingId,size:this.makeBlockAvatarSize(e.size),facing:this.makeBlockAvatarFacing(e.facing),background:this.makeBlockAvatarBackground(e.background)}})}makeFullSnoo(e){return e&&this.makeBlock(De.BLOCK_FULLSNOO,e,{fullsnooConfig:{userId:e.userId,facing:this.makeBlockAvatarFacing(e.facing),size:this.makeBlockFullSnooSize(e.size)}})}makeAnimation(e){return e&&this.makeBlock(De.BLOCK_ANIMATION,e,{animationConfig:{type:this.makeBlockAnimationType(e.type),url:this.resolveAssetUrl(e.url),loop:e.loop,loopMode:this.makeBlockLoopMode(e.loopMode),autoplay:e.autoplay,width:this.parsePixels(e.imageWidth),height:this.parsePixels(e.imageHeight),direction:this.makeBlockAnimationDirection(e.direction),speed:e.speed}})}makeWebView(e){return e&&this.makeBlock(De.BLOCK_WEBVIEW,e,{webviewConfig:{url:this.resolveAssetUrl(e.url),state:e.state}})}makeBlock(e,t,i){return{type:e,size:this.makeBlockSize(t),sizes:this.makeBlockSizes(t),config:i,actions:(t&&this.makeActions(e,t))??[],id:t?.id,key:t?.key}}ensureRootBlock(e){let t=e;if(t.type===De.BLOCK_ROOT)return t.config?.rootConfig&&u.customPostType?.height&&(t.config.rootConfig.height=this.makeRootHeight(u.customPostType?.height)),t;let i=this.wrapRoot(void 0,[t]);if(!i)throw new Error("Could not create root block");return i}};ss=new WeakMap;function xy(r){if(typeof r=="string")throw new Error("Root element cannot be a string")}var Ey=r=>{let e="",t=r.props?Object.keys(r.props).map(i=>i==="onPress"?"":`${i}="${r.props[i]}"`).join(" "):"";e+=`<${r.type}${t?" "+t:""}>`;for(let i of r.children)typeof i=="string"?e+=i:e+=Ey(i);return e+=`</${r.type}>`,e};function Q0(r){return" ".repeat(r)}function eE(r){let e="",t=0,i=r.split(/>\s*</);for(let s=0;s<i.length;s++){let o=i[s];s===0&&(o=o.trim()),s===i.length-1&&(o=o.trim());let a=o.charAt(0)==="/";a&&t--,e+=Q0(t),s!==0&&(e+="<"),e+=o,s!==i.length-1&&(e+=`>
2
- `),!a&&o.indexOf("</")===-1&&o.charAt(o.length-1)!=="/"&&t++}return e}var Td,Ty,lr,os,as,Jc,ds,lt=class{constructor(e,t,i,s,o){l(this,Td);l(this,lr);l(this,as);this.renderState={};this.currentComponentKey=[];this.currentHookIndex=0;this.actions=new Map;this.forms=new Map;this.realtimeChannels=[];this.realtimeUpdated=!1;this.pendingHooks=[];this.isRendering=!1;this.transformer=new ci(()=>this.assets);this.effects=[];l(this,ds,!1);this.component=e,this.event=t,this.state={__renderState:{},...i},this.metadata=s,this.state.__realtimeChannels&&(this.realtimeChannels=this.state.__realtimeChannels);let a=Le({reconciler:this,hooks:!0,ui:!0,metadata:s});this.cache=a.cache,this.modLog=a.modLog,this.reddit=a.reddit,this.kvStore=a.kvStore,this.redis=a.redis,this.settings=a.settings,this.scheduler=a.scheduler,this.media=a.media,this.assets=a.assets,this.realtime=a.realtime,this.dimensions=o,this.ui=a.ui,this.hooks={useState:a.useState,useInterval:a.useInterval,useForm:a.useForm,useChannel:a.useChannel}}emitEffect(e,t){this.effects.push(t)}async render(){await this.reconcile(),this.isRendering=!0;let e=await this.buildBlocksUI();return this.isRendering=!1,e}makeUniqueActionID(e){let t=e,i=1;for(;this.actions.has(t);)t=`${e}.${i++}`;return t}async reconcile(){let e=b(this,lr,os).call(this),t={type:this.component,props:e,children:[]},i=await this.processBlock(t);if(xy(i),this.transformer.createBlocksElementOrThrow(i),this.isUserActionRender&&this.blockRenderEventId){let s=this.actions.get(this.blockRenderEventId);s&&await s(this.event.data)}for(let s of this.pendingHooks)await s();this.buildNextState(),b(this,Td,Ty).call(this)}async buildBlocksUI(){let e=b(this,lr,os).call(this),t={type:this.component,props:e,children:[]},i=await this.renderElement(e,t);return this.transformer.ensureRootBlock(i)}async renderElement(e,t){let i=await this.processBlock(t);return xy(i),(u.debug.emitSnapshots||e.debug.emitSnapshots)&&console.debug(eE(Ey(i))),(u.debug.emitState||e.debug.emitState)&&console.debug(JSON.stringify(this.state,void 0,2)),this.transformer.createBlocksElementOrThrow(i)}async processProps(e){let t=e.props??{},i=["onPress","onMessage"];for(let s of i)if(s in t){let o=t[s],a=o?.name,c=this.makeUniqueActionID(`${e.type}.${a??s}`);this.actions.set(c,o),t[s]=c}}async processBlock(e,t=cy(),i=[]){let s=e;if(typeof s.type=="string"){let p=(await Promise.all(s.children.flatMap(async(m,y)=>m==null?[]:await this.processBlock(m,t,[...i,`${s.type}.${y}`])))).flat(),g=b(this,as,Jc).call(this,p);return await this.processProps(s),{type:s.type,props:s.props,children:g}}if(typeof s.type=="function"){let c=t(`${i.length?i.join("."):"root"}.${s.type.name.length?s.type.name:"anonymous"}`);this.currentComponentKey.push(c),this.renderState[c]||(this.renderState[c]={});let p=s.children.flatMap(m=>m),g={...b(this,lr,os).call(this),...s.props,children:p},v;for(;v===void 0;)try{v=await s.type(g,b(this,lr,os).call(this))}catch(m){if(m instanceof Promise)v=await m;else throw m}if(!this.isInitialRender){let m=this.getPreviousComponentState();if(Object.keys(m).length!==this.currentHookIndex)throw new Error("Invalid hook call. Hooks can only be called at the top-level of a function component. Make sure that you are not calling hooks inside loops, conditions, or nested functions.")}if(this.currentComponentKey.pop(),this.currentHookIndex=0,typeof v=="object")return this.processBlock(v,t,[...i,s.type.name])}if(typeof s=="string")return s;if(typeof s=="number")return`${s}`;let o=[],a="";return Array.isArray(s)?o=s:typeof s.type>"u"&&s.children&&(o=s.children,a="fragmentChild."),{type:"__fragment",props:void 0,children:await Promise.all(o.flatMap(async(c,p)=>await this.processBlock(c,t,[...i,`${a}${p}`])))}}getCurrentComponentKey(){if(!this.currentComponentKey.at(-1))throw new Error("Current component key is missing");return this.currentComponentKey}getCurrentComponentState(){let e=this.currentComponentKey.at(-1);if(!e)throw new Error("Current component key is missing");return this.renderState[e]}getPreviousComponentState(){let e=this.currentComponentKey.at(-1);if(!e)throw new Error("Current component key is missing");return this.state.__renderState[e]||(this.state.__renderState[e]={}),this.state.__renderState[e]}get isInitialRender(){return this.event?this.event.type===Vc.RENDER_INITIAL:!1}get isUserActionRender(){return this.event?this.event.type===Vc.RENDER_USER_ACTION:!1}get isEffectRender(){return this.event?this.event.type===Vc.RENDER_EFFECT_EVENT:!1}get formSubmittedEvent(){return this.event?this.event.formSubmitted:!1}get blockRenderEventId(){return this.event?this.event.id:!1}get realtimeEvent(){if(!this.event)return!1;let e=this.event.realtimeEvent;return e?.event?.channel?e:!1}runHook(e){this.pendingHooks.push(e)}rerenderIn(e){n(this,ds)||(d(this,ds,!0),this.effects.push({type:wy.EFFECT_RERENDER_UI,rerenderUi:{delaySeconds:e/1e3}}))}addRealtimeChannel(e){this.realtimeChannels.push(e),this.realtimeUpdated=!0}removeRealtimeChannel(e){this.realtimeChannels=this.realtimeChannels.filter(t=>t!==e),this.realtimeUpdated=!0}get realtimeEffect(){return this.realtimeUpdated&&this.realtimeChannels.length>0?[{type:wy.EFFECT_REALTIME_SUB,realtimeSubscriptions:{subscriptionIds:this.realtimeChannels}}]:[]}getEffects(){return[...di(this.ui),...this.effects,...this.realtimeEffect]}buildNextState(){for(let e of Object.keys(this.renderState))this.renderState[e]=Object.values(this.renderState[e]);this.state={__postData:this.state.__postData,__renderState:this.renderState,__cache:this.state.__cache,...this.realtimeChannels.length>0?{__realtimeChannels:this.realtimeChannels}:{}}}};Td=new WeakSet,Ty=function(){this.actions.clear(),this.currentComponentKey=[],this.currentHookIndex=0,this.pendingHooks=[],this.realtimeChannels=[],this.realtimeUpdated=!1},lr=new WeakSet,os=function(){let e={...le(this.metadata,this.state.__postData?.thingId),modLog:this.modLog,reddit:this.reddit,cache:this.cache,kvStore:this.kvStore,redis:this.redis,settings:this.settings,scheduler:this.scheduler,media:this.media,assets:this.assets,realtime:this.realtime,ui:this.ui,dimensions:this.dimensions,uiEnvironment:{timezone:this.metadata[B.Timezone]?.values[0],locale:this.metadata[B.Language]?.values[0],dimensions:this.dimensions},...this.hooks};return e.debug.effects=this,e},as=new WeakSet,Jc=function(e){let t=[];for(let i of e)typeof i=="string"?t.push(i):i.type==="__fragment"?t.push(...b(this,as,Jc).call(this,i.children)):t.push(i);return t},ds=new WeakMap;async function rE(r,e){let t=u.customPostType;if(!t)throw new Error("Custom post type not registered");let i=new lt((o,a)=>t.render(a),r.blocks,r.state,e,r.dimensions),s=await i.render();return{state:i.state,blocks:{ui:s},effects:i.getEffects()}}function Ry(r){r.provides(tE),M("RenderPost",rE)}import{GetFieldsResponse as iE,InstallationSettingsDefinition as nE}from"@devvit/protos";async function sE(){if(!u.installationSettings)throw new Error("Installation settings were not defined.");return iE.fromPartial({fields:{fields:dt(u.installationSettings)}})}async function oE(r,e){return Cd(r,u.installationSettings,e)}function Oy(r){r.provides(nE),M("GetSettingsFields",sE),M("ValidateForm",oE)}import{ContextActionDefinition as aE,ContextActionDescription as dE,ContextActionResponse as lE}from"@devvit/protos";var Fy=r=>`menuItem.${r}`;function $c(r){return u.menuItems.find((e,t)=>Fy(t)===r)}async function uE(r,e){let t=u.menuItems;if(!t.length)throw new Error("No menu items registered.");return{actions:t.map((s,o)=>dE.fromPartial({actionId:Fy(o),name:s.label,description:s.description,contexts:{subreddit:s.location.includes("subreddit"),post:s.location.includes("post"),comment:s.location.includes("comment")},users:{loggedOut:s.forUserType?.includes("loggedOut"),member:s.forUserType?.includes("member"),moderator:s.forUserType?.includes("moderator")},postFilters:s.postFilter==="currentApp"?{currentApp:!0}:void 0}))}}async function cE(r,e){let t=$c(r.actionId);if(!t)throw new Error(`MenuItem ${r.actionId} not found`);let i=r.comment?.id&&`t1_${r.comment.id}`,s=r.post?.id&&`t3_${r.post.id}`,o=r.subreddit?.id&&`t5_${r.subreddit.id}`,a=i||s||o;f(a,"targetId is missing from ContextActionRequest");let c={targetId:a,location:r.comment?"comment":r.post?"post":"subreddit"},p=Object.assign(Le({ui:!0,metadata:e}),le(e,s,i),{uiEnvironment:{timezone:e[B.Timezone]?.values[0],locale:e[B.Language]?.values[0]}});return await t.onPress(c,p),lE.fromPartial({effects:di(p.ui)})}function My(r){r.provides(aE),M("GetActions",uE),M("OnAction",cE)}function ut(r){return r?r===!0?!0:r.enabled:!1}import{SchedulerHandlerDefinition as mE}from"@devvit/protos";async function pE(r,e){let t=r.type,i=u.scheduledJobHandlers.get(t);if(!i)throw new Error(`Job ${t} not found`);let s={name:t,data:r.data},o=Object.assign(Le({metadata:e}),le(e));await i(s,o)}function Uy(r){r.provides(mE),M("HandleScheduledAction",pE)}import{HandlerResult as gE,OnAppInstallDefinition as fE,OnAppUpgradeDefinition as hE,OnCommentCreateDefinition as vE,OnCommentDeleteDefinition as yE,OnCommentReportDefinition as bE,OnCommentSubmitDefinition as kE,OnCommentUpdateDefinition as PE,OnModActionDefinition as SE,OnModMailDefinition as CE,OnPostCreateDefinition as IE,OnPostDeleteDefinition as AE,OnPostFlairUpdateDefinition as wE,OnPostReportDefinition as xE,OnPostSubmitDefinition as EE,OnPostUpdateDefinition as TE,OnPostNsfwUpdateDefinition as RE,OnPostSpoilerUpdateDefinition as OE}from"@devvit/protos";var Rd;(function(r){function e(o,a){return o.length<=a?o:`${o.slice(0,a-1)}\u2026`}r.ellipsize=e;function t(o){return o[0]==null?o:`${o[0].toLocaleUpperCase()}${o.slice(1)}`}r.capitalize=t;function i(o){return o==null||/^\s*$/.test(o)}r.isBlank=i;function s(o){return o instanceof Error?`${o.stack||o.message||o.name}`:String(o)}r.caughtToString=s})(Rd||(Rd={}));function Y(r,e){return f(e),async(t,i)=>{let s={...t,type:r},o=Object.assign(Le({metadata:i}),le(i)),a=await Promise.allSettled(e.map(p=>p(s,o))),c=FE(a);if(c)throw c.err;return gE.fromPartial({})}}function By(r){for(let e of u.triggerOnEventHandlers.keys())switch(e){case"PostSubmit":r.provides(EE),M("OnPostSubmit",Y("PostSubmit",u.triggerOnEventHandlers.get(e)));break;case"PostCreate":r.provides(IE),M("OnPostCreate",Y("PostCreate",u.triggerOnEventHandlers.get(e)));break;case"PostUpdate":r.provides(TE),M("OnPostUpdate",Y("PostUpdate",u.triggerOnEventHandlers.get(e)));break;case"PostReport":r.provides(xE),M("OnPostReport",Y("PostReport",u.triggerOnEventHandlers.get(e)));break;case"PostDelete":r.provides(AE),M("OnPostDelete",Y("PostDelete",u.triggerOnEventHandlers.get(e)));break;case"PostFlairUpdate":r.provides(wE),M("OnPostFlairUpdate",Y("PostFlairUpdate",u.triggerOnEventHandlers.get(e)));break;case"CommentSubmit":r.provides(kE),M("OnCommentSubmit",Y("CommentSubmit",u.triggerOnEventHandlers.get(e)));break;case"CommentCreate":r.provides(vE),M("OnCommentCreate",Y("CommentCreate",u.triggerOnEventHandlers.get(e)));break;case"CommentUpdate":r.provides(PE),M("OnCommentUpdate",Y("CommentUpdate",u.triggerOnEventHandlers.get(e)));break;case"CommentReport":r.provides(bE),M("OnCommentReport",Y("CommentReport",u.triggerOnEventHandlers.get(e)));break;case"CommentDelete":r.provides(yE),M("OnCommentDelete",Y("CommentDelete",u.triggerOnEventHandlers.get(e)));break;case"AppInstall":r.provides(fE),M("OnAppInstall",Y("AppInstall",u.triggerOnEventHandlers.get(e)));break;case"AppUpgrade":r.provides(hE),M("OnAppUpgrade",Y("AppUpgrade",u.triggerOnEventHandlers.get(e)));break;case"ModAction":r.provides(SE),M("OnModAction",Y("ModAction",u.triggerOnEventHandlers.get(e)));break;case"ModMail":r.provides(CE),M("OnModMail",Y("ModMail",u.triggerOnEventHandlers.get(e)));break;case"PostNsfwUpdate":r.provides(RE),M("OnPostNsfwUpdate",Y("PostNsfwUpdate",u.triggerOnEventHandlers.get(e)));break;case"PostSpoilerUpdate":r.provides(OE),M("OnPostSpoilerUpdate",Y("PostSpoilerUpdate",u.triggerOnEventHandlers.get(e)));break;default:throw new Error(`Unknown trigger event: ${e}`)}}function FE(r){let e=r.reduce((t,i)=>i.status==="rejected"?[...t,i.reason]:t,[]);if(e.length!==0)return e.length===1?{err:e[0]}:{err:new Error(e.map(t=>Rd.caughtToString(t)).join(`
3
- `))}}var Eb=Fr(Jy(),1),Tb=Fr(jd(),1);import{EffectType as OR,UIEventHandlerDefinition as FR}from"@devvit/protos";async function MR(r,e){let t=r.state??{},i=(0,Eb.default)(t),s=Le({ui:!0,metadata:e});if(r.event?.formSubmitted&&r.event.formSubmitted.formId){let p=r.event.formSubmitted.formId;if(p.includes("form.hook.")&&u.customPostType){let k=new lt((C,I)=>u.customPostType?.render(I)??null,r.event,r.state,e,void 0);return await k.reconcile(),{state:k.state,effects:k.getEffects()}}let g=u.formDefinitions.get(p);if(!g)throw new Error(`Form with key ${p} not found`);let v,m;if(i.__contextAction){let{actionId:k,thingId:C}=i.__contextAction,I=$c(k);I?.location==="post"?v=C:I?.location==="comment"&&(m=C)}let y=Object.assign(s,le(e,v,m),{uiEnvironment:{timezone:e[B.Timezone]?.values[0],locale:e[B.Language]?.values[0]}});await g.onSubmit({values:Ct(r.event.formSubmitted.results)},y)}else if(r.event?.realtimeEvent){if(u.customPostType){let p=new lt((g,v)=>u.customPostType?.render(v)??null,r.event,r.state,e,void 0);return await p.reconcile(),{state:p.state,effects:p.getEffects()}}}else if(r.event?.toastAction)throw new Error("Toast actions not yet implemented");let o=!(0,Tb.default)(t,i),a=di(s.ui),c=o?[...a,{type:OR.EFFECT_RERENDER_UI,rerenderUi:{delaySeconds:0}}]:a;return{state:i,effects:c}}function Rb(r){r.provides(FR),M("HandleUIEvent",MR)}import{CustomPostDefinition as _b}from"@devvit/protos";var zd=Fr(jd(),1);import{EffectType as um,Form as LR,ToastAppearance as Fb}from"@devvit/protos";var dm=class{constructor(e,t,i){this.state=null;this.hookId=e.hookId,this.form=t,this.onSubmit=i,this.onUIEvent=async s=>{s.formSubmitted&&await i(Ct(s.formSubmitted.results))}}};function lm(r,e){let t=_e({namespace:"useForm"},i=>new dm(i,r,e));return UR({id:t.hookId})}function UR(r){return`form.hook.${r.id}.0`}function BR(r){return{id:r.match(/form\.hook\.(.+)\.0/)[1]}}function Ob(r,e){let t=BR(e);return r.getHook(t)}var Ft,Wd=class{constructor(e){l(this,Ft,void 0);d(this,Ft,e)}showForm(e,t){let i=Ob(n(this,Ft),e);if(!i)throw new Error("Form does not exist. Make sure you have added it using useForm.");let s=i.form instanceof Function?i.form(t??{}):i.form,o=LR.fromPartial({id:e,title:s.title,acceptLabel:s.acceptLabel,cancelLabel:s.cancelLabel,shortDescription:s.description});nr(s.fields),o.fields=dt(s.fields),n(this,Ft).emitEffect(e,{type:um.EFFECT_SHOW_FORM,showForm:{form:o}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?Fb.SUCCESS:Fb.NEUTRAL}:t={text:e},n(this,Ft).emitEffect(e.toString(),{type:um.EFFECT_SHOW_TOAST,showToast:{toast:t}})}navigateTo(e){let t;typeof e=="string"?t=new URL(e).toString():t=new URL(e.permalink,"https://www.reddit.com").toString(),n(this,Ft).emitEffect(t,{type:um.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}};Ft=new WeakMap;import{RealtimeSubscriptionStatus as Mb}from"@devvit/protos";var gs,Mt,gr,cm=class{constructor(e,t){l(this,gs,void 0);l(this,Mt,void 0);l(this,gr,void 0);d(this,gs,t.context),d(this,gr,e),d(this,Mt,t.invalidate);let i=t.context.meta[B.App]?.values[0];if(!i)throw Error("useChannel() missing app ID metadata");let s=t.context.meta[B.Installation]?.values[0];if(!s)throw Error("useChannel() missing install ID from metadata");this.state={channel:`${i}:${s}:${e.name}`,connected:!1,subscribed:!1}}async onUIEvent(e){let t=e.realtimeEvent;if(!(!t||!this.state.subscribed))switch(t.status){case Mb.REALTIME_SUBSCRIBED:this.state.connected=!0,n(this,Mt).call(this),await n(this,gr).onSubscribed?.();break;case Mb.REALTIME_UNSUBSCRIBED:this.state.connected=!1,n(this,Mt).call(this),await n(this,gr).onUnsubscribed?.();break;default:n(this,gr).onMessage(t.event?.data??{});break}}async send(e){if(!this.state.subscribed||!this.state.connected)throw Error(`send failed; ${this.state.channel} channel not connected`);await n(this,gs).devvitContext.realtime.send(this.state.channel,e)}get status(){return this.state.subscribed&&this.state.connected?2:this.state.subscribed&&!this.state.connected?1:!this.state.subscribed&&this.state.connected?3:4}subscribe(){this.state.subscribed||(this.state.subscribed=!0,n(this,Mt).call(this))}unsubscribe(){this.state.subscribed&&(this.state.subscribed=!1,n(this,Mt).call(this))}};gs=new WeakMap,Mt=new WeakMap,gr=new WeakMap;function Ub(r){return _e({namespace:"useChannel"},e=>new cm(r,e))}import{EffectType as mm}from"@devvit/protos";var hi,fi=class fi{constructor(e,t){l(this,hi,void 0);this._segments=[];this._hooks={};this._prevHookId="";this._effects={};this._changed={};this._requeueEvents=[];this._rootProps={};this._generated={};this._undeliveredHandlers={};this.request=e,this.meta=t,d(this,hi,e.state??{}),this._rootProps=e.props??{}}get devvitContext(){if(!this._devvitContext)throw new Error("Devvit context not available");return this._devvitContext}set devvitContext(e){this._devvitContext=e}get _changedState(){let e={};for(let t in this._changed)e[t]=this._state[t];return e}get _state(){return n(this,hi)}set _state(e){this._changed={},d(this,hi,e)}push(e){this._segments.push({...e,next:0})}pop(){this._segments.pop()}addUndeliveredEventHandler(e,t){this._undeliveredHandlers[e]=t}addGlobalUndeliveredEventHandler(e,t){fi.addGlobalUndeliveredEventHandler(e,t)}getHook(e){return this._hooks[e.id]}static addGlobalUndeliveredEventHandler(e,t){fi._staticUndeliveredHandlers[e]=t}async handleUndeliveredEvent(e){let t={...fi._staticUndeliveredHandlers,...this._undeliveredHandlers};for(let[i,s]of Object.entries(t))await s(e,this)}emitEffect(e,t){this._effects[e]=t}addToRequeueEvents(...e){this._devvitContext?.debug.blocks&&console.debug("[blocks] requeueing events",e);let t=e.reduce((i,s)=>(s.retry?i.retry.push(s):i.normal.push(s),i),{retry:[],normal:[]});this._requeueEvents=[...t.retry,...this._requeueEvents,...t.normal]}get effects(){return Object.values(this._effects)}nextHookId(e){e.key===void 0&&(e.key=this._segments[this._segments.length-1].next+++""),this.push(e);try{let t=[];for(let s=this._segments.length-1;s>=0;s--){let o=this._segments[s];if(o.id){t.unshift(o.id);break}let a=[];o.namespace&&a.push(o.namespace),o.key!==void 0&&o.key!==!1&&a.push(o.key),t.unshift(a.join("-"))}let i=t.join(".");if(this._generated[i]&&!e.shared)throw new Error(`Hook id ${i} already used, cannot register another hook with the same id`);return this._generated[i]=!0,this._prevHookId=i,i}finally{this.pop()}}};hi=new WeakMap,fi._staticUndeliveredHandlers={};var vi=fi;var Ut={};vi.addGlobalUndeliveredEventHandler("intervals",async(r,e)=>{r.timer&&r.hook&&(delete Ut[r.hook],e.emitEffect("timers",{type:mm.EFFECT_SET_INTERVALS,interval:{intervals:Ut}}))});var Bt,yi,fs,bi,pm=class{constructor(e,t,i){l(this,Bt,void 0);l(this,yi,void 0);l(this,fs,void 0);l(this,bi,void 0);this.state={duration:{seconds:0,nanos:0},running:!1};d(this,yi,i.invalidate),d(this,Bt,i.hookId),d(this,fs,e),d(this,bi,i.context);let s=Math.floor(t/1e3),o=t%1e3*1e6;this.state.duration={seconds:s,nanos:o}}onStateLoaded(){this.state.running?Ut[n(this,Bt)]={duration:this.state.duration}:delete Ut[n(this,Bt)]}async onUIEvent(e){await n(this,fs).call(this)}start(){Ut[n(this,Bt)]={duration:this.state.duration},this.state.running=!0,n(this,yi).call(this),n(this,bi).emitEffect("timers",{type:mm.EFFECT_SET_INTERVALS,interval:{intervals:Ut}})}stop(){delete Ut[n(this,Bt)],this.state.running=!1,n(this,yi).call(this),n(this,bi).emitEffect("timers",{type:mm.EFFECT_SET_INTERVALS,interval:{intervals:Ut}})}};Bt=new WeakMap,yi=new WeakMap,fs=new WeakMap,bi=new WeakMap;function gm(r,e){return _e({namespace:"useInterval"},t=>new pm(r,e,t))}var ki=class extends Error{};function hm(r){let e=_e({namespace:"useState"},({invalidate:t})=>{let i=r instanceof Function?r():r;if(i instanceof Promise)throw new Error("Cannot use async initializer with context.useState. Please use useAsyncState instead by importing it: import { Devvit, useAsyncState } from '@devvit/public-api';");return{state:i,setter:o=>{e.state=o instanceof Function?o(e.state):o,t()}}});return[e.state,e.setter]}var fr,hs,vs,Pi,fm=class{constructor(e,t){this.state={value:null,loading:!1};l(this,fr,void 0);l(this,hs,void 0);l(this,vs,void 0);l(this,Pi,void 0);d(this,vs,e),d(this,Pi,t.hookId),d(this,fr,t.invalidate),d(this,hs,t.context)}async onUIEvent(){this.state.value===null&&(this.state.value=await n(this,vs).call(this),this.state.loading=!1,n(this,fr).call(this))}setter(e){this.state.value=e instanceof Function?e(this.state.value):e,n(this,fr).call(this)}onStateLoaded(){if(this.state.value===null){this.state.loading=!0,n(this,fr).call(this);let e={asyncRequest:{requestId:n(this,Pi)},hook:n(this,Pi)};throw n(this,hs).addToRequeueEvents(e),new ki}}};fr=new WeakMap,hs=new WeakMap,vs=new WeakMap,Pi=new WeakMap;function DR(r){let e=_e({namespace:"useAsyncState"},t=>new fm(r,t));return[e.state.value,e.setter.bind(e)]}var _R=new Proxy({},{get:function(r,e,t){throw new Error(`Unimplemented API: ${String(e)}`)}}),Gd=class{buildContext(e,t,i){let s=new Yr(i),o=new Xr(i),a=new ri(i),c=new ei(i),p=new ii(i),g=new ni(i),v=new Wd(e),m=new Zr(i),y=new Kr,k=new ai(i),I={modLog:s,kvStore:o,redis:a,reddit:c,scheduler:p,settings:g,media:m,assets:y,realtime:k,ui:v,useState:hm,useChannel:Ub,useInterval:gm,useForm:lm,cache:_R,dimensions:t.env?.dimensions,uiEnvironment:{timezone:i[B.Timezone]?.values[0],locale:i[B.Language]?.values[0],dimensions:t.env?.dimensions}},w=le(i,t.props?.postId);return w.debug.effects=e,{...w,...I}}};var be=null;function vm(r){return JSON.parse(JSON.stringify(r))}function _e(r,e){if(!be)throw new Error("Hooks can only be declared at the top of a component. You cannot declare hooks outside of components or inside of event handlers. It's almost always a mistake to declare hooks inside of loops or conditionals.");let t=be.nextHookId(r),i=be,s={hookId:t,invalidate:()=>{i._changed[t]=!0,i._state[t]=i?._hooks[t]?.state},context:be},o=be._state[t]===void 0;be._hooks[t]=be._hooks[t]??e(s);let a=be._hooks[t];return be._state[t]!==void 0&&(a.state=be._state[t]),a.onStateLoaded?.(),o&&a.state!==void 0&&a.state!==null&&s.invalidate(),a}var NR=null,Si,Kd,ys,se,ke,Ci,Vd,Xd,Bb,bs,ym,Zd,Lb,ks,bm,Ps,km,Ii,Jd,Ss,Pm,Yd,Db,$d=class{constructor(e){l(this,se);l(this,Ci);l(this,Xd);l(this,bs);l(this,Zd);l(this,ks);l(this,Ps);l(this,Ii);l(this,Ss);l(this,Yd);l(this,Si,void 0);l(this,Kd,new Gd);l(this,ys,new ci(()=>this._latestRenderContext?.devvitContext?.assets));this._latestRenderContext=null;n(this,se,ke)&&console.debug("[blocks] BlocksHandler v1"),d(this,Si,e),NR=this}async handle(e,t){let i=new vi(e,t),s=n(this,Kd).buildContext(i,e,t);i.devvitContext=s;let o,a=e.events,p=!e.events?.length||a.some(k=>!k.async),g=a.some(k=>k.blocking),v,m,y=[...a];for(n(this,se,ke)&&console.debug("[blocks] starting processing events");a.length>0;){n(this,se,ke)&&console.debug("[blocks] processing events loop iteration",a.length);let k=[];if(!a[0].async)k.push(a.shift());else for(;a[0]?.async;)k.push(a.shift());if(!k.length)throw Error("batch must have at least one event");try{if(k[0].async){let I=vm(i._state);await b(this,Xd,Bb).call(this,i,...k),i._state=I}else await b(this,Zd,Lb).call(this,i,...k)}catch(I){if(n(this,se,ke)&&console.debug("[blocks] caught in handler",I),m){i._state=m._state,i._changed=v,i._effects=m._effects;let w=y.map(U=>{let ce={...U};return ce.retry=!0,ce});i.addToRequeueEvents(...w);break}else throw I}n(this,se,ke)&&console.debug("[blocks] remaining events",i._requeueEvents);let C=[];for(let I of i._requeueEvents){if(!p&&!I.async){n(this,se,ke)&&console.debug("[blocks] NOT reprocessing event in BlocksHandler, sync mismatch A",I),C.push(I);continue}if(p&&I.async&&!g){n(this,se,ke)&&console.debug("[blocks] NOT reprocessing event in BlocksHandler, sync mismatch B",I),C.push(I);continue}n(this,se,ke)&&console.debug("[blocks] reprocessing event in BlocksHandler",I),a.push(I)}i._requeueEvents=C,a.length>0&&(v={...i._changed},m={_state:vm(i._state),_effects:{...i._effects}},y=[...a])}if(p){let k=vm(i._state),C=[...i._requeueEvents],I={...i._effects},w=b(this,ks,bm).call(this,n(this,Si),i._rootProps??{},i);(0,zd.default)(i._state,k)||console.error("[blocks] State was mutated during rendering",i._state,k),(0,zd.default)(i._requeueEvents,C)||console.error("[blocks] Events were mutated during rendering",i._requeueEvents,C),(0,zd.default)(i._effects,I)||console.error("[blocks] Effects were mutated during rendering",i._effects,I),w&&(o=n(this,ys).createBlocksElementOrThrow(w),o=n(this,ys).ensureRootBlock(o))}return{state:i._changedState,effects:i.effects,blocks:o,events:i._requeueEvents}}};Si=new WeakMap,Kd=new WeakMap,ys=new WeakMap,se=new WeakSet,ke=function(){return!!this._latestRenderContext?.devvitContext.debug.blocks},Ci=new WeakSet,Vd=function(e,...t){e._hooks={},b(this,ks,bm).call(this,n(this,Si),e.request.props??{},e)},Xd=new WeakSet,Bb=async function(e,...t){b(this,Ci,Vd).call(this,e,...t),await Promise.all(t.map(async i=>{if(!i.async)throw new Error("You can't mix main and other queues in one batch. This is likely a platform bug. Please file an issue in the Discord for someone to help! https://discord.com/channels/1050224141732687912/1115441897079574620");await b(this,bs,ym).call(this,e,i)}))},bs=new WeakSet,ym=async function(e,t){let i=e._hooks[t.hook];if(i?.onUIEvent)try{await i.onUIEvent(t,e)}catch(s){throw console.error("Error in event handler",s),s}else await e.handleUndeliveredEvent(t)},Zd=new WeakSet,Lb=async function(e,...t){for(let i of t)n(this,se,ke)&&console.log("[blocks] handling main queue event",i),n(this,se,ke)&&console.log("[blocks] before",e._state),b(this,Ci,Vd).call(this,e,i),await b(this,bs,ym).call(this,e,i),n(this,se,ke)&&console.log("[blocks] after",e._state);b(this,Ci,Vd).call(this,e)},ks=new WeakSet,bm=function(e,t,i){n(this,se,ke)&&console.debug("[blocks] renderRoot"),i._generated={},be=i,this._latestRenderContext=i;try{let s=b(this,Ps,km).call(this,e,t,i);if(s.length!==1)throw new Error("only one root");let o=s[0];if(typeof o=="string")throw new Error("There must be a root tag. Try wrapping your app in a <text></text>, <vstack> or other tag.");return o}catch(s){if(s instanceof ki)return;throw s}finally{be=null}},Ps=new WeakSet,km=function(e,t,i){i.push({namespace:e.name,...t});try{let s=e(t,i.devvitContext);return b(this,Ss,Pm).call(this,s,i)}finally{i.pop()}},Ii=new WeakSet,Jd=function(e,t){return e=e.flat(1/0),e.flatMap((i,s)=>(i&&typeof i=="object"&&"props"in i&&(i.props?.key||(i.props=i.props??{},i.props.key=`${s}`)),b(this,Ss,Pm).call(this,i,t)))},Ss=new WeakSet,Pm=function(e,t){if(Array.isArray(e))return b(this,Ii,Jd).call(this,e,t);if(qR(e)){if(e.type===void 0)return b(this,Ii,Jd).call(this,e.children,t);if(typeof e.type=="function"){let i={...e.props,children:e.children};return b(this,Ps,km).call(this,e.type,i,t)}else{t.push({namespace:e.type,...e.props});let i=b(this,Ii,Jd).call(this,e.children,t),s=b(this,Yd,Db).call(this,e.props??{});return t.pop(),[{type:e.type,children:i,props:s}]}}else return[(e??"").toString()]},Yd=new WeakSet,Db=function(e){let t={};for(let i in e)if(typeof e[i]=="function"){let s=_e({namespace:i,key:!1},({hookId:o})=>({hookId:o,state:null,onUIEvent:e[i]}));t[i]=s.hookId,"captureHookRef"in e[i]&&e[i].captureHookRef()}else{let s=JSON.parse(JSON.stringify(e[i]));s!=null&&(t[i]=s)}return t};function qR(r){return typeof r=="object"&&r!=null&&"type"in r}var HR=[[_b,_b.methods.renderPostContent,(r,e)=>u.customPostType?.render(e)??null]];function jR(r){return async(e,t)=>new $d(r).handle(e,t)}function Nb(r){for(let[e,t,i]of HR)r.provides(e),M(t.name,jR(i))}var Cs,Ai,hr,vr,yr,wi,xi,Lt,br,_,j,J,Is,L=class L extends ld{static configure(e){d(this,Cs,e),ut(e.http)&&b(this,j,J).call(this,S.HTTPDefinition),(ut(e.kvStore)||ut(e.redis))&&(b(this,j,J).call(this,S.KVStoreDefinition),b(this,j,J).call(this,S.RedisAPIDefinition)),ut(e.media)&&b(this,j,J).call(this,S.MediaServiceDefinition),ut(e.modLog)&&b(this,j,J).call(this,S.ModlogDefinition),ut(e.redditAPI)&&(b(this,j,J).call(this,S.FlairDefinition),b(this,j,J).call(this,S.GraphQLDefinition),b(this,j,J).call(this,S.LinksAndCommentsDefinition),b(this,j,J).call(this,S.ListingsDefinition),b(this,j,J).call(this,S.ModerationDefinition),b(this,j,J).call(this,S.ModNoteDefinition),b(this,j,J).call(this,S.NewModmailDefinition),b(this,j,J).call(this,S.PrivateMessagesDefinition),b(this,j,J).call(this,S.SubredditsDefinition),b(this,j,J).call(this,S.PostCollectionsDefinition),b(this,j,J).call(this,S.UsersDefinition),b(this,j,J).call(this,S.WidgetsDefinition),b(this,j,J).call(this,S.WikiDefinition),b(this,j,J).call(this,S.RedditAPIV2Definition)),ut(e.realtime)&&b(this,j,J).call(this,S.RealtimeDefinition)}static addMenuItem(e){n(this,Ai).push(e)}static addCustomPostType(e){d(this,hr,e)}static createForm(e,t){let i=`form.${n(this,vr).size}`;return n(this,vr).set(i,{form:e,onSubmit:t}),i}static addSchedulerJob(e){if(n(this,_)[S.SchedulerDefinition.fullName]||b(this,j,J).call(this,S.SchedulerDefinition),n(this,yr).has(e.name))throw new Error(`Job ${e.name} is already defined`);n(this,yr).set(e.name,e.onRun)}static addSettings(e){nr(e);let t=e.filter(s=>s.type==="group"||!s.scope||s.scope==="installation"),i=e.filter(s=>s.type!=="group"&&s.scope==="app");t.length>0&&d(this,wi,t),i.length>0&&d(this,xi,i),n(this,_)[S.SettingsDefinition.fullName]||b(this,j,J).call(this,S.SettingsDefinition)}static addTrigger(e){if("events"in e){for(let t of e.events)this.addTrigger({event:t,onEvent:(i,s)=>e.onEvent(i,s)});return this}return n(this,Lt).has(e.event)?n(this,Lt).get(e.event)?.push(e.onEvent):n(this,Lt).set(e.event,[e.onEvent]),L}static get redditAPIPlugins(){if(!ut(n(this,Cs).redditAPI))throw new Error("Reddit API is not enabled. You can enable it by passing `redditAPI: true` to `Devvit.configure`.");return{Flair:n(this,_)[S.FlairDefinition.fullName],GraphQL:n(this,_)[S.GraphQLDefinition.fullName],LinksAndComments:n(this,_)[S.LinksAndCommentsDefinition.fullName],Listings:n(this,_)[S.ListingsDefinition.fullName],Moderation:n(this,_)[S.ModerationDefinition.fullName],ModNote:n(this,_)[S.ModNoteDefinition.fullName],NewModmail:n(this,_)[S.NewModmailDefinition.fullName],PrivateMessages:n(this,_)[S.PrivateMessagesDefinition.fullName],Subreddits:n(this,_)[S.SubredditsDefinition.fullName],PostCollections:n(this,_)[S.PostCollectionsDefinition.fullName],Users:n(this,_)[S.UsersDefinition.fullName],Widgets:n(this,_)[S.WidgetsDefinition.fullName],Wiki:n(this,_)[S.WikiDefinition.fullName]}}static get modLogPlugin(){let e=n(this,_)[S.ModlogDefinition.fullName];if(!e)throw new Error("ModLog is not enabled. You can enable it by passing `modLog: true` to `Devvit.configure`");return e}static get schedulerPlugin(){let e=n(this,_)[S.SchedulerDefinition.fullName];if(!e)throw new Error("Scheduler is not enabled. You can enable it by calling `Devvit.addSchedulerJob` at the top level of your app.");return e}static get kvStorePlugin(){let e=n(this,_)[S.KVStoreDefinition.fullName];if(!e)throw new Error("Key Value Store is not enabled. You can enable it by passing `kvStore: true` to `Devvit.configure`");return e}static get redisPlugin(){let e=n(this,_)[S.RedisAPIDefinition.fullName];if(!e)throw new Error("Redis is not enabled. You can enable it by passing `redis: true` to `Devvit.configure`");return e}static get mediaPlugin(){let e=n(this,_)[S.MediaServiceDefinition.fullName];if(!e)throw new Error("MediaService is not enabled. You can enable it by passing `media: true` to `Devvit.configure`");return e}static get redditapiv2Plugin(){let e=n(this,_)[S.RedditAPIV2Definition.fullName];if(!e)throw new Error("RedditAPIV2 is not enabled. You can enable it by passing `apiV2: true` to `Devvit.configure`");return e}static get settingsPlugin(){let e=n(this,_)[S.SettingsDefinition.fullName];if(!e)throw new Error("Settings is not enabled. You can enable it by passing `settings: true` to `Devvit.configure`");return e}static get realtimePlugin(){let e=n(this,_)[S.RealtimeDefinition.fullName];if(!e)throw new Error("Realtime is not enabled. You can enable it by passing `realtime: true` to `Devvit.configure`");return e}static get menuItems(){return n(this,Ai)}static get customPostType(){return n(this,hr)}static get formDefinitions(){return n(this,vr)}static get scheduledJobHandlers(){return n(this,yr)}static get installationSettings(){return n(this,wi)}static get appSettings(){return n(this,xi)}static get triggerOnEventHandlers(){return n(this,Lt)}static get assets(){return n(L,Is)}constructor(e){super(e),d(L,Is,e.assets??{});for(let t in n(L,br)){let i=n(L,br)[t];i.handler=e.use(i.def,i.options)}n(L,Ai).length>0&&My(e),n(L,yr).size>0&&Uy(e),n(L,hr)&&(Ry(e),Nb(e)),(n(L,hr)||n(L,vr).size>0)&&Rb(e),n(L,wi)&&Oy(e),n(L,xi)&&uy(e),n(L,Lt).size>0&&By(e)}};Cs=new WeakMap,Ai=new WeakMap,hr=new WeakMap,vr=new WeakMap,yr=new WeakMap,wi=new WeakMap,xi=new WeakMap,Lt=new WeakMap,br=new WeakMap,_=new WeakMap,j=new WeakSet,J=function(e,t){n(this,br)[e.fullName]={def:e,options:t??{},handler:void 0};let i={};for(let s of Object.values(e.methods))i[s.name]=(o,a)=>n(this,br)[e.fullName].handler?.[s.name]?.(s.requestType?.fromPartial(o??{}),a);return n(this,_)[e.fullName]=i,i},Is=new WeakMap,l(L,j),L.debug={},l(L,Cs,{}),l(L,Ai,[]),l(L,hr,void 0),l(L,vr,new Map),l(L,yr,new Map),l(L,wi,void 0),l(L,xi,void 0),l(L,Lt,new Map),l(L,br,{}),l(L,_,{}),l(L,Is,{});var u=L;(e=>{function r(t,i,...s){return{type:t,props:i,children:s}}e.createElement=r})(u||(u={}));function $(r){let e=Object.getOwnPropertyDescriptors(r.constructor.prototype);for(let[t,i]of Object.entries(e))i.get&&Object.defineProperty(r,t,{...i,enumerable:!0})}var Sm;(function(r){r[r.bold=1]="bold",r[r.italic=2]="italic",r[r.underline=4]="underline",r[r.strikethrough=8]="strikethrough",r[r.subscript=16]="subscript",r[r.superscript=32]="superscript",r[r.monospace=64]="monospace"})(Sm||(Sm={}));var qb="text",Hb="raw",jb="br",Wb="link",Gb="c/",zb="p/",Vb="r/",Jb="u/",$b="@",Kb="spoilertext",Xb="par",Zb="h",Yb="hr",Qb="blockquote",ek="code",tk="li",rk="list",ik="L",nk="R",sk="C",ok="table",ak="embed",dk="img",lk="gif",uk="video";function ck(r){return{e:lk,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function mk(r,e){let t={},i=[];return Object.assign(t,As(t,i),ws(t,i),xs(t,i),Rs(t,i),Os(t,i),Fs(t,i)),e(t),{e:Qb,c:i,...r.author&&{a:r.author}}}function pk(r,e){let t={},i=[];return Object.assign(t,Im(t,i)),e(t),{e:ek,c:i,...r.language&&{l:r.language}}}function gk(r){return{e:Gb,t:r.permalink}}function fk(r,e){let t={},i=[];return Object.assign(t,Im(t,i),Ts(t,i)),e(t),{e:Zb,l:r.level,c:i}}function hk(r){return{e:ak,u:r.sourceUrl,c:r.contentUrl,x:r.width,y:r.height}}function vk(){return{e:Yb}}function yk(r){return{e:dk,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function bk(){return{e:jb}}function kk(r){return{e:Wb,t:r.text,u:r.url,...r.formatting&&{f:r.formatting},...r.tooltip&&{a:r.tooltip}}}function Pk(r,e){let t={},i=[];return Object.assign(t,Dk(t,i)),e(t),{e:rk,o:r.ordered,c:i}}function Sk(r){let e={},t=[];return Object.assign(e,As(e,t),ws(e,t),xs(e,t),Qd(e,t),Rs(e,t),Os(e,t),Fs(e,t)),r(e),{e:tk,c:t}}function Ck(r){let e={},t=[];return Object.assign(e,el(e,t),Ts(e,t),Cm(e,t),Am(e,t),Es(e,t)),r(e),{e:Xb,c:t}}function Ik(r){return{e:zb,t:r.permalink}}function Ak(r){return{e:Hb,t:r}}function wk(r){let e={},t=[];return Object.assign(e,el(e,t),Ts(e,t),Cm(e,t)),r(e),{e:Kb,c:t}}function xk(r){return{e:Vb,t:r.subredditName,l:r.showPrefix}}function Ek(r){let e={},t=[],i=[];return Object.assign(e,_k(e,t,i)),r(e),{e:ok,h:t,c:i}}function Tk(r){let[e,t]=Lk();return r(e),{c:t}}function Rk(r,e){let[t,i]=Lk();e(t);let s;switch(r.columnAlignment){case"left":s=ik;break;case"right":s=nk;break;case"center":s=sk;break}return{...s&&{a:s},...i&&{c:i}}}function Ok(r){let e={},t=[];return Object.assign(e,Nk(e,t)),r(e),t}function Fk(r){return{e:qb,t:r.text,...r.formatting&&{f:r.formatting}}}function Mk(r){return{e:Jb,t:r.username,l:r.showPrefix}}function Uk(r){return{e:$b,t:r.username,l:r.showPrefix}}function Bk(r){return{e:uk,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur},...r.thumbnail&&{p:r.thumbnail},...r.convertToGif&&{gifify:r.convertToGif}}}function Lk(){let r={},e=[];return Object.assign(r,el(r,e),Ts(r,e),Am(r,e),Es(r,e)),[r,e]}function As(r,e){return{blockQuote(t,i){return e.push(mk(t,i)),r}}}function ws(r,e){return{codeBlock(t,i){return e.push(pk(t,i)),r}}}function qk(r,e){return{embed(t){return e.push(hk(t)),r}}}function xs(r,e){return{heading(t,i){return e.push(fk(t,i)),r}}}function Qd(r,e){return{horizontalRule(){return e.push(vk()),r}}}function Es(r,e){return{image(t){return e.push(yk(t)),r},animatedImage(t){return e.push(ck(t)),r}}}function Cm(r,e){return{linebreak(){return e.push(bk()),r}}}function Ts(r,e){return{link(t){return e.push(kk(t)),r},commentLink(t){return e.push(gk(t)),r},postLink(t){return e.push(Ik(t)),r},subredditLink(t){return e.push(xk(t)),r},userLink(t){return e.push(Mk(t)),r},userMention(t){return e.push(Uk(t)),r}}}function Rs(r,e){return{list(t,i){return e.push(Pk(t,i)),r}}}function Dk(r,e){return{item(t){return e.push(Sk(t)),r}}}function Os(r,e){return{paragraph(t){return e.push(Ck(t)),r}}}function Im(r,e){return{rawText(t){return e.push(Ak(t)),r}}}function Am(r,e){return{spoiler(t){return e.push(wk(t)),r}}}function _k(r,e,t){return{headerCell(i,s){return e.push(Rk(i,s)),r},row(i){return t.push(Ok(i)),r}}}function Fs(r,e){return{table(t){return e.push(Ek(t)),r}}}function Nk(r,e){return{cell(t){return e.push(Tk(t)),r}}}function el(r,e){return{text(t){return e.push(Fk(t)),r}}}function Hk(r,e){return{video(t){return e.push(Bk(t)),r}}}var WR=function(r,e,t,i,s){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!s:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?s.call(r,t):s?s.value=t:e.set(r,t),t},GR=function(r,e,t,i){if(t==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?i:t==="a"?i.call(r):i?i.value:e.get(r)},tl,Ms=class{constructor(){tl.set(this,void 0);let e=[];Object.assign(this,Os(this,e),xs(this,e),Qd(this,e),As(this,e),ws(this,e),qk(this,e),Rs(this,e),Fs(this,e),Es(this,e),Hk(this,e)),WR(this,tl,{document:e},"f")}build(){return JSON.stringify(GR(this,tl,"f"))}paragraph(e){return this}heading(e,t){return this}horizontalRule(){return this}blockQuote(e,t){return this}codeBlock(e,t){return this}embed(e){return this}list(e,t){return this}table(e){return this}image(e){return this}animatedImage(e){return this}video(e){return this}};tl=new WeakMap;function Ei(r){let e;return r instanceof Ms?e=r.build():typeof r=="object"?e=JSON.stringify(r):e=r,e}var jk=100,Wk=1/0,kr,Pr,Dt,Ti,Ri,rl,W=class{constructor(e){l(this,Ri);l(this,kr,void 0);l(this,Pr,void 0);l(this,Dt,void 0);l(this,Ti,!1);this.pageSize=jk;this.limit=Wk;this.children=[];$(this),this._fetch=e.fetch,this.pageSize=e.pageSize??jk,this.limit=e.limit??Wk,d(this,Pr,e.after),d(this,kr,e.before),d(this,Dt,e.more),e.children&&(this.children=e.children)}get hasMore(){return!n(this,Ti)||!!(n(this,Pr)||n(this,kr)||n(this,Dt))}async*[Symbol.asyncIterator](){let e=0;for(;;){if(e===this.children.length)if(this.hasMore){if((await b(this,Ri,rl).call(this)).length===0)break}else break;if(yield this.children[e],e++,e===this.limit)break}}setMore(e){d(this,Dt,e)}preventInitialFetch(){d(this,Ti,!0)}async all(){for(;this.hasMore&&this.children.length<this.limit;)await b(this,Ri,rl).call(this);return this.children.slice(0,this.limit)}async get(e){let t=e<=this.limit?e:this.limit;for(;this.hasMore&&this.children.length<t;)await b(this,Ri,rl).call(this);return this.children.slice(0,t)}};kr=new WeakMap,Pr=new WeakMap,Dt=new WeakMap,Ti=new WeakMap,Ri=new WeakSet,rl=async function(){if(!this.hasMore)throw new Error("This listing does not have any more items to load.");let{children:e,before:t,after:i,more:s}=await this._fetch({before:n(this,kr),after:n(this,Pr),limit:this.pageSize,more:n(this,Dt)});return this.children.push(...e),d(this,kr,t),d(this,Pr,i),d(this,Dt,s),d(this,Ti,!0),e};function zR(r){try{return!0}catch{return!1}}function VR(r){try{return!0}catch{return!1}}var Us,wm,Me=class{constructor(){}static get(e,t){let i=u.redditAPIPlugins.ModNote;return new W({hasMore:!0,before:e.before,limit:e.limit,pageSize:e.limit,fetch:async s=>{let o=await i.GetNotes({subreddit:e.subreddit,user:e.user,filter:e.filter,before:s.before,limit:s.limit},t);return{children:o.modNotes?.map(a=>b(this,Us,wm).call(this,a))||[],before:o.hasNextPage?o.endCursor:void 0,hasMore:o.hasNextPage}}})}static async delete(e,t){let i=u.redditAPIPlugins.ModNote,{deleted:s}=await i.DeleteNotes(e,t);return!!s}static async add(e,t){let s=await u.redditAPIPlugins.ModNote.PostNotes(e,t);if(!s?.created)throw new Error("Failed to create mod note");return b(this,Us,wm).call(this,s.created)}static async addRemovalNote(e,t){await u.redditAPIPlugins.ModNote.PostRemovalNote(e,t)}};Us=new WeakSet,wm=function(e){if(f(e.id,"Mod note ID is null or undefined"),f(e.createdAt,"Mod note createdAt is null or undefined"),f(e.type,"Mod note type is null or undefined"),f(e.subreddit,"Mod note subreddit is null or undefined"),f(e.subredditId,"Mod note subredditId is null or undefined"),f(e.operator,"Mod note operator is null or undefined"),f(e.operatorId,"Mod note operatorId is null or undefined"),f(e.user,"Mod note user is null or undefined"),f(e.userId,"Mod note userId is null or undefined"),f(e.userNoteData,"Mod note userNote is null or undefined"),f(e.modActionData,"Mod note modAction is null or undefined"),!zR(e.userNoteData?.label??""))throw new Error(`Invalid user note label: ${e.userNoteData?.label}`);if(!VR(e.type))throw new Error(`Invalid mod note type: ${e.type}`);return{id:e.id,user:{id:ie(e.userId??""),name:e.user},subreddit:{id:Oe(e.subredditId??""),name:e.subreddit},operator:{id:ie(e.operatorId??""),name:e.operator},createdAt:new Date(e.createdAt*1e3),userNote:{note:e.userNoteData?.note,redditId:he(e.userNoteData?.redditId??""),label:e.userNoteData?.label},type:e.type}},l(Me,Us);var Sr=class{static queryWithQueryString(e,t){return u.redditAPIPlugins.GraphQL.Query({query:e},t)}static query(e,t,i,s){return u.redditAPIPlugins.GraphQL.PersistedQuery({operationName:e,id:t,variables:i},s)}};var Gk=["all","wiki","posts","access","mail","config","flair","channels","chat_config","chat_community","chat_operator"];function JR(r,e,t=!1){let i=t?"%2b":"+";return e.map(s=>(r.includes(s)?i:"-")+s).join(",")}function xm(r){return JR(r,Gk,!0)}function zk(r){return r.filter(e=>Gk.includes(e))}var $R=(t=>(t.User="USER_FLAIR",t.Post="LINK_FLAIR",t))($R||{}),Cr,Oi,Fi,Mi,Ui,Bi,Li,Di,_i,Ni,qi,il,$e=class $e{constructor(e,t,i){l(this,Cr,void 0);l(this,Oi,void 0);l(this,Fi,void 0);l(this,Mi,void 0);l(this,Ui,void 0);l(this,Bi,void 0);l(this,Li,void 0);l(this,Di,void 0);l(this,_i,void 0);l(this,Ni,void 0);$(this),f(e.id),f(e.text),d(this,Cr,e.id),d(this,Oi,t),d(this,Fi,e.text),d(this,Mi,KR(e.textColor)),d(this,Ui,XR(e.backgroundColor)),d(this,Bi,ZR(e.allowableContent)),d(this,Li,e.modOnly),d(this,Di,e.maxEmojis),d(this,_i,e.textEditable),d(this,Ni,i)}get id(){return n(this,Cr)}get text(){return n(this,Fi)}get textColor(){return n(this,Mi)}get backgroundColor(){return n(this,Ui)}get allowableContent(){return n(this,Bi)}get modOnly(){return n(this,Li)}get maxEmojis(){return n(this,Di)}get allowUserEdits(){return n(this,_i)}async delete(){return $e.deleteFlairTemplate(n(this,Cr),n(this,Oi),n(this,Ni))}async edit(e){return $e.editFlairTemplate({id:n(this,Cr),subredditName:n(this,Oi),text:e.text??n(this,Fi),allowableContent:e.allowableContent??n(this,Bi),backgroundColor:e.backgroundColor??n(this,Ui),maxEmojis:e.maxEmojis??n(this,Di),modOnly:e.modOnly??n(this,Li),textColor:e.textColor??n(this,Mi),allowUserEdits:e.allowUserEdits??n(this,_i)},n(this,Ni))}static async createPostFlairTemplate(e,t){var i;return b(i=$e,qi,il).call(i,{...e,flairType:"LINK_FLAIR"},t)}static async createUserFlairTemplate(e,t){var i;return b(i=$e,qi,il).call(i,{...e,flairType:"USER_FLAIR"},t)}static async editFlairTemplate(e,t){var i;return b(i=$e,qi,il).call(i,e,t)}static async getPostFlairTemplates(e,t){return(await u.redditAPIPlugins.Flair.LinkFlair({subreddit:e},t)).flair?.map(o=>new $e(o,e,t))||[]}static async getUserFlairTemplates(e,t){return(await u.redditAPIPlugins.Flair.UserFlair({subreddit:e},t)).flair?.map(o=>new $e(o,e,t))||[]}static async deleteFlairTemplate(e,t,i){await u.redditAPIPlugins.Flair.DeleteFlairTemplate({subreddit:e,flairTemplateId:t},i)}};Cr=new WeakMap,Oi=new WeakMap,Fi=new WeakMap,Mi=new WeakMap,Ui=new WeakMap,Bi=new WeakMap,Li=new WeakMap,Di=new WeakMap,_i=new WeakMap,Ni=new WeakMap,qi=new WeakSet,il=async function(e,t){let{subredditName:i,allowableContent:s="all",backgroundColor:o="transparent",flairType:a="",maxEmojis:c=10,modOnly:p=!1,text:g,textColor:v="dark",allowUserEdits:m=!1,id:y=""}=e;if(p&&m)throw new Error("Cannot have a mod only flair that is editable by users");let C=await u.redditAPIPlugins.Flair.FlairTemplate({subreddit:i,allowableContent:s,backgroundColor:o,flairType:a,maxEmojis:c,modOnly:p,text:g,textColor:v,textEditable:m,flairTemplateId:y,cssClass:"",overrideCss:!1},t);return new $e(C,i,t)},l($e,qi);var de=$e;function Ds(r){return{flairCssClass:r.flairCssClass,user:r.user,flairText:r.flairText}}var Bs,Em,Ls,Tm,_t=class _t{static async getUserFlairBySubreddit(e,t){return u.redditAPIPlugins.Flair.FlairList(e,t)}static setUserFlair(e,t){var i;return b(i=_t,Bs,Em).call(i,e,t)}static setPostFlair(e,t){var i;return b(i=_t,Bs,Em).call(i,{...e,postId:fe(e.postId)},t)}static async removePostFlair(e,t,i){var s;return b(s=_t,Ls,Tm).call(s,e,t,void 0,i)}static async removeUserFlair(e,t,i){var s;return b(s=_t,Ls,Tm).call(s,e,void 0,t,i)}};Bs=new WeakSet,Em=async function(e,t){await u.redditAPIPlugins.Flair.SelectFlair({subreddit:e.subredditName,flairTemplateId:e.flairTemplateId??"",text:e.text??"",name:e.username,link:e.postId,backgroundColor:e.backgroundColor??"",textColor:e.textColor??"dark",cssClass:e.cssClass??"",returnRtjson:"none"},t)},Ls=new WeakSet,Tm=async function(e,t,i,s){await u.redditAPIPlugins.Flair.SelectFlair({subreddit:e,name:i??"",link:t??"",flairTemplateId:"",backgroundColor:"",text:"",textColor:"",cssClass:"",returnRtjson:"none"},s)},l(_t,Bs),l(_t,Ls);var Ue=_t;function KR(r){if(f(r,"Flair text color is required"),r==="light"||r==="dark")return r;throw new Error(`Invalid flair text color: ${r}`)}function XR(r){if(f(r,"Flair background color is required"),r==="transparent"||/^#([A-Fa-f0-9]{6})$/.test(r))return r;throw new Error(`Invalid flair background color: ${r}`)}function ZR(r){if(r==="all"||r==="text"||r==="emoji")return r;throw new Error(`Invalid allowable content: ${r}`)}import{Block as sO}from"@devvit/protos";var Kk=Fr($k(),1);var Hi,Ns,ji,qs,Hs,js,Ws,Gs,Wi,zs,Vs,Js,$s,Ks,Xs,Nt,Zs,Ys,Ar,Gi,qt,zi,Vi,Ji,wr,Ht,jt,$i,Wt,Gt,zt,pt,Qs,eo,Ki,Xi,D,q=class q{constructor(e,t){l(this,Hi,void 0);l(this,Ns,void 0);l(this,ji,void 0);l(this,qs,void 0);l(this,Hs,void 0);l(this,js,void 0);l(this,Ws,void 0);l(this,Gs,void 0);l(this,Wi,void 0);l(this,zs,void 0);l(this,Vs,void 0);l(this,Js,void 0);l(this,$s,void 0);l(this,Ks,void 0);l(this,Xs,void 0);l(this,Nt,void 0);l(this,Zs,void 0);l(this,Ys,void 0);l(this,Ar,void 0);l(this,Gi,void 0);l(this,qt,void 0);l(this,zi,void 0);l(this,Vi,void 0);l(this,Ji,void 0);l(this,wr,void 0);l(this,Ht,void 0);l(this,jt,void 0);l(this,$i,void 0);l(this,Wt,void 0);l(this,Gt,void 0);l(this,zt,void 0);l(this,pt,void 0);l(this,Qs,void 0);l(this,eo,void 0);l(this,Ki,void 0);l(this,Xi,void 0);l(this,D,void 0);$(this),f(e.id,"Post is missing id"),f(e.title,"Post is missing title"),f(e.createdUtc,"Post is missing created date"),f(e.author,"Post is missing author name"),f(e.subreddit,"Post is missing subreddit name"),f(e.subredditId,"Post is missing subreddit id"),f(e.url,"Post is missing url"),f(e.permalink,"Post is missing permalink"),d(this,Hi,fe(`t3_${e.id}`)),d(this,ji,e.author),d(this,Ns,e.authorFullname?ie(e.authorFullname):void 0),d(this,Hs,Oe(e.subredditId)),d(this,js,e.subreddit),d(this,Js,e.score??0),d(this,$s,e.numComments??0),d(this,Ks,e.numReports??0);let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,qs,i),d(this,Gs,e.title),d(this,Wi,e.selftext),d(this,zs,e.selftextHtml),d(this,Vs,e.url),d(this,Ws,e.permalink),e.thumbnail&&e.thumbnail!=="self"&&e.thumbnail!=="nsfw"&&e.thumbnailHeight!=null&&e.thumbnailWidth!=null&&d(this,Xs,{url:e.thumbnail,height:e.thumbnailHeight,width:e.thumbnailWidth}),d(this,Nt,e.approved??!1),d(this,Zs,e.approvedAtUtc??0),d(this,Ys,e.bannedAtUtc??0),d(this,qt,e.removed??!1),d(this,zi,e.removedBy),d(this,Vi,e.removedByCategory),d(this,Ar,e.spam??!1),d(this,Gi,e.stickied??!1),d(this,Ji,e.archived??!1),d(this,wr,e.edited??!1),d(this,Ht,e.locked??!1),d(this,jt,e.over18??!1),d(this,$i,e.quarantine??!1),d(this,Wt,e.spoiler),d(this,Gt,e.hidden??!1),d(this,zt,e.ignoreReports??!1),d(this,pt,e.distinguished),d(this,eo,e.secureMedia),d(this,Ki,(e.modReports??[]).map(([s])=>s)),d(this,Xi,(e.userReports??[]).map(([s])=>s)),d(this,D,t),(e.linkFlairBackgroundColor||e.linkFlairCssClass||e.linkFlairText||e.linkFlairType||e.linkFlairTemplateId||e.linkFlairRichtext||e.linkFlairTextColor)&&d(this,Qs,{backgroundColor:e.linkFlairBackgroundColor,cssClass:e.linkFlairCssClass,text:e.linkFlairText,type:e.linkFlairType,templateId:e.linkFlairTemplateId,richtext:(e.linkFlairRichtext??[]).map(({e:s,t:o,a,u:c})=>({elementType:s,text:o,emojiRef:a,url:c})),textColor:e.linkFlairTextColor})}get id(){return n(this,Hi)}get authorId(){return n(this,Ns)}get authorName(){return n(this,ji)}get subredditId(){return n(this,Hs)}get subredditName(){return n(this,js)}get permalink(){return n(this,Ws)}get title(){return n(this,Gs)}get body(){return n(this,Wi)}get bodyHtml(){return n(this,zs)}get url(){return n(this,Vs)}get thumbnail(){return n(this,Xs)}get createdAt(){return n(this,qs)}get score(){return n(this,Js)}get numberOfComments(){return n(this,$s)}get numberOfReports(){return n(this,Ks)}get approved(){return n(this,Nt)}get approvedAtUtc(){return n(this,Zs)}get bannedAtUtc(){return n(this,Ys)}get spam(){return n(this,Ar)}get stickied(){return n(this,Gi)}get removed(){return n(this,qt)}get removedBy(){return n(this,zi)}get removedByCategory(){return n(this,Vi)}get archived(){return n(this,Ji)}get edited(){return n(this,wr)}get locked(){return n(this,Ht)}get nsfw(){return n(this,jt)}get quarantined(){return n(this,$i)}get spoiler(){return n(this,Wt)}get hidden(){return n(this,Gt)}get ignoringReports(){return n(this,zt)}get distinguishedBy(){return n(this,pt)}get comments(){return Z.getComments({postId:this.id},n(this,D))}get flair(){return n(this,Qs)}get secureMedia(){return n(this,eo)}get userReportReasons(){return n(this,Xi)}get modReportReasons(){return n(this,Ki)}toJSON(){return{id:this.id,authorId:this.authorId,authorName:this.authorName,subredditId:this.subredditId,subredditName:this.subredditName,permalink:this.permalink,title:this.title,body:this.body,bodyHtml:this.bodyHtml,url:this.url,thumbnail:this.thumbnail,score:this.score,numberOfComments:this.numberOfComments,numberOfReports:this.numberOfReports,createdAt:this.createdAt,approved:this.approved,spam:this.spam,stickied:this.stickied,removed:this.removed,removedBy:n(this,zi),removedByCategory:n(this,Vi),archived:this.archived,edited:this.edited,locked:this.locked,nsfw:this.nsfw,quarantined:this.quarantined,spoiler:this.spoiler,hidden:this.hidden,ignoringReports:this.ignoringReports,distinguishedBy:this.distinguishedBy,flair:this.flair,secureMedia:this.secureMedia,modReportReasons:n(this,Ki),userReportReasons:n(this,Xi)}}isApproved(){return n(this,Nt)}isSpam(){return n(this,Ar)}isStickied(){return n(this,Gi)}isRemoved(){return n(this,qt)}isArchived(){return n(this,Ji)}isEdited(){return n(this,wr)}isLocked(){return n(this,Ht)}isNsfw(){return n(this,jt)}isQuarantined(){return n(this,$i)}isSpoiler(){return n(this,Wt)}isHidden(){return n(this,Gt)}isIgnoringReports(){return n(this,zt)}isDistinguishedBy(){return n(this,pt)}async edit(e){let t=await q.edit({id:this.id,...e},n(this,D));d(this,Wi,t.body),d(this,wr,t.edited)}async addComment(e){return Z.submit({id:this.id,...e},n(this,D))}async delete(){return q.delete(this.id,n(this,D))}async approve(){await q.approve(this.id,n(this,D)),d(this,Nt,!0),d(this,qt,!1)}async remove(e=!1){await q.remove(this.id,e,n(this,D)),d(this,qt,!0),d(this,Ar,e),d(this,Nt,!1)}async lock(){await q.lock(this.id,n(this,D)),d(this,Ht,!0)}async unlock(){await q.unlock(this.id,n(this,D)),d(this,Ht,!1)}async hide(){await q.hide(this.id,n(this,D)),d(this,Gt,!0)}async unhide(){await q.unhide(this.id,n(this,D)),d(this,Gt,!1)}async markAsNsfw(){await q.markAsNsfw(this.id,n(this,D)),d(this,jt,!0)}async unmarkAsNsfw(){await q.unmarkAsNsfw(this.id,n(this,D)),d(this,jt,!1)}async markAsSpoiler(){await q.markAsSpoiler(this.id,n(this,D)),d(this,Wt,!0)}async unmarkAsSpoiler(){await q.unmarkAsSpoiler(this.id,n(this,D)),d(this,Wt,!1)}async sticky(e){await q.sticky(this.id,e,n(this,D))}async unsticky(){await q.unsticky(this.id,n(this,D))}async distinguish(){let{distinguishedBy:e}=await q.distinguish(this.id,!1,n(this,D));d(this,pt,e)}async distinguishAsAdmin(){let{distinguishedBy:e}=await q.distinguish(this.id,!0,n(this,D));d(this,pt,e)}async undistinguish(){let{distinguishedBy:e}=await q.undistinguish(this.id,n(this,D));d(this,pt,e)}async ignoreReports(){await q.ignoreReports(this.id,n(this,D)),d(this,zt,!0)}async unignoreReports(){await q.unignoreReports(this.id,n(this,D)),d(this,zt,!1)}async getAuthor(){return A.getByUsername(n(this,ji),n(this,D))}async crosspost(e){return q.crosspost({...e,postId:this.id},n(this,D))}addRemovalNote(e){return Me.addRemovalNote({itemIds:[n(this,Hi)],...e},n(this,D))}static async getById(e,t){let i=u.redditAPIPlugins.LinksAndComments,s=ir(e)?e:`t3_${e}`,o=await i.Info({subreddits:[],thingIds:[s]},t);if(!o.data?.children?.length)throw new Error("could not find post");let a=o.data.children[0];if(!a?.data)throw new Error("could not find post");return new q(a.data,t)}static async submit(e,t){let i=u.redditAPIPlugins.LinksAndComments,s;if("preview"in e){f(t,"Missing metadata in `SubmitPostOptions`");let c=await new lt(()=>e.preview,void 0,{},t,void 0).buildBlocksUI(),p=sO.encode(c).finish();s=await i.Submit({kind:"custom",sr:e.subredditName,richtextJson:(0,Kk.fromByteArray)(p),...e},t)}else s=await i.Submit({kind:"kind"in e?e.kind:"url"in e?"link":"self",sr:e.subredditName,richtextJson:"richtext"in e?Ei(e.richtext):void 0,...e},t);if("kind"in e&&["image","video","videogif"].includes(e.kind)&&!s.json?.data?.id&&"url"in e)throw new Error(`Post of ${e.kind} type with ${e.url} is being created asynchronously and should be updated in the subreddit soon.`);if(!s.json?.data?.id||s.json?.errors?.length)throw new Error(`failed to submit post - either post ID is empty or request failed with errors: ${s.json?.errors}`);return q.getById(`t3_${s.json.data.id}`,t)}static async crosspost(e,t){let i=u.redditAPIPlugins.LinksAndComments,{postId:s,subredditName:o,...a}=e,c=await i.Submit({kind:"crosspost",sr:o,crosspostFullname:fe(s),...a},t);if(!c.json?.data?.id||c.json?.errors?.length)throw new Error("failed to crosspost post");return q.getById(`t3_${c.json.data.id}`,t)}static async edit(e,t){let i=u.redditAPIPlugins.LinksAndComments,{id:s}=e,o;if("richtext"in e&&(o=Ei(e.richtext)),(await i.EditUserText({thingId:s,text:"text"in e?e.text:"",richtextJson:o},t)).json?.errors?.length)throw new Error("Failed to edit post");return q.getById(s,t)}static async delete(e,t){await u.redditAPIPlugins.LinksAndComments.Del({id:e},t)}static async approve(e,t){await u.redditAPIPlugins.Moderation.Approve({id:e},t)}static async remove(e,t=!1,i){await u.redditAPIPlugins.Moderation.Remove({id:e,spam:t},i)}static async hide(e,t){await u.redditAPIPlugins.LinksAndComments.Hide({id:e},t)}static async unhide(e,t){await u.redditAPIPlugins.LinksAndComments.Unhide({id:e},t)}static async markAsNsfw(e,t){await u.redditAPIPlugins.LinksAndComments.MarkNSFW({id:e},t)}static async unmarkAsNsfw(e,t){await u.redditAPIPlugins.LinksAndComments.UnmarkNSFW({id:e},t)}static async markAsSpoiler(e,t){await u.redditAPIPlugins.LinksAndComments.Spoiler({id:e},t)}static async unmarkAsSpoiler(e,t){await u.redditAPIPlugins.LinksAndComments.Unspoiler({id:e},t)}static async sticky(e,t,i){await u.redditAPIPlugins.LinksAndComments.SetSubredditSticky({id:e,state:!0,num:t},i)}static async unsticky(e,t){await u.redditAPIPlugins.LinksAndComments.SetSubredditSticky({id:e,state:!1},t)}static async lock(e,t){await u.redditAPIPlugins.LinksAndComments.Lock({id:e},t)}static async unlock(e,t){await u.redditAPIPlugins.LinksAndComments.Unlock({id:e},t)}static async distinguish(e,t,i){let a=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:t?"admin":"yes",sticky:!1},i)).json?.data?.things?.[0]?.data;return f(a),{distinguishedBy:a.distinguished}}static async undistinguish(e,t){let o=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:"no",sticky:!1},t)).json?.data?.things?.[0]?.data;return f(o),{distinguishedBy:o.distinguished}}static async ignoreReports(e,t){await u.redditAPIPlugins.Moderation.IgnoreReports({id:e},t)}static async unignoreReports(e,t){await u.redditAPIPlugins.Moderation.UnignoreReports({id:e},t)}static getControversialPosts(e={},t){return this.getSortedPosts({...e,sort:"controversial"},t)}static getTopPosts(e={},t){return this.getSortedPosts({...e,sort:"top"},t)}static getSortedPosts(e,t){let i=u.redditAPIPlugins.Listings;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async s=>{let o=await i.Sort({show:"all",sort:e.sort,t:e.timeframe,subreddit:e.subredditName,...s},t);return _s(o,t)}})}static getHotPosts(e={location:"GLOBAL"},t){let i=u.redditAPIPlugins.Listings;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async s=>{let o=await i.Hot({g:e.location,show:"all",subreddit:e.subredditName,...s},t);return _s(o,t)}})}static getNewPosts(e,t){let i=u.redditAPIPlugins.Listings;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async s=>{let o=await i.New({show:"all",subreddit:e.subredditName,...s},t);return _s(o,t)}})}static getRisingPosts(e,t){let i=u.redditAPIPlugins.Listings;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async s=>{let o=await i.Rising({show:"all",subreddit:e.subredditName,...s},t);return _s(o,t)}})}static getPostsByUser(e,t){let i=u.redditAPIPlugins.Users;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(s){let o=await i.UserWhere({username:e.username,where:"submitted",...s},t);return _s(o,t)}})}};Hi=new WeakMap,Ns=new WeakMap,ji=new WeakMap,qs=new WeakMap,Hs=new WeakMap,js=new WeakMap,Ws=new WeakMap,Gs=new WeakMap,Wi=new WeakMap,zs=new WeakMap,Vs=new WeakMap,Js=new WeakMap,$s=new WeakMap,Ks=new WeakMap,Xs=new WeakMap,Nt=new WeakMap,Zs=new WeakMap,Ys=new WeakMap,Ar=new WeakMap,Gi=new WeakMap,qt=new WeakMap,zi=new WeakMap,Vi=new WeakMap,Ji=new WeakMap,wr=new WeakMap,Ht=new WeakMap,jt=new WeakMap,$i=new WeakMap,Wt=new WeakMap,Gt=new WeakMap,zt=new WeakMap,pt=new WeakMap,Qs=new WeakMap,eo=new WeakMap,Ki=new WeakMap,Xi=new WeakMap,D=new WeakMap;var V=q;function _s(r,e){if(!r.data?.children)throw new Error("Listing response is missing children");return{children:r.data.children.map(i=>new V(i.data,e)),before:r.data.before,after:r.data.after}}var oO=(N=>(N.Custom="CUSTOM",N.Reddit="REDDIT",N.Instagram="INSTAGRAM",N.Twitter="TWITTER",N.Tiktok="TIKTOK",N.Twitch="TWITCH",N.Facebook="FACEBOOK",N.Youtube="YOUTUBE",N.Tumblr="TUMBLR",N.Spotify="SPOTIFY",N.Soundcloud="SOUNDCLOUD",N.Beacons="BEACONS",N.Linktree="LINKTREE",N.Discord="DISCORD",N.Venmo="VENMO",N.CashApp="CASH_APP",N.Patreon="PATREON",N.Kofi="KOFI",N.Paypal="PAYPAL",N.Cameo="CAMEO",N.Onlyfans="ONLYFANS",N.Substack="SUBSTACK",N.Kickstarter="KICKSTARTER",N.Indiegogo="INDIEGOGO",N.BuyMeACoffee="BUY_ME_A_COFFEE",N.Shopify="SHOPIFY",N))(oO||{}),to,Zi,ro,io,no,so,oo,Vt,ao,lo,rt,xr=class xr{constructor(e,t){l(this,to,void 0);l(this,Zi,void 0);l(this,ro,void 0);l(this,io,void 0);l(this,no,void 0);l(this,so,void 0);l(this,oo,void 0);l(this,Vt,new Map);l(this,ao,void 0);l(this,lo,void 0);l(this,rt,void 0);$(this),f(e.id,"User ID is missing or undefined"),f(e.name,"Username is missing or undefined"),f(e.createdUtc,"User is missing created date"),d(this,to,ie(dd(e.id)?e.id:`t2_${e.id}`)),d(this,Zi,e.name),d(this,so,e.over18??!1),d(this,oo,e.isEmployee??!1);let i=new Date(0);if(i.setUTCSeconds(e.createdUtc),d(this,ro,i),d(this,io,e.linkKarma??0),d(this,no,e.commentKarma??0),e.modPermissions)for(let[s,o]of Object.entries(e.modPermissions))n(this,Vt).set(s,zk(o));d(this,ao,new URL(e.subreddit?.url??"","https://www.reddit.com").toString()),d(this,lo,e.subreddit?.url??""),d(this,rt,t)}get id(){return n(this,to)}get username(){return n(this,Zi)}get createdAt(){return n(this,ro)}get linkKarma(){return n(this,io)}get commentKarma(){return n(this,no)}get nsfw(){return n(this,so)}get isAdmin(){return n(this,oo)}get modPermissions(){return n(this,Vt)}get url(){return n(this,ao)}get permalink(){return n(this,lo)}toJSON(){return{id:this.id,username:this.username,createdAt:this.createdAt,linkKarma:this.linkKarma,commentKarma:this.commentKarma,nsfw:this.nsfw,modPermissionsBySubreddit:Object.fromEntries(this.modPermissions)}}async getModPermissionsForSubreddit(e){if(n(this,Vt).has(e))return n(this,Vt).get(e);let t=await xr.getSubredditUsersByType({subredditName:e,type:"moderators",username:this.username},n(this,rt)).all();if(t.length===0)return[];let i=t[0].modPermissions.get(e)??[];return i.length>0&&n(this,Vt).set(e,i),i}getComments(e){return Z.getCommentsByUser({username:this.username,...e},n(this,rt))}getPosts(e){return V.getPostsByUser({username:this.username,...e},n(this,rt))}async getUserFlairBySubreddit(e){let t=await Ue.getUserFlairBySubreddit({subreddit:e,name:n(this,Zi)},n(this,rt));return t.users[0]?Ds(t.users[0]):void 0}getSnoovatarUrl(){return xr.getSnoovatarUrl(this.username,n(this,rt))}async getSocialLinks(){let e="GetUserSocialLinks",t="2aca18ef5f4fc75fb91cdaace3e9aeeae2cb3843b5c26ad511e6f01b8521593a",i=await Sr.query(e,t,{name:this.username},n(this,rt));return i.data?.user?.profile?.socialLinks?i.data.user.profile.socialLinks.map(s=>({...s,handle:s.handle??void 0})):[]}static async getById(e,t){let o=(await u.redditAPIPlugins.Users.UserDataByAccountIds({ids:e},t))?.users?.[e]?.name;return f(o,"Expected the username in response to be not null"),xr.getByUsername(o,t)}static async getByUsername(e,t){let s=await u.redditAPIPlugins.Users.UserAbout({username:e},t);if(s.data?.id)return new xr(s.data,t)}static async getFromMetadata(e,t){f(t);let i=t?.[e]?.values[0];return i?xr.getById(ie(i),t):Promise.resolve(void 0)}static getSubredditUsersByType(e,t){let i=u.redditAPIPlugins.Subreddits;return new W({hasMore:!0,pageSize:e.pageSize,limit:e.limit,after:e.after,before:e.before,fetch:async s=>{let o=await i.AboutWhere({where:e.type,user:e.username,subreddit:e.subredditName,show:"all",...s},t);return dO(o,e.subredditName,t)}})}static async createRelationship(e,t){let i=u.redditAPIPlugins.Users,{type:s,subredditName:o,username:a,permissions:c,...p}=e,g=await i.Friend({type:s,subreddit:o,name:a,permissions:c?xm(c):void 0,...p},t);if(g.json?.errors?.length)throw new Error(g.json.errors.join(`
4
- `))}static async removeRelationship(e,t){await u.redditAPIPlugins.Users.Unfriend({type:e.type,subreddit:e.subredditName,name:e.username},t)}static async setModeratorPermissions(e,t,i,s){let a=await u.redditAPIPlugins.Users.SetPermissions({subreddit:t,name:e,type:"moderator",permissions:xm(i)},s);if(a.json?.errors?.length)throw new Error(a.json.errors.join(`
5
- `))}static async getSnoovatarUrl(e,t){let i="GetSnoovatarUrlByName",s="c47fd42345af268616d2d8904b56856acdc05cf61d3650380f539ad7d596ac0c";return(await Sr.query(i,s,{username:e},t)).data?.redditorInfoByName?.snoovatarIcon?.url}static getOverview(e,t){let i=u.redditAPIPlugins.Users;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(s){let o=await i.UserWhere({username:e.username,where:"overview",...s},t);return aO(o,t)}})}};to=new WeakMap,Zi=new WeakMap,ro=new WeakMap,io=new WeakMap,no=new WeakMap,so=new WeakMap,oo=new WeakMap,Vt=new WeakMap,ao=new WeakMap,lo=new WeakMap,rt=new WeakMap;var A=xr;function aO(r,e){if(!r.data?.children)throw new Error("Listing response is missing children");return{children:r.data.children.map(i=>{if(i.kind==="t3")return new V(i.data,e);if(i.kind==="t1")return new Z(i.data,e);throw new Error(`Type ${i.kind} is not supported`)}),before:r.data.before,after:r.data.after}}async function dO(r,e,t){let i=u.redditAPIPlugins.Users;if(!r.data?.children)throw new Error("Listing response is missing children");let s=r.data.children.map(v=>(f(v.data?.id,"User id is still from listing data"),v.data.id)),o=100,a=[];for(let v=0;v<s.length;v+=o)a.push(s.slice(v,v+o));let p=(await Promise.all(a.map(v=>i.UserDataByAccountIds({ids:v.join(",")},t)))).reduce((v,m)=>({...v,...m.users}),{});return{children:r.data.children.map(v=>{let m=v.data?.id;f(m,"User id is missing from listing");let y=p[m];return f(y,"User data is missing from response"),new A({id:m,name:y.name,linkKarma:y.linkKarma,commentKarma:y.commentKarma,createdUtc:y.createdUtc,over18:y.profileOver18,snoovatarSize:[],modPermissions:{[e]:v.data?.modPermissions??[]}},t)}),before:r.data.before,after:r.data.after}}var Er,uo,Yi,Qi,co,mo,en,po,go,tn,Jt,fo,ho,Tr,$t,Kt,gt,Rr,ft,vo,yo,bo,ko,Po,So,Co,ee,rn,sl,nn,ol,G=class G{constructor(e,t){l(this,Er,void 0);l(this,uo,void 0);l(this,Yi,void 0);l(this,Qi,void 0);l(this,co,void 0);l(this,mo,void 0);l(this,en,void 0);l(this,po,void 0);l(this,go,void 0);l(this,tn,void 0);l(this,Jt,void 0);l(this,fo,void 0);l(this,ho,void 0);l(this,Tr,void 0);l(this,$t,void 0);l(this,Kt,void 0);l(this,gt,void 0);l(this,Rr,void 0);l(this,ft,void 0);l(this,vo,void 0);l(this,yo,void 0);l(this,bo,void 0);l(this,ko,void 0);l(this,Po,void 0);l(this,So,void 0);l(this,Co,void 0);l(this,ee,void 0);var s;$(this),f(e.id,"Comment id is null or undefined"),f(e.body,"Comment body is null or undefined"),f(e.createdUtc,"Comment is missing created date"),f(e.author,"Comment author is null or undefined"),f(e.parentId,"Comment parentId is null or undefined"),f(e.linkId,"Comment linkId is null or undefined"),f(e.permalink,"Comment permalink is null or undefined"),f(e.subreddit,"Comment is missing subreddit name"),f(e.subredditId,"Comment is missing subreddit id"),d(this,Er,Jr(`t1_${e.id}`)),d(this,uo,e.authorFullname?ie(e.authorFullname):void 0),d(this,Yi,e.author),d(this,Qi,e.body),d(this,po,Oe(e.subredditId)),d(this,go,e.subreddit),d(this,mo,Cc(e.parentId)?Jr(e.parentId):fe(e.parentId)),d(this,en,fe(e.linkId)),d(this,Tr,e.edited??!1),d(this,$t,e.locked??!1),d(this,Kt,e.removed??!1),d(this,gt,e.stickied??!1),d(this,Jt,e.approved??!1),d(this,fo,e.approvedAtUtc??0),d(this,ho,e.bannedAtUtc??0),d(this,Rr,e.spam??!1),d(this,ft,e.distinguished),d(this,vo,e.numReports??0),d(this,yo,e.collapsedBecauseCrowdControl??!1),d(this,bo,e.score??0),d(this,ko,e.permalink),d(this,Co,new URL(e.permalink??"","https://www.reddit.com/").toString()),d(this,Po,(e.modReports??[]).map(([o])=>o)),d(this,So,(e.userReports??[]).map(([o])=>o));let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,co,i),d(this,tn,b(s=G,rn,sl).call(s,{postId:n(this,en),commentId:n(this,Er)},t)),d(this,ee,t)}get id(){return n(this,Er)}get authorId(){return n(this,uo)}get authorName(){return n(this,Yi)}get subredditId(){return n(this,po)}get subredditName(){return n(this,go)}get body(){return n(this,Qi)}get createdAt(){return n(this,co)}get parentId(){return n(this,mo)}get postId(){return n(this,en)}get replies(){return n(this,tn)}get distinguishedBy(){return n(this,ft)}get locked(){return n(this,$t)}get stickied(){return n(this,gt)}get removed(){return n(this,Kt)}get approved(){return n(this,Jt)}get approvedAtUtc(){return n(this,fo)}get bannedAtUtc(){return n(this,ho)}get spam(){return n(this,Rr)}get edited(){return n(this,Tr)}get numReports(){return n(this,vo)}get collapsedBecauseCrowdControl(){return n(this,yo)}get score(){return n(this,bo)}get permalink(){return n(this,ko)}get userReportReasons(){return n(this,So)}get modReportReasons(){return n(this,Po)}get url(){return n(this,Co)}toJSON(){return{id:this.id,authorName:this.authorName,subredditId:this.subredditId,subredditName:this.subredditName,body:this.body,createdAt:this.createdAt,parentId:this.parentId,postId:this.postId,replies:this.replies,approved:this.approved,locked:this.locked,removed:this.removed,stickied:this.stickied,spam:this.spam,edited:this.edited,distinguishedBy:this.distinguishedBy,numReports:this.numReports,collapsedBecauseCrowdControl:this.collapsedBecauseCrowdControl,score:this.score,permalink:this.permalink,modReportReasons:this.modReportReasons,userReportReasons:this.userReportReasons,url:this.url}}isLocked(){return n(this,$t)}isApproved(){return n(this,Jt)}isRemoved(){return n(this,Kt)}isSpam(){return n(this,Rr)}isStickied(){return n(this,gt)}isDistinguished(){return!!n(this,ft)}isEdited(){return n(this,Tr)}async delete(){return G.delete(this.id,n(this,ee))}async edit(e){let t=await G.edit({id:this.id,...e},n(this,ee));return d(this,Qi,t.body),d(this,Tr,t.edited),this}async approve(){await G.approve(this.id,n(this,ee)),d(this,Jt,!0),d(this,Kt,!1)}async remove(e=!1){await G.remove(this.id,e,n(this,ee)),d(this,Kt,!0),d(this,Rr,e),d(this,Jt,!1)}async lock(){await G.lock(this.id,n(this,ee)),d(this,$t,!0)}async unlock(){await G.unlock(this.id,n(this,ee)),d(this,$t,!1)}async reply(e){return G.submit({id:this.id,...e},n(this,ee))}async getAuthor(){return A.getByUsername(n(this,Yi),n(this,ee))}async distinguish(e=!1){let{distinguishedBy:t,stickied:i}=await G.distinguish(this.id,e,!1,n(this,ee));d(this,ft,t),d(this,gt,i)}async distinguishAsAdmin(e=!1){let{distinguishedBy:t,stickied:i}=await G.distinguish(this.id,e,!0,n(this,ee));d(this,ft,t),d(this,gt,i)}async undistinguish(){let{distinguishedBy:e,stickied:t}=await G.undistinguish(this.id,n(this,ee));d(this,ft,e),d(this,gt,t)}addRemovalNote(e){return Me.addRemovalNote({itemIds:[n(this,Er)],...e},n(this,ee))}static async getById(e,t){let i=u.redditAPIPlugins.LinksAndComments,s=Pt(e)?e:`t1_${e}`,o=await i.Info({subreddits:[],thingIds:[s]},t);if(!o.data?.children?.[0]?.data)throw new Error("not found");return new G(o.data.children[0].data,t)}static getComments(e,t){var a;let{postId:i,commentId:s,...o}=e;return b(a=G,rn,sl).call(a,{postId:fe(i),commentId:s?Jr(s):void 0,...o},t)}static async edit(e,t){let i=u.redditAPIPlugins.LinksAndComments,{id:s}=e,o;"richtext"in e&&(o=Ei(e.richtext));let a=await i.EditUserText({thingId:s,text:"text"in e?e.text:"",richtextJson:o},t);if(a.json?.errors?.length)throw new Error("Failed to edit comment");let c=a.json?.data?.things?.[0]?.data;return f(c),new G(c,t)}static async delete(e,t){await u.redditAPIPlugins.LinksAndComments.Del({id:e},t)}static async approve(e,t){await u.redditAPIPlugins.Moderation.Approve({id:e},t)}static async remove(e,t=!1,i){await u.redditAPIPlugins.Moderation.Remove({id:e,spam:t},i)}static async lock(e,t){await u.redditAPIPlugins.LinksAndComments.Lock({id:e},t)}static async unlock(e,t){await u.redditAPIPlugins.LinksAndComments.Unlock({id:e},t)}static async submit(e,t){let i=u.redditAPIPlugins.LinksAndComments,{id:s}=e,o;"richtext"in e&&(o=Ei(e.richtext));let a=await i.Comment({thingId:s,text:"text"in e?e.text:"",richtextJson:o},t);if(a.json?.errors?.length)throw new Error("failed to reply to comment");let c=a.json?.data?.things?.[0]?.data;return f(c),new G(c,t)}static async distinguish(e,t,i,s){let c=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:i?"admin":"yes",sticky:t},s)).json?.data?.things?.[0]?.data;return f(c),{distinguishedBy:c.distinguished,stickied:!!c.stickied}}static async undistinguish(e,t){let o=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:"no",sticky:!1},t)).json?.data?.things?.[0]?.data;return f(o),{distinguishedBy:o.distinguished,stickied:!!o.stickied}}static getCommentsByUser(e,t){let i=u.redditAPIPlugins.Users;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(s){let o=await i.UserWhere({username:e.username,where:"comments",...s},t);return f(o.data,"Failed to get comments for user"),{children:o.data.children?.map(c=>new G(c.data,t))||[],before:o.data.before,after:o.data.after}}})}};Er=new WeakMap,uo=new WeakMap,Yi=new WeakMap,Qi=new WeakMap,co=new WeakMap,mo=new WeakMap,en=new WeakMap,po=new WeakMap,go=new WeakMap,tn=new WeakMap,Jt=new WeakMap,fo=new WeakMap,ho=new WeakMap,Tr=new WeakMap,$t=new WeakMap,Kt=new WeakMap,gt=new WeakMap,Rr=new WeakMap,ft=new WeakMap,vo=new WeakMap,yo=new WeakMap,bo=new WeakMap,ko=new WeakMap,Po=new WeakMap,So=new WeakMap,Co=new WeakMap,ee=new WeakMap,rn=new WeakSet,sl=function(e,t,i=0){return new W({limit:e.limit,pageSize:e.pageSize,fetch:async s=>{var y,k;let o=s.limit,a=u.redditAPIPlugins.Listings,c=u.redditAPIPlugins.LinksAndComments,p=e.commentId;if(s.more)if(s.more.children.length){let C=s.more;(!o||o>100)&&(o=100);let I=C.children.splice(0,o),w=await c.MoreChildren({linkId:e.postId,children:I,sort:e.sort},t);if(!w.json?.data?.things?.length)return{children:[]};let{children:U}=b(y=G,nn,ol).call(y,w.json.data.things,e.postId,e,t);return{children:U,more:C.children.length?C:void 0}}else p=s.more.parentId,i=i+s.more.depth;let v=(await a.Comments({article:e.postId.substring(3),comment:p?.substring(3),limit:o,depth:e.depth,sort:e.sort},t)).listings?.[1]?.data?.children??[],m=v[0];return p&&m?.data?.replyList?.data&&(v=m.data.replyList.data.children),b(k=G,nn,ol).call(k,v,p??e.postId,e,t,i)}})},nn=new WeakSet,ol=function(e,t,i,s,o=0){var g,v;let a=[],c,p={};for(let m of e){if(!m.data||(m.data.depth!=null&&(m.data.depth=m.data.depth+o),m.data.depth!=null&&i.depth!=null&&m.data.depth>=i.depth))continue;let y=m.data.parentId?p[m.data.parentId]:void 0;if(m.kind==="t1"){if(m.data.name===t)continue;let k=new G(m.data,s);if(p[k.id]=k,d(k,tn,b(g=G,rn,sl).call(g,{...i,postId:k.postId,commentId:k.id},s,o)),"replyList"in m.data&&m.data.replyList?.data){let{children:C,more:I}=b(v=G,nn,ol).call(v,m.data.replyList.data.children,k.id,i,s,o);C.length&&k.replies.children.push(...C),I&&k.replies.setMore(I)}k.replies.preventInitialFetch(),y?y.replies.children.push(k):a.push(k)}else if(m.kind==="more"&&m.data.parentId&&m.data.depth!=null){let k={parentId:Cc(m.data.parentId)?Jr(m.data.parentId):fe(m.data.parentId),children:m.data.children??[],depth:m.data.depth};y?y.replies.setMore(k):k.parentId===t&&(c=k)}}return{children:a,more:c}},l(G,rn),l(G,nn);var Z=G;function md(r,e){let t=u.redditAPIPlugins.Moderation;return new W({hasMore:!0,after:r.after,before:r.before,limit:r.limit,pageSize:r.pageSize,fetch:async i=>{let s=await t.AboutLog({subreddit:r.subredditName,mod:r.moderatorUsernames?r.moderatorUsernames.join(","):void 0,type:r.type,...i},e);return lO(s)}})}function lO(r){if(!r.data?.children)throw new Error("AboutLogResponse is missing children");return{children:r.data.children.map(t=>{if(!t.data)throw new Error("ModAction from AboutLogResponse is missing or invalid");let{id:i,mod:s,modId36:o,createdUtc:a,subreddit:c,subredditNamePrefixed:p,action:g,srId36:v,description:m,details:y,targetAuthor:k,targetBody:C,targetFullname:I,targetPermalink:w,targetTitle:U}=t.data;f(i,"ModAction from AboutLogResponse is missing id"),f(s,"ModAction from AboutLogResponse is missing mod"),f(o,"ModAction from AboutLogResponse is missing modId36"),f(a,"ModAction from AboutLogResponse is missing createdUtc"),f(c,"ModAction from AboutLogResponse is missing subreddit"),f(p,"ModAction from AboutLogResponse is missing subredditNamePrefixed"),f(g,"ModAction from AboutLogResponse is missing action"),f(v,"ModAction from AboutLogResponse is missing srId36");let ce=new Date(0);return ce.setUTCSeconds(a),{id:i,type:g,moderatorName:s,moderatorId:`t2_${o}`,createdAt:ce,subredditName:c,subredditId:`t5_${v}`,description:m,details:y,target:I?{id:I,author:k,body:C,permalink:w,title:U}:void 0}}),after:r.data.after,before:r.data.before}}var uO=(a=>(a.New="New",a.InProgress="InProgress",a.Archived="Archived",a.Appeals="Appeals",a.JoinRequests="JoinRequests",a.Filtered="Filtered",a))(uO||{}),cO={0:"New",1:"InProgress",2:"Archived",3:"Appeals",4:"JoinRequests",5:"Filtered"},mO=(k=>(k.Highlighted="Highlighted",k.Unhighlighted="Unhighlighted",k.Archived="Archived",k.Unarchived="Unarchived",k.ReportedToAdmins="ReportedToAdmins",k.Muted="Muted",k.Unmuted="Unmuted",k.Banned="Banned",k.Unbanned="Unbanned",k.Approved="Approved",k.Disapproved="Disapproved",k.Filtered="Filtered",k.Unfiltered="Unfiltered",k))(mO||{}),pO={0:"Highlighted",1:"Unhighlighted",2:"Archived",3:"Unarchived",4:"ReportedToAdmins",5:"Muted",6:"Unmuted",7:"Banned",8:"Unbanned",9:"Approved",10:"Disapproved",11:"Filtered",12:"Unfiltered"},z,Q,oe,al,Xk,dl,Zk,pd=class{constructor(e){l(this,Q);l(this,al);l(this,dl);l(this,z,void 0);d(this,z,e)}async bulkReadConversations(e,t){let i=u.redditAPIPlugins.NewModmail,{conversationIds:s}=await i.BulkReadConversations({entity:e.join(","),state:t},n(this,z));return s}async getConversations(e){let i=await u.redditAPIPlugins.NewModmail.GetConversations({after:e.after,entity:e.subreddits?e.subreddits.join(","):void 0,limit:e.limit,sort:e.sort,state:e.state},n(this,z)),s={};for(let o in i.conversations)s[o]=b(this,Q,oe).call(this,{protoConversation:i.conversations[o],protoMessages:i.messages,protoModActions:{}});return{conversations:s,viewerId:i.viewerId}}async getConversation(e){let i=await u.redditAPIPlugins.NewModmail.GetConversation({...e,markRead:!!e.markRead},n(this,z));return{participantSubreddit:i.participantSubreddit,conversation:b(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async getSubreddits(){let e=u.redditAPIPlugins.NewModmail,{subreddits:t}=await e.Subreddits({},n(this,z));return t}async createConversation(e){let i=await u.redditAPIPlugins.NewModmail.CreateConversation({body:e.body,isAuthorHidden:e.isAuthorHidden??!1,srName:e.subredditName,subject:e.subject,to:e.to?e.to:void 0},n(this,z));return{conversation:b(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async reply(e){let i=await u.redditAPIPlugins.NewModmail.CreateConversationMessage({body:e.body,conversationId:e.conversationId,isAuthorHidden:e.isAuthorHidden??!1,isInternal:e.isInternal??!1},n(this,z));return{conversation:b(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:{}}),user:i.user}}async highlightConversation(e){let i=await u.redditAPIPlugins.NewModmail.HighlightConversation({conversationId:e},n(this,z));return{conversation:b(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async unhighlightConversation(e){let i=await u.redditAPIPlugins.NewModmail.UnhighlightConversation({conversationId:e},n(this,z));return{conversation:b(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async archiveConversation(e){let i=await u.redditAPIPlugins.NewModmail.ArchiveConversation({conversationId:e},n(this,z));return{conversation:b(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async unarchiveConversation(e){let i=await u.redditAPIPlugins.NewModmail.UnarchiveConversation({conversationId:e},n(this,z));return{conversation:b(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async muteConversation(e){let i=await u.redditAPIPlugins.NewModmail.MuteConversation({conversationId:e.conversationId,numHours:e.numHours},n(this,z));return{conversation:b(this,Q,oe).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async unmuteConversation(e){let i=await u.redditAPIPlugins.NewModmail.UnmuteConversation({conversationId:e},n(this,z));return{conversation:b(this,Q,oe).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async readConversations(e){await u.redditAPIPlugins.NewModmail.Read({conversationIds:e.join(",")},n(this,z))}async unreadConversations(e){await u.redditAPIPlugins.NewModmail.Unread({conversationIds:e.join(",")},n(this,z))}async approveConversation(e){let i=await u.redditAPIPlugins.NewModmail.ApproveConversation({conversationId:e},n(this,z));return{conversation:b(this,Q,oe).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async disapproveConversation(e){let i=await u.redditAPIPlugins.NewModmail.DisapproveConversation({conversationId:e},n(this,z));return{conversation:b(this,Q,oe).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async tempBanConversation(e){let i=await u.redditAPIPlugins.NewModmail.TempBan({...e},n(this,z));return{conversation:b(this,Q,oe).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async unbanConversation(e){let i=await u.redditAPIPlugins.NewModmail.Unban({conversationId:e},n(this,z));return{conversation:b(this,Q,oe).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async getUnreadCount(){return await u.redditAPIPlugins.NewModmail.UnreadCount({},n(this,z))}async getUserConversations(e){return await u.redditAPIPlugins.NewModmail.UserConversations({conversationId:e},n(this,z))}};z=new WeakMap,Q=new WeakSet,oe=function({protoConversation:e,protoMessages:t,protoModActions:i}){return{...e,state:cO[e.state],messages:b(this,al,Xk).call(this,e,t),modActions:b(this,dl,Zk).call(this,e,i)}},al=new WeakSet,Xk=function(e,t){let i={},s=e.objIds.filter(o=>o.key==="messages").map(({id:o})=>o);for(let o of s){let a=t[o];a&&(i[o]=a)}return i},dl=new WeakSet,Zk=function(e,t){let i={},s=e.objIds.filter(o=>o.key==="modActions").map(({id:o})=>o);for(let o of s){let a=t[o];a&&(i[o]={...a,actionType:pO[a.actionTypeId]})}return i};var sn,on,ll,Io,Ao,wo,xo,Om=class Om{constructor(e,t){l(this,sn,void 0);l(this,on,void 0);l(this,ll,void 0);l(this,Io,void 0);l(this,Ao,void 0);l(this,wo,void 0);l(this,xo,void 0);if($(this),f(e.id,"PrivateMessage: Invalid data, no id"),f(e.name,"PrivateMessage: Invalid data, no name"),f(e.created,"PrivateMessage: Invalid data, no created date"),d(this,sn,he(e.name)),e.author!=null)d(this,on,{type:"user",username:e.author,id:e.authorFullname?ie(e.authorFullname):void 0});else if(e.subreddit!=null)d(this,on,{type:"subreddit",name:e.subreddit,id:e.subredditId?Oe(e.subredditId):void 0});else throw new Error("PrivateMessage: Invalid data, no author or subreddit");d(this,Io,e.body??""),d(this,Ao,e.bodyHtml??"");let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,wo,i),d(this,ll,e.parentId?he(e.parentId):void 0),d(this,xo,t)}static async getMessages(e,t){let i=u.redditAPIPlugins.PrivateMessages;return new W({...e,fetch:async s=>{let o=await i.MessageWhere({...s,where:e.type??"inbox"},t);return{after:o.data?.after,before:o.data?.before,children:o.data?.children?.map(a=>new Om(a.data,t)).filter(Boolean)||[]}}})}static async send({to:e,subject:t,text:i},s){await u.redditAPIPlugins.PrivateMessages.Compose({to:e,subject:t,text:i,fromSr:""},s)}static async sendAsSubreddit({to:e,fromSubredditName:t,subject:i,text:s},o){await u.redditAPIPlugins.PrivateMessages.Compose({to:e,fromSr:t,subject:i,text:s},o)}static async markAllAsRead(e){await u.redditAPIPlugins.PrivateMessages.ReadAllMessages({filterTypes:""},e)}get id(){return n(this,sn)}get from(){return n(this,on)}get body(){return n(this,Io)}get bodyHtml(){return n(this,Ao)}get created(){return n(this,wo)}async markAsRead(){await u.redditAPIPlugins.PrivateMessages.ReadMessage({id:n(this,sn)},n(this,xo))}};sn=new WeakMap,on=new WeakMap,ll=new WeakMap,Io=new WeakMap,Ao=new WeakMap,wo=new WeakMap,xo=new WeakMap;var or=Om;var zv=(o=>(o.Reports="reports",o.Spam="spam",o.Modqueue="modqueue",o.Unmoderated="unmoderated",o.Edited="edited",o))(zv||{}),an,x,Eo,To,Ro,Oo,Fo,Mo,Uo,Bo,Lo,dn,E,it=class it{constructor(e,t){l(this,an,void 0);l(this,x,void 0);l(this,Eo,void 0);l(this,To,void 0);l(this,Ro,void 0);l(this,Oo,void 0);l(this,Fo,void 0);l(this,Mo,void 0);l(this,Uo,void 0);l(this,Bo,void 0);l(this,Lo,void 0);l(this,dn,void 0);l(this,E,void 0);$(this),f(e.id,"Subreddit id is missing or undefined"),f(e.displayName,"Subreddit name is missing or undefined"),d(this,an,Oe(`t5_${e.id}`)),d(this,x,e.displayName),f(e.createdUtc,"Subreddit is missing created date");let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,Eo,i),d(this,To,gO(e.subredditType)),d(this,Ro,e.title),d(this,Oo,e.description),f(e.lang,"Subreddit is missing language"),d(this,Fo,e.lang),d(this,Mo,e.subscribers??0),d(this,Uo,e.activeUserCount??0),d(this,Bo,e.over18??!1),d(this,dn,e.url??""),d(this,Lo,{acceptFollowers:e.acceptFollowers??!1,allOriginalContent:e.allOriginalContent??!1,allowChatPostCreation:e.allowChatPostCreation??!1,allowDiscovery:e.allowDiscovery??!1,allowGalleries:e.allowGalleries??!1,allowImages:e.allowImages??!1,allowPolls:e.allowPolls??!1,allowPredictionContributors:e.allowPredictionContributors??!1,allowPredictions:e.allowPredictions??!1,allowPredictionsTournament:e.allowPredictionsTournament??!1,allowTalks:e.allowTalks??!1,allowVideoGifs:e.allowVideogifs??!1,allowVideos:e.allowVideos??!1,chatPostEnabled:e.isChatPostFeatureEnabled??!1,collectionsEnabled:e.collectionsEnabled??!1,crosspostable:e.isCrosspostableSubreddit??!1,emojisEnabled:e.emojisEnabled??!1,eventPostsEnabled:e.eventPostsEnabled??!1,linkFlairEnabled:e.linkFlairEnabled??!1,originalContentTagEnabled:e.originalContentTagEnabled??!1,restrictCommenting:e.restrictCommenting??!1,restrictPosting:e.restrictPosting??!1,shouldArchivePosts:e.shouldArchivePosts??!1,spoilersEnabled:e.spoilersEnabled??!1,wikiEnabled:e.wikiEnabled??!1,allowedPostType:fO(e.submissionType),allowedMediaInComments:(e.allowedMediaInComments??[]).map(hO),bannerBackgroundColor:e.bannerBackgroundColor,bannerBackgroundImage:e.bannerBackgroundImage,bannerImage:e.bannerImg,communityIcon:e.communityIcon,headerTitle:e.headerTitle,mobileBannerImage:e.mobileBannerImage,userFlairs:{enabled:e.userFlairEnabledInSr??!1,usersCanAssign:e.canAssignUserFlair??!1},postFlairs:{enabled:e.linkFlairEnabled??!1,usersCanAssign:e.canAssignLinkFlair??!1},url:new URL(n(this,dn),"https://www.reddit.com").toString()}),d(this,E,t)}get id(){return n(this,an)}get name(){return n(this,x)}get createdAt(){return n(this,Eo)}get type(){return n(this,To)}get title(){return n(this,Ro)}get description(){return n(this,Oo)}get language(){return n(this,Fo)}get numberOfSubscribers(){return n(this,Mo)}get numberOfActiveUsers(){return n(this,Uo)}get nsfw(){return n(this,Bo)}get settings(){return n(this,Lo)}get userFlairsEnabled(){return this.settings.userFlairs.enabled}get postFlairsEnabled(){return this.settings.postFlairs.enabled}get usersCanAssignUserFlairs(){return this.settings.userFlairs.usersCanAssign}get usersCanAssignPostFlairs(){return this.settings.postFlairs.usersCanAssign}get url(){return this.settings.url}get permalink(){return n(this,dn)}toJSON(){return{id:this.id,name:this.name,createdAt:this.createdAt,type:this.type,title:this.title,description:this.description,language:this.language,nsfw:this.nsfw,numberOfSubscribers:this.numberOfSubscribers,numberOfActiveUsers:this.numberOfActiveUsers,settings:this.settings}}async submitPost(e){let t={...e,subredditName:n(this,x)};return V.submit(t,n(this,E))}getControversialPosts(e={}){if(!n(this,x))throw new Error("subreddit missing displayName - it might not have been fetched");return V.getControversialPosts({...e,subredditName:n(this,x)},n(this,E))}getTopPosts(e={}){if(!n(this,x))throw new Error("subreddit missing displayName - it might not have been fetched");return V.getTopPosts({...e,subredditName:n(this,x)},n(this,E))}getApprovedUsers(e={}){return A.getSubredditUsersByType({type:"contributors",subredditName:n(this,x),...e},n(this,E))}approveUser(e){return A.createRelationship({username:e,subredditName:n(this,x),type:"contributor"},n(this,E))}removeUser(e){return A.removeRelationship({username:e,subredditName:n(this,x),type:"contributor"},n(this,E))}getWikiContributors(e={}){return A.getSubredditUsersByType({type:"wikicontributors",subredditName:n(this,x),...e},n(this,E))}addWikiContributor(e){return A.createRelationship({username:e,subredditName:n(this,x),type:"wikicontributor"},n(this,E))}removeWikiContributor(e){return A.removeRelationship({username:e,subredditName:n(this,x),type:"wikicontributor"},n(this,E))}getBannedUsers(e={}){return A.getSubredditUsersByType({type:"banned",subredditName:n(this,x),...e},n(this,E))}banUser(e){return A.createRelationship({username:e.username,subredditName:n(this,x),type:"banned",banReason:e.reason,banMessage:e.message,note:e.note,duration:e.duration},n(this,E))}unbanUser(e){return A.removeRelationship({username:e,subredditName:n(this,x),type:"banned"},n(this,E))}getBannedWikiContributors(e={}){return A.getSubredditUsersByType({type:"wikibanned",subredditName:n(this,x),...e},n(this,E))}banWikiContributor(e){return A.createRelationship({username:e.username,subredditName:n(this,x),type:"wikibanned",banReason:e.reason,note:e.note,duration:e.duration},n(this,E))}unbanWikiContributor(e){return A.removeRelationship({username:e,subredditName:n(this,x),type:"wikibanned"},n(this,E))}getModerators(e={}){return A.getSubredditUsersByType({type:"moderators",subredditName:n(this,x),...e},n(this,E))}inviteModerator(e,t){return A.createRelationship({type:"moderator_invite",subredditName:n(this,x),username:e,permissions:t??[]},n(this,E))}revokeModeratorInvite(e){return A.removeRelationship({username:e,subredditName:n(this,x),type:"moderator_invite"},n(this,E))}removeModerator(e){return A.removeRelationship({type:"moderator",subredditName:n(this,x),username:e},n(this,E))}setModeratorPermissions(e,t){return A.setModeratorPermissions(e,n(this,x),t,n(this,E))}getMutedUsers(e={}){return A.getSubredditUsersByType({type:"muted",subredditName:n(this,x),...e},n(this,E))}muteUser(e,t){return A.createRelationship({username:e,subredditName:n(this,x),type:"muted",note:t},n(this,E))}unmuteUser(e){return A.removeRelationship({username:e,subredditName:n(this,x),type:"muted"},n(this,E))}getModerationLog(e){return md({subredditName:n(this,x),...e},n(this,E))}getUserFlairTemplates(){return de.getUserFlairTemplates(n(this,x),n(this,E))}getPostFlairTemplates(){return de.getPostFlairTemplates(n(this,x),n(this,E))}createPostFlairTemplate(e){return de.createPostFlairTemplate({subredditName:n(this,x),...e},n(this,E))}createUserFlairTemplate(e){return de.createUserFlairTemplate({subredditName:n(this,x),...e},n(this,E))}async getUserFlair(e){if(e?.usernames!==void 0)return{users:await Promise.all(e.usernames.map(async i=>{let s=await Ue.getUserFlairBySubreddit({subreddit:n(this,x),name:i},n(this,E));return Ds(s.users[0])}))};{let t=await Ue.getUserFlairBySubreddit({...e,subreddit:n(this,x)},n(this,E));return{next:t.next,prev:t.prev,users:t.users.map(i=>Ds(i))}}}getModQueue(e={type:"all"}){return it.aboutLocation({...e,location:"modqueue",subreddit:n(this,x)},n(this,E))}getReports(e={type:"all"}){return it.aboutLocation({...e,location:"reports",subreddit:n(this,x)},n(this,E))}getSpam(e={type:"all"}){return it.aboutLocation({...e,location:"spam",subreddit:n(this,x)},n(this,E))}getUnmoderated(e={type:"all"}){return it.aboutLocation({...e,location:"unmoderated",subreddit:n(this,x)},n(this,E))}getEdited(e={type:"all"}){return it.aboutLocation({...e,location:"edited",subreddit:n(this,x)},n(this,E))}static aboutLocation(e,t){let i=u.redditAPIPlugins.Moderation,s;switch(e.type){case"post":s="links";break;case"comment":s="comments";break;default:s=void 0}return new W({...e,fetch:async o=>{let a=await i.AboutLocation({...o,...e,only:s},t);return Yk(a,t)}})}getCommentsAndPostsByIds(e){let t=u.redditAPIPlugins.LinksAndComments;return new W({fetch:async()=>{let i=await t.Info({thingIds:e,subreddits:[n(this,an)]},n(this,E));return Yk(i,n(this,E))}})}static async addRemovalReason(e,t,i,s){return(await u.redditAPIPlugins.Subreddits.SubredditAddRemovalReason({title:t,message:i,subreddit:e},s)).id}static async getRemovalReasons(e,t){let s=await u.redditAPIPlugins.Subreddits.SubredditGetRemovalReasons({subreddit:e},t);return s.order.map(o=>({...s.data[o]}))}static async getFromMetadata(e){f(e);let t=e?.[B.Subreddit]?.values[0];return f(t),it.getById(Oe(t),e)}static async getById(e,t){let o=(await u.redditAPIPlugins.LinksAndComments.Info({thingIds:[e],subreddits:[]},t)).data?.children[0]?.data?.displayName;return f(o),it.getByName(o,t)}static async getByName(e,t){let s=await u.redditAPIPlugins.Subreddits.SubredditAbout({subreddit:e},t);if(!s?.data)throw new Error("not found");return new it(s.data,t)}};an=new WeakMap,x=new WeakMap,Eo=new WeakMap,To=new WeakMap,Ro=new WeakMap,Oo=new WeakMap,Fo=new WeakMap,Mo=new WeakMap,Uo=new WeakMap,Bo=new WeakMap,Lo=new WeakMap,dn=new WeakMap,E=new WeakMap;var ve=it;function gO(r){if(r==="public"||r==="private"||r==="restricted"||r==="employees_only"||r==="gold_restricted"||r==="archived")return r;throw new Error(`invalid subreddit type: ${r}`)}function fO(r){if(r==="any"||r==="link"||r==="self")return r;throw new Error(`invalid allowed post type: ${r}`)}function hO(r){if(r==="animated"||r==="giphy"||r==="static"||r==="expression")return r;throw new Error(`invalid comment media type: ${r}`)}function Yk(r,e){let i=(r.data?.children??[]).map(a=>{let c=s(a);if(c!=null)return c;let p=o(a);return p??null}).filter(Boolean);return{after:r.data?.after,before:r.data?.before,children:i};function s(a){try{return new V(a.data,e)}catch{return null}}function o(a){try{return new Z(a.data,e)}catch{return null}}}async function Vv(r,e){return Qk("GetVaultContactByAddress","3e2f7966a5c120e64fd2795d06a46595c52d988185be98d3ed71c3f81ae80d2e",{provider:"ethereum",address:r},e)}async function Jv(r,e){return Qk("GetVaultContactByUserId","a854ddc19d0e22c4f36ed917fdbd568f299f3571427e393aee5e2972080fffe9",{provider:"ethereum",userId:r},e)}async function Qk(r,e,t,i){let o=(await Sr.query(r,e,t,i))?.data?.vault?.contact;return{provider:o?.provider,userId:ie(o?.userId),address:o?.address,createdAt:o?.createdAt,isActive:o?.isActive}}import{CommunityListWidget_CommunityData as vO,GetWidgetsResponse_WidgetItem as ue}from"@devvit/protos";var Do,_o,No,qo,Mm=class Mm{constructor(e,t,i){l(this,Do,void 0);l(this,_o,void 0);l(this,No,void 0);l(this,qo,void 0);$(this),d(this,Do,e.id),d(this,_o,e.shortName),d(this,No,t),d(this,qo,i)}get id(){return n(this,Do)}get name(){return n(this,_o)}get subredditName(){return n(this,No)}toJSON(){return{id:this.id,name:this.name,subredditName:this.subredditName}}delete(){return Mm.delete(this.subredditName,this.id,n(this,qo))}static async getWidgets(e,t){let s=await u.redditAPIPlugins.Widgets.GetWidgets({subreddit:e},t);f(s.layout,"Failed to load widgets for subreddit");let o=s.items,a=[];for(let c of s.layout.sidebar?.order??[]){let p=o[c];switch(p?.kind){case"image":a.push(new ul(p,e,t));break;case"calendar":a.push(new cl(p,e,t));break;case"textarea":a.push(new ml(p,e,t));break;case"button":a.push(new pl(p,e,t));break;case"community-list":a.push(new gl(p,e,t));break;case"post-flair":a.push(new fl(p,e,t));break;case"custom":a.push(new hl(p,e,t));break;case"subreddit-rules":{let g=await u.redditAPIPlugins.Subreddits.SubredditAboutRules({subreddit:e},t);a.push(new Fm(g,p,e,t));break}default:throw new Error(`Unknown widget type: ${p.kind}`)}}return a}static async delete(e,t,i){await u.redditAPIPlugins.Widgets.DeleteWidget({subreddit:e,id:t},i)}static async reorder(e,t,i){await u.redditAPIPlugins.Widgets.OrderWidgets({subreddit:e,order:t},i)}static async add(e,t){switch(e?.type){case"image":return ul.create(e,t);case"calendar":return cl.create(e,t);case"textarea":return ml.create(e,t);case"button":return pl.create(e,t);case"community-list":return gl.create(e,t);case"post-flair":return fl.create(e,t);case"custom":return hl.create(e,t);default:throw new Error("Unknown widget type")}}};Do=new WeakMap,_o=new WeakMap,No=new WeakMap,qo=new WeakMap;var ne=Mm,Ho,vl=class vl extends ne{constructor(t,i,s){super(t,i,s);l(this,Ho,void 0);d(this,Ho,t.data.map(o=>(f(o.url,"Image widget data is missing url"),f(o.height,"Image widget data is missing height"),f(o.width,"Image widget data is missing width"),f(o.linkUrl,"Image widget data is missing linkUrl"),{url:o.url,height:o.height,width:o.width,linkUrl:o.linkUrl})))}get images(){return n(this,Ho)}toJSON(){return{...super.toJSON(),images:this.images}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddImageWidget(t,i);return new vl(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateImageWidget(t,i);return new vl(ue.fromJSON(o),t.subreddit,i)}};Ho=new WeakMap;var ul=vl,jo,Wo,Go,yl=class yl extends ne{constructor(t,i,s){super(t,i,s);l(this,jo,void 0);l(this,Wo,void 0);l(this,Go,void 0);f(t.googleCalendarId,"Calendar widget data is missing googleCalendarId"),f(t.configuration,"Calendar widget data is missing configuration"),f(t.styles,"Calendar widget data is missing styles"),d(this,jo,t.googleCalendarId),d(this,Wo,t.configuration),d(this,Go,t.styles)}get googleCalendarId(){return n(this,jo)}get configuration(){return n(this,Wo)}get styles(){return n(this,Go)}toJSON(){return{...super.toJSON(),googleCalendarId:this.googleCalendarId,configuration:this.configuration,styles:this.styles}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddCalendarWidget(t,i);return new yl(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCalendarWidget(t,i);return new yl(ue.fromJSON(o),t.subreddit,i)}};jo=new WeakMap,Wo=new WeakMap,Go=new WeakMap;var cl=yl,zo,Vo,bl=class bl extends ne{constructor(t,i,s){super(t,i,s);l(this,zo,void 0);l(this,Vo,void 0);f(t.text,"Textarea widget data is missing text"),f(t.styles,"Textarea widget data is missing styles"),d(this,zo,t.text),d(this,Vo,t.styles)}get text(){return n(this,zo)}get styles(){return n(this,Vo)}toJSON(){return{...super.toJSON(),text:this.text,styles:this.styles}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddTextAreaWidget(t,i);return new bl(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateTextAreaWidget(t,i);return new bl(ue.fromJSON(o),t.subreddit,i)}};zo=new WeakMap,Vo=new WeakMap;var ml=bl,Jo,$o,Ko,kl=class kl extends ne{constructor(t,i,s){super(t,i,s);l(this,Jo,void 0);l(this,$o,void 0);l(this,Ko,void 0);f(t.styles,"Button widget data is missing styles"),d(this,Jo,t.buttons),d(this,$o,t.description??""),d(this,Ko,t.styles)}get buttons(){return n(this,Jo)}get description(){return n(this,$o)}get styles(){return n(this,Ko)}toJSON(){return{...super.toJSON(),buttons:this.buttons,description:this.description,styles:this.styles}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddButtonWidget(t,i);return new kl(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateButtonWidget(t,i);return new kl(ue.fromJSON(o),t.subreddit,i)}};Jo=new WeakMap,$o=new WeakMap,Ko=new WeakMap;var pl=kl,Xo,Zo,Pl=class Pl extends ne{constructor(t,i,s){super(t,i,s);l(this,Xo,void 0);l(this,Zo,void 0);d(this,Xo,t.data.map(o=>vO.fromJSON(o))),f(t.styles,"Community list widget data is missing styles"),d(this,Zo,t.styles)}get communities(){return n(this,Xo)}get styles(){return n(this,Zo)}toJSON(){return{...super.toJSON(),communities:this.communities,styles:this.styles}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddCommunityListWidget(t,i);return new Pl(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCommunityListWidget(t,i);return new Pl(ue.fromJSON(o),t.subreddit,i)}};Xo=new WeakMap,Zo=new WeakMap;var gl=Pl,Yo,Qo,ea,Sl=class Sl extends ne{constructor(t,i,s){super(t,i,s);l(this,Yo,void 0);l(this,Qo,void 0);l(this,ea,void 0);if(f(t.styles,"Post flair widget data is missing styles"),d(this,Yo,t.styles),d(this,Qo,t.order.map(o=>t.templates[o])),!(t.display&&t.display==="list"||t.display==="cloud"))throw new Error("Post flair widget data is missing display type");d(this,ea,t.display)}get styles(){return n(this,Yo)}get templates(){return n(this,Qo)}get display(){return n(this,ea)}toJSON(){return{...super.toJSON(),styles:this.styles,templates:this.templates,display:this.display}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddPostFlairWidget(t,i);return new Sl(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdatePostFlairWidget(t,i);return new Sl(ue.fromJSON(o),t.subreddit,i)}};Yo=new WeakMap,Qo=new WeakMap,ea=new WeakMap;var fl=Sl,ta,ra,ia,na,sa,Cl=class Cl extends ne{constructor(t,i,s){super(t,i,s);l(this,ta,void 0);l(this,ra,void 0);l(this,ia,void 0);l(this,na,void 0);l(this,sa,void 0);f(t.stylesheetUrl,"Custom widget data is missing stylesheetUrl"),f(t.height,"Custom widget data is missing height"),f(t.css,"Custom widget data is missing css"),d(this,ta,t.imageData??[]),d(this,ra,t.text??""),d(this,ia,t.stylesheetUrl),d(this,na,t.height),d(this,sa,t.css)}get images(){return n(this,ta)}get text(){return n(this,ra)}get stylesheetUrl(){return n(this,ia)}get height(){return n(this,na)}get css(){return n(this,sa)}toJSON(){return{...super.toJSON(),images:this.images,text:this.text,stylesheetUrl:this.stylesheetUrl,height:this.height,css:this.css}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddCustomWidget(t,i);return new Cl(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCustomWidget(t,i);return new Cl(ue.fromJSON(o),t.subreddit,i)}};ta=new WeakMap,ra=new WeakMap,ia=new WeakMap,na=new WeakMap,sa=new WeakMap;var hl=Cl,oa,Fm=class extends ne{constructor(t,i,s,o){super(i,s,o);l(this,oa,void 0);let a=t.rules.map(({description:c,priority:p,shortName:g,violationReason:v})=>(f(c,"Subreddit rule is missing description"),f(p,"Subreddit rule is missing priority"),f(g,"Subreddit rule is missing shortName"),f(v,"Subreddit rule is missing violationReason"),{description:c,priority:p,shortName:g,violationReason:v}));d(this,oa,a)}get rules(){return n(this,oa)}toJSON(){return{...super.toJSON(),rules:this.rules}}};oa=new WeakMap;var yO=(i=>(i[i.SUBREDDIT_PERMISSIONS=0]="SUBREDDIT_PERMISSIONS",i[i.APPROVED_CONTRIBUTORS_ONLY=1]="APPROVED_CONTRIBUTORS_ONLY",i[i.MODS_ONLY=2]="MODS_ONLY",i))(yO||{}),Pe,Se,ln,un,cn,mn,pn,Ke,qe=class qe{constructor(e,t,i,s){l(this,Pe,void 0);l(this,Se,void 0);l(this,ln,void 0);l(this,un,void 0);l(this,cn,void 0);l(this,mn,void 0);l(this,pn,void 0);l(this,Ke,void 0);$(this),d(this,Pe,e),d(this,Se,t),d(this,ln,i.contentMd),d(this,un,i.revisionId),d(this,cn,new Date(i.revisionDate)),d(this,mn,i.reason??""),f(i.revisionBy?.data,"Wiki page author details are missing"),d(this,pn,new A(i.revisionBy.data,s)),d(this,Ke,s)}get name(){return n(this,Pe)}get subredditName(){return n(this,Se)}get content(){return n(this,ln)}get revisionId(){return n(this,un)}get revisionDate(){return n(this,cn)}get revisionReason(){return n(this,mn)}get revisionAuthor(){return n(this,pn)}toJSON(){return{name:n(this,Pe),subredditName:n(this,Se),content:n(this,ln),revisionId:n(this,un),revisionDate:n(this,cn),revisionReason:n(this,mn),revisionAuthor:n(this,pn).toJSON()}}async update(e,t){return qe.updatePage({subredditName:n(this,Se),page:n(this,Pe),content:e,reason:t},n(this,Ke))}async getRevisions(e){return qe.getPageRevisions({subredditName:n(this,Se),page:n(this,Pe),...e},n(this,Ke))}async revertTo(e){return qe.revertPage(n(this,Se),n(this,Pe),e,n(this,Ke))}async getSettings(){return qe.getPageSettings(n(this,Se),n(this,Pe),n(this,Ke))}async updateSettings(e){return qe.updatePageSettings({subredditName:n(this,Se),page:n(this,Pe),listed:e.listed,permLevel:e.permLevel},n(this,Ke))}async addEditor(e){return qe.addEditor(n(this,Se),n(this,Pe),e,n(this,Ke))}async removeEditor(e){return qe.removeEditor(n(this,Se),n(this,Pe),e,n(this,Ke))}static async getPage(e,t,i){let o=await u.redditAPIPlugins.Wiki.GetWikiPage({subreddit:e,page:t},i);return f(o.data,"Failed to get wiki page"),new qe(t,e,o.data,i)}static async getPages(e,t){return(await u.redditAPIPlugins.Wiki.GetWikiPages({subreddit:e},t)).data||[]}static async createPage(e,t){return qe.updatePage(e,t)}static async updatePage(e,t){return await u.redditAPIPlugins.Wiki.EditWikiPage({subreddit:e.subredditName,page:e.page,content:e.content,reason:e.reason??""},t),qe.getPage(e.subredditName,e.page,t)}static getPageRevisions(e,t){let i=u.redditAPIPlugins.Wiki;return new W({hasMore:!0,after:e.after,limit:e.limit,pageSize:e.pageSize,async fetch(s){let o=await i.GetWikiPageRevisions({subreddit:e.subredditName,page:e.page,limit:s.limit,after:s.after,before:s.before},t);return bO(o,t)}})}static async revertPage(e,t,i,s){await u.redditAPIPlugins.Wiki.RevertWikiPage({subreddit:e,page:t,revision:i},s)}static async getPageSettings(e,t,i){let o=await u.redditAPIPlugins.Wiki.GetWikiPageSettings({subreddit:e,page:t},i);return f(o.data,"Failed to get wiki page settings"),new Il(o.data,i)}static async updatePageSettings(e,t){let s=await u.redditAPIPlugins.Wiki.UpdateWikiPageSettings({subreddit:e.subredditName,page:e.page,listed:e.listed?"on":"",permlevel:e.permLevel},t);return f(s.data,"Failed to update wiki page settings"),new Il(s.data,t)}static async addEditor(e,t,i,s){await u.redditAPIPlugins.Wiki.AllowEditor({act:"add",subreddit:e,page:t,username:i},s)}static async removeEditor(e,t,i,s){await u.redditAPIPlugins.Wiki.AllowEditor({act:"del",subreddit:e,page:t,username:i},s)}};Pe=new WeakMap,Se=new WeakMap,ln=new WeakMap,un=new WeakMap,cn=new WeakMap,mn=new WeakMap,pn=new WeakMap,Ke=new WeakMap;var ye=qe,gn,fn,hn,vn,yn,bn,Um=class{constructor(e,t){l(this,gn,void 0);l(this,fn,void 0);l(this,hn,void 0);l(this,vn,void 0);l(this,yn,void 0);l(this,bn,void 0);d(this,gn,e.id),d(this,fn,e.page),d(this,hn,new Date(e.timestamp)),f(e.author?.data,"Wiki page revision author details are missing"),d(this,vn,new A(e.author.data,t)),d(this,yn,e.reason??""),d(this,bn,e.revisionHidden??!1)}get id(){return n(this,gn)}get page(){return n(this,fn)}get date(){return n(this,hn)}get author(){return n(this,vn)}get reason(){return n(this,yn)}get hidden(){return n(this,bn)}toJSON(){return{id:n(this,gn),page:n(this,fn),date:n(this,hn),author:n(this,vn).toJSON(),reason:n(this,yn),hidden:n(this,bn)}}};gn=new WeakMap,fn=new WeakMap,hn=new WeakMap,vn=new WeakMap,yn=new WeakMap,bn=new WeakMap;var kn,Pn,Sn,Il=class{constructor(e,t){l(this,kn,void 0);l(this,Pn,void 0);l(this,Sn,void 0);d(this,kn,e.listed),d(this,Pn,e.permLevel),d(this,Sn,e.editors.map(i=>(f(i.data,"Wiki page editor details are missing"),new A(i.data,t))))}get listed(){return n(this,kn)}get permLevel(){return n(this,Pn)}get editors(){return n(this,Sn)}toJSON(){return{listed:n(this,kn),permLevel:n(this,Pn),editors:n(this,Sn).map(e=>e.toJSON())}}};kn=new WeakMap,Pn=new WeakMap,Sn=new WeakMap;function bO(r,e){return f(r.data?.children,"Wiki page revision listing is missing children"),{children:r.data.children.map(i=>new Um(i,e)),before:r.data.before,after:r.data.after}}var kO=(t=>(t.Gallery="GALLERY",t.Timeline="TIMELINE",t))(kO||{});function PO(r){return r==="GALLERY"?"GALLERY":"TIMELINE"}var He,Ce,da,Cn,In,la,ua,ca,ma,ht,pa,ga,An,aa=class aa{constructor(e,t){l(this,He,void 0);l(this,Ce,void 0);l(this,da,void 0);l(this,Cn,void 0);l(this,In,void 0);l(this,la,void 0);l(this,ua,void 0);l(this,ca,void 0);l(this,ma,void 0);l(this,ht,void 0);l(this,pa,void 0);l(this,ga,void 0);l(this,An,void 0);f(e.collectionId,"Collection Id is missing or undefined"),f(e.subredditId,"Subreddit Id is missing or undefined"),f(e.title,"Collection title is missing or undefined"),f(e.authorId,"Collection author's id is missing or undefined"),f(e.authorName,"Collection author's id is missing or undefined"),f(e.createdAtUtc,"Collection create timestamp is missing"),f(e.lastUpdateUtc,"Collection last updated timestamp is missing"),d(this,He,t),d(this,Ce,e.collectionId),d(this,da,e.subredditId),d(this,Cn,e.title),d(this,In,e.description||""),d(this,la,e.authorId),d(this,ua,e.authorName),d(this,ca,e.permalink),d(this,ma,e.primaryLinkId),d(this,ht,e.linkIds||[]),d(this,An,PO(e.displayLayout)),d(this,pa,e.createdAtUtc),d(this,ga,e.lastUpdateUtc),$(this)}get id(){return n(this,Ce)}get subredditId(){return n(this,da)}get title(){return n(this,Cn)}get description(){return n(this,In)}get authorId(){return n(this,la)}get authorName(){return n(this,ua)}get permalink(){return n(this,ca)}get primaryLinkId(){return n(this,ma)}get linkIds(){return n(this,ht)}get createdAtUtc(){return n(this,pa)}get lastUpdateUtc(){return n(this,ga)}get displayLayout(){return n(this,An)}static async getCollectionById(e,t){let s=await u.redditAPIPlugins.PostCollections.Collection(e,t);return new aa(s,t)}static async create(e,t){let s=await u.redditAPIPlugins.PostCollections.Create({srFullname:e.subredditId,title:e.title,description:e.description,displayLayout:e.displayLayout},t);return new aa(s,t)}static async getCollectionsForSubreddit(e,t){return(await u.redditapiv2Plugin.GetSubredditCollections({srFullname:e.subredditId},t)).collections.map(s=>new aa(s,t))}async addPost(e){await u.redditAPIPlugins.PostCollections.AddPost({collectionId:n(this,Ce),linkFullname:e},n(this,He)),n(this,ht).push(e)}async removePost(e){await u.redditAPIPlugins.PostCollections.RemovePost({collectionId:n(this,Ce),linkFullname:e},n(this,He)),d(this,ht,n(this,ht).filter(i=>i!==e))}async delete(){await u.redditAPIPlugins.PostCollections.Delete({collectionId:n(this,Ce)},n(this,He))}async follow(e){await u.redditAPIPlugins.PostCollections.Follow({collectionId:n(this,Ce),follow:e},n(this,He))}async reorder(e){await u.redditAPIPlugins.PostCollections.Reorder({collectionId:n(this,Ce),linkIds:e.join(",")},n(this,He)),d(this,ht,e)}async updateTitle(e){await u.redditAPIPlugins.PostCollections.UpdateTitle({collectionId:n(this,Ce),title:e},n(this,He)),d(this,Cn,e)}async updateDescription(e){await u.redditAPIPlugins.PostCollections.UpdateDescription({collectionId:n(this,Ce),description:e},n(this,He)),d(this,In,e)}async updateLayout(e){await u.redditAPIPlugins.PostCollections.UpdateDisplayLayout({collectionId:n(this,Ce),displayLayout:e},n(this,He)),d(this,An,e)}};He=new WeakMap,Ce=new WeakMap,da=new WeakMap,Cn=new WeakMap,In=new WeakMap,la=new WeakMap,ua=new WeakMap,ca=new WeakMap,ma=new WeakMap,ht=new WeakMap,pa=new WeakMap,ga=new WeakMap,An=new WeakMap;var Qr=aa;var SO=["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"],CO=["border-image","border-image-source","behavior","expression","list-style-image","cursor","content"],IO=["onload","onerror","onclick","onmouseover"];function AO(r){return/xmlns=["']http:\/\/www\.w3\.org\/2000\/svg["']/.test(r)?r:r.replace(/<svg\b/,'<svg xmlns="http://www.w3.org/2000/svg"')}function eP(r){if(r){if(!r.trim().startsWith("<svg")){console.log("The provided string is not a valid SVG.");return}try{let e=new RegExp(`<\\s*(${SO.join("|")})\\b`,"gi"),t=new RegExp(`(${CO.join("|")})\\s*:\\s*url\\s*\\((['"]?)(.*?)\\2\\)`,"gi"),i=new RegExp(`(${IO.join("|")})\\s*(=\\s*(['"]?)(.*?)\\3)?`,"gi");r=r.trim().replace(/\s+/g," "),r=AO(r);let s=r.match(e)||[],o=r.match(t)||[],a=r.match(i)||[],c=!1;return s.length>0&&(c=!0,console.warn(`Disallowed elements detected in SVG: ${s.map(p=>p.replace("<","")).join(", ")}`)),o.length>0&&(c=!0,console.warn(`Disallowed styles detected in SVG: ${o.map(p=>p.split(":")[0]).join(", ")}`)),a.length>0&&(c=!0,console.warn(`Disallowed attributes detected in SVG: ${a.map(p=>p.split("=")[0]).join(", ")}`)),c?void 0:r}catch{return}}}function Qq(r,...e){let t="";return r.forEach((i,s)=>{t+=i;let o=e[s];o!==void 0&&(t+=`${o}`)}),t=eP(t),t===void 0?"":`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(t)}`}var tP="ServerCallRequired";var rP=Fr(jd(),1);var nt,vt,fa,wn,ha,Or,va,Bm=class{constructor(e,t,i){l(this,nt,void 0);l(this,vt,void 0);l(this,fa,void 0);l(this,wn,void 0);l(this,ha,void 0);l(this,Or,void 0);l(this,va,void 0);d(this,nt,!!i.context.devvitContext.debug.useAsync),n(this,nt)&&console.debug("[useAsync] v1",t),this.state={data:null,loading:!1,error:null,depends:null},d(this,vt,i.hookId),d(this,fa,e),d(this,wn,i.invalidate),d(this,ha,i.context),d(this,Or,t.depends??null),d(this,va,t.enabled??!0)}onStateLoaded(){if(n(this,va)&&(n(this,nt)&&console.debug("[useAsync] async onLoad ",n(this,vt),this.state),n(this,nt)&&console.debug("[useAsync] async onLoad have ",n(this,Or),"and",this.state.depends),!(0,rP.default)(n(this,Or),this.state.depends)||this.state.data===null&&this.state.error===null&&this.state.loading===!1)){this.state.loading=!0,this.state.depends=n(this,Or),n(this,wn).call(this);let e={hook:n(this,vt),async:!0,asyncRequest:{requestId:n(this,vt)+"-"+JSON.stringify(this.state.depends)}};n(this,nt)&&console.debug("[useAsync] onLoad requeue"),n(this,ha).addToRequeueEvents(e)}}async onUIEvent(e,t){if(e.asyncRequest){let i={requestId:e.asyncRequest.requestId};try{i.data={value:await n(this,fa).call(this)}}catch(o){if(o instanceof Error){if(o.message===tP)throw o;i.error={message:o.message,details:o.stack??""}}else i.error={message:"Unknown error",details:String(o)}}let s={asyncResponse:i,hook:n(this,vt)};n(this,nt)&&console.debug("[useAsync] onReq requeue"),t.addToRequeueEvents(s)}else if(e.asyncResponse){let i=n(this,vt)+"-"+JSON.stringify(this.state.depends);if(e.asyncResponse.requestId===i){let s={data:e.asyncResponse.data?.value,loading:!1,error:e.asyncResponse.error??null};this.state={...this.state,...s},n(this,wn).call(this)}else n(this,nt)&&console.debug("[useAsync] onResp skip, stale event")}else throw new Error("Unknown event type")}};nt=new WeakMap,vt=new WeakMap,fa=new WeakMap,wn=new WeakMap,ha=new WeakMap,Or=new WeakMap,va=new WeakMap;function wO(r,e={}){return _e({namespace:"useAsync"},i=>new Bm(r,e,i)).state}export{JM as ALL_ICON_NAMES,zv as AboutLocations,pl as ButtonWidget,cl as CalendarWidget,kO as CollectionDisplayLayout,Z as Comment,gl as CommunityListWidget,hl as CustomWidget,u as Devvit,Ue as Flair,de as FlairTemplate,$R as FlairType,St as Hook,ul as ImageWidget,W as Listing,mO as ModMailActionType,uO as ModMailConversationState,pd as ModMailService,Me as ModNote,V as Post,Qr as PostCollection,fl as PostFlairWidget,or as PrivateMessage,Ms as RichTextBuilder,Ic as SettingScope,oO as SocialLinkType,ve as Subreddit,Fm as SubredditRulesWidget,ml as TextAreaWidget,A as User,ne as Widget,ye as WikiPage,yO as WikiPagePermissionLevel,Um as WikiPageRevision,Il as WikiPageSettings,Ds as convertUserFlairProtoToAPI,md as getModerationLog,Vv as getVaultByAddress,Jv as getVaultByUserId,Qq as svg,wO as useAsync,DR as useAsyncState,lm as useForm,gm as useInterval,hm as useState};
1
+ var Lk=Object.create;var gm=Object.defineProperty;var Dk=Object.getOwnPropertyDescriptor;var _k=Object.getOwnPropertyNames;var Nk=Object.getPrototypeOf,qk=Object.prototype.hasOwnProperty;var fm=r=>{throw TypeError(r)};var h=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var Hk=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of _k(e))!qk.call(r,s)&&s!==t&&gm(r,s,{get:()=>e[s],enumerable:!(i=Dk(e,s))||i.enumerable});return r};var Br=(r,e,t)=>(t=r!=null?Lk(Nk(r)):{},Hk(e||!r||!r.__esModule?gm(t,"default",{value:r,enumerable:!0}):t,r));var il=(r,e,t)=>e.has(r)||fm("Cannot "+t);var n=(r,e,t)=>(il(r,e,"read from private field"),t?t.call(r):e.get(r)),l=(r,e,t)=>e.has(r)?fm("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),d=(r,e,t,i)=>(il(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),b=(r,e,t)=>(il(r,e,"access private method"),t);var de=h((aO,hm)=>{hm.exports=function(r){try{return!!r()}catch{return!0}}});var ua=h((dO,vm)=>{var jk=de();vm.exports=!jk(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")})});var Y=h((lO,km)=>{var ym=ua(),bm=Function.prototype,nl=bm.call,Wk=ym&&bm.bind.bind(nl,nl);km.exports=ym?Wk:function(r){return function(){return nl.apply(r,arguments)}}});var Sm=h((uO,Pm)=>{var Gk=Math.ceil,zk=Math.floor;Pm.exports=Math.trunc||function(e){var t=+e;return(t>0?zk:Gk)(t)}});var ca=h((cO,Cm)=>{var Vk=Sm();Cm.exports=function(r){var e=+r;return e!==e||e===0?0:Vk(e)}});var pe=h((mO,Im)=>{var ma=function(r){return r&&r.Math==Math&&r};Im.exports=ma(typeof globalThis=="object"&&globalThis)||ma(typeof window=="object"&&window)||ma(typeof self=="object"&&self)||ma(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var Lr=h((pO,Am)=>{Am.exports=!1});var pa=h((gO,xm)=>{var wm=pe(),Jk=Object.defineProperty;xm.exports=function(r,e){try{Jk(wm,r,{value:e,configurable:!0,writable:!0})}catch{wm[r]=e}return e}});var ga=h((fO,Tm)=>{var $k=pe(),Kk=pa(),Em="__core-js_shared__",Xk=$k[Em]||Kk(Em,{});Tm.exports=Xk});var sl=h((hO,Om)=>{var Zk=Lr(),Rm=ga();(Om.exports=function(r,e){return Rm[r]||(Rm[r]=e!==void 0?e:{})})("versions",[]).push({version:"3.27.2",mode:Zk?"pure":"global",copyright:"\xA9 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.27.2/LICENSE",source:"https://github.com/zloirock/core-js"})});var fa=h((vO,Fm)=>{Fm.exports=function(r){return r==null}});var ha=h((yO,Mm)=>{var Yk=fa(),Qk=TypeError;Mm.exports=function(r){if(Yk(r))throw Qk("Can't call method on "+r);return r}});var En=h((bO,Um)=>{var eP=ha(),tP=Object;Um.exports=function(r){return tP(eP(r))}});var Ae=h((kO,Bm)=>{var rP=Y(),iP=En(),nP=rP({}.hasOwnProperty);Bm.exports=Object.hasOwn||function(e,t){return nP(iP(e),t)}});var ol=h((PO,Lm)=>{var sP=Y(),oP=0,aP=Math.random(),dP=sP(1 .toString);Lm.exports=function(r){return"Symbol("+(r===void 0?"":r)+")_"+dP(++oP+aP,36)}});var _m=h((SO,Dm)=>{Dm.exports=typeof navigator<"u"&&String(navigator.userAgent)||""});var zm=h((CO,Gm)=>{var Wm=pe(),al=_m(),Nm=Wm.process,qm=Wm.Deno,Hm=Nm&&Nm.versions||qm&&qm.version,jm=Hm&&Hm.v8,Ge,va;jm&&(Ge=jm.split("."),va=Ge[0]>0&&Ge[0]<4?1:+(Ge[0]+Ge[1]));!va&&al&&(Ge=al.match(/Edge\/(\d+)/),(!Ge||Ge[1]>=74)&&(Ge=al.match(/Chrome\/(\d+)/),Ge&&(va=+Ge[1])));Gm.exports=va});var dl=h((IO,Jm)=>{var Vm=zm(),lP=de();Jm.exports=!!Object.getOwnPropertySymbols&&!lP(function(){var r=Symbol();return!String(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&Vm&&Vm<41})});var ll=h((AO,$m)=>{var uP=dl();$m.exports=uP&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var we=h((wO,Xm)=>{var cP=pe(),mP=sl(),Km=Ae(),pP=ol(),gP=dl(),fP=ll(),Dr=cP.Symbol,ul=mP("wks"),hP=fP?Dr.for||Dr:Dr&&Dr.withoutSetter||pP;Xm.exports=function(r){return Km(ul,r)||(ul[r]=gP&&Km(Dr,r)?Dr[r]:hP("Symbol."+r)),ul[r]}});var Qm=h((xO,Ym)=>{var vP=we(),yP=vP("toStringTag"),Zm={};Zm[yP]="z";Ym.exports=String(Zm)==="[object z]"});var ml=h((EO,ep)=>{var cl=typeof document=="object"&&document.all,bP=typeof cl>"u"&&cl!==void 0;ep.exports={all:cl,IS_HTMLDDA:bP}});var Q=h((TO,rp)=>{var tp=ml(),kP=tp.all;rp.exports=tp.IS_HTMLDDA?function(r){return typeof r=="function"||r===kP}:function(r){return typeof r=="function"}});var ya=h((RO,np)=>{var ip=Y(),PP=ip({}.toString),SP=ip("".slice);np.exports=function(r){return SP(PP(r),8,-1)}});var Tn=h((OO,sp)=>{var CP=Qm(),IP=Q(),ba=ya(),AP=we(),wP=AP("toStringTag"),xP=Object,EP=ba(function(){return arguments}())=="Arguments",TP=function(r,e){try{return r[e]}catch{}};sp.exports=CP?ba:function(r){var e,t,i;return r===void 0?"Undefined":r===null?"Null":typeof(t=TP(e=xP(r),wP))=="string"?t:EP?ba(e):(i=ba(e))=="Object"&&IP(e.callee)?"Arguments":i}});var Rn=h((FO,op)=>{var RP=Tn(),OP=String;op.exports=function(r){if(RP(r)==="Symbol")throw TypeError("Cannot convert a Symbol value to a string");return OP(r)}});var gl=h((MO,lp)=>{var pl=Y(),FP=ca(),MP=Rn(),UP=ha(),BP=pl("".charAt),ap=pl("".charCodeAt),LP=pl("".slice),dp=function(r){return function(e,t){var i=MP(UP(e)),s=FP(t),o=i.length,a,c;return s<0||s>=o?r?"":void 0:(a=ap(i,s),a<55296||a>56319||s+1===o||(c=ap(i,s+1))<56320||c>57343?r?BP(i,s):a:r?LP(i,s,s+2):(a-55296<<10)+(c-56320)+65536)}};lp.exports={codeAt:dp(!1),charAt:dp(!0)}});var mp=h((UO,cp)=>{var DP=pe(),_P=Q(),up=DP.WeakMap;cp.exports=_P(up)&&/native code/.test(String(up))});var Pt=h((BO,fp)=>{var pp=Q(),gp=ml(),NP=gp.all;fp.exports=gp.IS_HTMLDDA?function(r){return typeof r=="object"?r!==null:pp(r)||r===NP}:function(r){return typeof r=="object"?r!==null:pp(r)}});var ge=h((LO,hp)=>{var qP=de();hp.exports=!qP(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var hl=h((DO,yp)=>{var HP=pe(),vp=Pt(),fl=HP.document,jP=vp(fl)&&vp(fl.createElement);yp.exports=function(r){return jP?fl.createElement(r):{}}});var vl=h((_O,bp)=>{var WP=ge(),GP=de(),zP=hl();bp.exports=!WP&&!GP(function(){return Object.defineProperty(zP("div"),"a",{get:function(){return 7}}).a!=7})});var yl=h((NO,kp)=>{var VP=ge(),JP=de();kp.exports=VP&&JP(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Ye=h((qO,Pp)=>{var $P=Pt(),KP=String,XP=TypeError;Pp.exports=function(r){if($P(r))return r;throw XP(KP(r)+" is not an object")}});var ze=h((HO,Sp)=>{var ZP=ua(),ka=Function.prototype.call;Sp.exports=ZP?ka.bind(ka):function(){return ka.apply(ka,arguments)}});var On=h((jO,Cp)=>{var bl=pe(),YP=Q(),QP=function(r){return YP(r)?r:void 0};Cp.exports=function(r,e){return arguments.length<2?QP(bl[r]):bl[r]&&bl[r][e]}});var kl=h((WO,Ip)=>{var eS=Y();Ip.exports=eS({}.isPrototypeOf)});var Pl=h((GO,Ap)=>{var tS=On(),rS=Q(),iS=kl(),nS=ll(),sS=Object;Ap.exports=nS?function(r){return typeof r=="symbol"}:function(r){var e=tS("Symbol");return rS(e)&&iS(e.prototype,sS(r))}});var Sl=h((zO,wp)=>{var oS=String;wp.exports=function(r){try{return oS(r)}catch{return"Object"}}});var Pa=h((VO,xp)=>{var aS=Q(),dS=Sl(),lS=TypeError;xp.exports=function(r){if(aS(r))return r;throw lS(dS(r)+" is not a function")}});var Sa=h((JO,Ep)=>{var uS=Pa(),cS=fa();Ep.exports=function(r,e){var t=r[e];return cS(t)?void 0:uS(t)}});var Rp=h(($O,Tp)=>{var Cl=ze(),Il=Q(),Al=Pt(),mS=TypeError;Tp.exports=function(r,e){var t,i;if(e==="string"&&Il(t=r.toString)&&!Al(i=Cl(t,r))||Il(t=r.valueOf)&&!Al(i=Cl(t,r))||e!=="string"&&Il(t=r.toString)&&!Al(i=Cl(t,r)))return i;throw mS("Can't convert object to primitive value")}});var Up=h((KO,Mp)=>{var pS=ze(),Op=Pt(),Fp=Pl(),gS=Sa(),fS=Rp(),hS=we(),vS=TypeError,yS=hS("toPrimitive");Mp.exports=function(r,e){if(!Op(r)||Fp(r))return r;var t=gS(r,yS),i;if(t){if(e===void 0&&(e="default"),i=pS(t,r,e),!Op(i)||Fp(i))return i;throw vS("Can't convert object to primitive value")}return e===void 0&&(e="number"),fS(r,e)}});var Ca=h((XO,Bp)=>{var bS=Up(),kS=Pl();Bp.exports=function(r){var e=bS(r,"string");return kS(e)?e:e+""}});var Qe=h(Dp=>{var PS=ge(),SS=vl(),CS=yl(),Ia=Ye(),Lp=Ca(),IS=TypeError,wl=Object.defineProperty,AS=Object.getOwnPropertyDescriptor,xl="enumerable",El="configurable",Tl="writable";Dp.f=PS?CS?function(e,t,i){if(Ia(e),t=Lp(t),Ia(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Tl in i&&!i[Tl]){var s=AS(e,t);s&&s[Tl]&&(e[t]=i.value,i={configurable:El in i?i[El]:s[El],enumerable:xl in i?i[xl]:s[xl],writable:!1})}return wl(e,t,i)}:wl:function(e,t,i){if(Ia(e),t=Lp(t),Ia(i),SS)try{return wl(e,t,i)}catch{}if("get"in i||"set"in i)throw IS("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var _r=h((YO,_p)=>{_p.exports=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}}});var Aa=h((QO,Np)=>{var wS=ge(),xS=Qe(),ES=_r();Np.exports=wS?function(r,e,t){return xS.f(r,e,ES(1,t))}:function(r,e,t){return r[e]=t,r}});var wa=h((eF,Hp)=>{var TS=sl(),RS=ol(),qp=TS("keys");Hp.exports=function(r){return qp[r]||(qp[r]=RS(r))}});var xa=h((tF,jp)=>{jp.exports={}});var Nr=h((rF,zp)=>{var OS=mp(),Gp=pe(),FS=Pt(),MS=Aa(),Rl=Ae(),Ol=ga(),US=wa(),BS=xa(),Wp="Object already initialized",Fl=Gp.TypeError,LS=Gp.WeakMap,Ea,Fn,Ta,DS=function(r){return Ta(r)?Fn(r):Ea(r,{})},_S=function(r){return function(e){var t;if(!FS(e)||(t=Fn(e)).type!==r)throw Fl("Incompatible receiver, "+r+" required");return t}};OS||Ol.state?(Ve=Ol.state||(Ol.state=new LS),Ve.get=Ve.get,Ve.has=Ve.has,Ve.set=Ve.set,Ea=function(r,e){if(Ve.has(r))throw Fl(Wp);return e.facade=r,Ve.set(r,e),e},Fn=function(r){return Ve.get(r)||{}},Ta=function(r){return Ve.has(r)}):(Qt=US("state"),BS[Qt]=!0,Ea=function(r,e){if(Rl(r,Qt))throw Fl(Wp);return e.facade=r,MS(r,Qt,e),e},Fn=function(r){return Rl(r,Qt)?r[Qt]:{}},Ta=function(r){return Rl(r,Qt)});var Ve,Qt;zp.exports={set:Ea,get:Fn,has:Ta,enforce:DS,getterFor:_S}});var Ml=h($p=>{"use strict";var Vp={}.propertyIsEnumerable,Jp=Object.getOwnPropertyDescriptor,NS=Jp&&!Vp.call({1:2},1);$p.f=NS?function(e){var t=Jp(this,e);return!!t&&t.enumerable}:Vp});var Bl=h((nF,Kp)=>{var qS=Y(),HS=de(),jS=ya(),Ul=Object,WS=qS("".split);Kp.exports=HS(function(){return!Ul("z").propertyIsEnumerable(0)})?function(r){return jS(r)=="String"?WS(r,""):Ul(r)}:Ul});var qr=h((sF,Xp)=>{var GS=Bl(),zS=ha();Xp.exports=function(r){return GS(zS(r))}});var Ll=h(Yp=>{var VS=ge(),JS=ze(),$S=Ml(),KS=_r(),XS=qr(),ZS=Ca(),YS=Ae(),QS=vl(),Zp=Object.getOwnPropertyDescriptor;Yp.f=VS?Zp:function(e,t){if(e=XS(e),t=ZS(t),QS)try{return Zp(e,t)}catch{}if(YS(e,t))return KS(!JS($S.f,e,t),e[t])}});var Nl=h((aF,eg)=>{var Dl=ge(),eC=Ae(),Qp=Function.prototype,tC=Dl&&Object.getOwnPropertyDescriptor,_l=eC(Qp,"name"),rC=_l&&function(){}.name==="something",iC=_l&&(!Dl||Dl&&tC(Qp,"name").configurable);eg.exports={EXISTS:_l,PROPER:rC,CONFIGURABLE:iC}});var Hl=h((dF,tg)=>{var nC=Y(),sC=Q(),ql=ga(),oC=nC(Function.toString);sC(ql.inspectSource)||(ql.inspectSource=function(r){return oC(r)});tg.exports=ql.inspectSource});var Gl=h((lF,ng)=>{var Wl=Y(),aC=de(),dC=Q(),Ra=Ae(),jl=ge(),lC=Nl().CONFIGURABLE,uC=Hl(),ig=Nr(),cC=ig.enforce,mC=ig.get,rg=String,Oa=Object.defineProperty,pC=Wl("".slice),gC=Wl("".replace),fC=Wl([].join),hC=jl&&!aC(function(){return Oa(function(){},"length",{value:8}).length!==8}),vC=String(String).split("String"),yC=ng.exports=function(r,e,t){pC(rg(e),0,7)==="Symbol("&&(e="["+gC(rg(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),t&&t.getter&&(e="get "+e),t&&t.setter&&(e="set "+e),(!Ra(r,"name")||lC&&r.name!==e)&&(jl?Oa(r,"name",{value:e,configurable:!0}):r.name=e),hC&&t&&Ra(t,"arity")&&r.length!==t.arity&&Oa(r,"length",{value:t.arity});try{t&&Ra(t,"constructor")&&t.constructor?jl&&Oa(r,"prototype",{writable:!1}):r.prototype&&(r.prototype=void 0)}catch{}var i=cC(r);return Ra(i,"source")||(i.source=fC(vC,typeof e=="string"?e:"")),r};Function.prototype.toString=yC(function(){return dC(this)&&mC(this).source||uC(this)},"toString")});var er=h((uF,sg)=>{var bC=Q(),kC=Qe(),PC=Gl(),SC=pa();sg.exports=function(r,e,t,i){i||(i={});var s=i.enumerable,o=i.name!==void 0?i.name:e;if(bC(t)&&PC(t,o,i),i.global)s?r[e]=t:SC(e,t);else{try{i.unsafe?r[e]&&(s=!0):delete r[e]}catch{}s?r[e]=t:kC.f(r,e,{value:t,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return r}});var zl=h((cF,og)=>{var CC=ca(),IC=Math.max,AC=Math.min;og.exports=function(r,e){var t=CC(r);return t<0?IC(t+e,0):AC(t,e)}});var dg=h((mF,ag)=>{var wC=ca(),xC=Math.min;ag.exports=function(r){return r>0?xC(wC(r),9007199254740991):0}});var Fa=h((pF,lg)=>{var EC=dg();lg.exports=function(r){return EC(r.length)}});var mg=h((gF,cg)=>{var TC=qr(),RC=zl(),OC=Fa(),ug=function(r){return function(e,t,i){var s=TC(e),o=OC(s),a=RC(i,o),c;if(r&&t!=t){for(;o>a;)if(c=s[a++],c!=c)return!0}else for(;o>a;a++)if((r||a in s)&&s[a]===t)return r||a||0;return!r&&-1}};cg.exports={includes:ug(!0),indexOf:ug(!1)}});var Jl=h((fF,gg)=>{var FC=Y(),Vl=Ae(),MC=qr(),UC=mg().indexOf,BC=xa(),pg=FC([].push);gg.exports=function(r,e){var t=MC(r),i=0,s=[],o;for(o in t)!Vl(BC,o)&&Vl(t,o)&&pg(s,o);for(;e.length>i;)Vl(t,o=e[i++])&&(~UC(s,o)||pg(s,o));return s}});var Ma=h((hF,fg)=>{fg.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var vg=h(hg=>{var LC=Jl(),DC=Ma(),_C=DC.concat("length","prototype");hg.f=Object.getOwnPropertyNames||function(e){return LC(e,_C)}});var $l=h(yg=>{yg.f=Object.getOwnPropertySymbols});var kg=h((bF,bg)=>{var NC=On(),qC=Y(),HC=vg(),jC=$l(),WC=Ye(),GC=qC([].concat);bg.exports=NC("Reflect","ownKeys")||function(e){var t=HC.f(WC(e)),i=jC.f;return i?GC(t,i(e)):t}});var Cg=h((kF,Sg)=>{var Pg=Ae(),zC=kg(),VC=Ll(),JC=Qe();Sg.exports=function(r,e,t){for(var i=zC(e),s=JC.f,o=VC.f,a=0;a<i.length;a++){var c=i[a];!Pg(r,c)&&!(t&&Pg(t,c))&&s(r,c,o(e,c))}}});var Ag=h((PF,Ig)=>{var $C=de(),KC=Q(),XC=/#|\.prototype\./,Mn=function(r,e){var t=YC[ZC(r)];return t==eI?!0:t==QC?!1:KC(e)?$C(e):!!e},ZC=Mn.normalize=function(r){return String(r).replace(XC,".").toLowerCase()},YC=Mn.data={},QC=Mn.NATIVE="N",eI=Mn.POLYFILL="P";Ig.exports=Mn});var Un=h((SF,wg)=>{var Kl=pe(),tI=Ll().f,rI=Aa(),iI=er(),nI=pa(),sI=Cg(),oI=Ag();wg.exports=function(r,e){var t=r.target,i=r.global,s=r.stat,o,a,c,p,g,v;if(i?a=Kl:s?a=Kl[t]||nI(t,{}):a=(Kl[t]||{}).prototype,a)for(c in e){if(g=e[c],r.dontCallGetSet?(v=tI(a,c),p=v&&v.value):p=a[c],o=oI(i?c:t+(s?".":"#")+c,r.forced),!o&&p!==void 0){if(typeof g==typeof p)continue;sI(g,p)}(r.sham||p&&p.sham)&&rI(g,"sham",!0),iI(a,c,g,r)}}});var Xl=h((CF,xg)=>{var aI=Jl(),dI=Ma();xg.exports=Object.keys||function(e){return aI(e,dI)}});var Tg=h(Eg=>{var lI=ge(),uI=yl(),cI=Qe(),mI=Ye(),pI=qr(),gI=Xl();Eg.f=lI&&!uI?Object.defineProperties:function(e,t){mI(e);for(var i=pI(t),s=gI(t),o=s.length,a=0,c;o>a;)cI.f(e,c=s[a++],i[c]);return e}});var Og=h((AF,Rg)=>{var fI=On();Rg.exports=fI("document","documentElement")});var Bn=h((wF,_g)=>{var hI=Ye(),vI=Tg(),Fg=Ma(),yI=xa(),bI=Og(),kI=hl(),PI=wa(),Mg=">",Ug="<",Yl="prototype",Ql="script",Lg=PI("IE_PROTO"),Zl=function(){},Dg=function(r){return Ug+Ql+Mg+r+Ug+"/"+Ql+Mg},Bg=function(r){r.write(Dg("")),r.close();var e=r.parentWindow.Object;return r=null,e},SI=function(){var r=kI("iframe"),e="java"+Ql+":",t;return r.style.display="none",bI.appendChild(r),r.src=String(e),t=r.contentWindow.document,t.open(),t.write(Dg("document.F=Object")),t.close(),t.F},Ua,Ba=function(){try{Ua=new ActiveXObject("htmlfile")}catch{}Ba=typeof document<"u"?document.domain&&Ua?Bg(Ua):SI():Bg(Ua);for(var r=Fg.length;r--;)delete Ba[Yl][Fg[r]];return Ba()};yI[Lg]=!0;_g.exports=Object.create||function(e,t){var i;return e!==null?(Zl[Yl]=hI(e),i=new Zl,Zl[Yl]=null,i[Lg]=e):i=Ba(),t===void 0?i:vI.f(i,t)}});var qg=h((xF,Ng)=>{var CI=de();Ng.exports=!CI(function(){function r(){}return r.prototype.constructor=null,Object.getPrototypeOf(new r)!==r.prototype})});var tu=h((EF,jg)=>{var II=Ae(),AI=Q(),wI=En(),xI=wa(),EI=qg(),Hg=xI("IE_PROTO"),eu=Object,TI=eu.prototype;jg.exports=EI?eu.getPrototypeOf:function(r){var e=wI(r);if(II(e,Hg))return e[Hg];var t=e.constructor;return AI(t)&&e instanceof t?t.prototype:e instanceof eu?TI:null}});var su=h((TF,zg)=>{"use strict";var RI=de(),OI=Q(),FI=Pt(),MI=Bn(),Wg=tu(),UI=er(),BI=we(),LI=Lr(),nu=BI("iterator"),Gg=!1,dt,ru,iu;[].keys&&(iu=[].keys(),"next"in iu?(ru=Wg(Wg(iu)),ru!==Object.prototype&&(dt=ru)):Gg=!0);var DI=!FI(dt)||RI(function(){var r={};return dt[nu].call(r)!==r});DI?dt={}:LI&&(dt=MI(dt));OI(dt[nu])||UI(dt,nu,function(){return this});zg.exports={IteratorPrototype:dt,BUGGY_SAFARI_ITERATORS:Gg}});var Ln=h((RF,Jg)=>{var _I=Qe().f,NI=Ae(),qI=we(),Vg=qI("toStringTag");Jg.exports=function(r,e,t){r&&!t&&(r=r.prototype),r&&!NI(r,Vg)&&_I(r,Vg,{configurable:!0,value:e})}});var Hr=h((OF,$g)=>{$g.exports={}});var ou=h((FF,Kg)=>{"use strict";var HI=su().IteratorPrototype,jI=Bn(),WI=_r(),GI=Ln(),zI=Hr(),VI=function(){return this};Kg.exports=function(r,e,t,i){var s=e+" Iterator";return r.prototype=jI(HI,{next:WI(+!i,t)}),GI(r,s,!1,!0),zI[s]=VI,r}});var Zg=h((MF,Xg)=>{var JI=Q(),$I=String,KI=TypeError;Xg.exports=function(r){if(typeof r=="object"||JI(r))return r;throw KI("Can't set "+$I(r)+" as a prototype")}});var Qg=h((UF,Yg)=>{var XI=Y(),ZI=Ye(),YI=Zg();Yg.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var r=!1,e={},t;try{t=XI(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set),t(e,[]),r=e instanceof Array}catch{}return function(s,o){return ZI(s),YI(o),r?t(s,o):s.__proto__=o,s}}():void 0)});var du=h((BF,uf)=>{"use strict";var QI=Un(),eA=ze(),La=Lr(),df=Nl(),tA=Q(),rA=ou(),ef=tu(),tf=Qg(),iA=Ln(),nA=Aa(),au=er(),sA=we(),rf=Hr(),lf=su(),oA=df.PROPER,aA=df.CONFIGURABLE,nf=lf.IteratorPrototype,Da=lf.BUGGY_SAFARI_ITERATORS,Dn=sA("iterator"),sf="keys",_n="values",of="entries",af=function(){return this};uf.exports=function(r,e,t,i,s,o,a){rA(t,e,i);var c=function(B){if(B===s&&y)return y;if(!Da&&B in v)return v[B];switch(B){case sf:return function(){return new t(this,B)};case _n:return function(){return new t(this,B)};case of:return function(){return new t(this,B)}}return function(){return new t(this)}},p=e+" Iterator",g=!1,v=r.prototype,m=v[Dn]||v["@@iterator"]||s&&v[s],y=!Da&&m||c(s),k=e=="Array"&&v.entries||m,C,I,w;if(k&&(C=ef(k.call(new r)),C!==Object.prototype&&C.next&&(!La&&ef(C)!==nf&&(tf?tf(C,nf):tA(C[Dn])||au(C,Dn,af)),iA(C,p,!0,!0),La&&(rf[p]=af))),oA&&s==_n&&m&&m.name!==_n&&(!La&&aA?nA(v,"name",_n):(g=!0,y=function(){return eA(m,this)})),s)if(I={values:c(_n),keys:o?y:c(sf),entries:c(of)},a)for(w in I)(Da||g||!(w in v))&&au(v,w,I[w]);else QI({target:e,proto:!0,forced:Da||g},I);return(!La||a)&&v[Dn]!==y&&au(v,Dn,y,{name:s}),rf[e]=y,I}});var lu=h((LF,cf)=>{cf.exports=function(r,e){return{value:r,done:e}}});var ff=h(()=>{"use strict";var dA=gl().charAt,lA=Rn(),pf=Nr(),uA=du(),mf=lu(),gf="String Iterator",cA=pf.set,mA=pf.getterFor(gf);uA(String,"String",function(r){cA(this,{type:gf,string:lA(r),index:0})},function(){var e=mA(this),t=e.string,i=e.index,s;return i>=t.length?mf(void 0,!0):(s=dA(t,i),e.index+=s.length,mf(s,!1))})});var uu=h((NF,hf)=>{var pA=de(),gA=we(),fA=Lr(),hA=gA("iterator");hf.exports=!pA(function(){var r=new URL("b?a=1&b=2&c=3","http://a"),e=r.searchParams,t="";return r.pathname="c%20d",e.forEach(function(i,s){e.delete("b"),t+=s+i}),fA&&!r.toJSON||!e.sort||r.href!=="http://a/c%20d?a=1&c=3"||e.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!e[hA]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("http://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("http://a#\u0431").hash!=="#%D0%B1"||t!=="a1c3"||new URL("http://x",void 0).host!=="x"})});var yf=h((qF,vf)=>{var vA=ya(),yA=Y();vf.exports=function(r){if(vA(r)==="Function")return yA(r)}});var _a=h((HF,kf)=>{var bf=yf(),bA=Pa(),kA=ua(),PA=bf(bf.bind);kf.exports=function(r,e){return bA(r),e===void 0?r:kA?PA(r,e):function(){return r.apply(e,arguments)}}});var Cf=h((jF,Sf)=>{var Pf=Gl(),SA=Qe();Sf.exports=function(r,e,t){return t.get&&Pf(t.get,e,{getter:!0}),t.set&&Pf(t.set,e,{setter:!0}),SA.f(r,e,t)}});var cu=h((WF,If)=>{var CA=kl(),IA=TypeError;If.exports=function(r,e){if(CA(e,r))return r;throw IA("Incorrect invocation")}});var Ef=h((GF,xf)=>{"use strict";var Af=ge(),AA=Y(),wA=ze(),xA=de(),mu=Xl(),EA=$l(),TA=Ml(),RA=En(),OA=Bl(),jr=Object.assign,wf=Object.defineProperty,FA=AA([].concat);xf.exports=!jr||xA(function(){if(Af&&jr({b:1},jr(wf({},"a",{enumerable:!0,get:function(){wf(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var r={},e={},t=Symbol(),i="abcdefghijklmnopqrst";return r[t]=7,i.split("").forEach(function(s){e[s]=s}),jr({},r)[t]!=7||mu(jr({},e)).join("")!=i})?function(e,t){for(var i=RA(e),s=arguments.length,o=1,a=EA.f,c=TA.f;s>o;)for(var p=OA(arguments[o++]),g=a?FA(mu(p),a(p)):mu(p),v=g.length,m=0,y;v>m;)y=g[m++],(!Af||wA(c,p,y))&&(i[y]=p[y]);return i}:jr});var Of=h((zF,Rf)=>{var MA=ze(),Tf=Ye(),UA=Sa();Rf.exports=function(r,e,t){var i,s;Tf(r);try{if(i=UA(r,"return"),!i){if(e==="throw")throw t;return t}i=MA(i,r)}catch(o){s=!0,i=o}if(e==="throw")throw t;if(s)throw i;return Tf(i),t}});var Mf=h((VF,Ff)=>{var BA=Ye(),LA=Of();Ff.exports=function(r,e,t,i){try{return i?e(BA(t)[0],t[1]):e(t)}catch(s){LA(r,"throw",s)}}});var Bf=h((JF,Uf)=>{var DA=we(),_A=Hr(),NA=DA("iterator"),qA=Array.prototype;Uf.exports=function(r){return r!==void 0&&(_A.Array===r||qA[NA]===r)}});var Hf=h(($F,qf)=>{var HA=Y(),jA=de(),Lf=Q(),WA=Tn(),GA=On(),zA=Hl(),Df=function(){},VA=[],_f=GA("Reflect","construct"),pu=/^\s*(?:class|function)\b/,JA=HA(pu.exec),$A=!pu.exec(Df),Nn=function(e){if(!Lf(e))return!1;try{return _f(Df,VA,e),!0}catch{return!1}},Nf=function(e){if(!Lf(e))return!1;switch(WA(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return $A||!!JA(pu,zA(e))}catch{return!0}};Nf.sham=!0;qf.exports=!_f||jA(function(){var r;return Nn(Nn.call)||!Nn(Object)||!Nn(function(){r=!0})||r})?Nf:Nn});var gu=h((KF,jf)=>{"use strict";var KA=Ca(),XA=Qe(),ZA=_r();jf.exports=function(r,e,t){var i=KA(e);i in r?XA.f(r,i,ZA(0,t)):r[i]=t}});var Na=h((XF,Gf)=>{var YA=Tn(),Wf=Sa(),QA=fa(),ew=Hr(),tw=we(),rw=tw("iterator");Gf.exports=function(r){if(!QA(r))return Wf(r,rw)||Wf(r,"@@iterator")||ew[YA(r)]}});var fu=h((ZF,zf)=>{var iw=ze(),nw=Pa(),sw=Ye(),ow=Sl(),aw=Na(),dw=TypeError;zf.exports=function(r,e){var t=arguments.length<2?aw(r):e;if(nw(t))return sw(iw(t,r));throw dw(ow(r)+" is not iterable")}});var Kf=h((YF,$f)=>{"use strict";var lw=_a(),uw=ze(),cw=En(),mw=Mf(),pw=Bf(),gw=Hf(),fw=Fa(),Vf=gu(),hw=fu(),vw=Na(),Jf=Array;$f.exports=function(e){var t=cw(e),i=gw(this),s=arguments.length,o=s>1?arguments[1]:void 0,a=o!==void 0;a&&(o=lw(o,s>2?arguments[2]:void 0));var c=vw(t),p=0,g,v,m,y,k,C;if(c&&!(this===Jf&&pw(c)))for(y=hw(t,c),k=y.next,v=i?new this:[];!(m=uw(k,y)).done;p++)C=a?mw(y,o,[m.value,p],!0):m.value,Vf(v,p,C);else for(g=fw(t),v=i?new this(g):Jf(g);g>p;p++)C=a?o(t[p],p):t[p],Vf(v,p,C);return v.length=p,v}});var hu=h((QF,Zf)=>{var Xf=zl(),yw=Fa(),bw=gu(),kw=Array,Pw=Math.max;Zf.exports=function(r,e,t){for(var i=yw(r),s=Xf(e,i),o=Xf(t===void 0?i:t,i),a=kw(Pw(o-s,0)),c=0;s<o;s++,c++)bw(a,c,r[s]);return a.length=c,a}});var oh=h((eM,sh)=>{var tr=Y(),vu=2147483647,qn=36,rh=1,ku=26,Sw=38,Cw=700,Iw=72,Aw=128,ww="-",xw=/[^\0-\u007E]/,ih=/[.\u3002\uFF0E\uFF61]/g,Yf="Overflow: input needs wider integers to process",yu=qn-rh,Qf=RangeError,Ew=tr(ih.exec),Wr=Math.floor,bu=String.fromCharCode,eh=tr("".charCodeAt),nh=tr([].join),St=tr([].push),Tw=tr("".replace),Rw=tr("".split),Ow=tr("".toLowerCase),Fw=function(r){for(var e=[],t=0,i=r.length;t<i;){var s=eh(r,t++);if(s>=55296&&s<=56319&&t<i){var o=eh(r,t++);(o&64512)==56320?St(e,((s&1023)<<10)+(o&1023)+65536):(St(e,s),t--)}else St(e,s)}return e},th=function(r){return r+22+75*(r<26)},Mw=function(r,e,t){var i=0;for(r=t?Wr(r/Cw):r>>1,r+=Wr(r/e);r>yu*ku>>1;)r=Wr(r/yu),i+=qn;return Wr(i+(yu+1)*r/(r+Sw))},Uw=function(r){var e=[];r=Fw(r);var t=r.length,i=Aw,s=0,o=Iw,a,c;for(a=0;a<r.length;a++)c=r[a],c<128&&St(e,bu(c));var p=e.length,g=p;for(p&&St(e,ww);g<t;){var v=vu;for(a=0;a<r.length;a++)c=r[a],c>=i&&c<v&&(v=c);var m=g+1;if(v-i>Wr((vu-s)/m))throw Qf(Yf);for(s+=(v-i)*m,i=v,a=0;a<r.length;a++){if(c=r[a],c<i&&++s>vu)throw Qf(Yf);if(c==i){for(var y=s,k=qn;;){var C=k<=o?rh:k>=o+ku?ku:k-o;if(y<C)break;var I=y-C,w=qn-C;St(e,bu(th(C+I%w))),y=Wr(I/w),k+=qn}St(e,bu(th(y))),o=Mw(s,m,g==p),s=0,g++}}s++,i++}return nh(e,"")};sh.exports=function(r){var e=[],t=Rw(Tw(Ow(r),ih,"."),"."),i,s;for(i=0;i<t.length;i++)s=t[i],St(e,Ew(xw,s)?"xn--"+Uw(s):s);return nh(e,".")}});var Pu=h((tM,ah)=>{var Bw=TypeError;ah.exports=function(r,e){if(r<e)throw Bw("Not enough arguments");return r}});var lh=h((rM,dh)=>{var Lw=we(),Dw=Bn(),_w=Qe().f,Su=Lw("unscopables"),Cu=Array.prototype;Cu[Su]==null&&_w(Cu,Su,{configurable:!0,value:Dw(null)});dh.exports=function(r){Cu[Su][r]=!0}});var fh=h((iM,gh)=>{"use strict";var Nw=qr(),Iu=lh(),uh=Hr(),mh=Nr(),qw=Qe().f,Hw=du(),qa=lu(),jw=Lr(),Ww=ge(),ph="Array Iterator",Gw=mh.set,zw=mh.getterFor(ph);gh.exports=Hw(Array,"Array",function(r,e){Gw(this,{type:ph,target:Nw(r),index:0,kind:e})},function(){var r=zw(this),e=r.target,t=r.kind,i=r.index++;return!e||i>=e.length?(r.target=void 0,qa(void 0,!0)):t=="keys"?qa(i,!1):t=="values"?qa(e[i],!1):qa([i,e[i]],!1)},"values");var ch=uh.Arguments=uh.Array;Iu("keys");Iu("values");Iu("entries");if(!jw&&Ww&&ch.name!=="values")try{qw(ch,"name",{value:"values"})}catch{}});var vh=h((nM,hh)=>{var Vw=er();hh.exports=function(r,e,t){for(var i in e)Vw(r,i,e[i],t);return r}});var kh=h((sM,bh)=>{var yh=hu(),Jw=Math.floor,Au=function(r,e){var t=r.length,i=Jw(t/2);return t<8?$w(r,e):Kw(r,Au(yh(r,0,i),e),Au(yh(r,i),e),e)},$w=function(r,e){for(var t=r.length,i=1,s,o;i<t;){for(o=i,s=r[i];o&&e(r[o-1],s)>0;)r[o]=r[--o];o!==i++&&(r[o]=s)}return r},Kw=function(r,e,t,i){for(var s=e.length,o=t.length,a=0,c=0;a<s||c<o;)r[a+c]=a<s&&c<o?i(e[a],t[c])<=0?e[a++]:t[c++]:a<s?e[a++]:t[c++];return r};bh.exports=Au});var Bu=h((oM,qh)=>{"use strict";fh();var Ru=Un(),zr=pe(),Ha=ze(),et=Y(),Xw=ge(),Fh=uu(),Mh=er(),Zw=vh(),Yw=Ln(),Qw=ou(),Mu=Nr(),Uh=cu(),wu=Q(),ex=Ae(),tx=_a(),rx=Tn(),ix=Ye(),Bh=Pt(),fe=Rn(),nx=Bn(),Ph=_r(),Ou=fu(),sx=Na(),Gr=Pu(),ox=we(),ax=kh(),dx=ox("iterator"),Wn="URLSearchParams",Lh=Wn+"Iterator",Dh=Mu.set,Je=Mu.getterFor(Wn),lx=Mu.getterFor(Lh),ux=Object.getOwnPropertyDescriptor,Uu=function(r){if(!Xw)return zr[r];var e=ux(zr,r);return e&&e.value},Sh=Uu("fetch"),Wa=Uu("Request"),Hn=Uu("Headers"),xu=Wa&&Wa.prototype,Ch=Hn&&Hn.prototype,cx=zr.RegExp,mx=zr.TypeError,_h=zr.decodeURIComponent,px=zr.encodeURIComponent,gx=et("".charAt),Ih=et([].join),rr=et([].push),Fu=et("".replace),fx=et([].shift),Ah=et([].splice),wh=et("".split),hx=et("".slice),vx=/\+/g,xh=Array(4),yx=function(r){return xh[r-1]||(xh[r-1]=cx("((?:%[\\da-f]{2}){"+r+"})","gi"))},bx=function(r){try{return _h(r)}catch{return r}},Eh=function(r){var e=Fu(r,vx," "),t=4;try{return _h(e)}catch{for(;t;)e=Fu(e,yx(t--),bx);return e}},kx=/[!'()~]|%20/g,Px={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},Sx=function(r){return Px[r]},Th=function(r){return Fu(px(r),kx,Sx)},Eu=Qw(function(e,t){Dh(this,{type:Lh,iterator:Ou(Je(e).entries),kind:t})},"Iterator",function(){var e=lx(this),t=e.kind,i=e.iterator.next(),s=i.value;return i.done||(i.value=t==="keys"?s.key:t==="values"?s.value:[s.key,s.value]),i},!0),Nh=function(r){this.entries=[],this.url=null,r!==void 0&&(Bh(r)?this.parseObject(r):this.parseQuery(typeof r=="string"?gx(r,0)==="?"?hx(r,1):r:fe(r)))};Nh.prototype={type:Wn,bindURL:function(r){this.url=r,this.update()},parseObject:function(r){var e=sx(r),t,i,s,o,a,c,p;if(e)for(t=Ou(r,e),i=t.next;!(s=Ha(i,t)).done;){if(o=Ou(ix(s.value)),a=o.next,(c=Ha(a,o)).done||(p=Ha(a,o)).done||!Ha(a,o).done)throw mx("Expected sequence with length 2");rr(this.entries,{key:fe(c.value),value:fe(p.value)})}else for(var g in r)ex(r,g)&&rr(this.entries,{key:g,value:fe(r[g])})},parseQuery:function(r){if(r)for(var e=wh(r,"&"),t=0,i,s;t<e.length;)i=e[t++],i.length&&(s=wh(i,"="),rr(this.entries,{key:Eh(fx(s)),value:Eh(Ih(s,"="))}))},serialize:function(){for(var r=this.entries,e=[],t=0,i;t<r.length;)i=r[t++],rr(e,Th(i.key)+"="+Th(i.value));return Ih(e,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var Ga=function(){Uh(this,jn);var e=arguments.length>0?arguments[0]:void 0;Dh(this,new Nh(e))},jn=Ga.prototype;Zw(jn,{append:function(e,t){Gr(arguments.length,2);var i=Je(this);rr(i.entries,{key:fe(e),value:fe(t)}),i.updateURL()},delete:function(r){Gr(arguments.length,1);for(var e=Je(this),t=e.entries,i=fe(r),s=0;s<t.length;)t[s].key===i?Ah(t,s,1):s++;e.updateURL()},get:function(e){Gr(arguments.length,1);for(var t=Je(this).entries,i=fe(e),s=0;s<t.length;s++)if(t[s].key===i)return t[s].value;return null},getAll:function(e){Gr(arguments.length,1);for(var t=Je(this).entries,i=fe(e),s=[],o=0;o<t.length;o++)t[o].key===i&&rr(s,t[o].value);return s},has:function(e){Gr(arguments.length,1);for(var t=Je(this).entries,i=fe(e),s=0;s<t.length;)if(t[s++].key===i)return!0;return!1},set:function(e,t){Gr(arguments.length,1);for(var i=Je(this),s=i.entries,o=!1,a=fe(e),c=fe(t),p=0,g;p<s.length;p++)g=s[p],g.key===a&&(o?Ah(s,p--,1):(o=!0,g.value=c));o||rr(s,{key:a,value:c}),i.updateURL()},sort:function(){var e=Je(this);ax(e.entries,function(t,i){return t.key>i.key?1:-1}),e.updateURL()},forEach:function(e){for(var t=Je(this).entries,i=tx(e,arguments.length>1?arguments[1]:void 0),s=0,o;s<t.length;)o=t[s++],i(o.value,o.key,this)},keys:function(){return new Eu(this,"keys")},values:function(){return new Eu(this,"values")},entries:function(){return new Eu(this,"entries")}},{enumerable:!0});Mh(jn,dx,jn.entries,{name:"entries"});Mh(jn,"toString",function(){return Je(this).serialize()},{enumerable:!0});Yw(Ga,Wn);Ru({global:!0,constructor:!0,forced:!Fh},{URLSearchParams:Ga});!Fh&&wu(Hn)&&(Rh=et(Ch.has),Oh=et(Ch.set),Tu=function(r){if(Bh(r)){var e=r.body,t;if(rx(e)===Wn)return t=r.headers?new Hn(r.headers):new Hn,Rh(t,"content-type")||Oh(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),nx(r,{body:Ph(0,fe(e)),headers:Ph(0,t)})}return r},wu(Sh)&&Ru({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return Sh(e,arguments.length>1?Tu(arguments[1]):{})}}),wu(Wa)&&(ja=function(e){return Uh(this,xu),new Wa(e,arguments.length>1?Tu(arguments[1]):{})},xu.constructor=ja,ja.prototype=xu,Ru({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:ja})));var Rh,Oh,Tu,ja;qh.exports={URLSearchParams:Ga,getState:Je}});var sv=h(()=>{"use strict";ff();var Cx=Un(),Zu=ge(),Ix=uu(),Yu=pe(),Hh=_a(),Oe=Y(),Ka=er(),xe=Cf(),Ax=cu(),$u=Ae(),Qu=Ef(),Vr=Kf(),$e=hu(),wx=gl().codeAt,xx=oh(),ut=Rn(),Ex=Ln(),Tx=Pu(),Qh=Bu(),ev=Nr(),Rx=ev.set,Xa=ev.getterFor("URL"),Ox=Qh.URLSearchParams,Fx=Qh.getState,Gn=Yu.URL,Ku=Yu.TypeError,Za=Yu.parseInt,Mx=Math.floor,jh=Math.pow,Re=Oe("".charAt),Ke=Oe(/./.exec),Vn=Oe([].join),Ux=Oe(1 .toString),Bx=Oe([].pop),$r=Oe([].push),Wh=Oe("".replace),Lx=Oe([].shift),Dx=Oe("".split),$n=Oe("".slice),Ya=Oe("".toLowerCase),_x=Oe([].unshift),Nx="Invalid authority",Lu="Invalid scheme",ir="Invalid host",Gh="Invalid port",tv=/[a-z]/i,qx=/[\d+-.a-z]/i,Xu=/\d/,Hx=/^0x/i,jx=/^[0-7]+$/,Wx=/^\d+$/,rv=/^[\da-f]+$/i,Gx=/[\0\t\n\r #%/:<>?@[\\\]^|]/,zx=/[\0\t\n\r #/:<>?@[\\\]^|]/,Vx=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,Jx=/[\t\n\r]/g,Ee,$x=function(r){var e=Dx(r,"."),t,i,s,o,a,c,p;if(e.length&&e[e.length-1]==""&&e.length--,t=e.length,t>4)return r;for(i=[],s=0;s<t;s++){if(o=e[s],o=="")return r;if(a=10,o.length>1&&Re(o,0)=="0"&&(a=Ke(Hx,o)?16:8,o=$n(o,a==8?1:2)),o==="")c=0;else{if(!Ke(a==10?Wx:a==8?jx:rv,o))return r;c=Za(o,a)}$r(i,c)}for(s=0;s<t;s++)if(c=i[s],s==t-1){if(c>=jh(256,5-t))return null}else if(c>255)return null;for(p=Bx(i),s=0;s<i.length;s++)p+=i[s]*jh(256,3-s);return p},Kx=function(r){var e=[0,0,0,0,0,0,0,0],t=0,i=null,s=0,o,a,c,p,g,v,m,y=function(){return Re(r,s)};if(y()==":"){if(Re(r,1)!=":")return;s+=2,t++,i=t}for(;y();){if(t==8)return;if(y()==":"){if(i!==null)return;s++,t++,i=t;continue}for(o=a=0;a<4&&Ke(rv,y());)o=o*16+Za(y(),16),s++,a++;if(y()=="."){if(a==0||(s-=a,t>6))return;for(c=0;y();){if(p=null,c>0)if(y()=="."&&c<4)s++;else return;if(!Ke(Xu,y()))return;for(;Ke(Xu,y());){if(g=Za(y(),10),p===null)p=g;else{if(p==0)return;p=p*10+g}if(p>255)return;s++}e[t]=e[t]*256+p,c++,(c==2||c==4)&&t++}if(c!=4)return;break}else if(y()==":"){if(s++,!y())return}else if(y())return;e[t++]=o}if(i!==null)for(v=t-i,t=7;t!=0&&v>0;)m=e[t],e[t--]=e[i+v-1],e[i+--v]=m;else if(t!=8)return;return e},Xx=function(r){for(var e=null,t=1,i=null,s=0,o=0;o<8;o++)r[o]!==0?(s>t&&(e=i,t=s),i=null,s=0):(i===null&&(i=o),++s);return s>t&&(e=i,t=s),e},zn=function(r){var e,t,i,s;if(typeof r=="number"){for(e=[],t=0;t<4;t++)_x(e,r%256),r=Mx(r/256);return Vn(e,".")}else if(typeof r=="object"){for(e="",i=Xx(r),t=0;t<8;t++)s&&r[t]===0||(s&&(s=!1),i===t?(e+=t?":":"::",s=!0):(e+=Ux(r[t],16),t<7&&(e+=":")));return"["+e+"]"}return r},$a={},iv=Qu({},$a,{" ":1,'"':1,"<":1,">":1,"`":1}),nv=Qu({},iv,{"#":1,"?":1,"{":1,"}":1}),Du=Qu({},nv,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Ct=function(r,e){var t=wx(r,0);return t>32&&t<127&&!$u(e,r)?r:encodeURIComponent(r)},za={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Jn=function(r,e){var t;return r.length==2&&Ke(tv,Re(r,0))&&((t=Re(r,1))==":"||!e&&t=="|")},zh=function(r){var e;return r.length>1&&Jn($n(r,0,2))&&(r.length==2||(e=Re(r,2))==="/"||e==="\\"||e==="?"||e==="#")},Zx=function(r){return r==="."||Ya(r)==="%2e"},Yx=function(r){return r=Ya(r),r===".."||r==="%2e."||r===".%2e"||r==="%2e%2e"},_u={},Vh={},Nu={},Jh={},$h={},qu={},Kh={},Xh={},Va={},Ja={},Hu={},ju={},Wu={},Gu={},Zh={},zu={},Jr={},tt={},Yh={},nr={},lt={},ec=function(r,e,t){var i=ut(r),s,o,a;if(e){if(o=this.parse(i),o)throw Ku(o);this.searchParams=null}else{if(t!==void 0&&(s=new ec(t,!0)),o=this.parse(i,null,s),o)throw Ku(o);a=Fx(new Ox),a.bindURL(this),this.searchParams=a}};ec.prototype={type:"URL",parse:function(r,e,t){var i=this,s=e||_u,o=0,a="",c=!1,p=!1,g=!1,v,m,y,k;for(r=ut(r),e||(i.scheme="",i.username="",i.password="",i.host=null,i.port=null,i.path=[],i.query=null,i.fragment=null,i.cannotBeABaseURL=!1,r=Wh(r,Vx,"")),r=Wh(r,Jx,""),v=Vr(r);o<=v.length;){switch(m=v[o],s){case _u:if(m&&Ke(tv,m))a+=Ya(m),s=Vh;else{if(e)return Lu;s=Nu;continue}break;case Vh:if(m&&(Ke(qx,m)||m=="+"||m=="-"||m=="."))a+=Ya(m);else if(m==":"){if(e&&(i.isSpecial()!=$u(za,a)||a=="file"&&(i.includesCredentials()||i.port!==null)||i.scheme=="file"&&!i.host))return;if(i.scheme=a,e){i.isSpecial()&&za[i.scheme]==i.port&&(i.port=null);return}a="",i.scheme=="file"?s=Gu:i.isSpecial()&&t&&t.scheme==i.scheme?s=Jh:i.isSpecial()?s=Xh:v[o+1]=="/"?(s=$h,o++):(i.cannotBeABaseURL=!0,$r(i.path,""),s=Yh)}else{if(e)return Lu;a="",s=Nu,o=0;continue}break;case Nu:if(!t||t.cannotBeABaseURL&&m!="#")return Lu;if(t.cannotBeABaseURL&&m=="#"){i.scheme=t.scheme,i.path=$e(t.path),i.query=t.query,i.fragment="",i.cannotBeABaseURL=!0,s=lt;break}s=t.scheme=="file"?Gu:qu;continue;case Jh:if(m=="/"&&v[o+1]=="/")s=Va,o++;else{s=qu;continue}break;case $h:if(m=="/"){s=Ja;break}else{s=tt;continue}case qu:if(i.scheme=t.scheme,m==Ee)i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=$e(t.path),i.query=t.query;else if(m=="/"||m=="\\"&&i.isSpecial())s=Kh;else if(m=="?")i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=$e(t.path),i.query="",s=nr;else if(m=="#")i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=$e(t.path),i.query=t.query,i.fragment="",s=lt;else{i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=$e(t.path),i.path.length--,s=tt;continue}break;case Kh:if(i.isSpecial()&&(m=="/"||m=="\\"))s=Va;else if(m=="/")s=Ja;else{i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,s=tt;continue}break;case Xh:if(s=Va,m!="/"||Re(a,o+1)!="/")continue;o++;break;case Va:if(m!="/"&&m!="\\"){s=Ja;continue}break;case Ja:if(m=="@"){c&&(a="%40"+a),c=!0,y=Vr(a);for(var C=0;C<y.length;C++){var I=y[C];if(I==":"&&!g){g=!0;continue}var w=Ct(I,Du);g?i.password+=w:i.username+=w}a=""}else if(m==Ee||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()){if(c&&a=="")return Nx;o-=Vr(a).length+1,a="",s=Hu}else a+=m;break;case Hu:case ju:if(e&&i.scheme=="file"){s=zu;continue}else if(m==":"&&!p){if(a=="")return ir;if(k=i.parseHost(a),k)return k;if(a="",s=Wu,e==ju)return}else if(m==Ee||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()){if(i.isSpecial()&&a=="")return ir;if(e&&a==""&&(i.includesCredentials()||i.port!==null))return;if(k=i.parseHost(a),k)return k;if(a="",s=Jr,e)return;continue}else m=="["?p=!0:m=="]"&&(p=!1),a+=m;break;case Wu:if(Ke(Xu,m))a+=m;else if(m==Ee||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()||e){if(a!=""){var B=Za(a,10);if(B>65535)return Gh;i.port=i.isSpecial()&&B===za[i.scheme]?null:B,a=""}if(e)return;s=Jr;continue}else return Gh;break;case Gu:if(i.scheme="file",m=="/"||m=="\\")s=Zh;else if(t&&t.scheme=="file")if(m==Ee)i.host=t.host,i.path=$e(t.path),i.query=t.query;else if(m=="?")i.host=t.host,i.path=$e(t.path),i.query="",s=nr;else if(m=="#")i.host=t.host,i.path=$e(t.path),i.query=t.query,i.fragment="",s=lt;else{zh(Vn($e(v,o),""))||(i.host=t.host,i.path=$e(t.path),i.shortenPath()),s=tt;continue}else{s=tt;continue}break;case Zh:if(m=="/"||m=="\\"){s=zu;break}t&&t.scheme=="file"&&!zh(Vn($e(v,o),""))&&(Jn(t.path[0],!0)?$r(i.path,t.path[0]):i.host=t.host),s=tt;continue;case zu:if(m==Ee||m=="/"||m=="\\"||m=="?"||m=="#"){if(!e&&Jn(a))s=tt;else if(a==""){if(i.host="",e)return;s=Jr}else{if(k=i.parseHost(a),k)return k;if(i.host=="localhost"&&(i.host=""),e)return;a="",s=Jr}continue}else a+=m;break;case Jr:if(i.isSpecial()){if(s=tt,m!="/"&&m!="\\")continue}else if(!e&&m=="?")i.query="",s=nr;else if(!e&&m=="#")i.fragment="",s=lt;else if(m!=Ee&&(s=tt,m!="/"))continue;break;case tt:if(m==Ee||m=="/"||m=="\\"&&i.isSpecial()||!e&&(m=="?"||m=="#")){if(Yx(a)?(i.shortenPath(),m!="/"&&!(m=="\\"&&i.isSpecial())&&$r(i.path,"")):Zx(a)?m!="/"&&!(m=="\\"&&i.isSpecial())&&$r(i.path,""):(i.scheme=="file"&&!i.path.length&&Jn(a)&&(i.host&&(i.host=""),a=Re(a,0)+":"),$r(i.path,a)),a="",i.scheme=="file"&&(m==Ee||m=="?"||m=="#"))for(;i.path.length>1&&i.path[0]==="";)Lx(i.path);m=="?"?(i.query="",s=nr):m=="#"&&(i.fragment="",s=lt)}else a+=Ct(m,nv);break;case Yh:m=="?"?(i.query="",s=nr):m=="#"?(i.fragment="",s=lt):m!=Ee&&(i.path[0]+=Ct(m,$a));break;case nr:!e&&m=="#"?(i.fragment="",s=lt):m!=Ee&&(m=="'"&&i.isSpecial()?i.query+="%27":m=="#"?i.query+="%23":i.query+=Ct(m,$a));break;case lt:m!=Ee&&(i.fragment+=Ct(m,iv));break}o++}},parseHost:function(r){var e,t,i;if(Re(r,0)=="["){if(Re(r,r.length-1)!="]"||(e=Kx($n(r,1,-1)),!e))return ir;this.host=e}else if(this.isSpecial()){if(r=xx(r),Ke(Gx,r)||(e=$x(r),e===null))return ir;this.host=e}else{if(Ke(zx,r))return ir;for(e="",t=Vr(r),i=0;i<t.length;i++)e+=Ct(t[i],$a);this.host=e}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||this.scheme=="file"},includesCredentials:function(){return this.username!=""||this.password!=""},isSpecial:function(){return $u(za,this.scheme)},shortenPath:function(){var r=this.path,e=r.length;e&&(this.scheme!="file"||e!=1||!Jn(r[0],!0))&&r.length--},serialize:function(){var r=this,e=r.scheme,t=r.username,i=r.password,s=r.host,o=r.port,a=r.path,c=r.query,p=r.fragment,g=e+":";return s!==null?(g+="//",r.includesCredentials()&&(g+=t+(i?":"+i:"")+"@"),g+=zn(s),o!==null&&(g+=":"+o)):e=="file"&&(g+="//"),g+=r.cannotBeABaseURL?a[0]:a.length?"/"+Vn(a,"/"):"",c!==null&&(g+="?"+c),p!==null&&(g+="#"+p),g},setHref:function(r){var e=this.parse(r);if(e)throw Ku(e);this.searchParams.update()},getOrigin:function(){var r=this.scheme,e=this.port;if(r=="blob")try{return new Kr(r.path[0]).origin}catch{return"null"}return r=="file"||!this.isSpecial()?"null":r+"://"+zn(this.host)+(e!==null?":"+e:"")},getProtocol:function(){return this.scheme+":"},setProtocol:function(r){this.parse(ut(r)+":",_u)},getUsername:function(){return this.username},setUsername:function(r){var e=Vr(ut(r));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var t=0;t<e.length;t++)this.username+=Ct(e[t],Du)}},getPassword:function(){return this.password},setPassword:function(r){var e=Vr(ut(r));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var t=0;t<e.length;t++)this.password+=Ct(e[t],Du)}},getHost:function(){var r=this.host,e=this.port;return r===null?"":e===null?zn(r):zn(r)+":"+e},setHost:function(r){this.cannotBeABaseURL||this.parse(r,Hu)},getHostname:function(){var r=this.host;return r===null?"":zn(r)},setHostname:function(r){this.cannotBeABaseURL||this.parse(r,ju)},getPort:function(){var r=this.port;return r===null?"":ut(r)},setPort:function(r){this.cannotHaveUsernamePasswordPort()||(r=ut(r),r==""?this.port=null:this.parse(r,Wu))},getPathname:function(){var r=this.path;return this.cannotBeABaseURL?r[0]:r.length?"/"+Vn(r,"/"):""},setPathname:function(r){this.cannotBeABaseURL||(this.path=[],this.parse(r,Jr))},getSearch:function(){var r=this.query;return r?"?"+r:""},setSearch:function(r){r=ut(r),r==""?this.query=null:(Re(r,0)=="?"&&(r=$n(r,1)),this.query="",this.parse(r,nr)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var r=this.fragment;return r?"#"+r:""},setHash:function(r){if(r=ut(r),r==""){this.fragment=null;return}Re(r,0)=="#"&&(r=$n(r,1)),this.fragment="",this.parse(r,lt)},update:function(){this.query=this.searchParams.serialize()||null}};var Kr=function(e){var t=Ax(this,ie),i=Tx(arguments.length,1)>1?arguments[1]:void 0,s=Rx(t,new ec(e,!1,i));Zu||(t.href=s.serialize(),t.origin=s.getOrigin(),t.protocol=s.getProtocol(),t.username=s.getUsername(),t.password=s.getPassword(),t.host=s.getHost(),t.hostname=s.getHostname(),t.port=s.getPort(),t.pathname=s.getPathname(),t.search=s.getSearch(),t.searchParams=s.getSearchParams(),t.hash=s.getHash())},ie=Kr.prototype,Te=function(r,e){return{get:function(){return Xa(this)[r]()},set:e&&function(t){return Xa(this)[e](t)},configurable:!0,enumerable:!0}};Zu&&(xe(ie,"href",Te("serialize","setHref")),xe(ie,"origin",Te("getOrigin")),xe(ie,"protocol",Te("getProtocol","setProtocol")),xe(ie,"username",Te("getUsername","setUsername")),xe(ie,"password",Te("getPassword","setPassword")),xe(ie,"host",Te("getHost","setHost")),xe(ie,"hostname",Te("getHostname","setHostname")),xe(ie,"port",Te("getPort","setPort")),xe(ie,"pathname",Te("getPathname","setPathname")),xe(ie,"search",Te("getSearch","setSearch")),xe(ie,"searchParams",Te("getSearchParams")),xe(ie,"hash",Te("getHash","setHash")));Ka(ie,"toJSON",function(){return Xa(this).serialize()},{enumerable:!0});Ka(ie,"toString",function(){return Xa(this).serialize()},{enumerable:!0});Gn&&(Vu=Gn.createObjectURL,Ju=Gn.revokeObjectURL,Vu&&Ka(Kr,"createObjectURL",Hh(Vu,Gn)),Ju&&Ka(Kr,"revokeObjectURL",Hh(Ju,Gn)));var Vu,Ju;Ex(Kr,"URL");Cx({global:!0,constructor:!0,forced:!Ix,sham:!Zu},{URL:Kr})});var ov=h(()=>{sv()});var av=h(()=>{"use strict";var Qx=Un(),e0=ze();Qx({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return e0(URL.prototype.toString,this)}})});var dv=h(()=>{Bu()});var uv=h((fM,lv)=>{var t0=pe();lv.exports=t0});var mv=h((hM,cv)=>{ov();av();dv();var r0=uv();cv.exports=r0.URL});var xc=h((FL,hy)=>{var mE=Object.prototype.toString;hy.exports=function(e){if(e===void 0)return"undefined";if(e===null)return"null";var t=typeof e;if(t==="boolean")return"boolean";if(t==="string")return"string";if(t==="number")return"number";if(t==="symbol")return"symbol";if(t==="function")return vE(e)?"generatorfunction":"function";if(pE(e))return"array";if(kE(e))return"buffer";if(bE(e))return"arguments";if(fE(e))return"date";if(gE(e))return"error";if(hE(e))return"regexp";switch(fy(e)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(yE(e))return"generator";switch(t=mE.call(e),t){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return t.slice(8,-1).toLowerCase().replace(/\s/g,"")};function fy(r){return typeof r.constructor=="function"?r.constructor.name:null}function pE(r){return Array.isArray?Array.isArray(r):r instanceof Array}function gE(r){return r instanceof Error||typeof r.message=="string"&&r.constructor&&typeof r.constructor.stackTraceLimit=="number"}function fE(r){return r instanceof Date?!0:typeof r.toDateString=="function"&&typeof r.getDate=="function"&&typeof r.setDate=="function"}function hE(r){return r instanceof RegExp?!0:typeof r.flags=="string"&&typeof r.ignoreCase=="boolean"&&typeof r.multiline=="boolean"&&typeof r.global=="boolean"}function vE(r,e){return fy(r)==="GeneratorFunction"}function yE(r){return typeof r.throw=="function"&&typeof r.return=="function"&&typeof r.next=="function"}function bE(r){try{if(typeof r.length=="number"&&typeof r.callee=="function")return!0}catch(e){if(e.message.indexOf("callee")!==-1)return!0}return!1}function kE(r){return r.constructor&&typeof r.constructor.isBuffer=="function"?r.constructor.isBuffer(r):!1}});var by=h((ML,yy)=>{"use strict";var vy=Symbol.prototype.valueOf,PE=xc();function SE(r,e){switch(PE(r)){case"array":return r.slice();case"object":return Object.assign({},r);case"date":return new r.constructor(Number(r));case"map":return new Map(r);case"set":return new Set(r);case"buffer":return wE(r);case"symbol":return xE(r);case"arraybuffer":return IE(r);case"float32array":case"float64array":case"int16array":case"int32array":case"int8array":case"uint16array":case"uint32array":case"uint8clampedarray":case"uint8array":return AE(r);case"regexp":return CE(r);case"error":return Object.create(r);default:return r}}function CE(r){let e=r.flags!==void 0?r.flags:/\w+$/.exec(r)||void 0,t=new r.constructor(r.source,e);return t.lastIndex=r.lastIndex,t}function IE(r){let e=new r.constructor(r.byteLength);return new Uint8Array(e).set(new Uint8Array(r)),e}function AE(r,e){return new r.constructor(r.buffer,r.byteOffset,r.length)}function wE(r){let e=r.length,t=Buffer.allocUnsafe?Buffer.allocUnsafe(e):Buffer.from(e);return r.copy(t),t}function xE(r){return vy?Object(vy.call(r)):{}}yy.exports=SE});var Py=h((UL,ky)=>{"use strict";ky.exports=function(e){return e!=null&&typeof e=="object"&&Array.isArray(e)===!1}});var Iy=h((BL,Cy)=>{"use strict";var EE=Py();function Sy(r){return EE(r)===!0&&Object.prototype.toString.call(r)==="[object Object]"}Cy.exports=function(e){var t,i;return!(Sy(e)===!1||(t=e.constructor,typeof t!="function")||(i=t.prototype,Sy(i)===!1)||i.hasOwnProperty("isPrototypeOf")===!1)}});var wy=h((LL,Ay)=>{"use strict";var TE=by(),RE=xc(),OE=Iy();function Ec(r,e){switch(RE(r)){case"object":return FE(r,e);case"array":return ME(r,e);default:return TE(r)}}function FE(r,e){if(typeof e=="function")return e(r);if(e||OE(r)){let t=new r.constructor;for(let i in r)t[i]=Ec(r[i],e);return t}return r}function ME(r,e){let t=new r.constructor(r.length);for(let i=0;i<r.length;i++)t[i]=Ec(r[i],e);return t}Ay.exports=Ec});var Ad=h((os,vi)=>{var UE=200,Nc="__lodash_hash_undefined__",Pd=1,_y=2,Ny=9007199254740991,gd="[object Arguments]",Fc="[object Array]",BE="[object AsyncFunction]",qy="[object Boolean]",Hy="[object Date]",jy="[object Error]",Wy="[object Function]",LE="[object GeneratorFunction]",fd="[object Map]",Gy="[object Number]",DE="[object Null]",hi="[object Object]",xy="[object Promise]",_E="[object Proxy]",zy="[object RegExp]",hd="[object Set]",Vy="[object String]",NE="[object Symbol]",qE="[object Undefined]",Mc="[object WeakMap]",Jy="[object ArrayBuffer]",vd="[object DataView]",HE="[object Float32Array]",jE="[object Float64Array]",WE="[object Int8Array]",GE="[object Int16Array]",zE="[object Int32Array]",VE="[object Uint8Array]",JE="[object Uint8ClampedArray]",$E="[object Uint16Array]",KE="[object Uint32Array]",XE=/[\\^$.*+?()[\]{}|]/g,ZE=/^\[object .+?Constructor\]$/,YE=/^(?:0|[1-9]\d*)$/,j={};j[HE]=j[jE]=j[WE]=j[GE]=j[zE]=j[VE]=j[JE]=j[$E]=j[KE]=!0;j[gd]=j[Fc]=j[Jy]=j[qy]=j[vd]=j[Hy]=j[jy]=j[Wy]=j[fd]=j[Gy]=j[hi]=j[zy]=j[hd]=j[Vy]=j[Mc]=!1;var $y=typeof global=="object"&&global&&global.Object===Object&&global,QE=typeof self=="object"&&self&&self.Object===Object&&self,gt=$y||QE||Function("return this")(),Ky=typeof os=="object"&&os&&!os.nodeType&&os,Ey=Ky&&typeof vi=="object"&&vi&&!vi.nodeType&&vi,Xy=Ey&&Ey.exports===Ky,Tc=Xy&&$y.process,Ty=function(){try{return Tc&&Tc.binding&&Tc.binding("util")}catch{}}(),Ry=Ty&&Ty.isTypedArray;function eT(r,e){for(var t=-1,i=r==null?0:r.length,s=0,o=[];++t<i;){var a=r[t];e(a,t,r)&&(o[s++]=a)}return o}function tT(r,e){for(var t=-1,i=e.length,s=r.length;++t<i;)r[s+t]=e[t];return r}function rT(r,e){for(var t=-1,i=r==null?0:r.length;++t<i;)if(e(r[t],t,r))return!0;return!1}function iT(r,e){for(var t=-1,i=Array(r);++t<r;)i[t]=e(t);return i}function nT(r){return function(e){return r(e)}}function sT(r,e){return r.has(e)}function oT(r,e){return r?.[e]}function aT(r){var e=-1,t=Array(r.size);return r.forEach(function(i,s){t[++e]=[s,i]}),t}function dT(r,e){return function(t){return r(e(t))}}function lT(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}var uT=Array.prototype,cT=Function.prototype,Sd=Object.prototype,Rc=gt["__core-js_shared__"],Zy=cT.toString,rt=Sd.hasOwnProperty,Oy=function(){var r=/[^.]+$/.exec(Rc&&Rc.keys&&Rc.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}(),Yy=Sd.toString,mT=RegExp("^"+Zy.call(rt).replace(XE,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Fy=Xy?gt.Buffer:void 0,yd=gt.Symbol,My=gt.Uint8Array,Qy=Sd.propertyIsEnumerable,pT=uT.splice,mr=yd?yd.toStringTag:void 0,Uy=Object.getOwnPropertySymbols,gT=Fy?Fy.isBuffer:void 0,fT=dT(Object.keys,Object),Uc=yi(gt,"DataView"),as=yi(gt,"Map"),Bc=yi(gt,"Promise"),Lc=yi(gt,"Set"),Dc=yi(gt,"WeakMap"),ds=yi(Object,"create"),hT=fr(Uc),vT=fr(as),yT=fr(Bc),bT=fr(Lc),kT=fr(Dc),By=yd?yd.prototype:void 0,Oc=By?By.valueOf:void 0;function pr(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}function PT(){this.__data__=ds?ds(null):{},this.size=0}function ST(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}function CT(r){var e=this.__data__;if(ds){var t=e[r];return t===Nc?void 0:t}return rt.call(e,r)?e[r]:void 0}function IT(r){var e=this.__data__;return ds?e[r]!==void 0:rt.call(e,r)}function AT(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=ds&&e===void 0?Nc:e,this}pr.prototype.clear=PT;pr.prototype.delete=ST;pr.prototype.get=CT;pr.prototype.has=IT;pr.prototype.set=AT;function ft(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}function wT(){this.__data__=[],this.size=0}function xT(r){var e=this.__data__,t=Cd(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():pT.call(e,t,1),--this.size,!0}function ET(r){var e=this.__data__,t=Cd(e,r);return t<0?void 0:e[t][1]}function TT(r){return Cd(this.__data__,r)>-1}function RT(r,e){var t=this.__data__,i=Cd(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}ft.prototype.clear=wT;ft.prototype.delete=xT;ft.prototype.get=ET;ft.prototype.has=TT;ft.prototype.set=RT;function gr(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}function OT(){this.size=0,this.__data__={hash:new pr,map:new(as||ft),string:new pr}}function FT(r){var e=Id(this,r).delete(r);return this.size-=e?1:0,e}function MT(r){return Id(this,r).get(r)}function UT(r){return Id(this,r).has(r)}function BT(r,e){var t=Id(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}gr.prototype.clear=OT;gr.prototype.delete=FT;gr.prototype.get=MT;gr.prototype.has=UT;gr.prototype.set=BT;function bd(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new gr;++e<t;)this.add(r[e])}function LT(r){return this.__data__.set(r,Nc),this}function DT(r){return this.__data__.has(r)}bd.prototype.add=bd.prototype.push=LT;bd.prototype.has=DT;function Ut(r){var e=this.__data__=new ft(r);this.size=e.size}function _T(){this.__data__=new ft,this.size=0}function NT(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}function qT(r){return this.__data__.get(r)}function HT(r){return this.__data__.has(r)}function jT(r,e){var t=this.__data__;if(t instanceof ft){var i=t.__data__;if(!as||i.length<UE-1)return i.push([r,e]),this.size=++t.size,this;t=this.__data__=new gr(i)}return t.set(r,e),this.size=t.size,this}Ut.prototype.clear=_T;Ut.prototype.delete=NT;Ut.prototype.get=qT;Ut.prototype.has=HT;Ut.prototype.set=jT;function WT(r,e){var t=kd(r),i=!t&&nR(r),s=!t&&!i&&_c(r),o=!t&&!i&&!s&&ob(r),a=t||i||s||o,c=a?iT(r.length,String):[],p=c.length;for(var g in r)(e||rt.call(r,g))&&!(a&&(g=="length"||s&&(g=="offset"||g=="parent")||o&&(g=="buffer"||g=="byteLength"||g=="byteOffset")||QT(g,p)))&&c.push(g);return c}function Cd(r,e){for(var t=r.length;t--;)if(rb(r[t][0],e))return t;return-1}function GT(r,e,t){var i=e(r);return kd(r)?i:tT(i,t(r))}function us(r){return r==null?r===void 0?qE:DE:mr&&mr in Object(r)?ZT(r):iR(r)}function Ly(r){return ls(r)&&us(r)==gd}function eb(r,e,t,i,s){return r===e?!0:r==null||e==null||!ls(r)&&!ls(e)?r!==r&&e!==e:zT(r,e,t,i,eb,s)}function zT(r,e,t,i,s,o){var a=kd(r),c=kd(e),p=a?Fc:Mt(r),g=c?Fc:Mt(e);p=p==gd?hi:p,g=g==gd?hi:g;var v=p==hi,m=g==hi,y=p==g;if(y&&_c(r)){if(!_c(e))return!1;a=!0,v=!1}if(y&&!v)return o||(o=new Ut),a||ob(r)?tb(r,e,t,i,s,o):KT(r,e,p,t,i,s,o);if(!(t&Pd)){var k=v&&rt.call(r,"__wrapped__"),C=m&&rt.call(e,"__wrapped__");if(k||C){var I=k?r.value():r,w=C?e.value():e;return o||(o=new Ut),s(I,w,t,i,o)}}return y?(o||(o=new Ut),XT(r,e,t,i,s,o)):!1}function VT(r){if(!sb(r)||tR(r))return!1;var e=ib(r)?mT:ZE;return e.test(fr(r))}function JT(r){return ls(r)&&nb(r.length)&&!!j[us(r)]}function $T(r){if(!rR(r))return fT(r);var e=[];for(var t in Object(r))rt.call(r,t)&&t!="constructor"&&e.push(t);return e}function tb(r,e,t,i,s,o){var a=t&Pd,c=r.length,p=e.length;if(c!=p&&!(a&&p>c))return!1;var g=o.get(r);if(g&&o.get(e))return g==e;var v=-1,m=!0,y=t&_y?new bd:void 0;for(o.set(r,e),o.set(e,r);++v<c;){var k=r[v],C=e[v];if(i)var I=a?i(C,k,v,e,r,o):i(k,C,v,r,e,o);if(I!==void 0){if(I)continue;m=!1;break}if(y){if(!rT(e,function(w,B){if(!sT(y,B)&&(k===w||s(k,w,t,i,o)))return y.push(B)})){m=!1;break}}else if(!(k===C||s(k,C,t,i,o))){m=!1;break}}return o.delete(r),o.delete(e),m}function KT(r,e,t,i,s,o,a){switch(t){case vd:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case Jy:return!(r.byteLength!=e.byteLength||!o(new My(r),new My(e)));case qy:case Hy:case Gy:return rb(+r,+e);case jy:return r.name==e.name&&r.message==e.message;case zy:case Vy:return r==e+"";case fd:var c=aT;case hd:var p=i&Pd;if(c||(c=lT),r.size!=e.size&&!p)return!1;var g=a.get(r);if(g)return g==e;i|=_y,a.set(r,e);var v=tb(c(r),c(e),i,s,o,a);return a.delete(r),v;case NE:if(Oc)return Oc.call(r)==Oc.call(e)}return!1}function XT(r,e,t,i,s,o){var a=t&Pd,c=Dy(r),p=c.length,g=Dy(e),v=g.length;if(p!=v&&!a)return!1;for(var m=p;m--;){var y=c[m];if(!(a?y in e:rt.call(e,y)))return!1}var k=o.get(r);if(k&&o.get(e))return k==e;var C=!0;o.set(r,e),o.set(e,r);for(var I=a;++m<p;){y=c[m];var w=r[y],B=e[y];if(i)var me=a?i(B,w,y,e,r,o):i(w,B,y,r,e,o);if(!(me===void 0?w===B||s(w,B,t,i,o):me)){C=!1;break}I||(I=y=="constructor")}if(C&&!I){var xn=r.constructor,la=e.constructor;xn!=la&&"constructor"in r&&"constructor"in e&&!(typeof xn=="function"&&xn instanceof xn&&typeof la=="function"&&la instanceof la)&&(C=!1)}return o.delete(r),o.delete(e),C}function Dy(r){return GT(r,aR,YT)}function Id(r,e){var t=r.__data__;return eR(e)?t[typeof e=="string"?"string":"hash"]:t.map}function yi(r,e){var t=oT(r,e);return VT(t)?t:void 0}function ZT(r){var e=rt.call(r,mr),t=r[mr];try{r[mr]=void 0;var i=!0}catch{}var s=Yy.call(r);return i&&(e?r[mr]=t:delete r[mr]),s}var YT=Uy?function(r){return r==null?[]:(r=Object(r),eT(Uy(r),function(e){return Qy.call(r,e)}))}:dR,Mt=us;(Uc&&Mt(new Uc(new ArrayBuffer(1)))!=vd||as&&Mt(new as)!=fd||Bc&&Mt(Bc.resolve())!=xy||Lc&&Mt(new Lc)!=hd||Dc&&Mt(new Dc)!=Mc)&&(Mt=function(r){var e=us(r),t=e==hi?r.constructor:void 0,i=t?fr(t):"";if(i)switch(i){case hT:return vd;case vT:return fd;case yT:return xy;case bT:return hd;case kT:return Mc}return e});function QT(r,e){return e=e??Ny,!!e&&(typeof r=="number"||YE.test(r))&&r>-1&&r%1==0&&r<e}function eR(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}function tR(r){return!!Oy&&Oy in r}function rR(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||Sd;return r===t}function iR(r){return Yy.call(r)}function fr(r){if(r!=null){try{return Zy.call(r)}catch{}try{return r+""}catch{}}return""}function rb(r,e){return r===e||r!==r&&e!==e}var nR=Ly(function(){return arguments}())?Ly:function(r){return ls(r)&&rt.call(r,"callee")&&!Qy.call(r,"callee")},kd=Array.isArray;function sR(r){return r!=null&&nb(r.length)&&!ib(r)}var _c=gT||lR;function oR(r,e){return eb(r,e)}function ib(r){if(!sb(r))return!1;var e=us(r);return e==Wy||e==LE||e==BE||e==_E}function nb(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=Ny}function sb(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}function ls(r){return r!=null&&typeof r=="object"}var ob=Ry?nT(Ry):JT;function aR(r){return sR(r)?WT(r):$T(r)}function dR(){return[]}function lR(){return!1}vi.exports=oR});var xk=h(_d=>{"use strict";_d.byteLength=FR;_d.toByteArray=UR;_d.fromByteArray=DR;var it=[],He=[],OR=typeof Uint8Array<"u"?Uint8Array:Array,dm="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(xr=0,Ak=dm.length;xr<Ak;++xr)it[xr]=dm[xr],He[dm.charCodeAt(xr)]=xr;var xr,Ak;He[45]=62;He[95]=63;function wk(r){var e=r.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=r.indexOf("=");t===-1&&(t=e);var i=t===e?0:4-t%4;return[t,i]}function FR(r){var e=wk(r),t=e[0],i=e[1];return(t+i)*3/4-i}function MR(r,e,t){return(e+t)*3/4-t}function UR(r){var e,t=wk(r),i=t[0],s=t[1],o=new OR(MR(r,i,s)),a=0,c=s>0?i-4:i,p;for(p=0;p<c;p+=4)e=He[r.charCodeAt(p)]<<18|He[r.charCodeAt(p+1)]<<12|He[r.charCodeAt(p+2)]<<6|He[r.charCodeAt(p+3)],o[a++]=e>>16&255,o[a++]=e>>8&255,o[a++]=e&255;return s===2&&(e=He[r.charCodeAt(p)]<<2|He[r.charCodeAt(p+1)]>>4,o[a++]=e&255),s===1&&(e=He[r.charCodeAt(p)]<<10|He[r.charCodeAt(p+1)]<<4|He[r.charCodeAt(p+2)]>>2,o[a++]=e>>8&255,o[a++]=e&255),o}function BR(r){return it[r>>18&63]+it[r>>12&63]+it[r>>6&63]+it[r&63]}function LR(r,e,t){for(var i,s=[],o=e;o<t;o+=3)i=(r[o]<<16&16711680)+(r[o+1]<<8&65280)+(r[o+2]&255),s.push(BR(i));return s.join("")}function DR(r){for(var e,t=r.length,i=t%3,s=[],o=16383,a=0,c=t-i;a<c;a+=o)s.push(LR(r,a,a+o>c?c:a+o));return i===1?(e=r[t-1],s.push(it[e>>2]+it[e<<4&63]+"==")):i===2&&(e=(r[t-2]<<8)+r[t-1],s.push(it[e>>10]+it[e>>4&63]+it[e<<2&63]+"=")),s.join("")}});var Nq=Br(mv(),1);function f(r,e){if(r==null)throw Error(e??"Expected nonnullish value.")}function sr(r,e){if(!r)throw Error(e)}var ne;(function(r){r.COMMENT="t1_",r.ACCOUNT="t2_",r.LINK="t3_",r.MESSAGE="t4_",r.SUBREDDIT="t5_",r.AWARD="t6_"})(ne||(ne={}));function It(r){return r.startsWith(ne.COMMENT)}function Qa(r){return r.startsWith(ne.ACCOUNT)}function or(r){return r.startsWith(ne.LINK)}function pv(r){return r.startsWith(ne.MESSAGE)}function gv(r){return r.startsWith(ne.SUBREDDIT)}function fv(r){return r.startsWith(ne.AWARD)}function i0(r){sr(It(r),`Expected comment id to start with ${ne.COMMENT}, got ${r}}`)}function n0(r){sr(Qa(r),`Expected account id to start with ${ne.ACCOUNT}, got ${r}}`)}function s0(r){sr(or(r),`Expected link id to start with ${ne.LINK}, got ${r}}`)}function o0(r){sr(pv(r),`Expected message id to start with ${ne.MESSAGE}, got ${r}}`)}function a0(r){sr(gv(r),`Expected subreddit id to start with ${ne.SUBREDDIT}, got ${r}}`)}function d0(r){sr(fv(r),`Expected award id to start with ${ne.AWARD}, got ${r}}`)}function Xr(r){return i0(r),r}function se(r){return n0(r),r}function he(r){return s0(r),r}function l0(r){return o0(r),r}function Fe(r){return a0(r),r}function u0(r){return d0(r),r}function ve(r){if(It(r))return Xr(r);if(Qa(r))return se(r);if(or(r))return he(r);if(pv(r))return l0(r);if(gv(r))return Fe(r);if(fv(r))return u0(r);throw new Error(`Expected thing id to start with ${Object.values(ne).join(", ")} got ${r}}`)}function tc(r){return It(r)}import*as S from"@devvit/protos";var ed=class{constructor(e){}};var rc=(t=>(t.Installation="installation",t.App="app",t))(rc||{});function ar(r,e=new Set){for(let t of r){if(t.type==="group"){ar(t.fields,e);continue}let i=t.name;if(e.has(i))throw new Error(`Duplicate field name: ${i}`);e.add(i)}c0(r)}function c0(r){for(let e of r)if(e.type==="string"&&e.isSecret&&e.scope!=="app")throw`Invalid setting: only app settings can be secrets. Add "scope: SettingScope.App" to field "${e.name}"`}var At=Object.freeze({INTERVAL:0,FORM:1,STATE:2,CHANNEL:3});var wM=["activity","add-emoji","add","add-media","add-to-feed","admin","align-center","align-left","align-right","all","appearance","approve","archived","aspect-ratio","aspect-rectangle","attach","audio","author","avatar-style","award","back","ban","best","binoculars","block","blockchain","bold","bot","boost","bounce","brand-awareness","browse","browser","cake","calendar","camera","caret-down","caret-left","caret-right","caret-up","chat","chat-group","chat-new","checkbox-dismiss","checkbox","checkmark","chrome","clear","close","closed-captioning","code-block","code-inline","coins-color-old","coins-color","coins","collapse-left","collapse-right","collection","comment","comments","community","contest","controversial","crop","crosspost","crowd-control","custom-feed","customize","day","delete","discover","dismiss-all","distinguish","down-arrow","down","download","downvote","downvotes","drag","drugs","duplicate","edit","effect","embed","emoji","end-live-chat","error","expand-left","expand-right","external","feed-video","filter","format","forward","gif-post","heart","help","hide","history","home","hot","ignore-reports","image-post","inbox","info","invite","italic","join","joined","jump-down","jump-up","karma","keyboard","kick","language","leave","left","link","link-post","list-bulleted","list-numbered","live-chat","live","load","location","lock","logout","loop","mark-read","mask","media-gallery","meme","menu","message","mic","mic-mute","mod","mod-mail","mod-mode","mod-mute","mod-overflow","mod-queue","mod-unmute","music","new","night","notification","notification-frequent","notification-off","nsfw","nsfw-language","nsfw-violence","original","overflow-caret","overflow-horizontal","overflow-vertical","pause","payment","peace","pending-posts","phone","pin","planet","play","poll-post","popular","posts","powerup-color-outline","powerup-fill-color","powerup","predictions","premium","privacy","profile","qa","qr-code","quarantined","quote","r-slash","radio-button","raise-hand","random","ratings-everyone","ratings-mature","ratings-nsfw","ratings-violence","refresh","remove","reply","report","reverse","right","rising","rotate","rotate-image","rpan","rules","safari","save","saved","search","self","send","settings","share-android","share","share-ios","show","side-menu","skipback10","skipforward10","sort-az","sort","sort-price","sort-za","spam","spoiler","sponsored","star","statistics","status-live","sticker","strikethrough","subtract","superscript","swap-camera","swipe-back","swipe-down","swipe","swipe-up","table","tag","tap","telescope","text","text-post","text-size","toggle","tools","top","topic-activism","topic-addictionsupport","topic-advice","topic-animals","topic-anime","topic-art","topic-beauty","topic-business","topic-careers","topic-cars","topic-celebrity","topic-craftsdiy","topic-crypto","topic-culture","topic-diy","topic-entertainment","topic-ethics","topic-family","topic-fashion","topic","topic-fitness","topic-food","topic-funny","topic-gender","topic-health","topic-help","topic-history","topic-hobbies","topic-homegarden","topic-internet","topic-law","topic-learning","topic-lifestyle","topic-marketplace","topic-mature","topic-mensfashion","topic-menshealth","topic-meta","topic-military","topic-movies","topic-music","topic-news","topic-other","topic-outdoors","topic-pets","topic-photography","topic-places","topic-podcasts","topic-politics","topic-programming","topic-reading","topic-religion","topic-science","topic-sexorientation","topic-sports","topic-style","topic-tabletop","topic-technology","topic-television","topic-traumasupport","topic-travel","topic-videogaming","topic-womensfashion","topic-womenshealth","translate","trim","u-slash","unban","undo","unheart","unlock","unmod","unpin","unverified","up-arrow","up","upload","upvote","upvotes","user","user-note","users","vault","verified","video-camera","video-feed","video-live-1","video-live-fill-1","video-live","video-post","video-thread","video-transcription","view-card","view-classic","view-compact","view-grid","views","volume","volume-mute","wallet","warning","wiki-ban","wiki","wiki-unban","world"];import{AppSettingsDefinition as w0,GetFieldsResponse as x0}from"@devvit/protos";import{FormField as dr,FormFieldType as Me}from"@devvit/protos";function ct(r){return r.map(e=>{switch(e.type){case"string":return m0(e);case"image":return p0(e);case"paragraph":return g0(e);case"number":return f0(e);case"select":return h0(e);case"boolean":return v0(e);case"group":return y0(e);default:throw new Error("Unknown field type.")}})}function m0(r){return dr.fromPartial({defaultValue:{fieldType:Me.STRING,stringValue:r.defaultValue},disabled:r.disabled,fieldConfig:{stringConfig:{placeholder:r.placeholder}},fieldId:r.name,fieldType:Me.STRING,helpText:r.helpText,label:r.label,required:r.required,isSecret:r.isSecret})}function p0(r){return dr.fromPartial({disabled:r.disabled,fieldId:r.name,fieldType:Me.IMAGE,helpText:r.helpText,label:r.label,required:r.required})}function g0(r){return dr.fromPartial({defaultValue:{fieldType:Me.PARAGRAPH,stringValue:r.defaultValue},disabled:r.disabled,fieldConfig:{paragraphConfig:{lineHeight:r.lineHeight,placeholder:r.placeholder}},fieldId:r.name,fieldType:Me.PARAGRAPH,helpText:r.helpText,label:r.label,required:r.required})}function f0(r){return dr.fromPartial({defaultValue:{fieldType:Me.NUMBER,numberValue:r.defaultValue},disabled:r.disabled,fieldConfig:{numberConfig:{}},fieldId:r.name,fieldType:Me.NUMBER,helpText:r.helpText,label:r.label,required:r.required})}function h0(r){return dr.fromPartial({defaultValue:{fieldType:Me.SELECTION,selectionValue:{values:r.defaultValue}},disabled:r.disabled,fieldConfig:{selectionConfig:{choices:r.options,multiSelect:r.multiSelect}},fieldId:r.name,fieldType:Me.SELECTION,helpText:r.helpText,label:r.label,required:r.required})}function v0(r){return dr.fromPartial({defaultValue:{fieldType:Me.BOOLEAN,boolValue:r.defaultValue},disabled:r.disabled,fieldId:r.name,fieldType:Me.BOOLEAN,helpText:r.helpText,label:r.label})}function y0(r){return dr.fromPartial({fieldType:Me.GROUP,fieldConfig:{groupConfig:{fields:ct(r.fields)}},label:r.label,helpText:r.helpText})}function U(r,e){u.prototype[r]=e}import{ValidateFormResponse as A0}from"@devvit/protos";import{RealtimeSubscriptionStatus as vv}from"@devvit/protos";var L=Object.freeze({Actor:"devvit-actor",App:"devvit-app",AppUser:"devvit-app-user",AppViewerAuthToken:"devvit-app-viewer-authorization",Caller:"devvit-caller",CallerPortID:"devvit-caller-port-id",Canary:"devvit-canary",Debug:"devvit-debug",GQLHost:"devvit-gql-host",Installation:"devvit-installation",ModPermissions:"devvit-mod-permissions",R2Auth:"devvit-sec-authorization",R2Host:"devvit-r2-host",RemoteHostname:"devvit-remote-hostname",SettingsUri:"devvit-sec-settings-uri",StreamID:"devvit-stream-id",Subreddit:"devvit-subreddit",TraceID:"devvit-trace-id",User:"devvit-user",Version:"devvit-version",Language:"devvit-accept-language",Timezone:"devvit-accept-timezone"}),hv;(function(r){r.Blocks="blocks",r.EmitSnapshots="emitSnapshots",r.EmitState="emitState",r.Runtime="runtime",r.Surface="surface",r.UseAsync="useAsync",r.UseChannel="useChannel"})(hv||(hv={}));function yv(r){function e(t){let i=r.currentHookIndex,s=r.getCurrentComponentState(),o=r.getPreviousComponentState(),a=r.metadata[L.App]?.values[0];f(a,"useChannel - app is missing from Context");let c=r.metadata[L.Installation]?.values[0];f(c,"useChannel - installation is missing from Context");async function p(I){let w=s[i].channel;if(s[i].active)if(s[i].connected)await r.realtime.send(w,I);else throw Error(`Failed to send to channel '${w}'; it is active but not yet connected`);else throw Error(`Cannot send a message over inactive channel: ${w}`)}function g(){if(!s[i].active){let I=s[i].channel;s[i].active=!0,r.addRealtimeChannel(I)}}function v(){if(s[i].active){let I=s[i].channel;s[i].active=!1,r.removeRealtimeChannel(I)}}function m(I){return async()=>{let w;switch(I.status){case vv.REALTIME_SUBSCRIBED:s[i].connected=!0,w=t.onSubscribed?.();break;case vv.REALTIME_UNSUBSCRIBED:s[i].connected=!1,w=t.onUnsubscribed?.();break;default:w=t.onMessage(I.event?.data??{});break}await w}}let y={channel:`${a}:${c}:${t.name}`,active:!1,connected:!1,preventCallback:!1,type:At.CHANNEL};i in s?y=s[i]:i in o&&(y=o[i]);let k=r.realtimeEvent;r.isInitialRender?y.active=!1:k&&y.active&&k.event.channel===y.channel&&(y.preventCallback||r.runHook(m(k)),r.rerenderIn(0)),s[i]=y,r.currentHookIndex++;let C=0;return y.active&&y.connected?C=2:y.active&&!y.connected?C=1:!y.active&&y.connected?C=3:!y.active&&!y.connected&&(C=4),{subscribe:g,unsubscribe:v,send:p,status:C}}return e}import{FormFieldType as Zr}from"@devvit/protos";function ic(r){switch(r.fieldType){case Zr.STRING:return r.stringValue;case Zr.IMAGE:return r.stringValue;case Zr.PARAGRAPH:return r.stringValue;case Zr.NUMBER:return r.numberValue;case Zr.BOOLEAN:return r.boolValue;case Zr.SELECTION:return r.selectionValue?.values??[];default:return}}function wt(r){return Object.keys(r).reduce((e,t)=>(e[t]=ic(r[t]),e),{})}function bv(r){function e(t,i){let s=r.currentHookIndex,o=r.getCurrentComponentKey(),a=r.getCurrentComponentState(),c=r.getPreviousComponentState(),p=`form.hook.${o}.${s}`,g={formKey:p,preventSubmit:!1,type:At.FORM};s in a?g=a[s]:s in c&&(g=c[s]),a[s]=g,r.forms.set(p,t);let v=r.formSubmittedEvent;return v&&!g.preventSubmit&&v.formId===p&&r.runHook(async()=>{let m=i(wt(v.results));m&&m instanceof Promise&&await m,r.rerenderIn(0)}),a[s].preventSubmit=!1,r.currentHookIndex++,p}return e}function kv(r){function e(t,i){let s=r.currentHookIndex,o=r.getCurrentComponentState(),a=r.getPreviousComponentState(),c=100,p=Math.max(c,i),g={lastRun:void 0,running:!1,preventCallback:!1,type:At.INTERVAL};s in o?g=o[s]:s in a&&(g=a[s]);function v(){i<c&&console.error(`useInterval delay must be at least ${c}ms. Your interval of ${i}ms was automatically extended.`);for(let[y,k]of Object.entries(o))if(y!==s.toString()&&k?.type===At.INTERVAL&&k?.running)throw new Error("Only one useInterval hook may be running at a time");o[s]={running:!0,lastRun:o[s]?.lastRun??Date.now(),preventCallback:!1,type:At.INTERVAL},r.rerenderIn(p)}function m(){o[s].running=!1,o[s].lastRun=void 0,o[s].preventCallback=!1}return r.isEffectRender&&g.running&&(g.preventCallback||(g.lastRun===void 0||g.lastRun+p<Date.now())&&r.runHook(async()=>{let y=t();y&&y instanceof Promise&&await y,g.lastRun=Date.now()}),r.rerenderIn(p)),g.preventCallback=!1,o[s]=g,r.currentHookIndex++,{start:v,stop:m}}return e}function Pv(r){function e(t){let i=r.currentHookIndex,s=r.getCurrentComponentState(),o=r.getPreviousComponentState();if(i in s)return r.currentHookIndex++,[s[i],a];if(r.isInitialRender||!(i in o)){let c=t instanceof Function?t():t;if(c instanceof Promise)throw(async()=>{s[i]=await c,r.currentHookIndex=0})();s[i]=c}else s[i]=o[i];function a(c){if(r.isRendering)throw new Error("Cannot call setState while rendering.");s[i]=c instanceof Function?c(s[i]):c}return r.currentHookIndex++,[s[i],a]}return e}var xt,Qr,Sv,Cv,Yr=class{constructor(){l(this,Qr);l(this,xt,{});d(this,xt,u.assets)}getURL(e){return typeof e=="string"?b(this,Qr,Sv).call(this,e):b(this,Qr,Cv).call(this,e)}};xt=new WeakMap,Qr=new WeakSet,Sv=function(e){let t=n(this,xt)[e];if(t)return t;try{return new URL(e),e}catch{return""}},Cv=function(e){let t={},i=[];if(n(this,xt))for(let s of e)n(this,xt)[s]?t[s]=n(this,xt)[s]:i.push(s);else i=e;if(i.length>0)throw new Error(`The following assets were missing from the assets list: ${i.join(", ")}`);return t};var Et,ei=class{constructor(e){l(this,Et);d(this,Et,e)}async get(e){let{messages:t}=await u.kvStorePlugin.Get({keys:[e]},n(this,Et));try{if(t[e])return JSON.parse(t[e])}catch{return}}async put(e,t){let i={};i[e]=JSON.stringify(t),await u.kvStorePlugin.Put({messages:i},n(this,Et))}async delete(e){await u.kvStorePlugin.Del({keys:[e]},n(this,Et))}async list(){let{keys:e}=await u.kvStorePlugin.List({filter:"*"},n(this,Et));return e}};Et=new WeakMap;var Kn,ti=class{constructor(e){l(this,Kn);d(this,Kn,e)}async upload(e){let t=await u.mediaPlugin.Upload(e,n(this,Kn));if(!t.mediaId)throw new Error("unable to get mediaId via uploads");return Promise.resolve({mediaId:t.mediaId,mediaUrl:t.mediaUrl})}};Kn=new WeakMap;var Xn,ri=class{constructor(e){l(this,Xn);d(this,Xn,e)}async add(e){await u.modLogPlugin.Add(e,n(this,Xn))}};Xn=new WeakMap;var P,Zn,ni=class{constructor(e){l(this,P);l(this,Zn);d(this,P,e),d(this,Zn,new rd(e))}get modMail(){return n(this,Zn)}getSubredditById(e){return ye.getById(ve(e),n(this,P))}getSubredditByName(e){return ye.getByName(e,n(this,P))}addSubredditRemovalReason(e,t){return ye.addRemovalReason(e,t.title,t.message,n(this,P))}getSubredditRemovalReasons(e){return ye.getRemovalReasons(e,n(this,P))}getCurrentSubreddit(){return ye.getFromMetadata(n(this,P))}getPostById(e){return J.getById(ve(e),n(this,P))}submitPost(e){return J.submit(e,n(this,P))}crosspost(e){return J.crosspost(e,n(this,P))}getUserById(e){return A.getById(ve(e),n(this,P))}getCollectionById(e){return ii.getCollectionById({collectionId:e},n(this,P))}createCollection(e){return ii.create(e,n(this,P))}getCollectionsForSubreddit(e){return ii.getCollectionsForSubreddit({subredditId:e},n(this,P))}getUserByUsername(e){return A.getByUsername(e,n(this,P))}getCurrentUser(){return A.getFromMetadata(L.User,n(this,P))}getAppUser(){return A.getFromMetadata(L.AppUser,n(this,P))}getSnoovatarUrl(e){return A.getSnoovatarUrl(e,n(this,P))}getCommentById(e){return ee.getById(ve(e),n(this,P))}getComments(e){return ee.getComments(e,n(this,P))}getCommentsByUser(e){return ee.getCommentsByUser(e,n(this,P))}submitComment(e){return ee.submit({...e,id:ve(e.id)},n(this,P))}getControversialPosts(e){return J.getControversialPosts(e,n(this,P))}getTopPosts(e){return J.getTopPosts(e,n(this,P))}getHotPosts(e){return J.getHotPosts(e,n(this,P))}getNewPosts(e){return J.getNewPosts(e,n(this,P))}getRisingPosts(e){return J.getRisingPosts(e,n(this,P))}getPostsByUser(e){return J.getPostsByUser(e,n(this,P))}getCommentsAndPostsByUser(e){return A.getOverview(e,n(this,P))}getModerationLog(e){return td(e,n(this,P))}getApprovedUsers(e){return A.getSubredditUsersByType({type:"contributors",...e},n(this,P))}approveUser(e,t){return A.createRelationship({username:e,subredditName:t,type:"contributor"},n(this,P))}removeUser(e,t){return A.removeRelationship({username:e,subredditName:t,type:"contributor"},n(this,P))}getWikiContributors(e){return A.getSubredditUsersByType({type:"wikicontributors",...e},n(this,P))}addWikiContributor(e,t){return A.createRelationship({username:e,subredditName:t,type:"wikicontributor"},n(this,P))}removeWikiContributor(e,t){return A.removeRelationship({username:e,subredditName:t,type:"wikicontributor"},n(this,P))}getBannedUsers(e){return A.getSubredditUsersByType({type:"banned",...e},n(this,P))}banUser(e){return A.createRelationship({username:e.username,subredditName:e.subredditName,type:"banned",banReason:e.reason,banMessage:e.message,note:e.note,duration:e.duration},n(this,P))}unbanUser(e,t){return A.removeRelationship({username:e,subredditName:t,type:"banned"},n(this,P))}getBannedWikiContributors(e){return A.getSubredditUsersByType({type:"wikibanned",...e},n(this,P))}banWikiContributor(e){return A.createRelationship({...e,type:"wikibanned"},n(this,P))}unbanWikiContributor(e,t){return A.removeRelationship({username:e,subredditName:t,type:"wikibanned"},n(this,P))}getModerators(e){return A.getSubredditUsersByType({type:"moderators",...e},n(this,P))}inviteModerator(e){return A.createRelationship({type:"moderator_invite",subredditName:e.subredditName,username:e.subredditName,permissions:e.permissions??[]},n(this,P))}revokeModeratorInvite(e,t){return A.removeRelationship({username:e,subredditName:t,type:"moderator_invite"},n(this,P))}removeModerator(e,t){return A.removeRelationship({type:"moderator",subredditName:t,username:e},n(this,P))}setModeratorPermissions(e,t,i){return A.setModeratorPermissions(e,t,i,n(this,P))}getMutedUsers(e){return A.getSubredditUsersByType({type:"muted",...e},n(this,P))}muteUser(e){return A.createRelationship({...e,type:"muted"},n(this,P))}unmuteUser(e,t){return A.removeRelationship({username:e,subredditName:t,type:"muted"},n(this,P))}getModNotes(e){return Ue.get(e,n(this,P))}deleteModNote(e){return Ue.delete(e,n(this,P))}addModNote(e){let t={...e,redditId:e.redditId?ve(e.redditId):void 0};return Ue.add(t,n(this,P))}addRemovalNote(e){return Ue.addRemovalNote(e,n(this,P))}async sendPrivateMessage(e){return lr.send(e,n(this,P))}async sendPrivateMessageAsSubreddit(e){return lr.sendAsSubreddit(e,n(this,P))}async approve(e){if(It(e))return ee.approve(e,n(this,P));if(or(e))return J.approve(e,n(this,P));throw new Error("id must start with either t1_ or t3_")}async remove(e,t){if(It(e))return ee.remove(e,t,n(this,P));if(or(e))return J.remove(e,t,n(this,P));throw new Error("id must start with either t1_ or t3_")}async getPostFlairTemplates(e){return le.getPostFlairTemplates(e,n(this,P))}async getUserFlairTemplates(e){return le.getUserFlairTemplates(e,n(this,P))}async createPostFlairTemplate(e){return le.createPostFlairTemplate(e,n(this,P))}async createUserFlairTemplate(e){return le.createUserFlairTemplate(e,n(this,P))}async editFlairTemplate(e){return le.editFlairTemplate(e,n(this,P))}async deleteFlairTemplate(e,t){return le.deleteFlairTemplate(e,t,n(this,P))}async setUserFlair(e){return Be.setUserFlair(e,n(this,P))}async removeUserFlair(e,t){return Be.removeUserFlair(e,t,n(this,P))}async setPostFlair(e){return Be.setPostFlair(e,n(this,P))}async removePostFlair(e,t){return Be.removePostFlair(e,he(t),n(this,P))}async getWidgets(e){return oe.getWidgets(e,n(this,P))}async deleteWidget(e,t){return oe.delete(e,t,n(this,P))}async addWidget(e){return oe.add(e,n(this,P))}async reorderWidgets(e,t){return oe.reorder(e,t,n(this,P))}async getWikiPage(e,t){return be.getPage(e,t,n(this,P))}async getWikiPages(e){return be.getPages(e,n(this,P))}async createWikiPage(e){return be.createPage(e,n(this,P))}async updateWikiPage(e){return be.updatePage(e,n(this,P))}getWikiPageRevisions(e){return be.getPageRevisions(e,n(this,P))}async revertWikiPage(e,t,i){return be.revertPage(e,t,i,n(this,P))}async getWikiPageSettings(e,t){return be.getPageSettings(e,t,n(this,P))}async updateWikiPageSettings(e){return be.updatePageSettings(e,n(this,P))}async addEditorToWikiPage(e,t,i){return be.addEditor(e,t,i,n(this,P))}async removeEditorFromWikiPage(e,t,i){return be.removeEditor(e,t,i,n(this,P))}getMessages(e){return lr.getMessages(e,n(this,P))}markAllMessagesAsRead(){return lr.markAllAsRead(n(this,P))}report(e,t){return u.redditAPIPlugins.LinksAndComments.Report({reason:t.reason,thingId:e.id,srName:e.subredditName,usernames:e.authorName},n(this,P))}getModQueue(e){return ye.aboutLocation({...e,location:"modqueue"},n(this,P))}getReports(e){return ye.aboutLocation({...e,location:"reports"},n(this,P))}getSpam(e){return ye.aboutLocation({...e,location:"spam"},n(this,P))}getUnmoderated(e){return ye.aboutLocation({...e,location:"unmoderated"},n(this,P))}getEdited(e){return ye.aboutLocation({...e,location:"edited"},n(this,P))}getVaultByAddress(e){return Av(e,n(this,P))}getVaultByUserId(e){return wv(ve(e),n(this,P))}};P=new WeakMap,Zn=new WeakMap;import{RedisKeyScope as nc}from"@devvit/protos";function id(r){return r&&typeof r=="object"&&"message"in r&&r.message!==void 0&&typeof r.message=="string"?r.message.includes("redis: nil"):!1}var R,O,F,sc=class{constructor(e,t,i){l(this,R);l(this,O);l(this,F);d(this,R,e),d(this,O,t),d(this,F,i)}async get(e){return await n(this,R).Get({key:e,transactionId:n(this,O)},n(this,F)),this}async multi(){await n(this,R).Multi(n(this,O),n(this,F))}async set(e,t,i){let s;return i?.expiration&&(s=Math.floor((i.expiration.getTime()-Date.now())/1e3),s<1&&(s=1)),await n(this,R).Set({key:e,value:t,nx:i?.nx===!0,xx:i?.xx===!0,expiration:s||0,transactionId:n(this,O)},n(this,F)),this}async del(...e){return await n(this,R).Del({keys:e,transactionId:n(this,O)},n(this,F)),this}async type(e){return await n(this,R).Type({key:e,transactionId:n(this,O)},n(this,F)),this}async exec(){let e=await n(this,R).Exec(n(this,O),n(this,F)),t=[];for(let i of e.response)i.members?t.push(i.members):i.nil!==void 0?t.push(null):i.num!==void 0?t.push(i.num):i.values!==void 0?t.push(i.values.values):i.str!==void 0&&t.push(i.str);return t}async discard(){await n(this,R).Discard(n(this,O),n(this,F))}async watch(...e){return await n(this,R).Watch({keys:e,transactionId:n(this,O)},n(this,F)),this}async unwatch(){return await n(this,R).Unwatch(n(this,O),n(this,F)),this}async getRange(e,t,i){return await n(this,R).GetRange({key:e,start:t,end:i,transactionId:n(this,O)},n(this,F)),this}async setRange(e,t,i){return await n(this,R).SetRange({key:e,offset:t,value:i,transactionId:n(this,O)},n(this,F)),this}async strlen(e){return this.strLen(e)}async strLen(e){return await n(this,R).Strlen({key:e,transactionId:n(this,O)},n(this,F)),this}async mget(e){return this.mGet(e)}async mGet(e){return await n(this,R).MGet({keys:e,transactionId:n(this,O)},n(this,F)),this}async mset(e){return this.mSet(e)}async mSet(e){let t=Object.entries(e).map(([i,s])=>({key:i,value:s}));return await n(this,R).MSet({kv:t,transactionId:n(this,O)},n(this,F)),this}async incrBy(e,t){return await n(this,R).IncrBy({key:e,value:t,transactionId:n(this,O)},n(this,F)),this}async expire(e,t){return await n(this,R).Expire({key:e,seconds:t,transactionId:n(this,O)},n(this,F)),this}async expireTime(e){return await n(this,R).ExpireTime({key:e,transactionId:n(this,O)},n(this,F)),this}async zAdd(e,...t){return await n(this,R).ZAdd({key:e,members:t,transactionId:n(this,O)},n(this,F)),this}async zScore(e,t){return await n(this,R).ZScore({key:{key:e,transactionId:n(this,O)},member:t},n(this,F)),this}async zRank(e,t){return await n(this,R).ZRank({key:{key:e,transactionId:n(this,O)},member:t},n(this,F)),this}async zIncrBy(e,t,i){return await n(this,R).ZIncrBy({key:e,member:t,value:i,transactionId:n(this,O)},n(this,F)),this}async zScan(e,t,i,s){let o={key:e,cursor:t,pattern:i,count:s,transactionId:n(this,O)};return await n(this,R).ZScan(o,n(this,F)),this}async zCard(e){return await n(this,R).ZCard({key:e,transactionId:n(this,O)},n(this,F)),this}async zRange(e,t,i,s){let o={rev:!1,byLex:!1,byScore:!1,offset:0,count:1e3};return s?.reverse&&(o.rev=s.reverse),s?.by==="lex"?o.byLex=!0:s?.by==="score"&&(o.byScore=!0),await n(this,R).ZRange({key:{key:e,transactionId:n(this,O)},start:t+"",stop:i+"",...o},n(this,F)),this}async zRem(e,t){return await n(this,R).ZRem({key:{key:e,transactionId:n(this,O)},members:t},n(this,F)),this}async zRemRangeByLex(e,t,i){return await n(this,R).ZRemRangeByLex({key:{key:e,transactionId:n(this,O)},min:t,max:i},n(this,F)),this}async zRemRangeByRank(e,t,i){return await n(this,R).ZRemRangeByRank({key:{key:e,transactionId:n(this,O)},start:t,stop:i},n(this,F)),this}async zRemRangeByScore(e,t,i){return await n(this,R).ZRemRangeByScore({key:{key:e,transactionId:n(this,O)},min:t,max:i},n(this,F)),this}async hgetall(e){return this.hGetAll(e)}async hGetAll(e){return await n(this,R).HGetAll({key:e,transactionId:n(this,O)},n(this,F)),this}async hget(e,t){return this.hGet(e,t)}async hGet(e,t){return await n(this,R).HGet({key:e,field:t,transactionId:n(this,O)},n(this,F)),this}async hset(e,t){return this.hSet(e,t)}async hSet(e,t){let i=Object.entries(t).map(([s,o])=>({field:s,value:o}));return await n(this,R).HSet({key:e,fv:i,transactionId:n(this,O)},n(this,F)),this}async hincrby(e,t,i){return this.hIncrBy(e,t,i)}async hIncrBy(e,t,i){return await n(this,R).HIncrBy({key:e,field:t,value:i,transactionId:n(this,O)},n(this,F)),this}async hdel(e,t){return this.hDel(e,t)}async hDel(e,t){return await n(this,R).HDel({key:e,fields:t,transactionId:n(this,O)},n(this,F)),this}async hscan(e,t,i,s){return this.hScan(e,t,i,s)}async hScan(e,t,i,s){let o={key:e,cursor:t,pattern:i,count:s,transactionId:n(this,O)};return await n(this,R).HScan(o,n(this,F)),this}async hkeys(e){return this.hKeys(e)}async hKeys(e){return await n(this,R).HKeys({key:e,transactionId:n(this,O)},n(this,F)),this}async hlen(e){return this.hLen(e)}async hLen(e){return await n(this,R).HLen({key:e,transactionId:n(this,O)},n(this,F)),this}};R=new WeakMap,O=new WeakMap,F=new WeakMap;var M,si,oc=class oc{constructor(e,t=void 0,i=nc.INSTALLATION){l(this,M);l(this,si);d(this,M,e),d(this,si,t),this.scope=i,this.global=i===nc.INSTALLATION?new oc(n(this,M),n(this,si),nc.GLOBAL):this}get storage(){return n(this,si)||u.redisPlugin}async watch(...e){let t=await this.storage.Watch({keys:e},n(this,M));return new sc(this.storage,t,n(this,M))}async get(e){try{let t=await this.storage.Get({key:e,scope:this.scope},{...n(this,M),"throw-redis-nil":{values:["true"]}});return t!==null?t.value??void 0:t}catch(t){if(id(t))return;throw t}}async set(e,t,i){let s;return i?.expiration&&(s=Math.floor((i.expiration.getTime()-Date.now())/1e3),s<1&&(s=1)),(await this.storage.Set({key:e,value:t,nx:i?.nx===!0&&!i.xx,xx:i?.xx===!0&&!i.nx,expiration:s||0,scope:this.scope},n(this,M))).value}async del(...e){await this.storage.Del({keys:e,scope:this.scope},n(this,M))}async incrBy(e,t){return(await this.storage.IncrBy({key:e,value:t,scope:this.scope},n(this,M))).value}async getRange(e,t,i){let s=await this.storage.GetRange({key:e,start:t,end:i,scope:this.scope},n(this,M));return s!==null?s.value:s}async setRange(e,t,i){return(await this.storage.SetRange({key:e,offset:t,value:i,scope:this.scope},n(this,M))).value}async strlen(e){return this.strLen(e)}async strLen(e){return(await this.storage.Strlen({key:e,scope:this.scope},n(this,M))).value}async expire(e,t){await this.storage.Expire({key:e,seconds:t,scope:this.scope},n(this,M))}async expireTime(e){return(await this.storage.ExpireTime({key:e,scope:this.scope},n(this,M))).value}async zAdd(e,...t){return(await this.storage.ZAdd({key:e,members:t,scope:this.scope},n(this,M))).value}async zRange(e,t,i,s){let o={rev:!1,byLex:!1,byScore:!1,offset:0,count:1e3};return s?.reverse&&(o.rev=s.reverse),s?.by==="lex"?o.byLex=!0:s?.by==="score"?o.byScore=!0:(o.offset=0,o.count=0),(await this.storage.ZRange({key:{key:e},start:t+"",stop:i+"",...o,scope:this.scope},n(this,M))).members}async zRem(e,t){return(await this.storage.ZRem({key:{key:e},members:t,scope:this.scope},n(this,M))).value}async zRemRangeByLex(e,t,i){return(await this.storage.ZRemRangeByLex({key:{key:e},min:t,max:i,scope:this.scope},n(this,M))).value}async zRemRangeByRank(e,t,i){return(await this.storage.ZRemRangeByRank({key:{key:e},start:t,stop:i,scope:this.scope},n(this,M))).value}async zRemRangeByScore(e,t,i){return(await this.storage.ZRemRangeByScore({key:{key:e},min:t,max:i,scope:this.scope},n(this,M))).value}async zScore(e,t){try{let i=await this.storage.ZScore({key:{key:e},member:t,scope:this.scope},{...n(this,M),"throw-redis-nil":{values:["true"]}});return i!==null?i.value:i}catch(i){if(id(i))return;throw i}}async zRank(e,t){try{let i=await this.storage.ZRank({key:{key:e},member:t,scope:this.scope},{...n(this,M),"throw-redis-nil":{values:["true"]}});return i!==null?i.value:i}catch(i){if(id(i))return;throw i}}async zIncrBy(e,t,i){let s=await this.storage.ZIncrBy({key:e,member:t,value:i,scope:this.scope},n(this,M));return s!==null?s.value:s}async mget(e){return this.mGet(e)}async mGet(e){let t=await this.storage.MGet({keys:e,scope:this.scope},n(this,M));return t!==null?t.values.map(i=>i||null):t}async mset(e){return this.mSet(e)}async mSet(e){let t=Object.entries(e).map(([i,s])=>({key:i,value:s}));await this.storage.MSet({kv:t,scope:this.scope},n(this,M))}async zCard(e){let t=await this.storage.ZCard({key:e,scope:this.scope},n(this,M));return t!==null?t.value:t}async zScan(e,t,i,s){let o={key:e,cursor:t,pattern:i,count:s,scope:this.scope};return await this.storage.ZScan(o,n(this,M))}async type(e){let t=await this.storage.Type({key:e,scope:this.scope},n(this,M));return t!==null?t.value:t}async hget(e,t){return this.hGet(e,t)}async hGet(e,t){try{let i=await this.storage.HGet({key:e,field:t,scope:this.scope},{...n(this,M),"throw-redis-nil":{values:["true"]}});return i!==null?i.value??void 0:i}catch(i){if(id(i))return;throw i}}async hset(e,t){return this.hSet(e,t)}async hSet(e,t){let i=Object.entries(t).map(([o,a])=>({field:o,value:a}));return(await this.storage.HSet({key:e,fv:i,scope:this.scope},n(this,M))).value}async hgetall(e){return this.hGetAll(e)}async hGetAll(e){let t=await this.storage.HGetAll({key:e,scope:this.scope},n(this,M));return t!==null?t.fieldValues:t}async hdel(e,t){return this.hDel(e,t)}async hDel(e,t){return(await this.storage.HDel({key:e,fields:t,scope:this.scope},n(this,M))).value}async hscan(e,t,i,s){return this.hScan(e,t,i,s)}async hScan(e,t,i,s){let o={key:e,cursor:t,pattern:i,count:s,scope:this.scope};return await this.storage.HScan(o,n(this,M))}async hkeys(e){return this.hKeys(e)}async hKeys(e){let t=await this.storage.HKeys({key:e,scope:this.scope},n(this,M));return t!==null?t.keys:t}async hincrby(e,t,i){return this.hIncrBy(e,t,i)}async hIncrBy(e,t,i){return(await this.storage.HIncrBy({key:e,field:t,value:i,scope:this.scope},n(this,M))).value}async hlen(e){return this.hLen(e)}async hLen(e){return(await this.storage.HLen({key:e,scope:this.scope})).value}};M=new WeakMap,si=new WeakMap;var oi=oc;var ur,ai=class{constructor(e){l(this,ur);d(this,ur,e)}async runJob(e){return(await u.schedulerPlugin.Schedule({action:{type:e.name,data:e.data},cron:"cron"in e?e.cron:void 0,when:"runAt"in e?e.runAt:void 0},n(this,ur))).id}async cancelJob(e){await u.schedulerPlugin.Cancel({id:e},n(this,ur))}async listJobs(){return(await u.schedulerPlugin.List({after:new Date(0),before:new Date(Date.now()+31536e7)},n(this,ur))).actions.map(t=>(f(t.request?.action,"Scheduled job is malformed"),"when"in t.request&&t.request.when!=null?{id:t.id,name:t.request.action.type,runAt:t.request.when,data:t.request.action.data}:{id:t.id,name:t.request.action.type,cron:t.request.cron??"",data:t.request.action}))}};ur=new WeakMap;var Yn,di=class{constructor(e){l(this,Yn);d(this,Yn,e)}async get(e){return(await this.getAll())[e]}async getAll(){let t=await u.settingsPlugin.GetSettings({},n(this,Yn));if(!t.installationSettings)throw new Error("Could not get installation settings");if(!t.appSettings)throw new Error("Could not get app settings");return{...xv(t.installationSettings.settings,u.installationSettings),...xv(t.appSettings.settings,u.appSettings)}}};Yn=new WeakMap;function xv(r,e){let t=Object.keys(r).reduce((i,s)=>(i[s]=ic(r[s]),i),{});return e&&Ev(t,e),t}function Ev(r,e){for(let t of e)t.type==="group"?Ev(r,t.fields):!(t.name in r)&&"defaultValue"in t&&(r[t.name]=t.defaultValue)}import{EffectType as ac,Form as k0,ToastAppearance as Tv}from"@devvit/protos";var cr,li,nd=class{constructor(e){l(this,cr,[]);l(this,li);d(this,li,e)}showForm(e,t){let i=u.formDefinitions.get(e);if(!i&&n(this,li)){let a=n(this,li).forms.get(e);a&&(i={form:a,onSubmit:()=>{}})}if(!i)throw new Error("Form does not exist. Make sure you have added it using Devvit.createForm at the root of your app.");let s=i.form instanceof Function?i.form(t??{}):i.form,o=k0.fromPartial({id:e,title:s.title,acceptLabel:s.acceptLabel,cancelLabel:s.cancelLabel,shortDescription:s.description});ar(s.fields),o.fields=ct(s.fields),n(this,cr).push({type:ac.EFFECT_SHOW_FORM,showForm:{form:o}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?Tv.SUCCESS:Tv.NEUTRAL}:t={text:e},n(this,cr).push({type:ac.EFFECT_SHOW_TOAST,showToast:{toast:t}})}navigateTo(e){let t;typeof e=="string"?t=new URL(e).toString():t=new URL(e.permalink,"https://www.reddit.com").toString(),n(this,cr).push({type:ac.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}get __effects(){return n(this,cr)}};cr=new WeakMap,li=new WeakMap;var cc={now(){return new Date}};function Rv(r){return`__autocache__${r}`}function Ov(r){return`__lock__${r}`}var P0=300,S0=1e3,sd=5e3,dc=3,Fv=.1,Mv=1e3,C0=3e4;function Uv(r){if(r.error)throw new Error(r.error);return r.value}var Tt,Rt,Le,ui,X,Bv,Lv,Dv,lc,_v,Nv,uc,qv,od=class{constructor(e,t,i=cc){l(this,X);l(this,Tt);l(this,Rt,{});l(this,Le);l(this,ui);d(this,Tt,e),d(this,ui,t),d(this,Le,i)}async cache(e,t){d(this,Rt,n(this,ui).__cache=n(this,ui).__cache??{}),b(this,X,qv).call(this,t);let i=b(this,X,Bv).call(this,t.key);if(i!==void 0)return i;let s=await b(this,X,uc).call(this,t.key),o=await b(this,X,Lv).call(this,t,s,e);return Uv(o)}};Tt=new WeakMap,Rt=new WeakMap,Le=new WeakMap,ui=new WeakMap,X=new WeakSet,Bv=function(e){let t=n(this,Rt)[e];if(t){let i=n(this,Le).now().getTime(),s=t?.error&&t?.errorTime&&t.errorCount<dc&&Math.random()<Fv&&t.errorTime+Mv<i;if(t?.expires&&t.expires<i&&t.checkedAt+Mv<i||s){delete n(this,Rt)[e];return}else return Uv(t)}},Lv=async function(e,t,i){let s=t?.expires,o=s?b(this,X,Nv).call(this,s):1;return!t||t?.error&&t.errorCount<dc&&Fv>Math.random()||o>Math.random()?b(this,X,Dv).call(this,e,t,i):t},Dv=async function(e,t,i){let s=Ov(e.key),o=n(this,Le).now().getTime(),a=new Date(o+e.ttl/2);if(await n(this,Tt).set(s,"1",{expiration:a,nx:!0}))return b(this,X,_v).call(this,e.key,t,i,e.ttl);if(t)return t;{let p=n(this,Le).now();return b(this,X,lc).call(this,p,e.key,e.ttl)}},lc=async function(e,t,i){let s=Math.min(i,S0),o=await b(this,X,uc).call(this,t);if(o)return o;if(n(this,Le).now().getTime()-e.getTime()>=s)throw new Error(`Cache request timed out trying to get data at key: ${t}`);return await new Promise(a=>setTimeout(a,P0)),b(this,X,lc).call(this,e,t,i)},_v=async function(e,t,i,s){let o=n(this,Le).now().getTime()+s;t=t??{value:null,expires:o,errorCount:0,error:null,errorTime:null,checkedAt:0};try{t.value=await i(),t.error=null,t.errorCount=0,t.errorTime=null}catch(a){t.value=null,t.error=a.message??"Unknown error",t.errorTime=n(this,Le).now().getTime(),t.errorCount++}return n(this,Rt)[e]=t,await n(this,Tt).set(Rv(e),JSON.stringify(t),{expiration:new Date(o+C0)}),t.error&&t.errorCount<dc&&await n(this,Tt).del(Ov(e)),t},Nv=function(e){let t=n(this,Le).now().getTime(),i=e-t;return i<0?1:i<1e3?.1:i<2e3?.01:i<3e3?.001:0},uc=async function(e){let t=await n(this,Tt).get(Rv(e));if(t){let i=JSON.parse(t);return i.checkedAt=n(this,Le).now().getTime(),n(this,Rt)[e]=i,i}},qv=function(e){e.ttl<sd&&(console.warn(`Cache TTL cannot be less than ${sd} milliseconds! Updating ttl value of ${e.ttl} to ${sd}.`),e.ttl=sd)};function Hv(r,e,t=cc){let i=new od(r,e,t);return i.cache.bind(i)}var Qn,ci=class{constructor(e){l(this,Qn);d(this,Qn,e)}async send(e,t){await u.realtimePlugin.Send({channel:e,data:t},n(this,Qn))}};Qn=new WeakMap;function De({metadata:r,ui:e,hooks:t,reconciler:i}){let s=new ri(r),o=new ei(r),a=new oi(r),c=Hv(a,i?i.state:{}),p=new ni(r),g=new ai(r),v=new di(r),m=e?new nd(i):void 0,y=new ti(r),k=new Yr,C=new ci(r),I=t&&i?Pv(i):void 0,w=t&&i?kv(i):void 0,B=t&&i?bv(i):void 0,me=t&&i?yv(i):void 0;return{modLog:s,kvStore:o,redis:a,reddit:p,scheduler:g,settings:v,media:y,assets:k,realtime:C,get useForm(){return B??(()=>{throw new Error("useForm() is unavailable")})},get cache(){return c??(()=>{throw new Error("cache() is unavailable")})},get useState(){return I??(()=>{throw new Error("useState() is unavailable")})},get useInterval(){return w??(()=>{throw new Error("useInterval() is unavailable")})},get useChannel(){return me??(()=>{throw new Error("useChannel() is unavailable")})},get ui(){if(!m)throw new Error("ui client is not available");return m}}}function ue(r,e,t){let i=r[L.Subreddit]?.values[0];f(i,"subreddit is missing from Context");let s=r[L.AppUser]?.values[0];f(s,"appAccountId is missing from Context");let o=r[L.User]?.values[0],a=I0(r);return{appAccountId:s,subredditId:i,userId:o,postId:e,commentId:t,debug:a,toJSON(){return{appAccountId:s,subredditId:i,userId:o,postId:e,commentId:t,debug:a}}}}function I0(r){let e={blocks:void 0,emitSnapshots:void 0,emitState:void 0,runtime:void 0,surface:void 0,useAsync:void 0,useChannel:void 0},t={};for(let s in e)t[s.toLowerCase()]=s;let i={metadata:r};for(let s of(r[L.Debug]?.values??[]).join().split(",")){let[o,a]=s.split("=");o&&(o=o.trim(),a=a?.trim(),o.toLowerCase()in t?o=t[o.toLowerCase()]:console.warn(`[api] unknown devvit-debug header "${o}"`),i[o]??(i[o]=a||"true"),console.info(`[api] set devvit-debug ${o}=${i[o]}`))}return i}function jv(r){return r.flatMap(e=>e.type==="group"?jv(e.fields):e)}async function ad(r,e,t){if(!e)throw new Error("Settings were not defined.");let i=A0.fromPartial({success:!0,errors:{}}),s=wt(r.fieldValues),o=jv(e);return await Promise.all(o.map(async a=>{let c=a.name;if(c&&a.onValidate){let p=s[c],g=a.onValidate,v=Object.assign(De({metadata:t}),ue(t)),m=await g({value:p,isEditing:r.editing},v);m&&(i.success=!1,i.errors[c]=m)}})),i}async function E0(){if(!u.appSettings)throw new Error("App settings were not defined.");return x0.fromPartial({fields:{fields:ct(u.appSettings)}})}async function T0(r,e){return ad(r,u.appSettings,e)}function Wv(r){r.provides(w0),U("GetAppSettingsFields",E0),U("ValidateAppForm",T0)}import{CustomPostDefinition as U0}from"@devvit/protos";import{BlockRenderEventType as Ic,EffectType as sy}from"@devvit/protos";function mi(r){return r.__effects}function Gv(){let r=new Set;return e=>{let t=e,i=1;for(;r.has(t);)t=`${e}.${i++}`;return r.add(t),t}}import{BlockActionType as Cc,BlockAnimationDirection as Yv,BlockAnimationLoopMode as Qv,BlockAnimationType as ey,BlockAvatarBackground as ty,BlockAvatarFacing as ry,BlockAvatarSize as Ot,BlockBorderWidth as ld,BlockButtonAppearance as Ft,BlockButtonSize as gc,BlockFullSnooSize as pi,BlockGap as ud,BlockHorizontalAlignment as fc,BlockIconSize as cd,BlockImageResizeMode as es,BlockPadding as ts,BlockRadius as rs,BlockSizeUnit as hc,BlockSpacerShape as vc,BlockSpacerSize as md,BlockStackDirection as yc,BlockTextOutline as bc,BlockTextOverflow as kc,BlockTextSize as gi,BlockTextStyle as Pc,BlockTextWeight as iy,BlockType as _e,BlockVerticalAlignment as Sc}from"@devvit/protos";var mc={transparent:"transparent",black:"#000000",white:"#ffffff","coolgray-950":"#04090A","coolgray-900":"#0B1416","coolgray-850":"#0F1A1C","coolgray-800":"#131F23","coolgray-750":"#1A282D","coolgray-700":"#223237","coolgray-650":"#2A3C42","coolgray-600":"#33464C","coolgray-550":"#4B6066","coolgray-525":"#576F76","coolgray-500":"#667A80","coolgray-450":"#82959B","coolgray-400":"#A0B0B5","coolgray-350":"#B8C5C9","coolgray-300":"#D2DADD","coolgray-250":"#DAE0E3","coolgray-200":"#E2E7E9","coolgray-150":"#EAEDEF","coolgray-100":"#F2F4F5","coolgray-50":"#F9FAFA","puregray-950":"#080808","puregray-900":"#131313","puregray-850":"#181818","puregray-800":"#1E1E1E","puregray-750":"#272727","puregray-700":"#303030","puregray-650":"#393939","puregray-600":"#434343","puregray-550":"#5C5C5C","puregray-500":"#767676","puregray-450":"#919191","puregray-400":"#ACACAC","puregray-350":"#C3C3C3","puregray-300":"#D6D6D6","puregray-250":"#DDDDDD","puregray-200":"#E4E4E4","puregray-150":"#EBEBEB","puregray-100":"#F2F2F2","puregray-50":"#F8F8F8","orangered-950":"#190600","orangered-900":"#340E00","orangered-800":"#4F1500","orangered-700":"#721F00","orangered-600":"#962900","orangered-500":"#D93A00","orangered-400":"#FE7C53","orangered-300":"#FFBEA6","orangered-200":"#FFD5C6","orangered-100":"#FFEDE5","orangered-50":"#FFF6F3","red-950":"#1C0004","red-900":"#3A0008","red-800":"#58000C","red-700":"#7E0011","red-600":"#A50016","red-500":"#EB001F","red-400":"#FF6E80","red-300":"#FFADB8","red-200":"#FFCCD2","red-100":"#FFEAED","red-50":"#FFF6F7","sakurapink-950":"#1A0011","sakurapink-900":"#360024","sakurapink-800":"#530037","sakurapink-700":"#770051","sakurapink-600":"#9B006A","sakurapink-500":"#E00096","sakurapink-400":"#FF55BD","sakurapink-300":"#FFA5E3","sakurapink-200":"#FFC5EC","sakurapink-100":"#FFE5F9","sakurapink-50":"#FFF3FB","berrypurple-950":"#16001F","berrypurple-900":"#2E0041","berrypurple-800":"#470062","berrypurple-700":"#66008C","berrypurple-600":"#8700B5","berrypurple-500":"#BC0EFF","berrypurple-400":"#D55EFF","berrypurple-300":"#EEA7FF","berrypurple-200":"#F2C8FF","berrypurple-100":"#FBE6FF","berrypurple-50":"#FCF4FF","periwinkle-950":"#0D0B1F","periwinkle-900":"#1A1741","periwinkle-800":"#272262","periwinkle-700":"#372F8C","periwinkle-600":"#453BB5","periwinkle-500":"#6A5CFF","periwinkle-400":"#988EFF","periwinkle-300":"#C3BDFF","periwinkle-200":"#D8D4FF","periwinkle-100":"#ECEAFF","periwinkle-50":"#F7F6FF","alienblue-950":"#000C1D","alienblue-900":"#00183D","alienblue-800":"#00255D","alienblue-700":"#003584","alienblue-600":"#0045AC","alienblue-500":"#1870F4","alienblue-400":"#629FFF","alienblue-300":"#A7CCFF","alienblue-200":"#C6DCFF","alienblue-100":"#E4EFFF","alienblue-50":"#F3F7FF","lightblue-950":"#000D12","lightblue-900":"#001C26","lightblue-800":"#002A3A","lightblue-700":"#003F56","lightblue-600":"#005472","lightblue-500":"#007FAE","lightblue-400":"#47B0DB","lightblue-300":"#95DCFB","lightblue-200":"#B6E9FF","lightblue-100":"#D9F6FF","lightblue-50":"#ECFAFF","mintgreen-950":"#00100E","mintgreen-900":"#001E1B","mintgreen-800":"#002E28","mintgreen-700":"#00443C","mintgreen-600":"#005A4F","mintgreen-500":"#008675","mintgreen-400":"#45B9AB","mintgreen-300":"#96E1D8","mintgreen-200":"#B7ECE5","mintgreen-100":"#DAF7F4","mintgreen-50":"#ECFBF9","kiwigreen-950":"#021000","kiwigreen-900":"#032200","kiwigreen-800":"#053200","kiwigreen-700":"#084A00","kiwigreen-600":"#0A6000","kiwigreen-500":"#0E8A00","kiwigreen-400":"#55BD46","kiwigreen-300":"#A3E398","kiwigreen-200":"#BFEEB8","kiwigreen-100":"#DFF8DB","kiwigreen-50":"#EEFCED","lime-950":"#0C0E00","lime-900":"#1A1F00","lime-800":"#282F00","lime-700":"#3A4501","lime-600":"#4D5A01","lime-500":"#6B7E01","lime-400":"#A1B33B","lime-300":"#CFDB83","lime-200":"#DFE8A6","lime-100":"#EFF4CC","lime-50":"#F7FAE5","yellow-950":"#100D01","yellow-900":"#251E02","yellow-800":"#382D03","yellow-700":"#504104","yellow-600":"#665505","yellow-500":"#8F7407","yellow-400":"#DBAF00","yellow-300":"#FADB61","yellow-200":"#FFE88F","yellow-100":"#FFF2BD","yellow-50":"#FFFAE5","yelloworange-950":"#150C00","yelloworange-900":"#2C1A00","yelloworange-800":"#432700","yelloworange-700":"#623A00","yelloworange-600":"#814C00","yelloworange-500":"#B06400","yelloworange-400":"#FF9C1A","yelloworange-300":"#FFCD7C","yelloworange-200":"#FFDDA8","yelloworange-100":"#FFF0D3","yelloworange-50":"#FFF7EA","poopbrown-950":"#110B04","poopbrown-900":"#29190A","poopbrown-800":"#3B2510","poopbrown-700":"#54371A","poopbrown-600":"#6E4924","poopbrown-500":"#9A6D3F","poopbrown-400":"#CAA075","poopbrown-300":"#EECCAA","poopbrown-200":"#F6DDC3","poopbrown-100":"#FEEEDD","poopbrown-50":"#FEF7EE",pizzaRed:{light:"#ef5350",dark:"#c62828"},"global-brand-orangered":{light:"#FF4500",dark:"#FF4500"},"global-focus":{light:"#47B0DB",dark:"#007FAE"},"interactive-content-disabled":{light:"#0000003f",dark:"#ffffff3f"},"interactive-background-disabled":{light:"#0000000c",dark:"#ffffff0c"},"interactive-pressed":{light:"#00000028",dark:"#ffffff28"},"neutral-content":{light:"#2A3C42",dark:"#B8C5C9"},"neutral-content-disabled":{light:"#D6D6D6",dark:"#303030"},"neutral-content-weak":{light:"#576F76",dark:"#82959B"},"neutral-content-strong":{light:"#0F1A1C",dark:"#F2F4F5"},"neutral-background":{light:"#ffffff",dark:"#0B1416"},"neutral-background-selected":{light:"#EAEDEF",dark:"#1A282D"},"neutral-background-weak":{light:"#F9FAFA",dark:"#04090A"},"neutral-background-medium":{light:"#F8F8F8",dark:"#131313"},"neutral-background-strong":{light:"#ffffff",dark:"#0F1A1C"},"neutral-background-hover":{light:"#F2F4F5",dark:"#131F23"},"neutral-border":{light:"#00000033",dark:"#ffffff33"},"neutral-border-medium":{light:"#0000007f",dark:"#ffffff7f"},"neutral-border-weak":{light:"#00000019",dark:"#ffffff19"},"neutral-border-strong":{light:"#0F1A1C",dark:"#F2F4F5"},primary:{light:"#0045AC",dark:"#629FFF"},"primary-hover":{light:"#003584",dark:"#A7CCFF"},"primary-visited":{light:"#8700B5",dark:"#D55EFF"},"primary-onBackground":{light:"#ffffff",dark:"#ffffff"},"primary-onBackground-selected":{light:"#ffffff",dark:"#000000"},"primary-background":{light:"#0045AC",dark:"#0045AC"},"primary-background-hover":{light:"#003584",dark:"#1870F4"},"primary-background-selected":{light:"#00255D",dark:"#629FFF"},secondary:{light:"#0F1A1C",dark:"#F2F4F5"},"secondary-hover":{light:"#000000",dark:"#ffffff"},"secondary-weak":{light:"#576F76",dark:"#82959B"},"secondary-onBackground":{light:"#000000",dark:"#ffffff"},"secondary-background":{light:"#EAEDEF",dark:"#1A282D"},"secondary-background-hover":{light:"#E2E7E9",dark:"#223237"},"secondary-background-selected":{light:"#D2DADD",dark:"#33464C"},"secondary-plain":{light:"#0F1A1C",dark:"#F2F4F5"},"secondary-plain-hover":{light:"#000000",dark:"#ffffff"},"danger-background":{light:"#EB001F",dark:"#A50016"},"danger-background-disabled":{light:"#FFCCD2",dark:"#3A0008"},"danger-background-hover":{light:"#A50016",dark:"#EB001F"},"danger-onBackground":{light:"#ffffff",dark:"#ffffff"},"danger-content":{light:"#A50016",dark:"#FF6E80"},"danger-content-hover":{light:"#7E0011",dark:"#FFADB8"},"danger-content-default":{light:"#ffffff",dark:"#ffffff"},"brand-background":{light:"#D93A00",dark:"#D93A00"},"brand-onBackground":{light:"#ffffff",dark:"#ffffff"},"brand-background-hover":{light:"#962900",dark:"#962900"},"media-background":{light:"#00000099",dark:"#00000099"},"media-onbackground":{light:"#ffffff",dark:"#ffffff"},"media-onbackground-weak":{light:"#E2E7E9",dark:"#E2E7E9"},"media-background-hover":{light:"#000000cc",dark:"#000000cc"},"media-onbackground-disabled":{light:"#ffffff3f",dark:"#ffffff3f"},"media-border-selected":{light:"#ffffff",dark:"#ffffff"},"media-background-selected":{light:"#000000cc",dark:"#000000cc"},"success-content":{light:"#0A6000",dark:"#55BD46"},"success-hover":{light:"#084A00",dark:"#A3E398"},"success-onBackground":{light:"#ffffff",dark:"#ffffff"},"success-background":{light:"#0E8A00",dark:"#0A6000"},"success-background-hover":{light:"#0A6000",dark:"#0E8A00"},"warning-content":{light:"#665505",dark:"#DBAF00"},"warning-content-hover":{light:"#504104",dark:"#FADB61"},"warning-onBackground":{light:"#000000",dark:"#000000"},"warning-background":{light:"#DBAF00",dark:"#DBAF00"},"warning-background-hover":{light:"#8F7407",dark:"#FADB61"},"upvote-content":{light:"#962900",dark:"#FE7C53"},"upvote-content-weak":{light:"#FF4500",dark:"#FF4500"},"upvote-disabled":{light:"#9629004c",dark:"#FE7C534c"},"upvote-onBackground":{light:"#ffffff",dark:"#ffffff"},"upvote-background":{light:"#D93A00",dark:"#D93A00"},"upvote-background-hover":{light:"#962900",dark:"#962900"},"upvote-background-disabled":{light:"#D93A004c",dark:"#D93A004c"},"downvote-content":{light:"#453BB5",dark:"#988EFF"},"downvote-content-weak":{light:"#6A5CFF",dark:"#6A5CFF"},"downvote-disabled":{light:"#453BB54c",dark:"#988EFF4c"},"downvote-onBackground":{light:"#ffffff",dark:"#ffffff"},"downvote-background":{light:"#6A5CFF",dark:"#453BB5"},"downvote-background-hover":{light:"#453BB5",dark:"#453BB5"},"downvote-background-disabled":{light:"#6A5CFF4c",dark:"#6A5CFF4c"},"brand-gradient-default":{light:"",dark:""},"brand-gradient-default-highlight":{light:"",dark:""},"brand-gradient-hover":{light:"",dark:""},"brand-gradient-hover-highlight":{light:"",dark:""},"brand-gradient-active":{light:"",dark:""},"brand-gradient-active-highlight":{light:"",dark:""},"gradient-media":{light:"",dark:""},"gradient-media-strong":{light:"",dark:""},"transparent-background-hover":{light:"#82959B19",dark:"#667A8019"},"global-black":{light:"#000000",dark:"#000000"},"global-white":{light:"#ffffff",dark:"#ffffff"},"global-orangered":{light:"#D93A00",dark:"#D93A00"},"global-alienblue":{light:"#1870F4",dark:"#1870F4"},"global-darkblue":{light:"#131F23",dark:"#131F23"},"tone-1":{light:"#131313",dark:"#F2F2F2"},"tone-2":{light:"#434343",dark:"#ACACAC"},"tone-3":{light:"#ACACAC",dark:"#434343"},"tone-4":{light:"#E4E4E4",dark:"#303030"},"tone-5":{light:"#F2F2F2",dark:"#1E1E1E"},"tone-6":{light:"#F8F8F8",dark:"#131313"},"tone-7":{light:"#ffffff",dark:"#080808"},"action-upvote":{light:"#D93A00",dark:"#D93A00"},"action-downvote":{light:"#6A5CFF",dark:"#6A5CFF"},"alert-caution":{light:"#8F7407",dark:"#8F7407"},"identity-admin":{light:"#D93A00",dark:"#D93A00"},"identity-moderator":{light:"#0E8A00",dark:"#0E8A00"},"identity-self":{light:"#008675",dark:"#008675"},"identity-coins":{light:"#DBAF00",dark:"#DBAF00"},"category-live":{light:"#D93A00",dark:"#D93A00"},"category-nsfw":{light:"#E00096",dark:"#E00096"},"category-spoiler":{light:"#131313",dark:"#F2F2F2"},"ui-canvas":{light:"#F2F2F2",dark:"#080808"},"ui-modalbackground":{light:"#ffffff",dark:"#0F1A1C"},"avatar-gradient":{light:"",dark:""},"opacity-highlight":{light:"",dark:""},"opacity-08":{light:"#13131314",dark:"#13131314"},"opacity-50":{light:"#0000007f",dark:"#F2F2F27f"},scrim:{light:"#00000099",dark:"#00000099"},"scrim-strong":{light:"#000000cc",dark:"#000000cc"},"scrim-gradient":{light:"",dark:""},online:{light:"#55BD46",dark:"#55BD46"},favorite:{light:"#8F7407",dark:"#DBAF00"}};var zv={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",transparent:"#FFFFFF00",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},Vv=r=>!!r.match(/^(#[0-9a-fA-F]{3,8}).*/),Jv=r=>r in mc,pc=r=>r in zv,$v=r=>!!r.match(/^rgba?\(.*/),Kv=r=>!!r.match(/^hsla?\(.*/),Xv=(r,e="light")=>{if(pc(r))return dd(r);let i=mc[r];return typeof i=="string"?i:i[e]},dd=r=>zv[r]??r,Zv=r=>{let[e,t,i,s]=r.replace(/^rgba?\(|\s+|\)$/g,"").split(",");if(!e||!t||!i)return r;let a=[...[e,t,i].map(p=>parseFloat(p))];if(s){let p=parseFloat(s),g=Math.round(p*255);a.push(g)}return`#${a.map(p=>p.toString(16).padStart(2,"0")).join("")}`};var ny="data-",R0=new Set(["onPress","onMessage"]),O0=new Map([["onPress",Cc.ACTION_CLICK],["onMessage",Cc.ACTION_WEBVIEW]]),is,fi=class{constructor(e=()=>{}){l(this,is);d(this,is,e)}createBlocksElementOrThrow({type:e,props:t,children:i}){let s=this.createBlocksElement({type:e,props:t,children:i});if(!s)throw new Error(`Could not create block of type ${e}`);return s}createBlocksElement({type:e,props:t,children:i}){switch(e){case"blocks":return this.makeRoot(t,...i);case"hstack":return this.makeHStack(t,...i);case"vstack":return this.makeVStack(t,...i);case"zstack":return this.makeZStack(t,...i);case"text":return this.makeText(t,...i);case"button":return this.makeButton(t,...i);case"image":return this.makeImage(t);case"spacer":return this.makeSpacer(t);case"icon":return this.makeIcon(t);case"avatar":return this.makeAvatar(t);case"fullsnoo":return this.makeFullSnoo(t);case"animation":return this.makeAnimation(t);case"webview":return this.makeWebView(t);case"__fragment":throw new Error("root fragment is not supported - use 'blocks' instead")}}makeRootHeight(e){switch(e){case"regular":return 320;case"tall":return 512}}makeBlockPadding(e){switch(e){case"none":return ts.PADDING_NONE;case"xsmall":return ts.PADDING_XSMALL;case"small":return ts.PADDING_SMALL;case"medium":return ts.PADDING_MEDIUM;case"large":return ts.PADDING_LARGE}}makeBlockRadius(e){switch(e){case"none":return rs.RADIUS_NONE;case"small":return rs.RADIUS_SMALL;case"medium":return rs.RADIUS_MEDIUM;case"large":return rs.RADIUS_LARGE;case"full":return rs.RADIUS_FULL}}makeBlockGap(e){switch(e){case"none":return ud.GAP_NONE;case"small":return ud.GAP_SMALL;case"medium":return ud.GAP_MEDIUM;case"large":return ud.GAP_LARGE}}makeBlockAlignment(e){if(e===void 0)return;let t,i;if(e.includes("top")?t=Sc.ALIGN_TOP:e.includes("middle")?t=Sc.ALIGN_MIDDLE:e.includes("bottom")&&(t=Sc.ALIGN_BOTTOM),e.includes("start")?i=fc.ALIGN_START:e.includes("center")?i=fc.ALIGN_CENTER:e.includes("end")&&(i=fc.ALIGN_END),t!==void 0||i!==void 0)return{vertical:t,horizontal:i}}makeBlockBorder(e,t,i,s){if(!e&&!t)return;let o;switch(e){case"none":o=ld.BORDER_WIDTH_NONE;break;case"thin":o=ld.BORDER_WIDTH_THIN;break;case"thick":o=ld.BORDER_WIDTH_THICK;break;default:o=ld.BORDER_WIDTH_THIN;break}let a=t??"neutral-border-weak",c=this.getThemedColors(a,i,s);return{width:o,color:c?.light,colors:c}}makeBlockTextSize(e){switch(e){case"xsmall":return gi.TEXT_SIZE_XSMALL;case"small":return gi.TEXT_SIZE_SMALL;case"medium":return gi.TEXT_SIZE_MEDIUM;case"large":return gi.TEXT_SIZE_LARGE;case"xlarge":return gi.TEXT_SIZE_XLARGE;case"xxlarge":return gi.TEXT_SIZE_XXLARGE}}makeBlockTextStyle(e){switch(e){case"body":return Pc.TEXT_STYLE_BODY;case"metadata":return Pc.TEXT_STYLE_METADATA;case"heading":return Pc.TEXT_STYLE_HEADING}}makeBlockTextOutline(e){switch(e){case"none":return bc.TEXT_OUTLINE_NONE;case"thin":return bc.TEXT_OUTLINE_THIN;case"thick":return bc.TEXT_OUTLINE_THICK}}makeBlockTextWeight(e){switch(e){case"regular":return iy.TEXT_WEIGHT_REGULAR;case"bold":return iy.TEXT_WEIGHT_BOLD}}makeBlockTextOverflow(e){switch(e){case"clip":return kc.TEXT_OVERFLOW_CLIP;case"ellipsis":return kc.TEXT_OVERFLOW_ELLIPSE}return kc.TEXT_OVERFLOW_ELLIPSE}makeBlockButtonAppearance(e){switch(e){case"secondary":return Ft.BUTTON_APPEARANCE_SECONDARY;case"primary":return Ft.BUTTON_APPEARANCE_PRIMARY;case"plain":return Ft.BUTTON_APPEARANCE_PLAIN;case"bordered":return Ft.BUTTON_APPEARANCE_BORDERED;case"media":return Ft.BUTTON_APPEARANCE_MEDIA;case"destructive":return Ft.BUTTON_APPEARANCE_DESTRUCTIVE;case"caution":return Ft.BUTTON_APPEARANCE_CAUTION;case"success":return Ft.BUTTON_APPEARANCE_SUCCESS}}makeBlockButtonSize(e){switch(e){case"small":return gc.BUTTON_SIZE_SMALL;case"medium":return gc.BUTTON_SIZE_MEDIUM;case"large":return gc.BUTTON_SIZE_LARGE}}makeBlockImageResizeMode(e){switch(e){case"none":return es.IMAGE_RESIZE_NONE;case"fit":return es.IMAGE_RESIZE_FIT;case"fill":return es.IMAGE_RESIZE_FILL;case"cover":return es.IMAGE_RESIZE_COVER;case"scale-down":return es.IMAGE_RESIZE_SCALE_DOWN}}makeBlockSpacerSize(e){switch(e){case"xsmall":return md.SPACER_XSMALL;case"small":return md.SPACER_SMALL;case"medium":return md.SPACER_MEDIUM;case"large":return md.SPACER_LARGE}}makeBlockSpacerShape(e){switch(e){case"invisible":return vc.SPACER_INVISIBLE;case"thin":return vc.SPACER_THIN;case"square":return vc.SPACER_SQUARE}}makeBlockIconSize(e){switch(e){case"xsmall":return cd.ICON_SIZE_XSMALL;case"small":return cd.ICON_SIZE_SMALL;case"medium":return cd.ICON_SIZE_MEDIUM;case"large":return cd.ICON_SIZE_LARGE}}makeBlockAvatarSize(e){switch(e){case"xxsmall":return Ot.AVATAR_SIZE_XXSMALL;case"xsmall":return Ot.AVATAR_SIZE_XSMALL;case"small":return Ot.AVATAR_SIZE_SMALL;case"medium":return Ot.AVATAR_SIZE_MEDIUM;case"large":return Ot.AVATAR_SIZE_LARGE;case"xlarge":return Ot.AVATAR_SIZE_XXLARGE;case"xxlarge":return Ot.AVATAR_SIZE_XXLARGE;case"xxxlarge":return Ot.AVATAR_SIZE_XXXLARGE}}makeBlockAvatarFacing(e){switch(e){case"left":return ry.AVATAR_FACING_LEFT;case"right":return ry.AVATAR_FACING_RIGHT}}makeBlockFullSnooSize(e){switch(e){case"xsmall":return pi.FULLSNOO_XSMALL;case"small":return pi.FULLSNOO_SMALL;case"medium":return pi.FULLSNOO_MEDIUM;case"large":return pi.FULLSNOO_LARGE;case"xlarge":return pi.FULLSNOO_XLARGE;case"xxlarge":return pi.FULLSNOO_XXLARGE}}makeBlockAvatarBackground(e){switch(e){case"dark":return ty.AVATAR_BG_DARK;case"light":return ty.AVATAR_BG_LIGHT}}makeBlockAnimationType(e){return e==="lottie"||e===void 0?ey.ANIM_LOTTIE:ey.UNRECOGNIZED}makeBlockAnimationDirection(e){switch(e){case"backward":return Yv.ANIM_DIR_BACKWARD;case"forward":return Yv.ANIM_DIR_FORWARD}}makeBlockLoopMode(e){switch(e){case"repeat":return Qv.ANIM_LOOP_REPEAT;case"bounce":return Qv.ANIM_LOOP_BOUNCE}}makeBlockSize(e){if(e&&(e.width!=null||e.height!=null||e.grow)){let{value:t,unit:i}=this.parseSize(e.width)??{},{value:s,unit:o}=this.parseSize(e.height)??{};return{width:t,widthUnit:i,height:s,heightUnit:o,grow:e.grow}}}makeBlockSizes(e){if(e){let t=e.width!=null||e.minWidth!=null||e.maxWidth!=null,i=e.height!=null||e.minHeight!=null||e.maxHeight!=null;if(t||i||e.grow!=null)return{width:t?{value:this.parseSize(e.width),min:this.parseSize(e.minWidth),max:this.parseSize(e.maxWidth)}:void 0,height:i?{value:this.parseSize(e.height),min:this.parseSize(e.minHeight),max:this.parseSize(e.maxHeight)}:void 0,grow:e.grow}}}parseSize(e){if(e==null)return;if(typeof e=="number")return{value:e,unit:hc.SIZE_UNIT_PERCENT};let t=e.match(/^(\d+(?:\.\d+)?)(px|%)?$/);if(t==null)return;let i=hc.SIZE_UNIT_PERCENT;return t?.at(2)==="px"&&(i=hc.SIZE_UNIT_PIXELS),{value:Number.parseFloat(t[1]),unit:i}}getDataSet(e){return Object.keys(e).filter(t=>t.startsWith(ny)).reduce((t,i)=>(t[i.substring(ny.length)]=e[i],t),{})}makeActions(e,t){let i=[],s=this.getDataSet(t);return R0.forEach(o=>{if(o in t){let a=t[o];i.push({type:O0.get(o)??Cc.UNRECOGNIZED,id:a.toString(),data:s})}}),i}blockColorToHex(e,t="light"){if(e)return e=e.toLowerCase(),Vv(e)?e:Jv(e)?Xv(e,t):pc(e)?dd(e):$v(e)?Zv(e):Kv(e)?e:(console.warn(`Could not parse color: ${e}.`),dd("red"))}childrenToBlocks(e){return e.flatMap(t=>(typeof t!="string"?this.createBlocksElement(t):void 0)??[])}getThemedColors(e,t,i){let s=this.blockColorToHex(t,"light"),o=this.blockColorToHex(i,"dark"),a=[];if(e&&(!s||!o)){let c=Array.from(e?.matchAll(/[\w#-]+(?:\([\w\t ,.#-]+\))?/g)??[]);a.push(...c.map(p=>p[0]))}return s||(s=this.blockColorToHex(a?.at(0),"light")),o||(o=this.blockColorToHex(a?.at(1)??a?.at(0),"dark")),s||o?{light:s,dark:o}:void 0}parsePixels(e){return typeof e=="string"?Number(e.slice(0,-2)):e}resolveAssetUrl(e){return n(this,is).call(this)?.getURL(e)??e}childrenToString(e){return e.map(t=>t.toString()).join("")}makeRoot(e,...t){return this.wrapRoot(e,this.childrenToBlocks(t))}wrapRoot(e,t){return this.makeBlock(_e.BLOCK_ROOT,{},{rootConfig:{children:t,height:this.makeRootHeight(u.customPostType?.height??e?.height??"regular")}})}makeStackBlock(e,t,i){let s=this.getThemedColors(t?.backgroundColor,t?.lightBackgroundColor,t?.darkBackgroundColor);return this.makeBlock(_e.BLOCK_STACK,t,{stackConfig:{alignment:this.makeBlockAlignment(t?.alignment),backgroundColor:s?.light,backgroundColors:s,border:this.makeBlockBorder(t?.border,t?.borderColor,t?.lightBorderColor,t?.darkBorderColor),children:this.childrenToBlocks(i),cornerRadius:this.makeBlockRadius(t?.cornerRadius),direction:e,gap:this.makeBlockGap(t?.gap),padding:this.makeBlockPadding(t?.padding),reverse:t?.reverse}})}makeHStack(e,...t){return this.makeStackBlock(yc.STACK_HORIZONTAL,e,t)}makeVStack(e,...t){return this.makeStackBlock(yc.STACK_VERTICAL,e,t)}makeZStack(e,...t){return this.makeStackBlock(yc.STACK_DEPTH,e,t)}makeText(e,...t){let i=this.getThemedColors(e?.color,e?.lightColor,e?.darkColor);return this.makeBlock(_e.BLOCK_TEXT,e,{textConfig:{alignment:this.makeBlockAlignment(e?.alignment),color:i?.light,colors:i,outline:this.makeBlockTextOutline(e?.outline),size:this.makeBlockTextSize(e?.size),style:this.makeBlockTextStyle(e?.style),text:this.childrenToString(t),weight:this.makeBlockTextWeight(e?.weight),selectable:e?.selectable,wrap:e?.wrap,overflow:this.makeBlockTextOverflow(e?.overflow)}})}makeButton(e,...t){let i=this.getThemedColors(e?.textColor,e?.lightTextColor,e?.darkTextColor);return this.makeBlock(_e.BLOCK_BUTTON,e,{buttonConfig:{buttonAppearance:this.makeBlockButtonAppearance(e?.appearance),icon:e?.icon,buttonSize:this.makeBlockButtonSize(e?.size),text:this.childrenToString(t),textColor:i?.light,textColors:i,disabled:e?.disabled}})}makeImage(e){return e&&this.makeBlock(_e.BLOCK_IMAGE,e,{imageConfig:{description:e?.description,resizeMode:this.makeBlockImageResizeMode(e.resizeMode),url:this.resolveAssetUrl(e.url),width:this.parsePixels(e.imageWidth),height:this.parsePixels(e.imageHeight)}})}makeSpacer(e){return this.makeBlock(_e.BLOCK_SPACER,e,{spacerConfig:{size:this.makeBlockSpacerSize(e?.size),shape:this.makeBlockSpacerShape(e?.shape)}})}makeIcon(e){let t=this.getThemedColors(e?.color,e?.lightColor,e?.darkColor);return e&&this.makeBlock(_e.BLOCK_ICON,e,{iconConfig:{icon:e.name,color:t?.light,colors:t,size:this.makeBlockIconSize(e.size)}})}makeAvatar(e){return e&&this.makeBlock(_e.BLOCK_AVATAR,e,{avatarConfig:{thingId:e.thingId,size:this.makeBlockAvatarSize(e.size),facing:this.makeBlockAvatarFacing(e.facing),background:this.makeBlockAvatarBackground(e.background)}})}makeFullSnoo(e){return e&&this.makeBlock(_e.BLOCK_FULLSNOO,e,{fullsnooConfig:{userId:e.userId,facing:this.makeBlockAvatarFacing(e.facing),size:this.makeBlockFullSnooSize(e.size)}})}makeAnimation(e){return e&&this.makeBlock(_e.BLOCK_ANIMATION,e,{animationConfig:{type:this.makeBlockAnimationType(e.type),url:this.resolveAssetUrl(e.url),loop:e.loop,loopMode:this.makeBlockLoopMode(e.loopMode),autoplay:e.autoplay,width:this.parsePixels(e.imageWidth),height:this.parsePixels(e.imageHeight),direction:this.makeBlockAnimationDirection(e.direction),speed:e.speed}})}makeWebView(e){return e&&this.makeBlock(_e.BLOCK_WEBVIEW,e,{webviewConfig:{url:this.resolveAssetUrl(e.url),state:e.state}})}makeBlock(e,t,i){return{type:e,size:this.makeBlockSize(t),sizes:this.makeBlockSizes(t),config:i,actions:(t&&this.makeActions(e,t))??[],id:t?.id,key:t?.key}}ensureRootBlock(e){let t=e;if(t.type===_e.BLOCK_ROOT)return t.config?.rootConfig&&u.customPostType?.height&&(t.config.rootConfig.height=this.makeRootHeight(u.customPostType?.height)),t;let i=this.wrapRoot(void 0,[t]);if(!i)throw new Error("Could not create root block");return i}};is=new WeakMap;function oy(r){if(typeof r=="string")throw new Error("Root element cannot be a string")}var ay=r=>{let e="",t=r.props?Object.keys(r.props).map(i=>i==="onPress"?"":`${i}="${r.props[i]}"`).join(" "):"";e+=`<${r.type}${t?" "+t:""}>`;for(let i of r.children)typeof i=="string"?e+=i:e+=ay(i);return e+=`</${r.type}>`,e};function F0(r){return" ".repeat(r)}function M0(r){let e="",t=0,i=r.split(/>\s*</);for(let s=0;s<i.length;s++){let o=i[s];s===0&&(o=o.trim()),s===i.length-1&&(o=o.trim());let a=o.charAt(0)==="/";a&&t--,e+=F0(t),s!==0&&(e+="<"),e+=o,s!==i.length-1&&(e+=`>
2
+ `),!a&&o.indexOf("</")===-1&&o.charAt(o.length-1)!=="/"&&t++}return e}var Ne,dy,ns,Ac,ss,mt=class{constructor(e,t,i,s,o){l(this,Ne);this.renderState={};this.currentComponentKey=[];this.currentHookIndex=0;this.actions=new Map;this.forms=new Map;this.realtimeChannels=[];this.realtimeUpdated=!1;this.pendingHooks=[];this.isRendering=!1;this.transformer=new fi(()=>this.assets);this.effects=[];l(this,ss,!1);this.component=e,this.event=t,this.state={__renderState:{},...i},this.metadata=s,this.state.__realtimeChannels&&(this.realtimeChannels=this.state.__realtimeChannels);let a=De({reconciler:this,hooks:!0,ui:!0,metadata:s});this.cache=a.cache,this.modLog=a.modLog,this.reddit=a.reddit,this.kvStore=a.kvStore,this.redis=a.redis,this.settings=a.settings,this.scheduler=a.scheduler,this.media=a.media,this.assets=a.assets,this.realtime=a.realtime,this.dimensions=o,this.ui=a.ui,this.hooks={useState:a.useState,useInterval:a.useInterval,useForm:a.useForm,useChannel:a.useChannel}}emitEffect(e,t){this.effects.push(t)}async render(){await this.reconcile(),this.isRendering=!0;let e=await this.buildBlocksUI();return this.isRendering=!1,e}makeUniqueActionID(e){let t=e,i=1;for(;this.actions.has(t);)t=`${e}.${i++}`;return t}async reconcile(){let e=b(this,Ne,ns).call(this),t={type:this.component,props:e,children:[]},i=await this.processBlock(t);if(oy(i),this.transformer.createBlocksElementOrThrow(i),this.isUserActionRender&&this.blockRenderEventId){let s=this.actions.get(this.blockRenderEventId);s&&await s(this.event.data)}for(let s of this.pendingHooks)await s();this.buildNextState(),b(this,Ne,dy).call(this)}async buildBlocksUI(){let e=b(this,Ne,ns).call(this),t={type:this.component,props:e,children:[]},i=await this.renderElement(e,t);return this.transformer.ensureRootBlock(i)}async renderElement(e,t){let i=await this.processBlock(t);return oy(i),(u.debug.emitSnapshots||e.debug.emitSnapshots)&&console.debug(M0(ay(i))),(u.debug.emitState||e.debug.emitState)&&console.debug(JSON.stringify(this.state,void 0,2)),this.transformer.createBlocksElementOrThrow(i)}async processProps(e){let t=e.props??{},i=["onPress","onMessage"];for(let s of i)if(s in t){let o=t[s],a=o?.name,c=this.makeUniqueActionID(`${e.type}.${a??s}`);this.actions.set(c,o),t[s]=c}}async processBlock(e,t=Gv(),i=[]){let s=e;if(typeof s.type=="string"){let p=(await Promise.all(s.children.flatMap(async(m,y)=>m==null?[]:await this.processBlock(m,t,[...i,`${s.type}.${y}`])))).flat(),g=b(this,Ne,Ac).call(this,p);return await this.processProps(s),{type:s.type,props:s.props,children:g}}if(typeof s.type=="function"){let c=t(`${i.length?i.join("."):"root"}.${s.type.name.length?s.type.name:"anonymous"}`);this.currentComponentKey.push(c),this.renderState[c]||(this.renderState[c]={});let p=s.children.flatMap(m=>m),g={...b(this,Ne,ns).call(this),...s.props,children:p},v;for(;v===void 0;)try{v=await s.type(g,b(this,Ne,ns).call(this))}catch(m){if(m instanceof Promise)v=await m;else throw m}if(!this.isInitialRender){let m=this.getPreviousComponentState();if(Object.keys(m).length!==this.currentHookIndex)throw new Error("Invalid hook call. Hooks can only be called at the top-level of a function component. Make sure that you are not calling hooks inside loops, conditions, or nested functions.")}if(this.currentComponentKey.pop(),this.currentHookIndex=0,typeof v=="object")return this.processBlock(v,t,[...i,s.type.name])}if(typeof s=="string")return s;if(typeof s=="number")return`${s}`;let o=[],a="";return Array.isArray(s)?o=s:typeof s.type>"u"&&s.children&&(o=s.children,a="fragmentChild."),{type:"__fragment",props:void 0,children:await Promise.all(o.flatMap(async(c,p)=>await this.processBlock(c,t,[...i,`${a}${p}`])))}}getCurrentComponentKey(){if(!this.currentComponentKey.at(-1))throw new Error("Current component key is missing");return this.currentComponentKey}getCurrentComponentState(){let e=this.currentComponentKey.at(-1);if(!e)throw new Error("Current component key is missing");return this.renderState[e]}getPreviousComponentState(){let e=this.currentComponentKey.at(-1);if(!e)throw new Error("Current component key is missing");return this.state.__renderState[e]||(this.state.__renderState[e]={}),this.state.__renderState[e]}get isInitialRender(){return this.event?this.event.type===Ic.RENDER_INITIAL:!1}get isUserActionRender(){return this.event?this.event.type===Ic.RENDER_USER_ACTION:!1}get isEffectRender(){return this.event?this.event.type===Ic.RENDER_EFFECT_EVENT:!1}get formSubmittedEvent(){return this.event?this.event.formSubmitted:!1}get blockRenderEventId(){return this.event?this.event.id:!1}get realtimeEvent(){if(!this.event)return!1;let e=this.event.realtimeEvent;return e?.event?.channel?e:!1}runHook(e){this.pendingHooks.push(e)}rerenderIn(e){n(this,ss)||(d(this,ss,!0),this.effects.push({type:sy.EFFECT_RERENDER_UI,rerenderUi:{delaySeconds:e/1e3}}))}addRealtimeChannel(e){this.realtimeChannels.push(e),this.realtimeUpdated=!0}removeRealtimeChannel(e){this.realtimeChannels=this.realtimeChannels.filter(t=>t!==e),this.realtimeUpdated=!0}get realtimeEffect(){return this.realtimeUpdated&&this.realtimeChannels.length>0?[{type:sy.EFFECT_REALTIME_SUB,realtimeSubscriptions:{subscriptionIds:this.realtimeChannels}}]:[]}getEffects(){return[...mi(this.ui),...this.effects,...this.realtimeEffect]}buildNextState(){for(let e of Object.keys(this.renderState))this.renderState[e]=Object.values(this.renderState[e]);this.state={__postData:this.state.__postData,__renderState:this.renderState,__cache:this.state.__cache,...this.realtimeChannels.length>0?{__realtimeChannels:this.realtimeChannels}:{}}}};Ne=new WeakSet,dy=function(){this.actions.clear(),this.currentComponentKey=[],this.currentHookIndex=0,this.pendingHooks=[],this.realtimeChannels=[],this.realtimeUpdated=!1},ns=function(){let e={...ue(this.metadata,this.state.__postData?.thingId),modLog:this.modLog,reddit:this.reddit,cache:this.cache,kvStore:this.kvStore,redis:this.redis,settings:this.settings,scheduler:this.scheduler,media:this.media,assets:this.assets,realtime:this.realtime,ui:this.ui,dimensions:this.dimensions,uiEnvironment:{timezone:this.metadata[L.Timezone]?.values[0],locale:this.metadata[L.Language]?.values[0],dimensions:this.dimensions},...this.hooks};return e.debug.effects=this,e},Ac=function(e){let t=[];for(let i of e)typeof i=="string"?t.push(i):i.type==="__fragment"?t.push(...b(this,Ne,Ac).call(this,i.children)):t.push(i);return t},ss=new WeakMap;async function B0(r,e){let t=u.customPostType;if(!t)throw new Error("Custom post type not registered");let i=new mt((o,a)=>t.render(a),r.blocks,r.state,e,r.dimensions),s=await i.render();return{state:i.state,blocks:{ui:s},effects:i.getEffects()}}function ly(r){r.provides(U0),U("RenderPost",B0)}import{GetFieldsResponse as L0,InstallationSettingsDefinition as D0}from"@devvit/protos";async function _0(){if(!u.installationSettings)throw new Error("Installation settings were not defined.");return L0.fromPartial({fields:{fields:ct(u.installationSettings)}})}async function N0(r,e){return ad(r,u.installationSettings,e)}function uy(r){r.provides(D0),U("GetSettingsFields",_0),U("ValidateForm",N0)}import{ContextActionDefinition as q0,ContextActionDescription as H0,ContextActionResponse as j0}from"@devvit/protos";var cy=r=>`menuItem.${r}`;function wc(r){return u.menuItems.find((e,t)=>cy(t)===r)}async function W0(r,e){let t=u.menuItems;if(!t.length)throw new Error("No menu items registered.");return{actions:t.map((s,o)=>H0.fromPartial({actionId:cy(o),name:s.label,description:s.description,contexts:{subreddit:s.location.includes("subreddit"),post:s.location.includes("post"),comment:s.location.includes("comment")},users:{loggedOut:s.forUserType?.includes("loggedOut"),member:s.forUserType?.includes("member"),moderator:s.forUserType?.includes("moderator")},postFilters:s.postFilter==="currentApp"?{currentApp:!0}:void 0}))}}async function G0(r,e){let t=wc(r.actionId);if(!t)throw new Error(`MenuItem ${r.actionId} not found`);let i=r.comment?.id&&`t1_${r.comment.id}`,s=r.post?.id&&`t3_${r.post.id}`,o=r.subreddit?.id&&`t5_${r.subreddit.id}`,a=i||s||o;f(a,"targetId is missing from ContextActionRequest");let c={targetId:a,location:r.comment?"comment":r.post?"post":"subreddit"},p=Object.assign(De({ui:!0,metadata:e}),ue(e,s,i),{uiEnvironment:{timezone:e[L.Timezone]?.values[0],locale:e[L.Language]?.values[0]}});return await t.onPress(c,p),j0.fromPartial({effects:mi(p.ui)})}function my(r){r.provides(q0),U("GetActions",W0),U("OnAction",G0)}function pt(r){return r?r===!0?!0:r.enabled:!1}import{SchedulerHandlerDefinition as z0}from"@devvit/protos";async function V0(r,e){let t=r.type,i=u.scheduledJobHandlers.get(t);if(!i)throw new Error(`Job ${t} not found`);let s={name:t,data:r.data},o=Object.assign(De({metadata:e}),ue(e));await i(s,o)}function py(r){r.provides(z0),U("HandleScheduledAction",V0)}import{HandlerResult as J0,OnAppInstallDefinition as $0,OnAppUpgradeDefinition as K0,OnCommentCreateDefinition as X0,OnCommentDeleteDefinition as Z0,OnCommentReportDefinition as Y0,OnCommentSubmitDefinition as Q0,OnCommentUpdateDefinition as eE,OnModActionDefinition as tE,OnModMailDefinition as rE,OnPostCreateDefinition as iE,OnPostDeleteDefinition as nE,OnPostFlairUpdateDefinition as sE,OnPostReportDefinition as oE,OnPostSubmitDefinition as aE,OnPostUpdateDefinition as dE,OnPostNsfwUpdateDefinition as lE,OnPostSpoilerUpdateDefinition as uE}from"@devvit/protos";var pd;(function(r){function e(o,a){return o.length<=a?o:`${o.slice(0,a-1)}\u2026`}r.ellipsize=e;function t(o){return o[0]==null?o:`${o[0].toLocaleUpperCase()}${o.slice(1)}`}r.capitalize=t;function i(o){return o==null||/^\s*$/.test(o)}r.isBlank=i;function s(o){return o instanceof Error?`${o.stack||o.message||o.name}`:String(o)}r.caughtToString=s})(pd||(pd={}));function te(r,e){return f(e),async(t,i)=>{let s={...t,type:r},o=Object.assign(De({metadata:i}),ue(i)),a=await Promise.allSettled(e.map(p=>p(s,o))),c=cE(a);if(c)throw c.err;return J0.fromPartial({})}}function gy(r){for(let e of u.triggerOnEventHandlers.keys())switch(e){case"PostSubmit":r.provides(aE),U("OnPostSubmit",te("PostSubmit",u.triggerOnEventHandlers.get(e)));break;case"PostCreate":r.provides(iE),U("OnPostCreate",te("PostCreate",u.triggerOnEventHandlers.get(e)));break;case"PostUpdate":r.provides(dE),U("OnPostUpdate",te("PostUpdate",u.triggerOnEventHandlers.get(e)));break;case"PostReport":r.provides(oE),U("OnPostReport",te("PostReport",u.triggerOnEventHandlers.get(e)));break;case"PostDelete":r.provides(nE),U("OnPostDelete",te("PostDelete",u.triggerOnEventHandlers.get(e)));break;case"PostFlairUpdate":r.provides(sE),U("OnPostFlairUpdate",te("PostFlairUpdate",u.triggerOnEventHandlers.get(e)));break;case"CommentSubmit":r.provides(Q0),U("OnCommentSubmit",te("CommentSubmit",u.triggerOnEventHandlers.get(e)));break;case"CommentCreate":r.provides(X0),U("OnCommentCreate",te("CommentCreate",u.triggerOnEventHandlers.get(e)));break;case"CommentUpdate":r.provides(eE),U("OnCommentUpdate",te("CommentUpdate",u.triggerOnEventHandlers.get(e)));break;case"CommentReport":r.provides(Y0),U("OnCommentReport",te("CommentReport",u.triggerOnEventHandlers.get(e)));break;case"CommentDelete":r.provides(Z0),U("OnCommentDelete",te("CommentDelete",u.triggerOnEventHandlers.get(e)));break;case"AppInstall":r.provides($0),U("OnAppInstall",te("AppInstall",u.triggerOnEventHandlers.get(e)));break;case"AppUpgrade":r.provides(K0),U("OnAppUpgrade",te("AppUpgrade",u.triggerOnEventHandlers.get(e)));break;case"ModAction":r.provides(tE),U("OnModAction",te("ModAction",u.triggerOnEventHandlers.get(e)));break;case"ModMail":r.provides(rE),U("OnModMail",te("ModMail",u.triggerOnEventHandlers.get(e)));break;case"PostNsfwUpdate":r.provides(lE),U("OnPostNsfwUpdate",te("PostNsfwUpdate",u.triggerOnEventHandlers.get(e)));break;case"PostSpoilerUpdate":r.provides(uE),U("OnPostSpoilerUpdate",te("PostSpoilerUpdate",u.triggerOnEventHandlers.get(e)));break;default:throw new Error(`Unknown trigger event: ${e}`)}}function cE(r){let e=r.reduce((t,i)=>i.status==="rejected"?[...t,i.reason]:t,[]);if(e.length!==0)return e.length===1?{err:e[0]}:{err:new Error(e.map(t=>pd.caughtToString(t)).join(`
3
+ `))}}var ab=Br(wy(),1),db=Br(Ad(),1);import{EffectType as uR,UIEventHandlerDefinition as cR}from"@devvit/protos";async function mR(r,e){let t=r.state??{},i=(0,ab.default)(t),s=De({ui:!0,metadata:e});if(r.event?.formSubmitted&&r.event.formSubmitted.formId){let p=r.event.formSubmitted.formId;if(p.includes("form.hook.")&&u.customPostType){let k=new mt((C,I)=>u.customPostType?.render(I)??null,r.event,r.state,e,void 0);return await k.reconcile(),{state:k.state,effects:k.getEffects()}}let g=u.formDefinitions.get(p);if(!g)throw new Error(`Form with key ${p} not found`);let v,m;if(i.__contextAction){let{actionId:k,thingId:C}=i.__contextAction,I=wc(k);I?.location==="post"?v=C:I?.location==="comment"&&(m=C)}let y=Object.assign(s,ue(e,v,m),{uiEnvironment:{timezone:e[L.Timezone]?.values[0],locale:e[L.Language]?.values[0]}});await g.onSubmit({values:wt(r.event.formSubmitted.results)},y)}else if(r.event?.realtimeEvent){if(u.customPostType){let p=new mt((g,v)=>u.customPostType?.render(v)??null,r.event,r.state,e,void 0);return await p.reconcile(),{state:p.state,effects:p.getEffects()}}}else if(r.event?.toastAction)throw new Error("Toast actions not yet implemented");let o=!(0,db.default)(t,i),a=mi(s.ui),c=o?[...a,{type:uR.EFFECT_RERENDER_UI,rerenderUi:{delaySeconds:0}}]:a;return{state:i,effects:c}}function lb(r){r.provides(cR),U("HandleUIEvent",mR)}import{CustomPostDefinition as vb}from"@devvit/protos";var Ed=Br(Ad(),1);import{EffectType as jc,Form as fR,ToastAppearance as cb}from"@devvit/protos";var qc=class{constructor(e,t,i){this.state=null;this.hookId=e.hookId,this.form=t,this.onSubmit=i,this.onUIEvent=async s=>{s.formSubmitted&&await i(wt(s.formSubmitted.results))}}};function Hc(r,e){let t=qe({namespace:"useForm"},i=>new qc(i,r,e));return pR({id:t.hookId})}function pR(r){return`form.hook.${r.id}.0`}function gR(r){return{id:r.match(/form\.hook\.(.+)\.0/)[1]}}function ub(r,e){let t=gR(e);return r.getHook(t)}var Bt,wd=class{constructor(e){l(this,Bt);d(this,Bt,e)}showForm(e,t){let i=ub(n(this,Bt),e);if(!i)throw new Error("Form does not exist. Make sure you have added it using useForm.");let s=i.form instanceof Function?i.form(t??{}):i.form,o=fR.fromPartial({id:e,title:s.title,acceptLabel:s.acceptLabel,cancelLabel:s.cancelLabel,shortDescription:s.description});ar(s.fields),o.fields=ct(s.fields),n(this,Bt).emitEffect(e,{type:jc.EFFECT_SHOW_FORM,showForm:{form:o}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?cb.SUCCESS:cb.NEUTRAL}:t={text:e},n(this,Bt).emitEffect(e.toString(),{type:jc.EFFECT_SHOW_TOAST,showToast:{toast:t}})}navigateTo(e){let t;typeof e=="string"?t=new URL(e).toString():t=new URL(e.permalink,"https://www.reddit.com").toString(),n(this,Bt).emitEffect(t,{type:jc.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}};Bt=new WeakMap;import{RealtimeSubscriptionStatus as mb}from"@devvit/protos";var cs,Lt,hr,Wc=class{constructor(e,t){l(this,cs);l(this,Lt);l(this,hr);d(this,cs,t.context),d(this,hr,e),d(this,Lt,t.invalidate);let i=t.context.meta[L.App]?.values[0];if(!i)throw Error("useChannel() missing app ID metadata");let s=t.context.meta[L.Installation]?.values[0];if(!s)throw Error("useChannel() missing install ID from metadata");this.state={channel:`${i}:${s}:${e.name}`,connected:!1,subscribed:!1}}async onUIEvent(e){let t=e.realtimeEvent;if(!(!t||!this.state.subscribed))switch(t.status){case mb.REALTIME_SUBSCRIBED:this.state.connected=!0,n(this,Lt).call(this),await n(this,hr).onSubscribed?.();break;case mb.REALTIME_UNSUBSCRIBED:this.state.connected=!1,n(this,Lt).call(this),await n(this,hr).onUnsubscribed?.();break;default:n(this,hr).onMessage(t.event?.data??{});break}}async send(e){if(!this.state.subscribed||!this.state.connected)throw Error(`send failed; ${this.state.channel} channel not connected`);await n(this,cs).devvitContext.realtime.send(this.state.channel,e)}get status(){return this.state.subscribed&&this.state.connected?2:this.state.subscribed&&!this.state.connected?1:!this.state.subscribed&&this.state.connected?3:4}subscribe(){this.state.subscribed||(this.state.subscribed=!0,n(this,Lt).call(this))}unsubscribe(){this.state.subscribed&&(this.state.subscribed=!1,n(this,Lt).call(this))}};cs=new WeakMap,Lt=new WeakMap,hr=new WeakMap;function pb(r){return qe({namespace:"useChannel"},e=>new Wc(r,e))}import{EffectType as Gc}from"@devvit/protos";var ki,bi=class bi{constructor(e,t){l(this,ki);this._segments=[];this._hooks={};this._prevHookId="";this._effects={};this._changed={};this._requeueEvents=[];this._rootProps={};this._generated={};this._undeliveredHandlers={};this.request=e,this.meta=t,d(this,ki,e.state??{}),this._rootProps=e.props??{}}get devvitContext(){if(!this._devvitContext)throw new Error("Devvit context not available");return this._devvitContext}set devvitContext(e){this._devvitContext=e}get _changedState(){let e={};for(let t in this._changed)e[t]=this._state[t];return e}get _state(){return n(this,ki)}set _state(e){this._changed={},d(this,ki,e)}push(e){this._segments.push({...e,next:0})}pop(){this._segments.pop()}addUndeliveredEventHandler(e,t){this._undeliveredHandlers[e]=t}addGlobalUndeliveredEventHandler(e,t){bi.addGlobalUndeliveredEventHandler(e,t)}getHook(e){return this._hooks[e.id]}static addGlobalUndeliveredEventHandler(e,t){bi._staticUndeliveredHandlers[e]=t}async handleUndeliveredEvent(e){let t={...bi._staticUndeliveredHandlers,...this._undeliveredHandlers};for(let[i,s]of Object.entries(t))await s(e,this)}emitEffect(e,t){this._effects[e]=t}addToRequeueEvents(...e){this._devvitContext?.debug.blocks&&console.debug("[blocks] requeueing events",e);let t=e.reduce((i,s)=>(s.retry?i.retry.push(s):i.normal.push(s),i),{retry:[],normal:[]});this._requeueEvents=[...t.retry,...this._requeueEvents,...t.normal]}get effects(){return Object.values(this._effects)}nextHookId(e){e.key===void 0&&(e.key=this._segments[this._segments.length-1].next+++""),this.push(e);try{let t=[];for(let s=this._segments.length-1;s>=0;s--){let o=this._segments[s];if(o.id){t.unshift(o.id);break}let a=[];o.namespace&&a.push(o.namespace),o.key!==void 0&&o.key!==!1&&a.push(o.key),t.unshift(a.join("-"))}let i=t.join(".");if(this._generated[i]&&!e.shared)throw new Error(`Hook id ${i} already used, cannot register another hook with the same id`);return this._generated[i]=!0,this._prevHookId=i,i}finally{this.pop()}}};ki=new WeakMap,bi._staticUndeliveredHandlers={};var Pi=bi;var Dt={};Pi.addGlobalUndeliveredEventHandler("intervals",async(r,e)=>{r.timer&&r.hook&&(delete Dt[r.hook],e.emitEffect("timers",{type:Gc.EFFECT_SET_INTERVALS,interval:{intervals:Dt}}))});var _t,Si,ms,Ci,zc=class{constructor(e,t,i){l(this,_t);l(this,Si);l(this,ms);l(this,Ci);this.state={duration:{seconds:0,nanos:0},running:!1};d(this,Si,i.invalidate),d(this,_t,i.hookId),d(this,ms,e),d(this,Ci,i.context);let s=Math.floor(t/1e3),o=t%1e3*1e6;this.state.duration={seconds:s,nanos:o}}onStateLoaded(){this.state.running?Dt[n(this,_t)]={duration:this.state.duration}:delete Dt[n(this,_t)]}async onUIEvent(e){await n(this,ms).call(this)}start(){Dt[n(this,_t)]={duration:this.state.duration},this.state.running=!0,n(this,Si).call(this),n(this,Ci).emitEffect("timers",{type:Gc.EFFECT_SET_INTERVALS,interval:{intervals:Dt}})}stop(){delete Dt[n(this,_t)],this.state.running=!1,n(this,Si).call(this),n(this,Ci).emitEffect("timers",{type:Gc.EFFECT_SET_INTERVALS,interval:{intervals:Dt}})}};_t=new WeakMap,Si=new WeakMap,ms=new WeakMap,Ci=new WeakMap;function Vc(r,e){return qe({namespace:"useInterval"},t=>new zc(r,e,t))}var Ii=class extends Error{};function $c(r){let e=qe({namespace:"useState"},({invalidate:t})=>{let i=r instanceof Function?r():r;if(i instanceof Promise)throw new Error("Cannot use async initializer with context.useState. Please use useAsyncState instead by importing it: import { Devvit, useAsyncState } from '@devvit/public-api';");return{state:i,setter:o=>{e.state=o instanceof Function?o(e.state):o,t()}}});return[e.state,e.setter]}var vr,ps,gs,Ai,Jc=class{constructor(e,t){this.state={value:null,loading:!1};l(this,vr);l(this,ps);l(this,gs);l(this,Ai);d(this,gs,e),d(this,Ai,t.hookId),d(this,vr,t.invalidate),d(this,ps,t.context)}async onUIEvent(){this.state.value===null&&(this.state.value=await n(this,gs).call(this),this.state.loading=!1,n(this,vr).call(this))}setter(e){this.state.value=e instanceof Function?e(this.state.value):e,n(this,vr).call(this)}onStateLoaded(){if(this.state.value===null){this.state.loading=!0,n(this,vr).call(this);let e={asyncRequest:{requestId:n(this,Ai)},hook:n(this,Ai)};throw n(this,ps).addToRequeueEvents(e),new Ii}}};vr=new WeakMap,ps=new WeakMap,gs=new WeakMap,Ai=new WeakMap;function hR(r){let e=qe({namespace:"useAsyncState"},t=>new Jc(r,t));return[e.state.value,e.setter.bind(e)]}var vR=new Proxy({},{get:function(r,e,t){throw new Error(`Unimplemented API: ${String(e)}`)}}),xd=class{buildContext(e,t,i){let s=new ri(i),o=new ei(i),a=new oi(i),c=new ni(i),p=new ai(i),g=new di(i),v=new wd(e),m=new ti(i),y=new Yr,k=new ci(i),I={modLog:s,kvStore:o,redis:a,reddit:c,scheduler:p,settings:g,media:m,assets:y,realtime:k,ui:v,useState:$c,useChannel:pb,useInterval:Vc,useForm:Hc,cache:vR,dimensions:t.env?.dimensions,uiEnvironment:{timezone:i[L.Timezone]?.values[0],locale:i[L.Language]?.values[0],dimensions:t.env?.dimensions}},w=ue(i,t.props?.postId);return w.debug.effects=e,{...w,...I}}};var ke=null;function Kc(r){return JSON.parse(JSON.stringify(r))}function qe(r,e){if(!ke)throw new Error("Hooks can only be declared at the top of a component. You cannot declare hooks outside of components or inside of event handlers. It's almost always a mistake to declare hooks inside of loops or conditionals.");let t=ke.nextHookId(r),i=ke,s={hookId:t,invalidate:()=>{i._changed[t]=!0,i._state[t]=i?._hooks[t]?.state},context:ke},o=ke._state[t]===void 0;ke._hooks[t]=ke._hooks[t]??e(s);let a=ke._hooks[t];return ke._state[t]!==void 0&&(a.state=ke._state[t]),a.onStateLoaded?.(),o&&a.state!==void 0&&a.state!==null&&s.invalidate(),a}var yR=null,wi,Fd,fs,E,Pe,Td,gb,Xc,fb,Zc,Yc,Rd,Qc,hb,Od=class{constructor(e){l(this,E);l(this,wi);l(this,Fd,new xd);l(this,fs,new fi(()=>this._latestRenderContext?.devvitContext?.assets));this._latestRenderContext=null;n(this,E,Pe)&&console.debug("[blocks] BlocksHandler v1"),d(this,wi,e),yR=this}async handle(e,t){let i=new Pi(e,t),s=n(this,Fd).buildContext(i,e,t);i.devvitContext=s;let o,a=e.events,p=!e.events?.length||a.some(k=>!k.async),g=a.some(k=>k.blocking),v,m,y=[...a];for(n(this,E,Pe)&&console.debug("[blocks] starting processing events");a.length>0;){n(this,E,Pe)&&console.debug("[blocks] processing events loop iteration",a.length);let k=[];if(!a[0].async)k.push(a.shift());else for(;a[0]?.async;)k.push(a.shift());if(!k.length)throw Error("batch must have at least one event");try{if(k[0].async){let I=Kc(i._state);await b(this,E,gb).call(this,i,...k),i._state=I}else await b(this,E,fb).call(this,i,...k)}catch(I){if(n(this,E,Pe)&&console.debug("[blocks] caught in handler",I),m){i._state=m._state,i._changed=v,i._effects=m._effects;let w=y.map(B=>{let me={...B};return me.retry=!0,me});i.addToRequeueEvents(...w);break}else throw I}n(this,E,Pe)&&console.debug("[blocks] remaining events",i._requeueEvents);let C=[];for(let I of i._requeueEvents){if(!p&&!I.async){n(this,E,Pe)&&console.debug("[blocks] NOT reprocessing event in BlocksHandler, sync mismatch A",I),C.push(I);continue}if(p&&I.async&&!g){n(this,E,Pe)&&console.debug("[blocks] NOT reprocessing event in BlocksHandler, sync mismatch B",I),C.push(I);continue}n(this,E,Pe)&&console.debug("[blocks] reprocessing event in BlocksHandler",I),a.push(I)}i._requeueEvents=C,a.length>0&&(v={...i._changed},m={_state:Kc(i._state),_effects:{...i._effects}},y=[...a])}if(p){let k=Kc(i._state),C=[...i._requeueEvents],I={...i._effects},w=b(this,E,Zc).call(this,n(this,wi),i._rootProps??{},i);(0,Ed.default)(i._state,k)||console.error("[blocks] State was mutated during rendering",i._state,k),(0,Ed.default)(i._requeueEvents,C)||console.error("[blocks] Events were mutated during rendering",i._requeueEvents,C),(0,Ed.default)(i._effects,I)||console.error("[blocks] Effects were mutated during rendering",i._effects,I),w&&(o=n(this,fs).createBlocksElementOrThrow(w),o=n(this,fs).ensureRootBlock(o))}return{state:i._changedState,effects:i.effects,blocks:o,events:i._requeueEvents}}};wi=new WeakMap,Fd=new WeakMap,fs=new WeakMap,E=new WeakSet,Pe=function(){return!!this._latestRenderContext?.devvitContext.debug.blocks},Td=function(e,...t){e._hooks={},b(this,E,Zc).call(this,n(this,wi),e.request.props??{},e)},gb=async function(e,...t){b(this,E,Td).call(this,e,...t),await Promise.all(t.map(async i=>{if(!i.async)throw new Error("You can't mix main and other queues in one batch. This is likely a platform bug. Please file an issue in the Discord for someone to help! https://discord.com/channels/1050224141732687912/1115441897079574620");await b(this,E,Xc).call(this,e,i)}))},Xc=async function(e,t){let i=e._hooks[t.hook];if(i?.onUIEvent)try{await i.onUIEvent(t,e)}catch(s){throw console.error("Error in event handler",s),s}else await e.handleUndeliveredEvent(t)},fb=async function(e,...t){for(let i of t)n(this,E,Pe)&&console.log("[blocks] handling main queue event",i),n(this,E,Pe)&&console.log("[blocks] before",e._state),b(this,E,Td).call(this,e,i),await b(this,E,Xc).call(this,e,i),n(this,E,Pe)&&console.log("[blocks] after",e._state);b(this,E,Td).call(this,e)},Zc=function(e,t,i){n(this,E,Pe)&&console.debug("[blocks] renderRoot"),i._generated={},ke=i,this._latestRenderContext=i;try{let s=b(this,E,Yc).call(this,e,t,i);if(s.length!==1)throw new Error("only one root");let o=s[0];if(typeof o=="string")throw new Error("There must be a root tag. Try wrapping your app in a <text></text>, <vstack> or other tag.");return o}catch(s){if(s instanceof Ii)return;throw s}finally{ke=null}},Yc=function(e,t,i){i.push({namespace:e.name,...t});try{let s=e(t,i.devvitContext);return b(this,E,Qc).call(this,s,i)}finally{i.pop()}},Rd=function(e,t){return e=e.flat(1/0),e.flatMap((i,s)=>(i&&typeof i=="object"&&"props"in i&&(i.props?.key||(i.props=i.props??{},i.props.key=`${s}`)),b(this,E,Qc).call(this,i,t)))},Qc=function(e,t){if(Array.isArray(e))return b(this,E,Rd).call(this,e,t);if(bR(e)){if(e.type===void 0)return b(this,E,Rd).call(this,e.children,t);if(typeof e.type=="function"){let i={...e.props,children:e.children};return b(this,E,Yc).call(this,e.type,i,t)}else{t.push({namespace:e.type,...e.props});let i=b(this,E,Rd).call(this,e.children,t),s=b(this,E,hb).call(this,e.props??{});return t.pop(),[{type:e.type,children:i,props:s}]}}else return[(e??"").toString()]},hb=function(e){let t={};for(let i in e)if(typeof e[i]=="function"){let s=qe({namespace:i,key:!1},({hookId:o})=>({hookId:o,state:null,onUIEvent:e[i]}));t[i]=s.hookId,"captureHookRef"in e[i]&&e[i].captureHookRef()}else{let s=JSON.parse(JSON.stringify(e[i]));s!=null&&(t[i]=s)}return t};function bR(r){return typeof r=="object"&&r!=null&&"type"in r}var kR=[[vb,vb.methods.renderPostContent,(r,e)=>u.customPostType?.render(e)??null]];function PR(r){return async(e,t)=>new Od(r).handle(e,t)}function yb(r){for(let[e,t,i]of kR)r.provides(e),U(t.name,PR(i))}var hs,xi,yr,br,kr,Ei,Ti,Nt,Pr,N,W,$,vs,D=class D extends ed{static configure(e){d(this,hs,e),pt(e.http)&&b(this,W,$).call(this,S.HTTPDefinition),(pt(e.kvStore)||pt(e.redis))&&(b(this,W,$).call(this,S.KVStoreDefinition),b(this,W,$).call(this,S.RedisAPIDefinition)),pt(e.media)&&b(this,W,$).call(this,S.MediaServiceDefinition),pt(e.modLog)&&b(this,W,$).call(this,S.ModlogDefinition),pt(e.redditAPI)&&(b(this,W,$).call(this,S.FlairDefinition),b(this,W,$).call(this,S.GraphQLDefinition),b(this,W,$).call(this,S.LinksAndCommentsDefinition),b(this,W,$).call(this,S.ListingsDefinition),b(this,W,$).call(this,S.ModerationDefinition),b(this,W,$).call(this,S.ModNoteDefinition),b(this,W,$).call(this,S.NewModmailDefinition),b(this,W,$).call(this,S.PrivateMessagesDefinition),b(this,W,$).call(this,S.SubredditsDefinition),b(this,W,$).call(this,S.PostCollectionsDefinition),b(this,W,$).call(this,S.UsersDefinition),b(this,W,$).call(this,S.WidgetsDefinition),b(this,W,$).call(this,S.WikiDefinition),b(this,W,$).call(this,S.RedditAPIV2Definition)),pt(e.realtime)&&b(this,W,$).call(this,S.RealtimeDefinition)}static addMenuItem(e){n(this,xi).push(e)}static addCustomPostType(e){d(this,yr,e)}static createForm(e,t){let i=`form.${n(this,br).size}`;return n(this,br).set(i,{form:e,onSubmit:t}),i}static addSchedulerJob(e){if(n(this,N)[S.SchedulerDefinition.fullName]||b(this,W,$).call(this,S.SchedulerDefinition),n(this,kr).has(e.name))throw new Error(`Job ${e.name} is already defined`);n(this,kr).set(e.name,e.onRun)}static addSettings(e){ar(e);let t=e.filter(s=>s.type==="group"||!s.scope||s.scope==="installation"),i=e.filter(s=>s.type!=="group"&&s.scope==="app");t.length>0&&d(this,Ei,t),i.length>0&&d(this,Ti,i),n(this,N)[S.SettingsDefinition.fullName]||b(this,W,$).call(this,S.SettingsDefinition)}static addTrigger(e){if("events"in e){for(let t of e.events)this.addTrigger({event:t,onEvent:(i,s)=>e.onEvent(i,s)});return this}return n(this,Nt).has(e.event)?n(this,Nt).get(e.event)?.push(e.onEvent):n(this,Nt).set(e.event,[e.onEvent]),D}static get redditAPIPlugins(){if(!pt(n(this,hs).redditAPI))throw new Error("Reddit API is not enabled. You can enable it by passing `redditAPI: true` to `Devvit.configure`.");return{Flair:n(this,N)[S.FlairDefinition.fullName],GraphQL:n(this,N)[S.GraphQLDefinition.fullName],LinksAndComments:n(this,N)[S.LinksAndCommentsDefinition.fullName],Listings:n(this,N)[S.ListingsDefinition.fullName],Moderation:n(this,N)[S.ModerationDefinition.fullName],ModNote:n(this,N)[S.ModNoteDefinition.fullName],NewModmail:n(this,N)[S.NewModmailDefinition.fullName],PrivateMessages:n(this,N)[S.PrivateMessagesDefinition.fullName],Subreddits:n(this,N)[S.SubredditsDefinition.fullName],PostCollections:n(this,N)[S.PostCollectionsDefinition.fullName],Users:n(this,N)[S.UsersDefinition.fullName],Widgets:n(this,N)[S.WidgetsDefinition.fullName],Wiki:n(this,N)[S.WikiDefinition.fullName]}}static get modLogPlugin(){let e=n(this,N)[S.ModlogDefinition.fullName];if(!e)throw new Error("ModLog is not enabled. You can enable it by passing `modLog: true` to `Devvit.configure`");return e}static get schedulerPlugin(){let e=n(this,N)[S.SchedulerDefinition.fullName];if(!e)throw new Error("Scheduler is not enabled. You can enable it by calling `Devvit.addSchedulerJob` at the top level of your app.");return e}static get kvStorePlugin(){let e=n(this,N)[S.KVStoreDefinition.fullName];if(!e)throw new Error("Key Value Store is not enabled. You can enable it by passing `kvStore: true` to `Devvit.configure`");return e}static get redisPlugin(){let e=n(this,N)[S.RedisAPIDefinition.fullName];if(!e)throw new Error("Redis is not enabled. You can enable it by passing `redis: true` to `Devvit.configure`");return e}static get mediaPlugin(){let e=n(this,N)[S.MediaServiceDefinition.fullName];if(!e)throw new Error("MediaService is not enabled. You can enable it by passing `media: true` to `Devvit.configure`");return e}static get redditapiv2Plugin(){let e=n(this,N)[S.RedditAPIV2Definition.fullName];if(!e)throw new Error("RedditAPIV2 is not enabled. You can enable it by passing `apiV2: true` to `Devvit.configure`");return e}static get settingsPlugin(){let e=n(this,N)[S.SettingsDefinition.fullName];if(!e)throw new Error("Settings is not enabled. You can enable it by passing `settings: true` to `Devvit.configure`");return e}static get realtimePlugin(){let e=n(this,N)[S.RealtimeDefinition.fullName];if(!e)throw new Error("Realtime is not enabled. You can enable it by passing `realtime: true` to `Devvit.configure`");return e}static get menuItems(){return n(this,xi)}static get customPostType(){return n(this,yr)}static get formDefinitions(){return n(this,br)}static get scheduledJobHandlers(){return n(this,kr)}static get installationSettings(){return n(this,Ei)}static get appSettings(){return n(this,Ti)}static get triggerOnEventHandlers(){return n(this,Nt)}static get assets(){return n(D,vs)}constructor(e){super(e),d(D,vs,e.assets??{});for(let t in n(D,Pr)){let i=n(D,Pr)[t];i.handler=e.use(i.def,i.options)}n(D,xi).length>0&&my(e),n(D,kr).size>0&&py(e),n(D,yr)&&(ly(e),yb(e)),(n(D,yr)||n(D,br).size>0)&&lb(e),n(D,Ei)&&uy(e),n(D,Ti)&&Wv(e),n(D,Nt).size>0&&gy(e)}};hs=new WeakMap,xi=new WeakMap,yr=new WeakMap,br=new WeakMap,kr=new WeakMap,Ei=new WeakMap,Ti=new WeakMap,Nt=new WeakMap,Pr=new WeakMap,N=new WeakMap,W=new WeakSet,$=function(e,t){n(this,Pr)[e.fullName]={def:e,options:t??{},handler:void 0};let i={};for(let s of Object.values(e.methods))i[s.name]=(o,a)=>n(this,Pr)[e.fullName].handler?.[s.name]?.(s.requestType?.fromPartial(o??{}),a);return n(this,N)[e.fullName]=i,i},vs=new WeakMap,l(D,W),D.debug={},l(D,hs,{}),l(D,xi,[]),l(D,yr),l(D,br,new Map),l(D,kr,new Map),l(D,Ei),l(D,Ti),l(D,Nt,new Map),l(D,Pr,{}),l(D,N,{}),l(D,vs,{});var u=D;(e=>{function r(t,i,...s){return{type:t,props:i,children:s}}e.createElement=r})(u||(u={}));function Z(r){let e=Object.getOwnPropertyDescriptors(r.constructor.prototype);for(let[t,i]of Object.entries(e))i.get&&Object.defineProperty(r,t,{...i,enumerable:!0})}var em;(function(r){r[r.bold=1]="bold",r[r.italic=2]="italic",r[r.underline=4]="underline",r[r.strikethrough=8]="strikethrough",r[r.subscript=16]="subscript",r[r.superscript=32]="superscript",r[r.monospace=64]="monospace"})(em||(em={}));var bb="text",kb="raw",Pb="br",Sb="link",Cb="c/",Ib="p/",Ab="r/",wb="u/",xb="@",Eb="spoilertext",Tb="par",Rb="h",Ob="hr",Fb="blockquote",Mb="code",Ub="li",Bb="list",Lb="L",Db="R",_b="C",Nb="table",qb="embed",Hb="img",jb="gif",Wb="video";function Gb(r){return{e:jb,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function zb(r,e){let t={},i=[];return Object.assign(t,ys(t,i),bs(t,i),ks(t,i),Cs(t,i),Is(t,i),As(t,i)),e(t),{e:Fb,c:i,...r.author&&{a:r.author}}}function Vb(r,e){let t={},i=[];return Object.assign(t,rm(t,i)),e(t),{e:Mb,c:i,...r.language&&{l:r.language}}}function Jb(r){return{e:Cb,t:r.permalink}}function $b(r,e){let t={},i=[];return Object.assign(t,rm(t,i),Ss(t,i)),e(t),{e:Rb,l:r.level,c:i}}function Kb(r){return{e:qb,u:r.sourceUrl,c:r.contentUrl,x:r.width,y:r.height}}function Xb(){return{e:Ob}}function Zb(r){return{e:Hb,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function Yb(){return{e:Pb}}function Qb(r){return{e:Sb,t:r.text,u:r.url,...r.formatting&&{f:r.formatting},...r.tooltip&&{a:r.tooltip}}}function ek(r,e){let t={},i=[];return Object.assign(t,hk(t,i)),e(t),{e:Bb,o:r.ordered,c:i}}function tk(r){let e={},t=[];return Object.assign(e,ys(e,t),bs(e,t),ks(e,t),Md(e,t),Cs(e,t),Is(e,t),As(e,t)),r(e),{e:Ub,c:t}}function rk(r){let e={},t=[];return Object.assign(e,Ud(e,t),Ss(e,t),tm(e,t),im(e,t),Ps(e,t)),r(e),{e:Tb,c:t}}function ik(r){return{e:Ib,t:r.permalink}}function nk(r){return{e:kb,t:r}}function sk(r){let e={},t=[];return Object.assign(e,Ud(e,t),Ss(e,t),tm(e,t)),r(e),{e:Eb,c:t}}function ok(r){return{e:Ab,t:r.subredditName,l:r.showPrefix}}function ak(r){let e={},t=[],i=[];return Object.assign(e,vk(e,t,i)),r(e),{e:Nb,h:t,c:i}}function dk(r){let[e,t]=fk();return r(e),{c:t}}function lk(r,e){let[t,i]=fk();e(t);let s;switch(r.columnAlignment){case"left":s=Lb;break;case"right":s=Db;break;case"center":s=_b;break}return{...s&&{a:s},...i&&{c:i}}}function uk(r){let e={},t=[];return Object.assign(e,yk(e,t)),r(e),t}function ck(r){return{e:bb,t:r.text,...r.formatting&&{f:r.formatting}}}function mk(r){return{e:wb,t:r.username,l:r.showPrefix}}function pk(r){return{e:xb,t:r.username,l:r.showPrefix}}function gk(r){return{e:Wb,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur},...r.thumbnail&&{p:r.thumbnail},...r.convertToGif&&{gifify:r.convertToGif}}}function fk(){let r={},e=[];return Object.assign(r,Ud(r,e),Ss(r,e),im(r,e),Ps(r,e)),[r,e]}function ys(r,e){return{blockQuote(t,i){return e.push(zb(t,i)),r}}}function bs(r,e){return{codeBlock(t,i){return e.push(Vb(t,i)),r}}}function bk(r,e){return{embed(t){return e.push(Kb(t)),r}}}function ks(r,e){return{heading(t,i){return e.push($b(t,i)),r}}}function Md(r,e){return{horizontalRule(){return e.push(Xb()),r}}}function Ps(r,e){return{image(t){return e.push(Zb(t)),r},animatedImage(t){return e.push(Gb(t)),r}}}function tm(r,e){return{linebreak(){return e.push(Yb()),r}}}function Ss(r,e){return{link(t){return e.push(Qb(t)),r},commentLink(t){return e.push(Jb(t)),r},postLink(t){return e.push(ik(t)),r},subredditLink(t){return e.push(ok(t)),r},userLink(t){return e.push(mk(t)),r},userMention(t){return e.push(pk(t)),r}}}function Cs(r,e){return{list(t,i){return e.push(ek(t,i)),r}}}function hk(r,e){return{item(t){return e.push(tk(t)),r}}}function Is(r,e){return{paragraph(t){return e.push(rk(t)),r}}}function rm(r,e){return{rawText(t){return e.push(nk(t)),r}}}function im(r,e){return{spoiler(t){return e.push(sk(t)),r}}}function vk(r,e,t){return{headerCell(i,s){return e.push(lk(i,s)),r},row(i){return t.push(uk(i)),r}}}function As(r,e){return{table(t){return e.push(ak(t)),r}}}function yk(r,e){return{cell(t){return e.push(dk(t)),r}}}function Ud(r,e){return{text(t){return e.push(ck(t)),r}}}function kk(r,e){return{video(t){return e.push(gk(t)),r}}}var SR=function(r,e,t,i,s){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!s:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?s.call(r,t):s?s.value=t:e.set(r,t),t},CR=function(r,e,t,i){if(t==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?i:t==="a"?i.call(r):i?i.value:e.get(r)},Bd,ws=class{constructor(){Bd.set(this,void 0);let e=[];Object.assign(this,Is(this,e),ks(this,e),Md(this,e),ys(this,e),bs(this,e),bk(this,e),Cs(this,e),As(this,e),Ps(this,e),kk(this,e)),SR(this,Bd,{document:e},"f")}build(){return JSON.stringify(CR(this,Bd,"f"))}paragraph(e){return this}heading(e,t){return this}horizontalRule(){return this}blockQuote(e,t){return this}codeBlock(e,t){return this}embed(e){return this}list(e,t){return this}table(e){return this}image(e){return this}animatedImage(e){return this}video(e){return this}};Bd=new WeakMap;function Ri(r){let e;return r instanceof ws?e=r.build():typeof r=="object"?e=JSON.stringify(r):e=r,e}var Pk=100,Sk=1/0,Sr,Cr,qt,Oi,Fi,Ld,G=class{constructor(e){l(this,Fi);l(this,Sr);l(this,Cr);l(this,qt);l(this,Oi,!1);this.pageSize=Pk;this.limit=Sk;this.children=[];Z(this),this._fetch=e.fetch,this.pageSize=e.pageSize??Pk,this.limit=e.limit??Sk,d(this,Cr,e.after),d(this,Sr,e.before),d(this,qt,e.more),e.children&&(this.children=e.children)}get hasMore(){return!n(this,Oi)||!!(n(this,Cr)||n(this,Sr)||n(this,qt))}async*[Symbol.asyncIterator](){let e=0;for(;;){if(e===this.children.length)if(this.hasMore){if((await b(this,Fi,Ld).call(this)).length===0)break}else break;if(yield this.children[e],e++,e===this.limit)break}}setMore(e){d(this,qt,e)}preventInitialFetch(){d(this,Oi,!0)}async all(){for(;this.hasMore&&this.children.length<this.limit;)await b(this,Fi,Ld).call(this);return this.children.slice(0,this.limit)}async get(e){let t=e<=this.limit?e:this.limit;for(;this.hasMore&&this.children.length<t;)await b(this,Fi,Ld).call(this);return this.children.slice(0,t)}};Sr=new WeakMap,Cr=new WeakMap,qt=new WeakMap,Oi=new WeakMap,Fi=new WeakSet,Ld=async function(){if(!this.hasMore)throw new Error("This listing does not have any more items to load.");let{children:e,before:t,after:i,more:s}=await this._fetch({before:n(this,Sr),after:n(this,Cr),limit:this.pageSize,more:n(this,qt)});return this.children.push(...e),d(this,Sr,t),d(this,Cr,i),d(this,qt,s),d(this,Oi,!0),e};function IR(r){try{return!0}catch{return!1}}function AR(r){try{return!0}catch{return!1}}var xs,nm,Ue=class{constructor(){}static get(e,t){let i=u.redditAPIPlugins.ModNote;return new G({hasMore:!0,before:e.before,limit:e.limit,pageSize:e.limit,fetch:async s=>{let o=await i.GetNotes({subreddit:e.subreddit,user:e.user,filter:e.filter,before:s.before,limit:s.limit},t);return{children:o.modNotes?.map(a=>b(this,xs,nm).call(this,a))||[],before:o.hasNextPage?o.endCursor:void 0,hasMore:o.hasNextPage}}})}static async delete(e,t){let i=u.redditAPIPlugins.ModNote,{deleted:s}=await i.DeleteNotes(e,t);return!!s}static async add(e,t){let s=await u.redditAPIPlugins.ModNote.PostNotes(e,t);if(!s?.created)throw new Error("Failed to create mod note");return b(this,xs,nm).call(this,s.created)}static async addRemovalNote(e,t){await u.redditAPIPlugins.ModNote.PostRemovalNote(e,t)}};xs=new WeakSet,nm=function(e){if(f(e.id,"Mod note ID is null or undefined"),f(e.createdAt,"Mod note createdAt is null or undefined"),f(e.type,"Mod note type is null or undefined"),f(e.subreddit,"Mod note subreddit is null or undefined"),f(e.subredditId,"Mod note subredditId is null or undefined"),f(e.operator,"Mod note operator is null or undefined"),f(e.operatorId,"Mod note operatorId is null or undefined"),f(e.user,"Mod note user is null or undefined"),f(e.userId,"Mod note userId is null or undefined"),f(e.userNoteData,"Mod note userNote is null or undefined"),f(e.modActionData,"Mod note modAction is null or undefined"),!IR(e.userNoteData?.label??""))throw new Error(`Invalid user note label: ${e.userNoteData?.label}`);if(!AR(e.type))throw new Error(`Invalid mod note type: ${e.type}`);return{id:e.id,user:{id:se(e.userId??""),name:e.user},subreddit:{id:Fe(e.subredditId??""),name:e.subreddit},operator:{id:se(e.operatorId??""),name:e.operator},createdAt:new Date(e.createdAt*1e3),userNote:{note:e.userNoteData?.note,redditId:ve(e.userNoteData?.redditId??""),label:e.userNoteData?.label},type:e.type}},l(Ue,xs);var Ir=class{static queryWithQueryString(e,t){return u.redditAPIPlugins.GraphQL.Query({query:e},t)}static query(e,t,i,s){return u.redditAPIPlugins.GraphQL.PersistedQuery({operationName:e,id:t,variables:i},s)}};var Ck=["all","wiki","posts","access","mail","config","flair","channels","chat_config","chat_community","chat_operator"];function wR(r,e,t=!1){let i=t?"%2b":"+";return e.map(s=>(r.includes(s)?i:"-")+s).join(",")}function sm(r){return wR(r,Ck,!0)}function Ik(r){return r.filter(e=>Ck.includes(e))}var xR=(t=>(t.User="USER_FLAIR",t.Post="LINK_FLAIR",t))(xR||{}),wr,Mi,Ui,Bi,Li,Di,_i,Ni,qi,Hi,ji,Dd,Xe=class Xe{constructor(e,t,i){l(this,wr);l(this,Mi);l(this,Ui);l(this,Bi);l(this,Li);l(this,Di);l(this,_i);l(this,Ni);l(this,qi);l(this,Hi);Z(this),f(e.id),f(e.text),d(this,wr,e.id),d(this,Mi,t),d(this,Ui,e.text),d(this,Bi,ER(e.textColor)),d(this,Li,TR(e.backgroundColor)),d(this,Di,RR(e.allowableContent)),d(this,_i,e.modOnly),d(this,Ni,e.maxEmojis),d(this,qi,e.textEditable),d(this,Hi,i)}get id(){return n(this,wr)}get text(){return n(this,Ui)}get textColor(){return n(this,Bi)}get backgroundColor(){return n(this,Li)}get allowableContent(){return n(this,Di)}get modOnly(){return n(this,_i)}get maxEmojis(){return n(this,Ni)}get allowUserEdits(){return n(this,qi)}async delete(){return Xe.deleteFlairTemplate(n(this,wr),n(this,Mi),n(this,Hi))}async edit(e){return Xe.editFlairTemplate({id:n(this,wr),subredditName:n(this,Mi),text:e.text??n(this,Ui),allowableContent:e.allowableContent??n(this,Di),backgroundColor:e.backgroundColor??n(this,Li),maxEmojis:e.maxEmojis??n(this,Ni),modOnly:e.modOnly??n(this,_i),textColor:e.textColor??n(this,Bi),allowUserEdits:e.allowUserEdits??n(this,qi)},n(this,Hi))}static async createPostFlairTemplate(e,t){var i;return b(i=Xe,ji,Dd).call(i,{...e,flairType:"LINK_FLAIR"},t)}static async createUserFlairTemplate(e,t){var i;return b(i=Xe,ji,Dd).call(i,{...e,flairType:"USER_FLAIR"},t)}static async editFlairTemplate(e,t){var i;return b(i=Xe,ji,Dd).call(i,e,t)}static async getPostFlairTemplates(e,t){return(await u.redditAPIPlugins.Flair.LinkFlair({subreddit:e},t)).flair?.map(o=>new Xe(o,e,t))||[]}static async getUserFlairTemplates(e,t){return(await u.redditAPIPlugins.Flair.UserFlair({subreddit:e},t)).flair?.map(o=>new Xe(o,e,t))||[]}static async deleteFlairTemplate(e,t,i){await u.redditAPIPlugins.Flair.DeleteFlairTemplate({subreddit:e,flairTemplateId:t},i)}};wr=new WeakMap,Mi=new WeakMap,Ui=new WeakMap,Bi=new WeakMap,Li=new WeakMap,Di=new WeakMap,_i=new WeakMap,Ni=new WeakMap,qi=new WeakMap,Hi=new WeakMap,ji=new WeakSet,Dd=async function(e,t){let{subredditName:i,allowableContent:s="all",backgroundColor:o="transparent",flairType:a="",maxEmojis:c=10,modOnly:p=!1,text:g,textColor:v="dark",allowUserEdits:m=!1,id:y=""}=e;if(p&&m)throw new Error("Cannot have a mod only flair that is editable by users");let C=await u.redditAPIPlugins.Flair.FlairTemplate({subreddit:i,allowableContent:s,backgroundColor:o,flairType:a,maxEmojis:c,modOnly:p,text:g,textColor:v,textEditable:m,flairTemplateId:y,cssClass:"",overrideCss:!1},t);return new Xe(C,i,t)},l(Xe,ji);var le=Xe;function Es(r){return{flairCssClass:r.flairCssClass,user:r.user,flairText:r.flairText}}var Ht,om,am,Ar=class Ar{static async getUserFlairBySubreddit(e,t){return u.redditAPIPlugins.Flair.FlairList(e,t)}static setUserFlair(e,t){var i;return b(i=Ar,Ht,om).call(i,e,t)}static setPostFlair(e,t){var i;return b(i=Ar,Ht,om).call(i,{...e,postId:he(e.postId)},t)}static async removePostFlair(e,t,i){var s;return b(s=Ar,Ht,am).call(s,e,t,void 0,i)}static async removeUserFlair(e,t,i){var s;return b(s=Ar,Ht,am).call(s,e,void 0,t,i)}};Ht=new WeakSet,om=async function(e,t){await u.redditAPIPlugins.Flair.SelectFlair({subreddit:e.subredditName,flairTemplateId:e.flairTemplateId??"",text:e.text??"",name:e.username,link:e.postId,backgroundColor:e.backgroundColor??"",textColor:e.textColor??"dark",cssClass:e.cssClass??"",returnRtjson:"none"},t)},am=async function(e,t,i,s){await u.redditAPIPlugins.Flair.SelectFlair({subreddit:e,name:i??"",link:t??"",flairTemplateId:"",backgroundColor:"",text:"",textColor:"",cssClass:"",returnRtjson:"none"},s)},l(Ar,Ht);var Be=Ar;function ER(r){if(f(r,"Flair text color is required"),r==="light"||r==="dark")return r;throw new Error(`Invalid flair text color: ${r}`)}function TR(r){if(f(r,"Flair background color is required"),r==="transparent"||/^#([A-Fa-f0-9]{6})$/.test(r))return r;throw new Error(`Invalid flair background color: ${r}`)}function RR(r){if(r==="all"||r==="text"||r==="emoji")return r;throw new Error(`Invalid allowable content: ${r}`)}import{Block as _R}from"@devvit/protos";var Ek=Br(xk(),1);var Wi,Rs,Gi,Os,Fs,Ms,Us,Bs,zi,Ls,Ds,_s,Ns,qs,Hs,jt,js,Ws,Er,Vi,Wt,Ji,$i,Ki,Tr,Gt,zt,Xi,Vt,Jt,$t,ht,Gs,zs,Zi,Yi,_,H=class H{constructor(e,t){l(this,Wi);l(this,Rs);l(this,Gi);l(this,Os);l(this,Fs);l(this,Ms);l(this,Us);l(this,Bs);l(this,zi);l(this,Ls);l(this,Ds);l(this,_s);l(this,Ns);l(this,qs);l(this,Hs);l(this,jt);l(this,js);l(this,Ws);l(this,Er);l(this,Vi);l(this,Wt);l(this,Ji);l(this,$i);l(this,Ki);l(this,Tr);l(this,Gt);l(this,zt);l(this,Xi);l(this,Vt);l(this,Jt);l(this,$t);l(this,ht);l(this,Gs);l(this,zs);l(this,Zi);l(this,Yi);l(this,_);Z(this),f(e.id,"Post is missing id"),f(e.title,"Post is missing title"),f(e.createdUtc,"Post is missing created date"),f(e.author,"Post is missing author name"),f(e.subreddit,"Post is missing subreddit name"),f(e.subredditId,"Post is missing subreddit id"),f(e.url,"Post is missing url"),f(e.permalink,"Post is missing permalink"),d(this,Wi,he(`t3_${e.id}`)),d(this,Gi,e.author),d(this,Rs,e.authorFullname?se(e.authorFullname):void 0),d(this,Fs,Fe(e.subredditId)),d(this,Ms,e.subreddit),d(this,_s,e.score??0),d(this,Ns,e.numComments??0),d(this,qs,e.numReports??0);let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,Os,i),d(this,Bs,e.title),d(this,zi,e.selftext),d(this,Ls,e.selftextHtml),d(this,Ds,e.url),d(this,Us,e.permalink),e.thumbnail&&e.thumbnail!=="self"&&e.thumbnail!=="nsfw"&&e.thumbnailHeight!=null&&e.thumbnailWidth!=null&&d(this,Hs,{url:e.thumbnail,height:e.thumbnailHeight,width:e.thumbnailWidth}),d(this,jt,e.approved??!1),d(this,js,e.approvedAtUtc??0),d(this,Ws,e.bannedAtUtc??0),d(this,Wt,e.removed??!1),d(this,Ji,e.removedBy),d(this,$i,e.removedByCategory),d(this,Er,e.spam??!1),d(this,Vi,e.stickied??!1),d(this,Ki,e.archived??!1),d(this,Tr,e.edited??!1),d(this,Gt,e.locked??!1),d(this,zt,e.over18??!1),d(this,Xi,e.quarantine??!1),d(this,Vt,e.spoiler),d(this,Jt,e.hidden??!1),d(this,$t,e.ignoreReports??!1),d(this,ht,e.distinguished),d(this,zs,e.secureMedia),d(this,Zi,(e.modReports??[]).map(([s])=>s)),d(this,Yi,(e.userReports??[]).map(([s])=>s)),d(this,_,t),(e.linkFlairBackgroundColor||e.linkFlairCssClass||e.linkFlairText||e.linkFlairType||e.linkFlairTemplateId||e.linkFlairRichtext||e.linkFlairTextColor)&&d(this,Gs,{backgroundColor:e.linkFlairBackgroundColor,cssClass:e.linkFlairCssClass,text:e.linkFlairText,type:e.linkFlairType,templateId:e.linkFlairTemplateId,richtext:(e.linkFlairRichtext??[]).map(({e:s,t:o,a,u:c})=>({elementType:s,text:o,emojiRef:a,url:c})),textColor:e.linkFlairTextColor})}get id(){return n(this,Wi)}get authorId(){return n(this,Rs)}get authorName(){return n(this,Gi)}get subredditId(){return n(this,Fs)}get subredditName(){return n(this,Ms)}get permalink(){return n(this,Us)}get title(){return n(this,Bs)}get body(){return n(this,zi)}get bodyHtml(){return n(this,Ls)}get url(){return n(this,Ds)}get thumbnail(){return n(this,Hs)}get createdAt(){return n(this,Os)}get score(){return n(this,_s)}get numberOfComments(){return n(this,Ns)}get numberOfReports(){return n(this,qs)}get approved(){return n(this,jt)}get approvedAtUtc(){return n(this,js)}get bannedAtUtc(){return n(this,Ws)}get spam(){return n(this,Er)}get stickied(){return n(this,Vi)}get removed(){return n(this,Wt)}get removedBy(){return n(this,Ji)}get removedByCategory(){return n(this,$i)}get archived(){return n(this,Ki)}get edited(){return n(this,Tr)}get locked(){return n(this,Gt)}get nsfw(){return n(this,zt)}get quarantined(){return n(this,Xi)}get spoiler(){return n(this,Vt)}get hidden(){return n(this,Jt)}get ignoringReports(){return n(this,$t)}get distinguishedBy(){return n(this,ht)}get comments(){return ee.getComments({postId:this.id},n(this,_))}get flair(){return n(this,Gs)}get secureMedia(){return n(this,zs)}get userReportReasons(){return n(this,Yi)}get modReportReasons(){return n(this,Zi)}toJSON(){return{id:this.id,authorId:this.authorId,authorName:this.authorName,subredditId:this.subredditId,subredditName:this.subredditName,permalink:this.permalink,title:this.title,body:this.body,bodyHtml:this.bodyHtml,url:this.url,thumbnail:this.thumbnail,score:this.score,numberOfComments:this.numberOfComments,numberOfReports:this.numberOfReports,createdAt:this.createdAt,approved:this.approved,spam:this.spam,stickied:this.stickied,removed:this.removed,removedBy:n(this,Ji),removedByCategory:n(this,$i),archived:this.archived,edited:this.edited,locked:this.locked,nsfw:this.nsfw,quarantined:this.quarantined,spoiler:this.spoiler,hidden:this.hidden,ignoringReports:this.ignoringReports,distinguishedBy:this.distinguishedBy,flair:this.flair,secureMedia:this.secureMedia,modReportReasons:n(this,Zi),userReportReasons:n(this,Yi)}}isApproved(){return n(this,jt)}isSpam(){return n(this,Er)}isStickied(){return n(this,Vi)}isRemoved(){return n(this,Wt)}isArchived(){return n(this,Ki)}isEdited(){return n(this,Tr)}isLocked(){return n(this,Gt)}isNsfw(){return n(this,zt)}isQuarantined(){return n(this,Xi)}isSpoiler(){return n(this,Vt)}isHidden(){return n(this,Jt)}isIgnoringReports(){return n(this,$t)}isDistinguishedBy(){return n(this,ht)}async edit(e){let t=await H.edit({id:this.id,...e},n(this,_));d(this,zi,t.body),d(this,Tr,t.edited)}async addComment(e){return ee.submit({id:this.id,...e},n(this,_))}async delete(){return H.delete(this.id,n(this,_))}async approve(){await H.approve(this.id,n(this,_)),d(this,jt,!0),d(this,Wt,!1)}async remove(e=!1){await H.remove(this.id,e,n(this,_)),d(this,Wt,!0),d(this,Er,e),d(this,jt,!1)}async lock(){await H.lock(this.id,n(this,_)),d(this,Gt,!0)}async unlock(){await H.unlock(this.id,n(this,_)),d(this,Gt,!1)}async hide(){await H.hide(this.id,n(this,_)),d(this,Jt,!0)}async unhide(){await H.unhide(this.id,n(this,_)),d(this,Jt,!1)}async markAsNsfw(){await H.markAsNsfw(this.id,n(this,_)),d(this,zt,!0)}async unmarkAsNsfw(){await H.unmarkAsNsfw(this.id,n(this,_)),d(this,zt,!1)}async markAsSpoiler(){await H.markAsSpoiler(this.id,n(this,_)),d(this,Vt,!0)}async unmarkAsSpoiler(){await H.unmarkAsSpoiler(this.id,n(this,_)),d(this,Vt,!1)}async sticky(e){await H.sticky(this.id,e,n(this,_))}async unsticky(){await H.unsticky(this.id,n(this,_))}async distinguish(){let{distinguishedBy:e}=await H.distinguish(this.id,!1,n(this,_));d(this,ht,e)}async distinguishAsAdmin(){let{distinguishedBy:e}=await H.distinguish(this.id,!0,n(this,_));d(this,ht,e)}async undistinguish(){let{distinguishedBy:e}=await H.undistinguish(this.id,n(this,_));d(this,ht,e)}async ignoreReports(){await H.ignoreReports(this.id,n(this,_)),d(this,$t,!0)}async unignoreReports(){await H.unignoreReports(this.id,n(this,_)),d(this,$t,!1)}async getAuthor(){return A.getByUsername(n(this,Gi),n(this,_))}async crosspost(e){return H.crosspost({...e,postId:this.id},n(this,_))}addRemovalNote(e){return Ue.addRemovalNote({itemIds:[n(this,Wi)],...e},n(this,_))}static async getById(e,t){let i=u.redditAPIPlugins.LinksAndComments,s=or(e)?e:`t3_${e}`,o=await i.Info({subreddits:[],thingIds:[s]},t);if(!o.data?.children?.length)throw new Error("could not find post");let a=o.data.children[0];if(!a?.data)throw new Error("could not find post");return new H(a.data,t)}static async submit(e,t){let i=u.redditAPIPlugins.LinksAndComments,s;if("preview"in e){f(t,"Missing metadata in `SubmitPostOptions`");let c=await new mt(()=>e.preview,void 0,{},t,void 0).buildBlocksUI(),p=_R.encode(c).finish();s=await i.Submit({kind:"custom",sr:e.subredditName,richtextJson:(0,Ek.fromByteArray)(p),...e},t)}else s=await i.Submit({kind:"kind"in e?e.kind:"url"in e?"link":"self",sr:e.subredditName,richtextJson:"richtext"in e?Ri(e.richtext):void 0,...e},t);if("kind"in e&&["image","video","videogif"].includes(e.kind)&&!s.json?.data?.id&&"url"in e)throw new Error(`Post of ${e.kind} type with ${e.url} is being created asynchronously and should be updated in the subreddit soon.`);if(!s.json?.data?.id||s.json?.errors?.length)throw new Error(`failed to submit post - either post ID is empty or request failed with errors: ${s.json?.errors}`);return H.getById(`t3_${s.json.data.id}`,t)}static async crosspost(e,t){let i=u.redditAPIPlugins.LinksAndComments,{postId:s,subredditName:o,...a}=e,c=await i.Submit({kind:"crosspost",sr:o,crosspostFullname:he(s),...a},t);if(!c.json?.data?.id||c.json?.errors?.length)throw new Error("failed to crosspost post");return H.getById(`t3_${c.json.data.id}`,t)}static async edit(e,t){let i=u.redditAPIPlugins.LinksAndComments,{id:s}=e,o;if("richtext"in e&&(o=Ri(e.richtext)),(await i.EditUserText({thingId:s,text:"text"in e?e.text:"",richtextJson:o},t)).json?.errors?.length)throw new Error("Failed to edit post");return H.getById(s,t)}static async delete(e,t){await u.redditAPIPlugins.LinksAndComments.Del({id:e},t)}static async approve(e,t){await u.redditAPIPlugins.Moderation.Approve({id:e},t)}static async remove(e,t=!1,i){await u.redditAPIPlugins.Moderation.Remove({id:e,spam:t},i)}static async hide(e,t){await u.redditAPIPlugins.LinksAndComments.Hide({id:e},t)}static async unhide(e,t){await u.redditAPIPlugins.LinksAndComments.Unhide({id:e},t)}static async markAsNsfw(e,t){await u.redditAPIPlugins.LinksAndComments.MarkNSFW({id:e},t)}static async unmarkAsNsfw(e,t){await u.redditAPIPlugins.LinksAndComments.UnmarkNSFW({id:e},t)}static async markAsSpoiler(e,t){await u.redditAPIPlugins.LinksAndComments.Spoiler({id:e},t)}static async unmarkAsSpoiler(e,t){await u.redditAPIPlugins.LinksAndComments.Unspoiler({id:e},t)}static async sticky(e,t,i){await u.redditAPIPlugins.LinksAndComments.SetSubredditSticky({id:e,state:!0,num:t},i)}static async unsticky(e,t){await u.redditAPIPlugins.LinksAndComments.SetSubredditSticky({id:e,state:!1},t)}static async lock(e,t){await u.redditAPIPlugins.LinksAndComments.Lock({id:e},t)}static async unlock(e,t){await u.redditAPIPlugins.LinksAndComments.Unlock({id:e},t)}static async distinguish(e,t,i){let a=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:t?"admin":"yes",sticky:!1},i)).json?.data?.things?.[0]?.data;return f(a),{distinguishedBy:a.distinguished}}static async undistinguish(e,t){let o=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:"no",sticky:!1},t)).json?.data?.things?.[0]?.data;return f(o),{distinguishedBy:o.distinguished}}static async ignoreReports(e,t){await u.redditAPIPlugins.Moderation.IgnoreReports({id:e},t)}static async unignoreReports(e,t){await u.redditAPIPlugins.Moderation.UnignoreReports({id:e},t)}static getControversialPosts(e={},t){return this.getSortedPosts({...e,sort:"controversial"},t)}static getTopPosts(e={},t){return this.getSortedPosts({...e,sort:"top"},t)}static getSortedPosts(e,t){let i=u.redditAPIPlugins.Listings;return new G({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async s=>{let o=await i.Sort({show:"all",sort:e.sort,t:e.timeframe,subreddit:e.subredditName,...s},t);return Ts(o,t)}})}static getHotPosts(e={location:"GLOBAL"},t){let i=u.redditAPIPlugins.Listings;return new G({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async s=>{let o=await i.Hot({g:e.location,show:"all",subreddit:e.subredditName,...s},t);return Ts(o,t)}})}static getNewPosts(e,t){let i=u.redditAPIPlugins.Listings;return new G({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async s=>{let o=await i.New({show:"all",subreddit:e.subredditName,...s},t);return Ts(o,t)}})}static getRisingPosts(e,t){let i=u.redditAPIPlugins.Listings;return new G({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async s=>{let o=await i.Rising({show:"all",subreddit:e.subredditName,...s},t);return Ts(o,t)}})}static getPostsByUser(e,t){let i=u.redditAPIPlugins.Users;return new G({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(s){let o=await i.UserWhere({username:e.username,where:"submitted",...s},t);return Ts(o,t)}})}};Wi=new WeakMap,Rs=new WeakMap,Gi=new WeakMap,Os=new WeakMap,Fs=new WeakMap,Ms=new WeakMap,Us=new WeakMap,Bs=new WeakMap,zi=new WeakMap,Ls=new WeakMap,Ds=new WeakMap,_s=new WeakMap,Ns=new WeakMap,qs=new WeakMap,Hs=new WeakMap,jt=new WeakMap,js=new WeakMap,Ws=new WeakMap,Er=new WeakMap,Vi=new WeakMap,Wt=new WeakMap,Ji=new WeakMap,$i=new WeakMap,Ki=new WeakMap,Tr=new WeakMap,Gt=new WeakMap,zt=new WeakMap,Xi=new WeakMap,Vt=new WeakMap,Jt=new WeakMap,$t=new WeakMap,ht=new WeakMap,Gs=new WeakMap,zs=new WeakMap,Zi=new WeakMap,Yi=new WeakMap,_=new WeakMap;var J=H;function Ts(r,e){if(!r.data?.children)throw new Error("Listing response is missing children");return{children:r.data.children.map(i=>new J(i.data,e)),before:r.data.before,after:r.data.after}}var NR=(q=>(q.Custom="CUSTOM",q.Reddit="REDDIT",q.Instagram="INSTAGRAM",q.Twitter="TWITTER",q.Tiktok="TIKTOK",q.Twitch="TWITCH",q.Facebook="FACEBOOK",q.Youtube="YOUTUBE",q.Tumblr="TUMBLR",q.Spotify="SPOTIFY",q.Soundcloud="SOUNDCLOUD",q.Beacons="BEACONS",q.Linktree="LINKTREE",q.Discord="DISCORD",q.Venmo="VENMO",q.CashApp="CASH_APP",q.Patreon="PATREON",q.Kofi="KOFI",q.Paypal="PAYPAL",q.Cameo="CAMEO",q.Onlyfans="ONLYFANS",q.Substack="SUBSTACK",q.Kickstarter="KICKSTARTER",q.Indiegogo="INDIEGOGO",q.BuyMeACoffee="BUY_ME_A_COFFEE",q.Shopify="SHOPIFY",q))(NR||{}),Vs,Qi,Js,$s,Ks,Xs,Zs,Kt,Ys,Qs,nt,Rr=class Rr{constructor(e,t){l(this,Vs);l(this,Qi);l(this,Js);l(this,$s);l(this,Ks);l(this,Xs);l(this,Zs);l(this,Kt,new Map);l(this,Ys);l(this,Qs);l(this,nt);Z(this),f(e.id,"User ID is missing or undefined"),f(e.name,"Username is missing or undefined"),f(e.createdUtc,"User is missing created date"),d(this,Vs,se(Qa(e.id)?e.id:`t2_${e.id}`)),d(this,Qi,e.name),d(this,Xs,e.over18??!1),d(this,Zs,e.isEmployee??!1);let i=new Date(0);if(i.setUTCSeconds(e.createdUtc),d(this,Js,i),d(this,$s,e.linkKarma??0),d(this,Ks,e.commentKarma??0),e.modPermissions)for(let[s,o]of Object.entries(e.modPermissions))n(this,Kt).set(s,Ik(o));d(this,Ys,new URL(e.subreddit?.url??"","https://www.reddit.com").toString()),d(this,Qs,e.subreddit?.url??""),d(this,nt,t)}get id(){return n(this,Vs)}get username(){return n(this,Qi)}get createdAt(){return n(this,Js)}get linkKarma(){return n(this,$s)}get commentKarma(){return n(this,Ks)}get nsfw(){return n(this,Xs)}get isAdmin(){return n(this,Zs)}get modPermissions(){return n(this,Kt)}get url(){return n(this,Ys)}get permalink(){return n(this,Qs)}toJSON(){return{id:this.id,username:this.username,createdAt:this.createdAt,linkKarma:this.linkKarma,commentKarma:this.commentKarma,nsfw:this.nsfw,modPermissionsBySubreddit:Object.fromEntries(this.modPermissions)}}async getModPermissionsForSubreddit(e){if(n(this,Kt).has(e))return n(this,Kt).get(e);let t=await Rr.getSubredditUsersByType({subredditName:e,type:"moderators",username:this.username},n(this,nt)).all();if(t.length===0)return[];let i=t[0].modPermissions.get(e)??[];return i.length>0&&n(this,Kt).set(e,i),i}getComments(e){return ee.getCommentsByUser({username:this.username,...e},n(this,nt))}getPosts(e){return J.getPostsByUser({username:this.username,...e},n(this,nt))}async getUserFlairBySubreddit(e){let t=await Be.getUserFlairBySubreddit({subreddit:e,name:n(this,Qi)},n(this,nt));return t.users[0]?Es(t.users[0]):void 0}getSnoovatarUrl(){return Rr.getSnoovatarUrl(this.username,n(this,nt))}async getSocialLinks(){let i=await Ir.query("GetUserSocialLinks","2aca18ef5f4fc75fb91cdaace3e9aeeae2cb3843b5c26ad511e6f01b8521593a",{name:this.username},n(this,nt));return i.data?.user?.profile?.socialLinks?i.data.user.profile.socialLinks.map(s=>({...s,handle:s.handle??void 0})):[]}static async getById(e,t){let o=(await u.redditAPIPlugins.Users.UserDataByAccountIds({ids:e},t))?.users?.[e]?.name;return f(o,"Expected the username in response to be not null"),Rr.getByUsername(o,t)}static async getByUsername(e,t){let s=await u.redditAPIPlugins.Users.UserAbout({username:e},t);if(s.data?.id)return new Rr(s.data,t)}static async getFromMetadata(e,t){f(t);let i=t?.[e]?.values[0];return i?Rr.getById(se(i),t):Promise.resolve(void 0)}static getSubredditUsersByType(e,t){let i=u.redditAPIPlugins.Subreddits;return new G({hasMore:!0,pageSize:e.pageSize,limit:e.limit,after:e.after,before:e.before,fetch:async s=>{let o=await i.AboutWhere({where:e.type,user:e.username,subreddit:e.subredditName,show:"all",...s},t);return HR(o,e.subredditName,t)}})}static async createRelationship(e,t){let i=u.redditAPIPlugins.Users,{type:s,subredditName:o,username:a,permissions:c,...p}=e,g=await i.Friend({type:s,subreddit:o,name:a,permissions:c?sm(c):void 0,...p},t);if(g.json?.errors?.length)throw new Error(g.json.errors.join(`
4
+ `))}static async removeRelationship(e,t){await u.redditAPIPlugins.Users.Unfriend({type:e.type,subreddit:e.subredditName,name:e.username},t)}static async setModeratorPermissions(e,t,i,s){let a=await u.redditAPIPlugins.Users.SetPermissions({subreddit:t,name:e,type:"moderator",permissions:sm(i)},s);if(a.json?.errors?.length)throw new Error(a.json.errors.join(`
5
+ `))}static async getSnoovatarUrl(e,t){return(await Ir.query("GetSnoovatarUrlByName","c47fd42345af268616d2d8904b56856acdc05cf61d3650380f539ad7d596ac0c",{username:e},t)).data?.redditorInfoByName?.snoovatarIcon?.url}static getOverview(e,t){let i=u.redditAPIPlugins.Users;return new G({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(s){let o=await i.UserWhere({username:e.username,where:"overview",...s},t);return qR(o,t)}})}};Vs=new WeakMap,Qi=new WeakMap,Js=new WeakMap,$s=new WeakMap,Ks=new WeakMap,Xs=new WeakMap,Zs=new WeakMap,Kt=new WeakMap,Ys=new WeakMap,Qs=new WeakMap,nt=new WeakMap;var A=Rr;function qR(r,e){if(!r.data?.children)throw new Error("Listing response is missing children");return{children:r.data.children.map(i=>{if(i.kind==="t3")return new J(i.data,e);if(i.kind==="t1")return new ee(i.data,e);throw new Error(`Type ${i.kind} is not supported`)}),before:r.data.before,after:r.data.after}}async function HR(r,e,t){let i=u.redditAPIPlugins.Users;if(!r.data?.children)throw new Error("Listing response is missing children");let s=r.data.children.map(v=>(f(v.data?.id,"User id is still from listing data"),v.data.id)),o=100,a=[];for(let v=0;v<s.length;v+=o)a.push(s.slice(v,v+o));let p=(await Promise.all(a.map(v=>i.UserDataByAccountIds({ids:v.join(",")},t)))).reduce((v,m)=>({...v,...m.users}),{});return{children:r.data.children.map(v=>{let m=v.data?.id;f(m,"User id is missing from listing");let y=p[m];return f(y,"User data is missing from response"),new A({id:m,name:y.name,linkKarma:y.linkKarma,commentKarma:y.commentKarma,createdUtc:y.createdUtc,over18:y.profileOver18,snoovatarSize:[],modPermissions:{[e]:v.data?.modPermissions??[]}},t)}),before:r.data.before,after:r.data.after}}var Or,eo,en,tn,to,ro,rn,io,no,nn,Xt,so,oo,Fr,Zt,Yt,vt,Mr,yt,ao,lo,uo,co,mo,po,go,re,st,Nd,qd,z=class z{constructor(e,t){l(this,Or);l(this,eo);l(this,en);l(this,tn);l(this,to);l(this,ro);l(this,rn);l(this,io);l(this,no);l(this,nn);l(this,Xt);l(this,so);l(this,oo);l(this,Fr);l(this,Zt);l(this,Yt);l(this,vt);l(this,Mr);l(this,yt);l(this,ao);l(this,lo);l(this,uo);l(this,co);l(this,mo);l(this,po);l(this,go);l(this,re);var s;Z(this),f(e.id,"Comment id is null or undefined"),f(e.body,"Comment body is null or undefined"),f(e.createdUtc,"Comment is missing created date"),f(e.author,"Comment author is null or undefined"),f(e.parentId,"Comment parentId is null or undefined"),f(e.linkId,"Comment linkId is null or undefined"),f(e.permalink,"Comment permalink is null or undefined"),f(e.subreddit,"Comment is missing subreddit name"),f(e.subredditId,"Comment is missing subreddit id"),d(this,Or,Xr(`t1_${e.id}`)),d(this,eo,e.authorFullname?se(e.authorFullname):void 0),d(this,en,e.author),d(this,tn,e.body),d(this,io,Fe(e.subredditId)),d(this,no,e.subreddit),d(this,ro,tc(e.parentId)?Xr(e.parentId):he(e.parentId)),d(this,rn,he(e.linkId)),d(this,Fr,e.edited??!1),d(this,Zt,e.locked??!1),d(this,Yt,e.removed??!1),d(this,vt,e.stickied??!1),d(this,Xt,e.approved??!1),d(this,so,e.approvedAtUtc??0),d(this,oo,e.bannedAtUtc??0),d(this,Mr,e.spam??!1),d(this,yt,e.distinguished),d(this,ao,e.numReports??0),d(this,lo,e.collapsedBecauseCrowdControl??!1),d(this,uo,e.score??0),d(this,co,e.permalink),d(this,go,new URL(e.permalink??"","https://www.reddit.com/").toString()),d(this,mo,(e.modReports??[]).map(([o])=>o)),d(this,po,(e.userReports??[]).map(([o])=>o));let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,to,i),d(this,nn,b(s=z,st,Nd).call(s,{postId:n(this,rn),commentId:n(this,Or)},t)),d(this,re,t)}get id(){return n(this,Or)}get authorId(){return n(this,eo)}get authorName(){return n(this,en)}get subredditId(){return n(this,io)}get subredditName(){return n(this,no)}get body(){return n(this,tn)}get createdAt(){return n(this,to)}get parentId(){return n(this,ro)}get postId(){return n(this,rn)}get replies(){return n(this,nn)}get distinguishedBy(){return n(this,yt)}get locked(){return n(this,Zt)}get stickied(){return n(this,vt)}get removed(){return n(this,Yt)}get approved(){return n(this,Xt)}get approvedAtUtc(){return n(this,so)}get bannedAtUtc(){return n(this,oo)}get spam(){return n(this,Mr)}get edited(){return n(this,Fr)}get numReports(){return n(this,ao)}get collapsedBecauseCrowdControl(){return n(this,lo)}get score(){return n(this,uo)}get permalink(){return n(this,co)}get userReportReasons(){return n(this,po)}get modReportReasons(){return n(this,mo)}get url(){return n(this,go)}toJSON(){return{id:this.id,authorName:this.authorName,subredditId:this.subredditId,subredditName:this.subredditName,body:this.body,createdAt:this.createdAt,parentId:this.parentId,postId:this.postId,replies:this.replies,approved:this.approved,locked:this.locked,removed:this.removed,stickied:this.stickied,spam:this.spam,edited:this.edited,distinguishedBy:this.distinguishedBy,numReports:this.numReports,collapsedBecauseCrowdControl:this.collapsedBecauseCrowdControl,score:this.score,permalink:this.permalink,modReportReasons:this.modReportReasons,userReportReasons:this.userReportReasons,url:this.url}}isLocked(){return n(this,Zt)}isApproved(){return n(this,Xt)}isRemoved(){return n(this,Yt)}isSpam(){return n(this,Mr)}isStickied(){return n(this,vt)}isDistinguished(){return!!n(this,yt)}isEdited(){return n(this,Fr)}async delete(){return z.delete(this.id,n(this,re))}async edit(e){let t=await z.edit({id:this.id,...e},n(this,re));return d(this,tn,t.body),d(this,Fr,t.edited),this}async approve(){await z.approve(this.id,n(this,re)),d(this,Xt,!0),d(this,Yt,!1)}async remove(e=!1){await z.remove(this.id,e,n(this,re)),d(this,Yt,!0),d(this,Mr,e),d(this,Xt,!1)}async lock(){await z.lock(this.id,n(this,re)),d(this,Zt,!0)}async unlock(){await z.unlock(this.id,n(this,re)),d(this,Zt,!1)}async reply(e){return z.submit({id:this.id,...e},n(this,re))}async getAuthor(){return A.getByUsername(n(this,en),n(this,re))}async distinguish(e=!1){let{distinguishedBy:t,stickied:i}=await z.distinguish(this.id,e,!1,n(this,re));d(this,yt,t),d(this,vt,i)}async distinguishAsAdmin(e=!1){let{distinguishedBy:t,stickied:i}=await z.distinguish(this.id,e,!0,n(this,re));d(this,yt,t),d(this,vt,i)}async undistinguish(){let{distinguishedBy:e,stickied:t}=await z.undistinguish(this.id,n(this,re));d(this,yt,e),d(this,vt,t)}addRemovalNote(e){return Ue.addRemovalNote({itemIds:[n(this,Or)],...e},n(this,re))}static async getById(e,t){let i=u.redditAPIPlugins.LinksAndComments,s=It(e)?e:`t1_${e}`,o=await i.Info({subreddits:[],thingIds:[s]},t);if(!o.data?.children?.[0]?.data)throw new Error("not found");return new z(o.data.children[0].data,t)}static getComments(e,t){var a;let{postId:i,commentId:s,...o}=e;return b(a=z,st,Nd).call(a,{postId:he(i),commentId:s?Xr(s):void 0,...o},t)}static async edit(e,t){let i=u.redditAPIPlugins.LinksAndComments,{id:s}=e,o;"richtext"in e&&(o=Ri(e.richtext));let a=await i.EditUserText({thingId:s,text:"text"in e?e.text:"",richtextJson:o},t);if(a.json?.errors?.length)throw new Error("Failed to edit comment");let c=a.json?.data?.things?.[0]?.data;return f(c),new z(c,t)}static async delete(e,t){await u.redditAPIPlugins.LinksAndComments.Del({id:e},t)}static async approve(e,t){await u.redditAPIPlugins.Moderation.Approve({id:e},t)}static async remove(e,t=!1,i){await u.redditAPIPlugins.Moderation.Remove({id:e,spam:t},i)}static async lock(e,t){await u.redditAPIPlugins.LinksAndComments.Lock({id:e},t)}static async unlock(e,t){await u.redditAPIPlugins.LinksAndComments.Unlock({id:e},t)}static async submit(e,t){let i=u.redditAPIPlugins.LinksAndComments,{id:s}=e,o;"richtext"in e&&(o=Ri(e.richtext));let a=await i.Comment({thingId:s,text:"text"in e?e.text:"",richtextJson:o},t);if(a.json?.errors?.length)throw new Error("failed to reply to comment");let c=a.json?.data?.things?.[0]?.data;return f(c),new z(c,t)}static async distinguish(e,t,i,s){let c=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:i?"admin":"yes",sticky:t},s)).json?.data?.things?.[0]?.data;return f(c),{distinguishedBy:c.distinguished,stickied:!!c.stickied}}static async undistinguish(e,t){let o=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:"no",sticky:!1},t)).json?.data?.things?.[0]?.data;return f(o),{distinguishedBy:o.distinguished,stickied:!!o.stickied}}static getCommentsByUser(e,t){let i=u.redditAPIPlugins.Users;return new G({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(s){let o=await i.UserWhere({username:e.username,where:"comments",...s},t);return f(o.data,"Failed to get comments for user"),{children:o.data.children?.map(c=>new z(c.data,t))||[],before:o.data.before,after:o.data.after}}})}};Or=new WeakMap,eo=new WeakMap,en=new WeakMap,tn=new WeakMap,to=new WeakMap,ro=new WeakMap,rn=new WeakMap,io=new WeakMap,no=new WeakMap,nn=new WeakMap,Xt=new WeakMap,so=new WeakMap,oo=new WeakMap,Fr=new WeakMap,Zt=new WeakMap,Yt=new WeakMap,vt=new WeakMap,Mr=new WeakMap,yt=new WeakMap,ao=new WeakMap,lo=new WeakMap,uo=new WeakMap,co=new WeakMap,mo=new WeakMap,po=new WeakMap,go=new WeakMap,re=new WeakMap,st=new WeakSet,Nd=function(e,t,i=0){return new G({limit:e.limit,pageSize:e.pageSize,fetch:async s=>{var y,k;let o=s.limit,a=u.redditAPIPlugins.Listings,c=u.redditAPIPlugins.LinksAndComments,p=e.commentId;if(s.more)if(s.more.children.length){let C=s.more;(!o||o>100)&&(o=100);let I=C.children.splice(0,o),w=await c.MoreChildren({linkId:e.postId,children:I,sort:e.sort},t);if(!w.json?.data?.things?.length)return{children:[]};let{children:B}=b(y=z,st,qd).call(y,w.json.data.things,e.postId,e,t);return{children:B,more:C.children.length?C:void 0}}else p=s.more.parentId,i=i+s.more.depth;let v=(await a.Comments({article:e.postId.substring(3),comment:p?.substring(3),limit:o,depth:e.depth,sort:e.sort},t)).listings?.[1]?.data?.children??[],m=v[0];return p&&m?.data?.replyList?.data&&(v=m.data.replyList.data.children),b(k=z,st,qd).call(k,v,p??e.postId,e,t,i)}})},qd=function(e,t,i,s,o=0){var g,v;let a=[],c,p={};for(let m of e){if(!m.data||(m.data.depth!=null&&(m.data.depth=m.data.depth+o),m.data.depth!=null&&i.depth!=null&&m.data.depth>=i.depth))continue;let y=m.data.parentId?p[m.data.parentId]:void 0;if(m.kind==="t1"){if(m.data.name===t)continue;let k=new z(m.data,s);if(p[k.id]=k,d(k,nn,b(g=z,st,Nd).call(g,{...i,postId:k.postId,commentId:k.id},s,o)),"replyList"in m.data&&m.data.replyList?.data){let{children:C,more:I}=b(v=z,st,qd).call(v,m.data.replyList.data.children,k.id,i,s,o);C.length&&k.replies.children.push(...C),I&&k.replies.setMore(I)}k.replies.preventInitialFetch(),y?y.replies.children.push(k):a.push(k)}else if(m.kind==="more"&&m.data.parentId&&m.data.depth!=null){let k={parentId:tc(m.data.parentId)?Xr(m.data.parentId):he(m.data.parentId),children:m.data.children??[],depth:m.data.depth};y?y.replies.setMore(k):k.parentId===t&&(c=k)}}return{children:a,more:c}},l(z,st);var ee=z;function td(r,e){let t=u.redditAPIPlugins.Moderation;return new G({hasMore:!0,after:r.after,before:r.before,limit:r.limit,pageSize:r.pageSize,fetch:async i=>{let s=await t.AboutLog({subreddit:r.subredditName,mod:r.moderatorUsernames?r.moderatorUsernames.join(","):void 0,type:r.type,...i},e);return jR(s)}})}function jR(r){if(!r.data?.children)throw new Error("AboutLogResponse is missing children");return{children:r.data.children.map(t=>{if(!t.data)throw new Error("ModAction from AboutLogResponse is missing or invalid");let{id:i,mod:s,modId36:o,createdUtc:a,subreddit:c,subredditNamePrefixed:p,action:g,srId36:v,description:m,details:y,targetAuthor:k,targetBody:C,targetFullname:I,targetPermalink:w,targetTitle:B}=t.data;f(i,"ModAction from AboutLogResponse is missing id"),f(s,"ModAction from AboutLogResponse is missing mod"),f(o,"ModAction from AboutLogResponse is missing modId36"),f(a,"ModAction from AboutLogResponse is missing createdUtc"),f(c,"ModAction from AboutLogResponse is missing subreddit"),f(p,"ModAction from AboutLogResponse is missing subredditNamePrefixed"),f(g,"ModAction from AboutLogResponse is missing action"),f(v,"ModAction from AboutLogResponse is missing srId36");let me=new Date(0);return me.setUTCSeconds(a),{id:i,type:g,moderatorName:s,moderatorId:`t2_${o}`,createdAt:me,subredditName:c,subredditId:`t5_${v}`,description:m,details:y,target:I?{id:I,author:k,body:C,permalink:w,title:B}:void 0}}),after:r.data.after,before:r.data.before}}var WR=(a=>(a.New="New",a.InProgress="InProgress",a.Archived="Archived",a.Appeals="Appeals",a.JoinRequests="JoinRequests",a.Filtered="Filtered",a))(WR||{}),GR={0:"New",1:"InProgress",2:"Archived",3:"Appeals",4:"JoinRequests",5:"Filtered"},zR=(k=>(k.Highlighted="Highlighted",k.Unhighlighted="Unhighlighted",k.Archived="Archived",k.Unarchived="Unarchived",k.ReportedToAdmins="ReportedToAdmins",k.Muted="Muted",k.Unmuted="Unmuted",k.Banned="Banned",k.Unbanned="Unbanned",k.Approved="Approved",k.Disapproved="Disapproved",k.Filtered="Filtered",k.Unfiltered="Unfiltered",k))(zR||{}),VR={0:"Highlighted",1:"Unhighlighted",2:"Archived",3:"Unarchived",4:"ReportedToAdmins",5:"Muted",6:"Unmuted",7:"Banned",8:"Unbanned",9:"Approved",10:"Disapproved",11:"Filtered",12:"Unfiltered"},V,K,ae,Tk,Rk,rd=class{constructor(e){l(this,K);l(this,V);d(this,V,e)}async bulkReadConversations(e,t){let i=u.redditAPIPlugins.NewModmail,{conversationIds:s}=await i.BulkReadConversations({entity:e.join(","),state:t},n(this,V));return s}async getConversations(e){let i=await u.redditAPIPlugins.NewModmail.GetConversations({after:e.after,entity:e.subreddits?e.subreddits.join(","):void 0,limit:e.limit,sort:e.sort,state:e.state},n(this,V)),s={};for(let o in i.conversations)s[o]=b(this,K,ae).call(this,{protoConversation:i.conversations[o],protoMessages:i.messages,protoModActions:{}});return{conversations:s,viewerId:i.viewerId}}async getConversation(e){let i=await u.redditAPIPlugins.NewModmail.GetConversation({...e,markRead:!!e.markRead},n(this,V));return{participantSubreddit:i.participantSubreddit,conversation:b(this,K,ae).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async getSubreddits(){let e=u.redditAPIPlugins.NewModmail,{subreddits:t}=await e.Subreddits({},n(this,V));return t}async createConversation(e){let i=await u.redditAPIPlugins.NewModmail.CreateConversation({body:e.body,isAuthorHidden:e.isAuthorHidden??!1,srName:e.subredditName,subject:e.subject,to:e.to?e.to:void 0},n(this,V));return{conversation:b(this,K,ae).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async reply(e){let i=await u.redditAPIPlugins.NewModmail.CreateConversationMessage({body:e.body,conversationId:e.conversationId,isAuthorHidden:e.isAuthorHidden??!1,isInternal:e.isInternal??!1},n(this,V));return{conversation:b(this,K,ae).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:{}}),user:i.user}}async highlightConversation(e){let i=await u.redditAPIPlugins.NewModmail.HighlightConversation({conversationId:e},n(this,V));return{conversation:b(this,K,ae).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async unhighlightConversation(e){let i=await u.redditAPIPlugins.NewModmail.UnhighlightConversation({conversationId:e},n(this,V));return{conversation:b(this,K,ae).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async archiveConversation(e){let i=await u.redditAPIPlugins.NewModmail.ArchiveConversation({conversationId:e},n(this,V));return{conversation:b(this,K,ae).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async unarchiveConversation(e){let i=await u.redditAPIPlugins.NewModmail.UnarchiveConversation({conversationId:e},n(this,V));return{conversation:b(this,K,ae).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async muteConversation(e){let i=await u.redditAPIPlugins.NewModmail.MuteConversation({conversationId:e.conversationId,numHours:e.numHours},n(this,V));return{conversation:b(this,K,ae).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async unmuteConversation(e){let i=await u.redditAPIPlugins.NewModmail.UnmuteConversation({conversationId:e},n(this,V));return{conversation:b(this,K,ae).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async readConversations(e){await u.redditAPIPlugins.NewModmail.Read({conversationIds:e.join(",")},n(this,V))}async unreadConversations(e){await u.redditAPIPlugins.NewModmail.Unread({conversationIds:e.join(",")},n(this,V))}async approveConversation(e){let i=await u.redditAPIPlugins.NewModmail.ApproveConversation({conversationId:e},n(this,V));return{conversation:b(this,K,ae).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async disapproveConversation(e){let i=await u.redditAPIPlugins.NewModmail.DisapproveConversation({conversationId:e},n(this,V));return{conversation:b(this,K,ae).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async tempBanConversation(e){let i=await u.redditAPIPlugins.NewModmail.TempBan({...e},n(this,V));return{conversation:b(this,K,ae).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async unbanConversation(e){let i=await u.redditAPIPlugins.NewModmail.Unban({conversationId:e},n(this,V));return{conversation:b(this,K,ae).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async getUnreadCount(){return await u.redditAPIPlugins.NewModmail.UnreadCount({},n(this,V))}async getUserConversations(e){return await u.redditAPIPlugins.NewModmail.UserConversations({conversationId:e},n(this,V))}};V=new WeakMap,K=new WeakSet,ae=function({protoConversation:e,protoMessages:t,protoModActions:i}){return{...e,state:GR[e.state],messages:b(this,K,Tk).call(this,e,t),modActions:b(this,K,Rk).call(this,e,i)}},Tk=function(e,t){let i={},s=e.objIds.filter(o=>o.key==="messages").map(({id:o})=>o);for(let o of s){let a=t[o];a&&(i[o]=a)}return i},Rk=function(e,t){let i={},s=e.objIds.filter(o=>o.key==="modActions").map(({id:o})=>o);for(let o of s){let a=t[o];a&&(i[o]={...a,actionType:VR[a.actionTypeId]})}return i};var sn,on,Hd,fo,ho,vo,yo,lm=class lm{constructor(e,t){l(this,sn);l(this,on);l(this,Hd);l(this,fo);l(this,ho);l(this,vo);l(this,yo);if(Z(this),f(e.id,"PrivateMessage: Invalid data, no id"),f(e.name,"PrivateMessage: Invalid data, no name"),f(e.created,"PrivateMessage: Invalid data, no created date"),d(this,sn,ve(e.name)),e.author!=null)d(this,on,{type:"user",username:e.author,id:e.authorFullname?se(e.authorFullname):void 0});else if(e.subreddit!=null)d(this,on,{type:"subreddit",name:e.subreddit,id:e.subredditId?Fe(e.subredditId):void 0});else throw new Error("PrivateMessage: Invalid data, no author or subreddit");d(this,fo,e.body??""),d(this,ho,e.bodyHtml??"");let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,vo,i),d(this,Hd,e.parentId?ve(e.parentId):void 0),d(this,yo,t)}static async getMessages(e,t){let i=u.redditAPIPlugins.PrivateMessages;return new G({...e,fetch:async s=>{let o=await i.MessageWhere({...s,where:e.type??"inbox"},t);return{after:o.data?.after,before:o.data?.before,children:o.data?.children?.map(a=>new lm(a.data,t)).filter(Boolean)||[]}}})}static async send({to:e,subject:t,text:i},s){await u.redditAPIPlugins.PrivateMessages.Compose({to:e,subject:t,text:i,fromSr:""},s)}static async sendAsSubreddit({to:e,fromSubredditName:t,subject:i,text:s},o){await u.redditAPIPlugins.PrivateMessages.Compose({to:e,fromSr:t,subject:i,text:s},o)}static async markAllAsRead(e){await u.redditAPIPlugins.PrivateMessages.ReadAllMessages({filterTypes:""},e)}get id(){return n(this,sn)}get from(){return n(this,on)}get body(){return n(this,fo)}get bodyHtml(){return n(this,ho)}get created(){return n(this,vo)}async markAsRead(){await u.redditAPIPlugins.PrivateMessages.ReadMessage({id:n(this,sn)},n(this,yo))}};sn=new WeakMap,on=new WeakMap,Hd=new WeakMap,fo=new WeakMap,ho=new WeakMap,vo=new WeakMap,yo=new WeakMap;var lr=lm;var Iv=(o=>(o.Reports="reports",o.Spam="spam",o.Modqueue="modqueue",o.Unmoderated="unmoderated",o.Edited="edited",o))(Iv||{}),an,x,bo,ko,Po,So,Co,Io,Ao,wo,xo,dn,T,ot=class ot{constructor(e,t){l(this,an);l(this,x);l(this,bo);l(this,ko);l(this,Po);l(this,So);l(this,Co);l(this,Io);l(this,Ao);l(this,wo);l(this,xo);l(this,dn);l(this,T);Z(this),f(e.id,"Subreddit id is missing or undefined"),f(e.displayName,"Subreddit name is missing or undefined"),d(this,an,Fe(`t5_${e.id}`)),d(this,x,e.displayName),f(e.createdUtc,"Subreddit is missing created date");let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,bo,i),d(this,ko,JR(e.subredditType)),d(this,Po,e.title),d(this,So,e.description),f(e.lang,"Subreddit is missing language"),d(this,Co,e.lang),d(this,Io,e.subscribers??0),d(this,Ao,e.activeUserCount??0),d(this,wo,e.over18??!1),d(this,dn,e.url??""),d(this,xo,{acceptFollowers:e.acceptFollowers??!1,allOriginalContent:e.allOriginalContent??!1,allowChatPostCreation:e.allowChatPostCreation??!1,allowDiscovery:e.allowDiscovery??!1,allowGalleries:e.allowGalleries??!1,allowImages:e.allowImages??!1,allowPolls:e.allowPolls??!1,allowPredictionContributors:e.allowPredictionContributors??!1,allowPredictions:e.allowPredictions??!1,allowPredictionsTournament:e.allowPredictionsTournament??!1,allowTalks:e.allowTalks??!1,allowVideoGifs:e.allowVideogifs??!1,allowVideos:e.allowVideos??!1,chatPostEnabled:e.isChatPostFeatureEnabled??!1,collectionsEnabled:e.collectionsEnabled??!1,crosspostable:e.isCrosspostableSubreddit??!1,emojisEnabled:e.emojisEnabled??!1,eventPostsEnabled:e.eventPostsEnabled??!1,linkFlairEnabled:e.linkFlairEnabled??!1,originalContentTagEnabled:e.originalContentTagEnabled??!1,restrictCommenting:e.restrictCommenting??!1,restrictPosting:e.restrictPosting??!1,shouldArchivePosts:e.shouldArchivePosts??!1,spoilersEnabled:e.spoilersEnabled??!1,wikiEnabled:e.wikiEnabled??!1,allowedPostType:$R(e.submissionType),allowedMediaInComments:(e.allowedMediaInComments??[]).map(KR),bannerBackgroundColor:e.bannerBackgroundColor,bannerBackgroundImage:e.bannerBackgroundImage,bannerImage:e.bannerImg,communityIcon:e.communityIcon,headerTitle:e.headerTitle,mobileBannerImage:e.mobileBannerImage,userFlairs:{enabled:e.userFlairEnabledInSr??!1,usersCanAssign:e.canAssignUserFlair??!1},postFlairs:{enabled:e.linkFlairEnabled??!1,usersCanAssign:e.canAssignLinkFlair??!1},url:new URL(n(this,dn),"https://www.reddit.com").toString()}),d(this,T,t)}get id(){return n(this,an)}get name(){return n(this,x)}get createdAt(){return n(this,bo)}get type(){return n(this,ko)}get title(){return n(this,Po)}get description(){return n(this,So)}get language(){return n(this,Co)}get numberOfSubscribers(){return n(this,Io)}get numberOfActiveUsers(){return n(this,Ao)}get nsfw(){return n(this,wo)}get settings(){return n(this,xo)}get userFlairsEnabled(){return this.settings.userFlairs.enabled}get postFlairsEnabled(){return this.settings.postFlairs.enabled}get usersCanAssignUserFlairs(){return this.settings.userFlairs.usersCanAssign}get usersCanAssignPostFlairs(){return this.settings.postFlairs.usersCanAssign}get url(){return this.settings.url}get permalink(){return n(this,dn)}toJSON(){return{id:this.id,name:this.name,createdAt:this.createdAt,type:this.type,title:this.title,description:this.description,language:this.language,nsfw:this.nsfw,numberOfSubscribers:this.numberOfSubscribers,numberOfActiveUsers:this.numberOfActiveUsers,settings:this.settings}}async submitPost(e){let t={...e,subredditName:n(this,x)};return J.submit(t,n(this,T))}getControversialPosts(e={}){if(!n(this,x))throw new Error("subreddit missing displayName - it might not have been fetched");return J.getControversialPosts({...e,subredditName:n(this,x)},n(this,T))}getTopPosts(e={}){if(!n(this,x))throw new Error("subreddit missing displayName - it might not have been fetched");return J.getTopPosts({...e,subredditName:n(this,x)},n(this,T))}getApprovedUsers(e={}){return A.getSubredditUsersByType({type:"contributors",subredditName:n(this,x),...e},n(this,T))}approveUser(e){return A.createRelationship({username:e,subredditName:n(this,x),type:"contributor"},n(this,T))}removeUser(e){return A.removeRelationship({username:e,subredditName:n(this,x),type:"contributor"},n(this,T))}getWikiContributors(e={}){return A.getSubredditUsersByType({type:"wikicontributors",subredditName:n(this,x),...e},n(this,T))}addWikiContributor(e){return A.createRelationship({username:e,subredditName:n(this,x),type:"wikicontributor"},n(this,T))}removeWikiContributor(e){return A.removeRelationship({username:e,subredditName:n(this,x),type:"wikicontributor"},n(this,T))}getBannedUsers(e={}){return A.getSubredditUsersByType({type:"banned",subredditName:n(this,x),...e},n(this,T))}banUser(e){return A.createRelationship({username:e.username,subredditName:n(this,x),type:"banned",banReason:e.reason,banMessage:e.message,note:e.note,duration:e.duration},n(this,T))}unbanUser(e){return A.removeRelationship({username:e,subredditName:n(this,x),type:"banned"},n(this,T))}getBannedWikiContributors(e={}){return A.getSubredditUsersByType({type:"wikibanned",subredditName:n(this,x),...e},n(this,T))}banWikiContributor(e){return A.createRelationship({username:e.username,subredditName:n(this,x),type:"wikibanned",banReason:e.reason,note:e.note,duration:e.duration},n(this,T))}unbanWikiContributor(e){return A.removeRelationship({username:e,subredditName:n(this,x),type:"wikibanned"},n(this,T))}getModerators(e={}){return A.getSubredditUsersByType({type:"moderators",subredditName:n(this,x),...e},n(this,T))}inviteModerator(e,t){return A.createRelationship({type:"moderator_invite",subredditName:n(this,x),username:e,permissions:t??[]},n(this,T))}revokeModeratorInvite(e){return A.removeRelationship({username:e,subredditName:n(this,x),type:"moderator_invite"},n(this,T))}removeModerator(e){return A.removeRelationship({type:"moderator",subredditName:n(this,x),username:e},n(this,T))}setModeratorPermissions(e,t){return A.setModeratorPermissions(e,n(this,x),t,n(this,T))}getMutedUsers(e={}){return A.getSubredditUsersByType({type:"muted",subredditName:n(this,x),...e},n(this,T))}muteUser(e,t){return A.createRelationship({username:e,subredditName:n(this,x),type:"muted",note:t},n(this,T))}unmuteUser(e){return A.removeRelationship({username:e,subredditName:n(this,x),type:"muted"},n(this,T))}getModerationLog(e){return td({subredditName:n(this,x),...e},n(this,T))}getUserFlairTemplates(){return le.getUserFlairTemplates(n(this,x),n(this,T))}getPostFlairTemplates(){return le.getPostFlairTemplates(n(this,x),n(this,T))}createPostFlairTemplate(e){return le.createPostFlairTemplate({subredditName:n(this,x),...e},n(this,T))}createUserFlairTemplate(e){return le.createUserFlairTemplate({subredditName:n(this,x),...e},n(this,T))}async getUserFlair(e){if(e?.usernames!==void 0)return{users:await Promise.all(e.usernames.map(async i=>{let s=await Be.getUserFlairBySubreddit({subreddit:n(this,x),name:i},n(this,T));return Es(s.users[0])}))};{let t=await Be.getUserFlairBySubreddit({...e,subreddit:n(this,x)},n(this,T));return{next:t.next,prev:t.prev,users:t.users.map(i=>Es(i))}}}getModQueue(e={type:"all"}){return ot.aboutLocation({...e,location:"modqueue",subreddit:n(this,x)},n(this,T))}getReports(e={type:"all"}){return ot.aboutLocation({...e,location:"reports",subreddit:n(this,x)},n(this,T))}getSpam(e={type:"all"}){return ot.aboutLocation({...e,location:"spam",subreddit:n(this,x)},n(this,T))}getUnmoderated(e={type:"all"}){return ot.aboutLocation({...e,location:"unmoderated",subreddit:n(this,x)},n(this,T))}getEdited(e={type:"all"}){return ot.aboutLocation({...e,location:"edited",subreddit:n(this,x)},n(this,T))}static aboutLocation(e,t){let i=u.redditAPIPlugins.Moderation,s;switch(e.type){case"post":s="links";break;case"comment":s="comments";break;default:s=void 0}return new G({...e,fetch:async o=>{let a=await i.AboutLocation({...o,...e,only:s},t);return Ok(a,t)}})}getCommentsAndPostsByIds(e){let t=u.redditAPIPlugins.LinksAndComments;return new G({fetch:async()=>{let i=await t.Info({thingIds:e,subreddits:[n(this,an)]},n(this,T));return Ok(i,n(this,T))}})}static async addRemovalReason(e,t,i,s){return(await u.redditAPIPlugins.Subreddits.SubredditAddRemovalReason({title:t,message:i,subreddit:e},s)).id}static async getRemovalReasons(e,t){let s=await u.redditAPIPlugins.Subreddits.SubredditGetRemovalReasons({subreddit:e},t);return s.order.map(o=>({...s.data[o]}))}static async getFromMetadata(e){f(e);let t=e?.[L.Subreddit]?.values[0];return f(t),ot.getById(Fe(t),e)}static async getById(e,t){let o=(await u.redditAPIPlugins.LinksAndComments.Info({thingIds:[e],subreddits:[]},t)).data?.children[0]?.data?.displayName;return f(o),ot.getByName(o,t)}static async getByName(e,t){let s=await u.redditAPIPlugins.Subreddits.SubredditAbout({subreddit:e},t);if(!s?.data)throw new Error("not found");return new ot(s.data,t)}};an=new WeakMap,x=new WeakMap,bo=new WeakMap,ko=new WeakMap,Po=new WeakMap,So=new WeakMap,Co=new WeakMap,Io=new WeakMap,Ao=new WeakMap,wo=new WeakMap,xo=new WeakMap,dn=new WeakMap,T=new WeakMap;var ye=ot;function JR(r){if(r==="public"||r==="private"||r==="restricted"||r==="employees_only"||r==="gold_restricted"||r==="archived")return r;throw new Error(`invalid subreddit type: ${r}`)}function $R(r){if(r==="any"||r==="link"||r==="self")return r;throw new Error(`invalid allowed post type: ${r}`)}function KR(r){if(r==="animated"||r==="giphy"||r==="static"||r==="expression")return r;throw new Error(`invalid comment media type: ${r}`)}function Ok(r,e){let i=(r.data?.children??[]).map(a=>{let c=s(a);if(c!=null)return c;let p=o(a);return p??null}).filter(Boolean);return{after:r.data?.after,before:r.data?.before,children:i};function s(a){try{return new J(a.data,e)}catch{return null}}function o(a){try{return new ee(a.data,e)}catch{return null}}}async function Av(r,e){return Fk("GetVaultContactByAddress","3e2f7966a5c120e64fd2795d06a46595c52d988185be98d3ed71c3f81ae80d2e",{provider:"ethereum",address:r},e)}async function wv(r,e){return Fk("GetVaultContactByUserId","a854ddc19d0e22c4f36ed917fdbd568f299f3571427e393aee5e2972080fffe9",{provider:"ethereum",userId:r},e)}async function Fk(r,e,t,i){let o=(await Ir.query(r,e,t,i))?.data?.vault?.contact;return{provider:o?.provider,userId:se(o?.userId),address:o?.address,createdAt:o?.createdAt,isActive:o?.isActive}}import{CommunityListWidget_CommunityData as XR,GetWidgetsResponse_WidgetItem as ce}from"@devvit/protos";var Eo,To,Ro,Oo,cm=class cm{constructor(e,t,i){l(this,Eo);l(this,To);l(this,Ro);l(this,Oo);Z(this),d(this,Eo,e.id),d(this,To,e.shortName),d(this,Ro,t),d(this,Oo,i)}get id(){return n(this,Eo)}get name(){return n(this,To)}get subredditName(){return n(this,Ro)}toJSON(){return{id:this.id,name:this.name,subredditName:this.subredditName}}delete(){return cm.delete(this.subredditName,this.id,n(this,Oo))}static async getWidgets(e,t){let s=await u.redditAPIPlugins.Widgets.GetWidgets({subreddit:e},t);f(s.layout,"Failed to load widgets for subreddit");let o=s.items,a=[];for(let c of s.layout.sidebar?.order??[]){let p=o[c];switch(p?.kind){case"image":a.push(new jd(p,e,t));break;case"calendar":a.push(new Wd(p,e,t));break;case"textarea":a.push(new Gd(p,e,t));break;case"button":a.push(new zd(p,e,t));break;case"community-list":a.push(new Vd(p,e,t));break;case"post-flair":a.push(new Jd(p,e,t));break;case"custom":a.push(new $d(p,e,t));break;case"subreddit-rules":{let g=await u.redditAPIPlugins.Subreddits.SubredditAboutRules({subreddit:e},t);a.push(new um(g,p,e,t));break}default:throw new Error(`Unknown widget type: ${p.kind}`)}}return a}static async delete(e,t,i){await u.redditAPIPlugins.Widgets.DeleteWidget({subreddit:e,id:t},i)}static async reorder(e,t,i){await u.redditAPIPlugins.Widgets.OrderWidgets({subreddit:e,order:t},i)}static async add(e,t){switch(e?.type){case"image":return jd.create(e,t);case"calendar":return Wd.create(e,t);case"textarea":return Gd.create(e,t);case"button":return zd.create(e,t);case"community-list":return Vd.create(e,t);case"post-flair":return Jd.create(e,t);case"custom":return $d.create(e,t);default:throw new Error("Unknown widget type")}}};Eo=new WeakMap,To=new WeakMap,Ro=new WeakMap,Oo=new WeakMap;var oe=cm,Fo,Kd=class Kd extends oe{constructor(t,i,s){super(t,i,s);l(this,Fo);d(this,Fo,t.data.map(o=>(f(o.url,"Image widget data is missing url"),f(o.height,"Image widget data is missing height"),f(o.width,"Image widget data is missing width"),f(o.linkUrl,"Image widget data is missing linkUrl"),{url:o.url,height:o.height,width:o.width,linkUrl:o.linkUrl})))}get images(){return n(this,Fo)}toJSON(){return{...super.toJSON(),images:this.images}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddImageWidget(t,i);return new Kd(ce.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateImageWidget(t,i);return new Kd(ce.fromJSON(o),t.subreddit,i)}};Fo=new WeakMap;var jd=Kd,Mo,Uo,Bo,Xd=class Xd extends oe{constructor(t,i,s){super(t,i,s);l(this,Mo);l(this,Uo);l(this,Bo);f(t.googleCalendarId,"Calendar widget data is missing googleCalendarId"),f(t.configuration,"Calendar widget data is missing configuration"),f(t.styles,"Calendar widget data is missing styles"),d(this,Mo,t.googleCalendarId),d(this,Uo,t.configuration),d(this,Bo,t.styles)}get googleCalendarId(){return n(this,Mo)}get configuration(){return n(this,Uo)}get styles(){return n(this,Bo)}toJSON(){return{...super.toJSON(),googleCalendarId:this.googleCalendarId,configuration:this.configuration,styles:this.styles}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddCalendarWidget(t,i);return new Xd(ce.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCalendarWidget(t,i);return new Xd(ce.fromJSON(o),t.subreddit,i)}};Mo=new WeakMap,Uo=new WeakMap,Bo=new WeakMap;var Wd=Xd,Lo,Do,Zd=class Zd extends oe{constructor(t,i,s){super(t,i,s);l(this,Lo);l(this,Do);f(t.text,"Textarea widget data is missing text"),f(t.styles,"Textarea widget data is missing styles"),d(this,Lo,t.text),d(this,Do,t.styles)}get text(){return n(this,Lo)}get styles(){return n(this,Do)}toJSON(){return{...super.toJSON(),text:this.text,styles:this.styles}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddTextAreaWidget(t,i);return new Zd(ce.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateTextAreaWidget(t,i);return new Zd(ce.fromJSON(o),t.subreddit,i)}};Lo=new WeakMap,Do=new WeakMap;var Gd=Zd,_o,No,qo,Yd=class Yd extends oe{constructor(t,i,s){super(t,i,s);l(this,_o);l(this,No);l(this,qo);f(t.styles,"Button widget data is missing styles"),d(this,_o,t.buttons),d(this,No,t.description??""),d(this,qo,t.styles)}get buttons(){return n(this,_o)}get description(){return n(this,No)}get styles(){return n(this,qo)}toJSON(){return{...super.toJSON(),buttons:this.buttons,description:this.description,styles:this.styles}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddButtonWidget(t,i);return new Yd(ce.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateButtonWidget(t,i);return new Yd(ce.fromJSON(o),t.subreddit,i)}};_o=new WeakMap,No=new WeakMap,qo=new WeakMap;var zd=Yd,Ho,jo,Qd=class Qd extends oe{constructor(t,i,s){super(t,i,s);l(this,Ho);l(this,jo);d(this,Ho,t.data.map(o=>XR.fromJSON(o))),f(t.styles,"Community list widget data is missing styles"),d(this,jo,t.styles)}get communities(){return n(this,Ho)}get styles(){return n(this,jo)}toJSON(){return{...super.toJSON(),communities:this.communities,styles:this.styles}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddCommunityListWidget(t,i);return new Qd(ce.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCommunityListWidget(t,i);return new Qd(ce.fromJSON(o),t.subreddit,i)}};Ho=new WeakMap,jo=new WeakMap;var Vd=Qd,Wo,Go,zo,el=class el extends oe{constructor(t,i,s){super(t,i,s);l(this,Wo);l(this,Go);l(this,zo);if(f(t.styles,"Post flair widget data is missing styles"),d(this,Wo,t.styles),d(this,Go,t.order.map(o=>t.templates[o])),!(t.display&&t.display==="list"||t.display==="cloud"))throw new Error("Post flair widget data is missing display type");d(this,zo,t.display)}get styles(){return n(this,Wo)}get templates(){return n(this,Go)}get display(){return n(this,zo)}toJSON(){return{...super.toJSON(),styles:this.styles,templates:this.templates,display:this.display}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddPostFlairWidget(t,i);return new el(ce.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdatePostFlairWidget(t,i);return new el(ce.fromJSON(o),t.subreddit,i)}};Wo=new WeakMap,Go=new WeakMap,zo=new WeakMap;var Jd=el,Vo,Jo,$o,Ko,Xo,tl=class tl extends oe{constructor(t,i,s){super(t,i,s);l(this,Vo);l(this,Jo);l(this,$o);l(this,Ko);l(this,Xo);f(t.stylesheetUrl,"Custom widget data is missing stylesheetUrl"),f(t.height,"Custom widget data is missing height"),f(t.css,"Custom widget data is missing css"),d(this,Vo,t.imageData??[]),d(this,Jo,t.text??""),d(this,$o,t.stylesheetUrl),d(this,Ko,t.height),d(this,Xo,t.css)}get images(){return n(this,Vo)}get text(){return n(this,Jo)}get stylesheetUrl(){return n(this,$o)}get height(){return n(this,Ko)}get css(){return n(this,Xo)}toJSON(){return{...super.toJSON(),images:this.images,text:this.text,stylesheetUrl:this.stylesheetUrl,height:this.height,css:this.css}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddCustomWidget(t,i);return new tl(ce.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCustomWidget(t,i);return new tl(ce.fromJSON(o),t.subreddit,i)}};Vo=new WeakMap,Jo=new WeakMap,$o=new WeakMap,Ko=new WeakMap,Xo=new WeakMap;var $d=tl,Zo,um=class extends oe{constructor(t,i,s,o){super(i,s,o);l(this,Zo);let a=t.rules.map(({description:c,priority:p,shortName:g,violationReason:v})=>(f(c,"Subreddit rule is missing description"),f(p,"Subreddit rule is missing priority"),f(g,"Subreddit rule is missing shortName"),f(v,"Subreddit rule is missing violationReason"),{description:c,priority:p,shortName:g,violationReason:v}));d(this,Zo,a)}get rules(){return n(this,Zo)}toJSON(){return{...super.toJSON(),rules:this.rules}}};Zo=new WeakMap;var ZR=(i=>(i[i.SUBREDDIT_PERMISSIONS=0]="SUBREDDIT_PERMISSIONS",i[i.APPROVED_CONTRIBUTORS_ONLY=1]="APPROVED_CONTRIBUTORS_ONLY",i[i.MODS_ONLY=2]="MODS_ONLY",i))(ZR||{}),Se,Ce,ln,un,cn,mn,pn,Ze,je=class je{constructor(e,t,i,s){l(this,Se);l(this,Ce);l(this,ln);l(this,un);l(this,cn);l(this,mn);l(this,pn);l(this,Ze);Z(this),d(this,Se,e),d(this,Ce,t),d(this,ln,i.contentMd),d(this,un,i.revisionId),d(this,cn,new Date(i.revisionDate)),d(this,mn,i.reason??""),f(i.revisionBy?.data,"Wiki page author details are missing"),d(this,pn,new A(i.revisionBy.data,s)),d(this,Ze,s)}get name(){return n(this,Se)}get subredditName(){return n(this,Ce)}get content(){return n(this,ln)}get revisionId(){return n(this,un)}get revisionDate(){return n(this,cn)}get revisionReason(){return n(this,mn)}get revisionAuthor(){return n(this,pn)}toJSON(){return{name:n(this,Se),subredditName:n(this,Ce),content:n(this,ln),revisionId:n(this,un),revisionDate:n(this,cn),revisionReason:n(this,mn),revisionAuthor:n(this,pn).toJSON()}}async update(e,t){return je.updatePage({subredditName:n(this,Ce),page:n(this,Se),content:e,reason:t},n(this,Ze))}async getRevisions(e){return je.getPageRevisions({subredditName:n(this,Ce),page:n(this,Se),...e},n(this,Ze))}async revertTo(e){return je.revertPage(n(this,Ce),n(this,Se),e,n(this,Ze))}async getSettings(){return je.getPageSettings(n(this,Ce),n(this,Se),n(this,Ze))}async updateSettings(e){return je.updatePageSettings({subredditName:n(this,Ce),page:n(this,Se),listed:e.listed,permLevel:e.permLevel},n(this,Ze))}async addEditor(e){return je.addEditor(n(this,Ce),n(this,Se),e,n(this,Ze))}async removeEditor(e){return je.removeEditor(n(this,Ce),n(this,Se),e,n(this,Ze))}static async getPage(e,t,i){let o=await u.redditAPIPlugins.Wiki.GetWikiPage({subreddit:e,page:t},i);return f(o.data,"Failed to get wiki page"),new je(t,e,o.data,i)}static async getPages(e,t){return(await u.redditAPIPlugins.Wiki.GetWikiPages({subreddit:e},t)).data||[]}static async createPage(e,t){return je.updatePage(e,t)}static async updatePage(e,t){return await u.redditAPIPlugins.Wiki.EditWikiPage({subreddit:e.subredditName,page:e.page,content:e.content,reason:e.reason??""},t),je.getPage(e.subredditName,e.page,t)}static getPageRevisions(e,t){let i=u.redditAPIPlugins.Wiki;return new G({hasMore:!0,after:e.after,limit:e.limit,pageSize:e.pageSize,async fetch(s){let o=await i.GetWikiPageRevisions({subreddit:e.subredditName,page:e.page,limit:s.limit,after:s.after,before:s.before},t);return YR(o,t)}})}static async revertPage(e,t,i,s){await u.redditAPIPlugins.Wiki.RevertWikiPage({subreddit:e,page:t,revision:i},s)}static async getPageSettings(e,t,i){let o=await u.redditAPIPlugins.Wiki.GetWikiPageSettings({subreddit:e,page:t},i);return f(o.data,"Failed to get wiki page settings"),new rl(o.data,i)}static async updatePageSettings(e,t){let s=await u.redditAPIPlugins.Wiki.UpdateWikiPageSettings({subreddit:e.subredditName,page:e.page,listed:e.listed?"on":"",permlevel:e.permLevel},t);return f(s.data,"Failed to update wiki page settings"),new rl(s.data,t)}static async addEditor(e,t,i,s){await u.redditAPIPlugins.Wiki.AllowEditor({act:"add",subreddit:e,page:t,username:i},s)}static async removeEditor(e,t,i,s){await u.redditAPIPlugins.Wiki.AllowEditor({act:"del",subreddit:e,page:t,username:i},s)}};Se=new WeakMap,Ce=new WeakMap,ln=new WeakMap,un=new WeakMap,cn=new WeakMap,mn=new WeakMap,pn=new WeakMap,Ze=new WeakMap;var be=je,gn,fn,hn,vn,yn,bn,mm=class{constructor(e,t){l(this,gn);l(this,fn);l(this,hn);l(this,vn);l(this,yn);l(this,bn);d(this,gn,e.id),d(this,fn,e.page),d(this,hn,new Date(e.timestamp)),f(e.author?.data,"Wiki page revision author details are missing"),d(this,vn,new A(e.author.data,t)),d(this,yn,e.reason??""),d(this,bn,e.revisionHidden??!1)}get id(){return n(this,gn)}get page(){return n(this,fn)}get date(){return n(this,hn)}get author(){return n(this,vn)}get reason(){return n(this,yn)}get hidden(){return n(this,bn)}toJSON(){return{id:n(this,gn),page:n(this,fn),date:n(this,hn),author:n(this,vn).toJSON(),reason:n(this,yn),hidden:n(this,bn)}}};gn=new WeakMap,fn=new WeakMap,hn=new WeakMap,vn=new WeakMap,yn=new WeakMap,bn=new WeakMap;var kn,Pn,Sn,rl=class{constructor(e,t){l(this,kn);l(this,Pn);l(this,Sn);d(this,kn,e.listed),d(this,Pn,e.permLevel),d(this,Sn,e.editors.map(i=>(f(i.data,"Wiki page editor details are missing"),new A(i.data,t))))}get listed(){return n(this,kn)}get permLevel(){return n(this,Pn)}get editors(){return n(this,Sn)}toJSON(){return{listed:n(this,kn),permLevel:n(this,Pn),editors:n(this,Sn).map(e=>e.toJSON())}}};kn=new WeakMap,Pn=new WeakMap,Sn=new WeakMap;function YR(r,e){return f(r.data?.children,"Wiki page revision listing is missing children"),{children:r.data.children.map(i=>new mm(i,e)),before:r.data.before,after:r.data.after}}var QR=(t=>(t.Gallery="GALLERY",t.Timeline="TIMELINE",t))(QR||{});function eO(r){return r==="GALLERY"?"GALLERY":"TIMELINE"}var We,Ie,Qo,Cn,In,ea,ta,ra,ia,bt,na,sa,An,Yo=class Yo{constructor(e,t){l(this,We);l(this,Ie);l(this,Qo);l(this,Cn);l(this,In);l(this,ea);l(this,ta);l(this,ra);l(this,ia);l(this,bt);l(this,na);l(this,sa);l(this,An);f(e.collectionId,"Collection Id is missing or undefined"),f(e.subredditId,"Subreddit Id is missing or undefined"),f(e.title,"Collection title is missing or undefined"),f(e.authorId,"Collection author's id is missing or undefined"),f(e.authorName,"Collection author's id is missing or undefined"),f(e.createdAtUtc,"Collection create timestamp is missing"),f(e.lastUpdateUtc,"Collection last updated timestamp is missing"),d(this,We,t),d(this,Ie,e.collectionId),d(this,Qo,e.subredditId),d(this,Cn,e.title),d(this,In,e.description||""),d(this,ea,e.authorId),d(this,ta,e.authorName),d(this,ra,e.permalink),d(this,ia,e.primaryLinkId),d(this,bt,e.linkIds||[]),d(this,An,eO(e.displayLayout)),d(this,na,e.createdAtUtc),d(this,sa,e.lastUpdateUtc),Z(this)}get id(){return n(this,Ie)}get subredditId(){return n(this,Qo)}get title(){return n(this,Cn)}get description(){return n(this,In)}get authorId(){return n(this,ea)}get authorName(){return n(this,ta)}get permalink(){return n(this,ra)}get primaryLinkId(){return n(this,ia)}get linkIds(){return n(this,bt)}get createdAtUtc(){return n(this,na)}get lastUpdateUtc(){return n(this,sa)}get displayLayout(){return n(this,An)}static async getCollectionById(e,t){let s=await u.redditAPIPlugins.PostCollections.Collection(e,t);return new Yo(s,t)}static async create(e,t){let s=await u.redditAPIPlugins.PostCollections.Create({srFullname:e.subredditId,title:e.title,description:e.description,displayLayout:e.displayLayout},t);return new Yo(s,t)}static async getCollectionsForSubreddit(e,t){return(await u.redditapiv2Plugin.GetSubredditCollections({srFullname:e.subredditId},t)).collections.map(s=>new Yo(s,t))}async addPost(e){await u.redditAPIPlugins.PostCollections.AddPost({collectionId:n(this,Ie),linkFullname:e},n(this,We)),n(this,bt).push(e)}async removePost(e){await u.redditAPIPlugins.PostCollections.RemovePost({collectionId:n(this,Ie),linkFullname:e},n(this,We)),d(this,bt,n(this,bt).filter(i=>i!==e))}async delete(){await u.redditAPIPlugins.PostCollections.Delete({collectionId:n(this,Ie)},n(this,We))}async follow(e){await u.redditAPIPlugins.PostCollections.Follow({collectionId:n(this,Ie),follow:e},n(this,We))}async reorder(e){await u.redditAPIPlugins.PostCollections.Reorder({collectionId:n(this,Ie),linkIds:e.join(",")},n(this,We)),d(this,bt,e)}async updateTitle(e){await u.redditAPIPlugins.PostCollections.UpdateTitle({collectionId:n(this,Ie),title:e},n(this,We)),d(this,Cn,e)}async updateDescription(e){await u.redditAPIPlugins.PostCollections.UpdateDescription({collectionId:n(this,Ie),description:e},n(this,We)),d(this,In,e)}async updateLayout(e){await u.redditAPIPlugins.PostCollections.UpdateDisplayLayout({collectionId:n(this,Ie),displayLayout:e},n(this,We)),d(this,An,e)}};We=new WeakMap,Ie=new WeakMap,Qo=new WeakMap,Cn=new WeakMap,In=new WeakMap,ea=new WeakMap,ta=new WeakMap,ra=new WeakMap,ia=new WeakMap,bt=new WeakMap,na=new WeakMap,sa=new WeakMap,An=new WeakMap;var ii=Yo;var tO=["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"],rO=["border-image","border-image-source","behavior","expression","list-style-image","cursor","content"],iO=["onload","onerror","onclick","onmouseover"];function nO(r){return/xmlns=["']http:\/\/www\.w3\.org\/2000\/svg["']/.test(r)?r:r.replace(/<svg\b/,'<svg xmlns="http://www.w3.org/2000/svg"')}function Mk(r){if(r){if(!r.trim().startsWith("<svg")){console.log("The provided string is not a valid SVG.");return}try{let e=new RegExp(`<\\s*(${tO.join("|")})\\b`,"gi"),t=new RegExp(`(${rO.join("|")})\\s*:\\s*url\\s*\\((['"]?)(.*?)\\2\\)`,"gi"),i=new RegExp(`(${iO.join("|")})\\s*(=\\s*(['"]?)(.*?)\\3)?`,"gi");r=r.trim().replace(/\s+/g," "),r=nO(r);let s=r.match(e)||[],o=r.match(t)||[],a=r.match(i)||[],c=!1;return s.length>0&&(c=!0,console.warn(`Disallowed elements detected in SVG: ${s.map(p=>p.replace("<","")).join(", ")}`)),o.length>0&&(c=!0,console.warn(`Disallowed styles detected in SVG: ${o.map(p=>p.split(":")[0]).join(", ")}`)),a.length>0&&(c=!0,console.warn(`Disallowed attributes detected in SVG: ${a.map(p=>p.split("=")[0]).join(", ")}`)),c?void 0:r}catch{return}}}function Fq(r,...e){let t="";return r.forEach((i,s)=>{t+=i;let o=e[s];o!==void 0&&(t+=`${o}`)}),t=Mk(t),t===void 0?"":`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(t)}`}var Uk="ServerCallRequired";var Bk=Br(Ad(),1);var at,kt,oa,wn,aa,Ur,da,pm=class{constructor(e,t,i){l(this,at);l(this,kt);l(this,oa);l(this,wn);l(this,aa);l(this,Ur);l(this,da);d(this,at,!!i.context.devvitContext.debug.useAsync),n(this,at)&&console.debug("[useAsync] v1",t),this.state={data:null,loading:!1,error:null,depends:null},d(this,kt,i.hookId),d(this,oa,e),d(this,wn,i.invalidate),d(this,aa,i.context),d(this,Ur,t.depends??null),d(this,da,t.enabled??!0)}onStateLoaded(){if(n(this,da)&&(n(this,at)&&console.debug("[useAsync] async onLoad ",n(this,kt),this.state),n(this,at)&&console.debug("[useAsync] async onLoad have ",n(this,Ur),"and",this.state.depends),!(0,Bk.default)(n(this,Ur),this.state.depends)||this.state.data===null&&this.state.error===null&&this.state.loading===!1)){this.state.loading=!0,this.state.depends=n(this,Ur),n(this,wn).call(this);let e={hook:n(this,kt),async:!0,asyncRequest:{requestId:n(this,kt)+"-"+JSON.stringify(this.state.depends)}};n(this,at)&&console.debug("[useAsync] onLoad requeue"),n(this,aa).addToRequeueEvents(e)}}async onUIEvent(e,t){if(e.asyncRequest){let i={requestId:e.asyncRequest.requestId};try{i.data={value:await n(this,oa).call(this)}}catch(o){if(o instanceof Error){if(o.message===Uk)throw o;i.error={message:o.message,details:o.stack??""}}else i.error={message:"Unknown error",details:String(o)}}let s={asyncResponse:i,hook:n(this,kt)};n(this,at)&&console.debug("[useAsync] onReq requeue"),t.addToRequeueEvents(s)}else if(e.asyncResponse){let i=n(this,kt)+"-"+JSON.stringify(this.state.depends);if(e.asyncResponse.requestId===i){let s={data:e.asyncResponse.data?.value,loading:!1,error:e.asyncResponse.error??null};this.state={...this.state,...s},n(this,wn).call(this)}else n(this,at)&&console.debug("[useAsync] onResp skip, stale event")}else throw new Error("Unknown event type")}};at=new WeakMap,kt=new WeakMap,oa=new WeakMap,wn=new WeakMap,aa=new WeakMap,Ur=new WeakMap,da=new WeakMap;function sO(r,e={}){return qe({namespace:"useAsync"},i=>new pm(r,e,i)).state}export{wM as ALL_ICON_NAMES,Iv as AboutLocations,zd as ButtonWidget,Wd as CalendarWidget,QR as CollectionDisplayLayout,ee as Comment,Vd as CommunityListWidget,$d as CustomWidget,u as Devvit,Be as Flair,le as FlairTemplate,xR as FlairType,At as Hook,jd as ImageWidget,G as Listing,zR as ModMailActionType,WR as ModMailConversationState,rd as ModMailService,Ue as ModNote,J as Post,ii as PostCollection,Jd as PostFlairWidget,lr as PrivateMessage,ws as RichTextBuilder,rc as SettingScope,NR as SocialLinkType,ye as Subreddit,um as SubredditRulesWidget,Gd as TextAreaWidget,A as User,oe as Widget,be as WikiPage,ZR as WikiPagePermissionLevel,mm as WikiPageRevision,rl as WikiPageSettings,Es as convertUserFlairProtoToAPI,td as getModerationLog,Av as getVaultByAddress,wv as getVaultByUserId,Fq as svg,sO as useAsync,hR as useAsyncState,Hc as useForm,Vc as useInterval,$c as useState};
6
6
  /*! Bundled license information:
7
7
 
8
8
  shallow-clone/index.js: