denotify-client 1.1.16 → 1.1.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env +1 -1
- package/.eslintrc +1 -3
- package/.vscode/settings.json +3 -1
- package/dist/denotify-client.cjs +4 -4
- package/dist/denotify-client.d.ts +101 -68
- package/dist/denotify-client.iife.js +4 -4
- package/dist/denotify-client.mjs +2118 -2049
- package/package.json +2 -1
package/dist/denotify-client.cjs
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
"use strict";var aa=Object.defineProperty;var ca=(n,e,t)=>e in n?aa(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var m=(n,e,t)=>(ca(n,typeof e!="symbol"?e+"":e,t),t),dn=(n,e,t)=>{if(!e.has(n))throw TypeError("Cannot "+t)};var v=(n,e,t)=>(dn(n,e,"read from private field"),t?t.call(n):e.get(n)),U=(n,e,t)=>{if(e.has(n))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(n):e.set(n,t)},C=(n,e,t,r)=>(dn(n,e,"write to private field"),r?r.call(n,t):e.set(n,t),t),$s=(n,e,t,r)=>({set _(s){C(n,e,s,t)},get _(){return v(n,e,r)}}),z=(n,e,t)=>(dn(n,e,"access private method"),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function ua(n,e){for(var t=0;t<e.length;t++){const r=e[t];if(typeof r!="string"&&!Array.isArray(r)){for(const s in r)if(s!=="default"&&!(s in n)){const i=Object.getOwnPropertyDescriptor(r,s);i&&Object.defineProperty(n,s,i.get?i:{enumerable:!0,get:()=>r[s]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}var la=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const ha=n=>{let e;return n?e=n:typeof fetch>"u"?e=(...t)=>la(void 0,void 0,void 0,function*(){return yield(yield Promise.resolve().then(()=>qr)).fetch(...t)}):e=fetch,(...t)=>e(...t)};class es extends Error{constructor(e,t="FunctionsError",r){super(e),super.name=t,this.context=r}}class fa extends es{constructor(e){super("Failed to send a request to the Edge Function","FunctionsFetchError",e)}}class da extends es{constructor(e){super("Relay Error invoking the Edge Function","FunctionsRelayError",e)}}class pa extends es{constructor(e){super("Edge Function returned a non-2xx status code","FunctionsHttpError",e)}}var ya=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};class ma{constructor(e,{headers:t={},customFetch:r}={}){this.url=e,this.headers=t,this.fetch=ha(r)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e,t={}){var r;return ya(this,void 0,void 0,function*(){try{const{headers:s,method:i,body:o}=t;let a={},c;o&&(s&&!Object.prototype.hasOwnProperty.call(s,"Content-Type")||!s)&&(typeof Blob<"u"&&o instanceof Blob||o instanceof ArrayBuffer?(a["Content-Type"]="application/octet-stream",c=o):typeof o=="string"?(a["Content-Type"]="text/plain",c=o):typeof FormData<"u"&&o instanceof FormData?c=o:(a["Content-Type"]="application/json",c=JSON.stringify(o)));const u=yield this.fetch(`${this.url}/${e}`,{method:i||"POST",headers:Object.assign(Object.assign(Object.assign({},a),this.headers),s),body:c}).catch(f=>{throw new fa(f)}),l=u.headers.get("x-relay-error");if(l&&l==="true")throw new da(u);if(!u.ok)throw new pa(u);let h=((r=u.headers.get("Content-Type"))!==null&&r!==void 0?r:"text/plain").split(";")[0].trim(),p;return h==="application/json"?p=yield u.json():h==="application/octet-stream"?p=yield u.blob():h==="multipart/form-data"?p=yield u.formData():p=yield u.text(),{data:p,error:null}}catch(s){return{data:null,error:s}}})}}var ga=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function wa(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Bt={},ba={get exports(){return Bt},set exports(n){Bt=n}};(function(n,e){var t=typeof self<"u"?self:ga,r=function(){function i(){this.fetch=!1,this.DOMException=t.DOMException}return i.prototype=t,new i}();(function(i){(function(o){var a={searchParams:"URLSearchParams"in i,iterable:"Symbol"in i&&"iterator"in Symbol,blob:"FileReader"in i&&"Blob"in i&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in i,arrayBuffer:"ArrayBuffer"in i};function c(y){return y&&DataView.prototype.isPrototypeOf(y)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],l=ArrayBuffer.isView||function(y){return y&&u.indexOf(Object.prototype.toString.call(y))>-1};function h(y){if(typeof y!="string"&&(y=String(y)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(y))throw new TypeError("Invalid character in header field name");return y.toLowerCase()}function p(y){return typeof y!="string"&&(y=String(y)),y}function f(y){var _={next:function(){var A=y.shift();return{done:A===void 0,value:A}}};return a.iterable&&(_[Symbol.iterator]=function(){return _}),_}function d(y){this.map={},y instanceof d?y.forEach(function(_,A){this.append(A,_)},this):Array.isArray(y)?y.forEach(function(_){this.append(_[0],_[1])},this):y&&Object.getOwnPropertyNames(y).forEach(function(_){this.append(_,y[_])},this)}d.prototype.append=function(y,_){y=h(y),_=p(_);var A=this.map[y];this.map[y]=A?A+", "+_:_},d.prototype.delete=function(y){delete this.map[h(y)]},d.prototype.get=function(y){return y=h(y),this.has(y)?this.map[y]:null},d.prototype.has=function(y){return this.map.hasOwnProperty(h(y))},d.prototype.set=function(y,_){this.map[h(y)]=p(_)},d.prototype.forEach=function(y,_){for(var A in this.map)this.map.hasOwnProperty(A)&&y.call(_,this.map[A],A,this)},d.prototype.keys=function(){var y=[];return this.forEach(function(_,A){y.push(A)}),f(y)},d.prototype.values=function(){var y=[];return this.forEach(function(_){y.push(_)}),f(y)},d.prototype.entries=function(){var y=[];return this.forEach(function(_,A){y.push([A,_])}),f(y)},a.iterable&&(d.prototype[Symbol.iterator]=d.prototype.entries);function w(y){if(y.bodyUsed)return Promise.reject(new TypeError("Already read"));y.bodyUsed=!0}function b(y){return new Promise(function(_,A){y.onload=function(){_(y.result)},y.onerror=function(){A(y.error)}})}function O(y){var _=new FileReader,A=b(_);return _.readAsArrayBuffer(y),A}function R(y){var _=new FileReader,A=b(_);return _.readAsText(y),A}function M(y){for(var _=new Uint8Array(y),A=new Array(_.length),X=0;X<_.length;X++)A[X]=String.fromCharCode(_[X]);return A.join("")}function D(y){if(y.slice)return y.slice(0);var _=new Uint8Array(y.byteLength);return _.set(new Uint8Array(y)),_.buffer}function _e(){return this.bodyUsed=!1,this._initBody=function(y){this._bodyInit=y,y?typeof y=="string"?this._bodyText=y:a.blob&&Blob.prototype.isPrototypeOf(y)?this._bodyBlob=y:a.formData&&FormData.prototype.isPrototypeOf(y)?this._bodyFormData=y:a.searchParams&&URLSearchParams.prototype.isPrototypeOf(y)?this._bodyText=y.toString():a.arrayBuffer&&a.blob&&c(y)?(this._bodyArrayBuffer=D(y.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(y)||l(y))?this._bodyArrayBuffer=D(y):this._bodyText=y=Object.prototype.toString.call(y):this._bodyText="",this.headers.get("content-type")||(typeof y=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):a.searchParams&&URLSearchParams.prototype.isPrototypeOf(y)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},a.blob&&(this.blob=function(){var y=w(this);if(y)return y;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?w(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(O)}),this.text=function(){var y=w(this);if(y)return y;if(this._bodyBlob)return R(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(M(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},a.formData&&(this.formData=function(){return this.text().then(yr)}),this.json=function(){return this.text().then(JSON.parse)},this}var qt=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function pr(y){var _=y.toUpperCase();return qt.indexOf(_)>-1?_:y}function pe(y,_){_=_||{};var A=_.body;if(y instanceof pe){if(y.bodyUsed)throw new TypeError("Already read");this.url=y.url,this.credentials=y.credentials,_.headers||(this.headers=new d(y.headers)),this.method=y.method,this.mode=y.mode,this.signal=y.signal,!A&&y._bodyInit!=null&&(A=y._bodyInit,y.bodyUsed=!0)}else this.url=String(y);if(this.credentials=_.credentials||this.credentials||"same-origin",(_.headers||!this.headers)&&(this.headers=new d(_.headers)),this.method=pr(_.method||this.method||"GET"),this.mode=_.mode||this.mode||null,this.signal=_.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&A)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(A)}pe.prototype.clone=function(){return new pe(this,{body:this._bodyInit})};function yr(y){var _=new FormData;return y.trim().split("&").forEach(function(A){if(A){var X=A.split("="),G=X.shift().replace(/\+/g," "),I=X.join("=").replace(/\+/g," ");_.append(decodeURIComponent(G),decodeURIComponent(I))}}),_}function H(y){var _=new d,A=y.replace(/\r?\n[\t ]+/g," ");return A.split(/\r?\n/).forEach(function(X){var G=X.split(":"),I=G.shift().trim();if(I){var gr=G.join(":").trim();_.append(I,gr)}}),_}_e.call(pe.prototype);function J(y,_){_||(_={}),this.type="default",this.status=_.status===void 0?200:_.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in _?_.statusText:"OK",this.headers=new d(_.headers),this.url=_.url||"",this._initBody(y)}_e.call(J.prototype),J.prototype.clone=function(){return new J(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new d(this.headers),url:this.url})},J.error=function(){var y=new J(null,{status:0,statusText:""});return y.type="error",y};var mr=[301,302,303,307,308];J.redirect=function(y,_){if(mr.indexOf(_)===-1)throw new RangeError("Invalid status code");return new J(null,{status:_,headers:{location:y}})},o.DOMException=i.DOMException;try{new o.DOMException}catch{o.DOMException=function(_,A){this.message=_,this.name=A;var X=Error(_);this.stack=X.stack},o.DOMException.prototype=Object.create(Error.prototype),o.DOMException.prototype.constructor=o.DOMException}function Ot(y,_){return new Promise(function(A,X){var G=new pe(y,_);if(G.signal&&G.signal.aborted)return X(new o.DOMException("Aborted","AbortError"));var I=new XMLHttpRequest;function gr(){I.abort()}I.onload=function(){var Jt={status:I.status,statusText:I.statusText,headers:H(I.getAllResponseHeaders()||"")};Jt.url="responseURL"in I?I.responseURL:Jt.headers.get("X-Request-URL");var fn="response"in I?I.response:I.responseText;A(new J(fn,Jt))},I.onerror=function(){X(new TypeError("Network request failed"))},I.ontimeout=function(){X(new TypeError("Network request failed"))},I.onabort=function(){X(new o.DOMException("Aborted","AbortError"))},I.open(G.method,G.url,!0),G.credentials==="include"?I.withCredentials=!0:G.credentials==="omit"&&(I.withCredentials=!1),"responseType"in I&&a.blob&&(I.responseType="blob"),G.headers.forEach(function(Jt,fn){I.setRequestHeader(fn,Jt)}),G.signal&&(G.signal.addEventListener("abort",gr),I.onreadystatechange=function(){I.readyState===4&&G.signal.removeEventListener("abort",gr)}),I.send(typeof G._bodyInit>"u"?null:G._bodyInit)})}return Ot.polyfill=!0,i.fetch||(i.fetch=Ot,i.Headers=d,i.Request=pe,i.Response=J),o.Headers=d,o.Request=pe,o.Response=J,o.fetch=Ot,Object.defineProperty(o,"__esModule",{value:!0}),o})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var s=r;e=s.fetch,e.default=s.fetch,e.fetch=s.fetch,e.Headers=s.Headers,e.Request=s.Request,e.Response=s.Response,n.exports=e})(ba,Bt);const ts=wa(Bt),qr=ua({__proto__:null,default:ts},[Bt]);class va{constructor(e){this.shouldThrowOnError=!1,this.method=e.method,this.url=e.url,this.headers=e.headers,this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=e.shouldThrowOnError,this.signal=e.signal,this.allowEmpty=e.allowEmpty,e.fetch?this.fetch=e.fetch:typeof fetch>"u"?this.fetch=ts:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}then(e,t){this.schema===void 0||(["GET","HEAD"].includes(this.method)?this.headers["Accept-Profile"]=this.schema:this.headers["Content-Profile"]=this.schema),this.method!=="GET"&&this.method!=="HEAD"&&(this.headers["Content-Type"]="application/json");const r=this.fetch;let s=r(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then(async i=>{var o,a,c;let u=null,l=null,h=null,p=i.status,f=i.statusText;if(i.ok){if(this.method!=="HEAD"){const O=await i.text();O===""||(this.headers.Accept==="text/csv"||this.headers.Accept&&this.headers.Accept.includes("application/vnd.pgrst.plan+text")?l=O:l=JSON.parse(O))}const w=(o=this.headers.Prefer)===null||o===void 0?void 0:o.match(/count=(exact|planned|estimated)/),b=(a=i.headers.get("content-range"))===null||a===void 0?void 0:a.split("/");w&&b&&b.length>1&&(h=parseInt(b[1]))}else{const w=await i.text();try{u=JSON.parse(w),Array.isArray(u)&&i.status===404&&(l=[],u=null,p=200,f="OK")}catch{i.status===404&&w===""?(p=204,f="No Content"):u={message:w}}if(u&&this.allowEmpty&&(!((c=u==null?void 0:u.details)===null||c===void 0)&&c.includes("Results contain 0 rows"))&&(u=null,p=200,f="OK"),u&&this.shouldThrowOnError)throw u}return{error:u,data:l,count:h,status:p,statusText:f}});return this.shouldThrowOnError||(s=s.catch(i=>({error:{message:`FetchError: ${i.message}`,details:"",hint:"",code:i.code||""},data:null,count:null,status:0,statusText:""}))),s.then(e,t)}}class _a extends va{select(e){let t=!1;const r=(e??"*").split("").map(s=>/\s/.test(s)&&!t?"":(s==='"'&&(t=!t),s)).join("");return this.url.searchParams.set("select",r),this.headers.Prefer&&(this.headers.Prefer+=","),this.headers.Prefer+="return=representation",this}order(e,{ascending:t=!0,nullsFirst:r,foreignTable:s}={}){const i=s?`${s}.order`:"order",o=this.url.searchParams.get(i);return this.url.searchParams.set(i,`${o?`${o},`:""}${e}.${t?"asc":"desc"}${r===void 0?"":r?".nullsfirst":".nullslast"}`),this}limit(e,{foreignTable:t}={}){const r=typeof t>"u"?"limit":`${t}.limit`;return this.url.searchParams.set(r,`${e}`),this}range(e,t,{foreignTable:r}={}){const s=typeof r>"u"?"offset":`${r}.offset`,i=typeof r>"u"?"limit":`${r}.limit`;return this.url.searchParams.set(s,`${e}`),this.url.searchParams.set(i,`${t-e+1}`),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.Accept="application/vnd.pgrst.object+json",this}maybeSingle(){return this.headers.Accept="application/vnd.pgrst.object+json",this.allowEmpty=!0,this}csv(){return this.headers.Accept="text/csv",this}geojson(){return this.headers.Accept="application/geo+json",this}explain({analyze:e=!1,verbose:t=!1,settings:r=!1,buffers:s=!1,wal:i=!1,format:o="text"}={}){const a=[e?"analyze":null,t?"verbose":null,r?"settings":null,s?"buffers":null,i?"wal":null].filter(Boolean).join("|"),c=this.headers.Accept;return this.headers.Accept=`application/vnd.pgrst.plan+${o}; for="${c}"; options=${a};`,o==="json"?this:this}rollback(){var e;return((e=this.headers.Prefer)!==null&&e!==void 0?e:"").trim().length>0?this.headers.Prefer+=",tx=rollback":this.headers.Prefer="tx=rollback",this}returns(){return this}}class Rt extends _a{eq(e,t){return this.url.searchParams.append(e,`eq.${t}`),this}neq(e,t){return this.url.searchParams.append(e,`neq.${t}`),this}gt(e,t){return this.url.searchParams.append(e,`gt.${t}`),this}gte(e,t){return this.url.searchParams.append(e,`gte.${t}`),this}lt(e,t){return this.url.searchParams.append(e,`lt.${t}`),this}lte(e,t){return this.url.searchParams.append(e,`lte.${t}`),this}like(e,t){return this.url.searchParams.append(e,`like.${t}`),this}ilike(e,t){return this.url.searchParams.append(e,`ilike.${t}`),this}is(e,t){return this.url.searchParams.append(e,`is.${t}`),this}in(e,t){const r=t.map(s=>typeof s=="string"&&new RegExp("[,()]").test(s)?`"${s}"`:`${s}`).join(",");return this.url.searchParams.append(e,`in.(${r})`),this}contains(e,t){return typeof t=="string"?this.url.searchParams.append(e,`cs.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cs.{${t.join(",")}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(t)}`),this}containedBy(e,t){return typeof t=="string"?this.url.searchParams.append(e,`cd.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cd.{${t.join(",")}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(t)}`),this}rangeGt(e,t){return this.url.searchParams.append(e,`sr.${t}`),this}rangeGte(e,t){return this.url.searchParams.append(e,`nxl.${t}`),this}rangeLt(e,t){return this.url.searchParams.append(e,`sl.${t}`),this}rangeLte(e,t){return this.url.searchParams.append(e,`nxr.${t}`),this}rangeAdjacent(e,t){return this.url.searchParams.append(e,`adj.${t}`),this}overlaps(e,t){return typeof t=="string"?this.url.searchParams.append(e,`ov.${t}`):this.url.searchParams.append(e,`ov.{${t.join(",")}}`),this}textSearch(e,t,{config:r,type:s}={}){let i="";s==="plain"?i="pl":s==="phrase"?i="ph":s==="websearch"&&(i="w");const o=r===void 0?"":`(${r})`;return this.url.searchParams.append(e,`${i}fts${o}.${t}`),this}match(e){return Object.entries(e).forEach(([t,r])=>{this.url.searchParams.append(t,`eq.${r}`)}),this}not(e,t,r){return this.url.searchParams.append(e,`not.${t}.${r}`),this}or(e,{foreignTable:t}={}){const r=t?`${t}.or`:"or";return this.url.searchParams.append(r,`(${e})`),this}filter(e,t,r){return this.url.searchParams.append(e,`${t}.${r}`),this}}class Ea{constructor(e,{headers:t={},schema:r,fetch:s}){this.url=e,this.headers=t,this.schema=r,this.fetch=s}select(e,{head:t=!1,count:r}={}){const s=t?"HEAD":"GET";let i=!1;const o=(e??"*").split("").map(a=>/\s/.test(a)&&!i?"":(a==='"'&&(i=!i),a)).join("");return this.url.searchParams.set("select",o),r&&(this.headers.Prefer=`count=${r}`),new Rt({method:s,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:!1})}insert(e,{count:t}={}){const r="POST",s=[],i=e;if(t&&s.push(`count=${t}`),this.headers.Prefer&&s.unshift(this.headers.Prefer),this.headers.Prefer=s.join(","),Array.isArray(e)){const o=e.reduce((a,c)=>a.concat(Object.keys(c)),[]);if(o.length>0){const a=[...new Set(o)].map(c=>`"${c}"`);this.url.searchParams.set("columns",a.join(","))}}return new Rt({method:r,url:this.url,headers:this.headers,schema:this.schema,body:i,fetch:this.fetch,allowEmpty:!1})}upsert(e,{onConflict:t,ignoreDuplicates:r=!1,count:s}={}){const i="POST",o=[`resolution=${r?"ignore":"merge"}-duplicates`];t!==void 0&&this.url.searchParams.set("on_conflict",t);const a=e;return s&&o.push(`count=${s}`),this.headers.Prefer&&o.unshift(this.headers.Prefer),this.headers.Prefer=o.join(","),new Rt({method:i,url:this.url,headers:this.headers,schema:this.schema,body:a,fetch:this.fetch,allowEmpty:!1})}update(e,{count:t}={}){const r="PATCH",s=[],i=e;return t&&s.push(`count=${t}`),this.headers.Prefer&&s.unshift(this.headers.Prefer),this.headers.Prefer=s.join(","),new Rt({method:r,url:this.url,headers:this.headers,schema:this.schema,body:i,fetch:this.fetch,allowEmpty:!1})}delete({count:e}={}){const t="DELETE",r=[];return e&&r.push(`count=${e}`),this.headers.Prefer&&r.unshift(this.headers.Prefer),this.headers.Prefer=r.join(","),new Rt({method:t,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:!1})}}const xa="1.4.1",Oa={"X-Client-Info":`postgrest-js/${xa}`};class Ta{constructor(e,{headers:t={},schema:r,fetch:s}={}){this.url=e,this.headers=Object.assign(Object.assign({},Oa),t),this.schema=r,this.fetch=s}from(e){const t=new URL(`${this.url}/${e}`);return new Ea(t,{headers:Object.assign({},this.headers),schema:this.schema,fetch:this.fetch})}rpc(e,t={},{head:r=!1,count:s}={}){let i;const o=new URL(`${this.url}/rpc/${e}`);let a;r?(i="HEAD",Object.entries(t).forEach(([u,l])=>{o.searchParams.append(u,`${l}`)})):(i="POST",a=t);const c=Object.assign({},this.headers);return s&&(c.Prefer=`count=${s}`),new Rt({method:i,url:o,headers:c,schema:this.schema,body:a,fetch:this.fetch,allowEmpty:!1})}}var pn,Cs;function Aa(){if(Cs)return pn;Cs=1;var n=function(){if(typeof self=="object"&&self)return self;if(typeof window=="object"&&window)return window;throw new Error("Unable to resolve global `this`")};return pn=function(){if(this)return this;if(typeof globalThis=="object"&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch{return n()}try{return __global__||n()}finally{delete Object.prototype.__global__}}(),pn}const Sa="websocket",ka="Websocket Client & Server Library implementing the WebSocket protocol as specified in RFC 6455.",Ra=["websocket","websockets","socket","networking","comet","push","RFC-6455","realtime","server","client"],Pa="Brian McKelvey <theturtle32@gmail.com> (https://github.com/theturtle32)",Na=["Iñaki Baz Castillo <ibc@aliax.net> (http://dev.sipdoc.net)"],$a="1.0.34",Ca={type:"git",url:"https://github.com/theturtle32/WebSocket-Node.git"},Ia="https://github.com/theturtle32/WebSocket-Node",Fa={node:">=4.0.0"},Da={bufferutil:"^4.0.1",debug:"^2.2.0","es5-ext":"^0.10.50","typedarray-to-buffer":"^3.1.5","utf-8-validate":"^5.0.2",yaeti:"^0.0.6"},Ua={"buffer-equal":"^1.0.0",gulp:"^4.0.2","gulp-jshint":"^2.0.4","jshint-stylish":"^2.2.1",jshint:"^2.0.0",tape:"^4.9.1"},La={verbose:!1},ja={test:"tape test/unit/*.js",gulp:"gulp"},Ba="index",Ha={lib:"./lib"},Ma="lib/browser.js",za="Apache-2.0",Va={name:Sa,description:ka,keywords:Ra,author:Pa,contributors:Na,version:$a,repository:Ca,homepage:Ia,engines:Fa,dependencies:Da,devDependencies:Ua,config:La,scripts:ja,main:Ba,directories:Ha,browser:Ma,license:za};var qa=Va.version,at;if(typeof globalThis=="object")at=globalThis;else try{at=Aa()}catch{}finally{if(!at&&typeof window<"u"&&(at=window),!at)throw new Error("Could not determine global this")}var er=at.WebSocket||at.MozWebSocket,Ja=qa;function Ni(n,e){var t;return e?t=new er(n,e):t=new er(n),t}er&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach(function(n){Object.defineProperty(Ni,n,{get:function(){return er[n]}})});var Ga={w3cwebsocket:er?Ni:null,version:Ja};const Wa="2.6.0",Ka={"X-Client-Info":`realtime-js/${Wa}`},Xa="1.0.0",$i=1e4,Za=1e3;var Zt;(function(n){n[n.connecting=0]="connecting",n[n.open=1]="open",n[n.closing=2]="closing",n[n.closed=3]="closed"})(Zt||(Zt={}));var ie;(function(n){n.closed="closed",n.errored="errored",n.joined="joined",n.joining="joining",n.leaving="leaving"})(ie||(ie={}));var ge;(function(n){n.close="phx_close",n.error="phx_error",n.join="phx_join",n.reply="phx_reply",n.leave="phx_leave",n.access_token="access_token"})(ge||(ge={}));var Rn;(function(n){n.websocket="websocket"})(Rn||(Rn={}));var ct;(function(n){n.Connecting="connecting",n.Open="open",n.Closing="closing",n.Closed="closed"})(ct||(ct={}));class Ci{constructor(e,t){this.callback=e,this.timerCalc=t,this.timer=void 0,this.tries=0,this.callback=e,this.timerCalc=t}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}}class Ya{constructor(){this.HEADER_LENGTH=1}decode(e,t){return e.constructor===ArrayBuffer?t(this._binaryDecode(e)):t(typeof e=="string"?JSON.parse(e):{})}_binaryDecode(e){const t=new DataView(e),r=new TextDecoder;return this._decodeBroadcast(e,t,r)}_decodeBroadcast(e,t,r){const s=t.getUint8(1),i=t.getUint8(2);let o=this.HEADER_LENGTH+2;const a=r.decode(e.slice(o,o+s));o=o+s;const c=r.decode(e.slice(o,o+i));o=o+i;const u=JSON.parse(r.decode(e.slice(o,e.byteLength)));return{ref:null,topic:a,event:c,payload:u}}}class yn{constructor(e,t,r={},s=$i){this.channel=e,this.event=t,this.payload=r,this.timeout=s,this.sent=!1,this.timeoutTimer=void 0,this.ref="",this.receivedResp=null,this.recHooks=[],this.refEvent=null,this.rateLimited=!1}resend(e){this.timeout=e,this._cancelRefEvent(),this.ref="",this.refEvent=null,this.receivedResp=null,this.sent=!1,this.send()}send(){if(this._hasReceived("timeout"))return;this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload,ref:this.ref,join_ref:this.channel._joinRef()})==="rate limited"&&(this.rateLimited=!0)}updatePayload(e){this.payload=Object.assign(Object.assign({},this.payload),e)}receive(e,t){var r;return this._hasReceived(e)&&t((r=this.receivedResp)===null||r===void 0?void 0:r.response),this.recHooks.push({status:e,callback:t}),this}startTimeout(){if(this.timeoutTimer)return;this.ref=this.channel.socket._makeRef(),this.refEvent=this.channel._replyEventName(this.ref);const e=t=>{this._cancelRefEvent(),this._cancelTimeout(),this.receivedResp=t,this._matchReceive(t)};this.channel._on(this.refEvent,{},e),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}trigger(e,t){this.refEvent&&this.channel._trigger(this.refEvent,{status:e,response:t})}destroy(){this._cancelRefEvent(),this._cancelTimeout()}_cancelRefEvent(){this.refEvent&&this.channel._off(this.refEvent,{})}_cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=void 0}_matchReceive({status:e,response:t}){this.recHooks.filter(r=>r.status===e).forEach(r=>r.callback(t))}_hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}}var Is;(function(n){n.SYNC="sync",n.JOIN="join",n.LEAVE="leave"})(Is||(Is={}));class Yt{constructor(e,t){this.channel=e,this.state={},this.pendingDiffs=[],this.joinRef=null,this.caller={onJoin:()=>{},onLeave:()=>{},onSync:()=>{}};const r=(t==null?void 0:t.events)||{state:"presence_state",diff:"presence_diff"};this.channel._on(r.state,{},s=>{const{onJoin:i,onLeave:o,onSync:a}=this.caller;this.joinRef=this.channel._joinRef(),this.state=Yt.syncState(this.state,s,i,o),this.pendingDiffs.forEach(c=>{this.state=Yt.syncDiff(this.state,c,i,o)}),this.pendingDiffs=[],a()}),this.channel._on(r.diff,{},s=>{const{onJoin:i,onLeave:o,onSync:a}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(s):(this.state=Yt.syncDiff(this.state,s,i,o),a())}),this.onJoin((s,i,o)=>{this.channel._trigger("presence",{event:"join",key:s,currentPresences:i,newPresences:o})}),this.onLeave((s,i,o)=>{this.channel._trigger("presence",{event:"leave",key:s,currentPresences:i,leftPresences:o})}),this.onSync(()=>{this.channel._trigger("presence",{event:"sync"})})}static syncState(e,t,r,s){const i=this.cloneDeep(e),o=this.transformState(t),a={},c={};return this.map(i,(u,l)=>{o[u]||(c[u]=l)}),this.map(o,(u,l)=>{const h=i[u];if(h){const p=l.map(b=>b.presence_ref),f=h.map(b=>b.presence_ref),d=l.filter(b=>f.indexOf(b.presence_ref)<0),w=h.filter(b=>p.indexOf(b.presence_ref)<0);d.length>0&&(a[u]=d),w.length>0&&(c[u]=w)}else a[u]=l}),this.syncDiff(i,{joins:a,leaves:c},r,s)}static syncDiff(e,t,r,s){const{joins:i,leaves:o}={joins:this.transformState(t.joins),leaves:this.transformState(t.leaves)};return r||(r=()=>{}),s||(s=()=>{}),this.map(i,(a,c)=>{var u;const l=(u=e[a])!==null&&u!==void 0?u:[];if(e[a]=this.cloneDeep(c),l.length>0){const h=e[a].map(f=>f.presence_ref),p=l.filter(f=>h.indexOf(f.presence_ref)<0);e[a].unshift(...p)}r(a,l,c)}),this.map(o,(a,c)=>{let u=e[a];if(!u)return;const l=c.map(h=>h.presence_ref);u=u.filter(h=>l.indexOf(h.presence_ref)<0),e[a]=u,s(a,u,c),u.length===0&&delete e[a]}),e}static map(e,t){return Object.getOwnPropertyNames(e).map(r=>t(r,e[r]))}static transformState(e){return e=this.cloneDeep(e),Object.getOwnPropertyNames(e).reduce((t,r)=>{const s=e[r];return"metas"in s?t[r]=s.metas.map(i=>(i.presence_ref=i.phx_ref,delete i.phx_ref,delete i.phx_ref_prev,i)):t[r]=s,t},{})}static cloneDeep(e){return JSON.parse(JSON.stringify(e))}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel._joinRef()}}var L;(function(n){n.abstime="abstime",n.bool="bool",n.date="date",n.daterange="daterange",n.float4="float4",n.float8="float8",n.int2="int2",n.int4="int4",n.int4range="int4range",n.int8="int8",n.int8range="int8range",n.json="json",n.jsonb="jsonb",n.money="money",n.numeric="numeric",n.oid="oid",n.reltime="reltime",n.text="text",n.time="time",n.timestamp="timestamp",n.timestamptz="timestamptz",n.timetz="timetz",n.tsrange="tsrange",n.tstzrange="tstzrange"})(L||(L={}));const Fs=(n,e,t={})=>{var r;const s=(r=t.skipTypes)!==null&&r!==void 0?r:[];return Object.keys(e).reduce((i,o)=>(i[o]=Qa(o,n,e,s),i),{})},Qa=(n,e,t,r)=>{const s=e.find(a=>a.name===n),i=s==null?void 0:s.type,o=t[n];return i&&!r.includes(i)?Ii(i,o):Pn(o)},Ii=(n,e)=>{if(n.charAt(0)==="_"){const t=n.slice(1,n.length);return nc(e,t)}switch(n){case L.bool:return ec(e);case L.float4:case L.float8:case L.int2:case L.int4:case L.int8:case L.numeric:case L.oid:return tc(e);case L.json:case L.jsonb:return rc(e);case L.timestamp:return sc(e);case L.abstime:case L.date:case L.daterange:case L.int4range:case L.int8range:case L.money:case L.reltime:case L.text:case L.time:case L.timestamptz:case L.timetz:case L.tsrange:case L.tstzrange:return Pn(e);default:return Pn(e)}},Pn=n=>n,ec=n=>{switch(n){case"t":return!0;case"f":return!1;default:return n}},tc=n=>{if(typeof n=="string"){const e=parseFloat(n);if(!Number.isNaN(e))return e}return n},rc=n=>{if(typeof n=="string")try{return JSON.parse(n)}catch(e){return console.log(`JSON parse error: ${e}`),n}return n},nc=(n,e)=>{if(typeof n!="string")return n;const t=n.length-1,r=n[t];if(n[0]==="{"&&r==="}"){let i;const o=n.slice(1,t);try{i=JSON.parse("["+o+"]")}catch{i=o?o.split(","):[]}return i.map(a=>Ii(e,a))}return n},sc=n=>typeof n=="string"?n.replace(" ","T"):n;var Ds=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})},Us;(function(n){n.ALL="*",n.INSERT="INSERT",n.UPDATE="UPDATE",n.DELETE="DELETE"})(Us||(Us={}));var Ls;(function(n){n.BROADCAST="broadcast",n.PRESENCE="presence",n.POSTGRES_CHANGES="postgres_changes"})(Ls||(Ls={}));var js;(function(n){n.SUBSCRIBED="SUBSCRIBED",n.TIMED_OUT="TIMED_OUT",n.CLOSED="CLOSED",n.CHANNEL_ERROR="CHANNEL_ERROR"})(js||(js={}));class rs{constructor(e,t={config:{}},r){this.topic=e,this.params=t,this.socket=r,this.bindings={},this.state=ie.closed,this.joinedOnce=!1,this.pushBuffer=[],this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:""}},t.config),this.timeout=this.socket.timeout,this.joinPush=new yn(this,ge.join,this.params,this.timeout),this.rejoinTimer=new Ci(()=>this._rejoinUntilConnected(),this.socket.reconnectAfterMs),this.joinPush.receive("ok",()=>{this.state=ie.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(s=>s.send()),this.pushBuffer=[]}),this._onClose(()=>{this.rejoinTimer.reset(),this.socket.log("channel",`close ${this.topic} ${this._joinRef()}`),this.state=ie.closed,this.socket._remove(this)}),this._onError(s=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,s),this.state=ie.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("timeout",()=>{this._isJoining()&&(this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),this.state=ie.errored,this.rejoinTimer.scheduleTimeout())}),this._on(ge.reply,{},(s,i)=>{this._trigger(this._replyEventName(i),s)}),this.presence=new Yt(this)}subscribe(e,t=this.timeout){var r,s;if(this.joinedOnce)throw"tried to subscribe multiple times. 'subscribe' can only be called a single time per channel instance";{const{config:{broadcast:i,presence:o}}=this.params;this._onError(u=>e&&e("CHANNEL_ERROR",u)),this._onClose(()=>e&&e("CLOSED"));const a={},c={broadcast:i,presence:o,postgres_changes:(s=(r=this.bindings.postgres_changes)===null||r===void 0?void 0:r.map(u=>u.filter))!==null&&s!==void 0?s:[]};this.socket.accessToken&&(a.access_token=this.socket.accessToken),this.updateJoinPayload(Object.assign({config:c},a)),this.joinedOnce=!0,this._rejoin(t),this.joinPush.receive("ok",({postgres_changes:u})=>{var l;if(this.socket.accessToken&&this.socket.setAuth(this.socket.accessToken),u===void 0){e&&e("SUBSCRIBED");return}else{const h=this.bindings.postgres_changes,p=(l=h==null?void 0:h.length)!==null&&l!==void 0?l:0,f=[];for(let d=0;d<p;d++){const w=h[d],{filter:{event:b,schema:O,table:R,filter:M}}=w,D=u&&u[d];if(D&&D.event===b&&D.schema===O&&D.table===R&&D.filter===M)f.push(Object.assign(Object.assign({},w),{id:D.id}));else{this.unsubscribe(),e&&e("CHANNEL_ERROR",new Error("mismatch between server and client bindings for postgres changes"));return}}this.bindings.postgres_changes=f,e&&e("SUBSCRIBED");return}}).receive("error",u=>{e&&e("CHANNEL_ERROR",new Error(JSON.stringify(Object.values(u).join(", ")||"error")))}).receive("timeout",()=>{e&&e("TIMED_OUT")})}return this}presenceState(){return this.presence.state}track(e,t={}){return Ds(this,void 0,void 0,function*(){return yield this.send({type:"presence",event:"track",payload:e},t.timeout||this.timeout)})}untrack(e={}){return Ds(this,void 0,void 0,function*(){return yield this.send({type:"presence",event:"untrack"},e)})}on(e,t,r){return this._on(e,t,r)}send(e,t={}){return new Promise(r=>{var s,i,o;const a=this._push(e.type,e,t.timeout||this.timeout);a.rateLimited&&r("rate limited"),e.type==="broadcast"&&!(!((o=(i=(s=this.params)===null||s===void 0?void 0:s.config)===null||i===void 0?void 0:i.broadcast)===null||o===void 0)&&o.ack)&&r("ok"),a.receive("ok",()=>r("ok")),a.receive("timeout",()=>r("timed out"))})}updateJoinPayload(e){this.joinPush.updatePayload(e)}unsubscribe(e=this.timeout){this.state=ie.leaving;const t=()=>{this.socket.log("channel",`leave ${this.topic}`),this._trigger(ge.close,"leave",this._joinRef())};return this.rejoinTimer.reset(),this.joinPush.destroy(),new Promise(r=>{const s=new yn(this,ge.leave,{},e);s.receive("ok",()=>{t(),r("ok")}).receive("timeout",()=>{t(),r("timed out")}).receive("error",()=>{r("error")}),s.send(),this._canPush()||s.trigger("ok",{})})}_push(e,t,r=this.timeout){if(!this.joinedOnce)throw`tried to push '${e}' to '${this.topic}' before joining. Use channel.subscribe() before pushing events`;let s=new yn(this,e,t,r);return this._canPush()?s.send():(s.startTimeout(),this.pushBuffer.push(s)),s}_onMessage(e,t,r){return t}_isMember(e){return this.topic===e}_joinRef(){return this.joinPush.ref}_trigger(e,t,r){var s,i;const o=e.toLocaleLowerCase(),{close:a,error:c,leave:u,join:l}=ge;if(r&&[a,c,u,l].indexOf(o)>=0&&r!==this._joinRef())return;let p=this._onMessage(o,t,r);if(t&&!p)throw"channel onMessage callbacks must return the payload, modified or unmodified";["insert","update","delete"].includes(o)?(s=this.bindings.postgres_changes)===null||s===void 0||s.filter(f=>{var d,w,b;return((d=f.filter)===null||d===void 0?void 0:d.event)==="*"||((b=(w=f.filter)===null||w===void 0?void 0:w.event)===null||b===void 0?void 0:b.toLocaleLowerCase())===o}).map(f=>f.callback(p,r)):(i=this.bindings[o])===null||i===void 0||i.filter(f=>{var d,w,b,O,R,M;if(["broadcast","presence","postgres_changes"].includes(o))if("id"in f){const D=f.id,_e=(d=f.filter)===null||d===void 0?void 0:d.event;return D&&((w=t.ids)===null||w===void 0?void 0:w.includes(D))&&(_e==="*"||(_e==null?void 0:_e.toLocaleLowerCase())===((b=t.data)===null||b===void 0?void 0:b.type.toLocaleLowerCase()))}else{const D=(R=(O=f==null?void 0:f.filter)===null||O===void 0?void 0:O.event)===null||R===void 0?void 0:R.toLocaleLowerCase();return D==="*"||D===((M=t==null?void 0:t.event)===null||M===void 0?void 0:M.toLocaleLowerCase())}else return f.type.toLocaleLowerCase()===o}).map(f=>{if(typeof p=="object"&&"ids"in p){const d=p.data,{schema:w,table:b,commit_timestamp:O,type:R,errors:M}=d;p=Object.assign(Object.assign({},{schema:w,table:b,commit_timestamp:O,eventType:R,new:{},old:{},errors:M}),this._getPayloadRecords(d))}f.callback(p,r)})}_isClosed(){return this.state===ie.closed}_isJoined(){return this.state===ie.joined}_isJoining(){return this.state===ie.joining}_isLeaving(){return this.state===ie.leaving}_replyEventName(e){return`chan_reply_${e}`}_on(e,t,r){const s=e.toLocaleLowerCase(),i={type:s,filter:t,callback:r};return this.bindings[s]?this.bindings[s].push(i):this.bindings[s]=[i],this}_off(e,t){const r=e.toLocaleLowerCase();return this.bindings[r]=this.bindings[r].filter(s=>{var i;return!(((i=s.type)===null||i===void 0?void 0:i.toLocaleLowerCase())===r&&rs.isEqual(s.filter,t))}),this}static isEqual(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const r in e)if(e[r]!==t[r])return!1;return!0}_rejoinUntilConnected(){this.rejoinTimer.scheduleTimeout(),this.socket.isConnected()&&this._rejoin()}_onClose(e){this._on(ge.close,{},e)}_onError(e){this._on(ge.error,{},t=>e(t))}_canPush(){return this.socket.isConnected()&&this._isJoined()}_rejoin(e=this.timeout){this._isLeaving()||(this.socket._leaveOpenTopic(this.topic),this.state=ie.joining,this.joinPush.resend(e))}_getPayloadRecords(e){const t={new:{},old:{}};return(e.type==="INSERT"||e.type==="UPDATE")&&(t.new=Fs(e.columns,e.record)),(e.type==="UPDATE"||e.type==="DELETE")&&(t.old=Fs(e.columns,e.old_record)),t}}var ic=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const oc=()=>{};class ac{constructor(e,t){var r;this.accessToken=null,this.channels=[],this.endPoint="",this.headers=Ka,this.params={},this.timeout=$i,this.transport=Ga.w3cwebsocket,this.heartbeatIntervalMs=3e4,this.heartbeatTimer=void 0,this.pendingHeartbeatRef=null,this.ref=0,this.logger=oc,this.conn=null,this.sendBuffer=[],this.serializer=new Ya,this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.eventsPerSecondLimitMs=100,this.inThrottle=!1,this.endPoint=`${e}/${Rn.websocket}`,t!=null&&t.params&&(this.params=t.params),t!=null&&t.headers&&(this.headers=Object.assign(Object.assign({},this.headers),t.headers)),t!=null&&t.timeout&&(this.timeout=t.timeout),t!=null&&t.logger&&(this.logger=t.logger),t!=null&&t.transport&&(this.transport=t.transport),t!=null&&t.heartbeatIntervalMs&&(this.heartbeatIntervalMs=t.heartbeatIntervalMs);const s=(r=t==null?void 0:t.params)===null||r===void 0?void 0:r.eventsPerSecond;s&&(this.eventsPerSecondLimitMs=Math.floor(1e3/s)),this.reconnectAfterMs=t!=null&&t.reconnectAfterMs?t.reconnectAfterMs:i=>[1e3,2e3,5e3,1e4][i-1]||1e4,this.encode=t!=null&&t.encode?t.encode:(i,o)=>o(JSON.stringify(i)),this.decode=t!=null&&t.decode?t.decode:this.serializer.decode.bind(this.serializer),this.reconnectTimer=new Ci(()=>ic(this,void 0,void 0,function*(){this.disconnect(),this.connect()}),this.reconnectAfterMs)}connect(){this.conn||(this.conn=new this.transport(this._endPointURL(),[],null,this.headers),this.conn&&(this.conn.binaryType="arraybuffer",this.conn.onopen=()=>this._onConnOpen(),this.conn.onerror=e=>this._onConnError(e),this.conn.onmessage=e=>this._onConnMessage(e),this.conn.onclose=e=>this._onConnClose(e)))}disconnect(e,t){this.conn&&(this.conn.onclose=function(){},e?this.conn.close(e,t??""):this.conn.close(),this.conn=null,this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.reconnectTimer.reset())}getChannels(){return this.channels}removeChannel(e){return e.unsubscribe().then(t=>(this.channels.length===0&&this.disconnect(),t))}removeAllChannels(){return Promise.all(this.channels.map(e=>e.unsubscribe())).then(e=>(this.disconnect(),e))}log(e,t,r){this.logger(e,t,r)}connectionState(){switch(this.conn&&this.conn.readyState){case Zt.connecting:return ct.Connecting;case Zt.open:return ct.Open;case Zt.closing:return ct.Closing;default:return ct.Closed}}isConnected(){return this.connectionState()===ct.Open}channel(e,t={config:{}}){this.isConnected()||this.connect();const r=new rs(`realtime:${e}`,t,this);return this.channels.push(r),r}push(e){const{topic:t,event:r,payload:s,ref:i}=e;let o=()=>{this.encode(e,a=>{var c;(c=this.conn)===null||c===void 0||c.send(a)})};if(this.log("push",`${t} ${r} (${i})`,s),this.isConnected())if(["broadcast","presence","postgres_changes"].includes(r)){if(this._throttle(o)())return"rate limited"}else o();else this.sendBuffer.push(o)}setAuth(e){this.accessToken=e,this.channels.forEach(t=>{e&&t.updateJoinPayload({access_token:e}),t.joinedOnce&&t._isJoined()&&t._push(ge.access_token,{access_token:e})})}_makeRef(){let e=this.ref+1;return e===this.ref?this.ref=0:this.ref=e,this.ref.toString()}_leaveOpenTopic(e){let t=this.channels.find(r=>r.topic===e&&(r._isJoined()||r._isJoining()));t&&(this.log("transport",`leaving duplicate topic "${e}"`),t.unsubscribe())}_remove(e){this.channels=this.channels.filter(t=>t._joinRef()!==e._joinRef())}_endPointURL(){return this._appendParams(this.endPoint,Object.assign({},this.params,{vsn:Xa}))}_onConnMessage(e){this.decode(e.data,t=>{let{topic:r,event:s,payload:i,ref:o}=t;(o&&o===this.pendingHeartbeatRef||s===(i==null?void 0:i.type))&&(this.pendingHeartbeatRef=null),this.log("receive",`${i.status||""} ${r} ${s} ${o&&"("+o+")"||""}`,i),this.channels.filter(a=>a._isMember(r)).forEach(a=>a._trigger(s,i,o)),this.stateChangeCallbacks.message.forEach(a=>a(t))})}_onConnOpen(){this.log("transport",`connected to ${this._endPointURL()}`),this._flushSendBuffer(),this.reconnectTimer.reset(),this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.heartbeatTimer=setInterval(()=>this._sendHeartbeat(),this.heartbeatIntervalMs),this.stateChangeCallbacks.open.forEach(e=>e())}_onConnClose(e){this.log("transport","close",e),this._triggerChanError(),this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.reconnectTimer.scheduleTimeout(),this.stateChangeCallbacks.close.forEach(t=>t(e))}_onConnError(e){this.log("transport",e.message),this._triggerChanError(),this.stateChangeCallbacks.error.forEach(t=>t(e))}_triggerChanError(){this.channels.forEach(e=>e._trigger(ge.error))}_appendParams(e,t){if(Object.keys(t).length===0)return e;const r=e.match(/\?/)?"&":"?",s=new URLSearchParams(t);return`${e}${r}${s}`}_flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(e=>e()),this.sendBuffer=[])}_sendHeartbeat(){var e;if(this.isConnected()){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.log("transport","heartbeat timeout. Attempting to re-establish connection"),(e=this.conn)===null||e===void 0||e.close(Za,"hearbeat timeout");return}this.pendingHeartbeatRef=this._makeRef(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef}),this.setAuth(this.accessToken)}}_throttle(e,t=this.eventsPerSecondLimitMs){return()=>this.inThrottle?!0:(e(),t>0&&(this.inThrottle=!0,setTimeout(()=>{this.inThrottle=!1},t)),!1)}}class Fi extends Error{constructor(e){super(e),this.__isStorageError=!0,this.name="StorageError"}}function te(n){return typeof n=="object"&&n!==null&&"__isStorageError"in n}class cc extends Fi{constructor(e,t){super(e),this.name="StorageApiError",this.status=t}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class Bs extends Fi{constructor(e,t){super(e),this.name="StorageUnknownError",this.originalError=t}}var Di=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const Ui=n=>{let e;return n?e=n:typeof fetch>"u"?e=(...t)=>Di(void 0,void 0,void 0,function*(){return yield(yield Promise.resolve().then(()=>qr)).fetch(...t)}):e=fetch,(...t)=>e(...t)},uc=()=>Di(void 0,void 0,void 0,function*(){return typeof Response>"u"?(yield Promise.resolve().then(()=>qr)).Response:Response});var zt=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const mn=n=>n.msg||n.message||n.error_description||n.error||JSON.stringify(n),lc=(n,e)=>zt(void 0,void 0,void 0,function*(){const t=yield uc();n instanceof t?n.json().then(r=>{e(new cc(mn(r),n.status||500))}).catch(r=>{e(new Bs(mn(r),r))}):e(new Bs(mn(n),n))}),hc=(n,e,t,r)=>{const s={method:n,headers:(e==null?void 0:e.headers)||{}};return n==="GET"?s:(s.headers=Object.assign({"Content-Type":"application/json"},e==null?void 0:e.headers),s.body=JSON.stringify(r),Object.assign(Object.assign({},s),t))};function Jr(n,e,t,r,s,i){return zt(this,void 0,void 0,function*(){return new Promise((o,a)=>{n(t,hc(e,r,s,i)).then(c=>{if(!c.ok)throw c;return r!=null&&r.noResolveJson?c:c.json()}).then(c=>o(c)).catch(c=>lc(c,a))})})}function Nn(n,e,t,r){return zt(this,void 0,void 0,function*(){return Jr(n,"GET",e,t,r)})}function ut(n,e,t,r,s){return zt(this,void 0,void 0,function*(){return Jr(n,"POST",e,r,s,t)})}function fc(n,e,t,r,s){return zt(this,void 0,void 0,function*(){return Jr(n,"PUT",e,r,s,t)})}function Li(n,e,t,r,s){return zt(this,void 0,void 0,function*(){return Jr(n,"DELETE",e,r,s,t)})}var Ee=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const dc={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},pc={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};class yc{constructor(e,t={},r,s){this.url=e,this.headers=t,this.bucketId=r,this.fetch=Ui(s)}uploadOrUpdate(e,t,r,s){return Ee(this,void 0,void 0,function*(){try{let i;const o=Object.assign(Object.assign({},pc),s),a=Object.assign(Object.assign({},this.headers),e==="POST"&&{"x-upsert":String(o.upsert)});typeof Blob<"u"&&r instanceof Blob?(i=new FormData,i.append("cacheControl",o.cacheControl),i.append("",r)):typeof FormData<"u"&&r instanceof FormData?(i=r,i.append("cacheControl",o.cacheControl)):(i=r,a["cache-control"]=`max-age=${o.cacheControl}`,a["content-type"]=o.contentType);const c=this._removeEmptyFolders(t),u=this._getFinalPath(c),l=yield this.fetch(`${this.url}/object/${u}`,{method:e,body:i,headers:a});return l.ok?{data:{path:c},error:null}:{data:null,error:yield l.json()}}catch(i){if(te(i))return{data:null,error:i};throw i}})}upload(e,t,r){return Ee(this,void 0,void 0,function*(){return this.uploadOrUpdate("POST",e,t,r)})}update(e,t,r){return Ee(this,void 0,void 0,function*(){return this.uploadOrUpdate("PUT",e,t,r)})}move(e,t){return Ee(this,void 0,void 0,function*(){try{return{data:yield ut(this.fetch,`${this.url}/object/move`,{bucketId:this.bucketId,sourceKey:e,destinationKey:t},{headers:this.headers}),error:null}}catch(r){if(te(r))return{data:null,error:r};throw r}})}copy(e,t){return Ee(this,void 0,void 0,function*(){try{return{data:{path:(yield ut(this.fetch,`${this.url}/object/copy`,{bucketId:this.bucketId,sourceKey:e,destinationKey:t},{headers:this.headers})).Key},error:null}}catch(r){if(te(r))return{data:null,error:r};throw r}})}createSignedUrl(e,t,r){return Ee(this,void 0,void 0,function*(){try{let s=this._getFinalPath(e),i=yield ut(this.fetch,`${this.url}/object/sign/${s}`,Object.assign({expiresIn:t},r!=null&&r.transform?{transform:r.transform}:{}),{headers:this.headers});const o=r!=null&&r.download?`&download=${r.download===!0?"":r.download}`:"";return i={signedUrl:encodeURI(`${this.url}${i.signedURL}${o}`)},{data:i,error:null}}catch(s){if(te(s))return{data:null,error:s};throw s}})}createSignedUrls(e,t,r){return Ee(this,void 0,void 0,function*(){try{const s=yield ut(this.fetch,`${this.url}/object/sign/${this.bucketId}`,{expiresIn:t,paths:e},{headers:this.headers}),i=r!=null&&r.download?`&download=${r.download===!0?"":r.download}`:"";return{data:s.map(o=>Object.assign(Object.assign({},o),{signedUrl:o.signedURL?encodeURI(`${this.url}${o.signedURL}${i}`):null})),error:null}}catch(s){if(te(s))return{data:null,error:s};throw s}})}download(e,t){return Ee(this,void 0,void 0,function*(){const s=typeof(t==null?void 0:t.transform)<"u"?"render/image/authenticated":"object",i=this.transformOptsToQueryString((t==null?void 0:t.transform)||{}),o=i?`?${i}`:"";try{const a=this._getFinalPath(e);return{data:yield(yield Nn(this.fetch,`${this.url}/${s}/${a}${o}`,{headers:this.headers,noResolveJson:!0})).blob(),error:null}}catch(a){if(te(a))return{data:null,error:a};throw a}})}getPublicUrl(e,t){const r=this._getFinalPath(e),s=[],i=t!=null&&t.download?`download=${t.download===!0?"":t.download}`:"";i!==""&&s.push(i);const a=typeof(t==null?void 0:t.transform)<"u"?"render/image":"object",c=this.transformOptsToQueryString((t==null?void 0:t.transform)||{});c!==""&&s.push(c);let u=s.join("&");return u!==""&&(u=`?${u}`),{data:{publicUrl:encodeURI(`${this.url}/${a}/public/${r}${u}`)}}}remove(e){return Ee(this,void 0,void 0,function*(){try{return{data:yield Li(this.fetch,`${this.url}/object/${this.bucketId}`,{prefixes:e},{headers:this.headers}),error:null}}catch(t){if(te(t))return{data:null,error:t};throw t}})}list(e,t,r){return Ee(this,void 0,void 0,function*(){try{const s=Object.assign(Object.assign(Object.assign({},dc),t),{prefix:e||""});return{data:yield ut(this.fetch,`${this.url}/object/list/${this.bucketId}`,s,{headers:this.headers},r),error:null}}catch(s){if(te(s))return{data:null,error:s};throw s}})}_getFinalPath(e){return`${this.bucketId}/${e}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(e){const t=[];return e.width&&t.push(`width=${e.width}`),e.height&&t.push(`height=${e.height}`),e.resize&&t.push(`resize=${e.resize}`),e.format&&t.push(`format=${e.format}`),e.quality&&t.push(`quality=${e.quality}`),t.join("&")}}const mc="2.3.1",gc={"X-Client-Info":`storage-js/${mc}`};var Tt=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};class wc{constructor(e,t={},r){this.url=e,this.headers=Object.assign(Object.assign({},gc),t),this.fetch=Ui(r)}listBuckets(){return Tt(this,void 0,void 0,function*(){try{return{data:yield Nn(this.fetch,`${this.url}/bucket`,{headers:this.headers}),error:null}}catch(e){if(te(e))return{data:null,error:e};throw e}})}getBucket(e){return Tt(this,void 0,void 0,function*(){try{return{data:yield Nn(this.fetch,`${this.url}/bucket/${e}`,{headers:this.headers}),error:null}}catch(t){if(te(t))return{data:null,error:t};throw t}})}createBucket(e,t={public:!1}){return Tt(this,void 0,void 0,function*(){try{return{data:yield ut(this.fetch,`${this.url}/bucket`,{id:e,name:e,public:t.public},{headers:this.headers}),error:null}}catch(r){if(te(r))return{data:null,error:r};throw r}})}updateBucket(e,t){return Tt(this,void 0,void 0,function*(){try{return{data:yield fc(this.fetch,`${this.url}/bucket/${e}`,{id:e,name:e,public:t.public},{headers:this.headers}),error:null}}catch(r){if(te(r))return{data:null,error:r};throw r}})}emptyBucket(e){return Tt(this,void 0,void 0,function*(){try{return{data:yield ut(this.fetch,`${this.url}/bucket/${e}/empty`,{},{headers:this.headers}),error:null}}catch(t){if(te(t))return{data:null,error:t};throw t}})}deleteBucket(e){return Tt(this,void 0,void 0,function*(){try{return{data:yield Li(this.fetch,`${this.url}/bucket/${e}`,{},{headers:this.headers}),error:null}}catch(t){if(te(t))return{data:null,error:t};throw t}})}}class bc extends wc{constructor(e,t={},r){super(e,t,r)}from(e){return new yc(this.url,this.headers,e,this.fetch)}}const vc="2.10.0",_c={"X-Client-Info":`supabase-js/${vc}`};var Ec=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const xc=n=>{let e;return n?e=n:typeof fetch>"u"?e=ts:e=fetch,(...t)=>e(...t)},Oc=()=>typeof Headers>"u"?Bt.Headers:Headers,Tc=(n,e,t)=>{const r=xc(t),s=Oc();return(i,o)=>Ec(void 0,void 0,void 0,function*(){var a;const c=(a=yield e())!==null&&a!==void 0?a:n;let u=new s(o==null?void 0:o.headers);return u.has("apikey")||u.set("apikey",n),u.has("Authorization")||u.set("Authorization",`Bearer ${c}`),r(i,Object.assign(Object.assign({},o),{headers:u}))})};function Ac(n){return n.replace(/\/$/,"")}function Sc(n,e){const{db:t,auth:r,realtime:s,global:i}=n,{db:o,auth:a,realtime:c,global:u}=e;return{db:Object.assign(Object.assign({},o),t),auth:Object.assign(Object.assign({},a),r),realtime:Object.assign(Object.assign({},c),s),global:Object.assign(Object.assign({},u),i)}}var hr=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};function kc(n){return Math.round(Date.now()/1e3)+n}function Rc(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(n){const e=Math.random()*16|0;return(n=="x"?e:e&3|8).toString(16)})}const ot=()=>typeof document<"u",st={tested:!1,writable:!1},gn=()=>{if(!ot())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(st.tested)return st.writable;const n=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(n,n),globalThis.localStorage.removeItem(n),st.tested=!0,st.writable=!0}catch{st.tested=!0,st.writable=!1}return st.writable};function ce(n,e){var t;e||(e=((t=window==null?void 0:window.location)===null||t===void 0?void 0:t.href)||""),n=n.replace(/[\[\]]/g,"\\$&");const r=new RegExp("[?&#]"+n+"(=([^&#]*)|&|#|$)"),s=r.exec(e);return s?s[2]?decodeURIComponent(s[2].replace(/\+/g," ")):"":null}const ji=n=>{let e;return n?e=n:typeof fetch>"u"?e=(...t)=>hr(void 0,void 0,void 0,function*(){return yield(yield Promise.resolve().then(()=>qr)).fetch(...t)}):e=fetch,(...t)=>e(...t)},Pc=n=>typeof n=="object"&&n!==null&&"status"in n&&"ok"in n&&"json"in n&&typeof n.json=="function",Nc=(n,e,t)=>hr(void 0,void 0,void 0,function*(){yield n.setItem(e,JSON.stringify(t))}),Hs=(n,e)=>hr(void 0,void 0,void 0,function*(){const t=yield n.getItem(e);if(!t)return null;try{return JSON.parse(t)}catch{return t}}),$c=(n,e)=>hr(void 0,void 0,void 0,function*(){yield n.removeItem(e)});function Cc(n){const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";let t="",r,s,i,o,a,c,u,l=0;for(n=n.replace("-","+").replace("_","/");l<n.length;)o=e.indexOf(n.charAt(l++)),a=e.indexOf(n.charAt(l++)),c=e.indexOf(n.charAt(l++)),u=e.indexOf(n.charAt(l++)),r=o<<2|a>>4,s=(a&15)<<4|c>>2,i=(c&3)<<6|u,t=t+String.fromCharCode(r),c!=64&&s!=0&&(t=t+String.fromCharCode(s)),u!=64&&i!=0&&(t=t+String.fromCharCode(i));return t}class Gr{constructor(){this.promise=new Gr.promiseConstructor((e,t)=>{this.resolve=e,this.reject=t})}}Gr.promiseConstructor=Promise;function Ms(n){const e=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}=?$|[a-z0-9_-]{2}(==)?$)$/i,t=n.split(".");if(t.length!==3)throw new Error("JWT is not valid: not a JWT structure");if(!e.test(t[1]))throw new Error("JWT is not valid: payload is not in base64url format");const r=t[1];return JSON.parse(Cc(r))}function Ic(n){return new Promise(e=>{setTimeout(()=>e(null),n)})}function Fc(n,e){return new Promise((r,s)=>{hr(this,void 0,void 0,function*(){for(let i=0;i<1/0;i++)try{const o=yield n(i);if(!e(i,null,o)){r(o);return}}catch(o){if(!e(i,o)){s(o);return}}})})}class ns extends Error{constructor(e,t){super(e),this.__isAuthError=!0,this.name="AuthError",this.status=t}}function $(n){return typeof n=="object"&&n!==null&&"__isAuthError"in n}class Dc extends ns{constructor(e,t){super(e,t),this.name="AuthApiError",this.status=t}toJSON(){return{name:this.name,message:this.message,status:this.status}}}function Uc(n){return $(n)&&n.name==="AuthApiError"}class Bi extends ns{constructor(e,t){super(e),this.name="AuthUnknownError",this.originalError=t}}class Wr extends ns{constructor(e,t,r){super(e),this.name=t,this.status=r}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class Gt extends Wr{constructor(){super("Auth session missing!","AuthSessionMissingError",400)}}class wn extends Wr{constructor(e){super(e,"AuthInvalidCredentialsError",400)}}class Pe extends Wr{constructor(e,t=null){super(e,"AuthImplicitGrantRedirectError",500),this.details=null,this.details=t}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}class $n extends Wr{constructor(e,t){super(e,"AuthRetryableFetchError",t)}}var ss=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})},Lc=globalThis&&globalThis.__rest||function(n,e){var t={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,r=Object.getOwnPropertySymbols(n);s<r.length;s++)e.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(n,r[s])&&(t[r[s]]=n[r[s]]);return t};const wr=n=>n.msg||n.message||n.error_description||n.error||JSON.stringify(n),jc=(n,e)=>ss(void 0,void 0,void 0,function*(){const t=[502,503,504];Pc(n)?t.includes(n.status)?e(new $n(wr(n),n.status)):n.json().then(r=>{e(new Dc(wr(r),n.status||500))}).catch(r=>{e(new Bi(wr(r),r))}):e(new $n(wr(n),0))}),Bc=(n,e,t,r)=>{const s={method:n,headers:(e==null?void 0:e.headers)||{}};return n==="GET"?s:(s.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},e==null?void 0:e.headers),s.body=JSON.stringify(r),Object.assign(Object.assign({},s),t))};function F(n,e,t,r){var s;return ss(this,void 0,void 0,function*(){const i=Object.assign({},r==null?void 0:r.headers);r!=null&&r.jwt&&(i.Authorization=`Bearer ${r.jwt}`);const o=(s=r==null?void 0:r.query)!==null&&s!==void 0?s:{};r!=null&&r.redirectTo&&(o.redirect_to=r.redirectTo);const a=Object.keys(o).length?"?"+new URLSearchParams(o).toString():"",c=yield Hc(n,e,t+a,{headers:i,noResolveJson:r==null?void 0:r.noResolveJson},{},r==null?void 0:r.body);return r!=null&&r.xform?r==null?void 0:r.xform(c):{data:Object.assign({},c),error:null}})}function Hc(n,e,t,r,s,i){return ss(this,void 0,void 0,function*(){return new Promise((o,a)=>{n(t,Bc(e,r,s,i)).then(c=>{if(!c.ok)throw c;return r!=null&&r.noResolveJson?c:c.json()}).then(c=>o(c)).catch(c=>jc(c,a))})})}function it(n){var e;let t=null;qc(n)&&(t=Object.assign({},n),t.expires_at=kc(n.expires_in));const r=(e=n.user)!==null&&e!==void 0?e:n;return{data:{session:t,user:r},error:null}}function lt(n){var e;return{data:{user:(e=n.user)!==null&&e!==void 0?e:n},error:null}}function Mc(n){return{data:n,error:null}}function zc(n){const{action_link:e,email_otp:t,hashed_token:r,redirect_to:s,verification_type:i}=n,o=Lc(n,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),a={action_link:e,email_otp:t,hashed_token:r,redirect_to:s,verification_type:i},c=Object.assign({},o);return{data:{properties:a,user:c},error:null}}function Vc(n){return n}function qc(n){return n.access_token&&n.refresh_token&&n.expires_in}var xe=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})},Jc=globalThis&&globalThis.__rest||function(n,e){var t={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,r=Object.getOwnPropertySymbols(n);s<r.length;s++)e.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(n,r[s])&&(t[r[s]]=n[r[s]]);return t};class Gc{constructor({url:e="",headers:t={},fetch:r}){this.url=e,this.headers=t,this.fetch=ji(r),this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)}}signOut(e){return xe(this,void 0,void 0,function*(){try{return yield F(this.fetch,"POST",`${this.url}/logout`,{headers:this.headers,jwt:e,noResolveJson:!0}),{data:null,error:null}}catch(t){if($(t))return{data:null,error:t};throw t}})}inviteUserByEmail(e,t={}){return xe(this,void 0,void 0,function*(){try{return yield F(this.fetch,"POST",`${this.url}/invite`,{body:{email:e,data:t.data},headers:this.headers,redirectTo:t.redirectTo,xform:lt})}catch(r){if($(r))return{data:{user:null},error:r};throw r}})}generateLink(e){return xe(this,void 0,void 0,function*(){try{const{options:t}=e,r=Jc(e,["options"]),s=Object.assign(Object.assign({},r),t);return"newEmail"in r&&(s.new_email=r==null?void 0:r.newEmail,delete s.newEmail),yield F(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:s,headers:this.headers,xform:zc,redirectTo:t==null?void 0:t.redirectTo})}catch(t){if($(t))return{data:{properties:null,user:null},error:t};throw t}})}createUser(e){return xe(this,void 0,void 0,function*(){try{return yield F(this.fetch,"POST",`${this.url}/admin/users`,{body:e,headers:this.headers,xform:lt})}catch(t){if($(t))return{data:{user:null},error:t};throw t}})}listUsers(e){var t,r,s,i,o,a,c;return xe(this,void 0,void 0,function*(){try{const u={nextPage:null,lastPage:0,total:0},l=yield F(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(r=(t=e==null?void 0:e.page)===null||t===void 0?void 0:t.toString())!==null&&r!==void 0?r:"",per_page:(i=(s=e==null?void 0:e.perPage)===null||s===void 0?void 0:s.toString())!==null&&i!==void 0?i:""},xform:Vc});if(l.error)throw l.error;const h=yield l.json(),p=(o=l.headers.get("x-total-count"))!==null&&o!==void 0?o:0,f=(c=(a=l.headers.get("link"))===null||a===void 0?void 0:a.split(","))!==null&&c!==void 0?c:[];return f.length>0&&(f.forEach(d=>{const w=parseInt(d.split(";")[0].split("=")[1].substring(0,1)),b=JSON.parse(d.split(";")[1].split("=")[1]);u[`${b}Page`]=w}),u.total=parseInt(p)),{data:Object.assign(Object.assign({},h),u),error:null}}catch(u){if($(u))return{data:{users:[]},error:u};throw u}})}getUserById(e){return xe(this,void 0,void 0,function*(){try{return yield F(this.fetch,"GET",`${this.url}/admin/users/${e}`,{headers:this.headers,xform:lt})}catch(t){if($(t))return{data:{user:null},error:t};throw t}})}updateUserById(e,t){return xe(this,void 0,void 0,function*(){try{return yield F(this.fetch,"PUT",`${this.url}/admin/users/${e}`,{body:t,headers:this.headers,xform:lt})}catch(r){if($(r))return{data:{user:null},error:r};throw r}})}deleteUser(e,t=!1){return xe(this,void 0,void 0,function*(){try{return yield F(this.fetch,"DELETE",`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:t},xform:lt})}catch(r){if($(r))return{data:{user:null},error:r};throw r}})}_listFactors(e){return xe(this,void 0,void 0,function*(){try{const{data:t,error:r}=yield F(this.fetch,"GET",`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:s=>({data:{factors:s},error:null})});return{data:t,error:r}}catch(t){if($(t))return{data:null,error:t};throw t}})}_deleteFactor(e){return xe(this,void 0,void 0,function*(){try{return{data:yield F(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(t){if($(t))return{data:null,error:t};throw t}})}}const Wc="2.13.0",Kc="http://localhost:9999",Xc="supabase.auth.token",Zc={"X-Client-Info":`gotrue-js/${Wc}`},Yc=10,Qc={getItem:n=>gn()?globalThis.localStorage.getItem(n):null,setItem:(n,e)=>{gn()&&globalThis.localStorage.setItem(n,e)},removeItem:n=>{gn()&&globalThis.localStorage.removeItem(n)}};function eu(){if(typeof globalThis!="object")try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<"u"&&(self.globalThis=self)}}var S=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};eu();const tu={url:Kc,storageKey:Xc,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:Zc},bn=10*1e3,ru=3;class nu{constructor(e){this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.broadcastChannel=null;const t=Object.assign(Object.assign({},tu),e);this.inMemorySession=null,this.storageKey=t.storageKey,this.autoRefreshToken=t.autoRefreshToken,this.persistSession=t.persistSession,this.storage=t.storage||Qc,this.admin=new Gc({url:t.url,headers:t.headers,fetch:t.fetch}),this.url=t.url,this.headers=t.headers,this.fetch=ji(t.fetch),this.detectSessionInUrl=t.detectSessionInUrl,this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this)},ot()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey&&(this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey),this.broadcastChannel.addEventListener("message",r=>{this._notifyAllSubscribers(r.data.event,r.data.session,!1)})),this.initialize()}initialize(){return this.initializePromise||(this.initializePromise=this._initialize()),this.initializePromise}_initialize(){return S(this,void 0,void 0,function*(){if(this.initializePromise)return this.initializePromise;try{if(this.detectSessionInUrl&&this._isImplicitGrantFlow()){const{data:e,error:t}=yield this._getSessionFromUrl();if(t)return yield this._removeSession(),{error:t};const{session:r,redirectType:s}=e;return yield this._saveSession(r),setTimeout(()=>{this._notifyAllSubscribers("SIGNED_IN",r),s==="recovery"&&this._notifyAllSubscribers("PASSWORD_RECOVERY",r)},0),{error:null}}return yield this._recoverAndRefresh(),{error:null}}catch(e){return $(e)?{error:e}:{error:new Bi("Unexpected error during initialization",e)}}finally{yield this._handleVisibilityChange()}})}signUp(e){var t,r;return S(this,void 0,void 0,function*(){try{yield this._removeSession();let s;if("email"in e){const{email:u,password:l,options:h}=e;s=yield F(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:h==null?void 0:h.emailRedirectTo,body:{email:u,password:l,data:(t=h==null?void 0:h.data)!==null&&t!==void 0?t:{},gotrue_meta_security:{captcha_token:h==null?void 0:h.captchaToken}},xform:it})}else if("phone"in e){const{phone:u,password:l,options:h}=e;s=yield F(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:u,password:l,data:(r=h==null?void 0:h.data)!==null&&r!==void 0?r:{},gotrue_meta_security:{captcha_token:h==null?void 0:h.captchaToken}},xform:it})}else throw new wn("You must provide either an email or phone number and a password");const{data:i,error:o}=s;if(o||!i)return{data:{user:null,session:null},error:o};const a=i.session,c=i.user;return i.session&&(yield this._saveSession(i.session),this._notifyAllSubscribers("SIGNED_IN",a)),{data:{user:c,session:a},error:null}}catch(s){if($(s))return{data:{user:null,session:null},error:s};throw s}})}signInWithPassword(e){var t;return S(this,void 0,void 0,function*(){try{yield this._removeSession();let r;if("email"in e){const{email:o,password:a,options:c}=e;r=yield F(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:o,password:a,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken}},xform:it})}else if("phone"in e){const{phone:o,password:a,options:c}=e;r=yield F(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:o,password:a,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},channel:(t=c==null?void 0:c.channel)!==null&&t!==void 0?t:"sms"},xform:it})}else throw new wn("You must provide either an email or phone number and a password");const{data:s,error:i}=r;return i||!s?{data:{user:null,session:null},error:i}:(s.session&&(yield this._saveSession(s.session),this._notifyAllSubscribers("SIGNED_IN",s.session)),{data:s,error:i})}catch(r){if($(r))return{data:{user:null,session:null},error:r};throw r}})}signInWithOAuth(e){var t,r,s,i;return S(this,void 0,void 0,function*(){return yield this._removeSession(),this._handleProviderSignIn(e.provider,{redirectTo:(t=e.options)===null||t===void 0?void 0:t.redirectTo,scopes:(r=e.options)===null||r===void 0?void 0:r.scopes,queryParams:(s=e.options)===null||s===void 0?void 0:s.queryParams,skipBrowserRedirect:(i=e.options)===null||i===void 0?void 0:i.skipBrowserRedirect})})}signInWithIdToken(e){return S(this,void 0,void 0,function*(){yield this._removeSession();try{const{options:t,provider:r,token:s,nonce:i}=e,o=yield F(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:r,id_token:s,nonce:i,gotrue_meta_security:{captcha_token:t==null?void 0:t.captchaToken}},xform:it}),{data:a,error:c}=o;return c||!a?{data:{user:null,session:null},error:c}:(a.session&&(yield this._saveSession(a.session),this._notifyAllSubscribers("SIGNED_IN",a.session)),{data:a,error:c})}catch(t){if($(t))return{data:{user:null,session:null},error:t};throw t}})}signInWithOtp(e){var t,r,s,i,o;return S(this,void 0,void 0,function*(){try{if(yield this._removeSession(),"email"in e){const{email:a,options:c}=e,{error:u}=yield F(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:a,data:(t=c==null?void 0:c.data)!==null&&t!==void 0?t:{},create_user:(r=c==null?void 0:c.shouldCreateUser)!==null&&r!==void 0?r:!0,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken}},redirectTo:c==null?void 0:c.emailRedirectTo});return{data:{user:null,session:null},error:u}}if("phone"in e){const{phone:a,options:c}=e,{error:u}=yield F(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:a,data:(s=c==null?void 0:c.data)!==null&&s!==void 0?s:{},create_user:(i=c==null?void 0:c.shouldCreateUser)!==null&&i!==void 0?i:!0,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},channel:(o=c==null?void 0:c.channel)!==null&&o!==void 0?o:"sms"}});return{data:{user:null,session:null},error:u}}throw new wn("You must provide either an email or phone number.")}catch(a){if($(a))return{data:{user:null,session:null},error:a};throw a}})}verifyOtp(e){var t,r;return S(this,void 0,void 0,function*(){try{yield this._removeSession();const{data:s,error:i}=yield F(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:(t=e.options)===null||t===void 0?void 0:t.captchaToken}}),redirectTo:(r=e.options)===null||r===void 0?void 0:r.redirectTo,xform:it});if(i)throw i;if(!s)throw"An error occurred on token verification.";const o=s.session,a=s.user;return o!=null&&o.access_token&&(yield this._saveSession(o),this._notifyAllSubscribers("SIGNED_IN",o)),{data:{user:a,session:o},error:null}}catch(s){if($(s))return{data:{user:null,session:null},error:s};throw s}})}signInWithSSO(e){var t,r,s;return S(this,void 0,void 0,function*(){try{return yield this._removeSession(),yield F(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in e?{provider_id:e.providerId}:null),"domain"in e?{domain:e.domain}:null),{redirect_to:(r=(t=e.options)===null||t===void 0?void 0:t.redirectTo)!==null&&r!==void 0?r:void 0}),!((s=e==null?void 0:e.options)===null||s===void 0)&&s.captchaToken?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0}),headers:this.headers,xform:Mc})}catch(i){if($(i))return{data:null,error:i};throw i}})}getSession(){return S(this,void 0,void 0,function*(){yield this.initializePromise;let e=null;if(this.persistSession){const i=yield Hs(this.storage,this.storageKey);i!==null&&(this._isValidSession(i)?e=i:yield this._removeSession())}else e=this.inMemorySession;if(!e)return{data:{session:null},error:null};if(!(e.expires_at?e.expires_at<=Date.now()/1e3:!1))return{data:{session:e},error:null};const{session:r,error:s}=yield this._callRefreshToken(e.refresh_token);return s?{data:{session:null},error:s}:{data:{session:r},error:null}})}getUser(e){var t,r;return S(this,void 0,void 0,function*(){try{if(!e){const{data:s,error:i}=yield this.getSession();if(i)throw i;e=(r=(t=s.session)===null||t===void 0?void 0:t.access_token)!==null&&r!==void 0?r:void 0}return yield F(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:e,xform:lt})}catch(s){if($(s))return{data:{user:null},error:s};throw s}})}updateUser(e,t={}){return S(this,void 0,void 0,function*(){try{const{data:r,error:s}=yield this.getSession();if(s)throw s;if(!r.session)throw new Gt;const i=r.session,{data:o,error:a}=yield F(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:t==null?void 0:t.emailRedirectTo,body:e,jwt:i.access_token,xform:lt});if(a)throw a;return i.user=o.user,yield this._saveSession(i),this._notifyAllSubscribers("USER_UPDATED",i),{data:{user:i.user},error:null}}catch(r){if($(r))return{data:{user:null},error:r};throw r}})}_decodeJWT(e){return Ms(e)}setSession(e){return S(this,void 0,void 0,function*(){try{if(!e.access_token||!e.refresh_token)throw new Gt;const t=Date.now()/1e3;let r=t,s=!0,i=null;const o=Ms(e.access_token);if(o.exp&&(r=o.exp,s=r<=t),s){const{session:a,error:c}=yield this._callRefreshToken(e.refresh_token);if(c)return{data:{user:null,session:null},error:c};if(!a)return{data:{user:null,session:null},error:null};i=a}else{const{data:a,error:c}=yield this.getUser(e.access_token);if(c)throw c;i={access_token:e.access_token,refresh_token:e.refresh_token,user:a.user,token_type:"bearer",expires_in:r-t,expires_at:r},yield this._saveSession(i),this._notifyAllSubscribers("SIGNED_IN",i)}return{data:{user:i.user,session:i},error:null}}catch(t){if($(t))return{data:{session:null,user:null},error:t};throw t}})}refreshSession(e){var t;return S(this,void 0,void 0,function*(){try{if(!e){const{data:i,error:o}=yield this.getSession();if(o)throw o;e=(t=i.session)!==null&&t!==void 0?t:void 0}if(!(e!=null&&e.refresh_token))throw new Gt;const{session:r,error:s}=yield this._callRefreshToken(e.refresh_token);return s?{data:{user:null,session:null},error:s}:r?{data:{user:r.user,session:r},error:null}:{data:{user:null,session:null},error:null}}catch(r){if($(r))return{data:{user:null,session:null},error:r};throw r}})}_getSessionFromUrl(){return S(this,void 0,void 0,function*(){try{if(!ot())throw new Pe("No browser detected.");if(!this._isImplicitGrantFlow())throw new Pe("Not a valid implicit grant flow url.");const e=ce("error_description");if(e){const w=ce("error_code");if(!w)throw new Pe("No error_code detected.");const b=ce("error");throw b?new Pe(e,{error:b,code:w}):new Pe("No error detected.")}const t=ce("provider_token"),r=ce("provider_refresh_token"),s=ce("access_token");if(!s)throw new Pe("No access_token detected.");const i=ce("expires_in");if(!i)throw new Pe("No expires_in detected.");const o=ce("refresh_token");if(!o)throw new Pe("No refresh_token detected.");const a=ce("token_type");if(!a)throw new Pe("No token_type detected.");const u=Math.round(Date.now()/1e3)+parseInt(i),{data:l,error:h}=yield this.getUser(s);if(h)throw h;const p=l.user,f={provider_token:t,provider_refresh_token:r,access_token:s,expires_in:parseInt(i),expires_at:u,refresh_token:o,token_type:a,user:p},d=ce("type");return window.location.hash="",{data:{session:f,redirectType:d},error:null}}catch(e){if($(e))return{data:{session:null,redirectType:null},error:e};throw e}})}_isImplicitGrantFlow(){return ot()&&(Boolean(ce("access_token"))||Boolean(ce("error_description")))}signOut(){var e;return S(this,void 0,void 0,function*(){const{data:t,error:r}=yield this.getSession();if(r)return{error:r};const s=(e=t.session)===null||e===void 0?void 0:e.access_token;if(s){const{error:i}=yield this.admin.signOut(s);if(i&&!(Uc(i)&&(i.status===404||i.status===401)))return{error:i}}return yield this._removeSession(),this._notifyAllSubscribers("SIGNED_OUT",null),{error:null}})}onAuthStateChange(e){const t=Rc(),r={id:t,callback:e,unsubscribe:()=>{this.stateChangeEmitters.delete(t)}};return this.stateChangeEmitters.set(t,r),{data:{subscription:r}}}resetPasswordForEmail(e,t={}){return S(this,void 0,void 0,function*(){try{return yield F(this.fetch,"POST",`${this.url}/recover`,{body:{email:e,gotrue_meta_security:{captcha_token:t.captchaToken}},headers:this.headers,redirectTo:t.redirectTo})}catch(r){if($(r))return{data:null,error:r};throw r}})}_refreshAccessToken(e){return S(this,void 0,void 0,function*(){try{const t=Date.now();return yield Fc(r=>S(this,void 0,void 0,function*(){return yield Ic(r*200),yield F(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:it})}),(r,s,i)=>i&&i.error&&i.error instanceof $n&&Date.now()+(r+1)*200-t<bn)}catch(t){if($(t))return{data:{session:null,user:null},error:t};throw t}})}_isValidSession(e){return typeof e=="object"&&e!==null&&"access_token"in e&&"refresh_token"in e&&"expires_at"in e}_handleProviderSignIn(e,t={}){const r=this._getUrlForProvider(e,{redirectTo:t.redirectTo,scopes:t.scopes,queryParams:t.queryParams});return ot()&&!t.skipBrowserRedirect&&window.location.assign(r),{data:{provider:e,url:r},error:null}}_recoverAndRefresh(){var e;return S(this,void 0,void 0,function*(){try{const t=yield Hs(this.storage,this.storageKey);if(!this._isValidSession(t)){t!==null&&(yield this._removeSession());return}const r=Math.round(Date.now()/1e3);if(((e=t.expires_at)!==null&&e!==void 0?e:1/0)<r+Yc)if(this.autoRefreshToken&&t.refresh_token){const{error:s}=yield this._callRefreshToken(t.refresh_token);s&&(console.log(s.message),yield this._removeSession())}else yield this._removeSession();else this.persistSession&&(yield this._saveSession(t)),this._notifyAllSubscribers("SIGNED_IN",t)}catch(t){console.error(t);return}})}_callRefreshToken(e){var t,r;return S(this,void 0,void 0,function*(){if(this.refreshingDeferred)return this.refreshingDeferred.promise;try{if(this.refreshingDeferred=new Gr,!e)throw new Gt;const{data:s,error:i}=yield this._refreshAccessToken(e);if(i)throw i;if(!s.session)throw new Gt;yield this._saveSession(s.session),this._notifyAllSubscribers("TOKEN_REFRESHED",s.session);const o={session:s.session,error:null};return this.refreshingDeferred.resolve(o),o}catch(s){if($(s)){const i={session:null,error:s};return(t=this.refreshingDeferred)===null||t===void 0||t.resolve(i),i}throw(r=this.refreshingDeferred)===null||r===void 0||r.reject(s),s}finally{this.refreshingDeferred=null}})}_notifyAllSubscribers(e,t,r=!0){this.broadcastChannel&&r&&this.broadcastChannel.postMessage({event:e,session:t}),this.stateChangeEmitters.forEach(s=>s.callback(e,t))}_saveSession(e){return S(this,void 0,void 0,function*(){this.persistSession||(this.inMemorySession=e),this.persistSession&&e.expires_at&&(yield this._persistSession(e))})}_persistSession(e){return Nc(this.storage,this.storageKey,e)}_removeSession(){return S(this,void 0,void 0,function*(){this.persistSession?yield $c(this.storage,this.storageKey):this.inMemorySession=null})}_removeVisibilityChangedCallback(){const e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&&ot()&&(window!=null&&window.removeEventListener)&&window.removeEventListener("visibilitychange",e)}catch(t){console.error("removing visibilitychange callback failed",t)}}_startAutoRefresh(){return S(this,void 0,void 0,function*(){yield this._stopAutoRefresh();const e=setInterval(()=>this._autoRefreshTokenTick(),bn);this.autoRefreshTicker=e,e&&typeof e=="object"&&typeof e.unref=="function"&&e.unref(),yield this._autoRefreshTokenTick()})}_stopAutoRefresh(){return S(this,void 0,void 0,function*(){const e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e)})}startAutoRefresh(){return S(this,void 0,void 0,function*(){this._removeVisibilityChangedCallback(),yield this._startAutoRefresh()})}stopAutoRefresh(){return S(this,void 0,void 0,function*(){this._removeVisibilityChangedCallback(),yield this._stopAutoRefresh()})}_autoRefreshTokenTick(){return S(this,void 0,void 0,function*(){const e=Date.now();try{const{data:{session:t}}=yield this.getSession();if(!t||!t.refresh_token||!t.expires_at)return;Math.floor((t.expires_at*1e3-e)/bn)<ru&&(yield this._callRefreshToken(t.refresh_token))}catch(t){console.error("Auto refresh tick failed with error. This is likely a transient error.",t)}})}_handleVisibilityChange(){return S(this,void 0,void 0,function*(){if(!ot()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=()=>S(this,void 0,void 0,function*(){return yield this._onVisibilityChanged(!1)}),window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),yield this._onVisibilityChanged(!0)}catch(e){console.error("_handleVisibilityChange",e)}})}_onVisibilityChanged(e){return S(this,void 0,void 0,function*(){document.visibilityState==="visible"?(e||(yield this.initializePromise,yield this._recoverAndRefresh()),this.autoRefreshToken&&this._startAutoRefresh()):document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()})}_getUrlForProvider(e,t){const r=[`provider=${encodeURIComponent(e)}`];if(t!=null&&t.redirectTo&&r.push(`redirect_to=${encodeURIComponent(t.redirectTo)}`),t!=null&&t.scopes&&r.push(`scopes=${encodeURIComponent(t.scopes)}`),t!=null&&t.queryParams){const s=new URLSearchParams(t.queryParams);r.push(s.toString())}return`${this.url}/authorize?${r.join("&")}`}_unenroll(e){var t;return S(this,void 0,void 0,function*(){try{const{data:r,error:s}=yield this.getSession();return s?{data:null,error:s}:yield F(this.fetch,"DELETE",`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:(t=r==null?void 0:r.session)===null||t===void 0?void 0:t.access_token})}catch(r){if($(r))return{data:null,error:r};throw r}})}_enroll(e){var t,r;return S(this,void 0,void 0,function*(){try{const{data:s,error:i}=yield this.getSession();if(i)return{data:null,error:i};const{data:o,error:a}=yield F(this.fetch,"POST",`${this.url}/factors`,{body:{friendly_name:e.friendlyName,factor_type:e.factorType,issuer:e.issuer},headers:this.headers,jwt:(t=s==null?void 0:s.session)===null||t===void 0?void 0:t.access_token});return a?{data:null,error:a}:(!((r=o==null?void 0:o.totp)===null||r===void 0)&&r.qr_code&&(o.totp.qr_code=`data:image/svg+xml;utf-8,${o.totp.qr_code}`),{data:o,error:null})}catch(s){if($(s))return{data:null,error:s};throw s}})}_verify(e){var t;return S(this,void 0,void 0,function*(){try{const{data:r,error:s}=yield this.getSession();if(s)return{data:null,error:s};const{data:i,error:o}=yield F(this.fetch,"POST",`${this.url}/factors/${e.factorId}/verify`,{body:{code:e.code,challenge_id:e.challengeId},headers:this.headers,jwt:(t=r==null?void 0:r.session)===null||t===void 0?void 0:t.access_token});return o?{data:null,error:o}:(yield this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+i.expires_in},i)),this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",i),{data:i,error:o})}catch(r){if($(r))return{data:null,error:r};throw r}})}_challenge(e){var t;return S(this,void 0,void 0,function*(){try{const{data:r,error:s}=yield this.getSession();return s?{data:null,error:s}:yield F(this.fetch,"POST",`${this.url}/factors/${e.factorId}/challenge`,{headers:this.headers,jwt:(t=r==null?void 0:r.session)===null||t===void 0?void 0:t.access_token})}catch(r){if($(r))return{data:null,error:r};throw r}})}_challengeAndVerify(e){return S(this,void 0,void 0,function*(){const{data:t,error:r}=yield this._challenge({factorId:e.factorId});return r?{data:null,error:r}:yield this._verify({factorId:e.factorId,challengeId:t.id,code:e.code})})}_listFactors(){return S(this,void 0,void 0,function*(){const{data:{user:e},error:t}=yield this.getUser();if(t)return{data:null,error:t};const r=(e==null?void 0:e.factors)||[],s=r.filter(i=>i.factor_type==="totp"&&i.status==="verified");return{data:{all:r,totp:s},error:null}})}_getAuthenticatorAssuranceLevel(){var e,t;return S(this,void 0,void 0,function*(){const{data:{session:r},error:s}=yield this.getSession();if(s)return{data:null,error:s};if(!r)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const i=this._decodeJWT(r.access_token);let o=null;i.aal&&(o=i.aal);let a=o;((t=(e=r.user.factors)===null||e===void 0?void 0:e.filter(l=>l.status==="verified"))!==null&&t!==void 0?t:[]).length>0&&(a="aal2");const u=i.amr||[];return{data:{currentLevel:o,nextLevel:a,currentAuthenticationMethods:u},error:null}})}}class su extends nu{constructor(e){super(e)}}var iu=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const ou={headers:_c},au={schema:"public"},cu={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0},uu={};class lu{constructor(e,t,r){var s,i,o,a,c,u,l,h;if(this.supabaseUrl=e,this.supabaseKey=t,!e)throw new Error("supabaseUrl is required.");if(!t)throw new Error("supabaseKey is required.");const p=Ac(e);if(this.realtimeUrl=`${p}/realtime/v1`.replace(/^http/i,"ws"),this.authUrl=`${p}/auth/v1`,this.storageUrl=`${p}/storage/v1`,p.match(/(supabase\.co)|(supabase\.in)/)){const O=p.split(".");this.functionsUrl=`${O[0]}.functions.${O[1]}.${O[2]}`}else this.functionsUrl=`${p}/functions/v1`;const d=`sb-${new URL(this.authUrl).hostname.split(".")[0]}-auth-token`,w={db:au,realtime:uu,auth:Object.assign(Object.assign({},cu),{storageKey:d}),global:ou},b=Sc(r??{},w);this.storageKey=(i=(s=b.auth)===null||s===void 0?void 0:s.storageKey)!==null&&i!==void 0?i:"",this.headers=(a=(o=b.global)===null||o===void 0?void 0:o.headers)!==null&&a!==void 0?a:{},this.auth=this._initSupabaseAuthClient((c=b.auth)!==null&&c!==void 0?c:{},this.headers,(u=b.global)===null||u===void 0?void 0:u.fetch),this.fetch=Tc(t,this._getAccessToken.bind(this),(l=b.global)===null||l===void 0?void 0:l.fetch),this.realtime=this._initRealtimeClient(Object.assign({headers:this.headers},b.realtime)),this.rest=new Ta(`${p}/rest/v1`,{headers:this.headers,schema:(h=b.db)===null||h===void 0?void 0:h.schema,fetch:this.fetch}),this._listenForAuthEvents()}get functions(){return new ma(this.functionsUrl,{headers:this.headers,customFetch:this.fetch})}get storage(){return new bc(this.storageUrl,this.headers,this.fetch)}from(e){return this.rest.from(e)}rpc(e,t={},r){return this.rest.rpc(e,t,r)}channel(e,t={config:{}}){return this.realtime.channel(e,t)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}_getAccessToken(){var e,t;return iu(this,void 0,void 0,function*(){const{data:r}=yield this.auth.getSession();return(t=(e=r.session)===null||e===void 0?void 0:e.access_token)!==null&&t!==void 0?t:null})}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:t,detectSessionInUrl:r,storage:s,storageKey:i},o,a){const c={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new su({url:this.authUrl,headers:Object.assign(Object.assign({},c),o),storageKey:i,autoRefreshToken:e,persistSession:t,detectSessionInUrl:r,storage:s,fetch:a})}_initRealtimeClient(e){return new ac(this.realtimeUrl,Object.assign(Object.assign({},e),{params:Object.assign({apikey:this.supabaseKey},e==null?void 0:e.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((t,r)=>{this._handleTokenChanged(t,r==null?void 0:r.access_token,"CLIENT")})}_handleTokenChanged(e,t,r){(e==="TOKEN_REFRESHED"||e==="SIGNED_IN")&&this.changedAccessToken!==t?(this.realtime.setAuth(t??null),this.changedAccessToken=t):(e==="SIGNED_OUT"||e==="USER_DELETED")&&(this.realtime.setAuth(this.supabaseKey),r=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}}const hu=(n,e,t)=>new lu(n,e,t);function Hi(n,e){return function(){return n.apply(e,arguments)}}const{toString:Mi}=Object.prototype,{getPrototypeOf:is}=Object,os=(n=>e=>{const t=Mi.call(e);return n[t]||(n[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),ze=n=>(n=n.toLowerCase(),e=>os(e)===n),Kr=n=>e=>typeof e===n,{isArray:Vt}=Array,tr=Kr("undefined");function fu(n){return n!==null&&!tr(n)&&n.constructor!==null&&!tr(n.constructor)&&Qe(n.constructor.isBuffer)&&n.constructor.isBuffer(n)}const zi=ze("ArrayBuffer");function du(n){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(n):e=n&&n.buffer&&zi(n.buffer),e}const pu=Kr("string"),Qe=Kr("function"),Vi=Kr("number"),as=n=>n!==null&&typeof n=="object",yu=n=>n===!0||n===!1,Tr=n=>{if(os(n)!=="object")return!1;const e=is(n);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in n)&&!(Symbol.iterator in n)},mu=ze("Date"),gu=ze("File"),wu=ze("Blob"),bu=ze("FileList"),vu=n=>as(n)&&Qe(n.pipe),_u=n=>{const e="[object FormData]";return n&&(typeof FormData=="function"&&n instanceof FormData||Mi.call(n)===e||Qe(n.toString)&&n.toString()===e)},Eu=ze("URLSearchParams"),xu=n=>n.trim?n.trim():n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function fr(n,e,{allOwnKeys:t=!1}={}){if(n===null||typeof n>"u")return;let r,s;if(typeof n!="object"&&(n=[n]),Vt(n))for(r=0,s=n.length;r<s;r++)e.call(null,n[r],r,n);else{const i=t?Object.getOwnPropertyNames(n):Object.keys(n),o=i.length;let a;for(r=0;r<o;r++)a=i[r],e.call(null,n[a],a,n)}}function qi(n,e){e=e.toLowerCase();const t=Object.keys(n);let r=t.length,s;for(;r-- >0;)if(s=t[r],e===s.toLowerCase())return s;return null}const Ji=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),Gi=n=>!tr(n)&&n!==Ji;function Cn(){const{caseless:n}=Gi(this)&&this||{},e={},t=(r,s)=>{const i=n&&qi(e,s)||s;Tr(e[i])&&Tr(r)?e[i]=Cn(e[i],r):Tr(r)?e[i]=Cn({},r):Vt(r)?e[i]=r.slice():e[i]=r};for(let r=0,s=arguments.length;r<s;r++)arguments[r]&&fr(arguments[r],t);return e}const Ou=(n,e,t,{allOwnKeys:r}={})=>(fr(e,(s,i)=>{t&&Qe(s)?n[i]=Hi(s,t):n[i]=s},{allOwnKeys:r}),n),Tu=n=>(n.charCodeAt(0)===65279&&(n=n.slice(1)),n),Au=(n,e,t,r)=>{n.prototype=Object.create(e.prototype,r),n.prototype.constructor=n,Object.defineProperty(n,"super",{value:e.prototype}),t&&Object.assign(n.prototype,t)},Su=(n,e,t,r)=>{let s,i,o;const a={};if(e=e||{},n==null)return e;do{for(s=Object.getOwnPropertyNames(n),i=s.length;i-- >0;)o=s[i],(!r||r(o,n,e))&&!a[o]&&(e[o]=n[o],a[o]=!0);n=t!==!1&&is(n)}while(n&&(!t||t(n,e))&&n!==Object.prototype);return e},ku=(n,e,t)=>{n=String(n),(t===void 0||t>n.length)&&(t=n.length),t-=e.length;const r=n.indexOf(e,t);return r!==-1&&r===t},Ru=n=>{if(!n)return null;if(Vt(n))return n;let e=n.length;if(!Vi(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=n[e];return t},Pu=(n=>e=>n&&e instanceof n)(typeof Uint8Array<"u"&&is(Uint8Array)),Nu=(n,e)=>{const r=(n&&n[Symbol.iterator]).call(n);let s;for(;(s=r.next())&&!s.done;){const i=s.value;e.call(n,i[0],i[1])}},$u=(n,e)=>{let t;const r=[];for(;(t=n.exec(e))!==null;)r.push(t);return r},Cu=ze("HTMLFormElement"),Iu=n=>n.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,r,s){return r.toUpperCase()+s}),zs=(({hasOwnProperty:n})=>(e,t)=>n.call(e,t))(Object.prototype),Fu=ze("RegExp"),Wi=(n,e)=>{const t=Object.getOwnPropertyDescriptors(n),r={};fr(t,(s,i)=>{e(s,i,n)!==!1&&(r[i]=s)}),Object.defineProperties(n,r)},Du=n=>{Wi(n,(e,t)=>{if(Qe(n)&&["arguments","caller","callee"].indexOf(t)!==-1)return!1;const r=n[t];if(Qe(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},Uu=(n,e)=>{const t={},r=s=>{s.forEach(i=>{t[i]=!0})};return Vt(n)?r(n):r(String(n).split(e)),t},Lu=()=>{},ju=(n,e)=>(n=+n,Number.isFinite(n)?n:e),vn="abcdefghijklmnopqrstuvwxyz",Vs="0123456789",Ki={DIGIT:Vs,ALPHA:vn,ALPHA_DIGIT:vn+vn.toUpperCase()+Vs},Bu=(n=16,e=Ki.ALPHA_DIGIT)=>{let t="";const{length:r}=e;for(;n--;)t+=e[Math.random()*r|0];return t};function Hu(n){return!!(n&&Qe(n.append)&&n[Symbol.toStringTag]==="FormData"&&n[Symbol.iterator])}const Mu=n=>{const e=new Array(10),t=(r,s)=>{if(as(r)){if(e.indexOf(r)>=0)return;if(!("toJSON"in r)){e[s]=r;const i=Vt(r)?[]:{};return fr(r,(o,a)=>{const c=t(o,s+1);!tr(c)&&(i[a]=c)}),e[s]=void 0,i}}return r};return t(n,0)},g={isArray:Vt,isArrayBuffer:zi,isBuffer:fu,isFormData:_u,isArrayBufferView:du,isString:pu,isNumber:Vi,isBoolean:yu,isObject:as,isPlainObject:Tr,isUndefined:tr,isDate:mu,isFile:gu,isBlob:wu,isRegExp:Fu,isFunction:Qe,isStream:vu,isURLSearchParams:Eu,isTypedArray:Pu,isFileList:bu,forEach:fr,merge:Cn,extend:Ou,trim:xu,stripBOM:Tu,inherits:Au,toFlatObject:Su,kindOf:os,kindOfTest:ze,endsWith:ku,toArray:Ru,forEachEntry:Nu,matchAll:$u,isHTMLForm:Cu,hasOwnProperty:zs,hasOwnProp:zs,reduceDescriptors:Wi,freezeMethods:Du,toObjectSet:Uu,toCamelCase:Iu,noop:Lu,toFiniteNumber:ju,findKey:qi,global:Ji,isContextDefined:Gi,ALPHABET:Ki,generateString:Bu,isSpecCompliantForm:Hu,toJSONObject:Mu};function P(n,e,t,r,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=n,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),r&&(this.request=r),s&&(this.response=s)}g.inherits(P,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:g.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const Xi=P.prototype,Zi={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(n=>{Zi[n]={value:n}});Object.defineProperties(P,Zi);Object.defineProperty(Xi,"isAxiosError",{value:!0});P.from=(n,e,t,r,s,i)=>{const o=Object.create(Xi);return g.toFlatObject(n,o,function(c){return c!==Error.prototype},a=>a!=="isAxiosError"),P.call(o,n.message,e,t,r,s),o.cause=n,o.name=n.name,i&&Object.assign(o,i),o};const zu=null;function In(n){return g.isPlainObject(n)||g.isArray(n)}function Yi(n){return g.endsWith(n,"[]")?n.slice(0,-2):n}function qs(n,e,t){return n?n.concat(e).map(function(s,i){return s=Yi(s),!t&&i?"["+s+"]":s}).join(t?".":""):e}function Vu(n){return g.isArray(n)&&!n.some(In)}const qu=g.toFlatObject(g,{},null,function(e){return/^is[A-Z]/.test(e)});function Xr(n,e,t){if(!g.isObject(n))throw new TypeError("target must be an object");e=e||new FormData,t=g.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(w,b){return!g.isUndefined(b[w])});const r=t.metaTokens,s=t.visitor||l,i=t.dots,o=t.indexes,c=(t.Blob||typeof Blob<"u"&&Blob)&&g.isSpecCompliantForm(e);if(!g.isFunction(s))throw new TypeError("visitor must be a function");function u(d){if(d===null)return"";if(g.isDate(d))return d.toISOString();if(!c&&g.isBlob(d))throw new P("Blob is not supported. Use a Buffer instead.");return g.isArrayBuffer(d)||g.isTypedArray(d)?c&&typeof Blob=="function"?new Blob([d]):Buffer.from(d):d}function l(d,w,b){let O=d;if(d&&!b&&typeof d=="object"){if(g.endsWith(w,"{}"))w=r?w:w.slice(0,-2),d=JSON.stringify(d);else if(g.isArray(d)&&Vu(d)||(g.isFileList(d)||g.endsWith(w,"[]"))&&(O=g.toArray(d)))return w=Yi(w),O.forEach(function(M,D){!(g.isUndefined(M)||M===null)&&e.append(o===!0?qs([w],D,i):o===null?w:w+"[]",u(M))}),!1}return In(d)?!0:(e.append(qs(b,w,i),u(d)),!1)}const h=[],p=Object.assign(qu,{defaultVisitor:l,convertValue:u,isVisitable:In});function f(d,w){if(!g.isUndefined(d)){if(h.indexOf(d)!==-1)throw Error("Circular reference detected in "+w.join("."));h.push(d),g.forEach(d,function(O,R){(!(g.isUndefined(O)||O===null)&&s.call(e,O,g.isString(R)?R.trim():R,w,p))===!0&&f(O,w?w.concat(R):[R])}),h.pop()}}if(!g.isObject(n))throw new TypeError("data must be an object");return f(n),e}function Js(n){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(n).replace(/[!'()~]|%20|%00/g,function(r){return e[r]})}function cs(n,e){this._pairs=[],n&&Xr(n,this,e)}const Qi=cs.prototype;Qi.append=function(e,t){this._pairs.push([e,t])};Qi.toString=function(e){const t=e?function(r){return e.call(this,r,Js)}:Js;return this._pairs.map(function(s){return t(s[0])+"="+t(s[1])},"").join("&")};function Ju(n){return encodeURIComponent(n).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function eo(n,e,t){if(!e)return n;const r=t&&t.encode||Ju,s=t&&t.serialize;let i;if(s?i=s(e,t):i=g.isURLSearchParams(e)?e.toString():new cs(e,t).toString(r),i){const o=n.indexOf("#");o!==-1&&(n=n.slice(0,o)),n+=(n.indexOf("?")===-1?"?":"&")+i}return n}class Gu{constructor(){this.handlers=[]}use(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){g.forEach(this.handlers,function(r){r!==null&&e(r)})}}const Gs=Gu,to={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Wu=typeof URLSearchParams<"u"?URLSearchParams:cs,Ku=typeof FormData<"u"?FormData:null,Xu=typeof Blob<"u"?Blob:null,Zu=(()=>{let n;return typeof navigator<"u"&&((n=navigator.product)==="ReactNative"||n==="NativeScript"||n==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),Yu=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),Re={isBrowser:!0,classes:{URLSearchParams:Wu,FormData:Ku,Blob:Xu},isStandardBrowserEnv:Zu,isStandardBrowserWebWorkerEnv:Yu,protocols:["http","https","file","blob","url","data"]};function Qu(n,e){return Xr(n,new Re.classes.URLSearchParams,Object.assign({visitor:function(t,r,s,i){return Re.isNode&&g.isBuffer(t)?(this.append(r,t.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},e))}function el(n){return g.matchAll(/\w+|\[(\w*)]/g,n).map(e=>e[0]==="[]"?"":e[1]||e[0])}function tl(n){const e={},t=Object.keys(n);let r;const s=t.length;let i;for(r=0;r<s;r++)i=t[r],e[i]=n[i];return e}function ro(n){function e(t,r,s,i){let o=t[i++];const a=Number.isFinite(+o),c=i>=t.length;return o=!o&&g.isArray(s)?s.length:o,c?(g.hasOwnProp(s,o)?s[o]=[s[o],r]:s[o]=r,!a):((!s[o]||!g.isObject(s[o]))&&(s[o]=[]),e(t,r,s[o],i)&&g.isArray(s[o])&&(s[o]=tl(s[o])),!a)}if(g.isFormData(n)&&g.isFunction(n.entries)){const t={};return g.forEachEntry(n,(r,s)=>{e(el(r),s,t,0)}),t}return null}const rl={"Content-Type":void 0};function nl(n,e,t){if(g.isString(n))try{return(e||JSON.parse)(n),g.trim(n)}catch(r){if(r.name!=="SyntaxError")throw r}return(t||JSON.stringify)(n)}const Zr={transitional:to,adapter:["xhr","http"],transformRequest:[function(e,t){const r=t.getContentType()||"",s=r.indexOf("application/json")>-1,i=g.isObject(e);if(i&&g.isHTMLForm(e)&&(e=new FormData(e)),g.isFormData(e))return s&&s?JSON.stringify(ro(e)):e;if(g.isArrayBuffer(e)||g.isBuffer(e)||g.isStream(e)||g.isFile(e)||g.isBlob(e))return e;if(g.isArrayBufferView(e))return e.buffer;if(g.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let a;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return Qu(e,this.formSerializer).toString();if((a=g.isFileList(e))||r.indexOf("multipart/form-data")>-1){const c=this.env&&this.env.FormData;return Xr(a?{"files[]":e}:e,c&&new c,this.formSerializer)}}return i||s?(t.setContentType("application/json",!1),nl(e)):e}],transformResponse:[function(e){const t=this.transitional||Zr.transitional,r=t&&t.forcedJSONParsing,s=this.responseType==="json";if(e&&g.isString(e)&&(r&&!this.responseType||s)){const o=!(t&&t.silentJSONParsing)&&s;try{return JSON.parse(e)}catch(a){if(o)throw a.name==="SyntaxError"?P.from(a,P.ERR_BAD_RESPONSE,this,null,this.response):a}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Re.classes.FormData,Blob:Re.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};g.forEach(["delete","get","head"],function(e){Zr.headers[e]={}});g.forEach(["post","put","patch"],function(e){Zr.headers[e]=g.merge(rl)});const us=Zr,sl=g.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),il=n=>{const e={};let t,r,s;return n&&n.split(`
|
2
|
-
`).forEach(function(o){s=o.indexOf(":"),t=o.substring(0,s).trim().toLowerCase(),r=o.substring(s+1).trim(),!(!t||e[t]&&
|
3
|
-
`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const r=new this(e);return t.forEach(s=>r.set(s)),r}static accessor(e){const r=(this[Ws]=this[Ws]={accessors:{}}).accessors,s=this.prototype;function i(o){const a=Wt(o);r[a]||(ul(s,o),r[a]=!0)}return g.isArray(e)?e.forEach(i):i(e),this}}Yr.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);g.freezeMethods(Yr.prototype);g.freezeMethods(Yr);const Le=Yr;function En(n,e){const t=this||us,r=e||t,s=Le.from(r.headers);let i=r.data;return g.forEach(n,function(a){i=a.call(t,i,s.normalize(),e?e.status:void 0)}),s.normalize(),i}function no(n){return!!(n&&n.__CANCEL__)}function dr(n,e,t){P.call(this,n??"canceled",P.ERR_CANCELED,e,t),this.name="CanceledError"}g.inherits(dr,P,{__CANCEL__:!0});function ll(n,e,t){const r=t.config.validateStatus;!t.status||!r||r(t.status)?n(t):e(new P("Request failed with status code "+t.status,[P.ERR_BAD_REQUEST,P.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t))}const hl=Re.isStandardBrowserEnv?function(){return{write:function(t,r,s,i,o,a){const c=[];c.push(t+"="+encodeURIComponent(r)),g.isNumber(s)&&c.push("expires="+new Date(s).toGMTString()),g.isString(i)&&c.push("path="+i),g.isString(o)&&c.push("domain="+o),a===!0&&c.push("secure"),document.cookie=c.join("; ")},read:function(t){const r=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return r?decodeURIComponent(r[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function fl(n){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(n)}function dl(n,e){return e?n.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):n}function so(n,e){return n&&!fl(e)?dl(n,e):e}const pl=Re.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let r;function s(i){let o=i;return e&&(t.setAttribute("href",o),o=t.href),t.setAttribute("href",o),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:t.pathname.charAt(0)==="/"?t.pathname:"/"+t.pathname}}return r=s(window.location.href),function(o){const a=g.isString(o)?s(o):o;return a.protocol===r.protocol&&a.host===r.host}}():function(){return function(){return!0}}();function yl(n){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(n);return e&&e[1]||""}function ml(n,e){n=n||10;const t=new Array(n),r=new Array(n);let s=0,i=0,o;return e=e!==void 0?e:1e3,function(c){const u=Date.now(),l=r[i];o||(o=u),t[s]=c,r[s]=u;let h=i,p=0;for(;h!==s;)p+=t[h++],h=h%n;if(s=(s+1)%n,s===i&&(i=(i+1)%n),u-o<e)return;const f=l&&u-l;return f?Math.round(p*1e3/f):void 0}}function Ks(n,e){let t=0;const r=ml(50,250);return s=>{const i=s.loaded,o=s.lengthComputable?s.total:void 0,a=i-t,c=r(a),u=i<=o;t=i;const l={loaded:i,total:o,progress:o?i/o:void 0,bytes:a,rate:c||void 0,estimated:c&&o&&u?(o-i)/c:void 0,event:s};l[e?"download":"upload"]=!0,n(l)}}const gl=typeof XMLHttpRequest<"u",wl=gl&&function(n){return new Promise(function(t,r){let s=n.data;const i=Le.from(n.headers).normalize(),o=n.responseType;let a;function c(){n.cancelToken&&n.cancelToken.unsubscribe(a),n.signal&&n.signal.removeEventListener("abort",a)}g.isFormData(s)&&(Re.isStandardBrowserEnv||Re.isStandardBrowserWebWorkerEnv)&&i.setContentType(!1);let u=new XMLHttpRequest;if(n.auth){const f=n.auth.username||"",d=n.auth.password?unescape(encodeURIComponent(n.auth.password)):"";i.set("Authorization","Basic "+btoa(f+":"+d))}const l=so(n.baseURL,n.url);u.open(n.method.toUpperCase(),eo(l,n.params,n.paramsSerializer),!0),u.timeout=n.timeout;function h(){if(!u)return;const f=Le.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders()),w={data:!o||o==="text"||o==="json"?u.responseText:u.response,status:u.status,statusText:u.statusText,headers:f,config:n,request:u};ll(function(O){t(O),c()},function(O){r(O),c()},w),u=null}if("onloadend"in u?u.onloadend=h:u.onreadystatechange=function(){!u||u.readyState!==4||u.status===0&&!(u.responseURL&&u.responseURL.indexOf("file:")===0)||setTimeout(h)},u.onabort=function(){u&&(r(new P("Request aborted",P.ECONNABORTED,n,u)),u=null)},u.onerror=function(){r(new P("Network Error",P.ERR_NETWORK,n,u)),u=null},u.ontimeout=function(){let d=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded";const w=n.transitional||to;n.timeoutErrorMessage&&(d=n.timeoutErrorMessage),r(new P(d,w.clarifyTimeoutError?P.ETIMEDOUT:P.ECONNABORTED,n,u)),u=null},Re.isStandardBrowserEnv){const f=(n.withCredentials||pl(l))&&n.xsrfCookieName&&hl.read(n.xsrfCookieName);f&&i.set(n.xsrfHeaderName,f)}s===void 0&&i.setContentType(null),"setRequestHeader"in u&&g.forEach(i.toJSON(),function(d,w){u.setRequestHeader(w,d)}),g.isUndefined(n.withCredentials)||(u.withCredentials=!!n.withCredentials),o&&o!=="json"&&(u.responseType=n.responseType),typeof n.onDownloadProgress=="function"&&u.addEventListener("progress",Ks(n.onDownloadProgress,!0)),typeof n.onUploadProgress=="function"&&u.upload&&u.upload.addEventListener("progress",Ks(n.onUploadProgress)),(n.cancelToken||n.signal)&&(a=f=>{u&&(r(!f||f.type?new dr(null,n,u):f),u.abort(),u=null)},n.cancelToken&&n.cancelToken.subscribe(a),n.signal&&(n.signal.aborted?a():n.signal.addEventListener("abort",a)));const p=yl(l);if(p&&Re.protocols.indexOf(p)===-1){r(new P("Unsupported protocol "+p+":",P.ERR_BAD_REQUEST,n));return}u.send(s||null)})},Sr={http:zu,xhr:wl};g.forEach(Sr,(n,e)=>{if(n){try{Object.defineProperty(n,"name",{value:e})}catch{}Object.defineProperty(n,"adapterName",{value:e})}});const bl={getAdapter:n=>{n=g.isArray(n)?n:[n];const{length:e}=n;let t,r;for(let s=0;s<e&&(t=n[s],!(r=g.isString(t)?Sr[t.toLowerCase()]:t));s++);if(!r)throw r===!1?new P(`Adapter ${t} is not supported by the environment`,"ERR_NOT_SUPPORT"):new Error(g.hasOwnProp(Sr,t)?`Adapter '${t}' is not available in the build`:`Unknown adapter '${t}'`);if(!g.isFunction(r))throw new TypeError("adapter is not a function");return r},adapters:Sr};function xn(n){if(n.cancelToken&&n.cancelToken.throwIfRequested(),n.signal&&n.signal.aborted)throw new dr(null,n)}function Xs(n){return xn(n),n.headers=Le.from(n.headers),n.data=En.call(n,n.transformRequest),["post","put","patch"].indexOf(n.method)!==-1&&n.headers.setContentType("application/x-www-form-urlencoded",!1),bl.getAdapter(n.adapter||us.adapter)(n).then(function(r){return xn(n),r.data=En.call(n,n.transformResponse,r),r.headers=Le.from(r.headers),r},function(r){return no(r)||(xn(n),r&&r.response&&(r.response.data=En.call(n,n.transformResponse,r.response),r.response.headers=Le.from(r.response.headers))),Promise.reject(r)})}const Zs=n=>n instanceof Le?n.toJSON():n;function Ht(n,e){e=e||{};const t={};function r(u,l,h){return g.isPlainObject(u)&&g.isPlainObject(l)?g.merge.call({caseless:h},u,l):g.isPlainObject(l)?g.merge({},l):g.isArray(l)?l.slice():l}function s(u,l,h){if(g.isUndefined(l)){if(!g.isUndefined(u))return r(void 0,u,h)}else return r(u,l,h)}function i(u,l){if(!g.isUndefined(l))return r(void 0,l)}function o(u,l){if(g.isUndefined(l)){if(!g.isUndefined(u))return r(void 0,u)}else return r(void 0,l)}function a(u,l,h){if(h in e)return r(u,l);if(h in n)return r(void 0,u)}const c={url:i,method:i,data:i,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:a,headers:(u,l)=>s(Zs(u),Zs(l),!0)};return g.forEach(Object.keys(n).concat(Object.keys(e)),function(l){const h=c[l]||s,p=h(n[l],e[l],l);g.isUndefined(p)&&h!==a||(t[l]=p)}),t}const io="1.3.4",ls={};["object","boolean","number","function","string","symbol"].forEach((n,e)=>{ls[n]=function(r){return typeof r===n||"a"+(e<1?"n ":" ")+n}});const Ys={};ls.transitional=function(e,t,r){function s(i,o){return"[Axios v"+io+"] Transitional option '"+i+"'"+o+(r?". "+r:"")}return(i,o,a)=>{if(e===!1)throw new P(s(o," has been removed"+(t?" in "+t:"")),P.ERR_DEPRECATED);return t&&!Ys[o]&&(Ys[o]=!0,console.warn(s(o," has been deprecated since v"+t+" and will be removed in the near future"))),e?e(i,o,a):!0}};function vl(n,e,t){if(typeof n!="object")throw new P("options must be an object",P.ERR_BAD_OPTION_VALUE);const r=Object.keys(n);let s=r.length;for(;s-- >0;){const i=r[s],o=e[i];if(o){const a=n[i],c=a===void 0||o(a,i,n);if(c!==!0)throw new P("option "+i+" must be "+c,P.ERR_BAD_OPTION_VALUE);continue}if(t!==!0)throw new P("Unknown option "+i,P.ERR_BAD_OPTION)}}const Fn={assertOptions:vl,validators:ls},Je=Fn.validators;class Cr{constructor(e){this.defaults=e,this.interceptors={request:new Gs,response:new Gs}}request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=Ht(this.defaults,t);const{transitional:r,paramsSerializer:s,headers:i}=t;r!==void 0&&Fn.assertOptions(r,{silentJSONParsing:Je.transitional(Je.boolean),forcedJSONParsing:Je.transitional(Je.boolean),clarifyTimeoutError:Je.transitional(Je.boolean)},!1),s!==void 0&&Fn.assertOptions(s,{encode:Je.function,serialize:Je.function},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o;o=i&&g.merge(i.common,i[t.method]),o&&g.forEach(["delete","get","head","post","put","patch","common"],d=>{delete i[d]}),t.headers=Le.concat(o,i);const a=[];let c=!0;this.interceptors.request.forEach(function(w){typeof w.runWhen=="function"&&w.runWhen(t)===!1||(c=c&&w.synchronous,a.unshift(w.fulfilled,w.rejected))});const u=[];this.interceptors.response.forEach(function(w){u.push(w.fulfilled,w.rejected)});let l,h=0,p;if(!c){const d=[Xs.bind(this),void 0];for(d.unshift.apply(d,a),d.push.apply(d,u),p=d.length,l=Promise.resolve(t);h<p;)l=l.then(d[h++],d[h++]);return l}p=a.length;let f=t;for(h=0;h<p;){const d=a[h++],w=a[h++];try{f=d(f)}catch(b){w.call(this,b);break}}try{l=Xs.call(this,f)}catch(d){return Promise.reject(d)}for(h=0,p=u.length;h<p;)l=l.then(u[h++],u[h++]);return l}getUri(e){e=Ht(this.defaults,e);const t=so(e.baseURL,e.url);return eo(t,e.params,e.paramsSerializer)}}g.forEach(["delete","get","head","options"],function(e){Cr.prototype[e]=function(t,r){return this.request(Ht(r||{},{method:e,url:t,data:(r||{}).data}))}});g.forEach(["post","put","patch"],function(e){function t(r){return function(i,o,a){return this.request(Ht(a||{},{method:e,headers:r?{"Content-Type":"multipart/form-data"}:{},url:i,data:o}))}}Cr.prototype[e]=t(),Cr.prototype[e+"Form"]=t(!0)});const kr=Cr;class hs{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let t;this.promise=new Promise(function(i){t=i});const r=this;this.promise.then(s=>{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](s);r._listeners=null}),this.promise.then=s=>{let i;const o=new Promise(a=>{r.subscribe(a),i=a}).then(s);return o.cancel=function(){r.unsubscribe(i)},o},e(function(i,o,a){r.reason||(r.reason=new dr(i,o,a),t(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}static source(){let e;return{token:new hs(function(s){e=s}),cancel:e}}}const _l=hs;function El(n){return function(t){return n.apply(null,t)}}function xl(n){return g.isObject(n)&&n.isAxiosError===!0}const Dn={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Dn).forEach(([n,e])=>{Dn[e]=n});const Ol=Dn;function oo(n){const e=new kr(n),t=Hi(kr.prototype.request,e);return g.extend(t,kr.prototype,e,{allOwnKeys:!0}),g.extend(t,e,null,{allOwnKeys:!0}),t.create=function(s){return oo(Ht(n,s))},t}const V=oo(us);V.Axios=kr;V.CanceledError=dr;V.CancelToken=_l;V.isCancel=no;V.VERSION=io;V.toFormData=Xr;V.AxiosError=P;V.Cancel=V.CanceledError;V.all=function(e){return Promise.all(e)};V.spread=El;V.isAxiosError=xl;V.mergeConfig=Ht;V.AxiosHeaders=Le;V.formToJSON=n=>ro(g.isHTMLForm(n)?new FormData(n):n);V.HttpStatusCode=Ol;V.default=V;const Tl=V;function _t(n){this._maxSize=n,this.clear()}_t.prototype.clear=function(){this._size=0,this._values=Object.create(null)};_t.prototype.get=function(n){return this._values[n]};_t.prototype.set=function(n,e){return this._size>=this._maxSize&&this.clear(),n in this._values||this._size++,this._values[n]=e};var Al=/[^.^\]^[]+|(?=\[\]|\.\.)/g,ao=/^\d+$/,Sl=/^\d/,kl=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,Rl=/^\s*(['"]?)(.*?)(\1)\s*$/,fs=512,Qs=new _t(fs),ei=new _t(fs),ti=new _t(fs),pt={Cache:_t,split:Un,normalizePath:On,setter:function(n){var e=On(n);return ei.get(n)||ei.set(n,function(r,s){for(var i=0,o=e.length,a=r;i<o-1;){var c=e[i];if(c==="__proto__"||c==="constructor"||c==="prototype")return r;a=a[e[i++]]}a[e[i]]=s})},getter:function(n,e){var t=On(n);return ti.get(n)||ti.set(n,function(s){for(var i=0,o=t.length;i<o;)if(s!=null||!e)s=s[t[i++]];else return;return s})},join:function(n){return n.reduce(function(e,t){return e+(ds(t)||ao.test(t)?"["+t+"]":(e?".":"")+t)},"")},forEach:function(n,e,t){Pl(Array.isArray(n)?n:Un(n),e,t)}};function On(n){return Qs.get(n)||Qs.set(n,Un(n).map(function(e){return e.replace(Rl,"$2")}))}function Un(n){return n.match(Al)||[""]}function Pl(n,e,t){var r=n.length,s,i,o,a;for(i=0;i<r;i++)s=n[i],s&&(Cl(s)&&(s='"'+s+'"'),a=ds(s),o=!a&&/^\d+$/.test(s),e.call(t,s,a,o,i,n))}function ds(n){return typeof n=="string"&&n&&["'",'"'].indexOf(n.charAt(0))!==-1}function Nl(n){return n.match(Sl)&&!n.match(ao)}function $l(n){return kl.test(n)}function Cl(n){return!ds(n)&&(Nl(n)||$l(n))}const Il=/[A-Z\xc0-\xd6\xd8-\xde]?[a-z\xdf-\xf6\xf8-\xff]+(?:['’](?:d|ll|m|re|s|t|ve))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde]|$)|(?:[A-Z\xc0-\xd6\xd8-\xde]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde](?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])|$)|[A-Z\xc0-\xd6\xd8-\xde]?(?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:d|ll|m|re|s|t|ve))?|[A-Z\xc0-\xd6\xd8-\xde]+(?:['’](?:D|LL|M|RE|S|T|VE))?|\d*(?:1ST|2ND|3RD|(?![123])\dTH)(?=\b|[a-z_])|\d*(?:1st|2nd|3rd|(?![123])\dth)(?=\b|[A-Z_])|\d+|(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?(?:\u200d(?:[^\ud800-\udfff]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?)*/g,Qr=n=>n.match(Il)||[],en=n=>n[0].toUpperCase()+n.slice(1),ps=(n,e)=>Qr(n).join(e).toLowerCase(),co=n=>Qr(n).reduce((e,t)=>`${e}${e?t[0].toUpperCase()+t.slice(1).toLowerCase():t.toLowerCase()}`,""),Fl=n=>en(co(n)),Dl=n=>ps(n,"_"),Ul=n=>ps(n,"-"),Ll=n=>en(ps(n," ")),jl=n=>Qr(n).map(en).join(" ");var Tn={words:Qr,upperFirst:en,camelCase:co,pascalCase:Fl,snakeCase:Dl,kebabCase:Ul,sentenceCase:Ll,titleCase:jl},Ir={},Bl={get exports(){return Ir},set exports(n){Ir=n}};Bl.exports=function(n){return uo(Hl(n),n)};Ir.array=uo;function uo(n,e){var t=n.length,r=new Array(t),s={},i=t,o=Ml(e),a=zl(n);for(e.forEach(function(u){if(!a.has(u[0])||!a.has(u[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});i--;)s[i]||c(n[i],i,new Set);return r;function c(u,l,h){if(h.has(u)){var p;try{p=", node was:"+JSON.stringify(u)}catch{p=""}throw new Error("Cyclic dependency"+p)}if(!a.has(u))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(u));if(!s[l]){s[l]=!0;var f=o.get(u)||new Set;if(f=Array.from(f),l=f.length){h.add(u);do{var d=f[--l];c(d,a.get(d),h)}while(l);h.delete(u)}r[--t]=u}}}function Hl(n){for(var e=new Set,t=0,r=n.length;t<r;t++){var s=n[t];e.add(s[0]),e.add(s[1])}return Array.from(e)}function Ml(n){for(var e=new Map,t=0,r=n.length;t<r;t++){var s=n[t];e.has(s[0])||e.set(s[0],new Set),e.has(s[1])||e.set(s[1],new Set),e.get(s[0]).add(s[1])}return e}function zl(n){for(var e=new Map,t=0,r=n.length;t<r;t++)e.set(n[t],t);return e}const Vl=Object.prototype.toString,ql=Error.prototype.toString,Jl=RegExp.prototype.toString,Gl=typeof Symbol<"u"?Symbol.prototype.toString:()=>"",Wl=/^Symbol\((.*)\)(.*)$/;function Kl(n){return n!=+n?"NaN":n===0&&1/n<0?"-0":""+n}function ri(n,e=!1){if(n==null||n===!0||n===!1)return""+n;const t=typeof n;if(t==="number")return Kl(n);if(t==="string")return e?`"${n}"`:n;if(t==="function")return"[Function "+(n.name||"anonymous")+"]";if(t==="symbol")return Gl.call(n).replace(Wl,"Symbol($1)");const r=Vl.call(n).slice(8,-1);return r==="Date"?isNaN(n.getTime())?""+n:n.toISOString(n):r==="Error"||n instanceof Error?"["+ql.call(n)+"]":r==="RegExp"?Jl.call(n):null}function yt(n,e){let t=ri(n,e);return t!==null?t:JSON.stringify(n,function(r,s){let i=ri(this[r],e);return i!==null?i:s},2)}function lo(n){return n==null?[]:[].concat(n)}let Xl=/\$\{\s*(\w+)\s*\}/g;class ae extends Error{static formatError(e,t){const r=t.label||t.path||"this";return r!==t.path&&(t=Object.assign({},t,{path:r})),typeof e=="string"?e.replace(Xl,(s,i)=>yt(t[i])):typeof e=="function"?e(t):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,t,r,s){super(),this.value=void 0,this.path=void 0,this.type=void 0,this.errors=void 0,this.params=void 0,this.inner=void 0,this.name="ValidationError",this.value=t,this.path=r,this.type=s,this.errors=[],this.inner=[],lo(e).forEach(i=>{ae.isError(i)?(this.errors.push(...i.errors),this.inner=this.inner.concat(i.inner.length?i.inner:i)):this.errors.push(i)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,ae)}}let Ne={default:"${path} is invalid",required:"${path} is a required field",defined:"${path} must be defined",notNull:"${path} cannot be null",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:n,type:e,value:t,originalValue:r})=>{const s=r!=null&&r!==t?` (cast from the value \`${yt(r,!0)}\`).`:".";return e!=="mixed"?`${n} must be a \`${e}\` type, but the final value was: \`${yt(t,!0)}\``+s:`${n} must match the configured type. The validated value was: \`${yt(t,!0)}\``+s}},ye={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},Ge={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},Ln={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},jn={isValue:"${path} field must be ${value}"},Bn={noUnknown:"${path} field has unspecified keys: ${unknown}"},Rr={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must have ${length} items"};Object.assign(Object.create(null),{mixed:Ne,string:ye,number:Ge,date:Ln,object:Bn,array:Rr,boolean:jn});const tn=n=>n&&n.__isYupSchema__;class Fr{static fromOptions(e,t){if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:r,then:s,otherwise:i}=t,o=typeof r=="function"?r:(...a)=>a.every(c=>c===r);return new Fr(e,(a,c)=>{var u;let l=o(...a)?s:i;return(u=l==null?void 0:l(c))!=null?u:c})}constructor(e,t){this.fn=void 0,this.refs=e,this.refs=e,this.fn=t}resolve(e,t){let r=this.refs.map(i=>i.getValue(t==null?void 0:t.value,t==null?void 0:t.parent,t==null?void 0:t.context)),s=this.fn(r,e,t);if(s===void 0||s===e)return e;if(!tn(s))throw new TypeError("conditions must return a schema object");return s.resolve(t)}}const br={context:"$",value:"."};class Et{constructor(e,t={}){if(this.key=void 0,this.isContext=void 0,this.isValue=void 0,this.isSibling=void 0,this.path=void 0,this.getter=void 0,this.map=void 0,typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===br.context,this.isValue=this.key[0]===br.value,this.isSibling=!this.isContext&&!this.isValue;let r=this.isContext?br.context:this.isValue?br.value:"";this.path=this.key.slice(r.length),this.getter=this.path&&pt.getter(this.path,!0),this.map=t.map}getValue(e,t,r){let s=this.isContext?r:this.isValue?e:t;return this.getter&&(s=this.getter(s||{})),this.map&&(s=this.map(s)),s}cast(e,t){return this.getValue(e,t==null?void 0:t.parent,t==null?void 0:t.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}}Et.prototype.__isYupRef=!0;const fe=n=>n==null;function At(n){function e({value:t,path:r="",options:s,originalValue:i,schema:o},a,c){const{name:u,test:l,params:h,message:p,skipAbsent:f}=n;let{parent:d,context:w,abortEarly:b=o.spec.abortEarly}=s;function O(H){return Et.isRef(H)?H.getValue(t,d,w):H}function R(H={}){const J=Object.assign({value:t,originalValue:i,label:o.spec.label,path:H.path||r,spec:o.spec},h,H.params);for(const Ot of Object.keys(J))J[Ot]=O(J[Ot]);const mr=new ae(ae.formatError(H.message||p,J),t,J.path,H.type||u);return mr.params=J,mr}const M=b?a:c;let D={path:r,parent:d,type:u,from:s.from,createError:R,resolve:O,options:s,originalValue:i,schema:o};const _e=H=>{ae.isError(H)?M(H):H?c(null):M(R())},qt=H=>{ae.isError(H)?M(H):a(H)},pr=f&&fe(t);if(!s.sync){try{Promise.resolve(pr?!0:l.call(D,t,D)).then(_e,qt)}catch(H){qt(H)}return}let pe;try{var yr;if(pe=pr?!0:l.call(D,t,D),typeof((yr=pe)==null?void 0:yr.then)=="function")throw new Error(`Validation test of type: "${D.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(H){qt(H);return}_e(pe)}return e.OPTIONS=n,e}function Zl(n,e,t,r=t){let s,i,o;return e?(pt.forEach(e,(a,c,u)=>{let l=c?a.slice(1,a.length-1):a;n=n.resolve({context:r,parent:s,value:t});let h=n.type==="tuple",p=u?parseInt(l,10):0;if(n.innerType||h){if(h&&!u)throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part "${o}" must contain an index to the tuple element, e.g. "${o}[0]"`);if(t&&p>=t.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);s=t,t=t&&t[p],n=h?n.spec.types[p]:n.innerType}if(!u){if(!n.fields||!n.fields[l])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${n.type}")`);s=t,t=t&&t[l],n=n.fields[l]}i=l,o=c?"["+a+"]":"."+a}),{schema:n,parent:s,parentPath:i}):{parent:s,parentPath:e,schema:n}}class Dr extends Set{describe(){const e=[];for(const t of this.values())e.push(Et.isRef(t)?t.describe():t);return e}resolveAll(e){let t=[];for(const r of this.values())t.push(e(r));return t}clone(){return new Dr(this.values())}merge(e,t){const r=this.clone();return e.forEach(s=>r.add(s)),t.forEach(s=>r.delete(s)),r}}function Nt(n,e=new Map){if(tn(n)||!n||typeof n!="object")return n;if(e.has(n))return e.get(n);let t;if(n instanceof Date)t=new Date(n.getTime()),e.set(n,t);else if(n instanceof RegExp)t=new RegExp(n),e.set(n,t);else if(Array.isArray(n)){t=new Array(n.length),e.set(n,t);for(let r=0;r<n.length;r++)t[r]=Nt(n[r],e)}else if(n instanceof Map){t=new Map,e.set(n,t);for(const[r,s]of n.entries())t.set(r,Nt(s,e))}else if(n instanceof Set){t=new Set,e.set(n,t);for(const r of n)t.add(Nt(r,e))}else if(n instanceof Object){t={},e.set(n,t);for(const[r,s]of Object.entries(n))t[r]=Nt(s,e)}else throw Error(`Unable to clone ${n}`);return t}class ne{constructor(e){this.type=void 0,this.deps=[],this.tests=void 0,this.transforms=void 0,this.conditions=[],this._mutate=void 0,this.internalTests={},this._whitelist=new Dr,this._blacklist=new Dr,this.exclusiveTests=Object.create(null),this._typeCheck=void 0,this.spec=void 0,this.tests=[],this.transforms=[],this.withMutation(()=>{this.typeError(Ne.notType)}),this.type=e.type,this._typeCheck=e.check,this.spec=Object.assign({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,optional:!0,coerce:!0},e==null?void 0:e.spec),this.withMutation(t=>{t.nonNullable()})}get _type(){return this.type}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;const t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeCheck=this._typeCheck,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.internalTests=Object.assign({},this.internalTests),t.exclusiveTests=Object.assign({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=Nt(Object.assign({},this.spec,e)),t}label(e){let t=this.clone();return t.spec.label=e,t}meta(...e){if(e.length===0)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let r=e(this);return this._mutate=t,r}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,r=e.clone();const s=Object.assign({},t.spec,r.spec);return r.spec=s,r.internalTests=Object.assign({},t.internalTests,r.internalTests),r._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),r._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),r.tests=t.tests,r.exclusiveTests=t.exclusiveTests,r.withMutation(i=>{e.tests.forEach(o=>{i.test(o.OPTIONS)})}),r.transforms=[...t.transforms,...r.transforms],r}isType(e){return e==null?!!(this.spec.nullable&&e===null||this.spec.optional&&e===void 0):this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let r=t.conditions;t=t.clone(),t.conditions=[],t=r.reduce((s,i)=>i.resolve(s,e),t),t=t.resolve(e)}return t}resolveOptions(e){var t,r,s;return Object.assign({},e,{from:e.from||[],strict:(t=e.strict)!=null?t:this.spec.strict,abortEarly:(r=e.abortEarly)!=null?r:this.spec.abortEarly,recursive:(s=e.recursive)!=null?s:this.spec.recursive})}cast(e,t={}){let r=this.resolve(Object.assign({value:e},t)),s=t.assert==="ignore-optionality",i=r._cast(e,t);if(t.assert!==!1&&!r.isType(i)){if(s&&fe(i))return i;let o=yt(e),a=yt(i);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${r.type}".
|
1
|
+
"use strict";var ha=Object.defineProperty;var fa=(n,e,t)=>e in n?ha(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var m=(n,e,t)=>(fa(n,typeof e!="symbol"?e+"":e,t),t),gn=(n,e,t)=>{if(!e.has(n))throw TypeError("Cannot "+t)};var v=(n,e,t)=>(gn(n,e,"read from private field"),t?t.call(n):e.get(n)),L=(n,e,t)=>{if(e.has(n))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(n):e.set(n,t)},I=(n,e,t,r)=>(gn(n,e,"write to private field"),r?r.call(n,t):e.set(n,t),t),Ds=(n,e,t,r)=>({set _(s){I(n,e,s,t)},get _(){return v(n,e,r)}}),z=(n,e,t)=>(gn(n,e,"access private method"),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function da(n,e){for(var t=0;t<e.length;t++){const r=e[t];if(typeof r!="string"&&!Array.isArray(r)){for(const s in r)if(s!=="default"&&!(s in n)){const i=Object.getOwnPropertyDescriptor(r,s);i&&Object.defineProperty(n,s,i.get?i:{enumerable:!0,get:()=>r[s]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}var pa=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const ya=n=>{let e;return n?e=n:typeof fetch>"u"?e=(...t)=>pa(void 0,void 0,void 0,function*(){return yield(yield Promise.resolve().then(()=>Gr)).fetch(...t)}):e=fetch,(...t)=>e(...t)};class ss extends Error{constructor(e,t="FunctionsError",r){super(e),super.name=t,this.context=r}}class ma extends ss{constructor(e){super("Failed to send a request to the Edge Function","FunctionsFetchError",e)}}class ga extends ss{constructor(e){super("Relay Error invoking the Edge Function","FunctionsRelayError",e)}}class wa extends ss{constructor(e){super("Edge Function returned a non-2xx status code","FunctionsHttpError",e)}}var ba=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};class va{constructor(e,{headers:t={},customFetch:r}={}){this.url=e,this.headers=t,this.fetch=ya(r)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e,t={}){var r;return ba(this,void 0,void 0,function*(){try{const{headers:s,method:i,body:o}=t;let a={},c;o&&(s&&!Object.prototype.hasOwnProperty.call(s,"Content-Type")||!s)&&(typeof Blob<"u"&&o instanceof Blob||o instanceof ArrayBuffer?(a["Content-Type"]="application/octet-stream",c=o):typeof o=="string"?(a["Content-Type"]="text/plain",c=o):typeof FormData<"u"&&o instanceof FormData?c=o:(a["Content-Type"]="application/json",c=JSON.stringify(o)));const u=yield this.fetch(`${this.url}/${e}`,{method:i||"POST",headers:Object.assign(Object.assign(Object.assign({},a),this.headers),s),body:c}).catch(f=>{throw new ma(f)}),l=u.headers.get("x-relay-error");if(l&&l==="true")throw new ga(u);if(!u.ok)throw new wa(u);let h=((r=u.headers.get("Content-Type"))!==null&&r!==void 0?r:"text/plain").split(";")[0].trim(),p;return h==="application/json"?p=yield u.json():h==="application/octet-stream"?p=yield u.blob():h==="multipart/form-data"?p=yield u.formData():p=yield u.text(),{data:p,error:null}}catch(s){return{data:null,error:s}}})}}var _a=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ea(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Mt={},xa={get exports(){return Mt},set exports(n){Mt=n}};(function(n,e){var t=typeof self<"u"?self:_a,r=function(){function i(){this.fetch=!1,this.DOMException=t.DOMException}return i.prototype=t,new i}();(function(i){(function(o){var a={searchParams:"URLSearchParams"in i,iterable:"Symbol"in i&&"iterator"in Symbol,blob:"FileReader"in i&&"Blob"in i&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in i,arrayBuffer:"ArrayBuffer"in i};function c(y){return y&&DataView.prototype.isPrototypeOf(y)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],l=ArrayBuffer.isView||function(y){return y&&u.indexOf(Object.prototype.toString.call(y))>-1};function h(y){if(typeof y!="string"&&(y=String(y)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(y))throw new TypeError("Invalid character in header field name");return y.toLowerCase()}function p(y){return typeof y!="string"&&(y=String(y)),y}function f(y){var _={next:function(){var A=y.shift();return{done:A===void 0,value:A}}};return a.iterable&&(_[Symbol.iterator]=function(){return _}),_}function d(y){this.map={},y instanceof d?y.forEach(function(_,A){this.append(A,_)},this):Array.isArray(y)?y.forEach(function(_){this.append(_[0],_[1])},this):y&&Object.getOwnPropertyNames(y).forEach(function(_){this.append(_,y[_])},this)}d.prototype.append=function(y,_){y=h(y),_=p(_);var A=this.map[y];this.map[y]=A?A+", "+_:_},d.prototype.delete=function(y){delete this.map[h(y)]},d.prototype.get=function(y){return y=h(y),this.has(y)?this.map[y]:null},d.prototype.has=function(y){return this.map.hasOwnProperty(h(y))},d.prototype.set=function(y,_){this.map[h(y)]=p(_)},d.prototype.forEach=function(y,_){for(var A in this.map)this.map.hasOwnProperty(A)&&y.call(_,this.map[A],A,this)},d.prototype.keys=function(){var y=[];return this.forEach(function(_,A){y.push(A)}),f(y)},d.prototype.values=function(){var y=[];return this.forEach(function(_){y.push(_)}),f(y)},d.prototype.entries=function(){var y=[];return this.forEach(function(_,A){y.push([A,_])}),f(y)},a.iterable&&(d.prototype[Symbol.iterator]=d.prototype.entries);function w(y){if(y.bodyUsed)return Promise.reject(new TypeError("Already read"));y.bodyUsed=!0}function b(y){return new Promise(function(_,A){y.onload=function(){_(y.result)},y.onerror=function(){A(y.error)}})}function O(y){var _=new FileReader,A=b(_);return _.readAsArrayBuffer(y),A}function N(y){var _=new FileReader,A=b(_);return _.readAsText(y),A}function H(y){for(var _=new Uint8Array(y),A=new Array(_.length),Z=0;Z<_.length;Z++)A[Z]=String.fromCharCode(_[Z]);return A.join("")}function U(y){if(y.slice)return y.slice(0);var _=new Uint8Array(y.byteLength);return _.set(new Uint8Array(y)),_.buffer}function Ee(){return this.bodyUsed=!1,this._initBody=function(y){this._bodyInit=y,y?typeof y=="string"?this._bodyText=y:a.blob&&Blob.prototype.isPrototypeOf(y)?this._bodyBlob=y:a.formData&&FormData.prototype.isPrototypeOf(y)?this._bodyFormData=y:a.searchParams&&URLSearchParams.prototype.isPrototypeOf(y)?this._bodyText=y.toString():a.arrayBuffer&&a.blob&&c(y)?(this._bodyArrayBuffer=U(y.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(y)||l(y))?this._bodyArrayBuffer=U(y):this._bodyText=y=Object.prototype.toString.call(y):this._bodyText="",this.headers.get("content-type")||(typeof y=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):a.searchParams&&URLSearchParams.prototype.isPrototypeOf(y)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},a.blob&&(this.blob=function(){var y=w(this);if(y)return y;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?w(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(O)}),this.text=function(){var y=w(this);if(y)return y;if(this._bodyBlob)return N(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(H(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},a.formData&&(this.formData=function(){return this.text().then(gr)}),this.json=function(){return this.text().then(JSON.parse)},this}var Vt=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function mr(y){var _=y.toUpperCase();return Vt.indexOf(_)>-1?_:y}function ye(y,_){_=_||{};var A=_.body;if(y instanceof ye){if(y.bodyUsed)throw new TypeError("Already read");this.url=y.url,this.credentials=y.credentials,_.headers||(this.headers=new d(y.headers)),this.method=y.method,this.mode=y.mode,this.signal=y.signal,!A&&y._bodyInit!=null&&(A=y._bodyInit,y.bodyUsed=!0)}else this.url=String(y);if(this.credentials=_.credentials||this.credentials||"same-origin",(_.headers||!this.headers)&&(this.headers=new d(_.headers)),this.method=mr(_.method||this.method||"GET"),this.mode=_.mode||this.mode||null,this.signal=_.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&A)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(A)}ye.prototype.clone=function(){return new ye(this,{body:this._bodyInit})};function gr(y){var _=new FormData;return y.trim().split("&").forEach(function(A){if(A){var Z=A.split("="),G=Z.shift().replace(/\+/g," "),F=Z.join("=").replace(/\+/g," ");_.append(decodeURIComponent(G),decodeURIComponent(F))}}),_}function M(y){var _=new d,A=y.replace(/\r?\n[\t ]+/g," ");return A.split(/\r?\n/).forEach(function(Z){var G=Z.split(":"),F=G.shift().trim();if(F){var br=G.join(":").trim();_.append(F,br)}}),_}Ee.call(ye.prototype);function J(y,_){_||(_={}),this.type="default",this.status=_.status===void 0?200:_.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in _?_.statusText:"OK",this.headers=new d(_.headers),this.url=_.url||"",this._initBody(y)}Ee.call(J.prototype),J.prototype.clone=function(){return new J(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new d(this.headers),url:this.url})},J.error=function(){var y=new J(null,{status:0,statusText:""});return y.type="error",y};var wr=[301,302,303,307,308];J.redirect=function(y,_){if(wr.indexOf(_)===-1)throw new RangeError("Invalid status code");return new J(null,{status:_,headers:{location:y}})},o.DOMException=i.DOMException;try{new o.DOMException}catch{o.DOMException=function(_,A){this.message=_,this.name=A;var Z=Error(_);this.stack=Z.stack},o.DOMException.prototype=Object.create(Error.prototype),o.DOMException.prototype.constructor=o.DOMException}function Tt(y,_){return new Promise(function(A,Z){var G=new ye(y,_);if(G.signal&&G.signal.aborted)return Z(new o.DOMException("Aborted","AbortError"));var F=new XMLHttpRequest;function br(){F.abort()}F.onload=function(){var Jt={status:F.status,statusText:F.statusText,headers:M(F.getAllResponseHeaders()||"")};Jt.url="responseURL"in F?F.responseURL:Jt.headers.get("X-Request-URL");var mn="response"in F?F.response:F.responseText;A(new J(mn,Jt))},F.onerror=function(){Z(new TypeError("Network request failed"))},F.ontimeout=function(){Z(new TypeError("Network request failed"))},F.onabort=function(){Z(new o.DOMException("Aborted","AbortError"))},F.open(G.method,G.url,!0),G.credentials==="include"?F.withCredentials=!0:G.credentials==="omit"&&(F.withCredentials=!1),"responseType"in F&&a.blob&&(F.responseType="blob"),G.headers.forEach(function(Jt,mn){F.setRequestHeader(mn,Jt)}),G.signal&&(G.signal.addEventListener("abort",br),F.onreadystatechange=function(){F.readyState===4&&G.signal.removeEventListener("abort",br)}),F.send(typeof G._bodyInit>"u"?null:G._bodyInit)})}return Tt.polyfill=!0,i.fetch||(i.fetch=Tt,i.Headers=d,i.Request=ye,i.Response=J),o.Headers=d,o.Request=ye,o.Response=J,o.fetch=Tt,Object.defineProperty(o,"__esModule",{value:!0}),o})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var s=r;e=s.fetch,e.default=s.fetch,e.fetch=s.fetch,e.Headers=s.Headers,e.Request=s.Request,e.Response=s.Response,n.exports=e})(xa,Mt);const is=Ea(Mt),Gr=da({__proto__:null,default:is},[Mt]);class Oa{constructor(e){this.shouldThrowOnError=!1,this.method=e.method,this.url=e.url,this.headers=e.headers,this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=e.shouldThrowOnError,this.signal=e.signal,this.allowEmpty=e.allowEmpty,e.fetch?this.fetch=e.fetch:typeof fetch>"u"?this.fetch=is:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}then(e,t){this.schema===void 0||(["GET","HEAD"].includes(this.method)?this.headers["Accept-Profile"]=this.schema:this.headers["Content-Profile"]=this.schema),this.method!=="GET"&&this.method!=="HEAD"&&(this.headers["Content-Type"]="application/json");const r=this.fetch;let s=r(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then(async i=>{var o,a,c;let u=null,l=null,h=null,p=i.status,f=i.statusText;if(i.ok){if(this.method!=="HEAD"){const O=await i.text();O===""||(this.headers.Accept==="text/csv"||this.headers.Accept&&this.headers.Accept.includes("application/vnd.pgrst.plan+text")?l=O:l=JSON.parse(O))}const w=(o=this.headers.Prefer)===null||o===void 0?void 0:o.match(/count=(exact|planned|estimated)/),b=(a=i.headers.get("content-range"))===null||a===void 0?void 0:a.split("/");w&&b&&b.length>1&&(h=parseInt(b[1]))}else{const w=await i.text();try{u=JSON.parse(w),Array.isArray(u)&&i.status===404&&(l=[],u=null,p=200,f="OK")}catch{i.status===404&&w===""?(p=204,f="No Content"):u={message:w}}if(u&&this.allowEmpty&&(!((c=u==null?void 0:u.details)===null||c===void 0)&&c.includes("Results contain 0 rows"))&&(u=null,p=200,f="OK"),u&&this.shouldThrowOnError)throw u}return{error:u,data:l,count:h,status:p,statusText:f}});return this.shouldThrowOnError||(s=s.catch(i=>({error:{message:`FetchError: ${i.message}`,details:"",hint:"",code:i.code||""},data:null,count:null,status:0,statusText:""}))),s.then(e,t)}}class Ta extends Oa{select(e){let t=!1;const r=(e??"*").split("").map(s=>/\s/.test(s)&&!t?"":(s==='"'&&(t=!t),s)).join("");return this.url.searchParams.set("select",r),this.headers.Prefer&&(this.headers.Prefer+=","),this.headers.Prefer+="return=representation",this}order(e,{ascending:t=!0,nullsFirst:r,foreignTable:s}={}){const i=s?`${s}.order`:"order",o=this.url.searchParams.get(i);return this.url.searchParams.set(i,`${o?`${o},`:""}${e}.${t?"asc":"desc"}${r===void 0?"":r?".nullsfirst":".nullslast"}`),this}limit(e,{foreignTable:t}={}){const r=typeof t>"u"?"limit":`${t}.limit`;return this.url.searchParams.set(r,`${e}`),this}range(e,t,{foreignTable:r}={}){const s=typeof r>"u"?"offset":`${r}.offset`,i=typeof r>"u"?"limit":`${r}.limit`;return this.url.searchParams.set(s,`${e}`),this.url.searchParams.set(i,`${t-e+1}`),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.Accept="application/vnd.pgrst.object+json",this}maybeSingle(){return this.headers.Accept="application/vnd.pgrst.object+json",this.allowEmpty=!0,this}csv(){return this.headers.Accept="text/csv",this}geojson(){return this.headers.Accept="application/geo+json",this}explain({analyze:e=!1,verbose:t=!1,settings:r=!1,buffers:s=!1,wal:i=!1,format:o="text"}={}){const a=[e?"analyze":null,t?"verbose":null,r?"settings":null,s?"buffers":null,i?"wal":null].filter(Boolean).join("|"),c=this.headers.Accept;return this.headers.Accept=`application/vnd.pgrst.plan+${o}; for="${c}"; options=${a};`,o==="json"?this:this}rollback(){var e;return((e=this.headers.Prefer)!==null&&e!==void 0?e:"").trim().length>0?this.headers.Prefer+=",tx=rollback":this.headers.Prefer="tx=rollback",this}returns(){return this}}class Nt extends Ta{eq(e,t){return this.url.searchParams.append(e,`eq.${t}`),this}neq(e,t){return this.url.searchParams.append(e,`neq.${t}`),this}gt(e,t){return this.url.searchParams.append(e,`gt.${t}`),this}gte(e,t){return this.url.searchParams.append(e,`gte.${t}`),this}lt(e,t){return this.url.searchParams.append(e,`lt.${t}`),this}lte(e,t){return this.url.searchParams.append(e,`lte.${t}`),this}like(e,t){return this.url.searchParams.append(e,`like.${t}`),this}ilike(e,t){return this.url.searchParams.append(e,`ilike.${t}`),this}is(e,t){return this.url.searchParams.append(e,`is.${t}`),this}in(e,t){const r=t.map(s=>typeof s=="string"&&new RegExp("[,()]").test(s)?`"${s}"`:`${s}`).join(",");return this.url.searchParams.append(e,`in.(${r})`),this}contains(e,t){return typeof t=="string"?this.url.searchParams.append(e,`cs.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cs.{${t.join(",")}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(t)}`),this}containedBy(e,t){return typeof t=="string"?this.url.searchParams.append(e,`cd.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cd.{${t.join(",")}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(t)}`),this}rangeGt(e,t){return this.url.searchParams.append(e,`sr.${t}`),this}rangeGte(e,t){return this.url.searchParams.append(e,`nxl.${t}`),this}rangeLt(e,t){return this.url.searchParams.append(e,`sl.${t}`),this}rangeLte(e,t){return this.url.searchParams.append(e,`nxr.${t}`),this}rangeAdjacent(e,t){return this.url.searchParams.append(e,`adj.${t}`),this}overlaps(e,t){return typeof t=="string"?this.url.searchParams.append(e,`ov.${t}`):this.url.searchParams.append(e,`ov.{${t.join(",")}}`),this}textSearch(e,t,{config:r,type:s}={}){let i="";s==="plain"?i="pl":s==="phrase"?i="ph":s==="websearch"&&(i="w");const o=r===void 0?"":`(${r})`;return this.url.searchParams.append(e,`${i}fts${o}.${t}`),this}match(e){return Object.entries(e).forEach(([t,r])=>{this.url.searchParams.append(t,`eq.${r}`)}),this}not(e,t,r){return this.url.searchParams.append(e,`not.${t}.${r}`),this}or(e,{foreignTable:t}={}){const r=t?`${t}.or`:"or";return this.url.searchParams.append(r,`(${e})`),this}filter(e,t,r){return this.url.searchParams.append(e,`${t}.${r}`),this}}class Aa{constructor(e,{headers:t={},schema:r,fetch:s}){this.url=e,this.headers=t,this.schema=r,this.fetch=s}select(e,{head:t=!1,count:r}={}){const s=t?"HEAD":"GET";let i=!1;const o=(e??"*").split("").map(a=>/\s/.test(a)&&!i?"":(a==='"'&&(i=!i),a)).join("");return this.url.searchParams.set("select",o),r&&(this.headers.Prefer=`count=${r}`),new Nt({method:s,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:!1})}insert(e,{count:t}={}){const r="POST",s=[],i=e;if(t&&s.push(`count=${t}`),this.headers.Prefer&&s.unshift(this.headers.Prefer),this.headers.Prefer=s.join(","),Array.isArray(e)){const o=e.reduce((a,c)=>a.concat(Object.keys(c)),[]);if(o.length>0){const a=[...new Set(o)].map(c=>`"${c}"`);this.url.searchParams.set("columns",a.join(","))}}return new Nt({method:r,url:this.url,headers:this.headers,schema:this.schema,body:i,fetch:this.fetch,allowEmpty:!1})}upsert(e,{onConflict:t,ignoreDuplicates:r=!1,count:s}={}){const i="POST",o=[`resolution=${r?"ignore":"merge"}-duplicates`];t!==void 0&&this.url.searchParams.set("on_conflict",t);const a=e;return s&&o.push(`count=${s}`),this.headers.Prefer&&o.unshift(this.headers.Prefer),this.headers.Prefer=o.join(","),new Nt({method:i,url:this.url,headers:this.headers,schema:this.schema,body:a,fetch:this.fetch,allowEmpty:!1})}update(e,{count:t}={}){const r="PATCH",s=[],i=e;return t&&s.push(`count=${t}`),this.headers.Prefer&&s.unshift(this.headers.Prefer),this.headers.Prefer=s.join(","),new Nt({method:r,url:this.url,headers:this.headers,schema:this.schema,body:i,fetch:this.fetch,allowEmpty:!1})}delete({count:e}={}){const t="DELETE",r=[];return e&&r.push(`count=${e}`),this.headers.Prefer&&r.unshift(this.headers.Prefer),this.headers.Prefer=r.join(","),new Nt({method:t,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:!1})}}const Sa="1.4.1",ka={"X-Client-Info":`postgrest-js/${Sa}`};class Ra{constructor(e,{headers:t={},schema:r,fetch:s}={}){this.url=e,this.headers=Object.assign(Object.assign({},ka),t),this.schema=r,this.fetch=s}from(e){const t=new URL(`${this.url}/${e}`);return new Aa(t,{headers:Object.assign({},this.headers),schema:this.schema,fetch:this.fetch})}rpc(e,t={},{head:r=!1,count:s}={}){let i;const o=new URL(`${this.url}/rpc/${e}`);let a;r?(i="HEAD",Object.entries(t).forEach(([u,l])=>{o.searchParams.append(u,`${l}`)})):(i="POST",a=t);const c=Object.assign({},this.headers);return s&&(c.Prefer=`count=${s}`),new Nt({method:i,url:o,headers:c,schema:this.schema,body:a,fetch:this.fetch,allowEmpty:!1})}}var wn,Us;function Na(){if(Us)return wn;Us=1;var n=function(){if(typeof self=="object"&&self)return self;if(typeof window=="object"&&window)return window;throw new Error("Unable to resolve global `this`")};return wn=function(){if(this)return this;if(typeof globalThis=="object"&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch{return n()}try{return __global__||n()}finally{delete Object.prototype.__global__}}(),wn}const Pa="websocket",$a="Websocket Client & Server Library implementing the WebSocket protocol as specified in RFC 6455.",Ca=["websocket","websockets","socket","networking","comet","push","RFC-6455","realtime","server","client"],Ia="Brian McKelvey <theturtle32@gmail.com> (https://github.com/theturtle32)",Fa=["Iñaki Baz Castillo <ibc@aliax.net> (http://dev.sipdoc.net)"],Da="1.0.34",Ua={type:"git",url:"https://github.com/theturtle32/WebSocket-Node.git"},La="https://github.com/theturtle32/WebSocket-Node",ja={node:">=4.0.0"},Ba={bufferutil:"^4.0.1",debug:"^2.2.0","es5-ext":"^0.10.50","typedarray-to-buffer":"^3.1.5","utf-8-validate":"^5.0.2",yaeti:"^0.0.6"},Ma={"buffer-equal":"^1.0.0",gulp:"^4.0.2","gulp-jshint":"^2.0.4","jshint-stylish":"^2.2.1",jshint:"^2.0.0",tape:"^4.9.1"},Ha={verbose:!1},za={test:"tape test/unit/*.js",gulp:"gulp"},qa="index",Va={lib:"./lib"},Ja="lib/browser.js",Ga="Apache-2.0",Wa={name:Pa,description:$a,keywords:Ca,author:Ia,contributors:Fa,version:Da,repository:Ua,homepage:La,engines:ja,dependencies:Ba,devDependencies:Ma,config:Ha,scripts:za,main:qa,directories:Va,browser:Ja,license:Ga};var Ka=Wa.version,at;if(typeof globalThis=="object")at=globalThis;else try{at=Na()}catch{}finally{if(!at&&typeof window<"u"&&(at=window),!at)throw new Error("Could not determine global this")}var er=at.WebSocket||at.MozWebSocket,Xa=Ka;function Di(n,e){var t;return e?t=new er(n,e):t=new er(n),t}er&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach(function(n){Object.defineProperty(Di,n,{get:function(){return er[n]}})});var Za={w3cwebsocket:er?Di:null,version:Xa};const Ya="2.6.0",Qa={"X-Client-Info":`realtime-js/${Ya}`},ec="1.0.0",Ui=1e4,tc=1e3;var Zt;(function(n){n[n.connecting=0]="connecting",n[n.open=1]="open",n[n.closing=2]="closing",n[n.closed=3]="closed"})(Zt||(Zt={}));var oe;(function(n){n.closed="closed",n.errored="errored",n.joined="joined",n.joining="joining",n.leaving="leaving"})(oe||(oe={}));var we;(function(n){n.close="phx_close",n.error="phx_error",n.join="phx_join",n.reply="phx_reply",n.leave="phx_leave",n.access_token="access_token"})(we||(we={}));var Cn;(function(n){n.websocket="websocket"})(Cn||(Cn={}));var ct;(function(n){n.Connecting="connecting",n.Open="open",n.Closing="closing",n.Closed="closed"})(ct||(ct={}));class Li{constructor(e,t){this.callback=e,this.timerCalc=t,this.timer=void 0,this.tries=0,this.callback=e,this.timerCalc=t}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}}class rc{constructor(){this.HEADER_LENGTH=1}decode(e,t){return e.constructor===ArrayBuffer?t(this._binaryDecode(e)):t(typeof e=="string"?JSON.parse(e):{})}_binaryDecode(e){const t=new DataView(e),r=new TextDecoder;return this._decodeBroadcast(e,t,r)}_decodeBroadcast(e,t,r){const s=t.getUint8(1),i=t.getUint8(2);let o=this.HEADER_LENGTH+2;const a=r.decode(e.slice(o,o+s));o=o+s;const c=r.decode(e.slice(o,o+i));o=o+i;const u=JSON.parse(r.decode(e.slice(o,e.byteLength)));return{ref:null,topic:a,event:c,payload:u}}}class bn{constructor(e,t,r={},s=Ui){this.channel=e,this.event=t,this.payload=r,this.timeout=s,this.sent=!1,this.timeoutTimer=void 0,this.ref="",this.receivedResp=null,this.recHooks=[],this.refEvent=null,this.rateLimited=!1}resend(e){this.timeout=e,this._cancelRefEvent(),this.ref="",this.refEvent=null,this.receivedResp=null,this.sent=!1,this.send()}send(){if(this._hasReceived("timeout"))return;this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload,ref:this.ref,join_ref:this.channel._joinRef()})==="rate limited"&&(this.rateLimited=!0)}updatePayload(e){this.payload=Object.assign(Object.assign({},this.payload),e)}receive(e,t){var r;return this._hasReceived(e)&&t((r=this.receivedResp)===null||r===void 0?void 0:r.response),this.recHooks.push({status:e,callback:t}),this}startTimeout(){if(this.timeoutTimer)return;this.ref=this.channel.socket._makeRef(),this.refEvent=this.channel._replyEventName(this.ref);const e=t=>{this._cancelRefEvent(),this._cancelTimeout(),this.receivedResp=t,this._matchReceive(t)};this.channel._on(this.refEvent,{},e),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}trigger(e,t){this.refEvent&&this.channel._trigger(this.refEvent,{status:e,response:t})}destroy(){this._cancelRefEvent(),this._cancelTimeout()}_cancelRefEvent(){this.refEvent&&this.channel._off(this.refEvent,{})}_cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=void 0}_matchReceive({status:e,response:t}){this.recHooks.filter(r=>r.status===e).forEach(r=>r.callback(t))}_hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}}var Ls;(function(n){n.SYNC="sync",n.JOIN="join",n.LEAVE="leave"})(Ls||(Ls={}));class Yt{constructor(e,t){this.channel=e,this.state={},this.pendingDiffs=[],this.joinRef=null,this.caller={onJoin:()=>{},onLeave:()=>{},onSync:()=>{}};const r=(t==null?void 0:t.events)||{state:"presence_state",diff:"presence_diff"};this.channel._on(r.state,{},s=>{const{onJoin:i,onLeave:o,onSync:a}=this.caller;this.joinRef=this.channel._joinRef(),this.state=Yt.syncState(this.state,s,i,o),this.pendingDiffs.forEach(c=>{this.state=Yt.syncDiff(this.state,c,i,o)}),this.pendingDiffs=[],a()}),this.channel._on(r.diff,{},s=>{const{onJoin:i,onLeave:o,onSync:a}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(s):(this.state=Yt.syncDiff(this.state,s,i,o),a())}),this.onJoin((s,i,o)=>{this.channel._trigger("presence",{event:"join",key:s,currentPresences:i,newPresences:o})}),this.onLeave((s,i,o)=>{this.channel._trigger("presence",{event:"leave",key:s,currentPresences:i,leftPresences:o})}),this.onSync(()=>{this.channel._trigger("presence",{event:"sync"})})}static syncState(e,t,r,s){const i=this.cloneDeep(e),o=this.transformState(t),a={},c={};return this.map(i,(u,l)=>{o[u]||(c[u]=l)}),this.map(o,(u,l)=>{const h=i[u];if(h){const p=l.map(b=>b.presence_ref),f=h.map(b=>b.presence_ref),d=l.filter(b=>f.indexOf(b.presence_ref)<0),w=h.filter(b=>p.indexOf(b.presence_ref)<0);d.length>0&&(a[u]=d),w.length>0&&(c[u]=w)}else a[u]=l}),this.syncDiff(i,{joins:a,leaves:c},r,s)}static syncDiff(e,t,r,s){const{joins:i,leaves:o}={joins:this.transformState(t.joins),leaves:this.transformState(t.leaves)};return r||(r=()=>{}),s||(s=()=>{}),this.map(i,(a,c)=>{var u;const l=(u=e[a])!==null&&u!==void 0?u:[];if(e[a]=this.cloneDeep(c),l.length>0){const h=e[a].map(f=>f.presence_ref),p=l.filter(f=>h.indexOf(f.presence_ref)<0);e[a].unshift(...p)}r(a,l,c)}),this.map(o,(a,c)=>{let u=e[a];if(!u)return;const l=c.map(h=>h.presence_ref);u=u.filter(h=>l.indexOf(h.presence_ref)<0),e[a]=u,s(a,u,c),u.length===0&&delete e[a]}),e}static map(e,t){return Object.getOwnPropertyNames(e).map(r=>t(r,e[r]))}static transformState(e){return e=this.cloneDeep(e),Object.getOwnPropertyNames(e).reduce((t,r)=>{const s=e[r];return"metas"in s?t[r]=s.metas.map(i=>(i.presence_ref=i.phx_ref,delete i.phx_ref,delete i.phx_ref_prev,i)):t[r]=s,t},{})}static cloneDeep(e){return JSON.parse(JSON.stringify(e))}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel._joinRef()}}var j;(function(n){n.abstime="abstime",n.bool="bool",n.date="date",n.daterange="daterange",n.float4="float4",n.float8="float8",n.int2="int2",n.int4="int4",n.int4range="int4range",n.int8="int8",n.int8range="int8range",n.json="json",n.jsonb="jsonb",n.money="money",n.numeric="numeric",n.oid="oid",n.reltime="reltime",n.text="text",n.time="time",n.timestamp="timestamp",n.timestamptz="timestamptz",n.timetz="timetz",n.tsrange="tsrange",n.tstzrange="tstzrange"})(j||(j={}));const js=(n,e,t={})=>{var r;const s=(r=t.skipTypes)!==null&&r!==void 0?r:[];return Object.keys(e).reduce((i,o)=>(i[o]=nc(o,n,e,s),i),{})},nc=(n,e,t,r)=>{const s=e.find(a=>a.name===n),i=s==null?void 0:s.type,o=t[n];return i&&!r.includes(i)?ji(i,o):In(o)},ji=(n,e)=>{if(n.charAt(0)==="_"){const t=n.slice(1,n.length);return ac(e,t)}switch(n){case j.bool:return sc(e);case j.float4:case j.float8:case j.int2:case j.int4:case j.int8:case j.numeric:case j.oid:return ic(e);case j.json:case j.jsonb:return oc(e);case j.timestamp:return cc(e);case j.abstime:case j.date:case j.daterange:case j.int4range:case j.int8range:case j.money:case j.reltime:case j.text:case j.time:case j.timestamptz:case j.timetz:case j.tsrange:case j.tstzrange:return In(e);default:return In(e)}},In=n=>n,sc=n=>{switch(n){case"t":return!0;case"f":return!1;default:return n}},ic=n=>{if(typeof n=="string"){const e=parseFloat(n);if(!Number.isNaN(e))return e}return n},oc=n=>{if(typeof n=="string")try{return JSON.parse(n)}catch(e){return console.log(`JSON parse error: ${e}`),n}return n},ac=(n,e)=>{if(typeof n!="string")return n;const t=n.length-1,r=n[t];if(n[0]==="{"&&r==="}"){let i;const o=n.slice(1,t);try{i=JSON.parse("["+o+"]")}catch{i=o?o.split(","):[]}return i.map(a=>ji(e,a))}return n},cc=n=>typeof n=="string"?n.replace(" ","T"):n;var Bs=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})},Ms;(function(n){n.ALL="*",n.INSERT="INSERT",n.UPDATE="UPDATE",n.DELETE="DELETE"})(Ms||(Ms={}));var Hs;(function(n){n.BROADCAST="broadcast",n.PRESENCE="presence",n.POSTGRES_CHANGES="postgres_changes"})(Hs||(Hs={}));var zs;(function(n){n.SUBSCRIBED="SUBSCRIBED",n.TIMED_OUT="TIMED_OUT",n.CLOSED="CLOSED",n.CHANNEL_ERROR="CHANNEL_ERROR"})(zs||(zs={}));class os{constructor(e,t={config:{}},r){this.topic=e,this.params=t,this.socket=r,this.bindings={},this.state=oe.closed,this.joinedOnce=!1,this.pushBuffer=[],this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:""}},t.config),this.timeout=this.socket.timeout,this.joinPush=new bn(this,we.join,this.params,this.timeout),this.rejoinTimer=new Li(()=>this._rejoinUntilConnected(),this.socket.reconnectAfterMs),this.joinPush.receive("ok",()=>{this.state=oe.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(s=>s.send()),this.pushBuffer=[]}),this._onClose(()=>{this.rejoinTimer.reset(),this.socket.log("channel",`close ${this.topic} ${this._joinRef()}`),this.state=oe.closed,this.socket._remove(this)}),this._onError(s=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,s),this.state=oe.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("timeout",()=>{this._isJoining()&&(this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),this.state=oe.errored,this.rejoinTimer.scheduleTimeout())}),this._on(we.reply,{},(s,i)=>{this._trigger(this._replyEventName(i),s)}),this.presence=new Yt(this)}subscribe(e,t=this.timeout){var r,s;if(this.joinedOnce)throw"tried to subscribe multiple times. 'subscribe' can only be called a single time per channel instance";{const{config:{broadcast:i,presence:o}}=this.params;this._onError(u=>e&&e("CHANNEL_ERROR",u)),this._onClose(()=>e&&e("CLOSED"));const a={},c={broadcast:i,presence:o,postgres_changes:(s=(r=this.bindings.postgres_changes)===null||r===void 0?void 0:r.map(u=>u.filter))!==null&&s!==void 0?s:[]};this.socket.accessToken&&(a.access_token=this.socket.accessToken),this.updateJoinPayload(Object.assign({config:c},a)),this.joinedOnce=!0,this._rejoin(t),this.joinPush.receive("ok",({postgres_changes:u})=>{var l;if(this.socket.accessToken&&this.socket.setAuth(this.socket.accessToken),u===void 0){e&&e("SUBSCRIBED");return}else{const h=this.bindings.postgres_changes,p=(l=h==null?void 0:h.length)!==null&&l!==void 0?l:0,f=[];for(let d=0;d<p;d++){const w=h[d],{filter:{event:b,schema:O,table:N,filter:H}}=w,U=u&&u[d];if(U&&U.event===b&&U.schema===O&&U.table===N&&U.filter===H)f.push(Object.assign(Object.assign({},w),{id:U.id}));else{this.unsubscribe(),e&&e("CHANNEL_ERROR",new Error("mismatch between server and client bindings for postgres changes"));return}}this.bindings.postgres_changes=f,e&&e("SUBSCRIBED");return}}).receive("error",u=>{e&&e("CHANNEL_ERROR",new Error(JSON.stringify(Object.values(u).join(", ")||"error")))}).receive("timeout",()=>{e&&e("TIMED_OUT")})}return this}presenceState(){return this.presence.state}track(e,t={}){return Bs(this,void 0,void 0,function*(){return yield this.send({type:"presence",event:"track",payload:e},t.timeout||this.timeout)})}untrack(e={}){return Bs(this,void 0,void 0,function*(){return yield this.send({type:"presence",event:"untrack"},e)})}on(e,t,r){return this._on(e,t,r)}send(e,t={}){return new Promise(r=>{var s,i,o;const a=this._push(e.type,e,t.timeout||this.timeout);a.rateLimited&&r("rate limited"),e.type==="broadcast"&&!(!((o=(i=(s=this.params)===null||s===void 0?void 0:s.config)===null||i===void 0?void 0:i.broadcast)===null||o===void 0)&&o.ack)&&r("ok"),a.receive("ok",()=>r("ok")),a.receive("timeout",()=>r("timed out"))})}updateJoinPayload(e){this.joinPush.updatePayload(e)}unsubscribe(e=this.timeout){this.state=oe.leaving;const t=()=>{this.socket.log("channel",`leave ${this.topic}`),this._trigger(we.close,"leave",this._joinRef())};return this.rejoinTimer.reset(),this.joinPush.destroy(),new Promise(r=>{const s=new bn(this,we.leave,{},e);s.receive("ok",()=>{t(),r("ok")}).receive("timeout",()=>{t(),r("timed out")}).receive("error",()=>{r("error")}),s.send(),this._canPush()||s.trigger("ok",{})})}_push(e,t,r=this.timeout){if(!this.joinedOnce)throw`tried to push '${e}' to '${this.topic}' before joining. Use channel.subscribe() before pushing events`;let s=new bn(this,e,t,r);return this._canPush()?s.send():(s.startTimeout(),this.pushBuffer.push(s)),s}_onMessage(e,t,r){return t}_isMember(e){return this.topic===e}_joinRef(){return this.joinPush.ref}_trigger(e,t,r){var s,i;const o=e.toLocaleLowerCase(),{close:a,error:c,leave:u,join:l}=we;if(r&&[a,c,u,l].indexOf(o)>=0&&r!==this._joinRef())return;let p=this._onMessage(o,t,r);if(t&&!p)throw"channel onMessage callbacks must return the payload, modified or unmodified";["insert","update","delete"].includes(o)?(s=this.bindings.postgres_changes)===null||s===void 0||s.filter(f=>{var d,w,b;return((d=f.filter)===null||d===void 0?void 0:d.event)==="*"||((b=(w=f.filter)===null||w===void 0?void 0:w.event)===null||b===void 0?void 0:b.toLocaleLowerCase())===o}).map(f=>f.callback(p,r)):(i=this.bindings[o])===null||i===void 0||i.filter(f=>{var d,w,b,O,N,H;if(["broadcast","presence","postgres_changes"].includes(o))if("id"in f){const U=f.id,Ee=(d=f.filter)===null||d===void 0?void 0:d.event;return U&&((w=t.ids)===null||w===void 0?void 0:w.includes(U))&&(Ee==="*"||(Ee==null?void 0:Ee.toLocaleLowerCase())===((b=t.data)===null||b===void 0?void 0:b.type.toLocaleLowerCase()))}else{const U=(N=(O=f==null?void 0:f.filter)===null||O===void 0?void 0:O.event)===null||N===void 0?void 0:N.toLocaleLowerCase();return U==="*"||U===((H=t==null?void 0:t.event)===null||H===void 0?void 0:H.toLocaleLowerCase())}else return f.type.toLocaleLowerCase()===o}).map(f=>{if(typeof p=="object"&&"ids"in p){const d=p.data,{schema:w,table:b,commit_timestamp:O,type:N,errors:H}=d;p=Object.assign(Object.assign({},{schema:w,table:b,commit_timestamp:O,eventType:N,new:{},old:{},errors:H}),this._getPayloadRecords(d))}f.callback(p,r)})}_isClosed(){return this.state===oe.closed}_isJoined(){return this.state===oe.joined}_isJoining(){return this.state===oe.joining}_isLeaving(){return this.state===oe.leaving}_replyEventName(e){return`chan_reply_${e}`}_on(e,t,r){const s=e.toLocaleLowerCase(),i={type:s,filter:t,callback:r};return this.bindings[s]?this.bindings[s].push(i):this.bindings[s]=[i],this}_off(e,t){const r=e.toLocaleLowerCase();return this.bindings[r]=this.bindings[r].filter(s=>{var i;return!(((i=s.type)===null||i===void 0?void 0:i.toLocaleLowerCase())===r&&os.isEqual(s.filter,t))}),this}static isEqual(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const r in e)if(e[r]!==t[r])return!1;return!0}_rejoinUntilConnected(){this.rejoinTimer.scheduleTimeout(),this.socket.isConnected()&&this._rejoin()}_onClose(e){this._on(we.close,{},e)}_onError(e){this._on(we.error,{},t=>e(t))}_canPush(){return this.socket.isConnected()&&this._isJoined()}_rejoin(e=this.timeout){this._isLeaving()||(this.socket._leaveOpenTopic(this.topic),this.state=oe.joining,this.joinPush.resend(e))}_getPayloadRecords(e){const t={new:{},old:{}};return(e.type==="INSERT"||e.type==="UPDATE")&&(t.new=js(e.columns,e.record)),(e.type==="UPDATE"||e.type==="DELETE")&&(t.old=js(e.columns,e.old_record)),t}}var uc=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const lc=()=>{};class hc{constructor(e,t){var r;this.accessToken=null,this.channels=[],this.endPoint="",this.headers=Qa,this.params={},this.timeout=Ui,this.transport=Za.w3cwebsocket,this.heartbeatIntervalMs=3e4,this.heartbeatTimer=void 0,this.pendingHeartbeatRef=null,this.ref=0,this.logger=lc,this.conn=null,this.sendBuffer=[],this.serializer=new rc,this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.eventsPerSecondLimitMs=100,this.inThrottle=!1,this.endPoint=`${e}/${Cn.websocket}`,t!=null&&t.params&&(this.params=t.params),t!=null&&t.headers&&(this.headers=Object.assign(Object.assign({},this.headers),t.headers)),t!=null&&t.timeout&&(this.timeout=t.timeout),t!=null&&t.logger&&(this.logger=t.logger),t!=null&&t.transport&&(this.transport=t.transport),t!=null&&t.heartbeatIntervalMs&&(this.heartbeatIntervalMs=t.heartbeatIntervalMs);const s=(r=t==null?void 0:t.params)===null||r===void 0?void 0:r.eventsPerSecond;s&&(this.eventsPerSecondLimitMs=Math.floor(1e3/s)),this.reconnectAfterMs=t!=null&&t.reconnectAfterMs?t.reconnectAfterMs:i=>[1e3,2e3,5e3,1e4][i-1]||1e4,this.encode=t!=null&&t.encode?t.encode:(i,o)=>o(JSON.stringify(i)),this.decode=t!=null&&t.decode?t.decode:this.serializer.decode.bind(this.serializer),this.reconnectTimer=new Li(()=>uc(this,void 0,void 0,function*(){this.disconnect(),this.connect()}),this.reconnectAfterMs)}connect(){this.conn||(this.conn=new this.transport(this._endPointURL(),[],null,this.headers),this.conn&&(this.conn.binaryType="arraybuffer",this.conn.onopen=()=>this._onConnOpen(),this.conn.onerror=e=>this._onConnError(e),this.conn.onmessage=e=>this._onConnMessage(e),this.conn.onclose=e=>this._onConnClose(e)))}disconnect(e,t){this.conn&&(this.conn.onclose=function(){},e?this.conn.close(e,t??""):this.conn.close(),this.conn=null,this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.reconnectTimer.reset())}getChannels(){return this.channels}removeChannel(e){return e.unsubscribe().then(t=>(this.channels.length===0&&this.disconnect(),t))}removeAllChannels(){return Promise.all(this.channels.map(e=>e.unsubscribe())).then(e=>(this.disconnect(),e))}log(e,t,r){this.logger(e,t,r)}connectionState(){switch(this.conn&&this.conn.readyState){case Zt.connecting:return ct.Connecting;case Zt.open:return ct.Open;case Zt.closing:return ct.Closing;default:return ct.Closed}}isConnected(){return this.connectionState()===ct.Open}channel(e,t={config:{}}){this.isConnected()||this.connect();const r=new os(`realtime:${e}`,t,this);return this.channels.push(r),r}push(e){const{topic:t,event:r,payload:s,ref:i}=e;let o=()=>{this.encode(e,a=>{var c;(c=this.conn)===null||c===void 0||c.send(a)})};if(this.log("push",`${t} ${r} (${i})`,s),this.isConnected())if(["broadcast","presence","postgres_changes"].includes(r)){if(this._throttle(o)())return"rate limited"}else o();else this.sendBuffer.push(o)}setAuth(e){this.accessToken=e,this.channels.forEach(t=>{e&&t.updateJoinPayload({access_token:e}),t.joinedOnce&&t._isJoined()&&t._push(we.access_token,{access_token:e})})}_makeRef(){let e=this.ref+1;return e===this.ref?this.ref=0:this.ref=e,this.ref.toString()}_leaveOpenTopic(e){let t=this.channels.find(r=>r.topic===e&&(r._isJoined()||r._isJoining()));t&&(this.log("transport",`leaving duplicate topic "${e}"`),t.unsubscribe())}_remove(e){this.channels=this.channels.filter(t=>t._joinRef()!==e._joinRef())}_endPointURL(){return this._appendParams(this.endPoint,Object.assign({},this.params,{vsn:ec}))}_onConnMessage(e){this.decode(e.data,t=>{let{topic:r,event:s,payload:i,ref:o}=t;(o&&o===this.pendingHeartbeatRef||s===(i==null?void 0:i.type))&&(this.pendingHeartbeatRef=null),this.log("receive",`${i.status||""} ${r} ${s} ${o&&"("+o+")"||""}`,i),this.channels.filter(a=>a._isMember(r)).forEach(a=>a._trigger(s,i,o)),this.stateChangeCallbacks.message.forEach(a=>a(t))})}_onConnOpen(){this.log("transport",`connected to ${this._endPointURL()}`),this._flushSendBuffer(),this.reconnectTimer.reset(),this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.heartbeatTimer=setInterval(()=>this._sendHeartbeat(),this.heartbeatIntervalMs),this.stateChangeCallbacks.open.forEach(e=>e())}_onConnClose(e){this.log("transport","close",e),this._triggerChanError(),this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.reconnectTimer.scheduleTimeout(),this.stateChangeCallbacks.close.forEach(t=>t(e))}_onConnError(e){this.log("transport",e.message),this._triggerChanError(),this.stateChangeCallbacks.error.forEach(t=>t(e))}_triggerChanError(){this.channels.forEach(e=>e._trigger(we.error))}_appendParams(e,t){if(Object.keys(t).length===0)return e;const r=e.match(/\?/)?"&":"?",s=new URLSearchParams(t);return`${e}${r}${s}`}_flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(e=>e()),this.sendBuffer=[])}_sendHeartbeat(){var e;if(this.isConnected()){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.log("transport","heartbeat timeout. Attempting to re-establish connection"),(e=this.conn)===null||e===void 0||e.close(tc,"hearbeat timeout");return}this.pendingHeartbeatRef=this._makeRef(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef}),this.setAuth(this.accessToken)}}_throttle(e,t=this.eventsPerSecondLimitMs){return()=>this.inThrottle?!0:(e(),t>0&&(this.inThrottle=!0,setTimeout(()=>{this.inThrottle=!1},t)),!1)}}class Bi extends Error{constructor(e){super(e),this.__isStorageError=!0,this.name="StorageError"}}function re(n){return typeof n=="object"&&n!==null&&"__isStorageError"in n}class fc extends Bi{constructor(e,t){super(e),this.name="StorageApiError",this.status=t}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class qs extends Bi{constructor(e,t){super(e),this.name="StorageUnknownError",this.originalError=t}}var Mi=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const Hi=n=>{let e;return n?e=n:typeof fetch>"u"?e=(...t)=>Mi(void 0,void 0,void 0,function*(){return yield(yield Promise.resolve().then(()=>Gr)).fetch(...t)}):e=fetch,(...t)=>e(...t)},dc=()=>Mi(void 0,void 0,void 0,function*(){return typeof Response>"u"?(yield Promise.resolve().then(()=>Gr)).Response:Response});var zt=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const vn=n=>n.msg||n.message||n.error_description||n.error||JSON.stringify(n),pc=(n,e)=>zt(void 0,void 0,void 0,function*(){const t=yield dc();n instanceof t?n.json().then(r=>{e(new fc(vn(r),n.status||500))}).catch(r=>{e(new qs(vn(r),r))}):e(new qs(vn(n),n))}),yc=(n,e,t,r)=>{const s={method:n,headers:(e==null?void 0:e.headers)||{}};return n==="GET"?s:(s.headers=Object.assign({"Content-Type":"application/json"},e==null?void 0:e.headers),s.body=JSON.stringify(r),Object.assign(Object.assign({},s),t))};function Wr(n,e,t,r,s,i){return zt(this,void 0,void 0,function*(){return new Promise((o,a)=>{n(t,yc(e,r,s,i)).then(c=>{if(!c.ok)throw c;return r!=null&&r.noResolveJson?c:c.json()}).then(c=>o(c)).catch(c=>pc(c,a))})})}function Fn(n,e,t,r){return zt(this,void 0,void 0,function*(){return Wr(n,"GET",e,t,r)})}function ut(n,e,t,r,s){return zt(this,void 0,void 0,function*(){return Wr(n,"POST",e,r,s,t)})}function mc(n,e,t,r,s){return zt(this,void 0,void 0,function*(){return Wr(n,"PUT",e,r,s,t)})}function zi(n,e,t,r,s){return zt(this,void 0,void 0,function*(){return Wr(n,"DELETE",e,r,s,t)})}var xe=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const gc={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},wc={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};class bc{constructor(e,t={},r,s){this.url=e,this.headers=t,this.bucketId=r,this.fetch=Hi(s)}uploadOrUpdate(e,t,r,s){return xe(this,void 0,void 0,function*(){try{let i;const o=Object.assign(Object.assign({},wc),s),a=Object.assign(Object.assign({},this.headers),e==="POST"&&{"x-upsert":String(o.upsert)});typeof Blob<"u"&&r instanceof Blob?(i=new FormData,i.append("cacheControl",o.cacheControl),i.append("",r)):typeof FormData<"u"&&r instanceof FormData?(i=r,i.append("cacheControl",o.cacheControl)):(i=r,a["cache-control"]=`max-age=${o.cacheControl}`,a["content-type"]=o.contentType);const c=this._removeEmptyFolders(t),u=this._getFinalPath(c),l=yield this.fetch(`${this.url}/object/${u}`,{method:e,body:i,headers:a});return l.ok?{data:{path:c},error:null}:{data:null,error:yield l.json()}}catch(i){if(re(i))return{data:null,error:i};throw i}})}upload(e,t,r){return xe(this,void 0,void 0,function*(){return this.uploadOrUpdate("POST",e,t,r)})}update(e,t,r){return xe(this,void 0,void 0,function*(){return this.uploadOrUpdate("PUT",e,t,r)})}move(e,t){return xe(this,void 0,void 0,function*(){try{return{data:yield ut(this.fetch,`${this.url}/object/move`,{bucketId:this.bucketId,sourceKey:e,destinationKey:t},{headers:this.headers}),error:null}}catch(r){if(re(r))return{data:null,error:r};throw r}})}copy(e,t){return xe(this,void 0,void 0,function*(){try{return{data:{path:(yield ut(this.fetch,`${this.url}/object/copy`,{bucketId:this.bucketId,sourceKey:e,destinationKey:t},{headers:this.headers})).Key},error:null}}catch(r){if(re(r))return{data:null,error:r};throw r}})}createSignedUrl(e,t,r){return xe(this,void 0,void 0,function*(){try{let s=this._getFinalPath(e),i=yield ut(this.fetch,`${this.url}/object/sign/${s}`,Object.assign({expiresIn:t},r!=null&&r.transform?{transform:r.transform}:{}),{headers:this.headers});const o=r!=null&&r.download?`&download=${r.download===!0?"":r.download}`:"";return i={signedUrl:encodeURI(`${this.url}${i.signedURL}${o}`)},{data:i,error:null}}catch(s){if(re(s))return{data:null,error:s};throw s}})}createSignedUrls(e,t,r){return xe(this,void 0,void 0,function*(){try{const s=yield ut(this.fetch,`${this.url}/object/sign/${this.bucketId}`,{expiresIn:t,paths:e},{headers:this.headers}),i=r!=null&&r.download?`&download=${r.download===!0?"":r.download}`:"";return{data:s.map(o=>Object.assign(Object.assign({},o),{signedUrl:o.signedURL?encodeURI(`${this.url}${o.signedURL}${i}`):null})),error:null}}catch(s){if(re(s))return{data:null,error:s};throw s}})}download(e,t){return xe(this,void 0,void 0,function*(){const s=typeof(t==null?void 0:t.transform)<"u"?"render/image/authenticated":"object",i=this.transformOptsToQueryString((t==null?void 0:t.transform)||{}),o=i?`?${i}`:"";try{const a=this._getFinalPath(e);return{data:yield(yield Fn(this.fetch,`${this.url}/${s}/${a}${o}`,{headers:this.headers,noResolveJson:!0})).blob(),error:null}}catch(a){if(re(a))return{data:null,error:a};throw a}})}getPublicUrl(e,t){const r=this._getFinalPath(e),s=[],i=t!=null&&t.download?`download=${t.download===!0?"":t.download}`:"";i!==""&&s.push(i);const a=typeof(t==null?void 0:t.transform)<"u"?"render/image":"object",c=this.transformOptsToQueryString((t==null?void 0:t.transform)||{});c!==""&&s.push(c);let u=s.join("&");return u!==""&&(u=`?${u}`),{data:{publicUrl:encodeURI(`${this.url}/${a}/public/${r}${u}`)}}}remove(e){return xe(this,void 0,void 0,function*(){try{return{data:yield zi(this.fetch,`${this.url}/object/${this.bucketId}`,{prefixes:e},{headers:this.headers}),error:null}}catch(t){if(re(t))return{data:null,error:t};throw t}})}list(e,t,r){return xe(this,void 0,void 0,function*(){try{const s=Object.assign(Object.assign(Object.assign({},gc),t),{prefix:e||""});return{data:yield ut(this.fetch,`${this.url}/object/list/${this.bucketId}`,s,{headers:this.headers},r),error:null}}catch(s){if(re(s))return{data:null,error:s};throw s}})}_getFinalPath(e){return`${this.bucketId}/${e}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(e){const t=[];return e.width&&t.push(`width=${e.width}`),e.height&&t.push(`height=${e.height}`),e.resize&&t.push(`resize=${e.resize}`),e.format&&t.push(`format=${e.format}`),e.quality&&t.push(`quality=${e.quality}`),t.join("&")}}const vc="2.3.1",_c={"X-Client-Info":`storage-js/${vc}`};var At=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};class Ec{constructor(e,t={},r){this.url=e,this.headers=Object.assign(Object.assign({},_c),t),this.fetch=Hi(r)}listBuckets(){return At(this,void 0,void 0,function*(){try{return{data:yield Fn(this.fetch,`${this.url}/bucket`,{headers:this.headers}),error:null}}catch(e){if(re(e))return{data:null,error:e};throw e}})}getBucket(e){return At(this,void 0,void 0,function*(){try{return{data:yield Fn(this.fetch,`${this.url}/bucket/${e}`,{headers:this.headers}),error:null}}catch(t){if(re(t))return{data:null,error:t};throw t}})}createBucket(e,t={public:!1}){return At(this,void 0,void 0,function*(){try{return{data:yield ut(this.fetch,`${this.url}/bucket`,{id:e,name:e,public:t.public},{headers:this.headers}),error:null}}catch(r){if(re(r))return{data:null,error:r};throw r}})}updateBucket(e,t){return At(this,void 0,void 0,function*(){try{return{data:yield mc(this.fetch,`${this.url}/bucket/${e}`,{id:e,name:e,public:t.public},{headers:this.headers}),error:null}}catch(r){if(re(r))return{data:null,error:r};throw r}})}emptyBucket(e){return At(this,void 0,void 0,function*(){try{return{data:yield ut(this.fetch,`${this.url}/bucket/${e}/empty`,{},{headers:this.headers}),error:null}}catch(t){if(re(t))return{data:null,error:t};throw t}})}deleteBucket(e){return At(this,void 0,void 0,function*(){try{return{data:yield zi(this.fetch,`${this.url}/bucket/${e}`,{},{headers:this.headers}),error:null}}catch(t){if(re(t))return{data:null,error:t};throw t}})}}class xc extends Ec{constructor(e,t={},r){super(e,t,r)}from(e){return new bc(this.url,this.headers,e,this.fetch)}}const Oc="2.10.0",Tc={"X-Client-Info":`supabase-js/${Oc}`};var Ac=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const Sc=n=>{let e;return n?e=n:typeof fetch>"u"?e=is:e=fetch,(...t)=>e(...t)},kc=()=>typeof Headers>"u"?Mt.Headers:Headers,Rc=(n,e,t)=>{const r=Sc(t),s=kc();return(i,o)=>Ac(void 0,void 0,void 0,function*(){var a;const c=(a=yield e())!==null&&a!==void 0?a:n;let u=new s(o==null?void 0:o.headers);return u.has("apikey")||u.set("apikey",n),u.has("Authorization")||u.set("Authorization",`Bearer ${c}`),r(i,Object.assign(Object.assign({},o),{headers:u}))})};function Nc(n){return n.replace(/\/$/,"")}function Pc(n,e){const{db:t,auth:r,realtime:s,global:i}=n,{db:o,auth:a,realtime:c,global:u}=e;return{db:Object.assign(Object.assign({},o),t),auth:Object.assign(Object.assign({},a),r),realtime:Object.assign(Object.assign({},c),s),global:Object.assign(Object.assign({},u),i)}}var hr=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};function $c(n){return Math.round(Date.now()/1e3)+n}function Cc(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(n){const e=Math.random()*16|0;return(n=="x"?e:e&3|8).toString(16)})}const ot=()=>typeof document<"u",st={tested:!1,writable:!1},_n=()=>{if(!ot())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(st.tested)return st.writable;const n=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(n,n),globalThis.localStorage.removeItem(n),st.tested=!0,st.writable=!0}catch{st.tested=!0,st.writable=!1}return st.writable};function le(n,e){var t;e||(e=((t=window==null?void 0:window.location)===null||t===void 0?void 0:t.href)||""),n=n.replace(/[\[\]]/g,"\\$&");const r=new RegExp("[?&#]"+n+"(=([^&#]*)|&|#|$)"),s=r.exec(e);return s?s[2]?decodeURIComponent(s[2].replace(/\+/g," ")):"":null}const qi=n=>{let e;return n?e=n:typeof fetch>"u"?e=(...t)=>hr(void 0,void 0,void 0,function*(){return yield(yield Promise.resolve().then(()=>Gr)).fetch(...t)}):e=fetch,(...t)=>e(...t)},Ic=n=>typeof n=="object"&&n!==null&&"status"in n&&"ok"in n&&"json"in n&&typeof n.json=="function",Fc=(n,e,t)=>hr(void 0,void 0,void 0,function*(){yield n.setItem(e,JSON.stringify(t))}),Vs=(n,e)=>hr(void 0,void 0,void 0,function*(){const t=yield n.getItem(e);if(!t)return null;try{return JSON.parse(t)}catch{return t}}),Dc=(n,e)=>hr(void 0,void 0,void 0,function*(){yield n.removeItem(e)});function Uc(n){const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";let t="",r,s,i,o,a,c,u,l=0;for(n=n.replace("-","+").replace("_","/");l<n.length;)o=e.indexOf(n.charAt(l++)),a=e.indexOf(n.charAt(l++)),c=e.indexOf(n.charAt(l++)),u=e.indexOf(n.charAt(l++)),r=o<<2|a>>4,s=(a&15)<<4|c>>2,i=(c&3)<<6|u,t=t+String.fromCharCode(r),c!=64&&s!=0&&(t=t+String.fromCharCode(s)),u!=64&&i!=0&&(t=t+String.fromCharCode(i));return t}class Kr{constructor(){this.promise=new Kr.promiseConstructor((e,t)=>{this.resolve=e,this.reject=t})}}Kr.promiseConstructor=Promise;function Js(n){const e=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}=?$|[a-z0-9_-]{2}(==)?$)$/i,t=n.split(".");if(t.length!==3)throw new Error("JWT is not valid: not a JWT structure");if(!e.test(t[1]))throw new Error("JWT is not valid: payload is not in base64url format");const r=t[1];return JSON.parse(Uc(r))}function Lc(n){return new Promise(e=>{setTimeout(()=>e(null),n)})}function jc(n,e){return new Promise((r,s)=>{hr(this,void 0,void 0,function*(){for(let i=0;i<1/0;i++)try{const o=yield n(i);if(!e(i,null,o)){r(o);return}}catch(o){if(!e(i,o)){s(o);return}}})})}class as extends Error{constructor(e,t){super(e),this.__isAuthError=!0,this.name="AuthError",this.status=t}}function C(n){return typeof n=="object"&&n!==null&&"__isAuthError"in n}class Bc extends as{constructor(e,t){super(e,t),this.name="AuthApiError",this.status=t}toJSON(){return{name:this.name,message:this.message,status:this.status}}}function Mc(n){return C(n)&&n.name==="AuthApiError"}class Vi extends as{constructor(e,t){super(e),this.name="AuthUnknownError",this.originalError=t}}class Xr extends as{constructor(e,t,r){super(e),this.name=t,this.status=r}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class Gt extends Xr{constructor(){super("Auth session missing!","AuthSessionMissingError",400)}}class En extends Xr{constructor(e){super(e,"AuthInvalidCredentialsError",400)}}class Pe extends Xr{constructor(e,t=null){super(e,"AuthImplicitGrantRedirectError",500),this.details=null,this.details=t}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}class Dn extends Xr{constructor(e,t){super(e,"AuthRetryableFetchError",t)}}var cs=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})},Hc=globalThis&&globalThis.__rest||function(n,e){var t={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,r=Object.getOwnPropertySymbols(n);s<r.length;s++)e.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(n,r[s])&&(t[r[s]]=n[r[s]]);return t};const vr=n=>n.msg||n.message||n.error_description||n.error||JSON.stringify(n),zc=(n,e)=>cs(void 0,void 0,void 0,function*(){const t=[502,503,504];Ic(n)?t.includes(n.status)?e(new Dn(vr(n),n.status)):n.json().then(r=>{e(new Bc(vr(r),n.status||500))}).catch(r=>{e(new Vi(vr(r),r))}):e(new Dn(vr(n),0))}),qc=(n,e,t,r)=>{const s={method:n,headers:(e==null?void 0:e.headers)||{}};return n==="GET"?s:(s.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},e==null?void 0:e.headers),s.body=JSON.stringify(r),Object.assign(Object.assign({},s),t))};function D(n,e,t,r){var s;return cs(this,void 0,void 0,function*(){const i=Object.assign({},r==null?void 0:r.headers);r!=null&&r.jwt&&(i.Authorization=`Bearer ${r.jwt}`);const o=(s=r==null?void 0:r.query)!==null&&s!==void 0?s:{};r!=null&&r.redirectTo&&(o.redirect_to=r.redirectTo);const a=Object.keys(o).length?"?"+new URLSearchParams(o).toString():"",c=yield Vc(n,e,t+a,{headers:i,noResolveJson:r==null?void 0:r.noResolveJson},{},r==null?void 0:r.body);return r!=null&&r.xform?r==null?void 0:r.xform(c):{data:Object.assign({},c),error:null}})}function Vc(n,e,t,r,s,i){return cs(this,void 0,void 0,function*(){return new Promise((o,a)=>{n(t,qc(e,r,s,i)).then(c=>{if(!c.ok)throw c;return r!=null&&r.noResolveJson?c:c.json()}).then(c=>o(c)).catch(c=>zc(c,a))})})}function it(n){var e;let t=null;Kc(n)&&(t=Object.assign({},n),t.expires_at=$c(n.expires_in));const r=(e=n.user)!==null&&e!==void 0?e:n;return{data:{session:t,user:r},error:null}}function lt(n){var e;return{data:{user:(e=n.user)!==null&&e!==void 0?e:n},error:null}}function Jc(n){return{data:n,error:null}}function Gc(n){const{action_link:e,email_otp:t,hashed_token:r,redirect_to:s,verification_type:i}=n,o=Hc(n,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),a={action_link:e,email_otp:t,hashed_token:r,redirect_to:s,verification_type:i},c=Object.assign({},o);return{data:{properties:a,user:c},error:null}}function Wc(n){return n}function Kc(n){return n.access_token&&n.refresh_token&&n.expires_in}var Oe=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})},Xc=globalThis&&globalThis.__rest||function(n,e){var t={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,r=Object.getOwnPropertySymbols(n);s<r.length;s++)e.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(n,r[s])&&(t[r[s]]=n[r[s]]);return t};class Zc{constructor({url:e="",headers:t={},fetch:r}){this.url=e,this.headers=t,this.fetch=qi(r),this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)}}signOut(e){return Oe(this,void 0,void 0,function*(){try{return yield D(this.fetch,"POST",`${this.url}/logout`,{headers:this.headers,jwt:e,noResolveJson:!0}),{data:null,error:null}}catch(t){if(C(t))return{data:null,error:t};throw t}})}inviteUserByEmail(e,t={}){return Oe(this,void 0,void 0,function*(){try{return yield D(this.fetch,"POST",`${this.url}/invite`,{body:{email:e,data:t.data},headers:this.headers,redirectTo:t.redirectTo,xform:lt})}catch(r){if(C(r))return{data:{user:null},error:r};throw r}})}generateLink(e){return Oe(this,void 0,void 0,function*(){try{const{options:t}=e,r=Xc(e,["options"]),s=Object.assign(Object.assign({},r),t);return"newEmail"in r&&(s.new_email=r==null?void 0:r.newEmail,delete s.newEmail),yield D(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:s,headers:this.headers,xform:Gc,redirectTo:t==null?void 0:t.redirectTo})}catch(t){if(C(t))return{data:{properties:null,user:null},error:t};throw t}})}createUser(e){return Oe(this,void 0,void 0,function*(){try{return yield D(this.fetch,"POST",`${this.url}/admin/users`,{body:e,headers:this.headers,xform:lt})}catch(t){if(C(t))return{data:{user:null},error:t};throw t}})}listUsers(e){var t,r,s,i,o,a,c;return Oe(this,void 0,void 0,function*(){try{const u={nextPage:null,lastPage:0,total:0},l=yield D(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(r=(t=e==null?void 0:e.page)===null||t===void 0?void 0:t.toString())!==null&&r!==void 0?r:"",per_page:(i=(s=e==null?void 0:e.perPage)===null||s===void 0?void 0:s.toString())!==null&&i!==void 0?i:""},xform:Wc});if(l.error)throw l.error;const h=yield l.json(),p=(o=l.headers.get("x-total-count"))!==null&&o!==void 0?o:0,f=(c=(a=l.headers.get("link"))===null||a===void 0?void 0:a.split(","))!==null&&c!==void 0?c:[];return f.length>0&&(f.forEach(d=>{const w=parseInt(d.split(";")[0].split("=")[1].substring(0,1)),b=JSON.parse(d.split(";")[1].split("=")[1]);u[`${b}Page`]=w}),u.total=parseInt(p)),{data:Object.assign(Object.assign({},h),u),error:null}}catch(u){if(C(u))return{data:{users:[]},error:u};throw u}})}getUserById(e){return Oe(this,void 0,void 0,function*(){try{return yield D(this.fetch,"GET",`${this.url}/admin/users/${e}`,{headers:this.headers,xform:lt})}catch(t){if(C(t))return{data:{user:null},error:t};throw t}})}updateUserById(e,t){return Oe(this,void 0,void 0,function*(){try{return yield D(this.fetch,"PUT",`${this.url}/admin/users/${e}`,{body:t,headers:this.headers,xform:lt})}catch(r){if(C(r))return{data:{user:null},error:r};throw r}})}deleteUser(e,t=!1){return Oe(this,void 0,void 0,function*(){try{return yield D(this.fetch,"DELETE",`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:t},xform:lt})}catch(r){if(C(r))return{data:{user:null},error:r};throw r}})}_listFactors(e){return Oe(this,void 0,void 0,function*(){try{const{data:t,error:r}=yield D(this.fetch,"GET",`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:s=>({data:{factors:s},error:null})});return{data:t,error:r}}catch(t){if(C(t))return{data:null,error:t};throw t}})}_deleteFactor(e){return Oe(this,void 0,void 0,function*(){try{return{data:yield D(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(t){if(C(t))return{data:null,error:t};throw t}})}}const Yc="2.13.0",Qc="http://localhost:9999",eu="supabase.auth.token",tu={"X-Client-Info":`gotrue-js/${Yc}`},ru=10,nu={getItem:n=>_n()?globalThis.localStorage.getItem(n):null,setItem:(n,e)=>{_n()&&globalThis.localStorage.setItem(n,e)},removeItem:n=>{_n()&&globalThis.localStorage.removeItem(n)}};function su(){if(typeof globalThis!="object")try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<"u"&&(self.globalThis=self)}}var k=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};su();const iu={url:Qc,storageKey:eu,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:tu},xn=10*1e3,ou=3;class au{constructor(e){this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.broadcastChannel=null;const t=Object.assign(Object.assign({},iu),e);this.inMemorySession=null,this.storageKey=t.storageKey,this.autoRefreshToken=t.autoRefreshToken,this.persistSession=t.persistSession,this.storage=t.storage||nu,this.admin=new Zc({url:t.url,headers:t.headers,fetch:t.fetch}),this.url=t.url,this.headers=t.headers,this.fetch=qi(t.fetch),this.detectSessionInUrl=t.detectSessionInUrl,this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this)},ot()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey&&(this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey),this.broadcastChannel.addEventListener("message",r=>{this._notifyAllSubscribers(r.data.event,r.data.session,!1)})),this.initialize()}initialize(){return this.initializePromise||(this.initializePromise=this._initialize()),this.initializePromise}_initialize(){return k(this,void 0,void 0,function*(){if(this.initializePromise)return this.initializePromise;try{if(this.detectSessionInUrl&&this._isImplicitGrantFlow()){const{data:e,error:t}=yield this._getSessionFromUrl();if(t)return yield this._removeSession(),{error:t};const{session:r,redirectType:s}=e;return yield this._saveSession(r),setTimeout(()=>{this._notifyAllSubscribers("SIGNED_IN",r),s==="recovery"&&this._notifyAllSubscribers("PASSWORD_RECOVERY",r)},0),{error:null}}return yield this._recoverAndRefresh(),{error:null}}catch(e){return C(e)?{error:e}:{error:new Vi("Unexpected error during initialization",e)}}finally{yield this._handleVisibilityChange()}})}signUp(e){var t,r;return k(this,void 0,void 0,function*(){try{yield this._removeSession();let s;if("email"in e){const{email:u,password:l,options:h}=e;s=yield D(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:h==null?void 0:h.emailRedirectTo,body:{email:u,password:l,data:(t=h==null?void 0:h.data)!==null&&t!==void 0?t:{},gotrue_meta_security:{captcha_token:h==null?void 0:h.captchaToken}},xform:it})}else if("phone"in e){const{phone:u,password:l,options:h}=e;s=yield D(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:u,password:l,data:(r=h==null?void 0:h.data)!==null&&r!==void 0?r:{},gotrue_meta_security:{captcha_token:h==null?void 0:h.captchaToken}},xform:it})}else throw new En("You must provide either an email or phone number and a password");const{data:i,error:o}=s;if(o||!i)return{data:{user:null,session:null},error:o};const a=i.session,c=i.user;return i.session&&(yield this._saveSession(i.session),this._notifyAllSubscribers("SIGNED_IN",a)),{data:{user:c,session:a},error:null}}catch(s){if(C(s))return{data:{user:null,session:null},error:s};throw s}})}signInWithPassword(e){var t;return k(this,void 0,void 0,function*(){try{yield this._removeSession();let r;if("email"in e){const{email:o,password:a,options:c}=e;r=yield D(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:o,password:a,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken}},xform:it})}else if("phone"in e){const{phone:o,password:a,options:c}=e;r=yield D(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:o,password:a,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},channel:(t=c==null?void 0:c.channel)!==null&&t!==void 0?t:"sms"},xform:it})}else throw new En("You must provide either an email or phone number and a password");const{data:s,error:i}=r;return i||!s?{data:{user:null,session:null},error:i}:(s.session&&(yield this._saveSession(s.session),this._notifyAllSubscribers("SIGNED_IN",s.session)),{data:s,error:i})}catch(r){if(C(r))return{data:{user:null,session:null},error:r};throw r}})}signInWithOAuth(e){var t,r,s,i;return k(this,void 0,void 0,function*(){return yield this._removeSession(),this._handleProviderSignIn(e.provider,{redirectTo:(t=e.options)===null||t===void 0?void 0:t.redirectTo,scopes:(r=e.options)===null||r===void 0?void 0:r.scopes,queryParams:(s=e.options)===null||s===void 0?void 0:s.queryParams,skipBrowserRedirect:(i=e.options)===null||i===void 0?void 0:i.skipBrowserRedirect})})}signInWithIdToken(e){return k(this,void 0,void 0,function*(){yield this._removeSession();try{const{options:t,provider:r,token:s,nonce:i}=e,o=yield D(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:r,id_token:s,nonce:i,gotrue_meta_security:{captcha_token:t==null?void 0:t.captchaToken}},xform:it}),{data:a,error:c}=o;return c||!a?{data:{user:null,session:null},error:c}:(a.session&&(yield this._saveSession(a.session),this._notifyAllSubscribers("SIGNED_IN",a.session)),{data:a,error:c})}catch(t){if(C(t))return{data:{user:null,session:null},error:t};throw t}})}signInWithOtp(e){var t,r,s,i,o;return k(this,void 0,void 0,function*(){try{if(yield this._removeSession(),"email"in e){const{email:a,options:c}=e,{error:u}=yield D(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:a,data:(t=c==null?void 0:c.data)!==null&&t!==void 0?t:{},create_user:(r=c==null?void 0:c.shouldCreateUser)!==null&&r!==void 0?r:!0,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken}},redirectTo:c==null?void 0:c.emailRedirectTo});return{data:{user:null,session:null},error:u}}if("phone"in e){const{phone:a,options:c}=e,{error:u}=yield D(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:a,data:(s=c==null?void 0:c.data)!==null&&s!==void 0?s:{},create_user:(i=c==null?void 0:c.shouldCreateUser)!==null&&i!==void 0?i:!0,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},channel:(o=c==null?void 0:c.channel)!==null&&o!==void 0?o:"sms"}});return{data:{user:null,session:null},error:u}}throw new En("You must provide either an email or phone number.")}catch(a){if(C(a))return{data:{user:null,session:null},error:a};throw a}})}verifyOtp(e){var t,r;return k(this,void 0,void 0,function*(){try{yield this._removeSession();const{data:s,error:i}=yield D(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:(t=e.options)===null||t===void 0?void 0:t.captchaToken}}),redirectTo:(r=e.options)===null||r===void 0?void 0:r.redirectTo,xform:it});if(i)throw i;if(!s)throw"An error occurred on token verification.";const o=s.session,a=s.user;return o!=null&&o.access_token&&(yield this._saveSession(o),this._notifyAllSubscribers("SIGNED_IN",o)),{data:{user:a,session:o},error:null}}catch(s){if(C(s))return{data:{user:null,session:null},error:s};throw s}})}signInWithSSO(e){var t,r,s;return k(this,void 0,void 0,function*(){try{return yield this._removeSession(),yield D(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in e?{provider_id:e.providerId}:null),"domain"in e?{domain:e.domain}:null),{redirect_to:(r=(t=e.options)===null||t===void 0?void 0:t.redirectTo)!==null&&r!==void 0?r:void 0}),!((s=e==null?void 0:e.options)===null||s===void 0)&&s.captchaToken?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0}),headers:this.headers,xform:Jc})}catch(i){if(C(i))return{data:null,error:i};throw i}})}getSession(){return k(this,void 0,void 0,function*(){yield this.initializePromise;let e=null;if(this.persistSession){const i=yield Vs(this.storage,this.storageKey);i!==null&&(this._isValidSession(i)?e=i:yield this._removeSession())}else e=this.inMemorySession;if(!e)return{data:{session:null},error:null};if(!(e.expires_at?e.expires_at<=Date.now()/1e3:!1))return{data:{session:e},error:null};const{session:r,error:s}=yield this._callRefreshToken(e.refresh_token);return s?{data:{session:null},error:s}:{data:{session:r},error:null}})}getUser(e){var t,r;return k(this,void 0,void 0,function*(){try{if(!e){const{data:s,error:i}=yield this.getSession();if(i)throw i;e=(r=(t=s.session)===null||t===void 0?void 0:t.access_token)!==null&&r!==void 0?r:void 0}return yield D(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:e,xform:lt})}catch(s){if(C(s))return{data:{user:null},error:s};throw s}})}updateUser(e,t={}){return k(this,void 0,void 0,function*(){try{const{data:r,error:s}=yield this.getSession();if(s)throw s;if(!r.session)throw new Gt;const i=r.session,{data:o,error:a}=yield D(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:t==null?void 0:t.emailRedirectTo,body:e,jwt:i.access_token,xform:lt});if(a)throw a;return i.user=o.user,yield this._saveSession(i),this._notifyAllSubscribers("USER_UPDATED",i),{data:{user:i.user},error:null}}catch(r){if(C(r))return{data:{user:null},error:r};throw r}})}_decodeJWT(e){return Js(e)}setSession(e){return k(this,void 0,void 0,function*(){try{if(!e.access_token||!e.refresh_token)throw new Gt;const t=Date.now()/1e3;let r=t,s=!0,i=null;const o=Js(e.access_token);if(o.exp&&(r=o.exp,s=r<=t),s){const{session:a,error:c}=yield this._callRefreshToken(e.refresh_token);if(c)return{data:{user:null,session:null},error:c};if(!a)return{data:{user:null,session:null},error:null};i=a}else{const{data:a,error:c}=yield this.getUser(e.access_token);if(c)throw c;i={access_token:e.access_token,refresh_token:e.refresh_token,user:a.user,token_type:"bearer",expires_in:r-t,expires_at:r},yield this._saveSession(i),this._notifyAllSubscribers("SIGNED_IN",i)}return{data:{user:i.user,session:i},error:null}}catch(t){if(C(t))return{data:{session:null,user:null},error:t};throw t}})}refreshSession(e){var t;return k(this,void 0,void 0,function*(){try{if(!e){const{data:i,error:o}=yield this.getSession();if(o)throw o;e=(t=i.session)!==null&&t!==void 0?t:void 0}if(!(e!=null&&e.refresh_token))throw new Gt;const{session:r,error:s}=yield this._callRefreshToken(e.refresh_token);return s?{data:{user:null,session:null},error:s}:r?{data:{user:r.user,session:r},error:null}:{data:{user:null,session:null},error:null}}catch(r){if(C(r))return{data:{user:null,session:null},error:r};throw r}})}_getSessionFromUrl(){return k(this,void 0,void 0,function*(){try{if(!ot())throw new Pe("No browser detected.");if(!this._isImplicitGrantFlow())throw new Pe("Not a valid implicit grant flow url.");const e=le("error_description");if(e){const w=le("error_code");if(!w)throw new Pe("No error_code detected.");const b=le("error");throw b?new Pe(e,{error:b,code:w}):new Pe("No error detected.")}const t=le("provider_token"),r=le("provider_refresh_token"),s=le("access_token");if(!s)throw new Pe("No access_token detected.");const i=le("expires_in");if(!i)throw new Pe("No expires_in detected.");const o=le("refresh_token");if(!o)throw new Pe("No refresh_token detected.");const a=le("token_type");if(!a)throw new Pe("No token_type detected.");const u=Math.round(Date.now()/1e3)+parseInt(i),{data:l,error:h}=yield this.getUser(s);if(h)throw h;const p=l.user,f={provider_token:t,provider_refresh_token:r,access_token:s,expires_in:parseInt(i),expires_at:u,refresh_token:o,token_type:a,user:p},d=le("type");return window.location.hash="",{data:{session:f,redirectType:d},error:null}}catch(e){if(C(e))return{data:{session:null,redirectType:null},error:e};throw e}})}_isImplicitGrantFlow(){return ot()&&(Boolean(le("access_token"))||Boolean(le("error_description")))}signOut(){var e;return k(this,void 0,void 0,function*(){const{data:t,error:r}=yield this.getSession();if(r)return{error:r};const s=(e=t.session)===null||e===void 0?void 0:e.access_token;if(s){const{error:i}=yield this.admin.signOut(s);if(i&&!(Mc(i)&&(i.status===404||i.status===401)))return{error:i}}return yield this._removeSession(),this._notifyAllSubscribers("SIGNED_OUT",null),{error:null}})}onAuthStateChange(e){const t=Cc(),r={id:t,callback:e,unsubscribe:()=>{this.stateChangeEmitters.delete(t)}};return this.stateChangeEmitters.set(t,r),{data:{subscription:r}}}resetPasswordForEmail(e,t={}){return k(this,void 0,void 0,function*(){try{return yield D(this.fetch,"POST",`${this.url}/recover`,{body:{email:e,gotrue_meta_security:{captcha_token:t.captchaToken}},headers:this.headers,redirectTo:t.redirectTo})}catch(r){if(C(r))return{data:null,error:r};throw r}})}_refreshAccessToken(e){return k(this,void 0,void 0,function*(){try{const t=Date.now();return yield jc(r=>k(this,void 0,void 0,function*(){return yield Lc(r*200),yield D(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:it})}),(r,s,i)=>i&&i.error&&i.error instanceof Dn&&Date.now()+(r+1)*200-t<xn)}catch(t){if(C(t))return{data:{session:null,user:null},error:t};throw t}})}_isValidSession(e){return typeof e=="object"&&e!==null&&"access_token"in e&&"refresh_token"in e&&"expires_at"in e}_handleProviderSignIn(e,t={}){const r=this._getUrlForProvider(e,{redirectTo:t.redirectTo,scopes:t.scopes,queryParams:t.queryParams});return ot()&&!t.skipBrowserRedirect&&window.location.assign(r),{data:{provider:e,url:r},error:null}}_recoverAndRefresh(){var e;return k(this,void 0,void 0,function*(){try{const t=yield Vs(this.storage,this.storageKey);if(!this._isValidSession(t)){t!==null&&(yield this._removeSession());return}const r=Math.round(Date.now()/1e3);if(((e=t.expires_at)!==null&&e!==void 0?e:1/0)<r+ru)if(this.autoRefreshToken&&t.refresh_token){const{error:s}=yield this._callRefreshToken(t.refresh_token);s&&(console.log(s.message),yield this._removeSession())}else yield this._removeSession();else this.persistSession&&(yield this._saveSession(t)),this._notifyAllSubscribers("SIGNED_IN",t)}catch(t){console.error(t);return}})}_callRefreshToken(e){var t,r;return k(this,void 0,void 0,function*(){if(this.refreshingDeferred)return this.refreshingDeferred.promise;try{if(this.refreshingDeferred=new Kr,!e)throw new Gt;const{data:s,error:i}=yield this._refreshAccessToken(e);if(i)throw i;if(!s.session)throw new Gt;yield this._saveSession(s.session),this._notifyAllSubscribers("TOKEN_REFRESHED",s.session);const o={session:s.session,error:null};return this.refreshingDeferred.resolve(o),o}catch(s){if(C(s)){const i={session:null,error:s};return(t=this.refreshingDeferred)===null||t===void 0||t.resolve(i),i}throw(r=this.refreshingDeferred)===null||r===void 0||r.reject(s),s}finally{this.refreshingDeferred=null}})}_notifyAllSubscribers(e,t,r=!0){this.broadcastChannel&&r&&this.broadcastChannel.postMessage({event:e,session:t}),this.stateChangeEmitters.forEach(s=>s.callback(e,t))}_saveSession(e){return k(this,void 0,void 0,function*(){this.persistSession||(this.inMemorySession=e),this.persistSession&&e.expires_at&&(yield this._persistSession(e))})}_persistSession(e){return Fc(this.storage,this.storageKey,e)}_removeSession(){return k(this,void 0,void 0,function*(){this.persistSession?yield Dc(this.storage,this.storageKey):this.inMemorySession=null})}_removeVisibilityChangedCallback(){const e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&&ot()&&(window!=null&&window.removeEventListener)&&window.removeEventListener("visibilitychange",e)}catch(t){console.error("removing visibilitychange callback failed",t)}}_startAutoRefresh(){return k(this,void 0,void 0,function*(){yield this._stopAutoRefresh();const e=setInterval(()=>this._autoRefreshTokenTick(),xn);this.autoRefreshTicker=e,e&&typeof e=="object"&&typeof e.unref=="function"&&e.unref(),yield this._autoRefreshTokenTick()})}_stopAutoRefresh(){return k(this,void 0,void 0,function*(){const e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e)})}startAutoRefresh(){return k(this,void 0,void 0,function*(){this._removeVisibilityChangedCallback(),yield this._startAutoRefresh()})}stopAutoRefresh(){return k(this,void 0,void 0,function*(){this._removeVisibilityChangedCallback(),yield this._stopAutoRefresh()})}_autoRefreshTokenTick(){return k(this,void 0,void 0,function*(){const e=Date.now();try{const{data:{session:t}}=yield this.getSession();if(!t||!t.refresh_token||!t.expires_at)return;Math.floor((t.expires_at*1e3-e)/xn)<ou&&(yield this._callRefreshToken(t.refresh_token))}catch(t){console.error("Auto refresh tick failed with error. This is likely a transient error.",t)}})}_handleVisibilityChange(){return k(this,void 0,void 0,function*(){if(!ot()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=()=>k(this,void 0,void 0,function*(){return yield this._onVisibilityChanged(!1)}),window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),yield this._onVisibilityChanged(!0)}catch(e){console.error("_handleVisibilityChange",e)}})}_onVisibilityChanged(e){return k(this,void 0,void 0,function*(){document.visibilityState==="visible"?(e||(yield this.initializePromise,yield this._recoverAndRefresh()),this.autoRefreshToken&&this._startAutoRefresh()):document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()})}_getUrlForProvider(e,t){const r=[`provider=${encodeURIComponent(e)}`];if(t!=null&&t.redirectTo&&r.push(`redirect_to=${encodeURIComponent(t.redirectTo)}`),t!=null&&t.scopes&&r.push(`scopes=${encodeURIComponent(t.scopes)}`),t!=null&&t.queryParams){const s=new URLSearchParams(t.queryParams);r.push(s.toString())}return`${this.url}/authorize?${r.join("&")}`}_unenroll(e){var t;return k(this,void 0,void 0,function*(){try{const{data:r,error:s}=yield this.getSession();return s?{data:null,error:s}:yield D(this.fetch,"DELETE",`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:(t=r==null?void 0:r.session)===null||t===void 0?void 0:t.access_token})}catch(r){if(C(r))return{data:null,error:r};throw r}})}_enroll(e){var t,r;return k(this,void 0,void 0,function*(){try{const{data:s,error:i}=yield this.getSession();if(i)return{data:null,error:i};const{data:o,error:a}=yield D(this.fetch,"POST",`${this.url}/factors`,{body:{friendly_name:e.friendlyName,factor_type:e.factorType,issuer:e.issuer},headers:this.headers,jwt:(t=s==null?void 0:s.session)===null||t===void 0?void 0:t.access_token});return a?{data:null,error:a}:(!((r=o==null?void 0:o.totp)===null||r===void 0)&&r.qr_code&&(o.totp.qr_code=`data:image/svg+xml;utf-8,${o.totp.qr_code}`),{data:o,error:null})}catch(s){if(C(s))return{data:null,error:s};throw s}})}_verify(e){var t;return k(this,void 0,void 0,function*(){try{const{data:r,error:s}=yield this.getSession();if(s)return{data:null,error:s};const{data:i,error:o}=yield D(this.fetch,"POST",`${this.url}/factors/${e.factorId}/verify`,{body:{code:e.code,challenge_id:e.challengeId},headers:this.headers,jwt:(t=r==null?void 0:r.session)===null||t===void 0?void 0:t.access_token});return o?{data:null,error:o}:(yield this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+i.expires_in},i)),this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",i),{data:i,error:o})}catch(r){if(C(r))return{data:null,error:r};throw r}})}_challenge(e){var t;return k(this,void 0,void 0,function*(){try{const{data:r,error:s}=yield this.getSession();return s?{data:null,error:s}:yield D(this.fetch,"POST",`${this.url}/factors/${e.factorId}/challenge`,{headers:this.headers,jwt:(t=r==null?void 0:r.session)===null||t===void 0?void 0:t.access_token})}catch(r){if(C(r))return{data:null,error:r};throw r}})}_challengeAndVerify(e){return k(this,void 0,void 0,function*(){const{data:t,error:r}=yield this._challenge({factorId:e.factorId});return r?{data:null,error:r}:yield this._verify({factorId:e.factorId,challengeId:t.id,code:e.code})})}_listFactors(){return k(this,void 0,void 0,function*(){const{data:{user:e},error:t}=yield this.getUser();if(t)return{data:null,error:t};const r=(e==null?void 0:e.factors)||[],s=r.filter(i=>i.factor_type==="totp"&&i.status==="verified");return{data:{all:r,totp:s},error:null}})}_getAuthenticatorAssuranceLevel(){var e,t;return k(this,void 0,void 0,function*(){const{data:{session:r},error:s}=yield this.getSession();if(s)return{data:null,error:s};if(!r)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const i=this._decodeJWT(r.access_token);let o=null;i.aal&&(o=i.aal);let a=o;((t=(e=r.user.factors)===null||e===void 0?void 0:e.filter(l=>l.status==="verified"))!==null&&t!==void 0?t:[]).length>0&&(a="aal2");const u=i.amr||[];return{data:{currentLevel:o,nextLevel:a,currentAuthenticationMethods:u},error:null}})}}class cu extends au{constructor(e){super(e)}}var uu=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const lu={headers:Tc},hu={schema:"public"},fu={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0},du={};class pu{constructor(e,t,r){var s,i,o,a,c,u,l,h;if(this.supabaseUrl=e,this.supabaseKey=t,!e)throw new Error("supabaseUrl is required.");if(!t)throw new Error("supabaseKey is required.");const p=Nc(e);if(this.realtimeUrl=`${p}/realtime/v1`.replace(/^http/i,"ws"),this.authUrl=`${p}/auth/v1`,this.storageUrl=`${p}/storage/v1`,p.match(/(supabase\.co)|(supabase\.in)/)){const O=p.split(".");this.functionsUrl=`${O[0]}.functions.${O[1]}.${O[2]}`}else this.functionsUrl=`${p}/functions/v1`;const d=`sb-${new URL(this.authUrl).hostname.split(".")[0]}-auth-token`,w={db:hu,realtime:du,auth:Object.assign(Object.assign({},fu),{storageKey:d}),global:lu},b=Pc(r??{},w);this.storageKey=(i=(s=b.auth)===null||s===void 0?void 0:s.storageKey)!==null&&i!==void 0?i:"",this.headers=(a=(o=b.global)===null||o===void 0?void 0:o.headers)!==null&&a!==void 0?a:{},this.auth=this._initSupabaseAuthClient((c=b.auth)!==null&&c!==void 0?c:{},this.headers,(u=b.global)===null||u===void 0?void 0:u.fetch),this.fetch=Rc(t,this._getAccessToken.bind(this),(l=b.global)===null||l===void 0?void 0:l.fetch),this.realtime=this._initRealtimeClient(Object.assign({headers:this.headers},b.realtime)),this.rest=new Ra(`${p}/rest/v1`,{headers:this.headers,schema:(h=b.db)===null||h===void 0?void 0:h.schema,fetch:this.fetch}),this._listenForAuthEvents()}get functions(){return new va(this.functionsUrl,{headers:this.headers,customFetch:this.fetch})}get storage(){return new xc(this.storageUrl,this.headers,this.fetch)}from(e){return this.rest.from(e)}rpc(e,t={},r){return this.rest.rpc(e,t,r)}channel(e,t={config:{}}){return this.realtime.channel(e,t)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}_getAccessToken(){var e,t;return uu(this,void 0,void 0,function*(){const{data:r}=yield this.auth.getSession();return(t=(e=r.session)===null||e===void 0?void 0:e.access_token)!==null&&t!==void 0?t:null})}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:t,detectSessionInUrl:r,storage:s,storageKey:i},o,a){const c={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new cu({url:this.authUrl,headers:Object.assign(Object.assign({},c),o),storageKey:i,autoRefreshToken:e,persistSession:t,detectSessionInUrl:r,storage:s,fetch:a})}_initRealtimeClient(e){return new hc(this.realtimeUrl,Object.assign(Object.assign({},e),{params:Object.assign({apikey:this.supabaseKey},e==null?void 0:e.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((t,r)=>{this._handleTokenChanged(t,r==null?void 0:r.access_token,"CLIENT")})}_handleTokenChanged(e,t,r){(e==="TOKEN_REFRESHED"||e==="SIGNED_IN")&&this.changedAccessToken!==t?(this.realtime.setAuth(t??null),this.changedAccessToken=t):(e==="SIGNED_OUT"||e==="USER_DELETED")&&(this.realtime.setAuth(this.supabaseKey),r=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}}const yu=(n,e,t)=>new pu(n,e,t);function Ji(n,e){return function(){return n.apply(e,arguments)}}const{toString:Gi}=Object.prototype,{getPrototypeOf:us}=Object,ls=(n=>e=>{const t=Gi.call(e);return n[t]||(n[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),qe=n=>(n=n.toLowerCase(),e=>ls(e)===n),Zr=n=>e=>typeof e===n,{isArray:qt}=Array,tr=Zr("undefined");function mu(n){return n!==null&&!tr(n)&&n.constructor!==null&&!tr(n.constructor)&&et(n.constructor.isBuffer)&&n.constructor.isBuffer(n)}const Wi=qe("ArrayBuffer");function gu(n){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(n):e=n&&n.buffer&&Wi(n.buffer),e}const wu=Zr("string"),et=Zr("function"),Ki=Zr("number"),hs=n=>n!==null&&typeof n=="object",bu=n=>n===!0||n===!1,Sr=n=>{if(ls(n)!=="object")return!1;const e=us(n);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in n)&&!(Symbol.iterator in n)},vu=qe("Date"),_u=qe("File"),Eu=qe("Blob"),xu=qe("FileList"),Ou=n=>hs(n)&&et(n.pipe),Tu=n=>{const e="[object FormData]";return n&&(typeof FormData=="function"&&n instanceof FormData||Gi.call(n)===e||et(n.toString)&&n.toString()===e)},Au=qe("URLSearchParams"),Su=n=>n.trim?n.trim():n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function fr(n,e,{allOwnKeys:t=!1}={}){if(n===null||typeof n>"u")return;let r,s;if(typeof n!="object"&&(n=[n]),qt(n))for(r=0,s=n.length;r<s;r++)e.call(null,n[r],r,n);else{const i=t?Object.getOwnPropertyNames(n):Object.keys(n),o=i.length;let a;for(r=0;r<o;r++)a=i[r],e.call(null,n[a],a,n)}}function Xi(n,e){e=e.toLowerCase();const t=Object.keys(n);let r=t.length,s;for(;r-- >0;)if(s=t[r],e===s.toLowerCase())return s;return null}const Zi=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),Yi=n=>!tr(n)&&n!==Zi;function Un(){const{caseless:n}=Yi(this)&&this||{},e={},t=(r,s)=>{const i=n&&Xi(e,s)||s;Sr(e[i])&&Sr(r)?e[i]=Un(e[i],r):Sr(r)?e[i]=Un({},r):qt(r)?e[i]=r.slice():e[i]=r};for(let r=0,s=arguments.length;r<s;r++)arguments[r]&&fr(arguments[r],t);return e}const ku=(n,e,t,{allOwnKeys:r}={})=>(fr(e,(s,i)=>{t&&et(s)?n[i]=Ji(s,t):n[i]=s},{allOwnKeys:r}),n),Ru=n=>(n.charCodeAt(0)===65279&&(n=n.slice(1)),n),Nu=(n,e,t,r)=>{n.prototype=Object.create(e.prototype,r),n.prototype.constructor=n,Object.defineProperty(n,"super",{value:e.prototype}),t&&Object.assign(n.prototype,t)},Pu=(n,e,t,r)=>{let s,i,o;const a={};if(e=e||{},n==null)return e;do{for(s=Object.getOwnPropertyNames(n),i=s.length;i-- >0;)o=s[i],(!r||r(o,n,e))&&!a[o]&&(e[o]=n[o],a[o]=!0);n=t!==!1&&us(n)}while(n&&(!t||t(n,e))&&n!==Object.prototype);return e},$u=(n,e,t)=>{n=String(n),(t===void 0||t>n.length)&&(t=n.length),t-=e.length;const r=n.indexOf(e,t);return r!==-1&&r===t},Cu=n=>{if(!n)return null;if(qt(n))return n;let e=n.length;if(!Ki(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=n[e];return t},Iu=(n=>e=>n&&e instanceof n)(typeof Uint8Array<"u"&&us(Uint8Array)),Fu=(n,e)=>{const r=(n&&n[Symbol.iterator]).call(n);let s;for(;(s=r.next())&&!s.done;){const i=s.value;e.call(n,i[0],i[1])}},Du=(n,e)=>{let t;const r=[];for(;(t=n.exec(e))!==null;)r.push(t);return r},Uu=qe("HTMLFormElement"),Lu=n=>n.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,r,s){return r.toUpperCase()+s}),Gs=(({hasOwnProperty:n})=>(e,t)=>n.call(e,t))(Object.prototype),ju=qe("RegExp"),Qi=(n,e)=>{const t=Object.getOwnPropertyDescriptors(n),r={};fr(t,(s,i)=>{e(s,i,n)!==!1&&(r[i]=s)}),Object.defineProperties(n,r)},Bu=n=>{Qi(n,(e,t)=>{if(et(n)&&["arguments","caller","callee"].indexOf(t)!==-1)return!1;const r=n[t];if(et(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},Mu=(n,e)=>{const t={},r=s=>{s.forEach(i=>{t[i]=!0})};return qt(n)?r(n):r(String(n).split(e)),t},Hu=()=>{},zu=(n,e)=>(n=+n,Number.isFinite(n)?n:e),On="abcdefghijklmnopqrstuvwxyz",Ws="0123456789",eo={DIGIT:Ws,ALPHA:On,ALPHA_DIGIT:On+On.toUpperCase()+Ws},qu=(n=16,e=eo.ALPHA_DIGIT)=>{let t="";const{length:r}=e;for(;n--;)t+=e[Math.random()*r|0];return t};function Vu(n){return!!(n&&et(n.append)&&n[Symbol.toStringTag]==="FormData"&&n[Symbol.iterator])}const Ju=n=>{const e=new Array(10),t=(r,s)=>{if(hs(r)){if(e.indexOf(r)>=0)return;if(!("toJSON"in r)){e[s]=r;const i=qt(r)?[]:{};return fr(r,(o,a)=>{const c=t(o,s+1);!tr(c)&&(i[a]=c)}),e[s]=void 0,i}}return r};return t(n,0)},g={isArray:qt,isArrayBuffer:Wi,isBuffer:mu,isFormData:Tu,isArrayBufferView:gu,isString:wu,isNumber:Ki,isBoolean:bu,isObject:hs,isPlainObject:Sr,isUndefined:tr,isDate:vu,isFile:_u,isBlob:Eu,isRegExp:ju,isFunction:et,isStream:Ou,isURLSearchParams:Au,isTypedArray:Iu,isFileList:xu,forEach:fr,merge:Un,extend:ku,trim:Su,stripBOM:Ru,inherits:Nu,toFlatObject:Pu,kindOf:ls,kindOfTest:qe,endsWith:$u,toArray:Cu,forEachEntry:Fu,matchAll:Du,isHTMLForm:Uu,hasOwnProperty:Gs,hasOwnProp:Gs,reduceDescriptors:Qi,freezeMethods:Bu,toObjectSet:Mu,toCamelCase:Lu,noop:Hu,toFiniteNumber:zu,findKey:Xi,global:Zi,isContextDefined:Yi,ALPHABET:eo,generateString:qu,isSpecCompliantForm:Vu,toJSONObject:Ju};function P(n,e,t,r,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=n,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),r&&(this.request=r),s&&(this.response=s)}g.inherits(P,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:g.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const to=P.prototype,ro={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(n=>{ro[n]={value:n}});Object.defineProperties(P,ro);Object.defineProperty(to,"isAxiosError",{value:!0});P.from=(n,e,t,r,s,i)=>{const o=Object.create(to);return g.toFlatObject(n,o,function(c){return c!==Error.prototype},a=>a!=="isAxiosError"),P.call(o,n.message,e,t,r,s),o.cause=n,o.name=n.name,i&&Object.assign(o,i),o};const Gu=null;function Ln(n){return g.isPlainObject(n)||g.isArray(n)}function no(n){return g.endsWith(n,"[]")?n.slice(0,-2):n}function Ks(n,e,t){return n?n.concat(e).map(function(s,i){return s=no(s),!t&&i?"["+s+"]":s}).join(t?".":""):e}function Wu(n){return g.isArray(n)&&!n.some(Ln)}const Ku=g.toFlatObject(g,{},null,function(e){return/^is[A-Z]/.test(e)});function Yr(n,e,t){if(!g.isObject(n))throw new TypeError("target must be an object");e=e||new FormData,t=g.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(w,b){return!g.isUndefined(b[w])});const r=t.metaTokens,s=t.visitor||l,i=t.dots,o=t.indexes,c=(t.Blob||typeof Blob<"u"&&Blob)&&g.isSpecCompliantForm(e);if(!g.isFunction(s))throw new TypeError("visitor must be a function");function u(d){if(d===null)return"";if(g.isDate(d))return d.toISOString();if(!c&&g.isBlob(d))throw new P("Blob is not supported. Use a Buffer instead.");return g.isArrayBuffer(d)||g.isTypedArray(d)?c&&typeof Blob=="function"?new Blob([d]):Buffer.from(d):d}function l(d,w,b){let O=d;if(d&&!b&&typeof d=="object"){if(g.endsWith(w,"{}"))w=r?w:w.slice(0,-2),d=JSON.stringify(d);else if(g.isArray(d)&&Wu(d)||(g.isFileList(d)||g.endsWith(w,"[]"))&&(O=g.toArray(d)))return w=no(w),O.forEach(function(H,U){!(g.isUndefined(H)||H===null)&&e.append(o===!0?Ks([w],U,i):o===null?w:w+"[]",u(H))}),!1}return Ln(d)?!0:(e.append(Ks(b,w,i),u(d)),!1)}const h=[],p=Object.assign(Ku,{defaultVisitor:l,convertValue:u,isVisitable:Ln});function f(d,w){if(!g.isUndefined(d)){if(h.indexOf(d)!==-1)throw Error("Circular reference detected in "+w.join("."));h.push(d),g.forEach(d,function(O,N){(!(g.isUndefined(O)||O===null)&&s.call(e,O,g.isString(N)?N.trim():N,w,p))===!0&&f(O,w?w.concat(N):[N])}),h.pop()}}if(!g.isObject(n))throw new TypeError("data must be an object");return f(n),e}function Xs(n){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(n).replace(/[!'()~]|%20|%00/g,function(r){return e[r]})}function fs(n,e){this._pairs=[],n&&Yr(n,this,e)}const so=fs.prototype;so.append=function(e,t){this._pairs.push([e,t])};so.toString=function(e){const t=e?function(r){return e.call(this,r,Xs)}:Xs;return this._pairs.map(function(s){return t(s[0])+"="+t(s[1])},"").join("&")};function Xu(n){return encodeURIComponent(n).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function io(n,e,t){if(!e)return n;const r=t&&t.encode||Xu,s=t&&t.serialize;let i;if(s?i=s(e,t):i=g.isURLSearchParams(e)?e.toString():new fs(e,t).toString(r),i){const o=n.indexOf("#");o!==-1&&(n=n.slice(0,o)),n+=(n.indexOf("?")===-1?"?":"&")+i}return n}class Zu{constructor(){this.handlers=[]}use(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){g.forEach(this.handlers,function(r){r!==null&&e(r)})}}const Zs=Zu,oo={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Yu=typeof URLSearchParams<"u"?URLSearchParams:fs,Qu=typeof FormData<"u"?FormData:null,el=typeof Blob<"u"?Blob:null,tl=(()=>{let n;return typeof navigator<"u"&&((n=navigator.product)==="ReactNative"||n==="NativeScript"||n==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),rl=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),Ne={isBrowser:!0,classes:{URLSearchParams:Yu,FormData:Qu,Blob:el},isStandardBrowserEnv:tl,isStandardBrowserWebWorkerEnv:rl,protocols:["http","https","file","blob","url","data"]};function nl(n,e){return Yr(n,new Ne.classes.URLSearchParams,Object.assign({visitor:function(t,r,s,i){return Ne.isNode&&g.isBuffer(t)?(this.append(r,t.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},e))}function sl(n){return g.matchAll(/\w+|\[(\w*)]/g,n).map(e=>e[0]==="[]"?"":e[1]||e[0])}function il(n){const e={},t=Object.keys(n);let r;const s=t.length;let i;for(r=0;r<s;r++)i=t[r],e[i]=n[i];return e}function ao(n){function e(t,r,s,i){let o=t[i++];const a=Number.isFinite(+o),c=i>=t.length;return o=!o&&g.isArray(s)?s.length:o,c?(g.hasOwnProp(s,o)?s[o]=[s[o],r]:s[o]=r,!a):((!s[o]||!g.isObject(s[o]))&&(s[o]=[]),e(t,r,s[o],i)&&g.isArray(s[o])&&(s[o]=il(s[o])),!a)}if(g.isFormData(n)&&g.isFunction(n.entries)){const t={};return g.forEachEntry(n,(r,s)=>{e(sl(r),s,t,0)}),t}return null}const ol={"Content-Type":void 0};function al(n,e,t){if(g.isString(n))try{return(e||JSON.parse)(n),g.trim(n)}catch(r){if(r.name!=="SyntaxError")throw r}return(t||JSON.stringify)(n)}const Qr={transitional:oo,adapter:["xhr","http"],transformRequest:[function(e,t){const r=t.getContentType()||"",s=r.indexOf("application/json")>-1,i=g.isObject(e);if(i&&g.isHTMLForm(e)&&(e=new FormData(e)),g.isFormData(e))return s&&s?JSON.stringify(ao(e)):e;if(g.isArrayBuffer(e)||g.isBuffer(e)||g.isStream(e)||g.isFile(e)||g.isBlob(e))return e;if(g.isArrayBufferView(e))return e.buffer;if(g.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let a;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return nl(e,this.formSerializer).toString();if((a=g.isFileList(e))||r.indexOf("multipart/form-data")>-1){const c=this.env&&this.env.FormData;return Yr(a?{"files[]":e}:e,c&&new c,this.formSerializer)}}return i||s?(t.setContentType("application/json",!1),al(e)):e}],transformResponse:[function(e){const t=this.transitional||Qr.transitional,r=t&&t.forcedJSONParsing,s=this.responseType==="json";if(e&&g.isString(e)&&(r&&!this.responseType||s)){const o=!(t&&t.silentJSONParsing)&&s;try{return JSON.parse(e)}catch(a){if(o)throw a.name==="SyntaxError"?P.from(a,P.ERR_BAD_RESPONSE,this,null,this.response):a}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ne.classes.FormData,Blob:Ne.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};g.forEach(["delete","get","head"],function(e){Qr.headers[e]={}});g.forEach(["post","put","patch"],function(e){Qr.headers[e]=g.merge(ol)});const ds=Qr,cl=g.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),ul=n=>{const e={};let t,r,s;return n&&n.split(`
|
2
|
+
`).forEach(function(o){s=o.indexOf(":"),t=o.substring(0,s).trim().toLowerCase(),r=o.substring(s+1).trim(),!(!t||e[t]&&cl[t])&&(t==="set-cookie"?e[t]?e[t].push(r):e[t]=[r]:e[t]=e[t]?e[t]+", "+r:r)}),e},Ys=Symbol("internals");function Wt(n){return n&&String(n).trim().toLowerCase()}function kr(n){return n===!1||n==null?n:g.isArray(n)?n.map(kr):String(n)}function ll(n){const e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=t.exec(n);)e[r[1]]=r[2];return e}function hl(n){return/^[-_a-zA-Z]+$/.test(n.trim())}function Tn(n,e,t,r,s){if(g.isFunction(r))return r.call(this,e,t);if(s&&(e=t),!!g.isString(e)){if(g.isString(r))return e.indexOf(r)!==-1;if(g.isRegExp(r))return r.test(e)}}function fl(n){return n.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,r)=>t.toUpperCase()+r)}function dl(n,e){const t=g.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(n,r+t,{value:function(s,i,o){return this[r].call(this,e,s,i,o)},configurable:!0})})}class en{constructor(e){e&&this.set(e)}set(e,t,r){const s=this;function i(a,c,u){const l=Wt(c);if(!l)throw new Error("header name must be a non-empty string");const h=g.findKey(s,l);(!h||s[h]===void 0||u===!0||u===void 0&&s[h]!==!1)&&(s[h||c]=kr(a))}const o=(a,c)=>g.forEach(a,(u,l)=>i(u,l,c));return g.isPlainObject(e)||e instanceof this.constructor?o(e,t):g.isString(e)&&(e=e.trim())&&!hl(e)?o(ul(e),t):e!=null&&i(t,e,r),this}get(e,t){if(e=Wt(e),e){const r=g.findKey(this,e);if(r){const s=this[r];if(!t)return s;if(t===!0)return ll(s);if(g.isFunction(t))return t.call(this,s,r);if(g.isRegExp(t))return t.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Wt(e),e){const r=g.findKey(this,e);return!!(r&&this[r]!==void 0&&(!t||Tn(this,this[r],r,t)))}return!1}delete(e,t){const r=this;let s=!1;function i(o){if(o=Wt(o),o){const a=g.findKey(r,o);a&&(!t||Tn(r,r[a],a,t))&&(delete r[a],s=!0)}}return g.isArray(e)?e.forEach(i):i(e),s}clear(e){const t=Object.keys(this);let r=t.length,s=!1;for(;r--;){const i=t[r];(!e||Tn(this,this[i],i,e,!0))&&(delete this[i],s=!0)}return s}normalize(e){const t=this,r={};return g.forEach(this,(s,i)=>{const o=g.findKey(r,i);if(o){t[o]=kr(s),delete t[i];return}const a=e?fl(i):String(i).trim();a!==i&&delete t[i],t[a]=kr(s),r[a]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return g.forEach(this,(r,s)=>{r!=null&&r!==!1&&(t[s]=e&&g.isArray(r)?r.join(", "):r)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join(`
|
3
|
+
`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const r=new this(e);return t.forEach(s=>r.set(s)),r}static accessor(e){const r=(this[Ys]=this[Ys]={accessors:{}}).accessors,s=this.prototype;function i(o){const a=Wt(o);r[a]||(dl(s,o),r[a]=!0)}return g.isArray(e)?e.forEach(i):i(e),this}}en.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);g.freezeMethods(en.prototype);g.freezeMethods(en);const je=en;function An(n,e){const t=this||ds,r=e||t,s=je.from(r.headers);let i=r.data;return g.forEach(n,function(a){i=a.call(t,i,s.normalize(),e?e.status:void 0)}),s.normalize(),i}function co(n){return!!(n&&n.__CANCEL__)}function dr(n,e,t){P.call(this,n??"canceled",P.ERR_CANCELED,e,t),this.name="CanceledError"}g.inherits(dr,P,{__CANCEL__:!0});function pl(n,e,t){const r=t.config.validateStatus;!t.status||!r||r(t.status)?n(t):e(new P("Request failed with status code "+t.status,[P.ERR_BAD_REQUEST,P.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t))}const yl=Ne.isStandardBrowserEnv?function(){return{write:function(t,r,s,i,o,a){const c=[];c.push(t+"="+encodeURIComponent(r)),g.isNumber(s)&&c.push("expires="+new Date(s).toGMTString()),g.isString(i)&&c.push("path="+i),g.isString(o)&&c.push("domain="+o),a===!0&&c.push("secure"),document.cookie=c.join("; ")},read:function(t){const r=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return r?decodeURIComponent(r[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function ml(n){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(n)}function gl(n,e){return e?n.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):n}function uo(n,e){return n&&!ml(e)?gl(n,e):e}const wl=Ne.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let r;function s(i){let o=i;return e&&(t.setAttribute("href",o),o=t.href),t.setAttribute("href",o),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:t.pathname.charAt(0)==="/"?t.pathname:"/"+t.pathname}}return r=s(window.location.href),function(o){const a=g.isString(o)?s(o):o;return a.protocol===r.protocol&&a.host===r.host}}():function(){return function(){return!0}}();function bl(n){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(n);return e&&e[1]||""}function vl(n,e){n=n||10;const t=new Array(n),r=new Array(n);let s=0,i=0,o;return e=e!==void 0?e:1e3,function(c){const u=Date.now(),l=r[i];o||(o=u),t[s]=c,r[s]=u;let h=i,p=0;for(;h!==s;)p+=t[h++],h=h%n;if(s=(s+1)%n,s===i&&(i=(i+1)%n),u-o<e)return;const f=l&&u-l;return f?Math.round(p*1e3/f):void 0}}function Qs(n,e){let t=0;const r=vl(50,250);return s=>{const i=s.loaded,o=s.lengthComputable?s.total:void 0,a=i-t,c=r(a),u=i<=o;t=i;const l={loaded:i,total:o,progress:o?i/o:void 0,bytes:a,rate:c||void 0,estimated:c&&o&&u?(o-i)/c:void 0,event:s};l[e?"download":"upload"]=!0,n(l)}}const _l=typeof XMLHttpRequest<"u",El=_l&&function(n){return new Promise(function(t,r){let s=n.data;const i=je.from(n.headers).normalize(),o=n.responseType;let a;function c(){n.cancelToken&&n.cancelToken.unsubscribe(a),n.signal&&n.signal.removeEventListener("abort",a)}g.isFormData(s)&&(Ne.isStandardBrowserEnv||Ne.isStandardBrowserWebWorkerEnv)&&i.setContentType(!1);let u=new XMLHttpRequest;if(n.auth){const f=n.auth.username||"",d=n.auth.password?unescape(encodeURIComponent(n.auth.password)):"";i.set("Authorization","Basic "+btoa(f+":"+d))}const l=uo(n.baseURL,n.url);u.open(n.method.toUpperCase(),io(l,n.params,n.paramsSerializer),!0),u.timeout=n.timeout;function h(){if(!u)return;const f=je.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders()),w={data:!o||o==="text"||o==="json"?u.responseText:u.response,status:u.status,statusText:u.statusText,headers:f,config:n,request:u};pl(function(O){t(O),c()},function(O){r(O),c()},w),u=null}if("onloadend"in u?u.onloadend=h:u.onreadystatechange=function(){!u||u.readyState!==4||u.status===0&&!(u.responseURL&&u.responseURL.indexOf("file:")===0)||setTimeout(h)},u.onabort=function(){u&&(r(new P("Request aborted",P.ECONNABORTED,n,u)),u=null)},u.onerror=function(){r(new P("Network Error",P.ERR_NETWORK,n,u)),u=null},u.ontimeout=function(){let d=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded";const w=n.transitional||oo;n.timeoutErrorMessage&&(d=n.timeoutErrorMessage),r(new P(d,w.clarifyTimeoutError?P.ETIMEDOUT:P.ECONNABORTED,n,u)),u=null},Ne.isStandardBrowserEnv){const f=(n.withCredentials||wl(l))&&n.xsrfCookieName&&yl.read(n.xsrfCookieName);f&&i.set(n.xsrfHeaderName,f)}s===void 0&&i.setContentType(null),"setRequestHeader"in u&&g.forEach(i.toJSON(),function(d,w){u.setRequestHeader(w,d)}),g.isUndefined(n.withCredentials)||(u.withCredentials=!!n.withCredentials),o&&o!=="json"&&(u.responseType=n.responseType),typeof n.onDownloadProgress=="function"&&u.addEventListener("progress",Qs(n.onDownloadProgress,!0)),typeof n.onUploadProgress=="function"&&u.upload&&u.upload.addEventListener("progress",Qs(n.onUploadProgress)),(n.cancelToken||n.signal)&&(a=f=>{u&&(r(!f||f.type?new dr(null,n,u):f),u.abort(),u=null)},n.cancelToken&&n.cancelToken.subscribe(a),n.signal&&(n.signal.aborted?a():n.signal.addEventListener("abort",a)));const p=bl(l);if(p&&Ne.protocols.indexOf(p)===-1){r(new P("Unsupported protocol "+p+":",P.ERR_BAD_REQUEST,n));return}u.send(s||null)})},Rr={http:Gu,xhr:El};g.forEach(Rr,(n,e)=>{if(n){try{Object.defineProperty(n,"name",{value:e})}catch{}Object.defineProperty(n,"adapterName",{value:e})}});const xl={getAdapter:n=>{n=g.isArray(n)?n:[n];const{length:e}=n;let t,r;for(let s=0;s<e&&(t=n[s],!(r=g.isString(t)?Rr[t.toLowerCase()]:t));s++);if(!r)throw r===!1?new P(`Adapter ${t} is not supported by the environment`,"ERR_NOT_SUPPORT"):new Error(g.hasOwnProp(Rr,t)?`Adapter '${t}' is not available in the build`:`Unknown adapter '${t}'`);if(!g.isFunction(r))throw new TypeError("adapter is not a function");return r},adapters:Rr};function Sn(n){if(n.cancelToken&&n.cancelToken.throwIfRequested(),n.signal&&n.signal.aborted)throw new dr(null,n)}function ei(n){return Sn(n),n.headers=je.from(n.headers),n.data=An.call(n,n.transformRequest),["post","put","patch"].indexOf(n.method)!==-1&&n.headers.setContentType("application/x-www-form-urlencoded",!1),xl.getAdapter(n.adapter||ds.adapter)(n).then(function(r){return Sn(n),r.data=An.call(n,n.transformResponse,r),r.headers=je.from(r.headers),r},function(r){return co(r)||(Sn(n),r&&r.response&&(r.response.data=An.call(n,n.transformResponse,r.response),r.response.headers=je.from(r.response.headers))),Promise.reject(r)})}const ti=n=>n instanceof je?n.toJSON():n;function Ht(n,e){e=e||{};const t={};function r(u,l,h){return g.isPlainObject(u)&&g.isPlainObject(l)?g.merge.call({caseless:h},u,l):g.isPlainObject(l)?g.merge({},l):g.isArray(l)?l.slice():l}function s(u,l,h){if(g.isUndefined(l)){if(!g.isUndefined(u))return r(void 0,u,h)}else return r(u,l,h)}function i(u,l){if(!g.isUndefined(l))return r(void 0,l)}function o(u,l){if(g.isUndefined(l)){if(!g.isUndefined(u))return r(void 0,u)}else return r(void 0,l)}function a(u,l,h){if(h in e)return r(u,l);if(h in n)return r(void 0,u)}const c={url:i,method:i,data:i,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:a,headers:(u,l)=>s(ti(u),ti(l),!0)};return g.forEach(Object.keys(n).concat(Object.keys(e)),function(l){const h=c[l]||s,p=h(n[l],e[l],l);g.isUndefined(p)&&h!==a||(t[l]=p)}),t}const lo="1.3.4",ps={};["object","boolean","number","function","string","symbol"].forEach((n,e)=>{ps[n]=function(r){return typeof r===n||"a"+(e<1?"n ":" ")+n}});const ri={};ps.transitional=function(e,t,r){function s(i,o){return"[Axios v"+lo+"] Transitional option '"+i+"'"+o+(r?". "+r:"")}return(i,o,a)=>{if(e===!1)throw new P(s(o," has been removed"+(t?" in "+t:"")),P.ERR_DEPRECATED);return t&&!ri[o]&&(ri[o]=!0,console.warn(s(o," has been deprecated since v"+t+" and will be removed in the near future"))),e?e(i,o,a):!0}};function Ol(n,e,t){if(typeof n!="object")throw new P("options must be an object",P.ERR_BAD_OPTION_VALUE);const r=Object.keys(n);let s=r.length;for(;s-- >0;){const i=r[s],o=e[i];if(o){const a=n[i],c=a===void 0||o(a,i,n);if(c!==!0)throw new P("option "+i+" must be "+c,P.ERR_BAD_OPTION_VALUE);continue}if(t!==!0)throw new P("Unknown option "+i,P.ERR_BAD_OPTION)}}const jn={assertOptions:Ol,validators:ps},Ge=jn.validators;class Fr{constructor(e){this.defaults=e,this.interceptors={request:new Zs,response:new Zs}}request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=Ht(this.defaults,t);const{transitional:r,paramsSerializer:s,headers:i}=t;r!==void 0&&jn.assertOptions(r,{silentJSONParsing:Ge.transitional(Ge.boolean),forcedJSONParsing:Ge.transitional(Ge.boolean),clarifyTimeoutError:Ge.transitional(Ge.boolean)},!1),s!==void 0&&jn.assertOptions(s,{encode:Ge.function,serialize:Ge.function},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o;o=i&&g.merge(i.common,i[t.method]),o&&g.forEach(["delete","get","head","post","put","patch","common"],d=>{delete i[d]}),t.headers=je.concat(o,i);const a=[];let c=!0;this.interceptors.request.forEach(function(w){typeof w.runWhen=="function"&&w.runWhen(t)===!1||(c=c&&w.synchronous,a.unshift(w.fulfilled,w.rejected))});const u=[];this.interceptors.response.forEach(function(w){u.push(w.fulfilled,w.rejected)});let l,h=0,p;if(!c){const d=[ei.bind(this),void 0];for(d.unshift.apply(d,a),d.push.apply(d,u),p=d.length,l=Promise.resolve(t);h<p;)l=l.then(d[h++],d[h++]);return l}p=a.length;let f=t;for(h=0;h<p;){const d=a[h++],w=a[h++];try{f=d(f)}catch(b){w.call(this,b);break}}try{l=ei.call(this,f)}catch(d){return Promise.reject(d)}for(h=0,p=u.length;h<p;)l=l.then(u[h++],u[h++]);return l}getUri(e){e=Ht(this.defaults,e);const t=uo(e.baseURL,e.url);return io(t,e.params,e.paramsSerializer)}}g.forEach(["delete","get","head","options"],function(e){Fr.prototype[e]=function(t,r){return this.request(Ht(r||{},{method:e,url:t,data:(r||{}).data}))}});g.forEach(["post","put","patch"],function(e){function t(r){return function(i,o,a){return this.request(Ht(a||{},{method:e,headers:r?{"Content-Type":"multipart/form-data"}:{},url:i,data:o}))}}Fr.prototype[e]=t(),Fr.prototype[e+"Form"]=t(!0)});const Nr=Fr;class ys{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let t;this.promise=new Promise(function(i){t=i});const r=this;this.promise.then(s=>{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](s);r._listeners=null}),this.promise.then=s=>{let i;const o=new Promise(a=>{r.subscribe(a),i=a}).then(s);return o.cancel=function(){r.unsubscribe(i)},o},e(function(i,o,a){r.reason||(r.reason=new dr(i,o,a),t(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}static source(){let e;return{token:new ys(function(s){e=s}),cancel:e}}}const Tl=ys;function Al(n){return function(t){return n.apply(null,t)}}function Sl(n){return g.isObject(n)&&n.isAxiosError===!0}const Bn={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Bn).forEach(([n,e])=>{Bn[e]=n});const kl=Bn;function ho(n){const e=new Nr(n),t=Ji(Nr.prototype.request,e);return g.extend(t,Nr.prototype,e,{allOwnKeys:!0}),g.extend(t,e,null,{allOwnKeys:!0}),t.create=function(s){return ho(Ht(n,s))},t}const q=ho(ds);q.Axios=Nr;q.CanceledError=dr;q.CancelToken=Tl;q.isCancel=co;q.VERSION=lo;q.toFormData=Yr;q.AxiosError=P;q.Cancel=q.CanceledError;q.all=function(e){return Promise.all(e)};q.spread=Al;q.isAxiosError=Sl;q.mergeConfig=Ht;q.AxiosHeaders=je;q.formToJSON=n=>ao(g.isHTMLForm(n)?new FormData(n):n);q.HttpStatusCode=kl;q.default=q;const Rl=q;function Et(n){this._maxSize=n,this.clear()}Et.prototype.clear=function(){this._size=0,this._values=Object.create(null)};Et.prototype.get=function(n){return this._values[n]};Et.prototype.set=function(n,e){return this._size>=this._maxSize&&this.clear(),n in this._values||this._size++,this._values[n]=e};var Nl=/[^.^\]^[]+|(?=\[\]|\.\.)/g,fo=/^\d+$/,Pl=/^\d/,$l=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,Cl=/^\s*(['"]?)(.*?)(\1)\s*$/,ms=512,ni=new Et(ms),si=new Et(ms),ii=new Et(ms),pt={Cache:Et,split:Mn,normalizePath:kn,setter:function(n){var e=kn(n);return si.get(n)||si.set(n,function(r,s){for(var i=0,o=e.length,a=r;i<o-1;){var c=e[i];if(c==="__proto__"||c==="constructor"||c==="prototype")return r;a=a[e[i++]]}a[e[i]]=s})},getter:function(n,e){var t=kn(n);return ii.get(n)||ii.set(n,function(s){for(var i=0,o=t.length;i<o;)if(s!=null||!e)s=s[t[i++]];else return;return s})},join:function(n){return n.reduce(function(e,t){return e+(gs(t)||fo.test(t)?"["+t+"]":(e?".":"")+t)},"")},forEach:function(n,e,t){Il(Array.isArray(n)?n:Mn(n),e,t)}};function kn(n){return ni.get(n)||ni.set(n,Mn(n).map(function(e){return e.replace(Cl,"$2")}))}function Mn(n){return n.match(Nl)||[""]}function Il(n,e,t){var r=n.length,s,i,o,a;for(i=0;i<r;i++)s=n[i],s&&(Ul(s)&&(s='"'+s+'"'),a=gs(s),o=!a&&/^\d+$/.test(s),e.call(t,s,a,o,i,n))}function gs(n){return typeof n=="string"&&n&&["'",'"'].indexOf(n.charAt(0))!==-1}function Fl(n){return n.match(Pl)&&!n.match(fo)}function Dl(n){return $l.test(n)}function Ul(n){return!gs(n)&&(Fl(n)||Dl(n))}const Ll=/[A-Z\xc0-\xd6\xd8-\xde]?[a-z\xdf-\xf6\xf8-\xff]+(?:['’](?:d|ll|m|re|s|t|ve))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde]|$)|(?:[A-Z\xc0-\xd6\xd8-\xde]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde](?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])|$)|[A-Z\xc0-\xd6\xd8-\xde]?(?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:d|ll|m|re|s|t|ve))?|[A-Z\xc0-\xd6\xd8-\xde]+(?:['’](?:D|LL|M|RE|S|T|VE))?|\d*(?:1ST|2ND|3RD|(?![123])\dTH)(?=\b|[a-z_])|\d*(?:1st|2nd|3rd|(?![123])\dth)(?=\b|[A-Z_])|\d+|(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?(?:\u200d(?:[^\ud800-\udfff]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?)*/g,tn=n=>n.match(Ll)||[],rn=n=>n[0].toUpperCase()+n.slice(1),ws=(n,e)=>tn(n).join(e).toLowerCase(),po=n=>tn(n).reduce((e,t)=>`${e}${e?t[0].toUpperCase()+t.slice(1).toLowerCase():t.toLowerCase()}`,""),jl=n=>rn(po(n)),Bl=n=>ws(n,"_"),Ml=n=>ws(n,"-"),Hl=n=>rn(ws(n," ")),zl=n=>tn(n).map(rn).join(" ");var Rn={words:tn,upperFirst:rn,camelCase:po,pascalCase:jl,snakeCase:Bl,kebabCase:Ml,sentenceCase:Hl,titleCase:zl},Dr={},ql={get exports(){return Dr},set exports(n){Dr=n}};ql.exports=function(n){return yo(Vl(n),n)};Dr.array=yo;function yo(n,e){var t=n.length,r=new Array(t),s={},i=t,o=Jl(e),a=Gl(n);for(e.forEach(function(u){if(!a.has(u[0])||!a.has(u[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});i--;)s[i]||c(n[i],i,new Set);return r;function c(u,l,h){if(h.has(u)){var p;try{p=", node was:"+JSON.stringify(u)}catch{p=""}throw new Error("Cyclic dependency"+p)}if(!a.has(u))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(u));if(!s[l]){s[l]=!0;var f=o.get(u)||new Set;if(f=Array.from(f),l=f.length){h.add(u);do{var d=f[--l];c(d,a.get(d),h)}while(l);h.delete(u)}r[--t]=u}}}function Vl(n){for(var e=new Set,t=0,r=n.length;t<r;t++){var s=n[t];e.add(s[0]),e.add(s[1])}return Array.from(e)}function Jl(n){for(var e=new Map,t=0,r=n.length;t<r;t++){var s=n[t];e.has(s[0])||e.set(s[0],new Set),e.has(s[1])||e.set(s[1],new Set),e.get(s[0]).add(s[1])}return e}function Gl(n){for(var e=new Map,t=0,r=n.length;t<r;t++)e.set(n[t],t);return e}const Wl=Object.prototype.toString,Kl=Error.prototype.toString,Xl=RegExp.prototype.toString,Zl=typeof Symbol<"u"?Symbol.prototype.toString:()=>"",Yl=/^Symbol\((.*)\)(.*)$/;function Ql(n){return n!=+n?"NaN":n===0&&1/n<0?"-0":""+n}function oi(n,e=!1){if(n==null||n===!0||n===!1)return""+n;const t=typeof n;if(t==="number")return Ql(n);if(t==="string")return e?`"${n}"`:n;if(t==="function")return"[Function "+(n.name||"anonymous")+"]";if(t==="symbol")return Zl.call(n).replace(Yl,"Symbol($1)");const r=Wl.call(n).slice(8,-1);return r==="Date"?isNaN(n.getTime())?""+n:n.toISOString(n):r==="Error"||n instanceof Error?"["+Kl.call(n)+"]":r==="RegExp"?Xl.call(n):null}function yt(n,e){let t=oi(n,e);return t!==null?t:JSON.stringify(n,function(r,s){let i=oi(this[r],e);return i!==null?i:s},2)}function mo(n){return n==null?[]:[].concat(n)}let eh=/\$\{\s*(\w+)\s*\}/g;class ce extends Error{static formatError(e,t){const r=t.label||t.path||"this";return r!==t.path&&(t=Object.assign({},t,{path:r})),typeof e=="string"?e.replace(eh,(s,i)=>yt(t[i])):typeof e=="function"?e(t):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,t,r,s){super(),this.value=void 0,this.path=void 0,this.type=void 0,this.errors=void 0,this.params=void 0,this.inner=void 0,this.name="ValidationError",this.value=t,this.path=r,this.type=s,this.errors=[],this.inner=[],mo(e).forEach(i=>{ce.isError(i)?(this.errors.push(...i.errors),this.inner=this.inner.concat(i.inner.length?i.inner:i)):this.errors.push(i)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,ce)}}let $e={default:"${path} is invalid",required:"${path} is a required field",defined:"${path} must be defined",notNull:"${path} cannot be null",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:n,type:e,value:t,originalValue:r})=>{const s=r!=null&&r!==t?` (cast from the value \`${yt(r,!0)}\`).`:".";return e!=="mixed"?`${n} must be a \`${e}\` type, but the final value was: \`${yt(t,!0)}\``+s:`${n} must match the configured type. The validated value was: \`${yt(t,!0)}\``+s}},me={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},We={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},Hn={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},zn={isValue:"${path} field must be ${value}"},qn={noUnknown:"${path} field has unspecified keys: ${unknown}"},Pr={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must have ${length} items"};Object.assign(Object.create(null),{mixed:$e,string:me,number:We,date:Hn,object:qn,array:Pr,boolean:zn});const nn=n=>n&&n.__isYupSchema__;class Ur{static fromOptions(e,t){if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:r,then:s,otherwise:i}=t,o=typeof r=="function"?r:(...a)=>a.every(c=>c===r);return new Ur(e,(a,c)=>{var u;let l=o(...a)?s:i;return(u=l==null?void 0:l(c))!=null?u:c})}constructor(e,t){this.fn=void 0,this.refs=e,this.refs=e,this.fn=t}resolve(e,t){let r=this.refs.map(i=>i.getValue(t==null?void 0:t.value,t==null?void 0:t.parent,t==null?void 0:t.context)),s=this.fn(r,e,t);if(s===void 0||s===e)return e;if(!nn(s))throw new TypeError("conditions must return a schema object");return s.resolve(t)}}const _r={context:"$",value:"."};class xt{constructor(e,t={}){if(this.key=void 0,this.isContext=void 0,this.isValue=void 0,this.isSibling=void 0,this.path=void 0,this.getter=void 0,this.map=void 0,typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===_r.context,this.isValue=this.key[0]===_r.value,this.isSibling=!this.isContext&&!this.isValue;let r=this.isContext?_r.context:this.isValue?_r.value:"";this.path=this.key.slice(r.length),this.getter=this.path&&pt.getter(this.path,!0),this.map=t.map}getValue(e,t,r){let s=this.isContext?r:this.isValue?e:t;return this.getter&&(s=this.getter(s||{})),this.map&&(s=this.map(s)),s}cast(e,t){return this.getValue(e,t==null?void 0:t.parent,t==null?void 0:t.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}}xt.prototype.__isYupRef=!0;const pe=n=>n==null;function St(n){function e({value:t,path:r="",options:s,originalValue:i,schema:o},a,c){const{name:u,test:l,params:h,message:p,skipAbsent:f}=n;let{parent:d,context:w,abortEarly:b=o.spec.abortEarly}=s;function O(M){return xt.isRef(M)?M.getValue(t,d,w):M}function N(M={}){const J=Object.assign({value:t,originalValue:i,label:o.spec.label,path:M.path||r,spec:o.spec},h,M.params);for(const Tt of Object.keys(J))J[Tt]=O(J[Tt]);const wr=new ce(ce.formatError(M.message||p,J),t,J.path,M.type||u);return wr.params=J,wr}const H=b?a:c;let U={path:r,parent:d,type:u,from:s.from,createError:N,resolve:O,options:s,originalValue:i,schema:o};const Ee=M=>{ce.isError(M)?H(M):M?c(null):H(N())},Vt=M=>{ce.isError(M)?H(M):a(M)},mr=f&&pe(t);if(!s.sync){try{Promise.resolve(mr?!0:l.call(U,t,U)).then(Ee,Vt)}catch(M){Vt(M)}return}let ye;try{var gr;if(ye=mr?!0:l.call(U,t,U),typeof((gr=ye)==null?void 0:gr.then)=="function")throw new Error(`Validation test of type: "${U.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(M){Vt(M);return}Ee(ye)}return e.OPTIONS=n,e}function th(n,e,t,r=t){let s,i,o;return e?(pt.forEach(e,(a,c,u)=>{let l=c?a.slice(1,a.length-1):a;n=n.resolve({context:r,parent:s,value:t});let h=n.type==="tuple",p=u?parseInt(l,10):0;if(n.innerType||h){if(h&&!u)throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part "${o}" must contain an index to the tuple element, e.g. "${o}[0]"`);if(t&&p>=t.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);s=t,t=t&&t[p],n=h?n.spec.types[p]:n.innerType}if(!u){if(!n.fields||!n.fields[l])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${n.type}")`);s=t,t=t&&t[l],n=n.fields[l]}i=l,o=c?"["+a+"]":"."+a}),{schema:n,parent:s,parentPath:i}):{parent:s,parentPath:e,schema:n}}class Lr extends Set{describe(){const e=[];for(const t of this.values())e.push(xt.isRef(t)?t.describe():t);return e}resolveAll(e){let t=[];for(const r of this.values())t.push(e(r));return t}clone(){return new Lr(this.values())}merge(e,t){const r=this.clone();return e.forEach(s=>r.add(s)),t.forEach(s=>r.delete(s)),r}}function $t(n,e=new Map){if(nn(n)||!n||typeof n!="object")return n;if(e.has(n))return e.get(n);let t;if(n instanceof Date)t=new Date(n.getTime()),e.set(n,t);else if(n instanceof RegExp)t=new RegExp(n),e.set(n,t);else if(Array.isArray(n)){t=new Array(n.length),e.set(n,t);for(let r=0;r<n.length;r++)t[r]=$t(n[r],e)}else if(n instanceof Map){t=new Map,e.set(n,t);for(const[r,s]of n.entries())t.set(r,$t(s,e))}else if(n instanceof Set){t=new Set,e.set(n,t);for(const r of n)t.add($t(r,e))}else if(n instanceof Object){t={},e.set(n,t);for(const[r,s]of Object.entries(n))t[r]=$t(s,e)}else throw Error(`Unable to clone ${n}`);return t}class se{constructor(e){this.type=void 0,this.deps=[],this.tests=void 0,this.transforms=void 0,this.conditions=[],this._mutate=void 0,this.internalTests={},this._whitelist=new Lr,this._blacklist=new Lr,this.exclusiveTests=Object.create(null),this._typeCheck=void 0,this.spec=void 0,this.tests=[],this.transforms=[],this.withMutation(()=>{this.typeError($e.notType)}),this.type=e.type,this._typeCheck=e.check,this.spec=Object.assign({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,optional:!0,coerce:!0},e==null?void 0:e.spec),this.withMutation(t=>{t.nonNullable()})}get _type(){return this.type}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;const t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeCheck=this._typeCheck,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.internalTests=Object.assign({},this.internalTests),t.exclusiveTests=Object.assign({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=$t(Object.assign({},this.spec,e)),t}label(e){let t=this.clone();return t.spec.label=e,t}meta(...e){if(e.length===0)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let r=e(this);return this._mutate=t,r}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,r=e.clone();const s=Object.assign({},t.spec,r.spec);return r.spec=s,r.internalTests=Object.assign({},t.internalTests,r.internalTests),r._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),r._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),r.tests=t.tests,r.exclusiveTests=t.exclusiveTests,r.withMutation(i=>{e.tests.forEach(o=>{i.test(o.OPTIONS)})}),r.transforms=[...t.transforms,...r.transforms],r}isType(e){return e==null?!!(this.spec.nullable&&e===null||this.spec.optional&&e===void 0):this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let r=t.conditions;t=t.clone(),t.conditions=[],t=r.reduce((s,i)=>i.resolve(s,e),t),t=t.resolve(e)}return t}resolveOptions(e){var t,r,s;return Object.assign({},e,{from:e.from||[],strict:(t=e.strict)!=null?t:this.spec.strict,abortEarly:(r=e.abortEarly)!=null?r:this.spec.abortEarly,recursive:(s=e.recursive)!=null?s:this.spec.recursive})}cast(e,t={}){let r=this.resolve(Object.assign({value:e},t)),s=t.assert==="ignore-optionality",i=r._cast(e,t);if(t.assert!==!1&&!r.isType(i)){if(s&&pe(i))return i;let o=yt(e),a=yt(i);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${r.type}".
|
4
4
|
|
5
5
|
attempted value: ${o}
|
6
|
-
`+(a!==o?`result of cast: ${a}`:""))}return i}_cast(e,t){let r=e===void 0?e:this.transforms.reduce((s,i)=>i.call(this,s,e,this),e);return r===void 0&&(r=this.getDefault()),r}_validate(e,t={},r,s){let{path:i,originalValue:o=e,strict:a=this.spec.strict}=t,c=e;a||(c=this._cast(c,Object.assign({assert:!1},t)));let u=[];for(let l of Object.values(this.internalTests))l&&u.push(l);this.runTests({path:i,value:c,originalValue:o,options:t,tests:u},r,l=>{if(l.length)return s(l,c);this.runTests({path:i,value:c,originalValue:o,options:t,tests:this.tests},r,s)})}runTests(e,t,r){let s=!1,{tests:i,value:o,originalValue:a,path:c,options:u}=e,l=w=>{s||(s=!0,t(w,o))},h=w=>{s||(s=!0,r(w,o))},p=i.length,f=[];if(!p)return h([]);let d={value:o,originalValue:a,path:c,options:u,schema:this};for(let w=0;w<i.length;w++){const b=i[w];b(d,l,function(R){R&&(f=f.concat(R)),--p<=0&&h(f)})}}asNestedTest({key:e,index:t,parent:r,parentPath:s,originalParent:i,options:o}){const a=e??t;if(a==null)throw TypeError("Must include `key` or `index` for nested validations");const c=typeof a=="number";let u=r[a];const l=Object.assign({},o,{strict:!0,parent:r,value:u,originalValue:i[a],key:void 0,[c?"index":"key"]:a,path:c||a.includes(".")?`${s||""}[${u?a:`"${a}"`}]`:(s?`${s}.`:"")+e});return(h,p,f)=>this.resolve(l)._validate(u,l,p,f)}validate(e,t){let r=this.resolve(Object.assign({},t,{value:e}));return new Promise((s,i)=>r._validate(e,t,(o,a)=>{ae.isError(o)&&(o.value=a),i(o)},(o,a)=>{o.length?i(new ae(o,a)):s(a)}))}validateSync(e,t){let r=this.resolve(Object.assign({},t,{value:e})),s;return r._validate(e,Object.assign({},t,{sync:!0}),(i,o)=>{throw ae.isError(i)&&(i.value=o),i},(i,o)=>{if(i.length)throw new ae(i,e);s=o}),s}isValid(e,t){return this.validate(e,t).then(()=>!0,r=>{if(ae.isError(r))return!1;throw r})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(r){if(ae.isError(r))return!1;throw r}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):Nt(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){return this.clone({strict:e})}nullability(e,t){const r=this.clone({nullable:e});return r.internalTests.nullable=At({message:t,name:"nullable",test(s){return s===null?this.schema.spec.nullable:!0}}),r}optionality(e,t){const r=this.clone({optional:e});return r.internalTests.optionality=At({message:t,name:"optionality",test(s){return s===void 0?this.schema.spec.optional:!0}}),r}optional(){return this.optionality(!0)}defined(e=Ne.defined){return this.optionality(!1,e)}nullable(){return this.nullability(!0)}nonNullable(e=Ne.notNull){return this.nullability(!1,e)}required(e=Ne.required){return this.clone().withMutation(t=>t.nonNullable(e).defined(e))}notRequired(){return this.clone().withMutation(e=>e.nullable().optional())}transform(e){let t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(e.length===1?typeof e[0]=="function"?t={test:e[0]}:t=e[0]:e.length===2?t={name:e[0],test:e[1]}:t={name:e[0],message:e[1],test:e[2]},t.message===void 0&&(t.message=Ne.default),typeof t.test!="function")throw new TypeError("`test` is a required parameters");let r=this.clone(),s=At(t),i=t.exclusive||t.name&&r.exclusiveTests[t.name]===!0;if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(r.exclusiveTests[t.name]=!!t.exclusive),r.tests=r.tests.filter(o=>!(o.OPTIONS.name===t.name&&(i||o.OPTIONS.test===s.OPTIONS.test))),r.tests.push(s),r}when(e,t){!Array.isArray(e)&&typeof e!="string"&&(t=e,e=".");let r=this.clone(),s=lo(e).map(i=>new Et(i));return s.forEach(i=>{i.isSibling&&r.deps.push(i.key)}),r.conditions.push(typeof t=="function"?new Fr(s,t):Fr.fromOptions(s,t)),r}typeError(e){let t=this.clone();return t.internalTests.typeError=At({message:e,name:"typeError",test(r){return!fe(r)&&!this.schema._typeCheck(r)?this.createError({params:{type:this.schema.type}}):!0}}),t}oneOf(e,t=Ne.oneOf){let r=this.clone();return e.forEach(s=>{r._whitelist.add(s),r._blacklist.delete(s)}),r.internalTests.whiteList=At({message:t,name:"oneOf",skipAbsent:!0,test(s){let i=this.schema._whitelist,o=i.resolveAll(this.resolve);return o.includes(s)?!0:this.createError({params:{values:Array.from(i).join(", "),resolved:o}})}}),r}notOneOf(e,t=Ne.notOneOf){let r=this.clone();return e.forEach(s=>{r._blacklist.add(s),r._whitelist.delete(s)}),r.internalTests.blacklist=At({message:t,name:"notOneOf",test(s){let i=this.schema._blacklist,o=i.resolveAll(this.resolve);return o.includes(s)?this.createError({params:{values:Array.from(i).join(", "),resolved:o}}):!0}}),r}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(e){const t=(e?this.resolve(e):this).clone(),{label:r,meta:s,optional:i,nullable:o}=t.spec;return{meta:s,label:r,optional:i,nullable:o,default:t.getDefault(e),type:t.type,oneOf:t._whitelist.describe(),notOneOf:t._blacklist.describe(),tests:t.tests.map(c=>({name:c.OPTIONS.name,params:c.OPTIONS.params})).filter((c,u,l)=>l.findIndex(h=>h.name===c.name)===u)}}}ne.prototype.__isYupSchema__=!0;for(const n of["validate","validateSync"])ne.prototype[`${n}At`]=function(e,t,r={}){const{parent:s,parentPath:i,schema:o}=Zl(this,e,t,r.context);return o[n](s&&s[i],Object.assign({},r,{parent:s,path:e}))};for(const n of["equals","is"])ne.prototype[n]=ne.prototype.oneOf;for(const n of["not","nope"])ne.prototype[n]=ne.prototype.notOneOf;const Yl=()=>!0;function ho(n){return new fo(n)}class fo extends ne{constructor(e){super(typeof e=="function"?{type:"mixed",check:e}:Object.assign({type:"mixed",check:Yl},e))}}ho.prototype=fo.prototype;function po(){return new yo}class yo extends ne{constructor(){super({type:"boolean",check(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}}),this.withMutation(()=>{this.transform((e,t,r)=>{if(r.spec.coerce&&!r.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}isTrue(e=jn.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(t){return fe(t)||t===!0}})}isFalse(e=jn.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(t){return fe(t)||t===!1}})}default(e){return super.default(e)}defined(e){return super.defined(e)}optional(){return super.optional()}required(e){return super.required(e)}notRequired(){return super.notRequired()}nullable(){return super.nullable()}nonNullable(e){return super.nonNullable(e)}strip(e){return super.strip(e)}}po.prototype=yo.prototype;let Ql=/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,eh=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,th=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,rh=n=>fe(n)||n===n.trim(),nh={}.toString();function j(){return new mo}class mo extends ne{constructor(){super({type:"string",check(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}}),this.withMutation(()=>{this.transform((e,t,r)=>{if(!r.spec.coerce||r.isType(e)||Array.isArray(e))return e;const s=e!=null&&e.toString?e.toString():e;return s===nh?e:s})})}required(e){return super.required(e).withMutation(t=>t.test({message:e||Ne.required,name:"required",skipAbsent:!0,test:r=>!!r.length}))}notRequired(){return super.notRequired().withMutation(e=>(e.tests=e.tests.filter(t=>t.OPTIONS.name!=="required"),e))}length(e,t=ye.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(r){return r.length===this.resolve(e)}})}min(e,t=ye.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(r){return r.length>=this.resolve(e)}})}max(e,t=ye.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},skipAbsent:!0,test(r){return r.length<=this.resolve(e)}})}matches(e,t){let r=!1,s,i;return t&&(typeof t=="object"?{excludeEmptyString:r=!1,message:s,name:i}=t:s=t),this.test({name:i||"matches",message:s||ye.matches,params:{regex:e},skipAbsent:!0,test:o=>o===""&&r||o.search(e)!==-1})}email(e=ye.email){return this.matches(Ql,{name:"email",message:e,excludeEmptyString:!0})}url(e=ye.url){return this.matches(eh,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=ye.uuid){return this.matches(th,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=ye.trim){return this.transform(t=>t!=null?t.trim():t).test({message:e,name:"trim",test:rh})}lowercase(e=ye.lowercase){return this.transform(t=>fe(t)?t:t.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:t=>fe(t)||t===t.toLowerCase()})}uppercase(e=ye.uppercase){return this.transform(t=>fe(t)?t:t.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:t=>fe(t)||t===t.toUpperCase()})}}j.prototype=mo.prototype;let sh=n=>n!=+n;function de(){return new go}class go extends ne{constructor(){super({type:"number",check(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!sh(e)}}),this.withMutation(()=>{this.transform((e,t,r)=>{if(!r.spec.coerce)return e;let s=e;if(typeof s=="string"){if(s=s.replace(/\s/g,""),s==="")return NaN;s=+s}return r.isType(s)?s:parseFloat(s)})})}min(e,t=Ge.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(r){return r>=this.resolve(e)}})}max(e,t=Ge.max){return this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(r){return r<=this.resolve(e)}})}lessThan(e,t=Ge.lessThan){return this.test({message:t,name:"max",exclusive:!0,params:{less:e},skipAbsent:!0,test(r){return r<this.resolve(e)}})}moreThan(e,t=Ge.moreThan){return this.test({message:t,name:"min",exclusive:!0,params:{more:e},skipAbsent:!0,test(r){return r>this.resolve(e)}})}positive(e=Ge.positive){return this.moreThan(0,e)}negative(e=Ge.negative){return this.lessThan(0,e)}integer(e=Ge.integer){return this.test({name:"integer",message:e,skipAbsent:!0,test:t=>Number.isInteger(t)})}truncate(){return this.transform(e=>fe(e)?e:e|0)}round(e){var t;let r=["ceil","floor","round","trunc"];if(e=((t=e)==null?void 0:t.toLowerCase())||"round",e==="trunc")return this.truncate();if(r.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+r.join(", "));return this.transform(s=>fe(s)?s:Math[e](s))}}de.prototype=go.prototype;var ih=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function oh(n){var e=[1,4,5,6,7,10,11],t=0,r,s;if(s=ih.exec(n)){for(var i=0,o;o=e[i];++i)s[o]=+s[o]||0;s[2]=(+s[2]||1)-1,s[3]=+s[3]||1,s[7]=s[7]?String(s[7]).substr(0,3):0,(s[8]===void 0||s[8]==="")&&(s[9]===void 0||s[9]==="")?r=+new Date(s[1],s[2],s[3],s[4],s[5],s[6],s[7]):(s[8]!=="Z"&&s[9]!==void 0&&(t=s[10]*60+s[11],s[9]==="+"&&(t=0-t)),r=Date.UTC(s[1],s[2],s[3],s[4],s[5]+t,s[6],s[7]))}else r=Date.parse?Date.parse(n):NaN;return r}let ah=new Date(""),ch=n=>Object.prototype.toString.call(n)==="[object Date]";class rn extends ne{constructor(){super({type:"date",check(e){return ch(e)&&!isNaN(e.getTime())}}),this.withMutation(()=>{this.transform((e,t,r)=>!r.spec.coerce||r.isType(e)?e:(e=oh(e),isNaN(e)?rn.INVALID_DATE:new Date(e)))})}prepareParam(e,t){let r;if(Et.isRef(e))r=e;else{let s=this.cast(e);if(!this._typeCheck(s))throw new TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);r=s}return r}min(e,t=Ln.min){let r=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(s){return s>=this.resolve(r)}})}max(e,t=Ln.max){let r=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(s){return s<=this.resolve(r)}})}}rn.INVALID_DATE=ah;rn.prototype;function uh(n,e=[]){let t=[],r=new Set,s=new Set(e.map(([o,a])=>`${o}-${a}`));function i(o,a){let c=pt.split(o)[0];r.add(c),s.has(`${a}-${c}`)||t.push([a,c])}for(const o of Object.keys(n)){let a=n[o];r.add(o),Et.isRef(a)&&a.isSibling?i(a.path,o):tn(a)&&"deps"in a&&a.deps.forEach(c=>i(c,o))}return Ir.array(Array.from(r),t).reverse()}function ni(n,e){let t=1/0;return n.some((r,s)=>{var i;if((i=e.path)!=null&&i.includes(r))return t=s,!0}),t}function wo(n){return(e,t)=>ni(n,e)-ni(n,t)}const bo=(n,e,t)=>{if(typeof n!="string")return n;let r=n;try{r=JSON.parse(n)}catch{}return t.isType(r)?r:n};function Pr(n){if("fields"in n){const e={};for(const[t,r]of Object.entries(n.fields))e[t]=Pr(r);return n.setFields(e)}if(n.type==="array"){const e=n.optional();return e.innerType&&(e.innerType=Pr(e.innerType)),e}return n.type==="tuple"?n.optional().clone({types:n.spec.types.map(Pr)}):"optional"in n?n.optional():n}const lh=(n,e)=>{const t=[...pt.normalizePath(e)];if(t.length===1)return t[0]in n;let r=t.pop(),s=pt.getter(pt.join(t),!0)(n);return!!(s&&r in s)};let si=n=>Object.prototype.toString.call(n)==="[object Object]";function hh(n,e){let t=Object.keys(n.fields);return Object.keys(e).filter(r=>t.indexOf(r)===-1)}const fh=wo([]);function et(n){return new vo(n)}class vo extends ne{constructor(e){super({type:"object",check(t){return si(t)||typeof t=="function"}}),this.fields=Object.create(null),this._sortErrors=fh,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{e&&this.shape(e)})}_cast(e,t={}){var r;let s=super._cast(e,t);if(s===void 0)return this.getDefault();if(!this._typeCheck(s))return s;let i=this.fields,o=(r=t.stripUnknown)!=null?r:this.spec.noUnknown,a=[].concat(this._nodes,Object.keys(s).filter(h=>!this._nodes.includes(h))),c={},u=Object.assign({},t,{parent:c,__validating:t.__validating||!1}),l=!1;for(const h of a){let p=i[h],f=h in s;if(p){let d,w=s[h];u.path=(t.path?`${t.path}.`:"")+h,p=p.resolve({value:w,context:t.context,parent:c});let b=p instanceof ne?p.spec:void 0,O=b==null?void 0:b.strict;if(b!=null&&b.strip){l=l||h in s;continue}d=!t.__validating||!O?p.cast(s[h],u):s[h],d!==void 0&&(c[h]=d)}else f&&!o&&(c[h]=s[h]);(f!==h in c||c[h]!==s[h])&&(l=!0)}return l?c:s}_validate(e,t={},r,s){let{from:i=[],originalValue:o=e,recursive:a=this.spec.recursive}=t;t.from=[{schema:this,value:o},...i],t.__validating=!0,t.originalValue=o,super._validate(e,t,r,(c,u)=>{if(!a||!si(u)){s(c,u);return}o=o||u;let l=[];for(let h of this._nodes){let p=this.fields[h];!p||Et.isRef(p)||l.push(p.asNestedTest({options:t,key:h,parent:u,parentPath:t.path,originalParent:o}))}this.runTests({tests:l,value:u,originalValue:o,options:t},r,h=>{s(h.sort(this._sortErrors).concat(c),u)})})}clone(e){const t=super.clone(e);return t.fields=Object.assign({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),r=t.fields;for(let[s,i]of Object.entries(this.fields)){const o=r[s];r[s]=o===void 0?i:o}return t.withMutation(s=>s.setFields(r,this._excludedEdges))}_getDefault(){if("default"in this.spec)return super._getDefault();if(!this._nodes.length)return;let e={};return this._nodes.forEach(t=>{const r=this.fields[t];e[t]=r&&"getDefault"in r?r.getDefault():void 0}),e}setFields(e,t){let r=this.clone();return r.fields=e,r._nodes=uh(e,t),r._sortErrors=wo(Object.keys(e)),t&&(r._excludedEdges=t),r}shape(e,t=[]){return this.clone().withMutation(r=>{let s=r._excludedEdges;return t.length&&(Array.isArray(t[0])||(t=[t]),s=[...r._excludedEdges,...t]),r.setFields(Object.assign(r.fields,e),s)})}partial(){const e={};for(const[t,r]of Object.entries(this.fields))e[t]="optional"in r&&r.optional instanceof Function?r.optional():r;return this.setFields(e)}deepPartial(){return Pr(this)}pick(e){const t={};for(const r of e)this.fields[r]&&(t[r]=this.fields[r]);return this.setFields(t)}omit(e){const t=Object.assign({},this.fields);for(const r of e)delete t[r];return this.setFields(t)}from(e,t,r){let s=pt.getter(e,!0);return this.transform(i=>{if(!i)return i;let o=i;return lh(i,e)&&(o=Object.assign({},i),r||delete o[e],o[t]=s(i)),o})}json(){return this.transform(bo)}noUnknown(e=!0,t=Bn.noUnknown){typeof e!="boolean"&&(t=e,e=!0);let r=this.test({name:"noUnknown",exclusive:!0,message:t,test(s){if(s==null)return!0;const i=hh(this.schema,s);return!e||i.length===0||this.createError({params:{unknown:i.join(", ")}})}});return r.spec.noUnknown=e,r}unknown(e=!0,t=Bn.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform(t=>{if(!t)return t;const r={};for(const s of Object.keys(t))r[e(s)]=t[s];return r})}camelCase(){return this.transformKeys(Tn.camelCase)}snakeCase(){return this.transformKeys(Tn.snakeCase)}constantCase(){return this.transformKeys(e=>Tn.snakeCase(e).toUpperCase())}describe(e){let t=super.describe(e);t.fields={};for(const[s,i]of Object.entries(this.fields)){var r;let o=e;(r=o)!=null&&r.value&&(o=Object.assign({},o,{parent:o.value,value:o.value[s]})),t.fields[s]=i.describe(o)}return t}}et.prototype=vo.prototype;function Mt(n){return new _o(n)}class _o extends ne{constructor(e){super({type:"array",check(t){return Array.isArray(t)}}),this.innerType=void 0,this.innerType=e}_cast(e,t){const r=super._cast(e,t);if(!this._typeCheck(r)||!this.innerType)return r;let s=!1;const i=r.map((o,a)=>{const c=this.innerType.cast(o,Object.assign({},t,{path:`${t.path||""}[${a}]`}));return c!==o&&(s=!0),c});return s?i:r}_validate(e,t={},r,s){var i;let o=this.innerType,a=(i=t.recursive)!=null?i:this.spec.recursive;t.originalValue!=null&&t.originalValue,super._validate(e,t,r,(c,u)=>{var l;if(!a||!o||!this._typeCheck(u)){s(c,u);return}let h=new Array(u.length);for(let f=0;f<u.length;f++){var p;h[f]=o.asNestedTest({options:t,index:f,parent:u,parentPath:t.path,originalParent:(p=t.originalValue)!=null?p:e})}this.runTests({value:u,tests:h,originalValue:(l=t.originalValue)!=null?l:e,options:t},r,f=>s(f.concat(c),u))})}clone(e){const t=super.clone(e);return t.innerType=this.innerType,t}json(){return this.transform(bo)}concat(e){let t=super.concat(e);return t.innerType=this.innerType,e.innerType&&(t.innerType=t.innerType?t.innerType.concat(e.innerType):e.innerType),t}of(e){let t=this.clone();if(!tn(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+yt(e));return t.innerType=e,t}length(e,t=Rr.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(r){return r.length===this.resolve(e)}})}min(e,t){return t=t||Rr.min,this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(r){return r.length>=this.resolve(e)}})}max(e,t){return t=t||Rr.max,this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(r){return r.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,t)=>this._typeCheck(e)?e:t==null?[]:[].concat(t))}compact(e){let t=e?(r,s,i)=>!e(r,s,i):r=>!!r;return this.transform(r=>r!=null?r.filter(t):r)}describe(e){let t=super.describe(e);if(this.innerType){var r;let s=e;(r=s)!=null&&r.value&&(s=Object.assign({},s,{parent:s.value,value:s.value[0]})),t.innerType=this.innerType.describe(e)}return t}}Mt.prototype=_o.prototype;const dh="notify_discord_webhook";class ys{static SimpleToRaw(e){return{name:"",notify_type:dh,notify:e}}static validateCreate(e){const t=/^(https?|ftp):\/\/(-\.)?([^\s/?.#]+\.?)+([^\s.?#]+)?(\?\S*)?$/;return et({url:j().matches(t,"url is not a valid url").required(),username:j(),avatar_url:j().matches(t,"url is not a valid url"),message:j().required()}).validate(e)}}class Eo{static SimpleToRaw(e,t){switch(e){case"Discord":return ys.SimpleToRaw(t)}}}const ph="handler_function_call";class ms{static SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:ph,handler:r}}static validateCreate(e){const t=([s],i)=>s==="true"?i.notRequired():i.required();return et({address:j().required(),abi:Mt().required(),nBlocks:de().min(10),condition:j().oneOf([">",">=","<","<=","=","true"]),constant:de().min(0).when("condition",t),responseArgIndex:de().min(0).when("condition",t),responseArgDecimals:de().min(0).when("condition",t)}).validate(e)}}const yh="handler_onchain_event";class gs{static SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:yh,handler:r}}static validateCreate(e){const t=([s],i)=>s==="true"?i.notRequired():i.required();return et({address:j().required(),event:j().required(),abi:Mt().required(),condition:j().oneOf([">",">=","<","<=","=","true"]),constant:de().min(0).when("condition",t),paramsIndex:de().min(0).when("condition",t),paramsDecimals:de().min(0).when("condition",t)}).validate(e)}}const mh="6.1.0";function gh(n,e,t){const r=e.split("|").map(i=>i.trim());for(let i=0;i<r.length;i++)switch(e){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof n===e)return}const s=new Error(`invalid value for type ${e}`);throw s.code="INVALID_ARGUMENT",s.argument=`value.${t}`,s.value=n,s}async function xo(n){const e=Object.keys(n);return(await Promise.all(e.map(r=>Promise.resolve(n[r])))).reduce((r,s,i)=>(r[e[i]]=s,r),{})}function k(n,e,t){for(let r in e){let s=e[r];const i=t?t[r]:null;i&&gh(s,i,r),Object.defineProperty(n,r,{enumerable:!0,value:s,writable:!1})}}function $t(n){if(n==null)return"null";if(Array.isArray(n))return"[ "+n.map($t).join(", ")+" ]";if(n instanceof Uint8Array){const e="0123456789abcdef";let t="0x";for(let r=0;r<n.length;r++)t+=e[n[r]>>4],t+=e[n[r]&15];return t}if(typeof n=="object"&&typeof n.toJSON=="function")return $t(n.toJSON());switch(typeof n){case"boolean":case"symbol":return n.toString();case"bigint":return BigInt(n).toString();case"number":return n.toString();case"string":return JSON.stringify(n);case"object":{const e=Object.keys(n);return e.sort(),"{ "+e.map(t=>`${$t(t)}: ${$t(n[t])}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function Ur(n,e){return n&&n.code===e}function Oo(n){return Ur(n,"CALL_EXCEPTION")}function nn(n,e,t){{const s=[];if(t){if("message"in t||"code"in t||"name"in t)throw new Error(`value will overwrite populated values: ${$t(t)}`);for(const i in t){const o=t[i];s.push(i+"="+$t(o))}}s.push(`code=${e}`),s.push(`version=${mh}`),s.length&&(n+=" ("+s.join(", ")+")")}let r;switch(e){case"INVALID_ARGUMENT":r=new TypeError(n);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":r=new RangeError(n);break;default:r=new Error(n)}return k(r,{code:e}),t&&Object.assign(r,t),r}function T(n,e,t,r){if(!n)throw nn(e,t,r)}function E(n,e,t,r){T(n,e,"INVALID_ARGUMENT",{argument:t,value:r})}function To(n,e,t){t==null&&(t=""),t&&(t=": "+t),T(n>=e,"missing arguemnt"+t,"MISSING_ARGUMENT",{count:n,expectedCount:e}),T(n<=e,"too many arguemnts"+t,"UNEXPECTED_ARGUMENT",{count:n,expectedCount:e})}const wh=["NFD","NFC","NFKD","NFKC"].reduce((n,e)=>{try{if("test".normalize(e)!=="test")throw new Error("bad");if(e==="NFD"){const t=String.fromCharCode(233).normalize("NFD"),r=String.fromCharCode(101,769);if(t!==r)throw new Error("broken")}n.push(e)}catch{}return n},[]);function bh(n){T(wh.indexOf(n)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:n}})}function ws(n,e,t){if(t==null&&(t=""),n!==e){let r=t,s="new";t&&(r+=".",s+=" "+t),T(!1,`private constructor; use ${r}from* methods`,"UNSUPPORTED_OPERATION",{operation:s})}}function Ao(n,e,t){if(n instanceof Uint8Array)return t?new Uint8Array(n):n;if(typeof n=="string"&&n.match(/^0x([0-9a-f][0-9a-f])*$/i)){const r=new Uint8Array((n.length-2)/2);let s=2;for(let i=0;i<r.length;i++)r[i]=parseInt(n.substring(s,s+2),16),s+=2;return r}E(!1,"invalid BytesLike value",e||"value",n)}function He(n,e){return Ao(n,e,!1)}function je(n,e){return Ao(n,e,!0)}function Ye(n,e){return!(typeof n!="string"||!n.match(/^0x[0-9A-Fa-f]*$/)||typeof e=="number"&&n.length!==2+2*e||e===!0&&n.length%2!==0)}const ii="0123456789abcdef";function q(n){const e=He(n);let t="0x";for(let r=0;r<e.length;r++){const s=e[r];t+=ii[(s&240)>>4]+ii[s&15]}return t}function Ft(n){return"0x"+n.map(e=>q(e).substring(2)).join("")}function St(n,e,t){const r=He(n);return t!=null&&t>r.length&&T(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:r,length:r.length,offset:t}),q(r.slice(e??0,t??r.length))}function vh(n,e,t){const r=He(n);T(e>=r.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(r),length:e,offset:e+1});const s=new Uint8Array(e);return s.fill(0),t?s.set(r,e-r.length):s.set(r,0),q(s)}function _h(n,e){return vh(n,e,!0)}const sn=BigInt(0),we=BigInt(1),Ct=9007199254740991;function Eh(n,e){const t=on(n,"value"),r=BigInt(Ve(e,"width"));if(T(t>>r===sn,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:n}),t>>r-we){const s=(we<<r)-we;return-((~t&s)+we)}return t}function xh(n,e){let t=xt(n,"value");const r=BigInt(Ve(e,"width")),s=we<<r-we;if(t<sn){t=-t,T(t<=s,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:n});const i=(we<<r)-we;return(~t&i)+we}else T(t<s,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:n});return t}function vr(n,e){const t=on(n,"value"),r=BigInt(Ve(e,"bits"));return t&(we<<r)-we}function xt(n,e){switch(typeof n){case"bigint":return n;case"number":return E(Number.isInteger(n),"underflow",e||"value",n),E(n>=-Ct&&n<=Ct,"overflow",e||"value",n),BigInt(n);case"string":try{if(n==="")throw new Error("empty string");return n[0]==="-"&&n[1]!=="-"?-BigInt(n.substring(1)):BigInt(n)}catch(t){E(!1,`invalid BigNumberish string: ${t.message}`,e||"value",n)}}E(!1,"invalid BigNumberish value",e||"value",n)}function on(n,e){const t=xt(n,e);return T(t>=sn,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:n}),t}const oi="0123456789abcdef";function So(n){if(n instanceof Uint8Array){let e="0x0";for(const t of n)e+=oi[t>>4],e+=oi[t&15];return BigInt(e)}return xt(n)}function Ve(n,e){switch(typeof n){case"bigint":return E(n>=-Ct&&n<=Ct,"overflow",e||"value",n),Number(n);case"number":return E(Number.isInteger(n),"underflow",e||"value",n),E(n>=-Ct&&n<=Ct,"overflow",e||"value",n),n;case"string":try{if(n==="")throw new Error("empty string");return Ve(BigInt(n),e)}catch(t){E(!1,`invalid numeric string: ${t.message}`,e||"value",n)}}E(!1,"invalid numeric value",e||"value",n)}function Oh(n){return Ve(So(n))}function ko(n,e){let r=on(n,"value").toString(16);if(e==null)r.length%2&&(r="0"+r);else{const s=Ve(e,"width");for(T(s*2>=r.length,`value exceeds width (${s} bits)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:n});r.length<s*2;)r="0"+r}return"0x"+r}function Th(n){const e=on(n,"value");if(e===sn)return new Uint8Array([]);let t=e.toString(16);t.length%2&&(t="0"+t);const r=new Uint8Array(t.length/2);for(let s=0;s<r.length;s++){const i=s*2;r[s]=parseInt(t.substring(i,i+2),16)}return r}var Dt;class Ah{constructor(e,t,r){m(this,"filter");m(this,"emitter");U(this,Dt,void 0);C(this,Dt,t),k(this,{emitter:e,filter:r})}async removeListener(){v(this,Dt)!=null&&await this.emitter.off(this.filter,v(this,Dt))}}Dt=new WeakMap;function Sh(n,e,t,r,s){E(!1,`invalid codepoint at offset ${e}; ${n}`,"bytes",t)}function Ro(n,e,t,r,s){if(n==="BAD_PREFIX"||n==="UNEXPECTED_CONTINUE"){let i=0;for(let o=e+1;o<t.length&&t[o]>>6===2;o++)i++;return i}return n==="OVERRUN"?t.length-e-1:0}function kh(n,e,t,r,s){return n==="OVERLONG"?(E(typeof s=="number","invalid bad code point for replacement","badCodepoint",s),r.push(s),0):(r.push(65533),Ro(n,e,t))}const Rh=Object.freeze({error:Sh,ignore:Ro,replace:kh});function Ph(n,e){e==null&&(e=Rh.error);const t=He(n,"bytes"),r=[];let s=0;for(;s<t.length;){const i=t[s++];if(!(i>>7)){r.push(i);continue}let o=null,a=null;if((i&224)===192)o=1,a=127;else if((i&240)===224)o=2,a=2047;else if((i&248)===240)o=3,a=65535;else{(i&192)===128?s+=e("UNEXPECTED_CONTINUE",s-1,t,r):s+=e("BAD_PREFIX",s-1,t,r);continue}if(s-1+o>=t.length){s+=e("OVERRUN",s-1,t,r);continue}let c=i&(1<<8-o-1)-1;for(let u=0;u<o;u++){let l=t[s];if((l&192)!=128){s+=e("MISSING_CONTINUE",s,t,r),c=null;break}c=c<<6|l&63,s++}if(c!==null){if(c>1114111){s+=e("OUT_OF_RANGE",s-1-o,t,r,c);continue}if(c>=55296&&c<=57343){s+=e("UTF16_SURROGATE",s-1-o,t,r,c);continue}if(c<=a){s+=e("OVERLONG",s-1-o,t,r,c);continue}r.push(c)}}return r}function Po(n,e){e!=null&&(bh(e),n=n.normalize(e));let t=[];for(let r=0;r<n.length;r++){const s=n.charCodeAt(r);if(s<128)t.push(s);else if(s<2048)t.push(s>>6|192),t.push(s&63|128);else if((s&64512)==55296){r++;const i=n.charCodeAt(r);E(r<n.length&&(i&64512)===56320,"invalid surrogate pair","str",n);const o=65536+((s&1023)<<10)+(i&1023);t.push(o>>18|240),t.push(o>>12&63|128),t.push(o>>6&63|128),t.push(o&63|128)}else t.push(s>>12|224),t.push(s>>6&63|128),t.push(s&63|128)}return new Uint8Array(t)}function Nh(n){return n.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function $h(n,e){return Nh(Ph(n,e))}const Q=32,Hn=new Uint8Array(Q),Ch=["then"],_r={};function Er(n,e){const t=new Error(`deferred error during ABI decoding triggered accessing ${n}`);throw t.error=e,t}var Ke;const Qt=class extends Array{constructor(...t){const r=t[0];let s=t[1],i=(t[2]||[]).slice(),o=!0;r!==_r&&(s=t,i=[],o=!1);super(s.length);U(this,Ke,void 0);s.forEach((c,u)=>{this[u]=c});const a=i.reduce((c,u)=>(typeof u=="string"&&c.set(u,(c.get(u)||0)+1),c),new Map);if(C(this,Ke,Object.freeze(s.map((c,u)=>{const l=i[u];return l!=null&&a.get(l)===1?l:null}))),!!o)return Object.freeze(this),new Proxy(this,{get:(c,u,l)=>{if(typeof u=="string"){if(u.match(/^[0-9]+$/)){const p=Ve(u,"%index");if(p<0||p>=this.length)throw new RangeError("out of result range");const f=c[p];return f instanceof Error&&Er(`index ${p}`,f),f}if(Ch.indexOf(u)>=0)return Reflect.get(c,u,l);const h=c[u];if(h instanceof Function)return function(...p){return h.apply(this===l?c:this,p)};if(!(u in c))return c.getValue.apply(this===l?c:this,[u])}return Reflect.get(c,u,l)}})}toArray(){const t=[];return this.forEach((r,s)=>{r instanceof Error&&Er(`index ${s}`,r),t.push(r)}),t}toObject(){return v(this,Ke).reduce((t,r,s)=>(T(r!=null,"value at index ${ index } unnamed","UNSUPPORTED_OPERATION",{operation:"toObject()"}),r in t||(t[r]=this.getValue(r)),t),{})}slice(t,r){t==null&&(t=0),t<0&&(t+=this.length,t<0&&(t=0)),r==null&&(r=this.length),r<0&&(r+=this.length,r<0&&(r=0)),r>this.length&&(r=this.length);const s=[],i=[];for(let o=t;o<r;o++)s.push(this[o]),i.push(v(this,Ke)[o]);return new Qt(_r,s,i)}filter(t,r){const s=[],i=[];for(let o=0;o<this.length;o++){const a=this[o];a instanceof Error&&Er(`index ${o}`,a),t.call(r,a,o,this)&&(s.push(a),i.push(v(this,Ke)[o]))}return new Qt(_r,s,i)}getValue(t){const r=v(this,Ke).indexOf(t);if(r===-1)return;const s=this[r];return s instanceof Error&&Er(`property ${JSON.stringify(t)}`,s.error),s}static fromItems(t,r){return new Qt(_r,t,r)}};let Lr=Qt;Ke=new WeakMap;function ai(n){let e=Th(n);return T(e.length<=Q,"value out-of-bounds","BUFFER_OVERRUN",{buffer:e,length:Q,offset:e.length}),e.length!==Q&&(e=je(Ft([Hn.slice(e.length%Q),e]))),e}class qe{constructor(e,t,r,s){m(this,"name");m(this,"type");m(this,"localName");m(this,"dynamic");k(this,{name:e,type:t,localName:r,dynamic:s},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(e,t){E(!1,e,this.localName,t)}}var De,ft,Ut,Nr;class Mn{constructor(){U(this,Ut);U(this,De,void 0);U(this,ft,void 0);C(this,De,[]),C(this,ft,0)}get data(){return Ft(v(this,De))}get length(){return v(this,ft)}appendWriter(e){return z(this,Ut,Nr).call(this,je(e.data))}writeBytes(e){let t=je(e);const r=t.length%Q;return r&&(t=je(Ft([t,Hn.slice(r)]))),z(this,Ut,Nr).call(this,t)}writeValue(e){return z(this,Ut,Nr).call(this,ai(e))}writeUpdatableValue(){const e=v(this,De).length;return v(this,De).push(Hn),C(this,ft,v(this,ft)+Q),t=>{v(this,De)[e]=ai(t)}}}De=new WeakMap,ft=new WeakMap,Ut=new WeakSet,Nr=function(e){return v(this,De).push(e),C(this,ft,v(this,ft)+e.length),e.length};var oe,he,Hr,No;const Ps=class{constructor(e,t){U(this,Hr);m(this,"allowLoose");U(this,oe,void 0);U(this,he,void 0);k(this,{allowLoose:!!t}),C(this,oe,je(e)),C(this,he,0)}get data(){return q(v(this,oe))}get dataLength(){return v(this,oe).length}get consumed(){return v(this,he)}get bytes(){return new Uint8Array(v(this,oe))}subReader(e){return new Ps(v(this,oe).slice(v(this,he)+e),this.allowLoose)}readBytes(e,t){let r=z(this,Hr,No).call(this,0,e,!!t);return C(this,he,v(this,he)+r.length),r.slice(0,e)}readValue(){return So(this.readBytes(Q))}readIndex(){return Oh(this.readBytes(Q))}};let zn=Ps;oe=new WeakMap,he=new WeakMap,Hr=new WeakSet,No=function(e,t,r){let s=Math.ceil(t/Q)*Q;return v(this,he)+s>v(this,oe).length&&(this.allowLoose&&r&&v(this,he)+t<=v(this,oe).length?s=t:T(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:je(v(this,oe)),length:v(this,oe).length,offset:v(this,he)+s})),v(this,oe).slice(v(this,he),v(this,he)+s)};function Vn(n){if(!Number.isSafeInteger(n)||n<0)throw new Error(`Wrong positive integer: ${n}`)}function Ih(n){if(typeof n!="boolean")throw new Error(`Expected boolean, not ${n}`)}function $o(n,...e){if(!(n instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(e.length>0&&!e.includes(n.length))throw new TypeError(`Expected Uint8Array of length ${e}, not of length=${n.length}`)}function Fh(n){if(typeof n!="function"||typeof n.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Vn(n.outputLen),Vn(n.blockLen)}function Dh(n,e=!0){if(n.destroyed)throw new Error("Hash instance has been destroyed");if(e&&n.finished)throw new Error("Hash#digest() has already been called")}function Uh(n,e){$o(n);const t=e.outputLen;if(n.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}const kt={number:Vn,bool:Ih,bytes:$o,hash:Fh,exists:Dh,output:Uh};/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Lh=n=>new Uint32Array(n.buffer,n.byteOffset,Math.floor(n.byteLength/4)),jh=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!jh)throw new Error("Non little-endian hardware is not supported");Array.from({length:256},(n,e)=>e.toString(16).padStart(2,"0"));function Bh(n){if(typeof n!="string")throw new TypeError(`utf8ToBytes expected string, got ${typeof n}`);return new TextEncoder().encode(n)}function bs(n){if(typeof n=="string"&&(n=Bh(n)),!(n instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof n})`);return n}class Hh{clone(){return this._cloneInto()}}function Mh(n){const e=r=>n().update(bs(r)).digest(),t=n();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>n(),e}function zh(n){const e=(r,s)=>n(s).update(bs(r)).digest(),t=n({});return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=r=>n(r),e}const xr=BigInt(2**32-1),qn=BigInt(32);function Co(n,e=!1){return e?{h:Number(n&xr),l:Number(n>>qn&xr)}:{h:Number(n>>qn&xr)|0,l:Number(n&xr)|0}}function Vh(n,e=!1){let t=new Uint32Array(n.length),r=new Uint32Array(n.length);for(let s=0;s<n.length;s++){const{h:i,l:o}=Co(n[s],e);[t[s],r[s]]=[i,o]}return[t,r]}const qh=(n,e)=>BigInt(n>>>0)<<qn|BigInt(e>>>0),Jh=(n,e,t)=>n>>>t,Gh=(n,e,t)=>n<<32-t|e>>>t,Wh=(n,e,t)=>n>>>t|e<<32-t,Kh=(n,e,t)=>n<<32-t|e>>>t,Xh=(n,e,t)=>n<<64-t|e>>>t-32,Zh=(n,e,t)=>n>>>t-32|e<<64-t,Yh=(n,e)=>e,Qh=(n,e)=>n,ef=(n,e,t)=>n<<t|e>>>32-t,tf=(n,e,t)=>e<<t|n>>>32-t,rf=(n,e,t)=>e<<t-32|n>>>64-t,nf=(n,e,t)=>n<<t-32|e>>>64-t;function sf(n,e,t,r){const s=(e>>>0)+(r>>>0);return{h:n+t+(s/2**32|0)|0,l:s|0}}const of=(n,e,t)=>(n>>>0)+(e>>>0)+(t>>>0),af=(n,e,t,r)=>e+t+r+(n/2**32|0)|0,cf=(n,e,t,r)=>(n>>>0)+(e>>>0)+(t>>>0)+(r>>>0),uf=(n,e,t,r,s)=>e+t+r+s+(n/2**32|0)|0,lf=(n,e,t,r,s)=>(n>>>0)+(e>>>0)+(t>>>0)+(r>>>0)+(s>>>0),hf=(n,e,t,r,s,i)=>e+t+r+s+i+(n/2**32|0)|0,rr={fromBig:Co,split:Vh,toBig:qh,shrSH:Jh,shrSL:Gh,rotrSH:Wh,rotrSL:Kh,rotrBH:Xh,rotrBL:Zh,rotr32H:Yh,rotr32L:Qh,rotlSH:ef,rotlSL:tf,rotlBH:rf,rotlBL:nf,add:sf,add3L:of,add3H:af,add4L:cf,add4H:uf,add5H:hf,add5L:lf},[Io,Fo,Do]=[[],[],[]],ff=BigInt(0),Kt=BigInt(1),df=BigInt(2),pf=BigInt(7),yf=BigInt(256),mf=BigInt(113);for(let n=0,e=Kt,t=1,r=0;n<24;n++){[t,r]=[r,(2*t+3*r)%5],Io.push(2*(5*r+t)),Fo.push((n+1)*(n+2)/2%64);let s=ff;for(let i=0;i<7;i++)e=(e<<Kt^(e>>pf)*mf)%yf,e&df&&(s^=Kt<<(Kt<<BigInt(i))-Kt);Do.push(s)}const[gf,wf]=rr.split(Do,!0),ci=(n,e,t)=>t>32?rr.rotlBH(n,e,t):rr.rotlSH(n,e,t),ui=(n,e,t)=>t>32?rr.rotlBL(n,e,t):rr.rotlSL(n,e,t);function bf(n,e=24){const t=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let o=0;o<10;o++)t[o]=n[o]^n[o+10]^n[o+20]^n[o+30]^n[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,u=t[c],l=t[c+1],h=ci(u,l,1)^t[a],p=ui(u,l,1)^t[a+1];for(let f=0;f<50;f+=10)n[o+f]^=h,n[o+f+1]^=p}let s=n[2],i=n[3];for(let o=0;o<24;o++){const a=Fo[o],c=ci(s,i,a),u=ui(s,i,a),l=Io[o];s=n[l],i=n[l+1],n[l]=c,n[l+1]=u}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=n[o+a];for(let a=0;a<10;a++)n[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}n[0]^=gf[r],n[1]^=wf[r]}t.fill(0)}class an extends Hh{constructor(e,t,r,s=!1,i=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=s,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,kt.number(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Lh(this.state)}keccak(){bf(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){kt.exists(this);const{blockLen:t,state:r}=this;e=bs(e);const s=e.length;for(let i=0;i<s;){const o=Math.min(t-this.pos,s-i);for(let a=0;a<o;a++)r[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:r,blockLen:s}=this;e[r]^=t,t&128&&r===s-1&&this.keccak(),e[s-1]^=128,this.keccak()}writeInto(e){kt.exists(this,!1),kt.bytes(e),this.finish();const t=this.state,{blockLen:r}=this;for(let s=0,i=e.length;s<i;){this.posOut>=r&&this.keccak();const o=Math.min(r-this.posOut,i-s);e.set(t.subarray(this.posOut,this.posOut+o),s),this.posOut+=o,s+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return kt.number(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(kt.output(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:t,suffix:r,outputLen:s,rounds:i,enableXOF:o}=this;return e||(e=new an(t,r,s,o,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=s,e.enableXOF=o,e.destroyed=this.destroyed,e}}const rt=(n,e,t)=>Mh(()=>new an(e,n,t));rt(6,144,224/8);rt(6,136,256/8);rt(6,104,384/8);rt(6,72,512/8);rt(1,144,224/8);const vf=rt(1,136,256/8);rt(1,104,384/8);rt(1,72,512/8);const Uo=(n,e,t)=>zh((r={})=>new an(e,n,r.dkLen===void 0?t:r.dkLen,!0));Uo(31,168,128/8);Uo(31,136,256/8);let Lo=!1;const jo=function(n){return vf(n)};let Bo=jo;function tt(n){const e=He(n,"data");return q(Bo(e))}tt._=jo;tt.lock=function(){Lo=!0};tt.register=function(n){if(Lo)throw new TypeError("keccak256 is locked");Bo=n};Object.freeze(tt);const _f=BigInt(0),Ef=BigInt(36);function li(n){n=n.toLowerCase();const e=n.substring(2).split(""),t=new Uint8Array(40);for(let s=0;s<40;s++)t[s]=e[s].charCodeAt(0);const r=He(tt(t));for(let s=0;s<40;s+=2)r[s>>1]>>4>=8&&(e[s]=e[s].toUpperCase()),(r[s>>1]&15)>=8&&(e[s+1]=e[s+1].toUpperCase());return"0x"+e.join("")}const vs={};for(let n=0;n<10;n++)vs[String(n)]=String(n);for(let n=0;n<26;n++)vs[String.fromCharCode(65+n)]=String(10+n);const hi=15;function xf(n){n=n.toUpperCase(),n=n.substring(4)+n.substring(0,2)+"00";let e=n.split("").map(r=>vs[r]).join("");for(;e.length>=hi;){let r=e.substring(0,hi);e=parseInt(r,10)%97+e.substring(r.length)}let t=String(98-parseInt(e,10)%97);for(;t.length<2;)t="0"+t;return t}const Of=function(){const n={};for(let e=0;e<36;e++){const t="0123456789abcdefghijklmnopqrstuvwxyz"[e];n[t]=BigInt(e)}return n}();function Tf(n){n=n.toLowerCase();let e=_f;for(let t=0;t<n.length;t++)e=e*Ef+Of[n[t]];return e}function gt(n){if(E(typeof n=="string","invalid address","address",n),n.match(/^(0x)?[0-9a-fA-F]{40}$/)){n.startsWith("0x")||(n="0x"+n);const e=li(n);return E(!n.match(/([A-F].*[a-f])|([a-f].*[A-F])/)||e===n,"bad address checksum","address",n),e}if(n.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){E(n.substring(2,4)===xf(n),"bad icap checksum","address",n);let e=Tf(n.substring(4)).toString(16);for(;e.length<40;)e="0"+e;return li("0x"+e)}E(!1,"invalid address","address",n)}function Af(n){return n&&typeof n.getAddress=="function"}async function An(n,e){const t=await e;return(t==null||t==="0x0000000000000000000000000000000000000000")&&(T(typeof n!="string","unconfigured name","UNCONFIGURED_NAME",{value:n}),E(!1,"invalid AddressLike value; did not resolve to a value address","target",n)),gt(t)}function _s(n,e){if(typeof n=="string")return n.match(/^0x[0-9a-f]{40}$/i)?gt(n):(T(e!=null,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),An(n,e.resolveName(n)));if(Af(n))return An(n,n.getAddress());if(n&&typeof n.then=="function")return An(n,n);E(!1,"unsupported addressable value","target",n)}const $e={};function x(n,e){let t=!1;return e<0&&(t=!0,e*=-1),new Y($e,`${t?"":"u"}int${e}`,n,{signed:t,width:e})}function N(n,e){return new Y($e,`bytes${e||""}`,n,{size:e})}const fi=Symbol.for("_ethers_typed");var dt;const Ce=class{constructor(e,t,r,s){m(this,"type");m(this,"value");U(this,dt,void 0);m(this,"_typedSymbol");s==null&&(s=null),ws($e,e,"Typed"),k(this,{_typedSymbol:fi,type:t,value:r}),C(this,dt,s),this.format()}format(){if(this.type==="array")throw new Error("");if(this.type==="dynamicArray")throw new Error("");return this.type==="tuple"?`tuple(${this.value.map(e=>e.format()).join(",")})`:this.type}defaultValue(){return 0}minValue(){return 0}maxValue(){return 0}isBigInt(){return!!this.type.match(/^u?int[0-9]+$/)}isData(){return this.type.startsWith("bytes")}isString(){return this.type==="string"}get tupleName(){if(this.type!=="tuple")throw TypeError("not a tuple");return v(this,dt)}get arrayLength(){if(this.type!=="array")throw TypeError("not an array");return v(this,dt)===!0?-1:v(this,dt)===!1?this.value.length:null}static from(e,t){return new Ce($e,e,t)}static uint8(e){return x(e,8)}static uint16(e){return x(e,16)}static uint24(e){return x(e,24)}static uint32(e){return x(e,32)}static uint40(e){return x(e,40)}static uint48(e){return x(e,48)}static uint56(e){return x(e,56)}static uint64(e){return x(e,64)}static uint72(e){return x(e,72)}static uint80(e){return x(e,80)}static uint88(e){return x(e,88)}static uint96(e){return x(e,96)}static uint104(e){return x(e,104)}static uint112(e){return x(e,112)}static uint120(e){return x(e,120)}static uint128(e){return x(e,128)}static uint136(e){return x(e,136)}static uint144(e){return x(e,144)}static uint152(e){return x(e,152)}static uint160(e){return x(e,160)}static uint168(e){return x(e,168)}static uint176(e){return x(e,176)}static uint184(e){return x(e,184)}static uint192(e){return x(e,192)}static uint200(e){return x(e,200)}static uint208(e){return x(e,208)}static uint216(e){return x(e,216)}static uint224(e){return x(e,224)}static uint232(e){return x(e,232)}static uint240(e){return x(e,240)}static uint248(e){return x(e,248)}static uint256(e){return x(e,256)}static uint(e){return x(e,256)}static int8(e){return x(e,-8)}static int16(e){return x(e,-16)}static int24(e){return x(e,-24)}static int32(e){return x(e,-32)}static int40(e){return x(e,-40)}static int48(e){return x(e,-48)}static int56(e){return x(e,-56)}static int64(e){return x(e,-64)}static int72(e){return x(e,-72)}static int80(e){return x(e,-80)}static int88(e){return x(e,-88)}static int96(e){return x(e,-96)}static int104(e){return x(e,-104)}static int112(e){return x(e,-112)}static int120(e){return x(e,-120)}static int128(e){return x(e,-128)}static int136(e){return x(e,-136)}static int144(e){return x(e,-144)}static int152(e){return x(e,-152)}static int160(e){return x(e,-160)}static int168(e){return x(e,-168)}static int176(e){return x(e,-176)}static int184(e){return x(e,-184)}static int192(e){return x(e,-192)}static int200(e){return x(e,-200)}static int208(e){return x(e,-208)}static int216(e){return x(e,-216)}static int224(e){return x(e,-224)}static int232(e){return x(e,-232)}static int240(e){return x(e,-240)}static int248(e){return x(e,-248)}static int256(e){return x(e,-256)}static int(e){return x(e,-256)}static bytes1(e){return N(e,1)}static bytes2(e){return N(e,2)}static bytes3(e){return N(e,3)}static bytes4(e){return N(e,4)}static bytes5(e){return N(e,5)}static bytes6(e){return N(e,6)}static bytes7(e){return N(e,7)}static bytes8(e){return N(e,8)}static bytes9(e){return N(e,9)}static bytes10(e){return N(e,10)}static bytes11(e){return N(e,11)}static bytes12(e){return N(e,12)}static bytes13(e){return N(e,13)}static bytes14(e){return N(e,14)}static bytes15(e){return N(e,15)}static bytes16(e){return N(e,16)}static bytes17(e){return N(e,17)}static bytes18(e){return N(e,18)}static bytes19(e){return N(e,19)}static bytes20(e){return N(e,20)}static bytes21(e){return N(e,21)}static bytes22(e){return N(e,22)}static bytes23(e){return N(e,23)}static bytes24(e){return N(e,24)}static bytes25(e){return N(e,25)}static bytes26(e){return N(e,26)}static bytes27(e){return N(e,27)}static bytes28(e){return N(e,28)}static bytes29(e){return N(e,29)}static bytes30(e){return N(e,30)}static bytes31(e){return N(e,31)}static bytes32(e){return N(e,32)}static address(e){return new Ce($e,"address",e)}static bool(e){return new Ce($e,"bool",!!e)}static bytes(e){return new Ce($e,"bytes",e)}static string(e){return new Ce($e,"string",e)}static array(e,t){throw new Error("not implemented yet")}static tuple(e,t){throw new Error("not implemented yet")}static overrides(e){return new Ce($e,"overrides",Object.assign({},e))}static isTyped(e){return e&&e._typedSymbol===fi}static dereference(e,t){if(Ce.isTyped(e)){if(e.type!==t)throw new Error(`invalid type: expecetd ${t}, got ${e.type}`);return e.value}return e}};let Y=Ce;dt=new WeakMap;class Sf extends qe{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,t){let r=Y.dereference(t,"string");try{r=gt(r)}catch(s){return this._throwError(s.message,t)}return e.writeValue(r)}decode(e){return gt(ko(e.readValue(),20))}}class kf extends qe{constructor(t){super(t.name,t.type,"_",t.dynamic);m(this,"coder");this.coder=t}defaultValue(){return this.coder.defaultValue()}encode(t,r){return this.coder.encode(t,r)}decode(t){return this.coder.decode(t)}}function Ho(n,e,t){let r=[];if(Array.isArray(t))r=t;else if(t&&typeof t=="object"){let c={};r=e.map(u=>{const l=u.localName;return T(l,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:u},value:t}),T(!c[l],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:u},value:t}),c[l]=!0,t[l]})}else E(!1,"invalid tuple value","tuple",t);E(e.length===r.length,"types/value length mismatch","tuple",t);let s=new Mn,i=new Mn,o=[];e.forEach((c,u)=>{let l=r[u];if(c.dynamic){let h=i.length;c.encode(i,l);let p=s.writeUpdatableValue();o.push(f=>{p(f+h)})}else c.encode(s,l)}),o.forEach(c=>{c(s.length)});let a=n.appendWriter(s);return a+=n.appendWriter(i),a}function Mo(n,e){let t=[],r=[],s=n.subReader(0);return e.forEach(i=>{let o=null;if(i.dynamic){let a=n.readIndex(),c=s.subReader(a);try{o=i.decode(c)}catch(u){if(Ur(u,"BUFFER_OVERRUN"))throw u;o=u,o.baseType=i.name,o.name=i.localName,o.type=i.type}}else try{o=i.decode(n)}catch(a){if(Ur(a,"BUFFER_OVERRUN"))throw a;o=a,o.baseType=i.name,o.name=i.localName,o.type=i.type}if(o==null)throw new Error("investigate");t.push(o),r.push(i.localName||null)}),Lr.fromItems(t,r)}class Rf extends qe{constructor(t,r,s){const i=t.type+"["+(r>=0?r:"")+"]",o=r===-1||t.dynamic;super("array",i,s,o);m(this,"coder");m(this,"length");k(this,{coder:t,length:r})}defaultValue(){const t=this.coder.defaultValue(),r=[];for(let s=0;s<this.length;s++)r.push(t);return r}encode(t,r){const s=Y.dereference(r,"array");Array.isArray(s)||this._throwError("expected array value",s);let i=this.length;i===-1&&(i=s.length,t.writeValue(s.length)),To(s.length,i,"coder array"+(this.localName?" "+this.localName:""));let o=[];for(let a=0;a<s.length;a++)o.push(this.coder);return Ho(t,o,s)}decode(t){let r=this.length;r===-1&&(r=t.readIndex(),T(r*Q<=t.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:t.bytes,offset:r*Q,length:t.dataLength}));let s=[];for(let i=0;i<r;i++)s.push(new kf(this.coder));return Mo(t,s)}}class Pf extends qe{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,t){const r=Y.dereference(t,"bool");return e.writeValue(r?1:0)}decode(e){return!!e.readValue()}}class zo extends qe{constructor(e,t){super(e,e,t,!0)}defaultValue(){return"0x"}encode(e,t){t=je(t);let r=e.writeValue(t.length);return r+=e.writeBytes(t),r}decode(e){return e.readBytes(e.readIndex(),!0)}}class Nf extends zo{constructor(e){super("bytes",e)}decode(e){return q(super.decode(e))}}class $f extends qe{constructor(t,r){let s="bytes"+String(t);super(s,s,r,!1);m(this,"size");k(this,{size:t},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+this.size*2)}encode(t,r){let s=je(Y.dereference(r,this.type));return s.length!==this.size&&this._throwError("incorrect data length",r),t.writeBytes(s)}decode(t){return q(t.readBytes(this.size))}}const Cf=new Uint8Array([]);class If extends qe{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,t){return t!=null&&this._throwError("not null",t),e.writeBytes(Cf)}decode(e){return e.readBytes(0),null}}const Ff=BigInt(0),Df=BigInt(1),Uf=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");class Lf extends qe{constructor(t,r,s){const i=(r?"int":"uint")+t*8;super(i,i,s,!1);m(this,"size");m(this,"signed");k(this,{size:t,signed:r},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode(t,r){let s=xt(Y.dereference(r,this.type)),i=vr(Uf,Q*8);if(this.signed){let o=vr(i,this.size*8-1);(s>o||s<-(o+Df))&&this._throwError("value out-of-bounds",r),s=xh(s,8*Q)}else(s<Ff||s>vr(i,this.size*8))&&this._throwError("value out-of-bounds",r);return t.writeValue(s)}decode(t){let r=vr(t.readValue(),this.size*8);return this.signed&&(r=Eh(r,this.size*8)),r}}class jf extends zo{constructor(e){super("string",e)}defaultValue(){return""}encode(e,t){return super.encode(e,Po(Y.dereference(t,"string")))}decode(e){return $h(super.decode(e))}}class Or extends qe{constructor(t,r){let s=!1;const i=[];t.forEach(a=>{a.dynamic&&(s=!0),i.push(a.type)});const o="tuple("+i.join(",")+")";super("tuple",o,r,s);m(this,"coders");k(this,{coders:Object.freeze(t.slice())})}defaultValue(){const t=[];this.coders.forEach(s=>{t.push(s.defaultValue())});const r=this.coders.reduce((s,i)=>{const o=i.localName;return o&&(s[o]||(s[o]=0),s[o]++),s},{});return this.coders.forEach((s,i)=>{let o=s.localName;!o||r[o]!==1||(o==="length"&&(o="_length"),t[o]==null&&(t[o]=t[i]))}),Object.freeze(t)}encode(t,r){const s=Y.dereference(r,"tuple");return Ho(t,this.coders,s)}decode(t){return Mo(t,this.coders)}}function nr(n){return tt(Po(n))}function Sn(n,e){return{address:gt(n),storageKeys:e.map((t,r)=>(E(Ye(t,32),"invalid slot",`storageKeys[${r}]`,t),t.toLowerCase()))}}function Bf(n){if(Array.isArray(n))return n.map((t,r)=>Array.isArray(t)?(E(t.length===2,"invalid slot set",`value[${r}]`,t),Sn(t[0],t[1])):(E(t!=null&&typeof t=="object","invalid address-slot set","value",n),Sn(t.address,t.storageKeys)));E(n!=null&&typeof n=="object","invalid access list","value",n);const e=Object.keys(n).map(t=>{const r=n[t].reduce((s,i)=>(s[i]=!0,s),{});return Sn(t,Object.keys(r).sort())});return e.sort((t,r)=>t.address.localeCompare(r.address)),e}function ee(n){const e=new Set;return n.forEach(t=>e.add(t)),Object.freeze(e)}const Vo="constant external internal payable private public pure view",Hf=ee(Vo.split(" ")),qo="constructor error event fallback function receive struct",Jo=ee(qo.split(" ")),Go="calldata memory storage payable indexed",Mf=ee(Go.split(" ")),zf="tuple returns",Vf=[qo,Go,zf,Vo].join(" "),qf=ee(Vf.split(" ")),Jf={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},Gf=new RegExp("^(\\s*)"),Wf=new RegExp("^([0-9]+)"),Kf=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),Wo=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),Ko=new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$");var W,me,ir,Jn;const Mr=class{constructor(e){U(this,ir);U(this,W,void 0);U(this,me,void 0);C(this,W,0),C(this,me,e.slice())}get offset(){return v(this,W)}get length(){return v(this,me).length-v(this,W)}clone(){return new Mr(v(this,me))}reset(){C(this,W,0)}popKeyword(e){const t=this.peek();if(t.type!=="KEYWORD"||!e.has(t.text))throw new Error(`expected keyword ${t.text}`);return this.pop().text}popType(e){if(this.peek().type!==e)throw new Error(`expected ${e}; got ${JSON.stringify(this.peek())}`);return this.pop().text}popParen(){const e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");const t=z(this,ir,Jn).call(this,v(this,W)+1,e.match+1);return C(this,W,e.match+1),t}popParams(){const e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");const t=[];for(;v(this,W)<e.match-1;){const r=this.peek().linkNext;t.push(z(this,ir,Jn).call(this,v(this,W)+1,r)),C(this,W,r)}return C(this,W,e.match+1),t}peek(){if(v(this,W)>=v(this,me).length)throw new Error("out-of-bounds");return v(this,me)[v(this,W)]}peekKeyword(e){const t=this.peekType("KEYWORD");return t!=null&&e.has(t)?t:null}peekType(e){if(this.length===0)return null;const t=this.peek();return t.type===e?t.text:null}pop(){const e=this.peek();return $s(this,W)._++,e}toString(){const e=[];for(let t=v(this,W);t<v(this,me).length;t++){const r=v(this,me)[t];e.push(`${r.type}:${r.text}`)}return`<TokenString ${e.join(" ")}>`}};let be=Mr;W=new WeakMap,me=new WeakMap,ir=new WeakSet,Jn=function(e=0,t=0){return new Mr(v(this,me).slice(e,t).map(r=>Object.freeze(Object.assign({},r,{match:r.match-e,linkBack:r.linkBack-e,linkNext:r.linkNext-e}))))};function nt(n){const e=[],t=o=>{const a=i<n.length?JSON.stringify(n[i]):"$EOI";throw new Error(`invalid token ${a} at ${i}: ${o}`)};let r=[],s=[],i=0;for(;i<n.length;){let o=n.substring(i),a=o.match(Gf);a&&(i+=a[1].length,o=n.substring(i));const c={depth:r.length,linkBack:-1,linkNext:-1,match:-1,type:"",text:"",offset:i,value:-1};e.push(c);let u=Jf[o[0]]||"";if(u){if(c.type=u,c.text=o[0],i++,u==="OPEN_PAREN")r.push(e.length-1),s.push(e.length-1);else if(u=="CLOSE_PAREN")r.length===0&&t("no matching open bracket"),c.match=r.pop(),e[c.match].match=e.length-1,c.depth--,c.linkBack=s.pop(),e[c.linkBack].linkNext=e.length-1;else if(u==="COMMA")c.linkBack=s.pop(),e[c.linkBack].linkNext=e.length-1,s.push(e.length-1);else if(u==="OPEN_BRACKET")c.type="BRACKET";else if(u==="CLOSE_BRACKET"){let l=e.pop().text;if(e.length>0&&e[e.length-1].type==="NUMBER"){const h=e.pop().text;l=h+l,e[e.length-1].value=Ve(h)}if(e.length===0||e[e.length-1].type!=="BRACKET")throw new Error("missing opening bracket");e[e.length-1].text+=l}continue}if(a=o.match(Kf),a){if(c.text=a[1],i+=c.text.length,qf.has(c.text)){c.type="KEYWORD";continue}if(c.text.match(Ko)){c.type="TYPE";continue}c.type="ID";continue}if(a=o.match(Wf),a){c.text=a[1],c.type="NUMBER",i+=c.text.length;continue}throw new Error(`unexpected token ${JSON.stringify(o[0])} at position ${i}`)}return new be(e.map(o=>Object.freeze(o)))}function di(n,e){let t=[];for(const r in e.keys())n.has(r)&&t.push(r);if(t.length>1)throw new Error(`conflicting types: ${t.join(", ")}`)}function cn(n,e){if(e.peekKeyword(Jo)){const t=e.pop().text;if(t!==n)throw new Error(`expected ${n}, got ${t}`)}return e.popType("ID")}function Me(n,e){const t=new Set;for(;;){const r=n.peekType("KEYWORD");if(r==null||e&&!e.has(r))break;if(n.pop(),t.has(r))throw new Error(`duplicate keywords: ${JSON.stringify(r)}`);t.add(r)}return Object.freeze(t)}function Xo(n){let e=Me(n,Hf);return di(e,ee("constant payable nonpayable".split(" "))),di(e,ee("pure view payable nonpayable".split(" "))),e.has("view")?"view":e.has("pure")?"pure":e.has("payable")?"payable":e.has("nonpayable")?"nonpayable":e.has("constant")?"view":"nonpayable"}function Be(n,e){return n.popParams().map(t=>K.from(t,e))}function Zo(n){if(n.peekType("AT")){if(n.pop(),n.peekType("NUMBER"))return xt(n.pop().text);throw new Error("invalid gas")}return null}function wt(n){if(n.length)throw new Error(`unexpected tokens: ${n.toString()}`)}const Xf=new RegExp(/^(.*)\[([0-9]*)\]$/);function pi(n){const e=n.match(Ko);if(E(e,"invalid type","type",n),n==="uint")return"uint256";if(n==="int")return"int256";if(e[2]){const t=parseInt(e[2]);E(t!==0&&t<=32,"invalid bytes length","type",n)}else if(e[3]){const t=parseInt(e[3]);E(t!==0&&t<=256&&t%8===0,"invalid numeric width","type",n)}return n}const B={},se=Symbol.for("_ethers_internal"),yi="_ParamTypeInternal",mi="_ErrorInternal",gi="_EventInternal",wi="_ConstructorInternal",bi="_FallbackInternal",vi="_FunctionInternal",_i="_StructInternal";var Lt,$r;const le=class{constructor(e,t,r,s,i,o,a,c){U(this,Lt);m(this,"name");m(this,"type");m(this,"baseType");m(this,"indexed");m(this,"components");m(this,"arrayLength");m(this,"arrayChildren");if(ws(e,B,"ParamType"),Object.defineProperty(this,se,{value:yi}),o&&(o=Object.freeze(o.slice())),s==="array"){if(a==null||c==null)throw new Error("")}else if(a!=null||c!=null)throw new Error("");if(s==="tuple"){if(o==null)throw new Error("")}else if(o!=null)throw new Error("");k(this,{name:t,type:r,baseType:s,indexed:i,components:o,arrayLength:a,arrayChildren:c})}format(e){if(e==null&&(e="sighash"),e==="json"){let r={type:this.baseType==="tuple"?"tuple":this.type,name:this.name||void 0};return typeof this.indexed=="boolean"&&(r.indexed=this.indexed),this.isTuple()&&(r.components=this.components.map(s=>JSON.parse(s.format(e)))),JSON.stringify(r)}let t="";return this.isArray()?(t+=this.arrayChildren.format(e),t+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`):this.isTuple()?(e!=="sighash"&&(t+=this.type),t+="("+this.components.map(r=>r.format(e)).join(e==="full"?", ":",")+")"):t+=this.type,e!=="sighash"&&(this.indexed===!0&&(t+=" indexed"),e==="full"&&this.name&&(t+=" "+this.name)),t}isArray(){return this.baseType==="array"}isTuple(){return this.baseType==="tuple"}isIndexable(){return this.indexed!=null}walk(e,t){if(this.isArray()){if(!Array.isArray(e))throw new Error("invalid array value");if(this.arrayLength!==-1&&e.length!==this.arrayLength)throw new Error("array is wrong length");const r=this;return e.map(s=>r.arrayChildren.walk(s,t))}if(this.isTuple()){if(!Array.isArray(e))throw new Error("invalid tuple value");if(e.length!==this.components.length)throw new Error("array is wrong length");const r=this;return e.map((s,i)=>r.components[i].walk(s,t))}return t(this.type,e)}async walkAsync(e,t){const r=[],s=[e];return z(this,Lt,$r).call(this,r,e,t,i=>{s[0]=i}),r.length&&await Promise.all(r),s[0]}static from(e,t){if(le.isParamType(e))return e;if(typeof e=="string")return le.from(nt(e),t);if(e instanceof be){let a="",c="",u=null;Me(e,ee(["tuple"])).has("tuple")||e.peekType("OPEN_PAREN")?(c="tuple",u=e.popParams().map(w=>le.from(w)),a=`tuple(${u.map(w=>w.format()).join(",")})`):(a=pi(e.popType("TYPE")),c=a);let l=null,h=null;for(;e.length&&e.peekType("BRACKET");){const w=e.pop();l=new le(B,"",a,c,null,u,h,l),h=w.value,a+=w.text,c="array",u=null}let p=null;if(Me(e,Mf).has("indexed")){if(!t)throw new Error("");p=!0}const d=e.peekType("ID")?e.pop().text:"";if(e.length)throw new Error("leftover tokens");return new le(B,d,a,c,p,u,h,l)}const r=e.name;E(!r||typeof r=="string"&&r.match(Wo),"invalid name","obj.name",r);let s=e.indexed;s!=null&&(E(t,"parameter cannot be indexed","obj.indexed",e.indexed),s=!!s);let i=e.type,o=i.match(Xf);if(o){const a=parseInt(o[2]||"-1"),c=le.from({type:o[1],components:e.components});return new le(B,r||"",i,"array",s,null,a,c)}if(i==="tuple"||i.startsWith("tuple(")||i.startsWith("(")){const a=e.components!=null?e.components.map(u=>le.from(u)):null;return new le(B,r||"",i,"tuple",s,a,null,null)}return i=pi(e.type),new le(B,r||"",i,i,s,null,null,null)}static isParamType(e){return e&&e[se]===yi}};let K=le;Lt=new WeakSet,$r=function(e,t,r,s){if(this.isArray()){if(!Array.isArray(t))throw new Error("invalid array value");if(this.arrayLength!==-1&&t.length!==this.arrayLength)throw new Error("array is wrong length");const o=this.arrayChildren,a=t.slice();a.forEach((c,u)=>{var l;z(l=o,Lt,$r).call(l,e,c,r,h=>{a[u]=h})}),s(a);return}if(this.isTuple()){const o=this.components;let a;if(Array.isArray(t))a=t.slice();else{if(t==null||typeof t!="object")throw new Error("invalid tuple value");a=o.map(c=>{if(!c.name)throw new Error("cannot use object value with unnamed components");if(!(c.name in t))throw new Error(`missing value for component ${c.name}`);return t[c.name]})}if(a.length!==this.components.length)throw new Error("array is wrong length");a.forEach((c,u)=>{var l;z(l=o[u],Lt,$r).call(l,e,c,r,h=>{a[u]=h})}),s(a);return}const i=r(this.type,t);i.then?e.push(async function(){s(await i)}()):s(i)};class bt{constructor(e,t,r){m(this,"type");m(this,"inputs");ws(e,B,"Fragment"),r=Object.freeze(r.slice()),k(this,{type:t,inputs:r})}static from(e){if(typeof e=="string"){try{bt.from(JSON.parse(e))}catch{}return bt.from(nt(e))}if(e instanceof be)switch(e.peekKeyword(Jo)){case"constructor":return Ue.from(e);case"error":return re.from(e);case"event":return Se.from(e);case"fallback":case"receive":return Ie.from(e);case"function":return ke.from(e);case"struct":return mt.from(e)}else if(typeof e=="object"){switch(e.type){case"constructor":return Ue.from(e);case"error":return re.from(e);case"event":return Se.from(e);case"fallback":case"receive":return Ie.from(e);case"function":return ke.from(e);case"struct":return mt.from(e)}T(!1,`unsupported type: ${e.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}E(!1,"unsupported frgament object","obj",e)}static isConstructor(e){return Ue.isFragment(e)}static isError(e){return re.isFragment(e)}static isEvent(e){return Se.isFragment(e)}static isFunction(e){return ke.isFragment(e)}static isStruct(e){return mt.isFragment(e)}}class un extends bt{constructor(t,r,s,i){super(t,r,i);m(this,"name");E(typeof s=="string"&&s.match(Wo),"invalid identifier","name",s),i=Object.freeze(i.slice()),k(this,{name:s})}}function sr(n,e){return"("+e.map(t=>t.format(n)).join(n==="full"?", ":",")+")"}class re extends un{constructor(e,t,r){super(e,"error",t,r),Object.defineProperty(this,se,{value:mi})}get selector(){return nr(this.format("sighash")).substring(0,10)}format(e){if(e==null&&(e="sighash"),e==="json")return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(r=>JSON.parse(r.format(e)))});const t=[];return e!=="sighash"&&t.push("error"),t.push(this.name+sr(e,this.inputs)),t.join(" ")}static from(e){if(re.isFragment(e))return e;if(typeof e=="string")return re.from(nt(e));if(e instanceof be){const t=cn("error",e),r=Be(e);return wt(e),new re(B,t,r)}return new re(B,e.name,e.inputs?e.inputs.map(K.from):[])}static isFragment(e){return e&&e[se]===mi}}class Se extends un{constructor(t,r,s,i){super(t,"event",r,s);m(this,"anonymous");Object.defineProperty(this,se,{value:gi}),k(this,{anonymous:i})}get topicHash(){return nr(this.format("sighash"))}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(s=>JSON.parse(s.format(t)))});const r=[];return t!=="sighash"&&r.push("event"),r.push(this.name+sr(t,this.inputs)),t!=="sighash"&&this.anonymous&&r.push("anonymous"),r.join(" ")}static getTopicHash(t,r){return r=(r||[]).map(i=>K.from(i)),new Se(B,t,r,!1).topicHash}static from(t){if(Se.isFragment(t))return t;if(typeof t=="string")return Se.from(nt(t));if(t instanceof be){const r=cn("event",t),s=Be(t,!0),i=!!Me(t,ee(["anonymous"])).has("anonymous");return wt(t),new Se(B,r,s,i)}return new Se(B,t.name,t.inputs?t.inputs.map(r=>K.from(r,!0)):[],!!t.anonymous)}static isFragment(t){return t&&t[se]===gi}}class Ue extends bt{constructor(t,r,s,i,o){super(t,r,s);m(this,"payable");m(this,"gas");Object.defineProperty(this,se,{value:wi}),k(this,{payable:i,gas:o})}format(t){if(T(t!=null&&t!=="sighash","cannot format a constructor for sighash","UNSUPPORTED_OPERATION",{operation:"format(sighash)"}),t==="json")return JSON.stringify({type:"constructor",stateMutability:this.payable?"payable":"undefined",payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(s=>JSON.parse(s.format(t)))});const r=[`constructor${sr(t,this.inputs)}`];return r.push(this.payable?"payable":"nonpayable"),this.gas!=null&&r.push(`@${this.gas.toString()}`),r.join(" ")}static from(t){if(Ue.isFragment(t))return t;if(typeof t=="string")return Ue.from(nt(t));if(t instanceof be){Me(t,ee(["constructor"]));const r=Be(t),s=!!Me(t,ee(["payable"])).has("payable"),i=Zo(t);return wt(t),new Ue(B,"constructor",r,s,i)}return new Ue(B,"constructor",t.inputs?t.inputs.map(K.from):[],!!t.payable,t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[se]===wi}}class Ie extends bt{constructor(t,r,s){super(t,"fallback",r);m(this,"payable");Object.defineProperty(this,se,{value:bi}),k(this,{payable:s})}format(t){const r=this.inputs.length===0?"receive":"fallback";if(t==="json"){const s=this.payable?"payable":"nonpayable";return JSON.stringify({type:r,stateMutability:s})}return`${r}()${this.payable?" payable":""}`}static from(t){if(Ie.isFragment(t))return t;if(typeof t=="string")return Ie.from(nt(t));if(t instanceof be){const r=t.toString(),s=t.peekKeyword(ee(["fallback","receive"]));if(E(s,"type must be fallback or receive","obj",r),t.popKeyword(ee(["fallback","receive"]))==="receive"){const c=Be(t);return E(c.length===0,"receive cannot have arguments","obj.inputs",c),Me(t,ee(["payable"])),wt(t),new Ie(B,[],!0)}let o=Be(t);o.length?E(o.length===1&&o[0].type==="bytes","invalid fallback inputs","obj.inputs",o.map(c=>c.format("minimal")).join(", ")):o=[K.from("bytes")];const a=Xo(t);if(E(a==="nonpayable"||a==="payable","fallback cannot be constants","obj.stateMutability",a),Me(t,ee(["returns"])).has("returns")){const c=Be(t);E(c.length===1&&c[0].type==="bytes","invalid fallback outputs","obj.outputs",c.map(u=>u.format("minimal")).join(", "))}return wt(t),new Ie(B,o,a==="payable")}if(t.type==="receive")return new Ie(B,[],!0);if(t.type==="fallback"){const r=[K.from("bytes")],s=t.stateMutability==="payable";return new Ie(B,r,s)}E(!1,"invalid fallback description","obj",t)}static isFragment(t){return t&&t[se]===bi}}class ke extends un{constructor(t,r,s,i,o,a){super(t,"function",r,i);m(this,"constant");m(this,"outputs");m(this,"stateMutability");m(this,"payable");m(this,"gas");Object.defineProperty(this,se,{value:vi}),o=Object.freeze(o.slice()),k(this,{constant:s==="view"||s==="pure",gas:a,outputs:o,payable:s==="payable",stateMutability:s})}get selector(){return nr(this.format("sighash")).substring(0,10)}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(s=>JSON.parse(s.format(t))),outputs:this.outputs.map(s=>JSON.parse(s.format(t)))});const r=[];return t!=="sighash"&&r.push("function"),r.push(this.name+sr(t,this.inputs)),t!=="sighash"&&(this.stateMutability!=="nonpayable"&&r.push(this.stateMutability),this.outputs&&this.outputs.length&&(r.push("returns"),r.push(sr(t,this.outputs))),this.gas!=null&&r.push(`@${this.gas.toString()}`)),r.join(" ")}static getSelector(t,r){return r=(r||[]).map(i=>K.from(i)),new ke(B,t,"view",r,[],null).selector}static from(t){if(ke.isFragment(t))return t;if(typeof t=="string")return ke.from(nt(t));if(t instanceof be){const r=cn("function",t),s=Be(t),i=Xo(t);let o=[];Me(t,ee(["returns"])).has("returns")&&(o=Be(t));const a=Zo(t);return wt(t),new ke(B,r,i,s,o,a)}return new ke(B,t.name,t.stateMutability,t.inputs?t.inputs.map(K.from):[],t.outputs?t.outputs.map(K.from):[],t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[se]===vi}}class mt extends un{constructor(e,t,r){super(e,"struct",t,r),Object.defineProperty(this,se,{value:_i})}format(){throw new Error("@TODO")}static from(e){if(typeof e=="string")return mt.from(nt(e));if(e instanceof be){const t=cn("struct",e),r=Be(e);return wt(e),new mt(B,t,r)}return new mt(B,e.name,e.inputs?e.inputs.map(K.from):[])}static isFragment(e){return e&&e[se]===_i}}const ve=new Map;ve.set(0,"GENERIC_PANIC");ve.set(1,"ASSERT_FALSE");ve.set(17,"OVERFLOW");ve.set(18,"DIVIDE_BY_ZERO");ve.set(33,"ENUM_RANGE_ERROR");ve.set(34,"BAD_STORAGE_DATA");ve.set(49,"STACK_UNDERFLOW");ve.set(50,"ARRAY_RANGE_ERROR");ve.set(65,"OUT_OF_MEMORY");ve.set(81,"UNINITIALIZED_FUNCTION_CALL");const Zf=new RegExp(/^bytes([0-9]*)$/),Yf=new RegExp(/^(u?int)([0-9]*)$/);let kn=null;function Qf(n,e,t,r){let s="missing revert data",i=null;const o=null;let a=null;if(t){s="execution reverted";const u=He(t);if(t=q(t),u.length===0)s+=" (no data present; likely require(false) occurred",i="require(false)";else if(u.length%32!==4)s+=" (could not decode reason; invalid data length)";else if(q(u.slice(0,4))==="0x08c379a0")try{i=r.decode(["string"],u.slice(4))[0],a={signature:"Error(string)",name:"Error",args:[i]},s+=`: ${JSON.stringify(i)}`}catch{s+=" (could not decode reason; invalid string data)"}else if(q(u.slice(0,4))==="0x4e487b71")try{const l=Number(r.decode(["uint256"],u.slice(4))[0]);a={signature:"Panic(uint256)",name:"Panic",args:[l]},i=`Panic due to ${ve.get(l)||"UNKNOWN"}(${l})`,s+=`: ${i}`}catch{s+=" (could not decode panic code)"}else s+=" (unknown custom error)"}const c={to:e.to?gt(e.to):null,data:e.data||"0x"};return e.from&&(c.from=gt(e.from)),nn(s,"CALL_EXCEPTION",{action:n,data:t,reason:i,transaction:c,invocation:o,revert:a})}var Xe,Pt;const zr=class{constructor(){U(this,Xe)}getDefaultValue(e){const t=e.map(s=>z(this,Xe,Pt).call(this,K.from(s)));return new Or(t,"_").defaultValue()}encode(e,t){To(t.length,e.length,"types/values length mismatch");const r=e.map(o=>z(this,Xe,Pt).call(this,K.from(o))),s=new Or(r,"_"),i=new Mn;return s.encode(i,t),i.data}decode(e,t,r){const s=e.map(o=>z(this,Xe,Pt).call(this,K.from(o)));return new Or(s,"_").decode(new zn(t,r))}static defaultAbiCoder(){return kn==null&&(kn=new zr),kn}static getBuiltinCallException(e,t,r){return Qf(e,t,r,zr.defaultAbiCoder())}};let jr=zr;Xe=new WeakSet,Pt=function(e){if(e.isArray())return new Rf(z(this,Xe,Pt).call(this,e.arrayChildren),e.arrayLength,e.name);if(e.isTuple())return new Or(e.components.map(r=>z(this,Xe,Pt).call(this,r)),e.name);switch(e.baseType){case"address":return new Sf(e.name);case"bool":return new Pf(e.name);case"string":return new jf(e.name);case"bytes":return new Nf(e.name);case"":return new If(e.name)}let t=e.type.match(Yf);if(t){let r=parseInt(t[2]||"256");return E(r!==0&&r<=256&&r%8===0,"invalid "+t[1]+" bit length","param",e),new Lf(r/8,t[1]==="int",e.name)}if(t=e.type.match(Zf),t){let r=parseInt(t[1]);return E(r!==0&&r<=32,"invalid bytes length","param",e),new $f(r,e.name)}E(!1,"invalid type","type",e.type)};class ed{constructor(e,t,r){m(this,"fragment");m(this,"name");m(this,"signature");m(this,"topic");m(this,"args");const s=e.name,i=e.format();k(this,{fragment:e,name:s,signature:i,topic:t,args:r})}}class td{constructor(e,t,r,s){m(this,"fragment");m(this,"name");m(this,"args");m(this,"signature");m(this,"selector");m(this,"value");const i=e.name,o=e.format();k(this,{fragment:e,name:i,args:r,signature:o,selector:t,value:s})}}class rd{constructor(e,t,r){m(this,"fragment");m(this,"name");m(this,"args");m(this,"signature");m(this,"selector");const s=e.name,i=e.format();k(this,{fragment:e,name:s,args:r,signature:i,selector:t})}}class Ei{constructor(e){m(this,"hash");m(this,"_isIndexed");k(this,{hash:e,_isIndexed:!0})}static isIndexed(e){return!!(e&&e._isIndexed)}}const xi={0:"generic panic",1:"assert(false)",17:"arithmetic overflow",18:"division or modulo by zero",33:"enum overflow",34:"invalid encoded storage byte array accessed",49:"out-of-bounds array access; popping on an empty array",50:"out-of-bounds access of an array or bytesN",65:"out of memory",81:"uninitialized function"},Oi={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:n=>`reverted with reason string ${JSON.stringify(n)}`},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"],reason:n=>{let e="unknown panic code";return n>=0&&n<=255&&xi[n.toString()]&&(e=xi[n.toString()]),`reverted with panic code 0x${n.toString(16)} (${e})`}}};var Oe,Te,Ae,Z,or,Wn,ar,Kn;const It=class{constructor(e){U(this,or);U(this,ar);m(this,"fragments");m(this,"deploy");m(this,"fallback");m(this,"receive");U(this,Oe,void 0);U(this,Te,void 0);U(this,Ae,void 0);U(this,Z,void 0);let t=[];typeof e=="string"?t=JSON.parse(e):t=e,C(this,Ae,new Map),C(this,Oe,new Map),C(this,Te,new Map);const r=[];for(const o of t)try{r.push(bt.from(o))}catch(a){console.log("EE",a)}k(this,{fragments:Object.freeze(r)});let s=null,i=!1;C(this,Z,this.getAbiCoder()),this.fragments.forEach((o,a)=>{let c;switch(o.type){case"constructor":if(this.deploy){console.log("duplicate definition - constructor");return}k(this,{deploy:o});return;case"fallback":o.inputs.length===0?i=!0:(E(!s||o.payable!==s.payable,"conflicting fallback fragments",`fragments[${a}]`,o),s=o,i=s.payable);return;case"function":c=v(this,Ae);break;case"event":c=v(this,Te);break;case"error":c=v(this,Oe);break;default:return}const u=o.format();c.has(u)||c.set(u,o)}),this.deploy||k(this,{deploy:Ue.from("constructor()")}),k(this,{fallback:s,receive:i})}format(e){const t=e?"minimal":"full";return this.fragments.map(s=>s.format(t))}formatJson(){const e=this.fragments.map(t=>t.format("json"));return JSON.stringify(e.map(t=>JSON.parse(t)))}getAbiCoder(){return jr.defaultAbiCoder()}getFunctionName(e){const t=z(this,or,Wn).call(this,e,null,!1);return E(t,"no matching function","key",e),t.name}getFunction(e,t){return z(this,or,Wn).call(this,e,t||null,!0)}forEachFunction(e){const t=Array.from(v(this,Ae).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){const s=t[r];e(v(this,Ae).get(s),r)}}getEventName(e){const t=z(this,ar,Kn).call(this,e,null,!1);return E(t,"no matching event","key",e),t.name}getEvent(e,t){return z(this,ar,Kn).call(this,e,t||null,!0)}forEachEvent(e){const t=Array.from(v(this,Te).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){const s=t[r];e(v(this,Te).get(s),r)}}getError(e,t){if(Ye(e)){const s=e.toLowerCase();if(Oi[s])return re.from(Oi[s].signature);for(const i of v(this,Oe).values())if(s===i.selector)return i;return null}if(e.indexOf("(")===-1){const s=[];for(const[i,o]of v(this,Oe))i.split("(")[0]===e&&s.push(o);if(s.length===0)return e==="Error"?re.from("error Error(string)"):e==="Panic"?re.from("error Panic(uint256)"):null;if(s.length>1){const i=s.map(o=>JSON.stringify(o.format())).join(", ");E(!1,`ambiguous error description (i.e. ${i})`,"name",e)}return s[0]}if(e=re.from(e).format(),e==="Error(string)")return re.from("error Error(string)");if(e==="Panic(uint256)")return re.from("error Panic(uint256)");const r=v(this,Oe).get(e);return r||null}forEachError(e){const t=Array.from(v(this,Oe).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){const s=t[r];e(v(this,Oe).get(s),r)}}_decodeParams(e,t){return v(this,Z).decode(e,t)}_encodeParams(e,t){return v(this,Z).encode(e,t)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,t){if(typeof e=="string"){const r=this.getError(e);E(r,"unknown error","fragment",e),e=r}return E(St(t,0,4)===e.selector,`data signature does not match error ${e.name}.`,"data",t),this._decodeParams(e.inputs,St(t,4))}encodeErrorResult(e,t){if(typeof e=="string"){const r=this.getError(e);E(r,"unknown error","fragment",e),e=r}return Ft([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionData(e,t){if(typeof e=="string"){const r=this.getFunction(e);E(r,"unknown function","fragment",e),e=r}return E(St(t,0,4)===e.selector,`data signature does not match function ${e.name}.`,"data",t),this._decodeParams(e.inputs,St(t,4))}encodeFunctionData(e,t){if(typeof e=="string"){const r=this.getFunction(e);E(r,"unknown function","fragment",e),e=r}return Ft([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionResult(e,t){if(typeof e=="string"){const i=this.getFunction(e);E(i,"unknown function","fragment",e),e=i}let r="invalid length for result data";const s=je(t);if(s.length%32===0)try{return v(this,Z).decode(e.outputs,s)}catch{r="could not decode result data"}T(!1,r,"BAD_DATA",{value:q(s),info:{method:e.name,signature:e.format()}})}makeError(e,t){const r=He(e,"data"),s=jr.getBuiltinCallException("call",t,r),i="execution reverted (unknown custom error)";if(s.message.startsWith(i)){const a=q(r.slice(0,4)),c=this.getError(a);if(c)try{const u=v(this,Z).decode(c.inputs,r.slice(4));s.revert={name:c.name,signature:c.format(),args:u},s.reason=s.revert.signature,s.message=`execution reverted: ${s.reason}`}catch{s.message="execution reverted (coult not decode custom error)"}}const o=this.parseTransaction(t);return o&&(s.invocation={method:o.name,signature:o.signature,args:o.args}),s}encodeFunctionResult(e,t){if(typeof e=="string"){const r=this.getFunction(e);E(r,"unknown function","fragment",e),e=r}return q(v(this,Z).encode(e.outputs,t||[]))}encodeFilterTopics(e,t){if(typeof e=="string"){const i=this.getEvent(e);E(i,"unknown event","eventFragment",e),e=i}T(t.length<=e.inputs.length,`too many arguments for ${e.format()}`,"UNEXPECTED_ARGUMENT",{count:t.length,expectedCount:e.inputs.length});const r=[];e.anonymous||r.push(e.topicHash);const s=(i,o)=>i.type==="string"?nr(o):i.type==="bytes"?tt(q(o)):(i.type==="bool"&&typeof o=="boolean"&&(o=o?"0x01":"0x00"),i.type.match(/^u?int/)&&(o=ko(o)),i.type==="address"&&v(this,Z).encode(["address"],[o]),_h(q(o),32));for(t.forEach((i,o)=>{const a=e.inputs[o];if(!a.indexed){E(i==null,"cannot filter non-indexed parameters; must be null","contract."+a.name,i);return}i==null?r.push(null):a.baseType==="array"||a.baseType==="tuple"?E(!1,"filtering with tuples or arrays not supported","contract."+a.name,i):Array.isArray(i)?r.push(i.map(c=>s(a,c))):r.push(s(a,i))});r.length&&r[r.length-1]===null;)r.pop();return r}encodeEventLog(e,t){if(typeof e=="string"){const o=this.getEvent(e);E(o,"unknown event","eventFragment",e),e=o}const r=[],s=[],i=[];return e.anonymous||r.push(e.topicHash),E(t.length===e.inputs.length,"event arguments/values mismatch","values",t),e.inputs.forEach((o,a)=>{const c=t[a];if(o.indexed)if(o.type==="string")r.push(nr(c));else if(o.type==="bytes")r.push(tt(c));else{if(o.baseType==="tuple"||o.baseType==="array")throw new Error("not implemented");r.push(v(this,Z).encode([o.type],[c]))}else s.push(o),i.push(c)}),{data:v(this,Z).encode(s,i),topics:r}}decodeEventLog(e,t,r){if(typeof e=="string"){const f=this.getEvent(e);E(f,"unknown event","eventFragment",e),e=f}if(r!=null&&!e.anonymous){const f=e.topicHash;E(Ye(r[0],32)&&r[0].toLowerCase()===f,"fragment/topic mismatch","topics[0]",r[0]),r=r.slice(1)}const s=[],i=[],o=[];e.inputs.forEach((f,d)=>{f.indexed?f.type==="string"||f.type==="bytes"||f.baseType==="tuple"||f.baseType==="array"?(s.push(K.from({type:"bytes32",name:f.name})),o.push(!0)):(s.push(f),o.push(!1)):(i.push(f),o.push(!1))});const a=r!=null?v(this,Z).decode(s,Ft(r)):null,c=v(this,Z).decode(i,t,!0),u=[],l=[];let h=0,p=0;return e.inputs.forEach((f,d)=>{let w=null;if(f.indexed)if(a==null)w=new Ei(null);else if(o[d])w=new Ei(a[p++]);else try{w=a[p++]}catch(b){w=b}else try{w=c[h++]}catch(b){w=b}u.push(w),l.push(f.name||null)}),Lr.fromItems(u,l)}parseTransaction(e){const t=He(e.data,"tx.data"),r=xt(e.value!=null?e.value:0,"tx.value"),s=this.getFunction(q(t.slice(0,4)));if(!s)return null;const i=v(this,Z).decode(s.inputs,t.slice(4));return new td(s,s.selector,i,r)}parseCallResult(e){throw new Error("@TODO")}parseLog(e){const t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new ed(t,t.topicHash,this.decodeEventLog(t,e.data,e.topics))}parseError(e){const t=q(e),r=this.getError(St(t,0,4));if(!r)return null;const s=v(this,Z).decode(r.inputs,St(t,4));return new rd(r,r.selector,s)}static from(e){return e instanceof It?e:typeof e=="string"?new It(JSON.parse(e)):typeof e.format=="function"?new It(e.format("json")):new It(e)}};let Gn=It;Oe=new WeakMap,Te=new WeakMap,Ae=new WeakMap,Z=new WeakMap,or=new WeakSet,Wn=function(e,t,r){if(Ye(e)){const i=e.toLowerCase();for(const o of v(this,Ae).values())if(i===o.selector)return o;return null}if(e.indexOf("(")===-1){const i=[];for(const[o,a]of v(this,Ae))o.split("(")[0]===e&&i.push(a);if(t){const o=t.length>0?t[t.length-1]:null;let a=t.length,c=!0;Y.isTyped(o)&&o.type==="overrides"&&(c=!1,a--);for(let u=i.length-1;u>=0;u--){const l=i[u].inputs.length;l!==a&&(!c||l!==a-1)&&i.splice(u,1)}for(let u=i.length-1;u>=0;u--){const l=i[u].inputs;for(let h=0;h<t.length;h++)if(Y.isTyped(t[h])){if(h>=l.length){if(t[h].type==="overrides")continue;i.splice(u,1);break}if(t[h].type!==l[h].baseType){i.splice(u,1);break}}}}if(i.length===1&&t&&t.length!==i[0].inputs.length){const o=t[t.length-1];(o==null||Array.isArray(o)||typeof o!="object")&&i.splice(0,1)}if(i.length===0)return null;if(i.length>1&&r){const o=i.map(a=>JSON.stringify(a.format())).join(", ");E(!1,`ambiguous function description (i.e. matches ${o})`,"key",e)}return i[0]}const s=v(this,Ae).get(ke.from(e).format());return s||null},ar=new WeakSet,Kn=function(e,t,r){if(Ye(e)){const i=e.toLowerCase();for(const o of v(this,Te).values())if(i===o.topicHash)return o;return null}if(e.indexOf("(")===-1){const i=[];for(const[o,a]of v(this,Te))o.split("(")[0]===e&&i.push(a);if(t){for(let o=i.length-1;o>=0;o--)i[o].inputs.length<t.length&&i.splice(o,1);for(let o=i.length-1;o>=0;o--){const a=i[o].inputs;for(let c=0;c<t.length;c++)if(Y.isTyped(t[c])&&t[c].type!==a[c].baseType){i.splice(o,1);break}}}if(i.length===0)return null;if(i.length>1&&r){const o=i.map(a=>JSON.stringify(a.format())).join(", ");E(!1,`ambiguous event description (i.e. matches ${o})`,"key",e)}return i[0]}const s=v(this,Te).get(Se.from(e).format());return s||null};const nd=BigInt(0);function Fe(n){return n==null?null:n.toString()}function sd(n){const e={};n.to&&(e.to=n.to),n.from&&(e.from=n.from),n.data&&(e.data=q(n.data));const t="chainId,gasLimit,gasPrice,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/);for(const s of t)!(s in n)||n[s]==null||(e[s]=xt(n[s],`request.${s}`));const r="type,nonce".split(/,/);for(const s of r)!(s in n)||n[s]==null||(e[s]=Ve(n[s],`request.${s}`));return n.accessList&&(e.accessList=Bf(n.accessList)),"blockTag"in n&&(e.blockTag=n.blockTag),"enableCcipRead"in n&&(e.enableCcipReadEnabled=!!n.enableCcipRead),"customData"in n&&(e.customData=n.customData),e}class Es{constructor(e,t){m(this,"provider");m(this,"transactionHash");m(this,"blockHash");m(this,"blockNumber");m(this,"removed");m(this,"address");m(this,"data");m(this,"topics");m(this,"index");m(this,"transactionIndex");this.provider=t;const r=Object.freeze(e.topics.slice());k(this,{transactionHash:e.transactionHash,blockHash:e.blockHash,blockNumber:e.blockNumber,removed:e.removed,address:e.address,data:e.data,topics:r,index:e.index,transactionIndex:e.transactionIndex})}toJSON(){const{address:e,blockHash:t,blockNumber:r,data:s,index:i,removed:o,topics:a,transactionHash:c,transactionIndex:u}=this;return{_type:"log",address:e,blockHash:t,blockNumber:r,data:s,index:i,removed:o,topics:a,transactionHash:c,transactionIndex:u}}async getBlock(){const e=await this.provider.getBlock(this.blockHash);return T(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransaction(){const e=await this.provider.getTransaction(this.transactionHash);return T(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransactionReceipt(){const e=await this.provider.getTransactionReceipt(this.transactionHash);return T(!!e,"failed to find transaction receipt","UNKNOWN_ERROR",{}),e}removedEvent(){return od(this)}}var cr;class id{constructor(e,t){m(this,"provider");m(this,"to");m(this,"from");m(this,"contractAddress");m(this,"hash");m(this,"index");m(this,"blockHash");m(this,"blockNumber");m(this,"logsBloom");m(this,"gasUsed");m(this,"cumulativeGasUsed");m(this,"gasPrice");m(this,"type");m(this,"status");m(this,"root");U(this,cr,void 0);C(this,cr,Object.freeze(e.logs.map(r=>new Es(r,t)))),k(this,{provider:t,to:e.to,from:e.from,contractAddress:e.contractAddress,hash:e.hash,index:e.index,blockHash:e.blockHash,blockNumber:e.blockNumber,logsBloom:e.logsBloom,gasUsed:e.gasUsed,cumulativeGasUsed:e.cumulativeGasUsed,gasPrice:e.effectiveGasPrice||e.gasPrice,type:e.type,status:e.status,root:e.root})}get logs(){return v(this,cr)}toJSON(){const{to:e,from:t,contractAddress:r,hash:s,index:i,blockHash:o,blockNumber:a,logsBloom:c,logs:u,status:l,root:h}=this;return{_type:"TransactionReceipt",blockHash:o,blockNumber:a,contractAddress:r,cumulativeGasUsed:Fe(this.cumulativeGasUsed),from:t,gasPrice:Fe(this.gasPrice),gasUsed:Fe(this.gasUsed),hash:s,index:i,logs:u,logsBloom:c,root:h,status:l,to:e}}get length(){return this.logs.length}[Symbol.iterator](){let e=0;return{next:()=>e<this.length?{value:this.logs[e++],done:!1}:{value:void 0,done:!0}}}get fee(){return this.gasUsed*this.gasPrice}async getBlock(){const e=await this.provider.getBlock(this.blockHash);if(e==null)throw new Error("TODO");return e}async getTransaction(){const e=await this.provider.getTransaction(this.hash);if(e==null)throw new Error("TODO");return e}async getResult(){return await this.provider.getTransactionResult(this.hash)}async confirmations(){return await this.provider.getBlockNumber()-this.blockNumber+1}removedEvent(){return Qo(this)}reorderedEvent(e){return T(!e||e.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),Yo(this,e)}}cr=new WeakMap;var Ze;const Ns=class{constructor(e,t){m(this,"provider");m(this,"blockNumber");m(this,"blockHash");m(this,"index");m(this,"hash");m(this,"type");m(this,"to");m(this,"from");m(this,"nonce");m(this,"gasLimit");m(this,"gasPrice");m(this,"maxPriorityFeePerGas");m(this,"maxFeePerGas");m(this,"data");m(this,"value");m(this,"chainId");m(this,"signature");m(this,"accessList");U(this,Ze,void 0);this.provider=t,this.blockNumber=e.blockNumber!=null?e.blockNumber:null,this.blockHash=e.blockHash!=null?e.blockHash:null,this.hash=e.hash,this.index=e.index,this.type=e.type,this.from=e.from,this.to=e.to||null,this.gasLimit=e.gasLimit,this.nonce=e.nonce,this.data=e.data,this.value=e.value,this.gasPrice=e.gasPrice,this.maxPriorityFeePerGas=e.maxPriorityFeePerGas!=null?e.maxPriorityFeePerGas:null,this.maxFeePerGas=e.maxFeePerGas!=null?e.maxFeePerGas:null,this.chainId=e.chainId,this.signature=e.signature,this.accessList=e.accessList!=null?e.accessList:null,C(this,Ze,-1)}toJSON(){const{blockNumber:e,blockHash:t,index:r,hash:s,type:i,to:o,from:a,nonce:c,data:u,signature:l,accessList:h}=this;return{_type:"TransactionReceipt",accessList:h,blockNumber:e,blockHash:t,chainId:Fe(this.chainId),data:u,from:a,gasLimit:Fe(this.gasLimit),gasPrice:Fe(this.gasPrice),hash:s,maxFeePerGas:Fe(this.maxFeePerGas),maxPriorityFeePerGas:Fe(this.maxPriorityFeePerGas),nonce:c,signature:l,to:o,index:r,type:i,value:Fe(this.value)}}async getBlock(){let e=this.blockNumber;if(e==null){const r=await this.getTransaction();r&&(e=r.blockNumber)}if(e==null)return null;const t=this.provider.getBlock(e);if(t==null)throw new Error("TODO");return t}async getTransaction(){return this.provider.getTransaction(this.hash)}async wait(e,t){const r=e??1,s=t??0;let i=v(this,Ze),o=-1,a=i===-1;const c=async()=>{if(a)return null;const{blockNumber:h,nonce:p}=await xo({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(p<this.nonce){i=h;return}if(a)return null;const f=await this.getTransaction();if(!(f&&f.blockNumber!=null))for(o===-1&&(o=i-3,o<v(this,Ze)&&(o=v(this,Ze)));o<=h;){if(a)return null;const d=await this.provider.getBlock(o,!0);if(d==null)return;for(const w of d)if(w===this.hash)return;for(let w=0;w<d.length;w++){const b=await d.getTransaction(w);if(b.from===this.from&&b.nonce===this.nonce){if(a)return null;const O=await this.provider.getTransactionReceipt(b.hash);if(O==null||h-O.blockNumber+1<r)return;let R="replaced";b.data===this.data&&b.to===this.to&&b.value===this.value?R="repriced":b.data==="0x"&&b.from===b.to&&b.value===nd&&(R="cancelled"),T(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:R==="replaced"||R==="cancelled",reason:R,replacement:b.replaceableTransaction(i),hash:b.hash,receipt:O})}}o++}},u=await this.provider.getTransactionReceipt(this.hash);if(u){if(await u.confirmations()>=r)return u}else if(await c(),r===0)return null;return await new Promise((h,p)=>{const f=[],d=()=>{f.forEach(b=>b())};if(f.push(()=>{a=!0}),s>0){const b=setTimeout(()=>{d(),p(nn("wait for transaction timeout","TIMEOUT"))},s);f.push(()=>{clearTimeout(b)})}const w=async b=>{await b.confirmations()>=r&&(d(),h(b))};if(f.push(()=>{this.provider.off(this.hash,w)}),this.provider.on(this.hash,w),i>=0){const b=async()=>{try{await c()}catch(O){if(Ur(O,"TRANSACTION_REPLACED")){d(),p(O);return}}a||this.provider.once("block",b)};f.push(()=>{this.provider.off("block",b)}),this.provider.once("block",b)}})}isMined(){return this.blockHash!=null}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}removedEvent(){return T(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),Qo(this)}reorderedEvent(e){return T(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),T(!e||e.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),Yo(this,e)}replaceableTransaction(e){E(Number.isInteger(e)&&e>=0,"invalid startBlock","startBlock",e);const t=new Ns(this,this.provider);return C(t,Ze,e),t}};let Xn=Ns;Ze=new WeakMap;function Yo(n,e){return{orphan:"reorder-transaction",tx:n,other:e}}function Qo(n){return{orphan:"drop-transaction",tx:n}}function od(n){return{orphan:"drop-log",log:{transactionHash:n.transactionHash,blockHash:n.blockHash,blockNumber:n.blockNumber,address:n.address,data:n.data,topics:Object.freeze(n.topics.slice()),index:n.index}}}class xs extends Es{constructor(t,r,s){super(t,t.provider);m(this,"interface");m(this,"fragment");m(this,"args");const i=r.decodeEventLog(s,t.data,t.topics);k(this,{args:i,fragment:s,interface:r})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}var jt;class ad extends id{constructor(t,r,s){super(s,r);U(this,jt,void 0);C(this,jt,t)}get logs(){return super.logs.map(t=>{const r=t.topics.length?v(this,jt).getEvent(t.topics[0]):null;return r?new xs(t,v(this,jt),r):t})}}jt=new WeakMap;var ur;class Os extends Xn{constructor(t,r,s){super(s,r);U(this,ur,void 0);C(this,ur,t)}async wait(t){const r=await super.wait();return r==null?null:new ad(v(this,ur),this.provider,r)}}ur=new WeakMap;class ea extends Ah{constructor(t,r,s,i){super(t,r,s);m(this,"log");k(this,{log:i})}async getBlock(){return await this.log.getBlock()}async getTransaction(){return await this.log.getTransaction()}async getTransactionReceipt(){return await this.log.getTransactionReceipt()}}class cd extends ea{constructor(e,t,r,s,i){super(e,t,r,new xs(i,e.interface,s));const o=e.interface.decodeEventLog(s,this.log.data,this.log.topics);k(this,{args:o,fragment:s})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}const Ti=BigInt(0);function ta(n){return n&&typeof n.call=="function"}function ra(n){return n&&typeof n.estimateGas=="function"}function Ts(n){return n&&typeof n.resolveName=="function"}function na(n){return n&&typeof n.sendTransaction=="function"}var lr;class ud{constructor(e,t,r){U(this,lr,void 0);m(this,"fragment");if(k(this,{fragment:t}),t.inputs.length<r.length)throw new Error("too many arguments");const s=vt(e.runner,"resolveName"),i=Ts(s)?s:null;C(this,lr,async function(){const o=await Promise.all(t.inputs.map((a,c)=>r[c]==null?null:a.walkAsync(r[c],(l,h)=>l==="address"?_s(h,i):h)));return e.interface.encodeFilterTopics(t,o)}())}getTopicFilter(){return v(this,lr)}}lr=new WeakMap;function ld(){return Function}function vt(n,e){return n==null?null:typeof n[e]=="function"?n:n.provider&&typeof n.provider[e]=="function"?n.provider:null}function ht(n){return n==null?null:n.provider||null}async function sa(n,e){const t=sd(Y.dereference(n,"overrides"));return E(t.to==null||(e||[]).indexOf("to")>=0,"cannot override to","overrides.to",t.to),E(t.data==null||(e||[]).indexOf("data")>=0,"cannot override data","overrides.data",t.data),t.from&&(t.from=await _s(t.from)),t}async function hd(n,e,t){const r=vt(n,"resolveName"),s=Ts(r)?r:null;return await Promise.all(e.map((i,o)=>i.walkAsync(t[o],(a,c)=>(c=Y.dereference(c,a),a==="address"?_s(c,s):c))))}class fd{constructor(e){m(this,"_contract");return k(this,{_contract:e}),new Proxy(this,{apply:async(r,s,i)=>await r.send(...i)})}async populateTransaction(e){const t=await sa(e,["data"]);t.to=await this._contract.getAddress();const r=this._contract.interface,s=r.receive||r.fallback&&r.fallback.payable;return E(s||(t.value||Ti)===Ti,"cannot send value to non-payable contract","overrides.value",t.value),E(r.fallback||(t.data||"0x")==="0x","cannot send data to receive-only contract","overrides.data",t.data),t}async staticCall(e){const t=vt(this._contract.runner,"call");T(ta(t),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const r=await this.populateTransaction(e);try{return await t.call(r)}catch(s){throw Oo(s)&&s.data?this._contract.interface.makeError(s.data,r):s}}async send(e){const t=this._contract.runner;T(na(t),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const r=await t.sendTransaction(await this.populateTransaction(e)),s=ht(this._contract.runner);return new Os(this._contract.interface,s,r)}async estimateGas(e){const t=vt(this._contract.runner,"estimateGas");return T(ra(t),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await t.estimateGas(await this.populateTransaction(e))}}class dd extends ld(){constructor(t,r){super();m(this,"name","");m(this,"_contract");m(this,"_key");return k(this,{name:t.interface.getFunctionName(r),_contract:t,_key:r}),new Proxy(this,{apply:async(i,o,a)=>i.getFragment(...a).constant?await i.staticCall(...a):await i.send(...a)})}get fragment(){const t=this._contract.interface.getFunction(this._key);return T(t,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),t}getFragment(...t){const r=this._contract.interface.getFunction(this._key,t);return T(r,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),r}async populateTransaction(...t){const r=this.getFragment(...t);let s={};if(r.inputs.length+1===t.length&&(s=await sa(t.pop())),r.inputs.length!==t.length)throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");const i=await hd(this._contract.runner,r.inputs,t);return Object.assign({},s,await xo({to:this._contract.getAddress(),data:this._contract.interface.encodeFunctionData(r,i)}))}async staticCall(...t){const r=await this.staticCallResult(...t);return r.length===1?r[0]:r}async send(...t){const r=this._contract.runner;T(na(r),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const s=await r.sendTransaction(await this.populateTransaction(...t)),i=ht(this._contract.runner);return new Os(this._contract.interface,i,s)}async estimateGas(...t){const r=vt(this._contract.runner,"estimateGas");return T(ra(r),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await r.estimateGas(await this.populateTransaction(...t))}async staticCallResult(...t){const r=vt(this._contract.runner,"call");T(ta(r),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const s=await this.populateTransaction(...t);let i="0x";try{i=await r.call(s)}catch(a){throw Oo(a)&&a.data?this._contract.interface.makeError(a.data,s):a}const o=this.getFragment(...t);return this._contract.interface.decodeFunctionResult(o,i)}}function pd(){return Function}class yd extends pd(){constructor(t,r){super();m(this,"name","");m(this,"_contract");m(this,"_key");return k(this,{name:t.interface.getEventName(r),_contract:t,_key:r}),new Proxy(this,{apply:(s,i,o)=>new ud(t,s.getFragment(...o),o)})}get fragment(){const t=this._contract.interface.getEvent(this._key);return T(t,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),t}getFragment(...t){const r=this._contract.interface.getEvent(this._key,t);return T(r,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),r}}const Br=Symbol.for("_ethersInternal_contract"),ia=new WeakMap;function md(n,e){ia.set(n[Br],e)}function ue(n){return ia.get(n[Br])}function gd(n){return n&&typeof n=="object"&&"getTopicFilter"in n&&typeof n.getTopicFilter=="function"&&n.fragment}async function As(n,e){let t,r=null;if(Array.isArray(e)){const i=function(o){if(Ye(o,32))return o;const a=n.interface.getEvent(o);return E(a,"unknown fragment","name",o),a.topicHash};t=e.map(o=>o==null?null:Array.isArray(o)?o.map(i):i(o))}else e==="*"?t=[null]:typeof e=="string"?Ye(e,32)?t=[e]:(r=n.interface.getEvent(e),E(r,"unknown fragment","event",e),t=[r.topicHash]):gd(e)?t=await e.getTopicFilter():"fragment"in e?(r=e.fragment,t=[r.topicHash]):E(!1,"unknown event name","event",e);t=t.map(i=>{if(i==null)return null;if(Array.isArray(i)){const o=Array.from(new Set(i.map(a=>a.toLowerCase())).values());return o.length===1?o[0]:(o.sort(),o)}return i.toLowerCase()});const s=t.map(i=>i==null?"null":Array.isArray(i)?i.join("|"):i).join("&");return{fragment:r,tag:s,topics:t}}async function Xt(n,e){const{subs:t}=ue(n);return t.get((await As(n,e)).tag)||null}async function Ai(n,e,t){const r=ht(n.runner);T(r,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:e});const{fragment:s,tag:i,topics:o}=await As(n,t),{addr:a,subs:c}=ue(n);let u=c.get(i);if(!u){const h={address:a||n,topics:o},p=b=>{let O=s;if(O==null)try{O=n.interface.getEvent(b.topics[0])}catch{}if(O){const R=O,M=s?n.interface.decodeEventLog(s,b.data,b.topics):[];Yn(n,t,M,D=>new cd(n,D,t,R,b))}else Yn(n,t,[],R=>new ea(n,R,t,b))};let f=[];u={tag:i,listeners:[],start:()=>{f.length||f.push(r.on(h,p))},stop:async()=>{if(f.length==0)return;let b=f;f=[],await Promise.all(b),r.off(h,p)}},c.set(i,u)}return u}let Zn=Promise.resolve();async function wd(n,e,t,r){await Zn;const s=await Xt(n,e);if(!s)return!1;const i=s.listeners.length;return s.listeners=s.listeners.filter(({listener:o,once:a})=>{const c=Array.from(t);r&&c.push(r(a?null:o));try{o.call(n,...c)}catch{}return!a}),i>0}async function Yn(n,e,t,r){try{await Zn}catch{}const s=wd(n,e,t,r);return Zn=s,await s}const Si=["then"];var Td;const Vr=class{constructor(e,t,r,s){m(this,"target");m(this,"interface");m(this,"runner");m(this,"filters");m(this,Td);m(this,"fallback");r==null&&(r=null);const i=Gn.from(t);k(this,{target:e,runner:r,interface:i}),Object.defineProperty(this,Br,{value:{}});let o,a=null,c=null;if(s){const h=ht(r);c=new Os(this.interface,h,s)}let u=new Map;if(typeof e=="string")if(Ye(e))a=e,o=Promise.resolve(e);else{const h=vt(r,"resolveName");if(!Ts(h))throw nn("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});o=h.resolveName(e).then(p=>{if(p==null)throw new Error("TODO");return ue(this).addr=p,p})}else o=e.getAddress().then(h=>{if(h==null)throw new Error("TODO");return ue(this).addr=h,h});md(this,{addrPromise:o,addr:a,deployTx:c,subs:u});const l=new Proxy({},{get:(h,p,f)=>{if(Si.indexOf(p)>=0)return Reflect.get(h,p,f);const d=String(p),w=this.getEvent(d);if(w)return w;throw new Error(`unknown contract event: ${d}`)}});return k(this,{filters:l}),k(this,{fallback:i.receive||i.fallback?new fd(this):null}),new Proxy(this,{get:(h,p,f)=>{if(p in h||Si.indexOf(p)>=0)return Reflect.get(h,p,f);const d=String(p),w=h.getFunction(d);if(w)return w;throw new Error(`unknown contract method: ${d}`)}})}connect(e){return new Vr(this.target,this.interface,e)}async getAddress(){return await ue(this).addrPromise}async getDeployedCode(){const e=ht(this.runner);T(e,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});const t=await e.getCode(await this.getAddress());return t==="0x"?null:t}async waitForDeployment(){const e=this.deploymentTransaction();if(e)return await e.wait(),this;if(await this.getDeployedCode()!=null)return this;const r=ht(this.runner);return T(r!=null,"contract runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"waitForDeployment"}),new Promise((s,i)=>{const o=async()=>{try{if(await this.getDeployedCode()!=null)return s(this);r.once("block",o)}catch(a){i(a)}};o()})}deploymentTransaction(){return ue(this).deployTx}getFunction(e){return typeof e!="string"&&(e=e.format()),new dd(this,e)}getEvent(e){return typeof e!="string"&&(e=e.format()),new yd(this,e)}async queryTransaction(e){throw new Error("@TODO")}async queryFilter(e,t,r){t==null&&(t=0),r==null&&(r="latest");const{addr:s,addrPromise:i}=ue(this),o=s||await i,{fragment:a,topics:c}=await As(this,e),u={address:o,topics:c,fromBlock:t,toBlock:r},l=ht(this.runner);return T(l,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await l.getLogs(u)).map(h=>{let p=a;if(p==null)try{p=this.interface.getEvent(h.topics[0])}catch{}return p?new xs(h,this.interface,p):new Es(h,l)})}async on(e,t){const r=await Ai(this,"on",e);return r.listeners.push({listener:t,once:!1}),r.start(),this}async once(e,t){const r=await Ai(this,"once",e);return r.listeners.push({listener:t,once:!0}),r.start(),this}async emit(e,...t){return await Yn(this,e,t,null)}async listenerCount(e){if(e){const s=await Xt(this,e);return s?s.listeners.length:0}const{subs:t}=ue(this);let r=0;for(const{listeners:s}of t.values())r+=s.length;return r}async listeners(e){if(e){const s=await Xt(this,e);return s?s.listeners.map(({listener:i})=>i):[]}const{subs:t}=ue(this);let r=[];for(const{listeners:s}of t.values())r=r.concat(s.map(({listener:i})=>i));return r}async off(e,t){const r=await Xt(this,e);if(!r)return this;if(t){const s=r.listeners.map(({listener:i})=>i).indexOf(t);s>=0&&r.listeners.splice(s,1)}return(t==null||r.listeners.length===0)&&(r.stop(),ue(this).subs.delete(r.tag)),this}async removeAllListeners(e){if(e){const t=await Xt(this,e);if(!t)return this;t.stop(),ue(this).subs.delete(t.tag)}else{const{subs:t}=ue(this);for(const{tag:r,stop:s}of t.values())s(),t.delete(r)}return this}async addListener(e,t){return await this.on(e,t)}async removeListener(e,t){return await this.off(e,t)}static buildClass(e){class t extends Vr{constructor(s,i=null){super(s,e,i)}}return t}static from(e,t,r){return r==null&&(r=null),new this(e,t,r)}};let Qn=Vr;Td=Br;function bd(){return Qn}class vd extends bd(){}class ln{constructor(e){m(this,"data",[]);this.api=e}static create(e){return new ln(e)}getAbiHash(e){if(this.api===void 0)throw new Error("FunctionBuilder must be initialised with api");return this.api.getAbiHash(e)}async addFunction(e,t,r,s){const i=new vd(e,s);return i.interface.encodeFunctionData(t,r),this.data.push({address:e,bytecode:i.interface.encodeFunctionData(t,r),abiHash:await this.getAbiHash(s),function:t}),this}get(){return this.data}static schema(){return Mt().of(et({address:j().required(),bytecode:j().matches(/^(0x)?([0-9a-fA-F]{2})*$/).required(),abiHash:j().matches(/^[A-Fa-f0-9]{64}/).required(),function:j().required()}))}}class We{static version(){return"v1"}static execute(e,t,r="v1"){const s=JSON.parse(JSON.stringify(t));let i=!0;for(const o of s){const a=We.process(e,o.conditions);i=We.execLogic(i,o.logic,a)}return i}static process(e,t,r){const s=t.shift();if(!s)return r===void 0?!0:r;const i=We.execCondition(e,s);if(r===void 0||s.logic==="WHERE")return We.process(e,t,i);if(s.logic===void 0)throw new Error("Invalid filter. FilterCondition must have logic value");const o=We.execLogic(r,s.logic,i);return We.process(e,t,o)}static execLogic(e,t,r){switch(t){case"AND":return e&&r;case"OR":return e||r;case"XOR":return(e||r)&&!(e&&r);case"NAND":return!(e&&r);case"NOR":return!(e&&r);case"WHERE":return r;default:throw new Error(`Invalid Filter. Bad logic value: ${t}`)}}static execCondition(e,t){const r=e[t.key];if(t.type==="Number"){if(typeof t.constant!="number"||typeof r!="number")throw new Error(`Invalid filter. Type miss-match. Type: ${t.type}, Variable: ${t.constant}, Data: ${r}`);const s=r,i=t.constant;switch(t.operation){case"eq":return s===i;case"!eq":return s!==i;case"gt":return s>i;case"gte":return s>=i;case"lt":return s<i;case"lte":return s<=i;default:throw new Error("Invalid Filter. Operation does not match type")}}if(t.type==="String"){if(typeof t.constant!="string"||typeof r!="string")throw new Error(`Invalid filter. Type miss-match. Type: ${t.type}, Variable: ${t.constant}, Data: ${r}`);const s=r,i=t.constant;switch(t.operation){case"contains":return s.includes(i);case"!contains":return!s.includes(i);case"is":return s===i;case"!is":return s!==i;case"isEmpty":return s==="";case"!isEmpty":return s!=="";default:throw new Error("Invalid Filter. Operation does not match type")}}if(t.type==="Address"){if(typeof t.constant!="string"||typeof r!="string")throw new Error(`Invalid filter. Type miss-match. Type: ${t.type}, Variable: ${t.constant}, Data: ${r}`);const s=r,i=t.constant;switch(t.operation){case"contains":return s.toLowerCase().includes(i.toLowerCase());case"!contains":return!s.toLowerCase().includes(i.toLowerCase());case"is":return s.toLowerCase()===i.toLowerCase();case"!is":return s.toLowerCase()!==i.toLowerCase();case"isEmpty":return s==="";case"!isEmpty":return s!=="";default:throw new Error("Invalid Filter. Operation does not match type")}}throw new Error("Invalid Filter. Unknown Type")}}class hn{constructor(){m(this,"groups",[]);this.newGroup("WHERE")}static version(){return We.version()}static new(){return new hn}newGroup(e){if(this.groups.length!==0&&e==="WHERE")throw new Error('Only the first groups can start with "WHERE"');return this.groups.push({logic:"WHERE",conditions:[]}),this}addCondition(e,t,r,s,i){const o=this.groups[this.groups.length-1];if(o.conditions.length===0&&e!=="WHERE")throw new Error('Logic for the first condition of a group must be "WHERE"');if(o.conditions.length>0&&e==="WHERE")throw new Error('Only the first condition of a group can be "WHERE"');return o.conditions.push({logic:e,key:t,type:r,operation:s,constant:i}),this}finalise(){for(const e of this.groups)if(e.conditions.length===0)throw new Error("Bad Filter. All Groups must have atleast one condition");return this.groups}static schema(){const e=j().oneOf(["AND","OR","XOR","NAND","NOR","WHERE"]).required(),t=et({logic:e,key:j().required(),type:j().oneOf(["String","Address","Number"]).required(),operation:j().when("type",([r],s)=>{switch(r){case"String":return s.oneOf(["contains","!contains","is","!is","isEmpty","!isEmpty"]);case"Address":return s.oneOf(["is","!is","isEmpty","!isEmpty"]);case"Number":return s.oneOf(["eq","!eq","gt","gte","lt","lte"]);default:throw new Error("Invalid Filter Data Type")}}),constant:ho().when("type",([r])=>{switch(r){case"String":return j();case"Address":return j();case"Number":return de();default:throw new Error("Invalid Filter Data Type")}})});return Mt().of(et({logic:e,conditions:Mt().of(t)}))}}const _d="handler_function_call_v2";class Ss{static SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:_d,handler:r}}static validateCreate(e){const t=/^(\d+)([SMHD])$/i;return et({timeBase:j().oneOf(["blocks","time"]).required(),nBlocks:de().min(10).when("timeBase",([s],i)=>s==="blocks"?i.required():i),timePeriod:j().matches(t,"timePeriod must be of the format n[s|m|h|d], eg 10s for 10 seconds").when("timeBase",([s],i)=>s==="time"?i.required():i),startTime:de().default(0),debounceCount:de(),functions:ln.schema(),triggerOn:j().oneOf(["always","filter"]).default("always"),latch:po().default(!1),filterVersion:j().when("triggerOn",([s],i)=>s==="filter"?i.required():i),filter:hn.schema().when("triggerOn",([s],i)=>s==="filter"?i.required():i)}).validate(e)}}class oa{static SimpleToRaw(e,t,r,s){switch(t){case"PollFunctionV2":return Ss.SimpleToRaw(e,r,s);case"PollFunctionV1":return ms.SimpleToRaw(e,r,s);case"OnchainEventV1":return gs.SimpleToRaw(e,r,s);default:throw new Error("Invalid Trigger ID")}}}const ki=n=>`https://${n}.functions.supabase.co/`,Ri=n=>`https://${n}.supabase.co/`,Pi="fdgtrxmmrtlokhgkvcjz",Ed="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImZkZ3RyeG1tcnRsb2toZ2t2Y2p6Iiwicm9sZSI6ImFub24iLCJpYXQiOjE2NzMwODcwNzYsImV4cCI6MTk4ODY2MzA3Nn0.sAMxjlcJSSozBGr-LNcsudyxzUEM9e-UspMHHQLqLr4";class ks{constructor(e,t){m(this,"headers",{});this.url=e,this.headers={Authorization:`Bearer ${t}`,"Content-Type":"application/json"}}static async create(e){var t,r;if(e.key)throw new Error("Auth by key not yet supported");if(e.email&&e.password){const s=e.projectId?Ri(e.projectId):Ri(Pi),i=e.projectId?ki(e.projectId):ki(Pi),o=e.anonKey?e.anonKey:Ed,a=hu(s,o),{data:c,error:u}=await a.auth.signInWithPassword({email:e.email,password:e.password});if(u)throw u;if(((t=c.session)==null?void 0:t.access_token)===void 0)throw new Error("Access token not found");return new ks(i,(r=c.session)==null?void 0:r.access_token)}else throw new Error("Authentication Required. DeNotify supports either username/password or API key authentication")}async alertHistory(e,t){const r="alert-history",s=t||{};return e&&(s.id=e),Object.keys(s).length>0?await this.request("get",r,{params:t}):await this.request("get",r)}async getAlert(e){return(await this.request("get",`alerts/${e}`))[0]}async getAlerts(){return await this.request("get","alerts")}async createAlert(e){const t=oa.SimpleToRaw(e.name,e.triggerId,e.network,e.trigger),r=Eo.SimpleToRaw(e.notificationId,e.notification);return await this.request("post","alerts",{body:{trigger:t,notification:r}})}async deleteAlert(e){return await this.request("delete",`alerts/${e}`)}async request(e,t,r={}){const s=new URL(`${this.url}${t}`);if(r.params)for(const a of Object.keys(r.params))s.searchParams.append(a,r.params[a]);console.log(s.toString());const i={method:e,url:s.toString(),headers:this.headers};return r.body&&(i.data=r.body),(await Tl(i)).data}async getAbi(e,t){return await this.request("get",`abi/${e}/${t}`)}async getAbiHash(e){return(await this.request("post","abi",{body:e})).hash}async setAlertName(e,t){throw new Error("Not yet supported - Sorry!")}async enableAlert(e){throw new Error("Not yet supported - Sorry!")}async disableAlert(e){throw new Error("Not yet supported - Sorry!")}async updateNotification(e){throw new Error("Not yet supported - Sorry!")}async updateTrigger(e,t){return await this.request("patch",`alerts/trigger-handler/${e}`,{body:t})}}class Rs{constructor(e){m(this,"network");m(this,"triggerId");m(this,"trigger");m(this,"notificationId");m(this,"notification");this.name=e}static create(e){return new Rs(e)}onNetwork(e){return this.network=e,this}withTrigger(e,t){return this.triggerId=e,this.trigger=t,this}withNotification(e,t){return this.notificationId=e,this.notification=t,this}async validate(){switch(this.triggerId){case"OnchainEventV1":return gs.validateCreate(this.trigger);case"PollFunctionV1":return ms.validateCreate(this.trigger);case"PollFunctionV2":return Ss.validateCreate(this.trigger)}switch(this.notificationId){case"Discord":return ys.validateCreate(this.notification);default:throw new Error("Invalid notification type")}}async config(){if(this.trigger===void 0||this.triggerId===void 0)throw new Error("Trigger not configured");if(this.notification===void 0||this.notificationId===void 0)throw new Error("Notification not configured");if(this.network===void 0)throw new Error("Network not configured");return await this.validate(),{name:this.name,network:this.network,triggerId:this.triggerId,trigger:this.trigger,notificationId:this.notificationId,notification:this.notification}}}const xd=Object.freeze(Object.defineProperty({__proto__:null,HandlerFunctionCall:ms,HandlerFunctionCallV2:Ss,HandlerOnchainEvent:gs,Trigger:oa},Symbol.toStringTag,{value:"Module"})),Od=Object.freeze(Object.defineProperty({__proto__:null,Notification:Eo,NotifyDiscordWebhook:ys},Symbol.toStringTag,{value:"Module"}));exports.AlertBuilder=Rs;exports.DeNotifyClient=ks;exports.FilterBuilder=hn;exports.FunctionBuilder=ln;exports.Notification=Od;exports.Trigger=xd;
|
6
|
+
`+(a!==o?`result of cast: ${a}`:""))}return i}_cast(e,t){let r=e===void 0?e:this.transforms.reduce((s,i)=>i.call(this,s,e,this),e);return r===void 0&&(r=this.getDefault()),r}_validate(e,t={},r,s){let{path:i,originalValue:o=e,strict:a=this.spec.strict}=t,c=e;a||(c=this._cast(c,Object.assign({assert:!1},t)));let u=[];for(let l of Object.values(this.internalTests))l&&u.push(l);this.runTests({path:i,value:c,originalValue:o,options:t,tests:u},r,l=>{if(l.length)return s(l,c);this.runTests({path:i,value:c,originalValue:o,options:t,tests:this.tests},r,s)})}runTests(e,t,r){let s=!1,{tests:i,value:o,originalValue:a,path:c,options:u}=e,l=w=>{s||(s=!0,t(w,o))},h=w=>{s||(s=!0,r(w,o))},p=i.length,f=[];if(!p)return h([]);let d={value:o,originalValue:a,path:c,options:u,schema:this};for(let w=0;w<i.length;w++){const b=i[w];b(d,l,function(N){N&&(f=f.concat(N)),--p<=0&&h(f)})}}asNestedTest({key:e,index:t,parent:r,parentPath:s,originalParent:i,options:o}){const a=e??t;if(a==null)throw TypeError("Must include `key` or `index` for nested validations");const c=typeof a=="number";let u=r[a];const l=Object.assign({},o,{strict:!0,parent:r,value:u,originalValue:i[a],key:void 0,[c?"index":"key"]:a,path:c||a.includes(".")?`${s||""}[${u?a:`"${a}"`}]`:(s?`${s}.`:"")+e});return(h,p,f)=>this.resolve(l)._validate(u,l,p,f)}validate(e,t){let r=this.resolve(Object.assign({},t,{value:e}));return new Promise((s,i)=>r._validate(e,t,(o,a)=>{ce.isError(o)&&(o.value=a),i(o)},(o,a)=>{o.length?i(new ce(o,a)):s(a)}))}validateSync(e,t){let r=this.resolve(Object.assign({},t,{value:e})),s;return r._validate(e,Object.assign({},t,{sync:!0}),(i,o)=>{throw ce.isError(i)&&(i.value=o),i},(i,o)=>{if(i.length)throw new ce(i,e);s=o}),s}isValid(e,t){return this.validate(e,t).then(()=>!0,r=>{if(ce.isError(r))return!1;throw r})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(r){if(ce.isError(r))return!1;throw r}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):$t(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){return this.clone({strict:e})}nullability(e,t){const r=this.clone({nullable:e});return r.internalTests.nullable=St({message:t,name:"nullable",test(s){return s===null?this.schema.spec.nullable:!0}}),r}optionality(e,t){const r=this.clone({optional:e});return r.internalTests.optionality=St({message:t,name:"optionality",test(s){return s===void 0?this.schema.spec.optional:!0}}),r}optional(){return this.optionality(!0)}defined(e=$e.defined){return this.optionality(!1,e)}nullable(){return this.nullability(!0)}nonNullable(e=$e.notNull){return this.nullability(!1,e)}required(e=$e.required){return this.clone().withMutation(t=>t.nonNullable(e).defined(e))}notRequired(){return this.clone().withMutation(e=>e.nullable().optional())}transform(e){let t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(e.length===1?typeof e[0]=="function"?t={test:e[0]}:t=e[0]:e.length===2?t={name:e[0],test:e[1]}:t={name:e[0],message:e[1],test:e[2]},t.message===void 0&&(t.message=$e.default),typeof t.test!="function")throw new TypeError("`test` is a required parameters");let r=this.clone(),s=St(t),i=t.exclusive||t.name&&r.exclusiveTests[t.name]===!0;if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(r.exclusiveTests[t.name]=!!t.exclusive),r.tests=r.tests.filter(o=>!(o.OPTIONS.name===t.name&&(i||o.OPTIONS.test===s.OPTIONS.test))),r.tests.push(s),r}when(e,t){!Array.isArray(e)&&typeof e!="string"&&(t=e,e=".");let r=this.clone(),s=mo(e).map(i=>new xt(i));return s.forEach(i=>{i.isSibling&&r.deps.push(i.key)}),r.conditions.push(typeof t=="function"?new Ur(s,t):Ur.fromOptions(s,t)),r}typeError(e){let t=this.clone();return t.internalTests.typeError=St({message:e,name:"typeError",test(r){return!pe(r)&&!this.schema._typeCheck(r)?this.createError({params:{type:this.schema.type}}):!0}}),t}oneOf(e,t=$e.oneOf){let r=this.clone();return e.forEach(s=>{r._whitelist.add(s),r._blacklist.delete(s)}),r.internalTests.whiteList=St({message:t,name:"oneOf",skipAbsent:!0,test(s){let i=this.schema._whitelist,o=i.resolveAll(this.resolve);return o.includes(s)?!0:this.createError({params:{values:Array.from(i).join(", "),resolved:o}})}}),r}notOneOf(e,t=$e.notOneOf){let r=this.clone();return e.forEach(s=>{r._blacklist.add(s),r._whitelist.delete(s)}),r.internalTests.blacklist=St({message:t,name:"notOneOf",test(s){let i=this.schema._blacklist,o=i.resolveAll(this.resolve);return o.includes(s)?this.createError({params:{values:Array.from(i).join(", "),resolved:o}}):!0}}),r}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(e){const t=(e?this.resolve(e):this).clone(),{label:r,meta:s,optional:i,nullable:o}=t.spec;return{meta:s,label:r,optional:i,nullable:o,default:t.getDefault(e),type:t.type,oneOf:t._whitelist.describe(),notOneOf:t._blacklist.describe(),tests:t.tests.map(c=>({name:c.OPTIONS.name,params:c.OPTIONS.params})).filter((c,u,l)=>l.findIndex(h=>h.name===c.name)===u)}}}se.prototype.__isYupSchema__=!0;for(const n of["validate","validateSync"])se.prototype[`${n}At`]=function(e,t,r={}){const{parent:s,parentPath:i,schema:o}=th(this,e,t,r.context);return o[n](s&&s[i],Object.assign({},r,{parent:s,path:e}))};for(const n of["equals","is"])se.prototype[n]=se.prototype.oneOf;for(const n of["not","nope"])se.prototype[n]=se.prototype.notOneOf;const rh=()=>!0;function go(n){return new wo(n)}class wo extends se{constructor(e){super(typeof e=="function"?{type:"mixed",check:e}:Object.assign({type:"mixed",check:rh},e))}}go.prototype=wo.prototype;function bs(){return new bo}class bo extends se{constructor(){super({type:"boolean",check(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}}),this.withMutation(()=>{this.transform((e,t,r)=>{if(r.spec.coerce&&!r.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}isTrue(e=zn.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(t){return pe(t)||t===!0}})}isFalse(e=zn.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(t){return pe(t)||t===!1}})}default(e){return super.default(e)}defined(e){return super.defined(e)}optional(){return super.optional()}required(e){return super.required(e)}notRequired(){return super.notRequired()}nullable(){return super.nullable()}nonNullable(e){return super.nonNullable(e)}strip(e){return super.strip(e)}}bs.prototype=bo.prototype;let nh=/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,sh=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,ih=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,oh=n=>pe(n)||n===n.trim(),ah={}.toString();function S(){return new vo}class vo extends se{constructor(){super({type:"string",check(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}}),this.withMutation(()=>{this.transform((e,t,r)=>{if(!r.spec.coerce||r.isType(e)||Array.isArray(e))return e;const s=e!=null&&e.toString?e.toString():e;return s===ah?e:s})})}required(e){return super.required(e).withMutation(t=>t.test({message:e||$e.required,name:"required",skipAbsent:!0,test:r=>!!r.length}))}notRequired(){return super.notRequired().withMutation(e=>(e.tests=e.tests.filter(t=>t.OPTIONS.name!=="required"),e))}length(e,t=me.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(r){return r.length===this.resolve(e)}})}min(e,t=me.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(r){return r.length>=this.resolve(e)}})}max(e,t=me.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},skipAbsent:!0,test(r){return r.length<=this.resolve(e)}})}matches(e,t){let r=!1,s,i;return t&&(typeof t=="object"?{excludeEmptyString:r=!1,message:s,name:i}=t:s=t),this.test({name:i||"matches",message:s||me.matches,params:{regex:e},skipAbsent:!0,test:o=>o===""&&r||o.search(e)!==-1})}email(e=me.email){return this.matches(nh,{name:"email",message:e,excludeEmptyString:!0})}url(e=me.url){return this.matches(sh,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=me.uuid){return this.matches(ih,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=me.trim){return this.transform(t=>t!=null?t.trim():t).test({message:e,name:"trim",test:oh})}lowercase(e=me.lowercase){return this.transform(t=>pe(t)?t:t.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:t=>pe(t)||t===t.toLowerCase()})}uppercase(e=me.uppercase){return this.transform(t=>pe(t)?t:t.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:t=>pe(t)||t===t.toUpperCase()})}}S.prototype=vo.prototype;let ch=n=>n!=+n;function K(){return new _o}class _o extends se{constructor(){super({type:"number",check(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!ch(e)}}),this.withMutation(()=>{this.transform((e,t,r)=>{if(!r.spec.coerce)return e;let s=e;if(typeof s=="string"){if(s=s.replace(/\s/g,""),s==="")return NaN;s=+s}return r.isType(s)?s:parseFloat(s)})})}min(e,t=We.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(r){return r>=this.resolve(e)}})}max(e,t=We.max){return this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(r){return r<=this.resolve(e)}})}lessThan(e,t=We.lessThan){return this.test({message:t,name:"max",exclusive:!0,params:{less:e},skipAbsent:!0,test(r){return r<this.resolve(e)}})}moreThan(e,t=We.moreThan){return this.test({message:t,name:"min",exclusive:!0,params:{more:e},skipAbsent:!0,test(r){return r>this.resolve(e)}})}positive(e=We.positive){return this.moreThan(0,e)}negative(e=We.negative){return this.lessThan(0,e)}integer(e=We.integer){return this.test({name:"integer",message:e,skipAbsent:!0,test:t=>Number.isInteger(t)})}truncate(){return this.transform(e=>pe(e)?e:e|0)}round(e){var t;let r=["ceil","floor","round","trunc"];if(e=((t=e)==null?void 0:t.toLowerCase())||"round",e==="trunc")return this.truncate();if(r.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+r.join(", "));return this.transform(s=>pe(s)?s:Math[e](s))}}K.prototype=_o.prototype;var uh=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function lh(n){var e=[1,4,5,6,7,10,11],t=0,r,s;if(s=uh.exec(n)){for(var i=0,o;o=e[i];++i)s[o]=+s[o]||0;s[2]=(+s[2]||1)-1,s[3]=+s[3]||1,s[7]=s[7]?String(s[7]).substr(0,3):0,(s[8]===void 0||s[8]==="")&&(s[9]===void 0||s[9]==="")?r=+new Date(s[1],s[2],s[3],s[4],s[5],s[6],s[7]):(s[8]!=="Z"&&s[9]!==void 0&&(t=s[10]*60+s[11],s[9]==="+"&&(t=0-t)),r=Date.UTC(s[1],s[2],s[3],s[4],s[5]+t,s[6],s[7]))}else r=Date.parse?Date.parse(n):NaN;return r}let hh=new Date(""),fh=n=>Object.prototype.toString.call(n)==="[object Date]";class sn extends se{constructor(){super({type:"date",check(e){return fh(e)&&!isNaN(e.getTime())}}),this.withMutation(()=>{this.transform((e,t,r)=>!r.spec.coerce||r.isType(e)?e:(e=lh(e),isNaN(e)?sn.INVALID_DATE:new Date(e)))})}prepareParam(e,t){let r;if(xt.isRef(e))r=e;else{let s=this.cast(e);if(!this._typeCheck(s))throw new TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);r=s}return r}min(e,t=Hn.min){let r=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(s){return s>=this.resolve(r)}})}max(e,t=Hn.max){let r=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(s){return s<=this.resolve(r)}})}}sn.INVALID_DATE=hh;sn.prototype;function dh(n,e=[]){let t=[],r=new Set,s=new Set(e.map(([o,a])=>`${o}-${a}`));function i(o,a){let c=pt.split(o)[0];r.add(c),s.has(`${a}-${c}`)||t.push([a,c])}for(const o of Object.keys(n)){let a=n[o];r.add(o),xt.isRef(a)&&a.isSibling?i(a.path,o):nn(a)&&"deps"in a&&a.deps.forEach(c=>i(c,o))}return Dr.array(Array.from(r),t).reverse()}function ai(n,e){let t=1/0;return n.some((r,s)=>{var i;if((i=e.path)!=null&&i.includes(r))return t=s,!0}),t}function Eo(n){return(e,t)=>ai(n,e)-ai(n,t)}const xo=(n,e,t)=>{if(typeof n!="string")return n;let r=n;try{r=JSON.parse(n)}catch{}return t.isType(r)?r:n};function $r(n){if("fields"in n){const e={};for(const[t,r]of Object.entries(n.fields))e[t]=$r(r);return n.setFields(e)}if(n.type==="array"){const e=n.optional();return e.innerType&&(e.innerType=$r(e.innerType)),e}return n.type==="tuple"?n.optional().clone({types:n.spec.types.map($r)}):"optional"in n?n.optional():n}const ph=(n,e)=>{const t=[...pt.normalizePath(e)];if(t.length===1)return t[0]in n;let r=t.pop(),s=pt.getter(pt.join(t),!0)(n);return!!(s&&r in s)};let ci=n=>Object.prototype.toString.call(n)==="[object Object]";function yh(n,e){let t=Object.keys(n.fields);return Object.keys(e).filter(r=>t.indexOf(r)===-1)}const mh=Eo([]);function ue(n){return new Oo(n)}class Oo extends se{constructor(e){super({type:"object",check(t){return ci(t)||typeof t=="function"}}),this.fields=Object.create(null),this._sortErrors=mh,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{e&&this.shape(e)})}_cast(e,t={}){var r;let s=super._cast(e,t);if(s===void 0)return this.getDefault();if(!this._typeCheck(s))return s;let i=this.fields,o=(r=t.stripUnknown)!=null?r:this.spec.noUnknown,a=[].concat(this._nodes,Object.keys(s).filter(h=>!this._nodes.includes(h))),c={},u=Object.assign({},t,{parent:c,__validating:t.__validating||!1}),l=!1;for(const h of a){let p=i[h],f=h in s;if(p){let d,w=s[h];u.path=(t.path?`${t.path}.`:"")+h,p=p.resolve({value:w,context:t.context,parent:c});let b=p instanceof se?p.spec:void 0,O=b==null?void 0:b.strict;if(b!=null&&b.strip){l=l||h in s;continue}d=!t.__validating||!O?p.cast(s[h],u):s[h],d!==void 0&&(c[h]=d)}else f&&!o&&(c[h]=s[h]);(f!==h in c||c[h]!==s[h])&&(l=!0)}return l?c:s}_validate(e,t={},r,s){let{from:i=[],originalValue:o=e,recursive:a=this.spec.recursive}=t;t.from=[{schema:this,value:o},...i],t.__validating=!0,t.originalValue=o,super._validate(e,t,r,(c,u)=>{if(!a||!ci(u)){s(c,u);return}o=o||u;let l=[];for(let h of this._nodes){let p=this.fields[h];!p||xt.isRef(p)||l.push(p.asNestedTest({options:t,key:h,parent:u,parentPath:t.path,originalParent:o}))}this.runTests({tests:l,value:u,originalValue:o,options:t},r,h=>{s(h.sort(this._sortErrors).concat(c),u)})})}clone(e){const t=super.clone(e);return t.fields=Object.assign({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),r=t.fields;for(let[s,i]of Object.entries(this.fields)){const o=r[s];r[s]=o===void 0?i:o}return t.withMutation(s=>s.setFields(r,this._excludedEdges))}_getDefault(){if("default"in this.spec)return super._getDefault();if(!this._nodes.length)return;let e={};return this._nodes.forEach(t=>{const r=this.fields[t];e[t]=r&&"getDefault"in r?r.getDefault():void 0}),e}setFields(e,t){let r=this.clone();return r.fields=e,r._nodes=dh(e,t),r._sortErrors=Eo(Object.keys(e)),t&&(r._excludedEdges=t),r}shape(e,t=[]){return this.clone().withMutation(r=>{let s=r._excludedEdges;return t.length&&(Array.isArray(t[0])||(t=[t]),s=[...r._excludedEdges,...t]),r.setFields(Object.assign(r.fields,e),s)})}partial(){const e={};for(const[t,r]of Object.entries(this.fields))e[t]="optional"in r&&r.optional instanceof Function?r.optional():r;return this.setFields(e)}deepPartial(){return $r(this)}pick(e){const t={};for(const r of e)this.fields[r]&&(t[r]=this.fields[r]);return this.setFields(t)}omit(e){const t=Object.assign({},this.fields);for(const r of e)delete t[r];return this.setFields(t)}from(e,t,r){let s=pt.getter(e,!0);return this.transform(i=>{if(!i)return i;let o=i;return ph(i,e)&&(o=Object.assign({},i),r||delete o[e],o[t]=s(i)),o})}json(){return this.transform(xo)}noUnknown(e=!0,t=qn.noUnknown){typeof e!="boolean"&&(t=e,e=!0);let r=this.test({name:"noUnknown",exclusive:!0,message:t,test(s){if(s==null)return!0;const i=yh(this.schema,s);return!e||i.length===0||this.createError({params:{unknown:i.join(", ")}})}});return r.spec.noUnknown=e,r}unknown(e=!0,t=qn.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform(t=>{if(!t)return t;const r={};for(const s of Object.keys(t))r[e(s)]=t[s];return r})}camelCase(){return this.transformKeys(Rn.camelCase)}snakeCase(){return this.transformKeys(Rn.snakeCase)}constantCase(){return this.transformKeys(e=>Rn.snakeCase(e).toUpperCase())}describe(e){let t=super.describe(e);t.fields={};for(const[s,i]of Object.entries(this.fields)){var r;let o=e;(r=o)!=null&&r.value&&(o=Object.assign({},o,{parent:o.value,value:o.value[s]})),t.fields[s]=i.describe(o)}return t}}ue.prototype=Oo.prototype;function gt(n){return new To(n)}class To extends se{constructor(e){super({type:"array",check(t){return Array.isArray(t)}}),this.innerType=void 0,this.innerType=e}_cast(e,t){const r=super._cast(e,t);if(!this._typeCheck(r)||!this.innerType)return r;let s=!1;const i=r.map((o,a)=>{const c=this.innerType.cast(o,Object.assign({},t,{path:`${t.path||""}[${a}]`}));return c!==o&&(s=!0),c});return s?i:r}_validate(e,t={},r,s){var i;let o=this.innerType,a=(i=t.recursive)!=null?i:this.spec.recursive;t.originalValue!=null&&t.originalValue,super._validate(e,t,r,(c,u)=>{var l;if(!a||!o||!this._typeCheck(u)){s(c,u);return}let h=new Array(u.length);for(let f=0;f<u.length;f++){var p;h[f]=o.asNestedTest({options:t,index:f,parent:u,parentPath:t.path,originalParent:(p=t.originalValue)!=null?p:e})}this.runTests({value:u,tests:h,originalValue:(l=t.originalValue)!=null?l:e,options:t},r,f=>s(f.concat(c),u))})}clone(e){const t=super.clone(e);return t.innerType=this.innerType,t}json(){return this.transform(xo)}concat(e){let t=super.concat(e);return t.innerType=this.innerType,e.innerType&&(t.innerType=t.innerType?t.innerType.concat(e.innerType):e.innerType),t}of(e){let t=this.clone();if(!nn(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+yt(e));return t.innerType=e,t}length(e,t=Pr.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(r){return r.length===this.resolve(e)}})}min(e,t){return t=t||Pr.min,this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(r){return r.length>=this.resolve(e)}})}max(e,t){return t=t||Pr.max,this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(r){return r.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,t)=>this._typeCheck(e)?e:t==null?[]:[].concat(t))}compact(e){let t=e?(r,s,i)=>!e(r,s,i):r=>!!r;return this.transform(r=>r!=null?r.filter(t):r)}describe(e){let t=super.describe(e);if(this.innerType){var r;let s=e;(r=s)!=null&&r.value&&(s=Object.assign({},s,{parent:s.value,value:s.value[0]})),t.innerType=this.innerType.describe(e)}return t}}gt.prototype=To.prototype;const ui=ue({url:S().url(),height:K(),width:K()}),gh=ue({type:S().default("rich"),title:S(),color:K(),thumbnail:ui,image:ui,url:S()}),wh=ue({url:S().url().required(),username:S(),avatar_url:S().url(),message:S().required(),embed:gh}),bh="notify_discord_webhook";class on{static async SimpleToRaw(e){return{name:"",notify_type:bh,notify:await on.validateCreate(e)}}static validateCreate(e){return wh.validate(e)}}const vh=ue({email:S().required(),subject:S(),html:S().required()}),_h="notify_telegram";class vs{static async SimpleToRaw(e){return{name:"",notify_type:_h,notify:await vs.validateCreate(e)}}static async validateCreate(e){return vh.validate(e)}}const Eh=ue({clientId:K().required(),content:S().required()}),xh="notify_telegram";class _s{static async SimpleToRaw(e){return{name:"",notify_type:xh,notify:await _s.validateCreate(e)}}static validateCreate(e){return Eh.validate(e)}}class Ao{static async SimpleToRaw(e,t){switch(e){case"Discord":return on.SimpleToRaw(t);case"Telegram":return _s.SimpleToRaw(t);case"Email":return vs.SimpleToRaw(t)}}}const Oh="handler_function_call";class an{static async SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:Oh,handler:await an.convertAndValidate(r)}}static convertAndValidate(e){const t=([s],i)=>s==="true"?i.notRequired():i.required();return ue({address:S().required(),abi:gt().required(),nBlocks:K().default(100).min(10).required(),function:S().required(),condition:S().default("true").oneOf([">",">=","<","<=","=","true"]).required(),constant:K().min(0).when("condition",t),responseArgIndex:K().min(0).when("condition",t),responseArgDecimals:K().min(0).when("condition",t)}).validate(e)}}const Th="handler_onchain_event";class cn{static async SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:Th,handler:await cn.convertAndValidate(r)}}static async convertAndValidate(e){const t=([s],i)=>s==="true"?i.notRequired():i.required();return await ue({address:S().required(),event:S().required(),abi:gt().required(),condition:S().default("true").oneOf([">",">=","<","<=","=","true"]).required(),constant:K().min(0).when("condition",t),paramsIndex:K().min(0).when("condition",t),paramsDecimals:K().min(0).when("condition",t)}).validate(e)}}const Ah="6.1.0";function Sh(n,e,t){const r=e.split("|").map(i=>i.trim());for(let i=0;i<r.length;i++)switch(e){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof n===e)return}const s=new Error(`invalid value for type ${e}`);throw s.code="INVALID_ARGUMENT",s.argument=`value.${t}`,s.value=n,s}async function So(n){const e=Object.keys(n);return(await Promise.all(e.map(r=>Promise.resolve(n[r])))).reduce((r,s,i)=>(r[e[i]]=s,r),{})}function R(n,e,t){for(let r in e){let s=e[r];const i=t?t[r]:null;i&&Sh(s,i,r),Object.defineProperty(n,r,{enumerable:!0,value:s,writable:!1})}}function Ct(n){if(n==null)return"null";if(Array.isArray(n))return"[ "+n.map(Ct).join(", ")+" ]";if(n instanceof Uint8Array){const e="0123456789abcdef";let t="0x";for(let r=0;r<n.length;r++)t+=e[n[r]>>4],t+=e[n[r]&15];return t}if(typeof n=="object"&&typeof n.toJSON=="function")return Ct(n.toJSON());switch(typeof n){case"boolean":case"symbol":return n.toString();case"bigint":return BigInt(n).toString();case"number":return n.toString();case"string":return JSON.stringify(n);case"object":{const e=Object.keys(n);return e.sort(),"{ "+e.map(t=>`${Ct(t)}: ${Ct(n[t])}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function jr(n,e){return n&&n.code===e}function ko(n){return jr(n,"CALL_EXCEPTION")}function un(n,e,t){{const s=[];if(t){if("message"in t||"code"in t||"name"in t)throw new Error(`value will overwrite populated values: ${Ct(t)}`);for(const i in t){const o=t[i];s.push(i+"="+Ct(o))}}s.push(`code=${e}`),s.push(`version=${Ah}`),s.length&&(n+=" ("+s.join(", ")+")")}let r;switch(e){case"INVALID_ARGUMENT":r=new TypeError(n);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":r=new RangeError(n);break;default:r=new Error(n)}return R(r,{code:e}),t&&Object.assign(r,t),r}function T(n,e,t,r){if(!n)throw un(e,t,r)}function E(n,e,t,r){T(n,e,"INVALID_ARGUMENT",{argument:t,value:r})}function Ro(n,e,t){t==null&&(t=""),t&&(t=": "+t),T(n>=e,"missing arguemnt"+t,"MISSING_ARGUMENT",{count:n,expectedCount:e}),T(n<=e,"too many arguemnts"+t,"UNEXPECTED_ARGUMENT",{count:n,expectedCount:e})}const kh=["NFD","NFC","NFKD","NFKC"].reduce((n,e)=>{try{if("test".normalize(e)!=="test")throw new Error("bad");if(e==="NFD"){const t=String.fromCharCode(233).normalize("NFD"),r=String.fromCharCode(101,769);if(t!==r)throw new Error("broken")}n.push(e)}catch{}return n},[]);function Rh(n){T(kh.indexOf(n)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:n}})}function Es(n,e,t){if(t==null&&(t=""),n!==e){let r=t,s="new";t&&(r+=".",s+=" "+t),T(!1,`private constructor; use ${r}from* methods`,"UNSUPPORTED_OPERATION",{operation:s})}}function No(n,e,t){if(n instanceof Uint8Array)return t?new Uint8Array(n):n;if(typeof n=="string"&&n.match(/^0x([0-9a-f][0-9a-f])*$/i)){const r=new Uint8Array((n.length-2)/2);let s=2;for(let i=0;i<r.length;i++)r[i]=parseInt(n.substring(s,s+2),16),s+=2;return r}E(!1,"invalid BytesLike value",e||"value",n)}function He(n,e){return No(n,e,!1)}function Be(n,e){return No(n,e,!0)}function Qe(n,e){return!(typeof n!="string"||!n.match(/^0x[0-9A-Fa-f]*$/)||typeof e=="number"&&n.length!==2+2*e||e===!0&&n.length%2!==0)}const li="0123456789abcdef";function V(n){const e=He(n);let t="0x";for(let r=0;r<e.length;r++){const s=e[r];t+=li[(s&240)>>4]+li[s&15]}return t}function Dt(n){return"0x"+n.map(e=>V(e).substring(2)).join("")}function kt(n,e,t){const r=He(n);return t!=null&&t>r.length&&T(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:r,length:r.length,offset:t}),V(r.slice(e??0,t??r.length))}function Nh(n,e,t){const r=He(n);T(e>=r.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(r),length:e,offset:e+1});const s=new Uint8Array(e);return s.fill(0),t?s.set(r,e-r.length):s.set(r,0),V(s)}function Ph(n,e){return Nh(n,e,!0)}const ln=BigInt(0),be=BigInt(1),It=9007199254740991;function $h(n,e){const t=hn(n,"value"),r=BigInt(Ve(e,"width"));if(T(t>>r===ln,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:n}),t>>r-be){const s=(be<<r)-be;return-((~t&s)+be)}return t}function Ch(n,e){let t=Ot(n,"value");const r=BigInt(Ve(e,"width")),s=be<<r-be;if(t<ln){t=-t,T(t<=s,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:n});const i=(be<<r)-be;return(~t&i)+be}else T(t<s,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:n});return t}function Er(n,e){const t=hn(n,"value"),r=BigInt(Ve(e,"bits"));return t&(be<<r)-be}function Ot(n,e){switch(typeof n){case"bigint":return n;case"number":return E(Number.isInteger(n),"underflow",e||"value",n),E(n>=-It&&n<=It,"overflow",e||"value",n),BigInt(n);case"string":try{if(n==="")throw new Error("empty string");return n[0]==="-"&&n[1]!=="-"?-BigInt(n.substring(1)):BigInt(n)}catch(t){E(!1,`invalid BigNumberish string: ${t.message}`,e||"value",n)}}E(!1,"invalid BigNumberish value",e||"value",n)}function hn(n,e){const t=Ot(n,e);return T(t>=ln,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:n}),t}const hi="0123456789abcdef";function Po(n){if(n instanceof Uint8Array){let e="0x0";for(const t of n)e+=hi[t>>4],e+=hi[t&15];return BigInt(e)}return Ot(n)}function Ve(n,e){switch(typeof n){case"bigint":return E(n>=-It&&n<=It,"overflow",e||"value",n),Number(n);case"number":return E(Number.isInteger(n),"underflow",e||"value",n),E(n>=-It&&n<=It,"overflow",e||"value",n),n;case"string":try{if(n==="")throw new Error("empty string");return Ve(BigInt(n),e)}catch(t){E(!1,`invalid numeric string: ${t.message}`,e||"value",n)}}E(!1,"invalid numeric value",e||"value",n)}function Ih(n){return Ve(Po(n))}function $o(n,e){let r=hn(n,"value").toString(16);if(e==null)r.length%2&&(r="0"+r);else{const s=Ve(e,"width");for(T(s*2>=r.length,`value exceeds width (${s} bits)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:n});r.length<s*2;)r="0"+r}return"0x"+r}function Fh(n){const e=hn(n,"value");if(e===ln)return new Uint8Array([]);let t=e.toString(16);t.length%2&&(t="0"+t);const r=new Uint8Array(t.length/2);for(let s=0;s<r.length;s++){const i=s*2;r[s]=parseInt(t.substring(i,i+2),16)}return r}var Ut;class Dh{constructor(e,t,r){m(this,"filter");m(this,"emitter");L(this,Ut,void 0);I(this,Ut,t),R(this,{emitter:e,filter:r})}async removeListener(){v(this,Ut)!=null&&await this.emitter.off(this.filter,v(this,Ut))}}Ut=new WeakMap;function Uh(n,e,t,r,s){E(!1,`invalid codepoint at offset ${e}; ${n}`,"bytes",t)}function Co(n,e,t,r,s){if(n==="BAD_PREFIX"||n==="UNEXPECTED_CONTINUE"){let i=0;for(let o=e+1;o<t.length&&t[o]>>6===2;o++)i++;return i}return n==="OVERRUN"?t.length-e-1:0}function Lh(n,e,t,r,s){return n==="OVERLONG"?(E(typeof s=="number","invalid bad code point for replacement","badCodepoint",s),r.push(s),0):(r.push(65533),Co(n,e,t))}const jh=Object.freeze({error:Uh,ignore:Co,replace:Lh});function Bh(n,e){e==null&&(e=jh.error);const t=He(n,"bytes"),r=[];let s=0;for(;s<t.length;){const i=t[s++];if(!(i>>7)){r.push(i);continue}let o=null,a=null;if((i&224)===192)o=1,a=127;else if((i&240)===224)o=2,a=2047;else if((i&248)===240)o=3,a=65535;else{(i&192)===128?s+=e("UNEXPECTED_CONTINUE",s-1,t,r):s+=e("BAD_PREFIX",s-1,t,r);continue}if(s-1+o>=t.length){s+=e("OVERRUN",s-1,t,r);continue}let c=i&(1<<8-o-1)-1;for(let u=0;u<o;u++){let l=t[s];if((l&192)!=128){s+=e("MISSING_CONTINUE",s,t,r),c=null;break}c=c<<6|l&63,s++}if(c!==null){if(c>1114111){s+=e("OUT_OF_RANGE",s-1-o,t,r,c);continue}if(c>=55296&&c<=57343){s+=e("UTF16_SURROGATE",s-1-o,t,r,c);continue}if(c<=a){s+=e("OVERLONG",s-1-o,t,r,c);continue}r.push(c)}}return r}function Io(n,e){e!=null&&(Rh(e),n=n.normalize(e));let t=[];for(let r=0;r<n.length;r++){const s=n.charCodeAt(r);if(s<128)t.push(s);else if(s<2048)t.push(s>>6|192),t.push(s&63|128);else if((s&64512)==55296){r++;const i=n.charCodeAt(r);E(r<n.length&&(i&64512)===56320,"invalid surrogate pair","str",n);const o=65536+((s&1023)<<10)+(i&1023);t.push(o>>18|240),t.push(o>>12&63|128),t.push(o>>6&63|128),t.push(o&63|128)}else t.push(s>>12|224),t.push(s>>6&63|128),t.push(s&63|128)}return new Uint8Array(t)}function Mh(n){return n.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function Hh(n,e){return Mh(Bh(n,e))}const ee=32,Vn=new Uint8Array(ee),zh=["then"],xr={};function Or(n,e){const t=new Error(`deferred error during ABI decoding triggered accessing ${n}`);throw t.error=e,t}var Xe;const Qt=class extends Array{constructor(...t){const r=t[0];let s=t[1],i=(t[2]||[]).slice(),o=!0;r!==xr&&(s=t,i=[],o=!1);super(s.length);L(this,Xe,void 0);s.forEach((c,u)=>{this[u]=c});const a=i.reduce((c,u)=>(typeof u=="string"&&c.set(u,(c.get(u)||0)+1),c),new Map);if(I(this,Xe,Object.freeze(s.map((c,u)=>{const l=i[u];return l!=null&&a.get(l)===1?l:null}))),!!o)return Object.freeze(this),new Proxy(this,{get:(c,u,l)=>{if(typeof u=="string"){if(u.match(/^[0-9]+$/)){const p=Ve(u,"%index");if(p<0||p>=this.length)throw new RangeError("out of result range");const f=c[p];return f instanceof Error&&Or(`index ${p}`,f),f}if(zh.indexOf(u)>=0)return Reflect.get(c,u,l);const h=c[u];if(h instanceof Function)return function(...p){return h.apply(this===l?c:this,p)};if(!(u in c))return c.getValue.apply(this===l?c:this,[u])}return Reflect.get(c,u,l)}})}toArray(){const t=[];return this.forEach((r,s)=>{r instanceof Error&&Or(`index ${s}`,r),t.push(r)}),t}toObject(){return v(this,Xe).reduce((t,r,s)=>(T(r!=null,"value at index ${ index } unnamed","UNSUPPORTED_OPERATION",{operation:"toObject()"}),r in t||(t[r]=this.getValue(r)),t),{})}slice(t,r){t==null&&(t=0),t<0&&(t+=this.length,t<0&&(t=0)),r==null&&(r=this.length),r<0&&(r+=this.length,r<0&&(r=0)),r>this.length&&(r=this.length);const s=[],i=[];for(let o=t;o<r;o++)s.push(this[o]),i.push(v(this,Xe)[o]);return new Qt(xr,s,i)}filter(t,r){const s=[],i=[];for(let o=0;o<this.length;o++){const a=this[o];a instanceof Error&&Or(`index ${o}`,a),t.call(r,a,o,this)&&(s.push(a),i.push(v(this,Xe)[o]))}return new Qt(xr,s,i)}getValue(t){const r=v(this,Xe).indexOf(t);if(r===-1)return;const s=this[r];return s instanceof Error&&Or(`property ${JSON.stringify(t)}`,s.error),s}static fromItems(t,r){return new Qt(xr,t,r)}};let Br=Qt;Xe=new WeakMap;function fi(n){let e=Fh(n);return T(e.length<=ee,"value out-of-bounds","BUFFER_OVERRUN",{buffer:e,length:ee,offset:e.length}),e.length!==ee&&(e=Be(Dt([Vn.slice(e.length%ee),e]))),e}class Je{constructor(e,t,r,s){m(this,"name");m(this,"type");m(this,"localName");m(this,"dynamic");R(this,{name:e,type:t,localName:r,dynamic:s},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(e,t){E(!1,e,this.localName,t)}}var Ue,ft,Lt,Cr;class Jn{constructor(){L(this,Lt);L(this,Ue,void 0);L(this,ft,void 0);I(this,Ue,[]),I(this,ft,0)}get data(){return Dt(v(this,Ue))}get length(){return v(this,ft)}appendWriter(e){return z(this,Lt,Cr).call(this,Be(e.data))}writeBytes(e){let t=Be(e);const r=t.length%ee;return r&&(t=Be(Dt([t,Vn.slice(r)]))),z(this,Lt,Cr).call(this,t)}writeValue(e){return z(this,Lt,Cr).call(this,fi(e))}writeUpdatableValue(){const e=v(this,Ue).length;return v(this,Ue).push(Vn),I(this,ft,v(this,ft)+ee),t=>{v(this,Ue)[e]=fi(t)}}}Ue=new WeakMap,ft=new WeakMap,Lt=new WeakSet,Cr=function(e){return v(this,Ue).push(e),I(this,ft,v(this,ft)+e.length),e.length};var ae,de,zr,Fo;const Is=class{constructor(e,t){L(this,zr);m(this,"allowLoose");L(this,ae,void 0);L(this,de,void 0);R(this,{allowLoose:!!t}),I(this,ae,Be(e)),I(this,de,0)}get data(){return V(v(this,ae))}get dataLength(){return v(this,ae).length}get consumed(){return v(this,de)}get bytes(){return new Uint8Array(v(this,ae))}subReader(e){return new Is(v(this,ae).slice(v(this,de)+e),this.allowLoose)}readBytes(e,t){let r=z(this,zr,Fo).call(this,0,e,!!t);return I(this,de,v(this,de)+r.length),r.slice(0,e)}readValue(){return Po(this.readBytes(ee))}readIndex(){return Ih(this.readBytes(ee))}};let Gn=Is;ae=new WeakMap,de=new WeakMap,zr=new WeakSet,Fo=function(e,t,r){let s=Math.ceil(t/ee)*ee;return v(this,de)+s>v(this,ae).length&&(this.allowLoose&&r&&v(this,de)+t<=v(this,ae).length?s=t:T(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:Be(v(this,ae)),length:v(this,ae).length,offset:v(this,de)+s})),v(this,ae).slice(v(this,de),v(this,de)+s)};function Wn(n){if(!Number.isSafeInteger(n)||n<0)throw new Error(`Wrong positive integer: ${n}`)}function qh(n){if(typeof n!="boolean")throw new Error(`Expected boolean, not ${n}`)}function Do(n,...e){if(!(n instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(e.length>0&&!e.includes(n.length))throw new TypeError(`Expected Uint8Array of length ${e}, not of length=${n.length}`)}function Vh(n){if(typeof n!="function"||typeof n.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Wn(n.outputLen),Wn(n.blockLen)}function Jh(n,e=!0){if(n.destroyed)throw new Error("Hash instance has been destroyed");if(e&&n.finished)throw new Error("Hash#digest() has already been called")}function Gh(n,e){Do(n);const t=e.outputLen;if(n.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}const Rt={number:Wn,bool:qh,bytes:Do,hash:Vh,exists:Jh,output:Gh};/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Wh=n=>new Uint32Array(n.buffer,n.byteOffset,Math.floor(n.byteLength/4)),Kh=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Kh)throw new Error("Non little-endian hardware is not supported");Array.from({length:256},(n,e)=>e.toString(16).padStart(2,"0"));function Xh(n){if(typeof n!="string")throw new TypeError(`utf8ToBytes expected string, got ${typeof n}`);return new TextEncoder().encode(n)}function xs(n){if(typeof n=="string"&&(n=Xh(n)),!(n instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof n})`);return n}class Zh{clone(){return this._cloneInto()}}function Yh(n){const e=r=>n().update(xs(r)).digest(),t=n();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>n(),e}function Qh(n){const e=(r,s)=>n(s).update(xs(r)).digest(),t=n({});return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=r=>n(r),e}const Tr=BigInt(2**32-1),Kn=BigInt(32);function Uo(n,e=!1){return e?{h:Number(n&Tr),l:Number(n>>Kn&Tr)}:{h:Number(n>>Kn&Tr)|0,l:Number(n&Tr)|0}}function ef(n,e=!1){let t=new Uint32Array(n.length),r=new Uint32Array(n.length);for(let s=0;s<n.length;s++){const{h:i,l:o}=Uo(n[s],e);[t[s],r[s]]=[i,o]}return[t,r]}const tf=(n,e)=>BigInt(n>>>0)<<Kn|BigInt(e>>>0),rf=(n,e,t)=>n>>>t,nf=(n,e,t)=>n<<32-t|e>>>t,sf=(n,e,t)=>n>>>t|e<<32-t,of=(n,e,t)=>n<<32-t|e>>>t,af=(n,e,t)=>n<<64-t|e>>>t-32,cf=(n,e,t)=>n>>>t-32|e<<64-t,uf=(n,e)=>e,lf=(n,e)=>n,hf=(n,e,t)=>n<<t|e>>>32-t,ff=(n,e,t)=>e<<t|n>>>32-t,df=(n,e,t)=>e<<t-32|n>>>64-t,pf=(n,e,t)=>n<<t-32|e>>>64-t;function yf(n,e,t,r){const s=(e>>>0)+(r>>>0);return{h:n+t+(s/2**32|0)|0,l:s|0}}const mf=(n,e,t)=>(n>>>0)+(e>>>0)+(t>>>0),gf=(n,e,t,r)=>e+t+r+(n/2**32|0)|0,wf=(n,e,t,r)=>(n>>>0)+(e>>>0)+(t>>>0)+(r>>>0),bf=(n,e,t,r,s)=>e+t+r+s+(n/2**32|0)|0,vf=(n,e,t,r,s)=>(n>>>0)+(e>>>0)+(t>>>0)+(r>>>0)+(s>>>0),_f=(n,e,t,r,s,i)=>e+t+r+s+i+(n/2**32|0)|0,rr={fromBig:Uo,split:ef,toBig:tf,shrSH:rf,shrSL:nf,rotrSH:sf,rotrSL:of,rotrBH:af,rotrBL:cf,rotr32H:uf,rotr32L:lf,rotlSH:hf,rotlSL:ff,rotlBH:df,rotlBL:pf,add:yf,add3L:mf,add3H:gf,add4L:wf,add4H:bf,add5H:_f,add5L:vf},[Lo,jo,Bo]=[[],[],[]],Ef=BigInt(0),Kt=BigInt(1),xf=BigInt(2),Of=BigInt(7),Tf=BigInt(256),Af=BigInt(113);for(let n=0,e=Kt,t=1,r=0;n<24;n++){[t,r]=[r,(2*t+3*r)%5],Lo.push(2*(5*r+t)),jo.push((n+1)*(n+2)/2%64);let s=Ef;for(let i=0;i<7;i++)e=(e<<Kt^(e>>Of)*Af)%Tf,e&xf&&(s^=Kt<<(Kt<<BigInt(i))-Kt);Bo.push(s)}const[Sf,kf]=rr.split(Bo,!0),di=(n,e,t)=>t>32?rr.rotlBH(n,e,t):rr.rotlSH(n,e,t),pi=(n,e,t)=>t>32?rr.rotlBL(n,e,t):rr.rotlSL(n,e,t);function Rf(n,e=24){const t=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let o=0;o<10;o++)t[o]=n[o]^n[o+10]^n[o+20]^n[o+30]^n[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,u=t[c],l=t[c+1],h=di(u,l,1)^t[a],p=pi(u,l,1)^t[a+1];for(let f=0;f<50;f+=10)n[o+f]^=h,n[o+f+1]^=p}let s=n[2],i=n[3];for(let o=0;o<24;o++){const a=jo[o],c=di(s,i,a),u=pi(s,i,a),l=Lo[o];s=n[l],i=n[l+1],n[l]=c,n[l+1]=u}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=n[o+a];for(let a=0;a<10;a++)n[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}n[0]^=Sf[r],n[1]^=kf[r]}t.fill(0)}class fn extends Zh{constructor(e,t,r,s=!1,i=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=s,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Rt.number(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Wh(this.state)}keccak(){Rf(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){Rt.exists(this);const{blockLen:t,state:r}=this;e=xs(e);const s=e.length;for(let i=0;i<s;){const o=Math.min(t-this.pos,s-i);for(let a=0;a<o;a++)r[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:r,blockLen:s}=this;e[r]^=t,t&128&&r===s-1&&this.keccak(),e[s-1]^=128,this.keccak()}writeInto(e){Rt.exists(this,!1),Rt.bytes(e),this.finish();const t=this.state,{blockLen:r}=this;for(let s=0,i=e.length;s<i;){this.posOut>=r&&this.keccak();const o=Math.min(r-this.posOut,i-s);e.set(t.subarray(this.posOut,this.posOut+o),s),this.posOut+=o,s+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Rt.number(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Rt.output(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:t,suffix:r,outputLen:s,rounds:i,enableXOF:o}=this;return e||(e=new fn(t,r,s,o,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=s,e.enableXOF=o,e.destroyed=this.destroyed,e}}const rt=(n,e,t)=>Yh(()=>new fn(e,n,t));rt(6,144,224/8);rt(6,136,256/8);rt(6,104,384/8);rt(6,72,512/8);rt(1,144,224/8);const Nf=rt(1,136,256/8);rt(1,104,384/8);rt(1,72,512/8);const Mo=(n,e,t)=>Qh((r={})=>new fn(e,n,r.dkLen===void 0?t:r.dkLen,!0));Mo(31,168,128/8);Mo(31,136,256/8);let Ho=!1;const zo=function(n){return Nf(n)};let qo=zo;function tt(n){const e=He(n,"data");return V(qo(e))}tt._=zo;tt.lock=function(){Ho=!0};tt.register=function(n){if(Ho)throw new TypeError("keccak256 is locked");qo=n};Object.freeze(tt);const Pf=BigInt(0),$f=BigInt(36);function yi(n){n=n.toLowerCase();const e=n.substring(2).split(""),t=new Uint8Array(40);for(let s=0;s<40;s++)t[s]=e[s].charCodeAt(0);const r=He(tt(t));for(let s=0;s<40;s+=2)r[s>>1]>>4>=8&&(e[s]=e[s].toUpperCase()),(r[s>>1]&15)>=8&&(e[s+1]=e[s+1].toUpperCase());return"0x"+e.join("")}const Os={};for(let n=0;n<10;n++)Os[String(n)]=String(n);for(let n=0;n<26;n++)Os[String.fromCharCode(65+n)]=String(10+n);const mi=15;function Cf(n){n=n.toUpperCase(),n=n.substring(4)+n.substring(0,2)+"00";let e=n.split("").map(r=>Os[r]).join("");for(;e.length>=mi;){let r=e.substring(0,mi);e=parseInt(r,10)%97+e.substring(r.length)}let t=String(98-parseInt(e,10)%97);for(;t.length<2;)t="0"+t;return t}const If=function(){const n={};for(let e=0;e<36;e++){const t="0123456789abcdefghijklmnopqrstuvwxyz"[e];n[t]=BigInt(e)}return n}();function Ff(n){n=n.toLowerCase();let e=Pf;for(let t=0;t<n.length;t++)e=e*$f+If[n[t]];return e}function wt(n){if(E(typeof n=="string","invalid address","address",n),n.match(/^(0x)?[0-9a-fA-F]{40}$/)){n.startsWith("0x")||(n="0x"+n);const e=yi(n);return E(!n.match(/([A-F].*[a-f])|([a-f].*[A-F])/)||e===n,"bad address checksum","address",n),e}if(n.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){E(n.substring(2,4)===Cf(n),"bad icap checksum","address",n);let e=Ff(n.substring(4)).toString(16);for(;e.length<40;)e="0"+e;return yi("0x"+e)}E(!1,"invalid address","address",n)}function Df(n){return n&&typeof n.getAddress=="function"}async function Nn(n,e){const t=await e;return(t==null||t==="0x0000000000000000000000000000000000000000")&&(T(typeof n!="string","unconfigured name","UNCONFIGURED_NAME",{value:n}),E(!1,"invalid AddressLike value; did not resolve to a value address","target",n)),wt(t)}function Ts(n,e){if(typeof n=="string")return n.match(/^0x[0-9a-f]{40}$/i)?wt(n):(T(e!=null,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),Nn(n,e.resolveName(n)));if(Df(n))return Nn(n,n.getAddress());if(n&&typeof n.then=="function")return Nn(n,n);E(!1,"unsupported addressable value","target",n)}const Ce={};function x(n,e){let t=!1;return e<0&&(t=!0,e*=-1),new Q(Ce,`${t?"":"u"}int${e}`,n,{signed:t,width:e})}function $(n,e){return new Q(Ce,`bytes${e||""}`,n,{size:e})}const gi=Symbol.for("_ethers_typed");var dt;const Ie=class{constructor(e,t,r,s){m(this,"type");m(this,"value");L(this,dt,void 0);m(this,"_typedSymbol");s==null&&(s=null),Es(Ce,e,"Typed"),R(this,{_typedSymbol:gi,type:t,value:r}),I(this,dt,s),this.format()}format(){if(this.type==="array")throw new Error("");if(this.type==="dynamicArray")throw new Error("");return this.type==="tuple"?`tuple(${this.value.map(e=>e.format()).join(",")})`:this.type}defaultValue(){return 0}minValue(){return 0}maxValue(){return 0}isBigInt(){return!!this.type.match(/^u?int[0-9]+$/)}isData(){return this.type.startsWith("bytes")}isString(){return this.type==="string"}get tupleName(){if(this.type!=="tuple")throw TypeError("not a tuple");return v(this,dt)}get arrayLength(){if(this.type!=="array")throw TypeError("not an array");return v(this,dt)===!0?-1:v(this,dt)===!1?this.value.length:null}static from(e,t){return new Ie(Ce,e,t)}static uint8(e){return x(e,8)}static uint16(e){return x(e,16)}static uint24(e){return x(e,24)}static uint32(e){return x(e,32)}static uint40(e){return x(e,40)}static uint48(e){return x(e,48)}static uint56(e){return x(e,56)}static uint64(e){return x(e,64)}static uint72(e){return x(e,72)}static uint80(e){return x(e,80)}static uint88(e){return x(e,88)}static uint96(e){return x(e,96)}static uint104(e){return x(e,104)}static uint112(e){return x(e,112)}static uint120(e){return x(e,120)}static uint128(e){return x(e,128)}static uint136(e){return x(e,136)}static uint144(e){return x(e,144)}static uint152(e){return x(e,152)}static uint160(e){return x(e,160)}static uint168(e){return x(e,168)}static uint176(e){return x(e,176)}static uint184(e){return x(e,184)}static uint192(e){return x(e,192)}static uint200(e){return x(e,200)}static uint208(e){return x(e,208)}static uint216(e){return x(e,216)}static uint224(e){return x(e,224)}static uint232(e){return x(e,232)}static uint240(e){return x(e,240)}static uint248(e){return x(e,248)}static uint256(e){return x(e,256)}static uint(e){return x(e,256)}static int8(e){return x(e,-8)}static int16(e){return x(e,-16)}static int24(e){return x(e,-24)}static int32(e){return x(e,-32)}static int40(e){return x(e,-40)}static int48(e){return x(e,-48)}static int56(e){return x(e,-56)}static int64(e){return x(e,-64)}static int72(e){return x(e,-72)}static int80(e){return x(e,-80)}static int88(e){return x(e,-88)}static int96(e){return x(e,-96)}static int104(e){return x(e,-104)}static int112(e){return x(e,-112)}static int120(e){return x(e,-120)}static int128(e){return x(e,-128)}static int136(e){return x(e,-136)}static int144(e){return x(e,-144)}static int152(e){return x(e,-152)}static int160(e){return x(e,-160)}static int168(e){return x(e,-168)}static int176(e){return x(e,-176)}static int184(e){return x(e,-184)}static int192(e){return x(e,-192)}static int200(e){return x(e,-200)}static int208(e){return x(e,-208)}static int216(e){return x(e,-216)}static int224(e){return x(e,-224)}static int232(e){return x(e,-232)}static int240(e){return x(e,-240)}static int248(e){return x(e,-248)}static int256(e){return x(e,-256)}static int(e){return x(e,-256)}static bytes1(e){return $(e,1)}static bytes2(e){return $(e,2)}static bytes3(e){return $(e,3)}static bytes4(e){return $(e,4)}static bytes5(e){return $(e,5)}static bytes6(e){return $(e,6)}static bytes7(e){return $(e,7)}static bytes8(e){return $(e,8)}static bytes9(e){return $(e,9)}static bytes10(e){return $(e,10)}static bytes11(e){return $(e,11)}static bytes12(e){return $(e,12)}static bytes13(e){return $(e,13)}static bytes14(e){return $(e,14)}static bytes15(e){return $(e,15)}static bytes16(e){return $(e,16)}static bytes17(e){return $(e,17)}static bytes18(e){return $(e,18)}static bytes19(e){return $(e,19)}static bytes20(e){return $(e,20)}static bytes21(e){return $(e,21)}static bytes22(e){return $(e,22)}static bytes23(e){return $(e,23)}static bytes24(e){return $(e,24)}static bytes25(e){return $(e,25)}static bytes26(e){return $(e,26)}static bytes27(e){return $(e,27)}static bytes28(e){return $(e,28)}static bytes29(e){return $(e,29)}static bytes30(e){return $(e,30)}static bytes31(e){return $(e,31)}static bytes32(e){return $(e,32)}static address(e){return new Ie(Ce,"address",e)}static bool(e){return new Ie(Ce,"bool",!!e)}static bytes(e){return new Ie(Ce,"bytes",e)}static string(e){return new Ie(Ce,"string",e)}static array(e,t){throw new Error("not implemented yet")}static tuple(e,t){throw new Error("not implemented yet")}static overrides(e){return new Ie(Ce,"overrides",Object.assign({},e))}static isTyped(e){return e&&e._typedSymbol===gi}static dereference(e,t){if(Ie.isTyped(e)){if(e.type!==t)throw new Error(`invalid type: expecetd ${t}, got ${e.type}`);return e.value}return e}};let Q=Ie;dt=new WeakMap;class Uf extends Je{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,t){let r=Q.dereference(t,"string");try{r=wt(r)}catch(s){return this._throwError(s.message,t)}return e.writeValue(r)}decode(e){return wt($o(e.readValue(),20))}}class Lf extends Je{constructor(t){super(t.name,t.type,"_",t.dynamic);m(this,"coder");this.coder=t}defaultValue(){return this.coder.defaultValue()}encode(t,r){return this.coder.encode(t,r)}decode(t){return this.coder.decode(t)}}function Vo(n,e,t){let r=[];if(Array.isArray(t))r=t;else if(t&&typeof t=="object"){let c={};r=e.map(u=>{const l=u.localName;return T(l,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:u},value:t}),T(!c[l],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:u},value:t}),c[l]=!0,t[l]})}else E(!1,"invalid tuple value","tuple",t);E(e.length===r.length,"types/value length mismatch","tuple",t);let s=new Jn,i=new Jn,o=[];e.forEach((c,u)=>{let l=r[u];if(c.dynamic){let h=i.length;c.encode(i,l);let p=s.writeUpdatableValue();o.push(f=>{p(f+h)})}else c.encode(s,l)}),o.forEach(c=>{c(s.length)});let a=n.appendWriter(s);return a+=n.appendWriter(i),a}function Jo(n,e){let t=[],r=[],s=n.subReader(0);return e.forEach(i=>{let o=null;if(i.dynamic){let a=n.readIndex(),c=s.subReader(a);try{o=i.decode(c)}catch(u){if(jr(u,"BUFFER_OVERRUN"))throw u;o=u,o.baseType=i.name,o.name=i.localName,o.type=i.type}}else try{o=i.decode(n)}catch(a){if(jr(a,"BUFFER_OVERRUN"))throw a;o=a,o.baseType=i.name,o.name=i.localName,o.type=i.type}if(o==null)throw new Error("investigate");t.push(o),r.push(i.localName||null)}),Br.fromItems(t,r)}class jf extends Je{constructor(t,r,s){const i=t.type+"["+(r>=0?r:"")+"]",o=r===-1||t.dynamic;super("array",i,s,o);m(this,"coder");m(this,"length");R(this,{coder:t,length:r})}defaultValue(){const t=this.coder.defaultValue(),r=[];for(let s=0;s<this.length;s++)r.push(t);return r}encode(t,r){const s=Q.dereference(r,"array");Array.isArray(s)||this._throwError("expected array value",s);let i=this.length;i===-1&&(i=s.length,t.writeValue(s.length)),Ro(s.length,i,"coder array"+(this.localName?" "+this.localName:""));let o=[];for(let a=0;a<s.length;a++)o.push(this.coder);return Vo(t,o,s)}decode(t){let r=this.length;r===-1&&(r=t.readIndex(),T(r*ee<=t.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:t.bytes,offset:r*ee,length:t.dataLength}));let s=[];for(let i=0;i<r;i++)s.push(new Lf(this.coder));return Jo(t,s)}}class Bf extends Je{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,t){const r=Q.dereference(t,"bool");return e.writeValue(r?1:0)}decode(e){return!!e.readValue()}}class Go extends Je{constructor(e,t){super(e,e,t,!0)}defaultValue(){return"0x"}encode(e,t){t=Be(t);let r=e.writeValue(t.length);return r+=e.writeBytes(t),r}decode(e){return e.readBytes(e.readIndex(),!0)}}class Mf extends Go{constructor(e){super("bytes",e)}decode(e){return V(super.decode(e))}}class Hf extends Je{constructor(t,r){let s="bytes"+String(t);super(s,s,r,!1);m(this,"size");R(this,{size:t},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+this.size*2)}encode(t,r){let s=Be(Q.dereference(r,this.type));return s.length!==this.size&&this._throwError("incorrect data length",r),t.writeBytes(s)}decode(t){return V(t.readBytes(this.size))}}const zf=new Uint8Array([]);class qf extends Je{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,t){return t!=null&&this._throwError("not null",t),e.writeBytes(zf)}decode(e){return e.readBytes(0),null}}const Vf=BigInt(0),Jf=BigInt(1),Gf=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");class Wf extends Je{constructor(t,r,s){const i=(r?"int":"uint")+t*8;super(i,i,s,!1);m(this,"size");m(this,"signed");R(this,{size:t,signed:r},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode(t,r){let s=Ot(Q.dereference(r,this.type)),i=Er(Gf,ee*8);if(this.signed){let o=Er(i,this.size*8-1);(s>o||s<-(o+Jf))&&this._throwError("value out-of-bounds",r),s=Ch(s,8*ee)}else(s<Vf||s>Er(i,this.size*8))&&this._throwError("value out-of-bounds",r);return t.writeValue(s)}decode(t){let r=Er(t.readValue(),this.size*8);return this.signed&&(r=$h(r,this.size*8)),r}}class Kf extends Go{constructor(e){super("string",e)}defaultValue(){return""}encode(e,t){return super.encode(e,Io(Q.dereference(t,"string")))}decode(e){return Hh(super.decode(e))}}class Ar extends Je{constructor(t,r){let s=!1;const i=[];t.forEach(a=>{a.dynamic&&(s=!0),i.push(a.type)});const o="tuple("+i.join(",")+")";super("tuple",o,r,s);m(this,"coders");R(this,{coders:Object.freeze(t.slice())})}defaultValue(){const t=[];this.coders.forEach(s=>{t.push(s.defaultValue())});const r=this.coders.reduce((s,i)=>{const o=i.localName;return o&&(s[o]||(s[o]=0),s[o]++),s},{});return this.coders.forEach((s,i)=>{let o=s.localName;!o||r[o]!==1||(o==="length"&&(o="_length"),t[o]==null&&(t[o]=t[i]))}),Object.freeze(t)}encode(t,r){const s=Q.dereference(r,"tuple");return Vo(t,this.coders,s)}decode(t){return Jo(t,this.coders)}}function nr(n){return tt(Io(n))}function Pn(n,e){return{address:wt(n),storageKeys:e.map((t,r)=>(E(Qe(t,32),"invalid slot",`storageKeys[${r}]`,t),t.toLowerCase()))}}function Xf(n){if(Array.isArray(n))return n.map((t,r)=>Array.isArray(t)?(E(t.length===2,"invalid slot set",`value[${r}]`,t),Pn(t[0],t[1])):(E(t!=null&&typeof t=="object","invalid address-slot set","value",n),Pn(t.address,t.storageKeys)));E(n!=null&&typeof n=="object","invalid access list","value",n);const e=Object.keys(n).map(t=>{const r=n[t].reduce((s,i)=>(s[i]=!0,s),{});return Pn(t,Object.keys(r).sort())});return e.sort((t,r)=>t.address.localeCompare(r.address)),e}function te(n){const e=new Set;return n.forEach(t=>e.add(t)),Object.freeze(e)}const Wo="constant external internal payable private public pure view",Zf=te(Wo.split(" ")),Ko="constructor error event fallback function receive struct",Xo=te(Ko.split(" ")),Zo="calldata memory storage payable indexed",Yf=te(Zo.split(" ")),Qf="tuple returns",ed=[Ko,Zo,Qf,Wo].join(" "),td=te(ed.split(" ")),rd={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},nd=new RegExp("^(\\s*)"),sd=new RegExp("^([0-9]+)"),id=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),Yo=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),Qo=new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$");var W,ge,ir,Xn;const qr=class{constructor(e){L(this,ir);L(this,W,void 0);L(this,ge,void 0);I(this,W,0),I(this,ge,e.slice())}get offset(){return v(this,W)}get length(){return v(this,ge).length-v(this,W)}clone(){return new qr(v(this,ge))}reset(){I(this,W,0)}popKeyword(e){const t=this.peek();if(t.type!=="KEYWORD"||!e.has(t.text))throw new Error(`expected keyword ${t.text}`);return this.pop().text}popType(e){if(this.peek().type!==e)throw new Error(`expected ${e}; got ${JSON.stringify(this.peek())}`);return this.pop().text}popParen(){const e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");const t=z(this,ir,Xn).call(this,v(this,W)+1,e.match+1);return I(this,W,e.match+1),t}popParams(){const e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");const t=[];for(;v(this,W)<e.match-1;){const r=this.peek().linkNext;t.push(z(this,ir,Xn).call(this,v(this,W)+1,r)),I(this,W,r)}return I(this,W,e.match+1),t}peek(){if(v(this,W)>=v(this,ge).length)throw new Error("out-of-bounds");return v(this,ge)[v(this,W)]}peekKeyword(e){const t=this.peekType("KEYWORD");return t!=null&&e.has(t)?t:null}peekType(e){if(this.length===0)return null;const t=this.peek();return t.type===e?t.text:null}pop(){const e=this.peek();return Ds(this,W)._++,e}toString(){const e=[];for(let t=v(this,W);t<v(this,ge).length;t++){const r=v(this,ge)[t];e.push(`${r.type}:${r.text}`)}return`<TokenString ${e.join(" ")}>`}};let ve=qr;W=new WeakMap,ge=new WeakMap,ir=new WeakSet,Xn=function(e=0,t=0){return new qr(v(this,ge).slice(e,t).map(r=>Object.freeze(Object.assign({},r,{match:r.match-e,linkBack:r.linkBack-e,linkNext:r.linkNext-e}))))};function nt(n){const e=[],t=o=>{const a=i<n.length?JSON.stringify(n[i]):"$EOI";throw new Error(`invalid token ${a} at ${i}: ${o}`)};let r=[],s=[],i=0;for(;i<n.length;){let o=n.substring(i),a=o.match(nd);a&&(i+=a[1].length,o=n.substring(i));const c={depth:r.length,linkBack:-1,linkNext:-1,match:-1,type:"",text:"",offset:i,value:-1};e.push(c);let u=rd[o[0]]||"";if(u){if(c.type=u,c.text=o[0],i++,u==="OPEN_PAREN")r.push(e.length-1),s.push(e.length-1);else if(u=="CLOSE_PAREN")r.length===0&&t("no matching open bracket"),c.match=r.pop(),e[c.match].match=e.length-1,c.depth--,c.linkBack=s.pop(),e[c.linkBack].linkNext=e.length-1;else if(u==="COMMA")c.linkBack=s.pop(),e[c.linkBack].linkNext=e.length-1,s.push(e.length-1);else if(u==="OPEN_BRACKET")c.type="BRACKET";else if(u==="CLOSE_BRACKET"){let l=e.pop().text;if(e.length>0&&e[e.length-1].type==="NUMBER"){const h=e.pop().text;l=h+l,e[e.length-1].value=Ve(h)}if(e.length===0||e[e.length-1].type!=="BRACKET")throw new Error("missing opening bracket");e[e.length-1].text+=l}continue}if(a=o.match(id),a){if(c.text=a[1],i+=c.text.length,td.has(c.text)){c.type="KEYWORD";continue}if(c.text.match(Qo)){c.type="TYPE";continue}c.type="ID";continue}if(a=o.match(sd),a){c.text=a[1],c.type="NUMBER",i+=c.text.length;continue}throw new Error(`unexpected token ${JSON.stringify(o[0])} at position ${i}`)}return new ve(e.map(o=>Object.freeze(o)))}function wi(n,e){let t=[];for(const r in e.keys())n.has(r)&&t.push(r);if(t.length>1)throw new Error(`conflicting types: ${t.join(", ")}`)}function dn(n,e){if(e.peekKeyword(Xo)){const t=e.pop().text;if(t!==n)throw new Error(`expected ${n}, got ${t}`)}return e.popType("ID")}function ze(n,e){const t=new Set;for(;;){const r=n.peekType("KEYWORD");if(r==null||e&&!e.has(r))break;if(n.pop(),t.has(r))throw new Error(`duplicate keywords: ${JSON.stringify(r)}`);t.add(r)}return Object.freeze(t)}function ea(n){let e=ze(n,Zf);return wi(e,te("constant payable nonpayable".split(" "))),wi(e,te("pure view payable nonpayable".split(" "))),e.has("view")?"view":e.has("pure")?"pure":e.has("payable")?"payable":e.has("nonpayable")?"nonpayable":e.has("constant")?"view":"nonpayable"}function Me(n,e){return n.popParams().map(t=>X.from(t,e))}function ta(n){if(n.peekType("AT")){if(n.pop(),n.peekType("NUMBER"))return Ot(n.pop().text);throw new Error("invalid gas")}return null}function bt(n){if(n.length)throw new Error(`unexpected tokens: ${n.toString()}`)}const od=new RegExp(/^(.*)\[([0-9]*)\]$/);function bi(n){const e=n.match(Qo);if(E(e,"invalid type","type",n),n==="uint")return"uint256";if(n==="int")return"int256";if(e[2]){const t=parseInt(e[2]);E(t!==0&&t<=32,"invalid bytes length","type",n)}else if(e[3]){const t=parseInt(e[3]);E(t!==0&&t<=256&&t%8===0,"invalid numeric width","type",n)}return n}const B={},ie=Symbol.for("_ethers_internal"),vi="_ParamTypeInternal",_i="_ErrorInternal",Ei="_EventInternal",xi="_ConstructorInternal",Oi="_FallbackInternal",Ti="_FunctionInternal",Ai="_StructInternal";var jt,Ir;const fe=class{constructor(e,t,r,s,i,o,a,c){L(this,jt);m(this,"name");m(this,"type");m(this,"baseType");m(this,"indexed");m(this,"components");m(this,"arrayLength");m(this,"arrayChildren");if(Es(e,B,"ParamType"),Object.defineProperty(this,ie,{value:vi}),o&&(o=Object.freeze(o.slice())),s==="array"){if(a==null||c==null)throw new Error("")}else if(a!=null||c!=null)throw new Error("");if(s==="tuple"){if(o==null)throw new Error("")}else if(o!=null)throw new Error("");R(this,{name:t,type:r,baseType:s,indexed:i,components:o,arrayLength:a,arrayChildren:c})}format(e){if(e==null&&(e="sighash"),e==="json"){let r={type:this.baseType==="tuple"?"tuple":this.type,name:this.name||void 0};return typeof this.indexed=="boolean"&&(r.indexed=this.indexed),this.isTuple()&&(r.components=this.components.map(s=>JSON.parse(s.format(e)))),JSON.stringify(r)}let t="";return this.isArray()?(t+=this.arrayChildren.format(e),t+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`):this.isTuple()?(e!=="sighash"&&(t+=this.type),t+="("+this.components.map(r=>r.format(e)).join(e==="full"?", ":",")+")"):t+=this.type,e!=="sighash"&&(this.indexed===!0&&(t+=" indexed"),e==="full"&&this.name&&(t+=" "+this.name)),t}isArray(){return this.baseType==="array"}isTuple(){return this.baseType==="tuple"}isIndexable(){return this.indexed!=null}walk(e,t){if(this.isArray()){if(!Array.isArray(e))throw new Error("invalid array value");if(this.arrayLength!==-1&&e.length!==this.arrayLength)throw new Error("array is wrong length");const r=this;return e.map(s=>r.arrayChildren.walk(s,t))}if(this.isTuple()){if(!Array.isArray(e))throw new Error("invalid tuple value");if(e.length!==this.components.length)throw new Error("array is wrong length");const r=this;return e.map((s,i)=>r.components[i].walk(s,t))}return t(this.type,e)}async walkAsync(e,t){const r=[],s=[e];return z(this,jt,Ir).call(this,r,e,t,i=>{s[0]=i}),r.length&&await Promise.all(r),s[0]}static from(e,t){if(fe.isParamType(e))return e;if(typeof e=="string")return fe.from(nt(e),t);if(e instanceof ve){let a="",c="",u=null;ze(e,te(["tuple"])).has("tuple")||e.peekType("OPEN_PAREN")?(c="tuple",u=e.popParams().map(w=>fe.from(w)),a=`tuple(${u.map(w=>w.format()).join(",")})`):(a=bi(e.popType("TYPE")),c=a);let l=null,h=null;for(;e.length&&e.peekType("BRACKET");){const w=e.pop();l=new fe(B,"",a,c,null,u,h,l),h=w.value,a+=w.text,c="array",u=null}let p=null;if(ze(e,Yf).has("indexed")){if(!t)throw new Error("");p=!0}const d=e.peekType("ID")?e.pop().text:"";if(e.length)throw new Error("leftover tokens");return new fe(B,d,a,c,p,u,h,l)}const r=e.name;E(!r||typeof r=="string"&&r.match(Yo),"invalid name","obj.name",r);let s=e.indexed;s!=null&&(E(t,"parameter cannot be indexed","obj.indexed",e.indexed),s=!!s);let i=e.type,o=i.match(od);if(o){const a=parseInt(o[2]||"-1"),c=fe.from({type:o[1],components:e.components});return new fe(B,r||"",i,"array",s,null,a,c)}if(i==="tuple"||i.startsWith("tuple(")||i.startsWith("(")){const a=e.components!=null?e.components.map(u=>fe.from(u)):null;return new fe(B,r||"",i,"tuple",s,a,null,null)}return i=bi(e.type),new fe(B,r||"",i,i,s,null,null,null)}static isParamType(e){return e&&e[ie]===vi}};let X=fe;jt=new WeakSet,Ir=function(e,t,r,s){if(this.isArray()){if(!Array.isArray(t))throw new Error("invalid array value");if(this.arrayLength!==-1&&t.length!==this.arrayLength)throw new Error("array is wrong length");const o=this.arrayChildren,a=t.slice();a.forEach((c,u)=>{var l;z(l=o,jt,Ir).call(l,e,c,r,h=>{a[u]=h})}),s(a);return}if(this.isTuple()){const o=this.components;let a;if(Array.isArray(t))a=t.slice();else{if(t==null||typeof t!="object")throw new Error("invalid tuple value");a=o.map(c=>{if(!c.name)throw new Error("cannot use object value with unnamed components");if(!(c.name in t))throw new Error(`missing value for component ${c.name}`);return t[c.name]})}if(a.length!==this.components.length)throw new Error("array is wrong length");a.forEach((c,u)=>{var l;z(l=o[u],jt,Ir).call(l,e,c,r,h=>{a[u]=h})}),s(a);return}const i=r(this.type,t);i.then?e.push(async function(){s(await i)}()):s(i)};class vt{constructor(e,t,r){m(this,"type");m(this,"inputs");Es(e,B,"Fragment"),r=Object.freeze(r.slice()),R(this,{type:t,inputs:r})}static from(e){if(typeof e=="string"){try{vt.from(JSON.parse(e))}catch{}return vt.from(nt(e))}if(e instanceof ve)switch(e.peekKeyword(Xo)){case"constructor":return Le.from(e);case"error":return ne.from(e);case"event":return ke.from(e);case"fallback":case"receive":return Fe.from(e);case"function":return Re.from(e);case"struct":return mt.from(e)}else if(typeof e=="object"){switch(e.type){case"constructor":return Le.from(e);case"error":return ne.from(e);case"event":return ke.from(e);case"fallback":case"receive":return Fe.from(e);case"function":return Re.from(e);case"struct":return mt.from(e)}T(!1,`unsupported type: ${e.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}E(!1,"unsupported frgament object","obj",e)}static isConstructor(e){return Le.isFragment(e)}static isError(e){return ne.isFragment(e)}static isEvent(e){return ke.isFragment(e)}static isFunction(e){return Re.isFragment(e)}static isStruct(e){return mt.isFragment(e)}}class pn extends vt{constructor(t,r,s,i){super(t,r,i);m(this,"name");E(typeof s=="string"&&s.match(Yo),"invalid identifier","name",s),i=Object.freeze(i.slice()),R(this,{name:s})}}function sr(n,e){return"("+e.map(t=>t.format(n)).join(n==="full"?", ":",")+")"}class ne extends pn{constructor(e,t,r){super(e,"error",t,r),Object.defineProperty(this,ie,{value:_i})}get selector(){return nr(this.format("sighash")).substring(0,10)}format(e){if(e==null&&(e="sighash"),e==="json")return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(r=>JSON.parse(r.format(e)))});const t=[];return e!=="sighash"&&t.push("error"),t.push(this.name+sr(e,this.inputs)),t.join(" ")}static from(e){if(ne.isFragment(e))return e;if(typeof e=="string")return ne.from(nt(e));if(e instanceof ve){const t=dn("error",e),r=Me(e);return bt(e),new ne(B,t,r)}return new ne(B,e.name,e.inputs?e.inputs.map(X.from):[])}static isFragment(e){return e&&e[ie]===_i}}class ke extends pn{constructor(t,r,s,i){super(t,"event",r,s);m(this,"anonymous");Object.defineProperty(this,ie,{value:Ei}),R(this,{anonymous:i})}get topicHash(){return nr(this.format("sighash"))}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(s=>JSON.parse(s.format(t)))});const r=[];return t!=="sighash"&&r.push("event"),r.push(this.name+sr(t,this.inputs)),t!=="sighash"&&this.anonymous&&r.push("anonymous"),r.join(" ")}static getTopicHash(t,r){return r=(r||[]).map(i=>X.from(i)),new ke(B,t,r,!1).topicHash}static from(t){if(ke.isFragment(t))return t;if(typeof t=="string")return ke.from(nt(t));if(t instanceof ve){const r=dn("event",t),s=Me(t,!0),i=!!ze(t,te(["anonymous"])).has("anonymous");return bt(t),new ke(B,r,s,i)}return new ke(B,t.name,t.inputs?t.inputs.map(r=>X.from(r,!0)):[],!!t.anonymous)}static isFragment(t){return t&&t[ie]===Ei}}class Le extends vt{constructor(t,r,s,i,o){super(t,r,s);m(this,"payable");m(this,"gas");Object.defineProperty(this,ie,{value:xi}),R(this,{payable:i,gas:o})}format(t){if(T(t!=null&&t!=="sighash","cannot format a constructor for sighash","UNSUPPORTED_OPERATION",{operation:"format(sighash)"}),t==="json")return JSON.stringify({type:"constructor",stateMutability:this.payable?"payable":"undefined",payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(s=>JSON.parse(s.format(t)))});const r=[`constructor${sr(t,this.inputs)}`];return r.push(this.payable?"payable":"nonpayable"),this.gas!=null&&r.push(`@${this.gas.toString()}`),r.join(" ")}static from(t){if(Le.isFragment(t))return t;if(typeof t=="string")return Le.from(nt(t));if(t instanceof ve){ze(t,te(["constructor"]));const r=Me(t),s=!!ze(t,te(["payable"])).has("payable"),i=ta(t);return bt(t),new Le(B,"constructor",r,s,i)}return new Le(B,"constructor",t.inputs?t.inputs.map(X.from):[],!!t.payable,t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[ie]===xi}}class Fe extends vt{constructor(t,r,s){super(t,"fallback",r);m(this,"payable");Object.defineProperty(this,ie,{value:Oi}),R(this,{payable:s})}format(t){const r=this.inputs.length===0?"receive":"fallback";if(t==="json"){const s=this.payable?"payable":"nonpayable";return JSON.stringify({type:r,stateMutability:s})}return`${r}()${this.payable?" payable":""}`}static from(t){if(Fe.isFragment(t))return t;if(typeof t=="string")return Fe.from(nt(t));if(t instanceof ve){const r=t.toString(),s=t.peekKeyword(te(["fallback","receive"]));if(E(s,"type must be fallback or receive","obj",r),t.popKeyword(te(["fallback","receive"]))==="receive"){const c=Me(t);return E(c.length===0,"receive cannot have arguments","obj.inputs",c),ze(t,te(["payable"])),bt(t),new Fe(B,[],!0)}let o=Me(t);o.length?E(o.length===1&&o[0].type==="bytes","invalid fallback inputs","obj.inputs",o.map(c=>c.format("minimal")).join(", ")):o=[X.from("bytes")];const a=ea(t);if(E(a==="nonpayable"||a==="payable","fallback cannot be constants","obj.stateMutability",a),ze(t,te(["returns"])).has("returns")){const c=Me(t);E(c.length===1&&c[0].type==="bytes","invalid fallback outputs","obj.outputs",c.map(u=>u.format("minimal")).join(", "))}return bt(t),new Fe(B,o,a==="payable")}if(t.type==="receive")return new Fe(B,[],!0);if(t.type==="fallback"){const r=[X.from("bytes")],s=t.stateMutability==="payable";return new Fe(B,r,s)}E(!1,"invalid fallback description","obj",t)}static isFragment(t){return t&&t[ie]===Oi}}class Re extends pn{constructor(t,r,s,i,o,a){super(t,"function",r,i);m(this,"constant");m(this,"outputs");m(this,"stateMutability");m(this,"payable");m(this,"gas");Object.defineProperty(this,ie,{value:Ti}),o=Object.freeze(o.slice()),R(this,{constant:s==="view"||s==="pure",gas:a,outputs:o,payable:s==="payable",stateMutability:s})}get selector(){return nr(this.format("sighash")).substring(0,10)}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(s=>JSON.parse(s.format(t))),outputs:this.outputs.map(s=>JSON.parse(s.format(t)))});const r=[];return t!=="sighash"&&r.push("function"),r.push(this.name+sr(t,this.inputs)),t!=="sighash"&&(this.stateMutability!=="nonpayable"&&r.push(this.stateMutability),this.outputs&&this.outputs.length&&(r.push("returns"),r.push(sr(t,this.outputs))),this.gas!=null&&r.push(`@${this.gas.toString()}`)),r.join(" ")}static getSelector(t,r){return r=(r||[]).map(i=>X.from(i)),new Re(B,t,"view",r,[],null).selector}static from(t){if(Re.isFragment(t))return t;if(typeof t=="string")return Re.from(nt(t));if(t instanceof ve){const r=dn("function",t),s=Me(t),i=ea(t);let o=[];ze(t,te(["returns"])).has("returns")&&(o=Me(t));const a=ta(t);return bt(t),new Re(B,r,i,s,o,a)}return new Re(B,t.name,t.stateMutability,t.inputs?t.inputs.map(X.from):[],t.outputs?t.outputs.map(X.from):[],t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[ie]===Ti}}class mt extends pn{constructor(e,t,r){super(e,"struct",t,r),Object.defineProperty(this,ie,{value:Ai})}format(){throw new Error("@TODO")}static from(e){if(typeof e=="string")return mt.from(nt(e));if(e instanceof ve){const t=dn("struct",e),r=Me(e);return bt(e),new mt(B,t,r)}return new mt(B,e.name,e.inputs?e.inputs.map(X.from):[])}static isFragment(e){return e&&e[ie]===Ai}}const _e=new Map;_e.set(0,"GENERIC_PANIC");_e.set(1,"ASSERT_FALSE");_e.set(17,"OVERFLOW");_e.set(18,"DIVIDE_BY_ZERO");_e.set(33,"ENUM_RANGE_ERROR");_e.set(34,"BAD_STORAGE_DATA");_e.set(49,"STACK_UNDERFLOW");_e.set(50,"ARRAY_RANGE_ERROR");_e.set(65,"OUT_OF_MEMORY");_e.set(81,"UNINITIALIZED_FUNCTION_CALL");const ad=new RegExp(/^bytes([0-9]*)$/),cd=new RegExp(/^(u?int)([0-9]*)$/);let $n=null;function ud(n,e,t,r){let s="missing revert data",i=null;const o=null;let a=null;if(t){s="execution reverted";const u=He(t);if(t=V(t),u.length===0)s+=" (no data present; likely require(false) occurred",i="require(false)";else if(u.length%32!==4)s+=" (could not decode reason; invalid data length)";else if(V(u.slice(0,4))==="0x08c379a0")try{i=r.decode(["string"],u.slice(4))[0],a={signature:"Error(string)",name:"Error",args:[i]},s+=`: ${JSON.stringify(i)}`}catch{s+=" (could not decode reason; invalid string data)"}else if(V(u.slice(0,4))==="0x4e487b71")try{const l=Number(r.decode(["uint256"],u.slice(4))[0]);a={signature:"Panic(uint256)",name:"Panic",args:[l]},i=`Panic due to ${_e.get(l)||"UNKNOWN"}(${l})`,s+=`: ${i}`}catch{s+=" (could not decode panic code)"}else s+=" (unknown custom error)"}const c={to:e.to?wt(e.to):null,data:e.data||"0x"};return e.from&&(c.from=wt(e.from)),un(s,"CALL_EXCEPTION",{action:n,data:t,reason:i,transaction:c,invocation:o,revert:a})}var Ze,Pt;const Vr=class{constructor(){L(this,Ze)}getDefaultValue(e){const t=e.map(s=>z(this,Ze,Pt).call(this,X.from(s)));return new Ar(t,"_").defaultValue()}encode(e,t){Ro(t.length,e.length,"types/values length mismatch");const r=e.map(o=>z(this,Ze,Pt).call(this,X.from(o))),s=new Ar(r,"_"),i=new Jn;return s.encode(i,t),i.data}decode(e,t,r){const s=e.map(o=>z(this,Ze,Pt).call(this,X.from(o)));return new Ar(s,"_").decode(new Gn(t,r))}static defaultAbiCoder(){return $n==null&&($n=new Vr),$n}static getBuiltinCallException(e,t,r){return ud(e,t,r,Vr.defaultAbiCoder())}};let Mr=Vr;Ze=new WeakSet,Pt=function(e){if(e.isArray())return new jf(z(this,Ze,Pt).call(this,e.arrayChildren),e.arrayLength,e.name);if(e.isTuple())return new Ar(e.components.map(r=>z(this,Ze,Pt).call(this,r)),e.name);switch(e.baseType){case"address":return new Uf(e.name);case"bool":return new Bf(e.name);case"string":return new Kf(e.name);case"bytes":return new Mf(e.name);case"":return new qf(e.name)}let t=e.type.match(cd);if(t){let r=parseInt(t[2]||"256");return E(r!==0&&r<=256&&r%8===0,"invalid "+t[1]+" bit length","param",e),new Wf(r/8,t[1]==="int",e.name)}if(t=e.type.match(ad),t){let r=parseInt(t[1]);return E(r!==0&&r<=32,"invalid bytes length","param",e),new Hf(r,e.name)}E(!1,"invalid type","type",e.type)};class ld{constructor(e,t,r){m(this,"fragment");m(this,"name");m(this,"signature");m(this,"topic");m(this,"args");const s=e.name,i=e.format();R(this,{fragment:e,name:s,signature:i,topic:t,args:r})}}class hd{constructor(e,t,r,s){m(this,"fragment");m(this,"name");m(this,"args");m(this,"signature");m(this,"selector");m(this,"value");const i=e.name,o=e.format();R(this,{fragment:e,name:i,args:r,signature:o,selector:t,value:s})}}class fd{constructor(e,t,r){m(this,"fragment");m(this,"name");m(this,"args");m(this,"signature");m(this,"selector");const s=e.name,i=e.format();R(this,{fragment:e,name:s,args:r,signature:i,selector:t})}}class Si{constructor(e){m(this,"hash");m(this,"_isIndexed");R(this,{hash:e,_isIndexed:!0})}static isIndexed(e){return!!(e&&e._isIndexed)}}const ki={0:"generic panic",1:"assert(false)",17:"arithmetic overflow",18:"division or modulo by zero",33:"enum overflow",34:"invalid encoded storage byte array accessed",49:"out-of-bounds array access; popping on an empty array",50:"out-of-bounds access of an array or bytesN",65:"out of memory",81:"uninitialized function"},Ri={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:n=>`reverted with reason string ${JSON.stringify(n)}`},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"],reason:n=>{let e="unknown panic code";return n>=0&&n<=255&&ki[n.toString()]&&(e=ki[n.toString()]),`reverted with panic code 0x${n.toString(16)} (${e})`}}};var Te,Ae,Se,Y,or,Yn,ar,Qn;const Ft=class{constructor(e){L(this,or);L(this,ar);m(this,"fragments");m(this,"deploy");m(this,"fallback");m(this,"receive");L(this,Te,void 0);L(this,Ae,void 0);L(this,Se,void 0);L(this,Y,void 0);let t=[];typeof e=="string"?t=JSON.parse(e):t=e,I(this,Se,new Map),I(this,Te,new Map),I(this,Ae,new Map);const r=[];for(const o of t)try{r.push(vt.from(o))}catch(a){console.log("EE",a)}R(this,{fragments:Object.freeze(r)});let s=null,i=!1;I(this,Y,this.getAbiCoder()),this.fragments.forEach((o,a)=>{let c;switch(o.type){case"constructor":if(this.deploy){console.log("duplicate definition - constructor");return}R(this,{deploy:o});return;case"fallback":o.inputs.length===0?i=!0:(E(!s||o.payable!==s.payable,"conflicting fallback fragments",`fragments[${a}]`,o),s=o,i=s.payable);return;case"function":c=v(this,Se);break;case"event":c=v(this,Ae);break;case"error":c=v(this,Te);break;default:return}const u=o.format();c.has(u)||c.set(u,o)}),this.deploy||R(this,{deploy:Le.from("constructor()")}),R(this,{fallback:s,receive:i})}format(e){const t=e?"minimal":"full";return this.fragments.map(s=>s.format(t))}formatJson(){const e=this.fragments.map(t=>t.format("json"));return JSON.stringify(e.map(t=>JSON.parse(t)))}getAbiCoder(){return Mr.defaultAbiCoder()}getFunctionName(e){const t=z(this,or,Yn).call(this,e,null,!1);return E(t,"no matching function","key",e),t.name}getFunction(e,t){return z(this,or,Yn).call(this,e,t||null,!0)}forEachFunction(e){const t=Array.from(v(this,Se).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){const s=t[r];e(v(this,Se).get(s),r)}}getEventName(e){const t=z(this,ar,Qn).call(this,e,null,!1);return E(t,"no matching event","key",e),t.name}getEvent(e,t){return z(this,ar,Qn).call(this,e,t||null,!0)}forEachEvent(e){const t=Array.from(v(this,Ae).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){const s=t[r];e(v(this,Ae).get(s),r)}}getError(e,t){if(Qe(e)){const s=e.toLowerCase();if(Ri[s])return ne.from(Ri[s].signature);for(const i of v(this,Te).values())if(s===i.selector)return i;return null}if(e.indexOf("(")===-1){const s=[];for(const[i,o]of v(this,Te))i.split("(")[0]===e&&s.push(o);if(s.length===0)return e==="Error"?ne.from("error Error(string)"):e==="Panic"?ne.from("error Panic(uint256)"):null;if(s.length>1){const i=s.map(o=>JSON.stringify(o.format())).join(", ");E(!1,`ambiguous error description (i.e. ${i})`,"name",e)}return s[0]}if(e=ne.from(e).format(),e==="Error(string)")return ne.from("error Error(string)");if(e==="Panic(uint256)")return ne.from("error Panic(uint256)");const r=v(this,Te).get(e);return r||null}forEachError(e){const t=Array.from(v(this,Te).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){const s=t[r];e(v(this,Te).get(s),r)}}_decodeParams(e,t){return v(this,Y).decode(e,t)}_encodeParams(e,t){return v(this,Y).encode(e,t)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,t){if(typeof e=="string"){const r=this.getError(e);E(r,"unknown error","fragment",e),e=r}return E(kt(t,0,4)===e.selector,`data signature does not match error ${e.name}.`,"data",t),this._decodeParams(e.inputs,kt(t,4))}encodeErrorResult(e,t){if(typeof e=="string"){const r=this.getError(e);E(r,"unknown error","fragment",e),e=r}return Dt([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionData(e,t){if(typeof e=="string"){const r=this.getFunction(e);E(r,"unknown function","fragment",e),e=r}return E(kt(t,0,4)===e.selector,`data signature does not match function ${e.name}.`,"data",t),this._decodeParams(e.inputs,kt(t,4))}encodeFunctionData(e,t){if(typeof e=="string"){const r=this.getFunction(e);E(r,"unknown function","fragment",e),e=r}return Dt([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionResult(e,t){if(typeof e=="string"){const i=this.getFunction(e);E(i,"unknown function","fragment",e),e=i}let r="invalid length for result data";const s=Be(t);if(s.length%32===0)try{return v(this,Y).decode(e.outputs,s)}catch{r="could not decode result data"}T(!1,r,"BAD_DATA",{value:V(s),info:{method:e.name,signature:e.format()}})}makeError(e,t){const r=He(e,"data"),s=Mr.getBuiltinCallException("call",t,r),i="execution reverted (unknown custom error)";if(s.message.startsWith(i)){const a=V(r.slice(0,4)),c=this.getError(a);if(c)try{const u=v(this,Y).decode(c.inputs,r.slice(4));s.revert={name:c.name,signature:c.format(),args:u},s.reason=s.revert.signature,s.message=`execution reverted: ${s.reason}`}catch{s.message="execution reverted (coult not decode custom error)"}}const o=this.parseTransaction(t);return o&&(s.invocation={method:o.name,signature:o.signature,args:o.args}),s}encodeFunctionResult(e,t){if(typeof e=="string"){const r=this.getFunction(e);E(r,"unknown function","fragment",e),e=r}return V(v(this,Y).encode(e.outputs,t||[]))}encodeFilterTopics(e,t){if(typeof e=="string"){const i=this.getEvent(e);E(i,"unknown event","eventFragment",e),e=i}T(t.length<=e.inputs.length,`too many arguments for ${e.format()}`,"UNEXPECTED_ARGUMENT",{count:t.length,expectedCount:e.inputs.length});const r=[];e.anonymous||r.push(e.topicHash);const s=(i,o)=>i.type==="string"?nr(o):i.type==="bytes"?tt(V(o)):(i.type==="bool"&&typeof o=="boolean"&&(o=o?"0x01":"0x00"),i.type.match(/^u?int/)&&(o=$o(o)),i.type==="address"&&v(this,Y).encode(["address"],[o]),Ph(V(o),32));for(t.forEach((i,o)=>{const a=e.inputs[o];if(!a.indexed){E(i==null,"cannot filter non-indexed parameters; must be null","contract."+a.name,i);return}i==null?r.push(null):a.baseType==="array"||a.baseType==="tuple"?E(!1,"filtering with tuples or arrays not supported","contract."+a.name,i):Array.isArray(i)?r.push(i.map(c=>s(a,c))):r.push(s(a,i))});r.length&&r[r.length-1]===null;)r.pop();return r}encodeEventLog(e,t){if(typeof e=="string"){const o=this.getEvent(e);E(o,"unknown event","eventFragment",e),e=o}const r=[],s=[],i=[];return e.anonymous||r.push(e.topicHash),E(t.length===e.inputs.length,"event arguments/values mismatch","values",t),e.inputs.forEach((o,a)=>{const c=t[a];if(o.indexed)if(o.type==="string")r.push(nr(c));else if(o.type==="bytes")r.push(tt(c));else{if(o.baseType==="tuple"||o.baseType==="array")throw new Error("not implemented");r.push(v(this,Y).encode([o.type],[c]))}else s.push(o),i.push(c)}),{data:v(this,Y).encode(s,i),topics:r}}decodeEventLog(e,t,r){if(typeof e=="string"){const f=this.getEvent(e);E(f,"unknown event","eventFragment",e),e=f}if(r!=null&&!e.anonymous){const f=e.topicHash;E(Qe(r[0],32)&&r[0].toLowerCase()===f,"fragment/topic mismatch","topics[0]",r[0]),r=r.slice(1)}const s=[],i=[],o=[];e.inputs.forEach((f,d)=>{f.indexed?f.type==="string"||f.type==="bytes"||f.baseType==="tuple"||f.baseType==="array"?(s.push(X.from({type:"bytes32",name:f.name})),o.push(!0)):(s.push(f),o.push(!1)):(i.push(f),o.push(!1))});const a=r!=null?v(this,Y).decode(s,Dt(r)):null,c=v(this,Y).decode(i,t,!0),u=[],l=[];let h=0,p=0;return e.inputs.forEach((f,d)=>{let w=null;if(f.indexed)if(a==null)w=new Si(null);else if(o[d])w=new Si(a[p++]);else try{w=a[p++]}catch(b){w=b}else try{w=c[h++]}catch(b){w=b}u.push(w),l.push(f.name||null)}),Br.fromItems(u,l)}parseTransaction(e){const t=He(e.data,"tx.data"),r=Ot(e.value!=null?e.value:0,"tx.value"),s=this.getFunction(V(t.slice(0,4)));if(!s)return null;const i=v(this,Y).decode(s.inputs,t.slice(4));return new hd(s,s.selector,i,r)}parseCallResult(e){throw new Error("@TODO")}parseLog(e){const t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new ld(t,t.topicHash,this.decodeEventLog(t,e.data,e.topics))}parseError(e){const t=V(e),r=this.getError(kt(t,0,4));if(!r)return null;const s=v(this,Y).decode(r.inputs,kt(t,4));return new fd(r,r.selector,s)}static from(e){return e instanceof Ft?e:typeof e=="string"?new Ft(JSON.parse(e)):typeof e.format=="function"?new Ft(e.format("json")):new Ft(e)}};let Zn=Ft;Te=new WeakMap,Ae=new WeakMap,Se=new WeakMap,Y=new WeakMap,or=new WeakSet,Yn=function(e,t,r){if(Qe(e)){const i=e.toLowerCase();for(const o of v(this,Se).values())if(i===o.selector)return o;return null}if(e.indexOf("(")===-1){const i=[];for(const[o,a]of v(this,Se))o.split("(")[0]===e&&i.push(a);if(t){const o=t.length>0?t[t.length-1]:null;let a=t.length,c=!0;Q.isTyped(o)&&o.type==="overrides"&&(c=!1,a--);for(let u=i.length-1;u>=0;u--){const l=i[u].inputs.length;l!==a&&(!c||l!==a-1)&&i.splice(u,1)}for(let u=i.length-1;u>=0;u--){const l=i[u].inputs;for(let h=0;h<t.length;h++)if(Q.isTyped(t[h])){if(h>=l.length){if(t[h].type==="overrides")continue;i.splice(u,1);break}if(t[h].type!==l[h].baseType){i.splice(u,1);break}}}}if(i.length===1&&t&&t.length!==i[0].inputs.length){const o=t[t.length-1];(o==null||Array.isArray(o)||typeof o!="object")&&i.splice(0,1)}if(i.length===0)return null;if(i.length>1&&r){const o=i.map(a=>JSON.stringify(a.format())).join(", ");E(!1,`ambiguous function description (i.e. matches ${o})`,"key",e)}return i[0]}const s=v(this,Se).get(Re.from(e).format());return s||null},ar=new WeakSet,Qn=function(e,t,r){if(Qe(e)){const i=e.toLowerCase();for(const o of v(this,Ae).values())if(i===o.topicHash)return o;return null}if(e.indexOf("(")===-1){const i=[];for(const[o,a]of v(this,Ae))o.split("(")[0]===e&&i.push(a);if(t){for(let o=i.length-1;o>=0;o--)i[o].inputs.length<t.length&&i.splice(o,1);for(let o=i.length-1;o>=0;o--){const a=i[o].inputs;for(let c=0;c<t.length;c++)if(Q.isTyped(t[c])&&t[c].type!==a[c].baseType){i.splice(o,1);break}}}if(i.length===0)return null;if(i.length>1&&r){const o=i.map(a=>JSON.stringify(a.format())).join(", ");E(!1,`ambiguous event description (i.e. matches ${o})`,"key",e)}return i[0]}const s=v(this,Ae).get(ke.from(e).format());return s||null};const dd=BigInt(0);function De(n){return n==null?null:n.toString()}function pd(n){const e={};n.to&&(e.to=n.to),n.from&&(e.from=n.from),n.data&&(e.data=V(n.data));const t="chainId,gasLimit,gasPrice,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/);for(const s of t)!(s in n)||n[s]==null||(e[s]=Ot(n[s],`request.${s}`));const r="type,nonce".split(/,/);for(const s of r)!(s in n)||n[s]==null||(e[s]=Ve(n[s],`request.${s}`));return n.accessList&&(e.accessList=Xf(n.accessList)),"blockTag"in n&&(e.blockTag=n.blockTag),"enableCcipRead"in n&&(e.enableCcipReadEnabled=!!n.enableCcipRead),"customData"in n&&(e.customData=n.customData),e}class As{constructor(e,t){m(this,"provider");m(this,"transactionHash");m(this,"blockHash");m(this,"blockNumber");m(this,"removed");m(this,"address");m(this,"data");m(this,"topics");m(this,"index");m(this,"transactionIndex");this.provider=t;const r=Object.freeze(e.topics.slice());R(this,{transactionHash:e.transactionHash,blockHash:e.blockHash,blockNumber:e.blockNumber,removed:e.removed,address:e.address,data:e.data,topics:r,index:e.index,transactionIndex:e.transactionIndex})}toJSON(){const{address:e,blockHash:t,blockNumber:r,data:s,index:i,removed:o,topics:a,transactionHash:c,transactionIndex:u}=this;return{_type:"log",address:e,blockHash:t,blockNumber:r,data:s,index:i,removed:o,topics:a,transactionHash:c,transactionIndex:u}}async getBlock(){const e=await this.provider.getBlock(this.blockHash);return T(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransaction(){const e=await this.provider.getTransaction(this.transactionHash);return T(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransactionReceipt(){const e=await this.provider.getTransactionReceipt(this.transactionHash);return T(!!e,"failed to find transaction receipt","UNKNOWN_ERROR",{}),e}removedEvent(){return md(this)}}var cr;class yd{constructor(e,t){m(this,"provider");m(this,"to");m(this,"from");m(this,"contractAddress");m(this,"hash");m(this,"index");m(this,"blockHash");m(this,"blockNumber");m(this,"logsBloom");m(this,"gasUsed");m(this,"cumulativeGasUsed");m(this,"gasPrice");m(this,"type");m(this,"status");m(this,"root");L(this,cr,void 0);I(this,cr,Object.freeze(e.logs.map(r=>new As(r,t)))),R(this,{provider:t,to:e.to,from:e.from,contractAddress:e.contractAddress,hash:e.hash,index:e.index,blockHash:e.blockHash,blockNumber:e.blockNumber,logsBloom:e.logsBloom,gasUsed:e.gasUsed,cumulativeGasUsed:e.cumulativeGasUsed,gasPrice:e.effectiveGasPrice||e.gasPrice,type:e.type,status:e.status,root:e.root})}get logs(){return v(this,cr)}toJSON(){const{to:e,from:t,contractAddress:r,hash:s,index:i,blockHash:o,blockNumber:a,logsBloom:c,logs:u,status:l,root:h}=this;return{_type:"TransactionReceipt",blockHash:o,blockNumber:a,contractAddress:r,cumulativeGasUsed:De(this.cumulativeGasUsed),from:t,gasPrice:De(this.gasPrice),gasUsed:De(this.gasUsed),hash:s,index:i,logs:u,logsBloom:c,root:h,status:l,to:e}}get length(){return this.logs.length}[Symbol.iterator](){let e=0;return{next:()=>e<this.length?{value:this.logs[e++],done:!1}:{value:void 0,done:!0}}}get fee(){return this.gasUsed*this.gasPrice}async getBlock(){const e=await this.provider.getBlock(this.blockHash);if(e==null)throw new Error("TODO");return e}async getTransaction(){const e=await this.provider.getTransaction(this.hash);if(e==null)throw new Error("TODO");return e}async getResult(){return await this.provider.getTransactionResult(this.hash)}async confirmations(){return await this.provider.getBlockNumber()-this.blockNumber+1}removedEvent(){return na(this)}reorderedEvent(e){return T(!e||e.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),ra(this,e)}}cr=new WeakMap;var Ye;const Fs=class{constructor(e,t){m(this,"provider");m(this,"blockNumber");m(this,"blockHash");m(this,"index");m(this,"hash");m(this,"type");m(this,"to");m(this,"from");m(this,"nonce");m(this,"gasLimit");m(this,"gasPrice");m(this,"maxPriorityFeePerGas");m(this,"maxFeePerGas");m(this,"data");m(this,"value");m(this,"chainId");m(this,"signature");m(this,"accessList");L(this,Ye,void 0);this.provider=t,this.blockNumber=e.blockNumber!=null?e.blockNumber:null,this.blockHash=e.blockHash!=null?e.blockHash:null,this.hash=e.hash,this.index=e.index,this.type=e.type,this.from=e.from,this.to=e.to||null,this.gasLimit=e.gasLimit,this.nonce=e.nonce,this.data=e.data,this.value=e.value,this.gasPrice=e.gasPrice,this.maxPriorityFeePerGas=e.maxPriorityFeePerGas!=null?e.maxPriorityFeePerGas:null,this.maxFeePerGas=e.maxFeePerGas!=null?e.maxFeePerGas:null,this.chainId=e.chainId,this.signature=e.signature,this.accessList=e.accessList!=null?e.accessList:null,I(this,Ye,-1)}toJSON(){const{blockNumber:e,blockHash:t,index:r,hash:s,type:i,to:o,from:a,nonce:c,data:u,signature:l,accessList:h}=this;return{_type:"TransactionReceipt",accessList:h,blockNumber:e,blockHash:t,chainId:De(this.chainId),data:u,from:a,gasLimit:De(this.gasLimit),gasPrice:De(this.gasPrice),hash:s,maxFeePerGas:De(this.maxFeePerGas),maxPriorityFeePerGas:De(this.maxPriorityFeePerGas),nonce:c,signature:l,to:o,index:r,type:i,value:De(this.value)}}async getBlock(){let e=this.blockNumber;if(e==null){const r=await this.getTransaction();r&&(e=r.blockNumber)}if(e==null)return null;const t=this.provider.getBlock(e);if(t==null)throw new Error("TODO");return t}async getTransaction(){return this.provider.getTransaction(this.hash)}async wait(e,t){const r=e??1,s=t??0;let i=v(this,Ye),o=-1,a=i===-1;const c=async()=>{if(a)return null;const{blockNumber:h,nonce:p}=await So({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(p<this.nonce){i=h;return}if(a)return null;const f=await this.getTransaction();if(!(f&&f.blockNumber!=null))for(o===-1&&(o=i-3,o<v(this,Ye)&&(o=v(this,Ye)));o<=h;){if(a)return null;const d=await this.provider.getBlock(o,!0);if(d==null)return;for(const w of d)if(w===this.hash)return;for(let w=0;w<d.length;w++){const b=await d.getTransaction(w);if(b.from===this.from&&b.nonce===this.nonce){if(a)return null;const O=await this.provider.getTransactionReceipt(b.hash);if(O==null||h-O.blockNumber+1<r)return;let N="replaced";b.data===this.data&&b.to===this.to&&b.value===this.value?N="repriced":b.data==="0x"&&b.from===b.to&&b.value===dd&&(N="cancelled"),T(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:N==="replaced"||N==="cancelled",reason:N,replacement:b.replaceableTransaction(i),hash:b.hash,receipt:O})}}o++}},u=await this.provider.getTransactionReceipt(this.hash);if(u){if(await u.confirmations()>=r)return u}else if(await c(),r===0)return null;return await new Promise((h,p)=>{const f=[],d=()=>{f.forEach(b=>b())};if(f.push(()=>{a=!0}),s>0){const b=setTimeout(()=>{d(),p(un("wait for transaction timeout","TIMEOUT"))},s);f.push(()=>{clearTimeout(b)})}const w=async b=>{await b.confirmations()>=r&&(d(),h(b))};if(f.push(()=>{this.provider.off(this.hash,w)}),this.provider.on(this.hash,w),i>=0){const b=async()=>{try{await c()}catch(O){if(jr(O,"TRANSACTION_REPLACED")){d(),p(O);return}}a||this.provider.once("block",b)};f.push(()=>{this.provider.off("block",b)}),this.provider.once("block",b)}})}isMined(){return this.blockHash!=null}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}removedEvent(){return T(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),na(this)}reorderedEvent(e){return T(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),T(!e||e.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),ra(this,e)}replaceableTransaction(e){E(Number.isInteger(e)&&e>=0,"invalid startBlock","startBlock",e);const t=new Fs(this,this.provider);return I(t,Ye,e),t}};let es=Fs;Ye=new WeakMap;function ra(n,e){return{orphan:"reorder-transaction",tx:n,other:e}}function na(n){return{orphan:"drop-transaction",tx:n}}function md(n){return{orphan:"drop-log",log:{transactionHash:n.transactionHash,blockHash:n.blockHash,blockNumber:n.blockNumber,address:n.address,data:n.data,topics:Object.freeze(n.topics.slice()),index:n.index}}}class Ss extends As{constructor(t,r,s){super(t,t.provider);m(this,"interface");m(this,"fragment");m(this,"args");const i=r.decodeEventLog(s,t.data,t.topics);R(this,{args:i,fragment:s,interface:r})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}var Bt;class gd extends yd{constructor(t,r,s){super(s,r);L(this,Bt,void 0);I(this,Bt,t)}get logs(){return super.logs.map(t=>{const r=t.topics.length?v(this,Bt).getEvent(t.topics[0]):null;return r?new Ss(t,v(this,Bt),r):t})}}Bt=new WeakMap;var ur;class ks extends es{constructor(t,r,s){super(s,r);L(this,ur,void 0);I(this,ur,t)}async wait(t){const r=await super.wait();return r==null?null:new gd(v(this,ur),this.provider,r)}}ur=new WeakMap;class sa extends Dh{constructor(t,r,s,i){super(t,r,s);m(this,"log");R(this,{log:i})}async getBlock(){return await this.log.getBlock()}async getTransaction(){return await this.log.getTransaction()}async getTransactionReceipt(){return await this.log.getTransactionReceipt()}}class wd extends sa{constructor(e,t,r,s,i){super(e,t,r,new Ss(i,e.interface,s));const o=e.interface.decodeEventLog(s,this.log.data,this.log.topics);R(this,{args:o,fragment:s})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}const Ni=BigInt(0);function ia(n){return n&&typeof n.call=="function"}function oa(n){return n&&typeof n.estimateGas=="function"}function Rs(n){return n&&typeof n.resolveName=="function"}function aa(n){return n&&typeof n.sendTransaction=="function"}var lr;class bd{constructor(e,t,r){L(this,lr,void 0);m(this,"fragment");if(R(this,{fragment:t}),t.inputs.length<r.length)throw new Error("too many arguments");const s=_t(e.runner,"resolveName"),i=Rs(s)?s:null;I(this,lr,async function(){const o=await Promise.all(t.inputs.map((a,c)=>r[c]==null?null:a.walkAsync(r[c],(l,h)=>l==="address"?Ts(h,i):h)));return e.interface.encodeFilterTopics(t,o)}())}getTopicFilter(){return v(this,lr)}}lr=new WeakMap;function vd(){return Function}function _t(n,e){return n==null?null:typeof n[e]=="function"?n:n.provider&&typeof n.provider[e]=="function"?n.provider:null}function ht(n){return n==null?null:n.provider||null}async function ca(n,e){const t=pd(Q.dereference(n,"overrides"));return E(t.to==null||(e||[]).indexOf("to")>=0,"cannot override to","overrides.to",t.to),E(t.data==null||(e||[]).indexOf("data")>=0,"cannot override data","overrides.data",t.data),t.from&&(t.from=await Ts(t.from)),t}async function _d(n,e,t){const r=_t(n,"resolveName"),s=Rs(r)?r:null;return await Promise.all(e.map((i,o)=>i.walkAsync(t[o],(a,c)=>(c=Q.dereference(c,a),a==="address"?Ts(c,s):c))))}class Ed{constructor(e){m(this,"_contract");return R(this,{_contract:e}),new Proxy(this,{apply:async(r,s,i)=>await r.send(...i)})}async populateTransaction(e){const t=await ca(e,["data"]);t.to=await this._contract.getAddress();const r=this._contract.interface,s=r.receive||r.fallback&&r.fallback.payable;return E(s||(t.value||Ni)===Ni,"cannot send value to non-payable contract","overrides.value",t.value),E(r.fallback||(t.data||"0x")==="0x","cannot send data to receive-only contract","overrides.data",t.data),t}async staticCall(e){const t=_t(this._contract.runner,"call");T(ia(t),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const r=await this.populateTransaction(e);try{return await t.call(r)}catch(s){throw ko(s)&&s.data?this._contract.interface.makeError(s.data,r):s}}async send(e){const t=this._contract.runner;T(aa(t),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const r=await t.sendTransaction(await this.populateTransaction(e)),s=ht(this._contract.runner);return new ks(this._contract.interface,s,r)}async estimateGas(e){const t=_t(this._contract.runner,"estimateGas");return T(oa(t),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await t.estimateGas(await this.populateTransaction(e))}}class xd extends vd(){constructor(t,r){super();m(this,"name","");m(this,"_contract");m(this,"_key");return R(this,{name:t.interface.getFunctionName(r),_contract:t,_key:r}),new Proxy(this,{apply:async(i,o,a)=>i.getFragment(...a).constant?await i.staticCall(...a):await i.send(...a)})}get fragment(){const t=this._contract.interface.getFunction(this._key);return T(t,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),t}getFragment(...t){const r=this._contract.interface.getFunction(this._key,t);return T(r,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),r}async populateTransaction(...t){const r=this.getFragment(...t);let s={};if(r.inputs.length+1===t.length&&(s=await ca(t.pop())),r.inputs.length!==t.length)throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");const i=await _d(this._contract.runner,r.inputs,t);return Object.assign({},s,await So({to:this._contract.getAddress(),data:this._contract.interface.encodeFunctionData(r,i)}))}async staticCall(...t){const r=await this.staticCallResult(...t);return r.length===1?r[0]:r}async send(...t){const r=this._contract.runner;T(aa(r),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const s=await r.sendTransaction(await this.populateTransaction(...t)),i=ht(this._contract.runner);return new ks(this._contract.interface,i,s)}async estimateGas(...t){const r=_t(this._contract.runner,"estimateGas");return T(oa(r),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await r.estimateGas(await this.populateTransaction(...t))}async staticCallResult(...t){const r=_t(this._contract.runner,"call");T(ia(r),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const s=await this.populateTransaction(...t);let i="0x";try{i=await r.call(s)}catch(a){throw ko(a)&&a.data?this._contract.interface.makeError(a.data,s):a}const o=this.getFragment(...t);return this._contract.interface.decodeFunctionResult(o,i)}}function Od(){return Function}class Td extends Od(){constructor(t,r){super();m(this,"name","");m(this,"_contract");m(this,"_key");return R(this,{name:t.interface.getEventName(r),_contract:t,_key:r}),new Proxy(this,{apply:(s,i,o)=>new bd(t,s.getFragment(...o),o)})}get fragment(){const t=this._contract.interface.getEvent(this._key);return T(t,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),t}getFragment(...t){const r=this._contract.interface.getEvent(this._key,t);return T(r,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),r}}const Hr=Symbol.for("_ethersInternal_contract"),ua=new WeakMap;function Ad(n,e){ua.set(n[Hr],e)}function he(n){return ua.get(n[Hr])}function Sd(n){return n&&typeof n=="object"&&"getTopicFilter"in n&&typeof n.getTopicFilter=="function"&&n.fragment}async function Ns(n,e){let t,r=null;if(Array.isArray(e)){const i=function(o){if(Qe(o,32))return o;const a=n.interface.getEvent(o);return E(a,"unknown fragment","name",o),a.topicHash};t=e.map(o=>o==null?null:Array.isArray(o)?o.map(i):i(o))}else e==="*"?t=[null]:typeof e=="string"?Qe(e,32)?t=[e]:(r=n.interface.getEvent(e),E(r,"unknown fragment","event",e),t=[r.topicHash]):Sd(e)?t=await e.getTopicFilter():"fragment"in e?(r=e.fragment,t=[r.topicHash]):E(!1,"unknown event name","event",e);t=t.map(i=>{if(i==null)return null;if(Array.isArray(i)){const o=Array.from(new Set(i.map(a=>a.toLowerCase())).values());return o.length===1?o[0]:(o.sort(),o)}return i.toLowerCase()});const s=t.map(i=>i==null?"null":Array.isArray(i)?i.join("|"):i).join("&");return{fragment:r,tag:s,topics:t}}async function Xt(n,e){const{subs:t}=he(n);return t.get((await Ns(n,e)).tag)||null}async function Pi(n,e,t){const r=ht(n.runner);T(r,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:e});const{fragment:s,tag:i,topics:o}=await Ns(n,t),{addr:a,subs:c}=he(n);let u=c.get(i);if(!u){const h={address:a||n,topics:o},p=b=>{let O=s;if(O==null)try{O=n.interface.getEvent(b.topics[0])}catch{}if(O){const N=O,H=s?n.interface.decodeEventLog(s,b.data,b.topics):[];rs(n,t,H,U=>new wd(n,U,t,N,b))}else rs(n,t,[],N=>new sa(n,N,t,b))};let f=[];u={tag:i,listeners:[],start:()=>{f.length||f.push(r.on(h,p))},stop:async()=>{if(f.length==0)return;let b=f;f=[],await Promise.all(b),r.off(h,p)}},c.set(i,u)}return u}let ts=Promise.resolve();async function kd(n,e,t,r){await ts;const s=await Xt(n,e);if(!s)return!1;const i=s.listeners.length;return s.listeners=s.listeners.filter(({listener:o,once:a})=>{const c=Array.from(t);r&&c.push(r(a?null:o));try{o.call(n,...c)}catch{}return!a}),i>0}async function rs(n,e,t,r){try{await ts}catch{}const s=kd(n,e,t,r);return ts=s,await s}const $i=["then"];var Dd;const Jr=class{constructor(e,t,r,s){m(this,"target");m(this,"interface");m(this,"runner");m(this,"filters");m(this,Dd);m(this,"fallback");r==null&&(r=null);const i=Zn.from(t);R(this,{target:e,runner:r,interface:i}),Object.defineProperty(this,Hr,{value:{}});let o,a=null,c=null;if(s){const h=ht(r);c=new ks(this.interface,h,s)}let u=new Map;if(typeof e=="string")if(Qe(e))a=e,o=Promise.resolve(e);else{const h=_t(r,"resolveName");if(!Rs(h))throw un("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});o=h.resolveName(e).then(p=>{if(p==null)throw new Error("TODO");return he(this).addr=p,p})}else o=e.getAddress().then(h=>{if(h==null)throw new Error("TODO");return he(this).addr=h,h});Ad(this,{addrPromise:o,addr:a,deployTx:c,subs:u});const l=new Proxy({},{get:(h,p,f)=>{if($i.indexOf(p)>=0)return Reflect.get(h,p,f);const d=String(p),w=this.getEvent(d);if(w)return w;throw new Error(`unknown contract event: ${d}`)}});return R(this,{filters:l}),R(this,{fallback:i.receive||i.fallback?new Ed(this):null}),new Proxy(this,{get:(h,p,f)=>{if(p in h||$i.indexOf(p)>=0)return Reflect.get(h,p,f);const d=String(p),w=h.getFunction(d);if(w)return w;throw new Error(`unknown contract method: ${d}`)}})}connect(e){return new Jr(this.target,this.interface,e)}async getAddress(){return await he(this).addrPromise}async getDeployedCode(){const e=ht(this.runner);T(e,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});const t=await e.getCode(await this.getAddress());return t==="0x"?null:t}async waitForDeployment(){const e=this.deploymentTransaction();if(e)return await e.wait(),this;if(await this.getDeployedCode()!=null)return this;const r=ht(this.runner);return T(r!=null,"contract runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"waitForDeployment"}),new Promise((s,i)=>{const o=async()=>{try{if(await this.getDeployedCode()!=null)return s(this);r.once("block",o)}catch(a){i(a)}};o()})}deploymentTransaction(){return he(this).deployTx}getFunction(e){return typeof e!="string"&&(e=e.format()),new xd(this,e)}getEvent(e){return typeof e!="string"&&(e=e.format()),new Td(this,e)}async queryTransaction(e){throw new Error("@TODO")}async queryFilter(e,t,r){t==null&&(t=0),r==null&&(r="latest");const{addr:s,addrPromise:i}=he(this),o=s||await i,{fragment:a,topics:c}=await Ns(this,e),u={address:o,topics:c,fromBlock:t,toBlock:r},l=ht(this.runner);return T(l,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await l.getLogs(u)).map(h=>{let p=a;if(p==null)try{p=this.interface.getEvent(h.topics[0])}catch{}return p?new Ss(h,this.interface,p):new As(h,l)})}async on(e,t){const r=await Pi(this,"on",e);return r.listeners.push({listener:t,once:!1}),r.start(),this}async once(e,t){const r=await Pi(this,"once",e);return r.listeners.push({listener:t,once:!0}),r.start(),this}async emit(e,...t){return await rs(this,e,t,null)}async listenerCount(e){if(e){const s=await Xt(this,e);return s?s.listeners.length:0}const{subs:t}=he(this);let r=0;for(const{listeners:s}of t.values())r+=s.length;return r}async listeners(e){if(e){const s=await Xt(this,e);return s?s.listeners.map(({listener:i})=>i):[]}const{subs:t}=he(this);let r=[];for(const{listeners:s}of t.values())r=r.concat(s.map(({listener:i})=>i));return r}async off(e,t){const r=await Xt(this,e);if(!r)return this;if(t){const s=r.listeners.map(({listener:i})=>i).indexOf(t);s>=0&&r.listeners.splice(s,1)}return(t==null||r.listeners.length===0)&&(r.stop(),he(this).subs.delete(r.tag)),this}async removeAllListeners(e){if(e){const t=await Xt(this,e);if(!t)return this;t.stop(),he(this).subs.delete(t.tag)}else{const{subs:t}=he(this);for(const{tag:r,stop:s}of t.values())s(),t.delete(r)}return this}async addListener(e,t){return await this.on(e,t)}async removeListener(e,t){return await this.off(e,t)}static buildClass(e){class t extends Jr{constructor(s,i=null){super(s,e,i)}}return t}static from(e,t,r){return r==null&&(r=null),new this(e,t,r)}};let ns=Jr;Dd=Hr;function Rd(){return ns}class Nd extends Rd(){}class pr{constructor(e){m(this,"data",[]);this.api=e}static create(e){return new pr(e)}getAbiHash(e){if(this.api===void 0)throw new Error("FunctionBuilder must be initialised with api");return this.api.getAbiHash(e)}async addFunction(e,t,r,s,i){const o=new Nd(e,s);return o.interface.encodeFunctionData(t,r),this.data.push({address:e,bytecode:o.interface.encodeFunctionData(t,r),abiHash:i||await this.getAbiHash(s),function:t}),this}get(){return this.data}static schema(){return gt().of(ue({address:S().required(),bytecode:S().matches(/^(0x)?([0-9a-fA-F]{2})*$/).required(),abiHash:S().matches(/^[A-Fa-f0-9]{64}/).required(),function:S().required()}))}}class Ke{static version(){return"v1"}static execute(e,t,r="v1"){const s=JSON.parse(JSON.stringify(t));let i=!0;for(const o of s){const a=Ke.process(e,o.conditions);i=Ke.execLogic(i,o.logic,a)}return i}static process(e,t,r){const s=t.shift();if(!s)return r===void 0?!0:r;const i=Ke.execCondition(e,s);if(r===void 0||s.logic==="WHERE")return Ke.process(e,t,i);if(s.logic===void 0)throw new Error("Invalid filter. FilterCondition must have logic value");const o=Ke.execLogic(r,s.logic,i);return Ke.process(e,t,o)}static execLogic(e,t,r){switch(t){case"AND":return e&&r;case"OR":return e||r;case"XOR":return(e||r)&&!(e&&r);case"NAND":return!(e&&r);case"NOR":return!(e&&r);case"WHERE":return r;default:throw new Error(`Invalid Filter. Bad logic value: ${t}`)}}static execCondition(e,t){const r=e[t.key];if(t.type==="Number"){if(typeof t.constant!="number"||typeof r!="number")throw new Error(`Invalid filter. Type miss-match. Type: ${t.type}, Variable: ${t.constant}, Data: ${r}`);const s=r,i=t.constant;switch(t.operation){case"eq":return s===i;case"!eq":return s!==i;case"gt":return s>i;case"gte":return s>=i;case"lt":return s<i;case"lte":return s<=i;default:throw new Error("Invalid Filter. Operation does not match type")}}if(t.type==="String"){if(typeof t.constant!="string"||typeof r!="string")throw new Error(`Invalid filter. Type miss-match. Type: ${t.type}, Variable: ${t.constant}, Data: ${r}`);const s=r,i=t.constant;switch(t.operation){case"contains":return s.includes(i);case"!contains":return!s.includes(i);case"is":return s===i;case"!is":return s!==i;case"isEmpty":return s==="";case"!isEmpty":return s!=="";default:throw new Error("Invalid Filter. Operation does not match type")}}if(t.type==="Address"){if(typeof t.constant!="string"||typeof r!="string")throw new Error(`Invalid filter. Type miss-match. Type: ${t.type}, Variable: ${t.constant}, Data: ${r}`);const s=r,i=t.constant;switch(t.operation){case"contains":return s.toLowerCase().includes(i.toLowerCase());case"!contains":return!s.toLowerCase().includes(i.toLowerCase());case"is":return s.toLowerCase()===i.toLowerCase();case"!is":return s.toLowerCase()!==i.toLowerCase();case"isEmpty":return s==="";case"!isEmpty":return s!=="";default:throw new Error("Invalid Filter. Operation does not match type")}}throw new Error("Invalid Filter. Unknown Type")}}class yr{constructor(){m(this,"groups",[]);this.newGroup("WHERE")}static version(){return Ke.version()}static new(){return new yr}newGroup(e){if(this.groups.length!==0&&e==="WHERE")throw new Error('Only the first groups can start with "WHERE"');return this.groups.push({logic:"WHERE",conditions:[]}),this}addCondition(e,t,r,s,i){const o=this.groups[this.groups.length-1];if(o.conditions.length===0&&e!=="WHERE")throw new Error('Logic for the first condition of a group must be "WHERE"');if(o.conditions.length>0&&e==="WHERE")throw new Error('Only the first condition of a group can be "WHERE"');return o.conditions.push({logic:e,key:t,type:r,operation:s,constant:i}),this}finalise(){for(const e of this.groups)if(e.conditions.length===0)throw new Error("Bad Filter. All Groups must have atleast one condition");return this.groups}static schema(){const e=S().oneOf(["AND","OR","XOR","NAND","NOR","WHERE"]).required(),t=ue({logic:e,key:S().required(),type:S().oneOf(["String","Address","Number"]).required(),operation:S().when("type",([r],s)=>{switch(r){case"String":return s.oneOf(["contains","!contains","is","!is","isEmpty","!isEmpty"]);case"Address":return s.oneOf(["is","!is","isEmpty","!isEmpty"]);case"Number":return s.oneOf(["eq","!eq","gt","gte","lt","lte"]);default:throw new Error("Invalid Filter Data Type")}}).required(),constant:go().when("type",([r])=>{switch(r){case"String":return S();case"Address":return S();case"Number":return K();default:throw new Error("Invalid Filter Data Type")}}).required()});return gt().of(ue({logic:e,conditions:gt().of(t).required()}))}}const Pd="handler_function_call_v2";class yn{static async SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:Pd,handler:await yn.convertAndValidate(r)}}static async convertAndValidate(e){const t=/^(\d+)([SMHD])$/i;return ue({timeBase:S().oneOf(["blocks","time"]).required(),nBlocks:K().min(10).when("timeBase",([s],i)=>s==="blocks"?i.required():i),timePeriod:S().matches(t,"timePeriod must be of the format n[s|m|h|d], eg 10s for 10 seconds").when("timeBase",([s],i)=>s==="time"?i.required():i),startTime:K().default(0),debounceCount:K().default(0),functions:pr.schema().required(),triggerOn:S().oneOf(["always","filter"]).default("always"),latch:bs().default(!1),filterVersion:S().when("triggerOn",([s],i)=>s==="filter"?i.default("0"):i.nullable().default(null)),filter:yr.schema().when("triggerOn",([s],i)=>s==="filter"?i.required():i.nullable().default(null))}).validate(e)}}const $d="handler_onchain_event_v2";class Ps{static async SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:$d,handler:await Ps.convertAndValidate(r)}}static async convertAndValidate(e){return ue({addresses:gt().of(S().required()).required(),abiHash:S().required(),event:S().required(),debounceCount:K().default(0),functions:pr.schema().nullable().default(null),triggerOn:S().oneOf(["always","filter"]).default("always"),latch:bs().default(!1),filterVersion:S().nullable().default(null),filter:yr.schema().when("triggerOn",([r],s)=>r==="filter"?s:s.nullable().default(null)).required()}).validate(e)}}class la{static SimpleToRaw(e,t,r,s){switch(t){case"PollFunctionV2":return yn.SimpleToRaw(e,r,s);case"PollFunctionV1":return an.SimpleToRaw(e,r,s);case"OnchainEventV1":return cn.SimpleToRaw(e,r,s);case"OnchainEventV2":return Ps.SimpleToRaw(e,r,s);default:throw new Error("Invalid Trigger ID")}}}const Ci=n=>`https://${n}.functions.supabase.co/`,Ii=n=>`https://${n}.supabase.co/`,Fi="fdgtrxmmrtlokhgkvcjz",Cd="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImZkZ3RyeG1tcnRsb2toZ2t2Y2p6Iiwicm9sZSI6ImFub24iLCJpYXQiOjE2NzMwODcwNzYsImV4cCI6MTk4ODY2MzA3Nn0.sAMxjlcJSSozBGr-LNcsudyxzUEM9e-UspMHHQLqLr4";class $s{constructor(e,t){m(this,"headers",{});this.url=e,this.headers={Authorization:`Bearer ${t}`,"Content-Type":"application/json"}}static async create(e){var t,r;if(e.key)throw new Error("Auth by key not yet supported");if(e.email&&e.password){const s=e.projectId?Ii(e.projectId):Ii(Fi),i=e.projectId?Ci(e.projectId):Ci(Fi),o=e.anonKey?e.anonKey:Cd,a=yu(s,o),{data:c,error:u}=await a.auth.signInWithPassword({email:e.email,password:e.password});if(u)throw u;if(((t=c.session)==null?void 0:t.access_token)===void 0)throw new Error("Access token not found");return new $s(i,(r=c.session)==null?void 0:r.access_token)}else throw new Error("Authentication Required. DeNotify supports either username/password or API key authentication")}async alertHistory(e,t){const r="alert-history",s=t||{};return e&&(s.id=e),Object.keys(s).length>0?await this.request("get",r,{params:t}):await this.request("get",r)}async getAlert(e){return(await this.request("get",`alerts/${e}`))[0]}async getAlerts(){return await this.request("get","alerts")}async createAlert(e){const t=await la.SimpleToRaw(e.name,e.triggerId,e.network,e.trigger),r=await Ao.SimpleToRaw(e.notificationId,e.notification);return await this.request("post","alerts",{body:{trigger:t,notification:r}})}async deleteAlert(e){return await this.request("delete",`alerts/${e}`)}async request(e,t,r={}){const s=new URL(`${this.url}${t}`);if(r.params)for(const a of Object.keys(r.params))s.searchParams.append(a,r.params[a]);const i={method:e,url:s.toString(),headers:this.headers};return r.body&&(i.data=r.body),(await Rl(i)).data}async getAbi(e,t){return await this.request("get",`abi/${e}/${t}`)}async getAbiHash(e){return(await this.request("post","abi",{body:e})).hash}async setAlertName(e,t){throw new Error("Not yet supported - Sorry!")}async enableAlert(e){throw new Error("Not yet supported - Sorry!")}async disableAlert(e){throw new Error("Not yet supported - Sorry!")}async updateNotification(e){throw new Error("Not yet supported - Sorry!")}async updateTrigger(e,t){return await this.request("patch",`alerts/trigger-handler/${e}`,{body:t})}}class Cs{constructor(e){m(this,"network");m(this,"triggerId");m(this,"trigger");m(this,"notificationId");m(this,"notification");this.name=e}static create(e){return new Cs(e)}onNetwork(e){return this.network=e,this}withTrigger(e,t){return this.triggerId=e,this.trigger=t,this}withNotification(e,t){return this.notificationId=e,this.notification=t,this}async config(){if(this.trigger===void 0||this.triggerId===void 0)throw new Error("Trigger not configured");if(this.notification===void 0||this.notificationId===void 0)throw new Error("Notification not configured");if(this.network===void 0)throw new Error("Network not configured");return{name:this.name,network:this.network,triggerId:this.triggerId,trigger:this.trigger,notificationId:this.notificationId,notification:this.notification}}}const Id=Object.freeze(Object.defineProperty({__proto__:null,HandlerFunctionCall:an,HandlerFunctionCallV2:yn,HandlerOnchainEvent:cn,Trigger:la},Symbol.toStringTag,{value:"Module"})),Fd=Object.freeze(Object.defineProperty({__proto__:null,Notification:Ao,NotifyDiscordWebhook:on},Symbol.toStringTag,{value:"Module"}));exports.AlertBuilder=Cs;exports.DeNotifyClient=$s;exports.FilterBuilder=yr;exports.FunctionBuilder=pr;exports.Notification=Fd;exports.Trigger=Id;
|