@devvit/public-api 0.10.19-next-2024-04-04-1e753cc74.0 → 0.10.19-next-2024-04-04-fecb0a2bb.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 vP=Object.create;var Fm=Object.defineProperty;var bP=Object.getOwnPropertyDescriptor;var PP=Object.getOwnPropertyNames;var kP=Object.getPrototypeOf,SP=Object.prototype.hasOwnProperty;var b=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var wP=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of PP(e))!SP.call(r,n)&&n!==t&&Fm(r,n,{get:()=>e[n],enumerable:!(i=bP(e,n))||i.enumerable});return r};var In=(r,e,t)=>(t=r!=null?vP(kP(r)):{},wP(e||!r||!r.__esModule?Fm(t,"default",{value:r,enumerable:!0}):t,r));var gl=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var o=(r,e,t)=>(gl(r,e,"read from private field"),t?t.call(r):e.get(r)),u=(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)},l=(r,e,t,i)=>(gl(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t);var k=(r,e,t)=>(gl(r,e,"access private method"),t);var se=b((hO,Om)=>{Om.exports=function(r){try{return!!r()}catch{return!0}}});var ua=b((yO,Bm)=>{var xP=se();Bm.exports=!xP(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")})});var K=b((vO,Lm)=>{var Um=ua(),Mm=Function.prototype,hl=Mm.call,CP=Um&&Mm.bind.bind(hl,hl);Lm.exports=Um?CP:function(r){return function(){return hl.apply(r,arguments)}}});var Nm=b((bO,Dm)=>{var IP=Math.ceil,AP=Math.floor;Dm.exports=Math.trunc||function(e){var t=+e;return(t>0?AP:IP)(t)}});var ca=b((PO,_m)=>{var EP=Nm();_m.exports=function(r){var e=+r;return e!==e||e===0?0:EP(e)}});var me=b((kO,qm)=>{var ma=function(r){return r&&r.Math==Math&&r};qm.exports=ma(typeof globalThis=="object"&&globalThis)||ma(typeof window=="object"&&window)||ma(typeof self=="object"&&self)||ma(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var Ar=b((SO,Hm)=>{Hm.exports=!1});var pa=b((wO,Wm)=>{var jm=me(),TP=Object.defineProperty;Wm.exports=function(r,e){try{TP(jm,r,{value:e,configurable:!0,writable:!0})}catch{jm[r]=e}return e}});var fa=b((xO,zm)=>{var RP=me(),FP=pa(),Gm="__core-js_shared__",OP=RP[Gm]||FP(Gm,{});zm.exports=OP});var yl=b((CO,$m)=>{var BP=Ar(),Vm=fa();($m.exports=function(r,e){return Vm[r]||(Vm[r]=e!==void 0?e:{})})("versions",[]).push({version:"3.27.2",mode:BP?"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 ga=b((IO,Jm)=>{Jm.exports=function(r){return r==null}});var ha=b((AO,Km)=>{var UP=ga(),MP=TypeError;Km.exports=function(r){if(UP(r))throw MP("Can't call method on "+r);return r}});var An=b((EO,Xm)=>{var LP=ha(),DP=Object;Xm.exports=function(r){return DP(LP(r))}});var we=b((TO,Zm)=>{var NP=K(),_P=An(),qP=NP({}.hasOwnProperty);Zm.exports=Object.hasOwn||function(e,t){return qP(_P(e),t)}});var vl=b((RO,Ym)=>{var HP=K(),jP=0,WP=Math.random(),GP=HP(1 .toString);Ym.exports=function(r){return"Symbol("+(r===void 0?"":r)+")_"+GP(++jP+WP,36)}});var ep=b((FO,Qm)=>{Qm.exports=typeof navigator<"u"&&String(navigator.userAgent)||""});var ap=b((OO,sp)=>{var op=me(),bl=ep(),tp=op.process,rp=op.Deno,ip=tp&&tp.versions||rp&&rp.version,np=ip&&ip.v8,qe,ya;np&&(qe=np.split("."),ya=qe[0]>0&&qe[0]<4?1:+(qe[0]+qe[1]));!ya&&bl&&(qe=bl.match(/Edge\/(\d+)/),(!qe||qe[1]>=74)&&(qe=bl.match(/Chrome\/(\d+)/),qe&&(ya=+qe[1])));sp.exports=ya});var Pl=b((BO,lp)=>{var dp=ap(),zP=se();lp.exports=!!Object.getOwnPropertySymbols&&!zP(function(){var r=Symbol();return!String(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&dp&&dp<41})});var kl=b((UO,up)=>{var VP=Pl();up.exports=VP&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var xe=b((MO,mp)=>{var $P=me(),JP=yl(),cp=we(),KP=vl(),XP=Pl(),ZP=kl(),Er=$P.Symbol,Sl=JP("wks"),YP=ZP?Er.for||Er:Er&&Er.withoutSetter||KP;mp.exports=function(r){return cp(Sl,r)||(Sl[r]=XP&&cp(Er,r)?Er[r]:YP("Symbol."+r)),Sl[r]}});var gp=b((LO,fp)=>{var QP=xe(),ek=QP("toStringTag"),pp={};pp[ek]="z";fp.exports=String(pp)==="[object z]"});var xl=b((DO,hp)=>{var wl=typeof document=="object"&&document.all,tk=typeof wl>"u"&&wl!==void 0;hp.exports={all:wl,IS_HTMLDDA:tk}});var X=b((NO,vp)=>{var yp=xl(),rk=yp.all;vp.exports=yp.IS_HTMLDDA?function(r){return typeof r=="function"||r===rk}:function(r){return typeof r=="function"}});var va=b((_O,Pp)=>{var bp=K(),ik=bp({}.toString),nk=bp("".slice);Pp.exports=function(r){return nk(ik(r),8,-1)}});var En=b((qO,kp)=>{var ok=gp(),sk=X(),ba=va(),ak=xe(),dk=ak("toStringTag"),lk=Object,uk=ba(function(){return arguments}())=="Arguments",ck=function(r,e){try{return r[e]}catch{}};kp.exports=ok?ba:function(r){var e,t,i;return r===void 0?"Undefined":r===null?"Null":typeof(t=ck(e=lk(r),dk))=="string"?t:uk?ba(e):(i=ba(e))=="Object"&&sk(e.callee)?"Arguments":i}});var Tn=b((HO,Sp)=>{var mk=En(),pk=String;Sp.exports=function(r){if(mk(r)==="Symbol")throw TypeError("Cannot convert a Symbol value to a string");return pk(r)}});var Il=b((jO,Cp)=>{var Cl=K(),fk=ca(),gk=Tn(),hk=ha(),yk=Cl("".charAt),wp=Cl("".charCodeAt),vk=Cl("".slice),xp=function(r){return function(e,t){var i=gk(hk(e)),n=fk(t),s=i.length,a,d;return n<0||n>=s?r?"":void 0:(a=wp(i,n),a<55296||a>56319||n+1===s||(d=wp(i,n+1))<56320||d>57343?r?yk(i,n):a:r?vk(i,n,n+2):(a-55296<<10)+(d-56320)+65536)}};Cp.exports={codeAt:xp(!1),charAt:xp(!0)}});var Ep=b((WO,Ap)=>{var bk=me(),Pk=X(),Ip=bk.WeakMap;Ap.exports=Pk(Ip)&&/native code/.test(String(Ip))});var vt=b((GO,Fp)=>{var Tp=X(),Rp=xl(),kk=Rp.all;Fp.exports=Rp.IS_HTMLDDA?function(r){return typeof r=="object"?r!==null:Tp(r)||r===kk}:function(r){return typeof r=="object"?r!==null:Tp(r)}});var pe=b((zO,Op)=>{var Sk=se();Op.exports=!Sk(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var El=b((VO,Up)=>{var wk=me(),Bp=vt(),Al=wk.document,xk=Bp(Al)&&Bp(Al.createElement);Up.exports=function(r){return xk?Al.createElement(r):{}}});var Tl=b(($O,Mp)=>{var Ck=pe(),Ik=se(),Ak=El();Mp.exports=!Ck&&!Ik(function(){return Object.defineProperty(Ak("div"),"a",{get:function(){return 7}}).a!=7})});var Rl=b((JO,Lp)=>{var Ek=pe(),Tk=se();Lp.exports=Ek&&Tk(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Xe=b((KO,Dp)=>{var Rk=vt(),Fk=String,Ok=TypeError;Dp.exports=function(r){if(Rk(r))return r;throw Ok(Fk(r)+" is not an object")}});var He=b((XO,Np)=>{var Bk=ua(),Pa=Function.prototype.call;Np.exports=Bk?Pa.bind(Pa):function(){return Pa.apply(Pa,arguments)}});var Rn=b((ZO,_p)=>{var Fl=me(),Uk=X(),Mk=function(r){return Uk(r)?r:void 0};_p.exports=function(r,e){return arguments.length<2?Mk(Fl[r]):Fl[r]&&Fl[r][e]}});var Ol=b((YO,qp)=>{var Lk=K();qp.exports=Lk({}.isPrototypeOf)});var Bl=b((QO,Hp)=>{var Dk=Rn(),Nk=X(),_k=Ol(),qk=kl(),Hk=Object;Hp.exports=qk?function(r){return typeof r=="symbol"}:function(r){var e=Dk("Symbol");return Nk(e)&&_k(e.prototype,Hk(r))}});var Ul=b((eB,jp)=>{var jk=String;jp.exports=function(r){try{return jk(r)}catch{return"Object"}}});var ka=b((tB,Wp)=>{var Wk=X(),Gk=Ul(),zk=TypeError;Wp.exports=function(r){if(Wk(r))return r;throw zk(Gk(r)+" is not a function")}});var Sa=b((rB,Gp)=>{var Vk=ka(),$k=ga();Gp.exports=function(r,e){var t=r[e];return $k(t)?void 0:Vk(t)}});var Vp=b((iB,zp)=>{var Ml=He(),Ll=X(),Dl=vt(),Jk=TypeError;zp.exports=function(r,e){var t,i;if(e==="string"&&Ll(t=r.toString)&&!Dl(i=Ml(t,r))||Ll(t=r.valueOf)&&!Dl(i=Ml(t,r))||e!=="string"&&Ll(t=r.toString)&&!Dl(i=Ml(t,r)))return i;throw Jk("Can't convert object to primitive value")}});var Xp=b((nB,Kp)=>{var Kk=He(),$p=vt(),Jp=Bl(),Xk=Sa(),Zk=Vp(),Yk=xe(),Qk=TypeError,eS=Yk("toPrimitive");Kp.exports=function(r,e){if(!$p(r)||Jp(r))return r;var t=Xk(r,eS),i;if(t){if(e===void 0&&(e="default"),i=Kk(t,r,e),!$p(i)||Jp(i))return i;throw Qk("Can't convert object to primitive value")}return e===void 0&&(e="number"),Zk(r,e)}});var wa=b((oB,Zp)=>{var tS=Xp(),rS=Bl();Zp.exports=function(r){var e=tS(r,"string");return rS(e)?e:e+""}});var Ze=b(Qp=>{var iS=pe(),nS=Tl(),oS=Rl(),xa=Xe(),Yp=wa(),sS=TypeError,Nl=Object.defineProperty,aS=Object.getOwnPropertyDescriptor,_l="enumerable",ql="configurable",Hl="writable";Qp.f=iS?oS?function(e,t,i){if(xa(e),t=Yp(t),xa(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Hl in i&&!i[Hl]){var n=aS(e,t);n&&n[Hl]&&(e[t]=i.value,i={configurable:ql in i?i[ql]:n[ql],enumerable:_l in i?i[_l]:n[_l],writable:!1})}return Nl(e,t,i)}:Nl:function(e,t,i){if(xa(e),t=Yp(t),xa(i),nS)try{return Nl(e,t,i)}catch{}if("get"in i||"set"in i)throw sS("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var Tr=b((aB,ef)=>{ef.exports=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}}});var Ca=b((dB,tf)=>{var dS=pe(),lS=Ze(),uS=Tr();tf.exports=dS?function(r,e,t){return lS.f(r,e,uS(1,t))}:function(r,e,t){return r[e]=t,r}});var Ia=b((lB,nf)=>{var cS=yl(),mS=vl(),rf=cS("keys");nf.exports=function(r){return rf[r]||(rf[r]=mS(r))}});var Aa=b((uB,of)=>{of.exports={}});var Rr=b((cB,df)=>{var pS=Ep(),af=me(),fS=vt(),gS=Ca(),jl=we(),Wl=fa(),hS=Ia(),yS=Aa(),sf="Object already initialized",Gl=af.TypeError,vS=af.WeakMap,Ea,Fn,Ta,bS=function(r){return Ta(r)?Fn(r):Ea(r,{})},PS=function(r){return function(e){var t;if(!fS(e)||(t=Fn(e)).type!==r)throw Gl("Incompatible receiver, "+r+" required");return t}};pS||Wl.state?(je=Wl.state||(Wl.state=new vS),je.get=je.get,je.has=je.has,je.set=je.set,Ea=function(r,e){if(je.has(r))throw Gl(sf);return e.facade=r,je.set(r,e),e},Fn=function(r){return je.get(r)||{}},Ta=function(r){return je.has(r)}):(Jt=hS("state"),yS[Jt]=!0,Ea=function(r,e){if(jl(r,Jt))throw Gl(sf);return e.facade=r,gS(r,Jt,e),e},Fn=function(r){return jl(r,Jt)?r[Jt]:{}},Ta=function(r){return jl(r,Jt)});var je,Jt;df.exports={set:Ea,get:Fn,has:Ta,enforce:bS,getterFor:PS}});var zl=b(cf=>{"use strict";var lf={}.propertyIsEnumerable,uf=Object.getOwnPropertyDescriptor,kS=uf&&!lf.call({1:2},1);cf.f=kS?function(e){var t=uf(this,e);return!!t&&t.enumerable}:lf});var $l=b((pB,mf)=>{var SS=K(),wS=se(),xS=va(),Vl=Object,CS=SS("".split);mf.exports=wS(function(){return!Vl("z").propertyIsEnumerable(0)})?function(r){return xS(r)=="String"?CS(r,""):Vl(r)}:Vl});var Fr=b((fB,pf)=>{var IS=$l(),AS=ha();pf.exports=function(r){return IS(AS(r))}});var Jl=b(gf=>{var ES=pe(),TS=He(),RS=zl(),FS=Tr(),OS=Fr(),BS=wa(),US=we(),MS=Tl(),ff=Object.getOwnPropertyDescriptor;gf.f=ES?ff:function(e,t){if(e=OS(e),t=BS(t),MS)try{return ff(e,t)}catch{}if(US(e,t))return FS(!TS(RS.f,e,t),e[t])}});var Zl=b((hB,yf)=>{var Kl=pe(),LS=we(),hf=Function.prototype,DS=Kl&&Object.getOwnPropertyDescriptor,Xl=LS(hf,"name"),NS=Xl&&function(){}.name==="something",_S=Xl&&(!Kl||Kl&&DS(hf,"name").configurable);yf.exports={EXISTS:Xl,PROPER:NS,CONFIGURABLE:_S}});var Ql=b((yB,vf)=>{var qS=K(),HS=X(),Yl=fa(),jS=qS(Function.toString);HS(Yl.inspectSource)||(Yl.inspectSource=function(r){return jS(r)});vf.exports=Yl.inspectSource});var ru=b((vB,kf)=>{var tu=K(),WS=se(),GS=X(),Ra=we(),eu=pe(),zS=Zl().CONFIGURABLE,VS=Ql(),Pf=Rr(),$S=Pf.enforce,JS=Pf.get,bf=String,Fa=Object.defineProperty,KS=tu("".slice),XS=tu("".replace),ZS=tu([].join),YS=eu&&!WS(function(){return Fa(function(){},"length",{value:8}).length!==8}),QS=String(String).split("String"),ew=kf.exports=function(r,e,t){KS(bf(e),0,7)==="Symbol("&&(e="["+XS(bf(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),t&&t.getter&&(e="get "+e),t&&t.setter&&(e="set "+e),(!Ra(r,"name")||zS&&r.name!==e)&&(eu?Fa(r,"name",{value:e,configurable:!0}):r.name=e),YS&&t&&Ra(t,"arity")&&r.length!==t.arity&&Fa(r,"length",{value:t.arity});try{t&&Ra(t,"constructor")&&t.constructor?eu&&Fa(r,"prototype",{writable:!1}):r.prototype&&(r.prototype=void 0)}catch{}var i=$S(r);return Ra(i,"source")||(i.source=ZS(QS,typeof e=="string"?e:"")),r};Function.prototype.toString=ew(function(){return GS(this)&&JS(this).source||VS(this)},"toString")});var Kt=b((bB,Sf)=>{var tw=X(),rw=Ze(),iw=ru(),nw=pa();Sf.exports=function(r,e,t,i){i||(i={});var n=i.enumerable,s=i.name!==void 0?i.name:e;if(tw(t)&&iw(t,s,i),i.global)n?r[e]=t:nw(e,t);else{try{i.unsafe?r[e]&&(n=!0):delete r[e]}catch{}n?r[e]=t:rw.f(r,e,{value:t,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return r}});var iu=b((PB,wf)=>{var ow=ca(),sw=Math.max,aw=Math.min;wf.exports=function(r,e){var t=ow(r);return t<0?sw(t+e,0):aw(t,e)}});var Cf=b((kB,xf)=>{var dw=ca(),lw=Math.min;xf.exports=function(r){return r>0?lw(dw(r),9007199254740991):0}});var Oa=b((SB,If)=>{var uw=Cf();If.exports=function(r){return uw(r.length)}});var Tf=b((wB,Ef)=>{var cw=Fr(),mw=iu(),pw=Oa(),Af=function(r){return function(e,t,i){var n=cw(e),s=pw(n),a=mw(i,s),d;if(r&&t!=t){for(;s>a;)if(d=n[a++],d!=d)return!0}else for(;s>a;a++)if((r||a in n)&&n[a]===t)return r||a||0;return!r&&-1}};Ef.exports={includes:Af(!0),indexOf:Af(!1)}});var ou=b((xB,Ff)=>{var fw=K(),nu=we(),gw=Fr(),hw=Tf().indexOf,yw=Aa(),Rf=fw([].push);Ff.exports=function(r,e){var t=gw(r),i=0,n=[],s;for(s in t)!nu(yw,s)&&nu(t,s)&&Rf(n,s);for(;e.length>i;)nu(t,s=e[i++])&&(~hw(n,s)||Rf(n,s));return n}});var Ba=b((CB,Of)=>{Of.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Uf=b(Bf=>{var vw=ou(),bw=Ba(),Pw=bw.concat("length","prototype");Bf.f=Object.getOwnPropertyNames||function(e){return vw(e,Pw)}});var su=b(Mf=>{Mf.f=Object.getOwnPropertySymbols});var Df=b((EB,Lf)=>{var kw=Rn(),Sw=K(),ww=Uf(),xw=su(),Cw=Xe(),Iw=Sw([].concat);Lf.exports=kw("Reflect","ownKeys")||function(e){var t=ww.f(Cw(e)),i=xw.f;return i?Iw(t,i(e)):t}});var qf=b((TB,_f)=>{var Nf=we(),Aw=Df(),Ew=Jl(),Tw=Ze();_f.exports=function(r,e,t){for(var i=Aw(e),n=Tw.f,s=Ew.f,a=0;a<i.length;a++){var d=i[a];!Nf(r,d)&&!(t&&Nf(t,d))&&n(r,d,s(e,d))}}});var jf=b((RB,Hf)=>{var Rw=se(),Fw=X(),Ow=/#|\.prototype\./,On=function(r,e){var t=Uw[Bw(r)];return t==Lw?!0:t==Mw?!1:Fw(e)?Rw(e):!!e},Bw=On.normalize=function(r){return String(r).replace(Ow,".").toLowerCase()},Uw=On.data={},Mw=On.NATIVE="N",Lw=On.POLYFILL="P";Hf.exports=On});var Bn=b((FB,Wf)=>{var au=me(),Dw=Jl().f,Nw=Ca(),_w=Kt(),qw=pa(),Hw=qf(),jw=jf();Wf.exports=function(r,e){var t=r.target,i=r.global,n=r.stat,s,a,d,p,f,g;if(i?a=au:n?a=au[t]||qw(t,{}):a=(au[t]||{}).prototype,a)for(d in e){if(f=e[d],r.dontCallGetSet?(g=Dw(a,d),p=g&&g.value):p=a[d],s=jw(i?d:t+(n?".":"#")+d,r.forced),!s&&p!==void 0){if(typeof f==typeof p)continue;Hw(f,p)}(r.sham||p&&p.sham)&&Nw(f,"sham",!0),_w(a,d,f,r)}}});var du=b((OB,Gf)=>{var Ww=ou(),Gw=Ba();Gf.exports=Object.keys||function(e){return Ww(e,Gw)}});var Vf=b(zf=>{var zw=pe(),Vw=Rl(),$w=Ze(),Jw=Xe(),Kw=Fr(),Xw=du();zf.f=zw&&!Vw?Object.defineProperties:function(e,t){Jw(e);for(var i=Kw(t),n=Xw(t),s=n.length,a=0,d;s>a;)$w.f(e,d=n[a++],i[d]);return e}});var Jf=b((UB,$f)=>{var Zw=Rn();$f.exports=Zw("document","documentElement")});var Un=b((MB,tg)=>{var Yw=Xe(),Qw=Vf(),Kf=Ba(),ex=Aa(),tx=Jf(),rx=El(),ix=Ia(),Xf=">",Zf="<",uu="prototype",cu="script",Qf=ix("IE_PROTO"),lu=function(){},eg=function(r){return Zf+cu+Xf+r+Zf+"/"+cu+Xf},Yf=function(r){r.write(eg("")),r.close();var e=r.parentWindow.Object;return r=null,e},nx=function(){var r=rx("iframe"),e="java"+cu+":",t;return r.style.display="none",tx.appendChild(r),r.src=String(e),t=r.contentWindow.document,t.open(),t.write(eg("document.F=Object")),t.close(),t.F},Ua,Ma=function(){try{Ua=new ActiveXObject("htmlfile")}catch{}Ma=typeof document<"u"?document.domain&&Ua?Yf(Ua):nx():Yf(Ua);for(var r=Kf.length;r--;)delete Ma[uu][Kf[r]];return Ma()};ex[Qf]=!0;tg.exports=Object.create||function(e,t){var i;return e!==null?(lu[uu]=Yw(e),i=new lu,lu[uu]=null,i[Qf]=e):i=Ma(),t===void 0?i:Qw.f(i,t)}});var ig=b((LB,rg)=>{var ox=se();rg.exports=!ox(function(){function r(){}return r.prototype.constructor=null,Object.getPrototypeOf(new r)!==r.prototype})});var pu=b((DB,og)=>{var sx=we(),ax=X(),dx=An(),lx=Ia(),ux=ig(),ng=lx("IE_PROTO"),mu=Object,cx=mu.prototype;og.exports=ux?mu.getPrototypeOf:function(r){var e=dx(r);if(sx(e,ng))return e[ng];var t=e.constructor;return ax(t)&&e instanceof t?t.prototype:e instanceof mu?cx:null}});var yu=b((NB,dg)=>{"use strict";var mx=se(),px=X(),fx=vt(),gx=Un(),sg=pu(),hx=Kt(),yx=xe(),vx=Ar(),hu=yx("iterator"),ag=!1,nt,fu,gu;[].keys&&(gu=[].keys(),"next"in gu?(fu=sg(sg(gu)),fu!==Object.prototype&&(nt=fu)):ag=!0);var bx=!fx(nt)||mx(function(){var r={};return nt[hu].call(r)!==r});bx?nt={}:vx&&(nt=gx(nt));px(nt[hu])||hx(nt,hu,function(){return this});dg.exports={IteratorPrototype:nt,BUGGY_SAFARI_ITERATORS:ag}});var Mn=b((_B,ug)=>{var Px=Ze().f,kx=we(),Sx=xe(),lg=Sx("toStringTag");ug.exports=function(r,e,t){r&&!t&&(r=r.prototype),r&&!kx(r,lg)&&Px(r,lg,{configurable:!0,value:e})}});var Or=b((qB,cg)=>{cg.exports={}});var vu=b((HB,mg)=>{"use strict";var wx=yu().IteratorPrototype,xx=Un(),Cx=Tr(),Ix=Mn(),Ax=Or(),Ex=function(){return this};mg.exports=function(r,e,t,i){var n=e+" Iterator";return r.prototype=xx(wx,{next:Cx(+!i,t)}),Ix(r,n,!1,!0),Ax[n]=Ex,r}});var fg=b((jB,pg)=>{var Tx=X(),Rx=String,Fx=TypeError;pg.exports=function(r){if(typeof r=="object"||Tx(r))return r;throw Fx("Can't set "+Rx(r)+" as a prototype")}});var hg=b((WB,gg)=>{var Ox=K(),Bx=Xe(),Ux=fg();gg.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var r=!1,e={},t;try{t=Ox(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set),t(e,[]),r=e instanceof Array}catch{}return function(n,s){return Bx(n),Ux(s),r?t(n,s):n.__proto__=s,n}}():void 0)});var Pu=b((GB,Ig)=>{"use strict";var Mx=Bn(),Lx=He(),La=Ar(),xg=Zl(),Dx=X(),Nx=vu(),yg=pu(),vg=hg(),_x=Mn(),qx=Ca(),bu=Kt(),Hx=xe(),bg=Or(),Cg=yu(),jx=xg.PROPER,Wx=xg.CONFIGURABLE,Pg=Cg.IteratorPrototype,Da=Cg.BUGGY_SAFARI_ITERATORS,Ln=Hx("iterator"),kg="keys",Dn="values",Sg="entries",wg=function(){return this};Ig.exports=function(r,e,t,i,n,s,a){Nx(t,e,i);var d=function(D){if(D===n&&h)return h;if(!Da&&D in g)return g[D];switch(D){case kg:return function(){return new t(this,D)};case Dn:return function(){return new t(this,D)};case Sg:return function(){return new t(this,D)}}return function(){return new t(this)}},p=e+" Iterator",f=!1,g=r.prototype,c=g[Ln]||g["@@iterator"]||n&&g[n],h=!Da&&c||d(n),P=e=="Array"&&g.entries||c,w,I,T;if(P&&(w=yg(P.call(new r)),w!==Object.prototype&&w.next&&(!La&&yg(w)!==Pg&&(vg?vg(w,Pg):Dx(w[Ln])||bu(w,Ln,wg)),_x(w,p,!0,!0),La&&(bg[p]=wg))),jx&&n==Dn&&c&&c.name!==Dn&&(!La&&Wx?qx(g,"name",Dn):(f=!0,h=function(){return Lx(c,this)})),n)if(I={values:d(Dn),keys:s?h:d(kg),entries:d(Sg)},a)for(T in I)(Da||f||!(T in g))&&bu(g,T,I[T]);else Mx({target:e,proto:!0,forced:Da||f},I);return(!La||a)&&g[Ln]!==h&&bu(g,Ln,h,{name:n}),bg[e]=h,I}});var ku=b((zB,Ag)=>{Ag.exports=function(r,e){return{value:r,done:e}}});var Fg=b(()=>{"use strict";var Gx=Il().charAt,zx=Tn(),Tg=Rr(),Vx=Pu(),Eg=ku(),Rg="String Iterator",$x=Tg.set,Jx=Tg.getterFor(Rg);Vx(String,"String",function(r){$x(this,{type:Rg,string:zx(r),index:0})},function(){var e=Jx(this),t=e.string,i=e.index,n;return i>=t.length?Eg(void 0,!0):(n=Gx(t,i),e.index+=n.length,Eg(n,!1))})});var Su=b((JB,Og)=>{var Kx=se(),Xx=xe(),Zx=Ar(),Yx=Xx("iterator");Og.exports=!Kx(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,n){e.delete("b"),t+=n+i}),Zx&&!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[Yx]||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=b((KB,Bg)=>{var Qx=va(),eC=K();Bg.exports=function(r){if(Qx(r)==="Function")return eC(r)}});var Na=b((XB,Lg)=>{var Mg=Ug(),tC=ka(),rC=ua(),iC=Mg(Mg.bind);Lg.exports=function(r,e){return tC(r),e===void 0?r:rC?iC(r,e):function(){return r.apply(e,arguments)}}});var _g=b((ZB,Ng)=>{var Dg=ru(),nC=Ze();Ng.exports=function(r,e,t){return t.get&&Dg(t.get,e,{getter:!0}),t.set&&Dg(t.set,e,{setter:!0}),nC.f(r,e,t)}});var wu=b((YB,qg)=>{var oC=Ol(),sC=TypeError;qg.exports=function(r,e){if(oC(e,r))return r;throw sC("Incorrect invocation")}});var Gg=b((QB,Wg)=>{"use strict";var Hg=pe(),aC=K(),dC=He(),lC=se(),xu=du(),uC=su(),cC=zl(),mC=An(),pC=$l(),Br=Object.assign,jg=Object.defineProperty,fC=aC([].concat);Wg.exports=!Br||lC(function(){if(Hg&&Br({b:1},Br(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(n){e[n]=n}),Br({},r)[t]!=7||xu(Br({},e)).join("")!=i})?function(e,t){for(var i=mC(e),n=arguments.length,s=1,a=uC.f,d=cC.f;n>s;)for(var p=pC(arguments[s++]),f=a?fC(xu(p),a(p)):xu(p),g=f.length,c=0,h;g>c;)h=f[c++],(!Hg||dC(d,p,h))&&(i[h]=p[h]);return i}:Br});var $g=b((eU,Vg)=>{var gC=He(),zg=Xe(),hC=Sa();Vg.exports=function(r,e,t){var i,n;zg(r);try{if(i=hC(r,"return"),!i){if(e==="throw")throw t;return t}i=gC(i,r)}catch(s){n=!0,i=s}if(e==="throw")throw t;if(n)throw i;return zg(i),t}});var Kg=b((tU,Jg)=>{var yC=Xe(),vC=$g();Jg.exports=function(r,e,t,i){try{return i?e(yC(t)[0],t[1]):e(t)}catch(n){vC(r,"throw",n)}}});var Zg=b((rU,Xg)=>{var bC=xe(),PC=Or(),kC=bC("iterator"),SC=Array.prototype;Xg.exports=function(r){return r!==void 0&&(PC.Array===r||SC[kC]===r)}});var ih=b((iU,rh)=>{var wC=K(),xC=se(),Yg=X(),CC=En(),IC=Rn(),AC=Ql(),Qg=function(){},EC=[],eh=IC("Reflect","construct"),Cu=/^\s*(?:class|function)\b/,TC=wC(Cu.exec),RC=!Cu.exec(Qg),Nn=function(e){if(!Yg(e))return!1;try{return eh(Qg,EC,e),!0}catch{return!1}},th=function(e){if(!Yg(e))return!1;switch(CC(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return RC||!!TC(Cu,AC(e))}catch{return!0}};th.sham=!0;rh.exports=!eh||xC(function(){var r;return Nn(Nn.call)||!Nn(Object)||!Nn(function(){r=!0})||r})?th:Nn});var Iu=b((nU,nh)=>{"use strict";var FC=wa(),OC=Ze(),BC=Tr();nh.exports=function(r,e,t){var i=FC(e);i in r?OC.f(r,i,BC(0,t)):r[i]=t}});var _a=b((oU,sh)=>{var UC=En(),oh=Sa(),MC=ga(),LC=Or(),DC=xe(),NC=DC("iterator");sh.exports=function(r){if(!MC(r))return oh(r,NC)||oh(r,"@@iterator")||LC[UC(r)]}});var Au=b((sU,ah)=>{var _C=He(),qC=ka(),HC=Xe(),jC=Ul(),WC=_a(),GC=TypeError;ah.exports=function(r,e){var t=arguments.length<2?WC(r):e;if(qC(t))return HC(_C(t,r));throw GC(jC(r)+" is not iterable")}});var ch=b((aU,uh)=>{"use strict";var zC=Na(),VC=He(),$C=An(),JC=Kg(),KC=Zg(),XC=ih(),ZC=Oa(),dh=Iu(),YC=Au(),QC=_a(),lh=Array;uh.exports=function(e){var t=$C(e),i=XC(this),n=arguments.length,s=n>1?arguments[1]:void 0,a=s!==void 0;a&&(s=zC(s,n>2?arguments[2]:void 0));var d=QC(t),p=0,f,g,c,h,P,w;if(d&&!(this===lh&&KC(d)))for(h=YC(t,d),P=h.next,g=i?new this:[];!(c=VC(P,h)).done;p++)w=a?JC(h,s,[c.value,p],!0):c.value,dh(g,p,w);else for(f=ZC(t),g=i?new this(f):lh(f);f>p;p++)w=a?s(t[p],p):t[p],dh(g,p,w);return g.length=p,g}});var Eu=b((dU,ph)=>{var mh=iu(),eI=Oa(),tI=Iu(),rI=Array,iI=Math.max;ph.exports=function(r,e,t){for(var i=eI(r),n=mh(e,i),s=mh(t===void 0?i:t,i),a=rI(iI(s-n,0)),d=0;n<s;n++,d++)tI(a,d,r[n]);return a.length=d,a}});var Sh=b((lU,kh)=>{var Xt=K(),Tu=2147483647,_n=36,vh=1,Ou=26,nI=38,oI=700,sI=72,aI=128,dI="-",lI=/[^\0-\u007E]/,bh=/[.\u3002\uFF0E\uFF61]/g,fh="Overflow: input needs wider integers to process",Ru=_n-vh,gh=RangeError,uI=Xt(bh.exec),Ur=Math.floor,Fu=String.fromCharCode,hh=Xt("".charCodeAt),Ph=Xt([].join),bt=Xt([].push),cI=Xt("".replace),mI=Xt("".split),pI=Xt("".toLowerCase),fI=function(r){for(var e=[],t=0,i=r.length;t<i;){var n=hh(r,t++);if(n>=55296&&n<=56319&&t<i){var s=hh(r,t++);(s&64512)==56320?bt(e,((n&1023)<<10)+(s&1023)+65536):(bt(e,n),t--)}else bt(e,n)}return e},yh=function(r){return r+22+75*(r<26)},gI=function(r,e,t){var i=0;for(r=t?Ur(r/oI):r>>1,r+=Ur(r/e);r>Ru*Ou>>1;)r=Ur(r/Ru),i+=_n;return Ur(i+(Ru+1)*r/(r+nI))},hI=function(r){var e=[];r=fI(r);var t=r.length,i=aI,n=0,s=sI,a,d;for(a=0;a<r.length;a++)d=r[a],d<128&&bt(e,Fu(d));var p=e.length,f=p;for(p&&bt(e,dI);f<t;){var g=Tu;for(a=0;a<r.length;a++)d=r[a],d>=i&&d<g&&(g=d);var c=f+1;if(g-i>Ur((Tu-n)/c))throw gh(fh);for(n+=(g-i)*c,i=g,a=0;a<r.length;a++){if(d=r[a],d<i&&++n>Tu)throw gh(fh);if(d==i){for(var h=n,P=_n;;){var w=P<=s?vh:P>=s+Ou?Ou:P-s;if(h<w)break;var I=h-w,T=_n-w;bt(e,Fu(yh(w+I%T))),h=Ur(I/T),P+=_n}bt(e,Fu(yh(h))),s=gI(n,c,f==p),n=0,f++}}n++,i++}return Ph(e,"")};kh.exports=function(r){var e=[],t=mI(cI(pI(r),bh,"."),"."),i,n;for(i=0;i<t.length;i++)n=t[i],bt(e,uI(lI,n)?"xn--"+hI(n):n);return Ph(e,".")}});var Bu=b((uU,wh)=>{var yI=TypeError;wh.exports=function(r,e){if(r<e)throw yI("Not enough arguments");return r}});var Ch=b((cU,xh)=>{var vI=xe(),bI=Un(),PI=Ze().f,Uu=vI("unscopables"),Mu=Array.prototype;Mu[Uu]==null&&PI(Mu,Uu,{configurable:!0,value:bI(null)});xh.exports=function(r){Mu[Uu][r]=!0}});var Fh=b((mU,Rh)=>{"use strict";var kI=Fr(),Lu=Ch(),Ih=Or(),Eh=Rr(),SI=Ze().f,wI=Pu(),qa=ku(),xI=Ar(),CI=pe(),Th="Array Iterator",II=Eh.set,AI=Eh.getterFor(Th);Rh.exports=wI(Array,"Array",function(r,e){II(this,{type:Th,target:kI(r),index:0,kind:e})},function(){var r=AI(this),e=r.target,t=r.kind,i=r.index++;return!e||i>=e.length?(r.target=void 0,qa(void 0,!0)):t=="keys"?qa(i,!1):t=="values"?qa(e[i],!1):qa([i,e[i]],!1)},"values");var Ah=Ih.Arguments=Ih.Array;Lu("keys");Lu("values");Lu("entries");if(!xI&&CI&&Ah.name!=="values")try{SI(Ah,"name",{value:"values"})}catch{}});var Bh=b((pU,Oh)=>{var EI=Kt();Oh.exports=function(r,e,t){for(var i in e)EI(r,i,e[i],t);return r}});var Lh=b((fU,Mh)=>{var Uh=Eu(),TI=Math.floor,Du=function(r,e){var t=r.length,i=TI(t/2);return t<8?RI(r,e):FI(r,Du(Uh(r,0,i),e),Du(Uh(r,i),e),e)},RI=function(r,e){for(var t=r.length,i=1,n,s;i<t;){for(s=i,n=r[i];s&&e(r[s-1],n)>0;)r[s]=r[--s];s!==i++&&(r[s]=n)}return r},FI=function(r,e,t,i){for(var n=e.length,s=t.length,a=0,d=0;a<n||d<s;)r[a+d]=a<n&&d<s?i(e[a],t[d])<=0?e[a++]:t[d++]:a<n?e[a++]:t[d++];return r};Mh.exports=Du});var $u=b((gU,ry)=>{"use strict";Fh();var ju=Bn(),Lr=me(),Ha=He(),Ye=K(),OI=pe(),Jh=Su(),Kh=Kt(),BI=Bh(),UI=Mn(),MI=vu(),zu=Rr(),Xh=wu(),Nu=X(),LI=we(),DI=Na(),NI=En(),_I=Xe(),Zh=vt(),fe=Tn(),qI=Un(),Dh=Tr(),Wu=Au(),HI=_a(),Mr=Bu(),jI=xe(),WI=Lh(),GI=jI("iterator"),jn="URLSearchParams",Yh=jn+"Iterator",Qh=zu.set,We=zu.getterFor(jn),zI=zu.getterFor(Yh),VI=Object.getOwnPropertyDescriptor,Vu=function(r){if(!OI)return Lr[r];var e=VI(Lr,r);return e&&e.value},Nh=Vu("fetch"),Wa=Vu("Request"),qn=Vu("Headers"),_u=Wa&&Wa.prototype,_h=qn&&qn.prototype,$I=Lr.RegExp,JI=Lr.TypeError,ey=Lr.decodeURIComponent,KI=Lr.encodeURIComponent,XI=Ye("".charAt),qh=Ye([].join),Zt=Ye([].push),Gu=Ye("".replace),ZI=Ye([].shift),Hh=Ye([].splice),jh=Ye("".split),YI=Ye("".slice),QI=/\+/g,Wh=Array(4),eA=function(r){return Wh[r-1]||(Wh[r-1]=$I("((?:%[\\da-f]{2}){"+r+"})","gi"))},tA=function(r){try{return ey(r)}catch{return r}},Gh=function(r){var e=Gu(r,QI," "),t=4;try{return ey(e)}catch{for(;t;)e=Gu(e,eA(t--),tA);return e}},rA=/[!'()~]|%20/g,iA={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},nA=function(r){return iA[r]},zh=function(r){return Gu(KI(r),rA,nA)},qu=MI(function(e,t){Qh(this,{type:Yh,iterator:Wu(We(e).entries),kind:t})},"Iterator",function(){var e=zI(this),t=e.kind,i=e.iterator.next(),n=i.value;return i.done||(i.value=t==="keys"?n.key:t==="values"?n.value:[n.key,n.value]),i},!0),ty=function(r){this.entries=[],this.url=null,r!==void 0&&(Zh(r)?this.parseObject(r):this.parseQuery(typeof r=="string"?XI(r,0)==="?"?YI(r,1):r:fe(r)))};ty.prototype={type:jn,bindURL:function(r){this.url=r,this.update()},parseObject:function(r){var e=HI(r),t,i,n,s,a,d,p;if(e)for(t=Wu(r,e),i=t.next;!(n=Ha(i,t)).done;){if(s=Wu(_I(n.value)),a=s.next,(d=Ha(a,s)).done||(p=Ha(a,s)).done||!Ha(a,s).done)throw JI("Expected sequence with length 2");Zt(this.entries,{key:fe(d.value),value:fe(p.value)})}else for(var f in r)LI(r,f)&&Zt(this.entries,{key:f,value:fe(r[f])})},parseQuery:function(r){if(r)for(var e=jh(r,"&"),t=0,i,n;t<e.length;)i=e[t++],i.length&&(n=jh(i,"="),Zt(this.entries,{key:Gh(ZI(n)),value:Gh(qh(n,"="))}))},serialize:function(){for(var r=this.entries,e=[],t=0,i;t<r.length;)i=r[t++],Zt(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 Ga=function(){Xh(this,Hn);var e=arguments.length>0?arguments[0]:void 0;Qh(this,new ty(e))},Hn=Ga.prototype;BI(Hn,{append:function(e,t){Mr(arguments.length,2);var i=We(this);Zt(i.entries,{key:fe(e),value:fe(t)}),i.updateURL()},delete:function(r){Mr(arguments.length,1);for(var e=We(this),t=e.entries,i=fe(r),n=0;n<t.length;)t[n].key===i?Hh(t,n,1):n++;e.updateURL()},get:function(e){Mr(arguments.length,1);for(var t=We(this).entries,i=fe(e),n=0;n<t.length;n++)if(t[n].key===i)return t[n].value;return null},getAll:function(e){Mr(arguments.length,1);for(var t=We(this).entries,i=fe(e),n=[],s=0;s<t.length;s++)t[s].key===i&&Zt(n,t[s].value);return n},has:function(e){Mr(arguments.length,1);for(var t=We(this).entries,i=fe(e),n=0;n<t.length;)if(t[n++].key===i)return!0;return!1},set:function(e,t){Mr(arguments.length,1);for(var i=We(this),n=i.entries,s=!1,a=fe(e),d=fe(t),p=0,f;p<n.length;p++)f=n[p],f.key===a&&(s?Hh(n,p--,1):(s=!0,f.value=d));s||Zt(n,{key:a,value:d}),i.updateURL()},sort:function(){var e=We(this);WI(e.entries,function(t,i){return t.key>i.key?1:-1}),e.updateURL()},forEach:function(e){for(var t=We(this).entries,i=DI(e,arguments.length>1?arguments[1]:void 0),n=0,s;n<t.length;)s=t[n++],i(s.value,s.key,this)},keys:function(){return new qu(this,"keys")},values:function(){return new qu(this,"values")},entries:function(){return new qu(this,"entries")}},{enumerable:!0});Kh(Hn,GI,Hn.entries,{name:"entries"});Kh(Hn,"toString",function(){return We(this).serialize()},{enumerable:!0});UI(Ga,jn);ju({global:!0,constructor:!0,forced:!Jh},{URLSearchParams:Ga});!Jh&&Nu(qn)&&(Vh=Ye(_h.has),$h=Ye(_h.set),Hu=function(r){if(Zh(r)){var e=r.body,t;if(NI(e)===jn)return t=r.headers?new qn(r.headers):new qn,Vh(t,"content-type")||$h(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),qI(r,{body:Dh(0,fe(e)),headers:Dh(0,t)})}return r},Nu(Nh)&&ju({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return Nh(e,arguments.length>1?Hu(arguments[1]):{})}}),Nu(Wa)&&(ja=function(e){return Xh(this,_u),new Wa(e,arguments.length>1?Hu(arguments[1]):{})},_u.constructor=ja,ja.prototype=_u,ju({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:ja})));var Vh,$h,Hu,ja;ry.exports={URLSearchParams:Ga,getState:We}});var ky=b(()=>{"use strict";Fg();var oA=Bn(),lc=pe(),sA=Su(),uc=me(),iy=Na(),Te=K(),Ka=Kt(),Ce=_g(),aA=wu(),sc=we(),cc=Gg(),Dr=ch(),Ge=Eu(),dA=Il().codeAt,lA=Sh(),st=Tn(),uA=Mn(),cA=Bu(),gy=$u(),hy=Rr(),mA=hy.set,Xa=hy.getterFor("URL"),pA=gy.URLSearchParams,fA=gy.getState,Wn=uc.URL,ac=uc.TypeError,Za=uc.parseInt,gA=Math.floor,ny=Math.pow,Ee=Te("".charAt),ze=Te(/./.exec),zn=Te([].join),hA=Te(1 .toString),yA=Te([].pop),_r=Te([].push),oy=Te("".replace),vA=Te([].shift),bA=Te("".split),$n=Te("".slice),Ya=Te("".toLowerCase),PA=Te([].unshift),kA="Invalid authority",Ju="Invalid scheme",Yt="Invalid host",sy="Invalid port",yy=/[a-z]/i,SA=/[\d+-.a-z]/i,dc=/\d/,wA=/^0x/i,xA=/^[0-7]+$/,CA=/^\d+$/,vy=/^[\da-f]+$/i,IA=/[\0\t\n\r #%/:<>?@[\\\]^|]/,AA=/[\0\t\n\r #/:<>?@[\\\]^|]/,EA=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,TA=/[\t\n\r]/g,Ie,RA=function(r){var e=bA(r,"."),t,i,n,s,a,d,p;if(e.length&&e[e.length-1]==""&&e.length--,t=e.length,t>4)return r;for(i=[],n=0;n<t;n++){if(s=e[n],s=="")return r;if(a=10,s.length>1&&Ee(s,0)=="0"&&(a=ze(wA,s)?16:8,s=$n(s,a==8?1:2)),s==="")d=0;else{if(!ze(a==10?CA:a==8?xA:vy,s))return r;d=Za(s,a)}_r(i,d)}for(n=0;n<t;n++)if(d=i[n],n==t-1){if(d>=ny(256,5-t))return null}else if(d>255)return null;for(p=yA(i),n=0;n<i.length;n++)p+=i[n]*ny(256,3-n);return p},FA=function(r){var e=[0,0,0,0,0,0,0,0],t=0,i=null,n=0,s,a,d,p,f,g,c,h=function(){return Ee(r,n)};if(h()==":"){if(Ee(r,1)!=":")return;n+=2,t++,i=t}for(;h();){if(t==8)return;if(h()==":"){if(i!==null)return;n++,t++,i=t;continue}for(s=a=0;a<4&&ze(vy,h());)s=s*16+Za(h(),16),n++,a++;if(h()=="."){if(a==0||(n-=a,t>6))return;for(d=0;h();){if(p=null,d>0)if(h()=="."&&d<4)n++;else return;if(!ze(dc,h()))return;for(;ze(dc,h());){if(f=Za(h(),10),p===null)p=f;else{if(p==0)return;p=p*10+f}if(p>255)return;n++}e[t]=e[t]*256+p,d++,(d==2||d==4)&&t++}if(d!=4)return;break}else if(h()==":"){if(n++,!h())return}else if(h())return;e[t++]=s}if(i!==null)for(g=t-i,t=7;t!=0&&g>0;)c=e[t],e[t--]=e[i+g-1],e[i+--g]=c;else if(t!=8)return;return e},OA=function(r){for(var e=null,t=1,i=null,n=0,s=0;s<8;s++)r[s]!==0?(n>t&&(e=i,t=n),i=null,n=0):(i===null&&(i=s),++n);return n>t&&(e=i,t=n),e},Gn=function(r){var e,t,i,n;if(typeof r=="number"){for(e=[],t=0;t<4;t++)PA(e,r%256),r=gA(r/256);return zn(e,".")}else if(typeof r=="object"){for(e="",i=OA(r),t=0;t<8;t++)n&&r[t]===0||(n&&(n=!1),i===t?(e+=t?":":"::",n=!0):(e+=hA(r[t],16),t<7&&(e+=":")));return"["+e+"]"}return r},Ja={},by=cc({},Ja,{" ":1,'"':1,"<":1,">":1,"`":1}),Py=cc({},by,{"#":1,"?":1,"{":1,"}":1}),Ku=cc({},Py,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Pt=function(r,e){var t=dA(r,0);return t>32&&t<127&&!sc(e,r)?r:encodeURIComponent(r)},za={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Vn=function(r,e){var t;return r.length==2&&ze(yy,Ee(r,0))&&((t=Ee(r,1))==":"||!e&&t=="|")},ay=function(r){var e;return r.length>1&&Vn($n(r,0,2))&&(r.length==2||(e=Ee(r,2))==="/"||e==="\\"||e==="?"||e==="#")},BA=function(r){return r==="."||Ya(r)==="%2e"},UA=function(r){return r=Ya(r),r===".."||r==="%2e."||r===".%2e"||r==="%2e%2e"},Xu={},dy={},Zu={},ly={},uy={},Yu={},cy={},my={},Va={},$a={},Qu={},ec={},tc={},rc={},py={},ic={},Nr={},Qe={},fy={},Qt={},ot={},mc=function(r,e,t){var i=st(r),n,s,a;if(e){if(s=this.parse(i),s)throw ac(s);this.searchParams=null}else{if(t!==void 0&&(n=new mc(t,!0)),s=this.parse(i,null,n),s)throw ac(s);a=fA(new pA),a.bindURL(this),this.searchParams=a}};mc.prototype={type:"URL",parse:function(r,e,t){var i=this,n=e||Xu,s=0,a="",d=!1,p=!1,f=!1,g,c,h,P;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=oy(r,EA,"")),r=oy(r,TA,""),g=Dr(r);s<=g.length;){switch(c=g[s],n){case Xu:if(c&&ze(yy,c))a+=Ya(c),n=dy;else{if(e)return Ju;n=Zu;continue}break;case dy:if(c&&(ze(SA,c)||c=="+"||c=="-"||c=="."))a+=Ya(c);else if(c==":"){if(e&&(i.isSpecial()!=sc(za,a)||a=="file"&&(i.includesCredentials()||i.port!==null)||i.scheme=="file"&&!i.host))return;if(i.scheme=a,e){i.isSpecial()&&za[i.scheme]==i.port&&(i.port=null);return}a="",i.scheme=="file"?n=rc:i.isSpecial()&&t&&t.scheme==i.scheme?n=ly:i.isSpecial()?n=my:g[s+1]=="/"?(n=uy,s++):(i.cannotBeABaseURL=!0,_r(i.path,""),n=fy)}else{if(e)return Ju;a="",n=Zu,s=0;continue}break;case Zu:if(!t||t.cannotBeABaseURL&&c!="#")return Ju;if(t.cannotBeABaseURL&&c=="#"){i.scheme=t.scheme,i.path=Ge(t.path),i.query=t.query,i.fragment="",i.cannotBeABaseURL=!0,n=ot;break}n=t.scheme=="file"?rc:Yu;continue;case ly:if(c=="/"&&g[s+1]=="/")n=Va,s++;else{n=Yu;continue}break;case uy:if(c=="/"){n=$a;break}else{n=Qe;continue}case Yu:if(i.scheme=t.scheme,c==Ie)i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=Ge(t.path),i.query=t.query;else if(c=="/"||c=="\\"&&i.isSpecial())n=cy;else if(c=="?")i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=Ge(t.path),i.query="",n=Qt;else if(c=="#")i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=Ge(t.path),i.query=t.query,i.fragment="",n=ot;else{i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=Ge(t.path),i.path.length--,n=Qe;continue}break;case cy:if(i.isSpecial()&&(c=="/"||c=="\\"))n=Va;else if(c=="/")n=$a;else{i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,n=Qe;continue}break;case my:if(n=Va,c!="/"||Ee(a,s+1)!="/")continue;s++;break;case Va:if(c!="/"&&c!="\\"){n=$a;continue}break;case $a:if(c=="@"){d&&(a="%40"+a),d=!0,h=Dr(a);for(var w=0;w<h.length;w++){var I=h[w];if(I==":"&&!f){f=!0;continue}var T=Pt(I,Ku);f?i.password+=T:i.username+=T}a=""}else if(c==Ie||c=="/"||c=="?"||c=="#"||c=="\\"&&i.isSpecial()){if(d&&a=="")return kA;s-=Dr(a).length+1,a="",n=Qu}else a+=c;break;case Qu:case ec:if(e&&i.scheme=="file"){n=ic;continue}else if(c==":"&&!p){if(a=="")return Yt;if(P=i.parseHost(a),P)return P;if(a="",n=tc,e==ec)return}else if(c==Ie||c=="/"||c=="?"||c=="#"||c=="\\"&&i.isSpecial()){if(i.isSpecial()&&a=="")return Yt;if(e&&a==""&&(i.includesCredentials()||i.port!==null))return;if(P=i.parseHost(a),P)return P;if(a="",n=Nr,e)return;continue}else c=="["?p=!0:c=="]"&&(p=!1),a+=c;break;case tc:if(ze(dc,c))a+=c;else if(c==Ie||c=="/"||c=="?"||c=="#"||c=="\\"&&i.isSpecial()||e){if(a!=""){var D=Za(a,10);if(D>65535)return sy;i.port=i.isSpecial()&&D===za[i.scheme]?null:D,a=""}if(e)return;n=Nr;continue}else return sy;break;case rc:if(i.scheme="file",c=="/"||c=="\\")n=py;else if(t&&t.scheme=="file")if(c==Ie)i.host=t.host,i.path=Ge(t.path),i.query=t.query;else if(c=="?")i.host=t.host,i.path=Ge(t.path),i.query="",n=Qt;else if(c=="#")i.host=t.host,i.path=Ge(t.path),i.query=t.query,i.fragment="",n=ot;else{ay(zn(Ge(g,s),""))||(i.host=t.host,i.path=Ge(t.path),i.shortenPath()),n=Qe;continue}else{n=Qe;continue}break;case py:if(c=="/"||c=="\\"){n=ic;break}t&&t.scheme=="file"&&!ay(zn(Ge(g,s),""))&&(Vn(t.path[0],!0)?_r(i.path,t.path[0]):i.host=t.host),n=Qe;continue;case ic:if(c==Ie||c=="/"||c=="\\"||c=="?"||c=="#"){if(!e&&Vn(a))n=Qe;else if(a==""){if(i.host="",e)return;n=Nr}else{if(P=i.parseHost(a),P)return P;if(i.host=="localhost"&&(i.host=""),e)return;a="",n=Nr}continue}else a+=c;break;case Nr:if(i.isSpecial()){if(n=Qe,c!="/"&&c!="\\")continue}else if(!e&&c=="?")i.query="",n=Qt;else if(!e&&c=="#")i.fragment="",n=ot;else if(c!=Ie&&(n=Qe,c!="/"))continue;break;case Qe:if(c==Ie||c=="/"||c=="\\"&&i.isSpecial()||!e&&(c=="?"||c=="#")){if(UA(a)?(i.shortenPath(),c!="/"&&!(c=="\\"&&i.isSpecial())&&_r(i.path,"")):BA(a)?c!="/"&&!(c=="\\"&&i.isSpecial())&&_r(i.path,""):(i.scheme=="file"&&!i.path.length&&Vn(a)&&(i.host&&(i.host=""),a=Ee(a,0)+":"),_r(i.path,a)),a="",i.scheme=="file"&&(c==Ie||c=="?"||c=="#"))for(;i.path.length>1&&i.path[0]==="";)vA(i.path);c=="?"?(i.query="",n=Qt):c=="#"&&(i.fragment="",n=ot)}else a+=Pt(c,Py);break;case fy:c=="?"?(i.query="",n=Qt):c=="#"?(i.fragment="",n=ot):c!=Ie&&(i.path[0]+=Pt(c,Ja));break;case Qt:!e&&c=="#"?(i.fragment="",n=ot):c!=Ie&&(c=="'"&&i.isSpecial()?i.query+="%27":c=="#"?i.query+="%23":i.query+=Pt(c,Ja));break;case ot:c!=Ie&&(i.fragment+=Pt(c,by));break}s++}},parseHost:function(r){var e,t,i;if(Ee(r,0)=="["){if(Ee(r,r.length-1)!="]"||(e=FA($n(r,1,-1)),!e))return Yt;this.host=e}else if(this.isSpecial()){if(r=lA(r),ze(IA,r)||(e=RA(r),e===null))return Yt;this.host=e}else{if(ze(AA,r))return Yt;for(e="",t=Dr(r),i=0;i<t.length;i++)e+=Pt(t[i],Ja);this.host=e}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||this.scheme=="file"},includesCredentials:function(){return this.username!=""||this.password!=""},isSpecial:function(){return sc(za,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,n=r.host,s=r.port,a=r.path,d=r.query,p=r.fragment,f=e+":";return n!==null?(f+="//",r.includesCredentials()&&(f+=t+(i?":"+i:"")+"@"),f+=Gn(n),s!==null&&(f+=":"+s)):e=="file"&&(f+="//"),f+=r.cannotBeABaseURL?a[0]:a.length?"/"+zn(a,"/"):"",d!==null&&(f+="?"+d),p!==null&&(f+="#"+p),f},setHref:function(r){var e=this.parse(r);if(e)throw ac(e);this.searchParams.update()},getOrigin:function(){var r=this.scheme,e=this.port;if(r=="blob")try{return new qr(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)+":",Xu)},getUsername:function(){return this.username},setUsername:function(r){var e=Dr(st(r));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var t=0;t<e.length;t++)this.username+=Pt(e[t],Ku)}},getPassword:function(){return this.password},setPassword:function(r){var e=Dr(st(r));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var t=0;t<e.length;t++)this.password+=Pt(e[t],Ku)}},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,Qu)},getHostname:function(){var r=this.host;return r===null?"":Gn(r)},setHostname:function(r){this.cannotBeABaseURL||this.parse(r,ec)},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,tc))},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,Nr))},getSearch:function(){var r=this.query;return r?"?"+r:""},setSearch:function(r){r=st(r),r==""?this.query=null:(Ee(r,0)=="?"&&(r=$n(r,1)),this.query="",this.parse(r,Qt)),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=$n(r,1)),this.fragment="",this.parse(r,ot)},update:function(){this.query=this.searchParams.serialize()||null}};var qr=function(e){var t=aA(this,te),i=cA(arguments.length,1)>1?arguments[1]:void 0,n=mA(t,new mc(e,!1,i));lc||(t.href=n.serialize(),t.origin=n.getOrigin(),t.protocol=n.getProtocol(),t.username=n.getUsername(),t.password=n.getPassword(),t.host=n.getHost(),t.hostname=n.getHostname(),t.port=n.getPort(),t.pathname=n.getPathname(),t.search=n.getSearch(),t.searchParams=n.getSearchParams(),t.hash=n.getHash())},te=qr.prototype,Ae=function(r,e){return{get:function(){return Xa(this)[r]()},set:e&&function(t){return Xa(this)[e](t)},configurable:!0,enumerable:!0}};lc&&(Ce(te,"href",Ae("serialize","setHref")),Ce(te,"origin",Ae("getOrigin")),Ce(te,"protocol",Ae("getProtocol","setProtocol")),Ce(te,"username",Ae("getUsername","setUsername")),Ce(te,"password",Ae("getPassword","setPassword")),Ce(te,"host",Ae("getHost","setHost")),Ce(te,"hostname",Ae("getHostname","setHostname")),Ce(te,"port",Ae("getPort","setPort")),Ce(te,"pathname",Ae("getPathname","setPathname")),Ce(te,"search",Ae("getSearch","setSearch")),Ce(te,"searchParams",Ae("getSearchParams")),Ce(te,"hash",Ae("getHash","setHash")));Ka(te,"toJSON",function(){return Xa(this).serialize()},{enumerable:!0});Ka(te,"toString",function(){return Xa(this).serialize()},{enumerable:!0});Wn&&(nc=Wn.createObjectURL,oc=Wn.revokeObjectURL,nc&&Ka(qr,"createObjectURL",iy(nc,Wn)),oc&&Ka(qr,"revokeObjectURL",iy(oc,Wn)));var nc,oc;uA(qr,"URL");oA({global:!0,constructor:!0,forced:!sA,sham:!lc},{URL:qr})});var Sy=b(()=>{ky()});var wy=b(()=>{"use strict";var MA=Bn(),LA=He();MA({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return LA(URL.prototype.toString,this)}})});var xy=b(()=>{$u()});var Iy=b((xU,Cy)=>{var DA=me();Cy.exports=DA});var Ey=b((CU,Ay)=>{Sy();wy();xy();var NA=Iy();Ay.exports=NA.URL});var yc=b(td=>{"use strict";td.byteLength=tE;td.toByteArray=iE;td.fromByteArray=sE;var et=[],Oe=[],eE=typeof Uint8Array<"u"?Uint8Array:Array,hc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(ir=0,Oy=hc.length;ir<Oy;++ir)et[ir]=hc[ir],Oe[hc.charCodeAt(ir)]=ir;var ir,Oy;Oe["-".charCodeAt(0)]=62;Oe["_".charCodeAt(0)]=63;function By(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 tE(r){var e=By(r),t=e[0],i=e[1];return(t+i)*3/4-i}function rE(r,e,t){return(e+t)*3/4-t}function iE(r){var e,t=By(r),i=t[0],n=t[1],s=new eE(rE(r,i,n)),a=0,d=n>0?i-4:i,p;for(p=0;p<d;p+=4)e=Oe[r.charCodeAt(p)]<<18|Oe[r.charCodeAt(p+1)]<<12|Oe[r.charCodeAt(p+2)]<<6|Oe[r.charCodeAt(p+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=e&255;return n===2&&(e=Oe[r.charCodeAt(p)]<<2|Oe[r.charCodeAt(p+1)]>>4,s[a++]=e&255),n===1&&(e=Oe[r.charCodeAt(p)]<<10|Oe[r.charCodeAt(p+1)]<<4|Oe[r.charCodeAt(p+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function nE(r){return et[r>>18&63]+et[r>>12&63]+et[r>>6&63]+et[r&63]}function oE(r,e,t){for(var i,n=[],s=e;s<t;s+=3)i=(r[s]<<16&16711680)+(r[s+1]<<8&65280)+(r[s+2]&255),n.push(nE(i));return n.join("")}function sE(r){for(var e,t=r.length,i=t%3,n=[],s=16383,a=0,d=t-i;a<d;a+=s)n.push(oE(r,a,a+s>d?d:a+s));return i===1?(e=r[t-1],n.push(et[e>>2]+et[e<<4&63]+"==")):i===2&&(e=(r[t-2]<<8)+r[t-1],n.push(et[e>>10]+et[e>>4&63]+et[e<<2&63]+"=")),n.join("")}});var Uy=b(vc=>{vc.read=function(r,e,t,i,n){var s,a,d=n*8-i-1,p=(1<<d)-1,f=p>>1,g=-7,c=t?n-1:0,h=t?-1:1,P=r[e+c];for(c+=h,s=P&(1<<-g)-1,P>>=-g,g+=d;g>0;s=s*256+r[e+c],c+=h,g-=8);for(a=s&(1<<-g)-1,s>>=-g,g+=i;g>0;a=a*256+r[e+c],c+=h,g-=8);if(s===0)s=1-f;else{if(s===p)return a?NaN:(P?-1:1)*(1/0);a=a+Math.pow(2,i),s=s-f}return(P?-1:1)*a*Math.pow(2,s-i)};vc.write=function(r,e,t,i,n,s){var a,d,p,f=s*8-n-1,g=(1<<f)-1,c=g>>1,h=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,P=i?0:s-1,w=i?1:-1,I=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(d=isNaN(e)?1:0,a=g):(a=Math.floor(Math.log(e)/Math.LN2),e*(p=Math.pow(2,-a))<1&&(a--,p*=2),a+c>=1?e+=h/p:e+=h*Math.pow(2,1-c),e*p>=2&&(a++,p/=2),a+c>=g?(d=0,a=g):a+c>=1?(d=(e*p-1)*Math.pow(2,n),a=a+c):(d=e*Math.pow(2,c-1)*Math.pow(2,n),a=0));n>=8;r[t+P]=d&255,P+=w,d/=256,n-=8);for(a=a<<n|d,f+=n;f>0;r[t+P]=a&255,P+=w,a/=256,f-=8);r[t+P-w]|=I*128}});var Zy=b(Jr=>{"use strict";var bc=yc(),Vr=Uy(),My=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Jr.Buffer=y;Jr.SlowBuffer=mE;Jr.INSPECT_MAX_BYTES=50;var rd=2147483647;Jr.kMaxLength=rd;y.TYPED_ARRAY_SUPPORT=aE();!y.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function aE(){try{let r=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(r,e),r.foo()===42}catch{return!1}}Object.defineProperty(y.prototype,"parent",{enumerable:!0,get:function(){if(y.isBuffer(this))return this.buffer}});Object.defineProperty(y.prototype,"offset",{enumerable:!0,get:function(){if(y.isBuffer(this))return this.byteOffset}});function dt(r){if(r>rd)throw new RangeError('The value "'+r+'" is invalid for option "size"');let e=new Uint8Array(r);return Object.setPrototypeOf(e,y.prototype),e}function y(r,e,t){if(typeof r=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return wc(r)}return _y(r,e,t)}y.poolSize=8192;function _y(r,e,t){if(typeof r=="string")return lE(r,e);if(ArrayBuffer.isView(r))return uE(r);if(r==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof r);if(tt(r,ArrayBuffer)||r&&tt(r.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tt(r,SharedArrayBuffer)||r&&tt(r.buffer,SharedArrayBuffer)))return kc(r,e,t);if(typeof r=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let i=r.valueOf&&r.valueOf();if(i!=null&&i!==r)return y.from(i,e,t);let n=cE(r);if(n)return n;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof r[Symbol.toPrimitive]=="function")return y.from(r[Symbol.toPrimitive]("string"),e,t);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof r)}y.from=function(r,e,t){return _y(r,e,t)};Object.setPrototypeOf(y.prototype,Uint8Array.prototype);Object.setPrototypeOf(y,Uint8Array);function qy(r){if(typeof r!="number")throw new TypeError('"size" argument must be of type number');if(r<0)throw new RangeError('The value "'+r+'" is invalid for option "size"')}function dE(r,e,t){return qy(r),r<=0?dt(r):e!==void 0?typeof t=="string"?dt(r).fill(e,t):dt(r).fill(e):dt(r)}y.alloc=function(r,e,t){return dE(r,e,t)};function wc(r){return qy(r),dt(r<0?0:xc(r)|0)}y.allocUnsafe=function(r){return wc(r)};y.allocUnsafeSlow=function(r){return wc(r)};function lE(r,e){if((typeof e!="string"||e==="")&&(e="utf8"),!y.isEncoding(e))throw new TypeError("Unknown encoding: "+e);let t=Hy(r,e)|0,i=dt(t),n=i.write(r,e);return n!==t&&(i=i.slice(0,n)),i}function Pc(r){let e=r.length<0?0:xc(r.length)|0,t=dt(e);for(let i=0;i<e;i+=1)t[i]=r[i]&255;return t}function uE(r){if(tt(r,Uint8Array)){let e=new Uint8Array(r);return kc(e.buffer,e.byteOffset,e.byteLength)}return Pc(r)}function kc(r,e,t){if(e<0||r.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(r.byteLength<e+(t||0))throw new RangeError('"length" is outside of buffer bounds');let i;return e===void 0&&t===void 0?i=new Uint8Array(r):t===void 0?i=new Uint8Array(r,e):i=new Uint8Array(r,e,t),Object.setPrototypeOf(i,y.prototype),i}function cE(r){if(y.isBuffer(r)){let e=xc(r.length)|0,t=dt(e);return t.length===0||r.copy(t,0,0,e),t}if(r.length!==void 0)return typeof r.length!="number"||Ic(r.length)?dt(0):Pc(r);if(r.type==="Buffer"&&Array.isArray(r.data))return Pc(r.data)}function xc(r){if(r>=rd)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+rd.toString(16)+" bytes");return r|0}function mE(r){return+r!=r&&(r=0),y.alloc(+r)}y.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==y.prototype};y.compare=function(e,t){if(tt(e,Uint8Array)&&(e=y.from(e,e.offset,e.byteLength)),tt(t,Uint8Array)&&(t=y.from(t,t.offset,t.byteLength)),!y.isBuffer(e)||!y.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let i=e.length,n=t.length;for(let s=0,a=Math.min(i,n);s<a;++s)if(e[s]!==t[s]){i=e[s],n=t[s];break}return i<n?-1:n<i?1:0};y.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}};y.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(e.length===0)return y.alloc(0);let i;if(t===void 0)for(t=0,i=0;i<e.length;++i)t+=e[i].length;let n=y.allocUnsafe(t),s=0;for(i=0;i<e.length;++i){let a=e[i];if(tt(a,Uint8Array))s+a.length>n.length?(y.isBuffer(a)||(a=y.from(a)),a.copy(n,s)):Uint8Array.prototype.set.call(n,a,s);else if(y.isBuffer(a))a.copy(n,s);else throw new TypeError('"list" argument must be an Array of Buffers');s+=a.length}return n};function Hy(r,e){if(y.isBuffer(r))return r.length;if(ArrayBuffer.isView(r)||tt(r,ArrayBuffer))return r.byteLength;if(typeof r!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof r);let t=r.length,i=arguments.length>2&&arguments[2]===!0;if(!i&&t===0)return 0;let n=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return t;case"utf8":case"utf-8":return Sc(r).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return t*2;case"hex":return t>>>1;case"base64":return Xy(r).length;default:if(n)return i?-1:Sc(r).length;e=(""+e).toLowerCase(),n=!0}}y.byteLength=Hy;function pE(r,e,t){let i=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((t===void 0||t>this.length)&&(t=this.length),t<=0)||(t>>>=0,e>>>=0,t<=e))return"";for(r||(r="utf8");;)switch(r){case"hex":return wE(this,e,t);case"utf8":case"utf-8":return Wy(this,e,t);case"ascii":return kE(this,e,t);case"latin1":case"binary":return SE(this,e,t);case"base64":return bE(this,e,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return xE(this,e,t);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(r+"").toLowerCase(),i=!0}}y.prototype._isBuffer=!0;function nr(r,e,t){let i=r[e];r[e]=r[t],r[t]=i}y.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;t<e;t+=2)nr(this,t,t+1);return this};y.prototype.swap32=function(){let e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let t=0;t<e;t+=4)nr(this,t,t+3),nr(this,t+1,t+2);return this};y.prototype.swap64=function(){let e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let t=0;t<e;t+=8)nr(this,t,t+7),nr(this,t+1,t+6),nr(this,t+2,t+5),nr(this,t+3,t+4);return this};y.prototype.toString=function(){let e=this.length;return e===0?"":arguments.length===0?Wy(this,0,e):pE.apply(this,arguments)};y.prototype.toLocaleString=y.prototype.toString;y.prototype.equals=function(e){if(!y.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e?!0:y.compare(this,e)===0};y.prototype.inspect=function(){let e="",t=Jr.INSPECT_MAX_BYTES;return e=this.toString("hex",0,t).replace(/(.{2})/g,"$1 ").trim(),this.length>t&&(e+=" ... "),"<Buffer "+e+">"};My&&(y.prototype[My]=y.prototype.inspect);y.prototype.compare=function(e,t,i,n,s){if(tt(e,Uint8Array)&&(e=y.from(e,e.offset,e.byteLength)),!y.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),i===void 0&&(i=e?e.length:0),n===void 0&&(n=0),s===void 0&&(s=this.length),t<0||i>e.length||n<0||s>this.length)throw new RangeError("out of range index");if(n>=s&&t>=i)return 0;if(n>=s)return-1;if(t>=i)return 1;if(t>>>=0,i>>>=0,n>>>=0,s>>>=0,this===e)return 0;let a=s-n,d=i-t,p=Math.min(a,d),f=this.slice(n,s),g=e.slice(t,i);for(let c=0;c<p;++c)if(f[c]!==g[c]){a=f[c],d=g[c];break}return a<d?-1:d<a?1:0};function jy(r,e,t,i,n){if(r.length===0)return-1;if(typeof t=="string"?(i=t,t=0):t>2147483647?t=2147483647:t<-2147483648&&(t=-2147483648),t=+t,Ic(t)&&(t=n?0:r.length-1),t<0&&(t=r.length+t),t>=r.length){if(n)return-1;t=r.length-1}else if(t<0)if(n)t=0;else return-1;if(typeof e=="string"&&(e=y.from(e,i)),y.isBuffer(e))return e.length===0?-1:Ly(r,e,t,i,n);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?n?Uint8Array.prototype.indexOf.call(r,e,t):Uint8Array.prototype.lastIndexOf.call(r,e,t):Ly(r,[e],t,i,n);throw new TypeError("val must be string, number or Buffer")}function Ly(r,e,t,i,n){let s=1,a=r.length,d=e.length;if(i!==void 0&&(i=String(i).toLowerCase(),i==="ucs2"||i==="ucs-2"||i==="utf16le"||i==="utf-16le")){if(r.length<2||e.length<2)return-1;s=2,a/=2,d/=2,t/=2}function p(g,c){return s===1?g[c]:g.readUInt16BE(c*s)}let f;if(n){let g=-1;for(f=t;f<a;f++)if(p(r,f)===p(e,g===-1?0:f-g)){if(g===-1&&(g=f),f-g+1===d)return g*s}else g!==-1&&(f-=f-g),g=-1}else for(t+d>a&&(t=a-d),f=t;f>=0;f--){let g=!0;for(let c=0;c<d;c++)if(p(r,f+c)!==p(e,c)){g=!1;break}if(g)return f}return-1}y.prototype.includes=function(e,t,i){return this.indexOf(e,t,i)!==-1};y.prototype.indexOf=function(e,t,i){return jy(this,e,t,i,!0)};y.prototype.lastIndexOf=function(e,t,i){return jy(this,e,t,i,!1)};function fE(r,e,t,i){t=Number(t)||0;let n=r.length-t;i?(i=Number(i),i>n&&(i=n)):i=n;let s=e.length;i>s/2&&(i=s/2);let a;for(a=0;a<i;++a){let d=parseInt(e.substr(a*2,2),16);if(Ic(d))return a;r[t+a]=d}return a}function gE(r,e,t,i){return id(Sc(e,r.length-t),r,t,i)}function hE(r,e,t,i){return id(EE(e),r,t,i)}function yE(r,e,t,i){return id(Xy(e),r,t,i)}function vE(r,e,t,i){return id(TE(e,r.length-t),r,t,i)}y.prototype.write=function(e,t,i,n){if(t===void 0)n="utf8",i=this.length,t=0;else if(i===void 0&&typeof t=="string")n=t,i=this.length,t=0;else if(isFinite(t))t=t>>>0,isFinite(i)?(i=i>>>0,n===void 0&&(n="utf8")):(n=i,i=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let s=this.length-t;if((i===void 0||i>s)&&(i=s),e.length>0&&(i<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let a=!1;for(;;)switch(n){case"hex":return fE(this,e,t,i);case"utf8":case"utf-8":return gE(this,e,t,i);case"ascii":case"latin1":case"binary":return hE(this,e,t,i);case"base64":return yE(this,e,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return vE(this,e,t,i);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}};y.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function bE(r,e,t){return e===0&&t===r.length?bc.fromByteArray(r):bc.fromByteArray(r.slice(e,t))}function Wy(r,e,t){t=Math.min(r.length,t);let i=[],n=e;for(;n<t;){let s=r[n],a=null,d=s>239?4:s>223?3:s>191?2:1;if(n+d<=t){let p,f,g,c;switch(d){case 1:s<128&&(a=s);break;case 2:p=r[n+1],(p&192)===128&&(c=(s&31)<<6|p&63,c>127&&(a=c));break;case 3:p=r[n+1],f=r[n+2],(p&192)===128&&(f&192)===128&&(c=(s&15)<<12|(p&63)<<6|f&63,c>2047&&(c<55296||c>57343)&&(a=c));break;case 4:p=r[n+1],f=r[n+2],g=r[n+3],(p&192)===128&&(f&192)===128&&(g&192)===128&&(c=(s&15)<<18|(p&63)<<12|(f&63)<<6|g&63,c>65535&&c<1114112&&(a=c))}}a===null?(a=65533,d=1):a>65535&&(a-=65536,i.push(a>>>10&1023|55296),a=56320|a&1023),i.push(a),n+=d}return PE(i)}var Dy=4096;function PE(r){let e=r.length;if(e<=Dy)return String.fromCharCode.apply(String,r);let t="",i=0;for(;i<e;)t+=String.fromCharCode.apply(String,r.slice(i,i+=Dy));return t}function kE(r,e,t){let i="";t=Math.min(r.length,t);for(let n=e;n<t;++n)i+=String.fromCharCode(r[n]&127);return i}function SE(r,e,t){let i="";t=Math.min(r.length,t);for(let n=e;n<t;++n)i+=String.fromCharCode(r[n]);return i}function wE(r,e,t){let i=r.length;(!e||e<0)&&(e=0),(!t||t<0||t>i)&&(t=i);let n="";for(let s=e;s<t;++s)n+=RE[r[s]];return n}function xE(r,e,t){let i=r.slice(e,t),n="";for(let s=0;s<i.length-1;s+=2)n+=String.fromCharCode(i[s]+i[s+1]*256);return n}y.prototype.slice=function(e,t){let i=this.length;e=~~e,t=t===void 0?i:~~t,e<0?(e+=i,e<0&&(e=0)):e>i&&(e=i),t<0?(t+=i,t<0&&(t=0)):t>i&&(t=i),t<e&&(t=e);let n=this.subarray(e,t);return Object.setPrototypeOf(n,y.prototype),n};function Z(r,e,t){if(r%1!==0||r<0)throw new RangeError("offset is not uint");if(r+e>t)throw new RangeError("Trying to access beyond buffer length")}y.prototype.readUintLE=y.prototype.readUIntLE=function(e,t,i){e=e>>>0,t=t>>>0,i||Z(e,t,this.length);let n=this[e],s=1,a=0;for(;++a<t&&(s*=256);)n+=this[e+a]*s;return n};y.prototype.readUintBE=y.prototype.readUIntBE=function(e,t,i){e=e>>>0,t=t>>>0,i||Z(e,t,this.length);let n=this[e+--t],s=1;for(;t>0&&(s*=256);)n+=this[e+--t]*s;return n};y.prototype.readUint8=y.prototype.readUInt8=function(e,t){return e=e>>>0,t||Z(e,1,this.length),this[e]};y.prototype.readUint16LE=y.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||Z(e,2,this.length),this[e]|this[e+1]<<8};y.prototype.readUint16BE=y.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||Z(e,2,this.length),this[e]<<8|this[e+1]};y.prototype.readUint32LE=y.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||Z(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};y.prototype.readUint32BE=y.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||Z(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};y.prototype.readBigUInt64LE=wt(function(e){e=e>>>0,$r(e,"offset");let t=this[e],i=this[e+7];(t===void 0||i===void 0)&&Jn(e,this.length-8);let n=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,s=this[++e]+this[++e]*2**8+this[++e]*2**16+i*2**24;return BigInt(n)+(BigInt(s)<<BigInt(32))});y.prototype.readBigUInt64BE=wt(function(e){e=e>>>0,$r(e,"offset");let t=this[e],i=this[e+7];(t===void 0||i===void 0)&&Jn(e,this.length-8);let n=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],s=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+i;return(BigInt(n)<<BigInt(32))+BigInt(s)});y.prototype.readIntLE=function(e,t,i){e=e>>>0,t=t>>>0,i||Z(e,t,this.length);let n=this[e],s=1,a=0;for(;++a<t&&(s*=256);)n+=this[e+a]*s;return s*=128,n>=s&&(n-=Math.pow(2,8*t)),n};y.prototype.readIntBE=function(e,t,i){e=e>>>0,t=t>>>0,i||Z(e,t,this.length);let n=t,s=1,a=this[e+--n];for(;n>0&&(s*=256);)a+=this[e+--n]*s;return s*=128,a>=s&&(a-=Math.pow(2,8*t)),a};y.prototype.readInt8=function(e,t){return e=e>>>0,t||Z(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};y.prototype.readInt16LE=function(e,t){e=e>>>0,t||Z(e,2,this.length);let i=this[e]|this[e+1]<<8;return i&32768?i|4294901760:i};y.prototype.readInt16BE=function(e,t){e=e>>>0,t||Z(e,2,this.length);let i=this[e+1]|this[e]<<8;return i&32768?i|4294901760:i};y.prototype.readInt32LE=function(e,t){return e=e>>>0,t||Z(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};y.prototype.readInt32BE=function(e,t){return e=e>>>0,t||Z(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};y.prototype.readBigInt64LE=wt(function(e){e=e>>>0,$r(e,"offset");let t=this[e],i=this[e+7];(t===void 0||i===void 0)&&Jn(e,this.length-8);let n=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(i<<24);return(BigInt(n)<<BigInt(32))+BigInt(t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24)});y.prototype.readBigInt64BE=wt(function(e){e=e>>>0,$r(e,"offset");let t=this[e],i=this[e+7];(t===void 0||i===void 0)&&Jn(e,this.length-8);let n=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(n)<<BigInt(32))+BigInt(this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+i)});y.prototype.readFloatLE=function(e,t){return e=e>>>0,t||Z(e,4,this.length),Vr.read(this,e,!0,23,4)};y.prototype.readFloatBE=function(e,t){return e=e>>>0,t||Z(e,4,this.length),Vr.read(this,e,!1,23,4)};y.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||Z(e,8,this.length),Vr.read(this,e,!0,52,8)};y.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||Z(e,8,this.length),Vr.read(this,e,!1,52,8)};function ae(r,e,t,i,n,s){if(!y.isBuffer(r))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||e<s)throw new RangeError('"value" argument is out of bounds');if(t+i>r.length)throw new RangeError("Index out of range")}y.prototype.writeUintLE=y.prototype.writeUIntLE=function(e,t,i,n){if(e=+e,t=t>>>0,i=i>>>0,!n){let d=Math.pow(2,8*i)-1;ae(this,e,t,i,d,0)}let s=1,a=0;for(this[t]=e&255;++a<i&&(s*=256);)this[t+a]=e/s&255;return t+i};y.prototype.writeUintBE=y.prototype.writeUIntBE=function(e,t,i,n){if(e=+e,t=t>>>0,i=i>>>0,!n){let d=Math.pow(2,8*i)-1;ae(this,e,t,i,d,0)}let s=i-1,a=1;for(this[t+s]=e&255;--s>=0&&(a*=256);)this[t+s]=e/a&255;return t+i};y.prototype.writeUint8=y.prototype.writeUInt8=function(e,t,i){return e=+e,t=t>>>0,i||ae(this,e,t,1,255,0),this[t]=e&255,t+1};y.prototype.writeUint16LE=y.prototype.writeUInt16LE=function(e,t,i){return e=+e,t=t>>>0,i||ae(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};y.prototype.writeUint16BE=y.prototype.writeUInt16BE=function(e,t,i){return e=+e,t=t>>>0,i||ae(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};y.prototype.writeUint32LE=y.prototype.writeUInt32LE=function(e,t,i){return e=+e,t=t>>>0,i||ae(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};y.prototype.writeUint32BE=y.prototype.writeUInt32BE=function(e,t,i){return e=+e,t=t>>>0,i||ae(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function Gy(r,e,t,i,n){Ky(e,i,n,r,t,7);let s=Number(e&BigInt(4294967295));r[t++]=s,s=s>>8,r[t++]=s,s=s>>8,r[t++]=s,s=s>>8,r[t++]=s;let a=Number(e>>BigInt(32)&BigInt(4294967295));return r[t++]=a,a=a>>8,r[t++]=a,a=a>>8,r[t++]=a,a=a>>8,r[t++]=a,t}function zy(r,e,t,i,n){Ky(e,i,n,r,t,7);let s=Number(e&BigInt(4294967295));r[t+7]=s,s=s>>8,r[t+6]=s,s=s>>8,r[t+5]=s,s=s>>8,r[t+4]=s;let a=Number(e>>BigInt(32)&BigInt(4294967295));return r[t+3]=a,a=a>>8,r[t+2]=a,a=a>>8,r[t+1]=a,a=a>>8,r[t]=a,t+8}y.prototype.writeBigUInt64LE=wt(function(e,t=0){return Gy(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});y.prototype.writeBigUInt64BE=wt(function(e,t=0){return zy(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});y.prototype.writeIntLE=function(e,t,i,n){if(e=+e,t=t>>>0,!n){let p=Math.pow(2,8*i-1);ae(this,e,t,i,p-1,-p)}let s=0,a=1,d=0;for(this[t]=e&255;++s<i&&(a*=256);)e<0&&d===0&&this[t+s-1]!==0&&(d=1),this[t+s]=(e/a>>0)-d&255;return t+i};y.prototype.writeIntBE=function(e,t,i,n){if(e=+e,t=t>>>0,!n){let p=Math.pow(2,8*i-1);ae(this,e,t,i,p-1,-p)}let s=i-1,a=1,d=0;for(this[t+s]=e&255;--s>=0&&(a*=256);)e<0&&d===0&&this[t+s+1]!==0&&(d=1),this[t+s]=(e/a>>0)-d&255;return t+i};y.prototype.writeInt8=function(e,t,i){return e=+e,t=t>>>0,i||ae(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};y.prototype.writeInt16LE=function(e,t,i){return e=+e,t=t>>>0,i||ae(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};y.prototype.writeInt16BE=function(e,t,i){return e=+e,t=t>>>0,i||ae(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};y.prototype.writeInt32LE=function(e,t,i){return e=+e,t=t>>>0,i||ae(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};y.prototype.writeInt32BE=function(e,t,i){return e=+e,t=t>>>0,i||ae(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};y.prototype.writeBigInt64LE=wt(function(e,t=0){return Gy(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});y.prototype.writeBigInt64BE=wt(function(e,t=0){return zy(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Vy(r,e,t,i,n,s){if(t+i>r.length)throw new RangeError("Index out of range");if(t<0)throw new RangeError("Index out of range")}function $y(r,e,t,i,n){return e=+e,t=t>>>0,n||Vy(r,e,t,4,34028234663852886e22,-34028234663852886e22),Vr.write(r,e,t,i,23,4),t+4}y.prototype.writeFloatLE=function(e,t,i){return $y(this,e,t,!0,i)};y.prototype.writeFloatBE=function(e,t,i){return $y(this,e,t,!1,i)};function Jy(r,e,t,i,n){return e=+e,t=t>>>0,n||Vy(r,e,t,8,17976931348623157e292,-17976931348623157e292),Vr.write(r,e,t,i,52,8),t+8}y.prototype.writeDoubleLE=function(e,t,i){return Jy(this,e,t,!0,i)};y.prototype.writeDoubleBE=function(e,t,i){return Jy(this,e,t,!1,i)};y.prototype.copy=function(e,t,i,n){if(!y.isBuffer(e))throw new TypeError("argument should be a Buffer");if(i||(i=0),!n&&n!==0&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<i&&(n=i),n===i||e.length===0||this.length===0)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-i&&(n=e.length-t+i);let s=n-i;return this===e&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(t,i,n):Uint8Array.prototype.set.call(e,this.subarray(i,n),t),s};y.prototype.fill=function(e,t,i,n){if(typeof e=="string"){if(typeof t=="string"?(n=t,t=0,i=this.length):typeof i=="string"&&(n=i,i=this.length),n!==void 0&&typeof n!="string")throw new TypeError("encoding must be a string");if(typeof n=="string"&&!y.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(e.length===1){let a=e.charCodeAt(0);(n==="utf8"&&a<128||n==="latin1")&&(e=a)}}else typeof e=="number"?e=e&255:typeof e=="boolean"&&(e=Number(e));if(t<0||this.length<t||this.length<i)throw new RangeError("Out of range index");if(i<=t)return this;t=t>>>0,i=i===void 0?this.length:i>>>0,e||(e=0);let s;if(typeof e=="number")for(s=t;s<i;++s)this[s]=e;else{let a=y.isBuffer(e)?e:y.from(e,n),d=a.length;if(d===0)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(s=0;s<i-t;++s)this[s+t]=a[s%d]}return this};var zr={};function Cc(r,e,t){zr[r]=class extends t{constructor(){super(),Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${r}]`,this.stack,delete this.name}get code(){return r}set code(n){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:n,writable:!0})}toString(){return`${this.name} [${r}]: ${this.message}`}}}Cc("ERR_BUFFER_OUT_OF_BOUNDS",function(r){return r?`${r} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError);Cc("ERR_INVALID_ARG_TYPE",function(r,e){return`The "${r}" argument must be of type number. Received type ${typeof e}`},TypeError);Cc("ERR_OUT_OF_RANGE",function(r,e,t){let i=`The value of "${r}" is out of range.`,n=t;return Number.isInteger(t)&&Math.abs(t)>2**32?n=Ny(String(t)):typeof t=="bigint"&&(n=String(t),(t>BigInt(2)**BigInt(32)||t<-(BigInt(2)**BigInt(32)))&&(n=Ny(n)),n+="n"),i+=` It must be ${e}. Received ${n}`,i},RangeError);function Ny(r){let e="",t=r.length,i=r[0]==="-"?1:0;for(;t>=i+4;t-=3)e=`_${r.slice(t-3,t)}${e}`;return`${r.slice(0,t)}${e}`}function CE(r,e,t){$r(e,"offset"),(r[e]===void 0||r[e+t]===void 0)&&Jn(e,r.length-(t+1))}function Ky(r,e,t,i,n,s){if(r>t||r<e){let a=typeof e=="bigint"?"n":"",d;throw s>3?e===0||e===BigInt(0)?d=`>= 0${a} and < 2${a} ** ${(s+1)*8}${a}`:d=`>= -(2${a} ** ${(s+1)*8-1}${a}) and < 2 ** ${(s+1)*8-1}${a}`:d=`>= ${e}${a} and <= ${t}${a}`,new zr.ERR_OUT_OF_RANGE("value",d,r)}CE(i,n,s)}function $r(r,e){if(typeof r!="number")throw new zr.ERR_INVALID_ARG_TYPE(e,"number",r)}function Jn(r,e,t){throw Math.floor(r)!==r?($r(r,t),new zr.ERR_OUT_OF_RANGE(t||"offset","an integer",r)):e<0?new zr.ERR_BUFFER_OUT_OF_BOUNDS:new zr.ERR_OUT_OF_RANGE(t||"offset",`>= ${t?1:0} and <= ${e}`,r)}var IE=/[^+/0-9A-Za-z-_]/g;function AE(r){if(r=r.split("=")[0],r=r.trim().replace(IE,""),r.length<2)return"";for(;r.length%4!==0;)r=r+"=";return r}function Sc(r,e){e=e||1/0;let t,i=r.length,n=null,s=[];for(let a=0;a<i;++a){if(t=r.charCodeAt(a),t>55295&&t<57344){if(!n){if(t>56319){(e-=3)>-1&&s.push(239,191,189);continue}else if(a+1===i){(e-=3)>-1&&s.push(239,191,189);continue}n=t;continue}if(t<56320){(e-=3)>-1&&s.push(239,191,189),n=t;continue}t=(n-55296<<10|t-56320)+65536}else n&&(e-=3)>-1&&s.push(239,191,189);if(n=null,t<128){if((e-=1)<0)break;s.push(t)}else if(t<2048){if((e-=2)<0)break;s.push(t>>6|192,t&63|128)}else if(t<65536){if((e-=3)<0)break;s.push(t>>12|224,t>>6&63|128,t&63|128)}else if(t<1114112){if((e-=4)<0)break;s.push(t>>18|240,t>>12&63|128,t>>6&63|128,t&63|128)}else throw new Error("Invalid code point")}return s}function EE(r){let e=[];for(let t=0;t<r.length;++t)e.push(r.charCodeAt(t)&255);return e}function TE(r,e){let t,i,n,s=[];for(let a=0;a<r.length&&!((e-=2)<0);++a)t=r.charCodeAt(a),i=t>>8,n=t%256,s.push(n),s.push(i);return s}function Xy(r){return bc.toByteArray(AE(r))}function id(r,e,t,i){let n;for(n=0;n<i&&!(n+t>=e.length||n>=r.length);++n)e[n+t]=r[n];return n}function tt(r,e){return r instanceof e||r!=null&&r.constructor!=null&&r.constructor.name!=null&&r.constructor.name===e.name}function Ic(r){return r!==r}var RE=function(){let r="0123456789abcdef",e=new Array(256);for(let t=0;t<16;++t){let i=t*16;for(let n=0;n<16;++n)e[i+n]=r[t]+r[n]}return e}();function wt(r){return typeof BigInt>"u"?FE:r}function FE(){throw new Error("BigInt not supported")}});var Zc=b((pN,eb)=>{var FT=Object.prototype.toString;eb.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 LT(e)?"generatorfunction":"function";if(OT(e))return"array";if(_T(e))return"buffer";if(NT(e))return"arguments";if(UT(e))return"date";if(BT(e))return"error";if(MT(e))return"regexp";switch(Qv(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(DT(e))return"generator";switch(t=FT.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 Qv(r){return typeof r.constructor=="function"?r.constructor.name:null}function OT(r){return Array.isArray?Array.isArray(r):r instanceof Array}function BT(r){return r instanceof Error||typeof r.message=="string"&&r.constructor&&typeof r.constructor.stackTraceLimit=="number"}function UT(r){return r instanceof Date?!0:typeof r.toDateString=="function"&&typeof r.getDate=="function"&&typeof r.setDate=="function"}function MT(r){return r instanceof RegExp?!0:typeof r.flags=="string"&&typeof r.ignoreCase=="boolean"&&typeof r.multiline=="boolean"&&typeof r.global=="boolean"}function LT(r,e){return Qv(r)==="GeneratorFunction"}function DT(r){return typeof r.throw=="function"&&typeof r.return=="function"&&typeof r.next=="function"}function NT(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 _T(r){return r.constructor&&typeof r.constructor.isBuffer=="function"?r.constructor.isBuffer(r):!1}});var ib=b((fN,rb)=>{"use strict";var tb=Symbol.prototype.valueOf,qT=Zc();function HT(r,e){switch(qT(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 zT(r);case"symbol":return VT(r);case"arraybuffer":return WT(r);case"float32array":case"float64array":case"int16array":case"int32array":case"int8array":case"uint16array":case"uint32array":case"uint8clampedarray":case"uint8array":return GT(r);case"regexp":return jT(r);case"error":return Object.create(r);default:return r}}function jT(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 WT(r){let e=new r.constructor(r.byteLength);return new Uint8Array(e).set(new Uint8Array(r)),e}function GT(r,e){return new r.constructor(r.buffer,r.byteOffset,r.length)}function zT(r){let e=r.length,t=Buffer.allocUnsafe?Buffer.allocUnsafe(e):Buffer.from(e);return r.copy(t),t}function VT(r){return tb?Object(tb.call(r)):{}}rb.exports=HT});var ob=b((gN,nb)=>{"use strict";nb.exports=function(e){return e!=null&&typeof e=="object"&&Array.isArray(e)===!1}});var db=b((hN,ab)=>{"use strict";var $T=ob();function sb(r){return $T(r)===!0&&Object.prototype.toString.call(r)==="[object Object]"}ab.exports=function(e){var t,i;return!(sb(e)===!1||(t=e.constructor,typeof t!="function")||(i=t.prototype,sb(i)===!1)||i.hasOwnProperty("isPrototypeOf")===!1)}});var ub=b((yN,lb)=>{"use strict";var JT=ib(),KT=Zc(),XT=db();function Yc(r,e){switch(KT(r)){case"object":return ZT(r,e);case"array":return YT(r,e);default:return JT(r)}}function ZT(r,e){if(typeof e=="function")return e(r);if(e||XT(r)){let t=new r.constructor;for(let i in r)t[i]=Yc(r[i],e);return t}return r}function YT(r,e){let t=new r.constructor(r.length);for(let i=0;i<r.length;i++)t[i]=Yc(r[i],e);return t}lb.exports=Yc});var zb=b((uo,hi)=>{var QT=200,lm="__lodash_hash_undefined__",Fd=1,Sb=2,wb=9007199254740991,xd="[object Arguments]",rm="[object Array]",eR="[object AsyncFunction]",xb="[object Boolean]",Cb="[object Date]",Ib="[object Error]",Ab="[object Function]",tR="[object GeneratorFunction]",Cd="[object Map]",Eb="[object Number]",rR="[object Null]",gi="[object Object]",cb="[object Promise]",iR="[object Proxy]",Tb="[object RegExp]",Id="[object Set]",Rb="[object String]",nR="[object Symbol]",oR="[object Undefined]",im="[object WeakMap]",Fb="[object ArrayBuffer]",Ad="[object DataView]",sR="[object Float32Array]",aR="[object Float64Array]",dR="[object Int8Array]",lR="[object Int16Array]",uR="[object Int32Array]",cR="[object Uint8Array]",mR="[object Uint8ClampedArray]",pR="[object Uint16Array]",fR="[object Uint32Array]",gR=/[\\^$.*+?()[\]{}|]/g,hR=/^\[object .+?Constructor\]$/,yR=/^(?:0|[1-9]\d*)$/,j={};j[sR]=j[aR]=j[dR]=j[lR]=j[uR]=j[cR]=j[mR]=j[pR]=j[fR]=!0;j[xd]=j[rm]=j[Fb]=j[xb]=j[Ad]=j[Cb]=j[Ib]=j[Ab]=j[Cd]=j[Eb]=j[gi]=j[Tb]=j[Id]=j[Rb]=j[im]=!1;var Ob=typeof global=="object"&&global&&global.Object===Object&&global,vR=typeof self=="object"&&self&&self.Object===Object&&self,ct=Ob||vR||Function("return this")(),Bb=typeof uo=="object"&&uo&&!uo.nodeType&&uo,mb=Bb&&typeof hi=="object"&&hi&&!hi.nodeType&&hi,Ub=mb&&mb.exports===Bb,Qc=Ub&&Ob.process,pb=function(){try{return Qc&&Qc.binding&&Qc.binding("util")}catch{}}(),fb=pb&&pb.isTypedArray;function bR(r,e){for(var t=-1,i=r==null?0:r.length,n=0,s=[];++t<i;){var a=r[t];e(a,t,r)&&(s[n++]=a)}return s}function PR(r,e){for(var t=-1,i=e.length,n=r.length;++t<i;)r[n+t]=e[t];return r}function kR(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 SR(r,e){for(var t=-1,i=Array(r);++t<r;)i[t]=e(t);return i}function wR(r){return function(e){return r(e)}}function xR(r,e){return r.has(e)}function CR(r,e){return r?.[e]}function IR(r){var e=-1,t=Array(r.size);return r.forEach(function(i,n){t[++e]=[n,i]}),t}function AR(r,e){return function(t){return r(e(t))}}function ER(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}var TR=Array.prototype,RR=Function.prototype,Od=Object.prototype,em=ct["__core-js_shared__"],Mb=RR.toString,rt=Od.hasOwnProperty,gb=function(){var r=/[^.]+$/.exec(em&&em.keys&&em.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}(),Lb=Od.toString,FR=RegExp("^"+Mb.call(rt).replace(gR,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),hb=Ub?ct.Buffer:void 0,Ed=ct.Symbol,yb=ct.Uint8Array,Db=Od.propertyIsEnumerable,OR=TR.splice,lr=Ed?Ed.toStringTag:void 0,vb=Object.getOwnPropertySymbols,BR=hb?hb.isBuffer:void 0,UR=AR(Object.keys,Object),nm=yi(ct,"DataView"),co=yi(ct,"Map"),om=yi(ct,"Promise"),sm=yi(ct,"Set"),am=yi(ct,"WeakMap"),mo=yi(Object,"create"),MR=mr(nm),LR=mr(co),DR=mr(om),NR=mr(sm),_R=mr(am),bb=Ed?Ed.prototype:void 0,tm=bb?bb.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 qR(){this.__data__=mo?mo(null):{},this.size=0}function HR(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}function jR(r){var e=this.__data__;if(mo){var t=e[r];return t===lm?void 0:t}return rt.call(e,r)?e[r]:void 0}function WR(r){var e=this.__data__;return mo?e[r]!==void 0:rt.call(e,r)}function GR(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=mo&&e===void 0?lm:e,this}ur.prototype.clear=qR;ur.prototype.delete=HR;ur.prototype.get=jR;ur.prototype.has=WR;ur.prototype.set=GR;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 zR(){this.__data__=[],this.size=0}function VR(r){var e=this.__data__,t=Bd(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():OR.call(e,t,1),--this.size,!0}function $R(r){var e=this.__data__,t=Bd(e,r);return t<0?void 0:e[t][1]}function JR(r){return Bd(this.__data__,r)>-1}function KR(r,e){var t=this.__data__,i=Bd(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}mt.prototype.clear=zR;mt.prototype.delete=VR;mt.prototype.get=$R;mt.prototype.has=JR;mt.prototype.set=KR;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 XR(){this.size=0,this.__data__={hash:new ur,map:new(co||mt),string:new ur}}function ZR(r){var e=Ud(this,r).delete(r);return this.size-=e?1:0,e}function YR(r){return Ud(this,r).get(r)}function QR(r){return Ud(this,r).has(r)}function eF(r,e){var t=Ud(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}cr.prototype.clear=XR;cr.prototype.delete=ZR;cr.prototype.get=YR;cr.prototype.has=QR;cr.prototype.set=eF;function Td(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new cr;++e<t;)this.add(r[e])}function tF(r){return this.__data__.set(r,lm),this}function rF(r){return this.__data__.has(r)}Td.prototype.add=Td.prototype.push=tF;Td.prototype.has=rF;function Rt(r){var e=this.__data__=new mt(r);this.size=e.size}function iF(){this.__data__=new mt,this.size=0}function nF(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}function oF(r){return this.__data__.get(r)}function sF(r){return this.__data__.has(r)}function aF(r,e){var t=this.__data__;if(t instanceof mt){var i=t.__data__;if(!co||i.length<QT-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=iF;Rt.prototype.delete=nF;Rt.prototype.get=oF;Rt.prototype.has=sF;Rt.prototype.set=aF;function dF(r,e){var t=Rd(r),i=!t&&wF(r),n=!t&&!i&&dm(r),s=!t&&!i&&!n&&Gb(r),a=t||i||n||s,d=a?SR(r.length,String):[],p=d.length;for(var f in r)(e||rt.call(r,f))&&!(a&&(f=="length"||n&&(f=="offset"||f=="parent")||s&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||vF(f,p)))&&d.push(f);return d}function Bd(r,e){for(var t=r.length;t--;)if(qb(r[t][0],e))return t;return-1}function lF(r,e,t){var i=e(r);return Rd(r)?i:PR(i,t(r))}function fo(r){return r==null?r===void 0?oR:rR:lr&&lr in Object(r)?hF(r):SF(r)}function Pb(r){return po(r)&&fo(r)==xd}function Nb(r,e,t,i,n){return r===e?!0:r==null||e==null||!po(r)&&!po(e)?r!==r&&e!==e:uF(r,e,t,i,Nb,n)}function uF(r,e,t,i,n,s){var a=Rd(r),d=Rd(e),p=a?rm:Tt(r),f=d?rm:Tt(e);p=p==xd?gi:p,f=f==xd?gi:f;var g=p==gi,c=f==gi,h=p==f;if(h&&dm(r)){if(!dm(e))return!1;a=!0,g=!1}if(h&&!g)return s||(s=new Rt),a||Gb(r)?_b(r,e,t,i,n,s):fF(r,e,p,t,i,n,s);if(!(t&Fd)){var P=g&&rt.call(r,"__wrapped__"),w=c&&rt.call(e,"__wrapped__");if(P||w){var I=P?r.value():r,T=w?e.value():e;return s||(s=new Rt),n(I,T,t,i,s)}}return h?(s||(s=new Rt),gF(r,e,t,i,n,s)):!1}function cF(r){if(!Wb(r)||PF(r))return!1;var e=Hb(r)?FR:hR;return e.test(mr(r))}function mF(r){return po(r)&&jb(r.length)&&!!j[fo(r)]}function pF(r){if(!kF(r))return UR(r);var e=[];for(var t in Object(r))rt.call(r,t)&&t!="constructor"&&e.push(t);return e}function _b(r,e,t,i,n,s){var a=t&Fd,d=r.length,p=e.length;if(d!=p&&!(a&&p>d))return!1;var f=s.get(r);if(f&&s.get(e))return f==e;var g=-1,c=!0,h=t&Sb?new Td:void 0;for(s.set(r,e),s.set(e,r);++g<d;){var P=r[g],w=e[g];if(i)var I=a?i(w,P,g,e,r,s):i(P,w,g,r,e,s);if(I!==void 0){if(I)continue;c=!1;break}if(h){if(!kR(e,function(T,D){if(!xR(h,D)&&(P===T||n(P,T,t,i,s)))return h.push(D)})){c=!1;break}}else if(!(P===w||n(P,w,t,i,s))){c=!1;break}}return s.delete(r),s.delete(e),c}function fF(r,e,t,i,n,s,a){switch(t){case Ad:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case Fb:return!(r.byteLength!=e.byteLength||!s(new yb(r),new yb(e)));case xb:case Cb:case Eb:return qb(+r,+e);case Ib:return r.name==e.name&&r.message==e.message;case Tb:case Rb:return r==e+"";case Cd:var d=IR;case Id:var p=i&Fd;if(d||(d=ER),r.size!=e.size&&!p)return!1;var f=a.get(r);if(f)return f==e;i|=Sb,a.set(r,e);var g=_b(d(r),d(e),i,n,s,a);return a.delete(r),g;case nR:if(tm)return tm.call(r)==tm.call(e)}return!1}function gF(r,e,t,i,n,s){var a=t&Fd,d=kb(r),p=d.length,f=kb(e),g=f.length;if(p!=g&&!a)return!1;for(var c=p;c--;){var h=d[c];if(!(a?h in e:rt.call(e,h)))return!1}var P=s.get(r);if(P&&s.get(e))return P==e;var w=!0;s.set(r,e),s.set(e,r);for(var I=a;++c<p;){h=d[c];var T=r[h],D=e[h];if(i)var Ke=a?i(D,T,h,e,r,s):i(T,D,h,r,e,s);if(!(Ke===void 0?T===D||n(T,D,t,i,s):Ke)){w=!1;break}I||(I=h=="constructor")}if(w&&!I){var Cn=r.constructor,la=e.constructor;Cn!=la&&"constructor"in r&&"constructor"in e&&!(typeof Cn=="function"&&Cn instanceof Cn&&typeof la=="function"&&la instanceof la)&&(w=!1)}return s.delete(r),s.delete(e),w}function kb(r){return lF(r,IF,yF)}function Ud(r,e){var t=r.__data__;return bF(e)?t[typeof e=="string"?"string":"hash"]:t.map}function yi(r,e){var t=CR(r,e);return cF(t)?t:void 0}function hF(r){var e=rt.call(r,lr),t=r[lr];try{r[lr]=void 0;var i=!0}catch{}var n=Lb.call(r);return i&&(e?r[lr]=t:delete r[lr]),n}var yF=vb?function(r){return r==null?[]:(r=Object(r),bR(vb(r),function(e){return Db.call(r,e)}))}:AF,Tt=fo;(nm&&Tt(new nm(new ArrayBuffer(1)))!=Ad||co&&Tt(new co)!=Cd||om&&Tt(om.resolve())!=cb||sm&&Tt(new sm)!=Id||am&&Tt(new am)!=im)&&(Tt=function(r){var e=fo(r),t=e==gi?r.constructor:void 0,i=t?mr(t):"";if(i)switch(i){case MR:return Ad;case LR:return Cd;case DR:return cb;case NR:return Id;case _R:return im}return e});function vF(r,e){return e=e??wb,!!e&&(typeof r=="number"||yR.test(r))&&r>-1&&r%1==0&&r<e}function bF(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}function PF(r){return!!gb&&gb in r}function kF(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||Od;return r===t}function SF(r){return Lb.call(r)}function mr(r){if(r!=null){try{return Mb.call(r)}catch{}try{return r+""}catch{}}return""}function qb(r,e){return r===e||r!==r&&e!==e}var wF=Pb(function(){return arguments}())?Pb:function(r){return po(r)&&rt.call(r,"callee")&&!Db.call(r,"callee")},Rd=Array.isArray;function xF(r){return r!=null&&jb(r.length)&&!Hb(r)}var dm=BR||EF;function CF(r,e){return Nb(r,e)}function Hb(r){if(!Wb(r))return!1;var e=fo(r);return e==Ab||e==tR||e==eR||e==iR}function jb(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=wb}function Wb(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}function po(r){return r!=null&&typeof r=="object"}var Gb=fb?wR(fb):mF;function IF(r){return xF(r)?dF(r):pF(r)}function AF(){return[]}function EF(){return!1}hi.exports=CF});var s2=In(Ey(),1);function v(r,e){if(r==null)throw Error(e??"Expected nonnullish value.")}function Hr(r,e){return v(r,e),r}function er(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 kt(r){return r.startsWith(re.COMMENT)}function Qa(r){return r.startsWith(re.ACCOUNT)}function tr(r){return r.startsWith(re.LINK)}function Ty(r){return r.startsWith(re.MESSAGE)}function Ry(r){return r.startsWith(re.SUBREDDIT)}function Fy(r){return r.startsWith(re.AWARD)}function _A(r){er(kt(r),`Expected comment id to start with ${re.COMMENT}, got ${r}}`)}function qA(r){er(Qa(r),`Expected account id to start with ${re.ACCOUNT}, got ${r}}`)}function HA(r){er(tr(r),`Expected link id to start with ${re.LINK}, got ${r}}`)}function jA(r){er(Ty(r),`Expected message id to start with ${re.MESSAGE}, got ${r}}`)}function WA(r){er(Ry(r),`Expected subreddit id to start with ${re.SUBREDDIT}, got ${r}}`)}function GA(r){er(Fy(r),`Expected award id to start with ${re.AWARD}, got ${r}}`)}function jr(r){return _A(r),r}function ge(r){return qA(r),r}function he(r){return HA(r),r}function zA(r){return jA(r),r}function Re(r){return WA(r),r}function VA(r){return GA(r),r}function Fe(r){if(kt(r))return jr(r);if(Qa(r))return ge(r);if(tr(r))return he(r);if(Ty(r))return zA(r);if(Ry(r))return Re(r);if(Fy(r))return VA(r);throw new Error(`Expected thing id to start with ${Object.values(re).join(", ")} got ${r}}`)}function pc(r){return kt(r)}import*as x from"@devvit/protos";var ed=class{constructor(e){}};var fc=(t=>(t.Installation="installation",t.App="app",t))(fc||{});function rr(r,e=new Set){for(let t of r){if(t.type==="group"){rr(t.fields,e);continue}let i=t.name;if(e.has(i))throw new Error(`Duplicate field name: ${i}`);e.add(i)}$A(r)}function $A(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 MU=["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","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 NE,GetFieldsResponse as _E}from"@devvit/protos";import{FormField as Wr,FormFieldType as Ve}from"@devvit/protos";function at(r){return r.map(e=>{switch(e.type){case"string":return JA(e);case"paragraph":return KA(e);case"number":return XA(e);case"select":return ZA(e);case"boolean":return YA(e);case"group":return QA(e);default:throw new Error("Unknown field type.")}})}function JA(r){return Wr.fromPartial({defaultValue:{fieldType:Ve.STRING,stringValue:r.defaultValue},disabled:r.disabled,fieldConfig:{stringConfig:{placeholder:r.placeholder}},fieldId:r.name,fieldType:Ve.STRING,helpText:r.helpText,label:r.label,required:r.required,isSecret:r.isSecret})}function KA(r){return Wr.fromPartial({defaultValue:{fieldType:Ve.PARAGRAPH,stringValue:r.defaultValue},disabled:r.disabled,fieldConfig:{paragraphConfig:{lineHeight:r.lineHeight,placeholder:r.placeholder}},fieldId:r.name,fieldType:Ve.PARAGRAPH,helpText:r.helpText,label:r.label,required:r.required})}function XA(r){return Wr.fromPartial({defaultValue:{fieldType:Ve.NUMBER,numberValue:r.defaultValue},disabled:r.disabled,fieldConfig:{numberConfig:{}},fieldId:r.name,fieldType:Ve.NUMBER,helpText:r.helpText,label:r.label,required:r.required})}function ZA(r){return Wr.fromPartial({defaultValue:{fieldType:Ve.SELECTION,selectionValue:{values:r.defaultValue}},disabled:r.disabled,fieldConfig:{selectionConfig:{choices:r.options,multiSelect:r.multiSelect}},fieldId:r.name,fieldType:Ve.SELECTION,helpText:r.helpText,label:r.label,required:r.required})}function YA(r){return Wr.fromPartial({defaultValue:{fieldType:Ve.BOOLEAN,boolValue:r.defaultValue},disabled:r.disabled,fieldId:r.name,fieldType:Ve.BOOLEAN,helpText:r.helpText,label:r.label})}function QA(r){return Wr.fromPartial({fieldType:Ve.GROUP,fieldConfig:{groupConfig:{fields:at(r.fields)}},label:r.label,helpText:r.helpText})}function U(r,e){m.prototype[r]=e}import{ValidateFormResponse as DE}from"@devvit/protos";import{RealtimeSubscriptionStatus as rv}from"@devvit/protos";var Gr;(function(r){function e(s,a){return s.length<=a?s:`${s.slice(0,a-1)}\u2026`}r.ellipsize=e;function t(s){return s[0]==null?s:`${s[0].toLocaleUpperCase()}${s.slice(1)}`}r.capitalize=t;function i(s){return s==null||/^\s*$/.test(s)}r.isBlank=i;function n(s){return s instanceof Error?`${s.stack||s.message||s.name}`:String(s)}r.caughtToString=n})(Gr||(Gr={}));function gc(r){if(r==null||typeof r!="object")return r;for(let e of Object.values(r))gc(e);return Object.freeze(r)}var dM=gc(new Set([Boolean,String,Date,ArrayBuffer,DataView,Array,Object,Map,Set,Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array,Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].map(r=>r.prototype)));var Yy=In(Zy(),1),fM=globalThis.Buffer??Yy.Buffer;function Qy(r,e){if(e.hostname==null)throw Error("Unbound namespace.");return`${r}.${e.hostname}`.toLocaleLowerCase()}function ev(r,e){let t=`.${e}`;return r===e||r.length>t.length&&r.endsWith(t)}var Ac;(function(r){function e(d){return d.split(".")[0]}r.getChild=e;function t(d){return Hr(d.split(".").at(-1))}r.getRoot=t;function i(d){return{hostname:Qy("plugins",d)}}r.getPluginNamespace=i;function n(d){return{hostname:Qy("system",d)}}r.getSystemNamespace=n;function s(d,p){return ev(d,Hr(i(p).hostname))}r.isPlugin=s;function a(d,p){return ev(d,Hr(n(p).hostname))}r.isSystem=a})(Ac||(Ac={}));var N=Object.freeze({Actor:"devvit-actor",App:"devvit-app",AppUser:"devvit-app-user",Caller:"devvit-caller",CallerPortID:"devvit-caller-port-id",Canary:"devvit-canary",DebugRenderXML:"devvit-debug-render-xml",Installation:"devvit-installation",ModPermissions:"devvit-mod-permissions",R2Auth:"devvit-sec-authorization",R2Host:"devvit-r2-host",RemoteHostname:"devvit-remote-hostname",StreamID:"devvit-stream-id",Subreddit:"devvit-subreddit",TraceID:"devvit-trace-id",User:"devvit-user",Version:"devvit-version",SettingsUri:"devvit-sec-settings-uri",GQLHost:"devvit-gql-host",AppViewerAuthToken:"devvit-app-viewer-authorization"});var bM=Object.freeze([N.App,N.AppUser,N.Caller,N.Canary,N.DebugRenderXML,N.Installation,N.ModPermissions,N.StreamID,N.Subreddit,N.TraceID,N.User]);function ye(r,e){return e?.[r]?.values[0]}function OE(r){let e=Hr(r.method.split("/").at(-1));return e[0].toLocaleLowerCase()+e.slice(1)}var tv;(function(r){function e(t){let i=t.request?`${t.src} \u2192 ${t.dst}`:`${t.dst} \u2190 ${t.src}`,n=t.streamId.split("-")[0],s=Gr.capitalize(OE(t));return`${i}@${n}/${s}`}r.toLogString=e})(tv||(tv={}));function iv(r){function e(t){let i=r.currentHookIndex,n=r.getCurrentComponentState(),s=r.getPreviousComponentState(),a=ye(N.App,r.metadata);v(a,"useChannel - app is missing from Context");let d=ye(N.Installation,r.metadata);v(d,"useChannel - installation is missing from Context");async function p(I){let T=n[i].channel;if(n[i].active)if(n[i].connected)await r.realtime.send(T,I);else throw Error(`Failed to send to channel '${T}'; it is active but not yet connected`);else throw Error(`Cannot send a message over inactive channel: ${T}`)}function f(){if(!n[i].active){let I=n[i].channel;n[i].active=!0,r.addRealtimeChannel(I)}}function g(){if(n[i].active){let I=n[i].channel;n[i].active=!1,r.removeRealtimeChannel(I)}}function c(I){return async()=>{let T;switch(I.status){case rv.REALTIME_SUBSCRIBED:n[i].connected=!0,T=t.onSubscribed?.();break;case rv.REALTIME_UNSUBSCRIBED:n[i].connected=!1,T=t.onUnsubscribed?.();break;default:T=t.onMessage(I.event?.data??{});break}await T}}let h={channel:`${a}:${d}:${t.name}`,active:!1,connected:!1,preventCallback:!1,type:St.CHANNEL};i in n?h=n[i]:i in s&&(h=s[i]);let P=r.realtimeEvent;r.isInitialRender?h.active=!1:P&&h.active&&P.event.channel===h.channel&&(h.preventCallback||r.runHook(c(P)),r.rerenderIn(0)),n[i]=h,r.currentHookIndex++;let w=0;return h.active&&h.connected?w=2:h.active&&!h.connected?w=1:!h.active&&h.connected?w=3:!h.active&&!h.connected&&(w=4),{subscribe:f,unsubscribe:g,send:p,status:w}}return e}import{FormFieldType as Kn}from"@devvit/protos";function Ec(r){switch(r.fieldType){case Kn.STRING:return r.stringValue;case Kn.PARAGRAPH:return r.stringValue;case Kn.NUMBER:return r.numberValue;case Kn.BOOLEAN:return r.boolValue;case Kn.SELECTION:return r.selectionValue?.values??[];default:return}}function Kr(r){return Object.keys(r).reduce((e,t)=>(e[t]=Ec(r[t]),e),{})}function nv(r){function e(t,i){let n=r.currentHookIndex,s=r.getCurrentComponentKey(),a=r.getCurrentComponentState(),d=r.getPreviousComponentState(),p=`form.hook.${s}.${n}`,f={formKey:p,preventSubmit:!1,type:St.FORM};n in a?f=a[n]:n in d&&(f=d[n]),a[n]=f,r.forms.set(p,t);let g=r.formSubmittedEvent;return g&&!f.preventSubmit&&g.formId===p&&r.runHook(async()=>{let c=i(Kr(g.results));c&&c instanceof Promise&&await c,r.rerenderIn(0)}),a[n].preventSubmit=!1,r.currentHookIndex++,p}return e}function ov(r){function e(t,i){let n=r.currentHookIndex,s=r.getCurrentComponentState(),a=r.getPreviousComponentState(),d=100,p=Math.max(d,i),f={lastRun:void 0,running:!1,preventCallback:!1,type:St.INTERVAL};n in s?f=s[n]:n in a&&(f=a[n]);function g(){i<d&&console.error(`useInterval delay must be at least ${d}ms. Your interval of ${i}ms was automatically extended.`);for(let[h,P]of Object.entries(s))if(h!==n.toString()&&P?.type===St.INTERVAL&&P?.running)throw new Error("Only one useInterval hook may be running at a time");s[n]={running:!0,lastRun:Date.now(),preventCallback:!1,type:St.INTERVAL},r.rerenderIn(p)}function c(){s[n].running=!1,s[n].lastRun=void 0,s[n].preventCallback=!1}return r.isEffectRender&&f.running&&(f.preventCallback||(f.lastRun===void 0||f.lastRun+p<Date.now())&&r.runHook(async()=>{let h=t();h&&h instanceof Promise&&await h,f.lastRun=Date.now()}),r.rerenderIn(p)),f.preventCallback=!1,s[n]=f,r.currentHookIndex++,{start:g,stop:c}}return e}function sv(r){function e(t){let i=r.currentHookIndex,n=r.getCurrentComponentState(),s=r.getPreviousComponentState();if(i in n)return r.currentHookIndex++,[n[i],a];if(r.isInitialRender||!(i in s)){let d=t instanceof Function?t():t;if(d instanceof Promise)throw(async()=>{n[i]=await d,r.currentHookIndex=0})();n[i]=d}else n[i]=s[i];function a(d){if(r.isRendering)throw new Error("Cannot call setState while rendering.");n[i]=d instanceof Function?d(n[i]):d}return r.currentHookIndex++,[n[i],a]}return e}var Xr,Zr,nd,av,od,dv,Yr=class{constructor(e,t){u(this,nd);u(this,od);u(this,Xr,void 0);u(this,Zr,void 0);l(this,Xr,e),l(this,Zr,t)}async getURL(e){return typeof e=="string"?k(this,nd,av).call(this,e):k(this,od,dv).call(this,e)}};Xr=new WeakMap,Zr=new WeakMap,nd=new WeakSet,av=async function(e){let t=globalThis?.devvit?.config?.assets?.[e];if(t)return t;let i=await o(this,Zr).call(this).GetAssetURL({path:e},o(this,Xr));if(!i.found)throw new Error(`Could not load the URL for asset ${e}`);return i.url},od=new WeakSet,dv=async function(e){let t={},i=[],n=globalThis?.devvit?.config?.assets;if(n)for(let a of e)n[a]?t[a]=n[a]:i.push(a);else i=e;if(i.length===0)return t;let s=await o(this,Zr).call(this).GetAssetURLs({paths:i},o(this,Xr));i=[];for(let[a,d]of Object.entries(s.urls))d.found?t[a]=d.paths[0]:i.push(a);if(i.length>0)throw new Error(`The following assets were missing from the assets list: ${i.join(", ")}`);return t};var xt,Qr=class{constructor(e){u(this,xt,void 0);l(this,xt,e)}async get(e){let{messages:t}=await m.kvStorePlugin.Get({keys:[e]},o(this,xt));try{if(t[e])return JSON.parse(t[e])}catch{return}}async put(e,t){let i={};i[e]=JSON.stringify(t),await m.kvStorePlugin.Put({messages:i},o(this,xt))}async delete(e){await m.kvStorePlugin.Del({keys:[e]},o(this,xt))}async list(){let{keys:e}=await m.kvStorePlugin.List({filter:"*"},o(this,xt));return e}};xt=new WeakMap;var Xn,ei=class{constructor(e){u(this,Xn,void 0);l(this,Xn,e)}async upload(e){let t=await m.mediaPlugin.Upload(e,o(this,Xn));if(!t.mediaId)throw new Error("unable to get mediaId via uploads");return Promise.resolve({mediaId:t.mediaId,mediaUrl:t.mediaUrl})}};Xn=new WeakMap;var Zn,ti=class{constructor(e){u(this,Zn,void 0);l(this,Zn,e)}async add(e){await m.modLogPlugin.Add(e,o(this,Zn))}};Zn=new WeakMap;var S,Yn,ii=class{constructor(e){u(this,S,void 0);u(this,Yn,void 0);l(this,S,e),l(this,Yn,new ad(e))}get modMail(){return o(this,Yn)}getSubredditById(e){return ve.getById(Fe(e),o(this,S))}getSubredditByName(e){return ve.getByName(e,o(this,S))}addSubredditRemovalReason(e,t){return ve.addRemovalReason(e,t.title,t.message,o(this,S))}getSubredditRemovalReasons(e){return ve.getRemovalReasons(e,o(this,S))}getCurrentSubreddit(){return ve.getFromMetadata(o(this,S))}getPostById(e){return $.getById(Fe(e),o(this,S))}submitPost(e){return $.submit(e,o(this,S))}crosspost(e){return $.crosspost(e,o(this,S))}getUserById(e){return C.getById(Fe(e),o(this,S))}getCollectionById(e){return ri.getCollectionById({collectionId:e},o(this,S))}createCollection(e){return ri.create(e,o(this,S))}getCollectionsForSubreddit(e){return ri.getCollectionsForSubreddit({subredditId:e},o(this,S))}getUserByUsername(e){return C.getByUsername(e,o(this,S))}getCurrentUser(){return C.getFromMetadata(N.User,o(this,S))}getAppUser(){return C.getFromMetadata(N.AppUser,o(this,S))}getSnoovatarUrl(e){return C.getSnoovatarUrl(e,o(this,S))}getCommentById(e){return Y.getById(Fe(e),o(this,S))}getComments(e){return Y.getComments(e,o(this,S))}getCommentsByUser(e){return Y.getCommentsByUser(e,o(this,S))}submitComment(e){return Y.submit({...e,id:Fe(e.id)},o(this,S))}getControversialPosts(e){return $.getControversialPosts(e,o(this,S))}getTopPosts(e){return $.getTopPosts(e,o(this,S))}getHotPosts(e){return $.getHotPosts(e,o(this,S))}getNewPosts(e){return $.getNewPosts(e,o(this,S))}getRisingPosts(e){return $.getRisingPosts(e,o(this,S))}getPostsByUser(e){return $.getPostsByUser(e,o(this,S))}getCommentsAndPostsByUser(e){return C.getOverview(e,o(this,S))}getModerationLog(e){return sd(e,o(this,S))}getApprovedUsers(e){return C.getSubredditUsersByType({type:"contributors",...e},o(this,S))}approveUser(e,t){return C.createRelationship({username:e,subredditName:t,type:"contributor"},o(this,S))}removeUser(e,t){return C.removeRelationship({username:e,subredditName:t,type:"contributor"},o(this,S))}getWikiContributors(e){return C.getSubredditUsersByType({type:"wikicontributors",...e},o(this,S))}addWikiContributor(e,t){return C.createRelationship({username:e,subredditName:t,type:"wikicontributor"},o(this,S))}removeWikiContributor(e,t){return C.removeRelationship({username:e,subredditName:t,type:"wikicontributor"},o(this,S))}getBannedUsers(e){return C.getSubredditUsersByType({type:"banned",...e},o(this,S))}banUser(e){return C.createRelationship({username:e.username,subredditName:e.subredditName,type:"banned",banReason:e.reason,banMessage:e.message,note:e.note,duration:e.duration},o(this,S))}unbanUser(e,t){return C.removeRelationship({username:e,subredditName:t,type:"banned"},o(this,S))}getBannedWikiContributors(e){return C.getSubredditUsersByType({type:"wikibanned",...e},o(this,S))}banWikiContributor(e){return C.createRelationship({...e,type:"wikibanned"},o(this,S))}unbanWikiContributor(e,t){return C.removeRelationship({username:e,subredditName:t,type:"wikibanned"},o(this,S))}getModerators(e){return C.getSubredditUsersByType({type:"moderators",...e},o(this,S))}inviteModerator(e){return C.createRelationship({type:"moderator_invite",subredditName:e.subredditName,username:e.subredditName,permissions:e.permissions??[]},o(this,S))}revokeModeratorInvite(e,t){return C.removeRelationship({username:e,subredditName:t,type:"moderator_invite"},o(this,S))}removeModerator(e,t){return C.removeRelationship({type:"moderator",subredditName:t,username:e},o(this,S))}setModeratorPermissions(e,t,i){return C.setModeratorPermissions(e,t,i,o(this,S))}getMutedUsers(e){return C.getSubredditUsersByType({type:"muted",...e},o(this,S))}muteUser(e){return C.createRelationship({...e,type:"muted"},o(this,S))}unmuteUser(e,t){return C.removeRelationship({username:e,subredditName:t,type:"muted"},o(this,S))}getModNotes(e){return Be.get(e,o(this,S))}deleteModNote(e){return Be.delete(e,o(this,S))}addModNote(e){let t={...e,redditId:Fe(e.redditId)};return Be.add(t,o(this,S))}addRemovalNote(e){return Be.addRemovalNote(e,o(this,S))}async sendPrivateMessage(e){return or.send(e,o(this,S))}async sendPrivateMessageAsSubreddit(e){return or.sendAsSubreddit(e,o(this,S))}async approve(e){if(kt(e))return Y.approve(e,o(this,S));if(tr(e))return $.approve(e,o(this,S));throw new Error("id must start with either t1_ or t3_")}async remove(e,t){if(kt(e))return Y.remove(e,t,o(this,S));if(tr(e))return $.remove(e,t,o(this,S));throw new Error("id must start with either t1_ or t3_")}async getPostFlairTemplates(e){return de.getPostFlairTemplates(e,o(this,S))}async getUserFlairTemplates(e){return de.getUserFlairTemplates(e,o(this,S))}async createPostFlairTemplate(e){return de.createPostFlairTemplate(e,o(this,S))}async createUserFlairTemplate(e){return de.createUserFlairTemplate(e,o(this,S))}async editFlairTemplate(e){return de.editFlairTemplate(e,o(this,S))}async deleteFlairTemplate(e,t){return de.deleteFlairTemplate(e,t,o(this,S))}async setUserFlair(e){return Ue.setUserFlair(e,o(this,S))}async removeUserFlair(e,t){return Ue.removeUserFlair(e,t,o(this,S))}async setPostFlair(e){return Ue.setPostFlair(e,o(this,S))}async removePostFlair(e,t){return Ue.removePostFlair(e,he(t),o(this,S))}async getWidgets(e){return ie.getWidgets(e,o(this,S))}async deleteWidget(e,t){return ie.delete(e,t,o(this,S))}async addWidget(e){return ie.add(e,o(this,S))}async reorderWidgets(e,t){return ie.reorder(e,t,o(this,S))}async getWikiPage(e,t){return be.getPage(e,t,o(this,S))}async getWikiPages(e){return be.getPages(e,o(this,S))}async createWikiPage(e){return be.createPage(e,o(this,S))}async updateWikiPage(e){return be.updatePage(e,o(this,S))}getWikiPageRevisions(e){return be.getPageRevisions(e,o(this,S))}async revertWikiPage(e,t,i){return be.revertPage(e,t,i,o(this,S))}async getWikiPageSettings(e,t){return be.getPageSettings(e,t,o(this,S))}async updateWikiPageSettings(e){return be.updatePageSettings(e,o(this,S))}async addEditorToWikiPage(e,t,i){return be.addEditor(e,t,i,o(this,S))}async removeEditorFromWikiPage(e,t,i){return be.removeEditor(e,t,i,o(this,S))}getMessages(e){return or.getMessages(e,o(this,S))}markAllMessagesAsRead(){return or.markAllAsRead(o(this,S))}report(e,t){return m.redditAPIPlugins.LinksAndComments.Report({reason:t.reason,thingId:e.id,srName:e.subredditName,usernames:e.authorName},o(this,S))}getModQueue(e){return ve.aboutLocation({...e,location:"modqueue"},o(this,S))}getReports(e){return ve.aboutLocation({...e,location:"reports"},o(this,S))}getSpam(e){return ve.aboutLocation({...e,location:"spam"},o(this,S))}getUnmoderated(e){return ve.aboutLocation({...e,location:"unmoderated"},o(this,S))}getEdited(e){return ve.aboutLocation({...e,location:"edited"},o(this,S))}};S=new WeakMap,Yn=new WeakMap;import{RedisKeyScope as Tc}from"@devvit/protos";var R,F,O,Rc=class{constructor(e,t,i){u(this,R,void 0);u(this,F,void 0);u(this,O,void 0);l(this,R,e),l(this,F,t),l(this,O,i)}async get(e){return await o(this,R).Get({key:e,transactionId:o(this,F)},o(this,O)),this}async multi(){await o(this,R).Multi(o(this,F),o(this,O))}async set(e,t,i){let n;return i?.expiration&&(n=Math.floor((i.expiration.getTime()-Date.now())/1e3),n<1&&(n=1)),await o(this,R).Set({key:e,value:t,nx:i?.nx===!0,xx:i?.xx===!0,expiration:n||0,transactionId:o(this,F)},o(this,O)),this}async del(...e){return await o(this,R).Del({keys:e,transactionId:o(this,F)},o(this,O)),this}async type(e){return await o(this,R).Type({key:e,transactionId:o(this,F)},o(this,O)),this}async exec(){let e=await o(this,R).Exec(o(this,F),o(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 o(this,R).Discard(o(this,F),o(this,O))}async watch(...e){return await o(this,R).Watch({keys:e,transactionId:o(this,F)},o(this,O)),this}async unwatch(){return await o(this,R).Unwatch(o(this,F),o(this,O)),this}async getRange(e,t,i){return await o(this,R).GetRange({key:e,start:t,end:i,transactionId:o(this,F)},o(this,O)),this}async setRange(e,t,i){return await o(this,R).SetRange({key:e,offset:t,value:i,transactionId:o(this,F)},o(this,O)),this}async strlen(e){return await o(this,R).Strlen({key:e,transactionId:o(this,F)},o(this,O)),this}async mget(e){return await o(this,R).MGet({keys:e,transactionId:o(this,F)},o(this,O)),this}async mset(e){let t=Object.entries(e).map(([i,n])=>({key:i,value:n}));return await o(this,R).MSet({kv:t,transactionId:o(this,F)},o(this,O)),this}async incrBy(e,t){return await o(this,R).IncrBy({key:e,value:t,transactionId:o(this,F)},o(this,O)),this}async expire(e,t){return await o(this,R).Expire({key:e,seconds:t,transactionId:o(this,F)},o(this,O)),this}async expireTime(e){return await o(this,R).ExpireTime({key:e,transactionId:o(this,F)},o(this,O)),this}async zAdd(e,...t){return await o(this,R).ZAdd({key:e,members:t,transactionId:o(this,F)},o(this,O)),this}async zScore(e,t){return await o(this,R).ZScore({key:{key:e,transactionId:o(this,F)},member:t},o(this,O)),this}async zRank(e,t){return await o(this,R).ZRank({key:{key:e,transactionId:o(this,F)},member:t},o(this,O)),this}async zIncrBy(e,t,i){return await o(this,R).ZIncrBy({key:e,member:t,value:i,transactionId:o(this,F)},o(this,O)),this}async zScan(e,t,i,n){let s={key:e,cursor:t,pattern:i,count:n,transactionId:o(this,F)};return await o(this,R).ZScan(s,o(this,O)),this}async zCard(e){return await o(this,R).ZCard({key:e,transactionId:o(this,F)},o(this,O)),this}async zRange(e,t,i,n){let s={rev:!1,byLex:!1,byScore:!1,offset:0,count:1e3};return n?.reverse&&(s.rev=n.reverse),n?.by==="lex"?s.byLex=!0:n?.by==="score"&&(s.byScore=!0),await o(this,R).ZRange({key:{key:e,transactionId:o(this,F)},start:t+"",stop:i+"",...s},o(this,O)),this}async zRem(e,t){return await o(this,R).ZRem({key:{key:e,transactionId:o(this,F)},members:t},o(this,O)),this}async zRemRangeByLex(e,t,i){return await o(this,R).ZRemRangeByLex({key:{key:e,transactionId:o(this,F)},min:t,max:i},o(this,O)),this}async zRemRangeByRank(e,t,i){return await o(this,R).ZRemRangeByRank({key:{key:e,transactionId:o(this,F)},start:t,stop:i},o(this,O)),this}async zRemRangeByScore(e,t,i){return await o(this,R).ZRemRangeByScore({key:{key:e,transactionId:o(this,F)},min:t,max:i},o(this,O)),this}async hgetall(e){return await o(this,R).HGetAll({key:e,transactionId:o(this,F)},o(this,O)),this}async hget(e,t){return await o(this,R).HGet({key:e,field:t,transactionId:o(this,F)},o(this,O)),this}async hset(e,t){let i=Object.entries(t).map(([n,s])=>({field:n,value:s}));return await o(this,R).HSet({key:e,fv:i,transactionId:o(this,F)},o(this,O)),this}async hincrby(e,t,i){return await o(this,R).HIncrBy({key:e,field:t,value:i,transactionId:o(this,F)},o(this,O)),this}async hdel(e,t){return await o(this,R).HDel({key:e,fields:t,transactionId:o(this,F)},o(this,O)),this}async hscan(e,t,i,n){let s={key:e,cursor:t,pattern:i,count:n,transactionId:o(this,F)};return await o(this,R).HScan(s,o(this,O)),this}async hkeys(e){return await o(this,R).HKeys({key:e,transactionId:o(this,F)},o(this,O)),this}};R=new WeakMap,F=new WeakMap,O=new WeakMap;var B,ni,Fc=class Fc{constructor(e,t=void 0,i=Tc.INSTALLATION){u(this,B,void 0);u(this,ni,void 0);l(this,B,e),l(this,ni,t),this.scope=i,this.global=i===Tc.INSTALLATION?new Fc(o(this,B),o(this,ni),Tc.GLOBAL):this}get storage(){return o(this,ni)||m.redisPlugin}async watch(...e){let t=await this.storage.Watch({keys:e},o(this,B));return new Rc(this.storage,t,o(this,B))}async get(e){let t=await this.storage.Get({key:e,scope:this.scope},o(this,B));return t!==null?t.value??void 0:t}async set(e,t,i){let n;return i?.expiration&&(n=Math.floor((i.expiration.getTime()-Date.now())/1e3),n<1&&(n=1)),(await this.storage.Set({key:e,value:t,nx:i?.nx===!0&&!i.xx,xx:i?.xx===!0&&!i.nx,expiration:n||0,scope:this.scope},o(this,B))).value}async del(...e){await this.storage.Del({keys:e,scope:this.scope},o(this,B))}async incrBy(e,t){return(await this.storage.IncrBy({key:e,value:t,scope:this.scope},o(this,B))).value}async getRange(e,t,i){let n=await this.storage.GetRange({key:e,start:t,end:i,scope:this.scope},o(this,B));return n!==null?n.value:n}async setRange(e,t,i){return(await this.storage.SetRange({key:e,offset:t,value:i,scope:this.scope},o(this,B))).value}async strlen(e){return(await this.storage.Strlen({key:e,scope:this.scope},o(this,B))).value}async expire(e,t){await this.storage.Expire({key:e,seconds:t,scope:this.scope},o(this,B))}async expireTime(e){return(await this.storage.ExpireTime({key:e,scope:this.scope},o(this,B))).value}async zAdd(e,...t){return(await this.storage.ZAdd({key:e,members:t,scope:this.scope},o(this,B))).value}async zRange(e,t,i,n){let s={rev:!1,byLex:!1,byScore:!1,offset:0,count:1e3};return n?.reverse&&(s.rev=n.reverse),n?.by==="lex"?s.byLex=!0:n?.by==="score"?s.byScore=!0:(s.offset=0,s.count=0),(await this.storage.ZRange({key:{key:e},start:t+"",stop:i+"",...s,scope:this.scope},o(this,B))).members}async zRem(e,t){return(await this.storage.ZRem({key:{key:e},members:t,scope:this.scope},o(this,B))).value}async zRemRangeByLex(e,t,i){return(await this.storage.ZRemRangeByLex({key:{key:e},min:t,max:i,scope:this.scope},o(this,B))).value}async zRemRangeByRank(e,t,i){return(await this.storage.ZRemRangeByRank({key:{key:e},start:t,stop:i,scope:this.scope},o(this,B))).value}async zRemRangeByScore(e,t,i){return(await this.storage.ZRemRangeByScore({key:{key:e},min:t,max:i,scope:this.scope},o(this,B))).value}async zScore(e,t){let i=await this.storage.ZScore({key:{key:e},member:t,scope:this.scope},o(this,B));return i!==null?i.value:i}async zRank(e,t){let i=await this.storage.ZRank({key:{key:e},member:t,scope:this.scope},o(this,B));return i!==null?i.value:i}async zIncrBy(e,t,i){let n=await this.storage.ZIncrBy({key:e,member:t,value:i,scope:this.scope},o(this,B));return n!==null?n.value:n}async mget(e){let t=await this.storage.MGet({keys:e,scope:this.scope},o(this,B));return t!==null?t.values.map(i=>i||null):t}async mset(e){let t=Object.entries(e).map(([i,n])=>({key:i,value:n}));await this.storage.MSet({kv:t,scope:this.scope},o(this,B))}async zCard(e){let t=await this.storage.ZCard({key:e,scope:this.scope},o(this,B));return t!==null?t.value:t}async zScan(e,t,i,n){let s={key:e,cursor:t,pattern:i,count:n,scope:this.scope};return await this.storage.ZScan(s,o(this,B))}async type(e){let t=await this.storage.Type({key:e,scope:this.scope},o(this,B));return t!==null?t.value:t}async hget(e,t){let i=await this.storage.HGet({key:e,field:t,scope:this.scope},o(this,B));return i!==null?i.value??void 0:i}async hset(e,t){let i=Object.entries(t).map(([s,a])=>({field:s,value:a}));return(await this.storage.HSet({key:e,fv:i,scope:this.scope},o(this,B))).value}async hgetall(e){let t=await this.storage.HGetAll({key:e,scope:this.scope},o(this,B));return t!==null?t.fieldValues:t}async hdel(e,t){return(await this.storage.HDel({key:e,fields:t,scope:this.scope},o(this,B))).value}async hscan(e,t,i,n){let s={key:e,cursor:t,pattern:i,count:n,scope:this.scope};return await this.storage.HScan(s,o(this,B))}async hkeys(e){let t=await this.storage.HKeys({key:e,scope:this.scope},o(this,B));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},o(this,B))).value}};B=new WeakMap,ni=new WeakMap;var oi=Fc;var sr,si=class{constructor(e){u(this,sr,void 0);l(this,sr,e)}async runJob(e){return(await m.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},o(this,sr))).id}async cancelJob(e){await m.schedulerPlugin.Cancel({id:e},o(this,sr))}async listJobs(){return(await m.schedulerPlugin.List({after:new Date(0),before:new Date(Date.now()+31536e7)},o(this,sr))).actions.map(t=>(v(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}))}};sr=new WeakMap;var Qn,ai=class{constructor(e){u(this,Qn,void 0);l(this,Qn,e)}async get(e){return(await this.getAll())[e]}async getAll(){let t=await m.settingsPlugin.GetSettings({},o(this,Qn));if(!t.installationSettings)throw new Error("Could not get installation settings");if(!t.appSettings)throw new Error("Could not get app settings");return{...uv(t.installationSettings.settings,m.installationSettings),...uv(t.appSettings.settings,m.appSettings)}}};Qn=new WeakMap;function uv(r,e){let t=Object.keys(r).reduce((i,n)=>(i[n]=Ec(r[n]),i),{});return e&&cv(t,e),t}function cv(r,e){for(let t of e)t.type==="group"?cv(r,t.fields):!(t.name in r)&&"defaultValue"in t&&(r[t.name]=t.defaultValue)}import{EffectType as Oc,Form as BE,ToastAppearance as mv}from"@devvit/protos";var ar,di,dd=class{constructor(e){u(this,ar,[]);u(this,di,void 0);l(this,di,e)}showForm(e,t){let i=m.formDefinitions.get(e);if(!i&&o(this,di)){let a=o(this,di).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 n=i.form instanceof Function?i.form(t??{}):i.form,s=BE.fromPartial({id:e,title:n.title,acceptLabel:n.acceptLabel,cancelLabel:n.cancelLabel,shortDescription:n.description});rr(n.fields),s.fields=at(n.fields),o(this,ar).push({type:Oc.EFFECT_SHOW_FORM,showForm:{form:s}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?mv.SUCCESS:mv.NEUTRAL}:t={text:e},o(this,ar).push({type:Oc.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(),o(this,ar).push({type:Oc.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}get __effects(){return o(this,ar)}};ar=new WeakMap,di=new WeakMap;var Lc={now(){return new Date}};function pv(r){return`__autocache__${r}`}function fv(r){return`__lock__${r}`}var UE=300,ME=1e3,ld=5e3,Bc=3,gv=.1,hv=1e3,LE=3e4;function yv(r){if(r.error)throw new Error(r.error);return r.value}var Ct,It,Me,li,cd,vv,md,bv,pd,Pv,eo,Uc,fd,kv,gd,Sv,to,Mc,hd,wv,ud=class{constructor(e,t,i=Lc){u(this,cd);u(this,md);u(this,pd);u(this,eo);u(this,fd);u(this,gd);u(this,to);u(this,hd);u(this,Ct,void 0);u(this,It,{});u(this,Me,void 0);u(this,li,void 0);l(this,Ct,e),l(this,li,t),l(this,Me,i)}async cache(e,t){l(this,It,o(this,li).__cache=o(this,li).__cache??{}),k(this,hd,wv).call(this,t);let i=k(this,cd,vv).call(this,t.key);if(i!==void 0)return i;let n=await k(this,to,Mc).call(this,t.key),s=await k(this,md,bv).call(this,t,n,e);return yv(s)}};Ct=new WeakMap,It=new WeakMap,Me=new WeakMap,li=new WeakMap,cd=new WeakSet,vv=function(e){let t=o(this,It)[e];if(t){let i=o(this,Me).now().getTime(),n=t?.error&&t?.errorTime&&t.errorCount<Bc&&Math.random()<gv&&t.errorTime+hv<i;if(t?.expires&&t.expires<i&&t.checkedAt+hv<i||n){delete o(this,It)[e];return}else return yv(t)}},md=new WeakSet,bv=async function(e,t,i){let n=t?.expires,s=n?k(this,gd,Sv).call(this,n):1;return!t||t?.error&&t.errorCount<Bc&&gv>Math.random()||s>Math.random()?k(this,pd,Pv).call(this,e,t,i):t},pd=new WeakSet,Pv=async function(e,t,i){let n=fv(e.key),s=o(this,Me).now().getTime(),a=new Date(s+e.ttl/2);if(await o(this,Ct).set(n,"1",{expiration:a,nx:!0}))return k(this,fd,kv).call(this,e.key,t,i,e.ttl);if(t)return t;{let p=o(this,Me).now();return k(this,eo,Uc).call(this,p,e.key,e.ttl)}},eo=new WeakSet,Uc=async function(e,t,i){let n=Math.min(i,ME),s=await k(this,to,Mc).call(this,t);if(s)return s;if(o(this,Me).now().getTime()-e.getTime()>=n)throw new Error(`Cache request timed out trying to get data at key: ${t}`);return await new Promise(a=>setTimeout(a,UE)),k(this,eo,Uc).call(this,e,t,i)},fd=new WeakSet,kv=async function(e,t,i,n){let s=o(this,Me).now().getTime()+n;t=t??{value:null,expires:s,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=o(this,Me).now().getTime(),t.errorCount++}return o(this,It)[e]=t,await o(this,Ct).set(pv(e),JSON.stringify(t),{expiration:new Date(s+LE)}),t.error&&t.errorCount<Bc&&await o(this,Ct).del(fv(e)),t},gd=new WeakSet,Sv=function(e){let t=o(this,Me).now().getTime(),i=e-t;return i<0?1:i<1e3?.1:i<2e3?.01:i<3e3?.001:0},to=new WeakSet,Mc=async function(e){let t=await o(this,Ct).get(pv(e));if(t){let i=JSON.parse(t);return i.checkedAt=o(this,Me).now().getTime(),o(this,It)[e]=i,i}},hd=new WeakSet,wv=function(e){e.ttl<ld&&(console.warn(`Cache TTL cannot be less than ${ld} milliseconds! Updating ttl value of ${e.ttl} to ${ld}.`),e.ttl=ld)};function xv(r,e,t=Lc){let i=new ud(r,e,t);return i.cache.bind(i)}var ro,ui=class{constructor(e){u(this,ro,void 0);l(this,ro,e)}async send(e,t){await m.realtimePlugin.Send({channel:e,data:t},o(this,ro))}};ro=new WeakMap;function Le({metadata:r,ui:e,hooks:t,reconciler:i}){let n=new ti(r),s=new Qr(r),a=new oi(r),d=xv(a,i?i.state:{}),p=new ii(r),f=new si(r),g=new ai(r),c=e?new dd(i):void 0,h=new ei(r),P=new Yr(r,()=>m.assetsPlugin),w=new ui(r),I=t&&i?sv(i):void 0,T=t&&i?ov(i):void 0,D=t&&i?nv(i):void 0,Ke=t&&i?iv(i):void 0;return{modLog:n,kvStore:s,redis:a,reddit:p,scheduler:f,settings:g,media:h,assets:P,realtime:w,get useForm(){return D??(()=>{throw new Error("useForm() is unavailable")})},get cache(){return d??(()=>{throw new Error("cache() is unavailable")})},get useState(){return I??(()=>{throw new Error("useState() is unavailable")})},get useInterval(){return T??(()=>{throw new Error("useInterval() is unavailable")})},get useChannel(){return Ke??(()=>{throw new Error("useChannel() is unavailable")})},get ui(){if(!c)throw new Error("ui client is not available");return c}}}function le(r,e,t){let i=ye(N.Subreddit,r);v(i,"subreddit is missing from Context");let n=ye(N.AppUser,r);v(n,"appAccountId is missing from Context");let s=ye(N.User,r),a={metadata:r};return{appAccountId:n,subredditId:i,userId:s,postId:e,commentId:t,debug:a,toJSON(){return{appAccountId:n,subredditId:i,userId:s,postId:e,commentId:t,debug:a}}}}async function yd(r,e,t){if(!e)throw new Error("Settings were not defined.");let i=DE.fromPartial({success:!0,errors:{}}),n=Kr(r.fieldValues),s=e.flatMap(a=>a.type==="group"?a.fields:a);return await Promise.all(s.map(async a=>{let d=a.name;if(d&&a.type!=="group"&&a.onValidate){let p=n[d],f=a.onValidate,g=Object.assign(Le({metadata:t}),le(t)),c=await f({value:p,isEditing:r.editing},g);c&&(i.success=!1,i.errors[d]=c)}})),i}async function qE(){if(!m.appSettings)throw new Error("App settings were not defined.");return _E.fromPartial({fields:{fields:at(m.appSettings)}})}async function HE(r,e){return yd(r,m.appSettings,e)}function Cv(r){r.provides(NE),U("GetAppSettingsFields",qE),U("ValidateAppForm",HE)}import{CustomPostDefinition as tT}from"@devvit/protos";import{BlockRenderEventType as Jc,BlockType as YE,EffectType as Wv}from"@devvit/protos";function ci(r){return r.__effects}var Iv="redd.it",jE="redditstatic.com",WE="redditmedia.com",GE="snoo.dev";var zE=[GE,Iv,jE,WE],VE=/^data:([a-zA-Z]+\/[a-zA-Z0-9.+_-]+)?(;charset=[a-zA-Z0-9._+-]+)?(;base64)?,(.*)/;function $E(r){return r.trim().replace(/[\r\n]+/g,"")}function JE(r){let e=VE.exec($E(r));if(e)return{mimeType:e[1],charset:e[2]?.split("=")[1],isBase64:!!e[3],data:e[4].trim()}}function KE(r){return["image/svg+xml"].includes(r)}function XE(r){let e=JE(r);return e?.mimeType?KE(e.mimeType):!1}function Av(r){try{if(XE(r))return!0;let t=(new URL(r,`https://i.${Iv}`)?.hostname).split(".").slice(-2).join(".");return!!t&&zE.includes(t)}catch{return!1}}function Ev(){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 ZE,BlockAnimationDirection as Lv,BlockAnimationLoopMode as Dv,BlockAnimationType as Nv,BlockAvatarBackground as _v,BlockAvatarFacing as qv,BlockAvatarSize as At,BlockBorderWidth as bd,BlockButtonAppearance as Et,BlockButtonSize as _c,BlockFullSnooSize as mi,BlockGap as Pd,BlockHorizontalAlignment as qc,BlockIconSize as kd,BlockImageResizeMode as io,BlockPadding as no,BlockRadius as oo,BlockSizeUnit as Hc,BlockSpacerShape as jc,BlockSpacerSize as Sd,BlockStackDirection as Wc,BlockTextOutline as Gc,BlockTextOverflow as zc,BlockTextSize as pi,BlockTextStyle as Vc,BlockTextWeight as Hv,BlockType as De,BlockVerticalAlignment as $c}from"@devvit/protos";var Dc={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 Tv={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"},Rv=r=>!!r.match(/^(#[0-9a-fA-F]{3,8}).*/),Fv=r=>r in Dc,Nc=r=>r in Tv,Ov=r=>!!r.match(/^rgba?\(.*/),Bv=r=>!!r.match(/^hsla?\(.*/),Uv=(r,e="light")=>{if(Nc(r))return vd(r);let i=Dc[r];return typeof i=="string"?i:i[e]},vd=r=>Tv[r]??r,Mv=r=>{let[e,t,i,n]=r.replace(/^rgba?\(|\s+|\)$/g,"").split(",");if(!e||!t||!i)return r;let a=[...[e,t,i].map(p=>parseFloat(p))];if(n){let p=parseFloat(n),f=Math.round(p*255);a.push(f)}return`#${a.map(p=>p.toString(16).padStart(2,"0")).join("")}`};var jv="data-",fi=class{async createBlocksElementOrThrow({type:e,props:t,children:i}){let n=await this.createBlocksElement({type:e,props:t,children:i});if(!n)throw new Error(`Could not create block of type ${e}`);return n}async 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 await 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 await 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 no.PADDING_NONE;case"xsmall":return no.PADDING_XSMALL;case"small":return no.PADDING_SMALL;case"medium":return no.PADDING_MEDIUM;case"large":return no.PADDING_LARGE}}makeBlockRadius(e){switch(e){case"none":return oo.RADIUS_NONE;case"small":return oo.RADIUS_SMALL;case"medium":return oo.RADIUS_MEDIUM;case"large":return oo.RADIUS_LARGE;case"full":return oo.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=$c.ALIGN_TOP:e.includes("middle")?t=$c.ALIGN_MIDDLE:e.includes("bottom")&&(t=$c.ALIGN_BOTTOM),e.includes("start")?i=qc.ALIGN_START:e.includes("center")?i=qc.ALIGN_CENTER:e.includes("end")&&(i=qc.ALIGN_END),t!==void 0||i!==void 0)return{vertical:t,horizontal:i}}makeBlockBorder(e,t,i,n){if(!e&&!t)return;let s;switch(e){case"none":s=bd.BORDER_WIDTH_NONE;break;case"thin":s=bd.BORDER_WIDTH_THIN;break;case"thick":s=bd.BORDER_WIDTH_THICK;break;default:s=bd.BORDER_WIDTH_THIN;break}let a=t??"neutral-border-weak",d=this.getThemedColors(a,i,n);return{width:s,color:d?.light,colors:d}}makeBlockTextSize(e){switch(e){case"xsmall":return pi.TEXT_SIZE_XSMALL;case"small":return pi.TEXT_SIZE_SMALL;case"medium":return pi.TEXT_SIZE_MEDIUM;case"large":return pi.TEXT_SIZE_LARGE;case"xlarge":return pi.TEXT_SIZE_XLARGE;case"xxlarge":return pi.TEXT_SIZE_XXLARGE}}makeBlockTextStyle(e){switch(e){case"body":return Vc.TEXT_STYLE_BODY;case"metadata":return Vc.TEXT_STYLE_METADATA;case"heading":return Vc.TEXT_STYLE_HEADING}}makeBlockTextOutline(e){switch(e){case"none":return Gc.TEXT_OUTLINE_NONE;case"thin":return Gc.TEXT_OUTLINE_THIN;case"thick":return Gc.TEXT_OUTLINE_THICK}}makeBlockTextWeight(e){switch(e){case"regular":return Hv.TEXT_WEIGHT_REGULAR;case"bold":return Hv.TEXT_WEIGHT_BOLD}}makeBlockTextOverflow(e){switch(e){case"clip":return zc.TEXT_OVERFLOW_CLIP;case"ellipsis":return zc.TEXT_OVERFLOW_ELLIPSE}return zc.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 _c.BUTTON_SIZE_SMALL;case"medium":return _c.BUTTON_SIZE_MEDIUM;case"large":return _c.BUTTON_SIZE_LARGE}}makeBlockImageResizeMode(e){switch(e){case"none":return io.IMAGE_RESIZE_NONE;case"fit":return io.IMAGE_RESIZE_FIT;case"fill":return io.IMAGE_RESIZE_FILL;case"cover":return io.IMAGE_RESIZE_COVER;case"scale-down":return io.IMAGE_RESIZE_SCALE_DOWN}}makeBlockSpacerSize(e){switch(e){case"xsmall":return Sd.SPACER_XSMALL;case"small":return Sd.SPACER_SMALL;case"medium":return Sd.SPACER_MEDIUM;case"large":return Sd.SPACER_LARGE}}makeBlockSpacerShape(e){switch(e){case"invisible":return jc.SPACER_INVISIBLE;case"thin":return jc.SPACER_THIN;case"square":return jc.SPACER_SQUARE}}makeBlockIconSize(e){switch(e){case"xsmall":return kd.ICON_SIZE_XSMALL;case"small":return kd.ICON_SIZE_SMALL;case"medium":return kd.ICON_SIZE_MEDIUM;case"large":return kd.ICON_SIZE_LARGE}}makeBlockAvatarSize(e){switch(e){case"xxsmall":return At.AVATAR_SIZE_XXSMALL;case"xsmall":return At.AVATAR_SIZE_XSMALL;case"small":return At.AVATAR_SIZE_SMALL;case"medium":return At.AVATAR_SIZE_MEDIUM;case"large":return At.AVATAR_SIZE_LARGE;case"xlarge":return At.AVATAR_SIZE_XXLARGE;case"xxlarge":return At.AVATAR_SIZE_XXLARGE;case"xxxlarge":return At.AVATAR_SIZE_XXXLARGE}}makeBlockAvatarFacing(e){switch(e){case"left":return qv.AVATAR_FACING_LEFT;case"right":return qv.AVATAR_FACING_RIGHT}}makeBlockFullSnooSize(e){switch(e){case"xsmall":return mi.FULLSNOO_XSMALL;case"small":return mi.FULLSNOO_SMALL;case"medium":return mi.FULLSNOO_MEDIUM;case"large":return mi.FULLSNOO_LARGE;case"xlarge":return mi.FULLSNOO_XLARGE;case"xxlarge":return mi.FULLSNOO_XXLARGE}}makeBlockAvatarBackground(e){switch(e){case"dark":return _v.AVATAR_BG_DARK;case"light":return _v.AVATAR_BG_LIGHT}}makeBlockAnimationType(e){return e==="lottie"||e===void 0?Nv.ANIM_LOTTIE:Nv.UNRECOGNIZED}makeBlockAnimationDirection(e){switch(e){case"backward":return Lv.ANIM_DIR_BACKWARD;case"forward":return Lv.ANIM_DIR_FORWARD}}makeBlockLoopMode(e){switch(e){case"repeat":return Dv.ANIM_LOOP_REPEAT;case"bounce":return Dv.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:n,unit:s}=this.parseSize(e.height)??{};return{width:t,widthUnit:i,height:n,heightUnit:s,grow:e.grow}}}makeBlockSizes(e){if(e){let t=e.width!=null||e.minWidth!=null||e.maxWidth!=null,i=e.height!=null||e.minHeight!=null||e.maxHeight!=null;if(t||i||e.grow!=null)return{width:t?{value:this.parseSize(e.width),min:this.parseSize(e.minWidth),max:this.parseSize(e.maxWidth)}:void 0,height:i?{value:this.parseSize(e.height),min:this.parseSize(e.minHeight),max:this.parseSize(e.maxHeight)}:void 0,grow:e.grow}}}parseSize(e){if(e==null)return;if(typeof e=="number")return{value:e,unit:Hc.SIZE_UNIT_PERCENT};let t=e.match(/^(\d+(?:\.\d+)?)(px|%)?$/);if(t==null)return;let i=Hc.SIZE_UNIT_PERCENT;return t?.at(2)==="px"&&(i=Hc.SIZE_UNIT_PIXELS),{value:Number.parseFloat(t[1]),unit:i}}getDataSet(e){return Object.keys(e).filter(t=>t.startsWith(jv)).reduce((t,i)=>(t[i.substring(jv.length)]=e[i],t),{})}makeActions(e,t){let i=[],n=this.getDataSet(t);if(t.onPress){let s=t.onPress;i.push({type:ZE.ACTION_CLICK,id:s.toString(),data:n})}return i}blockColorToHex(e,t="light"){if(e)return e=e.toLowerCase(),Rv(e)?e:Fv(e)?Uv(e,t):Nc(e)?vd(e):Ov(e)?Mv(e):Bv(e)?e:(console.warn(`Could not parse color: ${e}.`),vd("red"))}async childrenToBlocks(e){let t=e.map(n=>{if(typeof n!="string")return this.createBlocksElement(n)});return(await Promise.all(t)).filter(n=>n!==void 0)}getThemedColors(e,t,i){let n=this.blockColorToHex(t,"light"),s=this.blockColorToHex(i,"dark"),a=[];if(e&&(!n||!s)){let d=Array.from(e?.matchAll(/[\w#-]+(?:\([\w\t ,.#-]+\))?/g)??[]);a.push(...d.map(p=>p[0]))}return n||(n=this.blockColorToHex(a?.at(0),"light")),s||(s=this.blockColorToHex(a?.at(1)??a?.at(0),"dark")),n||s?{light:n,dark:s}:void 0}parsePixels(e){return typeof e=="string"?Number(e.slice(0,-2)):e}childrenToString(e){return e.map(t=>t.toString()).join("")}async makeRoot(e,...t){return this.wrapRoot(e,await this.childrenToBlocks(t))}async wrapRoot(e,t){return this.makeBlock(De.BLOCK_ROOT,{},{rootConfig:{children:t,height:this.makeRootHeight(m.customPostType?.height??e?.height??"regular")}})}async makeStackBlock(e,t,i){let n=this.getThemedColors(t?.backgroundColor,t?.lightBackgroundColor,t?.darkBackgroundColor);return this.makeBlock(De.BLOCK_STACK,t,{stackConfig:{alignment:this.makeBlockAlignment(t?.alignment),backgroundColor:n?.light,backgroundColors:n,border:this.makeBlockBorder(t?.border,t?.borderColor,t?.lightBorderColor,t?.darkBorderColor),children:await this.childrenToBlocks(i),cornerRadius:this.makeBlockRadius(t?.cornerRadius),direction:e,gap:this.makeBlockGap(t?.gap),padding:this.makeBlockPadding(t?.padding),reverse:t?.reverse}})}async makeHStack(e,...t){return this.makeStackBlock(Wc.STACK_HORIZONTAL,e,t)}async makeVStack(e,...t){return this.makeStackBlock(Wc.STACK_VERTICAL,e,t)}async makeZStack(e,...t){return this.makeStackBlock(Wc.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}})}async makeImage(e){return e&&this.makeBlock(De.BLOCK_IMAGE,e,{imageConfig:{description:e?.description,resizeMode:this.makeBlockImageResizeMode(e.resizeMode),url: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)}})}async makeAnimation(e){return e&&this.makeBlock(De.BLOCK_ANIMATION,e,{animationConfig:{type:this.makeBlockAnimationType(e.type),url: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:e.url}})}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}}async ensureRootBlock(e){let t=e;if(t.type===De.BLOCK_ROOT)return t.config?.rootConfig&&m.customPostType?.height&&(t.config.rootConfig.height=this.makeRootHeight(m.customPostType?.height)),t;let i=await this.wrapRoot(void 0,[t]);if(!i)throw new Error("Could not create root block");return i}};function Gv(r){if(typeof r=="string")throw new Error("Root element cannot be a string")}var zv=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+=zv(i);return e+=`</${r.type}>`,e};function QE(r){return" ".repeat(r)}function eT(r){let e="",t=0,i=r.split(/>\s*</);for(let n=0;n<i.length;n++){let s=i[n];n===0&&(s=s.trim()),n===i.length-1&&(s=s.trim());let a=s.charAt(0)==="/";a&&t--,e+=QE(t),n!==0&&(e+="<"),e+=s,n!==i.length-1&&(e+=`>
2
- `),!a&&s.indexOf("</")===-1&&s.charAt(s.length-1)!=="/"&&t++}return e}var wd,Vv,dr,so,ao,Kc,lo,lt=class{constructor(e,t,i,n,s){u(this,wd);u(this,dr);u(this,ao);this.renderState={};this.currentComponentKey=[];this.currentHookIndex=0;this.actions=new Map;this.forms=new Map;this.realtimeChannels=[];this.realtimeUpdated=!1;this.pendingHooks=[];this.isRendering=!1;this.transformer=new fi;this.effects=[];u(this,lo,!1);this.component=e,this.event=t,this.state={__renderState:{},...i},this.metadata=n,this.state.__realtimeChannels&&(this.realtimeChannels=this.state.__realtimeChannels);let a=Le({reconciler:this,hooks:!0,ui:!0,metadata:n});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=s,this.ui=a.ui,this.hooks={useState:a.useState,useInterval:a.useInterval,useForm:a.useForm,useChannel:a.useChannel}}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={type:this.component,props:k(this,dr,so).call(this),children:[]},t=await this.processBlock(e);if(Gv(t),await this.transformer.createBlocksElementOrThrow(t),this.isUserActionRender&&this.blockRenderEventId){let i=this.actions.get(this.blockRenderEventId);i&&await i({})}for(let i of this.pendingHooks)await i();this.buildNextState(),k(this,wd,Vv).call(this)}async buildBlocksUI(){let e={type:this.component,props:k(this,dr,so).call(this),children:[]},t=await this.renderElement(e);return this.transformer.ensureRootBlock(t)}async renderElement(e){let t=await this.processBlock(e);return Gv(t),(m.debug.emitSnapshots||ye(N.DebugRenderXML,this.metadata))&&console.log(eT(zv(t))),m.debug.emitState&&console.log(JSON.stringify(this.state,null,2)),await this.transformer.createBlocksElementOrThrow(t)}async processProps(e){if(e.onPress){let t=e.onPress,i=t.name,n=this.makeUniqueActionID(`${YE.BLOCK_BUTTON}.${i??"onPress"}`);this.actions.set(n,t),e.onPress=n}e.url&&(e.url=await this.getAssetUrl(e.url))}async getAssetUrl(e){let t,i=globalThis?.devvit?.config?.assets;if(i&&(t=i[e]),!t&&!Av(e)){console.log("No assets loaded on the config - falling back to plugin");try{t=await this.assets.getURL(e),i&&t&&(i[e]=t)}catch{}}return t??e}async processBlock(e,t=Ev(),i=[]){let n=e;if(typeof n.type=="string"){let p=(await Promise.all(n.children.flatMap(async(c,h)=>c==null?[]:await this.processBlock(c,t,[...i,`${n.type}.${h}`])))).flat(),f=k(this,ao,Kc).call(this,p);return await this.processProps(n.props||{}),{type:n.type,props:n.props,children:f}}if(typeof n.type=="function"){let d=t(`${i.length?i.join("."):"root"}.${n.type.name.length?n.type.name:"anonymous"}`);this.currentComponentKey.push(d),this.renderState[d]||(this.renderState[d]={});let p=n.children.flatMap(c=>c),f={...k(this,dr,so).call(this),...n.props,children:p},g;for(;g===void 0;)try{g=await n.type(f,k(this,dr,so).call(this))}catch(c){if(c instanceof Promise)g=await c;else throw c}if(!this.isInitialRender){let c=this.getPreviousComponentState();if(Object.keys(c).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 g=="object")return this.processBlock(g,t,[...i,n.type.name])}if(typeof n=="string")return n;if(typeof n=="number")return`${n}`;let s=[],a="";return Array.isArray(n)?s=n:typeof n.type>"u"&&n.children&&(s=n.children,a="fragmentChild."),{type:"__fragment",props:void 0,children:await Promise.all(s.flatMap(async(d,p)=>await this.processBlock(d,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===Jc.RENDER_INITIAL:!1}get isUserActionRender(){return this.event?this.event.type===Jc.RENDER_USER_ACTION:!1}get isEffectRender(){return this.event?this.event.type===Jc.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){o(this,lo)||(l(this,lo,!0),this.effects.push({type:Wv.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:Wv.EFFECT_REALTIME_SUB,realtimeSubscriptions:{subscriptionIds:this.realtimeChannels}}]:[]}getEffects(){return[...ci(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}:{}}}};wd=new WeakSet,Vv=function(){this.actions.clear(),this.currentComponentKey=[],this.currentHookIndex=0,this.pendingHooks=[],this.realtimeChannels=[],this.realtimeUpdated=!1},dr=new WeakSet,so=function(){return{...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,...this.hooks}},ao=new WeakSet,Kc=function(e){let t=[];for(let i of e)typeof i=="string"?t.push(i):i.type==="__fragment"?t.push(...k(this,ao,Kc).call(this,i.children)):t.push(i);return t},lo=new WeakMap;async function rT(r,e){let t=m.customPostType;if(!t)throw new Error("Custom post type not registered");let i=new lt((s,a)=>t.render(a),r.blocks,r.state,e,r.dimensions),n=await i.render();return{state:i.state,blocks:{ui:n},effects:i.getEffects()}}function $v(r){r.provides(tT),U("RenderPost",rT)}import{GetFieldsResponse as iT,InstallationSettingsDefinition as nT}from"@devvit/protos";async function oT(){if(!m.installationSettings)throw new Error("Installation settings were not defined.");return iT.fromPartial({fields:{fields:at(m.installationSettings)}})}async function sT(r,e){return yd(r,m.installationSettings,e)}function Jv(r){r.provides(nT),U("GetSettingsFields",oT),U("ValidateForm",sT)}import{ContextActionDefinition as aT,ContextActionDescription as dT,ContextActionResponse as lT}from"@devvit/protos";var Kv=r=>`menuItem.${r}`;function Xc(r){return m.menuItems.find((e,t)=>Kv(t)===r)}async function uT(r,e){let t=m.menuItems;if(!t.length)throw new Error("No menu items registered.");return{actions:t.map((n,s)=>dT.fromPartial({actionId:Kv(s),name:n.label,description:n.description,contexts:{subreddit:n.location.includes("subreddit"),post:n.location.includes("post"),comment:n.location.includes("comment")},users:{loggedOut:n.forUserType?.includes("loggedOut"),member:n.forUserType?.includes("member"),moderator:n.forUserType?.includes("moderator")},postFilters:n.postFilter==="currentApp"?{currentApp:!0}:void 0}))}}async function cT(r,e){let t=Xc(r.actionId);if(!t)throw new Error(`MenuItem ${r.actionId} not found`);let i=r.comment?.id&&`t1_${r.comment.id}`,n=r.post?.id&&`t3_${r.post.id}`,s=r.subreddit?.id&&`t5_${r.subreddit.id}`,a=i||n||s;v(a,"targetId is missing from ContextActionRequest");let d={targetId:a,location:r.comment?"comment":r.post?"post":"subreddit"},p=Object.assign(Le({ui:!0,metadata:e}),le(e,n,i));return await t.onPress(d,p),lT.fromPartial({effects:ci(p.ui)})}function Xv(r){r.provides(aT),U("GetActions",uT),U("OnAction",cT)}function ut(r){return r?r===!0?!0:r.enabled:!1}import{SchedulerHandlerDefinition as mT}from"@devvit/protos";async function pT(r,e){let t=r.type,i=m.scheduledJobHandlers.get(t);if(!i)throw new Error(`Job ${t} not found`);let n={name:t,data:r.data},s=Object.assign(Le({metadata:e}),le(e));await i(n,s)}function Zv(r){r.provides(mT),U("HandleScheduledAction",pT)}import{HandlerResult as fT,OnAppInstallDefinition as gT,OnAppUpgradeDefinition as hT,OnCommentCreateDefinition as yT,OnCommentDeleteDefinition as vT,OnCommentReportDefinition as bT,OnCommentSubmitDefinition as PT,OnCommentUpdateDefinition as kT,OnModActionDefinition as ST,OnModMailDefinition as wT,OnPostCreateDefinition as xT,OnPostDeleteDefinition as CT,OnPostFlairUpdateDefinition as IT,OnPostReportDefinition as AT,OnPostSubmitDefinition as ET,OnPostUpdateDefinition as TT}from"@devvit/protos";function ne(r,e){return v(e),async(t,i)=>{let n={...t,type:r},s=Object.assign(Le({metadata:i}),le(i)),a=await Promise.allSettled(e.map(p=>p(n,s))),d=RT(a);if(d)throw d.err;return fT.fromPartial({})}}function Yv(r){for(let e of m.triggerOnEventHandlers.keys())switch(e){case"PostSubmit":r.provides(ET),U("OnPostSubmit",ne("PostSubmit",m.triggerOnEventHandlers.get(e)));break;case"PostCreate":r.provides(xT),U("OnPostCreate",ne("PostCreate",m.triggerOnEventHandlers.get(e)));break;case"PostUpdate":r.provides(TT),U("OnPostUpdate",ne("PostUpdate",m.triggerOnEventHandlers.get(e)));break;case"PostReport":r.provides(AT),U("OnPostReport",ne("PostReport",m.triggerOnEventHandlers.get(e)));break;case"PostDelete":r.provides(CT),U("OnPostDelete",ne("PostDelete",m.triggerOnEventHandlers.get(e)));break;case"PostFlairUpdate":r.provides(IT),U("OnPostFlairUpdate",ne("PostFlairUpdate",m.triggerOnEventHandlers.get(e)));break;case"CommentSubmit":r.provides(PT),U("OnCommentSubmit",ne("CommentSubmit",m.triggerOnEventHandlers.get(e)));break;case"CommentCreate":r.provides(yT),U("OnCommentCreate",ne("CommentCreate",m.triggerOnEventHandlers.get(e)));break;case"CommentUpdate":r.provides(kT),U("OnCommentUpdate",ne("CommentUpdate",m.triggerOnEventHandlers.get(e)));break;case"CommentReport":r.provides(bT),U("OnCommentReport",ne("CommentReport",m.triggerOnEventHandlers.get(e)));break;case"CommentDelete":r.provides(vT),U("OnCommentDelete",ne("CommentDelete",m.triggerOnEventHandlers.get(e)));break;case"AppInstall":r.provides(gT),U("OnAppInstall",ne("AppInstall",m.triggerOnEventHandlers.get(e)));break;case"AppUpgrade":r.provides(hT),U("OnAppUpgrade",ne("AppUpgrade",m.triggerOnEventHandlers.get(e)));break;case"ModAction":r.provides(ST),U("OnModAction",ne("ModAction",m.triggerOnEventHandlers.get(e)));break;case"ModMail":r.provides(wT),U("OnModMail",ne("ModMail",m.triggerOnEventHandlers.get(e)));break;default:throw new Error(`Unknown trigger event: ${e}`)}}function RT(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=>Gr.caughtToString(t)).join(`
3
- `))}}var Vb=In(ub(),1),$b=In(zb(),1);import{EffectType as TF,UIEventHandlerDefinition as RF}from"@devvit/protos";async function FF(r,e){let t=r.state??{},i=(0,Vb.default)(t),n=Le({ui:!0,metadata:e});if(r.event?.formSubmitted&&r.event.formSubmitted.formId){let p=r.event.formSubmitted.formId;if(p.includes("form.hook.")&&m.customPostType){let P=new lt((w,I)=>m.customPostType?.render(I)??null,r.event,r.state,e,void 0);return await P.reconcile(),{state:P.state,effects:P.getEffects()}}let f=m.formDefinitions.get(p);if(!f)throw new Error(`Form with key ${p} not found`);let g,c;if(i.__contextAction){let{actionId:P,thingId:w}=i.__contextAction,I=Xc(P);I?.location==="post"?g=w:I?.location==="comment"&&(c=w)}let h=Object.assign(n,le(e,g,c));await f.onSubmit({values:Kr(r.event.formSubmitted.results)},h)}else if(r.event?.realtimeEvent){if(m.customPostType){let p=new lt((f,g)=>m.customPostType?.render(g)??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 s=!(0,$b.default)(t,i),a=ci(n.ui),d=s?[...a,{type:TF.EFFECT_RERENDER_UI,rerenderUi:{delaySeconds:0}}]:a;return{state:i,effects:d}}function Jb(r){r.provides(RF),U("HandleUIEvent",FF)}import{CustomPostDefinition as o0}from"@devvit/protos";import{EffectType as MF}from"@devvit/protos";import{EffectType as FN}from"@devvit/protos";var go=class extends Error{};function Kb(r){let e=pr({namespace:"useState"},({changed:t})=>{let i=r instanceof Function?r():r;if(i instanceof Promise)throw new Error("Cannot use async initializer with useState, use useAsyncState instead.");return{state:i,setter:s=>{e.state=s instanceof Function?s(e.state):s,t()}}});return[e.state,e.setter]}import{EffectType as um}from"@devvit/protos";var vi=class vi{constructor(e){this.request=e;this._segments=[];this._hooks={};this._prevHookId="";this._effects={};this._changed={};this._rootProps={};this._generated={};this._undeliveredHandlers={};this._state=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}push(e){this._segments.push({...e,next:0})}pop(){this._segments.pop()}addUndeliveredEventHandler(e,t){this._undeliveredHandlers[e]=t}addGlobalUndeliveredEventHandler(e,t){vi.addGlobalUndeliveredEventHandler(e,t)}getHook(e){return this._hooks[e.id]}static addGlobalUndeliveredEventHandler(e,t){vi._staticUndeliveredHandlers[e]=t}async handleUndeliveredEvent(e){let t={...vi._staticUndeliveredHandlers,...this._undeliveredHandlers};for(let[i,n]of Object.entries(t))await n(e,this)}emitEffect(e,t){this._effects[e]=t}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 n=this._segments.length-1;n>=0;n--){let s=this._segments[n];if(s.id){t.unshift(s.id);break}let a=[];s.namespace&&a.push(s.namespace),s.key!==void 0&&s.key!==!1&&a.push(s.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()}}};vi._staticUndeliveredHandlers={};var bi=vi;var Ft={};bi.addGlobalUndeliveredEventHandler("intervals",async(r,e)=>{r.timer&&r.hook&&(delete Ft[r.hook],e.emitEffect("timers",{type:um.EFFECT_SET_INTERVALS,interval:{intervals:Ft}}))});var Ot,Pi,ho,ki,cm=class{constructor(e,t,i){u(this,Ot,void 0);u(this,Pi,void 0);u(this,ho,void 0);u(this,ki,void 0);this.state={duration:{seconds:0,nanos:0},running:!1};l(this,Pi,i.changed),l(this,Ot,i.hookId),l(this,ho,e),l(this,ki,i.context);let n=Math.floor(t/1e3),s=t%1e3*1e6;this.state.duration={seconds:n,nanos:s}}onLoad(){this.state.running?Ft[o(this,Ot)]={duration:this.state.duration}:delete Ft[o(this,Ot)]}async onUIEvent(e){await o(this,ho).call(this)}start(){Ft[o(this,Ot)]={duration:this.state.duration},this.state.running=!0,o(this,Pi).call(this),o(this,ki).emitEffect("timers",{type:um.EFFECT_SET_INTERVALS,interval:{intervals:Ft}})}stop(){delete Ft[o(this,Ot)],this.state.running=!1,o(this,Pi).call(this),o(this,ki).emitEffect("timers",{type:um.EFFECT_SET_INTERVALS,interval:{intervals:Ft}})}};Ot=new WeakMap,Pi=new WeakMap,ho=new WeakMap,ki=new WeakMap;function Xb(r,e){return pr({namespace:"useInterval"},t=>new cm(r,e,t))}import{EffectType as pm,Form as UF,ToastAppearance as Qb}from"@devvit/protos";var mm=class{constructor(e,t,i){this.state=null;this.hookId=e.hookId,this.form=t,this.onSubmit=i,this.onUIEvent=async n=>{n.formSubmitted&&await i(n.formSubmitted.results)}}};function Zb(r,e){let t=pr({namespace:"useForm"},i=>new mm(i,r,e));return OF({id:t.hookId})}function OF(r){return`form.hook.${r.id}.0`}function BF(r){return{id:r.match(/form\.hook\.(.+)\.0/)[1]}}function Yb(r,e){let t=BF(e);return r.getHook(t)}var Bt,Md=class{constructor(e){u(this,Bt,void 0);l(this,Bt,e)}showForm(e,t){let i=Yb(o(this,Bt),e);if(!i)throw new Error("Form does not exist. Make sure you have added it using useForm.");let n=i.form instanceof Function?i.form(t??{}):i.form,s=UF.fromPartial({id:e,title:n.title,acceptLabel:n.acceptLabel,cancelLabel:n.cancelLabel,shortDescription:n.description});rr(n.fields),s.fields=at(n.fields),o(this,Bt).emitEffect(e,{type:pm.EFFECT_SHOW_FORM,showForm:{form:s}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?Qb.SUCCESS:Qb.NEUTRAL}:t={text:e},o(this,Bt).emitEffect(e.toString(),{type:pm.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(),o(this,Bt).emitEffect(t,{type:pm.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}};Bt=new WeakMap;var e0=new Proxy({},{get:function(r,e,t){throw new Error(`Unimplemented API: ${String(e)}`)}}),Ld=class{buildContext(e,t){let i=new ti(t),n=new Qr(t),s=new oi(t),a=new ii(t),d=new si(t),p=new ai(t),f=new Md(e),g=new ei(t),c=new Yr(t,()=>m.assetsPlugin),h=new ui(t),I={modLog:i,kvStore:n,redis:s,reddit:a,scheduler:d,settings:p,media:g,assets:c,realtime:h,ui:f,useState:Kb,useChannel:e0,useInterval:Xb,useForm:Zb,cache:e0};return{...le(t),...I}}};var ue=null;function t0(r){return JSON.parse(JSON.stringify(r))}function pr(r,e){if(!ue)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=ue.nextHookId(r),i=ue,n={hookId:t,changed:()=>{i._changed[t]=!0,i._state[t]=i?._hooks[t]?.state},context:ue},s=ue._state[t]===void 0;ue._hooks[t]=ue._hooks[t]??e(n);let a=ue._hooks[t];return ue._state[t]!==void 0&&(a.state=ue._state[t]),a.onLoad&&a.onLoad(ue),s&&a.state!==void 0&&a.state!==null&&n.changed(),a}var LF=null,Si,_d,yo,vo,fm,qd,r0,bo,gm,Hd,i0,Po,hm,ko,ym,wi,Dd,So,vm,jd,n0,Nd=class{constructor(e){u(this,vo);u(this,qd);u(this,bo);u(this,Hd);u(this,Po);u(this,ko);u(this,wi);u(this,So);u(this,jd);u(this,Si,void 0);u(this,_d,new Ld);u(this,yo,new fi);this._latestRenderContext=null;l(this,Si,e),LF=this}async handle(e,t){let i=new bi(e),n=o(this,_d).buildContext(i,t);i.devvitContext=n;let s,a=e.events,p=!e.events?.length||a.some(h=>!h.queue),f=a.some(h=>h.blocking),g,c=[...a];for(;a.length>0;){let h=[];if(!a[0].queue)h.push(a.shift());else for(;a[0]?.queue;)h.push(a.shift());if(!h.length)throw Error("batch must have at least one event");try{if(h[0].queue){let P=t0(i._state);await k(this,qd,r0).call(this,i,...h),i._state=P}else await k(this,Hd,i0).call(this,i,...h)}catch(P){if(g){i._state=g._state,i._effects=g._effects,c.forEach((w,I)=>{let T={type:MF.EFFECT_SEND_EVENT,sendEvent:{event:w}};i.emitEffect(`remaining-${I}`,T)});break}else throw P}for(let[P,w]of Object.entries(i._effects))if(w.sendEvent?.event){if(!p&&!w.sendEvent?.event?.queue||p&&w.sendEvent?.event?.queue&&!f)break;let I=w.sendEvent.event;a.push(I),delete i._effects[P]}a.length>0&&(g={_state:t0(i._state),_effects:{...i._effects}},c=[...a])}if(p){let h=k(this,Po,hm).call(this,o(this,Si),i._rootProps??{},i);h&&(s=await o(this,yo).createBlocksElementOrThrow(h),s=await o(this,yo).ensureRootBlock(s))}return{state:i._state,effects:i.effects,blocks:s}}};Si=new WeakMap,_d=new WeakMap,yo=new WeakMap,vo=new WeakSet,fm=function(e,...t){k(this,Po,hm).call(this,o(this,Si),e.request.props??{},e)},qd=new WeakSet,r0=async function(e,...t){k(this,vo,fm).call(this,e,...t),await Promise.all(t.map(async i=>{if(!i.queue)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 k(this,bo,gm).call(this,e,i)}))},bo=new WeakSet,gm=async function(e,t){let i=e._hooks[t.hook];if(i&&i.onUIEvent)try{await i.onUIEvent(t,e)}catch(n){throw console.error("Error in event handler",n),n}else await e.handleUndeliveredEvent(t)},Hd=new WeakSet,i0=async function(e,...t){for(let i of t)k(this,vo,fm).call(this,e,i),e._state.__generation=Number(e._state.__generation??0)+1,await k(this,bo,gm).call(this,e,i)},Po=new WeakSet,hm=function(e,t,i){i._generated={},ue=i,this._latestRenderContext=i;try{let n=k(this,ko,ym).call(this,e,t,i);if(n.length!==1)throw new Error("only one root");let s=n[0];if(typeof s=="string")throw new Error("There must be a root tag. Try wrapping your app in a <text></text>, <vstack> or other tag.");return s}catch(n){if(n instanceof go)return;throw n}finally{ue=null}},ko=new WeakSet,ym=function(e,t,i){i.push({namespace:e.name,...t});try{let n=e(t,i.devvitContext);return k(this,So,vm).call(this,n,i)}finally{i.pop()}},wi=new WeakSet,Dd=function(e,t){return e=e.flat(1/0),e.flatMap((i,n)=>(i&&typeof i=="object"&&"props"in i&&(i.props?.key||(i.props=i.props??{},i.props.key=n)),k(this,So,vm).call(this,i,t)))},So=new WeakSet,vm=function(e,t){if(Array.isArray(e))return k(this,wi,Dd).call(this,e,t);if(DF(e)){if(e.type===void 0)return k(this,wi,Dd).call(this,e.children,t);if(typeof e.type=="function"){let i={...e.props,children:e.children};return k(this,ko,ym).call(this,e.type,i,t)}else{t.push({namespace:e.type,...e.props});let i=k(this,wi,Dd).call(this,e.children,t),n=k(this,jd,n0).call(this,e.props??{});return t.pop(),[{type:e.type,children:i,props:n}]}}else return[(e??"").toString()]},jd=new WeakSet,n0=function(e){let t={};for(let i in e)if(typeof e[i]=="function"){let n=pr({namespace:i,key:!1},({hookId:s})=>({hookId:s,state:null,onUIEvent:e[i]}));t[i]=n.hookId,"captureHookRef"in e[i]&&e[i].captureHookRef()}else{let n=e[i];n!=null&&(t[i]=n.toString())}return t};function DF(r){return typeof r=="object"&&r!=null&&"type"in r}var NF=[[o0,o0.methods.renderPostContent,(r,e)=>m.customPostType?.render(e)??null]];function _F(r){return async(e,t)=>new Nd(r).handle(e,t)}function s0(r){for(let[e,t,i]of NF)r.provides(e),U(t.name,_F(i))}var wo,xi,fr,gr,hr,Ci,Ii,Ut,yr,M,q,z,_=class _ extends ed{static configure(e){l(this,wo,e),ut(e.http)&&k(this,q,z).call(this,x.HTTPDefinition),(ut(e.kvStore)||ut(e.redis))&&(k(this,q,z).call(this,x.KVStoreDefinition),k(this,q,z).call(this,x.RedisAPIDefinition)),ut(e.media)&&k(this,q,z).call(this,x.MediaServiceDefinition),ut(e.modLog)&&k(this,q,z).call(this,x.ModlogDefinition),ut(e.redditAPI)&&(k(this,q,z).call(this,x.FlairDefinition),k(this,q,z).call(this,x.GraphQLDefinition),k(this,q,z).call(this,x.LinksAndCommentsDefinition),k(this,q,z).call(this,x.ListingsDefinition),k(this,q,z).call(this,x.ModerationDefinition),k(this,q,z).call(this,x.ModNoteDefinition),k(this,q,z).call(this,x.NewModmailDefinition),k(this,q,z).call(this,x.PrivateMessagesDefinition),k(this,q,z).call(this,x.SubredditsDefinition),k(this,q,z).call(this,x.PostCollectionsDefinition),k(this,q,z).call(this,x.UsersDefinition),k(this,q,z).call(this,x.WidgetsDefinition),k(this,q,z).call(this,x.WikiDefinition),k(this,q,z).call(this,x.RedditAPIV2Definition)),ut(e.realtime)&&k(this,q,z).call(this,x.RealtimeDefinition)}static addMenuItem(e){o(this,xi).push(e)}static addCustomPostType(e){l(this,fr,e)}static createForm(e,t){let i=`form.${o(this,gr).size}`;return o(this,gr).set(i,{form:e,onSubmit:t}),i}static addSchedulerJob(e){if(o(this,M)[x.SchedulerDefinition.fullName]||k(this,q,z).call(this,x.SchedulerDefinition),o(this,hr).has(e.name))throw new Error(`Job ${e.name} is already defined`);o(this,hr).set(e.name,e.onRun)}static addSettings(e){rr(e);let t=e.filter(n=>n.type==="group"||!n.scope||n.scope==="installation"),i=e.filter(n=>n.type!=="group"&&n.scope==="app");t.length>0&&l(this,Ci,t),i.length>0&&l(this,Ii,i),o(this,M)[x.SettingsDefinition.fullName]||k(this,q,z).call(this,x.SettingsDefinition)}static addTrigger(e){if("events"in e){for(let t of e.events)this.addTrigger({event:t,onEvent:(i,n)=>e.onEvent(i,n)});return this}return o(this,Ut).has(e.event)?o(this,Ut).get(e.event)?.push(e.onEvent):o(this,Ut).set(e.event,[e.onEvent]),_}static get redditAPIPlugins(){if(!ut(o(this,wo).redditAPI))throw new Error("Reddit API is not enabled. You can enable it by passing `redditAPI: true` to `Devvit.configure`.");return{Flair:o(this,M)[x.FlairDefinition.fullName],GraphQL:o(this,M)[x.GraphQLDefinition.fullName],LinksAndComments:o(this,M)[x.LinksAndCommentsDefinition.fullName],Listings:o(this,M)[x.ListingsDefinition.fullName],Moderation:o(this,M)[x.ModerationDefinition.fullName],ModNote:o(this,M)[x.ModNoteDefinition.fullName],NewModmail:o(this,M)[x.NewModmailDefinition.fullName],PrivateMessages:o(this,M)[x.PrivateMessagesDefinition.fullName],Subreddits:o(this,M)[x.SubredditsDefinition.fullName],PostCollections:o(this,M)[x.PostCollectionsDefinition.fullName],Users:o(this,M)[x.UsersDefinition.fullName],Widgets:o(this,M)[x.WidgetsDefinition.fullName],Wiki:o(this,M)[x.WikiDefinition.fullName]}}static get modLogPlugin(){let e=o(this,M)[x.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=o(this,M)[x.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=o(this,M)[x.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=o(this,M)[x.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=o(this,M)[x.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=o(this,M)[x.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 assetsPlugin(){let e=o(this,M)[x.AssetResolverDefinition.fullName];if(!e)throw new Error("AssetsService is not available. This should not happen, and indicates a setup problem with the runtime.");return e}static get settingsPlugin(){let e=o(this,M)[x.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=o(this,M)[x.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 o(this,xi)}static get customPostType(){return o(this,fr)}static get formDefinitions(){return o(this,gr)}static get scheduledJobHandlers(){return o(this,hr)}static get installationSettings(){return o(this,Ci)}static get appSettings(){return o(this,Ii)}static get triggerOnEventHandlers(){return o(this,Ut)}constructor(e){var t;super(e),k(t=_,q,z).call(t,x.AssetResolverDefinition);for(let i in o(_,yr)){let n=o(_,yr)[i];n.handler=e.use(n.def,n.options)}o(_,xi).length>0&&Xv(e),o(_,hr).size>0&&Zv(e),o(_,fr)&&($v(e),s0(e)),(o(_,fr)||o(_,gr).size>0)&&Jb(e),o(_,Ci)&&Jv(e),o(_,Ii)&&Cv(e),o(_,Ut).size>0&&Yv(e)}};wo=new WeakMap,xi=new WeakMap,fr=new WeakMap,gr=new WeakMap,hr=new WeakMap,Ci=new WeakMap,Ii=new WeakMap,Ut=new WeakMap,yr=new WeakMap,M=new WeakMap,q=new WeakSet,z=function(e,t){o(this,yr)[e.fullName]={def:e,options:t??{},handler:void 0};let i={};for(let n of Object.values(e.methods))i[n.name]=(s,a)=>o(this,yr)[e.fullName].handler?.[n.name]?.(n.requestType?.fromPartial(s??{}),a);return o(this,M)[e.fullName]=i,i},u(_,q),_.debug={emitSnapshots:!1,emitState:!1},u(_,wo,{}),u(_,xi,[]),u(_,fr,void 0),u(_,gr,new Map),u(_,hr,new Map),u(_,Ci,void 0),u(_,Ii,void 0),u(_,Ut,new Map),u(_,yr,{}),u(_,M,{});var m=_;(e=>{function r(t,i,...n){return{type:t,props:i,children:n}}e.createElement=r})(m||(m={}));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 bm;(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"})(bm||(bm={}));var a0="text",d0="raw",l0="br",u0="link",c0="c/",m0="p/",p0="r/",f0="u/",g0="@",h0="spoilertext",y0="par",v0="h",b0="hr",P0="blockquote",k0="code",S0="li",w0="list",x0="L",C0="R",I0="C",A0="table",E0="embed",T0="img",R0="gif",F0="video";function O0(r){return{e:R0,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function B0(r,e){let t={},i=[];return Object.assign(t,xo(t,i),Co(t,i),Io(t,i),To(t,i),Ro(t,i),Fo(t,i)),e(t),{e:P0,c:i,...r.author&&{a:r.author}}}function U0(r,e){let t={},i=[];return Object.assign(t,km(t,i)),e(t),{e:k0,c:i,...r.language&&{l:r.language}}}function M0(r){return{e:c0,t:r.permalink}}function L0(r,e){let t={},i=[];return Object.assign(t,km(t,i),Eo(t,i)),e(t),{e:v0,l:r.level,c:i}}function D0(r){return{e:E0,u:r.sourceUrl,c:r.contentUrl,x:r.width,y:r.height}}function N0(){return{e:b0}}function _0(r){return{e:T0,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function q0(){return{e:l0}}function H0(r){return{e:u0,t:r.text,u:r.url,...r.formatting&&{f:r.formatting},...r.tooltip&&{a:r.tooltip}}}function j0(r,e){let t={},i=[];return Object.assign(t,nP(t,i)),e(t),{e:w0,o:r.ordered,c:i}}function W0(r){let e={},t=[];return Object.assign(e,xo(e,t),Co(e,t),Io(e,t),Wd(e,t),To(e,t),Ro(e,t),Fo(e,t)),r(e),{e:S0,c:t}}function G0(r){let e={},t=[];return Object.assign(e,Gd(e,t),Eo(e,t),Pm(e,t),Sm(e,t),Ao(e,t)),r(e),{e:y0,c:t}}function z0(r){return{e:m0,t:r.permalink}}function V0(r){return{e:d0,t:r}}function $0(r){let e={},t=[];return Object.assign(e,Gd(e,t),Eo(e,t),Pm(e,t)),r(e),{e:h0,c:t}}function J0(r){return{e:p0,t:r.subredditName,l:r.showPrefix}}function K0(r){let e={},t=[],i=[];return Object.assign(e,oP(e,t,i)),r(e),{e:A0,h:t,c:i}}function X0(r){let[e,t]=iP();return r(e),{c:t}}function Z0(r,e){let[t,i]=iP();e(t);let n;switch(r.columnAlignment){case"left":n=x0;break;case"right":n=C0;break;case"center":n=I0;break}return{...n&&{a:n},...i&&{c:i}}}function Y0(r){let e={},t=[];return Object.assign(e,sP(e,t)),r(e),t}function Q0(r){return{e:a0,t:r.text,...r.formatting&&{f:r.formatting}}}function eP(r){return{e:f0,t:r.username,l:r.showPrefix}}function tP(r){return{e:g0,t:r.username,l:r.showPrefix}}function rP(r){return{e:F0,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur},...r.thumbnail&&{p:r.thumbnail},...r.convertToGif&&{gifify:r.convertToGif}}}function iP(){let r={},e=[];return Object.assign(r,Gd(r,e),Eo(r,e),Sm(r,e),Ao(r,e)),[r,e]}function xo(r,e){return{blockQuote(t,i){return e.push(B0(t,i)),r}}}function Co(r,e){return{codeBlock(t,i){return e.push(U0(t,i)),r}}}function aP(r,e){return{embed(t){return e.push(D0(t)),r}}}function Io(r,e){return{heading(t,i){return e.push(L0(t,i)),r}}}function Wd(r,e){return{horizontalRule(){return e.push(N0()),r}}}function Ao(r,e){return{image(t){return e.push(_0(t)),r},animatedImage(t){return e.push(O0(t)),r}}}function Pm(r,e){return{linebreak(){return e.push(q0()),r}}}function Eo(r,e){return{link(t){return e.push(H0(t)),r},commentLink(t){return e.push(M0(t)),r},postLink(t){return e.push(z0(t)),r},subredditLink(t){return e.push(J0(t)),r},userLink(t){return e.push(eP(t)),r},userMention(t){return e.push(tP(t)),r}}}function To(r,e){return{list(t,i){return e.push(j0(t,i)),r}}}function nP(r,e){return{item(t){return e.push(W0(t)),r}}}function Ro(r,e){return{paragraph(t){return e.push(G0(t)),r}}}function km(r,e){return{rawText(t){return e.push(V0(t)),r}}}function Sm(r,e){return{spoiler(t){return e.push($0(t)),r}}}function oP(r,e,t){return{headerCell(i,n){return e.push(Z0(i,n)),r},row(i){return t.push(Y0(i)),r}}}function Fo(r,e){return{table(t){return e.push(K0(t)),r}}}function sP(r,e){return{cell(t){return e.push(X0(t)),r}}}function Gd(r,e){return{text(t){return e.push(Q0(t)),r}}}function dP(r,e){return{video(t){return e.push(rP(t)),r}}}var qF=function(r,e,t,i,n){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?n.call(r,t):n?n.value=t:e.set(r,t),t},HF=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)},zd,Oo=class{constructor(){zd.set(this,void 0);let e=[];Object.assign(this,Ro(this,e),Io(this,e),Wd(this,e),xo(this,e),Co(this,e),aP(this,e),To(this,e),Fo(this,e),Ao(this,e),dP(this,e)),qF(this,zd,{document:e},"f")}build(){return JSON.stringify(HF(this,zd,"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}};zd=new WeakMap;function Ai(r){let e;return r instanceof Oo?e=r.build():typeof r=="object"?e=JSON.stringify(r):e=r,e}var lP=100,uP=1/0,vr,br,Mt,Ei,Ti,Vd,W=class{constructor(e){u(this,Ti);u(this,vr,void 0);u(this,br,void 0);u(this,Mt,void 0);u(this,Ei,!1);this.pageSize=lP;this.limit=uP;this.children=[];J(this),this._fetch=e.fetch,this.pageSize=e.pageSize??lP,this.limit=e.limit??uP,l(this,br,e.after),l(this,vr,e.before),l(this,Mt,e.more),e.children&&(this.children=e.children)}get hasMore(){return!o(this,Ei)||!!(o(this,br)||o(this,vr)||o(this,Mt))}async*[Symbol.asyncIterator](){let e=0;for(;;){if(e===this.children.length)if(this.hasMore){if((await k(this,Ti,Vd).call(this)).length===0)break}else break;if(yield this.children[e],e++,e===this.limit)break}}setMore(e){l(this,Mt,e)}preventInitialFetch(){l(this,Ei,!0)}async all(){for(;this.hasMore&&this.children.length<this.limit;)await k(this,Ti,Vd).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 k(this,Ti,Vd).call(this);return this.children.slice(0,t)}};vr=new WeakMap,br=new WeakMap,Mt=new WeakMap,Ei=new WeakMap,Ti=new WeakSet,Vd=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:n}=await this._fetch({before:o(this,vr),after:o(this,br),limit:this.pageSize,more:o(this,Mt)});return this.children.push(...e),l(this,vr,t),l(this,br,i),l(this,Mt,n),l(this,Ei,!0),e};function jF(r){try{return!0}catch{return!1}}function WF(r){try{return!0}catch{return!1}}var Bo,wm,Be=class{constructor(){}static get(e,t){let i=m.redditAPIPlugins.ModNote;return new W({hasMore:!0,before:e.before,limit:e.limit,pageSize:e.limit,fetch:async n=>{let s=await i.GetNotes({subreddit:e.subreddit,user:e.user,filter:e.filter,before:n.before,limit:n.limit},t);return{children:s.modNotes?.map(a=>k(this,Bo,wm).call(this,a))||[],before:s.hasNextPage?s.endCursor:void 0,hasMore:s.hasNextPage}}})}static async delete(e,t){let i=m.redditAPIPlugins.ModNote,{deleted:n}=await i.DeleteNotes(e,t);return!!n}static async add(e,t){let n=await m.redditAPIPlugins.ModNote.PostNotes(e,t);if(!n?.created)throw new Error("Failed to create mod note");return k(this,Bo,wm).call(this,n.created)}static async addRemovalNote(e,t){await m.redditAPIPlugins.ModNote.PostRemovalNote(e,t)}};Bo=new WeakSet,wm=function(e){if(v(e.id,"Mod note ID is null or undefined"),v(e.createdAt,"Mod note createdAt is null or undefined"),v(e.type,"Mod note type is null or undefined"),v(e.subreddit,"Mod note subreddit is null or undefined"),v(e.subredditId,"Mod note subredditId is null or undefined"),v(e.operator,"Mod note operator is null or undefined"),v(e.operatorId,"Mod note operatorId is null or undefined"),v(e.user,"Mod note user is null or undefined"),v(e.userId,"Mod note userId is null or undefined"),v(e.userNoteData,"Mod note userNote is null or undefined"),v(e.modActionData,"Mod note modAction is null or undefined"),!jF(e.userNoteData?.label??""))throw new Error(`Invalid user note label: ${e.userNoteData?.label}`);if(!WF(e.type))throw new Error(`Invalid mod note type: ${e.type}`);return{id:e.id,user:{id:ge(e.userId??""),name:e.user},subreddit:{id:Re(e.subredditId??""),name:e.subreddit},operator:{id:ge(e.operatorId??""),name:e.operator},createdAt:new Date(e.createdAt*1e3),userNote:{note:e.userNoteData?.note,redditId:Fe(e.userNoteData?.redditId??""),label:e.userNoteData?.label},type:e.type}},u(Be,Bo);var $d=class{static queryWithQueryString(e,t){return m.redditAPIPlugins.GraphQL.Query({query:e},t)}static query(e,t,i,n){return m.redditAPIPlugins.GraphQL.PersistedQuery({operationName:e,id:t,variables:i},n)}};var cP=["all","wiki","posts","access","mail","config","flair","chat_operator","chat_config"];function GF(r,e,t=!1){let i=t?"%2b":"+";return e.map(n=>(r.includes(n)?i:"-")+n).join(",")}function xm(r){return GF(r,cP,!0)}function mP(r){if(cP.includes(r))return r;throw new Error(`Invalid moderator permission: ${r}`)}var zF=(t=>(t.User="USER_FLAIR",t.Post="LINK_FLAIR",t))(zF||{}),Pr,Ri,Fi,Oi,Bi,Ui,Mi,Li,Di,Ni,_i,Jd,$e=class $e{constructor(e,t,i){u(this,Pr,void 0);u(this,Ri,void 0);u(this,Fi,void 0);u(this,Oi,void 0);u(this,Bi,void 0);u(this,Ui,void 0);u(this,Mi,void 0);u(this,Li,void 0);u(this,Di,void 0);u(this,Ni,void 0);J(this),v(e.id),v(e.text),l(this,Pr,e.id),l(this,Ri,t),l(this,Fi,e.text),l(this,Oi,VF(e.textColor)),l(this,Bi,$F(e.backgroundColor)),l(this,Ui,JF(e.allowableContent)),l(this,Mi,e.modOnly),l(this,Li,e.maxEmojis),l(this,Di,e.textEditable),l(this,Ni,i)}get id(){return o(this,Pr)}get text(){return o(this,Fi)}get textColor(){return o(this,Oi)}get backgroundColor(){return o(this,Bi)}get allowableContent(){return o(this,Ui)}get modOnly(){return o(this,Mi)}get maxEmojis(){return o(this,Li)}get allowUserEdits(){return o(this,Di)}async delete(){return $e.deleteFlairTemplate(o(this,Pr),o(this,Ri),o(this,Ni))}async edit(e){return $e.editFlairTemplate({id:o(this,Pr),subredditName:o(this,Ri),text:e.text??o(this,Fi),allowableContent:e.allowableContent??o(this,Ui),backgroundColor:e.backgroundColor??o(this,Bi),maxEmojis:e.maxEmojis??o(this,Li),modOnly:e.modOnly??o(this,Mi),textColor:e.textColor??o(this,Oi),allowUserEdits:e.allowUserEdits??o(this,Di)},o(this,Ni))}static async createPostFlairTemplate(e,t){var i;return k(i=$e,_i,Jd).call(i,{...e,flairType:"LINK_FLAIR"},t)}static async createUserFlairTemplate(e,t){var i;return k(i=$e,_i,Jd).call(i,{...e,flairType:"USER_FLAIR"},t)}static async editFlairTemplate(e,t){var i;return k(i=$e,_i,Jd).call(i,e,t)}static async getPostFlairTemplates(e,t){return(await m.redditAPIPlugins.Flair.LinkFlair({subreddit:e},t)).flair?.map(s=>new $e(s,e,t))||[]}static async getUserFlairTemplates(e,t){return(await m.redditAPIPlugins.Flair.UserFlair({subreddit:e},t)).flair?.map(s=>new $e(s,e,t))||[]}static async deleteFlairTemplate(e,t,i){await m.redditAPIPlugins.Flair.DeleteFlairTemplate({subreddit:e,flairTemplateId:t},i)}};Pr=new WeakMap,Ri=new WeakMap,Fi=new WeakMap,Oi=new WeakMap,Bi=new WeakMap,Ui=new WeakMap,Mi=new WeakMap,Li=new WeakMap,Di=new WeakMap,Ni=new WeakMap,_i=new WeakSet,Jd=async function(e,t){let{subredditName:i,allowableContent:n="all",backgroundColor:s="transparent",flairType:a="",maxEmojis:d=10,modOnly:p=!1,text:f,textColor:g="dark",allowUserEdits:c=!1,id:h=""}=e;if(p&&c)throw new Error("Cannot have a mod only flair that is editable by users");let w=await m.redditAPIPlugins.Flair.FlairTemplate({subreddit:i,allowableContent:n,backgroundColor:s,flairType:a,maxEmojis:d,modOnly:p,text:f,textColor:g,textEditable:c,flairTemplateId:h,cssClass:"",overrideCss:!1},t);return new $e(w,i,t)},u($e,_i);var de=$e;function Lo(r){return{flairCssClass:r.flairCssClass,user:r.user,flairText:r.flairText}}var Uo,Cm,Mo,Im,Lt=class Lt{static async getUserFlairBySubreddit(e,t){return m.redditAPIPlugins.Flair.FlairList(e,t)}static setUserFlair(e,t){var i;return k(i=Lt,Uo,Cm).call(i,e,t)}static setPostFlair(e,t){var i;return k(i=Lt,Uo,Cm).call(i,{...e,postId:he(e.postId)},t)}static async removePostFlair(e,t,i){var n;return k(n=Lt,Mo,Im).call(n,e,t,void 0,i)}static async removeUserFlair(e,t,i){var n;return k(n=Lt,Mo,Im).call(n,e,void 0,t,i)}};Uo=new WeakSet,Cm=async function(e,t){await m.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)},Mo=new WeakSet,Im=async function(e,t,i,n){await m.redditAPIPlugins.Flair.SelectFlair({subreddit:e,name:i??"",link:t??"",flairTemplateId:"",backgroundColor:"",text:"",textColor:"",cssClass:"",returnRtjson:"none"},n)},u(Lt,Uo),u(Lt,Mo);var Ue=Lt;function VF(r){if(v(r,"Flair text color is required"),r==="light"||r==="dark")return r;throw new Error(`Invalid flair text color: ${r}`)}function $F(r){if(v(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 JF(r){if(r==="all"||r==="text"||r==="emoji")return r;throw new Error(`Invalid allowable content: ${r}`)}import{Block as KF}from"@devvit/protos";var pP=In(yc(),1);var qi,No,Hi,_o,qo,Ho,jo,Wo,ji,Go,zo,Vo,$o,Jo,Ko,Dt,kr,Wi,Nt,Gi,zi,Vi,Sr,_t,qt,$i,Ht,jt,Wt,pt,Xo,Zo,Ji,Ki,L,H=class H{constructor(e,t){u(this,qi,void 0);u(this,No,void 0);u(this,Hi,void 0);u(this,_o,void 0);u(this,qo,void 0);u(this,Ho,void 0);u(this,jo,void 0);u(this,Wo,void 0);u(this,ji,void 0);u(this,Go,void 0);u(this,zo,void 0);u(this,Vo,void 0);u(this,$o,void 0);u(this,Jo,void 0);u(this,Ko,void 0);u(this,Dt,void 0);u(this,kr,void 0);u(this,Wi,void 0);u(this,Nt,void 0);u(this,Gi,void 0);u(this,zi,void 0);u(this,Vi,void 0);u(this,Sr,void 0);u(this,_t,void 0);u(this,qt,void 0);u(this,$i,void 0);u(this,Ht,void 0);u(this,jt,void 0);u(this,Wt,void 0);u(this,pt,void 0);u(this,Xo,void 0);u(this,Zo,void 0);u(this,Ji,void 0);u(this,Ki,void 0);u(this,L,void 0);J(this),v(e.id,"Post is missing id"),v(e.title,"Post is missing title"),v(e.createdUtc,"Post is missing created date"),v(e.author,"Post is missing author name"),v(e.subreddit,"Post is missing subreddit name"),v(e.subredditId,"Post is missing subreddit id"),v(e.url,"Post is missing url"),v(e.permalink,"Post is missing permalink"),l(this,qi,he(`t3_${e.id}`)),l(this,Hi,e.author),l(this,No,e.authorFullname?ge(e.authorFullname):void 0),l(this,qo,Re(e.subredditId)),l(this,Ho,e.subreddit),l(this,Vo,e.score??0),l(this,$o,e.numComments??0),l(this,Jo,e.numReports??0);let i=new Date(0);i.setUTCSeconds(e.createdUtc),l(this,_o,i),l(this,Wo,e.title),l(this,ji,e.selftext),l(this,Go,e.selftextHtml),l(this,zo,e.url),l(this,jo,e.permalink),e.thumbnail&&e.thumbnail!=="self"&&e.thumbnail!=="nsfw"&&e.thumbnailHeight!=null&&e.thumbnailWidth!=null&&l(this,Ko,{url:e.thumbnail,height:e.thumbnailHeight,width:e.thumbnailWidth}),l(this,Dt,e.approved??!1),l(this,Nt,e.removed??!1),l(this,Gi,e.removedBy),l(this,zi,e.removedByCategory),l(this,kr,e.spam??!1),l(this,Wi,e.stickied??!1),l(this,Vi,e.archived??!1),l(this,Sr,e.edited??!1),l(this,_t,e.locked??!1),l(this,qt,e.over18??!1),l(this,$i,e.quarantine??!1),l(this,Ht,e.spoiler),l(this,jt,e.hidden??!1),l(this,Wt,e.ignoreReports??!1),l(this,pt,e.distinguished),l(this,Zo,e.secureMedia),l(this,Ji,(e.modReports??[]).map(([n])=>n)),l(this,Ki,(e.userReports??[]).map(([n])=>n)),l(this,L,t),(e.linkFlairBackgroundColor||e.linkFlairCssClass||e.linkFlairText||e.linkFlairType||e.linkFlairTemplateId||e.linkFlairRichtext||e.linkFlairTextColor)&&l(this,Xo,{backgroundColor:e.linkFlairBackgroundColor,cssClass:e.linkFlairCssClass,text:e.linkFlairText,type:e.linkFlairType,templateId:e.linkFlairTemplateId,richtext:(e.linkFlairRichtext??[]).map(({e:n,t:s,a,u:d})=>({elementType:n,text:s,emojiRef:a,url:d})),textColor:e.linkFlairTextColor})}get id(){return o(this,qi)}get authorId(){return o(this,No)}get authorName(){return o(this,Hi)}get subredditId(){return o(this,qo)}get subredditName(){return o(this,Ho)}get permalink(){return o(this,jo)}get title(){return o(this,Wo)}get body(){return o(this,ji)}get bodyHtml(){return o(this,Go)}get url(){return o(this,zo)}get thumbnail(){return o(this,Ko)}get createdAt(){return o(this,_o)}get score(){return o(this,Vo)}get numberOfComments(){return o(this,$o)}get numberOfReports(){return o(this,Jo)}get approved(){return o(this,Dt)}get spam(){return o(this,kr)}get stickied(){return o(this,Wi)}get removed(){return o(this,Nt)}get removedBy(){return o(this,Gi)}get removedByCategory(){return o(this,zi)}get archived(){return o(this,Vi)}get edited(){return o(this,Sr)}get locked(){return o(this,_t)}get nsfw(){return o(this,qt)}get quarantined(){return o(this,$i)}get spoiler(){return o(this,Ht)}get hidden(){return o(this,jt)}get ignoringReports(){return o(this,Wt)}get distinguishedBy(){return o(this,pt)}get comments(){return Y.getComments({postId:this.id},o(this,L))}get flair(){return o(this,Xo)}get secureMedia(){return o(this,Zo)}get userReportReasons(){return o(this,Ki)}get modReportReasons(){return o(this,Ji)}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:o(this,Gi),removedByCategory:o(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:o(this,Ji),userReportReasons:o(this,Ki)}}isApproved(){return o(this,Dt)}isSpam(){return o(this,kr)}isStickied(){return o(this,Wi)}isRemoved(){return o(this,Nt)}isArchived(){return o(this,Vi)}isEdited(){return o(this,Sr)}isLocked(){return o(this,_t)}isNsfw(){return o(this,qt)}isQuarantined(){return o(this,$i)}isSpoiler(){return o(this,Ht)}isHidden(){return o(this,jt)}isIgnoringReports(){return o(this,Wt)}isDistinguishedBy(){return o(this,pt)}async edit(e){let t=await H.edit({id:this.id,...e},o(this,L));l(this,ji,t.body),l(this,Sr,t.edited)}async addComment(e){return Y.submit({id:this.id,...e},o(this,L))}async delete(){return H.delete(this.id,o(this,L))}async approve(){await H.approve(this.id,o(this,L)),l(this,Dt,!0),l(this,Nt,!1)}async remove(e=!1){await H.remove(this.id,e,o(this,L)),l(this,Nt,!0),l(this,kr,e),l(this,Dt,!1)}async lock(){await H.lock(this.id,o(this,L)),l(this,_t,!0)}async unlock(){await H.unlock(this.id,o(this,L)),l(this,_t,!1)}async hide(){await H.hide(this.id,o(this,L)),l(this,jt,!0)}async unhide(){await H.unhide(this.id,o(this,L)),l(this,jt,!1)}async markAsNsfw(){await H.markAsNsfw(this.id,o(this,L)),l(this,qt,!0)}async unmarkAsNsfw(){await H.unmarkAsNsfw(this.id,o(this,L)),l(this,qt,!1)}async markAsSpoiler(){await H.markAsSpoiler(this.id,o(this,L)),l(this,Ht,!0)}async unmarkAsSpoiler(){await H.unmarkAsSpoiler(this.id,o(this,L)),l(this,Ht,!1)}async sticky(e){await H.sticky(this.id,e,o(this,L))}async unsticky(){await H.unsticky(this.id,o(this,L))}async distinguish(){let{distinguishedBy:e}=await H.distinguish(this.id,!1,o(this,L));l(this,pt,e)}async distinguishAsAdmin(){let{distinguishedBy:e}=await H.distinguish(this.id,!0,o(this,L));l(this,pt,e)}async undistinguish(){let{distinguishedBy:e}=await H.undistinguish(this.id,o(this,L));l(this,pt,e)}async ignoreReports(){await H.ignoreReports(this.id,o(this,L)),l(this,Wt,!0)}async unignoreReports(){await H.unignoreReports(this.id,o(this,L)),l(this,Wt,!1)}async getAuthor(){return C.getByUsername(o(this,Hi),o(this,L))}async crosspost(e){return H.crosspost({...e,postId:this.id},o(this,L))}addRemovalNote(e){return Be.addRemovalNote({itemIds:[o(this,qi)],...e},o(this,L))}static async getById(e,t){let i=m.redditAPIPlugins.LinksAndComments,n=tr(e)?e:`t3_${e}`,s=await i.Info({subreddits:[],thingIds:[n]},t);if(!s.data?.children?.length)throw new Error("could not find post");let a=s.data.children[0];if(!a?.data)throw new Error("could not find post");return new H(a.data,t)}static async submit(e,t){let i=m.redditAPIPlugins.LinksAndComments,n;if("preview"in e){v(t,"Missing metadata in `SubmitPostOptions`");let d=await new lt(()=>e.preview,void 0,{},t,void 0).buildBlocksUI(),p=KF.encode(d).finish();n=await i.Submit({kind:"custom",sr:e.subredditName,richtextJson:(0,pP.fromByteArray)(p),...e},t)}else n=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)&&!n.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(!n.json?.data?.id||n.json?.errors?.length)throw new Error(`failed to submit post - either post ID is empty or request failed with errors: ${n.json?.errors}`);return H.getById(`t3_${n.json.data.id}`,t)}static async crosspost(e,t){let i=m.redditAPIPlugins.LinksAndComments,{postId:n,subredditName:s,...a}=e,d=await i.Submit({kind:"crosspost",sr:s,crosspostFullname:he(n),...a},t);if(!d.json?.data?.id||d.json?.errors?.length)throw new Error("failed to crosspost post");return H.getById(`t3_${d.json.data.id}`,t)}static async edit(e,t){let i=m.redditAPIPlugins.LinksAndComments,{id:n}=e,s;if("richtext"in e&&(s=Ai(e.richtext)),(await i.EditUserText({thingId:n,text:"text"in e?e.text:"",richtextJson:s},t)).json?.errors?.length)throw new Error("Failed to edit post");return H.getById(n,t)}static async delete(e,t){await m.redditAPIPlugins.LinksAndComments.Del({id:e},t)}static async approve(e,t){await m.redditAPIPlugins.Moderation.Approve({id:e},t)}static async remove(e,t=!1,i){await m.redditAPIPlugins.Moderation.Remove({id:e,spam:t},i)}static async hide(e,t){await m.redditAPIPlugins.LinksAndComments.Hide({id:e},t)}static async unhide(e,t){await m.redditAPIPlugins.LinksAndComments.Unhide({id:e},t)}static async markAsNsfw(e,t){await m.redditAPIPlugins.LinksAndComments.MarkNSFW({id:e},t)}static async unmarkAsNsfw(e,t){await m.redditAPIPlugins.LinksAndComments.UnmarkNSFW({id:e},t)}static async markAsSpoiler(e,t){await m.redditAPIPlugins.LinksAndComments.Spoiler({id:e},t)}static async unmarkAsSpoiler(e,t){await m.redditAPIPlugins.LinksAndComments.Unspoiler({id:e},t)}static async sticky(e,t,i){await m.redditAPIPlugins.LinksAndComments.SetSubredditSticky({id:e,state:!0,num:t},i)}static async unsticky(e,t){await m.redditAPIPlugins.LinksAndComments.SetSubredditSticky({id:e,state:!1},t)}static async lock(e,t){await m.redditAPIPlugins.LinksAndComments.Lock({id:e},t)}static async unlock(e,t){await m.redditAPIPlugins.LinksAndComments.Unlock({id:e},t)}static async distinguish(e,t,i){let a=(await m.redditAPIPlugins.Moderation.Distinguish({id:e,how:t?"admin":"yes",sticky:!1},i)).json?.data?.things?.[0]?.data;return v(a),{distinguishedBy:a.distinguished}}static async undistinguish(e,t){let s=(await m.redditAPIPlugins.Moderation.Distinguish({id:e,how:"no",sticky:!1},t)).json?.data?.things?.[0]?.data;return v(s),{distinguishedBy:s.distinguished}}static async ignoreReports(e,t){await m.redditAPIPlugins.Moderation.IgnoreReports({id:e},t)}static async unignoreReports(e,t){await m.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=m.redditAPIPlugins.Listings;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let s=await i.Sort({show:"all",sort:e.sort,t:e.timeframe,subreddit:e.subredditName,...n},t);return Do(s,t)}})}static getHotPosts(e={location:"GLOBAL"},t){let i=m.redditAPIPlugins.Listings;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let s=await i.Hot({g:e.location,show:"all",subreddit:e.subredditName,...n},t);return Do(s,t)}})}static getNewPosts(e,t){let i=m.redditAPIPlugins.Listings;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let s=await i.New({show:"all",subreddit:e.subredditName,...n},t);return Do(s,t)}})}static getRisingPosts(e,t){let i=m.redditAPIPlugins.Listings;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let s=await i.Rising({show:"all",subreddit:e.subredditName,...n},t);return Do(s,t)}})}static getPostsByUser(e,t){let i=m.redditAPIPlugins.Users;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(n){let s=await i.UserWhere({username:e.username,where:"submitted",...n},t);return Do(s,t)}})}};qi=new WeakMap,No=new WeakMap,Hi=new WeakMap,_o=new WeakMap,qo=new WeakMap,Ho=new WeakMap,jo=new WeakMap,Wo=new WeakMap,ji=new WeakMap,Go=new WeakMap,zo=new WeakMap,Vo=new WeakMap,$o=new WeakMap,Jo=new WeakMap,Ko=new WeakMap,Dt=new WeakMap,kr=new WeakMap,Wi=new WeakMap,Nt=new WeakMap,Gi=new WeakMap,zi=new WeakMap,Vi=new WeakMap,Sr=new WeakMap,_t=new WeakMap,qt=new WeakMap,$i=new WeakMap,Ht=new WeakMap,jt=new WeakMap,Wt=new WeakMap,pt=new WeakMap,Xo=new WeakMap,Zo=new WeakMap,Ji=new WeakMap,Ki=new WeakMap,L=new WeakMap;var $=H;function Do(r,e){if(!r.data?.children)throw new Error("Listing response is missing children");return{children:r.data.children.map(i=>new $(i.data,e)),before:r.data.before,after:r.data.after}}var Yo,Xi,Qo,es,ts,rs,is,Gt,ns,os,ft,wr=class wr{constructor(e,t){u(this,Yo,void 0);u(this,Xi,void 0);u(this,Qo,void 0);u(this,es,void 0);u(this,ts,void 0);u(this,rs,void 0);u(this,is,void 0);u(this,Gt,new Map);u(this,ns,void 0);u(this,os,void 0);u(this,ft,void 0);J(this),v(e.id,"User ID is missing or undefined"),v(e.name,"Username is missing or undefined"),v(e.createdUtc,"User is missing created date"),l(this,Yo,ge(Qa(e.id)?e.id:`t2_${e.id}`)),l(this,Xi,e.name),l(this,rs,e.over18??!1),l(this,is,e.isEmployee??!1);let i=new Date(0);if(i.setUTCSeconds(e.createdUtc),l(this,Qo,i),l(this,es,e.linkKarma??0),l(this,ts,e.commentKarma??0),e.modPermissions)for(let[n,s]of Object.entries(e.modPermissions))o(this,Gt).set(n,s.map(mP));l(this,ns,new URL(e.subreddit?.url??"","https://www.reddit.com").toString()),l(this,os,e.subreddit?.url??""),l(this,ft,t)}get id(){return o(this,Yo)}get username(){return o(this,Xi)}get createdAt(){return o(this,Qo)}get linkKarma(){return o(this,es)}get commentKarma(){return o(this,ts)}get nsfw(){return o(this,rs)}get isAdmin(){return o(this,is)}get modPermissions(){return o(this,Gt)}get url(){return o(this,ns)}get permalink(){return o(this,os)}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(o(this,Gt).has(e))return o(this,Gt).get(e);let t=await wr.getSubredditUsersByType({subredditName:e,type:"moderators",username:this.username},o(this,ft)).all();if(t.length===0)return[];let i=t[0].modPermissions.get(e)??[];return i.length>0&&o(this,Gt).set(e,i),i}getComments(e){return Y.getCommentsByUser({username:this.username,...e},o(this,ft))}getPosts(e){return $.getPostsByUser({username:this.username,...e},o(this,ft))}async getUserFlairBySubreddit(e){let t=await Ue.getUserFlairBySubreddit({subreddit:e,name:o(this,Xi)},o(this,ft));return t.users[0]?Lo(t.users[0]):void 0}getSnoovatarUrl(){return wr.getSnoovatarUrl(this.username,o(this,ft))}static async getById(e,t){let s=(await m.redditAPIPlugins.Users.UserDataByAccountIds({ids:e},t))?.users?.[e]?.name;return v(s,"Expected the username in response to be not null"),wr.getByUsername(s,t)}static async getByUsername(e,t){let n=await m.redditAPIPlugins.Users.UserAbout({username:e},t);if(!n.data?.id)throw new Error("failed to get user");return new wr(n.data,t)}static async getFromMetadata(e,t){v(t);let i=ye(e,t);return v(i),wr.getById(ge(i),t)}static getSubredditUsersByType(e,t){let i=m.redditAPIPlugins.Subreddits;return new W({hasMore:!0,pageSize:e.pageSize,limit:e.limit,after:e.after,before:e.before,fetch:async n=>{let s=await i.AboutWhere({where:e.type,user:e.username,subreddit:e.subredditName,show:"all",...n},t);return ZF(s,e.subredditName,t)}})}static async createRelationship(e,t){let i=m.redditAPIPlugins.Users,{type:n,subredditName:s,username:a,permissions:d,...p}=e,f=await i.Friend({type:n,subreddit:s,name:a,permissions:d?xm(d):void 0,...p},t);if(f.json?.errors?.length)throw new Error(f.json.errors.join(`
1
+ var vP=Object.create;var Fm=Object.defineProperty;var bP=Object.getOwnPropertyDescriptor;var PP=Object.getOwnPropertyNames;var kP=Object.getPrototypeOf,SP=Object.prototype.hasOwnProperty;var b=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var wP=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of PP(e))!SP.call(r,n)&&n!==t&&Fm(r,n,{get:()=>e[n],enumerable:!(i=bP(e,n))||i.enumerable});return r};var In=(r,e,t)=>(t=r!=null?vP(kP(r)):{},wP(e||!r||!r.__esModule?Fm(t,"default",{value:r,enumerable:!0}):t,r));var gl=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var o=(r,e,t)=>(gl(r,e,"read from private field"),t?t.call(r):e.get(r)),u=(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)},l=(r,e,t,i)=>(gl(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t);var k=(r,e,t)=>(gl(r,e,"access private method"),t);var se=b((hO,Om)=>{Om.exports=function(r){try{return!!r()}catch{return!0}}});var ua=b((yO,Bm)=>{var xP=se();Bm.exports=!xP(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")})});var K=b((vO,Lm)=>{var Um=ua(),Mm=Function.prototype,hl=Mm.call,CP=Um&&Mm.bind.bind(hl,hl);Lm.exports=Um?CP:function(r){return function(){return hl.apply(r,arguments)}}});var Nm=b((bO,Dm)=>{var IP=Math.ceil,AP=Math.floor;Dm.exports=Math.trunc||function(e){var t=+e;return(t>0?AP:IP)(t)}});var ca=b((PO,_m)=>{var EP=Nm();_m.exports=function(r){var e=+r;return e!==e||e===0?0:EP(e)}});var me=b((kO,qm)=>{var ma=function(r){return r&&r.Math==Math&&r};qm.exports=ma(typeof globalThis=="object"&&globalThis)||ma(typeof window=="object"&&window)||ma(typeof self=="object"&&self)||ma(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var Er=b((SO,Hm)=>{Hm.exports=!1});var pa=b((wO,Wm)=>{var jm=me(),TP=Object.defineProperty;Wm.exports=function(r,e){try{TP(jm,r,{value:e,configurable:!0,writable:!0})}catch{jm[r]=e}return e}});var fa=b((xO,zm)=>{var RP=me(),FP=pa(),Gm="__core-js_shared__",OP=RP[Gm]||FP(Gm,{});zm.exports=OP});var yl=b((CO,$m)=>{var BP=Er(),Vm=fa();($m.exports=function(r,e){return Vm[r]||(Vm[r]=e!==void 0?e:{})})("versions",[]).push({version:"3.27.2",mode:BP?"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 ga=b((IO,Jm)=>{Jm.exports=function(r){return r==null}});var ha=b((AO,Km)=>{var UP=ga(),MP=TypeError;Km.exports=function(r){if(UP(r))throw MP("Can't call method on "+r);return r}});var An=b((EO,Xm)=>{var LP=ha(),DP=Object;Xm.exports=function(r){return DP(LP(r))}});var we=b((TO,Zm)=>{var NP=K(),_P=An(),qP=NP({}.hasOwnProperty);Zm.exports=Object.hasOwn||function(e,t){return qP(_P(e),t)}});var vl=b((RO,Ym)=>{var HP=K(),jP=0,WP=Math.random(),GP=HP(1 .toString);Ym.exports=function(r){return"Symbol("+(r===void 0?"":r)+")_"+GP(++jP+WP,36)}});var ep=b((FO,Qm)=>{Qm.exports=typeof navigator<"u"&&String(navigator.userAgent)||""});var ap=b((OO,sp)=>{var op=me(),bl=ep(),tp=op.process,rp=op.Deno,ip=tp&&tp.versions||rp&&rp.version,np=ip&&ip.v8,qe,ya;np&&(qe=np.split("."),ya=qe[0]>0&&qe[0]<4?1:+(qe[0]+qe[1]));!ya&&bl&&(qe=bl.match(/Edge\/(\d+)/),(!qe||qe[1]>=74)&&(qe=bl.match(/Chrome\/(\d+)/),qe&&(ya=+qe[1])));sp.exports=ya});var Pl=b((BO,lp)=>{var dp=ap(),zP=se();lp.exports=!!Object.getOwnPropertySymbols&&!zP(function(){var r=Symbol();return!String(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&dp&&dp<41})});var kl=b((UO,up)=>{var VP=Pl();up.exports=VP&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var xe=b((MO,mp)=>{var $P=me(),JP=yl(),cp=we(),KP=vl(),XP=Pl(),ZP=kl(),Tr=$P.Symbol,Sl=JP("wks"),YP=ZP?Tr.for||Tr:Tr&&Tr.withoutSetter||KP;mp.exports=function(r){return cp(Sl,r)||(Sl[r]=XP&&cp(Tr,r)?Tr[r]:YP("Symbol."+r)),Sl[r]}});var gp=b((LO,fp)=>{var QP=xe(),ek=QP("toStringTag"),pp={};pp[ek]="z";fp.exports=String(pp)==="[object z]"});var xl=b((DO,hp)=>{var wl=typeof document=="object"&&document.all,tk=typeof wl>"u"&&wl!==void 0;hp.exports={all:wl,IS_HTMLDDA:tk}});var X=b((NO,vp)=>{var yp=xl(),rk=yp.all;vp.exports=yp.IS_HTMLDDA?function(r){return typeof r=="function"||r===rk}:function(r){return typeof r=="function"}});var va=b((_O,Pp)=>{var bp=K(),ik=bp({}.toString),nk=bp("".slice);Pp.exports=function(r){return nk(ik(r),8,-1)}});var En=b((qO,kp)=>{var ok=gp(),sk=X(),ba=va(),ak=xe(),dk=ak("toStringTag"),lk=Object,uk=ba(function(){return arguments}())=="Arguments",ck=function(r,e){try{return r[e]}catch{}};kp.exports=ok?ba:function(r){var e,t,i;return r===void 0?"Undefined":r===null?"Null":typeof(t=ck(e=lk(r),dk))=="string"?t:uk?ba(e):(i=ba(e))=="Object"&&sk(e.callee)?"Arguments":i}});var Tn=b((HO,Sp)=>{var mk=En(),pk=String;Sp.exports=function(r){if(mk(r)==="Symbol")throw TypeError("Cannot convert a Symbol value to a string");return pk(r)}});var Il=b((jO,Cp)=>{var Cl=K(),fk=ca(),gk=Tn(),hk=ha(),yk=Cl("".charAt),wp=Cl("".charCodeAt),vk=Cl("".slice),xp=function(r){return function(e,t){var i=gk(hk(e)),n=fk(t),s=i.length,a,d;return n<0||n>=s?r?"":void 0:(a=wp(i,n),a<55296||a>56319||n+1===s||(d=wp(i,n+1))<56320||d>57343?r?yk(i,n):a:r?vk(i,n,n+2):(a-55296<<10)+(d-56320)+65536)}};Cp.exports={codeAt:xp(!1),charAt:xp(!0)}});var Ep=b((WO,Ap)=>{var bk=me(),Pk=X(),Ip=bk.WeakMap;Ap.exports=Pk(Ip)&&/native code/.test(String(Ip))});var vt=b((GO,Fp)=>{var Tp=X(),Rp=xl(),kk=Rp.all;Fp.exports=Rp.IS_HTMLDDA?function(r){return typeof r=="object"?r!==null:Tp(r)||r===kk}:function(r){return typeof r=="object"?r!==null:Tp(r)}});var pe=b((zO,Op)=>{var Sk=se();Op.exports=!Sk(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var El=b((VO,Up)=>{var wk=me(),Bp=vt(),Al=wk.document,xk=Bp(Al)&&Bp(Al.createElement);Up.exports=function(r){return xk?Al.createElement(r):{}}});var Tl=b(($O,Mp)=>{var Ck=pe(),Ik=se(),Ak=El();Mp.exports=!Ck&&!Ik(function(){return Object.defineProperty(Ak("div"),"a",{get:function(){return 7}}).a!=7})});var Rl=b((JO,Lp)=>{var Ek=pe(),Tk=se();Lp.exports=Ek&&Tk(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Xe=b((KO,Dp)=>{var Rk=vt(),Fk=String,Ok=TypeError;Dp.exports=function(r){if(Rk(r))return r;throw Ok(Fk(r)+" is not an object")}});var He=b((XO,Np)=>{var Bk=ua(),Pa=Function.prototype.call;Np.exports=Bk?Pa.bind(Pa):function(){return Pa.apply(Pa,arguments)}});var Rn=b((ZO,_p)=>{var Fl=me(),Uk=X(),Mk=function(r){return Uk(r)?r:void 0};_p.exports=function(r,e){return arguments.length<2?Mk(Fl[r]):Fl[r]&&Fl[r][e]}});var Ol=b((YO,qp)=>{var Lk=K();qp.exports=Lk({}.isPrototypeOf)});var Bl=b((QO,Hp)=>{var Dk=Rn(),Nk=X(),_k=Ol(),qk=kl(),Hk=Object;Hp.exports=qk?function(r){return typeof r=="symbol"}:function(r){var e=Dk("Symbol");return Nk(e)&&_k(e.prototype,Hk(r))}});var Ul=b((eB,jp)=>{var jk=String;jp.exports=function(r){try{return jk(r)}catch{return"Object"}}});var ka=b((tB,Wp)=>{var Wk=X(),Gk=Ul(),zk=TypeError;Wp.exports=function(r){if(Wk(r))return r;throw zk(Gk(r)+" is not a function")}});var Sa=b((rB,Gp)=>{var Vk=ka(),$k=ga();Gp.exports=function(r,e){var t=r[e];return $k(t)?void 0:Vk(t)}});var Vp=b((iB,zp)=>{var Ml=He(),Ll=X(),Dl=vt(),Jk=TypeError;zp.exports=function(r,e){var t,i;if(e==="string"&&Ll(t=r.toString)&&!Dl(i=Ml(t,r))||Ll(t=r.valueOf)&&!Dl(i=Ml(t,r))||e!=="string"&&Ll(t=r.toString)&&!Dl(i=Ml(t,r)))return i;throw Jk("Can't convert object to primitive value")}});var Xp=b((nB,Kp)=>{var Kk=He(),$p=vt(),Jp=Bl(),Xk=Sa(),Zk=Vp(),Yk=xe(),Qk=TypeError,eS=Yk("toPrimitive");Kp.exports=function(r,e){if(!$p(r)||Jp(r))return r;var t=Xk(r,eS),i;if(t){if(e===void 0&&(e="default"),i=Kk(t,r,e),!$p(i)||Jp(i))return i;throw Qk("Can't convert object to primitive value")}return e===void 0&&(e="number"),Zk(r,e)}});var wa=b((oB,Zp)=>{var tS=Xp(),rS=Bl();Zp.exports=function(r){var e=tS(r,"string");return rS(e)?e:e+""}});var Ze=b(Qp=>{var iS=pe(),nS=Tl(),oS=Rl(),xa=Xe(),Yp=wa(),sS=TypeError,Nl=Object.defineProperty,aS=Object.getOwnPropertyDescriptor,_l="enumerable",ql="configurable",Hl="writable";Qp.f=iS?oS?function(e,t,i){if(xa(e),t=Yp(t),xa(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Hl in i&&!i[Hl]){var n=aS(e,t);n&&n[Hl]&&(e[t]=i.value,i={configurable:ql in i?i[ql]:n[ql],enumerable:_l in i?i[_l]:n[_l],writable:!1})}return Nl(e,t,i)}:Nl:function(e,t,i){if(xa(e),t=Yp(t),xa(i),nS)try{return Nl(e,t,i)}catch{}if("get"in i||"set"in i)throw sS("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var Rr=b((aB,ef)=>{ef.exports=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}}});var Ca=b((dB,tf)=>{var dS=pe(),lS=Ze(),uS=Rr();tf.exports=dS?function(r,e,t){return lS.f(r,e,uS(1,t))}:function(r,e,t){return r[e]=t,r}});var Ia=b((lB,nf)=>{var cS=yl(),mS=vl(),rf=cS("keys");nf.exports=function(r){return rf[r]||(rf[r]=mS(r))}});var Aa=b((uB,of)=>{of.exports={}});var Fr=b((cB,df)=>{var pS=Ep(),af=me(),fS=vt(),gS=Ca(),jl=we(),Wl=fa(),hS=Ia(),yS=Aa(),sf="Object already initialized",Gl=af.TypeError,vS=af.WeakMap,Ea,Fn,Ta,bS=function(r){return Ta(r)?Fn(r):Ea(r,{})},PS=function(r){return function(e){var t;if(!fS(e)||(t=Fn(e)).type!==r)throw Gl("Incompatible receiver, "+r+" required");return t}};pS||Wl.state?(je=Wl.state||(Wl.state=new vS),je.get=je.get,je.has=je.has,je.set=je.set,Ea=function(r,e){if(je.has(r))throw Gl(sf);return e.facade=r,je.set(r,e),e},Fn=function(r){return je.get(r)||{}},Ta=function(r){return je.has(r)}):(Kt=hS("state"),yS[Kt]=!0,Ea=function(r,e){if(jl(r,Kt))throw Gl(sf);return e.facade=r,gS(r,Kt,e),e},Fn=function(r){return jl(r,Kt)?r[Kt]:{}},Ta=function(r){return jl(r,Kt)});var je,Kt;df.exports={set:Ea,get:Fn,has:Ta,enforce:bS,getterFor:PS}});var zl=b(cf=>{"use strict";var lf={}.propertyIsEnumerable,uf=Object.getOwnPropertyDescriptor,kS=uf&&!lf.call({1:2},1);cf.f=kS?function(e){var t=uf(this,e);return!!t&&t.enumerable}:lf});var $l=b((pB,mf)=>{var SS=K(),wS=se(),xS=va(),Vl=Object,CS=SS("".split);mf.exports=wS(function(){return!Vl("z").propertyIsEnumerable(0)})?function(r){return xS(r)=="String"?CS(r,""):Vl(r)}:Vl});var Or=b((fB,pf)=>{var IS=$l(),AS=ha();pf.exports=function(r){return IS(AS(r))}});var Jl=b(gf=>{var ES=pe(),TS=He(),RS=zl(),FS=Rr(),OS=Or(),BS=wa(),US=we(),MS=Tl(),ff=Object.getOwnPropertyDescriptor;gf.f=ES?ff:function(e,t){if(e=OS(e),t=BS(t),MS)try{return ff(e,t)}catch{}if(US(e,t))return FS(!TS(RS.f,e,t),e[t])}});var Zl=b((hB,yf)=>{var Kl=pe(),LS=we(),hf=Function.prototype,DS=Kl&&Object.getOwnPropertyDescriptor,Xl=LS(hf,"name"),NS=Xl&&function(){}.name==="something",_S=Xl&&(!Kl||Kl&&DS(hf,"name").configurable);yf.exports={EXISTS:Xl,PROPER:NS,CONFIGURABLE:_S}});var Ql=b((yB,vf)=>{var qS=K(),HS=X(),Yl=fa(),jS=qS(Function.toString);HS(Yl.inspectSource)||(Yl.inspectSource=function(r){return jS(r)});vf.exports=Yl.inspectSource});var ru=b((vB,kf)=>{var tu=K(),WS=se(),GS=X(),Ra=we(),eu=pe(),zS=Zl().CONFIGURABLE,VS=Ql(),Pf=Fr(),$S=Pf.enforce,JS=Pf.get,bf=String,Fa=Object.defineProperty,KS=tu("".slice),XS=tu("".replace),ZS=tu([].join),YS=eu&&!WS(function(){return Fa(function(){},"length",{value:8}).length!==8}),QS=String(String).split("String"),ew=kf.exports=function(r,e,t){KS(bf(e),0,7)==="Symbol("&&(e="["+XS(bf(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),t&&t.getter&&(e="get "+e),t&&t.setter&&(e="set "+e),(!Ra(r,"name")||zS&&r.name!==e)&&(eu?Fa(r,"name",{value:e,configurable:!0}):r.name=e),YS&&t&&Ra(t,"arity")&&r.length!==t.arity&&Fa(r,"length",{value:t.arity});try{t&&Ra(t,"constructor")&&t.constructor?eu&&Fa(r,"prototype",{writable:!1}):r.prototype&&(r.prototype=void 0)}catch{}var i=$S(r);return Ra(i,"source")||(i.source=ZS(QS,typeof e=="string"?e:"")),r};Function.prototype.toString=ew(function(){return GS(this)&&JS(this).source||VS(this)},"toString")});var Xt=b((bB,Sf)=>{var tw=X(),rw=Ze(),iw=ru(),nw=pa();Sf.exports=function(r,e,t,i){i||(i={});var n=i.enumerable,s=i.name!==void 0?i.name:e;if(tw(t)&&iw(t,s,i),i.global)n?r[e]=t:nw(e,t);else{try{i.unsafe?r[e]&&(n=!0):delete r[e]}catch{}n?r[e]=t:rw.f(r,e,{value:t,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return r}});var iu=b((PB,wf)=>{var ow=ca(),sw=Math.max,aw=Math.min;wf.exports=function(r,e){var t=ow(r);return t<0?sw(t+e,0):aw(t,e)}});var Cf=b((kB,xf)=>{var dw=ca(),lw=Math.min;xf.exports=function(r){return r>0?lw(dw(r),9007199254740991):0}});var Oa=b((SB,If)=>{var uw=Cf();If.exports=function(r){return uw(r.length)}});var Tf=b((wB,Ef)=>{var cw=Or(),mw=iu(),pw=Oa(),Af=function(r){return function(e,t,i){var n=cw(e),s=pw(n),a=mw(i,s),d;if(r&&t!=t){for(;s>a;)if(d=n[a++],d!=d)return!0}else for(;s>a;a++)if((r||a in n)&&n[a]===t)return r||a||0;return!r&&-1}};Ef.exports={includes:Af(!0),indexOf:Af(!1)}});var ou=b((xB,Ff)=>{var fw=K(),nu=we(),gw=Or(),hw=Tf().indexOf,yw=Aa(),Rf=fw([].push);Ff.exports=function(r,e){var t=gw(r),i=0,n=[],s;for(s in t)!nu(yw,s)&&nu(t,s)&&Rf(n,s);for(;e.length>i;)nu(t,s=e[i++])&&(~hw(n,s)||Rf(n,s));return n}});var Ba=b((CB,Of)=>{Of.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Uf=b(Bf=>{var vw=ou(),bw=Ba(),Pw=bw.concat("length","prototype");Bf.f=Object.getOwnPropertyNames||function(e){return vw(e,Pw)}});var su=b(Mf=>{Mf.f=Object.getOwnPropertySymbols});var Df=b((EB,Lf)=>{var kw=Rn(),Sw=K(),ww=Uf(),xw=su(),Cw=Xe(),Iw=Sw([].concat);Lf.exports=kw("Reflect","ownKeys")||function(e){var t=ww.f(Cw(e)),i=xw.f;return i?Iw(t,i(e)):t}});var qf=b((TB,_f)=>{var Nf=we(),Aw=Df(),Ew=Jl(),Tw=Ze();_f.exports=function(r,e,t){for(var i=Aw(e),n=Tw.f,s=Ew.f,a=0;a<i.length;a++){var d=i[a];!Nf(r,d)&&!(t&&Nf(t,d))&&n(r,d,s(e,d))}}});var jf=b((RB,Hf)=>{var Rw=se(),Fw=X(),Ow=/#|\.prototype\./,On=function(r,e){var t=Uw[Bw(r)];return t==Lw?!0:t==Mw?!1:Fw(e)?Rw(e):!!e},Bw=On.normalize=function(r){return String(r).replace(Ow,".").toLowerCase()},Uw=On.data={},Mw=On.NATIVE="N",Lw=On.POLYFILL="P";Hf.exports=On});var Bn=b((FB,Wf)=>{var au=me(),Dw=Jl().f,Nw=Ca(),_w=Xt(),qw=pa(),Hw=qf(),jw=jf();Wf.exports=function(r,e){var t=r.target,i=r.global,n=r.stat,s,a,d,p,f,g;if(i?a=au:n?a=au[t]||qw(t,{}):a=(au[t]||{}).prototype,a)for(d in e){if(f=e[d],r.dontCallGetSet?(g=Dw(a,d),p=g&&g.value):p=a[d],s=jw(i?d:t+(n?".":"#")+d,r.forced),!s&&p!==void 0){if(typeof f==typeof p)continue;Hw(f,p)}(r.sham||p&&p.sham)&&Nw(f,"sham",!0),_w(a,d,f,r)}}});var du=b((OB,Gf)=>{var Ww=ou(),Gw=Ba();Gf.exports=Object.keys||function(e){return Ww(e,Gw)}});var Vf=b(zf=>{var zw=pe(),Vw=Rl(),$w=Ze(),Jw=Xe(),Kw=Or(),Xw=du();zf.f=zw&&!Vw?Object.defineProperties:function(e,t){Jw(e);for(var i=Kw(t),n=Xw(t),s=n.length,a=0,d;s>a;)$w.f(e,d=n[a++],i[d]);return e}});var Jf=b((UB,$f)=>{var Zw=Rn();$f.exports=Zw("document","documentElement")});var Un=b((MB,tg)=>{var Yw=Xe(),Qw=Vf(),Kf=Ba(),ex=Aa(),tx=Jf(),rx=El(),ix=Ia(),Xf=">",Zf="<",uu="prototype",cu="script",Qf=ix("IE_PROTO"),lu=function(){},eg=function(r){return Zf+cu+Xf+r+Zf+"/"+cu+Xf},Yf=function(r){r.write(eg("")),r.close();var e=r.parentWindow.Object;return r=null,e},nx=function(){var r=rx("iframe"),e="java"+cu+":",t;return r.style.display="none",tx.appendChild(r),r.src=String(e),t=r.contentWindow.document,t.open(),t.write(eg("document.F=Object")),t.close(),t.F},Ua,Ma=function(){try{Ua=new ActiveXObject("htmlfile")}catch{}Ma=typeof document<"u"?document.domain&&Ua?Yf(Ua):nx():Yf(Ua);for(var r=Kf.length;r--;)delete Ma[uu][Kf[r]];return Ma()};ex[Qf]=!0;tg.exports=Object.create||function(e,t){var i;return e!==null?(lu[uu]=Yw(e),i=new lu,lu[uu]=null,i[Qf]=e):i=Ma(),t===void 0?i:Qw.f(i,t)}});var ig=b((LB,rg)=>{var ox=se();rg.exports=!ox(function(){function r(){}return r.prototype.constructor=null,Object.getPrototypeOf(new r)!==r.prototype})});var pu=b((DB,og)=>{var sx=we(),ax=X(),dx=An(),lx=Ia(),ux=ig(),ng=lx("IE_PROTO"),mu=Object,cx=mu.prototype;og.exports=ux?mu.getPrototypeOf:function(r){var e=dx(r);if(sx(e,ng))return e[ng];var t=e.constructor;return ax(t)&&e instanceof t?t.prototype:e instanceof mu?cx:null}});var yu=b((NB,dg)=>{"use strict";var mx=se(),px=X(),fx=vt(),gx=Un(),sg=pu(),hx=Xt(),yx=xe(),vx=Er(),hu=yx("iterator"),ag=!1,nt,fu,gu;[].keys&&(gu=[].keys(),"next"in gu?(fu=sg(sg(gu)),fu!==Object.prototype&&(nt=fu)):ag=!0);var bx=!fx(nt)||mx(function(){var r={};return nt[hu].call(r)!==r});bx?nt={}:vx&&(nt=gx(nt));px(nt[hu])||hx(nt,hu,function(){return this});dg.exports={IteratorPrototype:nt,BUGGY_SAFARI_ITERATORS:ag}});var Mn=b((_B,ug)=>{var Px=Ze().f,kx=we(),Sx=xe(),lg=Sx("toStringTag");ug.exports=function(r,e,t){r&&!t&&(r=r.prototype),r&&!kx(r,lg)&&Px(r,lg,{configurable:!0,value:e})}});var Br=b((qB,cg)=>{cg.exports={}});var vu=b((HB,mg)=>{"use strict";var wx=yu().IteratorPrototype,xx=Un(),Cx=Rr(),Ix=Mn(),Ax=Br(),Ex=function(){return this};mg.exports=function(r,e,t,i){var n=e+" Iterator";return r.prototype=xx(wx,{next:Cx(+!i,t)}),Ix(r,n,!1,!0),Ax[n]=Ex,r}});var fg=b((jB,pg)=>{var Tx=X(),Rx=String,Fx=TypeError;pg.exports=function(r){if(typeof r=="object"||Tx(r))return r;throw Fx("Can't set "+Rx(r)+" as a prototype")}});var hg=b((WB,gg)=>{var Ox=K(),Bx=Xe(),Ux=fg();gg.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var r=!1,e={},t;try{t=Ox(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set),t(e,[]),r=e instanceof Array}catch{}return function(n,s){return Bx(n),Ux(s),r?t(n,s):n.__proto__=s,n}}():void 0)});var Pu=b((GB,Ig)=>{"use strict";var Mx=Bn(),Lx=He(),La=Er(),xg=Zl(),Dx=X(),Nx=vu(),yg=pu(),vg=hg(),_x=Mn(),qx=Ca(),bu=Xt(),Hx=xe(),bg=Br(),Cg=yu(),jx=xg.PROPER,Wx=xg.CONFIGURABLE,Pg=Cg.IteratorPrototype,Da=Cg.BUGGY_SAFARI_ITERATORS,Ln=Hx("iterator"),kg="keys",Dn="values",Sg="entries",wg=function(){return this};Ig.exports=function(r,e,t,i,n,s,a){Nx(t,e,i);var d=function(D){if(D===n&&h)return h;if(!Da&&D in g)return g[D];switch(D){case kg:return function(){return new t(this,D)};case Dn:return function(){return new t(this,D)};case Sg:return function(){return new t(this,D)}}return function(){return new t(this)}},p=e+" Iterator",f=!1,g=r.prototype,c=g[Ln]||g["@@iterator"]||n&&g[n],h=!Da&&c||d(n),P=e=="Array"&&g.entries||c,w,I,T;if(P&&(w=yg(P.call(new r)),w!==Object.prototype&&w.next&&(!La&&yg(w)!==Pg&&(vg?vg(w,Pg):Dx(w[Ln])||bu(w,Ln,wg)),_x(w,p,!0,!0),La&&(bg[p]=wg))),jx&&n==Dn&&c&&c.name!==Dn&&(!La&&Wx?qx(g,"name",Dn):(f=!0,h=function(){return Lx(c,this)})),n)if(I={values:d(Dn),keys:s?h:d(kg),entries:d(Sg)},a)for(T in I)(Da||f||!(T in g))&&bu(g,T,I[T]);else Mx({target:e,proto:!0,forced:Da||f},I);return(!La||a)&&g[Ln]!==h&&bu(g,Ln,h,{name:n}),bg[e]=h,I}});var ku=b((zB,Ag)=>{Ag.exports=function(r,e){return{value:r,done:e}}});var Fg=b(()=>{"use strict";var Gx=Il().charAt,zx=Tn(),Tg=Fr(),Vx=Pu(),Eg=ku(),Rg="String Iterator",$x=Tg.set,Jx=Tg.getterFor(Rg);Vx(String,"String",function(r){$x(this,{type:Rg,string:zx(r),index:0})},function(){var e=Jx(this),t=e.string,i=e.index,n;return i>=t.length?Eg(void 0,!0):(n=Gx(t,i),e.index+=n.length,Eg(n,!1))})});var Su=b((JB,Og)=>{var Kx=se(),Xx=xe(),Zx=Er(),Yx=Xx("iterator");Og.exports=!Kx(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,n){e.delete("b"),t+=n+i}),Zx&&!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[Yx]||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=b((KB,Bg)=>{var Qx=va(),eC=K();Bg.exports=function(r){if(Qx(r)==="Function")return eC(r)}});var Na=b((XB,Lg)=>{var Mg=Ug(),tC=ka(),rC=ua(),iC=Mg(Mg.bind);Lg.exports=function(r,e){return tC(r),e===void 0?r:rC?iC(r,e):function(){return r.apply(e,arguments)}}});var _g=b((ZB,Ng)=>{var Dg=ru(),nC=Ze();Ng.exports=function(r,e,t){return t.get&&Dg(t.get,e,{getter:!0}),t.set&&Dg(t.set,e,{setter:!0}),nC.f(r,e,t)}});var wu=b((YB,qg)=>{var oC=Ol(),sC=TypeError;qg.exports=function(r,e){if(oC(e,r))return r;throw sC("Incorrect invocation")}});var Gg=b((QB,Wg)=>{"use strict";var Hg=pe(),aC=K(),dC=He(),lC=se(),xu=du(),uC=su(),cC=zl(),mC=An(),pC=$l(),Ur=Object.assign,jg=Object.defineProperty,fC=aC([].concat);Wg.exports=!Ur||lC(function(){if(Hg&&Ur({b:1},Ur(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(n){e[n]=n}),Ur({},r)[t]!=7||xu(Ur({},e)).join("")!=i})?function(e,t){for(var i=mC(e),n=arguments.length,s=1,a=uC.f,d=cC.f;n>s;)for(var p=pC(arguments[s++]),f=a?fC(xu(p),a(p)):xu(p),g=f.length,c=0,h;g>c;)h=f[c++],(!Hg||dC(d,p,h))&&(i[h]=p[h]);return i}:Ur});var $g=b((eU,Vg)=>{var gC=He(),zg=Xe(),hC=Sa();Vg.exports=function(r,e,t){var i,n;zg(r);try{if(i=hC(r,"return"),!i){if(e==="throw")throw t;return t}i=gC(i,r)}catch(s){n=!0,i=s}if(e==="throw")throw t;if(n)throw i;return zg(i),t}});var Kg=b((tU,Jg)=>{var yC=Xe(),vC=$g();Jg.exports=function(r,e,t,i){try{return i?e(yC(t)[0],t[1]):e(t)}catch(n){vC(r,"throw",n)}}});var Zg=b((rU,Xg)=>{var bC=xe(),PC=Br(),kC=bC("iterator"),SC=Array.prototype;Xg.exports=function(r){return r!==void 0&&(PC.Array===r||SC[kC]===r)}});var ih=b((iU,rh)=>{var wC=K(),xC=se(),Yg=X(),CC=En(),IC=Rn(),AC=Ql(),Qg=function(){},EC=[],eh=IC("Reflect","construct"),Cu=/^\s*(?:class|function)\b/,TC=wC(Cu.exec),RC=!Cu.exec(Qg),Nn=function(e){if(!Yg(e))return!1;try{return eh(Qg,EC,e),!0}catch{return!1}},th=function(e){if(!Yg(e))return!1;switch(CC(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return RC||!!TC(Cu,AC(e))}catch{return!0}};th.sham=!0;rh.exports=!eh||xC(function(){var r;return Nn(Nn.call)||!Nn(Object)||!Nn(function(){r=!0})||r})?th:Nn});var Iu=b((nU,nh)=>{"use strict";var FC=wa(),OC=Ze(),BC=Rr();nh.exports=function(r,e,t){var i=FC(e);i in r?OC.f(r,i,BC(0,t)):r[i]=t}});var _a=b((oU,sh)=>{var UC=En(),oh=Sa(),MC=ga(),LC=Br(),DC=xe(),NC=DC("iterator");sh.exports=function(r){if(!MC(r))return oh(r,NC)||oh(r,"@@iterator")||LC[UC(r)]}});var Au=b((sU,ah)=>{var _C=He(),qC=ka(),HC=Xe(),jC=Ul(),WC=_a(),GC=TypeError;ah.exports=function(r,e){var t=arguments.length<2?WC(r):e;if(qC(t))return HC(_C(t,r));throw GC(jC(r)+" is not iterable")}});var ch=b((aU,uh)=>{"use strict";var zC=Na(),VC=He(),$C=An(),JC=Kg(),KC=Zg(),XC=ih(),ZC=Oa(),dh=Iu(),YC=Au(),QC=_a(),lh=Array;uh.exports=function(e){var t=$C(e),i=XC(this),n=arguments.length,s=n>1?arguments[1]:void 0,a=s!==void 0;a&&(s=zC(s,n>2?arguments[2]:void 0));var d=QC(t),p=0,f,g,c,h,P,w;if(d&&!(this===lh&&KC(d)))for(h=YC(t,d),P=h.next,g=i?new this:[];!(c=VC(P,h)).done;p++)w=a?JC(h,s,[c.value,p],!0):c.value,dh(g,p,w);else for(f=ZC(t),g=i?new this(f):lh(f);f>p;p++)w=a?s(t[p],p):t[p],dh(g,p,w);return g.length=p,g}});var Eu=b((dU,ph)=>{var mh=iu(),eI=Oa(),tI=Iu(),rI=Array,iI=Math.max;ph.exports=function(r,e,t){for(var i=eI(r),n=mh(e,i),s=mh(t===void 0?i:t,i),a=rI(iI(s-n,0)),d=0;n<s;n++,d++)tI(a,d,r[n]);return a.length=d,a}});var Sh=b((lU,kh)=>{var Zt=K(),Tu=2147483647,_n=36,vh=1,Ou=26,nI=38,oI=700,sI=72,aI=128,dI="-",lI=/[^\0-\u007E]/,bh=/[.\u3002\uFF0E\uFF61]/g,fh="Overflow: input needs wider integers to process",Ru=_n-vh,gh=RangeError,uI=Zt(bh.exec),Mr=Math.floor,Fu=String.fromCharCode,hh=Zt("".charCodeAt),Ph=Zt([].join),bt=Zt([].push),cI=Zt("".replace),mI=Zt("".split),pI=Zt("".toLowerCase),fI=function(r){for(var e=[],t=0,i=r.length;t<i;){var n=hh(r,t++);if(n>=55296&&n<=56319&&t<i){var s=hh(r,t++);(s&64512)==56320?bt(e,((n&1023)<<10)+(s&1023)+65536):(bt(e,n),t--)}else bt(e,n)}return e},yh=function(r){return r+22+75*(r<26)},gI=function(r,e,t){var i=0;for(r=t?Mr(r/oI):r>>1,r+=Mr(r/e);r>Ru*Ou>>1;)r=Mr(r/Ru),i+=_n;return Mr(i+(Ru+1)*r/(r+nI))},hI=function(r){var e=[];r=fI(r);var t=r.length,i=aI,n=0,s=sI,a,d;for(a=0;a<r.length;a++)d=r[a],d<128&&bt(e,Fu(d));var p=e.length,f=p;for(p&&bt(e,dI);f<t;){var g=Tu;for(a=0;a<r.length;a++)d=r[a],d>=i&&d<g&&(g=d);var c=f+1;if(g-i>Mr((Tu-n)/c))throw gh(fh);for(n+=(g-i)*c,i=g,a=0;a<r.length;a++){if(d=r[a],d<i&&++n>Tu)throw gh(fh);if(d==i){for(var h=n,P=_n;;){var w=P<=s?vh:P>=s+Ou?Ou:P-s;if(h<w)break;var I=h-w,T=_n-w;bt(e,Fu(yh(w+I%T))),h=Mr(I/T),P+=_n}bt(e,Fu(yh(h))),s=gI(n,c,f==p),n=0,f++}}n++,i++}return Ph(e,"")};kh.exports=function(r){var e=[],t=mI(cI(pI(r),bh,"."),"."),i,n;for(i=0;i<t.length;i++)n=t[i],bt(e,uI(lI,n)?"xn--"+hI(n):n);return Ph(e,".")}});var Bu=b((uU,wh)=>{var yI=TypeError;wh.exports=function(r,e){if(r<e)throw yI("Not enough arguments");return r}});var Ch=b((cU,xh)=>{var vI=xe(),bI=Un(),PI=Ze().f,Uu=vI("unscopables"),Mu=Array.prototype;Mu[Uu]==null&&PI(Mu,Uu,{configurable:!0,value:bI(null)});xh.exports=function(r){Mu[Uu][r]=!0}});var Fh=b((mU,Rh)=>{"use strict";var kI=Or(),Lu=Ch(),Ih=Br(),Eh=Fr(),SI=Ze().f,wI=Pu(),qa=ku(),xI=Er(),CI=pe(),Th="Array Iterator",II=Eh.set,AI=Eh.getterFor(Th);Rh.exports=wI(Array,"Array",function(r,e){II(this,{type:Th,target:kI(r),index:0,kind:e})},function(){var r=AI(this),e=r.target,t=r.kind,i=r.index++;return!e||i>=e.length?(r.target=void 0,qa(void 0,!0)):t=="keys"?qa(i,!1):t=="values"?qa(e[i],!1):qa([i,e[i]],!1)},"values");var Ah=Ih.Arguments=Ih.Array;Lu("keys");Lu("values");Lu("entries");if(!xI&&CI&&Ah.name!=="values")try{SI(Ah,"name",{value:"values"})}catch{}});var Bh=b((pU,Oh)=>{var EI=Xt();Oh.exports=function(r,e,t){for(var i in e)EI(r,i,e[i],t);return r}});var Lh=b((fU,Mh)=>{var Uh=Eu(),TI=Math.floor,Du=function(r,e){var t=r.length,i=TI(t/2);return t<8?RI(r,e):FI(r,Du(Uh(r,0,i),e),Du(Uh(r,i),e),e)},RI=function(r,e){for(var t=r.length,i=1,n,s;i<t;){for(s=i,n=r[i];s&&e(r[s-1],n)>0;)r[s]=r[--s];s!==i++&&(r[s]=n)}return r},FI=function(r,e,t,i){for(var n=e.length,s=t.length,a=0,d=0;a<n||d<s;)r[a+d]=a<n&&d<s?i(e[a],t[d])<=0?e[a++]:t[d++]:a<n?e[a++]:t[d++];return r};Mh.exports=Du});var $u=b((gU,ry)=>{"use strict";Fh();var ju=Bn(),Dr=me(),Ha=He(),Ye=K(),OI=pe(),Jh=Su(),Kh=Xt(),BI=Bh(),UI=Mn(),MI=vu(),zu=Fr(),Xh=wu(),Nu=X(),LI=we(),DI=Na(),NI=En(),_I=Xe(),Zh=vt(),fe=Tn(),qI=Un(),Dh=Rr(),Wu=Au(),HI=_a(),Lr=Bu(),jI=xe(),WI=Lh(),GI=jI("iterator"),jn="URLSearchParams",Yh=jn+"Iterator",Qh=zu.set,We=zu.getterFor(jn),zI=zu.getterFor(Yh),VI=Object.getOwnPropertyDescriptor,Vu=function(r){if(!OI)return Dr[r];var e=VI(Dr,r);return e&&e.value},Nh=Vu("fetch"),Wa=Vu("Request"),qn=Vu("Headers"),_u=Wa&&Wa.prototype,_h=qn&&qn.prototype,$I=Dr.RegExp,JI=Dr.TypeError,ey=Dr.decodeURIComponent,KI=Dr.encodeURIComponent,XI=Ye("".charAt),qh=Ye([].join),Yt=Ye([].push),Gu=Ye("".replace),ZI=Ye([].shift),Hh=Ye([].splice),jh=Ye("".split),YI=Ye("".slice),QI=/\+/g,Wh=Array(4),eA=function(r){return Wh[r-1]||(Wh[r-1]=$I("((?:%[\\da-f]{2}){"+r+"})","gi"))},tA=function(r){try{return ey(r)}catch{return r}},Gh=function(r){var e=Gu(r,QI," "),t=4;try{return ey(e)}catch{for(;t;)e=Gu(e,eA(t--),tA);return e}},rA=/[!'()~]|%20/g,iA={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},nA=function(r){return iA[r]},zh=function(r){return Gu(KI(r),rA,nA)},qu=MI(function(e,t){Qh(this,{type:Yh,iterator:Wu(We(e).entries),kind:t})},"Iterator",function(){var e=zI(this),t=e.kind,i=e.iterator.next(),n=i.value;return i.done||(i.value=t==="keys"?n.key:t==="values"?n.value:[n.key,n.value]),i},!0),ty=function(r){this.entries=[],this.url=null,r!==void 0&&(Zh(r)?this.parseObject(r):this.parseQuery(typeof r=="string"?XI(r,0)==="?"?YI(r,1):r:fe(r)))};ty.prototype={type:jn,bindURL:function(r){this.url=r,this.update()},parseObject:function(r){var e=HI(r),t,i,n,s,a,d,p;if(e)for(t=Wu(r,e),i=t.next;!(n=Ha(i,t)).done;){if(s=Wu(_I(n.value)),a=s.next,(d=Ha(a,s)).done||(p=Ha(a,s)).done||!Ha(a,s).done)throw JI("Expected sequence with length 2");Yt(this.entries,{key:fe(d.value),value:fe(p.value)})}else for(var f in r)LI(r,f)&&Yt(this.entries,{key:f,value:fe(r[f])})},parseQuery:function(r){if(r)for(var e=jh(r,"&"),t=0,i,n;t<e.length;)i=e[t++],i.length&&(n=jh(i,"="),Yt(this.entries,{key:Gh(ZI(n)),value:Gh(qh(n,"="))}))},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 Ga=function(){Xh(this,Hn);var e=arguments.length>0?arguments[0]:void 0;Qh(this,new ty(e))},Hn=Ga.prototype;BI(Hn,{append:function(e,t){Lr(arguments.length,2);var i=We(this);Yt(i.entries,{key:fe(e),value:fe(t)}),i.updateURL()},delete:function(r){Lr(arguments.length,1);for(var e=We(this),t=e.entries,i=fe(r),n=0;n<t.length;)t[n].key===i?Hh(t,n,1):n++;e.updateURL()},get:function(e){Lr(arguments.length,1);for(var t=We(this).entries,i=fe(e),n=0;n<t.length;n++)if(t[n].key===i)return t[n].value;return null},getAll:function(e){Lr(arguments.length,1);for(var t=We(this).entries,i=fe(e),n=[],s=0;s<t.length;s++)t[s].key===i&&Yt(n,t[s].value);return n},has:function(e){Lr(arguments.length,1);for(var t=We(this).entries,i=fe(e),n=0;n<t.length;)if(t[n++].key===i)return!0;return!1},set:function(e,t){Lr(arguments.length,1);for(var i=We(this),n=i.entries,s=!1,a=fe(e),d=fe(t),p=0,f;p<n.length;p++)f=n[p],f.key===a&&(s?Hh(n,p--,1):(s=!0,f.value=d));s||Yt(n,{key:a,value:d}),i.updateURL()},sort:function(){var e=We(this);WI(e.entries,function(t,i){return t.key>i.key?1:-1}),e.updateURL()},forEach:function(e){for(var t=We(this).entries,i=DI(e,arguments.length>1?arguments[1]:void 0),n=0,s;n<t.length;)s=t[n++],i(s.value,s.key,this)},keys:function(){return new qu(this,"keys")},values:function(){return new qu(this,"values")},entries:function(){return new qu(this,"entries")}},{enumerable:!0});Kh(Hn,GI,Hn.entries,{name:"entries"});Kh(Hn,"toString",function(){return We(this).serialize()},{enumerable:!0});UI(Ga,jn);ju({global:!0,constructor:!0,forced:!Jh},{URLSearchParams:Ga});!Jh&&Nu(qn)&&(Vh=Ye(_h.has),$h=Ye(_h.set),Hu=function(r){if(Zh(r)){var e=r.body,t;if(NI(e)===jn)return t=r.headers?new qn(r.headers):new qn,Vh(t,"content-type")||$h(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),qI(r,{body:Dh(0,fe(e)),headers:Dh(0,t)})}return r},Nu(Nh)&&ju({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return Nh(e,arguments.length>1?Hu(arguments[1]):{})}}),Nu(Wa)&&(ja=function(e){return Xh(this,_u),new Wa(e,arguments.length>1?Hu(arguments[1]):{})},_u.constructor=ja,ja.prototype=_u,ju({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:ja})));var Vh,$h,Hu,ja;ry.exports={URLSearchParams:Ga,getState:We}});var ky=b(()=>{"use strict";Fg();var oA=Bn(),lc=pe(),sA=Su(),uc=me(),iy=Na(),Te=K(),Ka=Xt(),Ce=_g(),aA=wu(),sc=we(),cc=Gg(),Nr=ch(),Ge=Eu(),dA=Il().codeAt,lA=Sh(),st=Tn(),uA=Mn(),cA=Bu(),gy=$u(),hy=Fr(),mA=hy.set,Xa=hy.getterFor("URL"),pA=gy.URLSearchParams,fA=gy.getState,Wn=uc.URL,ac=uc.TypeError,Za=uc.parseInt,gA=Math.floor,ny=Math.pow,Ee=Te("".charAt),ze=Te(/./.exec),zn=Te([].join),hA=Te(1 .toString),yA=Te([].pop),qr=Te([].push),oy=Te("".replace),vA=Te([].shift),bA=Te("".split),$n=Te("".slice),Ya=Te("".toLowerCase),PA=Te([].unshift),kA="Invalid authority",Ju="Invalid scheme",Qt="Invalid host",sy="Invalid port",yy=/[a-z]/i,SA=/[\d+-.a-z]/i,dc=/\d/,wA=/^0x/i,xA=/^[0-7]+$/,CA=/^\d+$/,vy=/^[\da-f]+$/i,IA=/[\0\t\n\r #%/:<>?@[\\\]^|]/,AA=/[\0\t\n\r #/:<>?@[\\\]^|]/,EA=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,TA=/[\t\n\r]/g,Ie,RA=function(r){var e=bA(r,"."),t,i,n,s,a,d,p;if(e.length&&e[e.length-1]==""&&e.length--,t=e.length,t>4)return r;for(i=[],n=0;n<t;n++){if(s=e[n],s=="")return r;if(a=10,s.length>1&&Ee(s,0)=="0"&&(a=ze(wA,s)?16:8,s=$n(s,a==8?1:2)),s==="")d=0;else{if(!ze(a==10?CA:a==8?xA:vy,s))return r;d=Za(s,a)}qr(i,d)}for(n=0;n<t;n++)if(d=i[n],n==t-1){if(d>=ny(256,5-t))return null}else if(d>255)return null;for(p=yA(i),n=0;n<i.length;n++)p+=i[n]*ny(256,3-n);return p},FA=function(r){var e=[0,0,0,0,0,0,0,0],t=0,i=null,n=0,s,a,d,p,f,g,c,h=function(){return Ee(r,n)};if(h()==":"){if(Ee(r,1)!=":")return;n+=2,t++,i=t}for(;h();){if(t==8)return;if(h()==":"){if(i!==null)return;n++,t++,i=t;continue}for(s=a=0;a<4&&ze(vy,h());)s=s*16+Za(h(),16),n++,a++;if(h()=="."){if(a==0||(n-=a,t>6))return;for(d=0;h();){if(p=null,d>0)if(h()=="."&&d<4)n++;else return;if(!ze(dc,h()))return;for(;ze(dc,h());){if(f=Za(h(),10),p===null)p=f;else{if(p==0)return;p=p*10+f}if(p>255)return;n++}e[t]=e[t]*256+p,d++,(d==2||d==4)&&t++}if(d!=4)return;break}else if(h()==":"){if(n++,!h())return}else if(h())return;e[t++]=s}if(i!==null)for(g=t-i,t=7;t!=0&&g>0;)c=e[t],e[t--]=e[i+g-1],e[i+--g]=c;else if(t!=8)return;return e},OA=function(r){for(var e=null,t=1,i=null,n=0,s=0;s<8;s++)r[s]!==0?(n>t&&(e=i,t=n),i=null,n=0):(i===null&&(i=s),++n);return n>t&&(e=i,t=n),e},Gn=function(r){var e,t,i,n;if(typeof r=="number"){for(e=[],t=0;t<4;t++)PA(e,r%256),r=gA(r/256);return zn(e,".")}else if(typeof r=="object"){for(e="",i=OA(r),t=0;t<8;t++)n&&r[t]===0||(n&&(n=!1),i===t?(e+=t?":":"::",n=!0):(e+=hA(r[t],16),t<7&&(e+=":")));return"["+e+"]"}return r},Ja={},by=cc({},Ja,{" ":1,'"':1,"<":1,">":1,"`":1}),Py=cc({},by,{"#":1,"?":1,"{":1,"}":1}),Ku=cc({},Py,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Pt=function(r,e){var t=dA(r,0);return t>32&&t<127&&!sc(e,r)?r:encodeURIComponent(r)},za={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Vn=function(r,e){var t;return r.length==2&&ze(yy,Ee(r,0))&&((t=Ee(r,1))==":"||!e&&t=="|")},ay=function(r){var e;return r.length>1&&Vn($n(r,0,2))&&(r.length==2||(e=Ee(r,2))==="/"||e==="\\"||e==="?"||e==="#")},BA=function(r){return r==="."||Ya(r)==="%2e"},UA=function(r){return r=Ya(r),r===".."||r==="%2e."||r===".%2e"||r==="%2e%2e"},Xu={},dy={},Zu={},ly={},uy={},Yu={},cy={},my={},Va={},$a={},Qu={},ec={},tc={},rc={},py={},ic={},_r={},Qe={},fy={},er={},ot={},mc=function(r,e,t){var i=st(r),n,s,a;if(e){if(s=this.parse(i),s)throw ac(s);this.searchParams=null}else{if(t!==void 0&&(n=new mc(t,!0)),s=this.parse(i,null,n),s)throw ac(s);a=fA(new pA),a.bindURL(this),this.searchParams=a}};mc.prototype={type:"URL",parse:function(r,e,t){var i=this,n=e||Xu,s=0,a="",d=!1,p=!1,f=!1,g,c,h,P;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=oy(r,EA,"")),r=oy(r,TA,""),g=Nr(r);s<=g.length;){switch(c=g[s],n){case Xu:if(c&&ze(yy,c))a+=Ya(c),n=dy;else{if(e)return Ju;n=Zu;continue}break;case dy:if(c&&(ze(SA,c)||c=="+"||c=="-"||c=="."))a+=Ya(c);else if(c==":"){if(e&&(i.isSpecial()!=sc(za,a)||a=="file"&&(i.includesCredentials()||i.port!==null)||i.scheme=="file"&&!i.host))return;if(i.scheme=a,e){i.isSpecial()&&za[i.scheme]==i.port&&(i.port=null);return}a="",i.scheme=="file"?n=rc:i.isSpecial()&&t&&t.scheme==i.scheme?n=ly:i.isSpecial()?n=my:g[s+1]=="/"?(n=uy,s++):(i.cannotBeABaseURL=!0,qr(i.path,""),n=fy)}else{if(e)return Ju;a="",n=Zu,s=0;continue}break;case Zu:if(!t||t.cannotBeABaseURL&&c!="#")return Ju;if(t.cannotBeABaseURL&&c=="#"){i.scheme=t.scheme,i.path=Ge(t.path),i.query=t.query,i.fragment="",i.cannotBeABaseURL=!0,n=ot;break}n=t.scheme=="file"?rc:Yu;continue;case ly:if(c=="/"&&g[s+1]=="/")n=Va,s++;else{n=Yu;continue}break;case uy:if(c=="/"){n=$a;break}else{n=Qe;continue}case Yu:if(i.scheme=t.scheme,c==Ie)i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=Ge(t.path),i.query=t.query;else if(c=="/"||c=="\\"&&i.isSpecial())n=cy;else if(c=="?")i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=Ge(t.path),i.query="",n=er;else if(c=="#")i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=Ge(t.path),i.query=t.query,i.fragment="",n=ot;else{i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=Ge(t.path),i.path.length--,n=Qe;continue}break;case cy:if(i.isSpecial()&&(c=="/"||c=="\\"))n=Va;else if(c=="/")n=$a;else{i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,n=Qe;continue}break;case my:if(n=Va,c!="/"||Ee(a,s+1)!="/")continue;s++;break;case Va:if(c!="/"&&c!="\\"){n=$a;continue}break;case $a:if(c=="@"){d&&(a="%40"+a),d=!0,h=Nr(a);for(var w=0;w<h.length;w++){var I=h[w];if(I==":"&&!f){f=!0;continue}var T=Pt(I,Ku);f?i.password+=T:i.username+=T}a=""}else if(c==Ie||c=="/"||c=="?"||c=="#"||c=="\\"&&i.isSpecial()){if(d&&a=="")return kA;s-=Nr(a).length+1,a="",n=Qu}else a+=c;break;case Qu:case ec:if(e&&i.scheme=="file"){n=ic;continue}else if(c==":"&&!p){if(a=="")return Qt;if(P=i.parseHost(a),P)return P;if(a="",n=tc,e==ec)return}else if(c==Ie||c=="/"||c=="?"||c=="#"||c=="\\"&&i.isSpecial()){if(i.isSpecial()&&a=="")return Qt;if(e&&a==""&&(i.includesCredentials()||i.port!==null))return;if(P=i.parseHost(a),P)return P;if(a="",n=_r,e)return;continue}else c=="["?p=!0:c=="]"&&(p=!1),a+=c;break;case tc:if(ze(dc,c))a+=c;else if(c==Ie||c=="/"||c=="?"||c=="#"||c=="\\"&&i.isSpecial()||e){if(a!=""){var D=Za(a,10);if(D>65535)return sy;i.port=i.isSpecial()&&D===za[i.scheme]?null:D,a=""}if(e)return;n=_r;continue}else return sy;break;case rc:if(i.scheme="file",c=="/"||c=="\\")n=py;else if(t&&t.scheme=="file")if(c==Ie)i.host=t.host,i.path=Ge(t.path),i.query=t.query;else if(c=="?")i.host=t.host,i.path=Ge(t.path),i.query="",n=er;else if(c=="#")i.host=t.host,i.path=Ge(t.path),i.query=t.query,i.fragment="",n=ot;else{ay(zn(Ge(g,s),""))||(i.host=t.host,i.path=Ge(t.path),i.shortenPath()),n=Qe;continue}else{n=Qe;continue}break;case py:if(c=="/"||c=="\\"){n=ic;break}t&&t.scheme=="file"&&!ay(zn(Ge(g,s),""))&&(Vn(t.path[0],!0)?qr(i.path,t.path[0]):i.host=t.host),n=Qe;continue;case ic:if(c==Ie||c=="/"||c=="\\"||c=="?"||c=="#"){if(!e&&Vn(a))n=Qe;else if(a==""){if(i.host="",e)return;n=_r}else{if(P=i.parseHost(a),P)return P;if(i.host=="localhost"&&(i.host=""),e)return;a="",n=_r}continue}else a+=c;break;case _r:if(i.isSpecial()){if(n=Qe,c!="/"&&c!="\\")continue}else if(!e&&c=="?")i.query="",n=er;else if(!e&&c=="#")i.fragment="",n=ot;else if(c!=Ie&&(n=Qe,c!="/"))continue;break;case Qe:if(c==Ie||c=="/"||c=="\\"&&i.isSpecial()||!e&&(c=="?"||c=="#")){if(UA(a)?(i.shortenPath(),c!="/"&&!(c=="\\"&&i.isSpecial())&&qr(i.path,"")):BA(a)?c!="/"&&!(c=="\\"&&i.isSpecial())&&qr(i.path,""):(i.scheme=="file"&&!i.path.length&&Vn(a)&&(i.host&&(i.host=""),a=Ee(a,0)+":"),qr(i.path,a)),a="",i.scheme=="file"&&(c==Ie||c=="?"||c=="#"))for(;i.path.length>1&&i.path[0]==="";)vA(i.path);c=="?"?(i.query="",n=er):c=="#"&&(i.fragment="",n=ot)}else a+=Pt(c,Py);break;case fy:c=="?"?(i.query="",n=er):c=="#"?(i.fragment="",n=ot):c!=Ie&&(i.path[0]+=Pt(c,Ja));break;case er:!e&&c=="#"?(i.fragment="",n=ot):c!=Ie&&(c=="'"&&i.isSpecial()?i.query+="%27":c=="#"?i.query+="%23":i.query+=Pt(c,Ja));break;case ot:c!=Ie&&(i.fragment+=Pt(c,by));break}s++}},parseHost:function(r){var e,t,i;if(Ee(r,0)=="["){if(Ee(r,r.length-1)!="]"||(e=FA($n(r,1,-1)),!e))return Qt;this.host=e}else if(this.isSpecial()){if(r=lA(r),ze(IA,r)||(e=RA(r),e===null))return Qt;this.host=e}else{if(ze(AA,r))return Qt;for(e="",t=Nr(r),i=0;i<t.length;i++)e+=Pt(t[i],Ja);this.host=e}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||this.scheme=="file"},includesCredentials:function(){return this.username!=""||this.password!=""},isSpecial:function(){return sc(za,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,n=r.host,s=r.port,a=r.path,d=r.query,p=r.fragment,f=e+":";return n!==null?(f+="//",r.includesCredentials()&&(f+=t+(i?":"+i:"")+"@"),f+=Gn(n),s!==null&&(f+=":"+s)):e=="file"&&(f+="//"),f+=r.cannotBeABaseURL?a[0]:a.length?"/"+zn(a,"/"):"",d!==null&&(f+="?"+d),p!==null&&(f+="#"+p),f},setHref:function(r){var e=this.parse(r);if(e)throw ac(e);this.searchParams.update()},getOrigin:function(){var r=this.scheme,e=this.port;if(r=="blob")try{return new Hr(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)+":",Xu)},getUsername:function(){return this.username},setUsername:function(r){var e=Nr(st(r));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var t=0;t<e.length;t++)this.username+=Pt(e[t],Ku)}},getPassword:function(){return this.password},setPassword:function(r){var e=Nr(st(r));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var t=0;t<e.length;t++)this.password+=Pt(e[t],Ku)}},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,Qu)},getHostname:function(){var r=this.host;return r===null?"":Gn(r)},setHostname:function(r){this.cannotBeABaseURL||this.parse(r,ec)},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,tc))},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,_r))},getSearch:function(){var r=this.query;return r?"?"+r:""},setSearch:function(r){r=st(r),r==""?this.query=null:(Ee(r,0)=="?"&&(r=$n(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=$n(r,1)),this.fragment="",this.parse(r,ot)},update:function(){this.query=this.searchParams.serialize()||null}};var Hr=function(e){var t=aA(this,te),i=cA(arguments.length,1)>1?arguments[1]:void 0,n=mA(t,new mc(e,!1,i));lc||(t.href=n.serialize(),t.origin=n.getOrigin(),t.protocol=n.getProtocol(),t.username=n.getUsername(),t.password=n.getPassword(),t.host=n.getHost(),t.hostname=n.getHostname(),t.port=n.getPort(),t.pathname=n.getPathname(),t.search=n.getSearch(),t.searchParams=n.getSearchParams(),t.hash=n.getHash())},te=Hr.prototype,Ae=function(r,e){return{get:function(){return Xa(this)[r]()},set:e&&function(t){return Xa(this)[e](t)},configurable:!0,enumerable:!0}};lc&&(Ce(te,"href",Ae("serialize","setHref")),Ce(te,"origin",Ae("getOrigin")),Ce(te,"protocol",Ae("getProtocol","setProtocol")),Ce(te,"username",Ae("getUsername","setUsername")),Ce(te,"password",Ae("getPassword","setPassword")),Ce(te,"host",Ae("getHost","setHost")),Ce(te,"hostname",Ae("getHostname","setHostname")),Ce(te,"port",Ae("getPort","setPort")),Ce(te,"pathname",Ae("getPathname","setPathname")),Ce(te,"search",Ae("getSearch","setSearch")),Ce(te,"searchParams",Ae("getSearchParams")),Ce(te,"hash",Ae("getHash","setHash")));Ka(te,"toJSON",function(){return Xa(this).serialize()},{enumerable:!0});Ka(te,"toString",function(){return Xa(this).serialize()},{enumerable:!0});Wn&&(nc=Wn.createObjectURL,oc=Wn.revokeObjectURL,nc&&Ka(Hr,"createObjectURL",iy(nc,Wn)),oc&&Ka(Hr,"revokeObjectURL",iy(oc,Wn)));var nc,oc;uA(Hr,"URL");oA({global:!0,constructor:!0,forced:!sA,sham:!lc},{URL:Hr})});var Sy=b(()=>{ky()});var wy=b(()=>{"use strict";var MA=Bn(),LA=He();MA({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return LA(URL.prototype.toString,this)}})});var xy=b(()=>{$u()});var Iy=b((xU,Cy)=>{var DA=me();Cy.exports=DA});var Ey=b((CU,Ay)=>{Sy();wy();xy();var NA=Iy();Ay.exports=NA.URL});var yc=b(td=>{"use strict";td.byteLength=tE;td.toByteArray=iE;td.fromByteArray=sE;var et=[],Oe=[],eE=typeof Uint8Array<"u"?Uint8Array:Array,hc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(nr=0,Oy=hc.length;nr<Oy;++nr)et[nr]=hc[nr],Oe[hc.charCodeAt(nr)]=nr;var nr,Oy;Oe["-".charCodeAt(0)]=62;Oe["_".charCodeAt(0)]=63;function By(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 tE(r){var e=By(r),t=e[0],i=e[1];return(t+i)*3/4-i}function rE(r,e,t){return(e+t)*3/4-t}function iE(r){var e,t=By(r),i=t[0],n=t[1],s=new eE(rE(r,i,n)),a=0,d=n>0?i-4:i,p;for(p=0;p<d;p+=4)e=Oe[r.charCodeAt(p)]<<18|Oe[r.charCodeAt(p+1)]<<12|Oe[r.charCodeAt(p+2)]<<6|Oe[r.charCodeAt(p+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=e&255;return n===2&&(e=Oe[r.charCodeAt(p)]<<2|Oe[r.charCodeAt(p+1)]>>4,s[a++]=e&255),n===1&&(e=Oe[r.charCodeAt(p)]<<10|Oe[r.charCodeAt(p+1)]<<4|Oe[r.charCodeAt(p+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function nE(r){return et[r>>18&63]+et[r>>12&63]+et[r>>6&63]+et[r&63]}function oE(r,e,t){for(var i,n=[],s=e;s<t;s+=3)i=(r[s]<<16&16711680)+(r[s+1]<<8&65280)+(r[s+2]&255),n.push(nE(i));return n.join("")}function sE(r){for(var e,t=r.length,i=t%3,n=[],s=16383,a=0,d=t-i;a<d;a+=s)n.push(oE(r,a,a+s>d?d:a+s));return i===1?(e=r[t-1],n.push(et[e>>2]+et[e<<4&63]+"==")):i===2&&(e=(r[t-2]<<8)+r[t-1],n.push(et[e>>10]+et[e>>4&63]+et[e<<2&63]+"=")),n.join("")}});var Uy=b(vc=>{vc.read=function(r,e,t,i,n){var s,a,d=n*8-i-1,p=(1<<d)-1,f=p>>1,g=-7,c=t?n-1:0,h=t?-1:1,P=r[e+c];for(c+=h,s=P&(1<<-g)-1,P>>=-g,g+=d;g>0;s=s*256+r[e+c],c+=h,g-=8);for(a=s&(1<<-g)-1,s>>=-g,g+=i;g>0;a=a*256+r[e+c],c+=h,g-=8);if(s===0)s=1-f;else{if(s===p)return a?NaN:(P?-1:1)*(1/0);a=a+Math.pow(2,i),s=s-f}return(P?-1:1)*a*Math.pow(2,s-i)};vc.write=function(r,e,t,i,n,s){var a,d,p,f=s*8-n-1,g=(1<<f)-1,c=g>>1,h=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,P=i?0:s-1,w=i?1:-1,I=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(d=isNaN(e)?1:0,a=g):(a=Math.floor(Math.log(e)/Math.LN2),e*(p=Math.pow(2,-a))<1&&(a--,p*=2),a+c>=1?e+=h/p:e+=h*Math.pow(2,1-c),e*p>=2&&(a++,p/=2),a+c>=g?(d=0,a=g):a+c>=1?(d=(e*p-1)*Math.pow(2,n),a=a+c):(d=e*Math.pow(2,c-1)*Math.pow(2,n),a=0));n>=8;r[t+P]=d&255,P+=w,d/=256,n-=8);for(a=a<<n|d,f+=n;f>0;r[t+P]=a&255,P+=w,a/=256,f-=8);r[t+P-w]|=I*128}});var Zy=b(Kr=>{"use strict";var bc=yc(),$r=Uy(),My=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Kr.Buffer=y;Kr.SlowBuffer=mE;Kr.INSPECT_MAX_BYTES=50;var rd=2147483647;Kr.kMaxLength=rd;y.TYPED_ARRAY_SUPPORT=aE();!y.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function aE(){try{let r=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(r,e),r.foo()===42}catch{return!1}}Object.defineProperty(y.prototype,"parent",{enumerable:!0,get:function(){if(y.isBuffer(this))return this.buffer}});Object.defineProperty(y.prototype,"offset",{enumerable:!0,get:function(){if(y.isBuffer(this))return this.byteOffset}});function dt(r){if(r>rd)throw new RangeError('The value "'+r+'" is invalid for option "size"');let e=new Uint8Array(r);return Object.setPrototypeOf(e,y.prototype),e}function y(r,e,t){if(typeof r=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return wc(r)}return _y(r,e,t)}y.poolSize=8192;function _y(r,e,t){if(typeof r=="string")return lE(r,e);if(ArrayBuffer.isView(r))return uE(r);if(r==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof r);if(tt(r,ArrayBuffer)||r&&tt(r.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tt(r,SharedArrayBuffer)||r&&tt(r.buffer,SharedArrayBuffer)))return kc(r,e,t);if(typeof r=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let i=r.valueOf&&r.valueOf();if(i!=null&&i!==r)return y.from(i,e,t);let n=cE(r);if(n)return n;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof r[Symbol.toPrimitive]=="function")return y.from(r[Symbol.toPrimitive]("string"),e,t);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof r)}y.from=function(r,e,t){return _y(r,e,t)};Object.setPrototypeOf(y.prototype,Uint8Array.prototype);Object.setPrototypeOf(y,Uint8Array);function qy(r){if(typeof r!="number")throw new TypeError('"size" argument must be of type number');if(r<0)throw new RangeError('The value "'+r+'" is invalid for option "size"')}function dE(r,e,t){return qy(r),r<=0?dt(r):e!==void 0?typeof t=="string"?dt(r).fill(e,t):dt(r).fill(e):dt(r)}y.alloc=function(r,e,t){return dE(r,e,t)};function wc(r){return qy(r),dt(r<0?0:xc(r)|0)}y.allocUnsafe=function(r){return wc(r)};y.allocUnsafeSlow=function(r){return wc(r)};function lE(r,e){if((typeof e!="string"||e==="")&&(e="utf8"),!y.isEncoding(e))throw new TypeError("Unknown encoding: "+e);let t=Hy(r,e)|0,i=dt(t),n=i.write(r,e);return n!==t&&(i=i.slice(0,n)),i}function Pc(r){let e=r.length<0?0:xc(r.length)|0,t=dt(e);for(let i=0;i<e;i+=1)t[i]=r[i]&255;return t}function uE(r){if(tt(r,Uint8Array)){let e=new Uint8Array(r);return kc(e.buffer,e.byteOffset,e.byteLength)}return Pc(r)}function kc(r,e,t){if(e<0||r.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(r.byteLength<e+(t||0))throw new RangeError('"length" is outside of buffer bounds');let i;return e===void 0&&t===void 0?i=new Uint8Array(r):t===void 0?i=new Uint8Array(r,e):i=new Uint8Array(r,e,t),Object.setPrototypeOf(i,y.prototype),i}function cE(r){if(y.isBuffer(r)){let e=xc(r.length)|0,t=dt(e);return t.length===0||r.copy(t,0,0,e),t}if(r.length!==void 0)return typeof r.length!="number"||Ic(r.length)?dt(0):Pc(r);if(r.type==="Buffer"&&Array.isArray(r.data))return Pc(r.data)}function xc(r){if(r>=rd)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+rd.toString(16)+" bytes");return r|0}function mE(r){return+r!=r&&(r=0),y.alloc(+r)}y.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==y.prototype};y.compare=function(e,t){if(tt(e,Uint8Array)&&(e=y.from(e,e.offset,e.byteLength)),tt(t,Uint8Array)&&(t=y.from(t,t.offset,t.byteLength)),!y.isBuffer(e)||!y.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let i=e.length,n=t.length;for(let s=0,a=Math.min(i,n);s<a;++s)if(e[s]!==t[s]){i=e[s],n=t[s];break}return i<n?-1:n<i?1:0};y.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}};y.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(e.length===0)return y.alloc(0);let i;if(t===void 0)for(t=0,i=0;i<e.length;++i)t+=e[i].length;let n=y.allocUnsafe(t),s=0;for(i=0;i<e.length;++i){let a=e[i];if(tt(a,Uint8Array))s+a.length>n.length?(y.isBuffer(a)||(a=y.from(a)),a.copy(n,s)):Uint8Array.prototype.set.call(n,a,s);else if(y.isBuffer(a))a.copy(n,s);else throw new TypeError('"list" argument must be an Array of Buffers');s+=a.length}return n};function Hy(r,e){if(y.isBuffer(r))return r.length;if(ArrayBuffer.isView(r)||tt(r,ArrayBuffer))return r.byteLength;if(typeof r!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof r);let t=r.length,i=arguments.length>2&&arguments[2]===!0;if(!i&&t===0)return 0;let n=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return t;case"utf8":case"utf-8":return Sc(r).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return t*2;case"hex":return t>>>1;case"base64":return Xy(r).length;default:if(n)return i?-1:Sc(r).length;e=(""+e).toLowerCase(),n=!0}}y.byteLength=Hy;function pE(r,e,t){let i=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((t===void 0||t>this.length)&&(t=this.length),t<=0)||(t>>>=0,e>>>=0,t<=e))return"";for(r||(r="utf8");;)switch(r){case"hex":return wE(this,e,t);case"utf8":case"utf-8":return Wy(this,e,t);case"ascii":return kE(this,e,t);case"latin1":case"binary":return SE(this,e,t);case"base64":return bE(this,e,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return xE(this,e,t);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(r+"").toLowerCase(),i=!0}}y.prototype._isBuffer=!0;function or(r,e,t){let i=r[e];r[e]=r[t],r[t]=i}y.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;t<e;t+=2)or(this,t,t+1);return this};y.prototype.swap32=function(){let e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let t=0;t<e;t+=4)or(this,t,t+3),or(this,t+1,t+2);return this};y.prototype.swap64=function(){let e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let t=0;t<e;t+=8)or(this,t,t+7),or(this,t+1,t+6),or(this,t+2,t+5),or(this,t+3,t+4);return this};y.prototype.toString=function(){let e=this.length;return e===0?"":arguments.length===0?Wy(this,0,e):pE.apply(this,arguments)};y.prototype.toLocaleString=y.prototype.toString;y.prototype.equals=function(e){if(!y.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e?!0:y.compare(this,e)===0};y.prototype.inspect=function(){let e="",t=Kr.INSPECT_MAX_BYTES;return e=this.toString("hex",0,t).replace(/(.{2})/g,"$1 ").trim(),this.length>t&&(e+=" ... "),"<Buffer "+e+">"};My&&(y.prototype[My]=y.prototype.inspect);y.prototype.compare=function(e,t,i,n,s){if(tt(e,Uint8Array)&&(e=y.from(e,e.offset,e.byteLength)),!y.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),i===void 0&&(i=e?e.length:0),n===void 0&&(n=0),s===void 0&&(s=this.length),t<0||i>e.length||n<0||s>this.length)throw new RangeError("out of range index");if(n>=s&&t>=i)return 0;if(n>=s)return-1;if(t>=i)return 1;if(t>>>=0,i>>>=0,n>>>=0,s>>>=0,this===e)return 0;let a=s-n,d=i-t,p=Math.min(a,d),f=this.slice(n,s),g=e.slice(t,i);for(let c=0;c<p;++c)if(f[c]!==g[c]){a=f[c],d=g[c];break}return a<d?-1:d<a?1:0};function jy(r,e,t,i,n){if(r.length===0)return-1;if(typeof t=="string"?(i=t,t=0):t>2147483647?t=2147483647:t<-2147483648&&(t=-2147483648),t=+t,Ic(t)&&(t=n?0:r.length-1),t<0&&(t=r.length+t),t>=r.length){if(n)return-1;t=r.length-1}else if(t<0)if(n)t=0;else return-1;if(typeof e=="string"&&(e=y.from(e,i)),y.isBuffer(e))return e.length===0?-1:Ly(r,e,t,i,n);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?n?Uint8Array.prototype.indexOf.call(r,e,t):Uint8Array.prototype.lastIndexOf.call(r,e,t):Ly(r,[e],t,i,n);throw new TypeError("val must be string, number or Buffer")}function Ly(r,e,t,i,n){let s=1,a=r.length,d=e.length;if(i!==void 0&&(i=String(i).toLowerCase(),i==="ucs2"||i==="ucs-2"||i==="utf16le"||i==="utf-16le")){if(r.length<2||e.length<2)return-1;s=2,a/=2,d/=2,t/=2}function p(g,c){return s===1?g[c]:g.readUInt16BE(c*s)}let f;if(n){let g=-1;for(f=t;f<a;f++)if(p(r,f)===p(e,g===-1?0:f-g)){if(g===-1&&(g=f),f-g+1===d)return g*s}else g!==-1&&(f-=f-g),g=-1}else for(t+d>a&&(t=a-d),f=t;f>=0;f--){let g=!0;for(let c=0;c<d;c++)if(p(r,f+c)!==p(e,c)){g=!1;break}if(g)return f}return-1}y.prototype.includes=function(e,t,i){return this.indexOf(e,t,i)!==-1};y.prototype.indexOf=function(e,t,i){return jy(this,e,t,i,!0)};y.prototype.lastIndexOf=function(e,t,i){return jy(this,e,t,i,!1)};function fE(r,e,t,i){t=Number(t)||0;let n=r.length-t;i?(i=Number(i),i>n&&(i=n)):i=n;let s=e.length;i>s/2&&(i=s/2);let a;for(a=0;a<i;++a){let d=parseInt(e.substr(a*2,2),16);if(Ic(d))return a;r[t+a]=d}return a}function gE(r,e,t,i){return id(Sc(e,r.length-t),r,t,i)}function hE(r,e,t,i){return id(EE(e),r,t,i)}function yE(r,e,t,i){return id(Xy(e),r,t,i)}function vE(r,e,t,i){return id(TE(e,r.length-t),r,t,i)}y.prototype.write=function(e,t,i,n){if(t===void 0)n="utf8",i=this.length,t=0;else if(i===void 0&&typeof t=="string")n=t,i=this.length,t=0;else if(isFinite(t))t=t>>>0,isFinite(i)?(i=i>>>0,n===void 0&&(n="utf8")):(n=i,i=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let s=this.length-t;if((i===void 0||i>s)&&(i=s),e.length>0&&(i<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let a=!1;for(;;)switch(n){case"hex":return fE(this,e,t,i);case"utf8":case"utf-8":return gE(this,e,t,i);case"ascii":case"latin1":case"binary":return hE(this,e,t,i);case"base64":return yE(this,e,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return vE(this,e,t,i);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}};y.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function bE(r,e,t){return e===0&&t===r.length?bc.fromByteArray(r):bc.fromByteArray(r.slice(e,t))}function Wy(r,e,t){t=Math.min(r.length,t);let i=[],n=e;for(;n<t;){let s=r[n],a=null,d=s>239?4:s>223?3:s>191?2:1;if(n+d<=t){let p,f,g,c;switch(d){case 1:s<128&&(a=s);break;case 2:p=r[n+1],(p&192)===128&&(c=(s&31)<<6|p&63,c>127&&(a=c));break;case 3:p=r[n+1],f=r[n+2],(p&192)===128&&(f&192)===128&&(c=(s&15)<<12|(p&63)<<6|f&63,c>2047&&(c<55296||c>57343)&&(a=c));break;case 4:p=r[n+1],f=r[n+2],g=r[n+3],(p&192)===128&&(f&192)===128&&(g&192)===128&&(c=(s&15)<<18|(p&63)<<12|(f&63)<<6|g&63,c>65535&&c<1114112&&(a=c))}}a===null?(a=65533,d=1):a>65535&&(a-=65536,i.push(a>>>10&1023|55296),a=56320|a&1023),i.push(a),n+=d}return PE(i)}var Dy=4096;function PE(r){let e=r.length;if(e<=Dy)return String.fromCharCode.apply(String,r);let t="",i=0;for(;i<e;)t+=String.fromCharCode.apply(String,r.slice(i,i+=Dy));return t}function kE(r,e,t){let i="";t=Math.min(r.length,t);for(let n=e;n<t;++n)i+=String.fromCharCode(r[n]&127);return i}function SE(r,e,t){let i="";t=Math.min(r.length,t);for(let n=e;n<t;++n)i+=String.fromCharCode(r[n]);return i}function wE(r,e,t){let i=r.length;(!e||e<0)&&(e=0),(!t||t<0||t>i)&&(t=i);let n="";for(let s=e;s<t;++s)n+=RE[r[s]];return n}function xE(r,e,t){let i=r.slice(e,t),n="";for(let s=0;s<i.length-1;s+=2)n+=String.fromCharCode(i[s]+i[s+1]*256);return n}y.prototype.slice=function(e,t){let i=this.length;e=~~e,t=t===void 0?i:~~t,e<0?(e+=i,e<0&&(e=0)):e>i&&(e=i),t<0?(t+=i,t<0&&(t=0)):t>i&&(t=i),t<e&&(t=e);let n=this.subarray(e,t);return Object.setPrototypeOf(n,y.prototype),n};function Z(r,e,t){if(r%1!==0||r<0)throw new RangeError("offset is not uint");if(r+e>t)throw new RangeError("Trying to access beyond buffer length")}y.prototype.readUintLE=y.prototype.readUIntLE=function(e,t,i){e=e>>>0,t=t>>>0,i||Z(e,t,this.length);let n=this[e],s=1,a=0;for(;++a<t&&(s*=256);)n+=this[e+a]*s;return n};y.prototype.readUintBE=y.prototype.readUIntBE=function(e,t,i){e=e>>>0,t=t>>>0,i||Z(e,t,this.length);let n=this[e+--t],s=1;for(;t>0&&(s*=256);)n+=this[e+--t]*s;return n};y.prototype.readUint8=y.prototype.readUInt8=function(e,t){return e=e>>>0,t||Z(e,1,this.length),this[e]};y.prototype.readUint16LE=y.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||Z(e,2,this.length),this[e]|this[e+1]<<8};y.prototype.readUint16BE=y.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||Z(e,2,this.length),this[e]<<8|this[e+1]};y.prototype.readUint32LE=y.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||Z(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};y.prototype.readUint32BE=y.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||Z(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};y.prototype.readBigUInt64LE=wt(function(e){e=e>>>0,Jr(e,"offset");let t=this[e],i=this[e+7];(t===void 0||i===void 0)&&Jn(e,this.length-8);let n=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,s=this[++e]+this[++e]*2**8+this[++e]*2**16+i*2**24;return BigInt(n)+(BigInt(s)<<BigInt(32))});y.prototype.readBigUInt64BE=wt(function(e){e=e>>>0,Jr(e,"offset");let t=this[e],i=this[e+7];(t===void 0||i===void 0)&&Jn(e,this.length-8);let n=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],s=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+i;return(BigInt(n)<<BigInt(32))+BigInt(s)});y.prototype.readIntLE=function(e,t,i){e=e>>>0,t=t>>>0,i||Z(e,t,this.length);let n=this[e],s=1,a=0;for(;++a<t&&(s*=256);)n+=this[e+a]*s;return s*=128,n>=s&&(n-=Math.pow(2,8*t)),n};y.prototype.readIntBE=function(e,t,i){e=e>>>0,t=t>>>0,i||Z(e,t,this.length);let n=t,s=1,a=this[e+--n];for(;n>0&&(s*=256);)a+=this[e+--n]*s;return s*=128,a>=s&&(a-=Math.pow(2,8*t)),a};y.prototype.readInt8=function(e,t){return e=e>>>0,t||Z(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};y.prototype.readInt16LE=function(e,t){e=e>>>0,t||Z(e,2,this.length);let i=this[e]|this[e+1]<<8;return i&32768?i|4294901760:i};y.prototype.readInt16BE=function(e,t){e=e>>>0,t||Z(e,2,this.length);let i=this[e+1]|this[e]<<8;return i&32768?i|4294901760:i};y.prototype.readInt32LE=function(e,t){return e=e>>>0,t||Z(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};y.prototype.readInt32BE=function(e,t){return e=e>>>0,t||Z(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};y.prototype.readBigInt64LE=wt(function(e){e=e>>>0,Jr(e,"offset");let t=this[e],i=this[e+7];(t===void 0||i===void 0)&&Jn(e,this.length-8);let n=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(i<<24);return(BigInt(n)<<BigInt(32))+BigInt(t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24)});y.prototype.readBigInt64BE=wt(function(e){e=e>>>0,Jr(e,"offset");let t=this[e],i=this[e+7];(t===void 0||i===void 0)&&Jn(e,this.length-8);let n=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(n)<<BigInt(32))+BigInt(this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+i)});y.prototype.readFloatLE=function(e,t){return e=e>>>0,t||Z(e,4,this.length),$r.read(this,e,!0,23,4)};y.prototype.readFloatBE=function(e,t){return e=e>>>0,t||Z(e,4,this.length),$r.read(this,e,!1,23,4)};y.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||Z(e,8,this.length),$r.read(this,e,!0,52,8)};y.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||Z(e,8,this.length),$r.read(this,e,!1,52,8)};function ae(r,e,t,i,n,s){if(!y.isBuffer(r))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||e<s)throw new RangeError('"value" argument is out of bounds');if(t+i>r.length)throw new RangeError("Index out of range")}y.prototype.writeUintLE=y.prototype.writeUIntLE=function(e,t,i,n){if(e=+e,t=t>>>0,i=i>>>0,!n){let d=Math.pow(2,8*i)-1;ae(this,e,t,i,d,0)}let s=1,a=0;for(this[t]=e&255;++a<i&&(s*=256);)this[t+a]=e/s&255;return t+i};y.prototype.writeUintBE=y.prototype.writeUIntBE=function(e,t,i,n){if(e=+e,t=t>>>0,i=i>>>0,!n){let d=Math.pow(2,8*i)-1;ae(this,e,t,i,d,0)}let s=i-1,a=1;for(this[t+s]=e&255;--s>=0&&(a*=256);)this[t+s]=e/a&255;return t+i};y.prototype.writeUint8=y.prototype.writeUInt8=function(e,t,i){return e=+e,t=t>>>0,i||ae(this,e,t,1,255,0),this[t]=e&255,t+1};y.prototype.writeUint16LE=y.prototype.writeUInt16LE=function(e,t,i){return e=+e,t=t>>>0,i||ae(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};y.prototype.writeUint16BE=y.prototype.writeUInt16BE=function(e,t,i){return e=+e,t=t>>>0,i||ae(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};y.prototype.writeUint32LE=y.prototype.writeUInt32LE=function(e,t,i){return e=+e,t=t>>>0,i||ae(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};y.prototype.writeUint32BE=y.prototype.writeUInt32BE=function(e,t,i){return e=+e,t=t>>>0,i||ae(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function Gy(r,e,t,i,n){Ky(e,i,n,r,t,7);let s=Number(e&BigInt(4294967295));r[t++]=s,s=s>>8,r[t++]=s,s=s>>8,r[t++]=s,s=s>>8,r[t++]=s;let a=Number(e>>BigInt(32)&BigInt(4294967295));return r[t++]=a,a=a>>8,r[t++]=a,a=a>>8,r[t++]=a,a=a>>8,r[t++]=a,t}function zy(r,e,t,i,n){Ky(e,i,n,r,t,7);let s=Number(e&BigInt(4294967295));r[t+7]=s,s=s>>8,r[t+6]=s,s=s>>8,r[t+5]=s,s=s>>8,r[t+4]=s;let a=Number(e>>BigInt(32)&BigInt(4294967295));return r[t+3]=a,a=a>>8,r[t+2]=a,a=a>>8,r[t+1]=a,a=a>>8,r[t]=a,t+8}y.prototype.writeBigUInt64LE=wt(function(e,t=0){return Gy(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});y.prototype.writeBigUInt64BE=wt(function(e,t=0){return zy(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});y.prototype.writeIntLE=function(e,t,i,n){if(e=+e,t=t>>>0,!n){let p=Math.pow(2,8*i-1);ae(this,e,t,i,p-1,-p)}let s=0,a=1,d=0;for(this[t]=e&255;++s<i&&(a*=256);)e<0&&d===0&&this[t+s-1]!==0&&(d=1),this[t+s]=(e/a>>0)-d&255;return t+i};y.prototype.writeIntBE=function(e,t,i,n){if(e=+e,t=t>>>0,!n){let p=Math.pow(2,8*i-1);ae(this,e,t,i,p-1,-p)}let s=i-1,a=1,d=0;for(this[t+s]=e&255;--s>=0&&(a*=256);)e<0&&d===0&&this[t+s+1]!==0&&(d=1),this[t+s]=(e/a>>0)-d&255;return t+i};y.prototype.writeInt8=function(e,t,i){return e=+e,t=t>>>0,i||ae(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};y.prototype.writeInt16LE=function(e,t,i){return e=+e,t=t>>>0,i||ae(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};y.prototype.writeInt16BE=function(e,t,i){return e=+e,t=t>>>0,i||ae(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};y.prototype.writeInt32LE=function(e,t,i){return e=+e,t=t>>>0,i||ae(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};y.prototype.writeInt32BE=function(e,t,i){return e=+e,t=t>>>0,i||ae(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};y.prototype.writeBigInt64LE=wt(function(e,t=0){return Gy(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});y.prototype.writeBigInt64BE=wt(function(e,t=0){return zy(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Vy(r,e,t,i,n,s){if(t+i>r.length)throw new RangeError("Index out of range");if(t<0)throw new RangeError("Index out of range")}function $y(r,e,t,i,n){return e=+e,t=t>>>0,n||Vy(r,e,t,4,34028234663852886e22,-34028234663852886e22),$r.write(r,e,t,i,23,4),t+4}y.prototype.writeFloatLE=function(e,t,i){return $y(this,e,t,!0,i)};y.prototype.writeFloatBE=function(e,t,i){return $y(this,e,t,!1,i)};function Jy(r,e,t,i,n){return e=+e,t=t>>>0,n||Vy(r,e,t,8,17976931348623157e292,-17976931348623157e292),$r.write(r,e,t,i,52,8),t+8}y.prototype.writeDoubleLE=function(e,t,i){return Jy(this,e,t,!0,i)};y.prototype.writeDoubleBE=function(e,t,i){return Jy(this,e,t,!1,i)};y.prototype.copy=function(e,t,i,n){if(!y.isBuffer(e))throw new TypeError("argument should be a Buffer");if(i||(i=0),!n&&n!==0&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<i&&(n=i),n===i||e.length===0||this.length===0)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-i&&(n=e.length-t+i);let s=n-i;return this===e&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(t,i,n):Uint8Array.prototype.set.call(e,this.subarray(i,n),t),s};y.prototype.fill=function(e,t,i,n){if(typeof e=="string"){if(typeof t=="string"?(n=t,t=0,i=this.length):typeof i=="string"&&(n=i,i=this.length),n!==void 0&&typeof n!="string")throw new TypeError("encoding must be a string");if(typeof n=="string"&&!y.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(e.length===1){let a=e.charCodeAt(0);(n==="utf8"&&a<128||n==="latin1")&&(e=a)}}else typeof e=="number"?e=e&255:typeof e=="boolean"&&(e=Number(e));if(t<0||this.length<t||this.length<i)throw new RangeError("Out of range index");if(i<=t)return this;t=t>>>0,i=i===void 0?this.length:i>>>0,e||(e=0);let s;if(typeof e=="number")for(s=t;s<i;++s)this[s]=e;else{let a=y.isBuffer(e)?e:y.from(e,n),d=a.length;if(d===0)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(s=0;s<i-t;++s)this[s+t]=a[s%d]}return this};var Vr={};function Cc(r,e,t){Vr[r]=class extends t{constructor(){super(),Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${r}]`,this.stack,delete this.name}get code(){return r}set code(n){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:n,writable:!0})}toString(){return`${this.name} [${r}]: ${this.message}`}}}Cc("ERR_BUFFER_OUT_OF_BOUNDS",function(r){return r?`${r} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError);Cc("ERR_INVALID_ARG_TYPE",function(r,e){return`The "${r}" argument must be of type number. Received type ${typeof e}`},TypeError);Cc("ERR_OUT_OF_RANGE",function(r,e,t){let i=`The value of "${r}" is out of range.`,n=t;return Number.isInteger(t)&&Math.abs(t)>2**32?n=Ny(String(t)):typeof t=="bigint"&&(n=String(t),(t>BigInt(2)**BigInt(32)||t<-(BigInt(2)**BigInt(32)))&&(n=Ny(n)),n+="n"),i+=` It must be ${e}. Received ${n}`,i},RangeError);function Ny(r){let e="",t=r.length,i=r[0]==="-"?1:0;for(;t>=i+4;t-=3)e=`_${r.slice(t-3,t)}${e}`;return`${r.slice(0,t)}${e}`}function CE(r,e,t){Jr(e,"offset"),(r[e]===void 0||r[e+t]===void 0)&&Jn(e,r.length-(t+1))}function Ky(r,e,t,i,n,s){if(r>t||r<e){let a=typeof e=="bigint"?"n":"",d;throw s>3?e===0||e===BigInt(0)?d=`>= 0${a} and < 2${a} ** ${(s+1)*8}${a}`:d=`>= -(2${a} ** ${(s+1)*8-1}${a}) and < 2 ** ${(s+1)*8-1}${a}`:d=`>= ${e}${a} and <= ${t}${a}`,new Vr.ERR_OUT_OF_RANGE("value",d,r)}CE(i,n,s)}function Jr(r,e){if(typeof r!="number")throw new Vr.ERR_INVALID_ARG_TYPE(e,"number",r)}function Jn(r,e,t){throw Math.floor(r)!==r?(Jr(r,t),new Vr.ERR_OUT_OF_RANGE(t||"offset","an integer",r)):e<0?new Vr.ERR_BUFFER_OUT_OF_BOUNDS:new Vr.ERR_OUT_OF_RANGE(t||"offset",`>= ${t?1:0} and <= ${e}`,r)}var IE=/[^+/0-9A-Za-z-_]/g;function AE(r){if(r=r.split("=")[0],r=r.trim().replace(IE,""),r.length<2)return"";for(;r.length%4!==0;)r=r+"=";return r}function Sc(r,e){e=e||1/0;let t,i=r.length,n=null,s=[];for(let a=0;a<i;++a){if(t=r.charCodeAt(a),t>55295&&t<57344){if(!n){if(t>56319){(e-=3)>-1&&s.push(239,191,189);continue}else if(a+1===i){(e-=3)>-1&&s.push(239,191,189);continue}n=t;continue}if(t<56320){(e-=3)>-1&&s.push(239,191,189),n=t;continue}t=(n-55296<<10|t-56320)+65536}else n&&(e-=3)>-1&&s.push(239,191,189);if(n=null,t<128){if((e-=1)<0)break;s.push(t)}else if(t<2048){if((e-=2)<0)break;s.push(t>>6|192,t&63|128)}else if(t<65536){if((e-=3)<0)break;s.push(t>>12|224,t>>6&63|128,t&63|128)}else if(t<1114112){if((e-=4)<0)break;s.push(t>>18|240,t>>12&63|128,t>>6&63|128,t&63|128)}else throw new Error("Invalid code point")}return s}function EE(r){let e=[];for(let t=0;t<r.length;++t)e.push(r.charCodeAt(t)&255);return e}function TE(r,e){let t,i,n,s=[];for(let a=0;a<r.length&&!((e-=2)<0);++a)t=r.charCodeAt(a),i=t>>8,n=t%256,s.push(n),s.push(i);return s}function Xy(r){return bc.toByteArray(AE(r))}function id(r,e,t,i){let n;for(n=0;n<i&&!(n+t>=e.length||n>=r.length);++n)e[n+t]=r[n];return n}function tt(r,e){return r instanceof e||r!=null&&r.constructor!=null&&r.constructor.name!=null&&r.constructor.name===e.name}function Ic(r){return r!==r}var RE=function(){let r="0123456789abcdef",e=new Array(256);for(let t=0;t<16;++t){let i=t*16;for(let n=0;n<16;++n)e[i+n]=r[t]+r[n]}return e}();function wt(r){return typeof BigInt>"u"?FE:r}function FE(){throw new Error("BigInt not supported")}});var Zc=b((pN,eb)=>{var FT=Object.prototype.toString;eb.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 LT(e)?"generatorfunction":"function";if(OT(e))return"array";if(_T(e))return"buffer";if(NT(e))return"arguments";if(UT(e))return"date";if(BT(e))return"error";if(MT(e))return"regexp";switch(Qv(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(DT(e))return"generator";switch(t=FT.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 Qv(r){return typeof r.constructor=="function"?r.constructor.name:null}function OT(r){return Array.isArray?Array.isArray(r):r instanceof Array}function BT(r){return r instanceof Error||typeof r.message=="string"&&r.constructor&&typeof r.constructor.stackTraceLimit=="number"}function UT(r){return r instanceof Date?!0:typeof r.toDateString=="function"&&typeof r.getDate=="function"&&typeof r.setDate=="function"}function MT(r){return r instanceof RegExp?!0:typeof r.flags=="string"&&typeof r.ignoreCase=="boolean"&&typeof r.multiline=="boolean"&&typeof r.global=="boolean"}function LT(r,e){return Qv(r)==="GeneratorFunction"}function DT(r){return typeof r.throw=="function"&&typeof r.return=="function"&&typeof r.next=="function"}function NT(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 _T(r){return r.constructor&&typeof r.constructor.isBuffer=="function"?r.constructor.isBuffer(r):!1}});var ib=b((fN,rb)=>{"use strict";var tb=Symbol.prototype.valueOf,qT=Zc();function HT(r,e){switch(qT(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 zT(r);case"symbol":return VT(r);case"arraybuffer":return WT(r);case"float32array":case"float64array":case"int16array":case"int32array":case"int8array":case"uint16array":case"uint32array":case"uint8clampedarray":case"uint8array":return GT(r);case"regexp":return jT(r);case"error":return Object.create(r);default:return r}}function jT(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 WT(r){let e=new r.constructor(r.byteLength);return new Uint8Array(e).set(new Uint8Array(r)),e}function GT(r,e){return new r.constructor(r.buffer,r.byteOffset,r.length)}function zT(r){let e=r.length,t=Buffer.allocUnsafe?Buffer.allocUnsafe(e):Buffer.from(e);return r.copy(t),t}function VT(r){return tb?Object(tb.call(r)):{}}rb.exports=HT});var ob=b((gN,nb)=>{"use strict";nb.exports=function(e){return e!=null&&typeof e=="object"&&Array.isArray(e)===!1}});var db=b((hN,ab)=>{"use strict";var $T=ob();function sb(r){return $T(r)===!0&&Object.prototype.toString.call(r)==="[object Object]"}ab.exports=function(e){var t,i;return!(sb(e)===!1||(t=e.constructor,typeof t!="function")||(i=t.prototype,sb(i)===!1)||i.hasOwnProperty("isPrototypeOf")===!1)}});var ub=b((yN,lb)=>{"use strict";var JT=ib(),KT=Zc(),XT=db();function Yc(r,e){switch(KT(r)){case"object":return ZT(r,e);case"array":return YT(r,e);default:return JT(r)}}function ZT(r,e){if(typeof e=="function")return e(r);if(e||XT(r)){let t=new r.constructor;for(let i in r)t[i]=Yc(r[i],e);return t}return r}function YT(r,e){let t=new r.constructor(r.length);for(let i=0;i<r.length;i++)t[i]=Yc(r[i],e);return t}lb.exports=Yc});var zb=b((uo,hi)=>{var QT=200,lm="__lodash_hash_undefined__",Fd=1,Sb=2,wb=9007199254740991,xd="[object Arguments]",rm="[object Array]",eR="[object AsyncFunction]",xb="[object Boolean]",Cb="[object Date]",Ib="[object Error]",Ab="[object Function]",tR="[object GeneratorFunction]",Cd="[object Map]",Eb="[object Number]",rR="[object Null]",gi="[object Object]",cb="[object Promise]",iR="[object Proxy]",Tb="[object RegExp]",Id="[object Set]",Rb="[object String]",nR="[object Symbol]",oR="[object Undefined]",im="[object WeakMap]",Fb="[object ArrayBuffer]",Ad="[object DataView]",sR="[object Float32Array]",aR="[object Float64Array]",dR="[object Int8Array]",lR="[object Int16Array]",uR="[object Int32Array]",cR="[object Uint8Array]",mR="[object Uint8ClampedArray]",pR="[object Uint16Array]",fR="[object Uint32Array]",gR=/[\\^$.*+?()[\]{}|]/g,hR=/^\[object .+?Constructor\]$/,yR=/^(?:0|[1-9]\d*)$/,j={};j[sR]=j[aR]=j[dR]=j[lR]=j[uR]=j[cR]=j[mR]=j[pR]=j[fR]=!0;j[xd]=j[rm]=j[Fb]=j[xb]=j[Ad]=j[Cb]=j[Ib]=j[Ab]=j[Cd]=j[Eb]=j[gi]=j[Tb]=j[Id]=j[Rb]=j[im]=!1;var Ob=typeof global=="object"&&global&&global.Object===Object&&global,vR=typeof self=="object"&&self&&self.Object===Object&&self,ct=Ob||vR||Function("return this")(),Bb=typeof uo=="object"&&uo&&!uo.nodeType&&uo,mb=Bb&&typeof hi=="object"&&hi&&!hi.nodeType&&hi,Ub=mb&&mb.exports===Bb,Qc=Ub&&Ob.process,pb=function(){try{return Qc&&Qc.binding&&Qc.binding("util")}catch{}}(),fb=pb&&pb.isTypedArray;function bR(r,e){for(var t=-1,i=r==null?0:r.length,n=0,s=[];++t<i;){var a=r[t];e(a,t,r)&&(s[n++]=a)}return s}function PR(r,e){for(var t=-1,i=e.length,n=r.length;++t<i;)r[n+t]=e[t];return r}function kR(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 SR(r,e){for(var t=-1,i=Array(r);++t<r;)i[t]=e(t);return i}function wR(r){return function(e){return r(e)}}function xR(r,e){return r.has(e)}function CR(r,e){return r?.[e]}function IR(r){var e=-1,t=Array(r.size);return r.forEach(function(i,n){t[++e]=[n,i]}),t}function AR(r,e){return function(t){return r(e(t))}}function ER(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}var TR=Array.prototype,RR=Function.prototype,Od=Object.prototype,em=ct["__core-js_shared__"],Mb=RR.toString,rt=Od.hasOwnProperty,gb=function(){var r=/[^.]+$/.exec(em&&em.keys&&em.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}(),Lb=Od.toString,FR=RegExp("^"+Mb.call(rt).replace(gR,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),hb=Ub?ct.Buffer:void 0,Ed=ct.Symbol,yb=ct.Uint8Array,Db=Od.propertyIsEnumerable,OR=TR.splice,ur=Ed?Ed.toStringTag:void 0,vb=Object.getOwnPropertySymbols,BR=hb?hb.isBuffer:void 0,UR=AR(Object.keys,Object),nm=yi(ct,"DataView"),co=yi(ct,"Map"),om=yi(ct,"Promise"),sm=yi(ct,"Set"),am=yi(ct,"WeakMap"),mo=yi(Object,"create"),MR=pr(nm),LR=pr(co),DR=pr(om),NR=pr(sm),_R=pr(am),bb=Ed?Ed.prototype:void 0,tm=bb?bb.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 qR(){this.__data__=mo?mo(null):{},this.size=0}function HR(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}function jR(r){var e=this.__data__;if(mo){var t=e[r];return t===lm?void 0:t}return rt.call(e,r)?e[r]:void 0}function WR(r){var e=this.__data__;return mo?e[r]!==void 0:rt.call(e,r)}function GR(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=mo&&e===void 0?lm:e,this}cr.prototype.clear=qR;cr.prototype.delete=HR;cr.prototype.get=jR;cr.prototype.has=WR;cr.prototype.set=GR;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 zR(){this.__data__=[],this.size=0}function VR(r){var e=this.__data__,t=Bd(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():OR.call(e,t,1),--this.size,!0}function $R(r){var e=this.__data__,t=Bd(e,r);return t<0?void 0:e[t][1]}function JR(r){return Bd(this.__data__,r)>-1}function KR(r,e){var t=this.__data__,i=Bd(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}mt.prototype.clear=zR;mt.prototype.delete=VR;mt.prototype.get=$R;mt.prototype.has=JR;mt.prototype.set=KR;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 XR(){this.size=0,this.__data__={hash:new cr,map:new(co||mt),string:new cr}}function ZR(r){var e=Ud(this,r).delete(r);return this.size-=e?1:0,e}function YR(r){return Ud(this,r).get(r)}function QR(r){return Ud(this,r).has(r)}function eF(r,e){var t=Ud(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}mr.prototype.clear=XR;mr.prototype.delete=ZR;mr.prototype.get=YR;mr.prototype.has=QR;mr.prototype.set=eF;function Td(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new mr;++e<t;)this.add(r[e])}function tF(r){return this.__data__.set(r,lm),this}function rF(r){return this.__data__.has(r)}Td.prototype.add=Td.prototype.push=tF;Td.prototype.has=rF;function Ft(r){var e=this.__data__=new mt(r);this.size=e.size}function iF(){this.__data__=new mt,this.size=0}function nF(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}function oF(r){return this.__data__.get(r)}function sF(r){return this.__data__.has(r)}function aF(r,e){var t=this.__data__;if(t instanceof mt){var i=t.__data__;if(!co||i.length<QT-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}Ft.prototype.clear=iF;Ft.prototype.delete=nF;Ft.prototype.get=oF;Ft.prototype.has=sF;Ft.prototype.set=aF;function dF(r,e){var t=Rd(r),i=!t&&wF(r),n=!t&&!i&&dm(r),s=!t&&!i&&!n&&Gb(r),a=t||i||n||s,d=a?SR(r.length,String):[],p=d.length;for(var f in r)(e||rt.call(r,f))&&!(a&&(f=="length"||n&&(f=="offset"||f=="parent")||s&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||vF(f,p)))&&d.push(f);return d}function Bd(r,e){for(var t=r.length;t--;)if(qb(r[t][0],e))return t;return-1}function lF(r,e,t){var i=e(r);return Rd(r)?i:PR(i,t(r))}function fo(r){return r==null?r===void 0?oR:rR:ur&&ur in Object(r)?hF(r):SF(r)}function Pb(r){return po(r)&&fo(r)==xd}function Nb(r,e,t,i,n){return r===e?!0:r==null||e==null||!po(r)&&!po(e)?r!==r&&e!==e:uF(r,e,t,i,Nb,n)}function uF(r,e,t,i,n,s){var a=Rd(r),d=Rd(e),p=a?rm:Rt(r),f=d?rm:Rt(e);p=p==xd?gi:p,f=f==xd?gi:f;var g=p==gi,c=f==gi,h=p==f;if(h&&dm(r)){if(!dm(e))return!1;a=!0,g=!1}if(h&&!g)return s||(s=new Ft),a||Gb(r)?_b(r,e,t,i,n,s):fF(r,e,p,t,i,n,s);if(!(t&Fd)){var P=g&&rt.call(r,"__wrapped__"),w=c&&rt.call(e,"__wrapped__");if(P||w){var I=P?r.value():r,T=w?e.value():e;return s||(s=new Ft),n(I,T,t,i,s)}}return h?(s||(s=new Ft),gF(r,e,t,i,n,s)):!1}function cF(r){if(!Wb(r)||PF(r))return!1;var e=Hb(r)?FR:hR;return e.test(pr(r))}function mF(r){return po(r)&&jb(r.length)&&!!j[fo(r)]}function pF(r){if(!kF(r))return UR(r);var e=[];for(var t in Object(r))rt.call(r,t)&&t!="constructor"&&e.push(t);return e}function _b(r,e,t,i,n,s){var a=t&Fd,d=r.length,p=e.length;if(d!=p&&!(a&&p>d))return!1;var f=s.get(r);if(f&&s.get(e))return f==e;var g=-1,c=!0,h=t&Sb?new Td:void 0;for(s.set(r,e),s.set(e,r);++g<d;){var P=r[g],w=e[g];if(i)var I=a?i(w,P,g,e,r,s):i(P,w,g,r,e,s);if(I!==void 0){if(I)continue;c=!1;break}if(h){if(!kR(e,function(T,D){if(!xR(h,D)&&(P===T||n(P,T,t,i,s)))return h.push(D)})){c=!1;break}}else if(!(P===w||n(P,w,t,i,s))){c=!1;break}}return s.delete(r),s.delete(e),c}function fF(r,e,t,i,n,s,a){switch(t){case Ad:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case Fb:return!(r.byteLength!=e.byteLength||!s(new yb(r),new yb(e)));case xb:case Cb:case Eb:return qb(+r,+e);case Ib:return r.name==e.name&&r.message==e.message;case Tb:case Rb:return r==e+"";case Cd:var d=IR;case Id:var p=i&Fd;if(d||(d=ER),r.size!=e.size&&!p)return!1;var f=a.get(r);if(f)return f==e;i|=Sb,a.set(r,e);var g=_b(d(r),d(e),i,n,s,a);return a.delete(r),g;case nR:if(tm)return tm.call(r)==tm.call(e)}return!1}function gF(r,e,t,i,n,s){var a=t&Fd,d=kb(r),p=d.length,f=kb(e),g=f.length;if(p!=g&&!a)return!1;for(var c=p;c--;){var h=d[c];if(!(a?h in e:rt.call(e,h)))return!1}var P=s.get(r);if(P&&s.get(e))return P==e;var w=!0;s.set(r,e),s.set(e,r);for(var I=a;++c<p;){h=d[c];var T=r[h],D=e[h];if(i)var Ke=a?i(D,T,h,e,r,s):i(T,D,h,r,e,s);if(!(Ke===void 0?T===D||n(T,D,t,i,s):Ke)){w=!1;break}I||(I=h=="constructor")}if(w&&!I){var Cn=r.constructor,la=e.constructor;Cn!=la&&"constructor"in r&&"constructor"in e&&!(typeof Cn=="function"&&Cn instanceof Cn&&typeof la=="function"&&la instanceof la)&&(w=!1)}return s.delete(r),s.delete(e),w}function kb(r){return lF(r,IF,yF)}function Ud(r,e){var t=r.__data__;return bF(e)?t[typeof e=="string"?"string":"hash"]:t.map}function yi(r,e){var t=CR(r,e);return cF(t)?t:void 0}function hF(r){var e=rt.call(r,ur),t=r[ur];try{r[ur]=void 0;var i=!0}catch{}var n=Lb.call(r);return i&&(e?r[ur]=t:delete r[ur]),n}var yF=vb?function(r){return r==null?[]:(r=Object(r),bR(vb(r),function(e){return Db.call(r,e)}))}:AF,Rt=fo;(nm&&Rt(new nm(new ArrayBuffer(1)))!=Ad||co&&Rt(new co)!=Cd||om&&Rt(om.resolve())!=cb||sm&&Rt(new sm)!=Id||am&&Rt(new am)!=im)&&(Rt=function(r){var e=fo(r),t=e==gi?r.constructor:void 0,i=t?pr(t):"";if(i)switch(i){case MR:return Ad;case LR:return Cd;case DR:return cb;case NR:return Id;case _R:return im}return e});function vF(r,e){return e=e??wb,!!e&&(typeof r=="number"||yR.test(r))&&r>-1&&r%1==0&&r<e}function bF(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}function PF(r){return!!gb&&gb in r}function kF(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||Od;return r===t}function SF(r){return Lb.call(r)}function pr(r){if(r!=null){try{return Mb.call(r)}catch{}try{return r+""}catch{}}return""}function qb(r,e){return r===e||r!==r&&e!==e}var wF=Pb(function(){return arguments}())?Pb:function(r){return po(r)&&rt.call(r,"callee")&&!Db.call(r,"callee")},Rd=Array.isArray;function xF(r){return r!=null&&jb(r.length)&&!Hb(r)}var dm=BR||EF;function CF(r,e){return Nb(r,e)}function Hb(r){if(!Wb(r))return!1;var e=fo(r);return e==Ab||e==tR||e==eR||e==iR}function jb(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=wb}function Wb(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}function po(r){return r!=null&&typeof r=="object"}var Gb=fb?wR(fb):mF;function IF(r){return xF(r)?dF(r):pF(r)}function AF(){return[]}function EF(){return!1}hi.exports=CF});var a2=In(Ey(),1);function v(r,e){if(r==null)throw Error(e??"Expected nonnullish value.")}function jr(r,e){return v(r,e),r}function tr(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 kt(r){return r.startsWith(re.COMMENT)}function Qa(r){return r.startsWith(re.ACCOUNT)}function rr(r){return r.startsWith(re.LINK)}function Ty(r){return r.startsWith(re.MESSAGE)}function Ry(r){return r.startsWith(re.SUBREDDIT)}function Fy(r){return r.startsWith(re.AWARD)}function _A(r){tr(kt(r),`Expected comment id to start with ${re.COMMENT}, got ${r}}`)}function qA(r){tr(Qa(r),`Expected account id to start with ${re.ACCOUNT}, got ${r}}`)}function HA(r){tr(rr(r),`Expected link id to start with ${re.LINK}, got ${r}}`)}function jA(r){tr(Ty(r),`Expected message id to start with ${re.MESSAGE}, got ${r}}`)}function WA(r){tr(Ry(r),`Expected subreddit id to start with ${re.SUBREDDIT}, got ${r}}`)}function GA(r){tr(Fy(r),`Expected award id to start with ${re.AWARD}, got ${r}}`)}function Wr(r){return _A(r),r}function ge(r){return qA(r),r}function he(r){return HA(r),r}function zA(r){return jA(r),r}function Re(r){return WA(r),r}function VA(r){return GA(r),r}function Fe(r){if(kt(r))return Wr(r);if(Qa(r))return ge(r);if(rr(r))return he(r);if(Ty(r))return zA(r);if(Ry(r))return Re(r);if(Fy(r))return VA(r);throw new Error(`Expected thing id to start with ${Object.values(re).join(", ")} got ${r}}`)}function pc(r){return kt(r)}import*as x from"@devvit/protos";var ed=class{constructor(e){}};var fc=(t=>(t.Installation="installation",t.App="app",t))(fc||{});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)}$A(r)}function $A(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 MU=["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","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 NE,GetFieldsResponse as _E}from"@devvit/protos";import{FormField as Gr,FormFieldType as Ve}from"@devvit/protos";function at(r){return r.map(e=>{switch(e.type){case"string":return JA(e);case"paragraph":return KA(e);case"number":return XA(e);case"select":return ZA(e);case"boolean":return YA(e);case"group":return QA(e);default:throw new Error("Unknown field type.")}})}function JA(r){return Gr.fromPartial({defaultValue:{fieldType:Ve.STRING,stringValue:r.defaultValue},disabled:r.disabled,fieldConfig:{stringConfig:{placeholder:r.placeholder}},fieldId:r.name,fieldType:Ve.STRING,helpText:r.helpText,label:r.label,required:r.required,isSecret:r.isSecret})}function KA(r){return Gr.fromPartial({defaultValue:{fieldType:Ve.PARAGRAPH,stringValue:r.defaultValue},disabled:r.disabled,fieldConfig:{paragraphConfig:{lineHeight:r.lineHeight,placeholder:r.placeholder}},fieldId:r.name,fieldType:Ve.PARAGRAPH,helpText:r.helpText,label:r.label,required:r.required})}function XA(r){return Gr.fromPartial({defaultValue:{fieldType:Ve.NUMBER,numberValue:r.defaultValue},disabled:r.disabled,fieldConfig:{numberConfig:{}},fieldId:r.name,fieldType:Ve.NUMBER,helpText:r.helpText,label:r.label,required:r.required})}function ZA(r){return Gr.fromPartial({defaultValue:{fieldType:Ve.SELECTION,selectionValue:{values:r.defaultValue}},disabled:r.disabled,fieldConfig:{selectionConfig:{choices:r.options,multiSelect:r.multiSelect}},fieldId:r.name,fieldType:Ve.SELECTION,helpText:r.helpText,label:r.label,required:r.required})}function YA(r){return Gr.fromPartial({defaultValue:{fieldType:Ve.BOOLEAN,boolValue:r.defaultValue},disabled:r.disabled,fieldId:r.name,fieldType:Ve.BOOLEAN,helpText:r.helpText,label:r.label})}function QA(r){return Gr.fromPartial({fieldType:Ve.GROUP,fieldConfig:{groupConfig:{fields:at(r.fields)}},label:r.label,helpText:r.helpText})}function U(r,e){m.prototype[r]=e}import{ValidateFormResponse as DE}from"@devvit/protos";import{RealtimeSubscriptionStatus as rv}from"@devvit/protos";var zr;(function(r){function e(s,a){return s.length<=a?s:`${s.slice(0,a-1)}\u2026`}r.ellipsize=e;function t(s){return s[0]==null?s:`${s[0].toLocaleUpperCase()}${s.slice(1)}`}r.capitalize=t;function i(s){return s==null||/^\s*$/.test(s)}r.isBlank=i;function n(s){return s instanceof Error?`${s.stack||s.message||s.name}`:String(s)}r.caughtToString=n})(zr||(zr={}));function gc(r){if(r==null||typeof r!="object")return r;for(let e of Object.values(r))gc(e);return Object.freeze(r)}var dM=gc(new Set([Boolean,String,Date,ArrayBuffer,DataView,Array,Object,Map,Set,Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array,Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].map(r=>r.prototype)));var Yy=In(Zy(),1),fM=globalThis.Buffer??Yy.Buffer;function Qy(r,e){if(e.hostname==null)throw Error("Unbound namespace.");return`${r}.${e.hostname}`.toLocaleLowerCase()}function ev(r,e){let t=`.${e}`;return r===e||r.length>t.length&&r.endsWith(t)}var Ac;(function(r){function e(d){return d.split(".")[0]}r.getChild=e;function t(d){return jr(d.split(".").at(-1))}r.getRoot=t;function i(d){return{hostname:Qy("plugins",d)}}r.getPluginNamespace=i;function n(d){return{hostname:Qy("system",d)}}r.getSystemNamespace=n;function s(d,p){return ev(d,jr(i(p).hostname))}r.isPlugin=s;function a(d,p){return ev(d,jr(n(p).hostname))}r.isSystem=a})(Ac||(Ac={}));var N=Object.freeze({Actor:"devvit-actor",App:"devvit-app",AppUser:"devvit-app-user",Caller:"devvit-caller",CallerPortID:"devvit-caller-port-id",Canary:"devvit-canary",DebugRenderXML:"devvit-debug-render-xml",Installation:"devvit-installation",ModPermissions:"devvit-mod-permissions",R2Auth:"devvit-sec-authorization",R2Host:"devvit-r2-host",RemoteHostname:"devvit-remote-hostname",StreamID:"devvit-stream-id",Subreddit:"devvit-subreddit",TraceID:"devvit-trace-id",User:"devvit-user",Version:"devvit-version",SettingsUri:"devvit-sec-settings-uri",GQLHost:"devvit-gql-host",AppViewerAuthToken:"devvit-app-viewer-authorization"});var bM=Object.freeze([N.App,N.AppUser,N.Caller,N.Canary,N.DebugRenderXML,N.Installation,N.ModPermissions,N.StreamID,N.Subreddit,N.TraceID,N.User]);function ye(r,e){return e?.[r]?.values[0]}function OE(r){let e=jr(r.method.split("/").at(-1));return e[0].toLocaleLowerCase()+e.slice(1)}var tv;(function(r){function e(t){let i=t.request?`${t.src} \u2192 ${t.dst}`:`${t.dst} \u2190 ${t.src}`,n=t.streamId.split("-")[0],s=zr.capitalize(OE(t));return`${i}@${n}/${s}`}r.toLogString=e})(tv||(tv={}));function iv(r){function e(t){let i=r.currentHookIndex,n=r.getCurrentComponentState(),s=r.getPreviousComponentState(),a=ye(N.App,r.metadata);v(a,"useChannel - app is missing from Context");let d=ye(N.Installation,r.metadata);v(d,"useChannel - installation is missing from Context");async function p(I){let T=n[i].channel;if(n[i].active)if(n[i].connected)await r.realtime.send(T,I);else throw Error(`Failed to send to channel '${T}'; it is active but not yet connected`);else throw Error(`Cannot send a message over inactive channel: ${T}`)}function f(){if(!n[i].active){let I=n[i].channel;n[i].active=!0,r.addRealtimeChannel(I)}}function g(){if(n[i].active){let I=n[i].channel;n[i].active=!1,r.removeRealtimeChannel(I)}}function c(I){return async()=>{let T;switch(I.status){case rv.REALTIME_SUBSCRIBED:n[i].connected=!0,T=t.onSubscribed?.();break;case rv.REALTIME_UNSUBSCRIBED:n[i].connected=!1,T=t.onUnsubscribed?.();break;default:T=t.onMessage(I.event?.data??{});break}await T}}let h={channel:`${a}:${d}:${t.name}`,active:!1,connected:!1,preventCallback:!1,type:St.CHANNEL};i in n?h=n[i]:i in s&&(h=s[i]);let P=r.realtimeEvent;r.isInitialRender?h.active=!1:P&&h.active&&P.event.channel===h.channel&&(h.preventCallback||r.runHook(c(P)),r.rerenderIn(0)),n[i]=h,r.currentHookIndex++;let w=0;return h.active&&h.connected?w=2:h.active&&!h.connected?w=1:!h.active&&h.connected?w=3:!h.active&&!h.connected&&(w=4),{subscribe:f,unsubscribe:g,send:p,status:w}}return e}import{FormFieldType as Kn}from"@devvit/protos";function Ec(r){switch(r.fieldType){case Kn.STRING:return r.stringValue;case Kn.PARAGRAPH:return r.stringValue;case Kn.NUMBER:return r.numberValue;case Kn.BOOLEAN:return r.boolValue;case Kn.SELECTION:return r.selectionValue?.values??[];default:return}}function xt(r){return Object.keys(r).reduce((e,t)=>(e[t]=Ec(r[t]),e),{})}function nv(r){function e(t,i){let n=r.currentHookIndex,s=r.getCurrentComponentKey(),a=r.getCurrentComponentState(),d=r.getPreviousComponentState(),p=`form.hook.${s}.${n}`,f={formKey:p,preventSubmit:!1,type:St.FORM};n in a?f=a[n]:n in d&&(f=d[n]),a[n]=f,r.forms.set(p,t);let g=r.formSubmittedEvent;return g&&!f.preventSubmit&&g.formId===p&&r.runHook(async()=>{let c=i(xt(g.results));c&&c instanceof Promise&&await c,r.rerenderIn(0)}),a[n].preventSubmit=!1,r.currentHookIndex++,p}return e}function ov(r){function e(t,i){let n=r.currentHookIndex,s=r.getCurrentComponentState(),a=r.getPreviousComponentState(),d=100,p=Math.max(d,i),f={lastRun:void 0,running:!1,preventCallback:!1,type:St.INTERVAL};n in s?f=s[n]:n in a&&(f=a[n]);function g(){i<d&&console.error(`useInterval delay must be at least ${d}ms. Your interval of ${i}ms was automatically extended.`);for(let[h,P]of Object.entries(s))if(h!==n.toString()&&P?.type===St.INTERVAL&&P?.running)throw new Error("Only one useInterval hook may be running at a time");s[n]={running:!0,lastRun:Date.now(),preventCallback:!1,type:St.INTERVAL},r.rerenderIn(p)}function c(){s[n].running=!1,s[n].lastRun=void 0,s[n].preventCallback=!1}return r.isEffectRender&&f.running&&(f.preventCallback||(f.lastRun===void 0||f.lastRun+p<Date.now())&&r.runHook(async()=>{let h=t();h&&h instanceof Promise&&await h,f.lastRun=Date.now()}),r.rerenderIn(p)),f.preventCallback=!1,s[n]=f,r.currentHookIndex++,{start:g,stop:c}}return e}function sv(r){function e(t){let i=r.currentHookIndex,n=r.getCurrentComponentState(),s=r.getPreviousComponentState();if(i in n)return r.currentHookIndex++,[n[i],a];if(r.isInitialRender||!(i in s)){let d=t instanceof Function?t():t;if(d instanceof Promise)throw(async()=>{n[i]=await d,r.currentHookIndex=0})();n[i]=d}else n[i]=s[i];function a(d){if(r.isRendering)throw new Error("Cannot call setState while rendering.");n[i]=d instanceof Function?d(n[i]):d}return r.currentHookIndex++,[n[i],a]}return e}var Xr,Zr,nd,av,od,dv,Yr=class{constructor(e,t){u(this,nd);u(this,od);u(this,Xr,void 0);u(this,Zr,void 0);l(this,Xr,e),l(this,Zr,t)}async getURL(e){return typeof e=="string"?k(this,nd,av).call(this,e):k(this,od,dv).call(this,e)}};Xr=new WeakMap,Zr=new WeakMap,nd=new WeakSet,av=async function(e){let t=globalThis?.devvit?.config?.assets?.[e];if(t)return t;let i=await o(this,Zr).call(this).GetAssetURL({path:e},o(this,Xr));if(!i.found)throw new Error(`Could not load the URL for asset ${e}`);return i.url},od=new WeakSet,dv=async function(e){let t={},i=[],n=globalThis?.devvit?.config?.assets;if(n)for(let a of e)n[a]?t[a]=n[a]:i.push(a);else i=e;if(i.length===0)return t;let s=await o(this,Zr).call(this).GetAssetURLs({paths:i},o(this,Xr));i=[];for(let[a,d]of Object.entries(s.urls))d.found?t[a]=d.paths[0]:i.push(a);if(i.length>0)throw new Error(`The following assets were missing from the assets list: ${i.join(", ")}`);return t};var Ct,Qr=class{constructor(e){u(this,Ct,void 0);l(this,Ct,e)}async get(e){let{messages:t}=await m.kvStorePlugin.Get({keys:[e]},o(this,Ct));try{if(t[e])return JSON.parse(t[e])}catch{return}}async put(e,t){let i={};i[e]=JSON.stringify(t),await m.kvStorePlugin.Put({messages:i},o(this,Ct))}async delete(e){await m.kvStorePlugin.Del({keys:[e]},o(this,Ct))}async list(){let{keys:e}=await m.kvStorePlugin.List({filter:"*"},o(this,Ct));return e}};Ct=new WeakMap;var Xn,ei=class{constructor(e){u(this,Xn,void 0);l(this,Xn,e)}async upload(e){let t=await m.mediaPlugin.Upload(e,o(this,Xn));if(!t.mediaId)throw new Error("unable to get mediaId via uploads");return Promise.resolve({mediaId:t.mediaId,mediaUrl:t.mediaUrl})}};Xn=new WeakMap;var Zn,ti=class{constructor(e){u(this,Zn,void 0);l(this,Zn,e)}async add(e){await m.modLogPlugin.Add(e,o(this,Zn))}};Zn=new WeakMap;var S,Yn,ii=class{constructor(e){u(this,S,void 0);u(this,Yn,void 0);l(this,S,e),l(this,Yn,new ad(e))}get modMail(){return o(this,Yn)}getSubredditById(e){return ve.getById(Fe(e),o(this,S))}getSubredditByName(e){return ve.getByName(e,o(this,S))}addSubredditRemovalReason(e,t){return ve.addRemovalReason(e,t.title,t.message,o(this,S))}getSubredditRemovalReasons(e){return ve.getRemovalReasons(e,o(this,S))}getCurrentSubreddit(){return ve.getFromMetadata(o(this,S))}getPostById(e){return $.getById(Fe(e),o(this,S))}submitPost(e){return $.submit(e,o(this,S))}crosspost(e){return $.crosspost(e,o(this,S))}getUserById(e){return C.getById(Fe(e),o(this,S))}getCollectionById(e){return ri.getCollectionById({collectionId:e},o(this,S))}createCollection(e){return ri.create(e,o(this,S))}getCollectionsForSubreddit(e){return ri.getCollectionsForSubreddit({subredditId:e},o(this,S))}getUserByUsername(e){return C.getByUsername(e,o(this,S))}getCurrentUser(){return C.getFromMetadata(N.User,o(this,S))}getAppUser(){return C.getFromMetadata(N.AppUser,o(this,S))}getSnoovatarUrl(e){return C.getSnoovatarUrl(e,o(this,S))}getCommentById(e){return Y.getById(Fe(e),o(this,S))}getComments(e){return Y.getComments(e,o(this,S))}getCommentsByUser(e){return Y.getCommentsByUser(e,o(this,S))}submitComment(e){return Y.submit({...e,id:Fe(e.id)},o(this,S))}getControversialPosts(e){return $.getControversialPosts(e,o(this,S))}getTopPosts(e){return $.getTopPosts(e,o(this,S))}getHotPosts(e){return $.getHotPosts(e,o(this,S))}getNewPosts(e){return $.getNewPosts(e,o(this,S))}getRisingPosts(e){return $.getRisingPosts(e,o(this,S))}getPostsByUser(e){return $.getPostsByUser(e,o(this,S))}getCommentsAndPostsByUser(e){return C.getOverview(e,o(this,S))}getModerationLog(e){return sd(e,o(this,S))}getApprovedUsers(e){return C.getSubredditUsersByType({type:"contributors",...e},o(this,S))}approveUser(e,t){return C.createRelationship({username:e,subredditName:t,type:"contributor"},o(this,S))}removeUser(e,t){return C.removeRelationship({username:e,subredditName:t,type:"contributor"},o(this,S))}getWikiContributors(e){return C.getSubredditUsersByType({type:"wikicontributors",...e},o(this,S))}addWikiContributor(e,t){return C.createRelationship({username:e,subredditName:t,type:"wikicontributor"},o(this,S))}removeWikiContributor(e,t){return C.removeRelationship({username:e,subredditName:t,type:"wikicontributor"},o(this,S))}getBannedUsers(e){return C.getSubredditUsersByType({type:"banned",...e},o(this,S))}banUser(e){return C.createRelationship({username:e.username,subredditName:e.subredditName,type:"banned",banReason:e.reason,banMessage:e.message,note:e.note,duration:e.duration},o(this,S))}unbanUser(e,t){return C.removeRelationship({username:e,subredditName:t,type:"banned"},o(this,S))}getBannedWikiContributors(e){return C.getSubredditUsersByType({type:"wikibanned",...e},o(this,S))}banWikiContributor(e){return C.createRelationship({...e,type:"wikibanned"},o(this,S))}unbanWikiContributor(e,t){return C.removeRelationship({username:e,subredditName:t,type:"wikibanned"},o(this,S))}getModerators(e){return C.getSubredditUsersByType({type:"moderators",...e},o(this,S))}inviteModerator(e){return C.createRelationship({type:"moderator_invite",subredditName:e.subredditName,username:e.subredditName,permissions:e.permissions??[]},o(this,S))}revokeModeratorInvite(e,t){return C.removeRelationship({username:e,subredditName:t,type:"moderator_invite"},o(this,S))}removeModerator(e,t){return C.removeRelationship({type:"moderator",subredditName:t,username:e},o(this,S))}setModeratorPermissions(e,t,i){return C.setModeratorPermissions(e,t,i,o(this,S))}getMutedUsers(e){return C.getSubredditUsersByType({type:"muted",...e},o(this,S))}muteUser(e){return C.createRelationship({...e,type:"muted"},o(this,S))}unmuteUser(e,t){return C.removeRelationship({username:e,subredditName:t,type:"muted"},o(this,S))}getModNotes(e){return Be.get(e,o(this,S))}deleteModNote(e){return Be.delete(e,o(this,S))}addModNote(e){let t={...e,redditId:Fe(e.redditId)};return Be.add(t,o(this,S))}addRemovalNote(e){return Be.addRemovalNote(e,o(this,S))}async sendPrivateMessage(e){return sr.send(e,o(this,S))}async sendPrivateMessageAsSubreddit(e){return sr.sendAsSubreddit(e,o(this,S))}async approve(e){if(kt(e))return Y.approve(e,o(this,S));if(rr(e))return $.approve(e,o(this,S));throw new Error("id must start with either t1_ or t3_")}async remove(e,t){if(kt(e))return Y.remove(e,t,o(this,S));if(rr(e))return $.remove(e,t,o(this,S));throw new Error("id must start with either t1_ or t3_")}async getPostFlairTemplates(e){return de.getPostFlairTemplates(e,o(this,S))}async getUserFlairTemplates(e){return de.getUserFlairTemplates(e,o(this,S))}async createPostFlairTemplate(e){return de.createPostFlairTemplate(e,o(this,S))}async createUserFlairTemplate(e){return de.createUserFlairTemplate(e,o(this,S))}async editFlairTemplate(e){return de.editFlairTemplate(e,o(this,S))}async deleteFlairTemplate(e,t){return de.deleteFlairTemplate(e,t,o(this,S))}async setUserFlair(e){return Ue.setUserFlair(e,o(this,S))}async removeUserFlair(e,t){return Ue.removeUserFlair(e,t,o(this,S))}async setPostFlair(e){return Ue.setPostFlair(e,o(this,S))}async removePostFlair(e,t){return Ue.removePostFlair(e,he(t),o(this,S))}async getWidgets(e){return ie.getWidgets(e,o(this,S))}async deleteWidget(e,t){return ie.delete(e,t,o(this,S))}async addWidget(e){return ie.add(e,o(this,S))}async reorderWidgets(e,t){return ie.reorder(e,t,o(this,S))}async getWikiPage(e,t){return be.getPage(e,t,o(this,S))}async getWikiPages(e){return be.getPages(e,o(this,S))}async createWikiPage(e){return be.createPage(e,o(this,S))}async updateWikiPage(e){return be.updatePage(e,o(this,S))}getWikiPageRevisions(e){return be.getPageRevisions(e,o(this,S))}async revertWikiPage(e,t,i){return be.revertPage(e,t,i,o(this,S))}async getWikiPageSettings(e,t){return be.getPageSettings(e,t,o(this,S))}async updateWikiPageSettings(e){return be.updatePageSettings(e,o(this,S))}async addEditorToWikiPage(e,t,i){return be.addEditor(e,t,i,o(this,S))}async removeEditorFromWikiPage(e,t,i){return be.removeEditor(e,t,i,o(this,S))}getMessages(e){return sr.getMessages(e,o(this,S))}markAllMessagesAsRead(){return sr.markAllAsRead(o(this,S))}report(e,t){return m.redditAPIPlugins.LinksAndComments.Report({reason:t.reason,thingId:e.id,srName:e.subredditName,usernames:e.authorName},o(this,S))}getModQueue(e){return ve.aboutLocation({...e,location:"modqueue"},o(this,S))}getReports(e){return ve.aboutLocation({...e,location:"reports"},o(this,S))}getSpam(e){return ve.aboutLocation({...e,location:"spam"},o(this,S))}getUnmoderated(e){return ve.aboutLocation({...e,location:"unmoderated"},o(this,S))}getEdited(e){return ve.aboutLocation({...e,location:"edited"},o(this,S))}};S=new WeakMap,Yn=new WeakMap;import{RedisKeyScope as Tc}from"@devvit/protos";var R,F,O,Rc=class{constructor(e,t,i){u(this,R,void 0);u(this,F,void 0);u(this,O,void 0);l(this,R,e),l(this,F,t),l(this,O,i)}async get(e){return await o(this,R).Get({key:e,transactionId:o(this,F)},o(this,O)),this}async multi(){await o(this,R).Multi(o(this,F),o(this,O))}async set(e,t,i){let n;return i?.expiration&&(n=Math.floor((i.expiration.getTime()-Date.now())/1e3),n<1&&(n=1)),await o(this,R).Set({key:e,value:t,nx:i?.nx===!0,xx:i?.xx===!0,expiration:n||0,transactionId:o(this,F)},o(this,O)),this}async del(...e){return await o(this,R).Del({keys:e,transactionId:o(this,F)},o(this,O)),this}async type(e){return await o(this,R).Type({key:e,transactionId:o(this,F)},o(this,O)),this}async exec(){let e=await o(this,R).Exec(o(this,F),o(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 o(this,R).Discard(o(this,F),o(this,O))}async watch(...e){return await o(this,R).Watch({keys:e,transactionId:o(this,F)},o(this,O)),this}async unwatch(){return await o(this,R).Unwatch(o(this,F),o(this,O)),this}async getRange(e,t,i){return await o(this,R).GetRange({key:e,start:t,end:i,transactionId:o(this,F)},o(this,O)),this}async setRange(e,t,i){return await o(this,R).SetRange({key:e,offset:t,value:i,transactionId:o(this,F)},o(this,O)),this}async strlen(e){return await o(this,R).Strlen({key:e,transactionId:o(this,F)},o(this,O)),this}async mget(e){return await o(this,R).MGet({keys:e,transactionId:o(this,F)},o(this,O)),this}async mset(e){let t=Object.entries(e).map(([i,n])=>({key:i,value:n}));return await o(this,R).MSet({kv:t,transactionId:o(this,F)},o(this,O)),this}async incrBy(e,t){return await o(this,R).IncrBy({key:e,value:t,transactionId:o(this,F)},o(this,O)),this}async expire(e,t){return await o(this,R).Expire({key:e,seconds:t,transactionId:o(this,F)},o(this,O)),this}async expireTime(e){return await o(this,R).ExpireTime({key:e,transactionId:o(this,F)},o(this,O)),this}async zAdd(e,...t){return await o(this,R).ZAdd({key:e,members:t,transactionId:o(this,F)},o(this,O)),this}async zScore(e,t){return await o(this,R).ZScore({key:{key:e,transactionId:o(this,F)},member:t},o(this,O)),this}async zRank(e,t){return await o(this,R).ZRank({key:{key:e,transactionId:o(this,F)},member:t},o(this,O)),this}async zIncrBy(e,t,i){return await o(this,R).ZIncrBy({key:e,member:t,value:i,transactionId:o(this,F)},o(this,O)),this}async zScan(e,t,i,n){let s={key:e,cursor:t,pattern:i,count:n,transactionId:o(this,F)};return await o(this,R).ZScan(s,o(this,O)),this}async zCard(e){return await o(this,R).ZCard({key:e,transactionId:o(this,F)},o(this,O)),this}async zRange(e,t,i,n){let s={rev:!1,byLex:!1,byScore:!1,offset:0,count:1e3};return n?.reverse&&(s.rev=n.reverse),n?.by==="lex"?s.byLex=!0:n?.by==="score"&&(s.byScore=!0),await o(this,R).ZRange({key:{key:e,transactionId:o(this,F)},start:t+"",stop:i+"",...s},o(this,O)),this}async zRem(e,t){return await o(this,R).ZRem({key:{key:e,transactionId:o(this,F)},members:t},o(this,O)),this}async zRemRangeByLex(e,t,i){return await o(this,R).ZRemRangeByLex({key:{key:e,transactionId:o(this,F)},min:t,max:i},o(this,O)),this}async zRemRangeByRank(e,t,i){return await o(this,R).ZRemRangeByRank({key:{key:e,transactionId:o(this,F)},start:t,stop:i},o(this,O)),this}async zRemRangeByScore(e,t,i){return await o(this,R).ZRemRangeByScore({key:{key:e,transactionId:o(this,F)},min:t,max:i},o(this,O)),this}async hgetall(e){return await o(this,R).HGetAll({key:e,transactionId:o(this,F)},o(this,O)),this}async hget(e,t){return await o(this,R).HGet({key:e,field:t,transactionId:o(this,F)},o(this,O)),this}async hset(e,t){let i=Object.entries(t).map(([n,s])=>({field:n,value:s}));return await o(this,R).HSet({key:e,fv:i,transactionId:o(this,F)},o(this,O)),this}async hincrby(e,t,i){return await o(this,R).HIncrBy({key:e,field:t,value:i,transactionId:o(this,F)},o(this,O)),this}async hdel(e,t){return await o(this,R).HDel({key:e,fields:t,transactionId:o(this,F)},o(this,O)),this}async hscan(e,t,i,n){let s={key:e,cursor:t,pattern:i,count:n,transactionId:o(this,F)};return await o(this,R).HScan(s,o(this,O)),this}async hkeys(e){return await o(this,R).HKeys({key:e,transactionId:o(this,F)},o(this,O)),this}};R=new WeakMap,F=new WeakMap,O=new WeakMap;var B,ni,Fc=class Fc{constructor(e,t=void 0,i=Tc.INSTALLATION){u(this,B,void 0);u(this,ni,void 0);l(this,B,e),l(this,ni,t),this.scope=i,this.global=i===Tc.INSTALLATION?new Fc(o(this,B),o(this,ni),Tc.GLOBAL):this}get storage(){return o(this,ni)||m.redisPlugin}async watch(...e){let t=await this.storage.Watch({keys:e},o(this,B));return new Rc(this.storage,t,o(this,B))}async get(e){let t=await this.storage.Get({key:e,scope:this.scope},o(this,B));return t!==null?t.value??void 0:t}async set(e,t,i){let n;return i?.expiration&&(n=Math.floor((i.expiration.getTime()-Date.now())/1e3),n<1&&(n=1)),(await this.storage.Set({key:e,value:t,nx:i?.nx===!0&&!i.xx,xx:i?.xx===!0&&!i.nx,expiration:n||0,scope:this.scope},o(this,B))).value}async del(...e){await this.storage.Del({keys:e,scope:this.scope},o(this,B))}async incrBy(e,t){return(await this.storage.IncrBy({key:e,value:t,scope:this.scope},o(this,B))).value}async getRange(e,t,i){let n=await this.storage.GetRange({key:e,start:t,end:i,scope:this.scope},o(this,B));return n!==null?n.value:n}async setRange(e,t,i){return(await this.storage.SetRange({key:e,offset:t,value:i,scope:this.scope},o(this,B))).value}async strlen(e){return(await this.storage.Strlen({key:e,scope:this.scope},o(this,B))).value}async expire(e,t){await this.storage.Expire({key:e,seconds:t,scope:this.scope},o(this,B))}async expireTime(e){return(await this.storage.ExpireTime({key:e,scope:this.scope},o(this,B))).value}async zAdd(e,...t){return(await this.storage.ZAdd({key:e,members:t,scope:this.scope},o(this,B))).value}async zRange(e,t,i,n){let s={rev:!1,byLex:!1,byScore:!1,offset:0,count:1e3};return n?.reverse&&(s.rev=n.reverse),n?.by==="lex"?s.byLex=!0:n?.by==="score"?s.byScore=!0:(s.offset=0,s.count=0),(await this.storage.ZRange({key:{key:e},start:t+"",stop:i+"",...s,scope:this.scope},o(this,B))).members}async zRem(e,t){return(await this.storage.ZRem({key:{key:e},members:t,scope:this.scope},o(this,B))).value}async zRemRangeByLex(e,t,i){return(await this.storage.ZRemRangeByLex({key:{key:e},min:t,max:i,scope:this.scope},o(this,B))).value}async zRemRangeByRank(e,t,i){return(await this.storage.ZRemRangeByRank({key:{key:e},start:t,stop:i,scope:this.scope},o(this,B))).value}async zRemRangeByScore(e,t,i){return(await this.storage.ZRemRangeByScore({key:{key:e},min:t,max:i,scope:this.scope},o(this,B))).value}async zScore(e,t){let i=await this.storage.ZScore({key:{key:e},member:t,scope:this.scope},o(this,B));return i!==null?i.value:i}async zRank(e,t){let i=await this.storage.ZRank({key:{key:e},member:t,scope:this.scope},o(this,B));return i!==null?i.value:i}async zIncrBy(e,t,i){let n=await this.storage.ZIncrBy({key:e,member:t,value:i,scope:this.scope},o(this,B));return n!==null?n.value:n}async mget(e){let t=await this.storage.MGet({keys:e,scope:this.scope},o(this,B));return t!==null?t.values.map(i=>i||null):t}async mset(e){let t=Object.entries(e).map(([i,n])=>({key:i,value:n}));await this.storage.MSet({kv:t,scope:this.scope},o(this,B))}async zCard(e){let t=await this.storage.ZCard({key:e,scope:this.scope},o(this,B));return t!==null?t.value:t}async zScan(e,t,i,n){let s={key:e,cursor:t,pattern:i,count:n,scope:this.scope};return await this.storage.ZScan(s,o(this,B))}async type(e){let t=await this.storage.Type({key:e,scope:this.scope},o(this,B));return t!==null?t.value:t}async hget(e,t){let i=await this.storage.HGet({key:e,field:t,scope:this.scope},o(this,B));return i!==null?i.value??void 0:i}async hset(e,t){let i=Object.entries(t).map(([s,a])=>({field:s,value:a}));return(await this.storage.HSet({key:e,fv:i,scope:this.scope},o(this,B))).value}async hgetall(e){let t=await this.storage.HGetAll({key:e,scope:this.scope},o(this,B));return t!==null?t.fieldValues:t}async hdel(e,t){return(await this.storage.HDel({key:e,fields:t,scope:this.scope},o(this,B))).value}async hscan(e,t,i,n){let s={key:e,cursor:t,pattern:i,count:n,scope:this.scope};return await this.storage.HScan(s,o(this,B))}async hkeys(e){let t=await this.storage.HKeys({key:e,scope:this.scope},o(this,B));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},o(this,B))).value}};B=new WeakMap,ni=new WeakMap;var oi=Fc;var ar,si=class{constructor(e){u(this,ar,void 0);l(this,ar,e)}async runJob(e){return(await m.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},o(this,ar))).id}async cancelJob(e){await m.schedulerPlugin.Cancel({id:e},o(this,ar))}async listJobs(){return(await m.schedulerPlugin.List({after:new Date(0),before:new Date(Date.now()+31536e7)},o(this,ar))).actions.map(t=>(v(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 Qn,ai=class{constructor(e){u(this,Qn,void 0);l(this,Qn,e)}async get(e){return(await this.getAll())[e]}async getAll(){let t=await m.settingsPlugin.GetSettings({},o(this,Qn));if(!t.installationSettings)throw new Error("Could not get installation settings");if(!t.appSettings)throw new Error("Could not get app settings");return{...uv(t.installationSettings.settings,m.installationSettings),...uv(t.appSettings.settings,m.appSettings)}}};Qn=new WeakMap;function uv(r,e){let t=Object.keys(r).reduce((i,n)=>(i[n]=Ec(r[n]),i),{});return e&&cv(t,e),t}function cv(r,e){for(let t of e)t.type==="group"?cv(r,t.fields):!(t.name in r)&&"defaultValue"in t&&(r[t.name]=t.defaultValue)}import{EffectType as Oc,Form as BE,ToastAppearance as mv}from"@devvit/protos";var dr,di,dd=class{constructor(e){u(this,dr,[]);u(this,di,void 0);l(this,di,e)}showForm(e,t){let i=m.formDefinitions.get(e);if(!i&&o(this,di)){let a=o(this,di).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 n=i.form instanceof Function?i.form(t??{}):i.form,s=BE.fromPartial({id:e,title:n.title,acceptLabel:n.acceptLabel,cancelLabel:n.cancelLabel,shortDescription:n.description});ir(n.fields),s.fields=at(n.fields),o(this,dr).push({type:Oc.EFFECT_SHOW_FORM,showForm:{form:s}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?mv.SUCCESS:mv.NEUTRAL}:t={text:e},o(this,dr).push({type:Oc.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(),o(this,dr).push({type:Oc.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}get __effects(){return o(this,dr)}};dr=new WeakMap,di=new WeakMap;var Lc={now(){return new Date}};function pv(r){return`__autocache__${r}`}function fv(r){return`__lock__${r}`}var UE=300,ME=1e3,ld=5e3,Bc=3,gv=.1,hv=1e3,LE=3e4;function yv(r){if(r.error)throw new Error(r.error);return r.value}var It,At,Me,li,cd,vv,md,bv,pd,Pv,eo,Uc,fd,kv,gd,Sv,to,Mc,hd,wv,ud=class{constructor(e,t,i=Lc){u(this,cd);u(this,md);u(this,pd);u(this,eo);u(this,fd);u(this,gd);u(this,to);u(this,hd);u(this,It,void 0);u(this,At,{});u(this,Me,void 0);u(this,li,void 0);l(this,It,e),l(this,li,t),l(this,Me,i)}async cache(e,t){l(this,At,o(this,li).__cache=o(this,li).__cache??{}),k(this,hd,wv).call(this,t);let i=k(this,cd,vv).call(this,t.key);if(i!==void 0)return i;let n=await k(this,to,Mc).call(this,t.key),s=await k(this,md,bv).call(this,t,n,e);return yv(s)}};It=new WeakMap,At=new WeakMap,Me=new WeakMap,li=new WeakMap,cd=new WeakSet,vv=function(e){let t=o(this,At)[e];if(t){let i=o(this,Me).now().getTime(),n=t?.error&&t?.errorTime&&t.errorCount<Bc&&Math.random()<gv&&t.errorTime+hv<i;if(t?.expires&&t.expires<i&&t.checkedAt+hv<i||n){delete o(this,At)[e];return}else return yv(t)}},md=new WeakSet,bv=async function(e,t,i){let n=t?.expires,s=n?k(this,gd,Sv).call(this,n):1;return!t||t?.error&&t.errorCount<Bc&&gv>Math.random()||s>Math.random()?k(this,pd,Pv).call(this,e,t,i):t},pd=new WeakSet,Pv=async function(e,t,i){let n=fv(e.key),s=o(this,Me).now().getTime(),a=new Date(s+e.ttl/2);if(await o(this,It).set(n,"1",{expiration:a,nx:!0}))return k(this,fd,kv).call(this,e.key,t,i,e.ttl);if(t)return t;{let p=o(this,Me).now();return k(this,eo,Uc).call(this,p,e.key,e.ttl)}},eo=new WeakSet,Uc=async function(e,t,i){let n=Math.min(i,ME),s=await k(this,to,Mc).call(this,t);if(s)return s;if(o(this,Me).now().getTime()-e.getTime()>=n)throw new Error(`Cache request timed out trying to get data at key: ${t}`);return await new Promise(a=>setTimeout(a,UE)),k(this,eo,Uc).call(this,e,t,i)},fd=new WeakSet,kv=async function(e,t,i,n){let s=o(this,Me).now().getTime()+n;t=t??{value:null,expires:s,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=o(this,Me).now().getTime(),t.errorCount++}return o(this,At)[e]=t,await o(this,It).set(pv(e),JSON.stringify(t),{expiration:new Date(s+LE)}),t.error&&t.errorCount<Bc&&await o(this,It).del(fv(e)),t},gd=new WeakSet,Sv=function(e){let t=o(this,Me).now().getTime(),i=e-t;return i<0?1:i<1e3?.1:i<2e3?.01:i<3e3?.001:0},to=new WeakSet,Mc=async function(e){let t=await o(this,It).get(pv(e));if(t){let i=JSON.parse(t);return i.checkedAt=o(this,Me).now().getTime(),o(this,At)[e]=i,i}},hd=new WeakSet,wv=function(e){e.ttl<ld&&(console.warn(`Cache TTL cannot be less than ${ld} milliseconds! Updating ttl value of ${e.ttl} to ${ld}.`),e.ttl=ld)};function xv(r,e,t=Lc){let i=new ud(r,e,t);return i.cache.bind(i)}var ro,ui=class{constructor(e){u(this,ro,void 0);l(this,ro,e)}async send(e,t){await m.realtimePlugin.Send({channel:e,data:t},o(this,ro))}};ro=new WeakMap;function Le({metadata:r,ui:e,hooks:t,reconciler:i}){let n=new ti(r),s=new Qr(r),a=new oi(r),d=xv(a,i?i.state:{}),p=new ii(r),f=new si(r),g=new ai(r),c=e?new dd(i):void 0,h=new ei(r),P=new Yr(r,()=>m.assetsPlugin),w=new ui(r),I=t&&i?sv(i):void 0,T=t&&i?ov(i):void 0,D=t&&i?nv(i):void 0,Ke=t&&i?iv(i):void 0;return{modLog:n,kvStore:s,redis:a,reddit:p,scheduler:f,settings:g,media:h,assets:P,realtime:w,get useForm(){return D??(()=>{throw new Error("useForm() is unavailable")})},get cache(){return d??(()=>{throw new Error("cache() is unavailable")})},get useState(){return I??(()=>{throw new Error("useState() is unavailable")})},get useInterval(){return T??(()=>{throw new Error("useInterval() is unavailable")})},get useChannel(){return Ke??(()=>{throw new Error("useChannel() is unavailable")})},get ui(){if(!c)throw new Error("ui client is not available");return c}}}function le(r,e,t){let i=ye(N.Subreddit,r);v(i,"subreddit is missing from Context");let n=ye(N.AppUser,r);v(n,"appAccountId is missing from Context");let s=ye(N.User,r),a={metadata:r};return{appAccountId:n,subredditId:i,userId:s,postId:e,commentId:t,debug:a,toJSON(){return{appAccountId:n,subredditId:i,userId:s,postId:e,commentId:t,debug:a}}}}async function yd(r,e,t){if(!e)throw new Error("Settings were not defined.");let i=DE.fromPartial({success:!0,errors:{}}),n=xt(r.fieldValues),s=e.flatMap(a=>a.type==="group"?a.fields:a);return await Promise.all(s.map(async a=>{let d=a.name;if(d&&a.type!=="group"&&a.onValidate){let p=n[d],f=a.onValidate,g=Object.assign(Le({metadata:t}),le(t)),c=await f({value:p,isEditing:r.editing},g);c&&(i.success=!1,i.errors[d]=c)}})),i}async function qE(){if(!m.appSettings)throw new Error("App settings were not defined.");return _E.fromPartial({fields:{fields:at(m.appSettings)}})}async function HE(r,e){return yd(r,m.appSettings,e)}function Cv(r){r.provides(NE),U("GetAppSettingsFields",qE),U("ValidateAppForm",HE)}import{CustomPostDefinition as tT}from"@devvit/protos";import{BlockRenderEventType as Jc,BlockType as YE,EffectType as Wv}from"@devvit/protos";function ci(r){return r.__effects}var Iv="redd.it",jE="redditstatic.com",WE="redditmedia.com",GE="snoo.dev";var zE=[GE,Iv,jE,WE],VE=/^data:([a-zA-Z]+\/[a-zA-Z0-9.+_-]+)?(;charset=[a-zA-Z0-9._+-]+)?(;base64)?,(.*)/;function $E(r){return r.trim().replace(/[\r\n]+/g,"")}function JE(r){let e=VE.exec($E(r));if(e)return{mimeType:e[1],charset:e[2]?.split("=")[1],isBase64:!!e[3],data:e[4].trim()}}function KE(r){return["image/svg+xml"].includes(r)}function XE(r){let e=JE(r);return e?.mimeType?KE(e.mimeType):!1}function Av(r){try{if(XE(r))return!0;let t=(new URL(r,`https://i.${Iv}`)?.hostname).split(".").slice(-2).join(".");return!!t&&zE.includes(t)}catch{return!1}}function Ev(){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 ZE,BlockAnimationDirection as Lv,BlockAnimationLoopMode as Dv,BlockAnimationType as Nv,BlockAvatarBackground as _v,BlockAvatarFacing as qv,BlockAvatarSize as Et,BlockBorderWidth as bd,BlockButtonAppearance as Tt,BlockButtonSize as _c,BlockFullSnooSize as mi,BlockGap as Pd,BlockHorizontalAlignment as qc,BlockIconSize as kd,BlockImageResizeMode as io,BlockPadding as no,BlockRadius as oo,BlockSizeUnit as Hc,BlockSpacerShape as jc,BlockSpacerSize as Sd,BlockStackDirection as Wc,BlockTextOutline as Gc,BlockTextOverflow as zc,BlockTextSize as pi,BlockTextStyle as Vc,BlockTextWeight as Hv,BlockType as De,BlockVerticalAlignment as $c}from"@devvit/protos";var Dc={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 Tv={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"},Rv=r=>!!r.match(/^(#[0-9a-fA-F]{3,8}).*/),Fv=r=>r in Dc,Nc=r=>r in Tv,Ov=r=>!!r.match(/^rgba?\(.*/),Bv=r=>!!r.match(/^hsla?\(.*/),Uv=(r,e="light")=>{if(Nc(r))return vd(r);let i=Dc[r];return typeof i=="string"?i:i[e]},vd=r=>Tv[r]??r,Mv=r=>{let[e,t,i,n]=r.replace(/^rgba?\(|\s+|\)$/g,"").split(",");if(!e||!t||!i)return r;let a=[...[e,t,i].map(p=>parseFloat(p))];if(n){let p=parseFloat(n),f=Math.round(p*255);a.push(f)}return`#${a.map(p=>p.toString(16).padStart(2,"0")).join("")}`};var jv="data-",fi=class{async createBlocksElementOrThrow({type:e,props:t,children:i}){let n=await this.createBlocksElement({type:e,props:t,children:i});if(!n)throw new Error(`Could not create block of type ${e}`);return n}async 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 await 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 await 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 no.PADDING_NONE;case"xsmall":return no.PADDING_XSMALL;case"small":return no.PADDING_SMALL;case"medium":return no.PADDING_MEDIUM;case"large":return no.PADDING_LARGE}}makeBlockRadius(e){switch(e){case"none":return oo.RADIUS_NONE;case"small":return oo.RADIUS_SMALL;case"medium":return oo.RADIUS_MEDIUM;case"large":return oo.RADIUS_LARGE;case"full":return oo.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=$c.ALIGN_TOP:e.includes("middle")?t=$c.ALIGN_MIDDLE:e.includes("bottom")&&(t=$c.ALIGN_BOTTOM),e.includes("start")?i=qc.ALIGN_START:e.includes("center")?i=qc.ALIGN_CENTER:e.includes("end")&&(i=qc.ALIGN_END),t!==void 0||i!==void 0)return{vertical:t,horizontal:i}}makeBlockBorder(e,t,i,n){if(!e&&!t)return;let s;switch(e){case"none":s=bd.BORDER_WIDTH_NONE;break;case"thin":s=bd.BORDER_WIDTH_THIN;break;case"thick":s=bd.BORDER_WIDTH_THICK;break;default:s=bd.BORDER_WIDTH_THIN;break}let a=t??"neutral-border-weak",d=this.getThemedColors(a,i,n);return{width:s,color:d?.light,colors:d}}makeBlockTextSize(e){switch(e){case"xsmall":return pi.TEXT_SIZE_XSMALL;case"small":return pi.TEXT_SIZE_SMALL;case"medium":return pi.TEXT_SIZE_MEDIUM;case"large":return pi.TEXT_SIZE_LARGE;case"xlarge":return pi.TEXT_SIZE_XLARGE;case"xxlarge":return pi.TEXT_SIZE_XXLARGE}}makeBlockTextStyle(e){switch(e){case"body":return Vc.TEXT_STYLE_BODY;case"metadata":return Vc.TEXT_STYLE_METADATA;case"heading":return Vc.TEXT_STYLE_HEADING}}makeBlockTextOutline(e){switch(e){case"none":return Gc.TEXT_OUTLINE_NONE;case"thin":return Gc.TEXT_OUTLINE_THIN;case"thick":return Gc.TEXT_OUTLINE_THICK}}makeBlockTextWeight(e){switch(e){case"regular":return Hv.TEXT_WEIGHT_REGULAR;case"bold":return Hv.TEXT_WEIGHT_BOLD}}makeBlockTextOverflow(e){switch(e){case"clip":return zc.TEXT_OVERFLOW_CLIP;case"ellipsis":return zc.TEXT_OVERFLOW_ELLIPSE}return zc.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 _c.BUTTON_SIZE_SMALL;case"medium":return _c.BUTTON_SIZE_MEDIUM;case"large":return _c.BUTTON_SIZE_LARGE}}makeBlockImageResizeMode(e){switch(e){case"none":return io.IMAGE_RESIZE_NONE;case"fit":return io.IMAGE_RESIZE_FIT;case"fill":return io.IMAGE_RESIZE_FILL;case"cover":return io.IMAGE_RESIZE_COVER;case"scale-down":return io.IMAGE_RESIZE_SCALE_DOWN}}makeBlockSpacerSize(e){switch(e){case"xsmall":return Sd.SPACER_XSMALL;case"small":return Sd.SPACER_SMALL;case"medium":return Sd.SPACER_MEDIUM;case"large":return Sd.SPACER_LARGE}}makeBlockSpacerShape(e){switch(e){case"invisible":return jc.SPACER_INVISIBLE;case"thin":return jc.SPACER_THIN;case"square":return jc.SPACER_SQUARE}}makeBlockIconSize(e){switch(e){case"xsmall":return kd.ICON_SIZE_XSMALL;case"small":return kd.ICON_SIZE_SMALL;case"medium":return kd.ICON_SIZE_MEDIUM;case"large":return kd.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 qv.AVATAR_FACING_LEFT;case"right":return qv.AVATAR_FACING_RIGHT}}makeBlockFullSnooSize(e){switch(e){case"xsmall":return mi.FULLSNOO_XSMALL;case"small":return mi.FULLSNOO_SMALL;case"medium":return mi.FULLSNOO_MEDIUM;case"large":return mi.FULLSNOO_LARGE;case"xlarge":return mi.FULLSNOO_XLARGE;case"xxlarge":return mi.FULLSNOO_XXLARGE}}makeBlockAvatarBackground(e){switch(e){case"dark":return _v.AVATAR_BG_DARK;case"light":return _v.AVATAR_BG_LIGHT}}makeBlockAnimationType(e){return e==="lottie"||e===void 0?Nv.ANIM_LOTTIE:Nv.UNRECOGNIZED}makeBlockAnimationDirection(e){switch(e){case"backward":return Lv.ANIM_DIR_BACKWARD;case"forward":return Lv.ANIM_DIR_FORWARD}}makeBlockLoopMode(e){switch(e){case"repeat":return Dv.ANIM_LOOP_REPEAT;case"bounce":return Dv.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:n,unit:s}=this.parseSize(e.height)??{};return{width:t,widthUnit:i,height:n,heightUnit:s,grow:e.grow}}}makeBlockSizes(e){if(e){let t=e.width!=null||e.minWidth!=null||e.maxWidth!=null,i=e.height!=null||e.minHeight!=null||e.maxHeight!=null;if(t||i||e.grow!=null)return{width:t?{value:this.parseSize(e.width),min:this.parseSize(e.minWidth),max:this.parseSize(e.maxWidth)}:void 0,height:i?{value:this.parseSize(e.height),min:this.parseSize(e.minHeight),max:this.parseSize(e.maxHeight)}:void 0,grow:e.grow}}}parseSize(e){if(e==null)return;if(typeof e=="number")return{value:e,unit:Hc.SIZE_UNIT_PERCENT};let t=e.match(/^(\d+(?:\.\d+)?)(px|%)?$/);if(t==null)return;let i=Hc.SIZE_UNIT_PERCENT;return t?.at(2)==="px"&&(i=Hc.SIZE_UNIT_PIXELS),{value:Number.parseFloat(t[1]),unit:i}}getDataSet(e){return Object.keys(e).filter(t=>t.startsWith(jv)).reduce((t,i)=>(t[i.substring(jv.length)]=e[i],t),{})}makeActions(e,t){let i=[],n=this.getDataSet(t);if(t.onPress){let s=t.onPress;i.push({type:ZE.ACTION_CLICK,id:s.toString(),data:n})}return i}blockColorToHex(e,t="light"){if(e)return e=e.toLowerCase(),Rv(e)?e:Fv(e)?Uv(e,t):Nc(e)?vd(e):Ov(e)?Mv(e):Bv(e)?e:(console.warn(`Could not parse color: ${e}.`),vd("red"))}async childrenToBlocks(e){let t=e.map(n=>{if(typeof n!="string")return this.createBlocksElement(n)});return(await Promise.all(t)).filter(n=>n!==void 0)}getThemedColors(e,t,i){let n=this.blockColorToHex(t,"light"),s=this.blockColorToHex(i,"dark"),a=[];if(e&&(!n||!s)){let d=Array.from(e?.matchAll(/[\w#-]+(?:\([\w\t ,.#-]+\))?/g)??[]);a.push(...d.map(p=>p[0]))}return n||(n=this.blockColorToHex(a?.at(0),"light")),s||(s=this.blockColorToHex(a?.at(1)??a?.at(0),"dark")),n||s?{light:n,dark:s}:void 0}parsePixels(e){return typeof e=="string"?Number(e.slice(0,-2)):e}childrenToString(e){return e.map(t=>t.toString()).join("")}async makeRoot(e,...t){return this.wrapRoot(e,await this.childrenToBlocks(t))}async wrapRoot(e,t){return this.makeBlock(De.BLOCK_ROOT,{},{rootConfig:{children:t,height:this.makeRootHeight(m.customPostType?.height??e?.height??"regular")}})}async makeStackBlock(e,t,i){let n=this.getThemedColors(t?.backgroundColor,t?.lightBackgroundColor,t?.darkBackgroundColor);return this.makeBlock(De.BLOCK_STACK,t,{stackConfig:{alignment:this.makeBlockAlignment(t?.alignment),backgroundColor:n?.light,backgroundColors:n,border:this.makeBlockBorder(t?.border,t?.borderColor,t?.lightBorderColor,t?.darkBorderColor),children:await this.childrenToBlocks(i),cornerRadius:this.makeBlockRadius(t?.cornerRadius),direction:e,gap:this.makeBlockGap(t?.gap),padding:this.makeBlockPadding(t?.padding),reverse:t?.reverse}})}async makeHStack(e,...t){return this.makeStackBlock(Wc.STACK_HORIZONTAL,e,t)}async makeVStack(e,...t){return this.makeStackBlock(Wc.STACK_VERTICAL,e,t)}async makeZStack(e,...t){return this.makeStackBlock(Wc.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}})}async makeImage(e){return e&&this.makeBlock(De.BLOCK_IMAGE,e,{imageConfig:{description:e?.description,resizeMode:this.makeBlockImageResizeMode(e.resizeMode),url: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)}})}async makeAnimation(e){return e&&this.makeBlock(De.BLOCK_ANIMATION,e,{animationConfig:{type:this.makeBlockAnimationType(e.type),url: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:e.url}})}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}}async ensureRootBlock(e){let t=e;if(t.type===De.BLOCK_ROOT)return t.config?.rootConfig&&m.customPostType?.height&&(t.config.rootConfig.height=this.makeRootHeight(m.customPostType?.height)),t;let i=await this.wrapRoot(void 0,[t]);if(!i)throw new Error("Could not create root block");return i}};function Gv(r){if(typeof r=="string")throw new Error("Root element cannot be a string")}var zv=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+=zv(i);return e+=`</${r.type}>`,e};function QE(r){return" ".repeat(r)}function eT(r){let e="",t=0,i=r.split(/>\s*</);for(let n=0;n<i.length;n++){let s=i[n];n===0&&(s=s.trim()),n===i.length-1&&(s=s.trim());let a=s.charAt(0)==="/";a&&t--,e+=QE(t),n!==0&&(e+="<"),e+=s,n!==i.length-1&&(e+=`>
2
+ `),!a&&s.indexOf("</")===-1&&s.charAt(s.length-1)!=="/"&&t++}return e}var wd,Vv,lr,so,ao,Kc,lo,lt=class{constructor(e,t,i,n,s){u(this,wd);u(this,lr);u(this,ao);this.renderState={};this.currentComponentKey=[];this.currentHookIndex=0;this.actions=new Map;this.forms=new Map;this.realtimeChannels=[];this.realtimeUpdated=!1;this.pendingHooks=[];this.isRendering=!1;this.transformer=new fi;this.effects=[];u(this,lo,!1);this.component=e,this.event=t,this.state={__renderState:{},...i},this.metadata=n,this.state.__realtimeChannels&&(this.realtimeChannels=this.state.__realtimeChannels);let a=Le({reconciler:this,hooks:!0,ui:!0,metadata:n});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=s,this.ui=a.ui,this.hooks={useState:a.useState,useInterval:a.useInterval,useForm:a.useForm,useChannel:a.useChannel}}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={type:this.component,props:k(this,lr,so).call(this),children:[]},t=await this.processBlock(e);if(Gv(t),await this.transformer.createBlocksElementOrThrow(t),this.isUserActionRender&&this.blockRenderEventId){let i=this.actions.get(this.blockRenderEventId);i&&await i({})}for(let i of this.pendingHooks)await i();this.buildNextState(),k(this,wd,Vv).call(this)}async buildBlocksUI(){let e={type:this.component,props:k(this,lr,so).call(this),children:[]},t=await this.renderElement(e);return this.transformer.ensureRootBlock(t)}async renderElement(e){let t=await this.processBlock(e);return Gv(t),(m.debug.emitSnapshots||ye(N.DebugRenderXML,this.metadata))&&console.log(eT(zv(t))),m.debug.emitState&&console.log(JSON.stringify(this.state,null,2)),await this.transformer.createBlocksElementOrThrow(t)}async processProps(e){if(e.onPress){let t=e.onPress,i=t.name,n=this.makeUniqueActionID(`${YE.BLOCK_BUTTON}.${i??"onPress"}`);this.actions.set(n,t),e.onPress=n}e.url&&(e.url=await this.getAssetUrl(e.url))}async getAssetUrl(e){let t,i=globalThis?.devvit?.config?.assets;if(i&&(t=i[e]),!t&&!Av(e)){console.log("No assets loaded on the config - falling back to plugin");try{t=await this.assets.getURL(e),i&&t&&(i[e]=t)}catch{}}return t??e}async processBlock(e,t=Ev(),i=[]){let n=e;if(typeof n.type=="string"){let p=(await Promise.all(n.children.flatMap(async(c,h)=>c==null?[]:await this.processBlock(c,t,[...i,`${n.type}.${h}`])))).flat(),f=k(this,ao,Kc).call(this,p);return await this.processProps(n.props||{}),{type:n.type,props:n.props,children:f}}if(typeof n.type=="function"){let d=t(`${i.length?i.join("."):"root"}.${n.type.name.length?n.type.name:"anonymous"}`);this.currentComponentKey.push(d),this.renderState[d]||(this.renderState[d]={});let p=n.children.flatMap(c=>c),f={...k(this,lr,so).call(this),...n.props,children:p},g;for(;g===void 0;)try{g=await n.type(f,k(this,lr,so).call(this))}catch(c){if(c instanceof Promise)g=await c;else throw c}if(!this.isInitialRender){let c=this.getPreviousComponentState();if(Object.keys(c).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 g=="object")return this.processBlock(g,t,[...i,n.type.name])}if(typeof n=="string")return n;if(typeof n=="number")return`${n}`;let s=[],a="";return Array.isArray(n)?s=n:typeof n.type>"u"&&n.children&&(s=n.children,a="fragmentChild."),{type:"__fragment",props:void 0,children:await Promise.all(s.flatMap(async(d,p)=>await this.processBlock(d,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===Jc.RENDER_INITIAL:!1}get isUserActionRender(){return this.event?this.event.type===Jc.RENDER_USER_ACTION:!1}get isEffectRender(){return this.event?this.event.type===Jc.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){o(this,lo)||(l(this,lo,!0),this.effects.push({type:Wv.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:Wv.EFFECT_REALTIME_SUB,realtimeSubscriptions:{subscriptionIds:this.realtimeChannels}}]:[]}getEffects(){return[...ci(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}:{}}}};wd=new WeakSet,Vv=function(){this.actions.clear(),this.currentComponentKey=[],this.currentHookIndex=0,this.pendingHooks=[],this.realtimeChannels=[],this.realtimeUpdated=!1},lr=new WeakSet,so=function(){return{...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,...this.hooks}},ao=new WeakSet,Kc=function(e){let t=[];for(let i of e)typeof i=="string"?t.push(i):i.type==="__fragment"?t.push(...k(this,ao,Kc).call(this,i.children)):t.push(i);return t},lo=new WeakMap;async function rT(r,e){let t=m.customPostType;if(!t)throw new Error("Custom post type not registered");let i=new lt((s,a)=>t.render(a),r.blocks,r.state,e,r.dimensions),n=await i.render();return{state:i.state,blocks:{ui:n},effects:i.getEffects()}}function $v(r){r.provides(tT),U("RenderPost",rT)}import{GetFieldsResponse as iT,InstallationSettingsDefinition as nT}from"@devvit/protos";async function oT(){if(!m.installationSettings)throw new Error("Installation settings were not defined.");return iT.fromPartial({fields:{fields:at(m.installationSettings)}})}async function sT(r,e){return yd(r,m.installationSettings,e)}function Jv(r){r.provides(nT),U("GetSettingsFields",oT),U("ValidateForm",sT)}import{ContextActionDefinition as aT,ContextActionDescription as dT,ContextActionResponse as lT}from"@devvit/protos";var Kv=r=>`menuItem.${r}`;function Xc(r){return m.menuItems.find((e,t)=>Kv(t)===r)}async function uT(r,e){let t=m.menuItems;if(!t.length)throw new Error("No menu items registered.");return{actions:t.map((n,s)=>dT.fromPartial({actionId:Kv(s),name:n.label,description:n.description,contexts:{subreddit:n.location.includes("subreddit"),post:n.location.includes("post"),comment:n.location.includes("comment")},users:{loggedOut:n.forUserType?.includes("loggedOut"),member:n.forUserType?.includes("member"),moderator:n.forUserType?.includes("moderator")},postFilters:n.postFilter==="currentApp"?{currentApp:!0}:void 0}))}}async function cT(r,e){let t=Xc(r.actionId);if(!t)throw new Error(`MenuItem ${r.actionId} not found`);let i=r.comment?.id&&`t1_${r.comment.id}`,n=r.post?.id&&`t3_${r.post.id}`,s=r.subreddit?.id&&`t5_${r.subreddit.id}`,a=i||n||s;v(a,"targetId is missing from ContextActionRequest");let d={targetId:a,location:r.comment?"comment":r.post?"post":"subreddit"},p=Object.assign(Le({ui:!0,metadata:e}),le(e,n,i));return await t.onPress(d,p),lT.fromPartial({effects:ci(p.ui)})}function Xv(r){r.provides(aT),U("GetActions",uT),U("OnAction",cT)}function ut(r){return r?r===!0?!0:r.enabled:!1}import{SchedulerHandlerDefinition as mT}from"@devvit/protos";async function pT(r,e){let t=r.type,i=m.scheduledJobHandlers.get(t);if(!i)throw new Error(`Job ${t} not found`);let n={name:t,data:r.data},s=Object.assign(Le({metadata:e}),le(e));await i(n,s)}function Zv(r){r.provides(mT),U("HandleScheduledAction",pT)}import{HandlerResult as fT,OnAppInstallDefinition as gT,OnAppUpgradeDefinition as hT,OnCommentCreateDefinition as yT,OnCommentDeleteDefinition as vT,OnCommentReportDefinition as bT,OnCommentSubmitDefinition as PT,OnCommentUpdateDefinition as kT,OnModActionDefinition as ST,OnModMailDefinition as wT,OnPostCreateDefinition as xT,OnPostDeleteDefinition as CT,OnPostFlairUpdateDefinition as IT,OnPostReportDefinition as AT,OnPostSubmitDefinition as ET,OnPostUpdateDefinition as TT}from"@devvit/protos";function ne(r,e){return v(e),async(t,i)=>{let n={...t,type:r},s=Object.assign(Le({metadata:i}),le(i)),a=await Promise.allSettled(e.map(p=>p(n,s))),d=RT(a);if(d)throw d.err;return fT.fromPartial({})}}function Yv(r){for(let e of m.triggerOnEventHandlers.keys())switch(e){case"PostSubmit":r.provides(ET),U("OnPostSubmit",ne("PostSubmit",m.triggerOnEventHandlers.get(e)));break;case"PostCreate":r.provides(xT),U("OnPostCreate",ne("PostCreate",m.triggerOnEventHandlers.get(e)));break;case"PostUpdate":r.provides(TT),U("OnPostUpdate",ne("PostUpdate",m.triggerOnEventHandlers.get(e)));break;case"PostReport":r.provides(AT),U("OnPostReport",ne("PostReport",m.triggerOnEventHandlers.get(e)));break;case"PostDelete":r.provides(CT),U("OnPostDelete",ne("PostDelete",m.triggerOnEventHandlers.get(e)));break;case"PostFlairUpdate":r.provides(IT),U("OnPostFlairUpdate",ne("PostFlairUpdate",m.triggerOnEventHandlers.get(e)));break;case"CommentSubmit":r.provides(PT),U("OnCommentSubmit",ne("CommentSubmit",m.triggerOnEventHandlers.get(e)));break;case"CommentCreate":r.provides(yT),U("OnCommentCreate",ne("CommentCreate",m.triggerOnEventHandlers.get(e)));break;case"CommentUpdate":r.provides(kT),U("OnCommentUpdate",ne("CommentUpdate",m.triggerOnEventHandlers.get(e)));break;case"CommentReport":r.provides(bT),U("OnCommentReport",ne("CommentReport",m.triggerOnEventHandlers.get(e)));break;case"CommentDelete":r.provides(vT),U("OnCommentDelete",ne("CommentDelete",m.triggerOnEventHandlers.get(e)));break;case"AppInstall":r.provides(gT),U("OnAppInstall",ne("AppInstall",m.triggerOnEventHandlers.get(e)));break;case"AppUpgrade":r.provides(hT),U("OnAppUpgrade",ne("AppUpgrade",m.triggerOnEventHandlers.get(e)));break;case"ModAction":r.provides(ST),U("OnModAction",ne("ModAction",m.triggerOnEventHandlers.get(e)));break;case"ModMail":r.provides(wT),U("OnModMail",ne("ModMail",m.triggerOnEventHandlers.get(e)));break;default:throw new Error(`Unknown trigger event: ${e}`)}}function RT(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=>zr.caughtToString(t)).join(`
3
+ `))}}var Vb=In(ub(),1),$b=In(zb(),1);import{EffectType as TF,UIEventHandlerDefinition as RF}from"@devvit/protos";async function FF(r,e){let t=r.state??{},i=(0,Vb.default)(t),n=Le({ui:!0,metadata:e});if(r.event?.formSubmitted&&r.event.formSubmitted.formId){let p=r.event.formSubmitted.formId;if(p.includes("form.hook.")&&m.customPostType){let P=new lt((w,I)=>m.customPostType?.render(I)??null,r.event,r.state,e,void 0);return await P.reconcile(),{state:P.state,effects:P.getEffects()}}let f=m.formDefinitions.get(p);if(!f)throw new Error(`Form with key ${p} not found`);let g,c;if(i.__contextAction){let{actionId:P,thingId:w}=i.__contextAction,I=Xc(P);I?.location==="post"?g=w:I?.location==="comment"&&(c=w)}let h=Object.assign(n,le(e,g,c));await f.onSubmit({values:xt(r.event.formSubmitted.results)},h)}else if(r.event?.realtimeEvent){if(m.customPostType){let p=new lt((f,g)=>m.customPostType?.render(g)??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 s=!(0,$b.default)(t,i),a=ci(n.ui),d=s?[...a,{type:TF.EFFECT_RERENDER_UI,rerenderUi:{delaySeconds:0}}]:a;return{state:i,effects:d}}function Jb(r){r.provides(RF),U("HandleUIEvent",FF)}import{CustomPostDefinition as o0}from"@devvit/protos";import{EffectType as MF}from"@devvit/protos";import{EffectType as FN}from"@devvit/protos";var go=class extends Error{};function Kb(r){let e=fr({namespace:"useState"},({changed:t})=>{let i=r instanceof Function?r():r;if(i instanceof Promise)throw new Error("Cannot use async initializer with useState, use useAsyncState instead.");return{state:i,setter:s=>{e.state=s instanceof Function?s(e.state):s,t()}}});return[e.state,e.setter]}import{EffectType as um}from"@devvit/protos";var vi=class vi{constructor(e){this.request=e;this._segments=[];this._hooks={};this._prevHookId="";this._effects={};this._changed={};this._rootProps={};this._generated={};this._undeliveredHandlers={};this._state=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}push(e){this._segments.push({...e,next:0})}pop(){this._segments.pop()}addUndeliveredEventHandler(e,t){this._undeliveredHandlers[e]=t}addGlobalUndeliveredEventHandler(e,t){vi.addGlobalUndeliveredEventHandler(e,t)}getHook(e){return this._hooks[e.id]}static addGlobalUndeliveredEventHandler(e,t){vi._staticUndeliveredHandlers[e]=t}async handleUndeliveredEvent(e){let t={...vi._staticUndeliveredHandlers,...this._undeliveredHandlers};for(let[i,n]of Object.entries(t))await n(e,this)}emitEffect(e,t){this._effects[e]=t}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 n=this._segments.length-1;n>=0;n--){let s=this._segments[n];if(s.id){t.unshift(s.id);break}let a=[];s.namespace&&a.push(s.namespace),s.key!==void 0&&s.key!==!1&&a.push(s.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()}}};vi._staticUndeliveredHandlers={};var bi=vi;var Ot={};bi.addGlobalUndeliveredEventHandler("intervals",async(r,e)=>{r.timer&&r.hook&&(delete Ot[r.hook],e.emitEffect("timers",{type:um.EFFECT_SET_INTERVALS,interval:{intervals:Ot}}))});var Bt,Pi,ho,ki,cm=class{constructor(e,t,i){u(this,Bt,void 0);u(this,Pi,void 0);u(this,ho,void 0);u(this,ki,void 0);this.state={duration:{seconds:0,nanos:0},running:!1};l(this,Pi,i.changed),l(this,Bt,i.hookId),l(this,ho,e),l(this,ki,i.context);let n=Math.floor(t/1e3),s=t%1e3*1e6;this.state.duration={seconds:n,nanos:s}}onLoad(){this.state.running?Ot[o(this,Bt)]={duration:this.state.duration}:delete Ot[o(this,Bt)]}async onUIEvent(e){await o(this,ho).call(this)}start(){Ot[o(this,Bt)]={duration:this.state.duration},this.state.running=!0,o(this,Pi).call(this),o(this,ki).emitEffect("timers",{type:um.EFFECT_SET_INTERVALS,interval:{intervals:Ot}})}stop(){delete Ot[o(this,Bt)],this.state.running=!1,o(this,Pi).call(this),o(this,ki).emitEffect("timers",{type:um.EFFECT_SET_INTERVALS,interval:{intervals:Ot}})}};Bt=new WeakMap,Pi=new WeakMap,ho=new WeakMap,ki=new WeakMap;function Xb(r,e){return fr({namespace:"useInterval"},t=>new cm(r,e,t))}import{EffectType as pm,Form as UF,ToastAppearance as Qb}from"@devvit/protos";var mm=class{constructor(e,t,i){this.state=null;this.hookId=e.hookId,this.form=t,this.onSubmit=i,this.onUIEvent=async n=>{n.formSubmitted&&await i(xt(n.formSubmitted.results))}}};function Zb(r,e){let t=fr({namespace:"useForm"},i=>new mm(i,r,e));return OF({id:t.hookId})}function OF(r){return`form.hook.${r.id}.0`}function BF(r){return{id:r.match(/form\.hook\.(.+)\.0/)[1]}}function Yb(r,e){let t=BF(e);return r.getHook(t)}var Ut,Md=class{constructor(e){u(this,Ut,void 0);l(this,Ut,e)}showForm(e,t){let i=Yb(o(this,Ut),e);if(!i)throw new Error("Form does not exist. Make sure you have added it using useForm.");let n=i.form instanceof Function?i.form(t??{}):i.form,s=UF.fromPartial({id:e,title:n.title,acceptLabel:n.acceptLabel,cancelLabel:n.cancelLabel,shortDescription:n.description});ir(n.fields),s.fields=at(n.fields),o(this,Ut).emitEffect(e,{type:pm.EFFECT_SHOW_FORM,showForm:{form:s}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?Qb.SUCCESS:Qb.NEUTRAL}:t={text:e},o(this,Ut).emitEffect(e.toString(),{type:pm.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(),o(this,Ut).emitEffect(t,{type:pm.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}};Ut=new WeakMap;var e0=new Proxy({},{get:function(r,e,t){throw new Error(`Unimplemented API: ${String(e)}`)}}),Ld=class{buildContext(e,t){let i=new ti(t),n=new Qr(t),s=new oi(t),a=new ii(t),d=new si(t),p=new ai(t),f=new Md(e),g=new ei(t),c=new Yr(t,()=>m.assetsPlugin),h=new ui(t),I={modLog:i,kvStore:n,redis:s,reddit:a,scheduler:d,settings:p,media:g,assets:c,realtime:h,ui:f,useState:Kb,useChannel:e0,useInterval:Xb,useForm:Zb,cache:e0};return{...le(t),...I}}};var ue=null;function t0(r){return JSON.parse(JSON.stringify(r))}function fr(r,e){if(!ue)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=ue.nextHookId(r),i=ue,n={hookId:t,changed:()=>{i._changed[t]=!0,i._state[t]=i?._hooks[t]?.state},context:ue},s=ue._state[t]===void 0;ue._hooks[t]=ue._hooks[t]??e(n);let a=ue._hooks[t];return ue._state[t]!==void 0&&(a.state=ue._state[t]),a.onLoad&&a.onLoad(ue),s&&a.state!==void 0&&a.state!==null&&n.changed(),a}var LF=null,Si,_d,yo,vo,fm,qd,r0,bo,gm,Hd,i0,Po,hm,ko,ym,wi,Dd,So,vm,jd,n0,Nd=class{constructor(e){u(this,vo);u(this,qd);u(this,bo);u(this,Hd);u(this,Po);u(this,ko);u(this,wi);u(this,So);u(this,jd);u(this,Si,void 0);u(this,_d,new Ld);u(this,yo,new fi);this._latestRenderContext=null;l(this,Si,e),LF=this}async handle(e,t){let i=new bi(e),n=o(this,_d).buildContext(i,t);i.devvitContext=n;let s,a=e.events,p=!e.events?.length||a.some(h=>!h.queue),f=a.some(h=>h.blocking),g,c=[...a];for(;a.length>0;){let h=[];if(!a[0].queue)h.push(a.shift());else for(;a[0]?.queue;)h.push(a.shift());if(!h.length)throw Error("batch must have at least one event");try{if(h[0].queue){let P=t0(i._state);await k(this,qd,r0).call(this,i,...h),i._state=P}else await k(this,Hd,i0).call(this,i,...h)}catch(P){if(g){i._state=g._state,i._effects=g._effects,c.forEach((w,I)=>{let T={type:MF.EFFECT_SEND_EVENT,sendEvent:{event:w}};i.emitEffect(`remaining-${I}`,T)});break}else throw P}for(let[P,w]of Object.entries(i._effects))if(w.sendEvent?.event){if(!p&&!w.sendEvent?.event?.queue||p&&w.sendEvent?.event?.queue&&!f)break;let I=w.sendEvent.event;a.push(I),delete i._effects[P]}a.length>0&&(g={_state:t0(i._state),_effects:{...i._effects}},c=[...a])}if(p){let h=k(this,Po,hm).call(this,o(this,Si),i._rootProps??{},i);h&&(s=await o(this,yo).createBlocksElementOrThrow(h),s=await o(this,yo).ensureRootBlock(s))}return{state:i._state,effects:i.effects,blocks:s}}};Si=new WeakMap,_d=new WeakMap,yo=new WeakMap,vo=new WeakSet,fm=function(e,...t){k(this,Po,hm).call(this,o(this,Si),e.request.props??{},e)},qd=new WeakSet,r0=async function(e,...t){k(this,vo,fm).call(this,e,...t),await Promise.all(t.map(async i=>{if(!i.queue)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 k(this,bo,gm).call(this,e,i)}))},bo=new WeakSet,gm=async function(e,t){let i=e._hooks[t.hook];if(i&&i.onUIEvent)try{await i.onUIEvent(t,e)}catch(n){throw console.error("Error in event handler",n),n}else await e.handleUndeliveredEvent(t)},Hd=new WeakSet,i0=async function(e,...t){for(let i of t)k(this,vo,fm).call(this,e,i),e._state.__generation=Number(e._state.__generation??0)+1,await k(this,bo,gm).call(this,e,i)},Po=new WeakSet,hm=function(e,t,i){i._generated={},ue=i,this._latestRenderContext=i;try{let n=k(this,ko,ym).call(this,e,t,i);if(n.length!==1)throw new Error("only one root");let s=n[0];if(typeof s=="string")throw new Error("There must be a root tag. Try wrapping your app in a <text></text>, <vstack> or other tag.");return s}catch(n){if(n instanceof go)return;throw n}finally{ue=null}},ko=new WeakSet,ym=function(e,t,i){i.push({namespace:e.name,...t});try{let n=e(t,i.devvitContext);return k(this,So,vm).call(this,n,i)}finally{i.pop()}},wi=new WeakSet,Dd=function(e,t){return e=e.flat(1/0),e.flatMap((i,n)=>(i&&typeof i=="object"&&"props"in i&&(i.props?.key||(i.props=i.props??{},i.props.key=n)),k(this,So,vm).call(this,i,t)))},So=new WeakSet,vm=function(e,t){if(Array.isArray(e))return k(this,wi,Dd).call(this,e,t);if(DF(e)){if(e.type===void 0)return k(this,wi,Dd).call(this,e.children,t);if(typeof e.type=="function"){let i={...e.props,children:e.children};return k(this,ko,ym).call(this,e.type,i,t)}else{t.push({namespace:e.type,...e.props});let i=k(this,wi,Dd).call(this,e.children,t),n=k(this,jd,n0).call(this,e.props??{});return t.pop(),[{type:e.type,children:i,props:n}]}}else return[(e??"").toString()]},jd=new WeakSet,n0=function(e){let t={};for(let i in e)if(typeof e[i]=="function"){let n=fr({namespace:i,key:!1},({hookId:s})=>({hookId:s,state:null,onUIEvent:e[i]}));t[i]=n.hookId,"captureHookRef"in e[i]&&e[i].captureHookRef()}else{let n=e[i];n!=null&&(t[i]=n.toString())}return t};function DF(r){return typeof r=="object"&&r!=null&&"type"in r}var NF=[[o0,o0.methods.renderPostContent,(r,e)=>m.customPostType?.render(e)??null]];function _F(r){return async(e,t)=>new Nd(r).handle(e,t)}function s0(r){for(let[e,t,i]of NF)r.provides(e),U(t.name,_F(i))}var wo,xi,gr,hr,yr,Ci,Ii,Mt,vr,M,q,z,_=class _ extends ed{static configure(e){l(this,wo,e),ut(e.http)&&k(this,q,z).call(this,x.HTTPDefinition),(ut(e.kvStore)||ut(e.redis))&&(k(this,q,z).call(this,x.KVStoreDefinition),k(this,q,z).call(this,x.RedisAPIDefinition)),ut(e.media)&&k(this,q,z).call(this,x.MediaServiceDefinition),ut(e.modLog)&&k(this,q,z).call(this,x.ModlogDefinition),ut(e.redditAPI)&&(k(this,q,z).call(this,x.FlairDefinition),k(this,q,z).call(this,x.GraphQLDefinition),k(this,q,z).call(this,x.LinksAndCommentsDefinition),k(this,q,z).call(this,x.ListingsDefinition),k(this,q,z).call(this,x.ModerationDefinition),k(this,q,z).call(this,x.ModNoteDefinition),k(this,q,z).call(this,x.NewModmailDefinition),k(this,q,z).call(this,x.PrivateMessagesDefinition),k(this,q,z).call(this,x.SubredditsDefinition),k(this,q,z).call(this,x.PostCollectionsDefinition),k(this,q,z).call(this,x.UsersDefinition),k(this,q,z).call(this,x.WidgetsDefinition),k(this,q,z).call(this,x.WikiDefinition),k(this,q,z).call(this,x.RedditAPIV2Definition)),ut(e.realtime)&&k(this,q,z).call(this,x.RealtimeDefinition)}static addMenuItem(e){o(this,xi).push(e)}static addCustomPostType(e){l(this,gr,e)}static createForm(e,t){let i=`form.${o(this,hr).size}`;return o(this,hr).set(i,{form:e,onSubmit:t}),i}static addSchedulerJob(e){if(o(this,M)[x.SchedulerDefinition.fullName]||k(this,q,z).call(this,x.SchedulerDefinition),o(this,yr).has(e.name))throw new Error(`Job ${e.name} is already defined`);o(this,yr).set(e.name,e.onRun)}static addSettings(e){ir(e);let t=e.filter(n=>n.type==="group"||!n.scope||n.scope==="installation"),i=e.filter(n=>n.type!=="group"&&n.scope==="app");t.length>0&&l(this,Ci,t),i.length>0&&l(this,Ii,i),o(this,M)[x.SettingsDefinition.fullName]||k(this,q,z).call(this,x.SettingsDefinition)}static addTrigger(e){if("events"in e){for(let t of e.events)this.addTrigger({event:t,onEvent:(i,n)=>e.onEvent(i,n)});return this}return o(this,Mt).has(e.event)?o(this,Mt).get(e.event)?.push(e.onEvent):o(this,Mt).set(e.event,[e.onEvent]),_}static get redditAPIPlugins(){if(!ut(o(this,wo).redditAPI))throw new Error("Reddit API is not enabled. You can enable it by passing `redditAPI: true` to `Devvit.configure`.");return{Flair:o(this,M)[x.FlairDefinition.fullName],GraphQL:o(this,M)[x.GraphQLDefinition.fullName],LinksAndComments:o(this,M)[x.LinksAndCommentsDefinition.fullName],Listings:o(this,M)[x.ListingsDefinition.fullName],Moderation:o(this,M)[x.ModerationDefinition.fullName],ModNote:o(this,M)[x.ModNoteDefinition.fullName],NewModmail:o(this,M)[x.NewModmailDefinition.fullName],PrivateMessages:o(this,M)[x.PrivateMessagesDefinition.fullName],Subreddits:o(this,M)[x.SubredditsDefinition.fullName],PostCollections:o(this,M)[x.PostCollectionsDefinition.fullName],Users:o(this,M)[x.UsersDefinition.fullName],Widgets:o(this,M)[x.WidgetsDefinition.fullName],Wiki:o(this,M)[x.WikiDefinition.fullName]}}static get modLogPlugin(){let e=o(this,M)[x.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=o(this,M)[x.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=o(this,M)[x.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=o(this,M)[x.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=o(this,M)[x.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=o(this,M)[x.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 assetsPlugin(){let e=o(this,M)[x.AssetResolverDefinition.fullName];if(!e)throw new Error("AssetsService is not available. This should not happen, and indicates a setup problem with the runtime.");return e}static get settingsPlugin(){let e=o(this,M)[x.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=o(this,M)[x.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 o(this,xi)}static get customPostType(){return o(this,gr)}static get formDefinitions(){return o(this,hr)}static get scheduledJobHandlers(){return o(this,yr)}static get installationSettings(){return o(this,Ci)}static get appSettings(){return o(this,Ii)}static get triggerOnEventHandlers(){return o(this,Mt)}constructor(e){var t;super(e),k(t=_,q,z).call(t,x.AssetResolverDefinition);for(let i in o(_,vr)){let n=o(_,vr)[i];n.handler=e.use(n.def,n.options)}o(_,xi).length>0&&Xv(e),o(_,yr).size>0&&Zv(e),o(_,gr)&&($v(e),s0(e)),(o(_,gr)||o(_,hr).size>0)&&Jb(e),o(_,Ci)&&Jv(e),o(_,Ii)&&Cv(e),o(_,Mt).size>0&&Yv(e)}};wo=new WeakMap,xi=new WeakMap,gr=new WeakMap,hr=new WeakMap,yr=new WeakMap,Ci=new WeakMap,Ii=new WeakMap,Mt=new WeakMap,vr=new WeakMap,M=new WeakMap,q=new WeakSet,z=function(e,t){o(this,vr)[e.fullName]={def:e,options:t??{},handler:void 0};let i={};for(let n of Object.values(e.methods))i[n.name]=(s,a)=>o(this,vr)[e.fullName].handler?.[n.name]?.(n.requestType?.fromPartial(s??{}),a);return o(this,M)[e.fullName]=i,i},u(_,q),_.debug={emitSnapshots:!1,emitState:!1},u(_,wo,{}),u(_,xi,[]),u(_,gr,void 0),u(_,hr,new Map),u(_,yr,new Map),u(_,Ci,void 0),u(_,Ii,void 0),u(_,Mt,new Map),u(_,vr,{}),u(_,M,{});var m=_;(e=>{function r(t,i,...n){return{type:t,props:i,children:n}}e.createElement=r})(m||(m={}));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 bm;(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"})(bm||(bm={}));var a0="text",d0="raw",l0="br",u0="link",c0="c/",m0="p/",p0="r/",f0="u/",g0="@",h0="spoilertext",y0="par",v0="h",b0="hr",P0="blockquote",k0="code",S0="li",w0="list",x0="L",C0="R",I0="C",A0="table",E0="embed",T0="img",R0="gif",F0="video";function O0(r){return{e:R0,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function B0(r,e){let t={},i=[];return Object.assign(t,xo(t,i),Co(t,i),Io(t,i),To(t,i),Ro(t,i),Fo(t,i)),e(t),{e:P0,c:i,...r.author&&{a:r.author}}}function U0(r,e){let t={},i=[];return Object.assign(t,km(t,i)),e(t),{e:k0,c:i,...r.language&&{l:r.language}}}function M0(r){return{e:c0,t:r.permalink}}function L0(r,e){let t={},i=[];return Object.assign(t,km(t,i),Eo(t,i)),e(t),{e:v0,l:r.level,c:i}}function D0(r){return{e:E0,u:r.sourceUrl,c:r.contentUrl,x:r.width,y:r.height}}function N0(){return{e:b0}}function _0(r){return{e:T0,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function q0(){return{e:l0}}function H0(r){return{e:u0,t:r.text,u:r.url,...r.formatting&&{f:r.formatting},...r.tooltip&&{a:r.tooltip}}}function j0(r,e){let t={},i=[];return Object.assign(t,nP(t,i)),e(t),{e:w0,o:r.ordered,c:i}}function W0(r){let e={},t=[];return Object.assign(e,xo(e,t),Co(e,t),Io(e,t),Wd(e,t),To(e,t),Ro(e,t),Fo(e,t)),r(e),{e:S0,c:t}}function G0(r){let e={},t=[];return Object.assign(e,Gd(e,t),Eo(e,t),Pm(e,t),Sm(e,t),Ao(e,t)),r(e),{e:y0,c:t}}function z0(r){return{e:m0,t:r.permalink}}function V0(r){return{e:d0,t:r}}function $0(r){let e={},t=[];return Object.assign(e,Gd(e,t),Eo(e,t),Pm(e,t)),r(e),{e:h0,c:t}}function J0(r){return{e:p0,t:r.subredditName,l:r.showPrefix}}function K0(r){let e={},t=[],i=[];return Object.assign(e,oP(e,t,i)),r(e),{e:A0,h:t,c:i}}function X0(r){let[e,t]=iP();return r(e),{c:t}}function Z0(r,e){let[t,i]=iP();e(t);let n;switch(r.columnAlignment){case"left":n=x0;break;case"right":n=C0;break;case"center":n=I0;break}return{...n&&{a:n},...i&&{c:i}}}function Y0(r){let e={},t=[];return Object.assign(e,sP(e,t)),r(e),t}function Q0(r){return{e:a0,t:r.text,...r.formatting&&{f:r.formatting}}}function eP(r){return{e:f0,t:r.username,l:r.showPrefix}}function tP(r){return{e:g0,t:r.username,l:r.showPrefix}}function rP(r){return{e:F0,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur},...r.thumbnail&&{p:r.thumbnail},...r.convertToGif&&{gifify:r.convertToGif}}}function iP(){let r={},e=[];return Object.assign(r,Gd(r,e),Eo(r,e),Sm(r,e),Ao(r,e)),[r,e]}function xo(r,e){return{blockQuote(t,i){return e.push(B0(t,i)),r}}}function Co(r,e){return{codeBlock(t,i){return e.push(U0(t,i)),r}}}function aP(r,e){return{embed(t){return e.push(D0(t)),r}}}function Io(r,e){return{heading(t,i){return e.push(L0(t,i)),r}}}function Wd(r,e){return{horizontalRule(){return e.push(N0()),r}}}function Ao(r,e){return{image(t){return e.push(_0(t)),r},animatedImage(t){return e.push(O0(t)),r}}}function Pm(r,e){return{linebreak(){return e.push(q0()),r}}}function Eo(r,e){return{link(t){return e.push(H0(t)),r},commentLink(t){return e.push(M0(t)),r},postLink(t){return e.push(z0(t)),r},subredditLink(t){return e.push(J0(t)),r},userLink(t){return e.push(eP(t)),r},userMention(t){return e.push(tP(t)),r}}}function To(r,e){return{list(t,i){return e.push(j0(t,i)),r}}}function nP(r,e){return{item(t){return e.push(W0(t)),r}}}function Ro(r,e){return{paragraph(t){return e.push(G0(t)),r}}}function km(r,e){return{rawText(t){return e.push(V0(t)),r}}}function Sm(r,e){return{spoiler(t){return e.push($0(t)),r}}}function oP(r,e,t){return{headerCell(i,n){return e.push(Z0(i,n)),r},row(i){return t.push(Y0(i)),r}}}function Fo(r,e){return{table(t){return e.push(K0(t)),r}}}function sP(r,e){return{cell(t){return e.push(X0(t)),r}}}function Gd(r,e){return{text(t){return e.push(Q0(t)),r}}}function dP(r,e){return{video(t){return e.push(rP(t)),r}}}var qF=function(r,e,t,i,n){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?n.call(r,t):n?n.value=t:e.set(r,t),t},HF=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)},zd,Oo=class{constructor(){zd.set(this,void 0);let e=[];Object.assign(this,Ro(this,e),Io(this,e),Wd(this,e),xo(this,e),Co(this,e),aP(this,e),To(this,e),Fo(this,e),Ao(this,e),dP(this,e)),qF(this,zd,{document:e},"f")}build(){return JSON.stringify(HF(this,zd,"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}};zd=new WeakMap;function Ai(r){let e;return r instanceof Oo?e=r.build():typeof r=="object"?e=JSON.stringify(r):e=r,e}var lP=100,uP=1/0,br,Pr,Lt,Ei,Ti,Vd,W=class{constructor(e){u(this,Ti);u(this,br,void 0);u(this,Pr,void 0);u(this,Lt,void 0);u(this,Ei,!1);this.pageSize=lP;this.limit=uP;this.children=[];J(this),this._fetch=e.fetch,this.pageSize=e.pageSize??lP,this.limit=e.limit??uP,l(this,Pr,e.after),l(this,br,e.before),l(this,Lt,e.more),e.children&&(this.children=e.children)}get hasMore(){return!o(this,Ei)||!!(o(this,Pr)||o(this,br)||o(this,Lt))}async*[Symbol.asyncIterator](){let e=0;for(;;){if(e===this.children.length)if(this.hasMore){if((await k(this,Ti,Vd).call(this)).length===0)break}else break;if(yield this.children[e],e++,e===this.limit)break}}setMore(e){l(this,Lt,e)}preventInitialFetch(){l(this,Ei,!0)}async all(){for(;this.hasMore&&this.children.length<this.limit;)await k(this,Ti,Vd).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 k(this,Ti,Vd).call(this);return this.children.slice(0,t)}};br=new WeakMap,Pr=new WeakMap,Lt=new WeakMap,Ei=new WeakMap,Ti=new WeakSet,Vd=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:n}=await this._fetch({before:o(this,br),after:o(this,Pr),limit:this.pageSize,more:o(this,Lt)});return this.children.push(...e),l(this,br,t),l(this,Pr,i),l(this,Lt,n),l(this,Ei,!0),e};function jF(r){try{return!0}catch{return!1}}function WF(r){try{return!0}catch{return!1}}var Bo,wm,Be=class{constructor(){}static get(e,t){let i=m.redditAPIPlugins.ModNote;return new W({hasMore:!0,before:e.before,limit:e.limit,pageSize:e.limit,fetch:async n=>{let s=await i.GetNotes({subreddit:e.subreddit,user:e.user,filter:e.filter,before:n.before,limit:n.limit},t);return{children:s.modNotes?.map(a=>k(this,Bo,wm).call(this,a))||[],before:s.hasNextPage?s.endCursor:void 0,hasMore:s.hasNextPage}}})}static async delete(e,t){let i=m.redditAPIPlugins.ModNote,{deleted:n}=await i.DeleteNotes(e,t);return!!n}static async add(e,t){let n=await m.redditAPIPlugins.ModNote.PostNotes(e,t);if(!n?.created)throw new Error("Failed to create mod note");return k(this,Bo,wm).call(this,n.created)}static async addRemovalNote(e,t){await m.redditAPIPlugins.ModNote.PostRemovalNote(e,t)}};Bo=new WeakSet,wm=function(e){if(v(e.id,"Mod note ID is null or undefined"),v(e.createdAt,"Mod note createdAt is null or undefined"),v(e.type,"Mod note type is null or undefined"),v(e.subreddit,"Mod note subreddit is null or undefined"),v(e.subredditId,"Mod note subredditId is null or undefined"),v(e.operator,"Mod note operator is null or undefined"),v(e.operatorId,"Mod note operatorId is null or undefined"),v(e.user,"Mod note user is null or undefined"),v(e.userId,"Mod note userId is null or undefined"),v(e.userNoteData,"Mod note userNote is null or undefined"),v(e.modActionData,"Mod note modAction is null or undefined"),!jF(e.userNoteData?.label??""))throw new Error(`Invalid user note label: ${e.userNoteData?.label}`);if(!WF(e.type))throw new Error(`Invalid mod note type: ${e.type}`);return{id:e.id,user:{id:ge(e.userId??""),name:e.user},subreddit:{id:Re(e.subredditId??""),name:e.subreddit},operator:{id:ge(e.operatorId??""),name:e.operator},createdAt:new Date(e.createdAt*1e3),userNote:{note:e.userNoteData?.note,redditId:Fe(e.userNoteData?.redditId??""),label:e.userNoteData?.label},type:e.type}},u(Be,Bo);var $d=class{static queryWithQueryString(e,t){return m.redditAPIPlugins.GraphQL.Query({query:e},t)}static query(e,t,i,n){return m.redditAPIPlugins.GraphQL.PersistedQuery({operationName:e,id:t,variables:i},n)}};var cP=["all","wiki","posts","access","mail","config","flair","chat_operator","chat_config"];function GF(r,e,t=!1){let i=t?"%2b":"+";return e.map(n=>(r.includes(n)?i:"-")+n).join(",")}function xm(r){return GF(r,cP,!0)}function mP(r){if(cP.includes(r))return r;throw new Error(`Invalid moderator permission: ${r}`)}var zF=(t=>(t.User="USER_FLAIR",t.Post="LINK_FLAIR",t))(zF||{}),kr,Ri,Fi,Oi,Bi,Ui,Mi,Li,Di,Ni,_i,Jd,$e=class $e{constructor(e,t,i){u(this,kr,void 0);u(this,Ri,void 0);u(this,Fi,void 0);u(this,Oi,void 0);u(this,Bi,void 0);u(this,Ui,void 0);u(this,Mi,void 0);u(this,Li,void 0);u(this,Di,void 0);u(this,Ni,void 0);J(this),v(e.id),v(e.text),l(this,kr,e.id),l(this,Ri,t),l(this,Fi,e.text),l(this,Oi,VF(e.textColor)),l(this,Bi,$F(e.backgroundColor)),l(this,Ui,JF(e.allowableContent)),l(this,Mi,e.modOnly),l(this,Li,e.maxEmojis),l(this,Di,e.textEditable),l(this,Ni,i)}get id(){return o(this,kr)}get text(){return o(this,Fi)}get textColor(){return o(this,Oi)}get backgroundColor(){return o(this,Bi)}get allowableContent(){return o(this,Ui)}get modOnly(){return o(this,Mi)}get maxEmojis(){return o(this,Li)}get allowUserEdits(){return o(this,Di)}async delete(){return $e.deleteFlairTemplate(o(this,kr),o(this,Ri),o(this,Ni))}async edit(e){return $e.editFlairTemplate({id:o(this,kr),subredditName:o(this,Ri),text:e.text??o(this,Fi),allowableContent:e.allowableContent??o(this,Ui),backgroundColor:e.backgroundColor??o(this,Bi),maxEmojis:e.maxEmojis??o(this,Li),modOnly:e.modOnly??o(this,Mi),textColor:e.textColor??o(this,Oi),allowUserEdits:e.allowUserEdits??o(this,Di)},o(this,Ni))}static async createPostFlairTemplate(e,t){var i;return k(i=$e,_i,Jd).call(i,{...e,flairType:"LINK_FLAIR"},t)}static async createUserFlairTemplate(e,t){var i;return k(i=$e,_i,Jd).call(i,{...e,flairType:"USER_FLAIR"},t)}static async editFlairTemplate(e,t){var i;return k(i=$e,_i,Jd).call(i,e,t)}static async getPostFlairTemplates(e,t){return(await m.redditAPIPlugins.Flair.LinkFlair({subreddit:e},t)).flair?.map(s=>new $e(s,e,t))||[]}static async getUserFlairTemplates(e,t){return(await m.redditAPIPlugins.Flair.UserFlair({subreddit:e},t)).flair?.map(s=>new $e(s,e,t))||[]}static async deleteFlairTemplate(e,t,i){await m.redditAPIPlugins.Flair.DeleteFlairTemplate({subreddit:e,flairTemplateId:t},i)}};kr=new WeakMap,Ri=new WeakMap,Fi=new WeakMap,Oi=new WeakMap,Bi=new WeakMap,Ui=new WeakMap,Mi=new WeakMap,Li=new WeakMap,Di=new WeakMap,Ni=new WeakMap,_i=new WeakSet,Jd=async function(e,t){let{subredditName:i,allowableContent:n="all",backgroundColor:s="transparent",flairType:a="",maxEmojis:d=10,modOnly:p=!1,text:f,textColor:g="dark",allowUserEdits:c=!1,id:h=""}=e;if(p&&c)throw new Error("Cannot have a mod only flair that is editable by users");let w=await m.redditAPIPlugins.Flair.FlairTemplate({subreddit:i,allowableContent:n,backgroundColor:s,flairType:a,maxEmojis:d,modOnly:p,text:f,textColor:g,textEditable:c,flairTemplateId:h,cssClass:"",overrideCss:!1},t);return new $e(w,i,t)},u($e,_i);var de=$e;function Lo(r){return{flairCssClass:r.flairCssClass,user:r.user,flairText:r.flairText}}var Uo,Cm,Mo,Im,Dt=class Dt{static async getUserFlairBySubreddit(e,t){return m.redditAPIPlugins.Flair.FlairList(e,t)}static setUserFlair(e,t){var i;return k(i=Dt,Uo,Cm).call(i,e,t)}static setPostFlair(e,t){var i;return k(i=Dt,Uo,Cm).call(i,{...e,postId:he(e.postId)},t)}static async removePostFlair(e,t,i){var n;return k(n=Dt,Mo,Im).call(n,e,t,void 0,i)}static async removeUserFlair(e,t,i){var n;return k(n=Dt,Mo,Im).call(n,e,void 0,t,i)}};Uo=new WeakSet,Cm=async function(e,t){await m.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)},Mo=new WeakSet,Im=async function(e,t,i,n){await m.redditAPIPlugins.Flair.SelectFlair({subreddit:e,name:i??"",link:t??"",flairTemplateId:"",backgroundColor:"",text:"",textColor:"",cssClass:"",returnRtjson:"none"},n)},u(Dt,Uo),u(Dt,Mo);var Ue=Dt;function VF(r){if(v(r,"Flair text color is required"),r==="light"||r==="dark")return r;throw new Error(`Invalid flair text color: ${r}`)}function $F(r){if(v(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 JF(r){if(r==="all"||r==="text"||r==="emoji")return r;throw new Error(`Invalid allowable content: ${r}`)}import{Block as KF}from"@devvit/protos";var pP=In(yc(),1);var qi,No,Hi,_o,qo,Ho,jo,Wo,ji,Go,zo,Vo,$o,Jo,Ko,Nt,Sr,Wi,_t,Gi,zi,Vi,wr,qt,Ht,$i,jt,Wt,Gt,pt,Xo,Zo,Ji,Ki,L,H=class H{constructor(e,t){u(this,qi,void 0);u(this,No,void 0);u(this,Hi,void 0);u(this,_o,void 0);u(this,qo,void 0);u(this,Ho,void 0);u(this,jo,void 0);u(this,Wo,void 0);u(this,ji,void 0);u(this,Go,void 0);u(this,zo,void 0);u(this,Vo,void 0);u(this,$o,void 0);u(this,Jo,void 0);u(this,Ko,void 0);u(this,Nt,void 0);u(this,Sr,void 0);u(this,Wi,void 0);u(this,_t,void 0);u(this,Gi,void 0);u(this,zi,void 0);u(this,Vi,void 0);u(this,wr,void 0);u(this,qt,void 0);u(this,Ht,void 0);u(this,$i,void 0);u(this,jt,void 0);u(this,Wt,void 0);u(this,Gt,void 0);u(this,pt,void 0);u(this,Xo,void 0);u(this,Zo,void 0);u(this,Ji,void 0);u(this,Ki,void 0);u(this,L,void 0);J(this),v(e.id,"Post is missing id"),v(e.title,"Post is missing title"),v(e.createdUtc,"Post is missing created date"),v(e.author,"Post is missing author name"),v(e.subreddit,"Post is missing subreddit name"),v(e.subredditId,"Post is missing subreddit id"),v(e.url,"Post is missing url"),v(e.permalink,"Post is missing permalink"),l(this,qi,he(`t3_${e.id}`)),l(this,Hi,e.author),l(this,No,e.authorFullname?ge(e.authorFullname):void 0),l(this,qo,Re(e.subredditId)),l(this,Ho,e.subreddit),l(this,Vo,e.score??0),l(this,$o,e.numComments??0),l(this,Jo,e.numReports??0);let i=new Date(0);i.setUTCSeconds(e.createdUtc),l(this,_o,i),l(this,Wo,e.title),l(this,ji,e.selftext),l(this,Go,e.selftextHtml),l(this,zo,e.url),l(this,jo,e.permalink),e.thumbnail&&e.thumbnail!=="self"&&e.thumbnail!=="nsfw"&&e.thumbnailHeight!=null&&e.thumbnailWidth!=null&&l(this,Ko,{url:e.thumbnail,height:e.thumbnailHeight,width:e.thumbnailWidth}),l(this,Nt,e.approved??!1),l(this,_t,e.removed??!1),l(this,Gi,e.removedBy),l(this,zi,e.removedByCategory),l(this,Sr,e.spam??!1),l(this,Wi,e.stickied??!1),l(this,Vi,e.archived??!1),l(this,wr,e.edited??!1),l(this,qt,e.locked??!1),l(this,Ht,e.over18??!1),l(this,$i,e.quarantine??!1),l(this,jt,e.spoiler),l(this,Wt,e.hidden??!1),l(this,Gt,e.ignoreReports??!1),l(this,pt,e.distinguished),l(this,Zo,e.secureMedia),l(this,Ji,(e.modReports??[]).map(([n])=>n)),l(this,Ki,(e.userReports??[]).map(([n])=>n)),l(this,L,t),(e.linkFlairBackgroundColor||e.linkFlairCssClass||e.linkFlairText||e.linkFlairType||e.linkFlairTemplateId||e.linkFlairRichtext||e.linkFlairTextColor)&&l(this,Xo,{backgroundColor:e.linkFlairBackgroundColor,cssClass:e.linkFlairCssClass,text:e.linkFlairText,type:e.linkFlairType,templateId:e.linkFlairTemplateId,richtext:(e.linkFlairRichtext??[]).map(({e:n,t:s,a,u:d})=>({elementType:n,text:s,emojiRef:a,url:d})),textColor:e.linkFlairTextColor})}get id(){return o(this,qi)}get authorId(){return o(this,No)}get authorName(){return o(this,Hi)}get subredditId(){return o(this,qo)}get subredditName(){return o(this,Ho)}get permalink(){return o(this,jo)}get title(){return o(this,Wo)}get body(){return o(this,ji)}get bodyHtml(){return o(this,Go)}get url(){return o(this,zo)}get thumbnail(){return o(this,Ko)}get createdAt(){return o(this,_o)}get score(){return o(this,Vo)}get numberOfComments(){return o(this,$o)}get numberOfReports(){return o(this,Jo)}get approved(){return o(this,Nt)}get spam(){return o(this,Sr)}get stickied(){return o(this,Wi)}get removed(){return o(this,_t)}get removedBy(){return o(this,Gi)}get removedByCategory(){return o(this,zi)}get archived(){return o(this,Vi)}get edited(){return o(this,wr)}get locked(){return o(this,qt)}get nsfw(){return o(this,Ht)}get quarantined(){return o(this,$i)}get spoiler(){return o(this,jt)}get hidden(){return o(this,Wt)}get ignoringReports(){return o(this,Gt)}get distinguishedBy(){return o(this,pt)}get comments(){return Y.getComments({postId:this.id},o(this,L))}get flair(){return o(this,Xo)}get secureMedia(){return o(this,Zo)}get userReportReasons(){return o(this,Ki)}get modReportReasons(){return o(this,Ji)}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:o(this,Gi),removedByCategory:o(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:o(this,Ji),userReportReasons:o(this,Ki)}}isApproved(){return o(this,Nt)}isSpam(){return o(this,Sr)}isStickied(){return o(this,Wi)}isRemoved(){return o(this,_t)}isArchived(){return o(this,Vi)}isEdited(){return o(this,wr)}isLocked(){return o(this,qt)}isNsfw(){return o(this,Ht)}isQuarantined(){return o(this,$i)}isSpoiler(){return o(this,jt)}isHidden(){return o(this,Wt)}isIgnoringReports(){return o(this,Gt)}isDistinguishedBy(){return o(this,pt)}async edit(e){let t=await H.edit({id:this.id,...e},o(this,L));l(this,ji,t.body),l(this,wr,t.edited)}async addComment(e){return Y.submit({id:this.id,...e},o(this,L))}async delete(){return H.delete(this.id,o(this,L))}async approve(){await H.approve(this.id,o(this,L)),l(this,Nt,!0),l(this,_t,!1)}async remove(e=!1){await H.remove(this.id,e,o(this,L)),l(this,_t,!0),l(this,Sr,e),l(this,Nt,!1)}async lock(){await H.lock(this.id,o(this,L)),l(this,qt,!0)}async unlock(){await H.unlock(this.id,o(this,L)),l(this,qt,!1)}async hide(){await H.hide(this.id,o(this,L)),l(this,Wt,!0)}async unhide(){await H.unhide(this.id,o(this,L)),l(this,Wt,!1)}async markAsNsfw(){await H.markAsNsfw(this.id,o(this,L)),l(this,Ht,!0)}async unmarkAsNsfw(){await H.unmarkAsNsfw(this.id,o(this,L)),l(this,Ht,!1)}async markAsSpoiler(){await H.markAsSpoiler(this.id,o(this,L)),l(this,jt,!0)}async unmarkAsSpoiler(){await H.unmarkAsSpoiler(this.id,o(this,L)),l(this,jt,!1)}async sticky(e){await H.sticky(this.id,e,o(this,L))}async unsticky(){await H.unsticky(this.id,o(this,L))}async distinguish(){let{distinguishedBy:e}=await H.distinguish(this.id,!1,o(this,L));l(this,pt,e)}async distinguishAsAdmin(){let{distinguishedBy:e}=await H.distinguish(this.id,!0,o(this,L));l(this,pt,e)}async undistinguish(){let{distinguishedBy:e}=await H.undistinguish(this.id,o(this,L));l(this,pt,e)}async ignoreReports(){await H.ignoreReports(this.id,o(this,L)),l(this,Gt,!0)}async unignoreReports(){await H.unignoreReports(this.id,o(this,L)),l(this,Gt,!1)}async getAuthor(){return C.getByUsername(o(this,Hi),o(this,L))}async crosspost(e){return H.crosspost({...e,postId:this.id},o(this,L))}addRemovalNote(e){return Be.addRemovalNote({itemIds:[o(this,qi)],...e},o(this,L))}static async getById(e,t){let i=m.redditAPIPlugins.LinksAndComments,n=rr(e)?e:`t3_${e}`,s=await i.Info({subreddits:[],thingIds:[n]},t);if(!s.data?.children?.length)throw new Error("could not find post");let a=s.data.children[0];if(!a?.data)throw new Error("could not find post");return new H(a.data,t)}static async submit(e,t){let i=m.redditAPIPlugins.LinksAndComments,n;if("preview"in e){v(t,"Missing metadata in `SubmitPostOptions`");let d=await new lt(()=>e.preview,void 0,{},t,void 0).buildBlocksUI(),p=KF.encode(d).finish();n=await i.Submit({kind:"custom",sr:e.subredditName,richtextJson:(0,pP.fromByteArray)(p),...e},t)}else n=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)&&!n.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(!n.json?.data?.id||n.json?.errors?.length)throw new Error(`failed to submit post - either post ID is empty or request failed with errors: ${n.json?.errors}`);return H.getById(`t3_${n.json.data.id}`,t)}static async crosspost(e,t){let i=m.redditAPIPlugins.LinksAndComments,{postId:n,subredditName:s,...a}=e,d=await i.Submit({kind:"crosspost",sr:s,crosspostFullname:he(n),...a},t);if(!d.json?.data?.id||d.json?.errors?.length)throw new Error("failed to crosspost post");return H.getById(`t3_${d.json.data.id}`,t)}static async edit(e,t){let i=m.redditAPIPlugins.LinksAndComments,{id:n}=e,s;if("richtext"in e&&(s=Ai(e.richtext)),(await i.EditUserText({thingId:n,text:"text"in e?e.text:"",richtextJson:s},t)).json?.errors?.length)throw new Error("Failed to edit post");return H.getById(n,t)}static async delete(e,t){await m.redditAPIPlugins.LinksAndComments.Del({id:e},t)}static async approve(e,t){await m.redditAPIPlugins.Moderation.Approve({id:e},t)}static async remove(e,t=!1,i){await m.redditAPIPlugins.Moderation.Remove({id:e,spam:t},i)}static async hide(e,t){await m.redditAPIPlugins.LinksAndComments.Hide({id:e},t)}static async unhide(e,t){await m.redditAPIPlugins.LinksAndComments.Unhide({id:e},t)}static async markAsNsfw(e,t){await m.redditAPIPlugins.LinksAndComments.MarkNSFW({id:e},t)}static async unmarkAsNsfw(e,t){await m.redditAPIPlugins.LinksAndComments.UnmarkNSFW({id:e},t)}static async markAsSpoiler(e,t){await m.redditAPIPlugins.LinksAndComments.Spoiler({id:e},t)}static async unmarkAsSpoiler(e,t){await m.redditAPIPlugins.LinksAndComments.Unspoiler({id:e},t)}static async sticky(e,t,i){await m.redditAPIPlugins.LinksAndComments.SetSubredditSticky({id:e,state:!0,num:t},i)}static async unsticky(e,t){await m.redditAPIPlugins.LinksAndComments.SetSubredditSticky({id:e,state:!1},t)}static async lock(e,t){await m.redditAPIPlugins.LinksAndComments.Lock({id:e},t)}static async unlock(e,t){await m.redditAPIPlugins.LinksAndComments.Unlock({id:e},t)}static async distinguish(e,t,i){let a=(await m.redditAPIPlugins.Moderation.Distinguish({id:e,how:t?"admin":"yes",sticky:!1},i)).json?.data?.things?.[0]?.data;return v(a),{distinguishedBy:a.distinguished}}static async undistinguish(e,t){let s=(await m.redditAPIPlugins.Moderation.Distinguish({id:e,how:"no",sticky:!1},t)).json?.data?.things?.[0]?.data;return v(s),{distinguishedBy:s.distinguished}}static async ignoreReports(e,t){await m.redditAPIPlugins.Moderation.IgnoreReports({id:e},t)}static async unignoreReports(e,t){await m.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=m.redditAPIPlugins.Listings;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let s=await i.Sort({show:"all",sort:e.sort,t:e.timeframe,subreddit:e.subredditName,...n},t);return Do(s,t)}})}static getHotPosts(e={location:"GLOBAL"},t){let i=m.redditAPIPlugins.Listings;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let s=await i.Hot({g:e.location,show:"all",subreddit:e.subredditName,...n},t);return Do(s,t)}})}static getNewPosts(e,t){let i=m.redditAPIPlugins.Listings;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let s=await i.New({show:"all",subreddit:e.subredditName,...n},t);return Do(s,t)}})}static getRisingPosts(e,t){let i=m.redditAPIPlugins.Listings;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let s=await i.Rising({show:"all",subreddit:e.subredditName,...n},t);return Do(s,t)}})}static getPostsByUser(e,t){let i=m.redditAPIPlugins.Users;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(n){let s=await i.UserWhere({username:e.username,where:"submitted",...n},t);return Do(s,t)}})}};qi=new WeakMap,No=new WeakMap,Hi=new WeakMap,_o=new WeakMap,qo=new WeakMap,Ho=new WeakMap,jo=new WeakMap,Wo=new WeakMap,ji=new WeakMap,Go=new WeakMap,zo=new WeakMap,Vo=new WeakMap,$o=new WeakMap,Jo=new WeakMap,Ko=new WeakMap,Nt=new WeakMap,Sr=new WeakMap,Wi=new WeakMap,_t=new WeakMap,Gi=new WeakMap,zi=new WeakMap,Vi=new WeakMap,wr=new WeakMap,qt=new WeakMap,Ht=new WeakMap,$i=new WeakMap,jt=new WeakMap,Wt=new WeakMap,Gt=new WeakMap,pt=new WeakMap,Xo=new WeakMap,Zo=new WeakMap,Ji=new WeakMap,Ki=new WeakMap,L=new WeakMap;var $=H;function Do(r,e){if(!r.data?.children)throw new Error("Listing response is missing children");return{children:r.data.children.map(i=>new $(i.data,e)),before:r.data.before,after:r.data.after}}var Yo,Xi,Qo,es,ts,rs,is,zt,ns,os,ft,xr=class xr{constructor(e,t){u(this,Yo,void 0);u(this,Xi,void 0);u(this,Qo,void 0);u(this,es,void 0);u(this,ts,void 0);u(this,rs,void 0);u(this,is,void 0);u(this,zt,new Map);u(this,ns,void 0);u(this,os,void 0);u(this,ft,void 0);J(this),v(e.id,"User ID is missing or undefined"),v(e.name,"Username is missing or undefined"),v(e.createdUtc,"User is missing created date"),l(this,Yo,ge(Qa(e.id)?e.id:`t2_${e.id}`)),l(this,Xi,e.name),l(this,rs,e.over18??!1),l(this,is,e.isEmployee??!1);let i=new Date(0);if(i.setUTCSeconds(e.createdUtc),l(this,Qo,i),l(this,es,e.linkKarma??0),l(this,ts,e.commentKarma??0),e.modPermissions)for(let[n,s]of Object.entries(e.modPermissions))o(this,zt).set(n,s.map(mP));l(this,ns,new URL(e.subreddit?.url??"","https://www.reddit.com").toString()),l(this,os,e.subreddit?.url??""),l(this,ft,t)}get id(){return o(this,Yo)}get username(){return o(this,Xi)}get createdAt(){return o(this,Qo)}get linkKarma(){return o(this,es)}get commentKarma(){return o(this,ts)}get nsfw(){return o(this,rs)}get isAdmin(){return o(this,is)}get modPermissions(){return o(this,zt)}get url(){return o(this,ns)}get permalink(){return o(this,os)}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(o(this,zt).has(e))return o(this,zt).get(e);let t=await xr.getSubredditUsersByType({subredditName:e,type:"moderators",username:this.username},o(this,ft)).all();if(t.length===0)return[];let i=t[0].modPermissions.get(e)??[];return i.length>0&&o(this,zt).set(e,i),i}getComments(e){return Y.getCommentsByUser({username:this.username,...e},o(this,ft))}getPosts(e){return $.getPostsByUser({username:this.username,...e},o(this,ft))}async getUserFlairBySubreddit(e){let t=await Ue.getUserFlairBySubreddit({subreddit:e,name:o(this,Xi)},o(this,ft));return t.users[0]?Lo(t.users[0]):void 0}getSnoovatarUrl(){return xr.getSnoovatarUrl(this.username,o(this,ft))}static async getById(e,t){let s=(await m.redditAPIPlugins.Users.UserDataByAccountIds({ids:e},t))?.users?.[e]?.name;return v(s,"Expected the username in response to be not null"),xr.getByUsername(s,t)}static async getByUsername(e,t){let n=await m.redditAPIPlugins.Users.UserAbout({username:e},t);if(!n.data?.id)throw new Error("failed to get user");return new xr(n.data,t)}static async getFromMetadata(e,t){v(t);let i=ye(e,t);return v(i),xr.getById(ge(i),t)}static getSubredditUsersByType(e,t){let i=m.redditAPIPlugins.Subreddits;return new W({hasMore:!0,pageSize:e.pageSize,limit:e.limit,after:e.after,before:e.before,fetch:async n=>{let s=await i.AboutWhere({where:e.type,user:e.username,subreddit:e.subredditName,show:"all",...n},t);return ZF(s,e.subredditName,t)}})}static async createRelationship(e,t){let i=m.redditAPIPlugins.Users,{type:n,subredditName:s,username:a,permissions:d,...p}=e,f=await i.Friend({type:n,subreddit:s,name:a,permissions:d?xm(d):void 0,...p},t);if(f.json?.errors?.length)throw new Error(f.json.errors.join(`
4
4
  `))}static async removeRelationship(e,t){await m.redditAPIPlugins.Users.Unfriend({type:e.type,subreddit:e.subredditName,name:e.username},t)}static async setModeratorPermissions(e,t,i,n){let a=await m.redditAPIPlugins.Users.SetPermissions({subreddit:t,name:e,type:"moderator",permissions:xm(i)},n);if(a.json?.errors?.length)throw new Error(a.json.errors.join(`
5
- `))}static async getSnoovatarUrl(e,t){let i="GetSnoovatarUrlByName",n="c47fd42345af268616d2d8904b56856acdc05cf61d3650380f539ad7d596ac0c";return(await $d.query(i,n,{username:e},t)).data?.redditorInfoByName?.snoovatarIcon?.url}static getOverview(e,t){let i=m.redditAPIPlugins.Users;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(n){let s=await i.UserWhere({username:e.username,where:"overview",...n},t);return XF(s,t)}})}};Yo=new WeakMap,Xi=new WeakMap,Qo=new WeakMap,es=new WeakMap,ts=new WeakMap,rs=new WeakMap,is=new WeakMap,Gt=new WeakMap,ns=new WeakMap,os=new WeakMap,ft=new WeakMap;var C=wr;function XF(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 $(i.data,e);if(i.kind==="t1")return new Y(i.data,e);throw new Error(`Type ${i.kind} is not supported`)}),before:r.data.before,after:r.data.after}}async function ZF(r,e,t){let i=m.redditAPIPlugins.Users;if(!r.data?.children)throw new Error("Listing response is missing children");let n=r.data.children.map(g=>(v(g.data?.id,"User id is still from listing data"),g.data.id)),s=100,a=[];for(let g=0;g<n.length;g+=s)a.push(n.slice(g,g+s));let p=(await Promise.all(a.map(g=>i.UserDataByAccountIds({ids:g.join(",")},t)))).reduce((g,c)=>({...g,...c.users}),{});return{children:r.data.children.map(g=>{let c=g.data?.id;v(c,"User id is missing from listing");let h=p[c];return v(h,"User data is missing from response"),new C({id:c,name:h.name,linkKarma:h.linkKarma,commentKarma:h.commentKarma,createdUtc:h.createdUtc,over18:h.profileOver18,snoovatarSize:[],modPermissions:{[e]:g.data?.modPermissions??[]}},t)}),before:r.data.before,after:r.data.after}}var xr,ss,Zi,Yi,as,ds,Qi,ls,us,en,zt,Cr,Vt,$t,gt,Ir,ht,cs,ms,ps,fs,gs,hs,ys,ee,tn,Kd,rn,Xd,G=class G{constructor(e,t){u(this,xr,void 0);u(this,ss,void 0);u(this,Zi,void 0);u(this,Yi,void 0);u(this,as,void 0);u(this,ds,void 0);u(this,Qi,void 0);u(this,ls,void 0);u(this,us,void 0);u(this,en,void 0);u(this,zt,void 0);u(this,Cr,void 0);u(this,Vt,void 0);u(this,$t,void 0);u(this,gt,void 0);u(this,Ir,void 0);u(this,ht,void 0);u(this,cs,void 0);u(this,ms,void 0);u(this,ps,void 0);u(this,fs,void 0);u(this,gs,void 0);u(this,hs,void 0);u(this,ys,void 0);u(this,ee,void 0);var n;J(this),v(e.id,"Comment id is null or undefined"),v(e.body,"Comment body is null or undefined"),v(e.createdUtc,"Comment is missing created date"),v(e.author,"Comment author is null or undefined"),v(e.parentId,"Comment parentId is null or undefined"),v(e.linkId,"Comment linkId is null or undefined"),v(e.permalink,"Comment permalink is null or undefined"),v(e.subreddit,"Comment is missing subreddit name"),v(e.subredditId,"Comment is missing subreddit id"),l(this,xr,jr(`t1_${e.id}`)),l(this,ss,e.authorFullname?ge(e.authorFullname):void 0),l(this,Zi,e.author),l(this,Yi,e.body),l(this,ls,Re(e.subredditId)),l(this,us,e.subreddit),l(this,ds,pc(e.parentId)?jr(e.parentId):he(e.parentId)),l(this,Qi,he(e.linkId)),l(this,Cr,e.edited??!1),l(this,Vt,e.locked??!1),l(this,$t,e.removed??!1),l(this,gt,e.stickied??!1),l(this,zt,e.approved??!1),l(this,Ir,e.spam??!1),l(this,ht,e.distinguished),l(this,cs,e.numReports??0),l(this,ms,e.collapsedBecauseCrowdControl??!1),l(this,ps,e.score??0),l(this,fs,e.permalink),l(this,ys,new URL(e.permalink??"","https://www.reddit.com/").toString()),l(this,gs,(e.modReports??[]).map(([s])=>s)),l(this,hs,(e.userReports??[]).map(([s])=>s));let i=new Date(0);i.setUTCSeconds(e.createdUtc),l(this,as,i),l(this,en,k(n=G,tn,Kd).call(n,{postId:o(this,Qi),commentId:o(this,xr)},t)),l(this,ee,t)}get id(){return o(this,xr)}get authorId(){return o(this,ss)}get authorName(){return o(this,Zi)}get subredditId(){return o(this,ls)}get subredditName(){return o(this,us)}get body(){return o(this,Yi)}get createdAt(){return o(this,as)}get parentId(){return o(this,ds)}get postId(){return o(this,Qi)}get replies(){return o(this,en)}get distinguishedBy(){return o(this,ht)}get locked(){return o(this,Vt)}get stickied(){return o(this,gt)}get removed(){return o(this,$t)}get approved(){return o(this,zt)}get spam(){return o(this,Ir)}get edited(){return o(this,Cr)}get numReports(){return o(this,cs)}get collapsedBecauseCrowdControl(){return o(this,ms)}get score(){return o(this,ps)}get permalink(){return o(this,fs)}get userReportReasons(){return o(this,hs)}get modReportReasons(){return o(this,gs)}get url(){return o(this,ys)}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 o(this,Vt)}isApproved(){return o(this,zt)}isRemoved(){return o(this,$t)}isSpam(){return o(this,Ir)}isStickied(){return o(this,gt)}isDistinguished(){return!!o(this,ht)}isEdited(){return o(this,Cr)}async delete(){return G.delete(this.id,o(this,ee))}async edit(e){let t=await G.edit({id:this.id,...e},o(this,ee));return l(this,Yi,t.body),l(this,Cr,t.edited),this}async approve(){await G.approve(this.id,o(this,ee)),l(this,zt,!0),l(this,$t,!1)}async remove(e=!1){await G.remove(this.id,e,o(this,ee)),l(this,$t,!0),l(this,Ir,e),l(this,zt,!1)}async lock(){await G.lock(this.id,o(this,ee)),l(this,Vt,!0)}async unlock(){await G.unlock(this.id,o(this,ee)),l(this,Vt,!1)}async reply(e){return G.submit({id:this.id,...e},o(this,ee))}async getAuthor(){return C.getByUsername(o(this,Zi),o(this,ee))}async distinguish(e=!1){let{distinguishedBy:t,stickied:i}=await G.distinguish(this.id,e,!1,o(this,ee));l(this,ht,t),l(this,gt,i)}async distinguishAsAdmin(e=!1){let{distinguishedBy:t,stickied:i}=await G.distinguish(this.id,e,!0,o(this,ee));l(this,ht,t),l(this,gt,i)}async undistinguish(){let{distinguishedBy:e,stickied:t}=await G.undistinguish(this.id,o(this,ee));l(this,ht,e),l(this,gt,t)}addRemovalNote(e){return Be.addRemovalNote({itemIds:[o(this,xr)],...e},o(this,ee))}static async getById(e,t){let i=m.redditAPIPlugins.LinksAndComments,n=kt(e)?e:`t1_${e}`,s=await i.Info({subreddits:[],thingIds:[n]},t);if(!s.data?.children?.[0]?.data)throw new Error("not found");return new G(s.data.children[0].data,t)}static getComments(e,t){var a;let{postId:i,commentId:n,...s}=e;return k(a=G,tn,Kd).call(a,{postId:he(i),commentId:n?jr(n):void 0,...s},t)}static async edit(e,t){let i=m.redditAPIPlugins.LinksAndComments,{id:n}=e,s;"richtext"in e&&(s=Ai(e.richtext));let a=await i.EditUserText({thingId:n,text:"text"in e?e.text:"",richtextJson:s},t);if(a.json?.errors?.length)throw new Error("Failed to edit comment");let d=a.json?.data?.things?.[0]?.data;return v(d),new G(d,t)}static async delete(e,t){await m.redditAPIPlugins.LinksAndComments.Del({id:e},t)}static async approve(e,t){await m.redditAPIPlugins.Moderation.Approve({id:e},t)}static async remove(e,t=!1,i){await m.redditAPIPlugins.Moderation.Remove({id:e,spam:t},i)}static async lock(e,t){await m.redditAPIPlugins.LinksAndComments.Lock({id:e},t)}static async unlock(e,t){await m.redditAPIPlugins.LinksAndComments.Unlock({id:e},t)}static async submit(e,t){let i=m.redditAPIPlugins.LinksAndComments,{id:n}=e,s;"richtext"in e&&(s=Ai(e.richtext));let a=await i.Comment({thingId:n,text:"text"in e?e.text:"",richtextJson:s},t);if(a.json?.errors?.length)throw new Error("failed to reply to comment");let d=a.json?.data?.things?.[0]?.data;return v(d),new G(d,t)}static async distinguish(e,t,i,n){let d=(await m.redditAPIPlugins.Moderation.Distinguish({id:e,how:i?"admin":"yes",sticky:t},n)).json?.data?.things?.[0]?.data;return v(d),{distinguishedBy:d.distinguished,stickied:!!d.stickied}}static async undistinguish(e,t){let s=(await m.redditAPIPlugins.Moderation.Distinguish({id:e,how:"no",sticky:!1},t)).json?.data?.things?.[0]?.data;return v(s),{distinguishedBy:s.distinguished,stickied:!!s.stickied}}static getCommentsByUser(e,t){let i=m.redditAPIPlugins.Users;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(n){let s=await i.UserWhere({username:e.username,where:"comments",...n},t);return v(s.data,"Failed to get comments for user"),{children:s.data.children?.map(d=>new G(d.data,t))||[],before:s.data.before,after:s.data.after}}})}};xr=new WeakMap,ss=new WeakMap,Zi=new WeakMap,Yi=new WeakMap,as=new WeakMap,ds=new WeakMap,Qi=new WeakMap,ls=new WeakMap,us=new WeakMap,en=new WeakMap,zt=new WeakMap,Cr=new WeakMap,Vt=new WeakMap,$t=new WeakMap,gt=new WeakMap,Ir=new WeakMap,ht=new WeakMap,cs=new WeakMap,ms=new WeakMap,ps=new WeakMap,fs=new WeakMap,gs=new WeakMap,hs=new WeakMap,ys=new WeakMap,ee=new WeakMap,tn=new WeakSet,Kd=function(e,t,i=0){return new W({limit:e.limit,pageSize:e.pageSize,fetch:async n=>{var h,P;let s=n.limit,a=m.redditAPIPlugins.Listings,d=m.redditAPIPlugins.LinksAndComments,p=e.commentId;if(n.more)if(n.more.children.length){let w=n.more;(!s||s>100)&&(s=100);let I=w.children.splice(0,s),T=await d.MoreChildren({linkId:e.postId,children:I,sort:e.sort},t);if(!T.json?.data?.things?.length)return{children:[]};let{children:D}=k(h=G,rn,Xd).call(h,T.json.data.things,e.postId,e,t);return{children:D,more:w.children.length?w:void 0}}else p=n.more.parentId,i=i+n.more.depth;let g=(await a.Comments({article:e.postId.substring(3),comment:p?.substring(3),limit:s,depth:e.depth,sort:e.sort},t)).listings?.[1]?.data?.children??[],c=g[0];return p&&c?.data?.replyList?.data&&(g=c.data.replyList.data.children),k(P=G,rn,Xd).call(P,g,p??e.postId,e,t,i)}})},rn=new WeakSet,Xd=function(e,t,i,n,s=0){var f,g;let a=[],d,p={};for(let c of e){if(!c.data||(c.data.depth!=null&&(c.data.depth=c.data.depth+s),c.data.depth!=null&&i.depth!=null&&c.data.depth>=i.depth))continue;let h=c.data.parentId?p[c.data.parentId]:void 0;if(c.kind==="t1"){if(c.data.name===t)continue;let P=new G(c.data,n);if(p[P.id]=P,l(P,en,k(f=G,tn,Kd).call(f,{...i,postId:P.postId,commentId:P.id},n,s)),"replyList"in c.data&&c.data.replyList?.data){let{children:w,more:I}=k(g=G,rn,Xd).call(g,c.data.replyList.data.children,P.id,i,n,s);w.length&&P.replies.children.push(...w),I&&P.replies.setMore(I)}P.replies.preventInitialFetch(),h?h.replies.children.push(P):a.push(P)}else if(c.kind==="more"&&c.data.parentId&&c.data.depth!=null){let P={parentId:pc(c.data.parentId)?jr(c.data.parentId):he(c.data.parentId),children:c.data.children??[],depth:c.data.depth};h?h.replies.setMore(P):P.parentId===t&&(d=P)}}return{children:a,more:d}},u(G,tn),u(G,rn);var Y=G;function sd(r,e){let t=m.redditAPIPlugins.Moderation;return new W({hasMore:!0,after:r.after,before:r.before,limit:r.limit,pageSize:r.pageSize,fetch:async i=>{let n=await t.AboutLog({subreddit:r.subredditName,mod:r.moderatorUsernames?r.moderatorUsernames.join(","):void 0,type:r.type,...i},e);return YF(n)}})}function YF(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:n,modId36:s,createdUtc:a,subreddit:d,subredditNamePrefixed:p,action:f,srId36:g,description:c,details:h,targetAuthor:P,targetBody:w,targetFullname:I,targetPermalink:T,targetTitle:D}=t.data;v(i,"ModAction from AboutLogResponse is missing id"),v(n,"ModAction from AboutLogResponse is missing mod"),v(s,"ModAction from AboutLogResponse is missing modId36"),v(a,"ModAction from AboutLogResponse is missing createdUtc"),v(d,"ModAction from AboutLogResponse is missing subreddit"),v(p,"ModAction from AboutLogResponse is missing subredditNamePrefixed"),v(f,"ModAction from AboutLogResponse is missing action"),v(g,"ModAction from AboutLogResponse is missing srId36");let Ke=new Date(0);return Ke.setUTCSeconds(a),{id:i,type:f,moderatorName:n,moderatorId:`t2_${s}`,createdAt:Ke,subredditName:d,subredditId:`t5_${g}`,description:c,details:h,target:I?{id:I,author:P,body:w,permalink:T,title:D}:void 0}}),after:r.data.after,before:r.data.before}}var QF=(a=>(a.New="New",a.InProgress="InProgress",a.Archived="Archived",a.Appeals="Appeals",a.JoinRequests="JoinRequests",a.Filtered="Filtered",a))(QF||{}),eO={0:"New",1:"InProgress",2:"Archived",3:"Appeals",4:"JoinRequests",5:"Filtered"},tO=(P=>(P.Highlighted="Highlighted",P.Unhighlighted="Unhighlighted",P.Archived="Archived",P.Unarchived="Unarchived",P.ReportedToAdmins="ReportedToAdmins",P.Muted="Muted",P.Unmuted="Unmuted",P.Banned="Banned",P.Unbanned="Unbanned",P.Approved="Approved",P.Disapproved="Disapproved",P.Filtered="Filtered",P.Unfiltered="Unfiltered",P))(tO||{}),rO={0:"Highlighted",1:"Unhighlighted",2:"Archived",3:"Unarchived",4:"ReportedToAdmins",5:"Muted",6:"Unmuted",7:"Banned",8:"Unbanned",9:"Approved",10:"Disapproved",11:"Filtered",12:"Unfiltered"},V,Q,oe,Zd,fP,Yd,gP,ad=class{constructor(e){u(this,Q);u(this,Zd);u(this,Yd);u(this,V,void 0);l(this,V,e)}async bulkReadConversations(e,t){let i=m.redditAPIPlugins.NewModmail,{conversationIds:n}=await i.BulkReadConversations({entity:e.join(","),state:t},o(this,V));return n}async getConversations(e){let i=await m.redditAPIPlugins.NewModmail.GetConversations({after:e.after,entity:e.subreddits?e.subreddits.join(","):void 0,limit:e.limit,sort:e.sort,state:e.state},o(this,V)),n={};for(let s in i.conversations)n[s]=k(this,Q,oe).call(this,{protoConversation:i.conversations[s],protoMessages:i.messages,protoModActions:{}});return{conversations:n,viewerId:i.viewerId}}async getConversation(e){let i=await m.redditAPIPlugins.NewModmail.GetConversation({...e,markRead:!!e.markRead},o(this,V));return{participantSubreddit:i.participantSubreddit,conversation:k(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async getSubreddits(){let e=m.redditAPIPlugins.NewModmail,{subreddits:t}=await e.Subreddits({},o(this,V));return t}async createConversation(e){let i=await m.redditAPIPlugins.NewModmail.CreateConversation({body:e.body,isAuthorHidden:e.isAuthorHidden??!1,srName:e.subredditName,subject:e.subject,to:e.to?e.to:void 0},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async reply(e){let i=await m.redditAPIPlugins.NewModmail.CreateConversationMessage({body:e.body,conversationId:e.conversationId,isAuthorHidden:e.isAuthorHidden??!1,isInternal:e.isInternal??!1},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:{}}),user:i.user}}async highlightConversation(e){let i=await m.redditAPIPlugins.NewModmail.HighlightConversation({conversationId:e},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async unhighlightConversation(e){let i=await m.redditAPIPlugins.NewModmail.UnhighlightConversation({conversationId:e},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async archiveConversation(e){let i=await m.redditAPIPlugins.NewModmail.ArchiveConversation({conversationId:e},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async unarchiveConversation(e){let i=await m.redditAPIPlugins.NewModmail.UnarchiveConversation({conversationId:e},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async muteConversation(e){let i=await m.redditAPIPlugins.NewModmail.MuteConversation({conversationId:e.conversationId,numHours:e.numHours},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async unmuteConversation(e){let i=await m.redditAPIPlugins.NewModmail.UnmuteConversation({conversationId:e},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async readConversations(e){await m.redditAPIPlugins.NewModmail.Read({conversationIds:e.join(",")},o(this,V))}async unreadConversations(e){await m.redditAPIPlugins.NewModmail.Unread({conversationIds:e.join(",")},o(this,V))}async approveConversation(e){let i=await m.redditAPIPlugins.NewModmail.ApproveConversation({conversationId:e},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async disapproveConversation(e){let i=await m.redditAPIPlugins.NewModmail.DisapproveConversation({conversationId:e},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async tempBanConversation(e){let i=await m.redditAPIPlugins.NewModmail.TempBan({...e},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async unbanConversation(e){let i=await m.redditAPIPlugins.NewModmail.Unban({conversationId:e},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async getUnreadCount(){return await m.redditAPIPlugins.NewModmail.UnreadCount({},o(this,V))}async getUserConversations(e){return await m.redditAPIPlugins.NewModmail.UserConversations({conversationId:e},o(this,V))}};V=new WeakMap,Q=new WeakSet,oe=function({protoConversation:e,protoMessages:t,protoModActions:i}){return{...e,state:eO[e.state],messages:k(this,Zd,fP).call(this,e,t),modActions:k(this,Yd,gP).call(this,e,i)}},Zd=new WeakSet,fP=function(e,t){let i={},n=e.objIds.filter(s=>s.key==="messages").map(({id:s})=>s);for(let s of n){let a=t[s];a&&(i[s]=a)}return i},Yd=new WeakSet,gP=function(e,t){let i={},n=e.objIds.filter(s=>s.key==="modActions").map(({id:s})=>s);for(let s of n){let a=t[s];a&&(i[s]={...a,actionType:rO[a.actionTypeId]})}return i};var nn,on,Qd,vs,bs,Ps,ks,Am=class Am{constructor(e,t){u(this,nn,void 0);u(this,on,void 0);u(this,Qd,void 0);u(this,vs,void 0);u(this,bs,void 0);u(this,Ps,void 0);u(this,ks,void 0);if(J(this),v(e.id,"PrivateMessage: Invalid data, no id"),v(e.name,"PrivateMessage: Invalid data, no name"),v(e.created,"PrivateMessage: Invalid data, no created date"),l(this,nn,Fe(e.name)),e.author!=null)l(this,on,{type:"user",username:e.author,id:e.authorFullname?ge(e.authorFullname):void 0});else if(e.subreddit!=null)l(this,on,{type:"subreddit",name:e.subreddit,id:e.subredditId?Re(e.subredditId):void 0});else throw new Error("PrivateMessage: Invalid data, no author or subreddit");l(this,vs,e.body??""),l(this,bs,e.bodyHtml??"");let i=new Date(0);i.setUTCSeconds(e.createdUtc),l(this,Ps,i),l(this,Qd,e.parentId?Fe(e.parentId):void 0),l(this,ks,t)}static async getMessages(e,t){let i=m.redditAPIPlugins.PrivateMessages;return new W({...e,fetch:async n=>{let s=await i.MessageWhere({...n,where:e.type??"inbox"},t);return{after:s.data?.after,before:s.data?.before,children:s.data?.children?.map(a=>new Am(a.data,t)).filter(Boolean)||[]}}})}static async send({to:e,subject:t,text:i},n){await m.redditAPIPlugins.PrivateMessages.Compose({to:e,subject:t,text:i,fromSr:""},n)}static async sendAsSubreddit({to:e,fromSubredditName:t,subject:i,text:n},s){await m.redditAPIPlugins.PrivateMessages.Compose({to:e,fromSr:t,subject:i,text:n},s)}static async markAllAsRead(e){await m.redditAPIPlugins.PrivateMessages.ReadAllMessages({filterTypes:""},e)}get id(){return o(this,nn)}get from(){return o(this,on)}get body(){return o(this,vs)}get bodyHtml(){return o(this,bs)}get created(){return o(this,Ps)}async markAsRead(){await m.redditAPIPlugins.PrivateMessages.ReadMessage({id:o(this,nn)},o(this,ks))}};nn=new WeakMap,on=new WeakMap,Qd=new WeakMap,vs=new WeakMap,bs=new WeakMap,Ps=new WeakMap,ks=new WeakMap;var or=Am;var lv=(s=>(s.Reports="reports",s.Spam="spam",s.Modqueue="modqueue",s.Unmoderated="unmoderated",s.Edited="edited",s))(lv||{}),sn,A,Ss,ws,xs,Cs,Is,As,Es,Ts,Rs,an,E,it=class it{constructor(e,t){u(this,sn,void 0);u(this,A,void 0);u(this,Ss,void 0);u(this,ws,void 0);u(this,xs,void 0);u(this,Cs,void 0);u(this,Is,void 0);u(this,As,void 0);u(this,Es,void 0);u(this,Ts,void 0);u(this,Rs,void 0);u(this,an,void 0);u(this,E,void 0);J(this),v(e.id,"Subreddit id is missing or undefined"),v(e.displayName,"Subreddit name is missing or undefined"),l(this,sn,Re(`t5_${e.id}`)),l(this,A,e.displayName),v(e.createdUtc,"Subreddit is missing created date");let i=new Date(0);i.setUTCSeconds(e.createdUtc),l(this,Ss,i),l(this,ws,iO(e.subredditType)),l(this,xs,e.title),l(this,Cs,e.description),v(e.lang,"Subreddit is missing language"),l(this,Is,e.lang),l(this,As,e.subscribers??0),l(this,Es,e.activeUserCount??0),l(this,Ts,e.over18??!1),l(this,an,e.url??""),l(this,Rs,{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:nO(e.submissionType),allowedMediaInComments:e.allowedMediaInComments.map(oO),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(o(this,an),"https://www.reddit.com").toString()}),l(this,E,t)}get id(){return o(this,sn)}get name(){return o(this,A)}get createdAt(){return o(this,Ss)}get type(){return o(this,ws)}get title(){return o(this,xs)}get description(){return o(this,Cs)}get language(){return o(this,Is)}get numberOfSubscribers(){return o(this,As)}get numberOfActiveUsers(){return o(this,Es)}get nsfw(){return o(this,Ts)}get settings(){return o(this,Rs)}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 o(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:o(this,A)};return $.submit(t,o(this,E))}getControversialPosts(e={}){if(!o(this,A))throw new Error("subreddit missing displayName - it might not have been fetched");return $.getControversialPosts({...e,subredditName:o(this,A)},o(this,E))}getTopPosts(e={}){if(!o(this,A))throw new Error("subreddit missing displayName - it might not have been fetched");return $.getTopPosts({...e,subredditName:o(this,A)},o(this,E))}getApprovedUsers(e={}){return C.getSubredditUsersByType({type:"contributors",subredditName:o(this,A),...e},o(this,E))}approveUser(e){return C.createRelationship({username:e,subredditName:o(this,A),type:"contributor"},o(this,E))}removeUser(e){return C.removeRelationship({username:e,subredditName:o(this,A),type:"contributor"},o(this,E))}getWikiContributors(e={}){return C.getSubredditUsersByType({type:"wikicontributors",subredditName:o(this,A),...e},o(this,E))}addWikiContributor(e){return C.createRelationship({username:e,subredditName:o(this,A),type:"wikicontributor"},o(this,E))}removeWikiContributor(e){return C.removeRelationship({username:e,subredditName:o(this,A),type:"wikicontributor"},o(this,E))}getBannedUsers(e={}){return C.getSubredditUsersByType({type:"banned",subredditName:o(this,A),...e},o(this,E))}banUser(e){return C.createRelationship({username:e.username,subredditName:o(this,A),type:"banned",banReason:e.reason,banMessage:e.message,note:e.note,duration:e.duration},o(this,E))}unbanUser(e){return C.removeRelationship({username:e,subredditName:o(this,A),type:"banned"},o(this,E))}getBannedWikiContributors(e={}){return C.getSubredditUsersByType({type:"wikibanned",subredditName:o(this,A),...e},o(this,E))}banWikiContributor(e){return C.createRelationship({username:e.username,subredditName:o(this,A),type:"wikibanned",banReason:e.reason,note:e.note,duration:e.duration},o(this,E))}unbanWikiContributor(e){return C.removeRelationship({username:e,subredditName:o(this,A),type:"wikibanned"},o(this,E))}getModerators(e={}){return C.getSubredditUsersByType({type:"moderators",subredditName:o(this,A),...e},o(this,E))}inviteModerator(e,t){return C.createRelationship({type:"moderator_invite",subredditName:o(this,A),username:e,permissions:t??[]},o(this,E))}revokeModeratorInvite(e){return C.removeRelationship({username:e,subredditName:o(this,A),type:"moderator_invite"},o(this,E))}removeModerator(e){return C.removeRelationship({type:"moderator",subredditName:o(this,A),username:e},o(this,E))}setModeratorPermissions(e,t){return C.setModeratorPermissions(e,o(this,A),t,o(this,E))}getMutedUsers(e={}){return C.getSubredditUsersByType({type:"muted",subredditName:o(this,A),...e},o(this,E))}muteUser(e,t){return C.createRelationship({username:e,subredditName:o(this,A),type:"muted",note:t},o(this,E))}unmuteUser(e){return C.removeRelationship({username:e,subredditName:o(this,A),type:"muted"},o(this,E))}getModerationLog(e){return sd({subredditName:o(this,A),...e},o(this,E))}getUserFlairTemplates(){return de.getUserFlairTemplates(o(this,A),o(this,E))}getPostFlairTemplates(){return de.getPostFlairTemplates(o(this,A),o(this,E))}createPostFlairTemplate(e){return de.createPostFlairTemplate({subredditName:o(this,A),...e},o(this,E))}createUserFlairTemplate(e){return de.createUserFlairTemplate({subredditName:o(this,A),...e},o(this,E))}async getUserFlair(e){if(e?.usernames!==void 0)return{users:await Promise.all(e.usernames.map(async i=>{let n=await Ue.getUserFlairBySubreddit({subreddit:o(this,A),name:i},o(this,E));return Lo(n.users[0])}))};{let t=await Ue.getUserFlairBySubreddit({...e,subreddit:o(this,A)},o(this,E));return{next:t.next,prev:t.prev,users:t.users.map(i=>Lo(i))}}}getModQueue(e={type:"all"}){return it.aboutLocation({...e,location:"modqueue",subreddit:o(this,A)},o(this,E))}getReports(e={type:"all"}){return it.aboutLocation({...e,location:"reports",subreddit:o(this,A)},o(this,E))}getSpam(e={type:"all"}){return it.aboutLocation({...e,location:"spam",subreddit:o(this,A)},o(this,E))}getUnmoderated(e={type:"all"}){return it.aboutLocation({...e,location:"unmoderated",subreddit:o(this,A)},o(this,E))}getEdited(e={type:"all"}){return it.aboutLocation({...e,location:"edited",subreddit:o(this,A)},o(this,E))}static aboutLocation(e,t){let i=m.redditAPIPlugins.Moderation,n;switch(e.type){case"post":n="links";break;case"comment":n="comments";break;default:n=void 0}return new W({...e,fetch:async s=>{let a=await i.AboutLocation({...s,...e,only:n},t);return hP(a,t)}})}getCommentsAndPostsByIds(e){let t=m.redditAPIPlugins.LinksAndComments;return new W({fetch:async()=>{let i=await t.Info({thingIds:e,subreddits:[o(this,sn)]},o(this,E));return hP(i,o(this,E))}})}static async addRemovalReason(e,t,i,n){return(await m.redditAPIPlugins.Subreddits.SubredditAddRemovalReason({title:t,message:i,subreddit:e},n)).id}static async getRemovalReasons(e,t){let n=await m.redditAPIPlugins.Subreddits.SubredditGetRemovalReasons({subreddit:e},t);return n.order.map(s=>({...n.data[s]}))}static async getFromMetadata(e){v(e);let t=ye(N.Subreddit,e);return v(t),it.getById(Re(t),e)}static async getById(e,t){let s=(await m.redditAPIPlugins.LinksAndComments.Info({thingIds:[e],subreddits:[]},t)).data?.children[0]?.data?.displayName;return v(s),it.getByName(s,t)}static async getByName(e,t){let n=await m.redditAPIPlugins.Subreddits.SubredditAbout({subreddit:e},t);if(!n?.data)throw new Error("not found");return new it(n.data,t)}};sn=new WeakMap,A=new WeakMap,Ss=new WeakMap,ws=new WeakMap,xs=new WeakMap,Cs=new WeakMap,Is=new WeakMap,As=new WeakMap,Es=new WeakMap,Ts=new WeakMap,Rs=new WeakMap,an=new WeakMap,E=new WeakMap;var ve=it;function iO(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 nO(r){if(r==="any"||r==="link"||r==="self")return r;throw new Error(`invalid allowed post type: ${r}`)}function oO(r){if(r==="animated"||r==="giphy"||r==="static"||r==="expression")return r;throw new Error(`invalid comment media type: ${r}`)}function hP(r,e){let i=(r.data?.children??[]).map(a=>{let d=n(a);if(d!=null)return d;let p=s(a);return p??null}).filter(Boolean);return{after:r.data?.after,before:r.data?.before,children:i};function n(a){try{return new $(a.data,e)}catch{return null}}function s(a){try{return new Y(a.data,e)}catch{return null}}}import{CommunityListWidget_CommunityData as sO,GetWidgetsResponse_WidgetItem as ce}from"@devvit/protos";var Fs,Os,Bs,Us,Tm=class Tm{constructor(e,t,i){u(this,Fs,void 0);u(this,Os,void 0);u(this,Bs,void 0);u(this,Us,void 0);J(this),l(this,Fs,e.id),l(this,Os,e.shortName),l(this,Bs,t),l(this,Us,i)}get id(){return o(this,Fs)}get name(){return o(this,Os)}get subredditName(){return o(this,Bs)}toJSON(){return{id:this.id,name:this.name,subredditName:this.subredditName}}delete(){return Tm.delete(this.subredditName,this.id,o(this,Us))}static async getWidgets(e,t){let n=await m.redditAPIPlugins.Widgets.GetWidgets({subreddit:e},t);v(n.layout,"Failed to load widgets for subreddit");let s=n.items,a=[];for(let d of n.layout.sidebar?.order??[]){let p=s[d];switch(p?.kind){case"image":a.push(new el(p,e,t));break;case"calendar":a.push(new tl(p,e,t));break;case"textarea":a.push(new rl(p,e,t));break;case"button":a.push(new il(p,e,t));break;case"community-list":a.push(new nl(p,e,t));break;case"post-flair":a.push(new ol(p,e,t));break;case"custom":a.push(new sl(p,e,t));break;case"subreddit-rules":{let f=await m.redditAPIPlugins.Subreddits.SubredditAboutRules({subreddit:e},t);a.push(new Em(f,p,e,t));break}default:throw new Error(`Unknown widget type: ${p.kind}`)}}return a}static async delete(e,t,i){await m.redditAPIPlugins.Widgets.DeleteWidget({subreddit:e,id:t},i)}static async reorder(e,t,i){await m.redditAPIPlugins.Widgets.OrderWidgets({subreddit:e,order:t},i)}static async add(e,t){switch(e?.type){case"image":return el.create(e,t);case"calendar":return tl.create(e,t);case"textarea":return rl.create(e,t);case"button":return il.create(e,t);case"community-list":return nl.create(e,t);case"post-flair":return ol.create(e,t);case"custom":return sl.create(e,t);default:throw new Error("Unknown widget type")}}};Fs=new WeakMap,Os=new WeakMap,Bs=new WeakMap,Us=new WeakMap;var ie=Tm,Ms,al=class al extends ie{constructor(t,i,n){super(t,i,n);u(this,Ms,void 0);l(this,Ms,t.data.map(s=>(v(s.url,"Image widget data is missing url"),v(s.height,"Image widget data is missing height"),v(s.width,"Image widget data is missing width"),v(s.linkUrl,"Image widget data is missing linkUrl"),{url:s.url,height:s.height,width:s.width,linkUrl:s.linkUrl})))}get images(){return o(this,Ms)}toJSON(){return{...super.toJSON(),images:this.images}}static async create(t,i){let s=await m.redditAPIPlugins.Widgets.AddImageWidget(t,i);return new al(ce.fromJSON(s),t.subreddit,i)}static async update(t,i){let s=await m.redditAPIPlugins.Widgets.UpdateImageWidget(t,i);return new al(ce.fromJSON(s),t.subreddit,i)}};Ms=new WeakMap;var el=al,Ls,Ds,Ns,dl=class dl extends ie{constructor(t,i,n){super(t,i,n);u(this,Ls,void 0);u(this,Ds,void 0);u(this,Ns,void 0);v(t.googleCalendarId,"Calendar widget data is missing googleCalendarId"),v(t.configuration,"Calendar widget data is missing configuration"),v(t.styles,"Calendar widget data is missing styles"),l(this,Ls,t.googleCalendarId),l(this,Ds,t.configuration),l(this,Ns,t.styles)}get googleCalendarId(){return o(this,Ls)}get configuration(){return o(this,Ds)}get styles(){return o(this,Ns)}toJSON(){return{...super.toJSON(),googleCalendarId:this.googleCalendarId,configuration:this.configuration,styles:this.styles}}static async create(t,i){let s=await m.redditAPIPlugins.Widgets.AddCalendarWidget(t,i);return new dl(ce.fromJSON(s),t.subreddit,i)}static async update(t,i){let s=await m.redditAPIPlugins.Widgets.UpdateCalendarWidget(t,i);return new dl(ce.fromJSON(s),t.subreddit,i)}};Ls=new WeakMap,Ds=new WeakMap,Ns=new WeakMap;var tl=dl,_s,qs,ll=class ll extends ie{constructor(t,i,n){super(t,i,n);u(this,_s,void 0);u(this,qs,void 0);v(t.text,"Textarea widget data is missing text"),v(t.styles,"Textarea widget data is missing styles"),l(this,_s,t.text),l(this,qs,t.styles)}get text(){return o(this,_s)}get styles(){return o(this,qs)}toJSON(){return{...super.toJSON(),text:this.text,styles:this.styles}}static async create(t,i){let s=await m.redditAPIPlugins.Widgets.AddTextAreaWidget(t,i);return new ll(ce.fromJSON(s),t.subreddit,i)}static async update(t,i){let s=await m.redditAPIPlugins.Widgets.UpdateTextAreaWidget(t,i);return new ll(ce.fromJSON(s),t.subreddit,i)}};_s=new WeakMap,qs=new WeakMap;var rl=ll,Hs,js,Ws,ul=class ul extends ie{constructor(t,i,n){super(t,i,n);u(this,Hs,void 0);u(this,js,void 0);u(this,Ws,void 0);v(t.styles,"Button widget data is missing styles"),l(this,Hs,t.buttons),l(this,js,t.description??""),l(this,Ws,t.styles)}get buttons(){return o(this,Hs)}get description(){return o(this,js)}get styles(){return o(this,Ws)}toJSON(){return{...super.toJSON(),buttons:this.buttons,description:this.description,styles:this.styles}}static async create(t,i){let s=await m.redditAPIPlugins.Widgets.AddButtonWidget(t,i);return new ul(ce.fromJSON(s),t.subreddit,i)}static async update(t,i){let s=await m.redditAPIPlugins.Widgets.UpdateButtonWidget(t,i);return new ul(ce.fromJSON(s),t.subreddit,i)}};Hs=new WeakMap,js=new WeakMap,Ws=new WeakMap;var il=ul,Gs,zs,cl=class cl extends ie{constructor(t,i,n){super(t,i,n);u(this,Gs,void 0);u(this,zs,void 0);l(this,Gs,t.data.map(s=>sO.fromJSON(s))),v(t.styles,"Community list widget data is missing styles"),l(this,zs,t.styles)}get communities(){return o(this,Gs)}get styles(){return o(this,zs)}toJSON(){return{...super.toJSON(),communities:this.communities,styles:this.styles}}static async create(t,i){let s=await m.redditAPIPlugins.Widgets.AddCommunityListWidget(t,i);return new cl(ce.fromJSON(s),t.subreddit,i)}static async update(t,i){let s=await m.redditAPIPlugins.Widgets.UpdateCommunityListWidget(t,i);return new cl(ce.fromJSON(s),t.subreddit,i)}};Gs=new WeakMap,zs=new WeakMap;var nl=cl,Vs,$s,Js,ml=class ml extends ie{constructor(t,i,n){super(t,i,n);u(this,Vs,void 0);u(this,$s,void 0);u(this,Js,void 0);if(v(t.styles,"Post flair widget data is missing styles"),l(this,Vs,t.styles),l(this,$s,t.order.map(s=>t.templates[s])),!(t.display&&t.display==="list"||t.display==="cloud"))throw new Error("Post flair widget data is missing display type");l(this,Js,t.display)}get styles(){return o(this,Vs)}get templates(){return o(this,$s)}get display(){return o(this,Js)}toJSON(){return{...super.toJSON(),styles:this.styles,templates:this.templates,display:this.display}}static async create(t,i){let s=await m.redditAPIPlugins.Widgets.AddPostFlairWidget(t,i);return new ml(ce.fromJSON(s),t.subreddit,i)}static async update(t,i){let s=await m.redditAPIPlugins.Widgets.UpdatePostFlairWidget(t,i);return new ml(ce.fromJSON(s),t.subreddit,i)}};Vs=new WeakMap,$s=new WeakMap,Js=new WeakMap;var ol=ml,Ks,Xs,Zs,Ys,Qs,pl=class pl extends ie{constructor(t,i,n){super(t,i,n);u(this,Ks,void 0);u(this,Xs,void 0);u(this,Zs,void 0);u(this,Ys,void 0);u(this,Qs,void 0);v(t.stylesheetUrl,"Custom widget data is missing stylesheetUrl"),v(t.height,"Custom widget data is missing height"),v(t.css,"Custom widget data is missing css"),l(this,Ks,t.imageData??[]),l(this,Xs,t.text??""),l(this,Zs,t.stylesheetUrl),l(this,Ys,t.height),l(this,Qs,t.css)}get images(){return o(this,Ks)}get text(){return o(this,Xs)}get stylesheetUrl(){return o(this,Zs)}get height(){return o(this,Ys)}get css(){return o(this,Qs)}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 s=await m.redditAPIPlugins.Widgets.AddCustomWidget(t,i);return new pl(ce.fromJSON(s),t.subreddit,i)}static async update(t,i){let s=await m.redditAPIPlugins.Widgets.UpdateCustomWidget(t,i);return new pl(ce.fromJSON(s),t.subreddit,i)}};Ks=new WeakMap,Xs=new WeakMap,Zs=new WeakMap,Ys=new WeakMap,Qs=new WeakMap;var sl=pl,ea,Em=class extends ie{constructor(t,i,n,s){super(i,n,s);u(this,ea,void 0);let a=t.rules.map(({description:d,priority:p,shortName:f,violationReason:g})=>(v(d,"Subreddit rule is missing description"),v(p,"Subreddit rule is missing priority"),v(f,"Subreddit rule is missing shortName"),v(g,"Subreddit rule is missing violationReason"),{description:d,priority:p,shortName:f,violationReason:g}));l(this,ea,a)}get rules(){return o(this,ea)}toJSON(){return{...super.toJSON(),rules:this.rules}}};ea=new WeakMap;var aO=(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))(aO||{}),Pe,ke,dn,ln,un,cn,mn,Je,Ne=class Ne{constructor(e,t,i,n){u(this,Pe,void 0);u(this,ke,void 0);u(this,dn,void 0);u(this,ln,void 0);u(this,un,void 0);u(this,cn,void 0);u(this,mn,void 0);u(this,Je,void 0);J(this),l(this,Pe,e),l(this,ke,t),l(this,dn,i.contentMd),l(this,ln,i.revisionId),l(this,un,new Date(i.revisionDate)),l(this,cn,i.reason??""),v(i.revisionBy?.data,"Wiki page author details are missing"),l(this,mn,new C(i.revisionBy.data,n)),l(this,Je,n)}get name(){return o(this,Pe)}get subredditName(){return o(this,ke)}get content(){return o(this,dn)}get revisionId(){return o(this,ln)}get revisionDate(){return o(this,un)}get revisionReason(){return o(this,cn)}get revisionAuthor(){return o(this,mn)}toJSON(){return{name:o(this,Pe),subredditName:o(this,ke),content:o(this,dn),revisionId:o(this,ln),revisionDate:o(this,un),revisionReason:o(this,cn),revisionAuthor:o(this,mn).toJSON()}}async update(e,t){return Ne.updatePage({subredditName:o(this,ke),page:o(this,Pe),content:e,reason:t},o(this,Je))}async getRevisions(e){return Ne.getPageRevisions({subredditName:o(this,ke),page:o(this,Pe),...e},o(this,Je))}async revertTo(e){return Ne.revertPage(o(this,ke),o(this,Pe),e,o(this,Je))}async getSettings(){return Ne.getPageSettings(o(this,ke),o(this,Pe),o(this,Je))}async updateSettings(e){return Ne.updatePageSettings({subredditName:o(this,ke),page:o(this,Pe),listed:e.listed,permLevel:e.permLevel},o(this,Je))}async addEditor(e){return Ne.addEditor(o(this,ke),o(this,Pe),e,o(this,Je))}async removeEditor(e){return Ne.removeEditor(o(this,ke),o(this,Pe),e,o(this,Je))}static async getPage(e,t,i){let s=await m.redditAPIPlugins.Wiki.GetWikiPage({subreddit:e,page:t},i);return v(s.data,"Failed to get wiki page"),new Ne(t,e,s.data,i)}static async getPages(e,t){return(await m.redditAPIPlugins.Wiki.GetWikiPages({subreddit:e},t)).data||[]}static async createPage(e,t){return Ne.updatePage(e,t)}static async updatePage(e,t){return await m.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=m.redditAPIPlugins.Wiki;return new W({hasMore:!0,after:e.after,limit:e.limit,pageSize:e.pageSize,async fetch(n){let s=await i.GetWikiPageRevisions({subreddit:e.subredditName,page:e.page,limit:n.limit,after:n.after,before:n.before},t);return dO(s,t)}})}static async revertPage(e,t,i,n){await m.redditAPIPlugins.Wiki.RevertWikiPage({subreddit:e,page:t,revision:i},n)}static async getPageSettings(e,t,i){let s=await m.redditAPIPlugins.Wiki.GetWikiPageSettings({subreddit:e,page:t},i);return v(s.data,"Failed to get wiki page settings"),new fl(s.data,i)}static async updatePageSettings(e,t){let n=await m.redditAPIPlugins.Wiki.UpdateWikiPageSettings({subreddit:e.subredditName,page:e.page,listed:e.listed?"on":"",permlevel:e.permLevel},t);return v(n.data,"Failed to update wiki page settings"),new fl(n.data,t)}static async addEditor(e,t,i,n){await m.redditAPIPlugins.Wiki.AllowEditor({act:"add",subreddit:e,page:t,username:i},n)}static async removeEditor(e,t,i,n){await m.redditAPIPlugins.Wiki.AllowEditor({act:"del",subreddit:e,page:t,username:i},n)}};Pe=new WeakMap,ke=new WeakMap,dn=new WeakMap,ln=new WeakMap,un=new WeakMap,cn=new WeakMap,mn=new WeakMap,Je=new WeakMap;var be=Ne,pn,fn,gn,hn,yn,vn,Rm=class{constructor(e,t){u(this,pn,void 0);u(this,fn,void 0);u(this,gn,void 0);u(this,hn,void 0);u(this,yn,void 0);u(this,vn,void 0);l(this,pn,e.id),l(this,fn,e.page),l(this,gn,new Date(e.timestamp)),v(e.author?.data,"Wiki page revision author details are missing"),l(this,hn,new C(e.author.data,t)),l(this,yn,e.reason??""),l(this,vn,e.revisionHidden??!1)}get id(){return o(this,pn)}get page(){return o(this,fn)}get date(){return o(this,gn)}get author(){return o(this,hn)}get reason(){return o(this,yn)}get hidden(){return o(this,vn)}toJSON(){return{id:o(this,pn),page:o(this,fn),date:o(this,gn),author:o(this,hn).toJSON(),reason:o(this,yn),hidden:o(this,vn)}}};pn=new WeakMap,fn=new WeakMap,gn=new WeakMap,hn=new WeakMap,yn=new WeakMap,vn=new WeakMap;var bn,Pn,kn,fl=class{constructor(e,t){u(this,bn,void 0);u(this,Pn,void 0);u(this,kn,void 0);l(this,bn,e.listed),l(this,Pn,e.permLevel),l(this,kn,e.editors.map(i=>(v(i.data,"Wiki page editor details are missing"),new C(i.data,t))))}get listed(){return o(this,bn)}get permLevel(){return o(this,Pn)}get editors(){return o(this,kn)}toJSON(){return{listed:o(this,bn),permLevel:o(this,Pn),editors:o(this,kn).map(e=>e.toJSON())}}};bn=new WeakMap,Pn=new WeakMap,kn=new WeakMap;function dO(r,e){return v(r.data?.children,"Wiki page revision listing is missing children"),{children:r.data.children.map(i=>new Rm(i,e)),before:r.data.before,after:r.data.after}}var lO=(t=>(t.Gallery="GALLERY",t.Timeline="TIMELINE",t))(lO||{});function uO(r){return r==="GALLERY"?"GALLERY":"TIMELINE"}var _e,Se,ra,Sn,wn,ia,na,oa,sa,yt,aa,da,xn,ta=class ta{constructor(e,t){u(this,_e,void 0);u(this,Se,void 0);u(this,ra,void 0);u(this,Sn,void 0);u(this,wn,void 0);u(this,ia,void 0);u(this,na,void 0);u(this,oa,void 0);u(this,sa,void 0);u(this,yt,void 0);u(this,aa,void 0);u(this,da,void 0);u(this,xn,void 0);v(e.collectionId,"Collection Id is missing or undefined"),v(e.subredditId,"Subreddit Id is missing or undefined"),v(e.title,"Collection title is missing or undefined"),v(e.authorId,"Collection author's id is missing or undefined"),v(e.authorName,"Collection author's id is missing or undefined"),v(e.createdAtUtc,"Collection create timestamp is missing"),v(e.lastUpdateUtc,"Collection last updated timestamp is missing"),l(this,_e,t),l(this,Se,e.collectionId),l(this,ra,e.subredditId),l(this,Sn,e.title),l(this,wn,e.description||""),l(this,ia,e.authorId),l(this,na,e.authorName),l(this,oa,e.permalink),l(this,sa,e.primaryLinkId),l(this,yt,e.linkIds||[]),l(this,xn,uO(e.displayLayout)),l(this,aa,e.createdAtUtc),l(this,da,e.lastUpdateUtc),J(this)}get id(){return o(this,Se)}get subredditId(){return o(this,ra)}get title(){return o(this,Sn)}get description(){return o(this,wn)}get authorId(){return o(this,ia)}get authorName(){return o(this,na)}get permalink(){return o(this,oa)}get primaryLinkId(){return o(this,sa)}get linkIds(){return o(this,yt)}get createdAtUtc(){return o(this,aa)}get lastUpdateUtc(){return o(this,da)}get displayLayout(){return o(this,xn)}static async getCollectionById(e,t){let n=await m.redditAPIPlugins.PostCollections.Collection(e,t);return new ta(n,t)}static async create(e,t){let n=await m.redditAPIPlugins.PostCollections.Create({srFullname:e.subredditId,title:e.title,description:e.description,displayLayout:e.displayLayout},t);return new ta(n,t)}static async getCollectionsForSubreddit(e,t){return(await m.redditapiv2Plugin.GetSubredditCollections({srFullname:e.subredditId},t)).collections.map(n=>new ta(n,t))}async addPost(e){await m.redditAPIPlugins.PostCollections.AddPost({collectionId:o(this,Se),linkFullname:e},o(this,_e)),o(this,yt).push(e)}async removePost(e){await m.redditAPIPlugins.PostCollections.RemovePost({collectionId:o(this,Se),linkFullname:e},o(this,_e)),l(this,yt,o(this,yt).filter(i=>i!==e))}async delete(){await m.redditAPIPlugins.PostCollections.Delete({collectionId:o(this,Se)},o(this,_e))}async follow(e){await m.redditAPIPlugins.PostCollections.Follow({collectionId:o(this,Se),follow:e},o(this,_e))}async reorder(e){await m.redditAPIPlugins.PostCollections.Reorder({collectionId:o(this,Se),linkIds:e.join(",")},o(this,_e)),l(this,yt,e)}async updateTitle(e){await m.redditAPIPlugins.PostCollections.UpdateTitle({collectionId:o(this,Se),title:e},o(this,_e)),l(this,Sn,e)}async updateDescription(e){await m.redditAPIPlugins.PostCollections.UpdateDescription({collectionId:o(this,Se),description:e},o(this,_e)),l(this,wn,e)}async updateLayout(e){await m.redditAPIPlugins.PostCollections.UpdateDisplayLayout({collectionId:o(this,Se),displayLayout:e},o(this,_e)),l(this,xn,e)}};_e=new WeakMap,Se=new WeakMap,ra=new WeakMap,Sn=new WeakMap,wn=new WeakMap,ia=new WeakMap,na=new WeakMap,oa=new WeakMap,sa=new WeakMap,yt=new WeakMap,aa=new WeakMap,da=new WeakMap,xn=new WeakMap;var ri=ta;var cO=["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"],mO=["border-image","border-image-source","behavior","expression","list-style-image","cursor","content"],pO=["onload","onerror","onclick","onmouseover"];function fO(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 yP(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*(${cO.join("|")})\\b`,"gi"),t=new RegExp(`(${mO.join("|")})\\s*:\\s*url\\s*\\((['"]?)(.*?)\\2\\)`,"gi"),i=new RegExp(`(${pO.join("|")})\\s*(=\\s*(['"]?)(.*?)\\3)?`,"gi");r=r.trim().replace(/\s+/g," "),r=fO(r);let n=r.match(e)||[],s=r.match(t)||[],a=r.match(i)||[],d=!1;return n.length>0&&(d=!0,console.warn(`Disallowed elements detected in SVG: ${n.map(p=>p.replace("<","")).join(", ")}`)),s.length>0&&(d=!0,console.warn(`Disallowed styles detected in SVG: ${s.map(p=>p.split(":")[0]).join(", ")}`)),a.length>0&&(d=!0,console.warn(`Disallowed attributes detected in SVG: ${a.map(p=>p.split("=")[0]).join(", ")}`)),d?void 0:r}catch{return}}}function n2(r,...e){let t="";return r.forEach((i,n)=>{t+=i;let s=e[n];s!==void 0&&(t+=`${s}`)}),t=yP(t),t===void 0?"":`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(t)}`}export{MU as ALL_ICON_NAMES,lv as AboutLocations,il as ButtonWidget,tl as CalendarWidget,lO as CollectionDisplayLayout,Y as Comment,nl as CommunityListWidget,sl as CustomWidget,m as Devvit,Ue as Flair,de as FlairTemplate,zF as FlairType,St as Hook,el as ImageWidget,W as Listing,tO as ModMailActionType,QF as ModMailConversationState,ad as ModMailService,Be as ModNote,$ as Post,ri as PostCollection,ol as PostFlairWidget,or as PrivateMessage,Oo as RichTextBuilder,fc as SettingScope,ve as Subreddit,Em as SubredditRulesWidget,rl as TextAreaWidget,C as User,ie as Widget,be as WikiPage,aO as WikiPagePermissionLevel,Rm as WikiPageRevision,fl as WikiPageSettings,Lo as convertUserFlairProtoToAPI,sd as getModerationLog,n2 as svg};
5
+ `))}static async getSnoovatarUrl(e,t){let i="GetSnoovatarUrlByName",n="c47fd42345af268616d2d8904b56856acdc05cf61d3650380f539ad7d596ac0c";return(await $d.query(i,n,{username:e},t)).data?.redditorInfoByName?.snoovatarIcon?.url}static getOverview(e,t){let i=m.redditAPIPlugins.Users;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(n){let s=await i.UserWhere({username:e.username,where:"overview",...n},t);return XF(s,t)}})}};Yo=new WeakMap,Xi=new WeakMap,Qo=new WeakMap,es=new WeakMap,ts=new WeakMap,rs=new WeakMap,is=new WeakMap,zt=new WeakMap,ns=new WeakMap,os=new WeakMap,ft=new WeakMap;var C=xr;function XF(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 $(i.data,e);if(i.kind==="t1")return new Y(i.data,e);throw new Error(`Type ${i.kind} is not supported`)}),before:r.data.before,after:r.data.after}}async function ZF(r,e,t){let i=m.redditAPIPlugins.Users;if(!r.data?.children)throw new Error("Listing response is missing children");let n=r.data.children.map(g=>(v(g.data?.id,"User id is still from listing data"),g.data.id)),s=100,a=[];for(let g=0;g<n.length;g+=s)a.push(n.slice(g,g+s));let p=(await Promise.all(a.map(g=>i.UserDataByAccountIds({ids:g.join(",")},t)))).reduce((g,c)=>({...g,...c.users}),{});return{children:r.data.children.map(g=>{let c=g.data?.id;v(c,"User id is missing from listing");let h=p[c];return v(h,"User data is missing from response"),new C({id:c,name:h.name,linkKarma:h.linkKarma,commentKarma:h.commentKarma,createdUtc:h.createdUtc,over18:h.profileOver18,snoovatarSize:[],modPermissions:{[e]:g.data?.modPermissions??[]}},t)}),before:r.data.before,after:r.data.after}}var Cr,ss,Zi,Yi,as,ds,Qi,ls,us,en,Vt,Ir,$t,Jt,gt,Ar,ht,cs,ms,ps,fs,gs,hs,ys,ee,tn,Kd,rn,Xd,G=class G{constructor(e,t){u(this,Cr,void 0);u(this,ss,void 0);u(this,Zi,void 0);u(this,Yi,void 0);u(this,as,void 0);u(this,ds,void 0);u(this,Qi,void 0);u(this,ls,void 0);u(this,us,void 0);u(this,en,void 0);u(this,Vt,void 0);u(this,Ir,void 0);u(this,$t,void 0);u(this,Jt,void 0);u(this,gt,void 0);u(this,Ar,void 0);u(this,ht,void 0);u(this,cs,void 0);u(this,ms,void 0);u(this,ps,void 0);u(this,fs,void 0);u(this,gs,void 0);u(this,hs,void 0);u(this,ys,void 0);u(this,ee,void 0);var n;J(this),v(e.id,"Comment id is null or undefined"),v(e.body,"Comment body is null or undefined"),v(e.createdUtc,"Comment is missing created date"),v(e.author,"Comment author is null or undefined"),v(e.parentId,"Comment parentId is null or undefined"),v(e.linkId,"Comment linkId is null or undefined"),v(e.permalink,"Comment permalink is null or undefined"),v(e.subreddit,"Comment is missing subreddit name"),v(e.subredditId,"Comment is missing subreddit id"),l(this,Cr,Wr(`t1_${e.id}`)),l(this,ss,e.authorFullname?ge(e.authorFullname):void 0),l(this,Zi,e.author),l(this,Yi,e.body),l(this,ls,Re(e.subredditId)),l(this,us,e.subreddit),l(this,ds,pc(e.parentId)?Wr(e.parentId):he(e.parentId)),l(this,Qi,he(e.linkId)),l(this,Ir,e.edited??!1),l(this,$t,e.locked??!1),l(this,Jt,e.removed??!1),l(this,gt,e.stickied??!1),l(this,Vt,e.approved??!1),l(this,Ar,e.spam??!1),l(this,ht,e.distinguished),l(this,cs,e.numReports??0),l(this,ms,e.collapsedBecauseCrowdControl??!1),l(this,ps,e.score??0),l(this,fs,e.permalink),l(this,ys,new URL(e.permalink??"","https://www.reddit.com/").toString()),l(this,gs,(e.modReports??[]).map(([s])=>s)),l(this,hs,(e.userReports??[]).map(([s])=>s));let i=new Date(0);i.setUTCSeconds(e.createdUtc),l(this,as,i),l(this,en,k(n=G,tn,Kd).call(n,{postId:o(this,Qi),commentId:o(this,Cr)},t)),l(this,ee,t)}get id(){return o(this,Cr)}get authorId(){return o(this,ss)}get authorName(){return o(this,Zi)}get subredditId(){return o(this,ls)}get subredditName(){return o(this,us)}get body(){return o(this,Yi)}get createdAt(){return o(this,as)}get parentId(){return o(this,ds)}get postId(){return o(this,Qi)}get replies(){return o(this,en)}get distinguishedBy(){return o(this,ht)}get locked(){return o(this,$t)}get stickied(){return o(this,gt)}get removed(){return o(this,Jt)}get approved(){return o(this,Vt)}get spam(){return o(this,Ar)}get edited(){return o(this,Ir)}get numReports(){return o(this,cs)}get collapsedBecauseCrowdControl(){return o(this,ms)}get score(){return o(this,ps)}get permalink(){return o(this,fs)}get userReportReasons(){return o(this,hs)}get modReportReasons(){return o(this,gs)}get url(){return o(this,ys)}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 o(this,$t)}isApproved(){return o(this,Vt)}isRemoved(){return o(this,Jt)}isSpam(){return o(this,Ar)}isStickied(){return o(this,gt)}isDistinguished(){return!!o(this,ht)}isEdited(){return o(this,Ir)}async delete(){return G.delete(this.id,o(this,ee))}async edit(e){let t=await G.edit({id:this.id,...e},o(this,ee));return l(this,Yi,t.body),l(this,Ir,t.edited),this}async approve(){await G.approve(this.id,o(this,ee)),l(this,Vt,!0),l(this,Jt,!1)}async remove(e=!1){await G.remove(this.id,e,o(this,ee)),l(this,Jt,!0),l(this,Ar,e),l(this,Vt,!1)}async lock(){await G.lock(this.id,o(this,ee)),l(this,$t,!0)}async unlock(){await G.unlock(this.id,o(this,ee)),l(this,$t,!1)}async reply(e){return G.submit({id:this.id,...e},o(this,ee))}async getAuthor(){return C.getByUsername(o(this,Zi),o(this,ee))}async distinguish(e=!1){let{distinguishedBy:t,stickied:i}=await G.distinguish(this.id,e,!1,o(this,ee));l(this,ht,t),l(this,gt,i)}async distinguishAsAdmin(e=!1){let{distinguishedBy:t,stickied:i}=await G.distinguish(this.id,e,!0,o(this,ee));l(this,ht,t),l(this,gt,i)}async undistinguish(){let{distinguishedBy:e,stickied:t}=await G.undistinguish(this.id,o(this,ee));l(this,ht,e),l(this,gt,t)}addRemovalNote(e){return Be.addRemovalNote({itemIds:[o(this,Cr)],...e},o(this,ee))}static async getById(e,t){let i=m.redditAPIPlugins.LinksAndComments,n=kt(e)?e:`t1_${e}`,s=await i.Info({subreddits:[],thingIds:[n]},t);if(!s.data?.children?.[0]?.data)throw new Error("not found");return new G(s.data.children[0].data,t)}static getComments(e,t){var a;let{postId:i,commentId:n,...s}=e;return k(a=G,tn,Kd).call(a,{postId:he(i),commentId:n?Wr(n):void 0,...s},t)}static async edit(e,t){let i=m.redditAPIPlugins.LinksAndComments,{id:n}=e,s;"richtext"in e&&(s=Ai(e.richtext));let a=await i.EditUserText({thingId:n,text:"text"in e?e.text:"",richtextJson:s},t);if(a.json?.errors?.length)throw new Error("Failed to edit comment");let d=a.json?.data?.things?.[0]?.data;return v(d),new G(d,t)}static async delete(e,t){await m.redditAPIPlugins.LinksAndComments.Del({id:e},t)}static async approve(e,t){await m.redditAPIPlugins.Moderation.Approve({id:e},t)}static async remove(e,t=!1,i){await m.redditAPIPlugins.Moderation.Remove({id:e,spam:t},i)}static async lock(e,t){await m.redditAPIPlugins.LinksAndComments.Lock({id:e},t)}static async unlock(e,t){await m.redditAPIPlugins.LinksAndComments.Unlock({id:e},t)}static async submit(e,t){let i=m.redditAPIPlugins.LinksAndComments,{id:n}=e,s;"richtext"in e&&(s=Ai(e.richtext));let a=await i.Comment({thingId:n,text:"text"in e?e.text:"",richtextJson:s},t);if(a.json?.errors?.length)throw new Error("failed to reply to comment");let d=a.json?.data?.things?.[0]?.data;return v(d),new G(d,t)}static async distinguish(e,t,i,n){let d=(await m.redditAPIPlugins.Moderation.Distinguish({id:e,how:i?"admin":"yes",sticky:t},n)).json?.data?.things?.[0]?.data;return v(d),{distinguishedBy:d.distinguished,stickied:!!d.stickied}}static async undistinguish(e,t){let s=(await m.redditAPIPlugins.Moderation.Distinguish({id:e,how:"no",sticky:!1},t)).json?.data?.things?.[0]?.data;return v(s),{distinguishedBy:s.distinguished,stickied:!!s.stickied}}static getCommentsByUser(e,t){let i=m.redditAPIPlugins.Users;return new W({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(n){let s=await i.UserWhere({username:e.username,where:"comments",...n},t);return v(s.data,"Failed to get comments for user"),{children:s.data.children?.map(d=>new G(d.data,t))||[],before:s.data.before,after:s.data.after}}})}};Cr=new WeakMap,ss=new WeakMap,Zi=new WeakMap,Yi=new WeakMap,as=new WeakMap,ds=new WeakMap,Qi=new WeakMap,ls=new WeakMap,us=new WeakMap,en=new WeakMap,Vt=new WeakMap,Ir=new WeakMap,$t=new WeakMap,Jt=new WeakMap,gt=new WeakMap,Ar=new WeakMap,ht=new WeakMap,cs=new WeakMap,ms=new WeakMap,ps=new WeakMap,fs=new WeakMap,gs=new WeakMap,hs=new WeakMap,ys=new WeakMap,ee=new WeakMap,tn=new WeakSet,Kd=function(e,t,i=0){return new W({limit:e.limit,pageSize:e.pageSize,fetch:async n=>{var h,P;let s=n.limit,a=m.redditAPIPlugins.Listings,d=m.redditAPIPlugins.LinksAndComments,p=e.commentId;if(n.more)if(n.more.children.length){let w=n.more;(!s||s>100)&&(s=100);let I=w.children.splice(0,s),T=await d.MoreChildren({linkId:e.postId,children:I,sort:e.sort},t);if(!T.json?.data?.things?.length)return{children:[]};let{children:D}=k(h=G,rn,Xd).call(h,T.json.data.things,e.postId,e,t);return{children:D,more:w.children.length?w:void 0}}else p=n.more.parentId,i=i+n.more.depth;let g=(await a.Comments({article:e.postId.substring(3),comment:p?.substring(3),limit:s,depth:e.depth,sort:e.sort},t)).listings?.[1]?.data?.children??[],c=g[0];return p&&c?.data?.replyList?.data&&(g=c.data.replyList.data.children),k(P=G,rn,Xd).call(P,g,p??e.postId,e,t,i)}})},rn=new WeakSet,Xd=function(e,t,i,n,s=0){var f,g;let a=[],d,p={};for(let c of e){if(!c.data||(c.data.depth!=null&&(c.data.depth=c.data.depth+s),c.data.depth!=null&&i.depth!=null&&c.data.depth>=i.depth))continue;let h=c.data.parentId?p[c.data.parentId]:void 0;if(c.kind==="t1"){if(c.data.name===t)continue;let P=new G(c.data,n);if(p[P.id]=P,l(P,en,k(f=G,tn,Kd).call(f,{...i,postId:P.postId,commentId:P.id},n,s)),"replyList"in c.data&&c.data.replyList?.data){let{children:w,more:I}=k(g=G,rn,Xd).call(g,c.data.replyList.data.children,P.id,i,n,s);w.length&&P.replies.children.push(...w),I&&P.replies.setMore(I)}P.replies.preventInitialFetch(),h?h.replies.children.push(P):a.push(P)}else if(c.kind==="more"&&c.data.parentId&&c.data.depth!=null){let P={parentId:pc(c.data.parentId)?Wr(c.data.parentId):he(c.data.parentId),children:c.data.children??[],depth:c.data.depth};h?h.replies.setMore(P):P.parentId===t&&(d=P)}}return{children:a,more:d}},u(G,tn),u(G,rn);var Y=G;function sd(r,e){let t=m.redditAPIPlugins.Moderation;return new W({hasMore:!0,after:r.after,before:r.before,limit:r.limit,pageSize:r.pageSize,fetch:async i=>{let n=await t.AboutLog({subreddit:r.subredditName,mod:r.moderatorUsernames?r.moderatorUsernames.join(","):void 0,type:r.type,...i},e);return YF(n)}})}function YF(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:n,modId36:s,createdUtc:a,subreddit:d,subredditNamePrefixed:p,action:f,srId36:g,description:c,details:h,targetAuthor:P,targetBody:w,targetFullname:I,targetPermalink:T,targetTitle:D}=t.data;v(i,"ModAction from AboutLogResponse is missing id"),v(n,"ModAction from AboutLogResponse is missing mod"),v(s,"ModAction from AboutLogResponse is missing modId36"),v(a,"ModAction from AboutLogResponse is missing createdUtc"),v(d,"ModAction from AboutLogResponse is missing subreddit"),v(p,"ModAction from AboutLogResponse is missing subredditNamePrefixed"),v(f,"ModAction from AboutLogResponse is missing action"),v(g,"ModAction from AboutLogResponse is missing srId36");let Ke=new Date(0);return Ke.setUTCSeconds(a),{id:i,type:f,moderatorName:n,moderatorId:`t2_${s}`,createdAt:Ke,subredditName:d,subredditId:`t5_${g}`,description:c,details:h,target:I?{id:I,author:P,body:w,permalink:T,title:D}:void 0}}),after:r.data.after,before:r.data.before}}var QF=(a=>(a.New="New",a.InProgress="InProgress",a.Archived="Archived",a.Appeals="Appeals",a.JoinRequests="JoinRequests",a.Filtered="Filtered",a))(QF||{}),eO={0:"New",1:"InProgress",2:"Archived",3:"Appeals",4:"JoinRequests",5:"Filtered"},tO=(P=>(P.Highlighted="Highlighted",P.Unhighlighted="Unhighlighted",P.Archived="Archived",P.Unarchived="Unarchived",P.ReportedToAdmins="ReportedToAdmins",P.Muted="Muted",P.Unmuted="Unmuted",P.Banned="Banned",P.Unbanned="Unbanned",P.Approved="Approved",P.Disapproved="Disapproved",P.Filtered="Filtered",P.Unfiltered="Unfiltered",P))(tO||{}),rO={0:"Highlighted",1:"Unhighlighted",2:"Archived",3:"Unarchived",4:"ReportedToAdmins",5:"Muted",6:"Unmuted",7:"Banned",8:"Unbanned",9:"Approved",10:"Disapproved",11:"Filtered",12:"Unfiltered"},V,Q,oe,Zd,fP,Yd,gP,ad=class{constructor(e){u(this,Q);u(this,Zd);u(this,Yd);u(this,V,void 0);l(this,V,e)}async bulkReadConversations(e,t){let i=m.redditAPIPlugins.NewModmail,{conversationIds:n}=await i.BulkReadConversations({entity:e.join(","),state:t},o(this,V));return n}async getConversations(e){let i=await m.redditAPIPlugins.NewModmail.GetConversations({after:e.after,entity:e.subreddits?e.subreddits.join(","):void 0,limit:e.limit,sort:e.sort,state:e.state},o(this,V)),n={};for(let s in i.conversations)n[s]=k(this,Q,oe).call(this,{protoConversation:i.conversations[s],protoMessages:i.messages,protoModActions:{}});return{conversations:n,viewerId:i.viewerId}}async getConversation(e){let i=await m.redditAPIPlugins.NewModmail.GetConversation({...e,markRead:!!e.markRead},o(this,V));return{participantSubreddit:i.participantSubreddit,conversation:k(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async getSubreddits(){let e=m.redditAPIPlugins.NewModmail,{subreddits:t}=await e.Subreddits({},o(this,V));return t}async createConversation(e){let i=await m.redditAPIPlugins.NewModmail.CreateConversation({body:e.body,isAuthorHidden:e.isAuthorHidden??!1,srName:e.subredditName,subject:e.subject,to:e.to?e.to:void 0},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async reply(e){let i=await m.redditAPIPlugins.NewModmail.CreateConversationMessage({body:e.body,conversationId:e.conversationId,isAuthorHidden:e.isAuthorHidden??!1,isInternal:e.isInternal??!1},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:{}}),user:i.user}}async highlightConversation(e){let i=await m.redditAPIPlugins.NewModmail.HighlightConversation({conversationId:e},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async unhighlightConversation(e){let i=await m.redditAPIPlugins.NewModmail.UnhighlightConversation({conversationId:e},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async archiveConversation(e){let i=await m.redditAPIPlugins.NewModmail.ArchiveConversation({conversationId:e},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async unarchiveConversation(e){let i=await m.redditAPIPlugins.NewModmail.UnarchiveConversation({conversationId:e},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async muteConversation(e){let i=await m.redditAPIPlugins.NewModmail.MuteConversation({conversationId:e.conversationId,numHours:e.numHours},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async unmuteConversation(e){let i=await m.redditAPIPlugins.NewModmail.UnmuteConversation({conversationId:e},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async readConversations(e){await m.redditAPIPlugins.NewModmail.Read({conversationIds:e.join(",")},o(this,V))}async unreadConversations(e){await m.redditAPIPlugins.NewModmail.Unread({conversationIds:e.join(",")},o(this,V))}async approveConversation(e){let i=await m.redditAPIPlugins.NewModmail.ApproveConversation({conversationId:e},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async disapproveConversation(e){let i=await m.redditAPIPlugins.NewModmail.DisapproveConversation({conversationId:e},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async tempBanConversation(e){let i=await m.redditAPIPlugins.NewModmail.TempBan({...e},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async unbanConversation(e){let i=await m.redditAPIPlugins.NewModmail.Unban({conversationId:e},o(this,V));return{conversation:k(this,Q,oe).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async getUnreadCount(){return await m.redditAPIPlugins.NewModmail.UnreadCount({},o(this,V))}async getUserConversations(e){return await m.redditAPIPlugins.NewModmail.UserConversations({conversationId:e},o(this,V))}};V=new WeakMap,Q=new WeakSet,oe=function({protoConversation:e,protoMessages:t,protoModActions:i}){return{...e,state:eO[e.state],messages:k(this,Zd,fP).call(this,e,t),modActions:k(this,Yd,gP).call(this,e,i)}},Zd=new WeakSet,fP=function(e,t){let i={},n=e.objIds.filter(s=>s.key==="messages").map(({id:s})=>s);for(let s of n){let a=t[s];a&&(i[s]=a)}return i},Yd=new WeakSet,gP=function(e,t){let i={},n=e.objIds.filter(s=>s.key==="modActions").map(({id:s})=>s);for(let s of n){let a=t[s];a&&(i[s]={...a,actionType:rO[a.actionTypeId]})}return i};var nn,on,Qd,vs,bs,Ps,ks,Am=class Am{constructor(e,t){u(this,nn,void 0);u(this,on,void 0);u(this,Qd,void 0);u(this,vs,void 0);u(this,bs,void 0);u(this,Ps,void 0);u(this,ks,void 0);if(J(this),v(e.id,"PrivateMessage: Invalid data, no id"),v(e.name,"PrivateMessage: Invalid data, no name"),v(e.created,"PrivateMessage: Invalid data, no created date"),l(this,nn,Fe(e.name)),e.author!=null)l(this,on,{type:"user",username:e.author,id:e.authorFullname?ge(e.authorFullname):void 0});else if(e.subreddit!=null)l(this,on,{type:"subreddit",name:e.subreddit,id:e.subredditId?Re(e.subredditId):void 0});else throw new Error("PrivateMessage: Invalid data, no author or subreddit");l(this,vs,e.body??""),l(this,bs,e.bodyHtml??"");let i=new Date(0);i.setUTCSeconds(e.createdUtc),l(this,Ps,i),l(this,Qd,e.parentId?Fe(e.parentId):void 0),l(this,ks,t)}static async getMessages(e,t){let i=m.redditAPIPlugins.PrivateMessages;return new W({...e,fetch:async n=>{let s=await i.MessageWhere({...n,where:e.type??"inbox"},t);return{after:s.data?.after,before:s.data?.before,children:s.data?.children?.map(a=>new Am(a.data,t)).filter(Boolean)||[]}}})}static async send({to:e,subject:t,text:i},n){await m.redditAPIPlugins.PrivateMessages.Compose({to:e,subject:t,text:i,fromSr:""},n)}static async sendAsSubreddit({to:e,fromSubredditName:t,subject:i,text:n},s){await m.redditAPIPlugins.PrivateMessages.Compose({to:e,fromSr:t,subject:i,text:n},s)}static async markAllAsRead(e){await m.redditAPIPlugins.PrivateMessages.ReadAllMessages({filterTypes:""},e)}get id(){return o(this,nn)}get from(){return o(this,on)}get body(){return o(this,vs)}get bodyHtml(){return o(this,bs)}get created(){return o(this,Ps)}async markAsRead(){await m.redditAPIPlugins.PrivateMessages.ReadMessage({id:o(this,nn)},o(this,ks))}};nn=new WeakMap,on=new WeakMap,Qd=new WeakMap,vs=new WeakMap,bs=new WeakMap,Ps=new WeakMap,ks=new WeakMap;var sr=Am;var lv=(s=>(s.Reports="reports",s.Spam="spam",s.Modqueue="modqueue",s.Unmoderated="unmoderated",s.Edited="edited",s))(lv||{}),sn,A,Ss,ws,xs,Cs,Is,As,Es,Ts,Rs,an,E,it=class it{constructor(e,t){u(this,sn,void 0);u(this,A,void 0);u(this,Ss,void 0);u(this,ws,void 0);u(this,xs,void 0);u(this,Cs,void 0);u(this,Is,void 0);u(this,As,void 0);u(this,Es,void 0);u(this,Ts,void 0);u(this,Rs,void 0);u(this,an,void 0);u(this,E,void 0);J(this),v(e.id,"Subreddit id is missing or undefined"),v(e.displayName,"Subreddit name is missing or undefined"),l(this,sn,Re(`t5_${e.id}`)),l(this,A,e.displayName),v(e.createdUtc,"Subreddit is missing created date");let i=new Date(0);i.setUTCSeconds(e.createdUtc),l(this,Ss,i),l(this,ws,iO(e.subredditType)),l(this,xs,e.title),l(this,Cs,e.description),v(e.lang,"Subreddit is missing language"),l(this,Is,e.lang),l(this,As,e.subscribers??0),l(this,Es,e.activeUserCount??0),l(this,Ts,e.over18??!1),l(this,an,e.url??""),l(this,Rs,{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:nO(e.submissionType),allowedMediaInComments:e.allowedMediaInComments.map(oO),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(o(this,an),"https://www.reddit.com").toString()}),l(this,E,t)}get id(){return o(this,sn)}get name(){return o(this,A)}get createdAt(){return o(this,Ss)}get type(){return o(this,ws)}get title(){return o(this,xs)}get description(){return o(this,Cs)}get language(){return o(this,Is)}get numberOfSubscribers(){return o(this,As)}get numberOfActiveUsers(){return o(this,Es)}get nsfw(){return o(this,Ts)}get settings(){return o(this,Rs)}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 o(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:o(this,A)};return $.submit(t,o(this,E))}getControversialPosts(e={}){if(!o(this,A))throw new Error("subreddit missing displayName - it might not have been fetched");return $.getControversialPosts({...e,subredditName:o(this,A)},o(this,E))}getTopPosts(e={}){if(!o(this,A))throw new Error("subreddit missing displayName - it might not have been fetched");return $.getTopPosts({...e,subredditName:o(this,A)},o(this,E))}getApprovedUsers(e={}){return C.getSubredditUsersByType({type:"contributors",subredditName:o(this,A),...e},o(this,E))}approveUser(e){return C.createRelationship({username:e,subredditName:o(this,A),type:"contributor"},o(this,E))}removeUser(e){return C.removeRelationship({username:e,subredditName:o(this,A),type:"contributor"},o(this,E))}getWikiContributors(e={}){return C.getSubredditUsersByType({type:"wikicontributors",subredditName:o(this,A),...e},o(this,E))}addWikiContributor(e){return C.createRelationship({username:e,subredditName:o(this,A),type:"wikicontributor"},o(this,E))}removeWikiContributor(e){return C.removeRelationship({username:e,subredditName:o(this,A),type:"wikicontributor"},o(this,E))}getBannedUsers(e={}){return C.getSubredditUsersByType({type:"banned",subredditName:o(this,A),...e},o(this,E))}banUser(e){return C.createRelationship({username:e.username,subredditName:o(this,A),type:"banned",banReason:e.reason,banMessage:e.message,note:e.note,duration:e.duration},o(this,E))}unbanUser(e){return C.removeRelationship({username:e,subredditName:o(this,A),type:"banned"},o(this,E))}getBannedWikiContributors(e={}){return C.getSubredditUsersByType({type:"wikibanned",subredditName:o(this,A),...e},o(this,E))}banWikiContributor(e){return C.createRelationship({username:e.username,subredditName:o(this,A),type:"wikibanned",banReason:e.reason,note:e.note,duration:e.duration},o(this,E))}unbanWikiContributor(e){return C.removeRelationship({username:e,subredditName:o(this,A),type:"wikibanned"},o(this,E))}getModerators(e={}){return C.getSubredditUsersByType({type:"moderators",subredditName:o(this,A),...e},o(this,E))}inviteModerator(e,t){return C.createRelationship({type:"moderator_invite",subredditName:o(this,A),username:e,permissions:t??[]},o(this,E))}revokeModeratorInvite(e){return C.removeRelationship({username:e,subredditName:o(this,A),type:"moderator_invite"},o(this,E))}removeModerator(e){return C.removeRelationship({type:"moderator",subredditName:o(this,A),username:e},o(this,E))}setModeratorPermissions(e,t){return C.setModeratorPermissions(e,o(this,A),t,o(this,E))}getMutedUsers(e={}){return C.getSubredditUsersByType({type:"muted",subredditName:o(this,A),...e},o(this,E))}muteUser(e,t){return C.createRelationship({username:e,subredditName:o(this,A),type:"muted",note:t},o(this,E))}unmuteUser(e){return C.removeRelationship({username:e,subredditName:o(this,A),type:"muted"},o(this,E))}getModerationLog(e){return sd({subredditName:o(this,A),...e},o(this,E))}getUserFlairTemplates(){return de.getUserFlairTemplates(o(this,A),o(this,E))}getPostFlairTemplates(){return de.getPostFlairTemplates(o(this,A),o(this,E))}createPostFlairTemplate(e){return de.createPostFlairTemplate({subredditName:o(this,A),...e},o(this,E))}createUserFlairTemplate(e){return de.createUserFlairTemplate({subredditName:o(this,A),...e},o(this,E))}async getUserFlair(e){if(e?.usernames!==void 0)return{users:await Promise.all(e.usernames.map(async i=>{let n=await Ue.getUserFlairBySubreddit({subreddit:o(this,A),name:i},o(this,E));return Lo(n.users[0])}))};{let t=await Ue.getUserFlairBySubreddit({...e,subreddit:o(this,A)},o(this,E));return{next:t.next,prev:t.prev,users:t.users.map(i=>Lo(i))}}}getModQueue(e={type:"all"}){return it.aboutLocation({...e,location:"modqueue",subreddit:o(this,A)},o(this,E))}getReports(e={type:"all"}){return it.aboutLocation({...e,location:"reports",subreddit:o(this,A)},o(this,E))}getSpam(e={type:"all"}){return it.aboutLocation({...e,location:"spam",subreddit:o(this,A)},o(this,E))}getUnmoderated(e={type:"all"}){return it.aboutLocation({...e,location:"unmoderated",subreddit:o(this,A)},o(this,E))}getEdited(e={type:"all"}){return it.aboutLocation({...e,location:"edited",subreddit:o(this,A)},o(this,E))}static aboutLocation(e,t){let i=m.redditAPIPlugins.Moderation,n;switch(e.type){case"post":n="links";break;case"comment":n="comments";break;default:n=void 0}return new W({...e,fetch:async s=>{let a=await i.AboutLocation({...s,...e,only:n},t);return hP(a,t)}})}getCommentsAndPostsByIds(e){let t=m.redditAPIPlugins.LinksAndComments;return new W({fetch:async()=>{let i=await t.Info({thingIds:e,subreddits:[o(this,sn)]},o(this,E));return hP(i,o(this,E))}})}static async addRemovalReason(e,t,i,n){return(await m.redditAPIPlugins.Subreddits.SubredditAddRemovalReason({title:t,message:i,subreddit:e},n)).id}static async getRemovalReasons(e,t){let n=await m.redditAPIPlugins.Subreddits.SubredditGetRemovalReasons({subreddit:e},t);return n.order.map(s=>({...n.data[s]}))}static async getFromMetadata(e){v(e);let t=ye(N.Subreddit,e);return v(t),it.getById(Re(t),e)}static async getById(e,t){let s=(await m.redditAPIPlugins.LinksAndComments.Info({thingIds:[e],subreddits:[]},t)).data?.children[0]?.data?.displayName;return v(s),it.getByName(s,t)}static async getByName(e,t){let n=await m.redditAPIPlugins.Subreddits.SubredditAbout({subreddit:e},t);if(!n?.data)throw new Error("not found");return new it(n.data,t)}};sn=new WeakMap,A=new WeakMap,Ss=new WeakMap,ws=new WeakMap,xs=new WeakMap,Cs=new WeakMap,Is=new WeakMap,As=new WeakMap,Es=new WeakMap,Ts=new WeakMap,Rs=new WeakMap,an=new WeakMap,E=new WeakMap;var ve=it;function iO(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 nO(r){if(r==="any"||r==="link"||r==="self")return r;throw new Error(`invalid allowed post type: ${r}`)}function oO(r){if(r==="animated"||r==="giphy"||r==="static"||r==="expression")return r;throw new Error(`invalid comment media type: ${r}`)}function hP(r,e){let i=(r.data?.children??[]).map(a=>{let d=n(a);if(d!=null)return d;let p=s(a);return p??null}).filter(Boolean);return{after:r.data?.after,before:r.data?.before,children:i};function n(a){try{return new $(a.data,e)}catch{return null}}function s(a){try{return new Y(a.data,e)}catch{return null}}}import{CommunityListWidget_CommunityData as sO,GetWidgetsResponse_WidgetItem as ce}from"@devvit/protos";var Fs,Os,Bs,Us,Tm=class Tm{constructor(e,t,i){u(this,Fs,void 0);u(this,Os,void 0);u(this,Bs,void 0);u(this,Us,void 0);J(this),l(this,Fs,e.id),l(this,Os,e.shortName),l(this,Bs,t),l(this,Us,i)}get id(){return o(this,Fs)}get name(){return o(this,Os)}get subredditName(){return o(this,Bs)}toJSON(){return{id:this.id,name:this.name,subredditName:this.subredditName}}delete(){return Tm.delete(this.subredditName,this.id,o(this,Us))}static async getWidgets(e,t){let n=await m.redditAPIPlugins.Widgets.GetWidgets({subreddit:e},t);v(n.layout,"Failed to load widgets for subreddit");let s=n.items,a=[];for(let d of n.layout.sidebar?.order??[]){let p=s[d];switch(p?.kind){case"image":a.push(new el(p,e,t));break;case"calendar":a.push(new tl(p,e,t));break;case"textarea":a.push(new rl(p,e,t));break;case"button":a.push(new il(p,e,t));break;case"community-list":a.push(new nl(p,e,t));break;case"post-flair":a.push(new ol(p,e,t));break;case"custom":a.push(new sl(p,e,t));break;case"subreddit-rules":{let f=await m.redditAPIPlugins.Subreddits.SubredditAboutRules({subreddit:e},t);a.push(new Em(f,p,e,t));break}default:throw new Error(`Unknown widget type: ${p.kind}`)}}return a}static async delete(e,t,i){await m.redditAPIPlugins.Widgets.DeleteWidget({subreddit:e,id:t},i)}static async reorder(e,t,i){await m.redditAPIPlugins.Widgets.OrderWidgets({subreddit:e,order:t},i)}static async add(e,t){switch(e?.type){case"image":return el.create(e,t);case"calendar":return tl.create(e,t);case"textarea":return rl.create(e,t);case"button":return il.create(e,t);case"community-list":return nl.create(e,t);case"post-flair":return ol.create(e,t);case"custom":return sl.create(e,t);default:throw new Error("Unknown widget type")}}};Fs=new WeakMap,Os=new WeakMap,Bs=new WeakMap,Us=new WeakMap;var ie=Tm,Ms,al=class al extends ie{constructor(t,i,n){super(t,i,n);u(this,Ms,void 0);l(this,Ms,t.data.map(s=>(v(s.url,"Image widget data is missing url"),v(s.height,"Image widget data is missing height"),v(s.width,"Image widget data is missing width"),v(s.linkUrl,"Image widget data is missing linkUrl"),{url:s.url,height:s.height,width:s.width,linkUrl:s.linkUrl})))}get images(){return o(this,Ms)}toJSON(){return{...super.toJSON(),images:this.images}}static async create(t,i){let s=await m.redditAPIPlugins.Widgets.AddImageWidget(t,i);return new al(ce.fromJSON(s),t.subreddit,i)}static async update(t,i){let s=await m.redditAPIPlugins.Widgets.UpdateImageWidget(t,i);return new al(ce.fromJSON(s),t.subreddit,i)}};Ms=new WeakMap;var el=al,Ls,Ds,Ns,dl=class dl extends ie{constructor(t,i,n){super(t,i,n);u(this,Ls,void 0);u(this,Ds,void 0);u(this,Ns,void 0);v(t.googleCalendarId,"Calendar widget data is missing googleCalendarId"),v(t.configuration,"Calendar widget data is missing configuration"),v(t.styles,"Calendar widget data is missing styles"),l(this,Ls,t.googleCalendarId),l(this,Ds,t.configuration),l(this,Ns,t.styles)}get googleCalendarId(){return o(this,Ls)}get configuration(){return o(this,Ds)}get styles(){return o(this,Ns)}toJSON(){return{...super.toJSON(),googleCalendarId:this.googleCalendarId,configuration:this.configuration,styles:this.styles}}static async create(t,i){let s=await m.redditAPIPlugins.Widgets.AddCalendarWidget(t,i);return new dl(ce.fromJSON(s),t.subreddit,i)}static async update(t,i){let s=await m.redditAPIPlugins.Widgets.UpdateCalendarWidget(t,i);return new dl(ce.fromJSON(s),t.subreddit,i)}};Ls=new WeakMap,Ds=new WeakMap,Ns=new WeakMap;var tl=dl,_s,qs,ll=class ll extends ie{constructor(t,i,n){super(t,i,n);u(this,_s,void 0);u(this,qs,void 0);v(t.text,"Textarea widget data is missing text"),v(t.styles,"Textarea widget data is missing styles"),l(this,_s,t.text),l(this,qs,t.styles)}get text(){return o(this,_s)}get styles(){return o(this,qs)}toJSON(){return{...super.toJSON(),text:this.text,styles:this.styles}}static async create(t,i){let s=await m.redditAPIPlugins.Widgets.AddTextAreaWidget(t,i);return new ll(ce.fromJSON(s),t.subreddit,i)}static async update(t,i){let s=await m.redditAPIPlugins.Widgets.UpdateTextAreaWidget(t,i);return new ll(ce.fromJSON(s),t.subreddit,i)}};_s=new WeakMap,qs=new WeakMap;var rl=ll,Hs,js,Ws,ul=class ul extends ie{constructor(t,i,n){super(t,i,n);u(this,Hs,void 0);u(this,js,void 0);u(this,Ws,void 0);v(t.styles,"Button widget data is missing styles"),l(this,Hs,t.buttons),l(this,js,t.description??""),l(this,Ws,t.styles)}get buttons(){return o(this,Hs)}get description(){return o(this,js)}get styles(){return o(this,Ws)}toJSON(){return{...super.toJSON(),buttons:this.buttons,description:this.description,styles:this.styles}}static async create(t,i){let s=await m.redditAPIPlugins.Widgets.AddButtonWidget(t,i);return new ul(ce.fromJSON(s),t.subreddit,i)}static async update(t,i){let s=await m.redditAPIPlugins.Widgets.UpdateButtonWidget(t,i);return new ul(ce.fromJSON(s),t.subreddit,i)}};Hs=new WeakMap,js=new WeakMap,Ws=new WeakMap;var il=ul,Gs,zs,cl=class cl extends ie{constructor(t,i,n){super(t,i,n);u(this,Gs,void 0);u(this,zs,void 0);l(this,Gs,t.data.map(s=>sO.fromJSON(s))),v(t.styles,"Community list widget data is missing styles"),l(this,zs,t.styles)}get communities(){return o(this,Gs)}get styles(){return o(this,zs)}toJSON(){return{...super.toJSON(),communities:this.communities,styles:this.styles}}static async create(t,i){let s=await m.redditAPIPlugins.Widgets.AddCommunityListWidget(t,i);return new cl(ce.fromJSON(s),t.subreddit,i)}static async update(t,i){let s=await m.redditAPIPlugins.Widgets.UpdateCommunityListWidget(t,i);return new cl(ce.fromJSON(s),t.subreddit,i)}};Gs=new WeakMap,zs=new WeakMap;var nl=cl,Vs,$s,Js,ml=class ml extends ie{constructor(t,i,n){super(t,i,n);u(this,Vs,void 0);u(this,$s,void 0);u(this,Js,void 0);if(v(t.styles,"Post flair widget data is missing styles"),l(this,Vs,t.styles),l(this,$s,t.order.map(s=>t.templates[s])),!(t.display&&t.display==="list"||t.display==="cloud"))throw new Error("Post flair widget data is missing display type");l(this,Js,t.display)}get styles(){return o(this,Vs)}get templates(){return o(this,$s)}get display(){return o(this,Js)}toJSON(){return{...super.toJSON(),styles:this.styles,templates:this.templates,display:this.display}}static async create(t,i){let s=await m.redditAPIPlugins.Widgets.AddPostFlairWidget(t,i);return new ml(ce.fromJSON(s),t.subreddit,i)}static async update(t,i){let s=await m.redditAPIPlugins.Widgets.UpdatePostFlairWidget(t,i);return new ml(ce.fromJSON(s),t.subreddit,i)}};Vs=new WeakMap,$s=new WeakMap,Js=new WeakMap;var ol=ml,Ks,Xs,Zs,Ys,Qs,pl=class pl extends ie{constructor(t,i,n){super(t,i,n);u(this,Ks,void 0);u(this,Xs,void 0);u(this,Zs,void 0);u(this,Ys,void 0);u(this,Qs,void 0);v(t.stylesheetUrl,"Custom widget data is missing stylesheetUrl"),v(t.height,"Custom widget data is missing height"),v(t.css,"Custom widget data is missing css"),l(this,Ks,t.imageData??[]),l(this,Xs,t.text??""),l(this,Zs,t.stylesheetUrl),l(this,Ys,t.height),l(this,Qs,t.css)}get images(){return o(this,Ks)}get text(){return o(this,Xs)}get stylesheetUrl(){return o(this,Zs)}get height(){return o(this,Ys)}get css(){return o(this,Qs)}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 s=await m.redditAPIPlugins.Widgets.AddCustomWidget(t,i);return new pl(ce.fromJSON(s),t.subreddit,i)}static async update(t,i){let s=await m.redditAPIPlugins.Widgets.UpdateCustomWidget(t,i);return new pl(ce.fromJSON(s),t.subreddit,i)}};Ks=new WeakMap,Xs=new WeakMap,Zs=new WeakMap,Ys=new WeakMap,Qs=new WeakMap;var sl=pl,ea,Em=class extends ie{constructor(t,i,n,s){super(i,n,s);u(this,ea,void 0);let a=t.rules.map(({description:d,priority:p,shortName:f,violationReason:g})=>(v(d,"Subreddit rule is missing description"),v(p,"Subreddit rule is missing priority"),v(f,"Subreddit rule is missing shortName"),v(g,"Subreddit rule is missing violationReason"),{description:d,priority:p,shortName:f,violationReason:g}));l(this,ea,a)}get rules(){return o(this,ea)}toJSON(){return{...super.toJSON(),rules:this.rules}}};ea=new WeakMap;var aO=(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))(aO||{}),Pe,ke,dn,ln,un,cn,mn,Je,Ne=class Ne{constructor(e,t,i,n){u(this,Pe,void 0);u(this,ke,void 0);u(this,dn,void 0);u(this,ln,void 0);u(this,un,void 0);u(this,cn,void 0);u(this,mn,void 0);u(this,Je,void 0);J(this),l(this,Pe,e),l(this,ke,t),l(this,dn,i.contentMd),l(this,ln,i.revisionId),l(this,un,new Date(i.revisionDate)),l(this,cn,i.reason??""),v(i.revisionBy?.data,"Wiki page author details are missing"),l(this,mn,new C(i.revisionBy.data,n)),l(this,Je,n)}get name(){return o(this,Pe)}get subredditName(){return o(this,ke)}get content(){return o(this,dn)}get revisionId(){return o(this,ln)}get revisionDate(){return o(this,un)}get revisionReason(){return o(this,cn)}get revisionAuthor(){return o(this,mn)}toJSON(){return{name:o(this,Pe),subredditName:o(this,ke),content:o(this,dn),revisionId:o(this,ln),revisionDate:o(this,un),revisionReason:o(this,cn),revisionAuthor:o(this,mn).toJSON()}}async update(e,t){return Ne.updatePage({subredditName:o(this,ke),page:o(this,Pe),content:e,reason:t},o(this,Je))}async getRevisions(e){return Ne.getPageRevisions({subredditName:o(this,ke),page:o(this,Pe),...e},o(this,Je))}async revertTo(e){return Ne.revertPage(o(this,ke),o(this,Pe),e,o(this,Je))}async getSettings(){return Ne.getPageSettings(o(this,ke),o(this,Pe),o(this,Je))}async updateSettings(e){return Ne.updatePageSettings({subredditName:o(this,ke),page:o(this,Pe),listed:e.listed,permLevel:e.permLevel},o(this,Je))}async addEditor(e){return Ne.addEditor(o(this,ke),o(this,Pe),e,o(this,Je))}async removeEditor(e){return Ne.removeEditor(o(this,ke),o(this,Pe),e,o(this,Je))}static async getPage(e,t,i){let s=await m.redditAPIPlugins.Wiki.GetWikiPage({subreddit:e,page:t},i);return v(s.data,"Failed to get wiki page"),new Ne(t,e,s.data,i)}static async getPages(e,t){return(await m.redditAPIPlugins.Wiki.GetWikiPages({subreddit:e},t)).data||[]}static async createPage(e,t){return Ne.updatePage(e,t)}static async updatePage(e,t){return await m.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=m.redditAPIPlugins.Wiki;return new W({hasMore:!0,after:e.after,limit:e.limit,pageSize:e.pageSize,async fetch(n){let s=await i.GetWikiPageRevisions({subreddit:e.subredditName,page:e.page,limit:n.limit,after:n.after,before:n.before},t);return dO(s,t)}})}static async revertPage(e,t,i,n){await m.redditAPIPlugins.Wiki.RevertWikiPage({subreddit:e,page:t,revision:i},n)}static async getPageSettings(e,t,i){let s=await m.redditAPIPlugins.Wiki.GetWikiPageSettings({subreddit:e,page:t},i);return v(s.data,"Failed to get wiki page settings"),new fl(s.data,i)}static async updatePageSettings(e,t){let n=await m.redditAPIPlugins.Wiki.UpdateWikiPageSettings({subreddit:e.subredditName,page:e.page,listed:e.listed?"on":"",permlevel:e.permLevel},t);return v(n.data,"Failed to update wiki page settings"),new fl(n.data,t)}static async addEditor(e,t,i,n){await m.redditAPIPlugins.Wiki.AllowEditor({act:"add",subreddit:e,page:t,username:i},n)}static async removeEditor(e,t,i,n){await m.redditAPIPlugins.Wiki.AllowEditor({act:"del",subreddit:e,page:t,username:i},n)}};Pe=new WeakMap,ke=new WeakMap,dn=new WeakMap,ln=new WeakMap,un=new WeakMap,cn=new WeakMap,mn=new WeakMap,Je=new WeakMap;var be=Ne,pn,fn,gn,hn,yn,vn,Rm=class{constructor(e,t){u(this,pn,void 0);u(this,fn,void 0);u(this,gn,void 0);u(this,hn,void 0);u(this,yn,void 0);u(this,vn,void 0);l(this,pn,e.id),l(this,fn,e.page),l(this,gn,new Date(e.timestamp)),v(e.author?.data,"Wiki page revision author details are missing"),l(this,hn,new C(e.author.data,t)),l(this,yn,e.reason??""),l(this,vn,e.revisionHidden??!1)}get id(){return o(this,pn)}get page(){return o(this,fn)}get date(){return o(this,gn)}get author(){return o(this,hn)}get reason(){return o(this,yn)}get hidden(){return o(this,vn)}toJSON(){return{id:o(this,pn),page:o(this,fn),date:o(this,gn),author:o(this,hn).toJSON(),reason:o(this,yn),hidden:o(this,vn)}}};pn=new WeakMap,fn=new WeakMap,gn=new WeakMap,hn=new WeakMap,yn=new WeakMap,vn=new WeakMap;var bn,Pn,kn,fl=class{constructor(e,t){u(this,bn,void 0);u(this,Pn,void 0);u(this,kn,void 0);l(this,bn,e.listed),l(this,Pn,e.permLevel),l(this,kn,e.editors.map(i=>(v(i.data,"Wiki page editor details are missing"),new C(i.data,t))))}get listed(){return o(this,bn)}get permLevel(){return o(this,Pn)}get editors(){return o(this,kn)}toJSON(){return{listed:o(this,bn),permLevel:o(this,Pn),editors:o(this,kn).map(e=>e.toJSON())}}};bn=new WeakMap,Pn=new WeakMap,kn=new WeakMap;function dO(r,e){return v(r.data?.children,"Wiki page revision listing is missing children"),{children:r.data.children.map(i=>new Rm(i,e)),before:r.data.before,after:r.data.after}}var lO=(t=>(t.Gallery="GALLERY",t.Timeline="TIMELINE",t))(lO||{});function uO(r){return r==="GALLERY"?"GALLERY":"TIMELINE"}var _e,Se,ra,Sn,wn,ia,na,oa,sa,yt,aa,da,xn,ta=class ta{constructor(e,t){u(this,_e,void 0);u(this,Se,void 0);u(this,ra,void 0);u(this,Sn,void 0);u(this,wn,void 0);u(this,ia,void 0);u(this,na,void 0);u(this,oa,void 0);u(this,sa,void 0);u(this,yt,void 0);u(this,aa,void 0);u(this,da,void 0);u(this,xn,void 0);v(e.collectionId,"Collection Id is missing or undefined"),v(e.subredditId,"Subreddit Id is missing or undefined"),v(e.title,"Collection title is missing or undefined"),v(e.authorId,"Collection author's id is missing or undefined"),v(e.authorName,"Collection author's id is missing or undefined"),v(e.createdAtUtc,"Collection create timestamp is missing"),v(e.lastUpdateUtc,"Collection last updated timestamp is missing"),l(this,_e,t),l(this,Se,e.collectionId),l(this,ra,e.subredditId),l(this,Sn,e.title),l(this,wn,e.description||""),l(this,ia,e.authorId),l(this,na,e.authorName),l(this,oa,e.permalink),l(this,sa,e.primaryLinkId),l(this,yt,e.linkIds||[]),l(this,xn,uO(e.displayLayout)),l(this,aa,e.createdAtUtc),l(this,da,e.lastUpdateUtc),J(this)}get id(){return o(this,Se)}get subredditId(){return o(this,ra)}get title(){return o(this,Sn)}get description(){return o(this,wn)}get authorId(){return o(this,ia)}get authorName(){return o(this,na)}get permalink(){return o(this,oa)}get primaryLinkId(){return o(this,sa)}get linkIds(){return o(this,yt)}get createdAtUtc(){return o(this,aa)}get lastUpdateUtc(){return o(this,da)}get displayLayout(){return o(this,xn)}static async getCollectionById(e,t){let n=await m.redditAPIPlugins.PostCollections.Collection(e,t);return new ta(n,t)}static async create(e,t){let n=await m.redditAPIPlugins.PostCollections.Create({srFullname:e.subredditId,title:e.title,description:e.description,displayLayout:e.displayLayout},t);return new ta(n,t)}static async getCollectionsForSubreddit(e,t){return(await m.redditapiv2Plugin.GetSubredditCollections({srFullname:e.subredditId},t)).collections.map(n=>new ta(n,t))}async addPost(e){await m.redditAPIPlugins.PostCollections.AddPost({collectionId:o(this,Se),linkFullname:e},o(this,_e)),o(this,yt).push(e)}async removePost(e){await m.redditAPIPlugins.PostCollections.RemovePost({collectionId:o(this,Se),linkFullname:e},o(this,_e)),l(this,yt,o(this,yt).filter(i=>i!==e))}async delete(){await m.redditAPIPlugins.PostCollections.Delete({collectionId:o(this,Se)},o(this,_e))}async follow(e){await m.redditAPIPlugins.PostCollections.Follow({collectionId:o(this,Se),follow:e},o(this,_e))}async reorder(e){await m.redditAPIPlugins.PostCollections.Reorder({collectionId:o(this,Se),linkIds:e.join(",")},o(this,_e)),l(this,yt,e)}async updateTitle(e){await m.redditAPIPlugins.PostCollections.UpdateTitle({collectionId:o(this,Se),title:e},o(this,_e)),l(this,Sn,e)}async updateDescription(e){await m.redditAPIPlugins.PostCollections.UpdateDescription({collectionId:o(this,Se),description:e},o(this,_e)),l(this,wn,e)}async updateLayout(e){await m.redditAPIPlugins.PostCollections.UpdateDisplayLayout({collectionId:o(this,Se),displayLayout:e},o(this,_e)),l(this,xn,e)}};_e=new WeakMap,Se=new WeakMap,ra=new WeakMap,Sn=new WeakMap,wn=new WeakMap,ia=new WeakMap,na=new WeakMap,oa=new WeakMap,sa=new WeakMap,yt=new WeakMap,aa=new WeakMap,da=new WeakMap,xn=new WeakMap;var ri=ta;var cO=["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"],mO=["border-image","border-image-source","behavior","expression","list-style-image","cursor","content"],pO=["onload","onerror","onclick","onmouseover"];function fO(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 yP(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*(${cO.join("|")})\\b`,"gi"),t=new RegExp(`(${mO.join("|")})\\s*:\\s*url\\s*\\((['"]?)(.*?)\\2\\)`,"gi"),i=new RegExp(`(${pO.join("|")})\\s*(=\\s*(['"]?)(.*?)\\3)?`,"gi");r=r.trim().replace(/\s+/g," "),r=fO(r);let n=r.match(e)||[],s=r.match(t)||[],a=r.match(i)||[],d=!1;return n.length>0&&(d=!0,console.warn(`Disallowed elements detected in SVG: ${n.map(p=>p.replace("<","")).join(", ")}`)),s.length>0&&(d=!0,console.warn(`Disallowed styles detected in SVG: ${s.map(p=>p.split(":")[0]).join(", ")}`)),a.length>0&&(d=!0,console.warn(`Disallowed attributes detected in SVG: ${a.map(p=>p.split("=")[0]).join(", ")}`)),d?void 0:r}catch{return}}}function o2(r,...e){let t="";return r.forEach((i,n)=>{t+=i;let s=e[n];s!==void 0&&(t+=`${s}`)}),t=yP(t),t===void 0?"":`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(t)}`}export{MU as ALL_ICON_NAMES,lv as AboutLocations,il as ButtonWidget,tl as CalendarWidget,lO as CollectionDisplayLayout,Y as Comment,nl as CommunityListWidget,sl as CustomWidget,m as Devvit,Ue as Flair,de as FlairTemplate,zF as FlairType,St as Hook,el as ImageWidget,W as Listing,tO as ModMailActionType,QF as ModMailConversationState,ad as ModMailService,Be as ModNote,$ as Post,ri as PostCollection,ol as PostFlairWidget,sr as PrivateMessage,Oo as RichTextBuilder,fc as SettingScope,ve as Subreddit,Em as SubredditRulesWidget,rl as TextAreaWidget,C as User,ie as Widget,be as WikiPage,aO as WikiPagePermissionLevel,Rm as WikiPageRevision,fl as WikiPageSettings,Lo as convertUserFlairProtoToAPI,sd as getModerationLog,o2 as svg};
6
6
  /*! Bundled license information:
7
7
 
8
8
  ieee754/index.js: