@fireproof/core 0.13.2 → 0.13.3-dev
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/browser/fireproof.cjs +4 -28
- package/dist/browser/fireproof.cjs.map +4 -4
- package/dist/browser/fireproof.esm.js +4 -28
- package/dist/browser/fireproof.esm.js.map +4 -4
- package/dist/browser/fireproof.iife.js +4 -28
- package/dist/browser/fireproof.iife.js.map +4 -4
- package/dist/node/fireproof.cjs +4 -49
- package/dist/node/fireproof.cjs.map +4 -4
- package/dist/node/fireproof.esm.js +4 -49
- package/dist/node/fireproof.esm.js.map +4 -4
- package/dist/types/database.d.ts +0 -1
- package/dist/types/fireproof.d.ts +3 -2
- package/dist/types/loader.d.ts +10 -12
- package/dist/types/loaders.d.ts +3 -6
- package/dist/types/remote-wal.d.ts +25 -0
- package/dist/types/store-browser.d.ts +2 -1
- package/dist/types/store-fs.d.ts +2 -1
- package/dist/types/store.d.ts +1 -24
- package/dist/types/types.d.ts +0 -25
- package/dist/types/version.d.ts +1 -1
- package/package.json +1 -1
- package/dist/types/connect-ipfs-account.d.ts +0 -48
- package/dist/types/connect-ipfs-helpers.d.ts +0 -31
- package/dist/types/connect-ipfs.d.ts +0 -27
- package/dist/types/connect-s3.d.ts +0 -11
- package/dist/types/connect.d.ts +0 -39
- package/dist/types/connection.d.ts +0 -15
- package/dist/types/store-remote.d.ts +0 -27
@@ -1,33 +1,9 @@
|
|
1
|
-
var c8=Object.create;var xl=Object.defineProperty;var u8=Object.getOwnPropertyDescriptor;var l8=Object.getOwnPropertyNames;var d8=Object.getPrototypeOf,f8=Object.prototype.hasOwnProperty;var h8=(t,e,r)=>e in t?xl(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var oe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),F=(t,e)=>{for(var r in e)xl(t,r,{get:e[r],enumerable:!0})},p8=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of l8(e))!f8.call(t,o)&&o!==r&&xl(t,o,{get:()=>e[o],enumerable:!(n=u8(e,o))||n.enumerable});return t};var De=(t,e,r)=>(r=t!=null?c8(d8(t)):{},p8(e||!t||!t.__esModule?xl(r,"default",{value:t,enumerable:!0}):r,t));var w=(t,e,r)=>(h8(t,typeof e!="symbol"?e+"":e,r),r),hm=(t,e,r)=>{if(!e.has(t))throw TypeError("Cannot "+r)};var $=(t,e,r)=>(hm(t,e,"read from private field"),r?r.call(t):e.get(t)),ke=(t,e,r)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,r)},fe=(t,e,r,n)=>(hm(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r);var pm=(t,e,r,n)=>({set _(o){fe(t,e,o,r)},get _(){return $(t,e,n)}}),mo=(t,e,r)=>(hm(t,e,"access private method"),r);var Nk=oe((wn,Rk)=>{var kl=typeof globalThis<"u"&&globalThis||typeof self<"u"&&self||typeof global<"u"&&global,vl=function(){function t(){this.fetch=!1,this.DOMException=kl.DOMException}return t.prototype=kl,new t}();(function(t){var e=function(r){var n=typeof t<"u"&&t||typeof self<"u"&&self||typeof n<"u"&&n,o={searchParams:"URLSearchParams"in n,iterable:"Symbol"in n&&"iterator"in Symbol,blob:"FileReader"in n&&"Blob"in n&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in n,arrayBuffer:"ArrayBuffer"in n};function s(v){return v&&DataView.prototype.isPrototypeOf(v)}if(o.arrayBuffer)var i=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],a=ArrayBuffer.isView||function(v){return v&&i.indexOf(Object.prototype.toString.call(v))>-1};function c(v){if(typeof v!="string"&&(v=String(v)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(v)||v==="")throw new TypeError('Invalid character in header field name: "'+v+'"');return v.toLowerCase()}function u(v){return typeof v!="string"&&(v=String(v)),v}function l(v){var I={next:function(){var O=v.shift();return{done:O===void 0,value:O}}};return o.iterable&&(I[Symbol.iterator]=function(){return I}),I}function d(v){this.map={},v instanceof d?v.forEach(function(I,O){this.append(O,I)},this):Array.isArray(v)?v.forEach(function(I){this.append(I[0],I[1])},this):v&&Object.getOwnPropertyNames(v).forEach(function(I){this.append(I,v[I])},this)}d.prototype.append=function(v,I){v=c(v),I=u(I);var O=this.map[v];this.map[v]=O?O+", "+I:I},d.prototype.delete=function(v){delete this.map[c(v)]},d.prototype.get=function(v){return v=c(v),this.has(v)?this.map[v]:null},d.prototype.has=function(v){return this.map.hasOwnProperty(c(v))},d.prototype.set=function(v,I){this.map[c(v)]=u(I)},d.prototype.forEach=function(v,I){for(var O in this.map)this.map.hasOwnProperty(O)&&v.call(I,this.map[O],O,this)},d.prototype.keys=function(){var v=[];return this.forEach(function(I,O){v.push(O)}),l(v)},d.prototype.values=function(){var v=[];return this.forEach(function(I){v.push(I)}),l(v)},d.prototype.entries=function(){var v=[];return this.forEach(function(I,O){v.push([O,I])}),l(v)},o.iterable&&(d.prototype[Symbol.iterator]=d.prototype.entries);function p(v){if(v.bodyUsed)return Promise.reject(new TypeError("Already read"));v.bodyUsed=!0}function f(v){return new Promise(function(I,O){v.onload=function(){I(v.result)},v.onerror=function(){O(v.error)}})}function h(v){var I=new FileReader,O=f(I);return I.readAsArrayBuffer(v),O}function m(v){var I=new FileReader,O=f(I);return I.readAsText(v),O}function b(v){for(var I=new Uint8Array(v),O=new Array(I.length),Pe=0;Pe<I.length;Pe++)O[Pe]=String.fromCharCode(I[Pe]);return O.join("")}function g(v){if(v.slice)return v.slice(0);var I=new Uint8Array(v.byteLength);return I.set(new Uint8Array(v)),I.buffer}function k(){return this.bodyUsed=!1,this._initBody=function(v){this.bodyUsed=this.bodyUsed,this._bodyInit=v,v?typeof v=="string"?this._bodyText=v:o.blob&&Blob.prototype.isPrototypeOf(v)?this._bodyBlob=v:o.formData&&FormData.prototype.isPrototypeOf(v)?this._bodyFormData=v:o.searchParams&&URLSearchParams.prototype.isPrototypeOf(v)?this._bodyText=v.toString():o.arrayBuffer&&o.blob&&s(v)?(this._bodyArrayBuffer=g(v.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):o.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(v)||a(v))?this._bodyArrayBuffer=g(v):this._bodyText=v=Object.prototype.toString.call(v):this._bodyText="",this.headers.get("content-type")||(typeof v=="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(v)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o.blob&&(this.blob=function(){var v=p(this);if(v)return v;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 v=p(this);return v||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}else return this.blob().then(h)}),this.text=function(){var v=p(this);if(v)return v;if(this._bodyBlob)return m(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(b(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(J)}),this.json=function(){return this.text().then(JSON.parse)},this}var E=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function _(v){var I=v.toUpperCase();return E.indexOf(I)>-1?I:v}function P(v,I){if(!(this instanceof P))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');I=I||{};var O=I.body;if(v instanceof P){if(v.bodyUsed)throw new TypeError("Already read");this.url=v.url,this.credentials=v.credentials,I.headers||(this.headers=new d(v.headers)),this.method=v.method,this.mode=v.mode,this.signal=v.signal,!O&&v._bodyInit!=null&&(O=v._bodyInit,v.bodyUsed=!0)}else this.url=String(v);if(this.credentials=I.credentials||this.credentials||"same-origin",(I.headers||!this.headers)&&(this.headers=new d(I.headers)),this.method=_(I.method||this.method||"GET"),this.mode=I.mode||this.mode||null,this.signal=I.signal||this.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")&&(I.cache==="no-store"||I.cache==="no-cache")){var Pe=/([?&])_=[^&]*/;if(Pe.test(this.url))this.url=this.url.replace(Pe,"$1_="+new Date().getTime());else{var ze=/\?/;this.url+=(ze.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}P.prototype.clone=function(){return new P(this,{body:this._bodyInit})};function J(v){var I=new FormData;return v.trim().split("&").forEach(function(O){if(O){var Pe=O.split("="),ze=Pe.shift().replace(/\+/g," "),Ee=Pe.join("=").replace(/\+/g," ");I.append(decodeURIComponent(ze),decodeURIComponent(Ee))}}),I}function L(v){var I=new d,O=v.replace(/\r?\n[\t ]+/g," ");return O.split("\r").map(function(Pe){return Pe.indexOf(`
|
2
|
-
`)===0?Pe.substr(1,Pe.length):Pe}).forEach(function(Pe){var ze=Pe.split(":"),Ee=ze.shift().trim();if(Ee){var wl=ze.join(":").trim();I.append(Ee,wl)}}),I}k.call(P.prototype);function G(v,I){if(!(this instanceof G))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');I||(I={}),this.type="default",this.status=I.status===void 0?200:I.status,this.ok=this.status>=200&&this.status<300,this.statusText=I.statusText===void 0?"":""+I.statusText,this.headers=new d(I.headers),this.url=I.url||"",this._initBody(v)}k.call(G.prototype),G.prototype.clone=function(){return new G(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new d(this.headers),url:this.url})},G.error=function(){var v=new G(null,{status:0,statusText:""});return v.type="error",v};var ot=[301,302,303,307,308];G.redirect=function(v,I){if(ot.indexOf(I)===-1)throw new RangeError("Invalid status code");return new G(null,{status:I,headers:{location:v}})},r.DOMException=n.DOMException;try{new r.DOMException}catch{r.DOMException=function(I,O){this.message=I,this.name=O;var Pe=Error(I);this.stack=Pe.stack},r.DOMException.prototype=Object.create(Error.prototype),r.DOMException.prototype.constructor=r.DOMException}function yn(v,I){return new Promise(function(O,Pe){var ze=new P(v,I);if(ze.signal&&ze.signal.aborted)return Pe(new r.DOMException("Aborted","AbortError"));var Ee=new XMLHttpRequest;function wl(){Ee.abort()}Ee.onload=function(){var Mt={status:Ee.status,statusText:Ee.statusText,headers:L(Ee.getAllResponseHeaders()||"")};Mt.url="responseURL"in Ee?Ee.responseURL:Mt.headers.get("X-Request-URL");var bl="response"in Ee?Ee.response:Ee.responseText;setTimeout(function(){O(new G(bl,Mt))},0)},Ee.onerror=function(){setTimeout(function(){Pe(new TypeError("Network request failed"))},0)},Ee.ontimeout=function(){setTimeout(function(){Pe(new TypeError("Network request failed"))},0)},Ee.onabort=function(){setTimeout(function(){Pe(new r.DOMException("Aborted","AbortError"))},0)};function a8(Mt){try{return Mt===""&&n.location.href?n.location.href:Mt}catch{return Mt}}Ee.open(ze.method,a8(ze.url),!0),ze.credentials==="include"?Ee.withCredentials=!0:ze.credentials==="omit"&&(Ee.withCredentials=!1),"responseType"in Ee&&(o.blob?Ee.responseType="blob":o.arrayBuffer&&ze.headers.get("Content-Type")&&ze.headers.get("Content-Type").indexOf("application/octet-stream")!==-1&&(Ee.responseType="arraybuffer")),I&&typeof I.headers=="object"&&!(I.headers instanceof d)?Object.getOwnPropertyNames(I.headers).forEach(function(Mt){Ee.setRequestHeader(Mt,u(I.headers[Mt]))}):ze.headers.forEach(function(Mt,bl){Ee.setRequestHeader(bl,Mt)}),ze.signal&&(ze.signal.addEventListener("abort",wl),Ee.onreadystatechange=function(){Ee.readyState===4&&ze.signal.removeEventListener("abort",wl)}),Ee.send(typeof ze._bodyInit>"u"?null:ze._bodyInit)})}return yn.polyfill=!0,n.fetch||(n.fetch=yn,n.Headers=d,n.Request=P,n.Response=G),r.Headers=d,r.Request=P,r.Response=G,r.fetch=yn,r}({})})(vl);vl.fetch.ponyfill=!0;delete vl.fetch.polyfill;var Ks=kl.fetch?kl:vl;wn=Ks.fetch;wn.default=Ks.fetch;wn.fetch=Ks.fetch;wn.Headers=Ks.Headers;wn.Request=Ks.Request;wn.Response=Ks.Response;Rk.exports=wn});var K1=oe((RW,G1)=>{G1.exports=vy;var V1=128,w6=127,b6=~w6,x6=Math.pow(2,31);function vy(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw vy.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=x6;)e[r++]=t&255|V1,t/=128;for(;t&b6;)e[r++]=t&255|V1,t>>>=7;return e[r]=t|0,vy.bytes=r-n+1,e}});var Q1=oe((NW,J1)=>{J1.exports=Sy;var k6=128,Z1=127;function Sy(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a||o>49)throw Sy.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&Z1)<<o:(i&Z1)*Math.pow(2,o),o+=7}while(i>=k6);return Sy.bytes=s-n,r}});var Y1=oe((OW,X1)=>{var v6=Math.pow(2,7),S6=Math.pow(2,14),E6=Math.pow(2,21),_6=Math.pow(2,28),A6=Math.pow(2,35),D6=Math.pow(2,42),T6=Math.pow(2,49),C6=Math.pow(2,56),I6=Math.pow(2,63);X1.exports=function(t){return t<v6?1:t<S6?2:t<E6?3:t<_6?4:t<A6?5:t<D6?6:t<T6?7:t<C6?8:t<I6?9:10}});var Ql=oe(($W,eS)=>{eS.exports={encode:K1(),decode:Q1(),encodingLength:Y1()}});var UE=oe(()=>{});var I2=oe((yZ,C2)=>{function Zt(t,e){typeof e=="boolean"&&(e={forever:e}),this._originalTimeouts=JSON.parse(JSON.stringify(t)),this._timeouts=t,this._options=e||{},this._maxRetryTime=e&&e.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}C2.exports=Zt;Zt.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)};Zt.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null};Zt.prototype.retry=function(t){if(this._timeout&&clearTimeout(this._timeout),!t)return!1;var e=new Date().getTime();if(t&&e-this._operationStart>=this._maxRetryTime)return this._errors.push(t),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(t);var r=this._timeouts.shift();if(r===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),r=this._cachedTimeouts.slice(-1);else return!1;var n=this;return this._timer=setTimeout(function(){n._attempts++,n._operationTimeoutCb&&(n._timeout=setTimeout(function(){n._operationTimeoutCb(n._attempts)},n._operationTimeout),n._options.unref&&n._timeout.unref()),n._fn(n._attempts)},r),this._options.unref&&this._timer.unref(),!0};Zt.prototype.attempt=function(t,e){this._fn=t,e&&(e.timeout&&(this._operationTimeout=e.timeout),e.cb&&(this._operationTimeoutCb=e.cb));var r=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){r._operationTimeoutCb()},r._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};Zt.prototype.try=function(t){console.log("Using RetryOperation.try() is deprecated"),this.attempt(t)};Zt.prototype.start=function(t){console.log("Using RetryOperation.start() is deprecated"),this.attempt(t)};Zt.prototype.start=Zt.prototype.try;Zt.prototype.errors=function(){return this._errors};Zt.prototype.attempts=function(){return this._attempts};Zt.prototype.mainError=function(){if(this._errors.length===0)return null;for(var t={},e=null,r=0,n=0;n<this._errors.length;n++){var o=this._errors[n],s=o.message,i=(t[s]||0)+1;t[s]=i,i>=r&&(e=o,r=i)}return e}});var B2=oe(is=>{var lN=I2();is.operation=function(t){var e=is.timeouts(t);return new lN(e,{forever:t&&(t.forever||t.retries===1/0),unref:t&&t.unref,maxRetryTime:t&&t.maxRetryTime})};is.timeouts=function(t){if(t instanceof Array)return[].concat(t);var e={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var r in t)e[r]=t[r];if(e.minTimeout>e.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var n=[],o=0;o<e.retries;o++)n.push(this.createTimeout(o,e));return t&&t.forever&&!n.length&&n.push(this.createTimeout(o,e)),n.sort(function(s,i){return s-i}),n};is.createTimeout=function(t,e){var r=e.randomize?Math.random()+1:1,n=Math.round(r*Math.max(e.minTimeout,1)*Math.pow(e.factor,t));return n=Math.min(n,e.maxTimeout),n};is.wrap=function(t,e,r){if(e instanceof Array&&(r=e,e=null),!r){r=[];for(var n in t)typeof t[n]=="function"&&r.push(n)}for(var o=0;o<r.length;o++){var s=r[o],i=t[s];t[s]=function(c){var u=is.operation(e),l=Array.prototype.slice.call(arguments,1),d=l.pop();l.push(function(p){u.retry(p)||(p&&(arguments[0]=u.mainError()),d.apply(this,arguments))}),u.attempt(function(){c.apply(t,l)})}.bind(t,i),t[s].options=e}}});var L2=oe((wZ,P2)=>{P2.exports=B2()});var N2=oe(Nf=>{"use strict";var Qw=class extends Error{constructor(e="Request timed out"){super(e),this.name="TimeoutError"}};Nf.TimeoutError=Qw;var Xw=class extends Error{constructor(e="The operation was aborted."){super(e),this.name="AbortError"}};Nf.AbortError=Xw;var Yw=class extends Error{constructor(e){super(e.statusText),this.name="HTTPError",this.response=e}};Nf.HTTPError=Yw});var Zc=oe((Hi,O2)=>{"use strict";var mN=function(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")},as=mN();O2.exports=Hi=as.fetch;as.fetch&&(Hi.default=as.fetch.bind(as));Hi.Headers=as.Headers;Hi.Request=as.Request;Hi.Response=as.Response});var $2=oe((_Z,eb)=>{"use strict";globalThis.fetch&&globalThis.Headers&&globalThis.Request&&globalThis.Response?eb.exports={default:globalThis.fetch,Headers:globalThis.Headers,Request:globalThis.Request,Response:globalThis.Response}:eb.exports={default:Zc().default,Headers:Zc().Headers,Request:Zc().Request,Response:Zc().Response}});var F2=oe((AZ,M2)=>{"use strict";M2.exports=$2()});var W2=oe((DZ,j2)=>{"use strict";var{TimeoutError:yN,AbortError:gN}=N2(),{Response:z2,Request:wN,Headers:rb,default:bN}=F2(),xN=(t,e={})=>{let r=new XMLHttpRequest;r.open(e.method||"GET",t.toString(),!0);let{timeout:n,headers:o}=e;if(n&&n>0&&n<1/0&&(r.timeout=n),e.overrideMimeType!=null&&r.overrideMimeType(e.overrideMimeType),o)for(let[s,i]of new rb(o))r.setRequestHeader(s,i);return e.signal&&(e.signal.onabort=()=>r.abort()),e.onUploadProgress&&(r.upload.onprogress=e.onUploadProgress),r.responseType="arraybuffer",new Promise((s,i)=>{let a=c=>{switch(c.type){case"error":{s(z2.error());break}case"load":{s(new tb(r.responseURL,r.response,{status:r.status,statusText:r.statusText,headers:SN(r.getAllResponseHeaders())}));break}case"timeout":{i(new yN);break}case"abort":{i(new gN);break}default:break}};r.onerror=a,r.onload=a,r.ontimeout=a,r.onabort=a,r.send(e.body)})},kN=bN,vN=(t,e={})=>e.onUploadProgress!=null?xN(t,e):kN(t,e),SN=t=>{let e=new rb;for(let r of t.trim().split(/[\r\n]+/)){let n=r.indexOf(": ");n>0&&e.set(r.slice(0,n),r.slice(n+1))}return e},tb=class extends z2{constructor(e,r,n){super(r,n),Object.defineProperty(this,"url",{value:e})}};j2.exports={fetch:vN,Request:wN,Headers:rb}});var tA=oe((JZ,eA)=>{"use strict";eA.exports=WN;function WN(t,e){for(var r=new Array(arguments.length-1),n=0,o=2,s=!0;o<arguments.length;)r[n++]=arguments[o++];return new Promise(function(a,c){r[n]=function(l){if(s)if(s=!1,l)c(l);else{for(var d=new Array(arguments.length-1),p=0;p<d.length;)d[p++]=arguments[p];a.apply(null,d)}};try{t.apply(e||null,r)}catch(u){s&&(s=!1,c(u))}})}});var sA=oe(oA=>{"use strict";var Wf=oA;Wf.length=function(e){var r=e.length;if(!r)return 0;for(var n=0;--r%4>1&&e.charAt(r)==="=";)++n;return Math.ceil(e.length*3)/4-n};var Ki=new Array(64),nA=new Array(123);for(lr=0;lr<64;)nA[Ki[lr]=lr<26?lr+65:lr<52?lr+71:lr<62?lr-4:lr-59|43]=lr++;var lr;Wf.encode=function(e,r,n){for(var o=null,s=[],i=0,a=0,c;r<n;){var u=e[r++];switch(a){case 0:s[i++]=Ki[u>>2],c=(u&3)<<4,a=1;break;case 1:s[i++]=Ki[c|u>>4],c=(u&15)<<2,a=2;break;case 2:s[i++]=Ki[c|u>>6],s[i++]=Ki[u&63],a=0;break}i>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),i=0)}return a&&(s[i++]=Ki[c],s[i++]=61,a===1&&(s[i++]=61)),o?(i&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))};var rA="invalid encoding";Wf.decode=function(e,r,n){for(var o=n,s=0,i,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&s>1)break;if((c=nA[c])===void 0)throw Error(rA);switch(s){case 0:i=c,s=1;break;case 1:r[n++]=i<<2|(c&48)>>4,i=c,s=2;break;case 2:r[n++]=(i&15)<<4|(c&60)>>2,i=c,s=3;break;case 3:r[n++]=(i&3)<<6|c,s=0;break}}if(s===1)throw Error(rA);return n-o};Wf.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var aA=oe((XZ,iA)=>{"use strict";iA.exports=Hf;function Hf(){this._listeners={}}Hf.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};Hf.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],o=0;o<n.length;)n[o].fn===r?n.splice(o,1):++o;return this};Hf.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var n=[],o=1;o<arguments.length;)n.push(arguments[o++]);for(o=0;o<r.length;)r[o].fn.apply(r[o++].ctx,n)}return this}});var pA=oe((YZ,hA)=>{"use strict";hA.exports=cA(cA);function cA(t){return typeof Float32Array<"u"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function o(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3]}function s(c,u,l){e[0]=c,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}t.writeFloatLE=n?o:s,t.writeFloatBE=n?s:o;function i(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],e[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],e[0]}t.readFloatLE=n?i:a,t.readFloatBE=n?a:i}():function(){function e(n,o,s,i){var a=o<0?1:0;if(a&&(o=-o),o===0)n(1/o>0?0:2147483648,s,i);else if(isNaN(o))n(2143289344,s,i);else if(o>34028234663852886e22)n((a<<31|2139095040)>>>0,s,i);else if(o<11754943508222875e-54)n((a<<31|Math.round(o/1401298464324817e-60))>>>0,s,i);else{var c=Math.floor(Math.log(o)/Math.LN2),u=Math.round(o*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,s,i)}}t.writeFloatLE=e.bind(null,uA),t.writeFloatBE=e.bind(null,lA);function r(n,o,s){var i=n(o,s),a=(i>>31)*2+1,c=i>>>23&255,u=i&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}t.readFloatLE=r.bind(null,dA),t.readFloatBE=r.bind(null,fA)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function o(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function s(c,u,l){e[0]=c,u[l]=r[7],u[l+1]=r[6],u[l+2]=r[5],u[l+3]=r[4],u[l+4]=r[3],u[l+5]=r[2],u[l+6]=r[1],u[l+7]=r[0]}t.writeDoubleLE=n?o:s,t.writeDoubleBE=n?s:o;function i(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],e[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],e[0]}t.readDoubleLE=n?i:a,t.readDoubleBE=n?a:i}():function(){function e(n,o,s,i,a,c){var u=i<0?1:0;if(u&&(i=-i),i===0)n(0,a,c+o),n(1/i>0?0:2147483648,a,c+s);else if(isNaN(i))n(0,a,c+o),n(2146959360,a,c+s);else if(i>17976931348623157e292)n(0,a,c+o),n((u<<31|2146435072)>>>0,a,c+s);else{var l;if(i<22250738585072014e-324)l=i/5e-324,n(l>>>0,a,c+o),n((u<<31|l/4294967296)>>>0,a,c+s);else{var d=Math.floor(Math.log(i)/Math.LN2);d===1024&&(d=1023),l=i*Math.pow(2,-d),n(l*4503599627370496>>>0,a,c+o),n((u<<31|d+1023<<20|l*1048576&1048575)>>>0,a,c+s)}}}t.writeDoubleLE=e.bind(null,uA,0,4),t.writeDoubleBE=e.bind(null,lA,4,0);function r(n,o,s,i,a){var c=n(i,a+o),u=n(i,a+s),l=(u>>31)*2+1,d=u>>>20&2047,p=4294967296*(u&1048575)+c;return d===2047?p?NaN:l*(1/0):d===0?l*5e-324*p:l*Math.pow(2,d-1075)*(p+4503599627370496)}t.readDoubleLE=r.bind(null,dA,0,4),t.readDoubleBE=r.bind(null,fA,4,0)}(),t}function uA(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function lA(t,e,r){e[r]=t>>>24,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=t&255}function dA(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function fA(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var mA=oe((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}});var gA=oe(yA=>{"use strict";var cb=yA;cb.length=function(e){for(var r=0,n=0,o=0;o<e.length;++o)n=e.charCodeAt(o),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(e.charCodeAt(o+1)&64512)===56320?(++o,r+=4):r+=3;return r};cb.read=function(e,r,n){var o=n-r;if(o<1)return"";for(var s=null,i=[],a=0,c;r<n;)c=e[r++],c<128?i[a++]=c:c>191&&c<224?i[a++]=(c&31)<<6|e[r++]&63:c>239&&c<365?(c=((c&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,i[a++]=55296+(c>>10),i[a++]=56320+(c&1023)):i[a++]=(c&15)<<12|(e[r++]&63)<<6|e[r++]&63,a>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,i)),a=0);return s?(a&&s.push(String.fromCharCode.apply(String,i.slice(0,a))),s.join("")):String.fromCharCode.apply(String,i.slice(0,a))};cb.write=function(e,r,n){for(var o=n,s,i,a=0;a<e.length;++a)s=e.charCodeAt(a),s<128?r[n++]=s:s<2048?(r[n++]=s>>6|192,r[n++]=s&63|128):(s&64512)===55296&&((i=e.charCodeAt(a+1))&64512)===56320?(s=65536+((s&1023)<<10)+(i&1023),++a,r[n++]=s>>18|240,r[n++]=s>>12&63|128,r[n++]=s>>6&63|128,r[n++]=s&63|128):(r[n++]=s>>12|224,r[n++]=s>>6&63|128,r[n++]=s&63|128);return n-o}});var bA=oe((tJ,wA)=>{"use strict";wA.exports=HN;function HN(t,e,r){var n=r||8192,o=n>>>1,s=null,i=n;return function(c){if(c<1||c>o)return t(c);i+c>n&&(s=t(n),i=0);var u=e.call(s,i,i+=c);return i&7&&(i=(i|7)+1),u}}});var kA=oe((rJ,xA)=>{"use strict";xA.exports=Ye;var Qc=sn();function Ye(t,e){this.lo=t>>>0,this.hi=e>>>0}var cs=Ye.zero=new Ye(0,0);cs.toNumber=function(){return 0};cs.zzEncode=cs.zzDecode=function(){return this};cs.length=function(){return 1};var qN=Ye.zeroHash="\0\0\0\0\0\0\0\0";Ye.fromNumber=function(e){if(e===0)return cs;var r=e<0;r&&(e=-e);var n=e>>>0,o=(e-n)/4294967296>>>0;return r&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new Ye(n,o)};Ye.from=function(e){if(typeof e=="number")return Ye.fromNumber(e);if(Qc.isString(e))if(Qc.Long)e=Qc.Long.fromString(e);else return Ye.fromNumber(parseInt(e,10));return e.low||e.high?new Ye(e.low>>>0,e.high>>>0):cs};Ye.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};Ye.prototype.toLong=function(e){return Qc.Long?new Qc.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var Xn=String.prototype.charCodeAt;Ye.fromHash=function(e){return e===qN?cs:new Ye((Xn.call(e,0)|Xn.call(e,1)<<8|Xn.call(e,2)<<16|Xn.call(e,3)<<24)>>>0,(Xn.call(e,4)|Xn.call(e,5)<<8|Xn.call(e,6)<<16|Xn.call(e,7)<<24)>>>0)};Ye.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};Ye.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};Ye.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};Ye.prototype.length=function(){var e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var sn=oe(ub=>{"use strict";var H=ub;H.asPromise=tA();H.base64=sA();H.EventEmitter=aA();H.float=pA();H.inquire=mA();H.utf8=gA();H.pool=bA();H.LongBits=kA();H.isNode=!!(typeof global<"u"&&global&&global.process&&global.process.versions&&global.process.versions.node);H.global=H.isNode&&global||typeof window<"u"&&window||typeof self<"u"&&self||ub;H.emptyArray=Object.freeze?Object.freeze([]):[];H.emptyObject=Object.freeze?Object.freeze({}):{};H.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};H.isString=function(e){return typeof e=="string"||e instanceof String};H.isObject=function(e){return e&&typeof e=="object"};H.isset=H.isSet=function(e,r){var n=e[r];return n!=null&&e.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};H.Buffer=function(){try{var t=H.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch{return null}}();H._Buffer_from=null;H._Buffer_allocUnsafe=null;H.newBuffer=function(e){return typeof e=="number"?H.Buffer?H._Buffer_allocUnsafe(e):new H.Array(e):H.Buffer?H._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};H.Array=typeof Uint8Array<"u"?Uint8Array:Array;H.Long=H.global.dcodeIO&&H.global.dcodeIO.Long||H.global.Long||H.inquire("long");H.key2Re=/^true|false|0|1$/;H.key32Re=/^-?(?:0|[1-9][0-9]*)$/;H.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;H.longToHash=function(e){return e?H.LongBits.from(e).toHash():H.LongBits.zeroHash};H.longFromHash=function(e,r){var n=H.LongBits.fromHash(e);return H.Long?H.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function vA(t,e,r){for(var n=Object.keys(e),o=0;o<n.length;++o)(t[n[o]]===void 0||!r)&&(t[n[o]]=e[n[o]]);return t}H.merge=vA;H.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function SA(t){function e(r,n){if(!(this instanceof e))return new e(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&vA(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}H.newError=SA;H.ProtocolError=SA("ProtocolError");H.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var o=Object.keys(this),s=o.length-1;s>-1;--s)if(r[o[s]]===1&&this[o[s]]!==void 0&&this[o[s]]!==null)return o[s]}};H.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};H.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};H._configure=function(){var t=H.Buffer;if(!t){H._Buffer_from=H._Buffer_allocUnsafe=null;return}H._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},H._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var Vf=oe((oJ,DA)=>{"use strict";DA.exports=me;var Jt=sn(),lb,qf=Jt.LongBits,EA=Jt.base64,_A=Jt.utf8;function Xc(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function fb(){}function VN(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function me(){this.len=0,this.head=new Xc(fb,0,0),this.tail=this.head,this.states=null}var AA=function(){return Jt.Buffer?function(){return(me.create=function(){return new lb})()}:function(){return new me}};me.create=AA();me.alloc=function(e){return new Jt.Array(e)};Jt.Array!==Array&&(me.alloc=Jt.pool(me.alloc,Jt.Array.prototype.subarray));me.prototype._push=function(e,r,n){return this.tail=this.tail.next=new Xc(e,r,n),this.len+=r,this};function hb(t,e,r){e[r]=t&255}function GN(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function pb(t,e){this.len=t,this.next=void 0,this.val=e}pb.prototype=Object.create(Xc.prototype);pb.prototype.fn=GN;me.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new pb((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};me.prototype.int32=function(e){return e<0?this._push(mb,10,qf.fromNumber(e)):this.uint32(e)};me.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function mb(t,e,r){for(;t.hi;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}me.prototype.uint64=function(e){var r=qf.from(e);return this._push(mb,r.length(),r)};me.prototype.int64=me.prototype.uint64;me.prototype.sint64=function(e){var r=qf.from(e).zzEncode();return this._push(mb,r.length(),r)};me.prototype.bool=function(e){return this._push(hb,1,e?1:0)};function db(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}me.prototype.fixed32=function(e){return this._push(db,4,e>>>0)};me.prototype.sfixed32=me.prototype.fixed32;me.prototype.fixed64=function(e){var r=qf.from(e);return this._push(db,4,r.lo)._push(db,4,r.hi)};me.prototype.sfixed64=me.prototype.fixed64;me.prototype.float=function(e){return this._push(Jt.float.writeFloatLE,4,e)};me.prototype.double=function(e){return this._push(Jt.float.writeDoubleLE,8,e)};var KN=Jt.Array.prototype.set?function(e,r,n){r.set(e,n)}:function(e,r,n){for(var o=0;o<e.length;++o)r[n+o]=e[o]};me.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(hb,1,0);if(Jt.isString(e)){var n=me.alloc(r=EA.length(e));EA.decode(e,n,0),e=n}return this.uint32(r)._push(KN,r,e)};me.prototype.string=function(e){var r=_A.length(e);return r?this.uint32(r)._push(_A.write,r,e):this._push(hb,1,0)};me.prototype.fork=function(){return this.states=new VN(this),this.head=this.tail=new Xc(fb,0,0),this.len=0,this};me.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Xc(fb,0,0),this.len=0),this};me.prototype.ldelim=function(){var e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=r,this.len+=n),this};me.prototype.finish=function(){for(var e=this.head.next,r=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r};me._configure=function(t){lb=t,me.create=AA(),lb._configure()}});var yb=oe((sJ,CA)=>{"use strict";CA.exports=Ir;var TA=Vf();(Ir.prototype=Object.create(TA.prototype)).constructor=Ir;var Yn=sn();function Ir(){TA.call(this)}Ir._configure=function(){Ir.alloc=Yn._Buffer_allocUnsafe,Ir.writeBytesBuffer=Yn.Buffer&&Yn.Buffer.prototype instanceof Uint8Array&&Yn.Buffer.prototype.set.name==="set"?function(e,r,n){r.set(e,n)}:function(e,r,n){if(e.copy)e.copy(r,n,0,e.length);else for(var o=0;o<e.length;)r[n++]=e[o++]}};Ir.prototype.bytes=function(e){Yn.isString(e)&&(e=Yn._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(Ir.writeBytesBuffer,r,e),this};function ZN(t,e,r){t.length<40?Yn.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}Ir.prototype.string=function(e){var r=Yn.Buffer.byteLength(e);return this.uint32(r),r&&this._push(ZN,r,e),this};Ir._configure()});var Kf=oe((iJ,UA)=>{"use strict";UA.exports=We;var Br=sn(),wb,PA=Br.LongBits,JN=Br.utf8;function dr(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function We(t){this.buf=t,this.pos=0,this.len=t.length}var IA=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new We(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new We(e);throw Error("illegal buffer")},LA=function(){return Br.Buffer?function(r){return(We.create=function(o){return Br.Buffer.isBuffer(o)?new wb(o):IA(o)})(r)}:IA};We.create=LA();We.prototype._slice=Br.Array.prototype.subarray||Br.Array.prototype.slice;We.prototype.uint32=function(){var e=4294967295;return function(){if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,dr(this,10);return e}}();We.prototype.int32=function(){return this.uint32()|0};We.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function gb(){var t=new PA(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw dr(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw dr(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}We.prototype.bool=function(){return this.uint32()!==0};function Gf(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}We.prototype.fixed32=function(){if(this.pos+4>this.len)throw dr(this,4);return Gf(this.buf,this.pos+=4)};We.prototype.sfixed32=function(){if(this.pos+4>this.len)throw dr(this,4);return Gf(this.buf,this.pos+=4)|0};function BA(){if(this.pos+8>this.len)throw dr(this,8);return new PA(Gf(this.buf,this.pos+=4),Gf(this.buf,this.pos+=4))}We.prototype.float=function(){if(this.pos+4>this.len)throw dr(this,4);var e=Br.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};We.prototype.double=function(){if(this.pos+8>this.len)throw dr(this,4);var e=Br.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};We.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw dr(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};We.prototype.string=function(){var e=this.bytes();return JN.read(e,0,e.length)};We.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw dr(this,e);this.pos+=e}else do if(this.pos>=this.len)throw dr(this);while(this.buf[this.pos++]&128);return this};We.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this};We._configure=function(t){wb=t,We.create=LA(),wb._configure();var e=Br.Long?"toLong":"toNumber";Br.merge(We.prototype,{int64:function(){return gb.call(this)[e](!1)},uint64:function(){return gb.call(this)[e](!0)},sint64:function(){return gb.call(this).zzDecode()[e](!1)},fixed64:function(){return BA.call(this)[e](!0)},sfixed64:function(){return BA.call(this)[e](!1)}})}});var bb=oe((aJ,OA)=>{"use strict";OA.exports=us;var NA=Kf();(us.prototype=Object.create(NA.prototype)).constructor=us;var RA=sn();function us(t){NA.call(this,t)}us._configure=function(){RA.Buffer&&(us.prototype._slice=RA.Buffer.prototype.slice)};us.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};us._configure()});var MA=oe((cJ,$A)=>{"use strict";$A.exports=Yc;var xb=sn();(Yc.prototype=Object.create(xb.EventEmitter.prototype)).constructor=Yc;function Yc(t,e,r){if(typeof t!="function")throw TypeError("rpcImpl must be a function");xb.EventEmitter.call(this),this.rpcImpl=t,this.requestDelimited=!!e,this.responseDelimited=!!r}Yc.prototype.rpcCall=function t(e,r,n,o,s){if(!o)throw TypeError("request must be specified");var i=this;if(!s)return xb.asPromise(t,i,e,r,n,o);if(!i.rpcImpl){setTimeout(function(){s(Error("already ended"))},0);return}try{return i.rpcImpl(e,r[i.requestDelimited?"encodeDelimited":"encode"](o).finish(),function(c,u){if(c)return i.emit("error",c,e),s(c);if(u===null){i.end(!0);return}if(!(u instanceof n))try{u=n[i.responseDelimited?"decodeDelimited":"decode"](u)}catch(l){return i.emit("error",l,e),s(l)}return i.emit("data",u,e),s(null,u)})}catch(a){i.emit("error",a,e),setTimeout(function(){s(a)},0);return}};Yc.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}});var zA=oe(FA=>{"use strict";var QN=FA;QN.Service=MA()});var WA=oe((lJ,jA)=>{"use strict";jA.exports={}});var VA=oe(qA=>{"use strict";var bt=qA;bt.build="minimal";bt.Writer=Vf();bt.BufferWriter=yb();bt.Reader=Kf();bt.BufferReader=bb();bt.util=sn();bt.rpc=zA();bt.roots=WA();bt.configure=HA;function HA(){bt.util._configure(),bt.Writer._configure(bt.BufferWriter),bt.Reader._configure(bt.BufferReader)}HA()});var KA=oe((fJ,GA)=>{"use strict";GA.exports=VA()});var HD=oe((hu,hh)=>{(function(t,e){"use strict";var r={version:"3.0.0",x86:{},x64:{},inputValidation:!0};function n(f){if(!Array.isArray(f)&&!ArrayBuffer.isView(f))return!1;for(var h=0;h<f.length;h++)if(!Number.isInteger(f[h])||f[h]<0||f[h]>255)return!1;return!0}function o(f,h){return(f&65535)*h+(((f>>>16)*h&65535)<<16)}function s(f,h){return f<<h|f>>>32-h}function i(f){return f^=f>>>16,f=o(f,2246822507),f^=f>>>13,f=o(f,3266489909),f^=f>>>16,f}function a(f,h){f=[f[0]>>>16,f[0]&65535,f[1]>>>16,f[1]&65535],h=[h[0]>>>16,h[0]&65535,h[1]>>>16,h[1]&65535];var m=[0,0,0,0];return m[3]+=f[3]+h[3],m[2]+=m[3]>>>16,m[3]&=65535,m[2]+=f[2]+h[2],m[1]+=m[2]>>>16,m[2]&=65535,m[1]+=f[1]+h[1],m[0]+=m[1]>>>16,m[1]&=65535,m[0]+=f[0]+h[0],m[0]&=65535,[m[0]<<16|m[1],m[2]<<16|m[3]]}function c(f,h){f=[f[0]>>>16,f[0]&65535,f[1]>>>16,f[1]&65535],h=[h[0]>>>16,h[0]&65535,h[1]>>>16,h[1]&65535];var m=[0,0,0,0];return m[3]+=f[3]*h[3],m[2]+=m[3]>>>16,m[3]&=65535,m[2]+=f[2]*h[3],m[1]+=m[2]>>>16,m[2]&=65535,m[2]+=f[3]*h[2],m[1]+=m[2]>>>16,m[2]&=65535,m[1]+=f[1]*h[3],m[0]+=m[1]>>>16,m[1]&=65535,m[1]+=f[2]*h[2],m[0]+=m[1]>>>16,m[1]&=65535,m[1]+=f[3]*h[1],m[0]+=m[1]>>>16,m[1]&=65535,m[0]+=f[0]*h[3]+f[1]*h[2]+f[2]*h[1]+f[3]*h[0],m[0]&=65535,[m[0]<<16|m[1],m[2]<<16|m[3]]}function u(f,h){return h%=64,h===32?[f[1],f[0]]:h<32?[f[0]<<h|f[1]>>>32-h,f[1]<<h|f[0]>>>32-h]:(h-=32,[f[1]<<h|f[0]>>>32-h,f[0]<<h|f[1]>>>32-h])}function l(f,h){return h%=64,h===0?f:h<32?[f[0]<<h|f[1]>>>32-h,f[1]<<h]:[f[1]<<h-32,0]}function d(f,h){return[f[0]^h[0],f[1]^h[1]]}function p(f){return f=d(f,[0,f[0]>>>1]),f=c(f,[4283543511,3981806797]),f=d(f,[0,f[0]>>>1]),f=c(f,[3301882366,444984403]),f=d(f,[0,f[0]>>>1]),f}r.x86.hash32=function(f,h){if(r.inputValidation&&!n(f))return e;h=h||0;for(var m=f.length%4,b=f.length-m,g=h,k=0,E=3432918353,_=461845907,P=0;P<b;P=P+4)k=f[P]|f[P+1]<<8|f[P+2]<<16|f[P+3]<<24,k=o(k,E),k=s(k,15),k=o(k,_),g^=k,g=s(g,13),g=o(g,5)+3864292196;switch(k=0,m){case 3:k^=f[P+2]<<16;case 2:k^=f[P+1]<<8;case 1:k^=f[P],k=o(k,E),k=s(k,15),k=o(k,_),g^=k}return g^=f.length,g=i(g),g>>>0},r.x86.hash128=function(f,h){if(r.inputValidation&&!n(f))return e;h=h||0;for(var m=f.length%16,b=f.length-m,g=h,k=h,E=h,_=h,P=0,J=0,L=0,G=0,ot=597399067,yn=2869860233,v=951274213,I=2716044179,O=0;O<b;O=O+16)P=f[O]|f[O+1]<<8|f[O+2]<<16|f[O+3]<<24,J=f[O+4]|f[O+5]<<8|f[O+6]<<16|f[O+7]<<24,L=f[O+8]|f[O+9]<<8|f[O+10]<<16|f[O+11]<<24,G=f[O+12]|f[O+13]<<8|f[O+14]<<16|f[O+15]<<24,P=o(P,ot),P=s(P,15),P=o(P,yn),g^=P,g=s(g,19),g+=k,g=o(g,5)+1444728091,J=o(J,yn),J=s(J,16),J=o(J,v),k^=J,k=s(k,17),k+=E,k=o(k,5)+197830471,L=o(L,v),L=s(L,17),L=o(L,I),E^=L,E=s(E,15),E+=_,E=o(E,5)+2530024501,G=o(G,I),G=s(G,18),G=o(G,ot),_^=G,_=s(_,13),_+=g,_=o(_,5)+850148119;switch(P=0,J=0,L=0,G=0,m){case 15:G^=f[O+14]<<16;case 14:G^=f[O+13]<<8;case 13:G^=f[O+12],G=o(G,I),G=s(G,18),G=o(G,ot),_^=G;case 12:L^=f[O+11]<<24;case 11:L^=f[O+10]<<16;case 10:L^=f[O+9]<<8;case 9:L^=f[O+8],L=o(L,v),L=s(L,17),L=o(L,I),E^=L;case 8:J^=f[O+7]<<24;case 7:J^=f[O+6]<<16;case 6:J^=f[O+5]<<8;case 5:J^=f[O+4],J=o(J,yn),J=s(J,16),J=o(J,v),k^=J;case 4:P^=f[O+3]<<24;case 3:P^=f[O+2]<<16;case 2:P^=f[O+1]<<8;case 1:P^=f[O],P=o(P,ot),P=s(P,15),P=o(P,yn),g^=P}return g^=f.length,k^=f.length,E^=f.length,_^=f.length,g+=k,g+=E,g+=_,k+=g,E+=g,_+=g,g=i(g),k=i(k),E=i(E),_=i(_),g+=k,g+=E,g+=_,k+=g,E+=g,_+=g,("00000000"+(g>>>0).toString(16)).slice(-8)+("00000000"+(k>>>0).toString(16)).slice(-8)+("00000000"+(E>>>0).toString(16)).slice(-8)+("00000000"+(_>>>0).toString(16)).slice(-8)},r.x64.hash128=function(f,h){if(r.inputValidation&&!n(f))return e;h=h||0;for(var m=f.length%16,b=f.length-m,g=[0,h],k=[0,h],E=[0,0],_=[0,0],P=[2277735313,289559509],J=[1291169091,658871167],L=0;L<b;L=L+16)E=[f[L+4]|f[L+5]<<8|f[L+6]<<16|f[L+7]<<24,f[L]|f[L+1]<<8|f[L+2]<<16|f[L+3]<<24],_=[f[L+12]|f[L+13]<<8|f[L+14]<<16|f[L+15]<<24,f[L+8]|f[L+9]<<8|f[L+10]<<16|f[L+11]<<24],E=c(E,P),E=u(E,31),E=c(E,J),g=d(g,E),g=u(g,27),g=a(g,k),g=a(c(g,[0,5]),[0,1390208809]),_=c(_,J),_=u(_,33),_=c(_,P),k=d(k,_),k=u(k,31),k=a(k,g),k=a(c(k,[0,5]),[0,944331445]);switch(E=[0,0],_=[0,0],m){case 15:_=d(_,l([0,f[L+14]],48));case 14:_=d(_,l([0,f[L+13]],40));case 13:_=d(_,l([0,f[L+12]],32));case 12:_=d(_,l([0,f[L+11]],24));case 11:_=d(_,l([0,f[L+10]],16));case 10:_=d(_,l([0,f[L+9]],8));case 9:_=d(_,[0,f[L+8]]),_=c(_,J),_=u(_,33),_=c(_,P),k=d(k,_);case 8:E=d(E,l([0,f[L+7]],56));case 7:E=d(E,l([0,f[L+6]],48));case 6:E=d(E,l([0,f[L+5]],40));case 5:E=d(E,l([0,f[L+4]],32));case 4:E=d(E,l([0,f[L+3]],24));case 3:E=d(E,l([0,f[L+2]],16));case 2:E=d(E,l([0,f[L+1]],8));case 1:E=d(E,[0,f[L]]),E=c(E,P),E=u(E,31),E=c(E,J),g=d(g,E)}return g=d(g,[0,f.length]),k=d(k,[0,f.length]),g=a(g,k),k=a(k,g),g=p(g),k=p(k),g=a(g,k),k=a(k,g),("00000000"+(g[0]>>>0).toString(16)).slice(-8)+("00000000"+(g[1]>>>0).toString(16)).slice(-8)+("00000000"+(k[0]>>>0).toString(16)).slice(-8)+("00000000"+(k[1]>>>0).toString(16)).slice(-8)},typeof hu<"u"?(typeof hh<"u"&&hh.exports&&(hu=hh.exports=r),hu.murmurHash3=r):typeof define=="function"&&define.amd?define([],function(){return r}):(r._murmurHash3=t.murmurHash3,r.noConflict=function(){return t.murmurHash3=r._murmurHash3,r._murmurHash3=e,r.noConflict=e,r},t.murmurHash3=r)})(hu)});var Yb=oe(($J,qD)=>{qD.exports=HD()});var $T=oe((XQ,gx)=>{"use strict";var e$=Object.prototype.hasOwnProperty,ht="~";function Tu(){}Object.create&&(Tu.prototype=Object.create(null),new Tu().__proto__||(ht=!1));function t$(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function OT(t,e,r,n,o){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new t$(r,n||t,o),i=ht?ht+e:e;return t._events[i]?t._events[i].fn?t._events[i]=[t._events[i],s]:t._events[i].push(s):(t._events[i]=s,t._eventsCount++),t}function Bh(t,e){--t._eventsCount===0?t._events=new Tu:delete t._events[e]}function at(){this._events=new Tu,this._eventsCount=0}at.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)e$.call(r,n)&&e.push(ht?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};at.prototype.listeners=function(e){var r=ht?ht+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,s=n.length,i=new Array(s);o<s;o++)i[o]=n[o].fn;return i};at.prototype.listenerCount=function(e){var r=ht?ht+e:e,n=this._events[r];return n?n.fn?1:n.length:0};at.prototype.emit=function(e,r,n,o,s,i){var a=ht?ht+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,o),!0;case 5:return c.fn.call(c.context,r,n,o,s),!0;case 6:return c.fn.call(c.context,r,n,o,s,i),!0}for(d=1,l=new Array(u-1);d<u;d++)l[d-1]=arguments[d];c.fn.apply(c.context,l)}else{var p=c.length,f;for(d=0;d<p;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),u){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,r);break;case 3:c[d].fn.call(c[d].context,r,n);break;case 4:c[d].fn.call(c[d].context,r,n,o);break;default:if(!l)for(f=1,l=new Array(u-1);f<u;f++)l[f-1]=arguments[f];c[d].fn.apply(c[d].context,l)}}return!0};at.prototype.on=function(e,r,n){return OT(this,e,r,n,!1)};at.prototype.once=function(e,r,n){return OT(this,e,r,n,!0)};at.prototype.removeListener=function(e,r,n,o){var s=ht?ht+e:e;if(!this._events[s])return this;if(!r)return Bh(this,s),this;var i=this._events[s];if(i.fn)i.fn===r&&(!o||i.once)&&(!n||i.context===n)&&Bh(this,s);else{for(var a=0,c=[],u=i.length;a<u;a++)(i[a].fn!==r||o&&!i[a].once||n&&i[a].context!==n)&&c.push(i[a]);c.length?this._events[s]=c.length===1?c[0]:c:Bh(this,s)}return this};at.prototype.removeAllListeners=function(e){var r;return e?(r=ht?ht+e:e,this._events[r]&&Bh(this,r)):(this._events=new Tu,this._eventsCount=0),this};at.prototype.off=at.prototype.removeListener;at.prototype.addListener=at.prototype.on;at.prefixed=ht;at.EventEmitter=at;typeof gx<"u"&&(gx.exports=at)});var tI=oe(qx=>{qx.encode=function(t){if(isNaN(t))return"DaN";if(t===0)return"FE 0M0";if(t===1/0)return"FF";if(t===-1/0)return"DD";var e=t.toExponential().split("e"),r=Number(e[1])+500,n=e[0]+(e[0].indexOf(".")===-1?".":"")+"0".repeat(20),o="E"+EM(String(r),3)+"M"+String(n);return t>0?"F"+o:"D"+eI(o)};qx.decode=function(t){if(t==="DaN")return NaN;if(t==="FF")return 1/0;if(t==="DD")return-1/0;var e=t[0]==="D",r=(e?eI(t):t).slice(2).split("M");return+((e?"-":"")+r[1]+"e"+String(Number(r[0])-500))};function eI(t){for(var e="",r=0;r<t.length;r++){var n=t[r];isNaN(Number(n))||n===" "?n!=="-"&&(e+=n):e+=String(9-Number(n))}return e}function EM(t,e){return" ".repeat(e-t.length).substr(0,e)+t}});var nI=oe(rI=>{var _M={"?":"?@","!":"??",'"':"?%"};function AM(t){return/[!"]/.test(t)?t.replace(/[\?!"]/g,function(e){return _M[e]}):t}var DM={"?@":"?","??":"!","?%":'"'};function TM(t){return/\?[%\?@]/.test(t)?t.replace(/\?[%\?@]/g,function(e){return DM[e]}):t}rI.factory=function(t){return{encode:e,decode:n};function e(o){if(o===null)return"A";if(!Array.isArray(o))throw new Error("can only encode arrays");var s=o.length;if(s==0)return"K!";for(var i=r(o[0]),a=1;a<s;a++)i+='"'+r(o[a]);return"K"+i+"!"}function r(o){return typeof o=="object"?e(o):AM(t.encode(o))}function n(o){if(o==="A")return null;if(o==="K!")return[];for(var s=o.split('"'),i=[[]],a,c=0,u=s.length,l=0;l<u;l++){for(var d=s[l],p=d.length,f=0;d[f]=="K";)f++;for(var h=0;d[p-h-1]=="!";)h++;for(var m=d.slice(f,p-h),g=c+f,b=c;b<g;b++)i[b+1]=[],i[b].push(i[b+1]),c=g,a=i[c];m.length!==0&&a.push(t.decode(TM(m)));for(var g=c-h,b=g;b<c;b++)i[b+1]=[],c=g,a=i[c]}return i[0][0]}}});var sI=oe(qe=>{var CM=tI(),IM=nI(),lte=qe.flip=function(t){var e=t.toString(),r="";for(var n in e)r+=e[n]=="."?".":9-+e[n];return r};qe.number=CM;qe.string={encode:function(t){return/\x00|\x01/.test(t)?"J"+t.replace(/\x01/g,"").replace(/\x00/g,""):"J"+t},decode:function(t){if(t[0]==="J")return t.substring(1)}};qe.encode=function(t){return qe[typeof t].encode(t)};qe.decode=function(t){if(t==="")return t;if(!oI[t[0]])throw new Error("no decoder for:"+JSON.stringify(t));return oI[t[0]](t)};qe.object=IM.factory(qe);qe.boolean={encode:function(t){return t?"C":"B"},decode:function(t){return t==="C"}};qe.undefined={encode:function(t){return"L"},decode:function(){}};var oI={A:qe.object.decode,B:qe.boolean.decode,C:qe.boolean.decode,D:qe.number.decode,F:qe.number.decode,J:qe.string.decode,K:qe.object.decode,L:qe.undefined.decode};qe.buffer=!1;qe.type="charwise"});var Fr=oe((Vte,DI)=>{"use strict";function AI(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function GM(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return AI(t,r)}catch{r.message=t.message,r.stack=t.stack;let o=function(){};return o.prototype=Object.create(Object.getPrototypeOf(t)),AI(new o,r)}}DI.exports=GM});var KI=oe((Bre,GI)=>{"use strict";GI.exports=class{constructor(){this._bitArrays=[],this._data=[],this._length=0,this._changedLength=!1,this._changedData=!1}set(e,r){let n=this._internalPositionFor(e,!1);if(r===void 0)n!==-1&&(this._unsetInternalPos(n),this._unsetBit(e),this._changedLength=!0,this._changedData=!0);else{let o=!1;n===-1?(n=this._data.length,this._setBit(e),this._changedData=!0):o=!0,this._setInternalPos(n,e,r,o),this._changedLength=!0}}unset(e){this.set(e,void 0)}get(e){this._sortData();let r=this._internalPositionFor(e,!0);if(r!==-1)return this._data[r][1]}push(e){return this.set(this.length,e),this.length}get length(){if(this._sortData(),this._changedLength){let e=this._data[this._data.length-1];this._length=e?e[0]+1:0,this._changedLength=!1}return this._length}forEach(e){let r=0;for(;r<this.length;)e(this.get(r),r,this),r++}map(e){let r=0,n=new Array(this.length);for(;r<this.length;)n[r]=e(this.get(r),r,this),r++;return n}reduce(e,r){let n=0,o=r;for(;n<this.length;){let s=this.get(n);o=e(o,s,n),n++}return o}find(e){let r=0,n,o;for(;r<this.length&&!n;)o=this.get(r),n=e(o),r++;return n?o:void 0}_internalPositionFor(e,r){let n=this._bytePosFor(e,r);if(n>=this._bitArrays.length)return-1;let o=this._bitArrays[n],s=e-n*7;if(!((o&1<<s)>0))return-1;let a=this._bitArrays.slice(0,n).reduce(uF,0),c=~(4294967295<<s+1),u=VI(o&c);return a+u-1}_bytePosFor(e,r){let n=Math.floor(e/7),o=n+1;for(;!r&&this._bitArrays.length<o;)this._bitArrays.push(0);return n}_setBit(e){let r=this._bytePosFor(e,!1);this._bitArrays[r]|=1<<e-r*7}_unsetBit(e){let r=this._bytePosFor(e,!1);this._bitArrays[r]&=~(1<<e-r*7)}_setInternalPos(e,r,n,o){let s=this._data,i=[r,n];if(o)this._sortData(),s[e]=i;else{if(s.length)if(s[s.length-1][0]>=r)s.push(i);else if(s[0][0]<=r)s.unshift(i);else{let a=Math.round(s.length/2);this._data=s.slice(0,a).concat(i).concat(s.slice(a))}else this._data.push(i);this._changedData=!0,this._changedLength=!0}}_unsetInternalPos(e){this._data.splice(e,1)}_sortData(){this._changedData&&this._data.sort(lF),this._changedData=!1}bitField(){let e=[],r=8,n=0,o=0,s,i=this._bitArrays.slice();for(;i.length||n;){n===0&&(s=i.shift(),n=7);let c=Math.min(n,r),u=~(255<<c),l=s&u;o|=l<<8-r,s=s>>>c,n-=c,r-=c,(!r||!n&&!i.length)&&(e.push(o),o=0,r=8)}for(var a=e.length-1;a>0&&e[a]===0;a--)e.pop();return e}compactArray(){return this._sortData(),this._data.map(dF)}};function uF(t,e){return t+VI(e)}function VI(t){let e=t;return e=e-(e>>1&1431655765),e=(e&858993459)+(e>>2&858993459),(e+(e>>4)&252645135)*16843009>>24}function lF(t,e){return t[0]-e[0]}function dF(t){return t[1]}});var gn=class{constructor(){w(this,"ready");w(this,"loaded");w(this,"loader");this.ready=Promise.resolve(),this.loaded=Promise.resolve()}async refresh(){await this.loader.remoteMetaStore.load("main"),await this.loader.remoteWAL?._process()}};var yo=De(Nk(),1);var Fa=class extends gn{constructor(r,n){super();w(this,"uploadUrl");w(this,"downloadUrl");this.uploadUrl=new URL(r),this.downloadUrl=new URL(n)}async dataUpload(r,n){Zs(n);let o=new URL(`${this.uploadUrl.toString()}?${new URLSearchParams({cache:Math.random().toString(),...n}).toString()}`),s=await(0,yo.default)(o);if(!s.ok)throw console.log("failed to get upload url for data",n,s),new Error("failed to get upload url for data "+new Date().toISOString()+" "+s.statusText);let{uploadURL:i}=await s.json(),a=await(0,yo.default)(i,{method:"PUT",body:r});if(!a.ok)throw new Error("failed to upload data "+a.statusText)}async metaUpload(r,n){mm(n);let o=new URL(`${this.uploadUrl.toString()}?${new URLSearchParams({type:"meta",...n}).toString()}`),s=await(0,yo.default)(o);if(!s.ok)throw console.log("failed to get upload url for meta",n,s),new Error("failed to get upload url for meta");let{uploadURL:i}=await s.json();if(!i)throw new Error("missing uploadURL");let a=await(0,yo.default)(i,{method:"PUT",body:r});if(!a.ok)throw new Error("failed to upload data "+a.statusText);return null}async dataDownload(r){Zs(r);let{type:n,name:o,car:s}=r,i=new URL(`${n}/${o}/${s}.car`,this.downloadUrl),a=await(0,yo.default)(i);return a.ok?new Uint8Array(await a.arrayBuffer()):null}async metaDownload(r){mm(r);let{name:n,branch:o}=r,s=new URL(`meta/${n}/${o+".json?cache="+Math.floor(Math.random()*1e6)}`,this.downloadUrl),i=await(0,yo.default)(s);return i.ok?[new Uint8Array(await i.arrayBuffer())]:null}};var sr={};F(sr,{ArchiveSchema:()=>DE,Delegation:()=>Gt,View:()=>Gt,allows:()=>V3,archive:()=>AE,create:()=>kg,delegate:()=>Lt,exportDAG:()=>bg,extract:()=>K3,importDAG:()=>xg,isDelegation:()=>Uo,isLink:()=>q3,view:()=>Cd});var Te={};F(Te,{code:()=>Tt,decode:()=>Ge,encode:()=>tr,name:()=>ec});var m8=["string","number","bigint","symbol"],y8=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Ok(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(m8.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(g8(t))return"Buffer";let r=w8(t);return r||"Object"}function g8(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function w8(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(y8.includes(e))return e}var y=class{constructor(e,r,n){this.major=e,this.majorEncoded=e<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};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 D=class{constructor(e,r,n){this.type=e,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var Js=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",b8=new TextDecoder,x8=new TextEncoder;function Sl(t){return Js&&globalThis.Buffer.isBuffer(t)}function za(t){return t instanceof Uint8Array?Sl(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var zk=Js?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):Mk(t,e,r):(t,e,r)=>r-e>64?b8.decode(t.subarray(e,r)):Mk(t,e,r),El=Js?t=>t.length>64?globalThis.Buffer.from(t):$k(t):t=>t.length>64?x8.encode(t):$k(t),gr=t=>Uint8Array.from(t),Qs=Js?(t,e,r)=>Sl(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),jk=Js?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),za(globalThis.Buffer.concat(t,e))):(t,e)=>{let r=new Uint8Array(e),n=0;for(let o of t)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},Wk=Js?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function Hk(t,e){if(Sl(t)&&Sl(e))return t.compare(e);for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]<e[r]?-1:1;return 0}function $k(t,e=1/0){let r,n=t.length,o=null,s=[];for(let i=0;i<n;++i){if(r=t.charCodeAt(i),r>55295&&r<57344){if(!o){if(r>56319){(e-=3)>-1&&s.push(239,191,189);continue}else if(i+1===n){(e-=3)>-1&&s.push(239,191,189);continue}o=r;continue}if(r<56320){(e-=3)>-1&&s.push(239,191,189),o=r;continue}r=(o-55296<<10|r-56320)+65536}else o&&(e-=3)>-1&&s.push(239,191,189);if(o=null,r<128){if((e-=1)<0)break;s.push(r)}else if(r<2048){if((e-=2)<0)break;s.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;s.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return s}function Mk(t,e,r){let n=[];for(;e<r;){let o=t[e],s=null,i=o>239?4:o>223?3:o>191?2:1;if(e+i<=r){let a,c,u,l;switch(i){case 1:o<128&&(s=o);break;case 2:a=t[e+1],(a&192)===128&&(l=(o&31)<<6|a&63,l>127&&(s=l));break;case 3:a=t[e+1],c=t[e+2],(a&192)===128&&(c&192)===128&&(l=(o&15)<<12|(a&63)<<6|c&63,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:a=t[e+1],c=t[e+2],u=t[e+3],(a&192)===128&&(c&192)===128&&(u&192)===128&&(l=(o&15)<<18|(a&63)<<12|(c&63)<<6|u&63,l>65535&&l<1114112&&(s=l))}}s===null?(s=65533,i=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),e+=i}return ym(n)}var Fk=4096;function ym(t){let e=t.length;if(e<=Fk)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=Fk));return r}var k8=256,ja=class{constructor(e=k8){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 r=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(e,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(r=Wk(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=Qs(n,0,this.cursor)}else r=jk(this.chunks,this.cursor);return e&&this.reset(),r}};var j="CBOR decode error:",jr="CBOR encode error:",Wa=[];Wa[23]=1;Wa[24]=2;Wa[25]=3;Wa[26]=5;Wa[27]=9;function Wr(t,e,r){if(t.length-e<r)throw new Error(`${j} not enough data for type`)}var Ze=[24,256,65536,4294967296,BigInt("18446744073709551616")];function Et(t,e,r){Wr(t,e,1);let n=t[e];if(r.strict===!0&&n<Ze[0])throw new Error(`${j} integer encoded in more bytes than necessary (strict decode)`);return n}function _t(t,e,r){Wr(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<Ze[1])throw new Error(`${j} integer encoded in more bytes than necessary (strict decode)`);return n}function At(t,e,r){Wr(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<Ze[2])throw new Error(`${j} integer encoded in more bytes than necessary (strict decode)`);return n}function Dt(t,e,r){Wr(t,e,8);let n=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],s=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&s<Ze[3])throw new Error(`${j} integer encoded in more bytes than necessary (strict decode)`);if(s<=Number.MAX_SAFE_INTEGER)return Number(s);if(r.allowBigInt===!0)return s;throw new Error(`${j} integers outside of the safe integer range are not supported`)}function qk(t,e,r,n){return new D(y.uint,Et(t,e+1,n),2)}function Vk(t,e,r,n){return new D(y.uint,_t(t,e+1,n),3)}function Gk(t,e,r,n){return new D(y.uint,At(t,e+1,n),5)}function Kk(t,e,r,n){return new D(y.uint,Dt(t,e+1,n),9)}function Ft(t,e){return et(t,0,e.value)}function et(t,e,r){if(r<Ze[0]){let n=Number(r);t.push([e|n])}else if(r<Ze[1]){let n=Number(r);t.push([e|24,n])}else if(r<Ze[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<Ze[3]){let n=Number(r);t.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<Ze[4]){let o=[e|27,0,0,0,0,0,0,0],s=Number(n&BigInt(4294967295)),i=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=s&255,s=s>>8,o[7]=s&255,s=s>>8,o[6]=s&255,s=s>>8,o[5]=s&255,o[4]=i&255,i=i>>8,o[3]=i&255,i=i>>8,o[2]=i&255,i=i>>8,o[1]=i&255,t.push(o)}else throw new Error(`${j} encountered BigInt larger than allowable range`)}}Ft.encodedSize=function(e){return et.encodedSize(e.value)};et.encodedSize=function(e){return e<Ze[0]?1:e<Ze[1]?2:e<Ze[2]?3:e<Ze[3]?5:9};Ft.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function Zk(t,e,r,n){return new D(y.negint,-1-Et(t,e+1,n),2)}function Jk(t,e,r,n){return new D(y.negint,-1-_t(t,e+1,n),3)}function Qk(t,e,r,n){return new D(y.negint,-1-At(t,e+1,n),5)}var gm=BigInt(-1),Xk=BigInt(1);function Yk(t,e,r,n){let o=Dt(t,e+1,n);if(typeof o!="bigint"){let s=-1-o;if(s>=Number.MIN_SAFE_INTEGER)return new D(y.negint,s,9)}if(n.allowBigInt!==!0)throw new Error(`${j} integers outside of the safe integer range are not supported`);return new D(y.negint,gm-BigInt(o),9)}function _l(t,e){let r=e.value,n=typeof r=="bigint"?r*gm-Xk:r*-1-1;et(t,e.type.majorEncoded,n)}_l.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*gm-Xk:r*-1-1;return n<Ze[0]?1:n<Ze[1]?2:n<Ze[2]?3:n<Ze[3]?5:9};_l.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function Ha(t,e,r,n){Wr(t,e,r+n);let o=Qs(t,e+r,e+r+n);return new D(y.bytes,o,r+n)}function ev(t,e,r,n){return Ha(t,e,1,r)}function tv(t,e,r,n){return Ha(t,e,2,Et(t,e+1,n))}function rv(t,e,r,n){return Ha(t,e,3,_t(t,e+1,n))}function nv(t,e,r,n){return Ha(t,e,5,At(t,e+1,n))}function ov(t,e,r,n){let o=Dt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${j} 64-bit integer bytes lengths not supported`);return Ha(t,e,9,o)}function Al(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===y.string?El(t.value):t.value),t.encodedBytes}function Xs(t,e){let r=Al(e);et(t,e.type.majorEncoded,r.length),t.push(r)}Xs.encodedSize=function(e){let r=Al(e);return et.encodedSize(r.length)+r.length};Xs.compareTokens=function(e,r){return S8(Al(e),Al(r))};function S8(t,e){return t.length<e.length?-1:t.length>e.length?1:Hk(t,e)}function qa(t,e,r,n,o){let s=r+n;Wr(t,e,s);let i=new D(y.string,zk(t,e+r,e+s),s);return o.retainStringBytes===!0&&(i.byteValue=Qs(t,e+r,e+s)),i}function sv(t,e,r,n){return qa(t,e,1,r,n)}function iv(t,e,r,n){return qa(t,e,2,Et(t,e+1,n),n)}function av(t,e,r,n){return qa(t,e,3,_t(t,e+1,n),n)}function cv(t,e,r,n){return qa(t,e,5,At(t,e+1,n),n)}function uv(t,e,r,n){let o=Dt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${j} 64-bit integer string lengths not supported`);return qa(t,e,9,o,n)}var lv=Xs;function Ys(t,e,r,n){return new D(y.array,n,r)}function dv(t,e,r,n){return Ys(t,e,1,r)}function fv(t,e,r,n){return Ys(t,e,2,Et(t,e+1,n))}function hv(t,e,r,n){return Ys(t,e,3,_t(t,e+1,n))}function pv(t,e,r,n){return Ys(t,e,5,At(t,e+1,n))}function mv(t,e,r,n){let o=Dt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${j} 64-bit integer array lengths not supported`);return Ys(t,e,9,o)}function yv(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${j} indefinite length items not allowed`);return Ys(t,e,1,1/0)}function Dl(t,e){et(t,y.array.majorEncoded,e.value)}Dl.compareTokens=Ft.compareTokens;Dl.encodedSize=function(e){return et.encodedSize(e.value)};function ei(t,e,r,n){return new D(y.map,n,r)}function gv(t,e,r,n){return ei(t,e,1,r)}function wv(t,e,r,n){return ei(t,e,2,Et(t,e+1,n))}function bv(t,e,r,n){return ei(t,e,3,_t(t,e+1,n))}function xv(t,e,r,n){return ei(t,e,5,At(t,e+1,n))}function kv(t,e,r,n){let o=Dt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${j} 64-bit integer map lengths not supported`);return ei(t,e,9,o)}function vv(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${j} indefinite length items not allowed`);return ei(t,e,1,1/0)}function Tl(t,e){et(t,y.map.majorEncoded,e.value)}Tl.compareTokens=Ft.compareTokens;Tl.encodedSize=function(e){return et.encodedSize(e.value)};function Sv(t,e,r,n){return new D(y.tag,r,1)}function Ev(t,e,r,n){return new D(y.tag,Et(t,e+1,n),2)}function _v(t,e,r,n){return new D(y.tag,_t(t,e+1,n),3)}function Av(t,e,r,n){return new D(y.tag,At(t,e+1,n),5)}function Dv(t,e,r,n){return new D(y.tag,Dt(t,e+1,n),9)}function Cl(t,e){et(t,y.tag.majorEncoded,e.value)}Cl.compareTokens=Ft.compareTokens;Cl.encodedSize=function(e){return et.encodedSize(e.value)};var C8=20,I8=21,B8=22,P8=23;function Tv(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${j} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new D(y.null,null,1):new D(y.undefined,void 0,1)}function Cv(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${j} indefinite length items not allowed`);return new D(y.break,void 0,1)}function wm(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${j} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${j} Infinity values are not supported`)}return new D(y.float,t,e)}function Iv(t,e,r,n){return wm(bm(t,e+1),3,n)}function Bv(t,e,r,n){return wm(xm(t,e+1),5,n)}function Pv(t,e,r,n){return wm(Nv(t,e+1),9,n)}function Il(t,e,r){let n=e.value;if(n===!1)t.push([y.float.majorEncoded|C8]);else if(n===!0)t.push([y.float.majorEncoded|I8]);else if(n===null)t.push([y.float.majorEncoded|B8]);else if(n===void 0)t.push([y.float.majorEncoded|P8]);else{let o,s=!1;(!r||r.float64!==!0)&&(Uv(n),o=bm(Yt,1),n===o||Number.isNaN(n)?(Yt[0]=249,t.push(Yt.slice(0,3)),s=!0):(Rv(n),o=xm(Yt,1),n===o&&(Yt[0]=250,t.push(Yt.slice(0,5)),s=!0))),s||(L8(n),o=Nv(Yt,1),Yt[0]=251,t.push(Yt.slice(0,9)))}}Il.encodedSize=function(e,r){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){Uv(n);let o=bm(Yt,1);if(n===o||Number.isNaN(n))return 3;if(Rv(n),o=xm(Yt,1),n===o)return 5}return 9};var Lv=new ArrayBuffer(9),zt=new DataView(Lv,1),Yt=new Uint8Array(Lv,0);function Uv(t){if(t===1/0)zt.setUint16(0,31744,!1);else if(t===-1/0)zt.setUint16(0,64512,!1);else if(Number.isNaN(t))zt.setUint16(0,32256,!1);else{zt.setFloat32(0,t);let e=zt.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)zt.setUint16(0,31744,!1);else if(r===0)zt.setUint16(0,(t&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?zt.setUint16(0,0):o<-14?zt.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):zt.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function bm(t,e){if(t.length-e<2)throw new Error(`${j} not enough data for float16`);let r=(t[e]<<8)+t[e+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,s;return n===0?s=o*2**-24:n!==31?s=(o+1024)*2**(n-25):s=o===0?1/0:NaN,r&32768?-s:s}function Rv(t){zt.setFloat32(0,t,!1)}function xm(t,e){if(t.length-e<4)throw new Error(`${j} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function L8(t){zt.setFloat64(0,t,!1)}function Nv(t,e){if(t.length-e<8)throw new Error(`${j} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}Il.compareTokens=Ft.compareTokens;function ge(t,e,r){throw new Error(`${j} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function Bl(t){return()=>{throw new Error(`${j} ${t}`)}}var U=[];for(let t=0;t<=23;t++)U[t]=ge;U[24]=qk;U[25]=Vk;U[26]=Gk;U[27]=Kk;U[28]=ge;U[29]=ge;U[30]=ge;U[31]=ge;for(let t=32;t<=55;t++)U[t]=ge;U[56]=Zk;U[57]=Jk;U[58]=Qk;U[59]=Yk;U[60]=ge;U[61]=ge;U[62]=ge;U[63]=ge;for(let t=64;t<=87;t++)U[t]=ev;U[88]=tv;U[89]=rv;U[90]=nv;U[91]=ov;U[92]=ge;U[93]=ge;U[94]=ge;U[95]=Bl("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)U[t]=sv;U[120]=iv;U[121]=av;U[122]=cv;U[123]=uv;U[124]=ge;U[125]=ge;U[126]=ge;U[127]=Bl("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)U[t]=dv;U[152]=fv;U[153]=hv;U[154]=pv;U[155]=mv;U[156]=ge;U[157]=ge;U[158]=ge;U[159]=yv;for(let t=160;t<=183;t++)U[t]=gv;U[184]=wv;U[185]=bv;U[186]=xv;U[187]=kv;U[188]=ge;U[189]=ge;U[190]=ge;U[191]=vv;for(let t=192;t<=215;t++)U[t]=Sv;U[216]=Ev;U[217]=_v;U[218]=Av;U[219]=Dv;U[220]=ge;U[221]=ge;U[222]=ge;U[223]=ge;for(let t=224;t<=243;t++)U[t]=Bl("simple values are not supported");U[244]=ge;U[245]=ge;U[246]=ge;U[247]=Tv;U[248]=Bl("simple values are not supported");U[249]=Iv;U[250]=Bv;U[251]=Pv;U[252]=ge;U[253]=ge;U[254]=ge;U[255]=Cv;var er=[];for(let t=0;t<24;t++)er[t]=new D(y.uint,t,1);for(let t=-1;t>=-24;t--)er[31-t]=new D(y.negint,t,1);er[64]=new D(y.bytes,new Uint8Array(0),1);er[96]=new D(y.string,"",1);er[128]=new D(y.array,0,1);er[160]=new D(y.map,0,1);er[244]=new D(y.false,!1,1);er[245]=new D(y.true,!0,1);er[246]=new D(y.null,null,1);function Ov(t){switch(t.type){case y.false:return gr([244]);case y.true:return gr([245]);case y.null:return gr([246]);case y.bytes:return t.value.length?void 0:gr([64]);case y.string:return t.value===""?gr([96]):void 0;case y.array:return t.value===0?gr([128]):void 0;case y.map:return t.value===0?gr([160]):void 0;case y.uint:return t.value<24?gr([Number(t.value)]):void 0;case y.negint:if(t.value>=-24)return gr([31-Number(t.value)])}}var R8={float64:!1,mapSorter:$8,quickEncodeToken:Ov};function N8(){let t=[];return t[y.uint.major]=Ft,t[y.negint.major]=_l,t[y.bytes.major]=Xs,t[y.string.major]=lv,t[y.array.major]=Dl,t[y.map.major]=Tl,t[y.tag.major]=Cl,t[y.float.major]=Il,t}var $v=N8(),km=new ja,Ll=class t{constructor(e,r){this.obj=e,this.parent=r}includes(e){let r=this;do if(r.obj===e)return!0;while(r=r.parent);return!1}static createCheck(e,r){if(e&&e.includes(r))throw new Error(`${jr} object contains circular references`);return new t(r,e)}},bn={null:new D(y.null,null),undefined:new D(y.undefined,void 0),true:new D(y.true,!0),false:new D(y.false,!1),emptyArray:new D(y.array,0),emptyMap:new D(y.map,0)},xn={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new D(y.float,t):t>=0?new D(y.uint,t):new D(y.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new D(y.uint,t):new D(y.negint,t)},Uint8Array(t,e,r,n){return new D(y.bytes,t)},string(t,e,r,n){return new D(y.string,t)},boolean(t,e,r,n){return t?bn.true:bn.false},null(t,e,r,n){return bn.null},undefined(t,e,r,n){return bn.undefined},ArrayBuffer(t,e,r,n){return new D(y.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new D(y.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[bn.emptyArray,new D(y.break)]:bn.emptyArray;n=Ll.createCheck(n,t);let o=[],s=0;for(let i of t)o[s++]=Pl(i,r,n);return r.addBreakTokens?[new D(y.array,t.length),o,new D(y.break)]:[new D(y.array,t.length),o]},Object(t,e,r,n){let o=e!=="Object",s=o?t.keys():Object.keys(t),i=o?t.size:s.length;if(!i)return r.addBreakTokens===!0?[bn.emptyMap,new D(y.break)]:bn.emptyMap;n=Ll.createCheck(n,t);let a=[],c=0;for(let u of s)a[c++]=[Pl(u,r,n),Pl(o?t.get(u):t[u],r,n)];return O8(a,r),r.addBreakTokens?[new D(y.map,i),a,new D(y.break)]:[new D(y.map,i),a]}};xn.Map=xn.Object;xn.Buffer=xn.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))xn[`${t}Array`]=xn.DataView;function Pl(t,e={},r){let n=Ok(t),o=e&&e.typeEncoders&&e.typeEncoders[n]||xn[n];if(typeof o=="function"){let i=o(t,n,e,r);if(i!=null)return i}let s=xn[n];if(!s)throw new Error(`${jr} unsupported type: ${n}`);return s(t,n,e,r)}function O8(t,e){e.mapSorter&&t.sort(e.mapSorter)}function $8(t,e){let r=Array.isArray(t[0])?t[0][0]:t[0],n=Array.isArray(e[0])?e[0][0]:e[0];if(r.type!==n.type)return r.type.compare(n.type);let o=r.type.major,s=$v[o].compareTokens(r,n);return s===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),s}function Mv(t,e,r,n){if(Array.isArray(e))for(let o of e)Mv(t,o,r,n);else r[e.type.major](t,e,n)}function vm(t,e,r){let n=Pl(t,r);if(!Array.isArray(n)&&r.quickEncodeToken){let o=r.quickEncodeToken(n);if(o)return o;let s=e[n.type.major];if(s.encodedSize){let i=s.encodedSize(n,r),a=new ja(i);if(s(a,n,r),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return za(a.chunks[0])}}return km.reset(),Mv(km,n,e,r),km.toBytes(!0)}function Sm(t,e){return e=Object.assign({},R8,e),vm(t,$v,e)}var M8={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},Em=class{constructor(e,r={}){this.pos=0,this.data=e,this.options=r}done(){return this.pos>=this.data.length}next(){let e=this.data[this.pos],r=er[e];if(r===void 0){let n=U[e];if(!n)throw new Error(`${j} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let o=e&31;r=n(this.data,this.pos,o,this.options)}return this.pos+=r.encodedLength,r}},Va=Symbol.for("DONE"),Ul=Symbol.for("BREAK");function F8(t,e,r){let n=[];for(let o=0;o<t.value;o++){let s=Ga(e,r);if(s===Ul){if(t.value===1/0)break;throw new Error(`${j} got unexpected break to lengthed array`)}if(s===Va)throw new Error(`${j} found array but not enough entries (got ${o}, expected ${t.value})`);n[o]=s}return n}function z8(t,e,r){let n=r.useMaps===!0,o=n?void 0:{},s=n?new Map:void 0;for(let i=0;i<t.value;i++){let a=Ga(e,r);if(a===Ul){if(t.value===1/0)break;throw new Error(`${j} got unexpected break to lengthed map`)}if(a===Va)throw new Error(`${j} found map but not enough entries (got ${i} [no key], expected ${t.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${j} non-string keys not supported (got ${typeof a})`);if(r.rejectDuplicateMapKeys===!0&&(n&&s.has(a)||!n&&a in o))throw new Error(`${j} found repeat map key "${a}"`);let c=Ga(e,r);if(c===Va)throw new Error(`${j} found map but not enough entries (got ${i} [no value], expected ${t.value})`);n?s.set(a,c):o[a]=c}return n?s:o}function Ga(t,e){if(t.done())return Va;let r=t.next();if(r.type===y.break)return Ul;if(r.type.terminal)return r.value;if(r.type===y.array)return F8(r,t,e);if(r.type===y.map)return z8(r,t,e);if(r.type===y.tag){if(e.tags&&typeof e.tags[r.value]=="function"){let n=Ga(t,e);return e.tags[r.value](n)}throw new Error(`${j} tag not supported (${r.value})`)}throw new Error("unsupported")}function Ka(t,e){if(!(t instanceof Uint8Array))throw new Error(`${j} data to decode must be a Uint8Array`);e=Object.assign({},M8,e);let r=e.tokenizer||new Em(t,e),n=Ga(r,e);if(n===Va)throw new Error(`${j} did not find any content to decode`);if(n===Ul)throw new Error(`${j} got unexpected break`);if(!r.done())throw new Error(`${j} too many terminals, data makes no sense`);return n}var W8=jv,Fv=128,H8=127,q8=~H8,V8=Math.pow(2,31);function jv(t,e,r){e=e||[],r=r||0;for(var n=r;t>=V8;)e[r++]=t&255|Fv,t/=128;for(;t&q8;)e[r++]=t&255|Fv,t>>>=7;return e[r]=t|0,jv.bytes=r-n+1,e}var G8=_m,K8=128,zv=127;function _m(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a)throw _m.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&zv)<<o:(i&zv)*Math.pow(2,o),o+=7}while(i>=K8);return _m.bytes=s-n,r}var Z8=Math.pow(2,7),J8=Math.pow(2,14),Q8=Math.pow(2,21),X8=Math.pow(2,28),Y8=Math.pow(2,35),eP=Math.pow(2,42),tP=Math.pow(2,49),rP=Math.pow(2,56),nP=Math.pow(2,63),oP=function(t){return t<Z8?1:t<J8?2:t<Q8?3:t<X8?4:t<Y8?5:t<eP?6:t<tP?7:t<rP?8:t<nP?9:10},sP={encode:W8,decode:G8,encodingLength:oP},iP=sP,Za=iP;var Ja=(t,e=0)=>[Za.decode(t,e),Za.decode.bytes],ti=(t,e,r=0)=>(Za.encode(t,e,r),e),ri=t=>Za.encodingLength(t);var wo={};F(wo,{coerce:()=>jt,empty:()=>Wv,equals:()=>Dm,fromHex:()=>cP,fromString:()=>lP,isBinary:()=>uP,toHex:()=>aP,toString:()=>dP});var Wv=new Uint8Array(0),aP=t=>t.reduce((e,r)=>e+r.toString(16).padStart(2,"0"),""),cP=t=>{let e=t.match(/../g);return e?new Uint8Array(e.map(r=>parseInt(r,16))):Wv},Dm=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},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")},uP=t=>t instanceof ArrayBuffer||ArrayBuffer.isView(t),lP=t=>new TextEncoder().encode(t),dP=t=>new TextDecoder().decode(t);var bo=(t,e)=>{let r=e.byteLength,n=ri(t),o=n+ri(r),s=new Uint8Array(o+r);return ti(t,s,0),ti(r,s,n),s.set(e,o),new ni(t,r,e,s)},Rl=t=>{let e=jt(t),[r,n]=Ja(e),[o,s]=Ja(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new ni(r,o,i,e)},Hv=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Dm(t.bytes,r.bytes)}},ni=class{constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};function fP(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<t.length;o++){var s=t.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function d(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var m=0,b=0,g=0,k=h.length;g!==k&&h[g]===0;)g++,m++;for(var E=(k-g)*l+1>>>0,_=new Uint8Array(E);g!==k;){for(var P=h[g],J=0,L=E-1;(P!==0||J<b)&&L!==-1;L--,J++)P+=256*_[L]>>>0,_[L]=P%a>>>0,P=P/a>>>0;if(P!==0)throw new Error("Non-zero carry");b=J,g++}for(var G=E-b;G!==E&&_[G]===0;)G++;for(var ot=c.repeat(m);G<E;++G)ot+=t.charAt(_[G]);return ot}function p(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var b=0,g=0;h[m]===c;)b++,m++;for(var k=(h.length-m)*u+1>>>0,E=new Uint8Array(k);h[m];){var _=r[h.charCodeAt(m)];if(_===255)return;for(var P=0,J=k-1;(_!==0||P<g)&&J!==-1;J--,P++)_+=a*E[J]>>>0,E[J]=_%256>>>0,_=_/256>>>0;if(_!==0)throw new Error("Non-zero carry");g=P,m++}if(h[m]!==" "){for(var L=k-g;L!==k&&E[L]===0;)L++;for(var G=new Uint8Array(b+(k-L)),ot=b;L!==k;)G[ot++]=E[L++];return G}}}function f(h){var m=p(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:p,decode:f}}var hP=fP,pP=hP,qv=pP;var Tm=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Cm=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}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 Vv(this,e)}},Im=class{constructor(e){this.decoders=e}or(e){return Vv(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Vv=(t,e)=>new Im({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Bm=class{constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Tm(e,r,n),this.decoder=new Cm(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Gv=({name:t,prefix:e,encode:r,decode:n})=>new Bm(t,e,r,n),Pm=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:o}=qv(r,e);return Gv({prefix:t,name:e,encode:n,decode:s=>jt(o(s))})},mP=(t,e,r,n)=>{let o={};for(let l=0;l<e.length;++l)o[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let i=new Uint8Array(s*r/8|0),a=0,c=0,u=0;for(let l=0;l<s;++l){let d=o[t[l]];if(d===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|d,a+=r,a>=8&&(a-=8,i[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return i},yP=(t,e,r)=>{let n=e[e.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],i+=8;i>r;)i-=r,s+=e[o&a>>i];if(i&&(s+=e[o&a<<r-i]),n)for(;s.length*r&7;)s+="=";return s},lt=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Gv({prefix:e,name:t,encode(o){return yP(o,n,r)},decode(o){return mP(o,n,r,t)}});var Hr=Pm({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),O7=Pm({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Xa=lt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),F7=lt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),z7=lt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),j7=lt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),W7=lt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),H7=lt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),q7=lt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),V7=lt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),G7=lt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Kv=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return wP(r,Lm(t),e||Hr.encoder);default:return bP(r,Lm(t),e||Xa.encoder)}};var Zv=new WeakMap,Lm=t=>{let e=Zv.get(t);if(e==null){let r=new Map;return Zv.set(t,r),r}return e},ve=class t{constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,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:r}=this;if(e!==Ya)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==xP)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}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:r}=this.multihash,n=bo(e,r);return t.createV1(this.code,n)}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,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Hv(e.multihash,n.multihash)}toString(e){return Kv(this,e)}toJSON(){return{"/":Kv(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:s,bytes:i}=r;return new t(n,o,s,i||Jv(n,o,s.bytes))}else if(r[kP]===!0){let{version:n,multihash:o,code:s}=r,i=Rl(o);return t.create(n,s,i)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Ya)throw new Error(`Version 0 CID must use dag-pb (code: ${Ya}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=Jv(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Ya,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,o=jt(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),i=new ni(r.multihashCode,r.digestSize,s,o);return[r.version===0?t.createV0(i):t.createV1(r.codec,i),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[d,p]=Ja(e.subarray(r));return r+=p,d},o=n(),s=Ya;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,a=n(),c=n(),u=r+c,l=u-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,o]=gP(e,r),s=t.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Lm(s).set(n,e),s}},gP=(t,e)=>{switch(t[0]){case"Q":{let r=e||Hr;return[Hr.prefix,r.decode(`${Hr.prefix}${t}`)]}case Hr.prefix:{let r=e||Hr;return[Hr.prefix,r.decode(t)]}case Xa.prefix:{let r=e||Xa;return[Xa.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},wP=(t,e,r)=>{let{prefix:n}=r;if(n!==Hr.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return o},bP=(t,e,r)=>{let{prefix:n}=r,o=e.get(n);if(o==null){let s=r.encode(t);return e.set(n,s),s}else return o},Ya=112,xP=18,Jv=(t,e,r)=>{let n=ri(t),o=n+ri(e),s=new Uint8Array(o+r.byteLength);return ti(t,s,0),ti(e,s,n),s.set(r,o),s},kP=Symbol.for("@ipld/js-cid/CID");var Qv=42;function vP(t){if(t.asCID!==t&&t["/"]!==t.bytes)return null;let e=ve.asCID(t);if(!e)return null;let r=new Uint8Array(e.bytes.byteLength+1);return r.set(e.bytes,1),[new D(y.tag,Qv),new D(y.bytes,r)]}function SP(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function EP(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}var _P={float64:!0,typeEncoders:{Object:vP,undefined:SP,number:EP}};function AP(t){if(t[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");return ve.decode(t.subarray(1))}var Xv={allowIndefinite:!1,coerceUndefinedToNull:!0,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};Xv.tags[Qv]=AP;var ec="dag-cbor",Tt=113,tr=t=>Sm(t,_P),Ge=t=>Ka(t,Xv);var DP=new TextEncoder,TP=new TextDecoder,wr=t=>DP.encode(t),kn=t=>TP.decode(t);var Y={};F(Y,{decode:()=>oi,encodeTo:()=>xo,encodingLength:()=>ko});var CP=t1,Yv=128,IP=127,BP=~IP,PP=Math.pow(2,31);function t1(t,e,r){e=e||[],r=r||0;for(var n=r;t>=PP;)e[r++]=t&255|Yv,t/=128;for(;t&BP;)e[r++]=t&255|Yv,t>>>=7;return e[r]=t|0,t1.bytes=r-n+1,e}var LP=Um,UP=128,e1=127;function Um(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a)throw Um.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&e1)<<o:(i&e1)*Math.pow(2,o),o+=7}while(i>=UP);return Um.bytes=s-n,r}var RP=Math.pow(2,7),NP=Math.pow(2,14),OP=Math.pow(2,21),$P=Math.pow(2,28),MP=Math.pow(2,35),FP=Math.pow(2,42),zP=Math.pow(2,49),jP=Math.pow(2,56),WP=Math.pow(2,63),HP=function(t){return t<RP?1:t<NP?2:t<OP?3:t<$P?4:t<MP?5:t<FP?6:t<zP?7:t<jP?8:t<WP?9:10},qP={encode:CP,decode:LP,encodingLength:HP},VP=qP,rc=VP;var oi=(t,e=0)=>[rc.decode(t,e),rc.decode.bytes],xo=(t,e,r=0)=>(rc.encode(t,e,r),e),ko=t=>rc.encodingLength(t);var n9=new Uint8Array(0);var r1=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},rr=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")};var n1=t=>new TextEncoder().encode(t),o1=t=>new TextDecoder().decode(t);var vo=(t,e)=>{let r=e.byteLength,n=ko(t),o=n+ko(r),s=new Uint8Array(o+r);return xo(t,s,0),xo(r,s,n),s.set(e,o),new si(t,r,e,s)},vn=t=>{let e=rr(t),[r,n]=oi(e),[o,s]=oi(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new si(r,o,i,e)},s1=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&r1(t.bytes,r.bytes)}},si=class{constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};var Fm={};F(Fm,{base58btc:()=>Le,base58flickr:()=>XP});function GP(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<t.length;o++){var s=t.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function d(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var m=0,b=0,g=0,k=h.length;g!==k&&h[g]===0;)g++,m++;for(var E=(k-g)*l+1>>>0,_=new Uint8Array(E);g!==k;){for(var P=h[g],J=0,L=E-1;(P!==0||J<b)&&L!==-1;L--,J++)P+=256*_[L]>>>0,_[L]=P%a>>>0,P=P/a>>>0;if(P!==0)throw new Error("Non-zero carry");b=J,g++}for(var G=E-b;G!==E&&_[G]===0;)G++;for(var ot=c.repeat(m);G<E;++G)ot+=t.charAt(_[G]);return ot}function p(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var b=0,g=0;h[m]===c;)b++,m++;for(var k=(h.length-m)*u+1>>>0,E=new Uint8Array(k);h[m];){var _=r[h.charCodeAt(m)];if(_===255)return;for(var P=0,J=k-1;(_!==0||P<g)&&J!==-1;J--,P++)_+=a*E[J]>>>0,E[J]=_%256>>>0,_=_/256>>>0;if(_!==0)throw new Error("Non-zero carry");g=P,m++}if(h[m]!==" "){for(var L=k-g;L!==k&&E[L]===0;)L++;for(var G=new Uint8Array(b+(k-L)),ot=b;L!==k;)G[ot++]=E[L++];return G}}}function f(h){var m=p(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:p,decode:f}}var KP=GP,ZP=KP,i1=ZP;var Nm=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Om=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}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 a1(this,e)}},$m=class{constructor(e){this.decoders=e}or(e){return a1(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},a1=(t,e)=>new $m({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Mm=class{constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Nm(e,r,n),this.decoder=new Om(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},ii=({name:t,prefix:e,encode:r,decode:n})=>new Mm(t,e,r,n),Sn=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:o}=i1(r,e);return ii({prefix:t,name:e,encode:n,decode:s=>rr(o(s))})},JP=(t,e,r,n)=>{let o={};for(let l=0;l<e.length;++l)o[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let i=new Uint8Array(s*r/8|0),a=0,c=0,u=0;for(let l=0;l<s;++l){let d=o[t[l]];if(d===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|d,a+=r,a>=8&&(a-=8,i[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return i},QP=(t,e,r)=>{let n=e[e.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],i+=8;i>r;)i-=r,s+=e[o&a>>i];if(i&&(s+=e[o&a<<r-i]),n)for(;s.length*r&7;)s+="=";return s},Me=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>ii({prefix:e,name:t,encode(o){return QP(o,n,r)},decode(o){return JP(o,n,r,t)}});var Le=Sn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),XP=Sn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var zm={};F(zm,{base32:()=>Ve,base32hex:()=>rL,base32hexpad:()=>oL,base32hexpadupper:()=>sL,base32hexupper:()=>nL,base32pad:()=>eL,base32padupper:()=>tL,base32upper:()=>YP,base32z:()=>iL});var Ve=Me({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),YP=Me({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),eL=Me({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),tL=Me({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),rL=Me({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),nL=Me({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),oL=Me({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),sL=Me({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),iL=Me({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var jm=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return cL(r,Wm(t),e||Le.encoder);default:return uL(r,Wm(t),e||Ve.encoder)}};var c1=new WeakMap,Wm=t=>{let e=c1.get(t);if(e==null){let r=new Map;return c1.set(t,r),r}return e},se=class t{constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,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:r}=this;if(e!==nc)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==lL)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}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:r}=this.multihash,n=vo(e,r);return t.createV1(this.code,n)}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,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&s1(e.multihash,n.multihash)}toString(e){return jm(this,e)}toJSON(){return{"/":jm(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:s,bytes:i}=r;return new t(n,o,s,i||u1(n,o,s.bytes))}else if(r[dL]===!0){let{version:n,multihash:o,code:s}=r,i=vn(o);return t.create(n,s,i)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==nc)throw new Error(`Version 0 CID must use dag-pb (code: ${nc}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=u1(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,nc,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,o=rr(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),i=new si(r.multihashCode,r.digestSize,s,o);return[r.version===0?t.createV0(i):t.createV1(r.codec,i),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[d,p]=oi(e.subarray(r));return r+=p,d},o=n(),s=nc;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,a=n(),c=n(),u=r+c,l=u-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,o]=aL(e,r),s=t.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Wm(s).set(n,e),s}},aL=(t,e)=>{switch(t[0]){case"Q":{let r=e||Le;return[Le.prefix,r.decode(`${Le.prefix}${t}`)]}case Le.prefix:{let r=e||Le;return[Le.prefix,r.decode(t)]}case Ve.prefix:{let r=e||Ve;return[Ve.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},cL=(t,e,r)=>{let{prefix:n}=r;if(n!==Le.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return o},uL=(t,e,r)=>{let{prefix:n}=r,o=e.get(n);if(o==null){let s=r.encode(t);return e.set(n,s),s}else return o},nc=112,lL=18,u1=(t,e,r)=>{let n=ko(t),o=n+ko(e),s=new Uint8Array(o+r.byteLength);return xo(t,s,0),xo(e,s,n),s.set(r,o),s},dL=Symbol.for("@ipld/js-cid/CID");var fL=112;var ai=t=>se.create(0,fL,t),Fe=(t,e)=>se.create(1,t,e),Se=t=>{if(t==null)return!1;let e=t;return e["/"]!=null&&e["/"]===e.bytes||t.asCID===t},br=(t,e)=>se.parse(t,e);var Hm={};F(Hm,{identity:()=>Eo});var l1=0,pL="identity",d1=rr,mL=t=>vo(l1,d1(t)),Eo={code:l1,name:pL,encode:d1,digest:mL};var yt={};F(yt,{BLS12381G1:()=>k1,BLS12381G2:()=>v1,DID_CORE:()=>Nl,ED25519:()=>m1,P256:()=>g1,P384:()=>w1,P521:()=>b1,RSA:()=>y1,SECP256K1:()=>x1,decode:()=>oc,encode:()=>Zm,format:()=>_o,from:()=>Ol,parse:()=>Ue});var Vm=({name:t,code:e,encode:r})=>new qm(t,e,r),qm=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?vo(this.code,r):r.then(n=>vo(this.code,n))}else throw Error("Unknown type, must be binary type")}};var h1="did:",yL=h1.length,p1="did:key:",gL=p1.length,m1=237,y1=4613,g1=4608,w1=4609,b1=4610,x1=231,k1=234,v1=235,Nl=3357,Gm=Y.encodingLength(Nl),Ue=t=>{if(t.startsWith(h1))if(t.startsWith(p1)){let e=Le.decode(t.slice(gL));return oc(e)}else{let e=wr(t.slice(yL)),r=new Uint8Array(e.byteLength+Gm);return Y.encodeTo(Nl,r),r.set(e,Gm),new ci(r)}else throw new RangeError(`Invalid DID "${t}", must start with 'did:'`)},_o=t=>t.did(),Ol=t=>t instanceof ci?t:t instanceof Uint8Array?oc(t):Ue(typeof t=="string"?t:t.did()),oc=t=>{let[e]=Y.decode(t),{buffer:r,byteOffset:n,byteLength:o}=t;switch(e){case g1:if(t.length>35)throw new RangeError("Only p256-pub compressed is supported.");case m1:case y1:case w1:case b1:case k1:case v1:case x1:return new Km(r,n,o);case Nl:return new ci(r,n,o);default:throw new RangeError(`Unsupported DID encoding, unknown multicode 0x${e.toString(16)}.`)}},Zm=t=>Ue(t.did()),ci=class extends Uint8Array{did(){let e=new Uint8Array(this.buffer,this.byteOffset+Gm);return`did:${kn(e)}`}toJSON(){return this.did()}},Km=class extends ci{did(){return`did:key:${Le.encode(this)}`}};var ui={};F(ui,{code:()=>Ao,decode:()=>xL,encode:()=>bL,name:()=>wL});var wL="raw",Ao=85,bL=t=>rr(t),xL=t=>rr(t);var st={};F(st,{BLS12381G1:()=>Xm,BLS12381G2:()=>Ym,EIP191:()=>ny,ES256:()=>ey,ES256K:()=>Qm,ES384:()=>ty,ES512:()=>ry,EdDSA:()=>Do,NON_STANDARD:()=>di,RS256:()=>sc,Signature:()=>li,create:()=>fi,createNamed:()=>oy,createNonStandard:()=>sy,decode:()=>En,encode:()=>iy,format:()=>EL,fromJSON:()=>AL,nameCode:()=>E1,parse:()=>_L,toJSON:()=>_1,view:()=>hi});var Jm={};F(Jm,{base64:()=>$l,base64pad:()=>Ml,base64url:()=>gt,base64urlpad:()=>kL});var $l=Me({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ml=Me({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),gt=Me({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),kL=Me({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var di=53248,Qm=53479,Xm=53482,Ym=53483,Do=53485,ey=13636096,ty=13636097,ry=13636098,sc=13636101,ny=53649,S1=t=>{switch(t){case Qm:return"ES256K";case Xm:return"BLS12381G1";case Ym:return"BLS12381G2";case Do:return"EdDSA";case ey:return"ES256";case ty:return"ES384";case ry:return"ES512";case sc:return"RS256";case ny:return"EIP191";default:throw new RangeError(`Unknown signature algorithm code 0x${t.toString(16)}`)}},E1=t=>{switch(t){case"ES256K":return Qm;case"BLS12381G1":return Xm;case"BLS12381G2":return Ym;case"EdDSA":return Do;case"ES256":return ey;case"ES384":return ty;case"ES512":return ry;case"RS256":return sc;case"EIP191":return ny;default:return di}},li=class extends Uint8Array{get code(){let[e]=Y.decode(this);return Object.defineProperties(this,{code:{value:e}}),e}get size(){let e=SL(this);return Object.defineProperties(this,{size:{value:e}}),e}get algorithm(){let e=vL(this);return Object.defineProperties(this,{algorithm:{value:e}}),e}get raw(){let{buffer:e,byteOffset:r,size:n,code:o}=this,s=Y.encodingLength(o),i=Y.encodingLength(n),a=new Uint8Array(e,r+s+i,n);return Object.defineProperties(this,{raw:{value:a}}),a}async verify(e,r){try{if(await e.verify(r,this)===!0)return{ok:{}};throw new Error("Invalid signature")}catch(n){return{error:n}}}toJSON(){return _1(this)}},vL=t=>{let{code:e,raw:r,buffer:n,byteOffset:o}=t;if(e===di){let s=r.byteLength+Y.encodingLength(e)+Y.encodingLength(r.byteLength),i=new Uint8Array(n,o+s);return kn(i)}else return S1(e)},SL=t=>{let e=Y.encodingLength(t.code),[r]=Y.decode(new Uint8Array(t.buffer,t.byteOffset+e));return r},fi=(t,e)=>{let r=S1(t),n=Y.encodingLength(t),o=Y.encodingLength(e.byteLength),s=new li(n+o+e.byteLength);return Y.encodeTo(t,s),Y.encodeTo(e.byteLength,s,n),s.set(e,n+o),Object.defineProperties(s,{code:{value:t},size:{value:e.byteLength}}),s},oy=(t,e)=>{let r=E1(t);return r===di?sy(t,e):fi(r,e)},sy=(t,e)=>{let r=di,n=Y.encodingLength(r),o=Y.encodingLength(e.byteLength),s=wr(t),i=new li(n+o+e.byteLength+s.byteLength);return Y.encodeTo(r,i),Y.encodeTo(e.byteLength,i,n),i.set(e,n+o),i.set(s,n+o+e.byteLength),i},hi=t=>new li(t.buffer,t.byteOffset,t.byteLength),En=t=>{if(!(t instanceof Uint8Array))throw new TypeError(`Can only decode Uint8Array into a Signature, instead got ${JSON.stringify(t)}`);let e=hi(t),{code:r,algorithm:n,raw:o}=e;return e},iy=t=>En(t),EL=(t,e)=>(e||gt).encode(t),_L=(t,e)=>En((e||gt).decode(t)),_1=t=>({"/":{bytes:$l.baseEncode(t)}}),AL=t=>En($l.baseDecode(t["/"].bytes));var ic=t=>I1(t,{readPrincipal:OL,readProof:UL}),C1=t=>I1(t,{readPrincipal:$L,readProof:RL}),I1=(t,{readPrincipal:e,readProof:r})=>({iss:e(t.iss,"iss"),aud:e(t.aud,"aud"),att:TL(t.att,"att"),prf:D1(t.prf,r,"prf")||[],exp:ML(t.exp===1/0?null:t.exp,A1,"exp"),nbf:T1(t.nbf,A1,"nbf"),fct:D1(t.fct,LL,"fct")||[],nnc:T1(t.nnc,ac,"nnc")}),B1=t=>{if(t instanceof Uint8Array)return En(t);throw new TypeError(`Can only decode Uint8Array into a Signature, instead got ${JSON.stringify(t)}`)},A1=(t,e)=>Number.isInteger(t)?t:Wt.throw(`Expected ${e} to be integer, instead got ${JSON.stringify(t)}`),DL=(t,e)=>L1(t,CL,e),TL=(t,e)=>P1(t,DL,e),CL=t=>({...t,can:IL(t.can),with:BL(t.with)}),IL=t=>typeof t!="string"?Wt.throw(`Capability has invalid 'can: ${JSON.stringify(t)}', value must be a string`):t.slice(1,-1).includes("/")?t.toLocaleLowerCase():t==="*"?t:Wt.throw(`Capability has invalid 'can: "${t}"', value must have at least one path segment`),BL=t=>typeof t!="string"?Wt.throw(`Capability has invalid 'with: ${JSON.stringify(t)}', value must be a string`):PL(t)||Wt.throw(`Capability has invalid 'with: "${t}"', value must be a valid URI string`),PL=t=>{try{return new URL(t),t}catch{return null}},P1=(t,e,r)=>Array.isArray(t)?t.map((n,o)=>e(n,`${r}[${o}]`)):Wt.throw(`${r} must be an array`),D1=(t,e,r)=>t===void 0?t:P1(t,e,r),L1=(t,e,r)=>t!=null&&typeof t=="object"?e(t):Wt.throw(`${r} must be of type object, instead got ${t}`),LL=(t,e)=>L1(t,Object,e),UL=(t,e)=>Se(t)?t:uc(`Expected ${e} to be IPLD link, instead got ${JSON.stringify(t)}`),RL=(t,e)=>NL(ac(t,e)),NL=t=>{try{return br(t)}catch{return Fe(Ao,Eo.digest(wr(t)))}},OL=(t,e)=>oc(FL(t,e)),$L=(t,e)=>Ue(ac(t,e)),T1=(t,e,r="Field")=>t!==void 0?e(t,r):void 0,ML=(t,e,r)=>t===null?null:e(t,r),ac=(t,e="Field")=>typeof t=="string"?t:uc(`${e} has invalid value ${t}`),FL=(t,e)=>t instanceof Uint8Array?t:uc(`Expected ${e} to be Uint8Array, instead got ${JSON.stringify(t)}`),cc=(t,e)=>/\d+\.\d+\.\d+/.test(t)?t:Wt.throw(`Invalid version '${e}: ${JSON.stringify(t)}'`),U1=(t,e,r)=>t===e?e:Wt.throw(`Expected ${r} to be a ${JSON.stringify(e)} instead got ${JSON.stringify(t)}`),Wt=class extends TypeError{get name(){return"ParseError"}static throw(e){throw new this(e)}},uc=t=>Wt.throw(t);var ay=class extends Array{constructor(){super(),this.inRecursive=[]}prefix(e){let r=this.inRecursive[this.inRecursive.length-1];r&&(r.type===y.array&&(r.elements++,r.elements!==1&&e.push([44])),r.type===y.map&&(r.elements++,r.elements!==1&&(r.elements%2===1?e.push([44]):e.push([58]))))}[y.uint.major](e,r){this.prefix(e);let n=String(r.value),o=[];for(let s=0;s<n.length;s++)o[s]=n.charCodeAt(s);e.push(o)}[y.negint.major](e,r){this[y.uint.major](e,r)}[y.bytes.major](e,r){throw new Error(`${jr} unsupported type: Uint8Array`)}[y.string.major](e,r){this.prefix(e);let n=El(JSON.stringify(r.value));e.push(n.length>32?za(n):n)}[y.array.major](e,r){this.prefix(e),this.inRecursive.push({type:y.array,elements:0}),e.push([91])}[y.map.major](e,r){this.prefix(e),this.inRecursive.push({type:y.map,elements:0}),e.push([123])}[y.tag.major](e,r){}[y.float.major](e,r){if(r.type.name==="break"){let i=this.inRecursive.pop();if(i){if(i.type===y.array)e.push([93]);else if(i.type===y.map)e.push([125]);else throw new Error("Unexpected recursive type; this should not happen!");return}throw new Error("Unexpected break; this should not happen!")}if(r.value===void 0)throw new Error(`${jr} unsupported type: undefined`);if(this.prefix(e),r.type.name==="true"){e.push([116,114,117,101]);return}else if(r.type.name==="false"){e.push([102,97,108,115,101]);return}else if(r.type.name==="null"){e.push([110,117,108,108]);return}let n=String(r.value),o=[],s=!1;for(let i=0;i<n.length;i++)o[i]=n.charCodeAt(i),!s&&(o[i]===46||o[i]===101||o[i]===69)&&(s=!0);s||(o.push(46),o.push(48)),e.push(o)}};function jL(t,e){if(Array.isArray(t[0])||Array.isArray(e[0]))throw new Error(`${jr} complex map keys are not supported`);let r=t[0],n=e[0];if(r.type!==y.string||n.type!==y.string)throw new Error(`${jr} non-string map keys are not supported`);if(r<n)return-1;if(r>n)return 1;throw new Error(`${jr} unexpected duplicate map keys, this is not supported`)}var WL={addBreakTokens:!0,mapSorter:jL};function cy(t,e){return e=Object.assign({},WL,e),vm(t,new ay,e)}var pi=class{constructor(e,r={}){this.pos=0,this.data=e,this.options=r,this.modeStack=["value"],this.lastToken=""}done(){return this.pos>=this.data.length}ch(){return this.data[this.pos]}currentMode(){return this.modeStack[this.modeStack.length-1]}skipWhitespace(){let e=this.ch();for(;e===32||e===9||e===13||e===10;)e=this.data[++this.pos]}expect(e){if(this.data.length-this.pos<e.length)throw new Error(`${j} unexpected end of input at position ${this.pos}`);for(let r=0;r<e.length;r++)if(this.data[this.pos++]!==e[r])throw new Error(`${j} unexpected token at position ${this.pos}, expected to find '${String.fromCharCode(...e)}'`)}parseNumber(){let e=this.pos,r=!1,n=!1,o=a=>{for(;!this.done();){let c=this.ch();if(a.includes(c))this.pos++;else break}};if(this.ch()===45&&(r=!0,this.pos++),this.ch()===48)if(this.pos++,this.ch()===46)this.pos++,n=!0;else return new D(y.uint,0,this.pos-e);if(o([48,49,50,51,52,53,54,55,56,57]),r&&this.pos===e+1)throw new Error(`${j} unexpected token at position ${this.pos}`);if(!this.done()&&this.ch()===46){if(n)throw new Error(`${j} unexpected token at position ${this.pos}`);n=!0,this.pos++,o([48,49,50,51,52,53,54,55,56,57])}!this.done()&&(this.ch()===101||this.ch()===69)&&(n=!0,this.pos++,!this.done()&&(this.ch()===43||this.ch()===45)&&this.pos++,o([48,49,50,51,52,53,54,55,56,57]));let s=String.fromCharCode.apply(null,this.data.subarray(e,this.pos)),i=parseFloat(s);return n?new D(y.float,i,this.pos-e):this.options.allowBigInt!==!0||Number.isSafeInteger(i)?new D(i>=0?y.uint:y.negint,i,this.pos-e):new D(i>=0?y.uint:y.negint,BigInt(s),this.pos-e)}parseString(){if(this.ch()!==34)throw new Error(`${j} unexpected character at position ${this.pos}; this shouldn't happen`);this.pos++;for(let s=this.pos,i=0;s<this.data.length&&i<65536;s++,i++){let a=this.data[s];if(a===92||a<32||a>=128)break;if(a===34){let c=String.fromCharCode.apply(null,this.data.subarray(this.pos,s));return this.pos=s+1,new D(y.string,c,i)}}let e=this.pos,r=[],n=()=>{if(this.pos+4>=this.data.length)throw new Error(`${j} unexpected end of unicode escape sequence at position ${this.pos}`);let s=0;for(let i=0;i<4;i++){let a=this.ch();if(a>=48&&a<=57)a-=48;else if(a>=97&&a<=102)a=a-97+10;else if(a>=65&&a<=70)a=a-65+10;else throw new Error(`${j} unexpected unicode escape character at position ${this.pos}`);s=s*16+a,this.pos++}return s},o=()=>{let s=this.ch(),i=null,a=s>239?4:s>223?3:s>191?2:1;if(this.pos+a>this.data.length)throw new Error(`${j} unexpected unicode sequence at position ${this.pos}`);let c,u,l,d;switch(a){case 1:s<128&&(i=s);break;case 2:c=this.data[this.pos+1],(c&192)===128&&(d=(s&31)<<6|c&63,d>127&&(i=d));break;case 3:c=this.data[this.pos+1],u=this.data[this.pos+2],(c&192)===128&&(u&192)===128&&(d=(s&15)<<12|(c&63)<<6|u&63,d>2047&&(d<55296||d>57343)&&(i=d));break;case 4:c=this.data[this.pos+1],u=this.data[this.pos+2],l=this.data[this.pos+3],(c&192)===128&&(u&192)===128&&(l&192)===128&&(d=(s&15)<<18|(c&63)<<12|(u&63)<<6|l&63,d>65535&&d<1114112&&(i=d))}i===null?(i=65533,a=1):i>65535&&(i-=65536,r.push(i>>>10&1023|55296),i=56320|i&1023),r.push(i),this.pos+=a};for(;!this.done();){let s=this.ch(),i;switch(s){case 92:if(this.pos++,this.done())throw new Error(`${j} unexpected string termination at position ${this.pos}`);switch(i=this.ch(),this.pos++,i){case 34:case 39:case 92:case 47:r.push(i);break;case 98:r.push(8);break;case 116:r.push(9);break;case 110:r.push(10);break;case 102:r.push(12);break;case 114:r.push(13);break;case 117:r.push(n());break;default:throw new Error(`${j} unexpected string escape character at position ${this.pos}`)}break;case 34:return this.pos++,new D(y.string,ym(r),this.pos-e);default:if(s<32)throw new Error(`${j} invalid control character at position ${this.pos}`);s<128?(r.push(s),this.pos++):o()}}throw new Error(`${j} unexpected end of string at position ${this.pos}`)}parseValue(){switch(this.ch()){case 123:return this.modeStack.push("obj-start"),this.pos++,new D(y.map,1/0,1);case 91:return this.modeStack.push("array-start"),this.pos++,new D(y.array,1/0,1);case 34:return this.parseString();case 110:return this.expect([110,117,108,108]),new D(y.null,null,4);case 102:return this.expect([102,97,108,115,101]),new D(y.false,!1,5);case 116:return this.expect([116,114,117,101]),new D(y.true,!0,4);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.parseNumber();default:throw new Error(`${j} unexpected character at position ${this.pos}`)}}next(){switch(this.skipWhitespace(),this.currentMode()){case"value":return this.modeStack.pop(),this.parseValue();case"array-value":{if(this.modeStack.pop(),this.ch()===93)return this.pos++,this.skipWhitespace(),new D(y.break,void 0,1);if(this.ch()!==44)throw new Error(`${j} unexpected character at position ${this.pos}, was expecting array delimiter but found '${String.fromCharCode(this.ch())}'`);return this.pos++,this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue()}case"array-start":return this.modeStack.pop(),this.ch()===93?(this.pos++,this.skipWhitespace(),new D(y.break,void 0,1)):(this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue());case"obj-key":if(this.ch()===125)return this.modeStack.pop(),this.pos++,this.skipWhitespace(),new D(y.break,void 0,1);if(this.ch()!==44)throw new Error(`${j} unexpected character at position ${this.pos}, was expecting object delimiter but found '${String.fromCharCode(this.ch())}'`);this.pos++,this.skipWhitespace();case"obj-start":{if(this.modeStack.pop(),this.ch()===125)return this.pos++,this.skipWhitespace(),new D(y.break,void 0,1);let e=this.parseString();if(this.skipWhitespace(),this.ch()!==58)throw new Error(`${j} unexpected character at position ${this.pos}, was expecting key/value delimiter ':' but found '${String.fromCharCode(this.ch())}'`);return this.pos++,this.modeStack.push("obj-value"),e}case"obj-value":return this.modeStack.pop(),this.modeStack.push("obj-key"),this.skipWhitespace(),this.parseValue();default:throw new Error(`${j} unexpected parse state at position ${this.pos}; this shouldn't happen`)}}};function uy(t,e){return e=Object.assign({tokenizer:new pi(t,e)},e),Ka(t,e)}var To=({name:t,code:e,encode:r})=>new ly(t,e,r),ly=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?bo(this.code,r):r.then(n=>bo(this.code,n))}else throw Error("Unknown type, must be binary type")}};var dy=lt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),G9=lt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),K9=lt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Z9=lt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function VL(t){if(t.asCID!==t&&t["/"]!==t.bytes)return null;let e=ve.asCID(t);if(!e)return null;let r=e.toString();return[new D(y.map,1/0,1),new D(y.string,"/",1),new D(y.string,r,r.length),new D(y.break,void 0,1)]}function Fl(t){let e=dy.encode(t).slice(1);return[new D(y.map,1/0,1),new D(y.string,"/",1),new D(y.map,1/0,1),new D(y.string,"bytes",5),new D(y.string,e,e.length),new D(y.break,void 0,1),new D(y.break,void 0,1)]}function nr(t){return Fl(new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function GL(t){return Fl(new Uint8Array(t))}function KL(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function ZL(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}var JL={typeEncoders:{Object:VL,Buffer:Fl,Uint8Array:Fl,Int8Array:nr,Uint16Array:nr,Int16Array:nr,Uint32Array:nr,Int32Array:nr,Float32Array:nr,Float64Array:nr,Uint8ClampedArray:nr,BigInt64Array:nr,BigUint64Array:nr,DataView:nr,ArrayBuffer:GL,undefined:KL,number:ZL}},fy=class extends pi{constructor(e,r){super(e,r),this.tokenBuffer=[]}done(){return this.tokenBuffer.length===0&&super.done()}_next(){return this.tokenBuffer.length>0?this.tokenBuffer.pop():super.next()}next(){let e=this._next();if(e.type===y.map){let r=this._next();if(r.type===y.string&&r.value==="/"){let n=this._next();if(n.type===y.string){if(this._next().type!==y.break)throw new Error("Invalid encoded CID form");return this.tokenBuffer.push(n),new D(y.tag,42,0)}if(n.type===y.map){let o=this._next();if(o.type===y.string&&o.value==="bytes"){let s=this._next();if(s.type===y.string){for(let a=0;a<2;a++)if(this._next().type!==y.break)throw new Error("Invalid encoded Bytes form");let i=dy.decode(`m${s.value}`);return new D(y.bytes,i,s.value.length)}this.tokenBuffer.push(s)}this.tokenBuffer.push(o)}this.tokenBuffer.push(n)}this.tokenBuffer.push(r)}return e}},hy={allowIndefinite:!1,allowUndefined:!1,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};hy.tags[42]=ve.parse;var mi=t=>cy(t,JL),zl=t=>{let e=Object.assign(hy,{tokenizer:new fy(t,hy)});return uy(t,e)},jl=t=>QL.decode(mi(t));var QL=new TextDecoder,Wl=t=>zl(XL.encode(t)),XL=new TextEncoder;var py=t=>{let e=O1(t.v,t.s.algorithm),r=$1(t),n=YL(t.s);return`${e}.${r}.${n}`},N1=(t,e,r)=>`${O1(e,r)}.${$1(t)}`,O1=(t,e)=>gt.baseEncode(e6(t,e)),$1=t=>gt.baseEncode(t6(t)),YL=t=>gt.baseEncode(t.raw),e6=(t,e)=>mi({alg:e,ucv:t,typ:"JWT"}),t6=t=>mi({iss:_o(t.iss),aud:_o(t.aud),att:t.att,exp:t.exp,prf:t.prf.map(r6),...t.fct.length>0&&{fct:t.fct},...t.nnc&&{nnc:t.nnc},...t.nbf&&{nbf:t.nbf}}),r6=t=>t.toString();var n6=t=>JSON.parse(kn(mi(t))),yi=class{constructor(e){this.model=e}get version(){return this.model.v}get issuer(){return Ol(this.model.iss)}get audience(){return Ol(this.model.aud)}get capabilities(){return this.model.att}get expiration(){let{exp:e}=this.model;return e===null?1/0:e}get notBefore(){return this.model.nbf}get nonce(){return this.model.nnc}get facts(){return this.model.fct}get proofs(){return this.model.prf}get signature(){return this.model.s}get jwt(){return this.model.jwt}get s(){return this.model.s}get v(){return this.model.v}get iss(){return this.model.iss}get aud(){return this.model.aud}get att(){return this.model.att}get exp(){return this.model.exp}get nbf(){return this.model.nbf}get nnc(){return this.model.nnc}get fct(){return this.model.fct}get prf(){return this.model.prf}toJSON(){let{v:e,iss:r,aud:n,s:o,att:s,prf:i,exp:a,fct:c,nnc:u,nbf:l}=this.model;return{iss:r,aud:n,v:e,s:o,exp:a,...n6({att:s,prf:i,...c.length>0&&{fct:c}}),...u!=null&&{nnc:u},...l&&{nbf:l}}}};var my=Tt,M1=t=>new Hl(t),yy=t=>{let{fct:e,nnc:r,nbf:n,...o}=ic(t);return tr({...e.length>0&&{fct:e},...r!=null&&{nnc:r},...n&&{nbf:n},...o,v:cc(t.v,"v"),s:o6(t.s,"s")})},o6=(t,e)=>{try{return iy(t)}catch(r){throw new Error(`Expected signature ${e}, instead got ${JSON.stringify(t)}`,{cause:r})}},F1=t=>{let e=Ge(t);return new Hl({...ic(e),v:cc(e.v,"v"),s:B1(e.s)})};var Hl=class extends yi{get code(){return my}format(){return py(this.model)}encode(){return yy(this.model)}};var gy=t=>{let e=t.split("."),[r,n,o]=e.length===3?e:uc(`Can't parse UCAN: ${t}: Expected JWT format: 3 dot-separated base64url-encoded values.`),{ucv:s,alg:i}=i6(r);return{...a6(n),v:s,s:oy(i,gt.baseDecode(o))}},i6=t=>{let{ucv:e,alg:r,typ:n}=zl(gt.baseDecode(t));return{typ:U1(n,"JWT","typ"),ucv:cc(e,"ucv"),alg:ac(r,"alg")}},a6=t=>{let e=zl(gt.baseDecode(t));return C1(e)};var z1=t=>{let e=kn(t);return new wy({...gy(e),jwt:e})},by=({jwt:t})=>wr(t),j1=({jwt:t})=>t,wy=class extends yi{constructor(e){super(e),this.model=e}get code(){return Ao}format(){return j1(this.model)}encode(){return by(this.model)}};var xy={};F(xy,{sha256:()=>ue,sha512:()=>u6});var W1=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),ue=Vm({name:"sha2-256",code:18,encode:W1("SHA-256")}),u6=Vm({name:"sha2-512",code:19,encode:W1("SHA-512")});var l6="0.9.1";var d6=ue;var ql=t=>{try{return F1(t)}catch{return z1(t)}};var Vl=async(t,{hasher:e=d6}={})=>{let[r,n]=t.jwt?[Ao,by(t)]:[my,yy(t)],o=await e.digest(n);return{bytes:n,cid:Fe(r,o),data:t}};var gi=async({issuer:t,audience:e,capabilities:r,lifetimeInSeconds:n=30,expiration:o=h6()+n,notBefore:s,facts:i=[],proofs:a=[],nonce:c})=>{let u=l6,l=ic({iss:Ue(t.did()),aud:Ue(e.did()),att:r,fct:i,exp:o,nbf:s,prf:a,nnc:c}),d=f6(l,u,t.signatureAlgorithm);return M1({...l,v:u,s:await t.sign(d)})},f6=(t,e,r)=>wr(N1(t,e,r));var h6=()=>Math.floor(Date.now()/1e3);var xr={};F(xr,{code:()=>Tt,contentType:()=>m6,decode:()=>Ge,encode:()=>Io,link:()=>H1,name:()=>ec,write:()=>ky});var m6="application/vnd.ipld.dag-cbor",Gl=(t,e)=>{if(e.has(t))throw new TypeError("Can not encode circular structure");if(t===void 0&&e.size===0||t===null||typeof t=="symbol"&&e.size===0)return null;if(Se(t)||ArrayBuffer.isView(t))return t;if(Array.isArray(t)){e.add(t);let r=[];for(let n of t)r.push(n===void 0||typeof n=="symbol"?null:Gl(n,e));return r}if(typeof t.toJSON=="function"){e.add(t);let r=t.toJSON();return Gl(r,e)}if(typeof t=="object"){e.add(t);let r={};for(let[n,o]of Object.entries(t))o!==void 0&&typeof o!="symbol"&&(r[n]=Gl(o,e));return r}return t},Io=t=>tr(Gl(t,new Set)),H1=async(t,{hasher:e=ue}={})=>Fe(Tt,await e.digest(t)),ky=async(t,e)=>{let r=Io(t);return{cid:await H1(r,e),bytes:r}};var Bo=function*(t){t&&typeof t=="object"&&"iterateIPLDBlocks"in t&&typeof t.iterateIPLDBlocks=="function"&&(yield*t.iterateIPLDBlocks())},q1=(t=[])=>{let e=new Map;return Zl(t,e),e},y6=Eo.code,_n=(t,e,r)=>{if(t.multihash.code===y6)return{cid:t,bytes:t.multihash.digest};let n=e.get(`${t}`);return n||(r===void 0?qr(t):r)};var qr=t=>{throw new Error(`Block for the ${t} is not found`)},Kl=async(t,e,r={})=>{let n=r.codec||xr,o=r.hasher||ue,s=n.encode(t),i=await o.digest(s),a=Fe(n.code,i);return e.set(a.toString(),{bytes:s,cid:a}),{bytes:s,cid:a,data:t}},g6=({cid:t,bytes:e},r)=>(r.set(t.toString(),{bytes:e,cid:t}),{bytes:e,cid:t}),Zl=(t,e)=>{for(let r of t)g6(r,e)};var Re={};F(Re,{code:()=>uE,contentType:()=>d3,createWriter:()=>h3,decode:()=>mc,encode:()=>hd,link:()=>lE,name:()=>f3,write:()=>p3});var An={Null:t=>t===null,Int:t=>Number.isInteger(t),Float:t=>typeof t=="number"&&Number.isFinite(t),String:t=>typeof t=="string",Bool:t=>typeof t=="boolean",Bytes:t=>t instanceof Uint8Array,Link:t=>!An.Null(t)&&typeof t=="object"&&t.asCID===t,List:t=>Array.isArray(t),Map:t=>!An.Null(t)&&typeof t=="object"&&t.asCID!==t&&!An.List(t)&&!An.Bytes(t)},bi={Int:An.Int,"CarHeader > version":t=>bi.Int(t),"CarHeader > roots (anon) > valueType (anon)":An.Link,"CarHeader > roots (anon)":t=>An.List(t)&&Array.prototype.every.call(t,bi["CarHeader > roots (anon) > valueType (anon)"]),"CarHeader > roots":t=>bi["CarHeader > roots (anon)"](t),CarHeader:t=>{let e=t&&Object.keys(t);return An.Map(t)&&["version"].every(r=>e.includes(r))&&Object.entries(t).every(([r,n])=>bi["CarHeader > "+r]&&bi["CarHeader > "+r](n))}},Jl=bi.CarHeader;var Dn=De(Ql(),1),Tn={SHA2_256:18,LENGTH:32,DAG_PB:112},Xl=16+8+8+8;function kr(t,e){if(!t.length)throw new Error("Unexpected end of data");let r=Dn.default.decode(t);return e.seek(Dn.default.decode.bytes),r}function Yl(t){let e=new DataView(t.buffer,t.byteOffset,t.byteLength),r=0;return{version:2,characteristics:[e.getBigUint64(r,!0),e.getBigUint64(r+=8,!0)],dataOffset:Number(e.getBigUint64(r+=8,!0)),dataSize:Number(e.getBigUint64(r+=8,!0)),indexOffset:Number(e.getBigUint64(r+=8,!0))}}function ed(t){Dn.default.decode(t);let e=Dn.default.decode.bytes,r=Dn.default.decode(t.subarray(Dn.default.decode.bytes)),n=Dn.default.decode.bytes;return e+n+r}function tS(t,e){let r=kr(t.upTo(8),t);if(r===0)throw new Error("Invalid CAR header (zero length)");let n=t.exactly(r,!0),o=Ge(n);if(!Jl(o))throw new Error("Invalid CAR header format");if(o.version!==1&&o.version!==2||e!==void 0&&o.version!==e)throw new Error(`Invalid CAR version: ${o.version}${e!==void 0?` (expected ${e})`:""}`);let s=Array.isArray(o.roots);if(o.version===1&&!s||o.version===2&&s)throw new Error("Invalid CAR header format");if(o.version===1)return o;let i=Yl(t.exactly(Xl,!0));t.seek(i.dataOffset-t.pos);let a=tS(t,1);return Object.assign(a,i)}function B6(t){let e=t.exactly(2,!1);if(e[0]===Tn.SHA2_256&&e[1]===Tn.LENGTH){let i=t.exactly(34,!0),a=vn(i);return se.create(0,Tn.DAG_PB,a)}let r=kr(t.upTo(8),t);if(r!==1)throw new Error(`Unexpected CID version (${r})`);let n=kr(t.upTo(8),t),o=t.exactly(ed(t.upTo(8)),!0),s=vn(o);return se.create(r,n,s)}function P6(t){let e=t.pos,r=kr(t.upTo(8),t);if(r===0)throw new Error("Invalid CAR section (zero length)");r+=t.pos-e;let n=B6(t),o=r-Number(t.pos-e);return{cid:n,length:r,blockLength:o}}function rS(t){let e=L6(t),r=tS(e);if(r.version===2){let o=e.pos-r.dataOffset;e=U6(e,r.dataSize-o)}let n=[];for(;e.upTo(8).length>0;){let{cid:o,blockLength:s}=P6(e);n.push({cid:o,bytes:e.exactly(s,!0)})}return{header:r,blocks:n}}function L6(t){let e=0;return{upTo(r){return t.subarray(e,e+Math.min(r,t.length-e))},exactly(r,n=!1){if(r>t.length-e)throw new Error("Unexpected end of data");let o=t.subarray(e,e+r);return n&&(e+=r),o},seek(r){e+=r},get pos(){return e}}}function U6(t,e){let r=0;return{upTo(n){let o=t.upTo(n);return o.length+r>e&&(o=o.subarray(0,e-r)),o},exactly(n,o=!1){let s=t.exactly(n,o);if(s.length+r>e)throw new Error("Unexpected end of data");return o&&(r+=n),s},seek(n){r+=n,t.seek(n)},get pos(){return t.pos}}}var Vr=class t{constructor(e,r){this._header=e,this._blocks=r,this._cids=void 0}get version(){return this._header.version}getRoots(){return this._header.roots}has(e){return this._blocks.some(r=>r.cid.equals(e))}get(e){return this._blocks.find(r=>r.cid.equals(e))}blocks(){return this._blocks}cids(){return this._cids||(this._cids=this._blocks.map(e=>e.cid)),this._cids}static fromBytes(e){if(!(e instanceof Uint8Array))throw new TypeError("fromBytes() requires a Uint8Array");let{header:r,blocks:n}=rS(e);return new t(r,n)}};var hc=De(Ql(),1);var N6=["string","number","bigint","symbol"],O6=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function nS(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(N6.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if($6(t))return"Buffer";let r=M6(t);return r||"Object"}function $6(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function M6(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(O6.includes(e))return e}var S=class{constructor(e,r,n){this.major=e,this.majorEncoded=e<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};S.uint=new S(0,"uint",!0);S.negint=new S(1,"negint",!0);S.bytes=new S(2,"bytes",!0);S.string=new S(3,"string",!0);S.array=new S(4,"array",!1);S.map=new S(5,"map",!1);S.tag=new S(6,"tag",!1);S.float=new S(7,"float",!0);S.false=new S(7,"false",!0);S.true=new S(7,"true",!0);S.null=new S(7,"null",!0);S.undefined=new S(7,"undefined",!0);S.break=new S(7,"break",!0);var N=class{constructor(e,r,n){this.type=e,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var xi=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",F6=new TextDecoder,z6=new TextEncoder;function td(t){return xi&&globalThis.Buffer.isBuffer(t)}function aS(t){return t instanceof Uint8Array?td(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var cS=xi?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):sS(t,e,r):(t,e,r)=>r-e>64?F6.decode(t.subarray(e,r)):sS(t,e,r),uS=xi?t=>t.length>64?globalThis.Buffer.from(t):oS(t):t=>t.length>64?z6.encode(t):oS(t),vr=t=>Uint8Array.from(t),ki=xi?(t,e,r)=>td(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),lS=xi?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),aS(globalThis.Buffer.concat(t,e))):(t,e)=>{let r=new Uint8Array(e),n=0;for(let o of t)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},dS=xi?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function fS(t,e){if(td(t)&&td(e))return t.compare(e);for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]<e[r]?-1:1;return 0}function oS(t,e=1/0){let r,n=t.length,o=null,s=[];for(let i=0;i<n;++i){if(r=t.charCodeAt(i),r>55295&&r<57344){if(!o){if(r>56319){(e-=3)>-1&&s.push(239,191,189);continue}else if(i+1===n){(e-=3)>-1&&s.push(239,191,189);continue}o=r;continue}if(r<56320){(e-=3)>-1&&s.push(239,191,189),o=r;continue}r=(o-55296<<10|r-56320)+65536}else o&&(e-=3)>-1&&s.push(239,191,189);if(o=null,r<128){if((e-=1)<0)break;s.push(r)}else if(r<2048){if((e-=2)<0)break;s.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;s.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return s}function sS(t,e,r){let n=[];for(;e<r;){let o=t[e],s=null,i=o>239?4:o>223?3:o>191?2:1;if(e+i<=r){let a,c,u,l;switch(i){case 1:o<128&&(s=o);break;case 2:a=t[e+1],(a&192)===128&&(l=(o&31)<<6|a&63,l>127&&(s=l));break;case 3:a=t[e+1],c=t[e+2],(a&192)===128&&(c&192)===128&&(l=(o&15)<<12|(a&63)<<6|c&63,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:a=t[e+1],c=t[e+2],u=t[e+3],(a&192)===128&&(c&192)===128&&(u&192)===128&&(l=(o&15)<<18|(a&63)<<12|(c&63)<<6|u&63,l>65535&&l<1114112&&(s=l))}}s===null?(s=65533,i=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),e+=i}return j6(n)}var iS=4096;function j6(t){let e=t.length;if(e<=iS)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=iS));return r}var W6=256,rd=class{constructor(e=W6){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 r=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(e,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(r=dS(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=ki(n,0,this.cursor)}else r=lS(this.chunks,this.cursor);return e&&this.reset(),r}};var we="CBOR decode error:",Ey="CBOR encode error:",lc=[];lc[23]=1;lc[24]=2;lc[25]=3;lc[26]=5;lc[27]=9;function Gr(t,e,r){if(t.length-e<r)throw new Error(`${we} not enough data for type`)}var Je=[24,256,65536,4294967296,BigInt("18446744073709551616")];function Ct(t,e,r){Gr(t,e,1);let n=t[e];if(r.strict===!0&&n<Je[0])throw new Error(`${we} integer encoded in more bytes than necessary (strict decode)`);return n}function It(t,e,r){Gr(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<Je[1])throw new Error(`${we} integer encoded in more bytes than necessary (strict decode)`);return n}function Bt(t,e,r){Gr(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<Je[2])throw new Error(`${we} integer encoded in more bytes than necessary (strict decode)`);return n}function Pt(t,e,r){Gr(t,e,8);let n=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],s=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&s<Je[3])throw new Error(`${we} integer encoded in more bytes than necessary (strict decode)`);if(s<=Number.MAX_SAFE_INTEGER)return Number(s);if(r.allowBigInt===!0)return s;throw new Error(`${we} integers outside of the safe integer range are not supported`)}function hS(t,e,r,n){return new N(S.uint,Ct(t,e+1,n),2)}function pS(t,e,r,n){return new N(S.uint,It(t,e+1,n),3)}function mS(t,e,r,n){return new N(S.uint,Bt(t,e+1,n),5)}function yS(t,e,r,n){return new N(S.uint,Pt(t,e+1,n),9)}function Ht(t,e){return tt(t,0,e.value)}function tt(t,e,r){if(r<Je[0]){let n=Number(r);t.push([e|n])}else if(r<Je[1]){let n=Number(r);t.push([e|24,n])}else if(r<Je[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<Je[3]){let n=Number(r);t.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<Je[4]){let o=[e|27,0,0,0,0,0,0,0],s=Number(n&BigInt(4294967295)),i=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=s&255,s=s>>8,o[7]=s&255,s=s>>8,o[6]=s&255,s=s>>8,o[5]=s&255,o[4]=i&255,i=i>>8,o[3]=i&255,i=i>>8,o[2]=i&255,i=i>>8,o[1]=i&255,t.push(o)}else throw new Error(`${we} encountered BigInt larger than allowable range`)}}Ht.encodedSize=function(e){return tt.encodedSize(e.value)};tt.encodedSize=function(e){return e<Je[0]?1:e<Je[1]?2:e<Je[2]?3:e<Je[3]?5:9};Ht.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function gS(t,e,r,n){return new N(S.negint,-1-Ct(t,e+1,n),2)}function wS(t,e,r,n){return new N(S.negint,-1-It(t,e+1,n),3)}function bS(t,e,r,n){return new N(S.negint,-1-Bt(t,e+1,n),5)}var _y=BigInt(-1),xS=BigInt(1);function kS(t,e,r,n){let o=Pt(t,e+1,n);if(typeof o!="bigint"){let s=-1-o;if(s>=Number.MIN_SAFE_INTEGER)return new N(S.negint,s,9)}if(n.allowBigInt!==!0)throw new Error(`${we} integers outside of the safe integer range are not supported`);return new N(S.negint,_y-BigInt(o),9)}function nd(t,e){let r=e.value,n=typeof r=="bigint"?r*_y-xS:r*-1-1;tt(t,e.type.majorEncoded,n)}nd.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*_y-xS:r*-1-1;return n<Je[0]?1:n<Je[1]?2:n<Je[2]?3:n<Je[3]?5:9};nd.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function dc(t,e,r,n){Gr(t,e,r+n);let o=ki(t,e+r,e+r+n);return new N(S.bytes,o,r+n)}function vS(t,e,r,n){return dc(t,e,1,r)}function SS(t,e,r,n){return dc(t,e,2,Ct(t,e+1,n))}function ES(t,e,r,n){return dc(t,e,3,It(t,e+1,n))}function _S(t,e,r,n){return dc(t,e,5,Bt(t,e+1,n))}function AS(t,e,r,n){let o=Pt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${we} 64-bit integer bytes lengths not supported`);return dc(t,e,9,o)}function od(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===S.string?uS(t.value):t.value),t.encodedBytes}function vi(t,e){let r=od(e);tt(t,e.type.majorEncoded,r.length),t.push(r)}vi.encodedSize=function(e){let r=od(e);return tt.encodedSize(r.length)+r.length};vi.compareTokens=function(e,r){return q6(od(e),od(r))};function q6(t,e){return t.length<e.length?-1:t.length>e.length?1:fS(t,e)}function fc(t,e,r,n,o){let s=r+n;Gr(t,e,s);let i=new N(S.string,cS(t,e+r,e+s),s);return o.retainStringBytes===!0&&(i.byteValue=ki(t,e+r,e+s)),i}function DS(t,e,r,n){return fc(t,e,1,r,n)}function TS(t,e,r,n){return fc(t,e,2,Ct(t,e+1,n),n)}function CS(t,e,r,n){return fc(t,e,3,It(t,e+1,n),n)}function IS(t,e,r,n){return fc(t,e,5,Bt(t,e+1,n),n)}function BS(t,e,r,n){let o=Pt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${we} 64-bit integer string lengths not supported`);return fc(t,e,9,o,n)}var PS=vi;function Si(t,e,r,n){return new N(S.array,n,r)}function LS(t,e,r,n){return Si(t,e,1,r)}function US(t,e,r,n){return Si(t,e,2,Ct(t,e+1,n))}function RS(t,e,r,n){return Si(t,e,3,It(t,e+1,n))}function NS(t,e,r,n){return Si(t,e,5,Bt(t,e+1,n))}function OS(t,e,r,n){let o=Pt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${we} 64-bit integer array lengths not supported`);return Si(t,e,9,o)}function $S(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${we} indefinite length items not allowed`);return Si(t,e,1,1/0)}function sd(t,e){tt(t,S.array.majorEncoded,e.value)}sd.compareTokens=Ht.compareTokens;sd.encodedSize=function(e){return tt.encodedSize(e.value)};function Ei(t,e,r,n){return new N(S.map,n,r)}function MS(t,e,r,n){return Ei(t,e,1,r)}function FS(t,e,r,n){return Ei(t,e,2,Ct(t,e+1,n))}function zS(t,e,r,n){return Ei(t,e,3,It(t,e+1,n))}function jS(t,e,r,n){return Ei(t,e,5,Bt(t,e+1,n))}function WS(t,e,r,n){let o=Pt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${we} 64-bit integer map lengths not supported`);return Ei(t,e,9,o)}function HS(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${we} indefinite length items not allowed`);return Ei(t,e,1,1/0)}function id(t,e){tt(t,S.map.majorEncoded,e.value)}id.compareTokens=Ht.compareTokens;id.encodedSize=function(e){return tt.encodedSize(e.value)};function qS(t,e,r,n){return new N(S.tag,r,1)}function VS(t,e,r,n){return new N(S.tag,Ct(t,e+1,n),2)}function GS(t,e,r,n){return new N(S.tag,It(t,e+1,n),3)}function KS(t,e,r,n){return new N(S.tag,Bt(t,e+1,n),5)}function ZS(t,e,r,n){return new N(S.tag,Pt(t,e+1,n),9)}function ad(t,e){tt(t,S.tag.majorEncoded,e.value)}ad.compareTokens=Ht.compareTokens;ad.encodedSize=function(e){return tt.encodedSize(e.value)};var Q6=20,X6=21,Y6=22,e3=23;function JS(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${we} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new N(S.null,null,1):new N(S.undefined,void 0,1)}function QS(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${we} indefinite length items not allowed`);return new N(S.break,void 0,1)}function Ay(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${we} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${we} Infinity values are not supported`)}return new N(S.float,t,e)}function XS(t,e,r,n){return Ay(Dy(t,e+1),3,n)}function YS(t,e,r,n){return Ay(Ty(t,e+1),5,n)}function eE(t,e,r,n){return Ay(oE(t,e+1),9,n)}function cd(t,e,r){let n=e.value;if(n===!1)t.push([S.float.majorEncoded|Q6]);else if(n===!0)t.push([S.float.majorEncoded|X6]);else if(n===null)t.push([S.float.majorEncoded|Y6]);else if(n===void 0)t.push([S.float.majorEncoded|e3]);else{let o,s=!1;(!r||r.float64!==!0)&&(rE(n),o=Dy(or,1),n===o||Number.isNaN(n)?(or[0]=249,t.push(or.slice(0,3)),s=!0):(nE(n),o=Ty(or,1),n===o&&(or[0]=250,t.push(or.slice(0,5)),s=!0))),s||(t3(n),o=oE(or,1),or[0]=251,t.push(or.slice(0,9)))}}cd.encodedSize=function(e,r){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){rE(n);let o=Dy(or,1);if(n===o||Number.isNaN(n))return 3;if(nE(n),o=Ty(or,1),n===o)return 5}return 9};var tE=new ArrayBuffer(9),qt=new DataView(tE,1),or=new Uint8Array(tE,0);function rE(t){if(t===1/0)qt.setUint16(0,31744,!1);else if(t===-1/0)qt.setUint16(0,64512,!1);else if(Number.isNaN(t))qt.setUint16(0,32256,!1);else{qt.setFloat32(0,t);let e=qt.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)qt.setUint16(0,31744,!1);else if(r===0)qt.setUint16(0,(t&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?qt.setUint16(0,0):o<-14?qt.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):qt.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function Dy(t,e){if(t.length-e<2)throw new Error(`${we} not enough data for float16`);let r=(t[e]<<8)+t[e+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,s;return n===0?s=o*2**-24:n!==31?s=(o+1024)*2**(n-25):s=o===0?1/0:NaN,r&32768?-s:s}function nE(t){qt.setFloat32(0,t,!1)}function Ty(t,e){if(t.length-e<4)throw new Error(`${we} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function t3(t){qt.setFloat64(0,t,!1)}function oE(t,e){if(t.length-e<8)throw new Error(`${we} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}cd.compareTokens=Ht.compareTokens;function be(t,e,r){throw new Error(`${we} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function ud(t){return()=>{throw new Error(`${we} ${t}`)}}var R=[];for(let t=0;t<=23;t++)R[t]=be;R[24]=hS;R[25]=pS;R[26]=mS;R[27]=yS;R[28]=be;R[29]=be;R[30]=be;R[31]=be;for(let t=32;t<=55;t++)R[t]=be;R[56]=gS;R[57]=wS;R[58]=bS;R[59]=kS;R[60]=be;R[61]=be;R[62]=be;R[63]=be;for(let t=64;t<=87;t++)R[t]=vS;R[88]=SS;R[89]=ES;R[90]=_S;R[91]=AS;R[92]=be;R[93]=be;R[94]=be;R[95]=ud("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)R[t]=DS;R[120]=TS;R[121]=CS;R[122]=IS;R[123]=BS;R[124]=be;R[125]=be;R[126]=be;R[127]=ud("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)R[t]=LS;R[152]=US;R[153]=RS;R[154]=NS;R[155]=OS;R[156]=be;R[157]=be;R[158]=be;R[159]=$S;for(let t=160;t<=183;t++)R[t]=MS;R[184]=FS;R[185]=zS;R[186]=jS;R[187]=WS;R[188]=be;R[189]=be;R[190]=be;R[191]=HS;for(let t=192;t<=215;t++)R[t]=qS;R[216]=VS;R[217]=GS;R[218]=KS;R[219]=ZS;R[220]=be;R[221]=be;R[222]=be;R[223]=be;for(let t=224;t<=243;t++)R[t]=ud("simple values are not supported");R[244]=be;R[245]=be;R[246]=be;R[247]=JS;R[248]=ud("simple values are not supported");R[249]=XS;R[250]=YS;R[251]=eE;R[252]=be;R[253]=be;R[254]=be;R[255]=QS;var Sr=[];for(let t=0;t<24;t++)Sr[t]=new N(S.uint,t,1);for(let t=-1;t>=-24;t--)Sr[31-t]=new N(S.negint,t,1);Sr[64]=new N(S.bytes,new Uint8Array(0),1);Sr[96]=new N(S.string,"",1);Sr[128]=new N(S.array,0,1);Sr[160]=new N(S.map,0,1);Sr[244]=new N(S.false,!1,1);Sr[245]=new N(S.true,!0,1);Sr[246]=new N(S.null,null,1);function Cy(t){switch(t.type){case S.false:return vr([244]);case S.true:return vr([245]);case S.null:return vr([246]);case S.bytes:return t.value.length?void 0:vr([64]);case S.string:return t.value===""?vr([96]):void 0;case S.array:return t.value===0?vr([128]):void 0;case S.map:return t.value===0?vr([160]):void 0;case S.uint:return t.value<24?vr([Number(t.value)]):void 0;case S.negint:if(t.value>=-24)return vr([31-Number(t.value)])}}function Iy(){let t=[];return t[S.uint.major]=Ht,t[S.negint.major]=nd,t[S.bytes.major]=vi,t[S.string.major]=PS,t[S.array.major]=sd,t[S.map.major]=id,t[S.tag.major]=ad,t[S.float.major]=cd,t}var UH=Iy(),RH=new rd,dd=class t{constructor(e,r){this.obj=e,this.parent=r}includes(e){let r=this;do if(r.obj===e)return!0;while(r=r.parent);return!1}static createCheck(e,r){if(e&&e.includes(r))throw new Error(`${Ey} object contains circular references`);return new t(r,e)}},Cn={null:new N(S.null,null),undefined:new N(S.undefined,void 0),true:new N(S.true,!0),false:new N(S.false,!1),emptyArray:new N(S.array,0),emptyMap:new N(S.map,0)},In={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new N(S.float,t):t>=0?new N(S.uint,t):new N(S.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new N(S.uint,t):new N(S.negint,t)},Uint8Array(t,e,r,n){return new N(S.bytes,t)},string(t,e,r,n){return new N(S.string,t)},boolean(t,e,r,n){return t?Cn.true:Cn.false},null(t,e,r,n){return Cn.null},undefined(t,e,r,n){return Cn.undefined},ArrayBuffer(t,e,r,n){return new N(S.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new N(S.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[Cn.emptyArray,new N(S.break)]:Cn.emptyArray;n=dd.createCheck(n,t);let o=[],s=0;for(let i of t)o[s++]=ld(i,r,n);return r.addBreakTokens?[new N(S.array,t.length),o,new N(S.break)]:[new N(S.array,t.length),o]},Object(t,e,r,n){let o=e!=="Object",s=o?t.keys():Object.keys(t),i=o?t.size:s.length;if(!i)return r.addBreakTokens===!0?[Cn.emptyMap,new N(S.break)]:Cn.emptyMap;n=dd.createCheck(n,t);let a=[],c=0;for(let u of s)a[c++]=[ld(u,r,n),ld(o?t.get(u):t[u],r,n)];return n3(a,r),r.addBreakTokens?[new N(S.map,i),a,new N(S.break)]:[new N(S.map,i),a]}};In.Map=In.Object;In.Buffer=In.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))In[`${t}Array`]=In.DataView;function ld(t,e={},r){let n=nS(t),o=e&&e.typeEncoders&&e.typeEncoders[n]||In[n];if(typeof o=="function"){let i=o(t,n,e,r);if(i!=null)return i}let s=In[n];if(!s)throw new Error(`${Ey} unsupported type: ${n}`);return s(t,n,e,r)}function n3(t,e){e.mapSorter&&t.sort(e.mapSorter)}var FH=Symbol.for("DONE"),zH=Symbol.for("BREAK");var o3=Iy(),s3={float64:!1,quickEncodeToken:Cy};function By(t,e=o3,r=s3){if(Array.isArray(t)){let n=0;for(let o of t)n+=By(o,e,r);return n}else{let n=e[t.type.major];if(n.encodedSize===void 0||typeof n.encodedSize!="function")throw new Error(`Encoder for ${t.type.name} does not have an encodedSize()`);return n.encodedSize(t,r)}}var Ly=class{constructor(e,r){this.bytes=e,this.byteOffset=r,this.roots=[],this.headerSize=r}addRoot(e,r){return i3(this,e,r),this}write(e){return a3(this,e),this}close(e){return c3(this,e)}},i3=(t,e,r={})=>{let{resize:n=!1}=r,{bytes:o,headerSize:s,byteOffset:i,roots:a}=t;t.roots.push(e);let c=Bn(t);if(c>s)if(c-s+i<o.byteLength)if(n)iE(t,c);else throw a.pop(),new RangeError(`Header of size ${s} has no capacity for new root ${e}.
|
3
|
-
However there is a space in the buffer and you could call addRoot(root, { resize: root }) to resize header to make a space for this root.`);else throw a.pop(),new RangeError(`Buffer has no capacity for a new root ${e}`)},Er=({cid:t,bytes:e})=>{let r=t.bytes.byteLength+e.byteLength;return hc.default.encodingLength(r)+r},a3=(t,{cid:e,bytes:r})=>{let n=e.bytes.byteLength+r.byteLength,o=hc.default.encode(n);if(t.byteOffset+o.length+n>t.bytes.byteLength)throw new RangeError("Buffer has no capacity for this block");Py(t,o),Py(t,e.bytes),Py(t,r)},c3=(t,e={})=>{let{resize:r=!1}=e,{roots:n,bytes:o,byteOffset:s,headerSize:i}=t,a=tr({version:1,roots:n}),c=hc.default.encode(a.length),u=c.length+a.byteLength;if(i-u===0)return sE(t,c,a),o.subarray(0,s);if(r)return iE(t,u),sE(t,c,a),o.subarray(0,t.byteOffset);throw new RangeError(`Header size was overestimated.
|
4
|
-
You can use close({ resize: true }) to resize header`)},iE=(t,e)=>{let{bytes:r,headerSize:n}=t;r.set(r.subarray(n,t.byteOffset),e),t.byteOffset+=e-n,t.headerSize=e},Py=(t,e)=>{t.bytes.set(e,t.byteOffset),t.byteOffset+=e.length},sE=({bytes:t},e,r)=>{t.set(e),t.set(r,e.length)},u3=[new N(S.map,2),new N(S.string,"version"),new N(S.uint,1),new N(S.string,"roots")],l3=new N(S.tag,42),aE=t=>{let e=[...u3];e.push(new N(S.array,t.length));for(let n of t)e.push(l3),e.push(new N(S.bytes,{length:n+1}));let r=By(e);return hc.default.encodingLength(r)+r},Bn=({roots:t})=>aE(t.map(e=>e.bytes.byteLength)),cE=(t,e=36)=>aE(new Array(t).fill(e)),Pn=(t,e={})=>{let{roots:r=[],byteOffset:n=0,byteLength:o=t.byteLength,headerSize:s=Bn({roots:r})}=e,i=new Uint8Array(t,n,o),a=new Ly(i,s);for(let c of r)a.addRoot(c);return a};var d3="application/vnd.ipld.car",f3="CAR",uE=514,fd=class{constructor(e=[],r=0){this.written=new Set,this.blocks=e,this.byteLength=r}write(...e){for(let r of e){let n=r.cid.toString(Ve);this.written.has(n)||(this.blocks.push(r),this.byteLength+=Er(r),this.written.add(n))}return this}flush(...e){let r=[];for(let s of e.reverse()){let i=s.cid.toString(Ve);this.written.has(i)||(this.blocks.unshift(s),this.byteLength+=Er({cid:s.cid,bytes:s.bytes}),this.written.add(i)),r.unshift(s.cid)}this.byteLength+=Bn({roots:r});let n=new ArrayBuffer(this.byteLength),o=Pn(n,{roots:r});for(let s of this.blocks)o.write(s);return o.close()}},h3=()=>new fd,hd=({roots:t=[],blocks:e})=>{let r=new fd;return e&&r.write(...e.values()),r.flush(...t)},mc=t=>{let e=Vr.fromBytes(t),r=[],n=new Map;for(let o of e.getRoots()){let s=e.get(o);s&&r.push(s)}for(let o of e.blocks())n.set(o.cid.toString(),o);return{roots:r,blocks:n}},lE=async(t,{hasher:e=ue}={})=>Fe(uE,await e.digest(t)),p3=async(t,e)=>{let r=hd(t),n=await lE(r,e);return{bytes:r,cid:n}};var x={};F(x,{API:()=>le,Bytes:()=>xE,DID:()=>ee,Link:()=>pe,Text:()=>gg,URI:()=>V,and:()=>gE,array:()=>pE,boolean:()=>k3,bytes:()=>P3,dictionary:()=>dg,did:()=>Ad,endsWith:()=>vE,enum:()=>w3,error:()=>Ae,float:()=>I3,greaterThan:()=>bE,integer:()=>_3,intersection:()=>yE,lessThan:()=>wE,link:()=>Jr,literal:()=>gd,memberError:()=>Lo,never:()=>m3,nullable:()=>hE,number:()=>v3,ok:()=>C,optional:()=>bd,or:()=>mE,refine:()=>SE,startsWith:()=>kE,string:()=>Zr,struct:()=>Ne,text:()=>Dd,toString:()=>yc,tuple:()=>g3,typeError:()=>rt,uint64:()=>D3,unknown:()=>y3,uri:()=>pg,variant:()=>gc});var V={};F(V,{from:()=>N3,match:()=>pg,read:()=>R3,uri:()=>U3});var C=t=>{if(t==null)throw new TypeError(`ok(${t}) is not allowed, consider ok({}) instead`);return{ok:t}},pd=t=>{if(t==null)throw new TypeError(`error(${t}) is not allowed, consider passing an error instead`);return{error:t}},dE=t=>{throw new Vt(t)},ie=t=>({error:new Vt(t)}),Vt=class extends Error{describe(){return this.toString()}get message(){return this.describe()}toJSON(){let{name:e,message:r,stack:n}=this;return{name:e,message:r,stack:n}}};var le=class{constructor(e){this.settings=e}toString(){return`new ${this.constructor.name}()`}readWith(e,r){throw new Error("Abstract method readWith must be implemented by subclass")}read(e){return this.readWith(e,this.settings)}is(e){return!this.read(e)?.error}from(e){let r=this.read(e);if(r.error)throw r.error;return r.ok}optional(){return bd(this)}nullable(){return hE(this)}array(){return pE(this)}or(e){return mE(this,e)}and(e){return gE(this,e)}refine(e){return SE(this,e)}brand(e){return this}default(e){let r=this.from(e);if(r===void 0)throw new Error("Value of type undefined is not a valid default");return new $y({reader:this,value:r})}},Uy=class extends le{toString(){return"never()"}read(e){return rt({expect:"never",actual:e})}},m3=()=>new Uy,Ry=class extends le{read(e){return{ok:e}}toString(){return"unknown()"}},y3=()=>new Ry,Ny=class extends le{readWith(e,r){let n=r.read(e);return n.error?e===null?{ok:null}:{error:new wd({causes:[n.error,rt({expect:"null",actual:e}).error]})}:n}toString(){return`${this.settings}.nullable()`}},hE=t=>new Ny(t),Oy=class extends le{optional(){return this}readWith(e,r){let n=r.read(e);return n.error&&e===void 0?{ok:void 0}:n}toString(){return`${this.settings}.optional()`}},$y=class extends le{optional(){return this}readWith(e,{reader:r,value:n}){if(e===void 0)return{ok:n};{let o=r.read(e);return o.error||o.ok!==void 0?o:{ok:n}}}toString(){return`${this.settings.reader}.default(${JSON.stringify(this.settings.value)})`}get value(){return this.settings.value}},bd=t=>new Oy(t),My=class extends le{readWith(e,r){if(!Array.isArray(e))return rt({expect:"array",actual:e});let n=[];for(let[o,s]of e.entries()){let i=r.read(s);if(i.error)return Lo({at:o,cause:i.error});n.push(i.ok)}return{ok:n}}get element(){return this.settings}toString(){return`array(${this.element})`}},pE=t=>new My(t),Fy=class extends le{readWith(e,r){if(!Array.isArray(e))return rt({expect:"array",actual:e});if(e.length!==this.shape.length)return Ae(`Array must contain exactly ${this.shape.length} elements`);let n=[];for(let[o,s]of r.entries()){let i=s.read(e[o]);if(i.error)return Lo({at:o,cause:i.error});n[o]=i.ok}return{ok:n}}get shape(){return this.settings}toString(){return`tuple([${this.shape.map(e=>e.toString()).join(", ")}])`}},g3=t=>new Fy(t),zy=class t extends le{readWith(e,{key:r,value:n}){if(typeof e!="object"||e===null||Array.isArray(e))return rt({expect:"dictionary",actual:e});let o={};for(let[s,i]of Object.entries(e)){let a=r.read(s);if(a.error)return Lo({at:s,cause:a.error});let c=n.read(i);if(c.error)return Lo({at:s,cause:c.error});c.ok!==void 0&&(o[a.ok]=c.ok)}return{ok:o}}get key(){return this.settings.key}get value(){return this.settings.value}partial(){let{key:e,value:r}=this.settings;return new t({key:e,value:bd(r)})}toString(){return`dictionary(${this.settings})`}},dg=({value:t,key:e})=>new zy({value:t,key:e||Zr()}),jy=class extends le{readWith(e,{variants:r,type:n}){return r.has(e)?{ok:e}:rt({expect:n,actual:e})}toString(){return this.settings.type}},w3=t=>new jy({type:t.join("|"),variants:new Set(t)});var Wy=class extends le{readWith(e,r){let n=[];for(let o of r){let s=o.read(e);if(s.error)n.push(s.error);else return s}return{error:new wd({causes:n})}}get variants(){return this.settings}toString(){return`union([${this.variants.map(e=>e.toString()).join(", ")}])`}},b3=t=>new Wy(t),mE=(t,e)=>b3([t,e]),Hy=class extends le{readWith(e,r){let n=[];for(let o of r){let s=o.read(e);s.error&&n.push(s.error)}return n.length>0?{error:new lg({causes:n})}:{ok:e}}toString(){return`intersection([${this.settings.map(e=>e.toString()).join(",")}])`}},yE=t=>new Hy(t),gE=(t,e)=>yE([t,e]),qy=class extends le{readWith(e){switch(e){case!0:case!1:return{ok:e};default:return rt({expect:"boolean",actual:e})}}toString(){return"boolean()"}},x3=new qy,k3=()=>x3,md=class extends le{greaterThan(e){return this.refine(bE(e))}lessThan(e){return this.refine(wE(e))}refine(e){return new Gy({base:this,schema:e})}},Vy=class extends md{readWith(e){return typeof e=="number"?{ok:e}:rt({expect:"number",actual:e})}toString(){return"number()"}},fg=new Vy,v3=()=>fg,Gy=class extends md{readWith(e,{base:r,schema:n}){let o=r.read(e);return o.error?o:n.read(o.ok)}toString(){return`${this.settings.base}.refine(${this.settings.schema})`}},Ky=class extends le{readWith(e,r){return e<r?{ok:e}:Ae(`Expected ${e} < ${r}`)}toString(){return`lessThan(${this.settings})`}},wE=t=>new Ky(t),Zy=class extends le{readWith(e,r){return e>r?{ok:e}:Ae(`Expected ${e} > ${r}`)}toString(){return`greaterThan(${this.settings})`}},bE=t=>new Zy(t),S3={read(t){return Number.isInteger(t)?{ok:t}:rt({expect:"integer",actual:t})},toString(){return"Integer"}},E3=fg.refine(S3),_3=()=>E3,fE=2n**64n-1n,Jy=class extends le{read(e){switch(typeof e){case"bigint":return e>fE?Ae(`Integer is too big for uint64, ${e} > ${fE}`):e<0?Ae(`Negative integer can not be represented as uint64, ${e} < 0`):{ok:e};case"number":return Number.isInteger(e)?e<0?Ae(`Negative integer can not be represented as uint64, ${e} < 0`):{ok:BigInt(e)}:rt({expect:"uint64",actual:e});default:return rt({expect:"uint64",actual:e})}}toString(){return"uint64"}},A3=new Jy,D3=()=>A3,T3={read(t){return Number.isFinite(t)?{ok:t}:rt({expect:"Float",actual:t})},toString(){return"Float"}},C3=fg.refine(T3),I3=()=>C3,yd=class extends le{refine(e){let r=e;return new Qy({base:this,schema:r})}startsWith(e){return this.refine(kE(e))}endsWith(e){return this.refine(vE(e))}toString(){return"string()"}},Qy=class extends yd{readWith(e,{base:r,schema:n}){let o=r.read(e);return o.error?o:n.read(o.ok)}toString(){return`${this.settings.base}.refine(${this.settings.schema})`}},Xy=class extends yd{readWith(e){return typeof e=="string"?{ok:e}:rt({expect:"string",actual:e})}},B3=new Xy,Zr=()=>B3,Yy=class extends le{readWith(e){return e instanceof Uint8Array?{ok:e}:rt({expect:"Uint8Array",actual:e})}},xE=new Yy,P3=()=>xE,eg=class extends le{readWith(e,r){return e.startsWith(r)?{ok:e}:Ae(`Expect string to start with "${r}" instead got "${e}"`)}get prefix(){return this.settings}toString(){return`startsWith("${this.prefix}")`}},kE=t=>new eg(t),tg=class extends le{readWith(e,r){return e.endsWith(r)?{ok:e}:Ae(`Expect string to end with "${r}" instead got "${e}"`)}get suffix(){return this.settings}toString(){return`endsWith("${this.suffix}")`}},vE=t=>new tg(t),rg=class extends le{readWith(e,{base:r,schema:n}){let o=r.read(e);return o.error?o:n.read(o.ok)}toString(){return`${this.settings.base}.refine(${this.settings.schema})`}},SE=(t,e)=>new rg({base:t,schema:e}),ng=class extends le{readWith(e,r){return e!==r?{error:new ag({expect:r,actual:e})}:{ok:r}}get value(){return this.settings}default(e=this.value){return super.default(e)}toString(){return`literal(${yc(this.value)})`}},gd=t=>new ng(t),og=class t extends le{readWith(e,r){if(typeof e!="object"||e===null||Array.isArray(e))return rt({expect:"object",actual:e});let n=e,o={},s=Object.entries(r);for(let[i,a]of s){let c=a.read(n[i]);if(c.error)return Lo({at:i,cause:c.error});c.ok!==void 0&&(o[i]=c.ok)}return{ok:o}}partial(){return new t(Object.fromEntries(Object.entries(this.shape).map(([e,r])=>[e,bd(r)])))}get shape(){return this.settings}toString(){return["struct({ ",...Object.entries(this.shape).map(([e,r])=>`${e}: ${r}`).join(", ")," })"].join("")}create(e){return this.from(e||{})}extend(e){return new t({...this.shape,...e})}},Ne=t=>{let e={},r=Object.entries(t);for(let[n,o]of r)switch(typeof o){case"number":case"string":case"boolean":e[n]=gd(o);break;case"object":e[n]=o===null?gd(null):o;break;default:throw new Error(`Invalid struct field "${n}", expected schema or literal, instead got ${typeof o}`)}return new og(e)},sg=class extends le{readWith(e,r){if(typeof e!="object"||e===null||Array.isArray(e))return rt({expect:"object",actual:e});let n=Object.keys(e),[o]=n.length===1?n:[],s=o?r[o]:void 0;if(s){let i=s.read(e[o]);return i.error?Lo({at:o,cause:i.error}):{ok:{[o]:i.ok}}}else if(r._){let i=r._.read(e);return i.error?i:{ok:{_:i.ok}}}else return Ae(o?`Expected an object with one of the these keys: ${Object.keys(r).sort().join(", ")} instead got object with key ${o}`:"Expected an object with a single key instead got object with keys "+n.sort().join(", "))}match(e,r){let n=this.read(e);if(n.error){if(r!==void 0)return[null,r];throw n.error}else{let[o]=Object.keys(n.ok),s=n.ok[o];return[o,s]}}create(e){return this.from(e)}},gc=t=>new sg(t),Ae=t=>({error:new Kr(t)}),Kr=class extends Vt{get name(){return"SchemaError"}describe(){return this.name}},ig=class extends Kr{constructor({expect:e,actual:r}){super(),this.expect=e,this.actual=r}get name(){return"TypeError"}describe(){return`Expected value of type ${this.expect} instead got ${yc(this.actual)}`}},rt=t=>({error:new ig(t)}),yc=t=>{let e=typeof t;switch(e){case"boolean":case"string":return JSON.stringify(t);case"bigint":return`${t}n`;case"number":case"symbol":case"undefined":return String(t);case"object":return t===null?"null":Array.isArray(t)?"array":Symbol.toStringTag in t?t[Symbol.toStringTag]:"object";default:return e}},ag=class extends Kr{constructor({expect:e,actual:r}){super(),this.expect=e,this.actual=r}get name(){return"LiteralError"}describe(){return`Expected literal ${yc(this.expect)} instead got ${yc(this.actual)}`}},cg=class extends Kr{constructor({at:e,cause:r}){super(),this.at=e,this.cause=r}get name(){return"ElementError"}describe(){return[`Array contains invalid element at ${this.at}:`,xd(this.cause.message)].join(`
|
5
|
-
`)}},ug=class extends Kr{constructor({at:e,cause:r}){super(),this.at=e,this.cause=r}get name(){return"FieldError"}describe(){return[`Object contains invalid field "${this.at}":`,xd(this.cause.message)].join(`
|
6
|
-
`)}},Lo=({at:t,cause:e})=>typeof t=="string"?{error:new ug({at:t,cause:e})}:{error:new cg({at:t,cause:e})},wd=class extends Kr{constructor({causes:e}){super(),this.causes=e}get name(){return"UnionError"}describe(){let{causes:e}=this;return["Value does not match any type of the union:",...e.map(r=>xd(r.message))].join(`
|
7
|
-
`)}},lg=class extends Kr{constructor({causes:e}){super(),this.causes=e}get name(){return"IntersectionError"}describe(){let{causes:e}=this;return["Value does not match following types of the intersection:",...e.map(r=>xd(r.message))].join(`
|
8
|
-
`)}},L3=(t,e=" ")=>`${e}${t.split(`
|
9
|
-
`).join(`
|
10
|
-
${e}`)}`,xd=t=>L3(`- ${t}`);var vd=class extends le{readWith(e,{protocol:r}={}){if(typeof e!="string"&&!(e instanceof URL))return Ae(`Expected URI but got ${e===null?"null":typeof e}`);try{let n=new URL(String(e));return r!=null&&n.protocol!==r?Ae(`Expected ${r} URI instead got ${n.href}`):{ok:n.href}}catch{return Ae("Invalid URI")}}},hg=new vd({}),U3=()=>hg,R3=t=>hg.read(t),pg=t=>new vd(t),N3=t=>hg.from(t);var pe={};F(pe,{create:()=>Fe,createLegacy:()=>ai,isLink:()=>Se,link:()=>O3,match:()=>Jr,optional:()=>M3,parse:()=>br,read:()=>$3,schema:()=>Ed});var Sd=class extends le{readWith(e,{code:r,multihash:n={},version:o}){if(e==null)return Ae(`Expected link but got ${e} instead`);if(Se(e)){if(r!=null&&e.code!==r)return Ae(`Expected link to be CID with 0x${r.toString(16)} codec`);if(n.code!=null&&e.multihash.code!==n.code)return Ae(`Expected link to be CID with 0x${n.code.toString(16)} hashing algorithm`);if(o!=null&&e.version!==o)return Ae(`Expected link to be CID version ${o} instead of ${e.version}`);let[s,i]=n.digest!=null?[Ve.baseEncode(n.digest),Ve.baseEncode(e.multihash.digest)]:["",""];return s!==i?Ae(`Expected link with "${s}" hash digest instead of "${i}"`):{ok:e}}else return Ae(`Expected link to be a CID instead of ${e}`)}},Ed=new Sd({}),O3=()=>Ed,Jr=(t={})=>new Sd(t),$3=t=>Ed.read(t),M3=()=>Ed.optional();var ee={};F(ee,{did:()=>F3,from:()=>j3,match:()=>Ad,read:()=>z3});var _d=class extends le{readWith(e,r){let n=r?`did:${r}:`:"did:";return e.startsWith(n)?{ok:e}:Ae(`Expected a ${n} but got "${e}" instead`)}},EE=Zr().refine(new _d),F3=()=>EE,z3=t=>EE.read(t),Ad=(t={})=>Zr().refine(new _d(t.method)),j3=t=>Ad({}).from(t);var gg={};F(gg,{match:()=>Dd,read:()=>H3,text:()=>W3});var mg=Zr(),Dd=t=>t?mg.refine(new yg(t.pattern)):mg,W3=Dd,H3=t=>mg.read(t),yg=class extends le{readWith(e,r){return r.test(e)?{ok:e}:Ae(`Expected to match ${r} but got "${e}" instead`)}};var q3=Se,Uo=t=>!Se(t),V3=(...t)=>{let e={};for(let r of t)for(let{with:n,can:o,nb:s}of _E(r)){let i=e[n]||(e[n]={});(i[o]||(i[o]=[])).push({...s})}return e},_E=function*({issuer:t,capabilities:e,proofs:r}){for(let n of e)if(n.with==="ucan:*"){yield{...n,with:t.did()};for(let o of r)if(Uo(o))for(let s of _E(o)){let i=G3(s.can,n.can);i&&(yield{...s,can:i,nb:{...s.nb,...Object(n.nb)}})}}else yield n},G3=(t,e)=>t==="*"?e:e==="*"||e.endsWith("/*")&&t.startsWith(e.slice(0,-1))?t:t.endsWith("/*")&&e.startsWith(t.slice(0,-1))?e:t===e?t:null,Gt=class{constructor(e,r=new Map){this.root=e,this.blocks=r,Object.defineProperties(this,{blocks:{enumerable:!1}})}get attachedLinks(){let e=new Set,r=this.data;for(let n of r.capabilities){let o=J3(n);for(let s of o)e.add(`${s}`)}for(let n of r.facts)if(Se(n))e.add(`${n}`);else{let o=Object.values(n).filter(s=>Se(s));for(let s of o)e.add(`${s}`)}return e}get version(){return this.data.version}get signature(){return this.data.signature}get cid(){return this.root.cid}link(){return this.root.cid}get asCID(){return this.cid}get bytes(){return this.root.bytes}get data(){let e=Td(this.root);return Object.defineProperties(this,{data:{value:e,enumerable:!1}}),e}attach(e){if(!this.attachedLinks.has(`${e.cid.link()}`))throw new Error(`given block with ${e.cid} is not an attached link`);this.blocks.set(`${e.cid}`,e)}export(){return bg(this.root,this.blocks,this.attachedLinks)}archive(){return AE(this)}iterateIPLDBlocks(){return bg(this.root,this.blocks,this.attachedLinks)}get proofs(){return Z3(this)}get issuer(){return this.data.issuer}get audience(){return this.data.audience}get capabilities(){return this.data.capabilities}get expiration(){return this.data.expiration}get notBefore(){return this.data.notBefore}get nonce(){return this.data.nonce}get facts(){return this.data.facts}iterate(){return TE(this)}delegate(){return this}buildIPLDView(){return this}toJSON(){return{...this.data.toJSON(),"/":this.cid.toString(),prf:this.proofs.map(e=>Uo(e)?e:{"/":e.toString()})}}},AE=async t=>{try{let e=new Map;for(let o of t.iterateIPLDBlocks())e.set(`${o.cid}`,o);let r=await ky({[`ucan@${t.version}`]:t.root.cid});e.set(`${r.cid}`,r);let n=hd({roots:[r],blocks:e});return C(n)}catch(e){return pd(e)}},DE=gc({"ucan@0.9.1":Jr({version:1})}),K3=async t=>{try{let{roots:e,blocks:r}=mc(t),[n]=e;if(n==null)return Ae("CAR archive does not contain a root block");let{bytes:o}=n,s=Ge(o),[,i]=DE.match(s);return C(Cd({root:i,blocks:r}))}catch(e){return pd(e)}},TE=function*(t){for(let e of t.proofs)Uo(e)&&(yield*TE(e),yield e)},wg=new WeakMap,Td=({bytes:t})=>{let e=wg.get(t);if(!e){let r=ql(t);return wg.set(t,r),r}return e},Lt=async({issuer:t,audience:e,proofs:r=[],attachedBlocks:n=new Map,...o},s)=>{let i=[],a=new Map;for(let p of r)if(!Uo(p))i.push(p);else{i.push(p.cid);for(let f of p.export())a.set(f.cid.toString(),f)}let c=await gi({...o,issuer:t,audience:e,proofs:i}),{cid:u,bytes:l}=await Vl(c,s);wg.set(u,c);let d=new Gt({cid:u,bytes:l},a);Object.defineProperties(d,{proofs:{value:r}});for(let p of n.values())d.attach(p);return d},bg=function*(t,e,r){for(let n of Td(t).proofs){let o=e.get(`${n}`);o&&(yield*CE(o,e))}for(let n of r.values()){let o=e.get(n);o&&(yield o)}yield t},CE=function*(t,e){for(let r of Td(t).proofs){let n=e.get(`${r}`);n&&(yield*CE(n,e))}yield t},xg=t=>{let e=[];for(let n of t)e.push([n.cid.toString(),n]);let r=e.pop();if(r){let[,n]=r;return new Gt(n,new Map(e))}else throw new RangeError("Empty DAG can not be turned into a delegation")},kg=({root:t,blocks:e})=>new Gt(t,e),Cd=({root:t,blocks:e},r)=>{let n=_n(t,e,null);return n==null?r!==void 0?r:qr(t):kg({root:n,blocks:e})},Z3=t=>{let e=[],{root:r,blocks:n}=t;for(let o of Td(r).proofs){let s=n.get(o.toString());e.push(s?kg({root:s,blocks:n}):o)}return Object.defineProperty(t,"proofs",{value:e}),e};function J3(t){let e=[];function r(n){for(let o in n){let s=n[o];Se(s)?e.push(s):s&&typeof s=="object"&&r(s)}}return r(t),e}var No={};F(No,{Invocation:()=>Id,create:()=>IE,invoke:()=>Ro,view:()=>Sg});var Ro=t=>new vg(t),IE=({root:t,blocks:e})=>new Id(t,e),Sg=({root:t,blocks:e},r)=>{let n=_n(t,e,null);return n==null?r!==void 0?r:qr(t):IE({root:n,blocks:e})},vg=class{constructor({issuer:e,audience:r,capability:n,proofs:o=[],expiration:s,lifetimeInSeconds:i,notBefore:a,nonce:c,facts:u=[]}){this.issuer=e,this.audience=r,this.proofs=o,this.capabilities=[n],this.expiration=s,this.lifetimeInSeconds=i,this.notBefore=a,this.nonce=c,this.facts=u,this.attachedBlocks=new Map}attach(e){this.attachedBlocks.set(`${e.cid}`,e)}delegate(){return Lt(this)}buildIPLDView(){return Lt(this)}async execute(e){let r=this,[n]=await e.execute(r);return n}},Id=class extends Gt{};var _r={};F(_r,{MessageSchema:()=>BE,build:()=>Y3,view:()=>eU});var wc={};F(wc,{issue:()=>X3,view:()=>Pd});var Pd=({root:t,blocks:e},r)=>{let n=_n(t,e,null);if(n==null)return r!==void 0?r:qr(t);let o=Ge(n.bytes);return new Bd({root:{...n,data:o},store:e})},Bd=class{constructor({root:e,store:r,ran:n,issuer:o,signature:s,proofs:i}){this.store=r,this.root=e,this._ran=n,this._signature=s,this._proofs=i,this._issuer=o}get ran(){let e=this._ran;if(e)return e;{let r=Sg({root:this.root.data.ocm.ran,blocks:this.store},this.root.data.ocm.ran);return this._ran=r,r}}get proofs(){let e=this._proofs;if(e)return e;{let{store:r,root:n}=this,{prf:o}=n.data.ocm,s=[];if(o)for(let i of o){let a=Cd({root:i,blocks:r},i);s.push(a)}return this._proofs=s,s}}get meta(){return this.root.data.ocm.meta}get issuer(){let e=this._issuer;if(e)return e;{let{iss:r}=this.root.data.ocm;if(r){let n=Ue(r);return this._issuer=n,n}}}get out(){return this.root.data.ocm.out}get fx(){return this.root.data.ocm.fx}get signature(){let e=this._signature;if(e)return e;{let r=hi(this.root.data.sig);return this._signature=r,r}}verifySignature(e){return this.signature.verify(e,Io(this.root.data.ocm))}buildIPLDView(){return this}*iterateIPLDBlocks(){let{ran:e,fx:r,proofs:n,root:o}=this;yield*Bo(e);for(let s of r.fork)yield*Bo(s);r.join&&(yield*Bo(r.join));for(let s of n)yield*Bo(s);yield o}},Eg=class{constructor({issuer:e,result:r,ran:n,fx:o=Q3,proofs:s=[],meta:i={}}){this.issuer=e,this.result=r,this.ran=n,this.fx=o,this.proofs=s,this.meta=i}async buildIPLDView({hasher:e=ue,codec:r=xr}={}){let n=q1();Zl(Bo(this.ran),n);for(let c of this.proofs)Zl(Bo(c),n);let o={ran:this.ran.link(),out:this.result,fx:this.fx,meta:this.meta,iss:this.issuer.did(),prf:this.proofs.map(c=>c.link())},s=await this.issuer.sign(Io(o)),a=await Kl({ocm:o,sig:s},n,{hasher:e,codec:r});return new Bd({root:a,store:n,signature:s,proofs:this.proofs,ran:this.ran})}},Q3=Object.freeze({fork:Object.freeze([])}),X3=t=>new Eg(t).buildIPLDView();var BE=gc({"ucanto/message@7.0.0":Ne({execute:Jr().array().optional(),delegate:dg({key:Zr(),value:Jr()}).array().optional()})}),Y3=({invocations:t,receipts:e})=>new _g({invocations:t,receipts:e}).buildIPLDView(),eU=({root:t,store:e},r)=>{let n=_n(t,e,null);if(n===null)return r!==void 0?r:qr(t);let o=xr.decode(n.bytes),[s,i]=BE.match(o,r);switch(s){case"ucanto/message@7.0.0":return new Ld({root:{...n,data:o},store:e});default:return i}},_g=class{constructor({invocations:e,receipts:r}){this.invocations=e,this.receipts=r}async buildIPLDView(e){let r=new Map,{invocations:n,...o}=await tU(this.invocations||[],r),{receipts:s,...i}=await rU(this.receipts||[],r),a=await Kl({"ucanto/message@7.0.0":{...o,...i}},r,e);return new Ld({root:a,store:r},{receipts:s,invocations:n})}},tU=async(t,e)=>{let r=[],n=[];for(let o of t){let s=await o.buildIPLDView();n.push(s.link()),r.push(s);for(let i of s.iterateIPLDBlocks())e.set(`${i.cid}`,i)}return{invocations:r,...n.length>0?{execute:n}:{}}},rU=async(t,e)=>{if(t.length===0)return{};let r=new Map,n={};for(let[o,s]of t.entries()){let i=await s.buildIPLDView();for(let c of i.iterateIPLDBlocks())e.set(`${c.cid}`,c);let a=`${i.ran.link()}`;a in n?r.set(`${a}@${o}`,i):(n[a]=i.root.cid,r.set(a,i))}return{receipts:r,report:n}},Ld=class{constructor({root:e,store:r},{invocations:n,receipts:o}={}){this.root=e,this.store=r,this._invocations=n,this._receipts=o}*iterateIPLDBlocks(){for(let e of this.invocations)yield*e.iterateIPLDBlocks();for(let e of this.receipts.values())yield*e.iterateIPLDBlocks();yield this.root}get(e,r){let o=(this.root.data["ucanto/message@7.0.0"].report||{})[`${e}`];return o?Pd({root:o,blocks:this.store}):r!==void 0?r:dE(`Message does not include receipt for ${e}`)}get invocationLinks(){return this.root.data["ucanto/message@7.0.0"].execute||[]}get invocations(){let e=this._invocations;return e||(e=this.invocationLinks.map(r=>No.view({root:r,blocks:this.store}))),e}get receipts(){let e=this._receipts;if(!e){e=new Map;let r=this.root.data["ucanto/message@7.0.0"].report||{};for(let[n,o]of Object.entries(r)){let s=Pd({root:o,blocks:this.store});e.set(`${s.ran.link()}`,s)}}return e}};var Oo=t=>new Dg(t),Dg=class{constructor(e){this.id=e.id,this.options=e,this.codec=e.codec,this.channel=e.channel,this.hasher=e.hasher||ue}async execute(...e){return oU(e,this)}},oU=async(t,e)=>{let r=await _r.build({invocations:t}),n=await e.codec.encode(r,e),o=await e.channel.request(n);try{let s=await e.codec.decode(o);return r.invocationLinks.map(a=>s.get(a))}catch(s){let{message:i,...a}=s,c=[];for await(let u of r.invocationLinks){let l=await wc.issue({ran:u,result:{error:{...a,message:i}},issuer:{did(){return e.id.did()},sign(){return st.createNonStandard("",new Uint8Array)}}});c.push(l)}return c}};var Dq=sr.delegate;var ir={};F(ir,{codec:()=>Re,contentType:()=>Rd,inbound:()=>pU,outbound:()=>Pg,request:()=>$o,response:()=>Mo});var $o={};F($o,{codec:()=>Re,contentType:()=>_i,decode:()=>cU,encode:()=>aU});var _i=Re.contentType,iU=Object.freeze({"content-type":_i,accept:_i}),aU=(t,e)=>{let r=new Map;for(let o of t.iterateIPLDBlocks())r.set(`${o.cid}`,o);let n=Re.encode({roots:[t.root],blocks:r});return{headers:e?.headers||iU,body:n}},cU=async({headers:t,body:e})=>{let{roots:r,blocks:n}=Re.decode(e);return _r.view({root:r[0].cid,store:n})};var Mo={};F(Mo,{codec:()=>Re,contentType:()=>bc,decode:()=>dU,encode:()=>lU});var bc=Re.contentType,uU=Object.freeze({"content-type":bc}),lU=(t,e)=>{let r=new Map;for(let o of t.iterateIPLDBlocks())r.set(`${o.cid}`,o);let n=Re.encode({roots:[t.root],blocks:r});return{headers:uU,body:n}},dU=async({headers:t,body:e})=>{let{roots:r,blocks:n}=Re.decode(e);return _r.view({root:r[0].cid,store:n})};var Ud=t=>new Tg(t),Tg=class{accept({headers:e}){let r=e["content-type"]||e["Content-Type"],n=this.decoders[r];if(!n)return{error:{status:415,message:"The server cannot process the request because the payload format is not supported. Please check the content-type header and try again with a supported media type.",headers:{accept:Object.keys(this.decoders).join(", ")}}};let o=hU(e.accept||e.Accept||"*/*");for(let{category:s,type:i}of o)for(let a of this.encoders)if((s==="*"||s===a.category)&&(i==="*"||i===a.type))return{ok:{...a,decoder:n}};return{error:{status:406,message:"The requested resource cannot be served in the requested content type. Please specify a supported content type using the Accept header.",headers:{accept:LE(Object.values(this.encoders))}}}}constructor({decoders:e={},encoders:r={}}){if(this.decoders=e,Object.keys(e).length===0)throw new Error("At least one decoder MUST be provided");if(this.encoders=Object.entries(r).map(([n,o])=>({...Ig(n),encoder:o})).sort((n,o)=>o.preference-n.preference),this.encoders.length===0)throw new Error("At least one encoder MUST be provided")}},PE=t=>new Cg(t),Cg=class{constructor({decoders:e={},encoders:r={}}){if(this.decoders=e,Object.keys(e).length===0)throw new Error("At least one decoder MUST be provided");if(this.encoders=Object.entries(r).map(([n,o])=>({...Ig(n),encoder:o})).sort((n,o)=>o.preference-n.preference),this.acceptType=LE(this.encoders),this.encoders.length===0)throw new Error("At least one encoder MUST be provided");this.encoder=this.encoders[0].encoder}encode(e){return this.encoder.encode(e,{accept:this.acceptType})}decode(e){let{headers:r}=e,n=r["content-type"]||r["Content-Type"],o=this.decoders[n]||this.decoders["*/*"];switch(e.status){case 415:case 406:throw Object.assign(new RangeError(new TextDecoder().decode(e.body)),{status:e.status,headers:e.headers})}if(!o)throw Object.assign(TypeError(`Can not decode response with content-type '${n}' because no matching transport decoder is configured.`),{error:!0});return o.decode(e)}},Ig=t=>{let[e="*/*",r=""]=t.trim().split(";"),[n="*",o="*"]=e.split("/"),s=new URLSearchParams(r),i=parseFloat(s.get("q")||"0");return{category:n,type:o,preference:isNaN(i)?0:i}},fU=({category:t,type:e,preference:r})=>`${t}/${e}${r?`;q=${r}`:""}`,hU=t=>t.split(",").map(Ig).sort((e,r)=>r.preference-e.preference),LE=t=>t.map(fU).join(", ");var Rd=Re.contentType,pU=Ud({decoders:{[_i]:$o},encoders:{[bc]:Mo}}),Pg=PE({encoders:{[_i]:$o},decoders:{[bc]:Mo}});var Ln={};F(Ln,{open:()=>Rg});var Rg=({url:t,method:e="POST",fetch:r})=>{if(!r)if(typeof globalThis.fetch<"u")r=globalThis.fetch.bind(globalThis);else throw new TypeError("ucanto HTTP transport got undefined `fetch`. Try passing in a `fetch` implementation explicitly.");return new Lg({url:t,method:e,fetch:r})},Lg=class{constructor({url:e,fetch:r,method:n}){this.fetch=r,this.method=n,this.url=e}async request({headers:e,body:r}){let n=await this.fetch(this.url.href,{headers:e,body:r,method:this.method}),o=n.ok?await n.arrayBuffer():Ug.throw("HTTP Request failed",n);return{headers:n.headers.entries?Object.fromEntries(n.headers.entries()):{},body:new Uint8Array(o)}}},Ug=class extends Error{static throw(e,r){throw new this(e,r)}constructor(e,{url:r,status:n=500,statusText:o="Server error"}){super(e),this.name="HTTPError",this.url=r,this.status=n,this.statusText=o}};var Ti={};F(Ti,{PUB_KEY_OFFSET:()=>e_,code:()=>Di,decode:()=>Qg,derive:()=>t_,encode:()=>n_,format:()=>MU,from:()=>r_,generate:()=>$U,name:()=>NU,or:()=>Jg,parse:()=>FU,signatureAlgorithm:()=>XE,signatureCode:()=>OU});var mU=De(UE(),1);var Qe=BigInt(0),he=BigInt(1),Nn=BigInt(2),yU=BigInt(8),RE=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),Ie=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:RE,n:RE,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var FE=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),xc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Rq=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),gU=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),wU=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),bU=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),xU=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Ke=class t{constructor(e,r,n,o){this.x=e,this.y=r,this.z=n,this.t=o}static fromAffine(e){if(!(e instanceof je))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(je.ZERO)?t.ZERO:new t(e.x,e.y,he,A(e.x*e.y))}static toAffineBatch(e){let r=SU(e.map(n=>n.z));return e.map((n,o)=>n.toAffine(r[o]))}static normalizeZ(e){return this.toAffineBatch(e).map(this.fromAffine)}equals(e){OE(e);let{x:r,y:n,z:o}=this,{x:s,y:i,z:a}=e,c=A(r*a),u=A(s*o),l=A(n*a),d=A(i*o);return c===u&&l===d}negate(){return new t(A(-this.x),this.y,this.z,A(-this.t))}double(){let{x:e,y:r,z:n}=this,{a:o}=Ie,s=A(e*e),i=A(r*r),a=A(Nn*A(n*n)),c=A(o*s),u=e+r,l=A(A(u*u)-s-i),d=c+i,p=d-a,f=c-i,h=A(l*p),m=A(d*f),b=A(l*f),g=A(p*d);return new t(h,m,g,b)}add(e){OE(e);let{x:r,y:n,z:o,t:s}=this,{x:i,y:a,z:c,t:u}=e,l=A((n-r)*(a+i)),d=A((n+r)*(a-i)),p=A(d-l);if(p===Qe)return this.double();let f=A(o*Nn*u),h=A(s*Nn*c),m=h+f,b=d+l,g=h-f,k=A(m*p),E=A(b*g),_=A(m*g),P=A(p*b);return new t(k,E,P,_)}subtract(e){return this.add(e.negate())}precomputeWindow(e){let r=1+256/e,n=[],o=this,s=o;for(let i=0;i<r;i++){s=o,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(o),n.push(s);o=s.double()}return n}wNAF(e,r){!r&&this.equals(t.BASE)&&(r=je.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let o=r&&Fg.get(r);o||(o=this.precomputeWindow(n),r&&n!==1&&(o=t.normalizeZ(o),Fg.set(r,o)));let s=t.ZERO,i=t.BASE,a=1+256/n,c=2**(n-1),u=BigInt(2**n-1),l=2**n,d=BigInt(n);for(let p=0;p<a;p++){let f=p*c,h=Number(e&u);e>>=d,h>c&&(h-=l,e+=he);let m=f,b=f+Math.abs(h)-1,g=p%2!==0,k=h<0;h===0?i=i.add(NE(g,o[m])):s=s.add(NE(k,o[b]))}return t.normalizeZ([s,i])[0]}multiply(e,r){return this.wNAF(Od(e,Ie.l),r)}multiplyUnsafe(e){let r=Od(e,Ie.l,!1),n=t.BASE,o=t.ZERO;if(r===Qe)return o;if(this.equals(o)||r===he)return this;if(this.equals(n))return this.wNAF(r);let s=o,i=this;for(;r>Qe;)r&he&&(s=s.add(i)),i=i.double(),r>>=he;return s}isSmallOrder(){return this.multiplyUnsafe(Ie.h).equals(t.ZERO)}isTorsionFree(){let e=this.multiplyUnsafe(Ie.l/Nn).double();return Ie.l%Nn&&(e=e.add(this)),e.equals(t.ZERO)}toAffine(e){let{x:r,y:n,z:o}=this,s=this.equals(t.ZERO);e==null&&(e=s?yU:$d(o));let i=A(r*e),a=A(n*e),c=A(o*e);if(s)return je.ZERO;if(c!==he)throw new Error("invZ was invalid");return new je(i,a)}fromRistrettoBytes(){Og()}toRistrettoBytes(){Og()}fromRistrettoHash(){Og()}};Ke.BASE=new Ke(Ie.Gx,Ie.Gy,he,A(Ie.Gx*Ie.Gy));Ke.ZERO=new Ke(Qe,he,he,Qe);function NE(t,e){let r=e.negate();return t?r:e}function OE(t){if(!(t instanceof Ke))throw new TypeError("ExtendedPoint expected")}function Ng(t){if(!(t instanceof Fo))throw new TypeError("RistrettoPoint expected")}function Og(){throw new Error("Legacy method: switch to RistrettoPoint")}var Fo=class t{constructor(e){this.ep=e}static calcElligatorRistrettoMap(e){let{d:r}=Ie,n=A(xc*e*e),o=A((n+he)*bU),s=BigInt(-1),i=A((s-r*n)*A(n+r)),{isValid:a,value:c}=jg(o,i),u=A(c*e);Rn(u)||(u=A(-u)),a||(c=u),a||(s=n);let l=A(s*(n-he)*xU-i),d=c*c,p=A((c+c)*i),f=A(l*gU),h=A(he-d),m=A(he+d);return new Ke(A(p*m),A(h*f),A(f*m),A(p*h))}static hashToCurve(e){e=On(e,64);let r=$g(e.slice(0,32)),n=this.calcElligatorRistrettoMap(r),o=$g(e.slice(32,64)),s=this.calcElligatorRistrettoMap(o);return new t(n.add(s))}static fromHex(e){e=On(e,32);let{a:r,d:n}=Ie,o="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",s=$g(e);if(!_U(vc(s),e)||Rn(s))throw new Error(o);let i=A(s*s),a=A(he+r*i),c=A(he-r*i),u=A(a*a),l=A(c*c),d=A(r*n*u-l),{isValid:p,value:f}=ME(A(d*l)),h=A(f*c),m=A(f*h*d),b=A((s+s)*h);Rn(b)&&(b=A(-b));let g=A(a*m),k=A(b*g);if(!p||Rn(k)||g===Qe)throw new Error(o);return new t(new Ke(b,g,he,k))}toRawBytes(){let{x:e,y:r,z:n,t:o}=this.ep,s=A(A(n+r)*A(n-r)),i=A(e*r),a=A(i*i),{value:c}=ME(A(s*a)),u=A(c*s),l=A(c*i),d=A(u*l*o),p;if(Rn(o*d)){let h=A(r*xc),m=A(e*xc);e=h,r=m,p=A(u*wU)}else p=l;Rn(e*d)&&(r=A(-r));let f=A((n-r)*p);return Rn(f)&&(f=A(-f)),vc(f)}toHex(){return Sc(this.toRawBytes())}toString(){return this.toHex()}equals(e){Ng(e);let r=this.ep,n=e.ep,o=A(r.x*n.y)===A(r.y*n.x),s=A(r.y*n.y)===A(r.x*n.x);return o||s}add(e){return Ng(e),new t(this.ep.add(e.ep))}subtract(e){return Ng(e),new t(this.ep.subtract(e.ep))}multiply(e){return new t(this.ep.multiply(e))}multiplyUnsafe(e){return new t(this.ep.multiplyUnsafe(e))}};Fo.BASE=new Fo(Ke.BASE);Fo.ZERO=new Fo(Ke.ZERO);var Fg=new WeakMap,je=class t{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,Fg.delete(this)}static fromHex(e,r=!0){let{d:n,P:o}=Ie;e=On(e,32);let s=e.slice();s[31]=e[31]&-129;let i=Ec(s);if(r&&i>=o)throw new Error("Expected 0 < hex < P");if(!r&&i>=FE)throw new Error("Expected 0 < hex < 2**256");let a=A(i*i),c=A(a-he),u=A(n*a+he),{isValid:l,value:d}=jg(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let p=(d&he)===he;return(e[31]&128)!==0!==p&&(d=A(-d)),new t(d,i)}static async fromPrivateKey(e){return(await Md(e)).point}toRawBytes(){let e=vc(this.y);return e[31]|=this.x&he?128:0,e}toHex(){return Sc(this.toRawBytes())}toX25519(){let{y:e}=this,r=A((he+e)*$d(he-e));return vc(r)}isTorsionFree(){return Ke.fromAffine(this).isTorsionFree()}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new t(A(-this.x),this.y)}add(e){return Ke.fromAffine(this).add(Ke.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Ke.fromAffine(this).multiply(e,this).toAffine()}};je.BASE=new je(Ie.Gx,Ie.Gy);je.ZERO=new je(Qe,he);var kc=class t{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromHex(e){let r=On(e,64),n=je.fromHex(r.slice(0,32),!1),o=Ec(r.slice(32,64));return new t(n,o)}assertValidity(){let{r:e,s:r}=this;if(!(e instanceof je))throw new Error("Expected Point instance");return Od(r,Ie.l,!1),this}toRawBytes(){let e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(vc(this.s),32),e}toHex(){return Sc(this.toRawBytes())}};function $E(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(t.length===1)return t[0];let e=t.reduce((n,o)=>n+o.length,0),r=new Uint8Array(e);for(let n=0,o=0;n<t.length;n++){let s=t[n];r.set(s,o),o+=s.length}return r}var kU=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Sc(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=kU[t[r]];return e}function zg(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,o=t.slice(n,n+2),s=Number.parseInt(o,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");e[r]=s}return e}function zE(t){let r=t.toString(16).padStart(64,"0");return zg(r)}function vc(t){return zE(t).reverse()}function Rn(t){return(A(t)&he)===he}function Ec(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+Sc(Uint8Array.from(t).reverse()))}var vU=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function $g(t){return A(Ec(t)&vU)}function A(t,e=Ie.P){let r=t%e;return r>=Qe?r:e+r}function $d(t,e=Ie.P){if(t===Qe||e<=Qe)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=A(t,e),n=e,o=Qe,s=he,i=he,a=Qe;for(;r!==Qe;){let u=n/r,l=n%r,d=o-i*u,p=s-a*u;n=r,r=l,o=i,s=a,i=d,a=p}if(n!==he)throw new Error("invert: does not exist");return A(o,e)}function SU(t,e=Ie.P){let r=new Array(t.length),n=t.reduce((s,i,a)=>i===Qe?s:(r[a]=s,A(s*i,e)),he),o=$d(n,e);return t.reduceRight((s,i,a)=>i===Qe?s:(r[a]=A(s*r[a],e),A(s*i,e)),o),r}function Ar(t,e){let{P:r}=Ie,n=t;for(;e-- >Qe;)n*=n,n%=r;return n}function EU(t){let{P:e}=Ie,r=BigInt(5),n=BigInt(10),o=BigInt(20),s=BigInt(40),i=BigInt(80),c=t*t%e*t%e,u=Ar(c,Nn)*c%e,l=Ar(u,he)*t%e,d=Ar(l,r)*l%e,p=Ar(d,n)*d%e,f=Ar(p,o)*p%e,h=Ar(f,s)*f%e,m=Ar(h,i)*h%e,b=Ar(m,i)*h%e,g=Ar(b,n)*d%e;return{pow_p_5_8:Ar(g,Nn)*t%e,b2:c}}function jg(t,e){let r=A(e*e*e),n=A(r*r*e),o=EU(t*n).pow_p_5_8,s=A(t*r*o),i=A(e*s*s),a=s,c=A(s*xc),u=i===t,l=i===A(-t),d=i===A(-t*xc);return u&&(s=a),(l||d)&&(s=c),Rn(s)&&(s=A(-s)),{isValid:u||l,value:s}}function ME(t){return jg(he,t)}function Nd(t){return A(Ec(t),Ie.l)}function _U(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function On(t,e){let r=t instanceof Uint8Array?Uint8Array.from(t):zg(t);if(typeof e=="number"&&r.length!==e)throw new Error(`Expected ${e} bytes`);return r}function Od(t,e,r=!0){if(!e)throw new TypeError("Specify max value");if(typeof t=="number"&&Number.isSafeInteger(t)&&(t=BigInt(t)),typeof t=="bigint"&&t<e){if(r){if(Qe<t)return t}else if(Qe<=t)return t}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function AU(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function DU(t){if(t=typeof t=="bigint"||typeof t=="number"?zE(Od(t,FE)):On(t),t.length!==32)throw new Error("Expected 32 bytes");return t}function TU(t){let e=AU(t.slice(0,32)),r=t.slice(32,64),n=Nd(e),o=je.BASE.multiply(n),s=o.toRawBytes();return{head:e,prefix:r,scalar:n,point:o,pointBytes:s}}var Mg;async function Md(t){return TU(await $n.sha512(DU(t)))}async function jE(t){return(await Md(t)).pointBytes}async function WE(t,e){t=On(t);let{prefix:r,scalar:n,pointBytes:o}=await Md(e),s=Nd(await $n.sha512(r,t)),i=je.BASE.multiply(s),a=Nd(await $n.sha512(i.toRawBytes(),o,t)),c=A(s+a*n,Ie.l);return new kc(i,c).toRawBytes()}function CU(t,e,r){e=On(e),r instanceof je||(r=je.fromHex(r,!1));let{r:n,s:o}=t instanceof kc?t.assertValidity():kc.fromHex(t),s=Ke.BASE.multiplyUnsafe(o);return{r:n,s:o,SB:s,pub:r,msg:e}}function IU(t,e,r,n){let o=Nd(n),s=Ke.fromAffine(t).multiplyUnsafe(o);return Ke.fromAffine(e).add(s).subtract(r).multiplyUnsafe(Ie.h).equals(Ke.ZERO)}async function HE(t,e,r){let{r:n,SB:o,msg:s,pub:i}=CU(t,e,r),a=await $n.sha512(n.toRawBytes(),i.toRawBytes(),s);return IU(i,n,o,a)}je.BASE._setWindowSize(8);var Un={node:mU,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},$n={bytesToHex:Sc,hexToBytes:zg,concatBytes:$E,getExtendedPublicKey:Md,mod:A,invert:$d,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:t=>{if(t=On(t),t.length<40||t.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return A(Ec(t),Ie.l-he)+he},randomBytes:(t=32)=>{if(Un.web)return Un.web.getRandomValues(new Uint8Array(t));if(Un.node){let{randomBytes:e}=Un.node;return new Uint8Array(e(t).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>$n.randomBytes(32),sha512:async(...t)=>{let e=$E(...t);if(Un.web){let r=await Un.web.subtle.digest("SHA-512",e.buffer);return new Uint8Array(r)}else{if(Un.node)return Uint8Array.from(Un.node.createHash("sha512").update(e).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(t=8,e=je.BASE){let r=e.equals(je.BASE)?e:new je(e.x,e.y);return r._setWindowSize(t),r.multiply(Nn),r},sha512Sync:void 0};Object.defineProperties($n,{sha512Sync:{configurable:!1,get(){return Mg},set(t){Mg||(Mg=t)}}});var zo={};F(zo,{code:()=>Dr,decode:()=>jd,encode:()=>LU,format:()=>PU,name:()=>Vg,or:()=>UU,parse:()=>ZE,signatureAlgorithm:()=>zd,signatureCode:()=>Ac});var BU=(t,e)=>{if(t.startsWith("did:")){for(let r of e)try{return r.parse(t)}catch{}throw new Error(`Unsupported did ${t}`)}else throw new Error(`Expected did instead got ${t}`)},Fd=(t,e)=>new Wg([t,e]),Wg=class t{constructor(e){this.variants=e}parse(e){return BU(e,this.variants)}or(e){return new t([...this.variants,e])}},_c=(t,e)=>new Hg(e,t),Hg=class{constructor(e,r){this.id=e,this.key=r}did(){return this.id}toDIDKey(){return this.key.toDIDKey()}verify(e,r){return this.key.verify(e,r)}withDID(e){return _c(this.key,e)}};var Dr=237,Vg="Ed25519",Ac=Do,zd="EdDSA",KE=Y.encodingLength(Dr),GE=32+KE,ZE=t=>jd(Ue(t)),jd=t=>{let[e]=Y.decode(t);if(e!==Dr)throw new RangeError(`Unsupported key algorithm with multicode 0x${Dr.toString(16)}`);if(t.byteLength!==GE)throw new RangeError(`Expected Uint8Array with byteLength ${GE}, instead got Uint8Array with byteLength ${t.byteLength}`);return new qg(t.buffer,t.byteOffset,t.byteLength)},PU=t=>_o(t),LU=t=>Zm(t),qg=class extends Uint8Array{get code(){return Dr}get signatureCode(){return Ac}get signatureAlgorithm(){return zd}get publicKey(){let e=new Uint8Array(this.buffer,this.byteOffset+KE);return Object.defineProperties(this,{publicKey:{value:e}}),e}did(){return`did:key:${Le.encode(this)}`}verify(e,r){return r.code===Ac&&HE(r.raw,e,this.publicKey)}withDID(e){return _c(this,e)}toDIDKey(){return this.did()}},UU=t=>Fd({parse:ZE},t);var Wd=(t,e)=>new Gg([t,e]),Gg=class t{constructor(e){this.variants=e,this.from=RU(e)}or(e){return new t([e,...this.variants])}},RU=t=>r=>{if(r.id.startsWith("did:key:"))return JE(r,t);for(let[n,o]of Object.entries(r.keys)){let s=n;return JE({id:s,keys:{[s]:o}},t).withDID(r.id)}throw new Error(`Archive ${r.id} contains no keys`)},JE=(t,e)=>{for(let r of e)try{return r.from(t)}catch{}throw new Error("Unsupported signer")},Ai=({signer:t,verifier:e},r)=>new Kg(t,e.withDID(r)),Kg=class{constructor(e,r){this.key=e,this.verifier=r}get signer(){return this}get signatureAlgorithm(){return this.key.signatureAlgorithm}get signatureCode(){return this.key.signatureCode}did(){return this.verifier.did()}toDIDKey(){return this.verifier.toDIDKey()}withDID(e){return Ai(this.key,e)}sign(e){return this.key.sign(e)}verify(e,r){return this.verifier.verify(e,r)}toArchive(){let{keys:e}=this.key.toArchive();return{id:this.did(),keys:e}}};var Di=4864,NU=Vg,XE=zd,OU=Ac,jo=Y.encodingLength(Di),YE=Y.encodingLength(Dr),Qr=32,Zg=jo+Qr+YE+Qr,e_=jo+Qr,$U=()=>t_($n.randomPrivateKey()),t_=async t=>{if(t.byteLength!==Qr)throw new Error(`Expected Uint8Array with byteLength of ${Qr} instead not ${t.byteLength}`);let e=await jE(t),r=new Hd(Zg);return Y.encodeTo(Di,r,0),r.set(t,jo),Y.encodeTo(Dr,r,jo+Qr),r.set(e,jo+Qr+YE),r},r_=({id:t,keys:e})=>{if(t.startsWith("did:key:")){let r=e[t];if(r instanceof Uint8Array)return Qg(r)}throw new TypeError("Unsupported archive format")},Jg=t=>Wd({from:r_},t),Qg=t=>{if(t.byteLength!==Zg)throw new Error(`Expected Uint8Array with byteLength of ${Zg} instead not ${t.byteLength}`);{let[e]=Y.decode(t);if(e!==Di)throw new Error(`Given bytes must be a multiformat with ${Di} tag`)}{let[e]=Y.decode(t.subarray(e_));if(e!==Dr)throw new Error(`Given bytes must contain public key in multiformats with ${Dr} tag`)}return new Hd(t)},n_=t=>t.encode(),MU=(t,e)=>(e||Ml).encode(n_(t)),FU=(t,e)=>Qg((e||Ml).decode(t)),Hd=class extends Uint8Array{get code(){return Di}get signer(){return this}get verifier(){let e=new Uint8Array(this.buffer,jo+Qr),r=jd(e);return Object.defineProperties(this,{verifier:{value:r}}),r}get secret(){let e=new Uint8Array(this.buffer,jo,Qr);return Object.defineProperties(this,{secret:{value:e}}),e}did(){return this.verifier.did()}toDIDKey(){return this.verifier.toDIDKey()}withDID(e){return Ai(this,e)}async sign(e){let r=await WE(e,this.secret);return fi(this.signatureCode,r)}verify(e,r){return this.verifier.verify(e,r)}get signatureAlgorithm(){return XE}get signatureCode(){return Do}encode(){return this}toArchive(){let e=this.did();return{id:e,keys:{[e]:this.encode()}}}};function Wo(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Dc(t=0){return globalThis.Buffer?.allocUnsafe!=null?Wo(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Xg(t,e){e==null&&(e=t.reduce((o,s)=>o+s.length,0));let r=Dc(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return Wo(r)}var Yg={};F(Yg,{identity:()=>jU});var jU=ii({prefix:"\0",name:"identity",encode:t=>o1(t),decode:t=>n1(t)});var ew={};F(ew,{base2:()=>WU});var WU=Me({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var tw={};F(tw,{base8:()=>HU});var HU=Me({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var rw={};F(rw,{base10:()=>qU});var qU=Sn({prefix:"9",name:"base10",alphabet:"0123456789"});var nw={};F(nw,{base16:()=>VU,base16upper:()=>GU});var VU=Me({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),GU=Me({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ow={};F(ow,{base36:()=>KU,base36upper:()=>ZU});var KU=Sn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ZU=Sn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var sw={};F(sw,{base256emoji:()=>e4});var o_=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),JU=o_.reduce((t,e,r)=>(t[r]=e,t),[]),QU=o_.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function XU(t){return t.reduce((e,r)=>(e+=JU[r],e),"")}function YU(t){let e=[];for(let r of t){let n=QU[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var e4=ii({prefix:"\u{1F680}",name:"base256emoji",encode:XU,decode:YU});var oV=new TextEncoder,sV=new TextDecoder;var iw={...Yg,...ew,...tw,...rw,...nw,...zm,...ow,...Fm,...Jm,...sw},aV={...xy,...Hm};function i_(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var s_=i_("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),aw=i_("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Dc(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),r4={utf8:s_,"utf-8":s_,hex:iw.base16,latin1:aw,ascii:aw,binary:aw,...iw},qd=r4;function Xr(t,e="utf8"){let r=qd[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Wo(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function Tc(t,e="utf8"){let r=qd[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}function n4(t){if(!Array.isArray(t)||t.length===0)throw new Error("Delegations required to be an non empty array.");let e=t.map(a=>a.root.cid),r=new Set,n=[],o=0;for(let a of t)for(let c of a.export()){let u=c.cid.toV1().toString();r.has(u)||(o+=Er(c),n.push(c),r.add(u))}let s=cE(e.length),i=Pn(new ArrayBuffer(s+o),{roots:e});for(let a of n)i.write(a);return i.close()}function Vd(t){if(!(t instanceof Uint8Array)||t.length===0)throw new TypeError("Input should be a non-empty Uint8Array.");let e=Vr.fromBytes(t),r=e.getRoots(),n=[];for(let o of r){let s=e.get(o);if(s){let i=new Map;for(let a of e.blocks())a.cid.toString()!==o.toString()&&i.set(a.cid.toString(),a);n.push(new Gt(s,i))}else throw new Error("Failed to find root from raw delegation.")}return n}function c_(t,e="base64url"){let r=n4(t);return Tc(r,e)}function u_(t,e="base64url"){let r=Xr(t,e);return Vd(r)}var xe;(function(t){t.assertEqual=o=>o;function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let s={};for(let i of o)s[i]=i;return s},t.getValidEnumValues=o=>{let s=t.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),i={};for(let a of s)i[a]=o[a];return t.objectValues(i)},t.objectValues=o=>t.objectKeys(o).map(function(s){return o[s]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let s=[];for(let i in o)Object.prototype.hasOwnProperty.call(o,i)&&s.push(i);return s},t.find=(o,s)=>{for(let i of o)if(s(i))return i},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&isFinite(o)&&Math.floor(o)===o;function n(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}t.joinValues=n,t.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(xe||(xe={}));var M=xe.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Mn=t=>{switch(typeof t){case"undefined":return M.undefined;case"string":return M.string;case"number":return isNaN(t)?M.nan:M.number;case"boolean":return M.boolean;case"function":return M.function;case"bigint":return M.bigint;case"symbol":return M.symbol;case"object":return Array.isArray(t)?M.array:t===null?M.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?M.promise:typeof Map<"u"&&t instanceof Map?M.map:typeof Set<"u"&&t instanceof Set?M.set:typeof Date<"u"&&t instanceof Date?M.date:M.object;default:return M.unknown}},B=xe.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),o4=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),Ut=class extends Error{constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(this),n}toString(){return this.message}get message(){return JSON.stringify(this.issues,xe.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r={},n=[];for(let o of this.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(e(o))):n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Ut.create=t=>new Ut(t);var Cc=(t,e)=>{let r;switch(t.code){case B.invalid_type:t.received===M.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case B.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,xe.jsonStringifyReplacer)}`;break;case B.unrecognized_keys:r=`Unrecognized key(s) in object: ${xe.joinValues(t.keys,", ")}`;break;case B.invalid_union:r="Invalid input";break;case B.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${xe.joinValues(t.options)}`;break;case B.invalid_enum_value:r=`Invalid enum value. Expected ${xe.joinValues(t.options)}, received '${t.received}'`;break;case B.invalid_arguments:r="Invalid function arguments";break;case B.invalid_return_type:r="Invalid function return type";break;case B.invalid_date:r="Invalid date";break;case B.invalid_string:typeof t.validation=="object"?"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:xe.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case B.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case B.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case B.custom:r="Invalid input";break;case B.invalid_intersection_types:r="Intersection results could not be merged";break;case B.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case B.not_finite:r="Number must be finite";break;default:r=e.defaultError,xe.assertNever(t)}return{message:r}},f_=Cc;function s4(t){f_=t}function Kd(){return f_}var Zd=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,s=[...r,...o.path||[]],i={...o,path:s},a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(i,{data:e,defaultError:a}).message;return{...o,path:s,message:o.message||a}},i4=[];function z(t,e){let r=Zd({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Kd(),Cc].filter(n=>!!n)});t.common.issues.push(r)}var it=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return te;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r)n.push({key:await o.key,value:await o.value});return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return te;s.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),(typeof i.value<"u"||o.alwaysSet)&&(n[s.value]=i.value)}return{status:e.value,value:n}}},te=Object.freeze({status:"aborted"}),h_=t=>({status:"dirty",value:t}),dt=t=>({status:"valid",value:t}),cw=t=>t.status==="aborted",uw=t=>t.status==="dirty",Jd=t=>t.status==="valid",Qd=t=>typeof Promise<"u"&&t instanceof Promise,K;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(K||(K={}));var Kt=class{constructor(e,r,n,o){this.parent=e,this.data=r,this._path=n,this._key=o}get path(){return this._path.concat(this._key)}},l_=(t,e)=>{if(Jd(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,error:new Ut(t.common.issues)}};function re(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(i,a)=>i.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:n??a.defaultError}:{message:r??a.defaultError},description:o}}var ne=class{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return Mn(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:Mn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new it,ctx:{common:e.parent.common,data:e.data,parsedType:Mn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(Qd(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){var n;let o={common:{issues:[],async:(n=r?.async)!==null&&n!==void 0?n:!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Mn(e)},s=this._parseSync({data:e,path:o.path,parent:o});return l_(o,s)}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Mn(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(Qd(o)?o:Promise.resolve(o));return l_(n,s)}refine(e,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,s)=>{let i=e(o),a=()=>s.addIssue({code:B.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,r){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(e){return new Rt({schema:this,typeName:Q.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return ar.create(this,this._def)}nullable(){return tn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return en.create(this,this._def)}promise(){return jn.create(this,this._def)}or(e){return Jo.create([this,e],this._def)}and(e){return Qo.create(this,e,this._def)}transform(e){return new Rt({...re(this._def),schema:this,typeName:Q.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new rs({...re(this._def),innerType:this,defaultValue:r,typeName:Q.ZodDefault})}brand(){return new rf({typeName:Q.ZodBranded,type:this,...re(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Ui({...re(this._def),innerType:this,catchValue:r,typeName:Q.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return Ic.create(this,e)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},a4=/^c[^\s-]{8,}$/i,c4=/^[a-z][a-z0-9]*$/,u4=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,l4=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,d4=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,f4=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,h4=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,p4=t=>t.precision?t.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${t.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${t.precision}}Z$`):t.precision===0?t.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):t.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function m4(t,e){return!!((e==="v4"||!e)&&f4.test(t)||(e==="v6"||!e)&&h4.test(t))}var Fn=class t extends ne{constructor(){super(...arguments),this._regex=(e,r,n)=>this.refinement(o=>e.test(o),{validation:r,code:B.invalid_string,...K.errToObj(n)}),this.nonempty=e=>this.min(1,K.errToObj(e)),this.trim=()=>new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==M.string){let s=this._getOrReturnCtx(e);return z(s,{code:B.invalid_type,expected:M.string,received:s.parsedType}),te}let n=new it,o;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),z(o,{code:B.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),z(o,{code:B.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let i=e.data.length>s.value,a=e.data.length<s.value;(i||a)&&(o=this._getOrReturnCtx(e,o),i?z(o,{code:B.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&z(o,{code:B.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")l4.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"email",code:B.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")d4.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"emoji",code:B.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")u4.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"uuid",code:B.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")a4.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"cuid",code:B.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")c4.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"cuid2",code:B.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),z(o,{validation:"url",code:B.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"regex",code:B.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),z(o,{code:B.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),z(o,{code:B.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?p4(s).test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{code:B.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="ip"?m4(e.data,s.version)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"ip",code:B.invalid_string,message:s.message}),n.dirty()):xe.assertNever(s);return{status:n.value,value:e.data}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...K.errToObj(e)})}url(e){return this._addCheck({kind:"url",...K.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...K.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...K.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...K.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...K.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...K.errToObj(e)})}datetime(e){var r;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:(r=e?.offset)!==null&&r!==void 0?r:!1,...K.errToObj(e?.message)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...K.errToObj(r)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...K.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...K.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...K.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...K.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...K.errToObj(r)})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};Fn.create=t=>{var e;return new Fn({checks:[],typeName:Q.ZodString,coerce:(e=t?.coerce)!==null&&e!==void 0?e:!1,...re(t)})};function y4(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=parseInt(t.toFixed(o).replace(".","")),i=parseInt(e.toFixed(o).replace(".",""));return s%i/Math.pow(10,o)}var Ho=class t extends ne{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==M.number){let s=this._getOrReturnCtx(e);return z(s,{code:B.invalid_type,expected:M.number,received:s.parsedType}),te}let n,o=new it;for(let s of this._def.checks)s.kind==="int"?xe.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),z(n,{code:B.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),z(n,{code:B.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),z(n,{code:B.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?y4(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),z(n,{code:B.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),z(n,{code:B.not_finite,message:s.message}),o.dirty()):xe.assertNever(s);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,K.toString(r))}gt(e,r){return this.setLimit("min",e,!1,K.toString(r))}lte(e,r){return this.setLimit("max",e,!0,K.toString(r))}lt(e,r){return this.setLimit("max",e,!1,K.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:K.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:K.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:K.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:K.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:K.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:K.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:K.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:K.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:K.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:K.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&xe.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}};Ho.create=t=>new Ho({checks:[],typeName:Q.ZodNumber,coerce:t?.coerce||!1,...re(t)});var qo=class t extends ne{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==M.bigint){let s=this._getOrReturnCtx(e);return z(s,{code:B.invalid_type,expected:M.bigint,received:s.parsedType}),te}let n,o=new it;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),z(n,{code:B.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),z(n,{code:B.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),z(n,{code:B.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):xe.assertNever(s);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,K.toString(r))}gt(e,r){return this.setLimit("min",e,!1,K.toString(r))}lte(e,r){return this.setLimit("max",e,!0,K.toString(r))}lt(e,r){return this.setLimit("max",e,!1,K.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:K.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:K.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:K.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:K.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:K.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:K.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};qo.create=t=>{var e;return new qo({checks:[],typeName:Q.ZodBigInt,coerce:(e=t?.coerce)!==null&&e!==void 0?e:!1,...re(t)})};var Vo=class extends ne{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==M.boolean){let n=this._getOrReturnCtx(e);return z(n,{code:B.invalid_type,expected:M.boolean,received:n.parsedType}),te}return dt(e.data)}};Vo.create=t=>new Vo({typeName:Q.ZodBoolean,coerce:t?.coerce||!1,...re(t)});var Go=class t extends ne{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==M.date){let s=this._getOrReturnCtx(e);return z(s,{code:B.invalid_type,expected:M.date,received:s.parsedType}),te}if(isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return z(s,{code:B.invalid_date}),te}let n=new it,o;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(o=this._getOrReturnCtx(e,o),z(o,{code:B.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),z(o,{code:B.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):xe.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:K.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:K.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}};Go.create=t=>new Go({checks:[],coerce:t?.coerce||!1,typeName:Q.ZodDate,...re(t)});var Ii=class extends ne{_parse(e){if(this._getType(e)!==M.symbol){let n=this._getOrReturnCtx(e);return z(n,{code:B.invalid_type,expected:M.symbol,received:n.parsedType}),te}return dt(e.data)}};Ii.create=t=>new Ii({typeName:Q.ZodSymbol,...re(t)});var Ko=class extends ne{_parse(e){if(this._getType(e)!==M.undefined){let n=this._getOrReturnCtx(e);return z(n,{code:B.invalid_type,expected:M.undefined,received:n.parsedType}),te}return dt(e.data)}};Ko.create=t=>new Ko({typeName:Q.ZodUndefined,...re(t)});var Zo=class extends ne{_parse(e){if(this._getType(e)!==M.null){let n=this._getOrReturnCtx(e);return z(n,{code:B.invalid_type,expected:M.null,received:n.parsedType}),te}return dt(e.data)}};Zo.create=t=>new Zo({typeName:Q.ZodNull,...re(t)});var zn=class extends ne{constructor(){super(...arguments),this._any=!0}_parse(e){return dt(e.data)}};zn.create=t=>new zn({typeName:Q.ZodAny,...re(t)});var Yr=class extends ne{constructor(){super(...arguments),this._unknown=!0}_parse(e){return dt(e.data)}};Yr.create=t=>new Yr({typeName:Q.ZodUnknown,...re(t)});var cr=class extends ne{_parse(e){let r=this._getOrReturnCtx(e);return z(r,{code:B.invalid_type,expected:M.never,received:r.parsedType}),te}};cr.create=t=>new cr({typeName:Q.ZodNever,...re(t)});var Bi=class extends ne{_parse(e){if(this._getType(e)!==M.undefined){let n=this._getOrReturnCtx(e);return z(n,{code:B.invalid_type,expected:M.void,received:n.parsedType}),te}return dt(e.data)}};Bi.create=t=>new Bi({typeName:Q.ZodVoid,...re(t)});var en=class t extends ne{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==M.array)return z(r,{code:B.invalid_type,expected:M.array,received:r.parsedType}),te;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(i||a)&&(z(r,{code:i?B.too_big:B.too_small,minimum:a?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&r.data.length<o.minLength.value&&(z(r,{code:B.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&(z(r,{code:B.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((i,a)=>o.type._parseAsync(new Kt(r,i,r.path,a)))).then(i=>it.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new Kt(r,i,r.path,a)));return it.mergeArray(n,s)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:K.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:K.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:K.toString(r)}})}nonempty(e){return this.min(1,e)}};en.create=(t,e)=>new en({type:t,minLength:null,maxLength:null,exactLength:null,typeName:Q.ZodArray,...re(e)});var Xd;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Xd||(Xd={}));function Ci(t){if(t instanceof wt){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=ar.create(Ci(n))}return new wt({...t._def,shape:()=>e})}else return t instanceof en?en.create(Ci(t.element)):t instanceof ar?ar.create(Ci(t.unwrap())):t instanceof tn?tn.create(Ci(t.unwrap())):t instanceof Tr?Tr.create(t.items.map(e=>Ci(e))):t}var wt=class t extends ne{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=xe.objectKeys(e);return this._cached={shape:e,keys:r}}_parse(e){if(this._getType(e)!==M.object){let u=this._getOrReturnCtx(e);return z(u,{code:B.invalid_type,expected:M.object,received:u.parsedType}),te}let{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof cr&&this._def.unknownKeys==="strip"))for(let u in o.data)i.includes(u)||a.push(u);let c=[];for(let u of i){let l=s[u],d=o.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new Kt(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof cr){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of a)c.push({key:{status:"valid",value:l},value:{status:"valid",value:o.data[l]}});else if(u==="strict")a.length>0&&(z(o,{code:B.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of a){let d=o.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new Kt(o,d,o.path,l)),alwaysSet:l in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key;u.push({key:d,value:await l.value,alwaysSet:l.alwaysSet})}return u}).then(u=>it.mergeObjectSync(n,u)):it.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return K.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{var o,s,i,a;let c=(i=(s=(o=this._def).errorMap)===null||s===void 0?void 0:s.call(o,r,n).message)!==null&&i!==void 0?i:n.defaultError;return r.code==="unrecognized_keys"?{message:(a=K.errToObj(e).message)!==null&&a!==void 0?a:c}:{message:c}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>Xd.mergeShapes(this._def.shape(),e._def.shape()),typeName:Q.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};return xe.objectKeys(e).forEach(n=>{e[n]&&this.shape[n]&&(r[n]=this.shape[n])}),new t({...this._def,shape:()=>r})}omit(e){let r={};return xe.objectKeys(this.shape).forEach(n=>{e[n]||(r[n]=this.shape[n])}),new t({...this._def,shape:()=>r})}deepPartial(){return Ci(this)}partial(e){let r={};return xe.objectKeys(this.shape).forEach(n=>{let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional()}),new t({...this._def,shape:()=>r})}required(e){let r={};return xe.objectKeys(this.shape).forEach(n=>{if(e&&!e[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof ar;)s=s._def.innerType;r[n]=s}}),new t({...this._def,shape:()=>r})}keyof(){return p_(xe.objectKeys(this.shape))}};wt.create=(t,e)=>new wt({shape:()=>t,unknownKeys:"strip",catchall:cr.create(),typeName:Q.ZodObject,...re(e)});wt.strictCreate=(t,e)=>new wt({shape:()=>t,unknownKeys:"strict",catchall:cr.create(),typeName:Q.ZodObject,...re(e)});wt.lazycreate=(t,e)=>new wt({shape:t,unknownKeys:"strip",catchall:cr.create(),typeName:Q.ZodObject,...re(e)});var Jo=class extends ne{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function o(s){for(let a of s)if(a.result.status==="valid")return a.result;for(let a of s)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let i=s.map(a=>new Ut(a.ctx.common.issues));return z(r,{code:B.invalid_union,unionErrors:i}),te}if(r.common.async)return Promise.all(n.map(async s=>{let i={...r,common:{...r.common,issues:[]},parent:null};return{result:await s._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(o);{let s,i=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!s&&(s={result:l,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(s)return r.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(c=>new Ut(c));return z(r,{code:B.invalid_union,unionErrors:a}),te}}get options(){return this._def.options}};Jo.create=(t,e)=>new Jo({options:t,typeName:Q.ZodUnion,...re(e)});var Gd=t=>t instanceof Xo?Gd(t.schema):t instanceof Rt?Gd(t.innerType()):t instanceof Yo?[t.value]:t instanceof es?t.options:t instanceof ts?Object.keys(t.enum):t instanceof rs?Gd(t._def.innerType):t instanceof Ko?[void 0]:t instanceof Zo?[null]:null,Yd=class t extends ne{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==M.object)return z(r,{code:B.invalid_type,expected:M.object,received:r.parsedType}),te;let n=this.discriminator,o=r.data[n],s=this.optionsMap.get(o);return s?r.common.async?s._parseAsync({data:r.data,path:r.path,parent:r}):s._parseSync({data:r.data,path:r.path,parent:r}):(z(r,{code:B.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),te)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let s of r){let i=Gd(s.shape[e]);if(!i)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of i){if(o.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);o.set(a,s)}}return new t({typeName:Q.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...re(n)})}};function lw(t,e){let r=Mn(t),n=Mn(e);if(t===e)return{valid:!0,data:t};if(r===M.object&&n===M.object){let o=xe.objectKeys(e),s=xe.objectKeys(t).filter(a=>o.indexOf(a)!==-1),i={...t,...e};for(let a of s){let c=lw(t[a],e[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===M.array&&n===M.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let s=0;s<t.length;s++){let i=t[s],a=e[s],c=lw(i,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===M.date&&n===M.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var Qo=class extends ne{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(s,i)=>{if(cw(s)||cw(i))return te;let a=lw(s.value,i.value);return a.valid?((uw(s)||uw(i))&&r.dirty(),{status:r.value,value:a.data}):(z(n,{code:B.invalid_intersection_types}),te)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Qo.create=(t,e,r)=>new Qo({left:t,right:e,typeName:Q.ZodIntersection,...re(r)});var Tr=class t extends ne{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==M.array)return z(n,{code:B.invalid_type,expected:M.array,received:n.parsedType}),te;if(n.data.length<this._def.items.length)return z(n,{code:B.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),te;!this._def.rest&&n.data.length>this._def.items.length&&(z(n,{code:B.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let s=[...n.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new Kt(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>it.mergeArray(r,i)):it.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Tr.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Tr({items:t,typeName:Q.ZodTuple,rest:null,...re(e)})};var ef=class t extends ne{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==M.object)return z(n,{code:B.invalid_type,expected:M.object,received:n.parsedType}),te;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new Kt(n,a,n.path,a)),value:i._parse(new Kt(n,n.data[a],n.path,a))});return n.common.async?it.mergeObjectAsync(r,o):it.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof ne?new t({keyType:e,valueType:r,typeName:Q.ZodRecord,...re(n)}):new t({keyType:Fn.create(),valueType:e,typeName:Q.ZodRecord,...re(r)})}},Pi=class extends ne{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==M.map)return z(n,{code:B.invalid_type,expected:M.map,received:n.parsedType}),te;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new Kt(n,a,n.path,[u,"key"])),value:s._parse(new Kt(n,c,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return te;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of i){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return te;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}}}};Pi.create=(t,e,r)=>new Pi({valueType:e,keyType:t,typeName:Q.ZodMap,...re(r)});var Li=class t extends ne{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==M.set)return z(n,{code:B.invalid_type,expected:M.set,received:n.parsedType}),te;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(z(n,{code:B.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&(z(n,{code:B.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let s=this._def.valueType;function i(c){let u=new Set;for(let l of c){if(l.status==="aborted")return te;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let a=[...n.data.values()].map((c,u)=>s._parse(new Kt(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(e,r){return new t({...this._def,minSize:{value:e,message:K.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:K.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};Li.create=(t,e)=>new Li({valueType:t,minSize:null,maxSize:null,typeName:Q.ZodSet,...re(e)});var tf=class t extends ne{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==M.function)return z(r,{code:B.invalid_type,expected:M.function,received:r.parsedType}),te;function n(a,c){return Zd({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Kd(),Cc].filter(u=>!!u),issueData:{code:B.invalid_arguments,argumentsError:c}})}function o(a,c){return Zd({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Kd(),Cc].filter(u=>!!u),issueData:{code:B.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;return this._def.returns instanceof jn?dt(async(...a)=>{let c=new Ut([]),u=await this._def.args.parseAsync(a,s).catch(p=>{throw c.addIssue(n(a,p)),c}),l=await i(...u);return await this._def.returns._def.type.parseAsync(l,s).catch(p=>{throw c.addIssue(o(l,p)),c})}):dt((...a)=>{let c=this._def.args.safeParse(a,s);if(!c.success)throw new Ut([n(a,c.error)]);let u=i(...c.data),l=this._def.returns.safeParse(u,s);if(!l.success)throw new Ut([o(u,l.error)]);return l.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:Tr.create(e).rest(Yr.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||Tr.create([]).rest(Yr.create()),returns:r||Yr.create(),typeName:Q.ZodFunction,...re(n)})}},Xo=class extends ne{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Xo.create=(t,e)=>new Xo({getter:t,typeName:Q.ZodLazy,...re(e)});var Yo=class extends ne{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return z(r,{received:r.data,code:B.invalid_literal,expected:this._def.value}),te}return{status:"valid",value:e.data}}get value(){return this._def.value}};Yo.create=(t,e)=>new Yo({value:t,typeName:Q.ZodLiteral,...re(e)});function p_(t,e){return new es({values:t,typeName:Q.ZodEnum,...re(e)})}var es=class t extends ne{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return z(r,{expected:xe.joinValues(n),received:r.parsedType,code:B.invalid_type}),te}if(this._def.values.indexOf(e.data)===-1){let r=this._getOrReturnCtx(e),n=this._def.values;return z(r,{received:r.data,code:B.invalid_enum_value,options:n}),te}return dt(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e){return t.create(e)}exclude(e){return t.create(this.options.filter(r=>!e.includes(r)))}};es.create=p_;var ts=class extends ne{_parse(e){let r=xe.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==M.string&&n.parsedType!==M.number){let o=xe.objectValues(r);return z(n,{expected:xe.joinValues(o),received:n.parsedType,code:B.invalid_type}),te}if(r.indexOf(e.data)===-1){let o=xe.objectValues(r);return z(n,{received:n.data,code:B.invalid_enum_value,options:o}),te}return dt(e.data)}get enum(){return this._def.values}};ts.create=(t,e)=>new ts({values:t,typeName:Q.ZodNativeEnum,...re(e)});var jn=class extends ne{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==M.promise&&r.common.async===!1)return z(r,{code:B.invalid_type,expected:M.promise,received:r.parsedType}),te;let n=r.parsedType===M.promise?r.data:Promise.resolve(r.data);return dt(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};jn.create=(t,e)=>new jn({type:t,typeName:Q.ZodPromise,...re(e)});var Rt=class extends ne{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Q.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null;if(o.type==="preprocess"){let i=o.transform(n.data);return n.common.async?Promise.resolve(i).then(a=>this._def.schema._parseAsync({data:a,path:n.path,parent:n})):this._def.schema._parseSync({data:i,path:n.path,parent:n})}let s={addIssue:i=>{z(n,i),i.fatal?r.abort():r.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="refinement"){let i=a=>{let c=o.refinement(a,s);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?te:(a.status==="dirty"&&r.dirty(),i(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?te:(a.status==="dirty"&&r.dirty(),i(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Jd(i))return i;let a=o.transform(i.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>Jd(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):i);xe.assertNever(o)}};Rt.create=(t,e,r)=>new Rt({schema:t,typeName:Q.ZodEffects,effect:e,...re(r)});Rt.createWithPreprocess=(t,e,r)=>new Rt({schema:e,effect:{type:"preprocess",transform:t},typeName:Q.ZodEffects,...re(r)});var ar=class extends ne{_parse(e){return this._getType(e)===M.undefined?dt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};ar.create=(t,e)=>new ar({innerType:t,typeName:Q.ZodOptional,...re(e)});var tn=class extends ne{_parse(e){return this._getType(e)===M.null?dt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};tn.create=(t,e)=>new tn({innerType:t,typeName:Q.ZodNullable,...re(e)});var rs=class extends ne{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===M.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};rs.create=(t,e)=>new rs({innerType:t,typeName:Q.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...re(e)});var Ui=class extends ne{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Qd(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Ut(n.common.issues)}})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Ut(n.common.issues)}})}}removeCatch(){return this._def.innerType}};Ui.create=(t,e)=>new Ui({innerType:t,typeName:Q.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...re(e)});var Ri=class extends ne{_parse(e){if(this._getType(e)!==M.nan){let n=this._getOrReturnCtx(e);return z(n,{code:B.invalid_type,expected:M.nan,received:n.parsedType}),te}return{status:"valid",value:e.data}}};Ri.create=t=>new Ri({typeName:Q.ZodNaN,...re(t)});var g4=Symbol("zod_brand"),rf=class extends ne{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},Ic=class t extends ne{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?te:s.status==="dirty"?(r.dirty(),h_(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?te:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:Q.ZodPipeline})}},m_=(t,e={},r)=>t?zn.create().superRefine((n,o)=>{var s,i;if(!t(n)){let a=typeof e=="function"?e(n):e,c=(i=(s=a.fatal)!==null&&s!==void 0?s:r)!==null&&i!==void 0?i:!0,u=typeof a=="string"?{message:a}:a;o.addIssue({code:"custom",...u,fatal:c})}}):zn.create(),w4={object:wt.lazycreate},Q;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline"})(Q||(Q={}));var b4=(t,e={message:`Input not instance of ${t.name}`})=>m_(r=>r instanceof t,e),y_=Fn.create,g_=Ho.create,x4=Ri.create,k4=qo.create,w_=Vo.create,v4=Go.create,S4=Ii.create,E4=Ko.create,_4=Zo.create,A4=zn.create,D4=Yr.create,T4=cr.create,C4=Bi.create,I4=en.create,B4=wt.create,P4=wt.strictCreate,L4=Jo.create,U4=Yd.create,R4=Qo.create,N4=Tr.create,O4=ef.create,$4=Pi.create,M4=Li.create,F4=tf.create,z4=Xo.create,j4=Yo.create,W4=es.create,H4=ts.create,q4=jn.create,d_=Rt.create,V4=ar.create,G4=tn.create,K4=Rt.createWithPreprocess,Z4=Ic.create,J4=()=>y_().optional(),Q4=()=>g_().optional(),X4=()=>w_().optional(),Y4={string:t=>Fn.create({...t,coerce:!0}),number:t=>Ho.create({...t,coerce:!0}),boolean:t=>Vo.create({...t,coerce:!0}),bigint:t=>qo.create({...t,coerce:!0}),date:t=>Go.create({...t,coerce:!0})},eR=te,Xe=Object.freeze({__proto__:null,defaultErrorMap:Cc,setErrorMap:s4,getErrorMap:Kd,makeIssue:Zd,EMPTY_PATH:i4,addIssueToContext:z,ParseStatus:it,INVALID:te,DIRTY:h_,OK:dt,isAborted:cw,isDirty:uw,isValid:Jd,isAsync:Qd,get util(){return xe},ZodParsedType:M,getParsedType:Mn,ZodType:ne,ZodString:Fn,ZodNumber:Ho,ZodBigInt:qo,ZodBoolean:Vo,ZodDate:Go,ZodSymbol:Ii,ZodUndefined:Ko,ZodNull:Zo,ZodAny:zn,ZodUnknown:Yr,ZodNever:cr,ZodVoid:Bi,ZodArray:en,get objectUtil(){return Xd},ZodObject:wt,ZodUnion:Jo,ZodDiscriminatedUnion:Yd,ZodIntersection:Qo,ZodTuple:Tr,ZodRecord:ef,ZodMap:Pi,ZodSet:Li,ZodFunction:tf,ZodLazy:Xo,ZodLiteral:Yo,ZodEnum:es,ZodNativeEnum:ts,ZodPromise:jn,ZodEffects:Rt,ZodTransformer:Rt,ZodOptional:ar,ZodNullable:tn,ZodDefault:rs,ZodCatch:Ui,ZodNaN:Ri,BRAND:g4,ZodBranded:rf,ZodPipeline:Ic,custom:m_,Schema:ne,ZodSchema:ne,late:w4,get ZodFirstPartyTypeKind(){return Q},coerce:Y4,any:A4,array:I4,bigint:k4,boolean:w_,date:v4,discriminatedUnion:U4,effect:d_,enum:W4,function:F4,instanceof:b4,intersection:R4,lazy:z4,literal:j4,map:$4,nan:x4,nativeEnum:H4,never:T4,null:_4,nullable:G4,number:g_,object:B4,oboolean:X4,onumber:Q4,optional:V4,ostring:J4,pipeline:Z4,preprocess:K4,promise:q4,record:O4,set:M4,strictObject:P4,string:y_,symbol:S4,transformer:d_,tuple:N4,undefined:E4,union:L4,unknown:D4,void:C4,NEVER:eR,ZodIssueCode:B,quotelessJson:o4,ZodError:Ut});var tR=Xe.enum(["awake/init","awake/res","awake/msg"]),x_=Xe.object({awv:Xe.literal("0.1.0"),type:tR}),k_=Xe.object({did:Xe.string().startsWith("did:",{message:"should be a DID `did:key:z...`"}),sig:Xe.string()}).strict(),v_=Xe.object({"awake/ack":Xe.string().startsWith("did:",{message:"should be a DID `did:key:z...`"})}).strict(),UV=x_.extend({type:Xe.literal("awake/init"),did:Xe.string().startsWith("did:",{message:"should be a DID `did:key:z...`"}),caps:Xe.array(Xe.object({with:Xe.string(),can:Xe.string()})).nonempty()}).strict(),b_=Xe.string().startsWith("did:",{message:"should be a DID `did:key:z...`"}),RV=x_.extend({type:Xe.literal("awake/res"),iss:b_,aud:b_,msg:Xe.string().min(1)}).strict();var nf=class{constructor(e){this.channel=e.channel,this.agent=e.agent,this.did=e.agent.did(),this.challenge=void 0,this.nextdid=void 0,this.audience=void 0,this.pin=Math.floor(Math.random()*1e6)}async bootstrap(e){this.channel.sendInit(e);let{ucan:r}=await this.channel.awaitRes(),n=S_(r.facts,"awake/challenge");if(this.nextdid=Ue(S_(r.facts,"awake/nextdid")),n==="oob-pin")return await this.sendPinSignature(),this.pin.toString()}async awaitBootstrap(){let e=await this.channel.awaitInit();this.nextdid=e.did;let r=await gi({issuer:this.agent.issuer,audience:this.nextdid,capabilities:[{with:"awake:",can:"*"}],facts:[{"awake/challenge":"oob-pin"},{"awake/nextdid":this.channel.keypair.did}]});await this.channel.sendRes(this.nextdid,r);let n=await this.channel.awaitMsg(this.nextdid),{did:o,sig:s}=k_.parse(n.msg);this.audience=Ue(o),this.challenge=s}async ack(e){if(!this.challenge||!this.nextdid||!this.audience)throw new Error("No challenge active.");let r=Xr(this.challenge,"base64"),n=zo.parse(this.audience.did()),o=Xr(this.channel.keypair.did+e),s=await ue.encode(o);if(!await n.verify(s,En(r)))throw new Error(`Challenge failed: ${e} is not valid for the current challenge.`);await this.channel.sendMsg(this.nextdid,{"awake/ack":this.did})}async awaitAck(){if(!this.nextdid)throw new Error("No session is active. await ack");let e=await this.channel.awaitMsg(this.nextdid),r=v_.parse(e.msg);this.audience=Ue(r["awake/ack"])}async link(e){if(!this.nextdid||!this.audience)throw new Error("No session is active. request link");let r={type:"link",meta:e.meta,caps:e.caps};this.channel.sendMsg(this.nextdid,r);let n=await this.channel.awaitMsg(this.nextdid),o=u_(n.msg.delegation);return await this.channel.sendFin(this.nextdid),await this.agent.addProof(o[0]),{delegation:o[0],meta:n.msg.meta}}async awaitLink(){if(!this.nextdid||!this.audience)throw new Error("No challenge active.");let e=await this.channel.awaitMsg(this.nextdid),r=await this.agent.delegate({abilities:["*"],audience:this.audience,expiration:1/0,audienceMeta:e.msg.meta});this.channel.subscribe("awake/msg",n=>{this.channel.close()}),this.channel.sendMsg(this.nextdid,{meta:{name:this.agent.did(),type:"device"},delegation:c_([r])})}async sendPinSignature(){if(!this.nextdid)throw new Error("No session is active.");let e=Xr(this.nextdid.did()+this.pin.toString()),r=await this.agent.issuer.sign(await ue.encode(e));this.channel.sendMsg(this.nextdid,{did:this.did,sig:Tc(r,"base64")})}};function S_(t,e){for(let r of t)if(r[e])return r[e]}var Bc=t=>t,E_=t=>Object.entries(t),__=([t,...e])=>{let r=t.map(n=>[n]);for(let n of e){let o=r.splice(0);for(let s of n)for(let i of o)r.push([...i,s])}return r},dw=(t,e)=>{let[r,n]=t.length<e.length?[new Set(t),new Set(e)]:[new Set(e),new Set(t)];for(let o of r)n.has(o)||r.delete(o);return[...r]};var Pc=class extends Vt{constructor(e,r,n){super(),this.claimed=e,this.delegated=r,this.cause=n,this.name=Bc("EscalatedCapability")}describe(){return`Constraint violation: ${this.cause.message}`}},rn=class extends Vt{constructor(e,r){super(),this.name=Bc("InvalidClaim"),this.causes=e,this.context=r}describe(){return[`Can not derive ${this.context} from delegated capabilities:`,...this.causes.map(e=>fw(e.message))].join(`
|
11
|
-
`)}get cause(){if(this.causes.length!==1)return this;{let[e]=this.causes,r=e.name==="InvalidClaim"?e.cause:e;return Object.defineProperties(this,{cause:{value:r}}),r}}};var Wn=class extends Vt{constructor(e,r){super(),this.name=Bc("MalformedCapability"),this.capability=e,this.cause=r}describe(){return[`Encountered malformed '${this.capability.can}' capability: ${A_(this.capability)}`,fw(this.cause.message)].join(`
|
12
|
-
`)}},Ni=class extends Vt{constructor(e){super(),this.name=Bc("UnknownCapability"),this.capability=e}describe(){return`Encountered unknown capability: ${A_(this.capability)}`}};var A_=(t,e)=>JSON.stringify(t,(r,n)=>Se(n)?n.toString():n,e),nR=(t,e=" ")=>`${e}${t.split(`
|
13
|
-
`).join(`
|
14
|
-
${e}`)}`,fw=t=>nR(`- ${t}`);var T=({derives:t=pR,nb:e=oR,...r})=>new hw({derives:t,nb:e,...r}),oR=x.struct({}),sR=(t,e)=>new pw(t,e),iR=(...t)=>new mw(t),aR=({from:t,to:e,derives:r})=>new yw(t,e,r),of=class{match(e){return{error:new Ni(e.capability)}}select(e){return hR(this,e)}derive({derives:e,to:r}){return aR({derives:e,to:r,from:this})}},Lc=class extends of{or(e){return sR(this,e)}and(e){return iR(this,e)}},hw=class extends Lc{constructor(e){super(),this.descriptor=e,this.schema=x.struct({can:x.literal(e.can),with:e.with,nb:e.nb})}create(e){let{descriptor:r,can:n}=this,o=r.nb,s=e.nb||{},i=r.with.read(e.with);if(i.error)throw Object.assign(new Error(`Invalid 'with' - ${i.error.message}`),{cause:i});let a=r.nb.read(s);if(a.error)throw Object.assign(new Error(`Invalid 'nb' - ${a.error.message}`),{cause:a});return D_({can:n,with:i.ok,nb:a.ok})}invoke({with:e,nb:r,...n}){return Ro({...n,capability:this.create({with:e,nb:r})})}async delegate({nb:e={},with:r,...n}){let{descriptor:o,can:s}=this,i=o.nb,a=o.with.read(r);if(a.error)throw Object.assign(new Error(`Invalid 'with' - ${a.error.message}`),{cause:a});let c=o.nb.partial().read(e);if(c.error)throw Object.assign(new Error(`Invalid 'nb' - ${c.error.message}`),{cause:c});return Lt({capabilities:[D_({can:s,with:a.ok,nb:c.ok})],...n})}get can(){return this.descriptor.can}match(e){let r=dR(this.descriptor,e);return r.error?r:{ok:new gw(e,r.ok,this.descriptor)}}toString(){return JSON.stringify({can:this.descriptor.can})}},D_=({can:t,with:e,nb:r})=>({can:t,with:e,...cR(r)?{}:{nb:r}}),cR=t=>{for(let e in t)return!1;return!0},pw=class extends Lc{constructor(e,r){super(),this.left=e,this.right=r}match(e){let r=this.left.match(e);if(r.error){let n=this.right.match(e);return n.error?n.error.name==="MalformedCapability"?n:r:n}else return r}toString(){return`${this.left.toString()}|${this.right.toString()}`}},mw=class t extends of{constructor(e){super(),this.selectors=e}match(e){let r=[];for(let n of this.selectors){let o=n.match(e);if(o.error)return o;r.push(o.ok)}return{ok:new sf(r)}}select(e){return T_(this,e)}and(e){return new t([...this.selectors,e])}toString(){return`[${this.selectors.map(String).join(", ")}]`}},yw=class extends Lc{constructor(e,r,n){super(),this.from=e,this.to=r,this.derives=n}create(e){return this.to.create(e)}invoke(e){return this.to.invoke(e)}delegate(e){return this.to.delegate(e)}get can(){return this.to.can}match(e){let r=this.to.match(e);return r.error?r:{ok:new ww(r.ok,this.from,this.derives)}}toString(){return this.to.toString()}},gw=class t{constructor(e,r,n){this.source=[e],this.value=r,this.descriptor=n}get can(){return this.value.can}get proofs(){let e=[this.source[0].delegation];return Object.defineProperties(this,{proofs:{value:e}}),e}prune(e){return e.canIssue(this.value,this.source[0].delegation.issuer.did())?null:this}select(e){let r=[],n=[],o=[];for(let s of e){let i=fR(this.descriptor,this.value,s);if(i.ok){let a=this.descriptor.derives(this.value,i.ok);a.error?n.push(new rn([new Pc(this.value,i.ok,a.error)],this)):o.push(new t(s,i.ok,this.descriptor))}else switch(i.error.name){case"UnknownCapability":r.push(i.error.capability);break;case"MalformedCapability":default:n.push(new rn([i.error],this))}}return{matches:o,unknown:r,errors:n}}toString(){let{nb:e}=this.value;return JSON.stringify({can:this.descriptor.can,with:this.value.with,nb:e&&Object.keys(e).length>0?e:void 0})}},ww=class t{constructor(e,r,n){this.selected=e,this.from=r,this.derives=n}get can(){return this.value.can}get source(){return this.selected.source}get proofs(){let e=[];for(let{delegation:r}of this.selected.source)e.push(r);return Object.defineProperties(this,{proofs:{value:e}}),e}get value(){return this.selected.value}prune(e){let r=this.selected.prune(e);return r?new t(r,this.from,this.derives):null}select(e){let{derives:r,selected:n,from:o}=this,{value:s}=n,i=n.select(e),a=o.select(e),c=[],u=[];for(let l of a.matches){let d=r(s,l.value);d.error?u.push(new rn([new Pc(s,l.value,d.error)],this)):c.push(l)}return{unknown:dw(i.unknown,a.unknown),errors:[...u,...i.errors,...a.errors.map(l=>new rn([l],this))],matches:[...i.matches.map(l=>new t(l,o,r)),...c]}}toString(){return this.selected.toString()}},sf=class t{constructor(e){this.matches=e}get selectors(){return this.matches}get source(){let e=[];for(let r of this.matches)e.push(...r.source);return Object.defineProperties(this,{source:{value:e}}),e}prune(e){let r=[];for(let n of this.matches){let o=n.prune(e);o&&r.push(o)}return r.length===0?null:new t(r)}get proofs(){let e=[];for(let{delegation:r}of this.source)e.push(r);return Object.defineProperties(this,{proofs:{value:e}}),e}get value(){let e=[];for(let r of this.matches)e.push(r.value);return Object.defineProperties(this,{value:{value:e}}),e}select(e){return T_(this,e)}toString(){return`[${this.matches.map(e=>e.toString()).join(", ")}]`}},uR=(t,e,r)=>{switch(t){case e:case"*":return e;default:return t.endsWith("/*")&&e.startsWith(t.slice(0,-1))?e:r}},lR=(t,e,r)=>{switch(t){case e:case"ucan:*":return e;default:return r}},dR=(t,e)=>{let{delegation:r}=e,n=e.capability;if(t.can!==n.can)return{error:new Ni(n)};let o=t.with.read(n.with);if(o.error)return{error:new Wn(n,o.error)};let s=t.nb.read(n.nb||{});return s.error?{error:new Wn(n,s.error)}:{ok:new af(t.can,o.ok,s.ok,r)}},fR=(t,e,{capability:r,delegation:n})=>{let o=uR(r.can,e.can,null);if(o==null)return{error:new Ni(r)};let s=lR(r.with,e.with,r.with),i=t.with.read(s);if(i.error)return{error:new Wn(r,i.error)};let a=t.nb.read({...e.nb,...r.nb});return a.error?{error:new Wn(r,a.error)}:{ok:new af(o,i.ok,a.ok,n)}},af=class{constructor(e,r,n,o){this.can=e,this.with=r,this.delegation=o,this.nb=n}},hR=(t,e)=>{let r=[],n=[],o=[];for(let s of e){let i=t.match(s);if(i.error)switch(i.error.name){case"UnknownCapability":r.push(i.error.capability);break;case"MalformedCapability":default:o.push(new rn([i.error],i.error.capability))}else n.push(i.ok)}return{matches:n,errors:o,unknown:r}},T_=(t,e)=>{let r,n=[],o=[];for(let i of t.selectors){let a=i.select(e);r=r?dw(r,a.unknown):a.unknown;for(let c of a.errors)o.push(new rn([c],t));n.push(a.matches)}let s=__(n).map(i=>new sf(i));return{unknown:r||[],errors:o,matches:s}},pR=(t,e)=>{if(e.with.endsWith("*")){if(!t.with.startsWith(e.with.slice(0,-1)))return x.error(`Resource ${t.with} does not match delegated ${e.with} `)}else if(e.with!==t.with)return x.error(`Resource ${t.with} is not contained by ${e.with}`);let r=e.nb||{},n=t.nb||{},o=E_(r);for(let[s,i]of o)if(n[s]!=i)return x.error(`${String(s)}: ${n[s]} violates ${i}`);return{ok:!0}};function ce(t,e){return t.with===e.with?C({}):ie(`Can not derive ${t.can} with ${t.with} from ${e.with}`)}function _e(t,e,r){return e===void 0||e==="*"?C({}):String(t)===String(e)?C({}):ie(`Constrain violation: ${t} violates imposed ${r} constraint ${e}`)}var bw=(t,e)=>t.with!==e.with?ie(`Expected 'with: "${e.with}"' instead got '${t.with}'`):e.nb.link&&`${e.nb.link}`!=`${t.nb.link}`?ie(`Link ${t.nb.link?`${t.nb.link}`:""} violates imposed ${e.nb.link} constraint.`):C({}),ns=(t,e,r)=>_e(String(t),e===void 0?void 0:String(e),r),q=t=>t.error?t:void 0;function C_(t){let[e,...r]=t.split("/");return{namespace:e,segments:r}}function I_(t,e){let r=C_(t),n=C_(e);return r.namespace==="*"&&r.segments.length===0?!0:n.namespace==="*"&&n.segments.length===0||r.namespace!==n.namespace?!1:r.segments[0]==="*"?!0:r.segments.length!==n.segments.length?!1:r.segments.reduce((o,s,i)=>o&&n.segments[i]===s,!0)}var B_=T({can:"store/*",with:V.match({protocol:"did:"}),derives:ce}),Uc=T({can:"store/add",with:V.match({protocol:"did:"}),nb:x.struct({link:pe,size:x.integer(),origin:pe.optional()}),derives:(t,e)=>{let r=bw(t,e);return r.error?r:t.nb.size!==void 0&&e.nb.size!==void 0?t.nb.size>e.nb.size?ie(`Size constraint violation: ${t.nb.size} > ${e.nb.size}`):C({}):C({})}}),Rc=T({can:"store/remove",with:V.match({protocol:"did:"}),nb:x.struct({link:pe}),derives:bw}),Nc=T({can:"store/list",with:V.match({protocol:"did:"}),nb:x.struct({cursor:x.string().optional(),size:x.integer().optional(),pre:x.boolean().optional()}),derives:(t,e)=>t.with!==e.with?ie(`Expected 'with: "${e.with}"' instead got '${t.with}'`):C({})}),fG=Uc.or(Rc).or(Nc);var L_=T({can:"upload/*",with:V.match({protocol:"did:"}),derives:ce}),yR=pe.match({code:Re.code,version:1}),Oc=T({can:"upload/add",with:V.match({protocol:"did:"}),nb:x.struct({root:pe,shards:yR.array().optional()}),derives:(t,e)=>q(ce(t,e))||q(_e(t.nb.root,e.nb.root,"root"))||q(_e(t.nb.shards,e.nb.shards,"shards"))||C({})}),$c=T({can:"upload/remove",with:V.match({protocol:"did:"}),nb:x.struct({root:pe}),derives:(t,e)=>q(ce(t,e))||q(_e(t.nb.root,e.nb.root,"root"))||C({})}),Mc=T({can:"upload/list",with:V.match({protocol:"did:"}),nb:x.struct({cursor:x.string().optional(),size:x.integer().optional(),pre:x.boolean().optional()})}),yG=Oc.or($c).or(Mc);var os=T({can:"*",with:V.match({protocol:"did:"}),derives:ce});var xw=x.did({method:"key"}),R_=T({can:"space/*",with:xw,derives:ce}),cf=Uc.or(Nc).or(Rc).or(Oc).or(Mc).or($c).derive({to:T({can:"space/info",with:xw}),derives:ce}),kG=T({can:"space/allocate",with:xw,nb:x.struct({size:x.integer()}),derives:(t,e)=>{let r=ce(t,e);return r.ok?t.nb.size<=e.nb.size?C({}):ie(`Claimed size ${t.nb.size} escalates delegated size ${e.nb.size}`):r}});var Hn={};F(Hn,{Account:()=>kw,AuthorizationRequest:()=>$_,CapabilityRequest:()=>vw,access:()=>Sw,authorize:()=>Fc,claim:()=>Ew,confirm:()=>wR,delegate:()=>_w,session:()=>zc,top:()=>os});var kw=ee.match({method:"mailto"}),vw=x.struct({can:x.string()}),$_=x.struct({iss:kw,att:vw.array()}),Sw=T({can:"access/*",with:V.match({protocol:"did:"})}),Fc=T({can:"access/authorize",with:ee.match({method:"key"}),nb:$_,derives:(t,e)=>q(ce(t,e))||q(_e(t.nb.iss,e.nb.iss,"iss"))||q(M_(t.nb.att,e.nb.att))||C({})}),wR=T({can:"access/confirm",with:ee,nb:x.struct({iss:kw,aud:x.did(),att:vw.array()}),derives:(t,e)=>q(ce(t,e))||q(_e(t.nb.iss,e.nb.iss,"iss"))||q(_e(t.nb.aud,e.nb.aud,"aud"))||q(M_(t.nb.att,e.nb.att))||C({})}),zc=T({can:"ucan/attest",with:V.match({protocol:"did:"}),nb:x.struct({proof:pe})}),Ew=T({can:"access/claim",with:ee.match({method:"key"}).or(ee.match({method:"mailto"}))}),_w=T({can:"access/delegate",with:ee.match({method:"key"}),nb:x.struct({delegations:x.dictionary({value:x.Link.match()})}),derives:(t,e)=>q(ce(t,e))||q(bR(t,e))||C({})});function bR(t,e){let r=F_(O_(t),new Set(O_(e)));return r.size>0?ie(`unauthorized nb.delegations ${[...r].join(", ")}`):C({})}var M_=(t,e)=>{let r=new Set(e.map(o=>o.can));if(r.has("*"))return C({});let n=F_(t.map(o=>o.can),r);return n.size>0?ie(`unauthorized nb.att.can ${[...n].join(", ")}`):C({})};function*O_(t){for(let e of Object.values(t.nb.delegations||{}))yield e.toString()}function F_(t,e){let r=new Set;for(let n of t)e.has(n)||r.add(n);return r}var Rw={};F(Rw,{Verifier:()=>Vn,code:()=>jc,decode:()=>X_,from:()=>Q_,generate:()=>Uw,name:()=>AR,or:()=>CR,signatureAlgorithm:()=>Pw,signatureCode:()=>Wc});var xR=globalThis||window||self,qn=xR.crypto;var uf=(t,e)=>{let r=Y.encodingLength(t),n=new Uint8Array(e.byteLength+r);return Y.encodeTo(t,n,0),n.set(e,r),n},lf=(t,e,r=0)=>{let n=r!==0?e.subarray(r):e,[o,s]=Y.decode(n);if(o!==t)throw new Error(`Expected multiformat with 0x${t.toString(16)} tag instead got 0x${o.toString(16)}`);return new Uint8Array(n.buffer,n.byteOffset+s)},TG=Y.encodingLength,CG=Y.encodeTo,IG=Y.decode;var df=t=>{if(t<=127)return new Uint8Array([t]);let e=[];for(;t!==0;)e.push(t&255),t=t>>>8;return e.reverse(),new Uint8Array([128|e.length&255,...e])},kR=(t,e=0)=>{if(!(t[e]&128))return{number:t[e],consumed:1};let r=t[e]&127;if(t.length<r+1)throw new Error(`ASN parsing error: Too few bytes. Expected encoded length's length to be at least ${r}`);let n=0;for(let o=0;o<r;o++)n=n<<8,n=n|t[e+o+1];return{number:n,consumed:r+1}},z_=(t,e,r)=>{let n=Oi(t,e,r);return n.position+n.length},Oi=(t,e,r)=>{let n=t[r];if(n!==e)throw new Error(`ASN parsing error: Expected tag 0x${e.toString(16)} at position ${r}, but got 0x${n.toString(16)}.`);let o=kR(t,r+1);return{position:r+1+o.consumed,length:o.number}},j_=t=>{let e=df(t.byteLength+1),r=new Uint8Array(1+e.byteLength+1+t.byteLength),n=0;return r[n]=3,n+=1,r.set(e,n),n+=e.byteLength,r[n]=0,n+=1,r.set(t,n),r},W_=t=>{let e=df(t.byteLength),r=new Uint8Array(1+e.byteLength+t.byteLength),n=0;return r[n]=4,n+=1,r.set(e,n),n+=e.byteLength,r.set(t,n),r},ss=t=>{let e=0;for(let s of t)e+=s.byteLength;let r=df(e),n=new Uint8Array(1+r.byteLength+e),o=0;n[o]=48,o+=1,n.set(r,o),o+=r.byteLength;for(let s of t)n.set(s,o),o+=s.byteLength;return n},vR=(t,e=0)=>{let{position:r,length:n}=Oi(t,48,e);return new Uint8Array(t.buffer,t.byteOffset+r,n)},ff=t=>{let e=t.byteLength===0||t[0]&128?1:0,r=df(t.byteLength+e),n=new Uint8Array(1+r.byteLength+t.byteLength+e),o=0;return n[o]=2,o+=1,n.set(r,o),o+=r.byteLength,e>0&&(n[o]=0,o+=e),n.set(t,o),n},hf=(t,e=0)=>Oi(t,48,e).position,pf=(t,e=0)=>z_(t,48,e),H_=(t,e=0)=>z_(t,2,e),q_=(t,e=0)=>{let{position:r,length:n}=Oi(t,3,e),o=t[r];if(o!==0)throw new Error(`Can not read bitstring, expected length to be multiple of 8, but got ${o} unused bits in last byte.`);return new Uint8Array(t.buffer,t.byteOffset+r+1,n-1)},ur=(t,e=0)=>{let{position:r,length:n}=Oi(t,2,e),o=0;for(;t[r+o]===0;)o++;return new Uint8Array(t.buffer,t.byteOffset+r+o,n-o)},V_=(t,e=0)=>{let{position:r,length:n}=Oi(t,4,e);return new Uint8Array(t.buffer,t.byteOffset+r,n)},Aw=(t,e,r=0)=>{let n=[],o=vR(e,r),s=0;for(let i of t){let a=i(o,s);n.push(a),s=a.byteOffset+a.byteLength-o.byteOffset}return n};var SR=new Uint8Array([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]),mf=t=>ss([SR,j_(t)]),Dw=t=>{let e=hf(t,0),r=pf(t,e);return q_(t,r)};var ER=new Uint8Array([2,1,0,48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]),Cw=t=>{let e=0;return e=hf(t,e),e=H_(t,e),e=pf(t,e),V_(t,e)},Iw=t=>ss([ER,W_(t)]);var Bw=({n:t,e})=>ss([ff(t),ff(e)]);var zG=new Uint8Array,Z_=(t,e=0)=>{let[r,n,o,s,i,a,c,u,l]=Aw([ur,ur,ur,ur,ur,ur,ur,ur,ur],t,e);return{v:r,n,e:o,d:s,p:i,q:a,dp:c,dq:u,qi:l}};var AR="RSA",jc=4869,yf=4613,Wc=sc,Pw="RS256",xf="RSASSA-PKCS1-v1_5",Lw="SHA-256",DR=2048,TR=128,J_={name:xf,hash:{name:Lw}},Uw=async({size:t=DR,extractable:e=!1}={})=>{let{publicKey:r,privateKey:n}=await qn.subtle.generateKey({name:xf,modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:Lw}},e,["sign","verify"]),o=await qn.subtle.exportKey("spki",r),s=uf(yf,Dw(new Uint8Array(o))),i=new Vn({bytes:s,publicKey:r});if(e){let a=await qn.subtle.exportKey("pkcs8",n),c=uf(jc,Cw(new Uint8Array(a)));return new wf({privateKey:n,bytes:c,verifier:i})}else return new bf({privateKey:n,verifier:i})},Q_=({id:t,keys:e})=>{if(t.startsWith("did:key:")){let r=t,n=e[r];return n instanceof Uint8Array?X_(n):new bf({privateKey:n,verifier:Vn.parse(r)})}else throw new TypeError(`RSA can not import from ${t} archive, try generic Signer instead`)},CR=t=>Wd({from:Q_},t),X_=t=>{let e=Z_(lf(jc,t)),r=uf(yf,Bw(e));return new wf({bytes:t,privateKey:qn.subtle.importKey("pkcs8",Iw(lf(jc,t)),J_,!0,["sign"]),verifier:Vn.decode(r)})},Vn=class t{constructor({publicKey:e,bytes:r}){this.publicKey=e,this.bytes=r}withDID(e){return _c(this,e)}toDIDKey(){return this.did()}static decode(e){return new this({bytes:e,publicKey:qn.subtle.importKey("spki",mf(lf(yf,e)),J_,!0,["verify"])})}static parse(e){return t.decode(Ue(e))}static or(e){return Fd(this,e)}get code(){return yf}get signatureCode(){return Wc}get signatureAlgorithm(){return Pw}did(){return`did:key:${Le.encode(this.bytes)}`}async verify(e,r){return r.code!==Wc?!1:qn.subtle.verify({name:xf,hash:{name:Lw}},await this.publicKey,r.raw,e)}};var gf=class{constructor({privateKey:e,verifier:r}){this.verifier=r,this.privateKey=e}get signer(){return this}get code(){return jc}get signatureCode(){return Wc}get signatureAlgorithm(){return Pw}did(){return this.verifier.did()}toDIDKey(){return this.verifier.toDIDKey()}verify(e,r){return this.verifier.verify(e,r)}async sign(e){let r=await qn.subtle.sign({name:xf,saltLength:TR},await this.privateKey,e);return fi(Wc,new Uint8Array(r))}},wf=class extends gf{constructor(e){super(e),this.bytes=e.bytes}withDID(e){return Ai(this,e)}toArchive(){let e=this.did();return{id:e,keys:{[e]:this.bytes}}}},bf=class extends gf{constructor(e){super(e),this.privateKey=e.privateKey}withDID(e){return Ai(this,e)}toArchive(){let e=this.did();return{id:e,keys:{[e]:this.privateKey}}}};var Y_=zo.or(Vn),e2=Jg(Rw);function $i(t){return t.expiration===void 0||t.expiration<=Math.floor(Date.now()/1e3)}function Nw(t){return t.notBefore?t.notBefore>Math.floor(Date.now()/1e3):!1}function t2(t,e){let{checkAudience:r,checkIsExpired:n=!0,checkIsTooEarly:o=!0}=e??{};if(r&&t.audience.did()!==r.did())throw new Error(`Delegation audience ${t.audience.did()} does not match required DID ${r.did()}`);if(n&&$i(t))throw new Error("Delegation expired.");if(o&&Nw(t))throw new Error("Delegation is not active yet (too early).")}function r2(t,e){let r=sr.allows(t);if(r[e.with]){let n=Object.keys(r[e.with]);for(let o of n)if(I_(o,e.can))return!0}return!1}var kf={};F(kf,{AccountDID:()=>o2,Provider:()=>n2,add:()=>Ow});var n2=ee.match({method:"web"}),o2=ee.match({method:"mailto"}),Ow=T({can:"provider/add",with:o2,nb:Ne({provider:n2,consumer:ee.match({method:"key"})}),derives:(t,e)=>q(ce(t,e))||q(_e(t.nb.provider,e.nb.provider,"provider"))||q(_e(t.nb.consumer,e.nb.consumer,"consumer"))||C({})});var s2=ee.match({method:"web"}),i2=ee.match({method:"key"}),a2=T({can:"consumer/has",with:s2,nb:Ne({consumer:i2}),derives:(t,e)=>q(ce(t,e))||q(_e(t.nb.consumer,e.nb.consumer,"consumer"))||C({})}),c2=T({can:"consumer/get",with:s2,nb:Ne({consumer:i2}),derives:(t,e)=>q(ce(t,e))||q(_e(t.nb.consumer,e.nb.consumer,"consumer"))||C({})});var PR=ee.match({method:"web"}),LR=ee.match({method:"mailto"}),u2=T({can:"customer/get",with:PR,nb:Ne({customer:LR}),derives:(t,e)=>q(ce(t,e))||q(_e(t.nb.customer,e.nb.customer,"customer"))||C({})});var oK=T({can:"console/log",with:x.did(),nb:x.struct({value:x.unknown()}),derives:ce}),sK=T({can:"console/error",with:x.did(),nb:x.struct({error:x.unknown()}),derives:ce});var $w=ee,l2=T({can:"rate-limit/add",with:$w,nb:Ne({subject:x.string(),rate:x.number()}),derives:(t,e)=>q(ce(t,e))||q(_e(t.nb.subject,e.nb.subject,"subject"))||q(_e(t.nb.rate,e.nb.rate,"rate"))||C({})}),d2=T({can:"rate-limit/remove",with:$w,nb:Ne({id:x.string()}),derives:(t,e)=>q(ce(t,e))||q(_e(t.nb.id,e.nb.id,"id"))||C({})}),f2=T({can:"rate-limit/list",with:$w,nb:Ne({subject:x.string()}),derives:(t,e)=>q(ce(t,e))||q(_e(t.nb.subject,e.nb.subject,"subject"))||C({})});var OR=ee.match({method:"web"}),h2=T({can:"subscription/get",with:OR,nb:Ne({subscription:x.string()}),derives:(t,e)=>q(ce(t,e))||q(_e(t.nb.subscription,e.nb.subscription,"consumer"))||C({})});var MR=4113,FR=85,vf=x.link({code:FR,version:1,multihash:{code:MR}}),p2=T({can:"filecoin/add",with:x.did(),nb:x.struct({content:x.link(),piece:vf}),derives:(t,e)=>q(ce(t,e))||q(ns(t.nb.content,e.nb.content,"nb.content"))||q(ns(t.nb.piece,e.nb.piece,"nb.piece"))||C({})}),m2=T({can:"aggregate/add",with:x.did(),nb:x.struct({piece:vf,storefront:x.text(),group:x.text()}),derives:(t,e)=>q(ce(t,e))||q(ns(t.nb.piece,e.nb.piece,"nb.piece"))||q(_e(t.nb.storefront,e.nb.storefront,"nb.storefront"))||q(_e(t.nb.group,e.nb.group,"nb.group"))||C({})}),y2=T({can:"deal/add",with:x.did(),nb:x.struct({pieces:x.link(),aggregate:vf,storefront:x.text(),label:x.text().optional()}),derives:(t,e)=>q(ce(t,e))||q(ns(t.nb.aggregate,e.nb.aggregate,"nb.aggregate"))||q(ns(t.nb.pieces,e.nb.pieces,"nb.pieces"))||q(_e(t.nb.storefront,e.nb.storefront,"nb.storefront"))||q(_e(t.nb.label,e.nb.label,"nb.label"))||C({})}),g2=T({can:"chain-tracker/info",with:x.did(),nb:x.struct({piece:vf}),derives:(t,e)=>q(ce(t,e))||q(ns(t.nb.piece,e.nb.piece,"nb.piece"))||C({})});var fK=[os.can,Ow.can,R_.can,cf.can,L_.can,Oc.can,$c.can,Mc.can,B_.can,Uc.can,Rc.can,Nc.can,Sw.can,Fc.can,zc.can,u2.can,a2.can,c2.can,h2.can,l2.can,d2.can,f2.can,p2.can,m2.can,y2.can,g2.can];var Gn,Sf=class Sf{constructor(e,r={}){ke(this,Gn,void 0);this.meta=e.meta,this.principal=e.principal,this.spaces=e.spaces,this.delegations=e.delegations,this.currentSpace=e.currentSpace,fe(this,Gn,n=>r.store?r.store.save(n):void 0)}static async create(e={},r={}){let n=new Sf({meta:{name:"agent",type:"device",...e.meta},principal:e.principal??await Ti.generate(),spaces:e.spaces??new Map,delegations:e.delegations??new Map,currentSpace:e.currentSpace},r);return r.store&&await r.store.save(n.export()),n}static fromExport(e,r){let n=new Map;for(let[o,s]of e.delegations)n.set(o,{delegation:xg(s.delegation.map(i=>({cid:se.parse(i.cid),bytes:i.bytes}))),meta:s.meta});return new Sf({meta:e.meta,principal:e2.from(e.principal),currentSpace:e.currentSpace,spaces:e.spaces,delegations:n},r)}export(){let e={meta:this.meta,principal:this.principal.toArchive(),currentSpace:this.currentSpace,spaces:this.spaces,delegations:new Map};for(let[r,n]of this.delegations)e.delegations.set(r,{meta:n.meta,delegation:[...n.delegation.export()].map(o=>({cid:o.cid.toString(),bytes:o.bytes}))});return e}async addSpace(e,r,n){this.spaces.set(e,r),await(n?this.addDelegation(n):$(this,Gn).call(this,this.export()))}async setCurrentSpace(e){this.currentSpace=e,await $(this,Gn).call(this,this.export())}async addDelegation(e,r){this.delegations.set(e.cid.toString(),{delegation:e,meta:r??{}}),await $(this,Gn).call(this,this.export())}async removeDelegation(e){this.delegations.delete(e.toString()),await $(this,Gn).call(this,this.export())}};Gn=new WeakMap;var Kn=Sf,WR=t=>t.can===Hn.session.can,Mw=t=>t.capabilities.some(e=>WR(e));function w2(t){let e={};for(let{delegation:r}of t.delegations.values())if(Mw(r)){let n=r.capabilities[0];if(n&&!$i(r)){let o=n.nb.proof;o&&(e[o.toString()]=r)}}return e}var Hc=null;typeof WebSocket<"u"?Hc=WebSocket:typeof MozWebSocket<"u"?Hc=MozWebSocket:typeof global<"u"?Hc=global.WebSocket||global.MozWebSocket:typeof window<"u"?Hc=window.WebSocket||window.MozWebSocket:typeof self<"u"&&(Hc=self.WebSocket||self.MozWebSocket);var Ef=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Fw=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},b2=t=>globalThis.DOMException===void 0?new Fw(t):new DOMException(t),x2=t=>{let e=t.reason===void 0?b2("This operation was aborted."):t.reason;return e instanceof Error?e:b2(e)};function zw(t,e){let{milliseconds:r,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout}}=e,i,a=new Promise((c,u)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(r===Number.POSITIVE_INFINITY){c(t);return}if(e.signal){let{signal:d}=e;d.aborted&&u(x2(d)),d.addEventListener("abort",()=>{u(x2(d))})}let l=new Ef;i=s.setTimeout.call(void 0,()=>{if(n){try{c(n())}catch(d){u(d)}return}typeof t.cancel=="function"&&t.cancel(),o===!1?c():o instanceof Error?u(o):(l.message=o??`Promise timed out after ${r} milliseconds`,u(l))},r),(async()=>{try{c(await t)}catch(d){u(d)}finally{s.clearTimeout.call(void 0,i)}})()});return a.clear=()=>{s.clearTimeout.call(void 0,i),i=void 0},a}var jw=Symbol("resolveValue");async function Ww(t,e={}){let{interval:r=20,timeout:n=Number.POSITIVE_INFINITY,before:o=!0}=e,s,i=new Promise((a,c)=>{let u=async()=>{try{let l=await t();if(typeof l=="object"&&l[jw])a(l[jw]);else{if(typeof l!="boolean")throw new TypeError("Expected condition to return a boolean");l===!0?a():s=setTimeout(u,r)}}catch(l){c(l)}};o?u():s=setTimeout(u,r)});if(n===Number.POSITIVE_INFINITY)return i;try{return await zw(i,typeof n=="number"?{milliseconds:n}:n)}finally{clearTimeout(s)}}Ww.resolveWith=t=>({[jw]:t});var _f=class t extends Error{constructor(e,r){super(e,r),this.name="AbortError",this.message=e,this.code=t.code}};_f.code="ERR_AWAIT_MSG_CANCEL";function Hw(t){let{domain:e,local:r}=v2(t);return`did:mailto:${encodeURIComponent(e)}:${encodeURIComponent(r)}`}function k2(t){let{domain:e,local:r}=v2(t);return`${r}@${e}`}function v2(t){let e=t.split("@");if(e.length<2)throw new TypeError(`expected at least 2 @-delimtied segments, but got ${e.length}`);let r=e.at(-1)??"",n=e.slice(0,-1).join("@");return{domain:r,local:n}}async function qR(t,e,r){let n=await t.invokeAndExecute(Fc,{audience:t.connection.id,with:t.issuer.did(),nb:{iss:e.did(),att:[...r]}});if(n?.out.error)throw n.out.error}async function qw(t,e=t.connection.id.did(),{addProofs:r=!1}={}){let n=await t.invokeAndExecute(Ew,{audience:t.connection.id,with:e});if(n.out.error)throw n.out.error;let o=Object.values(n.out.ok.delegations).flatMap(s=>Vd(s));if(r){for(let s of o)await t.addProof(s);await _2(t,o)}return o}async function VR({access:t,space:e,account:r,provider:n}){let o=await t.invokeAndExecute(kf.add,{audience:t.connection.id,with:r.did(),nb:{provider:n,consumer:e}});if(o.out.error)throw o.out.error}function GR(t){return t.some(e=>Mw(e))}async function KR(t,e,r,n){let o=n?.interval||250;for(;;){if(n?.signal?.aborted)throw n.signal.reason??new Error("operation aborted");let s=await e.invokeAndExecute(Hn.claim,{with:r});if(s.out.error)throw s.out.error;let i=Object.values(s.out.ok.delegations).flatMap(a=>Vd(a));if(t(i))return i;await new Promise(a=>setTimeout(a,o))}}async function ZR(t,e={}){return[...await KR(GR,t,t.issuer.did(),{signal:e?.signal,interval:e?.interval})]}async function JR(t,e,r={}){let n=r.expectAuthorization||ZR;await qR(t,{did:()=>Hw(e)},r?.capabilities||[{can:"space/*"},{can:"store/*"},{can:"provider/add"},{can:"upload/*"}]);let s=[...await n(t,r)];r?.dontAddProofs||await Promise.all(s.map(async i=>t.addProof(i)))}async function S2(t,e,r){await JR(t,e,r),await qw(t,t.issuer.did(),{addProofs:r?.addProofs??!0})}async function E2(t,e,r,n){let o=n?.space||t.currentSpace(),s=o?e.spaces.get(o):void 0,i=n?.provider||(()=>{let u=t.connection.id.did();if(ee.match({method:"web"}).is(u))return u;throw new Error(`unable to determine provider to use to addProviderAndDelegateToAccount using access.connection.id did ${u}. expected a did:web:`)})();if(!o||!s)throw new Error("No space selected");if(s&&s.isRegistered)throw new Error("Space already registered with web3.storage.");let a={did:()=>Hw(k2(r))};await VR({access:t,space:o,account:a,provider:i});let c=await QR(t,o,a);if(c.out.error)throw c.out.error;s.isRegistered=!0,await e.addSpace(o,s)}async function QR(t,e,r){let n=await XR(t.issuer,e,r,void 0,t.proofs([{with:e,can:"*"}]),1/0);return t.invokeAndExecute(_w,{audience:t.connection.id,with:e,expiration:1/0,nb:{delegations:{[n.cid.toString()]:n.cid}},proofs:[n]})}async function XR(t,e,r,n=[{can:"*",with:e}],o=[],s){return Lt({issuer:t,audience:r,capabilities:n,proofs:o,expiration:s})}var A2="https://up.web3.storage",YR=yt.parse("did:web:web3.storage"),D2=new WeakMap;function eN(t={}){return Oo({id:t.principal??YR,codec:Pg,channel:t.channel??Rg({url:t.url??new URL(A2),method:"POST",fetch:t.fetch??globalThis.fetch.bind(globalThis)})})}var Ce,qc,Vw,Df=class Df{constructor(e,r={}){ke(this,qc);ke(this,Ce,void 0);let n=r.connection?.channel;this.url=r.url??n?.url??new URL(A2),this.connection=r.connection??eN({principal:r.servicePrincipal,url:this.url}),fe(this,Ce,e),D2.set(this,$(this,Ce))}static async create(e,r={}){let n=await Kn.create(e,r);return new Df(n,r)}static from(e,r={}){let n=Kn.fromExport(e,r);return new Df(n,r)}get issuer(){return $(this,Ce).principal}get meta(){return $(this,Ce).meta}get spaces(){return $(this,Ce).spaces}did(){return $(this,Ce).principal.did()}async addProof(e){t2(e,{checkAudience:this.issuer,checkIsExpired:!0}),await $(this,Ce).addDelegation(e,{audience:this.meta}),await this.removeExpiredDelegations()}async removeExpiredDelegations(){for(let[,e]of $(this,Ce).delegations)$i(e.delegation)&&await $(this,Ce).removeDelegation(e.delegation.cid)}proofs(e){let r=[];for(let{delegation:o}of mo(this,qc,Vw).call(this,e))o.audience.did()===this.issuer.did()&&r.push(o);let n=w2($(this,Ce));for(let o of r){let s=n[o.asCID.toString()];s&&r.push(s)}return r}delegations(e){let r=[];for(let{delegation:n}of this.delegationsWithMeta(e))r.push(n);return r}delegationsWithMeta(e){let r=[];for(let n of mo(this,qc,Vw).call(this,e)){let{delegation:o}=n;!o.capabilities.some(i=>i.can===zc.can)&&o.audience.did()!==this.issuer.did()&&r.push(n)}return r}async createSpace(e){let r=await Ti.generate(),n=await os.delegate({issuer:r,audience:this.issuer,with:r.did(),expiration:1/0}),o={isRegistered:!1};if(e!=null){if(typeof e!="string")throw new TypeError("invalid name");o.name=e}return await $(this,Ce).addSpace(r.did(),o,n),{did:r.did(),meta:o,proof:n}}async importSpaceFromDelegation(e){let r=e.facts[0]?.space??{isRegistered:!1},n=Y_.parse(e.capabilities[0].with).did();return $(this,Ce).spaces.set(n,r),await this.addProof(e),{did:n,meta:r,proof:e}}async setCurrentSpace(e){if(!$(this,Ce).spaces.has(e))throw new Error(`Agent has no proofs for ${e}.`);return await $(this,Ce).setCurrentSpace(e),e}currentSpace(){return $(this,Ce).currentSpace}currentSpaceWithMeta(){if(!$(this,Ce).currentSpace)return;let e=this.proofs([{can:"space/info",with:$(this,Ce).currentSpace}]),r=new Set;for(let n of e)for(let o of n.capabilities)r.add(o.can);return{did:$(this,Ce).currentSpace,proofs:e,capabilities:[...r],meta:$(this,Ce).spaces.get($(this,Ce).currentSpace)}}async registerSpace(e,r={}){return await E2(this,$(this,Ce),e,r)}async delegate(e){let r=this.currentSpaceWithMeta();if(!r)throw new Error("no space selected.");let n=e.abilities.map(s=>({with:r.did,can:s}));for(let s of n)if(!this.proofs([s]).length)throw new Error(`cannot delegate capability ${s.can} with ${s.with}`);let o=await Lt({issuer:this.issuer,capabilities:n,proofs:this.proofs(n),facts:[{space:r.meta??{}}],...e});return await $(this,Ce).addDelegation(o,{audience:e.audienceMeta}),await this.removeExpiredDelegations(),o}async invokeAndExecute(e,r){return(await this.invoke(e,r)).execute(this.connection)}execute(...e){return this.connection.execute(...e)}async invoke(e,r){let n=r.with||this.currentSpace();if(!n)throw new Error("No space or resource selected, you need pass a resource.");let o=[...r.proofs||[],...this.proofs([{with:n,can:e.can}])];if(o.length===0&&r.with!==this.did())throw new Error(`no proofs available for resource ${n} and ability ${e.can}`);return Ro({...r,audience:r.audience||this.connection.id,capability:e.create({with:n,nb:r.nb}),issuer:this.issuer,proofs:[...o]})}peer(e){return new nf({agent:this,channel:e})}async getSpaceInfo(e){let r=e||this.currentSpace();if(!r)throw new Error("No space selected, you need pass a resource.");let n=await this.invokeAndExecute(cf,{with:r});if(n.out.error)throw n.out.error;return n.out.ok}};Ce=new WeakMap,qc=new WeakSet,Vw=function(e){let r=new Set(e),n=[];for(let[,o]of $(this,Ce).delegations)if(!$i(o.delegation)&&!Nw(o.delegation))if(Array.isArray(e)&&e.length>0)for(let s of r)r2(o.delegation,s)&&(r.delete(s),n.push(o));else n.push(o);return n};var Af=Df;async function _2(t,e){let r=D2.get(t);if(!r)throw Object.assign(new Error("cannot determine AgentData for Agent"),{agent:t});if(e.length>0){let n=sr.allows(e[0],...e.slice(1));for(let[o,s]of Object.entries(n))o.startsWith("did:key")&&s["space/*"]&&r.addSpace(o,{isRegistered:!0})}}function ft(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var tN="AccessStore",Gw=1,Vc,Gc,Zn,nn,Kc,Mi,Tf,Cf=class{constructor(e,r={}){ke(this,Mi);ke(this,Vc,void 0);ke(this,Gc,void 0);ke(this,Zn,void 0);ke(this,nn,void 0);ke(this,Kc,void 0);fe(this,Vc,e),fe(this,Gc,r.dbVersion),fe(this,Zn,r.dbStoreName??tN),fe(this,Kc,r.autoOpen??!0)}async open(){if($(this,nn))return;let{resolve:r,reject:n,promise:o}=ft(),s=indexedDB.open($(this,Vc),$(this,Gc));return s.addEventListener("upgradeneeded",()=>{s.result.createObjectStore($(this,Zn))}),s.addEventListener("success",()=>{fe(this,nn,s.result),r()}),s.addEventListener("error",()=>n(s.error)),o}async close(){let e=$(this,nn);if(!e)throw new Error("Store is not open");e.close(),fe(this,nn,void 0)}async save(e){let r=await mo(this,Mi,Tf).call(this);return await Kw(r,"readwrite",$(this,Zn),async s=>{let{resolve:i,reject:a,promise:c}=ft();try{let u=s.put({id:Gw,...e},Gw);u.addEventListener("success",()=>i()),u.addEventListener("error",()=>{a(new Error("failed to query DB",{cause:u.error}))})}catch(u){console.log("error",u)}return c})()}async load(){let e=await mo(this,Mi,Tf).call(this);return await Kw(e,"readonly",$(this,Zn),async n=>{let{resolve:o,reject:s,promise:i}=ft(),a=n.get(Gw);return a.addEventListener("success",()=>{o(a.result)}),a.addEventListener("error",()=>s(new Error("failed to query DB",{cause:a.error}))),i})()}async reset(){let e=await mo(this,Mi,Tf).call(this);Kw(e,"readwrite",$(this,Zn),r=>{let{resolve:n,reject:o,promise:s}=ft(),i=r.clear();return i.addEventListener("success",()=>{n()}),i.addEventListener("error",()=>o(new Error("failed to query DB",{cause:i.error}))),s})}};Vc=new WeakMap,Gc=new WeakMap,Zn=new WeakMap,nn=new WeakMap,Kc=new WeakMap,Mi=new WeakSet,Tf=async function(){if(!$(this,nn)){if(!$(this,Kc))throw new Error("Store is not open");await this.open()}return $(this,nn)};function Kw(t,e,r,n){return async()=>{let o=t.transaction(r,e),{resolve:s,reject:i,promise:a}=ft(),c;o.addEventListener("complete",()=>s(c)),o.addEventListener("abort",()=>i(o.error||new Error("transaction aborted"))),o.addEventListener("error",()=>i(new Error("transaction error",{cause:o.error})));try{c=await n(o.objectStore(r)),o.commit()}catch(u){i(u),o.abort()}return a}}var If=class extends Cf{};var qi={};F(qi,{add:()=>nb,list:()=>AN,remove:()=>DN});var oZ=new TextEncoder,sZ=new TextDecoder;var Zw={};F(Zw,{contentType:()=>T2,encode:()=>oN});var T2="application/cbor",nN=Object.freeze({"content-type":T2}),oN=(t,e)=>{let r=[];for(let o of t.receipts.values()){let s=o.out;s.ok?r.push(s.ok):r.push({...s.error,error:!0})}let n=Io(r);return{headers:nN,body:n}};var Bf={};F(Bf,{contentType:()=>sN,decode:()=>iN});var sN="application/car",iN=async({body:t})=>{let{roots:e,blocks:r}=mc(t),n=[];for(let{cid:s}of e){let i=No.view({root:s,blocks:r});n.push(i)}return await _r.build({invocations:n})};var{contentType:aN}=Bf;var aZ=Ud({decoders:{[aN]:Bf,[Rd]:$o},encoders:{"*/*;q=0.1":Zw,[Rd]:Mo}});function Fi(t,e){return t.with===e.with?C({}):ie(`Can not derive ${t.can} with ${t.with} from ${e.with}`)}function Pf(t,e,r){return e===void 0||e==="*"?C({}):String(t)===String(e)?C({}):ie(`Constrain violation: ${t} violates imposed ${r} constraint ${e}`)}var Jw=(t,e)=>t.with!==e.with?ie(`Expected 'with: "${e.with}"' instead got '${t.with}'`):e.nb.link&&`${e.nb.link}`!=`${t.nb.link}`?ie(`Link ${t.nb.link?`${t.nb.link}`:""} violates imposed ${e.nb.link} constraint.`):C({});var zi=t=>t.error?t:void 0;var pZ=T({can:"store/*",with:V.match({protocol:"did:"}),derives:Fi}),Lf=T({can:"store/add",with:V.match({protocol:"did:"}),nb:x.struct({link:pe,size:x.integer(),origin:pe.optional()}),derives:(t,e)=>{let r=Jw(t,e);return r.error?r:t.nb.size!==void 0&&e.nb.size!==void 0?t.nb.size>e.nb.size?ie(`Size constraint violation: ${t.nb.size} > ${e.nb.size}`):C({}):C({})}}),Uf=T({can:"store/remove",with:V.match({protocol:"did:"}),nb:x.struct({link:pe}),derives:Jw}),Rf=T({can:"store/list",with:V.match({protocol:"did:"}),nb:x.struct({cursor:x.string().optional(),size:x.integer().optional(),pre:x.boolean().optional()}),derives:(t,e)=>t.with!==e.with?ie(`Expected 'with: "${e.with}"' instead got '${t.with}'`):C({})}),mZ=Lf.or(Uf).or(Rf);var R2=De(L2(),1),dN=new Set(["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed","fetch failed"]),ji=class extends Error{constructor(e){super(),e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=new Error(e),this.originalError.stack=this.stack),this.name="AbortError",this.message=e}},fN=(t,e,r)=>{let n=r.retries-(e-1);return t.attemptNumber=e,t.retriesLeft=n,t},hN=t=>dN.has(t),U2=t=>globalThis.DOMException===void 0?new Error(t):new DOMException(t);async function Wi(t,e){return new Promise((r,n)=>{e={onFailedAttempt(){},retries:10,...e};let o=R2.default.operation(e);o.attempt(async s=>{try{r(await t(s))}catch(i){if(!(i instanceof Error)){n(new TypeError(`Non-error was thrown: "${i}". You should only throw errors.`));return}if(i instanceof ji)o.stop(),n(i.originalError);else if(i instanceof TypeError&&!hN(i.message))o.stop(),n(i);else{fN(i,s,e);try{await e.onFailedAttempt(i)}catch(a){n(a);return}o.retry(i)||n(o.mainError())}}}),e.signal&&!e.signal.aborted&&e.signal.addEventListener("abort",()=>{o.stop();let s=e.signal.reason===void 0?U2("The operation was aborted."):e.signal.reason;n(s instanceof Error?s:U2(s))},{once:!0})})}var pN=new URL("https://up.web3.storage"),on=Ue("did:web:web3.storage"),Jn=Oo({id:on,codec:ir.outbound,channel:Ln.open({url:pN,method:"POST"})});var H2=De(W2(),1),{fetch:EN}=H2.default;function _N(t,e){function r({total:n,loaded:o,lengthComputable:s}){return e({total:n,loaded:o,lengthComputable:s,url:t})}return r}async function nb({issuer:t,with:e,proofs:r,audience:n},o,s={}){let i=new Uint8Array(await o.arrayBuffer()),a=await ir.codec.link(i),c=s.connection??Jn,u=await Wi(async()=>await Lf.invoke({issuer:t,audience:n??on,with:e,nb:{link:a,size:o.size},proofs:r}).execute(c),{onFailedAttempt:console.warn,retries:s.retries??3});if(!u.out.ok)throw new Error(`failed ${Lf.can} invocation`,{cause:u.out.error});if(u.out.ok.status==="done")return a;let l=u.out.ok,d=EN,p=await Wi(async()=>{try{let f=await d(l.url,{method:"PUT",mode:"cors",body:o,headers:l.headers,signal:s.signal,onUploadProgress:s.onUploadProgress?_N(l.url,s.onUploadProgress):void 0,duplex:"half"});if(f.status>=400&&f.status<500)throw new ji(`upload failed: ${f.status}`);return f}catch(f){throw s.signal?.aborted===!0?new ji("upload aborted"):f}},{onFailedAttempt:console.warn,retries:s.retries??3});if(!p.ok)throw new Error(`upload failed: ${p.status}`);return a}async function AN({issuer:t,with:e,proofs:r,audience:n},o={}){let s=o.connection??Jn,i=await Rf.invoke({issuer:t,audience:n??on,with:e,proofs:r,nb:{cursor:o.cursor,size:o.size,pre:o.pre}}).execute(s);if(!i.out.ok)throw new Error(`failed ${Rf.can} invocation`,{cause:i.out.error});return i.out.ok}async function DN({issuer:t,with:e,proofs:r,audience:n},o,s={}){let i=s.connection??Jn,a=await Uf.invoke({issuer:t,audience:n??on,with:e,nb:{link:o},proofs:r}).execute(i);if(!a.out.ok)throw new Error(`failed ${Uf.can} invocation`,{cause:a.out.error})}var Vi={};F(Vi,{add:()=>ob,list:()=>IN,remove:()=>BN});var RZ=T({can:"upload/*",with:V.match({protocol:"did:"}),derives:Fi}),TN=pe.match({code:Re.code,version:1}),$f=T({can:"upload/add",with:V.match({protocol:"did:"}),nb:x.struct({root:pe,shards:TN.array().optional()}),derives:(t,e)=>zi(Fi(t,e))||zi(Pf(t.nb.root,e.nb.root,"root"))||zi(Pf(t.nb.shards,e.nb.shards,"shards"))||C({})}),Mf=T({can:"upload/remove",with:V.match({protocol:"did:"}),nb:x.struct({root:pe}),derives:(t,e)=>zi(Fi(t,e))||zi(Pf(t.nb.root,e.nb.root,"root"))||C({})}),Ff=T({can:"upload/list",with:V.match({protocol:"did:"}),nb:x.struct({cursor:x.string().optional(),size:x.integer().optional(),pre:x.boolean().optional()})}),NZ=$f.or(Mf).or(Ff);async function ob({issuer:t,with:e,proofs:r,audience:n},o,s,i={}){let a=i.connection??Jn,c=await Wi(async()=>await $f.invoke({issuer:t,audience:n??on,with:e,nb:{root:o,shards:s},proofs:r}).execute(a),{onFailedAttempt:console.warn,retries:i.retries??3});if(!c.out.ok)throw new Error(`failed ${$f.can} invocation`,{cause:c.out.error});return c.out.ok}async function IN({issuer:t,with:e,proofs:r,audience:n},o={}){let s=o.connection??Jn,i=await Ff.invoke({issuer:t,audience:n??on,with:e,proofs:r,nb:{cursor:o.cursor,size:o.size,pre:o.pre}}).execute(s);if(!i.out.ok)throw new Error(`failed ${Ff.can} invocation`,{cause:i.out.error});return i.out.ok}async function BN({issuer:t,with:e,proofs:r,audience:n},o,s={}){let i=s.connection??Jn,a=await Mf.invoke({issuer:t,audience:n??on,with:e,nb:{root:o},proofs:r}).execute(i);if(!a.out.ok)throw new Error(`failed ${Mf.can} invocation`,{cause:a.out.error});return a.out.ok}var Xi={};F(Xi,{DEFAULT_DIRECTORY_MODE:()=>YA,DEFAULT_FILE_MODE:()=>XA,NodeType:()=>ae,code:()=>Qi,createAdvancedFile:()=>e5,createComplexFile:()=>r5,createDirectoryShard:()=>Eb,createEmptyFile:()=>XN,createFileChunk:()=>YN,createFileShard:()=>t5,createFlatDirectory:()=>Xf,createRaw:()=>eD,createShardedDirectory:()=>rD,createSimpleFile:()=>tD,createSymlink:()=>oD,cumulativeContentByteLength:()=>Pr,cumulativeDagByteLength:()=>to,decode:()=>aD,decodeMetadata:()=>ls,encode:()=>iD,encodeAdvancedFile:()=>Db,encodeComplexFile:()=>Tb,encodeDirectory:()=>th,encodeDirectoryMetadata:()=>Bb,encodeFile:()=>nD,encodeFileChunk:()=>Ab,encodeFileShard:()=>n5,encodeHAMTShard:()=>rh,encodeLink:()=>Yf,encodeMetadata:()=>tu,encodeMode:()=>uD,encodeRaw:()=>_b,encodeSimpleFile:()=>eh,encodeSymlink:()=>sD,filesize:()=>a5,matchFile:()=>i5,name:()=>Sb});var PN=new TextDecoder;function sb(t,e){let r=0;for(let n=0;;n+=7){if(n>=64)throw new Error("protobuf: varint overflow");if(e>=t.length)throw new Error("protobuf: unexpected end of data");let o=t[e++];if(r+=n<28?(o&127)<<n:(o&127)*2**n,o<128)break}return[r,e]}function zf(t,e){let r;[r,e]=sb(t,e);let n=e+r;if(r<0||n<0)throw new Error("protobuf: invalid length");if(n>t.length)throw new Error("protobuf: unexpected end of data");return[t.subarray(e,n),n]}function q2(t,e){let r;return[r,e]=sb(t,e),[r&7,r>>3,e]}function LN(t){let e={},r=t.length,n=0;for(;n<r;){let o,s;if([o,s,n]=q2(t,n),s===1){if(e.Hash)throw new Error("protobuf: (PBLink) duplicate Hash section");if(o!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Hash`);if(e.Name!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Name before Hash");if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Hash");[e.Hash,n]=zf(t,n)}else if(s===2){if(e.Name!==void 0)throw new Error("protobuf: (PBLink) duplicate Name section");if(o!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Name`);if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Name");let i;[i,n]=zf(t,n),e.Name=PN.decode(i)}else if(s===3){if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) duplicate Tsize section");if(o!==0)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Tsize`);[e.Tsize,n]=sb(t,n)}else throw new Error(`protobuf: (PBLink) invalid fieldNumber, expected 1, 2 or 3, got ${s}`)}if(n>r)throw new Error("protobuf: (PBLink) unexpected end of data");return e}function V2(t){let e=t.length,r=0,n,o=!1,s;for(;r<e;){let a,c;if([a,c,r]=q2(t,r),a!==2)throw new Error(`protobuf: (PBNode) invalid wireType, expected 2, got ${a}`);if(c===1){if(s)throw new Error("protobuf: (PBNode) duplicate Data section");[s,r]=zf(t,r),n&&(o=!0)}else if(c===2){if(o)throw new Error("protobuf: (PBNode) duplicate Links section");n||(n=[]);let u;[u,r]=zf(t,r),n.push(LN(u))}else throw new Error(`protobuf: (PBNode) invalid fieldNumber, expected 1 or 2, got ${c}`)}if(r>e)throw new Error("protobuf: (PBNode) unexpected end of data");let i={};return s&&(i.Data=s),i.Links=n||[],i}var K2=new TextEncoder,G2=2**32,UN=2**31;function RN(t,e){let r=e.length;if(typeof t.Tsize=="number"){if(t.Tsize<0)throw new Error("Tsize cannot be negative");if(!Number.isSafeInteger(t.Tsize))throw new Error("Tsize too large for encoding");r=Jc(e,r,t.Tsize)-1,e[r]=24}if(typeof t.Name=="string"){let n=K2.encode(t.Name);r-=n.length,e.set(n,r),r=Jc(e,r,n.length)-1,e[r]=18}return t.Hash&&(r-=t.Hash.length,e.set(t.Hash,r),r=Jc(e,r,t.Hash.length)-1,e[r]=10),e.length-r}function Z2(t){let e=ON(t),r=new Uint8Array(e),n=e;if(t.Data&&(n-=t.Data.length,r.set(t.Data,n),n=Jc(r,n,t.Data.length)-1,r[n]=10),t.Links)for(let o=t.Links.length-1;o>=0;o--){let s=RN(t.Links[o],r.subarray(0,n));n-=s,n=Jc(r,n,s)-1,r[n]=18}return r}function NN(t){let e=0;if(t.Hash){let r=t.Hash.length;e+=1+r+Gi(r)}if(typeof t.Name=="string"){let r=K2.encode(t.Name).length;e+=1+r+Gi(r)}return typeof t.Tsize=="number"&&(e+=1+Gi(t.Tsize)),e}function ON(t){let e=0;if(t.Data){let r=t.Data.length;e+=1+r+Gi(r)}if(t.Links)for(let r of t.Links){let n=NN(r);e+=1+n+Gi(n)}return e}function Jc(t,e,r){e-=Gi(r);let n=e;for(;r>=UN;)t[e++]=r&127|128,r/=128;for(;r>=128;)t[e++]=r&127|128,r>>>=7;return t[e]=r,n}function Gi(t){return t%2===0&&t++,Math.floor(($N(t)+6)/7)}function $N(t){let e=0;return t>=G2&&(t=Math.floor(t/G2),e=32),t>=65536&&(t>>>=16,e+=16),t>=256&&(t>>>=8,e+=8),e+MN[t]}var MN=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8];var FN=["Data","Links"],zN=["Hash","Name","Tsize"],ib=new TextEncoder;function Q2(t,e){if(t===e)return 0;let r=t.Name?ib.encode(t.Name):[],n=e.Name?ib.encode(e.Name):[],o=r.length,s=n.length;for(let i=0,a=Math.min(o,s);i<a;++i)if(r[i]!==n[i]){o=r[i],s=n[i];break}return o<s?-1:s<o?1:0}function J2(t,e){return!Object.keys(t).some(r=>!e.includes(r))}function jN(t){if(typeof t.asCID=="object"){let r=se.asCID(t);if(!r)throw new TypeError("Invalid DAG-PB form");return{Hash:r}}if(typeof t!="object"||Array.isArray(t))throw new TypeError("Invalid DAG-PB form");let e={};if(t.Hash){let r=se.asCID(t.Hash);try{r||(typeof t.Hash=="string"?r=se.parse(t.Hash):t.Hash instanceof Uint8Array&&(r=se.decode(t.Hash)))}catch(n){throw new TypeError(`Invalid DAG-PB form: ${n.message}`)}r&&(e.Hash=r)}if(!e.Hash)throw new TypeError("Invalid DAG-PB form");return typeof t.Name=="string"&&(e.Name=t.Name),typeof t.Tsize=="number"&&(e.Tsize=t.Tsize),e}function ab(t){if((t instanceof Uint8Array||typeof t=="string")&&(t={Data:t}),typeof t!="object"||Array.isArray(t))throw new TypeError("Invalid DAG-PB form");let e={};if(t.Data!==void 0)if(typeof t.Data=="string")e.Data=ib.encode(t.Data);else if(t.Data instanceof Uint8Array)e.Data=t.Data;else throw new TypeError("Invalid DAG-PB form");if(t.Links!==void 0)if(Array.isArray(t.Links))e.Links=t.Links.map(jN),e.Links.sort(Q2);else throw new TypeError("Invalid DAG-PB form");else e.Links=[];return e}function X2(t){if(!t||typeof t!="object"||Array.isArray(t)||t instanceof Uint8Array||t["/"]&&t["/"]===t.bytes)throw new TypeError("Invalid DAG-PB form");if(!J2(t,FN))throw new TypeError("Invalid DAG-PB form (extraneous properties)");if(t.Data!==void 0&&!(t.Data instanceof Uint8Array))throw new TypeError("Invalid DAG-PB form (Data must be bytes)");if(!Array.isArray(t.Links))throw new TypeError("Invalid DAG-PB form (Links must be a list)");for(let e=0;e<t.Links.length;e++){let r=t.Links[e];if(!r||typeof r!="object"||Array.isArray(r)||r instanceof Uint8Array||r["/"]&&r["/"]===r.bytes)throw new TypeError("Invalid DAG-PB form (bad link)");if(!J2(r,zN))throw new TypeError("Invalid DAG-PB form (extraneous properties on link)");if(r.Hash===void 0)throw new TypeError("Invalid DAG-PB form (link must have a Hash)");if(r.Hash==null||!r.Hash["/"]||r.Hash["/"]!==r.Hash.bytes)throw new TypeError("Invalid DAG-PB form (link Hash must be a CID)");if(r.Name!==void 0&&typeof r.Name!="string")throw new TypeError("Invalid DAG-PB form (link Name must be a string)");if(r.Tsize!==void 0){if(typeof r.Tsize!="number"||r.Tsize%1!==0)throw new TypeError("Invalid DAG-PB form (link Tsize must be an integer)");if(r.Tsize<0)throw new TypeError("Invalid DAG-PB form (link Tsize cannot be negative)")}if(e>0&&Q2(r,t.Links[e-1])===-1)throw new TypeError("Invalid DAG-PB form (links must be sorted by Name bytes)")}}var Qn=112;function Y2(t){X2(t);let e={};return t.Links&&(e.Links=t.Links.map(r=>{let n={};return r.Hash&&(n.Hash=r.Hash.bytes),r.Name!==void 0&&(n.Name=r.Name),r.Tsize!==void 0&&(n.Tsize=r.Tsize),n})),t.Data&&(e.Data=t.Data),Z2(e)}function Cr(t){let e=V2(t),r={};return e.Data&&(r.Data=e.Data),e.Links&&(r.Links=e.Links.map(n=>{let o={};try{o.Hash=se.decode(n.Hash)}catch{}if(!o.Hash)throw new Error("Invalid Hash field found in link, expected CID");return n.Name!==void 0&&(o.Name=n.Name),n.Tsize!==void 0&&(o.Tsize=n.Tsize),o})),r}var an=De(KA(),1),Zi=an.default.Reader,kb=an.default.Writer,Z=an.default.util,nt=an.default.roots.unixfs||(an.default.roots.unixfs={}),Ji=nt.Data=(()=>{function t(e){if(this.blocksizes=[],e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.Type=0,t.prototype.Data=Z.newBuffer([]),t.prototype.filesize=Z.Long?Z.Long.fromBits(0,0,!0):0,t.prototype.blocksizes=Z.emptyArray,t.prototype.hashType=Z.Long?Z.Long.fromBits(0,0,!0):0,t.prototype.fanout=Z.Long?Z.Long.fromBits(0,0,!0):0,t.prototype.mode=0,t.prototype.mtime=null,t.encode=function(r,n){if(n||(n=kb.create()),n.uint32(8).int32(r.Type),r.Data!=null&&Object.hasOwnProperty.call(r,"Data")&&n.uint32(18).bytes(r.Data),r.filesize!=null&&Object.hasOwnProperty.call(r,"filesize")&&n.uint32(24).uint64(r.filesize),r.blocksizes!=null&&r.blocksizes.length)for(var o=0;o<r.blocksizes.length;++o)n.uint32(32).uint64(r.blocksizes[o]);return r.hashType!=null&&Object.hasOwnProperty.call(r,"hashType")&&n.uint32(40).uint64(r.hashType),r.fanout!=null&&Object.hasOwnProperty.call(r,"fanout")&&n.uint32(48).uint64(r.fanout),r.mode!=null&&Object.hasOwnProperty.call(r,"mode")&&n.uint32(56).uint32(r.mode),r.mtime!=null&&Object.hasOwnProperty.call(r,"mtime")&&nt.UnixTime.encode(r.mtime,n.uint32(66).fork()).ldelim(),n},t.decode=function(r,n){r instanceof Zi||(r=Zi.create(r));for(var o=n===void 0?r.len:r.pos+n,s=new nt.Data;r.pos<o;){var i=r.uint32();switch(i>>>3){case 1:s.Type=r.int32();break;case 2:s.Data=r.bytes();break;case 3:s.filesize=r.uint64();break;case 4:if(s.blocksizes&&s.blocksizes.length||(s.blocksizes=[]),(i&7)===2)for(var a=r.uint32()+r.pos;r.pos<a;)s.blocksizes.push(r.uint64());else s.blocksizes.push(r.uint64());break;case 5:s.hashType=r.uint64();break;case 6:s.fanout=r.uint64();break;case 7:s.mode=r.uint32();break;case 8:s.mtime=nt.UnixTime.decode(r,r.uint32());break;default:r.skipType(i&7);break}}if(!s.hasOwnProperty("Type"))throw Z.ProtocolError("missing required 'Type'",{instance:s});return s},t.fromObject=function(r){if(r instanceof nt.Data)return r;var n=new nt.Data;switch(r.Type){case"Raw":case 0:n.Type=0;break;case"Directory":case 1:n.Type=1;break;case"File":case 2:n.Type=2;break;case"Metadata":case 3:n.Type=3;break;case"Symlink":case 4:n.Type=4;break;case"HAMTShard":case 5:n.Type=5;break}if(r.Data!=null&&(typeof r.Data=="string"?Z.base64.decode(r.Data,n.Data=Z.newBuffer(Z.base64.length(r.Data)),0):r.Data.length&&(n.Data=r.Data)),r.filesize!=null&&(Z.Long?(n.filesize=Z.Long.fromValue(r.filesize)).unsigned=!0:typeof r.filesize=="string"?n.filesize=parseInt(r.filesize,10):typeof r.filesize=="number"?n.filesize=r.filesize:typeof r.filesize=="object"&&(n.filesize=new Z.LongBits(r.filesize.low>>>0,r.filesize.high>>>0).toNumber(!0))),r.blocksizes){if(!Array.isArray(r.blocksizes))throw TypeError(".Data.blocksizes: array expected");n.blocksizes=[];for(var o=0;o<r.blocksizes.length;++o)Z.Long?(n.blocksizes[o]=Z.Long.fromValue(r.blocksizes[o])).unsigned=!0:typeof r.blocksizes[o]=="string"?n.blocksizes[o]=parseInt(r.blocksizes[o],10):typeof r.blocksizes[o]=="number"?n.blocksizes[o]=r.blocksizes[o]:typeof r.blocksizes[o]=="object"&&(n.blocksizes[o]=new Z.LongBits(r.blocksizes[o].low>>>0,r.blocksizes[o].high>>>0).toNumber(!0))}if(r.hashType!=null&&(Z.Long?(n.hashType=Z.Long.fromValue(r.hashType)).unsigned=!0:typeof r.hashType=="string"?n.hashType=parseInt(r.hashType,10):typeof r.hashType=="number"?n.hashType=r.hashType:typeof r.hashType=="object"&&(n.hashType=new Z.LongBits(r.hashType.low>>>0,r.hashType.high>>>0).toNumber(!0))),r.fanout!=null&&(Z.Long?(n.fanout=Z.Long.fromValue(r.fanout)).unsigned=!0:typeof r.fanout=="string"?n.fanout=parseInt(r.fanout,10):typeof r.fanout=="number"?n.fanout=r.fanout:typeof r.fanout=="object"&&(n.fanout=new Z.LongBits(r.fanout.low>>>0,r.fanout.high>>>0).toNumber(!0))),r.mode!=null&&(n.mode=r.mode>>>0),r.mtime!=null){if(typeof r.mtime!="object")throw TypeError(".Data.mtime: object expected");n.mtime=nt.UnixTime.fromObject(r.mtime)}return n},t.toObject=function(r,n){n||(n={});var o={};if((n.arrays||n.defaults)&&(o.blocksizes=[]),n.defaults){if(o.Type=n.enums===String?"Raw":0,n.bytes===String?o.Data="":(o.Data=[],n.bytes!==Array&&(o.Data=Z.newBuffer(o.Data))),Z.Long){var s=new Z.Long(0,0,!0);o.filesize=n.longs===String?s.toString():n.longs===Number?s.toNumber():s}else o.filesize=n.longs===String?"0":0;if(Z.Long){var s=new Z.Long(0,0,!0);o.hashType=n.longs===String?s.toString():n.longs===Number?s.toNumber():s}else o.hashType=n.longs===String?"0":0;if(Z.Long){var s=new Z.Long(0,0,!0);o.fanout=n.longs===String?s.toString():n.longs===Number?s.toNumber():s}else o.fanout=n.longs===String?"0":0;o.mode=0,o.mtime=null}if(r.Type!=null&&r.hasOwnProperty("Type")&&(o.Type=n.enums===String?nt.Data.DataType[r.Type]:r.Type),r.Data!=null&&r.hasOwnProperty("Data")&&(o.Data=n.bytes===String?Z.base64.encode(r.Data,0,r.Data.length):n.bytes===Array?Array.prototype.slice.call(r.Data):r.Data),r.filesize!=null&&r.hasOwnProperty("filesize")&&(typeof r.filesize=="number"?o.filesize=n.longs===String?String(r.filesize):r.filesize:o.filesize=n.longs===String?Z.Long.prototype.toString.call(r.filesize):n.longs===Number?new Z.LongBits(r.filesize.low>>>0,r.filesize.high>>>0).toNumber(!0):r.filesize),r.blocksizes&&r.blocksizes.length){o.blocksizes=[];for(var i=0;i<r.blocksizes.length;++i)typeof r.blocksizes[i]=="number"?o.blocksizes[i]=n.longs===String?String(r.blocksizes[i]):r.blocksizes[i]:o.blocksizes[i]=n.longs===String?Z.Long.prototype.toString.call(r.blocksizes[i]):n.longs===Number?new Z.LongBits(r.blocksizes[i].low>>>0,r.blocksizes[i].high>>>0).toNumber(!0):r.blocksizes[i]}return r.hashType!=null&&r.hasOwnProperty("hashType")&&(typeof r.hashType=="number"?o.hashType=n.longs===String?String(r.hashType):r.hashType:o.hashType=n.longs===String?Z.Long.prototype.toString.call(r.hashType):n.longs===Number?new Z.LongBits(r.hashType.low>>>0,r.hashType.high>>>0).toNumber(!0):r.hashType),r.fanout!=null&&r.hasOwnProperty("fanout")&&(typeof r.fanout=="number"?o.fanout=n.longs===String?String(r.fanout):r.fanout:o.fanout=n.longs===String?Z.Long.prototype.toString.call(r.fanout):n.longs===Number?new Z.LongBits(r.fanout.low>>>0,r.fanout.high>>>0).toNumber(!0):r.fanout),r.mode!=null&&r.hasOwnProperty("mode")&&(o.mode=r.mode),r.mtime!=null&&r.hasOwnProperty("mtime")&&(o.mtime=nt.UnixTime.toObject(r.mtime,n)),o},t.prototype.toJSON=function(){return this.constructor.toObject(this,an.default.util.toJSONOptions)},t.DataType=function(){let e={},r=Object.create(e);return r[e[0]="Raw"]=0,r[e[1]="Directory"]=1,r[e[2]="File"]=2,r[e[3]="Metadata"]=3,r[e[4]="Symlink"]=4,r[e[5]="HAMTShard"]=5,r}(),t})(),hJ=nt.UnixTime=(()=>{function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.Seconds=Z.Long?Z.Long.fromBits(0,0,!1):0,t.prototype.FractionalNanoseconds=0,t.encode=function(r,n){return n||(n=kb.create()),n.uint32(8).int64(r.Seconds),r.FractionalNanoseconds!=null&&Object.hasOwnProperty.call(r,"FractionalNanoseconds")&&n.uint32(21).fixed32(r.FractionalNanoseconds),n},t.decode=function(r,n){r instanceof Zi||(r=Zi.create(r));for(var o=n===void 0?r.len:r.pos+n,s=new nt.UnixTime;r.pos<o;){var i=r.uint32();switch(i>>>3){case 1:s.Seconds=r.int64();break;case 2:s.FractionalNanoseconds=r.fixed32();break;default:r.skipType(i&7);break}}if(!s.hasOwnProperty("Seconds"))throw Z.ProtocolError("missing required 'Seconds'",{instance:s});return s},t.fromObject=function(r){if(r instanceof nt.UnixTime)return r;var n=new nt.UnixTime;return r.Seconds!=null&&(Z.Long?(n.Seconds=Z.Long.fromValue(r.Seconds)).unsigned=!1:typeof r.Seconds=="string"?n.Seconds=parseInt(r.Seconds,10):typeof r.Seconds=="number"?n.Seconds=r.Seconds:typeof r.Seconds=="object"&&(n.Seconds=new Z.LongBits(r.Seconds.low>>>0,r.Seconds.high>>>0).toNumber())),r.FractionalNanoseconds!=null&&(n.FractionalNanoseconds=r.FractionalNanoseconds>>>0),n},t.toObject=function(r,n){n||(n={});var o={};if(n.defaults){if(Z.Long){var s=new Z.Long(0,0,!1);o.Seconds=n.longs===String?s.toString():n.longs===Number?s.toNumber():s}else o.Seconds=n.longs===String?"0":0;o.FractionalNanoseconds=0}return r.Seconds!=null&&r.hasOwnProperty("Seconds")&&(typeof r.Seconds=="number"?o.Seconds=n.longs===String?String(r.Seconds):r.Seconds:o.Seconds=n.longs===String?Z.Long.prototype.toString.call(r.Seconds):n.longs===Number?new Z.LongBits(r.Seconds.low>>>0,r.Seconds.high>>>0).toNumber():r.Seconds),r.FractionalNanoseconds!=null&&r.hasOwnProperty("FractionalNanoseconds")&&(o.FractionalNanoseconds=r.FractionalNanoseconds),o},t.prototype.toJSON=function(){return this.constructor.toObject(this,an.default.util.toJSONOptions)},t})(),pJ=nt.Metadata=(()=>{function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.MimeType="",t.encode=function(r,n){return n||(n=kb.create()),r.MimeType!=null&&Object.hasOwnProperty.call(r,"MimeType")&&n.uint32(10).string(r.MimeType),n},t.decode=function(r,n){r instanceof Zi||(r=Zi.create(r));for(var o=n===void 0?r.len:r.pos+n,s=new nt.Metadata;r.pos<o;){var i=r.uint32();switch(i>>>3){case 1:s.MimeType=r.string();break;default:r.skipType(i&7);break}}return s},t.fromObject=function(r){if(r instanceof nt.Metadata)return r;var n=new nt.Metadata;return r.MimeType!=null&&(n.MimeType=String(r.MimeType)),n},t.toObject=function(r,n){n||(n={});var o={};return n.defaults&&(o.MimeType=""),r.MimeType!=null&&r.hasOwnProperty("MimeType")&&(o.MimeType=r.MimeType),o},t.prototype.toJSON=function(){return this.constructor.toObject(this,an.default.util.toJSONOptions)},t})();var ae=Ji.DataType;var QA=Object.freeze([]),vb=new Uint8Array(0),Nt=Object.freeze({}),XA=parseInt("0644",8),YA=parseInt("0755",8),Qi=Qn,Sb="UnixFS",eo=(t,e)=>(Object(globalThis).debug&&console.log({data:t,links:e}),Y2(ab({Data:Ji.encode(t).finish(),Links:e}))),eD=t=>({type:ae.Raw,content:t}),XN=t=>tD(vb,t),tD=(t,e)=>({type:ae.File,layout:"simple",content:t,metadata:ls(e)}),YN=t=>({type:ae.File,layout:"simple",content:t}),e5=(t,e)=>({type:ae.File,layout:"advanced",parts:t,metadata:ls(e)}),t5=t=>({type:ae.File,layout:"advanced",parts:t}),r5=(t,e,r)=>({type:ae.File,layout:"complex",content:t,parts:e,metadata:ls(r)}),Xf=(t,e)=>({type:ae.Directory,metadata:ls(e),entries:t}),rD=(t,e,r,n,o=Nt)=>({type:ae.HAMTShard,bitfield:e,fanout:Cb(r),hashType:Ib(n),entries:t,metadata:ls(o)}),Eb=(t,e,r,n)=>({type:ae.HAMTShard,bitfield:e,fanout:Cb(r),hashType:Ib(n),entries:t}),_b=t=>eo({Type:ae.Raw,Data:t.byteLength>0?t:void 0,filesize:t.byteLength,blocksizes:QA},[]),nD=(t,e=!1)=>{let r=e?Nt:Object(t).metadata;switch(t.layout){case"simple":return eh(t.content,r);case"advanced":return Db(t.parts,r);case"complex":return Tb(t.content,t.parts,r);default:throw new TypeError(`File with unknown layout "${Object(t).layout}" was passed`)}},Ab=t=>eh(t,Nt),n5=t=>eo({Type:ae.File,blocksizes:t.map(eu),filesize:Pr(t)},t.map(Yf)),Db=(t,e=Nt)=>eo({Type:ae.File,blocksizes:t.map(eu),filesize:Pr(t),...tu(e)},t.map(Yf)),Yf=t=>({Name:"",Tsize:t.dagByteLength,Hash:t.cid}),eh=(t,e=Nt)=>eo({Type:ae.File,Data:t.byteLength>0?t:void 0,filesize:t.byteLength,blocksizes:[],...tu(e)},[]),Tb=(t,e,r=Nt)=>eo({Type:ae.File,Data:t,filesize:t.byteLength+Pr(e),blocksizes:e.map(eu)},e.map(Yf)),th=t=>eo({Type:t.type,...Bb(t.metadata||Nt)},t.entries.map(cD)),rh=({bitfield:t,fanout:e,hashType:r,entries:n,metadata:o=Nt})=>eo({Type:ae.HAMTShard,Data:t.byteLength>0?t:void 0,fanout:Cb(e),hashType:Ib(r),...Bb(o)},n.map(cD)),Cb=t=>{if(Math.log2(t)%1===0)return t;throw new TypeError(`Expected hamt size to be a power of two instead got ${t}`)},Ib=t=>{if(Number.isInteger(t))return t;throw new TypeError(`Expected an integer value instead got ${t}`)};var oD=(t,e=Nt)=>({type:ae.Symlink,content:t,metadata:ls(e)}),sD=(t,e=!1)=>{let r=e?Nt:Object(t).metadata;return eo({Type:ae.Symlink,Data:t.content,...tu(r||Nt)},[])},iD=(t,e=!0)=>{switch(t.type){case ae.Raw:return _b(t.content);case ae.File:return nD(t);case ae.Directory:return th(t);case ae.HAMTShard:return rh(t);case ae.Symlink:return sD(t);default:throw new Error(`Unknown node type ${Object(t).type}`)}},aD=t=>{let e=Cr(t),r=Ji.decode(e.Data),{Type:n,Data:o,mtime:s,mode:i,blocksizes:a,...c}=Ji.toObject(r,{defaults:!1,arrays:!0,longs:Number,objects:!1}),u={...i&&{mode:i},...o5(s)},l=e.Links;switch(r.Type){case ae.Raw:return eD(o);case ae.File:return l.length===0?new Zf(o,u):o.byteLength===0?new Jf(ZA(c.blocksizes,l),u):new Qf(o,ZA(c.blocksizes,l),u);case ae.Directory:return Xf(JA(l),u);case ae.HAMTShard:return rD(JA(l),o||vb,c.fanout,c.hashType,u);case ae.Symlink:return oD(o,u);default:throw new TypeError(`Unsupported node type ${r.Type}`)}},o5=t=>t==null?void 0:{mtime:{secs:t.Seconds,nsecs:t.FractionalNanoseconds||0}};var ZA=(t,e)=>{let r=[],n=t.length,o=0;for(;o<n;)r.push({cid:e[o].Hash,dagByteLength:e[o].Tsize||0,contentByteLength:t[o]});return r},JA=t=>t.map(e=>({cid:e.Hash,name:e.Name||"",dagByteLength:e.Tsize||0})),Pr=t=>t.reduce((e,r)=>e+r.contentByteLength,0),to=(t,e)=>e.reduce((r,n)=>r+n.dagByteLength,t.byteLength),eu=t=>t.contentByteLength,cD=({name:t,dagByteLength:e,cid:r})=>({Name:t,Tsize:e,Hash:r}),Bb=t=>tu(t,YA),tu=({mode:t,mtime:e},r=XA)=>({mode:t!=null?uD(t,r):void 0,mtime:e!=null?s5(e):void 0}),ls=t=>t==null?Nt:{...t.mode==null?void 0:{mode:lD(t.mode)},...t.mtime==null?void 0:{mtime:t.mtime}},s5=t=>t==null?void 0:t.nsecs!==0?{Seconds:t.secs,FractionalNanoseconds:t.nsecs}:{Seconds:t.secs},uD=(t,e)=>{let r=t==null?void 0:lD(t);return r===e||r==null?void 0:r},lD=t=>t&4095|t&4294963200,i5=({content:t=vb,parts:e=QA,metadata:r=Nt,...n})=>e.length===0?new Zf(t,r):t.byteLength===0?new Jf(e,r):new Qf(t,e,r),Zf=class{constructor(e,r){this.content=e,this.metadata=r,this.layout="simple",this.type=ae.File}get filesize(){return this.content.byteLength}encode(){return eh(this.content,this.metadata)}},Jf=class{constructor(e,r){this.parts=e,this.metadata=r}get layout(){return"advanced"}get type(){return ae.File}get fileSize(){return Pr(this.parts)}get blockSizes(){return this.parts.map(eu)}encode(){return Db(this.parts,this.metadata)}},Qf=class{constructor(e,r,n){this.content=e,this.parts=r,this.metadata=n}get layout(){return"complex"}get type(){return ae.File}get fileSize(){return this.content.byteLength+Pr(this.parts)}get blockSizes(){return this.parts.map(eu)}encode(){return Tb(this.content,this.parts,this.metadata)}},a5=t=>{switch(t.type){case ae.Raw:case ae.Symlink:return t.content.byteLength;case ae.File:switch(t.layout){case"simple":return t.content.byteLength;case"advanced":return Pr(t.parts);case"complex":return t.content.byteLength+Pr(t.parts)}default:return 0}};var c5=function*(t){let e=yield*t;yield*oh(e)};function*Nb(){return yield ah}var ea=function*(){yield ch};var nh=function*(t){let e=yield*Nb();if(l5(t)){let r=!1,n;if(t.then(o=>{r=!1,n=o,ro(e)},o=>{r=!0,n=o,ro(e)}),yield*ea(),r)throw n;return n}else return p5(u5(e)),yield*ea(),t};function*u5(t){ro(t)}var l5=t=>t!=null&&typeof t.then=="function",oh=function*(t){yield t},sh=function*(t){let e=[];for(let r of Object.entries(t)){let[n,o]=r;o!==ou&&e.push(yield*ra(f5(o,n)))}yield*$b(e)},ih=t=>t.length>0?d5(t.map(c5)):ou;function*d5(t){let e=[];for(let r of t)e.push(yield*ra(r));yield*$b(e)}var f5=(t,e)=>t===ou?ou:t instanceof ru?new ru([...t.tags,e],t.source):new ru([e],t),ru=class{constructor(e,r){this.tags=e,this.source=r,this.controller}[Symbol.iterator](){return this.controller||(this.controller=this.source[Symbol.iterator]()),this}box(e){if(e.done)return e;switch(e.value){case ch:case ah:return e;default:{let r=e,{value:n}=r;for(let o of this.tags)n=h5(o,n);return r.value=n,r}}}next(e){return this.box(this.controller.next(e))}throw(e){return this.box(this.controller.throw(e))}return(e){return this.box(this.controller.return(e))}get[Symbol.toStringTag](){return"TaggedEffect"}},su=()=>ou;var h5=(t,e)=>({type:t,[t]:e});var ah=Symbol("current"),ch=Symbol("suspend");var cn=class t{static of(e){return e.group||Yi}static enqueue(e,r){e.group=r,r.stack.active.push(e)}constructor(e,r=[],n=new Set,o=new ta(r,n)){this.driver=e,this.parent=t.of(e),this.stack=o,this.id=++pD}},Pb=class{constructor(){this.status=nu,this.stack=new ta,this.id=0}},ta=class{constructor(e=[],r=new Set){this.active=e,this.idle=r}static size({active:e,idle:r}){return e.length+r.size}},p5=t=>ro(t[Symbol.iterator]()),ro=t=>{let e=cn.of(t);for(e.stack.active.push(t),e.stack.idle.delete(t);e.parent;){let{idle:r,active:n}=e.parent.stack;if(r.has(e.driver))r.delete(e.driver),n.push(e.driver);else break;e=e.parent}if(Yi.status===nu)for(Yi.status=mD;;)try{for(let r of Ob(Yi));Yi.status=nu;break}catch{Yi.stack.active.shift()}},m5=t=>ro(t),Ob=function*(t){let{active:e}=t.stack,r=e[0];for(t.stack.idle.delete(r);r;){let n=yD;e:for(;!n.done&&r===e[0];){let o=n.value;switch(o){case ch:t.stack.idle.add(r);break e;case ah:n=r.next(r);break;default:n=r.next(yield o);break}}e.shift(),r=e[0],t.stack.idle.delete(r)}};var ra=(t,e)=>new Rb(t,e),y5=(t,e)=>fD(t,{ok:!0,value:e});var Lb=(t,e)=>fD(t,{ok:!1,error:e});function*fD(t,e){try{let r=t,n=e.ok?r.return(e.value):r.throw(e.error);if(!n.done)if(n.value===ch){let{idle:o}=cn.of(r).stack;o.add(r)}else ro(r)}catch{}}function*$b(t){if(t.length===0)return;let e=yield*Nb(),r=new cn(e),n=null;for(let o of t){let{result:s}=o;if(s){!s.ok&&!n&&(n=s);continue}g5(o,r)}try{if(n)throw n.error;for(;yield*Ob(r),ta.size(r.stack)>0;)yield*ea()}catch(o){for(let s of r.stack.active)yield*Lb(s,o);for(let s of r.stack.idle)yield*Lb(s,o),ro(s);throw o}}var g5=(t,e)=>{let r=cn.of(t);if(r!==e){let{active:n,idle:o}=r.stack,s=e.stack;if(t.group=e,o.has(t))o.delete(t),s.idle.add(t);else{let i=n.indexOf(t);i>=0&&(n.splice(i,1),s.active.push(t))}}};function*Mb(t){t.status===nu&&(yield*t),t.result||(yield*$b([t]));let e=t.result;if(e.ok)return e.value;throw e.error}var Ub=class{constructor(e){this.handler=e,this.result}get promise(){let{result:e}=this,r=e==null?new Promise((n,o)=>{this.handler.onsuccess=n,this.handler.onfailure=o}):e.ok?Promise.resolve(e.value):Promise.reject(e.error);return Object.defineProperty(this,"promise",{value:r}),r}then(e,r){return this.activate().promise.then(e,r)}catch(e){return this.activate().promise.catch(e)}finally(e){return this.activate().promise.finally(e)}activate(){return this}},Rb=class extends Ub{constructor(e,r=w5,n={},o=yD){super(n),this.id=++pD,this.name=r.name||"",this.task=e,this.state=o,this.status=nu,this.result,this.handler=n,this.controller}*resume(){m5(this)}join(){return Mb(this)}abort(e){return Lb(this,e)}exit(e){return y5(this,e)}get[Symbol.toStringTag](){return"Fork"}*[Symbol.iterator](){return this.activate()}activate(){return this.controller=this.task[Symbol.iterator](),this.status=mD,ro(this),this}panic(e){this.result={ok:!1,error:e},this.status=dD;let{handler:r}=this;throw r.onfailure&&r.onfailure(e),e}step(e){if(this.state=e,e.done){this.result={ok:!0,value:e.value},this.status=dD;let{handler:r}=this;r.onsuccess&&r.onsuccess(e.value)}return e}next(e){try{return this.step(this.controller.next(e))}catch(r){return this.panic(r)}}return(e){try{return this.step(this.controller.return(e))}catch(r){return this.panic(r)}}throw(e){try{return this.step(this.controller.throw(e))}catch(r){return this.panic(r)}}},hD=function*(t,e){let r=yield*Nb(),n=new cn(r);for(cn.enqueue(t[Symbol.iterator](),n);;){for(let o of Ob(n))cn.enqueue(e(o)[Symbol.iterator](),n);if(ta.size(n.stack)>0)yield*ea();else break}},pD=0,nu="idle",mD="active",dD="finished",yD={done:!1,value:ah},w5={},ou=function*(){}(),Yi=new Pb;function Fb(){}Object.defineProperties(Fb,{prototype:{value:new Proxy(Object.prototype,{get(t,e,r){return typeof e=="symbol"?Reflect.get(t,e,r):r.get(e)}})}});var zb=()=>new iu;var wD=(t,e=0,r=t.byteLength)=>{let n=[],o=e<0?t.byteLength-e:e,s=r<0?t.byteLength-r:r;if(o===0&&s>=t.byteLength)return t;if(o>s||o>t.byteLength||s<=0)return zb();let i=0,a=0;for(let c of t.segments){let u=a+c.byteLength;if(i===0){if(s<=u){let l=c.subarray(o-a,s-a);n.push(l),i=l.byteLength;break}else if(o<u){let l=o===a?c:c.subarray(o-a);n.push(l),i=l.byteLength}}else if(s<=u){let l=s===u?c:c.subarray(0,s-a);n.push(l),i+=l.byteLength;break}else n.push(c),i+=c.byteLength;a=u}return new iu(n,t.byteOffset+o,i)},b5=(t,e)=>e.byteLength>0?(t.segments.push(e),new iu(t.segments,t.byteOffset,t.byteLength+e.byteLength)):t,x5=(t,e)=>{if(e<t.byteLength){let r=0;for(let n of t.segments){if(e<r+n.byteLength)return n[e-r];r+=n.byteLength}}},k5=(t,e,r)=>{let n=r;for(let o of t.segments)e.set(o,n),n+=o.byteLength;return e};function*v5(t){for(let e of t.segments)yield*e}var iu=class extends Fb{constructor(e=[],r=0,n=0){super(),this.segments=e,this.byteLength=n,this.length=n,this.byteOffset=r}[Symbol.iterator](){return v5(this)}slice(e,r){return wD(this,e,r)}subarray(e,r){return wD(this,e,r)}push(e){return b5(this,e)}get(e){return x5(this,e)}copyTo(e,r){return k5(this,e,r)}};var au=t=>{throw new Error(t)},bD=(t,e,...r)=>au(String.raw(t,JSON.stringify(e),...r)),xD=new Uint8Array(0),kD=[];var vD=t=>({config:t,buffer:zb()}),SD=(t,e)=>e.byteLength>0?_D(t.config,t.buffer.push(e),!1):{...t,chunks:kD},ED=t=>_D(t.config,t.buffer,!0),_D=(t,e,r)=>{let n=t.chunker,o=[],s=0;for(let i of n.cut(n.context,e,r))if(i>0){let a=e.subarray(s,s+i);o.push(a),s+=i}return{config:t,chunks:o,buffer:e.subarray(s)}};var AD=()=>({mutable:!0,needs:{},nodes:{},links:{},linked:Hb});var qb=(t,e)=>{let r=na(e,{});for(let n of t){let{ready:o,has:s,wants:i}=TD(n.children,r.links);i.length===0?r=na(r,{links:Wb(void 0,s),linked:[{id:n.id,links:o}]}):r=na(r,{needs:Wb(n.id,i),nodes:{[n.id]:{children:n.children,count:i.length}}})}return r},DD=(t,e,r)=>{let n=r.needs[t],o=r.nodes[n];if(o!=null)if(o.count===1){let{ready:s,has:i}=TD(o.children,{...r.links,[t]:e});return na(r,{needs:{[t]:void 0},links:Wb(void 0,i),nodes:{[n]:void 0},linked:[{id:n,links:s}]})}else return na(r,{needs:{[t]:void 0},links:{[t]:e},nodes:{[n]:{...o,count:o.count-1}}});else return na(r,{links:{[t]:e}})},na=(t,{needs:e,nodes:r,links:n,linked:o})=>{let s=t.mutable?t:{...t},i=t.mutable?A5:void 0;return e&&(s.needs=jb(t.needs,e,i)),r&&(s.nodes=jb(t.nodes,r,i)),n&&(s.links=jb(t.links,n,i)),s.linked=o?_5(t.linked||Hb,o,Hb):t.linked||[],s},Wb=(t,e)=>{let r={};for(let n of e)r[n]=t;return r},jb=(t,e,r=t)=>{let n=t===r?{...t}:t;for(let o of Object.entries(e)){let[s,i]=o;i==null?delete n[s]:n[s]=i}return n};var _5=(t,e,r=t)=>{if(t===r)return[...t,...e];for(let n of e)t.push(n);return t},TD=(t,e)=>{let r=[],n=[],o=[];for(let s of t){let i=e[s];i?(r.push(s),o.push(i)):n.push(s)}return{has:r,wants:n,ready:o}},Hb=Object.freeze([]),A5=Object.freeze({});var CD=(t,e)=>{switch(t.type){case"write":return T5(e,t.bytes);case"link":return C5(e,t.link);case"block":return{state:e,effect:su()};case"close":return I5(e);case"end":return{state:e,effect:su()};default:return bD`File Writer got unknown message ${t}`}},ID=(t,e,r)=>({status:"open",metadata:e,config:r,writer:t,chunker:vD({chunker:r.chunker}),layout:r.fileLayout.open(),nodeQueue:AD()}),T5=(t,e)=>{if(t.status==="open"){let{chunks:r,...n}=SD(t.chunker,e),{nodes:o,leaves:s,layout:i}=t.config.fileLayout.write(t.layout,r),{linked:a,...c}=qb(o,t.nodeQueue),u=[...BD(s,t.config),...Vb(a,t.config)];return{state:{...t,chunker:n,layout:i,nodeQueue:c},effect:sh({link:ih(u)})}}else return au("Unable to perform write on closed file")},C5=(t,{id:e,link:r,block:n})=>{let{linked:o,...s}=DD(e,r,t.nodeQueue),i=Vb(o,t.config),a=t.status==="closed"&&e===t.rootID?{...t,status:"linked",link:r,nodeQueue:s}:{...t,nodeQueue:s},c=t.status==="closed"&&e===t.rootID&&t.end?t.end.resume():su();return{state:a,effect:sh({link:ih(i),block:L5(t.writer,n),end:c})}},I5=t=>{if(t.status==="open"){let{chunks:e}=ED(t.chunker),{layout:r,...n}=t.config.fileLayout.write(t.layout,e),{root:o,...s}=t.config.fileLayout.close(r,t.metadata),[i,a]=R5(o)?[[...n.nodes,...s.nodes],[...n.leaves,...s.leaves,o]]:[[...n.nodes,...s.nodes,o],[...n.leaves,...s.leaves]],{linked:c,...u}=qb(i,t.nodeQueue),l=[...BD(a,t.config),...Vb(c,t.config)],d=ra(ea());return{state:{...t,chunker:null,layout:null,rootID:o.id,status:"closed",end:d,nodeQueue:u},effect:sh({link:ih(l),end:Mb(d)})}}else return{state:t,effect:su()}},BD=(t,e)=>t.map(r=>B5(e,r,e.fileChunkEncoder)),B5=function*({hasher:t,linker:e},{id:r,content:n},o){let s=o.encode(n?U5(n):xD),i=yield*nh(t.digest(s)),a=e.createLink(o.code,i),c={cid:a,bytes:s},u={cid:a,contentByteLength:n?n.byteLength:0,dagByteLength:s.byteLength};return{id:r,block:c,link:u}},Vb=(t,e)=>t.map(r=>P5(e,r)),P5=function*(t,{id:e,links:r},n){let o=t.fileEncoder.encode({type:ae.File,layout:"advanced",parts:r,metadata:n}),s=yield*nh(Promise.resolve(t.hasher.digest(o))),i=t.linker.createLink(t.fileEncoder.code,s),a={bytes:o,cid:i},c={cid:i,contentByteLength:Pr(r),dagByteLength:to(o,r)};return{id:e,block:a,link:c}},L5=function*(t,e){(t.desiredSize||0)<=0&&(yield*nh(t.ready)),t.write(e)},U5=t=>t instanceof Uint8Array?t:t.copyTo(new Uint8Array(t.byteLength),0),R5=t=>t.children==null;var Gb={};F(Gb,{context:()=>O5,cut:()=>LD,name:()=>PD,type:()=>$5,withMaxChunkSize:()=>cu});var PD="fixed",O5={maxChunkSize:262144},$5="Stateless",cu=t=>({type:"Stateless",context:{maxChunkSize:t},name:PD,cut:LD}),LD=({maxChunkSize:t},{byteLength:e},r)=>{let n=e/t|0,o=new Array(n).fill(t),s=r?e-n*t:0;return s>0&&o.push(s),o};var uu=class{constructor(e,r,n){this.id=e,this.children=r,this.metadata=n}},oa=t=>({open:()=>F5({width:t}),write:z5,close:j5}),M5={width:174},F5=({width:t}=M5)=>({width:t,head:null,leafIndex:[],nodeIndex:[],lastID:0}),z5=(t,e)=>{if(e.length===0)return{layout:t,nodes:xt,leaves:xt};{let{lastID:r}=t,[n,o]=t.head?[null,(e.unshift(t.head),e)]:e.length===1&&t.leafIndex.length===0?[e[0],xt]:[null,e];if(o.length===0)return{layout:{...t,head:n},nodes:xt,leaves:xt};{let s=[...t.leafIndex],i=[];for(let a of o){let c={id:++r,content:a};i.push(c),s.push(c.id)}return s.length>=t.width?RD({...t,leafIndex:s,head:n,lastID:r},i):{layout:{...t,head:n,leafIndex:s,lastID:r},leaves:i,nodes:xt}}}},RD=(t,e=xt,r=[],n=!1)=>{let{lastID:o}=t,s=t.nodeIndex.map(u=>[...u]),i=[...t.leafIndex],{width:a}=t;for(;i.length>=a||i.length>0&&n;){UD(s,1);let u=new uu(++o,i.splice(0,a));s[0].push(u.id),r.push(u)}let c=0;for(;c<s.length;){let u=s[c];for(c++;u.length>=a||u.length>0&&n&&c<s.length;){let l=new uu(++o,u.splice(0,a));UD(s,c+1),s[c].push(l.id),r.push(l)}}return{layout:{...t,lastID:o,leafIndex:i,nodeIndex:s},leaves:e,nodes:r}},j5=(t,e)=>{let r=t;if(t.head)return{root:{id:1,content:t.head,metadata:e},leaves:xt,nodes:xt};if(t.leafIndex.length===0)return{root:{id:1,metadata:e},leaves:xt,nodes:xt};{let{nodes:n,layout:o}=RD(r,xt,[],!0),{nodeIndex:s}=o,i=s.length-1,a=s[i];if(a.length===1){let c=n[n.length-1];return n.length=n.length-1,{root:c,nodes:n,leaves:xt}}else return{root:new uu(o.lastID+1,a,e),nodes:n,leaves:xt}}},UD=(t,e)=>{for(;t.length<e;)t.push([]);return t},xt=[];var un=()=>({chunker:Gb,fileChunkEncoder:Kb,smallFileEncoder:Kb,fileEncoder:Xi,fileLayout:oa(174),hasher:ue,linker:{createLink:se.createV1}}),Lr=t=>({...un(),...t}),Kb={code:Qi,name:Sb,encode:Ab};var ds=({writer:t,metadata:e={},settings:r=un()})=>new Zb(ID(t,e,Lr(r))),ND=async(t,e)=>(await $D(t,oh({type:"write",bytes:e})),t),OD=async(t,{releaseLock:e=!1,closeWriter:r=!1}={})=>{await $D(t,oh({type:"close"}));let{state:n}=t;if(n.status==="linked")return r?await t.state.writer.close():e&&t.state.writer.releaseLock(),n.link;au(`Expected writer to be in 'linked' state after close, but it is in "${n.status}" instead`)},$D=(t,e)=>ra(hD(e,r=>{let{state:n,effect:o}=CD(r,t.state);return t.state=n,o})),Zb=class{constructor(e){this.state=e}get writer(){return this.state.writer}get settings(){return this.state.config}write(e){return ND(this,e)}close(e){return OD(this,e)}};var H5=un,lu=({writer:t,settings:e=H5(),metadata:r={}})=>new uh({writer:t,metadata:r,settings:e,entries:new Map,closed:!1}),du=(t,e,r,{overwrite:n=!1}={})=>{let o=Qb(t.state);if(e.includes("/"))throw new Error(`Directory entry name "${e}" contains forbidden "/" character`);if(!n&&o.entries.has(e))throw new Error(`Directory already contains entry with name "${e}"`);return o.entries.set(e,r),t},fu=(t,e)=>(Qb(t.state).entries.delete(e),t),Qb=t=>{if(t.closed)throw new Error("Can not change written directory, but you can .fork() and make changes to it");return t},MD=async(t,{closeWriter:e=!1,releaseLock:r=!1}={})=>{let{writer:n,settings:o,metadata:s}=Qb(t.state);t.state.closed=!0;let i=[...FD(t)],a=Xf(i,s),c=th(a),u=await o.hasher.digest(c),l=o.linker.createLink(Qi,u);return(n.desiredSize||0)<=0&&await n.ready,n.write({cid:l,bytes:c}),e?await n.close():r&&n.releaseLock(),{cid:l,dagByteLength:to(c,i)}},FD=function*({state:t}){for(let[e,{dagByteLength:r,cid:n}]of t.entries)yield{name:e,dagByteLength:r,cid:n}},zD=({state:t},{writer:e=t.writer,metadata:r=t.metadata,settings:n=t.settings}={})=>new uh({writer:e,metadata:r,settings:n,entries:new Map(t.entries.entries()),closed:!1}),uh=class{constructor(e){this.state=e}get writer(){return this.state.writer}get settings(){return this.state.settings}links(){return FD(this)}set(e,r,n){return du(this,e,r,n)}remove(e){return fu(this,e)}fork(e){return zD(this,e)}close(e){return MD(this,e)}entries(){return this.state.entries.entries()}has(e){return this.state.entries.has(e)}get size(){return this.state.entries.size}};var fh={};F(fh,{API:()=>lh,and:()=>X5,bitCount:()=>dh,empty:()=>jD,from:()=>V5,fromBytes:()=>tO,get:()=>Q5,or:()=>Y5,popcount:()=>Xb,set:()=>WD,size:()=>G5,toBytes:()=>eO,unset:()=>J5});var lh={};var jD=(t=32)=>{if(t!==32)throw new Error(`Uint32 BitField does not support size: ${t}`);return 0},V5=(t,e)=>{let r=jD(e);for(let n of t)r=WD(r,n);return r},G5=t=>32,K5=(t,e)=>t>>>e&31,Z5=(t,e)=>1<<K5(t,e),Xb=(t,e=31)=>dh(t&Z5(e,0)-1),WD=(t,e)=>t|1<<e,J5=(t,e)=>t&(255^1<<e),Q5=(t,e)=>(t>>e&1)!==0,dh=t=>{let e=t-(t>>1&1431655765),r=(e&858993459)+(e>>2&858993459);return(r+(r>>4)&252645135)*16843009>>24},X5=(t,e)=>t&e,Y5=(t,e)=>t|e,eO=t=>Uint8Array.of(t>>24&255,t>>16&255,t>>8&255,t&255),tO=t=>{if(t.length!==4)throw new Error(`Expected 4 bytes instead got ${t.length}`);return(t[0]<<24)+(t[1]<<16)+(t[2]<<8)+t[3]};var VD=De(Yb(),1),rO=new TextEncoder,nO=VD.default.x64.hash126,GD=({bitWidth:t=5,hash:e=nO})=>{if(t>4*8)throw new RangeError(`Can not use bitWidth ${t} which exceeds the hashSize 4`);if(4*8>32)throw new RangeError("Can not use hashSize 4 as it can not be encoded in Uint32");let n=4294967295>>>32-t;return{at:(i,a)=>i>>>a*t&n,from:i=>e(rO.encode(i)),size:Math.ceil(4*8/t)}};var sa=class{constructor(e,r,n,o,s){this.edit=e,this.config=s,this.datamap=r,this.nodemap=n,this.children=o}get nodeArity(){return this.config.BitField.popcount(this.nodemap)}get dataArity(){return this.config.BitField.popcount(this.datamap)}empty(){return mu(this.config)}lookup(e,r,n,o){return ZD(this,e,r,n,o)}associate(e,r,n,o,s,i){return rx(this,e,r,n,o,s,i)}dissociate(e,r,n,o,s){return JD(this,e,r,n,o,s)}fork(e=null){return yu(this,e)}entries(){return QD(this)}keys(){return XD(this)}values(){return YD(this)}},ph=class{constructor(e,r,n,o){this.edit=e,this.count=r,this.children=n,this.config=o}get nodeArity(){return 0}get dataArity(){return this.count}lookup(e,r,n,o){return oO(this,n,o)}associate(e,r,n,o,s,i){return sO(this,e,n,o,s,i)}dissociate(e,r,n,o,s){return iO(this,e,n,o,s)}fork(e=null){return aO(this,e)}entries(){return QD(this)}keys(){return XD(this)}values(){return YD(this)}},oO=(t,e,r)=>{let{children:n,count:o}=t,s=ex(n,o,e);return n[s]===e?n[s+1]:r},sO=(t,e,r,n,o,s)=>{let{children:i,count:a}=t,c=ex(i,a,n);if(i[c]!==n){let u=t.fork(e);return s.value=!0,u.count+=1,u.children.splice(c,r,o),u}else if(i[c+1]!==o){let u=t.fork(e);return u.children[c+1]=o,u}else return t},iO=(t,e,r,n,o)=>{let{children:s,count:i,config:a}=t,c=ex(s,i,n);if(s[c]!==n)return t;if(o.value=!0,i===2){let u=c===0?2:0;return rx(mu(a),e,0,r,s[u],s[u+1],o)}else{let u=t.fork(e);return u.children.splice(c,2),u.count-=1,u}},aO=(t,e=null)=>nT(t.edit,e)?t:new ph(e,t.count,t.children.slice(),t.config),ex=(t,e,r)=>{let n=0;for(;n<e&&t[n]>r;)n+=2;return n};var mu=(t,e=null)=>new sa(e,t.BitField.empty(Math.pow(2,t.bitWidth)),t.BitField.empty(Math.pow(2,t.bitWidth)),[],t),mh=(t,e,r)=>ZD(t,0,t.config.Path.from(e),e,r),ZD=(t,e,r,n,o)=>{let{datamap:s,nodemap:i,config:a}=t,{Path:c,BitField:u}=a,l=c.at(r,e);if(u.get(s,l)){let d=u.popcount(s,l);return gu(t,d)===n?pu(t,d):o}else return u.get(i,l)?bu(t,l).lookup(e+1,r,n,o):o},tx=(t,e,r,n,o)=>rx(t,e,0,t.config.Path.from(r),r,n,o),rx=(t,e,r,n,o,s,i)=>{let{datamap:a,nodemap:c,config:u}=t,{Path:l,BitField:d}=u,p=l.at(n,r);if(d.get(a,p)){let f=d.popcount(a,p),h=gu(t,f);if(o===h)return pu(t,f)===s?t:cO(t,e,f,s);{let m=tT(u,e,r+1,l.from(h),h,pu(t,f),n,o,s);return i.value=!0,lO(t,e,p,m)}}else if(d.get(c,p)){let f=bu(t,p),h=f.associate(e,r+1,n,o,s,i);return f===h?t:eT(t,e,p,h)}else{let f=d.popcount(a,p);i.value=!0;let h=t.fork(e);return h.datamap=d.set(a,p),h.children.splice(wu(f),0,o,s),h}},nx=(t,e,r,n)=>JD(t,e,0,t.config.Path.from(r),r,n);var JD=(t,e,r,n,o,s)=>{let{datamap:i,nodemap:a,config:c}=t,{BitField:u,Path:l}=c,d=l.at(n,r);if(u.get(i,d)){let p=u.popcount(i,d);if(o===gu(t,p)){s.value=!0;let f=yu(t,e);return f.datamap=u.unset(t.datamap,d),f.children.splice(wu(p),2),f}else return t}else if(u.get(a,d)){let p=bu(t,d),f=p.dissociate(e,r+1,n,o,s);return dO(f)?fO(t)?f:uO(t,e,d,f):p===f?t:eT(t,e,d,f)}else return t},QD=function*({children:t}){let e=0,r=t.length;for(;e<r;){let n=t[e];if(typeof n=="string"){e+=1;let o=t[e];yield[n,o],e+=1}else break}for(;e<r;)yield*t[e].entries(),e+=1},yu=(t,e)=>nT(t.edit,e)?t:new sa(e,t.datamap,t.nodemap,t.children.slice(),t.config),XD=function*({children:t}){let e=0,r=t.length;for(;e<r;){let n=t[e];if(typeof n=="string")yield n,e+=2;else break}for(;e<r;)yield*t[e].keys(),e+=1},YD=function*({children:t}){let e=0,r=t.length;for(;e<r&&typeof t[e]=="string";)e+=1,yield t[e],e+=1;for(;e<r;)yield*t[e].values(),e+=1},cO=(t,e,r,n)=>{let o=t.fork(e);return o.children[rT(r)]=n,o},uO=(t,e,r,n)=>{let{datamap:o,nodemap:s,config:i}=t,{BitField:a}=i,c=yu(t,e);return c.children.splice(yh(t,r),1),c.children.splice(wu(a.popcount(o,r)),0,n.children[0],n.children[1]),c.datamap=a.set(o,r),c.nodemap=a.unset(s,r),c},eT=(t,e,r,n)=>{let o=yu(t,e);return o.children[yh(t,r)]=n,o},lO=(t,e,r,n)=>{let{nodemap:o,datamap:s,config:i}=t,{BitField:a}=i,c=a.popcount(s,r),u=wu(c),l=yh(t,r),d=yu(t,e);return d.datamap=a.unset(s,r),d.children.splice(u,2),d.nodemap=a.set(o,r),d.children.splice(l-1,0,n),d},tT=(t,e,r,n,o,s,i,a,c)=>{let{BitField:u,Path:l}=t;if(l.size<r)return new ph(e,2,[o,s,a,c],t);{let d=l.at(n,r),p=l.at(i,r);return d===p?new sa(e,u.empty(Math.pow(2,t.bitWidth)),u.from([d],Math.pow(2,t.bitWidth)),[tT(t,e,r+1,n,o,s,i,a,c)],t):new sa(e,u.from([d,p],Math.pow(2,t.bitWidth)),u.empty(Math.pow(2,t.bitWidth)),d<p?[o,s,a,c]:[a,c,o,s],t)}},gu=({children:t},e)=>t[wu(e)],wu=t=>t*2,pu=({children:t},e)=>t[rT(e)],rT=t=>t*2+1,bu=(t,e)=>t.children[yh(t,e)],yh=({children:t,nodemap:e,config:r},n)=>t.length-1-r.BitField.popcount(e,n),nT=(t,e)=>t!=null&&t===e,dO=t=>t.nodeArity===0&&t.dataArity===1,fO=({config:{BitField:t},datamap:e,nodemap:r})=>t.popcount(e)===0&&t.popcount(r)===1;var gh=De(Yb(),1);function hO(t){let e=new Array(4);for(let r=0;r<4;r++)e[r]=t&255,t=t>>8;return new Uint8Array(e)}var HJ=To({name:"murmur3-32",code:35,encode:t=>hO(gh.default.x86.hash32(t))}),sT=To({name:"murmur3-128",code:34,encode:t=>wo.fromHex(gh.default.x64.hash128(t))}),ia=To({name:"murmur3-x64-64",code:34,encode:t=>wo.fromHex(gh.default.x64.hash128(t)).subarray(0,8)});var pO=new TextEncoder,mO=t=>ia.encode(t),iT=({bitWidth:t=8,hash:e=mO}={})=>{let r=e(new Uint8Array).byteLength;return{from:s=>e(pO.encode(s)),at:(s,i)=>{let a=i*t;if(a>r)throw new RangeError("Out of bounds");return ox(s,a,t)},size:Math.ceil(r*8/t)}},ox=(t,e,r)=>{let n=e/8|0,o=e%8,s=r,i=0;for(;s>0&&n<t.byteLength;){let a=t[n],c=8-o,u=c<s?c:s,l=8-o-u,p=(255>>o&a)>>l;i=(i<<u)+p,s-=u,n++,o=0}return i};var sx={};F(sx,{API:()=>lh,and:()=>AO,empty:()=>aT,from:()=>gO,fromBytes:()=>SO,get:()=>kO,or:()=>_O,popcount:()=>EO,set:()=>bO,size:()=>wO,toBytes:()=>vO,unset:()=>xO});var aT=(t=256)=>{if(t%8!==0)throw new Error("Must be multiple of 8");return new Uint8Array(t/8)},gO=(t,e)=>{let r=aT(e);for(let n of t){let{byte:o,byteOffset:s,bitOffset:i}=xu(r,n);r[s]=o|1<<i}return r},wO=t=>t.byteLength*8,xu=(t,e)=>{let r=t.byteLength-1-(e/8|0),n=e%8;return{byte:t[r],byteOffset:r,bitOffset:n}},cT=(t,e,r)=>{if(t[e]!==r){let n=t.slice(0);return n[e]=r,n}return t},bO=(t,e)=>{let{byte:r,byteOffset:n,bitOffset:o}=xu(t,e);return cT(t,n,r|1<<o)},xO=(t,e)=>{let{byte:r,byteOffset:n,bitOffset:o}=xu(t,e);return cT(t,n,r&(255^1<<o))},kO=(t,e)=>{var{byte:r,bitOffset:n}=xu(t,e);return(r>>n&1)!==0},vO=t=>t,SO=t=>t,EO=(t,e=t.byteLength*8)=>{let{byteOffset:r,bitOffset:n,byte:o}=xu(t,e),s=Xb(o,n),i=t.byteLength-1;for(;i>r;){let a=t[i];s+=dh(a),i--}return s},_O=(t,e)=>{let r=t.slice(),n=0;for(;n<t.length;)r[n]|=e[n],n++;return r},AO=(t,e)=>{let r=t.slice(),n=0;for(;n<t.length;)r[n]&=e[n],n++;return r};var uT=new RangeError("Not Found");var DO=({bitWidth:t=5,BitField:e=t===5?fh:sx,Path:r=t===5?GD({bitWidth:t}):iT({bitWidth:t})}={})=>({bitWidth:t,BitField:e,Path:r}),lT=(t,e)=>{let r=cx(e);for(let[n,o]of t)r.set(n,o);return r.build()},ax=(t,e)=>mh(t.root,e,uT)!==uT,dT=(t,e,r=void 0)=>mh(t.root,e,r),cx=t=>{let e={},r=DO(t);return new wh(e,0,mu(r,e),r)},ix=class t{constructor(e=0,r,n){this.count=e,this.root=r,this.config=n}get size(){return this.count}clone(){return new t(this.count,this.root,this.config)}empty(){return new t(0,mu(this.config,null),this.config)}has(e){return ax(this,e)}get(e){return mh(this.root,e,void 0)}set(e,r){let n={value:!1},o=tx(this.root,null,e,r,n);return o===this.root?this:new t(n.value?this.count+1:this.count,o,this.config)}delete(e){let r=nx(this.root,null,e,{value:!1});return r===this.root?this:new t(this.count-1,r,this.config)}get bitField(){return this.config.BitField.or(this.root.datamap,this.root.nodemap)}[Symbol.iterator](){return this.entries()}entries(){return this.root.entries()}keys(){return this.root.keys()}values(){return this.root.values()}createBuilder(){return new wh({},this.count,this.root,this.config)}},wh=class{constructor(e,r,n,o){this.edit=e,this.count=r,this.root=n,this.config=o}get size(){if(this.edit)return this.count;throw new Error(".size was accessed on the finalized builder")}set(e,r){if(this.edit){let n={value:!1},o=tx(this.root,this.edit,e,r,n);return this.root!==o&&(this.root=o),n.value&&(this.count+=1),this}else throw new Error(".set was called on the finalized builder")}delete(e){if(this.edit){if(this.count===0)return this;let r={value:!1},n=nx(this.root,this.edit,e,r);return n!==this.root&&(this.root=n),r.value&&(this.count-=1),this}else throw new Error(".delete was called on the finalized builder")}build(){if(this.edit)return this.edit=null,new ix(this.count,this.root,this.config);throw new Error(".build was called on the finalized builder")}};var TO=new TextEncoder,CO=t=>ia.encode(t),hT=({bitWidth:t=8,hash:e=CO})=>{let r=e(new Uint8Array).byteLength,n={bitWidth:t,hash:e,hashSize:r};return{at:(i,a)=>IO(i,a,n),from:i=>TO.encode(i),size:1/0}},IO=(t,e=0,{bitWidth:r=8,hash:n,hashSize:o})=>{let s=o*8,i=0,a=r,c=r*e;for(;a>0;){let u=c/s>>0,l=n(u===0?t:BO(t,u)),d=s<=c?c%s:c,p=s-d,f=p<a?p:a;i=(i<<f)+ox(l,d,f),a-=f,c+=f}return i},BO=(t,e)=>{let r=new Uint8Array(t.byteLength+1).fill(e,t.byteLength);return r.set(t),r};var pT=8,mT={bitWidth:pT,Path:hT({bitWidth:pT})},yT=t=>Math.pow(2,t.config.bitWidth);var ux=(t=mT)=>cx(t),gT=(t,e=mT)=>lT(t,e),wT=({datamap:t,nodemap:e,config:{BitField:r}})=>LO(r.toBytes(r.or(t,e))),LO=t=>{let e=0;for(;e<t.byteLength;){if(t[e]!==0)return t.subarray(e);e+=1}return t.subarray(e)},bT=function*(t){let{config:e,datamap:r,nodemap:n}=t,{BitField:o}=e,s=o.size(r),i=0,a=0;for(;i<s;){let c=i.toString(16).toUpperCase().padStart(2,"0");if(o.get(r,i)){let u=gu(t,a);yield{prefix:c,key:u,value:pu(t,a)},a++}else o.get(n,i)&&(yield{prefix:c,node:bu(t,i)});i++}};function bh({enumerable:t=!0,configurable:e=!1}={}){return{enumerable:t,configurable:e,writable:!1}}function*RO(t,e){if(e!=null&&typeof e=="object")if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r],s=se.asCID(n);s?yield[o.join("/"),s]:typeof n=="object"&&(yield*lx(n,o))}else{let r=se.asCID(e);r?yield[t.join("/"),r]:yield*lx(e,t)}}function*lx(t,e){if(t==null||t instanceof Uint8Array)return;let r=se.asCID(t);r&&(yield[e.join("/"),r]);for(let[n,o]of Object.entries(t)){let s=[...e,n];yield*RO(s,o)}}function*NO(t,e){if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r];yield o.join("/"),typeof n=="object"&&!se.asCID(n)&&(yield*dx(n,o))}else yield*dx(e,t)}function*dx(t,e){if(!(t==null||typeof t!="object"))for(let[r,n]of Object.entries(t)){let o=[...e,r];yield o.join("/"),n!=null&&!(n instanceof Uint8Array)&&typeof n=="object"&&!se.asCID(n)&&(yield*NO(o,n))}}function OO(t,e){let r=t;for(let[n,o]of e.entries()){if(r=r[o],r==null)throw new Error(`Object has no property at ${e.slice(0,n+1).map(i=>`[${JSON.stringify(i)}]`).join("")}`);let s=se.asCID(r);if(s)return{value:s,remaining:e.slice(n+1).join("/")}}return{value:r}}var Qt=class{constructor({cid:e,bytes:r,value:n}){if(!e||!r||typeof n>"u")throw new Error("Missing required argument");this.cid=e,this.bytes=r,this.value=n,this.asBlock=this,Object.defineProperties(this,{cid:bh(),bytes:bh(),value:bh(),asBlock:bh()})}links(){return lx(this.value,[])}tree(){return dx(this.value,[])}get(e="/"){return OO(this.value,e.split("/").filter(Boolean))}};async function xh({value:t,codec:e,hasher:r}){if(typeof t>"u")throw new Error('Missing required argument "value"');if(!e||!r)throw new Error("Missing required argument: codec or hasher");let n=e.encode(t),o=await r.digest(n),s=se.create(1,e.code,o);return new Qt({value:t,bytes:n,cid:s})}async function kh({bytes:t,codec:e,hasher:r}){if(!t)throw new Error('Missing required argument "bytes"');if(!e||!r)throw new Error("Missing required argument: codec or hasher");let n=e.decode(t),o=await r.digest(t),s=se.create(1,e.code,o);return new Qt({value:n,bytes:t,cid:s})}var $O=un,fx=({writer:t,settings:e=$O(),metadata:r={}})=>new vh({writer:t,metadata:r,settings:e,entries:new ku,closed:!1}),MO=t=>{if(t.closed)throw new Error("Can not change written HAMT directory, but you can .fork() and make changes to it");return t},xT=async(t,{closeWriter:e=!1,releaseLock:r=!1}={})=>{let{writer:n,settings:o,metadata:s}=MO(t.state);t.state.closed=!0;let{entries:i}=t.state;if(!(i instanceof ku))throw new Error(`not a HAMT: ${i}`);let a=i.builder.build(),c=kT(a,a.root,o),u=null;for await(let l of c)u=l,(n.desiredSize||0)<=0&&await n.ready,n.write(l);if(u==null)throw new Error("no root block yielded");return e?await n.close():r&&n.releaseLock(),{cid:u.cid,dagByteLength:to(u.bytes,u.value.entries)}},kT=async function*(t,e,r){let n=[];for(let s of bT(e))if("key"in s)n.push({name:`${s.prefix??""}${s.key??""}`,dagByteLength:s.value.dagByteLength,cid:s.value.cid});else{let i=null;for await(let a of kT(t,s.node,r))yield a,i=a;if(i==null)throw new Error("no root block yielded");n.push({name:s.prefix,dagByteLength:to(i.bytes,i.value.entries),cid:i.cid})}let o=Eb(n,wT(e),yT(t),ia.code);yield await FO(o,r)};async function FO(t,e){let r=rh(t),n=await e.hasher.digest(r),o=e.linker.createLink(Qn,n);return new Qt({cid:o,bytes:r,value:t})}var vT=({state:t},{writer:e=t.writer,metadata:r=t.metadata,settings:n=t.settings}={})=>new vh({writer:e,metadata:r,settings:n,entries:new ku(gT(t.entries.entries()).createBuilder()),closed:!1}),vh=class{constructor(e){this.state=e}get writer(){return this.state.writer}get settings(){return this.state.settings}set(e,r,n){return du(this,e,r,n)}remove(e){return fu(this,e)}fork(e){return vT(this,e)}close(e){return xT(this,e)}entries(){return this.state.entries.entries()}has(e){return this.state.entries.has(e)}get size(){return this.state.entries.size}},ku=class extends Map{constructor(e=ux()){super(),this.builder=e}clear(){this.builder=ux()}delete(e){let{root:r}=this.builder;return this.builder.delete(e),this.builder.root!==r}forEach(e,r=this){for(let[n,o]of this.builder.root.entries())e.call(r,o,n,this)}get(e){return dT(this.builder,e)}has(e){return ax(this.builder,e)}set(e,r){return this.builder.set(e,r),this}get size(){return this.builder.size}[Symbol.iterator](){return this.builder.root.entries()}entries(){return this.builder.root.entries()}keys(){return this.builder.root.keys()}values(){return this.builder.root.values()}};var vu=({writable:t,settings:e=un()})=>new hx({writer:t.getWriter(),settings:e}),zO=async(t,{releaseLock:e=!0,closeWriter:r=!0}={})=>(r?await t.writer.close():e&&t.writer.releaseLock(),t),hx=class{constructor({writer:e,settings:r}){this.writer=e,this.settings=Lr(r)}createFileWriter({settings:e=this.settings,metadata:r}={}){return ds({writer:this.writer,settings:e,metadata:r})}createDirectoryWriter({settings:e=this.settings,metadata:r}={}){return lu({writer:this.writer,settings:e,metadata:r})}close(e){return zO(this,e)}},jO=1048576,WO=jO*100,Sh=(t=WO)=>({highWaterMark:t,size:e=>e.bytes.length});var HO=1e3,ET=Sh(),_T=Lr({fileChunkEncoder:ui,smallFileEncoder:ui,chunker:cu(1024*1024),fileLayout:oa(1024)});function AT(t){let{readable:e,writable:r}=new TransformStream({},ET),n=vu({writable:r,settings:_T}),o=new Eh("",t);return(async()=>(await o.finalize(n),await n.close()))(),e}var Eu,Eh=class{constructor(e,r){ke(this,Eu,void 0);this.name=e,fe(this,Eu,r)}async finalize(e){let r=ds(e);return await $(this,Eu).stream().pipeTo(new WritableStream({async write(n){await r.write(n)}})),await r.close()}};Eu=new WeakMap;var aa,Su=class{constructor(e,r){ke(this,aa,void 0);w(this,"entries",new Map);this.name=e,fe(this,aa,r)}async finalize(e){let r=this.entries.size<=HO?lu(e):fx(e);for(let[n,o]of this.entries){let s=await o.finalize(e);$(this,aa)?.onDirectoryEntryLink&&$(this,aa).onDirectoryEntryLink({name:o.name,...s}),r.set(n,s)}return await r.close()}};aa=new WeakMap;function DT(t,e){let r=new Su("",e);for(let i of t){let a=i.name.split("/");(a[0]===""||a[0]===".")&&a.shift();let c=r;for(let[u,l]of a.entries()){if(u===a.length-1){c.entries.set(l,new Eh(a.join("/"),i));break}let d=c.entries.get(l);if(d==null){let p=c===r?l:`${c.name}/${l}`;d=new Su(p,e),c.entries.set(l,d)}if(!(d instanceof Su))throw new Error(`"${i.name}" cannot be a file and a directory`);c=d}}let{readable:n,writable:o}=new TransformStream({},ET),s=vu({writable:o,settings:_T});return(async()=>{let i=await r.finalize(s);e?.onDirectoryEntryLink&&e.onDirectoryEntryLink({name:"",...i}),await s.close()})(),n}async function _h(t,e){let r=kr(await t.upTo(8),t);if(r===0)throw new Error("Invalid CAR header (zero length)");let n=await t.exactly(r,!0),o=Ge(n);if(!Jl(o))throw new Error("Invalid CAR header format");if(o.version!==1&&o.version!==2||e!==void 0&&o.version!==e)throw new Error(`Invalid CAR version: ${o.version}${e!==void 0?` (expected ${e})`:""}`);let s=Array.isArray(o.roots);if(o.version===1&&!s||o.version===2&&s)throw new Error("Invalid CAR header format");if(o.version===1)return o;let i=Yl(await t.exactly(Xl,!0));t.seek(i.dataOffset-t.pos);let a=await _h(t,1);return Object.assign(a,i)}async function VO(t){let e=await t.exactly(2,!1);if(e[0]===Tn.SHA2_256&&e[1]===Tn.LENGTH){let i=await t.exactly(34,!0),a=vn(i);return se.create(0,Tn.DAG_PB,a)}let r=kr(await t.upTo(8),t);if(r!==1)throw new Error(`Unexpected CID version (${r})`);let n=kr(await t.upTo(8),t),o=await t.exactly(ed(await t.upTo(8)),!0),s=vn(o);return se.create(r,n,s)}async function TT(t){let e=t.pos,r=kr(await t.upTo(8),t);if(r===0)throw new Error("Invalid CAR section (zero length)");r+=t.pos-e;let n=await VO(t),o=r-Number(t.pos-e);return{cid:n,length:r,blockLength:o}}async function GO(t){let{cid:e,blockLength:r}=await TT(t);return{bytes:await t.exactly(r,!0),cid:e}}async function KO(t){let e=t.pos,{cid:r,length:n,blockLength:o}=await TT(t),s={cid:r,length:n,blockLength:o,offset:e,blockOffset:t.pos};return t.seek(s.blockLength),s}function ca(t){let e=(async()=>{let r=await _h(t);if(r.version===2){let n=t.pos-r.dataOffset;t=JO(t,r.dataSize-n)}return r})();return{header:()=>e,async*blocks(){for(await e;(await t.upTo(8)).length>0;)yield await GO(t)},async*blocksIndex(){for(await e;(await t.upTo(8)).length>0;)yield await KO(t)}}}function no(t){let e=0;return{async upTo(r){return t.subarray(e,e+Math.min(r,t.length-e))},async exactly(r,n=!1){if(r>t.length-e)throw new Error("Unexpected end of data");let o=t.subarray(e,e+r);return n&&(e+=r),o},seek(r){e+=r},get pos(){return e}}}function ZO(t){let e=0,r=0,n=0,o=new Uint8Array(0),s=async i=>{r=o.length-n;let a=[o.subarray(n)];for(;r<i;){let u=await t();if(u==null)break;r<0?u.length>r&&a.push(u.subarray(-r)):a.push(u),r+=u.length}o=new Uint8Array(a.reduce((u,l)=>u+l.length,0));let c=0;for(let u of a)o.set(u,c),c+=u.length;n=0};return{async upTo(i){return o.length-n<i&&await s(i),o.subarray(n,n+Math.min(o.length-n,i))},async exactly(i,a=!1){if(o.length-n<i&&await s(i),o.length-n<i)throw new Error("Unexpected end of data");let c=o.subarray(n,n+i);return a&&(e+=i,n+=i),c},seek(i){e+=i,n+=i},get pos(){return e}}}function ua(t){let e=t[Symbol.asyncIterator]();async function r(){let n=await e.next();return n.done?null:n.value}return ZO(r)}function JO(t,e){let r=0;return{async upTo(n){let o=await t.upTo(n);return o.length+r>e&&(o=o.subarray(0,e-r)),o},async exactly(n,o=!1){let s=await t.exactly(n,o);if(s.length+r>e)throw new Error("Unexpected end of data");return o&&(r+=n),s},seek(n){r+=n,t.seek(n)},get pos(){return t.pos}}}var fs=class{constructor(e,r){this._header=e,this._blocks=r,this._keys=r.map(n=>n.cid.toString())}get version(){return this._header.version}async getRoots(){return this._header.roots}async has(e){return this._keys.indexOf(e.toString())>-1}async get(e){let r=this._keys.indexOf(e.toString());return r>-1?this._blocks[r]:void 0}async*blocks(){for(let e of this._blocks)yield e}async*cids(){for(let e of this._blocks)yield e.cid}static async fromBytes(e){if(!(e instanceof Uint8Array))throw new TypeError("fromBytes() requires a Uint8Array");return CT(no(e))}static async fromIterable(e){if(!e||typeof e[Symbol.asyncIterator]!="function")throw new TypeError("fromIterable() requires an async iterable");return CT(ua(e))}};async function CT(t){let e=ca(t),r=await e.header(),n=[];for await(let o of e.blocks())n.push(o);return new fs(r,n)}var _u=class{constructor(e,r,n){this._version=e,this._roots=r,this._iterator=n}get version(){return this._version}async getRoots(){return this._roots}[Symbol.asyncIterator](){return this._iterator}static async fromBytes(e){if(!(e instanceof Uint8Array))throw new TypeError("fromBytes() requires a Uint8Array");return IT(no(e))}static async fromIterable(e){if(!e||typeof e[Symbol.asyncIterator]!="function")throw new TypeError("fromIterable() requires an async iterable");return IT(ua(e))}};async function IT(t){let e=ca(t),{version:r,roots:n}=await e.header();return new _u(r,n,e.blocksIndex())}var Ah=class{constructor(e,r,n){this._version=e,this._roots=r,this._iterable=n,this._decoded=!1}get version(){return this._version}async getRoots(){return this._roots}},Au=class t extends Ah{[Symbol.asyncIterator](){if(this._decoded)throw new Error("Cannot decode more than once");if(!this._iterable)throw new Error("Block iterable not found");return this._decoded=!0,this._iterable[Symbol.asyncIterator]()}static async fromBytes(e){let{version:r,roots:n,iterator:o}=await BT(e);return new t(r,n,o)}static async fromIterable(e){let{version:r,roots:n,iterator:o}=await PT(e);return new t(r,n,o)}},px=class t extends Ah{[Symbol.asyncIterator](){if(this._decoded)throw new Error("Cannot decode more than once");if(!this._iterable)throw new Error("Block iterable not found");this._decoded=!0;let e=this._iterable[Symbol.asyncIterator]();return{async next(){let r=await e.next();return r.done?r:{done:!1,value:r.value.cid}}}}static async fromBytes(e){let{version:r,roots:n,iterator:o}=await BT(e);return new t(r,n,o)}static async fromIterable(e){let{version:r,roots:n,iterator:o}=await PT(e);return new t(r,n,o)}};async function BT(t){if(!(t instanceof Uint8Array))throw new TypeError("fromBytes() requires a Uint8Array");return LT(no(t))}async function PT(t){if(!t||typeof t[Symbol.asyncIterator]!="function")throw new TypeError("fromIterable() requires an async iterable");return LT(ua(t))}async function LT(t){let e=ca(t),{version:r,roots:n}=await e.header();return{version:r,roots:n,iterator:e.blocks()}}var mx=De(Ql(),1);function yx(t){let e=tr({version:1,roots:t}),r=mx.default.encode(e.length),n=new Uint8Array(r.length+e.length);return n.set(r,0),n.set(e,r.length),n}function UT(t){return{async setRoots(e){let r=yx(e);await t.write(r)},async writeBlock(e){let{cid:r,bytes:n}=e;await t.write(new Uint8Array(mx.default.encode(r.bytes.length+n.length))),await t.write(r.bytes),n.length&&await t.write(n)},async close(){await t.end()}}}function Dh(){}function RT(){let t=[],e=null,r=Dh,n=!1,o=null,s=Dh,i=()=>(e||(e=new Promise(u=>{r=()=>{e=null,r=Dh,u()}})),e),a={write(u){t.push(u);let l=i();return s(),l},async end(){n=!0;let u=i();s(),await u}},c={async next(){let u=t.shift();return u?(t.length===0&&r(),{done:!1,value:u}):n?(r(),{done:!0,value:void 0}):(o||(o=new Promise(l=>{s=()=>(o=null,s=Dh,l(c.next()))})),o)}};return{writer:a,iterator:c}}var Du=class t{constructor(e,r){this._encoder=r,this._mutex=r.setRoots(e),this._ended=!1}async put(e){if(!(e.bytes instanceof Uint8Array)||!e.cid)throw new TypeError("Can only write {cid, bytes} objects");if(this._ended)throw new Error("Already closed");let r=se.asCID(e.cid);if(!r)throw new TypeError("Can only write {cid, bytes} objects");return this._mutex=this._mutex.then(()=>this._encoder.writeBlock({cid:r,bytes:e.bytes})),this._mutex}async close(){if(this._ended)throw new Error("Already closed");return await this._mutex,this._ended=!0,this._encoder.close()}static create(e){e=QO(e);let{encoder:r,iterator:n}=NT(),o=new t(e,r),s=new Th(n);return{writer:o,out:s}}static createAppender(){let{encoder:e,iterator:r}=NT();e.setRoots=()=>Promise.resolve();let n=new t([],e),o=new Th(r);return{writer:n,out:o}}static async updateRootsInBytes(e,r){let n=no(e);await _h(n);let o=yx(r);if(Number(n.pos)!==o.length)throw new Error(`updateRoots() can only overwrite a header of the same length (old header is ${n.pos} bytes, new header is ${o.length} bytes)`);return e.set(o,0),e}},Th=class{constructor(e){this._iterator=e}[Symbol.asyncIterator](){if(this._iterating)throw new Error("Multiple iterator not supported");return this._iterating=!0,this._iterator}};function NT(){let t=RT(),{writer:e,iterator:r}=t;return{encoder:UT(e),iterator:r}}function QO(t){if(t===void 0)return[];if(!Array.isArray(t)){let r=se.asCID(t);if(!r)throw new TypeError("roots must be a single CID or an array of CIDs");return[r]}let e=[];for(let r of t){let n=se.asCID(r);if(!n)throw new TypeError("roots must be a single CID or an array of CIDs");e.push(n)}return e}async function Ih(t,e){let{writer:r,out:n}=Du.create(e),o;(async()=>{try{for await(let a of t)await r.put(a)}catch(a){o=a}finally{await r.close()}})();let s=[];for await(let a of n)s.push(a);if(o!=null)throw o;let i=e!=null?[e]:[];return Object.assign(new Blob(s),{version:1,roots:i})}var Ch=class extends ReadableStream{constructor(e){let r=null,n=()=>r||(r=Au.fromIterable(XO(e.stream())),r),o=null;super({async start(){o=(await n())[Symbol.asyncIterator]()},async pull(s){if(!o)throw new Error("missing blocks iterator");let{value:i,done:a}=await o.next();if(a)return s.close();s.enqueue(i)}}),this.getRoots=async()=>await(await n()).getRoots()}};function XO(t){return Symbol.asyncIterator in t?t:async function*(){let e=t.getReader();try{for(;;){let{done:r,value:n}=await e.read();if(r)return;yield n}}finally{e.releaseLock()}}()}var GT=De($T(),1);var Cu=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},wx=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},MT=t=>globalThis.DOMException===void 0?new wx(t):new DOMException(t),FT=t=>{let e=t.reason===void 0?MT("This operation was aborted."):t.reason;return e instanceof Error?e:MT(e)};function bx(t,e,r,n){let o,s=new Promise((i,a)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){i(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(FT(c)),c.addEventListener("abort",()=>{a(FT(c))})}o=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{i(r())}catch(l){a(l)}return}let c=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new Cu(c);typeof t.cancel=="function"&&t.cancel(),a(u)},e),(async()=>{try{i(await t)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,o)}})()});return s.clear=()=>{clearTimeout(o),o=void 0},s}function xx(t,e,r){let n=0,o=t.length;for(;o>0;){let s=Math.trunc(o/2),i=n+s;r(t[i],e)<=0?(n=++i,o-=s+1):o=s}return n}var hs=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},ln,Iu=class{constructor(){ln.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&hs(this,ln,"f")[this.size-1].priority>=r.priority){hs(this,ln,"f").push(n);return}let o=xx(hs(this,ln,"f"),n,(s,i)=>i.priority-s.priority);hs(this,ln,"f").splice(o,0,n)}dequeue(){let e=hs(this,ln,"f").shift();return e?.run}filter(e){return hs(this,ln,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return hs(this,ln,"f").length}};ln=new WeakMap;var Oe=function(t,e,r,n,o){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?o.call(t,r):o?o.value=r:e.set(t,r),r},W=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},He,Pu,Lu,so,Oh,Uu,Ph,fr,Bu,Ot,Lh,$t,Ru,oo,Uh,zT,jT,qT,WT,HT,Rh,kx,vx,$h,VT,Nh,Mh=class extends Error{},ps=class extends GT.default{constructor(e){var r,n,o,s;if(super(),He.add(this),Pu.set(this,void 0),Lu.set(this,void 0),so.set(this,0),Oh.set(this,void 0),Uu.set(this,void 0),Ph.set(this,0),fr.set(this,void 0),Bu.set(this,void 0),Ot.set(this,void 0),Lh.set(this,void 0),$t.set(this,0),Ru.set(this,void 0),oo.set(this,void 0),Uh.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Iu,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(o=e.interval)===null||o===void 0?void 0:o.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);Oe(this,Pu,e.carryoverConcurrencyCount,"f"),Oe(this,Lu,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),Oe(this,Oh,e.intervalCap,"f"),Oe(this,Uu,e.interval,"f"),Oe(this,Ot,new e.queueClass,"f"),Oe(this,Lh,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,Oe(this,Uh,e.throwOnTimeout===!0,"f"),Oe(this,oo,e.autoStart===!1,"f")}get concurrency(){return W(this,Ru,"f")}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);Oe(this,Ru,e,"f"),W(this,He,"m",$h).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:W(this,Uh,"f"),...r},new Promise((n,o)=>{W(this,Ot,"f").enqueue(async()=>{var s,i,a;Oe(this,$t,(i=W(this,$t,"f"),i++,i),"f"),Oe(this,so,(a=W(this,so,"f"),a++,a),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted)throw new Mh("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=bx(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,W(this,He,"m",VT).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof Cu&&!r.throwOnTimeout){n();return}o(c),this.emit("error",c)}finally{W(this,He,"m",qT).call(this)}},r),this.emit("add"),W(this,He,"m",Rh).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return W(this,oo,"f")?(Oe(this,oo,!1,"f"),W(this,He,"m",$h).call(this),this):this}pause(){Oe(this,oo,!0,"f")}clear(){Oe(this,Ot,new(W(this,Lh,"f")),"f")}async onEmpty(){W(this,Ot,"f").size!==0&&await W(this,He,"m",Nh).call(this,"empty")}async onSizeLessThan(e){W(this,Ot,"f").size<e||await W(this,He,"m",Nh).call(this,"next",()=>W(this,Ot,"f").size<e)}async onIdle(){W(this,$t,"f")===0&&W(this,Ot,"f").size===0||await W(this,He,"m",Nh).call(this,"idle")}get size(){return W(this,Ot,"f").size}sizeBy(e){return W(this,Ot,"f").filter(e).length}get pending(){return W(this,$t,"f")}get isPaused(){return W(this,oo,"f")}};Pu=new WeakMap,Lu=new WeakMap,so=new WeakMap,Oh=new WeakMap,Uu=new WeakMap,Ph=new WeakMap,fr=new WeakMap,Bu=new WeakMap,Ot=new WeakMap,Lh=new WeakMap,$t=new WeakMap,Ru=new WeakMap,oo=new WeakMap,Uh=new WeakMap,He=new WeakSet,zT=function(){return W(this,Lu,"f")||W(this,so,"f")<W(this,Oh,"f")},jT=function(){return W(this,$t,"f")<W(this,Ru,"f")},qT=function(){var e;Oe(this,$t,(e=W(this,$t,"f"),e--,e),"f"),W(this,He,"m",Rh).call(this),this.emit("next")},WT=function(){W(this,He,"m",vx).call(this),W(this,He,"m",kx).call(this),Oe(this,Bu,void 0,"f")},HT=function(){let e=Date.now();if(W(this,fr,"f")===void 0){let r=W(this,Ph,"f")-e;if(r<0)Oe(this,so,W(this,Pu,"f")?W(this,$t,"f"):0,"f");else return W(this,Bu,"f")===void 0&&Oe(this,Bu,setTimeout(()=>{W(this,He,"m",WT).call(this)},r),"f"),!0}return!1},Rh=function(){if(W(this,Ot,"f").size===0)return W(this,fr,"f")&&clearInterval(W(this,fr,"f")),Oe(this,fr,void 0,"f"),this.emit("empty"),W(this,$t,"f")===0&&this.emit("idle"),!1;if(!W(this,oo,"f")){let e=!W(this,He,"a",HT);if(W(this,He,"a",zT)&&W(this,He,"a",jT)){let r=W(this,Ot,"f").dequeue();return r?(this.emit("active"),r(),e&&W(this,He,"m",kx).call(this),!0):!1}}return!1},kx=function(){W(this,Lu,"f")||W(this,fr,"f")!==void 0||(Oe(this,fr,setInterval(()=>{W(this,He,"m",vx).call(this)},W(this,Uu,"f")),"f"),Oe(this,Ph,Date.now()+W(this,Uu,"f"),"f"))},vx=function(){W(this,so,"f")===0&&W(this,$t,"f")===0&&W(this,fr,"f")&&(clearInterval(W(this,fr,"f")),Oe(this,fr,void 0,"f")),Oe(this,so,W(this,Pu,"f")?W(this,$t,"f"):0,"f"),W(this,He,"m",$h).call(this)},$h=function(){for(;W(this,He,"m",Rh).call(this););},VT=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new Mh("The task was aborted."))},{once:!0})})},Nh=async function(e,r){return new Promise(n=>{let o=()=>{r&&!r()||(this.off(e,o),n())};this.on(e,o)})};var r$=1024*1024*100,n$=3,Fh=class extends TransformStream{constructor(e={}){let r=e.shardSize??r$,n=[],o=null,s=0;super({async transform(i,a){o!=null&&(a.enqueue(await Ih(o)),o=null),n.length&&s+i.bytes.length>r&&(o=n,n=[],s=0),n.push(i),s+=i.bytes.length},async flush(i){o!=null&&i.enqueue(await Ih(o));let a=n.at(-1);a!=null&&i.enqueue(await Ih(n,e.rootCID??a.cid))}})}},zh=class extends TransformStream{constructor(e,r={}){let n=new ps({concurrency:r.concurrentRequests??n$}),o=new AbortController;super({async transform(s,i){n.add(async()=>{try{let a={...r,signal:o.signal},c=await nb(e,s,a),{version:u,roots:l,size:d}=s;i.enqueue({version:u,roots:l,cid:c,size:d})}catch(a){i.error(a),o.abort(a)}},{signal:o.signal}).catch(a=>console.error(a)),await n.onSizeLessThan(1)},async flush(){await n.onIdle()}})}};async function KT(t,e,r={}){return await Sx(t,AT(e),r)}async function ZT(t,e,r={}){return await Sx(t,DT(e,r),r)}async function JT(t,e,r={}){let n=new Ch(e);return r.rootCID=r.rootCID??(await n.getRoots())[0],await Sx(t,n,r)}async function Sx(t,e,r={}){let n=[],o=null;if(await e.pipeThrough(new Fh(r)).pipeThrough(new zh(t,r)).pipeTo(new WritableStream({write(s){o=o||s.roots[0],n.push(s.cid),r.onShardStored&&r.onShardStored(s)}})),!o)throw new Error("missing root CID");return await ob(t,o,n,r),o}function QT(t,e){return e===void 0?C({}):t!==void 0&&e.endsWith("*")?t.startsWith(e.slice(0,-1))?C({}):ie(`${t} does not match ${e}`):t===e?C({}):ie(`${t} is different from ${e}`)}function de(t,e){return t.with===e.with?C({}):ie(`Can not derive ${t.can} with ${t.with} from ${e.with}`)}function Be(t,e,r){return e===void 0||e==="*"?C({}):String(t)===String(e)?C({}):ie(`Constrain violation: ${t} violates imposed ${r} constraint ${e}`)}var Ex=(t,e)=>t.with!==e.with?ie(`Expected 'with: "${e.with}"' instead got '${t.with}'`):e.nb.link&&`${e.nb.link}`!=`${t.nb.link}`?ie(`Link ${t.nb.link?`${t.nb.link}`:""} violates imposed ${e.nb.link} constraint.`):C({}),la=(t,e,r)=>Be(String(t),e===void 0?void 0:String(e),r),X=t=>t.error?t:void 0;var s$=ee.match({method:"web"}),i$=ee.match({method:"mailto"}),XT=T({can:"provider/add",with:i$,nb:Ne({provider:s$,consumer:ee.match({method:"key"})}),derives:(t,e)=>X(de(t,e))||X(Be(t.nb.provider,e.nb.provider,"provider"))||X(Be(t.nb.consumer,e.nb.consumer,"consumer"))||C({})});var hr={};F(hr,{Link:()=>pe,Schema:()=>x,add:()=>da,all:()=>c$,list:()=>ha,remove:()=>fa,store:()=>_x});var _x=T({can:"store/*",with:V.match({protocol:"did:"}),derives:de}),da=T({can:"store/add",with:V.match({protocol:"did:"}),nb:x.struct({link:pe,size:x.integer(),origin:pe.optional()}),derives:(t,e)=>{let r=Ex(t,e);return r.error?r:t.nb.size!==void 0&&e.nb.size!==void 0?t.nb.size>e.nb.size?ie(`Size constraint violation: ${t.nb.size} > ${e.nb.size}`):C({}):C({})}}),fa=T({can:"store/remove",with:V.match({protocol:"did:"}),nb:x.struct({link:pe}),derives:Ex}),ha=T({can:"store/list",with:V.match({protocol:"did:"}),nb:x.struct({cursor:x.string().optional(),size:x.integer().optional(),pre:x.boolean().optional()}),derives:(t,e)=>t.with!==e.with?ie(`Expected 'with: "${e.with}"' instead got '${t.with}'`):C({})}),c$=da.or(fa).or(ha);var pr={};F(pr,{Link:()=>pe,Schema:()=>x,add:()=>pa,all:()=>l$,list:()=>ya,remove:()=>ma,upload:()=>Ax});var Ax=T({can:"upload/*",with:V.match({protocol:"did:"}),derives:de}),u$=pe.match({code:Re.code,version:1}),pa=T({can:"upload/add",with:V.match({protocol:"did:"}),nb:x.struct({root:pe,shards:u$.array().optional()}),derives:(t,e)=>X(de(t,e))||X(Be(t.nb.root,e.nb.root,"root"))||X(Be(t.nb.shards,e.nb.shards,"shards"))||C({})}),ma=T({can:"upload/remove",with:V.match({protocol:"did:"}),nb:x.struct({root:pe}),derives:(t,e)=>X(de(t,e))||X(Be(t.nb.root,e.nb.root,"root"))||C({})}),ya=T({can:"upload/list",with:V.match({protocol:"did:"}),nb:x.struct({cursor:x.string().optional(),size:x.integer().optional(),pre:x.boolean().optional()})}),l$=pa.or(ma).or(ya);var Nu=T({can:"*",with:V.match({protocol:"did:"}),derives:de});var jh=x.did({method:"key"}),YT=T({can:"space/*",with:jh,derives:de}),eC=da.or(ha).or(fa).or(pa).or(ya).or(ma).derive({to:T({can:"space/info",with:jh}),derives:de}),tC=T({can:"space/recover-validation",with:jh,nb:x.struct({identity:V.match({protocol:"mailto:"})})}),rC=T({can:"space/recover",with:x.did(),nb:x.struct({identity:V.match({protocol:"mailto:"})}),derives:(t,e)=>X(de(t,e))||X(QT(t.nb.identity,e.nb.identity))||C({})}),_X=T({can:"space/allocate",with:jh,nb:x.struct({size:x.integer()}),derives:(t,e)=>{let r=de(t,e);return r.ok?t.nb.size<=e.nb.size?C({}):ie(`Claimed size ${t.nb.size} escalates delegated size ${e.nb.size}`):r}});var CX=ee.match({method:"key"}),nC=V.uri(),oC=V.match({protocol:"mailto:"}),h$=ee.match({}),IX=T({can:"voucher/*",with:V.match({protocol:"did:"}),derives:de}),sC=T({can:"voucher/claim",with:V.match({protocol:"did:"}),nb:x.struct({product:nC,identity:oC,service:h$.optional()}),derives:(t,e)=>X(de(t,e))||X(Be(t.nb.product,e.nb.product,"product"))||X(Be(t.nb.identity,e.nb.identity,"identity"))||X(Be(t.nb.service,e.nb.service,"service"))||C({})}),iC=T({can:"voucher/redeem",with:V.match({protocol:"did:"}),nb:x.struct({product:nC,identity:oC,space:V.match({protocol:"did:"})}),derives:(t,e)=>X(de(t,e))||X(Be(t.nb.product,e.nb.product,"product"))||X(Be(t.nb.identity,e.nb.identity,"identity"))||X(Be(t.nb.space,e.nb.space,"account"))||C({})});var cC=ee.match({method:"mailto"}),uC=x.struct({can:x.string()}),m$=x.struct({iss:cC,att:uC.array()}),lC=T({can:"access/*",with:V.match({protocol:"did:"})}),dC=T({can:"access/authorize",with:ee.match({method:"key"}),nb:m$,derives:(t,e)=>X(de(t,e))||X(Be(t.nb.iss,e.nb.iss,"iss"))||X(hC(t.nb.att,e.nb.att))||C({})}),UX=T({can:"access/confirm",with:ee,nb:x.struct({iss:cC,aud:x.did(),att:uC.array()}),derives:(t,e)=>X(de(t,e))||X(Be(t.nb.iss,e.nb.iss,"iss"))||X(Be(t.nb.aud,e.nb.aud,"aud"))||X(hC(t.nb.att,e.nb.att))||C({})}),fC=T({can:"ucan/attest",with:V.match({protocol:"did:"}),nb:x.struct({proof:pe})}),RX=T({can:"access/claim",with:ee.match({method:"key"}).or(ee.match({method:"mailto"}))}),NX=T({can:"access/delegate",with:ee.match({method:"key"}),nb:x.struct({delegations:x.dictionary({value:x.Link.match()})}),derives:(t,e)=>X(de(t,e))||X(y$(t,e))||C({})});function y$(t,e){let r=pC(aC(t),new Set(aC(e)));return r.size>0?ie(`unauthorized nb.delegations ${[...r].join(", ")}`):C({})}var hC=(t,e)=>{let r=new Set(e.map(o=>o.can));if(r.has("*"))return C({});let n=pC(t.map(o=>o.can),r);return n.size>0?ie(`unauthorized nb.att.can ${[...n].join(", ")}`):C({})};function*aC(t){for(let e of Object.values(t.nb.delegations||{}))yield e.toString()}function pC(t,e){let r=new Set;for(let n of t)e.has(n)||r.add(n);return r}var w$=ee.match({method:"web"}),b$=ee.match({method:"key"}),FX=T({can:"consumer/has",with:w$,nb:Ne({consumer:b$}),derives:(t,e)=>X(de(t,e))||X(Be(t.nb.consumer,e.nb.consumer,"consumer"))||C({})});var k$=ee.match({method:"web"}),v$=ee.match({method:"mailto"}),WX=T({can:"customer/get",with:k$,nb:Ne({customer:v$}),derives:(t,e)=>X(de(t,e))||X(Be(t.nb.customer,e.nb.customer,"customer"))||C({})});var VX=T({can:"console/log",with:x.did(),nb:x.struct({value:x.unknown()}),derives:de}),GX=T({can:"console/error",with:x.did(),nb:x.struct({error:x.unknown()}),derives:de});var mC=T({can:"offer/arrange",with:x.did(),nb:x.struct({pieceLink:x.link()}),derives:(t,e)=>X(de(t,e))||X(la(t.nb.pieceLink,e.nb.pieceLink,"nb.pieceLink"))||C({})});var A$=4114,D$=61697,yC=T({can:"aggregate/offer",with:x.did(),nb:x.struct({offer:x.link(),piece:x.struct({link:x.link({code:D$,version:1,multihash:{code:A$}}),size:x.integer()})}),derives:(t,e)=>X(de(t,e))||X(la(t.nb.offer,e.nb.offer,"nb.offer"))||X(la(t.nb.piece.link,e.nb.piece.link,"nb.piece.link"))||X(Be(t.nb.piece.size,e.nb.piece.size,"nb.piece.size"))||C({})}),gC=T({can:"aggregate/get",with:x.did(),nb:x.struct({subject:x.link()}),derives:(t,e)=>X(de(t,e))||X(la(t.nb.subject,e.nb.subject,"nb.subject"))||C({})});var XX=[Nu.can,XT.can,YT.can,eC.can,rC.can,tC.can,Ax.can,pa.can,ma.can,ya.can,_x.can,da.can,fa.can,ha.can,sC.can,iC.can,lC.can,dC.can,fC.can,yC.can,gC.can,mC.can];var C$=new TextEncoder,I$=new TextDecoder,wC=t=>C$.encode(t),bC=t=>I$.decode(t);var xC="did:",P$=xC.length,kC="did:key:",L$=kC.length,U$=237,R$=4613,N$=4608,O$=4609,$$=4610;var Cx=3357,Dx=Y.encodingLength(Cx),$u=t=>{if(t.startsWith(xC))if(t.startsWith(kC)){let e=Le.decode(t.slice(L$));return M$(e)}else{let e=wC(t.slice(P$)),r=new Uint8Array(e.byteLength+Dx);return Y.encodeTo(Cx,r),r.set(e,Dx),new Ou(r)}else throw new RangeError(`Invalid DID "${t}", must start with 'did:'`)};var M$=t=>{let[e]=Y.decode(t),{buffer:r,byteOffset:n,byteLength:o}=t;switch(e){case N$:if(t.length>35)throw new RangeError("Only p256-pub compressed is supported.");case U$:case R$:case O$:case $$:return new Tx(r,n,o);case Cx:return new Ou(r,n,o);default:throw new RangeError(`Unsupported DID encoding, unknown multicode 0x${e.toString(16)}.`)}};var Ou=class extends Uint8Array{did(){let e=new Uint8Array(this.buffer,this.byteOffset+Dx);return`did:${bC(e)}`}toJSON(){return this.did()}},Tx=class extends Ou{did(){return`did:key:${Le.encode(this)}`}};var F$=new URL("https://up.web3.storage"),z$=$u("did:web:web3.storage"),j$=Oo({id:z$,codec:ir.outbound,channel:Ln.open({url:F$,method:"POST"})}),W$=new URL("https://up.web3.storage"),H$=$u("did:web:web3.storage"),q$=Oo({id:H$,codec:ir.outbound,channel:Ln.open({url:W$,method:"POST"})}),SC={access:j$,upload:q$};var Xt=class{constructor(e,r={}){w(this,"_agent");w(this,"_serviceConf");this._serviceConf=r.serviceConf??SC,this._agent=new Af(e,{servicePrincipal:this._serviceConf.access.id,url:this._serviceConf.access.channel.url,connection:this._serviceConf.access})}async _invocationConfig(e){let r=this._agent.currentSpace();if(!r)throw new Error("missing current space: use createSpace() or setCurrentSpace()");let n=this._agent.issuer,o=await this._agent.proofs(e.map(i=>({can:i,with:r}))),s=this._serviceConf.upload.id;return{issuer:n,with:r,proofs:o,audience:s}}};var Mu,ms,ys=class{constructor(e,r={}){ke(this,Mu,void 0);ke(this,ms,void 0);fe(this,Mu,e),fe(this,ms,r)}name(){return $(this,ms).name}did(){return $(this,Mu)}registered(){return!!$(this,ms).isRegistered}meta(){return $(this,ms)}};Mu=new WeakMap,ms=new WeakMap;var zu,Fu=class extends Gt{constructor(r,n,o={}){super(r,n);ke(this,zu,void 0);fe(this,zu,o)}meta(){return $(this,zu)}};zu=new WeakMap;var Wh=class extends Xt{async add(e,r={}){let n=await this._invocationConfig([hr.add.can]);return r.connection=this._serviceConf.upload,qi.add(n,e,r)}async list(e={}){let r=await this._invocationConfig([hr.add.can]);return e.connection=this._serviceConf.upload,qi.list(r,e)}async remove(e,r={}){let n=await this._invocationConfig([hr.remove.can]);return r.connection=this._serviceConf.upload,qi.remove(n,e,r)}};var Hh=class extends Xt{async add(e,r,n={}){let o=await this._invocationConfig([pr.add.can]);return n.connection=this._serviceConf.upload,Vi.add(o,e,r,n)}async list(e={}){let r=await this._invocationConfig([pr.list.can]);return e.connection=this._serviceConf.upload,Vi.list(r,e)}async remove(e,r={}){let n=await this._invocationConfig([pr.remove.can]);return r.connection=this._serviceConf.upload,Vi.remove(n,e,r)}};var qh=class extends Xt{async info(e){return await this._agent.getSpaceInfo(e)}};var Vh=class extends Xt{async authorize(e,r){return S2(this._agent,e,r)}async claim(){return qw(this._agent,this._agent.issuer.did(),{addProofs:!0})}};var ju=class extends Xt{constructor(e,r){super(e,r),this.capability={access:new Vh(e,r),store:new Wh(e,r),upload:new Hh(e,r),space:new qh(e,r)}}async authorize(e,r){await this.capability.access.authorize(e,r)}async uploadFile(e,r={}){let n=await this._invocationConfig([hr.add.can,pr.add.can]);return r.connection=this._serviceConf.upload,KT(n,e,r)}async uploadDirectory(e,r={}){let n=await this._invocationConfig([hr.add.can,pr.add.can]);return r.connection=this._serviceConf.upload,ZT(n,e,r)}async uploadCAR(e,r={}){let n=await this._invocationConfig([hr.add.can,pr.add.can]);return r.connection=this._serviceConf.upload,JT(n,e,r)}defaultProvider(){return this._agent.connection.id.did()}agent(){return this._agent.issuer}currentSpace(){let e=this._agent.currentSpace();return e?new ys(e,this._agent.spaces.get(e)):void 0}async setCurrentSpace(e){await this._agent.setCurrentSpace(e)}spaces(){return[...this._agent.spaces].map(([e,r])=>new ys(e,r))}async createSpace(e){let{did:r,meta:n}=await this._agent.createSpace(e);return new ys(r,n)}async registerSpace(e,r={}){r.provider=r.provider??this.defaultProvider(),await this._agent.registerSpace(e,r)}async addSpace(e){let{did:r,meta:n}=await this._agent.importSpaceFromDelegation(e);return new ys(r,n)}proofs(e){return this._agent.proofs(e)}async addProof(e){await this._agent.addProof(e)}delegations(e){let r=[];for(let{delegation:n,meta:o}of this._agent.delegationsWithMeta(e))r.push(new Fu(n.root,n.blocks,o));return r}async createDelegation(e,r,n={}){let o=n.audienceMeta??{name:"agent",type:"device"},{root:s,blocks:i}=await this._agent.delegate({...n,abilities:r,audience:e,audienceMeta:o});return new Fu(s,i,{audience:o})}};async function EC(t={}){let e=t.store??new If("w3up-client"),r=await e.load();if(r){let s=Kn.fromExport(r,{store:e});if(t.principal&&s.principal.did()!==t.principal.did())throw new Error(`store cannot be used with ${t.principal.did()}, stored principal and passed principal must match`);return new ju(s,t)}let n=t.principal??await Uw(),o=await Kn.create({principal:n},{store:e});return new ju(o,t)}var Gh="0123456789abcdef",Kh=class t{constructor(e){this.bytes=e}static ofInner(e){if(e.length!==16)throw new TypeError("not 128-bit length");return new t(e)}static fromFieldsV7(e,r,n,o){if(!Number.isInteger(e)||!Number.isInteger(r)||!Number.isInteger(n)||!Number.isInteger(o)||e<0||r<0||n<0||o<0||e>0xffffffffffff||r>4095||n>1073741823||o>4294967295)throw new RangeError("invalid field value");let s=new Uint8Array(16);return s[0]=e/2**40,s[1]=e/2**32,s[2]=e/2**24,s[3]=e/2**16,s[4]=e/2**8,s[5]=e,s[6]=112|r>>>8,s[7]=r,s[8]=128|n>>>24,s[9]=n>>>16,s[10]=n>>>8,s[11]=n,s[12]=o>>>24,s[13]=o>>>16,s[14]=o>>>8,s[15]=o,new t(s)}static parse(e){var r,n,o,s;let i;switch(e.length){case 32:i=(r=/^[0-9a-f]{32}$/i.exec(e))===null||r===void 0?void 0:r[0];break;case 36:i=(n=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(e))===null||n===void 0?void 0:n.slice(1,6).join("");break;case 38:i=(o=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(e))===null||o===void 0?void 0:o.slice(1,6).join("");break;case 45:i=(s=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(e))===null||s===void 0?void 0:s.slice(1,6).join("");break;default:break}if(i){let a=new Uint8Array(16);for(let c=0;c<16;c+=4){let u=parseInt(i.substring(2*c,2*c+8),16);a[c+0]=u>>>24,a[c+1]=u>>>16,a[c+2]=u>>>8,a[c+3]=u}return new t(a)}else throw new SyntaxError("could not parse UUID string")}toString(){let e="";for(let r=0;r<this.bytes.length;r++)e+=Gh.charAt(this.bytes[r]>>>4),e+=Gh.charAt(this.bytes[r]&15),(r===3||r===5||r===7||r===9)&&(e+="-");return e}toHex(){let e="";for(let r=0;r<this.bytes.length;r++)e+=Gh.charAt(this.bytes[r]>>>4),e+=Gh.charAt(this.bytes[r]&15);return e}toJSON(){return this.toString()}getVariant(){let e=this.bytes[8]>>>4;if(e<0)throw new Error("unreachable");if(e<=7)return this.bytes.every(r=>r===0)?"NIL":"VAR_0";if(e<=11)return"VAR_10";if(e<=13)return"VAR_110";if(e<=15)return this.bytes.every(r=>r===255)?"MAX":"VAR_RESERVED";throw new Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new t(this.bytes.slice(0))}equals(e){return this.compareTo(e)===0}compareTo(e){for(let r=0;r<16;r++){let n=this.bytes[r]-e.bytes[r];if(n!==0)return Math.sign(n)}return 0}},Ix=class{constructor(e){this.timestamp=0,this.counter=0,this.random=e??V$()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(e,r){let n=this.generateOrAbortCore(e,r);return n===void 0&&(this.timestamp=0,n=this.generateOrAbortCore(e,r)),n}generateOrAbortCore(e,r){if(!Number.isInteger(e)||e<1||e>0xffffffffffff)throw new RangeError("`unixTsMs` must be a 48-bit positive integer");if(r<0||r>0xffffffffffff)throw new RangeError("`rollbackAllowance` out of reasonable range");if(e>this.timestamp)this.timestamp=e,this.resetCounter();else if(e+r>=this.timestamp)this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter());else return;return Kh.fromFieldsV7(this.timestamp,Math.trunc(this.counter/2**30),this.counter&2**30-1,this.random.nextUint32())}resetCounter(){this.counter=this.random.nextUint32()*1024+(this.random.nextUint32()&1023)}generateV4(){let e=new Uint8Array(Uint32Array.of(this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32()).buffer);return e[6]=64|e[6]>>>4,e[8]=128|e[8]>>>2,Kh.ofInner(e)}},V$=()=>{if(typeof crypto<"u"&&typeof crypto.getRandomValues<"u")return new Bx;if(typeof UUIDV7_DENY_WEAK_RNG<"u"&&UUIDV7_DENY_WEAK_RNG)throw new Error("no cryptographically strong RNG available");return{nextUint32:()=>Math.trunc(Math.random()*65536)*65536+Math.trunc(Math.random()*65536)}},Bx=class{constructor(){this.buffer=new Uint32Array(8),this.cursor=65535}nextUint32(){return this.cursor>=this.buffer.length&&(crypto.getRandomValues(this.buffer),this.cursor=0),this.buffer[this.cursor++]}},_C,AC=()=>G$().toString(),G$=()=>(_C||(_C=new Ix)).generate();function DC(t,e=1/0,r=!1){let n=[],o=!1;async function s(){if(o||n.length===0)return;o=!0;let i=n.splice(0,e),a=i.map(c=>c.task);if(r){let c=a.map(async(u,l)=>{try{let d=await t([u]);i[l].resolve(d)}catch(d){i[l].reject(d)}});await Promise.all(c)}else try{let c=await t(a);i.forEach(u=>u.resolve(c))}catch(c){i.forEach(u=>u.reject(c))}o=!1,s()}return{push(i){return new Promise((a,c)=>{n.push({task:i,resolve:a,reject:c}),s()})}}}var Ur,pt=class{constructor(e){ke(this,Ur,new Map);e&&fe(this,Ur,new Map(e.map(r=>[r.cid.toString(),r.bytes])))}async get(e){let r=$(this,Ur).get(e.toString());if(r)return{cid:e,bytes:r}}async put(e,r){$(this,Ur).set(e.toString(),r)}putSync(e,r){$(this,Ur).set(e.toString(),r)}async delete(e){$(this,Ur).delete(e.toString())}deleteSync(e){$(this,Ur).delete(e.toString())}*entries(){for(let[e,r]of $(this,Ur))yield{cid:br(e),bytes:r}}};Ur=new WeakMap;var Wu,gs=class{constructor(...e){ke(this,Wu,void 0);fe(this,Wu,e)}async get(e){for(let r of $(this,Wu)){let n=await r.get(e);if(n)return n}}};Wu=new WeakMap;var Px=class{constructor(e){w(this,"value");w(this,"next");this.value=e}},Rr,ws,bs,Hu=class{constructor(){ke(this,Rr,void 0);ke(this,ws,void 0);ke(this,bs,void 0);this.clear()}enqueue(e){let r=new Px(e);$(this,Rr)?($(this,ws).next=r,fe(this,ws,r)):(fe(this,Rr,r),fe(this,ws,r)),pm(this,bs)._++}dequeue(){let e=$(this,Rr);if(e)return fe(this,Rr,$(this,Rr).next),pm(this,bs)._--,e.value}clear(){fe(this,Rr,void 0),fe(this,ws,void 0),fe(this,bs,0)}get size(){return $(this,bs)}*[Symbol.iterator](){let e=$(this,Rr);for(;e;)yield e.value,e=e.next}};Rr=new WeakMap,ws=new WeakMap,bs=new WeakMap;function qu(t){if(!((Number.isInteger(t)||t===Number.POSITIVE_INFINITY)&&t>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=new Hu,r=0,n=()=>{r--,e.size>0&&e.dequeue()()},o=async(a,c,u)=>{r++;let l=(async()=>a(...u))();c(l);try{await l}catch{}n()},s=(a,c,u)=>{e.enqueue(o.bind(void 0,a,c,u)),(async()=>(await Promise.resolve(),r<t&&e.size>0&&e.dequeue()()))()},i=(a,...c)=>new Promise(u=>{s(a,u,c)});return Object.defineProperties(i,{activeCount:{get:()=>r},pendingCount:{get:()=>e.size},clearQueue:{value:()=>{e.clear()}}}),i}function Zh({enumerable:t=!0,configurable:e=!1}={}){return{enumerable:t,configurable:e,writable:!1}}function*K$(t,e){if(e!=null&&typeof e=="object")if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r],s=ve.asCID(n);s?yield[o.join("/"),s]:typeof n=="object"&&(yield*Lx(n,o))}else{let r=ve.asCID(e);r?yield[t.join("/"),r]:yield*Lx(e,t)}}function*Lx(t,e){if(t==null||t instanceof Uint8Array)return;let r=ve.asCID(t);r&&(yield[e.join("/"),r]);for(let[n,o]of Object.entries(t)){let s=[...e,n];yield*K$(s,o)}}function*Z$(t,e){if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r];yield o.join("/"),typeof n=="object"&&!ve.asCID(n)&&(yield*Ux(n,o))}else yield*Ux(e,t)}function*Ux(t,e){if(!(t==null||typeof t!="object"))for(let[r,n]of Object.entries(t)){let o=[...e,r];yield o.join("/"),n!=null&&!(n instanceof Uint8Array)&&typeof n=="object"&&!ve.asCID(n)&&(yield*Z$(o,n))}}function J$(t,e){let r=t;for(let[n,o]of e.entries()){if(r=r[o],r==null)throw new Error(`Object has no property at ${e.slice(0,n+1).map(i=>`[${JSON.stringify(i)}]`).join("")}`);let s=ve.asCID(r);if(s)return{value:s,remaining:e.slice(n+1).join("/")}}return{value:r}}var Vu=class{constructor({cid:e,bytes:r,value:n}){if(!e||!r||typeof n>"u")throw new Error("Missing required argument");this.cid=e,this.bytes=r,this.value=n,this.asBlock=this,Object.defineProperties(this,{cid:Zh(),bytes:Zh(),value:Zh(),asBlock:Zh()})}links(){return Lx(this.value,[])}tree(){return Ux(this.value,[])}get(e="/"){return J$(this.value,e.split("/").filter(Boolean))}};async function Nr({value:t,codec:e,hasher:r}){if(typeof t>"u")throw new Error('Missing required argument "value"');if(!e||!r)throw new Error("Missing required argument: codec or hasher");let n=e.encode(t),o=await r.digest(n),s=ve.create(1,e.code,o);return new Vu({value:t,bytes:n,cid:s})}async function io({bytes:t,codec:e,hasher:r}){if(!t)throw new Error('Missing required argument "bytes"');if(!e||!r)throw new Error("Missing required argument: codec or hasher");let n=e.decode(t),o=await r.digest(t),s=ve.create(1,e.code,o);return new Vu({value:n,bytes:t,cid:s})}function Q$({bytes:t,cid:e,value:r,codec:n}){let o=r!==void 0?r:n&&n.decode(t);if(o===void 0)throw new Error('Missing required argument, must either provide "value" or "codec"');return new Vu({cid:e,bytes:t,value:o})}async function Jh({bytes:t,cid:e,hasher:r,codec:n}){if(!t)throw new Error('Missing required argument "bytes"');if(!r)throw new Error('Missing required argument "hasher"');let o=n.decode(t),s=await r.digest(t);if(!wo.equals(e.multihash.bytes,s.bytes))throw new Error("CID hash does not match bytes");return Q$({bytes:t,cid:e,value:o,codec:n})}var TC=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),kt=To({name:"sha2-256",code:18,encode:TC("SHA-256")}),eee=To({name:"sha2-512",code:19,encode:TC("SHA-512")});var ao={};F(ao,{code:()=>Gu,decode:()=>eM,encode:()=>Y$,name:()=>X$});var X$="raw",Gu=85,Y$=t=>jt(t),eM=t=>jt(t);async function ga(t,e){let r=0,n=Bn({roots:t});r+=n;for(let{cid:i,bytes:a}of e.entries())r+=Er({cid:i,bytes:a});let o=new Uint8Array(r),s=Pn(o,{headerSize:n});for(let i of t)s.addRoot(i);for(let{cid:i,bytes:a}of e.entries())s.write({cid:i,bytes:a});return s.close(),await Nr({value:s.bytes,hasher:kt,codec:ao})}async function CC(t){return await Nr({value:{fp:t},hasher:kt,codec:Te})}async function IC(t){let e=await t.getRoots(),r=await t.get(e[0]);if(!r)throw new Error("missing header block");let{value:n}=await io({bytes:r.bytes,hasher:kt,codec:Te});if(n&&n.fp===void 0)throw new Error("missing fp");let{fp:o}=n;return o}var xs={};F(xs,{code:()=>sM,crypto:()=>iM,decode:()=>oM,decrypt:()=>Yh,encode:()=>nM,encrypt:()=>ep,name:()=>aM});function Qh(){try{return window.crypto&&window.crypto.subtle?window.crypto:new Crypto}catch{return null}}var Ku=Qh();function Xh(t){let e=new Uint8Array(t);return t>0&&Ku.getRandomValues(e),e}var tM=t=>{t=+t;let e=new Uint8Array(4);return e[3]=t>>>24,e[2]=t>>>16,e[1]=t>>>8,e[0]=t&255,e},rM=t=>{let e=t.byteLength-4;return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216},BC=t=>{let e=t.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),r=e.reduce((s,i)=>s+i.length,0),n=new Uint8Array(r),o=0;for(let s of e)n.set(s,o),o+=s.length;return n},nM=({iv:t,bytes:e})=>BC([t,e]),oM=t=>{let e=t.subarray(0,12);return t=t.slice(12),{iv:e,bytes:t}},sM=3145728+1337;async function PC(t){return await Ku.subtle.importKey("raw",t,"AES-GCM",!1,["encrypt","decrypt"])}var Yh=async({key:t,value:e})=>{let{bytes:r,iv:n}=e,o=await PC(t),s=await Ku.subtle.decrypt({name:"AES-GCM",iv:n,tagLength:128},o,r);r=new Uint8Array(s);let i=rM(r.subarray(0,4)),a=ve.decode(r.subarray(4,4+i));return r=r.subarray(4+i),{cid:a,bytes:r}},ep=async({key:t,cid:e,bytes:r})=>{let n=tM(e.bytes.byteLength),o=Xh(12),s=BC([n,e.bytes,r]);try{let i=await PC(t),a=await Ku.subtle.encrypt({name:"AES-GCM",iv:o,tagLength:128},i,s);r=new Uint8Array(a)}catch(i){throw console.log("ee",i),i}return{value:{bytes:r,iv:o}}},iM=t=>({encrypt:e=>ep({key:t,...e}),decrypt:e=>Yh({key:t,...e})}),aM="jchris@encrypted-block:aes-gcm";var Zu=t=>{let e=t.byteLength-4;return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216};var Ju=t=>{let e=Math.floor(4294967295/t);return async r=>{let n=await r.identity();if(typeof n!="number")throw new Error("Identity must be a number");return n<=e}};var vs=(t,e)=>t===e?0:t>e?1:-1,LC=(t,e)=>{for(let r=0;r<t.byteLength;r++){if(e.byteLength===r)return 1;let n=t[r],o=e[r];if(n!==o)return n>o?1:-1}return e.byteLength>t.byteLength?-1:0},ks=class{constructor(){this._cids=new Set}add(e){if(!e.address)throw new Error("Cannot add node without address");if(e.address.then){let r=e.address.then(n=>this._cids.add(n.toString()));this._cids.add(r),r.then(()=>this._cids.delete(r))}else this._cids.add(e.address.toString())}async all(){return await Promise.all([...this._cids]),this._cids}};var Ss=class{constructor({key:e,address:r},n={}){this.key=e,this.address=r,this.codec=n.codec,this.hasher=n.hasher}get isEntry(){return!0}},co=class{constructor({entries:e,closed:r}){if(typeof r!="boolean")throw new Error('Missing required argument "closed"');this.entries=e,this.closed=r,this.startKey=e[0].key}find(e,r){let{entries:n}=this;for(let o=n.length-1;o>-1;o--){let s=n[o];if(r(e,s.key)>-1)return[o,s]}return null}findMany(e,r,n=!1,o=!1){let{entries:s}=this,i=new Map;n?e=[...e]:e=e.sort(r);for(let a=s.length-1;a>-1&&e.length;a--){let c=s[a],u=[];for(;e.length;){let l=e[e.length-1];l=l.key?l.key:l;let d=r(l,c.key);if(o)if(d===0)u.push(e.pop());else if(d>0)e.pop();else break;else if(d>-1)u.push(e.pop());else break}u.length&&i.set(a,[c,u])}return i}findRange(e,r,n){let{entries:o}=this,s,i=0;for(let a=o.length-1;a>-1;a--){let c=o[a];if(n(r,c.key)>0){s=a;break}}for(let a=0;a<o.length;a++){let c=o[a],u=n(e,c.key);if(u===0){i=a;break}else if(u<0)break;i=a}return{first:i,last:s,entries:o.slice(i,s+1)}}},UC=t=>typeof t=="string"?t:JSON.stringify(t);function cM(t,e){return t.sort(({key:r},{key:n})=>e.compare(r,n))}async function uM(t,e,r){let n=[];for(let o of e){let{key:s,del:i}=o;if(r(s,t)<0)i||n.push(o);else break}return n}async function lM(t,e,{chunker:r,compare:n}){return await uo.from({entries:t.map(o=>new e.LeafEntryClass(o,e)).sort((o,s)=>n(o.key,s.key)),chunker:r,NodeClass:e.LeafClass,distance:0,opts:e})}async function dM(t,e,r,n){return await Promise.all(e.map(async o=>{let s=await o.encode();return r.blocks.push({block:s,node:o}),t.cache.set(o),new n.BranchEntryClass({key:o.key,address:await o.address},n)}))}async function fM(t,e,r,n){let o=e.root;e.blocks.push({block:await o.encode(),node:o}),t.cache.set(o);let s=n.opts,i=o.distance,a=o.entryList.startKey,c=await uM(a,r,t.compare);if(c.length){let u=await lM(c,s,t),l=await dM(t,u,e,s),p=[new s.BranchEntryClass({key:o.entryList.startKey,address:await o.address},s),...l].sort(({key:m},{key:b})=>s.compare(m,b)),f=await uo.from({...n,entries:p,chunker:t.chunker,NodeClass:s.BranchClass,distance:i+1}),h=[...f];for(;f.length>1;){let m=await Promise.all(f.map(async b=>new s.BranchEntryClass({key:b.key,address:await b.address},s)));f=await uo.from({...n,entries:m.sort(({key:b},{key:g})=>s.compare(b,g)),chunker:t.chunker,NodeClass:s.BranchClass,distance:i+1}),h=[...h,...f]}await Promise.all(h.map(async m=>{let b=await m.encode();t.cache.set(m),e.blocks.push({block:b,node:m})})),e.root=f[0],e.nodes=[...e.nodes,...h]}}var uo=class t{constructor({entryList:e,chunker:r,distance:n,getNode:o,compare:s,cache:i}){this.entryList=e,this.chunker=r,this.distance=n,this.getNode=o,this.compare=s,this.cache=i}get closed(){return this.entryList.closed}get key(){return this.entryList.startKey}async getEntry(e,r=new ks){return{result:await this._getEntry(e,r),cids:r}}async _getEntry(e,r){r.add(this);let n=this;for(;!n.isLeaf;){let i=n.entryList.find(e,this.compare);if(i===null)throw new Error("Not found");let[,a]=i;n=await this.getNode(await a.address),r.add(n)}let o=n.entryList.find(e,this.compare);if(o===null||o[1].key.toString()!==e.toString())throw new Error("Not found");let[,s]=o;return s}async getAllEntries(e=new ks){return{result:await this._getAllEntries(e),cids:e}}_getAllEntries(e){if(e.add(this),this.isLeaf)return this.entryList.entries;{let{entries:r}=this.entryList,n=async o=>this.getNode(await o.address).then(s=>s._getAllEntries(e)).catch(async s=>{throw s});return Promise.all(r.map(n)).then(o=>o.flat())}}async*vis(e=new Set){let r=async s=>s.isLeaf?`Leaf [${s.entryList.entries.map(a=>`[${a.key},${JSON.stringify(a.value).replace(/"/g,"'")}]`).join(", ")}]`:`Branch [${s.entryList.entries.map(a=>`[${a.key}]`).join(", ")}]`,n=s=>s.toString().slice(0,4)+s.toString().slice(-4),o=async function*(s,i,a){let c=await s.address;if(!a.has(c)){a.add(c);let u=await r(s);yield` node [shape=ellipse fontname="Courier"]; ${n(c)} [label="${u}"];`,yield` ${n(i)} -> ${n(c)};`;for(let l of s.entryList.entries)if(l.address){let d=await l.address;try{let p=await s.getNode(d);yield*await o(p,c,a)}catch(p){yield` ${n(c)} -> ${n(d)};`,yield` node [shape=ellipse fontname="Courier"]; ${n(d)} [label="Error: ${p.message}"];`}}}};yield"digraph tree {",yield' node [shape=ellipse fontname="Courier"]; rootnode;';for await(let s of o(this,"rootnode",e))yield s;yield"}"}async getEntries(e,r=!1,n=new ks){return{result:await this._getEntries(e,r,n),cids:n}}async _getEntries(e,r,n){n.add(this),r||(e=e.sort(this.compare));let o=this.entryList.findMany(e,this.compare,!0,this.isLeaf);if(this.isLeaf)return[...o.values()].map(([i])=>i);let s=[];for(let[i,a]of[...o.values()].reverse()){let c=this.getNode(await i.address);s.push(c.then(u=>u._getEntries(a.reverse(),!0,n)))}return s=await Promise.all(s),s.flat()}async getRangeEntries(e,r,n=new ks){return{result:await this._getRangeEntries(e,r,n),cids:n}}_getRangeEntries(e,r,n){n.add(this);let{entries:o}=this.entryList.findRange(e,r,this.compare);if(this.isLeaf)return o.filter(c=>{let u=this.compare(e,c.key),l=this.compare(r,c.key);return u<=0&&l>=0});if(!o.length)return[];let s=async c=>this.getNode(await c.address).then(u=>u._getRangeEntries(e,r,n)),i=[s(o.shift())];if(!o.length)return i[0];let a=s(o.pop());for(;o.length;){let c=async u=>this.getNode(await u.address).then(async l=>l._getAllEntries(n));i.push(c(o.shift()))}return i.push(a),Promise.all(i).then(c=>c.flat())}async transaction(e,r={}){r={codec:this.codec,hasher:this.hasher,getNode:this.getNode,compare:this.compare,cache:this.cache,...r};let n={chunker:this.chunker,opts:r},o=this.entryList.findMany(e,r.compare,!0,this.isLeaf);return this.isLeaf?await this.transactionLeaf(e,r,n,o):await this.transactionBranch(e,r,n,o)}async transactionLeaf(e,r,n,o){let{LeafClass:s,LeafEntryClass:i}=r,{entries:a,previous:c}=this.processLeafEntries(e,o,i,r),u={...n,entries:a,NodeClass:s,distance:0},l=await t.from(u);return{nodes:l,previous:c,blocks:await Promise.all(l.map(async d=>{let p=await d.encode();return this.cache.set(d),{block:p,node:d}})),distance:0}}processLeafEntries(e,r,n,o){let s=[],i=[],a={},c=new Map;for(let{key:d,del:p,value:f}of e){let h=UC(d);p?typeof a[h]>"u"&&c.set(h,null):(a[h]={key:d,value:f},c.delete(h))}i=[...this.entryList.entries];for(let[d,[p]]of r){s.push(p);let f=UC(p.key);c.has(f)?c.set(f,d):(i[d]=new n(a[f],o),delete a[f])}let u=0;for(let[,d]of c)d!==null&&i.splice(d-u++,1);let l=Object.values(a).map(d=>new n(d,o));return i=i.concat(l).sort(({key:d},{key:p})=>o.compare(d,p)),{entries:i,previous:s}}async transactionBranch(e,r,n,o){let{BranchClass:s,BranchEntryClass:i}=r,a=0;for(let[h,[m,b]]of o){let g=this.getNode(await m.address).then(k=>k.transaction(b.reverse(),{...r,sorted:!0})).then(k=>({entry:m,keys:b,distance:a,...k}));o.set(h,g)}let c=[...this.entryList.entries],u={previous:[],blocks:[],nodes:[]};for(let[h,m]of o){let{nodes:b,previous:g,blocks:k,distance:E}=await m;a=E,c[h]=b,g.length&&(u.previous=u.previous.concat(g)),k.length&&(u.blocks=u.blocks.concat(k)),b.length&&(u.nodes=u.nodes.concat(b))}c=c.flat();let l=await this.handlePrepend(c,r,n,u,a);a++;let d=async h=>{if(h.isEntry)return h;let m=await h.encode();return u.blocks.push({block:m,node:h}),this.cache.set(h),new i(h,r)};c=await Promise.all(l.map(d));let p={...n,entries:c,NodeClass:s,distance:a},f=await t.from(p);return await Promise.all(f.map(async h=>{let m=await h.encode();u.blocks.push({block:m,node:h}),this.cache.set(h)})),u.nodes=f,{...u,distance:a}}async handlePrepend(e,r,n,o,s){let{BranchClass:i,LeafClass:a}=r,c=[],u=null;for(let l of e)if(u){let d=await this.mergeFirstLeftEntries(l,u,n,o,s);u=null;let p=d[0].address?i:a,f={...n,entries:d.sort(({key:m},{key:b})=>r.compare(m,b)),NodeClass:p,distance:s},h=await t.from(f);h[h.length-1].closed||(u=h.pop()),h.length&&(c=c.concat(h))}else!l.isEntry&&!l.closed?u=l:c.push(l);return u&&c.push(u),c}async getNodeFirstFromBlocks(e,r){for(let{block:n,node:o}of e)if(await n.cid===r)return o;return await this.getNode(r)}async mergeFirstLeftEntries(e,r,n,o,s){let i=n.opts,{LeafClass:a,BranchClass:c,BranchEntryClass:u}=i;if(e.isEntry){let f=await e.address;e=await this.getNodeFirstFromBlocks(o.blocks,f)}let l=e.entryList.entries;if(!l.length)throw new Error("unreachable no entries");let d=(f,h)=>f.concat(h),p=async(f,h,m)=>await Promise.all(f.map(async b=>(h.blocks.push({block:await b.encode(),node:b}),this.cache.set(b),new u({key:b.key,address:await b.address},m))));if(l[0].constructor.name===r.entryList.entries[0].constructor.name)return await d(r.entryList.entries,l);{let f=l.shift();if(!f)throw new Error("unreachable no left entry");if(!f.address)throw new Error("unreachable existing leaf, no leftEntry.address");let h=await this.mergeFirstLeftEntries(f,r,n,o,s-1),m=l.shift();if(!m)return h;if(!m.address)throw new Error("unreachable existing leaf, no esf.address");let b=await this.getNodeFirstFromBlocks(o.blocks,await m.address);if(b.entryList.entries[0].address){if(h[0].address)return h.concat(b.entryList.entries);{let g=await t.from({...n,entries:h.sort(({key:P},{key:J})=>i.compare(P,J)),NodeClass:a,distance:s}),k=await p(g,o,i),E=await t.from({...n,entries:[...b.entryList.entries,...k,...l].sort(({key:P},{key:J})=>i.compare(P,J)),NodeClass:c,distance:s});return await p(E,o,i)}}else{let g=await d(h,b.entryList.entries),k=await t.from({...n,entries:g.sort(({key:_},{key:P})=>i.compare(_,P)),NodeClass:a,distance:s}),E=await p(k,o,i);return await d(E,l)}}}async bulk(e,r={},n=!0){let{BranchClass:o}=r;r={codec:this.codec,hasher:this.hasher,getNode:this.getNode,compare:this.compare,cache:this.cache,...r},r.sorted||(e=cM(e,r),r.sorted=!0);let s={chunker:this.chunker,opts:r},i=await this.transaction(e,r);for(;i.nodes.length>1;){let a=i.nodes[0].distance+1,c=await Promise.all(i.nodes.map(async l=>{let d=await l.encode();return i.blocks.push({block:d,node:l}),this.cache.set(l),new r.BranchEntryClass(l,r)})),u=await t.from({...s,entries:c,NodeClass:o,distance:a});await Promise.all(u.map(async l=>{let d=await l.encode();this.cache.set(l),i.blocks.push({block:d,node:l})})),i.nodes=u}return i.root=i.nodes[0],n&&i.root&&await fM(this,i,e,s),i.blocks=i.blocks.map(({block:a})=>a),i}static async from({entries:e,chunker:r,NodeClass:n,distance:o,opts:s}){if(!e.every(c=>c.constructor.name===e[0].constructor.name))throw new Error("all entries must be of the same type");let i=[],a=[];for(let c of e)a.push(c),await r(c,o)&&(i.push(new co({entries:a,closed:!0})),a=[]);return a.length&&i.push(new co({entries:a,closed:!1})),i.map(c=>new n({entryList:c,chunker:r,distance:o,...s}))}},tp=class extends uo{constructor({codec:e,hasher:r,block:n,...o}){super(o),this.codec=e,this.hasher=r,n?(this.block=n,this.address=n.cid):(this.block=this.encode(),this.address=this.block.then(s=>s.cid))}async get(e){let{result:r,cids:n}=await this.getEntry(e);return{result:r.key,cids:n}}async encode(){if(this.block)return this.block;let e=await this.encodeNode(),r={codec:this.codec,hasher:this.hasher,value:e};return this.block=await Nr(r),this.block}},wa=class extends tp{async encodeNode(){let{entries:e}=this.entryList,r=async o=>{if(!o.address)throw new Error("entry.address required");return[o.key,await o.address]},n=await Promise.all(e.map(r));return{branch:[this.distance,n],closed:this.closed}}get isBranch(){return!0}},ba=class extends tp{async encodeNode(){return{leaf:await Promise.all(this.entryList.entries.map(async r=>await r.encodeNode())),closed:this.closed}}get isLeaf(){return!0}},rp=async function*(t){let{LeafClass:e,LeafEntryClass:r,BranchClass:n,BranchEntryClass:o,list:s,chunker:i,compare:a,...c}=t;s=s.map(d=>new r(d,c)),c.compare=a;let u=await uo.from({entries:s,chunker:i,NodeClass:e,distance:0,opts:c});yield*u;let l=1;for(;u.length>1;){let d=async f=>new o({key:f.key,address:await f.address},c),p=await Promise.all(u.map(d));u=await uo.from({entries:p,chunker:i,NodeClass:n,distance:l,opts:c}),yield*u,l++}};var Rx=({bytes:t},{bytes:e})=>LC(t,e),np=class extends Ss{constructor(e){super({address:e,key:e}),this.cid=e}encodeNode(){return this.cid}identity(){let e=this.cid.multihash.bytes;return Zu(e)}},op=class extends Ss{async identity(){let{multihash:{bytes:e}}=await this.address;return Zu(e)}},sp=class extends wa{},ip=class extends ba{},RC=(t,e,r,n,o)=>{let s=a=>{let{value:c}=a,u={chunker:r,cache:e,block:a,getNode:i,codec:n,hasher:o,compare:Rx},l,d;if(c.leaf)l=c.leaf.map(h=>new np(h)),d=ip;else if(c.branch){let[h,m]=c.branch;u.distance=h,l=m.map(([b,g])=>new op({key:b,address:g})),d=sp}else throw new Error("Unknown block data, does not match schema");let p=new co({entries:l,closed:c.closed}),f=new d({entryList:p,...u});return e.set(f),f},i=a=>e.has(a)?e.get(a):t(a).then(c=>s(c));return i},NC=({get:t,cache:e,chunker:r,list:n,codec:o,hasher:s,sorted:i})=>{i||(n=n.sort(Rx));let a=RC(t,e,r,o,s);return rp({list:n,codec:o,hasher:s,chunker:r,getNode:a,sorted:i,compare:Rx,cache:e,LeafClass:ip,LeafEntryClass:np,BranchClass:sp,BranchEntryClass:op})},OC=({cid:t,get:e,cache:r,chunker:n,codec:o,hasher:s,...i})=>RC(e,r,n,o,s,i)(t);var $C=async function*({get:t,cids:e,hasher:r,key:n,cache:o,chunker:s,root:i}){let a=new Set,c;for(let f of e){let h=await t(f);if(!h)throw new Error("missing cid: "+f.toString());let m=await ep({...h,key:n}),b=await Nr({...m,codec:xs,hasher:r});yield b,a.add(b.cid.toString()),h.cid.equals(i)&&(c=b.cid)}if(!c)throw new Error("cids does not include root");let u=[...a].map(f=>ve.parse(f)),l;for await(let f of NC({list:u,get:t,cache:o,chunker:s,hasher:r,codec:Te})){let h=await f.block;yield h,l=h}if(!l)throw new Error("missing last block");let d=[c,l.cid];yield await Nr({value:d,codec:Te,hasher:r})},MC=async function*({root:t,get:e,key:r,cache:n,chunker:o,hasher:s}){let i=async b=>e(b).then(async g=>g?await io({...g,codec:Te,hasher:s}):void 0),a=async b=>e(b).then(async g=>g?await io({...g,codec:xs,hasher:s}):void 0),c=await i(t);if(!c)throw new Error("missing root");if(!c.bytes)throw new Error("missing bytes");let{value:[u,l]}=c,d=await e(u);if(!d)throw new Error("missing root block");let p=await OC({cid:l,get:i,cache:n,chunker:o,codec:xs,hasher:s}),{result:f}=await p.getAllEntries(),h=async b=>{if(!b)throw new Error("missing block");b.value||(b=await io({...b,codec:xs,hasher:s}));let{bytes:g,cid:k}=await Yh({...b,key:r}).catch(_=>{throw _});return await Jh({cid:k,bytes:g,hasher:s,codec:xs})},m=[];for(let{cid:b}of f)d.cid.equals(b)||m.push(a(b).then(h));yield*m,yield h(d)};var xa={has:()=>!1,get:()=>{throw new Error("Cannot ask for entries from nocache")},set:()=>{}};var FC=Ju(30);function zC(t){let e=t.length,r=new Uint8Array(e/2);for(let n=0;n<e;n+=2)r[n/2]=parseInt(t.substring(n,n+2),16);return r}async function jC(t,e,r){let n=zC(t),o=n.buffer.slice(0,n.byteLength),s=new pt,i=[];for(let{cid:u}of r.entries())i.push(u);let a=null;for await(let u of $C({cids:i,get:r.get.bind(r),key:o,hasher:kt,chunker:FC,cache:xa,root:e}))await s.put(u.cid,u.bytes),a=u;if(!a)throw new Error("no blocks encrypted");return await ga([a.cid],s)}async function WC(t,e){let n=(await e.getRoots())[0];return await hM(n,e.get.bind(e),t)}async function hM(t,e,r){let n=zC(r),o=n.buffer.slice(0,n.byteLength),s=new pt,i=null;for await(let a of MC({root:t,get:e,key:o,hasher:kt,chunker:FC,cache:xa}))await s.put(a.cid,a.bytes),i=a;if(!i)throw new Error("no blocks decrypted");return{blocks:s,root:i.cid}}var Nx="0.13.2";var HC=Nx.match(/^([^.]*\.[^.]*)/);if(!HC)throw new Error("invalid version: "+Nx);var $x=HC[0],Ox=class{constructor(e){w(this,"STORAGE_VERSION",$x);w(this,"name");this.name=e}},ka=class extends Ox{constructor(){super(...arguments);w(this,"tag","header-base")}makeHeader({car:r,key:n}){return jl({car:r,key:n})}parseHeader(r){return Wl(r)}},ap=class{constructor(e){w(this,"tag","rwal-base");w(this,"STORAGE_VERSION",$x);w(this,"loader");w(this,"ready");w(this,"walState",{operations:[],noLoaderOps:[],fileOperations:[]});w(this,"processing");this.loader=e,this.ready=(async()=>{let r=await this.load().catch(n=>(console.error("error loading wal",n),null));this.walState.operations=r?.operations||[],this.walState.fileOperations=r?.fileOperations||[]})()}async enqueue(e,r){await this.ready,r.noLoader?this.walState.noLoaderOps.push(e):this.walState.operations.push(e),await this.save(this.walState),r.noLoader||this._process()}async enqueueFile(e,r=!1){await this.ready,this.walState.fileOperations.push({cid:e,public:r})}async _process(){if(await this.ready,!this.loader.remoteCarStore)return;if(this.processing)return this.processing;let e=(async()=>{await this._int_process()})();this.processing=e;try{await e}finally{this.processing=void 0}(this.walState.operations.length||this.walState.fileOperations.length||this.walState.noLoaderOps.length)&&setTimeout(()=>void this._process(),0)}async _int_process(){if(!this.loader.remoteCarStore)return;let e=(async()=>{let r=[...this.walState.operations],n=[...this.walState.fileOperations],o=[],s=[...this.walState.noLoaderOps],i=qu(5);if(r.length+n.length+s.length!==0){for(let a of s){let c=i(async()=>{let u=await this.loader.carStore.load(a.car).catch(()=>null);if(!u)throw new Error(`missing car ${a.car.toString()}`);await this.loader.remoteCarStore.save(u),this.walState.noLoaderOps=this.walState.noLoaderOps.filter(l=>l!==a)});o.push(c)}for(let a of r){let c=i(async()=>{let u=await this.loader.carStore.load(a.car).catch(()=>null);if(!u)throw new Error(`missing car ${a.car.toString()}`);await this.loader.remoteCarStore.save(u),this.walState.operations=this.walState.operations.filter(l=>l!==a)});o.push(c)}if(n.length){let a=this.loader;for(let{cid:c,public:u}of n){let l=i(async()=>{let d=await a.fileStore.load(c);await a.remoteFileStore?.save(d,{public:u}),this.walState.fileOperations=this.walState.fileOperations.filter(p=>p.cid!==c)});o.push(l)}}try{let c=(await Promise.allSettled(o)).filter(u=>u.status==="rejected");if(c.length)throw console.error("error uploading",c),c[0].reason;if(r.length){let u=r[r.length-1];await this.loader.remoteMetaStore?.save(u).catch(l=>{throw console.error("error saving remote meta",l),this.walState.operations.push(u),l})}}finally{await this.save(this.walState)}}})();this.loader.remoteMetaLoading=e,await e}},va=class{constructor(e){w(this,"tag","car-base");w(this,"STORAGE_VERSION",$x);w(this,"loader");this.loader=e}};var Sa=class extends va{constructor(r,n,o="data"){super(r);w(this,"tag","car-browser-s3");w(this,"connection");w(this,"type");this.connection=n,this.type=o}prefix(){return`fp.${this.loader.name}.${this.STORAGE_VERSION}.${this.loader.keyId}`}async load(r){let n=await this.connection.dataDownload({type:this.type,name:this.prefix(),car:r.toString()});if(!n)throw new Error(`missing remote car ${r.toString()}`);return{cid:r,bytes:n}}async save(r,n){let o={type:this.type,name:this.prefix(),car:r.cid.toString(),size:r.bytes.length.toString()};return await this.connection.dataUpload(r.bytes,o,n)}async remove(r){throw new Error("not implemented")}},cp=class extends ka{constructor(r,n){super(r);w(this,"tag","header-browser-ls");w(this,"connection");w(this,"subscribers",new Map);this.connection=n}onLoad(r,n){let o=this.subscribers.get(r)||[];return o.push(n),this.subscribers.set(r,o),()=>{let s=this.subscribers.get(r)||[],i=s.indexOf(n);i>-1&&s.splice(i,1)}}prefix(){return`fp.${this.name}.${this.STORAGE_VERSION}`}async load(r="main"){let n=await this.connection.metaDownload({name:this.prefix(),branch:r});if(!n)return null;let o=this.dbMetasForByteHeads(n),s=this.subscribers.get(r)||[];for(let i of s)await i(o);return o}async save(r,n="main"){let o=new TextEncoder().encode(this.makeHeader(r)),s=await this.connection.metaUpload(o,{name:this.prefix(),branch:n});if(!s)return null;let i=this.dbMetasForByteHeads(s),a=this.subscribers.get(n)||[];for(let c of a)await c(i);return i}dbMetasForByteHeads(r){return r.map(n=>{let o=new TextDecoder().decode(n);return this.parseHeader(o)})}};var pM=(t,e)=>e.some(r=>t instanceof r),qC,VC;function mM(){return qC||(qC=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function yM(){return VC||(VC=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var GC=new WeakMap,Fx=new WeakMap,KC=new WeakMap,Mx=new WeakMap,jx=new WeakMap;function gM(t){let e=new Promise((r,n)=>{let o=()=>{t.removeEventListener("success",s),t.removeEventListener("error",i)},s=()=>{r(Or(t.result)),o()},i=()=>{n(t.error),o()};t.addEventListener("success",s),t.addEventListener("error",i)});return e.then(r=>{r instanceof IDBCursor&&GC.set(r,t)}).catch(()=>{}),jx.set(e,t),e}function wM(t){if(Fx.has(t))return;let e=new Promise((r,n)=>{let o=()=>{t.removeEventListener("complete",s),t.removeEventListener("error",i),t.removeEventListener("abort",i)},s=()=>{r(),o()},i=()=>{n(t.error||new DOMException("AbortError","AbortError")),o()};t.addEventListener("complete",s),t.addEventListener("error",i),t.addEventListener("abort",i)});Fx.set(t,e)}var zx={get(t,e,r){if(t instanceof IDBTransaction){if(e==="done")return Fx.get(t);if(e==="objectStoreNames")return t.objectStoreNames||KC.get(t);if(e==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Or(t[e])},set(t,e,r){return t[e]=r,!0},has(t,e){return t instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in t}};function ZC(t){zx=t(zx)}function bM(t){return t===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...r){let n=t.call(up(this),e,...r);return KC.set(n,e.sort?e.sort():[e]),Or(n)}:yM().includes(t)?function(...e){return t.apply(up(this),e),Or(GC.get(this))}:function(...e){return Or(t.apply(up(this),e))}}function xM(t){return typeof t=="function"?bM(t):(t instanceof IDBTransaction&&wM(t),pM(t,mM())?new Proxy(t,zx):t)}function Or(t){if(t instanceof IDBRequest)return gM(t);if(Mx.has(t))return Mx.get(t);let e=xM(t);return e!==t&&(Mx.set(t,e),jx.set(e,t)),e}var up=t=>jx.get(t);function QC(t,e,{blocked:r,upgrade:n,blocking:o,terminated:s}={}){let i=indexedDB.open(t,e),a=Or(i);return n&&i.addEventListener("upgradeneeded",c=>{n(Or(i.result),c.oldVersion,c.newVersion,Or(i.transaction),c)}),r&&i.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{s&&c.addEventListener("close",()=>s()),o&&c.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),a}var kM=["get","getKey","getAll","getAllKeys","count"],vM=["put","add","delete","clear"],Wx=new Map;function JC(t,e){if(!(t instanceof IDBDatabase&&!(e in t)&&typeof e=="string"))return;if(Wx.get(e))return Wx.get(e);let r=e.replace(/FromIndex$/,""),n=e!==r,o=vM.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||kM.includes(r)))return;let s=async function(i,...a){let c=this.transaction(i,o?"readwrite":"readonly"),u=c.store;return n&&(u=u.index(a.shift())),(await Promise.all([u[r](...a),o&&c.done]))[0]};return Wx.set(e,s),s}ZC(t=>({...t,get:(e,r,n)=>JC(e,r)||t.get(e,r,n),has:(e,r)=>!!JC(e,r)||t.has(e,r)}));var Ea=class extends va{constructor(){super(...arguments);w(this,"tag","car-browser-idb");w(this,"idb",null)}async _withDB(r){if(!this.idb){let n=`fp.${this.STORAGE_VERSION}.${this.loader.keyId}.${this.loader.name}`;this.idb=await QC(n,1,{upgrade(o){o.createObjectStore("cars")}})}return await r(this.idb)}async load(r){return await this._withDB(async n=>{let s=await n.transaction(["cars"],"readonly").objectStore("cars").get(r.toString());if(!s)throw new Error(`missing idb block ${r.toString()}`);return{cid:r,bytes:s}})}async save(r){return await this._withDB(async n=>{let o=n.transaction(["cars"],"readwrite");return await o.objectStore("cars").put(r.bytes,r.cid.toString()),await o.done})}async remove(r){return await this._withDB(async n=>{let o=n.transaction(["cars"],"readwrite");return await o.objectStore("cars").delete(r.toString()),await o.done})}},lp=class extends ap{constructor(){super(...arguments);w(this,"tag","wal-browser-ls")}headerKey(r){return`fp.${this.STORAGE_VERSION}.wal.${this.loader.name}.${r}`}async load(r="main"){try{let n=localStorage.getItem(this.headerKey(r));return n?Wl(n):null}catch{return null}}async save(r,n="main"){try{let o=jl(r);localStorage.setItem(this.headerKey(n),o)}catch{}}},dp=class extends ka{constructor(){super(...arguments);w(this,"tag","header-browser-ls")}headerKey(r){return`fp.${this.STORAGE_VERSION}.meta.${this.name}.${r}`}async load(r="main"){try{let n=localStorage.getItem(this.headerKey(r));return n?[this.parseHeader(n)]:null}catch{return null}}async save(r,n="main"){try{let o=this.headerKey(n),s=this.makeHeader(r);return localStorage.setItem(o,s),null}catch{return null}}};function YC(t,e){return t.some(r=>r.equals(e))}function XC(t,e=[]){let r=new Map;for(let n of t)YC(e,n)||r.set(n.toString(),n);return[...r.values()]}function SM(t){return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}var _a=class{constructor(e,r){w(this,"name");w(this,"opts",{});w(this,"remoteMetaLoading");w(this,"remoteMetaStore");w(this,"remoteCarStore");w(this,"remoteWAL");w(this,"metaStore");w(this,"carStore");w(this,"carLog",[]);w(this,"carReaders",new Map);w(this,"ready");w(this,"key");w(this,"keyId");w(this,"getBlockCache",new Map);w(this,"committing");this.name=e,this.opts=r||this.opts,this.ready=this.initializeStores().then(async()=>{if(!this.metaStore||!this.carStore||!this.remoteWAL)throw new Error("stores not initialized");let n=this.opts.meta?[this.opts.meta]:await this.metaStore.load("main");n&&await this.handleDbMetasFromStore(n)})}_connectRemoteMeta(e){let r=new cp(this.name,e);return r.onLoad("main",async n=>{n&&await this.handleDbMetasFromStore(n)}),this.remoteMetaStore=r,e}_connectRemoteStorage(e){return this.remoteCarStore=new Sa(this,e),e}connectRemote(e,r){return e.loader=this,this._connectRemoteMeta(e),this._connectRemoteStorage(r||e),this.remoteMetaLoading=this.remoteMetaStore.load("main").then(()=>{}),e.loaded=Promise.all([this.ready,this.remoteMetaLoading]).then(()=>{this.remoteWAL?._process()}),e}async snapToCar(e){await this.ready,typeof e=="string"&&(e=ve.parse(e));let r=await this.loadCarHeaderFromMeta({car:e,key:this.key||null});this.carLog=[e,...r.cars],await this.getMoreReaders(r.cars),await this._applyCarHeader(r,!0)}async handleDbMetasFromStore(e){for(let r of e)await this.mergeDbMetaIntoClock(r)}async mergeDbMetaIntoClock(e){if(e.key&&await this.setKey(e.key),YC(this.carLog,e.car))return;let r=await this.loadCarHeaderFromMeta(e);await this.getMoreReaders(r.cars),this.carLog=[...XC([e.car,...this.carLog,...r.cars],r.compact)],await this._applyCarHeader(r)}async ingestKeyFromMeta(e){let{key:r}=e;r&&await this.setKey(r)}async loadCarHeaderFromMeta({car:e}){let r=await this.loadCar(e);return await IC(r)}async _getKey(){return this.key?this.key:(this.opts.public||(Qh()?await this.setKey(SM(Xh(32))):console.warn("missing crypto module, using public mode")),this.key)}async commit(e,r,n={noLoader:!1,compact:!1}){this.committing&&await this.committing,this.committing=this._commitInternal(e,r,n);let o=await this.committing;return this.committing=void 0,o}async _commitInternal(e,r,n={noLoader:!1,compact:!1}){await this.ready;let o=this.makeCarHeader(r,this.carLog,!!n.compact),s=[];if(o.files)s=o.files;else{let l=await CC(o);await e.put(l.cid,l.bytes),s=[l.cid]}let i=n.public?null:await this._getKey(),{cid:a,bytes:c}=i?await jC(i,s[0],e):await ga(s,e);if(Hx(r))return await this.fileStore.save({cid:a,bytes:c}),await this.remoteWAL.enqueueFile(a,n.public),a;await this.carStore.save({cid:a,bytes:c});let u={car:a,key:i||null};if(await this.remoteWAL.enqueue(u,n),await this.metaStore.save(u),n.compact){let l=o;this.carLog=[...XC([a,...this.carLog],l.compact)],(async()=>{this.remoteMetaLoading&&await this.remoteMetaLoading;for(let d of l.compact)await this.carStore.remove(d)})()}else this.carLog.unshift(a);return a}async getBlock(e){await this.ready;let r=e.toString();if(this.getBlockCache.has(r))return this.getBlockCache.get(r);let n=await Promise.any(this.carLog.map(async o=>{let s=await this.loadCar(o);if(!s)throw new Error(`missing car reader ${o.toString()}`);let i=await s.get(e);if(i)return i;throw new Error(`block not in reader: ${e.toString()}`)})).catch(()=>{});return n&&this.getBlockCache.set(r,n),n}async initializeStores(){this.metaStore=new dp(this.name),this.carStore=new Ea(this),this.remoteWAL=new lp(this)}async loadCar(e){if(!this.carStore)throw new Error("car store not initialized");return await this.storesLoadCar(e,this.carStore,this.remoteCarStore)}async storesLoadCar(e,r,n,o){let s=e.toString();return this.carReaders.has(s)||this.carReaders.set(s,(async()=>{let i=null;try{i=await r.load(e)}catch{if(n){let l=await n.load(e);l&&(await r.save(l),i=l)}}if(!i)throw new Error(`missing car file ${s}`);let a=await fs.fromBytes(i.bytes),c=o?Promise.resolve(a):this.ensureDecryptedReader(a);return this.carReaders.set(s,c),c})().catch(i=>{throw this.carReaders.delete(s),i})),this.carReaders.get(s)}async ensureDecryptedReader(e){let r=await this._getKey();if(!r)return e;let{blocks:n,root:o}=await WC(r,e);return{getRoots:()=>[o],get:n.get.bind(n)}}async setKey(e){if(this.key&&this.key!==e)throw new Error("key mismatch");this.key=e;let r=Qh();if(!r)throw new Error("missing crypto module");let n=r.subtle,s=new TextEncoder().encode(e),i=await n.digest("SHA-256",s),a=Array.from(new Uint8Array(i));this.keyId=a.map(c=>c.toString(16).padStart(2,"0")).join("")}async getMoreReaders(e){let r=qu(5),n=e.filter(o=>!this.carReaders.has(o.toString()));await Promise.all(n.map(o=>r(()=>this.loadCar(o))))}};w(_a,"defaultHeader");var Aa=De(sI(),1);var fp=class extends Ss{async identity(){let e=await this.codec.encode(await this.encodeNode()),r=await this.hasher.encode(e);return Zu(r)}},Es=class extends fp{constructor(e,r){super(e,r),this.value=e.value}encodeNode(){return[this.key,this.value]}},_s=class extends fp{constructor(e,r){if(!e.address)throw new Error("Cannot create MapBranchEntry without address");super(e,r)}async encodeNode(){return[this.key,await this.address]}},iI=async(t,e)=>{let{result:r,cids:n}=await t.getEntry(e);return{result:r.value,cids:n}},aI=async(t,e)=>{let{result:r,cids:n}=await t.getEntries(e);return{result:r.map(o=>o.value),cids:n}},As=class extends ba{get(e){return iI(this,e)}getMany(e){return aI(this,e)}bulk(e,r={},n=!0){return super.bulk(e,{...cI,...r},n)}},Ds=class extends wa{get(e){return iI(this,e)}getMany(e){return aI(this,e)}bulk(e,r={},n=!0){return super.bulk(e,{...cI,...r},n)}},cI={LeafClass:As,LeafEntryClass:Es,BranchClass:Ds,BranchEntryClass:_s},uI=(t,e,r,n,o,s,i)=>{let a=i.LeafClass||As,c=i.LeafEntryClass||Es,u=i.BranchClass||Ds,l=i.BranchEntryClass||_s,d=async f=>e.has(f)?e.get(f):t(f).then(h=>p(h)),p=BM({chunker:r,cache:e,getNode:d,codec:n,hasher:o,compare:s,LeafEntryClass:c,LeafClass:a,BranchEntryClass:l,BranchClass:u});return d},lI=({get:t,cache:e,chunker:r,list:n,codec:o,hasher:s,sorted:i,compare:a,...c})=>{i||(n=n.sort(({key:d},{key:p})=>a(d,p)));let u=uI(t,e,r,o,s,a,c),l={list:n,codec:o,hasher:s,chunker:r,getNode:u,sorted:i,compare:a,cache:e,LeafClass:c.LeafClass||As,LeafEntryClass:c.LeafEntryClass||Es,BranchClass:c.BranchClass||Ds,BranchEntryClass:c.BranchEntryClass||_s};return rp(l)},dI=({cid:t,get:e,cache:r,chunker:n,codec:o,hasher:s,compare:i,...a})=>uI(e,r,n,o,s,i,a)(t);function BM({chunker:t,cache:e,getNode:r,codec:n,hasher:o,compare:s,LeafEntryClass:i,LeafClass:a,BranchEntryClass:c,BranchClass:u}){let l={codec:n,hasher:o};return d=>{let{value:p}=d,f={chunker:t,cache:e,block:d,getNode:r,codec:n,hasher:o,compare:s},h,m;if(p.leaf)h=p.leaf.map(([k,E])=>new i({key:k,value:E},l)),m=a;else if(p.branch){let[k,E]=p.branch;f.distance=k,h=E.map(([_,P])=>new c({key:_,address:P},l)),m=u}else throw new Error("Unknown block data, does not match schema");let b=new co({entries:h,closed:p.closed}),g=new m({entryList:b,...f});return e.set(g),g}}var PM=(t,e)=>{let[r,n]=t,[o,s]=e,i=vs(r,o);return i!==0?i:LM(n,s)},LM=(t,e)=>{if(Number.isNaN(t))return-1;if(Number.isNaN(e))throw new Error("ref may not be Infinity or NaN");return Number.isFinite(t)?vs(t,e):1},fI=async(t,e)=>{let r=[e,NaN],n=[e,1/0],{result:o,cids:s}=await t.getRangeEntries(r,n);return{result:o.map(i=>{let[a,c]=i.key;return{id:c,key:a,row:i.value}}),cids:s}},hI=async(t,e,r)=>{e=[e,NaN],r=[r,1/0];let{result:n,cids:o}=await t.getRangeEntries(e,r);return{result:n.map(i=>{let[a,c]=i.key;return{id:c,key:a,row:i.value}}),cids:o}},Vx=class extends As{get(e){return fI(this,e)}range(e,r){return hI(this,e,r)}bulk(e,r={},n=!0){return super.bulk(e,{...Kx,...r},n)}},Gx=class extends Ds{get(e){return fI(this,e)}range(e,r){return hI(this,e,r)}bulk(e,r={},n=!0){return super.bulk(e,{...Kx,...r},n)}},UM=Vx,RM=Gx,Kx={LeafClass:UM,BranchClass:RM,LeafEntryClass:Es,BranchEntryClass:_s},pI={...Kx,compare:PM},mI=t=>(t={...pI,...t},lI(t)),Zx=t=>(t={...pI,...t},dI(t));var Ts=class{constructor(){w(this,"cid",null);w(this,"root",null)}},OM=(t,e)=>{if(Number.isNaN(t))return-1;if(Number.isNaN(e))throw new Error("ref may not be Infinity or NaN");return t===1/0?1:vs(t,e)},$M=(t,e)=>{let[r,n]=t,[o,s]=e,i=vs(r,o);return i!==0?i:OM(n,s)},Qx={cache:xa,chunker:Ju(30),codec:Te,hasher:kt,compare:$M},Xx={cache:xa,chunker:Ju(30),codec:Te,hasher:kt,compare:vs};function yI(t,e){let r=[];return t.forEach(({key:n,value:o,del:s})=>{if(s||!o)return;let i=!1,a=e({_id:n,...o},(c,u)=>{i=!0,!(typeof c>"u")&&r.push({key:[Aa.default.encode(c),n],value:u||null})});!i&&a&&r.push({key:[Aa.default.encode(a),n],value:null})}),r}function Jx(t){return async e=>{let r=await t.get(e);if(!r)throw new Error(`Missing block ${e.toString()}`);let{cid:n,bytes:o}=r;return Jh({cid:n,bytes:o,hasher:kt,codec:Te})}}async function Yx(t,e,r,n){if(!r.length)return e;if(!e.root)if(e.cid)e.root=await Zx({cid:e.cid,get:Jx(t),...n});else{let i=null,a=null;for await(let c of await mI({get:Jx(t),list:r,...n})){let u=await c.block;await t.put(u.cid,u.bytes),i=u,a=c}if(!a||!i)throw new Error("failed to create index");return{root:a,cid:i.cid}}let{root:o,blocks:s}=await e.root.bulk(r);if(o){for await(let i of s)await t.put(i.cid,i.bytes);return{root:o,cid:(await o.block).cid}}else return{root:null,cid:null}}async function e0(t,e,r){return await Zx({cid:e,get:Jx(t),...r})}async function Cs(t,e,r){return r.descending&&(e.result=e.result.reverse()),r.limit&&(e.result=e.result.slice(0,r.limit)),r.includeDocs&&(e.result=await Promise.all(e.result.map(async n=>{let o=await t.get(n.id),s=o?{_id:n.id,...o.doc}:null;return{...n,doc:s}}))),{rows:e.result.map(n=>(n.key=Aa.default.decode(n.key),n.row&&!n.value&&(n.value=n.row,delete n.row),n))}}function t0(t){return t.map(e=>Aa.default.encode(e))}function r0(t){return Aa.default.encode(t)}function Qu({_crdt:t},e,r,n){if(r&&n)throw new Error("cannot provide both mapFn and meta");if(r&&r.constructor.name!=="Function")throw new Error("mapFn must be a function");if(t.indexers.has(e))t.indexers.get(e).applyMapFn(e,r,n);else{let o=new n0(t,e,r,n);t.indexers.set(e,o)}return t.indexers.get(e)}var n0=class{constructor(e,r,n,o){w(this,"blocks");w(this,"crdt");w(this,"name",null);w(this,"mapFn",null);w(this,"mapFnString","");w(this,"byKey",new Ts);w(this,"byId",new Ts);w(this,"indexHead");w(this,"includeDocsDefault",!1);w(this,"initError",null);w(this,"ready");if(this.blocks=e.indexBlocks,this.crdt=e,this.applyMapFn(r,n,o),!(this.mapFnString||this.initError))throw new Error("missing mapFnString");this.ready=this.blocks.ready.then(()=>{})}applyMapFn(e,r,n){if(r&&n)throw new Error("cannot provide both mapFn and meta");if(this.name&&this.name!==e)throw new Error("cannot change name");this.name=e;try{if(n){if(this.indexHead&&this.indexHead.map(s=>s.toString()).join()!==n.head.map(s=>s.toString()).join())throw new Error("cannot apply meta to existing index");this.mapFnString?this.mapFnString!==n.map?console.log("cannot apply different mapFn meta: old mapFnString",this.mapFnString,"new mapFnString",n.map):(this.byId.cid=n.byId,this.byKey.cid=n.byKey,this.indexHead=n.head):(this.mapFnString=n.map,this.byId.cid=n.byId,this.byKey.cid=n.byKey,this.indexHead=n.head)}else if(this.mapFn){if(r&&this.mapFn.toString()!==r.toString())throw new Error("cannot apply different mapFn app2")}else{if(r||(r=MM(e)),this.mapFnString){if(this.mapFnString!==r.toString())throw new Error("cannot apply different mapFn app")}else this.mapFnString=r.toString();this.mapFn=r}let o=/=>\s*(.*)/.test(this.mapFnString);this.includeDocsDefault=o}catch(o){this.initError=o}}async query(e={}){if(await this._updateIndex(),await this._hydrateIndex(),!this.byKey.root)return await Cs(this.crdt,{result:[]},e);if(this.includeDocsDefault&&e.includeDocs===void 0&&(e.includeDocs=!0),e.range){let{result:o,...s}=await this.byKey.root.range(...t0(e.range));return await Cs(this.crdt,{result:o,...s},e)}if(e.key){let o=r0(e.key);return await Cs(this.crdt,await this.byKey.root.get(o),e)}if(Array.isArray(e.keys))return{rows:(await Promise.all(e.keys.map(async s=>{let i=r0(s);return(await Cs(this.crdt,await this.byKey.root.get(i),e)).rows}))).flat()};if(e.prefix){Array.isArray(e.prefix)||(e.prefix=[e.prefix]);let o=[...e.prefix,NaN],s=[...e.prefix,1/0],i=t0([o,s]);return await Cs(this.crdt,await this.byKey.root.range(...i),e)}let{result:r,...n}=await this.byKey.root.getAllEntries();return await Cs(this.crdt,{result:r.map(({key:[o,s],value:i})=>({key:o,id:s,value:i})),...n},e)}_resetIndex(){this.byId=new Ts,this.byKey=new Ts,this.indexHead=void 0}async _hydrateIndex(){this.byId.root&&this.byKey.root||!this.byId.cid||!this.byKey.cid||(this.byId.root=await e0(this.blocks,this.byId.cid,Xx),this.byKey.root=await e0(this.blocks,this.byKey.cid,Qx))}async _updateIndex(){if(await this.ready,this.initError)throw this.initError;if(!this.mapFn)throw new Error("No map function defined");let e,r;if(!this.indexHead||this.indexHead.length===0?{result:e,head:r}=await this.crdt.allDocs():{result:e,head:r}=await this.crdt.changes(this.indexHead),e.length===0)return this.indexHead=r,{byId:this.byId,byKey:this.byKey};let n=[],o=[];if(this.byId.root){let c=e.map(({key:l})=>l),{result:u}=await this.byId.root.getMany(c);n=u.map(l=>({key:l,del:!0})),o=u.map(l=>({key:l[1],del:!0}))}let s=yI(e,this.mapFn),i=s.map(({key:c})=>({key:c[1],value:c})),a=new Map;for(let[c,u]of this.crdt.indexers)u.indexHead&&a.set(c,{byId:u.byId.cid,byKey:u.byKey.cid,head:u.indexHead,map:u.mapFnString,name:u.name});return await this.blocks.transaction(async c=>(this.byId=await Yx(c,this.byId,o.concat(i),Xx),this.byKey=await Yx(c,this.byKey,n.concat(s),Qx),this.indexHead=r,{byId:this.byId.cid,byKey:this.byKey.cid,head:r,map:this.mapFnString,name:this.name}),a)}};function MM(t){return e=>{if(e[t])return e[t]}}var mp=class mp extends _a{constructor(r,n,o){super(r,o);w(this,"crdt");w(this,"defaultHeader",mp.defaultHeader);this.crdt=n}async _applyCarHeader(r){for(let[n,o]of Object.entries(r.indexes))Qu({_crdt:this.crdt},n,void 0,o)}makeCarHeader({indexes:r},n,o=!1){return o?{indexes:r,cars:[],compact:n}:{indexes:r,cars:n,compact:[]}}};w(mp,"defaultHeader",{cars:[],compact:[],indexes:new Map});var hp=mp,yp=class yp extends _a{constructor(r,n,o){super(r,o);w(this,"defaultHeader",yp.defaultHeader);w(this,"clock");w(this,"remoteFileStore");w(this,"fileStore");this.clock=n}async initializeStores(){await super.initializeStores(),this.fileStore=new Ea(this)}_connectRemoteStorage(r){return super._connectRemoteStorage(r),this.remoteFileStore=new Sa(this,r,"file"),r}async loadFileCar(r,n=!1){if(!this.fileStore)throw new Error("missing fileStore");return await this.storesLoadCar(r,this.fileStore,this.remoteFileStore,n)}async _applyCarHeader(r,n=!1){n?await this.clock.applyHead(null,r.head,this.clock.head):await this.clock.applyHead(null,r.head,[])}makeCarHeader(r,n,o=!1){if(Hx(r)){let s=[];for(let[,i]of Object.entries(r.files))s.push(i.cid);return{files:s}}else{let{head:s}=r;return o?{head:s,cars:[],compact:n}:{head:s,cars:n,compact:[]}}}};w(yp,"defaultHeader",{cars:[],compact:[],head:[]});var pp=yp;function Hx(t){return t&&t.files!==void 0}var lo=class extends pt{constructor(r){super();w(this,"parent");this.parent=r}async get(r){return this.parent.get(r)}async superGet(r){return super.get(r)}},gp=class{constructor(e,r,n){w(this,"ready");w(this,"name",null);w(this,"loader",null);w(this,"opts",{});w(this,"transactions",new Set);if(this.opts=n||this.opts,e){if(this.name=e,!r)throw new Error("missing loader");this.loader=r,this.ready=this.loader.ready}else this.ready=Promise.resolve()}async put(){throw new Error("use a transaction to put")}async get(e){if(!e)throw new Error("required cid");for(let r of this.transactions){let n=await r.superGet(e);if(n)return n}if(this.loader)return await this.loader.getBlock(e)}async commitCompaction(e,r){return this.transactions.clear(),this.transactions.add(e),await this.loader?.commit(e,{head:r},{compact:!0})}async*entries(){let e=new Set;for(let r of this.transactions)for await(let n of r.entries())e.has(n.cid.toString())||(e.add(n.cid.toString()),yield n)}async executeTransaction(e,r){let n=new lo(this);this.transactions.add(n);let o=await e(n),{car:s,done:i}=await r(n,o);return s?{...i,car:s}:i}},wp=class extends gp{constructor(e,r,n){e?super(e,new hp(e,r,n),n):super(null)}async transaction(e,r){return this.executeTransaction(e,async(n,o)=>(r.set(o.name,o),{car:await this.loader?.commit(n,{indexes:r}),done:o}))}},bp=class extends gp{constructor(e,r,n){e?super(e,new pp(e,r,n),n):super(null)}async transaction(e,r,n={noLoader:!1}){return this.executeTransaction(e,async(o,s)=>({car:await this.loader?.commit(o,s,n),done:s}))}},xp=class{constructor(e){w(this,"blocks");w(this,"loader",null);w(this,"cids",new Set);this.blocks=e,this.loader=e.loader}async get(e){return this.cids.add(e),await this.blocks.get(e)}};async function Xu(t,e,r){let n=new $r(t),o=new Map(e.map(i=>[i.toString(),i]));if(o.has(r.toString()))return e;let s=!1;for(let i of e)await gI(n,r,i)&&(o.delete(i.toString()),o.set(r.toString(),r),s=!0);if(s)return[...o.values()];for(let i of e)if(await gI(n,i,r))return e;return e.concat(r)}var Is=class extends Qt{constructor({cid:e,value:r,bytes:n,prefix:o}){super({cid:e,value:r,bytes:n}),this.prefix=o}static create(e,r){return FM({data:e,parents:r??[]})}},$r=class{constructor(e){this._blocks=e}async get(e){let r=await this._blocks.get(e);if(!r)throw new Error(`missing block: ${e}`);return Yu(r.bytes)}};async function FM(t){let{cid:e,bytes:r}=await xh({value:t,codec:Te,hasher:ue});return new Qt({cid:e,value:t,bytes:r})}async function Yu(t){let{cid:e,value:r}=await kh({bytes:t,codec:Te,hasher:ue});return new Qt({cid:e,value:r,bytes:t})}async function gI(t,e,r){if(e.toString()===r.toString())return!0;let[{value:n},{value:o}]=await Promise.all([t.get(e),t.get(r)]),s=[...n.parents],i=new Set;for(;s.length;){let a=s.shift();if(!a)break;if(a.toString()===r.toString())return!0;if(o.parents.some(u=>a.toString()===u.toString())||i.has(a.toString()))continue;i.add(a.toString());let{value:c}=await t.get(a);s.push(...c.parents)}return!1}async function*o0(t,e,r={}){let n=r.renderNodeLabel??(c=>zM(c.cid)),o=new $r(t);yield"digraph clock {",yield' node [shape=point fontname="Courier"]; head;';let s=await Promise.all(e.map(c=>o.get(c))),i=[],a=new Set;for(let c of s){a.add(c.cid.toString()),yield` node [shape=oval fontname="Courier"]; ${c.cid} [label="${n(c)}"];`,yield` head -> ${c.cid};`;for(let u of c.value.parents)yield` ${c.cid} -> ${u};`;i.push(...c.value.parents)}for(;i.length;){let c=i.shift();if(!c)break;if(a.has(c.toString()))continue;a.add(c.toString());let u=await o.get(c);yield` node [shape=oval]; ${c} [label="${n(u)}" fontname="Courier"];`;for(let l of u.value.parents)yield` ${c} -> ${l};`;i.push(...u.value.parents)}yield"}"}var zM=t=>`${String(t).slice(0,4)}..${String(t).slice(-4)}`;var Bs=class extends Qt{constructor({cid:e,value:r,bytes:n,prefix:o}){super({cid:e,value:r,bytes:n}),this.prefix=o}static create(){return Mr([])}};async function Mr(t,e){let{cid:r,bytes:n}=await xh({value:t,codec:Te,hasher:ue});return new Bs({cid:r,value:t,bytes:n,prefix:e??""})}async function wI(t,e){let{cid:r,value:n}=await kh({bytes:t,codec:Te,hasher:ue});if(!Array.isArray(n))throw new Error(`invalid shard: ${r}`);return new Bs({cid:r,value:n,bytes:t,prefix:e??""})}var Ps=class{constructor(e){this._blocks=e}async get(e,r=""){let n=await this._blocks.get(e);if(!n)throw new Error(`missing block: ${e}`);return wI(n.bytes,r)}};function s0(t,e){if(!t.length)return[e];let r=[];for(let[n,[o,s]]of t.entries()){if(e[0]===o){if(Array.isArray(e[1]))Array.isArray(s)&&s[1]!=null&&e[1][1]==null?r.push([o,[e[1][0],s[1]]]):r.push(e);else{let i=Array.isArray(s)?[o,[s[0],e[1]]]:e;r.push(i)}for(let i=n+1;i<t.length;i++)r.push(t[i]);return r}if(n===0&&e[0]<o){r.push(e);for(let i=n;i<t.length;i++)r.push(t[i]);return r}if(n>0&&e[0]>t[n-1][0]&&e[0]<o){r.push(e);for(let i=n;i<t.length;i++)r.push(t[i]);return r}r.push([o,s])}return r.push(e),r}function bI(t,e){let r=t.findIndex(([s])=>e===s);if(r===-1)throw new Error(`key not found in shard: ${e}`);let n=r,o;for(;;){if(o=t[n][0].slice(0,-1),o.length)for(;;){let s=t.filter(i=>i[0].startsWith(o));if(s.length>1)return{prefix:o,matches:s};if(o=o.slice(0,-1),!o.length)break}if(n++,n>=t.length&&(n=0),n===r)return}}var kp=64,WM=512*1024;async function el(t,e,r,n,o={}){let s=new Ps(t),i=await s.get(e),a=await vp(s,i,r),c=a[a.length-1],u=r.slice(c.prefix.length),l=[u,n],d=[];if(u.length>kp){let h=Array.from(Array(Math.ceil(u.length/kp)),(b,g)=>{let k=g*kp;return{prefix:c.prefix+u.slice(0,k),skey:u.slice(k,k+kp)}}),m=await Mr([[h[h.length-1].skey,n]],h[h.length-1].prefix);d.push(m);for(let b=h.length-2;b>0;b--)m=await Mr([[h[b].skey,[m.cid]]],h[b].prefix),d.push(m);l=[h[0].skey,[m.cid]]}let p=s0(c.value,l),f=await Mr(p,c.prefix);if(f.bytes.length>(o.maxShardSize??WM)){let h=bI(p,l[0]);if(!h)throw new Error("shard limit reached");let{prefix:m,matches:b}=h,g=await Mr(b.filter(([_])=>_!==m).map(([_,P])=>[_.slice(m.length),P]),c.prefix+m);d.push(g);let k,E=b.find(([_])=>_===m);if(E){if(Array.isArray(E[1]))throw new Error(`expected "${m}" to be a shard value but found a shard link`);k=[g.cid,E[1]]}else k=[g.cid];p=p.filter(_=>b.every(P=>_[0]!==P[0])),p=s0(p,[m,k]),f=await Mr(p,c.prefix)}d.push(f);for(let h=a.length-2;h>=0;h--){let m=a[h],b=f.prefix.slice(m.prefix.length),g=m.value.map(k=>{let[E,_]=k;if(E!==b)return k;if(!Array.isArray(_))throw new Error(`"${b}" is not a shard link in: ${m.cid}`);return _[1]==null?[E,[f.cid]]:[E,[f.cid,_[1]]]});f=await Mr(g,m.prefix),d.push(f)}return{root:d[d.length-1].cid,additions:d,removals:a}}async function xI(t,e,r){let n=new Ps(t),o=await n.get(e),s=await vp(n,o,r),i=s[s.length-1],a=r.slice(i.prefix.length),c=i.value.find(([u])=>u===a);if(c)return Array.isArray(c[1])?c[1][1]:c[1]}async function i0(t,e,r){let n=new Ps(t),o=await n.get(e),s=await vp(n,o,r),i=s[s.length-1],a=r.slice(i.prefix.length),c=i.value.findIndex(([h])=>h===a);if(c===-1)return{root:e,additions:[],removals:[]};let u=i.value[c];if(Array.isArray(u[1])&&u[1][1]==null)return{root:e,additions:[],removals:[]};let l=[],d=[...s],p=[...i.value];if(Array.isArray(u[1]))p[c]=[u[0],[u[1][0]]];else for(p.splice(c,1);!p.length;){let h=s[s.length-1],m=s[s.length-2];if(!m)break;s.pop(),p=m.value.filter(b=>Array.isArray(b[1])?b[1][0].toString()!==h.cid.toString():!0)}let f=await Mr(p,s[s.length-1].prefix);l.push(f);for(let h=s.length-2;h>=0;h--){let m=s[h],b=f.prefix.slice(m.prefix.length),g=m.value.map(k=>{let[E,_]=k;if(E!==b)return k;if(!Array.isArray(_))throw new Error(`"${b}" is not a shard link in: ${m.cid}`);return _[1]==null?[E,[f.cid]]:[E,[f.cid,_[1]]]});f=await Mr(g,m.prefix),l.push(f)}return{root:l[l.length-1].cid,additions:l,removals:d}}async function*kI(t,e,r={}){let{prefix:n}=r,o=new Ps(t),s=await o.get(e);yield*async function*i(a){for(let c of a.value){let u=a.prefix+c[0];if(Array.isArray(c[1])){if(c[1][1]&&(!n||n&&u.startsWith(n))&&(yield[u,c[1][1]]),n&&(n.length<=u.length&&!u.startsWith(n)||n.length>u.length&&!n.startsWith(u)))continue;yield*i(await o.get(c[1][0],u))}else{if(n&&!u.startsWith(n))continue;yield[u,c[1]]}}}(s)}async function vp(t,e,r){for(let[n,o]of e.value){if(r===n)return[e];if(r.startsWith(n)&&Array.isArray(o)){let s=await vp(t,await t.get(o[0],e.prefix+n),r.slice(n.length));return[e,...s]}}return[e]}async function vI(t,e,r,n,o){let s=new pt;if(t=new gs(s,t),!e.length){let g=await Bs.create();s.putSync(g.cid,g.bytes);let k=await el(t,g.cid,r,n,o),E={type:"put",root:k.root,key:r,value:n},_=await Is.create(E,e);return e=await Xu(t,e,_.cid),{root:k.root,additions:[g,...k.additions],removals:k.removals,head:e,event:_}}let i=new $r(t),a=await c0(i,e);if(!a)throw new Error("failed to find common ancestor event");let c=await i.get(a),{root:u}=c.value.data,l=await EI(i,e,a),d=new Map,p=new Map;for(let{value:g}of l){if(!["put","del"].includes(g.data.type))throw new Error(`unknown event type: ${g.data.type}`);let k=g.data.type==="put"?await el(t,u,g.data.key,g.data.value):await i0(t,u,g.data.key);u=k.root;for(let E of k.additions)s.putSync(E.cid,E.bytes),d.set(E.cid.toString(),E);for(let E of k.removals)p.set(E.cid.toString(),E)}let f=await el(t,u,r,n,o);for(let g of f.additions)s.putSync(g.cid,g.bytes),d.set(g.cid.toString(),g);for(let g of f.removals)p.set(g.cid.toString(),g);let h={type:"put",root:f.root,key:r,value:n},m=await Is.create(h,e);s.putSync(m.cid,m.bytes),e=await Xu(t,e,m.cid);let b=f.root.toString();for(let g of p.keys())d.has(g)&&g!==b&&(d.delete(g),p.delete(g));return{root:f.root,additions:[...d.values()],removals:[...p.values()],head:e,event:m}}async function Da(t,e){if(!e.length)throw new Error("cannot determine root of headless clock");let r=new pt;t=new gs(r,t);let n=new $r(t);if(e.length===1){let d=await n.get(e[0]),{root:p}=d.value.data;return{root:p,additions:[],removals:[]}}let o=await c0(n,e);if(!o)throw new Error("failed to find common ancestor event");let s=await n.get(o),{root:i}=s.value.data,a=await EI(n,e,o),c=new Map,u=new Map;for(let{value:d}of a){if(!["put","del"].includes(d.data.type))throw new Error(`unknown event type: ${d.data.type}`);let p=d.data.type==="put"?await el(t,i,d.data.key,d.data.value):await i0(t,i,d.data.key);i=p.root;for(let f of p.additions)r.putSync(f.cid,f.bytes),c.set(f.cid.toString(),f);for(let f of p.removals)u.set(f.cid.toString(),f)}let l=i.toString();for(let d of u.keys())c.has(d)&&d!==l&&(c.delete(d),u.delete(d));return{root:i,additions:[...c.values()],removals:[...u.values()]}}async function SI(t,e,r){if(!e.length)return;let n=await Da(t,e);return n.additions.length&&(t=new gs(new pt(n.additions),t)),xI(t,n.root,r)}async function*a0(t,e,r){if(!e.length)return;let n=await Da(t,e);n.additions.length&&(t=new gs(new pt(n.additions),t)),yield*kI(t,n.root,r)}async function c0(t,e){if(!e.length)return;let r=e.map(n=>[n]);for(;;){let n=!1;for(let o of r){let s=await qM(t,o[o.length-1]);if(!s)continue;n=!0,o.push(s);let i=VM(r);if(i)return i}if(!n)return}}async function qM(t,e){let{value:r}=await t.get(e);return r.parents.length?r.parents.length===1?r.parents[0]:c0(t,r.parents):e}function VM(t){t=t.map(e=>[...e]);for(let e of t)for(let r of e){let n=!0;for(let o of t)if(e!==o&&(n=o.some(s=>String(s)===String(r)),!n))break;if(n)return r}}async function EI(t,e,r){if(e.length===1&&String(e[0])===String(r))return[];let n=new Map,o=await Promise.all(e.map(i=>_I(t,i,r)));for(let i of o)for(let{event:a,depth:c}of i){let u=n.get(a.cid.toString());u?u.weight+=c:n.set(a.cid.toString(),{event:a,weight:c})}let s=new Map;for(let{event:i,weight:a}of n.values()){let c=s.get(a);c?c.push(i):s.set(a,[i])}return Array.from(s).sort((i,a)=>a[0]-i[0]).flatMap(([,i])=>i.sort((a,c)=>String(a.cid)<String(c.cid)?-1:1))}async function _I(t,e,r,n=0){let o=await t.get(e),s=[{event:o,depth:n}],{parents:i}=o.value;if(i.length===1&&String(i[0])===String(r))return s;let a=await Promise.all(i.map(c=>_I(t,c,r,n+1)));return s.concat(...a)}var Ip=De(Fr(),1);function KM(t){return t[Symbol.asyncIterator]!=null}function ZM(t){if(KM(t))return(async()=>{let r;for await(let n of t)r=n;return r})();let e;for(let r of t)e=r;return e}var TI=ZM;var dB=De(Fr(),1);var CI=0,JM="identity",II=jt,QM=t=>bo(CI,II(t)),BI={code:CI,name:JM,encode:II,digest:QM};var PI=De(Fr(),1);var XM=async(t,e,r,n,o,s,i,a)=>{let c=await i.get(t,a),u=Ge(c),l=u,d=r;for(;n.length>0;){let p=n[0];if(p in l){n.shift(),d=`${d}/${p}`;let f=ve.asCID(l[p]);if(f!=null)return{entry:{type:"object",name:e,path:r,cid:t,node:c,depth:s,size:BigInt(c.length),content:async function*(){yield u}},next:{cid:f,name:p,path:d,toResolve:n}};l=l[p]}else throw(0,PI.default)(new Error(`No property named ${p} found in cbor node ${t}`),"ERR_NO_PROP")}return{entry:{type:"object",name:e,path:r,cid:t,node:c,depth:s,size:BigInt(c.length),content:async function*(){yield u}}}},LI=XM;var UI=De(Fr(),1);var mt=class extends Event{constructor(e,r){super(e),this.detail=r}};function YM(t,e,r,n){let o=BigInt(t.length),s=BigInt(e+o);return r>=s||n<e?new Uint8Array(0):(n>=e&&n<s&&(t=t.subarray(0,Number(n-e))),r>=e&&r<s&&(t=t.subarray(Number(r-e))),t)}var Ls=YM;var tl=De(Fr(),1),eF=(t,e=0,r=t)=>{let n=BigInt(t),o=BigInt(e??0),s=BigInt(r);if(s!==n&&(s=o+s),s>n&&(s=n),o<0n)throw(0,tl.default)(new Error("Offset must be greater than or equal to 0"),"ERR_INVALID_PARAMS");if(o>n)throw(0,tl.default)(new Error("Offset must be less than the file size"),"ERR_INVALID_PARAMS");if(s<0n)throw(0,tl.default)(new Error("Length must be greater than or equal to 0"),"ERR_INVALID_PARAMS");if(s>n)throw(0,tl.default)(new Error("Length must be less than the file size"),"ERR_INVALID_PARAMS");return{start:o,end:s}},Ta=eF;var tF=t=>{async function*e(r={}){let{start:n,end:o}=Ta(t.length,r.offset,r.length),s=Ls(t,0n,n,o);r.onProgress?.(new mt("unixfs:exporter:progress:identity",{bytesRead:BigInt(s.byteLength),totalBytes:o-n,fileSize:BigInt(t.byteLength)})),yield s}return e},rF=async(t,e,r,n,o,s,i,a)=>{if(n.length>0)throw(0,UI.default)(new Error(`No link named ${r} found in raw node ${t}`),"ERR_NOT_FOUND");let c=Rl(t.multihash.bytes);return{entry:{type:"identity",name:e,path:r,cid:t,content:tF(c.digest),depth:s,size:BigInt(c.digest.length),node:c.digest}}},RI=rF;var NI=De(Fr(),1);var nF=t=>{async function*e(r={}){let{start:n,end:o}=Ta(t.length,r.offset,r.length),s=Ls(t,0n,n,o);r.onProgress?.(new mt("unixfs:exporter:progress:raw",{bytesRead:BigInt(s.byteLength),totalBytes:o-n,fileSize:BigInt(t.byteLength)})),yield s}return e},oF=async(t,e,r,n,o,s,i,a)=>{if(n.length>0)throw(0,NI.default)(new Error(`No link named ${r} found in raw node ${t}`),"ERR_NOT_FOUND");let c=await i.get(t,a);return{entry:{type:"raw",name:e,path:r,cid:t,content:nF(c),depth:s,size:BigInt(c.length),node:c}}},OI=oF;var sl=De(Fr(),1);var p0=De(Fr(),1);var u0=De(Kf(),1),$I=De(bb(),1),MI=De(sn(),1),l0=De(Vf(),1),FI=De(yb(),1);function sF(){MI.default._configure(),u0.default._configure($I.default),l0.default._configure(FI.default)}sF();var zI=["uint64","int64","sint64","fixed64","sfixed64"];function iF(t){for(let e of zI){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function d0(t){return iF(new u0.default(t))}function aF(t){for(let e of zI){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function f0(){return aF(l0.default.create())}function rl(t,e){let r=d0(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function nl(t,e){let r=f0();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var Ca;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(Ca||(Ca={}));function Sp(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function h0(t){function e(o){if(t[o.toString()]==null)throw new Error("Invalid enum value");return t[o]}let r=function(s,i){let a=e(s);i.int32(a)},n=function(s){let i=s.int32();return e(i)};return Sp("enum",Ca.VARINT,r,n)}function ol(t,e){return Sp("message",Ca.LENGTH_DELIMITED,t,e)}var mr;(function(t){let e;(function(o){o.Raw="Raw",o.Directory="Directory",o.File="File",o.Metadata="Metadata",o.Symlink="Symlink",o.HAMTShard="HAMTShard"})(e=t.DataType||(t.DataType={}));let r;(function(o){o[o.Raw=0]="Raw",o[o.Directory=1]="Directory",o[o.File=2]="File",o[o.Metadata=3]="Metadata",o[o.Symlink=4]="Symlink",o[o.HAMTShard=5]="HAMTShard"})(r||(r={})),function(o){o.codec=()=>h0(r)}(e=t.DataType||(t.DataType={}));let n;t.codec=()=>(n==null&&(n=ol((o,s,i={})=>{if(i.lengthDelimited!==!1&&s.fork(),o.Type!=null&&(s.uint32(8),t.DataType.codec().encode(o.Type,s)),o.Data!=null&&(s.uint32(18),s.bytes(o.Data)),o.filesize!=null&&(s.uint32(24),s.uint64(o.filesize)),o.blocksizes!=null)for(let a of o.blocksizes)s.uint32(32),s.uint64(a);o.hashType!=null&&(s.uint32(40),s.uint64(o.hashType)),o.fanout!=null&&(s.uint32(48),s.uint64(o.fanout)),o.mode!=null&&(s.uint32(56),s.uint32(o.mode)),o.mtime!=null&&(s.uint32(66),Ep.codec().encode(o.mtime,s)),i.lengthDelimited!==!1&&s.ldelim()},(o,s)=>{let i={blocksizes:[]},a=s==null?o.len:o.pos+s;for(;o.pos<a;){let c=o.uint32();switch(c>>>3){case 1:i.Type=t.DataType.codec().decode(o);break;case 2:i.Data=o.bytes();break;case 3:i.filesize=o.uint64();break;case 4:i.blocksizes.push(o.uint64());break;case 5:i.hashType=o.uint64();break;case 6:i.fanout=o.uint64();break;case 7:i.mode=o.uint32();break;case 8:i.mtime=Ep.codec().decode(o,o.uint32());break;default:o.skipType(c&7);break}}return i})),n),t.encode=o=>nl(o,t.codec()),t.decode=o=>rl(o,t.codec())})(mr||(mr={}));var Ep;(function(t){let e;t.codec=()=>(e==null&&(e=ol((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Seconds!=null&&(n.uint32(8),n.int64(r.Seconds)),r.FractionalNanoseconds!=null&&(n.uint32(21),n.fixed32(r.FractionalNanoseconds)),o.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let o={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let i=r.uint32();switch(i>>>3){case 1:o.Seconds=r.int64();break;case 2:o.FractionalNanoseconds=r.fixed32();break;default:r.skipType(i&7);break}}return o})),e),t.encode=r=>nl(r,t.codec()),t.decode=r=>rl(r,t.codec())})(Ep||(Ep={}));var jI;(function(t){let e;t.codec=()=>(e==null&&(e=ol((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.MimeType!=null&&(n.uint32(10),n.string(r.MimeType)),o.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let o={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let i=r.uint32();switch(i>>>3){case 1:o.MimeType=r.string();break;default:r.skipType(i&7);break}}return o})),e),t.encode=r=>nl(r,t.codec()),t.decode=r=>rl(r,t.codec())})(jI||(jI={}));var WI={Raw:"raw",Directory:"directory",File:"file",Metadata:"metadata",Symlink:"symlink",HAMTShard:"hamt-sharded-directory"},cF=["directory","hamt-sharded-directory"],HI=parseInt("0644",8),qI=parseInt("0755",8),Ia=class t{constructor(e={type:"file"}){w(this,"type");w(this,"data");w(this,"blockSizes");w(this,"hashType");w(this,"fanout");w(this,"mtime");w(this,"_mode");w(this,"_originalMode");let{type:r,data:n,blockSizes:o,hashType:s,fanout:i,mtime:a,mode:c}=e;if(r!=null&&!Object.values(WI).includes(r))throw(0,p0.default)(new Error("Type: "+r+" is not valid"),"ERR_INVALID_TYPE");this.type=r??"file",this.data=n,this.hashType=s,this.fanout=i,this.blockSizes=o??[],this._originalMode=0,this.mode=c,this.mtime=a}static unmarshal(e){let r=mr.decode(e),n=new t({type:WI[r.Type!=null?r.Type.toString():"File"],data:r.Data,blockSizes:r.blocksizes,mode:r.mode,mtime:r.mtime!=null?{secs:r.mtime.Seconds??0n,nsecs:r.mtime.FractionalNanoseconds}:void 0});return n._originalMode=r.mode??0,n}set mode(e){e==null?this._mode=this.isDirectory()?qI:HI:this._mode=e&4095}get mode(){return this._mode}isDirectory(){return cF.includes(this.type)}addBlockSize(e){this.blockSizes.push(e)}removeBlockSize(e){this.blockSizes.splice(e,1)}fileSize(){if(this.isDirectory())return 0n;let e=0n;return this.blockSizes.forEach(r=>{e+=r}),this.data!=null&&(e+=BigInt(this.data.length)),e}marshal(){let e;switch(this.type){case"raw":e=mr.DataType.Raw;break;case"directory":e=mr.DataType.Directory;break;case"file":e=mr.DataType.File;break;case"metadata":e=mr.DataType.Metadata;break;case"symlink":e=mr.DataType.Symlink;break;case"hamt-sharded-directory":e=mr.DataType.HAMTShard;break;default:throw(0,p0.default)(new Error(`Type: ${e} is not valid`),"ERR_INVALID_TYPE")}let r=this.data;(this.data==null||this.data.length===0)&&(r=void 0);let n;this.mode!=null&&(n=this._originalMode&4294963200|(this.mode??0),n===HI&&!this.isDirectory()&&(n=void 0),n===qI&&this.isDirectory()&&(n=void 0));let o;return this.mtime!=null&&(o={Seconds:this.mtime.secs,FractionalNanoseconds:this.mtime.nsecs}),mr.encode({Type:e,Data:r,filesize:this.isDirectory()?void 0:this.fileSize(),blocksizes:this.blockSizes,hashType:this.hashType,fanout:this.fanout,mode:n,mtime:o})}};var ZI=De(KI(),1);var Us=class t{constructor(e,r,n=0){this._options=e,this._popCount=0,this._parent=r,this._posAtParent=n,this._children=new ZI.default,this.key=null}async put(e,r){let n=await this._findNewBucketAndPos(e);await n.bucket._putAt(n,e,r)}async get(e){let r=await this._findChild(e);if(r!=null)return r.value}async del(e){let r=await this._findPlace(e),n=r.bucket._at(r.pos);n!=null&&n.key===e&&r.bucket._delAt(r.pos)}leafCount(){return this._children.compactArray().reduce((r,n)=>n instanceof t?r+n.leafCount():r+1,0)}childrenCount(){return this._children.length}onlyChild(){return this._children.get(0)}*eachLeafSeries(){let e=this._children.compactArray();for(let r of e)r instanceof t?yield*r.eachLeafSeries():yield r}serialize(e,r){let n=[];return r(this._children.reduce((o,s,i)=>(s!=null&&(s instanceof t?o.push(s.serialize(e,r)):o.push(e(s,i))),o),n))}async asyncTransform(e,r){return await JI(this,e,r)}toJSON(){return this.serialize(hF,pF)}prettyPrint(){return JSON.stringify(this.toJSON(),null," ")}tableSize(){return Math.pow(2,this._options.bits)}async _findChild(e){let r=await this._findPlace(e),n=r.bucket._at(r.pos);if(!(n instanceof t)&&n!=null&&n.key===e)return n}async _findPlace(e){let r=this._options.hash(typeof e=="string"?Xr(e):e),n=await r.take(this._options.bits),o=this._children.get(n);return o instanceof t?await o._findPlace(r):{bucket:this,pos:n,hash:r,existingChild:o}}async _findNewBucketAndPos(e){let r=await this._findPlace(e);if(r.existingChild!=null&&r.existingChild.key!==e){let n=new t(this._options,r.bucket,r.pos);r.bucket._putObjectAt(r.pos,n);let o=await n._findPlace(r.existingChild.hash);return o.bucket._putAt(o,r.existingChild.key,r.existingChild.value),await n._findNewBucketAndPos(r.hash)}return r}_putAt(e,r,n){this._putObjectAt(e.pos,{key:r,value:n,hash:e.hash})}_putObjectAt(e,r){this._children.get(e)==null&&this._popCount++,this._children.set(e,r)}_delAt(e){if(e===-1)throw new Error("Invalid position");this._children.get(e)!=null&&this._popCount--,this._children.unset(e),this._level()}_level(){if(this._parent!=null&&this._popCount<=1)if(this._popCount===1){let e=this._children.find(fF);if(e!=null&&!(e instanceof t)){let r=e.hash;r.untake(this._options.bits);let n={pos:this._posAtParent,hash:r,bucket:this._parent};this._parent._putAt(n,e.key,e.value)}}else this._parent._delAt(this._posAtParent)}_at(e){return this._children.get(e)}};function fF(t){return!!t}function hF(t,e){return t.key}function pF(t){return t}async function JI(t,e,r){let n=[];for(let o of t._children.compactArray())if(o instanceof Us)await JI(o,e,r);else{let s=await e(o);n.push({bitField:t._children.bitField(),children:s})}return await r(n)}var mF=[255,254,252,248,240,224,192,128],yF=[1,3,7,15,31,63,127,255],_p=class{constructor(e){this._value=e,this._currentBytePos=e.length-1,this._currentBitPos=7}availableBits(){return this._currentBitPos+1+this._currentBytePos*8}totalBits(){return this._value.length*8}take(e){let r=e,n=0;for(;r>0&&this._haveBits();){let o=this._value[this._currentBytePos],s=this._currentBitPos+1,i=Math.min(s,r),a=gF(o,s-i,i);n=(n<<i)+a,r-=i,this._currentBitPos-=i,this._currentBitPos<0&&(this._currentBitPos=7,this._currentBytePos--)}return n}untake(e){for(this._currentBitPos+=e;this._currentBitPos>7;)this._currentBitPos-=8,this._currentBytePos+=1}_haveBits(){return this._currentBytePos>=0}};function gF(t,e,r){let n=wF(e,r);return(t&n)>>>e}function wF(t,e){return mF[t]&yF[Math.min(e+t-1,7)]}function QI(t){function e(r){return r instanceof Ap?r:new Ap(r,t)}return e}var Ap=class{constructor(e,r){if(!(e instanceof Uint8Array))throw new Error("can only hash Uint8Arrays");this._value=e,this._hashFn=r,this._depth=-1,this._availableBits=0,this._currentBufferIndex=0,this._buffers=[]}async take(e){let r=e;for(;this._availableBits<r;)await this._produceMoreBits();let n=0;for(;r>0;){let o=this._buffers[this._currentBufferIndex],s=Math.min(o.availableBits(),r),i=o.take(s);n=(n<<s)+i,r-=s,this._availableBits-=s,o.availableBits()===0&&this._currentBufferIndex++}return n}untake(e){let r=e;for(;r>0;){let n=this._buffers[this._currentBufferIndex],o=Math.min(n.totalBits()-n.availableBits(),r);n.untake(o),r-=o,this._availableBits+=o,this._currentBufferIndex>0&&n.totalBits()===n.availableBits()&&(this._depth--,this._currentBufferIndex--)}}async _produceMoreBits(){this._depth++;let e=this._depth>0?Xg([this._value,Uint8Array.from([this._depth])]):this._value,r=await this._hashFn(e),n=new _p(r);this._buffers.push(n),this._availableBits+=n.availableBits()}};function XI(t){if(t==null||t.hashFn==null)throw new Error("please define an options.hashFn");let e={bits:t.bits??8,hash:QI(t.hashFn)};return new Us(e)}var bF=async function(t){return(await sT.encode(t)).slice(0,8).reverse()},xF=async(t,e,r)=>{await Promise.all(t.map(async n=>{if(n.Name==null)throw new Error("Unexpected Link without a Name");if(n.Name.length===2){let o=parseInt(n.Name,16);e._putObjectAt(o,new Us({hash:r._options.hash,bits:r._options.bits},e,o));return}await r.put(n.Name.substring(2),!0)}))},YI=t=>t.toString(16).toUpperCase().padStart(2,"0").substring(0,2),kF=t=>{let e=t.bucket,r=[];for(;e._parent!=null;)r.push(e),e=e._parent;return r.push(e),r.reverse()},eB=async(t,e,r,n,o)=>{if(n==null){let l=XI({hashFn:bF});n={rootBucket:l,hamtDepth:1,lastBucket:l}}await xF(t.Links,n.lastBucket,n.rootBucket);let s=await n.rootBucket._findNewBucketAndPos(e),i=YI(s.pos),a=kF(s);a.length>n.hamtDepth&&(n.lastBucket=a[n.hamtDepth],i=YI(n.lastBucket._posAtParent));let c=t.Links.find(l=>{if(l.Name==null)return!1;let d=l.Name.substring(0,2),p=l.Name.substring(2);return!(d!==i||p!==""&&p!==e)});if(c==null)return;if(c.Name!=null&&c.Name.substring(2)===e)return c.Hash;n.hamtDepth++;let u=await r.get(c.Hash,o);return t=Cr(u),eB(t,e,r,n,o)},tB=eB;function vF(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:o=>{n.push(o)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var Dp=vF;function SF(t){return t[Symbol.asyncIterator]!=null}function EF(t,e){if(SF(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=Dp(t),{value:n,done:o}=r.next();if(o===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){await s&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let i=e;return function*(){s===!0&&(yield n);for(let a of r)i(a)&&(yield a)}()}var rB=EF;function _F(t){return t[Symbol.asyncIterator]!=null}function AF(t,e){if(_F(t))return async function*(){for await(let a of t)yield e(a)}();let r=Dp(t),{value:n,done:o}=r.next();if(o===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){yield await s;for await(let a of r)yield e(a)}();let i=e;return function*(){yield s;for(let a of r)yield i(a)}()}var Ba=AF;var Tp=globalThis.CustomEvent??Event;async function*Rs(t,e={}){let r=e.concurrency??1/0;r<1&&(r=1/0);let n=e.ordered==null?!1:e.ordered,o=new EventTarget,s=[],i=ft(),a=ft(),c=!1,u,l=!1;o.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let h of t){if(s.length===r&&(i=ft(),await i.promise),l)break;let m={done:!1};s.push(m),h().then(b=>{m.done=!0,m.ok=!0,m.value=b,o.dispatchEvent(new Tp("task-complete"))},b=>{m.done=!0,m.err=b,o.dispatchEvent(new Tp("task-complete"))})}c=!0,o.dispatchEvent(new Tp("task-complete"))}catch(h){u=h,o.dispatchEvent(new Tp("task-complete"))}});function d(){return n?s[0]?.done:!!s.find(h=>h.done)}function*p(){for(;s.length>0&&s[0].done;){let h=s[0];if(s.shift(),h.ok)yield h.value;else throw l=!0,i.resolve(),h.err;i.resolve()}}function*f(){for(;d();)for(let h=0;h<s.length;h++)if(s[h].done){let m=s[h];if(s.splice(h,1),h--,m.ok)yield m.value;else throw l=!0,i.resolve(),m.err;i.resolve()}}for(;;){if(d()||(a=ft(),await a.promise),u!=null)throw u;if(n?yield*p():yield*f(),c&&s.length===0)break}}var Cp=class{constructor(e){w(this,"buffer");w(this,"mask");w(this,"top");w(this,"btm");w(this,"next");if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},Pa=class{constructor(e={}){w(this,"size");w(this,"hwm");w(this,"head");w(this,"tail");this.hwm=e.splitLimit??16,this.head=new Cp(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new Cp(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var m0=class extends Error{constructor(r,n){super(r??"The operation was aborted");w(this,"type");w(this,"code");this.type="aborted",this.code=n??"ABORT_ERR"}};function La(t={}){return DF(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function DF(t,e){e=e??{};let r=e.onEnd,n=new Pa,o,s,i,a=ft(),c=async()=>{try{return n.isEmpty()?i?{done:!0}:await new Promise((b,g)=>{s=k=>{s=null,n.push(k);try{b(t(n))}catch(E){g(E)}return o}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=ft()})}},u=b=>s!=null?s(b):(n.push(b),o),l=b=>(n=new Pa,s!=null?s({error:b}):(n.push({error:b}),o)),d=b=>{if(i)return o;if(e?.objectMode!==!0&&b?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:b})},p=b=>i?o:(i=!0,b!=null?l(b):u({done:!0})),f=()=>(n=new Pa,p(),{done:!0}),h=b=>(p(b),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:c,return:f,throw:h,push:d,end:p,get readableLength(){return n.size},onEmpty:async b=>{let g=b?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let k,E;g!=null&&(k=new Promise((_,P)=>{E=()=>{P(new m0)},g.addEventListener("abort",E)}));try{await Promise.race([a.promise,k])}finally{E!=null&&g!=null&&g?.removeEventListener("abort",E)}}},r==null)return o;let m=o;return o={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(b){return m.throw(b),r!=null&&(r(b),r=void 0),{done:!0}},return(){return m.return(),r!=null&&(r(),r=void 0),{done:!0}},push:d,end(b){return m.end(b),r!=null&&(r(b),r=void 0),o},get readableLength(){return m.readableLength}},o}function TF(t){return t[Symbol.asyncIterator]!=null}function CF(...t){let e=[];for(let r of t)TF(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=La({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let o of n)r.push(o)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var nB=CF;function Ua(t,...e){if(t==null)throw new Error("Empty pipeline");if(y0(t)){let n=t;t=()=>n.source}else if(sB(t)||oB(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&y0(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)y0(r[n])&&(r[n]=BF(r[n]));return IF(...r)}var IF=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},oB=t=>t?.[Symbol.asyncIterator]!=null,sB=t=>t?.[Symbol.iterator]!=null,y0=t=>t==null?!1:t.sink!=null&&t.source!=null,BF=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=La({objectMode:!0});r.then(()=>{n.end()},i=>{n.end(i)});let o,s=t.source;if(oB(s))o=async function*(){yield*s,n.end()};else if(sB(s))o=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return nB(n,o())}return t.source};var PF=(t,e,r,n,o,s,i)=>{async function*a(c={}){let u=c.offset??0,l=c.length??e.Links.length,d=e.Links.slice(u,l);c.onProgress?.(new mt("unixfs:exporter:walk:directory",{cid:t})),yield*Ua(d,p=>Ba(p,f=>async()=>{let h=f.Name??"",m=`${n}/${h}`;return(await o(f.Hash,h,m,[],s+1,i,c)).entry}),p=>Rs(p,{ordered:!0}),p=>rB(p,f=>f!=null))}return a},iB=PF;var Ns=De(Fr(),1);async function aB(t,e,r,n,o,s,i){if(e instanceof Uint8Array){let u=Ls(e,n,o,s);r.push(u);return}if(e.Data==null)throw(0,Ns.default)(new Error("no data in PBNode"),"ERR_NOT_UNIXFS");let a;try{a=Ia.unmarshal(e.Data)}catch(u){throw(0,Ns.default)(u,"ERR_NOT_UNIXFS")}if(a.data!=null){let u=a.data,l=Ls(u,n,o,s);r.push(l),n+=BigInt(l.byteLength)}let c=[];if(e.Links.length!==a.blockSizes.length)throw(0,Ns.default)(new Error("Inconsistent block sizes and dag links"),"ERR_NOT_UNIXFS");for(let u=0;u<e.Links.length;u++){let l=e.Links[u],d=n,p=d+a.blockSizes[u];if((o>=d&&o<p||s>=d&&s<=p||o<d&&s>p)&&c.push({link:l,blockStart:n}),n=p,n>s)break}await Ua(c,u=>Ba(u,l=>async()=>{let d=await t.get(l.link.Hash,i);return{...l,block:d}}),u=>Rs(u,{ordered:!0}),async u=>{for await(let{link:l,block:d,blockStart:p}of u){let f;switch(l.Hash.code){case Qn:f=Cr(d);break;case Gu:f=d;break;default:r.end((0,Ns.default)(new Error(`Unsupported codec: ${l.Hash.code}`),"ERR_NOT_UNIXFS"));return}let h=new ps({concurrency:1});h.on("error",m=>{r.end(m)}),h.add(async()=>{i.onProgress?.(new mt("unixfs:exporter:walk:file",{cid:l.Hash})),await aB(t,f,r,p,o,s,i)}),await h.onIdle()}}),n>=s&&r.end()}var LF=(t,e,r,n,o,s,i)=>{async function*a(c={}){let u=r.fileSize();if(u===void 0)throw new Error("File was a directory");let{start:l,end:d}=Ta(u,c.offset,c.length);if(d===0n)return;let p=0n,f=d-l,h=La();c.onProgress?.(new mt("unixfs:exporter:walk:file",{cid:t})),aB(i,e,h,0n,l,d,c).catch(m=>{h.end(m)});for await(let m of h)if(m!=null){if(p+=BigInt(m.byteLength),p>f)throw h.end(),(0,Ns.default)(new Error("Read too many bytes - the file size reported by the UnixFS data in the root node may be incorrect"),"ERR_OVER_READ");p===f&&h.end(),c.onProgress?.(new mt("unixfs:exporter:progress:unixfs:file",{bytesRead:p,totalBytes:f,fileSize:u})),yield m}if(p<f)throw(0,Ns.default)(new Error("Traversed entire DAG but did not read enough bytes"),"ERR_UNDER_READ")}return a},g0=LF;var UF=(t,e,r,n,o,s,i)=>{function a(c={}){return c.onProgress?.(new mt("unixfs:exporter:walk:hamt-sharded-directory",{cid:t})),cB(e,n,o,s,i,c)}return a};async function*cB(t,e,r,n,o,s){let i=t.Links,a=Ua(i,c=>Ba(c,u=>async()=>{let l=u.Name!=null?u.Name.substring(2):null;if(l!=null&&l!==""){let d=await r(u.Hash,l,`${e}/${l}`,[],n+1,o,s);return{entries:d.entry==null?[]:[d.entry]}}else{let d=await o.get(u.Hash,s);return t=Cr(d),s.onProgress?.(new mt("unixfs:exporter:walk:hamt-sharded-directory",{cid:u.Hash})),{entries:cB(t,e,r,n,o,s)}}}),c=>Rs(c,{ordered:!0}));for await(let{entries:c}of a)yield*c}var uB=UF;var RF=(t,e)=>t.Links.find(n=>n.Name===e)?.Hash,NF={raw:g0,file:g0,directory:iB,"hamt-sharded-directory":uB,metadata:(t,e,r,n,o,s,i)=>()=>[],symlink:(t,e,r,n,o,s,i)=>()=>[]},OF=async(t,e,r,n,o,s,i,a)=>{let c=await i.get(t,a),u=Cr(c),l,d;if(e==null&&(e=t.toString()),u.Data==null)throw(0,sl.default)(new Error("no data in PBNode"),"ERR_NOT_UNIXFS");try{l=Ia.unmarshal(u.Data)}catch(f){throw(0,sl.default)(f,"ERR_NOT_UNIXFS")}if(r==null&&(r=e),n.length>0){let f;if(l?.type==="hamt-sharded-directory"?f=await tB(u,n[0],i):f=RF(u,n[0]),f==null)throw(0,sl.default)(new Error("file does not exist"),"ERR_NOT_FOUND");let h=n.shift(),m=`${r}/${h}`;d={cid:f,toResolve:n,name:h??"",path:m}}let p=NF[l.type](t,u,l,r,o,s,i);if(p==null)throw(0,sl.default)(new Error("could not find content exporter"),"ERR_NOT_FOUND");return l.isDirectory()?{entry:{type:"directory",name:e,path:r,cid:t,content:p,unixfs:l,depth:s,node:u,size:l.fileSize()},next:d}:{entry:{type:"file",name:e,path:r,cid:t,content:p,unixfs:l,depth:s,node:u,size:l.fileSize()},next:d}},lB=OF;var $F={[Qn]:lB,[Gu]:OI,[Tt]:LI,[BI.code]:RI},fB=async(t,e,r,n,o,s,i)=>{let a=$F[t.code];if(a==null)throw(0,dB.default)(new Error(`No resolver for code ${t.code}`),"ERR_NO_RESOLVER");return a(t,e,r,n,fB,o,s,i)},hB=fB;var MF=(t="")=>(t.trim().match(/([^\\^/]|\\\/)+/g)??[]).filter(Boolean),FF=t=>{if(t instanceof Uint8Array)return{cid:ve.decode(t),toResolve:[]};let e=ve.asCID(t);if(e!=null)return{cid:e,toResolve:[]};if(typeof t=="string"){t.indexOf("/ipfs/")===0&&(t=t.substring(6));let r=MF(t);return{cid:ve.parse(r[0]),toResolve:r.slice(1)}}throw(0,Ip.default)(new Error(`Unknown path type ${t}`),"ERR_BAD_PATH")};async function*zF(t,e,r={}){let{cid:n,toResolve:o}=FF(t),s=n.toString(),i=s,a=o.length;for(;;){let c=await hB(n,s,i,o,a,e,r);if(c.entry==null&&c.next==null)throw(0,Ip.default)(new Error(`Could not resolve ${t}`),"ERR_NOT_FOUND");if(c.entry!=null&&(yield c.entry),c.next==null)return;o=c.next.toResolve,n=c.next.cid,s=c.next.name,i=c.next.path}}async function pB(t,e,r={}){let n=await TI(zF(t,e,r));if(n==null)throw(0,Ip.default)(new Error(`Could not resolve ${t}`),"ERR_NOT_FOUND");return n}var jF=Sh(),WF=Lr({fileChunkEncoder:ao,smallFileEncoder:ao,chunker:cu(1024*1024),fileLayout:oa(1024)});async function mB(t){let e=HF(t),r=await qF(e);return{cid:r.at(-1).cid,blocks:r}}async function yB(t,e,r){let n=await pB(e.toString(),t,{length:r.size}),o=[];for await(let s of n.content())o.push(s);return new File(o,n.name,{type:r.type,lastModified:0})}function HF(t){let{readable:e,writable:r}=new TransformStream({},jF),n=vu({writable:r,settings:WF}),o=new w0("",t);return(async()=>(await o.finalize(n),await n.close()))(),e}async function qF(t){let e=[];return await t.pipeTo(new WritableStream({write(r){e.push(r)}})),e}var il,w0=class{constructor(e,r){ke(this,il,void 0);w(this,"name");this.name=e,fe(this,il,r)}async finalize(e){let r=ds(e);return await $(this,il).stream().pipeTo(new WritableStream({async write(n){await r.write(n)}})),await r.close()}};il=new WeakMap;async function bB(t,e,r,n){let o;for(let s of r){let i=await VF(t,s);o=await vI(t,e,s.key,i,n);let a=o.root.toString();o.additions.some(u=>u.cid.toString()===a)||await t.get(o.root)||(console.error(`missing root in additions: ${o.additions.length} ${a} keys: ${r.map(l=>l.key).toString()}`),o.head=e);for(let{cid:u,bytes:l}of[...o.additions,...o.removals,o.event])t.putSync(u,l);e=o.head}return{head:e}}async function VF(t,e){let r;e.del?r={del:!0}:(await GF(t,e.value),r={doc:e.value});let n=await Nr({value:r,hasher:kt,codec:Te});return t.putSync(n.cid,n.bytes),n.cid}async function GF(t,e){e._files&&await gB(t,e._files),e._publicFiles&&await gB(t,e._publicFiles,!0)}async function gB(t,e,r=!1){let n=t.parent,o=new lo(n);n.transactions.add(o);let s=[],i=0;for(let a in e)if(File===e[a].constructor){let c=e[a];i+=c.size;let{cid:u,blocks:l}=await mB(c);s.push(a);for(let d of l)o.putSync(d.cid,d.bytes);e[a]={cid:u,type:c.type,size:c.size}}if(i>1024*1024*1)throw new Error("Sync limit for files in a single update is 1MB");if(s.length){let a=await n.loader?.commit(o,{files:e},{public:r});if(a)for(let c of s)e[c]={car:a,...e[c]}}}async function xB(t,e,r){if(!e.length)throw new Error("Getting from an empty database");let n=await SI(t,e,r);if(!n)throw new Error(`Missing key ${r}`);return await v0(t,n)}function k0(t,{doc:e}){e&&(e._files&&wB(t,e._files),e._publicFiles&&wB(t,e._publicFiles,!0))}function wB(t,e,r=!1){for(let n in e){let o=e[n];if(o.cid&&(r&&(o.url=`https://${o.cid.toString()}.ipfs.w3s.link/`),o.car&&t.loader)){let s=t.loader;o.file=async()=>await yB({get:async i=>{let c=await(await s.loadFileCar(o.car,r)).get(i);if(!c)throw new Error(`Missing block ${i.toString()}`);return c.bytes}},o.cid,o)}e[n]=o}}async function v0(t,e){let r=await t.get(e);if(!r)throw new Error(`Missing linked block ${e.toString()}`);let{value:n}=await io({bytes:r.bytes,hasher:kt,codec:Te});return k0(t,n),n}var b0=class extends $r{async get(e){try{return await super.get(e)}catch(r){return console.error("missing event",e.toString(),r),{value:null}}}};async function al(t,e,r,n){let o=n.dirty?new b0(t):new $r(t);return{result:(await x0(t,o,e,r,[],new Set,new Set,n.limit||1/0)).reverse(),head:e}}async function x0(t,e,r,n,o=[],s,i,a){if(a<=0)return o;let c=r.map(u=>u.toString());for(let u of n)if(c.includes(u.toString()))return o;for(let u of r){if(i.has(u.toString()))continue;i.add(u.toString());let{value:l}=await e.get(u);if(!l)continue;let{key:d,value:p}=l.data;if(s.has(d))l.parents&&(o=await x0(t,e,l.parents,n,o,s,i,a));else{s.add(d);let f=await v0(t,p);o.push({key:d,value:f.doc,del:f.del}),a--,l.parents&&(o=await x0(t,e,l.parents,n,o,s,i,a))}}return o}async function*kB(t,e){for await(let[r,n]of a0(t,e)){let o=await v0(t,n);yield{key:r,value:o.doc,del:o.del}}}async function*vB(t,e){for await(let r of o0(t,e))yield r}async function SB(t,e){let r=new xp(t),n=new lo(t);for await(let[,s]of a0(r,e))if(!await r.get(s))throw new Error("Missing block: "+s.toString());for await(let s of o0(r,e));let o=await Da(r,e);for(let{cid:s,bytes:i}of[...o.additions,...o.removals])n.putSync(s,i);await al(r,e,[],{});for(let s of r.cids){let i=await t.get(s);if(!i)throw new Error("Missing block: "+s.toString());await n.put(s,i.bytes)}await t.commitCompaction(n,e)}var Bp=class{constructor(){w(this,"head",[]);w(this,"zoomers",new Set);w(this,"watchers",new Set);w(this,"blocks",null)}setHead(e){this.head=e}async applyHead(e,r,n,o=null){let s=this.head.sort((u,l)=>u.toString().localeCompare(l.toString()));if(r=r.sort((u,l)=>u.toString().localeCompare(l.toString())),s.toString()===r.toString()){this.watchers.forEach(u=>u(o||[]));return}let i=n.sort((u,l)=>u.toString().localeCompare(l.toString()));if(s.toString()===i.toString()){this.setHead(r),this.watchers.forEach(u=>u(o||[]));return}let a=async(u,l)=>{if(u instanceof lo)return await l(u);if(!this.blocks)throw new Error("missing blocks");return await this.blocks.transaction(l,void 0,{noLoader:!0})},{head:c}=await a(e,async u=>{let l=this.head;for(let p of r)l=await Xu(u,l,p);let d=await Da(u,l);for(let{cid:p,bytes:f}of[...d.additions,...d.removals])u.putSync(p,f);return{head:l}});this.watchers.size&&!o&&(o=(await al(this.blocks,c,n,{})).result),this.setHead(c),this.zoomers.forEach(u=>u()),this.watchers.forEach(u=>u(o||[]))}onTick(e){this.watchers.add(e)}onZoom(e){this.zoomers.add(e)}};var Pp=class{constructor(e,r){w(this,"name");w(this,"opts",{});w(this,"ready");w(this,"blocks");w(this,"indexBlocks");w(this,"indexers",new Map);w(this,"clock",new Bp);this.name=e||null,this.opts=r||this.opts,this.blocks=new bp(this.name,this.clock,this.opts),this.clock.blocks=this.blocks,this.indexBlocks=new wp(this.opts.persistIndexes&&this.name?this.name+".idx":null,this,this.opts),this.ready=Promise.all([this.blocks.ready,this.indexBlocks.ready]).then(()=>{}),this.clock.onZoom(()=>{for(let n of this.indexers.values())n._resetIndex()})}async bulk(e,r){return await this.ready,await this.blocks.transaction(async n=>{let o=[...this.clock.head],{head:s}=await bB(n,this.clock.head,e,r);return e=e.map(({key:i,value:a,del:c})=>(k0(this.blocks,{doc:a}),{key:i,value:a,del:c})),await this.clock.applyHead(n,s,o,e),{head:s}})}async allDocs(){await this.ready;let e=[];for await(let r of kB(this.blocks,this.clock.head))e.push(r);return{result:e,head:this.clock.head}}async vis(){await this.ready;let e=[];for await(let r of vB(this.blocks,this.clock.head))e.push(r);return e.join(`
|
15
|
-
`)}async get(e){await this.ready;let r=await xB(this.blocks,this.clock.head,e);return r.del?null:r}async changes(e=[],r={}){return await this.ready,await al(this.blocks,this.clock.head,e,r)}async compact(){if(await this.ready,!(this.blocks.loader&&this.blocks.loader.carLog.length<2))return await SB(this.blocks,this.clock.head)}};var Os=class{constructor(e,r){w(this,"name");w(this,"opts",{});w(this,"_listeners",new Set);w(this,"_crdt");w(this,"_writeQueue");this.name=e||null,this.opts=r||this.opts,this._crdt=new Pp(e,this.opts),this._crdt.clock.onTick(n=>{this._notify(n)}),this._writeQueue=DC(async n=>await this._crdt.bulk(n))}async get(e){let r=await this._crdt.get(e).catch(o=>{throw o.message=`Not found: ${e} - `+o.message,o});if(!r)throw new Error(`Not found: ${e}`);let{doc:n}=r;return{_id:e,...n}}async put(e){let{_id:r,...n}=e,o=r||AC(),s=await this._writeQueue.push({key:o,value:n});return{id:o,clock:s?.head}}async del(e){let r=await this._writeQueue.push({key:e,del:!0});return{id:e,clock:r?.head}}async changes(e=[],r={}){let{result:n,head:o}=await this._crdt.changes(e,r);return{rows:n.map(({key:i,value:a,del:c})=>({key:i,value:c?{_id:i,_deleted:!0}:{_id:i,...a}})),clock:o}}subscribe(e){return this._listeners.add(e),()=>{this._listeners.delete(e)}}async query(e,r={}){return await(typeof e=="string"?Qu({_crdt:this._crdt},e):Qu({_crdt:this._crdt},KF(e.toString()),e)).query(r)}async compact(){await this._crdt.compact()}connect(e){return S0.ipfs(this,e)}async getDashboardURL(e=!0){let r="https://dashboard.fireproof.storage/";if(!this._crdt.blocks.loader?.remoteCarStore)return new URL("/howto",r);e&&await this.compact();let n=await this._crdt.blocks.loader?.metaStore?.load();if(!n)throw new Error("Can't sync empty database: save data first");if(n.length>1)throw new Error("Can't sync database with split heads: make an update first");let o=n[0],s={car:o.car.toString()};o.key&&(s.key=o.key.toString()),this.name&&(s.name=this.name);let i=new URL("/import#"+new URLSearchParams(s).toString(),r);return console.log("Import to dashboard: "+i.toString()),i}openDashboard(){this.getDashboardURL().then(e=>{e&&window.open(e.toString(),"_blank")})}async _notify(e){if(this._listeners.size){let r=e.map(({key:n,value:o})=>({_id:n,...o}));for(let n of this._listeners)await(async()=>await n(r))().catch(o=>{console.error("subscriber error",o)})}}};w(Os,"databases",new Map);function EB(t,e){if(!Os.databases.has(t)){let r=new Os(t,e);["get","put","del","changes","subscribe","query","compact","connect","getDashboardURL","openDashboard"].forEach(n=>{r[n]=r[n].bind(r)}),Os.databases.set(t,r)}return Os.databases.get(t)}function KF(t){let e=/\(([^,()]+,\s*[^,()]+|\[[^\]]+\],\s*[^,()]+)\)/g,r=null;return Array.from(t.matchAll(e),o=>o[1].trim()).length===0&&(r=/=>\s*(.*)/.exec(t)),r?r[1]:t}var cl={};F(cl,{Delegation:()=>ho,View:()=>ho,allows:()=>tz,create:()=>A0,delegate:()=>js,exportDAG:()=>_0,importDAG:()=>nz,isDelegation:()=>zs,isLink:()=>ez,view:()=>D0});var dn={};F(dn,{code:()=>Tt,contentType:()=>JF,decode:()=>Ge,encode:()=>$s,link:()=>_B,name:()=>ec,write:()=>QF});var JF="application/vnd.ipld.dag-cbor",Lp=(t,e)=>{if(e.has(t))throw new TypeError("Can not encode circular structure");if(t===void 0&&e.size===0||t===null||typeof t=="symbol"&&e.size===0)return null;if(Se(t)||ArrayBuffer.isView(t))return t;if(Array.isArray(t)){e.add(t);let r=[];for(let n of t)r.push(n===void 0||typeof n=="symbol"?null:Lp(n,e));return r}if(typeof t.toJSON=="function"){e.add(t);let r=t.toJSON();return Lp(r,e)}if(typeof t=="object"){e.add(t);let r={};for(let[n,o]of Object.entries(t))o!==void 0&&typeof o!="symbol"&&(r[n]=Lp(o,e));return r}return t},$s=t=>tr(Lp(t,new Set)),_B=async(t,{hasher:e=ue}={})=>Fe(Tt,await e.digest(t)),QF=async(t,e)=>{let r=$s(t);return{cid:await _B(r,e),bytes:r}};var Ms=function*(t){t&&typeof t=="object"&&"iterateIPLDBlocks"in t&&typeof t.iterateIPLDBlocks=="function"&&(yield*t.iterateIPLDBlocks())},AB=(t=[])=>{let e=new Map;return Rp(t,e),e},XF=Eo.code,fo=(t,e,r)=>{if(t.multihash.code===XF)return{cid:t,bytes:t.multihash.digest};let n=e.get(`${t}`);return n||(r===void 0?Fs(t):r)};var Fs=t=>{throw new Error(`Block for the ${t} is not found`)},Up=async(t,e,r={})=>{let n=r.codec||dn,o=r.hasher||ue,s=n.encode(t),i=await o.digest(s),a=Fe(n.code,i);return e.set(a.toString(),{bytes:s,cid:a}),{bytes:s,cid:a,data:t}},YF=({cid:t,bytes:e},r)=>(r.set(t.toString(),{bytes:e,cid:t}),{bytes:e,cid:t}),Rp=(t,e)=>{for(let r of t)YF(r,e)};var ez=Se,zs=t=>!Se(t),tz=(...t)=>{let e={};for(let r of t)for(let{with:n,can:o,nb:s}of DB(r)){let i=e[n]||(e[n]={});(i[o]||(i[o]=[])).push({...s})}return e},DB=function*({issuer:t,capabilities:e,proofs:r}){for(let n of e)if(n.with==="ucan:*"){yield{...n,with:t.did()};for(let o of r)if(zs(o))for(let s of DB(o)){let i=rz(s.can,n.can);i&&(yield{...s,can:i,nb:{...s.nb,...Object(n.nb)}})}}else yield n},rz=(t,e)=>t==="*"?e:e==="*"||e.endsWith("/*")&&t.startsWith(e.slice(0,-1))?t:t.endsWith("/*")&&e.startsWith(t.slice(0,-1))?e:t===e?t:null,ho=class{constructor(e,r=new Map){this.root=e,this.blocks=r,Object.defineProperties(this,{blocks:{enumerable:!1}})}get attachedLinks(){let e=new Set,r=this.data;for(let n of r.capabilities){let o=sz(n);for(let s of o)e.add(`${s}`)}for(let n of r.facts)if(Se(n))e.add(`${n}`);else{let o=Object.values(n).filter(s=>Se(s));for(let s of o)e.add(`${s}`)}return e}get version(){return this.data.version}get signature(){return this.data.signature}get cid(){return this.root.cid}link(){return this.root.cid}get asCID(){return this.cid}get bytes(){return this.root.bytes}get data(){let e=Np(this.root);return Object.defineProperties(this,{data:{value:e,enumerable:!1}}),e}attach(e){if(!this.attachedLinks.has(`${e.cid.link()}`))throw new Error(`given block with ${e.cid} is not an attached link`);this.blocks.set(`${e.cid}`,e)}export(){return _0(this.root,this.blocks,this.attachedLinks)}iterateIPLDBlocks(){return _0(this.root,this.blocks,this.attachedLinks)}get proofs(){return oz(this)}get issuer(){return this.data.issuer}get audience(){return this.data.audience}get capabilities(){return this.data.capabilities}get expiration(){return this.data.expiration}get notBefore(){return this.data.notBefore}get nonce(){return this.data.nonce}get facts(){return this.data.facts}iterate(){return TB(this)}delegate(){return this}buildIPLDView(){return this}toJSON(){return{...this.data.toJSON(),"/":this.cid.toString(),prf:this.proofs.map(e=>zs(e)?e:{"/":e.toString()})}}},TB=function*(t){for(let e of t.proofs)zs(e)&&(yield*TB(e),yield e)},E0=new WeakMap,Np=({bytes:t})=>{let e=E0.get(t);if(!e){let r=ql(t);return E0.set(t,r),r}return e},js=async({issuer:t,audience:e,proofs:r=[],attachedBlocks:n=new Map,...o},s)=>{let i=[],a=new Map;for(let p of r)if(!zs(p))i.push(p);else{i.push(p.cid);for(let f of p.export())a.set(f.cid.toString(),f)}let c=await gi({...o,issuer:t,audience:e,proofs:i}),{cid:u,bytes:l}=await Vl(c,s);E0.set(u,c);let d=new ho({cid:u,bytes:l},a);Object.defineProperties(d,{proofs:{value:r}});for(let p of n.values())d.attach(p);return d},_0=function*(t,e,r){for(let n of Np(t).proofs){let o=e.get(`${n}`);o&&(yield*CB(o,e))}for(let n of r.values()){let o=e.get(n);o&&(yield o)}yield t},CB=function*(t,e){for(let r of Np(t).proofs){let n=e.get(`${r}`);n&&(yield*CB(n,e))}yield t},nz=t=>{let e=[];for(let n of t)e.push([n.cid.toString(),n]);let r=e.pop();if(r){let[,n]=r;return new ho(n,new Map(e))}else throw new RangeError("Empty DAG can not be turned into a delegation")},A0=({root:t,blocks:e})=>new ho(t,e),D0=({root:t,blocks:e},r)=>{let n=fo(t,e,null);return n?A0({root:n,blocks:e}):r},oz=t=>{let e=[],{root:r,blocks:n}=t;for(let o of Np(r).proofs){let s=n.get(o.toString());e.push(s?A0({root:s,blocks:n}):o)}return Object.defineProperty(t,"proofs",{value:e}),e};function sz(t){let e=[];function r(n){for(let o in n){let s=n[o];Se(s)?e.push(s):s&&typeof s=="object"&&r(s)}}return r(t),e}var Ws={};F(Ws,{Invocation:()=>Op,create:()=>IB,invoke:()=>ul,view:()=>C0});var ul=t=>new T0(t),IB=({root:t,blocks:e})=>new Op(t,e),C0=({root:t,blocks:e},r)=>{let n=fo(t,e,null);return n==null?r!==void 0?r:Fs(t):IB({root:n,blocks:e})},T0=class{constructor({issuer:e,audience:r,capability:n,proofs:o=[],expiration:s,lifetimeInSeconds:i,notBefore:a,nonce:c,facts:u=[]}){this.issuer=e,this.audience=r,this.proofs=o,this.capabilities=[n],this.expiration=s,this.lifetimeInSeconds=i,this.notBefore=a,this.nonce=c,this.facts=u,this.attachedBlocks=new Map}attach(e){this.attachedBlocks.set(`${e.cid}`,e)}delegate(){return js(this)}buildIPLDView(){return js(this)}async execute(e){let r=this,[n]=await e.execute(r);return n}},Op=class extends ho{};var zr={};F(zr,{MessageSchema:()=>WB,build:()=>Rz,view:()=>Nz});var ll={};F(ll,{issue:()=>az,view:()=>Mp});var Mp=({root:t,blocks:e},r)=>{let n=fo(t,e,null);if(n==null)return r!==void 0?r:Fs(t);let o=Ge(n.bytes);return new $p({root:{...n,data:o},store:e})},$p=class{constructor({root:e,store:r,ran:n,issuer:o,signature:s,proofs:i}){this.store=r,this.root=e,this._ran=n,this._signature=s,this._proofs=i,this._issuer=o}get ran(){let e=this._ran;if(e)return e;{let r=C0({root:this.root.data.ocm.ran,blocks:this.store},this.root.data.ocm.ran);return this._ran=r,r}}get proofs(){let e=this._proofs;if(e)return e;{let{store:r,root:n}=this,{prf:o}=n.data.ocm,s=[];if(o)for(let i of o){let a=D0({root:i,blocks:r},i);s.push(a)}return this._proofs=s,s}}get meta(){return this.root.data.ocm.meta}get issuer(){let e=this._issuer;if(e)return e;{let{iss:r}=this.root.data.ocm;if(r){let n=Ue(r);return this._issuer=n,n}}}get out(){return this.root.data.ocm.out}get fx(){return this.root.data.ocm.fx}get signature(){let e=this._signature;if(e)return e;{let r=hi(this.root.data.sig);return this._signature=r,r}}verifySignature(e){return this.signature.verify(e,$s(this.root.data.ocm))}buildIPLDView(){return this}*iterateIPLDBlocks(){let{ran:e,fx:r,proofs:n,root:o}=this;yield*Ms(e);for(let s of r.fork)yield*Ms(s);r.join&&(yield*Ms(r.join));for(let s of n)yield*Ms(s);yield o}},I0=class{constructor({issuer:e,result:r,ran:n,fx:o=iz,proofs:s=[],meta:i={}}){this.issuer=e,this.result=r,this.ran=n,this.fx=o,this.proofs=s,this.meta=i}async buildIPLDView({hasher:e=ue,codec:r=dn}={}){let n=AB();Rp(Ms(this.ran),n);for(let c of this.proofs)Rp(Ms(c),n);let o={ran:this.ran.link(),out:this.result,fx:this.fx,meta:this.meta,iss:this.issuer.did(),prf:this.proofs.map(c=>c.link())},s=await this.issuer.sign($s(o)),a=await Up({ocm:o,sig:s},n,{hasher:e,codec:r});return new $p({root:a,store:n,signature:s,proofs:this.proofs,ran:this.ran})}},iz=Object.freeze({fork:Object.freeze([])}),az=t=>new I0(t).buildIPLDView();var ct={};F(ct,{API:()=>ye,DID:()=>dk,Link:()=>dl,Text:()=>pk,URI:()=>St,and:()=>NB,array:()=>LB,boolean:()=>pz,dictionary:()=>ik,did:()=>em,endsWith:()=>FB,enum:()=>dz,error:()=>$e,float:()=>kz,greaterThan:()=>$B,integer:()=>wz,intersection:()=>RB,lessThan:()=>OB,link:()=>qs,literal:()=>Wp,memberError:()=>Hs,never:()=>cz,nullable:()=>PB,number:()=>mz,ok:()=>Fp,optional:()=>Vp,or:()=>UB,refine:()=>zB,startsWith:()=>MB,string:()=>hn,struct:()=>Gp,text:()=>tm,tuple:()=>lz,typeError:()=>vt,unknown:()=>uz,uri:()=>lk,variant:()=>ck});var St={};F(St,{from:()=>Az,match:()=>lk,read:()=>_z,uri:()=>Ez});var Fp=t=>{if(t==null)throw new TypeError(`ok(${t}) is not allowed, consider ok({}) instead`);return{ok:t}};var BB=t=>{throw new yr(t)};var yr=class extends Error{describe(){return this.toString()}get message(){return this.describe()}toJSON(){let{name:e,message:r,stack:n}=this;return{name:e,message:r,stack:n}}};var ye=class{constructor(e){this.settings=e}toString(){return`new ${this.constructor.name}()`}readWith(e,r){throw new Error("Abstract method readWith must be implemented by subclass")}read(e){return this.readWith(e,this.settings)}is(e){return!this.read(e)?.error}from(e){let r=this.read(e);if(r.error)throw r.error;return r.ok}optional(){return Vp(this)}nullable(){return PB(this)}array(){return LB(this)}or(e){return UB(this,e)}and(e){return NB(this,e)}refine(e){return zB(this,e)}brand(e){return this}default(e){let r=this.from(e);if(r===void 0)throw new Error("Value of type undefined is not a valid default");return new R0({reader:this,value:r})}},B0=class extends ye{toString(){return"never()"}read(e){return vt({expect:"never",actual:e})}},cz=()=>new B0,P0=class extends ye{read(e){return{ok:e}}toString(){return"unknown()"}},uz=()=>new P0,L0=class extends ye{readWith(e,r){let n=r.read(e);return n.error?e===null?{ok:null}:{error:new qp({causes:[n.error,vt({expect:"null",actual:e}).error]})}:n}toString(){return`${this.settings}.nullable()`}},PB=t=>new L0(t),U0=class extends ye{optional(){return this}readWith(e,r){let n=r.read(e);return n.error&&e===void 0?{ok:void 0}:n}toString(){return`${this.settings}.optional()`}},R0=class extends ye{optional(){return this}readWith(e,{reader:r,value:n}){if(e===void 0)return{ok:n};{let o=r.read(e);return o.error||o.ok!==void 0?o:{ok:n}}}toString(){return`${this.settings.reader}.default(${JSON.stringify(this.settings.value)})`}get value(){return this.settings.value}},Vp=t=>new U0(t),N0=class extends ye{readWith(e,r){if(!Array.isArray(e))return vt({expect:"array",actual:e});let n=[];for(let[o,s]of e.entries()){let i=r.read(s);if(i.error)return Hs({at:o,cause:i.error});n.push(i.ok)}return{ok:n}}get element(){return this.settings}toString(){return`array(${this.element})`}},LB=t=>new N0(t),O0=class extends ye{readWith(e,r){if(!Array.isArray(e))return vt({expect:"array",actual:e});if(e.length!==this.shape.length)return $e(`Array must contain exactly ${this.shape.length} elements`);let n=[];for(let[o,s]of r.entries()){let i=s.read(e[o]);if(i.error)return Hs({at:o,cause:i.error});n[o]=i.ok}return{ok:n}}get shape(){return this.settings}toString(){return`tuple([${this.shape.map(e=>e.toString()).join(", ")}])`}},lz=t=>new O0(t),$0=class t extends ye{readWith(e,{key:r,value:n}){if(typeof e!="object"||e===null||Array.isArray(e))return vt({expect:"dictionary",actual:e});let o={};for(let[s,i]of Object.entries(e)){let a=r.read(s);if(a.error)return Hs({at:s,cause:a.error});let c=n.read(i);if(c.error)return Hs({at:s,cause:c.error});c.ok!==void 0&&(o[a.ok]=c.ok)}return{ok:o}}get key(){return this.settings.key}get value(){return this.settings.value}partial(){let{key:e,value:r}=this.settings;return new t({key:e,value:Vp(r)})}toString(){return`dictionary(${this.settings})`}},ik=({value:t,key:e})=>new $0({value:t,key:e||hn()}),M0=class extends ye{readWith(e,{variants:r,type:n}){return r.has(e)?{ok:e}:vt({expect:n,actual:e})}toString(){return this.settings.type}},dz=t=>new M0({type:t.join("|"),variants:new Set(t)});var F0=class extends ye{readWith(e,r){let n=[];for(let o of r){let s=o.read(e);if(s.error)n.push(s.error);else return s}return{error:new qp({causes:n})}}get variants(){return this.settings}toString(){return`union([${this.variants.map(e=>e.toString()).join(", ")}])`}},fz=t=>new F0(t),UB=(t,e)=>fz([t,e]),z0=class extends ye{readWith(e,r){let n=[];for(let o of r){let s=o.read(e);s.error&&n.push(s.error)}return n.length>0?{error:new sk({causes:n})}:{ok:e}}toString(){return`intersection([${this.settings.map(e=>e.toString()).join(",")}])`}},RB=t=>new z0(t),NB=(t,e)=>RB([t,e]),j0=class extends ye{readWith(e){switch(e){case!0:case!1:return{ok:e};default:return vt({expect:"boolean",actual:e})}}toString(){return"boolean()"}},hz=new j0,pz=()=>hz,zp=class extends ye{greaterThan(e){return this.refine($B(e))}lessThan(e){return this.refine(OB(e))}refine(e){return new H0({base:this,schema:e})}},W0=class extends zp{readWith(e){return typeof e=="number"?{ok:e}:vt({expect:"number",actual:e})}toString(){return"number()"}},ak=new W0,mz=()=>ak,H0=class extends zp{readWith(e,{base:r,schema:n}){let o=r.read(e);return o.error?o:n.read(o.ok)}toString(){return`${this.settings.base}.refine(${this.settings.schema})`}},q0=class extends ye{readWith(e,r){return e<r?{ok:e}:$e(`Expected ${e} < ${r}`)}toString(){return`lessThan(${this.settings})`}},OB=t=>new q0(t),V0=class extends ye{readWith(e,r){return e>r?{ok:e}:$e(`Expected ${e} > ${r}`)}toString(){return`greaterThan(${this.settings})`}},$B=t=>new V0(t),yz={read(t){return Number.isInteger(t)?{ok:t}:vt({expect:"integer",actual:t})},toString(){return"Integer"}},gz=ak.refine(yz),wz=()=>gz,bz={read(t){return Number.isFinite(t)?{ok:t}:vt({expect:"Float",actual:t})},toString(){return"Float"}},xz=ak.refine(bz),kz=()=>xz,jp=class extends ye{refine(e){let r=e;return new G0({base:this,schema:r})}startsWith(e){return this.refine(MB(e))}endsWith(e){return this.refine(FB(e))}toString(){return"string()"}},G0=class extends jp{readWith(e,{base:r,schema:n}){let o=r.read(e);return o.error?o:n.read(o.ok)}toString(){return`${this.settings.base}.refine(${this.settings.schema})`}},K0=class extends jp{readWith(e){return typeof e=="string"?{ok:e}:vt({expect:"string",actual:e})}},vz=new K0,hn=()=>vz,Z0=class extends ye{readWith(e,r){return e.startsWith(r)?{ok:e}:$e(`Expect string to start with "${r}" instead got "${e}"`)}get prefix(){return this.settings}toString(){return`startsWith("${this.prefix}")`}},MB=t=>new Z0(t),J0=class extends ye{readWith(e,r){return e.endsWith(r)?{ok:e}:$e(`Expect string to end with "${r}" instead got "${e}"`)}get suffix(){return this.settings}toString(){return`endsWith("${this.suffix}")`}},FB=t=>new J0(t),Q0=class extends ye{readWith(e,{base:r,schema:n}){let o=r.read(e);return o.error?o:n.read(o.ok)}toString(){return`${this.settings.base}.refine(${this.settings.schema})`}},zB=(t,e)=>new Q0({base:t,schema:e}),X0=class extends ye{readWith(e,r){return e!==r?{error:new rk({expect:r,actual:e})}:{ok:r}}get value(){return this.settings}default(e=this.value){return super.default(e)}toString(){return`literal(${Hp(this.value)})`}},Wp=t=>new X0(t),Y0=class t extends ye{readWith(e,r){if(typeof e!="object"||e===null||Array.isArray(e))return vt({expect:"object",actual:e});let n=e,o={},s=Object.entries(r);for(let[i,a]of s){let c=a.read(n[i]);if(c.error)return Hs({at:i,cause:c.error});c.ok!==void 0&&(o[i]=c.ok)}return{ok:o}}partial(){return new t(Object.fromEntries(Object.entries(this.shape).map(([e,r])=>[e,Vp(r)])))}get shape(){return this.settings}toString(){return["struct({ ",...Object.entries(this.shape).map(([e,r])=>`${e}: ${r}, `),"})"].join("")}create(e){return this.from(e||{})}extend(e){return new t({...this.shape,...e})}},Gp=t=>{let e={},r=Object.entries(t);for(let[n,o]of r)switch(typeof o){case"number":case"string":case"boolean":e[n]=Wp(o);break;case"object":e[n]=o===null?Wp(null):o;break;default:throw new Error(`Invalid struct field "${n}", expected schema or literal, instead got ${typeof o}`)}return new Y0(e)},ek=class extends ye{readWith(e,r){if(typeof e!="object"||e===null||Array.isArray(e))return vt({expect:"object",actual:e});let n=Object.keys(e),[o]=n.length===1?n:[],s=o?r[o]:void 0;if(s){let i=s.read(e[o]);return i.error?Hs({at:o,cause:i.error}):{ok:{[o]:i.ok}}}else if(r._){let i=r._.read(e);return i.error?i:{ok:{_:i.ok}}}else return $e(o?`Expected an object with one of the these keys: ${Object.keys(r).sort().join(", ")} instead got object with key ${o}`:"Expected an object with a single key instead got object with keys "+n.sort().join(", "))}match(e,r){let n=this.read(e);if(n.error){if(r!==void 0)return[null,r];throw n.error}else{let[o]=Object.keys(n.ok),s=n.ok[o];return[o,s]}}create(e){return this.from(e)}},ck=t=>new ek(t),$e=t=>({error:new fn(t)}),fn=class extends yr{get name(){return"SchemaError"}describe(){return this.name}},tk=class extends fn{constructor({expect:e,actual:r}){super(),this.expect=e,this.actual=r}get name(){return"TypeError"}describe(){return`Expected value of type ${this.expect} instead got ${Hp(this.actual)}`}},vt=t=>({error:new tk(t)}),Hp=t=>{let e=typeof t;switch(e){case"boolean":case"string":return JSON.stringify(t);case"bigint":return`${t}n`;case"number":case"symbol":case"undefined":return String(t);case"object":return t===null?"null":Array.isArray(t)?"array":"object";default:return e}},rk=class extends fn{constructor({expect:e,actual:r}){super(),this.expect=e,this.actual=r}get name(){return"LiteralError"}describe(){return`Expected literal ${Hp(this.expect)} instead got ${Hp(this.actual)}`}},nk=class extends fn{constructor({at:e,cause:r}){super(),this.at=e,this.cause=r}get name(){return"ElementError"}describe(){return[`Array contains invalid element at ${this.at}:`,Kp(this.cause.message)].join(`
|
16
|
-
`)}},ok=class extends fn{constructor({at:e,cause:r}){super(),this.at=e,this.cause=r}get name(){return"FieldError"}describe(){return[`Object contains invalid field "${this.at}":`,Kp(this.cause.message)].join(`
|
17
|
-
`)}},Hs=({at:t,cause:e})=>typeof t=="string"?{error:new ok({at:t,cause:e})}:{error:new nk({at:t,cause:e})},qp=class extends fn{constructor({causes:e}){super(),this.causes=e}get name(){return"UnionError"}describe(){let{causes:e}=this;return["Value does not match any type of the union:",...e.map(r=>Kp(r.message))].join(`
|
18
|
-
`)}},sk=class extends fn{constructor({causes:e}){super(),this.causes=e}get name(){return"IntersectionError"}describe(){let{causes:e}=this;return["Value does not match following types of the intersection:",...e.map(r=>Kp(r.message))].join(`
|
19
|
-
`)}},Sz=(t,e=" ")=>`${e}${t.split(`
|
20
|
-
`).join(`
|
21
|
-
${e}`)}`,Kp=t=>Sz(`- ${t}`);var Jp=class extends ye{readWith(e,{protocol:r}={}){if(typeof e!="string"&&!(e instanceof URL))return $e(`Expected URI but got ${e===null?"null":typeof e}`);try{let n=new URL(String(e));return r!=null&&n.protocol!==r?$e(`Expected ${r} URI instead got ${n.href}`):{ok:n.href}}catch{return $e("Invalid URI")}}},uk=new Jp({}),Ez=()=>uk,_z=t=>uk.read(t),lk=t=>new Jp(t),Az=t=>uk.from(t);var dl={};F(dl,{create:()=>Fe,createLegacy:()=>ai,isLink:()=>Se,link:()=>Dz,match:()=>qs,optional:()=>Cz,parse:()=>br,read:()=>Tz,schema:()=>Xp});var Qp=class extends ye{readWith(e,{code:r,multihash:n={},version:o}){if(e==null)return $e(`Expected link but got ${e} instead`);if(Se(e)){if(r!=null&&e.code!==r)return $e(`Expected link to be CID with 0x${r.toString(16)} codec`);if(n.code!=null&&e.multihash.code!==n.code)return $e(`Expected link to be CID with 0x${n.code.toString(16)} hashing algorithm`);if(o!=null&&e.version!==o)return $e(`Expected link to be CID version ${o} instead of ${e.version}`);let[s,i]=n.digest!=null?[Ve.baseEncode(n.digest),Ve.baseEncode(e.multihash.digest)]:["",""];return s!==i?$e(`Expected link with "${s}" hash digest instead of "${i}"`):{ok:e}}else return $e(`Expected link to be a CID instead of ${e}`)}},Xp=new Qp({}),Dz=()=>Xp,qs=(t={})=>new Qp(t),Tz=t=>Xp.read(t),Cz=()=>Xp.optional();var dk={};F(dk,{did:()=>Iz,from:()=>Pz,match:()=>em,read:()=>Bz});var Yp=class extends ye{readWith(e,r){let n=r?`did:${r}:`:"did:";return e.startsWith(n)?{ok:e}:$e(`Expected a ${n} but got "${e}" instead`)}},jB=hn().refine(new Yp),Iz=()=>jB,Bz=t=>jB.read(t),em=(t={})=>hn().refine(new Yp(t.method)),Pz=t=>em({}).from(t);var pk={};F(pk,{match:()=>tm,read:()=>Uz,text:()=>Lz});var fk=hn(),tm=t=>t?fk.refine(new hk(t.pattern)):fk,Lz=tm,Uz=t=>fk.read(t),hk=class extends ye{readWith(e,r){return r.test(e)?{ok:e}:$e(`Expected to match ${r} but got "${e}" instead`)}};var WB=ck({"ucanto/message@7.0.0":Gp({execute:qs().array().optional(),delegate:ik({key:hn(),value:qs()}).array().optional()})}),Rz=({invocations:t,receipts:e})=>new mk({invocations:t,receipts:e}).buildIPLDView(),Nz=({root:t,store:e},r)=>{let n=fo(t,e,null);if(n===null)return r!==void 0?r:Fs(t);let o=dn.decode(n.bytes),[s,i]=WB.match(o,r);switch(s){case"ucanto/message@7.0.0":return new rm({root:{...n,data:o},store:e});default:return i}},mk=class{constructor({invocations:e,receipts:r}){this.invocations=e,this.receipts=r}async buildIPLDView(e){let r=new Map,{invocations:n,...o}=await Oz(this.invocations||[],r),{receipts:s,...i}=await $z(this.receipts||[],r),a=await Up({"ucanto/message@7.0.0":{...o,...i}},r,e);return new rm({root:a,store:r},{receipts:s,invocations:n})}},Oz=async(t,e)=>{let r=[],n=[];for(let o of t){let s=await o.buildIPLDView();n.push(s.link()),r.push(s);for(let i of s.iterateIPLDBlocks())e.set(`${i.cid}`,i)}return{invocations:r,...n.length>0?{execute:n}:{}}},$z=async(t,e)=>{if(t.length===0)return{};let r=new Map,n={};for(let[o,s]of t.entries()){let i=await s.buildIPLDView();for(let c of i.iterateIPLDBlocks())e.set(`${c.cid}`,c);let a=`${i.ran.link()}`;a in n?r.set(`${a}@${o}`,i):(n[a]=i.root.cid,r.set(a,i))}return{receipts:r,report:n}},rm=class{constructor({root:e,store:r},{invocations:n,receipts:o}={}){this.root=e,this.store=r,this._invocations=n,this._receipts=o}*iterateIPLDBlocks(){for(let e of this.invocations)yield*e.iterateIPLDBlocks();for(let e of this.receipts.values())yield*e.iterateIPLDBlocks();yield this.root}get(e,r){let o=(this.root.data["ucanto/message@7.0.0"].report||{})[`${e}`];return o?Mp({root:o,blocks:this.store}):r!==void 0?r:BB(`Message does not include receipt for ${e}`)}get invocationLinks(){return this.root.data["ucanto/message@7.0.0"].execute||[]}get invocations(){let e=this._invocations;return e||(e=this.invocationLinks.map(r=>Ws.view({root:r,blocks:this.store}))),e}get receipts(){let e=this._receipts;if(!e){e=new Map;let r=this.root.data["ucanto/message@7.0.0"].report||{};for(let[n,o]of Object.entries(r)){let s=Mp({root:o,blocks:this.store});e.set(`${s.ran.link()}`,s)}}return e}};var ut={};F(ut,{code:()=>HB,contentType:()=>Mz,createWriter:()=>zz,decode:()=>yk,encode:()=>qB,link:()=>VB,name:()=>Fz,write:()=>jz});var Mz="application/vnd.ipld.car",Fz="CAR",HB=514,nm=class{constructor(e=[],r=0){this.written=new Set,this.blocks=e,this.byteLength=r}write(...e){for(let r of e){let n=r.cid.toString(Ve);this.written.has(n)||(this.blocks.push(r),this.byteLength+=Er(r),this.written.add(n))}return this}flush(...e){let r=[];for(let s of e.reverse()){let i=s.cid.toString(Ve);this.written.has(i)||(this.blocks.unshift(s),this.byteLength+=Er({cid:s.cid,bytes:s.bytes}),this.written.add(i)),r.unshift(s.cid)}this.byteLength+=Bn({roots:r});let n=new ArrayBuffer(this.byteLength),o=Pn(n,{roots:r});for(let s of this.blocks)o.write(s);return o.close()}},zz=()=>new nm,qB=({roots:t=[],blocks:e})=>{let r=new nm;return e&&r.write(...e.values()),r.flush(...t)},yk=t=>{let e=Vr.fromBytes(t),r=[],n=new Map;for(let o of e.getRoots()){let s=e.get(o);s&&r.push(s)}for(let o of e.blocks())n.set(o.cid.toString(),o);return{roots:r,blocks:n}},VB=async(t,{hasher:e=ue}={})=>Fe(HB,await e.digest(t)),jz=async(t,e)=>{let r=qB(t),n=await VB(r,e);return{bytes:r,cid:n}};var GB=t=>new gk(t),gk=class{constructor(e){this.id=e.id,this.options=e,this.codec=e.codec,this.channel=e.channel,this.hasher=e.hasher||ue}async execute(...e){return Wz(e,this)}},Wz=async(t,e)=>{let r=await zr.build({invocations:t}),n=await e.codec.encode(r,e),o=await e.channel.request(n);try{let s=await e.codec.decode(o);return r.invocationLinks.map(a=>s.get(a))}catch(s){let{message:i,...a}=s,c=[];for await(let u of r.invocationLinks){let l=await ll.issue({ran:u,result:{error:{...a,message:i}},issuer:{did(){return e.id.did()},sign(){return st.createNonStandard("",new Uint8Array)}}});c.push(l)}return c}};var lse=cl.delegate;var hl={};F(hl,{codec:()=>ut,contentType:()=>sm,inbound:()=>Xz,outbound:()=>Yz,request:()=>Vs,response:()=>Gs});var Vs={};F(Vs,{codec:()=>ut,contentType:()=>Na,decode:()=>Vz,encode:()=>qz});var Na=ut.contentType,Hz=Object.freeze({"content-type":Na,accept:Na}),qz=(t,e)=>{let r=new Map;for(let o of t.iterateIPLDBlocks())r.set(`${o.cid}`,o);let n=ut.encode({roots:[t.root],blocks:r});return{headers:e?.headers||Hz,body:n}},Vz=async({headers:t,body:e})=>{let{roots:r,blocks:n}=ut.decode(e);return zr.view({root:r[0].cid,store:n})};var Gs={};F(Gs,{codec:()=>ut,contentType:()=>fl,decode:()=>Zz,encode:()=>Kz});var fl=ut.contentType,Gz=Object.freeze({"content-type":fl}),Kz=(t,e)=>{let r=new Map;for(let o of t.iterateIPLDBlocks())r.set(`${o.cid}`,o);let n=ut.encode({roots:[t.root],blocks:r});return{headers:Gz,body:n}},Zz=async({headers:t,body:e})=>{let{roots:r,blocks:n}=ut.decode(e);return zr.view({root:r[0].cid,store:n})};var om=t=>new wk(t),wk=class{accept({headers:e}){let r=e["content-type"]||e["Content-Type"],n=this.decoders[r];if(!n)return{error:{status:415,message:"The server cannot process the request because the payload format is not supported. Please check the content-type header and try again with a supported media type.",headers:{accept:Object.keys(this.decoders).join(", ")}}};let o=Qz(e.accept||e.Accept||"*/*");for(let{category:s,type:i}of o)for(let a of this.encoders)if((s==="*"||s===a.category)&&(i==="*"||i===a.type))return{ok:{...a,decoder:n}};return{error:{status:406,message:"The requested resource cannot be served in the requested content type. Please specify a supported content type using the Accept header.",headers:{accept:ZB(Object.values(this.encoders))}}}}constructor({decoders:e={},encoders:r={}}){if(this.decoders=e,Object.keys(e).length===0)throw new Error("At least one decoder MUST be provided");if(this.encoders=Object.entries(r).map(([n,o])=>({...xk(n),encoder:o})).sort((n,o)=>o.preference-n.preference),this.encoders.length===0)throw new Error("At least one encoder MUST be provided")}},KB=t=>new bk(t),bk=class{constructor({decoders:e={},encoders:r={}}){if(this.decoders=e,Object.keys(e).length===0)throw new Error("At least one decoder MUST be provided");if(this.encoders=Object.entries(r).map(([n,o])=>({...xk(n),encoder:o})).sort((n,o)=>o.preference-n.preference),this.acceptType=ZB(this.encoders),this.encoders.length===0)throw new Error("At least one encoder MUST be provided");this.encoder=this.encoders[0].encoder}encode(e){return this.encoder.encode(e,{accept:this.acceptType})}decode(e){let{headers:r}=e,n=r["content-type"]||r["Content-Type"],o=this.decoders[n]||this.decoders["*/*"];switch(e.status){case 415:case 406:throw Object.assign(new RangeError(new TextDecoder().decode(e.body)),{status:e.status,headers:e.headers})}if(!o)throw Object.assign(TypeError(`Can not decode response with content-type '${n}' because no matching transport decoder is configured.`),{error:!0});return o.decode(e)}},xk=t=>{let[e="*/*",r=""]=t.trim().split(";"),[n="*",o="*"]=e.split("/"),s=new URLSearchParams(r),i=parseFloat(s.get("q")||"0");return{category:n,type:o,preference:isNaN(i)?0:i}},Jz=({category:t,type:e,preference:r})=>`${t}/${e}${r?`;q=${r}`:""}`,Qz=t=>t.split(",").map(xk).sort((e,r)=>r.preference-e.preference),ZB=t=>t.map(Jz).join(", ");var sm=ut.contentType,Xz=om({decoders:{[Na]:Vs},encoders:{[fl]:Gs}}),Yz=KB({encoders:{[Na]:Vs},decoders:{[fl]:Gs}});var im={};F(im,{open:()=>ej});var ej=({url:t,method:e="POST",fetch:r})=>{if(!r)if(typeof globalThis.fetch<"u")r=globalThis.fetch.bind(globalThis);else throw new TypeError("ucanto HTTP transport got undefined `fetch`. Try passing in a `fetch` implementation explicitly.");return new vk({url:t,method:e,fetch:r})},vk=class{constructor({url:e,fetch:r,method:n}){this.fetch=r,this.method=n,this.url=e}async request({headers:e,body:r}){let n=await this.fetch(this.url.href,{headers:e,body:r,method:this.method}),o=n.ok?await n.arrayBuffer():Sk.throw("HTTP Request failed",n);return{headers:n.headers.entries?Object.fromEntries(n.headers.entries()):{},body:new Uint8Array(o)}}},Sk=class extends Error{static throw(e,r){throw new this(e,r)}constructor(e,{url:r,status:n=500,statusText:o="Server error"}){super(e),this.name="HTTPError",this.url=r,this.status=n,this.statusText=o}};var gse=new TextEncoder,wse=new TextDecoder;var Ek={};F(Ek,{contentType:()=>JB,encode:()=>nj});var JB="application/cbor",rj=Object.freeze({"content-type":JB}),nj=(t,e)=>{let r=[];for(let o of t.receipts.values()){let s=o.out;s.ok?r.push(s.ok):r.push({...s.error,error:!0})}let n=$s(r);return{headers:rj,body:n}};var am={};F(am,{contentType:()=>oj,decode:()=>sj});var oj="application/car",sj=async({body:t})=>{let{roots:e,blocks:r}=yk(t),n=[];for(let{cid:s}of e){let i=Ws.view({root:s,blocks:r});n.push(i)}return await zr.build({invocations:n})};var{contentType:ij}=am;var xse=om({decoders:{[ij]:am,[sm]:Vs},encoders:{"*/*;q=0.1":Ek,[sm]:Gs}});var pl=t=>t,QB=t=>Object.entries(t),XB=([t,...e])=>{let r=t.map(n=>[n]);for(let n of e){let o=r.splice(0);for(let s of n)for(let i of o)r.push([...i,s])}return r},_k=(t,e)=>{let[r,n]=t.length<e.length?[new Set(t),new Set(e)]:[new Set(e),new Set(t)];for(let o of r)n.has(o)||r.delete(o);return[...r]};var ml=class extends yr{constructor(e,r,n){super(),this.claimed=e,this.delegated=r,this.cause=n,this.name=pl("EscalatedCapability")}describe(){return`Constraint violation: ${this.cause.message}`}},pn=class extends yr{constructor(e,r){super(),this.name=pl("InvalidClaim"),this.causes=e,this.context=r}describe(){return[`Can not derive ${this.context} from delegated capabilities:`,...this.causes.map(e=>Ak(e.message))].join(`
|
22
|
-
`)}get cause(){if(this.causes.length!==1)return this;{let[e]=this.causes,r=e.name==="InvalidClaim"?e.cause:e;return Object.defineProperties(this,{cause:{value:r}}),r}}};var po=class extends yr{constructor(e,r){super(),this.name=pl("MalformedCapability"),this.capability=e,this.cause=r}describe(){return[`Encountered malformed '${this.capability.can}' capability: ${YB(this.capability)}`,Ak(this.cause.message)].join(`
|
23
|
-
`)}},Oa=class extends yr{constructor(e){super(),this.name=pl("UnknownCapability"),this.capability=e}describe(){return`Encountered unknown capability: ${YB(this.capability)}`}};var YB=(t,e)=>JSON.stringify(t,(r,n)=>Se(n)?n.toString():n,e),uj=(t,e=" ")=>`${e}${t.split(`
|
24
|
-
`).join(`
|
25
|
-
${e}`)}`,Ak=t=>uj(`- ${t}`);var mn=({derives:t=xj,nb:e=lj,...r})=>new Dk({derives:t,nb:e,...r}),lj=ct.struct({}),dj=(t,e)=>new Tk(t,e),fj=(...t)=>new Ck(t),hj=({from:t,to:e,derives:r})=>new Ik(t,e,r),cm=class{match(e){return{error:new Oa(e.capability)}}select(e){return bj(this,e)}derive({derives:e,to:r}){return hj({derives:e,to:r,from:this})}},yl=class extends cm{or(e){return dj(this,e)}and(e){return fj(this,e)}},Dk=class extends yl{constructor(e){super(),this.descriptor=e,this.schema=ct.struct({can:ct.literal(e.can),with:e.with,nb:e.nb})}create(e){let{descriptor:r,can:n}=this,o=r.nb,s=e.nb||{},i=r.with.read(e.with);if(i.error)throw Object.assign(new Error(`Invalid 'with' - ${i.error.message}`),{cause:i});let a=r.nb.read(s);if(a.error)throw Object.assign(new Error(`Invalid 'nb' - ${a.error.message}`),{cause:a});return e8({can:n,with:i.ok,nb:a.ok})}invoke({with:e,nb:r,...n}){return ul({...n,capability:this.create({with:e,nb:r})})}async delegate({nb:e={},with:r,...n}){let{descriptor:o,can:s}=this,i=o.nb,a=o.with.read(r);if(a.error)throw Object.assign(new Error(`Invalid 'with' - ${a.error.message}`),{cause:a});let c=o.nb.partial().read(e);if(c.error)throw Object.assign(new Error(`Invalid 'nb' - ${c.error.message}`),{cause:c});return js({capabilities:[e8({can:s,with:a.ok,nb:c.ok})],...n})}get can(){return this.descriptor.can}match(e){let r=gj(this.descriptor,e);return r.error?r:{ok:new Bk(e,r.ok,this.descriptor)}}toString(){return JSON.stringify({can:this.descriptor.can})}},e8=({can:t,with:e,nb:r})=>({can:t,with:e,...pj(r)?{}:{nb:r}}),pj=t=>{for(let e in t)return!1;return!0},Tk=class extends yl{constructor(e,r){super(),this.left=e,this.right=r}match(e){let r=this.left.match(e);if(r.error){let n=this.right.match(e);return n.error?n.error.name==="MalformedCapability"?n:r:n}else return r}toString(){return`${this.left.toString()}|${this.right.toString()}`}},Ck=class t extends cm{constructor(e){super(),this.selectors=e}match(e){let r=[];for(let n of this.selectors){let o=n.match(e);if(o.error)return o;r.push(o.ok)}return{ok:new um(r)}}select(e){return t8(this,e)}and(e){return new t([...this.selectors,e])}toString(){return`[${this.selectors.map(String).join(", ")}]`}},Ik=class extends yl{constructor(e,r,n){super(),this.from=e,this.to=r,this.derives=n}create(e){return this.to.create(e)}invoke(e){return this.to.invoke(e)}delegate(e){return this.to.delegate(e)}get can(){return this.to.can}match(e){let r=this.to.match(e);return r.error?r:{ok:new Pk(r.ok,this.from,this.derives)}}toString(){return this.to.toString()}},Bk=class t{constructor(e,r,n){this.source=[e],this.value=r,this.descriptor=n}get can(){return this.value.can}get proofs(){let e=[this.source[0].delegation];return Object.defineProperties(this,{proofs:{value:e}}),e}prune(e){return e.canIssue(this.value,this.source[0].delegation.issuer.did())?null:this}select(e){let r=[],n=[],o=[];for(let s of e){let i=wj(this.descriptor,this.value,s);if(i.ok){let a=this.descriptor.derives(this.value,i.ok);a.error?n.push(new pn([new ml(this.value,i.ok,a.error)],this)):o.push(new t(s,i.ok,this.descriptor))}else switch(i.error.name){case"UnknownCapability":r.push(i.error.capability);break;case"MalformedCapability":default:n.push(new pn([i.error],this))}}return{matches:o,unknown:r,errors:n}}toString(){let{nb:e}=this.value;return JSON.stringify({can:this.descriptor.can,with:this.value.with,nb:e&&Object.keys(e).length>0?e:void 0})}},Pk=class t{constructor(e,r,n){this.selected=e,this.from=r,this.derives=n}get can(){return this.value.can}get source(){return this.selected.source}get proofs(){let e=[];for(let{delegation:r}of this.selected.source)e.push(r);return Object.defineProperties(this,{proofs:{value:e}}),e}get value(){return this.selected.value}prune(e){let r=this.selected.prune(e);return r?new t(r,this.from,this.derives):null}select(e){let{derives:r,selected:n,from:o}=this,{value:s}=n,i=n.select(e),a=o.select(e),c=[],u=[];for(let l of a.matches){let d=r(s,l.value);d.error?u.push(new pn([new ml(s,l.value,d.error)],this)):c.push(l)}return{unknown:_k(i.unknown,a.unknown),errors:[...u,...i.errors,...a.errors.map(l=>new pn([l],this))],matches:[...i.matches.map(l=>new t(l,o,r)),...c]}}toString(){return this.selected.toString()}},um=class t{constructor(e){this.matches=e}get selectors(){return this.matches}get source(){let e=[];for(let r of this.matches)e.push(...r.source);return Object.defineProperties(this,{source:{value:e}}),e}prune(e){let r=[];for(let n of this.matches){let o=n.prune(e);o&&r.push(o)}return r.length===0?null:new t(r)}get proofs(){let e=[];for(let{delegation:r}of this.source)e.push(r);return Object.defineProperties(this,{proofs:{value:e}}),e}get value(){let e=[];for(let r of this.matches)e.push(r.value);return Object.defineProperties(this,{value:{value:e}}),e}select(e){return t8(this,e)}toString(){return`[${this.matches.map(e=>e.toString()).join(", ")}]`}},mj=(t,e,r)=>{switch(t){case e:case"*":return e;default:return t.endsWith("/*")&&e.startsWith(t.slice(0,-1))?e:r}},yj=(t,e,r)=>{switch(t){case e:case"ucan:*":return e;default:return r}},gj=(t,e)=>{let{delegation:r}=e,n=e.capability;if(t.can!==n.can)return{error:new Oa(n)};let o=t.with.read(n.with);if(o.error)return{error:new po(n,o.error)};let s=t.nb.read(n.nb||{});return s.error?{error:new po(n,s.error)}:{ok:new lm(t.can,o.ok,s.ok,r)}},wj=(t,e,{capability:r,delegation:n})=>{let o=mj(r.can,e.can,null);if(o==null)return{error:new Oa(r)};let s=yj(r.with,e.with,r.with),i=t.with.read(s);if(i.error)return{error:new po(r,i.error)};let a=t.nb.read({...e.nb,...r.nb});return a.error?{error:new po(r,a.error)}:{ok:new lm(o,i.ok,a.ok,n)}},lm=class{constructor(e,r,n,o){this.can=e,this.with=r,this.delegation=o,this.nb=n}},bj=(t,e)=>{let r=[],n=[],o=[];for(let s of e){let i=t.match(s);if(i.error)switch(i.error.name){case"UnknownCapability":r.push(i.error.capability);break;case"MalformedCapability":default:o.push(new pn([i.error],i.error.capability))}else n.push(i.ok)}return{matches:n,errors:o,unknown:r}},t8=(t,e)=>{let r,n=[],o=[];for(let i of t.selectors){let a=i.select(e);r=r?_k(r,a.unknown):a.unknown;for(let c of a.errors)o.push(new pn([c],t));n.push(a.matches)}let s=XB(n).map(i=>new um(i));return{unknown:r||[],errors:o,matches:s}},xj=(t,e)=>{if(e.with.endsWith("*")){if(!t.with.startsWith(e.with.slice(0,-1)))return ct.error(`Resource ${t.with} does not match delegated ${e.with} `)}else if(e.with!==t.with)return ct.error(`Resource ${t.with} is not contained by ${e.with}`);let r=e.nb||{},n=t.nb||{},o=QB(r);for(let[s,i]of o)if(n[s]!=i)return ct.error(`${String(s)}: ${n[s]} violates ${i}`);return{ok:!0}};var Gse=mn({can:"clock/*",with:St.match({protocol:"did:"})}),Kse=mn({can:"clock/follow",with:St.match({protocol:"did:"}),nb:ct.struct({iss:St.match({protocol:"did:"}).optional(),with:St.match({protocol:"did:"}).optional()})}),Zse=mn({can:"clock/unfollow",with:St.match({protocol:"did:"}),nb:ct.struct({iss:St.match({protocol:"did:"}).optional(),with:St.match({protocol:"did:"}).optional()})}),Jse=mn({can:"clock/following",with:St.match({protocol:"did:"})}),r8=mn({can:"clock/head",with:St.match({protocol:"did:"})}),n8=mn({can:"clock/advance",with:St.match({protocol:"did:"}),nb:ct.struct({event:dl.match({version:1})})});var vj="https://clock.web3.storage",Sj="did:web:clock.web3.storage";async function o8({issuer:t,with:e,proofs:r,audience:n},o,s){let i=s?.connection??i8(),a=s?.blocks?[Object.fromEntries(s.blocks.map(u=>[u.cid.toString(),u.cid]))]:[],c=n8.invoke({issuer:t,audience:n??i.id,with:e,nb:{event:o},proofs:r,facts:a});for(let u of s?.blocks??[])c.attach(u);return c.execute(i)}async function s8({issuer:t,with:e,proofs:r,audience:n},o){let s=o?.connection??i8();return await r8.invoke({issuer:t,audience:n??s.id,with:e,proofs:r}).execute(s)}function i8(t){let e=t?.serviceURL??new URL(vj);return GB({id:t?.servicePrincipal??$u(Sj),codec:hl.outbound,channel:im.open({url:e,method:"POST"})})}var Lk=class extends gn{constructor(){super(...arguments);w(this,"eventBlocks",new pt);w(this,"parents",[])}issuer(r){let{issuer:n}=r._agent;if(!n.signatureAlgorithm)throw new Error("issuer not valid");return n}async dataDownload(r){Zs(r);let n=`https://${r.car}.ipfs.w3s.link/`,o=await fetch(n);if(o.ok)return new Uint8Array(await o.arrayBuffer());throw new Error(`Failed to download ${n}`)}async dataUpload(r,n,o){let s=await this.authorizedClient();if(!s)throw new Error("client not initialized");return Zs(n),n.type==="file"&&o.public&&await s.uploadCAR(new Blob([r])),await s.uploadFile(new Blob([r]))}async metaDownload(r){let n=await this.authorizedClient();if(r.branch!=="main")throw new Error("todo, implement space per branch");let o=await this.clockProofsForDb(),s=await s8({issuer:this.issuer(n),with:this.clockSpaceDIDForDb(),proofs:o});if(s.out.ok)return this.fetchAndUpdateHead(s.out.ok.head);throw console.log("w3clock error",s.out.error),new Error(`Failed to download ${r.name}`)}async metaUpload(r,n){let o=await this.authorizedClient();if(n.branch!=="main")throw new Error("todo, implement space per branch");let s=await this.clockProofsForDb(),i={dbMeta:r},a=await Is.create(i,this.parents),c=new pt;await this.eventBlocks.put(a.cid,a.bytes),await c.put(a.cid,a.bytes);let{bytes:u}=await ga([a.cid],c);await o.uploadCAR(new Blob([u]));let l=[];for(let{bytes:m}of this.eventBlocks.entries())l.push(await Yu(m));let d=await o8({issuer:this.issuer(o),with:this.clockSpaceDIDForDb(),proofs:s},a.cid,{blocks:l}),{ok:p,error:f}=d.root.data?.ocm.out;if(f)throw new Error(JSON.stringify(f));this.parents=[a.cid];let h=p.head;return this.fetchAndUpdateHead(h)}async fetchAndUpdateHead(r){let n=[],o=this.eventBlocks;for(let s of r){let i=await o.get(s);if(i){let a=await Yu(i.bytes);n.push(a.value.data.dbMeta)}else{let a=`https://${s.toString()}.ipfs.w3s.link/`,c=await fetch(a,{redirect:"follow"});if(c.ok){let u=new Uint8Array(await c.arrayBuffer());await o.put(s,u);let l=await Yu(u);n.push(l.value.data.dbMeta)}else throw new Error(`Failed to download ${a}`)}}return this.parents=r,n}},$a=class extends Lk{constructor(){super();w(this,"activated",null);w(this,"authorizing");w(this,"authorizingComplete");w(this,"authorizingFailed");this.authorizing=new Promise((r,n)=>{this.authorizingComplete=r,this.authorizingFailed=n}),this.ready=Promise.resolve().then(()=>this.initializeClient()),this.ready.then(()=>{this.activated&&this.authorizingComplete()}),this.authorizing.then(()=>{this.startBackgroundSync()})}async startBackgroundSync(){await new Promise(r=>setTimeout(r,1500)),await this.refresh().catch(async r=>{console.log("refresh error",r),await new Promise(n=>setTimeout(n,5e3))}),await this.startBackgroundSync()}async clockProofsForDb(){let r=await this.authorizedClient(),n=this.clockSpaceDIDForDb(),o=r.proofs([{can:"clock/*",with:n}]);if(!o.length)throw new Error("missing clock/* capability on account space");return o}};var dm=(t,e)=>{let r=t;r.type==="clock-space"?e(r.issuer,r.schema):r.type==="member-delegation"&&r.status==="applied"&&e(r.audience,r.schema)},fm=class extends $a{constructor(){super();w(this,"accountDb");w(this,"client",null);w(this,"email",null);this.accountDb=EB("_connect-web3");let{_crdt:{blocks:{loader:r}}}=this.accountDb;r?.connectRemote(this),this.authorizing.then(()=>{this.serviceAccessRequests()})}async accountEmail(){let n=(await this.authorizedClient()).currentSpace(),{rows:o}=await this.accountDb.query("accountSpace",{key:n.did()});for(let s of o){let i=s.doc;if(i.email)return i.email}}async authorize(r){let n=this.client;await n.authorize(r,{capabilities:[{can:"clock/*"},{can:"space/*"},{can:"provider/add"},{can:"store/*"},{can:"upload/*"}]});let o=this.bestSpace(n);o||(o=await n.createSpace("_account")),await n.setCurrentSpace(o.did()),o.registered()||await n.registerSpace(r);let{rows:s}=await this.accountDb.query("accountSpace",{key:o.did()});for(let i of s){let a=i.doc;a.email||(a.email=r,await this.accountDb.put(a))}this.email=r,this.authorizingComplete()}async initializeClient(){this.client=await this.connectClient()}async authorizedClient(){return await this.authorizing,this.client}clockSpaceDIDForDb(){return this.client.currentSpace().did()}async connectClient(){let r=await EC(),n=this.bestSpace(r);return n&&n.registered()?(this.activated=!0,await r.setCurrentSpace(n.did())):this.activated=!1,r}bestSpace(r){return r.spaces().find(s=>s.registered())}encodeSpaceName(r){let n=encodeURIComponent(r.schema),o=encodeURIComponent(r.name);return`_clock/${n}/${o}`}async authorizedClockSpace(r){await this.loaded;let{rows:n}=await this.accountDb.query("clockName",{key:this.encodeSpaceName(r)});if(n.length){let o=n[0].doc,s=o.with;if(o.schema!==r.schema)throw new Error(`clock schema mismatch, expected ${r.schema} got ${o.schema}`);return await this.joinExistingSpace(o),s}else return await this.createNewSpace(r)}async createNewSpace(r){let n=this.client,o=this.encodeSpaceName(r);console.log("creating new clock space",this.email,this.encodeSpaceName(r));let s=await n.createSpace(o),i={type:"clock-space",...r,clockName:o,email:this.email,with:s.did(),accountSpace:n.currentSpace().did(),issuer:this.issuer(n).did(),ua:navigator.userAgent,created:Date.now()};return await this.accountDb.put(i),s.did()}async joinExistingSpace(r){if(!this.client.proofs([{can:"clock/*",with:r.with}]).length){console.log("requesting access for",r.schema,r.with);let s=this.issuer(this.client).did();await this.joinSchema(r.schema,s),await this.waitForAccess(r,s)}return console.log("joined existing space",r.with),r.with}async joinSchema(r,n){let o={_id:`schema-member/${r}/${n}`,type:"schema-member",member:n,schema:r,ua:navigator.userAgent};await this.accountDb.put(o)}async waitForAccess(r,n){let o=()=>{},s=new Promise(u=>{o=u}),a=(await this.accountDb.query((u,l)=>{let d=u;u.type==="member-delegation"&&d.audience&&d.status==="pending"&&l(d.audience)},{key:n,includeDocs:!0})).rows.map(u=>u.doc),c=!1;for(let u of a)await this.applyDelegation(u),u.status="applied",await this.accountDb.put(u),u.with===r.with&&(c=!0);if(c)o();else{let u=this.accountDb.subscribe(async l=>{for(let d of l){let p=d;p.type==="member-delegation"&&p.audience===n&&p.status==="pending"&&(await this.applyDelegation(p),p.status="applied",await this.accountDb.put(p),p.with===d.with&&(c=!0))}c&&(u(),o())})}return s}async applyDelegation(r){let n=await sr.extract(r.delegation);if(!n.ok)throw new Error("missing loadedDelegation");let o=this.client;if(await o.addProof(n.ok),!o.proofs([{can:"clock/*",with:r.with}]).length)throw new Error("failed granting clock/* capability");console.log("accepting delegation",r)}async serviceAccessRequests(){let{rows:r}=await this.accountDb.query(dm,{includeDocs:!0,key:this.issuer(this.client).did()}),n=[...new Set(r.map(({doc:u})=>u.schema))],{rows:o}=await this.accountDb.query((u,l)=>{let d=u;d.type==="schema-member"&&l(d.schema,d.member)},{keys:n}),s=new Set(o.map(({value:u})=>u));s.delete(this.issuer(this.client).did());let i=[...s],{rows:a}=await this.accountDb.query(dm,{includeDocs:!0,keys:i});for(let u of i)for(let l of r)a.find(p=>p.doc.with===l.doc.with&&p.key===u)||await this.delegateAccess(l.doc,u);return this.accountDb.subscribe(async u=>{for(let l of u){let d=l;if(d.type==="schema-member"){let p=d.member;if(p!==this.issuer(this.client).did()){let{rows:f}=await this.accountDb.query(dm,{includeDocs:!0,key:this.issuer(this.client).did()}),{rows:h}=await this.accountDb.query(dm,{includeDocs:!0,key:p});for(let m of f)h.find(g=>g.doc.with===m.doc.with&&g.key===p)||await this.delegateAccess(m.doc,p)}}}})}async delegateAccess(r,n){let o=this.client;if(!o.proofs([{can:"clock/*",with:r.with}]).length){console.log("missing clock/* capability, cannot delegate: "+r.with);return}let i={issuer:this.issuer(o),lifetimeInSeconds:60*60*24*365,audience:{did:()=>n},capabilities:[{can:"clock/*",with:r.with}],proofs:o.proofs()},a=`delegation/${r.with}/${n}`;if(await this.accountDb.get(a).catch(()=>null)){console.log("delegation already exists",a);return}console.log("delegating access",i);let l=await(await Lt(i)).archive();if(!l.ok)throw new Error("missing delegationCarBytes");let d={_id:a,type:"member-delegation",audience:n,with:r.with,schema:r.schema,status:"pending",delegation:l.ok};await this.accountDb.put(d)}};var gl=class extends $a{constructor(r){super();w(this,"accountConnection");w(this,"authorized",null);w(this,"params");w(this,"clockSpaceDID");this.accountConnection=new fm,this.params=r}async authorize(r){return await this.accountConnection.authorize(r)}async accountEmail(){return await this.accountConnection.accountEmail()}async authorizedClient(){return await this.authorizing,this.accountConnection.authorizedClient()}clockSpaceDIDForDb(){return this.clockSpaceDID}async initializeClient(){await this.accountConnection.ready,this.authorized=this.accountConnection.activated,await this.accountConnection.authorizedClockSpace(this.params).then(r=>{this.clockSpaceDID=r,this.activated=!0}).catch(this.authorizingFailed)}};var Uk=class extends gn{constructor({metaUpload:e,metaDownload:r,dataUpload:n,dataDownload:o}){super(),this.metaUpload=e,this.metaDownload=r,this.dataUpload=n,this.dataDownload=o}},Ma=new Map,S0={s3:({_crdt:{blocks:{loader:t}}},{upload:e,download:r})=>{let n=new Fa(e,r);return t.connectRemote(n),n},raw:({_crdt:{blocks:{loader:t}}},e)=>{let r=new Uk(e);return t.connectRemote(r),r},ipfs:(t,e)=>{let{name:r,_crdt:{blocks:{loader:n}}}=t;if(!r)throw new Error("database name is required");if(Ma.has(r))return Ma.get(r);!e&&location&&(e=location.origin);let o=new gl({name:r,schema:e});return n.connectRemote(o),Ma.set(r,o),o},hybrid:(t,e)=>{let{name:r,_crdt:{blocks:{loader:n}}}=t;if(!r)throw new Error("database name is required");if(Ma.has(r))return Ma.get(r);!e&&location&&(e=location.origin);let o=new gl({name:r,schema:e}),s={upload:"https://04rvvth2b4.execute-api.us-east-2.amazonaws.com/uploads",download:"https://sam-app-s3uploadbucket-e6rv1dj2kydh.s3.us-east-2.amazonaws.com"},i=new Fa(s.upload,s.download);return n.connectRemote(o,i),Ma.set(r,o),o}};function Zs(t){let{type:e,name:r,car:n}=t;if(!r)throw new Error("name is required");if(!n)throw new Error("car is required");if(e!=="file"&&e!=="data")throw new Error("type must be file or data")}function mm(t){let{name:e,branch:r}=t;if(!e)throw new Error("name is required");if(!r)throw new Error("branch is required")}export{Os as Database,n0 as Index,S0 as connect,EB as fireproof,Qu as index};
|
1
|
+
var yw=Object.create;var Po=Object.defineProperty;var mw=Object.getOwnPropertyDescriptor;var gw=Object.getOwnPropertyNames;var ww=Object.getPrototypeOf,bw=Object.prototype.hasOwnProperty;var xw=(t,e,r)=>e in t?Po(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var H=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Y=(t,e)=>{for(var r in e)Po(t,r,{get:e[r],enumerable:!0})},kw=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of gw(e))!bw.call(t,o)&&o!==r&&Po(t,o,{get:()=>e[o],enumerable:!(n=mw(e,o))||n.enumerable});return t};var W=(t,e,r)=>(r=t!=null?yw(ww(t)):{},kw(e||!t||!t.__esModule?Po(r,"default",{value:t,enumerable:!0}):r,t));var k=(t,e,r)=>(xw(t,typeof e!="symbol"?e+"":e,r),r),vl=(t,e,r)=>{if(!e.has(t))throw TypeError("Cannot "+r)};var Z=(t,e,r)=>(vl(t,e,"read from private field"),r?r.call(t):e.get(t)),nt=(t,e,r)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,r)},fe=(t,e,r,n)=>(vl(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r);var Zs=(t,e,r,n)=>({set _(o){fe(t,e,o,r)},get _(){return Z(t,e,n)}});var nd=H((hA,rd)=>{rd.exports=Na;var td=128,x0=127,k0=~x0,v0=Math.pow(2,31);function Na(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw Na.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=v0;)e[r++]=t&255|td,t/=128;for(;t&k0;)e[r++]=t&255|td,t>>>=7;return e[r]=t|0,Na.bytes=r-n+1,e}});var sd=H((pA,id)=>{id.exports=Ua;var E0=128,od=127;function Ua(t,n){var r=0,n=n||0,o=0,i=n,s,c=t.length;do{if(i>=c||o>49)throw Ua.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=o<28?(s&od)<<o:(s&od)*Math.pow(2,o),o+=7}while(s>=E0);return Ua.bytes=i-n,r}});var cd=H((yA,ad)=>{var S0=Math.pow(2,7),A0=Math.pow(2,14),_0=Math.pow(2,21),B0=Math.pow(2,28),C0=Math.pow(2,35),T0=Math.pow(2,42),I0=Math.pow(2,49),L0=Math.pow(2,56),D0=Math.pow(2,63);ad.exports=function(t){return t<S0?1:t<A0?2:t<_0?3:t<B0?4:t<C0?5:t<T0?6:t<I0?7:t<L0?8:t<D0?9:10}});var Zo=H((mA,ud)=>{ud.exports={encode:nd(),decode:sd(),encodingLength:cd()}});var Xh=H(yc=>{yc.encode=function(t){if(isNaN(t))return"DaN";if(t===0)return"FE 0M0";if(t===1/0)return"FF";if(t===-1/0)return"DD";var e=t.toExponential().split("e"),r=Number(e[1])+500,n=e[0]+(e[0].indexOf(".")===-1?".":"")+"0".repeat(20),o="E"+ix(String(r),3)+"M"+String(n);return t>0?"F"+o:"D"+Jh(o)};yc.decode=function(t){if(t==="DaN")return NaN;if(t==="FF")return 1/0;if(t==="DD")return-1/0;var e=t[0]==="D",r=(e?Jh(t):t).slice(2).split("M");return+((e?"-":"")+r[1]+"e"+String(Number(r[0])-500))};function Jh(t){for(var e="",r=0;r<t.length;r++){var n=t[r];isNaN(Number(n))||n===" "?n!=="-"&&(e+=n):e+=String(9-Number(n))}return e}function ix(t,e){return" ".repeat(e-t.length).substr(0,e)+t}});var Zh=H(Yh=>{var sx={"?":"?@","!":"??",'"':"?%"};function ax(t){return/[!"]/.test(t)?t.replace(/[\?!"]/g,function(e){return sx[e]}):t}var cx={"?@":"?","??":"!","?%":'"'};function ux(t){return/\?[%\?@]/.test(t)?t.replace(/\?[%\?@]/g,function(e){return cx[e]}):t}Yh.factory=function(t){return{encode:e,decode:n};function e(o){if(o===null)return"A";if(!Array.isArray(o))throw new Error("can only encode arrays");var i=o.length;if(i==0)return"K!";for(var s=r(o[0]),c=1;c<i;c++)s+='"'+r(o[c]);return"K"+s+"!"}function r(o){return typeof o=="object"?e(o):ax(t.encode(o))}function n(o){if(o==="A")return null;if(o==="K!")return[];for(var i=o.split('"'),s=[[]],c,a=0,u=i.length,l=0;l<u;l++){for(var d=i[l],m=d.length,f=0;d[f]=="K";)f++;for(var h=0;d[m-h-1]=="!";)h++;for(var p=d.slice(f,m-h),g=a+f,w=a;w<g;w++)s[w+1]=[],s[w].push(s[w+1]),a=g,c=s[a];p.length!==0&&c.push(t.decode(ux(p)));for(var g=a-h,w=g;w<a;w++)s[w+1]=[],a=g,c=s[a]}return s[0][0]}}});var tp=H(Q=>{var lx=Xh(),fx=Zh(),Y6=Q.flip=function(t){var e=t.toString(),r="";for(var n in e)r+=e[n]=="."?".":9-+e[n];return r};Q.number=lx;Q.string={encode:function(t){return/\x00|\x01/.test(t)?"J"+t.replace(/\x01/g,"").replace(/\x00/g,""):"J"+t},decode:function(t){if(t[0]==="J")return t.substring(1)}};Q.encode=function(t){return Q[typeof t].encode(t)};Q.decode=function(t){if(t==="")return t;if(!ep[t[0]])throw new Error("no decoder for:"+JSON.stringify(t));return ep[t[0]](t)};Q.object=fx.factory(Q);Q.boolean={encode:function(t){return t?"C":"B"},decode:function(t){return t==="C"}};Q.undefined={encode:function(t){return"L"},decode:function(){}};var ep={A:Q.object.decode,B:Q.boolean.decode,C:Q.boolean.decode,D:Q.number.decode,F:Q.number.decode,J:Q.string.decode,K:Q.object.decode,L:Q.undefined.decode};Q.buffer=!1;Q.type="charwise"});var Up=H((JB,Np)=>{"use strict";Np.exports=Vx;function Vx(t,e){for(var r=new Array(arguments.length-1),n=0,o=2,i=!0;o<arguments.length;)r[n++]=arguments[o++];return new Promise(function(c,a){r[n]=function(l){if(i)if(i=!1,l)a(l);else{for(var d=new Array(arguments.length-1),m=0;m<d.length;)d[m++]=arguments[m];c.apply(null,d)}};try{t.apply(e||null,r)}catch(u){i&&(i=!1,a(u))}})}});var Op=H(Mp=>{"use strict";var Yi=Mp;Yi.length=function(e){var r=e.length;if(!r)return 0;for(var n=0;--r%4>1&&e.charAt(r)==="=";)++n;return Math.ceil(e.length*3)/4-n};var Gr=new Array(64),Fp=new Array(123);for(Oe=0;Oe<64;)Fp[Gr[Oe]=Oe<26?Oe+65:Oe<52?Oe+71:Oe<62?Oe-4:Oe-59|43]=Oe++;var Oe;Yi.encode=function(e,r,n){for(var o=null,i=[],s=0,c=0,a;r<n;){var u=e[r++];switch(c){case 0:i[s++]=Gr[u>>2],a=(u&3)<<4,c=1;break;case 1:i[s++]=Gr[a|u>>4],a=(u&15)<<2,c=2;break;case 2:i[s++]=Gr[a|u>>6],i[s++]=Gr[u&63],c=0;break}s>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,i)),s=0)}return c&&(i[s++]=Gr[a],i[s++]=61,c===1&&(i[s++]=61)),o?(s&&o.push(String.fromCharCode.apply(String,i.slice(0,s))),o.join("")):String.fromCharCode.apply(String,i.slice(0,s))};var Pp="invalid encoding";Yi.decode=function(e,r,n){for(var o=n,i=0,s,c=0;c<e.length;){var a=e.charCodeAt(c++);if(a===61&&i>1)break;if((a=Fp[a])===void 0)throw Error(Pp);switch(i){case 0:s=a,i=1;break;case 1:r[n++]=s<<2|(a&48)>>4,s=a,i=2;break;case 2:r[n++]=(s&15)<<4|(a&60)>>2,s=a,i=3;break;case 3:r[n++]=(s&3)<<6|a,i=0;break}}if(i===1)throw Error(Pp);return n-o};Yi.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var zp=H((YB,Rp)=>{"use strict";Rp.exports=Zi;function Zi(){this._listeners={}}Zi.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};Zi.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],o=0;o<n.length;)n[o].fn===r?n.splice(o,1):++o;return this};Zi.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var n=[],o=1;o<arguments.length;)n.push(arguments[o++]);for(o=0;o<r.length;)r[o].fn.apply(r[o++].ctx,n)}return this}});var Kp=H((ZB,Wp)=>{"use strict";Wp.exports=$p($p);function $p(t){return typeof Float32Array<"u"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function o(a,u,l){e[0]=a,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3]}function i(a,u,l){e[0]=a,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}t.writeFloatLE=n?o:i,t.writeFloatBE=n?i:o;function s(a,u){return r[0]=a[u],r[1]=a[u+1],r[2]=a[u+2],r[3]=a[u+3],e[0]}function c(a,u){return r[3]=a[u],r[2]=a[u+1],r[1]=a[u+2],r[0]=a[u+3],e[0]}t.readFloatLE=n?s:c,t.readFloatBE=n?c:s}():function(){function e(n,o,i,s){var c=o<0?1:0;if(c&&(o=-o),o===0)n(1/o>0?0:2147483648,i,s);else if(isNaN(o))n(2143289344,i,s);else if(o>34028234663852886e22)n((c<<31|2139095040)>>>0,i,s);else if(o<11754943508222875e-54)n((c<<31|Math.round(o/1401298464324817e-60))>>>0,i,s);else{var a=Math.floor(Math.log(o)/Math.LN2),u=Math.round(o*Math.pow(2,-a)*8388608)&8388607;n((c<<31|a+127<<23|u)>>>0,i,s)}}t.writeFloatLE=e.bind(null,Hp),t.writeFloatBE=e.bind(null,jp);function r(n,o,i){var s=n(o,i),c=(s>>31)*2+1,a=s>>>23&255,u=s&8388607;return a===255?u?NaN:c*(1/0):a===0?c*1401298464324817e-60*u:c*Math.pow(2,a-150)*(u+8388608)}t.readFloatLE=r.bind(null,Vp),t.readFloatBE=r.bind(null,qp)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function o(a,u,l){e[0]=a,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function i(a,u,l){e[0]=a,u[l]=r[7],u[l+1]=r[6],u[l+2]=r[5],u[l+3]=r[4],u[l+4]=r[3],u[l+5]=r[2],u[l+6]=r[1],u[l+7]=r[0]}t.writeDoubleLE=n?o:i,t.writeDoubleBE=n?i:o;function s(a,u){return r[0]=a[u],r[1]=a[u+1],r[2]=a[u+2],r[3]=a[u+3],r[4]=a[u+4],r[5]=a[u+5],r[6]=a[u+6],r[7]=a[u+7],e[0]}function c(a,u){return r[7]=a[u],r[6]=a[u+1],r[5]=a[u+2],r[4]=a[u+3],r[3]=a[u+4],r[2]=a[u+5],r[1]=a[u+6],r[0]=a[u+7],e[0]}t.readDoubleLE=n?s:c,t.readDoubleBE=n?c:s}():function(){function e(n,o,i,s,c,a){var u=s<0?1:0;if(u&&(s=-s),s===0)n(0,c,a+o),n(1/s>0?0:2147483648,c,a+i);else if(isNaN(s))n(0,c,a+o),n(2146959360,c,a+i);else if(s>17976931348623157e292)n(0,c,a+o),n((u<<31|2146435072)>>>0,c,a+i);else{var l;if(s<22250738585072014e-324)l=s/5e-324,n(l>>>0,c,a+o),n((u<<31|l/4294967296)>>>0,c,a+i);else{var d=Math.floor(Math.log(s)/Math.LN2);d===1024&&(d=1023),l=s*Math.pow(2,-d),n(l*4503599627370496>>>0,c,a+o),n((u<<31|d+1023<<20|l*1048576&1048575)>>>0,c,a+i)}}}t.writeDoubleLE=e.bind(null,Hp,0,4),t.writeDoubleBE=e.bind(null,jp,4,0);function r(n,o,i,s,c){var a=n(s,c+o),u=n(s,c+i),l=(u>>31)*2+1,d=u>>>20&2047,m=4294967296*(u&1048575)+a;return d===2047?m?NaN:l*(1/0):d===0?l*5e-324*m:l*Math.pow(2,d-1075)*(m+4503599627370496)}t.readDoubleLE=r.bind(null,Vp,0,4),t.readDoubleBE=r.bind(null,qp,4,0)}(),t}function Hp(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function jp(t,e,r){e[r]=t>>>24,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=t&255}function Vp(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function qp(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var Gp=H((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}});var Jp=H(Qp=>{"use strict";var $c=Qp;$c.length=function(e){for(var r=0,n=0,o=0;o<e.length;++o)n=e.charCodeAt(o),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(e.charCodeAt(o+1)&64512)===56320?(++o,r+=4):r+=3;return r};$c.read=function(e,r,n){var o=n-r;if(o<1)return"";for(var i=null,s=[],c=0,a;r<n;)a=e[r++],a<128?s[c++]=a:a>191&&a<224?s[c++]=(a&31)<<6|e[r++]&63:a>239&&a<365?(a=((a&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,s[c++]=55296+(a>>10),s[c++]=56320+(a&1023)):s[c++]=(a&15)<<12|(e[r++]&63)<<6|e[r++]&63,c>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),c=0);return i?(c&&i.push(String.fromCharCode.apply(String,s.slice(0,c))),i.join("")):String.fromCharCode.apply(String,s.slice(0,c))};$c.write=function(e,r,n){for(var o=n,i,s,c=0;c<e.length;++c)i=e.charCodeAt(c),i<128?r[n++]=i:i<2048?(r[n++]=i>>6|192,r[n++]=i&63|128):(i&64512)===55296&&((s=e.charCodeAt(c+1))&64512)===56320?(i=65536+((i&1023)<<10)+(s&1023),++c,r[n++]=i>>18|240,r[n++]=i>>12&63|128,r[n++]=i>>6&63|128,r[n++]=i&63|128):(r[n++]=i>>12|224,r[n++]=i>>6&63|128,r[n++]=i&63|128);return n-o}});var Yp=H((t3,Xp)=>{"use strict";Xp.exports=qx;function qx(t,e,r){var n=r||8192,o=n>>>1,i=null,s=n;return function(a){if(a<1||a>o)return t(a);s+a>n&&(i=t(n),s=0);var u=e.call(i,s,s+=a);return s&7&&(s=(s|7)+1),u}}});var ey=H((r3,Zp)=>{"use strict";Zp.exports=re;var Jn=lt();function re(t,e){this.lo=t>>>0,this.hi=e>>>0}var sr=re.zero=new re(0,0);sr.toNumber=function(){return 0};sr.zzEncode=sr.zzDecode=function(){return this};sr.length=function(){return 1};var Wx=re.zeroHash="\0\0\0\0\0\0\0\0";re.fromNumber=function(e){if(e===0)return sr;var r=e<0;r&&(e=-e);var n=e>>>0,o=(e-n)/4294967296>>>0;return r&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new re(n,o)};re.from=function(e){if(typeof e=="number")return re.fromNumber(e);if(Jn.isString(e))if(Jn.Long)e=Jn.Long.fromString(e);else return re.fromNumber(parseInt(e,10));return e.low||e.high?new re(e.low>>>0,e.high>>>0):sr};re.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};re.prototype.toLong=function(e){return Jn.Long?new Jn.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var Bt=String.prototype.charCodeAt;re.fromHash=function(e){return e===Wx?sr:new re((Bt.call(e,0)|Bt.call(e,1)<<8|Bt.call(e,2)<<16|Bt.call(e,3)<<24)>>>0,(Bt.call(e,4)|Bt.call(e,5)<<8|Bt.call(e,6)<<16|Bt.call(e,7)<<24)>>>0)};re.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};re.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};re.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};re.prototype.length=function(){var e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var lt=H(Hc=>{"use strict";var D=Hc;D.asPromise=Up();D.base64=Op();D.EventEmitter=zp();D.float=Kp();D.inquire=Gp();D.utf8=Jp();D.pool=Yp();D.LongBits=ey();D.isNode=!!(typeof global<"u"&&global&&global.process&&global.process.versions&&global.process.versions.node);D.global=D.isNode&&global||typeof window<"u"&&window||typeof self<"u"&&self||Hc;D.emptyArray=Object.freeze?Object.freeze([]):[];D.emptyObject=Object.freeze?Object.freeze({}):{};D.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};D.isString=function(e){return typeof e=="string"||e instanceof String};D.isObject=function(e){return e&&typeof e=="object"};D.isset=D.isSet=function(e,r){var n=e[r];return n!=null&&e.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};D.Buffer=function(){try{var t=D.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch{return null}}();D._Buffer_from=null;D._Buffer_allocUnsafe=null;D.newBuffer=function(e){return typeof e=="number"?D.Buffer?D._Buffer_allocUnsafe(e):new D.Array(e):D.Buffer?D._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};D.Array=typeof Uint8Array<"u"?Uint8Array:Array;D.Long=D.global.dcodeIO&&D.global.dcodeIO.Long||D.global.Long||D.inquire("long");D.key2Re=/^true|false|0|1$/;D.key32Re=/^-?(?:0|[1-9][0-9]*)$/;D.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;D.longToHash=function(e){return e?D.LongBits.from(e).toHash():D.LongBits.zeroHash};D.longFromHash=function(e,r){var n=D.LongBits.fromHash(e);return D.Long?D.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function ty(t,e,r){for(var n=Object.keys(e),o=0;o<n.length;++o)(t[n[o]]===void 0||!r)&&(t[n[o]]=e[n[o]]);return t}D.merge=ty;D.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function ry(t){function e(r,n){if(!(this instanceof e))return new e(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&ty(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}D.newError=ry;D.ProtocolError=ry("ProtocolError");D.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var o=Object.keys(this),i=o.length-1;i>-1;--i)if(r[o[i]]===1&&this[o[i]]!==void 0&&this[o[i]]!==null)return o[i]}};D.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};D.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};D._configure=function(){var t=D.Buffer;if(!t){D._Buffer_from=D._Buffer_allocUnsafe=null;return}D._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},D._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var ts=H((o3,sy)=>{"use strict";sy.exports=O;var De=lt(),jc,es=De.LongBits,ny=De.base64,oy=De.utf8;function Xn(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function qc(){}function Kx(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function O(){this.len=0,this.head=new Xn(qc,0,0),this.tail=this.head,this.states=null}var iy=function(){return De.Buffer?function(){return(O.create=function(){return new jc})()}:function(){return new O}};O.create=iy();O.alloc=function(e){return new De.Array(e)};De.Array!==Array&&(O.alloc=De.pool(O.alloc,De.Array.prototype.subarray));O.prototype._push=function(e,r,n){return this.tail=this.tail.next=new Xn(e,r,n),this.len+=r,this};function Wc(t,e,r){e[r]=t&255}function Gx(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function Kc(t,e){this.len=t,this.next=void 0,this.val=e}Kc.prototype=Object.create(Xn.prototype);Kc.prototype.fn=Gx;O.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new Kc((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};O.prototype.int32=function(e){return e<0?this._push(Gc,10,es.fromNumber(e)):this.uint32(e)};O.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function Gc(t,e,r){for(;t.hi;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}O.prototype.uint64=function(e){var r=es.from(e);return this._push(Gc,r.length(),r)};O.prototype.int64=O.prototype.uint64;O.prototype.sint64=function(e){var r=es.from(e).zzEncode();return this._push(Gc,r.length(),r)};O.prototype.bool=function(e){return this._push(Wc,1,e?1:0)};function Vc(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}O.prototype.fixed32=function(e){return this._push(Vc,4,e>>>0)};O.prototype.sfixed32=O.prototype.fixed32;O.prototype.fixed64=function(e){var r=es.from(e);return this._push(Vc,4,r.lo)._push(Vc,4,r.hi)};O.prototype.sfixed64=O.prototype.fixed64;O.prototype.float=function(e){return this._push(De.float.writeFloatLE,4,e)};O.prototype.double=function(e){return this._push(De.float.writeDoubleLE,8,e)};var Qx=De.Array.prototype.set?function(e,r,n){r.set(e,n)}:function(e,r,n){for(var o=0;o<e.length;++o)r[n+o]=e[o]};O.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(Wc,1,0);if(De.isString(e)){var n=O.alloc(r=ny.length(e));ny.decode(e,n,0),e=n}return this.uint32(r)._push(Qx,r,e)};O.prototype.string=function(e){var r=oy.length(e);return r?this.uint32(r)._push(oy.write,r,e):this._push(Wc,1,0)};O.prototype.fork=function(){return this.states=new Kx(this),this.head=this.tail=new Xn(qc,0,0),this.len=0,this};O.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Xn(qc,0,0),this.len=0),this};O.prototype.ldelim=function(){var e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=r,this.len+=n),this};O.prototype.finish=function(){for(var e=this.head.next,r=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r};O._configure=function(t){jc=t,O.create=iy(),jc._configure()}});var Qc=H((i3,cy)=>{"use strict";cy.exports=Ze;var ay=ts();(Ze.prototype=Object.create(ay.prototype)).constructor=Ze;var Ct=lt();function Ze(){ay.call(this)}Ze._configure=function(){Ze.alloc=Ct._Buffer_allocUnsafe,Ze.writeBytesBuffer=Ct.Buffer&&Ct.Buffer.prototype instanceof Uint8Array&&Ct.Buffer.prototype.set.name==="set"?function(e,r,n){r.set(e,n)}:function(e,r,n){if(e.copy)e.copy(r,n,0,e.length);else for(var o=0;o<e.length;)r[n++]=e[o++]}};Ze.prototype.bytes=function(e){Ct.isString(e)&&(e=Ct._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(Ze.writeBytesBuffer,r,e),this};function Jx(t,e,r){t.length<40?Ct.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}Ze.prototype.string=function(e){var r=Ct.Buffer.byteLength(e);return this.uint32(r),r&&this._push(Jx,r,e),this};Ze._configure()});var ns=H((s3,hy)=>{"use strict";hy.exports=J;var et=lt(),Xc,fy=et.LongBits,Xx=et.utf8;function Re(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function J(t){this.buf=t,this.pos=0,this.len=t.length}var uy=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new J(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new J(e);throw Error("illegal buffer")},dy=function(){return et.Buffer?function(r){return(J.create=function(o){return et.Buffer.isBuffer(o)?new Xc(o):uy(o)})(r)}:uy};J.create=dy();J.prototype._slice=et.Array.prototype.subarray||et.Array.prototype.slice;J.prototype.uint32=function(){var e=4294967295;return function(){if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,Re(this,10);return e}}();J.prototype.int32=function(){return this.uint32()|0};J.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function Jc(){var t=new fy(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Re(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Re(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}J.prototype.bool=function(){return this.uint32()!==0};function rs(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}J.prototype.fixed32=function(){if(this.pos+4>this.len)throw Re(this,4);return rs(this.buf,this.pos+=4)};J.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Re(this,4);return rs(this.buf,this.pos+=4)|0};function ly(){if(this.pos+8>this.len)throw Re(this,8);return new fy(rs(this.buf,this.pos+=4),rs(this.buf,this.pos+=4))}J.prototype.float=function(){if(this.pos+4>this.len)throw Re(this,4);var e=et.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};J.prototype.double=function(){if(this.pos+8>this.len)throw Re(this,4);var e=et.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};J.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw Re(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};J.prototype.string=function(){var e=this.bytes();return Xx.read(e,0,e.length)};J.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Re(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Re(this);while(this.buf[this.pos++]&128);return this};J.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this};J._configure=function(t){Xc=t,J.create=dy(),Xc._configure();var e=et.Long?"toLong":"toNumber";et.merge(J.prototype,{int64:function(){return Jc.call(this)[e](!1)},uint64:function(){return Jc.call(this)[e](!0)},sint64:function(){return Jc.call(this).zzDecode()[e](!1)},fixed64:function(){return ly.call(this)[e](!0)},sfixed64:function(){return ly.call(this)[e](!1)}})}});var Yc=H((a3,my)=>{"use strict";my.exports=ar;var yy=ns();(ar.prototype=Object.create(yy.prototype)).constructor=ar;var py=lt();function ar(t){yy.call(this,t)}ar._configure=function(){py.Buffer&&(ar.prototype._slice=py.Buffer.prototype.slice)};ar.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};ar._configure()});var wy=H((c3,gy)=>{"use strict";gy.exports=Yn;var Zc=lt();(Yn.prototype=Object.create(Zc.EventEmitter.prototype)).constructor=Yn;function Yn(t,e,r){if(typeof t!="function")throw TypeError("rpcImpl must be a function");Zc.EventEmitter.call(this),this.rpcImpl=t,this.requestDelimited=!!e,this.responseDelimited=!!r}Yn.prototype.rpcCall=function t(e,r,n,o,i){if(!o)throw TypeError("request must be specified");var s=this;if(!i)return Zc.asPromise(t,s,e,r,n,o);if(!s.rpcImpl){setTimeout(function(){i(Error("already ended"))},0);return}try{return s.rpcImpl(e,r[s.requestDelimited?"encodeDelimited":"encode"](o).finish(),function(a,u){if(a)return s.emit("error",a,e),i(a);if(u===null){s.end(!0);return}if(!(u instanceof n))try{u=n[s.responseDelimited?"decodeDelimited":"decode"](u)}catch(l){return s.emit("error",l,e),i(l)}return s.emit("data",u,e),i(null,u)})}catch(c){s.emit("error",c,e),setTimeout(function(){i(c)},0);return}};Yn.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}});var xy=H(by=>{"use strict";var Yx=by;Yx.Service=wy()});var vy=H((l3,ky)=>{"use strict";ky.exports={}});var Ay=H(Sy=>{"use strict";var he=Sy;he.build="minimal";he.Writer=ts();he.BufferWriter=Qc();he.Reader=ns();he.BufferReader=Yc();he.util=lt();he.rpc=xy();he.roots=vy();he.configure=Ey;function Ey(){he.util._configure(),he.Writer._configure(he.BufferWriter),he.Reader._configure(he.BufferReader)}Ey()});var By=H((d3,_y)=>{"use strict";_y.exports=Ay()});var Sm=H((uo,Ss)=>{(function(t,e){"use strict";var r={version:"3.0.0",x86:{},x64:{},inputValidation:!0};function n(f){if(!Array.isArray(f)&&!ArrayBuffer.isView(f))return!1;for(var h=0;h<f.length;h++)if(!Number.isInteger(f[h])||f[h]<0||f[h]>255)return!1;return!0}function o(f,h){return(f&65535)*h+(((f>>>16)*h&65535)<<16)}function i(f,h){return f<<h|f>>>32-h}function s(f){return f^=f>>>16,f=o(f,2246822507),f^=f>>>13,f=o(f,3266489909),f^=f>>>16,f}function c(f,h){f=[f[0]>>>16,f[0]&65535,f[1]>>>16,f[1]&65535],h=[h[0]>>>16,h[0]&65535,h[1]>>>16,h[1]&65535];var p=[0,0,0,0];return p[3]+=f[3]+h[3],p[2]+=p[3]>>>16,p[3]&=65535,p[2]+=f[2]+h[2],p[1]+=p[2]>>>16,p[2]&=65535,p[1]+=f[1]+h[1],p[0]+=p[1]>>>16,p[1]&=65535,p[0]+=f[0]+h[0],p[0]&=65535,[p[0]<<16|p[1],p[2]<<16|p[3]]}function a(f,h){f=[f[0]>>>16,f[0]&65535,f[1]>>>16,f[1]&65535],h=[h[0]>>>16,h[0]&65535,h[1]>>>16,h[1]&65535];var p=[0,0,0,0];return p[3]+=f[3]*h[3],p[2]+=p[3]>>>16,p[3]&=65535,p[2]+=f[2]*h[3],p[1]+=p[2]>>>16,p[2]&=65535,p[2]+=f[3]*h[2],p[1]+=p[2]>>>16,p[2]&=65535,p[1]+=f[1]*h[3],p[0]+=p[1]>>>16,p[1]&=65535,p[1]+=f[2]*h[2],p[0]+=p[1]>>>16,p[1]&=65535,p[1]+=f[3]*h[1],p[0]+=p[1]>>>16,p[1]&=65535,p[0]+=f[0]*h[3]+f[1]*h[2]+f[2]*h[1]+f[3]*h[0],p[0]&=65535,[p[0]<<16|p[1],p[2]<<16|p[3]]}function u(f,h){return h%=64,h===32?[f[1],f[0]]:h<32?[f[0]<<h|f[1]>>>32-h,f[1]<<h|f[0]>>>32-h]:(h-=32,[f[1]<<h|f[0]>>>32-h,f[0]<<h|f[1]>>>32-h])}function l(f,h){return h%=64,h===0?f:h<32?[f[0]<<h|f[1]>>>32-h,f[1]<<h]:[f[1]<<h-32,0]}function d(f,h){return[f[0]^h[0],f[1]^h[1]]}function m(f){return f=d(f,[0,f[0]>>>1]),f=a(f,[4283543511,3981806797]),f=d(f,[0,f[0]>>>1]),f=a(f,[3301882366,444984403]),f=d(f,[0,f[0]>>>1]),f}r.x86.hash32=function(f,h){if(r.inputValidation&&!n(f))return e;h=h||0;for(var p=f.length%4,w=f.length-p,g=h,b=0,v=3432918353,E=461845907,T=0;T<w;T=T+4)b=f[T]|f[T+1]<<8|f[T+2]<<16|f[T+3]<<24,b=o(b,v),b=i(b,15),b=o(b,E),g^=b,g=i(g,13),g=o(g,5)+3864292196;switch(b=0,p){case 3:b^=f[T+2]<<16;case 2:b^=f[T+1]<<8;case 1:b^=f[T],b=o(b,v),b=i(b,15),b=o(b,E),g^=b}return g^=f.length,g=s(g),g>>>0},r.x86.hash128=function(f,h){if(r.inputValidation&&!n(f))return e;h=h||0;for(var p=f.length%16,w=f.length-p,g=h,b=h,v=h,E=h,T=0,U=0,A=0,P=0,le=597399067,Do=2869860233,No=951274213,Uo=2716044179,M=0;M<w;M=M+16)T=f[M]|f[M+1]<<8|f[M+2]<<16|f[M+3]<<24,U=f[M+4]|f[M+5]<<8|f[M+6]<<16|f[M+7]<<24,A=f[M+8]|f[M+9]<<8|f[M+10]<<16|f[M+11]<<24,P=f[M+12]|f[M+13]<<8|f[M+14]<<16|f[M+15]<<24,T=o(T,le),T=i(T,15),T=o(T,Do),g^=T,g=i(g,19),g+=b,g=o(g,5)+1444728091,U=o(U,Do),U=i(U,16),U=o(U,No),b^=U,b=i(b,17),b+=v,b=o(b,5)+197830471,A=o(A,No),A=i(A,17),A=o(A,Uo),v^=A,v=i(v,15),v+=E,v=o(v,5)+2530024501,P=o(P,Uo),P=i(P,18),P=o(P,le),E^=P,E=i(E,13),E+=g,E=o(E,5)+850148119;switch(T=0,U=0,A=0,P=0,p){case 15:P^=f[M+14]<<16;case 14:P^=f[M+13]<<8;case 13:P^=f[M+12],P=o(P,Uo),P=i(P,18),P=o(P,le),E^=P;case 12:A^=f[M+11]<<24;case 11:A^=f[M+10]<<16;case 10:A^=f[M+9]<<8;case 9:A^=f[M+8],A=o(A,No),A=i(A,17),A=o(A,Uo),v^=A;case 8:U^=f[M+7]<<24;case 7:U^=f[M+6]<<16;case 6:U^=f[M+5]<<8;case 5:U^=f[M+4],U=o(U,Do),U=i(U,16),U=o(U,No),b^=U;case 4:T^=f[M+3]<<24;case 3:T^=f[M+2]<<16;case 2:T^=f[M+1]<<8;case 1:T^=f[M],T=o(T,le),T=i(T,15),T=o(T,Do),g^=T}return g^=f.length,b^=f.length,v^=f.length,E^=f.length,g+=b,g+=v,g+=E,b+=g,v+=g,E+=g,g=s(g),b=s(b),v=s(v),E=s(E),g+=b,g+=v,g+=E,b+=g,v+=g,E+=g,("00000000"+(g>>>0).toString(16)).slice(-8)+("00000000"+(b>>>0).toString(16)).slice(-8)+("00000000"+(v>>>0).toString(16)).slice(-8)+("00000000"+(E>>>0).toString(16)).slice(-8)},r.x64.hash128=function(f,h){if(r.inputValidation&&!n(f))return e;h=h||0;for(var p=f.length%16,w=f.length-p,g=[0,h],b=[0,h],v=[0,0],E=[0,0],T=[2277735313,289559509],U=[1291169091,658871167],A=0;A<w;A=A+16)v=[f[A+4]|f[A+5]<<8|f[A+6]<<16|f[A+7]<<24,f[A]|f[A+1]<<8|f[A+2]<<16|f[A+3]<<24],E=[f[A+12]|f[A+13]<<8|f[A+14]<<16|f[A+15]<<24,f[A+8]|f[A+9]<<8|f[A+10]<<16|f[A+11]<<24],v=a(v,T),v=u(v,31),v=a(v,U),g=d(g,v),g=u(g,27),g=c(g,b),g=c(a(g,[0,5]),[0,1390208809]),E=a(E,U),E=u(E,33),E=a(E,T),b=d(b,E),b=u(b,31),b=c(b,g),b=c(a(b,[0,5]),[0,944331445]);switch(v=[0,0],E=[0,0],p){case 15:E=d(E,l([0,f[A+14]],48));case 14:E=d(E,l([0,f[A+13]],40));case 13:E=d(E,l([0,f[A+12]],32));case 12:E=d(E,l([0,f[A+11]],24));case 11:E=d(E,l([0,f[A+10]],16));case 10:E=d(E,l([0,f[A+9]],8));case 9:E=d(E,[0,f[A+8]]),E=a(E,U),E=u(E,33),E=a(E,T),b=d(b,E);case 8:v=d(v,l([0,f[A+7]],56));case 7:v=d(v,l([0,f[A+6]],48));case 6:v=d(v,l([0,f[A+5]],40));case 5:v=d(v,l([0,f[A+4]],32));case 4:v=d(v,l([0,f[A+3]],24));case 3:v=d(v,l([0,f[A+2]],16));case 2:v=d(v,l([0,f[A+1]],8));case 1:v=d(v,[0,f[A]]),v=a(v,T),v=u(v,31),v=a(v,U),g=d(g,v)}return g=d(g,[0,f.length]),b=d(b,[0,f.length]),g=c(g,b),b=c(b,g),g=m(g),b=m(b),g=c(g,b),b=c(b,g),("00000000"+(g[0]>>>0).toString(16)).slice(-8)+("00000000"+(g[1]>>>0).toString(16)).slice(-8)+("00000000"+(b[0]>>>0).toString(16)).slice(-8)+("00000000"+(b[1]>>>0).toString(16)).slice(-8)},typeof uo<"u"?(typeof Ss<"u"&&Ss.exports&&(uo=Ss.exports=r),uo.murmurHash3=r):typeof define=="function"&&define.amd?define([],function(){return r}):(r._murmurHash3=t.murmurHash3,r.noConflict=function(){return t.murmurHash3=r._murmurHash3,r._murmurHash3=e,r.noConflict=e,r},t.murmurHash3=r)})(uo)});var Uu=H((O3,Am)=>{Am.exports=Sm()});var rt=H((EC,Zm)=>{"use strict";function Ym(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function z2(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return Ym(t,r)}catch{r.message=t.message,r.stack=t.stack;let o=function(){};return o.prototype=Object.create(Object.getPrototypeOf(t)),Ym(new o,r)}}Zm.exports=z2});var xg=H((cT,bg)=>{"use strict";bg.exports=class{constructor(){this._bitArrays=[],this._data=[],this._length=0,this._changedLength=!1,this._changedData=!1}set(e,r){let n=this._internalPositionFor(e,!1);if(r===void 0)n!==-1&&(this._unsetInternalPos(n),this._unsetBit(e),this._changedLength=!0,this._changedData=!0);else{let o=!1;n===-1?(n=this._data.length,this._setBit(e),this._changedData=!0):o=!0,this._setInternalPos(n,e,r,o),this._changedLength=!0}}unset(e){this.set(e,void 0)}get(e){this._sortData();let r=this._internalPositionFor(e,!0);if(r!==-1)return this._data[r][1]}push(e){return this.set(this.length,e),this.length}get length(){if(this._sortData(),this._changedLength){let e=this._data[this._data.length-1];this._length=e?e[0]+1:0,this._changedLength=!1}return this._length}forEach(e){let r=0;for(;r<this.length;)e(this.get(r),r,this),r++}map(e){let r=0,n=new Array(this.length);for(;r<this.length;)n[r]=e(this.get(r),r,this),r++;return n}reduce(e,r){let n=0,o=r;for(;n<this.length;){let i=this.get(n);o=e(o,i,n),n++}return o}find(e){let r=0,n,o;for(;r<this.length&&!n;)o=this.get(r),n=e(o),r++;return n?o:void 0}_internalPositionFor(e,r){let n=this._bytePosFor(e,r);if(n>=this._bitArrays.length)return-1;let o=this._bitArrays[n],i=e-n*7;if(!((o&1<<i)>0))return-1;let c=this._bitArrays.slice(0,n).reduce(rv,0),a=~(4294967295<<i+1),u=wg(o&a);return c+u-1}_bytePosFor(e,r){let n=Math.floor(e/7),o=n+1;for(;!r&&this._bitArrays.length<o;)this._bitArrays.push(0);return n}_setBit(e){let r=this._bytePosFor(e,!1);this._bitArrays[r]|=1<<e-r*7}_unsetBit(e){let r=this._bytePosFor(e,!1);this._bitArrays[r]&=~(1<<e-r*7)}_setInternalPos(e,r,n,o){let i=this._data,s=[r,n];if(o)this._sortData(),i[e]=s;else{if(i.length)if(i[i.length-1][0]>=r)i.push(s);else if(i[0][0]<=r)i.unshift(s);else{let c=Math.round(i.length/2);this._data=i.slice(0,c).concat(s).concat(i.slice(c))}else this._data.push(s);this._changedData=!0,this._changedLength=!0}}_unsetInternalPos(e){this._data.splice(e,1)}_sortData(){this._changedData&&this._data.sort(nv),this._changedData=!1}bitField(){let e=[],r=8,n=0,o=0,i,s=this._bitArrays.slice();for(;s.length||n;){n===0&&(i=s.shift(),n=7);let a=Math.min(n,r),u=~(255<<a),l=i&u;o|=l<<8-r,i=i>>>a,n-=a,r-=a,(!r||!n&&!s.length)&&(e.push(o),o=0,r=8)}for(var c=e.length-1;c>0&&e[c]===0;c--)e.pop();return e}compactArray(){return this._sortData(),this._data.map(ov)}};function rv(t,e){return t+wg(e)}function wg(t){let e=t;return e=e-(e>>1&1431655765),e=(e&858993459)+(e>>2&858993459),(e+(e>>4)&252645135)*16843009>>24}function nv(t,e){return t[0]-e[0]}function ov(t){return t[1]}});var Hg=H((k4,ll)=>{"use strict";var Qv=Object.prototype.hasOwnProperty,ue="~";function xo(){}Object.create&&(xo.prototype=Object.create(null),new xo().__proto__||(ue=!1));function Jv(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function $g(t,e,r,n,o){if(typeof r!="function")throw new TypeError("The listener must be a function");var i=new Jv(r,n||t,o),s=ue?ue+e:e;return t._events[s]?t._events[s].fn?t._events[s]=[t._events[s],i]:t._events[s].push(i):(t._events[s]=i,t._eventsCount++),t}function $s(t,e){--t._eventsCount===0?t._events=new xo:delete t._events[e]}function se(){this._events=new xo,this._eventsCount=0}se.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)Qv.call(r,n)&&e.push(ue?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};se.prototype.listeners=function(e){var r=ue?ue+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,i=n.length,s=new Array(i);o<i;o++)s[o]=n[o].fn;return s};se.prototype.listenerCount=function(e){var r=ue?ue+e:e,n=this._events[r];return n?n.fn?1:n.length:0};se.prototype.emit=function(e,r,n,o,i,s){var c=ue?ue+e:e;if(!this._events[c])return!1;var a=this._events[c],u=arguments.length,l,d;if(a.fn){switch(a.once&&this.removeListener(e,a.fn,void 0,!0),u){case 1:return a.fn.call(a.context),!0;case 2:return a.fn.call(a.context,r),!0;case 3:return a.fn.call(a.context,r,n),!0;case 4:return a.fn.call(a.context,r,n,o),!0;case 5:return a.fn.call(a.context,r,n,o,i),!0;case 6:return a.fn.call(a.context,r,n,o,i,s),!0}for(d=1,l=new Array(u-1);d<u;d++)l[d-1]=arguments[d];a.fn.apply(a.context,l)}else{var m=a.length,f;for(d=0;d<m;d++)switch(a[d].once&&this.removeListener(e,a[d].fn,void 0,!0),u){case 1:a[d].fn.call(a[d].context);break;case 2:a[d].fn.call(a[d].context,r);break;case 3:a[d].fn.call(a[d].context,r,n);break;case 4:a[d].fn.call(a[d].context,r,n,o);break;default:if(!l)for(f=1,l=new Array(u-1);f<u;f++)l[f-1]=arguments[f];a[d].fn.apply(a[d].context,l)}}return!0};se.prototype.on=function(e,r,n){return $g(this,e,r,n,!1)};se.prototype.once=function(e,r,n){return $g(this,e,r,n,!0)};se.prototype.removeListener=function(e,r,n,o){var i=ue?ue+e:e;if(!this._events[i])return this;if(!r)return $s(this,i),this;var s=this._events[i];if(s.fn)s.fn===r&&(!o||s.once)&&(!n||s.context===n)&&$s(this,i);else{for(var c=0,a=[],u=s.length;c<u;c++)(s[c].fn!==r||o&&!s[c].once||n&&s[c].context!==n)&&a.push(s[c]);a.length?this._events[i]=a.length===1?a[0]:a:$s(this,i)}return this};se.prototype.removeAllListeners=function(e){var r;return e?(r=ue?ue+e:e,this._events[r]&&$s(this,r)):(this._events=new xo,this._eventsCount=0),this};se.prototype.off=se.prototype.removeListener;se.prototype.addListener=se.prototype.on;se.prefixed=ue;se.EventEmitter=se;typeof ll<"u"&&(ll.exports=se)});var Fo="0123456789abcdef",Mo=class t{constructor(e){this.bytes=e}static ofInner(e){if(e.length!==16)throw new TypeError("not 128-bit length");return new t(e)}static fromFieldsV7(e,r,n,o){if(!Number.isInteger(e)||!Number.isInteger(r)||!Number.isInteger(n)||!Number.isInteger(o)||e<0||r<0||n<0||o<0||e>0xffffffffffff||r>4095||n>1073741823||o>4294967295)throw new RangeError("invalid field value");let i=new Uint8Array(16);return i[0]=e/2**40,i[1]=e/2**32,i[2]=e/2**24,i[3]=e/2**16,i[4]=e/2**8,i[5]=e,i[6]=112|r>>>8,i[7]=r,i[8]=128|n>>>24,i[9]=n>>>16,i[10]=n>>>8,i[11]=n,i[12]=o>>>24,i[13]=o>>>16,i[14]=o>>>8,i[15]=o,new t(i)}static parse(e){var r,n,o,i;let s;switch(e.length){case 32:s=(r=/^[0-9a-f]{32}$/i.exec(e))===null||r===void 0?void 0:r[0];break;case 36:s=(n=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(e))===null||n===void 0?void 0:n.slice(1,6).join("");break;case 38:s=(o=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(e))===null||o===void 0?void 0:o.slice(1,6).join("");break;case 45:s=(i=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(e))===null||i===void 0?void 0:i.slice(1,6).join("");break;default:break}if(s){let c=new Uint8Array(16);for(let a=0;a<16;a+=4){let u=parseInt(s.substring(2*a,2*a+8),16);c[a+0]=u>>>24,c[a+1]=u>>>16,c[a+2]=u>>>8,c[a+3]=u}return new t(c)}else throw new SyntaxError("could not parse UUID string")}toString(){let e="";for(let r=0;r<this.bytes.length;r++)e+=Fo.charAt(this.bytes[r]>>>4),e+=Fo.charAt(this.bytes[r]&15),(r===3||r===5||r===7||r===9)&&(e+="-");return e}toHex(){let e="";for(let r=0;r<this.bytes.length;r++)e+=Fo.charAt(this.bytes[r]>>>4),e+=Fo.charAt(this.bytes[r]&15);return e}toJSON(){return this.toString()}getVariant(){let e=this.bytes[8]>>>4;if(e<0)throw new Error("unreachable");if(e<=7)return this.bytes.every(r=>r===0)?"NIL":"VAR_0";if(e<=11)return"VAR_10";if(e<=13)return"VAR_110";if(e<=15)return this.bytes.every(r=>r===255)?"MAX":"VAR_RESERVED";throw new Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new t(this.bytes.slice(0))}equals(e){return this.compareTo(e)===0}compareTo(e){for(let r=0;r<16;r++){let n=this.bytes[r]-e.bytes[r];if(n!==0)return Math.sign(n)}return 0}},ea=class{constructor(e){this.timestamp=0,this.counter=0,this.random=e??vw()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(e,r){let n=this.generateOrAbortCore(e,r);return n===void 0&&(this.timestamp=0,n=this.generateOrAbortCore(e,r)),n}generateOrAbortCore(e,r){if(!Number.isInteger(e)||e<1||e>0xffffffffffff)throw new RangeError("`unixTsMs` must be a 48-bit positive integer");if(r<0||r>0xffffffffffff)throw new RangeError("`rollbackAllowance` out of reasonable range");if(e>this.timestamp)this.timestamp=e,this.resetCounter();else if(e+r>=this.timestamp)this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter());else return;return Mo.fromFieldsV7(this.timestamp,Math.trunc(this.counter/2**30),this.counter&2**30-1,this.random.nextUint32())}resetCounter(){this.counter=this.random.nextUint32()*1024+(this.random.nextUint32()&1023)}generateV4(){let e=new Uint8Array(Uint32Array.of(this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32()).buffer);return e[6]=64|e[6]>>>4,e[8]=128|e[8]>>>2,Mo.ofInner(e)}},vw=()=>{if(typeof crypto<"u"&&typeof crypto.getRandomValues<"u")return new ta;if(typeof UUIDV7_DENY_WEAK_RNG<"u"&&UUIDV7_DENY_WEAK_RNG)throw new Error("no cryptographically strong RNG available");return{nextUint32:()=>Math.trunc(Math.random()*65536)*65536+Math.trunc(Math.random()*65536)}},ta=class{constructor(){this.buffer=new Uint32Array(8),this.cursor=65535}nextUint32(){return this.cursor>=this.buffer.length&&(crypto.getRandomValues(this.buffer),this.cursor=0),this.buffer[this.cursor++]}},El,Sl=()=>Ew().toString(),Ew=()=>(El||(El=new ea)).generate();function Al(t,e=1/0,r=!1){let n=[],o=!1;async function i(){if(o||n.length===0)return;o=!0;let s=n.splice(0,e),c=s.map(a=>a.task);if(r){let a=c.map(async(u,l)=>{try{let d=await t([u]);s[l].resolve(d)}catch(d){s[l].reject(d)}});await Promise.all(a)}else try{let a=await t(c);s.forEach(u=>u.resolve(a))}catch(a){s.forEach(u=>u.reject(a))}o=!1,i()}return{push(s){return new Promise((c,a)=>{n.push({task:s,resolve:c,reject:a}),i()})}}}var Sw=Cl,_l=128,Aw=127,_w=~Aw,Bw=Math.pow(2,31);function Cl(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Bw;)e[r++]=t&255|_l,t/=128;for(;t&_w;)e[r++]=t&255|_l,t>>>=7;return e[r]=t|0,Cl.bytes=r-n+1,e}var Cw=ra,Tw=128,Bl=127;function ra(t,n){var r=0,n=n||0,o=0,i=n,s,c=t.length;do{if(i>=c)throw ra.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=o<28?(s&Bl)<<o:(s&Bl)*Math.pow(2,o),o+=7}while(s>=Tw);return ra.bytes=i-n,r}var Iw=Math.pow(2,7),Lw=Math.pow(2,14),Dw=Math.pow(2,21),Nw=Math.pow(2,28),Uw=Math.pow(2,35),Pw=Math.pow(2,42),Fw=Math.pow(2,49),Mw=Math.pow(2,56),Ow=Math.pow(2,63),Rw=function(t){return t<Iw?1:t<Lw?2:t<Dw?3:t<Nw?4:t<Uw?5:t<Pw?6:t<Fw?7:t<Mw?8:t<Ow?9:10},zw={encode:Sw,decode:Cw,encodingLength:Rw},$w=zw,yn=$w;var mn=(t,e=0)=>[yn.decode(t,e),yn.decode.bytes],yr=(t,e,r=0)=>(yn.encode(t,e,r),e),mr=t=>yn.encodingLength(t);var wE=new Uint8Array(0);var Tl=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},ot=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")};var Il=t=>new TextEncoder().encode(t),Ll=t=>new TextDecoder().decode(t);var Pt=(t,e)=>{let r=e.byteLength,n=mr(t),o=n+mr(r),i=new Uint8Array(o+r);return yr(t,i,0),yr(r,i,n),i.set(e,o),new gr(t,r,e,i)},wr=t=>{let e=ot(t),[r,n]=mn(e),[o,i]=mn(e.subarray(n)),s=e.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new gr(r,o,s,e)},Dl=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Tl(t.bytes,r.bytes)}},gr=class{constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};var ca={};Y(ca,{base58btc:()=>He,base58flickr:()=>Kw});function Hw(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<t.length;o++){var i=t.charAt(o),s=i.charCodeAt(0);if(r[s]!==255)throw new TypeError(i+" is ambiguous");r[s]=o}var c=t.length,a=t.charAt(0),u=Math.log(c)/Math.log(256),l=Math.log(256)/Math.log(c);function d(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,w=0,g=0,b=h.length;g!==b&&h[g]===0;)g++,p++;for(var v=(b-g)*l+1>>>0,E=new Uint8Array(v);g!==b;){for(var T=h[g],U=0,A=v-1;(T!==0||U<w)&&A!==-1;A--,U++)T+=256*E[A]>>>0,E[A]=T%c>>>0,T=T/c>>>0;if(T!==0)throw new Error("Non-zero carry");w=U,g++}for(var P=v-w;P!==v&&E[P]===0;)P++;for(var le=a.repeat(p);P<v;++P)le+=t.charAt(E[P]);return le}function m(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var w=0,g=0;h[p]===a;)w++,p++;for(var b=(h.length-p)*u+1>>>0,v=new Uint8Array(b);h[p];){var E=r[h.charCodeAt(p)];if(E===255)return;for(var T=0,U=b-1;(E!==0||T<g)&&U!==-1;U--,T++)E+=c*v[U]>>>0,v[U]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error("Non-zero carry");g=T,p++}if(h[p]!==" "){for(var A=b-g;A!==b&&v[A]===0;)A++;for(var P=new Uint8Array(w+(b-A)),le=w;A!==b;)P[le++]=v[A++];return P}}}function f(h){var p=m(h);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:m,decode:f}}var jw=Hw,Vw=jw,Nl=Vw;var oa=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},ia=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}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 Ul(this,e)}},sa=class{constructor(e){this.decoders=e}or(e){return Ul(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Ul=(t,e)=>new sa({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),aa=class{constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new oa(e,r,n),this.decoder=new ia(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},br=({name:t,prefix:e,encode:r,decode:n})=>new aa(t,e,r,n),yt=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:o}=Nl(r,e);return br({prefix:t,name:e,encode:n,decode:i=>ot(o(i))})},qw=(t,e,r,n)=>{let o={};for(let l=0;l<e.length;++l)o[e[l]]=l;let i=t.length;for(;t[i-1]==="=";)--i;let s=new Uint8Array(i*r/8|0),c=0,a=0,u=0;for(let l=0;l<i;++l){let d=o[t[l]];if(d===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|d,c+=r,c>=8&&(c-=8,s[u++]=255&a>>c)}if(c>=r||255&a<<8-c)throw new SyntaxError("Unexpected end of data");return s},Ww=(t,e,r)=>{let n=e[e.length-1]==="=",o=(1<<r)-1,i="",s=0,c=0;for(let a=0;a<t.length;++a)for(c=c<<8|t[a],s+=8;s>r;)s-=r,i+=e[o&c>>s];if(s&&(i+=e[o&c<<r-s]),n)for(;i.length*r&7;)i+="=";return i},G=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>br({prefix:e,name:t,encode(o){return Ww(o,n,r)},decode(o){return qw(o,n,r,t)}});var He=yt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Kw=yt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var ua={};Y(ua,{base32:()=>xr,base32hex:()=>Xw,base32hexpad:()=>Zw,base32hexpadupper:()=>eb,base32hexupper:()=>Yw,base32pad:()=>Qw,base32padupper:()=>Jw,base32upper:()=>Gw,base32z:()=>tb});var xr=G({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Gw=G({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Qw=G({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Jw=G({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Xw=G({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Yw=G({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Zw=G({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),eb=G({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),tb=G({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var la=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return nb(r,fa(t),e||He.encoder);default:return ob(r,fa(t),e||xr.encoder)}};var Pl=new WeakMap,fa=t=>{let e=Pl.get(t);if(e==null){let r=new Map;return Pl.set(t,r),r}return e},j=class t{constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,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:r}=this;if(e!==gn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==ib)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}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:r}=this.multihash,n=Pt(e,r);return t.createV1(this.code,n)}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,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Dl(e.multihash,n.multihash)}toString(e){return la(this,e)}toJSON(){return{"/":la(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:i,bytes:s}=r;return new t(n,o,i,s||Fl(n,o,i.bytes))}else if(r[sb]===!0){let{version:n,multihash:o,code:i}=r,s=wr(o);return t.create(n,i,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==gn)throw new Error(`Version 0 CID must use dag-pb (code: ${gn}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=Fl(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,gn,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,o=ot(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let i=o.subarray(r.multihashSize-r.digestSize),s=new gr(r.multihashCode,r.digestSize,i,o);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[d,m]=mn(e.subarray(r));return r+=m,d},o=n(),i=gn;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,c=n(),a=n(),u=r+a,l=u-s;return{version:o,codec:i,multihashCode:c,digestSize:a,multihashSize:l,size:u}}static parse(e,r){let[n,o]=rb(e,r),i=t.decode(o);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return fa(i).set(n,e),i}},rb=(t,e)=>{switch(t[0]){case"Q":{let r=e||He;return[He.prefix,r.decode(`${He.prefix}${t}`)]}case He.prefix:{let r=e||He;return[He.prefix,r.decode(t)]}case xr.prefix:{let r=e||xr;return[xr.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},nb=(t,e,r)=>{let{prefix:n}=r;if(n!==He.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let i=r.encode(t).slice(1);return e.set(n,i),i}else return o},ob=(t,e,r)=>{let{prefix:n}=r,o=e.get(n);if(o==null){let i=r.encode(t);return e.set(n,i),i}else return o},gn=112,ib=18,Fl=(t,e,r)=>{let n=mr(t),o=n+mr(e),i=new Uint8Array(o+r.byteLength);return yr(t,i,0),yr(e,i,n),i.set(r,o),i},sb=Symbol.for("@ipld/js-cid/CID");var Ml=(t,e)=>j.parse(t,e);var je,_e=class{constructor(e){nt(this,je,new Map);e&&fe(this,je,new Map(e.map(r=>[r.cid.toString(),r.bytes])))}async get(e){let r=Z(this,je).get(e.toString());if(r)return{cid:e,bytes:r}}async put(e,r){Z(this,je).set(e.toString(),r)}putSync(e,r){Z(this,je).set(e.toString(),r)}async delete(e){Z(this,je).delete(e.toString())}deleteSync(e){Z(this,je).delete(e.toString())}*entries(){for(let[e,r]of Z(this,je))yield{cid:Ml(e),bytes:r}}};je=new WeakMap;var wn,Mt=class{constructor(...e){nt(this,wn,void 0);fe(this,wn,e)}async get(e){for(let r of Z(this,wn)){let n=await r.get(e);if(n)return n}}};wn=new WeakMap;var da=class{constructor(e){k(this,"value");k(this,"next");this.value=e}},Ve,Ot,Rt,bn=class{constructor(){nt(this,Ve,void 0);nt(this,Ot,void 0);nt(this,Rt,void 0);this.clear()}enqueue(e){let r=new da(e);Z(this,Ve)?(Z(this,Ot).next=r,fe(this,Ot,r)):(fe(this,Ve,r),fe(this,Ot,r)),Zs(this,Rt)._++}dequeue(){let e=Z(this,Ve);if(e)return fe(this,Ve,Z(this,Ve).next),Zs(this,Rt)._--,e.value}clear(){fe(this,Ve,void 0),fe(this,Ot,void 0),fe(this,Rt,0)}get size(){return Z(this,Rt)}*[Symbol.iterator](){let e=Z(this,Ve);for(;e;)yield e.value,e=e.next}};Ve=new WeakMap,Ot=new WeakMap,Rt=new WeakMap;function xn(t){if(!((Number.isInteger(t)||t===Number.POSITIVE_INFINITY)&&t>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=new bn,r=0,n=()=>{r--,e.size>0&&e.dequeue()()},o=async(c,a,u)=>{r++;let l=(async()=>c(...u))();a(l);try{await l}catch{}n()},i=(c,a,u)=>{e.enqueue(o.bind(void 0,c,a,u)),(async()=>(await Promise.resolve(),r<t&&e.size>0&&e.dequeue()()))()},s=(c,...a)=>new Promise(u=>{i(c,u,a)});return Object.defineProperties(s,{activeCount:{get:()=>r},pendingCount:{get:()=>e.size},clearQueue:{value:()=>{e.clear()}}}),s}var q={};Y(q,{code:()=>La,decode:()=>Tr,encode:()=>Yo,name:()=>b0});var ab=["string","number","bigint","symbol"],cb=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Ol(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(ab.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(ub(t))return"Buffer";let r=lb(t);return r||"Object"}function ub(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function lb(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(cb.includes(e))return e}var y=class{constructor(e,r,n){this.major=e,this.majorEncoded=e<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};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 S=class{constructor(e,r,n){this.type=e,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var kr=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",fb=new TextDecoder,db=new TextEncoder;function Ro(t){return kr&&globalThis.Buffer.isBuffer(t)}function kn(t){return t instanceof Uint8Array?Ro(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var Hl=kr?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):zl(t,e,r):(t,e,r)=>r-e>64?fb.decode(t.subarray(e,r)):zl(t,e,r),zo=kr?t=>t.length>64?globalThis.Buffer.from(t):Rl(t):t=>t.length>64?db.encode(t):Rl(t),qe=t=>Uint8Array.from(t),vr=kr?(t,e,r)=>Ro(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),jl=kr?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),kn(globalThis.Buffer.concat(t,e))):(t,e)=>{let r=new Uint8Array(e),n=0;for(let o of t)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},Vl=kr?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function ql(t,e){if(Ro(t)&&Ro(e))return t.compare(e);for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]<e[r]?-1:1;return 0}function Rl(t,e=1/0){let r,n=t.length,o=null,i=[];for(let s=0;s<n;++s){if(r=t.charCodeAt(s),r>55295&&r<57344){if(!o){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}else if(s+1===n){(e-=3)>-1&&i.push(239,191,189);continue}o=r;continue}if(r<56320){(e-=3)>-1&&i.push(239,191,189),o=r;continue}r=(o-55296<<10|r-56320)+65536}else o&&(e-=3)>-1&&i.push(239,191,189);if(o=null,r<128){if((e-=1)<0)break;i.push(r)}else if(r<2048){if((e-=2)<0)break;i.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return i}function zl(t,e,r){let n=[];for(;e<r;){let o=t[e],i=null,s=o>239?4:o>223?3:o>191?2:1;if(e+s<=r){let c,a,u,l;switch(s){case 1:o<128&&(i=o);break;case 2:c=t[e+1],(c&192)===128&&(l=(o&31)<<6|c&63,l>127&&(i=l));break;case 3:c=t[e+1],a=t[e+2],(c&192)===128&&(a&192)===128&&(l=(o&15)<<12|(c&63)<<6|a&63,l>2047&&(l<55296||l>57343)&&(i=l));break;case 4:c=t[e+1],a=t[e+2],u=t[e+3],(c&192)===128&&(a&192)===128&&(u&192)===128&&(l=(o&15)<<18|(c&63)<<12|(a&63)<<6|u&63,l>65535&&l<1114112&&(i=l))}}i===null?(i=65533,s=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|i&1023),n.push(i),e+=s}return ha(n)}var $l=4096;function ha(t){let e=t.length;if(e<=$l)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=$l));return r}var hb=256,vn=class{constructor(e=hb){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 r=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(e,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(r=Vl(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=vr(n,0,this.cursor)}else r=jl(this.chunks,this.cursor);return e&&this.reset(),r}};var I="CBOR decode error:",it="CBOR encode error:",En=[];En[23]=1;En[24]=2;En[25]=3;En[26]=5;En[27]=9;function st(t,e,r){if(t.length-e<r)throw new Error(`${I} not enough data for type`)}var ee=[24,256,65536,4294967296,BigInt("18446744073709551616")];function ye(t,e,r){st(t,e,1);let n=t[e];if(r.strict===!0&&n<ee[0])throw new Error(`${I} integer encoded in more bytes than necessary (strict decode)`);return n}function me(t,e,r){st(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<ee[1])throw new Error(`${I} integer encoded in more bytes than necessary (strict decode)`);return n}function ge(t,e,r){st(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<ee[2])throw new Error(`${I} integer encoded in more bytes than necessary (strict decode)`);return n}function we(t,e,r){st(t,e,8);let n=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(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&i<ee[3])throw new Error(`${I} integer encoded in more bytes than necessary (strict decode)`);if(i<=Number.MAX_SAFE_INTEGER)return Number(i);if(r.allowBigInt===!0)return i;throw new Error(`${I} integers outside of the safe integer range are not supported`)}function Wl(t,e,r,n){return new S(y.uint,ye(t,e+1,n),2)}function Kl(t,e,r,n){return new S(y.uint,me(t,e+1,n),3)}function Gl(t,e,r,n){return new S(y.uint,ge(t,e+1,n),5)}function Ql(t,e,r,n){return new S(y.uint,we(t,e+1,n),9)}function Be(t,e){return ne(t,0,e.value)}function ne(t,e,r){if(r<ee[0]){let n=Number(r);t.push([e|n])}else if(r<ee[1]){let n=Number(r);t.push([e|24,n])}else if(r<ee[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<ee[3]){let n=Number(r);t.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<ee[4]){let o=[e|27,0,0,0,0,0,0,0],i=Number(n&BigInt(4294967295)),s=Number(n>>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]=s&255,s=s>>8,o[3]=s&255,s=s>>8,o[2]=s&255,s=s>>8,o[1]=s&255,t.push(o)}else throw new Error(`${I} encountered BigInt larger than allowable range`)}}Be.encodedSize=function(e){return ne.encodedSize(e.value)};ne.encodedSize=function(e){return e<ee[0]?1:e<ee[1]?2:e<ee[2]?3:e<ee[3]?5:9};Be.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function Jl(t,e,r,n){return new S(y.negint,-1-ye(t,e+1,n),2)}function Xl(t,e,r,n){return new S(y.negint,-1-me(t,e+1,n),3)}function Yl(t,e,r,n){return new S(y.negint,-1-ge(t,e+1,n),5)}var pa=BigInt(-1),Zl=BigInt(1);function ef(t,e,r,n){let o=we(t,e+1,n);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new S(y.negint,i,9)}if(n.allowBigInt!==!0)throw new Error(`${I} integers outside of the safe integer range are not supported`);return new S(y.negint,pa-BigInt(o),9)}function $o(t,e){let r=e.value,n=typeof r=="bigint"?r*pa-Zl:r*-1-1;ne(t,e.type.majorEncoded,n)}$o.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*pa-Zl:r*-1-1;return n<ee[0]?1:n<ee[1]?2:n<ee[2]?3:n<ee[3]?5:9};$o.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function Sn(t,e,r,n){st(t,e,r+n);let o=vr(t,e+r,e+r+n);return new S(y.bytes,o,r+n)}function tf(t,e,r,n){return Sn(t,e,1,r)}function rf(t,e,r,n){return Sn(t,e,2,ye(t,e+1,n))}function nf(t,e,r,n){return Sn(t,e,3,me(t,e+1,n))}function of(t,e,r,n){return Sn(t,e,5,ge(t,e+1,n))}function sf(t,e,r,n){let o=we(t,e+1,n);if(typeof o=="bigint")throw new Error(`${I} 64-bit integer bytes lengths not supported`);return Sn(t,e,9,o)}function Ho(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===y.string?zo(t.value):t.value),t.encodedBytes}function Er(t,e){let r=Ho(e);ne(t,e.type.majorEncoded,r.length),t.push(r)}Er.encodedSize=function(e){let r=Ho(e);return ne.encodedSize(r.length)+r.length};Er.compareTokens=function(e,r){return yb(Ho(e),Ho(r))};function yb(t,e){return t.length<e.length?-1:t.length>e.length?1:ql(t,e)}function An(t,e,r,n,o){let i=r+n;st(t,e,i);let s=new S(y.string,Hl(t,e+r,e+i),i);return o.retainStringBytes===!0&&(s.byteValue=vr(t,e+r,e+i)),s}function af(t,e,r,n){return An(t,e,1,r,n)}function cf(t,e,r,n){return An(t,e,2,ye(t,e+1,n),n)}function uf(t,e,r,n){return An(t,e,3,me(t,e+1,n),n)}function lf(t,e,r,n){return An(t,e,5,ge(t,e+1,n),n)}function ff(t,e,r,n){let o=we(t,e+1,n);if(typeof o=="bigint")throw new Error(`${I} 64-bit integer string lengths not supported`);return An(t,e,9,o,n)}var df=Er;function Sr(t,e,r,n){return new S(y.array,n,r)}function hf(t,e,r,n){return Sr(t,e,1,r)}function pf(t,e,r,n){return Sr(t,e,2,ye(t,e+1,n))}function yf(t,e,r,n){return Sr(t,e,3,me(t,e+1,n))}function mf(t,e,r,n){return Sr(t,e,5,ge(t,e+1,n))}function gf(t,e,r,n){let o=we(t,e+1,n);if(typeof o=="bigint")throw new Error(`${I} 64-bit integer array lengths not supported`);return Sr(t,e,9,o)}function wf(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${I} indefinite length items not allowed`);return Sr(t,e,1,1/0)}function jo(t,e){ne(t,y.array.majorEncoded,e.value)}jo.compareTokens=Be.compareTokens;jo.encodedSize=function(e){return ne.encodedSize(e.value)};function Ar(t,e,r,n){return new S(y.map,n,r)}function bf(t,e,r,n){return Ar(t,e,1,r)}function xf(t,e,r,n){return Ar(t,e,2,ye(t,e+1,n))}function kf(t,e,r,n){return Ar(t,e,3,me(t,e+1,n))}function vf(t,e,r,n){return Ar(t,e,5,ge(t,e+1,n))}function Ef(t,e,r,n){let o=we(t,e+1,n);if(typeof o=="bigint")throw new Error(`${I} 64-bit integer map lengths not supported`);return Ar(t,e,9,o)}function Sf(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${I} indefinite length items not allowed`);return Ar(t,e,1,1/0)}function Vo(t,e){ne(t,y.map.majorEncoded,e.value)}Vo.compareTokens=Be.compareTokens;Vo.encodedSize=function(e){return ne.encodedSize(e.value)};function Af(t,e,r,n){return new S(y.tag,r,1)}function _f(t,e,r,n){return new S(y.tag,ye(t,e+1,n),2)}function Bf(t,e,r,n){return new S(y.tag,me(t,e+1,n),3)}function Cf(t,e,r,n){return new S(y.tag,ge(t,e+1,n),5)}function Tf(t,e,r,n){return new S(y.tag,we(t,e+1,n),9)}function qo(t,e){ne(t,y.tag.majorEncoded,e.value)}qo.compareTokens=Be.compareTokens;qo.encodedSize=function(e){return ne.encodedSize(e.value)};var kb=20,vb=21,Eb=22,Sb=23;function If(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${I} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new S(y.null,null,1):new S(y.undefined,void 0,1)}function Lf(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${I} indefinite length items not allowed`);return new S(y.break,void 0,1)}function ya(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${I} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${I} Infinity values are not supported`)}return new S(y.float,t,e)}function Df(t,e,r,n){return ya(ma(t,e+1),3,n)}function Nf(t,e,r,n){return ya(ga(t,e+1),5,n)}function Uf(t,e,r,n){return ya(Of(t,e+1),9,n)}function Wo(t,e,r){let n=e.value;if(n===!1)t.push([y.float.majorEncoded|kb]);else if(n===!0)t.push([y.float.majorEncoded|vb]);else if(n===null)t.push([y.float.majorEncoded|Eb]);else if(n===void 0)t.push([y.float.majorEncoded|Sb]);else{let o,i=!1;(!r||r.float64!==!0)&&(Ff(n),o=ma(Ne,1),n===o||Number.isNaN(n)?(Ne[0]=249,t.push(Ne.slice(0,3)),i=!0):(Mf(n),o=ga(Ne,1),n===o&&(Ne[0]=250,t.push(Ne.slice(0,5)),i=!0))),i||(Ab(n),o=Of(Ne,1),Ne[0]=251,t.push(Ne.slice(0,9)))}}Wo.encodedSize=function(e,r){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){Ff(n);let o=ma(Ne,1);if(n===o||Number.isNaN(n))return 3;if(Mf(n),o=ga(Ne,1),n===o)return 5}return 9};var Pf=new ArrayBuffer(9),Ce=new DataView(Pf,1),Ne=new Uint8Array(Pf,0);function Ff(t){if(t===1/0)Ce.setUint16(0,31744,!1);else if(t===-1/0)Ce.setUint16(0,64512,!1);else if(Number.isNaN(t))Ce.setUint16(0,32256,!1);else{Ce.setFloat32(0,t);let e=Ce.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)Ce.setUint16(0,31744,!1);else if(r===0)Ce.setUint16(0,(t&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?Ce.setUint16(0,0):o<-14?Ce.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):Ce.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function ma(t,e){if(t.length-e<2)throw new Error(`${I} not enough data for float16`);let r=(t[e]<<8)+t[e+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,i;return n===0?i=o*2**-24:n!==31?i=(o+1024)*2**(n-25):i=o===0?1/0:NaN,r&32768?-i:i}function Mf(t){Ce.setFloat32(0,t,!1)}function ga(t,e){if(t.length-e<4)throw new Error(`${I} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function Ab(t){Ce.setFloat64(0,t,!1)}function Of(t,e){if(t.length-e<8)throw new Error(`${I} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}Wo.compareTokens=Be.compareTokens;function R(t,e,r){throw new Error(`${I} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function Ko(t){return()=>{throw new Error(`${I} ${t}`)}}var _=[];for(let t=0;t<=23;t++)_[t]=R;_[24]=Wl;_[25]=Kl;_[26]=Gl;_[27]=Ql;_[28]=R;_[29]=R;_[30]=R;_[31]=R;for(let t=32;t<=55;t++)_[t]=R;_[56]=Jl;_[57]=Xl;_[58]=Yl;_[59]=ef;_[60]=R;_[61]=R;_[62]=R;_[63]=R;for(let t=64;t<=87;t++)_[t]=tf;_[88]=rf;_[89]=nf;_[90]=of;_[91]=sf;_[92]=R;_[93]=R;_[94]=R;_[95]=Ko("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)_[t]=af;_[120]=cf;_[121]=uf;_[122]=lf;_[123]=ff;_[124]=R;_[125]=R;_[126]=R;_[127]=Ko("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)_[t]=hf;_[152]=pf;_[153]=yf;_[154]=mf;_[155]=gf;_[156]=R;_[157]=R;_[158]=R;_[159]=wf;for(let t=160;t<=183;t++)_[t]=bf;_[184]=xf;_[185]=kf;_[186]=vf;_[187]=Ef;_[188]=R;_[189]=R;_[190]=R;_[191]=Sf;for(let t=192;t<=215;t++)_[t]=Af;_[216]=_f;_[217]=Bf;_[218]=Cf;_[219]=Tf;_[220]=R;_[221]=R;_[222]=R;_[223]=R;for(let t=224;t<=243;t++)_[t]=Ko("simple values are not supported");_[244]=R;_[245]=R;_[246]=R;_[247]=If;_[248]=Ko("simple values are not supported");_[249]=Df;_[250]=Nf;_[251]=Uf;_[252]=R;_[253]=R;_[254]=R;_[255]=Lf;var Ue=[];for(let t=0;t<24;t++)Ue[t]=new S(y.uint,t,1);for(let t=-1;t>=-24;t--)Ue[31-t]=new S(y.negint,t,1);Ue[64]=new S(y.bytes,new Uint8Array(0),1);Ue[96]=new S(y.string,"",1);Ue[128]=new S(y.array,0,1);Ue[160]=new S(y.map,0,1);Ue[244]=new S(y.false,!1,1);Ue[245]=new S(y.true,!0,1);Ue[246]=new S(y.null,null,1);function Rf(t){switch(t.type){case y.false:return qe([244]);case y.true:return qe([245]);case y.null:return qe([246]);case y.bytes:return t.value.length?void 0:qe([64]);case y.string:return t.value===""?qe([96]):void 0;case y.array:return t.value===0?qe([128]):void 0;case y.map:return t.value===0?qe([160]):void 0;case y.uint:return t.value<24?qe([Number(t.value)]):void 0;case y.negint:if(t.value>=-24)return qe([31-Number(t.value)])}}var Bb={float64:!1,mapSorter:Ib,quickEncodeToken:Rf};function Cb(){let t=[];return t[y.uint.major]=Be,t[y.negint.major]=$o,t[y.bytes.major]=Er,t[y.string.major]=df,t[y.array.major]=jo,t[y.map.major]=Vo,t[y.tag.major]=qo,t[y.float.major]=Wo,t}var zf=Cb(),wa=new vn,Qo=class t{constructor(e,r){this.obj=e,this.parent=r}includes(e){let r=this;do if(r.obj===e)return!0;while(r=r.parent);return!1}static createCheck(e,r){if(e&&e.includes(r))throw new Error(`${it} object contains circular references`);return new t(r,e)}},mt={null:new S(y.null,null),undefined:new S(y.undefined,void 0),true:new S(y.true,!0),false:new S(y.false,!1),emptyArray:new S(y.array,0),emptyMap:new S(y.map,0)},gt={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new S(y.float,t):t>=0?new S(y.uint,t):new S(y.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new S(y.uint,t):new S(y.negint,t)},Uint8Array(t,e,r,n){return new S(y.bytes,t)},string(t,e,r,n){return new S(y.string,t)},boolean(t,e,r,n){return t?mt.true:mt.false},null(t,e,r,n){return mt.null},undefined(t,e,r,n){return mt.undefined},ArrayBuffer(t,e,r,n){return new S(y.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new S(y.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[mt.emptyArray,new S(y.break)]:mt.emptyArray;n=Qo.createCheck(n,t);let o=[],i=0;for(let s of t)o[i++]=Go(s,r,n);return r.addBreakTokens?[new S(y.array,t.length),o,new S(y.break)]:[new S(y.array,t.length),o]},Object(t,e,r,n){let o=e!=="Object",i=o?t.keys():Object.keys(t),s=o?t.size:i.length;if(!s)return r.addBreakTokens===!0?[mt.emptyMap,new S(y.break)]:mt.emptyMap;n=Qo.createCheck(n,t);let c=[],a=0;for(let u of i)c[a++]=[Go(u,r,n),Go(o?t.get(u):t[u],r,n)];return Tb(c,r),r.addBreakTokens?[new S(y.map,s),c,new S(y.break)]:[new S(y.map,s),c]}};gt.Map=gt.Object;gt.Buffer=gt.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))gt[`${t}Array`]=gt.DataView;function Go(t,e={},r){let n=Ol(t),o=e&&e.typeEncoders&&e.typeEncoders[n]||gt[n];if(typeof o=="function"){let s=o(t,n,e,r);if(s!=null)return s}let i=gt[n];if(!i)throw new Error(`${it} unsupported type: ${n}`);return i(t,n,e,r)}function Tb(t,e){e.mapSorter&&t.sort(e.mapSorter)}function Ib(t,e){let r=Array.isArray(t[0])?t[0][0]:t[0],n=Array.isArray(e[0])?e[0][0]:e[0];if(r.type!==n.type)return r.type.compare(n.type);let o=r.type.major,i=zf[o].compareTokens(r,n);return i===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),i}function $f(t,e,r,n){if(Array.isArray(e))for(let o of e)$f(t,o,r,n);else r[e.type.major](t,e,n)}function ba(t,e,r){let n=Go(t,r);if(!Array.isArray(n)&&r.quickEncodeToken){let o=r.quickEncodeToken(n);if(o)return o;let i=e[n.type.major];if(i.encodedSize){let s=i.encodedSize(n,r),c=new vn(s);if(i(c,n,r),c.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return kn(c.chunks[0])}}return wa.reset(),$f(wa,n,e,r),wa.toBytes(!0)}function xa(t,e){return e=Object.assign({},Bb,e),ba(t,zf,e)}var Lb={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},ka=class{constructor(e,r={}){this.pos=0,this.data=e,this.options=r}done(){return this.pos>=this.data.length}next(){let e=this.data[this.pos],r=Ue[e];if(r===void 0){let n=_[e];if(!n)throw new Error(`${I} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let o=e&31;r=n(this.data,this.pos,o,this.options)}return this.pos+=r.encodedLength,r}},_n=Symbol.for("DONE"),Jo=Symbol.for("BREAK");function Db(t,e,r){let n=[];for(let o=0;o<t.value;o++){let i=Bn(e,r);if(i===Jo){if(t.value===1/0)break;throw new Error(`${I} got unexpected break to lengthed array`)}if(i===_n)throw new Error(`${I} found array but not enough entries (got ${o}, expected ${t.value})`);n[o]=i}return n}function Nb(t,e,r){let n=r.useMaps===!0,o=n?void 0:{},i=n?new Map:void 0;for(let s=0;s<t.value;s++){let c=Bn(e,r);if(c===Jo){if(t.value===1/0)break;throw new Error(`${I} got unexpected break to lengthed map`)}if(c===_n)throw new Error(`${I} found map but not enough entries (got ${s} [no key], expected ${t.value})`);if(n!==!0&&typeof c!="string")throw new Error(`${I} non-string keys not supported (got ${typeof c})`);if(r.rejectDuplicateMapKeys===!0&&(n&&i.has(c)||!n&&c in o))throw new Error(`${I} found repeat map key "${c}"`);let a=Bn(e,r);if(a===_n)throw new Error(`${I} found map but not enough entries (got ${s} [no value], expected ${t.value})`);n?i.set(c,a):o[c]=a}return n?i:o}function Bn(t,e){if(t.done())return _n;let r=t.next();if(r.type===y.break)return Jo;if(r.type.terminal)return r.value;if(r.type===y.array)return Db(r,t,e);if(r.type===y.map)return Nb(r,t,e);if(r.type===y.tag){if(e.tags&&typeof e.tags[r.value]=="function"){let n=Bn(t,e);return e.tags[r.value](n)}throw new Error(`${I} tag not supported (${r.value})`)}throw new Error("unsupported")}function Cn(t,e){if(!(t instanceof Uint8Array))throw new Error(`${I} data to decode must be a Uint8Array`);e=Object.assign({},Lb,e);let r=e.tokenizer||new ka(t,e),n=Bn(r,e);if(n===_n)throw new Error(`${I} did not find any content to decode`);if(n===Jo)throw new Error(`${I} got unexpected break`);if(!r.done())throw new Error(`${I} too many terminals, data makes no sense`);return n}var Pb=Vf,Hf=128,Fb=127,Mb=~Fb,Ob=Math.pow(2,31);function Vf(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Ob;)e[r++]=t&255|Hf,t/=128;for(;t&Mb;)e[r++]=t&255|Hf,t>>>=7;return e[r]=t|0,Vf.bytes=r-n+1,e}var Rb=va,zb=128,jf=127;function va(t,n){var r=0,n=n||0,o=0,i=n,s,c=t.length;do{if(i>=c)throw va.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=o<28?(s&jf)<<o:(s&jf)*Math.pow(2,o),o+=7}while(s>=zb);return va.bytes=i-n,r}var $b=Math.pow(2,7),Hb=Math.pow(2,14),jb=Math.pow(2,21),Vb=Math.pow(2,28),qb=Math.pow(2,35),Wb=Math.pow(2,42),Kb=Math.pow(2,49),Gb=Math.pow(2,56),Qb=Math.pow(2,63),Jb=function(t){return t<$b?1:t<Hb?2:t<jb?3:t<Vb?4:t<qb?5:t<Wb?6:t<Kb?7:t<Gb?8:t<Qb?9:10},Xb={encode:Pb,decode:Rb,encodingLength:Jb},Yb=Xb,Tn=Yb;var In=(t,e=0)=>[Tn.decode(t,e),Tn.decode.bytes],_r=(t,e,r=0)=>(Tn.encode(t,e,r),e),Br=t=>Tn.encodingLength(t);var $t={};Y($t,{coerce:()=>Te,empty:()=>qf,equals:()=>Sa,fromHex:()=>e0,fromString:()=>r0,isBinary:()=>t0,toHex:()=>Zb,toString:()=>n0});var qf=new Uint8Array(0),Zb=t=>t.reduce((e,r)=>e+r.toString(16).padStart(2,"0"),""),e0=t=>{let e=t.match(/../g);return e?new Uint8Array(e.map(r=>parseInt(r,16))):qf},Sa=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Te=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")},t0=t=>t instanceof ArrayBuffer||ArrayBuffer.isView(t),r0=t=>new TextEncoder().encode(t),n0=t=>new TextDecoder().decode(t);var Ht=(t,e)=>{let r=e.byteLength,n=Br(t),o=n+Br(r),i=new Uint8Array(o+r);return _r(t,i,0),_r(r,i,n),i.set(e,o),new Cr(t,r,e,i)},Xo=t=>{let e=Te(t),[r,n]=In(e),[o,i]=In(e.subarray(n)),s=e.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new Cr(r,o,s,e)},Wf=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Sa(t.bytes,r.bytes)}},Cr=class{constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};function o0(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<t.length;o++){var i=t.charAt(o),s=i.charCodeAt(0);if(r[s]!==255)throw new TypeError(i+" is ambiguous");r[s]=o}var c=t.length,a=t.charAt(0),u=Math.log(c)/Math.log(256),l=Math.log(256)/Math.log(c);function d(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,w=0,g=0,b=h.length;g!==b&&h[g]===0;)g++,p++;for(var v=(b-g)*l+1>>>0,E=new Uint8Array(v);g!==b;){for(var T=h[g],U=0,A=v-1;(T!==0||U<w)&&A!==-1;A--,U++)T+=256*E[A]>>>0,E[A]=T%c>>>0,T=T/c>>>0;if(T!==0)throw new Error("Non-zero carry");w=U,g++}for(var P=v-w;P!==v&&E[P]===0;)P++;for(var le=a.repeat(p);P<v;++P)le+=t.charAt(E[P]);return le}function m(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var w=0,g=0;h[p]===a;)w++,p++;for(var b=(h.length-p)*u+1>>>0,v=new Uint8Array(b);h[p];){var E=r[h.charCodeAt(p)];if(E===255)return;for(var T=0,U=b-1;(E!==0||T<g)&&U!==-1;U--,T++)E+=c*v[U]>>>0,v[U]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error("Non-zero carry");g=T,p++}if(h[p]!==" "){for(var A=b-g;A!==b&&v[A]===0;)A++;for(var P=new Uint8Array(w+(b-A)),le=w;A!==b;)P[le++]=v[A++];return P}}}function f(h){var p=m(h);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:m,decode:f}}var i0=o0,s0=i0,Kf=s0;var Aa=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},_a=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}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 Gf(this,e)}},Ba=class{constructor(e){this.decoders=e}or(e){return Gf(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Gf=(t,e)=>new Ba({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Ca=class{constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Aa(e,r,n),this.decoder=new _a(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Qf=({name:t,prefix:e,encode:r,decode:n})=>new Ca(t,e,r,n),Ta=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:o}=Kf(r,e);return Qf({prefix:t,name:e,encode:n,decode:i=>Te(o(i))})},a0=(t,e,r,n)=>{let o={};for(let l=0;l<e.length;++l)o[e[l]]=l;let i=t.length;for(;t[i-1]==="=";)--i;let s=new Uint8Array(i*r/8|0),c=0,a=0,u=0;for(let l=0;l<i;++l){let d=o[t[l]];if(d===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|d,c+=r,c>=8&&(c-=8,s[u++]=255&a>>c)}if(c>=r||255&a<<8-c)throw new SyntaxError("Unexpected end of data");return s},c0=(t,e,r)=>{let n=e[e.length-1]==="=",o=(1<<r)-1,i="",s=0,c=0;for(let a=0;a<t.length;++a)for(c=c<<8|t[a],s+=8;s>r;)s-=r,i+=e[o&c>>s];if(s&&(i+=e[o&c<<r-s]),n)for(;i.length*r&7;)i+="=";return i},ae=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Qf({prefix:e,name:t,encode(o){return c0(o,n,r)},decode(o){return a0(o,n,r,t)}});var at=Ta({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),GS=Ta({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Dn=ae({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),XS=ae({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),YS=ae({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ZS=ae({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),eA=ae({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),tA=ae({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),rA=ae({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),nA=ae({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),oA=ae({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Jf=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return l0(r,Ia(t),e||at.encoder);default:return f0(r,Ia(t),e||Dn.encoder)}};var Xf=new WeakMap,Ia=t=>{let e=Xf.get(t);if(e==null){let r=new Map;return Xf.set(t,r),r}return e},V=class t{constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,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:r}=this;if(e!==Nn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==d0)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}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:r}=this.multihash,n=Ht(e,r);return t.createV1(this.code,n)}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,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Wf(e.multihash,n.multihash)}toString(e){return Jf(this,e)}toJSON(){return{"/":Jf(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:i,bytes:s}=r;return new t(n,o,i,s||Yf(n,o,i.bytes))}else if(r[h0]===!0){let{version:n,multihash:o,code:i}=r,s=Xo(o);return t.create(n,i,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Nn)throw new Error(`Version 0 CID must use dag-pb (code: ${Nn}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=Yf(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Nn,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,o=Te(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let i=o.subarray(r.multihashSize-r.digestSize),s=new Cr(r.multihashCode,r.digestSize,i,o);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[d,m]=In(e.subarray(r));return r+=m,d},o=n(),i=Nn;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,c=n(),a=n(),u=r+a,l=u-s;return{version:o,codec:i,multihashCode:c,digestSize:a,multihashSize:l,size:u}}static parse(e,r){let[n,o]=u0(e,r),i=t.decode(o);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ia(i).set(n,e),i}},u0=(t,e)=>{switch(t[0]){case"Q":{let r=e||at;return[at.prefix,r.decode(`${at.prefix}${t}`)]}case at.prefix:{let r=e||at;return[at.prefix,r.decode(t)]}case Dn.prefix:{let r=e||Dn;return[Dn.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},l0=(t,e,r)=>{let{prefix:n}=r;if(n!==at.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let i=r.encode(t).slice(1);return e.set(n,i),i}else return o},f0=(t,e,r)=>{let{prefix:n}=r,o=e.get(n);if(o==null){let i=r.encode(t);return e.set(n,i),i}else return o},Nn=112,d0=18,Yf=(t,e,r)=>{let n=Br(t),o=n+Br(e),i=new Uint8Array(o+r.byteLength);return _r(t,i,0),_r(e,i,n),i.set(r,o),i},h0=Symbol.for("@ipld/js-cid/CID");var Zf=42;function p0(t){if(t.asCID!==t&&t["/"]!==t.bytes)return null;let e=V.asCID(t);if(!e)return null;let r=new Uint8Array(e.bytes.byteLength+1);return r.set(e.bytes,1),[new S(y.tag,Zf),new S(y.bytes,r)]}function y0(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function m0(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}var g0={float64:!0,typeEncoders:{Object:p0,undefined:y0,number:m0}};function w0(t){if(t[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");return V.decode(t.subarray(1))}var ed={allowIndefinite:!1,coerceUndefinedToNull:!0,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};ed.tags[Zf]=w0;var b0="dag-cbor",La=113,Yo=t=>xa(t,g0),Tr=t=>Cn(t,ed);var wt={Null:t=>t===null,Int:t=>Number.isInteger(t),Float:t=>typeof t=="number"&&Number.isFinite(t),String:t=>typeof t=="string",Bool:t=>typeof t=="boolean",Bytes:t=>t instanceof Uint8Array,Link:t=>!wt.Null(t)&&typeof t=="object"&&t.asCID===t,List:t=>Array.isArray(t),Map:t=>!wt.Null(t)&&typeof t=="object"&&t.asCID!==t&&!wt.List(t)&&!wt.Bytes(t)},Ir={Int:wt.Int,"CarHeader > version":t=>Ir.Int(t),"CarHeader > roots (anon) > valueType (anon)":wt.Link,"CarHeader > roots (anon)":t=>wt.List(t)&&Array.prototype.every.call(t,Ir["CarHeader > roots (anon) > valueType (anon)"]),"CarHeader > roots":t=>Ir["CarHeader > roots (anon)"](t),CarHeader:t=>{let e=t&&Object.keys(t);return wt.Map(t)&&["version"].every(r=>e.includes(r))&&Object.entries(t).every(([r,n])=>Ir["CarHeader > "+r]&&Ir["CarHeader > "+r](n))}},Da=Ir.CarHeader;var bt=W(Zo(),1),Un={SHA2_256:18,LENGTH:32,DAG_PB:112},Pa=16+8+8+8;function Lr(t,e){if(!t.length)throw new Error("Unexpected end of data");let r=bt.default.decode(t);return e.seek(bt.default.decode.bytes),r}function Fa(t){let e=new DataView(t.buffer,t.byteOffset,t.byteLength),r=0;return{version:2,characteristics:[e.getBigUint64(r,!0),e.getBigUint64(r+=8,!0)],dataOffset:Number(e.getBigUint64(r+=8,!0)),dataSize:Number(e.getBigUint64(r+=8,!0)),indexOffset:Number(e.getBigUint64(r+=8,!0))}}function Ma(t){bt.default.decode(t);let e=bt.default.decode.bytes,r=bt.default.decode(t.subarray(bt.default.decode.bytes)),n=bt.default.decode.bytes;return e+n+r}async function Oa(t,e){let r=Lr(await t.upTo(8),t);if(r===0)throw new Error("Invalid CAR header (zero length)");let n=await t.exactly(r,!0),o=Tr(n);if(!Da(o))throw new Error("Invalid CAR header format");if(o.version!==1&&o.version!==2||e!==void 0&&o.version!==e)throw new Error(`Invalid CAR version: ${o.version}${e!==void 0?` (expected ${e})`:""}`);let i=Array.isArray(o.roots);if(o.version===1&&!i||o.version===2&&i)throw new Error("Invalid CAR header format");if(o.version===1)return o;let s=Fa(await t.exactly(Pa,!0));t.seek(s.dataOffset-t.pos);let c=await Oa(t,1);return Object.assign(c,s)}async function N0(t){let e=await t.exactly(2,!1);if(e[0]===Un.SHA2_256&&e[1]===Un.LENGTH){let s=await t.exactly(34,!0),c=wr(s);return j.create(0,Un.DAG_PB,c)}let r=Lr(await t.upTo(8),t);if(r!==1)throw new Error(`Unexpected CID version (${r})`);let n=Lr(await t.upTo(8),t),o=await t.exactly(Ma(await t.upTo(8)),!0),i=wr(o);return j.create(r,n,i)}async function ld(t){let e=t.pos,r=Lr(await t.upTo(8),t);if(r===0)throw new Error("Invalid CAR section (zero length)");r+=t.pos-e;let n=await N0(t),o=r-Number(t.pos-e);return{cid:n,length:r,blockLength:o}}async function U0(t){let{cid:e,blockLength:r}=await ld(t);return{bytes:await t.exactly(r,!0),cid:e}}async function P0(t){let e=t.pos,{cid:r,length:n,blockLength:o}=await ld(t),i={cid:r,length:n,blockLength:o,offset:e,blockOffset:t.pos};return t.seek(i.blockLength),i}function Dr(t){let e=(async()=>{let r=await Oa(t);if(r.version===2){let n=t.pos-r.dataOffset;t=M0(t,r.dataSize-n)}return r})();return{header:()=>e,async*blocks(){for(await e;(await t.upTo(8)).length>0;)yield await U0(t)},async*blocksIndex(){for(await e;(await t.upTo(8)).length>0;)yield await P0(t)}}}function jt(t){let e=0;return{async upTo(r){return t.subarray(e,e+Math.min(r,t.length-e))},async exactly(r,n=!1){if(r>t.length-e)throw new Error("Unexpected end of data");let o=t.subarray(e,e+r);return n&&(e+=r),o},seek(r){e+=r},get pos(){return e}}}function F0(t){let e=0,r=0,n=0,o=new Uint8Array(0),i=async s=>{r=o.length-n;let c=[o.subarray(n)];for(;r<s;){let u=await t();if(u==null)break;r<0?u.length>r&&c.push(u.subarray(-r)):c.push(u),r+=u.length}o=new Uint8Array(c.reduce((u,l)=>u+l.length,0));let a=0;for(let u of c)o.set(u,a),a+=u.length;n=0};return{async upTo(s){return o.length-n<s&&await i(s),o.subarray(n,n+Math.min(o.length-n,s))},async exactly(s,c=!1){if(o.length-n<s&&await i(s),o.length-n<s)throw new Error("Unexpected end of data");let a=o.subarray(n,n+s);return c&&(e+=s,n+=s),a},seek(s){e+=s,n+=s},get pos(){return e}}}function Nr(t){let e=t[Symbol.asyncIterator]();async function r(){let n=await e.next();return n.done?null:n.value}return F0(r)}function M0(t,e){let r=0;return{async upTo(n){let o=await t.upTo(n);return o.length+r>e&&(o=o.subarray(0,e-r)),o},async exactly(n,o=!1){let i=await t.exactly(n,o);if(i.length+r>e)throw new Error("Unexpected end of data");return o&&(r+=n),i},seek(n){r+=n,t.seek(n)},get pos(){return t.pos}}}var Vt=class{constructor(e,r){this._header=e,this._blocks=r,this._keys=r.map(n=>n.cid.toString())}get version(){return this._header.version}async getRoots(){return this._header.roots}async has(e){return this._keys.indexOf(e.toString())>-1}async get(e){let r=this._keys.indexOf(e.toString());return r>-1?this._blocks[r]:void 0}async*blocks(){for(let e of this._blocks)yield e}async*cids(){for(let e of this._blocks)yield e.cid}static async fromBytes(e){if(!(e instanceof Uint8Array))throw new TypeError("fromBytes() requires a Uint8Array");return fd(jt(e))}static async fromIterable(e){if(!e||typeof e[Symbol.asyncIterator]!="function")throw new TypeError("fromIterable() requires an async iterable");return fd(Nr(e))}};async function fd(t){let e=Dr(t),r=await e.header(),n=[];for await(let o of e.blocks())n.push(o);return new Vt(r,n)}var Pn=class{constructor(e,r,n){this._version=e,this._roots=r,this._iterator=n}get version(){return this._version}async getRoots(){return this._roots}[Symbol.asyncIterator](){return this._iterator}static async fromBytes(e){if(!(e instanceof Uint8Array))throw new TypeError("fromBytes() requires a Uint8Array");return dd(jt(e))}static async fromIterable(e){if(!e||typeof e[Symbol.asyncIterator]!="function")throw new TypeError("fromIterable() requires an async iterable");return dd(Nr(e))}};async function dd(t){let e=Dr(t),{version:r,roots:n}=await e.header();return new Pn(r,n,e.blocksIndex())}var ei=class{constructor(e,r,n){this._version=e,this._roots=r,this._iterable=n,this._decoded=!1}get version(){return this._version}async getRoots(){return this._roots}},Ra=class t extends ei{[Symbol.asyncIterator](){if(this._decoded)throw new Error("Cannot decode more than once");if(!this._iterable)throw new Error("Block iterable not found");return this._decoded=!0,this._iterable[Symbol.asyncIterator]()}static async fromBytes(e){let{version:r,roots:n,iterator:o}=await hd(e);return new t(r,n,o)}static async fromIterable(e){let{version:r,roots:n,iterator:o}=await pd(e);return new t(r,n,o)}},za=class t extends ei{[Symbol.asyncIterator](){if(this._decoded)throw new Error("Cannot decode more than once");if(!this._iterable)throw new Error("Block iterable not found");this._decoded=!0;let e=this._iterable[Symbol.asyncIterator]();return{async next(){let r=await e.next();return r.done?r:{done:!1,value:r.value.cid}}}}static async fromBytes(e){let{version:r,roots:n,iterator:o}=await hd(e);return new t(r,n,o)}static async fromIterable(e){let{version:r,roots:n,iterator:o}=await pd(e);return new t(r,n,o)}};async function hd(t){if(!(t instanceof Uint8Array))throw new TypeError("fromBytes() requires a Uint8Array");return yd(jt(t))}async function pd(t){if(!t||typeof t[Symbol.asyncIterator]!="function")throw new TypeError("fromIterable() requires an async iterable");return yd(Nr(t))}async function yd(t){let e=Dr(t),{version:r,roots:n}=await e.header();return{version:r,roots:n,iterator:e.blocks()}}var R0=W(Zo(),1);var md=class{constructor(e){this._iterator=e}[Symbol.asyncIterator](){if(this._iterating)throw new Error("Multiple iterator not supported");return this._iterating=!0,this._iterator}};var Rn=W(Zo(),1);var z0=["string","number","bigint","symbol"],$0=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function gd(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(z0.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(H0(t))return"Buffer";let r=j0(t);return r||"Object"}function H0(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function j0(t){let e=Object.prototype.toString.call(t).slice(8,-1);if($0.includes(e))return e}var x=class{constructor(e,r,n){this.major=e,this.majorEncoded=e<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};x.uint=new x(0,"uint",!0);x.negint=new x(1,"negint",!0);x.bytes=new x(2,"bytes",!0);x.string=new x(3,"string",!0);x.array=new x(4,"array",!1);x.map=new x(5,"map",!1);x.tag=new x(6,"tag",!1);x.float=new x(7,"float",!0);x.false=new x(7,"false",!0);x.true=new x(7,"true",!0);x.null=new x(7,"null",!0);x.undefined=new x(7,"undefined",!0);x.break=new x(7,"break",!0);var C=class{constructor(e,r,n){this.type=e,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var Ur=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",V0=new TextDecoder,q0=new TextEncoder;function ti(t){return Ur&&globalThis.Buffer.isBuffer(t)}function kd(t){return t instanceof Uint8Array?ti(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var vd=Ur?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):bd(t,e,r):(t,e,r)=>r-e>64?V0.decode(t.subarray(e,r)):bd(t,e,r),Ed=Ur?t=>t.length>64?globalThis.Buffer.from(t):wd(t):t=>t.length>64?q0.encode(t):wd(t),We=t=>Uint8Array.from(t),Pr=Ur?(t,e,r)=>ti(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),Sd=Ur?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),kd(globalThis.Buffer.concat(t,e))):(t,e)=>{let r=new Uint8Array(e),n=0;for(let o of t)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},Ad=Ur?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function _d(t,e){if(ti(t)&&ti(e))return t.compare(e);for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]<e[r]?-1:1;return 0}function wd(t,e=1/0){let r,n=t.length,o=null,i=[];for(let s=0;s<n;++s){if(r=t.charCodeAt(s),r>55295&&r<57344){if(!o){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}else if(s+1===n){(e-=3)>-1&&i.push(239,191,189);continue}o=r;continue}if(r<56320){(e-=3)>-1&&i.push(239,191,189),o=r;continue}r=(o-55296<<10|r-56320)+65536}else o&&(e-=3)>-1&&i.push(239,191,189);if(o=null,r<128){if((e-=1)<0)break;i.push(r)}else if(r<2048){if((e-=2)<0)break;i.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return i}function bd(t,e,r){let n=[];for(;e<r;){let o=t[e],i=null,s=o>239?4:o>223?3:o>191?2:1;if(e+s<=r){let c,a,u,l;switch(s){case 1:o<128&&(i=o);break;case 2:c=t[e+1],(c&192)===128&&(l=(o&31)<<6|c&63,l>127&&(i=l));break;case 3:c=t[e+1],a=t[e+2],(c&192)===128&&(a&192)===128&&(l=(o&15)<<12|(c&63)<<6|a&63,l>2047&&(l<55296||l>57343)&&(i=l));break;case 4:c=t[e+1],a=t[e+2],u=t[e+3],(c&192)===128&&(a&192)===128&&(u&192)===128&&(l=(o&15)<<18|(c&63)<<12|(a&63)<<6|u&63,l>65535&&l<1114112&&(i=l))}}i===null?(i=65533,s=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|i&1023),n.push(i),e+=s}return W0(n)}var xd=4096;function W0(t){let e=t.length;if(e<=xd)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=xd));return r}var K0=256,ri=class{constructor(e=K0){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 r=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(e,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(r=Ad(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=Pr(n,0,this.cursor)}else r=Sd(this.chunks,this.cursor);return e&&this.reset(),r}};var z="CBOR decode error:",$a="CBOR encode error:",Fn=[];Fn[23]=1;Fn[24]=2;Fn[25]=3;Fn[26]=5;Fn[27]=9;function ct(t,e,r){if(t.length-e<r)throw new Error(`${z} not enough data for type`)}var te=[24,256,65536,4294967296,BigInt("18446744073709551616")];function be(t,e,r){ct(t,e,1);let n=t[e];if(r.strict===!0&&n<te[0])throw new Error(`${z} integer encoded in more bytes than necessary (strict decode)`);return n}function xe(t,e,r){ct(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<te[1])throw new Error(`${z} integer encoded in more bytes than necessary (strict decode)`);return n}function ke(t,e,r){ct(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<te[2])throw new Error(`${z} integer encoded in more bytes than necessary (strict decode)`);return n}function ve(t,e,r){ct(t,e,8);let n=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(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&i<te[3])throw new Error(`${z} integer encoded in more bytes than necessary (strict decode)`);if(i<=Number.MAX_SAFE_INTEGER)return Number(i);if(r.allowBigInt===!0)return i;throw new Error(`${z} integers outside of the safe integer range are not supported`)}function Bd(t,e,r,n){return new C(x.uint,be(t,e+1,n),2)}function Cd(t,e,r,n){return new C(x.uint,xe(t,e+1,n),3)}function Td(t,e,r,n){return new C(x.uint,ke(t,e+1,n),5)}function Id(t,e,r,n){return new C(x.uint,ve(t,e+1,n),9)}function Ie(t,e){return oe(t,0,e.value)}function oe(t,e,r){if(r<te[0]){let n=Number(r);t.push([e|n])}else if(r<te[1]){let n=Number(r);t.push([e|24,n])}else if(r<te[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<te[3]){let n=Number(r);t.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<te[4]){let o=[e|27,0,0,0,0,0,0,0],i=Number(n&BigInt(4294967295)),s=Number(n>>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]=s&255,s=s>>8,o[3]=s&255,s=s>>8,o[2]=s&255,s=s>>8,o[1]=s&255,t.push(o)}else throw new Error(`${z} encountered BigInt larger than allowable range`)}}Ie.encodedSize=function(e){return oe.encodedSize(e.value)};oe.encodedSize=function(e){return e<te[0]?1:e<te[1]?2:e<te[2]?3:e<te[3]?5:9};Ie.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function Ld(t,e,r,n){return new C(x.negint,-1-be(t,e+1,n),2)}function Dd(t,e,r,n){return new C(x.negint,-1-xe(t,e+1,n),3)}function Nd(t,e,r,n){return new C(x.negint,-1-ke(t,e+1,n),5)}var Ha=BigInt(-1),Ud=BigInt(1);function Pd(t,e,r,n){let o=ve(t,e+1,n);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new C(x.negint,i,9)}if(n.allowBigInt!==!0)throw new Error(`${z} integers outside of the safe integer range are not supported`);return new C(x.negint,Ha-BigInt(o),9)}function ni(t,e){let r=e.value,n=typeof r=="bigint"?r*Ha-Ud:r*-1-1;oe(t,e.type.majorEncoded,n)}ni.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*Ha-Ud:r*-1-1;return n<te[0]?1:n<te[1]?2:n<te[2]?3:n<te[3]?5:9};ni.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function Mn(t,e,r,n){ct(t,e,r+n);let o=Pr(t,e+r,e+r+n);return new C(x.bytes,o,r+n)}function Fd(t,e,r,n){return Mn(t,e,1,r)}function Md(t,e,r,n){return Mn(t,e,2,be(t,e+1,n))}function Od(t,e,r,n){return Mn(t,e,3,xe(t,e+1,n))}function Rd(t,e,r,n){return Mn(t,e,5,ke(t,e+1,n))}function zd(t,e,r,n){let o=ve(t,e+1,n);if(typeof o=="bigint")throw new Error(`${z} 64-bit integer bytes lengths not supported`);return Mn(t,e,9,o)}function oi(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===x.string?Ed(t.value):t.value),t.encodedBytes}function Fr(t,e){let r=oi(e);oe(t,e.type.majorEncoded,r.length),t.push(r)}Fr.encodedSize=function(e){let r=oi(e);return oe.encodedSize(r.length)+r.length};Fr.compareTokens=function(e,r){return Q0(oi(e),oi(r))};function Q0(t,e){return t.length<e.length?-1:t.length>e.length?1:_d(t,e)}function On(t,e,r,n,o){let i=r+n;ct(t,e,i);let s=new C(x.string,vd(t,e+r,e+i),i);return o.retainStringBytes===!0&&(s.byteValue=Pr(t,e+r,e+i)),s}function $d(t,e,r,n){return On(t,e,1,r,n)}function Hd(t,e,r,n){return On(t,e,2,be(t,e+1,n),n)}function jd(t,e,r,n){return On(t,e,3,xe(t,e+1,n),n)}function Vd(t,e,r,n){return On(t,e,5,ke(t,e+1,n),n)}function qd(t,e,r,n){let o=ve(t,e+1,n);if(typeof o=="bigint")throw new Error(`${z} 64-bit integer string lengths not supported`);return On(t,e,9,o,n)}var Wd=Fr;function Mr(t,e,r,n){return new C(x.array,n,r)}function Kd(t,e,r,n){return Mr(t,e,1,r)}function Gd(t,e,r,n){return Mr(t,e,2,be(t,e+1,n))}function Qd(t,e,r,n){return Mr(t,e,3,xe(t,e+1,n))}function Jd(t,e,r,n){return Mr(t,e,5,ke(t,e+1,n))}function Xd(t,e,r,n){let o=ve(t,e+1,n);if(typeof o=="bigint")throw new Error(`${z} 64-bit integer array lengths not supported`);return Mr(t,e,9,o)}function Yd(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${z} indefinite length items not allowed`);return Mr(t,e,1,1/0)}function ii(t,e){oe(t,x.array.majorEncoded,e.value)}ii.compareTokens=Ie.compareTokens;ii.encodedSize=function(e){return oe.encodedSize(e.value)};function Or(t,e,r,n){return new C(x.map,n,r)}function Zd(t,e,r,n){return Or(t,e,1,r)}function eh(t,e,r,n){return Or(t,e,2,be(t,e+1,n))}function th(t,e,r,n){return Or(t,e,3,xe(t,e+1,n))}function rh(t,e,r,n){return Or(t,e,5,ke(t,e+1,n))}function nh(t,e,r,n){let o=ve(t,e+1,n);if(typeof o=="bigint")throw new Error(`${z} 64-bit integer map lengths not supported`);return Or(t,e,9,o)}function oh(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${z} indefinite length items not allowed`);return Or(t,e,1,1/0)}function si(t,e){oe(t,x.map.majorEncoded,e.value)}si.compareTokens=Ie.compareTokens;si.encodedSize=function(e){return oe.encodedSize(e.value)};function ih(t,e,r,n){return new C(x.tag,r,1)}function sh(t,e,r,n){return new C(x.tag,be(t,e+1,n),2)}function ah(t,e,r,n){return new C(x.tag,xe(t,e+1,n),3)}function ch(t,e,r,n){return new C(x.tag,ke(t,e+1,n),5)}function uh(t,e,r,n){return new C(x.tag,ve(t,e+1,n),9)}function ai(t,e){oe(t,x.tag.majorEncoded,e.value)}ai.compareTokens=Ie.compareTokens;ai.encodedSize=function(e){return oe.encodedSize(e.value)};var t1=20,r1=21,n1=22,o1=23;function lh(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${z} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new C(x.null,null,1):new C(x.undefined,void 0,1)}function fh(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${z} indefinite length items not allowed`);return new C(x.break,void 0,1)}function ja(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${z} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${z} Infinity values are not supported`)}return new C(x.float,t,e)}function dh(t,e,r,n){return ja(Va(t,e+1),3,n)}function hh(t,e,r,n){return ja(qa(t,e+1),5,n)}function ph(t,e,r,n){return ja(wh(t,e+1),9,n)}function ci(t,e,r){let n=e.value;if(n===!1)t.push([x.float.majorEncoded|t1]);else if(n===!0)t.push([x.float.majorEncoded|r1]);else if(n===null)t.push([x.float.majorEncoded|n1]);else if(n===void 0)t.push([x.float.majorEncoded|o1]);else{let o,i=!1;(!r||r.float64!==!0)&&(mh(n),o=Va(Pe,1),n===o||Number.isNaN(n)?(Pe[0]=249,t.push(Pe.slice(0,3)),i=!0):(gh(n),o=qa(Pe,1),n===o&&(Pe[0]=250,t.push(Pe.slice(0,5)),i=!0))),i||(i1(n),o=wh(Pe,1),Pe[0]=251,t.push(Pe.slice(0,9)))}}ci.encodedSize=function(e,r){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){mh(n);let o=Va(Pe,1);if(n===o||Number.isNaN(n))return 3;if(gh(n),o=qa(Pe,1),n===o)return 5}return 9};var yh=new ArrayBuffer(9),Le=new DataView(yh,1),Pe=new Uint8Array(yh,0);function mh(t){if(t===1/0)Le.setUint16(0,31744,!1);else if(t===-1/0)Le.setUint16(0,64512,!1);else if(Number.isNaN(t))Le.setUint16(0,32256,!1);else{Le.setFloat32(0,t);let e=Le.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)Le.setUint16(0,31744,!1);else if(r===0)Le.setUint16(0,(t&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?Le.setUint16(0,0):o<-14?Le.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):Le.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function Va(t,e){if(t.length-e<2)throw new Error(`${z} not enough data for float16`);let r=(t[e]<<8)+t[e+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,i;return n===0?i=o*2**-24:n!==31?i=(o+1024)*2**(n-25):i=o===0?1/0:NaN,r&32768?-i:i}function gh(t){Le.setFloat32(0,t,!1)}function qa(t,e){if(t.length-e<4)throw new Error(`${z} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function i1(t){Le.setFloat64(0,t,!1)}function wh(t,e){if(t.length-e<8)throw new Error(`${z} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}ci.compareTokens=Ie.compareTokens;function $(t,e,r){throw new Error(`${z} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function ui(t){return()=>{throw new Error(`${z} ${t}`)}}var B=[];for(let t=0;t<=23;t++)B[t]=$;B[24]=Bd;B[25]=Cd;B[26]=Td;B[27]=Id;B[28]=$;B[29]=$;B[30]=$;B[31]=$;for(let t=32;t<=55;t++)B[t]=$;B[56]=Ld;B[57]=Dd;B[58]=Nd;B[59]=Pd;B[60]=$;B[61]=$;B[62]=$;B[63]=$;for(let t=64;t<=87;t++)B[t]=Fd;B[88]=Md;B[89]=Od;B[90]=Rd;B[91]=zd;B[92]=$;B[93]=$;B[94]=$;B[95]=ui("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)B[t]=$d;B[120]=Hd;B[121]=jd;B[122]=Vd;B[123]=qd;B[124]=$;B[125]=$;B[126]=$;B[127]=ui("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)B[t]=Kd;B[152]=Gd;B[153]=Qd;B[154]=Jd;B[155]=Xd;B[156]=$;B[157]=$;B[158]=$;B[159]=Yd;for(let t=160;t<=183;t++)B[t]=Zd;B[184]=eh;B[185]=th;B[186]=rh;B[187]=nh;B[188]=$;B[189]=$;B[190]=$;B[191]=oh;for(let t=192;t<=215;t++)B[t]=ih;B[216]=sh;B[217]=ah;B[218]=ch;B[219]=uh;B[220]=$;B[221]=$;B[222]=$;B[223]=$;for(let t=224;t<=243;t++)B[t]=ui("simple values are not supported");B[244]=$;B[245]=$;B[246]=$;B[247]=lh;B[248]=ui("simple values are not supported");B[249]=dh;B[250]=hh;B[251]=ph;B[252]=$;B[253]=$;B[254]=$;B[255]=fh;var Ke=[];for(let t=0;t<24;t++)Ke[t]=new C(x.uint,t,1);for(let t=-1;t>=-24;t--)Ke[31-t]=new C(x.negint,t,1);Ke[64]=new C(x.bytes,new Uint8Array(0),1);Ke[96]=new C(x.string,"",1);Ke[128]=new C(x.array,0,1);Ke[160]=new C(x.map,0,1);Ke[244]=new C(x.false,!1,1);Ke[245]=new C(x.true,!0,1);Ke[246]=new C(x.null,null,1);function Wa(t){switch(t.type){case x.false:return We([244]);case x.true:return We([245]);case x.null:return We([246]);case x.bytes:return t.value.length?void 0:We([64]);case x.string:return t.value===""?We([96]):void 0;case x.array:return t.value===0?We([128]):void 0;case x.map:return t.value===0?We([160]):void 0;case x.uint:return t.value<24?We([Number(t.value)]):void 0;case x.negint:if(t.value>=-24)return We([31-Number(t.value)])}}function Ka(){let t=[];return t[x.uint.major]=Ie,t[x.negint.major]=ni,t[x.bytes.major]=Fr,t[x.string.major]=Wd,t[x.array.major]=ii,t[x.map.major]=si,t[x.tag.major]=ai,t[x.float.major]=ci,t}var R8=Ka(),z8=new ri,fi=class t{constructor(e,r){this.obj=e,this.parent=r}includes(e){let r=this;do if(r.obj===e)return!0;while(r=r.parent);return!1}static createCheck(e,r){if(e&&e.includes(r))throw new Error(`${$a} object contains circular references`);return new t(r,e)}},xt={null:new C(x.null,null),undefined:new C(x.undefined,void 0),true:new C(x.true,!0),false:new C(x.false,!1),emptyArray:new C(x.array,0),emptyMap:new C(x.map,0)},kt={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new C(x.float,t):t>=0?new C(x.uint,t):new C(x.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new C(x.uint,t):new C(x.negint,t)},Uint8Array(t,e,r,n){return new C(x.bytes,t)},string(t,e,r,n){return new C(x.string,t)},boolean(t,e,r,n){return t?xt.true:xt.false},null(t,e,r,n){return xt.null},undefined(t,e,r,n){return xt.undefined},ArrayBuffer(t,e,r,n){return new C(x.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new C(x.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[xt.emptyArray,new C(x.break)]:xt.emptyArray;n=fi.createCheck(n,t);let o=[],i=0;for(let s of t)o[i++]=li(s,r,n);return r.addBreakTokens?[new C(x.array,t.length),o,new C(x.break)]:[new C(x.array,t.length),o]},Object(t,e,r,n){let o=e!=="Object",i=o?t.keys():Object.keys(t),s=o?t.size:i.length;if(!s)return r.addBreakTokens===!0?[xt.emptyMap,new C(x.break)]:xt.emptyMap;n=fi.createCheck(n,t);let c=[],a=0;for(let u of i)c[a++]=[li(u,r,n),li(o?t.get(u):t[u],r,n)];return a1(c,r),r.addBreakTokens?[new C(x.map,s),c,new C(x.break)]:[new C(x.map,s),c]}};kt.Map=kt.Object;kt.Buffer=kt.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))kt[`${t}Array`]=kt.DataView;function li(t,e={},r){let n=gd(t),o=e&&e.typeEncoders&&e.typeEncoders[n]||kt[n];if(typeof o=="function"){let s=o(t,n,e,r);if(s!=null)return s}let i=kt[n];if(!i)throw new Error(`${$a} unsupported type: ${n}`);return i(t,n,e,r)}function a1(t,e){e.mapSorter&&t.sort(e.mapSorter)}var q8=Symbol.for("DONE"),W8=Symbol.for("BREAK");var c1=Ka(),u1={float64:!1,quickEncodeToken:Wa};function Ga(t,e=c1,r=u1){if(Array.isArray(t)){let n=0;for(let o of t)n+=Ga(o,e,r);return n}else{let n=e[t.type.major];if(n.encodedSize===void 0||typeof n.encodedSize!="function")throw new Error(`Encoder for ${t.type.name} does not have an encodedSize()`);return n.encodedSize(t,r)}}var Ja=class{constructor(e,r){this.bytes=e,this.byteOffset=r,this.roots=[],this.headerSize=r}addRoot(e,r){return l1(this,e,r),this}write(e){return f1(this,e),this}close(e){return d1(this,e)}},l1=(t,e,r={})=>{let{resize:n=!1}=r,{bytes:o,headerSize:i,byteOffset:s,roots:c}=t;t.roots.push(e);let a=di(t);if(a>i)if(a-i+s<o.byteLength)if(n)kh(t,a);else throw c.pop(),new RangeError(`Header of size ${i} has no capacity for new root ${e}.
|
2
|
+
However there is a space in the buffer and you could call addRoot(root, { resize: root }) to resize header to make a space for this root.`);else throw c.pop(),new RangeError(`Buffer has no capacity for a new root ${e}`)},xh=({cid:t,bytes:e})=>{let r=t.bytes.byteLength+e.byteLength;return Rn.default.encodingLength(r)+r},f1=(t,{cid:e,bytes:r})=>{let n=e.bytes.byteLength+r.byteLength,o=Rn.default.encode(n);if(t.byteOffset+o.length+n>t.bytes.byteLength)throw new RangeError("Buffer has no capacity for this block");Qa(t,o),Qa(t,e.bytes),Qa(t,r)},d1=(t,e={})=>{let{resize:r=!1}=e,{roots:n,bytes:o,byteOffset:i,headerSize:s}=t,c=Yo({version:1,roots:n}),a=Rn.default.encode(c.length),u=a.length+c.byteLength;if(s-u===0)return bh(t,a,c),o.subarray(0,i);if(r)return kh(t,u),bh(t,a,c),o.subarray(0,t.byteOffset);throw new RangeError(`Header size was overestimated.
|
3
|
+
You can use close({ resize: true }) to resize header`)},kh=(t,e)=>{let{bytes:r,headerSize:n}=t;r.set(r.subarray(n,t.byteOffset),e),t.byteOffset+=e-n,t.headerSize=e},Qa=(t,e)=>{t.bytes.set(e,t.byteOffset),t.byteOffset+=e.length},bh=({bytes:t},e,r)=>{t.set(e),t.set(r,e.length)},h1=[new C(x.map,2),new C(x.string,"version"),new C(x.uint,1),new C(x.string,"roots")],p1=new C(x.tag,42),y1=t=>{let e=[...h1];e.push(new C(x.array,t.length));for(let n of t)e.push(p1),e.push(new C(x.bytes,{length:n+1}));let r=Ga(e);return Rn.default.encodingLength(r)+r},di=({roots:t})=>y1(t.map(e=>e.bytes.byteLength));var vh=(t,e={})=>{let{roots:r=[],byteOffset:n=0,byteLength:o=t.byteLength,headerSize:i=di({roots:r})}=e,s=new Uint8Array(t,n,o),c=new Ja(s,i);for(let a of r)c.addRoot(a);return c};var Wt=({name:t,code:e,encode:r})=>new Xa(t,e,r),Xa=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Ht(this.code,r):r.then(n=>Ht(this.code,n))}else throw Error("Unknown type, must be binary type")}};function hi({enumerable:t=!0,configurable:e=!1}={}){return{enumerable:t,configurable:e,writable:!1}}function*g1(t,e){if(e!=null&&typeof e=="object")if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r],i=V.asCID(n);i?yield[o.join("/"),i]:typeof n=="object"&&(yield*Ya(n,o))}else{let r=V.asCID(e);r?yield[t.join("/"),r]:yield*Ya(e,t)}}function*Ya(t,e){if(t==null||t instanceof Uint8Array)return;let r=V.asCID(t);r&&(yield[e.join("/"),r]);for(let[n,o]of Object.entries(t)){let i=[...e,n];yield*g1(i,o)}}function*w1(t,e){if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r];yield o.join("/"),typeof n=="object"&&!V.asCID(n)&&(yield*Za(n,o))}else yield*Za(e,t)}function*Za(t,e){if(!(t==null||typeof t!="object"))for(let[r,n]of Object.entries(t)){let o=[...e,r];yield o.join("/"),n!=null&&!(n instanceof Uint8Array)&&typeof n=="object"&&!V.asCID(n)&&(yield*w1(o,n))}}function b1(t,e){let r=t;for(let[n,o]of e.entries()){if(r=r[o],r==null)throw new Error(`Object has no property at ${e.slice(0,n+1).map(s=>`[${JSON.stringify(s)}]`).join("")}`);let i=V.asCID(r);if(i)return{value:i,remaining:e.slice(n+1).join("/")}}return{value:r}}var zn=class{constructor({cid:e,bytes:r,value:n}){if(!e||!r||typeof n>"u")throw new Error("Missing required argument");this.cid=e,this.bytes=r,this.value=n,this.asBlock=this,Object.defineProperties(this,{cid:hi(),bytes:hi(),value:hi(),asBlock:hi()})}links(){return Ya(this.value,[])}tree(){return Za(this.value,[])}get(e="/"){return b1(this.value,e.split("/").filter(Boolean))}};async function Ge({value:t,codec:e,hasher:r}){if(typeof t>"u")throw new Error('Missing required argument "value"');if(!e||!r)throw new Error("Missing required argument: codec or hasher");let n=e.encode(t),o=await r.digest(n),i=V.create(1,e.code,o);return new zn({value:t,bytes:n,cid:i})}async function vt({bytes:t,codec:e,hasher:r}){if(!t)throw new Error('Missing required argument "bytes"');if(!e||!r)throw new Error("Missing required argument: codec or hasher");let n=e.decode(t),o=await r.digest(t),i=V.create(1,e.code,o);return new zn({value:n,bytes:t,cid:i})}function x1({bytes:t,cid:e,value:r,codec:n}){let o=r!==void 0?r:n&&n.decode(t);if(o===void 0)throw new Error('Missing required argument, must either provide "value" or "codec"');return new zn({cid:e,bytes:t,value:o})}async function pi({bytes:t,cid:e,hasher:r,codec:n}){if(!t)throw new Error('Missing required argument "bytes"');if(!r)throw new Error('Missing required argument "hasher"');let o=n.decode(t),i=await r.digest(t);if(!$t.equals(e.multihash.bytes,i.bytes))throw new Error("CID hash does not match bytes");return x1({bytes:t,cid:e,value:o,codec:n})}var Sh=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),de=Wt({name:"sha2-256",code:18,encode:Sh("SHA-256")}),k_=Wt({name:"sha2-512",code:19,encode:Sh("SHA-512")});var Et={};Y(Et,{code:()=>$n,decode:()=>E1,encode:()=>v1,name:()=>k1});var k1="raw",$n=85,v1=t=>Te(t),E1=t=>Te(t);async function yi(t,e){let r=0,n=di({roots:t});r+=n;for(let{cid:s,bytes:c}of e.entries())r+=xh({cid:s,bytes:c});let o=new Uint8Array(r),i=vh(o,{headerSize:n});for(let s of t)i.addRoot(s);for(let{cid:s,bytes:c}of e.entries())i.write({cid:s,bytes:c});return i.close(),await Ge({value:i.bytes,hasher:de,codec:Et})}async function Ah(t){return await Ge({value:{fp:t},hasher:de,codec:q})}async function _h(t){let e=await t.getRoots(),r=await t.get(e[0]);if(!r)throw new Error("missing header block");let{value:n}=await vt({bytes:r.bytes,hasher:de,codec:q});if(n&&n.fp===void 0)throw new Error("missing fp");let{fp:o}=n;return o}var Kt={};Y(Kt,{code:()=>C1,crypto:()=>T1,decode:()=>B1,decrypt:()=>wi,encode:()=>_1,encrypt:()=>bi,name:()=>I1});function mi(){try{return window.crypto&&window.crypto.subtle?window.crypto:new Crypto}catch{return null}}var Hn=mi();function gi(t){let e=new Uint8Array(t);return t>0&&Hn.getRandomValues(e),e}var S1=t=>{t=+t;let e=new Uint8Array(4);return e[3]=t>>>24,e[2]=t>>>16,e[1]=t>>>8,e[0]=t&255,e},A1=t=>{let e=t.byteLength-4;return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216},Bh=t=>{let e=t.map(i=>i instanceof ArrayBuffer?new Uint8Array(i):i),r=e.reduce((i,s)=>i+s.length,0),n=new Uint8Array(r),o=0;for(let i of e)n.set(i,o),o+=i.length;return n},_1=({iv:t,bytes:e})=>Bh([t,e]),B1=t=>{let e=t.subarray(0,12);return t=t.slice(12),{iv:e,bytes:t}},C1=3145728+1337;async function Ch(t){return await Hn.subtle.importKey("raw",t,"AES-GCM",!1,["encrypt","decrypt"])}var wi=async({key:t,value:e})=>{let{bytes:r,iv:n}=e,o=await Ch(t),i=await Hn.subtle.decrypt({name:"AES-GCM",iv:n,tagLength:128},o,r);r=new Uint8Array(i);let s=A1(r.subarray(0,4)),c=V.decode(r.subarray(4,4+s));return r=r.subarray(4+s),{cid:c,bytes:r}},bi=async({key:t,cid:e,bytes:r})=>{let n=S1(e.bytes.byteLength),o=gi(12),i=Bh([n,e.bytes,r]);try{let s=await Ch(t),c=await Hn.subtle.encrypt({name:"AES-GCM",iv:o,tagLength:128},s,i);r=new Uint8Array(c)}catch(s){throw console.log("ee",s),s}return{value:{bytes:r,iv:o}}},T1=t=>({encrypt:e=>bi({key:t,...e}),decrypt:e=>wi({key:t,...e})}),I1="jchris@encrypted-block:aes-gcm";var jn=t=>{let e=t.byteLength-4;return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216};var Vn=t=>{let e=Math.floor(4294967295/t);return async r=>{let n=await r.identity();if(typeof n!="number")throw new Error("Identity must be a number");return n<=e}};var Qt=(t,e)=>t===e?0:t>e?1:-1,Th=(t,e)=>{for(let r=0;r<t.byteLength;r++){if(e.byteLength===r)return 1;let n=t[r],o=e[r];if(n!==o)return n>o?1:-1}return e.byteLength>t.byteLength?-1:0},Gt=class{constructor(){this._cids=new Set}add(e){if(!e.address)throw new Error("Cannot add node without address");if(e.address.then){let r=e.address.then(n=>this._cids.add(n.toString()));this._cids.add(r),r.then(()=>this._cids.delete(r))}else this._cids.add(e.address.toString())}async all(){return await Promise.all([...this._cids]),this._cids}};var Jt=class{constructor({key:e,address:r},n={}){this.key=e,this.address=r,this.codec=n.codec,this.hasher=n.hasher}get isEntry(){return!0}},St=class{constructor({entries:e,closed:r}){if(typeof r!="boolean")throw new Error('Missing required argument "closed"');this.entries=e,this.closed=r,this.startKey=e[0].key}find(e,r){let{entries:n}=this;for(let o=n.length-1;o>-1;o--){let i=n[o];if(r(e,i.key)>-1)return[o,i]}return null}findMany(e,r,n=!1,o=!1){let{entries:i}=this,s=new Map;n?e=[...e]:e=e.sort(r);for(let c=i.length-1;c>-1&&e.length;c--){let a=i[c],u=[];for(;e.length;){let l=e[e.length-1];l=l.key?l.key:l;let d=r(l,a.key);if(o)if(d===0)u.push(e.pop());else if(d>0)e.pop();else break;else if(d>-1)u.push(e.pop());else break}u.length&&s.set(c,[a,u])}return s}findRange(e,r,n){let{entries:o}=this,i,s=0;for(let c=o.length-1;c>-1;c--){let a=o[c];if(n(r,a.key)>0){i=c;break}}for(let c=0;c<o.length;c++){let a=o[c],u=n(e,a.key);if(u===0){s=c;break}else if(u<0)break;s=c}return{first:s,last:i,entries:o.slice(s,i+1)}}},Ih=t=>typeof t=="string"?t:JSON.stringify(t);function L1(t,e){return t.sort(({key:r},{key:n})=>e.compare(r,n))}async function D1(t,e,r){let n=[];for(let o of e){let{key:i,del:s}=o;if(r(i,t)<0)s||n.push(o);else break}return n}async function N1(t,e,{chunker:r,compare:n}){return await At.from({entries:t.map(o=>new e.LeafEntryClass(o,e)).sort((o,i)=>n(o.key,i.key)),chunker:r,NodeClass:e.LeafClass,distance:0,opts:e})}async function U1(t,e,r,n){return await Promise.all(e.map(async o=>{let i=await o.encode();return r.blocks.push({block:i,node:o}),t.cache.set(o),new n.BranchEntryClass({key:o.key,address:await o.address},n)}))}async function P1(t,e,r,n){let o=e.root;e.blocks.push({block:await o.encode(),node:o}),t.cache.set(o);let i=n.opts,s=o.distance,c=o.entryList.startKey,a=await D1(c,r,t.compare);if(a.length){let u=await N1(a,i,t),l=await U1(t,u,e,i),m=[new i.BranchEntryClass({key:o.entryList.startKey,address:await o.address},i),...l].sort(({key:p},{key:w})=>i.compare(p,w)),f=await At.from({...n,entries:m,chunker:t.chunker,NodeClass:i.BranchClass,distance:s+1}),h=[...f];for(;f.length>1;){let p=await Promise.all(f.map(async w=>new i.BranchEntryClass({key:w.key,address:await w.address},i)));f=await At.from({...n,entries:p.sort(({key:w},{key:g})=>i.compare(w,g)),chunker:t.chunker,NodeClass:i.BranchClass,distance:s+1}),h=[...h,...f]}await Promise.all(h.map(async p=>{let w=await p.encode();t.cache.set(p),e.blocks.push({block:w,node:p})})),e.root=f[0],e.nodes=[...e.nodes,...h]}}var At=class t{constructor({entryList:e,chunker:r,distance:n,getNode:o,compare:i,cache:s}){this.entryList=e,this.chunker=r,this.distance=n,this.getNode=o,this.compare=i,this.cache=s}get closed(){return this.entryList.closed}get key(){return this.entryList.startKey}async getEntry(e,r=new Gt){return{result:await this._getEntry(e,r),cids:r}}async _getEntry(e,r){r.add(this);let n=this;for(;!n.isLeaf;){let s=n.entryList.find(e,this.compare);if(s===null)throw new Error("Not found");let[,c]=s;n=await this.getNode(await c.address),r.add(n)}let o=n.entryList.find(e,this.compare);if(o===null||o[1].key.toString()!==e.toString())throw new Error("Not found");let[,i]=o;return i}async getAllEntries(e=new Gt){return{result:await this._getAllEntries(e),cids:e}}_getAllEntries(e){if(e.add(this),this.isLeaf)return this.entryList.entries;{let{entries:r}=this.entryList,n=async o=>this.getNode(await o.address).then(i=>i._getAllEntries(e)).catch(async i=>{throw i});return Promise.all(r.map(n)).then(o=>o.flat())}}async*vis(e=new Set){let r=async i=>i.isLeaf?`Leaf [${i.entryList.entries.map(c=>`[${c.key},${JSON.stringify(c.value).replace(/"/g,"'")}]`).join(", ")}]`:`Branch [${i.entryList.entries.map(c=>`[${c.key}]`).join(", ")}]`,n=i=>i.toString().slice(0,4)+i.toString().slice(-4),o=async function*(i,s,c){let a=await i.address;if(!c.has(a)){c.add(a);let u=await r(i);yield` node [shape=ellipse fontname="Courier"]; ${n(a)} [label="${u}"];`,yield` ${n(s)} -> ${n(a)};`;for(let l of i.entryList.entries)if(l.address){let d=await l.address;try{let m=await i.getNode(d);yield*await o(m,a,c)}catch(m){yield` ${n(a)} -> ${n(d)};`,yield` node [shape=ellipse fontname="Courier"]; ${n(d)} [label="Error: ${m.message}"];`}}}};yield"digraph tree {",yield' node [shape=ellipse fontname="Courier"]; rootnode;';for await(let i of o(this,"rootnode",e))yield i;yield"}"}async getEntries(e,r=!1,n=new Gt){return{result:await this._getEntries(e,r,n),cids:n}}async _getEntries(e,r,n){n.add(this),r||(e=e.sort(this.compare));let o=this.entryList.findMany(e,this.compare,!0,this.isLeaf);if(this.isLeaf)return[...o.values()].map(([s])=>s);let i=[];for(let[s,c]of[...o.values()].reverse()){let a=this.getNode(await s.address);i.push(a.then(u=>u._getEntries(c.reverse(),!0,n)))}return i=await Promise.all(i),i.flat()}async getRangeEntries(e,r,n=new Gt){return{result:await this._getRangeEntries(e,r,n),cids:n}}_getRangeEntries(e,r,n){n.add(this);let{entries:o}=this.entryList.findRange(e,r,this.compare);if(this.isLeaf)return o.filter(a=>{let u=this.compare(e,a.key),l=this.compare(r,a.key);return u<=0&&l>=0});if(!o.length)return[];let i=async a=>this.getNode(await a.address).then(u=>u._getRangeEntries(e,r,n)),s=[i(o.shift())];if(!o.length)return s[0];let c=i(o.pop());for(;o.length;){let a=async u=>this.getNode(await u.address).then(async l=>l._getAllEntries(n));s.push(a(o.shift()))}return s.push(c),Promise.all(s).then(a=>a.flat())}async transaction(e,r={}){r={codec:this.codec,hasher:this.hasher,getNode:this.getNode,compare:this.compare,cache:this.cache,...r};let n={chunker:this.chunker,opts:r},o=this.entryList.findMany(e,r.compare,!0,this.isLeaf);return this.isLeaf?await this.transactionLeaf(e,r,n,o):await this.transactionBranch(e,r,n,o)}async transactionLeaf(e,r,n,o){let{LeafClass:i,LeafEntryClass:s}=r,{entries:c,previous:a}=this.processLeafEntries(e,o,s,r),u={...n,entries:c,NodeClass:i,distance:0},l=await t.from(u);return{nodes:l,previous:a,blocks:await Promise.all(l.map(async d=>{let m=await d.encode();return this.cache.set(d),{block:m,node:d}})),distance:0}}processLeafEntries(e,r,n,o){let i=[],s=[],c={},a=new Map;for(let{key:d,del:m,value:f}of e){let h=Ih(d);m?typeof c[h]>"u"&&a.set(h,null):(c[h]={key:d,value:f},a.delete(h))}s=[...this.entryList.entries];for(let[d,[m]]of r){i.push(m);let f=Ih(m.key);a.has(f)?a.set(f,d):(s[d]=new n(c[f],o),delete c[f])}let u=0;for(let[,d]of a)d!==null&&s.splice(d-u++,1);let l=Object.values(c).map(d=>new n(d,o));return s=s.concat(l).sort(({key:d},{key:m})=>o.compare(d,m)),{entries:s,previous:i}}async transactionBranch(e,r,n,o){let{BranchClass:i,BranchEntryClass:s}=r,c=0;for(let[h,[p,w]]of o){let g=this.getNode(await p.address).then(b=>b.transaction(w.reverse(),{...r,sorted:!0})).then(b=>({entry:p,keys:w,distance:c,...b}));o.set(h,g)}let a=[...this.entryList.entries],u={previous:[],blocks:[],nodes:[]};for(let[h,p]of o){let{nodes:w,previous:g,blocks:b,distance:v}=await p;c=v,a[h]=w,g.length&&(u.previous=u.previous.concat(g)),b.length&&(u.blocks=u.blocks.concat(b)),w.length&&(u.nodes=u.nodes.concat(w))}a=a.flat();let l=await this.handlePrepend(a,r,n,u,c);c++;let d=async h=>{if(h.isEntry)return h;let p=await h.encode();return u.blocks.push({block:p,node:h}),this.cache.set(h),new s(h,r)};a=await Promise.all(l.map(d));let m={...n,entries:a,NodeClass:i,distance:c},f=await t.from(m);return await Promise.all(f.map(async h=>{let p=await h.encode();u.blocks.push({block:p,node:h}),this.cache.set(h)})),u.nodes=f,{...u,distance:c}}async handlePrepend(e,r,n,o,i){let{BranchClass:s,LeafClass:c}=r,a=[],u=null;for(let l of e)if(u){let d=await this.mergeFirstLeftEntries(l,u,n,o,i);u=null;let m=d[0].address?s:c,f={...n,entries:d.sort(({key:p},{key:w})=>r.compare(p,w)),NodeClass:m,distance:i},h=await t.from(f);h[h.length-1].closed||(u=h.pop()),h.length&&(a=a.concat(h))}else!l.isEntry&&!l.closed?u=l:a.push(l);return u&&a.push(u),a}async getNodeFirstFromBlocks(e,r){for(let{block:n,node:o}of e)if(await n.cid===r)return o;return await this.getNode(r)}async mergeFirstLeftEntries(e,r,n,o,i){let s=n.opts,{LeafClass:c,BranchClass:a,BranchEntryClass:u}=s;if(e.isEntry){let f=await e.address;e=await this.getNodeFirstFromBlocks(o.blocks,f)}let l=e.entryList.entries;if(!l.length)throw new Error("unreachable no entries");let d=(f,h)=>f.concat(h),m=async(f,h,p)=>await Promise.all(f.map(async w=>(h.blocks.push({block:await w.encode(),node:w}),this.cache.set(w),new u({key:w.key,address:await w.address},p))));if(l[0].constructor.name===r.entryList.entries[0].constructor.name)return await d(r.entryList.entries,l);{let f=l.shift();if(!f)throw new Error("unreachable no left entry");if(!f.address)throw new Error("unreachable existing leaf, no leftEntry.address");let h=await this.mergeFirstLeftEntries(f,r,n,o,i-1),p=l.shift();if(!p)return h;if(!p.address)throw new Error("unreachable existing leaf, no esf.address");let w=await this.getNodeFirstFromBlocks(o.blocks,await p.address);if(w.entryList.entries[0].address){if(h[0].address)return h.concat(w.entryList.entries);{let g=await t.from({...n,entries:h.sort(({key:T},{key:U})=>s.compare(T,U)),NodeClass:c,distance:i}),b=await m(g,o,s),v=await t.from({...n,entries:[...w.entryList.entries,...b,...l].sort(({key:T},{key:U})=>s.compare(T,U)),NodeClass:a,distance:i});return await m(v,o,s)}}else{let g=await d(h,w.entryList.entries),b=await t.from({...n,entries:g.sort(({key:E},{key:T})=>s.compare(E,T)),NodeClass:c,distance:i}),v=await m(b,o,s);return await d(v,l)}}}async bulk(e,r={},n=!0){let{BranchClass:o}=r;r={codec:this.codec,hasher:this.hasher,getNode:this.getNode,compare:this.compare,cache:this.cache,...r},r.sorted||(e=L1(e,r),r.sorted=!0);let i={chunker:this.chunker,opts:r},s=await this.transaction(e,r);for(;s.nodes.length>1;){let c=s.nodes[0].distance+1,a=await Promise.all(s.nodes.map(async l=>{let d=await l.encode();return s.blocks.push({block:d,node:l}),this.cache.set(l),new r.BranchEntryClass(l,r)})),u=await t.from({...i,entries:a,NodeClass:o,distance:c});await Promise.all(u.map(async l=>{let d=await l.encode();this.cache.set(l),s.blocks.push({block:d,node:l})})),s.nodes=u}return s.root=s.nodes[0],n&&s.root&&await P1(this,s,e,i),s.blocks=s.blocks.map(({block:c})=>c),s}static async from({entries:e,chunker:r,NodeClass:n,distance:o,opts:i}){if(!e.every(a=>a.constructor.name===e[0].constructor.name))throw new Error("all entries must be of the same type");let s=[],c=[];for(let a of e)c.push(a),await r(a,o)&&(s.push(new St({entries:c,closed:!0})),c=[]);return c.length&&s.push(new St({entries:c,closed:!1})),s.map(a=>new n({entryList:a,chunker:r,distance:o,...i}))}},xi=class extends At{constructor({codec:e,hasher:r,block:n,...o}){super(o),this.codec=e,this.hasher=r,n?(this.block=n,this.address=n.cid):(this.block=this.encode(),this.address=this.block.then(i=>i.cid))}async get(e){let{result:r,cids:n}=await this.getEntry(e);return{result:r.key,cids:n}}async encode(){if(this.block)return this.block;let e=await this.encodeNode(),r={codec:this.codec,hasher:this.hasher,value:e};return this.block=await Ge(r),this.block}},Rr=class extends xi{async encodeNode(){let{entries:e}=this.entryList,r=async o=>{if(!o.address)throw new Error("entry.address required");return[o.key,await o.address]},n=await Promise.all(e.map(r));return{branch:[this.distance,n],closed:this.closed}}get isBranch(){return!0}},zr=class extends xi{async encodeNode(){return{leaf:await Promise.all(this.entryList.entries.map(async r=>await r.encodeNode())),closed:this.closed}}get isLeaf(){return!0}},ki=async function*(t){let{LeafClass:e,LeafEntryClass:r,BranchClass:n,BranchEntryClass:o,list:i,chunker:s,compare:c,...a}=t;i=i.map(d=>new r(d,a)),a.compare=c;let u=await At.from({entries:i,chunker:s,NodeClass:e,distance:0,opts:a});yield*u;let l=1;for(;u.length>1;){let d=async f=>new o({key:f.key,address:await f.address},a),m=await Promise.all(u.map(d));u=await At.from({entries:m,chunker:s,NodeClass:n,distance:l,opts:a}),yield*u,l++}};var ec=({bytes:t},{bytes:e})=>Th(t,e),vi=class extends Jt{constructor(e){super({address:e,key:e}),this.cid=e}encodeNode(){return this.cid}identity(){let e=this.cid.multihash.bytes;return jn(e)}},Ei=class extends Jt{async identity(){let{multihash:{bytes:e}}=await this.address;return jn(e)}},Si=class extends Rr{},Ai=class extends zr{},Lh=(t,e,r,n,o)=>{let i=c=>{let{value:a}=c,u={chunker:r,cache:e,block:c,getNode:s,codec:n,hasher:o,compare:ec},l,d;if(a.leaf)l=a.leaf.map(h=>new vi(h)),d=Ai;else if(a.branch){let[h,p]=a.branch;u.distance=h,l=p.map(([w,g])=>new Ei({key:w,address:g})),d=Si}else throw new Error("Unknown block data, does not match schema");let m=new St({entries:l,closed:a.closed}),f=new d({entryList:m,...u});return e.set(f),f},s=c=>e.has(c)?e.get(c):t(c).then(a=>i(a));return s},Dh=({get:t,cache:e,chunker:r,list:n,codec:o,hasher:i,sorted:s})=>{s||(n=n.sort(ec));let c=Lh(t,e,r,o,i);return ki({list:n,codec:o,hasher:i,chunker:r,getNode:c,sorted:s,compare:ec,cache:e,LeafClass:Ai,LeafEntryClass:vi,BranchClass:Si,BranchEntryClass:Ei})},Nh=({cid:t,get:e,cache:r,chunker:n,codec:o,hasher:i,...s})=>Lh(e,r,n,o,i,s)(t);var Uh=async function*({get:t,cids:e,hasher:r,key:n,cache:o,chunker:i,root:s}){let c=new Set,a;for(let f of e){let h=await t(f);if(!h)throw new Error("missing cid: "+f.toString());let p=await bi({...h,key:n}),w=await Ge({...p,codec:Kt,hasher:r});yield w,c.add(w.cid.toString()),h.cid.equals(s)&&(a=w.cid)}if(!a)throw new Error("cids does not include root");let u=[...c].map(f=>V.parse(f)),l;for await(let f of Dh({list:u,get:t,cache:o,chunker:i,hasher:r,codec:q})){let h=await f.block;yield h,l=h}if(!l)throw new Error("missing last block");let d=[a,l.cid];yield await Ge({value:d,codec:q,hasher:r})},Ph=async function*({root:t,get:e,key:r,cache:n,chunker:o,hasher:i}){let s=async w=>e(w).then(async g=>g?await vt({...g,codec:q,hasher:i}):void 0),c=async w=>e(w).then(async g=>g?await vt({...g,codec:Kt,hasher:i}):void 0),a=await s(t);if(!a)throw new Error("missing root");if(!a.bytes)throw new Error("missing bytes");let{value:[u,l]}=a,d=await e(u);if(!d)throw new Error("missing root block");let m=await Nh({cid:l,get:s,cache:n,chunker:o,codec:Kt,hasher:i}),{result:f}=await m.getAllEntries(),h=async w=>{if(!w)throw new Error("missing block");w.value||(w=await vt({...w,codec:Kt,hasher:i}));let{bytes:g,cid:b}=await wi({...w,key:r}).catch(E=>{throw E});return await pi({cid:b,bytes:g,hasher:i,codec:Kt})},p=[];for(let{cid:w}of f)d.cid.equals(w)||p.push(c(w).then(h));yield*p,yield h(d)};var $r={has:()=>!1,get:()=>{throw new Error("Cannot ask for entries from nocache")},set:()=>{}};var Fh=Vn(30);function Mh(t){let e=t.length,r=new Uint8Array(e/2);for(let n=0;n<e;n+=2)r[n/2]=parseInt(t.substring(n,n+2),16);return r}async function Oh(t,e,r){let n=Mh(t),o=n.buffer.slice(0,n.byteLength),i=new _e,s=[];for(let{cid:u}of r.entries())s.push(u);let c=null;for await(let u of Uh({cids:s,get:r.get.bind(r),key:o,hasher:de,chunker:Fh,cache:$r,root:e}))await i.put(u.cid,u.bytes),c=u;if(!c)throw new Error("no blocks encrypted");return await yi([c.cid],i)}async function Rh(t,e){let n=(await e.getRoots())[0];return await F1(n,e.get.bind(e),t)}async function F1(t,e,r){let n=Mh(r),o=n.buffer.slice(0,n.byteLength),i=new _e,s=null;for await(let c of Ph({root:t,get:e,key:o,hasher:de,chunker:Fh,cache:$r}))await i.put(c.cid,c.bytes),s=c;if(!s)throw new Error("no blocks decrypted");return{blocks:i,root:s.cid}}var tc=class extends Array{constructor(){super(),this.inRecursive=[]}prefix(e){let r=this.inRecursive[this.inRecursive.length-1];r&&(r.type===y.array&&(r.elements++,r.elements!==1&&e.push([44])),r.type===y.map&&(r.elements++,r.elements!==1&&(r.elements%2===1?e.push([44]):e.push([58]))))}[y.uint.major](e,r){this.prefix(e);let n=String(r.value),o=[];for(let i=0;i<n.length;i++)o[i]=n.charCodeAt(i);e.push(o)}[y.negint.major](e,r){this[y.uint.major](e,r)}[y.bytes.major](e,r){throw new Error(`${it} unsupported type: Uint8Array`)}[y.string.major](e,r){this.prefix(e);let n=zo(JSON.stringify(r.value));e.push(n.length>32?kn(n):n)}[y.array.major](e,r){this.prefix(e),this.inRecursive.push({type:y.array,elements:0}),e.push([91])}[y.map.major](e,r){this.prefix(e),this.inRecursive.push({type:y.map,elements:0}),e.push([123])}[y.tag.major](e,r){}[y.float.major](e,r){if(r.type.name==="break"){let s=this.inRecursive.pop();if(s){if(s.type===y.array)e.push([93]);else if(s.type===y.map)e.push([125]);else throw new Error("Unexpected recursive type; this should not happen!");return}throw new Error("Unexpected break; this should not happen!")}if(r.value===void 0)throw new Error(`${it} unsupported type: undefined`);if(this.prefix(e),r.type.name==="true"){e.push([116,114,117,101]);return}else if(r.type.name==="false"){e.push([102,97,108,115,101]);return}else if(r.type.name==="null"){e.push([110,117,108,108]);return}let n=String(r.value),o=[],i=!1;for(let s=0;s<n.length;s++)o[s]=n.charCodeAt(s),!i&&(o[s]===46||o[s]===101||o[s]===69)&&(i=!0);i||(o.push(46),o.push(48)),e.push(o)}};function M1(t,e){if(Array.isArray(t[0])||Array.isArray(e[0]))throw new Error(`${it} complex map keys are not supported`);let r=t[0],n=e[0];if(r.type!==y.string||n.type!==y.string)throw new Error(`${it} non-string map keys are not supported`);if(r<n)return-1;if(r>n)return 1;throw new Error(`${it} unexpected duplicate map keys, this is not supported`)}var O1={addBreakTokens:!0,mapSorter:M1};function rc(t,e){return e=Object.assign({},O1,e),ba(t,new tc,e)}var Hr=class{constructor(e,r={}){this.pos=0,this.data=e,this.options=r,this.modeStack=["value"],this.lastToken=""}done(){return this.pos>=this.data.length}ch(){return this.data[this.pos]}currentMode(){return this.modeStack[this.modeStack.length-1]}skipWhitespace(){let e=this.ch();for(;e===32||e===9||e===13||e===10;)e=this.data[++this.pos]}expect(e){if(this.data.length-this.pos<e.length)throw new Error(`${I} unexpected end of input at position ${this.pos}`);for(let r=0;r<e.length;r++)if(this.data[this.pos++]!==e[r])throw new Error(`${I} unexpected token at position ${this.pos}, expected to find '${String.fromCharCode(...e)}'`)}parseNumber(){let e=this.pos,r=!1,n=!1,o=c=>{for(;!this.done();){let a=this.ch();if(c.includes(a))this.pos++;else break}};if(this.ch()===45&&(r=!0,this.pos++),this.ch()===48)if(this.pos++,this.ch()===46)this.pos++,n=!0;else return new S(y.uint,0,this.pos-e);if(o([48,49,50,51,52,53,54,55,56,57]),r&&this.pos===e+1)throw new Error(`${I} unexpected token at position ${this.pos}`);if(!this.done()&&this.ch()===46){if(n)throw new Error(`${I} unexpected token at position ${this.pos}`);n=!0,this.pos++,o([48,49,50,51,52,53,54,55,56,57])}!this.done()&&(this.ch()===101||this.ch()===69)&&(n=!0,this.pos++,!this.done()&&(this.ch()===43||this.ch()===45)&&this.pos++,o([48,49,50,51,52,53,54,55,56,57]));let i=String.fromCharCode.apply(null,this.data.subarray(e,this.pos)),s=parseFloat(i);return n?new S(y.float,s,this.pos-e):this.options.allowBigInt!==!0||Number.isSafeInteger(s)?new S(s>=0?y.uint:y.negint,s,this.pos-e):new S(s>=0?y.uint:y.negint,BigInt(i),this.pos-e)}parseString(){if(this.ch()!==34)throw new Error(`${I} unexpected character at position ${this.pos}; this shouldn't happen`);this.pos++;for(let i=this.pos,s=0;i<this.data.length&&s<65536;i++,s++){let c=this.data[i];if(c===92||c<32||c>=128)break;if(c===34){let a=String.fromCharCode.apply(null,this.data.subarray(this.pos,i));return this.pos=i+1,new S(y.string,a,s)}}let e=this.pos,r=[],n=()=>{if(this.pos+4>=this.data.length)throw new Error(`${I} unexpected end of unicode escape sequence at position ${this.pos}`);let i=0;for(let s=0;s<4;s++){let c=this.ch();if(c>=48&&c<=57)c-=48;else if(c>=97&&c<=102)c=c-97+10;else if(c>=65&&c<=70)c=c-65+10;else throw new Error(`${I} unexpected unicode escape character at position ${this.pos}`);i=i*16+c,this.pos++}return i},o=()=>{let i=this.ch(),s=null,c=i>239?4:i>223?3:i>191?2:1;if(this.pos+c>this.data.length)throw new Error(`${I} unexpected unicode sequence at position ${this.pos}`);let a,u,l,d;switch(c){case 1:i<128&&(s=i);break;case 2:a=this.data[this.pos+1],(a&192)===128&&(d=(i&31)<<6|a&63,d>127&&(s=d));break;case 3:a=this.data[this.pos+1],u=this.data[this.pos+2],(a&192)===128&&(u&192)===128&&(d=(i&15)<<12|(a&63)<<6|u&63,d>2047&&(d<55296||d>57343)&&(s=d));break;case 4:a=this.data[this.pos+1],u=this.data[this.pos+2],l=this.data[this.pos+3],(a&192)===128&&(u&192)===128&&(l&192)===128&&(d=(i&15)<<18|(a&63)<<12|(u&63)<<6|l&63,d>65535&&d<1114112&&(s=d))}s===null?(s=65533,c=1):s>65535&&(s-=65536,r.push(s>>>10&1023|55296),s=56320|s&1023),r.push(s),this.pos+=c};for(;!this.done();){let i=this.ch(),s;switch(i){case 92:if(this.pos++,this.done())throw new Error(`${I} unexpected string termination at position ${this.pos}`);switch(s=this.ch(),this.pos++,s){case 34:case 39:case 92:case 47:r.push(s);break;case 98:r.push(8);break;case 116:r.push(9);break;case 110:r.push(10);break;case 102:r.push(12);break;case 114:r.push(13);break;case 117:r.push(n());break;default:throw new Error(`${I} unexpected string escape character at position ${this.pos}`)}break;case 34:return this.pos++,new S(y.string,ha(r),this.pos-e);default:if(i<32)throw new Error(`${I} invalid control character at position ${this.pos}`);i<128?(r.push(i),this.pos++):o()}}throw new Error(`${I} unexpected end of string at position ${this.pos}`)}parseValue(){switch(this.ch()){case 123:return this.modeStack.push("obj-start"),this.pos++,new S(y.map,1/0,1);case 91:return this.modeStack.push("array-start"),this.pos++,new S(y.array,1/0,1);case 34:return this.parseString();case 110:return this.expect([110,117,108,108]),new S(y.null,null,4);case 102:return this.expect([102,97,108,115,101]),new S(y.false,!1,5);case 116:return this.expect([116,114,117,101]),new S(y.true,!0,4);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.parseNumber();default:throw new Error(`${I} unexpected character at position ${this.pos}`)}}next(){switch(this.skipWhitespace(),this.currentMode()){case"value":return this.modeStack.pop(),this.parseValue();case"array-value":{if(this.modeStack.pop(),this.ch()===93)return this.pos++,this.skipWhitespace(),new S(y.break,void 0,1);if(this.ch()!==44)throw new Error(`${I} unexpected character at position ${this.pos}, was expecting array delimiter but found '${String.fromCharCode(this.ch())}'`);return this.pos++,this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue()}case"array-start":return this.modeStack.pop(),this.ch()===93?(this.pos++,this.skipWhitespace(),new S(y.break,void 0,1)):(this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue());case"obj-key":if(this.ch()===125)return this.modeStack.pop(),this.pos++,this.skipWhitespace(),new S(y.break,void 0,1);if(this.ch()!==44)throw new Error(`${I} unexpected character at position ${this.pos}, was expecting object delimiter but found '${String.fromCharCode(this.ch())}'`);this.pos++,this.skipWhitespace();case"obj-start":{if(this.modeStack.pop(),this.ch()===125)return this.pos++,this.skipWhitespace(),new S(y.break,void 0,1);let e=this.parseString();if(this.skipWhitespace(),this.ch()!==58)throw new Error(`${I} unexpected character at position ${this.pos}, was expecting key/value delimiter ':' but found '${String.fromCharCode(this.ch())}'`);return this.pos++,this.modeStack.push("obj-value"),e}case"obj-value":return this.modeStack.pop(),this.modeStack.push("obj-key"),this.skipWhitespace(),this.parseValue();default:throw new Error(`${I} unexpected parse state at position ${this.pos}; this shouldn't happen`)}}};function nc(t,e){return e=Object.assign({tokenizer:new Hr(t,e)},e),Cn(t,e)}var oc=ae({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),u6=ae({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),l6=ae({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),f6=ae({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function z1(t){if(t.asCID!==t&&t["/"]!==t.bytes)return null;let e=V.asCID(t);if(!e)return null;let r=e.toString();return[new S(y.map,1/0,1),new S(y.string,"/",1),new S(y.string,r,r.length),new S(y.break,void 0,1)]}function _i(t){let e=oc.encode(t).slice(1);return[new S(y.map,1/0,1),new S(y.string,"/",1),new S(y.map,1/0,1),new S(y.string,"bytes",5),new S(y.string,e,e.length),new S(y.break,void 0,1),new S(y.break,void 0,1)]}function Fe(t){return _i(new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function $1(t){return _i(new Uint8Array(t))}function H1(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function j1(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}var V1={typeEncoders:{Object:z1,Buffer:_i,Uint8Array:_i,Int8Array:Fe,Uint16Array:Fe,Int16Array:Fe,Uint32Array:Fe,Int32Array:Fe,Float32Array:Fe,Float64Array:Fe,Uint8ClampedArray:Fe,BigInt64Array:Fe,BigUint64Array:Fe,DataView:Fe,ArrayBuffer:$1,undefined:H1,number:j1}},ic=class extends Hr{constructor(e,r){super(e,r),this.tokenBuffer=[]}done(){return this.tokenBuffer.length===0&&super.done()}_next(){return this.tokenBuffer.length>0?this.tokenBuffer.pop():super.next()}next(){let e=this._next();if(e.type===y.map){let r=this._next();if(r.type===y.string&&r.value==="/"){let n=this._next();if(n.type===y.string){if(this._next().type!==y.break)throw new Error("Invalid encoded CID form");return this.tokenBuffer.push(n),new S(y.tag,42,0)}if(n.type===y.map){let o=this._next();if(o.type===y.string&&o.value==="bytes"){let i=this._next();if(i.type===y.string){for(let c=0;c<2;c++)if(this._next().type!==y.break)throw new Error("Invalid encoded Bytes form");let s=oc.decode(`m${i.value}`);return new S(y.bytes,s,i.value.length)}this.tokenBuffer.push(i)}this.tokenBuffer.push(o)}this.tokenBuffer.push(n)}this.tokenBuffer.push(r)}return e}},sc={allowIndefinite:!1,allowUndefined:!1,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};sc.tags[42]=V.parse;var q1=t=>rc(t,V1),W1=t=>{let e=Object.assign(sc,{tokenizer:new ic(t,sc)});return nc(t,e)},Bi=t=>K1.decode(q1(t));var K1=new TextDecoder,Ci=t=>W1(G1.encode(t)),G1=new TextEncoder;var Q1=(t,e)=>e.some(r=>t instanceof r),zh,$h;function J1(){return zh||(zh=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function X1(){return $h||($h=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Hh=new WeakMap,cc=new WeakMap,jh=new WeakMap,ac=new WeakMap,lc=new WeakMap;function Y1(t){let e=new Promise((r,n)=>{let o=()=>{t.removeEventListener("success",i),t.removeEventListener("error",s)},i=()=>{r(Qe(t.result)),o()},s=()=>{n(t.error),o()};t.addEventListener("success",i),t.addEventListener("error",s)});return e.then(r=>{r instanceof IDBCursor&&Hh.set(r,t)}).catch(()=>{}),lc.set(e,t),e}function Z1(t){if(cc.has(t))return;let e=new Promise((r,n)=>{let o=()=>{t.removeEventListener("complete",i),t.removeEventListener("error",s),t.removeEventListener("abort",s)},i=()=>{r(),o()},s=()=>{n(t.error||new DOMException("AbortError","AbortError")),o()};t.addEventListener("complete",i),t.addEventListener("error",s),t.addEventListener("abort",s)});cc.set(t,e)}var uc={get(t,e,r){if(t instanceof IDBTransaction){if(e==="done")return cc.get(t);if(e==="objectStoreNames")return t.objectStoreNames||jh.get(t);if(e==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Qe(t[e])},set(t,e,r){return t[e]=r,!0},has(t,e){return t instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in t}};function Vh(t){uc=t(uc)}function ex(t){return t===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...r){let n=t.call(Ti(this),e,...r);return jh.set(n,e.sort?e.sort():[e]),Qe(n)}:X1().includes(t)?function(...e){return t.apply(Ti(this),e),Qe(Hh.get(this))}:function(...e){return Qe(t.apply(Ti(this),e))}}function tx(t){return typeof t=="function"?ex(t):(t instanceof IDBTransaction&&Z1(t),Q1(t,J1())?new Proxy(t,uc):t)}function Qe(t){if(t instanceof IDBRequest)return Y1(t);if(ac.has(t))return ac.get(t);let e=tx(t);return e!==t&&(ac.set(t,e),lc.set(e,t)),e}var Ti=t=>lc.get(t);function Wh(t,e,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(t,e),c=Qe(s);return n&&s.addEventListener("upgradeneeded",a=>{n(Qe(s.result),a.oldVersion,a.newVersion,Qe(s.transaction),a)}),r&&s.addEventListener("blocked",a=>r(a.oldVersion,a.newVersion,a)),c.then(a=>{i&&a.addEventListener("close",()=>i()),o&&a.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),c}var rx=["get","getKey","getAll","getAllKeys","count"],nx=["put","add","delete","clear"],fc=new Map;function qh(t,e){if(!(t instanceof IDBDatabase&&!(e in t)&&typeof e=="string"))return;if(fc.get(e))return fc.get(e);let r=e.replace(/FromIndex$/,""),n=e!==r,o=nx.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||rx.includes(r)))return;let i=async function(s,...c){let a=this.transaction(s,o?"readwrite":"readonly"),u=a.store;return n&&(u=u.index(c.shift())),(await Promise.all([u[r](...c),o&&a.done]))[0]};return fc.set(e,i),i}Vh(t=>({...t,get:(e,r,n)=>qh(e,r)||t.get(e,r,n),has:(e,r)=>!!qh(e,r)||t.has(e,r)}));var dc="0.13.3-dev";var Kh=dc.match(/^([^.]*\.[^.]*)/);if(!Kh)throw new Error("invalid version: "+dc);var Di=Kh[0],hc=class{constructor(e){k(this,"STORAGE_VERSION",Di);k(this,"name");this.name=e}},Ii=class extends hc{constructor(){super(...arguments);k(this,"tag","header-base")}makeHeader({car:r,key:n}){return Bi({car:r,key:n})}parseHeader(r){return Ci(r)}},Li=class{constructor(e){k(this,"tag","car-base");k(this,"STORAGE_VERSION",Di);k(this,"loader");this.loader=e}};var Ni=class{constructor(e){k(this,"tag","rwal-base");k(this,"STORAGE_VERSION",Di);k(this,"loader");k(this,"ready");k(this,"walState",{operations:[],noLoaderOps:[],fileOperations:[]});k(this,"processing");this.loader=e,this.ready=(async()=>{let r=await this.load().catch(n=>(console.error("error loading wal",n),null));this.walState.operations=r?.operations||[],this.walState.fileOperations=r?.fileOperations||[]})()}async enqueue(e,r){await this.ready,r.noLoader?this.walState.noLoaderOps.push(e):this.walState.operations.push(e),await this.save(this.walState),r.noLoader||this._process()}async enqueueFile(e,r=!1){await this.ready,this.walState.fileOperations.push({cid:e,public:r})}async _process(){if(await this.ready,!this.loader.remoteCarStore)return;if(this.processing)return this.processing;let e=(async()=>{await this._int_process()})();this.processing=e;try{await e}finally{this.processing=void 0}(this.walState.operations.length||this.walState.fileOperations.length||this.walState.noLoaderOps.length)&&setTimeout(()=>void this._process(),0)}async _int_process(){if(!this.loader.remoteCarStore)return;let e=(async()=>{let r=[...this.walState.operations],n=[...this.walState.fileOperations],o=[],i=[...this.walState.noLoaderOps],s=xn(5);if(r.length+n.length+i.length!==0){for(let c of i){let a=s(async()=>{let u=await this.loader.carStore.load(c.car).catch(()=>null);if(!u)throw new Error(`missing car ${c.car.toString()}`);await this.loader.remoteCarStore.save(u),this.walState.noLoaderOps=this.walState.noLoaderOps.filter(l=>l!==c)});o.push(a)}for(let c of r){let a=s(async()=>{let u=await this.loader.carStore.load(c.car).catch(()=>null);if(!u)throw new Error(`missing car ${c.car.toString()}`);await this.loader.remoteCarStore.save(u),this.walState.operations=this.walState.operations.filter(l=>l!==c)});o.push(a)}if(n.length){let c=this.loader;for(let{cid:a,public:u}of n){let l=s(async()=>{let d=await c.fileStore.load(a);await c.remoteFileStore?.save(d,{public:u}),this.walState.fileOperations=this.walState.fileOperations.filter(m=>m.cid!==a)});o.push(l)}}try{let a=(await Promise.allSettled(o)).filter(u=>u.status==="rejected");if(a.length)throw console.error("error uploading",a),a[0].reason;if(r.length){let u=r[r.length-1];await this.loader.remoteMetaStore?.save(u).catch(l=>{throw console.error("error saving remote meta",l),this.walState.operations.push(u),l})}}finally{await this.save(this.walState)}}})();this.loader.remoteMetaLoading=e,await e}};var jr=class extends Li{constructor(){super(...arguments);k(this,"tag","car-browser-idb");k(this,"idb",null)}async _withDB(r){if(!this.idb){let n=`fp.${this.STORAGE_VERSION}.${this.loader.keyId}.${this.loader.name}`;this.idb=await Wh(n,1,{upgrade(o){o.createObjectStore("cars")}})}return await r(this.idb)}async load(r){return await this._withDB(async n=>{let i=await n.transaction(["cars"],"readonly").objectStore("cars").get(r.toString());if(!i)throw new Error(`missing idb block ${r.toString()}`);return{cid:r,bytes:i}})}async save(r){return await this._withDB(async n=>{let o=n.transaction(["cars"],"readwrite");return await o.objectStore("cars").put(r.bytes,r.cid.toString()),await o.done})}async remove(r){return await this._withDB(async n=>{let o=n.transaction(["cars"],"readwrite");return await o.objectStore("cars").delete(r.toString()),await o.done})}},Ui=class extends Ni{constructor(){super(...arguments);k(this,"tag","wal-browser-ls")}headerKey(r){return`fp.${this.STORAGE_VERSION}.wal.${this.loader.name}.${r}`}async load(r="main"){try{let n=localStorage.getItem(this.headerKey(r));return n?Ci(n):null}catch{return null}}async save(r,n="main"){try{let o=Bi(r);localStorage.setItem(this.headerKey(n),o)}catch{}}},Pi=class extends Ii{constructor(){super(...arguments);k(this,"tag","header-browser-ls")}headerKey(r){return`fp.${this.STORAGE_VERSION}.meta.${this.name}.${r}`}async load(r="main"){try{let n=localStorage.getItem(this.headerKey(r));return n?[this.parseHeader(n)]:null}catch{return null}}async save(r,n="main"){try{let o=this.headerKey(n),i=this.makeHeader(r);return localStorage.setItem(o,i),null}catch{return null}}};function Qh(t,e){return t.some(r=>r.equals(e))}function Gh(t,e=[]){let r=new Map;for(let n of t)Qh(e,n)||r.set(n.toString(),n);return[...r.values()]}function ox(t){return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}var Vr=class{constructor(e,r){k(this,"name");k(this,"opts",{});k(this,"remoteMetaLoading");k(this,"remoteMetaStore");k(this,"remoteCarStore");k(this,"remoteWAL");k(this,"metaStore");k(this,"carStore");k(this,"carLog",[]);k(this,"carReaders",new Map);k(this,"ready");k(this,"key");k(this,"keyId");k(this,"getBlockCache",new Map);k(this,"committing");this.name=e,this.opts=r||this.opts,this.metaStore=new Pi(this.name),this.carStore=new jr(this),this.remoteWAL=new Ui(this),this.ready=Promise.resolve().then(async()=>{if(!this.metaStore||!this.carStore||!this.remoteWAL)throw new Error("stores not initialized");let n=this.opts.meta?[this.opts.meta]:await this.metaStore.load("main");n&&await this.handleDbMetasFromStore(n)})}async snapToCar(e){await this.ready,typeof e=="string"&&(e=V.parse(e));let r=await this.loadCarHeaderFromMeta({car:e,key:this.key||null});this.carLog=[e,...r.cars],await this.getMoreReaders(r.cars),await this._applyCarHeader(r,!0)}async handleDbMetasFromStore(e){for(let r of e)await this.mergeDbMetaIntoClock(r)}async mergeDbMetaIntoClock(e){if(e.key&&await this.setKey(e.key),Qh(this.carLog,e.car))return;let r=await this.loadCarHeaderFromMeta(e);await this.getMoreReaders(r.cars),this.carLog=[...Gh([e.car,...this.carLog,...r.cars],r.compact)],await this._applyCarHeader(r)}async ingestKeyFromMeta(e){let{key:r}=e;r&&await this.setKey(r)}async loadCarHeaderFromMeta({car:e}){let r=await this.loadCar(e);return await _h(r)}async _getKey(){return this.key?this.key:(this.opts.public||(mi()?await this.setKey(ox(gi(32))):console.warn("missing crypto module, using public mode")),this.key)}async commit(e,r,n={noLoader:!1,compact:!1}){this.committing&&await this.committing,this.committing=this._commitInternal(e,r,n);let o=await this.committing;return this.committing=void 0,o}async _commitInternal(e,r,n={noLoader:!1,compact:!1}){await this.ready;let o=this.makeCarHeader(r,this.carLog,!!n.compact),i=[];if(o.files)i=o.files;else{let l=await Ah(o);await e.put(l.cid,l.bytes),i=[l.cid]}let s=n.public?null:await this._getKey(),{cid:c,bytes:a}=s?await Oh(s,i[0],e):await yi(i,e);if(pc(r))return await this.fileStore.save({cid:c,bytes:a}),await this.remoteWAL.enqueueFile(c,n.public),c;await this.carStore.save({cid:c,bytes:a});let u={car:c,key:s||null};if(await this.remoteWAL.enqueue(u,n),await this.metaStore.save(u),n.compact){let l=o;this.carLog=[...Gh([c,...this.carLog],l.compact)],(async()=>{this.remoteMetaLoading&&await this.remoteMetaLoading;for(let d of l.compact)await this.carStore.remove(d)})()}else this.carLog.unshift(c);return c}async getBlock(e){await this.ready;let r=e.toString();if(this.getBlockCache.has(r))return this.getBlockCache.get(r);let n=await Promise.any(this.carLog.map(async o=>{let i=await this.loadCar(o);if(!i)throw new Error(`missing car reader ${o.toString()}`);let s=await i.get(e);if(s)return s;throw new Error(`block not in reader: ${e.toString()}`)})).catch(()=>{});return n&&this.getBlockCache.set(r,n),n}async loadCar(e){if(!this.carStore)throw new Error("car store not initialized");return await this.storesLoadCar(e,this.carStore,this.remoteCarStore)}async storesLoadCar(e,r,n,o){let i=e.toString();return this.carReaders.has(i)||this.carReaders.set(i,(async()=>{let s=null;try{s=await r.load(e)}catch{if(n){let l=await n.load(e);l&&(await r.save(l),s=l)}}if(!s)throw new Error(`missing car file ${i}`);let c=await Vt.fromBytes(s.bytes),a=o?Promise.resolve(c):this.ensureDecryptedReader(c);return this.carReaders.set(i,a),a})().catch(s=>{throw this.carReaders.delete(i),s})),this.carReaders.get(i)}async ensureDecryptedReader(e){let r=await this._getKey();if(!r)return e;let{blocks:n,root:o}=await Rh(r,e);return{getRoots:()=>[o],get:n.get.bind(n)}}async setKey(e){if(this.key&&this.key!==e)throw new Error("key mismatch");this.key=e;let r=mi();if(!r)throw new Error("missing crypto module");let n=r.subtle,i=new TextEncoder().encode(e),s=await n.digest("SHA-256",i),c=Array.from(new Uint8Array(s));this.keyId=c.map(a=>a.toString(16).padStart(2,"0")).join("")}async getMoreReaders(e){let r=xn(5),n=e.filter(o=>!this.carReaders.has(o.toString()));await Promise.all(n.map(o=>r(()=>this.loadCar(o))))}};k(Vr,"defaultHeader");var qr=W(tp(),1);var Fi=class extends Jt{async identity(){let e=await this.codec.encode(await this.encodeNode()),r=await this.hasher.encode(e);return jn(r)}},Xt=class extends Fi{constructor(e,r){super(e,r),this.value=e.value}encodeNode(){return[this.key,this.value]}},Yt=class extends Fi{constructor(e,r){if(!e.address)throw new Error("Cannot create MapBranchEntry without address");super(e,r)}async encodeNode(){return[this.key,await this.address]}},rp=async(t,e)=>{let{result:r,cids:n}=await t.getEntry(e);return{result:r.value,cids:n}},np=async(t,e)=>{let{result:r,cids:n}=await t.getEntries(e);return{result:r.map(o=>o.value),cids:n}},Zt=class extends zr{get(e){return rp(this,e)}getMany(e){return np(this,e)}bulk(e,r={},n=!0){return super.bulk(e,{...op,...r},n)}},er=class extends Rr{get(e){return rp(this,e)}getMany(e){return np(this,e)}bulk(e,r={},n=!0){return super.bulk(e,{...op,...r},n)}},op={LeafClass:Zt,LeafEntryClass:Xt,BranchClass:er,BranchEntryClass:Yt},ip=(t,e,r,n,o,i,s)=>{let c=s.LeafClass||Zt,a=s.LeafEntryClass||Xt,u=s.BranchClass||er,l=s.BranchEntryClass||Yt,d=async f=>e.has(f)?e.get(f):t(f).then(h=>m(h)),m=dx({chunker:r,cache:e,getNode:d,codec:n,hasher:o,compare:i,LeafEntryClass:a,LeafClass:c,BranchEntryClass:l,BranchClass:u});return d},sp=({get:t,cache:e,chunker:r,list:n,codec:o,hasher:i,sorted:s,compare:c,...a})=>{s||(n=n.sort(({key:d},{key:m})=>c(d,m)));let u=ip(t,e,r,o,i,c,a),l={list:n,codec:o,hasher:i,chunker:r,getNode:u,sorted:s,compare:c,cache:e,LeafClass:a.LeafClass||Zt,LeafEntryClass:a.LeafEntryClass||Xt,BranchClass:a.BranchClass||er,BranchEntryClass:a.BranchEntryClass||Yt};return ki(l)},ap=({cid:t,get:e,cache:r,chunker:n,codec:o,hasher:i,compare:s,...c})=>ip(e,r,n,o,i,s,c)(t);function dx({chunker:t,cache:e,getNode:r,codec:n,hasher:o,compare:i,LeafEntryClass:s,LeafClass:c,BranchEntryClass:a,BranchClass:u}){let l={codec:n,hasher:o};return d=>{let{value:m}=d,f={chunker:t,cache:e,block:d,getNode:r,codec:n,hasher:o,compare:i},h,p;if(m.leaf)h=m.leaf.map(([b,v])=>new s({key:b,value:v},l)),p=c;else if(m.branch){let[b,v]=m.branch;f.distance=b,h=v.map(([E,T])=>new a({key:E,address:T},l)),p=u}else throw new Error("Unknown block data, does not match schema");let w=new St({entries:h,closed:m.closed}),g=new p({entryList:w,...f});return e.set(g),g}}var hx=(t,e)=>{let[r,n]=t,[o,i]=e,s=Qt(r,o);return s!==0?s:px(n,i)},px=(t,e)=>{if(Number.isNaN(t))return-1;if(Number.isNaN(e))throw new Error("ref may not be Infinity or NaN");return Number.isFinite(t)?Qt(t,e):1},cp=async(t,e)=>{let r=[e,NaN],n=[e,1/0],{result:o,cids:i}=await t.getRangeEntries(r,n);return{result:o.map(s=>{let[c,a]=s.key;return{id:a,key:c,row:s.value}}),cids:i}},up=async(t,e,r)=>{e=[e,NaN],r=[r,1/0];let{result:n,cids:o}=await t.getRangeEntries(e,r);return{result:n.map(s=>{let[c,a]=s.key;return{id:a,key:c,row:s.value}}),cids:o}},mc=class extends Zt{get(e){return cp(this,e)}range(e,r){return up(this,e,r)}bulk(e,r={},n=!0){return super.bulk(e,{...wc,...r},n)}},gc=class extends er{get(e){return cp(this,e)}range(e,r){return up(this,e,r)}bulk(e,r={},n=!0){return super.bulk(e,{...wc,...r},n)}},yx=mc,mx=gc,wc={LeafClass:yx,BranchClass:mx,LeafEntryClass:Xt,BranchEntryClass:Yt},lp={...wc,compare:hx},fp=t=>(t={...lp,...t},sp(t)),bc=t=>(t={...lp,...t},ap(t));var tr=class{constructor(){k(this,"cid",null);k(this,"root",null)}},wx=(t,e)=>{if(Number.isNaN(t))return-1;if(Number.isNaN(e))throw new Error("ref may not be Infinity or NaN");return t===1/0?1:Qt(t,e)},bx=(t,e)=>{let[r,n]=t,[o,i]=e,s=Qt(r,o);return s!==0?s:wx(n,i)},kc={cache:$r,chunker:Vn(30),codec:q,hasher:de,compare:bx},vc={cache:$r,chunker:Vn(30),codec:q,hasher:de,compare:Qt};function dp(t,e){let r=[];return t.forEach(({key:n,value:o,del:i})=>{if(i||!o)return;let s=!1,c=e({_id:n,...o},(a,u)=>{s=!0,!(typeof a>"u")&&r.push({key:[qr.default.encode(a),n],value:u||null})});!s&&c&&r.push({key:[qr.default.encode(c),n],value:null})}),r}function xc(t){return async e=>{let r=await t.get(e);if(!r)throw new Error(`Missing block ${e.toString()}`);let{cid:n,bytes:o}=r;return pi({cid:n,bytes:o,hasher:de,codec:q})}}async function Ec(t,e,r,n){if(!r.length)return e;if(!e.root)if(e.cid)e.root=await bc({cid:e.cid,get:xc(t),...n});else{let s=null,c=null;for await(let a of await fp({get:xc(t),list:r,...n})){let u=await a.block;await t.put(u.cid,u.bytes),s=u,c=a}if(!c||!s)throw new Error("failed to create index");return{root:c,cid:s.cid}}let{root:o,blocks:i}=await e.root.bulk(r);if(o){for await(let s of i)await t.put(s.cid,s.bytes);return{root:o,cid:(await o.block).cid}}else return{root:null,cid:null}}async function Sc(t,e,r){return await bc({cid:e,get:xc(t),...r})}async function rr(t,e,r){return r.descending&&(e.result=e.result.reverse()),r.limit&&(e.result=e.result.slice(0,r.limit)),r.includeDocs&&(e.result=await Promise.all(e.result.map(async n=>{let o=await t.get(n.id),i=o?{_id:n.id,...o.doc}:null;return{...n,doc:i}}))),{rows:e.result.map(n=>(n.key=qr.default.decode(n.key),n.row&&!n.value&&(n.value=n.row,delete n.row),n))}}function Ac(t){return t.map(e=>qr.default.encode(e))}function _c(t){return qr.default.encode(t)}function qn({_crdt:t},e,r,n){if(r&&n)throw new Error("cannot provide both mapFn and meta");if(r&&r.constructor.name!=="Function")throw new Error("mapFn must be a function");if(t.indexers.has(e))t.indexers.get(e).applyMapFn(e,r,n);else{let o=new Bc(t,e,r,n);t.indexers.set(e,o)}return t.indexers.get(e)}var Bc=class{constructor(e,r,n,o){k(this,"blocks");k(this,"crdt");k(this,"name",null);k(this,"mapFn",null);k(this,"mapFnString","");k(this,"byKey",new tr);k(this,"byId",new tr);k(this,"indexHead");k(this,"includeDocsDefault",!1);k(this,"initError",null);k(this,"ready");if(this.blocks=e.indexBlocks,this.crdt=e,this.applyMapFn(r,n,o),!(this.mapFnString||this.initError))throw new Error("missing mapFnString");this.ready=this.blocks.ready.then(()=>{})}applyMapFn(e,r,n){if(r&&n)throw new Error("cannot provide both mapFn and meta");if(this.name&&this.name!==e)throw new Error("cannot change name");this.name=e;try{if(n){if(this.indexHead&&this.indexHead.map(i=>i.toString()).join()!==n.head.map(i=>i.toString()).join())throw new Error("cannot apply meta to existing index");this.mapFnString?this.mapFnString!==n.map?console.log("cannot apply different mapFn meta: old mapFnString",this.mapFnString,"new mapFnString",n.map):(this.byId.cid=n.byId,this.byKey.cid=n.byKey,this.indexHead=n.head):(this.mapFnString=n.map,this.byId.cid=n.byId,this.byKey.cid=n.byKey,this.indexHead=n.head)}else if(this.mapFn){if(r&&this.mapFn.toString()!==r.toString())throw new Error("cannot apply different mapFn app2")}else{if(r||(r=xx(e)),this.mapFnString){if(this.mapFnString!==r.toString())throw new Error("cannot apply different mapFn app")}else this.mapFnString=r.toString();this.mapFn=r}let o=/=>\s*(.*)/.test(this.mapFnString);this.includeDocsDefault=o}catch(o){this.initError=o}}async query(e={}){if(await this._updateIndex(),await this._hydrateIndex(),!this.byKey.root)return await rr(this.crdt,{result:[]},e);if(this.includeDocsDefault&&e.includeDocs===void 0&&(e.includeDocs=!0),e.range){let{result:o,...i}=await this.byKey.root.range(...Ac(e.range));return await rr(this.crdt,{result:o,...i},e)}if(e.key){let o=_c(e.key);return await rr(this.crdt,await this.byKey.root.get(o),e)}if(Array.isArray(e.keys))return{rows:(await Promise.all(e.keys.map(async i=>{let s=_c(i);return(await rr(this.crdt,await this.byKey.root.get(s),e)).rows}))).flat()};if(e.prefix){Array.isArray(e.prefix)||(e.prefix=[e.prefix]);let o=[...e.prefix,NaN],i=[...e.prefix,1/0],s=Ac([o,i]);return await rr(this.crdt,await this.byKey.root.range(...s),e)}let{result:r,...n}=await this.byKey.root.getAllEntries();return await rr(this.crdt,{result:r.map(({key:[o,i],value:s})=>({key:o,id:i,value:s})),...n},e)}_resetIndex(){this.byId=new tr,this.byKey=new tr,this.indexHead=void 0}async _hydrateIndex(){this.byId.root&&this.byKey.root||!this.byId.cid||!this.byKey.cid||(this.byId.root=await Sc(this.blocks,this.byId.cid,vc),this.byKey.root=await Sc(this.blocks,this.byKey.cid,kc))}async _updateIndex(){if(await this.ready,this.initError)throw this.initError;if(!this.mapFn)throw new Error("No map function defined");let e,r;if(!this.indexHead||this.indexHead.length===0?{result:e,head:r}=await this.crdt.allDocs():{result:e,head:r}=await this.crdt.changes(this.indexHead),e.length===0)return this.indexHead=r,{byId:this.byId,byKey:this.byKey};let n=[],o=[];if(this.byId.root){let a=e.map(({key:l})=>l),{result:u}=await this.byId.root.getMany(a);n=u.map(l=>({key:l,del:!0})),o=u.map(l=>({key:l[1],del:!0}))}let i=dp(e,this.mapFn),s=i.map(({key:a})=>({key:a[1],value:a})),c=new Map;for(let[a,u]of this.crdt.indexers)u.indexHead&&c.set(a,{byId:u.byId.cid,byKey:u.byKey.cid,head:u.indexHead,map:u.mapFnString,name:u.name});return await this.blocks.transaction(async a=>(this.byId=await Ec(a,this.byId,o.concat(s),vc),this.byKey=await Ec(a,this.byKey,n.concat(i),kc),this.indexHead=r,{byId:this.byId.cid,byKey:this.byKey.cid,head:r,map:this.mapFnString,name:this.name}),c)}};function xx(t){return e=>{if(e[t])return e[t]}}var Ri=class Ri extends Vr{constructor(r,n,o){super(r,o);k(this,"crdt");k(this,"defaultHeader",Ri.defaultHeader);this.crdt=n}async _applyCarHeader(r){for(let[n,o]of Object.entries(r.indexes))qn({_crdt:this.crdt},n,void 0,o)}makeCarHeader({indexes:r},n,o=!1){return o?{indexes:r,cars:[],compact:n}:{indexes:r,cars:n,compact:[]}}};k(Ri,"defaultHeader",{cars:[],compact:[],indexes:new Map});var Mi=Ri,zi=class zi extends Vr{constructor(r,n,o){super(r,o);k(this,"defaultHeader",zi.defaultHeader);k(this,"clock");k(this,"remoteFileStore");k(this,"fileStore");this.fileStore=new jr(this),this.clock=n}async loadFileCar(r,n=!1){return await this.storesLoadCar(r,this.fileStore,this.remoteFileStore,n)}async _applyCarHeader(r,n=!1){n?await this.clock.applyHead(null,r.head,this.clock.head):await this.clock.applyHead(null,r.head,[])}makeCarHeader(r,n,o=!1){if(pc(r)){let i=[];for(let[,s]of Object.entries(r.files))i.push(s.cid);return{files:i}}else{let{head:i}=r;return o?{head:i,cars:[],compact:n}:{head:i,cars:n,compact:[]}}}};k(zi,"defaultHeader",{cars:[],compact:[],head:[]});var Oi=zi;function pc(t){return t&&t.files!==void 0}var _t=class extends _e{constructor(r){super();k(this,"parent");this.parent=r}async get(r){return this.parent.get(r)}async superGet(r){return super.get(r)}},$i=class{constructor(e,r,n){k(this,"ready");k(this,"name",null);k(this,"loader",null);k(this,"opts",{});k(this,"transactions",new Set);if(this.opts=n||this.opts,e){if(this.name=e,!r)throw new Error("missing loader");this.loader=r,this.ready=this.loader.ready}else this.ready=Promise.resolve()}async put(){throw new Error("use a transaction to put")}async get(e){if(!e)throw new Error("required cid");for(let r of this.transactions){let n=await r.superGet(e);if(n)return n}if(this.loader)return await this.loader.getBlock(e)}async commitCompaction(e,r){return this.transactions.clear(),this.transactions.add(e),await this.loader?.commit(e,{head:r},{compact:!0})}async*entries(){let e=new Set;for(let r of this.transactions)for await(let n of r.entries())e.has(n.cid.toString())||(e.add(n.cid.toString()),yield n)}async executeTransaction(e,r){let n=new _t(this);this.transactions.add(n);let o=await e(n),{car:i,done:s}=await r(n,o);return i?{...s,car:i}:s}},Hi=class extends $i{constructor(e,r,n){e?super(e,new Mi(e,r,n),n):super(null)}async transaction(e,r){return this.executeTransaction(e,async(n,o)=>(r.set(o.name,o),{car:await this.loader?.commit(n,{indexes:r}),done:o}))}},ji=class extends $i{constructor(e,r,n){e?super(e,new Oi(e,r,n),n):super(null)}async transaction(e,r,n={noLoader:!1}){return this.executeTransaction(e,async(o,i)=>({car:await this.loader?.commit(o,i,n),done:i}))}},Vi=class{constructor(e){k(this,"blocks");k(this,"loader",null);k(this,"cids",new Set);this.blocks=e,this.loader=e.loader}async get(e){return this.cids.add(e),await this.blocks.get(e)}};var Tc=({name:t,code:e,encode:r})=>new Cc(t,e,r),Cc=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Pt(this.code,r):r.then(n=>Pt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function qi({enumerable:t=!0,configurable:e=!1}={}){return{enumerable:t,configurable:e,writable:!1}}function*kx(t,e){if(e!=null&&typeof e=="object")if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r],i=j.asCID(n);i?yield[o.join("/"),i]:typeof n=="object"&&(yield*Ic(n,o))}else{let r=j.asCID(e);r?yield[t.join("/"),r]:yield*Ic(e,t)}}function*Ic(t,e){if(t==null||t instanceof Uint8Array)return;let r=j.asCID(t);r&&(yield[e.join("/"),r]);for(let[n,o]of Object.entries(t)){let i=[...e,n];yield*kx(i,o)}}function*vx(t,e){if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r];yield o.join("/"),typeof n=="object"&&!j.asCID(n)&&(yield*Lc(n,o))}else yield*Lc(e,t)}function*Lc(t,e){if(!(t==null||typeof t!="object"))for(let[r,n]of Object.entries(t)){let o=[...e,r];yield o.join("/"),n!=null&&!(n instanceof Uint8Array)&&typeof n=="object"&&!j.asCID(n)&&(yield*vx(o,n))}}function Ex(t,e){let r=t;for(let[n,o]of e.entries()){if(r=r[o],r==null)throw new Error(`Object has no property at ${e.slice(0,n+1).map(s=>`[${JSON.stringify(s)}]`).join("")}`);let i=j.asCID(r);if(i)return{value:i,remaining:e.slice(n+1).join("/")}}return{value:r}}var Me=class{constructor({cid:e,bytes:r,value:n}){if(!e||!r||typeof n>"u")throw new Error("Missing required argument");this.cid=e,this.bytes=r,this.value=n,this.asBlock=this,Object.defineProperties(this,{cid:qi(),bytes:qi(),value:qi(),asBlock:qi()})}links(){return Ic(this.value,[])}tree(){return Lc(this.value,[])}get(e="/"){return Ex(this.value,e.split("/").filter(Boolean))}};async function Wi({value:t,codec:e,hasher:r}){if(typeof t>"u")throw new Error('Missing required argument "value"');if(!e||!r)throw new Error("Missing required argument: codec or hasher");let n=e.encode(t),o=await r.digest(n),i=j.create(1,e.code,o);return new Me({value:t,bytes:n,cid:i})}async function Ki({bytes:t,codec:e,hasher:r}){if(!t)throw new Error('Missing required argument "bytes"');if(!e||!r)throw new Error("Missing required argument: codec or hasher");let n=e.decode(t),o=await r.digest(t),i=j.create(1,e.code,o);return new Me({value:n,bytes:t,cid:i})}var Dc={};Y(Dc,{sha256:()=>ut,sha512:()=>Sx});var pp=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),ut=Tc({name:"sha2-256",code:18,encode:pp("SHA-256")}),Sx=Tc({name:"sha2-512",code:19,encode:pp("SHA-512")});async function Kn(t,e,r){let n=new Je(t),o=new Map(e.map(s=>[s.toString(),s]));if(o.has(r.toString()))return e;let i=!1;for(let s of e)await yp(n,r,s)&&(o.delete(s.toString()),o.set(r.toString(),r),i=!0);if(i)return[...o.values()];for(let s of e)if(await yp(n,s,r))return e;return e.concat(r)}var Wn=class extends Me{constructor({cid:e,value:r,bytes:n,prefix:o}){super({cid:e,value:r,bytes:n}),this.prefix=o}static create(e,r){return Ax({data:e,parents:r??[]})}},Je=class{constructor(e){this._blocks=e}async get(e){let r=await this._blocks.get(e);if(!r)throw new Error(`missing block: ${e}`);return _x(r.bytes)}};async function Ax(t){let{cid:e,bytes:r}=await Wi({value:t,codec:q,hasher:ut});return new Me({cid:e,value:t,bytes:r})}async function _x(t){let{cid:e,value:r}=await Ki({bytes:t,codec:q,hasher:ut});return new Me({cid:e,value:r,bytes:t})}async function yp(t,e,r){if(e.toString()===r.toString())return!0;let[{value:n},{value:o}]=await Promise.all([t.get(e),t.get(r)]),i=[...n.parents],s=new Set;for(;i.length;){let c=i.shift();if(!c)break;if(c.toString()===r.toString())return!0;if(o.parents.some(u=>c.toString()===u.toString())||s.has(c.toString()))continue;s.add(c.toString());let{value:a}=await t.get(c);i.push(...a.parents)}return!1}async function*Nc(t,e,r={}){let n=r.renderNodeLabel??(a=>Bx(a.cid)),o=new Je(t);yield"digraph clock {",yield' node [shape=point fontname="Courier"]; head;';let i=await Promise.all(e.map(a=>o.get(a))),s=[],c=new Set;for(let a of i){c.add(a.cid.toString()),yield` node [shape=oval fontname="Courier"]; ${a.cid} [label="${n(a)}"];`,yield` head -> ${a.cid};`;for(let u of a.value.parents)yield` ${a.cid} -> ${u};`;s.push(...a.value.parents)}for(;s.length;){let a=s.shift();if(!a)break;if(c.has(a.toString()))continue;c.add(a.toString());let u=await o.get(a);yield` node [shape=oval]; ${a} [label="${n(u)}" fontname="Courier"];`;for(let l of u.value.parents)yield` ${a} -> ${l};`;s.push(...u.value.parents)}yield"}"}var Bx=t=>`${String(t).slice(0,4)}..${String(t).slice(-4)}`;var nr=class extends Me{constructor({cid:e,value:r,bytes:n,prefix:o}){super({cid:e,value:r,bytes:n}),this.prefix=o}static create(){return Xe([])}};async function Xe(t,e){let{cid:r,bytes:n}=await Wi({value:t,codec:q,hasher:ut});return new nr({cid:r,value:t,bytes:n,prefix:e??""})}async function mp(t,e){let{cid:r,value:n}=await Ki({bytes:t,codec:q,hasher:ut});if(!Array.isArray(n))throw new Error(`invalid shard: ${r}`);return new nr({cid:r,value:n,bytes:t,prefix:e??""})}var or=class{constructor(e){this._blocks=e}async get(e,r=""){let n=await this._blocks.get(e);if(!n)throw new Error(`missing block: ${e}`);return mp(n.bytes,r)}};function Uc(t,e){if(!t.length)return[e];let r=[];for(let[n,[o,i]]of t.entries()){if(e[0]===o){if(Array.isArray(e[1]))Array.isArray(i)&&i[1]!=null&&e[1][1]==null?r.push([o,[e[1][0],i[1]]]):r.push(e);else{let s=Array.isArray(i)?[o,[i[0],e[1]]]:e;r.push(s)}for(let s=n+1;s<t.length;s++)r.push(t[s]);return r}if(n===0&&e[0]<o){r.push(e);for(let s=n;s<t.length;s++)r.push(t[s]);return r}if(n>0&&e[0]>t[n-1][0]&&e[0]<o){r.push(e);for(let s=n;s<t.length;s++)r.push(t[s]);return r}r.push([o,i])}return r.push(e),r}function gp(t,e){let r=t.findIndex(([i])=>e===i);if(r===-1)throw new Error(`key not found in shard: ${e}`);let n=r,o;for(;;){if(o=t[n][0].slice(0,-1),o.length)for(;;){let i=t.filter(s=>s[0].startsWith(o));if(i.length>1)return{prefix:o,matches:i};if(o=o.slice(0,-1),!o.length)break}if(n++,n>=t.length&&(n=0),n===r)return}}var Gi=64,Tx=512*1024;async function Gn(t,e,r,n,o={}){let i=new or(t),s=await i.get(e),c=await Qi(i,s,r),a=c[c.length-1],u=r.slice(a.prefix.length),l=[u,n],d=[];if(u.length>Gi){let h=Array.from(Array(Math.ceil(u.length/Gi)),(w,g)=>{let b=g*Gi;return{prefix:a.prefix+u.slice(0,b),skey:u.slice(b,b+Gi)}}),p=await Xe([[h[h.length-1].skey,n]],h[h.length-1].prefix);d.push(p);for(let w=h.length-2;w>0;w--)p=await Xe([[h[w].skey,[p.cid]]],h[w].prefix),d.push(p);l=[h[0].skey,[p.cid]]}let m=Uc(a.value,l),f=await Xe(m,a.prefix);if(f.bytes.length>(o.maxShardSize??Tx)){let h=gp(m,l[0]);if(!h)throw new Error("shard limit reached");let{prefix:p,matches:w}=h,g=await Xe(w.filter(([E])=>E!==p).map(([E,T])=>[E.slice(p.length),T]),a.prefix+p);d.push(g);let b,v=w.find(([E])=>E===p);if(v){if(Array.isArray(v[1]))throw new Error(`expected "${p}" to be a shard value but found a shard link`);b=[g.cid,v[1]]}else b=[g.cid];m=m.filter(E=>w.every(T=>E[0]!==T[0])),m=Uc(m,[p,b]),f=await Xe(m,a.prefix)}d.push(f);for(let h=c.length-2;h>=0;h--){let p=c[h],w=f.prefix.slice(p.prefix.length),g=p.value.map(b=>{let[v,E]=b;if(v!==w)return b;if(!Array.isArray(E))throw new Error(`"${w}" is not a shard link in: ${p.cid}`);return E[1]==null?[v,[f.cid]]:[v,[f.cid,E[1]]]});f=await Xe(g,p.prefix),d.push(f)}return{root:d[d.length-1].cid,additions:d,removals:c}}async function wp(t,e,r){let n=new or(t),o=await n.get(e),i=await Qi(n,o,r),s=i[i.length-1],c=r.slice(s.prefix.length),a=s.value.find(([u])=>u===c);if(a)return Array.isArray(a[1])?a[1][1]:a[1]}async function Pc(t,e,r){let n=new or(t),o=await n.get(e),i=await Qi(n,o,r),s=i[i.length-1],c=r.slice(s.prefix.length),a=s.value.findIndex(([h])=>h===c);if(a===-1)return{root:e,additions:[],removals:[]};let u=s.value[a];if(Array.isArray(u[1])&&u[1][1]==null)return{root:e,additions:[],removals:[]};let l=[],d=[...i],m=[...s.value];if(Array.isArray(u[1]))m[a]=[u[0],[u[1][0]]];else for(m.splice(a,1);!m.length;){let h=i[i.length-1],p=i[i.length-2];if(!p)break;i.pop(),m=p.value.filter(w=>Array.isArray(w[1])?w[1][0].toString()!==h.cid.toString():!0)}let f=await Xe(m,i[i.length-1].prefix);l.push(f);for(let h=i.length-2;h>=0;h--){let p=i[h],w=f.prefix.slice(p.prefix.length),g=p.value.map(b=>{let[v,E]=b;if(v!==w)return b;if(!Array.isArray(E))throw new Error(`"${w}" is not a shard link in: ${p.cid}`);return E[1]==null?[v,[f.cid]]:[v,[f.cid,E[1]]]});f=await Xe(g,p.prefix),l.push(f)}return{root:l[l.length-1].cid,additions:l,removals:d}}async function*bp(t,e,r={}){let{prefix:n}=r,o=new or(t),i=await o.get(e);yield*async function*s(c){for(let a of c.value){let u=c.prefix+a[0];if(Array.isArray(a[1])){if(a[1][1]&&(!n||n&&u.startsWith(n))&&(yield[u,a[1][1]]),n&&(n.length<=u.length&&!u.startsWith(n)||n.length>u.length&&!n.startsWith(u)))continue;yield*s(await o.get(a[1][0],u))}else{if(n&&!u.startsWith(n))continue;yield[u,a[1]]}}}(i)}async function Qi(t,e,r){for(let[n,o]of e.value){if(r===n)return[e];if(r.startsWith(n)&&Array.isArray(o)){let i=await Qi(t,await t.get(o[0],e.prefix+n),r.slice(n.length));return[e,...i]}}return[e]}async function xp(t,e,r,n,o){let i=new _e;if(t=new Mt(i,t),!e.length){let g=await nr.create();i.putSync(g.cid,g.bytes);let b=await Gn(t,g.cid,r,n,o),v={type:"put",root:b.root,key:r,value:n},E=await Wn.create(v,e);return e=await Kn(t,e,E.cid),{root:b.root,additions:[g,...b.additions],removals:b.removals,head:e,event:E}}let s=new Je(t),c=await Mc(s,e);if(!c)throw new Error("failed to find common ancestor event");let a=await s.get(c),{root:u}=a.value.data,l=await vp(s,e,c),d=new Map,m=new Map;for(let{value:g}of l){if(!["put","del"].includes(g.data.type))throw new Error(`unknown event type: ${g.data.type}`);let b=g.data.type==="put"?await Gn(t,u,g.data.key,g.data.value):await Pc(t,u,g.data.key);u=b.root;for(let v of b.additions)i.putSync(v.cid,v.bytes),d.set(v.cid.toString(),v);for(let v of b.removals)m.set(v.cid.toString(),v)}let f=await Gn(t,u,r,n,o);for(let g of f.additions)i.putSync(g.cid,g.bytes),d.set(g.cid.toString(),g);for(let g of f.removals)m.set(g.cid.toString(),g);let h={type:"put",root:f.root,key:r,value:n},p=await Wn.create(h,e);i.putSync(p.cid,p.bytes),e=await Kn(t,e,p.cid);let w=f.root.toString();for(let g of m.keys())d.has(g)&&g!==w&&(d.delete(g),m.delete(g));return{root:f.root,additions:[...d.values()],removals:[...m.values()],head:e,event:p}}async function Wr(t,e){if(!e.length)throw new Error("cannot determine root of headless clock");let r=new _e;t=new Mt(r,t);let n=new Je(t);if(e.length===1){let d=await n.get(e[0]),{root:m}=d.value.data;return{root:m,additions:[],removals:[]}}let o=await Mc(n,e);if(!o)throw new Error("failed to find common ancestor event");let i=await n.get(o),{root:s}=i.value.data,c=await vp(n,e,o),a=new Map,u=new Map;for(let{value:d}of c){if(!["put","del"].includes(d.data.type))throw new Error(`unknown event type: ${d.data.type}`);let m=d.data.type==="put"?await Gn(t,s,d.data.key,d.data.value):await Pc(t,s,d.data.key);s=m.root;for(let f of m.additions)r.putSync(f.cid,f.bytes),a.set(f.cid.toString(),f);for(let f of m.removals)u.set(f.cid.toString(),f)}let l=s.toString();for(let d of u.keys())a.has(d)&&d!==l&&(a.delete(d),u.delete(d));return{root:s,additions:[...a.values()],removals:[...u.values()]}}async function kp(t,e,r){if(!e.length)return;let n=await Wr(t,e);return n.additions.length&&(t=new Mt(new _e(n.additions),t)),wp(t,n.root,r)}async function*Fc(t,e,r){if(!e.length)return;let n=await Wr(t,e);n.additions.length&&(t=new Mt(new _e(n.additions),t)),yield*bp(t,n.root,r)}async function Mc(t,e){if(!e.length)return;let r=e.map(n=>[n]);for(;;){let n=!1;for(let o of r){let i=await Lx(t,o[o.length-1]);if(!i)continue;n=!0,o.push(i);let s=Dx(r);if(s)return s}if(!n)return}}async function Lx(t,e){let{value:r}=await t.get(e);return r.parents.length?r.parents.length===1?r.parents[0]:Mc(t,r.parents):e}function Dx(t){t=t.map(e=>[...e]);for(let e of t)for(let r of e){let n=!0;for(let o of t)if(e!==o&&(n=o.some(i=>String(i)===String(r)),!n))break;if(n)return r}}async function vp(t,e,r){if(e.length===1&&String(e[0])===String(r))return[];let n=new Map,o=await Promise.all(e.map(s=>Ep(t,s,r)));for(let s of o)for(let{event:c,depth:a}of s){let u=n.get(c.cid.toString());u?u.weight+=a:n.set(c.cid.toString(),{event:c,weight:a})}let i=new Map;for(let{event:s,weight:c}of n.values()){let a=i.get(c);a?a.push(s):i.set(c,[s])}return Array.from(i).sort((s,c)=>c[0]-s[0]).flatMap(([,s])=>s.sort((c,a)=>String(c.cid)<String(a.cid)?-1:1))}async function Ep(t,e,r,n=0){let o=await t.get(e),i=[{event:o,depth:n}],{parents:s}=o.value;if(s.length===1&&String(s[0])===String(r))return i;let c=await Promise.all(s.map(a=>Ep(t,a,r,n+1)));return i.concat(...c)}var Zr={};Y(Zr,{DEFAULT_DIRECTORY_MODE:()=>Dy,DEFAULT_FILE_MODE:()=>Ly,NodeType:()=>F,code:()=>Xr,createAdvancedFile:()=>tk,createComplexFile:()=>nk,createDirectoryShard:()=>Fy,createEmptyFile:()=>Zx,createFileChunk:()=>ek,createFileShard:()=>rk,createFlatDirectory:()=>as,createRaw:()=>Ny,createShardedDirectory:()=>Py,createSimpleFile:()=>Uy,createSymlink:()=>Oy,cumulativeContentByteLength:()=>tt,cumulativeDagByteLength:()=>Yr,decode:()=>$y,decodeMetadata:()=>cr,encode:()=>zy,encodeAdvancedFile:()=>iu,encodeComplexFile:()=>su,encodeDirectory:()=>ls,encodeDirectoryMetadata:()=>lu,encodeFile:()=>My,encodeFileChunk:()=>ou,encodeFileShard:()=>ok,encodeHAMTShard:()=>au,encodeLink:()=>cs,encodeMetadata:()=>eo,encodeMode:()=>jy,encodeRaw:()=>nu,encodeSimpleFile:()=>us,encodeSymlink:()=>Ry,filesize:()=>ck,matchFile:()=>ak,name:()=>ru});var Nx=new TextDecoder;function Oc(t,e){let r=0;for(let n=0;;n+=7){if(n>=64)throw new Error("protobuf: varint overflow");if(e>=t.length)throw new Error("protobuf: unexpected end of data");let o=t[e++];if(r+=n<28?(o&127)<<n:(o&127)*2**n,o<128)break}return[r,e]}function Ji(t,e){let r;[r,e]=Oc(t,e);let n=e+r;if(r<0||n<0)throw new Error("protobuf: invalid length");if(n>t.length)throw new Error("protobuf: unexpected end of data");return[t.subarray(e,n),n]}function Sp(t,e){let r;return[r,e]=Oc(t,e),[r&7,r>>3,e]}function Ux(t){let e={},r=t.length,n=0;for(;n<r;){let o,i;if([o,i,n]=Sp(t,n),i===1){if(e.Hash)throw new Error("protobuf: (PBLink) duplicate Hash section");if(o!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Hash`);if(e.Name!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Name before Hash");if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Hash");[e.Hash,n]=Ji(t,n)}else if(i===2){if(e.Name!==void 0)throw new Error("protobuf: (PBLink) duplicate Name section");if(o!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Name`);if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Name");let s;[s,n]=Ji(t,n),e.Name=Nx.decode(s)}else if(i===3){if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) duplicate Tsize section");if(o!==0)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Tsize`);[e.Tsize,n]=Oc(t,n)}else throw new Error(`protobuf: (PBLink) invalid fieldNumber, expected 1, 2 or 3, got ${i}`)}if(n>r)throw new Error("protobuf: (PBLink) unexpected end of data");return e}function Ap(t){let e=t.length,r=0,n,o=!1,i;for(;r<e;){let c,a;if([c,a,r]=Sp(t,r),c!==2)throw new Error(`protobuf: (PBNode) invalid wireType, expected 2, got ${c}`);if(a===1){if(i)throw new Error("protobuf: (PBNode) duplicate Data section");[i,r]=Ji(t,r),n&&(o=!0)}else if(a===2){if(o)throw new Error("protobuf: (PBNode) duplicate Links section");n||(n=[]);let u;[u,r]=Ji(t,r),n.push(Ux(u))}else throw new Error(`protobuf: (PBNode) invalid fieldNumber, expected 1 or 2, got ${a}`)}if(r>e)throw new Error("protobuf: (PBNode) unexpected end of data");let s={};return i&&(s.Data=i),s.Links=n||[],s}var Bp=new TextEncoder,_p=2**32,Px=2**31;function Fx(t,e){let r=e.length;if(typeof t.Tsize=="number"){if(t.Tsize<0)throw new Error("Tsize cannot be negative");if(!Number.isSafeInteger(t.Tsize))throw new Error("Tsize too large for encoding");r=Qn(e,r,t.Tsize)-1,e[r]=24}if(typeof t.Name=="string"){let n=Bp.encode(t.Name);r-=n.length,e.set(n,r),r=Qn(e,r,n.length)-1,e[r]=18}return t.Hash&&(r-=t.Hash.length,e.set(t.Hash,r),r=Qn(e,r,t.Hash.length)-1,e[r]=10),e.length-r}function Cp(t){let e=Ox(t),r=new Uint8Array(e),n=e;if(t.Data&&(n-=t.Data.length,r.set(t.Data,n),n=Qn(r,n,t.Data.length)-1,r[n]=10),t.Links)for(let o=t.Links.length-1;o>=0;o--){let i=Fx(t.Links[o],r.subarray(0,n));n-=i,n=Qn(r,n,i)-1,r[n]=18}return r}function Mx(t){let e=0;if(t.Hash){let r=t.Hash.length;e+=1+r+Kr(r)}if(typeof t.Name=="string"){let r=Bp.encode(t.Name).length;e+=1+r+Kr(r)}return typeof t.Tsize=="number"&&(e+=1+Kr(t.Tsize)),e}function Ox(t){let e=0;if(t.Data){let r=t.Data.length;e+=1+r+Kr(r)}if(t.Links)for(let r of t.Links){let n=Mx(r);e+=1+n+Kr(n)}return e}function Qn(t,e,r){e-=Kr(r);let n=e;for(;r>=Px;)t[e++]=r&127|128,r/=128;for(;r>=128;)t[e++]=r&127|128,r>>>=7;return t[e]=r,n}function Kr(t){return t%2===0&&t++,Math.floor((Rx(t)+6)/7)}function Rx(t){let e=0;return t>=_p&&(t=Math.floor(t/_p),e=32),t>=65536&&(t>>>=16,e+=16),t>=256&&(t>>>=8,e+=8),e+zx[t]}var zx=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8];var $x=["Data","Links"],Hx=["Hash","Name","Tsize"],Rc=new TextEncoder;function Ip(t,e){if(t===e)return 0;let r=t.Name?Rc.encode(t.Name):[],n=e.Name?Rc.encode(e.Name):[],o=r.length,i=n.length;for(let s=0,c=Math.min(o,i);s<c;++s)if(r[s]!==n[s]){o=r[s],i=n[s];break}return o<i?-1:i<o?1:0}function Tp(t,e){return!Object.keys(t).some(r=>!e.includes(r))}function jx(t){if(typeof t.asCID=="object"){let r=j.asCID(t);if(!r)throw new TypeError("Invalid DAG-PB form");return{Hash:r}}if(typeof t!="object"||Array.isArray(t))throw new TypeError("Invalid DAG-PB form");let e={};if(t.Hash){let r=j.asCID(t.Hash);try{r||(typeof t.Hash=="string"?r=j.parse(t.Hash):t.Hash instanceof Uint8Array&&(r=j.decode(t.Hash)))}catch(n){throw new TypeError(`Invalid DAG-PB form: ${n.message}`)}r&&(e.Hash=r)}if(!e.Hash)throw new TypeError("Invalid DAG-PB form");return typeof t.Name=="string"&&(e.Name=t.Name),typeof t.Tsize=="number"&&(e.Tsize=t.Tsize),e}function zc(t){if((t instanceof Uint8Array||typeof t=="string")&&(t={Data:t}),typeof t!="object"||Array.isArray(t))throw new TypeError("Invalid DAG-PB form");let e={};if(t.Data!==void 0)if(typeof t.Data=="string")e.Data=Rc.encode(t.Data);else if(t.Data instanceof Uint8Array)e.Data=t.Data;else throw new TypeError("Invalid DAG-PB form");if(t.Links!==void 0)if(Array.isArray(t.Links))e.Links=t.Links.map(jx),e.Links.sort(Ip);else throw new TypeError("Invalid DAG-PB form");else e.Links=[];return e}function Lp(t){if(!t||typeof t!="object"||Array.isArray(t)||t instanceof Uint8Array||t["/"]&&t["/"]===t.bytes)throw new TypeError("Invalid DAG-PB form");if(!Tp(t,$x))throw new TypeError("Invalid DAG-PB form (extraneous properties)");if(t.Data!==void 0&&!(t.Data instanceof Uint8Array))throw new TypeError("Invalid DAG-PB form (Data must be bytes)");if(!Array.isArray(t.Links))throw new TypeError("Invalid DAG-PB form (Links must be a list)");for(let e=0;e<t.Links.length;e++){let r=t.Links[e];if(!r||typeof r!="object"||Array.isArray(r)||r instanceof Uint8Array||r["/"]&&r["/"]===r.bytes)throw new TypeError("Invalid DAG-PB form (bad link)");if(!Tp(r,Hx))throw new TypeError("Invalid DAG-PB form (extraneous properties on link)");if(r.Hash===void 0)throw new TypeError("Invalid DAG-PB form (link must have a Hash)");if(r.Hash==null||!r.Hash["/"]||r.Hash["/"]!==r.Hash.bytes)throw new TypeError("Invalid DAG-PB form (link Hash must be a CID)");if(r.Name!==void 0&&typeof r.Name!="string")throw new TypeError("Invalid DAG-PB form (link Name must be a string)");if(r.Tsize!==void 0){if(typeof r.Tsize!="number"||r.Tsize%1!==0)throw new TypeError("Invalid DAG-PB form (link Tsize must be an integer)");if(r.Tsize<0)throw new TypeError("Invalid DAG-PB form (link Tsize cannot be negative)")}if(e>0&&Ip(r,t.Links[e-1])===-1)throw new TypeError("Invalid DAG-PB form (links must be sorted by Name bytes)")}}var ir=112;function Dp(t){Lp(t);let e={};return t.Links&&(e.Links=t.Links.map(r=>{let n={};return r.Hash&&(n.Hash=r.Hash.bytes),r.Name!==void 0&&(n.Name=r.Name),r.Tsize!==void 0&&(n.Tsize=r.Tsize),n})),t.Data&&(e.Data=t.Data),Cp(e)}function Ye(t){let e=Ap(t),r={};return e.Data&&(r.Data=e.Data),e.Links&&(r.Links=e.Links.map(n=>{let o={};try{o.Hash=j.decode(n.Hash)}catch{}if(!o.Hash)throw new Error("Invalid Hash field found in link, expected CID");return n.Name!==void 0&&(o.Name=n.Name),n.Tsize!==void 0&&(o.Tsize=n.Tsize),o})),r}var ft=W(By(),1),Qr=ft.default.Reader,eu=ft.default.Writer,N=ft.default.util,ie=ft.default.roots.unixfs||(ft.default.roots.unixfs={}),Jr=ie.Data=(()=>{function t(e){if(this.blocksizes=[],e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.Type=0,t.prototype.Data=N.newBuffer([]),t.prototype.filesize=N.Long?N.Long.fromBits(0,0,!0):0,t.prototype.blocksizes=N.emptyArray,t.prototype.hashType=N.Long?N.Long.fromBits(0,0,!0):0,t.prototype.fanout=N.Long?N.Long.fromBits(0,0,!0):0,t.prototype.mode=0,t.prototype.mtime=null,t.encode=function(r,n){if(n||(n=eu.create()),n.uint32(8).int32(r.Type),r.Data!=null&&Object.hasOwnProperty.call(r,"Data")&&n.uint32(18).bytes(r.Data),r.filesize!=null&&Object.hasOwnProperty.call(r,"filesize")&&n.uint32(24).uint64(r.filesize),r.blocksizes!=null&&r.blocksizes.length)for(var o=0;o<r.blocksizes.length;++o)n.uint32(32).uint64(r.blocksizes[o]);return r.hashType!=null&&Object.hasOwnProperty.call(r,"hashType")&&n.uint32(40).uint64(r.hashType),r.fanout!=null&&Object.hasOwnProperty.call(r,"fanout")&&n.uint32(48).uint64(r.fanout),r.mode!=null&&Object.hasOwnProperty.call(r,"mode")&&n.uint32(56).uint32(r.mode),r.mtime!=null&&Object.hasOwnProperty.call(r,"mtime")&&ie.UnixTime.encode(r.mtime,n.uint32(66).fork()).ldelim(),n},t.decode=function(r,n){r instanceof Qr||(r=Qr.create(r));for(var o=n===void 0?r.len:r.pos+n,i=new ie.Data;r.pos<o;){var s=r.uint32();switch(s>>>3){case 1:i.Type=r.int32();break;case 2:i.Data=r.bytes();break;case 3:i.filesize=r.uint64();break;case 4:if(i.blocksizes&&i.blocksizes.length||(i.blocksizes=[]),(s&7)===2)for(var c=r.uint32()+r.pos;r.pos<c;)i.blocksizes.push(r.uint64());else i.blocksizes.push(r.uint64());break;case 5:i.hashType=r.uint64();break;case 6:i.fanout=r.uint64();break;case 7:i.mode=r.uint32();break;case 8:i.mtime=ie.UnixTime.decode(r,r.uint32());break;default:r.skipType(s&7);break}}if(!i.hasOwnProperty("Type"))throw N.ProtocolError("missing required 'Type'",{instance:i});return i},t.fromObject=function(r){if(r instanceof ie.Data)return r;var n=new ie.Data;switch(r.Type){case"Raw":case 0:n.Type=0;break;case"Directory":case 1:n.Type=1;break;case"File":case 2:n.Type=2;break;case"Metadata":case 3:n.Type=3;break;case"Symlink":case 4:n.Type=4;break;case"HAMTShard":case 5:n.Type=5;break}if(r.Data!=null&&(typeof r.Data=="string"?N.base64.decode(r.Data,n.Data=N.newBuffer(N.base64.length(r.Data)),0):r.Data.length&&(n.Data=r.Data)),r.filesize!=null&&(N.Long?(n.filesize=N.Long.fromValue(r.filesize)).unsigned=!0:typeof r.filesize=="string"?n.filesize=parseInt(r.filesize,10):typeof r.filesize=="number"?n.filesize=r.filesize:typeof r.filesize=="object"&&(n.filesize=new N.LongBits(r.filesize.low>>>0,r.filesize.high>>>0).toNumber(!0))),r.blocksizes){if(!Array.isArray(r.blocksizes))throw TypeError(".Data.blocksizes: array expected");n.blocksizes=[];for(var o=0;o<r.blocksizes.length;++o)N.Long?(n.blocksizes[o]=N.Long.fromValue(r.blocksizes[o])).unsigned=!0:typeof r.blocksizes[o]=="string"?n.blocksizes[o]=parseInt(r.blocksizes[o],10):typeof r.blocksizes[o]=="number"?n.blocksizes[o]=r.blocksizes[o]:typeof r.blocksizes[o]=="object"&&(n.blocksizes[o]=new N.LongBits(r.blocksizes[o].low>>>0,r.blocksizes[o].high>>>0).toNumber(!0))}if(r.hashType!=null&&(N.Long?(n.hashType=N.Long.fromValue(r.hashType)).unsigned=!0:typeof r.hashType=="string"?n.hashType=parseInt(r.hashType,10):typeof r.hashType=="number"?n.hashType=r.hashType:typeof r.hashType=="object"&&(n.hashType=new N.LongBits(r.hashType.low>>>0,r.hashType.high>>>0).toNumber(!0))),r.fanout!=null&&(N.Long?(n.fanout=N.Long.fromValue(r.fanout)).unsigned=!0:typeof r.fanout=="string"?n.fanout=parseInt(r.fanout,10):typeof r.fanout=="number"?n.fanout=r.fanout:typeof r.fanout=="object"&&(n.fanout=new N.LongBits(r.fanout.low>>>0,r.fanout.high>>>0).toNumber(!0))),r.mode!=null&&(n.mode=r.mode>>>0),r.mtime!=null){if(typeof r.mtime!="object")throw TypeError(".Data.mtime: object expected");n.mtime=ie.UnixTime.fromObject(r.mtime)}return n},t.toObject=function(r,n){n||(n={});var o={};if((n.arrays||n.defaults)&&(o.blocksizes=[]),n.defaults){if(o.Type=n.enums===String?"Raw":0,n.bytes===String?o.Data="":(o.Data=[],n.bytes!==Array&&(o.Data=N.newBuffer(o.Data))),N.Long){var i=new N.Long(0,0,!0);o.filesize=n.longs===String?i.toString():n.longs===Number?i.toNumber():i}else o.filesize=n.longs===String?"0":0;if(N.Long){var i=new N.Long(0,0,!0);o.hashType=n.longs===String?i.toString():n.longs===Number?i.toNumber():i}else o.hashType=n.longs===String?"0":0;if(N.Long){var i=new N.Long(0,0,!0);o.fanout=n.longs===String?i.toString():n.longs===Number?i.toNumber():i}else o.fanout=n.longs===String?"0":0;o.mode=0,o.mtime=null}if(r.Type!=null&&r.hasOwnProperty("Type")&&(o.Type=n.enums===String?ie.Data.DataType[r.Type]:r.Type),r.Data!=null&&r.hasOwnProperty("Data")&&(o.Data=n.bytes===String?N.base64.encode(r.Data,0,r.Data.length):n.bytes===Array?Array.prototype.slice.call(r.Data):r.Data),r.filesize!=null&&r.hasOwnProperty("filesize")&&(typeof r.filesize=="number"?o.filesize=n.longs===String?String(r.filesize):r.filesize:o.filesize=n.longs===String?N.Long.prototype.toString.call(r.filesize):n.longs===Number?new N.LongBits(r.filesize.low>>>0,r.filesize.high>>>0).toNumber(!0):r.filesize),r.blocksizes&&r.blocksizes.length){o.blocksizes=[];for(var s=0;s<r.blocksizes.length;++s)typeof r.blocksizes[s]=="number"?o.blocksizes[s]=n.longs===String?String(r.blocksizes[s]):r.blocksizes[s]:o.blocksizes[s]=n.longs===String?N.Long.prototype.toString.call(r.blocksizes[s]):n.longs===Number?new N.LongBits(r.blocksizes[s].low>>>0,r.blocksizes[s].high>>>0).toNumber(!0):r.blocksizes[s]}return r.hashType!=null&&r.hasOwnProperty("hashType")&&(typeof r.hashType=="number"?o.hashType=n.longs===String?String(r.hashType):r.hashType:o.hashType=n.longs===String?N.Long.prototype.toString.call(r.hashType):n.longs===Number?new N.LongBits(r.hashType.low>>>0,r.hashType.high>>>0).toNumber(!0):r.hashType),r.fanout!=null&&r.hasOwnProperty("fanout")&&(typeof r.fanout=="number"?o.fanout=n.longs===String?String(r.fanout):r.fanout:o.fanout=n.longs===String?N.Long.prototype.toString.call(r.fanout):n.longs===Number?new N.LongBits(r.fanout.low>>>0,r.fanout.high>>>0).toNumber(!0):r.fanout),r.mode!=null&&r.hasOwnProperty("mode")&&(o.mode=r.mode),r.mtime!=null&&r.hasOwnProperty("mtime")&&(o.mtime=ie.UnixTime.toObject(r.mtime,n)),o},t.prototype.toJSON=function(){return this.constructor.toObject(this,ft.default.util.toJSONOptions)},t.DataType=function(){let e={},r=Object.create(e);return r[e[0]="Raw"]=0,r[e[1]="Directory"]=1,r[e[2]="File"]=2,r[e[3]="Metadata"]=3,r[e[4]="Symlink"]=4,r[e[5]="HAMTShard"]=5,r}(),t})(),h3=ie.UnixTime=(()=>{function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.Seconds=N.Long?N.Long.fromBits(0,0,!1):0,t.prototype.FractionalNanoseconds=0,t.encode=function(r,n){return n||(n=eu.create()),n.uint32(8).int64(r.Seconds),r.FractionalNanoseconds!=null&&Object.hasOwnProperty.call(r,"FractionalNanoseconds")&&n.uint32(21).fixed32(r.FractionalNanoseconds),n},t.decode=function(r,n){r instanceof Qr||(r=Qr.create(r));for(var o=n===void 0?r.len:r.pos+n,i=new ie.UnixTime;r.pos<o;){var s=r.uint32();switch(s>>>3){case 1:i.Seconds=r.int64();break;case 2:i.FractionalNanoseconds=r.fixed32();break;default:r.skipType(s&7);break}}if(!i.hasOwnProperty("Seconds"))throw N.ProtocolError("missing required 'Seconds'",{instance:i});return i},t.fromObject=function(r){if(r instanceof ie.UnixTime)return r;var n=new ie.UnixTime;return r.Seconds!=null&&(N.Long?(n.Seconds=N.Long.fromValue(r.Seconds)).unsigned=!1:typeof r.Seconds=="string"?n.Seconds=parseInt(r.Seconds,10):typeof r.Seconds=="number"?n.Seconds=r.Seconds:typeof r.Seconds=="object"&&(n.Seconds=new N.LongBits(r.Seconds.low>>>0,r.Seconds.high>>>0).toNumber())),r.FractionalNanoseconds!=null&&(n.FractionalNanoseconds=r.FractionalNanoseconds>>>0),n},t.toObject=function(r,n){n||(n={});var o={};if(n.defaults){if(N.Long){var i=new N.Long(0,0,!1);o.Seconds=n.longs===String?i.toString():n.longs===Number?i.toNumber():i}else o.Seconds=n.longs===String?"0":0;o.FractionalNanoseconds=0}return r.Seconds!=null&&r.hasOwnProperty("Seconds")&&(typeof r.Seconds=="number"?o.Seconds=n.longs===String?String(r.Seconds):r.Seconds:o.Seconds=n.longs===String?N.Long.prototype.toString.call(r.Seconds):n.longs===Number?new N.LongBits(r.Seconds.low>>>0,r.Seconds.high>>>0).toNumber():r.Seconds),r.FractionalNanoseconds!=null&&r.hasOwnProperty("FractionalNanoseconds")&&(o.FractionalNanoseconds=r.FractionalNanoseconds),o},t.prototype.toJSON=function(){return this.constructor.toObject(this,ft.default.util.toJSONOptions)},t})(),p3=ie.Metadata=(()=>{function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.MimeType="",t.encode=function(r,n){return n||(n=eu.create()),r.MimeType!=null&&Object.hasOwnProperty.call(r,"MimeType")&&n.uint32(10).string(r.MimeType),n},t.decode=function(r,n){r instanceof Qr||(r=Qr.create(r));for(var o=n===void 0?r.len:r.pos+n,i=new ie.Metadata;r.pos<o;){var s=r.uint32();switch(s>>>3){case 1:i.MimeType=r.string();break;default:r.skipType(s&7);break}}return i},t.fromObject=function(r){if(r instanceof ie.Metadata)return r;var n=new ie.Metadata;return r.MimeType!=null&&(n.MimeType=String(r.MimeType)),n},t.toObject=function(r,n){n||(n={});var o={};return n.defaults&&(o.MimeType=""),r.MimeType!=null&&r.hasOwnProperty("MimeType")&&(o.MimeType=r.MimeType),o},t.prototype.toJSON=function(){return this.constructor.toObject(this,ft.default.util.toJSONOptions)},t})();var F=Jr.DataType;var Iy=Object.freeze([]),tu=new Uint8Array(0),Ee=Object.freeze({}),Ly=parseInt("0644",8),Dy=parseInt("0755",8),Xr=ir,ru="UnixFS",Tt=(t,e)=>(Object(globalThis).debug&&console.log({data:t,links:e}),Dp(zc({Data:Jr.encode(t).finish(),Links:e}))),Ny=t=>({type:F.Raw,content:t}),Zx=t=>Uy(tu,t),Uy=(t,e)=>({type:F.File,layout:"simple",content:t,metadata:cr(e)}),ek=t=>({type:F.File,layout:"simple",content:t}),tk=(t,e)=>({type:F.File,layout:"advanced",parts:t,metadata:cr(e)}),rk=t=>({type:F.File,layout:"advanced",parts:t}),nk=(t,e,r)=>({type:F.File,layout:"complex",content:t,parts:e,metadata:cr(r)}),as=(t,e)=>({type:F.Directory,metadata:cr(e),entries:t}),Py=(t,e,r,n,o=Ee)=>({type:F.HAMTShard,bitfield:e,fanout:cu(r),hashType:uu(n),entries:t,metadata:cr(o)}),Fy=(t,e,r,n)=>({type:F.HAMTShard,bitfield:e,fanout:cu(r),hashType:uu(n),entries:t}),nu=t=>Tt({Type:F.Raw,Data:t.byteLength>0?t:void 0,filesize:t.byteLength,blocksizes:Iy},[]),My=(t,e=!1)=>{let r=e?Ee:Object(t).metadata;switch(t.layout){case"simple":return us(t.content,r);case"advanced":return iu(t.parts,r);case"complex":return su(t.content,t.parts,r);default:throw new TypeError(`File with unknown layout "${Object(t).layout}" was passed`)}},ou=t=>us(t,Ee),ok=t=>Tt({Type:F.File,blocksizes:t.map(Zn),filesize:tt(t)},t.map(cs)),iu=(t,e=Ee)=>Tt({Type:F.File,blocksizes:t.map(Zn),filesize:tt(t),...eo(e)},t.map(cs)),cs=t=>({Name:"",Tsize:t.dagByteLength,Hash:t.cid}),us=(t,e=Ee)=>Tt({Type:F.File,Data:t.byteLength>0?t:void 0,filesize:t.byteLength,blocksizes:[],...eo(e)},[]),su=(t,e,r=Ee)=>Tt({Type:F.File,Data:t,filesize:t.byteLength+tt(e),blocksizes:e.map(Zn)},e.map(cs)),ls=t=>Tt({Type:t.type,...lu(t.metadata||Ee)},t.entries.map(Hy)),au=({bitfield:t,fanout:e,hashType:r,entries:n,metadata:o=Ee})=>Tt({Type:F.HAMTShard,Data:t.byteLength>0?t:void 0,fanout:cu(e),hashType:uu(r),...lu(o)},n.map(Hy)),cu=t=>{if(Math.log2(t)%1===0)return t;throw new TypeError(`Expected hamt size to be a power of two instead got ${t}`)},uu=t=>{if(Number.isInteger(t))return t;throw new TypeError(`Expected an integer value instead got ${t}`)};var Oy=(t,e=Ee)=>({type:F.Symlink,content:t,metadata:cr(e)}),Ry=(t,e=!1)=>{let r=e?Ee:Object(t).metadata;return Tt({Type:F.Symlink,Data:t.content,...eo(r||Ee)},[])},zy=(t,e=!0)=>{switch(t.type){case F.Raw:return nu(t.content);case F.File:return My(t);case F.Directory:return ls(t);case F.HAMTShard:return au(t);case F.Symlink:return Ry(t);default:throw new Error(`Unknown node type ${Object(t).type}`)}},$y=t=>{let e=Ye(t),r=Jr.decode(e.Data),{Type:n,Data:o,mtime:i,mode:s,blocksizes:c,...a}=Jr.toObject(r,{defaults:!1,arrays:!0,longs:Number,objects:!1}),u={...s&&{mode:s},...ik(i)},l=e.Links;switch(r.Type){case F.Raw:return Ny(o);case F.File:return l.length===0?new os(o,u):o.byteLength===0?new is(Cy(a.blocksizes,l),u):new ss(o,Cy(a.blocksizes,l),u);case F.Directory:return as(Ty(l),u);case F.HAMTShard:return Py(Ty(l),o||tu,a.fanout,a.hashType,u);case F.Symlink:return Oy(o,u);default:throw new TypeError(`Unsupported node type ${r.Type}`)}},ik=t=>t==null?void 0:{mtime:{secs:t.Seconds,nsecs:t.FractionalNanoseconds||0}};var Cy=(t,e)=>{let r=[],n=t.length,o=0;for(;o<n;)r.push({cid:e[o].Hash,dagByteLength:e[o].Tsize||0,contentByteLength:t[o]});return r},Ty=t=>t.map(e=>({cid:e.Hash,name:e.Name||"",dagByteLength:e.Tsize||0})),tt=t=>t.reduce((e,r)=>e+r.contentByteLength,0),Yr=(t,e)=>e.reduce((r,n)=>r+n.dagByteLength,t.byteLength),Zn=t=>t.contentByteLength,Hy=({name:t,dagByteLength:e,cid:r})=>({Name:t,Tsize:e,Hash:r}),lu=t=>eo(t,Dy),eo=({mode:t,mtime:e},r=Ly)=>({mode:t!=null?jy(t,r):void 0,mtime:e!=null?sk(e):void 0}),cr=t=>t==null?Ee:{...t.mode==null?void 0:{mode:Vy(t.mode)},...t.mtime==null?void 0:{mtime:t.mtime}},sk=t=>t==null?void 0:t.nsecs!==0?{Seconds:t.secs,FractionalNanoseconds:t.nsecs}:{Seconds:t.secs},jy=(t,e)=>{let r=t==null?void 0:Vy(t);return r===e||r==null?void 0:r},Vy=t=>t&4095|t&4294963200,ak=({content:t=tu,parts:e=Iy,metadata:r=Ee,...n})=>e.length===0?new os(t,r):t.byteLength===0?new is(e,r):new ss(t,e,r),os=class{constructor(e,r){this.content=e,this.metadata=r,this.layout="simple",this.type=F.File}get filesize(){return this.content.byteLength}encode(){return us(this.content,this.metadata)}},is=class{constructor(e,r){this.parts=e,this.metadata=r}get layout(){return"advanced"}get type(){return F.File}get fileSize(){return tt(this.parts)}get blockSizes(){return this.parts.map(Zn)}encode(){return iu(this.parts,this.metadata)}},ss=class{constructor(e,r,n){this.content=e,this.parts=r,this.metadata=n}get layout(){return"complex"}get type(){return F.File}get fileSize(){return this.content.byteLength+tt(this.parts)}get blockSizes(){return this.parts.map(Zn)}encode(){return su(this.content,this.parts,this.metadata)}},ck=t=>{switch(t.type){case F.Raw:case F.Symlink:return t.content.byteLength;case F.File:switch(t.layout){case"simple":return t.content.byteLength;case"advanced":return tt(t.parts);case"complex":return t.content.byteLength+tt(t.parts)}default:return 0}};var uk=function*(t){let e=yield*t;yield*ds(e)};function*yu(){return yield ys}var tn=function*(){yield ms};var fs=function*(t){let e=yield*yu();if(fk(t)){let r=!1,n;if(t.then(o=>{r=!1,n=o,It(e)},o=>{r=!0,n=o,It(e)}),yield*tn(),r)throw n;return n}else return yk(lk(e)),yield*tn(),t};function*lk(t){It(t)}var fk=t=>t!=null&&typeof t.then=="function",ds=function*(t){yield t},hs=function*(t){let e=[];for(let r of Object.entries(t)){let[n,o]=r;o!==no&&e.push(yield*nn(hk(o,n)))}yield*gu(e)},ps=t=>t.length>0?dk(t.map(uk)):no;function*dk(t){let e=[];for(let r of t)e.push(yield*nn(r));yield*gu(e)}var hk=(t,e)=>t===no?no:t instanceof to?new to([...t.tags,e],t.source):new to([e],t),to=class{constructor(e,r){this.tags=e,this.source=r,this.controller}[Symbol.iterator](){return this.controller||(this.controller=this.source[Symbol.iterator]()),this}box(e){if(e.done)return e;switch(e.value){case ms:case ys:return e;default:{let r=e,{value:n}=r;for(let o of this.tags)n=pk(o,n);return r.value=n,r}}}next(e){return this.box(this.controller.next(e))}throw(e){return this.box(this.controller.throw(e))}return(e){return this.box(this.controller.return(e))}get[Symbol.toStringTag](){return"TaggedEffect"}},oo=()=>no;var pk=(t,e)=>({type:t,[t]:e});var ys=Symbol("current"),ms=Symbol("suspend");var dt=class t{static of(e){return e.group||en}static enqueue(e,r){e.group=r,r.stack.active.push(e)}constructor(e,r=[],n=new Set,o=new rn(r,n)){this.driver=e,this.parent=t.of(e),this.stack=o,this.id=++Gy}},fu=class{constructor(){this.status=ro,this.stack=new rn,this.id=0}},rn=class{constructor(e=[],r=new Set){this.active=e,this.idle=r}static size({active:e,idle:r}){return e.length+r.size}},yk=t=>It(t[Symbol.iterator]()),It=t=>{let e=dt.of(t);for(e.stack.active.push(t),e.stack.idle.delete(t);e.parent;){let{idle:r,active:n}=e.parent.stack;if(r.has(e.driver))r.delete(e.driver),n.push(e.driver);else break;e=e.parent}if(en.status===ro)for(en.status=Qy;;)try{for(let r of mu(en));en.status=ro;break}catch{en.stack.active.shift()}},mk=t=>It(t),mu=function*(t){let{active:e}=t.stack,r=e[0];for(t.stack.idle.delete(r);r;){let n=Jy;e:for(;!n.done&&r===e[0];){let o=n.value;switch(o){case ms:t.stack.idle.add(r);break e;case ys:n=r.next(r);break;default:n=r.next(yield o);break}}e.shift(),r=e[0],t.stack.idle.delete(r)}};var nn=(t,e)=>new pu(t,e),gk=(t,e)=>Wy(t,{ok:!0,value:e});var du=(t,e)=>Wy(t,{ok:!1,error:e});function*Wy(t,e){try{let r=t,n=e.ok?r.return(e.value):r.throw(e.error);if(!n.done)if(n.value===ms){let{idle:o}=dt.of(r).stack;o.add(r)}else It(r)}catch{}}function*gu(t){if(t.length===0)return;let e=yield*yu(),r=new dt(e),n=null;for(let o of t){let{result:i}=o;if(i){!i.ok&&!n&&(n=i);continue}wk(o,r)}try{if(n)throw n.error;for(;yield*mu(r),rn.size(r.stack)>0;)yield*tn()}catch(o){for(let i of r.stack.active)yield*du(i,o);for(let i of r.stack.idle)yield*du(i,o),It(i);throw o}}var wk=(t,e)=>{let r=dt.of(t);if(r!==e){let{active:n,idle:o}=r.stack,i=e.stack;if(t.group=e,o.has(t))o.delete(t),i.idle.add(t);else{let s=n.indexOf(t);s>=0&&(n.splice(s,1),i.active.push(t))}}};function*wu(t){t.status===ro&&(yield*t),t.result||(yield*gu([t]));let e=t.result;if(e.ok)return e.value;throw e.error}var hu=class{constructor(e){this.handler=e,this.result}get promise(){let{result:e}=this,r=e==null?new Promise((n,o)=>{this.handler.onsuccess=n,this.handler.onfailure=o}):e.ok?Promise.resolve(e.value):Promise.reject(e.error);return Object.defineProperty(this,"promise",{value:r}),r}then(e,r){return this.activate().promise.then(e,r)}catch(e){return this.activate().promise.catch(e)}finally(e){return this.activate().promise.finally(e)}activate(){return this}},pu=class extends hu{constructor(e,r=bk,n={},o=Jy){super(n),this.id=++Gy,this.name=r.name||"",this.task=e,this.state=o,this.status=ro,this.result,this.handler=n,this.controller}*resume(){mk(this)}join(){return wu(this)}abort(e){return du(this,e)}exit(e){return gk(this,e)}get[Symbol.toStringTag](){return"Fork"}*[Symbol.iterator](){return this.activate()}activate(){return this.controller=this.task[Symbol.iterator](),this.status=Qy,It(this),this}panic(e){this.result={ok:!1,error:e},this.status=qy;let{handler:r}=this;throw r.onfailure&&r.onfailure(e),e}step(e){if(this.state=e,e.done){this.result={ok:!0,value:e.value},this.status=qy;let{handler:r}=this;r.onsuccess&&r.onsuccess(e.value)}return e}next(e){try{return this.step(this.controller.next(e))}catch(r){return this.panic(r)}}return(e){try{return this.step(this.controller.return(e))}catch(r){return this.panic(r)}}throw(e){try{return this.step(this.controller.throw(e))}catch(r){return this.panic(r)}}},Ky=function*(t,e){let r=yield*yu(),n=new dt(r);for(dt.enqueue(t[Symbol.iterator](),n);;){for(let o of mu(n))dt.enqueue(e(o)[Symbol.iterator](),n);if(rn.size(n.stack)>0)yield*tn();else break}},Gy=0,ro="idle",Qy="active",qy="finished",Jy={done:!1,value:ys},bk={},no=function*(){}(),en=new fu;function bu(){}Object.defineProperties(bu,{prototype:{value:new Proxy(Object.prototype,{get(t,e,r){return typeof e=="symbol"?Reflect.get(t,e,r):r.get(e)}})}});var xu=()=>new io;var Yy=(t,e=0,r=t.byteLength)=>{let n=[],o=e<0?t.byteLength-e:e,i=r<0?t.byteLength-r:r;if(o===0&&i>=t.byteLength)return t;if(o>i||o>t.byteLength||i<=0)return xu();let s=0,c=0;for(let a of t.segments){let u=c+a.byteLength;if(s===0){if(i<=u){let l=a.subarray(o-c,i-c);n.push(l),s=l.byteLength;break}else if(o<u){let l=o===c?a:a.subarray(o-c);n.push(l),s=l.byteLength}}else if(i<=u){let l=i===u?a:a.subarray(0,i-c);n.push(l),s+=l.byteLength;break}else n.push(a),s+=a.byteLength;c=u}return new io(n,t.byteOffset+o,s)},xk=(t,e)=>e.byteLength>0?(t.segments.push(e),new io(t.segments,t.byteOffset,t.byteLength+e.byteLength)):t,kk=(t,e)=>{if(e<t.byteLength){let r=0;for(let n of t.segments){if(e<r+n.byteLength)return n[e-r];r+=n.byteLength}}},vk=(t,e,r)=>{let n=r;for(let o of t.segments)e.set(o,n),n+=o.byteLength;return e};function*Ek(t){for(let e of t.segments)yield*e}var io=class extends bu{constructor(e=[],r=0,n=0){super(),this.segments=e,this.byteLength=n,this.length=n,this.byteOffset=r}[Symbol.iterator](){return Ek(this)}slice(e,r){return Yy(this,e,r)}subarray(e,r){return Yy(this,e,r)}push(e){return xk(this,e)}get(e){return kk(this,e)}copyTo(e,r){return vk(this,e,r)}};var so=t=>{throw new Error(t)},Zy=(t,e,...r)=>so(String.raw(t,JSON.stringify(e),...r)),em=new Uint8Array(0),tm=[];var rm=t=>({config:t,buffer:xu()}),nm=(t,e)=>e.byteLength>0?im(t.config,t.buffer.push(e),!1):{...t,chunks:tm},om=t=>im(t.config,t.buffer,!0),im=(t,e,r)=>{let n=t.chunker,o=[],i=0;for(let s of n.cut(n.context,e,r))if(s>0){let c=e.subarray(i,i+s);o.push(c),i+=s}return{config:t,chunks:o,buffer:e.subarray(i)}};var sm=()=>({mutable:!0,needs:{},nodes:{},links:{},linked:Eu});var Su=(t,e)=>{let r=on(e,{});for(let n of t){let{ready:o,has:i,wants:s}=cm(n.children,r.links);s.length===0?r=on(r,{links:vu(void 0,i),linked:[{id:n.id,links:o}]}):r=on(r,{needs:vu(n.id,s),nodes:{[n.id]:{children:n.children,count:s.length}}})}return r},am=(t,e,r)=>{let n=r.needs[t],o=r.nodes[n];if(o!=null)if(o.count===1){let{ready:i,has:s}=cm(o.children,{...r.links,[t]:e});return on(r,{needs:{[t]:void 0},links:vu(void 0,s),nodes:{[n]:void 0},linked:[{id:n,links:i}]})}else return on(r,{needs:{[t]:void 0},links:{[t]:e},nodes:{[n]:{...o,count:o.count-1}}});else return on(r,{links:{[t]:e}})},on=(t,{needs:e,nodes:r,links:n,linked:o})=>{let i=t.mutable?t:{...t},s=t.mutable?Bk:void 0;return e&&(i.needs=ku(t.needs,e,s)),r&&(i.nodes=ku(t.nodes,r,s)),n&&(i.links=ku(t.links,n,s)),i.linked=o?_k(t.linked||Eu,o,Eu):t.linked||[],i},vu=(t,e)=>{let r={};for(let n of e)r[n]=t;return r},ku=(t,e,r=t)=>{let n=t===r?{...t}:t;for(let o of Object.entries(e)){let[i,s]=o;s==null?delete n[i]:n[i]=s}return n};var _k=(t,e,r=t)=>{if(t===r)return[...t,...e];for(let n of e)t.push(n);return t},cm=(t,e)=>{let r=[],n=[],o=[];for(let i of t){let s=e[i];s?(r.push(i),o.push(s)):n.push(i)}return{has:r,wants:n,ready:o}},Eu=Object.freeze([]),Bk=Object.freeze({});var um=(t,e)=>{switch(t.type){case"write":return Tk(e,t.bytes);case"link":return Ik(e,t.link);case"block":return{state:e,effect:oo()};case"close":return Lk(e);case"end":return{state:e,effect:oo()};default:return Zy`File Writer got unknown message ${t}`}},lm=(t,e,r)=>({status:"open",metadata:e,config:r,writer:t,chunker:rm({chunker:r.chunker}),layout:r.fileLayout.open(),nodeQueue:sm()}),Tk=(t,e)=>{if(t.status==="open"){let{chunks:r,...n}=nm(t.chunker,e),{nodes:o,leaves:i,layout:s}=t.config.fileLayout.write(t.layout,r),{linked:c,...a}=Su(o,t.nodeQueue),u=[...fm(i,t.config),...Au(c,t.config)];return{state:{...t,chunker:n,layout:s,nodeQueue:a},effect:hs({link:ps(u)})}}else return so("Unable to perform write on closed file")},Ik=(t,{id:e,link:r,block:n})=>{let{linked:o,...i}=am(e,r,t.nodeQueue),s=Au(o,t.config),c=t.status==="closed"&&e===t.rootID?{...t,status:"linked",link:r,nodeQueue:i}:{...t,nodeQueue:i},a=t.status==="closed"&&e===t.rootID&&t.end?t.end.resume():oo();return{state:c,effect:hs({link:ps(s),block:Uk(t.writer,n),end:a})}},Lk=t=>{if(t.status==="open"){let{chunks:e}=om(t.chunker),{layout:r,...n}=t.config.fileLayout.write(t.layout,e),{root:o,...i}=t.config.fileLayout.close(r,t.metadata),[s,c]=Fk(o)?[[...n.nodes,...i.nodes],[...n.leaves,...i.leaves,o]]:[[...n.nodes,...i.nodes,o],[...n.leaves,...i.leaves]],{linked:a,...u}=Su(s,t.nodeQueue),l=[...fm(c,t.config),...Au(a,t.config)],d=nn(tn());return{state:{...t,chunker:null,layout:null,rootID:o.id,status:"closed",end:d,nodeQueue:u},effect:hs({link:ps(l),end:wu(d)})}}else return{state:t,effect:oo()}},fm=(t,e)=>t.map(r=>Dk(e,r,e.fileChunkEncoder)),Dk=function*({hasher:t,linker:e},{id:r,content:n},o){let i=o.encode(n?Pk(n):em),s=yield*fs(t.digest(i)),c=e.createLink(o.code,s),a={cid:c,bytes:i},u={cid:c,contentByteLength:n?n.byteLength:0,dagByteLength:i.byteLength};return{id:r,block:a,link:u}},Au=(t,e)=>t.map(r=>Nk(e,r)),Nk=function*(t,{id:e,links:r},n){let o=t.fileEncoder.encode({type:F.File,layout:"advanced",parts:r,metadata:n}),i=yield*fs(Promise.resolve(t.hasher.digest(o))),s=t.linker.createLink(t.fileEncoder.code,i),c={bytes:o,cid:s},a={cid:s,contentByteLength:tt(r),dagByteLength:Yr(o,r)};return{id:e,block:c,link:a}},Uk=function*(t,e){(t.desiredSize||0)<=0&&(yield*fs(t.ready)),t.write(e)},Pk=t=>t instanceof Uint8Array?t:t.copyTo(new Uint8Array(t.byteLength),0),Fk=t=>t.children==null;var Bu={};Y(Bu,{context:()=>Ok,cut:()=>hm,name:()=>dm,type:()=>Rk,withMaxChunkSize:()=>_u});var dm="fixed",Ok={maxChunkSize:262144},Rk="Stateless",_u=t=>({type:"Stateless",context:{maxChunkSize:t},name:dm,cut:hm}),hm=({maxChunkSize:t},{byteLength:e},r)=>{let n=e/t|0,o=new Array(n).fill(t),i=r?e-n*t:0;return i>0&&o.push(i),o};var ao=class{constructor(e,r,n){this.id=e,this.children=r,this.metadata=n}},gs=t=>({open:()=>$k({width:t}),write:Hk,close:jk}),zk={width:174},$k=({width:t}=zk)=>({width:t,head:null,leafIndex:[],nodeIndex:[],lastID:0}),Hk=(t,e)=>{if(e.length===0)return{layout:t,nodes:pe,leaves:pe};{let{lastID:r}=t,[n,o]=t.head?[null,(e.unshift(t.head),e)]:e.length===1&&t.leafIndex.length===0?[e[0],pe]:[null,e];if(o.length===0)return{layout:{...t,head:n},nodes:pe,leaves:pe};{let i=[...t.leafIndex],s=[];for(let c of o){let a={id:++r,content:c};s.push(a),i.push(a.id)}return i.length>=t.width?ym({...t,leafIndex:i,head:n,lastID:r},s):{layout:{...t,head:n,leafIndex:i,lastID:r},leaves:s,nodes:pe}}}},ym=(t,e=pe,r=[],n=!1)=>{let{lastID:o}=t,i=t.nodeIndex.map(u=>[...u]),s=[...t.leafIndex],{width:c}=t;for(;s.length>=c||s.length>0&&n;){pm(i,1);let u=new ao(++o,s.splice(0,c));i[0].push(u.id),r.push(u)}let a=0;for(;a<i.length;){let u=i[a];for(a++;u.length>=c||u.length>0&&n&&a<i.length;){let l=new ao(++o,u.splice(0,c));pm(i,a+1),i[a].push(l.id),r.push(l)}}return{layout:{...t,lastID:o,leafIndex:s,nodeIndex:i},leaves:e,nodes:r}},jk=(t,e)=>{let r=t;if(t.head)return{root:{id:1,content:t.head,metadata:e},leaves:pe,nodes:pe};if(t.leafIndex.length===0)return{root:{id:1,metadata:e},leaves:pe,nodes:pe};{let{nodes:n,layout:o}=ym(r,pe,[],!0),{nodeIndex:i}=o,s=i.length-1,c=i[s];if(c.length===1){let a=n[n.length-1];return n.length=n.length-1,{root:a,nodes:n,leaves:pe}}else return{root:new ao(o.lastID+1,c,e),nodes:n,leaves:pe}}},pm=(t,e)=>{for(;t.length<e;)t.push([]);return t},pe=[];var Lt=()=>({chunker:Bu,fileChunkEncoder:Cu,smallFileEncoder:Cu,fileEncoder:Zr,fileLayout:gs(174),hasher:ut,linker:{createLink:j.createV1}}),Dt=t=>({...Lt(),...t}),Cu={code:Xr,name:ru,encode:ou};var co=({writer:t,metadata:e={},settings:r=Lt()})=>new Tu(lm(t,e,Dt(r))),mm=async(t,e)=>(await wm(t,ds({type:"write",bytes:e})),t),gm=async(t,{releaseLock:e=!1,closeWriter:r=!1}={})=>{await wm(t,ds({type:"close"}));let{state:n}=t;if(n.status==="linked")return r?await t.state.writer.close():e&&t.state.writer.releaseLock(),n.link;so(`Expected writer to be in 'linked' state after close, but it is in "${n.status}" instead`)},wm=(t,e)=>nn(Ky(e,r=>{let{state:n,effect:o}=um(r,t.state);return t.state=n,o})),Tu=class{constructor(e){this.state=e}get writer(){return this.state.writer}get settings(){return this.state.config}write(e){return mm(this,e)}close(e){return gm(this,e)}};var qk=Lt,Lu=({writer:t,settings:e=qk(),metadata:r={}})=>new ws({writer:t,metadata:r,settings:e,entries:new Map,closed:!1}),bs=(t,e,r,{overwrite:n=!1}={})=>{let o=Du(t.state);if(e.includes("/"))throw new Error(`Directory entry name "${e}" contains forbidden "/" character`);if(!n&&o.entries.has(e))throw new Error(`Directory already contains entry with name "${e}"`);return o.entries.set(e,r),t},xs=(t,e)=>(Du(t.state).entries.delete(e),t),Du=t=>{if(t.closed)throw new Error("Can not change written directory, but you can .fork() and make changes to it");return t},bm=async(t,{closeWriter:e=!1,releaseLock:r=!1}={})=>{let{writer:n,settings:o,metadata:i}=Du(t.state);t.state.closed=!0;let s=[...xm(t)],c=as(s,i),a=ls(c),u=await o.hasher.digest(a),l=o.linker.createLink(Xr,u);return(n.desiredSize||0)<=0&&await n.ready,n.write({cid:l,bytes:a}),e?await n.close():r&&n.releaseLock(),{cid:l,dagByteLength:Yr(a,s)}},xm=function*({state:t}){for(let[e,{dagByteLength:r,cid:n}]of t.entries)yield{name:e,dagByteLength:r,cid:n}},km=({state:t},{writer:e=t.writer,metadata:r=t.metadata,settings:n=t.settings}={})=>new ws({writer:e,metadata:r,settings:n,entries:new Map(t.entries.entries()),closed:!1}),ws=class{constructor(e){this.state=e}get writer(){return this.state.writer}get settings(){return this.state.settings}links(){return xm(this)}set(e,r,n){return bs(this,e,r,n)}remove(e){return xs(this,e)}fork(e){return km(this,e)}close(e){return bm(this,e)}entries(){return this.state.entries.entries()}has(e){return this.state.entries.has(e)}get size(){return this.state.entries.size}};var Es={};Y(Es,{API:()=>ks,and:()=>Zk,bitCount:()=>vs,empty:()=>vm,from:()=>Kk,fromBytes:()=>r2,get:()=>Yk,or:()=>e2,popcount:()=>Nu,set:()=>Em,size:()=>Gk,toBytes:()=>t2,unset:()=>Xk});var ks={};var vm=(t=32)=>{if(t!==32)throw new Error(`Uint32 BitField does not support size: ${t}`);return 0},Kk=(t,e)=>{let r=vm(e);for(let n of t)r=Em(r,n);return r},Gk=t=>32,Qk=(t,e)=>t>>>e&31,Jk=(t,e)=>1<<Qk(t,e),Nu=(t,e=31)=>vs(t&Jk(e,0)-1),Em=(t,e)=>t|1<<e,Xk=(t,e)=>t&(255^1<<e),Yk=(t,e)=>(t>>e&1)!==0,vs=t=>{let e=t-(t>>1&1431655765),r=(e&858993459)+(e>>2&858993459);return(r+(r>>4)&252645135)*16843009>>24},Zk=(t,e)=>t&e,e2=(t,e)=>t|e,t2=t=>Uint8Array.of(t>>24&255,t>>16&255,t>>8&255,t&255),r2=t=>{if(t.length!==4)throw new Error(`Expected 4 bytes instead got ${t.length}`);return(t[0]<<24)+(t[1]<<16)+(t[2]<<8)+t[3]};var _m=W(Uu(),1),n2=new TextEncoder,o2=_m.default.x64.hash126,Bm=({bitWidth:t=5,hash:e=o2})=>{if(t>4*8)throw new RangeError(`Can not use bitWidth ${t} which exceeds the hashSize 4`);if(4*8>32)throw new RangeError("Can not use hashSize 4 as it can not be encoded in Uint32");let n=4294967295>>>32-t;return{at:(s,c)=>s>>>c*t&n,from:s=>e(n2.encode(s)),size:Math.ceil(4*8/t)}};var sn=class{constructor(e,r,n,o,i){this.edit=e,this.config=i,this.datamap=r,this.nodemap=n,this.children=o}get nodeArity(){return this.config.BitField.popcount(this.nodemap)}get dataArity(){return this.config.BitField.popcount(this.datamap)}empty(){return lo(this.config)}lookup(e,r,n,o){return Tm(this,e,r,n,o)}associate(e,r,n,o,i,s){return Mu(this,e,r,n,o,i,s)}dissociate(e,r,n,o,i){return Im(this,e,r,n,o,i)}fork(e=null){return fo(this,e)}entries(){return Lm(this)}keys(){return Dm(this)}values(){return Nm(this)}},As=class{constructor(e,r,n,o){this.edit=e,this.count=r,this.children=n,this.config=o}get nodeArity(){return 0}get dataArity(){return this.count}lookup(e,r,n,o){return i2(this,n,o)}associate(e,r,n,o,i,s){return s2(this,e,n,o,i,s)}dissociate(e,r,n,o,i){return a2(this,e,n,o,i)}fork(e=null){return c2(this,e)}entries(){return Lm(this)}keys(){return Dm(this)}values(){return Nm(this)}},i2=(t,e,r)=>{let{children:n,count:o}=t,i=Pu(n,o,e);return n[i]===e?n[i+1]:r},s2=(t,e,r,n,o,i)=>{let{children:s,count:c}=t,a=Pu(s,c,n);if(s[a]!==n){let u=t.fork(e);return i.value=!0,u.count+=1,u.children.splice(a,r,o),u}else if(s[a+1]!==o){let u=t.fork(e);return u.children[a+1]=o,u}else return t},a2=(t,e,r,n,o)=>{let{children:i,count:s,config:c}=t,a=Pu(i,s,n);if(i[a]!==n)return t;if(o.value=!0,s===2){let u=a===0?2:0;return Mu(lo(c),e,0,r,i[u],i[u+1],o)}else{let u=t.fork(e);return u.children.splice(a,2),u.count-=1,u}},c2=(t,e=null)=>Mm(t.edit,e)?t:new As(e,t.count,t.children.slice(),t.config),Pu=(t,e,r)=>{let n=0;for(;n<e&&t[n]>r;)n+=2;return n};var lo=(t,e=null)=>new sn(e,t.BitField.empty(Math.pow(2,t.bitWidth)),t.BitField.empty(Math.pow(2,t.bitWidth)),[],t),Bs=(t,e,r)=>Tm(t,0,t.config.Path.from(e),e,r),Tm=(t,e,r,n,o)=>{let{datamap:i,nodemap:s,config:c}=t,{Path:a,BitField:u}=c,l=a.at(r,e);if(u.get(i,l)){let d=u.popcount(i,l);return Cs(t,d)===n?_s(t,d):o}else return u.get(s,l)?Ts(t,l).lookup(e+1,r,n,o):o},Fu=(t,e,r,n,o)=>Mu(t,e,0,t.config.Path.from(r),r,n,o),Mu=(t,e,r,n,o,i,s)=>{let{datamap:c,nodemap:a,config:u}=t,{Path:l,BitField:d}=u,m=l.at(n,r);if(d.get(c,m)){let f=d.popcount(c,m),h=Cs(t,f);if(o===h)return _s(t,f)===i?t:u2(t,e,f,i);{let p=Pm(u,e,r+1,l.from(h),h,_s(t,f),n,o,i);return s.value=!0,f2(t,e,m,p)}}else if(d.get(a,m)){let f=Ts(t,m),h=f.associate(e,r+1,n,o,i,s);return f===h?t:Um(t,e,m,h)}else{let f=d.popcount(c,m);s.value=!0;let h=t.fork(e);return h.datamap=d.set(c,m),h.children.splice(ho(f),0,o,i),h}},Ou=(t,e,r,n)=>Im(t,e,0,t.config.Path.from(r),r,n);var Im=(t,e,r,n,o,i)=>{let{datamap:s,nodemap:c,config:a}=t,{BitField:u,Path:l}=a,d=l.at(n,r);if(u.get(s,d)){let m=u.popcount(s,d);if(o===Cs(t,m)){i.value=!0;let f=fo(t,e);return f.datamap=u.unset(t.datamap,d),f.children.splice(ho(m),2),f}else return t}else if(u.get(c,d)){let m=Ts(t,d),f=m.dissociate(e,r+1,n,o,i);return d2(f)?h2(t)?f:l2(t,e,d,f):m===f?t:Um(t,e,d,f)}else return t},Lm=function*({children:t}){let e=0,r=t.length;for(;e<r;){let n=t[e];if(typeof n=="string"){e+=1;let o=t[e];yield[n,o],e+=1}else break}for(;e<r;)yield*t[e].entries(),e+=1},fo=(t,e)=>Mm(t.edit,e)?t:new sn(e,t.datamap,t.nodemap,t.children.slice(),t.config),Dm=function*({children:t}){let e=0,r=t.length;for(;e<r;){let n=t[e];if(typeof n=="string")yield n,e+=2;else break}for(;e<r;)yield*t[e].keys(),e+=1},Nm=function*({children:t}){let e=0,r=t.length;for(;e<r&&typeof t[e]=="string";)e+=1,yield t[e],e+=1;for(;e<r;)yield*t[e].values(),e+=1},u2=(t,e,r,n)=>{let o=t.fork(e);return o.children[Fm(r)]=n,o},l2=(t,e,r,n)=>{let{datamap:o,nodemap:i,config:s}=t,{BitField:c}=s,a=fo(t,e);return a.children.splice(Is(t,r),1),a.children.splice(ho(c.popcount(o,r)),0,n.children[0],n.children[1]),a.datamap=c.set(o,r),a.nodemap=c.unset(i,r),a},Um=(t,e,r,n)=>{let o=fo(t,e);return o.children[Is(t,r)]=n,o},f2=(t,e,r,n)=>{let{nodemap:o,datamap:i,config:s}=t,{BitField:c}=s,a=c.popcount(i,r),u=ho(a),l=Is(t,r),d=fo(t,e);return d.datamap=c.unset(i,r),d.children.splice(u,2),d.nodemap=c.set(o,r),d.children.splice(l-1,0,n),d},Pm=(t,e,r,n,o,i,s,c,a)=>{let{BitField:u,Path:l}=t;if(l.size<r)return new As(e,2,[o,i,c,a],t);{let d=l.at(n,r),m=l.at(s,r);return d===m?new sn(e,u.empty(Math.pow(2,t.bitWidth)),u.from([d],Math.pow(2,t.bitWidth)),[Pm(t,e,r+1,n,o,i,s,c,a)],t):new sn(e,u.from([d,m],Math.pow(2,t.bitWidth)),u.empty(Math.pow(2,t.bitWidth)),d<m?[o,i,c,a]:[c,a,o,i],t)}},Cs=({children:t},e)=>t[ho(e)],ho=t=>t*2,_s=({children:t},e)=>t[Fm(e)],Fm=t=>t*2+1,Ts=(t,e)=>t.children[Is(t,e)],Is=({children:t,nodemap:e,config:r},n)=>t.length-1-r.BitField.popcount(e,n),Mm=(t,e)=>t!=null&&t===e,d2=t=>t.nodeArity===0&&t.dataArity===1,h2=({config:{BitField:t},datamap:e,nodemap:r})=>t.popcount(e)===0&&t.popcount(r)===1;var Ls=W(Uu(),1);function p2(t){let e=new Array(4);for(let r=0;r<4;r++)e[r]=t&255,t=t>>8;return new Uint8Array(e)}var V3=Wt({name:"murmur3-32",code:35,encode:t=>p2(Ls.default.x86.hash32(t))}),Rm=Wt({name:"murmur3-128",code:34,encode:t=>$t.fromHex(Ls.default.x64.hash128(t))}),po=Wt({name:"murmur3-x64-64",code:34,encode:t=>$t.fromHex(Ls.default.x64.hash128(t)).subarray(0,8)});var y2=new TextEncoder,m2=t=>po.encode(t),zm=({bitWidth:t=8,hash:e=m2}={})=>{let r=e(new Uint8Array).byteLength;return{from:i=>e(y2.encode(i)),at:(i,s)=>{let c=s*t;if(c>r)throw new RangeError("Out of bounds");return Ru(i,c,t)},size:Math.ceil(r*8/t)}},Ru=(t,e,r)=>{let n=e/8|0,o=e%8,i=r,s=0;for(;i>0&&n<t.byteLength;){let c=t[n],a=8-o,u=a<i?a:i,l=8-o-u,m=(255>>o&c)>>l;s=(s<<u)+m,i-=u,n++,o=0}return s};var zu={};Y(zu,{API:()=>ks,and:()=>B2,empty:()=>$m,from:()=>w2,fromBytes:()=>S2,get:()=>v2,or:()=>_2,popcount:()=>A2,set:()=>x2,size:()=>b2,toBytes:()=>E2,unset:()=>k2});var $m=(t=256)=>{if(t%8!==0)throw new Error("Must be multiple of 8");return new Uint8Array(t/8)},w2=(t,e)=>{let r=$m(e);for(let n of t){let{byte:o,byteOffset:i,bitOffset:s}=yo(r,n);r[i]=o|1<<s}return r},b2=t=>t.byteLength*8,yo=(t,e)=>{let r=t.byteLength-1-(e/8|0),n=e%8;return{byte:t[r],byteOffset:r,bitOffset:n}},Hm=(t,e,r)=>{if(t[e]!==r){let n=t.slice(0);return n[e]=r,n}return t},x2=(t,e)=>{let{byte:r,byteOffset:n,bitOffset:o}=yo(t,e);return Hm(t,n,r|1<<o)},k2=(t,e)=>{let{byte:r,byteOffset:n,bitOffset:o}=yo(t,e);return Hm(t,n,r&(255^1<<o))},v2=(t,e)=>{var{byte:r,bitOffset:n}=yo(t,e);return(r>>n&1)!==0},E2=t=>t,S2=t=>t,A2=(t,e=t.byteLength*8)=>{let{byteOffset:r,bitOffset:n,byte:o}=yo(t,e),i=Nu(o,n),s=t.byteLength-1;for(;s>r;){let c=t[s];i+=vs(c),s--}return i},_2=(t,e)=>{let r=t.slice(),n=0;for(;n<t.length;)r[n]|=e[n],n++;return r},B2=(t,e)=>{let r=t.slice(),n=0;for(;n<t.length;)r[n]&=e[n],n++;return r};var jm=new RangeError("Not Found");var C2=({bitWidth:t=5,BitField:e=t===5?Es:zu,Path:r=t===5?Bm({bitWidth:t}):zm({bitWidth:t})}={})=>({bitWidth:t,BitField:e,Path:r});var Hu=(t,e)=>Bs(t.root,e,jm)!==jm,Vm=(t,e,r=void 0)=>Bs(t.root,e,r),qm=t=>{let e={},r=C2(t);return new Ds(e,0,lo(r,e),r)},$u=class t{constructor(e=0,r,n){this.count=e,this.root=r,this.config=n}get size(){return this.count}clone(){return new t(this.count,this.root,this.config)}empty(){return new t(0,lo(this.config,null),this.config)}has(e){return Hu(this,e)}get(e){return Bs(this.root,e,void 0)}set(e,r){let n={value:!1},o=Fu(this.root,null,e,r,n);return o===this.root?this:new t(n.value?this.count+1:this.count,o,this.config)}delete(e){let r=Ou(this.root,null,e,{value:!1});return r===this.root?this:new t(this.count-1,r,this.config)}get bitField(){return this.config.BitField.or(this.root.datamap,this.root.nodemap)}[Symbol.iterator](){return this.entries()}entries(){return this.root.entries()}keys(){return this.root.keys()}values(){return this.root.values()}createBuilder(){return new Ds({},this.count,this.root,this.config)}},Ds=class{constructor(e,r,n,o){this.edit=e,this.count=r,this.root=n,this.config=o}get size(){if(this.edit)return this.count;throw new Error(".size was accessed on the finalized builder")}set(e,r){if(this.edit){let n={value:!1},o=Fu(this.root,this.edit,e,r,n);return this.root!==o&&(this.root=o),n.value&&(this.count+=1),this}else throw new Error(".set was called on the finalized builder")}delete(e){if(this.edit){if(this.count===0)return this;let r={value:!1},n=Ou(this.root,this.edit,e,r);return n!==this.root&&(this.root=n),r.value&&(this.count-=1),this}else throw new Error(".delete was called on the finalized builder")}build(){if(this.edit)return this.edit=null,new $u(this.count,this.root,this.config);throw new Error(".build was called on the finalized builder")}};var T2=new TextEncoder,I2=t=>po.encode(t),Km=({bitWidth:t=8,hash:e=I2})=>{let r=e(new Uint8Array).byteLength,n={bitWidth:t,hash:e,hashSize:r};return{at:(s,c)=>L2(s,c,n),from:s=>T2.encode(s),size:1/0}},L2=(t,e=0,{bitWidth:r=8,hash:n,hashSize:o})=>{let i=o*8,s=0,c=r,a=r*e;for(;c>0;){let u=a/i>>0,l=n(u===0?t:D2(t,u)),d=i<=a?a%i:a,m=i-d,f=m<c?m:c;s=(s<<f)+Ru(l,d,f),c-=f,a+=f}return s},D2=(t,e)=>{let r=new Uint8Array(t.byteLength+1).fill(e,t.byteLength);return r.set(t),r};var Gm=8,U2={bitWidth:Gm,Path:Km({bitWidth:Gm})};var ju=(t=U2)=>qm(t);var Qm=class extends Map{constructor(e=ju()){super(),this.builder=e}clear(){this.builder=ju()}delete(e){let{root:r}=this.builder;return this.builder.delete(e),this.builder.root!==r}forEach(e,r=this){for(let[n,o]of this.builder.root.entries())e.call(r,o,n,this)}get(e){return Vm(this.builder,e)}has(e){return Hu(this.builder,e)}set(e,r){return this.builder.set(e,r),this}get size(){return this.builder.size}[Symbol.iterator](){return this.builder.root.entries()}entries(){return this.builder.root.entries()}keys(){return this.builder.root.keys()}values(){return this.builder.root.values()}};var Jm=({writable:t,settings:e=Lt()})=>new Vu({writer:t.getWriter(),settings:e}),F2=async(t,{releaseLock:e=!0,closeWriter:r=!0}={})=>(r?await t.writer.close():e&&t.writer.releaseLock(),t),Vu=class{constructor({writer:e,settings:r}){this.writer=e,this.settings=Dt(r)}createFileWriter({settings:e=this.settings,metadata:r}={}){return co({writer:this.writer,settings:e,metadata:r})}createDirectoryWriter({settings:e=this.settings,metadata:r}={}){return Lu({writer:this.writer,settings:e,metadata:r})}close(e){return F2(this,e)}},M2=1048576,O2=M2*100,Xm=(t=O2)=>({highWaterMark:t,size:e=>e.bytes.length});var Js=W(rt(),1);function $2(t){return t[Symbol.asyncIterator]!=null}function H2(t){if($2(t))return(async()=>{let r;for await(let n of t)r=n;return r})();let e;for(let r of t)e=r;return e}var eg=H2;var rw=W(rt(),1);var tg=0,j2="identity",rg=Te,V2=t=>Ht(tg,rg(t)),ng={code:tg,name:j2,encode:rg,digest:V2};var og=W(rt(),1);var q2=async(t,e,r,n,o,i,s,c)=>{let a=await s.get(t,c),u=Tr(a),l=u,d=r;for(;n.length>0;){let m=n[0];if(m in l){n.shift(),d=`${d}/${m}`;let f=V.asCID(l[m]);if(f!=null)return{entry:{type:"object",name:e,path:r,cid:t,node:a,depth:i,size:BigInt(a.length),content:async function*(){yield u}},next:{cid:f,name:m,path:d,toResolve:n}};l=l[m]}else throw(0,og.default)(new Error(`No property named ${m} found in cbor node ${t}`),"ERR_NO_PROP")}return{entry:{type:"object",name:e,path:r,cid:t,node:a,depth:i,size:BigInt(a.length),content:async function*(){yield u}}}},ig=q2;var sg=W(rt(),1);var ce=class extends Event{constructor(e,r){super(e),this.detail=r}};function W2(t,e,r,n){let o=BigInt(t.length),i=BigInt(e+o);return r>=i||n<e?new Uint8Array(0):(n>=e&&n<i&&(t=t.subarray(0,Number(n-e))),r>=e&&r<i&&(t=t.subarray(Number(r-e))),t)}var ur=W2;var mo=W(rt(),1),K2=(t,e=0,r=t)=>{let n=BigInt(t),o=BigInt(e??0),i=BigInt(r);if(i!==n&&(i=o+i),i>n&&(i=n),o<0n)throw(0,mo.default)(new Error("Offset must be greater than or equal to 0"),"ERR_INVALID_PARAMS");if(o>n)throw(0,mo.default)(new Error("Offset must be less than the file size"),"ERR_INVALID_PARAMS");if(i<0n)throw(0,mo.default)(new Error("Length must be greater than or equal to 0"),"ERR_INVALID_PARAMS");if(i>n)throw(0,mo.default)(new Error("Length must be less than the file size"),"ERR_INVALID_PARAMS");return{start:o,end:i}},an=K2;var G2=t=>{async function*e(r={}){let{start:n,end:o}=an(t.length,r.offset,r.length),i=ur(t,0n,n,o);r.onProgress?.(new ce("unixfs:exporter:progress:identity",{bytesRead:BigInt(i.byteLength),totalBytes:o-n,fileSize:BigInt(t.byteLength)})),yield i}return e},Q2=async(t,e,r,n,o,i,s,c)=>{if(n.length>0)throw(0,sg.default)(new Error(`No link named ${r} found in raw node ${t}`),"ERR_NOT_FOUND");let a=Xo(t.multihash.bytes);return{entry:{type:"identity",name:e,path:r,cid:t,content:G2(a.digest),depth:i,size:BigInt(a.digest.length),node:a.digest}}},ag=Q2;var cg=W(rt(),1);var J2=t=>{async function*e(r={}){let{start:n,end:o}=an(t.length,r.offset,r.length),i=ur(t,0n,n,o);r.onProgress?.(new ce("unixfs:exporter:progress:raw",{bytesRead:BigInt(i.byteLength),totalBytes:o-n,fileSize:BigInt(t.byteLength)})),yield i}return e},X2=async(t,e,r,n,o,i,s,c)=>{if(n.length>0)throw(0,cg.default)(new Error(`No link named ${r} found in raw node ${t}`),"ERR_NOT_FOUND");let a=await s.get(t,c);return{entry:{type:"raw",name:e,path:r,cid:t,content:J2(a),depth:i,size:BigInt(a.length),node:a}}},ug=X2;var To=W(rt(),1);var Ju=W(rt(),1);var qu=W(ns(),1),lg=W(Yc(),1),fg=W(lt(),1),Wu=W(ts(),1),dg=W(Qc(),1);function Y2(){fg.default._configure(),qu.default._configure(lg.default),Wu.default._configure(dg.default)}Y2();var hg=["uint64","int64","sint64","fixed64","sfixed64"];function Z2(t){for(let e of hg){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function Ku(t){return Z2(new qu.default(t))}function ev(t){for(let e of hg){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function Gu(){return ev(Wu.default.create())}function go(t,e){let r=Ku(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function wo(t,e){let r=Gu();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var cn;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(cn||(cn={}));function Ns(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Qu(t){function e(o){if(t[o.toString()]==null)throw new Error("Invalid enum value");return t[o]}let r=function(i,s){let c=e(i);s.int32(c)},n=function(i){let s=i.int32();return e(s)};return Ns("enum",cn.VARINT,r,n)}function bo(t,e){return Ns("message",cn.LENGTH_DELIMITED,t,e)}var ze;(function(t){let e;(function(o){o.Raw="Raw",o.Directory="Directory",o.File="File",o.Metadata="Metadata",o.Symlink="Symlink",o.HAMTShard="HAMTShard"})(e=t.DataType||(t.DataType={}));let r;(function(o){o[o.Raw=0]="Raw",o[o.Directory=1]="Directory",o[o.File=2]="File",o[o.Metadata=3]="Metadata",o[o.Symlink=4]="Symlink",o[o.HAMTShard=5]="HAMTShard"})(r||(r={})),function(o){o.codec=()=>Qu(r)}(e=t.DataType||(t.DataType={}));let n;t.codec=()=>(n==null&&(n=bo((o,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),o.Type!=null&&(i.uint32(8),t.DataType.codec().encode(o.Type,i)),o.Data!=null&&(i.uint32(18),i.bytes(o.Data)),o.filesize!=null&&(i.uint32(24),i.uint64(o.filesize)),o.blocksizes!=null)for(let c of o.blocksizes)i.uint32(32),i.uint64(c);o.hashType!=null&&(i.uint32(40),i.uint64(o.hashType)),o.fanout!=null&&(i.uint32(48),i.uint64(o.fanout)),o.mode!=null&&(i.uint32(56),i.uint32(o.mode)),o.mtime!=null&&(i.uint32(66),Us.codec().encode(o.mtime,i)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={blocksizes:[]},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let a=o.uint32();switch(a>>>3){case 1:s.Type=t.DataType.codec().decode(o);break;case 2:s.Data=o.bytes();break;case 3:s.filesize=o.uint64();break;case 4:s.blocksizes.push(o.uint64());break;case 5:s.hashType=o.uint64();break;case 6:s.fanout=o.uint64();break;case 7:s.mode=o.uint32();break;case 8:s.mtime=Us.codec().decode(o,o.uint32());break;default:o.skipType(a&7);break}}return s})),n),t.encode=o=>wo(o,t.codec()),t.decode=o=>go(o,t.codec())})(ze||(ze={}));var Us;(function(t){let e;t.codec=()=>(e==null&&(e=bo((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Seconds!=null&&(n.uint32(8),n.int64(r.Seconds)),r.FractionalNanoseconds!=null&&(n.uint32(21),n.fixed32(r.FractionalNanoseconds)),o.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let o={},i=n==null?r.len:r.pos+n;for(;r.pos<i;){let s=r.uint32();switch(s>>>3){case 1:o.Seconds=r.int64();break;case 2:o.FractionalNanoseconds=r.fixed32();break;default:r.skipType(s&7);break}}return o})),e),t.encode=r=>wo(r,t.codec()),t.decode=r=>go(r,t.codec())})(Us||(Us={}));var pg;(function(t){let e;t.codec=()=>(e==null&&(e=bo((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.MimeType!=null&&(n.uint32(10),n.string(r.MimeType)),o.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let o={},i=n==null?r.len:r.pos+n;for(;r.pos<i;){let s=r.uint32();switch(s>>>3){case 1:o.MimeType=r.string();break;default:r.skipType(s&7);break}}return o})),e),t.encode=r=>wo(r,t.codec()),t.decode=r=>go(r,t.codec())})(pg||(pg={}));var yg={Raw:"raw",Directory:"directory",File:"file",Metadata:"metadata",Symlink:"symlink",HAMTShard:"hamt-sharded-directory"},tv=["directory","hamt-sharded-directory"],mg=parseInt("0644",8),gg=parseInt("0755",8),un=class t{constructor(e={type:"file"}){k(this,"type");k(this,"data");k(this,"blockSizes");k(this,"hashType");k(this,"fanout");k(this,"mtime");k(this,"_mode");k(this,"_originalMode");let{type:r,data:n,blockSizes:o,hashType:i,fanout:s,mtime:c,mode:a}=e;if(r!=null&&!Object.values(yg).includes(r))throw(0,Ju.default)(new Error("Type: "+r+" is not valid"),"ERR_INVALID_TYPE");this.type=r??"file",this.data=n,this.hashType=i,this.fanout=s,this.blockSizes=o??[],this._originalMode=0,this.mode=a,this.mtime=c}static unmarshal(e){let r=ze.decode(e),n=new t({type:yg[r.Type!=null?r.Type.toString():"File"],data:r.Data,blockSizes:r.blocksizes,mode:r.mode,mtime:r.mtime!=null?{secs:r.mtime.Seconds??0n,nsecs:r.mtime.FractionalNanoseconds}:void 0});return n._originalMode=r.mode??0,n}set mode(e){e==null?this._mode=this.isDirectory()?gg:mg:this._mode=e&4095}get mode(){return this._mode}isDirectory(){return tv.includes(this.type)}addBlockSize(e){this.blockSizes.push(e)}removeBlockSize(e){this.blockSizes.splice(e,1)}fileSize(){if(this.isDirectory())return 0n;let e=0n;return this.blockSizes.forEach(r=>{e+=r}),this.data!=null&&(e+=BigInt(this.data.length)),e}marshal(){let e;switch(this.type){case"raw":e=ze.DataType.Raw;break;case"directory":e=ze.DataType.Directory;break;case"file":e=ze.DataType.File;break;case"metadata":e=ze.DataType.Metadata;break;case"symlink":e=ze.DataType.Symlink;break;case"hamt-sharded-directory":e=ze.DataType.HAMTShard;break;default:throw(0,Ju.default)(new Error(`Type: ${e} is not valid`),"ERR_INVALID_TYPE")}let r=this.data;(this.data==null||this.data.length===0)&&(r=void 0);let n;this.mode!=null&&(n=this._originalMode&4294963200|(this.mode??0),n===mg&&!this.isDirectory()&&(n=void 0),n===gg&&this.isDirectory()&&(n=void 0));let o;return this.mtime!=null&&(o={Seconds:this.mtime.secs,FractionalNanoseconds:this.mtime.nsecs}),ze.encode({Type:e,Data:r,filesize:this.isDirectory()?void 0:this.fileSize(),blocksizes:this.blockSizes,hashType:this.hashType,fanout:this.fanout,mode:n,mtime:o})}};var Cg=W(xg(),1);var Xu={};Y(Xu,{identity:()=>iv});var iv=br({prefix:"\0",name:"identity",encode:t=>Ll(t),decode:t=>Il(t)});var Yu={};Y(Yu,{base2:()=>sv});var sv=G({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Zu={};Y(Zu,{base8:()=>av});var av=G({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var el={};Y(el,{base10:()=>cv});var cv=yt({prefix:"9",name:"base10",alphabet:"0123456789"});var tl={};Y(tl,{base16:()=>uv,base16upper:()=>lv});var uv=G({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),lv=G({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var rl={};Y(rl,{base36:()=>fv,base36upper:()=>dv});var fv=yt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),dv=yt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var nl={};Y(nl,{base64:()=>hv,base64pad:()=>pv,base64url:()=>yv,base64urlpad:()=>mv});var hv=G({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),pv=G({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),yv=G({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),mv=G({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ol={};Y(ol,{base256emoji:()=>kv});var kg=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),gv=kg.reduce((t,e,r)=>(t[r]=e,t),[]),wv=kg.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function bv(t){return t.reduce((e,r)=>(e+=gv[r],e),"")}function xv(t){let e=[];for(let r of t){let n=wv[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var kv=br({prefix:"\u{1F680}",name:"base256emoji",encode:bv,decode:xv});var il={};Y(il,{identity:()=>Sv});var vg=0,vv="identity",Eg=ot,Ev=t=>Pt(vg,Eg(t)),Sv={code:vg,name:vv,encode:Eg,digest:Ev};var xT=new TextEncoder,kT=new TextDecoder;var sl={...Xu,...Yu,...Zu,...el,...tl,...ua,...rl,...ca,...nl,...ol},ET={...Dc,...il};function ln(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Ps(t=0){return globalThis.Buffer?.allocUnsafe!=null?ln(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Ag(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Sg=Ag("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),al=Ag("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Ps(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Bv={utf8:Sg,"utf-8":Sg,hex:sl.base16,latin1:al,ascii:al,binary:al,...sl},_g=Bv;function Bg(t,e="utf8"){let r=_g[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ln(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var lr=class t{constructor(e,r,n=0){this._options=e,this._popCount=0,this._parent=r,this._posAtParent=n,this._children=new Cg.default,this.key=null}async put(e,r){let n=await this._findNewBucketAndPos(e);await n.bucket._putAt(n,e,r)}async get(e){let r=await this._findChild(e);if(r!=null)return r.value}async del(e){let r=await this._findPlace(e),n=r.bucket._at(r.pos);n!=null&&n.key===e&&r.bucket._delAt(r.pos)}leafCount(){return this._children.compactArray().reduce((r,n)=>n instanceof t?r+n.leafCount():r+1,0)}childrenCount(){return this._children.length}onlyChild(){return this._children.get(0)}*eachLeafSeries(){let e=this._children.compactArray();for(let r of e)r instanceof t?yield*r.eachLeafSeries():yield r}serialize(e,r){let n=[];return r(this._children.reduce((o,i,s)=>(i!=null&&(i instanceof t?o.push(i.serialize(e,r)):o.push(e(i,s))),o),n))}async asyncTransform(e,r){return await Tg(this,e,r)}toJSON(){return this.serialize(Tv,Iv)}prettyPrint(){return JSON.stringify(this.toJSON(),null," ")}tableSize(){return Math.pow(2,this._options.bits)}async _findChild(e){let r=await this._findPlace(e),n=r.bucket._at(r.pos);if(!(n instanceof t)&&n!=null&&n.key===e)return n}async _findPlace(e){let r=this._options.hash(typeof e=="string"?Bg(e):e),n=await r.take(this._options.bits),o=this._children.get(n);return o instanceof t?await o._findPlace(r):{bucket:this,pos:n,hash:r,existingChild:o}}async _findNewBucketAndPos(e){let r=await this._findPlace(e);if(r.existingChild!=null&&r.existingChild.key!==e){let n=new t(this._options,r.bucket,r.pos);r.bucket._putObjectAt(r.pos,n);let o=await n._findPlace(r.existingChild.hash);return o.bucket._putAt(o,r.existingChild.key,r.existingChild.value),await n._findNewBucketAndPos(r.hash)}return r}_putAt(e,r,n){this._putObjectAt(e.pos,{key:r,value:n,hash:e.hash})}_putObjectAt(e,r){this._children.get(e)==null&&this._popCount++,this._children.set(e,r)}_delAt(e){if(e===-1)throw new Error("Invalid position");this._children.get(e)!=null&&this._popCount--,this._children.unset(e),this._level()}_level(){if(this._parent!=null&&this._popCount<=1)if(this._popCount===1){let e=this._children.find(Cv);if(e!=null&&!(e instanceof t)){let r=e.hash;r.untake(this._options.bits);let n={pos:this._posAtParent,hash:r,bucket:this._parent};this._parent._putAt(n,e.key,e.value)}}else this._parent._delAt(this._posAtParent)}_at(e){return this._children.get(e)}};function Cv(t){return!!t}function Tv(t,e){return t.key}function Iv(t){return t}async function Tg(t,e,r){let n=[];for(let o of t._children.compactArray())if(o instanceof lr)await Tg(o,e,r);else{let i=await e(o);n.push({bitField:t._children.bitField(),children:i})}return await r(n)}var Lv=[255,254,252,248,240,224,192,128],Dv=[1,3,7,15,31,63,127,255],Fs=class{constructor(e){this._value=e,this._currentBytePos=e.length-1,this._currentBitPos=7}availableBits(){return this._currentBitPos+1+this._currentBytePos*8}totalBits(){return this._value.length*8}take(e){let r=e,n=0;for(;r>0&&this._haveBits();){let o=this._value[this._currentBytePos],i=this._currentBitPos+1,s=Math.min(i,r),c=Nv(o,i-s,s);n=(n<<s)+c,r-=s,this._currentBitPos-=s,this._currentBitPos<0&&(this._currentBitPos=7,this._currentBytePos--)}return n}untake(e){for(this._currentBitPos+=e;this._currentBitPos>7;)this._currentBitPos-=8,this._currentBytePos+=1}_haveBits(){return this._currentBytePos>=0}};function Nv(t,e,r){let n=Uv(e,r);return(t&n)>>>e}function Uv(t,e){return Lv[t]&Dv[Math.min(e+t-1,7)]}function Ig(t,e){e==null&&(e=t.reduce((o,i)=>o+i.length,0));let r=Ps(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return ln(r)}function Lg(t){function e(r){return r instanceof Ms?r:new Ms(r,t)}return e}var Ms=class{constructor(e,r){if(!(e instanceof Uint8Array))throw new Error("can only hash Uint8Arrays");this._value=e,this._hashFn=r,this._depth=-1,this._availableBits=0,this._currentBufferIndex=0,this._buffers=[]}async take(e){let r=e;for(;this._availableBits<r;)await this._produceMoreBits();let n=0;for(;r>0;){let o=this._buffers[this._currentBufferIndex],i=Math.min(o.availableBits(),r),s=o.take(i);n=(n<<i)+s,r-=i,this._availableBits-=i,o.availableBits()===0&&this._currentBufferIndex++}return n}untake(e){let r=e;for(;r>0;){let n=this._buffers[this._currentBufferIndex],o=Math.min(n.totalBits()-n.availableBits(),r);n.untake(o),r-=o,this._availableBits+=o,this._currentBufferIndex>0&&n.totalBits()===n.availableBits()&&(this._depth--,this._currentBufferIndex--)}}async _produceMoreBits(){this._depth++;let e=this._depth>0?Ig([this._value,Uint8Array.from([this._depth])]):this._value,r=await this._hashFn(e),n=new Fs(r);this._buffers.push(n),this._availableBits+=n.availableBits()}};function Dg(t){if(t==null||t.hashFn==null)throw new Error("please define an options.hashFn");let e={bits:t.bits??8,hash:Lg(t.hashFn)};return new lr(e)}var Pv=async function(t){return(await Rm.encode(t)).slice(0,8).reverse()},Fv=async(t,e,r)=>{await Promise.all(t.map(async n=>{if(n.Name==null)throw new Error("Unexpected Link without a Name");if(n.Name.length===2){let o=parseInt(n.Name,16);e._putObjectAt(o,new lr({hash:r._options.hash,bits:r._options.bits},e,o));return}await r.put(n.Name.substring(2),!0)}))},Ng=t=>t.toString(16).toUpperCase().padStart(2,"0").substring(0,2),Mv=t=>{let e=t.bucket,r=[];for(;e._parent!=null;)r.push(e),e=e._parent;return r.push(e),r.reverse()},Ug=async(t,e,r,n,o)=>{if(n==null){let l=Dg({hashFn:Pv});n={rootBucket:l,hamtDepth:1,lastBucket:l}}await Fv(t.Links,n.lastBucket,n.rootBucket);let i=await n.rootBucket._findNewBucketAndPos(e),s=Ng(i.pos),c=Mv(i);c.length>n.hamtDepth&&(n.lastBucket=c[n.hamtDepth],s=Ng(n.lastBucket._posAtParent));let a=t.Links.find(l=>{if(l.Name==null)return!1;let d=l.Name.substring(0,2),m=l.Name.substring(2);return!(d!==s||m!==""&&m!==e)});if(a==null)return;if(a.Name!=null&&a.Name.substring(2)===e)return a.Hash;n.hamtDepth++;let u=await r.get(a.Hash,o);return t=Ye(u),Ug(t,e,r,n,o)},Pg=Ug;function Ov(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:o=>{n.push(o)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var Os=Ov;function Rv(t){return t[Symbol.asyncIterator]!=null}function zv(t,e){if(Rv(t))return async function*(){for await(let c of t)await e(c)&&(yield c)}();let r=Os(t),{value:n,done:o}=r.next();if(o===!0)return function*(){}();let i=e(n);if(typeof i.then=="function")return async function*(){await i&&(yield n);for await(let c of r)await e(c)&&(yield c)}();let s=e;return function*(){i===!0&&(yield n);for(let c of r)s(c)&&(yield c)}()}var Fg=zv;function $v(t){return t[Symbol.asyncIterator]!=null}function Hv(t,e){if($v(t))return async function*(){for await(let c of t)yield e(c)}();let r=Os(t),{value:n,done:o}=r.next();if(o===!0)return function*(){}();let i=e(n);if(typeof i.then=="function")return async function*(){yield await i;for await(let c of r)yield e(c)}();let s=e;return function*(){yield i;for(let c of r)yield s(c)}()}var fn=Hv;function ht(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var Rs=globalThis.CustomEvent??Event;async function*fr(t,e={}){let r=e.concurrency??1/0;r<1&&(r=1/0);let n=e.ordered==null?!1:e.ordered,o=new EventTarget,i=[],s=ht(),c=ht(),a=!1,u,l=!1;o.addEventListener("task-complete",()=>{c.resolve()}),Promise.resolve().then(async()=>{try{for await(let h of t){if(i.length===r&&(s=ht(),await s.promise),l)break;let p={done:!1};i.push(p),h().then(w=>{p.done=!0,p.ok=!0,p.value=w,o.dispatchEvent(new Rs("task-complete"))},w=>{p.done=!0,p.err=w,o.dispatchEvent(new Rs("task-complete"))})}a=!0,o.dispatchEvent(new Rs("task-complete"))}catch(h){u=h,o.dispatchEvent(new Rs("task-complete"))}});function d(){return n?i[0]?.done:!!i.find(h=>h.done)}function*m(){for(;i.length>0&&i[0].done;){let h=i[0];if(i.shift(),h.ok)yield h.value;else throw l=!0,s.resolve(),h.err;s.resolve()}}function*f(){for(;d();)for(let h=0;h<i.length;h++)if(i[h].done){let p=i[h];if(i.splice(h,1),h--,p.ok)yield p.value;else throw l=!0,s.resolve(),p.err;s.resolve()}}for(;;){if(d()||(c=ht(),await c.promise),u!=null)throw u;if(n?yield*m():yield*f(),a&&i.length===0)break}}var zs=class{constructor(e){k(this,"buffer");k(this,"mask");k(this,"top");k(this,"btm");k(this,"next");if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},dn=class{constructor(e={}){k(this,"size");k(this,"hwm");k(this,"head");k(this,"tail");this.hwm=e.splitLimit??16,this.head=new zs(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new zs(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var cl=class extends Error{constructor(r,n){super(r??"The operation was aborted");k(this,"type");k(this,"code");this.type="aborted",this.code=n??"ABORT_ERR"}};function hn(t={}){return jv(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function jv(t,e){e=e??{};let r=e.onEnd,n=new dn,o,i,s,c=ht(),a=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((w,g)=>{i=b=>{i=null,n.push(b);try{w(t(n))}catch(v){g(v)}return o}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{c.resolve(),c=ht()})}},u=w=>i!=null?i(w):(n.push(w),o),l=w=>(n=new dn,i!=null?i({error:w}):(n.push({error:w}),o)),d=w=>{if(s)return o;if(e?.objectMode!==!0&&w?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:w})},m=w=>s?o:(s=!0,w!=null?l(w):u({done:!0})),f=()=>(n=new dn,m(),{done:!0}),h=w=>(m(w),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:a,return:f,throw:h,push:d,end:m,get readableLength(){return n.size},onEmpty:async w=>{let g=w?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let b,v;g!=null&&(b=new Promise((E,T)=>{v=()=>{T(new cl)},g.addEventListener("abort",v)}));try{await Promise.race([c.promise,b])}finally{v!=null&&g!=null&&g?.removeEventListener("abort",v)}}},r==null)return o;let p=o;return o={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(w){return p.throw(w),r!=null&&(r(w),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:d,end(w){return p.end(w),r!=null&&(r(w),r=void 0),o},get readableLength(){return p.readableLength}},o}function Vv(t){return t[Symbol.asyncIterator]!=null}function qv(...t){let e=[];for(let r of t)Vv(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=hn({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let o of n)r.push(o)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var Mg=qv;function pn(t,...e){if(t==null)throw new Error("Empty pipeline");if(ul(t)){let n=t;t=()=>n.source}else if(Rg(t)||Og(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&ul(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)ul(r[n])&&(r[n]=Kv(r[n]));return Wv(...r)}var Wv=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},Og=t=>t?.[Symbol.asyncIterator]!=null,Rg=t=>t?.[Symbol.iterator]!=null,ul=t=>t==null?!1:t.sink!=null&&t.source!=null,Kv=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=hn({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let o,i=t.source;if(Og(i))o=async function*(){yield*i,n.end()};else if(Rg(i))o=function*(){yield*i,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Mg(n,o())}return t.source};var Gv=(t,e,r,n,o,i,s)=>{async function*c(a={}){let u=a.offset??0,l=a.length??e.Links.length,d=e.Links.slice(u,l);a.onProgress?.(new ce("unixfs:exporter:walk:directory",{cid:t})),yield*pn(d,m=>fn(m,f=>async()=>{let h=f.Name??"",p=`${n}/${h}`;return(await o(f.Hash,h,p,[],i+1,s,a)).entry}),m=>fr(m,{ordered:!0}),m=>Fg(m,f=>f!=null))}return c},zg=Gv;var hr=W(rt(),1);var Xg=W(Hg(),1);var ko=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},fl=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},jg=t=>globalThis.DOMException===void 0?new fl(t):new DOMException(t),Vg=t=>{let e=t.reason===void 0?jg("This operation was aborted."):t.reason;return e instanceof Error?e:jg(e)};function dl(t,e,r,n){let o,i=new Promise((s,c)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){s(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:a}=n;a.aborted&&c(Vg(a)),a.addEventListener("abort",()=>{c(Vg(a))})}o=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{s(r())}catch(l){c(l)}return}let a=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new ko(a);typeof t.cancel=="function"&&t.cancel(),c(u)},e),(async()=>{try{s(await t)}catch(a){c(a)}finally{n.customTimers.clearTimeout.call(void 0,o)}})()});return i.clear=()=>{clearTimeout(o),o=void 0},i}function hl(t,e,r){let n=0,o=t.length;for(;o>0;){let i=Math.trunc(o/2),s=n+i;r(t[s],e)<=0?(n=++s,o-=i+1):o=i}return n}var dr=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},pt,vo=class{constructor(){pt.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&dr(this,pt,"f")[this.size-1].priority>=r.priority){dr(this,pt,"f").push(n);return}let o=hl(dr(this,pt,"f"),n,(i,s)=>s.priority-i.priority);dr(this,pt,"f").splice(o,0,n)}dequeue(){let e=dr(this,pt,"f").shift();return e?.run}filter(e){return dr(this,pt,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return dr(this,pt,"f").length}};pt=new WeakMap;var K=function(t,e,r,n,o){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?o.call(t,r):o?o.value=r:e.set(t,r),r},L=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},X,So,Ao,Ut,Ks,_o,Hs,$e,Eo,Se,js,Ae,Bo,Nt,Vs,qg,Wg,Qg,Kg,Gg,qs,pl,yl,Gs,Jg,Ws,Qs=class extends Error{},Co=class extends Xg.default{constructor(e){var r,n,o,i;if(super(),X.add(this),So.set(this,void 0),Ao.set(this,void 0),Ut.set(this,0),Ks.set(this,void 0),_o.set(this,void 0),Hs.set(this,0),$e.set(this,void 0),Eo.set(this,void 0),Se.set(this,void 0),js.set(this,void 0),Ae.set(this,0),Bo.set(this,void 0),Nt.set(this,void 0),Vs.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:vo,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(i=(o=e.interval)===null||o===void 0?void 0:o.toString())!==null&&i!==void 0?i:""}\` (${typeof e.interval})`);K(this,So,e.carryoverConcurrencyCount,"f"),K(this,Ao,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),K(this,Ks,e.intervalCap,"f"),K(this,_o,e.interval,"f"),K(this,Se,new e.queueClass,"f"),K(this,js,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,K(this,Vs,e.throwOnTimeout===!0,"f"),K(this,Nt,e.autoStart===!1,"f")}get concurrency(){return L(this,Bo,"f")}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);K(this,Bo,e,"f"),L(this,X,"m",Gs).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:L(this,Vs,"f"),...r},new Promise((n,o)=>{L(this,Se,"f").enqueue(async()=>{var i,s,c;K(this,Ae,(s=L(this,Ae,"f"),s++,s),"f"),K(this,Ut,(c=L(this,Ut,"f"),c++,c),"f");try{if(!((i=r.signal)===null||i===void 0)&&i.aborted)throw new Qs("The task was aborted.");let a=e({signal:r.signal});r.timeout&&(a=dl(Promise.resolve(a),r.timeout)),r.signal&&(a=Promise.race([a,L(this,X,"m",Jg).call(this,r.signal)]));let u=await a;n(u),this.emit("completed",u)}catch(a){if(a instanceof ko&&!r.throwOnTimeout){n();return}o(a),this.emit("error",a)}finally{L(this,X,"m",Qg).call(this)}},r),this.emit("add"),L(this,X,"m",qs).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return L(this,Nt,"f")?(K(this,Nt,!1,"f"),L(this,X,"m",Gs).call(this),this):this}pause(){K(this,Nt,!0,"f")}clear(){K(this,Se,new(L(this,js,"f")),"f")}async onEmpty(){L(this,Se,"f").size!==0&&await L(this,X,"m",Ws).call(this,"empty")}async onSizeLessThan(e){L(this,Se,"f").size<e||await L(this,X,"m",Ws).call(this,"next",()=>L(this,Se,"f").size<e)}async onIdle(){L(this,Ae,"f")===0&&L(this,Se,"f").size===0||await L(this,X,"m",Ws).call(this,"idle")}get size(){return L(this,Se,"f").size}sizeBy(e){return L(this,Se,"f").filter(e).length}get pending(){return L(this,Ae,"f")}get isPaused(){return L(this,Nt,"f")}};So=new WeakMap,Ao=new WeakMap,Ut=new WeakMap,Ks=new WeakMap,_o=new WeakMap,Hs=new WeakMap,$e=new WeakMap,Eo=new WeakMap,Se=new WeakMap,js=new WeakMap,Ae=new WeakMap,Bo=new WeakMap,Nt=new WeakMap,Vs=new WeakMap,X=new WeakSet,qg=function(){return L(this,Ao,"f")||L(this,Ut,"f")<L(this,Ks,"f")},Wg=function(){return L(this,Ae,"f")<L(this,Bo,"f")},Qg=function(){var e;K(this,Ae,(e=L(this,Ae,"f"),e--,e),"f"),L(this,X,"m",qs).call(this),this.emit("next")},Kg=function(){L(this,X,"m",yl).call(this),L(this,X,"m",pl).call(this),K(this,Eo,void 0,"f")},Gg=function(){let e=Date.now();if(L(this,$e,"f")===void 0){let r=L(this,Hs,"f")-e;if(r<0)K(this,Ut,L(this,So,"f")?L(this,Ae,"f"):0,"f");else return L(this,Eo,"f")===void 0&&K(this,Eo,setTimeout(()=>{L(this,X,"m",Kg).call(this)},r),"f"),!0}return!1},qs=function(){if(L(this,Se,"f").size===0)return L(this,$e,"f")&&clearInterval(L(this,$e,"f")),K(this,$e,void 0,"f"),this.emit("empty"),L(this,Ae,"f")===0&&this.emit("idle"),!1;if(!L(this,Nt,"f")){let e=!L(this,X,"a",Gg);if(L(this,X,"a",qg)&&L(this,X,"a",Wg)){let r=L(this,Se,"f").dequeue();return r?(this.emit("active"),r(),e&&L(this,X,"m",pl).call(this),!0):!1}}return!1},pl=function(){L(this,Ao,"f")||L(this,$e,"f")!==void 0||(K(this,$e,setInterval(()=>{L(this,X,"m",yl).call(this)},L(this,_o,"f")),"f"),K(this,Hs,Date.now()+L(this,_o,"f"),"f"))},yl=function(){L(this,Ut,"f")===0&&L(this,Ae,"f")===0&&L(this,$e,"f")&&(clearInterval(L(this,$e,"f")),K(this,$e,void 0,"f")),K(this,Ut,L(this,So,"f")?L(this,Ae,"f"):0,"f"),L(this,X,"m",Gs).call(this)},Gs=function(){for(;L(this,X,"m",qs).call(this););},Jg=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new Qs("The task was aborted."))},{once:!0})})},Ws=async function(e,r){return new Promise(n=>{let o=()=>{r&&!r()||(this.off(e,o),n())};this.on(e,o)})};async function Yg(t,e,r,n,o,i,s){if(e instanceof Uint8Array){let u=ur(e,n,o,i);r.push(u);return}if(e.Data==null)throw(0,hr.default)(new Error("no data in PBNode"),"ERR_NOT_UNIXFS");let c;try{c=un.unmarshal(e.Data)}catch(u){throw(0,hr.default)(u,"ERR_NOT_UNIXFS")}if(c.data!=null){let u=c.data,l=ur(u,n,o,i);r.push(l),n+=BigInt(l.byteLength)}let a=[];if(e.Links.length!==c.blockSizes.length)throw(0,hr.default)(new Error("Inconsistent block sizes and dag links"),"ERR_NOT_UNIXFS");for(let u=0;u<e.Links.length;u++){let l=e.Links[u],d=n,m=d+c.blockSizes[u];if((o>=d&&o<m||i>=d&&i<=m||o<d&&i>m)&&a.push({link:l,blockStart:n}),n=m,n>i)break}await pn(a,u=>fn(u,l=>async()=>{let d=await t.get(l.link.Hash,s);return{...l,block:d}}),u=>fr(u,{ordered:!0}),async u=>{for await(let{link:l,block:d,blockStart:m}of u){let f;switch(l.Hash.code){case ir:f=Ye(d);break;case $n:f=d;break;default:r.end((0,hr.default)(new Error(`Unsupported codec: ${l.Hash.code}`),"ERR_NOT_UNIXFS"));return}let h=new Co({concurrency:1});h.on("error",p=>{r.end(p)}),h.add(async()=>{s.onProgress?.(new ce("unixfs:exporter:walk:file",{cid:l.Hash})),await Yg(t,f,r,m,o,i,s)}),await h.onIdle()}}),n>=i&&r.end()}var Xv=(t,e,r,n,o,i,s)=>{async function*c(a={}){let u=r.fileSize();if(u===void 0)throw new Error("File was a directory");let{start:l,end:d}=an(u,a.offset,a.length);if(d===0n)return;let m=0n,f=d-l,h=hn();a.onProgress?.(new ce("unixfs:exporter:walk:file",{cid:t})),Yg(s,e,h,0n,l,d,a).catch(p=>{h.end(p)});for await(let p of h)if(p!=null){if(m+=BigInt(p.byteLength),m>f)throw h.end(),(0,hr.default)(new Error("Read too many bytes - the file size reported by the UnixFS data in the root node may be incorrect"),"ERR_OVER_READ");m===f&&h.end(),a.onProgress?.(new ce("unixfs:exporter:progress:unixfs:file",{bytesRead:m,totalBytes:f,fileSize:u})),yield p}if(m<f)throw(0,hr.default)(new Error("Traversed entire DAG but did not read enough bytes"),"ERR_UNDER_READ")}return c},ml=Xv;var Yv=(t,e,r,n,o,i,s)=>{function c(a={}){return a.onProgress?.(new ce("unixfs:exporter:walk:hamt-sharded-directory",{cid:t})),Zg(e,n,o,i,s,a)}return c};async function*Zg(t,e,r,n,o,i){let s=t.Links,c=pn(s,a=>fn(a,u=>async()=>{let l=u.Name!=null?u.Name.substring(2):null;if(l!=null&&l!==""){let d=await r(u.Hash,l,`${e}/${l}`,[],n+1,o,i);return{entries:d.entry==null?[]:[d.entry]}}else{let d=await o.get(u.Hash,i);return t=Ye(d),i.onProgress?.(new ce("unixfs:exporter:walk:hamt-sharded-directory",{cid:u.Hash})),{entries:Zg(t,e,r,n,o,i)}}}),a=>fr(a,{ordered:!0}));for await(let{entries:a}of c)yield*a}var ew=Yv;var Zv=(t,e)=>t.Links.find(n=>n.Name===e)?.Hash,eE={raw:ml,file:ml,directory:zg,"hamt-sharded-directory":ew,metadata:(t,e,r,n,o,i,s)=>()=>[],symlink:(t,e,r,n,o,i,s)=>()=>[]},tE=async(t,e,r,n,o,i,s,c)=>{let a=await s.get(t,c),u=Ye(a),l,d;if(e==null&&(e=t.toString()),u.Data==null)throw(0,To.default)(new Error("no data in PBNode"),"ERR_NOT_UNIXFS");try{l=un.unmarshal(u.Data)}catch(f){throw(0,To.default)(f,"ERR_NOT_UNIXFS")}if(r==null&&(r=e),n.length>0){let f;if(l?.type==="hamt-sharded-directory"?f=await Pg(u,n[0],s):f=Zv(u,n[0]),f==null)throw(0,To.default)(new Error("file does not exist"),"ERR_NOT_FOUND");let h=n.shift(),p=`${r}/${h}`;d={cid:f,toResolve:n,name:h??"",path:p}}let m=eE[l.type](t,u,l,r,o,i,s);if(m==null)throw(0,To.default)(new Error("could not find content exporter"),"ERR_NOT_FOUND");return l.isDirectory()?{entry:{type:"directory",name:e,path:r,cid:t,content:m,unixfs:l,depth:i,node:u,size:l.fileSize()},next:d}:{entry:{type:"file",name:e,path:r,cid:t,content:m,unixfs:l,depth:i,node:u,size:l.fileSize()},next:d}},tw=tE;var rE={[ir]:tw,[$n]:ug,[La]:ig,[ng.code]:ag},nw=async(t,e,r,n,o,i,s)=>{let c=rE[t.code];if(c==null)throw(0,rw.default)(new Error(`No resolver for code ${t.code}`),"ERR_NO_RESOLVER");return c(t,e,r,n,nw,o,i,s)},ow=nw;var nE=(t="")=>(t.trim().match(/([^\\^/]|\\\/)+/g)??[]).filter(Boolean),oE=t=>{if(t instanceof Uint8Array)return{cid:V.decode(t),toResolve:[]};let e=V.asCID(t);if(e!=null)return{cid:e,toResolve:[]};if(typeof t=="string"){t.indexOf("/ipfs/")===0&&(t=t.substring(6));let r=nE(t);return{cid:V.parse(r[0]),toResolve:r.slice(1)}}throw(0,Js.default)(new Error(`Unknown path type ${t}`),"ERR_BAD_PATH")};async function*iE(t,e,r={}){let{cid:n,toResolve:o}=oE(t),i=n.toString(),s=i,c=o.length;for(;;){let a=await ow(n,i,s,o,c,e,r);if(a.entry==null&&a.next==null)throw(0,Js.default)(new Error(`Could not resolve ${t}`),"ERR_NOT_FOUND");if(a.entry!=null&&(yield a.entry),a.next==null)return;o=a.next.toResolve,n=a.next.cid,i=a.next.name,s=a.next.path}}async function iw(t,e,r={}){let n=await eg(iE(t,e,r));if(n==null)throw(0,Js.default)(new Error(`Could not resolve ${t}`),"ERR_NOT_FOUND");return n}var sE=Xm(),aE=Dt({fileChunkEncoder:Et,smallFileEncoder:Et,chunker:_u(1024*1024),fileLayout:gs(1024)});async function sw(t){let e=cE(t),r=await uE(e);return{cid:r.at(-1).cid,blocks:r}}async function aw(t,e,r){let n=await iw(e.toString(),t,{length:r.size}),o=[];for await(let i of n.content())o.push(i);return new File(o,n.name,{type:r.type,lastModified:0})}function cE(t){let{readable:e,writable:r}=new TransformStream({},sE),n=Jm({writable:r,settings:aE}),o=new gl("",t);return(async()=>(await o.finalize(n),await n.close()))(),e}async function uE(t){let e=[];return await t.pipeTo(new WritableStream({write(r){e.push(r)}})),e}var Io,gl=class{constructor(e,r){nt(this,Io,void 0);k(this,"name");this.name=e,fe(this,Io,r)}async finalize(e){let r=co(e);return await Z(this,Io).stream().pipeTo(new WritableStream({async write(n){await r.write(n)}})),await r.close()}};Io=new WeakMap;async function lw(t,e,r,n){let o;for(let i of r){let s=await lE(t,i);o=await xp(t,e,i.key,s,n);let c=o.root.toString();o.additions.some(u=>u.cid.toString()===c)||await t.get(o.root)||(console.error(`missing root in additions: ${o.additions.length} ${c} keys: ${r.map(l=>l.key).toString()}`),o.head=e);for(let{cid:u,bytes:l}of[...o.additions,...o.removals,o.event])t.putSync(u,l);e=o.head}return{head:e}}async function lE(t,e){let r;e.del?r={del:!0}:(await fE(t,e.value),r={doc:e.value});let n=await Ge({value:r,hasher:de,codec:q});return t.putSync(n.cid,n.bytes),n.cid}async function fE(t,e){e._files&&await cw(t,e._files),e._publicFiles&&await cw(t,e._publicFiles,!0)}async function cw(t,e,r=!1){let n=t.parent,o=new _t(n);n.transactions.add(o);let i=[],s=0;for(let c in e)if(File===e[c].constructor){let a=e[c];s+=a.size;let{cid:u,blocks:l}=await sw(a);i.push(c);for(let d of l)o.putSync(d.cid,d.bytes);e[c]={cid:u,type:a.type,size:a.size}}if(s>1024*1024*1)throw new Error("Sync limit for files in a single update is 1MB");if(i.length){let c=await n.loader?.commit(o,{files:e},{public:r});if(c)for(let a of i)e[a]={car:c,...e[a]}}}async function fw(t,e,r){if(!e.length)throw new Error("Getting from an empty database");let n=await kp(t,e,r);if(!n)throw new Error(`Missing key ${r}`);return await kl(t,n)}function xl(t,{doc:e}){e&&(e._files&&uw(t,e._files),e._publicFiles&&uw(t,e._publicFiles,!0))}function uw(t,e,r=!1){for(let n in e){let o=e[n];if(o.cid&&(r&&(o.url=`https://${o.cid.toString()}.ipfs.w3s.link/`),o.car&&t.loader)){let i=t.loader;o.file=async()=>await aw({get:async s=>{let a=await(await i.loadFileCar(o.car,r)).get(s);if(!a)throw new Error(`Missing block ${s.toString()}`);return a.bytes}},o.cid,o)}e[n]=o}}async function kl(t,e){let r=await t.get(e);if(!r)throw new Error(`Missing linked block ${e.toString()}`);let{value:n}=await vt({bytes:r.bytes,hasher:de,codec:q});return xl(t,n),n}var wl=class extends Je{async get(e){try{return await super.get(e)}catch(r){return console.error("missing event",e.toString(),r),{value:null}}}};async function Lo(t,e,r,n){let o=n.dirty?new wl(t):new Je(t);return{result:(await bl(t,o,e,r,[],new Set,new Set,n.limit||1/0)).reverse(),head:e}}async function bl(t,e,r,n,o=[],i,s,c){if(c<=0)return o;let a=r.map(u=>u.toString());for(let u of n)if(a.includes(u.toString()))return o;for(let u of r){if(s.has(u.toString()))continue;s.add(u.toString());let{value:l}=await e.get(u);if(!l)continue;let{key:d,value:m}=l.data;if(i.has(d))l.parents&&(o=await bl(t,e,l.parents,n,o,i,s,c));else{i.add(d);let f=await kl(t,m);o.push({key:d,value:f.doc,del:f.del}),c--,l.parents&&(o=await bl(t,e,l.parents,n,o,i,s,c))}}return o}async function*dw(t,e){for await(let[r,n]of Fc(t,e)){let o=await kl(t,n);yield{key:r,value:o.doc,del:o.del}}}async function*hw(t,e){for await(let r of Nc(t,e))yield r}async function pw(t,e){let r=new Vi(t),n=new _t(t);for await(let[,i]of Fc(r,e))if(!await r.get(i))throw new Error("Missing block: "+i.toString());for await(let i of Nc(r,e));let o=await Wr(r,e);for(let{cid:i,bytes:s}of[...o.additions,...o.removals])n.putSync(i,s);await Lo(r,e,[],{});for(let i of r.cids){let s=await t.get(i);if(!s)throw new Error("Missing block: "+i.toString());await n.put(i,s.bytes)}await t.commitCompaction(n,e)}var Xs=class{constructor(){k(this,"head",[]);k(this,"zoomers",new Set);k(this,"watchers",new Set);k(this,"blocks",null)}setHead(e){this.head=e}async applyHead(e,r,n,o=null){let i=this.head.sort((u,l)=>u.toString().localeCompare(l.toString()));if(r=r.sort((u,l)=>u.toString().localeCompare(l.toString())),i.toString()===r.toString()){this.watchers.forEach(u=>u(o||[]));return}let s=n.sort((u,l)=>u.toString().localeCompare(l.toString()));if(i.toString()===s.toString()){this.setHead(r),this.watchers.forEach(u=>u(o||[]));return}let c=async(u,l)=>{if(u instanceof _t)return await l(u);if(!this.blocks)throw new Error("missing blocks");return await this.blocks.transaction(l,void 0,{noLoader:!0})},{head:a}=await c(e,async u=>{let l=this.head;for(let m of r)l=await Kn(u,l,m);let d=await Wr(u,l);for(let{cid:m,bytes:f}of[...d.additions,...d.removals])u.putSync(m,f);return{head:l}});this.watchers.size&&!o&&(o=(await Lo(this.blocks,a,n,{})).result),this.setHead(a),this.zoomers.forEach(u=>u()),this.watchers.forEach(u=>u(o||[]))}onTick(e){this.watchers.add(e)}onZoom(e){this.zoomers.add(e)}};var Ys=class{constructor(e,r){k(this,"name");k(this,"opts",{});k(this,"ready");k(this,"blocks");k(this,"indexBlocks");k(this,"indexers",new Map);k(this,"clock",new Xs);this.name=e||null,this.opts=r||this.opts,this.blocks=new ji(this.name,this.clock,this.opts),this.clock.blocks=this.blocks,this.indexBlocks=new Hi(this.opts.persistIndexes&&this.name?this.name+".idx":null,this,this.opts),this.ready=Promise.all([this.blocks.ready,this.indexBlocks.ready]).then(()=>{}),this.clock.onZoom(()=>{for(let n of this.indexers.values())n._resetIndex()})}async bulk(e,r){return await this.ready,await this.blocks.transaction(async n=>{let o=[...this.clock.head],{head:i}=await lw(n,this.clock.head,e,r);return e=e.map(({key:s,value:c,del:a})=>(xl(this.blocks,{doc:c}),{key:s,value:c,del:a})),await this.clock.applyHead(n,i,o,e),{head:i}})}async allDocs(){await this.ready;let e=[];for await(let r of dw(this.blocks,this.clock.head))e.push(r);return{result:e,head:this.clock.head}}async vis(){await this.ready;let e=[];for await(let r of hw(this.blocks,this.clock.head))e.push(r);return e.join(`
|
4
|
+
`)}async get(e){await this.ready;let r=await fw(this.blocks,this.clock.head,e);return r.del?null:r}async changes(e=[],r={}){return await this.ready,await Lo(this.blocks,this.clock.head,e,r)}async compact(){if(await this.ready,!(this.blocks.loader&&this.blocks.loader.carLog.length<2))return await pw(this.blocks,this.clock.head)}};var pr=class{constructor(e,r){k(this,"name");k(this,"opts",{});k(this,"_listeners",new Set);k(this,"_crdt");k(this,"_writeQueue");this.name=e||null,this.opts=r||this.opts,this._crdt=new Ys(e,this.opts),this._crdt.clock.onTick(n=>{this._notify(n)}),this._writeQueue=Al(async n=>await this._crdt.bulk(n))}async get(e){let r=await this._crdt.get(e).catch(o=>{throw o.message=`Not found: ${e} - `+o.message,o});if(!r)throw new Error(`Not found: ${e}`);let{doc:n}=r;return{_id:e,...n}}async put(e){let{_id:r,...n}=e,o=r||Sl(),i=await this._writeQueue.push({key:o,value:n});return{id:o,clock:i?.head}}async del(e){let r=await this._writeQueue.push({key:e,del:!0});return{id:e,clock:r?.head}}async changes(e=[],r={}){let{result:n,head:o}=await this._crdt.changes(e,r);return{rows:n.map(({key:s,value:c,del:a})=>({key:s,value:a?{_id:s,_deleted:!0}:{_id:s,...c}})),clock:o}}subscribe(e){return this._listeners.add(e),()=>{this._listeners.delete(e)}}async query(e,r={}){return await(typeof e=="string"?qn({_crdt:this._crdt},e):qn({_crdt:this._crdt},dE(e.toString()),e)).query(r)}async compact(){await this._crdt.compact()}async getDashboardURL(e=!0){let r="https://dashboard.fireproof.storage/";if(!this._crdt.blocks.loader?.remoteCarStore)return new URL("/howto",r);e&&await this.compact();let n=await this._crdt.blocks.loader?.metaStore?.load();if(!n)throw new Error("Can't sync empty database: save data first");if(n.length>1)throw new Error("Can't sync database with split heads: make an update first");let o=n[0],i={car:o.car.toString()};o.key&&(i.key=o.key.toString()),this.name&&(i.name=this.name);let s=new URL("/import#"+new URLSearchParams(i).toString(),r);return console.log("Import to dashboard: "+s.toString()),s}openDashboard(){this.getDashboardURL().then(e=>{e&&window.open(e.toString(),"_blank")})}async _notify(e){if(this._listeners.size){let r=e.map(({key:n,value:o})=>({_id:n,...o}));for(let n of this._listeners)await(async()=>await n(r))().catch(o=>{console.error("subscriber error",o)})}}};k(pr,"databases",new Map);function RI(t,e){return pr.databases.has(t)||pr.databases.set(t,new pr(t,e)),pr.databases.get(t)}function dE(t){let e=/\(([^,()]+,\s*[^,()]+|\[[^\]]+\],\s*[^,()]+)\)/g,r=null;return Array.from(t.matchAll(e),o=>o[1].trim()).length===0&&(r=/=>\s*(.*)/.exec(t)),r?r[1]:t}export{Li as DataStore,pr as Database,Bc as Index,Vr as Loader,Ii as MetaStore,Di as STORAGE_VERSION,Qh as cidListIncludes,yi as encodeCarFile,Ah as encodeCarHeader,RI as fireproof,qn as index,_h as parseCarFile,ox as toHexString};
|
26
5
|
/*! Bundled license information:
|
27
6
|
|
28
|
-
@noble/ed25519/lib/esm/index.js:
|
29
|
-
(*! noble-ed25519 - MIT License (c) 2019 Paul Miller (paulmillr.com) *)
|
30
|
-
|
31
7
|
uuidv7/dist/index.js:
|
32
8
|
(**
|
33
9
|
* uuidv7: An experimental implementation of the proposed UUID Version 7
|