@graffiti-garden/implementation-decentralized 0.0.7 → 0.0.9
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/dist/3-protocol/1-sessions.d.ts.map +1 -1
- package/dist/3-protocol/4-graffiti.d.ts +5 -0
- package/dist/3-protocol/4-graffiti.d.ts.map +1 -1
- package/dist/browser/{ajv-QBSREQSI.js → ajv-U35FOJ27.js} +5 -5
- package/dist/browser/ajv-U35FOJ27.js.map +7 -0
- package/dist/browser/index.js +7 -7
- package/dist/browser/index.js.map +3 -3
- package/dist/cjs/3-protocol/1-sessions.js +5 -1
- package/dist/cjs/3-protocol/1-sessions.js.map +2 -2
- package/dist/cjs/3-protocol/4-graffiti.js +110 -7
- package/dist/cjs/3-protocol/4-graffiti.js.map +3 -3
- package/dist/esm/3-protocol/1-sessions.js +5 -1
- package/dist/esm/3-protocol/1-sessions.js.map +2 -2
- package/dist/esm/3-protocol/4-graffiti.js +110 -7
- package/dist/esm/3-protocol/4-graffiti.js.map +3 -3
- package/package.json +2 -2
- package/src/3-protocol/1-sessions.ts +8 -1
- package/src/3-protocol/4-graffiti.ts +160 -5
- package/dist/browser/ajv-QBSREQSI.js.map +0 -7
package/dist/browser/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import{a as
|
|
2
|
-
`)===0?Z.substr(1,Z.length):Z}).forEach(function(Z){var q=Z.split(":"),z=q.shift().trim();if(z){var gt=q.join(":").trim();try{b.append(z,gt)}catch(Te){console.warn("Response "+Te.message)}}}),b}A.call(x.prototype);function B(h,b){if(!(this instanceof B))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(b||(b={}),this.type="default",this.status=b.status===void 0?200:b.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=b.statusText===void 0?"":""+b.statusText,this.headers=new d(b.headers),this.url=b.url||"",this._initBody(h)}A.call(B.prototype),B.prototype.clone=function(){return new B(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new d(this.headers),url:this.url})},B.error=function(){var h=new B(null,{status:200,statusText:""});return h.ok=!1,h.status=0,h.type="error",h};var ie=[301,302,303,307,308];B.redirect=function(h,b){if(ie.indexOf(b)===-1)throw new RangeError("Invalid status code");return new B(null,{status:b,headers:{location:h}})},n.DOMException=r.DOMException;try{new n.DOMException}catch{n.DOMException=function(b,O){this.message=b,this.name=O;var Z=Error(b);this.stack=Z.stack},n.DOMException.prototype=Object.create(Error.prototype),n.DOMException.prototype.constructor=n.DOMException}function Ae(h,b){return new Promise(function(O,Z){var q=new x(h,b);if(q.signal&&q.signal.aborted)return Z(new n.DOMException("Aborted","AbortError"));var z=new XMLHttpRequest;function gt(){z.abort()}z.onload=function(){var ne={statusText:z.statusText,headers:M(z.getAllResponseHeaders()||"")};q.url.indexOf("file://")===0&&(z.status<200||z.status>599)?ne.status=200:ne.status=z.status,ne.url="responseURL"in z?z.responseURL:ne.headers.get("X-Request-URL");var ce="response"in z?z.response:z.responseText;setTimeout(function(){O(new B(ce,ne))},0)},z.onerror=function(){setTimeout(function(){Z(new TypeError("Network request failed"))},0)},z.ontimeout=function(){setTimeout(function(){Z(new TypeError("Network request timed out"))},0)},z.onabort=function(){setTimeout(function(){Z(new n.DOMException("Aborted","AbortError"))},0)};function Te(ne){try{return ne===""&&r.location.href?r.location.href:ne}catch{return ne}}if(z.open(q.method,Te(q.url),!0),q.credentials==="include"?z.withCredentials=!0:q.credentials==="omit"&&(z.withCredentials=!1),"responseType"in z&&(o.blob?z.responseType="blob":o.arrayBuffer&&(z.responseType="arraybuffer")),b&&typeof b.headers=="object"&&!(b.headers instanceof d||r.Headers&&b.headers instanceof r.Headers)){var gn=[];Object.getOwnPropertyNames(b.headers).forEach(function(ne){gn.push(u(ne)),z.setRequestHeader(ne,c(b.headers[ne]))}),q.headers.forEach(function(ne,ce){gn.indexOf(ce)===-1&&z.setRequestHeader(ce,ne)})}else q.headers.forEach(function(ne,ce){z.setRequestHeader(ce,ne)});q.signal&&(q.signal.addEventListener("abort",gt),z.onreadystatechange=function(){z.readyState===4&&q.signal.removeEventListener("abort",gt)}),z.send(typeof q._bodyInit>"u"?null:q._bodyInit)})}return Ae.polyfill=!0,r.fetch||(r.fetch=Ae,r.Headers=d,r.Request=x,r.Response=B),n.Headers=d,n.Request=x,n.Response=B,n.fetch=Ae,n})({})})(fo);fo.fetch.ponyfill=!0;delete fo.fetch.polyfill;var rn=lo.fetch?lo:fo;ft=rn.fetch;ft.default=rn.fetch;ft.fetch=rn.fetch;ft.Headers=rn.Headers;ft.Request=rn.Request;ft.Response=rn.Response;Ol.exports=ft});var rf={type:"object",properties:{value:{type:"object"},channels:{type:"array",items:{type:"string"}},allowed:{type:"array",items:{type:"string"},nullable:!0},url:{type:"string"},actor:{type:"string"}},additionalProperties:!1,required:["value","channels","actor","url"]},Cy={...rf,required:["value","channels"]};var st=class e extends Error{constructor(t){super(t),this.name="GraffitiErrorForbidden",Object.setPrototypeOf(this,e.prototype)}},Q=class e extends Error{constructor(t){super(t),this.name="GraffitiErrorNotFound",Object.setPrototypeOf(this,e.prototype)}},Dt=class e extends Error{constructor(t){super(t),this.name="GraffitiErrorInvalidSchema",Object.setPrototypeOf(this,e.prototype)}},mr=class e extends Error{constructor(t){super(t),this.name="GraffitiErrorSchemaMismatch",Object.setPrototypeOf(this,e.prototype)}},Rt=class e extends Error{constructor(t){super(t),this.name="GraffitiErrorTooLarge",Object.setPrototypeOf(this,e.prototype)}},hr=class e extends Error{constructor(t){super(t),this.name="GraffitiErrorNotAcceptable",Object.setPrototypeOf(this,e.prototype)}},Re=class e extends Error{constructor(t){super(t),this.name="GraffitiErrorCursorExpired",Object.setPrototypeOf(this,e.prototype)}};function ii(e){return typeof e=="string"?e:e.url}function ai(e,t,n){if(n===e.actor)return e;let r=e.allowed&&n?[n]:void 0,o=e.channels.filter(i=>t.includes(i));return{...e,...r?{allowed:r}:{},channels:o}}function bs(e,t){let[n,r]=e.toLowerCase().split(";")[0].split("/");return!n||!r?!1:t.some(o=>{let[i,a]=o.toLowerCase().split(";")[0].split("/");return!i||!a?!1:(i===n||i==="*")&&(a===r||a==="*")})}var oi;async function gr(e){if(!oi){let{default:t}=await import("./ajv-QBSREQSI.js");oi=new t({strict:!1})}try{return oi.compile(e)}catch(t){throw new Dt(t instanceof Error?t.message:String(t))}}var of=Object.freeze({status:"aborted"});function P(e,t,n){function r(s,u){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:u,constr:a,traits:new Set},enumerable:!1}),s._zod.traits.has(e))return;s._zod.traits.add(e),t(s,u);let c=a.prototype,l=Object.keys(c);for(let d=0;d<l.length;d++){let p=l[d];p in s||(s[p]=c[p].bind(s))}}let o=n?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function a(s){var u;let c=n?.Parent?new i:this;r(c,s),(u=c._zod).deferred??(u.deferred=[]);for(let l of c._zod.deferred)l();return c}return Object.defineProperty(a,"init",{value:r}),Object.defineProperty(a,Symbol.hasInstance,{value:s=>n?.Parent&&s instanceof n.Parent?!0:s?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}var Ye=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};var si={};function Qe(e){return e&&Object.assign(si,e),si}function ui(e){let t=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function xs(e,t){return typeof t=="bigint"?t.toString():t}function li(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw new Error("cached value already set")}}}function _r(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}var ws=Symbol("evaluating");function de(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==ws)return r===void 0&&(r=ws,r=n()),r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function af(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function sf(...e){let t={};for(let n of e){let r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}var di="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function vr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var cf=li(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function yn(e){if(vr(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let n=t.prototype;return!(vr(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}var $s=new Set(["string","number","symbol"]);function br(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function vn(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function re(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Ss(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Es={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function ks(e,t){if(!yn(t))throw new Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let i=e._zod.def.shape;for(let a in t)if(Object.getOwnPropertyDescriptor(i,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let o=sf(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return af(this,"shape",i),i}});return vn(e,o)}function yt(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function et(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function yr(e){return typeof e=="string"?e:e?.message}function ct(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let o=yr(e.inst?._zod.def?.error?.(e))??yr(t?.error?.(e))??yr(n.customError?.(e))??yr(n.localeError?.(e))??"Invalid input";r.message=o}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function fi(...e){let[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}var Is=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,xs,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},As=P("$ZodError",Is),_n=P("$ZodError",Is,{Parent:Error});var lf=e=>(t,n,r,o)=>{let i=r?Object.assign(r,{async:!1}):{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new Ye;if(a.issues.length){let s=new(o?.Err??e)(a.issues.map(u=>ct(u,i,Qe())));throw di(s,o?.callee),s}return a.value},wr=lf(_n),df=e=>async(t,n,r,o)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){let s=new(o?.Err??e)(a.issues.map(u=>ct(u,i,Qe())));throw di(s,o?.callee),s}return a.value},xr=df(_n),ff=e=>(t,n,r)=>{let o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new Ye;return i.issues.length?{success:!1,error:new(e??As)(i.issues.map(a=>ct(a,o,Qe())))}:{success:!0,data:i.value}},bn=ff(_n),pf=e=>async(t,n,r)=>{let o=r?Object.assign(r,{async:!0}):{async:!0},i=t._zod.run({value:n,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(a=>ct(a,o,Qe())))}:{success:!0,data:i.value}},wn=pf(_n);var mf="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",hf=new RegExp(`^${mf}$`);var Ts=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Ps=/^-?\d+$/,pi=/^-?\d+(?:\.\d+)?$/,zs=/^(?:true|false)$/i;var Os=/^undefined$/i;var vt=P("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),gf={number:"number",bigint:"bigint",object:"date"};var Us=P("$ZodCheckGreaterThan",(e,t)=>{vt.init(e,t);let n=gf[typeof t.value];e._zod.onattach.push(r=>{let o=r._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>i&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}});var Ds=P("$ZodCheckNumberFormat",(e,t)=>{vt.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[o,i]=Es[t.format];e._zod.onattach.push(a=>{let s=a._zod.bag;s.format=t.format,s.minimum=o,s.maximum=i,n&&(s.pattern=Ps)}),e._zod.check=a=>{let s=a.value;if(n){if(!Number.isInteger(s)){a.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<o&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),s>i&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}});var Rs=P("$ZodCheckStringFormat",(e,t)=>{var n,r;vt.init(e,t),e._zod.onattach.push(o=>{let i=o._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})});var Ns={major:4,minor:3,patch:6};var ee=P("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Ns;let r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(let o of r)for(let i of o._zod.onattach)i(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(a,s,u)=>{let c=yt(a),l;for(let d of s){if(d._zod.def.when){if(!d._zod.def.when(a))continue}else if(c)continue;let p=a.issues.length,_=d._zod.check(a);if(_ instanceof Promise&&u?.async===!1)throw new Ye;if(l||_ instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await _,a.issues.length!==p&&(c||(c=yt(a,p)))});else{if(a.issues.length===p)continue;c||(c=yt(a,p))}}return l?l.then(()=>a):a},i=(a,s,u)=>{if(yt(a))return a.aborted=!0,a;let c=o(s,r,u);if(c instanceof Promise){if(u.async===!1)throw new Ye;return c.then(l=>e._zod.parse(l,u))}return e._zod.parse(c,u)};e._zod.run=(a,s)=>{if(s.skipChecks)return e._zod.parse(a,s);if(s.direction==="backward"){let c=e._zod.parse({value:a.value,issues:[]},{...s,skipChecks:!0});return c instanceof Promise?c.then(l=>i(l,a,s)):i(c,a,s)}let u=e._zod.parse(a,s);if(u instanceof Promise){if(s.async===!1)throw new Ye;return u.then(c=>o(c,r,s))}return o(u,r,s)}}de(e,"~standard",()=>({validate:o=>{try{let i=bn(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return wn(e,o).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),Er=P("$ZodString",(e,t)=>{ee.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Ts(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),hi=P("$ZodStringFormat",(e,t)=>{Rs.init(e,t),Er.init(e,t)});var Fs=P("$ZodURL",(e,t)=>{hi.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),o=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=o.href:n.value=r;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}});var gi=P("$ZodNumber",(e,t)=>{ee.init(e,t),e._zod.pattern=e._zod.bag.pattern??pi,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let o=n.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;let i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),n}}),Hs=P("$ZodNumberFormat",(e,t)=>{Ds.init(e,t),gi.init(e,t)}),yi=P("$ZodBoolean",(e,t)=>{ee.init(e,t),e._zod.pattern=zs,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let o=n.value;return typeof o=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}});var Js=P("$ZodUndefined",(e,t)=>{ee.init(e,t),e._zod.pattern=Os,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(n,r)=>{let o=n.value;return typeof o>"u"||n.issues.push({expected:"undefined",code:"invalid_type",input:o,inst:e}),n}});var Gs=P("$ZodUnknown",(e,t)=>{ee.init(e,t),e._zod.parse=n=>n}),Vs=P("$ZodNever",(e,t)=>{ee.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function Cs(e,t,n){e.issues.length&&t.issues.push(...et(n,e.issues)),t.value[n]=e.value}var qs=P("$ZodArray",(e,t)=>{ee.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);let i=[];for(let a=0;a<o.length;a++){let s=o[a],u=t.element._zod.run({value:s,issues:[]},r);u instanceof Promise?i.push(u.then(c=>Cs(c,n,a))):Cs(u,n,a)}return i.length?Promise.all(i).then(()=>n):n}});function Sr(e,t,n,r,o){if(e.issues.length){if(o&&!(n in r))return;t.issues.push(...et(n,e.issues))}e.value===void 0?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function yf(e){let t=Object.keys(e.shape);for(let r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`);let n=Ss(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function vf(e,t,n,r,o,i){let a=[],s=o.keySet,u=o.catchall._zod,c=u.def.type,l=u.optout==="optional";for(let d in t){if(s.has(d))continue;if(c==="never"){a.push(d);continue}let p=u.run({value:t[d],issues:[]},r);p instanceof Promise?e.push(p.then(_=>Sr(_,n,d,t,l))):Sr(p,n,d,t,l)}return a.length&&n.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:i}),e.length?Promise.all(e).then(()=>n):n}var Ks=P("$ZodObject",(e,t)=>{if(ee.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let s=t.shape;Object.defineProperty(t,"shape",{get:()=>{let u={...s};return Object.defineProperty(t,"shape",{value:u}),u}})}let r=li(()=>yf(t));de(e._zod,"propValues",()=>{let s=t.shape,u={};for(let c in s){let l=s[c]._zod;if(l.values){u[c]??(u[c]=new Set);for(let d of l.values)u[c].add(d)}}return u});let o=vr,i=t.catchall,a;e._zod.parse=(s,u)=>{a??(a=r.value);let c=s.value;if(!o(c))return s.issues.push({expected:"object",code:"invalid_type",input:c,inst:e}),s;s.value={};let l=[],d=a.shape;for(let p of a.keys){let _=d[p],f=_._zod.optout==="optional",y=_._zod.run({value:c[p],issues:[]},u);y instanceof Promise?l.push(y.then(v=>Sr(v,s,p,c,f))):Sr(y,s,p,c,f)}return i?vf(l,c,s,u,r.value,e):l.length?Promise.all(l).then(()=>s):s}});function Ls(e,t,n,r){for(let i of e)if(i.issues.length===0)return t.value=i.value,t;let o=e.filter(i=>!yt(i));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(i=>i.issues.map(a=>ct(a,r,Qe())))}),t)}var Ws=P("$ZodUnion",(e,t)=>{ee.init(e,t),de(e._zod,"optin",()=>t.options.some(o=>o._zod.optin==="optional")?"optional":void 0),de(e._zod,"optout",()=>t.options.some(o=>o._zod.optout==="optional")?"optional":void 0),de(e._zod,"values",()=>{if(t.options.every(o=>o._zod.values))return new Set(t.options.flatMap(o=>Array.from(o._zod.values)))}),de(e._zod,"pattern",()=>{if(t.options.every(o=>o._zod.pattern)){let o=t.options.map(i=>i._zod.pattern);return new RegExp(`^(${o.map(i=>_r(i.source)).join("|")})$`)}});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(o,i)=>{if(n)return r(o,i);let a=!1,s=[];for(let u of t.options){let c=u._zod.run({value:o.value,issues:[]},i);if(c instanceof Promise)s.push(c),a=!0;else{if(c.issues.length===0)return c;s.push(c)}}return a?Promise.all(s).then(u=>Ls(u,o,e,i)):Ls(s,o,e,i)}});var Xs=P("$ZodIntersection",(e,t)=>{ee.init(e,t),e._zod.parse=(n,r)=>{let o=n.value,i=t.left._zod.run({value:o,issues:[]},r),a=t.right._zod.run({value:o,issues:[]},r);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([u,c])=>Ms(n,u,c)):Ms(n,i,a)}});function mi(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(yn(e)&&yn(t)){let n=Object.keys(t),r=Object.keys(e).filter(i=>n.indexOf(i)!==-1),o={...e,...t};for(let i of r){let a=mi(e[i],t[i]);if(!a.valid)return{valid:!1,mergeErrorPath:[i,...a.mergeErrorPath]};o[i]=a.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let o=e[r],i=t[r],a=mi(o,i);if(!a.valid)return{valid:!1,mergeErrorPath:[r,...a.mergeErrorPath]};n.push(a.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Ms(e,t,n){let r=new Map,o;for(let s of t.issues)if(s.code==="unrecognized_keys"){o??(o=s);for(let u of s.keys)r.has(u)||r.set(u,{}),r.get(u).l=!0}else e.issues.push(s);for(let s of n.issues)if(s.code==="unrecognized_keys")for(let u of s.keys)r.has(u)||r.set(u,{}),r.get(u).r=!0;else e.issues.push(s);let i=[...r].filter(([,s])=>s.l&&s.r).map(([s])=>s);if(i.length&&o&&e.issues.push({...o,keys:i}),yt(e))return e;let a=mi(t.value,n.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return e.value=a.data,e}var Ys=P("$ZodTuple",(e,t)=>{ee.init(e,t);let n=t.items;e._zod.parse=(r,o)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({input:i,inst:e,expected:"tuple",code:"invalid_type"}),r;r.value=[];let a=[],s=[...n].reverse().findIndex(l=>l._zod.optin!=="optional"),u=s===-1?0:n.length-s;if(!t.rest){let l=i.length>n.length,d=i.length<u-1;if(l||d)return r.issues.push({...l?{code:"too_big",maximum:n.length,inclusive:!0}:{code:"too_small",minimum:n.length},input:i,inst:e,origin:"array"}),r}let c=-1;for(let l of n){if(c++,c>=i.length&&c>=u)continue;let d=l._zod.run({value:i[c],issues:[]},o);d instanceof Promise?a.push(d.then(p=>$r(p,r,c))):$r(d,r,c)}if(t.rest){let l=i.slice(n.length);for(let d of l){c++;let p=t.rest._zod.run({value:d,issues:[]},o);p instanceof Promise?a.push(p.then(_=>$r(_,r,c))):$r(p,r,c)}}return a.length?Promise.all(a).then(()=>r):r}});function $r(e,t,n){e.issues.length&&t.issues.push(...et(n,e.issues)),t.value[n]=e.value}var Qs=P("$ZodRecord",(e,t)=>{ee.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!yn(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),n;let i=[],a=t.keyType._zod.values;if(a){n.value={};let s=new Set;for(let c of a)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){s.add(typeof c=="number"?c.toString():c);let l=t.valueType._zod.run({value:o[c],issues:[]},r);l instanceof Promise?i.push(l.then(d=>{d.issues.length&&n.issues.push(...et(c,d.issues)),n.value[c]=d.value})):(l.issues.length&&n.issues.push(...et(c,l.issues)),n.value[c]=l.value)}let u;for(let c in o)s.has(c)||(u=u??[],u.push(c));u&&u.length>0&&n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:u})}else{n.value={};for(let s of Reflect.ownKeys(o)){if(s==="__proto__")continue;let u=t.keyType._zod.run({value:s,issues:[]},r);if(u instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof s=="string"&&pi.test(s)&&u.issues.length){let d=t.keyType._zod.run({value:Number(s),issues:[]},r);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");d.issues.length===0&&(u=d)}if(u.issues.length){t.mode==="loose"?n.value[s]=o[s]:n.issues.push({code:"invalid_key",origin:"record",issues:u.issues.map(d=>ct(d,r,Qe())),input:s,path:[s],inst:e});continue}let l=t.valueType._zod.run({value:o[s],issues:[]},r);l instanceof Promise?i.push(l.then(d=>{d.issues.length&&n.issues.push(...et(s,d.issues)),n.value[u.value]=d.value})):(l.issues.length&&n.issues.push(...et(s,l.issues)),n.value[u.value]=l.value)}}return i.length?Promise.all(i).then(()=>n):n}});var ec=P("$ZodEnum",(e,t)=>{ee.init(e,t);let n=ui(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(o=>$s.has(typeof o)).map(o=>typeof o=="string"?br(o):o.toString()).join("|")})$`),e._zod.parse=(o,i)=>{let a=o.value;return r.has(a)||o.issues.push({code:"invalid_value",values:n,input:a,inst:e}),o}});function Zs(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var tc=P("$ZodOptional",(e,t)=>{ee.init(e,t),e._zod.optin="optional",e._zod.optout="optional",de(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),de(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${_r(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional"){let o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(i=>Zs(i,n.value)):Zs(o,n.value)}return n.value===void 0?n:t.innerType._zod.run(n,r)}});var nc=P("$ZodNullable",(e,t)=>{ee.init(e,t),de(e._zod,"optin",()=>t.innerType._zod.optin),de(e._zod,"optout",()=>t.innerType._zod.optout),de(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${_r(n.source)}|null)$`):void 0}),de(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)});var rc=P("$ZodCustom",(e,t)=>{vt.init(e,t),ee.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{let r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then(i=>Bs(i,n,r,e));Bs(o,n,r,e)}});function Bs(e,t,n,r){if(!e){let o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(o.params=r._zod.def.params),t.issues.push(fi(o))}}var ic;var vi=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){let r=n[0];return this._map.set(t,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){let n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){let n=t._zod.parent;if(n){let r={...this.get(n)??{}};delete r.id;let o={...r,...this._map.get(t)};return Object.keys(o).length?o:void 0}return this._map.get(t)}has(t){return this._map.has(t)}};function ac(){return new vi}(ic=globalThis).__zod_globalRegistry??(ic.__zod_globalRegistry=ac());var _i=globalThis.__zod_globalRegistry;function sc(e,t){return new e({type:"string",...re(t)})}function cc(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...re(t)})}function uc(e,t){return new e({type:"number",checks:[],...re(t)})}function lc(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...re(t)})}function dc(e,t){return new e({type:"boolean",...re(t)})}function fc(e,t){return new e({type:"undefined",...re(t)})}function pc(e){return new e({type:"unknown"})}function mc(e,t){return new e({type:"never",...re(t)})}function bi(e,t){return new Us({check:"greater_than",...re(t),value:e,inclusive:!0})}function _t(e){return bi(0,e)}function hc(e,t,n){let r=re(n);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}var ue=P("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");ee.init(e,t),e.def=t,e.type=t.type,e.parse=(n,r)=>wr(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>bn(e,n,r),e.parseAsync=async(n,r)=>xr(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>wn(e,n,r),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]},{parent:!0}),e.with=e.check,e.clone=(n,r)=>vn(e,n,r),e.brand=()=>e,e.register=((n,r)=>(n.add(e,r),e)),e.apply=n=>n(e)}),wi=P("ZodMiniString",(e,t)=>{Er.init(e,t),ue.init(e,t)});function H(e){return sc(wi,e)}var gc=P("ZodMiniStringFormat",(e,t)=>{hi.init(e,t),wi.init(e,t)});var zf=P("ZodMiniURL",(e,t)=>{Fs.init(e,t),gc.init(e,t)});function J(e){return cc(zf,e)}var xi=P("ZodMiniNumber",(e,t)=>{gi.init(e,t),ue.init(e,t)});function yc(e){return uc(xi,e)}var Of=P("ZodMiniNumberFormat",(e,t)=>{Hs.init(e,t),xi.init(e,t)});function jt(e){return lc(Of,e)}var vc=P("ZodMiniBoolean",(e,t)=>{yi.init(e,t),ue.init(e,t)});function $i(e){return dc(vc,e)}var Uf=P("ZodMiniUndefined",(e,t)=>{Js.init(e,t),ue.init(e,t)});function _c(e){return fc(Uf,e)}var Df=P("ZodMiniUnknown",(e,t)=>{Gs.init(e,t),ue.init(e,t)});function Rf(){return pc(Df)}var jf=P("ZodMiniNever",(e,t)=>{Vs.init(e,t),ue.init(e,t)});function Nf(e){return mc(jf,e)}var Cf=P("ZodMiniArray",(e,t)=>{qs.init(e,t),ue.init(e,t)});function V(e,t){return new Cf({type:"array",element:e,...re(t)})}var Si=P("ZodMiniObject",(e,t)=>{Ks.init(e,t),ue.init(e,t),de(e,"shape",()=>t.shape)});function _e(e,t){let n={type:"object",shape:e??{},...re(t)};return new Si(n)}function be(e,t){return new Si({type:"object",shape:e,catchall:Nf(),...re(t)})}function he(e,t){return new Si({type:"object",shape:e,catchall:Rf(),...re(t)})}function tt(e,t){return ks(e,t)}var Lf=P("ZodMiniUnion",(e,t)=>{Ws.init(e,t),ue.init(e,t)});function ut(e,t){return new Lf({type:"union",options:e,...re(t)})}var Mf=P("ZodMiniIntersection",(e,t)=>{Xs.init(e,t),ue.init(e,t)});function bc(e,t){return new Mf({type:"intersection",left:e,right:t})}var Zf=P("ZodMiniTuple",(e,t)=>{Ys.init(e,t),ue.init(e,t)});function fe(e,t,n){let r=t instanceof ee,o=r?n:t,i=r?t:null;return new Zf({type:"tuple",items:e,rest:i,...re(o)})}var Bf=P("ZodMiniRecord",(e,t)=>{Qs.init(e,t),ue.init(e,t)});function wc(e,t,n){return new Bf({type:"record",keyType:e,valueType:t,...re(n)})}var Ff=P("ZodMiniEnum",(e,t)=>{ec.init(e,t),ue.init(e,t),e.options=Object.values(t.entries)});function xc(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new Ff({type:"enum",entries:n,...re(t)})}var Hf=P("ZodMiniOptional",(e,t)=>{tc.init(e,t),ue.init(e,t)});function X(e){return new Hf({type:"optional",innerType:e})}var Jf=P("ZodMiniNullable",(e,t)=>{nc.init(e,t),ue.init(e,t)});function Ze(e){return new Jf({type:"nullable",innerType:e})}var Gf=P("ZodMiniCustom",(e,t)=>{rc.init(e,t),ue.init(e,t)});function bt(e,t){return hc(Gf,e??(()=>!0),t)}function Nt(e,t={}){let n=bt(r=>r instanceof e,t);return n._zod.bag.Class=e,n._zod.check=r=>{r.value instanceof e||r.issues.push({code:"invalid_type",expected:e.name,input:r.value,inst:n,path:[...n._zod.def.path??[]]})},n}var Ec=he({value:he({}),channels:V(H()),allowed:X(Ze(V(J())))}),uE=tt(Ec,{url:J(),actor:J()}),Sc=ut([he({url:J()}),J()]),Ct=he({actor:J()}),Ir=X(Ze(Ct)),kc=he({data:Nt(Blob),allowed:X(Ze(V(J())))}),lE=tt(kc,{actor:J()}),Xf=he({types:X(V(H())),maxBytes:X(jt().check(_t()))}),Ar=class{constructor(t){this.graffiti=t,this.sessionEvents=this.graffiti.sessionEvents}sessionEvents;login=(...t)=>{let n=fe([X(J())]).parse(t);return this.graffiti.login(...n)};logout=(...t)=>{let n=fe([Ct]).parse(t);return this.graffiti.logout(...n)};handleToActor=(...t)=>{let n=fe([H()]).parse(t);return this.graffiti.handleToActor(...n)};actorToHandle=(...t)=>{let n=fe([J()]).parse(t);return this.graffiti.actorToHandle(...n)};post=(...t)=>{let n=fe([Ec,Ct]).parse(t);return this.graffiti.post(...n)};get=(...t)=>{let n=fe([Sc,he({}),Ir]).parse(t);return this.graffiti.get(n[0],n[1],n[2])};delete=(...t)=>{let n=fe([Sc,Ct]).parse(t);return this.graffiti.delete(...n)};postMedia=(...t)=>{let n=fe([kc,Ct]).parse(t);return this.graffiti.postMedia(...n)};getMedia=(...t)=>{let n=fe([J(),Xf,Ir]).parse(t);return this.graffiti.getMedia(...n)};deleteMedia=(...t)=>{let n=fe([J(),Ct]).parse(t);return this.graffiti.deleteMedia(...n)};discover=(...t)=>{let n=fe([V(H()),he({}),Ir]).parse(t);return this.graffiti.discover(n[0],n[1],n[2])};continueDiscover=(...t)=>{let n=fe([H(),Ir]).parse(t);return this.graffiti.continueDiscover(...n)}};function Yf(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Ei(e,t=""){if(!Number.isSafeInteger(e)||e<0){let n=t&&`"${t}" `;throw new Error(`${n}expected integer >= 0, got ${e}`)}}function Tr(e,t,n=""){let r=Yf(e),o=e?.length,i=t!==void 0;if(!r||i&&o!==t){let a=n&&`"${n}" `,s=i?` of length ${t}`:"",u=r?`length=${o}`:`type=${typeof e}`;throw new Error(a+"expected Uint8Array"+s+", got "+u)}return e}function Ic(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash must wrapped by utils.createHasher");Ei(e.outputLen),Ei(e.blockLen)}function wt(e=32){let t=typeof globalThis=="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return t.getRandomValues(new Uint8Array(e))}var Qf=["Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function ki(e){if(e===null)return"null";if(e===void 0)return"undefined";if(e===!0||e===!1)return"boolean";let t=typeof e;if(t==="string"||t==="number"||t==="bigint"||t==="symbol")return t;if(t==="function")return"Function";if(Array.isArray(e))return"Array";if(e instanceof Uint8Array)return"Uint8Array";if(e.constructor===Object)return"Object";let n=ep(e);return n||"Object"}function ep(e){let t=Object.prototype.toString.call(e).slice(8,-1);if(Qf.includes(t))return t}var g=class{constructor(t,n,r){this.major=t,this.majorEncoded=t<<5,this.name=n,this.terminal=r}toString(){return`Type[${this.major}].${this.name}`}compare(t){return this.major<t.major?-1:this.major>t.major?1:0}static equals(t,n){return t===n||t.major===n.major&&t.name===n.name}};g.uint=new g(0,"uint",!0);g.negint=new g(1,"negint",!0);g.bytes=new g(2,"bytes",!0);g.string=new g(3,"string",!0);g.array=new g(4,"array",!1);g.map=new g(5,"map",!1);g.tag=new g(6,"tag",!1);g.float=new g(7,"float",!0);g.false=new g(7,"false",!0);g.true=new g(7,"true",!0);g.null=new g(7,"null",!0);g.undefined=new g(7,"undefined",!0);g.break=new g(7,"break",!0);var E=class{constructor(t,n,r){this.type=t,this.value=n,this.encodedLength=r,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var $n=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",tp=new TextEncoder;function Pr(e){return $n&&globalThis.Buffer.isBuffer(e)}function Sn(e){return e instanceof Uint8Array?Pr(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e:Uint8Array.from(e)}var np=24,rp=200,zr=$n?e=>e.length>=np?globalThis.Buffer.from(e):Ac(e):e=>e.length>=rp?tp.encode(e):Ac(e),Be=e=>Uint8Array.from(e),Tc=$n?(e,t,n)=>Pr(e)?new Uint8Array(e.subarray(t,n)):e.slice(t,n):(e,t,n)=>e.slice(t,n),Pc=$n?(e,t)=>(e=e.map(n=>n instanceof Uint8Array?n:globalThis.Buffer.from(n)),Sn(globalThis.Buffer.concat(e,t))):(e,t)=>{let n=new Uint8Array(t),r=0;for(let o of e)r+o.length>n.length&&(o=o.subarray(0,n.length-r)),n.set(o,r),r+=o.length;return n},zc=$n?e=>globalThis.Buffer.allocUnsafe(e):e=>new Uint8Array(e);function Or(e,t){if(Pr(e)&&Pr(t))return e.compare(t);for(let n=0;n<e.length;n++)if(e[n]!==t[n])return e[n]<t[n]?-1:1;return 0}function Ac(e){let t=[],n=0;for(let r=0;r<e.length;r++){let o=e.charCodeAt(r);o<128?t[n++]=o:o<2048?(t[n++]=o>>6|192,t[n++]=o&63|128):(o&64512)===55296&&r+1<e.length&&(e.charCodeAt(r+1)&64512)===56320?(o=65536+((o&1023)<<10)+(e.charCodeAt(++r)&1023),t[n++]=o>>18|240,t[n++]=o>>12&63|128,t[n++]=o>>6&63|128,t[n++]=o&63|128):(o>=55296&&o<=57343&&(o=65533),t[n++]=o>>12|224,t[n++]=o>>6&63|128,t[n++]=o&63|128)}return t}var op=256,En=class{constructor(t=op){this.chunkSize=t,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(t){let n=this.chunks[this.chunks.length-1];if(this.cursor+t.length<=this.maxCursor+1){let o=n.length-(this.maxCursor-this.cursor)-1;n.set(t,o)}else{if(n){let o=n.length-(this.maxCursor-this.cursor)-1;o<n.length&&(this.chunks[this.chunks.length-1]=n.subarray(0,o),this.maxCursor=this.cursor-1)}t.length<64&&t.length<this.chunkSize?(n=zc(this.chunkSize),this.chunks.push(n),this.maxCursor+=n.length,this._initReuseChunk===null&&(this._initReuseChunk=n),n.set(t,0)):(this.chunks.push(t),this.maxCursor+=t.length)}this.cursor+=t.length}toBytes(t=!1){let n;if(this.chunks.length===1){let r=this.chunks[0];t&&this.cursor>r.length/2?(n=this.cursor===r.length?r:r.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):n=Tc(r,0,this.cursor)}else n=Pc(this.chunks,this.cursor);return t&&this.reset(),n}},Ur=class{constructor(t){this.dest=t,this.cursor=0,this.chunks=[t]}reset(){this.cursor=0}push(t){if(this.cursor+t.length>this.dest.length)throw new Error("write out of bounds, destination buffer is too small");this.dest.set(t,this.cursor),this.cursor+=t.length}toBytes(t=!1){let n=this.dest.subarray(0,this.cursor);return t&&this.reset(),n}};var L="CBOR decode error:",Dr="CBOR encode error:",kn=[];kn[23]=1;kn[24]=2;kn[25]=3;kn[26]=5;kn[27]=9;function nt(e,t,n){if(e.length-t<n)throw new Error(`${L} not enough data for type`)}var ae=[24,256,65536,4294967296,BigInt("18446744073709551616")];function we(e,t,n){nt(e,t,1);let r=e[t];if(n.strict===!0&&r<ae[0])throw new Error(`${L} integer encoded in more bytes than necessary (strict decode)`);return r}function xe(e,t,n){nt(e,t,2);let r=e[t]<<8|e[t+1];if(n.strict===!0&&r<ae[1])throw new Error(`${L} integer encoded in more bytes than necessary (strict decode)`);return r}function $e(e,t,n){nt(e,t,4);let r=e[t]*16777216+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];if(n.strict===!0&&r<ae[2])throw new Error(`${L} integer encoded in more bytes than necessary (strict decode)`);return r}function Se(e,t,n){nt(e,t,8);let r=e[t]*16777216+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3],o=e[t+4]*16777216+(e[t+5]<<16)+(e[t+6]<<8)+e[t+7],i=(BigInt(r)<<BigInt(32))+BigInt(o);if(n.strict===!0&&i<ae[3])throw new Error(`${L} integer encoded in more bytes than necessary (strict decode)`);if(i<=Number.MAX_SAFE_INTEGER)return Number(i);if(n.allowBigInt===!0)return i;throw new Error(`${L} integers outside of the safe integer range are not supported`)}function Oc(e,t,n,r){return new E(g.uint,we(e,t+1,r),2)}function Uc(e,t,n,r){return new E(g.uint,xe(e,t+1,r),3)}function Dc(e,t,n,r){return new E(g.uint,$e(e,t+1,r),5)}function Rc(e,t,n,r){return new E(g.uint,Se(e,t+1,r),9)}function Pe(e,t){return W(e,0,t.value)}function W(e,t,n){if(n<ae[0]){let r=Number(n);e.push([t|r])}else if(n<ae[1]){let r=Number(n);e.push([t|24,r])}else if(n<ae[2]){let r=Number(n);e.push([t|25,r>>>8,r&255])}else if(n<ae[3]){let r=Number(n);e.push([t|26,r>>>24&255,r>>>16&255,r>>>8&255,r&255])}else{let r=BigInt(n);if(r<ae[4]){let o=[t|27,0,0,0,0,0,0,0],i=Number(r&BigInt(4294967295)),a=Number(r>>BigInt(32)&BigInt(4294967295));o[8]=i&255,i=i>>8,o[7]=i&255,i=i>>8,o[6]=i&255,i=i>>8,o[5]=i&255,o[4]=a&255,a=a>>8,o[3]=a&255,a=a>>8,o[2]=a&255,a=a>>8,o[1]=a&255,e.push(o)}else throw new Error(`${L} encountered BigInt larger than allowable range`)}}Pe.encodedSize=function(t){return W.encodedSize(t.value)};W.encodedSize=function(t){return t<ae[0]?1:t<ae[1]?2:t<ae[2]?3:t<ae[3]?5:9};Pe.compareTokens=function(t,n){return t.value<n.value?-1:t.value>n.value?1:0};function jc(e,t,n,r){return new E(g.negint,-1-we(e,t+1,r),2)}function Nc(e,t,n,r){return new E(g.negint,-1-xe(e,t+1,r),3)}function Cc(e,t,n,r){return new E(g.negint,-1-$e(e,t+1,r),5)}var Ii=BigInt(-1),Lc=BigInt(1);function Mc(e,t,n,r){let o=Se(e,t+1,r);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new E(g.negint,i,9)}if(r.allowBigInt!==!0)throw new Error(`${L} integers outside of the safe integer range are not supported`);return new E(g.negint,Ii-BigInt(o),9)}function Rr(e,t){let n=t.value,r=typeof n=="bigint"?n*Ii-Lc:n*-1-1;W(e,t.type.majorEncoded,r)}Rr.encodedSize=function(t){let n=t.value,r=typeof n=="bigint"?n*Ii-Lc:n*-1-1;return r<ae[0]?1:r<ae[1]?2:r<ae[2]?3:r<ae[3]?5:9};Rr.compareTokens=function(t,n){return t.value<n.value?1:t.value>n.value?-1:0};function In(e,t,n,r){nt(e,t,n+r);let o=e.slice(t+n,t+n+r);return new E(g.bytes,o,n+r)}function Zc(e,t,n,r){return In(e,t,1,n)}function Bc(e,t,n,r){return In(e,t,2,we(e,t+1,r))}function Fc(e,t,n,r){return In(e,t,3,xe(e,t+1,r))}function Hc(e,t,n,r){return In(e,t,5,$e(e,t+1,r))}function Jc(e,t,n,r){let o=Se(e,t+1,r);if(typeof o=="bigint")throw new Error(`${L} 64-bit integer bytes lengths not supported`);return In(e,t,9,o)}function jr(e){return e.encodedBytes===void 0&&(e.encodedBytes=g.equals(e.type,g.string)?zr(e.value):e.value),e.encodedBytes}function Lt(e,t){let n=jr(t);W(e,t.type.majorEncoded,n.length),e.push(n)}Lt.encodedSize=function(t){let n=jr(t);return W.encodedSize(n.length)+n.length};Lt.compareTokens=function(t,n){return ap(jr(t),jr(n))};function ap(e,t){return e.length<t.length?-1:e.length>t.length?1:Or(e,t)}var Gc=new TextDecoder,cp=32;function up(e,t,n){if(n-t<cp){let o="";for(let i=t;i<n;i++){let a=e[i];if(a&128)return Gc.decode(e.subarray(t,n));o+=String.fromCharCode(a)}return o}return Gc.decode(e.subarray(t,n))}function An(e,t,n,r,o){let i=n+r;nt(e,t,i);let a=new E(g.string,up(e,t+n,t+i),i);return o.retainStringBytes===!0&&(a.byteValue=e.slice(t+n,t+i)),a}function Vc(e,t,n,r){return An(e,t,1,n,r)}function qc(e,t,n,r){return An(e,t,2,we(e,t+1,r),r)}function Kc(e,t,n,r){return An(e,t,3,xe(e,t+1,r),r)}function Wc(e,t,n,r){return An(e,t,5,$e(e,t+1,r),r)}function Xc(e,t,n,r){let o=Se(e,t+1,r);if(typeof o=="bigint")throw new Error(`${L} 64-bit integer string lengths not supported`);return An(e,t,9,o,r)}var Yc=Lt;function Mt(e,t,n,r){return new E(g.array,r,n)}function Qc(e,t,n,r){return Mt(e,t,1,n)}function eu(e,t,n,r){return Mt(e,t,2,we(e,t+1,r))}function tu(e,t,n,r){return Mt(e,t,3,xe(e,t+1,r))}function nu(e,t,n,r){return Mt(e,t,5,$e(e,t+1,r))}function ru(e,t,n,r){let o=Se(e,t+1,r);if(typeof o=="bigint")throw new Error(`${L} 64-bit integer array lengths not supported`);return Mt(e,t,9,o)}function ou(e,t,n,r){if(r.allowIndefinite===!1)throw new Error(`${L} indefinite length items not allowed`);return Mt(e,t,1,1/0)}function Nr(e,t){W(e,g.array.majorEncoded,t.value)}Nr.compareTokens=Pe.compareTokens;Nr.encodedSize=function(t){return W.encodedSize(t.value)};function Zt(e,t,n,r){return new E(g.map,r,n)}function iu(e,t,n,r){return Zt(e,t,1,n)}function au(e,t,n,r){return Zt(e,t,2,we(e,t+1,r))}function su(e,t,n,r){return Zt(e,t,3,xe(e,t+1,r))}function cu(e,t,n,r){return Zt(e,t,5,$e(e,t+1,r))}function uu(e,t,n,r){let o=Se(e,t+1,r);if(typeof o=="bigint")throw new Error(`${L} 64-bit integer map lengths not supported`);return Zt(e,t,9,o)}function lu(e,t,n,r){if(r.allowIndefinite===!1)throw new Error(`${L} indefinite length items not allowed`);return Zt(e,t,1,1/0)}function Cr(e,t){W(e,g.map.majorEncoded,t.value)}Cr.compareTokens=Pe.compareTokens;Cr.encodedSize=function(t){return W.encodedSize(t.value)};function du(e,t,n,r){return new E(g.tag,n,1)}function fu(e,t,n,r){return new E(g.tag,we(e,t+1,r),2)}function pu(e,t,n,r){return new E(g.tag,xe(e,t+1,r),3)}function mu(e,t,n,r){return new E(g.tag,$e(e,t+1,r),5)}function hu(e,t,n,r){return new E(g.tag,Se(e,t+1,r),9)}function Lr(e,t){W(e,g.tag.majorEncoded,t.value)}Lr.compareTokens=Pe.compareTokens;Lr.encodedSize=function(t){return W.encodedSize(t.value)};var Ai=20,Ti=21,Pi=22,zi=23;function gu(e,t,n,r){if(r.allowUndefined===!1)throw new Error(`${L} undefined values are not supported`);return r.coerceUndefinedToNull===!0?new E(g.null,null,1):new E(g.undefined,void 0,1)}function yu(e,t,n,r){if(r.allowIndefinite===!1)throw new Error(`${L} indefinite length items not allowed`);return new E(g.break,void 0,1)}function Oi(e,t,n){if(n){if(n.allowNaN===!1&&Number.isNaN(e))throw new Error(`${L} NaN values are not supported`);if(n.allowInfinity===!1&&(e===1/0||e===-1/0))throw new Error(`${L} Infinity values are not supported`)}return new E(g.float,e,t)}function vu(e,t,n,r){return Oi(Ui(e,t+1),3,r)}function _u(e,t,n,r){return Oi(Di(e,t+1),5,r)}function bu(e,t,n,r){return Oi(Su(e,t+1),9,r)}function Tn(e,t,n){let r=t.value;if(r===!1)e.push([g.float.majorEncoded|Ai]);else if(r===!0)e.push([g.float.majorEncoded|Ti]);else if(r===null)e.push([g.float.majorEncoded|Pi]);else if(r===void 0)e.push([g.float.majorEncoded|zi]);else{let o,i=!1;(!n||n.float64!==!0)&&(xu(r),o=Ui(je,1),r===o||Number.isNaN(r)?(je[0]=249,e.push(je.slice(0,3)),i=!0):($u(r),o=Di(je,1),r===o&&(je[0]=250,e.push(je.slice(0,5)),i=!0))),i||(mp(r),o=Su(je,1),je[0]=251,e.push(je.slice(0,9)))}}Tn.encodedSize=function(t,n){let r=t.value;if(r===!1||r===!0||r===null||r===void 0)return 1;if(!n||n.float64!==!0){xu(r);let o=Ui(je,1);if(r===o||Number.isNaN(r))return 3;if($u(r),o=Di(je,1),r===o)return 5}return 9};var wu=new ArrayBuffer(9),ze=new DataView(wu,1),je=new Uint8Array(wu,0);function xu(e){if(e===1/0)ze.setUint16(0,31744,!1);else if(e===-1/0)ze.setUint16(0,64512,!1);else if(Number.isNaN(e))ze.setUint16(0,32256,!1);else{ze.setFloat32(0,e);let t=ze.getUint32(0),n=(t&2139095040)>>23,r=t&8388607;if(n===255)ze.setUint16(0,31744,!1);else if(n===0)ze.setUint16(0,(e&2147483648)>>16|r>>13,!1);else{let o=n-127;o<-24?ze.setUint16(0,0):o<-14?ze.setUint16(0,(t&2147483648)>>16|1<<24+o,!1):ze.setUint16(0,(t&2147483648)>>16|o+15<<10|r>>13,!1)}}}function Ui(e,t){if(e.length-t<2)throw new Error(`${L} not enough data for float16`);let n=(e[t]<<8)+e[t+1];if(n===31744)return 1/0;if(n===64512)return-1/0;if(n===32256)return NaN;let r=n>>10&31,o=n&1023,i;return r===0?i=o*2**-24:r!==31?i=(o+1024)*2**(r-25):i=o===0?1/0:NaN,n&32768?-i:i}function $u(e){ze.setFloat32(0,e,!1)}function Di(e,t){if(e.length-t<4)throw new Error(`${L} not enough data for float32`);let n=(e.byteOffset||0)+t;return new DataView(e.buffer,n,4).getFloat32(0,!1)}function mp(e){ze.setFloat64(0,e,!1)}function Su(e,t){if(e.length-t<8)throw new Error(`${L} not enough data for float64`);let n=(e.byteOffset||0)+t;return new DataView(e.buffer,n,8).getFloat64(0,!1)}Tn.compareTokens=Pe.compareTokens;function F(e,t,n){throw new Error(`${L} encountered invalid minor (${n}) for major ${e[t]>>>5}`)}function Mr(e){return()=>{throw new Error(`${L} ${e}`)}}var $=[];for(let e=0;e<=23;e++)$[e]=F;$[24]=Oc;$[25]=Uc;$[26]=Dc;$[27]=Rc;$[28]=F;$[29]=F;$[30]=F;$[31]=F;for(let e=32;e<=55;e++)$[e]=F;$[56]=jc;$[57]=Nc;$[58]=Cc;$[59]=Mc;$[60]=F;$[61]=F;$[62]=F;$[63]=F;for(let e=64;e<=87;e++)$[e]=Zc;$[88]=Bc;$[89]=Fc;$[90]=Hc;$[91]=Jc;$[92]=F;$[93]=F;$[94]=F;$[95]=Mr("indefinite length bytes/strings are not supported");for(let e=96;e<=119;e++)$[e]=Vc;$[120]=qc;$[121]=Kc;$[122]=Wc;$[123]=Xc;$[124]=F;$[125]=F;$[126]=F;$[127]=Mr("indefinite length bytes/strings are not supported");for(let e=128;e<=151;e++)$[e]=Qc;$[152]=eu;$[153]=tu;$[154]=nu;$[155]=ru;$[156]=F;$[157]=F;$[158]=F;$[159]=ou;for(let e=160;e<=183;e++)$[e]=iu;$[184]=au;$[185]=su;$[186]=cu;$[187]=uu;$[188]=F;$[189]=F;$[190]=F;$[191]=lu;for(let e=192;e<=215;e++)$[e]=du;$[216]=fu;$[217]=pu;$[218]=mu;$[219]=hu;$[220]=F;$[221]=F;$[222]=F;$[223]=F;for(let e=224;e<=243;e++)$[e]=Mr("simple values are not supported");$[244]=F;$[245]=F;$[246]=F;$[247]=gu;$[248]=Mr("simple values are not supported");$[249]=vu;$[250]=_u;$[251]=bu;$[252]=F;$[253]=F;$[254]=F;$[255]=yu;var Ne=[];for(let e=0;e<24;e++)Ne[e]=new E(g.uint,e,1);for(let e=-1;e>=-24;e--)Ne[31-e]=new E(g.negint,e,1);Ne[64]=new E(g.bytes,new Uint8Array(0),1);Ne[96]=new E(g.string,"",1);Ne[128]=new E(g.array,0,1);Ne[160]=new E(g.map,0,1);Ne[244]=new E(g.false,!1,1);Ne[245]=new E(g.true,!0,1);Ne[246]=new E(g.null,null,1);function Ri(e){switch(e.type){case g.false:return Be([244]);case g.true:return Be([245]);case g.null:return Be([246]);case g.bytes:return e.value.length?void 0:Be([64]);case g.string:return e.value===""?Be([96]):void 0;case g.array:return e.value===0?Be([128]):void 0;case g.map:return e.value===0?Be([160]):void 0;case g.uint:return e.value<24?Be([Number(e.value)]):void 0;case g.negint:if(e.value>=-24)return Be([31-Number(e.value)])}}var gp={float64:!1,mapSorter:_p,quickEncodeToken:Ri},Tu=Object.freeze({float64:!0,mapSorter:bp,quickEncodeToken:Ri});function yp(){let e=[];return e[g.uint.major]=Pe,e[g.negint.major]=Rr,e[g.bytes.major]=Lt,e[g.string.major]=Yc,e[g.array.major]=Nr,e[g.map.major]=Cr,e[g.tag.major]=Lr,e[g.float.major]=Tn,e}var Bt=yp(),Zr=new En,zn=class e{constructor(t,n){this.obj=t,this.parent=n}includes(t){let n=this;do if(n.obj===t)return!0;while(n=n.parent);return!1}static createCheck(t,n){if(t&&t.includes(n))throw new Error(`${Dr} object contains circular references`);return new e(n,t)}},lt={null:new E(g.null,null),undefined:new E(g.undefined,void 0),true:new E(g.true,!0),false:new E(g.false,!1),emptyArray:new E(g.array,0),emptyMap:new E(g.map,0)},Fe={number(e,t,n,r){return!Number.isInteger(e)||!Number.isSafeInteger(e)?new E(g.float,e):e>=0?new E(g.uint,e):new E(g.negint,e)},bigint(e,t,n,r){return e>=BigInt(0)?new E(g.uint,e):new E(g.negint,e)},Uint8Array(e,t,n,r){return new E(g.bytes,e)},string(e,t,n,r){return new E(g.string,e)},boolean(e,t,n,r){return e?lt.true:lt.false},null(e,t,n,r){return lt.null},undefined(e,t,n,r){return lt.undefined},ArrayBuffer(e,t,n,r){return new E(g.bytes,new Uint8Array(e))},DataView(e,t,n,r){return new E(g.bytes,new Uint8Array(e.buffer,e.byteOffset,e.byteLength))},Array(e,t,n,r){if(!e.length)return n.addBreakTokens===!0?[lt.emptyArray,new E(g.break)]:lt.emptyArray;r=zn.createCheck(r,e);let o=[],i=0;for(let a of e)o[i++]=Br(a,n,r);return n.addBreakTokens?[new E(g.array,e.length),o,new E(g.break)]:[new E(g.array,e.length),o]},Object(e,t,n,r){let o=t!=="Object",i=o?e.keys():Object.keys(e),a=o?e.size:i.length,s;if(a){s=new Array(a),r=zn.createCheck(r,e);let u=!o&&n.ignoreUndefinedProperties,c=0;for(let l of i){let d=o?e.get(l):e[l];u&&d===void 0||(s[c++]=[Br(l,n,r),Br(d,n,r)])}c<a&&(s.length=c)}return s?.length?(vp(s,n),n.addBreakTokens?[new E(g.map,s.length),s,new E(g.break)]:[new E(g.map,s.length),s]):n.addBreakTokens===!0?[lt.emptyMap,new E(g.break)]:lt.emptyMap}};Fe.Map=Fe.Object;Fe.Buffer=Fe.Uint8Array;for(let e of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Fe[`${e}Array`]=Fe.DataView;function Br(e,t={},n){let r=ki(e),o=t&&t.typeEncoders&&t.typeEncoders[r]||Fe[r];if(typeof o=="function"){let a=o(e,r,t,n);if(a!=null)return a}let i=Fe[r];if(!i)throw new Error(`${Dr} unsupported type: ${r}`);return i(e,r,t,n)}function vp(e,t){t.mapSorter&&e.sort(t.mapSorter)}function _p(e,t){let n=Array.isArray(e[0])?e[0][0]:e[0],r=Array.isArray(t[0])?t[0][0]:t[0];if(n.type!==r.type)return n.type.compare(r.type);let o=n.type.major,i=Bt[o].compareTokens(n,r);return i===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),i}function bp(e,t){if(e[0]instanceof E&&t[0]instanceof E){let n=e[0],r=t[0];return n._keyBytes||(n._keyBytes=Eu(n.value)),r._keyBytes||(r._keyBytes=Eu(r.value)),Or(n._keyBytes,r._keyBytes)}throw new Error("rfc8949MapSorter: complex key types are not supported yet")}function Eu(e){return zu(e,Bt,Tu)}function Pn(e,t,n,r){if(Array.isArray(t))for(let o of t)Pn(e,o,n,r);else n[t.type.major](e,t,r)}var ku=g.uint.majorEncoded,Iu=g.negint.majorEncoded,wp=g.bytes.majorEncoded,xp=g.string.majorEncoded,Au=g.array.majorEncoded,$p=g.float.majorEncoded|Ai,Sp=g.float.majorEncoded|Ti,Ep=g.float.majorEncoded|Pi,kp=g.float.majorEncoded|zi,Ip=BigInt(-1),Ap=BigInt(1);function Tp(e){return e.addBreakTokens!==!0}function Pu(e,t,n,r){let o=ki(t),i=n.typeEncoders&&n.typeEncoders[o];if(i){let a=i(t,o,n,r);if(a!=null){Pn(e,a,Bt,n);return}}switch(o){case"null":e.push([Ep]);return;case"undefined":e.push([kp]);return;case"boolean":e.push([t?Sp:$p]);return;case"number":!Number.isInteger(t)||!Number.isSafeInteger(t)?Tn(e,new E(g.float,t),n):t>=0?W(e,ku,t):W(e,Iu,t*-1-1);return;case"bigint":t>=BigInt(0)?W(e,ku,t):W(e,Iu,t*Ip-Ap);return;case"string":{let a=zr(t);W(e,xp,a.length),e.push(a);return}case"Uint8Array":W(e,wp,t.length),e.push(t);return;case"Array":if(!t.length){e.push([Au]);return}r=zn.createCheck(r,t),W(e,Au,t.length);for(let a of t)Pu(e,a,n,r);return;case"Object":case"Map":{let a=Fe.Object(t,o,n,r);Pn(e,a,Bt,n)}return;default:{let a=Fe[o];if(!a)throw new Error(`${Dr} unsupported type: ${o}`);let s=a(t,o,n,r);Pn(e,s,Bt,n)}}}function zu(e,t,n,r){let o=r instanceof Uint8Array,i=o?new Ur(r):Zr,a=Br(e,n);if(!Array.isArray(a)&&n.quickEncodeToken){let s=n.quickEncodeToken(a);if(s)return o?(i.push(s),i.toBytes()):s;let u=t[a.type.major];if(u.encodedSize){let c=u.encodedSize(a,n);if(o||(i=new En(c)),u(i,a,n),i.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${a} was wrong`);return o?i.toBytes():Sn(i.chunks[0])}}return i.reset(),Pn(i,a,t,n),i.toBytes(!0)}function ji(e,t){return t=Object.assign({},gp,t),Tp(t)?(Zr.reset(),Pu(Zr,e,t,void 0),Zr.toBytes(!0)):zu(e,Bt,t)}var Pp={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},Fr=class{constructor(t,n={}){this._pos=0,this.data=t,this.options=n}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let t=this.data[this._pos],n=Ne[t];if(n===void 0){let r=$[t];if(!r)throw new Error(`${L} no decoder for major type ${t>>>5} (byte 0x${t.toString(16).padStart(2,"0")})`);let o=t&31;n=r(this.data,this._pos,o,this.options)}return this._pos+=n.encodedLength,n}},On=Symbol.for("DONE"),Hr=Symbol.for("BREAK");function zp(e,t,n){let r=[];for(let o=0;o<e.value;o++){let i=Ft(t,n);if(i===Hr){if(e.value===1/0)break;throw new Error(`${L} got unexpected break to lengthed array`)}if(i===On)throw new Error(`${L} found array but not enough entries (got ${o}, expected ${e.value})`);r[o]=i}return r}function Op(e,t,n){let r=n.useMaps===!0,o=n.rejectDuplicateMapKeys===!0,i=r?void 0:{},a=r?new Map:void 0;for(let s=0;s<e.value;s++){let u=Ft(t,n);if(u===Hr){if(e.value===1/0)break;throw new Error(`${L} got unexpected break to lengthed map`)}if(u===On)throw new Error(`${L} found map but not enough entries (got ${s} [no key], expected ${e.value})`);if(!r&&typeof u!="string")throw new Error(`${L} non-string keys not supported (got ${typeof u})`);if(o&&(r&&a.has(u)||!r&&Object.hasOwn(i,u)))throw new Error(`${L} found repeat map key "${u}"`);let c=Ft(t,n);if(c===On)throw new Error(`${L} found map but not enough entries (got ${s} [no value], expected ${e.value})`);r?a.set(u,c):i[u]=c}return r?a:i}function Ft(e,t){if(e.done())return On;let n=e.next();if(g.equals(n.type,g.break))return Hr;if(n.type.terminal)return n.value;if(g.equals(n.type,g.array))return zp(n,e,t);if(g.equals(n.type,g.map))return Op(n,e,t);if(g.equals(n.type,g.tag)){if(t.tags&&typeof t.tags[n.value]=="function"){let r=Ft(e,t);return t.tags[n.value](r)}throw new Error(`${L} tag not supported (${n.value})`)}throw new Error("unsupported")}function Ou(e,t){if(!(e instanceof Uint8Array))throw new Error(`${L} data to decode must be a Uint8Array`);t=Object.assign({},Pp,t);let n=Sn(e),r=t.tokenizer||new Fr(n,t),o=Ft(r,t);if(o===On)throw new Error(`${L} did not find any content to decode`);if(o===Hr)throw new Error(`${L} got unexpected break`);return[o,e.subarray(r.pos())]}function Ni(e,t){let[n,r]=Ou(e,t);if(r.length>0)throw new Error(`${L} too many terminals, data makes no sense`);return n}var yk=new Uint8Array(0);function Uu(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let n=0;n<e.byteLength;n++)if(e[n]!==t[n])return!1;return!0}function Ht(e){if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")}function Dp(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var n=new Uint8Array(256),r=0;r<n.length;r++)n[r]=255;for(var o=0;o<e.length;o++){var i=e.charAt(o),a=i.charCodeAt(0);if(n[a]!==255)throw new TypeError(i+" is ambiguous");n[a]=o}var s=e.length,u=e.charAt(0),c=Math.log(s)/Math.log(256),l=Math.log(256)/Math.log(s);function d(f){if(f instanceof Uint8Array||(ArrayBuffer.isView(f)?f=new Uint8Array(f.buffer,f.byteOffset,f.byteLength):Array.isArray(f)&&(f=Uint8Array.from(f))),!(f instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(f.length===0)return"";for(var y=0,v=0,k=0,A=f.length;k!==A&&f[k]===0;)k++,y++;for(var w=(A-k)*l+1>>>0,S=new Uint8Array(w);k!==A;){for(var x=f[k],U=0,M=w-1;(x!==0||U<v)&&M!==-1;M--,U++)x+=256*S[M]>>>0,S[M]=x%s>>>0,x=x/s>>>0;if(x!==0)throw new Error("Non-zero carry");v=U,k++}for(var B=w-v;B!==w&&S[B]===0;)B++;for(var ie=u.repeat(y);B<w;++B)ie+=e.charAt(S[B]);return ie}function p(f){if(typeof f!="string")throw new TypeError("Expected String");if(f.length===0)return new Uint8Array;var y=0;if(f[y]!==" "){for(var v=0,k=0;f[y]===u;)v++,y++;for(var A=(f.length-y)*c+1>>>0,w=new Uint8Array(A);f[y];){var S=n[f.charCodeAt(y)];if(S===255)return;for(var x=0,U=A-1;(S!==0||x<k)&&U!==-1;U--,x++)S+=s*w[U]>>>0,w[U]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");k=x,y++}if(f[y]!==" "){for(var M=A-k;M!==A&&w[M]===0;)M++;for(var B=new Uint8Array(v+(A-M)),ie=v;M!==A;)B[ie++]=w[M++];return B}}}function _(f){var y=p(f);if(y)return y;throw new Error(`Non-${t} character`)}return{encode:d,decodeUnsafe:p,decode:_}}var Rp=Dp,jp=Rp,Du=jp;var Ci=class{name;prefix;baseEncode;constructor(t,n,r){this.name=t,this.prefix=n,this.baseEncode=r}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Li=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,n,r){this.name=t,this.prefix=n;let o=n.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=r}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Ru(this,t)}},Mi=class{decoders;constructor(t){this.decoders=t}or(t){return Ru(this,t)}decode(t){let n=t[0],r=this.decoders[n];if(r!=null)return r.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Ru(e,t){return new Mi({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}var Zi=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,n,r,o){this.name=t,this.prefix=n,this.baseEncode=r,this.baseDecode=o,this.encoder=new Ci(t,n,r),this.decoder=new Li(t,n,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function ju({name:e,prefix:t,encode:n,decode:r}){return new Zi(e,t,n,r)}function Jt({name:e,prefix:t,alphabet:n}){let{encode:r,decode:o}=Du(n,e);return ju({prefix:t,name:e,encode:r,decode:i=>Ht(o(i))})}function Np(e,t,n,r){let o=e.length;for(;e[o-1]==="=";)--o;let i=new Uint8Array(o*n/8|0),a=0,s=0,u=0;for(let c=0;c<o;++c){let l=t[e[c]];if(l===void 0)throw new SyntaxError(`Non-${r} character`);s=s<<n|l,a+=n,a>=8&&(a-=8,i[u++]=255&s>>a)}if(a>=n||(255&s<<8-a)!==0)throw new SyntaxError("Unexpected end of data");return i}function Cp(e,t,n){let r=t[t.length-1]==="=",o=(1<<n)-1,i="",a=0,s=0;for(let u=0;u<e.length;++u)for(s=s<<8|e[u],a+=8;a>n;)a-=n,i+=t[o&s>>a];if(a!==0&&(i+=t[o&s<<n-a]),r)for(;(i.length*n&7)!==0;)i+="=";return i}function Lp(e){let t={};for(let n=0;n<e.length;++n)t[e[n]]=n;return t}function He({name:e,prefix:t,bitsPerChar:n,alphabet:r}){let o=Lp(r);return ju({prefix:t,name:e,encode(i){return Cp(i,r,n)},decode(i){return Np(i,o,n,e)}})}var Un=He({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Sk=He({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Ek=He({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),kk=He({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Ik=He({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Ak=He({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Tk=He({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Pk=He({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),zk=He({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Jr=Jt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Dk=Jt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var rt=Jt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Nk=Jt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Mp=Lu,Nu=128,Zp=127,Bp=~Zp,Fp=Math.pow(2,31);function Lu(e,t,n){t=t||[],n=n||0;for(var r=n;e>=Fp;)t[n++]=e&255|Nu,e/=128;for(;e&Bp;)t[n++]=e&255|Nu,e>>>=7;return t[n]=e|0,Lu.bytes=n-r+1,t}var Hp=Bi,Jp=128,Cu=127;function Bi(e,r){var n=0,r=r||0,o=0,i=r,a,s=e.length;do{if(i>=s)throw Bi.bytes=0,new RangeError("Could not decode varint");a=e[i++],n+=o<28?(a&Cu)<<o:(a&Cu)*Math.pow(2,o),o+=7}while(a>=Jp);return Bi.bytes=i-r,n}var Gp=Math.pow(2,7),Vp=Math.pow(2,14),qp=Math.pow(2,21),Kp=Math.pow(2,28),Wp=Math.pow(2,35),Xp=Math.pow(2,42),Yp=Math.pow(2,49),Qp=Math.pow(2,56),em=Math.pow(2,63),tm=function(e){return e<Gp?1:e<Vp?2:e<qp?3:e<Kp?4:e<Wp?5:e<Xp?6:e<Yp?7:e<Qp?8:e<em?9:10},nm={encode:Mp,decode:Hp,encodingLength:tm},rm=nm,Dn=rm;function Rn(e,t=0){return[Dn.decode(e,t),Dn.decode.bytes]}function Gt(e,t,n=0){return Dn.encode(e,t,n),t}function Vt(e){return Dn.encodingLength(e)}function Zu(e,t){let n=t.byteLength,r=Vt(e),o=r+Vt(n),i=new Uint8Array(o+n);return Gt(e,i,0),Gt(n,i,r),i.set(t,o),new qt(e,n,t,i)}function Bu(e){let t=Ht(e),[n,r]=Rn(t),[o,i]=Rn(t.subarray(r)),a=t.subarray(r+i);if(a.byteLength!==o)throw new Error("Incorrect length");return new qt(n,o,a,t)}function Fu(e,t){if(e===t)return!0;{let n=t;return e.code===n.code&&e.size===n.size&&n.bytes instanceof Uint8Array&&Uu(e.bytes,n.bytes)}}var qt=class{code;size;digest;bytes;constructor(t,n,r,o){this.code=t,this.size=n,this.digest=r,this.bytes=o}};function Hu(e,t){let{bytes:n,version:r}=e;return r===0?am(n,Fi(e),t??rt.encoder):sm(n,Fi(e),t??Un.encoder)}var Ju=new WeakMap;function Fi(e){let t=Ju.get(e);if(t==null){let n=new Map;return Ju.set(e,n),n}return t}var Nn=class e{code;version;multihash;bytes;"/";constructor(t,n,r,o){this.code=n,this.version=t,this.multihash=r,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:n}=this;if(t!==jn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(n.code!==cm)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(n)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:n}=this.multihash,r=Zu(t,n);return e.createV1(this.code,r)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,n){let r=n;return r!=null&&t.code===r.code&&t.version===r.version&&Fu(t.multihash,r.multihash)}toString(t){return Hu(this,t)}toJSON(){return{"/":Hu(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let n=t;if(n instanceof e)return n;if(n["/"]!=null&&n["/"]===n.bytes||n.asCID===n){let{version:r,code:o,multihash:i,bytes:a}=n;return new e(r,o,i,a??Gu(r,o,i.bytes))}else if(n[um]===!0){let{version:r,multihash:o,code:i}=n,a=Bu(o);return e.create(r,i,a)}else return null}static create(t,n,r){if(typeof n!="number")throw new Error("String codecs are no longer supported");if(!(r.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(n!==jn)throw new Error(`Version 0 CID must use dag-pb (code: ${jn}) block encoding`);return new e(t,n,r,r.bytes)}case 1:{let o=Gu(t,n,r.bytes);return new e(t,n,r,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,jn,t)}static createV1(t,n){return e.create(1,t,n)}static decode(t){let[n,r]=e.decodeFirst(t);if(r.length!==0)throw new Error("Incorrect length");return n}static decodeFirst(t){let n=e.inspectBytes(t),r=n.size-n.multihashSize,o=Ht(t.subarray(r,r+n.multihashSize));if(o.byteLength!==n.multihashSize)throw new Error("Incorrect length");let i=o.subarray(n.multihashSize-n.digestSize),a=new qt(n.multihashCode,n.digestSize,i,o);return[n.version===0?e.createV0(a):e.createV1(n.codec,a),t.subarray(n.size)]}static inspectBytes(t){let n=0,r=()=>{let[d,p]=Rn(t.subarray(n));return n+=p,d},o=r(),i=jn;if(o===18?(o=0,n=0):i=r(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let a=n,s=r(),u=r(),c=n+u,l=c-a;return{version:o,codec:i,multihashCode:s,digestSize:u,multihashSize:l,size:c}}static parse(t,n){let[r,o]=im(t,n),i=e.decode(o);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Fi(i).set(r,t),i}};function im(e,t){switch(e[0]){case"Q":{let n=t??rt;return[rt.prefix,n.decode(`${rt.prefix}${e}`)]}case rt.prefix:{let n=t??rt;return[rt.prefix,n.decode(e)]}case Un.prefix:{let n=t??Un;return[Un.prefix,n.decode(e)]}case Jr.prefix:{let n=t??Jr;return[Jr.prefix,n.decode(e)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}}function am(e,t,n){let{prefix:r}=n;if(r!==rt.prefix)throw Error(`Cannot string encode V0 in ${n.name} encoding`);let o=t.get(r);if(o==null){let i=n.encode(e).slice(1);return t.set(r,i),i}else return o}function sm(e,t,n){let{prefix:r}=n,o=t.get(r);if(o==null){let i=n.encode(e);return t.set(r,i),i}else return o}var jn=112,cm=18;function Gu(e,t,n){let r=Vt(e),o=r+Vt(t),i=new Uint8Array(o+n.byteLength);return Gt(e,i,0),Gt(t,i,r),i.set(n,o),i}var um=Symbol.for("@ipld/js-cid/CID");var Vu=42;function lm(e){return e instanceof ArrayBuffer?new Uint8Array(e,0,e.byteLength):e}function dm(e){if(e.asCID!==e&&e["/"]!==e.bytes)return null;let t=Nn.asCID(e);if(!t)return null;let n=new Uint8Array(t.bytes.byteLength+1);return n.set(t.bytes,1),[new E(g.tag,Vu),new E(g.bytes,n)]}function fm(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function pm(e){if(Number.isNaN(e))throw new Error("`NaN` is not supported by the IPLD Data Model and cannot be encoded");if(e===1/0||e===-1/0)throw new Error("`Infinity` and `-Infinity` is not supported by the IPLD Data Model and cannot be encoded");return null}function mm(e){for(let t of e.keys())if(typeof t!="string"||t.length===0)throw new Error("Non-string Map keys are not supported by the IPLD Data Model and cannot be encoded");return null}var Hi={float64:!0,typeEncoders:{Map:mm,Object:dm,undefined:fm,number:pm}},Kk={...Hi,typeEncoders:{...Hi.typeEncoders}};function hm(e){if(e[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");return Nn.decode(e.subarray(1))}var Gr={allowIndefinite:!1,coerceUndefinedToNull:!0,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};Gr.tags[Vu]=hm;var Wk={...Gr,tags:Gr.tags.slice()};var Ee=e=>ji(e,Hi),Je=e=>Ni(lm(e),Gr);function gm(e,t){try{var n=e()}catch(r){return t(r)}return n&&n.then?n.then(void 0,t):n}function ym(){let e=new Map;return function(t,n){try{let o=function(a){if(r)return a;let s=e.get(t.didUrl);return s!==void 0?s:Promise.resolve(n()).then(function(u){var c;return((c=u.didResolutionMetadata)==null?void 0:c.error)!=="notFound"&&e.set(t.didUrl,u),u})},r,i=(function(){if(t.params&&t.params["no-cache"]==="true")return Promise.resolve(n()).then(function(a){return r=1,a})})();return Promise.resolve(i&&i.then?i.then(o):o(i))}catch(r){return Promise.reject(r)}}}function vm(e,t){return t()}var _m="(?:%[0-9a-fA-F]{2})",qu=`(?:[a-zA-Z0-9._-]|${_m})`,bm="([a-z0-9]+)",wm=`((?:${qu}*:)*(${qu}+))`,Ku="[a-zA-Z0-9_.:%-]",xm=`;${Ku}+=${Ku}*`,$m=`((${xm})*)`,Sm="(/[^#?]*)?",Em="([?][^#]*)?",km="(#.*)?",Im=new RegExp(`^did:${bm}:${wm}${$m}${Sm}${Em}${km}$`);function Am(e){if(e===""||!e)return null;let t=e.match(Im);if(t){let n={did:`did:${t[1]}:${t[2]}`,method:t[1],id:t[2],didUrl:e};if(t[4]){let r=t[4].slice(1).split(";");n.params={};for(let o of r){let i=o.split("=");n.params[i[0]]=i[1]}}return t[6]&&(n.path=t[6]),t[7]&&(n.query=t[7].slice(1)),t[8]&&(n.fragment=t[8].slice(1)),n}return null}var Vr={didResolutionMetadata:{},didDocument:null,didDocumentMetadata:{}};function Tm(e){return function(t,n,r){try{return Promise.resolve(gm(function(){return Promise.resolve(e(t,n,r)).then(function(o){return{...Vr,didResolutionMetadata:{contentType:"application/did+ld+json"},didDocument:o}})},function(o){return{...Vr,didResolutionMetadata:{error:"notFound",message:o.toString()}}}))}catch(o){return Promise.reject(o)}}}var qr=class{constructor(t={},n={}){this.registry=void 0,this.cache=void 0,this.registry=t,this.cache=n.cache===!0?ym():n.cache||vm,n.legacyResolvers&&Object.keys(n.legacyResolvers).map(r=>{this.registry[r]||(this.registry[r]=Tm(n.legacyResolvers[r]))})}resolve(t,n={}){try{let r=this,o=Am(t);if(o===null)return Promise.resolve({...Vr,didResolutionMetadata:{error:"invalidDid"}});let i=r.registry[o.method];return i?Promise.resolve(r.cache(o,()=>i(o.did,o,r,n))):Promise.resolve({...Vr,didResolutionMetadata:{error:"unsupportedDidMethod"}})}catch(r){return Promise.reject(r)}}};function Cn(e,t){return function(){return e.apply(t,arguments)}}var{toString:Pm}=Object.prototype,{getPrototypeOf:Gi}=Object,{iterator:Wr,toStringTag:Xu}=Symbol,Xr=(e=>t=>{let n=Pm.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Ce=e=>(e=e.toLowerCase(),t=>Xr(t)===e),Yr=e=>t=>typeof t===e,{isArray:Wt}=Array,Kt=Yr("undefined");function Ln(e){return e!==null&&!Kt(e)&&e.constructor!==null&&!Kt(e.constructor)&&ge(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var Yu=Ce("ArrayBuffer");function zm(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Yu(e.buffer),t}var Om=Yr("string"),ge=Yr("function"),Qu=Yr("number"),Mn=e=>e!==null&&typeof e=="object",Um=e=>e===!0||e===!1,Kr=e=>{if(Xr(e)!=="object")return!1;let t=Gi(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Xu in e)&&!(Wr in e)},Dm=e=>{if(!Mn(e)||Ln(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},Rm=Ce("Date"),jm=Ce("File"),Nm=Ce("Blob"),Cm=Ce("FileList"),Lm=e=>Mn(e)&&ge(e.pipe),Mm=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||ge(e.append)&&((t=Xr(e))==="formdata"||t==="object"&&ge(e.toString)&&e.toString()==="[object FormData]"))},Zm=Ce("URLSearchParams"),[Bm,Fm,Hm,Jm]=["ReadableStream","Request","Response","Headers"].map(Ce),Gm=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Zn(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,o;if(typeof e!="object"&&(e=[e]),Wt(e))for(r=0,o=e.length;r<o;r++)t.call(null,e[r],r,e);else{if(Ln(e))return;let i=n?Object.getOwnPropertyNames(e):Object.keys(e),a=i.length,s;for(r=0;r<a;r++)s=i[r],t.call(null,e[s],s,e)}}function el(e,t){if(Ln(e))return null;t=t.toLowerCase();let n=Object.keys(e),r=n.length,o;for(;r-- >0;)if(o=n[r],t===o.toLowerCase())return o;return null}var $t=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,tl=e=>!Kt(e)&&e!==$t;function Ji(){let{caseless:e,skipUndefined:t}=tl(this)&&this||{},n={},r=(o,i)=>{if(i==="__proto__"||i==="constructor"||i==="prototype")return;let a=e&&el(n,i)||i;Kr(n[a])&&Kr(o)?n[a]=Ji(n[a],o):Kr(o)?n[a]=Ji({},o):Wt(o)?n[a]=o.slice():(!t||!Kt(o))&&(n[a]=o)};for(let o=0,i=arguments.length;o<i;o++)arguments[o]&&Zn(arguments[o],r);return n}var Vm=(e,t,n,{allOwnKeys:r}={})=>(Zn(t,(o,i)=>{n&&ge(o)?Object.defineProperty(e,i,{value:Cn(o,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,i,{value:o,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),e),qm=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Km=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},Wm=(e,t,n,r)=>{let o,i,a,s={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)a=o[i],(!r||r(a,e,t))&&!s[a]&&(t[a]=e[a],s[a]=!0);e=n!==!1&&Gi(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Xm=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;let r=e.indexOf(t,n);return r!==-1&&r===n},Ym=e=>{if(!e)return null;if(Wt(e))return e;let t=e.length;if(!Qu(t))return null;let n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Qm=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Gi(Uint8Array)),eh=(e,t)=>{let r=(e&&e[Wr]).call(e),o;for(;(o=r.next())&&!o.done;){let i=o.value;t.call(e,i[0],i[1])}},th=(e,t)=>{let n,r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},nh=Ce("HTMLFormElement"),rh=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,o){return r.toUpperCase()+o}),Wu=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),oh=Ce("RegExp"),nl=(e,t)=>{let n=Object.getOwnPropertyDescriptors(e),r={};Zn(n,(o,i)=>{let a;(a=t(o,i,e))!==!1&&(r[i]=a||o)}),Object.defineProperties(e,r)},ih=e=>{nl(e,(t,n)=>{if(ge(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;let r=e[n];if(ge(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},ah=(e,t)=>{let n={},r=o=>{o.forEach(i=>{n[i]=!0})};return Wt(e)?r(e):r(String(e).split(t)),n},sh=()=>{},ch=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function uh(e){return!!(e&&ge(e.append)&&e[Xu]==="FormData"&&e[Wr])}var lh=e=>{let t=new Array(10),n=(r,o)=>{if(Mn(r)){if(t.indexOf(r)>=0)return;if(Ln(r))return r;if(!("toJSON"in r)){t[o]=r;let i=Wt(r)?[]:{};return Zn(r,(a,s)=>{let u=n(a,o+1);!Kt(u)&&(i[s]=u)}),t[o]=void 0,i}}return r};return n(e,0)},dh=Ce("AsyncFunction"),fh=e=>e&&(Mn(e)||ge(e))&&ge(e.then)&&ge(e.catch),rl=((e,t)=>e?setImmediate:t?((n,r)=>($t.addEventListener("message",({source:o,data:i})=>{o===$t&&i===n&&r.length&&r.shift()()},!1),o=>{r.push(o),$t.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",ge($t.postMessage)),ph=typeof queueMicrotask<"u"?queueMicrotask.bind($t):typeof process<"u"&&process.nextTick||rl,mh=e=>e!=null&&ge(e[Wr]),m={isArray:Wt,isArrayBuffer:Yu,isBuffer:Ln,isFormData:Mm,isArrayBufferView:zm,isString:Om,isNumber:Qu,isBoolean:Um,isObject:Mn,isPlainObject:Kr,isEmptyObject:Dm,isReadableStream:Bm,isRequest:Fm,isResponse:Hm,isHeaders:Jm,isUndefined:Kt,isDate:Rm,isFile:jm,isBlob:Nm,isRegExp:oh,isFunction:ge,isStream:Lm,isURLSearchParams:Zm,isTypedArray:Qm,isFileList:Cm,forEach:Zn,merge:Ji,extend:Vm,trim:Gm,stripBOM:qm,inherits:Km,toFlatObject:Wm,kindOf:Xr,kindOfTest:Ce,endsWith:Xm,toArray:Ym,forEachEntry:eh,matchAll:th,isHTMLForm:nh,hasOwnProperty:Wu,hasOwnProp:Wu,reduceDescriptors:nl,freezeMethods:ih,toObjectSet:ah,toCamelCase:rh,noop:sh,toFiniteNumber:ch,findKey:el,global:$t,isContextDefined:tl,isSpecCompliantForm:uh,toJSONObject:lh,isAsyncFn:dh,isThenable:fh,setImmediate:rl,asap:ph,isIterable:mh};var pe=class e extends Error{static from(t,n,r,o,i,a){let s=new e(t.message,n||t.code,r,o,i);return s.cause=t,s.name=t.name,a&&Object.assign(s,a),s}constructor(t,n,r,o,i){super(t),this.name="AxiosError",this.isAxiosError=!0,n&&(this.code=n),r&&(this.config=r),o&&(this.request=o),i&&(this.response=i,this.status=i.status)}toJSON(){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:m.toJSONObject(this.config),code:this.code,status:this.status}}};pe.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";pe.ERR_BAD_OPTION="ERR_BAD_OPTION";pe.ECONNABORTED="ECONNABORTED";pe.ETIMEDOUT="ETIMEDOUT";pe.ERR_NETWORK="ERR_NETWORK";pe.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";pe.ERR_DEPRECATED="ERR_DEPRECATED";pe.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";pe.ERR_BAD_REQUEST="ERR_BAD_REQUEST";pe.ERR_CANCELED="ERR_CANCELED";pe.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";pe.ERR_INVALID_URL="ERR_INVALID_URL";var N=pe;var Qr=null;function Vi(e){return m.isPlainObject(e)||m.isArray(e)}function il(e){return m.endsWith(e,"[]")?e.slice(0,-2):e}function ol(e,t,n){return e?e.concat(t).map(function(o,i){return o=il(o),!n&&i?"["+o+"]":o}).join(n?".":""):t}function hh(e){return m.isArray(e)&&!e.some(Vi)}var gh=m.toFlatObject(m,{},null,function(t){return/^is[A-Z]/.test(t)});function yh(e,t,n){if(!m.isObject(e))throw new TypeError("target must be an object");t=t||new(Qr||FormData),n=m.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(y,v){return!m.isUndefined(v[y])});let r=n.metaTokens,o=n.visitor||l,i=n.dots,a=n.indexes,u=(n.Blob||typeof Blob<"u"&&Blob)&&m.isSpecCompliantForm(t);if(!m.isFunction(o))throw new TypeError("visitor must be a function");function c(f){if(f===null)return"";if(m.isDate(f))return f.toISOString();if(m.isBoolean(f))return f.toString();if(!u&&m.isBlob(f))throw new N("Blob is not supported. Use a Buffer instead.");return m.isArrayBuffer(f)||m.isTypedArray(f)?u&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function l(f,y,v){let k=f;if(f&&!v&&typeof f=="object"){if(m.endsWith(y,"{}"))y=r?y:y.slice(0,-2),f=JSON.stringify(f);else if(m.isArray(f)&&hh(f)||(m.isFileList(f)||m.endsWith(y,"[]"))&&(k=m.toArray(f)))return y=il(y),k.forEach(function(w,S){!(m.isUndefined(w)||w===null)&&t.append(a===!0?ol([y],S,i):a===null?y:y+"[]",c(w))}),!1}return Vi(f)?!0:(t.append(ol(v,y,i),c(f)),!1)}let d=[],p=Object.assign(gh,{defaultVisitor:l,convertValue:c,isVisitable:Vi});function _(f,y){if(!m.isUndefined(f)){if(d.indexOf(f)!==-1)throw Error("Circular reference detected in "+y.join("."));d.push(f),m.forEach(f,function(k,A){(!(m.isUndefined(k)||k===null)&&o.call(t,k,m.isString(A)?A.trim():A,y,p))===!0&&_(k,y?y.concat(A):[A])}),d.pop()}}if(!m.isObject(e))throw new TypeError("data must be an object");return _(e),t}var dt=yh;function al(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function sl(e,t){this._pairs=[],e&&dt(e,this,t)}var cl=sl.prototype;cl.append=function(t,n){this._pairs.push([t,n])};cl.toString=function(t){let n=t?function(r){return t.call(this,r,al)}:al;return this._pairs.map(function(o){return n(o[0])+"="+n(o[1])},"").join("&")};var eo=sl;function vh(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Bn(e,t,n){if(!t)return e;let r=n&&n.encode||vh,o=m.isFunction(n)?{serialize:n}:n,i=o&&o.serialize,a;if(i?a=i(t,o):a=m.isURLSearchParams(t)?t.toString():new eo(t,o).toString(r),a){let s=e.indexOf("#");s!==-1&&(e=e.slice(0,s)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}var qi=class{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){m.forEach(this.handlers,function(r){r!==null&&t(r)})}},Ki=qi;var Xt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0};var ul=typeof URLSearchParams<"u"?URLSearchParams:eo;var ll=typeof FormData<"u"?FormData:null;var dl=typeof Blob<"u"?Blob:null;var fl={isBrowser:!0,classes:{URLSearchParams:ul,FormData:ll,Blob:dl},protocols:["http","https","file","blob","url","data"]};var Yi={};tf(Yi,{hasBrowserEnv:()=>Xi,hasStandardBrowserEnv:()=>_h,hasStandardBrowserWebWorkerEnv:()=>bh,navigator:()=>Wi,origin:()=>wh});var Xi=typeof window<"u"&&typeof document<"u",Wi=typeof navigator=="object"&&navigator||void 0,_h=Xi&&(!Wi||["ReactNative","NativeScript","NS"].indexOf(Wi.product)<0),bh=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",wh=Xi&&window.location.href||"http://localhost";var Y={...Yi,...fl};function Qi(e,t){return dt(e,new Y.classes.URLSearchParams,{visitor:function(n,r,o,i){return Y.isNode&&m.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...t})}function xh(e){return m.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function $h(e){let t={},n=Object.keys(e),r,o=n.length,i;for(r=0;r<o;r++)i=n[r],t[i]=e[i];return t}function Sh(e){function t(n,r,o,i){let a=n[i++];if(a==="__proto__")return!0;let s=Number.isFinite(+a),u=i>=n.length;return a=!a&&m.isArray(o)?o.length:a,u?(m.hasOwnProp(o,a)?o[a]=[o[a],r]:o[a]=r,!s):((!o[a]||!m.isObject(o[a]))&&(o[a]=[]),t(n,r,o[a],i)&&m.isArray(o[a])&&(o[a]=$h(o[a])),!s)}if(m.isFormData(e)&&m.isFunction(e.entries)){let n={};return m.forEachEntry(e,(r,o)=>{t(xh(r),o,n,0)}),n}return null}var to=Sh;function Eh(e,t,n){if(m.isString(e))try{return(t||JSON.parse)(e),m.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}var ea={transitional:Xt,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){let r=n.getContentType()||"",o=r.indexOf("application/json")>-1,i=m.isObject(t);if(i&&m.isHTMLForm(t)&&(t=new FormData(t)),m.isFormData(t))return o?JSON.stringify(to(t)):t;if(m.isArrayBuffer(t)||m.isBuffer(t)||m.isStream(t)||m.isFile(t)||m.isBlob(t)||m.isReadableStream(t))return t;if(m.isArrayBufferView(t))return t.buffer;if(m.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let s;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return Qi(t,this.formSerializer).toString();if((s=m.isFileList(t))||r.indexOf("multipart/form-data")>-1){let u=this.env&&this.env.FormData;return dt(s?{"files[]":t}:t,u&&new u,this.formSerializer)}}return i||o?(n.setContentType("application/json",!1),Eh(t)):t}],transformResponse:[function(t){let n=this.transitional||ea.transitional,r=n&&n.forcedJSONParsing,o=this.responseType==="json";if(m.isResponse(t)||m.isReadableStream(t))return t;if(t&&m.isString(t)&&(r&&!this.responseType||o)){let a=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(t,this.parseReviver)}catch(s){if(a)throw s.name==="SyntaxError"?N.from(s,N.ERR_BAD_RESPONSE,this,null,this.response):s}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Y.classes.FormData,Blob:Y.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};m.forEach(["delete","get","head","post","put","patch"],e=>{ea.headers[e]={}});var Yt=ea;var kh=m.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"]),pl=e=>{let t={},n,r,o;return e&&e.split(`
|
|
3
|
-
`).forEach(function(a){o=a.indexOf(":"),n=a.substring(0,o).trim().toLowerCase(),r=a.substring(o+1).trim(),!(!n||
|
|
4
|
-
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){let r=new this(t);return n.forEach(o=>r.set(o)),r}static accessor(t){let r=(this[ml]=this[ml]={accessors:{}}).accessors,o=this.prototype;function i(a){let s=Fn(a);r[s]||(Ph(o,a),r[s]=!0)}return m.isArray(t)?t.forEach(i):i(t),this}};Qt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);m.reduceDescriptors(Qt.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});m.freezeMethods(Qt);var oe=Qt;function Hn(e,t){let n=this||Yt,r=t||n,o=oe.from(r.headers),i=r.data;return m.forEach(e,function(s){i=s.call(n,i,o.normalize(),t?t.status:void 0)}),o.normalize(),i}function Jn(e){return!!(e&&e.__CANCEL__)}var na=class extends N{constructor(t,n,r){super(t??"canceled",N.ERR_CANCELED,n,r),this.name="CanceledError",this.__CANCEL__=!0}},Ge=na;function Gn(e,t,n){let r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new N("Request failed with status code "+n.status,[N.ERR_BAD_REQUEST,N.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function ra(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function zh(e,t){e=e||10;let n=new Array(e),r=new Array(e),o=0,i=0,a;return t=t!==void 0?t:1e3,function(u){let c=Date.now(),l=r[i];a||(a=c),n[o]=u,r[o]=c;let d=i,p=0;for(;d!==o;)p+=n[d++],d=d%e;if(o=(o+1)%e,o===i&&(i=(i+1)%e),c-a<t)return;let _=l&&c-l;return _?Math.round(p*1e3/_):void 0}}var hl=zh;function Oh(e,t){let n=0,r=1e3/t,o,i,a=(c,l=Date.now())=>{n=l,o=null,i&&(clearTimeout(i),i=null),e(...c)};return[(...c)=>{let l=Date.now(),d=l-n;d>=r?a(c,l):(o=c,i||(i=setTimeout(()=>{i=null,a(o)},r-d)))},()=>o&&a(o)]}var gl=Oh;var en=(e,t,n=3)=>{let r=0,o=hl(50,250);return gl(i=>{let a=i.loaded,s=i.lengthComputable?i.total:void 0,u=a-r,c=o(u),l=a<=s;r=a;let d={loaded:a,total:s,progress:s?a/s:void 0,bytes:u,rate:c||void 0,estimated:c&&s&&l?(s-a)/c:void 0,event:i,lengthComputable:s!=null,[t?"download":"upload"]:!0};e(d)},n)},oa=(e,t)=>{let n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},ia=e=>(...t)=>m.asap(()=>e(...t));var yl=Y.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Y.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Y.origin),Y.navigator&&/(msie|trident)/i.test(Y.navigator.userAgent)):()=>!0;var vl=Y.hasStandardBrowserEnv?{write(e,t,n,r,o,i,a){if(typeof document>"u")return;let s=[`${e}=${encodeURIComponent(t)}`];m.isNumber(n)&&s.push(`expires=${new Date(n).toUTCString()}`),m.isString(r)&&s.push(`path=${r}`),m.isString(o)&&s.push(`domain=${o}`),i===!0&&s.push("secure"),m.isString(a)&&s.push(`SameSite=${a}`),document.cookie=s.join("; ")},read(e){if(typeof document>"u")return null;let t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function aa(e){return typeof e!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function sa(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Vn(e,t,n){let r=!aa(t);return e&&(r||n==!1)?sa(e,t):t}var _l=e=>e instanceof oe?{...e}:e;function Le(e,t){t=t||{};let n={};function r(c,l,d,p){return m.isPlainObject(c)&&m.isPlainObject(l)?m.merge.call({caseless:p},c,l):m.isPlainObject(l)?m.merge({},l):m.isArray(l)?l.slice():l}function o(c,l,d,p){if(m.isUndefined(l)){if(!m.isUndefined(c))return r(void 0,c,d,p)}else return r(c,l,d,p)}function i(c,l){if(!m.isUndefined(l))return r(void 0,l)}function a(c,l){if(m.isUndefined(l)){if(!m.isUndefined(c))return r(void 0,c)}else return r(void 0,l)}function s(c,l,d){if(d in t)return r(c,l);if(d in e)return r(void 0,c)}let u={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(c,l,d)=>o(_l(c),_l(l),d,!0)};return m.forEach(Object.keys({...e,...t}),function(l){if(l==="__proto__"||l==="constructor"||l==="prototype")return;let d=m.hasOwnProp(u,l)?u[l]:o,p=d(e[l],t[l],l);m.isUndefined(p)&&d!==s||(n[l]=p)}),n}var ro=e=>{let t=Le({},e),{data:n,withXSRFToken:r,xsrfHeaderName:o,xsrfCookieName:i,headers:a,auth:s}=t;if(t.headers=a=oe.from(a),t.url=Bn(Vn(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),s&&a.set("Authorization","Basic "+btoa((s.username||"")+":"+(s.password?unescape(encodeURIComponent(s.password)):""))),m.isFormData(n)){if(Y.hasStandardBrowserEnv||Y.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(m.isFunction(n.getHeaders)){let u=n.getHeaders(),c=["content-type","content-length"];Object.entries(u).forEach(([l,d])=>{c.includes(l.toLowerCase())&&a.set(l,d)})}}if(Y.hasStandardBrowserEnv&&(r&&m.isFunction(r)&&(r=r(t)),r||r!==!1&&yl(t.url))){let u=o&&i&&vl.read(i);u&&a.set(o,u)}return t};var Uh=typeof XMLHttpRequest<"u",bl=Uh&&function(e){return new Promise(function(n,r){let o=ro(e),i=o.data,a=oe.from(o.headers).normalize(),{responseType:s,onUploadProgress:u,onDownloadProgress:c}=o,l,d,p,_,f;function y(){_&&_(),f&&f(),o.cancelToken&&o.cancelToken.unsubscribe(l),o.signal&&o.signal.removeEventListener("abort",l)}let v=new XMLHttpRequest;v.open(o.method.toUpperCase(),o.url,!0),v.timeout=o.timeout;function k(){if(!v)return;let w=oe.from("getAllResponseHeaders"in v&&v.getAllResponseHeaders()),x={data:!s||s==="text"||s==="json"?v.responseText:v.response,status:v.status,statusText:v.statusText,headers:w,config:e,request:v};Gn(function(M){n(M),y()},function(M){r(M),y()},x),v=null}"onloadend"in v?v.onloadend=k:v.onreadystatechange=function(){!v||v.readyState!==4||v.status===0&&!(v.responseURL&&v.responseURL.indexOf("file:")===0)||setTimeout(k)},v.onabort=function(){v&&(r(new N("Request aborted",N.ECONNABORTED,e,v)),v=null)},v.onerror=function(S){let x=S&&S.message?S.message:"Network Error",U=new N(x,N.ERR_NETWORK,e,v);U.event=S||null,r(U),v=null},v.ontimeout=function(){let S=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded",x=o.transitional||Xt;o.timeoutErrorMessage&&(S=o.timeoutErrorMessage),r(new N(S,x.clarifyTimeoutError?N.ETIMEDOUT:N.ECONNABORTED,e,v)),v=null},i===void 0&&a.setContentType(null),"setRequestHeader"in v&&m.forEach(a.toJSON(),function(S,x){v.setRequestHeader(x,S)}),m.isUndefined(o.withCredentials)||(v.withCredentials=!!o.withCredentials),s&&s!=="json"&&(v.responseType=o.responseType),c&&([p,f]=en(c,!0),v.addEventListener("progress",p)),u&&v.upload&&([d,_]=en(u),v.upload.addEventListener("progress",d),v.upload.addEventListener("loadend",_)),(o.cancelToken||o.signal)&&(l=w=>{v&&(r(!w||w.type?new Ge(null,e,v):w),v.abort(),v=null)},o.cancelToken&&o.cancelToken.subscribe(l),o.signal&&(o.signal.aborted?l():o.signal.addEventListener("abort",l)));let A=ra(o.url);if(A&&Y.protocols.indexOf(A)===-1){r(new N("Unsupported protocol "+A+":",N.ERR_BAD_REQUEST,e));return}v.send(i||null)})};var Dh=(e,t)=>{let{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,o,i=function(c){if(!o){o=!0,s();let l=c instanceof Error?c:this.reason;r.abort(l instanceof N?l:new Ge(l instanceof Error?l.message:l))}},a=t&&setTimeout(()=>{a=null,i(new N(`timeout of ${t}ms exceeded`,N.ETIMEDOUT))},t),s=()=>{e&&(a&&clearTimeout(a),a=null,e.forEach(c=>{c.unsubscribe?c.unsubscribe(i):c.removeEventListener("abort",i)}),e=null)};e.forEach(c=>c.addEventListener("abort",i));let{signal:u}=r;return u.unsubscribe=()=>m.asap(s),u}},wl=Dh;var Rh=function*(e,t){let n=e.byteLength;if(!t||n<t){yield e;return}let r=0,o;for(;r<n;)o=r+t,yield e.slice(r,o),r=o},jh=async function*(e,t){for await(let n of Nh(e))yield*Rh(n,t)},Nh=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}let t=e.getReader();try{for(;;){let{done:n,value:r}=await t.read();if(n)break;yield r}}finally{await t.cancel()}},ca=(e,t,n,r)=>{let o=jh(e,t),i=0,a,s=u=>{a||(a=!0,r&&r(u))};return new ReadableStream({async pull(u){try{let{done:c,value:l}=await o.next();if(c){s(),u.close();return}let d=l.byteLength;if(n){let p=i+=d;n(p)}u.enqueue(new Uint8Array(l))}catch(c){throw s(c),c}},cancel(u){return s(u),o.return()}},{highWaterMark:2})};var xl=64*1024,{isFunction:oo}=m,Ch=(({Request:e,Response:t})=>({Request:e,Response:t}))(m.global),{ReadableStream:$l,TextEncoder:Sl}=m.global,El=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Lh=e=>{e=m.merge.call({skipUndefined:!0},Ch,e);let{fetch:t,Request:n,Response:r}=e,o=t?oo(t):typeof fetch=="function",i=oo(n),a=oo(r);if(!o)return!1;let s=o&&oo($l),u=o&&(typeof Sl=="function"?(f=>y=>f.encode(y))(new Sl):async f=>new Uint8Array(await new n(f).arrayBuffer())),c=i&&s&&El(()=>{let f=!1,y=new n(Y.origin,{body:new $l,method:"POST",get duplex(){return f=!0,"half"}}).headers.has("Content-Type");return f&&!y}),l=a&&s&&El(()=>m.isReadableStream(new r("").body)),d={stream:l&&(f=>f.body)};o&&["text","arrayBuffer","blob","formData","stream"].forEach(f=>{!d[f]&&(d[f]=(y,v)=>{let k=y&&y[f];if(k)return k.call(y);throw new N(`Response type '${f}' is not supported`,N.ERR_NOT_SUPPORT,v)})});let p=async f=>{if(f==null)return 0;if(m.isBlob(f))return f.size;if(m.isSpecCompliantForm(f))return(await new n(Y.origin,{method:"POST",body:f}).arrayBuffer()).byteLength;if(m.isArrayBufferView(f)||m.isArrayBuffer(f))return f.byteLength;if(m.isURLSearchParams(f)&&(f=f+""),m.isString(f))return(await u(f)).byteLength},_=async(f,y)=>{let v=m.toFiniteNumber(f.getContentLength());return v??p(y)};return async f=>{let{url:y,method:v,data:k,signal:A,cancelToken:w,timeout:S,onDownloadProgress:x,onUploadProgress:U,responseType:M,headers:B,withCredentials:ie="same-origin",fetchOptions:Ae}=ro(f),h=t||fetch;M=M?(M+"").toLowerCase():"text";let b=wl([A,w&&w.toAbortSignal()],S),O=null,Z=b&&b.unsubscribe&&(()=>{b.unsubscribe()}),q;try{if(U&&c&&v!=="get"&&v!=="head"&&(q=await _(B,k))!==0){let ce=new n(y,{method:"POST",body:k,duplex:"half"}),Ut;if(m.isFormData(k)&&(Ut=ce.headers.get("content-type"))&&B.setContentType(Ut),ce.body){let[ri,pr]=oa(q,en(ia(U)));k=ca(ce.body,xl,ri,pr)}}m.isString(ie)||(ie=ie?"include":"omit");let z=i&&"credentials"in n.prototype,gt={...Ae,signal:b,method:v.toUpperCase(),headers:B.normalize().toJSON(),body:k,duplex:"half",credentials:z?ie:void 0};O=i&&new n(y,gt);let Te=await(i?h(O,Ae):h(y,gt)),gn=l&&(M==="stream"||M==="response");if(l&&(x||gn&&Z)){let ce={};["status","statusText","headers"].forEach(_s=>{ce[_s]=Te[_s]});let Ut=m.toFiniteNumber(Te.headers.get("content-length")),[ri,pr]=x&&oa(Ut,en(ia(x),!0))||[];Te=new r(ca(Te.body,xl,ri,()=>{pr&&pr(),Z&&Z()}),ce)}M=M||"text";let ne=await d[m.findKey(d,M)||"text"](Te,f);return!gn&&Z&&Z(),await new Promise((ce,Ut)=>{Gn(ce,Ut,{data:ne,headers:oe.from(Te.headers),status:Te.status,statusText:Te.statusText,config:f,request:O})})}catch(z){throw Z&&Z(),z&&z.name==="TypeError"&&/Load failed|fetch/i.test(z.message)?Object.assign(new N("Network Error",N.ERR_NETWORK,f,O,z&&z.response),{cause:z.cause||z}):N.from(z,z&&z.code,f,O,z&&z.response)}}},Mh=new Map,ua=e=>{let t=e&&e.env||{},{fetch:n,Request:r,Response:o}=t,i=[r,o,n],a=i.length,s=a,u,c,l=Mh;for(;s--;)u=i[s],c=l.get(u),c===void 0&&l.set(u,c=s?new Map:Lh(t)),l=c;return c},tT=ua();var la={http:Qr,xhr:bl,fetch:{get:ua}};m.forEach(la,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var kl=e=>`- ${e}`,Bh=e=>m.isFunction(e)||e===null||e===!1;function Fh(e,t){e=m.isArray(e)?e:[e];let{length:n}=e,r,o,i={};for(let a=0;a<n;a++){r=e[a];let s;if(o=r,!Bh(r)&&(o=la[(s=String(r)).toLowerCase()],o===void 0))throw new N(`Unknown adapter '${s}'`);if(o&&(m.isFunction(o)||(o=o.get(t))))break;i[s||"#"+a]=o}if(!o){let a=Object.entries(i).map(([u,c])=>`adapter ${u} `+(c===!1?"is not supported by the environment":"is not available in the build")),s=n?a.length>1?`since :
|
|
5
|
-
`+a.map(
|
|
6
|
-
`):" "+
|
|
7
|
-
`+i):r.stack=i}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Le(this.defaults,n);let{transitional:r,paramsSerializer:o,headers:i}=n;r!==void 0&&qn.assertOptions(r,{silentJSONParsing:Oe.transitional(Oe.boolean),forcedJSONParsing:Oe.transitional(Oe.boolean),clarifyTimeoutError:Oe.transitional(Oe.boolean),legacyInterceptorReqResOrdering:Oe.transitional(Oe.boolean)},!1),o!=null&&(m.isFunction(o)?n.paramsSerializer={serialize:o}:qn.assertOptions(o,{encode:Oe.function,serialize:Oe.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),qn.assertOptions(n,{baseUrl:Oe.spelling("baseURL"),withXsrfToken:Oe.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=i&&m.merge(i.common,i[n.method]);i&&m.forEach(["delete","get","head","post","put","patch","common"],f=>{delete i[f]}),n.headers=oe.concat(a,i);let s=[],u=!0;this.interceptors.request.forEach(function(y){if(typeof y.runWhen=="function"&&y.runWhen(n)===!1)return;u=u&&y.synchronous;let v=n.transitional||Xt;v&&v.legacyInterceptorReqResOrdering?s.unshift(y.fulfilled,y.rejected):s.push(y.fulfilled,y.rejected)});let c=[];this.interceptors.response.forEach(function(y){c.push(y.fulfilled,y.rejected)});let l,d=0,p;if(!u){let f=[ao.bind(this),void 0];for(f.unshift(...s),f.push(...c),p=f.length,l=Promise.resolve(n);d<p;)l=l.then(f[d++],f[d++]);return l}p=s.length;let _=n;for(;d<p;){let f=s[d++],y=s[d++];try{_=f(_)}catch(v){y.call(this,v);break}}try{l=ao.call(this,_)}catch(f){return Promise.reject(f)}for(d=0,p=c.length;d<p;)l=l.then(c[d++],c[d++]);return l}getUri(t){t=Le(this.defaults,t);let n=Vn(t.baseURL,t.url,t.allowAbsoluteUrls);return Bn(n,t.params,t.paramsSerializer)}};m.forEach(["delete","get","head","options"],function(t){tn.prototype[t]=function(n,r){return this.request(Le(r||{},{method:t,url:n,data:(r||{}).data}))}});m.forEach(["post","put","patch"],function(t){function n(r){return function(i,a,s){return this.request(Le(s||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:i,data:a}))}}tn.prototype[t]=n(),tn.prototype[t+"Form"]=n(!0)});var Kn=tn;var fa=class e{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(i){n=i});let r=this;this.promise.then(o=>{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](o);r._listeners=null}),this.promise.then=o=>{let i,a=new Promise(s=>{r.subscribe(s),i=s}).then(o);return a.cancel=function(){r.unsubscribe(i)},a},t(function(i,a,s){r.reason||(r.reason=new Ge(i,a,s),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;let n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){let t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new e(function(o){t=o}),cancel:t}}},Al=fa;function pa(e){return function(n){return e.apply(null,n)}}function ma(e){return m.isObject(e)&&e.isAxiosError===!0}var ha={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,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(ha).forEach(([e,t])=>{ha[t]=e});var Tl=ha;function Pl(e){let t=new Kn(e),n=Cn(Kn.prototype.request,t);return m.extend(n,Kn.prototype,t,{allOwnKeys:!0}),m.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return Pl(Le(e,o))},n}var te=Pl(Yt);te.Axios=Kn;te.CanceledError=Ge;te.CancelToken=Al;te.isCancel=Jn;te.VERSION=so;te.toFormData=dt;te.AxiosError=N;te.Cancel=te.CanceledError;te.all=function(t){return Promise.all(t)};te.spread=pa;te.isAxiosError=ma;te.mergeConfig=Le;te.AxiosHeaders=oe;te.formToJSON=e=>to(m.isHTMLForm(e)?new FormData(e):e);te.getAdapter=io.getAdapter;te.HttpStatusCode=Tl;te.default=te;var uo=te;var{Axios:QT,AxiosError:e0,CanceledError:t0,isCancel:n0,CancelToken:r0,VERSION:o0,all:i0,Cancel:a0,isAxiosError:s0,spread:c0,toFormData:u0,AxiosHeaders:l0,HttpStatusCode:d0,formToJSON:f0,getAdapter:p0,mergeConfig:m0}=uo;function Jh(e,t){try{var n=e()}catch(r){return t(r)}return n&&n.then?n.then(void 0,t):n}function ke(e,t,n){if(!e.s){if(n instanceof ga)if(n.s)t&1&&(t=n.s),n=n.v;else{n.o=ke.bind(null,e,t);return}if(n&&n.then){n.then(ke.bind(null,e,t),ke.bind(null,e,2));return}e.s=t,e.v=n;let r=e.o;r&&r(e)}}var ga=(function(){function e(){}return e.prototype.then=function(t,n){let r=new e,o=this.s;if(o){let i=o&1?t:n;if(i){try{ke(r,1,i(this.v))}catch(a){ke(r,2,a)}return r}else return this}return this.o=function(i){try{let a=i.v;i.s&1?ke(r,1,t?t(a):a):n?ke(r,1,n(a)):ke(r,2,a)}catch(a){ke(r,2,a)}},r},e})();function nn(e){return e instanceof ga&&e.s&1}function Gh(e,t){var n;do{var r=e();if(r&&r.then)if(nn(r))r=r.v;else{n=!0;break}var o=t();if(nn(o)&&(o=o.v),!o)return r}while(!o.then);let i=new ga,a=ke.bind(null,i,2);return(n?r.then(s):o.then(u)).then(void 0,a),i;function s(c){for(r=c;o=t(),nn(o)&&(o=o.v),!!o;){if(o.then){o.then(u).then(void 0,a);return}if(r=e(),r&&r.then)if(nn(r))r=r.v;else{r.then(s).then(void 0,a);return}}ke(i,1,r)}function u(c){if(c){do{if(r=e(),r&&r.then)if(nn(r))r=r.v;else{r.then(s).then(void 0,a);return}if(c=t(),nn(c)&&(c=c.v),!c){ke(i,1,r);return}}while(!c.then);c.then(u).then(void 0,a)}else ke(i,1,r)}}function zl(){return{plc:function(t,n){try{let o=function(){let l=typeof u?.["@context"]<"u"?"application/did+ld+json":"application/did+json";return i?{didDocument:u,didDocumentMetadata:s,didResolutionMetadata:{error:"notFound",message:i}}:{didDocument:u,didDocumentMetadata:s,didResolutionMetadata:{contentType:l}}},r,i=null,a=`https://plc.directory/${encodeURIComponent(t)}`,s={},u=null,c=Gh(function(){function l(){r||u?.id===t||(i="resolver_error: DID document id does not match requested did")}let d=Jh(function(){return Promise.resolve(uo.get(a)).then(function(p){u=p.data})},function(p){i=`resolver_error: '"https://plc.directory/" + DID' must resolve to a valid https URL containing a JSON document: ${p}`,r=1});return d&&d.then?d.then(l):l(d)},function(){return!r&&!1});return Promise.resolve(c&&c.then?c.then(o):o(c))}catch(r){return Promise.reject(r)}}}}var Dl=nf(Ul(),1);function Vh(e,t){try{var n=e()}catch(r){return t(r)}return n&&n.then?n.then(void 0,t):n}var qh=function(e){try{return Promise.resolve((0,Dl.default)(e,{mode:"cors"})).then(function(t){if(t.status>=400)throw new Error(`Bad response ${t.statusText}`);return t.json()})}catch(t){return Promise.reject(t)}};function Ie(e,t,n){if(!e.s){if(n instanceof ya)if(n.s)t&1&&(t=n.s),n=n.v;else{n.o=Ie.bind(null,e,t);return}if(n&&n.then){n.then(Ie.bind(null,e,t),Ie.bind(null,e,2));return}e.s=t,e.v=n;let r=e.o;r&&r(e)}}var Kh="/.well-known/did.json",ya=(function(){function e(){}return e.prototype.then=function(t,n){let r=new e,o=this.s;if(o){let i=o&1?t:n;if(i){try{Ie(r,1,i(this.v))}catch(a){Ie(r,2,a)}return r}else return this}return this.o=function(i){try{let a=i.v;i.s&1?Ie(r,1,t?t(a):a):n?Ie(r,1,n(a)):Ie(r,2,a)}catch(a){Ie(r,2,a)}},r},e})();function on(e){return e instanceof ya&&e.s&1}function Wh(e,t){var n;do{var r=e();if(r&&r.then)if(on(r))r=r.v;else{n=!0;break}var o=t();if(on(o)&&(o=o.v),!o)return r}while(!o.then);let i=new ya,a=Ie.bind(null,i,2);return(n?r.then(s):o.then(u)).then(void 0,a),i;function s(c){for(r=c;o=t(),on(o)&&(o=o.v),!!o;){if(o.then){o.then(u).then(void 0,a);return}if(r=e(),r&&r.then)if(on(r))r=r.v;else{r.then(s).then(void 0,a);return}}Ie(i,1,r)}function u(c){if(c){do{if(r=e(),r&&r.then)if(on(r))r=r.v;else{r.then(s).then(void 0,a);return}if(c=t(),on(c)&&(c=c.v),!c){Ie(i,1,r);return}}while(!c.then);c.then(u).then(void 0,a)}else Ie(i,1,r)}}function Rl(){return{web:function(t,n){try{let o=function(){let p=typeof l?.["@context"]<"u"?"application/did+ld+json":"application/did+json";return i?{didDocument:l,didDocumentMetadata:c,didResolutionMetadata:{error:"notFound",message:i}}:{didDocument:l,didDocumentMetadata:c,didResolutionMetadata:{contentType:p}}},r,i=null,a=decodeURIComponent(n.id)+Kh,s=n.id.split(":");s.length>1&&(a=s.map(decodeURIComponent).join("/")+"/did.json");let u=`https://${a}`,c={},l=null,d=Wh(function(){function p(){r||l?.id===t||(i="resolver_error: DID document id does not match requested did")}let _=Vh(function(){return Promise.resolve(qh(u)).then(function(f){l=f})},function(f){i=`resolver_error: DID must resolve to a valid https URL containing a JSON document: ${f}`,r=1});return _&&_.then?_.then(p):p(_)},function(){return!r&&!1});return Promise.resolve(d&&d.then?d.then(o):o(d))}catch(r){return Promise.reject(r)}}}}var po=class{methods={...zl(),...Rl()};resolver=new qr(this.methods,{cache:!0});async resolve(t){if(!Object.keys(this.methods).some(r=>t.startsWith(`did:${r}:`)))throw new Error(`Unrecognized DID method: ${t}`);let{didDocument:n}=await this.resolver.resolve(t);if(!n)throw new Q(`DID not found: ${t}`);return n}};var ba;(typeof navigator>"u"||!navigator.userAgent?.startsWith?.("Mozilla/5.0 "))&&(ba="oauth4webapi/v3.8.4");function er(e,t){if(e==null)return!1;try{return e instanceof t||Object.getPrototypeOf(e)[Symbol.toStringTag]===t.prototype[Symbol.toStringTag]}catch{return!1}}var ve="ERR_INVALID_ARG_VALUE",Ue="ERR_INVALID_ARG_TYPE";function K(e,t,n){let r=new TypeError(e,{cause:n});return Object.assign(r,{code:t}),r}var Et=Symbol(),vo=Symbol(),_o=Symbol(),kt=Symbol();var mo=Symbol();var Xh=new TextEncoder,Yh=new TextDecoder;function jl(e){return typeof e=="string"?Xh.encode(e):Yh.decode(e)}var wa;Uint8Array.prototype.toBase64?wa=e=>(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),e.toBase64({alphabet:"base64url",omitPadding:!0})):wa=t=>{t instanceof ArrayBuffer&&(t=new Uint8Array(t));let n=[];for(let r=0;r<t.byteLength;r+=32768)n.push(String.fromCharCode.apply(null,t.subarray(r,r+32768)));return btoa(n.join("")).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")};var xa;Uint8Array.fromBase64?xa=e=>{try{return Uint8Array.fromBase64(e,{alphabet:"base64url"})}catch(t){throw K("The input to be decoded is not correctly encoded.",ve,t)}}:xa=e=>{try{let t=atob(e.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"")),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}catch(t){throw K("The input to be decoded is not correctly encoded.",ve,t)}};function $a(e){return typeof e=="string"?xa(e):wa(e)}var pt=class extends Error{code;constructor(t,n){super(t,n),this.name=this.constructor.name,this.code=Eo,Error.captureStackTrace?.(this,this.constructor)}},Xn=class extends Error{code;constructor(t,n){super(t,n),this.name=this.constructor.name,n?.code&&(this.code=n?.code),Error.captureStackTrace?.(this,this.constructor)}};function C(e,t,n){return new Xn(e,{code:t,cause:n})}function ho(e){return!(e===null||typeof e!="object"||Array.isArray(e))}function Sa(e){er(e,Headers)&&(e=Object.fromEntries(e.entries()));let t=new Headers(e??{});if(ba&&!t.has("user-agent")&&t.set("user-agent",ba),t.has("authorization"))throw K('"options.headers" must not include the "authorization" header name',ve);return t}function Cl(e,t){if(t!==void 0){if(typeof t=="function"&&(t=t(e.href)),!(t instanceof AbortSignal))throw K('"options.signal" must return or be an instance of AbortSignal',Ue);return t}}function Ll(e){return e.includes("//")?e.replace("//","/"):e}function Qh(e,t,n=!1){return e.pathname==="/"?e.pathname=t:e.pathname=Ll(`${t}/${n?e.pathname:e.pathname.replace(/(\/)$/,"")}`),e}function eg(e,t){return e.pathname=Ll(`${e.pathname}/${t}`),e}async function tg(e,t,n,r){if(!(e instanceof URL))throw K(`"${t}" must be an instance of URL`,Ue);xo(e,r?.[Et]!==!0);let o=n(new URL(e.href)),i=Sa(r?.headers);return i.set("accept","application/json"),(r?.[kt]||fetch)(o.href,{body:void 0,headers:Object.fromEntries(i.entries()),method:"GET",redirect:"manual",signal:Cl(o,r?.signal)})}async function Ml(e,t){return tg(e,"issuerIdentifier",n=>{switch(t?.algorithm){case void 0:case"oidc":eg(n,".well-known/openid-configuration");break;case"oauth2":Qh(n,".well-known/oauth-authorization-server");break;default:throw K('"options.algorithm" must be "oidc" (default), or "oauth2"',ve)}return n},t)}function Wn(e,t,n,r,o){try{if(typeof e!="number"||!Number.isFinite(e))throw K(`${n} must be a number`,Ue,o);if(e>0)return;if(t){if(e!==0)throw K(`${n} must be a non-negative number`,ve,o);return}throw K(`${n} must be a positive number`,ve,o)}catch(i){throw r?C(i.message,r,o):i}}function ye(e,t,n,r){try{if(typeof e!="string")throw K(`${t} must be a string`,Ue,r);if(e.length===0)throw K(`${t} must not be empty`,ve,r)}catch(o){throw n?C(o.message,n,r):o}}async function Zl(e,t){let n=e;if(!(n instanceof URL)&&n!==yo)throw K('"expectedIssuerIdentifier" must be an instance of URL',Ue);if(!er(t,Response))throw K('"response" must be an instance of Response',Ue);if(t.status!==200)throw C('"response" is not a conform Authorization Server Metadata response (unexpected HTTP status code)',ko,t);Ra(t);let r=await rd(t);if(ye(r.issuer,'"response" body "issuer" property',G,{body:r}),n!==yo&&new URL(r.issuer).href!==n.href)throw C('"response" body "issuer" property does not match the expected value',Io,{expected:n.href,body:r,attribute:"issuer"});return r}function Bl(e){rg(e,"application/json")}function ng(e,...t){let n='"response" content-type must be ';if(t.length>2){let r=t.pop();n+=`${t.join(", ")}, or ${r}`}else t.length===2?n+=`${t[0]} or ${t[1]}`:n+=t[0];return C(n,Oa,e)}function rg(e,t){if(Ta(e)!==t)throw ng(e,t)}function og(){return $a(crypto.getRandomValues(new Uint8Array(32)))}function Fl(){return og()}function Ea(e){let t=e?.[vo];return typeof t=="number"&&Number.isFinite(t)?t:0}function ka(e){let t=e?.[_o];return typeof t=="number"&&Number.isFinite(t)&&Math.sign(t)!==-1?t:30}function Ia(){return Math.floor(Date.now()/1e3)}function bo(e){if(typeof e!="object"||e===null)throw K('"as" must be an object',Ue);ye(e.issuer,'"as.issuer"')}function wo(e){if(typeof e!="object"||e===null)throw K('"client" must be an object',Ue);ye(e.client_id,'"client.client_id"')}function Aa(e){return ye(e,'"clientSecret"'),(t,n,r,o)=>{r.set("client_id",n.client_id),r.set("client_secret",e)}}function Hl(){return(e,t,n,r)=>{n.set("client_id",t.client_id)}}var ig=URL.parse?(e,t)=>URL.parse(e,t):(e,t)=>{try{return new URL(e,t)}catch{return null}};function xo(e,t){if(t&&e.protocol!=="https:")throw C("only requests to HTTPS are allowed",Ua,e);if(e.protocol!=="https:"&&e.protocol!=="http:")throw C("only HTTP and HTTPS requests are allowed",Da,e)}function Nl(e,t,n,r){let o;if(typeof e!="string"||!(o=ig(e)))throw C(`authorization server metadata does not contain a valid ${n?`"as.mtls_endpoint_aliases.${t}"`:`"as.${t}"`}`,e===void 0?Pg:zg,{attribute:n?`mtls_endpoint_aliases.${t}`:t});return xo(o,r),o}function $o(e,t,n,r){return n&&e.mtls_endpoint_aliases&&t in e.mtls_endpoint_aliases?Nl(e.mtls_endpoint_aliases[t],t,n,r):Nl(e[t],t,n,r)}function Jl(e){if(e instanceof sn){let{0:t,length:n}=e.cause;return n===1&&t.scheme==="dpop"&&t.parameters.error==="use_dpop_nonce"}return e instanceof an?e.error==="use_dpop_nonce":!1}var an=class extends Error{cause;code;error;status;error_description;response;constructor(t,n){super(t,n),this.name=this.constructor.name,this.code=Ag,this.cause=n.cause,this.error=n.cause.error,this.status=n.response.status,this.error_description=n.cause.error_description,Object.defineProperty(this,"response",{enumerable:!1,value:n.response}),Error.captureStackTrace?.(this,this.constructor)}},Yn=class extends Error{cause;code;error;error_description;constructor(t,n){super(t,n),this.name=this.constructor.name,this.code=Tg,this.cause=n.cause,this.error=n.cause.get("error"),this.error_description=n.cause.get("error_description")??void 0,Error.captureStackTrace?.(this,this.constructor)}},sn=class extends Error{cause;code;response;status;constructor(t,n){super(t,n),this.name=this.constructor.name,this.code=Ig,this.cause=n.cause,this.status=n.response.status,this.response=n.response,Object.defineProperty(this,"response",{enumerable:!1}),Error.captureStackTrace?.(this,this.constructor)}},go="[a-zA-Z0-9!#$%&\\'\\*\\+\\-\\.\\^_`\\|~]+",ag="[a-zA-Z0-9\\-\\._\\~\\+\\/]+={0,2}",sg='"((?:[^"\\\\]|\\\\[\\s\\S])*)"',cg="("+go+")\\s*=\\s*"+sg,ug="("+go+")\\s*=\\s*("+go+")",lg=new RegExp("^[,\\s]*("+go+")"),dg=new RegExp("^[,\\s]*"+cg+"[,\\s]*(.*)"),fg=new RegExp("^[,\\s]*"+ug+"[,\\s]*(.*)"),pg=new RegExp("^("+ag+")(?:$|[,\\s])(.*)");function mg(e){if(!er(e,Response))throw K('"response" must be an instance of Response',Ue);let t=e.headers.get("www-authenticate");if(t===null)return;let n=[],r=t;for(;r;){let o=r.match(lg),i=o?.[1].toLowerCase();if(!i)return;let a=r.substring(o[0].length);if(a&&!a.match(/^[\s,]/))return;let s=a.match(/^\s+(.*)$/),u=!!s;r=s?s[1]:void 0;let c={},l;if(u)for(;r;){let p,_;if(o=r.match(dg)){if([,p,_,r]=o,_.includes("\\"))try{_=JSON.parse(`"${_}"`)}catch{}c[p.toLowerCase()]=_;continue}if(o=r.match(fg)){[,p,_,r]=o,c[p.toLowerCase()]=_;continue}if(o=r.match(pg)){if(Object.keys(c).length)break;[,l,r]=o;break}return}else r=a||void 0;let d={scheme:i,parameters:c};l&&(d.token68=l),n.push(d)}if(n.length)return n}async function hg(e){if(e.status>399&&e.status<500){Ra(e),Bl(e);try{let t=await e.clone().json();if(ho(t)&&typeof t.error=="string"&&t.error.length)return t}catch{}}}async function Gl(e,t,n){if(e.status!==t){_g(e);let r;throw(r=await hg(e))?(await e.body?.cancel(),new an("server responded with an error in the response body",{cause:r,response:e})):C(`"response" is not a conform ${n} response (unexpected HTTP status code)`,ko,e)}}function gg(e){if(!Pa.has(e))throw K('"options.DPoP" is not a valid DPoPHandle',ve)}function Ta(e){return e.headers.get("content-type")?.split(";")[0]}async function Vl(e,t,n,r,o,i,a){return await n(e,t,o,i),i.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),(a?.[kt]||fetch)(r.href,{body:o,headers:Object.fromEntries(i.entries()),method:"POST",redirect:"manual",signal:Cl(r,a?.signal)})}async function yg(e,t,n,r,o,i){let a=$o(e,"token_endpoint",t.use_mtls_endpoint_aliases,i?.[Et]!==!0);o.set("grant_type",r);let s=Sa(i?.headers);s.set("accept","application/json"),i?.DPoP!==void 0&&(gg(i.DPoP),await i.DPoP.addProof(a,s,"POST"));let u=await Vl(e,t,n,a,o,s,i);return i?.DPoP?.cacheNonce(u,a),u}var ql=new WeakMap,vg=new WeakMap;function So(e){if(!e.id_token)return;let t=ql.get(e);if(!t)throw K('"ref" was already garbage collected or did not resolve from the proper sources',ve);return t}async function Kl(e,t,n,r,o,i){if(bo(e),wo(t),!er(n,Response))throw K('"response" must be an instance of Response',Ue);await Gl(n,200,"Token Endpoint"),Ra(n);let a=await rd(n);if(ye(a.access_token,'"response" body "access_token" property',G,{body:a}),ye(a.token_type,'"response" body "token_type" property',G,{body:a}),a.token_type=a.token_type.toLowerCase(),a.expires_in!==void 0){let s=typeof a.expires_in!="number"?parseFloat(a.expires_in):a.expires_in;Wn(s,!0,'"response" body "expires_in" property',G,{body:a}),a.expires_in=s}if(a.refresh_token!==void 0&&ye(a.refresh_token,'"response" body "refresh_token" property',G,{body:a}),a.scope!==void 0&&typeof a.scope!="string")throw C('"response" body "scope" property must be a string',G,{body:a});if(a.id_token!==void 0){ye(a.id_token,'"response" body "id_token" property',G,{body:a});let s=["aud","exp","iat","iss","sub"];t.require_auth_time===!0&&s.push("auth_time"),t.default_max_age!==void 0&&(Wn(t.default_max_age,!0,'"client.default_max_age"'),s.push("auth_time")),r?.length&&s.push(...r);let{claims:u,jwt:c}=await Og(a.id_token,Dg.bind(void 0,t.id_token_signed_response_alg,e.id_token_signing_alg_values_supported,"RS256"),Ea(t),ka(t),o).then(Sg.bind(void 0,s)).then(wg.bind(void 0,e)).then(bg.bind(void 0,t.client_id));if(Array.isArray(u.aud)&&u.aud.length!==1){if(u.azp===void 0)throw C('ID Token "aud" (audience) claim includes additional untrusted audiences',Ve,{claims:u,claim:"aud"});if(u.azp!==t.client_id)throw C('unexpected ID Token "azp" (authorized party) claim value',Ve,{expected:t.client_id,claims:u,claim:"azp"})}u.auth_time!==void 0&&Wn(u.auth_time,!0,'ID Token "auth_time" (authentication time)',G,{claims:u}),vg.set(n,c),ql.set(a,u)}if(i?.[a.token_type]!==void 0)i[a.token_type](n,a);else if(a.token_type!=="dpop"&&a.token_type!=="bearer")throw new pt("unsupported `token_type` value",{cause:{body:a}});return a}function _g(e){let t;if(t=mg(e))throw new sn("server responded with a challenge in the WWW-Authenticate HTTP Header",{cause:t,response:e})}function bg(e,t){if(Array.isArray(t.claims.aud)){if(!t.claims.aud.includes(e))throw C('unexpected JWT "aud" (audience) claim value',Ve,{expected:e,claims:t.claims,claim:"aud"})}else if(t.claims.aud!==e)throw C('unexpected JWT "aud" (audience) claim value',Ve,{expected:e,claims:t.claims,claim:"aud"});return t}function wg(e,t){let n=e[ja]?.(t)??e.issuer;if(t.claims.iss!==n)throw C('unexpected JWT "iss" (issuer) claim value',Ve,{expected:n,claims:t.claims,claim:"iss"});return t}var Pa=new WeakSet;function xg(e){return Pa.add(e),e}var za=Symbol();async function Wl(e,t,n,r,o,i,a){if(bo(e),wo(t),!Pa.has(r))throw K('"callbackParameters" must be an instance of URLSearchParams obtained from "validateAuthResponse()", or "validateJwtAuthResponse()',ve);ye(o,'"redirectUri"');let s=St(r,"code");if(!s)throw C('no authorization code in "callbackParameters"',G);let u=new URLSearchParams(a?.additionalParameters);return u.set("redirect_uri",o),u.set("code",s),i!==za&&(ye(i,'"codeVerifier"'),u.set("code_verifier",i)),yg(e,t,n,"authorization_code",u,a)}var $g={aud:"audience",c_hash:"code hash",client_id:"client id",exp:"expiration time",iat:"issued at",iss:"issuer",jti:"jwt id",nonce:"nonce",s_hash:"state hash",sub:"subject",ath:"access token hash",htm:"http method",htu:"http uri",cnf:"confirmation",auth_time:"authentication time"};function Sg(e,t){for(let n of e)if(t.claims[n]===void 0)throw C(`JWT "${n}" (${$g[n]}) claim missing`,G,{claims:t.claims});return t}var va=Symbol(),_a=Symbol();async function Xl(e,t,n,r){return typeof r?.expectedNonce=="string"||typeof r?.maxAge=="number"||r?.requireIdToken?Eg(e,t,n,r.expectedNonce,r.maxAge,r[mo],r.recognizedTokenTypes):kg(e,t,n,r?.[mo],r?.recognizedTokenTypes)}async function Eg(e,t,n,r,o,i,a){let s=[];switch(r){case void 0:r=va;break;case va:break;default:ye(r,'"expectedNonce" argument'),s.push("nonce")}switch(o??=t.default_max_age,o){case void 0:o=_a;break;case _a:break;default:Wn(o,!0,'"maxAge" argument'),s.push("auth_time")}let u=await Kl(e,t,n,s,i,a);ye(u.id_token,'"response" body "id_token" property',G,{body:u});let c=So(u);if(o!==_a){let l=Ia()+Ea(t),d=ka(t);if(c.auth_time+o<l-d)throw C("too much time has elapsed since the last End-User authentication",cn,{claims:c,now:l,tolerance:d,claim:"auth_time"})}if(r===va){if(c.nonce!==void 0)throw C('unexpected ID Token "nonce" claim value',Ve,{expected:void 0,claims:c,claim:"nonce"})}else if(c.nonce!==r)throw C('unexpected ID Token "nonce" claim value',Ve,{expected:r,claims:c,claim:"nonce"});return u}async function kg(e,t,n,r,o){let i=await Kl(e,t,n,void 0,r,o),a=So(i);if(a){if(t.default_max_age!==void 0){Wn(t.default_max_age,!0,'"client.default_max_age"');let s=Ia()+Ea(t),u=ka(t);if(a.auth_time+t.default_max_age<s-u)throw C("too much time has elapsed since the last End-User authentication",cn,{claims:a,now:s,tolerance:u,claim:"auth_time"})}if(a.nonce!==void 0)throw C('unexpected ID Token "nonce" claim value',Ve,{expected:void 0,claims:a,claim:"nonce"})}return i}var Ig="OAUTH_WWW_AUTHENTICATE_CHALLENGE",Ag="OAUTH_RESPONSE_BODY_ERROR",Eo="OAUTH_UNSUPPORTED_OPERATION",Tg="OAUTH_AUTHORIZATION_RESPONSE_ERROR";var Qn="OAUTH_PARSE_ERROR",G="OAUTH_INVALID_RESPONSE";var Oa="OAUTH_RESPONSE_IS_NOT_JSON",ko="OAUTH_RESPONSE_IS_NOT_CONFORM",Ua="OAUTH_HTTP_REQUEST_FORBIDDEN",Da="OAUTH_REQUEST_PROTOCOL_FORBIDDEN",cn="OAUTH_JWT_TIMESTAMP_CHECK_FAILED",Ve="OAUTH_JWT_CLAIM_COMPARISON_FAILED",Io="OAUTH_JSON_ATTRIBUTE_COMPARISON_FAILED";var Pg="OAUTH_MISSING_SERVER_METADATA",zg="OAUTH_INVALID_SERVER_METADATA";async function Yl(e,t,n,r,o){bo(e),wo(t),ye(r,'"token"');let i=$o(e,"revocation_endpoint",t.use_mtls_endpoint_aliases,o?.[Et]!==!0),a=new URLSearchParams(o?.additionalParameters);a.set("token",r);let s=Sa(o?.headers);return s.delete("accept"),Vl(e,t,n,i,a,s,o)}async function Ql(e){if(!er(e,Response))throw K('"response" must be an instance of Response',Ue);await Gl(e,200,"Revocation Endpoint")}function Ra(e){if(e.bodyUsed)throw K('"response" body has been used already',ve)}async function Og(e,t,n,r,o){let{0:i,1:a,length:s}=e.split(".");if(s===5)if(o!==void 0)e=await o(e),{0:i,1:a,length:s}=e.split(".");else throw new pt("JWE decryption is not configured",{cause:e});if(s!==3)throw C("Invalid JWT",G,e);let u;try{u=JSON.parse(jl($a(i)))}catch(d){throw C("failed to parse JWT Header body as base64url encoded JSON",Qn,d)}if(!ho(u))throw C("JWT Header must be a top level object",G,e);if(t(u),u.crit!==void 0)throw new pt('no JWT "crit" header parameter extensions are supported',{cause:{header:u}});let c;try{c=JSON.parse(jl($a(a)))}catch(d){throw C("failed to parse JWT Payload body as base64url encoded JSON",Qn,d)}if(!ho(c))throw C("JWT Payload must be a top level object",G,e);let l=Ia()+n;if(c.exp!==void 0){if(typeof c.exp!="number")throw C('unexpected JWT "exp" (expiration time) claim type',G,{claims:c});if(c.exp<=l-r)throw C('unexpected JWT "exp" (expiration time) claim value, expiration is past current timestamp',cn,{claims:c,now:l,tolerance:r,claim:"exp"})}if(c.iat!==void 0&&typeof c.iat!="number")throw C('unexpected JWT "iat" (issued at) claim type',G,{claims:c});if(c.iss!==void 0&&typeof c.iss!="string")throw C('unexpected JWT "iss" (issuer) claim type',G,{claims:c});if(c.nbf!==void 0){if(typeof c.nbf!="number")throw C('unexpected JWT "nbf" (not before) claim type',G,{claims:c});if(c.nbf>l+r)throw C('unexpected JWT "nbf" (not before) claim value',cn,{claims:c,now:l,tolerance:r,claim:"nbf"})}if(c.aud!==void 0&&typeof c.aud!="string"&&!Array.isArray(c.aud))throw C('unexpected JWT "aud" (audience) claim type',G,{claims:c});return{header:u,claims:c,jwt:e}}async function Ug(e){if(e.bodyUsed)throw K("form_post Request instances must contain a readable body",ve,{cause:e});return e.text()}async function ed(e){if(e.method!=="POST")throw K("form_post responses are expected to use the POST method",ve,{cause:e});if(Ta(e)!=="application/x-www-form-urlencoded")throw K("form_post responses are expected to use the application/x-www-form-urlencoded content-type",ve,{cause:e});return Ug(e)}function Dg(e,t,n,r){if(e!==void 0){if(typeof e=="string"?r.alg!==e:!e.includes(r.alg))throw C('unexpected JWT "alg" header parameter',G,{header:r,expected:e,reason:"client configuration"});return}if(Array.isArray(t)){if(!t.includes(r.alg))throw C('unexpected JWT "alg" header parameter',G,{header:r,expected:t,reason:"authorization server metadata"});return}if(n!==void 0){if(typeof n=="string"?r.alg!==n:typeof n=="function"?!n(r.alg):!n.includes(r.alg))throw C('unexpected JWT "alg" header parameter',G,{header:r,expected:n,reason:"default value"});return}throw C('missing client or server configuration to verify used JWT "alg" header parameter',void 0,{client:e,issuer:t,fallback:n})}function St(e,t){let{0:n,length:r}=e.getAll(t);if(r>1)throw C(`"${t}" parameter must be provided only once`,G);return n}var td=Symbol(),Rg=Symbol();function nd(e,t,n,r){if(bo(e),wo(t),n instanceof URL&&(n=n.searchParams),!(n instanceof URLSearchParams))throw K('"parameters" must be an instance of URLSearchParams, or URL',Ue);if(St(n,"response"))throw C('"parameters" contains a JARM response, use validateJwtAuthResponse() instead of validateAuthResponse()',G,{parameters:n});let o=St(n,"iss"),i=St(n,"state");if(!o&&e.authorization_response_iss_parameter_supported)throw C('response parameter "iss" (issuer) missing',G,{parameters:n});if(o&&o!==e.issuer)throw C('unexpected "iss" (issuer) response parameter value',G,{expected:e.issuer,parameters:n});switch(r){case void 0:case Rg:if(i!==void 0)throw C('unexpected "state" response parameter encountered',G,{expected:void 0,parameters:n});break;case td:break;default:if(ye(r,'"expectedState" argument'),i!==r)throw C(i===void 0?'response parameter "state" missing':'unexpected "state" response parameter value',G,{expected:r,parameters:n})}if(St(n,"error"))throw new Yn("authorization response from the server is an error",{cause:n});let s=St(n,"id_token"),u=St(n,"token");if(s!==void 0||u!==void 0)throw new pt("implicit and hybrid flows are not supported");return xg(new URLSearchParams(n))}async function rd(e,t=Bl){let n;try{n=await e.json()}catch(r){throw t(e),C('failed to parse "response" body as JSON',Qn,r)}if(!ho(n))throw C('"response" body must be a top level object',G,{body:n});return n}var yo=Symbol(),ja=Symbol();var nr,od;(typeof navigator>"u"||!navigator.userAgent?.startsWith?.("Mozilla/5.0 "))&&(od="openid-client/v6.8.2",nr={"user-agent":od});var Me=e=>Ca.get(e),Ca,Na;function Ng(e){return e!==void 0?Aa(e):(Na||=new WeakMap,(t,n,r,o)=>{let i;return(i=Na.get(n))||(Cg(n.client_secret,'"metadata.client_secret"'),i=Aa(n.client_secret),Na.set(n,i)),i(t,n,r,o)})}function Cg(e,t){if(typeof e!="string")throw qe(`${t} must be a string`,or);if(e.length===0)throw qe(`${t} must not be empty`,rr)}function Lg(){return Hl()}var un=kt;var rr="ERR_INVALID_ARG_VALUE",or="ERR_INVALID_ARG_TYPE";function qe(e,t,n){let r=new TypeError(e,{cause:n});return Object.assign(r,{code:t}),r}function ad(){return Fl()}var ln=class extends Error{code;constructor(t,n){super(t,n),this.name=this.constructor.name,this.code=n?.code,Error.captureStackTrace?.(this,this.constructor)}},lP=new TextDecoder;function me(e,t,n){return new ln(e,{cause:t,code:n})}function tr(e){if(e instanceof TypeError||e instanceof ln||e instanceof an||e instanceof Yn||e instanceof sn)throw e;if(e instanceof Xn)switch(e.code){case Ua:throw me("only requests to HTTPS are allowed",e,e.code);case Da:throw me("only requests to HTTP or HTTPS are allowed",e,e.code);case ko:throw me("unexpected HTTP response status code",e.cause,e.code);case Oa:throw me("unexpected response content-type",e.cause,e.code);case Qn:throw me("parsing error occured",e,e.code);case G:throw me("invalid response encountered",e,e.code);case Ve:throw me("unexpected JWT claim value encountered",e,e.code);case Io:throw me("unexpected JSON attribute value encountered",e,e.code);case cn:throw me("JWT timestamp claim value failed validation",e,e.code);default:throw me(e.message,e,e.code)}if(e instanceof pt)throw me("unsupported operation",e,e.code);if(e instanceof DOMException)switch(e.name){case"OperationError":throw me("runtime operation error",e,Eo);case"NotSupportedError":throw me("runtime unsupported operation",e,Eo);case"TimeoutError":throw me("operation timed out",e,"OAUTH_TIMEOUT");case"AbortError":throw me("operation aborted",e,"OAUTH_ABORT")}throw new ln("something went wrong",{cause:e})}function Mg(e,t,n){return e.origin==="https://login.microsoftonline.com"&&(!n?.algorithm||n.algorithm==="oidc")?(t[cd]=!0,!0):!1}function Zg(e,t){return!!(e.hostname.endsWith(".b2clogin.com")&&(!t?.algorithm||t.algorithm==="oidc"))}async function sd(e,t,n,r,o){let i=await Bg(e,o),a=new dn(i,t,n,r),s=Me(a);if(o?.[un]&&(s.fetch=o[un]),o?.timeout&&(s.timeout=o.timeout),o?.execute)for(let u of o.execute)u(a);return a}async function Bg(e,t){if(!(e instanceof URL))throw qe('"server" must be an instance of URL',or);let n=!e.href.includes("/.well-known/"),r=t?.timeout??30,o=AbortSignal.timeout(r*1e3),i=await(n?Ml(e,{algorithm:t?.algorithm,[kt]:t?.[un],[Et]:t?.execute?.includes(id),signal:o,headers:new Headers(nr)}):(t?.[un]||fetch)((xo(e,!t?.execute?.includes(id)),e.href),{headers:Object.fromEntries(new Headers({accept:"application/json",...nr}).entries()),body:void 0,method:"GET",redirect:"manual",signal:o})).then(a=>Zl(yo,a)).catch(tr);return n&&new URL(i.issuer).href!==e.href&&(Mg(e,i,t)||Zg(e,t)||(()=>{throw new ln("discovered metadata issuer does not match the expected issuer",{code:Io,cause:{expected:e.href,body:i,attribute:"issuer"}})})()),i}function Fg(e){return{supportsPKCE:{__proto__:null,value(t="S256"){return e.code_challenge_methods_supported?.includes(t)===!0}}}}function Hg(e){Object.defineProperties(e,Fg(e))}var cd=Symbol(),dn=class{constructor(t,n,r,o){if(typeof n!="string"||!n.length)throw qe('"clientId" must be a non-empty string',or);if(typeof r=="string"&&(r={client_secret:r}),r?.client_id!==void 0&&n!==r.client_id)throw qe('"clientId" and "metadata.client_id" must be the same',rr);let i={...structuredClone(r),client_id:n};i[vo]=r?.[vo]??0,i[_o]=r?.[_o]??30;let a;o?a=o:typeof i.client_secret=="string"&&i.client_secret.length?a=Ng(i.client_secret):a=Lg();let s=Object.freeze(i),u=structuredClone(t);cd in t&&(u[ja]=({claims:{tid:l}})=>t.issuer.replace("{tenantid}",l));let c=Object.freeze(u);Ca||=new WeakMap,Ca.set(this,{__proto__:null,as:c,c:s,auth:a,tlsOnly:!0,jwksCache:{}})}serverMetadata(){let t=structuredClone(Me(this).as);return Hg(t),t}clientMetadata(){return structuredClone(Me(this).c)}get timeout(){return Me(this).timeout}set timeout(t){Me(this).timeout=t}get[un](){return Me(this).fetch}set[un](t){Me(this).fetch=t}};Object.freeze(dn.prototype);function Jg(e){let t;if(e.expires_in!==void 0){let n=new Date;n.setSeconds(n.getSeconds()+e.expires_in),t=n.getTime()}return{expiresIn:{__proto__:null,value(){if(t){let n=Date.now();return t>n?Math.floor((t-n)/1e3):0}}},claims:{__proto__:null,value(){try{return So(this)}catch{return}}}}}function Gg(e){Object.defineProperties(e,Jg(e))}function id(e){Me(e).tlsOnly=!1}function Vg(e){return e=new URL(e),e.search="",e.hash="",e.href}function qg(e,t){try{return Object.getPrototypeOf(e)[Symbol.toStringTag]===t}catch{return!1}}async function La(e,t,n,r,o){if(Ma(e),o?.flag!==Ao&&!(t instanceof URL)&&!qg(t,"Request"))throw qe('"currentUrl" must be an instance of URL, or Request',or);let i,a,{as:s,c:u,auth:c,fetch:l,tlsOnly:d,jarm:p,hybrid:_,nonRepudiation:f,timeout:y,decrypt:v,implicit:k}=Me(e);if(o?.flag===Ao)i=o.authResponse,a=o.redirectUri;else{if(!(t instanceof URL)){let x=t;switch(t=new URL(t.url),x.method){case"GET":break;case"POST":let U=new URLSearchParams(await ed(x));if(_)t.hash=U.toString();else for(let[M,B]of U.entries())t.searchParams.append(M,B);break;default:throw qe("unexpected Request HTTP method",rr)}}switch(a=Vg(t),!0){case!!p:i=await p(t,n?.expectedState);break;case!!_:i=await _(t,n?.expectedNonce,n?.expectedState,n?.maxAge);break;case!!k:throw new TypeError("authorizationCodeGrant() cannot be used by response_type=id_token clients");default:try{i=nd(s,u,t.searchParams,n?.expectedState)}catch(x){tr(x)}}}let A=await Wl(s,u,c,i,a,n?.pkceCodeVerifier||za,{additionalParameters:r,[kt]:l,[Et]:!d,DPoP:o?.DPoP,headers:new Headers(nr),signal:ld(y)}).catch(tr);(typeof n?.expectedNonce=="string"||typeof n?.maxAge=="number")&&(n.idTokenExpected=!0);let w=Xl(s,u,A,{expectedNonce:n?.expectedNonce,maxAge:n?.maxAge,requireIdToken:n?.idTokenExpected,[mo]:v}),S;try{S=await w}catch(x){if(Kg(x,o))return La(e,void 0,n,r,{...o,flag:Ao,authResponse:i,redirectUri:a});tr(x)}return S.id_token&&await f?.(A),Gg(S),S}function ud(e,t){Ma(e);let{as:n,c:r,tlsOnly:o,hybrid:i,jarm:a,implicit:s}=Me(e),u=$o(n,"authorization_endpoint",!1,o);if(t=new URLSearchParams(t),t.has("client_id")||t.set("client_id",r.client_id),!t.has("request_uri")&&!t.has("request")){if(t.has("response_type")||t.set("response_type",i?"code id_token":s?"id_token":"code"),s&&!t.has("nonce"))throw qe("response_type=id_token clients must provide a nonce parameter in their authorization request parameters",rr);a&&t.set("response_mode","jwt")}for(let[c,l]of t.entries())u.searchParams.append(c,l);return u}function Ma(e){if(!(e instanceof dn))throw qe('"config" must be an instance of Configuration',or);if(Object.getPrototypeOf(e)!==dn.prototype)throw qe("subclassing Configuration is not allowed",rr)}function ld(e){return e?AbortSignal.timeout(e*1e3):void 0}function Kg(e,t){return t?.DPoP&&t.flag!==Ao?Jl(e):!1}var Ao=Symbol();async function dd(e,t,n){Ma(e);let{as:r,c:o,auth:i,fetch:a,tlsOnly:s,timeout:u}=Me(e);return Yl(r,o,i,t,{[kt]:a,[Et]:!s,additionalParameters:new URLSearchParams(n),headers:new Headers(nr),signal:ld(u)}).then(Ql).catch(tr)}var fd="oauth2:",ir="graffiti-auth-oauth2-data",To=class{eventTarget=new EventTarget;constructor(){let t=this.completeOauth();(async()=>{await new Promise(r=>setTimeout(r,0)),await t;let n=new CustomEvent("initialized");this.eventTarget.dispatchEvent(n)})()}async login(...t){try{await this.login_(...t)}catch(n){let r=n instanceof Error?n:new Error("Unknown error"),o={loginId:t[1],error:r};this.eventTarget.dispatchEvent(new CustomEvent("login",{detail:o}))}}async login_(t,n,r){let o=await this.getAuthorizationConfiguration(t),i=r.map(encodeURIComponent).join(" "),a=ad(),s,u;if(typeof window<"u"){s=window.location.href;let d={loginId:n,redirectUri:s,authorizationEndpoint:t,state:a,serviceEndpoints:r};window.localStorage.setItem(ir,JSON.stringify(d))}else{let p=(await import("node:http").catch(f=>{throw new Error("Unrecognized environment: cannot find window or node:http")})).createServer();try{await new Promise((f,y)=>{p.once("error",y),p.listen(0,"::1",f)})}catch{try{p.close()}catch{}throw new Error("Failed to start local oauth callback server.")}let _=p.address();if(!_){try{p.close()}catch{}throw new Error("Failed to get local oauth callback server address.")}s=typeof _=="string"?`http://${_}`:`http://${_.family==="IPv6"?`[${_.address}]`:_.address}:${_.port}`,u=new Promise((f,y)=>{let v=setTimeout(()=>{try{p.close()}catch{}y("Oauth callback timed out.")},3e5),k=new Set;p.on("connection",w=>{k.add(w),w.on("close",()=>{k.delete(w)})});let A=async(w,S)=>{try{let x=new URL(w.url??"/",s);await this.onCallbackUrl({loginId:n,callbackUrl:x,configuration:o,expectedState:a,serviceEndpoints:r}),S.statusCode=200,S.setHeader("Content-Type","text/plain"),S.end("You may now close this window.")}catch(x){throw S.statusCode=500,S.setHeader("Content-Type","text/plain"),S.end("Error processing OAuth callback."),x}finally{clearTimeout(v),p.off("request",A);for(let x of k)x.destroy();p.close(()=>f())}};p.on("request",A)})}let c=new URL(s);c.hash="",c.search="";let l=ud(o,{scope:i,redirect_uri:c.toString(),state:a});typeof window<"u"?window.location.href=l.toString():(console.log("Please open the following URL in your browser:"),console.log(l.toString()),await u)}completeOauth(){if(typeof window>"u")return;let t=window.localStorage.getItem(ir);if(!t)return;let n;try{n=JSON.parse(t)}catch{console.error("Invalid OAuth2 login data in local storage."),window.localStorage.removeItem(ir);return}let r=Wg.safeParse(n);if(!r.success){console.error("Invalid OAuth2 login data structure in local storage.",r.error),window.localStorage.removeItem(ir);return}let{loginId:o,redirectUri:i,authorizationEndpoint:a,state:s,serviceEndpoints:u}=r.data;try{let c=new URL(i),l=new URL(window.location.href);if(c.pathname!==l.pathname)return;let d=l.searchParams;return!d.has("code")&&!d.has("error")?void 0:(window.history.replaceState({},document.title,c.toString()),window.localStorage.removeItem(ir),new Promise(p=>setTimeout(p,0)).then(()=>this.getAuthorizationConfiguration(a)).then(p=>this.onCallbackUrl({loginId:o,callbackUrl:l,configuration:p,expectedState:s,serviceEndpoints:u})).catch(p=>{let _=p instanceof Error?p:new Error("Unknown error"),f={loginId:o,error:_};this.eventTarget.dispatchEvent(new CustomEvent("login",{detail:f}))}))}catch(c){console.error(c)}}async onCallbackUrl(t){let{loginId:n,callbackUrl:r,configuration:o,expectedState:i,serviceEndpoints:a}=t,s=await La(o,r,{expectedState:i}),u=s.access_token,l=s.scope?.split(" ").map(decodeURIComponent)||a;if(!a.every(p=>l.includes(p)))throw new Error("Not all requested service endpoints were granted.");let d=new CustomEvent("login",{detail:{loginId:n,token:u}});this.eventTarget.dispatchEvent(d)}async logout(t,n,r){try{await this.logout_(t,n,r)}catch(o){let i=o instanceof Error?o:new Error("Unknown error"),a={logoutId:n,error:i};this.eventTarget.dispatchEvent(new CustomEvent("logout",{detail:a}))}}async logout_(t,n,r){let o=await this.getAuthorizationConfiguration(t);await dd(o,r);let i={logoutId:n};this.eventTarget.dispatchEvent(new CustomEvent("logout",{detail:i}))}async getAuthorizationConfiguration(t){if(!t.startsWith(fd))throw new Error(`Unrecognized authorization endpoint method: ${t}`);let n=t.slice(fd.length),r;try{r=new URL(n)}catch{throw new Error("Invalid issuer URL.")}return await sd(r,"graffiti-client")}},pd=bc(_e({loginId:H()}),ut([_e({token:H(),error:X(_c())}),_e({error:Nt(Error)})])),md=_e({logoutId:H(),error:X(Nt(Error))}),hd=X(Ze(_e({error:X(Nt(Error))}))),Wg=_e({loginId:H(),redirectUri:J(),authorizationEndpoint:J(),state:H(),serviceEndpoints:V(J())});var Xg="https://";function De(e){if(!e.startsWith(Xg))throw new Error("Unrecognized storage bucket endpoint type")}async function Po(e){De(e);let t=`${e}/auth`,n=await fetch(t);if(!n.ok)throw new Error("Failed to get storage bucket authorization endpoint");return await n.text()}var Za=class e extends Error{constructor(t){super(t),this.name="GraffitiErrorUnauthorized",Object.setPrototypeOf(this,e.prototype)}};async function Ke(...e){let t=await fetch(...e);if(!t.ok){let n;try{n=await t.text()}catch{n=t.statusText}throw t.status===401?new Za(n):t.status===403?new st(n):t.status===404?new Q(n):t.status===410?new Re(n):t.status===413?new Rt(n):new Error(n)}return t}var zo=class{getAuthorizationEndpoint=Po;async put(t,n,r,o){De(t);let i=`${t}/value/${encodeURIComponent(n)}`;await Ke(i,{method:"PUT",headers:{"Content-Type":"application/octet-stream",Authorization:`Bearer ${o}`},body:r.slice()})}async delete(t,n,r){De(t);let o=`${t}/value/${encodeURIComponent(n)}`;await Ke(o,{method:"DELETE",headers:{Authorization:`Bearer ${r}`}})}async get(t,n,r){De(t);let o=`${t}/value/${encodeURIComponent(n)}`,i=await Ke(o),a=i.body?.getReader();if(!a)throw new Error("Failed to read value from storage bucket");let s=i.headers.get("Content-Length"),u=s?Number(s):void 0;if(!!u&&!!Number.isFinite(u)&&u>=0){let f=u;if(r!==void 0&&f>r)throw new Error("Value exceeds maximum byte limit");let y=new Uint8Array(f),v=0,k=!1;try{for(;v<=y.length;){let{done:A,value:w}=await a.read();if(A){k=!0;break}if(!w||w.length===0)continue;let S=v+w.length;if(S>y.length)throw new Error("Received more data than expected");y.set(w,v),v=S}}finally{a.releaseLock()}if(!k)throw new Error("Failed to read complete value from storage bucket");return v===f?y:y.slice(0,v)}let l=[],d=0;try{for(;;){let{done:f,value:y}=await a.read();if(f)break;if(!(!y||y.length===0)){if(d+=y.length,r!==void 0&&d>r)throw new Error("Value exceeds maximum byte limit");l.push(y.slice())}}}finally{a.releaseLock()}let p=new Uint8Array(d),_=0;for(let f of l)p.set(f,_),_+=f.length;return p}async*export(t,n){De(t);let r=`${t}/export`,o;for(;;){let a=await(await Ke(o?`${r}?cursor=${encodeURIComponent(o)}`:r,{headers:{Authorization:`Bearer ${n}`}})).blob(),s=Je(await a.arrayBuffer()),u=Yg.parse(s);for(let c of u.keys)yield{key:c};if(u.cursor)o=u.cursor;else break}}},Yg=_e({keys:V(H()),cursor:X(Ze(H()))});var Uo=class{getAuthorizationEndpoint=Po;cache_=null;get cache(){return this.cache_||(this.cache_=iy()),this.cache_}async send(t,n){De(t);let r=`${t}/send`,i=await(await Ke(r,{method:"PUT",headers:{"Content-Type":"application/cbor"},body:new Uint8Array(Ee({m:n}))})).blob(),a=Je(await i.arrayBuffer());return ny.parse(a).id}async get(t,n,r){let o=Oo(t,n),i=await this.cache,a=await i.messages.get(o);if(a!==void 0)return a;let s=`${t}/message/${n}`,u=null;try{u=await Ke(s,{method:"GET",headers:{...r?{Authorization:`Bearer ${r}`}:{}}})}catch(p){if(p instanceof Q)return await i.messages.set(o,null),null;throw p}let c=await u.blob(),l=Je(await c.arrayBuffer()),d=bd.parse(l);return await i.messages.set(o,d),d}async label(t,n,r,o){if(De(t),o){let u=`${t}/label/${n}`;await Ke(u,{method:"PUT",headers:{"Content-Type":"application/cbor",Authorization:`Bearer ${o}`},body:new Uint8Array(Ee({l:r}))})}let i=await this.cache,a=Oo(t,n),s=await i.messages.get(a);s&&await i.messages.set(a,{...s,l:r})}async fetchMessageBatch(t,n,r,o,i){let a=await Ke(`${t}/${n}${i?`?cursor=${encodeURIComponent(i)}`:""}`,{method:"POST",headers:{"Content-Type":"application/cbor",...o?{Authorization:`Bearer ${o}`}:{}},body:r}),s=a.headers.get("Retry-After"),u=s?parseInt(s):void 0,c=u&&Number.isFinite(u)?Date.now()+u*1e3:void 0;return{response:a,waitTil:c}}async*yieldFromCache(t,n,r,o,i=0){let a=o.messageIds.slice(i);yield*await Promise.all(a.map(async u=>{let c=await t.messages.get(Oo(n,u));if(!c){try{await t.messageIds.del(r)}catch{}throw new Error("Cache out of sync - perhaps clear browser storage")}return c}))}async*lockedMessageStreamer(...t){if(typeof window>"u"||!await wd()){let f=this.messageStreamer(...t);for(;;){let y=await f.next();if(y.done)return y.value;yield y.value}}let n=await t[0],r=`graffiti:inbox:${n}`,o=()=>{},i=!1;if(await new Promise(f=>{window.navigator.locks.request(r,{mode:"exclusive",ifAvailable:!0},async y=>{i=!!y,f(),await new Promise(v=>o=v)})}),i)try{let f=this.messageStreamer(...t);for(;;){let y=await f.next();if(y.done)return y.value;yield y.value}}finally{o()}o(),await window.navigator.locks.request(r,()=>{});let a=t[1],s=t[5]??{},u=t[6],c=t[7],l=await this.cache,d=await l.messageIds.get(n);if(!d)throw new Error("Cache not found");if(u!==void 0&&u!==d.version)throw new Re("Cursor is stale");let p=this.yieldFromCache(l,a,n,d,c);for await(let f of p)yield f;let _={numSeen:d.messageIds.length,version:d.version,messageIdsCacheKey:n,objectSchema:s};return JSON.stringify(_)}async*messageStreamer(t,n,r,o,i,a={},s,u=0){let c=await gr(a),l=await t,d=await this.cache,p=await d.messageIds.get(l);if(s!==void 0&&s!==p?.version)throw new Re("Cursor is stale");let _=p?.waitTil;await vd(_);let f=p?.cursor,y;try{let x=await this.fetchMessageBatch(n,r,o,i,f);y=x.response,_=x.waitTil}catch(x){if(!(x instanceof Re&&f))throw console.error("Unexpected error in stream, waiting 5 seconds before continuing..."),await new Promise(U=>setTimeout(U,5e3)),x;if(await d.messageIds.del(l),s===void 0)p=void 0;else throw x}if(y!==void 0&&p){let x=this.yieldFromCache(d,n,l,p,u);for await(let U of x)yield U}if(y===void 0){let x=await this.fetchMessageBatch(n,r,o,i);y=x.response,_=x.waitTil}let v=y,k,A=p?.version??crypto.randomUUID(),w=p?.messageIds??[];for(;;){let x=await v.blob(),U=Je(await x.arrayBuffer()),{results:M,hasMore:B,cursor:ie}=ry.parse(U);k=ie;let Ae=M.map(b=>{let O=b[It][ot];if(!c(O))throw new Error("Server returned data that does not match schema");return{...b,[It]:{...b[It],[ot]:O}}});await Promise.all(Ae.map(b=>d.messages.set(Oo(n,b[Ba]),b))),w=[...w,...Ae.map(b=>b[Ba])],await d.messageIds.set(l,{cursor:k,version:A,messageIds:w,waitTil:_}),u+=Ae.length;for(let b of Ae)yield b;if(!B)break;await vd(_);let h=await this.fetchMessageBatch(n,r,void 0,i,k);v=h.response,_=h.waitTil}return JSON.stringify({numSeen:u,version:A,messageIdsCacheKey:l,objectSchema:a})}query(t,n,r,o){De(t);let i=Ee({tags:n,schema:r}),a=gd(t,"query",i);return this.lockedMessageStreamer(a,t,"query",new Uint8Array(i),o,r)}continueQuery(t,n,r){De(t);let o=JSON.parse(n),{messageIdsCacheKey:i,numSeen:a,objectSchema:s,version:u}=oy.parse(o);return this.lockedMessageStreamer(Promise.resolve(i),t,"query",void 0,r,s,u,a)}export(t,n){De(t);let r=gd(t,"export");return this.lockedMessageStreamer(r,t,"export",void 0,n)}},Qg=be({value:he({}),channels:V(H()),allowed:X(Ze(V(J()))),url:J(),actor:J()}),_d=bt(e=>e instanceof Uint8Array),ey=V(_d),ar="t",ot="o",sr="m",ty=be({[ar]:ey,[ot]:Qg,[sr]:_d}),Ba="id",It="m",Do="l",bd=be({[Ba]:H(),[It]:ty,[Do]:yc()}),ny=be({id:H()}),ry=be({results:V(bd),hasMore:$i(),cursor:H()}),oy=be({messageIdsCacheKey:H(),version:H(),numSeen:jt().check(_t()),objectSchema:ut([he({}),$i()])});async function wd(){try{return globalThis.indexedDB?(await new Promise((e,t)=>{let n=indexedDB.open("__idb_probe__",1);n.onupgradeneeded=()=>n.result.createObjectStore("k"),n.onsuccess=()=>{n.result.close(),e()},n.onerror=()=>t(n.error)}),!0):!1}catch{return!1}}function Oo(e,t){return`${encodeURIComponent(e)}:${encodeURIComponent(t)}`}async function gd(e,t,n){let r=Ee({inboxUrl:e,type:t,body:n??null});return crypto.subtle.digest("SHA-256",new Uint8Array(r)).then(o=>Array.from(new Uint8Array(o)).map(i=>i.toString(16).padStart(2,"0")).join(""))}async function yd(){await new Promise(e=>{let t=indexedDB.deleteDatabase("graffiti-inbox-cache");t.onsuccess=()=>e(),t.onerror=()=>e(),t.onblocked=()=>e()})}async function iy(){if(await wd()){let{openDB:n}=await import("./build-BXWPS7VK.js"),r=await n("graffiti-inbox-cache",1,{upgrade(o){o.objectStoreNames.contains("m")||o.createObjectStore("m"),o.objectStoreNames.contains("q")||o.createObjectStore("q")}});return{messages:{get:async o=>{try{return r.get("m",o)}catch(i){console.error("Error getting message from cache:",i),console.error("resetting cache..."),await yd();return}},set:async(o,i)=>{await r.put("m",i,o)},del:o=>r.delete("m",o)},messageIds:{get:async o=>{try{return await r.get("q",o)}catch(i){console.error("Error getting message IDs from cache:",i),console.error("resetting cache..."),await yd();return}},set:async(o,i)=>{await r.put("q",i,o)},del:o=>r.delete("q",o)}}}let e=new Map,t=new Map;return{messages:{get:async n=>e.get(n),set:async(n,r)=>{e.set(n,r)},del:async n=>{e.delete(n)}},messageIds:{get:async n=>t.get(n),set:async(n,r)=>{t.set(n,r)},del:async n=>{t.delete(n)}}}}async function vd(e){if(e!==void 0){let t=e-Date.now();t>0&&await new Promise(n=>setTimeout(n,t))}}var fn="base64url";var Ro=class{async encode(t,n){if(t!==fn)throw new Error(`Unsupported string encoding method: ${t}`);return"u"+btoa(String.fromCodePoint(...n)).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=+$/,"")}async decode(t){if(!t.startsWith("u"))throw new Error(`Unsupported string encoding prefix: ${t[0]}`);t=t.slice(1);let n=t.replace(/-/g,"+").replace(/_/g,"/");for(;n.length%4!==0;)n+="=";return Uint8Array.from(atob(n),r=>r.charCodeAt(0))}};function xd(){let t=(typeof globalThis=="object"?globalThis.crypto:null)?.subtle;if(typeof t=="object"&&t!=null)return t;throw new Error("crypto.subtle must be defined")}function $d(e,t,n){let r=async o=>{Tr(o);let i=xd();return new Uint8Array(await i.digest(e,o))};return r.webCryptoName=e,r.outputLen=n,r.blockLen=t,r.create=()=>{throw new Error("not implemented")},r}function ay(e){if(Ic(e),typeof e.webCryptoName!="string")throw new Error("non-web hash")}var At=$d("SHA-256",64,32);var Sd=$d("SHA-512",128,64),Fa=(()=>{let e=async(t,n,r)=>{let o=xd();Tr(n,void 0,"key"),Tr(r,void 0,"message"),ay(t);let i=await o.importKey("raw",n,{name:"HMAC",hash:t.webCryptoName},!1,["sign"]);return new Uint8Array(await o.sign("HMAC",i,r))};return e.create=(t,n)=>{throw new Error("not implemented")},e})();var jo="sha2-256",cr=18,pn=32,No=class{async register(t,n){if(t!==jo)throw new Error(`Unsupported content address method: ${t}`);let r=await At(n),o=new Uint8Array(2+r.length);return o[0]=cr,o[1]=pn,o.set(r,2),o}async getMethod(t){if(t[0]===cr&&t[1]===pn&&t.length===2+pn)return jo;throw new Error("Unrecognized content address format.")}};var zd={p:0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffedn,n:0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3edn,h:8n,a:0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecn,d:0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3n,Gx:0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51an,Gy:0x6666666666666666666666666666666666666666666666666666666666666658n},{p:le,n:Co,Gx:Ed,Gy:kd,a:Ha,d:Ja,h:sy}=zd,Pt=32,ur=64,cy=(...e)=>{"captureStackTrace"in Error&&typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(...e)},se=(e="")=>{let t=new Error(e);throw cy(t,se),t},uy=e=>typeof e=="bigint",ly=e=>typeof e=="string",dy=e=>e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array",Xe=(e,t,n="")=>{let r=dy(e),o=e?.length,i=t!==void 0;if(!r||i&&o!==t){let a=n&&`"${n}" `,s=i?` of length ${t}`:"",u=r?`length=${o}`:`type=${typeof e}`;se(a+"expected Uint8Array"+s+", got "+u)}return e},Ka=e=>new Uint8Array(e),Od=e=>Uint8Array.from(e),Ud=(e,t)=>e.toString(16).padStart(t,"0"),Dd=e=>Array.from(Xe(e)).map(t=>Ud(t,2)).join(""),it={_0:48,_9:57,A:65,F:70,a:97,f:102},Id=e=>{if(e>=it._0&&e<=it._9)return e-it._0;if(e>=it.A&&e<=it.F)return e-(it.A-10);if(e>=it.a&&e<=it.f)return e-(it.a-10)},Rd=e=>{let t="hex invalid";if(!ly(e))return se(t);let n=e.length,r=n/2;if(n%2)return se(t);let o=Ka(r);for(let i=0,a=0;i<r;i++,a+=2){let s=Id(e.charCodeAt(a)),u=Id(e.charCodeAt(a+1));if(s===void 0||u===void 0)return se(t);o[i]=s*16+u}return o},fy=()=>globalThis?.crypto,py=()=>fy()?.subtle??se("crypto.subtle must be defined, consider polyfill"),lr=(...e)=>{let t=Ka(e.reduce((r,o)=>r+Xe(o).length,0)),n=0;return e.forEach(r=>{t.set(r,n),n+=r.length}),t};var Lo=BigInt,Tt=(e,t,n,r="bad number: out of range")=>uy(e)&&t<=e&&e<n?e:se(r),I=(e,t=le)=>{let n=e%t;return n>=0n?n:t+n},jd=e=>I(e,Co),my=(e,t)=>{(e===0n||t<=0n)&&se("no inverse n="+e+" mod="+t);let n=I(e,t),r=t,o=0n,i=1n,a=1n,s=0n;for(;n!==0n;){let u=r/n,c=r%n,l=o-a*u,d=i-s*u;r=n,n=c,o=a,i=s,a=l,s=d}return r===1n?I(o,t):se("no inverse")};var Ga=e=>e instanceof at?e:se("Point expected"),Va=2n**256n,at=class e{static BASE;static ZERO;X;Y;Z;T;constructor(t,n,r,o){let i=Va;this.X=Tt(t,0n,i),this.Y=Tt(n,0n,i),this.Z=Tt(r,1n,i),this.T=Tt(o,0n,i),Object.freeze(this)}static CURVE(){return zd}static fromAffine(t){return new e(t.x,t.y,1n,I(t.x*t.y))}static fromBytes(t,n=!1){let r=Ja,o=Od(Xe(t,Pt)),i=t[31];o[31]=i&-129;let a=Wa(o);Tt(a,0n,n?Va:le);let u=I(a*a),c=I(u-1n),l=I(r*u+1n),{isValid:d,value:p}=gy(c,l);d||se("bad point: y not sqrt");let _=(p&1n)===1n,f=(i&128)!==0;return!n&&p===0n&&f&&se("bad point: x==0, isLastByteOdd"),f!==_&&(p=I(-p)),new e(p,a,1n,I(p*a))}static fromHex(t,n){return e.fromBytes(Rd(t),n)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}assertValidity(){let t=Ha,n=Ja,r=this;if(r.is0())return se("bad point: ZERO");let{X:o,Y:i,Z:a,T:s}=r,u=I(o*o),c=I(i*i),l=I(a*a),d=I(l*l),p=I(u*t),_=I(l*I(p+c)),f=I(d+I(n*I(u*c)));if(_!==f)return se("bad point: equation left != right (1)");let y=I(o*i),v=I(a*s);return y!==v?se("bad point: equation left != right (2)"):this}equals(t){let{X:n,Y:r,Z:o}=this,{X:i,Y:a,Z:s}=Ga(t),u=I(n*s),c=I(i*o),l=I(r*s),d=I(a*o);return u===c&&l===d}is0(){return this.equals(mn)}negate(){return new e(I(-this.X),this.Y,this.Z,I(-this.T))}double(){let{X:t,Y:n,Z:r}=this,o=Ha,i=I(t*t),a=I(n*n),s=I(2n*I(r*r)),u=I(o*i),c=t+n,l=I(I(c*c)-i-a),d=u+a,p=d-s,_=u-a,f=I(l*p),y=I(d*_),v=I(l*_),k=I(p*d);return new e(f,y,k,v)}add(t){let{X:n,Y:r,Z:o,T:i}=this,{X:a,Y:s,Z:u,T:c}=Ga(t),l=Ha,d=Ja,p=I(n*a),_=I(r*s),f=I(i*d*c),y=I(o*u),v=I((n+r)*(a+s)-p-_),k=I(y-f),A=I(y+f),w=I(_-l*p),S=I(v*k),x=I(A*w),U=I(v*w),M=I(k*A);return new e(S,x,M,U)}subtract(t){return this.add(Ga(t).negate())}multiply(t,n=!0){if(!n&&(t===0n||this.is0()))return mn;if(Tt(t,1n,Co),t===1n)return this;if(this.equals(mt))return xy(t).p;let r=mn,o=mt;for(let i=this;t>0n;i=i.double(),t>>=1n)t&1n?r=r.add(i):n&&(o=o.add(i));return r}multiplyUnsafe(t){return this.multiply(t,!1)}toAffine(){let{X:t,Y:n,Z:r}=this;if(this.equals(mn))return{x:0n,y:1n};let o=my(r,le);I(r*o)!==1n&&se("invalid inverse");let i=I(t*o),a=I(n*o);return{x:i,y:a}}toBytes(){let{x:t,y:n}=this.assertValidity().toAffine(),r=Nd(n);return r[31]|=t&1n?128:0,r}toHex(){return Dd(this.toBytes())}clearCofactor(){return this.multiply(Lo(sy),!1)}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){let t=this.multiply(Co/2n,!1).double();return Co%2n&&(t=t.add(this)),t.is0()}},mt=new at(Ed,kd,1n,I(Ed*kd)),mn=new at(0n,1n,1n,0n);at.BASE=mt;at.ZERO=mn;var Nd=e=>Rd(Ud(Tt(e,0n,Va),ur)).reverse(),Wa=e=>Lo("0x"+Dd(Od(Xe(e)).reverse())),We=(e,t)=>{let n=e;for(;t-- >0n;)n*=n,n%=le;return n},hy=e=>{let n=e*e%le*e%le,r=We(n,2n)*n%le,o=We(r,1n)*e%le,i=We(o,5n)*o%le,a=We(i,10n)*i%le,s=We(a,20n)*a%le,u=We(s,40n)*s%le,c=We(u,80n)*u%le,l=We(c,80n)*u%le,d=We(l,10n)*i%le;return{pow_p_5_8:We(d,2n)*e%le,b2:n}},Ad=0x2b8324804fc1df0b2b4d00993dfbd7a72f431806ad2fe478c4ee1b274a0ea0b0n,gy=(e,t)=>{let n=I(t*t*t),r=I(n*n*t),o=hy(e*r).pow_p_5_8,i=I(e*n*o),a=I(t*i*i),s=i,u=I(i*Ad),c=a===e,l=a===I(-e),d=a===I(-e*Ad);return c&&(i=s),(l||d)&&(i=u),(I(i)&1n)===1n&&(i=I(-i)),{isValid:c||l,value:i}},Mo=e=>jd(Wa(e)),Xa=(...e)=>Ya.sha512Async(lr(...e));var yy=e=>{let t=e.slice(0,Pt);t[0]&=248,t[31]&=127,t[31]|=64;let n=e.slice(Pt,ur),r=Mo(t),o=mt.multiply(r),i=o.toBytes();return{head:t,prefix:n,scalar:r,point:o,pointBytes:i}},Cd=e=>Xa(Xe(e,Pt)).then(yy);var Ld=e=>Cd(e).then(t=>t.pointBytes);var Md=e=>Xa(e.hashable).then(e.finish);var vy=(e,t,n)=>{let{pointBytes:r,scalar:o}=e,i=Mo(t),a=mt.multiply(i).toBytes();return{hashable:lr(a,r,n),finish:c=>{let l=jd(i+Mo(c)*o);return Xe(lr(a,Nd(l)),ur)}}},Zd=async(e,t)=>{let n=Xe(e),r=await Cd(t),o=await Xa(r.prefix,n);return Md(vy(r,o,n))};var Bd={zip215:!0},_y=(e,t,n,r=Bd)=>{e=Xe(e,ur),t=Xe(t),n=Xe(n,Pt);let{zip215:o}=r,i,a,s,u,c=Uint8Array.of();try{i=at.fromBytes(n,o),a=at.fromBytes(e.slice(0,Pt),o),s=Wa(e.slice(Pt,ur)),u=mt.multiply(s,!1),c=lr(a.toBytes(),i.toBytes(),t)}catch{}return{hashable:c,finish:d=>{if(u==null||!o&&i.isSmallOrder())return!1;let p=Mo(d);return a.add(i.multiply(p,!1)).add(u.negate()).clearCofactor().is0()}}},Fd=async(e,t,n,r=Bd)=>Md(_y(e,t,n,r));var Ya={sha512Async:async e=>{let t=py(),n=lr(e);return Ka(await t.digest("SHA-512",n.buffer))},sha512:void 0};var Zo=8,by=256,Hd=Math.ceil(by/Zo)+1,qa=2**(Zo-1),wy=()=>{let e=[],t=mt,n=t;for(let r=0;r<Hd;r++){n=t,e.push(n);for(let o=1;o<qa;o++)n=n.add(t),e.push(n);t=n.double()}return e},Td,Pd=(e,t)=>{let n=t.negate();return e?n:t},xy=e=>{let t=Td||(Td=wy()),n=mn,r=mt,o=2**Zo,i=o,a=Lo(o-1),s=Lo(Zo);for(let u=0;u<Hd;u++){let c=Number(e&a);e>>=s,c>qa&&(c-=i,e+=1n);let l=u*qa,d=l,p=l+Math.abs(c)-1,_=u%2!==0,f=c<0;c===0?r=r.add(Pd(_,t[d])):n=n.add(Pd(f,t[p]))}return e!==0n&&se("invalid wnaf"),{p:n,f:r}};Ya.sha512Async=Sd;var zt="pk:sha2-256+ed25519",Qa=0,Bo=class{async register(t,n){if(t!==zt)throw new Error(`Unsupported channel attestation method: ${t}`);let r=await this.channelToPrivateKey(n);return await this.channelPublicIdFromPrivateKey(r)}async getMethod(t){if(t[0]===Qa)return zt;throw new Error("Unrecognized channel attestation method.")}async channelToPrivateKey(t){let n=new TextEncoder().encode(t);return await At(n)}async channelPublicIdFromPrivateKey(t){let n=await Ld(t),r=new Uint8Array(n.length+1);return r[0]=Qa,r.set(n,1),r}async attest(t,n,r){if(t!==zt)throw new Error(`Unsupported channel attestation method: ${t}`);let o=await this.channelToPrivateKey(r),i=await this.channelPublicIdFromPrivateKey(o),a=new TextEncoder().encode(n);return{attestation:await Zd(a,o),channelPublicId:i}}async validate(t,n,r){let o=r[0];if(o!==Qa)throw new Error(`Unrecognized channel attestation method prefix: ${o}`);return await Fd(t,new TextEncoder().encode(n),r.slice(1))}};var es="hmac:sha2-256",Jd=0,Fo=class{async attest(t,n){if(t!==es)throw new Error(`Unsupported allowed attestation method: ${t}`);let r=wt(),o=await Fa(At,r,new TextEncoder().encode(n)),i=new Uint8Array(r.length+3);return i[0]=Jd,i[1]=cr,i[2]=pn,i.set(r,3),{attestation:o,ticket:i}}async validate(t,n,r){let o=r[0],i=r[1],a=r[2];if(o!==Jd||i!==cr||a!==pn)throw new Error("Unrecognized allowed ticket format");let s=await Fa(At,r.slice(3),new TextEncoder().encode(n));return t.length!==s.length?!1:s.every((u,c)=>t[c]===u)}};var ts="did:web:",Ho=class{constructor(t){this.services=t}actorToHandle=async t=>{let r=(await this.services.dids.resolve(t)).alsoKnownAs?.at(0);if(!r)throw new Q(`Handle for actor DID ${t} not found`);if(!r.startsWith(ts))throw new Error(`Handle DID ${r} is not a valid handle`);let o=r.slice(ts.length),i=await this.services.dids.resolve(r);if(!i.alsoKnownAs||!i.alsoKnownAs.includes(t))throw new Error(`Handle ${o} does not match actor ${t}`);return o};handleToActor=async t=>{let n=`${ts}${t}`,o=(await this.services.dids.resolve(n)).alsoKnownAs?.at(0);if(!o)throw new Q(`Actor for handle DID ${n} not found`);let i=await this.services.dids.resolve(o);if(!i.alsoKnownAs||!i.alsoKnownAs.includes(n))throw new Error(`Actor ${o} does not match handle ${t}`);return o}};var qo="GraffitiInbox",Wo="GraffitiStorageBucket",is="#graffitiPersonalInbox",Xo="#graffitiStorageBucket",$y="#graffitiSharedInbox_",Ko=class{constructor(t){this.services=t;let n=new Promise(o=>{this.services.authorization.eventTarget.addEventListener("initialized",i=>{if(!(i instanceof CustomEvent))return;let a=hd.safeParse(i.detail);if(!a.success)return;let s=a.data?.error;s&&console.error(s),o()})});this.services.authorization.eventTarget.addEventListener("login",this.onLogin.bind(this)),this.services.authorization.eventTarget.addEventListener("logout",this.onLogout.bind(this));let r;if(typeof window<"u"){let o=new URLSearchParams(window.location.search).get("actor");if(o)try{let i=decodeURIComponent(o),a=new URL(window.location.toString());a.searchParams.delete("actor"),window.history.replaceState({},"",a.toString()),r=this.login(i)}catch(i){console.error("Error decoding actor:",i)}}(async()=>{await new Promise(i=>setTimeout(i,0)),await r;for(let i of this.loggedInSessions){let a=new CustomEvent("login",{detail:{session:{actor:i.actor}}});this.sessionEvents.dispatchEvent(a)}await n;let o=new CustomEvent("initialized");this.sessionEvents.dispatchEvent(o)})()}sessionEvents=new EventTarget;inProgressLogin=void 0;inProgressLogout=void 0;async login(t){try{await this.login_(t)}catch(n){let r=new CustomEvent("login",{detail:{error:n instanceof Error?n:new Error(String(n)),session:{actor:t}}});this.sessionEvents.dispatchEvent(r)}}async login_(t){if(this.loggedInSessions.find(w=>w.actor===t)){this.sessionEvents.dispatchEvent(new CustomEvent("login",{detail:{session:{actor:t}}}));return}let o=(await this.services.dids.resolve(t)).service;if(!o)throw new Error(`No services found in actor document for ${t}`);let i=o.find(w=>w.id===Xo&&w.type===Wo),a=o.find(w=>w.id===is&&w.type===qo),s=o.filter(w=>w.id.match(new RegExp(`^${$y}\\d+$`))&&w.type===qo);if(!a||!i||s.length===0)throw new Error(`Required services not found in actor document for ${t}`);let u=rs(i),c=rs(a),l=s.map(rs),d=[{endpoint:u,type:"bucket"},{endpoint:c,type:"personal-inbox"},...l.map(w=>({endpoint:w,type:"shared-inbox"}))],p=await Promise.all(d.map(async({endpoint:w,type:S})=>{let x=await(S==="bucket"?this.services.storageBuckets.getAuthorizationEndpoint(w):this.services.inboxes.getAuthorizationEndpoint(w));return{endpoint:w,authorizationEndpoint:x,type:S}})),_=new Map;p.forEach(({authorizationEndpoint:w,endpoint:S,type:x})=>{_.has(w)||_.set(w,[]),_.get(w).push({endpoint:S,type:x})});let f=[..._.entries()],v={...{actor:t},tokens:[],servicesByAuthorization:f};typeof window<"u"?window.localStorage.setItem(Jo,JSON.stringify(v)):this.inProgressLogin=v;let[k,A]=f[0];await this.services.authorization.login(k,t,A.map(w=>w.endpoint))}async onLogin(t){if(!(t instanceof CustomEvent))return;let n=pd.safeParse(t.detail);if(!n.success)return;let r=n.data.loginId;try{await this.onLogin_(n.data)}catch(o){let i=new CustomEvent("login",{detail:{error:o instanceof Error?o:new Error(String(o)),session:{actor:r}}});this.sessionEvents.dispatchEvent(i)}}async onLogin_(t){if(t.error)throw t.error;let n=t.token,r=t.loginId,o;if(typeof window<"u"){let i=window.localStorage.getItem(Jo);if(!i)throw new Error("No in-progress login found");let a=JSON.parse(i);o=os.parse(a)}else{if(!this.inProgressLogin)throw new Error("No in-progress login found");o=this.inProgressLogin}if(o.actor!==r)throw new Error("Actor mismatch in login response - concurrent logins?");if(o.tokens.push(n),o.tokens.length===o.servicesByAuthorization.length){typeof window>"u"?this.inProgressLogin=void 0:window.localStorage.removeItem(Jo);let i=o.servicesByAuthorization.flatMap(([c,l],d)=>l.map(p=>({token:o.tokens[d],serviceEndpoint:p.endpoint,authorizationEndpoint:c,type:p.type}))),a={...o,storageBucket:i.find(c=>c.type==="bucket"),personalInbox:i.find(c=>c.type==="personal-inbox"),sharedInboxes:i.filter(c=>c.type==="shared-inbox")},s=this.loggedInSessions;s.push(a),this.loggedInSessions=s;let u=new CustomEvent("login",{detail:{session:{actor:r}}});this.sessionEvents.dispatchEvent(u)}else{typeof window<"u"?window.localStorage.setItem(Jo,JSON.stringify(o)):this.inProgressLogin=o;let[i,a]=o.servicesByAuthorization[o.tokens.length];await this.services.authorization.login(i,r,a.map(s=>s.endpoint))}}async logout(t){try{await this.logout_(t)}catch(n){let r=new CustomEvent("logout",{detail:{error:n instanceof Error?n:new Error(String(n)),actor:t}});this.sessionEvents.dispatchEvent(r)}}async logout_(t){let n=this.loggedInSessions.find(a=>a.actor===t);if(!n)throw new Error(`No session found for actor ${t}`);this.loggedInSessions=this.loggedInSessions.filter(a=>a.actor!==t);let r=n.tokens.pop();if(!r)throw new Error("No tokens found in session");typeof window<"u"?window.localStorage.setItem(Go,JSON.stringify(n)):this.inProgressLogout=n;let[o,i]=n.servicesByAuthorization[n.tokens.length];await this.services.authorization.logout(o,t,r)}async onLogout(t){if(!(t instanceof CustomEvent))return;let n=md.safeParse(t.detail);if(!n.success)return;let r=n.data.logoutId;try{await this.onLogout_(n.data)}catch(o){let i=new CustomEvent("logout",{detail:{error:o instanceof Error?o:new Error(String(o)),actor:r}});this.sessionEvents.dispatchEvent(i)}}async onLogout_(t){if(t.error)throw t.error;let n=t.logoutId,r;if(typeof window<"u"){let i=window.localStorage.getItem(Go);if(!i)throw new Error("No in-progress logout found");let a=JSON.parse(i);r=os.parse(a)}else{if(!this.inProgressLogout)throw new Error("No in-progress logout found");r=this.inProgressLogout}if(r.actor!==n)throw new Error("Actor mismatch in logout response - concurrent logouts?");let o=r.tokens.pop();if(o){typeof window<"u"?window.localStorage.setItem(Go,JSON.stringify(r)):this.inProgressLogout=r;let[i,a]=r.servicesByAuthorization[r.tokens.length];await this.services.authorization.logout(i,n,o)}else{typeof window>"u"?this.inProgressLogout=void 0:window.localStorage.removeItem(Go);let i=new CustomEvent("logout",{detail:{actor:n}});this.sessionEvents.dispatchEvent(i)}}get loggedInSessions(){if(typeof window>"u")return Gd;let t=window.localStorage.getItem(Vo);if(!t)return[];let n;try{n=JSON.parse(t)}catch{return console.error("Error parsing stored session data"),window.localStorage.removeItem(Vo),[]}let r=V(ky).safeParse(n);return r.success?r.data:(console.error("Stored session data is invalid"),window.localStorage.removeItem(Vo),[])}set loggedInSessions(t){if(typeof window>"u"){Gd=t;return}window.localStorage.setItem(Vo,JSON.stringify(t))}resolveSession(t){let n=this.loggedInSessions.find(r=>r.actor===t.actor);if(!n){let r=new CustomEvent("logout",{detail:{actor:t.actor}});throw this.sessionEvents.dispatchEvent(r),new Error("Not logged in")}return n}},Gd=[],Jo="graffiti-login-in-progress",Go="graffiti-logout-in-progress",Vo="graffiti-sessions-logged-in",Sy=_e({actor:J()}),ns=_e({token:H(),serviceEndpoint:J(),authorizationEndpoint:J()}),Ey=V(fe([J(),V(_e({endpoint:J(),type:xc(["bucket","personal-inbox","shared-inbox"])}))])),os=tt(Sy,{tokens:V(H()),servicesByAuthorization:Ey}),ky=tt(os,{storageBucket:ns,personalInbox:ns,sharedInboxes:V(ns)});function rs(e){if(typeof e.serviceEndpoint=="string")return e.serviceEndpoint;throw new Error(`Service endpoint for ${e.id} is not a string`)}var Yo=32*1024,Qo=class{constructor(t){this.primitives=t}async encode(t,n){t=ds(t);let r=[...new Set(t.channels)],o=await Promise.all(r.map(y=>this.primitives.channelAttestations.attest(zt,n,y))),i=o.map(y=>y.attestation),a=o.map(y=>y.channelPublicId),s={[ss]:t.value,[cs]:i,[Kd]:wt(32)},u;if(Array.isArray(t.allowed)){let y=await Promise.all(t.allowed.map(async v=>this.primitives.allowedAttestations.attest(es,v)));s[us]=y.map(v=>v.attestation),u=y.map(v=>v.ticket)}let c=Ee(s);if(c.byteLength>Yo)throw new Error("The object is too large");let l=await this.primitives.contentAddresses.register(jo,c),d=await this.primitives.stringEncoder.encode(fn,l),p=Ay(n,d),_=[new TextEncoder().encode(p),...a];return{object:{value:t.value,channels:r,url:p,actor:n,...t.allowed?{allowed:t.allowed}:{}},tags:_,objectBytes:c,allowedTickets:u}}async validate(t,n,r,o){if(r.byteLength>Yo)throw new Error("Object is too big");let{actor:i,contentAddress:a}=fs(t.url);if(i!==t.actor)throw new Error("Object actor does not match URL actor");let s=n.at(0);if(!s)throw new Error("No object URL tag");if(new TextDecoder().decode(s)!==t.url)throw new Error("Object URL tag does not match object URL");let u=n.slice(1),c=await this.primitives.stringEncoder.decode(a),l=await this.primitives.contentAddresses.getMethod(c),d=await this.primitives.contentAddresses.register(l,r);if(d.length!==c.length||!d.every((w,S)=>w===c[S]))throw new Error("Content address is invalid");let p=Je(r),_=Iy.parse(p),f=_[ss],y=_[cs],v=_[us],k=Ee(f),A=Ee(t.value);if(k.length!==A.length||!k.every((w,S)=>w===A[S]))throw new Error("Object value does not match storage value");if(y.length!==u.length)throw new Error("Not as many channel attestations and public ids");for(let[w,S]of y.entries()){let x=u[w];if(!await this.primitives.channelAttestations.validate(S,i,x))throw new Error("Invalid channel attestation")}if(t.channels.length){if(t.channels.length!==u.length)throw new Error("Number of claimed channels does not match attestations/public IDs");let w=await this.primitives.channelAttestations.getMethod(u[0]),S=await Promise.all(t.channels.map(x=>this.primitives.channelAttestations.register(w,x)));for(let[x,U]of S.entries()){let M=u[x];if(U.length!==M.length||!U.every((B,ie)=>B===M[ie]))throw new Error("Channel public id does not match expected")}}if(o){if(!v)throw new Error("Object is public but thought to be private");let w,S,x;if("recipient"in o?(w=[o.recipient],S=[o.allowedTicket],x=v.filter((U,M)=>M===o.allowedIndex)):(w=[...t.allowed??[]],S=o.allowedTickets,x=v),w.length!==t.allowed?.length)throw new Error("Recipient count does not match object allowed list");if(!w.every(U=>t.allowed?.includes(U)))throw new Error("Recipient not in object allowed list");for(let[U,M]of w.entries()){let B=S.at(U),ie=x.at(U);if(!B)throw new Error("Missing allowed ticket for recipient");if(!ie)throw new Error("Missing allowed attestation for recipient");if(!await this.primitives.allowedAttestations.validate(ie,M,B))throw new Error("Invalid allowed attestation for recipient")}}else if(v)throw new Error("Object is private but no recipient info provided")}},ss="v",cs="c",us="a",Kd="n",as=bt(e=>e instanceof Uint8Array),Iy=be({[ss]:he({}),[cs]:V(as),[us]:X(V(as)),[Kd]:as}),ls="graffiti:";function Vd(e){let t=e.replace(/:/g,"!").replace(/\//g,"~");return encodeURIComponent(t)}function qd(e){return decodeURIComponent(e).replace(/!/g,":").replace(/~/g,"/")}function Ay(e,t){return`${ls}${Vd(e)}:${Vd(t)}`}function fs(e){if(!e.startsWith(ls))throw new Error("Invalid object URL");let n=e.slice(ls.length).split(":");if(n.length!==2)throw new Error("Invalid object URL format");let[r,o]=n;return{actor:qd(r),contentAddress:qd(o)}}function ds(e){return e===void 0?null:Array.isArray(e)?e.map(ds):typeof e=="object"?Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0).map(([t,n])=>[t,ds(n)])):e}var Wd=class{dialog=document.createElement("dialog");shadow;main_;useTemplateHTML;templates_;onManualClose;displayTemplateSeq=0;constructor(e){this.useTemplateHTML=e.useTemplateHTML,this.onManualClose=e.onManualClose,this.dialog.className="graffiti-modal",this.dialog.addEventListener("click",n=>{if("pointerType"in n&&!n.pointerType)return;let r=this.dialog.getBoundingClientRect();(r.top>n.clientY||r.left>n.clientX||n.clientY>r.top+r.height||n.clientX>r.left+r.width)&&(this.close(),this.onManualClose?.())});let t=document.createElement("div");this.shadow=t.attachShadow({mode:"closed"}),this.shadow.appendChild(this.dialog),document.body.append(t)}get templates(){return this.templates_||(this.main_,this.templates_=new Promise(async e=>e(await this.useTemplateHTML())).then(e=>{let t=new DOMParser().parseFromString(e,"text/html"),n=new Map;return t.querySelectorAll("template").forEach(r=>{let o=r.id;o&&n.set(o,r)}),n})),this.templates_}get main(){return this.main_||(this.templates_,this.main_=Promise.all([import("./style-BOBMBTYJ-ORUSIJTZ.js"),import("./graffiti-KV3G3O72-URO7SJIJ.js"),import("./rock-salt-LI7DAH66-KPFEBIBO.js")]).then(async([{default:e},{default:t},{default:n}])=>{let r=document.createElement("header"),o=document.createElement("button");o.className="secondary",o.textContent="Close",o?.addEventListener("click",()=>{this.close(),this.onManualClose?.()}),r.appendChild(o);let i=document.createElement("main");this.dialog.appendChild(r),this.dialog.appendChild(i);let a=new FontFace("Rock Salt",`url(${n})`,{style:"normal",weight:"400"});document.fonts.add(a),await a.load(),e=e.replace("url(graffiti.jpg)",`url(${t})`);let s=new CSSStyleSheet;return s.replace(e).then(()=>{this.shadow.adoptedStyleSheets=[s]}),i})),this.main_}async open(){await this.main,this.dialog.showModal(),this.dialog.focus()}close(){this.dialog.close()}async displayTemplate(e){let t=++this.displayTemplateSeq,n=()=>{if(t!==this.displayTemplateSeq)throw new Error(`displayTemplate(${e}) overridden by concurrent call`)},r=await this.main;n();let o=(await this.templates).get(e);if(n(),!o)throw new Error(`Template not found: ${e}`);let i=o.content.cloneNode(!0);return r.replaceChildren(i),r}};var Yd=bt(e=>e instanceof Uint8Array),hs="k",hn="t",vs=be({[hs]:H(),[hn]:X(H())}),Ot="id",gs="e",dr="a",Ty=V(be({[Ot]:H(),[gs]:X(J()),[dr]:X(J())})),ei="s",ti="n",Py=tt(vs,{[ei]:X(V(Yd)),[ti]:Ty}),fr="a",ys="i",zy=tt(vs,{[fr]:Yd,[ys]:jt().check(_t())}),Oy=ut([vs,Py,zy]),Uy=0,ps=1,ht=2,ms=3,Dy=16,ni=class{dids=new po;authorization=new To;storageBuckets=new zo;inboxes=new Uo;stringEncoder=new Ro;contentAddresses=new No;channelAttestations=new Bo;allowedAttestations=new Fo;sessions=new Ko({dids:this.dids,authorization:this.authorization,storageBuckets:this.storageBuckets,inboxes:this.inboxes});handles=new Ho({dids:this.dids});objectEncoding=new Qo({stringEncoder:this.stringEncoder,contentAddresses:this.contentAddresses,channelAttestations:this.channelAttestations,allowedAttestations:this.allowedAttestations});modal=typeof window>"u"?void 0:new Wd({useTemplateHTML:()=>import("./login-dialog.html-VTDKJZBG.js").then(({template:t})=>t),onManualClose:()=>{let t=new CustomEvent("login",{detail:{error:new Error("User cancelled login"),manual:!0}});this.sessionEvents.dispatchEvent(t)}});defaultInboxEndpoints;identityCreatorEndpoint;constructor(t){this.defaultInboxEndpoints=t?.defaultInboxEndpoints??["https://graffiti.actor/i/shared"],this.identityCreatorEndpoint=t?.identityCreatorEndpoint??"https://graffiti.actor/create",this.sessionEvents.addEventListener("login",async n=>{if(!(n instanceof CustomEvent))return;let r=n.detail;if(r.error!==void 0&&!("manual"in r&&r.manual)){alert("Login failed: "+r.error.message);let o=r.session?.actor,i;if(o)try{i=await this.actorToHandle(o)}catch(a){console.error("Failed to handle actor:",a)}this.login_(i)}})}actorToHandle=this.handles.actorToHandle.bind(this.handles);handleToActor=this.handles.handleToActor.bind(this.handles);sessionEvents=this.sessions.sessionEvents;login=async t=>{try{let n;try{n=t?await this.actorToHandle(t):void 0}catch(r){console.error("Error fetching handle for actor:",r)}await this.login_(n)}catch(n){let r=new CustomEvent("login",{detail:{error:n instanceof Error?n:new Error(String(n))}});this.sessionEvents.dispatchEvent(r)}};async login_(t){if(typeof window<"u"){let n;if(t!==void 0){n=await this.modal?.displayTemplate("graffiti-login-handle");let o=n?.querySelector("#username");o?.setAttribute("value",t),o?.addEventListener("focus",()=>o?.select()),setTimeout(()=>o?.focus(),0),n?.querySelector("#graffiti-login-handle-form")?.addEventListener("submit",async i=>{i.preventDefault(),o?.setAttribute("disabled","true");let a=n?.querySelector("#graffiti-login-handle-submit");if(a?.setAttribute("disabled","true"),a&&(a.innerHTML="Logging in..."),!o?.value){alert("No handle provided"),this.login_("");return}let s=o.value;if(!s.includes(".")&&!s.startsWith("localhost")){let c=new URL(this.identityCreatorEndpoint).host;s=`${s}.${c}`}let u;try{u=await this.handleToActor(s)}catch{alert("Could not find an identity associated with that handle."),this.login_(s);return}try{await this.sessions.login(u)}catch(c){alert("Error logging in."),console.error(c),this.login_(s)}})}else n=await this.modal?.displayTemplate("graffiti-login-welcome"),n?.querySelector("#graffiti-login-existing")?.addEventListener("click",o=>{o.preventDefault(),this.login_("")}),setTimeout(()=>n?.querySelector("#graffiti-login-new")?.focus(),0);let r=new URL(this.identityCreatorEndpoint);r.searchParams.set("redirect_uri",encodeURIComponent(window.location.toString())),n?.querySelector("#graffiti-login-new")?.setAttribute("href",r.toString()),await this.modal?.open()}else{let n=await import("readline").catch(a=>{throw new Error("Unrecognized environment: neither window nor readline")});console.log("If you do not already have a Graffiti handle, you can create one here:"),console.log(this.identityCreatorEndpoint);let r=n.createInterface({input:process.stdin,output:process.stdout}),o=await new Promise(a=>{r.question(`Please enter your handle${t?` (default: ${t})`:""}: `,s=>{r.close(),a(s||t)})});if(!o)throw new Error("No handle provided");let i=await this.handleToActor(o);await this.sessions.login(i)}}logout=async t=>{await this.sessions.logout(t.actor)};post=async(...t)=>{let[n,r]=t,o=this.sessions.resolveSession(r),{object:i,tags:a,objectBytes:s,allowedTickets:u}=await this.objectEncoding.encode(n,r.actor),c=wt(),l=await this.stringEncoder.encode(fn,c);return await this.storageBuckets.put(o.storageBucket.serviceEndpoint,l,s,o.storageBucket.token),await this.announceObject(i,a,u,l,r),i};get=async(...t)=>{let[n,r,o]=t,i,a=await gr(r);if(o){let c=this.sessions.resolveSession(o);i=[c.personalInbox,...c.sharedInboxes]}else i=this.defaultInboxEndpoints.map(c=>({serviceEndpoint:c}));let s=ii(n),u=[new TextEncoder().encode(s)];for(let c of i){let l,d=this.querySingleEndpoint(c.serviceEndpoint,{tags:u,objectSchema:{}},c.token,o?.actor);for await(let p of d)p.object.url===s&&(p.tombstone?l=void 0:l=p.object);if(l){if(!a(l))throw new mr("Object exists but does not match the supplied schema");return l}}throw new Q("Object not found")};delete=async(t,n)=>{let r=this.sessions.resolveSession(n),o=ii(t),{actor:i}=fs(o);if(i!==n.actor)throw new st("Cannot delete someone else's actor");let a=this.querySingleEndpoint(r.personalInbox.serviceEndpoint,{tags:[new TextEncoder().encode(o)],objectSchema:{}},r.personalInbox.token),s;for await(let f of a)f.object.url===o&&(f.tombstone?s=void 0:s=f);if(!s)throw new Q(`Object ${o} not found`);let{object:u,storageBucketKey:c,tags:l,allowedTickets:d,announcements:p,messageId:_}=s;return await this.storageBuckets.delete(r.storageBucket.serviceEndpoint,c,r.storageBucket.token),await this.announceObject(u,l,d,c,n,[...p??[],{[dr]:n.actor,[Ot]:_}]),u};postMedia=async(...t)=>{let[n,r]=t,o=n.data.type,i=this.sessions.resolveSession(r),a=wt(),s=await this.stringEncoder.encode(fn,a);await this.storageBuckets.put(i.storageBucket.serviceEndpoint,s,new Uint8Array(await n.data.arrayBuffer()),i.storageBucket.token);let{url:u}=await this.post({value:{key:s,type:o,size:n.data.size},channels:[],allowed:n.allowed},r);return u};getMedia=async(...t)=>{let[n,r,o]=t,i=await this.get(n,Ry,o),{key:a,type:s,size:u}=i.value;if(r?.maxBytes&&u>r.maxBytes)throw new Rt("File size exceeds limit");if(r?.types&&!bs(s,r.types))throw new hr(`Unacceptable media type, ${s}`);let l=(await this.dids.resolve(i.actor))?.service?.find(f=>f.id===Xo&&f.type===Wo);if(!l)throw new Q(`Actor ${i.actor} has no storage bucket service`);if(typeof l.serviceEndpoint!="string")throw new Q(`Actor ${i.actor} does not have a valid storage bucket endpoint`);let d=l.serviceEndpoint,p=await this.storageBuckets.get(d,a,u);return{data:new Blob([p.slice()],{type:s}),actor:i.actor,allowed:i.allowed}};deleteMedia=async(...t)=>{let[n,r]=t,o=this.sessions.resolveSession(r),i=await this.delete(n,r);if(!("key"in i.value&&typeof i.value.key=="string"))throw new Error("Deleted object was not media: "+JSON.stringify(i,null,2));await this.storageBuckets.delete(o.storageBucket.serviceEndpoint,i.value.key,o.storageBucket.token)};async*discoverMeta(t,n,r,o){let i=new Map,a;if(o){let d=this.sessions.resolveSession(o);a=[d.personalInbox,...d.sharedInboxes]}else a=this.defaultInboxEndpoints.map(d=>({serviceEndpoint:d}));for(let d in r)if(!a.some(p=>p.serviceEndpoint===d))throw new st("Cursor does not match actor's inboxes");let s=await Promise.all(t.map(d=>this.channelAttestations.register(zt,d))),u=a.map(d=>{let p=r[d.serviceEndpoint];return this.querySingleEndpoint(d.serviceEndpoint,p?{cursor:p}:{tags:s,objectSchema:n},d.token,o?.actor)}),c=u.map(async(d,p)=>Xd(d,p)),l=c.length;try{for(;l>0;){let d=await Promise.race(c);if(d.error!==void 0)c[d.index]=new Promise(()=>{}),l--,yield{error:d.error,origin:a[d.index].serviceEndpoint};else if(d.result.done){let p=a[d.index];r[p.serviceEndpoint]=d.result.value,c[d.index]=new Promise(()=>{}),l--}else{c[d.index]=Xd(u[d.index],d.index);let{object:p,tombstone:_,tags:f}=d.result.value;if(_){if(i.get(p.url)===!0)continue;i.set(p.url,!0),yield{tombstone:_,object:{url:p.url}}}else{if(i.get(p.url)===!1)continue;let v=s.reduce((k,A,w)=>{for(let S of f)if(A.length===S.length&&A.every((x,U)=>S[U]===x)){k.push(w);break}return k},[]).map(k=>t[k]);v.length===0&&(yield{error:new Error("Inbox returned object without matching channels"),origin:a[d.index].serviceEndpoint}),i.set(p.url,!1),yield{object:{...p,channels:v}}}}}}finally{await Promise.all(u.map(async d=>{await d.return("")}))}return{cursor:JSON.stringify({channels:t,cursors:r})}}discover=(...t)=>{let[n,r,o]=t;return this.discoverMeta(n,r,{},o)};continueDiscover=(...t)=>{let[n,r]=t,o,i;try{let a=JSON.parse(n),s=jy.parse(a);o=s.channels,i=s.cursors}catch{return(async function*(){throw new Re("Invalid cursor")})()}return this.discoverMeta(o,{},i,r)};async announceObject(t,n,r,o,i,a){let s=this.sessions.resolveSession(i),u={[hs]:o},c=[],l=t.allowed;if(Array.isArray(l)){if(!r||r.length!==l.length)throw new Error("If allowed actors are specified, there must be a corresponding ticket for each allowed actor");let _=await Promise.allSettled(l.map(async(f,y)=>{let v=JSON.parse(JSON.stringify(t)),k=ai(v,[],f),w=(await this.dids.resolve(f)).service?.find(M=>M.type===qo&&M.id===is);if(!w)throw new Error(`Recipient ${f} does not have a personal inbox`);if(typeof w.serviceEndpoint!="string")throw new Error(`Recipient ${f} does not have a valid personal inbox endpoint`);let S=a?a.find(M=>M[dr]===f)?.[Ot]:void 0,x={...u,...S?{[hn]:S}:{},[fr]:r[y],[ys]:y},U=await this.inboxes.send(w.serviceEndpoint,{[ar]:n,[ot]:k,[sr]:Ee(x)});c.push({[Ot]:U,[dr]:f})}));for(let[f,y]of _.entries())if(y.status==="rejected"){let v=l[f];console.error("Error sending to recipient:",v),console.error(y.reason)}}else{let _=JSON.parse(JSON.stringify(t)),f=ai(_,[]),y=s.sharedInboxes,v=await Promise.allSettled(y.map(async k=>{let A=a?a.find(x=>x[gs]===k.serviceEndpoint)?.[Ot]:void 0,w={...u,...A?{[hn]:A}:{}},S=await this.inboxes.send(k.serviceEndpoint,{...A?{[hn]:A}:{},[ar]:n,[ot]:f,[sr]:Ee(w)});c.push({[Ot]:S,[gs]:k.serviceEndpoint})}));for(let[k,A]of v.entries())if(A.status==="rejected"){let w=y[k];console.error("Error sending to inbox:",w),console.error(A.reason)}}let d=a?a.find(_=>_[dr]===i.actor)?.[Ot]:void 0,p={...u,...r?{[ei]:r}:{},...d?{[hn]:d}:{},[ti]:c};await this.inboxes.send(s.personalInbox.serviceEndpoint,{[ar]:n,[ot]:t,[sr]:Ee(p)})}async*querySingleEndpoint(t,n,r,o){let i="tags"in n?this.inboxes.query(t,n.tags,n.objectSchema,r):this.inboxes.continueQuery(t,n.cursor,r),a=[],s=null;try{for(;;){for(;s===null&&a.length<Dy;){let l=await i.next();if(l.done){s=l.value;break}let d=this.processOneLabeledMessage(t,l.value,r,o).catch(p=>{throw p});a.push(d)}let u=a.shift();if(!u){if(s!==null)return s;throw new Error("Process queue empty but no return value")}let c=await u;c&&(yield c)}}finally{await i.return("")}}async processOneLabeledMessage(t,n,r,o){let i=n.l;if(i!==ps&&i!==Uy&&i!==ht)return;let a=n.id,{o:s,m:u,t:c}=n.m,l;try{let v=Je(u);l=Oy.parse(v)}catch{this.inboxes.label(t,a,ms,r);return}let{[hs]:d,[hn]:p}=l,_=ei in l?l[ei]:void 0,f=ti in l?l[ti]:void 0;if(i===ps)return{messageId:a,object:s,storageBucketKey:d,allowedTickets:_,tags:c,announcements:f};if(i===ht){if(!p)return;let v=await this.inboxes.get(t,p,r);return!v||v[It][ot].url!==s.url?void 0:(v[Do]!==ht&&this.inboxes.label(t,p,ht,r),{messageId:a,tombstone:!0,object:s,storageBucketKey:d,allowedTickets:_,tags:c,announcements:f})}let y;try{let v=s.actor,A=(await this.dids.resolve(v))?.service?.find(U=>U.id===Xo&&U.type===Wo);if(!A)throw new Q(`Actor ${v} has no storage bucket service`);if(typeof A.serviceEndpoint!="string")throw new Q(`Actor ${v} does not have a valid storage bucket endpoint`);let w=A.serviceEndpoint,S=await this.storageBuckets.get(w,d,Yo);if(fr in l&&!o)throw new st("Recipient is required when allowed ticket is present");let x=_?{allowedTickets:_}:fr in l?{recipient:o??"null",allowedTicket:l[fr],allowedIndex:l[ys]}:void 0;await this.objectEncoding.validate(s,c,S,x)}catch(v){y=v}if(p){if(y instanceof Q)return this.inboxes.get(t,p,r).then(v=>{v&&v[It][ot].url===s.url&&v[Do]!==ht&&this.inboxes.label(t,p,ht,r),this.inboxes.label(t,a,ht,r)}),{messageId:a,tombstone:!0,object:s,storageBucketKey:d,allowedTickets:_,tags:c,announcements:f};console.error("Recieved an incorrect tombstone object"),console.error(y),this.inboxes.label(t,a,ms,r)}else{if(y===void 0)return this.inboxes.label(t,a,ps,r),{messageId:a,object:s,storageBucketKey:d,tags:c,allowedTickets:_,announcements:f};y instanceof Q?this.inboxes.label(t,a,ht,r):(console.error("Recieved an incorrect object"),console.error(y),this.inboxes.label(t,a,ms,r))}}},Ry={properties:{value:{properties:{type:{type:"string"},size:{type:"number"},key:{type:"string"}},required:["type","size","key"]}}},jy=be({cursors:wc(J(),H()),channels:V(H())});async function Xd(e,t){try{return{index:t,result:await e.next()}}catch(n){if(n instanceof Re||n instanceof Dt)throw n;return{index:t,error:n instanceof Error?n:new Error(String(n))}}}var Qd=class extends Ar{constructor(t){let n=new ni(t);super(n)}};export{Qd as GraffitiDecentralized};
|
|
1
|
+
import{a as rf,b as of,c as af}from"./chunk-RFBBAUMM.js";var Dl=rf((ft,Rl)=>{var fo=typeof globalThis<"u"&&globalThis||typeof self<"u"&&self||typeof global<"u"&&global,po=(function(){function t(){this.fetch=!1,this.DOMException=fo.DOMException}return t.prototype=fo,new t})();(function(t){var e=(function(n){var r=typeof t<"u"&&t||typeof self<"u"&&self||typeof global<"u"&&global||{},o={searchParams:"URLSearchParams"in r,iterable:"Symbol"in r&&"iterator"in Symbol,blob:"FileReader"in r&&"Blob"in r&&(function(){try{return new Blob,!0}catch{return!1}})(),formData:"FormData"in r,arrayBuffer:"ArrayBuffer"in r};function i(h){return h&&DataView.prototype.isPrototypeOf(h)}if(o.arrayBuffer)var a=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],s=ArrayBuffer.isView||function(h){return h&&a.indexOf(Object.prototype.toString.call(h))>-1};function c(h){if(typeof h!="string"&&(h=String(h)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(h)||h==="")throw new TypeError('Invalid character in header field name: "'+h+'"');return h.toLowerCase()}function u(h){return typeof h!="string"&&(h=String(h)),h}function l(h){var w={next:function(){var O=h.shift();return{done:O===void 0,value:O}}};return o.iterable&&(w[Symbol.iterator]=function(){return w}),w}function d(h){this.map={},h instanceof d?h.forEach(function(w,O){this.append(O,w)},this):Array.isArray(h)?h.forEach(function(w){if(w.length!=2)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+w.length);this.append(w[0],w[1])},this):h&&Object.getOwnPropertyNames(h).forEach(function(w){this.append(w,h[w])},this)}d.prototype.append=function(h,w){h=c(h),w=u(w);var O=this.map[h];this.map[h]=O?O+", "+w:w},d.prototype.delete=function(h){delete this.map[c(h)]},d.prototype.get=function(h){return h=c(h),this.has(h)?this.map[h]:null},d.prototype.has=function(h){return this.map.hasOwnProperty(c(h))},d.prototype.set=function(h,w){this.map[c(h)]=u(w)},d.prototype.forEach=function(h,w){for(var O in this.map)this.map.hasOwnProperty(O)&&h.call(w,this.map[O],O,this)},d.prototype.keys=function(){var h=[];return this.forEach(function(w,O){h.push(O)}),l(h)},d.prototype.values=function(){var h=[];return this.forEach(function(w){h.push(w)}),l(h)},d.prototype.entries=function(){var h=[];return this.forEach(function(w,O){h.push([O,w])}),l(h)},o.iterable&&(d.prototype[Symbol.iterator]=d.prototype.entries);function p(h){if(!h._noBody){if(h.bodyUsed)return Promise.reject(new TypeError("Already read"));h.bodyUsed=!0}}function b(h){return new Promise(function(w,O){h.onload=function(){w(h.result)},h.onerror=function(){O(h.error)}})}function f(h){var w=new FileReader,O=b(w);return w.readAsArrayBuffer(h),O}function g(h){var w=new FileReader,O=b(w),Z=/charset=([A-Za-z0-9_-]+)/.exec(h.type),q=Z?Z[1]:"utf-8";return w.readAsText(h,q),O}function v(h){for(var w=new Uint8Array(h),O=new Array(w.length),Z=0;Z<w.length;Z++)O[Z]=String.fromCharCode(w[Z]);return O.join("")}function k(h){if(h.slice)return h.slice(0);var w=new Uint8Array(h.byteLength);return w.set(new Uint8Array(h)),w.buffer}function A(){return this.bodyUsed=!1,this._initBody=function(h){this.bodyUsed=this.bodyUsed,this._bodyInit=h,h?typeof h=="string"?this._bodyText=h:o.blob&&Blob.prototype.isPrototypeOf(h)?this._bodyBlob=h:o.formData&&FormData.prototype.isPrototypeOf(h)?this._bodyFormData=h:o.searchParams&&URLSearchParams.prototype.isPrototypeOf(h)?this._bodyText=h.toString():o.arrayBuffer&&o.blob&&i(h)?(this._bodyArrayBuffer=k(h.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):o.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(h)||s(h))?this._bodyArrayBuffer=k(h):this._bodyText=h=Object.prototype.toString.call(h):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||(typeof h=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):o.searchParams&&URLSearchParams.prototype.isPrototypeOf(h)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o.blob&&(this.blob=function(){var h=p(this);if(h)return h;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(){if(this._bodyArrayBuffer){var h=p(this);return h||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}else{if(o.blob)return this.blob().then(f);throw new Error("could not read as ArrayBuffer")}},this.text=function(){var h=p(this);if(h)return h;if(this._bodyBlob)return g(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(v(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},o.formData&&(this.formData=function(){return this.text().then(U)}),this.json=function(){return this.text().then(JSON.parse)},this}var _=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function S(h){var w=h.toUpperCase();return _.indexOf(w)>-1?w:h}function x(h,w){if(!(this instanceof x))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');w=w||{};var O=w.body;if(h instanceof x){if(h.bodyUsed)throw new TypeError("Already read");this.url=h.url,this.credentials=h.credentials,w.headers||(this.headers=new d(h.headers)),this.method=h.method,this.mode=h.mode,this.signal=h.signal,!O&&h._bodyInit!=null&&(O=h._bodyInit,h.bodyUsed=!0)}else this.url=String(h);if(this.credentials=w.credentials||this.credentials||"same-origin",(w.headers||!this.headers)&&(this.headers=new d(w.headers)),this.method=S(w.method||this.method||"GET"),this.mode=w.mode||this.mode||null,this.signal=w.signal||this.signal||(function(){if("AbortController"in r){var z=new AbortController;return z.signal}})(),this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&O)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(O),(this.method==="GET"||this.method==="HEAD")&&(w.cache==="no-store"||w.cache==="no-cache")){var Z=/([?&])_=[^&]*/;if(Z.test(this.url))this.url=this.url.replace(Z,"$1_="+new Date().getTime());else{var q=/\?/;this.url+=(q.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}x.prototype.clone=function(){return new x(this,{body:this._bodyInit})};function U(h){var w=new FormData;return h.trim().split("&").forEach(function(O){if(O){var Z=O.split("="),q=Z.shift().replace(/\+/g," "),z=Z.join("=").replace(/\+/g," ");w.append(decodeURIComponent(q),decodeURIComponent(z))}}),w}function M(h){var w=new d,O=h.replace(/\r?\n[\t ]+/g," ");return O.split("\r").map(function(Z){return Z.indexOf(`
|
|
2
|
+
`)===0?Z.substr(1,Z.length):Z}).forEach(function(Z){var q=Z.split(":"),z=q.shift().trim();if(z){var gt=q.join(":").trim();try{w.append(z,gt)}catch(Te){console.warn("Response "+Te.message)}}}),w}A.call(x.prototype);function B(h,w){if(!(this instanceof B))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(w||(w={}),this.type="default",this.status=w.status===void 0?200:w.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=w.statusText===void 0?"":""+w.statusText,this.headers=new d(w.headers),this.url=w.url||"",this._initBody(h)}A.call(B.prototype),B.prototype.clone=function(){return new B(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new d(this.headers),url:this.url})},B.error=function(){var h=new B(null,{status:200,statusText:""});return h.ok=!1,h.status=0,h.type="error",h};var ie=[301,302,303,307,308];B.redirect=function(h,w){if(ie.indexOf(w)===-1)throw new RangeError("Invalid status code");return new B(null,{status:w,headers:{location:h}})},n.DOMException=r.DOMException;try{new n.DOMException}catch{n.DOMException=function(w,O){this.message=w,this.name=O;var Z=Error(w);this.stack=Z.stack},n.DOMException.prototype=Object.create(Error.prototype),n.DOMException.prototype.constructor=n.DOMException}function Ae(h,w){return new Promise(function(O,Z){var q=new x(h,w);if(q.signal&&q.signal.aborted)return Z(new n.DOMException("Aborted","AbortError"));var z=new XMLHttpRequest;function gt(){z.abort()}z.onload=function(){var ne={statusText:z.statusText,headers:M(z.getAllResponseHeaders()||"")};q.url.indexOf("file://")===0&&(z.status<200||z.status>599)?ne.status=200:ne.status=z.status,ne.url="responseURL"in z?z.responseURL:ne.headers.get("X-Request-URL");var ce="response"in z?z.response:z.responseText;setTimeout(function(){O(new B(ce,ne))},0)},z.onerror=function(){setTimeout(function(){Z(new TypeError("Network request failed"))},0)},z.ontimeout=function(){setTimeout(function(){Z(new TypeError("Network request timed out"))},0)},z.onabort=function(){setTimeout(function(){Z(new n.DOMException("Aborted","AbortError"))},0)};function Te(ne){try{return ne===""&&r.location.href?r.location.href:ne}catch{return ne}}if(z.open(q.method,Te(q.url),!0),q.credentials==="include"?z.withCredentials=!0:q.credentials==="omit"&&(z.withCredentials=!1),"responseType"in z&&(o.blob?z.responseType="blob":o.arrayBuffer&&(z.responseType="arraybuffer")),w&&typeof w.headers=="object"&&!(w.headers instanceof d||r.Headers&&w.headers instanceof r.Headers)){var yn=[];Object.getOwnPropertyNames(w.headers).forEach(function(ne){yn.push(c(ne)),z.setRequestHeader(ne,u(w.headers[ne]))}),q.headers.forEach(function(ne,ce){yn.indexOf(ce)===-1&&z.setRequestHeader(ce,ne)})}else q.headers.forEach(function(ne,ce){z.setRequestHeader(ce,ne)});q.signal&&(q.signal.addEventListener("abort",gt),z.onreadystatechange=function(){z.readyState===4&&q.signal.removeEventListener("abort",gt)}),z.send(typeof q._bodyInit>"u"?null:q._bodyInit)})}return Ae.polyfill=!0,r.fetch||(r.fetch=Ae,r.Headers=d,r.Request=x,r.Response=B),n.Headers=d,n.Request=x,n.Response=B,n.fetch=Ae,n})({})})(po);po.fetch.ponyfill=!0;delete po.fetch.polyfill;var on=fo.fetch?fo:po;ft=on.fetch;ft.default=on.fetch;ft.fetch=on.fetch;ft.Headers=on.Headers;ft.Request=on.Request;ft.Response=on.Response;Rl.exports=ft});var sf={type:"object",properties:{value:{type:"object"},channels:{type:"array",items:{type:"string"}},allowed:{type:"array",items:{type:"string"},nullable:!0},url:{type:"string"},actor:{type:"string"}},additionalProperties:!1,required:["value","channels","actor","url"]},Hy={...sf,required:["value","channels"]};var st=class t extends Error{constructor(e){super(e),this.name="GraffitiErrorForbidden",Object.setPrototypeOf(this,t.prototype)}},Q=class t extends Error{constructor(e){super(e),this.name="GraffitiErrorNotFound",Object.setPrototypeOf(this,t.prototype)}},Dt=class t extends Error{constructor(e){super(e),this.name="GraffitiErrorInvalidSchema",Object.setPrototypeOf(this,t.prototype)}},hr=class t extends Error{constructor(e){super(e),this.name="GraffitiErrorSchemaMismatch",Object.setPrototypeOf(this,t.prototype)}},jt=class t extends Error{constructor(e){super(e),this.name="GraffitiErrorTooLarge",Object.setPrototypeOf(this,t.prototype)}},gr=class t extends Error{constructor(e){super(e),this.name="GraffitiErrorNotAcceptable",Object.setPrototypeOf(this,t.prototype)}},De=class t extends Error{constructor(e){super(e),this.name="GraffitiErrorCursorExpired",Object.setPrototypeOf(this,t.prototype)}};function ai(t){return typeof t=="string"?t:t.url}function si(t,e,n){if(n===t.actor)return t;let r=t.allowed&&n?[n]:void 0,o=t.channels.filter(i=>e.includes(i));return{...t,...r?{allowed:r}:{},channels:o}}function _s(t,e){let[n,r]=t.toLowerCase().split(";")[0].split("/");return!n||!r?!1:e.some(o=>{let[i,a]=o.toLowerCase().split(";")[0].split("/");return!i||!a?!1:(i===n||i==="*")&&(a===r||a==="*")})}var ii;async function yr(t){if(!ii){let{default:e}=await import("./ajv-U35FOJ27.js");ii=new e({strict:!1})}try{return ii.compile(t)}catch(e){throw new Dt(e instanceof Error?e.message:String(e))}}var cf=Object.freeze({status:"aborted"});function P(t,e,n){function r(s,c){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:c,constr:a,traits:new Set},enumerable:!1}),s._zod.traits.has(t))return;s._zod.traits.add(t),e(s,c);let u=a.prototype,l=Object.keys(u);for(let d=0;d<l.length;d++){let p=l[d];p in s||(s[p]=u[p].bind(s))}}let o=n?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:t});function a(s){var c;let u=n?.Parent?new i:this;r(u,s),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(a,"init",{value:r}),Object.defineProperty(a,Symbol.hasInstance,{value:s=>n?.Parent&&s instanceof n.Parent?!0:s?._zod?.traits?.has(t)}),Object.defineProperty(a,"name",{value:t}),a}var Ye=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};var ci={};function Qe(t){return t&&Object.assign(ci,t),ci}function li(t){let e=Object.values(t).filter(r=>typeof r=="number");return Object.entries(t).filter(([r,o])=>e.indexOf(+r)===-1).map(([r,o])=>o)}function $s(t,e){return typeof e=="bigint"?e.toString():e}function di(t){return{get value(){{let n=t();return Object.defineProperty(this,"value",{value:n}),n}throw new Error("cached value already set")}}}function wr(t){let e=t.startsWith("^")?1:0,n=t.endsWith("$")?t.length-1:t.length;return t.slice(e,n)}var xs=Symbol("evaluating");function de(t,e,n){let r;Object.defineProperty(t,e,{get(){if(r!==xs)return r===void 0&&(r=xs,r=n()),r},set(o){Object.defineProperty(t,e,{value:o})},configurable:!0})}function uf(t,e,n){Object.defineProperty(t,e,{value:n,writable:!0,enumerable:!0,configurable:!0})}function lf(...t){let e={};for(let n of t){let r=Object.getOwnPropertyDescriptors(n);Object.assign(e,r)}return Object.defineProperties({},e)}var fi="captureStackTrace"in Error?Error.captureStackTrace:(...t)=>{};function br(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var df=di(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function vn(t){if(br(t)===!1)return!1;let e=t.constructor;if(e===void 0||typeof e!="function")return!0;let n=e.prototype;return!(br(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}var Ss=new Set(["string","number","symbol"]);function _r(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function bn(t,e,n){let r=new t._zod.constr(e??t._zod.def);return(!e||n?.parent)&&(r._zod.parent=t),r}function re(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function Es(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var ks={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Is(t,e){if(!vn(e))throw new Error("Invalid input to extend: expected a plain object");let n=t._zod.def.checks;if(n&&n.length>0){let i=t._zod.def.shape;for(let a in e)if(Object.getOwnPropertyDescriptor(i,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let o=lf(t._zod.def,{get shape(){let i={...t._zod.def.shape,...e};return uf(this,"shape",i),i}});return bn(t,o)}function yt(t,e=0){if(t.aborted===!0)return!0;for(let n=e;n<t.issues.length;n++)if(t.issues[n]?.continue!==!0)return!0;return!1}function et(t,e){return e.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(t),n})}function vr(t){return typeof t=="string"?t:t?.message}function ct(t,e,n){let r={...t,path:t.path??[]};if(!t.message){let o=vr(t.inst?._zod.def?.error?.(t))??vr(e?.error?.(t))??vr(n.customError?.(t))??vr(n.localeError?.(t))??"Invalid input";r.message=o}return delete r.inst,delete r.continue,e?.reportInput||delete r.input,r}function pi(...t){let[e,n,r]=t;return typeof e=="string"?{message:e,code:"custom",input:n,inst:r}:{...e}}var As=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),t.message=JSON.stringify(e,$s,2),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Ts=P("$ZodError",As),wn=P("$ZodError",As,{Parent:Error});var pf=t=>(e,n,r,o)=>{let i=r?Object.assign(r,{async:!1}):{async:!1},a=e._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new Ye;if(a.issues.length){let s=new(o?.Err??t)(a.issues.map(c=>ct(c,i,Qe())));throw fi(s,o?.callee),s}return a.value},xr=pf(wn),mf=t=>async(e,n,r,o)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},a=e._zod.run({value:n,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){let s=new(o?.Err??t)(a.issues.map(c=>ct(c,i,Qe())));throw fi(s,o?.callee),s}return a.value},$r=mf(wn),hf=t=>(e,n,r)=>{let o=r?{...r,async:!1}:{async:!1},i=e._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new Ye;return i.issues.length?{success:!1,error:new(t??Ts)(i.issues.map(a=>ct(a,o,Qe())))}:{success:!0,data:i.value}},_n=hf(wn),gf=t=>async(e,n,r)=>{let o=r?Object.assign(r,{async:!0}):{async:!0},i=e._zod.run({value:n,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new t(i.issues.map(a=>ct(a,o,Qe())))}:{success:!0,data:i.value}},xn=gf(wn);var yf="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",vf=new RegExp(`^${yf}$`);var Ps=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)};var zs=/^-?\d+$/,mi=/^-?\d+(?:\.\d+)?$/,Os=/^(?:true|false)$/i;var Us=/^undefined$/i;var vt=P("$ZodCheck",(t,e)=>{var n;t._zod??(t._zod={}),t._zod.def=e,(n=t._zod).onattach??(n.onattach=[])}),bf={number:"number",bigint:"bigint",object:"date"};var Rs=P("$ZodCheckGreaterThan",(t,e)=>{vt.init(t,e);let n=bf[typeof e.value];t._zod.onattach.push(r=>{let o=r._zod.bag,i=(e.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>i&&(e.inclusive?o.minimum=e.value:o.exclusiveMinimum=e.value)}),t._zod.check=r=>{(e.inclusive?r.value>=e.value:r.value>e.value)||r.issues.push({origin:n,code:"too_small",minimum:typeof e.value=="object"?e.value.getTime():e.value,input:r.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}});var Ds=P("$ZodCheckNumberFormat",(t,e)=>{vt.init(t,e),e.format=e.format||"float64";let n=e.format?.includes("int"),r=n?"int":"number",[o,i]=ks[e.format];t._zod.onattach.push(a=>{let s=a._zod.bag;s.format=e.format,s.minimum=o,s.maximum=i,n&&(s.pattern=zs)}),t._zod.check=a=>{let s=a.value;if(n){if(!Number.isInteger(s)){a.issues.push({expected:r,format:e.format,code:"invalid_type",continue:!1,input:s,inst:t});return}if(!Number.isSafeInteger(s)){s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:r,inclusive:!0,continue:!e.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:r,inclusive:!0,continue:!e.abort});return}}s<o&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:o,inclusive:!0,inst:t,continue:!e.abort}),s>i&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inclusive:!0,inst:t,continue:!e.abort})}});var js=P("$ZodCheckStringFormat",(t,e)=>{var n,r;vt.init(t,e),t._zod.onattach.push(o=>{let i=o._zod.bag;i.format=e.format,e.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(e.pattern))}),e.pattern?(n=t._zod).check??(n.check=o=>{e.pattern.lastIndex=0,!e.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:e.format,input:o.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(r=t._zod).check??(r.check=()=>{})});var Cs={major:4,minor:3,patch:6};var ee=P("$ZodType",(t,e)=>{var n;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Cs;let r=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&r.unshift(t);for(let o of r)for(let i of o._zod.onattach)i(t);if(r.length===0)(n=t._zod).deferred??(n.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let o=(a,s,c)=>{let u=yt(a),l;for(let d of s){if(d._zod.def.when){if(!d._zod.def.when(a))continue}else if(u)continue;let p=a.issues.length,b=d._zod.check(a);if(b instanceof Promise&&c?.async===!1)throw new Ye;if(l||b instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await b,a.issues.length!==p&&(u||(u=yt(a,p)))});else{if(a.issues.length===p)continue;u||(u=yt(a,p))}}return l?l.then(()=>a):a},i=(a,s,c)=>{if(yt(a))return a.aborted=!0,a;let u=o(s,r,c);if(u instanceof Promise){if(c.async===!1)throw new Ye;return u.then(l=>t._zod.parse(l,c))}return t._zod.parse(u,c)};t._zod.run=(a,s)=>{if(s.skipChecks)return t._zod.parse(a,s);if(s.direction==="backward"){let u=t._zod.parse({value:a.value,issues:[]},{...s,skipChecks:!0});return u instanceof Promise?u.then(l=>i(l,a,s)):i(u,a,s)}let c=t._zod.parse(a,s);if(c instanceof Promise){if(s.async===!1)throw new Ye;return c.then(u=>o(u,r,s))}return o(c,r,s)}}de(t,"~standard",()=>({validate:o=>{try{let i=_n(t,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return xn(t,o).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),kr=P("$ZodString",(t,e)=>{ee.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??Ps(t._zod.bag),t._zod.parse=(n,r)=>{if(e.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:t}),n}}),gi=P("$ZodStringFormat",(t,e)=>{js.init(t,e),kr.init(t,e)});var Hs=P("$ZodURL",(t,e)=>{gi.init(t,e),t._zod.check=n=>{try{let r=n.value.trim(),o=new URL(r);e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(o.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:e.hostname.source,input:n.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:n.value,inst:t,continue:!e.abort})),e.normalize?n.value=o.href:n.value=r;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:t,continue:!e.abort})}}});var yi=P("$ZodNumber",(t,e)=>{ee.init(t,e),t._zod.pattern=t._zod.bag.pattern??mi,t._zod.parse=(n,r)=>{if(e.coerce)try{n.value=Number(n.value)}catch{}let o=n.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;let i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:t,...i?{received:i}:{}}),n}}),Js=P("$ZodNumberFormat",(t,e)=>{Ds.init(t,e),yi.init(t,e)}),vi=P("$ZodBoolean",(t,e)=>{ee.init(t,e),t._zod.pattern=Os,t._zod.parse=(n,r)=>{if(e.coerce)try{n.value=!!n.value}catch{}let o=n.value;return typeof o=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:t}),n}});var Gs=P("$ZodUndefined",(t,e)=>{ee.init(t,e),t._zod.pattern=Us,t._zod.values=new Set([void 0]),t._zod.optin="optional",t._zod.optout="optional",t._zod.parse=(n,r)=>{let o=n.value;return typeof o>"u"||n.issues.push({expected:"undefined",code:"invalid_type",input:o,inst:t}),n}});var Vs=P("$ZodUnknown",(t,e)=>{ee.init(t,e),t._zod.parse=n=>n}),qs=P("$ZodNever",(t,e)=>{ee.init(t,e),t._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:t}),n)});function Ls(t,e,n){t.issues.length&&e.issues.push(...et(n,t.issues)),e.value[n]=t.value}var Ks=P("$ZodArray",(t,e)=>{ee.init(t,e),t._zod.parse=(n,r)=>{let o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:t}),n;n.value=Array(o.length);let i=[];for(let a=0;a<o.length;a++){let s=o[a],c=e.element._zod.run({value:s,issues:[]},r);c instanceof Promise?i.push(c.then(u=>Ls(u,n,a))):Ls(c,n,a)}return i.length?Promise.all(i).then(()=>n):n}});function Er(t,e,n,r,o){if(t.issues.length){if(o&&!(n in r))return;e.issues.push(...et(n,t.issues))}t.value===void 0?n in r&&(e.value[n]=void 0):e.value[n]=t.value}function wf(t){let e=Object.keys(t.shape);for(let r of e)if(!t.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`);let n=Es(t.shape);return{...t,keys:e,keySet:new Set(e),numKeys:e.length,optionalKeys:new Set(n)}}function _f(t,e,n,r,o,i){let a=[],s=o.keySet,c=o.catchall._zod,u=c.def.type,l=c.optout==="optional";for(let d in e){if(s.has(d))continue;if(u==="never"){a.push(d);continue}let p=c.run({value:e[d],issues:[]},r);p instanceof Promise?t.push(p.then(b=>Er(b,n,d,e,l))):Er(p,n,d,e,l)}return a.length&&n.issues.push({code:"unrecognized_keys",keys:a,input:e,inst:i}),t.length?Promise.all(t).then(()=>n):n}var Ws=P("$ZodObject",(t,e)=>{if(ee.init(t,e),!Object.getOwnPropertyDescriptor(e,"shape")?.get){let s=e.shape;Object.defineProperty(e,"shape",{get:()=>{let c={...s};return Object.defineProperty(e,"shape",{value:c}),c}})}let r=di(()=>wf(e));de(t._zod,"propValues",()=>{let s=e.shape,c={};for(let u in s){let l=s[u]._zod;if(l.values){c[u]??(c[u]=new Set);for(let d of l.values)c[u].add(d)}}return c});let o=br,i=e.catchall,a;t._zod.parse=(s,c)=>{a??(a=r.value);let u=s.value;if(!o(u))return s.issues.push({expected:"object",code:"invalid_type",input:u,inst:t}),s;s.value={};let l=[],d=a.shape;for(let p of a.keys){let b=d[p],f=b._zod.optout==="optional",g=b._zod.run({value:u[p],issues:[]},c);g instanceof Promise?l.push(g.then(v=>Er(v,s,p,u,f))):Er(g,s,p,u,f)}return i?_f(l,u,s,c,r.value,t):l.length?Promise.all(l).then(()=>s):s}});function Ms(t,e,n,r){for(let i of t)if(i.issues.length===0)return e.value=i.value,e;let o=t.filter(i=>!yt(i));return o.length===1?(e.value=o[0].value,o[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:n,errors:t.map(i=>i.issues.map(a=>ct(a,r,Qe())))}),e)}var Xs=P("$ZodUnion",(t,e)=>{ee.init(t,e),de(t._zod,"optin",()=>e.options.some(o=>o._zod.optin==="optional")?"optional":void 0),de(t._zod,"optout",()=>e.options.some(o=>o._zod.optout==="optional")?"optional":void 0),de(t._zod,"values",()=>{if(e.options.every(o=>o._zod.values))return new Set(e.options.flatMap(o=>Array.from(o._zod.values)))}),de(t._zod,"pattern",()=>{if(e.options.every(o=>o._zod.pattern)){let o=e.options.map(i=>i._zod.pattern);return new RegExp(`^(${o.map(i=>wr(i.source)).join("|")})$`)}});let n=e.options.length===1,r=e.options[0]._zod.run;t._zod.parse=(o,i)=>{if(n)return r(o,i);let a=!1,s=[];for(let c of e.options){let u=c._zod.run({value:o.value,issues:[]},i);if(u instanceof Promise)s.push(u),a=!0;else{if(u.issues.length===0)return u;s.push(u)}}return a?Promise.all(s).then(c=>Ms(c,o,t,i)):Ms(s,o,t,i)}});var Ys=P("$ZodIntersection",(t,e)=>{ee.init(t,e),t._zod.parse=(n,r)=>{let o=n.value,i=e.left._zod.run({value:o,issues:[]},r),a=e.right._zod.run({value:o,issues:[]},r);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([c,u])=>Zs(n,c,u)):Zs(n,i,a)}});function hi(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(vn(t)&&vn(e)){let n=Object.keys(e),r=Object.keys(t).filter(i=>n.indexOf(i)!==-1),o={...t,...e};for(let i of r){let a=hi(t[i],e[i]);if(!a.valid)return{valid:!1,mergeErrorPath:[i,...a.mergeErrorPath]};o[i]=a.data}return{valid:!0,data:o}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<t.length;r++){let o=t[r],i=e[r],a=hi(o,i);if(!a.valid)return{valid:!1,mergeErrorPath:[r,...a.mergeErrorPath]};n.push(a.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Zs(t,e,n){let r=new Map,o;for(let s of e.issues)if(s.code==="unrecognized_keys"){o??(o=s);for(let c of s.keys)r.has(c)||r.set(c,{}),r.get(c).l=!0}else t.issues.push(s);for(let s of n.issues)if(s.code==="unrecognized_keys")for(let c of s.keys)r.has(c)||r.set(c,{}),r.get(c).r=!0;else t.issues.push(s);let i=[...r].filter(([,s])=>s.l&&s.r).map(([s])=>s);if(i.length&&o&&t.issues.push({...o,keys:i}),yt(t))return t;let a=hi(e.value,n.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return t.value=a.data,t}var Qs=P("$ZodTuple",(t,e)=>{ee.init(t,e);let n=e.items;t._zod.parse=(r,o)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({input:i,inst:t,expected:"tuple",code:"invalid_type"}),r;r.value=[];let a=[],s=[...n].reverse().findIndex(l=>l._zod.optin!=="optional"),c=s===-1?0:n.length-s;if(!e.rest){let l=i.length>n.length,d=i.length<c-1;if(l||d)return r.issues.push({...l?{code:"too_big",maximum:n.length,inclusive:!0}:{code:"too_small",minimum:n.length},input:i,inst:t,origin:"array"}),r}let u=-1;for(let l of n){if(u++,u>=i.length&&u>=c)continue;let d=l._zod.run({value:i[u],issues:[]},o);d instanceof Promise?a.push(d.then(p=>Sr(p,r,u))):Sr(d,r,u)}if(e.rest){let l=i.slice(n.length);for(let d of l){u++;let p=e.rest._zod.run({value:d,issues:[]},o);p instanceof Promise?a.push(p.then(b=>Sr(b,r,u))):Sr(p,r,u)}}return a.length?Promise.all(a).then(()=>r):r}});function Sr(t,e,n){t.issues.length&&e.issues.push(...et(n,t.issues)),e.value[n]=t.value}var ec=P("$ZodRecord",(t,e)=>{ee.init(t,e),t._zod.parse=(n,r)=>{let o=n.value;if(!vn(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:t}),n;let i=[],a=e.keyType._zod.values;if(a){n.value={};let s=new Set;for(let u of a)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){s.add(typeof u=="number"?u.toString():u);let l=e.valueType._zod.run({value:o[u],issues:[]},r);l instanceof Promise?i.push(l.then(d=>{d.issues.length&&n.issues.push(...et(u,d.issues)),n.value[u]=d.value})):(l.issues.length&&n.issues.push(...et(u,l.issues)),n.value[u]=l.value)}let c;for(let u in o)s.has(u)||(c=c??[],c.push(u));c&&c.length>0&&n.issues.push({code:"unrecognized_keys",input:o,inst:t,keys:c})}else{n.value={};for(let s of Reflect.ownKeys(o)){if(s==="__proto__")continue;let c=e.keyType._zod.run({value:s,issues:[]},r);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof s=="string"&&mi.test(s)&&c.issues.length){let d=e.keyType._zod.run({value:Number(s),issues:[]},r);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");d.issues.length===0&&(c=d)}if(c.issues.length){e.mode==="loose"?n.value[s]=o[s]:n.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map(d=>ct(d,r,Qe())),input:s,path:[s],inst:t});continue}let l=e.valueType._zod.run({value:o[s],issues:[]},r);l instanceof Promise?i.push(l.then(d=>{d.issues.length&&n.issues.push(...et(s,d.issues)),n.value[c.value]=d.value})):(l.issues.length&&n.issues.push(...et(s,l.issues)),n.value[c.value]=l.value)}}return i.length?Promise.all(i).then(()=>n):n}});var tc=P("$ZodEnum",(t,e)=>{ee.init(t,e);let n=li(e.entries),r=new Set(n);t._zod.values=r,t._zod.pattern=new RegExp(`^(${n.filter(o=>Ss.has(typeof o)).map(o=>typeof o=="string"?_r(o):o.toString()).join("|")})$`),t._zod.parse=(o,i)=>{let a=o.value;return r.has(a)||o.issues.push({code:"invalid_value",values:n,input:a,inst:t}),o}});function Bs(t,e){return t.issues.length&&e===void 0?{issues:[],value:void 0}:t}var nc=P("$ZodOptional",(t,e)=>{ee.init(t,e),t._zod.optin="optional",t._zod.optout="optional",de(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),de(t._zod,"pattern",()=>{let n=e.innerType._zod.pattern;return n?new RegExp(`^(${wr(n.source)})?$`):void 0}),t._zod.parse=(n,r)=>{if(e.innerType._zod.optin==="optional"){let o=e.innerType._zod.run(n,r);return o instanceof Promise?o.then(i=>Bs(i,n.value)):Bs(o,n.value)}return n.value===void 0?n:e.innerType._zod.run(n,r)}});var rc=P("$ZodNullable",(t,e)=>{ee.init(t,e),de(t._zod,"optin",()=>e.innerType._zod.optin),de(t._zod,"optout",()=>e.innerType._zod.optout),de(t._zod,"pattern",()=>{let n=e.innerType._zod.pattern;return n?new RegExp(`^(${wr(n.source)}|null)$`):void 0}),de(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(n,r)=>n.value===null?n:e.innerType._zod.run(n,r)});var oc=P("$ZodCustom",(t,e)=>{vt.init(t,e),ee.init(t,e),t._zod.parse=(n,r)=>n,t._zod.check=n=>{let r=n.value,o=e.fn(r);if(o instanceof Promise)return o.then(i=>Fs(i,n,r,t));Fs(o,n,r,t)}});function Fs(t,e,n,r){if(!t){let o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(o.params=r._zod.def.params),e.issues.push(pi(o))}}var ac;var bi=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...n){let r=n[0];return this._map.set(e,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let n=this._map.get(e);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(e),this}get(e){let n=e._zod.parent;if(n){let r={...this.get(n)??{}};delete r.id;let o={...r,...this._map.get(e)};return Object.keys(o).length?o:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function sc(){return new bi}(ac=globalThis).__zod_globalRegistry??(ac.__zod_globalRegistry=sc());var wi=globalThis.__zod_globalRegistry;function cc(t,e){return new t({type:"string",...re(e)})}function uc(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...re(e)})}function lc(t,e){return new t({type:"number",checks:[],...re(e)})}function dc(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...re(e)})}function fc(t,e){return new t({type:"boolean",...re(e)})}function pc(t,e){return new t({type:"undefined",...re(e)})}function mc(t){return new t({type:"unknown"})}function hc(t,e){return new t({type:"never",...re(e)})}function _i(t,e){return new Rs({check:"greater_than",...re(e),value:t,inclusive:!0})}function bt(t){return _i(0,t)}function gc(t,e,n){let r=re(n);return r.abort??(r.abort=!0),new t({type:"custom",check:"custom",fn:e,...r})}var ue=P("ZodMiniType",(t,e)=>{if(!t._zod)throw new Error("Uninitialized schema in ZodMiniType.");ee.init(t,e),t.def=e,t.type=e.type,t.parse=(n,r)=>xr(t,n,r,{callee:t.parse}),t.safeParse=(n,r)=>_n(t,n,r),t.parseAsync=async(n,r)=>$r(t,n,r,{callee:t.parseAsync}),t.safeParseAsync=async(n,r)=>xn(t,n,r),t.check=(...n)=>t.clone({...e,checks:[...e.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]},{parent:!0}),t.with=t.check,t.clone=(n,r)=>bn(t,n,r),t.brand=()=>t,t.register=((n,r)=>(n.add(t,r),t)),t.apply=n=>n(t)}),xi=P("ZodMiniString",(t,e)=>{kr.init(t,e),ue.init(t,e)});function H(t){return cc(xi,t)}var yc=P("ZodMiniStringFormat",(t,e)=>{gi.init(t,e),xi.init(t,e)});var Rf=P("ZodMiniURL",(t,e)=>{Hs.init(t,e),yc.init(t,e)});function J(t){return uc(Rf,t)}var $i=P("ZodMiniNumber",(t,e)=>{yi.init(t,e),ue.init(t,e)});function vc(t){return lc($i,t)}var Df=P("ZodMiniNumberFormat",(t,e)=>{Js.init(t,e),$i.init(t,e)});function Nt(t){return dc(Df,t)}var bc=P("ZodMiniBoolean",(t,e)=>{vi.init(t,e),ue.init(t,e)});function Si(t){return fc(bc,t)}var jf=P("ZodMiniUndefined",(t,e)=>{Gs.init(t,e),ue.init(t,e)});function wc(t){return pc(jf,t)}var Nf=P("ZodMiniUnknown",(t,e)=>{Vs.init(t,e),ue.init(t,e)});function Cf(){return mc(Nf)}var Lf=P("ZodMiniNever",(t,e)=>{qs.init(t,e),ue.init(t,e)});function Mf(t){return hc(Lf,t)}var Zf=P("ZodMiniArray",(t,e)=>{Ks.init(t,e),ue.init(t,e)});function V(t,e){return new Zf({type:"array",element:t,...re(e)})}var Ei=P("ZodMiniObject",(t,e)=>{Ws.init(t,e),ue.init(t,e),de(t,"shape",()=>e.shape)});function be(t,e){let n={type:"object",shape:t??{},...re(e)};return new Ei(n)}function we(t,e){return new Ei({type:"object",shape:t,catchall:Mf(),...re(e)})}function he(t,e){return new Ei({type:"object",shape:t,catchall:Cf(),...re(e)})}function tt(t,e){return Is(t,e)}var Bf=P("ZodMiniUnion",(t,e)=>{Xs.init(t,e),ue.init(t,e)});function ut(t,e){return new Bf({type:"union",options:t,...re(e)})}var Ff=P("ZodMiniIntersection",(t,e)=>{Ys.init(t,e),ue.init(t,e)});function _c(t,e){return new Ff({type:"intersection",left:t,right:e})}var Hf=P("ZodMiniTuple",(t,e)=>{Qs.init(t,e),ue.init(t,e)});function fe(t,e,n){let r=e instanceof ee,o=r?n:e,i=r?e:null;return new Hf({type:"tuple",items:t,rest:i,...re(o)})}var Jf=P("ZodMiniRecord",(t,e)=>{ec.init(t,e),ue.init(t,e)});function xc(t,e,n){return new Jf({type:"record",keyType:t,valueType:e,...re(n)})}var Gf=P("ZodMiniEnum",(t,e)=>{tc.init(t,e),ue.init(t,e),t.options=Object.values(e.entries)});function $c(t,e){let n=Array.isArray(t)?Object.fromEntries(t.map(r=>[r,r])):t;return new Gf({type:"enum",entries:n,...re(e)})}var Vf=P("ZodMiniOptional",(t,e)=>{nc.init(t,e),ue.init(t,e)});function X(t){return new Vf({type:"optional",innerType:t})}var qf=P("ZodMiniNullable",(t,e)=>{rc.init(t,e),ue.init(t,e)});function Ze(t){return new qf({type:"nullable",innerType:t})}var Kf=P("ZodMiniCustom",(t,e)=>{oc.init(t,e),ue.init(t,e)});function wt(t,e){return gc(Kf,t??(()=>!0),e)}function Ct(t,e={}){let n=wt(r=>r instanceof t,e);return n._zod.bag.Class=t,n._zod.check=r=>{r.value instanceof t||r.issues.push({code:"invalid_type",expected:t.name,input:r.value,inst:n,path:[...n._zod.def.path??[]]})},n}var kc=he({value:he({}),channels:V(H()),allowed:X(Ze(V(J())))}),hE=tt(kc,{url:J(),actor:J()}),Ec=ut([he({url:J()}),J()]),Lt=he({actor:J()}),Ar=X(Ze(Lt)),Ic=he({data:Ct(Blob),allowed:X(Ze(V(J())))}),gE=tt(Ic,{actor:J()}),ep=he({types:X(V(H())),maxBytes:X(Nt().check(bt()))}),Tr=class{constructor(e){this.graffiti=e,this.sessionEvents=this.graffiti.sessionEvents}sessionEvents;login=(...e)=>{let n=fe([X(J())]).parse(e);return this.graffiti.login(...n)};logout=(...e)=>{let n=fe([Lt]).parse(e);return this.graffiti.logout(...n)};handleToActor=(...e)=>{let n=fe([H()]).parse(e);return this.graffiti.handleToActor(...n)};actorToHandle=(...e)=>{let n=fe([J()]).parse(e);return this.graffiti.actorToHandle(...n)};post=(...e)=>{let n=fe([kc,Lt]).parse(e);return this.graffiti.post(...n)};get=(...e)=>{let n=fe([Ec,he({}),Ar]).parse(e);return this.graffiti.get(n[0],n[1],n[2])};delete=(...e)=>{let n=fe([Ec,Lt]).parse(e);return this.graffiti.delete(...n)};postMedia=(...e)=>{let n=fe([Ic,Lt]).parse(e);return this.graffiti.postMedia(...n)};getMedia=(...e)=>{let n=fe([J(),ep,Ar]).parse(e);return this.graffiti.getMedia(...n)};deleteMedia=(...e)=>{let n=fe([J(),Lt]).parse(e);return this.graffiti.deleteMedia(...n)};discover=(...e)=>{let n=fe([V(H()),he({}),Ar]).parse(e);return this.graffiti.discover(n[0],n[1],n[2])};continueDiscover=(...e)=>{let n=fe([H(),Ar]).parse(e);return this.graffiti.continueDiscover(...n)}};function tp(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function ki(t,e=""){if(!Number.isSafeInteger(t)||t<0){let n=e&&`"${e}" `;throw new Error(`${n}expected integer >= 0, got ${t}`)}}function Pr(t,e,n=""){let r=tp(t),o=t?.length,i=e!==void 0;if(!r||i&&o!==e){let a=n&&`"${n}" `,s=i?` of length ${e}`:"",c=r?`length=${o}`:`type=${typeof t}`;throw new Error(a+"expected Uint8Array"+s+", got "+c)}return t}function Ac(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash must wrapped by utils.createHasher");ki(t.outputLen),ki(t.blockLen)}function _t(t=32){let e=typeof globalThis=="object"?globalThis.crypto:null;if(typeof e?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return e.getRandomValues(new Uint8Array(t))}var np=["Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Ii(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(e==="string"||e==="number"||e==="bigint"||e==="symbol")return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(t instanceof Uint8Array)return"Uint8Array";if(t.constructor===Object)return"Object";let n=rp(t);return n||"Object"}function rp(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(np.includes(e))return e}var y=class{constructor(e,n,r){this.major=e,this.majorEncoded=e<<5,this.name=n,this.terminal=r}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}static equals(e,n){return e===n||e.major===n.major&&e.name===n.name}};y.uint=new y(0,"uint",!0);y.negint=new y(1,"negint",!0);y.bytes=new y(2,"bytes",!0);y.string=new y(3,"string",!0);y.array=new y(4,"array",!1);y.map=new y(5,"map",!1);y.tag=new y(6,"tag",!1);y.float=new y(7,"float",!0);y.false=new y(7,"false",!0);y.true=new y(7,"true",!0);y.null=new y(7,"null",!0);y.undefined=new y(7,"undefined",!0);y.break=new y(7,"break",!0);var E=class{constructor(e,n,r){this.type=e,this.value=n,this.encodedLength=r,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var Sn=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",op=new TextEncoder;function zr(t){return Sn&&globalThis.Buffer.isBuffer(t)}function En(t){return t instanceof Uint8Array?zr(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var ip=24,ap=200,Or=Sn?t=>t.length>=ip?globalThis.Buffer.from(t):Tc(t):t=>t.length>=ap?op.encode(t):Tc(t),Be=t=>Uint8Array.from(t),Pc=Sn?(t,e,n)=>zr(t)?new Uint8Array(t.subarray(e,n)):t.slice(e,n):(t,e,n)=>t.slice(e,n),zc=Sn?(t,e)=>(t=t.map(n=>n instanceof Uint8Array?n:globalThis.Buffer.from(n)),En(globalThis.Buffer.concat(t,e))):(t,e)=>{let n=new Uint8Array(e),r=0;for(let o of t)r+o.length>n.length&&(o=o.subarray(0,n.length-r)),n.set(o,r),r+=o.length;return n},Oc=Sn?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function Ur(t,e){if(zr(t)&&zr(e))return t.compare(e);for(let n=0;n<t.length;n++)if(t[n]!==e[n])return t[n]<e[n]?-1:1;return 0}function Tc(t){let e=[],n=0;for(let r=0;r<t.length;r++){let o=t.charCodeAt(r);o<128?e[n++]=o:o<2048?(e[n++]=o>>6|192,e[n++]=o&63|128):(o&64512)===55296&&r+1<t.length&&(t.charCodeAt(r+1)&64512)===56320?(o=65536+((o&1023)<<10)+(t.charCodeAt(++r)&1023),e[n++]=o>>18|240,e[n++]=o>>12&63|128,e[n++]=o>>6&63|128,e[n++]=o&63|128):(o>=55296&&o<=57343&&(o=65533),e[n++]=o>>12|224,e[n++]=o>>6&63|128,e[n++]=o&63|128)}return e}var sp=256,kn=class{constructor(e=sp){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(e){let n=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let o=n.length-(this.maxCursor-this.cursor)-1;n.set(e,o)}else{if(n){let o=n.length-(this.maxCursor-this.cursor)-1;o<n.length&&(this.chunks[this.chunks.length-1]=n.subarray(0,o),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(n=Oc(this.chunkSize),this.chunks.push(n),this.maxCursor+=n.length,this._initReuseChunk===null&&(this._initReuseChunk=n),n.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let n;if(this.chunks.length===1){let r=this.chunks[0];e&&this.cursor>r.length/2?(n=this.cursor===r.length?r:r.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):n=Pc(r,0,this.cursor)}else n=zc(this.chunks,this.cursor);return e&&this.reset(),n}},Rr=class{constructor(e){this.dest=e,this.cursor=0,this.chunks=[e]}reset(){this.cursor=0}push(e){if(this.cursor+e.length>this.dest.length)throw new Error("write out of bounds, destination buffer is too small");this.dest.set(e,this.cursor),this.cursor+=e.length}toBytes(e=!1){let n=this.dest.subarray(0,this.cursor);return e&&this.reset(),n}};var L="CBOR decode error:",Dr="CBOR encode error:",In=[];In[23]=1;In[24]=2;In[25]=3;In[26]=5;In[27]=9;function nt(t,e,n){if(t.length-e<n)throw new Error(`${L} not enough data for type`)}var ae=[24,256,65536,4294967296,BigInt("18446744073709551616")];function _e(t,e,n){nt(t,e,1);let r=t[e];if(n.strict===!0&&r<ae[0])throw new Error(`${L} integer encoded in more bytes than necessary (strict decode)`);return r}function xe(t,e,n){nt(t,e,2);let r=t[e]<<8|t[e+1];if(n.strict===!0&&r<ae[1])throw new Error(`${L} integer encoded in more bytes than necessary (strict decode)`);return r}function $e(t,e,n){nt(t,e,4);let r=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(n.strict===!0&&r<ae[2])throw new Error(`${L} integer encoded in more bytes than necessary (strict decode)`);return r}function Se(t,e,n){nt(t,e,8);let r=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3],o=t[e+4]*16777216+(t[e+5]<<16)+(t[e+6]<<8)+t[e+7],i=(BigInt(r)<<BigInt(32))+BigInt(o);if(n.strict===!0&&i<ae[3])throw new Error(`${L} integer encoded in more bytes than necessary (strict decode)`);if(i<=Number.MAX_SAFE_INTEGER)return Number(i);if(n.allowBigInt===!0)return i;throw new Error(`${L} integers outside of the safe integer range are not supported`)}function Uc(t,e,n,r){return new E(y.uint,_e(t,e+1,r),2)}function Rc(t,e,n,r){return new E(y.uint,xe(t,e+1,r),3)}function Dc(t,e,n,r){return new E(y.uint,$e(t,e+1,r),5)}function jc(t,e,n,r){return new E(y.uint,Se(t,e+1,r),9)}function Pe(t,e){return W(t,0,e.value)}function W(t,e,n){if(n<ae[0]){let r=Number(n);t.push([e|r])}else if(n<ae[1]){let r=Number(n);t.push([e|24,r])}else if(n<ae[2]){let r=Number(n);t.push([e|25,r>>>8,r&255])}else if(n<ae[3]){let r=Number(n);t.push([e|26,r>>>24&255,r>>>16&255,r>>>8&255,r&255])}else{let r=BigInt(n);if(r<ae[4]){let o=[e|27,0,0,0,0,0,0,0],i=Number(r&BigInt(4294967295)),a=Number(r>>BigInt(32)&BigInt(4294967295));o[8]=i&255,i=i>>8,o[7]=i&255,i=i>>8,o[6]=i&255,i=i>>8,o[5]=i&255,o[4]=a&255,a=a>>8,o[3]=a&255,a=a>>8,o[2]=a&255,a=a>>8,o[1]=a&255,t.push(o)}else throw new Error(`${L} encountered BigInt larger than allowable range`)}}Pe.encodedSize=function(e){return W.encodedSize(e.value)};W.encodedSize=function(e){return e<ae[0]?1:e<ae[1]?2:e<ae[2]?3:e<ae[3]?5:9};Pe.compareTokens=function(e,n){return e.value<n.value?-1:e.value>n.value?1:0};function Nc(t,e,n,r){return new E(y.negint,-1-_e(t,e+1,r),2)}function Cc(t,e,n,r){return new E(y.negint,-1-xe(t,e+1,r),3)}function Lc(t,e,n,r){return new E(y.negint,-1-$e(t,e+1,r),5)}var Ai=BigInt(-1),Mc=BigInt(1);function Zc(t,e,n,r){let o=Se(t,e+1,r);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new E(y.negint,i,9)}if(r.allowBigInt!==!0)throw new Error(`${L} integers outside of the safe integer range are not supported`);return new E(y.negint,Ai-BigInt(o),9)}function jr(t,e){let n=e.value,r=typeof n=="bigint"?n*Ai-Mc:n*-1-1;W(t,e.type.majorEncoded,r)}jr.encodedSize=function(e){let n=e.value,r=typeof n=="bigint"?n*Ai-Mc:n*-1-1;return r<ae[0]?1:r<ae[1]?2:r<ae[2]?3:r<ae[3]?5:9};jr.compareTokens=function(e,n){return e.value<n.value?1:e.value>n.value?-1:0};function An(t,e,n,r){nt(t,e,n+r);let o=t.slice(e+n,e+n+r);return new E(y.bytes,o,n+r)}function Bc(t,e,n,r){return An(t,e,1,n)}function Fc(t,e,n,r){return An(t,e,2,_e(t,e+1,r))}function Hc(t,e,n,r){return An(t,e,3,xe(t,e+1,r))}function Jc(t,e,n,r){return An(t,e,5,$e(t,e+1,r))}function Gc(t,e,n,r){let o=Se(t,e+1,r);if(typeof o=="bigint")throw new Error(`${L} 64-bit integer bytes lengths not supported`);return An(t,e,9,o)}function Nr(t){return t.encodedBytes===void 0&&(t.encodedBytes=y.equals(t.type,y.string)?Or(t.value):t.value),t.encodedBytes}function Mt(t,e){let n=Nr(e);W(t,e.type.majorEncoded,n.length),t.push(n)}Mt.encodedSize=function(e){let n=Nr(e);return W.encodedSize(n.length)+n.length};Mt.compareTokens=function(e,n){return up(Nr(e),Nr(n))};function up(t,e){return t.length<e.length?-1:t.length>e.length?1:Ur(t,e)}var Vc=new TextDecoder,dp=32;function fp(t,e,n){if(n-e<dp){let o="";for(let i=e;i<n;i++){let a=t[i];if(a&128)return Vc.decode(t.subarray(e,n));o+=String.fromCharCode(a)}return o}return Vc.decode(t.subarray(e,n))}function Tn(t,e,n,r,o){let i=n+r;nt(t,e,i);let a=new E(y.string,fp(t,e+n,e+i),i);return o.retainStringBytes===!0&&(a.byteValue=t.slice(e+n,e+i)),a}function qc(t,e,n,r){return Tn(t,e,1,n,r)}function Kc(t,e,n,r){return Tn(t,e,2,_e(t,e+1,r),r)}function Wc(t,e,n,r){return Tn(t,e,3,xe(t,e+1,r),r)}function Xc(t,e,n,r){return Tn(t,e,5,$e(t,e+1,r),r)}function Yc(t,e,n,r){let o=Se(t,e+1,r);if(typeof o=="bigint")throw new Error(`${L} 64-bit integer string lengths not supported`);return Tn(t,e,9,o,r)}var Qc=Mt;function Zt(t,e,n,r){return new E(y.array,r,n)}function eu(t,e,n,r){return Zt(t,e,1,n)}function tu(t,e,n,r){return Zt(t,e,2,_e(t,e+1,r))}function nu(t,e,n,r){return Zt(t,e,3,xe(t,e+1,r))}function ru(t,e,n,r){return Zt(t,e,5,$e(t,e+1,r))}function ou(t,e,n,r){let o=Se(t,e+1,r);if(typeof o=="bigint")throw new Error(`${L} 64-bit integer array lengths not supported`);return Zt(t,e,9,o)}function iu(t,e,n,r){if(r.allowIndefinite===!1)throw new Error(`${L} indefinite length items not allowed`);return Zt(t,e,1,1/0)}function Cr(t,e){W(t,y.array.majorEncoded,e.value)}Cr.compareTokens=Pe.compareTokens;Cr.encodedSize=function(e){return W.encodedSize(e.value)};function Bt(t,e,n,r){return new E(y.map,r,n)}function au(t,e,n,r){return Bt(t,e,1,n)}function su(t,e,n,r){return Bt(t,e,2,_e(t,e+1,r))}function cu(t,e,n,r){return Bt(t,e,3,xe(t,e+1,r))}function uu(t,e,n,r){return Bt(t,e,5,$e(t,e+1,r))}function lu(t,e,n,r){let o=Se(t,e+1,r);if(typeof o=="bigint")throw new Error(`${L} 64-bit integer map lengths not supported`);return Bt(t,e,9,o)}function du(t,e,n,r){if(r.allowIndefinite===!1)throw new Error(`${L} indefinite length items not allowed`);return Bt(t,e,1,1/0)}function Lr(t,e){W(t,y.map.majorEncoded,e.value)}Lr.compareTokens=Pe.compareTokens;Lr.encodedSize=function(e){return W.encodedSize(e.value)};function fu(t,e,n,r){return new E(y.tag,n,1)}function pu(t,e,n,r){return new E(y.tag,_e(t,e+1,r),2)}function mu(t,e,n,r){return new E(y.tag,xe(t,e+1,r),3)}function hu(t,e,n,r){return new E(y.tag,$e(t,e+1,r),5)}function gu(t,e,n,r){return new E(y.tag,Se(t,e+1,r),9)}function Mr(t,e){W(t,y.tag.majorEncoded,e.value)}Mr.compareTokens=Pe.compareTokens;Mr.encodedSize=function(e){return W.encodedSize(e.value)};var Ti=20,Pi=21,zi=22,Oi=23;function yu(t,e,n,r){if(r.allowUndefined===!1)throw new Error(`${L} undefined values are not supported`);return r.coerceUndefinedToNull===!0?new E(y.null,null,1):new E(y.undefined,void 0,1)}function vu(t,e,n,r){if(r.allowIndefinite===!1)throw new Error(`${L} indefinite length items not allowed`);return new E(y.break,void 0,1)}function Ui(t,e,n){if(n){if(n.allowNaN===!1&&Number.isNaN(t))throw new Error(`${L} NaN values are not supported`);if(n.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${L} Infinity values are not supported`)}return new E(y.float,t,e)}function bu(t,e,n,r){return Ui(Ri(t,e+1),3,r)}function wu(t,e,n,r){return Ui(Di(t,e+1),5,r)}function _u(t,e,n,r){return Ui(Eu(t,e+1),9,r)}function Pn(t,e,n){let r=e.value;if(r===!1)t.push([y.float.majorEncoded|Ti]);else if(r===!0)t.push([y.float.majorEncoded|Pi]);else if(r===null)t.push([y.float.majorEncoded|zi]);else if(r===void 0)t.push([y.float.majorEncoded|Oi]);else{let o,i=!1;(!n||n.float64!==!0)&&($u(r),o=Ri(je,1),r===o||Number.isNaN(r)?(je[0]=249,t.push(je.slice(0,3)),i=!0):(Su(r),o=Di(je,1),r===o&&(je[0]=250,t.push(je.slice(0,5)),i=!0))),i||(yp(r),o=Eu(je,1),je[0]=251,t.push(je.slice(0,9)))}}Pn.encodedSize=function(e,n){let r=e.value;if(r===!1||r===!0||r===null||r===void 0)return 1;if(!n||n.float64!==!0){$u(r);let o=Ri(je,1);if(r===o||Number.isNaN(r))return 3;if(Su(r),o=Di(je,1),r===o)return 5}return 9};var xu=new ArrayBuffer(9),ze=new DataView(xu,1),je=new Uint8Array(xu,0);function $u(t){if(t===1/0)ze.setUint16(0,31744,!1);else if(t===-1/0)ze.setUint16(0,64512,!1);else if(Number.isNaN(t))ze.setUint16(0,32256,!1);else{ze.setFloat32(0,t);let e=ze.getUint32(0),n=(e&2139095040)>>23,r=e&8388607;if(n===255)ze.setUint16(0,31744,!1);else if(n===0)ze.setUint16(0,(t&2147483648)>>16|r>>13,!1);else{let o=n-127;o<-24?ze.setUint16(0,0):o<-14?ze.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):ze.setUint16(0,(e&2147483648)>>16|o+15<<10|r>>13,!1)}}}function Ri(t,e){if(t.length-e<2)throw new Error(`${L} not enough data for float16`);let n=(t[e]<<8)+t[e+1];if(n===31744)return 1/0;if(n===64512)return-1/0;if(n===32256)return NaN;let r=n>>10&31,o=n&1023,i;return r===0?i=o*2**-24:r!==31?i=(o+1024)*2**(r-25):i=o===0?1/0:NaN,n&32768?-i:i}function Su(t){ze.setFloat32(0,t,!1)}function Di(t,e){if(t.length-e<4)throw new Error(`${L} not enough data for float32`);let n=(t.byteOffset||0)+e;return new DataView(t.buffer,n,4).getFloat32(0,!1)}function yp(t){ze.setFloat64(0,t,!1)}function Eu(t,e){if(t.length-e<8)throw new Error(`${L} not enough data for float64`);let n=(t.byteOffset||0)+e;return new DataView(t.buffer,n,8).getFloat64(0,!1)}Pn.compareTokens=Pe.compareTokens;function F(t,e,n){throw new Error(`${L} encountered invalid minor (${n}) for major ${t[e]>>>5}`)}function Zr(t){return()=>{throw new Error(`${L} ${t}`)}}var $=[];for(let t=0;t<=23;t++)$[t]=F;$[24]=Uc;$[25]=Rc;$[26]=Dc;$[27]=jc;$[28]=F;$[29]=F;$[30]=F;$[31]=F;for(let t=32;t<=55;t++)$[t]=F;$[56]=Nc;$[57]=Cc;$[58]=Lc;$[59]=Zc;$[60]=F;$[61]=F;$[62]=F;$[63]=F;for(let t=64;t<=87;t++)$[t]=Bc;$[88]=Fc;$[89]=Hc;$[90]=Jc;$[91]=Gc;$[92]=F;$[93]=F;$[94]=F;$[95]=Zr("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)$[t]=qc;$[120]=Kc;$[121]=Wc;$[122]=Xc;$[123]=Yc;$[124]=F;$[125]=F;$[126]=F;$[127]=Zr("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)$[t]=eu;$[152]=tu;$[153]=nu;$[154]=ru;$[155]=ou;$[156]=F;$[157]=F;$[158]=F;$[159]=iu;for(let t=160;t<=183;t++)$[t]=au;$[184]=su;$[185]=cu;$[186]=uu;$[187]=lu;$[188]=F;$[189]=F;$[190]=F;$[191]=du;for(let t=192;t<=215;t++)$[t]=fu;$[216]=pu;$[217]=mu;$[218]=hu;$[219]=gu;$[220]=F;$[221]=F;$[222]=F;$[223]=F;for(let t=224;t<=243;t++)$[t]=Zr("simple values are not supported");$[244]=F;$[245]=F;$[246]=F;$[247]=yu;$[248]=Zr("simple values are not supported");$[249]=bu;$[250]=wu;$[251]=_u;$[252]=F;$[253]=F;$[254]=F;$[255]=vu;var Ne=[];for(let t=0;t<24;t++)Ne[t]=new E(y.uint,t,1);for(let t=-1;t>=-24;t--)Ne[31-t]=new E(y.negint,t,1);Ne[64]=new E(y.bytes,new Uint8Array(0),1);Ne[96]=new E(y.string,"",1);Ne[128]=new E(y.array,0,1);Ne[160]=new E(y.map,0,1);Ne[244]=new E(y.false,!1,1);Ne[245]=new E(y.true,!0,1);Ne[246]=new E(y.null,null,1);function ji(t){switch(t.type){case y.false:return Be([244]);case y.true:return Be([245]);case y.null:return Be([246]);case y.bytes:return t.value.length?void 0:Be([64]);case y.string:return t.value===""?Be([96]):void 0;case y.array:return t.value===0?Be([128]):void 0;case y.map:return t.value===0?Be([160]):void 0;case y.uint:return t.value<24?Be([Number(t.value)]):void 0;case y.negint:if(t.value>=-24)return Be([31-Number(t.value)])}}var bp={float64:!1,mapSorter:xp,quickEncodeToken:ji},Pu=Object.freeze({float64:!0,mapSorter:$p,quickEncodeToken:ji});function wp(){let t=[];return t[y.uint.major]=Pe,t[y.negint.major]=jr,t[y.bytes.major]=Mt,t[y.string.major]=Qc,t[y.array.major]=Cr,t[y.map.major]=Lr,t[y.tag.major]=Mr,t[y.float.major]=Pn,t}var Ft=wp(),Br=new kn,On=class t{constructor(e,n){this.obj=e,this.parent=n}includes(e){let n=this;do if(n.obj===e)return!0;while(n=n.parent);return!1}static createCheck(e,n){if(e&&e.includes(n))throw new Error(`${Dr} object contains circular references`);return new t(n,e)}},lt={null:new E(y.null,null),undefined:new E(y.undefined,void 0),true:new E(y.true,!0),false:new E(y.false,!1),emptyArray:new E(y.array,0),emptyMap:new E(y.map,0)},Fe={number(t,e,n,r){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new E(y.float,t):t>=0?new E(y.uint,t):new E(y.negint,t)},bigint(t,e,n,r){return t>=BigInt(0)?new E(y.uint,t):new E(y.negint,t)},Uint8Array(t,e,n,r){return new E(y.bytes,t)},string(t,e,n,r){return new E(y.string,t)},boolean(t,e,n,r){return t?lt.true:lt.false},null(t,e,n,r){return lt.null},undefined(t,e,n,r){return lt.undefined},ArrayBuffer(t,e,n,r){return new E(y.bytes,new Uint8Array(t))},DataView(t,e,n,r){return new E(y.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,n,r){if(!t.length)return n.addBreakTokens===!0?[lt.emptyArray,new E(y.break)]:lt.emptyArray;r=On.createCheck(r,t);let o=[],i=0;for(let a of t)o[i++]=Fr(a,n,r);return n.addBreakTokens?[new E(y.array,t.length),o,new E(y.break)]:[new E(y.array,t.length),o]},Object(t,e,n,r){let o=e!=="Object",i=o?t.keys():Object.keys(t),a=o?t.size:i.length,s;if(a){s=new Array(a),r=On.createCheck(r,t);let c=!o&&n.ignoreUndefinedProperties,u=0;for(let l of i){let d=o?t.get(l):t[l];c&&d===void 0||(s[u++]=[Fr(l,n,r),Fr(d,n,r)])}u<a&&(s.length=u)}return s?.length?(_p(s,n),n.addBreakTokens?[new E(y.map,s.length),s,new E(y.break)]:[new E(y.map,s.length),s]):n.addBreakTokens===!0?[lt.emptyMap,new E(y.break)]:lt.emptyMap}};Fe.Map=Fe.Object;Fe.Buffer=Fe.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Fe[`${t}Array`]=Fe.DataView;function Fr(t,e={},n){let r=Ii(t),o=e&&e.typeEncoders&&e.typeEncoders[r]||Fe[r];if(typeof o=="function"){let a=o(t,r,e,n);if(a!=null)return a}let i=Fe[r];if(!i)throw new Error(`${Dr} unsupported type: ${r}`);return i(t,r,e,n)}function _p(t,e){e.mapSorter&&t.sort(e.mapSorter)}function xp(t,e){let n=Array.isArray(t[0])?t[0][0]:t[0],r=Array.isArray(e[0])?e[0][0]:e[0];if(n.type!==r.type)return n.type.compare(r.type);let o=n.type.major,i=Ft[o].compareTokens(n,r);return i===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),i}function $p(t,e){if(t[0]instanceof E&&e[0]instanceof E){let n=t[0],r=e[0];return n._keyBytes||(n._keyBytes=ku(n.value)),r._keyBytes||(r._keyBytes=ku(r.value)),Ur(n._keyBytes,r._keyBytes)}throw new Error("rfc8949MapSorter: complex key types are not supported yet")}function ku(t){return Ou(t,Ft,Pu)}function zn(t,e,n,r){if(Array.isArray(e))for(let o of e)zn(t,o,n,r);else n[e.type.major](t,e,r)}var Iu=y.uint.majorEncoded,Au=y.negint.majorEncoded,Sp=y.bytes.majorEncoded,Ep=y.string.majorEncoded,Tu=y.array.majorEncoded,kp=y.float.majorEncoded|Ti,Ip=y.float.majorEncoded|Pi,Ap=y.float.majorEncoded|zi,Tp=y.float.majorEncoded|Oi,Pp=BigInt(-1),zp=BigInt(1);function Op(t){return t.addBreakTokens!==!0}function zu(t,e,n,r){let o=Ii(e),i=n.typeEncoders&&n.typeEncoders[o];if(i){let a=i(e,o,n,r);if(a!=null){zn(t,a,Ft,n);return}}switch(o){case"null":t.push([Ap]);return;case"undefined":t.push([Tp]);return;case"boolean":t.push([e?Ip:kp]);return;case"number":!Number.isInteger(e)||!Number.isSafeInteger(e)?Pn(t,new E(y.float,e),n):e>=0?W(t,Iu,e):W(t,Au,e*-1-1);return;case"bigint":e>=BigInt(0)?W(t,Iu,e):W(t,Au,e*Pp-zp);return;case"string":{let a=Or(e);W(t,Ep,a.length),t.push(a);return}case"Uint8Array":W(t,Sp,e.length),t.push(e);return;case"Array":if(!e.length){t.push([Tu]);return}r=On.createCheck(r,e),W(t,Tu,e.length);for(let a of e)zu(t,a,n,r);return;case"Object":case"Map":{let a=Fe.Object(e,o,n,r);zn(t,a,Ft,n)}return;default:{let a=Fe[o];if(!a)throw new Error(`${Dr} unsupported type: ${o}`);let s=a(e,o,n,r);zn(t,s,Ft,n)}}}function Ou(t,e,n,r){let o=r instanceof Uint8Array,i=o?new Rr(r):Br,a=Fr(t,n);if(!Array.isArray(a)&&n.quickEncodeToken){let s=n.quickEncodeToken(a);if(s)return o?(i.push(s),i.toBytes()):s;let c=e[a.type.major];if(c.encodedSize){let u=c.encodedSize(a,n);if(o||(i=new kn(u)),c(i,a,n),i.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${a} was wrong`);return o?i.toBytes():En(i.chunks[0])}}return i.reset(),zn(i,a,e,n),i.toBytes(!0)}function Ni(t,e){return e=Object.assign({},bp,e),Op(e)?(Br.reset(),zu(Br,t,e,void 0),Br.toBytes(!0)):Ou(t,Ft,e)}var Up={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},Hr=class{constructor(e,n={}){this._pos=0,this.data=e,this.options=n}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let e=this.data[this._pos],n=Ne[e];if(n===void 0){let r=$[e];if(!r)throw new Error(`${L} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let o=e&31;n=r(this.data,this._pos,o,this.options)}return this._pos+=n.encodedLength,n}},Un=Symbol.for("DONE"),Jr=Symbol.for("BREAK");function Rp(t,e,n){let r=[];for(let o=0;o<t.value;o++){let i=Ht(e,n);if(i===Jr){if(t.value===1/0)break;throw new Error(`${L} got unexpected break to lengthed array`)}if(i===Un)throw new Error(`${L} found array but not enough entries (got ${o}, expected ${t.value})`);r[o]=i}return r}function Dp(t,e,n){let r=n.useMaps===!0,o=n.rejectDuplicateMapKeys===!0,i=r?void 0:{},a=r?new Map:void 0;for(let s=0;s<t.value;s++){let c=Ht(e,n);if(c===Jr){if(t.value===1/0)break;throw new Error(`${L} got unexpected break to lengthed map`)}if(c===Un)throw new Error(`${L} found map but not enough entries (got ${s} [no key], expected ${t.value})`);if(!r&&typeof c!="string")throw new Error(`${L} non-string keys not supported (got ${typeof c})`);if(o&&(r&&a.has(c)||!r&&Object.hasOwn(i,c)))throw new Error(`${L} found repeat map key "${c}"`);let u=Ht(e,n);if(u===Un)throw new Error(`${L} found map but not enough entries (got ${s} [no value], expected ${t.value})`);r?a.set(c,u):i[c]=u}return r?a:i}function Ht(t,e){if(t.done())return Un;let n=t.next();if(y.equals(n.type,y.break))return Jr;if(n.type.terminal)return n.value;if(y.equals(n.type,y.array))return Rp(n,t,e);if(y.equals(n.type,y.map))return Dp(n,t,e);if(y.equals(n.type,y.tag)){if(e.tags&&typeof e.tags[n.value]=="function"){let r=Ht(t,e);return e.tags[n.value](r)}throw new Error(`${L} tag not supported (${n.value})`)}throw new Error("unsupported")}function Uu(t,e){if(!(t instanceof Uint8Array))throw new Error(`${L} data to decode must be a Uint8Array`);e=Object.assign({},Up,e);let n=En(t),r=e.tokenizer||new Hr(n,e),o=Ht(r,e);if(o===Un)throw new Error(`${L} did not find any content to decode`);if(o===Jr)throw new Error(`${L} got unexpected break`);return[o,t.subarray(r.pos())]}function Ci(t,e){let[n,r]=Uu(t,e);if(r.length>0)throw new Error(`${L} too many terminals, data makes no sense`);return n}var $k=new Uint8Array(0);function Ru(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let n=0;n<t.byteLength;n++)if(t[n]!==e[n])return!1;return!0}function Jt(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")}function Np(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var n=new Uint8Array(256),r=0;r<n.length;r++)n[r]=255;for(var o=0;o<t.length;o++){var i=t.charAt(o),a=i.charCodeAt(0);if(n[a]!==255)throw new TypeError(i+" is ambiguous");n[a]=o}var s=t.length,c=t.charAt(0),u=Math.log(s)/Math.log(256),l=Math.log(256)/Math.log(s);function d(f){if(f instanceof Uint8Array||(ArrayBuffer.isView(f)?f=new Uint8Array(f.buffer,f.byteOffset,f.byteLength):Array.isArray(f)&&(f=Uint8Array.from(f))),!(f instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(f.length===0)return"";for(var g=0,v=0,k=0,A=f.length;k!==A&&f[k]===0;)k++,g++;for(var _=(A-k)*l+1>>>0,S=new Uint8Array(_);k!==A;){for(var x=f[k],U=0,M=_-1;(x!==0||U<v)&&M!==-1;M--,U++)x+=256*S[M]>>>0,S[M]=x%s>>>0,x=x/s>>>0;if(x!==0)throw new Error("Non-zero carry");v=U,k++}for(var B=_-v;B!==_&&S[B]===0;)B++;for(var ie=c.repeat(g);B<_;++B)ie+=t.charAt(S[B]);return ie}function p(f){if(typeof f!="string")throw new TypeError("Expected String");if(f.length===0)return new Uint8Array;var g=0;if(f[g]!==" "){for(var v=0,k=0;f[g]===c;)v++,g++;for(var A=(f.length-g)*u+1>>>0,_=new Uint8Array(A);f[g];){var S=n[f.charCodeAt(g)];if(S===255)return;for(var x=0,U=A-1;(S!==0||x<k)&&U!==-1;U--,x++)S+=s*_[U]>>>0,_[U]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");k=x,g++}if(f[g]!==" "){for(var M=A-k;M!==A&&_[M]===0;)M++;for(var B=new Uint8Array(v+(A-M)),ie=v;M!==A;)B[ie++]=_[M++];return B}}}function b(f){var g=p(f);if(g)return g;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:p,decode:b}}var Cp=Np,Lp=Cp,Du=Lp;var Li=class{name;prefix;baseEncode;constructor(e,n,r){this.name=e,this.prefix=n,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Mi=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,n,r){this.name=e,this.prefix=n;let o=n.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=r}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return ju(this,e)}},Zi=class{decoders;constructor(e){this.decoders=e}or(e){return ju(this,e)}decode(e){let n=e[0],r=this.decoders[n];if(r!=null)return r.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function ju(t,e){return new Zi({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var Bi=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,n,r,o){this.name=e,this.prefix=n,this.baseEncode=r,this.baseDecode=o,this.encoder=new Li(e,n,r),this.decoder=new Mi(e,n,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function Nu({name:t,prefix:e,encode:n,decode:r}){return new Bi(t,e,n,r)}function Gt({name:t,prefix:e,alphabet:n}){let{encode:r,decode:o}=Du(n,t);return Nu({prefix:e,name:t,encode:r,decode:i=>Jt(o(i))})}function Mp(t,e,n,r){let o=t.length;for(;t[o-1]==="=";)--o;let i=new Uint8Array(o*n/8|0),a=0,s=0,c=0;for(let u=0;u<o;++u){let l=e[t[u]];if(l===void 0)throw new SyntaxError(`Non-${r} character`);s=s<<n|l,a+=n,a>=8&&(a-=8,i[c++]=255&s>>a)}if(a>=n||(255&s<<8-a)!==0)throw new SyntaxError("Unexpected end of data");return i}function Zp(t,e,n){let r=e[e.length-1]==="=",o=(1<<n)-1,i="",a=0,s=0;for(let c=0;c<t.length;++c)for(s=s<<8|t[c],a+=8;a>n;)a-=n,i+=e[o&s>>a];if(a!==0&&(i+=e[o&s<<n-a]),r)for(;(i.length*n&7)!==0;)i+="=";return i}function Bp(t){let e={};for(let n=0;n<t.length;++n)e[t[n]]=n;return e}function He({name:t,prefix:e,bitsPerChar:n,alphabet:r}){let o=Bp(r);return Nu({prefix:e,name:t,encode(i){return Zp(i,r,n)},decode(i){return Mp(i,o,n,t)}})}var Rn=He({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Pk=He({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),zk=He({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Ok=He({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Uk=He({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Rk=He({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Dk=He({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),jk=He({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Nk=He({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Gr=Gt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Mk=Gt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var rt=Gt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Fk=Gt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Fp=Mu,Cu=128,Hp=127,Jp=~Hp,Gp=Math.pow(2,31);function Mu(t,e,n){e=e||[],n=n||0;for(var r=n;t>=Gp;)e[n++]=t&255|Cu,t/=128;for(;t&Jp;)e[n++]=t&255|Cu,t>>>=7;return e[n]=t|0,Mu.bytes=n-r+1,e}var Vp=Fi,qp=128,Lu=127;function Fi(t,r){var n=0,r=r||0,o=0,i=r,a,s=t.length;do{if(i>=s)throw Fi.bytes=0,new RangeError("Could not decode varint");a=t[i++],n+=o<28?(a&Lu)<<o:(a&Lu)*Math.pow(2,o),o+=7}while(a>=qp);return Fi.bytes=i-r,n}var Kp=Math.pow(2,7),Wp=Math.pow(2,14),Xp=Math.pow(2,21),Yp=Math.pow(2,28),Qp=Math.pow(2,35),em=Math.pow(2,42),tm=Math.pow(2,49),nm=Math.pow(2,56),rm=Math.pow(2,63),om=function(t){return t<Kp?1:t<Wp?2:t<Xp?3:t<Yp?4:t<Qp?5:t<em?6:t<tm?7:t<nm?8:t<rm?9:10},im={encode:Fp,decode:Vp,encodingLength:om},am=im,Dn=am;function jn(t,e=0){return[Dn.decode(t,e),Dn.decode.bytes]}function Vt(t,e,n=0){return Dn.encode(t,e,n),e}function qt(t){return Dn.encodingLength(t)}function Bu(t,e){let n=e.byteLength,r=qt(t),o=r+qt(n),i=new Uint8Array(o+n);return Vt(t,i,0),Vt(n,i,r),i.set(e,o),new Kt(t,n,e,i)}function Fu(t){let e=Jt(t),[n,r]=jn(e),[o,i]=jn(e.subarray(r)),a=e.subarray(r+i);if(a.byteLength!==o)throw new Error("Incorrect length");return new Kt(n,o,a,e)}function Hu(t,e){if(t===e)return!0;{let n=e;return t.code===n.code&&t.size===n.size&&n.bytes instanceof Uint8Array&&Ru(t.bytes,n.bytes)}}var Kt=class{code;size;digest;bytes;constructor(e,n,r,o){this.code=e,this.size=n,this.digest=r,this.bytes=o}};function Ju(t,e){let{bytes:n,version:r}=t;return r===0?um(n,Hi(t),e??rt.encoder):lm(n,Hi(t),e??Rn.encoder)}var Gu=new WeakMap;function Hi(t){let e=Gu.get(t);if(e==null){let n=new Map;return Gu.set(t,n),n}return e}var Cn=class t{code;version;multihash;bytes;"/";constructor(e,n,r,o){this.code=n,this.version=e,this.multihash=r,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:n}=this;if(e!==Nn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(n.code!==dm)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(n)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:n}=this.multihash,r=Bu(e,n);return t.createV1(this.code,r)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,n){let r=n;return r!=null&&e.code===r.code&&e.version===r.version&&Hu(e.multihash,r.multihash)}toString(e){return Ju(this,e)}toJSON(){return{"/":Ju(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let n=e;if(n instanceof t)return n;if(n["/"]!=null&&n["/"]===n.bytes||n.asCID===n){let{version:r,code:o,multihash:i,bytes:a}=n;return new t(r,o,i,a??Vu(r,o,i.bytes))}else if(n[fm]===!0){let{version:r,multihash:o,code:i}=n,a=Fu(o);return t.create(r,i,a)}else return null}static create(e,n,r){if(typeof n!="number")throw new Error("String codecs are no longer supported");if(!(r.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(n!==Nn)throw new Error(`Version 0 CID must use dag-pb (code: ${Nn}) block encoding`);return new t(e,n,r,r.bytes)}case 1:{let o=Vu(e,n,r.bytes);return new t(e,n,r,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Nn,e)}static createV1(e,n){return t.create(1,e,n)}static decode(e){let[n,r]=t.decodeFirst(e);if(r.length!==0)throw new Error("Incorrect length");return n}static decodeFirst(e){let n=t.inspectBytes(e),r=n.size-n.multihashSize,o=Jt(e.subarray(r,r+n.multihashSize));if(o.byteLength!==n.multihashSize)throw new Error("Incorrect length");let i=o.subarray(n.multihashSize-n.digestSize),a=new Kt(n.multihashCode,n.digestSize,i,o);return[n.version===0?t.createV0(a):t.createV1(n.codec,a),e.subarray(n.size)]}static inspectBytes(e){let n=0,r=()=>{let[d,p]=jn(e.subarray(n));return n+=p,d},o=r(),i=Nn;if(o===18?(o=0,n=0):i=r(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let a=n,s=r(),c=r(),u=n+c,l=u-a;return{version:o,codec:i,multihashCode:s,digestSize:c,multihashSize:l,size:u}}static parse(e,n){let[r,o]=cm(e,n),i=t.decode(o);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Hi(i).set(r,e),i}};function cm(t,e){switch(t[0]){case"Q":{let n=e??rt;return[rt.prefix,n.decode(`${rt.prefix}${t}`)]}case rt.prefix:{let n=e??rt;return[rt.prefix,n.decode(t)]}case Rn.prefix:{let n=e??Rn;return[Rn.prefix,n.decode(t)]}case Gr.prefix:{let n=e??Gr;return[Gr.prefix,n.decode(t)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function um(t,e,n){let{prefix:r}=n;if(r!==rt.prefix)throw Error(`Cannot string encode V0 in ${n.name} encoding`);let o=e.get(r);if(o==null){let i=n.encode(t).slice(1);return e.set(r,i),i}else return o}function lm(t,e,n){let{prefix:r}=n,o=e.get(r);if(o==null){let i=n.encode(t);return e.set(r,i),i}else return o}var Nn=112,dm=18;function Vu(t,e,n){let r=qt(t),o=r+qt(e),i=new Uint8Array(o+n.byteLength);return Vt(t,i,0),Vt(e,i,r),i.set(n,o),i}var fm=Symbol.for("@ipld/js-cid/CID");var qu=42;function pm(t){return t instanceof ArrayBuffer?new Uint8Array(t,0,t.byteLength):t}function mm(t){if(t.asCID!==t&&t["/"]!==t.bytes)return null;let e=Cn.asCID(t);if(!e)return null;let n=new Uint8Array(e.bytes.byteLength+1);return n.set(e.bytes,1),[new E(y.tag,qu),new E(y.bytes,n)]}function hm(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function gm(t){if(Number.isNaN(t))throw new Error("`NaN` is not supported by the IPLD Data Model and cannot be encoded");if(t===1/0||t===-1/0)throw new Error("`Infinity` and `-Infinity` is not supported by the IPLD Data Model and cannot be encoded");return null}function ym(t){for(let e of t.keys())if(typeof e!="string"||e.length===0)throw new Error("Non-string Map keys are not supported by the IPLD Data Model and cannot be encoded");return null}var Ji={float64:!0,typeEncoders:{Map:ym,Object:mm,undefined:hm,number:gm}},tI={...Ji,typeEncoders:{...Ji.typeEncoders}};function vm(t){if(t[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");return Cn.decode(t.subarray(1))}var Vr={allowIndefinite:!1,coerceUndefinedToNull:!0,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};Vr.tags[qu]=vm;var nI={...Vr,tags:Vr.tags.slice()};var Ee=t=>Ni(t,Ji),Je=t=>Ci(pm(t),Vr);function bm(t,e){try{var n=t()}catch(r){return e(r)}return n&&n.then?n.then(void 0,e):n}function wm(){let t=new Map;return function(e,n){try{let o=function(a){if(r)return a;let s=t.get(e.didUrl);return s!==void 0?s:Promise.resolve(n()).then(function(c){var u;return((u=c.didResolutionMetadata)==null?void 0:u.error)!=="notFound"&&t.set(e.didUrl,c),c})},r,i=(function(){if(e.params&&e.params["no-cache"]==="true")return Promise.resolve(n()).then(function(a){return r=1,a})})();return Promise.resolve(i&&i.then?i.then(o):o(i))}catch(r){return Promise.reject(r)}}}function _m(t,e){return e()}var xm="(?:%[0-9a-fA-F]{2})",Ku=`(?:[a-zA-Z0-9._-]|${xm})`,$m="([a-z0-9]+)",Sm=`((?:${Ku}*:)*(${Ku}+))`,Wu="[a-zA-Z0-9_.:%-]",Em=`;${Wu}+=${Wu}*`,km=`((${Em})*)`,Im="(/[^#?]*)?",Am="([?][^#]*)?",Tm="(#.*)?",Pm=new RegExp(`^did:${$m}:${Sm}${km}${Im}${Am}${Tm}$`);function zm(t){if(t===""||!t)return null;let e=t.match(Pm);if(e){let n={did:`did:${e[1]}:${e[2]}`,method:e[1],id:e[2],didUrl:t};if(e[4]){let r=e[4].slice(1).split(";");n.params={};for(let o of r){let i=o.split("=");n.params[i[0]]=i[1]}}return e[6]&&(n.path=e[6]),e[7]&&(n.query=e[7].slice(1)),e[8]&&(n.fragment=e[8].slice(1)),n}return null}var qr={didResolutionMetadata:{},didDocument:null,didDocumentMetadata:{}};function Om(t){return function(e,n,r){try{return Promise.resolve(bm(function(){return Promise.resolve(t(e,n,r)).then(function(o){return{...qr,didResolutionMetadata:{contentType:"application/did+ld+json"},didDocument:o}})},function(o){return{...qr,didResolutionMetadata:{error:"notFound",message:o.toString()}}}))}catch(o){return Promise.reject(o)}}}var Kr=class{constructor(e={},n={}){this.registry=void 0,this.cache=void 0,this.registry=e,this.cache=n.cache===!0?wm():n.cache||_m,n.legacyResolvers&&Object.keys(n.legacyResolvers).map(r=>{this.registry[r]||(this.registry[r]=Om(n.legacyResolvers[r]))})}resolve(e,n={}){try{let r=this,o=zm(e);if(o===null)return Promise.resolve({...qr,didResolutionMetadata:{error:"invalidDid"}});let i=r.registry[o.method];return i?Promise.resolve(r.cache(o,()=>i(o.did,o,r,n))):Promise.resolve({...qr,didResolutionMetadata:{error:"unsupportedDidMethod"}})}catch(r){return Promise.reject(r)}}};function Ln(t,e){return function(){return t.apply(e,arguments)}}var{toString:Um}=Object.prototype,{getPrototypeOf:Vi}=Object,{iterator:Xr,toStringTag:el}=Symbol,Yr=(t=>e=>{let n=Um.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Ce=t=>(t=t.toLowerCase(),e=>Yr(e)===t),Qr=t=>e=>typeof e===t,{isArray:Xt}=Array,Wt=Qr("undefined");function Mn(t){return t!==null&&!Wt(t)&&t.constructor!==null&&!Wt(t.constructor)&&ge(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}var tl=Ce("ArrayBuffer");function Rm(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&tl(t.buffer),e}var Dm=Qr("string"),ge=Qr("function"),nl=Qr("number"),Zn=t=>t!==null&&typeof t=="object",jm=t=>t===!0||t===!1,Wr=t=>{if(Yr(t)!=="object")return!1;let e=Vi(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(el in t)&&!(Xr in t)},Nm=t=>{if(!Zn(t)||Mn(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},Cm=Ce("Date"),Lm=Ce("File"),Mm=t=>!!(t&&typeof t.uri<"u"),Zm=t=>t&&typeof t.getParts<"u",Bm=Ce("Blob"),Fm=Ce("FileList"),Hm=t=>Zn(t)&&ge(t.pipe);function Jm(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}var Xu=Jm(),Yu=typeof Xu.FormData<"u"?Xu.FormData:void 0,Gm=t=>{let e;return t&&(Yu&&t instanceof Yu||ge(t.append)&&((e=Yr(t))==="formdata"||e==="object"&&ge(t.toString)&&t.toString()==="[object FormData]"))},Vm=Ce("URLSearchParams"),[qm,Km,Wm,Xm]=["ReadableStream","Request","Response","Headers"].map(Ce),Ym=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Bn(t,e,{allOwnKeys:n=!1}={}){if(t===null||typeof t>"u")return;let r,o;if(typeof t!="object"&&(t=[t]),Xt(t))for(r=0,o=t.length;r<o;r++)e.call(null,t[r],r,t);else{if(Mn(t))return;let i=n?Object.getOwnPropertyNames(t):Object.keys(t),a=i.length,s;for(r=0;r<a;r++)s=i[r],e.call(null,t[s],s,t)}}function rl(t,e){if(Mn(t))return null;e=e.toLowerCase();let n=Object.keys(t),r=n.length,o;for(;r-- >0;)if(o=n[r],e===o.toLowerCase())return o;return null}var $t=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,ol=t=>!Wt(t)&&t!==$t;function Gi(){let{caseless:t,skipUndefined:e}=ol(this)&&this||{},n={},r=(o,i)=>{if(i==="__proto__"||i==="constructor"||i==="prototype")return;let a=t&&rl(n,i)||i;Wr(n[a])&&Wr(o)?n[a]=Gi(n[a],o):Wr(o)?n[a]=Gi({},o):Xt(o)?n[a]=o.slice():(!e||!Wt(o))&&(n[a]=o)};for(let o=0,i=arguments.length;o<i;o++)arguments[o]&&Bn(arguments[o],r);return n}var Qm=(t,e,n,{allOwnKeys:r}={})=>(Bn(e,(o,i)=>{n&&ge(o)?Object.defineProperty(t,i,{value:Ln(o,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(t,i,{value:o,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),t),eh=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),th=(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),Object.defineProperty(t.prototype,"constructor",{value:t,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},nh=(t,e,n,r)=>{let o,i,a,s={};if(e=e||{},t==null)return e;do{for(o=Object.getOwnPropertyNames(t),i=o.length;i-- >0;)a=o[i],(!r||r(a,t,e))&&!s[a]&&(e[a]=t[a],s[a]=!0);t=n!==!1&&Vi(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},rh=(t,e,n)=>{t=String(t),(n===void 0||n>t.length)&&(n=t.length),n-=e.length;let r=t.indexOf(e,n);return r!==-1&&r===n},oh=t=>{if(!t)return null;if(Xt(t))return t;let e=t.length;if(!nl(e))return null;let n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},ih=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&Vi(Uint8Array)),ah=(t,e)=>{let r=(t&&t[Xr]).call(t),o;for(;(o=r.next())&&!o.done;){let i=o.value;e.call(t,i[0],i[1])}},sh=(t,e)=>{let n,r=[];for(;(n=t.exec(e))!==null;)r.push(n);return r},ch=Ce("HTMLFormElement"),uh=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,o){return r.toUpperCase()+o}),Qu=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),lh=Ce("RegExp"),il=(t,e)=>{let n=Object.getOwnPropertyDescriptors(t),r={};Bn(n,(o,i)=>{let a;(a=e(o,i,t))!==!1&&(r[i]=a||o)}),Object.defineProperties(t,r)},dh=t=>{il(t,(e,n)=>{if(ge(t)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;let r=t[n];if(ge(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},fh=(t,e)=>{let n={},r=o=>{o.forEach(i=>{n[i]=!0})};return Xt(t)?r(t):r(String(t).split(e)),n},ph=()=>{},mh=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function hh(t){return!!(t&&ge(t.append)&&t[el]==="FormData"&&t[Xr])}var gh=t=>{let e=new Array(10),n=(r,o)=>{if(Zn(r)){if(e.indexOf(r)>=0)return;if(Mn(r))return r;if(!("toJSON"in r)){e[o]=r;let i=Xt(r)?[]:{};return Bn(r,(a,s)=>{let c=n(a,o+1);!Wt(c)&&(i[s]=c)}),e[o]=void 0,i}}return r};return n(t,0)},yh=Ce("AsyncFunction"),vh=t=>t&&(Zn(t)||ge(t))&&ge(t.then)&&ge(t.catch),al=((t,e)=>t?setImmediate:e?((n,r)=>($t.addEventListener("message",({source:o,data:i})=>{o===$t&&i===n&&r.length&&r.shift()()},!1),o=>{r.push(o),$t.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",ge($t.postMessage)),bh=typeof queueMicrotask<"u"?queueMicrotask.bind($t):typeof process<"u"&&process.nextTick||al,wh=t=>t!=null&&ge(t[Xr]),m={isArray:Xt,isArrayBuffer:tl,isBuffer:Mn,isFormData:Gm,isArrayBufferView:Rm,isString:Dm,isNumber:nl,isBoolean:jm,isObject:Zn,isPlainObject:Wr,isEmptyObject:Nm,isReadableStream:qm,isRequest:Km,isResponse:Wm,isHeaders:Xm,isUndefined:Wt,isDate:Cm,isFile:Lm,isReactNativeBlob:Mm,isReactNative:Zm,isBlob:Bm,isRegExp:lh,isFunction:ge,isStream:Hm,isURLSearchParams:Vm,isTypedArray:ih,isFileList:Fm,forEach:Bn,merge:Gi,extend:Qm,trim:Ym,stripBOM:eh,inherits:th,toFlatObject:nh,kindOf:Yr,kindOfTest:Ce,endsWith:rh,toArray:oh,forEachEntry:ah,matchAll:sh,isHTMLForm:ch,hasOwnProperty:Qu,hasOwnProp:Qu,reduceDescriptors:il,freezeMethods:dh,toObjectSet:fh,toCamelCase:uh,noop:ph,toFiniteNumber:mh,findKey:rl,global:$t,isContextDefined:ol,isSpecCompliantForm:hh,toJSONObject:gh,isAsyncFn:yh,isThenable:vh,setImmediate:al,asap:bh,isIterable:wh};var pe=class t extends Error{static from(e,n,r,o,i,a){let s=new t(e.message,n||e.code,r,o,i);return s.cause=e,s.name=e.name,e.status!=null&&s.status==null&&(s.status=e.status),a&&Object.assign(s,a),s}constructor(e,n,r,o,i){super(e),Object.defineProperty(this,"message",{value:e,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,n&&(this.code=n),r&&(this.config=r),o&&(this.request=o),i&&(this.response=i,this.status=i.status)}toJSON(){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:m.toJSONObject(this.config),code:this.code,status:this.status}}};pe.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";pe.ERR_BAD_OPTION="ERR_BAD_OPTION";pe.ECONNABORTED="ECONNABORTED";pe.ETIMEDOUT="ETIMEDOUT";pe.ERR_NETWORK="ERR_NETWORK";pe.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";pe.ERR_DEPRECATED="ERR_DEPRECATED";pe.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";pe.ERR_BAD_REQUEST="ERR_BAD_REQUEST";pe.ERR_CANCELED="ERR_CANCELED";pe.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";pe.ERR_INVALID_URL="ERR_INVALID_URL";var N=pe;var eo=null;function Ki(t){return m.isPlainObject(t)||m.isArray(t)}function sl(t){return m.endsWith(t,"[]")?t.slice(0,-2):t}function qi(t,e,n){return t?t.concat(e).map(function(o,i){return o=sl(o),!n&&i?"["+o+"]":o}).join(n?".":""):e}function _h(t){return m.isArray(t)&&!t.some(Ki)}var xh=m.toFlatObject(m,{},null,function(e){return/^is[A-Z]/.test(e)});function $h(t,e,n){if(!m.isObject(t))throw new TypeError("target must be an object");e=e||new(eo||FormData),n=m.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,v){return!m.isUndefined(v[g])});let r=n.metaTokens,o=n.visitor||l,i=n.dots,a=n.indexes,c=(n.Blob||typeof Blob<"u"&&Blob)&&m.isSpecCompliantForm(e);if(!m.isFunction(o))throw new TypeError("visitor must be a function");function u(f){if(f===null)return"";if(m.isDate(f))return f.toISOString();if(m.isBoolean(f))return f.toString();if(!c&&m.isBlob(f))throw new N("Blob is not supported. Use a Buffer instead.");return m.isArrayBuffer(f)||m.isTypedArray(f)?c&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function l(f,g,v){let k=f;if(m.isReactNative(e)&&m.isReactNativeBlob(f))return e.append(qi(v,g,i),u(f)),!1;if(f&&!v&&typeof f=="object"){if(m.endsWith(g,"{}"))g=r?g:g.slice(0,-2),f=JSON.stringify(f);else if(m.isArray(f)&&_h(f)||(m.isFileList(f)||m.endsWith(g,"[]"))&&(k=m.toArray(f)))return g=sl(g),k.forEach(function(_,S){!(m.isUndefined(_)||_===null)&&e.append(a===!0?qi([g],S,i):a===null?g:g+"[]",u(_))}),!1}return Ki(f)?!0:(e.append(qi(v,g,i),u(f)),!1)}let d=[],p=Object.assign(xh,{defaultVisitor:l,convertValue:u,isVisitable:Ki});function b(f,g){if(!m.isUndefined(f)){if(d.indexOf(f)!==-1)throw Error("Circular reference detected in "+g.join("."));d.push(f),m.forEach(f,function(k,A){(!(m.isUndefined(k)||k===null)&&o.call(e,k,m.isString(A)?A.trim():A,g,p))===!0&&b(k,g?g.concat(A):[A])}),d.pop()}}if(!m.isObject(t))throw new TypeError("data must be an object");return b(t),e}var dt=$h;function cl(t){let e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(r){return e[r]})}function ul(t,e){this._pairs=[],t&&dt(t,this,e)}var ll=ul.prototype;ll.append=function(e,n){this._pairs.push([e,n])};ll.toString=function(e){let n=e?function(r){return e.call(this,r,cl)}:cl;return this._pairs.map(function(o){return n(o[0])+"="+n(o[1])},"").join("&")};var to=ul;function Sh(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Fn(t,e,n){if(!e)return t;let r=n&&n.encode||Sh,o=m.isFunction(n)?{serialize:n}:n,i=o&&o.serialize,a;if(i?a=i(e,o):a=m.isURLSearchParams(e)?e.toString():new to(e,o).toString(r),a){let s=t.indexOf("#");s!==-1&&(t=t.slice(0,s)),t+=(t.indexOf("?")===-1?"?":"&")+a}return t}var Wi=class{constructor(){this.handlers=[]}use(e,n,r){return this.handlers.push({fulfilled:e,rejected:n,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){m.forEach(this.handlers,function(r){r!==null&&e(r)})}},Xi=Wi;var Yt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0};var dl=typeof URLSearchParams<"u"?URLSearchParams:to;var fl=typeof FormData<"u"?FormData:null;var pl=typeof Blob<"u"?Blob:null;var ml={isBrowser:!0,classes:{URLSearchParams:dl,FormData:fl,Blob:pl},protocols:["http","https","file","blob","url","data"]};var ea={};of(ea,{hasBrowserEnv:()=>Qi,hasStandardBrowserEnv:()=>Eh,hasStandardBrowserWebWorkerEnv:()=>kh,navigator:()=>Yi,origin:()=>Ih});var Qi=typeof window<"u"&&typeof document<"u",Yi=typeof navigator=="object"&&navigator||void 0,Eh=Qi&&(!Yi||["ReactNative","NativeScript","NS"].indexOf(Yi.product)<0),kh=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Ih=Qi&&window.location.href||"http://localhost";var Y={...ea,...ml};function ta(t,e){return dt(t,new Y.classes.URLSearchParams,{visitor:function(n,r,o,i){return Y.isNode&&m.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...e})}function Ah(t){return m.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Th(t){let e={},n=Object.keys(t),r,o=n.length,i;for(r=0;r<o;r++)i=n[r],e[i]=t[i];return e}function Ph(t){function e(n,r,o,i){let a=n[i++];if(a==="__proto__")return!0;let s=Number.isFinite(+a),c=i>=n.length;return a=!a&&m.isArray(o)?o.length:a,c?(m.hasOwnProp(o,a)?o[a]=[o[a],r]:o[a]=r,!s):((!o[a]||!m.isObject(o[a]))&&(o[a]=[]),e(n,r,o[a],i)&&m.isArray(o[a])&&(o[a]=Th(o[a])),!s)}if(m.isFormData(t)&&m.isFunction(t.entries)){let n={};return m.forEachEntry(t,(r,o)=>{e(Ah(r),o,n,0)}),n}return null}var no=Ph;function zh(t,e,n){if(m.isString(t))try{return(e||JSON.parse)(t),m.trim(t)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(t)}var na={transitional:Yt,adapter:["xhr","http","fetch"],transformRequest:[function(e,n){let r=n.getContentType()||"",o=r.indexOf("application/json")>-1,i=m.isObject(e);if(i&&m.isHTMLForm(e)&&(e=new FormData(e)),m.isFormData(e))return o?JSON.stringify(no(e)):e;if(m.isArrayBuffer(e)||m.isBuffer(e)||m.isStream(e)||m.isFile(e)||m.isBlob(e)||m.isReadableStream(e))return e;if(m.isArrayBufferView(e))return e.buffer;if(m.isURLSearchParams(e))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return ta(e,this.formSerializer).toString();if((s=m.isFileList(e))||r.indexOf("multipart/form-data")>-1){let c=this.env&&this.env.FormData;return dt(s?{"files[]":e}:e,c&&new c,this.formSerializer)}}return i||o?(n.setContentType("application/json",!1),zh(e)):e}],transformResponse:[function(e){let n=this.transitional||na.transitional,r=n&&n.forcedJSONParsing,o=this.responseType==="json";if(m.isResponse(e)||m.isReadableStream(e))return e;if(e&&m.isString(e)&&(r&&!this.responseType||o)){let a=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(e,this.parseReviver)}catch(s){if(a)throw s.name==="SyntaxError"?N.from(s,N.ERR_BAD_RESPONSE,this,null,this.response):s}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Y.classes.FormData,Blob:Y.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};m.forEach(["delete","get","head","post","put","patch"],t=>{na.headers[t]={}});var Qt=na;var Oh=m.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"]),hl=t=>{let e={},n,r,o;return t&&t.split(`
|
|
3
|
+
`).forEach(function(a){o=a.indexOf(":"),n=a.substring(0,o).trim().toLowerCase(),r=a.substring(o+1).trim(),!(!n||e[n]&&Oh[n])&&(n==="set-cookie"?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)}),e};var gl=Symbol("internals");function Hn(t){return t&&String(t).trim().toLowerCase()}function ro(t){return t===!1||t==null?t:m.isArray(t)?t.map(ro):String(t)}function Uh(t){let e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}var Rh=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function ra(t,e,n,r,o){if(m.isFunction(r))return r.call(this,e,n);if(o&&(e=n),!!m.isString(e)){if(m.isString(r))return e.indexOf(r)!==-1;if(m.isRegExp(r))return r.test(e)}}function Dh(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,r)=>n.toUpperCase()+r)}function jh(t,e){let n=m.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(t,r+n,{value:function(o,i,a){return this[r].call(this,e,o,i,a)},configurable:!0})})}var en=class{constructor(e){e&&this.set(e)}set(e,n,r){let o=this;function i(s,c,u){let l=Hn(c);if(!l)throw new Error("header name must be a non-empty string");let d=m.findKey(o,l);(!d||o[d]===void 0||u===!0||u===void 0&&o[d]!==!1)&&(o[d||c]=ro(s))}let a=(s,c)=>m.forEach(s,(u,l)=>i(u,l,c));if(m.isPlainObject(e)||e instanceof this.constructor)a(e,n);else if(m.isString(e)&&(e=e.trim())&&!Rh(e))a(hl(e),n);else if(m.isObject(e)&&m.isIterable(e)){let s={},c,u;for(let l of e){if(!m.isArray(l))throw TypeError("Object iterator must return a key-value pair");s[u=l[0]]=(c=s[u])?m.isArray(c)?[...c,l[1]]:[c,l[1]]:l[1]}a(s,n)}else e!=null&&i(n,e,r);return this}get(e,n){if(e=Hn(e),e){let r=m.findKey(this,e);if(r){let o=this[r];if(!n)return o;if(n===!0)return Uh(o);if(m.isFunction(n))return n.call(this,o,r);if(m.isRegExp(n))return n.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,n){if(e=Hn(e),e){let r=m.findKey(this,e);return!!(r&&this[r]!==void 0&&(!n||ra(this,this[r],r,n)))}return!1}delete(e,n){let r=this,o=!1;function i(a){if(a=Hn(a),a){let s=m.findKey(r,a);s&&(!n||ra(r,r[s],s,n))&&(delete r[s],o=!0)}}return m.isArray(e)?e.forEach(i):i(e),o}clear(e){let n=Object.keys(this),r=n.length,o=!1;for(;r--;){let i=n[r];(!e||ra(this,this[i],i,e,!0))&&(delete this[i],o=!0)}return o}normalize(e){let n=this,r={};return m.forEach(this,(o,i)=>{let a=m.findKey(r,i);if(a){n[a]=ro(o),delete n[i];return}let s=e?Dh(i):String(i).trim();s!==i&&delete n[i],n[s]=ro(o),r[s]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let n=Object.create(null);return m.forEach(this,(r,o)=>{r!=null&&r!==!1&&(n[o]=e&&m.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,n])=>e+": "+n).join(`
|
|
4
|
+
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...n){let r=new this(e);return n.forEach(o=>r.set(o)),r}static accessor(e){let r=(this[gl]=this[gl]={accessors:{}}).accessors,o=this.prototype;function i(a){let s=Hn(a);r[s]||(jh(o,a),r[s]=!0)}return m.isArray(e)?e.forEach(i):i(e),this}};en.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);m.reduceDescriptors(en.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(r){this[n]=r}}});m.freezeMethods(en);var oe=en;function Jn(t,e){let n=this||Qt,r=e||n,o=oe.from(r.headers),i=r.data;return m.forEach(t,function(s){i=s.call(n,i,o.normalize(),e?e.status:void 0)}),o.normalize(),i}function Gn(t){return!!(t&&t.__CANCEL__)}var oa=class extends N{constructor(e,n,r){super(e??"canceled",N.ERR_CANCELED,n,r),this.name="CanceledError",this.__CANCEL__=!0}},Ge=oa;function Vn(t,e,n){let r=n.config.validateStatus;!n.status||!r||r(n.status)?t(n):e(new N("Request failed with status code "+n.status,[N.ERR_BAD_REQUEST,N.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function ia(t){let e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function Nh(t,e){t=t||10;let n=new Array(t),r=new Array(t),o=0,i=0,a;return e=e!==void 0?e:1e3,function(c){let u=Date.now(),l=r[i];a||(a=u),n[o]=c,r[o]=u;let d=i,p=0;for(;d!==o;)p+=n[d++],d=d%t;if(o=(o+1)%t,o===i&&(i=(i+1)%t),u-a<e)return;let b=l&&u-l;return b?Math.round(p*1e3/b):void 0}}var yl=Nh;function Ch(t,e){let n=0,r=1e3/e,o,i,a=(u,l=Date.now())=>{n=l,o=null,i&&(clearTimeout(i),i=null),t(...u)};return[(...u)=>{let l=Date.now(),d=l-n;d>=r?a(u,l):(o=u,i||(i=setTimeout(()=>{i=null,a(o)},r-d)))},()=>o&&a(o)]}var vl=Ch;var tn=(t,e,n=3)=>{let r=0,o=yl(50,250);return vl(i=>{let a=i.loaded,s=i.lengthComputable?i.total:void 0,c=a-r,u=o(c),l=a<=s;r=a;let d={loaded:a,total:s,progress:s?a/s:void 0,bytes:c,rate:u||void 0,estimated:u&&s&&l?(s-a)/u:void 0,event:i,lengthComputable:s!=null,[e?"download":"upload"]:!0};t(d)},n)},aa=(t,e)=>{let n=t!=null;return[r=>e[0]({lengthComputable:n,total:t,loaded:r}),e[1]]},sa=t=>(...e)=>m.asap(()=>t(...e));var bl=Y.hasStandardBrowserEnv?((t,e)=>n=>(n=new URL(n,Y.origin),t.protocol===n.protocol&&t.host===n.host&&(e||t.port===n.port)))(new URL(Y.origin),Y.navigator&&/(msie|trident)/i.test(Y.navigator.userAgent)):()=>!0;var wl=Y.hasStandardBrowserEnv?{write(t,e,n,r,o,i,a){if(typeof document>"u")return;let s=[`${t}=${encodeURIComponent(e)}`];m.isNumber(n)&&s.push(`expires=${new Date(n).toUTCString()}`),m.isString(r)&&s.push(`path=${r}`),m.isString(o)&&s.push(`domain=${o}`),i===!0&&s.push("secure"),m.isString(a)&&s.push(`SameSite=${a}`),document.cookie=s.join("; ")},read(t){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp("(?:^|; )"+t+"=([^;]*)"));return e?decodeURIComponent(e[1]):null},remove(t){this.write(t,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function ca(t){return typeof t!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function ua(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function qn(t,e,n){let r=!ca(e);return t&&(r||n==!1)?ua(t,e):e}var _l=t=>t instanceof oe?{...t}:t;function Le(t,e){e=e||{};let n={};function r(u,l,d,p){return m.isPlainObject(u)&&m.isPlainObject(l)?m.merge.call({caseless:p},u,l):m.isPlainObject(l)?m.merge({},l):m.isArray(l)?l.slice():l}function o(u,l,d,p){if(m.isUndefined(l)){if(!m.isUndefined(u))return r(void 0,u,d,p)}else return r(u,l,d,p)}function i(u,l){if(!m.isUndefined(l))return r(void 0,l)}function a(u,l){if(m.isUndefined(l)){if(!m.isUndefined(u))return r(void 0,u)}else return r(void 0,l)}function s(u,l,d){if(d in e)return r(u,l);if(d in t)return r(void 0,u)}let c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(u,l,d)=>o(_l(u),_l(l),d,!0)};return m.forEach(Object.keys({...t,...e}),function(l){if(l==="__proto__"||l==="constructor"||l==="prototype")return;let d=m.hasOwnProp(c,l)?c[l]:o,p=d(t[l],e[l],l);m.isUndefined(p)&&d!==s||(n[l]=p)}),n}var oo=t=>{let e=Le({},t),{data:n,withXSRFToken:r,xsrfHeaderName:o,xsrfCookieName:i,headers:a,auth:s}=e;if(e.headers=a=oe.from(a),e.url=Fn(qn(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),s&&a.set("Authorization","Basic "+btoa((s.username||"")+":"+(s.password?unescape(encodeURIComponent(s.password)):""))),m.isFormData(n)){if(Y.hasStandardBrowserEnv||Y.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(m.isFunction(n.getHeaders)){let c=n.getHeaders(),u=["content-type","content-length"];Object.entries(c).forEach(([l,d])=>{u.includes(l.toLowerCase())&&a.set(l,d)})}}if(Y.hasStandardBrowserEnv&&(r&&m.isFunction(r)&&(r=r(e)),r||r!==!1&&bl(e.url))){let c=o&&i&&wl.read(i);c&&a.set(o,c)}return e};var Lh=typeof XMLHttpRequest<"u",xl=Lh&&function(t){return new Promise(function(n,r){let o=oo(t),i=o.data,a=oe.from(o.headers).normalize(),{responseType:s,onUploadProgress:c,onDownloadProgress:u}=o,l,d,p,b,f;function g(){b&&b(),f&&f(),o.cancelToken&&o.cancelToken.unsubscribe(l),o.signal&&o.signal.removeEventListener("abort",l)}let v=new XMLHttpRequest;v.open(o.method.toUpperCase(),o.url,!0),v.timeout=o.timeout;function k(){if(!v)return;let _=oe.from("getAllResponseHeaders"in v&&v.getAllResponseHeaders()),x={data:!s||s==="text"||s==="json"?v.responseText:v.response,status:v.status,statusText:v.statusText,headers:_,config:t,request:v};Vn(function(M){n(M),g()},function(M){r(M),g()},x),v=null}"onloadend"in v?v.onloadend=k:v.onreadystatechange=function(){!v||v.readyState!==4||v.status===0&&!(v.responseURL&&v.responseURL.indexOf("file:")===0)||setTimeout(k)},v.onabort=function(){v&&(r(new N("Request aborted",N.ECONNABORTED,t,v)),v=null)},v.onerror=function(S){let x=S&&S.message?S.message:"Network Error",U=new N(x,N.ERR_NETWORK,t,v);U.event=S||null,r(U),v=null},v.ontimeout=function(){let S=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded",x=o.transitional||Yt;o.timeoutErrorMessage&&(S=o.timeoutErrorMessage),r(new N(S,x.clarifyTimeoutError?N.ETIMEDOUT:N.ECONNABORTED,t,v)),v=null},i===void 0&&a.setContentType(null),"setRequestHeader"in v&&m.forEach(a.toJSON(),function(S,x){v.setRequestHeader(x,S)}),m.isUndefined(o.withCredentials)||(v.withCredentials=!!o.withCredentials),s&&s!=="json"&&(v.responseType=o.responseType),u&&([p,f]=tn(u,!0),v.addEventListener("progress",p)),c&&v.upload&&([d,b]=tn(c),v.upload.addEventListener("progress",d),v.upload.addEventListener("loadend",b)),(o.cancelToken||o.signal)&&(l=_=>{v&&(r(!_||_.type?new Ge(null,t,v):_),v.abort(),v=null)},o.cancelToken&&o.cancelToken.subscribe(l),o.signal&&(o.signal.aborted?l():o.signal.addEventListener("abort",l)));let A=ia(o.url);if(A&&Y.protocols.indexOf(A)===-1){r(new N("Unsupported protocol "+A+":",N.ERR_BAD_REQUEST,t));return}v.send(i||null)})};var Mh=(t,e)=>{let{length:n}=t=t?t.filter(Boolean):[];if(e||n){let r=new AbortController,o,i=function(u){if(!o){o=!0,s();let l=u instanceof Error?u:this.reason;r.abort(l instanceof N?l:new Ge(l instanceof Error?l.message:l))}},a=e&&setTimeout(()=>{a=null,i(new N(`timeout of ${e}ms exceeded`,N.ETIMEDOUT))},e),s=()=>{t&&(a&&clearTimeout(a),a=null,t.forEach(u=>{u.unsubscribe?u.unsubscribe(i):u.removeEventListener("abort",i)}),t=null)};t.forEach(u=>u.addEventListener("abort",i));let{signal:c}=r;return c.unsubscribe=()=>m.asap(s),c}},$l=Mh;var Zh=function*(t,e){let n=t.byteLength;if(!e||n<e){yield t;return}let r=0,o;for(;r<n;)o=r+e,yield t.slice(r,o),r=o},Bh=async function*(t,e){for await(let n of Fh(t))yield*Zh(n,e)},Fh=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}let e=t.getReader();try{for(;;){let{done:n,value:r}=await e.read();if(n)break;yield r}}finally{await e.cancel()}},la=(t,e,n,r)=>{let o=Bh(t,e),i=0,a,s=c=>{a||(a=!0,r&&r(c))};return new ReadableStream({async pull(c){try{let{done:u,value:l}=await o.next();if(u){s(),c.close();return}let d=l.byteLength;if(n){let p=i+=d;n(p)}c.enqueue(new Uint8Array(l))}catch(u){throw s(u),u}},cancel(c){return s(c),o.return()}},{highWaterMark:2})};var Sl=64*1024,{isFunction:io}=m,Hh=(({Request:t,Response:e})=>({Request:t,Response:e}))(m.global),{ReadableStream:El,TextEncoder:kl}=m.global,Il=(t,...e)=>{try{return!!t(...e)}catch{return!1}},Jh=t=>{t=m.merge.call({skipUndefined:!0},Hh,t);let{fetch:e,Request:n,Response:r}=t,o=e?io(e):typeof fetch=="function",i=io(n),a=io(r);if(!o)return!1;let s=o&&io(El),c=o&&(typeof kl=="function"?(f=>g=>f.encode(g))(new kl):async f=>new Uint8Array(await new n(f).arrayBuffer())),u=i&&s&&Il(()=>{let f=!1,g=new n(Y.origin,{body:new El,method:"POST",get duplex(){return f=!0,"half"}}).headers.has("Content-Type");return f&&!g}),l=a&&s&&Il(()=>m.isReadableStream(new r("").body)),d={stream:l&&(f=>f.body)};o&&["text","arrayBuffer","blob","formData","stream"].forEach(f=>{!d[f]&&(d[f]=(g,v)=>{let k=g&&g[f];if(k)return k.call(g);throw new N(`Response type '${f}' is not supported`,N.ERR_NOT_SUPPORT,v)})});let p=async f=>{if(f==null)return 0;if(m.isBlob(f))return f.size;if(m.isSpecCompliantForm(f))return(await new n(Y.origin,{method:"POST",body:f}).arrayBuffer()).byteLength;if(m.isArrayBufferView(f)||m.isArrayBuffer(f))return f.byteLength;if(m.isURLSearchParams(f)&&(f=f+""),m.isString(f))return(await c(f)).byteLength},b=async(f,g)=>{let v=m.toFiniteNumber(f.getContentLength());return v??p(g)};return async f=>{let{url:g,method:v,data:k,signal:A,cancelToken:_,timeout:S,onDownloadProgress:x,onUploadProgress:U,responseType:M,headers:B,withCredentials:ie="same-origin",fetchOptions:Ae}=oo(f),h=e||fetch;M=M?(M+"").toLowerCase():"text";let w=$l([A,_&&_.toAbortSignal()],S),O=null,Z=w&&w.unsubscribe&&(()=>{w.unsubscribe()}),q;try{if(U&&u&&v!=="get"&&v!=="head"&&(q=await b(B,k))!==0){let ce=new n(g,{method:"POST",body:k,duplex:"half"}),Rt;if(m.isFormData(k)&&(Rt=ce.headers.get("content-type"))&&B.setContentType(Rt),ce.body){let[oi,mr]=aa(q,tn(sa(U)));k=la(ce.body,Sl,oi,mr)}}m.isString(ie)||(ie=ie?"include":"omit");let z=i&&"credentials"in n.prototype,gt={...Ae,signal:w,method:v.toUpperCase(),headers:B.normalize().toJSON(),body:k,duplex:"half",credentials:z?ie:void 0};O=i&&new n(g,gt);let Te=await(i?h(O,Ae):h(g,gt)),yn=l&&(M==="stream"||M==="response");if(l&&(x||yn&&Z)){let ce={};["status","statusText","headers"].forEach(ws=>{ce[ws]=Te[ws]});let Rt=m.toFiniteNumber(Te.headers.get("content-length")),[oi,mr]=x&&aa(Rt,tn(sa(x),!0))||[];Te=new r(la(Te.body,Sl,oi,()=>{mr&&mr(),Z&&Z()}),ce)}M=M||"text";let ne=await d[m.findKey(d,M)||"text"](Te,f);return!yn&&Z&&Z(),await new Promise((ce,Rt)=>{Vn(ce,Rt,{data:ne,headers:oe.from(Te.headers),status:Te.status,statusText:Te.statusText,config:f,request:O})})}catch(z){throw Z&&Z(),z&&z.name==="TypeError"&&/Load failed|fetch/i.test(z.message)?Object.assign(new N("Network Error",N.ERR_NETWORK,f,O,z&&z.response),{cause:z.cause||z}):N.from(z,z&&z.code,f,O,z&&z.response)}}},Gh=new Map,da=t=>{let e=t&&t.env||{},{fetch:n,Request:r,Response:o}=e,i=[r,o,n],a=i.length,s=a,c,u,l=Gh;for(;s--;)c=i[s],u=l.get(c),u===void 0&&l.set(c,u=s?new Map:Jh(e)),l=u;return u},sT=da();var fa={http:eo,xhr:xl,fetch:{get:da}};m.forEach(fa,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});var Al=t=>`- ${t}`,qh=t=>m.isFunction(t)||t===null||t===!1;function Kh(t,e){t=m.isArray(t)?t:[t];let{length:n}=t,r,o,i={};for(let a=0;a<n;a++){r=t[a];let s;if(o=r,!qh(r)&&(o=fa[(s=String(r)).toLowerCase()],o===void 0))throw new N(`Unknown adapter '${s}'`);if(o&&(m.isFunction(o)||(o=o.get(e))))break;i[s||"#"+a]=o}if(!o){let a=Object.entries(i).map(([c,u])=>`adapter ${c} `+(u===!1?"is not supported by the environment":"is not available in the build")),s=n?a.length>1?`since :
|
|
5
|
+
`+a.map(Al).join(`
|
|
6
|
+
`):" "+Al(a[0]):"as no adapter specified";throw new N("There is no suitable adapter to dispatch the request "+s,"ERR_NOT_SUPPORT")}return o}var ao={getAdapter:Kh,adapters:fa};function pa(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Ge(null,t)}function so(t){return pa(t),t.headers=oe.from(t.headers),t.data=Jn.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),ao.getAdapter(t.adapter||Qt.adapter,t)(t).then(function(r){return pa(t),r.data=Jn.call(t,t.transformResponse,r),r.headers=oe.from(r.headers),r},function(r){return Gn(r)||(pa(t),r&&r.response&&(r.response.data=Jn.call(t,t.transformResponse,r.response),r.response.headers=oe.from(r.response.headers))),Promise.reject(r)})}var co="1.13.6";var uo={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{uo[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}});var Tl={};uo.transitional=function(e,n,r){function o(i,a){return"[Axios v"+co+"] Transitional option '"+i+"'"+a+(r?". "+r:"")}return(i,a,s)=>{if(e===!1)throw new N(o(a," has been removed"+(n?" in "+n:"")),N.ERR_DEPRECATED);return n&&!Tl[a]&&(Tl[a]=!0,console.warn(o(a," has been deprecated since v"+n+" and will be removed in the near future"))),e?e(i,a,s):!0}};uo.spelling=function(e){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${e}`),!0)};function Wh(t,e,n){if(typeof t!="object")throw new N("options must be an object",N.ERR_BAD_OPTION_VALUE);let r=Object.keys(t),o=r.length;for(;o-- >0;){let i=r[o],a=e[i];if(a){let s=t[i],c=s===void 0||a(s,i,t);if(c!==!0)throw new N("option "+i+" must be "+c,N.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new N("Unknown option "+i,N.ERR_BAD_OPTION)}}var Kn={assertOptions:Wh,validators:uo};var Oe=Kn.validators,nn=class{constructor(e){this.defaults=e||{},this.interceptors={request:new Xi,response:new Xi}}async request(e,n){try{return await this._request(e,n)}catch(r){if(r instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;let i=o.stack?o.stack.replace(/^.+\n/,""):"";try{r.stack?i&&!String(r.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(r.stack+=`
|
|
7
|
+
`+i):r.stack=i}catch{}}throw r}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=Le(this.defaults,n);let{transitional:r,paramsSerializer:o,headers:i}=n;r!==void 0&&Kn.assertOptions(r,{silentJSONParsing:Oe.transitional(Oe.boolean),forcedJSONParsing:Oe.transitional(Oe.boolean),clarifyTimeoutError:Oe.transitional(Oe.boolean),legacyInterceptorReqResOrdering:Oe.transitional(Oe.boolean)},!1),o!=null&&(m.isFunction(o)?n.paramsSerializer={serialize:o}:Kn.assertOptions(o,{encode:Oe.function,serialize:Oe.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Kn.assertOptions(n,{baseUrl:Oe.spelling("baseURL"),withXsrfToken:Oe.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=i&&m.merge(i.common,i[n.method]);i&&m.forEach(["delete","get","head","post","put","patch","common"],f=>{delete i[f]}),n.headers=oe.concat(a,i);let s=[],c=!0;this.interceptors.request.forEach(function(g){if(typeof g.runWhen=="function"&&g.runWhen(n)===!1)return;c=c&&g.synchronous;let v=n.transitional||Yt;v&&v.legacyInterceptorReqResOrdering?s.unshift(g.fulfilled,g.rejected):s.push(g.fulfilled,g.rejected)});let u=[];this.interceptors.response.forEach(function(g){u.push(g.fulfilled,g.rejected)});let l,d=0,p;if(!c){let f=[so.bind(this),void 0];for(f.unshift(...s),f.push(...u),p=f.length,l=Promise.resolve(n);d<p;)l=l.then(f[d++],f[d++]);return l}p=s.length;let b=n;for(;d<p;){let f=s[d++],g=s[d++];try{b=f(b)}catch(v){g.call(this,v);break}}try{l=so.call(this,b)}catch(f){return Promise.reject(f)}for(d=0,p=u.length;d<p;)l=l.then(u[d++],u[d++]);return l}getUri(e){e=Le(this.defaults,e);let n=qn(e.baseURL,e.url,e.allowAbsoluteUrls);return Fn(n,e.params,e.paramsSerializer)}};m.forEach(["delete","get","head","options"],function(e){nn.prototype[e]=function(n,r){return this.request(Le(r||{},{method:e,url:n,data:(r||{}).data}))}});m.forEach(["post","put","patch"],function(e){function n(r){return function(i,a,s){return this.request(Le(s||{},{method:e,headers:r?{"Content-Type":"multipart/form-data"}:{},url:i,data:a}))}}nn.prototype[e]=n(),nn.prototype[e+"Form"]=n(!0)});var Wn=nn;var ma=class t{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(i){n=i});let r=this;this.promise.then(o=>{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](o);r._listeners=null}),this.promise.then=o=>{let i,a=new Promise(s=>{r.subscribe(s),i=s}).then(o);return a.cancel=function(){r.unsubscribe(i)},a},e(function(i,a,s){r.reason||(r.reason=new Ge(i,a,s),n(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;let n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){let e=new AbortController,n=r=>{e.abort(r)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new t(function(o){e=o}),cancel:e}}},Pl=ma;function ha(t){return function(n){return t.apply(null,n)}}function ga(t){return m.isObject(t)&&t.isAxiosError===!0}var ya={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,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(ya).forEach(([t,e])=>{ya[e]=t});var zl=ya;function Ol(t){let e=new Wn(t),n=Ln(Wn.prototype.request,e);return m.extend(n,Wn.prototype,e,{allOwnKeys:!0}),m.extend(n,e,null,{allOwnKeys:!0}),n.create=function(o){return Ol(Le(t,o))},n}var te=Ol(Qt);te.Axios=Wn;te.CanceledError=Ge;te.CancelToken=Pl;te.isCancel=Gn;te.VERSION=co;te.toFormData=dt;te.AxiosError=N;te.Cancel=te.CanceledError;te.all=function(e){return Promise.all(e)};te.spread=ha;te.isAxiosError=ga;te.mergeConfig=Le;te.AxiosHeaders=oe;te.formToJSON=t=>no(m.isHTMLForm(t)?new FormData(t):t);te.getAdapter=ao.getAdapter;te.HttpStatusCode=zl;te.default=te;var lo=te;var{Axios:i0,AxiosError:a0,CanceledError:s0,isCancel:c0,CancelToken:u0,VERSION:l0,all:d0,Cancel:f0,isAxiosError:p0,spread:m0,toFormData:h0,AxiosHeaders:g0,HttpStatusCode:y0,formToJSON:v0,getAdapter:b0,mergeConfig:w0}=lo;function Xh(t,e){try{var n=t()}catch(r){return e(r)}return n&&n.then?n.then(void 0,e):n}function ke(t,e,n){if(!t.s){if(n instanceof va)if(n.s)e&1&&(e=n.s),n=n.v;else{n.o=ke.bind(null,t,e);return}if(n&&n.then){n.then(ke.bind(null,t,e),ke.bind(null,t,2));return}t.s=e,t.v=n;let r=t.o;r&&r(t)}}var va=(function(){function t(){}return t.prototype.then=function(e,n){let r=new t,o=this.s;if(o){let i=o&1?e:n;if(i){try{ke(r,1,i(this.v))}catch(a){ke(r,2,a)}return r}else return this}return this.o=function(i){try{let a=i.v;i.s&1?ke(r,1,e?e(a):a):n?ke(r,1,n(a)):ke(r,2,a)}catch(a){ke(r,2,a)}},r},t})();function rn(t){return t instanceof va&&t.s&1}function Yh(t,e){var n;do{var r=t();if(r&&r.then)if(rn(r))r=r.v;else{n=!0;break}var o=e();if(rn(o)&&(o=o.v),!o)return r}while(!o.then);let i=new va,a=ke.bind(null,i,2);return(n?r.then(s):o.then(c)).then(void 0,a),i;function s(u){for(r=u;o=e(),rn(o)&&(o=o.v),!!o;){if(o.then){o.then(c).then(void 0,a);return}if(r=t(),r&&r.then)if(rn(r))r=r.v;else{r.then(s).then(void 0,a);return}}ke(i,1,r)}function c(u){if(u){do{if(r=t(),r&&r.then)if(rn(r))r=r.v;else{r.then(s).then(void 0,a);return}if(u=e(),rn(u)&&(u=u.v),!u){ke(i,1,r);return}}while(!u.then);u.then(c).then(void 0,a)}else ke(i,1,r)}}function Ul(){return{plc:function(e,n){try{let o=function(){let l=typeof c?.["@context"]<"u"?"application/did+ld+json":"application/did+json";return i?{didDocument:c,didDocumentMetadata:s,didResolutionMetadata:{error:"notFound",message:i}}:{didDocument:c,didDocumentMetadata:s,didResolutionMetadata:{contentType:l}}},r,i=null,a=`https://plc.directory/${encodeURIComponent(e)}`,s={},c=null,u=Yh(function(){function l(){r||c?.id===e||(i="resolver_error: DID document id does not match requested did")}let d=Xh(function(){return Promise.resolve(lo.get(a)).then(function(p){c=p.data})},function(p){i=`resolver_error: '"https://plc.directory/" + DID' must resolve to a valid https URL containing a JSON document: ${p}`,r=1});return d&&d.then?d.then(l):l(d)},function(){return!r&&!1});return Promise.resolve(u&&u.then?u.then(o):o(u))}catch(r){return Promise.reject(r)}}}}var jl=af(Dl(),1);function Qh(t,e){try{var n=t()}catch(r){return e(r)}return n&&n.then?n.then(void 0,e):n}var eg=function(t){try{return Promise.resolve((0,jl.default)(t,{mode:"cors"})).then(function(e){if(e.status>=400)throw new Error(`Bad response ${e.statusText}`);return e.json()})}catch(e){return Promise.reject(e)}};function Ie(t,e,n){if(!t.s){if(n instanceof ba)if(n.s)e&1&&(e=n.s),n=n.v;else{n.o=Ie.bind(null,t,e);return}if(n&&n.then){n.then(Ie.bind(null,t,e),Ie.bind(null,t,2));return}t.s=e,t.v=n;let r=t.o;r&&r(t)}}var tg="/.well-known/did.json",ba=(function(){function t(){}return t.prototype.then=function(e,n){let r=new t,o=this.s;if(o){let i=o&1?e:n;if(i){try{Ie(r,1,i(this.v))}catch(a){Ie(r,2,a)}return r}else return this}return this.o=function(i){try{let a=i.v;i.s&1?Ie(r,1,e?e(a):a):n?Ie(r,1,n(a)):Ie(r,2,a)}catch(a){Ie(r,2,a)}},r},t})();function an(t){return t instanceof ba&&t.s&1}function ng(t,e){var n;do{var r=t();if(r&&r.then)if(an(r))r=r.v;else{n=!0;break}var o=e();if(an(o)&&(o=o.v),!o)return r}while(!o.then);let i=new ba,a=Ie.bind(null,i,2);return(n?r.then(s):o.then(c)).then(void 0,a),i;function s(u){for(r=u;o=e(),an(o)&&(o=o.v),!!o;){if(o.then){o.then(c).then(void 0,a);return}if(r=t(),r&&r.then)if(an(r))r=r.v;else{r.then(s).then(void 0,a);return}}Ie(i,1,r)}function c(u){if(u){do{if(r=t(),r&&r.then)if(an(r))r=r.v;else{r.then(s).then(void 0,a);return}if(u=e(),an(u)&&(u=u.v),!u){Ie(i,1,r);return}}while(!u.then);u.then(c).then(void 0,a)}else Ie(i,1,r)}}function Nl(){return{web:function(e,n){try{let o=function(){let p=typeof l?.["@context"]<"u"?"application/did+ld+json":"application/did+json";return i?{didDocument:l,didDocumentMetadata:u,didResolutionMetadata:{error:"notFound",message:i}}:{didDocument:l,didDocumentMetadata:u,didResolutionMetadata:{contentType:p}}},r,i=null,a=decodeURIComponent(n.id)+tg,s=n.id.split(":");s.length>1&&(a=s.map(decodeURIComponent).join("/")+"/did.json");let c=`https://${a}`,u={},l=null,d=ng(function(){function p(){r||l?.id===e||(i="resolver_error: DID document id does not match requested did")}let b=Qh(function(){return Promise.resolve(eg(c)).then(function(f){l=f})},function(f){i=`resolver_error: DID must resolve to a valid https URL containing a JSON document: ${f}`,r=1});return b&&b.then?b.then(p):p(b)},function(){return!r&&!1});return Promise.resolve(d&&d.then?d.then(o):o(d))}catch(r){return Promise.reject(r)}}}}var mo=class{methods={...Ul(),...Nl()};resolver=new Kr(this.methods,{cache:!0});async resolve(e){if(!Object.keys(this.methods).some(r=>e.startsWith(`did:${r}:`)))throw new Error(`Unrecognized DID method: ${e}`);let{didDocument:n}=await this.resolver.resolve(e);if(!n)throw new Q(`DID not found: ${e}`);return n}};var xa;(typeof navigator>"u"||!navigator.userAgent?.startsWith?.("Mozilla/5.0 "))&&(xa="oauth4webapi/v3.8.5");function tr(t,e){if(t==null)return!1;try{return t instanceof e||Object.getPrototypeOf(t)[Symbol.toStringTag]===e.prototype[Symbol.toStringTag]}catch{return!1}}var ve="ERR_INVALID_ARG_VALUE",Ue="ERR_INVALID_ARG_TYPE";function K(t,e,n){let r=new TypeError(t,{cause:n});return Object.assign(r,{code:e}),r}var Et=Symbol(),bo=Symbol(),wo=Symbol(),kt=Symbol();var ho=Symbol();var rg=new TextEncoder,og=new TextDecoder;function Cl(t){return typeof t=="string"?rg.encode(t):og.decode(t)}var $a;Uint8Array.prototype.toBase64?$a=t=>(t instanceof ArrayBuffer&&(t=new Uint8Array(t)),t.toBase64({alphabet:"base64url",omitPadding:!0})):$a=e=>{e instanceof ArrayBuffer&&(e=new Uint8Array(e));let n=[];for(let r=0;r<e.byteLength;r+=32768)n.push(String.fromCharCode.apply(null,e.subarray(r,r+32768)));return btoa(n.join("")).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")};var Sa;Uint8Array.fromBase64?Sa=t=>{try{return Uint8Array.fromBase64(t,{alphabet:"base64url"})}catch(e){throw K("The input to be decoded is not correctly encoded.",ve,e)}}:Sa=t=>{try{let e=atob(t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"")),n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e.charCodeAt(r);return n}catch(e){throw K("The input to be decoded is not correctly encoded.",ve,e)}};function Ea(t){return typeof t=="string"?Sa(t):$a(t)}var pt=class extends Error{code;constructor(e,n){super(e,n),this.name=this.constructor.name,this.code=ko,Error.captureStackTrace?.(this,this.constructor)}},Yn=class extends Error{code;constructor(e,n){super(e,n),this.name=this.constructor.name,n?.code&&(this.code=n?.code),Error.captureStackTrace?.(this,this.constructor)}};function C(t,e,n){return new Yn(t,{code:e,cause:n})}function go(t){return!(t===null||typeof t!="object"||Array.isArray(t))}function ka(t){tr(t,Headers)&&(t=Object.fromEntries(t.entries()));let e=new Headers(t??{});if(xa&&!e.has("user-agent")&&e.set("user-agent",xa),e.has("authorization"))throw K('"options.headers" must not include the "authorization" header name',ve);return e}function Ml(t,e){if(e!==void 0){if(typeof e=="function"&&(e=e(t.href)),!(e instanceof AbortSignal))throw K('"options.signal" must return or be an instance of AbortSignal',Ue);return e}}function Zl(t){return t.includes("//")?t.replace("//","/"):t}function ig(t,e,n=!1){return t.pathname==="/"?t.pathname=e:t.pathname=Zl(`${e}/${n?t.pathname:t.pathname.replace(/(\/)$/,"")}`),t}function ag(t,e){return t.pathname=Zl(`${t.pathname}/${e}`),t}async function sg(t,e,n,r){if(!(t instanceof URL))throw K(`"${e}" must be an instance of URL`,Ue);$o(t,r?.[Et]!==!0);let o=n(new URL(t.href)),i=ka(r?.headers);return i.set("accept","application/json"),(r?.[kt]||fetch)(o.href,{body:void 0,headers:Object.fromEntries(i.entries()),method:"GET",redirect:"manual",signal:Ml(o,r?.signal)})}async function Bl(t,e){return sg(t,"issuerIdentifier",n=>{switch(e?.algorithm){case void 0:case"oidc":ag(n,".well-known/openid-configuration");break;case"oauth2":ig(n,".well-known/oauth-authorization-server");break;default:throw K('"options.algorithm" must be "oidc" (default), or "oauth2"',ve)}return n},e)}function Xn(t,e,n,r,o){try{if(typeof t!="number"||!Number.isFinite(t))throw K(`${n} must be a number`,Ue,o);if(t>0)return;if(e){if(t!==0)throw K(`${n} must be a non-negative number`,ve,o);return}throw K(`${n} must be a positive number`,ve,o)}catch(i){throw r?C(i.message,r,o):i}}function ye(t,e,n,r){try{if(typeof t!="string")throw K(`${e} must be a string`,Ue,r);if(t.length===0)throw K(`${e} must not be empty`,ve,r)}catch(o){throw n?C(o.message,n,r):o}}async function Fl(t,e){let n=t;if(!(n instanceof URL)&&n!==vo)throw K('"expectedIssuerIdentifier" must be an instance of URL',Ue);if(!tr(e,Response))throw K('"response" must be an instance of Response',Ue);if(e.status!==200)throw C('"response" is not a conform Authorization Server Metadata response (unexpected HTTP status code)',Io,e);Na(e);let r=await id(e);if(ye(r.issuer,'"response" body "issuer" property',G,{body:r}),n!==vo&&new URL(r.issuer).href!==n.href)throw C('"response" body "issuer" property does not match the expected value',Ao,{expected:n.href,body:r,attribute:"issuer"});return r}function Hl(t){ug(t,"application/json")}function cg(t,...e){let n='"response" content-type must be ';if(e.length>2){let r=e.pop();n+=`${e.join(", ")}, or ${r}`}else e.length===2?n+=`${e[0]} or ${e[1]}`:n+=e[0];return C(n,Ra,t)}function ug(t,e){if(za(t)!==e)throw cg(t,e)}function lg(){return Ea(crypto.getRandomValues(new Uint8Array(32)))}function Jl(){return lg()}function Ia(t){let e=t?.[bo];return typeof e=="number"&&Number.isFinite(e)?e:0}function Aa(t){let e=t?.[wo];return typeof e=="number"&&Number.isFinite(e)&&Math.sign(e)!==-1?e:30}function Ta(){return Math.floor(Date.now()/1e3)}function _o(t){if(typeof t!="object"||t===null)throw K('"as" must be an object',Ue);ye(t.issuer,'"as.issuer"')}function xo(t){if(typeof t!="object"||t===null)throw K('"client" must be an object',Ue);ye(t.client_id,'"client.client_id"')}function Pa(t){return ye(t,'"clientSecret"'),(e,n,r,o)=>{r.set("client_id",n.client_id),r.set("client_secret",t)}}function Gl(){return(t,e,n,r)=>{n.set("client_id",e.client_id)}}var dg=URL.parse?(t,e)=>URL.parse(t,e):(t,e)=>{try{return new URL(t,e)}catch{return null}};function $o(t,e){if(e&&t.protocol!=="https:")throw C("only requests to HTTPS are allowed",Da,t);if(t.protocol!=="https:"&&t.protocol!=="http:")throw C("only HTTP and HTTPS requests are allowed",ja,t)}function Ll(t,e,n,r){let o;if(typeof t!="string"||!(o=dg(t)))throw C(`authorization server metadata does not contain a valid ${n?`"as.mtls_endpoint_aliases.${e}"`:`"as.${e}"`}`,t===void 0?jg:Ng,{attribute:n?`mtls_endpoint_aliases.${e}`:e});return $o(o,r),o}function So(t,e,n,r){return n&&t.mtls_endpoint_aliases&&e in t.mtls_endpoint_aliases?Ll(t.mtls_endpoint_aliases[e],e,n,r):Ll(t[e],e,n,r)}function Vl(t){if(t instanceof cn){let{0:e,length:n}=t.cause;return n===1&&e.scheme==="dpop"&&e.parameters.error==="use_dpop_nonce"}return t instanceof sn?t.error==="use_dpop_nonce":!1}var sn=class extends Error{cause;code;error;status;error_description;response;constructor(e,n){super(e,n),this.name=this.constructor.name,this.code=Rg,this.cause=n.cause,this.error=n.cause.error,this.status=n.response.status,this.error_description=n.cause.error_description,Object.defineProperty(this,"response",{enumerable:!1,value:n.response}),Error.captureStackTrace?.(this,this.constructor)}},Qn=class extends Error{cause;code;error;error_description;constructor(e,n){super(e,n),this.name=this.constructor.name,this.code=Dg,this.cause=n.cause,this.error=n.cause.get("error"),this.error_description=n.cause.get("error_description")??void 0,Error.captureStackTrace?.(this,this.constructor)}},cn=class extends Error{cause;code;response;status;constructor(e,n){super(e,n),this.name=this.constructor.name,this.code=Ug,this.cause=n.cause,this.status=n.response.status,this.response=n.response,Object.defineProperty(this,"response",{enumerable:!1}),Error.captureStackTrace?.(this,this.constructor)}},yo="[a-zA-Z0-9!#$%&\\'\\*\\+\\-\\.\\^_`\\|~]+",fg="[a-zA-Z0-9\\-\\._\\~\\+\\/]+={0,2}",pg='"((?:[^"\\\\]|\\\\[\\s\\S])*)"',mg="("+yo+")\\s*=\\s*"+pg,hg="("+yo+")\\s*=\\s*("+yo+")",gg=new RegExp("^[,\\s]*("+yo+")"),yg=new RegExp("^[,\\s]*"+mg+"[,\\s]*(.*)"),vg=new RegExp("^[,\\s]*"+hg+"[,\\s]*(.*)"),bg=new RegExp("^("+fg+")(?:$|[,\\s])(.*)");function wg(t){if(!tr(t,Response))throw K('"response" must be an instance of Response',Ue);let e=t.headers.get("www-authenticate");if(e===null)return;let n=[],r=e;for(;r;){let o=r.match(gg),i=o?.[1].toLowerCase();if(!i)return;let a=r.substring(o[0].length);if(a&&!a.match(/^[\s,]/))return;let s=a.match(/^\s+(.*)$/),c=!!s;r=s?s[1]:void 0;let u={},l;if(c)for(;r;){let p,b;if(o=r.match(yg)){if([,p,b,r]=o,b.includes("\\"))try{b=JSON.parse(`"${b}"`)}catch{}u[p.toLowerCase()]=b;continue}if(o=r.match(vg)){[,p,b,r]=o,u[p.toLowerCase()]=b;continue}if(o=r.match(bg)){if(Object.keys(u).length)break;[,l,r]=o;break}return}else r=a||void 0;let d={scheme:i,parameters:u};l&&(d.token68=l),n.push(d)}if(n.length)return n}async function _g(t){if(t.status>399&&t.status<500){Na(t),Hl(t);try{let e=await t.clone().json();if(go(e)&&typeof e.error=="string"&&e.error.length)return e}catch{}}}async function ql(t,e,n){if(t.status!==e){Eg(t);let r;throw(r=await _g(t))?(await t.body?.cancel(),new sn("server responded with an error in the response body",{cause:r,response:t})):C(`"response" is not a conform ${n} response (unexpected HTTP status code)`,Io,t)}}function xg(t){if(!Oa.has(t))throw K('"options.DPoP" is not a valid DPoPHandle',ve)}function za(t){return t.headers.get("content-type")?.split(";")[0]}async function Kl(t,e,n,r,o,i,a){return await n(t,e,o,i),i.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),(a?.[kt]||fetch)(r.href,{body:o,headers:Object.fromEntries(i.entries()),method:"POST",redirect:"manual",signal:Ml(r,a?.signal)})}async function $g(t,e,n,r,o,i){let a=So(t,"token_endpoint",e.use_mtls_endpoint_aliases,i?.[Et]!==!0);o.set("grant_type",r);let s=ka(i?.headers);s.set("accept","application/json"),i?.DPoP!==void 0&&(xg(i.DPoP),await i.DPoP.addProof(a,s,"POST"));let c=await Kl(t,e,n,a,o,s,i);return i?.DPoP?.cacheNonce(c,a),c}var Wl=new WeakMap,Sg=new WeakMap;function Eo(t){if(!t.id_token)return;let e=Wl.get(t);if(!e)throw K('"ref" was already garbage collected or did not resolve from the proper sources',ve);return e}async function Xl(t,e,n,r,o,i){if(_o(t),xo(e),!tr(n,Response))throw K('"response" must be an instance of Response',Ue);await ql(n,200,"Token Endpoint"),Na(n);let a=await id(n);if(ye(a.access_token,'"response" body "access_token" property',G,{body:a}),ye(a.token_type,'"response" body "token_type" property',G,{body:a}),a.token_type=a.token_type.toLowerCase(),a.expires_in!==void 0){let s=typeof a.expires_in!="number"?parseFloat(a.expires_in):a.expires_in;Xn(s,!0,'"response" body "expires_in" property',G,{body:a}),a.expires_in=s}if(a.refresh_token!==void 0&&ye(a.refresh_token,'"response" body "refresh_token" property',G,{body:a}),a.scope!==void 0&&typeof a.scope!="string")throw C('"response" body "scope" property must be a string',G,{body:a});if(a.id_token!==void 0){ye(a.id_token,'"response" body "id_token" property',G,{body:a});let s=["aud","exp","iat","iss","sub"];e.require_auth_time===!0&&s.push("auth_time"),e.default_max_age!==void 0&&(Xn(e.default_max_age,!0,'"client.default_max_age"'),s.push("auth_time")),r?.length&&s.push(...r);let{claims:c,jwt:u}=await Cg(a.id_token,Mg.bind(void 0,e.id_token_signed_response_alg,t.id_token_signing_alg_values_supported,"RS256"),Ia(e),Aa(e),o).then(Pg.bind(void 0,s)).then(Ig.bind(void 0,t)).then(kg.bind(void 0,e.client_id));if(Array.isArray(c.aud)&&c.aud.length!==1){if(c.azp===void 0)throw C('ID Token "aud" (audience) claim includes additional untrusted audiences',Ve,{claims:c,claim:"aud"});if(c.azp!==e.client_id)throw C('unexpected ID Token "azp" (authorized party) claim value',Ve,{expected:e.client_id,claims:c,claim:"azp"})}c.auth_time!==void 0&&Xn(c.auth_time,!0,'ID Token "auth_time" (authentication time)',G,{claims:c}),Sg.set(n,u),Wl.set(a,c)}if(i?.[a.token_type]!==void 0)i[a.token_type](n,a);else if(a.token_type!=="dpop"&&a.token_type!=="bearer")throw new pt("unsupported `token_type` value",{cause:{body:a}});return a}function Eg(t){let e;if(e=wg(t))throw new cn("server responded with a challenge in the WWW-Authenticate HTTP Header",{cause:e,response:t})}function kg(t,e){if(Array.isArray(e.claims.aud)){if(!e.claims.aud.includes(t))throw C('unexpected JWT "aud" (audience) claim value',Ve,{expected:t,claims:e.claims,claim:"aud"})}else if(e.claims.aud!==t)throw C('unexpected JWT "aud" (audience) claim value',Ve,{expected:t,claims:e.claims,claim:"aud"});return e}function Ig(t,e){let n=t[Ca]?.(e)??t.issuer;if(e.claims.iss!==n)throw C('unexpected JWT "iss" (issuer) claim value',Ve,{expected:n,claims:e.claims,claim:"iss"});return e}var Oa=new WeakSet;function Ag(t){return Oa.add(t),t}var Ua=Symbol();async function Yl(t,e,n,r,o,i,a){if(_o(t),xo(e),!Oa.has(r))throw K('"callbackParameters" must be an instance of URLSearchParams obtained from "validateAuthResponse()", or "validateJwtAuthResponse()',ve);ye(o,'"redirectUri"');let s=St(r,"code");if(!s)throw C('no authorization code in "callbackParameters"',G);let c=new URLSearchParams(a?.additionalParameters);return c.set("redirect_uri",o),c.set("code",s),i!==Ua&&(ye(i,'"codeVerifier"'),c.set("code_verifier",i)),$g(t,e,n,"authorization_code",c,a)}var Tg={aud:"audience",c_hash:"code hash",client_id:"client id",exp:"expiration time",iat:"issued at",iss:"issuer",jti:"jwt id",nonce:"nonce",s_hash:"state hash",sub:"subject",ath:"access token hash",htm:"http method",htu:"http uri",cnf:"confirmation",auth_time:"authentication time"};function Pg(t,e){for(let n of t)if(e.claims[n]===void 0)throw C(`JWT "${n}" (${Tg[n]}) claim missing`,G,{claims:e.claims});return e}var wa=Symbol(),_a=Symbol();async function Ql(t,e,n,r){return typeof r?.expectedNonce=="string"||typeof r?.maxAge=="number"||r?.requireIdToken?zg(t,e,n,r.expectedNonce,r.maxAge,r[ho],r.recognizedTokenTypes):Og(t,e,n,r?.[ho],r?.recognizedTokenTypes)}async function zg(t,e,n,r,o,i,a){let s=[];switch(r){case void 0:r=wa;break;case wa:break;default:ye(r,'"expectedNonce" argument'),s.push("nonce")}switch(o??=e.default_max_age,o){case void 0:o=_a;break;case _a:break;default:Xn(o,!0,'"maxAge" argument'),s.push("auth_time")}let c=await Xl(t,e,n,s,i,a);ye(c.id_token,'"response" body "id_token" property',G,{body:c});let u=Eo(c);if(o!==_a){let l=Ta()+Ia(e),d=Aa(e);if(u.auth_time+o<l-d)throw C("too much time has elapsed since the last End-User authentication",un,{claims:u,now:l,tolerance:d,claim:"auth_time"})}if(r===wa){if(u.nonce!==void 0)throw C('unexpected ID Token "nonce" claim value',Ve,{expected:void 0,claims:u,claim:"nonce"})}else if(u.nonce!==r)throw C('unexpected ID Token "nonce" claim value',Ve,{expected:r,claims:u,claim:"nonce"});return c}async function Og(t,e,n,r,o){let i=await Xl(t,e,n,void 0,r,o),a=Eo(i);if(a){if(e.default_max_age!==void 0){Xn(e.default_max_age,!0,'"client.default_max_age"');let s=Ta()+Ia(e),c=Aa(e);if(a.auth_time+e.default_max_age<s-c)throw C("too much time has elapsed since the last End-User authentication",un,{claims:a,now:s,tolerance:c,claim:"auth_time"})}if(a.nonce!==void 0)throw C('unexpected ID Token "nonce" claim value',Ve,{expected:void 0,claims:a,claim:"nonce"})}return i}var Ug="OAUTH_WWW_AUTHENTICATE_CHALLENGE",Rg="OAUTH_RESPONSE_BODY_ERROR",ko="OAUTH_UNSUPPORTED_OPERATION",Dg="OAUTH_AUTHORIZATION_RESPONSE_ERROR";var er="OAUTH_PARSE_ERROR",G="OAUTH_INVALID_RESPONSE";var Ra="OAUTH_RESPONSE_IS_NOT_JSON",Io="OAUTH_RESPONSE_IS_NOT_CONFORM",Da="OAUTH_HTTP_REQUEST_FORBIDDEN",ja="OAUTH_REQUEST_PROTOCOL_FORBIDDEN",un="OAUTH_JWT_TIMESTAMP_CHECK_FAILED",Ve="OAUTH_JWT_CLAIM_COMPARISON_FAILED",Ao="OAUTH_JSON_ATTRIBUTE_COMPARISON_FAILED";var jg="OAUTH_MISSING_SERVER_METADATA",Ng="OAUTH_INVALID_SERVER_METADATA";async function ed(t,e,n,r,o){_o(t),xo(e),ye(r,'"token"');let i=So(t,"revocation_endpoint",e.use_mtls_endpoint_aliases,o?.[Et]!==!0),a=new URLSearchParams(o?.additionalParameters);a.set("token",r);let s=ka(o?.headers);return s.delete("accept"),Kl(t,e,n,i,a,s,o)}async function td(t){if(!tr(t,Response))throw K('"response" must be an instance of Response',Ue);await ql(t,200,"Revocation Endpoint")}function Na(t){if(t.bodyUsed)throw K('"response" body has been used already',ve)}async function Cg(t,e,n,r,o){let{0:i,1:a,length:s}=t.split(".");if(s===5)if(o!==void 0)t=await o(t),{0:i,1:a,length:s}=t.split(".");else throw new pt("JWE decryption is not configured",{cause:t});if(s!==3)throw C("Invalid JWT",G,t);let c;try{c=JSON.parse(Cl(Ea(i)))}catch(d){throw C("failed to parse JWT Header body as base64url encoded JSON",er,d)}if(!go(c))throw C("JWT Header must be a top level object",G,t);if(e(c),c.crit!==void 0)throw new pt('no JWT "crit" header parameter extensions are supported',{cause:{header:c}});let u;try{u=JSON.parse(Cl(Ea(a)))}catch(d){throw C("failed to parse JWT Payload body as base64url encoded JSON",er,d)}if(!go(u))throw C("JWT Payload must be a top level object",G,t);let l=Ta()+n;if(u.exp!==void 0){if(typeof u.exp!="number")throw C('unexpected JWT "exp" (expiration time) claim type',G,{claims:u});if(u.exp<=l-r)throw C('unexpected JWT "exp" (expiration time) claim value, expiration is past current timestamp',un,{claims:u,now:l,tolerance:r,claim:"exp"})}if(u.iat!==void 0&&typeof u.iat!="number")throw C('unexpected JWT "iat" (issued at) claim type',G,{claims:u});if(u.iss!==void 0&&typeof u.iss!="string")throw C('unexpected JWT "iss" (issuer) claim type',G,{claims:u});if(u.nbf!==void 0){if(typeof u.nbf!="number")throw C('unexpected JWT "nbf" (not before) claim type',G,{claims:u});if(u.nbf>l+r)throw C('unexpected JWT "nbf" (not before) claim value',un,{claims:u,now:l,tolerance:r,claim:"nbf"})}if(u.aud!==void 0&&typeof u.aud!="string"&&!Array.isArray(u.aud))throw C('unexpected JWT "aud" (audience) claim type',G,{claims:u});return{header:c,claims:u,jwt:t}}async function Lg(t){if(t.bodyUsed)throw K("form_post Request instances must contain a readable body",ve,{cause:t});return t.text()}async function nd(t){if(t.method!=="POST")throw K("form_post responses are expected to use the POST method",ve,{cause:t});if(za(t)!=="application/x-www-form-urlencoded")throw K("form_post responses are expected to use the application/x-www-form-urlencoded content-type",ve,{cause:t});return Lg(t)}function Mg(t,e,n,r){if(t!==void 0){if(typeof t=="string"?r.alg!==t:!t.includes(r.alg))throw C('unexpected JWT "alg" header parameter',G,{header:r,expected:t,reason:"client configuration"});return}if(Array.isArray(e)){if(!e.includes(r.alg))throw C('unexpected JWT "alg" header parameter',G,{header:r,expected:e,reason:"authorization server metadata"});return}if(n!==void 0){if(typeof n=="string"?r.alg!==n:typeof n=="function"?!n(r.alg):!n.includes(r.alg))throw C('unexpected JWT "alg" header parameter',G,{header:r,expected:n,reason:"default value"});return}throw C('missing client or server configuration to verify used JWT "alg" header parameter',void 0,{client:t,issuer:e,fallback:n})}function St(t,e){let{0:n,length:r}=t.getAll(e);if(r>1)throw C(`"${e}" parameter must be provided only once`,G);return n}var rd=Symbol(),Zg=Symbol();function od(t,e,n,r){if(_o(t),xo(e),n instanceof URL&&(n=n.searchParams),!(n instanceof URLSearchParams))throw K('"parameters" must be an instance of URLSearchParams, or URL',Ue);if(St(n,"response"))throw C('"parameters" contains a JARM response, use validateJwtAuthResponse() instead of validateAuthResponse()',G,{parameters:n});let o=St(n,"iss"),i=St(n,"state");if(!o&&t.authorization_response_iss_parameter_supported)throw C('response parameter "iss" (issuer) missing',G,{parameters:n});if(o&&o!==t.issuer)throw C('unexpected "iss" (issuer) response parameter value',G,{expected:t.issuer,parameters:n});switch(r){case void 0:case Zg:if(i!==void 0)throw C('unexpected "state" response parameter encountered',G,{expected:void 0,parameters:n});break;case rd:break;default:if(ye(r,'"expectedState" argument'),i!==r)throw C(i===void 0?'response parameter "state" missing':'unexpected "state" response parameter value',G,{expected:r,parameters:n})}if(St(n,"error"))throw new Qn("authorization response from the server is an error",{cause:n});let s=St(n,"id_token"),c=St(n,"token");if(s!==void 0||c!==void 0)throw new pt("implicit and hybrid flows are not supported");return Ag(new URLSearchParams(n))}async function id(t,e=Hl){let n;try{n=await t.json()}catch(r){throw e(t),C('failed to parse "response" body as JSON',er,r)}if(!go(n))throw C('"response" body must be a top level object',G,{body:n});return n}var vo=Symbol(),Ca=Symbol();var rr,ad;(typeof navigator>"u"||!navigator.userAgent?.startsWith?.("Mozilla/5.0 "))&&(ad="openid-client/v6.8.2",rr={"user-agent":ad});var Me=t=>Ma.get(t),Ma,La;function Fg(t){return t!==void 0?Pa(t):(La||=new WeakMap,(e,n,r,o)=>{let i;return(i=La.get(n))||(Hg(n.client_secret,'"metadata.client_secret"'),i=Pa(n.client_secret),La.set(n,i)),i(e,n,r,o)})}function Hg(t,e){if(typeof t!="string")throw qe(`${e} must be a string`,ir);if(t.length===0)throw qe(`${e} must not be empty`,or)}function Jg(){return Gl()}var ln=kt;var or="ERR_INVALID_ARG_VALUE",ir="ERR_INVALID_ARG_TYPE";function qe(t,e,n){let r=new TypeError(t,{cause:n});return Object.assign(r,{code:e}),r}function cd(){return Jl()}var dn=class extends Error{code;constructor(e,n){super(e,n),this.name=this.constructor.name,this.code=n?.code,Error.captureStackTrace?.(this,this.constructor)}},gP=new TextDecoder;function me(t,e,n){return new dn(t,{cause:e,code:n})}function nr(t){if(t instanceof TypeError||t instanceof dn||t instanceof sn||t instanceof Qn||t instanceof cn)throw t;if(t instanceof Yn)switch(t.code){case Da:throw me("only requests to HTTPS are allowed",t,t.code);case ja:throw me("only requests to HTTP or HTTPS are allowed",t,t.code);case Io:throw me("unexpected HTTP response status code",t.cause,t.code);case Ra:throw me("unexpected response content-type",t.cause,t.code);case er:throw me("parsing error occured",t,t.code);case G:throw me("invalid response encountered",t,t.code);case Ve:throw me("unexpected JWT claim value encountered",t,t.code);case Ao:throw me("unexpected JSON attribute value encountered",t,t.code);case un:throw me("JWT timestamp claim value failed validation",t,t.code);default:throw me(t.message,t,t.code)}if(t instanceof pt)throw me("unsupported operation",t,t.code);if(t instanceof DOMException)switch(t.name){case"OperationError":throw me("runtime operation error",t,ko);case"NotSupportedError":throw me("runtime unsupported operation",t,ko);case"TimeoutError":throw me("operation timed out",t,"OAUTH_TIMEOUT");case"AbortError":throw me("operation aborted",t,"OAUTH_ABORT")}throw new dn("something went wrong",{cause:t})}function Gg(t,e,n){return t.origin==="https://login.microsoftonline.com"&&(!n?.algorithm||n.algorithm==="oidc")?(e[ld]=!0,!0):!1}function Vg(t,e){return!!(t.hostname.endsWith(".b2clogin.com")&&(!e?.algorithm||e.algorithm==="oidc"))}async function ud(t,e,n,r,o){let i=await qg(t,o),a=new fn(i,e,n,r),s=Me(a);if(o?.[ln]&&(s.fetch=o[ln]),o?.timeout&&(s.timeout=o.timeout),o?.execute)for(let c of o.execute)c(a);return a}async function qg(t,e){if(!(t instanceof URL))throw qe('"server" must be an instance of URL',ir);let n=!t.href.includes("/.well-known/"),r=e?.timeout??30,o=AbortSignal.timeout(r*1e3),i=await(n?Bl(t,{algorithm:e?.algorithm,[kt]:e?.[ln],[Et]:e?.execute?.includes(sd),signal:o,headers:new Headers(rr)}):(e?.[ln]||fetch)(($o(t,!e?.execute?.includes(sd)),t.href),{headers:Object.fromEntries(new Headers({accept:"application/json",...rr}).entries()),body:void 0,method:"GET",redirect:"manual",signal:o})).then(a=>Fl(vo,a)).catch(nr);return n&&new URL(i.issuer).href!==t.href&&(Gg(t,i,e)||Vg(t,e)||(()=>{throw new dn("discovered metadata issuer does not match the expected issuer",{code:Ao,cause:{expected:t.href,body:i,attribute:"issuer"}})})()),i}function Kg(t){return{supportsPKCE:{__proto__:null,value(e="S256"){return t.code_challenge_methods_supported?.includes(e)===!0}}}}function Wg(t){Object.defineProperties(t,Kg(t))}var ld=Symbol(),fn=class{constructor(e,n,r,o){if(typeof n!="string"||!n.length)throw qe('"clientId" must be a non-empty string',ir);if(typeof r=="string"&&(r={client_secret:r}),r?.client_id!==void 0&&n!==r.client_id)throw qe('"clientId" and "metadata.client_id" must be the same',or);let i={...structuredClone(r),client_id:n};i[bo]=r?.[bo]??0,i[wo]=r?.[wo]??30;let a;o?a=o:typeof i.client_secret=="string"&&i.client_secret.length?a=Fg(i.client_secret):a=Jg();let s=Object.freeze(i),c=structuredClone(e);ld in e&&(c[Ca]=({claims:{tid:l}})=>e.issuer.replace("{tenantid}",l));let u=Object.freeze(c);Ma||=new WeakMap,Ma.set(this,{__proto__:null,as:u,c:s,auth:a,tlsOnly:!0,jwksCache:{}})}serverMetadata(){let e=structuredClone(Me(this).as);return Wg(e),e}clientMetadata(){return structuredClone(Me(this).c)}get timeout(){return Me(this).timeout}set timeout(e){Me(this).timeout=e}get[ln](){return Me(this).fetch}set[ln](e){Me(this).fetch=e}};Object.freeze(fn.prototype);function Xg(t){let e;if(t.expires_in!==void 0){let n=new Date;n.setSeconds(n.getSeconds()+t.expires_in),e=n.getTime()}return{expiresIn:{__proto__:null,value(){if(e){let n=Date.now();return e>n?Math.floor((e-n)/1e3):0}}},claims:{__proto__:null,value(){try{return Eo(this)}catch{return}}}}}function Yg(t){Object.defineProperties(t,Xg(t))}function sd(t){Me(t).tlsOnly=!1}function Qg(t){return t=new URL(t),t.search="",t.hash="",t.href}function ey(t,e){try{return Object.getPrototypeOf(t)[Symbol.toStringTag]===e}catch{return!1}}async function Za(t,e,n,r,o){if(Ba(t),o?.flag!==To&&!(e instanceof URL)&&!ey(e,"Request"))throw qe('"currentUrl" must be an instance of URL, or Request',ir);let i,a,{as:s,c,auth:u,fetch:l,tlsOnly:d,jarm:p,hybrid:b,nonRepudiation:f,timeout:g,decrypt:v,implicit:k}=Me(t);if(o?.flag===To)i=o.authResponse,a=o.redirectUri;else{if(!(e instanceof URL)){let x=e;switch(e=new URL(e.url),x.method){case"GET":break;case"POST":let U=new URLSearchParams(await nd(x));if(b)e.hash=U.toString();else for(let[M,B]of U.entries())e.searchParams.append(M,B);break;default:throw qe("unexpected Request HTTP method",or)}}switch(a=Qg(e),!0){case!!p:i=await p(e,n?.expectedState);break;case!!b:i=await b(e,n?.expectedNonce,n?.expectedState,n?.maxAge);break;case!!k:throw new TypeError("authorizationCodeGrant() cannot be used by response_type=id_token clients");default:try{i=od(s,c,e.searchParams,n?.expectedState)}catch(x){nr(x)}}}let A=await Yl(s,c,u,i,a,n?.pkceCodeVerifier||Ua,{additionalParameters:r,[kt]:l,[Et]:!d,DPoP:o?.DPoP,headers:new Headers(rr),signal:fd(g)}).catch(nr);(typeof n?.expectedNonce=="string"||typeof n?.maxAge=="number")&&(n.idTokenExpected=!0);let _=Ql(s,c,A,{expectedNonce:n?.expectedNonce,maxAge:n?.maxAge,requireIdToken:n?.idTokenExpected,[ho]:v}),S;try{S=await _}catch(x){if(ty(x,o))return Za(t,void 0,n,r,{...o,flag:To,authResponse:i,redirectUri:a});nr(x)}return S.id_token&&await f?.(A),Yg(S),S}function dd(t,e){Ba(t);let{as:n,c:r,tlsOnly:o,hybrid:i,jarm:a,implicit:s}=Me(t),c=So(n,"authorization_endpoint",!1,o);if(e=new URLSearchParams(e),e.has("client_id")||e.set("client_id",r.client_id),!e.has("request_uri")&&!e.has("request")){if(e.has("response_type")||e.set("response_type",i?"code id_token":s?"id_token":"code"),s&&!e.has("nonce"))throw qe("response_type=id_token clients must provide a nonce parameter in their authorization request parameters",or);a&&e.set("response_mode","jwt")}for(let[u,l]of e.entries())c.searchParams.append(u,l);return c}function Ba(t){if(!(t instanceof fn))throw qe('"config" must be an instance of Configuration',ir);if(Object.getPrototypeOf(t)!==fn.prototype)throw qe("subclassing Configuration is not allowed",or)}function fd(t){return t?AbortSignal.timeout(t*1e3):void 0}function ty(t,e){return e?.DPoP&&e.flag!==To?Vl(t):!1}var To=Symbol();async function pd(t,e,n){Ba(t);let{as:r,c:o,auth:i,fetch:a,tlsOnly:s,timeout:c}=Me(t);return ed(r,o,i,e,{[kt]:a,[Et]:!s,additionalParameters:new URLSearchParams(n),headers:new Headers(rr),signal:fd(c)}).then(td).catch(nr)}var md="oauth2:",ar="graffiti-auth-oauth2-data",Po=class{eventTarget=new EventTarget;constructor(){let e=this.completeOauth();(async()=>{await new Promise(r=>setTimeout(r,0)),await e;let n=new CustomEvent("initialized");this.eventTarget.dispatchEvent(n)})()}async login(...e){try{await this.login_(...e)}catch(n){let r=n instanceof Error?n:new Error("Unknown error"),o={loginId:e[1],error:r};this.eventTarget.dispatchEvent(new CustomEvent("login",{detail:o}))}}async login_(e,n,r){let o=await this.getAuthorizationConfiguration(e),i=r.map(encodeURIComponent).join(" "),a=cd(),s,c;if(typeof window<"u"){s=window.location.href;let d={loginId:n,redirectUri:s,authorizationEndpoint:e,state:a,serviceEndpoints:r};window.localStorage.setItem(ar,JSON.stringify(d))}else{let p=(await import("node:http").catch(f=>{throw new Error("Unrecognized environment: cannot find window or node:http")})).createServer();try{await new Promise((f,g)=>{p.once("error",g),p.listen(0,"::1",f)})}catch{try{p.close()}catch{}throw new Error("Failed to start local oauth callback server.")}let b=p.address();if(!b){try{p.close()}catch{}throw new Error("Failed to get local oauth callback server address.")}s=typeof b=="string"?`http://${b}`:`http://${b.family==="IPv6"?`[${b.address}]`:b.address}:${b.port}`,c=new Promise((f,g)=>{let v=setTimeout(()=>{try{p.close()}catch{}g("Oauth callback timed out.")},3e5),k=new Set;p.on("connection",_=>{k.add(_),_.on("close",()=>{k.delete(_)})});let A=async(_,S)=>{try{let x=new URL(_.url??"/",s);await this.onCallbackUrl({loginId:n,callbackUrl:x,configuration:o,expectedState:a,serviceEndpoints:r}),S.statusCode=200,S.setHeader("Content-Type","text/plain"),S.end("You may now close this window.")}catch(x){throw S.statusCode=500,S.setHeader("Content-Type","text/plain"),S.end("Error processing OAuth callback."),x}finally{clearTimeout(v),p.off("request",A);for(let x of k)x.destroy();p.close(()=>f())}};p.on("request",A)})}let u=new URL(s);u.hash="",u.search="";let l=dd(o,{scope:i,redirect_uri:u.toString(),state:a});typeof window<"u"?window.location.href=l.toString():(console.log("Please open the following URL in your browser:"),console.log(l.toString()),await c)}completeOauth(){if(typeof window>"u")return;let e=window.localStorage.getItem(ar);if(!e)return;let n;try{n=JSON.parse(e)}catch{console.error("Invalid OAuth2 login data in local storage."),window.localStorage.removeItem(ar);return}let r=ny.safeParse(n);if(!r.success){console.error("Invalid OAuth2 login data structure in local storage.",r.error),window.localStorage.removeItem(ar);return}let{loginId:o,redirectUri:i,authorizationEndpoint:a,state:s,serviceEndpoints:c}=r.data;try{let u=new URL(i),l=new URL(window.location.href);if(u.pathname!==l.pathname)return;let d=l.searchParams;return!d.has("code")&&!d.has("error")?void 0:(window.history.replaceState({},document.title,u.toString()),window.localStorage.removeItem(ar),new Promise(p=>setTimeout(p,0)).then(()=>this.getAuthorizationConfiguration(a)).then(p=>this.onCallbackUrl({loginId:o,callbackUrl:l,configuration:p,expectedState:s,serviceEndpoints:c})).catch(p=>{let b=p instanceof Error?p:new Error("Unknown error"),f={loginId:o,error:b};this.eventTarget.dispatchEvent(new CustomEvent("login",{detail:f}))}))}catch(u){console.error(u)}}async onCallbackUrl(e){let{loginId:n,callbackUrl:r,configuration:o,expectedState:i,serviceEndpoints:a}=e,s=await Za(o,r,{expectedState:i}),c=s.access_token,l=s.scope?.split(" ").map(decodeURIComponent)||a;if(!a.every(p=>l.includes(p)))throw new Error("Not all requested service endpoints were granted.");let d=new CustomEvent("login",{detail:{loginId:n,token:c}});this.eventTarget.dispatchEvent(d)}async logout(e,n,r){try{await this.logout_(e,n,r)}catch(o){let i=o instanceof Error?o:new Error("Unknown error"),a={logoutId:n,error:i};this.eventTarget.dispatchEvent(new CustomEvent("logout",{detail:a}))}}async logout_(e,n,r){let o=await this.getAuthorizationConfiguration(e);await pd(o,r);let i={logoutId:n};this.eventTarget.dispatchEvent(new CustomEvent("logout",{detail:i}))}async getAuthorizationConfiguration(e){if(!e.startsWith(md))throw new Error(`Unrecognized authorization endpoint method: ${e}`);let n=e.slice(md.length),r;try{r=new URL(n)}catch{throw new Error("Invalid issuer URL.")}return await ud(r,"graffiti-client")}},hd=_c(be({loginId:H()}),ut([be({token:H(),error:X(wc())}),be({error:Ct(Error)})])),gd=be({logoutId:H(),error:X(Ct(Error))}),yd=X(Ze(be({error:X(Ct(Error))}))),ny=be({loginId:H(),redirectUri:J(),authorizationEndpoint:J(),state:H(),serviceEndpoints:V(J())});var ry="https://";function Re(t){if(!t.startsWith(ry))throw new Error("Unrecognized storage bucket endpoint type")}async function zo(t){Re(t);let e=`${t}/auth`,n=await fetch(e);if(!n.ok)throw new Error("Failed to get storage bucket authorization endpoint");return await n.text()}var It=class t extends Error{constructor(e){super(e),this.name="GraffitiErrorUnauthorized",Object.setPrototypeOf(this,t.prototype)}};async function Ke(...t){let e=await fetch(...t);if(!e.ok){let n;try{n=await e.text()}catch{n=e.statusText}throw e.status===401?new It(n):e.status===403?new st(n):e.status===404?new Q(n):e.status===410?new De(n):e.status===413?new jt(n):new Error(n)}return e}var Oo=class{getAuthorizationEndpoint=zo;async put(e,n,r,o){Re(e);let i=`${e}/value/${encodeURIComponent(n)}`;await Ke(i,{method:"PUT",headers:{"Content-Type":"application/octet-stream",Authorization:`Bearer ${o}`},body:r.slice()})}async delete(e,n,r){Re(e);let o=`${e}/value/${encodeURIComponent(n)}`;await Ke(o,{method:"DELETE",headers:{Authorization:`Bearer ${r}`}})}async get(e,n,r){Re(e);let o=`${e}/value/${encodeURIComponent(n)}`,i=await Ke(o),a=i.body?.getReader();if(!a)throw new Error("Failed to read value from storage bucket");let s=i.headers.get("Content-Length"),c=s?Number(s):void 0;if(!!c&&!!Number.isFinite(c)&&c>=0){let f=c;if(r!==void 0&&f>r)throw new Error("Value exceeds maximum byte limit");let g=new Uint8Array(f),v=0,k=!1;try{for(;v<=g.length;){let{done:A,value:_}=await a.read();if(A){k=!0;break}if(!_||_.length===0)continue;let S=v+_.length;if(S>g.length)throw new Error("Received more data than expected");g.set(_,v),v=S}}finally{a.releaseLock()}if(!k)throw new Error("Failed to read complete value from storage bucket");return v===f?g:g.slice(0,v)}let l=[],d=0;try{for(;;){let{done:f,value:g}=await a.read();if(f)break;if(!(!g||g.length===0)){if(d+=g.length,r!==void 0&&d>r)throw new Error("Value exceeds maximum byte limit");l.push(g.slice())}}}finally{a.releaseLock()}let p=new Uint8Array(d),b=0;for(let f of l)p.set(f,b),b+=f.length;return p}async*export(e,n){Re(e);let r=`${e}/export`,o;for(;;){let a=await(await Ke(o?`${r}?cursor=${encodeURIComponent(o)}`:r,{headers:{Authorization:`Bearer ${n}`}})).blob(),s=Je(await a.arrayBuffer()),c=oy.parse(s);for(let u of c.keys)yield{key:u};if(c.cursor)o=c.cursor;else break}}},oy=be({keys:V(H()),cursor:X(Ze(H()))});var Ro=class{getAuthorizationEndpoint=zo;cache_=null;get cache(){return this.cache_||(this.cache_=dy()),this.cache_}async send(e,n){Re(e);let r=`${e}/send`,i=await(await Ke(r,{method:"PUT",headers:{"Content-Type":"application/cbor"},body:new Uint8Array(Ee({m:n}))})).blob(),a=Je(await i.arrayBuffer());return cy.parse(a).id}async get(e,n,r){let o=Uo(e,n),i=await this.cache,a=await i.messages.get(o);if(a!==void 0)return a;let s=`${e}/message/${n}`,c=null;try{c=await Ke(s,{method:"GET",headers:{...r?{Authorization:`Bearer ${r}`}:{}}})}catch(p){if(p instanceof Q)return await i.messages.set(o,null),null;throw p}let u=await c.blob(),l=Je(await u.arrayBuffer()),d=xd.parse(l);return await i.messages.set(o,d),d}async label(e,n,r,o){if(Re(e),o){let c=`${e}/label/${n}`;await Ke(c,{method:"PUT",headers:{"Content-Type":"application/cbor",Authorization:`Bearer ${o}`},body:new Uint8Array(Ee({l:r}))})}let i=await this.cache,a=Uo(e,n),s=await i.messages.get(a);s&&await i.messages.set(a,{...s,l:r})}async fetchMessageBatch(e,n,r,o,i){let a=await Ke(`${e}/${n}${i?`?cursor=${encodeURIComponent(i)}`:""}`,{method:"POST",headers:{"Content-Type":"application/cbor",...o?{Authorization:`Bearer ${o}`}:{}},body:r}),s=a.headers.get("Retry-After"),c=s?parseInt(s):void 0,u=c&&Number.isFinite(c)?Date.now()+c*1e3:void 0;return{response:a,waitTil:u}}async*yieldFromCache(e,n,r,o,i=0){let a=o.messageIds.slice(i);yield*await Promise.all(a.map(async c=>{let u=await e.messages.get(Uo(n,c));if(!u){try{await e.messageIds.del(r)}catch{}throw new Error("Cache out of sync - perhaps clear browser storage")}return u}))}async*lockedMessageStreamer(...e){if(typeof window>"u"||!await $d()){let f=this.messageStreamer(...e);for(;;){let g=await f.next();if(g.done)return g.value;yield g.value}}let n=await e[0],r=`graffiti:inbox:${n}`,o=()=>{},i=!1;if(await new Promise(f=>{window.navigator.locks.request(r,{mode:"exclusive",ifAvailable:!0},async g=>{i=!!g,f(),await new Promise(v=>o=v)})}),i)try{let f=this.messageStreamer(...e);for(;;){let g=await f.next();if(g.done)return g.value;yield g.value}}finally{o()}o(),await window.navigator.locks.request(r,()=>{});let a=e[1],s=e[5]??{},c=e[6],u=e[7],l=await this.cache,d=await l.messageIds.get(n);if(!d)throw new Error("Cache not found");if(c!==void 0&&c!==d.version)throw new De("Cursor is stale");let p=this.yieldFromCache(l,a,n,d,u);for await(let f of p)yield f;let b={numSeen:d.messageIds.length,version:d.version,messageIdsCacheKey:n,objectSchema:s};return JSON.stringify(b)}async*messageStreamer(e,n,r,o,i,a={},s,c=0){let u=await yr(a),l=await e,d=await this.cache,p=await d.messageIds.get(l);if(s!==void 0&&s!==p?.version)throw new De("Cursor is stale");let b=p?.waitTil;await wd(b);let f=p?.cursor,g;try{let x=await this.fetchMessageBatch(n,r,o,i,f);g=x.response,b=x.waitTil}catch(x){if(!(x instanceof De&&f))throw console.error("Unexpected error in stream, waiting 5 seconds before continuing..."),await new Promise(U=>setTimeout(U,5e3)),x;if(await d.messageIds.del(l),s===void 0)p=void 0;else throw x}if(g!==void 0&&p){let x=this.yieldFromCache(d,n,l,p,c);for await(let U of x)yield U}if(g===void 0){let x=await this.fetchMessageBatch(n,r,o,i);g=x.response,b=x.waitTil}let v=g,k,A=p?.version??crypto.randomUUID(),_=p?.messageIds??[];for(;;){let x=await v.blob(),U=Je(await x.arrayBuffer()),{results:M,hasMore:B,cursor:ie}=uy.parse(U);k=ie;let Ae=M.map(w=>{let O=w[At][ot];if(!u(O))throw new Error("Server returned data that does not match schema");return{...w,[At]:{...w[At],[ot]:O}}});await Promise.all(Ae.map(w=>d.messages.set(Uo(n,w[Fa]),w))),_=[..._,...Ae.map(w=>w[Fa])],await d.messageIds.set(l,{cursor:k,version:A,messageIds:_,waitTil:b}),c+=Ae.length;for(let w of Ae)yield w;if(!B)break;await wd(b);let h=await this.fetchMessageBatch(n,r,void 0,i,k);v=h.response,b=h.waitTil}return JSON.stringify({numSeen:c,version:A,messageIdsCacheKey:l,objectSchema:a})}query(e,n,r,o){Re(e);let i=Ee({tags:n,schema:r}),a=vd(e,"query",i);return this.lockedMessageStreamer(a,e,"query",new Uint8Array(i),o,r)}continueQuery(e,n,r){Re(e);let o=JSON.parse(n),{messageIdsCacheKey:i,numSeen:a,objectSchema:s,version:c}=ly.parse(o);return this.lockedMessageStreamer(Promise.resolve(i),e,"query",void 0,r,s,c,a)}export(e,n){Re(e);let r=vd(e,"export");return this.lockedMessageStreamer(r,e,"export",void 0,n)}},iy=we({value:he({}),channels:V(H()),allowed:X(Ze(V(J()))),url:J(),actor:J()}),_d=wt(t=>t instanceof Uint8Array),ay=V(_d),sr="t",ot="o",cr="m",sy=we({[sr]:ay,[ot]:iy,[cr]:_d}),Fa="id",At="m",Do="l",xd=we({[Fa]:H(),[At]:sy,[Do]:vc()}),cy=we({id:H()}),uy=we({results:V(xd),hasMore:Si(),cursor:H()}),ly=we({messageIdsCacheKey:H(),version:H(),numSeen:Nt().check(bt()),objectSchema:ut([he({}),Si()])});async function $d(){try{return globalThis.indexedDB?(await new Promise((t,e)=>{let n=indexedDB.open("__idb_probe__",1);n.onupgradeneeded=()=>n.result.createObjectStore("k"),n.onsuccess=()=>{n.result.close(),t()},n.onerror=()=>e(n.error)}),!0):!1}catch{return!1}}function Uo(t,e){return`${encodeURIComponent(t)}:${encodeURIComponent(e)}`}async function vd(t,e,n){let r=Ee({inboxUrl:t,type:e,body:n??null});return crypto.subtle.digest("SHA-256",new Uint8Array(r)).then(o=>Array.from(new Uint8Array(o)).map(i=>i.toString(16).padStart(2,"0")).join(""))}async function bd(){await new Promise(t=>{let e=indexedDB.deleteDatabase("graffiti-inbox-cache");e.onsuccess=()=>t(),e.onerror=()=>t(),e.onblocked=()=>t()})}async function dy(){if(await $d()){let{openDB:n}=await import("./build-BXWPS7VK.js"),r=await n("graffiti-inbox-cache",1,{upgrade(o){o.objectStoreNames.contains("m")||o.createObjectStore("m"),o.objectStoreNames.contains("q")||o.createObjectStore("q")}});return{messages:{get:async o=>{try{return r.get("m",o)}catch(i){console.error("Error getting message from cache:",i),console.error("resetting cache..."),await bd();return}},set:async(o,i)=>{await r.put("m",i,o)},del:o=>r.delete("m",o)},messageIds:{get:async o=>{try{return await r.get("q",o)}catch(i){console.error("Error getting message IDs from cache:",i),console.error("resetting cache..."),await bd();return}},set:async(o,i)=>{await r.put("q",i,o)},del:o=>r.delete("q",o)}}}let t=new Map,e=new Map;return{messages:{get:async n=>t.get(n),set:async(n,r)=>{t.set(n,r)},del:async n=>{t.delete(n)}},messageIds:{get:async n=>e.get(n),set:async(n,r)=>{e.set(n,r)},del:async n=>{e.delete(n)}}}}async function wd(t){if(t!==void 0){let e=t-Date.now();e>0&&await new Promise(n=>setTimeout(n,e))}}var pn="base64url";var jo=class{async encode(e,n){if(e!==pn)throw new Error(`Unsupported string encoding method: ${e}`);return"u"+btoa(String.fromCodePoint(...n)).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=+$/,"")}async decode(e){if(!e.startsWith("u"))throw new Error(`Unsupported string encoding prefix: ${e[0]}`);e=e.slice(1);let n=e.replace(/-/g,"+").replace(/_/g,"/");for(;n.length%4!==0;)n+="=";return Uint8Array.from(atob(n),r=>r.charCodeAt(0))}};function Sd(){let e=(typeof globalThis=="object"?globalThis.crypto:null)?.subtle;if(typeof e=="object"&&e!=null)return e;throw new Error("crypto.subtle must be defined")}function Ed(t,e,n){let r=async o=>{Pr(o);let i=Sd();return new Uint8Array(await i.digest(t,o))};return r.webCryptoName=t,r.outputLen=n,r.blockLen=e,r.create=()=>{throw new Error("not implemented")},r}function fy(t){if(Ac(t),typeof t.webCryptoName!="string")throw new Error("non-web hash")}var Tt=Ed("SHA-256",64,32);var kd=Ed("SHA-512",128,64),Ha=(()=>{let t=async(e,n,r)=>{let o=Sd();Pr(n,void 0,"key"),Pr(r,void 0,"message"),fy(e);let i=await o.importKey("raw",n,{name:"HMAC",hash:e.webCryptoName},!1,["sign"]);return new Uint8Array(await o.sign("HMAC",i,r))};return t.create=(e,n)=>{throw new Error("not implemented")},t})();var No="sha2-256",ur=18,mn=32,Co=class{async register(e,n){if(e!==No)throw new Error(`Unsupported content address method: ${e}`);let r=await Tt(n),o=new Uint8Array(2+r.length);return o[0]=ur,o[1]=mn,o.set(r,2),o}async getMethod(e){if(e[0]===ur&&e[1]===mn&&e.length===2+mn)return No;throw new Error("Unrecognized content address format.")}};var Ud={p:0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffedn,n:0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3edn,h:8n,a:0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecn,d:0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3n,Gx:0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51an,Gy:0x6666666666666666666666666666666666666666666666666666666666666658n},{p:le,n:Lo,Gx:Id,Gy:Ad,a:Ja,d:Ga,h:py}=Ud,zt=32,lr=64,my=(...t)=>{"captureStackTrace"in Error&&typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(...t)},se=(t="")=>{let e=new Error(t);throw my(e,se),e},hy=t=>typeof t=="bigint",gy=t=>typeof t=="string",yy=t=>t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array",Xe=(t,e,n="")=>{let r=yy(t),o=t?.length,i=e!==void 0;if(!r||i&&o!==e){let a=n&&`"${n}" `,s=i?` of length ${e}`:"",c=r?`length=${o}`:`type=${typeof t}`;se(a+"expected Uint8Array"+s+", got "+c)}return t},Wa=t=>new Uint8Array(t),Rd=t=>Uint8Array.from(t),Dd=(t,e)=>t.toString(16).padStart(e,"0"),jd=t=>Array.from(Xe(t)).map(e=>Dd(e,2)).join(""),it={_0:48,_9:57,A:65,F:70,a:97,f:102},Td=t=>{if(t>=it._0&&t<=it._9)return t-it._0;if(t>=it.A&&t<=it.F)return t-(it.A-10);if(t>=it.a&&t<=it.f)return t-(it.a-10)},Nd=t=>{let e="hex invalid";if(!gy(t))return se(e);let n=t.length,r=n/2;if(n%2)return se(e);let o=Wa(r);for(let i=0,a=0;i<r;i++,a+=2){let s=Td(t.charCodeAt(a)),c=Td(t.charCodeAt(a+1));if(s===void 0||c===void 0)return se(e);o[i]=s*16+c}return o},vy=()=>globalThis?.crypto,by=()=>vy()?.subtle??se("crypto.subtle must be defined, consider polyfill"),dr=(...t)=>{let e=Wa(t.reduce((r,o)=>r+Xe(o).length,0)),n=0;return t.forEach(r=>{e.set(r,n),n+=r.length}),e};var Mo=BigInt,Pt=(t,e,n,r="bad number: out of range")=>hy(t)&&e<=t&&t<n?t:se(r),I=(t,e=le)=>{let n=t%e;return n>=0n?n:e+n},Cd=t=>I(t,Lo),wy=(t,e)=>{(t===0n||e<=0n)&&se("no inverse n="+t+" mod="+e);let n=I(t,e),r=e,o=0n,i=1n,a=1n,s=0n;for(;n!==0n;){let c=r/n,u=r%n,l=o-a*c,d=i-s*c;r=n,n=u,o=a,i=s,a=l,s=d}return r===1n?I(o,e):se("no inverse")};var Va=t=>t instanceof at?t:se("Point expected"),qa=2n**256n,at=class t{static BASE;static ZERO;X;Y;Z;T;constructor(e,n,r,o){let i=qa;this.X=Pt(e,0n,i),this.Y=Pt(n,0n,i),this.Z=Pt(r,1n,i),this.T=Pt(o,0n,i),Object.freeze(this)}static CURVE(){return Ud}static fromAffine(e){return new t(e.x,e.y,1n,I(e.x*e.y))}static fromBytes(e,n=!1){let r=Ga,o=Rd(Xe(e,zt)),i=e[31];o[31]=i&-129;let a=Xa(o);Pt(a,0n,n?qa:le);let c=I(a*a),u=I(c-1n),l=I(r*c+1n),{isValid:d,value:p}=xy(u,l);d||se("bad point: y not sqrt");let b=(p&1n)===1n,f=(i&128)!==0;return!n&&p===0n&&f&&se("bad point: x==0, isLastByteOdd"),f!==b&&(p=I(-p)),new t(p,a,1n,I(p*a))}static fromHex(e,n){return t.fromBytes(Nd(e),n)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}assertValidity(){let e=Ja,n=Ga,r=this;if(r.is0())return se("bad point: ZERO");let{X:o,Y:i,Z:a,T:s}=r,c=I(o*o),u=I(i*i),l=I(a*a),d=I(l*l),p=I(c*e),b=I(l*I(p+u)),f=I(d+I(n*I(c*u)));if(b!==f)return se("bad point: equation left != right (1)");let g=I(o*i),v=I(a*s);return g!==v?se("bad point: equation left != right (2)"):this}equals(e){let{X:n,Y:r,Z:o}=this,{X:i,Y:a,Z:s}=Va(e),c=I(n*s),u=I(i*o),l=I(r*s),d=I(a*o);return c===u&&l===d}is0(){return this.equals(hn)}negate(){return new t(I(-this.X),this.Y,this.Z,I(-this.T))}double(){let{X:e,Y:n,Z:r}=this,o=Ja,i=I(e*e),a=I(n*n),s=I(2n*I(r*r)),c=I(o*i),u=e+n,l=I(I(u*u)-i-a),d=c+a,p=d-s,b=c-a,f=I(l*p),g=I(d*b),v=I(l*b),k=I(p*d);return new t(f,g,k,v)}add(e){let{X:n,Y:r,Z:o,T:i}=this,{X:a,Y:s,Z:c,T:u}=Va(e),l=Ja,d=Ga,p=I(n*a),b=I(r*s),f=I(i*d*u),g=I(o*c),v=I((n+r)*(a+s)-p-b),k=I(g-f),A=I(g+f),_=I(b-l*p),S=I(v*k),x=I(A*_),U=I(v*_),M=I(k*A);return new t(S,x,M,U)}subtract(e){return this.add(Va(e).negate())}multiply(e,n=!0){if(!n&&(e===0n||this.is0()))return hn;if(Pt(e,1n,Lo),e===1n)return this;if(this.equals(mt))return Ay(e).p;let r=hn,o=mt;for(let i=this;e>0n;i=i.double(),e>>=1n)e&1n?r=r.add(i):n&&(o=o.add(i));return r}multiplyUnsafe(e){return this.multiply(e,!1)}toAffine(){let{X:e,Y:n,Z:r}=this;if(this.equals(hn))return{x:0n,y:1n};let o=wy(r,le);I(r*o)!==1n&&se("invalid inverse");let i=I(e*o),a=I(n*o);return{x:i,y:a}}toBytes(){let{x:e,y:n}=this.assertValidity().toAffine(),r=Ld(n);return r[31]|=e&1n?128:0,r}toHex(){return jd(this.toBytes())}clearCofactor(){return this.multiply(Mo(py),!1)}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){let e=this.multiply(Lo/2n,!1).double();return Lo%2n&&(e=e.add(this)),e.is0()}},mt=new at(Id,Ad,1n,I(Id*Ad)),hn=new at(0n,1n,1n,0n);at.BASE=mt;at.ZERO=hn;var Ld=t=>Nd(Dd(Pt(t,0n,qa),lr)).reverse(),Xa=t=>Mo("0x"+jd(Rd(Xe(t)).reverse())),We=(t,e)=>{let n=t;for(;e-- >0n;)n*=n,n%=le;return n},_y=t=>{let n=t*t%le*t%le,r=We(n,2n)*n%le,o=We(r,1n)*t%le,i=We(o,5n)*o%le,a=We(i,10n)*i%le,s=We(a,20n)*a%le,c=We(s,40n)*s%le,u=We(c,80n)*c%le,l=We(u,80n)*c%le,d=We(l,10n)*i%le;return{pow_p_5_8:We(d,2n)*t%le,b2:n}},Pd=0x2b8324804fc1df0b2b4d00993dfbd7a72f431806ad2fe478c4ee1b274a0ea0b0n,xy=(t,e)=>{let n=I(e*e*e),r=I(n*n*e),o=_y(t*r).pow_p_5_8,i=I(t*n*o),a=I(e*i*i),s=i,c=I(i*Pd),u=a===t,l=a===I(-t),d=a===I(-t*Pd);return u&&(i=s),(l||d)&&(i=c),(I(i)&1n)===1n&&(i=I(-i)),{isValid:u||l,value:i}},Zo=t=>Cd(Xa(t)),Ya=(...t)=>Qa.sha512Async(dr(...t));var $y=t=>{let e=t.slice(0,zt);e[0]&=248,e[31]&=127,e[31]|=64;let n=t.slice(zt,lr),r=Zo(e),o=mt.multiply(r),i=o.toBytes();return{head:e,prefix:n,scalar:r,point:o,pointBytes:i}},Md=t=>Ya(Xe(t,zt)).then($y);var Zd=t=>Md(t).then(e=>e.pointBytes);var Bd=t=>Ya(t.hashable).then(t.finish);var Sy=(t,e,n)=>{let{pointBytes:r,scalar:o}=t,i=Zo(e),a=mt.multiply(i).toBytes();return{hashable:dr(a,r,n),finish:u=>{let l=Cd(i+Zo(u)*o);return Xe(dr(a,Ld(l)),lr)}}},Fd=async(t,e)=>{let n=Xe(t),r=await Md(e),o=await Ya(r.prefix,n);return Bd(Sy(r,o,n))};var Hd={zip215:!0},Ey=(t,e,n,r=Hd)=>{t=Xe(t,lr),e=Xe(e),n=Xe(n,zt);let{zip215:o}=r,i,a,s,c,u=Uint8Array.of();try{i=at.fromBytes(n,o),a=at.fromBytes(t.slice(0,zt),o),s=Xa(t.slice(zt,lr)),c=mt.multiply(s,!1),u=dr(a.toBytes(),i.toBytes(),e)}catch{}return{hashable:u,finish:d=>{if(c==null||!o&&i.isSmallOrder())return!1;let p=Zo(d);return a.add(i.multiply(p,!1)).add(c.negate()).clearCofactor().is0()}}},Jd=async(t,e,n,r=Hd)=>Bd(Ey(t,e,n,r));var Qa={sha512Async:async t=>{let e=by(),n=dr(t);return Wa(await e.digest("SHA-512",n.buffer))},sha512:void 0};var Bo=8,ky=256,Gd=Math.ceil(ky/Bo)+1,Ka=2**(Bo-1),Iy=()=>{let t=[],e=mt,n=e;for(let r=0;r<Gd;r++){n=e,t.push(n);for(let o=1;o<Ka;o++)n=n.add(e),t.push(n);e=n.double()}return t},zd,Od=(t,e)=>{let n=e.negate();return t?n:e},Ay=t=>{let e=zd||(zd=Iy()),n=hn,r=mt,o=2**Bo,i=o,a=Mo(o-1),s=Mo(Bo);for(let c=0;c<Gd;c++){let u=Number(t&a);t>>=s,u>Ka&&(u-=i,t+=1n);let l=c*Ka,d=l,p=l+Math.abs(u)-1,b=c%2!==0,f=u<0;u===0?r=r.add(Od(b,e[d])):n=n.add(Od(f,e[p]))}return t!==0n&&se("invalid wnaf"),{p:n,f:r}};Qa.sha512Async=kd;var Ot="pk:sha2-256+ed25519",es=0,Fo=class{async register(e,n){if(e!==Ot)throw new Error(`Unsupported channel attestation method: ${e}`);let r=await this.channelToPrivateKey(n);return await this.channelPublicIdFromPrivateKey(r)}async getMethod(e){if(e[0]===es)return Ot;throw new Error("Unrecognized channel attestation method.")}async channelToPrivateKey(e){let n=new TextEncoder().encode(e);return await Tt(n)}async channelPublicIdFromPrivateKey(e){let n=await Zd(e),r=new Uint8Array(n.length+1);return r[0]=es,r.set(n,1),r}async attest(e,n,r){if(e!==Ot)throw new Error(`Unsupported channel attestation method: ${e}`);let o=await this.channelToPrivateKey(r),i=await this.channelPublicIdFromPrivateKey(o),a=new TextEncoder().encode(n);return{attestation:await Fd(a,o),channelPublicId:i}}async validate(e,n,r){let o=r[0];if(o!==es)throw new Error(`Unrecognized channel attestation method prefix: ${o}`);return await Jd(e,new TextEncoder().encode(n),r.slice(1))}};var ts="hmac:sha2-256",Vd=0,Ho=class{async attest(e,n){if(e!==ts)throw new Error(`Unsupported allowed attestation method: ${e}`);let r=_t(),o=await Ha(Tt,r,new TextEncoder().encode(n)),i=new Uint8Array(r.length+3);return i[0]=Vd,i[1]=ur,i[2]=mn,i.set(r,3),{attestation:o,ticket:i}}async validate(e,n,r){let o=r[0],i=r[1],a=r[2];if(o!==Vd||i!==ur||a!==mn)throw new Error("Unrecognized allowed ticket format");let s=await Ha(Tt,r.slice(3),new TextEncoder().encode(n));return e.length!==s.length?!1:s.every((c,u)=>e[u]===c)}};var ns="did:web:",Jo=class{constructor(e){this.services=e}actorToHandle=async e=>{let r=(await this.services.dids.resolve(e)).alsoKnownAs?.at(0);if(!r)throw new Q(`Handle for actor DID ${e} not found`);if(!r.startsWith(ns))throw new Error(`Handle DID ${r} is not a valid handle`);let o=r.slice(ns.length),i=await this.services.dids.resolve(r);if(!i.alsoKnownAs||!i.alsoKnownAs.includes(e))throw new Error(`Handle ${o} does not match actor ${e}`);return o};handleToActor=async e=>{let n=`${ns}${e}`,o=(await this.services.dids.resolve(n)).alsoKnownAs?.at(0);if(!o)throw new Q(`Actor for handle DID ${n} not found`);let i=await this.services.dids.resolve(o);if(!i.alsoKnownAs||!i.alsoKnownAs.includes(n))throw new Error(`Actor ${o} does not match handle ${e}`);return o}};var Ko="GraffitiInbox",Xo="GraffitiStorageBucket",as="#graffitiPersonalInbox",Yo="#graffitiStorageBucket",Ty="#graffitiSharedInbox_",Wo=class{constructor(e){this.services=e;let n=new Promise(o=>{this.services.authorization.eventTarget.addEventListener("initialized",i=>{if(!(i instanceof CustomEvent))return;let a=yd.safeParse(i.detail);if(!a.success)return;let s=a.data?.error;s&&console.error(s),o()})});this.services.authorization.eventTarget.addEventListener("login",this.onLogin.bind(this)),this.services.authorization.eventTarget.addEventListener("logout",this.onLogout.bind(this));let r;if(typeof window<"u"){let o=new URLSearchParams(window.location.search).get("actor");if(o)try{let i=decodeURIComponent(o),a=new URL(window.location.toString());a.searchParams.delete("actor"),window.history.replaceState({},"",a.toString()),r=this.login(i)}catch(i){console.error("Error decoding actor:",i)}}(async()=>{await new Promise(i=>setTimeout(i,0)),await r;for(let i of this.loggedInSessions){let a=new CustomEvent("login",{detail:{session:{actor:i.actor}}});this.sessionEvents.dispatchEvent(a)}await n;let o=new CustomEvent("initialized");this.sessionEvents.dispatchEvent(o)})()}sessionEvents=new EventTarget;inProgressLogin=void 0;inProgressLogout=void 0;async login(e){try{await this.login_(e)}catch(n){let r=new CustomEvent("login",{detail:{error:n instanceof Error?n:new Error(String(n)),session:{actor:e}}});this.sessionEvents.dispatchEvent(r)}}async login_(e){if(this.loggedInSessions.find(_=>_.actor===e)){this.sessionEvents.dispatchEvent(new CustomEvent("login",{detail:{session:{actor:e}}}));return}let o=(await this.services.dids.resolve(e)).service;if(!o)throw new Error(`No services found in actor document for ${e}`);let i=o.find(_=>_.id===Yo&&_.type===Xo),a=o.find(_=>_.id===as&&_.type===Ko),s=o.filter(_=>_.id.match(new RegExp(`^${Ty}\\d+$`))&&_.type===Ko);if(!a||!i||s.length===0)throw new Error(`Required services not found in actor document for ${e}`);let c=os(i),u=os(a),l=s.map(os),d=[{endpoint:c,type:"bucket"},{endpoint:u,type:"personal-inbox"},...l.map(_=>({endpoint:_,type:"shared-inbox"}))],p=await Promise.all(d.map(async({endpoint:_,type:S})=>{let x=await(S==="bucket"?this.services.storageBuckets.getAuthorizationEndpoint(_):this.services.inboxes.getAuthorizationEndpoint(_));return{endpoint:_,authorizationEndpoint:x,type:S}})),b=new Map;p.forEach(({authorizationEndpoint:_,endpoint:S,type:x})=>{b.has(_)||b.set(_,[]),b.get(_).push({endpoint:S,type:x})});let f=[...b.entries()],v={...{actor:e},tokens:[],servicesByAuthorization:f};typeof window<"u"?window.localStorage.setItem(Go,JSON.stringify(v)):this.inProgressLogin=v;let[k,A]=f[0];await this.services.authorization.login(k,e,A.map(_=>_.endpoint))}async onLogin(e){if(!(e instanceof CustomEvent))return;let n=hd.safeParse(e.detail);if(!n.success)return;let r=n.data.loginId;try{await this.onLogin_(n.data)}catch(o){let i=new CustomEvent("login",{detail:{error:o instanceof Error?o:new Error(String(o)),session:{actor:r}}});this.sessionEvents.dispatchEvent(i)}}async onLogin_(e){if(e.error)throw e.error;let n=e.token,r=e.loginId,o;if(typeof window<"u"){let i=window.localStorage.getItem(Go);if(!i)throw new Error("No in-progress login found");let a=JSON.parse(i);o=is.parse(a)}else{if(!this.inProgressLogin)throw new Error("No in-progress login found");o=this.inProgressLogin}if(o.actor!==r)throw new Error("Actor mismatch in login response - concurrent logins?");if(o.tokens.push(n),o.tokens.length===o.servicesByAuthorization.length){typeof window>"u"?this.inProgressLogin=void 0:window.localStorage.removeItem(Go);let i=o.servicesByAuthorization.flatMap(([u,l],d)=>l.map(p=>({token:o.tokens[d],serviceEndpoint:p.endpoint,authorizationEndpoint:u,type:p.type}))),a={...o,storageBucket:i.find(u=>u.type==="bucket"),personalInbox:i.find(u=>u.type==="personal-inbox"),sharedInboxes:i.filter(u=>u.type==="shared-inbox")},s=this.loggedInSessions;s.push(a),this.loggedInSessions=s;let c=new CustomEvent("login",{detail:{session:{actor:r}}});this.sessionEvents.dispatchEvent(c)}else{typeof window<"u"?window.localStorage.setItem(Go,JSON.stringify(o)):this.inProgressLogin=o;let[i,a]=o.servicesByAuthorization[o.tokens.length];await this.services.authorization.login(i,r,a.map(s=>s.endpoint))}}async logout(e){try{await this.logout_(e)}catch(n){let r=new CustomEvent("logout",{detail:{error:n instanceof It?void 0:n instanceof Error?n:new Error(String(n)),actor:e}});this.sessionEvents.dispatchEvent(r)}}async logout_(e){let n=this.loggedInSessions.find(a=>a.actor===e);if(!n)throw new Error(`No session found for actor ${e}`);this.loggedInSessions=this.loggedInSessions.filter(a=>a.actor!==e);let r=n.tokens.pop();if(!r)throw new Error("No tokens found in session");typeof window<"u"?window.localStorage.setItem(Vo,JSON.stringify(n)):this.inProgressLogout=n;let[o,i]=n.servicesByAuthorization[n.tokens.length];await this.services.authorization.logout(o,e,r)}async onLogout(e){if(!(e instanceof CustomEvent))return;let n=gd.safeParse(e.detail);if(!n.success)return;let r=n.data.logoutId;try{await this.onLogout_(n.data)}catch(o){let i=new CustomEvent("logout",{detail:{error:o instanceof Error?o:new Error(String(o)),actor:r}});this.sessionEvents.dispatchEvent(i)}}async onLogout_(e){if(e.error)throw e.error;let n=e.logoutId,r;if(typeof window<"u"){let i=window.localStorage.getItem(Vo);if(!i)throw new Error("No in-progress logout found");let a=JSON.parse(i);r=is.parse(a)}else{if(!this.inProgressLogout)throw new Error("No in-progress logout found");r=this.inProgressLogout}if(r.actor!==n)throw new Error("Actor mismatch in logout response - concurrent logouts?");let o=r.tokens.pop();if(o){typeof window<"u"?window.localStorage.setItem(Vo,JSON.stringify(r)):this.inProgressLogout=r;let[i,a]=r.servicesByAuthorization[r.tokens.length];await this.services.authorization.logout(i,n,o)}else{typeof window>"u"?this.inProgressLogout=void 0:window.localStorage.removeItem(Vo);let i=new CustomEvent("logout",{detail:{actor:n}});this.sessionEvents.dispatchEvent(i)}}get loggedInSessions(){if(typeof window>"u")return qd;let e=window.localStorage.getItem(qo);if(!e)return[];let n;try{n=JSON.parse(e)}catch{return console.error("Error parsing stored session data"),window.localStorage.removeItem(qo),[]}let r=V(Oy).safeParse(n);return r.success?r.data:(console.error("Stored session data is invalid"),window.localStorage.removeItem(qo),[])}set loggedInSessions(e){if(typeof window>"u"){qd=e;return}window.localStorage.setItem(qo,JSON.stringify(e))}resolveSession(e){let n=this.loggedInSessions.find(r=>r.actor===e.actor);if(!n){let r=new CustomEvent("logout",{detail:{actor:e.actor}});throw this.sessionEvents.dispatchEvent(r),new Error("Not logged in")}return n}},qd=[],Go="graffiti-login-in-progress",Vo="graffiti-logout-in-progress",qo="graffiti-sessions-logged-in",Py=be({actor:J()}),rs=be({token:H(),serviceEndpoint:J(),authorizationEndpoint:J()}),zy=V(fe([J(),V(be({endpoint:J(),type:$c(["bucket","personal-inbox","shared-inbox"])}))])),is=tt(Py,{tokens:V(H()),servicesByAuthorization:zy}),Oy=tt(is,{storageBucket:rs,personalInbox:rs,sharedInboxes:V(rs)});function os(t){if(typeof t.serviceEndpoint=="string")return t.serviceEndpoint;throw new Error(`Service endpoint for ${t.id} is not a string`)}var Qo=32*1024,ei=class{constructor(e){this.primitives=e}async encode(e,n){e=fs(e);let r=[...new Set(e.channels)],o=await Promise.all(r.map(g=>this.primitives.channelAttestations.attest(Ot,n,g))),i=o.map(g=>g.attestation),a=o.map(g=>g.channelPublicId),s={[cs]:e.value,[us]:i,[Xd]:_t(32)},c;if(Array.isArray(e.allowed)){let g=await Promise.all(e.allowed.map(async v=>this.primitives.allowedAttestations.attest(ts,v)));s[ls]=g.map(v=>v.attestation),c=g.map(v=>v.ticket)}let u=Ee(s);if(u.byteLength>Qo)throw new Error("The object is too large");let l=await this.primitives.contentAddresses.register(No,u),d=await this.primitives.stringEncoder.encode(pn,l),p=Ry(n,d),b=[new TextEncoder().encode(p),...a];return{object:{value:e.value,channels:r,url:p,actor:n,...e.allowed?{allowed:e.allowed}:{}},tags:b,objectBytes:u,allowedTickets:c}}async validate(e,n,r,o){if(r.byteLength>Qo)throw new Error("Object is too big");let{actor:i,contentAddress:a}=ps(e.url);if(i!==e.actor)throw new Error("Object actor does not match URL actor");let s=n.at(0);if(!s)throw new Error("No object URL tag");if(new TextDecoder().decode(s)!==e.url)throw new Error("Object URL tag does not match object URL");let c=n.slice(1),u=await this.primitives.stringEncoder.decode(a),l=await this.primitives.contentAddresses.getMethod(u),d=await this.primitives.contentAddresses.register(l,r);if(d.length!==u.length||!d.every((_,S)=>_===u[S]))throw new Error("Content address is invalid");let p=Je(r),b=Uy.parse(p),f=b[cs],g=b[us],v=b[ls],k=Ee(f),A=Ee(e.value);if(k.length!==A.length||!k.every((_,S)=>_===A[S]))throw new Error("Object value does not match storage value");if(g.length!==c.length)throw new Error("Not as many channel attestations and public ids");for(let[_,S]of g.entries()){let x=c[_];if(!await this.primitives.channelAttestations.validate(S,i,x))throw new Error("Invalid channel attestation")}if(e.channels.length){if(e.channels.length!==c.length)throw new Error("Number of claimed channels does not match attestations/public IDs");let _=await this.primitives.channelAttestations.getMethod(c[0]),S=await Promise.all(e.channels.map(x=>this.primitives.channelAttestations.register(_,x)));for(let[x,U]of S.entries()){let M=c[x];if(U.length!==M.length||!U.every((B,ie)=>B===M[ie]))throw new Error("Channel public id does not match expected")}}if(o){if(!v)throw new Error("Object is public but thought to be private");let _,S,x;if("recipient"in o?(_=[o.recipient],S=[o.allowedTicket],x=v.filter((U,M)=>M===o.allowedIndex)):(_=[...e.allowed??[]],S=o.allowedTickets,x=v),_.length!==e.allowed?.length)throw new Error("Recipient count does not match object allowed list");if(!_.every(U=>e.allowed?.includes(U)))throw new Error("Recipient not in object allowed list");for(let[U,M]of _.entries()){let B=S.at(U),ie=x.at(U);if(!B)throw new Error("Missing allowed ticket for recipient");if(!ie)throw new Error("Missing allowed attestation for recipient");if(!await this.primitives.allowedAttestations.validate(ie,M,B))throw new Error("Invalid allowed attestation for recipient")}}else if(v)throw new Error("Object is private but no recipient info provided")}},cs="v",us="c",ls="a",Xd="n",ss=wt(t=>t instanceof Uint8Array),Uy=we({[cs]:he({}),[us]:V(ss),[ls]:X(V(ss)),[Xd]:ss}),ds="graffiti:";function Kd(t){let e=t.replace(/:/g,"!").replace(/\//g,"~");return encodeURIComponent(e)}function Wd(t){return decodeURIComponent(t).replace(/!/g,":").replace(/~/g,"/")}function Ry(t,e){return`${ds}${Kd(t)}:${Kd(e)}`}function ps(t){if(!t.startsWith(ds))throw new Error("Invalid object URL");let n=t.slice(ds.length).split(":");if(n.length!==2)throw new Error("Invalid object URL format");let[r,o]=n;return{actor:Wd(r),contentAddress:Wd(o)}}function fs(t){return t===void 0?null:Array.isArray(t)?t.map(fs):typeof t=="object"?Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0).map(([e,n])=>[e,fs(n)])):t}var Yd=class{dialog=document.createElement("dialog");shadow;main_;useTemplateHTML;templates_;onManualClose;displayTemplateSeq=0;constructor(t){this.useTemplateHTML=t.useTemplateHTML,this.onManualClose=t.onManualClose,this.dialog.className="graffiti-modal",this.dialog.addEventListener("click",n=>{if("pointerType"in n&&!n.pointerType)return;let r=this.dialog.getBoundingClientRect();(r.top>n.clientY||r.left>n.clientX||n.clientY>r.top+r.height||n.clientX>r.left+r.width)&&(this.close(),this.onManualClose?.())});let e=document.createElement("div");this.shadow=e.attachShadow({mode:"closed"}),this.shadow.appendChild(this.dialog),document.body.append(e)}get templates(){return this.templates_||(this.main_,this.templates_=new Promise(async t=>t(await this.useTemplateHTML())).then(t=>{let e=new DOMParser().parseFromString(t,"text/html"),n=new Map;return e.querySelectorAll("template").forEach(r=>{let o=r.id;o&&n.set(o,r)}),n})),this.templates_}get main(){return this.main_||(this.templates_,this.main_=Promise.all([import("./style-BOBMBTYJ-ORUSIJTZ.js"),import("./graffiti-KV3G3O72-URO7SJIJ.js"),import("./rock-salt-LI7DAH66-KPFEBIBO.js")]).then(async([{default:t},{default:e},{default:n}])=>{let r=document.createElement("header"),o=document.createElement("button");o.className="secondary",o.textContent="Close",o?.addEventListener("click",()=>{this.close(),this.onManualClose?.()}),r.appendChild(o);let i=document.createElement("main");this.dialog.appendChild(r),this.dialog.appendChild(i);let a=new FontFace("Rock Salt",`url(${n})`,{style:"normal",weight:"400"});document.fonts.add(a),await a.load(),t=t.replace("url(graffiti.jpg)",`url(${e})`);let s=new CSSStyleSheet;return s.replace(t).then(()=>{this.shadow.adoptedStyleSheets=[s]}),i})),this.main_}async open(){await this.main,this.dialog.showModal(),this.dialog.focus()}close(){this.dialog.close()}async displayTemplate(t){let e=++this.displayTemplateSeq,n=()=>{if(e!==this.displayTemplateSeq)throw new Error(`displayTemplate(${t}) overridden by concurrent call`)},r=await this.main;n();let o=(await this.templates).get(t);if(n(),!o)throw new Error(`Template not found: ${t}`);let i=o.content.cloneNode(!0);return r.replaceChildren(i),r}};var tf=wt(t=>t instanceof Uint8Array),gs="k",gn="t",bs=we({[gs]:H(),[gn]:X(H())}),Ut="id",ys="e",fr="a",Dy=V(we({[Ut]:H(),[ys]:X(J()),[fr]:X(J())})),ti="s",ni="n",jy=tt(bs,{[ti]:X(V(tf)),[ni]:Dy}),pr="a",vs="i",Ny=tt(bs,{[pr]:tf,[vs]:Nt().check(bt())}),Cy=ut([bs,jy,Ny]),Ly=0,ms=1,ht=2,hs=3,My=16,Qd="graffiti-login-remembered-handle",ri=class{dids=new mo;authorization=new Po;storageBuckets=new Oo;inboxes=new Ro;stringEncoder=new jo;contentAddresses=new Co;channelAttestations=new Fo;allowedAttestations=new Ho;sessions=new Wo({dids:this.dids,authorization:this.authorization,storageBuckets:this.storageBuckets,inboxes:this.inboxes});handles=new Jo({dids:this.dids});objectEncoding=new ei({stringEncoder:this.stringEncoder,contentAddresses:this.contentAddresses,channelAttestations:this.channelAttestations,allowedAttestations:this.allowedAttestations});modal=typeof window>"u"?void 0:new Yd({useTemplateHTML:()=>import("./login-dialog.html-VTDKJZBG.js").then(({template:e})=>e),onManualClose:()=>{let e=new CustomEvent("login",{detail:{error:new Error("User cancelled login"),manual:!0}});this.sessionEvents.dispatchEvent(e)}});defaultInboxEndpoints;identityCreatorEndpoint;constructor(e){this.defaultInboxEndpoints=e?.defaultInboxEndpoints??["https://graffiti.actor/i/shared"],this.identityCreatorEndpoint=e?.identityCreatorEndpoint??"https://graffiti.actor/create",this.sessionEvents.addEventListener("login",async n=>{if(!(n instanceof CustomEvent))return;let r=n.detail;if(r.error!==void 0){if("manual"in r&&r.manual)return;alert("Login failed: "+r.error.message);let a=r.session?.actor,s;if(a)try{s=await this.actorToHandle(a)}catch(c){console.error("Failed to handle actor:",c)}this.login_(s);return}let o=r.session.actor,i;try{i=await this.actorToHandle(o)}catch(a){console.error("Failed to load handle from actor:",a)}i&&await this.rememberHandleInPasswordManager(i,o)});for(let n of["post","get","delete","postMedia","getMedia","deleteMedia"]){let r=this[n];this[n]=async(...o)=>{try{return await r(...o)}catch(i){let a=o[o.length-1];throw await this.tryLogoutIfUnauthorized(i,a),i}}}}actorToHandle=this.handles.actorToHandle.bind(this.handles);handleToActor=this.handles.handleToActor.bind(this.handles);sessionEvents=this.sessions.sessionEvents;login=async e=>{try{let n;try{n=e?await this.actorToHandle(e):void 0}catch(r){console.error("Error fetching handle for actor:",r)}await this.login_(n)}catch(n){let r=new CustomEvent("login",{detail:{error:n instanceof Error?n:new Error(String(n))}});this.sessionEvents.dispatchEvent(r)}};async login_(e){if(typeof window<"u"){let n;if(e!==void 0){n=await this.modal?.displayTemplate("graffiti-login-handle");let o=n?.querySelector("#username"),i=e||await this.getRememberedHandleFromPasswordManager();o&&(o.value=i??""),o?.addEventListener("focus",()=>o?.select()),setTimeout(()=>o?.focus(),0),n?.querySelector("#graffiti-login-handle-form")?.addEventListener("submit",async a=>{a.preventDefault(),o?.setAttribute("disabled","true");let s=n?.querySelector("#graffiti-login-handle-submit");if(s?.setAttribute("disabled","true"),s&&(s.innerHTML="Logging in..."),!o?.value){alert("No handle provided"),this.login_("");return}let c=o.value;if(!c.includes(".")&&!c.startsWith("localhost")){let l=new URL(this.identityCreatorEndpoint).host;c=`${c}.${l}`}let u;try{u=await this.handleToActor(c)}catch{alert("Could not find an identity associated with that handle."),this.login_(c);return}try{await this.sessions.login(u)}catch(l){alert("Error logging in."),console.error(l),this.login_(c)}})}else n=await this.modal?.displayTemplate("graffiti-login-welcome"),n?.querySelector("#graffiti-login-existing")?.addEventListener("click",o=>{o.preventDefault(),this.login_("")}),setTimeout(()=>n?.querySelector("#graffiti-login-new")?.focus(),0);let r=new URL(this.identityCreatorEndpoint);r.searchParams.set("redirect_uri",encodeURIComponent(window.location.toString())),n?.querySelector("#graffiti-login-new")?.setAttribute("href",r.toString()),await this.modal?.open()}else{let n=await import("readline").catch(a=>{throw new Error("Unrecognized environment: neither window nor readline")});console.log("If you do not already have a Graffiti handle, you can create one here:"),console.log(this.identityCreatorEndpoint);let r=n.createInterface({input:process.stdin,output:process.stdout}),o=await new Promise(a=>{r.question(`Please enter your handle${e?` (default: ${e})`:""}: `,s=>{r.close(),a(s||e)})});if(!o)throw new Error("No handle provided");let i=await this.handleToActor(o);await this.sessions.login(i)}}async rememberHandleInPasswordManager(e,n){if(typeof window>"u")return;let r=window.navigator.credentials,o=window.PasswordCredential;if(!r?.store||!o){this.rememberHandleInBrowserStorage(e);return}try{let i=new o({id:e,password:"no-password",name:e});await r.store(i)}catch(i){console.error("Failed to remember handle in password manager:",i),this.rememberHandleInBrowserStorage(e)}}async getRememberedHandleFromPasswordManager(){if(typeof window>"u")return;let e=window.navigator.credentials,n=window.PasswordCredential;if(!e?.get||!n)return this.getRememberedHandleFromBrowserStorage();try{let r=await e.get({password:!0,mediation:"optional"});if(r&&"id"in r&&typeof r.id=="string")return r.id}catch(r){return console.error("Failed to load handle from password manager:",r),this.getRememberedHandleFromBrowserStorage()}}rememberHandleInBrowserStorage(e){if(!(typeof window>"u"))try{window.localStorage.setItem(Qd,e)}catch(n){console.error("Failed to remember handle in browser storage:",n)}}getRememberedHandleFromBrowserStorage(){if(!(typeof window>"u"))try{return window.localStorage.getItem(Qd)??void 0}catch(e){console.error("Failed to load handle from browser storage:",e);return}}logout=async e=>{await this.sessions.logout(e.actor)};post=async(...e)=>{let[n,r]=e,o=this.sessions.resolveSession(r),{object:i,tags:a,objectBytes:s,allowedTickets:c}=await this.objectEncoding.encode(n,r.actor),u=_t(),l=await this.stringEncoder.encode(pn,u);return await this.storageBuckets.put(o.storageBucket.serviceEndpoint,l,s,o.storageBucket.token),await this.announceObject(i,a,c,l,r),i};get=async(...e)=>{let[n,r,o]=e,i,a=await yr(r);if(o){let u=this.sessions.resolveSession(o);i=[u.personalInbox,...u.sharedInboxes]}else i=this.defaultInboxEndpoints.map(u=>({serviceEndpoint:u}));let s=ai(n),c=[new TextEncoder().encode(s)];for(let u of i){let l,d=this.querySingleEndpoint(u.serviceEndpoint,{tags:c,objectSchema:{}},u.token,o?.actor);for await(let p of d)p.object.url===s&&(p.tombstone?l=void 0:l=p.object);if(l){if(!a(l))throw new hr("Object exists but does not match the supplied schema");return l}}throw new Q("Object not found")};delete=async(e,n)=>{let r=this.sessions.resolveSession(n),o=ai(e),{actor:i}=ps(o);if(i!==n.actor)throw new st("Cannot delete someone else's actor");let a=this.querySingleEndpoint(r.personalInbox.serviceEndpoint,{tags:[new TextEncoder().encode(o)],objectSchema:{}},r.personalInbox.token),s;for await(let f of a)f.object.url===o&&(f.tombstone?s=void 0:s=f);if(!s)throw new Q(`Object ${o} not found`);let{object:c,storageBucketKey:u,tags:l,allowedTickets:d,announcements:p,messageId:b}=s;return await this.storageBuckets.delete(r.storageBucket.serviceEndpoint,u,r.storageBucket.token),await this.announceObject(c,l,d,u,n,[...p??[],{[fr]:n.actor,[Ut]:b}]),c};postMedia=async(...e)=>{let[n,r]=e,o=n.data.type,i=this.sessions.resolveSession(r),a=_t(),s=await this.stringEncoder.encode(pn,a);await this.storageBuckets.put(i.storageBucket.serviceEndpoint,s,new Uint8Array(await n.data.arrayBuffer()),i.storageBucket.token);let{url:c}=await this.post({value:{key:s,type:o,size:n.data.size},channels:[],allowed:n.allowed},r);return c};getMedia=async(...e)=>{let[n,r,o]=e,i=await this.get(n,Zy,o),{key:a,type:s,size:c}=i.value;if(r?.maxBytes&&c>r.maxBytes)throw new jt("File size exceeds limit");if(r?.types&&!_s(s,r.types))throw new gr(`Unacceptable media type, ${s}`);let l=(await this.dids.resolve(i.actor))?.service?.find(f=>f.id===Yo&&f.type===Xo);if(!l)throw new Q(`Actor ${i.actor} has no storage bucket service`);if(typeof l.serviceEndpoint!="string")throw new Q(`Actor ${i.actor} does not have a valid storage bucket endpoint`);let d=l.serviceEndpoint,p=await this.storageBuckets.get(d,a,c);return{data:new Blob([p.slice()],{type:s}),actor:i.actor,allowed:i.allowed}};deleteMedia=async(...e)=>{let[n,r]=e,o=this.sessions.resolveSession(r),i=await this.delete(n,r);if(!("key"in i.value&&typeof i.value.key=="string"))throw new Error("Deleted object was not media: "+JSON.stringify(i,null,2));await this.storageBuckets.delete(o.storageBucket.serviceEndpoint,i.value.key,o.storageBucket.token)};async*discoverMeta(e,n,r,o){let i=new Map,a;if(o){let d=this.sessions.resolveSession(o);a=[d.personalInbox,...d.sharedInboxes]}else a=this.defaultInboxEndpoints.map(d=>({serviceEndpoint:d}));for(let d in r)if(!a.some(p=>p.serviceEndpoint===d))throw new st("Cursor does not match actor's inboxes");let s=await Promise.all(e.map(d=>this.channelAttestations.register(Ot,d))),c=a.map(d=>{let p=r[d.serviceEndpoint];return this.querySingleEndpoint(d.serviceEndpoint,p?{cursor:p}:{tags:s,objectSchema:n},d.token,o?.actor)}),u=c.map(async(d,p)=>ef(d,p)),l=u.length;try{for(;l>0;){let d=await Promise.race(u);if(d.error!==void 0)u[d.index]=new Promise(()=>{}),l--,yield{error:d.error,origin:a[d.index].serviceEndpoint},this.tryLogoutIfUnauthorized(d.error,o);else if(d.result.done){let p=a[d.index];r[p.serviceEndpoint]=d.result.value,u[d.index]=new Promise(()=>{}),l--}else{u[d.index]=ef(c[d.index],d.index);let{object:p,tombstone:b,tags:f}=d.result.value;if(b){if(i.get(p.url)===!0)continue;i.set(p.url,!0),yield{tombstone:b,object:{url:p.url}}}else{if(i.get(p.url)===!1)continue;let v=s.reduce((k,A,_)=>{for(let S of f)if(A.length===S.length&&A.every((x,U)=>S[U]===x)){k.push(_);break}return k},[]).map(k=>e[k]);v.length===0&&(yield{error:new Error("Inbox returned object without matching channels"),origin:a[d.index].serviceEndpoint}),i.set(p.url,!1),yield{object:{...p,channels:v}}}}}}catch(d){throw this.tryLogoutIfUnauthorized(d,o),d}finally{await Promise.all(c.map(async d=>{await d.return("")}))}return{cursor:JSON.stringify({channels:e,cursors:r})}}discover=(...e)=>{let[n,r,o]=e;return this.discoverMeta(n,r,{},o)};continueDiscover=(...e)=>{let[n,r]=e,o,i;try{let a=JSON.parse(n),s=By.parse(a);o=s.channels,i=s.cursors}catch{return(async function*(){throw new De("Invalid cursor")})()}return this.discoverMeta(o,{},i,r)};async tryLogoutIfUnauthorized(e,n){e instanceof It&&n&&await this.sessions.logout(n.actor)}async announceObject(e,n,r,o,i,a){let s=this.sessions.resolveSession(i),c={[gs]:o},u=[],l=e.allowed;if(Array.isArray(l)){if(!r||r.length!==l.length)throw new Error("If allowed actors are specified, there must be a corresponding ticket for each allowed actor");let b=await Promise.allSettled(l.map(async(f,g)=>{let v=JSON.parse(JSON.stringify(e)),k=si(v,[],f),_=(await this.dids.resolve(f)).service?.find(M=>M.type===Ko&&M.id===as);if(!_)throw new Error(`Recipient ${f} does not have a personal inbox`);if(typeof _.serviceEndpoint!="string")throw new Error(`Recipient ${f} does not have a valid personal inbox endpoint`);let S=a?a.find(M=>M[fr]===f)?.[Ut]:void 0,x={...c,...S?{[gn]:S}:{},[pr]:r[g],[vs]:g},U=await this.inboxes.send(_.serviceEndpoint,{[sr]:n,[ot]:k,[cr]:Ee(x)});u.push({[Ut]:U,[fr]:f})}));for(let[f,g]of b.entries())if(g.status==="rejected"){let v=l[f];console.error("Error sending to recipient:",v),console.error(g.reason)}}else{let b=JSON.parse(JSON.stringify(e)),f=si(b,[]),g=s.sharedInboxes,v=await Promise.allSettled(g.map(async k=>{let A=a?a.find(x=>x[ys]===k.serviceEndpoint)?.[Ut]:void 0,_={...c,...A?{[gn]:A}:{}},S=await this.inboxes.send(k.serviceEndpoint,{...A?{[gn]:A}:{},[sr]:n,[ot]:f,[cr]:Ee(_)});u.push({[Ut]:S,[ys]:k.serviceEndpoint})}));for(let[k,A]of v.entries())if(A.status==="rejected"){let _=g[k];console.error("Error sending to inbox:",_),console.error(A.reason)}}let d=a?a.find(b=>b[fr]===i.actor)?.[Ut]:void 0,p={...c,...r?{[ti]:r}:{},...d?{[gn]:d}:{},[ni]:u};await this.inboxes.send(s.personalInbox.serviceEndpoint,{[sr]:n,[ot]:e,[cr]:Ee(p)})}async*querySingleEndpoint(e,n,r,o){let i="tags"in n?this.inboxes.query(e,n.tags,n.objectSchema,r):this.inboxes.continueQuery(e,n.cursor,r),a=[],s=null;try{for(;;){for(;s===null&&a.length<My;){let l=await i.next();if(l.done){s=l.value;break}let d=this.processOneLabeledMessage(e,l.value,r,o).catch(p=>{throw p});a.push(d)}let c=a.shift();if(!c){if(s!==null)return s;throw new Error("Process queue empty but no return value")}let u=await c;u&&(yield u)}}finally{await i.return("")}}async processOneLabeledMessage(e,n,r,o){let i=n.l;if(i!==ms&&i!==Ly&&i!==ht)return;let a=n.id,{o:s,m:c,t:u}=n.m,l;try{let v=Je(c);l=Cy.parse(v)}catch{this.inboxes.label(e,a,hs,r);return}let{[gs]:d,[gn]:p}=l,b=ti in l?l[ti]:void 0,f=ni in l?l[ni]:void 0;if(i===ms)return{messageId:a,object:s,storageBucketKey:d,allowedTickets:b,tags:u,announcements:f};if(i===ht){if(!p)return;let v=await this.inboxes.get(e,p,r);return!v||v[At][ot].url!==s.url?void 0:(v[Do]!==ht&&this.inboxes.label(e,p,ht,r),{messageId:a,tombstone:!0,object:s,storageBucketKey:d,allowedTickets:b,tags:u,announcements:f})}let g;try{let v=s.actor,A=(await this.dids.resolve(v))?.service?.find(U=>U.id===Yo&&U.type===Xo);if(!A)throw new Q(`Actor ${v} has no storage bucket service`);if(typeof A.serviceEndpoint!="string")throw new Q(`Actor ${v} does not have a valid storage bucket endpoint`);let _=A.serviceEndpoint,S=await this.storageBuckets.get(_,d,Qo);if(pr in l&&!o)throw new st("Recipient is required when allowed ticket is present");let x=b?{allowedTickets:b}:pr in l?{recipient:o??"null",allowedTicket:l[pr],allowedIndex:l[vs]}:void 0;await this.objectEncoding.validate(s,u,S,x)}catch(v){g=v}if(p){if(g instanceof Q)return this.inboxes.get(e,p,r).then(v=>{v&&v[At][ot].url===s.url&&v[Do]!==ht&&this.inboxes.label(e,p,ht,r),this.inboxes.label(e,a,ht,r)}),{messageId:a,tombstone:!0,object:s,storageBucketKey:d,allowedTickets:b,tags:u,announcements:f};console.error("Recieved an incorrect tombstone object"),console.error(g),this.inboxes.label(e,a,hs,r)}else{if(g===void 0)return this.inboxes.label(e,a,ms,r),{messageId:a,object:s,storageBucketKey:d,tags:u,allowedTickets:b,announcements:f};g instanceof Q?this.inboxes.label(e,a,ht,r):(console.error("Recieved an incorrect object"),console.error(g),this.inboxes.label(e,a,hs,r))}}},Zy={properties:{value:{properties:{type:{type:"string"},size:{type:"number"},key:{type:"string"}},required:["type","size","key"]}}},By=we({cursors:xc(J(),H()),channels:V(H())});async function ef(t,e){try{return{index:e,result:await t.next()}}catch(n){if(n instanceof De||n instanceof Dt)throw n;return{index:e,error:n instanceof Error?n:new Error(String(n))}}}var nf=class extends Tr{constructor(e){let n=new ri(e);super(n)}};export{nf as GraffitiDecentralized};
|
|
8
8
|
/*! Bundled license information:
|
|
9
9
|
|
|
10
10
|
@noble/hashes/utils.js:
|