@devvit/public-api 0.10.24-next-2024-08-08-2f3eace0d.0 → 0.10.24-next-2024-08-08-4d6152bee.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 Zk=Object.create;var Om=Object.defineProperty;var Yk=Object.getOwnPropertyDescriptor;var Qk=Object.getOwnPropertyNames;var eP=Object.getPrototypeOf,tP=Object.prototype.hasOwnProperty;var h=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var rP=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Qk(e))!tP.call(r,s)&&s!==t&&Om(r,s,{get:()=>e[s],enumerable:!(i=Yk(e,s))||i.enumerable});return r};var Rr=(r,e,t)=>(t=r!=null?Zk(eP(r)):{},rP(e||!r||!r.__esModule?Om(t,"default",{value:r,enumerable:!0}):t,r));var kl=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var n=(r,e,t)=>(kl(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)=>(kl(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t);var b=(r,e,t)=>(kl(r,e,"access private method"),t);var oe=h((PO,Fm)=>{Fm.exports=function(r){try{return!!r()}catch{return!0}}});var fa=h((SO,Mm)=>{var iP=oe();Mm.exports=!iP(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")})});var $=h((CO,Lm)=>{var Um=fa(),Bm=Function.prototype,Pl=Bm.call,nP=Um&&Bm.bind.bind(Pl,Pl);Lm.exports=Um?nP:function(r){return function(){return Pl.apply(r,arguments)}}});var _m=h((IO,Dm)=>{var sP=Math.ceil,oP=Math.floor;Dm.exports=Math.trunc||function(e){var t=+e;return(t>0?oP:sP)(t)}});var ga=h((wO,Nm)=>{var aP=_m();Nm.exports=function(r){var e=+r;return e!==e||e===0?0:aP(e)}});var ce=h((AO,qm)=>{var ha=function(r){return r&&r.Math==Math&&r};qm.exports=ha(typeof globalThis=="object"&&globalThis)||ha(typeof window=="object"&&window)||ha(typeof self=="object"&&self)||ha(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var Or=h((xO,Hm)=>{Hm.exports=!1});var va=h((EO,Wm)=>{var jm=ce(),dP=Object.defineProperty;Wm.exports=function(r,e){try{dP(jm,r,{value:e,configurable:!0,writable:!0})}catch{jm[r]=e}return e}});var ya=h((TO,zm)=>{var lP=ce(),uP=va(),Gm="__core-js_shared__",cP=lP[Gm]||uP(Gm,{});zm.exports=cP});var Sl=h((RO,Jm)=>{var mP=Or(),Vm=ya();(Jm.exports=function(r,e){return Vm[r]||(Vm[r]=e!==void 0?e:{})})("versions",[]).push({version:"3.27.2",mode:mP?"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 ba=h((OO,$m)=>{$m.exports=function(r){return r==null}});var ka=h((FO,Km)=>{var pP=ba(),fP=TypeError;Km.exports=function(r){if(pP(r))throw fP("Can't call method on "+r);return r}});var xn=h((MO,Xm)=>{var gP=ka(),hP=Object;Xm.exports=function(r){return hP(gP(r))}});var Ce=h((UO,Zm)=>{var vP=$(),yP=xn(),bP=vP({}.hasOwnProperty);Zm.exports=Object.hasOwn||function(e,t){return bP(yP(e),t)}});var Cl=h((BO,Ym)=>{var kP=$(),PP=0,SP=Math.random(),CP=kP(1 .toString);Ym.exports=function(r){return"Symbol("+(r===void 0?"":r)+")_"+CP(++PP+SP,36)}});var ep=h((LO,Qm)=>{Qm.exports=typeof navigator<"u"&&String(navigator.userAgent)||""});var ap=h((DO,op)=>{var sp=ce(),Il=ep(),tp=sp.process,rp=sp.Deno,ip=tp&&tp.versions||rp&&rp.version,np=ip&&ip.v8,He,Pa;np&&(He=np.split("."),Pa=He[0]>0&&He[0]<4?1:+(He[0]+He[1]));!Pa&&Il&&(He=Il.match(/Edge\/(\d+)/),(!He||He[1]>=74)&&(He=Il.match(/Chrome\/(\d+)/),He&&(Pa=+He[1])));op.exports=Pa});var wl=h((_O,lp)=>{var dp=ap(),IP=oe();lp.exports=!!Object.getOwnPropertySymbols&&!IP(function(){var r=Symbol();return!String(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&dp&&dp<41})});var Al=h((NO,up)=>{var wP=wl();up.exports=wP&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Ie=h((qO,mp)=>{var AP=ce(),xP=Sl(),cp=Ce(),EP=Cl(),TP=wl(),RP=Al(),Fr=AP.Symbol,xl=xP("wks"),OP=RP?Fr.for||Fr:Fr&&Fr.withoutSetter||EP;mp.exports=function(r){return cp(xl,r)||(xl[r]=TP&&cp(Fr,r)?Fr[r]:OP("Symbol."+r)),xl[r]}});var gp=h((HO,fp)=>{var FP=Ie(),MP=FP("toStringTag"),pp={};pp[MP]="z";fp.exports=String(pp)==="[object z]"});var Tl=h((jO,hp)=>{var El=typeof document=="object"&&document.all,UP=typeof El>"u"&&El!==void 0;hp.exports={all:El,IS_HTMLDDA:UP}});var K=h((WO,yp)=>{var vp=Tl(),BP=vp.all;yp.exports=vp.IS_HTMLDDA?function(r){return typeof r=="function"||r===BP}:function(r){return typeof r=="function"}});var Sa=h((GO,kp)=>{var bp=$(),LP=bp({}.toString),DP=bp("".slice);kp.exports=function(r){return DP(LP(r),8,-1)}});var En=h((zO,Pp)=>{var _P=gp(),NP=K(),Ca=Sa(),qP=Ie(),HP=qP("toStringTag"),jP=Object,WP=Ca(function(){return arguments}())=="Arguments",GP=function(r,e){try{return r[e]}catch{}};Pp.exports=_P?Ca:function(r){var e,t,i;return r===void 0?"Undefined":r===null?"Null":typeof(t=GP(e=jP(r),HP))=="string"?t:WP?Ca(e):(i=Ca(e))=="Object"&&NP(e.callee)?"Arguments":i}});var Tn=h((VO,Sp)=>{var zP=En(),VP=String;Sp.exports=function(r){if(zP(r)==="Symbol")throw TypeError("Cannot convert a Symbol value to a string");return VP(r)}});var Ol=h((JO,wp)=>{var Rl=$(),JP=ga(),$P=Tn(),KP=ka(),XP=Rl("".charAt),Cp=Rl("".charCodeAt),ZP=Rl("".slice),Ip=function(r){return function(e,t){var i=$P(KP(e)),s=JP(t),o=i.length,a,c;return s<0||s>=o?r?"":void 0:(a=Cp(i,s),a<55296||a>56319||s+1===o||(c=Cp(i,s+1))<56320||c>57343?r?XP(i,s):a:r?ZP(i,s,s+2):(a-55296<<10)+(c-56320)+65536)}};wp.exports={codeAt:Ip(!1),charAt:Ip(!0)}});var Ep=h(($O,xp)=>{var YP=ce(),QP=K(),Ap=YP.WeakMap;xp.exports=QP(Ap)&&/native code/.test(String(Ap))});var vt=h((KO,Op)=>{var Tp=K(),Rp=Tl(),eS=Rp.all;Op.exports=Rp.IS_HTMLDDA?function(r){return typeof r=="object"?r!==null:Tp(r)||r===eS}:function(r){return typeof r=="object"?r!==null:Tp(r)}});var me=h((XO,Fp)=>{var tS=oe();Fp.exports=!tS(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var Ml=h((ZO,Up)=>{var rS=ce(),Mp=vt(),Fl=rS.document,iS=Mp(Fl)&&Mp(Fl.createElement);Up.exports=function(r){return iS?Fl.createElement(r):{}}});var Ul=h((YO,Bp)=>{var nS=me(),sS=oe(),oS=Ml();Bp.exports=!nS&&!sS(function(){return Object.defineProperty(oS("div"),"a",{get:function(){return 7}}).a!=7})});var Bl=h((QO,Lp)=>{var aS=me(),dS=oe();Lp.exports=aS&&dS(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Ke=h((eF,Dp)=>{var lS=vt(),uS=String,cS=TypeError;Dp.exports=function(r){if(lS(r))return r;throw cS(uS(r)+" is not an object")}});var je=h((tF,_p)=>{var mS=fa(),Ia=Function.prototype.call;_p.exports=mS?Ia.bind(Ia):function(){return Ia.apply(Ia,arguments)}});var Rn=h((rF,Np)=>{var Ll=ce(),pS=K(),fS=function(r){return pS(r)?r:void 0};Np.exports=function(r,e){return arguments.length<2?fS(Ll[r]):Ll[r]&&Ll[r][e]}});var Dl=h((iF,qp)=>{var gS=$();qp.exports=gS({}.isPrototypeOf)});var _l=h((nF,Hp)=>{var hS=Rn(),vS=K(),yS=Dl(),bS=Al(),kS=Object;Hp.exports=bS?function(r){return typeof r=="symbol"}:function(r){var e=hS("Symbol");return vS(e)&&yS(e.prototype,kS(r))}});var Nl=h((sF,jp)=>{var PS=String;jp.exports=function(r){try{return PS(r)}catch{return"Object"}}});var wa=h((oF,Wp)=>{var SS=K(),CS=Nl(),IS=TypeError;Wp.exports=function(r){if(SS(r))return r;throw IS(CS(r)+" is not a function")}});var Aa=h((aF,Gp)=>{var wS=wa(),AS=ba();Gp.exports=function(r,e){var t=r[e];return AS(t)?void 0:wS(t)}});var Vp=h((dF,zp)=>{var ql=je(),Hl=K(),jl=vt(),xS=TypeError;zp.exports=function(r,e){var t,i;if(e==="string"&&Hl(t=r.toString)&&!jl(i=ql(t,r))||Hl(t=r.valueOf)&&!jl(i=ql(t,r))||e!=="string"&&Hl(t=r.toString)&&!jl(i=ql(t,r)))return i;throw xS("Can't convert object to primitive value")}});var Xp=h((lF,Kp)=>{var ES=je(),Jp=vt(),$p=_l(),TS=Aa(),RS=Vp(),OS=Ie(),FS=TypeError,MS=OS("toPrimitive");Kp.exports=function(r,e){if(!Jp(r)||$p(r))return r;var t=TS(r,MS),i;if(t){if(e===void 0&&(e="default"),i=ES(t,r,e),!Jp(i)||$p(i))return i;throw FS("Can't convert object to primitive value")}return e===void 0&&(e="number"),RS(r,e)}});var xa=h((uF,Zp)=>{var US=Xp(),BS=_l();Zp.exports=function(r){var e=US(r,"string");return BS(e)?e:e+""}});var Xe=h(Qp=>{var LS=me(),DS=Ul(),_S=Bl(),Ea=Ke(),Yp=xa(),NS=TypeError,Wl=Object.defineProperty,qS=Object.getOwnPropertyDescriptor,Gl="enumerable",zl="configurable",Vl="writable";Qp.f=LS?_S?function(e,t,i){if(Ea(e),t=Yp(t),Ea(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Vl in i&&!i[Vl]){var s=qS(e,t);s&&s[Vl]&&(e[t]=i.value,i={configurable:zl in i?i[zl]:s[zl],enumerable:Gl in i?i[Gl]:s[Gl],writable:!1})}return Wl(e,t,i)}:Wl:function(e,t,i){if(Ea(e),t=Yp(t),Ea(i),DS)try{return Wl(e,t,i)}catch{}if("get"in i||"set"in i)throw NS("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var Mr=h((mF,ef)=>{ef.exports=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}}});var Ta=h((pF,tf)=>{var HS=me(),jS=Xe(),WS=Mr();tf.exports=HS?function(r,e,t){return jS.f(r,e,WS(1,t))}:function(r,e,t){return r[e]=t,r}});var Ra=h((fF,nf)=>{var GS=Sl(),zS=Cl(),rf=GS("keys");nf.exports=function(r){return rf[r]||(rf[r]=zS(r))}});var Oa=h((gF,sf)=>{sf.exports={}});var Ur=h((hF,df)=>{var VS=Ep(),af=ce(),JS=vt(),$S=Ta(),Jl=Ce(),$l=ya(),KS=Ra(),XS=Oa(),of="Object already initialized",Kl=af.TypeError,ZS=af.WeakMap,Fa,On,Ma,YS=function(r){return Ma(r)?On(r):Fa(r,{})},QS=function(r){return function(e){var t;if(!JS(e)||(t=On(e)).type!==r)throw Kl("Incompatible receiver, "+r+" required");return t}};VS||$l.state?(We=$l.state||($l.state=new ZS),We.get=We.get,We.has=We.has,We.set=We.set,Fa=function(r,e){if(We.has(r))throw Kl(of);return e.facade=r,We.set(r,e),e},On=function(r){return We.get(r)||{}},Ma=function(r){return We.has(r)}):(Kt=KS("state"),XS[Kt]=!0,Fa=function(r,e){if(Jl(r,Kt))throw Kl(of);return e.facade=r,$S(r,Kt,e),e},On=function(r){return Jl(r,Kt)?r[Kt]:{}},Ma=function(r){return Jl(r,Kt)});var We,Kt;df.exports={set:Fa,get:On,has:Ma,enforce:YS,getterFor:QS}});var Xl=h(cf=>{"use strict";var lf={}.propertyIsEnumerable,uf=Object.getOwnPropertyDescriptor,eC=uf&&!lf.call({1:2},1);cf.f=eC?function(e){var t=uf(this,e);return!!t&&t.enumerable}:lf});var Yl=h((yF,mf)=>{var tC=$(),rC=oe(),iC=Sa(),Zl=Object,nC=tC("".split);mf.exports=rC(function(){return!Zl("z").propertyIsEnumerable(0)})?function(r){return iC(r)=="String"?nC(r,""):Zl(r)}:Zl});var Br=h((bF,pf)=>{var sC=Yl(),oC=ka();pf.exports=function(r){return sC(oC(r))}});var Ql=h(gf=>{var aC=me(),dC=je(),lC=Xl(),uC=Mr(),cC=Br(),mC=xa(),pC=Ce(),fC=Ul(),ff=Object.getOwnPropertyDescriptor;gf.f=aC?ff:function(e,t){if(e=cC(e),t=mC(t),fC)try{return ff(e,t)}catch{}if(pC(e,t))return uC(!dC(lC.f,e,t),e[t])}});var ru=h((PF,vf)=>{var eu=me(),gC=Ce(),hf=Function.prototype,hC=eu&&Object.getOwnPropertyDescriptor,tu=gC(hf,"name"),vC=tu&&function(){}.name==="something",yC=tu&&(!eu||eu&&hC(hf,"name").configurable);vf.exports={EXISTS:tu,PROPER:vC,CONFIGURABLE:yC}});var nu=h((SF,yf)=>{var bC=$(),kC=K(),iu=ya(),PC=bC(Function.toString);kC(iu.inspectSource)||(iu.inspectSource=function(r){return PC(r)});yf.exports=iu.inspectSource});var au=h((CF,Pf)=>{var ou=$(),SC=oe(),CC=K(),Ua=Ce(),su=me(),IC=ru().CONFIGURABLE,wC=nu(),kf=Ur(),AC=kf.enforce,xC=kf.get,bf=String,Ba=Object.defineProperty,EC=ou("".slice),TC=ou("".replace),RC=ou([].join),OC=su&&!SC(function(){return Ba(function(){},"length",{value:8}).length!==8}),FC=String(String).split("String"),MC=Pf.exports=function(r,e,t){EC(bf(e),0,7)==="Symbol("&&(e="["+TC(bf(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),t&&t.getter&&(e="get "+e),t&&t.setter&&(e="set "+e),(!Ua(r,"name")||IC&&r.name!==e)&&(su?Ba(r,"name",{value:e,configurable:!0}):r.name=e),OC&&t&&Ua(t,"arity")&&r.length!==t.arity&&Ba(r,"length",{value:t.arity});try{t&&Ua(t,"constructor")&&t.constructor?su&&Ba(r,"prototype",{writable:!1}):r.prototype&&(r.prototype=void 0)}catch{}var i=AC(r);return Ua(i,"source")||(i.source=RC(FC,typeof e=="string"?e:"")),r};Function.prototype.toString=MC(function(){return CC(this)&&xC(this).source||wC(this)},"toString")});var Xt=h((IF,Sf)=>{var UC=K(),BC=Xe(),LC=au(),DC=va();Sf.exports=function(r,e,t,i){i||(i={});var s=i.enumerable,o=i.name!==void 0?i.name:e;if(UC(t)&&LC(t,o,i),i.global)s?r[e]=t:DC(e,t);else{try{i.unsafe?r[e]&&(s=!0):delete r[e]}catch{}s?r[e]=t:BC.f(r,e,{value:t,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return r}});var du=h((wF,Cf)=>{var _C=ga(),NC=Math.max,qC=Math.min;Cf.exports=function(r,e){var t=_C(r);return t<0?NC(t+e,0):qC(t,e)}});var wf=h((AF,If)=>{var HC=ga(),jC=Math.min;If.exports=function(r){return r>0?jC(HC(r),9007199254740991):0}});var La=h((xF,Af)=>{var WC=wf();Af.exports=function(r){return WC(r.length)}});var Tf=h((EF,Ef)=>{var GC=Br(),zC=du(),VC=La(),xf=function(r){return function(e,t,i){var s=GC(e),o=VC(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}};Ef.exports={includes:xf(!0),indexOf:xf(!1)}});var uu=h((TF,Of)=>{var JC=$(),lu=Ce(),$C=Br(),KC=Tf().indexOf,XC=Oa(),Rf=JC([].push);Of.exports=function(r,e){var t=$C(r),i=0,s=[],o;for(o in t)!lu(XC,o)&&lu(t,o)&&Rf(s,o);for(;e.length>i;)lu(t,o=e[i++])&&(~KC(s,o)||Rf(s,o));return s}});var Da=h((RF,Ff)=>{Ff.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Uf=h(Mf=>{var ZC=uu(),YC=Da(),QC=YC.concat("length","prototype");Mf.f=Object.getOwnPropertyNames||function(e){return ZC(e,QC)}});var cu=h(Bf=>{Bf.f=Object.getOwnPropertySymbols});var Df=h((MF,Lf)=>{var eI=Rn(),tI=$(),rI=Uf(),iI=cu(),nI=Ke(),sI=tI([].concat);Lf.exports=eI("Reflect","ownKeys")||function(e){var t=rI.f(nI(e)),i=iI.f;return i?sI(t,i(e)):t}});var qf=h((UF,Nf)=>{var _f=Ce(),oI=Df(),aI=Ql(),dI=Xe();Nf.exports=function(r,e,t){for(var i=oI(e),s=dI.f,o=aI.f,a=0;a<i.length;a++){var c=i[a];!_f(r,c)&&!(t&&_f(t,c))&&s(r,c,o(e,c))}}});var jf=h((BF,Hf)=>{var lI=oe(),uI=K(),cI=/#|\.prototype\./,Fn=function(r,e){var t=pI[mI(r)];return t==gI?!0:t==fI?!1:uI(e)?lI(e):!!e},mI=Fn.normalize=function(r){return String(r).replace(cI,".").toLowerCase()},pI=Fn.data={},fI=Fn.NATIVE="N",gI=Fn.POLYFILL="P";Hf.exports=Fn});var Mn=h((LF,Wf)=>{var mu=ce(),hI=Ql().f,vI=Ta(),yI=Xt(),bI=va(),kI=qf(),PI=jf();Wf.exports=function(r,e){var t=r.target,i=r.global,s=r.stat,o,a,c,p,f,v;if(i?a=mu:s?a=mu[t]||bI(t,{}):a=(mu[t]||{}).prototype,a)for(c in e){if(f=e[c],r.dontCallGetSet?(v=hI(a,c),p=v&&v.value):p=a[c],o=PI(i?c:t+(s?".":"#")+c,r.forced),!o&&p!==void 0){if(typeof f==typeof p)continue;kI(f,p)}(r.sham||p&&p.sham)&&vI(f,"sham",!0),yI(a,c,f,r)}}});var pu=h((DF,Gf)=>{var SI=uu(),CI=Da();Gf.exports=Object.keys||function(e){return SI(e,CI)}});var Vf=h(zf=>{var II=me(),wI=Bl(),AI=Xe(),xI=Ke(),EI=Br(),TI=pu();zf.f=II&&!wI?Object.defineProperties:function(e,t){xI(e);for(var i=EI(t),s=TI(t),o=s.length,a=0,c;o>a;)AI.f(e,c=s[a++],i[c]);return e}});var $f=h((NF,Jf)=>{var RI=Rn();Jf.exports=RI("document","documentElement")});var Un=h((qF,tg)=>{var OI=Ke(),FI=Vf(),Kf=Da(),MI=Oa(),UI=$f(),BI=Ml(),LI=Ra(),Xf=">",Zf="<",gu="prototype",hu="script",Qf=LI("IE_PROTO"),fu=function(){},eg=function(r){return Zf+hu+Xf+r+Zf+"/"+hu+Xf},Yf=function(r){r.write(eg("")),r.close();var e=r.parentWindow.Object;return r=null,e},DI=function(){var r=BI("iframe"),e="java"+hu+":",t;return r.style.display="none",UI.appendChild(r),r.src=String(e),t=r.contentWindow.document,t.open(),t.write(eg("document.F=Object")),t.close(),t.F},_a,Na=function(){try{_a=new ActiveXObject("htmlfile")}catch{}Na=typeof document<"u"?document.domain&&_a?Yf(_a):DI():Yf(_a);for(var r=Kf.length;r--;)delete Na[gu][Kf[r]];return Na()};MI[Qf]=!0;tg.exports=Object.create||function(e,t){var i;return e!==null?(fu[gu]=OI(e),i=new fu,fu[gu]=null,i[Qf]=e):i=Na(),t===void 0?i:FI.f(i,t)}});var ig=h((HF,rg)=>{var _I=oe();rg.exports=!_I(function(){function r(){}return r.prototype.constructor=null,Object.getPrototypeOf(new r)!==r.prototype})});var yu=h((jF,sg)=>{var NI=Ce(),qI=K(),HI=xn(),jI=Ra(),WI=ig(),ng=jI("IE_PROTO"),vu=Object,GI=vu.prototype;sg.exports=WI?vu.getPrototypeOf:function(r){var e=HI(r);if(NI(e,ng))return e[ng];var t=e.constructor;return qI(t)&&e instanceof t?t.prototype:e instanceof vu?GI:null}});var Su=h((WF,dg)=>{"use strict";var zI=oe(),VI=K(),JI=vt(),$I=Un(),og=yu(),KI=Xt(),XI=Ie(),ZI=Or(),Pu=XI("iterator"),ag=!1,it,bu,ku;[].keys&&(ku=[].keys(),"next"in ku?(bu=og(og(ku)),bu!==Object.prototype&&(it=bu)):ag=!0);var YI=!JI(it)||zI(function(){var r={};return it[Pu].call(r)!==r});YI?it={}:ZI&&(it=$I(it));VI(it[Pu])||KI(it,Pu,function(){return this});dg.exports={IteratorPrototype:it,BUGGY_SAFARI_ITERATORS:ag}});var Bn=h((GF,ug)=>{var QI=Xe().f,ew=Ce(),tw=Ie(),lg=tw("toStringTag");ug.exports=function(r,e,t){r&&!t&&(r=r.prototype),r&&!ew(r,lg)&&QI(r,lg,{configurable:!0,value:e})}});var Lr=h((zF,cg)=>{cg.exports={}});var Cu=h((VF,mg)=>{"use strict";var rw=Su().IteratorPrototype,iw=Un(),nw=Mr(),sw=Bn(),ow=Lr(),aw=function(){return this};mg.exports=function(r,e,t,i){var s=e+" Iterator";return r.prototype=iw(rw,{next:nw(+!i,t)}),sw(r,s,!1,!0),ow[s]=aw,r}});var fg=h((JF,pg)=>{var dw=K(),lw=String,uw=TypeError;pg.exports=function(r){if(typeof r=="object"||dw(r))return r;throw uw("Can't set "+lw(r)+" as a prototype")}});var hg=h(($F,gg)=>{var cw=$(),mw=Ke(),pw=fg();gg.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var r=!1,e={},t;try{t=cw(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set),t(e,[]),r=e instanceof Array}catch{}return function(s,o){return mw(s),pw(o),r?t(s,o):s.__proto__=o,s}}():void 0)});var wu=h((KF,Ag)=>{"use strict";var fw=Mn(),gw=je(),qa=Or(),Ig=ru(),hw=K(),vw=Cu(),vg=yu(),yg=hg(),yw=Bn(),bw=Ta(),Iu=Xt(),kw=Ie(),bg=Lr(),wg=Su(),Pw=Ig.PROPER,Sw=Ig.CONFIGURABLE,kg=wg.IteratorPrototype,Ha=wg.BUGGY_SAFARI_ITERATORS,Ln=kw("iterator"),Pg="keys",Dn="values",Sg="entries",Cg=function(){return this};Ag.exports=function(r,e,t,i,s,o,a){vw(t,e,i);var c=function(U){if(U===s&&y)return y;if(!Ha&&U in v)return v[U];switch(U){case Pg:return function(){return new t(this,U)};case Dn:return function(){return new t(this,U)};case Sg:return function(){return new t(this,U)}}return function(){return new t(this)}},p=e+" Iterator",f=!1,v=r.prototype,m=v[Ln]||v["@@iterator"]||s&&v[s],y=!Ha&&m||c(s),k=e=="Array"&&v.entries||m,C,I,A;if(k&&(C=vg(k.call(new r)),C!==Object.prototype&&C.next&&(!qa&&vg(C)!==kg&&(yg?yg(C,kg):hw(C[Ln])||Iu(C,Ln,Cg)),yw(C,p,!0,!0),qa&&(bg[p]=Cg))),Pw&&s==Dn&&m&&m.name!==Dn&&(!qa&&Sw?bw(v,"name",Dn):(f=!0,y=function(){return gw(m,this)})),s)if(I={values:c(Dn),keys:o?y:c(Pg),entries:c(Sg)},a)for(A in I)(Ha||f||!(A in v))&&Iu(v,A,I[A]);else fw({target:e,proto:!0,forced:Ha||f},I);return(!qa||a)&&v[Ln]!==y&&Iu(v,Ln,y,{name:s}),bg[e]=y,I}});var Au=h((XF,xg)=>{xg.exports=function(r,e){return{value:r,done:e}}});var Og=h(()=>{"use strict";var Cw=Ol().charAt,Iw=Tn(),Tg=Ur(),ww=wu(),Eg=Au(),Rg="String Iterator",Aw=Tg.set,xw=Tg.getterFor(Rg);ww(String,"String",function(r){Aw(this,{type:Rg,string:Iw(r),index:0})},function(){var e=xw(this),t=e.string,i=e.index,s;return i>=t.length?Eg(void 0,!0):(s=Cw(t,i),e.index+=s.length,Eg(s,!1))})});var xu=h((QF,Fg)=>{var Ew=oe(),Tw=Ie(),Rw=Or(),Ow=Tw("iterator");Fg.exports=!Ew(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}),Rw&&!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[Ow]||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 Ug=h((eM,Mg)=>{var Fw=Sa(),Mw=$();Mg.exports=function(r){if(Fw(r)==="Function")return Mw(r)}});var ja=h((tM,Lg)=>{var Bg=Ug(),Uw=wa(),Bw=fa(),Lw=Bg(Bg.bind);Lg.exports=function(r,e){return Uw(r),e===void 0?r:Bw?Lw(r,e):function(){return r.apply(e,arguments)}}});var Ng=h((rM,_g)=>{var Dg=au(),Dw=Xe();_g.exports=function(r,e,t){return t.get&&Dg(t.get,e,{getter:!0}),t.set&&Dg(t.set,e,{setter:!0}),Dw.f(r,e,t)}});var Eu=h((iM,qg)=>{var _w=Dl(),Nw=TypeError;qg.exports=function(r,e){if(_w(e,r))return r;throw Nw("Incorrect invocation")}});var Gg=h((nM,Wg)=>{"use strict";var Hg=me(),qw=$(),Hw=je(),jw=oe(),Tu=pu(),Ww=cu(),Gw=Xl(),zw=xn(),Vw=Yl(),Dr=Object.assign,jg=Object.defineProperty,Jw=qw([].concat);Wg.exports=!Dr||jw(function(){if(Hg&&Dr({b:1},Dr(jg({},"a",{enumerable:!0,get:function(){jg(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}),Dr({},r)[t]!=7||Tu(Dr({},e)).join("")!=i})?function(e,t){for(var i=zw(e),s=arguments.length,o=1,a=Ww.f,c=Gw.f;s>o;)for(var p=Vw(arguments[o++]),f=a?Jw(Tu(p),a(p)):Tu(p),v=f.length,m=0,y;v>m;)y=f[m++],(!Hg||Hw(c,p,y))&&(i[y]=p[y]);return i}:Dr});var Jg=h((sM,Vg)=>{var $w=je(),zg=Ke(),Kw=Aa();Vg.exports=function(r,e,t){var i,s;zg(r);try{if(i=Kw(r,"return"),!i){if(e==="throw")throw t;return t}i=$w(i,r)}catch(o){s=!0,i=o}if(e==="throw")throw t;if(s)throw i;return zg(i),t}});var Kg=h((oM,$g)=>{var Xw=Ke(),Zw=Jg();$g.exports=function(r,e,t,i){try{return i?e(Xw(t)[0],t[1]):e(t)}catch(s){Zw(r,"throw",s)}}});var Zg=h((aM,Xg)=>{var Yw=Ie(),Qw=Lr(),eA=Yw("iterator"),tA=Array.prototype;Xg.exports=function(r){return r!==void 0&&(Qw.Array===r||tA[eA]===r)}});var ih=h((dM,rh)=>{var rA=$(),iA=oe(),Yg=K(),nA=En(),sA=Rn(),oA=nu(),Qg=function(){},aA=[],eh=sA("Reflect","construct"),Ru=/^\s*(?:class|function)\b/,dA=rA(Ru.exec),lA=!Ru.exec(Qg),_n=function(e){if(!Yg(e))return!1;try{return eh(Qg,aA,e),!0}catch{return!1}},th=function(e){if(!Yg(e))return!1;switch(nA(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return lA||!!dA(Ru,oA(e))}catch{return!0}};th.sham=!0;rh.exports=!eh||iA(function(){var r;return _n(_n.call)||!_n(Object)||!_n(function(){r=!0})||r})?th:_n});var Ou=h((lM,nh)=>{"use strict";var uA=xa(),cA=Xe(),mA=Mr();nh.exports=function(r,e,t){var i=uA(e);i in r?cA.f(r,i,mA(0,t)):r[i]=t}});var Wa=h((uM,oh)=>{var pA=En(),sh=Aa(),fA=ba(),gA=Lr(),hA=Ie(),vA=hA("iterator");oh.exports=function(r){if(!fA(r))return sh(r,vA)||sh(r,"@@iterator")||gA[pA(r)]}});var Fu=h((cM,ah)=>{var yA=je(),bA=wa(),kA=Ke(),PA=Nl(),SA=Wa(),CA=TypeError;ah.exports=function(r,e){var t=arguments.length<2?SA(r):e;if(bA(t))return kA(yA(t,r));throw CA(PA(r)+" is not iterable")}});var ch=h((mM,uh)=>{"use strict";var IA=ja(),wA=je(),AA=xn(),xA=Kg(),EA=Zg(),TA=ih(),RA=La(),dh=Ou(),OA=Fu(),FA=Wa(),lh=Array;uh.exports=function(e){var t=AA(e),i=TA(this),s=arguments.length,o=s>1?arguments[1]:void 0,a=o!==void 0;a&&(o=IA(o,s>2?arguments[2]:void 0));var c=FA(t),p=0,f,v,m,y,k,C;if(c&&!(this===lh&&EA(c)))for(y=OA(t,c),k=y.next,v=i?new this:[];!(m=wA(k,y)).done;p++)C=a?xA(y,o,[m.value,p],!0):m.value,dh(v,p,C);else for(f=RA(t),v=i?new this(f):lh(f);f>p;p++)C=a?o(t[p],p):t[p],dh(v,p,C);return v.length=p,v}});var Mu=h((pM,ph)=>{var mh=du(),MA=La(),UA=Ou(),BA=Array,LA=Math.max;ph.exports=function(r,e,t){for(var i=MA(r),s=mh(e,i),o=mh(t===void 0?i:t,i),a=BA(LA(o-s,0)),c=0;s<o;s++,c++)UA(a,c,r[s]);return a.length=c,a}});var Sh=h((fM,Ph)=>{var Zt=$(),Uu=2147483647,Nn=36,yh=1,Du=26,DA=38,_A=700,NA=72,qA=128,HA="-",jA=/[^\0-\u007E]/,bh=/[.\u3002\uFF0E\uFF61]/g,fh="Overflow: input needs wider integers to process",Bu=Nn-yh,gh=RangeError,WA=Zt(bh.exec),_r=Math.floor,Lu=String.fromCharCode,hh=Zt("".charCodeAt),kh=Zt([].join),yt=Zt([].push),GA=Zt("".replace),zA=Zt("".split),VA=Zt("".toLowerCase),JA=function(r){for(var e=[],t=0,i=r.length;t<i;){var s=hh(r,t++);if(s>=55296&&s<=56319&&t<i){var o=hh(r,t++);(o&64512)==56320?yt(e,((s&1023)<<10)+(o&1023)+65536):(yt(e,s),t--)}else yt(e,s)}return e},vh=function(r){return r+22+75*(r<26)},$A=function(r,e,t){var i=0;for(r=t?_r(r/_A):r>>1,r+=_r(r/e);r>Bu*Du>>1;)r=_r(r/Bu),i+=Nn;return _r(i+(Bu+1)*r/(r+DA))},KA=function(r){var e=[];r=JA(r);var t=r.length,i=qA,s=0,o=NA,a,c;for(a=0;a<r.length;a++)c=r[a],c<128&&yt(e,Lu(c));var p=e.length,f=p;for(p&&yt(e,HA);f<t;){var v=Uu;for(a=0;a<r.length;a++)c=r[a],c>=i&&c<v&&(v=c);var m=f+1;if(v-i>_r((Uu-s)/m))throw gh(fh);for(s+=(v-i)*m,i=v,a=0;a<r.length;a++){if(c=r[a],c<i&&++s>Uu)throw gh(fh);if(c==i){for(var y=s,k=Nn;;){var C=k<=o?yh:k>=o+Du?Du:k-o;if(y<C)break;var I=y-C,A=Nn-C;yt(e,Lu(vh(C+I%A))),y=_r(I/A),k+=Nn}yt(e,Lu(vh(y))),o=$A(s,m,f==p),s=0,f++}}s++,i++}return kh(e,"")};Ph.exports=function(r){var e=[],t=zA(GA(VA(r),bh,"."),"."),i,s;for(i=0;i<t.length;i++)s=t[i],yt(e,WA(jA,s)?"xn--"+KA(s):s);return kh(e,".")}});var _u=h((gM,Ch)=>{var XA=TypeError;Ch.exports=function(r,e){if(r<e)throw XA("Not enough arguments");return r}});var wh=h((hM,Ih)=>{var ZA=Ie(),YA=Un(),QA=Xe().f,Nu=ZA("unscopables"),qu=Array.prototype;qu[Nu]==null&&QA(qu,Nu,{configurable:!0,value:YA(null)});Ih.exports=function(r){qu[Nu][r]=!0}});var Oh=h((vM,Rh)=>{"use strict";var ex=Br(),Hu=wh(),Ah=Lr(),Eh=Ur(),tx=Xe().f,rx=wu(),Ga=Au(),ix=Or(),nx=me(),Th="Array Iterator",sx=Eh.set,ox=Eh.getterFor(Th);Rh.exports=rx(Array,"Array",function(r,e){sx(this,{type:Th,target:ex(r),index:0,kind:e})},function(){var r=ox(this),e=r.target,t=r.kind,i=r.index++;return!e||i>=e.length?(r.target=void 0,Ga(void 0,!0)):t=="keys"?Ga(i,!1):t=="values"?Ga(e[i],!1):Ga([i,e[i]],!1)},"values");var xh=Ah.Arguments=Ah.Array;Hu("keys");Hu("values");Hu("entries");if(!ix&&nx&&xh.name!=="values")try{tx(xh,"name",{value:"values"})}catch{}});var Mh=h((yM,Fh)=>{var ax=Xt();Fh.exports=function(r,e,t){for(var i in e)ax(r,i,e[i],t);return r}});var Lh=h((bM,Bh)=>{var Uh=Mu(),dx=Math.floor,ju=function(r,e){var t=r.length,i=dx(t/2);return t<8?lx(r,e):ux(r,ju(Uh(r,0,i),e),ju(Uh(r,i),e),e)},lx=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},ux=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=ju});var Yu=h((kM,rv)=>{"use strict";Oh();var Ju=Mn(),qr=ce(),za=je(),Ze=$(),cx=me(),$h=xu(),Kh=Xt(),mx=Mh(),px=Bn(),fx=Cu(),Xu=Ur(),Xh=Eu(),Wu=K(),gx=Ce(),hx=ja(),vx=En(),yx=Ke(),Zh=vt(),pe=Tn(),bx=Un(),Dh=Mr(),$u=Fu(),kx=Wa(),Nr=_u(),Px=Ie(),Sx=Lh(),Cx=Px("iterator"),jn="URLSearchParams",Yh=jn+"Iterator",Qh=Xu.set,Ge=Xu.getterFor(jn),Ix=Xu.getterFor(Yh),wx=Object.getOwnPropertyDescriptor,Zu=function(r){if(!cx)return qr[r];var e=wx(qr,r);return e&&e.value},_h=Zu("fetch"),Ja=Zu("Request"),qn=Zu("Headers"),Gu=Ja&&Ja.prototype,Nh=qn&&qn.prototype,Ax=qr.RegExp,xx=qr.TypeError,ev=qr.decodeURIComponent,Ex=qr.encodeURIComponent,Tx=Ze("".charAt),qh=Ze([].join),Yt=Ze([].push),Ku=Ze("".replace),Rx=Ze([].shift),Hh=Ze([].splice),jh=Ze("".split),Ox=Ze("".slice),Fx=/\+/g,Wh=Array(4),Mx=function(r){return Wh[r-1]||(Wh[r-1]=Ax("((?:%[\\da-f]{2}){"+r+"})","gi"))},Ux=function(r){try{return ev(r)}catch{return r}},Gh=function(r){var e=Ku(r,Fx," "),t=4;try{return ev(e)}catch{for(;t;)e=Ku(e,Mx(t--),Ux);return e}},Bx=/[!'()~]|%20/g,Lx={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},Dx=function(r){return Lx[r]},zh=function(r){return Ku(Ex(r),Bx,Dx)},zu=fx(function(e,t){Qh(this,{type:Yh,iterator:$u(Ge(e).entries),kind:t})},"Iterator",function(){var e=Ix(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),tv=function(r){this.entries=[],this.url=null,r!==void 0&&(Zh(r)?this.parseObject(r):this.parseQuery(typeof r=="string"?Tx(r,0)==="?"?Ox(r,1):r:pe(r)))};tv.prototype={type:jn,bindURL:function(r){this.url=r,this.update()},parseObject:function(r){var e=kx(r),t,i,s,o,a,c,p;if(e)for(t=$u(r,e),i=t.next;!(s=za(i,t)).done;){if(o=$u(yx(s.value)),a=o.next,(c=za(a,o)).done||(p=za(a,o)).done||!za(a,o).done)throw xx("Expected sequence with length 2");Yt(this.entries,{key:pe(c.value),value:pe(p.value)})}else for(var f in r)gx(r,f)&&Yt(this.entries,{key:f,value:pe(r[f])})},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,"="),Yt(this.entries,{key:Gh(Rx(s)),value:Gh(qh(s,"="))}))},serialize:function(){for(var r=this.entries,e=[],t=0,i;t<r.length;)i=r[t++],Yt(e,zh(i.key)+"="+zh(i.value));return qh(e,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var $a=function(){Xh(this,Hn);var e=arguments.length>0?arguments[0]:void 0;Qh(this,new tv(e))},Hn=$a.prototype;mx(Hn,{append:function(e,t){Nr(arguments.length,2);var i=Ge(this);Yt(i.entries,{key:pe(e),value:pe(t)}),i.updateURL()},delete:function(r){Nr(arguments.length,1);for(var e=Ge(this),t=e.entries,i=pe(r),s=0;s<t.length;)t[s].key===i?Hh(t,s,1):s++;e.updateURL()},get:function(e){Nr(arguments.length,1);for(var t=Ge(this).entries,i=pe(e),s=0;s<t.length;s++)if(t[s].key===i)return t[s].value;return null},getAll:function(e){Nr(arguments.length,1);for(var t=Ge(this).entries,i=pe(e),s=[],o=0;o<t.length;o++)t[o].key===i&&Yt(s,t[o].value);return s},has:function(e){Nr(arguments.length,1);for(var t=Ge(this).entries,i=pe(e),s=0;s<t.length;)if(t[s++].key===i)return!0;return!1},set:function(e,t){Nr(arguments.length,1);for(var i=Ge(this),s=i.entries,o=!1,a=pe(e),c=pe(t),p=0,f;p<s.length;p++)f=s[p],f.key===a&&(o?Hh(s,p--,1):(o=!0,f.value=c));o||Yt(s,{key:a,value:c}),i.updateURL()},sort:function(){var e=Ge(this);Sx(e.entries,function(t,i){return t.key>i.key?1:-1}),e.updateURL()},forEach:function(e){for(var t=Ge(this).entries,i=hx(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 zu(this,"keys")},values:function(){return new zu(this,"values")},entries:function(){return new zu(this,"entries")}},{enumerable:!0});Kh(Hn,Cx,Hn.entries,{name:"entries"});Kh(Hn,"toString",function(){return Ge(this).serialize()},{enumerable:!0});px($a,jn);Ju({global:!0,constructor:!0,forced:!$h},{URLSearchParams:$a});!$h&&Wu(qn)&&(Vh=Ze(Nh.has),Jh=Ze(Nh.set),Vu=function(r){if(Zh(r)){var e=r.body,t;if(vx(e)===jn)return t=r.headers?new qn(r.headers):new qn,Vh(t,"content-type")||Jh(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),bx(r,{body:Dh(0,pe(e)),headers:Dh(0,t)})}return r},Wu(_h)&&Ju({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return _h(e,arguments.length>1?Vu(arguments[1]):{})}}),Wu(Ja)&&(Va=function(e){return Xh(this,Gu),new Ja(e,arguments.length>1?Vu(arguments[1]):{})},Gu.constructor=Va,Va.prototype=Gu,Ju({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:Va})));var Vh,Jh,Vu,Va;rv.exports={URLSearchParams:$a,getState:Ge}});var Pv=h(()=>{"use strict";Og();var _x=Mn(),fc=me(),Nx=xu(),gc=ce(),iv=ja(),Te=$(),Qa=Xt(),we=Ng(),qx=Eu(),cc=Ce(),hc=Gg(),Hr=ch(),ze=Mu(),Hx=Ol().codeAt,jx=Sh(),st=Tn(),Wx=Bn(),Gx=_u(),gv=Yu(),hv=Ur(),zx=hv.set,ed=hv.getterFor("URL"),Vx=gv.URLSearchParams,Jx=gv.getState,Wn=gc.URL,mc=gc.TypeError,td=gc.parseInt,$x=Math.floor,nv=Math.pow,Ee=Te("".charAt),Ve=Te(/./.exec),zn=Te([].join),Kx=Te(1 .toString),Xx=Te([].pop),Wr=Te([].push),sv=Te("".replace),Zx=Te([].shift),Yx=Te("".split),Jn=Te("".slice),rd=Te("".toLowerCase),Qx=Te([].unshift),e0="Invalid authority",Qu="Invalid scheme",Qt="Invalid host",ov="Invalid port",vv=/[a-z]/i,t0=/[\d+-.a-z]/i,pc=/\d/,r0=/^0x/i,i0=/^[0-7]+$/,n0=/^\d+$/,yv=/^[\da-f]+$/i,s0=/[\0\t\n\r #%/:<>?@[\\\]^|]/,o0=/[\0\t\n\r #/:<>?@[\\\]^|]/,a0=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,d0=/[\t\n\r]/g,Ae,l0=function(r){var e=Yx(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&&Ee(o,0)=="0"&&(a=Ve(r0,o)?16:8,o=Jn(o,a==8?1:2)),o==="")c=0;else{if(!Ve(a==10?n0:a==8?i0:yv,o))return r;c=td(o,a)}Wr(i,c)}for(s=0;s<t;s++)if(c=i[s],s==t-1){if(c>=nv(256,5-t))return null}else if(c>255)return null;for(p=Xx(i),s=0;s<i.length;s++)p+=i[s]*nv(256,3-s);return p},u0=function(r){var e=[0,0,0,0,0,0,0,0],t=0,i=null,s=0,o,a,c,p,f,v,m,y=function(){return Ee(r,s)};if(y()==":"){if(Ee(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&&Ve(yv,y());)o=o*16+td(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(!Ve(pc,y()))return;for(;Ve(pc,y());){if(f=td(y(),10),p===null)p=f;else{if(p==0)return;p=p*10+f}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},c0=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},Gn=function(r){var e,t,i,s;if(typeof r=="number"){for(e=[],t=0;t<4;t++)Qx(e,r%256),r=$x(r/256);return zn(e,".")}else if(typeof r=="object"){for(e="",i=c0(r),t=0;t<8;t++)s&&r[t]===0||(s&&(s=!1),i===t?(e+=t?":":"::",s=!0):(e+=Kx(r[t],16),t<7&&(e+=":")));return"["+e+"]"}return r},Ya={},bv=hc({},Ya,{" ":1,'"':1,"<":1,">":1,"`":1}),kv=hc({},bv,{"#":1,"?":1,"{":1,"}":1}),ec=hc({},kv,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),bt=function(r,e){var t=Hx(r,0);return t>32&&t<127&&!cc(e,r)?r:encodeURIComponent(r)},Ka={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Vn=function(r,e){var t;return r.length==2&&Ve(vv,Ee(r,0))&&((t=Ee(r,1))==":"||!e&&t=="|")},av=function(r){var e;return r.length>1&&Vn(Jn(r,0,2))&&(r.length==2||(e=Ee(r,2))==="/"||e==="\\"||e==="?"||e==="#")},m0=function(r){return r==="."||rd(r)==="%2e"},p0=function(r){return r=rd(r),r===".."||r==="%2e."||r===".%2e"||r==="%2e%2e"},tc={},dv={},rc={},lv={},uv={},ic={},cv={},mv={},Xa={},Za={},nc={},sc={},oc={},ac={},pv={},dc={},jr={},Ye={},fv={},er={},nt={},vc=function(r,e,t){var i=st(r),s,o,a;if(e){if(o=this.parse(i),o)throw mc(o);this.searchParams=null}else{if(t!==void 0&&(s=new vc(t,!0)),o=this.parse(i,null,s),o)throw mc(o);a=Jx(new Vx),a.bindURL(this),this.searchParams=a}};vc.prototype={type:"URL",parse:function(r,e,t){var i=this,s=e||tc,o=0,a="",c=!1,p=!1,f=!1,v,m,y,k;for(r=st(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=sv(r,a0,"")),r=sv(r,d0,""),v=Hr(r);o<=v.length;){switch(m=v[o],s){case tc:if(m&&Ve(vv,m))a+=rd(m),s=dv;else{if(e)return Qu;s=rc;continue}break;case dv:if(m&&(Ve(t0,m)||m=="+"||m=="-"||m=="."))a+=rd(m);else if(m==":"){if(e&&(i.isSpecial()!=cc(Ka,a)||a=="file"&&(i.includesCredentials()||i.port!==null)||i.scheme=="file"&&!i.host))return;if(i.scheme=a,e){i.isSpecial()&&Ka[i.scheme]==i.port&&(i.port=null);return}a="",i.scheme=="file"?s=ac:i.isSpecial()&&t&&t.scheme==i.scheme?s=lv:i.isSpecial()?s=mv:v[o+1]=="/"?(s=uv,o++):(i.cannotBeABaseURL=!0,Wr(i.path,""),s=fv)}else{if(e)return Qu;a="",s=rc,o=0;continue}break;case rc:if(!t||t.cannotBeABaseURL&&m!="#")return Qu;if(t.cannotBeABaseURL&&m=="#"){i.scheme=t.scheme,i.path=ze(t.path),i.query=t.query,i.fragment="",i.cannotBeABaseURL=!0,s=nt;break}s=t.scheme=="file"?ac:ic;continue;case lv:if(m=="/"&&v[o+1]=="/")s=Xa,o++;else{s=ic;continue}break;case uv:if(m=="/"){s=Za;break}else{s=Ye;continue}case ic:if(i.scheme=t.scheme,m==Ae)i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=ze(t.path),i.query=t.query;else if(m=="/"||m=="\\"&&i.isSpecial())s=cv;else if(m=="?")i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=ze(t.path),i.query="",s=er;else if(m=="#")i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=ze(t.path),i.query=t.query,i.fragment="",s=nt;else{i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=ze(t.path),i.path.length--,s=Ye;continue}break;case cv:if(i.isSpecial()&&(m=="/"||m=="\\"))s=Xa;else if(m=="/")s=Za;else{i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,s=Ye;continue}break;case mv:if(s=Xa,m!="/"||Ee(a,o+1)!="/")continue;o++;break;case Xa:if(m!="/"&&m!="\\"){s=Za;continue}break;case Za:if(m=="@"){c&&(a="%40"+a),c=!0,y=Hr(a);for(var C=0;C<y.length;C++){var I=y[C];if(I==":"&&!f){f=!0;continue}var A=bt(I,ec);f?i.password+=A:i.username+=A}a=""}else if(m==Ae||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()){if(c&&a=="")return e0;o-=Hr(a).length+1,a="",s=nc}else a+=m;break;case nc:case sc:if(e&&i.scheme=="file"){s=dc;continue}else if(m==":"&&!p){if(a=="")return Qt;if(k=i.parseHost(a),k)return k;if(a="",s=oc,e==sc)return}else if(m==Ae||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()){if(i.isSpecial()&&a=="")return Qt;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 oc:if(Ve(pc,m))a+=m;else if(m==Ae||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()||e){if(a!=""){var U=td(a,10);if(U>65535)return ov;i.port=i.isSpecial()&&U===Ka[i.scheme]?null:U,a=""}if(e)return;s=jr;continue}else return ov;break;case ac:if(i.scheme="file",m=="/"||m=="\\")s=pv;else if(t&&t.scheme=="file")if(m==Ae)i.host=t.host,i.path=ze(t.path),i.query=t.query;else if(m=="?")i.host=t.host,i.path=ze(t.path),i.query="",s=er;else if(m=="#")i.host=t.host,i.path=ze(t.path),i.query=t.query,i.fragment="",s=nt;else{av(zn(ze(v,o),""))||(i.host=t.host,i.path=ze(t.path),i.shortenPath()),s=Ye;continue}else{s=Ye;continue}break;case pv:if(m=="/"||m=="\\"){s=dc;break}t&&t.scheme=="file"&&!av(zn(ze(v,o),""))&&(Vn(t.path[0],!0)?Wr(i.path,t.path[0]):i.host=t.host),s=Ye;continue;case dc:if(m==Ae||m=="/"||m=="\\"||m=="?"||m=="#"){if(!e&&Vn(a))s=Ye;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=Ye,m!="/"&&m!="\\")continue}else if(!e&&m=="?")i.query="",s=er;else if(!e&&m=="#")i.fragment="",s=nt;else if(m!=Ae&&(s=Ye,m!="/"))continue;break;case Ye:if(m==Ae||m=="/"||m=="\\"&&i.isSpecial()||!e&&(m=="?"||m=="#")){if(p0(a)?(i.shortenPath(),m!="/"&&!(m=="\\"&&i.isSpecial())&&Wr(i.path,"")):m0(a)?m!="/"&&!(m=="\\"&&i.isSpecial())&&Wr(i.path,""):(i.scheme=="file"&&!i.path.length&&Vn(a)&&(i.host&&(i.host=""),a=Ee(a,0)+":"),Wr(i.path,a)),a="",i.scheme=="file"&&(m==Ae||m=="?"||m=="#"))for(;i.path.length>1&&i.path[0]==="";)Zx(i.path);m=="?"?(i.query="",s=er):m=="#"&&(i.fragment="",s=nt)}else a+=bt(m,kv);break;case fv:m=="?"?(i.query="",s=er):m=="#"?(i.fragment="",s=nt):m!=Ae&&(i.path[0]+=bt(m,Ya));break;case er:!e&&m=="#"?(i.fragment="",s=nt):m!=Ae&&(m=="'"&&i.isSpecial()?i.query+="%27":m=="#"?i.query+="%23":i.query+=bt(m,Ya));break;case nt:m!=Ae&&(i.fragment+=bt(m,bv));break}o++}},parseHost:function(r){var e,t,i;if(Ee(r,0)=="["){if(Ee(r,r.length-1)!="]"||(e=u0(Jn(r,1,-1)),!e))return Qt;this.host=e}else if(this.isSpecial()){if(r=jx(r),Ve(s0,r)||(e=l0(r),e===null))return Qt;this.host=e}else{if(Ve(o0,r))return Qt;for(e="",t=Hr(r),i=0;i<t.length;i++)e+=bt(t[i],Ya);this.host=e}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||this.scheme=="file"},includesCredentials:function(){return this.username!=""||this.password!=""},isSpecial:function(){return cc(Ka,this.scheme)},shortenPath:function(){var r=this.path,e=r.length;e&&(this.scheme!="file"||e!=1||!Vn(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,f=e+":";return s!==null?(f+="//",r.includesCredentials()&&(f+=t+(i?":"+i:"")+"@"),f+=Gn(s),o!==null&&(f+=":"+o)):e=="file"&&(f+="//"),f+=r.cannotBeABaseURL?a[0]:a.length?"/"+zn(a,"/"):"",c!==null&&(f+="?"+c),p!==null&&(f+="#"+p),f},setHref:function(r){var e=this.parse(r);if(e)throw mc(e);this.searchParams.update()},getOrigin:function(){var r=this.scheme,e=this.port;if(r=="blob")try{return new Gr(r.path[0]).origin}catch{return"null"}return r=="file"||!this.isSpecial()?"null":r+"://"+Gn(this.host)+(e!==null?":"+e:"")},getProtocol:function(){return this.scheme+":"},setProtocol:function(r){this.parse(st(r)+":",tc)},getUsername:function(){return this.username},setUsername:function(r){var e=Hr(st(r));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var t=0;t<e.length;t++)this.username+=bt(e[t],ec)}},getPassword:function(){return this.password},setPassword:function(r){var e=Hr(st(r));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var t=0;t<e.length;t++)this.password+=bt(e[t],ec)}},getHost:function(){var r=this.host,e=this.port;return r===null?"":e===null?Gn(r):Gn(r)+":"+e},setHost:function(r){this.cannotBeABaseURL||this.parse(r,nc)},getHostname:function(){var r=this.host;return r===null?"":Gn(r)},setHostname:function(r){this.cannotBeABaseURL||this.parse(r,sc)},getPort:function(){var r=this.port;return r===null?"":st(r)},setPort:function(r){this.cannotHaveUsernamePasswordPort()||(r=st(r),r==""?this.port=null:this.parse(r,oc))},getPathname:function(){var r=this.path;return this.cannotBeABaseURL?r[0]:r.length?"/"+zn(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=st(r),r==""?this.query=null:(Ee(r,0)=="?"&&(r=Jn(r,1)),this.query="",this.parse(r,er)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var r=this.fragment;return r?"#"+r:""},setHash:function(r){if(r=st(r),r==""){this.fragment=null;return}Ee(r,0)=="#"&&(r=Jn(r,1)),this.fragment="",this.parse(r,nt)},update:function(){this.query=this.searchParams.serialize()||null}};var Gr=function(e){var t=qx(this,ee),i=Gx(arguments.length,1)>1?arguments[1]:void 0,s=zx(t,new vc(e,!1,i));fc||(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())},ee=Gr.prototype,xe=function(r,e){return{get:function(){return ed(this)[r]()},set:e&&function(t){return ed(this)[e](t)},configurable:!0,enumerable:!0}};fc&&(we(ee,"href",xe("serialize","setHref")),we(ee,"origin",xe("getOrigin")),we(ee,"protocol",xe("getProtocol","setProtocol")),we(ee,"username",xe("getUsername","setUsername")),we(ee,"password",xe("getPassword","setPassword")),we(ee,"host",xe("getHost","setHost")),we(ee,"hostname",xe("getHostname","setHostname")),we(ee,"port",xe("getPort","setPort")),we(ee,"pathname",xe("getPathname","setPathname")),we(ee,"search",xe("getSearch","setSearch")),we(ee,"searchParams",xe("getSearchParams")),we(ee,"hash",xe("getHash","setHash")));Qa(ee,"toJSON",function(){return ed(this).serialize()},{enumerable:!0});Qa(ee,"toString",function(){return ed(this).serialize()},{enumerable:!0});Wn&&(lc=Wn.createObjectURL,uc=Wn.revokeObjectURL,lc&&Qa(Gr,"createObjectURL",iv(lc,Wn)),uc&&Qa(Gr,"revokeObjectURL",iv(uc,Wn)));var lc,uc;Wx(Gr,"URL");_x({global:!0,constructor:!0,forced:!Nx,sham:!fc},{URL:Gr})});var Sv=h(()=>{Pv()});var Cv=h(()=>{"use strict";var f0=Mn(),g0=je();f0({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return g0(URL.prototype.toString,this)}})});var Iv=h(()=>{Yu()});var Av=h((TM,wv)=>{var h0=ce();wv.exports=h0});var Ev=h((RM,xv)=>{Sv();Cv();Iv();var v0=Av();xv.exports=v0.URL});var Gc=h((VL,Oy)=>{var xE=Object.prototype.toString;Oy.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 FE(e)?"generatorfunction":"function";if(EE(e))return"array";if(BE(e))return"buffer";if(UE(e))return"arguments";if(RE(e))return"date";if(TE(e))return"error";if(OE(e))return"regexp";switch(Ry(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(ME(e))return"generator";switch(t=xE.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 Ry(r){return typeof r.constructor=="function"?r.constructor.name:null}function EE(r){return Array.isArray?Array.isArray(r):r instanceof Array}function TE(r){return r instanceof Error||typeof r.message=="string"&&r.constructor&&typeof r.constructor.stackTraceLimit=="number"}function RE(r){return r instanceof Date?!0:typeof r.toDateString=="function"&&typeof r.getDate=="function"&&typeof r.setDate=="function"}function OE(r){return r instanceof RegExp?!0:typeof r.flags=="string"&&typeof r.ignoreCase=="boolean"&&typeof r.multiline=="boolean"&&typeof r.global=="boolean"}function FE(r,e){return Ry(r)==="GeneratorFunction"}function ME(r){return typeof r.throw=="function"&&typeof r.return=="function"&&typeof r.next=="function"}function UE(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 BE(r){return r.constructor&&typeof r.constructor.isBuffer=="function"?r.constructor.isBuffer(r):!1}});var Uy=h((JL,My)=>{"use strict";var Fy=Symbol.prototype.valueOf,LE=Gc();function DE(r,e){switch(LE(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 HE(r);case"symbol":return jE(r);case"arraybuffer":return NE(r);case"float32array":case"float64array":case"int16array":case"int32array":case"int8array":case"uint16array":case"uint32array":case"uint8clampedarray":case"uint8array":return qE(r);case"regexp":return _E(r);case"error":return Object.create(r);default:return r}}function _E(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 NE(r){let e=new r.constructor(r.byteLength);return new Uint8Array(e).set(new Uint8Array(r)),e}function qE(r,e){return new r.constructor(r.buffer,r.byteOffset,r.length)}function HE(r){let e=r.length,t=Buffer.allocUnsafe?Buffer.allocUnsafe(e):Buffer.from(e);return r.copy(t),t}function jE(r){return Fy?Object(Fy.call(r)):{}}My.exports=DE});var Ly=h(($L,By)=>{"use strict";By.exports=function(e){return e!=null&&typeof e=="object"&&Array.isArray(e)===!1}});var Ny=h((KL,_y)=>{"use strict";var WE=Ly();function Dy(r){return WE(r)===!0&&Object.prototype.toString.call(r)==="[object Object]"}_y.exports=function(e){var t,i;return!(Dy(e)===!1||(t=e.constructor,typeof t!="function")||(i=t.prototype,Dy(i)===!1)||i.hasOwnProperty("isPrototypeOf")===!1)}});var Hy=h((XL,qy)=>{"use strict";var GE=Uy(),zE=Gc(),VE=Ny();function zc(r,e){switch(zE(r)){case"object":return JE(r,e);case"array":return $E(r,e);default:return GE(r)}}function JE(r,e){if(typeof e=="function")return e(r);if(e||VE(r)){let t=new r.constructor;for(let i in r)t[i]=zc(r[i],e);return t}return r}function $E(r,e){let t=new r.constructor(r.length);for(let i=0;i<r.length;i++)t[i]=zc(r[i],e);return t}qy.exports=zc});var Dd=h((ds,ci)=>{var KE=200,rm="__lodash_hash_undefined__",Md=1,Qy=2,eb=9007199254740991,Ad="[object Arguments]",Kc="[object Array]",XE="[object AsyncFunction]",tb="[object Boolean]",rb="[object Date]",ib="[object Error]",nb="[object Function]",ZE="[object GeneratorFunction]",xd="[object Map]",sb="[object Number]",YE="[object Null]",ui="[object Object]",jy="[object Promise]",QE="[object Proxy]",ob="[object RegExp]",Ed="[object Set]",ab="[object String]",eT="[object Symbol]",tT="[object Undefined]",Xc="[object WeakMap]",db="[object ArrayBuffer]",Td="[object DataView]",rT="[object Float32Array]",iT="[object Float64Array]",nT="[object Int8Array]",sT="[object Int16Array]",oT="[object Int32Array]",aT="[object Uint8Array]",dT="[object Uint8ClampedArray]",lT="[object Uint16Array]",uT="[object Uint32Array]",cT=/[\\^$.*+?()[\]{}|]/g,mT=/^\[object .+?Constructor\]$/,pT=/^(?:0|[1-9]\d*)$/,q={};q[rT]=q[iT]=q[nT]=q[sT]=q[oT]=q[aT]=q[dT]=q[lT]=q[uT]=!0;q[Ad]=q[Kc]=q[db]=q[tb]=q[Td]=q[rb]=q[ib]=q[nb]=q[xd]=q[sb]=q[ui]=q[ob]=q[Ed]=q[ab]=q[Xc]=!1;var lb=typeof global=="object"&&global&&global.Object===Object&&global,fT=typeof self=="object"&&self&&self.Object===Object&&self,lt=lb||fT||Function("return this")(),ub=typeof ds=="object"&&ds&&!ds.nodeType&&ds,Wy=ub&&typeof ci=="object"&&ci&&!ci.nodeType&&ci,cb=Wy&&Wy.exports===ub,Vc=cb&&lb.process,Gy=function(){try{return Vc&&Vc.binding&&Vc.binding("util")}catch{}}(),zy=Gy&&Gy.isTypedArray;function gT(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 hT(r,e){for(var t=-1,i=e.length,s=r.length;++t<i;)r[s+t]=e[t];return r}function vT(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 yT(r,e){for(var t=-1,i=Array(r);++t<r;)i[t]=e(t);return i}function bT(r){return function(e){return r(e)}}function kT(r,e){return r.has(e)}function PT(r,e){return r?.[e]}function ST(r){var e=-1,t=Array(r.size);return r.forEach(function(i,s){t[++e]=[s,i]}),t}function CT(r,e){return function(t){return r(e(t))}}function IT(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}var wT=Array.prototype,AT=Function.prototype,Ud=Object.prototype,Jc=lt["__core-js_shared__"],mb=AT.toString,Qe=Ud.hasOwnProperty,Vy=function(){var r=/[^.]+$/.exec(Jc&&Jc.keys&&Jc.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}(),pb=Ud.toString,xT=RegExp("^"+mb.call(Qe).replace(cT,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Jy=cb?lt.Buffer:void 0,Rd=lt.Symbol,$y=lt.Uint8Array,fb=Ud.propertyIsEnumerable,ET=wT.splice,lr=Rd?Rd.toStringTag:void 0,Ky=Object.getOwnPropertySymbols,TT=Jy?Jy.isBuffer:void 0,RT=CT(Object.keys,Object),Zc=mi(lt,"DataView"),ls=mi(lt,"Map"),Yc=mi(lt,"Promise"),Qc=mi(lt,"Set"),em=mi(lt,"WeakMap"),us=mi(Object,"create"),OT=mr(Zc),FT=mr(ls),MT=mr(Yc),UT=mr(Qc),BT=mr(em),Xy=Rd?Rd.prototype:void 0,$c=Xy?Xy.valueOf:void 0;function ur(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 LT(){this.__data__=us?us(null):{},this.size=0}function DT(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}function _T(r){var e=this.__data__;if(us){var t=e[r];return t===rm?void 0:t}return Qe.call(e,r)?e[r]:void 0}function NT(r){var e=this.__data__;return us?e[r]!==void 0:Qe.call(e,r)}function qT(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=us&&e===void 0?rm:e,this}ur.prototype.clear=LT;ur.prototype.delete=DT;ur.prototype.get=_T;ur.prototype.has=NT;ur.prototype.set=qT;function ut(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 HT(){this.__data__=[],this.size=0}function jT(r){var e=this.__data__,t=Bd(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():ET.call(e,t,1),--this.size,!0}function WT(r){var e=this.__data__,t=Bd(e,r);return t<0?void 0:e[t][1]}function GT(r){return Bd(this.__data__,r)>-1}function zT(r,e){var t=this.__data__,i=Bd(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}ut.prototype.clear=HT;ut.prototype.delete=jT;ut.prototype.get=WT;ut.prototype.has=GT;ut.prototype.set=zT;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 VT(){this.size=0,this.__data__={hash:new ur,map:new(ls||ut),string:new ur}}function JT(r){var e=Ld(this,r).delete(r);return this.size-=e?1:0,e}function $T(r){return Ld(this,r).get(r)}function KT(r){return Ld(this,r).has(r)}function XT(r,e){var t=Ld(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}cr.prototype.clear=VT;cr.prototype.delete=JT;cr.prototype.get=$T;cr.prototype.has=KT;cr.prototype.set=XT;function Od(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new cr;++e<t;)this.add(r[e])}function ZT(r){return this.__data__.set(r,rm),this}function YT(r){return this.__data__.has(r)}Od.prototype.add=Od.prototype.push=ZT;Od.prototype.has=YT;function Rt(r){var e=this.__data__=new ut(r);this.size=e.size}function QT(){this.__data__=new ut,this.size=0}function eR(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}function tR(r){return this.__data__.get(r)}function rR(r){return this.__data__.has(r)}function iR(r,e){var t=this.__data__;if(t instanceof ut){var i=t.__data__;if(!ls||i.length<KE-1)return i.push([r,e]),this.size=++t.size,this;t=this.__data__=new cr(i)}return t.set(r,e),this.size=t.size,this}Rt.prototype.clear=QT;Rt.prototype.delete=eR;Rt.prototype.get=tR;Rt.prototype.has=rR;Rt.prototype.set=iR;function nR(r,e){var t=Fd(r),i=!t&&bR(r),s=!t&&!i&&tm(r),o=!t&&!i&&!s&&Pb(r),a=t||i||s||o,c=a?yT(r.length,String):[],p=c.length;for(var f in r)(e||Qe.call(r,f))&&!(a&&(f=="length"||s&&(f=="offset"||f=="parent")||o&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||fR(f,p)))&&c.push(f);return c}function Bd(r,e){for(var t=r.length;t--;)if(vb(r[t][0],e))return t;return-1}function sR(r,e,t){var i=e(r);return Fd(r)?i:hT(i,t(r))}function ms(r){return r==null?r===void 0?tT:YE:lr&&lr in Object(r)?mR(r):yR(r)}function Zy(r){return cs(r)&&ms(r)==Ad}function gb(r,e,t,i,s){return r===e?!0:r==null||e==null||!cs(r)&&!cs(e)?r!==r&&e!==e:oR(r,e,t,i,gb,s)}function oR(r,e,t,i,s,o){var a=Fd(r),c=Fd(e),p=a?Kc:Tt(r),f=c?Kc:Tt(e);p=p==Ad?ui:p,f=f==Ad?ui:f;var v=p==ui,m=f==ui,y=p==f;if(y&&tm(r)){if(!tm(e))return!1;a=!0,v=!1}if(y&&!v)return o||(o=new Rt),a||Pb(r)?hb(r,e,t,i,s,o):uR(r,e,p,t,i,s,o);if(!(t&Md)){var k=v&&Qe.call(r,"__wrapped__"),C=m&&Qe.call(e,"__wrapped__");if(k||C){var I=k?r.value():r,A=C?e.value():e;return o||(o=new Rt),s(I,A,t,i,o)}}return y?(o||(o=new Rt),cR(r,e,t,i,s,o)):!1}function aR(r){if(!kb(r)||hR(r))return!1;var e=yb(r)?xT:mT;return e.test(mr(r))}function dR(r){return cs(r)&&bb(r.length)&&!!q[ms(r)]}function lR(r){if(!vR(r))return RT(r);var e=[];for(var t in Object(r))Qe.call(r,t)&&t!="constructor"&&e.push(t);return e}function hb(r,e,t,i,s,o){var a=t&Md,c=r.length,p=e.length;if(c!=p&&!(a&&p>c))return!1;var f=o.get(r);if(f&&o.get(e))return f==e;var v=-1,m=!0,y=t&Qy?new Od: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(!vT(e,function(A,U){if(!kT(y,U)&&(k===A||s(k,A,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 uR(r,e,t,i,s,o,a){switch(t){case Td:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case db:return!(r.byteLength!=e.byteLength||!o(new $y(r),new $y(e)));case tb:case rb:case sb:return vb(+r,+e);case ib:return r.name==e.name&&r.message==e.message;case ob:case ab:return r==e+"";case xd:var c=ST;case Ed:var p=i&Md;if(c||(c=IT),r.size!=e.size&&!p)return!1;var f=a.get(r);if(f)return f==e;i|=Qy,a.set(r,e);var v=hb(c(r),c(e),i,s,o,a);return a.delete(r),v;case eT:if($c)return $c.call(r)==$c.call(e)}return!1}function cR(r,e,t,i,s,o){var a=t&Md,c=Yy(r),p=c.length,f=Yy(e),v=f.length;if(p!=v&&!a)return!1;for(var m=p;m--;){var y=c[m];if(!(a?y in e:Qe.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 A=r[y],U=e[y];if(i)var ue=a?i(U,A,y,e,r,o):i(A,U,y,r,e,o);if(!(ue===void 0?A===U||s(A,U,t,i,o):ue)){C=!1;break}I||(I=y=="constructor")}if(C&&!I){var An=r.constructor,pa=e.constructor;An!=pa&&"constructor"in r&&"constructor"in e&&!(typeof An=="function"&&An instanceof An&&typeof pa=="function"&&pa instanceof pa)&&(C=!1)}return o.delete(r),o.delete(e),C}function Yy(r){return sR(r,SR,pR)}function Ld(r,e){var t=r.__data__;return gR(e)?t[typeof e=="string"?"string":"hash"]:t.map}function mi(r,e){var t=PT(r,e);return aR(t)?t:void 0}function mR(r){var e=Qe.call(r,lr),t=r[lr];try{r[lr]=void 0;var i=!0}catch{}var s=pb.call(r);return i&&(e?r[lr]=t:delete r[lr]),s}var pR=Ky?function(r){return r==null?[]:(r=Object(r),gT(Ky(r),function(e){return fb.call(r,e)}))}:CR,Tt=ms;(Zc&&Tt(new Zc(new ArrayBuffer(1)))!=Td||ls&&Tt(new ls)!=xd||Yc&&Tt(Yc.resolve())!=jy||Qc&&Tt(new Qc)!=Ed||em&&Tt(new em)!=Xc)&&(Tt=function(r){var e=ms(r),t=e==ui?r.constructor:void 0,i=t?mr(t):"";if(i)switch(i){case OT:return Td;case FT:return xd;case MT:return jy;case UT:return Ed;case BT:return Xc}return e});function fR(r,e){return e=e??eb,!!e&&(typeof r=="number"||pT.test(r))&&r>-1&&r%1==0&&r<e}function gR(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}function hR(r){return!!Vy&&Vy in r}function vR(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||Ud;return r===t}function yR(r){return pb.call(r)}function mr(r){if(r!=null){try{return mb.call(r)}catch{}try{return r+""}catch{}}return""}function vb(r,e){return r===e||r!==r&&e!==e}var bR=Zy(function(){return arguments}())?Zy:function(r){return cs(r)&&Qe.call(r,"callee")&&!fb.call(r,"callee")},Fd=Array.isArray;function kR(r){return r!=null&&bb(r.length)&&!yb(r)}var tm=TT||IR;function PR(r,e){return gb(r,e)}function yb(r){if(!kb(r))return!1;var e=ms(r);return e==nb||e==ZE||e==XE||e==QE}function bb(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=eb}function kb(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}function cs(r){return r!=null&&typeof r=="object"}var Pb=zy?bT(zy):dR;function SR(r){return kR(r)?nR(r):lR(r)}function CR(){return[]}function IR(){return!1}ci.exports=PR});var jk=h(Qd=>{"use strict";Qd.byteLength=JR;Qd.toByteArray=KR;Qd.fromByteArray=YR;var et=[],_e=[],VR=typeof Uint8Array<"u"?Uint8Array:Array,wm="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Sr=0,qk=wm.length;Sr<qk;++Sr)et[Sr]=wm[Sr],_e[wm.charCodeAt(Sr)]=Sr;var Sr,qk;_e["-".charCodeAt(0)]=62;_e["_".charCodeAt(0)]=63;function Hk(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 JR(r){var e=Hk(r),t=e[0],i=e[1];return(t+i)*3/4-i}function $R(r,e,t){return(e+t)*3/4-t}function KR(r){var e,t=Hk(r),i=t[0],s=t[1],o=new VR($R(r,i,s)),a=0,c=s>0?i-4:i,p;for(p=0;p<c;p+=4)e=_e[r.charCodeAt(p)]<<18|_e[r.charCodeAt(p+1)]<<12|_e[r.charCodeAt(p+2)]<<6|_e[r.charCodeAt(p+3)],o[a++]=e>>16&255,o[a++]=e>>8&255,o[a++]=e&255;return s===2&&(e=_e[r.charCodeAt(p)]<<2|_e[r.charCodeAt(p+1)]>>4,o[a++]=e&255),s===1&&(e=_e[r.charCodeAt(p)]<<10|_e[r.charCodeAt(p+1)]<<4|_e[r.charCodeAt(p+2)]>>2,o[a++]=e>>8&255,o[a++]=e&255),o}function XR(r){return et[r>>18&63]+et[r>>12&63]+et[r>>6&63]+et[r&63]}function ZR(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(XR(i));return s.join("")}function YR(r){for(var e,t=r.length,i=t%3,s=[],o=16383,a=0,c=t-i;a<c;a+=o)s.push(ZR(r,a,a+o>c?c:a+o));return i===1?(e=r[t-1],s.push(et[e>>2]+et[e<<4&63]+"==")):i===2&&(e=(r[t-2]<<8)+r[t-1],s.push(et[e>>10]+et[e>>4&63]+et[e<<2&63]+"=")),s.join("")}});var Qq=Rr(Ev(),1);function g(r,e){if(r==null)throw Error(e??"Expected nonnullish value.")}function tr(r,e){if(!r)throw Error(e)}var te;(function(r){r.COMMENT="t1_",r.ACCOUNT="t2_",r.LINK="t3_",r.MESSAGE="t4_",r.SUBREDDIT="t5_",r.AWARD="t6_"})(te||(te={}));function kt(r){return r.startsWith(te.COMMENT)}function id(r){return r.startsWith(te.ACCOUNT)}function rr(r){return r.startsWith(te.LINK)}function Tv(r){return r.startsWith(te.MESSAGE)}function Rv(r){return r.startsWith(te.SUBREDDIT)}function Ov(r){return r.startsWith(te.AWARD)}function y0(r){tr(kt(r),`Expected comment id to start with ${te.COMMENT}, got ${r}}`)}function b0(r){tr(id(r),`Expected account id to start with ${te.ACCOUNT}, got ${r}}`)}function k0(r){tr(rr(r),`Expected link id to start with ${te.LINK}, got ${r}}`)}function P0(r){tr(Tv(r),`Expected message id to start with ${te.MESSAGE}, got ${r}}`)}function S0(r){tr(Rv(r),`Expected subreddit id to start with ${te.SUBREDDIT}, got ${r}}`)}function C0(r){tr(Ov(r),`Expected award id to start with ${te.AWARD}, got ${r}}`)}function zr(r){return y0(r),r}function re(r){return b0(r),r}function fe(r){return k0(r),r}function I0(r){return P0(r),r}function Re(r){return S0(r),r}function w0(r){return C0(r),r}function ge(r){if(kt(r))return zr(r);if(id(r))return re(r);if(rr(r))return fe(r);if(Tv(r))return I0(r);if(Rv(r))return Re(r);if(Ov(r))return w0(r);throw new Error(`Expected thing id to start with ${Object.values(te).join(", ")} got ${r}}`)}function yc(r){return kt(r)}import*as S from"@devvit/protos";var nd=class{constructor(e){}};var bc=(t=>(t.Installation="installation",t.App="app",t))(bc||{});function ir(r,e=new Set){for(let t of r){if(t.type==="group"){ir(t.fields,e);continue}let i=t.name;if(e.has(i))throw new Error(`Duplicate field name: ${i}`);e.add(i)}A0(r)}function A0(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 Pt=Object.freeze({INTERVAL:0,FORM:1,STATE:2,CHANNEL:3});var qM=["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 H0,GetFieldsResponse as j0}from"@devvit/protos";import{FormField as nr,FormFieldType as Oe}from"@devvit/protos";function ot(r){return r.map(e=>{switch(e.type){case"string":return x0(e);case"image":return E0(e);case"paragraph":return T0(e);case"number":return R0(e);case"select":return O0(e);case"boolean":return F0(e);case"group":return M0(e);default:throw new Error("Unknown field type.")}})}function x0(r){return nr.fromPartial({defaultValue:{fieldType:Oe.STRING,stringValue:r.defaultValue},disabled:r.disabled,fieldConfig:{stringConfig:{placeholder:r.placeholder}},fieldId:r.name,fieldType:Oe.STRING,helpText:r.helpText,label:r.label,required:r.required,isSecret:r.isSecret})}function E0(r){return nr.fromPartial({disabled:r.disabled,fieldId:r.name,fieldType:Oe.IMAGE,helpText:r.helpText,label:r.label,required:r.required})}function T0(r){return nr.fromPartial({defaultValue:{fieldType:Oe.PARAGRAPH,stringValue:r.defaultValue},disabled:r.disabled,fieldConfig:{paragraphConfig:{lineHeight:r.lineHeight,placeholder:r.placeholder}},fieldId:r.name,fieldType:Oe.PARAGRAPH,helpText:r.helpText,label:r.label,required:r.required})}function R0(r){return nr.fromPartial({defaultValue:{fieldType:Oe.NUMBER,numberValue:r.defaultValue},disabled:r.disabled,fieldConfig:{numberConfig:{}},fieldId:r.name,fieldType:Oe.NUMBER,helpText:r.helpText,label:r.label,required:r.required})}function O0(r){return nr.fromPartial({defaultValue:{fieldType:Oe.SELECTION,selectionValue:{values:r.defaultValue}},disabled:r.disabled,fieldConfig:{selectionConfig:{choices:r.options,multiSelect:r.multiSelect}},fieldId:r.name,fieldType:Oe.SELECTION,helpText:r.helpText,label:r.label,required:r.required})}function F0(r){return nr.fromPartial({defaultValue:{fieldType:Oe.BOOLEAN,boolValue:r.defaultValue},disabled:r.disabled,fieldId:r.name,fieldType:Oe.BOOLEAN,helpText:r.helpText,label:r.label})}function M0(r){return nr.fromPartial({fieldType:Oe.GROUP,fieldConfig:{groupConfig:{fields:ot(r.fields)}},label:r.label,helpText:r.helpText})}function M(r,e){u.prototype[r]=e}import{ValidateFormResponse as q0}from"@devvit/protos";import{RealtimeSubscriptionStatus as Mv}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"}),Fv;(function(r){r.Blocks="blocks",r.EmitSnapshots="emitSnapshots",r.EmitState="emitState",r.Runtime="runtime",r.Surface="surface",r.UseAsync="useAsync",r.UseChannel="useChannel"})(Fv||(Fv={}));function Uv(r){function e(t){let i=r.currentHookIndex,s=r.getCurrentComponentState(),o=r.getPreviousComponentState(),a=r.metadata[B.App]?.values[0];g(a,"useChannel - app is missing from Context");let c=r.metadata[B.Installation]?.values[0];g(c,"useChannel - installation is missing from Context");async function p(I){let A=s[i].channel;if(s[i].active)if(s[i].connected)await r.realtime.send(A,I);else throw Error(`Failed to send to channel '${A}'; it is active but not yet connected`);else throw Error(`Cannot send a message over inactive channel: ${A}`)}function f(){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 A;switch(I.status){case Mv.REALTIME_SUBSCRIBED:s[i].connected=!0,A=t.onSubscribed?.();break;case Mv.REALTIME_UNSUBSCRIBED:s[i].connected=!1,A=t.onUnsubscribed?.();break;default:A=t.onMessage(I.event?.data??{});break}await A}}let y={channel:`${a}:${c}:${t.name}`,active:!1,connected:!1,preventCallback:!1,type:Pt.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:f,unsubscribe:v,send:p,status:C}}return e}import{FormFieldType as Vr}from"@devvit/protos";function kc(r){switch(r.fieldType){case Vr.STRING:return r.stringValue;case Vr.IMAGE:return r.stringValue;case Vr.PARAGRAPH:return r.stringValue;case Vr.NUMBER:return r.numberValue;case Vr.BOOLEAN:return r.boolValue;case Vr.SELECTION:return r.selectionValue?.values??[];default:return}}function St(r){return Object.keys(r).reduce((e,t)=>(e[t]=kc(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}`,f={formKey:p,preventSubmit:!1,type:Pt.FORM};s in a?f=a[s]:s in c&&(f=c[s]),a[s]=f,r.forms.set(p,t);let v=r.formSubmittedEvent;return v&&!f.preventSubmit&&v.formId===p&&r.runHook(async()=>{let m=i(St(v.results));m&&m instanceof Promise&&await m,r.rerenderIn(0)}),a[s].preventSubmit=!1,r.currentHookIndex++,p}return e}function Lv(r){function e(t,i){let s=r.currentHookIndex,o=r.getCurrentComponentState(),a=r.getPreviousComponentState(),c=100,p=Math.max(c,i),f={lastRun:void 0,running:!1,preventCallback:!1,type:Pt.INTERVAL};s in o?f=o[s]:s in a&&(f=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===Pt.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:Pt.INTERVAL},r.rerenderIn(p)}function m(){o[s].running=!1,o[s].lastRun=void 0,o[s].preventCallback=!1}return r.isEffectRender&&f.running&&(f.preventCallback||(f.lastRun===void 0||f.lastRun+p<Date.now())&&r.runHook(async()=>{let y=t();y&&y instanceof Promise&&await y,f.lastRun=Date.now()}),r.rerenderIn(p)),f.preventCallback=!1,o[s]=f,r.currentHookIndex++,{start:v,stop:m}}return e}function Dv(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 Ct,sd,_v,od,Nv,Jr=class{constructor(){l(this,sd);l(this,od);l(this,Ct,{});d(this,Ct,u.assets)}getURL(e){return typeof e=="string"?b(this,sd,_v).call(this,e):b(this,od,Nv).call(this,e)}};Ct=new WeakMap,sd=new WeakSet,_v=function(e){let t=n(this,Ct)[e];if(t)return t;try{return new URL(e),e}catch{return""}},od=new WeakSet,Nv=function(e){let t={},i=[];if(n(this,Ct))for(let s of e)n(this,Ct)[s]?t[s]=n(this,Ct)[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 It,$r=class{constructor(e){l(this,It,void 0);d(this,It,e)}async get(e){let{messages:t}=await u.kvStorePlugin.Get({keys:[e]},n(this,It));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,It))}async delete(e){await u.kvStorePlugin.Del({keys:[e]},n(this,It))}async list(){let{keys:e}=await u.kvStorePlugin.List({filter:"*"},n(this,It));return e}};It=new WeakMap;var $n,Kr=class{constructor(e){l(this,$n,void 0);d(this,$n,e)}async upload(e){let t=await u.mediaPlugin.Upload(e,n(this,$n));if(!t.mediaId)throw new Error("unable to get mediaId via uploads");return Promise.resolve({mediaId:t.mediaId,mediaUrl:t.mediaUrl})}};$n=new WeakMap;var Kn,Xr=class{constructor(e){l(this,Kn,void 0);d(this,Kn,e)}async add(e){await u.modLogPlugin.Add(e,n(this,Kn))}};Kn=new WeakMap;var P,Xn,Yr=class{constructor(e){l(this,P,void 0);l(this,Xn,void 0);d(this,P,e),d(this,Xn,new dd(e))}get modMail(){return n(this,Xn)}getSubredditById(e){return he.getById(ge(e),n(this,P))}getSubredditByName(e){return he.getByName(e,n(this,P))}addSubredditRemovalReason(e,t){return he.addRemovalReason(e,t.title,t.message,n(this,P))}getSubredditRemovalReasons(e){return he.getRemovalReasons(e,n(this,P))}getCurrentSubreddit(){return he.getFromMetadata(n(this,P))}getPostById(e){return z.getById(ge(e),n(this,P))}submitPost(e){return z.submit(e,n(this,P))}crosspost(e){return z.crosspost(e,n(this,P))}getUserById(e){return w.getById(ge(e),n(this,P))}getCollectionById(e){return Zr.getCollectionById({collectionId:e},n(this,P))}createCollection(e){return Zr.create(e,n(this,P))}getCollectionsForSubreddit(e){return Zr.getCollectionsForSubreddit({subredditId:e},n(this,P))}getUserByUsername(e){return w.getByUsername(e,n(this,P))}getCurrentUser(){return w.getFromMetadata(B.User,n(this,P))}getAppUser(){return w.getFromMetadata(B.AppUser,n(this,P))}getSnoovatarUrl(e){return w.getSnoovatarUrl(e,n(this,P))}getCommentById(e){return X.getById(ge(e),n(this,P))}getComments(e){return X.getComments(e,n(this,P))}getCommentsByUser(e){return X.getCommentsByUser(e,n(this,P))}submitComment(e){return X.submit({...e,id:ge(e.id)},n(this,P))}getControversialPosts(e){return z.getControversialPosts(e,n(this,P))}getTopPosts(e){return z.getTopPosts(e,n(this,P))}getHotPosts(e){return z.getHotPosts(e,n(this,P))}getNewPosts(e){return z.getNewPosts(e,n(this,P))}getRisingPosts(e){return z.getRisingPosts(e,n(this,P))}getPostsByUser(e){return z.getPostsByUser(e,n(this,P))}getCommentsAndPostsByUser(e){return w.getOverview(e,n(this,P))}getModerationLog(e){return ad(e,n(this,P))}getApprovedUsers(e){return w.getSubredditUsersByType({type:"contributors",...e},n(this,P))}approveUser(e,t){return w.createRelationship({username:e,subredditName:t,type:"contributor"},n(this,P))}removeUser(e,t){return w.removeRelationship({username:e,subredditName:t,type:"contributor"},n(this,P))}getWikiContributors(e){return w.getSubredditUsersByType({type:"wikicontributors",...e},n(this,P))}addWikiContributor(e,t){return w.createRelationship({username:e,subredditName:t,type:"wikicontributor"},n(this,P))}removeWikiContributor(e,t){return w.removeRelationship({username:e,subredditName:t,type:"wikicontributor"},n(this,P))}getBannedUsers(e){return w.getSubredditUsersByType({type:"banned",...e},n(this,P))}banUser(e){return w.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 w.removeRelationship({username:e,subredditName:t,type:"banned"},n(this,P))}getBannedWikiContributors(e){return w.getSubredditUsersByType({type:"wikibanned",...e},n(this,P))}banWikiContributor(e){return w.createRelationship({...e,type:"wikibanned"},n(this,P))}unbanWikiContributor(e,t){return w.removeRelationship({username:e,subredditName:t,type:"wikibanned"},n(this,P))}getModerators(e){return w.getSubredditUsersByType({type:"moderators",...e},n(this,P))}inviteModerator(e){return w.createRelationship({type:"moderator_invite",subredditName:e.subredditName,username:e.subredditName,permissions:e.permissions??[]},n(this,P))}revokeModeratorInvite(e,t){return w.removeRelationship({username:e,subredditName:t,type:"moderator_invite"},n(this,P))}removeModerator(e,t){return w.removeRelationship({type:"moderator",subredditName:t,username:e},n(this,P))}setModeratorPermissions(e,t,i){return w.setModeratorPermissions(e,t,i,n(this,P))}getMutedUsers(e){return w.getSubredditUsersByType({type:"muted",...e},n(this,P))}muteUser(e){return w.createRelationship({...e,type:"muted"},n(this,P))}unmuteUser(e,t){return w.removeRelationship({username:e,subredditName:t,type:"muted"},n(this,P))}getModNotes(e){return Fe.get(e,n(this,P))}deleteModNote(e){return Fe.delete(e,n(this,P))}addModNote(e){let t={...e,redditId:ge(e.redditId)};return Fe.add(t,n(this,P))}addRemovalNote(e){return Fe.addRemovalNote(e,n(this,P))}async sendPrivateMessage(e){return sr.send(e,n(this,P))}async sendPrivateMessageAsSubreddit(e){return sr.sendAsSubreddit(e,n(this,P))}async approve(e){if(kt(e))return X.approve(e,n(this,P));if(rr(e))return z.approve(e,n(this,P));throw new Error("id must start with either t1_ or t3_")}async remove(e,t){if(kt(e))return X.remove(e,t,n(this,P));if(rr(e))return z.remove(e,t,n(this,P));throw new Error("id must start with either t1_ or t3_")}async getPostFlairTemplates(e){return ae.getPostFlairTemplates(e,n(this,P))}async getUserFlairTemplates(e){return ae.getUserFlairTemplates(e,n(this,P))}async createPostFlairTemplate(e){return ae.createPostFlairTemplate(e,n(this,P))}async createUserFlairTemplate(e){return ae.createUserFlairTemplate(e,n(this,P))}async editFlairTemplate(e){return ae.editFlairTemplate(e,n(this,P))}async deleteFlairTemplate(e,t){return ae.deleteFlairTemplate(e,t,n(this,P))}async setUserFlair(e){return Me.setUserFlair(e,n(this,P))}async removeUserFlair(e,t){return Me.removeUserFlair(e,t,n(this,P))}async setPostFlair(e){return Me.setPostFlair(e,n(this,P))}async removePostFlair(e,t){return Me.removePostFlair(e,fe(t),n(this,P))}async getWidgets(e){return ie.getWidgets(e,n(this,P))}async deleteWidget(e,t){return ie.delete(e,t,n(this,P))}async addWidget(e){return ie.add(e,n(this,P))}async reorderWidgets(e,t){return ie.reorder(e,t,n(this,P))}async getWikiPage(e,t){return ve.getPage(e,t,n(this,P))}async getWikiPages(e){return ve.getPages(e,n(this,P))}async createWikiPage(e){return ve.createPage(e,n(this,P))}async updateWikiPage(e){return ve.updatePage(e,n(this,P))}getWikiPageRevisions(e){return ve.getPageRevisions(e,n(this,P))}async revertWikiPage(e,t,i){return ve.revertPage(e,t,i,n(this,P))}async getWikiPageSettings(e,t){return ve.getPageSettings(e,t,n(this,P))}async updateWikiPageSettings(e){return ve.updatePageSettings(e,n(this,P))}async addEditorToWikiPage(e,t,i){return ve.addEditor(e,t,i,n(this,P))}async removeEditorFromWikiPage(e,t,i){return ve.removeEditor(e,t,i,n(this,P))}getMessages(e){return sr.getMessages(e,n(this,P))}markAllMessagesAsRead(){return sr.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 he.aboutLocation({...e,location:"modqueue"},n(this,P))}getReports(e){return he.aboutLocation({...e,location:"reports"},n(this,P))}getSpam(e){return he.aboutLocation({...e,location:"spam"},n(this,P))}getUnmoderated(e){return he.aboutLocation({...e,location:"unmoderated"},n(this,P))}getEdited(e){return he.aboutLocation({...e,location:"edited"},n(this,P))}getVaultByAddress(e){return Hv(e,n(this,P))}getVaultByUserId(e){return jv(ge(e),n(this,P))}};P=new WeakMap,Xn=new WeakMap;import{RedisKeyScope as Pc}from"@devvit/protos";var T,R,O,Sc=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 await n(this,T).Strlen({key:e,transactionId:n(this,R)},n(this,O)),this}async mget(e){return await n(this,T).MGet({keys:e,transactionId:n(this,R)},n(this,O)),this}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 await n(this,T).HGetAll({key:e,transactionId:n(this,R)},n(this,O)),this}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){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 await n(this,T).HIncrBy({key:e,field:t,value:i,transactionId:n(this,R)},n(this,O)),this}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){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 await n(this,T).HKeys({key:e,transactionId:n(this,R)},n(this,O)),this}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,Qr,Cc=class Cc{constructor(e,t=void 0,i=Pc.INSTALLATION){l(this,F,void 0);l(this,Qr,void 0);d(this,F,e),d(this,Qr,t),this.scope=i,this.global=i===Pc.INSTALLATION?new Cc(n(this,F),n(this,Qr),Pc.GLOBAL):this}get storage(){return n(this,Qr)||u.redisPlugin}async watch(...e){let t=await this.storage.Watch({keys:e},n(this,F));return new Sc(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(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){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){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){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){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){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(await this.storage.HDel({key:e,fields:t,scope:this.scope},n(this,F))).value}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){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(await this.storage.HIncrBy({key:e,field:t,value:i,scope:this.scope},n(this,F))).value}async hlen(e){return(await this.storage.HLen({key:e,scope:this.scope})).value}};F=new WeakMap,Qr=new WeakMap;var ei=Cc;var or,ti=class{constructor(e){l(this,or,void 0);d(this,or,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,or))).id}async cancelJob(e){await u.schedulerPlugin.Cancel({id:e},n(this,or))}async listJobs(){return(await u.schedulerPlugin.List({after:new Date(0),before:new Date(Date.now()+31536e7)},n(this,or))).actions.map(t=>(g(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}))}};or=new WeakMap;var Zn,ri=class{constructor(e){l(this,Zn,void 0);d(this,Zn,e)}async get(e){return(await this.getAll())[e]}async getAll(){let t=await u.settingsPlugin.GetSettings({},n(this,Zn));if(!t.installationSettings)throw new Error("Could not get installation settings");if(!t.appSettings)throw new Error("Could not get app settings");return{...Wv(t.installationSettings.settings,u.installationSettings),...Wv(t.appSettings.settings,u.appSettings)}}};Zn=new WeakMap;function Wv(r,e){let t=Object.keys(r).reduce((i,s)=>(i[s]=kc(r[s]),i),{});return e&&Gv(t,e),t}function Gv(r,e){for(let t of e)t.type==="group"?Gv(r,t.fields):!(t.name in r)&&"defaultValue"in t&&(r[t.name]=t.defaultValue)}import{EffectType as Ic,Form as B0,ToastAppearance as zv}from"@devvit/protos";var ar,ii,ld=class{constructor(e){l(this,ar,[]);l(this,ii,void 0);d(this,ii,e)}showForm(e,t){let i=u.formDefinitions.get(e);if(!i&&n(this,ii)){let a=n(this,ii).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=B0.fromPartial({id:e,title:s.title,acceptLabel:s.acceptLabel,cancelLabel:s.cancelLabel,shortDescription:s.description});ir(s.fields),o.fields=ot(s.fields),n(this,ar).push({type:Ic.EFFECT_SHOW_FORM,showForm:{form:o}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?zv.SUCCESS:zv.NEUTRAL}:t={text:e},n(this,ar).push({type:Ic.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,ar).push({type:Ic.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}get __effects(){return n(this,ar)}};ar=new WeakMap,ii=new WeakMap;var Ec={now(){return new Date}};function Vv(r){return`__autocache__${r}`}function Jv(r){return`__lock__${r}`}var L0=300,D0=1e3,ud=5e3,wc=3,$v=.1,Kv=1e3,_0=3e4;function Xv(r){if(r.error)throw new Error(r.error);return r.value}var wt,At,Ue,ni,md,Zv,pd,Yv,fd,Qv,Yn,Ac,gd,ey,hd,ty,Qn,xc,vd,ry,cd=class{constructor(e,t,i=Ec){l(this,md);l(this,pd);l(this,fd);l(this,Yn);l(this,gd);l(this,hd);l(this,Qn);l(this,vd);l(this,wt,void 0);l(this,At,{});l(this,Ue,void 0);l(this,ni,void 0);d(this,wt,e),d(this,ni,t),d(this,Ue,i)}async cache(e,t){d(this,At,n(this,ni).__cache=n(this,ni).__cache??{}),b(this,vd,ry).call(this,t);let i=b(this,md,Zv).call(this,t.key);if(i!==void 0)return i;let s=await b(this,Qn,xc).call(this,t.key),o=await b(this,pd,Yv).call(this,t,s,e);return Xv(o)}};wt=new WeakMap,At=new WeakMap,Ue=new WeakMap,ni=new WeakMap,md=new WeakSet,Zv=function(e){let t=n(this,At)[e];if(t){let i=n(this,Ue).now().getTime(),s=t?.error&&t?.errorTime&&t.errorCount<wc&&Math.random()<$v&&t.errorTime+Kv<i;if(t?.expires&&t.expires<i&&t.checkedAt+Kv<i||s){delete n(this,At)[e];return}else return Xv(t)}},pd=new WeakSet,Yv=async function(e,t,i){let s=t?.expires,o=s?b(this,hd,ty).call(this,s):1;return!t||t?.error&&t.errorCount<wc&&$v>Math.random()||o>Math.random()?b(this,fd,Qv).call(this,e,t,i):t},fd=new WeakSet,Qv=async function(e,t,i){let s=Jv(e.key),o=n(this,Ue).now().getTime(),a=new Date(o+e.ttl/2);if(await n(this,wt).set(s,"1",{expiration:a,nx:!0}))return b(this,gd,ey).call(this,e.key,t,i,e.ttl);if(t)return t;{let p=n(this,Ue).now();return b(this,Yn,Ac).call(this,p,e.key,e.ttl)}},Yn=new WeakSet,Ac=async function(e,t,i){let s=Math.min(i,D0),o=await b(this,Qn,xc).call(this,t);if(o)return o;if(n(this,Ue).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,L0)),b(this,Yn,Ac).call(this,e,t,i)},gd=new WeakSet,ey=async function(e,t,i,s){let o=n(this,Ue).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,Ue).now().getTime(),t.errorCount++}return n(this,At)[e]=t,await n(this,wt).set(Vv(e),JSON.stringify(t),{expiration:new Date(o+_0)}),t.error&&t.errorCount<wc&&await n(this,wt).del(Jv(e)),t},hd=new WeakSet,ty=function(e){let t=n(this,Ue).now().getTime(),i=e-t;return i<0?1:i<1e3?.1:i<2e3?.01:i<3e3?.001:0},Qn=new WeakSet,xc=async function(e){let t=await n(this,wt).get(Vv(e));if(t){let i=JSON.parse(t);return i.checkedAt=n(this,Ue).now().getTime(),n(this,At)[e]=i,i}},vd=new WeakSet,ry=function(e){e.ttl<ud&&(console.warn(`Cache TTL cannot be less than ${ud} milliseconds! Updating ttl value of ${e.ttl} to ${ud}.`),e.ttl=ud)};function iy(r,e,t=Ec){let i=new cd(r,e,t);return i.cache.bind(i)}var es,si=class{constructor(e){l(this,es,void 0);d(this,es,e)}async send(e,t){await u.realtimePlugin.Send({channel:e,data:t},n(this,es))}};es=new WeakMap;function Be({metadata:r,ui:e,hooks:t,reconciler:i}){let s=new Xr(r),o=new $r(r),a=new ei(r),c=iy(a,i?i.state:{}),p=new Yr(r),f=new ti(r),v=new ri(r),m=e?new ld(i):void 0,y=new Kr(r),k=new Jr,C=new si(r),I=t&&i?Dv(i):void 0,A=t&&i?Lv(i):void 0,U=t&&i?Bv(i):void 0,ue=t&&i?Uv(i):void 0;return{modLog:s,kvStore:o,redis:a,reddit:p,scheduler:f,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 A??(()=>{throw new Error("useInterval() is unavailable")})},get useChannel(){return ue??(()=>{throw new Error("useChannel() is unavailable")})},get ui(){if(!m)throw new Error("ui client is not available");return m}}}function de(r,e,t){let i=r[B.Subreddit]?.values[0];g(i,"subreddit is missing from Context");let s=r[B.AppUser]?.values[0];g(s,"appAccountId is missing from Context");let o=r[B.User]?.values[0],a=N0(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 N0(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}async function yd(r,e,t){if(!e)throw new Error("Settings were not defined.");let i=q0.fromPartial({success:!0,errors:{}}),s=St(r.fieldValues),o=e.flatMap(a=>a.type==="group"?a.fields:a);return await Promise.all(o.map(async a=>{let c=a.name;if(c&&a.type!=="group"&&a.onValidate){let p=s[c],f=a.onValidate,v=Object.assign(Be({metadata:t}),de(t)),m=await f({value:p,isEditing:r.editing},v);m&&(i.success=!1,i.errors[c]=m)}})),i}async function W0(){if(!u.appSettings)throw new Error("App settings were not defined.");return j0.fromPartial({fields:{fields:ot(u.appSettings)}})}async function G0(r,e){return yd(r,u.appSettings,e)}function ny(r){r.provides(H0),M("GetAppSettingsFields",W0),M("ValidateAppForm",G0)}import{CustomPostDefinition as K0}from"@devvit/protos";import{BlockRenderEventType as Hc,EffectType as ky}from"@devvit/protos";function oi(r){return r.__effects}function sy(){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 qc,BlockAnimationDirection as py,BlockAnimationLoopMode as fy,BlockAnimationType as gy,BlockAvatarBackground as hy,BlockAvatarFacing as vy,BlockAvatarSize as xt,BlockBorderWidth as kd,BlockButtonAppearance as Et,BlockButtonSize as Oc,BlockFullSnooSize as ai,BlockGap as Pd,BlockHorizontalAlignment as Fc,BlockIconSize as Sd,BlockImageResizeMode as ts,BlockPadding as rs,BlockRadius as is,BlockSizeUnit as Mc,BlockSpacerShape as Uc,BlockSpacerSize as Cd,BlockStackDirection as Bc,BlockTextOutline as Lc,BlockTextOverflow as Dc,BlockTextSize as di,BlockTextStyle as _c,BlockTextWeight as yy,BlockType as Le,BlockVerticalAlignment as Nc}from"@devvit/protos";var Tc={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 oy={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"},ay=r=>!!r.match(/^(#[0-9a-fA-F]{3,8}).*/),dy=r=>r in Tc,Rc=r=>r in oy,ly=r=>!!r.match(/^rgba?\(.*/),uy=r=>!!r.match(/^hsla?\(.*/),cy=(r,e="light")=>{if(Rc(r))return bd(r);let i=Tc[r];return typeof i=="string"?i:i[e]},bd=r=>oy[r]??r,my=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),f=Math.round(p*255);a.push(f)}return`#${a.map(p=>p.toString(16).padStart(2,"0")).join("")}`};var by="data-",z0=new Set(["onPress","onMessage"]),V0=new Map([["onPress",qc.ACTION_CLICK],["onMessage",qc.ACTION_WEBVIEW]]),ns,li=class{constructor(e=()=>{}){l(this,ns,void 0);d(this,ns,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 rs.PADDING_NONE;case"xsmall":return rs.PADDING_XSMALL;case"small":return rs.PADDING_SMALL;case"medium":return rs.PADDING_MEDIUM;case"large":return rs.PADDING_LARGE}}makeBlockRadius(e){switch(e){case"none":return is.RADIUS_NONE;case"small":return is.RADIUS_SMALL;case"medium":return is.RADIUS_MEDIUM;case"large":return is.RADIUS_LARGE;case"full":return is.RADIUS_FULL}}makeBlockGap(e){switch(e){case"none":return Pd.GAP_NONE;case"small":return Pd.GAP_SMALL;case"medium":return Pd.GAP_MEDIUM;case"large":return Pd.GAP_LARGE}}makeBlockAlignment(e){if(e===void 0)return;let t,i;if(e.includes("top")?t=Nc.ALIGN_TOP:e.includes("middle")?t=Nc.ALIGN_MIDDLE:e.includes("bottom")&&(t=Nc.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=kd.BORDER_WIDTH_NONE;break;case"thin":o=kd.BORDER_WIDTH_THIN;break;case"thick":o=kd.BORDER_WIDTH_THICK;break;default:o=kd.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 di.TEXT_SIZE_XSMALL;case"small":return di.TEXT_SIZE_SMALL;case"medium":return di.TEXT_SIZE_MEDIUM;case"large":return di.TEXT_SIZE_LARGE;case"xlarge":return di.TEXT_SIZE_XLARGE;case"xxlarge":return di.TEXT_SIZE_XXLARGE}}makeBlockTextStyle(e){switch(e){case"body":return _c.TEXT_STYLE_BODY;case"metadata":return _c.TEXT_STYLE_METADATA;case"heading":return _c.TEXT_STYLE_HEADING}}makeBlockTextOutline(e){switch(e){case"none":return Lc.TEXT_OUTLINE_NONE;case"thin":return Lc.TEXT_OUTLINE_THIN;case"thick":return Lc.TEXT_OUTLINE_THICK}}makeBlockTextWeight(e){switch(e){case"regular":return yy.TEXT_WEIGHT_REGULAR;case"bold":return yy.TEXT_WEIGHT_BOLD}}makeBlockTextOverflow(e){switch(e){case"clip":return Dc.TEXT_OVERFLOW_CLIP;case"ellipsis":return Dc.TEXT_OVERFLOW_ELLIPSE}return Dc.TEXT_OVERFLOW_ELLIPSE}makeBlockButtonAppearance(e){switch(e){case"secondary":return Et.BUTTON_APPEARANCE_SECONDARY;case"primary":return Et.BUTTON_APPEARANCE_PRIMARY;case"plain":return Et.BUTTON_APPEARANCE_PLAIN;case"bordered":return Et.BUTTON_APPEARANCE_BORDERED;case"media":return Et.BUTTON_APPEARANCE_MEDIA;case"destructive":return Et.BUTTON_APPEARANCE_DESTRUCTIVE;case"caution":return Et.BUTTON_APPEARANCE_CAUTION;case"success":return Et.BUTTON_APPEARANCE_SUCCESS}}makeBlockButtonSize(e){switch(e){case"small":return Oc.BUTTON_SIZE_SMALL;case"medium":return Oc.BUTTON_SIZE_MEDIUM;case"large":return Oc.BUTTON_SIZE_LARGE}}makeBlockImageResizeMode(e){switch(e){case"none":return ts.IMAGE_RESIZE_NONE;case"fit":return ts.IMAGE_RESIZE_FIT;case"fill":return ts.IMAGE_RESIZE_FILL;case"cover":return ts.IMAGE_RESIZE_COVER;case"scale-down":return ts.IMAGE_RESIZE_SCALE_DOWN}}makeBlockSpacerSize(e){switch(e){case"xsmall":return Cd.SPACER_XSMALL;case"small":return Cd.SPACER_SMALL;case"medium":return Cd.SPACER_MEDIUM;case"large":return Cd.SPACER_LARGE}}makeBlockSpacerShape(e){switch(e){case"invisible":return Uc.SPACER_INVISIBLE;case"thin":return Uc.SPACER_THIN;case"square":return Uc.SPACER_SQUARE}}makeBlockIconSize(e){switch(e){case"xsmall":return Sd.ICON_SIZE_XSMALL;case"small":return Sd.ICON_SIZE_SMALL;case"medium":return Sd.ICON_SIZE_MEDIUM;case"large":return Sd.ICON_SIZE_LARGE}}makeBlockAvatarSize(e){switch(e){case"xxsmall":return xt.AVATAR_SIZE_XXSMALL;case"xsmall":return xt.AVATAR_SIZE_XSMALL;case"small":return xt.AVATAR_SIZE_SMALL;case"medium":return xt.AVATAR_SIZE_MEDIUM;case"large":return xt.AVATAR_SIZE_LARGE;case"xlarge":return xt.AVATAR_SIZE_XXLARGE;case"xxlarge":return xt.AVATAR_SIZE_XXLARGE;case"xxxlarge":return xt.AVATAR_SIZE_XXXLARGE}}makeBlockAvatarFacing(e){switch(e){case"left":return vy.AVATAR_FACING_LEFT;case"right":return vy.AVATAR_FACING_RIGHT}}makeBlockFullSnooSize(e){switch(e){case"xsmall":return ai.FULLSNOO_XSMALL;case"small":return ai.FULLSNOO_SMALL;case"medium":return ai.FULLSNOO_MEDIUM;case"large":return ai.FULLSNOO_LARGE;case"xlarge":return ai.FULLSNOO_XLARGE;case"xxlarge":return ai.FULLSNOO_XXLARGE}}makeBlockAvatarBackground(e){switch(e){case"dark":return hy.AVATAR_BG_DARK;case"light":return hy.AVATAR_BG_LIGHT}}makeBlockAnimationType(e){return e==="lottie"||e===void 0?gy.ANIM_LOTTIE:gy.UNRECOGNIZED}makeBlockAnimationDirection(e){switch(e){case"backward":return py.ANIM_DIR_BACKWARD;case"forward":return py.ANIM_DIR_FORWARD}}makeBlockLoopMode(e){switch(e){case"repeat":return fy.ANIM_LOOP_REPEAT;case"bounce":return fy.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:Mc.SIZE_UNIT_PERCENT};let t=e.match(/^(\d+(?:\.\d+)?)(px|%)?$/);if(t==null)return;let i=Mc.SIZE_UNIT_PERCENT;return t?.at(2)==="px"&&(i=Mc.SIZE_UNIT_PIXELS),{value:Number.parseFloat(t[1]),unit:i}}getDataSet(e){return Object.keys(e).filter(t=>t.startsWith(by)).reduce((t,i)=>(t[i.substring(by.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:V0.get(o)??qc.UNRECOGNIZED,id:a.toString(),data:s})}}),i}blockColorToHex(e,t="light"){if(e)return e=e.toLowerCase(),ay(e)?e:dy(e)?cy(e,t):Rc(e)?bd(e):ly(e)?my(e):uy(e)?e:(console.warn(`Could not parse color: ${e}.`),bd("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,ns).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(Le.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(Le.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(Bc.STACK_HORIZONTAL,e,t)}makeVStack(e,...t){return this.makeStackBlock(Bc.STACK_VERTICAL,e,t)}makeZStack(e,...t){return this.makeStackBlock(Bc.STACK_DEPTH,e,t)}makeText(e,...t){let i=this.getThemedColors(e?.color,e?.lightColor,e?.darkColor);return this.makeBlock(Le.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(Le.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(Le.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(Le.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(Le.BLOCK_ICON,e,{iconConfig:{icon:e.name,color:t?.light,colors:t,size:this.makeBlockIconSize(e.size)}})}makeAvatar(e){return e&&this.makeBlock(Le.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(Le.BLOCK_FULLSNOO,e,{fullsnooConfig:{userId:e.userId,facing:this.makeBlockAvatarFacing(e.facing),size:this.makeBlockFullSnooSize(e.size)}})}makeAnimation(e){return e&&this.makeBlock(Le.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(Le.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===Le.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}};ns=new WeakMap;function Py(r){if(typeof r=="string")throw new Error("Root element cannot be a string")}var Sy=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+=Sy(i);return e+=`</${r.type}>`,e};function J0(r){return" ".repeat(r)}function $0(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+=J0(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 Id,Cy,dr,ss,os,jc,as,at=class{constructor(e,t,i,s,o){l(this,Id);l(this,dr);l(this,os);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 li(()=>this.assets);this.effects=[];l(this,as,!1);this.component=e,this.event=t,this.state={__renderState:{},...i},this.metadata=s,this.state.__realtimeChannels&&(this.realtimeChannels=this.state.__realtimeChannels);let a=Be({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,dr,ss).call(this),t={type:this.component,props:e,children:[]},i=await this.processBlock(t);if(Py(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,Id,Cy).call(this)}async buildBlocksUI(){let e=b(this,dr,ss).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 Py(i),(u.debug.emitSnapshots||e.debug.emitSnapshots)&&console.debug($0(Sy(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=sy(),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(),f=b(this,os,jc).call(this,p);return await this.processProps(s),{type:s.type,props:s.props,children:f}}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),f={...b(this,dr,ss).call(this),...s.props,children:p},v;for(;v===void 0;)try{v=await s.type(f,b(this,dr,ss).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===Hc.RENDER_INITIAL:!1}get isUserActionRender(){return this.event?this.event.type===Hc.RENDER_USER_ACTION:!1}get isEffectRender(){return this.event?this.event.type===Hc.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,as)||(d(this,as,!0),this.effects.push({type:ky.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:ky.EFFECT_REALTIME_SUB,realtimeSubscriptions:{subscriptionIds:this.realtimeChannels}}]:[]}getEffects(){return[...oi(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}:{}}}};Id=new WeakSet,Cy=function(){this.actions.clear(),this.currentComponentKey=[],this.currentHookIndex=0,this.pendingHooks=[],this.realtimeChannels=[],this.realtimeUpdated=!1},dr=new WeakSet,ss=function(){let e={...de(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},os=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,os,jc).call(this,i.children)):t.push(i);return t},as=new WeakMap;async function X0(r,e){let t=u.customPostType;if(!t)throw new Error("Custom post type not registered");let i=new at((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 Iy(r){r.provides(K0),M("RenderPost",X0)}import{GetFieldsResponse as Z0,InstallationSettingsDefinition as Y0}from"@devvit/protos";async function Q0(){if(!u.installationSettings)throw new Error("Installation settings were not defined.");return Z0.fromPartial({fields:{fields:ot(u.installationSettings)}})}async function eE(r,e){return yd(r,u.installationSettings,e)}function wy(r){r.provides(Y0),M("GetSettingsFields",Q0),M("ValidateForm",eE)}import{ContextActionDefinition as tE,ContextActionDescription as rE,ContextActionResponse as iE}from"@devvit/protos";var Ay=r=>`menuItem.${r}`;function Wc(r){return u.menuItems.find((e,t)=>Ay(t)===r)}async function nE(r,e){let t=u.menuItems;if(!t.length)throw new Error("No menu items registered.");return{actions:t.map((s,o)=>rE.fromPartial({actionId:Ay(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 sE(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;g(a,"targetId is missing from ContextActionRequest");let c={targetId:a,location:r.comment?"comment":r.post?"post":"subreddit"},p=Object.assign(Be({ui:!0,metadata:e}),de(e,s,i),{uiEnvironment:{timezone:e[B.Timezone]?.values[0],locale:e[B.Language]?.values[0]}});return await t.onPress(c,p),iE.fromPartial({effects:oi(p.ui)})}function xy(r){r.provides(tE),M("GetActions",nE),M("OnAction",sE)}function dt(r){return r?r===!0?!0:r.enabled:!1}import{SchedulerHandlerDefinition as oE}from"@devvit/protos";async function aE(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(Be({metadata:e}),de(e));await i(s,o)}function Ey(r){r.provides(oE),M("HandleScheduledAction",aE)}import{HandlerResult as dE,OnAppInstallDefinition as lE,OnAppUpgradeDefinition as uE,OnCommentCreateDefinition as cE,OnCommentDeleteDefinition as mE,OnCommentReportDefinition as pE,OnCommentSubmitDefinition as fE,OnCommentUpdateDefinition as gE,OnModActionDefinition as hE,OnModMailDefinition as vE,OnPostCreateDefinition as yE,OnPostDeleteDefinition as bE,OnPostFlairUpdateDefinition as kE,OnPostReportDefinition as PE,OnPostSubmitDefinition as SE,OnPostUpdateDefinition as CE,OnPostNsfwUpdateDefinition as IE,OnPostSpoilerUpdateDefinition as wE}from"@devvit/protos";var wd;(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})(wd||(wd={}));function Z(r,e){return g(e),async(t,i)=>{let s={...t,type:r},o=Object.assign(Be({metadata:i}),de(i)),a=await Promise.allSettled(e.map(p=>p(s,o))),c=AE(a);if(c)throw c.err;return dE.fromPartial({})}}function Ty(r){for(let e of u.triggerOnEventHandlers.keys())switch(e){case"PostSubmit":r.provides(SE),M("OnPostSubmit",Z("PostSubmit",u.triggerOnEventHandlers.get(e)));break;case"PostCreate":r.provides(yE),M("OnPostCreate",Z("PostCreate",u.triggerOnEventHandlers.get(e)));break;case"PostUpdate":r.provides(CE),M("OnPostUpdate",Z("PostUpdate",u.triggerOnEventHandlers.get(e)));break;case"PostReport":r.provides(PE),M("OnPostReport",Z("PostReport",u.triggerOnEventHandlers.get(e)));break;case"PostDelete":r.provides(bE),M("OnPostDelete",Z("PostDelete",u.triggerOnEventHandlers.get(e)));break;case"PostFlairUpdate":r.provides(kE),M("OnPostFlairUpdate",Z("PostFlairUpdate",u.triggerOnEventHandlers.get(e)));break;case"CommentSubmit":r.provides(fE),M("OnCommentSubmit",Z("CommentSubmit",u.triggerOnEventHandlers.get(e)));break;case"CommentCreate":r.provides(cE),M("OnCommentCreate",Z("CommentCreate",u.triggerOnEventHandlers.get(e)));break;case"CommentUpdate":r.provides(gE),M("OnCommentUpdate",Z("CommentUpdate",u.triggerOnEventHandlers.get(e)));break;case"CommentReport":r.provides(pE),M("OnCommentReport",Z("CommentReport",u.triggerOnEventHandlers.get(e)));break;case"CommentDelete":r.provides(mE),M("OnCommentDelete",Z("CommentDelete",u.triggerOnEventHandlers.get(e)));break;case"AppInstall":r.provides(lE),M("OnAppInstall",Z("AppInstall",u.triggerOnEventHandlers.get(e)));break;case"AppUpgrade":r.provides(uE),M("OnAppUpgrade",Z("AppUpgrade",u.triggerOnEventHandlers.get(e)));break;case"ModAction":r.provides(hE),M("OnModAction",Z("ModAction",u.triggerOnEventHandlers.get(e)));break;case"ModMail":r.provides(vE),M("OnModMail",Z("ModMail",u.triggerOnEventHandlers.get(e)));break;case"PostNsfwUpdate":r.provides(IE),M("OnPostNsfwUpdate",Z("PostNsfwUpdate",u.triggerOnEventHandlers.get(e)));break;case"PostSpoilerUpdate":r.provides(wE),M("OnPostSpoilerUpdate",Z("PostSpoilerUpdate",u.triggerOnEventHandlers.get(e)));break;default:throw new Error(`Unknown trigger event: ${e}`)}}function AE(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=>wd.caughtToString(t)).join(`
3
- `))}}var Sb=Rr(Hy(),1),Cb=Rr(Dd(),1);import{EffectType as wR,UIEventHandlerDefinition as AR}from"@devvit/protos";async function xR(r,e){let t=r.state??{},i=(0,Sb.default)(t),s=Be({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 at((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 f=u.formDefinitions.get(p);if(!f)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,de(e,v,m),{uiEnvironment:{timezone:e[B.Timezone]?.values[0],locale:e[B.Language]?.values[0]}});await f.onSubmit({values:St(r.event.formSubmitted.results)},y)}else if(r.event?.realtimeEvent){if(u.customPostType){let p=new at((f,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,Cb.default)(t,i),a=oi(s.ui),c=o?[...a,{type:wR.EFFECT_RERENDER_UI,rerenderUi:{delaySeconds:0}}]:a;return{state:i,effects:c}}function Ib(r){r.provides(AR),M("HandleUIEvent",xR)}import{CustomPostDefinition as Fb}from"@devvit/protos";var qd=Rr(Dd(),1);import{EffectType as sm,Form as RR,ToastAppearance as Ab}from"@devvit/protos";var im=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(St(s.formSubmitted.results))}}};function nm(r,e){let t=De({namespace:"useForm"},i=>new im(i,r,e));return ER({id:t.hookId})}function ER(r){return`form.hook.${r.id}.0`}function TR(r){return{id:r.match(/form\.hook\.(.+)\.0/)[1]}}function wb(r,e){let t=TR(e);return r.getHook(t)}var Ot,_d=class{constructor(e){l(this,Ot,void 0);d(this,Ot,e)}showForm(e,t){let i=wb(n(this,Ot),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=RR.fromPartial({id:e,title:s.title,acceptLabel:s.acceptLabel,cancelLabel:s.cancelLabel,shortDescription:s.description});ir(s.fields),o.fields=ot(s.fields),n(this,Ot).emitEffect(e,{type:sm.EFFECT_SHOW_FORM,showForm:{form:o}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?Ab.SUCCESS:Ab.NEUTRAL}:t={text:e},n(this,Ot).emitEffect(e.toString(),{type:sm.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,Ot).emitEffect(t,{type:sm.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}};Ot=new WeakMap;import{RealtimeSubscriptionStatus as xb}from"@devvit/protos";var ps,Ft,pr,om=class{constructor(e,t){l(this,ps,void 0);l(this,Ft,void 0);l(this,pr,void 0);d(this,ps,t.context),d(this,pr,e),d(this,Ft,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 xb.REALTIME_SUBSCRIBED:this.state.connected=!0,n(this,Ft).call(this),await n(this,pr).onSubscribed?.();break;case xb.REALTIME_UNSUBSCRIBED:this.state.connected=!1,n(this,Ft).call(this),await n(this,pr).onUnsubscribed?.();break;default:n(this,pr).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,ps).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,Ft).call(this))}unsubscribe(){this.state.subscribed&&(this.state.subscribed=!1,n(this,Ft).call(this))}};ps=new WeakMap,Ft=new WeakMap,pr=new WeakMap;function Eb(r){return De({namespace:"useChannel"},e=>new om(r,e))}import{EffectType as am}from"@devvit/protos";var fi,pi=class pi{constructor(e,t){l(this,fi,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,fi,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,fi)}set _state(e){this._changed={},d(this,fi,e)}push(e){this._segments.push({...e,next:0})}pop(){this._segments.pop()}addUndeliveredEventHandler(e,t){this._undeliveredHandlers[e]=t}addGlobalUndeliveredEventHandler(e,t){pi.addGlobalUndeliveredEventHandler(e,t)}getHook(e){return this._hooks[e.id]}static addGlobalUndeliveredEventHandler(e,t){pi._staticUndeliveredHandlers[e]=t}async handleUndeliveredEvent(e){let t={...pi._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()}}};fi=new WeakMap,pi._staticUndeliveredHandlers={};var gi=pi;var Mt={};gi.addGlobalUndeliveredEventHandler("intervals",async(r,e)=>{r.timer&&r.hook&&(delete Mt[r.hook],e.emitEffect("timers",{type:am.EFFECT_SET_INTERVALS,interval:{intervals:Mt}}))});var Ut,hi,fs,vi,dm=class{constructor(e,t,i){l(this,Ut,void 0);l(this,hi,void 0);l(this,fs,void 0);l(this,vi,void 0);this.state={duration:{seconds:0,nanos:0},running:!1};d(this,hi,i.invalidate),d(this,Ut,i.hookId),d(this,fs,e),d(this,vi,i.context);let s=Math.floor(t/1e3),o=t%1e3*1e6;this.state.duration={seconds:s,nanos:o}}onStateLoaded(){this.state.running?Mt[n(this,Ut)]={duration:this.state.duration}:delete Mt[n(this,Ut)]}async onUIEvent(e){await n(this,fs).call(this)}start(){Mt[n(this,Ut)]={duration:this.state.duration},this.state.running=!0,n(this,hi).call(this),n(this,vi).emitEffect("timers",{type:am.EFFECT_SET_INTERVALS,interval:{intervals:Mt}})}stop(){delete Mt[n(this,Ut)],this.state.running=!1,n(this,hi).call(this),n(this,vi).emitEffect("timers",{type:am.EFFECT_SET_INTERVALS,interval:{intervals:Mt}})}};Ut=new WeakMap,hi=new WeakMap,fs=new WeakMap,vi=new WeakMap;function lm(r,e){return De({namespace:"useInterval"},t=>new dm(r,e,t))}var yi=class extends Error{};function cm(r){let e=De({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,gs,hs,bi,um=class{constructor(e,t){this.state={value:null,loading:!1};l(this,fr,void 0);l(this,gs,void 0);l(this,hs,void 0);l(this,bi,void 0);d(this,hs,e),d(this,bi,t.hookId),d(this,fr,t.invalidate),d(this,gs,t.context)}async onUIEvent(){this.state.value===null&&(this.state.value=await n(this,hs).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,bi)},hook:n(this,bi)};throw n(this,gs).addToRequeueEvents(e),new yi}}};fr=new WeakMap,gs=new WeakMap,hs=new WeakMap,bi=new WeakMap;function OR(r){let e=De({namespace:"useAsyncState"},t=>new um(r,t));return[e.state.value,e.setter.bind(e)]}var FR=new Proxy({},{get:function(r,e,t){throw new Error(`Unimplemented API: ${String(e)}`)}}),Nd=class{buildContext(e,t,i){let s=new Xr(i),o=new $r(i),a=new ei(i),c=new Yr(i),p=new ti(i),f=new ri(i),v=new _d(e),m=new Kr(i),y=new Jr,k=new si(i),I={modLog:s,kvStore:o,redis:a,reddit:c,scheduler:p,settings:f,media:m,assets:y,realtime:k,ui:v,useState:cm,useChannel:Eb,useInterval:lm,useForm:nm,cache:FR,dimensions:t.env?.dimensions,uiEnvironment:{timezone:i[B.Timezone]?.values[0],locale:i[B.Language]?.values[0],dimensions:t.env?.dimensions}},A=de(i,t.props?.postId);return A.debug.effects=e,{...A,...I}}};var ye=null;function mm(r){return JSON.parse(JSON.stringify(r))}function De(r,e){if(!ye)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=ye.nextHookId(r),i=ye,s={hookId:t,invalidate:()=>{i._changed[t]=!0,i._state[t]=i?._hooks[t]?.state},context:ye},o=ye._state[t]===void 0;ye._hooks[t]=ye._hooks[t]??e(s);let a=ye._hooks[t];return ye._state[t]!==void 0&&(a.state=ye._state[t]),a.onStateLoaded?.(),o&&a.state!==void 0&&a.state!==null&&s.invalidate(),a}var MR=null,ki,Gd,vs,ne,be,Pi,Hd,zd,Tb,ys,pm,Vd,Rb,bs,fm,ks,gm,Si,jd,Ps,hm,Jd,Ob,Wd=class{constructor(e){l(this,ne);l(this,Pi);l(this,zd);l(this,ys);l(this,Vd);l(this,bs);l(this,ks);l(this,Si);l(this,Ps);l(this,Jd);l(this,ki,void 0);l(this,Gd,new Nd);l(this,vs,new li(()=>this._latestRenderContext?.devvitContext?.assets));this._latestRenderContext=null;n(this,ne,be)&&console.debug("[blocks] BlocksHandler v1"),d(this,ki,e),MR=this}async handle(e,t){let i=new gi(e,t),s=n(this,Gd).buildContext(i,e,t);i.devvitContext=s;let o,a=e.events,p=!e.events?.length||a.some(k=>!k.async),f=a.some(k=>k.blocking),v,m,y=[...a];for(n(this,ne,be)&&console.debug("[blocks] starting processing events");a.length>0;){n(this,ne,be)&&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=mm(i._state);await b(this,zd,Tb).call(this,i,...k),i._state=I}else await b(this,Vd,Rb).call(this,i,...k)}catch(I){if(n(this,ne,be)&&console.debug("[blocks] caught in handler",I),m){i._state=m._state,i._changed=v,i._effects=m._effects;let A=y.map(U=>{let ue={...U};return ue.retry=!0,ue});i.addToRequeueEvents(...A);break}else throw I}n(this,ne,be)&&console.debug("[blocks] remaining events",i._requeueEvents);let C=[];for(let I of i._requeueEvents){if(!p&&!I.async){n(this,ne,be)&&console.debug("[blocks] NOT reprocessing event in BlocksHandler, sync mismatch A",I),C.push(I);continue}if(p&&I.async&&!f){n(this,ne,be)&&console.debug("[blocks] NOT reprocessing event in BlocksHandler, sync mismatch B",I),C.push(I);continue}n(this,ne,be)&&console.debug("[blocks] reprocessing event in BlocksHandler",I),a.push(I)}i._requeueEvents=C,a.length>0&&(v={...i._changed},m={_state:mm(i._state),_effects:{...i._effects}},y=[...a])}if(p){let k=mm(i._state),C=[...i._requeueEvents],I={...i._effects},A=b(this,bs,fm).call(this,n(this,ki),i._rootProps??{},i);(0,qd.default)(i._state,k)||console.error("[blocks] State was mutated during rendering",i._state,k),(0,qd.default)(i._requeueEvents,C)||console.error("[blocks] Events were mutated during rendering",i._requeueEvents,C),(0,qd.default)(i._effects,I)||console.error("[blocks] Effects were mutated during rendering",i._effects,I),A&&(o=n(this,vs).createBlocksElementOrThrow(A),o=n(this,vs).ensureRootBlock(o))}return{state:i._changedState,effects:i.effects,blocks:o,events:i._requeueEvents}}};ki=new WeakMap,Gd=new WeakMap,vs=new WeakMap,ne=new WeakSet,be=function(){return!!this._latestRenderContext?.devvitContext.debug.blocks},Pi=new WeakSet,Hd=function(e,...t){e._hooks={},b(this,bs,fm).call(this,n(this,ki),e.request.props??{},e)},zd=new WeakSet,Tb=async function(e,...t){b(this,Pi,Hd).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,ys,pm).call(this,e,i)}))},ys=new WeakSet,pm=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)},Vd=new WeakSet,Rb=async function(e,...t){for(let i of t)n(this,ne,be)&&console.log("[blocks] handling main queue event",i),n(this,ne,be)&&console.log("[blocks] before",e._state),b(this,Pi,Hd).call(this,e,i),await b(this,ys,pm).call(this,e,i),n(this,ne,be)&&console.log("[blocks] after",e._state);b(this,Pi,Hd).call(this,e)},bs=new WeakSet,fm=function(e,t,i){n(this,ne,be)&&console.debug("[blocks] renderRoot"),i._generated={},ye=i,this._latestRenderContext=i;try{let s=b(this,ks,gm).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 yi)return;throw s}finally{ye=null}},ks=new WeakSet,gm=function(e,t,i){i.push({namespace:e.name,...t});try{let s=e(t,i.devvitContext);return b(this,Ps,hm).call(this,s,i)}finally{i.pop()}},Si=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,Ps,hm).call(this,i,t)))},Ps=new WeakSet,hm=function(e,t){if(Array.isArray(e))return b(this,Si,jd).call(this,e,t);if(UR(e)){if(e.type===void 0)return b(this,Si,jd).call(this,e.children,t);if(typeof e.type=="function"){let i={...e.props,children:e.children};return b(this,ks,gm).call(this,e.type,i,t)}else{t.push({namespace:e.type,...e.props});let i=b(this,Si,jd).call(this,e.children,t),s=b(this,Jd,Ob).call(this,e.props??{});return t.pop(),[{type:e.type,children:i,props:s}]}}else return[(e??"").toString()]},Jd=new WeakSet,Ob=function(e){let t={};for(let i in e)if(typeof e[i]=="function"){let s=De({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 UR(r){return typeof r=="object"&&r!=null&&"type"in r}var BR=[[Fb,Fb.methods.renderPostContent,(r,e)=>u.customPostType?.render(e)??null]];function LR(r){return async(e,t)=>new Wd(r).handle(e,t)}function Mb(r){for(let[e,t,i]of BR)r.provides(e),M(t.name,LR(i))}var Ss,Ci,gr,hr,vr,Ii,wi,Bt,yr,_,H,V,Cs,L=class L extends nd{static configure(e){d(this,Ss,e),dt(e.http)&&b(this,H,V).call(this,S.HTTPDefinition),(dt(e.kvStore)||dt(e.redis))&&(b(this,H,V).call(this,S.KVStoreDefinition),b(this,H,V).call(this,S.RedisAPIDefinition)),dt(e.media)&&b(this,H,V).call(this,S.MediaServiceDefinition),dt(e.modLog)&&b(this,H,V).call(this,S.ModlogDefinition),dt(e.redditAPI)&&(b(this,H,V).call(this,S.FlairDefinition),b(this,H,V).call(this,S.GraphQLDefinition),b(this,H,V).call(this,S.LinksAndCommentsDefinition),b(this,H,V).call(this,S.ListingsDefinition),b(this,H,V).call(this,S.ModerationDefinition),b(this,H,V).call(this,S.ModNoteDefinition),b(this,H,V).call(this,S.NewModmailDefinition),b(this,H,V).call(this,S.PrivateMessagesDefinition),b(this,H,V).call(this,S.SubredditsDefinition),b(this,H,V).call(this,S.PostCollectionsDefinition),b(this,H,V).call(this,S.UsersDefinition),b(this,H,V).call(this,S.WidgetsDefinition),b(this,H,V).call(this,S.WikiDefinition),b(this,H,V).call(this,S.RedditAPIV2Definition)),dt(e.realtime)&&b(this,H,V).call(this,S.RealtimeDefinition)}static addMenuItem(e){n(this,Ci).push(e)}static addCustomPostType(e){d(this,gr,e)}static createForm(e,t){let i=`form.${n(this,hr).size}`;return n(this,hr).set(i,{form:e,onSubmit:t}),i}static addSchedulerJob(e){if(n(this,_)[S.SchedulerDefinition.fullName]||b(this,H,V).call(this,S.SchedulerDefinition),n(this,vr).has(e.name))throw new Error(`Job ${e.name} is already defined`);n(this,vr).set(e.name,e.onRun)}static addSettings(e){ir(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,Ii,t),i.length>0&&d(this,wi,i),n(this,_)[S.SettingsDefinition.fullName]||b(this,H,V).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,Bt).has(e.event)?n(this,Bt).get(e.event)?.push(e.onEvent):n(this,Bt).set(e.event,[e.onEvent]),L}static get redditAPIPlugins(){if(!dt(n(this,Ss).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,Ci)}static get customPostType(){return n(this,gr)}static get formDefinitions(){return n(this,hr)}static get scheduledJobHandlers(){return n(this,vr)}static get installationSettings(){return n(this,Ii)}static get appSettings(){return n(this,wi)}static get triggerOnEventHandlers(){return n(this,Bt)}static get assets(){return n(L,Cs)}constructor(e){super(e),d(L,Cs,e.assets??{});for(let t in n(L,yr)){let i=n(L,yr)[t];i.handler=e.use(i.def,i.options)}n(L,Ci).length>0&&xy(e),n(L,vr).size>0&&Ey(e),n(L,gr)&&(Iy(e),Mb(e)),(n(L,gr)||n(L,hr).size>0)&&Ib(e),n(L,Ii)&&wy(e),n(L,wi)&&ny(e),n(L,Bt).size>0&&Ty(e)}};Ss=new WeakMap,Ci=new WeakMap,gr=new WeakMap,hr=new WeakMap,vr=new WeakMap,Ii=new WeakMap,wi=new WeakMap,Bt=new WeakMap,yr=new WeakMap,_=new WeakMap,H=new WeakSet,V=function(e,t){n(this,yr)[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,yr)[e.fullName].handler?.[s.name]?.(s.requestType?.fromPartial(o??{}),a);return n(this,_)[e.fullName]=i,i},Cs=new WeakMap,l(L,H),L.debug={},l(L,Ss,{}),l(L,Ci,[]),l(L,gr,void 0),l(L,hr,new Map),l(L,vr,new Map),l(L,Ii,void 0),l(L,wi,void 0),l(L,Bt,new Map),l(L,yr,{}),l(L,_,{}),l(L,Cs,{});var u=L;(e=>{function r(t,i,...s){return{type:t,props:i,children:s}}e.createElement=r})(u||(u={}));function J(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 vm;(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"})(vm||(vm={}));var Ub="text",Bb="raw",Lb="br",Db="link",_b="c/",Nb="p/",qb="r/",Hb="u/",jb="@",Wb="spoilertext",Gb="par",zb="h",Vb="hr",Jb="blockquote",$b="code",Kb="li",Xb="list",Zb="L",Yb="R",Qb="C",ek="table",tk="embed",rk="img",ik="gif",nk="video";function sk(r){return{e:ik,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function ok(r,e){let t={},i=[];return Object.assign(t,Is(t,i),ws(t,i),As(t,i),Ts(t,i),Rs(t,i),Os(t,i)),e(t),{e:Jb,c:i,...r.author&&{a:r.author}}}function ak(r,e){let t={},i=[];return Object.assign(t,bm(t,i)),e(t),{e:$b,c:i,...r.language&&{l:r.language}}}function dk(r){return{e:_b,t:r.permalink}}function lk(r,e){let t={},i=[];return Object.assign(t,bm(t,i),Es(t,i)),e(t),{e:zb,l:r.level,c:i}}function uk(r){return{e:tk,u:r.sourceUrl,c:r.contentUrl,x:r.width,y:r.height}}function ck(){return{e:Vb}}function mk(r){return{e:rk,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function pk(){return{e:Lb}}function fk(r){return{e:Db,t:r.text,u:r.url,...r.formatting&&{f:r.formatting},...r.tooltip&&{a:r.tooltip}}}function gk(r,e){let t={},i=[];return Object.assign(t,Ok(t,i)),e(t),{e:Xb,o:r.ordered,c:i}}function hk(r){let e={},t=[];return Object.assign(e,Is(e,t),ws(e,t),As(e,t),$d(e,t),Ts(e,t),Rs(e,t),Os(e,t)),r(e),{e:Kb,c:t}}function vk(r){let e={},t=[];return Object.assign(e,Kd(e,t),Es(e,t),ym(e,t),km(e,t),xs(e,t)),r(e),{e:Gb,c:t}}function yk(r){return{e:Nb,t:r.permalink}}function bk(r){return{e:Bb,t:r}}function kk(r){let e={},t=[];return Object.assign(e,Kd(e,t),Es(e,t),ym(e,t)),r(e),{e:Wb,c:t}}function Pk(r){return{e:qb,t:r.subredditName,l:r.showPrefix}}function Sk(r){let e={},t=[],i=[];return Object.assign(e,Fk(e,t,i)),r(e),{e:ek,h:t,c:i}}function Ck(r){let[e,t]=Rk();return r(e),{c:t}}function Ik(r,e){let[t,i]=Rk();e(t);let s;switch(r.columnAlignment){case"left":s=Zb;break;case"right":s=Yb;break;case"center":s=Qb;break}return{...s&&{a:s},...i&&{c:i}}}function wk(r){let e={},t=[];return Object.assign(e,Mk(e,t)),r(e),t}function Ak(r){return{e:Ub,t:r.text,...r.formatting&&{f:r.formatting}}}function xk(r){return{e:Hb,t:r.username,l:r.showPrefix}}function Ek(r){return{e:jb,t:r.username,l:r.showPrefix}}function Tk(r){return{e:nk,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur},...r.thumbnail&&{p:r.thumbnail},...r.convertToGif&&{gifify:r.convertToGif}}}function Rk(){let r={},e=[];return Object.assign(r,Kd(r,e),Es(r,e),km(r,e),xs(r,e)),[r,e]}function Is(r,e){return{blockQuote(t,i){return e.push(ok(t,i)),r}}}function ws(r,e){return{codeBlock(t,i){return e.push(ak(t,i)),r}}}function Uk(r,e){return{embed(t){return e.push(uk(t)),r}}}function As(r,e){return{heading(t,i){return e.push(lk(t,i)),r}}}function $d(r,e){return{horizontalRule(){return e.push(ck()),r}}}function xs(r,e){return{image(t){return e.push(mk(t)),r},animatedImage(t){return e.push(sk(t)),r}}}function ym(r,e){return{linebreak(){return e.push(pk()),r}}}function Es(r,e){return{link(t){return e.push(fk(t)),r},commentLink(t){return e.push(dk(t)),r},postLink(t){return e.push(yk(t)),r},subredditLink(t){return e.push(Pk(t)),r},userLink(t){return e.push(xk(t)),r},userMention(t){return e.push(Ek(t)),r}}}function Ts(r,e){return{list(t,i){return e.push(gk(t,i)),r}}}function Ok(r,e){return{item(t){return e.push(hk(t)),r}}}function Rs(r,e){return{paragraph(t){return e.push(vk(t)),r}}}function bm(r,e){return{rawText(t){return e.push(bk(t)),r}}}function km(r,e){return{spoiler(t){return e.push(kk(t)),r}}}function Fk(r,e,t){return{headerCell(i,s){return e.push(Ik(i,s)),r},row(i){return t.push(wk(i)),r}}}function Os(r,e){return{table(t){return e.push(Sk(t)),r}}}function Mk(r,e){return{cell(t){return e.push(Ck(t)),r}}}function Kd(r,e){return{text(t){return e.push(Ak(t)),r}}}function Bk(r,e){return{video(t){return e.push(Tk(t)),r}}}var DR=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},_R=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)},Xd,Fs=class{constructor(){Xd.set(this,void 0);let e=[];Object.assign(this,Rs(this,e),As(this,e),$d(this,e),Is(this,e),ws(this,e),Uk(this,e),Ts(this,e),Os(this,e),xs(this,e),Bk(this,e)),DR(this,Xd,{document:e},"f")}build(){return JSON.stringify(_R(this,Xd,"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}};Xd=new WeakMap;function Ai(r){let e;return r instanceof Fs?e=r.build():typeof r=="object"?e=JSON.stringify(r):e=r,e}var Lk=100,Dk=1/0,br,kr,Lt,xi,Ei,Zd,j=class{constructor(e){l(this,Ei);l(this,br,void 0);l(this,kr,void 0);l(this,Lt,void 0);l(this,xi,!1);this.pageSize=Lk;this.limit=Dk;this.children=[];J(this),this._fetch=e.fetch,this.pageSize=e.pageSize??Lk,this.limit=e.limit??Dk,d(this,kr,e.after),d(this,br,e.before),d(this,Lt,e.more),e.children&&(this.children=e.children)}get hasMore(){return!n(this,xi)||!!(n(this,kr)||n(this,br)||n(this,Lt))}async*[Symbol.asyncIterator](){let e=0;for(;;){if(e===this.children.length)if(this.hasMore){if((await b(this,Ei,Zd).call(this)).length===0)break}else break;if(yield this.children[e],e++,e===this.limit)break}}setMore(e){d(this,Lt,e)}preventInitialFetch(){d(this,xi,!0)}async all(){for(;this.hasMore&&this.children.length<this.limit;)await b(this,Ei,Zd).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,Ei,Zd).call(this);return this.children.slice(0,t)}};br=new WeakMap,kr=new WeakMap,Lt=new WeakMap,xi=new WeakMap,Ei=new WeakSet,Zd=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,br),after:n(this,kr),limit:this.pageSize,more:n(this,Lt)});return this.children.push(...e),d(this,br,t),d(this,kr,i),d(this,Lt,s),d(this,xi,!0),e};function NR(r){try{return!0}catch{return!1}}function qR(r){try{return!0}catch{return!1}}var Ms,Pm,Fe=class{constructor(){}static get(e,t){let i=u.redditAPIPlugins.ModNote;return new j({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,Ms,Pm).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,Ms,Pm).call(this,s.created)}static async addRemovalNote(e,t){await u.redditAPIPlugins.ModNote.PostRemovalNote(e,t)}};Ms=new WeakSet,Pm=function(e){if(g(e.id,"Mod note ID is null or undefined"),g(e.createdAt,"Mod note createdAt is null or undefined"),g(e.type,"Mod note type is null or undefined"),g(e.subreddit,"Mod note subreddit is null or undefined"),g(e.subredditId,"Mod note subredditId is null or undefined"),g(e.operator,"Mod note operator is null or undefined"),g(e.operatorId,"Mod note operatorId is null or undefined"),g(e.user,"Mod note user is null or undefined"),g(e.userId,"Mod note userId is null or undefined"),g(e.userNoteData,"Mod note userNote is null or undefined"),g(e.modActionData,"Mod note modAction is null or undefined"),!NR(e.userNoteData?.label??""))throw new Error(`Invalid user note label: ${e.userNoteData?.label}`);if(!qR(e.type))throw new Error(`Invalid mod note type: ${e.type}`);return{id:e.id,user:{id:re(e.userId??""),name:e.user},subreddit:{id:Re(e.subredditId??""),name:e.subreddit},operator:{id:re(e.operatorId??""),name:e.operator},createdAt:new Date(e.createdAt*1e3),userNote:{note:e.userNoteData?.note,redditId:ge(e.userNoteData?.redditId??""),label:e.userNoteData?.label},type:e.type}},l(Fe,Ms);var Ti=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 _k=["all","wiki","posts","access","mail","config","flair","channels","chat_config","chat_community","chat_operator"];function HR(r,e,t=!1){let i=t?"%2b":"+";return e.map(s=>(r.includes(s)?i:"-")+s).join(",")}function Sm(r){return HR(r,_k,!0)}function Nk(r){return r.filter(e=>_k.includes(e))}var jR=(t=>(t.User="USER_FLAIR",t.Post="LINK_FLAIR",t))(jR||{}),Pr,Ri,Oi,Fi,Mi,Ui,Bi,Li,Di,_i,Ni,Yd,Je=class Je{constructor(e,t,i){l(this,Pr,void 0);l(this,Ri,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);J(this),g(e.id),g(e.text),d(this,Pr,e.id),d(this,Ri,t),d(this,Oi,e.text),d(this,Fi,WR(e.textColor)),d(this,Mi,GR(e.backgroundColor)),d(this,Ui,zR(e.allowableContent)),d(this,Bi,e.modOnly),d(this,Li,e.maxEmojis),d(this,Di,e.textEditable),d(this,_i,i)}get id(){return n(this,Pr)}get text(){return n(this,Oi)}get textColor(){return n(this,Fi)}get backgroundColor(){return n(this,Mi)}get allowableContent(){return n(this,Ui)}get modOnly(){return n(this,Bi)}get maxEmojis(){return n(this,Li)}get allowUserEdits(){return n(this,Di)}async delete(){return Je.deleteFlairTemplate(n(this,Pr),n(this,Ri),n(this,_i))}async edit(e){return Je.editFlairTemplate({id:n(this,Pr),subredditName:n(this,Ri),text:e.text??n(this,Oi),allowableContent:e.allowableContent??n(this,Ui),backgroundColor:e.backgroundColor??n(this,Mi),maxEmojis:e.maxEmojis??n(this,Li),modOnly:e.modOnly??n(this,Bi),textColor:e.textColor??n(this,Fi),allowUserEdits:e.allowUserEdits??n(this,Di)},n(this,_i))}static async createPostFlairTemplate(e,t){var i;return b(i=Je,Ni,Yd).call(i,{...e,flairType:"LINK_FLAIR"},t)}static async createUserFlairTemplate(e,t){var i;return b(i=Je,Ni,Yd).call(i,{...e,flairType:"USER_FLAIR"},t)}static async editFlairTemplate(e,t){var i;return b(i=Je,Ni,Yd).call(i,e,t)}static async getPostFlairTemplates(e,t){return(await u.redditAPIPlugins.Flair.LinkFlair({subreddit:e},t)).flair?.map(o=>new Je(o,e,t))||[]}static async getUserFlairTemplates(e,t){return(await u.redditAPIPlugins.Flair.UserFlair({subreddit:e},t)).flair?.map(o=>new Je(o,e,t))||[]}static async deleteFlairTemplate(e,t,i){await u.redditAPIPlugins.Flair.DeleteFlairTemplate({subreddit:e,flairTemplateId:t},i)}};Pr=new WeakMap,Ri=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 WeakSet,Yd=async function(e,t){let{subredditName:i,allowableContent:s="all",backgroundColor:o="transparent",flairType:a="",maxEmojis:c=10,modOnly:p=!1,text:f,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:f,textColor:v,textEditable:m,flairTemplateId:y,cssClass:"",overrideCss:!1},t);return new Je(C,i,t)},l(Je,Ni);var ae=Je;function Ls(r){return{flairCssClass:r.flairCssClass,user:r.user,flairText:r.flairText}}var Us,Cm,Bs,Im,Dt=class Dt{static async getUserFlairBySubreddit(e,t){return u.redditAPIPlugins.Flair.FlairList(e,t)}static setUserFlair(e,t){var i;return b(i=Dt,Us,Cm).call(i,e,t)}static setPostFlair(e,t){var i;return b(i=Dt,Us,Cm).call(i,{...e,postId:fe(e.postId)},t)}static async removePostFlair(e,t,i){var s;return b(s=Dt,Bs,Im).call(s,e,t,void 0,i)}static async removeUserFlair(e,t,i){var s;return b(s=Dt,Bs,Im).call(s,e,void 0,t,i)}};Us=new WeakSet,Cm=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)},Bs=new WeakSet,Im=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(Dt,Us),l(Dt,Bs);var Me=Dt;function WR(r){if(g(r,"Flair text color is required"),r==="light"||r==="dark")return r;throw new Error(`Invalid flair text color: ${r}`)}function GR(r){if(g(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 QR}from"@devvit/protos";var Wk=Rr(jk(),1);var qi,_s,Hi,Ns,qs,Hs,js,Ws,ji,Gs,zs,Vs,Js,$s,Ks,_t,Cr,Wi,Nt,Gi,zi,Vi,Ir,qt,Ht,Ji,jt,Wt,Gt,ct,Xs,Zs,$i,Ki,D,N=class N{constructor(e,t){l(this,qi,void 0);l(this,_s,void 0);l(this,Hi,void 0);l(this,Ns,void 0);l(this,qs,void 0);l(this,Hs,void 0);l(this,js,void 0);l(this,Ws,void 0);l(this,ji,void 0);l(this,Gs,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,_t,void 0);l(this,Cr,void 0);l(this,Wi,void 0);l(this,Nt,void 0);l(this,Gi,void 0);l(this,zi,void 0);l(this,Vi,void 0);l(this,Ir,void 0);l(this,qt,void 0);l(this,Ht,void 0);l(this,Ji,void 0);l(this,jt,void 0);l(this,Wt,void 0);l(this,Gt,void 0);l(this,ct,void 0);l(this,Xs,void 0);l(this,Zs,void 0);l(this,$i,void 0);l(this,Ki,void 0);l(this,D,void 0);J(this),g(e.id,"Post is missing id"),g(e.title,"Post is missing title"),g(e.createdUtc,"Post is missing created date"),g(e.author,"Post is missing author name"),g(e.subreddit,"Post is missing subreddit name"),g(e.subredditId,"Post is missing subreddit id"),g(e.url,"Post is missing url"),g(e.permalink,"Post is missing permalink"),d(this,qi,fe(`t3_${e.id}`)),d(this,Hi,e.author),d(this,_s,e.authorFullname?re(e.authorFullname):void 0),d(this,qs,Re(e.subredditId)),d(this,Hs,e.subreddit),d(this,Vs,e.score??0),d(this,Js,e.numComments??0),d(this,$s,e.numReports??0);let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,Ns,i),d(this,Ws,e.title),d(this,ji,e.selftext),d(this,Gs,e.selftextHtml),d(this,zs,e.url),d(this,js,e.permalink),e.thumbnail&&e.thumbnail!=="self"&&e.thumbnail!=="nsfw"&&e.thumbnailHeight!=null&&e.thumbnailWidth!=null&&d(this,Ks,{url:e.thumbnail,height:e.thumbnailHeight,width:e.thumbnailWidth}),d(this,_t,e.approved??!1),d(this,Nt,e.removed??!1),d(this,Gi,e.removedBy),d(this,zi,e.removedByCategory),d(this,Cr,e.spam??!1),d(this,Wi,e.stickied??!1),d(this,Vi,e.archived??!1),d(this,Ir,e.edited??!1),d(this,qt,e.locked??!1),d(this,Ht,e.over18??!1),d(this,Ji,e.quarantine??!1),d(this,jt,e.spoiler),d(this,Wt,e.hidden??!1),d(this,Gt,e.ignoreReports??!1),d(this,ct,e.distinguished),d(this,Zs,e.secureMedia),d(this,$i,(e.modReports??[]).map(([s])=>s)),d(this,Ki,(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,Xs,{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,qi)}get authorId(){return n(this,_s)}get authorName(){return n(this,Hi)}get subredditId(){return n(this,qs)}get subredditName(){return n(this,Hs)}get permalink(){return n(this,js)}get title(){return n(this,Ws)}get body(){return n(this,ji)}get bodyHtml(){return n(this,Gs)}get url(){return n(this,zs)}get thumbnail(){return n(this,Ks)}get createdAt(){return n(this,Ns)}get score(){return n(this,Vs)}get numberOfComments(){return n(this,Js)}get numberOfReports(){return n(this,$s)}get approved(){return n(this,_t)}get spam(){return n(this,Cr)}get stickied(){return n(this,Wi)}get removed(){return n(this,Nt)}get removedBy(){return n(this,Gi)}get removedByCategory(){return n(this,zi)}get archived(){return n(this,Vi)}get edited(){return n(this,Ir)}get locked(){return n(this,qt)}get nsfw(){return n(this,Ht)}get quarantined(){return n(this,Ji)}get spoiler(){return n(this,jt)}get hidden(){return n(this,Wt)}get ignoringReports(){return n(this,Gt)}get distinguishedBy(){return n(this,ct)}get comments(){return X.getComments({postId:this.id},n(this,D))}get flair(){return n(this,Xs)}get secureMedia(){return n(this,Zs)}get userReportReasons(){return n(this,Ki)}get modReportReasons(){return n(this,$i)}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,Gi),removedByCategory:n(this,zi),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,$i),userReportReasons:n(this,Ki)}}isApproved(){return n(this,_t)}isSpam(){return n(this,Cr)}isStickied(){return n(this,Wi)}isRemoved(){return n(this,Nt)}isArchived(){return n(this,Vi)}isEdited(){return n(this,Ir)}isLocked(){return n(this,qt)}isNsfw(){return n(this,Ht)}isQuarantined(){return n(this,Ji)}isSpoiler(){return n(this,jt)}isHidden(){return n(this,Wt)}isIgnoringReports(){return n(this,Gt)}isDistinguishedBy(){return n(this,ct)}async edit(e){let t=await N.edit({id:this.id,...e},n(this,D));d(this,ji,t.body),d(this,Ir,t.edited)}async addComment(e){return X.submit({id:this.id,...e},n(this,D))}async delete(){return N.delete(this.id,n(this,D))}async approve(){await N.approve(this.id,n(this,D)),d(this,_t,!0),d(this,Nt,!1)}async remove(e=!1){await N.remove(this.id,e,n(this,D)),d(this,Nt,!0),d(this,Cr,e),d(this,_t,!1)}async lock(){await N.lock(this.id,n(this,D)),d(this,qt,!0)}async unlock(){await N.unlock(this.id,n(this,D)),d(this,qt,!1)}async hide(){await N.hide(this.id,n(this,D)),d(this,Wt,!0)}async unhide(){await N.unhide(this.id,n(this,D)),d(this,Wt,!1)}async markAsNsfw(){await N.markAsNsfw(this.id,n(this,D)),d(this,Ht,!0)}async unmarkAsNsfw(){await N.unmarkAsNsfw(this.id,n(this,D)),d(this,Ht,!1)}async markAsSpoiler(){await N.markAsSpoiler(this.id,n(this,D)),d(this,jt,!0)}async unmarkAsSpoiler(){await N.unmarkAsSpoiler(this.id,n(this,D)),d(this,jt,!1)}async sticky(e){await N.sticky(this.id,e,n(this,D))}async unsticky(){await N.unsticky(this.id,n(this,D))}async distinguish(){let{distinguishedBy:e}=await N.distinguish(this.id,!1,n(this,D));d(this,ct,e)}async distinguishAsAdmin(){let{distinguishedBy:e}=await N.distinguish(this.id,!0,n(this,D));d(this,ct,e)}async undistinguish(){let{distinguishedBy:e}=await N.undistinguish(this.id,n(this,D));d(this,ct,e)}async ignoreReports(){await N.ignoreReports(this.id,n(this,D)),d(this,Gt,!0)}async unignoreReports(){await N.unignoreReports(this.id,n(this,D)),d(this,Gt,!1)}async getAuthor(){return w.getByUsername(n(this,Hi),n(this,D))}async crosspost(e){return N.crosspost({...e,postId:this.id},n(this,D))}addRemovalNote(e){return Fe.addRemovalNote({itemIds:[n(this,qi)],...e},n(this,D))}static async getById(e,t){let i=u.redditAPIPlugins.LinksAndComments,s=rr(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 N(a.data,t)}static async submit(e,t){let i=u.redditAPIPlugins.LinksAndComments,s;if("preview"in e){g(t,"Missing metadata in `SubmitPostOptions`");let c=await new at(()=>e.preview,void 0,{},t,void 0).buildBlocksUI(),p=QR.encode(c).finish();s=await i.Submit({kind:"custom",sr:e.subredditName,richtextJson:(0,Wk.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?Ai(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 N.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 N.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=Ai(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 N.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 g(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 g(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 j({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 Ds(o,t)}})}static getHotPosts(e={location:"GLOBAL"},t){let i=u.redditAPIPlugins.Listings;return new j({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 Ds(o,t)}})}static getNewPosts(e,t){let i=u.redditAPIPlugins.Listings;return new j({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 Ds(o,t)}})}static getRisingPosts(e,t){let i=u.redditAPIPlugins.Listings;return new j({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 Ds(o,t)}})}static getPostsByUser(e,t){let i=u.redditAPIPlugins.Users;return new j({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 Ds(o,t)}})}};qi=new WeakMap,_s=new WeakMap,Hi=new WeakMap,Ns=new WeakMap,qs=new WeakMap,Hs=new WeakMap,js=new WeakMap,Ws=new WeakMap,ji=new WeakMap,Gs=new WeakMap,zs=new WeakMap,Vs=new WeakMap,Js=new WeakMap,$s=new WeakMap,Ks=new WeakMap,_t=new WeakMap,Cr=new WeakMap,Wi=new WeakMap,Nt=new WeakMap,Gi=new WeakMap,zi=new WeakMap,Vi=new WeakMap,Ir=new WeakMap,qt=new WeakMap,Ht=new WeakMap,Ji=new WeakMap,jt=new WeakMap,Wt=new WeakMap,Gt=new WeakMap,ct=new WeakMap,Xs=new WeakMap,Zs=new WeakMap,$i=new WeakMap,Ki=new WeakMap,D=new WeakMap;var z=N;function Ds(r,e){if(!r.data?.children)throw new Error("Listing response is missing children");return{children:r.data.children.map(i=>new z(i.data,e)),before:r.data.before,after:r.data.after}}var Ys,Xi,Qs,eo,to,ro,io,zt,no,so,mt,wr=class wr{constructor(e,t){l(this,Ys,void 0);l(this,Xi,void 0);l(this,Qs,void 0);l(this,eo,void 0);l(this,to,void 0);l(this,ro,void 0);l(this,io,void 0);l(this,zt,new Map);l(this,no,void 0);l(this,so,void 0);l(this,mt,void 0);J(this),g(e.id,"User ID is missing or undefined"),g(e.name,"Username is missing or undefined"),g(e.createdUtc,"User is missing created date"),d(this,Ys,re(id(e.id)?e.id:`t2_${e.id}`)),d(this,Xi,e.name),d(this,ro,e.over18??!1),d(this,io,e.isEmployee??!1);let i=new Date(0);if(i.setUTCSeconds(e.createdUtc),d(this,Qs,i),d(this,eo,e.linkKarma??0),d(this,to,e.commentKarma??0),e.modPermissions)for(let[s,o]of Object.entries(e.modPermissions))n(this,zt).set(s,Nk(o));d(this,no,new URL(e.subreddit?.url??"","https://www.reddit.com").toString()),d(this,so,e.subreddit?.url??""),d(this,mt,t)}get id(){return n(this,Ys)}get username(){return n(this,Xi)}get createdAt(){return n(this,Qs)}get linkKarma(){return n(this,eo)}get commentKarma(){return n(this,to)}get nsfw(){return n(this,ro)}get isAdmin(){return n(this,io)}get modPermissions(){return n(this,zt)}get url(){return n(this,no)}get permalink(){return n(this,so)}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,zt).has(e))return n(this,zt).get(e);let t=await wr.getSubredditUsersByType({subredditName:e,type:"moderators",username:this.username},n(this,mt)).all();if(t.length===0)return[];let i=t[0].modPermissions.get(e)??[];return i.length>0&&n(this,zt).set(e,i),i}getComments(e){return X.getCommentsByUser({username:this.username,...e},n(this,mt))}getPosts(e){return z.getPostsByUser({username:this.username,...e},n(this,mt))}async getUserFlairBySubreddit(e){let t=await Me.getUserFlairBySubreddit({subreddit:e,name:n(this,Xi)},n(this,mt));return t.users[0]?Ls(t.users[0]):void 0}getSnoovatarUrl(){return wr.getSnoovatarUrl(this.username,n(this,mt))}static async getById(e,t){let o=(await u.redditAPIPlugins.Users.UserDataByAccountIds({ids:e},t))?.users?.[e]?.name;return g(o,"Expected the username in response to be not null"),wr.getByUsername(o,t)}static async getByUsername(e,t){let s=await u.redditAPIPlugins.Users.UserAbout({username:e},t);if(!s.data?.id)throw new Error("failed to get user");return new wr(s.data,t)}static async getFromMetadata(e,t){g(t);let i=t?.[e]?.values[0];return i?wr.getById(re(i),t):Promise.resolve(void 0)}static getSubredditUsersByType(e,t){let i=u.redditAPIPlugins.Subreddits;return new j({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 tO(o,e.subredditName,t)}})}static async createRelationship(e,t){let i=u.redditAPIPlugins.Users,{type:s,subredditName:o,username:a,permissions:c,...p}=e,f=await i.Friend({type:s,subreddit:o,name:a,permissions:c?Sm(c):void 0,...p},t);if(f.json?.errors?.length)throw new Error(f.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){let i="GetSnoovatarUrlByName",s="c47fd42345af268616d2d8904b56856acdc05cf61d3650380f539ad7d596ac0c";return(await Ti.query(i,s,{username:e},t)).data?.redditorInfoByName?.snoovatarIcon?.url}static getOverview(e,t){let i=u.redditAPIPlugins.Users;return new j({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 eO(o,t)}})}};Ys=new WeakMap,Xi=new WeakMap,Qs=new WeakMap,eo=new WeakMap,to=new WeakMap,ro=new WeakMap,io=new WeakMap,zt=new WeakMap,no=new WeakMap,so=new WeakMap,mt=new WeakMap;var w=wr;function eO(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 z(i.data,e);if(i.kind==="t1")return new X(i.data,e);throw new Error(`Type ${i.kind} is not supported`)}),before:r.data.before,after:r.data.after}}async function tO(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=>(g(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;g(m,"User id is missing from listing");let y=p[m];return g(y,"User data is missing from response"),new w({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 Ar,oo,Zi,Yi,ao,lo,Qi,uo,co,en,Vt,xr,Jt,$t,pt,Er,ft,mo,po,fo,go,ho,vo,yo,Q,tn,el,rn,tl,W=class W{constructor(e,t){l(this,Ar,void 0);l(this,oo,void 0);l(this,Zi,void 0);l(this,Yi,void 0);l(this,ao,void 0);l(this,lo,void 0);l(this,Qi,void 0);l(this,uo,void 0);l(this,co,void 0);l(this,en,void 0);l(this,Vt,void 0);l(this,xr,void 0);l(this,Jt,void 0);l(this,$t,void 0);l(this,pt,void 0);l(this,Er,void 0);l(this,ft,void 0);l(this,mo,void 0);l(this,po,void 0);l(this,fo,void 0);l(this,go,void 0);l(this,ho,void 0);l(this,vo,void 0);l(this,yo,void 0);l(this,Q,void 0);var s;J(this),g(e.id,"Comment id is null or undefined"),g(e.body,"Comment body is null or undefined"),g(e.createdUtc,"Comment is missing created date"),g(e.author,"Comment author is null or undefined"),g(e.parentId,"Comment parentId is null or undefined"),g(e.linkId,"Comment linkId is null or undefined"),g(e.permalink,"Comment permalink is null or undefined"),g(e.subreddit,"Comment is missing subreddit name"),g(e.subredditId,"Comment is missing subreddit id"),d(this,Ar,zr(`t1_${e.id}`)),d(this,oo,e.authorFullname?re(e.authorFullname):void 0),d(this,Zi,e.author),d(this,Yi,e.body),d(this,uo,Re(e.subredditId)),d(this,co,e.subreddit),d(this,lo,yc(e.parentId)?zr(e.parentId):fe(e.parentId)),d(this,Qi,fe(e.linkId)),d(this,xr,e.edited??!1),d(this,Jt,e.locked??!1),d(this,$t,e.removed??!1),d(this,pt,e.stickied??!1),d(this,Vt,e.approved??!1),d(this,Er,e.spam??!1),d(this,ft,e.distinguished),d(this,mo,e.numReports??0),d(this,po,e.collapsedBecauseCrowdControl??!1),d(this,fo,e.score??0),d(this,go,e.permalink),d(this,yo,new URL(e.permalink??"","https://www.reddit.com/").toString()),d(this,ho,(e.modReports??[]).map(([o])=>o)),d(this,vo,(e.userReports??[]).map(([o])=>o));let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,ao,i),d(this,en,b(s=W,tn,el).call(s,{postId:n(this,Qi),commentId:n(this,Ar)},t)),d(this,Q,t)}get id(){return n(this,Ar)}get authorId(){return n(this,oo)}get authorName(){return n(this,Zi)}get subredditId(){return n(this,uo)}get subredditName(){return n(this,co)}get body(){return n(this,Yi)}get createdAt(){return n(this,ao)}get parentId(){return n(this,lo)}get postId(){return n(this,Qi)}get replies(){return n(this,en)}get distinguishedBy(){return n(this,ft)}get locked(){return n(this,Jt)}get stickied(){return n(this,pt)}get removed(){return n(this,$t)}get approved(){return n(this,Vt)}get spam(){return n(this,Er)}get edited(){return n(this,xr)}get numReports(){return n(this,mo)}get collapsedBecauseCrowdControl(){return n(this,po)}get score(){return n(this,fo)}get permalink(){return n(this,go)}get userReportReasons(){return n(this,vo)}get modReportReasons(){return n(this,ho)}get url(){return n(this,yo)}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,Jt)}isApproved(){return n(this,Vt)}isRemoved(){return n(this,$t)}isSpam(){return n(this,Er)}isStickied(){return n(this,pt)}isDistinguished(){return!!n(this,ft)}isEdited(){return n(this,xr)}async delete(){return W.delete(this.id,n(this,Q))}async edit(e){let t=await W.edit({id:this.id,...e},n(this,Q));return d(this,Yi,t.body),d(this,xr,t.edited),this}async approve(){await W.approve(this.id,n(this,Q)),d(this,Vt,!0),d(this,$t,!1)}async remove(e=!1){await W.remove(this.id,e,n(this,Q)),d(this,$t,!0),d(this,Er,e),d(this,Vt,!1)}async lock(){await W.lock(this.id,n(this,Q)),d(this,Jt,!0)}async unlock(){await W.unlock(this.id,n(this,Q)),d(this,Jt,!1)}async reply(e){return W.submit({id:this.id,...e},n(this,Q))}async getAuthor(){return w.getByUsername(n(this,Zi),n(this,Q))}async distinguish(e=!1){let{distinguishedBy:t,stickied:i}=await W.distinguish(this.id,e,!1,n(this,Q));d(this,ft,t),d(this,pt,i)}async distinguishAsAdmin(e=!1){let{distinguishedBy:t,stickied:i}=await W.distinguish(this.id,e,!0,n(this,Q));d(this,ft,t),d(this,pt,i)}async undistinguish(){let{distinguishedBy:e,stickied:t}=await W.undistinguish(this.id,n(this,Q));d(this,ft,e),d(this,pt,t)}addRemovalNote(e){return Fe.addRemovalNote({itemIds:[n(this,Ar)],...e},n(this,Q))}static async getById(e,t){let i=u.redditAPIPlugins.LinksAndComments,s=kt(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 W(o.data.children[0].data,t)}static getComments(e,t){var a;let{postId:i,commentId:s,...o}=e;return b(a=W,tn,el).call(a,{postId:fe(i),commentId:s?zr(s):void 0,...o},t)}static async edit(e,t){let i=u.redditAPIPlugins.LinksAndComments,{id:s}=e,o;"richtext"in e&&(o=Ai(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 g(c),new W(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=Ai(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 g(c),new W(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 g(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 g(o),{distinguishedBy:o.distinguished,stickied:!!o.stickied}}static getCommentsByUser(e,t){let i=u.redditAPIPlugins.Users;return new j({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 g(o.data,"Failed to get comments for user"),{children:o.data.children?.map(c=>new W(c.data,t))||[],before:o.data.before,after:o.data.after}}})}};Ar=new WeakMap,oo=new WeakMap,Zi=new WeakMap,Yi=new WeakMap,ao=new WeakMap,lo=new WeakMap,Qi=new WeakMap,uo=new WeakMap,co=new WeakMap,en=new WeakMap,Vt=new WeakMap,xr=new WeakMap,Jt=new WeakMap,$t=new WeakMap,pt=new WeakMap,Er=new WeakMap,ft=new WeakMap,mo=new WeakMap,po=new WeakMap,fo=new WeakMap,go=new WeakMap,ho=new WeakMap,vo=new WeakMap,yo=new WeakMap,Q=new WeakMap,tn=new WeakSet,el=function(e,t,i=0){return new j({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),A=await c.MoreChildren({linkId:e.postId,children:I,sort:e.sort},t);if(!A.json?.data?.things?.length)return{children:[]};let{children:U}=b(y=W,rn,tl).call(y,A.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=W,rn,tl).call(k,v,p??e.postId,e,t,i)}})},rn=new WeakSet,tl=function(e,t,i,s,o=0){var f,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 W(m.data,s);if(p[k.id]=k,d(k,en,b(f=W,tn,el).call(f,{...i,postId:k.postId,commentId:k.id},s,o)),"replyList"in m.data&&m.data.replyList?.data){let{children:C,more:I}=b(v=W,rn,tl).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:yc(m.data.parentId)?zr(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(W,tn),l(W,rn);var X=W;function ad(r,e){let t=u.redditAPIPlugins.Moderation;return new j({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 rO(s)}})}function rO(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:f,srId36:v,description:m,details:y,targetAuthor:k,targetBody:C,targetFullname:I,targetPermalink:A,targetTitle:U}=t.data;g(i,"ModAction from AboutLogResponse is missing id"),g(s,"ModAction from AboutLogResponse is missing mod"),g(o,"ModAction from AboutLogResponse is missing modId36"),g(a,"ModAction from AboutLogResponse is missing createdUtc"),g(c,"ModAction from AboutLogResponse is missing subreddit"),g(p,"ModAction from AboutLogResponse is missing subredditNamePrefixed"),g(f,"ModAction from AboutLogResponse is missing action"),g(v,"ModAction from AboutLogResponse is missing srId36");let ue=new Date(0);return ue.setUTCSeconds(a),{id:i,type:f,moderatorName:s,moderatorId:`t2_${o}`,createdAt:ue,subredditName:c,subredditId:`t5_${v}`,description:m,details:y,target:I?{id:I,author:k,body:C,permalink:A,title:U}:void 0}}),after:r.data.after,before:r.data.before}}var iO=(a=>(a.New="New",a.InProgress="InProgress",a.Archived="Archived",a.Appeals="Appeals",a.JoinRequests="JoinRequests",a.Filtered="Filtered",a))(iO||{}),nO={0:"New",1:"InProgress",2:"Archived",3:"Appeals",4:"JoinRequests",5:"Filtered"},sO=(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))(sO||{}),oO={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"},G,Y,se,rl,Gk,il,zk,dd=class{constructor(e){l(this,Y);l(this,rl);l(this,il);l(this,G,void 0);d(this,G,e)}async bulkReadConversations(e,t){let i=u.redditAPIPlugins.NewModmail,{conversationIds:s}=await i.BulkReadConversations({entity:e.join(","),state:t},n(this,G));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,G)),s={};for(let o in i.conversations)s[o]=b(this,Y,se).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,G));return{participantSubreddit:i.participantSubreddit,conversation:b(this,Y,se).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,G));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,G));return{conversation:b(this,Y,se).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,G));return{conversation:b(this,Y,se).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,G));return{conversation:b(this,Y,se).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,G));return{conversation:b(this,Y,se).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,G));return{conversation:b(this,Y,se).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,G));return{conversation:b(this,Y,se).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,G));return{conversation:b(this,Y,se).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,G));return{conversation:b(this,Y,se).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,G))}async unreadConversations(e){await u.redditAPIPlugins.NewModmail.Unread({conversationIds:e.join(",")},n(this,G))}async approveConversation(e){let i=await u.redditAPIPlugins.NewModmail.ApproveConversation({conversationId:e},n(this,G));return{conversation:b(this,Y,se).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,G));return{conversation:b(this,Y,se).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,G));return{conversation:b(this,Y,se).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,G));return{conversation:b(this,Y,se).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async getUnreadCount(){return await u.redditAPIPlugins.NewModmail.UnreadCount({},n(this,G))}async getUserConversations(e){return await u.redditAPIPlugins.NewModmail.UserConversations({conversationId:e},n(this,G))}};G=new WeakMap,Y=new WeakSet,se=function({protoConversation:e,protoMessages:t,protoModActions:i}){return{...e,state:nO[e.state],messages:b(this,rl,Gk).call(this,e,t),modActions:b(this,il,zk).call(this,e,i)}},rl=new WeakSet,Gk=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},il=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:oO[a.actionTypeId]})}return i};var nn,sn,nl,bo,ko,Po,So,Am=class Am{constructor(e,t){l(this,nn,void 0);l(this,sn,void 0);l(this,nl,void 0);l(this,bo,void 0);l(this,ko,void 0);l(this,Po,void 0);l(this,So,void 0);if(J(this),g(e.id,"PrivateMessage: Invalid data, no id"),g(e.name,"PrivateMessage: Invalid data, no name"),g(e.created,"PrivateMessage: Invalid data, no created date"),d(this,nn,ge(e.name)),e.author!=null)d(this,sn,{type:"user",username:e.author,id:e.authorFullname?re(e.authorFullname):void 0});else if(e.subreddit!=null)d(this,sn,{type:"subreddit",name:e.subreddit,id:e.subredditId?Re(e.subredditId):void 0});else throw new Error("PrivateMessage: Invalid data, no author or subreddit");d(this,bo,e.body??""),d(this,ko,e.bodyHtml??"");let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,Po,i),d(this,nl,e.parentId?ge(e.parentId):void 0),d(this,So,t)}static async getMessages(e,t){let i=u.redditAPIPlugins.PrivateMessages;return new j({...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 Am(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,nn)}get from(){return n(this,sn)}get body(){return n(this,bo)}get bodyHtml(){return n(this,ko)}get created(){return n(this,Po)}async markAsRead(){await u.redditAPIPlugins.PrivateMessages.ReadMessage({id:n(this,nn)},n(this,So))}};nn=new WeakMap,sn=new WeakMap,nl=new WeakMap,bo=new WeakMap,ko=new WeakMap,Po=new WeakMap,So=new WeakMap;var sr=Am;var qv=(o=>(o.Reports="reports",o.Spam="spam",o.Modqueue="modqueue",o.Unmoderated="unmoderated",o.Edited="edited",o))(qv||{}),on,x,Co,Io,wo,Ao,xo,Eo,To,Ro,Oo,an,E,tt=class tt{constructor(e,t){l(this,on,void 0);l(this,x,void 0);l(this,Co,void 0);l(this,Io,void 0);l(this,wo,void 0);l(this,Ao,void 0);l(this,xo,void 0);l(this,Eo,void 0);l(this,To,void 0);l(this,Ro,void 0);l(this,Oo,void 0);l(this,an,void 0);l(this,E,void 0);J(this),g(e.id,"Subreddit id is missing or undefined"),g(e.displayName,"Subreddit name is missing or undefined"),d(this,on,Re(`t5_${e.id}`)),d(this,x,e.displayName),g(e.createdUtc,"Subreddit is missing created date");let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,Co,i),d(this,Io,aO(e.subredditType)),d(this,wo,e.title),d(this,Ao,e.description),g(e.lang,"Subreddit is missing language"),d(this,xo,e.lang),d(this,Eo,e.subscribers??0),d(this,To,e.activeUserCount??0),d(this,Ro,e.over18??!1),d(this,an,e.url??""),d(this,Oo,{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:dO(e.submissionType),allowedMediaInComments:(e.allowedMediaInComments??[]).map(lO),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,an),"https://www.reddit.com").toString()}),d(this,E,t)}get id(){return n(this,on)}get name(){return n(this,x)}get createdAt(){return n(this,Co)}get type(){return n(this,Io)}get title(){return n(this,wo)}get description(){return n(this,Ao)}get language(){return n(this,xo)}get numberOfSubscribers(){return n(this,Eo)}get numberOfActiveUsers(){return n(this,To)}get nsfw(){return n(this,Ro)}get settings(){return n(this,Oo)}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,an)}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 z.submit(t,n(this,E))}getControversialPosts(e={}){if(!n(this,x))throw new Error("subreddit missing displayName - it might not have been fetched");return z.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 z.getTopPosts({...e,subredditName:n(this,x)},n(this,E))}getApprovedUsers(e={}){return w.getSubredditUsersByType({type:"contributors",subredditName:n(this,x),...e},n(this,E))}approveUser(e){return w.createRelationship({username:e,subredditName:n(this,x),type:"contributor"},n(this,E))}removeUser(e){return w.removeRelationship({username:e,subredditName:n(this,x),type:"contributor"},n(this,E))}getWikiContributors(e={}){return w.getSubredditUsersByType({type:"wikicontributors",subredditName:n(this,x),...e},n(this,E))}addWikiContributor(e){return w.createRelationship({username:e,subredditName:n(this,x),type:"wikicontributor"},n(this,E))}removeWikiContributor(e){return w.removeRelationship({username:e,subredditName:n(this,x),type:"wikicontributor"},n(this,E))}getBannedUsers(e={}){return w.getSubredditUsersByType({type:"banned",subredditName:n(this,x),...e},n(this,E))}banUser(e){return w.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 w.removeRelationship({username:e,subredditName:n(this,x),type:"banned"},n(this,E))}getBannedWikiContributors(e={}){return w.getSubredditUsersByType({type:"wikibanned",subredditName:n(this,x),...e},n(this,E))}banWikiContributor(e){return w.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 w.removeRelationship({username:e,subredditName:n(this,x),type:"wikibanned"},n(this,E))}getModerators(e={}){return w.getSubredditUsersByType({type:"moderators",subredditName:n(this,x),...e},n(this,E))}inviteModerator(e,t){return w.createRelationship({type:"moderator_invite",subredditName:n(this,x),username:e,permissions:t??[]},n(this,E))}revokeModeratorInvite(e){return w.removeRelationship({username:e,subredditName:n(this,x),type:"moderator_invite"},n(this,E))}removeModerator(e){return w.removeRelationship({type:"moderator",subredditName:n(this,x),username:e},n(this,E))}setModeratorPermissions(e,t){return w.setModeratorPermissions(e,n(this,x),t,n(this,E))}getMutedUsers(e={}){return w.getSubredditUsersByType({type:"muted",subredditName:n(this,x),...e},n(this,E))}muteUser(e,t){return w.createRelationship({username:e,subredditName:n(this,x),type:"muted",note:t},n(this,E))}unmuteUser(e){return w.removeRelationship({username:e,subredditName:n(this,x),type:"muted"},n(this,E))}getModerationLog(e){return ad({subredditName:n(this,x),...e},n(this,E))}getUserFlairTemplates(){return ae.getUserFlairTemplates(n(this,x),n(this,E))}getPostFlairTemplates(){return ae.getPostFlairTemplates(n(this,x),n(this,E))}createPostFlairTemplate(e){return ae.createPostFlairTemplate({subredditName:n(this,x),...e},n(this,E))}createUserFlairTemplate(e){return ae.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 Me.getUserFlairBySubreddit({subreddit:n(this,x),name:i},n(this,E));return Ls(s.users[0])}))};{let t=await Me.getUserFlairBySubreddit({...e,subreddit:n(this,x)},n(this,E));return{next:t.next,prev:t.prev,users:t.users.map(i=>Ls(i))}}}getModQueue(e={type:"all"}){return tt.aboutLocation({...e,location:"modqueue",subreddit:n(this,x)},n(this,E))}getReports(e={type:"all"}){return tt.aboutLocation({...e,location:"reports",subreddit:n(this,x)},n(this,E))}getSpam(e={type:"all"}){return tt.aboutLocation({...e,location:"spam",subreddit:n(this,x)},n(this,E))}getUnmoderated(e={type:"all"}){return tt.aboutLocation({...e,location:"unmoderated",subreddit:n(this,x)},n(this,E))}getEdited(e={type:"all"}){return tt.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 j({...e,fetch:async o=>{let a=await i.AboutLocation({...o,...e,only:s},t);return Vk(a,t)}})}getCommentsAndPostsByIds(e){let t=u.redditAPIPlugins.LinksAndComments;return new j({fetch:async()=>{let i=await t.Info({thingIds:e,subreddits:[n(this,on)]},n(this,E));return Vk(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){g(e);let t=e?.[B.Subreddit]?.values[0];return g(t),tt.getById(Re(t),e)}static async getById(e,t){let o=(await u.redditAPIPlugins.LinksAndComments.Info({thingIds:[e],subreddits:[]},t)).data?.children[0]?.data?.displayName;return g(o),tt.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 tt(s.data,t)}};on=new WeakMap,x=new WeakMap,Co=new WeakMap,Io=new WeakMap,wo=new WeakMap,Ao=new WeakMap,xo=new WeakMap,Eo=new WeakMap,To=new WeakMap,Ro=new WeakMap,Oo=new WeakMap,an=new WeakMap,E=new WeakMap;var he=tt;function aO(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 dO(r){if(r==="any"||r==="link"||r==="self")return r;throw new Error(`invalid allowed post type: ${r}`)}function lO(r){if(r==="animated"||r==="giphy"||r==="static"||r==="expression")return r;throw new Error(`invalid comment media type: ${r}`)}function Vk(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 z(a.data,e)}catch{return null}}function o(a){try{return new X(a.data,e)}catch{return null}}}async function Hv(r,e){return Jk("GetVaultContactByAddress","3e2f7966a5c120e64fd2795d06a46595c52d988185be98d3ed71c3f81ae80d2e",{provider:"ethereum",address:r},e)}async function jv(r,e){return Jk("GetVaultContactByUserId","a854ddc19d0e22c4f36ed917fdbd568f299f3571427e393aee5e2972080fffe9",{provider:"ethereum",userId:r},e)}async function Jk(r,e,t,i){let o=(await Ti.query(r,e,t,i))?.data?.vault?.contact;return{provider:o?.provider,userId:re(o?.userId),address:o?.address,createdAt:o?.createdAt,isActive:o?.isActive}}import{CommunityListWidget_CommunityData as uO,GetWidgetsResponse_WidgetItem as le}from"@devvit/protos";var Fo,Mo,Uo,Bo,Em=class Em{constructor(e,t,i){l(this,Fo,void 0);l(this,Mo,void 0);l(this,Uo,void 0);l(this,Bo,void 0);J(this),d(this,Fo,e.id),d(this,Mo,e.shortName),d(this,Uo,t),d(this,Bo,i)}get id(){return n(this,Fo)}get name(){return n(this,Mo)}get subredditName(){return n(this,Uo)}toJSON(){return{id:this.id,name:this.name,subredditName:this.subredditName}}delete(){return Em.delete(this.subredditName,this.id,n(this,Bo))}static async getWidgets(e,t){let s=await u.redditAPIPlugins.Widgets.GetWidgets({subreddit:e},t);g(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 sl(p,e,t));break;case"calendar":a.push(new ol(p,e,t));break;case"textarea":a.push(new al(p,e,t));break;case"button":a.push(new dl(p,e,t));break;case"community-list":a.push(new ll(p,e,t));break;case"post-flair":a.push(new ul(p,e,t));break;case"custom":a.push(new cl(p,e,t));break;case"subreddit-rules":{let f=await u.redditAPIPlugins.Subreddits.SubredditAboutRules({subreddit:e},t);a.push(new xm(f,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 sl.create(e,t);case"calendar":return ol.create(e,t);case"textarea":return al.create(e,t);case"button":return dl.create(e,t);case"community-list":return ll.create(e,t);case"post-flair":return ul.create(e,t);case"custom":return cl.create(e,t);default:throw new Error("Unknown widget type")}}};Fo=new WeakMap,Mo=new WeakMap,Uo=new WeakMap,Bo=new WeakMap;var ie=Em,Lo,ml=class ml extends ie{constructor(t,i,s){super(t,i,s);l(this,Lo,void 0);d(this,Lo,t.data.map(o=>(g(o.url,"Image widget data is missing url"),g(o.height,"Image widget data is missing height"),g(o.width,"Image widget data is missing width"),g(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,Lo)}toJSON(){return{...super.toJSON(),images:this.images}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddImageWidget(t,i);return new ml(le.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateImageWidget(t,i);return new ml(le.fromJSON(o),t.subreddit,i)}};Lo=new WeakMap;var sl=ml,Do,_o,No,pl=class pl extends ie{constructor(t,i,s){super(t,i,s);l(this,Do,void 0);l(this,_o,void 0);l(this,No,void 0);g(t.googleCalendarId,"Calendar widget data is missing googleCalendarId"),g(t.configuration,"Calendar widget data is missing configuration"),g(t.styles,"Calendar widget data is missing styles"),d(this,Do,t.googleCalendarId),d(this,_o,t.configuration),d(this,No,t.styles)}get googleCalendarId(){return n(this,Do)}get configuration(){return n(this,_o)}get styles(){return n(this,No)}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 pl(le.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCalendarWidget(t,i);return new pl(le.fromJSON(o),t.subreddit,i)}};Do=new WeakMap,_o=new WeakMap,No=new WeakMap;var ol=pl,qo,Ho,fl=class fl extends ie{constructor(t,i,s){super(t,i,s);l(this,qo,void 0);l(this,Ho,void 0);g(t.text,"Textarea widget data is missing text"),g(t.styles,"Textarea widget data is missing styles"),d(this,qo,t.text),d(this,Ho,t.styles)}get text(){return n(this,qo)}get styles(){return n(this,Ho)}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 fl(le.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateTextAreaWidget(t,i);return new fl(le.fromJSON(o),t.subreddit,i)}};qo=new WeakMap,Ho=new WeakMap;var al=fl,jo,Wo,Go,gl=class gl extends ie{constructor(t,i,s){super(t,i,s);l(this,jo,void 0);l(this,Wo,void 0);l(this,Go,void 0);g(t.styles,"Button widget data is missing styles"),d(this,jo,t.buttons),d(this,Wo,t.description??""),d(this,Go,t.styles)}get buttons(){return n(this,jo)}get description(){return n(this,Wo)}get styles(){return n(this,Go)}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 gl(le.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateButtonWidget(t,i);return new gl(le.fromJSON(o),t.subreddit,i)}};jo=new WeakMap,Wo=new WeakMap,Go=new WeakMap;var dl=gl,zo,Vo,hl=class hl extends ie{constructor(t,i,s){super(t,i,s);l(this,zo,void 0);l(this,Vo,void 0);d(this,zo,t.data.map(o=>uO.fromJSON(o))),g(t.styles,"Community list widget data is missing styles"),d(this,Vo,t.styles)}get communities(){return n(this,zo)}get styles(){return n(this,Vo)}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 hl(le.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCommunityListWidget(t,i);return new hl(le.fromJSON(o),t.subreddit,i)}};zo=new WeakMap,Vo=new WeakMap;var ll=hl,Jo,$o,Ko,vl=class vl extends ie{constructor(t,i,s){super(t,i,s);l(this,Jo,void 0);l(this,$o,void 0);l(this,Ko,void 0);if(g(t.styles,"Post flair widget data is missing styles"),d(this,Jo,t.styles),d(this,$o,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,Ko,t.display)}get styles(){return n(this,Jo)}get templates(){return n(this,$o)}get display(){return n(this,Ko)}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 vl(le.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdatePostFlairWidget(t,i);return new vl(le.fromJSON(o),t.subreddit,i)}};Jo=new WeakMap,$o=new WeakMap,Ko=new WeakMap;var ul=vl,Xo,Zo,Yo,Qo,ea,yl=class yl extends ie{constructor(t,i,s){super(t,i,s);l(this,Xo,void 0);l(this,Zo,void 0);l(this,Yo,void 0);l(this,Qo,void 0);l(this,ea,void 0);g(t.stylesheetUrl,"Custom widget data is missing stylesheetUrl"),g(t.height,"Custom widget data is missing height"),g(t.css,"Custom widget data is missing css"),d(this,Xo,t.imageData??[]),d(this,Zo,t.text??""),d(this,Yo,t.stylesheetUrl),d(this,Qo,t.height),d(this,ea,t.css)}get images(){return n(this,Xo)}get text(){return n(this,Zo)}get stylesheetUrl(){return n(this,Yo)}get height(){return n(this,Qo)}get css(){return n(this,ea)}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 yl(le.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCustomWidget(t,i);return new yl(le.fromJSON(o),t.subreddit,i)}};Xo=new WeakMap,Zo=new WeakMap,Yo=new WeakMap,Qo=new WeakMap,ea=new WeakMap;var cl=yl,ta,xm=class extends ie{constructor(t,i,s,o){super(i,s,o);l(this,ta,void 0);let a=t.rules.map(({description:c,priority:p,shortName:f,violationReason:v})=>(g(c,"Subreddit rule is missing description"),g(p,"Subreddit rule is missing priority"),g(f,"Subreddit rule is missing shortName"),g(v,"Subreddit rule is missing violationReason"),{description:c,priority:p,shortName:f,violationReason:v}));d(this,ta,a)}get rules(){return n(this,ta)}toJSON(){return{...super.toJSON(),rules:this.rules}}};ta=new WeakMap;var cO=(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))(cO||{}),ke,Pe,dn,ln,un,cn,mn,$e,Ne=class Ne{constructor(e,t,i,s){l(this,ke,void 0);l(this,Pe,void 0);l(this,dn,void 0);l(this,ln,void 0);l(this,un,void 0);l(this,cn,void 0);l(this,mn,void 0);l(this,$e,void 0);J(this),d(this,ke,e),d(this,Pe,t),d(this,dn,i.contentMd),d(this,ln,i.revisionId),d(this,un,new Date(i.revisionDate)),d(this,cn,i.reason??""),g(i.revisionBy?.data,"Wiki page author details are missing"),d(this,mn,new w(i.revisionBy.data,s)),d(this,$e,s)}get name(){return n(this,ke)}get subredditName(){return n(this,Pe)}get content(){return n(this,dn)}get revisionId(){return n(this,ln)}get revisionDate(){return n(this,un)}get revisionReason(){return n(this,cn)}get revisionAuthor(){return n(this,mn)}toJSON(){return{name:n(this,ke),subredditName:n(this,Pe),content:n(this,dn),revisionId:n(this,ln),revisionDate:n(this,un),revisionReason:n(this,cn),revisionAuthor:n(this,mn).toJSON()}}async update(e,t){return Ne.updatePage({subredditName:n(this,Pe),page:n(this,ke),content:e,reason:t},n(this,$e))}async getRevisions(e){return Ne.getPageRevisions({subredditName:n(this,Pe),page:n(this,ke),...e},n(this,$e))}async revertTo(e){return Ne.revertPage(n(this,Pe),n(this,ke),e,n(this,$e))}async getSettings(){return Ne.getPageSettings(n(this,Pe),n(this,ke),n(this,$e))}async updateSettings(e){return Ne.updatePageSettings({subredditName:n(this,Pe),page:n(this,ke),listed:e.listed,permLevel:e.permLevel},n(this,$e))}async addEditor(e){return Ne.addEditor(n(this,Pe),n(this,ke),e,n(this,$e))}async removeEditor(e){return Ne.removeEditor(n(this,Pe),n(this,ke),e,n(this,$e))}static async getPage(e,t,i){let o=await u.redditAPIPlugins.Wiki.GetWikiPage({subreddit:e,page:t},i);return g(o.data,"Failed to get wiki page"),new Ne(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 Ne.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),Ne.getPage(e.subredditName,e.page,t)}static getPageRevisions(e,t){let i=u.redditAPIPlugins.Wiki;return new j({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 mO(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 g(o.data,"Failed to get wiki page settings"),new bl(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 g(s.data,"Failed to update wiki page settings"),new bl(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)}};ke=new WeakMap,Pe=new WeakMap,dn=new WeakMap,ln=new WeakMap,un=new WeakMap,cn=new WeakMap,mn=new WeakMap,$e=new WeakMap;var ve=Ne,pn,fn,gn,hn,vn,yn,Tm=class{constructor(e,t){l(this,pn,void 0);l(this,fn,void 0);l(this,gn,void 0);l(this,hn,void 0);l(this,vn,void 0);l(this,yn,void 0);d(this,pn,e.id),d(this,fn,e.page),d(this,gn,new Date(e.timestamp)),g(e.author?.data,"Wiki page revision author details are missing"),d(this,hn,new w(e.author.data,t)),d(this,vn,e.reason??""),d(this,yn,e.revisionHidden??!1)}get id(){return n(this,pn)}get page(){return n(this,fn)}get date(){return n(this,gn)}get author(){return n(this,hn)}get reason(){return n(this,vn)}get hidden(){return n(this,yn)}toJSON(){return{id:n(this,pn),page:n(this,fn),date:n(this,gn),author:n(this,hn).toJSON(),reason:n(this,vn),hidden:n(this,yn)}}};pn=new WeakMap,fn=new WeakMap,gn=new WeakMap,hn=new WeakMap,vn=new WeakMap,yn=new WeakMap;var bn,kn,Pn,bl=class{constructor(e,t){l(this,bn,void 0);l(this,kn,void 0);l(this,Pn,void 0);d(this,bn,e.listed),d(this,kn,e.permLevel),d(this,Pn,e.editors.map(i=>(g(i.data,"Wiki page editor details are missing"),new w(i.data,t))))}get listed(){return n(this,bn)}get permLevel(){return n(this,kn)}get editors(){return n(this,Pn)}toJSON(){return{listed:n(this,bn),permLevel:n(this,kn),editors:n(this,Pn).map(e=>e.toJSON())}}};bn=new WeakMap,kn=new WeakMap,Pn=new WeakMap;function mO(r,e){return g(r.data?.children,"Wiki page revision listing is missing children"),{children:r.data.children.map(i=>new Tm(i,e)),before:r.data.before,after:r.data.after}}var pO=(t=>(t.Gallery="GALLERY",t.Timeline="TIMELINE",t))(pO||{});function fO(r){return r==="GALLERY"?"GALLERY":"TIMELINE"}var qe,Se,ia,Sn,Cn,na,sa,oa,aa,gt,da,la,In,ra=class ra{constructor(e,t){l(this,qe,void 0);l(this,Se,void 0);l(this,ia,void 0);l(this,Sn,void 0);l(this,Cn,void 0);l(this,na,void 0);l(this,sa,void 0);l(this,oa,void 0);l(this,aa,void 0);l(this,gt,void 0);l(this,da,void 0);l(this,la,void 0);l(this,In,void 0);g(e.collectionId,"Collection Id is missing or undefined"),g(e.subredditId,"Subreddit Id is missing or undefined"),g(e.title,"Collection title is missing or undefined"),g(e.authorId,"Collection author's id is missing or undefined"),g(e.authorName,"Collection author's id is missing or undefined"),g(e.createdAtUtc,"Collection create timestamp is missing"),g(e.lastUpdateUtc,"Collection last updated timestamp is missing"),d(this,qe,t),d(this,Se,e.collectionId),d(this,ia,e.subredditId),d(this,Sn,e.title),d(this,Cn,e.description||""),d(this,na,e.authorId),d(this,sa,e.authorName),d(this,oa,e.permalink),d(this,aa,e.primaryLinkId),d(this,gt,e.linkIds||[]),d(this,In,fO(e.displayLayout)),d(this,da,e.createdAtUtc),d(this,la,e.lastUpdateUtc),J(this)}get id(){return n(this,Se)}get subredditId(){return n(this,ia)}get title(){return n(this,Sn)}get description(){return n(this,Cn)}get authorId(){return n(this,na)}get authorName(){return n(this,sa)}get permalink(){return n(this,oa)}get primaryLinkId(){return n(this,aa)}get linkIds(){return n(this,gt)}get createdAtUtc(){return n(this,da)}get lastUpdateUtc(){return n(this,la)}get displayLayout(){return n(this,In)}static async getCollectionById(e,t){let s=await u.redditAPIPlugins.PostCollections.Collection(e,t);return new ra(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 ra(s,t)}static async getCollectionsForSubreddit(e,t){return(await u.redditapiv2Plugin.GetSubredditCollections({srFullname:e.subredditId},t)).collections.map(s=>new ra(s,t))}async addPost(e){await u.redditAPIPlugins.PostCollections.AddPost({collectionId:n(this,Se),linkFullname:e},n(this,qe)),n(this,gt).push(e)}async removePost(e){await u.redditAPIPlugins.PostCollections.RemovePost({collectionId:n(this,Se),linkFullname:e},n(this,qe)),d(this,gt,n(this,gt).filter(i=>i!==e))}async delete(){await u.redditAPIPlugins.PostCollections.Delete({collectionId:n(this,Se)},n(this,qe))}async follow(e){await u.redditAPIPlugins.PostCollections.Follow({collectionId:n(this,Se),follow:e},n(this,qe))}async reorder(e){await u.redditAPIPlugins.PostCollections.Reorder({collectionId:n(this,Se),linkIds:e.join(",")},n(this,qe)),d(this,gt,e)}async updateTitle(e){await u.redditAPIPlugins.PostCollections.UpdateTitle({collectionId:n(this,Se),title:e},n(this,qe)),d(this,Sn,e)}async updateDescription(e){await u.redditAPIPlugins.PostCollections.UpdateDescription({collectionId:n(this,Se),description:e},n(this,qe)),d(this,Cn,e)}async updateLayout(e){await u.redditAPIPlugins.PostCollections.UpdateDisplayLayout({collectionId:n(this,Se),displayLayout:e},n(this,qe)),d(this,In,e)}};qe=new WeakMap,Se=new WeakMap,ia=new WeakMap,Sn=new WeakMap,Cn=new WeakMap,na=new WeakMap,sa=new WeakMap,oa=new WeakMap,aa=new WeakMap,gt=new WeakMap,da=new WeakMap,la=new WeakMap,In=new WeakMap;var Zr=ra;var gO=["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"],hO=["border-image","border-image-source","behavior","expression","list-style-image","cursor","content"],vO=["onload","onerror","onclick","onmouseover"];function yO(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 $k(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*(${gO.join("|")})\\b`,"gi"),t=new RegExp(`(${hO.join("|")})\\s*:\\s*url\\s*\\((['"]?)(.*?)\\2\\)`,"gi"),i=new RegExp(`(${vO.join("|")})\\s*(=\\s*(['"]?)(.*?)\\3)?`,"gi");r=r.trim().replace(/\s+/g," "),r=yO(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 Vq(r,...e){let t="";return r.forEach((i,s)=>{t+=i;let o=e[s];o!==void 0&&(t+=`${o}`)}),t=$k(t),t===void 0?"":`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(t)}`}var Kk="ServerCallRequired";var Xk=Rr(Dd(),1);var rt,ht,ua,wn,ca,Tr,ma,Rm=class{constructor(e,t,i){l(this,rt,void 0);l(this,ht,void 0);l(this,ua,void 0);l(this,wn,void 0);l(this,ca,void 0);l(this,Tr,void 0);l(this,ma,void 0);d(this,rt,!!i.context.devvitContext.debug.useAsync),n(this,rt)&&console.debug("[useAsync] v1",t),this.state={data:null,loading:!1,error:null,depends:null},d(this,ht,i.hookId),d(this,ua,e),d(this,wn,i.invalidate),d(this,ca,i.context),d(this,Tr,t.depends??null),d(this,ma,t.enabled??!0)}onStateLoaded(){if(n(this,ma)&&(n(this,rt)&&console.debug("[useAsync] async onLoad ",n(this,ht),this.state),n(this,rt)&&console.debug("[useAsync] async onLoad have ",n(this,Tr),"and",this.state.depends),!(0,Xk.default)(n(this,Tr),this.state.depends)||this.state.data===null&&this.state.error===null&&this.state.loading===!1)){this.state.loading=!0,this.state.depends=n(this,Tr),n(this,wn).call(this);let e={hook:n(this,ht),async:!0,asyncRequest:{requestId:n(this,ht)+"-"+JSON.stringify(this.state.depends)}};n(this,rt)&&console.debug("[useAsync] onLoad requeue"),n(this,ca).addToRequeueEvents(e)}}async onUIEvent(e,t){if(e.asyncRequest){let i={requestId:e.asyncRequest.requestId};try{i.data={value:await n(this,ua).call(this)}}catch(o){if(o instanceof Error){if(o.message===Kk)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,ht)};n(this,rt)&&console.debug("[useAsync] onReq requeue"),t.addToRequeueEvents(s)}else if(e.asyncResponse){let i=n(this,ht)+"-"+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,rt)&&console.debug("[useAsync] onResp skip, stale event")}else throw new Error("Unknown event type")}};rt=new WeakMap,ht=new WeakMap,ua=new WeakMap,wn=new WeakMap,ca=new WeakMap,Tr=new WeakMap,ma=new WeakMap;function bO(r,e={}){return De({namespace:"useAsync"},i=>new Rm(r,e,i)).state}export{qM as ALL_ICON_NAMES,qv as AboutLocations,dl as ButtonWidget,ol as CalendarWidget,pO as CollectionDisplayLayout,X as Comment,ll as CommunityListWidget,cl as CustomWidget,u as Devvit,Me as Flair,ae as FlairTemplate,jR as FlairType,Pt as Hook,sl as ImageWidget,j as Listing,sO as ModMailActionType,iO as ModMailConversationState,dd as ModMailService,Fe as ModNote,z as Post,Zr as PostCollection,ul as PostFlairWidget,sr as PrivateMessage,Fs as RichTextBuilder,bc as SettingScope,he as Subreddit,xm as SubredditRulesWidget,al as TextAreaWidget,w as User,ie as Widget,ve as WikiPage,cO as WikiPagePermissionLevel,Tm as WikiPageRevision,bl as WikiPageSettings,Ls as convertUserFlairProtoToAPI,ad as getModerationLog,Hv as getVaultByAddress,jv as getVaultByUserId,Vq as svg,bO as useAsync,OR as useAsyncState,nm as useForm,lm as useInterval,cm as useState};
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};
6
6
  /*! Bundled license information:
7
7
 
8
8
  shallow-clone/index.js: