@fireproof/core 0.13.1 → 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/crdt-clock.d.ts +1 -1
- 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 -23
- package/dist/types/types.d.ts +6 -26
- package/dist/types/version.d.ts +1 -1
- package/package.json +3 -2
- package/dist/types/connect-s3.d.ts +0 -11
- package/dist/types/connect-web3.d.ts +0 -75
- package/dist/types/connect.d.ts +0 -38
- package/dist/types/connection.d.ts +0 -15
- package/dist/types/store-remote.d.ts +0 -27
@@ -1,33 +1,9 @@
|
|
1
|
-
"use strict";var Fireproof=(()=>{var YB=Object.create;var Na=Object.defineProperty;var e8=Object.getOwnPropertyDescriptor;var t8=Object.getOwnPropertyNames;var r8=Object.getPrototypeOf,n8=Object.prototype.hasOwnProperty;var o8=(t,e,r)=>e in t?Na(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),M=(t,e)=>{for(var r in e)Na(t,r,{get:e[r],enumerable:!0})},Ak=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of t8(e))!n8.call(t,o)&&o!==r&&Na(t,o,{get:()=>e[o],enumerable:!(n=e8(e,o))||n.enumerable});return t};var _e=(t,e,r)=>(r=t!=null?YB(r8(t)):{},Ak(e||!t||!t.__esModule?Na(r,"default",{value:t,enumerable:!0}):r,t)),s8=t=>Ak(Na({},"__esModule",{value:!0}),t);var w=(t,e,r)=>(o8(t,typeof e!="symbol"?e+"":e,r),r),im=(t,e,r)=>{if(!e.has(t))throw TypeError("Cannot "+r)};var j=(t,e,r)=>(im(t,e,"read from private field"),r?r.call(t):e.get(t)),De=(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)},Ce=(t,e,r,n)=>(im(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r);var mo=(t,e,r)=>(im(t,e,"access private method"),r);var Tk=oe((gn,Dk)=>{var dl=typeof globalThis<"u"&&globalThis||typeof self<"u"&&self||typeof global<"u"&&global,fl=function(){function t(){this.fetch=!1,this.DOMException=dl.DOMException}return t.prototype=dl,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," "),ve=Pe.join("=").replace(/\+/g," ");I.append(decodeURIComponent(ze),decodeURIComponent(ve))}}),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(":"),ve=ze.shift().trim();if(ve){var ul=ze.join(":").trim();I.append(ve,ul)}}),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 mn(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 ve=new XMLHttpRequest;function ul(){ve.abort()}ve.onload=function(){var Mt={status:ve.status,statusText:ve.statusText,headers:L(ve.getAllResponseHeaders()||"")};Mt.url="responseURL"in ve?ve.responseURL:Mt.headers.get("X-Request-URL");var ll="response"in ve?ve.response:ve.responseText;setTimeout(function(){O(new G(ll,Mt))},0)},ve.onerror=function(){setTimeout(function(){Pe(new TypeError("Network request failed"))},0)},ve.ontimeout=function(){setTimeout(function(){Pe(new TypeError("Network request failed"))},0)},ve.onabort=function(){setTimeout(function(){Pe(new r.DOMException("Aborted","AbortError"))},0)};function XB(Mt){try{return Mt===""&&n.location.href?n.location.href:Mt}catch{return Mt}}ve.open(ze.method,XB(ze.url),!0),ze.credentials==="include"?ve.withCredentials=!0:ze.credentials==="omit"&&(ve.withCredentials=!1),"responseType"in ve&&(o.blob?ve.responseType="blob":o.arrayBuffer&&ze.headers.get("Content-Type")&&ze.headers.get("Content-Type").indexOf("application/octet-stream")!==-1&&(ve.responseType="arraybuffer")),I&&typeof I.headers=="object"&&!(I.headers instanceof d)?Object.getOwnPropertyNames(I.headers).forEach(function(Mt){ve.setRequestHeader(Mt,u(I.headers[Mt]))}):ze.headers.forEach(function(Mt,ll){ve.setRequestHeader(ll,Mt)}),ze.signal&&(ze.signal.addEventListener("abort",ul),ve.onreadystatechange=function(){ve.readyState===4&&ze.signal.removeEventListener("abort",ul)}),ve.send(typeof ze._bodyInit>"u"?null:ze._bodyInit)})}return mn.polyfill=!0,n.fetch||(n.fetch=mn,n.Headers=d,n.Request=P,n.Response=G),r.Headers=d,r.Request=P,r.Response=G,r.fetch=mn,r}({})})(fl);fl.fetch.ponyfill=!0;delete fl.fetch.polyfill;var qs=dl.fetch?dl:fl;gn=qs.fetch;gn.default=qs.fetch;gn.fetch=qs.fetch;gn.Headers=qs.Headers;gn.Request=qs.Request;gn.Response=qs.Response;Dk.exports=gn});var F1=oe((DW,M1)=>{M1.exports=py;var $1=128,u6=127,l6=~u6,d6=Math.pow(2,31);function py(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw py.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=d6;)e[r++]=t&255|$1,t/=128;for(;t&l6;)e[r++]=t&255|$1,t>>>=7;return e[r]=t|0,py.bytes=r-n+1,e}});var W1=oe((TW,j1)=>{j1.exports=my;var f6=128,z1=127;function my(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a||o>49)throw my.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>=f6);return my.bytes=s-n,r}});var q1=oe((CW,H1)=>{var h6=Math.pow(2,7),p6=Math.pow(2,14),m6=Math.pow(2,21),y6=Math.pow(2,28),g6=Math.pow(2,35),w6=Math.pow(2,42),b6=Math.pow(2,49),x6=Math.pow(2,56),k6=Math.pow(2,63);H1.exports=function(t){return t<h6?1:t<p6?2:t<m6?3:t<y6?4:t<g6?5:t<w6?6:t<b6?7:t<x6?8:t<k6?9:10}});var jl=oe((IW,V1)=>{V1.exports={encode:F1(),decode:W1(),encodingLength:q1()}});var AE=oe(()=>{});var v2=oe((cZ,k2)=>{function Jt(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))}k2.exports=Jt;Jt.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)};Jt.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null};Jt.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};Jt.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)};Jt.prototype.try=function(t){console.log("Using RetryOperation.try() is deprecated"),this.attempt(t)};Jt.prototype.start=function(t){console.log("Using RetryOperation.start() is deprecated"),this.attempt(t)};Jt.prototype.start=Jt.prototype.try;Jt.prototype.errors=function(){return this._errors};Jt.prototype.attempts=function(){return this._attempts};Jt.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 S2=oe(is=>{var tN=v2();is.operation=function(t){var e=is.timeouts(t);return new tN(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 _2=oe((lZ,E2)=>{E2.exports=S2()});var T2=oe(Df=>{"use strict";var Ww=class extends Error{constructor(e="Request timed out"){super(e),this.name="TimeoutError"}};Df.TimeoutError=Ww;var Hw=class extends Error{constructor(e="The operation was aborted."){super(e),this.name="AbortError"}};Df.AbortError=Hw;var qw=class extends Error{constructor(e){super(e.statusText),this.name="HTTPError",this.response=e}};Df.HTTPError=qw});var qc=oe((zi,C2)=>{"use strict";var iN=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=iN();C2.exports=zi=as.fetch;as.fetch&&(zi.default=as.fetch.bind(as));zi.Headers=as.Headers;zi.Request=as.Request;zi.Response=as.Response});var I2=oe((gZ,Vw)=>{"use strict";globalThis.fetch&&globalThis.Headers&&globalThis.Request&&globalThis.Response?Vw.exports={default:globalThis.fetch,Headers:globalThis.Headers,Request:globalThis.Request,Response:globalThis.Response}:Vw.exports={default:qc().default,Headers:qc().Headers,Request:qc().Request,Response:qc().Response}});var P2=oe((wZ,B2)=>{"use strict";B2.exports=I2()});var R2=oe((bZ,U2)=>{"use strict";var{TimeoutError:aN,AbortError:cN}=T2(),{Response:L2,Request:uN,Headers:Kw,default:lN}=P2(),dN=(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 Kw(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(L2.error());break}case"load":{s(new Gw(r.responseURL,r.response,{status:r.status,statusText:r.statusText,headers:pN(r.getAllResponseHeaders())}));break}case"timeout":{i(new aN);break}case"abort":{i(new cN);break}default:break}};r.onerror=a,r.onload=a,r.ontimeout=a,r.onabort=a,r.send(e.body)})},fN=lN,hN=(t,e={})=>e.onUploadProgress!=null?dN(t,e):fN(t,e),pN=t=>{let e=new Kw;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},Gw=class extends L2{constructor(e,r,n){super(r,n),Object.defineProperty(this,"url",{value:e})}};U2.exports={fetch:hN,Request:uN,Headers:Kw}});var G2=oe((jZ,V2)=>{"use strict";V2.exports=UN;function UN(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 Q2=oe(J2=>{"use strict";var Uf=J2;Uf.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 qi=new Array(64),Z2=new Array(123);for(lr=0;lr<64;)Z2[qi[lr]=lr<26?lr+65:lr<52?lr+71:lr<62?lr-4:lr-59|43]=lr++;var lr;Uf.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++]=qi[u>>2],c=(u&3)<<4,a=1;break;case 1:s[i++]=qi[c|u>>4],c=(u&15)<<2,a=2;break;case 2:s[i++]=qi[c|u>>6],s[i++]=qi[u&63],a=0;break}i>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),i=0)}return a&&(s[i++]=qi[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 K2="invalid encoding";Uf.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=Z2[c])===void 0)throw Error(K2);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(K2);return n-o};Uf.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var Y2=oe((HZ,X2)=>{"use strict";X2.exports=Rf;function Rf(){this._listeners={}}Rf.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};Rf.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};Rf.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 iA=oe((qZ,sA)=>{"use strict";sA.exports=eA(eA);function eA(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,tA),t.writeFloatBE=e.bind(null,rA);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,nA),t.readFloatBE=r.bind(null,oA)}(),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,tA,0,4),t.writeDoubleBE=e.bind(null,rA,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,nA,0,4),t.readDoubleBE=r.bind(null,oA,4,0)}(),t}function tA(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 rA(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 nA(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function oA(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var aA=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 uA=oe(cA=>{"use strict";var eb=cA;eb.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};eb.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))};eb.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 dA=oe((GZ,lA)=>{"use strict";lA.exports=RN;function RN(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 hA=oe((KZ,fA)=>{"use strict";fA.exports=Ye;var Gc=on();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 NN=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(Gc.isString(e))if(Gc.Long)e=Gc.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 Gc.Long?new Gc.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var Qn=String.prototype.charCodeAt;Ye.fromHash=function(e){return e===NN?cs:new Ye((Qn.call(e,0)|Qn.call(e,1)<<8|Qn.call(e,2)<<16|Qn.call(e,3)<<24)>>>0,(Qn.call(e,4)|Qn.call(e,5)<<8|Qn.call(e,6)<<16|Qn.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 on=oe(tb=>{"use strict";var H=tb;H.asPromise=G2();H.base64=Q2();H.EventEmitter=Y2();H.float=iA();H.inquire=aA();H.utf8=uA();H.pool=dA();H.LongBits=hA();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||tb;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 pA(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=pA;H.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function mA(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&&pA(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=mA;H.ProtocolError=mA("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 Of=oe((JZ,bA)=>{"use strict";bA.exports=pe;var Qt=on(),rb,Nf=Qt.LongBits,yA=Qt.base64,gA=Qt.utf8;function Kc(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function ob(){}function ON(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function pe(){this.len=0,this.head=new Kc(ob,0,0),this.tail=this.head,this.states=null}var wA=function(){return Qt.Buffer?function(){return(pe.create=function(){return new rb})()}:function(){return new pe}};pe.create=wA();pe.alloc=function(e){return new Qt.Array(e)};Qt.Array!==Array&&(pe.alloc=Qt.pool(pe.alloc,Qt.Array.prototype.subarray));pe.prototype._push=function(e,r,n){return this.tail=this.tail.next=new Kc(e,r,n),this.len+=r,this};function sb(t,e,r){e[r]=t&255}function $N(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function ib(t,e){this.len=t,this.next=void 0,this.val=e}ib.prototype=Object.create(Kc.prototype);ib.prototype.fn=$N;pe.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new ib((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};pe.prototype.int32=function(e){return e<0?this._push(ab,10,Nf.fromNumber(e)):this.uint32(e)};pe.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function ab(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}pe.prototype.uint64=function(e){var r=Nf.from(e);return this._push(ab,r.length(),r)};pe.prototype.int64=pe.prototype.uint64;pe.prototype.sint64=function(e){var r=Nf.from(e).zzEncode();return this._push(ab,r.length(),r)};pe.prototype.bool=function(e){return this._push(sb,1,e?1:0)};function nb(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}pe.prototype.fixed32=function(e){return this._push(nb,4,e>>>0)};pe.prototype.sfixed32=pe.prototype.fixed32;pe.prototype.fixed64=function(e){var r=Nf.from(e);return this._push(nb,4,r.lo)._push(nb,4,r.hi)};pe.prototype.sfixed64=pe.prototype.fixed64;pe.prototype.float=function(e){return this._push(Qt.float.writeFloatLE,4,e)};pe.prototype.double=function(e){return this._push(Qt.float.writeDoubleLE,8,e)};var MN=Qt.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]};pe.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(sb,1,0);if(Qt.isString(e)){var n=pe.alloc(r=yA.length(e));yA.decode(e,n,0),e=n}return this.uint32(r)._push(MN,r,e)};pe.prototype.string=function(e){var r=gA.length(e);return r?this.uint32(r)._push(gA.write,r,e):this._push(sb,1,0)};pe.prototype.fork=function(){return this.states=new ON(this),this.head=this.tail=new Kc(ob,0,0),this.len=0,this};pe.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 Kc(ob,0,0),this.len=0),this};pe.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};pe.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};pe._configure=function(t){rb=t,pe.create=wA(),rb._configure()}});var cb=oe((QZ,kA)=>{"use strict";kA.exports=Ir;var xA=Of();(Ir.prototype=Object.create(xA.prototype)).constructor=Ir;var Xn=on();function Ir(){xA.call(this)}Ir._configure=function(){Ir.alloc=Xn._Buffer_allocUnsafe,Ir.writeBytesBuffer=Xn.Buffer&&Xn.Buffer.prototype instanceof Uint8Array&&Xn.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){Xn.isString(e)&&(e=Xn._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(Ir.writeBytesBuffer,r,e),this};function FN(t,e,r){t.length<40?Xn.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}Ir.prototype.string=function(e){var r=Xn.Buffer.byteLength(e);return this.uint32(r),r&&this._push(FN,r,e),this};Ir._configure()});var Mf=oe((XZ,AA)=>{"use strict";AA.exports=We;var Br=on(),lb,EA=Br.LongBits,zN=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 vA=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")},_A=function(){return Br.Buffer?function(r){return(We.create=function(o){return Br.Buffer.isBuffer(o)?new lb(o):vA(o)})(r)}:vA};We.create=_A();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 ub(){var t=new EA(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 $f(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 $f(this.buf,this.pos+=4)};We.prototype.sfixed32=function(){if(this.pos+4>this.len)throw dr(this,4);return $f(this.buf,this.pos+=4)|0};function SA(){if(this.pos+8>this.len)throw dr(this,8);return new EA($f(this.buf,this.pos+=4),$f(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 zN.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){lb=t,We.create=_A(),lb._configure();var e=Br.Long?"toLong":"toNumber";Br.merge(We.prototype,{int64:function(){return ub.call(this)[e](!1)},uint64:function(){return ub.call(this)[e](!0)},sint64:function(){return ub.call(this).zzDecode()[e](!1)},fixed64:function(){return SA.call(this)[e](!0)},sfixed64:function(){return SA.call(this)[e](!1)}})}});var db=oe((YZ,CA)=>{"use strict";CA.exports=us;var TA=Mf();(us.prototype=Object.create(TA.prototype)).constructor=us;var DA=on();function us(t){TA.call(this,t)}us._configure=function(){DA.Buffer&&(us.prototype._slice=DA.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 BA=oe((eJ,IA)=>{"use strict";IA.exports=Zc;var fb=on();(Zc.prototype=Object.create(fb.EventEmitter.prototype)).constructor=Zc;function Zc(t,e,r){if(typeof t!="function")throw TypeError("rpcImpl must be a function");fb.EventEmitter.call(this),this.rpcImpl=t,this.requestDelimited=!!e,this.responseDelimited=!!r}Zc.prototype.rpcCall=function t(e,r,n,o,s){if(!o)throw TypeError("request must be specified");var i=this;if(!s)return fb.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}};Zc.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}});var LA=oe(PA=>{"use strict";var jN=PA;jN.Service=BA()});var RA=oe((rJ,UA)=>{"use strict";UA.exports={}});var $A=oe(OA=>{"use strict";var xt=OA;xt.build="minimal";xt.Writer=Of();xt.BufferWriter=cb();xt.Reader=Mf();xt.BufferReader=db();xt.util=on();xt.rpc=LA();xt.roots=RA();xt.configure=NA;function NA(){xt.util._configure(),xt.Writer._configure(xt.BufferWriter),xt.Reader._configure(xt.BufferReader)}NA()});var FA=oe((oJ,MA)=>{"use strict";MA.exports=$A()});var ND=oe((uu,oh)=>{(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,mn=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,mn),g^=P,g=s(g,19),g+=k,g=o(g,5)+1444728091,J=o(J,mn),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,mn),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,mn),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 uu<"u"?(typeof oh<"u"&&oh.exports&&(uu=oh.exports=r),uu.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)})(uu)});var qb=oe((IJ,OD)=>{OD.exports=ND()});var IT=oe((HQ,ux)=>{"use strict";var qO=Object.prototype.hasOwnProperty,ht="~";function Eu(){}Object.create&&(Eu.prototype=Object.create(null),new Eu().__proto__||(ht=!1));function VO(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function CT(t,e,r,n,o){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new VO(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 vh(t,e){--t._eventsCount===0?t._events=new Eu:delete t._events[e]}function at(){this._events=new Eu,this._eventsCount=0}at.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)qO.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 CT(this,e,r,n,!1)};at.prototype.once=function(e,r,n){return CT(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 vh(this,s),this;var i=this._events[s];if(i.fn)i.fn===r&&(!o||i.once)&&(!n||i.context===n)&&vh(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:vh(this,s)}return this};at.prototype.removeAllListeners=function(e){var r;return e?(r=ht?ht+e:e,this._events[r]&&vh(this,r)):(this._events=new Eu,this._eventsCount=0),this};at.prototype.off=at.prototype.removeListener;at.prototype.addListener=at.prototype.on;at.prefixed=ht;at.EventEmitter=at;typeof ux<"u"&&(ux.exports=at)});var II=oe(V0=>{V0.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"+KF(String(r),3)+"M"+String(n);return t>0?"F"+o:"D"+CI(o)};V0.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?CI(t):t).slice(2).split("M");return+((e?"-":"")+r[1]+"e"+String(Number(r[0])-500))};function CI(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 KF(t,e){return" ".repeat(e-t.length).substr(0,e)+t}});var PI=oe(BI=>{var ZF={"?":"?@","!":"??",'"':"?%"};function JF(t){return/[!"]/.test(t)?t.replace(/[\?!"]/g,function(e){return ZF[e]}):t}var QF={"?@":"?","??":"!","?%":'"'};function XF(t){return/\?[%\?@]/.test(t)?t.replace(/\?[%\?@]/g,function(e){return QF[e]}):t}BI.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):JF(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(XF(m)));for(var g=c-h,b=g;b<c;b++)i[b+1]=[],c=g,a=i[c]}return i[0][0]}}});var UI=oe(qe=>{var YF=II(),ez=PI(),_re=qe.flip=function(t){var e=t.toString(),r="";for(var n in e)r+=e[n]=="."?".":9-+e[n];return r};qe.number=YF;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(!LI[t[0]])throw new Error("no decoder for:"+JSON.stringify(t));return LI[t[0]](t)};qe.object=ez.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 LI={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((sne,tB)=>{"use strict";function eB(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function pz(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 eB(t,r)}catch{r.message=t.message,r.stack=t.stack;let o=function(){};return o.prototype=Object.create(Object.getPrototypeOf(t)),eB(new o,r)}}tB.exports=pz});var vB=oe((Hne,kB)=>{"use strict";kB.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(Iz,0),c=~(4294967295<<s+1),u=xB(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(Bz),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(Pz)}};function Iz(t,e){return t+xB(e)}function xB(t){let e=t;return e=e-(e>>1&1431655765),e=(e&858993459)+(e>>2&858993459),(e+(e>>4)&252645135)*16843009>>24}function Bz(t,e){return t[0]-e[0]}function Pz(t){return t[1]}});var yj={};M(yj,{Database:()=>po,Index:()=>Np,connect:()=>om,fireproof:()=>nm,index:()=>Da});var yn=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=_e(Tk(),1);var hl=class extends yn{constructor(r,n){super();w(this,"uploadUrl");w(this,"downloadUrl");this.uploadUrl=new URL(r),this.downloadUrl=new URL(n)}async dataUpload(r,n){Vs(n);let o=new URL(`${this.uploadUrl.toString()}?${new URLSearchParams(n).toString()}`),s=await(0,yo.default)(o),{uploadURL:i}=await s.json();await(0,yo.default)(i,{method:"PUT",body:r})}async metaUpload(r,n){am(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");return await(0,yo.default)(i,{method:"PUT",body:r}),null}async dataDownload(r){Vs(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 new Uint8Array(await a.arrayBuffer())}async metaDownload(r){am(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 Kt={};M(Kt,{ArchiveSchema:()=>bE,Delegation:()=>Gt,View:()=>Gt,allows:()=>O3,archive:()=>wE,create:()=>hg,delegate:()=>wt,exportDAG:()=>dg,extract:()=>M3,importDAG:()=>fg,isDelegation:()=>Uo,isLink:()=>N3,view:()=>xd});var Ae={};M(Ae,{code:()=>Ct,decode:()=>Ge,encode:()=>rr,name:()=>Ja});var i8=["string","number","bigint","symbol"],a8=["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 Ck(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(i8.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(c8(t))return"Buffer";let r=u8(t);return r||"Object"}function c8(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function u8(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(a8.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 Gs=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",l8=new TextDecoder,d8=new TextEncoder;function pl(t){return Gs&&globalThis.Buffer.isBuffer(t)}function Oa(t){return t instanceof Uint8Array?pl(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var Lk=Gs?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):Bk(t,e,r):(t,e,r)=>r-e>64?l8.decode(t.subarray(e,r)):Bk(t,e,r),ml=Gs?t=>t.length>64?globalThis.Buffer.from(t):Ik(t):t=>t.length>64?d8.encode(t):Ik(t),gr=t=>Uint8Array.from(t),Ks=Gs?(t,e,r)=>pl(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),Uk=Gs?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),Oa(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},Rk=Gs?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function Nk(t,e){if(pl(t)&&pl(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 Ik(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 Bk(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 cm(n)}var Pk=4096;function cm(t){let e=t.length;if(e<=Pk)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=Pk));return r}var f8=256,$a=class{constructor(e=f8){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=Rk(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=Ks(n,0,this.cursor)}else r=Uk(this.chunks,this.cursor);return e&&this.reset(),r}};var z="CBOR decode error:",zr="CBOR encode error:",Ma=[];Ma[23]=1;Ma[24]=2;Ma[25]=3;Ma[26]=5;Ma[27]=9;function jr(t,e,r){if(t.length-e<r)throw new Error(`${z} not enough data for type`)}var Ze=[24,256,65536,4294967296,BigInt("18446744073709551616")];function _t(t,e,r){jr(t,e,1);let n=t[e];if(r.strict===!0&&n<Ze[0])throw new Error(`${z} integer encoded in more bytes than necessary (strict decode)`);return n}function At(t,e,r){jr(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<Ze[1])throw new Error(`${z} integer encoded in more bytes than necessary (strict decode)`);return n}function Dt(t,e,r){jr(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(`${z} integer encoded in more bytes than necessary (strict decode)`);return n}function Tt(t,e,r){jr(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(`${z} 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(`${z} integers outside of the safe integer range are not supported`)}function Ok(t,e,r,n){return new D(y.uint,_t(t,e+1,n),2)}function $k(t,e,r,n){return new D(y.uint,At(t,e+1,n),3)}function Mk(t,e,r,n){return new D(y.uint,Dt(t,e+1,n),5)}function Fk(t,e,r,n){return new D(y.uint,Tt(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(`${z} 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-_t(t,e+1,n),2)}function jk(t,e,r,n){return new D(y.negint,-1-At(t,e+1,n),3)}function Wk(t,e,r,n){return new D(y.negint,-1-Dt(t,e+1,n),5)}var um=BigInt(-1),Hk=BigInt(1);function qk(t,e,r,n){let o=Tt(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(`${z} integers outside of the safe integer range are not supported`);return new D(y.negint,um-BigInt(o),9)}function yl(t,e){let r=e.value,n=typeof r=="bigint"?r*um-Hk:r*-1-1;et(t,e.type.majorEncoded,n)}yl.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*um-Hk:r*-1-1;return n<Ze[0]?1:n<Ze[1]?2:n<Ze[2]?3:n<Ze[3]?5:9};yl.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function Fa(t,e,r,n){jr(t,e,r+n);let o=Ks(t,e+r,e+r+n);return new D(y.bytes,o,r+n)}function Vk(t,e,r,n){return Fa(t,e,1,r)}function Gk(t,e,r,n){return Fa(t,e,2,_t(t,e+1,n))}function Kk(t,e,r,n){return Fa(t,e,3,At(t,e+1,n))}function Zk(t,e,r,n){return Fa(t,e,5,Dt(t,e+1,n))}function Jk(t,e,r,n){let o=Tt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${z} 64-bit integer bytes lengths not supported`);return Fa(t,e,9,o)}function gl(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===y.string?ml(t.value):t.value),t.encodedBytes}function Zs(t,e){let r=gl(e);et(t,e.type.majorEncoded,r.length),t.push(r)}Zs.encodedSize=function(e){let r=gl(e);return et.encodedSize(r.length)+r.length};Zs.compareTokens=function(e,r){return p8(gl(e),gl(r))};function p8(t,e){return t.length<e.length?-1:t.length>e.length?1:Nk(t,e)}function za(t,e,r,n,o){let s=r+n;jr(t,e,s);let i=new D(y.string,Lk(t,e+r,e+s),s);return o.retainStringBytes===!0&&(i.byteValue=Ks(t,e+r,e+s)),i}function Qk(t,e,r,n){return za(t,e,1,r,n)}function Xk(t,e,r,n){return za(t,e,2,_t(t,e+1,n),n)}function Yk(t,e,r,n){return za(t,e,3,At(t,e+1,n),n)}function ev(t,e,r,n){return za(t,e,5,Dt(t,e+1,n),n)}function tv(t,e,r,n){let o=Tt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${z} 64-bit integer string lengths not supported`);return za(t,e,9,o,n)}var rv=Zs;function Js(t,e,r,n){return new D(y.array,n,r)}function nv(t,e,r,n){return Js(t,e,1,r)}function ov(t,e,r,n){return Js(t,e,2,_t(t,e+1,n))}function sv(t,e,r,n){return Js(t,e,3,At(t,e+1,n))}function iv(t,e,r,n){return Js(t,e,5,Dt(t,e+1,n))}function av(t,e,r,n){let o=Tt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${z} 64-bit integer array lengths not supported`);return Js(t,e,9,o)}function cv(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${z} indefinite length items not allowed`);return Js(t,e,1,1/0)}function wl(t,e){et(t,y.array.majorEncoded,e.value)}wl.compareTokens=Ft.compareTokens;wl.encodedSize=function(e){return et.encodedSize(e.value)};function Qs(t,e,r,n){return new D(y.map,n,r)}function uv(t,e,r,n){return Qs(t,e,1,r)}function lv(t,e,r,n){return Qs(t,e,2,_t(t,e+1,n))}function dv(t,e,r,n){return Qs(t,e,3,At(t,e+1,n))}function fv(t,e,r,n){return Qs(t,e,5,Dt(t,e+1,n))}function hv(t,e,r,n){let o=Tt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${z} 64-bit integer map lengths not supported`);return Qs(t,e,9,o)}function pv(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${z} indefinite length items not allowed`);return Qs(t,e,1,1/0)}function bl(t,e){et(t,y.map.majorEncoded,e.value)}bl.compareTokens=Ft.compareTokens;bl.encodedSize=function(e){return et.encodedSize(e.value)};function mv(t,e,r,n){return new D(y.tag,r,1)}function yv(t,e,r,n){return new D(y.tag,_t(t,e+1,n),2)}function gv(t,e,r,n){return new D(y.tag,At(t,e+1,n),3)}function wv(t,e,r,n){return new D(y.tag,Dt(t,e+1,n),5)}function bv(t,e,r,n){return new D(y.tag,Tt(t,e+1,n),9)}function xl(t,e){et(t,y.tag.majorEncoded,e.value)}xl.compareTokens=Ft.compareTokens;xl.encodedSize=function(e){return et.encodedSize(e.value)};var x8=20,k8=21,v8=22,S8=23;function xv(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${z} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new D(y.null,null,1):new D(y.undefined,void 0,1)}function kv(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${z} indefinite length items not allowed`);return new D(y.break,void 0,1)}function lm(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 D(y.float,t,e)}function vv(t,e,r,n){return lm(dm(t,e+1),3,n)}function Sv(t,e,r,n){return lm(fm(t,e+1),5,n)}function Ev(t,e,r,n){return lm(Tv(t,e+1),9,n)}function kl(t,e,r){let n=e.value;if(n===!1)t.push([y.float.majorEncoded|x8]);else if(n===!0)t.push([y.float.majorEncoded|k8]);else if(n===null)t.push([y.float.majorEncoded|v8]);else if(n===void 0)t.push([y.float.majorEncoded|S8]);else{let o,s=!1;(!r||r.float64!==!0)&&(Av(n),o=dm(er,1),n===o||Number.isNaN(n)?(er[0]=249,t.push(er.slice(0,3)),s=!0):(Dv(n),o=fm(er,1),n===o&&(er[0]=250,t.push(er.slice(0,5)),s=!0))),s||(E8(n),o=Tv(er,1),er[0]=251,t.push(er.slice(0,9)))}}kl.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){Av(n);let o=dm(er,1);if(n===o||Number.isNaN(n))return 3;if(Dv(n),o=fm(er,1),n===o)return 5}return 9};var _v=new ArrayBuffer(9),zt=new DataView(_v,1),er=new Uint8Array(_v,0);function Av(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 dm(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,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 Dv(t){zt.setFloat32(0,t,!1)}function fm(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 E8(t){zt.setFloat64(0,t,!1)}function Tv(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)}kl.compareTokens=Ft.compareTokens;function ye(t,e,r){throw new Error(`${z} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function vl(t){return()=>{throw new Error(`${z} ${t}`)}}var U=[];for(let t=0;t<=23;t++)U[t]=ye;U[24]=Ok;U[25]=$k;U[26]=Mk;U[27]=Fk;U[28]=ye;U[29]=ye;U[30]=ye;U[31]=ye;for(let t=32;t<=55;t++)U[t]=ye;U[56]=zk;U[57]=jk;U[58]=Wk;U[59]=qk;U[60]=ye;U[61]=ye;U[62]=ye;U[63]=ye;for(let t=64;t<=87;t++)U[t]=Vk;U[88]=Gk;U[89]=Kk;U[90]=Zk;U[91]=Jk;U[92]=ye;U[93]=ye;U[94]=ye;U[95]=vl("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)U[t]=Qk;U[120]=Xk;U[121]=Yk;U[122]=ev;U[123]=tv;U[124]=ye;U[125]=ye;U[126]=ye;U[127]=vl("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)U[t]=nv;U[152]=ov;U[153]=sv;U[154]=iv;U[155]=av;U[156]=ye;U[157]=ye;U[158]=ye;U[159]=cv;for(let t=160;t<=183;t++)U[t]=uv;U[184]=lv;U[185]=dv;U[186]=fv;U[187]=hv;U[188]=ye;U[189]=ye;U[190]=ye;U[191]=pv;for(let t=192;t<=215;t++)U[t]=mv;U[216]=yv;U[217]=gv;U[218]=wv;U[219]=bv;U[220]=ye;U[221]=ye;U[222]=ye;U[223]=ye;for(let t=224;t<=243;t++)U[t]=vl("simple values are not supported");U[244]=ye;U[245]=ye;U[246]=ye;U[247]=xv;U[248]=vl("simple values are not supported");U[249]=vv;U[250]=Sv;U[251]=Ev;U[252]=ye;U[253]=ye;U[254]=ye;U[255]=kv;var tr=[];for(let t=0;t<24;t++)tr[t]=new D(y.uint,t,1);for(let t=-1;t>=-24;t--)tr[31-t]=new D(y.negint,t,1);tr[64]=new D(y.bytes,new Uint8Array(0),1);tr[96]=new D(y.string,"",1);tr[128]=new D(y.array,0,1);tr[160]=new D(y.map,0,1);tr[244]=new D(y.false,!1,1);tr[245]=new D(y.true,!0,1);tr[246]=new D(y.null,null,1);function Cv(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 A8={float64:!1,mapSorter:C8,quickEncodeToken:Cv};function D8(){let t=[];return t[y.uint.major]=Ft,t[y.negint.major]=yl,t[y.bytes.major]=Zs,t[y.string.major]=rv,t[y.array.major]=wl,t[y.map.major]=bl,t[y.tag.major]=xl,t[y.float.major]=kl,t}var Iv=D8(),hm=new $a,El=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(`${zr} object contains circular references`);return new t(r,e)}},wn={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)},bn={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?wn.true:wn.false},null(t,e,r,n){return wn.null},undefined(t,e,r,n){return wn.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?[wn.emptyArray,new D(y.break)]:wn.emptyArray;n=El.createCheck(n,t);let o=[],s=0;for(let i of t)o[s++]=Sl(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?[wn.emptyMap,new D(y.break)]:wn.emptyMap;n=El.createCheck(n,t);let a=[],c=0;for(let u of s)a[c++]=[Sl(u,r,n),Sl(o?t.get(u):t[u],r,n)];return T8(a,r),r.addBreakTokens?[new D(y.map,i),a,new D(y.break)]:[new D(y.map,i),a]}};bn.Map=bn.Object;bn.Buffer=bn.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))bn[`${t}Array`]=bn.DataView;function Sl(t,e={},r){let n=Ck(t),o=e&&e.typeEncoders&&e.typeEncoders[n]||bn[n];if(typeof o=="function"){let i=o(t,n,e,r);if(i!=null)return i}let s=bn[n];if(!s)throw new Error(`${zr} unsupported type: ${n}`);return s(t,n,e,r)}function T8(t,e){e.mapSorter&&t.sort(e.mapSorter)}function C8(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=Iv[o].compareTokens(r,n);return s===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),s}function Bv(t,e,r,n){if(Array.isArray(e))for(let o of e)Bv(t,o,r,n);else r[e.type.major](t,e,n)}function pm(t,e,r){let n=Sl(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 $a(i);if(s(a,n,r),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return Oa(a.chunks[0])}}return hm.reset(),Bv(hm,n,e,r),hm.toBytes(!0)}function mm(t,e){return e=Object.assign({},A8,e),pm(t,Iv,e)}var I8={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},ym=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=tr[e];if(r===void 0){let n=U[e];if(!n)throw new Error(`${z} 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}},ja=Symbol.for("DONE"),_l=Symbol.for("BREAK");function B8(t,e,r){let n=[];for(let o=0;o<t.value;o++){let s=Wa(e,r);if(s===_l){if(t.value===1/0)break;throw new Error(`${z} got unexpected break to lengthed array`)}if(s===ja)throw new Error(`${z} found array but not enough entries (got ${o}, expected ${t.value})`);n[o]=s}return n}function P8(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=Wa(e,r);if(a===_l){if(t.value===1/0)break;throw new Error(`${z} got unexpected break to lengthed map`)}if(a===ja)throw new Error(`${z} found map but not enough entries (got ${i} [no key], expected ${t.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${z} non-string keys not supported (got ${typeof a})`);if(r.rejectDuplicateMapKeys===!0&&(n&&s.has(a)||!n&&a in o))throw new Error(`${z} found repeat map key "${a}"`);let c=Wa(e,r);if(c===ja)throw new Error(`${z} 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 Wa(t,e){if(t.done())return ja;let r=t.next();if(r.type===y.break)return _l;if(r.type.terminal)return r.value;if(r.type===y.array)return B8(r,t,e);if(r.type===y.map)return P8(r,t,e);if(r.type===y.tag){if(e.tags&&typeof e.tags[r.value]=="function"){let n=Wa(t,e);return e.tags[r.value](n)}throw new Error(`${z} tag not supported (${r.value})`)}throw new Error("unsupported")}function Ha(t,e){if(!(t instanceof Uint8Array))throw new Error(`${z} data to decode must be a Uint8Array`);e=Object.assign({},I8,e);let r=e.tokenizer||new ym(t,e),n=Wa(r,e);if(n===ja)throw new Error(`${z} did not find any content to decode`);if(n===_l)throw new Error(`${z} got unexpected break`);if(!r.done())throw new Error(`${z} too many terminals, data makes no sense`);return n}var U8=Uv,Pv=128,R8=127,N8=~R8,O8=Math.pow(2,31);function Uv(t,e,r){e=e||[],r=r||0;for(var n=r;t>=O8;)e[r++]=t&255|Pv,t/=128;for(;t&N8;)e[r++]=t&255|Pv,t>>>=7;return e[r]=t|0,Uv.bytes=r-n+1,e}var $8=gm,M8=128,Lv=127;function gm(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a)throw gm.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&Lv)<<o:(i&Lv)*Math.pow(2,o),o+=7}while(i>=M8);return gm.bytes=s-n,r}var F8=Math.pow(2,7),z8=Math.pow(2,14),j8=Math.pow(2,21),W8=Math.pow(2,28),H8=Math.pow(2,35),q8=Math.pow(2,42),V8=Math.pow(2,49),G8=Math.pow(2,56),K8=Math.pow(2,63),Z8=function(t){return t<F8?1:t<z8?2:t<j8?3:t<W8?4:t<H8?5:t<q8?6:t<V8?7:t<G8?8:t<K8?9:10},J8={encode:U8,decode:$8,encodingLength:Z8},Q8=J8,qa=Q8;var Va=(t,e=0)=>[qa.decode(t,e),qa.decode.bytes],Xs=(t,e,r=0)=>(qa.encode(t,e,r),e),Ys=t=>qa.encodingLength(t);var wo={};M(wo,{coerce:()=>jt,empty:()=>Rv,equals:()=>bm,fromHex:()=>Y8,fromString:()=>tP,isBinary:()=>eP,toHex:()=>X8,toString:()=>rP});var Rv=new Uint8Array(0),X8=t=>t.reduce((e,r)=>e+r.toString(16).padStart(2,"0"),""),Y8=t=>{let e=t.match(/../g);return e?new Uint8Array(e.map(r=>parseInt(r,16))):Rv},bm=(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")},eP=t=>t instanceof ArrayBuffer||ArrayBuffer.isView(t),tP=t=>new TextEncoder().encode(t),rP=t=>new TextDecoder().decode(t);var bo=(t,e)=>{let r=e.byteLength,n=Ys(t),o=n+Ys(r),s=new Uint8Array(o+r);return Xs(t,s,0),Xs(r,s,n),s.set(e,o),new ei(t,r,e,s)},Al=t=>{let e=jt(t),[r,n]=Va(e),[o,s]=Va(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new ei(r,o,i,e)},Nv=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&bm(t.bytes,r.bytes)}},ei=class{constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};function nP(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 oP=nP,sP=oP,Ov=sP;var xm=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")}},km=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 $v(this,e)}},vm=class{constructor(e){this.decoders=e}or(e){return $v(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`)}},$v=(t,e)=>new vm({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Sm=class{constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new xm(e,r,n),this.decoder=new km(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Mv=({name:t,prefix:e,encode:r,decode:n})=>new Sm(t,e,r,n),Em=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:o}=Ov(r,e);return Mv({prefix:t,name:e,encode:n,decode:s=>jt(o(s))})},iP=(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},aP=(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})=>Mv({prefix:e,name:t,encode(o){return aP(o,n,r)},decode(o){return iP(o,n,r,t)}});var Wr=Em({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),C7=Em({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ka=lt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),P7=lt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),L7=lt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),U7=lt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),R7=lt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),N7=lt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),O7=lt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),$7=lt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),M7=lt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Fv=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return uP(r,_m(t),e||Wr.encoder);default:return lP(r,_m(t),e||Ka.encoder)}};var zv=new WeakMap,_m=t=>{let e=zv.get(t);if(e==null){let r=new Map;return zv.set(t,r),r}return e},xe=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!==Za)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==dP)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&&Nv(e.multihash,n.multihash)}toString(e){return Fv(this,e)}toJSON(){return{"/":Fv(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[fP]===!0){let{version:n,multihash:o,code:s}=r,i=Al(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!==Za)throw new Error(`Version 0 CID must use dag-pb (code: ${Za}) 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,Za,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 ei(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]=Va(e.subarray(r));return r+=p,d},o=n(),s=Za;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]=cP(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 _m(s).set(n,e),s}},cP=(t,e)=>{switch(t[0]){case"Q":{let r=e||Wr;return[Wr.prefix,r.decode(`${Wr.prefix}${t}`)]}case Wr.prefix:{let r=e||Wr;return[Wr.prefix,r.decode(t)]}case Ka.prefix:{let r=e||Ka;return[Ka.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)]}}},uP=(t,e,r)=>{let{prefix:n}=r;if(n!==Wr.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},lP=(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},Za=112,dP=18,jv=(t,e,r)=>{let n=Ys(t),o=n+Ys(e),s=new Uint8Array(o+r.byteLength);return Xs(t,s,0),Xs(e,s,n),s.set(r,o),s},fP=Symbol.for("@ipld/js-cid/CID");var Wv=42;function hP(t){if(t.asCID!==t&&t["/"]!==t.bytes)return null;let e=xe.asCID(t);if(!e)return null;let r=new Uint8Array(e.bytes.byteLength+1);return r.set(e.bytes,1),[new D(y.tag,Wv),new D(y.bytes,r)]}function pP(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function mP(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 yP={float64:!0,typeEncoders:{Object:hP,undefined:pP,number:mP}};function gP(t){if(t[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");return xe.decode(t.subarray(1))}var Hv={allowIndefinite:!1,coerceUndefinedToNull:!0,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};Hv.tags[Wv]=gP;var Ja="dag-cbor",Ct=113,rr=t=>mm(t,yP),Ge=t=>Ha(t,Hv);var wP=new TextEncoder,bP=new TextDecoder,wr=t=>wP.encode(t),xn=t=>bP.decode(t);var Y={};M(Y,{decode:()=>ti,encodeTo:()=>xo,encodingLength:()=>ko});var xP=Gv,qv=128,kP=127,vP=~kP,SP=Math.pow(2,31);function Gv(t,e,r){e=e||[],r=r||0;for(var n=r;t>=SP;)e[r++]=t&255|qv,t/=128;for(;t&vP;)e[r++]=t&255|qv,t>>>=7;return e[r]=t|0,Gv.bytes=r-n+1,e}var EP=Am,_P=128,Vv=127;function Am(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a)throw Am.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&Vv)<<o:(i&Vv)*Math.pow(2,o),o+=7}while(i>=_P);return Am.bytes=s-n,r}var AP=Math.pow(2,7),DP=Math.pow(2,14),TP=Math.pow(2,21),CP=Math.pow(2,28),IP=Math.pow(2,35),BP=Math.pow(2,42),PP=Math.pow(2,49),LP=Math.pow(2,56),UP=Math.pow(2,63),RP=function(t){return t<AP?1:t<DP?2:t<TP?3:t<CP?4:t<IP?5:t<BP?6:t<PP?7:t<LP?8:t<UP?9:10},NP={encode:xP,decode:EP,encodingLength:RP},OP=NP,Xa=OP;var ti=(t,e=0)=>[Xa.decode(t,e),Xa.decode.bytes],xo=(t,e,r=0)=>(Xa.encode(t,e,r),e),ko=t=>Xa.encodingLength(t);var Z7=new Uint8Array(0);var Kv=(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},nr=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 Zv=t=>new TextEncoder().encode(t),Jv=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 ri(t,r,e,s)},kn=t=>{let e=nr(t),[r,n]=ti(e),[o,s]=ti(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new ri(r,o,i,e)},Qv=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Kv(t.bytes,r.bytes)}},ri=class{constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};var Pm={};M(Pm,{base58btc:()=>Le,base58flickr:()=>WP});function $P(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 MP=$P,FP=MP,Xv=FP;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 Yv(this,e)}},Im=class{constructor(e){this.decoders=e}or(e){return Yv(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`)}},Yv=(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)}},ni=({name:t,prefix:e,encode:r,decode:n})=>new Bm(t,e,r,n),vn=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:o}=Xv(r,e);return ni({prefix:t,name:e,encode:n,decode:s=>nr(o(s))})},zP=(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},jP=(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})=>ni({prefix:e,name:t,encode(o){return jP(o,n,r)},decode(o){return zP(o,n,r,t)}});var Le=vn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),WP=vn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Lm={};M(Lm,{base32:()=>Ve,base32hex:()=>GP,base32hexpad:()=>ZP,base32hexpadupper:()=>JP,base32hexupper:()=>KP,base32pad:()=>qP,base32padupper:()=>VP,base32upper:()=>HP,base32z:()=>QP});var Ve=Me({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),HP=Me({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),qP=Me({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),VP=Me({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),GP=Me({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),KP=Me({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ZP=Me({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),JP=Me({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),QP=Me({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Um=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return YP(r,Rm(t),e||Le.encoder);default:return eL(r,Rm(t),e||Ve.encoder)}};var e1=new WeakMap,Rm=t=>{let e=e1.get(t);if(e==null){let r=new Map;return e1.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!==Ya)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==tL)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&&Qv(e.multihash,n.multihash)}toString(e){return Um(this,e)}toJSON(){return{"/":Um(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||t1(n,o,s.bytes))}else if(r[rL]===!0){let{version:n,multihash:o,code:s}=r,i=kn(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=t1(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=nr(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 ri(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]=ti(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]=XP(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 Rm(s).set(n,e),s}},XP=(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)]}}},YP=(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},eL=(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,tL=18,t1=(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},rL=Symbol.for("@ipld/js-cid/CID");var nL=112;var oi=t=>se.create(0,nL,t),Fe=(t,e)=>se.create(1,t,e),ke=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 Nm={};M(Nm,{identity:()=>Eo});var r1=0,sL="identity",n1=nr,iL=t=>vo(r1,n1(t)),Eo={code:r1,name:sL,encode:n1,digest:iL};var yt={};M(yt,{BLS12381G1:()=>h1,BLS12381G2:()=>p1,DID_CORE:()=>Dl,ED25519:()=>a1,P256:()=>u1,P384:()=>l1,P521:()=>d1,RSA:()=>c1,SECP256K1:()=>f1,decode:()=>ec,encode:()=>zm,format:()=>_o,from:()=>Tl,parse:()=>Ue});var $m=({name:t,code:e,encode:r})=>new Om(t,e,r),Om=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 s1="did:",aL=s1.length,i1="did:key:",cL=i1.length,a1=237,c1=4613,u1=4608,l1=4609,d1=4610,f1=231,h1=234,p1=235,Dl=3357,Mm=Y.encodingLength(Dl),Ue=t=>{if(t.startsWith(s1))if(t.startsWith(i1)){let e=Le.decode(t.slice(cL));return ec(e)}else{let e=wr(t.slice(aL)),r=new Uint8Array(e.byteLength+Mm);return Y.encodeTo(Dl,r),r.set(e,Mm),new si(r)}else throw new RangeError(`Invalid DID "${t}", must start with 'did:'`)},_o=t=>t.did(),Tl=t=>t instanceof si?t:t instanceof Uint8Array?ec(t):Ue(typeof t=="string"?t:t.did()),ec=t=>{let[e]=Y.decode(t),{buffer:r,byteOffset:n,byteLength:o}=t;switch(e){case u1:if(t.length>35)throw new RangeError("Only p256-pub compressed is supported.");case a1:case c1:case l1:case d1:case h1:case p1:case f1:return new Fm(r,n,o);case Dl:return new si(r,n,o);default:throw new RangeError(`Unsupported DID encoding, unknown multicode 0x${e.toString(16)}.`)}},zm=t=>Ue(t.did()),si=class extends Uint8Array{did(){let e=new Uint8Array(this.buffer,this.byteOffset+Mm);return`did:${xn(e)}`}toJSON(){return this.did()}},Fm=class extends si{did(){return`did:key:${Le.encode(this)}`}};var ii={};M(ii,{code:()=>Ao,decode:()=>dL,encode:()=>lL,name:()=>uL});var uL="raw",Ao=85,lL=t=>nr(t),dL=t=>nr(t);var st={};M(st,{BLS12381G1:()=>Hm,BLS12381G2:()=>qm,EIP191:()=>Zm,ES256:()=>Vm,ES256K:()=>Wm,ES384:()=>Gm,ES512:()=>Km,EdDSA:()=>Do,NON_STANDARD:()=>ci,RS256:()=>tc,Signature:()=>ai,create:()=>ui,createNamed:()=>Jm,createNonStandard:()=>Qm,decode:()=>Sn,encode:()=>Xm,format:()=>mL,fromJSON:()=>gL,nameCode:()=>y1,parse:()=>yL,toJSON:()=>g1,view:()=>li});var jm={};M(jm,{base64:()=>Cl,base64pad:()=>Il,base64url:()=>gt,base64urlpad:()=>fL});var Cl=Me({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Il=Me({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),gt=Me({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),fL=Me({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ci=53248,Wm=53479,Hm=53482,qm=53483,Do=53485,Vm=13636096,Gm=13636097,Km=13636098,tc=13636101,Zm=53649,m1=t=>{switch(t){case Wm:return"ES256K";case Hm:return"BLS12381G1";case qm:return"BLS12381G2";case Do:return"EdDSA";case Vm:return"ES256";case Gm:return"ES384";case Km:return"ES512";case tc:return"RS256";case Zm:return"EIP191";default:throw new RangeError(`Unknown signature algorithm code 0x${t.toString(16)}`)}},y1=t=>{switch(t){case"ES256K":return Wm;case"BLS12381G1":return Hm;case"BLS12381G2":return qm;case"EdDSA":return Do;case"ES256":return Vm;case"ES384":return Gm;case"ES512":return Km;case"RS256":return tc;case"EIP191":return Zm;default:return ci}},ai=class extends Uint8Array{get code(){let[e]=Y.decode(this);return Object.defineProperties(this,{code:{value:e}}),e}get size(){let e=pL(this);return Object.defineProperties(this,{size:{value:e}}),e}get algorithm(){let e=hL(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 g1(this)}},hL=t=>{let{code:e,raw:r,buffer:n,byteOffset:o}=t;if(e===ci){let s=r.byteLength+Y.encodingLength(e)+Y.encodingLength(r.byteLength),i=new Uint8Array(n,o+s);return xn(i)}else return m1(e)},pL=t=>{let e=Y.encodingLength(t.code),[r]=Y.decode(new Uint8Array(t.buffer,t.byteOffset+e));return r},ui=(t,e)=>{let r=m1(t),n=Y.encodingLength(t),o=Y.encodingLength(e.byteLength),s=new ai(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},Jm=(t,e)=>{let r=y1(t);return r===ci?Qm(t,e):ui(r,e)},Qm=(t,e)=>{let r=ci,n=Y.encodingLength(r),o=Y.encodingLength(e.byteLength),s=wr(t),i=new ai(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},li=t=>new ai(t.buffer,t.byteOffset,t.byteLength),Sn=t=>{if(!(t instanceof Uint8Array))throw new TypeError(`Can only decode Uint8Array into a Signature, instead got ${JSON.stringify(t)}`);let e=li(t),{code:r,algorithm:n,raw:o}=e;return e},Xm=t=>Sn(t),mL=(t,e)=>(e||gt).encode(t),yL=(t,e)=>Sn((e||gt).decode(t)),g1=t=>({"/":{bytes:Cl.baseEncode(t)}}),gL=t=>Sn(Cl.baseDecode(t["/"].bytes));var rc=t=>v1(t,{readPrincipal:TL,readProof:_L}),k1=t=>v1(t,{readPrincipal:CL,readProof:AL}),v1=(t,{readPrincipal:e,readProof:r})=>({iss:e(t.iss,"iss"),aud:e(t.aud,"aud"),att:bL(t.att,"att"),prf:b1(t.prf,r,"prf")||[],exp:IL(t.exp===1/0?null:t.exp,w1,"exp"),nbf:x1(t.nbf,w1,"nbf"),fct:b1(t.fct,EL,"fct")||[],nnc:x1(t.nnc,nc,"nnc")}),S1=t=>{if(t instanceof Uint8Array)return Sn(t);throw new TypeError(`Can only decode Uint8Array into a Signature, instead got ${JSON.stringify(t)}`)},w1=(t,e)=>Number.isInteger(t)?t:Wt.throw(`Expected ${e} to be integer, instead got ${JSON.stringify(t)}`),wL=(t,e)=>_1(t,xL,e),bL=(t,e)=>E1(t,wL,e),xL=t=>({...t,can:kL(t.can),with:vL(t.with)}),kL=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`),vL=t=>typeof t!="string"?Wt.throw(`Capability has invalid 'with: ${JSON.stringify(t)}', value must be a string`):SL(t)||Wt.throw(`Capability has invalid 'with: "${t}"', value must be a valid URI string`),SL=t=>{try{return new URL(t),t}catch{return null}},E1=(t,e,r)=>Array.isArray(t)?t.map((n,o)=>e(n,`${r}[${o}]`)):Wt.throw(`${r} must be an array`),b1=(t,e,r)=>t===void 0?t:E1(t,e,r),_1=(t,e,r)=>t!=null&&typeof t=="object"?e(t):Wt.throw(`${r} must be of type object, instead got ${t}`),EL=(t,e)=>_1(t,Object,e),_L=(t,e)=>ke(t)?t:sc(`Expected ${e} to be IPLD link, instead got ${JSON.stringify(t)}`),AL=(t,e)=>DL(nc(t,e)),DL=t=>{try{return br(t)}catch{return Fe(Ao,Eo.digest(wr(t)))}},TL=(t,e)=>ec(BL(t,e)),CL=(t,e)=>Ue(nc(t,e)),x1=(t,e,r="Field")=>t!==void 0?e(t,r):void 0,IL=(t,e,r)=>t===null?null:e(t,r),nc=(t,e="Field")=>typeof t=="string"?t:sc(`${e} has invalid value ${t}`),BL=(t,e)=>t instanceof Uint8Array?t:sc(`Expected ${e} to be Uint8Array, instead got ${JSON.stringify(t)}`),oc=(t,e)=>/\d+\.\d+\.\d+/.test(t)?t:Wt.throw(`Invalid version '${e}: ${JSON.stringify(t)}'`),A1=(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)}},sc=t=>Wt.throw(t);var Ym=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(`${zr} unsupported type: Uint8Array`)}[y.string.major](e,r){this.prefix(e);let n=ml(JSON.stringify(r.value));e.push(n.length>32?Oa(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(`${zr} 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 LL(t,e){if(Array.isArray(t[0])||Array.isArray(e[0]))throw new Error(`${zr} 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(`${zr} non-string map keys are not supported`);if(r<n)return-1;if(r>n)return 1;throw new Error(`${zr} unexpected duplicate map keys, this is not supported`)}var UL={addBreakTokens:!0,mapSorter:LL};function ey(t,e){return e=Object.assign({},UL,e),pm(t,new Ym,e)}var di=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(`${z} 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(`${z} 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(`${z} unexpected token at position ${this.pos}`);if(!this.done()&&this.ch()===46){if(n)throw new Error(`${z} 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(`${z} 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(`${z} 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(`${z} 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(`${z} 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(`${z} 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(`${z} unexpected string escape character at position ${this.pos}`)}break;case 34:return this.pos++,new D(y.string,cm(r),this.pos-e);default:if(s<32)throw new Error(`${z} invalid control character at position ${this.pos}`);s<128?(r.push(s),this.pos++):o()}}throw new Error(`${z} 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(`${z} 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(`${z} 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(`${z} 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(`${z} 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(`${z} unexpected parse state at position ${this.pos}; this shouldn't happen`)}}};function ty(t,e){return e=Object.assign({tokenizer:new di(t,e)},e),Ha(t,e)}var To=({name:t,code:e,encode:r})=>new ry(t,e,r),ry=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 ny=lt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),M9=lt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),F9=lt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),z9=lt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function OL(t){if(t.asCID!==t&&t["/"]!==t.bytes)return null;let e=xe.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 Bl(t){let e=ny.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 or(t){return Bl(new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function $L(t){return Bl(new Uint8Array(t))}function ML(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function FL(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 zL={typeEncoders:{Object:OL,Buffer:Bl,Uint8Array:Bl,Int8Array:or,Uint16Array:or,Int16Array:or,Uint32Array:or,Int32Array:or,Float32Array:or,Float64Array:or,Uint8ClampedArray:or,BigInt64Array:or,BigUint64Array:or,DataView:or,ArrayBuffer:$L,undefined:ML,number:FL}},oy=class extends di{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=ny.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}},sy={allowIndefinite:!1,allowUndefined:!1,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};sy.tags[42]=xe.parse;var fi=t=>ey(t,zL),Pl=t=>{let e=Object.assign(sy,{tokenizer:new oy(t,sy)});return ty(t,e)},Ll=t=>jL.decode(fi(t));var jL=new TextDecoder,Ul=t=>Pl(WL.encode(t)),WL=new TextEncoder;var iy=t=>{let e=C1(t.v,t.s.algorithm),r=I1(t),n=HL(t.s);return`${e}.${r}.${n}`},T1=(t,e,r)=>`${C1(e,r)}.${I1(t)}`,C1=(t,e)=>gt.baseEncode(qL(t,e)),I1=t=>gt.baseEncode(VL(t)),HL=t=>gt.baseEncode(t.raw),qL=(t,e)=>fi({alg:e,ucv:t,typ:"JWT"}),VL=t=>fi({iss:_o(t.iss),aud:_o(t.aud),att:t.att,exp:t.exp,prf:t.prf.map(GL),...t.fct.length>0&&{fct:t.fct},...t.nnc&&{nnc:t.nnc},...t.nbf&&{nbf:t.nbf}}),GL=t=>t.toString();var KL=t=>JSON.parse(xn(fi(t))),hi=class{constructor(e){this.model=e}get version(){return this.model.v}get issuer(){return Tl(this.model.iss)}get audience(){return Tl(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,...KL({att:s,prf:i,...c.length>0&&{fct:c}}),...u!=null&&{nnc:u},...l&&{nbf:l}}}};var ay=Ct,B1=t=>new Rl(t),cy=t=>{let{fct:e,nnc:r,nbf:n,...o}=rc(t);return rr({...e.length>0&&{fct:e},...r!=null&&{nnc:r},...n&&{nbf:n},...o,v:oc(t.v,"v"),s:ZL(t.s,"s")})},ZL=(t,e)=>{try{return Xm(t)}catch(r){throw new Error(`Expected signature ${e}, instead got ${JSON.stringify(t)}`,{cause:r})}},P1=t=>{let e=Ge(t);return new Rl({...rc(e),v:oc(e.v,"v"),s:S1(e.s)})};var Rl=class extends hi{get code(){return ay}format(){return iy(this.model)}encode(){return cy(this.model)}};var uy=t=>{let e=t.split("."),[r,n,o]=e.length===3?e:sc(`Can't parse UCAN: ${t}: Expected JWT format: 3 dot-separated base64url-encoded values.`),{ucv:s,alg:i}=QL(r);return{...XL(n),v:s,s:Jm(i,gt.baseDecode(o))}},QL=t=>{let{ucv:e,alg:r,typ:n}=Pl(gt.baseDecode(t));return{typ:A1(n,"JWT","typ"),ucv:oc(e,"ucv"),alg:nc(r,"alg")}},XL=t=>{let e=Pl(gt.baseDecode(t));return k1(e)};var L1=t=>{let e=xn(t);return new ly({...uy(e),jwt:e})},dy=({jwt:t})=>wr(t),U1=({jwt:t})=>t,ly=class extends hi{constructor(e){super(e),this.model=e}get code(){return Ao}format(){return U1(this.model)}encode(){return dy(this.model)}};var fy={};M(fy,{sha256:()=>ue,sha512:()=>e6});var R1=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),ue=$m({name:"sha2-256",code:18,encode:R1("SHA-256")}),e6=$m({name:"sha2-512",code:19,encode:R1("SHA-512")});var t6="0.9.1";var r6=ue;var Nl=t=>{try{return P1(t)}catch{return L1(t)}};var Ol=async(t,{hasher:e=r6}={})=>{let[r,n]=t.jwt?[Ao,dy(t)]:[ay,cy(t)],o=await e.digest(n);return{bytes:n,cid:Fe(r,o),data:t}};var pi=async({issuer:t,audience:e,capabilities:r,lifetimeInSeconds:n=30,expiration:o=o6()+n,notBefore:s,facts:i=[],proofs:a=[],nonce:c})=>{let u=t6,l=rc({iss:Ue(t.did()),aud:Ue(e.did()),att:r,fct:i,exp:o,nbf:s,prf:a,nnc:c}),d=n6(l,u,t.signatureAlgorithm);return B1({...l,v:u,s:await t.sign(d)})},n6=(t,e,r)=>wr(T1(t,e,r));var o6=()=>Math.floor(Date.now()/1e3);var xr={};M(xr,{code:()=>Ct,contentType:()=>i6,decode:()=>Ge,encode:()=>Io,link:()=>N1,name:()=>Ja,write:()=>hy});var i6="application/vnd.ipld.dag-cbor",$l=(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(ke(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:$l(n,e));return r}if(typeof t.toJSON=="function"){e.add(t);let r=t.toJSON();return $l(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]=$l(o,e));return r}return t},Io=t=>rr($l(t,new Set)),N1=async(t,{hasher:e=ue}={})=>Fe(Ct,await e.digest(t)),hy=async(t,e)=>{let r=Io(t);return{cid:await N1(r,e),bytes:r}};var Bo=function*(t){t&&typeof t=="object"&&"iterateIPLDBlocks"in t&&typeof t.iterateIPLDBlocks=="function"&&(yield*t.iterateIPLDBlocks())},O1=(t=[])=>{let e=new Map;return Fl(t,e),e},a6=Eo.code,En=(t,e,r)=>{if(t.multihash.code===a6)return{cid:t,bytes:t.multihash.digest};let n=e.get(`${t}`);return n||(r===void 0?Hr(t):r)};var Hr=t=>{throw new Error(`Block for the ${t} is not found`)},Ml=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}},c6=({cid:t,bytes:e},r)=>(r.set(t.toString(),{bytes:e,cid:t}),{bytes:e,cid:t}),Fl=(t,e)=>{for(let r of t)c6(r,e)};var Re={};M(Re,{code:()=>tE,contentType:()=>r3,createWriter:()=>o3,decode:()=>dc,encode:()=>od,link:()=>rE,name:()=>n3,write:()=>s3});var _n={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=>!_n.Null(t)&&typeof t=="object"&&t.asCID===t,List:t=>Array.isArray(t),Map:t=>!_n.Null(t)&&typeof t=="object"&&t.asCID!==t&&!_n.List(t)&&!_n.Bytes(t)},yi={Int:_n.Int,"CarHeader > version":t=>yi.Int(t),"CarHeader > roots (anon) > valueType (anon)":_n.Link,"CarHeader > roots (anon)":t=>_n.List(t)&&Array.prototype.every.call(t,yi["CarHeader > roots (anon) > valueType (anon)"]),"CarHeader > roots":t=>yi["CarHeader > roots (anon)"](t),CarHeader:t=>{let e=t&&Object.keys(t);return _n.Map(t)&&["version"].every(r=>e.includes(r))&&Object.entries(t).every(([r,n])=>yi["CarHeader > "+r]&&yi["CarHeader > "+r](n))}},zl=yi.CarHeader;var An=_e(jl(),1),Dn={SHA2_256:18,LENGTH:32,DAG_PB:112},Wl=16+8+8+8;function kr(t,e){if(!t.length)throw new Error("Unexpected end of data");let r=An.default.decode(t);return e.seek(An.default.decode.bytes),r}function Hl(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 ql(t){An.default.decode(t);let e=An.default.decode.bytes,r=An.default.decode(t.subarray(An.default.decode.bytes)),n=An.default.decode.bytes;return e+n+r}function G1(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(!zl(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=Hl(t.exactly(Wl,!0));t.seek(i.dataOffset-t.pos);let a=G1(t,1);return Object.assign(a,i)}function v6(t){let e=t.exactly(2,!1);if(e[0]===Dn.SHA2_256&&e[1]===Dn.LENGTH){let i=t.exactly(34,!0),a=kn(i);return se.create(0,Dn.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(ql(t.upTo(8)),!0),s=kn(o);return se.create(r,n,s)}function S6(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=v6(t),o=r-Number(t.pos-e);return{cid:n,length:r,blockLength:o}}function K1(t){let e=E6(t),r=G1(e);if(r.version===2){let o=e.pos-r.dataOffset;e=_6(e,r.dataSize-o)}let n=[];for(;e.upTo(8).length>0;){let{cid:o,blockLength:s}=S6(e);n.push({cid:o,bytes:e.exactly(s,!0)})}return{header:r,blocks:n}}function E6(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 _6(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 qr=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}=K1(e);return new t(r,n)}};var uc=_e(jl(),1);var D6=["string","number","bigint","symbol"],T6=["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 Z1(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(D6.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(C6(t))return"Buffer";let r=I6(t);return r||"Object"}function C6(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function I6(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(T6.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 gi=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",B6=new TextDecoder,P6=new TextEncoder;function Vl(t){return gi&&globalThis.Buffer.isBuffer(t)}function Y1(t){return t instanceof Uint8Array?Vl(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var eS=gi?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):Q1(t,e,r):(t,e,r)=>r-e>64?B6.decode(t.subarray(e,r)):Q1(t,e,r),tS=gi?t=>t.length>64?globalThis.Buffer.from(t):J1(t):t=>t.length>64?P6.encode(t):J1(t),vr=t=>Uint8Array.from(t),wi=gi?(t,e,r)=>Vl(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),rS=gi?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),Y1(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},nS=gi?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function oS(t,e){if(Vl(t)&&Vl(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 J1(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 Q1(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 L6(n)}var X1=4096;function L6(t){let e=t.length;if(e<=X1)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=X1));return r}var U6=256,Gl=class{constructor(e=U6){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=nS(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=wi(n,0,this.cursor)}else r=rS(this.chunks,this.cursor);return e&&this.reset(),r}};var ge="CBOR decode error:",yy="CBOR encode error:",ic=[];ic[23]=1;ic[24]=2;ic[25]=3;ic[26]=5;ic[27]=9;function Vr(t,e,r){if(t.length-e<r)throw new Error(`${ge} not enough data for type`)}var Je=[24,256,65536,4294967296,BigInt("18446744073709551616")];function It(t,e,r){Vr(t,e,1);let n=t[e];if(r.strict===!0&&n<Je[0])throw new Error(`${ge} integer encoded in more bytes than necessary (strict decode)`);return n}function Bt(t,e,r){Vr(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<Je[1])throw new Error(`${ge} integer encoded in more bytes than necessary (strict decode)`);return n}function Pt(t,e,r){Vr(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(`${ge} integer encoded in more bytes than necessary (strict decode)`);return n}function Lt(t,e,r){Vr(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(`${ge} 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(`${ge} integers outside of the safe integer range are not supported`)}function sS(t,e,r,n){return new N(S.uint,It(t,e+1,n),2)}function iS(t,e,r,n){return new N(S.uint,Bt(t,e+1,n),3)}function aS(t,e,r,n){return new N(S.uint,Pt(t,e+1,n),5)}function cS(t,e,r,n){return new N(S.uint,Lt(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(`${ge} 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 uS(t,e,r,n){return new N(S.negint,-1-It(t,e+1,n),2)}function lS(t,e,r,n){return new N(S.negint,-1-Bt(t,e+1,n),3)}function dS(t,e,r,n){return new N(S.negint,-1-Pt(t,e+1,n),5)}var gy=BigInt(-1),fS=BigInt(1);function hS(t,e,r,n){let o=Lt(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(`${ge} integers outside of the safe integer range are not supported`);return new N(S.negint,gy-BigInt(o),9)}function Kl(t,e){let r=e.value,n=typeof r=="bigint"?r*gy-fS:r*-1-1;tt(t,e.type.majorEncoded,n)}Kl.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*gy-fS:r*-1-1;return n<Je[0]?1:n<Je[1]?2:n<Je[2]?3:n<Je[3]?5:9};Kl.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function ac(t,e,r,n){Vr(t,e,r+n);let o=wi(t,e+r,e+r+n);return new N(S.bytes,o,r+n)}function pS(t,e,r,n){return ac(t,e,1,r)}function mS(t,e,r,n){return ac(t,e,2,It(t,e+1,n))}function yS(t,e,r,n){return ac(t,e,3,Bt(t,e+1,n))}function gS(t,e,r,n){return ac(t,e,5,Pt(t,e+1,n))}function wS(t,e,r,n){let o=Lt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${ge} 64-bit integer bytes lengths not supported`);return ac(t,e,9,o)}function Zl(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===S.string?tS(t.value):t.value),t.encodedBytes}function bi(t,e){let r=Zl(e);tt(t,e.type.majorEncoded,r.length),t.push(r)}bi.encodedSize=function(e){let r=Zl(e);return tt.encodedSize(r.length)+r.length};bi.compareTokens=function(e,r){return N6(Zl(e),Zl(r))};function N6(t,e){return t.length<e.length?-1:t.length>e.length?1:oS(t,e)}function cc(t,e,r,n,o){let s=r+n;Vr(t,e,s);let i=new N(S.string,eS(t,e+r,e+s),s);return o.retainStringBytes===!0&&(i.byteValue=wi(t,e+r,e+s)),i}function bS(t,e,r,n){return cc(t,e,1,r,n)}function xS(t,e,r,n){return cc(t,e,2,It(t,e+1,n),n)}function kS(t,e,r,n){return cc(t,e,3,Bt(t,e+1,n),n)}function vS(t,e,r,n){return cc(t,e,5,Pt(t,e+1,n),n)}function SS(t,e,r,n){let o=Lt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${ge} 64-bit integer string lengths not supported`);return cc(t,e,9,o,n)}var ES=bi;function xi(t,e,r,n){return new N(S.array,n,r)}function _S(t,e,r,n){return xi(t,e,1,r)}function AS(t,e,r,n){return xi(t,e,2,It(t,e+1,n))}function DS(t,e,r,n){return xi(t,e,3,Bt(t,e+1,n))}function TS(t,e,r,n){return xi(t,e,5,Pt(t,e+1,n))}function CS(t,e,r,n){let o=Lt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${ge} 64-bit integer array lengths not supported`);return xi(t,e,9,o)}function IS(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${ge} indefinite length items not allowed`);return xi(t,e,1,1/0)}function Jl(t,e){tt(t,S.array.majorEncoded,e.value)}Jl.compareTokens=Ht.compareTokens;Jl.encodedSize=function(e){return tt.encodedSize(e.value)};function ki(t,e,r,n){return new N(S.map,n,r)}function BS(t,e,r,n){return ki(t,e,1,r)}function PS(t,e,r,n){return ki(t,e,2,It(t,e+1,n))}function LS(t,e,r,n){return ki(t,e,3,Bt(t,e+1,n))}function US(t,e,r,n){return ki(t,e,5,Pt(t,e+1,n))}function RS(t,e,r,n){let o=Lt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${ge} 64-bit integer map lengths not supported`);return ki(t,e,9,o)}function NS(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${ge} indefinite length items not allowed`);return ki(t,e,1,1/0)}function Ql(t,e){tt(t,S.map.majorEncoded,e.value)}Ql.compareTokens=Ht.compareTokens;Ql.encodedSize=function(e){return tt.encodedSize(e.value)};function OS(t,e,r,n){return new N(S.tag,r,1)}function $S(t,e,r,n){return new N(S.tag,It(t,e+1,n),2)}function MS(t,e,r,n){return new N(S.tag,Bt(t,e+1,n),3)}function FS(t,e,r,n){return new N(S.tag,Pt(t,e+1,n),5)}function zS(t,e,r,n){return new N(S.tag,Lt(t,e+1,n),9)}function Xl(t,e){tt(t,S.tag.majorEncoded,e.value)}Xl.compareTokens=Ht.compareTokens;Xl.encodedSize=function(e){return tt.encodedSize(e.value)};var j6=20,W6=21,H6=22,q6=23;function jS(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${ge} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new N(S.null,null,1):new N(S.undefined,void 0,1)}function WS(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${ge} indefinite length items not allowed`);return new N(S.break,void 0,1)}function wy(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${ge} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${ge} Infinity values are not supported`)}return new N(S.float,t,e)}function HS(t,e,r,n){return wy(by(t,e+1),3,n)}function qS(t,e,r,n){return wy(xy(t,e+1),5,n)}function VS(t,e,r,n){return wy(JS(t,e+1),9,n)}function Yl(t,e,r){let n=e.value;if(n===!1)t.push([S.float.majorEncoded|j6]);else if(n===!0)t.push([S.float.majorEncoded|W6]);else if(n===null)t.push([S.float.majorEncoded|H6]);else if(n===void 0)t.push([S.float.majorEncoded|q6]);else{let o,s=!1;(!r||r.float64!==!0)&&(KS(n),o=by(sr,1),n===o||Number.isNaN(n)?(sr[0]=249,t.push(sr.slice(0,3)),s=!0):(ZS(n),o=xy(sr,1),n===o&&(sr[0]=250,t.push(sr.slice(0,5)),s=!0))),s||(V6(n),o=JS(sr,1),sr[0]=251,t.push(sr.slice(0,9)))}}Yl.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){KS(n);let o=by(sr,1);if(n===o||Number.isNaN(n))return 3;if(ZS(n),o=xy(sr,1),n===o)return 5}return 9};var GS=new ArrayBuffer(9),qt=new DataView(GS,1),sr=new Uint8Array(GS,0);function KS(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 by(t,e){if(t.length-e<2)throw new Error(`${ge} 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 ZS(t){qt.setFloat32(0,t,!1)}function xy(t,e){if(t.length-e<4)throw new Error(`${ge} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function V6(t){qt.setFloat64(0,t,!1)}function JS(t,e){if(t.length-e<8)throw new Error(`${ge} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}Yl.compareTokens=Ht.compareTokens;function we(t,e,r){throw new Error(`${ge} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function ed(t){return()=>{throw new Error(`${ge} ${t}`)}}var R=[];for(let t=0;t<=23;t++)R[t]=we;R[24]=sS;R[25]=iS;R[26]=aS;R[27]=cS;R[28]=we;R[29]=we;R[30]=we;R[31]=we;for(let t=32;t<=55;t++)R[t]=we;R[56]=uS;R[57]=lS;R[58]=dS;R[59]=hS;R[60]=we;R[61]=we;R[62]=we;R[63]=we;for(let t=64;t<=87;t++)R[t]=pS;R[88]=mS;R[89]=yS;R[90]=gS;R[91]=wS;R[92]=we;R[93]=we;R[94]=we;R[95]=ed("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)R[t]=bS;R[120]=xS;R[121]=kS;R[122]=vS;R[123]=SS;R[124]=we;R[125]=we;R[126]=we;R[127]=ed("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)R[t]=_S;R[152]=AS;R[153]=DS;R[154]=TS;R[155]=CS;R[156]=we;R[157]=we;R[158]=we;R[159]=IS;for(let t=160;t<=183;t++)R[t]=BS;R[184]=PS;R[185]=LS;R[186]=US;R[187]=RS;R[188]=we;R[189]=we;R[190]=we;R[191]=NS;for(let t=192;t<=215;t++)R[t]=OS;R[216]=$S;R[217]=MS;R[218]=FS;R[219]=zS;R[220]=we;R[221]=we;R[222]=we;R[223]=we;for(let t=224;t<=243;t++)R[t]=ed("simple values are not supported");R[244]=we;R[245]=we;R[246]=we;R[247]=jS;R[248]=ed("simple values are not supported");R[249]=HS;R[250]=qS;R[251]=VS;R[252]=we;R[253]=we;R[254]=we;R[255]=WS;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 ky(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 vy(){let t=[];return t[S.uint.major]=Ht,t[S.negint.major]=Kl,t[S.bytes.major]=bi,t[S.string.major]=ES,t[S.array.major]=Jl,t[S.map.major]=Ql,t[S.tag.major]=Xl,t[S.float.major]=Yl,t}var AH=vy(),DH=new Gl,rd=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(`${yy} object contains circular references`);return new t(r,e)}},Tn={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)},Cn={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?Tn.true:Tn.false},null(t,e,r,n){return Tn.null},undefined(t,e,r,n){return Tn.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?[Tn.emptyArray,new N(S.break)]:Tn.emptyArray;n=rd.createCheck(n,t);let o=[],s=0;for(let i of t)o[s++]=td(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?[Tn.emptyMap,new N(S.break)]:Tn.emptyMap;n=rd.createCheck(n,t);let a=[],c=0;for(let u of s)a[c++]=[td(u,r,n),td(o?t.get(u):t[u],r,n)];return K6(a,r),r.addBreakTokens?[new N(S.map,i),a,new N(S.break)]:[new N(S.map,i),a]}};Cn.Map=Cn.Object;Cn.Buffer=Cn.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Cn[`${t}Array`]=Cn.DataView;function td(t,e={},r){let n=Z1(t),o=e&&e.typeEncoders&&e.typeEncoders[n]||Cn[n];if(typeof o=="function"){let i=o(t,n,e,r);if(i!=null)return i}let s=Cn[n];if(!s)throw new Error(`${yy} unsupported type: ${n}`);return s(t,n,e,r)}function K6(t,e){e.mapSorter&&t.sort(e.mapSorter)}var PH=Symbol.for("DONE"),LH=Symbol.for("BREAK");var Z6=vy(),J6={float64:!1,quickEncodeToken:ky};function Sy(t,e=Z6,r=J6){if(Array.isArray(t)){let n=0;for(let o of t)n+=Sy(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 _y=class{constructor(e,r){this.bytes=e,this.byteOffset=r,this.roots=[],this.headerSize=r}addRoot(e,r){return Q6(this,e,r),this}write(e){return X6(this,e),this}close(e){return Y6(this,e)}},Q6=(t,e,r={})=>{let{resize:n=!1}=r,{bytes:o,headerSize:s,byteOffset:i,roots:a}=t;t.roots.push(e);let c=In(t);if(c>s)if(c-s+i<o.byteLength)if(n)XS(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 uc.default.encodingLength(r)+r},X6=(t,{cid:e,bytes:r})=>{let n=e.bytes.byteLength+r.byteLength,o=uc.default.encode(n);if(t.byteOffset+o.length+n>t.bytes.byteLength)throw new RangeError("Buffer has no capacity for this block");Ey(t,o),Ey(t,e.bytes),Ey(t,r)},Y6=(t,e={})=>{let{resize:r=!1}=e,{roots:n,bytes:o,byteOffset:s,headerSize:i}=t,a=rr({version:1,roots:n}),c=uc.default.encode(a.length),u=c.length+a.byteLength;if(i-u===0)return QS(t,c,a),o.subarray(0,s);if(r)return XS(t,u),QS(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`)},XS=(t,e)=>{let{bytes:r,headerSize:n}=t;r.set(r.subarray(n,t.byteOffset),e),t.byteOffset+=e-n,t.headerSize=e},Ey=(t,e)=>{t.bytes.set(e,t.byteOffset),t.byteOffset+=e.length},QS=({bytes:t},e,r)=>{t.set(e),t.set(r,e.length)},e3=[new N(S.map,2),new N(S.string,"version"),new N(S.uint,1),new N(S.string,"roots")],t3=new N(S.tag,42),YS=t=>{let e=[...e3];e.push(new N(S.array,t.length));for(let n of t)e.push(t3),e.push(new N(S.bytes,{length:n+1}));let r=Sy(e);return uc.default.encodingLength(r)+r},In=({roots:t})=>YS(t.map(e=>e.bytes.byteLength)),eE=(t,e=36)=>YS(new Array(t).fill(e)),Bn=(t,e={})=>{let{roots:r=[],byteOffset:n=0,byteLength:o=t.byteLength,headerSize:s=In({roots:r})}=e,i=new Uint8Array(t,n,o),a=new _y(i,s);for(let c of r)a.addRoot(c);return a};var r3="application/vnd.ipld.car",n3="CAR",tE=514,nd=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+=In({roots:r});let n=new ArrayBuffer(this.byteLength),o=Bn(n,{roots:r});for(let s of this.blocks)o.write(s);return o.close()}},o3=()=>new nd,od=({roots:t=[],blocks:e})=>{let r=new nd;return e&&r.write(...e.values()),r.flush(...t)},dc=t=>{let e=qr.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}},rE=async(t,{hasher:e=ue}={})=>Fe(tE,await e.digest(t)),s3=async(t,e)=>{let r=od(t),n=await rE(r,e);return{bytes:r,cid:n}};var x={};M(x,{API:()=>le,Bytes:()=>fE,DID:()=>ee,Link:()=>he,Text:()=>ug,URI:()=>V,and:()=>uE,array:()=>iE,boolean:()=>f3,bytes:()=>S3,dictionary:()=>ng,did:()=>gd,endsWith:()=>pE,enum:()=>u3,error:()=>Ee,float:()=>k3,greaterThan:()=>dE,integer:()=>y3,intersection:()=>cE,lessThan:()=>lE,link:()=>Zr,literal:()=>cd,memberError:()=>Lo,never:()=>i3,nullable:()=>sE,number:()=>h3,ok:()=>C,optional:()=>ld,or:()=>aE,refine:()=>mE,startsWith:()=>hE,string:()=>Kr,struct:()=>Ne,text:()=>wd,toString:()=>fc,tuple:()=>c3,typeError:()=>rt,uint64:()=>w3,unknown:()=>a3,uri:()=>ig,variant:()=>hc});var V={};M(V,{from:()=>D3,match:()=>ig,read:()=>A3,uri:()=>_3});var C=t=>{if(t==null)throw new TypeError(`ok(${t}) is not allowed, consider ok({}) instead`);return{ok:t}},sd=t=>{if(t==null)throw new TypeError(`error(${t}) is not allowed, consider passing an error instead`);return{error:t}},nE=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 ld(this)}nullable(){return sE(this)}array(){return iE(this)}or(e){return aE(this,e)}and(e){return uE(this,e)}refine(e){return mE(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 Iy({reader:this,value:r})}},Ay=class extends le{toString(){return"never()"}read(e){return rt({expect:"never",actual:e})}},i3=()=>new Ay,Dy=class extends le{read(e){return{ok:e}}toString(){return"unknown()"}},a3=()=>new Dy,Ty=class extends le{readWith(e,r){let n=r.read(e);return n.error?e===null?{ok:null}:{error:new ud({causes:[n.error,rt({expect:"null",actual:e}).error]})}:n}toString(){return`${this.settings}.nullable()`}},sE=t=>new Ty(t),Cy=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()`}},Iy=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}},ld=t=>new Cy(t),By=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})`}},iE=t=>new By(t),Py=class extends le{readWith(e,r){if(!Array.isArray(e))return rt({expect:"array",actual:e});if(e.length!==this.shape.length)return Ee(`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(", ")}])`}},c3=t=>new Py(t),Ly=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:ld(r)})}toString(){return`dictionary(${this.settings})`}},ng=({value:t,key:e})=>new Ly({value:t,key:e||Kr()}),Uy=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}},u3=t=>new Uy({type:t.join("|"),variants:new Set(t)});var Ry=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 ud({causes:n})}}get variants(){return this.settings}toString(){return`union([${this.variants.map(e=>e.toString()).join(", ")}])`}},l3=t=>new Ry(t),aE=(t,e)=>l3([t,e]),Ny=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 rg({causes:n})}:{ok:e}}toString(){return`intersection([${this.settings.map(e=>e.toString()).join(",")}])`}},cE=t=>new Ny(t),uE=(t,e)=>cE([t,e]),Oy=class extends le{readWith(e){switch(e){case!0:case!1:return{ok:e};default:return rt({expect:"boolean",actual:e})}}toString(){return"boolean()"}},d3=new Oy,f3=()=>d3,id=class extends le{greaterThan(e){return this.refine(dE(e))}lessThan(e){return this.refine(lE(e))}refine(e){return new My({base:this,schema:e})}},$y=class extends id{readWith(e){return typeof e=="number"?{ok:e}:rt({expect:"number",actual:e})}toString(){return"number()"}},og=new $y,h3=()=>og,My=class extends id{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})`}},Fy=class extends le{readWith(e,r){return e<r?{ok:e}:Ee(`Expected ${e} < ${r}`)}toString(){return`lessThan(${this.settings})`}},lE=t=>new Fy(t),zy=class extends le{readWith(e,r){return e>r?{ok:e}:Ee(`Expected ${e} > ${r}`)}toString(){return`greaterThan(${this.settings})`}},dE=t=>new zy(t),p3={read(t){return Number.isInteger(t)?{ok:t}:rt({expect:"integer",actual:t})},toString(){return"Integer"}},m3=og.refine(p3),y3=()=>m3,oE=2n**64n-1n,jy=class extends le{read(e){switch(typeof e){case"bigint":return e>oE?Ee(`Integer is too big for uint64, ${e} > ${oE}`):e<0?Ee(`Negative integer can not be represented as uint64, ${e} < 0`):{ok:e};case"number":return Number.isInteger(e)?e<0?Ee(`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"}},g3=new jy,w3=()=>g3,b3={read(t){return Number.isFinite(t)?{ok:t}:rt({expect:"Float",actual:t})},toString(){return"Float"}},x3=og.refine(b3),k3=()=>x3,ad=class extends le{refine(e){let r=e;return new Wy({base:this,schema:r})}startsWith(e){return this.refine(hE(e))}endsWith(e){return this.refine(pE(e))}toString(){return"string()"}},Wy=class extends ad{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})`}},Hy=class extends ad{readWith(e){return typeof e=="string"?{ok:e}:rt({expect:"string",actual:e})}},v3=new Hy,Kr=()=>v3,qy=class extends le{readWith(e){return e instanceof Uint8Array?{ok:e}:rt({expect:"Uint8Array",actual:e})}},fE=new qy,S3=()=>fE,Vy=class extends le{readWith(e,r){return e.startsWith(r)?{ok:e}:Ee(`Expect string to start with "${r}" instead got "${e}"`)}get prefix(){return this.settings}toString(){return`startsWith("${this.prefix}")`}},hE=t=>new Vy(t),Gy=class extends le{readWith(e,r){return e.endsWith(r)?{ok:e}:Ee(`Expect string to end with "${r}" instead got "${e}"`)}get suffix(){return this.settings}toString(){return`endsWith("${this.suffix}")`}},pE=t=>new Gy(t),Ky=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})`}},mE=(t,e)=>new Ky({base:t,schema:e}),Zy=class extends le{readWith(e,r){return e!==r?{error:new Yy({expect:r,actual:e})}:{ok:r}}get value(){return this.settings}default(e=this.value){return super.default(e)}toString(){return`literal(${fc(this.value)})`}},cd=t=>new Zy(t),Jy=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,ld(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]=cd(o);break;case"object":e[n]=o===null?cd(null):o;break;default:throw new Error(`Invalid struct field "${n}", expected schema or literal, instead got ${typeof o}`)}return new Jy(e)},Qy=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 Ee(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)}},hc=t=>new Qy(t),Ee=t=>({error:new Gr(t)}),Gr=class extends Vt{get name(){return"SchemaError"}describe(){return this.name}},Xy=class extends Gr{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 ${fc(this.actual)}`}},rt=t=>({error:new Xy(t)}),fc=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}},Yy=class extends Gr{constructor({expect:e,actual:r}){super(),this.expect=e,this.actual=r}get name(){return"LiteralError"}describe(){return`Expected literal ${fc(this.expect)} instead got ${fc(this.actual)}`}},eg=class extends Gr{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}:`,dd(this.cause.message)].join(`
|
5
|
-
`)}},tg=class extends Gr{constructor({at:e,cause:r}){super(),this.at=e,this.cause=r}get name(){return"FieldError"}describe(){return[`Object contains invalid field "${this.at}":`,dd(this.cause.message)].join(`
|
6
|
-
`)}},Lo=({at:t,cause:e})=>typeof t=="string"?{error:new tg({at:t,cause:e})}:{error:new eg({at:t,cause:e})},ud=class extends Gr{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=>dd(r.message))].join(`
|
7
|
-
`)}},rg=class extends Gr{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=>dd(r.message))].join(`
|
8
|
-
`)}},E3=(t,e=" ")=>`${e}${t.split(`
|
9
|
-
`).join(`
|
10
|
-
${e}`)}`,dd=t=>E3(`- ${t}`);var hd=class extends le{readWith(e,{protocol:r}={}){if(typeof e!="string"&&!(e instanceof URL))return Ee(`Expected URI but got ${e===null?"null":typeof e}`);try{let n=new URL(String(e));return r!=null&&n.protocol!==r?Ee(`Expected ${r} URI instead got ${n.href}`):{ok:n.href}}catch{return Ee("Invalid URI")}}},sg=new hd({}),_3=()=>sg,A3=t=>sg.read(t),ig=t=>new hd(t),D3=t=>sg.from(t);var he={};M(he,{create:()=>Fe,createLegacy:()=>oi,isLink:()=>ke,link:()=>T3,match:()=>Zr,optional:()=>I3,parse:()=>br,read:()=>C3,schema:()=>md});var pd=class extends le{readWith(e,{code:r,multihash:n={},version:o}){if(e==null)return Ee(`Expected link but got ${e} instead`);if(ke(e)){if(r!=null&&e.code!==r)return Ee(`Expected link to be CID with 0x${r.toString(16)} codec`);if(n.code!=null&&e.multihash.code!==n.code)return Ee(`Expected link to be CID with 0x${n.code.toString(16)} hashing algorithm`);if(o!=null&&e.version!==o)return Ee(`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?Ee(`Expected link with "${s}" hash digest instead of "${i}"`):{ok:e}}else return Ee(`Expected link to be a CID instead of ${e}`)}},md=new pd({}),T3=()=>md,Zr=(t={})=>new pd(t),C3=t=>md.read(t),I3=()=>md.optional();var ee={};M(ee,{did:()=>B3,from:()=>L3,match:()=>gd,read:()=>P3});var yd=class extends le{readWith(e,r){let n=r?`did:${r}:`:"did:";return e.startsWith(n)?{ok:e}:Ee(`Expected a ${n} but got "${e}" instead`)}},yE=Kr().refine(new yd),B3=()=>yE,P3=t=>yE.read(t),gd=(t={})=>Kr().refine(new yd(t.method)),L3=t=>gd({}).from(t);var ug={};M(ug,{match:()=>wd,read:()=>R3,text:()=>U3});var ag=Kr(),wd=t=>t?ag.refine(new cg(t.pattern)):ag,U3=wd,R3=t=>ag.read(t),cg=class extends le{readWith(e,r){return r.test(e)?{ok:e}:Ee(`Expected to match ${r} but got "${e}" instead`)}};var N3=ke,Uo=t=>!ke(t),O3=(...t)=>{let e={};for(let r of t)for(let{with:n,can:o,nb:s}of gE(r)){let i=e[n]||(e[n]={});(i[o]||(i[o]=[])).push({...s})}return e},gE=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 gE(o)){let i=$3(s.can,n.can);i&&(yield{...s,can:i,nb:{...s.nb,...Object(n.nb)}})}}else yield n},$3=(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=z3(n);for(let s of o)e.add(`${s}`)}for(let n of r.facts)if(ke(n))e.add(`${n}`);else{let o=Object.values(n).filter(s=>ke(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=bd(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 dg(this.root,this.blocks,this.attachedLinks)}archive(){return wE(this)}iterateIPLDBlocks(){return dg(this.root,this.blocks,this.attachedLinks)}get proofs(){return F3(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 xE(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()})}}},wE=async t=>{try{let e=new Map;for(let o of t.iterateIPLDBlocks())e.set(`${o.cid}`,o);let r=await hy({[`ucan@${t.version}`]:t.root.cid});e.set(`${r.cid}`,r);let n=od({roots:[r],blocks:e});return C(n)}catch(e){return sd(e)}},bE=hc({"ucan@0.9.1":Zr({version:1})}),M3=async t=>{try{let{roots:e,blocks:r}=dc(t),[n]=e;if(n==null)return Ee("CAR archive does not contain a root block");let{bytes:o}=n,s=Ge(o),[,i]=bE.match(s);return C(xd({root:i,blocks:r}))}catch(e){return sd(e)}},xE=function*(t){for(let e of t.proofs)Uo(e)&&(yield*xE(e),yield e)},lg=new WeakMap,bd=({bytes:t})=>{let e=lg.get(t);if(!e){let r=Nl(t);return lg.set(t,r),r}return e},wt=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 pi({...o,issuer:t,audience:e,proofs:i}),{cid:u,bytes:l}=await Ol(c,s);lg.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},dg=function*(t,e,r){for(let n of bd(t).proofs){let o=e.get(`${n}`);o&&(yield*kE(o,e))}for(let n of r.values()){let o=e.get(n);o&&(yield o)}yield t},kE=function*(t,e){for(let r of bd(t).proofs){let n=e.get(`${r}`);n&&(yield*kE(n,e))}yield t},fg=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")},hg=({root:t,blocks:e})=>new Gt(t,e),xd=({root:t,blocks:e},r)=>{let n=En(t,e,null);return n==null?r!==void 0?r:Hr(t):hg({root:n,blocks:e})},F3=t=>{let e=[],{root:r,blocks:n}=t;for(let o of bd(r).proofs){let s=n.get(o.toString());e.push(s?hg({root:s,blocks:n}):o)}return Object.defineProperty(t,"proofs",{value:e}),e};function z3(t){let e=[];function r(n){for(let o in n){let s=n[o];ke(s)?e.push(s):s&&typeof s=="object"&&r(s)}}return r(t),e}var No={};M(No,{Invocation:()=>kd,create:()=>vE,invoke:()=>Ro,view:()=>mg});var Ro=t=>new pg(t),vE=({root:t,blocks:e})=>new kd(t,e),mg=({root:t,blocks:e},r)=>{let n=En(t,e,null);return n==null?r!==void 0?r:Hr(t):vE({root:n,blocks:e})},pg=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 wt(this)}buildIPLDView(){return wt(this)}async execute(e){let r=this,[n]=await e.execute(r);return n}},kd=class extends Gt{};var _r={};M(_r,{MessageSchema:()=>SE,build:()=>H3,view:()=>q3});var pc={};M(pc,{issue:()=>W3,view:()=>Sd});var Sd=({root:t,blocks:e},r)=>{let n=En(t,e,null);if(n==null)return r!==void 0?r:Hr(t);let o=Ge(n.bytes);return new vd({root:{...n,data:o},store:e})},vd=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=mg({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=xd({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=li(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}},yg=class{constructor({issuer:e,result:r,ran:n,fx:o=j3,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=O1();Fl(Bo(this.ran),n);for(let c of this.proofs)Fl(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 Ml({ocm:o,sig:s},n,{hasher:e,codec:r});return new vd({root:a,store:n,signature:s,proofs:this.proofs,ran:this.ran})}},j3=Object.freeze({fork:Object.freeze([])}),W3=t=>new yg(t).buildIPLDView();var SE=hc({"ucanto/message@7.0.0":Ne({execute:Zr().array().optional(),delegate:ng({key:Kr(),value:Zr()}).array().optional()})}),H3=({invocations:t,receipts:e})=>new gg({invocations:t,receipts:e}).buildIPLDView(),q3=({root:t,store:e},r)=>{let n=En(t,e,null);if(n===null)return r!==void 0?r:Hr(t);let o=xr.decode(n.bytes),[s,i]=SE.match(o,r);switch(s){case"ucanto/message@7.0.0":return new Ed({root:{...n,data:o},store:e});default:return i}},gg=class{constructor({invocations:e,receipts:r}){this.invocations=e,this.receipts=r}async buildIPLDView(e){let r=new Map,{invocations:n,...o}=await V3(this.invocations||[],r),{receipts:s,...i}=await G3(this.receipts||[],r),a=await Ml({"ucanto/message@7.0.0":{...o,...i}},r,e);return new Ed({root:a,store:r},{receipts:s,invocations:n})}},V3=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}:{}}},G3=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}},Ed=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?Sd({root:o,blocks:this.store}):r!==void 0?r:nE(`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=Sd({root:o,blocks:this.store});e.set(`${s.ran.link()}`,s)}}return e}};var Oo=t=>new bg(t),bg=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 Z3(e,this)}},Z3=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 pc.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 bq=Kt.delegate;var ir={};M(ir,{codec:()=>Re,contentType:()=>Ad,inbound:()=>sU,outbound:()=>Eg,request:()=>$o,response:()=>Mo});var $o={};M($o,{codec:()=>Re,contentType:()=>vi,decode:()=>Y3,encode:()=>X3});var vi=Re.contentType,Q3=Object.freeze({"content-type":vi,accept:vi}),X3=(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||Q3,body:n}},Y3=async({headers:t,body:e})=>{let{roots:r,blocks:n}=Re.decode(e);return _r.view({root:r[0].cid,store:n})};var Mo={};M(Mo,{codec:()=>Re,contentType:()=>mc,decode:()=>rU,encode:()=>tU});var mc=Re.contentType,eU=Object.freeze({"content-type":mc}),tU=(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:eU,body:n}},rU=async({headers:t,body:e})=>{let{roots:r,blocks:n}=Re.decode(e);return _r.view({root:r[0].cid,store:n})};var _d=t=>new xg(t),xg=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=oU(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:_E(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])=>({...vg(n),encoder:o})).sort((n,o)=>o.preference-n.preference),this.encoders.length===0)throw new Error("At least one encoder MUST be provided")}},EE=t=>new kg(t),kg=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])=>({...vg(n),encoder:o})).sort((n,o)=>o.preference-n.preference),this.acceptType=_E(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)}},vg=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}},nU=({category:t,type:e,preference:r})=>`${t}/${e}${r?`;q=${r}`:""}`,oU=t=>t.split(",").map(vg).sort((e,r)=>r.preference-e.preference),_E=t=>t.map(nU).join(", ");var Ad=Re.contentType,sU=_d({decoders:{[vi]:$o},encoders:{[mc]:Mo}}),Eg=EE({encoders:{[vi]:$o},decoders:{[mc]:Mo}});var Pn={};M(Pn,{open:()=>Dg});var Dg=({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 _g({url:t,method:e,fetch:r})},_g=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():Ag.throw("HTTP Request failed",n);return{headers:n.headers.entries?Object.fromEntries(n.headers.entries()):{},body:new Uint8Array(o)}}},Ag=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 _i={};M(_i,{PUB_KEY_OFFSET:()=>VE,code:()=>Ei,decode:()=>Wg,derive:()=>GE,encode:()=>ZE,format:()=>IU,from:()=>KE,generate:()=>CU,name:()=>DU,or:()=>jg,parse:()=>BU,signatureAlgorithm:()=>HE,signatureCode:()=>TU});var iU=_e(AE(),1);var Qe=BigInt(0),fe=BigInt(1),Rn=BigInt(2),aU=BigInt(8),DE=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),Ie=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:DE,n:DE,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var PE=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),yc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Dq=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),cU=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),uU=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),lU=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),dU=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,fe,A(e.x*e.y))}static toAffineBatch(e){let r=pU(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){CE(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(Rn*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){CE(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*Rn*u),h=A(s*Rn*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&&Pg.get(r);o||(o=this.precomputeWindow(n),r&&n!==1&&(o=t.normalizeZ(o),Pg.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+=fe);let m=f,b=f+Math.abs(h)-1,g=p%2!==0,k=h<0;h===0?i=i.add(TE(g,o[m])):s=s.add(TE(k,o[b]))}return t.normalizeZ([s,i])[0]}multiply(e,r){return this.wNAF(Td(e,Ie.l),r)}multiplyUnsafe(e){let r=Td(e,Ie.l,!1),n=t.BASE,o=t.ZERO;if(r===Qe)return o;if(this.equals(o)||r===fe)return this;if(this.equals(n))return this.wNAF(r);let s=o,i=this;for(;r>Qe;)r&fe&&(s=s.add(i)),i=i.double(),r>>=fe;return s}isSmallOrder(){return this.multiplyUnsafe(Ie.h).equals(t.ZERO)}isTorsionFree(){let e=this.multiplyUnsafe(Ie.l/Rn).double();return Ie.l%Rn&&(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?aU:Cd(o));let i=A(r*e),a=A(n*e),c=A(o*e);if(s)return je.ZERO;if(c!==fe)throw new Error("invZ was invalid");return new je(i,a)}fromRistrettoBytes(){Cg()}toRistrettoBytes(){Cg()}fromRistrettoHash(){Cg()}};Ke.BASE=new Ke(Ie.Gx,Ie.Gy,fe,A(Ie.Gx*Ie.Gy));Ke.ZERO=new Ke(Qe,fe,fe,Qe);function TE(t,e){let r=e.negate();return t?r:e}function CE(t){if(!(t instanceof Ke))throw new TypeError("ExtendedPoint expected")}function Tg(t){if(!(t instanceof Fo))throw new TypeError("RistrettoPoint expected")}function Cg(){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(yc*e*e),o=A((n+fe)*lU),s=BigInt(-1),i=A((s-r*n)*A(n+r)),{isValid:a,value:c}=Ug(o,i),u=A(c*e);Un(u)||(u=A(-u)),a||(c=u),a||(s=n);let l=A(s*(n-fe)*dU-i),d=c*c,p=A((c+c)*i),f=A(l*cU),h=A(fe-d),m=A(fe+d);return new Ke(A(p*m),A(h*f),A(f*m),A(p*h))}static hashToCurve(e){e=Nn(e,64);let r=Ig(e.slice(0,32)),n=this.calcElligatorRistrettoMap(r),o=Ig(e.slice(32,64)),s=this.calcElligatorRistrettoMap(o);return new t(n.add(s))}static fromHex(e){e=Nn(e,32);let{a:r,d:n}=Ie,o="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",s=Ig(e);if(!yU(wc(s),e)||Un(s))throw new Error(o);let i=A(s*s),a=A(fe+r*i),c=A(fe-r*i),u=A(a*a),l=A(c*c),d=A(r*n*u-l),{isValid:p,value:f}=BE(A(d*l)),h=A(f*c),m=A(f*h*d),b=A((s+s)*h);Un(b)&&(b=A(-b));let g=A(a*m),k=A(b*g);if(!p||Un(k)||g===Qe)throw new Error(o);return new t(new Ke(b,g,fe,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}=BE(A(s*a)),u=A(c*s),l=A(c*i),d=A(u*l*o),p;if(Un(o*d)){let h=A(r*yc),m=A(e*yc);e=h,r=m,p=A(u*uU)}else p=l;Un(e*d)&&(r=A(-r));let f=A((n-r)*p);return Un(f)&&(f=A(-f)),wc(f)}toHex(){return bc(this.toRawBytes())}toString(){return this.toHex()}equals(e){Tg(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 Tg(e),new t(this.ep.add(e.ep))}subtract(e){return Tg(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 Pg=new WeakMap,je=class t{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,Pg.delete(this)}static fromHex(e,r=!0){let{d:n,P:o}=Ie;e=Nn(e,32);let s=e.slice();s[31]=e[31]&-129;let i=xc(s);if(r&&i>=o)throw new Error("Expected 0 < hex < P");if(!r&&i>=PE)throw new Error("Expected 0 < hex < 2**256");let a=A(i*i),c=A(a-fe),u=A(n*a+fe),{isValid:l,value:d}=Ug(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let p=(d&fe)===fe;return(e[31]&128)!==0!==p&&(d=A(-d)),new t(d,i)}static async fromPrivateKey(e){return(await Id(e)).point}toRawBytes(){let e=wc(this.y);return e[31]|=this.x&fe?128:0,e}toHex(){return bc(this.toRawBytes())}toX25519(){let{y:e}=this,r=A((fe+e)*Cd(fe-e));return wc(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,fe);var gc=class t{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromHex(e){let r=Nn(e,64),n=je.fromHex(r.slice(0,32),!1),o=xc(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 Td(r,Ie.l,!1),this}toRawBytes(){let e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(wc(this.s),32),e}toHex(){return bc(this.toRawBytes())}};function IE(...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 fU=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function bc(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=fU[t[r]];return e}function Lg(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 LE(t){let r=t.toString(16).padStart(64,"0");return Lg(r)}function wc(t){return LE(t).reverse()}function Un(t){return(A(t)&fe)===fe}function xc(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+bc(Uint8Array.from(t).reverse()))}var hU=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Ig(t){return A(xc(t)&hU)}function A(t,e=Ie.P){let r=t%e;return r>=Qe?r:e+r}function Cd(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=fe,i=fe,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!==fe)throw new Error("invert: does not exist");return A(o,e)}function pU(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)),fe),o=Cd(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 mU(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,Rn)*c%e,l=Ar(u,fe)*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,Rn)*t%e,b2:c}}function Ug(t,e){let r=A(e*e*e),n=A(r*r*e),o=mU(t*n).pow_p_5_8,s=A(t*r*o),i=A(e*s*s),a=s,c=A(s*yc),u=i===t,l=i===A(-t),d=i===A(-t*yc);return u&&(s=a),(l||d)&&(s=c),Un(s)&&(s=A(-s)),{isValid:u||l,value:s}}function BE(t){return Ug(fe,t)}function Dd(t){return A(xc(t),Ie.l)}function yU(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 Nn(t,e){let r=t instanceof Uint8Array?Uint8Array.from(t):Lg(t);if(typeof e=="number"&&r.length!==e)throw new Error(`Expected ${e} bytes`);return r}function Td(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 gU(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function wU(t){if(t=typeof t=="bigint"||typeof t=="number"?LE(Td(t,PE)):Nn(t),t.length!==32)throw new Error("Expected 32 bytes");return t}function bU(t){let e=gU(t.slice(0,32)),r=t.slice(32,64),n=Dd(e),o=je.BASE.multiply(n),s=o.toRawBytes();return{head:e,prefix:r,scalar:n,point:o,pointBytes:s}}var Bg;async function Id(t){return bU(await On.sha512(wU(t)))}async function UE(t){return(await Id(t)).pointBytes}async function RE(t,e){t=Nn(t);let{prefix:r,scalar:n,pointBytes:o}=await Id(e),s=Dd(await On.sha512(r,t)),i=je.BASE.multiply(s),a=Dd(await On.sha512(i.toRawBytes(),o,t)),c=A(s+a*n,Ie.l);return new gc(i,c).toRawBytes()}function xU(t,e,r){e=Nn(e),r instanceof je||(r=je.fromHex(r,!1));let{r:n,s:o}=t instanceof gc?t.assertValidity():gc.fromHex(t),s=Ke.BASE.multiplyUnsafe(o);return{r:n,s:o,SB:s,pub:r,msg:e}}function kU(t,e,r,n){let o=Dd(n),s=Ke.fromAffine(t).multiplyUnsafe(o);return Ke.fromAffine(e).add(s).subtract(r).multiplyUnsafe(Ie.h).equals(Ke.ZERO)}async function NE(t,e,r){let{r:n,SB:o,msg:s,pub:i}=xU(t,e,r),a=await On.sha512(n.toRawBytes(),i.toRawBytes(),s);return kU(i,n,o,a)}je.BASE._setWindowSize(8);var Ln={node:iU,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},On={bytesToHex:bc,hexToBytes:Lg,concatBytes:IE,getExtendedPublicKey:Id,mod:A,invert:Cd,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:t=>{if(t=Nn(t),t.length<40||t.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return A(xc(t),Ie.l-fe)+fe},randomBytes:(t=32)=>{if(Ln.web)return Ln.web.getRandomValues(new Uint8Array(t));if(Ln.node){let{randomBytes:e}=Ln.node;return new Uint8Array(e(t).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>On.randomBytes(32),sha512:async(...t)=>{let e=IE(...t);if(Ln.web){let r=await Ln.web.subtle.digest("SHA-512",e.buffer);return new Uint8Array(r)}else{if(Ln.node)return Uint8Array.from(Ln.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(Rn),r},sha512Sync:void 0};Object.defineProperties(On,{sha512Sync:{configurable:!1,get(){return Bg},set(t){Bg||(Bg=t)}}});var zo={};M(zo,{code:()=>Dr,decode:()=>Ld,encode:()=>EU,format:()=>SU,name:()=>$g,or:()=>_U,parse:()=>zE,signatureAlgorithm:()=>Pd,signatureCode:()=>vc});var vU=(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}`)},Bd=(t,e)=>new Rg([t,e]),Rg=class t{constructor(e){this.variants=e}parse(e){return vU(e,this.variants)}or(e){return new t([...this.variants,e])}},kc=(t,e)=>new Ng(e,t),Ng=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 kc(this.key,e)}};var Dr=237,$g="Ed25519",vc=Do,Pd="EdDSA",FE=Y.encodingLength(Dr),ME=32+FE,zE=t=>Ld(Ue(t)),Ld=t=>{let[e]=Y.decode(t);if(e!==Dr)throw new RangeError(`Unsupported key algorithm with multicode 0x${Dr.toString(16)}`);if(t.byteLength!==ME)throw new RangeError(`Expected Uint8Array with byteLength ${ME}, instead got Uint8Array with byteLength ${t.byteLength}`);return new Og(t.buffer,t.byteOffset,t.byteLength)},SU=t=>_o(t),EU=t=>zm(t),Og=class extends Uint8Array{get code(){return Dr}get signatureCode(){return vc}get signatureAlgorithm(){return Pd}get publicKey(){let e=new Uint8Array(this.buffer,this.byteOffset+FE);return Object.defineProperties(this,{publicKey:{value:e}}),e}did(){return`did:key:${Le.encode(this)}`}verify(e,r){return r.code===vc&&NE(r.raw,e,this.publicKey)}withDID(e){return kc(this,e)}toDIDKey(){return this.did()}},_U=t=>Bd({parse:zE},t);var Ud=(t,e)=>new Mg([t,e]),Mg=class t{constructor(e){this.variants=e,this.from=AU(e)}or(e){return new t([e,...this.variants])}},AU=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")},Si=({signer:t,verifier:e},r)=>new Fg(t,e.withDID(r)),Fg=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 Si(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 Ei=4864,DU=$g,HE=Pd,TU=vc,jo=Y.encodingLength(Ei),qE=Y.encodingLength(Dr),Jr=32,zg=jo+Jr+qE+Jr,VE=jo+Jr,CU=()=>GE(On.randomPrivateKey()),GE=async t=>{if(t.byteLength!==Jr)throw new Error(`Expected Uint8Array with byteLength of ${Jr} instead not ${t.byteLength}`);let e=await UE(t),r=new Rd(zg);return Y.encodeTo(Ei,r,0),r.set(t,jo),Y.encodeTo(Dr,r,jo+Jr),r.set(e,jo+Jr+qE),r},KE=({id:t,keys:e})=>{if(t.startsWith("did:key:")){let r=e[t];if(r instanceof Uint8Array)return Wg(r)}throw new TypeError("Unsupported archive format")},jg=t=>Ud({from:KE},t),Wg=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!==Ei)throw new Error(`Given bytes must be a multiformat with ${Ei} tag`)}{let[e]=Y.decode(t.subarray(VE));if(e!==Dr)throw new Error(`Given bytes must contain public key in multiformats with ${Dr} tag`)}return new Rd(t)},ZE=t=>t.encode(),IU=(t,e)=>(e||Il).encode(ZE(t)),BU=(t,e)=>Wg((e||Il).decode(t)),Rd=class extends Uint8Array{get code(){return Ei}get signer(){return this}get verifier(){let e=new Uint8Array(this.buffer,jo+Jr),r=Ld(e);return Object.defineProperties(this,{verifier:{value:r}}),r}get secret(){let e=new Uint8Array(this.buffer,jo,Jr);return Object.defineProperties(this,{secret:{value:e}}),e}did(){return this.verifier.did()}toDIDKey(){return this.verifier.toDIDKey()}withDID(e){return Si(this,e)}async sign(e){let r=await RE(e,this.secret);return ui(this.signatureCode,r)}verify(e,r){return this.verifier.verify(e,r)}get signatureAlgorithm(){return HE}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 Sc(t=0){return globalThis.Buffer?.allocUnsafe!=null?Wo(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Hg(t,e){e==null&&(e=t.reduce((o,s)=>o+s.length,0));let r=Sc(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return Wo(r)}var qg={};M(qg,{identity:()=>LU});var LU=ni({prefix:"\0",name:"identity",encode:t=>Jv(t),decode:t=>Zv(t)});var Vg={};M(Vg,{base2:()=>UU});var UU=Me({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Gg={};M(Gg,{base8:()=>RU});var RU=Me({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Kg={};M(Kg,{base10:()=>NU});var NU=vn({prefix:"9",name:"base10",alphabet:"0123456789"});var Zg={};M(Zg,{base16:()=>OU,base16upper:()=>$U});var OU=Me({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),$U=Me({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Jg={};M(Jg,{base36:()=>MU,base36upper:()=>FU});var MU=vn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),FU=vn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Qg={};M(Qg,{base256emoji:()=>qU});var JE=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}"),zU=JE.reduce((t,e,r)=>(t[r]=e,t),[]),jU=JE.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function WU(t){return t.reduce((e,r)=>(e+=zU[r],e),"")}function HU(t){let e=[];for(let r of t){let n=jU[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var qU=ni({prefix:"\u{1F680}",name:"base256emoji",encode:WU,decode:HU});var Jq=new TextEncoder,Qq=new TextDecoder;var Xg={...qg,...Vg,...Gg,...Kg,...Zg,...Lm,...Jg,...Pm,...jm,...Qg},Yq={...fy,...Nm};function XE(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var QE=XE("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Yg=XE("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=Sc(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),GU={utf8:QE,"utf-8":QE,hex:Xg.base16,latin1:Yg,ascii:Yg,binary:Yg,...Xg},Nd=GU;function Qr(t,e="utf8"){let r=Nd[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 Ec(t,e="utf8"){let r=Nd[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 KU(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=eE(e.length),i=Bn(new ArrayBuffer(s+o),{roots:e});for(let a of n)i.write(a);return i.close()}function Od(t){if(!(t instanceof Uint8Array)||t.length===0)throw new TypeError("Input should be a non-empty Uint8Array.");let e=qr.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 e_(t,e="base64url"){let r=KU(t);return Ec(r,e)}function t_(t,e="base64url"){let r=Qr(t,e);return Od(r)}var be;(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})(be||(be={}));var $=be.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),$n=t=>{switch(typeof t){case"undefined":return $.undefined;case"string":return $.string;case"number":return isNaN(t)?$.nan:$.number;case"boolean":return $.boolean;case"function":return $.function;case"bigint":return $.bigint;case"symbol":return $.symbol;case"object":return Array.isArray(t)?$.array:t===null?$.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?$.promise:typeof Map<"u"&&t instanceof Map?$.map:typeof Set<"u"&&t instanceof Set?$.set:typeof Date<"u"&&t instanceof Date?$.date:$.object;default:return $.unknown}},B=be.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"]),ZU=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,be.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 _c=(t,e)=>{let r;switch(t.code){case B.invalid_type:t.received===$.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case B.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,be.jsonStringifyReplacer)}`;break;case B.unrecognized_keys:r=`Unrecognized key(s) in object: ${be.joinValues(t.keys,", ")}`;break;case B.invalid_union:r="Invalid input";break;case B.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${be.joinValues(t.options)}`;break;case B.invalid_enum_value:r=`Invalid enum value. Expected ${be.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}"`:be.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,be.assertNever(t)}return{message:r}},o_=_c;function JU(t){o_=t}function Md(){return o_}var Fd=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}},QU=[];function F(t,e){let r=Fd({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Md(),_c].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"}),s_=t=>({status:"dirty",value:t}),dt=t=>({status:"valid",value:t}),ew=t=>t.status==="aborted",tw=t=>t.status==="dirty",zd=t=>t.status==="valid",jd=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 Zt=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)}},r_=(t,e)=>{if(zd(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 $n(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:$n(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:$n(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(jd(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:$n(e)},s=this._parseSync({data:e,path:o.path,parent:o});return r_(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:$n(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(jd(o)?o:Promise.resolve(o));return r_(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 en.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Yr.create(this,this._def)}promise(){return zn.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 Gd({typeName:Q.ZodBranded,type:this,...re(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Bi({...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 Ac.create(this,e)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},XU=/^c[^\s-]{8,}$/i,YU=/^[a-z][a-z0-9]*$/,eR=/^([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,tR=/^(([^<>()[\]\\.,;:\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,})+))$/,rR=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,nR=/^(((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}))$/,oR=/^(([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})))$/,sR=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 iR(t,e){return!!((e==="v4"||!e)&&nR.test(t)||(e==="v6"||!e)&&oR.test(t))}var Mn=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)!==$.string){let s=this._getOrReturnCtx(e);return F(s,{code:B.invalid_type,expected:$.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),F(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),F(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?F(o,{code:B.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&F(o,{code:B.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")tR.test(e.data)||(o=this._getOrReturnCtx(e,o),F(o,{validation:"email",code:B.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")rR.test(e.data)||(o=this._getOrReturnCtx(e,o),F(o,{validation:"emoji",code:B.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")eR.test(e.data)||(o=this._getOrReturnCtx(e,o),F(o,{validation:"uuid",code:B.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")XU.test(e.data)||(o=this._getOrReturnCtx(e,o),F(o,{validation:"cuid",code:B.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")YU.test(e.data)||(o=this._getOrReturnCtx(e,o),F(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),F(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),F(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),F(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),F(o,{code:B.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?sR(s).test(e.data)||(o=this._getOrReturnCtx(e,o),F(o,{code:B.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="ip"?iR(e.data,s.version)||(o=this._getOrReturnCtx(e,o),F(o,{validation:"ip",code:B.invalid_string,message:s.message}),n.dirty()):be.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}};Mn.create=t=>{var e;return new Mn({checks:[],typeName:Q.ZodString,coerce:(e=t?.coerce)!==null&&e!==void 0?e:!1,...re(t)})};function aR(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)!==$.number){let s=this._getOrReturnCtx(e);return F(s,{code:B.invalid_type,expected:$.number,received:s.parsedType}),te}let n,o=new it;for(let s of this._def.checks)s.kind==="int"?be.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),F(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),F(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),F(n,{code:B.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?aR(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),F(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),F(n,{code:B.not_finite,message:s.message}),o.dirty()):be.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"&&be.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)!==$.bigint){let s=this._getOrReturnCtx(e);return F(s,{code:B.invalid_type,expected:$.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),F(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),F(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),F(n,{code:B.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):be.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)!==$.boolean){let n=this._getOrReturnCtx(e);return F(n,{code:B.invalid_type,expected:$.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)!==$.date){let s=this._getOrReturnCtx(e);return F(s,{code:B.invalid_type,expected:$.date,received:s.parsedType}),te}if(isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return F(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),F(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),F(o,{code:B.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):be.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 Di=class extends ne{_parse(e){if(this._getType(e)!==$.symbol){let n=this._getOrReturnCtx(e);return F(n,{code:B.invalid_type,expected:$.symbol,received:n.parsedType}),te}return dt(e.data)}};Di.create=t=>new Di({typeName:Q.ZodSymbol,...re(t)});var Ko=class extends ne{_parse(e){if(this._getType(e)!==$.undefined){let n=this._getOrReturnCtx(e);return F(n,{code:B.invalid_type,expected:$.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)!==$.null){let n=this._getOrReturnCtx(e);return F(n,{code:B.invalid_type,expected:$.null,received:n.parsedType}),te}return dt(e.data)}};Zo.create=t=>new Zo({typeName:Q.ZodNull,...re(t)});var Fn=class extends ne{constructor(){super(...arguments),this._any=!0}_parse(e){return dt(e.data)}};Fn.create=t=>new Fn({typeName:Q.ZodAny,...re(t)});var Xr=class extends ne{constructor(){super(...arguments),this._unknown=!0}_parse(e){return dt(e.data)}};Xr.create=t=>new Xr({typeName:Q.ZodUnknown,...re(t)});var cr=class extends ne{_parse(e){let r=this._getOrReturnCtx(e);return F(r,{code:B.invalid_type,expected:$.never,received:r.parsedType}),te}};cr.create=t=>new cr({typeName:Q.ZodNever,...re(t)});var Ti=class extends ne{_parse(e){if(this._getType(e)!==$.undefined){let n=this._getOrReturnCtx(e);return F(n,{code:B.invalid_type,expected:$.void,received:n.parsedType}),te}return dt(e.data)}};Ti.create=t=>new Ti({typeName:Q.ZodVoid,...re(t)});var Yr=class t extends ne{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==$.array)return F(r,{code:B.invalid_type,expected:$.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)&&(F(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&&(F(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&&(F(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 Zt(r,i,r.path,a)))).then(i=>it.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new Zt(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)}};Yr.create=(t,e)=>new Yr({type:t,minLength:null,maxLength:null,exactLength:null,typeName:Q.ZodArray,...re(e)});var Wd;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Wd||(Wd={}));function Ai(t){if(t instanceof bt){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=ar.create(Ai(n))}return new bt({...t._def,shape:()=>e})}else return t instanceof Yr?Yr.create(Ai(t.element)):t instanceof ar?ar.create(Ai(t.unwrap())):t instanceof en?en.create(Ai(t.unwrap())):t instanceof Tr?Tr.create(t.items.map(e=>Ai(e))):t}var bt=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=be.objectKeys(e);return this._cached={shape:e,keys:r}}_parse(e){if(this._getType(e)!==$.object){let u=this._getOrReturnCtx(e);return F(u,{code:B.invalid_type,expected:$.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 Zt(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&&(F(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 Zt(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:()=>Wd.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 be.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 be.objectKeys(this.shape).forEach(n=>{e[n]||(r[n]=this.shape[n])}),new t({...this._def,shape:()=>r})}deepPartial(){return Ai(this)}partial(e){let r={};return be.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 be.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 i_(be.objectKeys(this.shape))}};bt.create=(t,e)=>new bt({shape:()=>t,unknownKeys:"strip",catchall:cr.create(),typeName:Q.ZodObject,...re(e)});bt.strictCreate=(t,e)=>new bt({shape:()=>t,unknownKeys:"strict",catchall:cr.create(),typeName:Q.ZodObject,...re(e)});bt.lazycreate=(t,e)=>new bt({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 F(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 F(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 $d=t=>t instanceof Xo?$d(t.schema):t instanceof Rt?$d(t.innerType()):t instanceof Yo?[t.value]:t instanceof es?t.options:t instanceof ts?Object.keys(t.enum):t instanceof rs?$d(t._def.innerType):t instanceof Ko?[void 0]:t instanceof Zo?[null]:null,Hd=class t extends ne{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.object)return F(r,{code:B.invalid_type,expected:$.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}):(F(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=$d(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 rw(t,e){let r=$n(t),n=$n(e);if(t===e)return{valid:!0,data:t};if(r===$.object&&n===$.object){let o=be.objectKeys(e),s=be.objectKeys(t).filter(a=>o.indexOf(a)!==-1),i={...t,...e};for(let a of s){let c=rw(t[a],e[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===$.array&&n===$.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=rw(i,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===$.date&&n===$.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(ew(s)||ew(i))return te;let a=rw(s.value,i.value);return a.valid?((tw(s)||tw(i))&&r.dirty(),{status:r.value,value:a.data}):(F(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!==$.array)return F(n,{code:B.invalid_type,expected:$.array,received:n.parsedType}),te;if(n.data.length<this._def.items.length)return F(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&&(F(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 Zt(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 qd=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!==$.object)return F(n,{code:B.invalid_type,expected:$.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 Zt(n,a,n.path,a)),value:i._parse(new Zt(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:Mn.create(),valueType:e,typeName:Q.ZodRecord,...re(r)})}},Ci=class extends ne{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.map)return F(n,{code:B.invalid_type,expected:$.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 Zt(n,a,n.path,[u,"key"])),value:s._parse(new Zt(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}}}};Ci.create=(t,e,r)=>new Ci({valueType:e,keyType:t,typeName:Q.ZodMap,...re(r)});var Ii=class t extends ne{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.set)return F(n,{code:B.invalid_type,expected:$.set,received:n.parsedType}),te;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(F(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&&(F(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 Zt(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)}};Ii.create=(t,e)=>new Ii({valueType:t,minSize:null,maxSize:null,typeName:Q.ZodSet,...re(e)});var Vd=class t extends ne{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.function)return F(r,{code:B.invalid_type,expected:$.function,received:r.parsedType}),te;function n(a,c){return Fd({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Md(),_c].filter(u=>!!u),issueData:{code:B.invalid_arguments,argumentsError:c}})}function o(a,c){return Fd({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Md(),_c].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 zn?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(Xr.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(Xr.create()),returns:r||Xr.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 F(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 i_(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 F(r,{expected:be.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 F(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=i_;var ts=class extends ne{_parse(e){let r=be.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==$.string&&n.parsedType!==$.number){let o=be.objectValues(r);return F(n,{expected:be.joinValues(o),received:n.parsedType,code:B.invalid_type}),te}if(r.indexOf(e.data)===-1){let o=be.objectValues(r);return F(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 zn=class extends ne{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.promise&&r.common.async===!1)return F(r,{code:B.invalid_type,expected:$.promise,received:r.parsedType}),te;let n=r.parsedType===$.promise?r.data:Promise.resolve(r.data);return dt(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};zn.create=(t,e)=>new zn({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=>{F(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(!zd(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=>zd(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):i);be.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)===$.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 en=class extends ne{_parse(e){return this._getType(e)===$.null?dt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};en.create=(t,e)=>new en({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===$.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 Bi=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 jd(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}};Bi.create=(t,e)=>new Bi({innerType:t,typeName:Q.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...re(e)});var Pi=class extends ne{_parse(e){if(this._getType(e)!==$.nan){let n=this._getOrReturnCtx(e);return F(n,{code:B.invalid_type,expected:$.nan,received:n.parsedType}),te}return{status:"valid",value:e.data}}};Pi.create=t=>new Pi({typeName:Q.ZodNaN,...re(t)});var cR=Symbol("zod_brand"),Gd=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}},Ac=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(),s_(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})}},a_=(t,e={},r)=>t?Fn.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})}}):Fn.create(),uR={object:bt.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 lR=(t,e={message:`Input not instance of ${t.name}`})=>a_(r=>r instanceof t,e),c_=Mn.create,u_=Ho.create,dR=Pi.create,fR=qo.create,l_=Vo.create,hR=Go.create,pR=Di.create,mR=Ko.create,yR=Zo.create,gR=Fn.create,wR=Xr.create,bR=cr.create,xR=Ti.create,kR=Yr.create,vR=bt.create,SR=bt.strictCreate,ER=Jo.create,_R=Hd.create,AR=Qo.create,DR=Tr.create,TR=qd.create,CR=Ci.create,IR=Ii.create,BR=Vd.create,PR=Xo.create,LR=Yo.create,UR=es.create,RR=ts.create,NR=zn.create,n_=Rt.create,OR=ar.create,$R=en.create,MR=Rt.createWithPreprocess,FR=Ac.create,zR=()=>c_().optional(),jR=()=>u_().optional(),WR=()=>l_().optional(),HR={string:t=>Mn.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})},qR=te,Xe=Object.freeze({__proto__:null,defaultErrorMap:_c,setErrorMap:JU,getErrorMap:Md,makeIssue:Fd,EMPTY_PATH:QU,addIssueToContext:F,ParseStatus:it,INVALID:te,DIRTY:s_,OK:dt,isAborted:ew,isDirty:tw,isValid:zd,isAsync:jd,get util(){return be},ZodParsedType:$,getParsedType:$n,ZodType:ne,ZodString:Mn,ZodNumber:Ho,ZodBigInt:qo,ZodBoolean:Vo,ZodDate:Go,ZodSymbol:Di,ZodUndefined:Ko,ZodNull:Zo,ZodAny:Fn,ZodUnknown:Xr,ZodNever:cr,ZodVoid:Ti,ZodArray:Yr,get objectUtil(){return Wd},ZodObject:bt,ZodUnion:Jo,ZodDiscriminatedUnion:Hd,ZodIntersection:Qo,ZodTuple:Tr,ZodRecord:qd,ZodMap:Ci,ZodSet:Ii,ZodFunction:Vd,ZodLazy:Xo,ZodLiteral:Yo,ZodEnum:es,ZodNativeEnum:ts,ZodPromise:zn,ZodEffects:Rt,ZodTransformer:Rt,ZodOptional:ar,ZodNullable:en,ZodDefault:rs,ZodCatch:Bi,ZodNaN:Pi,BRAND:cR,ZodBranded:Gd,ZodPipeline:Ac,custom:a_,Schema:ne,ZodSchema:ne,late:uR,get ZodFirstPartyTypeKind(){return Q},coerce:HR,any:gR,array:kR,bigint:fR,boolean:l_,date:hR,discriminatedUnion:_R,effect:n_,enum:UR,function:BR,instanceof:lR,intersection:AR,lazy:PR,literal:LR,map:CR,nan:dR,nativeEnum:RR,never:bR,null:yR,nullable:$R,number:u_,object:vR,oboolean:WR,onumber:jR,optional:OR,ostring:zR,pipeline:FR,preprocess:MR,promise:NR,record:TR,set:IR,strictObject:SR,string:c_,symbol:pR,transformer:n_,tuple:DR,undefined:mR,union:ER,unknown:wR,void:xR,NEVER:qR,ZodIssueCode:B,quotelessJson:ZU,ZodError:Ut});var VR=Xe.enum(["awake/init","awake/res","awake/msg"]),f_=Xe.object({awv:Xe.literal("0.1.0"),type:VR}),h_=Xe.object({did:Xe.string().startsWith("did:",{message:"should be a DID `did:key:z...`"}),sig:Xe.string()}).strict(),p_=Xe.object({"awake/ack":Xe.string().startsWith("did:",{message:"should be a DID `did:key:z...`"})}).strict(),AV=f_.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(),d_=Xe.string().startsWith("did:",{message:"should be a DID `did:key:z...`"}),DV=f_.extend({type:Xe.literal("awake/res"),iss:d_,aud:d_,msg:Xe.string().min(1)}).strict();var Kd=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=m_(r.facts,"awake/challenge");if(this.nextdid=Ue(m_(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 pi({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}=h_.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=Qr(this.challenge,"base64"),n=zo.parse(this.audience.did()),o=Qr(this.channel.keypair.did+e),s=await ue.encode(o);if(!await n.verify(s,Sn(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=p_.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=t_(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:e_([r])})}async sendPinSignature(){if(!this.nextdid)throw new Error("No session is active.");let e=Qr(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:Ec(r,"base64")})}};function m_(t,e){for(let r of t)if(r[e])return r[e]}var Dc=t=>t,y_=t=>Object.entries(t),g_=([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},nw=(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 Tc=class extends Vt{constructor(e,r,n){super(),this.claimed=e,this.delegated=r,this.cause=n,this.name=Dc("EscalatedCapability")}describe(){return`Constraint violation: ${this.cause.message}`}},tn=class extends Vt{constructor(e,r){super(),this.name=Dc("InvalidClaim"),this.causes=e,this.context=r}describe(){return[`Can not derive ${this.context} from delegated capabilities:`,...this.causes.map(e=>ow(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 jn=class extends Vt{constructor(e,r){super(),this.name=Dc("MalformedCapability"),this.capability=e,this.cause=r}describe(){return[`Encountered malformed '${this.capability.can}' capability: ${w_(this.capability)}`,ow(this.cause.message)].join(`
|
12
|
-
`)}},Li=class extends Vt{constructor(e){super(),this.name=Dc("UnknownCapability"),this.capability=e}describe(){return`Encountered unknown capability: ${w_(this.capability)}`}};var w_=(t,e)=>JSON.stringify(t,(r,n)=>ke(n)?n.toString():n,e),KR=(t,e=" ")=>`${e}${t.split(`
|
13
|
-
`).join(`
|
14
|
-
${e}`)}`,ow=t=>KR(`- ${t}`);var T=({derives:t=s4,nb:e=ZR,...r})=>new sw({derives:t,nb:e,...r}),ZR=x.struct({}),JR=(t,e)=>new iw(t,e),QR=(...t)=>new aw(t),XR=({from:t,to:e,derives:r})=>new cw(t,e,r),Zd=class{match(e){return{error:new Li(e.capability)}}select(e){return o4(this,e)}derive({derives:e,to:r}){return XR({derives:e,to:r,from:this})}},Cc=class extends Zd{or(e){return JR(this,e)}and(e){return QR(this,e)}},sw=class extends Cc{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 b_({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 wt({capabilities:[b_({can:s,with:a.ok,nb:c.ok})],...n})}get can(){return this.descriptor.can}match(e){let r=r4(this.descriptor,e);return r.error?r:{ok:new uw(e,r.ok,this.descriptor)}}toString(){return JSON.stringify({can:this.descriptor.can})}},b_=({can:t,with:e,nb:r})=>({can:t,with:e,...YR(r)?{}:{nb:r}}),YR=t=>{for(let e in t)return!1;return!0},iw=class extends Cc{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()}`}},aw=class t extends Zd{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 Jd(r)}}select(e){return x_(this,e)}and(e){return new t([...this.selectors,e])}toString(){return`[${this.selectors.map(String).join(", ")}]`}},cw=class extends Cc{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 lw(r.ok,this.from,this.derives)}}toString(){return this.to.toString()}},uw=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=n4(this.descriptor,this.value,s);if(i.ok){let a=this.descriptor.derives(this.value,i.ok);a.error?n.push(new tn([new Tc(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 tn([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})}},lw=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 tn([new Tc(s,l.value,d.error)],this)):c.push(l)}return{unknown:nw(i.unknown,a.unknown),errors:[...u,...i.errors,...a.errors.map(l=>new tn([l],this))],matches:[...i.matches.map(l=>new t(l,o,r)),...c]}}toString(){return this.selected.toString()}},Jd=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 x_(this,e)}toString(){return`[${this.matches.map(e=>e.toString()).join(", ")}]`}},e4=(t,e,r)=>{switch(t){case e:case"*":return e;default:return t.endsWith("/*")&&e.startsWith(t.slice(0,-1))?e:r}},t4=(t,e,r)=>{switch(t){case e:case"ucan:*":return e;default:return r}},r4=(t,e)=>{let{delegation:r}=e,n=e.capability;if(t.can!==n.can)return{error:new Li(n)};let o=t.with.read(n.with);if(o.error)return{error:new jn(n,o.error)};let s=t.nb.read(n.nb||{});return s.error?{error:new jn(n,s.error)}:{ok:new Qd(t.can,o.ok,s.ok,r)}},n4=(t,e,{capability:r,delegation:n})=>{let o=e4(r.can,e.can,null);if(o==null)return{error:new Li(r)};let s=t4(r.with,e.with,r.with),i=t.with.read(s);if(i.error)return{error:new jn(r,i.error)};let a=t.nb.read({...e.nb,...r.nb});return a.error?{error:new jn(r,a.error)}:{ok:new Qd(o,i.ok,a.ok,n)}},Qd=class{constructor(e,r,n,o){this.can=e,this.with=r,this.delegation=o,this.nb=n}},o4=(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 tn([i.error],i.error.capability))}else n.push(i.ok)}return{matches:n,errors:o,unknown:r}},x_=(t,e)=>{let r,n=[],o=[];for(let i of t.selectors){let a=i.select(e);r=r?nw(r,a.unknown):a.unknown;for(let c of a.errors)o.push(new tn([c],t));n.push(a.matches)}let s=g_(n).map(i=>new Jd(i));return{unknown:r||[],errors:o,matches:s}},s4=(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=y_(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 Se(t,e,r){return e===void 0||e==="*"?C({}):String(t)===String(e)?C({}):ie(`Constrain violation: ${t} violates imposed ${r} constraint ${e}`)}var dw=(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)=>Se(String(t),e===void 0?void 0:String(e),r),q=t=>t.error?t:void 0;function k_(t){let[e,...r]=t.split("/");return{namespace:e,segments:r}}function v_(t,e){let r=k_(t),n=k_(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 S_=T({can:"store/*",with:V.match({protocol:"did:"}),derives:ce}),Ic=T({can:"store/add",with:V.match({protocol:"did:"}),nb:x.struct({link:he,size:x.integer(),origin:he.optional()}),derives:(t,e)=>{let r=dw(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({})}}),Bc=T({can:"store/remove",with:V.match({protocol:"did:"}),nb:x.struct({link:he}),derives:dw}),Pc=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({})}),oG=Ic.or(Bc).or(Pc);var __=T({can:"upload/*",with:V.match({protocol:"did:"}),derives:ce}),a4=he.match({code:Re.code,version:1}),Lc=T({can:"upload/add",with:V.match({protocol:"did:"}),nb:x.struct({root:he,shards:a4.array().optional()}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.root,e.nb.root,"root"))||q(Se(t.nb.shards,e.nb.shards,"shards"))||C({})}),Uc=T({can:"upload/remove",with:V.match({protocol:"did:"}),nb:x.struct({root:he}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.root,e.nb.root,"root"))||C({})}),Rc=T({can:"upload/list",with:V.match({protocol:"did:"}),nb:x.struct({cursor:x.string().optional(),size:x.integer().optional(),pre:x.boolean().optional()})}),cG=Lc.or(Uc).or(Rc);var os=T({can:"*",with:V.match({protocol:"did:"}),derives:ce});var fw=x.did({method:"key"}),D_=T({can:"space/*",with:fw,derives:ce}),Xd=Ic.or(Pc).or(Bc).or(Lc).or(Rc).or(Uc).derive({to:T({can:"space/info",with:fw}),derives:ce}),hG=T({can:"space/allocate",with:fw,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 Wn={};M(Wn,{Account:()=>hw,AuthorizationRequest:()=>I_,CapabilityRequest:()=>pw,access:()=>mw,authorize:()=>Nc,claim:()=>yw,confirm:()=>u4,delegate:()=>gw,session:()=>Oc,top:()=>os});var hw=ee.match({method:"mailto"}),pw=x.struct({can:x.string()}),I_=x.struct({iss:hw,att:pw.array()}),mw=T({can:"access/*",with:V.match({protocol:"did:"})}),Nc=T({can:"access/authorize",with:ee.match({method:"key"}),nb:I_,derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.iss,e.nb.iss,"iss"))||q(B_(t.nb.att,e.nb.att))||C({})}),u4=T({can:"access/confirm",with:ee,nb:x.struct({iss:hw,aud:x.did(),att:pw.array()}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.iss,e.nb.iss,"iss"))||q(Se(t.nb.aud,e.nb.aud,"aud"))||q(B_(t.nb.att,e.nb.att))||C({})}),Oc=T({can:"ucan/attest",with:V.match({protocol:"did:"}),nb:x.struct({proof:he})}),yw=T({can:"access/claim",with:ee.match({method:"key"}).or(ee.match({method:"mailto"}))}),gw=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(l4(t,e))||C({})});function l4(t,e){let r=P_(C_(t),new Set(C_(e)));return r.size>0?ie(`unauthorized nb.delegations ${[...r].join(", ")}`):C({})}var B_=(t,e)=>{let r=new Set(e.map(o=>o.can));if(r.has("*"))return C({});let n=P_(t.map(o=>o.can),r);return n.size>0?ie(`unauthorized nb.att.can ${[...n].join(", ")}`):C({})};function*C_(t){for(let e of Object.values(t.nb.delegations||{}))yield e.toString()}function P_(t,e){let r=new Set;for(let n of t)e.has(n)||r.add(n);return r}var Dw={};M(Dw,{Verifier:()=>qn,code:()=>$c,decode:()=>H_,from:()=>W_,generate:()=>Aw,name:()=>g4,or:()=>x4,signatureAlgorithm:()=>Ew,signatureCode:()=>Mc});var d4=globalThis||window||self,Hn=d4.crypto;var Yd=(t,e)=>{let r=Y.encodingLength(t),n=new Uint8Array(e.byteLength+r);return Y.encodeTo(t,n,0),n.set(e,r),n},ef=(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)},xG=Y.encodingLength,kG=Y.encodeTo,vG=Y.decode;var tf=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])},f4=(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}},L_=(t,e,r)=>{let n=Ui(t,e,r);return n.position+n.length},Ui=(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=f4(t,r+1);return{position:r+1+o.consumed,length:o.number}},U_=t=>{let e=tf(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},R_=t=>{let e=tf(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=tf(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},h4=(t,e=0)=>{let{position:r,length:n}=Ui(t,48,e);return new Uint8Array(t.buffer,t.byteOffset+r,n)},rf=t=>{let e=t.byteLength===0||t[0]&128?1:0,r=tf(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},nf=(t,e=0)=>Ui(t,48,e).position,of=(t,e=0)=>L_(t,48,e),N_=(t,e=0)=>L_(t,2,e),O_=(t,e=0)=>{let{position:r,length:n}=Ui(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}=Ui(t,2,e),o=0;for(;t[r+o]===0;)o++;return new Uint8Array(t.buffer,t.byteOffset+r+o,n-o)},$_=(t,e=0)=>{let{position:r,length:n}=Ui(t,4,e);return new Uint8Array(t.buffer,t.byteOffset+r,n)},ww=(t,e,r=0)=>{let n=[],o=h4(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 p4=new Uint8Array([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]),sf=t=>ss([p4,U_(t)]),bw=t=>{let e=nf(t,0),r=of(t,e);return O_(t,r)};var m4=new Uint8Array([2,1,0,48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]),kw=t=>{let e=0;return e=nf(t,e),e=N_(t,e),e=of(t,e),$_(t,e)},vw=t=>ss([m4,R_(t)]);var Sw=({n:t,e})=>ss([rf(t),rf(e)]);var LG=new Uint8Array,z_=(t,e=0)=>{let[r,n,o,s,i,a,c,u,l]=ww([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 g4="RSA",$c=4869,af=4613,Mc=tc,Ew="RS256",df="RSASSA-PKCS1-v1_5",_w="SHA-256",w4=2048,b4=128,j_={name:df,hash:{name:_w}},Aw=async({size:t=w4,extractable:e=!1}={})=>{let{publicKey:r,privateKey:n}=await Hn.subtle.generateKey({name:df,modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:_w}},e,["sign","verify"]),o=await Hn.subtle.exportKey("spki",r),s=Yd(af,bw(new Uint8Array(o))),i=new qn({bytes:s,publicKey:r});if(e){let a=await Hn.subtle.exportKey("pkcs8",n),c=Yd($c,kw(new Uint8Array(a)));return new uf({privateKey:n,bytes:c,verifier:i})}else return new lf({privateKey:n,verifier:i})},W_=({id:t,keys:e})=>{if(t.startsWith("did:key:")){let r=t,n=e[r];return n instanceof Uint8Array?H_(n):new lf({privateKey:n,verifier:qn.parse(r)})}else throw new TypeError(`RSA can not import from ${t} archive, try generic Signer instead`)},x4=t=>Ud({from:W_},t),H_=t=>{let e=z_(ef($c,t)),r=Yd(af,Sw(e));return new uf({bytes:t,privateKey:Hn.subtle.importKey("pkcs8",vw(ef($c,t)),j_,!0,["sign"]),verifier:qn.decode(r)})},qn=class t{constructor({publicKey:e,bytes:r}){this.publicKey=e,this.bytes=r}withDID(e){return kc(this,e)}toDIDKey(){return this.did()}static decode(e){return new this({bytes:e,publicKey:Hn.subtle.importKey("spki",sf(ef(af,e)),j_,!0,["verify"])})}static parse(e){return t.decode(Ue(e))}static or(e){return Bd(this,e)}get code(){return af}get signatureCode(){return Mc}get signatureAlgorithm(){return Ew}did(){return`did:key:${Le.encode(this.bytes)}`}async verify(e,r){return r.code!==Mc?!1:Hn.subtle.verify({name:df,hash:{name:_w}},await this.publicKey,r.raw,e)}};var cf=class{constructor({privateKey:e,verifier:r}){this.verifier=r,this.privateKey=e}get signer(){return this}get code(){return $c}get signatureCode(){return Mc}get signatureAlgorithm(){return Ew}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 Hn.subtle.sign({name:df,saltLength:b4},await this.privateKey,e);return ui(Mc,new Uint8Array(r))}},uf=class extends cf{constructor(e){super(e),this.bytes=e.bytes}withDID(e){return Si(this,e)}toArchive(){let e=this.did();return{id:e,keys:{[e]:this.bytes}}}},lf=class extends cf{constructor(e){super(e),this.privateKey=e.privateKey}withDID(e){return Si(this,e)}toArchive(){let e=this.did();return{id:e,keys:{[e]:this.privateKey}}}};var q_=zo.or(qn),V_=jg(Dw);function Ri(t){return t.expiration===void 0||t.expiration<=Math.floor(Date.now()/1e3)}function Tw(t){return t.notBefore?t.notBefore>Math.floor(Date.now()/1e3):!1}function G_(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&&Ri(t))throw new Error("Delegation expired.");if(o&&Tw(t))throw new Error("Delegation is not active yet (too early).")}function K_(t,e){let r=Kt.allows(t);if(r[e.with]){let n=Object.keys(r[e.with]);for(let o of n)if(v_(o,e.can))return!0}return!1}var ff={};M(ff,{AccountDID:()=>J_,Provider:()=>Z_,add:()=>Cw});var Z_=ee.match({method:"web"}),J_=ee.match({method:"mailto"}),Cw=T({can:"provider/add",with:J_,nb:Ne({provider:Z_,consumer:ee.match({method:"key"})}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.provider,e.nb.provider,"provider"))||q(Se(t.nb.consumer,e.nb.consumer,"consumer"))||C({})});var Q_=ee.match({method:"web"}),X_=ee.match({method:"key"}),Y_=T({can:"consumer/has",with:Q_,nb:Ne({consumer:X_}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.consumer,e.nb.consumer,"consumer"))||C({})}),e2=T({can:"consumer/get",with:Q_,nb:Ne({consumer:X_}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.consumer,e.nb.consumer,"consumer"))||C({})});var S4=ee.match({method:"web"}),E4=ee.match({method:"mailto"}),t2=T({can:"customer/get",with:S4,nb:Ne({customer:E4}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.customer,e.nb.customer,"customer"))||C({})});var JG=T({can:"console/log",with:x.did(),nb:x.struct({value:x.unknown()}),derives:ce}),QG=T({can:"console/error",with:x.did(),nb:x.struct({error:x.unknown()}),derives:ce});var Iw=ee,r2=T({can:"rate-limit/add",with:Iw,nb:Ne({subject:x.string(),rate:x.number()}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.subject,e.nb.subject,"subject"))||q(Se(t.nb.rate,e.nb.rate,"rate"))||C({})}),n2=T({can:"rate-limit/remove",with:Iw,nb:Ne({id:x.string()}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.id,e.nb.id,"id"))||C({})}),o2=T({can:"rate-limit/list",with:Iw,nb:Ne({subject:x.string()}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.subject,e.nb.subject,"subject"))||C({})});var T4=ee.match({method:"web"}),s2=T({can:"subscription/get",with:T4,nb:Ne({subscription:x.string()}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.subscription,e.nb.subscription,"consumer"))||C({})});var I4=4113,B4=85,hf=x.link({code:B4,version:1,multihash:{code:I4}}),i2=T({can:"filecoin/add",with:x.did(),nb:x.struct({content:x.link(),piece:hf}),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({})}),a2=T({can:"aggregate/add",with:x.did(),nb:x.struct({piece:hf,storefront:x.text(),group:x.text()}),derives:(t,e)=>q(ce(t,e))||q(ns(t.nb.piece,e.nb.piece,"nb.piece"))||q(Se(t.nb.storefront,e.nb.storefront,"nb.storefront"))||q(Se(t.nb.group,e.nb.group,"nb.group"))||C({})}),c2=T({can:"deal/add",with:x.did(),nb:x.struct({pieces:x.link(),aggregate:hf,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(Se(t.nb.storefront,e.nb.storefront,"nb.storefront"))||q(Se(t.nb.label,e.nb.label,"nb.label"))||C({})}),u2=T({can:"chain-tracker/info",with:x.did(),nb:x.struct({piece:hf}),derives:(t,e)=>q(ce(t,e))||q(ns(t.nb.piece,e.nb.piece,"nb.piece"))||C({})});var oK=[os.can,Cw.can,D_.can,Xd.can,__.can,Lc.can,Uc.can,Rc.can,S_.can,Ic.can,Bc.can,Pc.can,mw.can,Nc.can,Oc.can,t2.can,Y_.can,e2.can,s2.can,r2.can,n2.can,o2.can,i2.can,a2.can,c2.can,u2.can];var Vn,pf=class pf{constructor(e,r={}){De(this,Vn,void 0);this.meta=e.meta,this.principal=e.principal,this.spaces=e.spaces,this.delegations=e.delegations,this.currentSpace=e.currentSpace,Ce(this,Vn,n=>r.store?r.store.save(n):void 0)}static async create(e={},r={}){let n=new pf({meta:{name:"agent",type:"device",...e.meta},principal:e.principal??await _i.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:fg(s.delegation.map(i=>({cid:se.parse(i.cid),bytes:i.bytes}))),meta:s.meta});return new pf({meta:e.meta,principal:V_.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):j(this,Vn).call(this,this.export()))}async setCurrentSpace(e){this.currentSpace=e,await j(this,Vn).call(this,this.export())}async addDelegation(e,r){this.delegations.set(e.cid.toString(),{delegation:e,meta:r??{}}),await j(this,Vn).call(this,this.export())}async removeDelegation(e){this.delegations.delete(e.toString()),await j(this,Vn).call(this,this.export())}};Vn=new WeakMap;var Gn=pf,U4=t=>t.can===Wn.session.can,Bw=t=>t.capabilities.some(e=>U4(e));function l2(t){let e={};for(let{delegation:r}of t.delegations.values())if(Bw(r)){let n=r.capabilities[0];if(n&&!Ri(r)){let o=n.nb.proof;o&&(e[o.toString()]=r)}}return e}var Fc=null;typeof WebSocket<"u"?Fc=WebSocket:typeof MozWebSocket<"u"?Fc=MozWebSocket:typeof global<"u"?Fc=global.WebSocket||global.MozWebSocket:typeof window<"u"?Fc=window.WebSocket||window.MozWebSocket:typeof self<"u"&&(Fc=self.WebSocket||self.MozWebSocket);var mf=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Pw=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},d2=t=>globalThis.DOMException===void 0?new Pw(t):new DOMException(t),f2=t=>{let e=t.reason===void 0?d2("This operation was aborted."):t.reason;return e instanceof Error?e:d2(e)};function Lw(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(f2(d)),d.addEventListener("abort",()=>{u(f2(d))})}let l=new mf;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 Uw=Symbol("resolveValue");async function Rw(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[Uw])a(l[Uw]);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 Lw(i,typeof n=="number"?{milliseconds:n}:n)}finally{clearTimeout(s)}}Rw.resolveWith=t=>({[Uw]:t});var yf=class t extends Error{constructor(e,r){super(e,r),this.name="AbortError",this.message=e,this.code=t.code}};yf.code="ERR_AWAIT_MSG_CANCEL";function Nw(t){let{domain:e,local:r}=p2(t);return`did:mailto:${encodeURIComponent(e)}:${encodeURIComponent(r)}`}function h2(t){let{domain:e,local:r}=p2(t);return`${r}@${e}`}function p2(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 N4(t,e,r){let n=await t.invokeAndExecute(Nc,{audience:t.connection.id,with:t.issuer.did(),nb:{iss:e.did(),att:[...r]}});if(n?.out.error)throw n.out.error}async function Ow(t,e=t.connection.id.did(),{addProofs:r=!1}={}){let n=await t.invokeAndExecute(yw,{audience:t.connection.id,with:e});if(n.out.error)throw n.out.error;let o=Object.values(n.out.ok.delegations).flatMap(s=>Od(s));if(r){for(let s of o)await t.addProof(s);await g2(t,o)}return o}async function O4({access:t,space:e,account:r,provider:n}){let o=await t.invokeAndExecute(ff.add,{audience:t.connection.id,with:r.did(),nb:{provider:n,consumer:e}});if(o.out.error)throw o.out.error}function $4(t){return t.some(e=>Bw(e))}async function M4(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(Wn.claim,{with:r});if(s.out.error)throw s.out.error;let i=Object.values(s.out.ok.delegations).flatMap(a=>Od(a));if(t(i))return i;await new Promise(a=>setTimeout(a,o))}}async function F4(t,e={}){return[...await M4($4,t,t.issuer.did(),{signal:e?.signal,interval:e?.interval})]}async function z4(t,e,r={}){let n=r.expectAuthorization||F4;await N4(t,{did:()=>Nw(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 m2(t,e,r){await z4(t,e,r),await Ow(t,t.issuer.did(),{addProofs:r?.addProofs??!0})}async function y2(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:()=>Nw(h2(r))};await O4({access:t,space:o,account:a,provider:i});let c=await j4(t,o,a);if(c.out.error)throw c.out.error;s.isRegistered=!0,await e.addSpace(o,s)}async function j4(t,e,r){let n=await W4(t.issuer,e,r,void 0,t.proofs([{with:e,can:"*"}]),1/0);return t.invokeAndExecute(gw,{audience:t.connection.id,with:e,expiration:1/0,nb:{delegations:{[n.cid.toString()]:n.cid}},proofs:[n]})}async function W4(t,e,r,n=[{can:"*",with:e}],o=[],s){return wt({issuer:t,audience:r,capabilities:n,proofs:o,expiration:s})}var w2="https://up.web3.storage",H4=yt.parse("did:web:web3.storage"),b2=new WeakMap;function q4(t={}){return Oo({id:t.principal??H4,codec:Eg,channel:t.channel??Dg({url:t.url??new URL(w2),method:"POST",fetch:t.fetch??globalThis.fetch.bind(globalThis)})})}var Te,zc,$w,wf=class wf{constructor(e,r={}){De(this,zc);De(this,Te,void 0);let n=r.connection?.channel;this.url=r.url??n?.url??new URL(w2),this.connection=r.connection??q4({principal:r.servicePrincipal,url:this.url}),Ce(this,Te,e),b2.set(this,j(this,Te))}static async create(e,r={}){let n=await Gn.create(e,r);return new wf(n,r)}static from(e,r={}){let n=Gn.fromExport(e,r);return new wf(n,r)}get issuer(){return j(this,Te).principal}get meta(){return j(this,Te).meta}get spaces(){return j(this,Te).spaces}did(){return j(this,Te).principal.did()}async addProof(e){G_(e,{checkAudience:this.issuer,checkIsExpired:!0}),await j(this,Te).addDelegation(e,{audience:this.meta}),await this.removeExpiredDelegations()}async removeExpiredDelegations(){for(let[,e]of j(this,Te).delegations)Ri(e.delegation)&&await j(this,Te).removeDelegation(e.delegation.cid)}proofs(e){let r=[];for(let{delegation:o}of mo(this,zc,$w).call(this,e))o.audience.did()===this.issuer.did()&&r.push(o);let n=l2(j(this,Te));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,zc,$w).call(this,e)){let{delegation:o}=n;!o.capabilities.some(i=>i.can===Oc.can)&&o.audience.did()!==this.issuer.did()&&r.push(n)}return r}async createSpace(e){let r=await _i.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 j(this,Te).addSpace(r.did(),o,n),{did:r.did(),meta:o,proof:n}}async importSpaceFromDelegation(e){let r=e.facts[0]?.space??{isRegistered:!1},n=q_.parse(e.capabilities[0].with).did();return j(this,Te).spaces.set(n,r),await this.addProof(e),{did:n,meta:r,proof:e}}async setCurrentSpace(e){if(!j(this,Te).spaces.has(e))throw new Error(`Agent has no proofs for ${e}.`);return await j(this,Te).setCurrentSpace(e),e}currentSpace(){return j(this,Te).currentSpace}currentSpaceWithMeta(){if(!j(this,Te).currentSpace)return;let e=this.proofs([{can:"space/info",with:j(this,Te).currentSpace}]),r=new Set;for(let n of e)for(let o of n.capabilities)r.add(o.can);return{did:j(this,Te).currentSpace,proofs:e,capabilities:[...r],meta:j(this,Te).spaces.get(j(this,Te).currentSpace)}}async registerSpace(e,r={}){return await y2(this,j(this,Te),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 wt({issuer:this.issuer,capabilities:n,proofs:this.proofs(n),facts:[{space:r.meta??{}}],...e});return await j(this,Te).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 Kd({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(Xd,{with:r});if(n.out.error)throw n.out.error;return n.out.ok}};Te=new WeakMap,zc=new WeakSet,$w=function(e){let r=new Set(e),n=[];for(let[,o]of j(this,Te).delegations)if(!Ri(o.delegation)&&!Tw(o.delegation))if(Array.isArray(e)&&e.length>0)for(let s of r)K_(o.delegation,s)&&(r.delete(s),n.push(o));else n.push(o);return n};var gf=wf;async function g2(t,e){let r=b2.get(t);if(!r)throw Object.assign(new Error("cannot determine AgentData for Agent"),{agent:t});if(e.length>0){let n=Kt.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 V4="AccessStore",Mw=1,jc,Wc,Kn,rn,Hc,Ni,bf,xf=class{constructor(e,r={}){De(this,Ni);De(this,jc,void 0);De(this,Wc,void 0);De(this,Kn,void 0);De(this,rn,void 0);De(this,Hc,void 0);Ce(this,jc,e),Ce(this,Wc,r.dbVersion),Ce(this,Kn,r.dbStoreName??V4),Ce(this,Hc,r.autoOpen??!0)}async open(){if(j(this,rn))return;let{resolve:r,reject:n,promise:o}=ft(),s=indexedDB.open(j(this,jc),j(this,Wc));return s.addEventListener("upgradeneeded",()=>{s.result.createObjectStore(j(this,Kn))}),s.addEventListener("success",()=>{Ce(this,rn,s.result),r()}),s.addEventListener("error",()=>n(s.error)),o}async close(){let e=j(this,rn);if(!e)throw new Error("Store is not open");e.close(),Ce(this,rn,void 0)}async save(e){let r=await mo(this,Ni,bf).call(this);return await Fw(r,"readwrite",j(this,Kn),async s=>{let{resolve:i,reject:a,promise:c}=ft();try{let u=s.put({id:Mw,...e},Mw);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,Ni,bf).call(this);return await Fw(e,"readonly",j(this,Kn),async n=>{let{resolve:o,reject:s,promise:i}=ft(),a=n.get(Mw);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,Ni,bf).call(this);Fw(e,"readwrite",j(this,Kn),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})}};jc=new WeakMap,Wc=new WeakMap,Kn=new WeakMap,rn=new WeakMap,Hc=new WeakMap,Ni=new WeakSet,bf=async function(){if(!j(this,rn)){if(!j(this,Hc))throw new Error("Store is not open");await this.open()}return j(this,rn)};function Fw(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 kf=class extends xf{};var ji={};M(ji,{add:()=>Zw,list:()=>gN,remove:()=>wN});var JK=new TextEncoder,QK=new TextDecoder;var zw={};M(zw,{contentType:()=>x2,encode:()=>Z4});var x2="application/cbor",K4=Object.freeze({"content-type":x2}),Z4=(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:K4,body:n}};var vf={};M(vf,{contentType:()=>J4,decode:()=>Q4});var J4="application/car",Q4=async({body:t})=>{let{roots:e,blocks:r}=dc(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:X4}=vf;var YK=_d({decoders:{[X4]:vf,[Ad]:$o},encoders:{"*/*;q=0.1":zw,[Ad]:Mo}});function Oi(t,e){return t.with===e.with?C({}):ie(`Can not derive ${t.can} with ${t.with} from ${e.with}`)}function Sf(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 $i=t=>t.error?t:void 0;var iZ=T({can:"store/*",with:V.match({protocol:"did:"}),derives:Oi}),Ef=T({can:"store/add",with:V.match({protocol:"did:"}),nb:x.struct({link:he,size:x.integer(),origin:he.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({})}}),_f=T({can:"store/remove",with:V.match({protocol:"did:"}),nb:x.struct({link:he}),derives:jw}),Af=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({})}),aZ=Ef.or(_f).or(Af);var D2=_e(_2(),1),rN=new Set(["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed","fetch failed"]),Mi=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}},nN=(t,e,r)=>{let n=r.retries-(e-1);return t.attemptNumber=e,t.retriesLeft=n,t},oN=t=>rN.has(t),A2=t=>globalThis.DOMException===void 0?new Error(t):new DOMException(t);async function Fi(t,e){return new Promise((r,n)=>{e={onFailedAttempt(){},retries:10,...e};let o=D2.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 Mi)o.stop(),n(i.originalError);else if(i instanceof TypeError&&!oN(i.message))o.stop(),n(i);else{nN(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?A2("The operation was aborted."):e.signal.reason;n(s instanceof Error?s:A2(s))},{once:!0})})}var sN=new URL("https://up.web3.storage"),nn=Ue("did:web:web3.storage"),Zn=Oo({id:nn,codec:ir.outbound,channel:Pn.open({url:sN,method:"POST"})});var N2=_e(R2(),1),{fetch:mN}=N2.default;function yN(t,e){function r({total:n,loaded:o,lengthComputable:s}){return e({total:n,loaded:o,lengthComputable:s,url:t})}return r}async function Zw({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??Zn,u=await Fi(async()=>await Ef.invoke({issuer:t,audience:n??nn,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 ${Ef.can} invocation`,{cause:u.out.error});if(u.out.ok.status==="done")return a;let l=u.out.ok,d=mN,p=await Fi(async()=>{try{let f=await d(l.url,{method:"PUT",mode:"cors",body:o,headers:l.headers,signal:s.signal,onUploadProgress:s.onUploadProgress?yN(l.url,s.onUploadProgress):void 0,duplex:"half"});if(f.status>=400&&f.status<500)throw new Mi(`upload failed: ${f.status}`);return f}catch(f){throw s.signal?.aborted===!0?new Mi("upload aborted"):f}},{onFailedAttempt:console.warn,retries:s.retries??3});if(!p.ok)throw new Error(`upload failed: ${p.status}`);return a}async function gN({issuer:t,with:e,proofs:r,audience:n},o={}){let s=o.connection??Zn,i=await Af.invoke({issuer:t,audience:n??nn,with:e,proofs:r,nb:{cursor:o.cursor,size:o.size,pre:o.pre}}).execute(s);if(!i.out.ok)throw new Error(`failed ${Af.can} invocation`,{cause:i.out.error});return i.out.ok}async function wN({issuer:t,with:e,proofs:r,audience:n},o,s={}){let i=s.connection??Zn,a=await _f.invoke({issuer:t,audience:n??nn,with:e,nb:{link:o},proofs:r}).execute(i);if(!a.out.ok)throw new Error(`failed ${_f.can} invocation`,{cause:a.out.error})}var Wi={};M(Wi,{add:()=>Jw,list:()=>kN,remove:()=>vN});var DZ=T({can:"upload/*",with:V.match({protocol:"did:"}),derives:Oi}),bN=he.match({code:Re.code,version:1}),Cf=T({can:"upload/add",with:V.match({protocol:"did:"}),nb:x.struct({root:he,shards:bN.array().optional()}),derives:(t,e)=>$i(Oi(t,e))||$i(Sf(t.nb.root,e.nb.root,"root"))||$i(Sf(t.nb.shards,e.nb.shards,"shards"))||C({})}),If=T({can:"upload/remove",with:V.match({protocol:"did:"}),nb:x.struct({root:he}),derives:(t,e)=>$i(Oi(t,e))||$i(Sf(t.nb.root,e.nb.root,"root"))||C({})}),Bf=T({can:"upload/list",with:V.match({protocol:"did:"}),nb:x.struct({cursor:x.string().optional(),size:x.integer().optional(),pre:x.boolean().optional()})}),TZ=Cf.or(If).or(Bf);async function Jw({issuer:t,with:e,proofs:r,audience:n},o,s,i={}){let a=i.connection??Zn,c=await Fi(async()=>await Cf.invoke({issuer:t,audience:n??nn,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 ${Cf.can} invocation`,{cause:c.out.error});return c.out.ok}async function kN({issuer:t,with:e,proofs:r,audience:n},o={}){let s=o.connection??Zn,i=await Bf.invoke({issuer:t,audience:n??nn,with:e,proofs:r,nb:{cursor:o.cursor,size:o.size,pre:o.pre}}).execute(s);if(!i.out.ok)throw new Error(`failed ${Bf.can} invocation`,{cause:i.out.error});return i.out.ok}async function vN({issuer:t,with:e,proofs:r,audience:n},o,s={}){let i=s.connection??Zn,a=await If.invoke({issuer:t,audience:n??nn,with:e,nb:{root:o},proofs:r}).execute(i);if(!a.out.ok)throw new Error(`failed ${If.can} invocation`,{cause:a.out.error});return a.out.ok}var Zi={};M(Zi,{DEFAULT_DIRECTORY_MODE:()=>qA,DEFAULT_FILE_MODE:()=>HA,NodeType:()=>ae,code:()=>Ki,createAdvancedFile:()=>qN,createComplexFile:()=>GN,createDirectoryShard:()=>yb,createEmptyFile:()=>WN,createFileChunk:()=>HN,createFileShard:()=>VN,createFlatDirectory:()=>Wf,createRaw:()=>VA,createShardedDirectory:()=>KA,createSimpleFile:()=>GA,createSymlink:()=>JA,cumulativeContentByteLength:()=>Pr,cumulativeDagByteLength:()=>eo,decode:()=>YA,decodeMetadata:()=>ls,encode:()=>XA,encodeAdvancedFile:()=>bb,encodeComplexFile:()=>xb,encodeDirectory:()=>Vf,encodeDirectoryMetadata:()=>Sb,encodeFile:()=>ZA,encodeFileChunk:()=>wb,encodeFileShard:()=>KN,encodeHAMTShard:()=>Gf,encodeLink:()=>Hf,encodeMetadata:()=>Qc,encodeMode:()=>tD,encodeRaw:()=>gb,encodeSimpleFile:()=>qf,encodeSymlink:()=>QA,filesize:()=>XN,matchFile:()=>QN,name:()=>mb});var SN=new TextDecoder;function Qw(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 Pf(t,e){let r;[r,e]=Qw(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 O2(t,e){let r;return[r,e]=Qw(t,e),[r&7,r>>3,e]}function EN(t){let e={},r=t.length,n=0;for(;n<r;){let o,s;if([o,s,n]=O2(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]=Pf(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]=Pf(t,n),e.Name=SN.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]=Qw(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 $2(t){let e=t.length,r=0,n,o=!1,s;for(;r<e;){let a,c;if([a,c,r]=O2(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]=Pf(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]=Pf(t,r),n.push(EN(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 F2=new TextEncoder,M2=2**32,_N=2**31;function AN(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=Vc(e,r,t.Tsize)-1,e[r]=24}if(typeof t.Name=="string"){let n=F2.encode(t.Name);r-=n.length,e.set(n,r),r=Vc(e,r,n.length)-1,e[r]=18}return t.Hash&&(r-=t.Hash.length,e.set(t.Hash,r),r=Vc(e,r,t.Hash.length)-1,e[r]=10),e.length-r}function z2(t){let e=TN(t),r=new Uint8Array(e),n=e;if(t.Data&&(n-=t.Data.length,r.set(t.Data,n),n=Vc(r,n,t.Data.length)-1,r[n]=10),t.Links)for(let o=t.Links.length-1;o>=0;o--){let s=AN(t.Links[o],r.subarray(0,n));n-=s,n=Vc(r,n,s)-1,r[n]=18}return r}function DN(t){let e=0;if(t.Hash){let r=t.Hash.length;e+=1+r+Hi(r)}if(typeof t.Name=="string"){let r=F2.encode(t.Name).length;e+=1+r+Hi(r)}return typeof t.Tsize=="number"&&(e+=1+Hi(t.Tsize)),e}function TN(t){let e=0;if(t.Data){let r=t.Data.length;e+=1+r+Hi(r)}if(t.Links)for(let r of t.Links){let n=DN(r);e+=1+n+Hi(n)}return e}function Vc(t,e,r){e-=Hi(r);let n=e;for(;r>=_N;)t[e++]=r&127|128,r/=128;for(;r>=128;)t[e++]=r&127|128,r>>>=7;return t[e]=r,n}function Hi(t){return t%2===0&&t++,Math.floor((CN(t)+6)/7)}function CN(t){let e=0;return t>=M2&&(t=Math.floor(t/M2),e=32),t>=65536&&(t>>>=16,e+=16),t>=256&&(t>>>=8,e+=8),e+IN[t]}var IN=[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 BN=["Data","Links"],PN=["Hash","Name","Tsize"],Xw=new TextEncoder;function W2(t,e){if(t===e)return 0;let r=t.Name?Xw.encode(t.Name):[],n=e.Name?Xw.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 LN(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 Yw(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=Xw.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(LN),e.Links.sort(W2);else throw new TypeError("Invalid DAG-PB form");else e.Links=[];return e}function H2(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,BN))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,PN))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&&W2(r,t.Links[e-1])===-1)throw new TypeError("Invalid DAG-PB form (links must be sorted by Name bytes)")}}var Jn=112;function q2(t){H2(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=$2(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 sn=_e(FA(),1),Vi=sn.default.Reader,hb=sn.default.Writer,Z=sn.default.util,nt=sn.default.roots.unixfs||(sn.default.roots.unixfs={}),Gi=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=hb.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 Vi||(r=Vi.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,sn.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})(),sJ=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=hb.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 Vi||(r=Vi.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,sn.default.util.toJSONOptions)},t})(),iJ=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=hb.create()),r.MimeType!=null&&Object.hasOwnProperty.call(r,"MimeType")&&n.uint32(10).string(r.MimeType),n},t.decode=function(r,n){r instanceof Vi||(r=Vi.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,sn.default.util.toJSONOptions)},t})();var ae=Gi.DataType;var WA=Object.freeze([]),pb=new Uint8Array(0),Nt=Object.freeze({}),HA=parseInt("0644",8),qA=parseInt("0755",8),Ki=Jn,mb="UnixFS",Yn=(t,e)=>(Object(globalThis).debug&&console.log({data:t,links:e}),q2(Yw({Data:Gi.encode(t).finish(),Links:e}))),VA=t=>({type:ae.Raw,content:t}),WN=t=>GA(pb,t),GA=(t,e)=>({type:ae.File,layout:"simple",content:t,metadata:ls(e)}),HN=t=>({type:ae.File,layout:"simple",content:t}),qN=(t,e)=>({type:ae.File,layout:"advanced",parts:t,metadata:ls(e)}),VN=t=>({type:ae.File,layout:"advanced",parts:t}),GN=(t,e,r)=>({type:ae.File,layout:"complex",content:t,parts:e,metadata:ls(r)}),Wf=(t,e)=>({type:ae.Directory,metadata:ls(e),entries:t}),KA=(t,e,r,n,o=Nt)=>({type:ae.HAMTShard,bitfield:e,fanout:kb(r),hashType:vb(n),entries:t,metadata:ls(o)}),yb=(t,e,r,n)=>({type:ae.HAMTShard,bitfield:e,fanout:kb(r),hashType:vb(n),entries:t}),gb=t=>Yn({Type:ae.Raw,Data:t.byteLength>0?t:void 0,filesize:t.byteLength,blocksizes:WA},[]),ZA=(t,e=!1)=>{let r=e?Nt:Object(t).metadata;switch(t.layout){case"simple":return qf(t.content,r);case"advanced":return bb(t.parts,r);case"complex":return xb(t.content,t.parts,r);default:throw new TypeError(`File with unknown layout "${Object(t).layout}" was passed`)}},wb=t=>qf(t,Nt),KN=t=>Yn({Type:ae.File,blocksizes:t.map(Jc),filesize:Pr(t)},t.map(Hf)),bb=(t,e=Nt)=>Yn({Type:ae.File,blocksizes:t.map(Jc),filesize:Pr(t),...Qc(e)},t.map(Hf)),Hf=t=>({Name:"",Tsize:t.dagByteLength,Hash:t.cid}),qf=(t,e=Nt)=>Yn({Type:ae.File,Data:t.byteLength>0?t:void 0,filesize:t.byteLength,blocksizes:[],...Qc(e)},[]),xb=(t,e,r=Nt)=>Yn({Type:ae.File,Data:t,filesize:t.byteLength+Pr(e),blocksizes:e.map(Jc)},e.map(Hf)),Vf=t=>Yn({Type:t.type,...Sb(t.metadata||Nt)},t.entries.map(eD)),Gf=({bitfield:t,fanout:e,hashType:r,entries:n,metadata:o=Nt})=>Yn({Type:ae.HAMTShard,Data:t.byteLength>0?t:void 0,fanout:kb(e),hashType:vb(r),...Sb(o)},n.map(eD)),kb=t=>{if(Math.log2(t)%1===0)return t;throw new TypeError(`Expected hamt size to be a power of two instead got ${t}`)},vb=t=>{if(Number.isInteger(t))return t;throw new TypeError(`Expected an integer value instead got ${t}`)};var JA=(t,e=Nt)=>({type:ae.Symlink,content:t,metadata:ls(e)}),QA=(t,e=!1)=>{let r=e?Nt:Object(t).metadata;return Yn({Type:ae.Symlink,Data:t.content,...Qc(r||Nt)},[])},XA=(t,e=!0)=>{switch(t.type){case ae.Raw:return gb(t.content);case ae.File:return ZA(t);case ae.Directory:return Vf(t);case ae.HAMTShard:return Gf(t);case ae.Symlink:return QA(t);default:throw new Error(`Unknown node type ${Object(t).type}`)}},YA=t=>{let e=Cr(t),r=Gi.decode(e.Data),{Type:n,Data:o,mtime:s,mode:i,blocksizes:a,...c}=Gi.toObject(r,{defaults:!1,arrays:!0,longs:Number,objects:!1}),u={...i&&{mode:i},...ZN(s)},l=e.Links;switch(r.Type){case ae.Raw:return VA(o);case ae.File:return l.length===0?new Ff(o,u):o.byteLength===0?new zf(zA(c.blocksizes,l),u):new jf(o,zA(c.blocksizes,l),u);case ae.Directory:return Wf(jA(l),u);case ae.HAMTShard:return KA(jA(l),o||pb,c.fanout,c.hashType,u);case ae.Symlink:return JA(o,u);default:throw new TypeError(`Unsupported node type ${r.Type}`)}},ZN=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),eo=(t,e)=>e.reduce((r,n)=>r+n.dagByteLength,t.byteLength),Jc=t=>t.contentByteLength,eD=({name:t,dagByteLength:e,cid:r})=>({Name:t,Tsize:e,Hash:r}),Sb=t=>Qc(t,qA),Qc=({mode:t,mtime:e},r=HA)=>({mode:t!=null?tD(t,r):void 0,mtime:e!=null?JN(e):void 0}),ls=t=>t==null?Nt:{...t.mode==null?void 0:{mode:rD(t.mode)},...t.mtime==null?void 0:{mtime:t.mtime}},JN=t=>t==null?void 0:t.nsecs!==0?{Seconds:t.secs,FractionalNanoseconds:t.nsecs}:{Seconds:t.secs},tD=(t,e)=>{let r=t==null?void 0:rD(t);return r===e||r==null?void 0:r},rD=t=>t&4095|t&4294963200,QN=({content:t=pb,parts:e=WA,metadata:r=Nt,...n})=>e.length===0?new Ff(t,r):t.byteLength===0?new zf(e,r):new jf(t,e,r),Ff=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 qf(this.content,this.metadata)}},zf=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(Jc)}encode(){return bb(this.parts,this.metadata)}},jf=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(Jc)}encode(){return xb(this.content,this.parts,this.metadata)}},XN=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 YN=function*(t){let e=yield*t;yield*Zf(e)};function*Tb(){return yield Xf}var Qi=function*(){yield Yf};var Kf=function*(t){let e=yield*Tb();if(t5(t)){let r=!1,n;if(t.then(o=>{r=!1,n=o,to(e)},o=>{r=!0,n=o,to(e)}),yield*Qi(),r)throw n;return n}else return s5(e5(e)),yield*Qi(),t};function*e5(t){to(t)}var t5=t=>t!=null&&typeof t.then=="function",Zf=function*(t){yield t},Jf=function*(t){let e=[];for(let r of Object.entries(t)){let[n,o]=r;o!==eu&&e.push(yield*Yi(n5(o,n)))}yield*Ib(e)},Qf=t=>t.length>0?r5(t.map(YN)):eu;function*r5(t){let e=[];for(let r of t)e.push(yield*Yi(r));yield*Ib(e)}var n5=(t,e)=>t===eu?eu:t instanceof Xc?new Xc([...t.tags,e],t.source):new Xc([e],t),Xc=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 Yf:case Xf:return e;default:{let r=e,{value:n}=r;for(let o of this.tags)n=o5(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"}},tu=()=>eu;var o5=(t,e)=>({type:t,[t]:e});var Xf=Symbol("current"),Yf=Symbol("suspend");var an=class t{static of(e){return e.group||Ji}static enqueue(e,r){e.group=r,r.stack.active.push(e)}constructor(e,r=[],n=new Set,o=new Xi(r,n)){this.driver=e,this.parent=t.of(e),this.stack=o,this.id=++iD}},Eb=class{constructor(){this.status=Yc,this.stack=new Xi,this.id=0}},Xi=class{constructor(e=[],r=new Set){this.active=e,this.idle=r}static size({active:e,idle:r}){return e.length+r.size}},s5=t=>to(t[Symbol.iterator]()),to=t=>{let e=an.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(Ji.status===Yc)for(Ji.status=aD;;)try{for(let r of Cb(Ji));Ji.status=Yc;break}catch{Ji.stack.active.shift()}},i5=t=>to(t),Cb=function*(t){let{active:e}=t.stack,r=e[0];for(t.stack.idle.delete(r);r;){let n=cD;e:for(;!n.done&&r===e[0];){let o=n.value;switch(o){case Yf:t.stack.idle.add(r);break e;case Xf:n=r.next(r);break;default:n=r.next(yield o);break}}e.shift(),r=e[0],t.stack.idle.delete(r)}};var Yi=(t,e)=>new Db(t,e),a5=(t,e)=>oD(t,{ok:!0,value:e});var _b=(t,e)=>oD(t,{ok:!1,error:e});function*oD(t,e){try{let r=t,n=e.ok?r.return(e.value):r.throw(e.error);if(!n.done)if(n.value===Yf){let{idle:o}=an.of(r).stack;o.add(r)}else to(r)}catch{}}function*Ib(t){if(t.length===0)return;let e=yield*Tb(),r=new an(e),n=null;for(let o of t){let{result:s}=o;if(s){!s.ok&&!n&&(n=s);continue}c5(o,r)}try{if(n)throw n.error;for(;yield*Cb(r),Xi.size(r.stack)>0;)yield*Qi()}catch(o){for(let s of r.stack.active)yield*_b(s,o);for(let s of r.stack.idle)yield*_b(s,o),to(s);throw o}}var c5=(t,e)=>{let r=an.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*Bb(t){t.status===Yc&&(yield*t),t.result||(yield*Ib([t]));let e=t.result;if(e.ok)return e.value;throw e.error}var Ab=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}},Db=class extends Ab{constructor(e,r=u5,n={},o=cD){super(n),this.id=++iD,this.name=r.name||"",this.task=e,this.state=o,this.status=Yc,this.result,this.handler=n,this.controller}*resume(){i5(this)}join(){return Bb(this)}abort(e){return _b(this,e)}exit(e){return a5(this,e)}get[Symbol.toStringTag](){return"Fork"}*[Symbol.iterator](){return this.activate()}activate(){return this.controller=this.task[Symbol.iterator](),this.status=aD,to(this),this}panic(e){this.result={ok:!1,error:e},this.status=nD;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=nD;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)}}},sD=function*(t,e){let r=yield*Tb(),n=new an(r);for(an.enqueue(t[Symbol.iterator](),n);;){for(let o of Cb(n))an.enqueue(e(o)[Symbol.iterator](),n);if(Xi.size(n.stack)>0)yield*Qi();else break}},iD=0,Yc="idle",aD="active",nD="finished",cD={done:!1,value:Xf},u5={},eu=function*(){}(),Ji=new Eb;function Pb(){}Object.defineProperties(Pb,{prototype:{value:new Proxy(Object.prototype,{get(t,e,r){return typeof e=="symbol"?Reflect.get(t,e,r):r.get(e)}})}});var Lb=()=>new ru;var lD=(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 Lb();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 ru(n,t.byteOffset+o,i)},l5=(t,e)=>e.byteLength>0?(t.segments.push(e),new ru(t.segments,t.byteOffset,t.byteLength+e.byteLength)):t,d5=(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}}},f5=(t,e,r)=>{let n=r;for(let o of t.segments)e.set(o,n),n+=o.byteLength;return e};function*h5(t){for(let e of t.segments)yield*e}var ru=class extends Pb{constructor(e=[],r=0,n=0){super(),this.segments=e,this.byteLength=n,this.length=n,this.byteOffset=r}[Symbol.iterator](){return h5(this)}slice(e,r){return lD(this,e,r)}subarray(e,r){return lD(this,e,r)}push(e){return l5(this,e)}get(e){return d5(this,e)}copyTo(e,r){return f5(this,e,r)}};var nu=t=>{throw new Error(t)},dD=(t,e,...r)=>nu(String.raw(t,JSON.stringify(e),...r)),fD=new Uint8Array(0),hD=[];var pD=t=>({config:t,buffer:Lb()}),mD=(t,e)=>e.byteLength>0?gD(t.config,t.buffer.push(e),!1):{...t,chunks:hD},yD=t=>gD(t.config,t.buffer,!0),gD=(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 wD=()=>({mutable:!0,needs:{},nodes:{},links:{},linked:Nb});var Ob=(t,e)=>{let r=ea(e,{});for(let n of t){let{ready:o,has:s,wants:i}=xD(n.children,r.links);i.length===0?r=ea(r,{links:Rb(void 0,s),linked:[{id:n.id,links:o}]}):r=ea(r,{needs:Rb(n.id,i),nodes:{[n.id]:{children:n.children,count:i.length}}})}return r},bD=(t,e,r)=>{let n=r.needs[t],o=r.nodes[n];if(o!=null)if(o.count===1){let{ready:s,has:i}=xD(o.children,{...r.links,[t]:e});return ea(r,{needs:{[t]:void 0},links:Rb(void 0,i),nodes:{[n]:void 0},linked:[{id:n,links:s}]})}else return ea(r,{needs:{[t]:void 0},links:{[t]:e},nodes:{[n]:{...o,count:o.count-1}}});else return ea(r,{links:{[t]:e}})},ea=(t,{needs:e,nodes:r,links:n,linked:o})=>{let s=t.mutable?t:{...t},i=t.mutable?g5:void 0;return e&&(s.needs=Ub(t.needs,e,i)),r&&(s.nodes=Ub(t.nodes,r,i)),n&&(s.links=Ub(t.links,n,i)),s.linked=o?y5(t.linked||Nb,o,Nb):t.linked||[],s},Rb=(t,e)=>{let r={};for(let n of e)r[n]=t;return r},Ub=(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 y5=(t,e,r=t)=>{if(t===r)return[...t,...e];for(let n of e)t.push(n);return t},xD=(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}},Nb=Object.freeze([]),g5=Object.freeze({});var kD=(t,e)=>{switch(t.type){case"write":return b5(e,t.bytes);case"link":return x5(e,t.link);case"block":return{state:e,effect:tu()};case"close":return k5(e);case"end":return{state:e,effect:tu()};default:return dD`File Writer got unknown message ${t}`}},vD=(t,e,r)=>({status:"open",metadata:e,config:r,writer:t,chunker:pD({chunker:r.chunker}),layout:r.fileLayout.open(),nodeQueue:wD()}),b5=(t,e)=>{if(t.status==="open"){let{chunks:r,...n}=mD(t.chunker,e),{nodes:o,leaves:s,layout:i}=t.config.fileLayout.write(t.layout,r),{linked:a,...c}=Ob(o,t.nodeQueue),u=[...SD(s,t.config),...$b(a,t.config)];return{state:{...t,chunker:n,layout:i,nodeQueue:c},effect:Jf({link:Qf(u)})}}else return nu("Unable to perform write on closed file")},x5=(t,{id:e,link:r,block:n})=>{let{linked:o,...s}=bD(e,r,t.nodeQueue),i=$b(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():tu();return{state:a,effect:Jf({link:Qf(i),block:E5(t.writer,n),end:c})}},k5=t=>{if(t.status==="open"){let{chunks:e}=yD(t.chunker),{layout:r,...n}=t.config.fileLayout.write(t.layout,e),{root:o,...s}=t.config.fileLayout.close(r,t.metadata),[i,a]=A5(o)?[[...n.nodes,...s.nodes],[...n.leaves,...s.leaves,o]]:[[...n.nodes,...s.nodes,o],[...n.leaves,...s.leaves]],{linked:c,...u}=Ob(i,t.nodeQueue),l=[...SD(a,t.config),...$b(c,t.config)],d=Yi(Qi());return{state:{...t,chunker:null,layout:null,rootID:o.id,status:"closed",end:d,nodeQueue:u},effect:Jf({link:Qf(l),end:Bb(d)})}}else return{state:t,effect:tu()}},SD=(t,e)=>t.map(r=>v5(e,r,e.fileChunkEncoder)),v5=function*({hasher:t,linker:e},{id:r,content:n},o){let s=o.encode(n?_5(n):fD),i=yield*Kf(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}},$b=(t,e)=>t.map(r=>S5(e,r)),S5=function*(t,{id:e,links:r},n){let o=t.fileEncoder.encode({type:ae.File,layout:"advanced",parts:r,metadata:n}),s=yield*Kf(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:eo(o,r)};return{id:e,block:a,link:c}},E5=function*(t,e){(t.desiredSize||0)<=0&&(yield*Kf(t.ready)),t.write(e)},_5=t=>t instanceof Uint8Array?t:t.copyTo(new Uint8Array(t.byteLength),0),A5=t=>t.children==null;var Mb={};M(Mb,{context:()=>T5,cut:()=>_D,name:()=>ED,type:()=>C5,withMaxChunkSize:()=>ou});var ED="fixed",T5={maxChunkSize:262144},C5="Stateless",ou=t=>({type:"Stateless",context:{maxChunkSize:t},name:ED,cut:_D}),_D=({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 su=class{constructor(e,r,n){this.id=e,this.children=r,this.metadata=n}},ta=t=>({open:()=>B5({width:t}),write:P5,close:L5}),I5={width:174},B5=({width:t}=I5)=>({width:t,head:null,leafIndex:[],nodeIndex:[],lastID:0}),P5=(t,e)=>{if(e.length===0)return{layout:t,nodes:kt,leaves:kt};{let{lastID:r}=t,[n,o]=t.head?[null,(e.unshift(t.head),e)]:e.length===1&&t.leafIndex.length===0?[e[0],kt]:[null,e];if(o.length===0)return{layout:{...t,head:n},nodes:kt,leaves:kt};{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?DD({...t,leafIndex:s,head:n,lastID:r},i):{layout:{...t,head:n,leafIndex:s,lastID:r},leaves:i,nodes:kt}}}},DD=(t,e=kt,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;){AD(s,1);let u=new su(++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 su(++o,u.splice(0,a));AD(s,c+1),s[c].push(l.id),r.push(l)}}return{layout:{...t,lastID:o,leafIndex:i,nodeIndex:s},leaves:e,nodes:r}},L5=(t,e)=>{let r=t;if(t.head)return{root:{id:1,content:t.head,metadata:e},leaves:kt,nodes:kt};if(t.leafIndex.length===0)return{root:{id:1,metadata:e},leaves:kt,nodes:kt};{let{nodes:n,layout:o}=DD(r,kt,[],!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:kt}}else return{root:new su(o.lastID+1,a,e),nodes:n,leaves:kt}}},AD=(t,e)=>{for(;t.length<e;)t.push([]);return t},kt=[];var cn=()=>({chunker:Mb,fileChunkEncoder:Fb,smallFileEncoder:Fb,fileEncoder:Zi,fileLayout:ta(174),hasher:ue,linker:{createLink:se.createV1}}),Lr=t=>({...cn(),...t}),Fb={code:Ki,name:mb,encode:wb};var ds=({writer:t,metadata:e={},settings:r=cn()})=>new zb(vD(t,e,Lr(r))),TD=async(t,e)=>(await ID(t,Zf({type:"write",bytes:e})),t),CD=async(t,{releaseLock:e=!1,closeWriter:r=!1}={})=>{await ID(t,Zf({type:"close"}));let{state:n}=t;if(n.status==="linked")return r?await t.state.writer.close():e&&t.state.writer.releaseLock(),n.link;nu(`Expected writer to be in 'linked' state after close, but it is in "${n.status}" instead`)},ID=(t,e)=>Yi(sD(e,r=>{let{state:n,effect:o}=kD(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 TD(this,e)}close(e){return CD(this,e)}};var R5=cn,iu=({writer:t,settings:e=R5(),metadata:r={}})=>new eh({writer:t,metadata:r,settings:e,entries:new Map,closed:!1}),au=(t,e,r,{overwrite:n=!1}={})=>{let o=Wb(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},cu=(t,e)=>(Wb(t.state).entries.delete(e),t),Wb=t=>{if(t.closed)throw new Error("Can not change written directory, but you can .fork() and make changes to it");return t},BD=async(t,{closeWriter:e=!1,releaseLock:r=!1}={})=>{let{writer:n,settings:o,metadata:s}=Wb(t.state);t.state.closed=!0;let i=[...PD(t)],a=Wf(i,s),c=Vf(a),u=await o.hasher.digest(c),l=o.linker.createLink(Ki,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:eo(c,i)}},PD=function*({state:t}){for(let[e,{dagByteLength:r,cid:n}]of t.entries)yield{name:e,dagByteLength:r,cid:n}},LD=({state:t},{writer:e=t.writer,metadata:r=t.metadata,settings:n=t.settings}={})=>new eh({writer:e,metadata:r,settings:n,entries:new Map(t.entries.entries()),closed:!1}),eh=class{constructor(e){this.state=e}get writer(){return this.state.writer}get settings(){return this.state.settings}links(){return PD(this)}set(e,r,n){return au(this,e,r,n)}remove(e){return cu(this,e)}fork(e){return LD(this,e)}close(e){return BD(this,e)}entries(){return this.state.entries.entries()}has(e){return this.state.entries.has(e)}get size(){return this.state.entries.size}};var nh={};M(nh,{API:()=>th,and:()=>W5,bitCount:()=>rh,empty:()=>UD,from:()=>O5,fromBytes:()=>V5,get:()=>j5,or:()=>H5,popcount:()=>Hb,set:()=>RD,size:()=>$5,toBytes:()=>q5,unset:()=>z5});var th={};var UD=(t=32)=>{if(t!==32)throw new Error(`Uint32 BitField does not support size: ${t}`);return 0},O5=(t,e)=>{let r=UD(e);for(let n of t)r=RD(r,n);return r},$5=t=>32,M5=(t,e)=>t>>>e&31,F5=(t,e)=>1<<M5(t,e),Hb=(t,e=31)=>rh(t&F5(e,0)-1),RD=(t,e)=>t|1<<e,z5=(t,e)=>t&(255^1<<e),j5=(t,e)=>(t>>e&1)!==0,rh=t=>{let e=t-(t>>1&1431655765),r=(e&858993459)+(e>>2&858993459);return(r+(r>>4)&252645135)*16843009>>24},W5=(t,e)=>t&e,H5=(t,e)=>t|e,q5=t=>Uint8Array.of(t>>24&255,t>>16&255,t>>8&255,t&255),V5=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 $D=_e(qb(),1),G5=new TextEncoder,K5=$D.default.x64.hash126,MD=({bitWidth:t=5,hash:e=K5})=>{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(G5.encode(i)),size:Math.ceil(4*8/t)}};var ra=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 du(this.config)}lookup(e,r,n,o){return zD(this,e,r,n,o)}associate(e,r,n,o,s,i){return Kb(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 fu(this,e)}entries(){return WD(this)}keys(){return HD(this)}values(){return qD(this)}},sh=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 Z5(this,n,o)}associate(e,r,n,o,s,i){return J5(this,e,n,o,s,i)}dissociate(e,r,n,o,s){return Q5(this,e,n,o,s)}fork(e=null){return X5(this,e)}entries(){return WD(this)}keys(){return HD(this)}values(){return qD(this)}},Z5=(t,e,r)=>{let{children:n,count:o}=t,s=Vb(n,o,e);return n[s]===e?n[s+1]:r},J5=(t,e,r,n,o,s)=>{let{children:i,count:a}=t,c=Vb(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},Q5=(t,e,r,n,o)=>{let{children:s,count:i,config:a}=t,c=Vb(s,i,n);if(s[c]!==n)return t;if(o.value=!0,i===2){let u=c===0?2:0;return Kb(du(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}},X5=(t,e=null)=>ZD(t.edit,e)?t:new sh(e,t.count,t.children.slice(),t.config),Vb=(t,e,r)=>{let n=0;for(;n<e&&t[n]>r;)n+=2;return n};var du=(t,e=null)=>new ra(e,t.BitField.empty(Math.pow(2,t.bitWidth)),t.BitField.empty(Math.pow(2,t.bitWidth)),[],t),ih=(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 hu(t,d)===n?lu(t,d):o}else return u.get(i,l)?mu(t,l).lookup(e+1,r,n,o):o},Gb=(t,e,r,n,o)=>Kb(t,e,0,t.config.Path.from(r),r,n,o),Kb=(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=hu(t,f);if(o===h)return lu(t,f)===s?t:Y5(t,e,f,s);{let m=GD(u,e,r+1,l.from(h),h,lu(t,f),n,o,s);return i.value=!0,tO(t,e,p,m)}}else if(d.get(c,p)){let f=mu(t,p),h=f.associate(e,r+1,n,o,s,i);return f===h?t:VD(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(pu(f),0,o,s),h}},Zb=(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===hu(t,p)){s.value=!0;let f=fu(t,e);return f.datamap=u.unset(t.datamap,d),f.children.splice(pu(p),2),f}else return t}else if(u.get(a,d)){let p=mu(t,d),f=p.dissociate(e,r+1,n,o,s);return rO(f)?nO(t)?f:eO(t,e,d,f):p===f?t:VD(t,e,d,f)}else return t},WD=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},fu=(t,e)=>ZD(t.edit,e)?t:new ra(e,t.datamap,t.nodemap,t.children.slice(),t.config),HD=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},qD=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},Y5=(t,e,r,n)=>{let o=t.fork(e);return o.children[KD(r)]=n,o},eO=(t,e,r,n)=>{let{datamap:o,nodemap:s,config:i}=t,{BitField:a}=i,c=fu(t,e);return c.children.splice(ah(t,r),1),c.children.splice(pu(a.popcount(o,r)),0,n.children[0],n.children[1]),c.datamap=a.set(o,r),c.nodemap=a.unset(s,r),c},VD=(t,e,r,n)=>{let o=fu(t,e);return o.children[ah(t,r)]=n,o},tO=(t,e,r,n)=>{let{nodemap:o,datamap:s,config:i}=t,{BitField:a}=i,c=a.popcount(s,r),u=pu(c),l=ah(t,r),d=fu(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},GD=(t,e,r,n,o,s,i,a,c)=>{let{BitField:u,Path:l}=t;if(l.size<r)return new sh(e,2,[o,s,a,c],t);{let d=l.at(n,r),p=l.at(i,r);return d===p?new ra(e,u.empty(Math.pow(2,t.bitWidth)),u.from([d],Math.pow(2,t.bitWidth)),[GD(t,e,r+1,n,o,s,i,a,c)],t):new ra(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)}},hu=({children:t},e)=>t[pu(e)],pu=t=>t*2,lu=({children:t},e)=>t[KD(e)],KD=t=>t*2+1,mu=(t,e)=>t.children[ah(t,e)],ah=({children:t,nodemap:e,config:r},n)=>t.length-1-r.BitField.popcount(e,n),ZD=(t,e)=>t!=null&&t===e,rO=t=>t.nodeArity===0&&t.dataArity===1,nO=({config:{BitField:t},datamap:e,nodemap:r})=>t.popcount(e)===0&&t.popcount(r)===1;var ch=_e(qb(),1);function oO(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 NJ=To({name:"murmur3-32",code:35,encode:t=>oO(ch.default.x86.hash32(t))}),QD=To({name:"murmur3-128",code:34,encode:t=>wo.fromHex(ch.default.x64.hash128(t))}),na=To({name:"murmur3-x64-64",code:34,encode:t=>wo.fromHex(ch.default.x64.hash128(t)).subarray(0,8)});var sO=new TextEncoder,iO=t=>na.encode(t),XD=({bitWidth:t=8,hash:e=iO}={})=>{let r=e(new Uint8Array).byteLength;return{from:s=>e(sO.encode(s)),at:(s,i)=>{let a=i*t;if(a>r)throw new RangeError("Out of bounds");return Jb(s,a,t)},size:Math.ceil(r*8/t)}},Jb=(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 Qb={};M(Qb,{API:()=>th,and:()=>gO,empty:()=>YD,from:()=>cO,fromBytes:()=>pO,get:()=>fO,or:()=>yO,popcount:()=>mO,set:()=>lO,size:()=>uO,toBytes:()=>hO,unset:()=>dO});var YD=(t=256)=>{if(t%8!==0)throw new Error("Must be multiple of 8");return new Uint8Array(t/8)},cO=(t,e)=>{let r=YD(e);for(let n of t){let{byte:o,byteOffset:s,bitOffset:i}=yu(r,n);r[s]=o|1<<i}return r},uO=t=>t.byteLength*8,yu=(t,e)=>{let r=t.byteLength-1-(e/8|0),n=e%8;return{byte:t[r],byteOffset:r,bitOffset:n}},eT=(t,e,r)=>{if(t[e]!==r){let n=t.slice(0);return n[e]=r,n}return t},lO=(t,e)=>{let{byte:r,byteOffset:n,bitOffset:o}=yu(t,e);return eT(t,n,r|1<<o)},dO=(t,e)=>{let{byte:r,byteOffset:n,bitOffset:o}=yu(t,e);return eT(t,n,r&(255^1<<o))},fO=(t,e)=>{var{byte:r,bitOffset:n}=yu(t,e);return(r>>n&1)!==0},hO=t=>t,pO=t=>t,mO=(t,e=t.byteLength*8)=>{let{byteOffset:r,bitOffset:n,byte:o}=yu(t,e),s=Hb(o,n),i=t.byteLength-1;for(;i>r;){let a=t[i];s+=rh(a),i--}return s},yO=(t,e)=>{let r=t.slice(),n=0;for(;n<t.length;)r[n]|=e[n],n++;return r},gO=(t,e)=>{let r=t.slice(),n=0;for(;n<t.length;)r[n]&=e[n],n++;return r};var tT=new RangeError("Not Found");var wO=({bitWidth:t=5,BitField:e=t===5?nh:Qb,Path:r=t===5?MD({bitWidth:t}):XD({bitWidth:t})}={})=>({bitWidth:t,BitField:e,Path:r}),rT=(t,e)=>{let r=ex(e);for(let[n,o]of t)r.set(n,o);return r.build()},Yb=(t,e)=>ih(t.root,e,tT)!==tT,nT=(t,e,r=void 0)=>ih(t.root,e,r),ex=t=>{let e={},r=wO(t);return new uh(e,0,du(r,e),r)},Xb=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,du(this.config,null),this.config)}has(e){return Yb(this,e)}get(e){return ih(this.root,e,void 0)}set(e,r){let n={value:!1},o=Gb(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=Zb(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 uh({},this.count,this.root,this.config)}},uh=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=Gb(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=Zb(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 Xb(this.count,this.root,this.config);throw new Error(".build was called on the finalized builder")}};var bO=new TextEncoder,xO=t=>na.encode(t),sT=({bitWidth:t=8,hash:e=xO})=>{let r=e(new Uint8Array).byteLength,n={bitWidth:t,hash:e,hashSize:r};return{at:(i,a)=>kO(i,a,n),from:i=>bO.encode(i),size:1/0}},kO=(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:vO(t,u)),d=s<=c?c%s:c,p=s-d,f=p<a?p:a;i=(i<<f)+Jb(l,d,f),a-=f,c+=f}return i},vO=(t,e)=>{let r=new Uint8Array(t.byteLength+1).fill(e,t.byteLength);return r.set(t),r};var iT=8,aT={bitWidth:iT,Path:sT({bitWidth:iT})},cT=t=>Math.pow(2,t.config.bitWidth);var tx=(t=aT)=>ex(t),uT=(t,e=aT)=>rT(t,e),lT=({datamap:t,nodemap:e,config:{BitField:r}})=>EO(r.toBytes(r.or(t,e))),EO=t=>{let e=0;for(;e<t.byteLength;){if(t[e]!==0)return t.subarray(e);e+=1}return t.subarray(e)},dT=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=hu(t,a);yield{prefix:c,key:u,value:lu(t,a)},a++}else o.get(n,i)&&(yield{prefix:c,node:mu(t,i)});i++}};function lh({enumerable:t=!0,configurable:e=!1}={}){return{enumerable:t,configurable:e,writable:!1}}function*AO(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*rx(n,o))}else{let r=se.asCID(e);r?yield[t.join("/"),r]:yield*rx(e,t)}}function*rx(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*AO(s,o)}}function*DO(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*nx(n,o))}else yield*nx(e,t)}function*nx(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*DO(o,n))}}function TO(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 Xt=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:lh(),bytes:lh(),value:lh(),asBlock:lh()})}links(){return rx(this.value,[])}tree(){return nx(this.value,[])}get(e="/"){return TO(this.value,e.split("/").filter(Boolean))}};async function dh({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 Xt({value:t,bytes:n,cid:s})}async function fh({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 Xt({value:n,bytes:t,cid:s})}var CO=cn,ox=({writer:t,settings:e=CO(),metadata:r={}})=>new hh({writer:t,metadata:r,settings:e,entries:new gu,closed:!1}),IO=t=>{if(t.closed)throw new Error("Can not change written HAMT directory, but you can .fork() and make changes to it");return t},fT=async(t,{closeWriter:e=!1,releaseLock:r=!1}={})=>{let{writer:n,settings:o,metadata:s}=IO(t.state);t.state.closed=!0;let{entries:i}=t.state;if(!(i instanceof gu))throw new Error(`not a HAMT: ${i}`);let a=i.builder.build(),c=hT(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:eo(u.bytes,u.value.entries)}},hT=async function*(t,e,r){let n=[];for(let s of dT(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 hT(t,s.node,r))yield a,i=a;if(i==null)throw new Error("no root block yielded");n.push({name:s.prefix,dagByteLength:eo(i.bytes,i.value.entries),cid:i.cid})}let o=yb(n,lT(e),cT(t),na.code);yield await BO(o,r)};async function BO(t,e){let r=Gf(t),n=await e.hasher.digest(r),o=e.linker.createLink(Jn,n);return new Xt({cid:o,bytes:r,value:t})}var pT=({state:t},{writer:e=t.writer,metadata:r=t.metadata,settings:n=t.settings}={})=>new hh({writer:e,metadata:r,settings:n,entries:new gu(uT(t.entries.entries()).createBuilder()),closed:!1}),hh=class{constructor(e){this.state=e}get writer(){return this.state.writer}get settings(){return this.state.settings}set(e,r,n){return au(this,e,r,n)}remove(e){return cu(this,e)}fork(e){return pT(this,e)}close(e){return fT(this,e)}entries(){return this.state.entries.entries()}has(e){return this.state.entries.has(e)}get size(){return this.state.entries.size}},gu=class extends Map{constructor(e=tx()){super(),this.builder=e}clear(){this.builder=tx()}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 nT(this.builder,e)}has(e){return Yb(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 wu=({writable:t,settings:e=cn()})=>new sx({writer:t.getWriter(),settings:e}),PO=async(t,{releaseLock:e=!0,closeWriter:r=!0}={})=>(r?await t.writer.close():e&&t.writer.releaseLock(),t),sx=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 iu({writer:this.writer,settings:e,metadata:r})}close(e){return PO(this,e)}},LO=1048576,UO=LO*100,ph=(t=UO)=>({highWaterMark:t,size:e=>e.bytes.length});var RO=1e3,yT=ph(),gT=Lr({fileChunkEncoder:ii,smallFileEncoder:ii,chunker:ou(1024*1024),fileLayout:ta(1024)});function wT(t){let{readable:e,writable:r}=new TransformStream({},yT),n=wu({writable:r,settings:gT}),o=new mh("",t);return(async()=>(await o.finalize(n),await n.close()))(),e}var xu,mh=class{constructor(e,r){De(this,xu,void 0);this.name=e,Ce(this,xu,r)}async finalize(e){let r=ds(e);return await j(this,xu).stream().pipeTo(new WritableStream({async write(n){await r.write(n)}})),await r.close()}};xu=new WeakMap;var oa,bu=class{constructor(e,r){De(this,oa,void 0);w(this,"entries",new Map);this.name=e,Ce(this,oa,r)}async finalize(e){let r=this.entries.size<=RO?iu(e):ox(e);for(let[n,o]of this.entries){let s=await o.finalize(e);j(this,oa)?.onDirectoryEntryLink&&j(this,oa).onDirectoryEntryLink({name:o.name,...s}),r.set(n,s)}return await r.close()}};oa=new WeakMap;function bT(t,e){let r=new bu("",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 mh(a.join("/"),i));break}let d=c.entries.get(l);if(d==null){let p=c===r?l:`${c.name}/${l}`;d=new bu(p,e),c.entries.set(l,d)}if(!(d instanceof bu))throw new Error(`"${i.name}" cannot be a file and a directory`);c=d}}let{readable:n,writable:o}=new TransformStream({},yT),s=wu({writable:o,settings:gT});return(async()=>{let i=await r.finalize(s);e?.onDirectoryEntryLink&&e.onDirectoryEntryLink({name:"",...i}),await s.close()})(),n}async function yh(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(!zl(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=Hl(await t.exactly(Wl,!0));t.seek(i.dataOffset-t.pos);let a=await yh(t,1);return Object.assign(a,i)}async function OO(t){let e=await t.exactly(2,!1);if(e[0]===Dn.SHA2_256&&e[1]===Dn.LENGTH){let i=await t.exactly(34,!0),a=kn(i);return se.create(0,Dn.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(ql(await t.upTo(8)),!0),s=kn(o);return se.create(r,n,s)}async function xT(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 OO(t),o=r-Number(t.pos-e);return{cid:n,length:r,blockLength:o}}async function $O(t){let{cid:e,blockLength:r}=await xT(t);return{bytes:await t.exactly(r,!0),cid:e}}async function MO(t){let e=t.pos,{cid:r,length:n,blockLength:o}=await xT(t),s={cid:r,length:n,blockLength:o,offset:e,blockOffset:t.pos};return t.seek(s.blockLength),s}function sa(t){let e=(async()=>{let r=await yh(t);if(r.version===2){let n=t.pos-r.dataOffset;t=zO(t,r.dataSize-n)}return r})();return{header:()=>e,async*blocks(){for(await e;(await t.upTo(8)).length>0;)yield await $O(t)},async*blocksIndex(){for(await e;(await t.upTo(8)).length>0;)yield await MO(t)}}}function ro(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 FO(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 ia(t){let e=t[Symbol.asyncIterator]();async function r(){let n=await e.next();return n.done?null:n.value}return FO(r)}function zO(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 kT(ro(e))}static async fromIterable(e){if(!e||typeof e[Symbol.asyncIterator]!="function")throw new TypeError("fromIterable() requires an async iterable");return kT(ia(e))}};async function kT(t){let e=sa(t),r=await e.header(),n=[];for await(let o of e.blocks())n.push(o);return new fs(r,n)}var ku=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 vT(ro(e))}static async fromIterable(e){if(!e||typeof e[Symbol.asyncIterator]!="function")throw new TypeError("fromIterable() requires an async iterable");return vT(ia(e))}};async function vT(t){let e=sa(t),{version:r,roots:n}=await e.header();return new ku(r,n,e.blocksIndex())}var gh=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}},vu=class t extends gh{[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 ST(e);return new t(r,n,o)}static async fromIterable(e){let{version:r,roots:n,iterator:o}=await ET(e);return new t(r,n,o)}},ix=class t extends gh{[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 ST(e);return new t(r,n,o)}static async fromIterable(e){let{version:r,roots:n,iterator:o}=await ET(e);return new t(r,n,o)}};async function ST(t){if(!(t instanceof Uint8Array))throw new TypeError("fromBytes() requires a Uint8Array");return _T(ro(t))}async function ET(t){if(!t||typeof t[Symbol.asyncIterator]!="function")throw new TypeError("fromIterable() requires an async iterable");return _T(ia(t))}async function _T(t){let e=sa(t),{version:r,roots:n}=await e.header();return{version:r,roots:n,iterator:e.blocks()}}var ax=_e(jl(),1);function cx(t){let e=rr({version:1,roots:t}),r=ax.default.encode(e.length),n=new Uint8Array(r.length+e.length);return n.set(r,0),n.set(e,r.length),n}function AT(t){return{async setRoots(e){let r=cx(e);await t.write(r)},async writeBlock(e){let{cid:r,bytes:n}=e;await t.write(new Uint8Array(ax.default.encode(r.bytes.length+n.length))),await t.write(r.bytes),n.length&&await t.write(n)},async close(){await t.end()}}}function wh(){}function DT(){let t=[],e=null,r=wh,n=!1,o=null,s=wh,i=()=>(e||(e=new Promise(u=>{r=()=>{e=null,r=wh,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=wh,l(c.next()))})),o)}};return{writer:a,iterator:c}}var Su=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=jO(e);let{encoder:r,iterator:n}=TT(),o=new t(e,r),s=new bh(n);return{writer:o,out:s}}static createAppender(){let{encoder:e,iterator:r}=TT();e.setRoots=()=>Promise.resolve();let n=new t([],e),o=new bh(r);return{writer:n,out:o}}static async updateRootsInBytes(e,r){let n=ro(e);await yh(n);let o=cx(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}},bh=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 TT(){let t=DT(),{writer:e,iterator:r}=t;return{encoder:AT(e),iterator:r}}function jO(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 kh(t,e){let{writer:r,out:n}=Su.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 xh=class extends ReadableStream{constructor(e){let r=null,n=()=>r||(r=vu.fromIterable(WO(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 WO(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 MT=_e(IT(),1);var _u=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},lx=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},BT=t=>globalThis.DOMException===void 0?new lx(t):new DOMException(t),PT=t=>{let e=t.reason===void 0?BT("This operation was aborted."):t.reason;return e instanceof Error?e:BT(e)};function dx(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(PT(c)),c.addEventListener("abort",()=>{a(PT(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 _u(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 fx(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)},un,Au=class{constructor(){un.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&hs(this,un,"f")[this.size-1].priority>=r.priority){hs(this,un,"f").push(n);return}let o=fx(hs(this,un,"f"),n,(s,i)=>i.priority-s.priority);hs(this,un,"f").splice(o,0,n)}dequeue(){let e=hs(this,un,"f").shift();return e?.run}filter(e){return hs(this,un,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return hs(this,un,"f").length}};un=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,Tu,Cu,oo,Th,Iu,Sh,fr,Du,Ot,Eh,$t,Bu,no,_h,LT,UT,OT,RT,NT,Ah,hx,px,Ch,$T,Dh,Ih=class extends Error{},ps=class extends MT.default{constructor(e){var r,n,o,s;if(super(),He.add(this),Tu.set(this,void 0),Cu.set(this,void 0),oo.set(this,0),Th.set(this,void 0),Iu.set(this,void 0),Sh.set(this,0),fr.set(this,void 0),Du.set(this,void 0),Ot.set(this,void 0),Eh.set(this,void 0),$t.set(this,0),Bu.set(this,void 0),no.set(this,void 0),_h.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:Au,...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,Tu,e.carryoverConcurrencyCount,"f"),Oe(this,Cu,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),Oe(this,Th,e.intervalCap,"f"),Oe(this,Iu,e.interval,"f"),Oe(this,Ot,new e.queueClass,"f"),Oe(this,Eh,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,Oe(this,_h,e.throwOnTimeout===!0,"f"),Oe(this,no,e.autoStart===!1,"f")}get concurrency(){return W(this,Bu,"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,Bu,e,"f"),W(this,He,"m",Ch).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:W(this,_h,"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,oo,(a=W(this,oo,"f"),a++,a),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted)throw new Ih("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=dx(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,W(this,He,"m",$T).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof _u&&!r.throwOnTimeout){n();return}o(c),this.emit("error",c)}finally{W(this,He,"m",OT).call(this)}},r),this.emit("add"),W(this,He,"m",Ah).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return W(this,no,"f")?(Oe(this,no,!1,"f"),W(this,He,"m",Ch).call(this),this):this}pause(){Oe(this,no,!0,"f")}clear(){Oe(this,Ot,new(W(this,Eh,"f")),"f")}async onEmpty(){W(this,Ot,"f").size!==0&&await W(this,He,"m",Dh).call(this,"empty")}async onSizeLessThan(e){W(this,Ot,"f").size<e||await W(this,He,"m",Dh).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",Dh).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,no,"f")}};Tu=new WeakMap,Cu=new WeakMap,oo=new WeakMap,Th=new WeakMap,Iu=new WeakMap,Sh=new WeakMap,fr=new WeakMap,Du=new WeakMap,Ot=new WeakMap,Eh=new WeakMap,$t=new WeakMap,Bu=new WeakMap,no=new WeakMap,_h=new WeakMap,He=new WeakSet,LT=function(){return W(this,Cu,"f")||W(this,oo,"f")<W(this,Th,"f")},UT=function(){return W(this,$t,"f")<W(this,Bu,"f")},OT=function(){var e;Oe(this,$t,(e=W(this,$t,"f"),e--,e),"f"),W(this,He,"m",Ah).call(this),this.emit("next")},RT=function(){W(this,He,"m",px).call(this),W(this,He,"m",hx).call(this),Oe(this,Du,void 0,"f")},NT=function(){let e=Date.now();if(W(this,fr,"f")===void 0){let r=W(this,Sh,"f")-e;if(r<0)Oe(this,oo,W(this,Tu,"f")?W(this,$t,"f"):0,"f");else return W(this,Du,"f")===void 0&&Oe(this,Du,setTimeout(()=>{W(this,He,"m",RT).call(this)},r),"f"),!0}return!1},Ah=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,no,"f")){let e=!W(this,He,"a",NT);if(W(this,He,"a",LT)&&W(this,He,"a",UT)){let r=W(this,Ot,"f").dequeue();return r?(this.emit("active"),r(),e&&W(this,He,"m",hx).call(this),!0):!1}}return!1},hx=function(){W(this,Cu,"f")||W(this,fr,"f")!==void 0||(Oe(this,fr,setInterval(()=>{W(this,He,"m",px).call(this)},W(this,Iu,"f")),"f"),Oe(this,Sh,Date.now()+W(this,Iu,"f"),"f"))},px=function(){W(this,oo,"f")===0&&W(this,$t,"f")===0&&W(this,fr,"f")&&(clearInterval(W(this,fr,"f")),Oe(this,fr,void 0,"f")),Oe(this,oo,W(this,Tu,"f")?W(this,$t,"f"):0,"f"),W(this,He,"m",Ch).call(this)},Ch=function(){for(;W(this,He,"m",Ah).call(this););},$T=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new Ih("The task was aborted."))},{once:!0})})},Dh=async function(e,r){return new Promise(n=>{let o=()=>{r&&!r()||(this.off(e,o),n())};this.on(e,o)})};var GO=1024*1024*100,KO=3,Bh=class extends TransformStream{constructor(e={}){let r=e.shardSize??GO,n=[],o=null,s=0;super({async transform(i,a){o!=null&&(a.enqueue(await kh(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 kh(o));let a=n.at(-1);a!=null&&i.enqueue(await kh(n,e.rootCID??a.cid))}})}},Ph=class extends TransformStream{constructor(e,r={}){let n=new ps({concurrency:r.concurrentRequests??KO}),o=new AbortController;super({async transform(s,i){n.add(async()=>{try{let a={...r,signal:o.signal},c=await Zw(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 FT(t,e,r={}){return await mx(t,wT(e),r)}async function zT(t,e,r={}){return await mx(t,bT(e,r),r)}async function jT(t,e,r={}){let n=new xh(e);return r.rootCID=r.rootCID??(await n.getRoots())[0],await mx(t,n,r)}async function mx(t,e,r={}){let n=[],o=null;if(await e.pipeThrough(new Bh(r)).pipeThrough(new Ph(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 Jw(t,o,n,r),o}function WT(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 yx=(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({}),aa=(t,e,r)=>Be(String(t),e===void 0?void 0:String(e),r),X=t=>t.error?t:void 0;var JO=ee.match({method:"web"}),QO=ee.match({method:"mailto"}),HT=T({can:"provider/add",with:QO,nb:Ne({provider:JO,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={};M(hr,{Link:()=>he,Schema:()=>x,add:()=>ca,all:()=>YO,list:()=>la,remove:()=>ua,store:()=>gx});var gx=T({can:"store/*",with:V.match({protocol:"did:"}),derives:de}),ca=T({can:"store/add",with:V.match({protocol:"did:"}),nb:x.struct({link:he,size:x.integer(),origin:he.optional()}),derives:(t,e)=>{let r=yx(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({})}}),ua=T({can:"store/remove",with:V.match({protocol:"did:"}),nb:x.struct({link:he}),derives:yx}),la=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({})}),YO=ca.or(ua).or(la);var pr={};M(pr,{Link:()=>he,Schema:()=>x,add:()=>da,all:()=>t$,list:()=>ha,remove:()=>fa,upload:()=>wx});var wx=T({can:"upload/*",with:V.match({protocol:"did:"}),derives:de}),e$=he.match({code:Re.code,version:1}),da=T({can:"upload/add",with:V.match({protocol:"did:"}),nb:x.struct({root:he,shards:e$.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({})}),fa=T({can:"upload/remove",with:V.match({protocol:"did:"}),nb:x.struct({root:he}),derives:(t,e)=>X(de(t,e))||X(Be(t.nb.root,e.nb.root,"root"))||C({})}),ha=T({can:"upload/list",with:V.match({protocol:"did:"}),nb:x.struct({cursor:x.string().optional(),size:x.integer().optional(),pre:x.boolean().optional()})}),t$=da.or(fa).or(ha);var Pu=T({can:"*",with:V.match({protocol:"did:"}),derives:de});var Lh=x.did({method:"key"}),qT=T({can:"space/*",with:Lh,derives:de}),VT=ca.or(la).or(ua).or(da).or(ha).or(fa).derive({to:T({can:"space/info",with:Lh}),derives:de}),GT=T({can:"space/recover-validation",with:Lh,nb:x.struct({identity:V.match({protocol:"mailto:"})})}),KT=T({can:"space/recover",with:x.did(),nb:x.struct({identity:V.match({protocol:"mailto:"})}),derives:(t,e)=>X(de(t,e))||X(WT(t.nb.identity,e.nb.identity))||C({})}),gX=T({can:"space/allocate",with:Lh,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 kX=ee.match({method:"key"}),ZT=V.uri(),JT=V.match({protocol:"mailto:"}),o$=ee.match({}),vX=T({can:"voucher/*",with:V.match({protocol:"did:"}),derives:de}),QT=T({can:"voucher/claim",with:V.match({protocol:"did:"}),nb:x.struct({product:ZT,identity:JT,service:o$.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({})}),XT=T({can:"voucher/redeem",with:V.match({protocol:"did:"}),nb:x.struct({product:ZT,identity:JT,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 eC=ee.match({method:"mailto"}),tC=x.struct({can:x.string()}),i$=x.struct({iss:eC,att:tC.array()}),rC=T({can:"access/*",with:V.match({protocol:"did:"})}),nC=T({can:"access/authorize",with:ee.match({method:"key"}),nb:i$,derives:(t,e)=>X(de(t,e))||X(Be(t.nb.iss,e.nb.iss,"iss"))||X(sC(t.nb.att,e.nb.att))||C({})}),AX=T({can:"access/confirm",with:ee,nb:x.struct({iss:eC,aud:x.did(),att:tC.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(sC(t.nb.att,e.nb.att))||C({})}),oC=T({can:"ucan/attest",with:V.match({protocol:"did:"}),nb:x.struct({proof:he})}),DX=T({can:"access/claim",with:ee.match({method:"key"}).or(ee.match({method:"mailto"}))}),TX=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(a$(t,e))||C({})});function a$(t,e){let r=iC(YT(t),new Set(YT(e)));return r.size>0?ie(`unauthorized nb.delegations ${[...r].join(", ")}`):C({})}var sC=(t,e)=>{let r=new Set(e.map(o=>o.can));if(r.has("*"))return C({});let n=iC(t.map(o=>o.can),r);return n.size>0?ie(`unauthorized nb.att.can ${[...n].join(", ")}`):C({})};function*YT(t){for(let e of Object.values(t.nb.delegations||{}))yield e.toString()}function iC(t,e){let r=new Set;for(let n of t)e.has(n)||r.add(n);return r}var u$=ee.match({method:"web"}),l$=ee.match({method:"key"}),PX=T({can:"consumer/has",with:u$,nb:Ne({consumer:l$}),derives:(t,e)=>X(de(t,e))||X(Be(t.nb.consumer,e.nb.consumer,"consumer"))||C({})});var f$=ee.match({method:"web"}),h$=ee.match({method:"mailto"}),RX=T({can:"customer/get",with:f$,nb:Ne({customer:h$}),derives:(t,e)=>X(de(t,e))||X(Be(t.nb.customer,e.nb.customer,"customer"))||C({})});var $X=T({can:"console/log",with:x.did(),nb:x.struct({value:x.unknown()}),derives:de}),MX=T({can:"console/error",with:x.did(),nb:x.struct({error:x.unknown()}),derives:de});var aC=T({can:"offer/arrange",with:x.did(),nb:x.struct({pieceLink:x.link()}),derives:(t,e)=>X(de(t,e))||X(aa(t.nb.pieceLink,e.nb.pieceLink,"nb.pieceLink"))||C({})});var g$=4114,w$=61697,cC=T({can:"aggregate/offer",with:x.did(),nb:x.struct({offer:x.link(),piece:x.struct({link:x.link({code:w$,version:1,multihash:{code:g$}}),size:x.integer()})}),derives:(t,e)=>X(de(t,e))||X(aa(t.nb.offer,e.nb.offer,"nb.offer"))||X(aa(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({})}),uC=T({can:"aggregate/get",with:x.did(),nb:x.struct({subject:x.link()}),derives:(t,e)=>X(de(t,e))||X(aa(t.nb.subject,e.nb.subject,"nb.subject"))||C({})});var HX=[Pu.can,HT.can,qT.can,VT.can,KT.can,GT.can,wx.can,da.can,fa.can,ha.can,gx.can,ca.can,ua.can,la.can,QT.can,XT.can,rC.can,nC.can,oC.can,cC.can,uC.can,aC.can];var x$=new TextEncoder,k$=new TextDecoder,lC=t=>x$.encode(t),dC=t=>k$.decode(t);var fC="did:",S$=fC.length,hC="did:key:",E$=hC.length,_$=237,A$=4613,D$=4608,T$=4609,C$=4610;var kx=3357,bx=Y.encodingLength(kx),Uu=t=>{if(t.startsWith(fC))if(t.startsWith(hC)){let e=Le.decode(t.slice(E$));return I$(e)}else{let e=lC(t.slice(S$)),r=new Uint8Array(e.byteLength+bx);return Y.encodeTo(kx,r),r.set(e,bx),new Lu(r)}else throw new RangeError(`Invalid DID "${t}", must start with 'did:'`)};var I$=t=>{let[e]=Y.decode(t),{buffer:r,byteOffset:n,byteLength:o}=t;switch(e){case D$:if(t.length>35)throw new RangeError("Only p256-pub compressed is supported.");case _$:case A$:case T$:case C$:return new xx(r,n,o);case kx:return new Lu(r,n,o);default:throw new RangeError(`Unsupported DID encoding, unknown multicode 0x${e.toString(16)}.`)}};var Lu=class extends Uint8Array{did(){let e=new Uint8Array(this.buffer,this.byteOffset+bx);return`did:${dC(e)}`}toJSON(){return this.did()}},xx=class extends Lu{did(){return`did:key:${Le.encode(this)}`}};var B$=new URL("https://up.web3.storage"),P$=Uu("did:web:web3.storage"),L$=Oo({id:P$,codec:ir.outbound,channel:Pn.open({url:B$,method:"POST"})}),U$=new URL("https://up.web3.storage"),R$=Uu("did:web:web3.storage"),N$=Oo({id:R$,codec:ir.outbound,channel:Pn.open({url:U$,method:"POST"})}),mC={access:L$,upload:N$};var Yt=class{constructor(e,r={}){w(this,"_agent");w(this,"_serviceConf");this._serviceConf=r.serviceConf??mC,this._agent=new gf(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 Ru,ms,ys=class{constructor(e,r={}){De(this,Ru,void 0);De(this,ms,void 0);Ce(this,Ru,e),Ce(this,ms,r)}name(){return j(this,ms).name}did(){return j(this,Ru)}registered(){return!!j(this,ms).isRegistered}meta(){return j(this,ms)}};Ru=new WeakMap,ms=new WeakMap;var Ou,Nu=class extends Gt{constructor(r,n,o={}){super(r,n);De(this,Ou,void 0);Ce(this,Ou,o)}meta(){return j(this,Ou)}};Ou=new WeakMap;var Uh=class extends Yt{async add(e,r={}){let n=await this._invocationConfig([hr.add.can]);return r.connection=this._serviceConf.upload,ji.add(n,e,r)}async list(e={}){let r=await this._invocationConfig([hr.add.can]);return e.connection=this._serviceConf.upload,ji.list(r,e)}async remove(e,r={}){let n=await this._invocationConfig([hr.remove.can]);return r.connection=this._serviceConf.upload,ji.remove(n,e,r)}};var Rh=class extends Yt{async add(e,r,n={}){let o=await this._invocationConfig([pr.add.can]);return n.connection=this._serviceConf.upload,Wi.add(o,e,r,n)}async list(e={}){let r=await this._invocationConfig([pr.list.can]);return e.connection=this._serviceConf.upload,Wi.list(r,e)}async remove(e,r={}){let n=await this._invocationConfig([pr.remove.can]);return r.connection=this._serviceConf.upload,Wi.remove(n,e,r)}};var Nh=class extends Yt{async info(e){return await this._agent.getSpaceInfo(e)}};var Oh=class extends Yt{async authorize(e,r){return m2(this._agent,e,r)}async claim(){return Ow(this._agent,this._agent.issuer.did(),{addProofs:!0})}};var $u=class extends Yt{constructor(e,r){super(e,r),this.capability={access:new Oh(e,r),store:new Uh(e,r),upload:new Rh(e,r),space:new Nh(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,FT(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 Nu(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 Nu(s,i,{audience:o})}};async function yC(t={}){let e=t.store??new kf("w3up-client"),r=await e.load();if(r){let s=Gn.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 $u(s,t)}let n=t.principal??await Aw(),o=await Gn.create({principal:n},{store:e});return new $u(o,t)}var Mu={};M(Mu,{Delegation:()=>io,View:()=>io,allows:()=>W$,create:()=>Ex,delegate:()=>ks,exportDAG:()=>Sx,importDAG:()=>q$,isDelegation:()=>xs,isLink:()=>j$,view:()=>_x});var ln={};M(ln,{code:()=>Ct,contentType:()=>$$,decode:()=>Ge,encode:()=>gs,link:()=>gC,name:()=>Ja,write:()=>M$});var $$="application/vnd.ipld.dag-cbor",$h=(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(ke(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:$h(n,e));return r}if(typeof t.toJSON=="function"){e.add(t);let r=t.toJSON();return $h(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]=$h(o,e));return r}return t},gs=t=>rr($h(t,new Set)),gC=async(t,{hasher:e=ue}={})=>Fe(Ct,await e.digest(t)),M$=async(t,e)=>{let r=gs(t);return{cid:await gC(r,e),bytes:r}};var ws=function*(t){t&&typeof t=="object"&&"iterateIPLDBlocks"in t&&typeof t.iterateIPLDBlocks=="function"&&(yield*t.iterateIPLDBlocks())},wC=(t=[])=>{let e=new Map;return Fh(t,e),e},F$=Eo.code,so=(t,e,r)=>{if(t.multihash.code===F$)return{cid:t,bytes:t.multihash.digest};let n=e.get(`${t}`);return n||(r===void 0?bs(t):r)};var bs=t=>{throw new Error(`Block for the ${t} is not found`)},Mh=async(t,e,r={})=>{let n=r.codec||ln,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}},z$=({cid:t,bytes:e},r)=>(r.set(t.toString(),{bytes:e,cid:t}),{bytes:e,cid:t}),Fh=(t,e)=>{for(let r of t)z$(r,e)};var j$=ke,xs=t=>!ke(t),W$=(...t)=>{let e={};for(let r of t)for(let{with:n,can:o,nb:s}of bC(r)){let i=e[n]||(e[n]={});(i[o]||(i[o]=[])).push({...s})}return e},bC=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(xs(o))for(let s of bC(o)){let i=H$(s.can,n.can);i&&(yield{...s,can:i,nb:{...s.nb,...Object(n.nb)}})}}else yield n},H$=(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,io=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=G$(n);for(let s of o)e.add(`${s}`)}for(let n of r.facts)if(ke(n))e.add(`${n}`);else{let o=Object.values(n).filter(s=>ke(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=zh(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 Sx(this.root,this.blocks,this.attachedLinks)}iterateIPLDBlocks(){return Sx(this.root,this.blocks,this.attachedLinks)}get proofs(){return V$(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 xC(this)}delegate(){return this}buildIPLDView(){return this}toJSON(){return{...this.data.toJSON(),"/":this.cid.toString(),prf:this.proofs.map(e=>xs(e)?e:{"/":e.toString()})}}},xC=function*(t){for(let e of t.proofs)xs(e)&&(yield*xC(e),yield e)},vx=new WeakMap,zh=({bytes:t})=>{let e=vx.get(t);if(!e){let r=Nl(t);return vx.set(t,r),r}return e},ks=async({issuer:t,audience:e,proofs:r=[],attachedBlocks:n=new Map,...o},s)=>{let i=[],a=new Map;for(let p of r)if(!xs(p))i.push(p);else{i.push(p.cid);for(let f of p.export())a.set(f.cid.toString(),f)}let c=await pi({...o,issuer:t,audience:e,proofs:i}),{cid:u,bytes:l}=await Ol(c,s);vx.set(u,c);let d=new io({cid:u,bytes:l},a);Object.defineProperties(d,{proofs:{value:r}});for(let p of n.values())d.attach(p);return d},Sx=function*(t,e,r){for(let n of zh(t).proofs){let o=e.get(`${n}`);o&&(yield*kC(o,e))}for(let n of r.values()){let o=e.get(n);o&&(yield o)}yield t},kC=function*(t,e){for(let r of zh(t).proofs){let n=e.get(`${r}`);n&&(yield*kC(n,e))}yield t},q$=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 io(n,new Map(e))}else throw new RangeError("Empty DAG can not be turned into a delegation")},Ex=({root:t,blocks:e})=>new io(t,e),_x=({root:t,blocks:e},r)=>{let n=so(t,e,null);return n?Ex({root:n,blocks:e}):r},V$=t=>{let e=[],{root:r,blocks:n}=t;for(let o of zh(r).proofs){let s=n.get(o.toString());e.push(s?Ex({root:s,blocks:n}):o)}return Object.defineProperty(t,"proofs",{value:e}),e};function G$(t){let e=[];function r(n){for(let o in n){let s=n[o];ke(s)?e.push(s):s&&typeof s=="object"&&r(s)}}return r(t),e}var vs={};M(vs,{Invocation:()=>jh,create:()=>vC,invoke:()=>Fu,view:()=>Dx});var Fu=t=>new Ax(t),vC=({root:t,blocks:e})=>new jh(t,e),Dx=({root:t,blocks:e},r)=>{let n=so(t,e,null);return n==null?r!==void 0?r:bs(t):vC({root:n,blocks:e})},Ax=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 ks(this)}buildIPLDView(){return ks(this)}async execute(e){let r=this,[n]=await e.execute(r);return n}},jh=class extends io{};var Ur={};M(Ur,{MessageSchema:()=>RC,build:()=>SM,view:()=>EM});var zu={};M(zu,{issue:()=>Z$,view:()=>Hh});var Hh=({root:t,blocks:e},r)=>{let n=so(t,e,null);if(n==null)return r!==void 0?r:bs(t);let o=Ge(n.bytes);return new Wh({root:{...n,data:o},store:e})},Wh=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=Dx({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=_x({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=li(this.root.data.sig);return this._signature=r,r}}verifySignature(e){return this.signature.verify(e,gs(this.root.data.ocm))}buildIPLDView(){return this}*iterateIPLDBlocks(){let{ran:e,fx:r,proofs:n,root:o}=this;yield*ws(e);for(let s of r.fork)yield*ws(s);r.join&&(yield*ws(r.join));for(let s of n)yield*ws(s);yield o}},Tx=class{constructor({issuer:e,result:r,ran:n,fx:o=K$,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=ln}={}){let n=wC();Fh(ws(this.ran),n);for(let c of this.proofs)Fh(ws(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(gs(o)),a=await Mh({ocm:o,sig:s},n,{hasher:e,codec:r});return new Wh({root:a,store:n,signature:s,proofs:this.proofs,ran:this.ran})}},K$=Object.freeze({fork:Object.freeze([])}),Z$=t=>new Tx(t).buildIPLDView();var ct={};M(ct,{API:()=>me,DID:()=>u0,Link:()=>ju,Text:()=>f0,URI:()=>St,and:()=>TC,array:()=>_C,boolean:()=>rM,dictionary:()=>o0,did:()=>sp,endsWith:()=>PC,enum:()=>Y$,error:()=>$e,float:()=>uM,greaterThan:()=>IC,integer:()=>iM,intersection:()=>DC,lessThan:()=>CC,link:()=>Es,literal:()=>Kh,memberError:()=>Ss,never:()=>J$,nullable:()=>EC,number:()=>nM,ok:()=>qh,optional:()=>Qh,or:()=>AC,refine:()=>LC,startsWith:()=>BC,string:()=>fn,struct:()=>Xh,text:()=>ip,tuple:()=>X$,typeError:()=>vt,unknown:()=>Q$,uri:()=>c0,variant:()=>i0});var St={};M(St,{from:()=>pM,match:()=>c0,read:()=>hM,uri:()=>fM});var qh=t=>{if(t==null)throw new TypeError(`ok(${t}) is not allowed, consider ok({}) instead`);return{ok:t}};var SC=t=>{throw new mr(t)};var mr=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 me=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 Qh(this)}nullable(){return EC(this)}array(){return _C(this)}or(e){return AC(this,e)}and(e){return TC(this,e)}refine(e){return LC(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 Lx({reader:this,value:r})}},Cx=class extends me{toString(){return"never()"}read(e){return vt({expect:"never",actual:e})}},J$=()=>new Cx,Ix=class extends me{read(e){return{ok:e}}toString(){return"unknown()"}},Q$=()=>new Ix,Bx=class extends me{readWith(e,r){let n=r.read(e);return n.error?e===null?{ok:null}:{error:new Jh({causes:[n.error,vt({expect:"null",actual:e}).error]})}:n}toString(){return`${this.settings}.nullable()`}},EC=t=>new Bx(t),Px=class extends me{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()`}},Lx=class extends me{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}},Qh=t=>new Px(t),Ux=class extends me{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 Ss({at:o,cause:i.error});n.push(i.ok)}return{ok:n}}get element(){return this.settings}toString(){return`array(${this.element})`}},_C=t=>new Ux(t),Rx=class extends me{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 Ss({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(", ")}])`}},X$=t=>new Rx(t),Nx=class t extends me{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 Ss({at:s,cause:a.error});let c=n.read(i);if(c.error)return Ss({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:Qh(r)})}toString(){return`dictionary(${this.settings})`}},o0=({value:t,key:e})=>new Nx({value:t,key:e||fn()}),Ox=class extends me{readWith(e,{variants:r,type:n}){return r.has(e)?{ok:e}:vt({expect:n,actual:e})}toString(){return this.settings.type}},Y$=t=>new Ox({type:t.join("|"),variants:new Set(t)});var $x=class extends me{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 Jh({causes:n})}}get variants(){return this.settings}toString(){return`union([${this.variants.map(e=>e.toString()).join(", ")}])`}},eM=t=>new $x(t),AC=(t,e)=>eM([t,e]),Mx=class extends me{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 n0({causes:n})}:{ok:e}}toString(){return`intersection([${this.settings.map(e=>e.toString()).join(",")}])`}},DC=t=>new Mx(t),TC=(t,e)=>DC([t,e]),Fx=class extends me{readWith(e){switch(e){case!0:case!1:return{ok:e};default:return vt({expect:"boolean",actual:e})}}toString(){return"boolean()"}},tM=new Fx,rM=()=>tM,Vh=class extends me{greaterThan(e){return this.refine(IC(e))}lessThan(e){return this.refine(CC(e))}refine(e){return new jx({base:this,schema:e})}},zx=class extends Vh{readWith(e){return typeof e=="number"?{ok:e}:vt({expect:"number",actual:e})}toString(){return"number()"}},s0=new zx,nM=()=>s0,jx=class extends Vh{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})`}},Wx=class extends me{readWith(e,r){return e<r?{ok:e}:$e(`Expected ${e} < ${r}`)}toString(){return`lessThan(${this.settings})`}},CC=t=>new Wx(t),Hx=class extends me{readWith(e,r){return e>r?{ok:e}:$e(`Expected ${e} > ${r}`)}toString(){return`greaterThan(${this.settings})`}},IC=t=>new Hx(t),oM={read(t){return Number.isInteger(t)?{ok:t}:vt({expect:"integer",actual:t})},toString(){return"Integer"}},sM=s0.refine(oM),iM=()=>sM,aM={read(t){return Number.isFinite(t)?{ok:t}:vt({expect:"Float",actual:t})},toString(){return"Float"}},cM=s0.refine(aM),uM=()=>cM,Gh=class extends me{refine(e){let r=e;return new qx({base:this,schema:r})}startsWith(e){return this.refine(BC(e))}endsWith(e){return this.refine(PC(e))}toString(){return"string()"}},qx=class extends Gh{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})`}},Vx=class extends Gh{readWith(e){return typeof e=="string"?{ok:e}:vt({expect:"string",actual:e})}},lM=new Vx,fn=()=>lM,Gx=class extends me{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}")`}},BC=t=>new Gx(t),Kx=class extends me{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}")`}},PC=t=>new Kx(t),Zx=class extends me{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})`}},LC=(t,e)=>new Zx({base:t,schema:e}),Jx=class extends me{readWith(e,r){return e!==r?{error:new e0({expect:r,actual:e})}:{ok:r}}get value(){return this.settings}default(e=this.value){return super.default(e)}toString(){return`literal(${Zh(this.value)})`}},Kh=t=>new Jx(t),Qx=class t extends me{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 Ss({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,Qh(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})}},Xh=t=>{let e={},r=Object.entries(t);for(let[n,o]of r)switch(typeof o){case"number":case"string":case"boolean":e[n]=Kh(o);break;case"object":e[n]=o===null?Kh(null):o;break;default:throw new Error(`Invalid struct field "${n}", expected schema or literal, instead got ${typeof o}`)}return new Qx(e)},Xx=class extends me{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?Ss({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)}},i0=t=>new Xx(t),$e=t=>({error:new dn(t)}),dn=class extends mr{get name(){return"SchemaError"}describe(){return this.name}},Yx=class extends dn{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 ${Zh(this.actual)}`}},vt=t=>({error:new Yx(t)}),Zh=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}},e0=class extends dn{constructor({expect:e,actual:r}){super(),this.expect=e,this.actual=r}get name(){return"LiteralError"}describe(){return`Expected literal ${Zh(this.expect)} instead got ${Zh(this.actual)}`}},t0=class extends dn{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}:`,Yh(this.cause.message)].join(`
|
15
|
-
`)}},r0=class extends dn{constructor({at:e,cause:r}){super(),this.at=e,this.cause=r}get name(){return"FieldError"}describe(){return[`Object contains invalid field "${this.at}":`,Yh(this.cause.message)].join(`
|
16
|
-
`)}},Ss=({at:t,cause:e})=>typeof t=="string"?{error:new r0({at:t,cause:e})}:{error:new t0({at:t,cause:e})},Jh=class extends dn{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=>Yh(r.message))].join(`
|
17
|
-
`)}},n0=class extends dn{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=>Yh(r.message))].join(`
|
18
|
-
`)}},dM=(t,e=" ")=>`${e}${t.split(`
|
19
|
-
`).join(`
|
20
|
-
${e}`)}`,Yh=t=>dM(`- ${t}`);var tp=class extends me{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")}}},a0=new tp({}),fM=()=>a0,hM=t=>a0.read(t),c0=t=>new tp(t),pM=t=>a0.from(t);var ju={};M(ju,{create:()=>Fe,createLegacy:()=>oi,isLink:()=>ke,link:()=>mM,match:()=>Es,optional:()=>gM,parse:()=>br,read:()=>yM,schema:()=>np});var rp=class extends me{readWith(e,{code:r,multihash:n={},version:o}){if(e==null)return $e(`Expected link but got ${e} instead`);if(ke(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}`)}},np=new rp({}),mM=()=>np,Es=(t={})=>new rp(t),yM=t=>np.read(t),gM=()=>np.optional();var u0={};M(u0,{did:()=>wM,from:()=>xM,match:()=>sp,read:()=>bM});var op=class extends me{readWith(e,r){let n=r?`did:${r}:`:"did:";return e.startsWith(n)?{ok:e}:$e(`Expected a ${n} but got "${e}" instead`)}},UC=fn().refine(new op),wM=()=>UC,bM=t=>UC.read(t),sp=(t={})=>fn().refine(new op(t.method)),xM=t=>sp({}).from(t);var f0={};M(f0,{match:()=>ip,read:()=>vM,text:()=>kM});var l0=fn(),ip=t=>t?l0.refine(new d0(t.pattern)):l0,kM=ip,vM=t=>l0.read(t),d0=class extends me{readWith(e,r){return r.test(e)?{ok:e}:$e(`Expected to match ${r} but got "${e}" instead`)}};var RC=i0({"ucanto/message@7.0.0":Xh({execute:Es().array().optional(),delegate:o0({key:fn(),value:Es()}).array().optional()})}),SM=({invocations:t,receipts:e})=>new h0({invocations:t,receipts:e}).buildIPLDView(),EM=({root:t,store:e},r)=>{let n=so(t,e,null);if(n===null)return r!==void 0?r:bs(t);let o=ln.decode(n.bytes),[s,i]=RC.match(o,r);switch(s){case"ucanto/message@7.0.0":return new ap({root:{...n,data:o},store:e});default:return i}},h0=class{constructor({invocations:e,receipts:r}){this.invocations=e,this.receipts=r}async buildIPLDView(e){let r=new Map,{invocations:n,...o}=await _M(this.invocations||[],r),{receipts:s,...i}=await AM(this.receipts||[],r),a=await Mh({"ucanto/message@7.0.0":{...o,...i}},r,e);return new ap({root:a,store:r},{receipts:s,invocations:n})}},_M=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}:{}}},AM=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}},ap=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?Hh({root:o,blocks:this.store}):r!==void 0?r:SC(`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=>vs.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=Hh({root:o,blocks:this.store});e.set(`${s.ran.link()}`,s)}}return e}};var ut={};M(ut,{code:()=>NC,contentType:()=>DM,createWriter:()=>CM,decode:()=>p0,encode:()=>OC,link:()=>$C,name:()=>TM,write:()=>IM});var DM="application/vnd.ipld.car",TM="CAR",NC=514,cp=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+=In({roots:r});let n=new ArrayBuffer(this.byteLength),o=Bn(n,{roots:r});for(let s of this.blocks)o.write(s);return o.close()}},CM=()=>new cp,OC=({roots:t=[],blocks:e})=>{let r=new cp;return e&&r.write(...e.values()),r.flush(...t)},p0=t=>{let e=qr.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}},$C=async(t,{hasher:e=ue}={})=>Fe(NC,await e.digest(t)),IM=async(t,e)=>{let r=OC(t),n=await $C(r,e);return{bytes:r,cid:n}};var MC=t=>new m0(t),m0=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 BM(e,this)}},BM=async(t,e)=>{let r=await Ur.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 zu.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 yee=Mu.delegate;var Hu={};M(Hu,{codec:()=>ut,contentType:()=>lp,inbound:()=>FM,outbound:()=>zM,request:()=>_s,response:()=>As});var _s={};M(_s,{codec:()=>ut,contentType:()=>ma,decode:()=>UM,encode:()=>LM});var ma=ut.contentType,PM=Object.freeze({"content-type":ma,accept:ma}),LM=(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||PM,body:n}},UM=async({headers:t,body:e})=>{let{roots:r,blocks:n}=ut.decode(e);return Ur.view({root:r[0].cid,store:n})};var As={};M(As,{codec:()=>ut,contentType:()=>Wu,decode:()=>OM,encode:()=>NM});var Wu=ut.contentType,RM=Object.freeze({"content-type":Wu}),NM=(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:RM,body:n}},OM=async({headers:t,body:e})=>{let{roots:r,blocks:n}=ut.decode(e);return Ur.view({root:r[0].cid,store:n})};var up=t=>new y0(t),y0=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=MM(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:zC(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])=>({...w0(n),encoder:o})).sort((n,o)=>o.preference-n.preference),this.encoders.length===0)throw new Error("At least one encoder MUST be provided")}},FC=t=>new g0(t),g0=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])=>({...w0(n),encoder:o})).sort((n,o)=>o.preference-n.preference),this.acceptType=zC(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)}},w0=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}},$M=({category:t,type:e,preference:r})=>`${t}/${e}${r?`;q=${r}`:""}`,MM=t=>t.split(",").map(w0).sort((e,r)=>r.preference-e.preference),zC=t=>t.map($M).join(", ");var lp=ut.contentType,FM=up({decoders:{[ma]:_s},encoders:{[Wu]:As}}),zM=FC({encoders:{[ma]:_s},decoders:{[Wu]:As}});var dp={};M(dp,{open:()=>jM});var jM=({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 x0({url:t,method:e,fetch:r})},x0=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():k0.throw("HTTP Request failed",n);return{headers:n.headers.entries?Object.fromEntries(n.headers.entries()):{},body:new Uint8Array(o)}}},k0=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 See=new TextEncoder,Eee=new TextDecoder;var v0={};M(v0,{contentType:()=>jC,encode:()=>qM});var jC="application/cbor",HM=Object.freeze({"content-type":jC}),qM=(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=gs(r);return{headers:HM,body:n}};var fp={};M(fp,{contentType:()=>VM,decode:()=>GM});var VM="application/car",GM=async({body:t})=>{let{roots:e,blocks:r}=p0(t),n=[];for(let{cid:s}of e){let i=vs.view({root:s,blocks:r});n.push(i)}return await Ur.build({invocations:n})};var{contentType:KM}=fp;var Aee=up({decoders:{[KM]:fp,[lp]:_s},encoders:{"*/*;q=0.1":v0,[lp]:As}});var qu=t=>t,WC=t=>Object.entries(t),HC=([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},S0=(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 Vu=class extends mr{constructor(e,r,n){super(),this.claimed=e,this.delegated=r,this.cause=n,this.name=qu("EscalatedCapability")}describe(){return`Constraint violation: ${this.cause.message}`}},hn=class extends mr{constructor(e,r){super(),this.name=qu("InvalidClaim"),this.causes=e,this.context=r}describe(){return[`Can not derive ${this.context} from delegated capabilities:`,...this.causes.map(e=>E0(e.message))].join(`
|
21
|
-
`)}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 ao=class extends mr{constructor(e,r){super(),this.name=qu("MalformedCapability"),this.capability=e,this.cause=r}describe(){return[`Encountered malformed '${this.capability.can}' capability: ${qC(this.capability)}`,E0(this.cause.message)].join(`
|
22
|
-
`)}},ya=class extends mr{constructor(e){super(),this.name=qu("UnknownCapability"),this.capability=e}describe(){return`Encountered unknown capability: ${qC(this.capability)}`}};var qC=(t,e)=>JSON.stringify(t,(r,n)=>ke(n)?n.toString():n,e),QM=(t,e=" ")=>`${e}${t.split(`
|
23
|
-
`).join(`
|
24
|
-
${e}`)}`,E0=t=>QM(`- ${t}`);var pn=({derives:t=cF,nb:e=XM,...r})=>new _0({derives:t,nb:e,...r}),XM=ct.struct({}),YM=(t,e)=>new A0(t,e),eF=(...t)=>new D0(t),tF=({from:t,to:e,derives:r})=>new T0(t,e,r),hp=class{match(e){return{error:new ya(e.capability)}}select(e){return aF(this,e)}derive({derives:e,to:r}){return tF({derives:e,to:r,from:this})}},Gu=class extends hp{or(e){return YM(this,e)}and(e){return eF(this,e)}},_0=class extends Gu{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 VC({can:n,with:i.ok,nb:a.ok})}invoke({with:e,nb:r,...n}){return Fu({...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 ks({capabilities:[VC({can:s,with:a.ok,nb:c.ok})],...n})}get can(){return this.descriptor.can}match(e){let r=sF(this.descriptor,e);return r.error?r:{ok:new C0(e,r.ok,this.descriptor)}}toString(){return JSON.stringify({can:this.descriptor.can})}},VC=({can:t,with:e,nb:r})=>({can:t,with:e,...rF(r)?{}:{nb:r}}),rF=t=>{for(let e in t)return!1;return!0},A0=class extends Gu{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()}`}},D0=class t extends hp{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 pp(r)}}select(e){return GC(this,e)}and(e){return new t([...this.selectors,e])}toString(){return`[${this.selectors.map(String).join(", ")}]`}},T0=class extends Gu{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 I0(r.ok,this.from,this.derives)}}toString(){return this.to.toString()}},C0=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=iF(this.descriptor,this.value,s);if(i.ok){let a=this.descriptor.derives(this.value,i.ok);a.error?n.push(new hn([new Vu(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 hn([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})}},I0=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 hn([new Vu(s,l.value,d.error)],this)):c.push(l)}return{unknown:S0(i.unknown,a.unknown),errors:[...u,...i.errors,...a.errors.map(l=>new hn([l],this))],matches:[...i.matches.map(l=>new t(l,o,r)),...c]}}toString(){return this.selected.toString()}},pp=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 GC(this,e)}toString(){return`[${this.matches.map(e=>e.toString()).join(", ")}]`}},nF=(t,e,r)=>{switch(t){case e:case"*":return e;default:return t.endsWith("/*")&&e.startsWith(t.slice(0,-1))?e:r}},oF=(t,e,r)=>{switch(t){case e:case"ucan:*":return e;default:return r}},sF=(t,e)=>{let{delegation:r}=e,n=e.capability;if(t.can!==n.can)return{error:new ya(n)};let o=t.with.read(n.with);if(o.error)return{error:new ao(n,o.error)};let s=t.nb.read(n.nb||{});return s.error?{error:new ao(n,s.error)}:{ok:new mp(t.can,o.ok,s.ok,r)}},iF=(t,e,{capability:r,delegation:n})=>{let o=nF(r.can,e.can,null);if(o==null)return{error:new ya(r)};let s=oF(r.with,e.with,r.with),i=t.with.read(s);if(i.error)return{error:new ao(r,i.error)};let a=t.nb.read({...e.nb,...r.nb});return a.error?{error:new ao(r,a.error)}:{ok:new mp(o,i.ok,a.ok,n)}},mp=class{constructor(e,r,n,o){this.can=e,this.with=r,this.delegation=o,this.nb=n}},aF=(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 hn([i.error],i.error.capability))}else n.push(i.ok)}return{matches:n,errors:o,unknown:r}},GC=(t,e)=>{let r,n=[],o=[];for(let i of t.selectors){let a=i.select(e);r=r?S0(r,a.unknown):a.unknown;for(let c of a.errors)o.push(new hn([c],t));n.push(a.matches)}let s=HC(n).map(i=>new pp(i));return{unknown:r||[],errors:o,matches:s}},cF=(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=WC(r);for(let[s,i]of o)if(n[s]!=i)return ct.error(`${String(s)}: ${n[s]} violates ${i}`);return{ok:!0}};var Yee=pn({can:"clock/*",with:St.match({protocol:"did:"})}),ete=pn({can:"clock/follow",with:St.match({protocol:"did:"}),nb:ct.struct({iss:St.match({protocol:"did:"}).optional(),with:St.match({protocol:"did:"}).optional()})}),tte=pn({can:"clock/unfollow",with:St.match({protocol:"did:"}),nb:ct.struct({iss:St.match({protocol:"did:"}).optional(),with:St.match({protocol:"did:"}).optional()})}),rte=pn({can:"clock/following",with:St.match({protocol:"did:"})}),KC=pn({can:"clock/head",with:St.match({protocol:"did:"})}),ZC=pn({can:"clock/advance",with:St.match({protocol:"did:"}),nb:ct.struct({event:ju.match({version:1})})});var lF="https://clock.web3.storage",dF="did:web:clock.web3.storage";async function JC({issuer:t,with:e,proofs:r,audience:n},o,s){let i=s?.connection??XC(),a=s?.blocks?[Object.fromEntries(s.blocks.map(u=>[u.cid.toString(),u.cid]))]:[],c=ZC.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 QC({issuer:t,with:e,proofs:r,audience:n},o){let s=o?.connection??XC();return await KC.invoke({issuer:t,audience:n??s.id,with:e,proofs:r}).execute(s)}function XC(t){let e=t?.serviceURL??new URL(lF);return MC({id:t?.servicePrincipal??Uu(dF),codec:Hu.outbound,channel:dp.open({url:e,method:"POST"})})}async function Ku(t,e,r){let n=new Rr(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 YC(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 YC(n,i,r))return e;return e.concat(r)}var Ds=class extends Xt{constructor({cid:e,value:r,bytes:n,prefix:o}){super({cid:e,value:r,bytes:n}),this.prefix=o}static create(e,r){return hF({data:e,parents:r??[]})}},Rr=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 Zu(r.bytes)}};async function hF(t){let{cid:e,bytes:r}=await dh({value:t,codec:Ae,hasher:ue});return new Xt({cid:e,value:t,bytes:r})}async function Zu(t){let{cid:e,value:r}=await fh({bytes:t,codec:Ae,hasher:ue});return new Xt({cid:e,value:r,bytes:t})}async function YC(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];for(;s.length;){let i=s.shift();if(!i)break;if(i.toString()===r.toString())return!0;if(o.parents.some(c=>i.toString()===c.toString()))continue;let{value:a}=await t.get(i);s.push(...a.parents)}return!1}async function*B0(t,e,r={}){let n=r.renderNodeLabel??(c=>pF(c.cid)),o=new Rr(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 pF=t=>`${String(t).slice(0,4)}..${String(t).slice(-4)}`;function yp({enumerable:t=!0,configurable:e=!1}={}){return{enumerable:t,configurable:e,writable:!1}}function*yF(t,e){if(e!=null&&typeof e=="object")if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r],s=xe.asCID(n);s?yield[o.join("/"),s]:typeof n=="object"&&(yield*P0(n,o))}else{let r=xe.asCID(e);r?yield[t.join("/"),r]:yield*P0(e,t)}}function*P0(t,e){if(t==null||t instanceof Uint8Array)return;let r=xe.asCID(t);r&&(yield[e.join("/"),r]);for(let[n,o]of Object.entries(t)){let s=[...e,n];yield*yF(s,o)}}function*gF(t,e){if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r];yield o.join("/"),typeof n=="object"&&!xe.asCID(n)&&(yield*L0(n,o))}else yield*L0(e,t)}function*L0(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"&&!xe.asCID(n)&&(yield*gF(o,n))}}function wF(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=xe.asCID(r);if(s)return{value:s,remaining:e.slice(n+1).join("/")}}return{value:r}}var Ju=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:yp(),bytes:yp(),value:yp(),asBlock:yp()})}links(){return P0(this.value,[])}tree(){return L0(this.value,[])}get(e="/"){return wF(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=xe.create(1,e.code,o);return new Ju({value:t,bytes:n,cid:s})}async function co({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=xe.create(1,e.code,o);return new Ju({value:n,bytes:t,cid:s})}function bF({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 Ju({cid:e,bytes:t,value:o})}async function gp({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 bF({bytes:t,cid:e,value:o,codec:n})}var eI=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Et=To({name:"sha2-256",code:18,encode:eI("SHA-256")}),fte=To({name:"sha2-512",code:19,encode:eI("SHA-512")});var uo={};M(uo,{code:()=>Qu,decode:()=>vF,encode:()=>kF,name:()=>xF});var xF="raw",Qu=85,kF=t=>jt(t),vF=t=>jt(t);async function ga(t,e){let r=0,n=In({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=Bn(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:Et,codec:uo})}async function tI(t){return await Nr({value:{fp:t},hasher:Et,codec:Ae})}async function rI(t){let e=await t.getRoots(),r=await t.get(e[0]);if(!r)throw new Error("missing header block");let{value:n}=await co({bytes:r.bytes,hasher:Et,codec:Ae});if(n&&n.fp===void 0)throw new Error("missing fp");let{fp:o}=n;return o}var Or,pt=class{constructor(e){De(this,Or,new Map);e&&Ce(this,Or,new Map(e.map(r=>[r.cid.toString(),r.bytes])))}async get(e){let r=j(this,Or).get(e.toString());if(r)return{cid:e,bytes:r}}async put(e,r){j(this,Or).set(e.toString(),r)}putSync(e,r){j(this,Or).set(e.toString(),r)}async delete(e){j(this,Or).delete(e.toString())}deleteSync(e){j(this,Or).delete(e.toString())}*entries(){for(let[e,r]of j(this,Or))yield{cid:br(e),bytes:r}}};Or=new WeakMap;var Xu,Ts=class{constructor(...e){De(this,Xu,void 0);Ce(this,Xu,e)}async get(e){for(let r of j(this,Xu)){let n=await r.get(e);if(n)return n}}};Xu=new WeakMap;var wp="0123456789abcdef",bp=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+=wp.charAt(this.bytes[r]>>>4),e+=wp.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+=wp.charAt(this.bytes[r]>>>4),e+=wp.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}},U0=class{constructor(e){this.timestamp=0,this.counter=0,this.random=e??SF()}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 bp.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,bp.ofInner(e)}},SF=()=>{if(typeof crypto<"u"&&typeof crypto.getRandomValues<"u")return new R0;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)}},R0=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++]}},nI,oI=()=>EF().toString(),EF=()=>(nI||(nI=new U0)).generate();function sI(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 Cs={};M(Cs,{code:()=>CF,crypto:()=>IF,decode:()=>TF,decrypt:()=>vp,encode:()=>DF,encrypt:()=>Sp,name:()=>BF});function xp(){try{return window.crypto&&window.crypto.subtle?window.crypto:new Crypto}catch{return null}}var Yu=xp();function kp(t){let e=new Uint8Array(t);return t>0&&Yu.getRandomValues(e),e}var _F=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},AF=t=>{let e=t.byteLength-4;return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216},iI=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},DF=({iv:t,bytes:e})=>iI([t,e]),TF=t=>{let e=t.subarray(0,12);return t=t.slice(12),{iv:e,bytes:t}},CF=3145728+1337;async function aI(t){return await Yu.subtle.importKey("raw",t,"AES-GCM",!1,["encrypt","decrypt"])}var vp=async({key:t,value:e})=>{let{bytes:r,iv:n}=e,o=await aI(t),s=await Yu.subtle.decrypt({name:"AES-GCM",iv:n,tagLength:128},o,r);r=new Uint8Array(s);let i=AF(r.subarray(0,4)),a=xe.decode(r.subarray(4,4+i));return r=r.subarray(4+i),{cid:a,bytes:r}},Sp=async({key:t,cid:e,bytes:r})=>{let n=_F(e.bytes.byteLength),o=kp(12),s=iI([n,e.bytes,r]);try{let i=await aI(t),a=await Yu.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}}},IF=t=>({encrypt:e=>Sp({key:t,...e}),decrypt:e=>vp({key:t,...e})}),BF="jchris@encrypted-block:aes-gcm";var el=t=>{let e=t.byteLength-4;return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216};var tl=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 Bs=(t,e)=>t===e?0:t>e?1:-1,cI=(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},Is=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 Ps=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}},lo=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)}}},uI=t=>typeof t=="string"?t:JSON.stringify(t);function PF(t,e){return t.sort(({key:r},{key:n})=>e.compare(r,n))}async function LF(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 UF(t,e,{chunker:r,compare:n}){return await fo.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 RF(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 NF(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 LF(a,r,t.compare);if(c.length){let u=await UF(c,s,t),l=await RF(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 fo.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 fo.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 fo=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 Is){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 Is){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 Is){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 Is){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=uI(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=uI(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=PF(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 NF(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 lo({entries:a,closed:!0})),a=[]);return a.length&&i.push(new lo({entries:a,closed:!1})),i.map(c=>new n({entryList:c,chunker:r,distance:o,...s}))}},Ep=class extends fo{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 Ep{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 Ep{async encodeNode(){return{leaf:await Promise.all(this.entryList.entries.map(async r=>await r.encodeNode())),closed:this.closed}}get isLeaf(){return!0}},_p=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 fo.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 fo.from({entries:p,chunker:i,NodeClass:n,distance:l,opts:c}),yield*u,l++}};var N0=({bytes:t},{bytes:e})=>cI(t,e),Ap=class extends Ps{constructor(e){super({address:e,key:e}),this.cid=e}encodeNode(){return this.cid}identity(){let e=this.cid.multihash.bytes;return el(e)}},Dp=class extends Ps{async identity(){let{multihash:{bytes:e}}=await this.address;return el(e)}},Tp=class extends wa{},Cp=class extends ba{},lI=(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:N0},l,d;if(c.leaf)l=c.leaf.map(h=>new Ap(h)),d=Cp;else if(c.branch){let[h,m]=c.branch;u.distance=h,l=m.map(([b,g])=>new Dp({key:b,address:g})),d=Tp}else throw new Error("Unknown block data, does not match schema");let p=new lo({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},dI=({get:t,cache:e,chunker:r,list:n,codec:o,hasher:s,sorted:i})=>{i||(n=n.sort(N0));let a=lI(t,e,r,o,s);return _p({list:n,codec:o,hasher:s,chunker:r,getNode:a,sorted:i,compare:N0,cache:e,LeafClass:Cp,LeafEntryClass:Ap,BranchClass:Tp,BranchEntryClass:Dp})},fI=({cid:t,get:e,cache:r,chunker:n,codec:o,hasher:s,...i})=>lI(e,r,n,o,s,i)(t);var hI=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 Sp({...h,key:n}),b=await Nr({...m,codec:Cs,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=>xe.parse(f)),l;for await(let f of dI({list:u,get:t,cache:o,chunker:s,hasher:r,codec:Ae})){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:Ae,hasher:r})},pI=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 co({...g,codec:Ae,hasher:s}):void 0),a=async b=>e(b).then(async g=>g?await co({...g,codec:Cs,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 fI({cid:l,get:i,cache:n,chunker:o,codec:Cs,hasher:s}),{result:f}=await p.getAllEntries(),h=async b=>{if(!b)throw new Error("missing block");b.value||(b=await co({...b,codec:Cs,hasher:s}));let{bytes:g,cid:k}=await vp({...b,key:r}).catch(_=>{throw _});return await gp({cid:k,bytes:g,hasher:s,codec:Cs})},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 mI=tl(30);function yI(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 gI(t,e,r){let n=yI(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 hI({cids:i,get:r.get.bind(r),key:o,hasher:Et,chunker:mI,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 wI(t,e){let n=(await e.getRoots())[0];return await OF(n,e.get.bind(e),t)}async function OF(t,e,r){let n=yI(r),o=n.buffer.slice(0,n.byteLength),s=new pt,i=null;for await(let a of pI({root:t,get:e,key:o,hasher:Et,chunker:mI,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 O0="0.13.1";var bI=O0.match(/^([^.]*\.[^.]*)/);if(!bI)throw new Error("invalid version: "+O0);var M0=bI[0],$0=class{constructor(e){w(this,"STORAGE_VERSION",M0);w(this,"name");this.name=e}},ka=class extends $0{constructor(){super(...arguments);w(this,"tag","header-base")}makeHeader({car:r,key:n}){return Ll({car:r,key:n})}parseHeader(r){return Ul(r)}},Ip=class{constructor(e){w(this,"tag","rwal-base");w(this,"STORAGE_VERSION",M0);w(this,"loader");w(this,"ready");w(this,"walState",{operations:[],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,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,await e,this.processing=void 0,(this.walState.operations.length||this.walState.fileOperations.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=[];if(r.length)for(let s of r){let i=(async()=>{let a=await this.loader.carStore.load(s.car);if(!a)throw new Error(`missing car ${s.car.toString()}`);return await this.loader.remoteCarStore.save(a)})();o.push(i)}if(n.length){let s=this.loader;for(let{cid:i,public:a}of n){let c=(async()=>{let u=await s.fileStore.load(i);await s.remoteFileStore?.save(u,{public:a})})();o.push(c)}}await Promise.all(o),r.length&&await this.loader.remoteMetaStore?.save(r[r.length-1]),this.walState.operations.splice(0,r.length),this.walState.fileOperations.splice(0,n.length),await this.save(this.walState)})();this.loader.remoteMetaLoading=e,await e}},va=class{constructor(e){w(this,"tag","car-base");w(this,"STORAGE_VERSION",M0);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")}},Bp=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 $F=(t,e)=>e.some(r=>t instanceof r),xI,kI;function MF(){return xI||(xI=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function FF(){return kI||(kI=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var vI=new WeakMap,z0=new WeakMap,SI=new WeakMap,F0=new WeakMap,W0=new WeakMap;function zF(t){let e=new Promise((r,n)=>{let o=()=>{t.removeEventListener("success",s),t.removeEventListener("error",i)},s=()=>{r($r(t.result)),o()},i=()=>{n(t.error),o()};t.addEventListener("success",s),t.addEventListener("error",i)});return e.then(r=>{r instanceof IDBCursor&&vI.set(r,t)}).catch(()=>{}),W0.set(e,t),e}function jF(t){if(z0.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)});z0.set(t,e)}var j0={get(t,e,r){if(t instanceof IDBTransaction){if(e==="done")return z0.get(t);if(e==="objectStoreNames")return t.objectStoreNames||SI.get(t);if(e==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return $r(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 EI(t){j0=t(j0)}function WF(t){return t===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...r){let n=t.call(Pp(this),e,...r);return SI.set(n,e.sort?e.sort():[e]),$r(n)}:FF().includes(t)?function(...e){return t.apply(Pp(this),e),$r(vI.get(this))}:function(...e){return $r(t.apply(Pp(this),e))}}function HF(t){return typeof t=="function"?WF(t):(t instanceof IDBTransaction&&jF(t),$F(t,MF())?new Proxy(t,j0):t)}function $r(t){if(t instanceof IDBRequest)return zF(t);if(F0.has(t))return F0.get(t);let e=HF(t);return e!==t&&(F0.set(t,e),W0.set(e,t)),e}var Pp=t=>W0.get(t);function AI(t,e,{blocked:r,upgrade:n,blocking:o,terminated:s}={}){let i=indexedDB.open(t,e),a=$r(i);return n&&i.addEventListener("upgradeneeded",c=>{n($r(i.result),c.oldVersion,c.newVersion,$r(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 qF=["get","getKey","getAll","getAllKeys","count"],VF=["put","add","delete","clear"],H0=new Map;function _I(t,e){if(!(t instanceof IDBDatabase&&!(e in t)&&typeof e=="string"))return;if(H0.get(e))return H0.get(e);let r=e.replace(/FromIndex$/,""),n=e!==r,o=VF.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||qF.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 H0.set(e,s),s}EI(t=>({...t,get:(e,r,n)=>_I(e,r)||t.get(e,r,n),has:(e,r)=>!!_I(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 AI(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 Ip{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?Ul(n):null}catch{return null}}async save(r,n="main"){try{let o=Ll(r);localStorage.setItem(this.headerKey(n),o)}catch{}}},Up=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 TI(t,e){return t.some(r=>r.equals(e))}function DI(t,e=[]){let r=new Map;for(let n of t)TI(e,n)||r.set(n.toString(),n);return[...r.values()]}function GF(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 Bp(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){return e.loader=this,this._connectRemoteMeta(e),this._connectRemoteStorage(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=xe.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),TI(this.carLog,e.car))return;let r=await this.loadCarHeaderFromMeta(e);this.carLog=[...DI([e.car,...this.carLog,...r.cars],r.compact)],await this.getMoreReaders(r.cars),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 rI(r)}async _getKey(){return this.key?this.key:(this.opts.public||(xp()?await this.setKey(GF(kp(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 tI(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 gI(i,s[0],e):await ga(s,e);if(q0(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;for(let d of l.compact)await this.carStore.remove(d);this.carLog=[...DI([a,...this.carLog],l.compact)]}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 Up(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 wI(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=xp();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){await Promise.all(e.map(r=>this.loadCar(r)))}};w(_a,"defaultHeader");var Aa=_e(UI(),1);var Rp=class extends Ps{async identity(){let e=await this.codec.encode(await this.encodeNode()),r=await this.hasher.encode(e);return el(r)}},Ls=class extends Rp{constructor(e,r){super(e,r),this.value=e.value}encodeNode(){return[this.key,this.value]}},Us=class extends Rp{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]}},RI=async(t,e)=>{let{result:r,cids:n}=await t.getEntry(e);return{result:r.value,cids:n}},NI=async(t,e)=>{let{result:r,cids:n}=await t.getEntries(e);return{result:r.map(o=>o.value),cids:n}},Rs=class extends ba{get(e){return RI(this,e)}getMany(e){return NI(this,e)}bulk(e,r={},n=!0){return super.bulk(e,{...OI,...r},n)}},Ns=class extends wa{get(e){return RI(this,e)}getMany(e){return NI(this,e)}bulk(e,r={},n=!0){return super.bulk(e,{...OI,...r},n)}},OI={LeafClass:Rs,LeafEntryClass:Ls,BranchClass:Ns,BranchEntryClass:Us},$I=(t,e,r,n,o,s,i)=>{let a=i.LeafClass||Rs,c=i.LeafEntryClass||Ls,u=i.BranchClass||Ns,l=i.BranchEntryClass||Us,d=async f=>e.has(f)?e.get(f):t(f).then(h=>p(h)),p=tz({chunker:r,cache:e,getNode:d,codec:n,hasher:o,compare:s,LeafEntryClass:c,LeafClass:a,BranchEntryClass:l,BranchClass:u});return d},MI=({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=$I(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||Rs,LeafEntryClass:c.LeafEntryClass||Ls,BranchClass:c.BranchClass||Ns,BranchEntryClass:c.BranchEntryClass||Us};return _p(l)},FI=({cid:t,get:e,cache:r,chunker:n,codec:o,hasher:s,compare:i,...a})=>$I(e,r,n,o,s,i,a)(t);function tz({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 lo({entries:h,closed:p.closed}),g=new m({entryList:b,...f});return e.set(g),g}}var rz=(t,e)=>{let[r,n]=t,[o,s]=e,i=Bs(r,o);return i!==0?i:nz(n,s)},nz=(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)?Bs(t,e):1},zI=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}},jI=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}},G0=class extends Rs{get(e){return zI(this,e)}range(e,r){return jI(this,e,r)}bulk(e,r={},n=!0){return super.bulk(e,{...Z0,...r},n)}},K0=class extends Ns{get(e){return zI(this,e)}range(e,r){return jI(this,e,r)}bulk(e,r={},n=!0){return super.bulk(e,{...Z0,...r},n)}},oz=G0,sz=K0,Z0={LeafClass:oz,BranchClass:sz,LeafEntryClass:Ls,BranchEntryClass:Us},WI={...Z0,compare:rz},HI=t=>(t={...WI,...t},MI(t)),J0=t=>(t={...WI,...t},FI(t));var Os=class{constructor(){w(this,"cid",null);w(this,"root",null)}},az=(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:Bs(t,e)},cz=(t,e)=>{let[r,n]=t,[o,s]=e,i=Bs(r,o);return i!==0?i:az(n,s)},X0={cache:xa,chunker:tl(30),codec:Ae,hasher:Et,compare:cz},Y0={cache:xa,chunker:tl(30),codec:Ae,hasher:Et,compare:Bs};function qI(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 Q0(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 gp({cid:n,bytes:o,hasher:Et,codec:Ae})}}async function ek(t,e,r,n){if(!r.length)return e;if(!e.root)if(e.cid)e.root=await J0({cid:e.cid,get:Q0(t),...n});else{let i=null,a=null;for await(let c of await HI({get:Q0(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 tk(t,e,r){return await J0({cid:e,get:Q0(t),...r})}async function $s(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))}}function rk(t){return t.map(e=>Aa.default.encode(e))}function nk(t){return Aa.default.encode(t)}function Da({_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 Np(t,e,r,n);t.indexers.set(e,o)}return t.indexers.get(e)}var Np=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 Os);w(this,"byId",new Os);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=uz(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 $s(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(...rk(e.range));return await $s(this.crdt,{result:o,...s},e)}if(e.key){let o=nk(e.key);return await $s(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=nk(s);return(await $s(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=rk([o,s]);return await $s(this.crdt,await this.byKey.root.range(...i),e)}let{result:r,...n}=await this.byKey.root.getAllEntries();return await $s(this.crdt,{result:r.map(({key:[o,s],value:i})=>({key:o,id:s,value:i})),...n},e)}_resetIndex(){this.byId=new Os,this.byKey=new Os,this.indexHead=void 0}async _hydrateIndex(){this.byId.root&&this.byKey.root||!this.byId.cid||!this.byKey.cid||(this.byId.root=await tk(this.blocks,this.byId.cid,Y0),this.byKey.root=await tk(this.blocks,this.byKey.cid,X0))}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=qI(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 ek(c,this.byId,o.concat(i),Y0),this.byKey=await ek(c,this.byKey,n.concat(s),X0),this.indexHead=r,{byId:this.byId.cid,byKey:this.byKey.cid,head:r,map:this.mapFnString,name:this.name}),a)}};function uz(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))Da({_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 Op=Mp,Fp=class Fp extends _a{constructor(r,n,o){super(r,o);w(this,"defaultHeader",Fp.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(q0(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(Fp,"defaultHeader",{cars:[],compact:[],head:[]});var $p=Fp;function q0(t){return t&&t.files!==void 0}var ho=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)}},zp=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 ho(this);this.transactions.add(n);let o=await e(n),{car:s,done:i}=await r(n,o);return s?{...i,car:s}:i}},jp=class extends zp{constructor(e,r,n){e?super(e,new Op(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}))}},Wp=class extends zp{constructor(e,r,n){e?super(e,new $p(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}))}},Hp=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)}};var Ms=class extends Xt{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 dh({value:t,codec:Ae,hasher:ue});return new Ms({cid:r,value:t,bytes:n,prefix:e??""})}async function VI(t,e){let{cid:r,value:n}=await fh({bytes:t,codec:Ae,hasher:ue});if(!Array.isArray(n))throw new Error(`invalid shard: ${r}`);return new Ms({cid:r,value:n,bytes:t,prefix:e??""})}var Fs=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 VI(n.bytes,r)}};function ok(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 GI(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 qp=64,lz=512*1024;async function rl(t,e,r,n,o={}){let s=new Fs(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>qp){let h=Array.from(Array(Math.ceil(u.length/qp)),(b,g)=>{let k=g*qp;return{prefix:c.prefix+u.slice(0,k),skey:u.slice(k,k+qp)}}),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=ok(c.value,l),f=await Mr(p,c.prefix);if(f.bytes.length>(o.maxShardSize??lz)){let h=GI(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=ok(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 KI(t,e,r){let n=new Fs(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 sk(t,e,r){let n=new Fs(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*ZI(t,e,r={}){let{prefix:n}=r,o=new Fs(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 JI(t,e,r,n,o){let s=new pt;if(t=new Ts(s,t),!e.length){let g=await Ms.create();s.putSync(g.cid,g.bytes);let k=await rl(t,g.cid,r,n,o),E={type:"put",root:k.root,key:r,value:n},_=await Ds.create(E,e);return e=await Ku(t,e,_.cid),{root:k.root,additions:[g,...k.additions],removals:k.removals,head:e,event:_}}let i=new Rr(t),a=await ak(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 XI(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 rl(t,u,g.data.key,g.data.value):await sk(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 rl(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 Ds.create(h,e);s.putSync(m.cid,m.bytes),e=await Ku(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 Ta(t,e){if(!e.length)throw new Error("cannot determine root of headless clock");let r=new pt;t=new Ts(r,t);let n=new Rr(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 ak(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 XI(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 rl(t,i,d.data.key,d.data.value):await sk(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 QI(t,e,r){if(!e.length)return;let n=await Ta(t,e);return n.additions.length&&(t=new Ts(new pt(n.additions),t)),KI(t,n.root,r)}async function*ik(t,e,r){if(!e.length)return;let n=await Ta(t,e);n.additions.length&&(t=new Ts(new pt(n.additions),t)),yield*ZI(t,n.root,r)}async function ak(t,e){if(!e.length)return;let r=e.map(n=>[n]);for(;;){let n=!1;for(let o of r){let s=await fz(t,o[o.length-1]);if(!s)continue;n=!0,o.push(s);let i=hz(r);if(i)return i}if(!n)return}}async function fz(t,e){let{value:r}=await t.get(e);return r.parents.length?r.parents.length===1?r.parents[0]:ak(t,r.parents):e}function hz(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 XI(t,e,r){if(e.length===1&&String(e[0])===String(r))return[];let n=new Map,o=await Promise.all(e.map(i=>YI(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 YI(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=>YI(t,c,r,n+1)));return s.concat(...a)}var em=_e(Fr(),1);function mz(t){return t[Symbol.asyncIterator]!=null}function yz(t){if(mz(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 rB=yz;var MB=_e(Fr(),1);var nB=0,gz="identity",oB=jt,wz=t=>bo(nB,oB(t)),sB={code:nB,name:gz,encode:oB,digest:wz};var iB=_e(Fr(),1);var bz=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=xe.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,iB.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}}}},aB=bz;var cB=_e(Fr(),1);var mt=class extends Event{constructor(e,r){super(e),this.detail=r}};function xz(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 zs=xz;var nl=_e(Fr(),1),kz=(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,nl.default)(new Error("Offset must be greater than or equal to 0"),"ERR_INVALID_PARAMS");if(o>n)throw(0,nl.default)(new Error("Offset must be less than the file size"),"ERR_INVALID_PARAMS");if(s<0n)throw(0,nl.default)(new Error("Length must be greater than or equal to 0"),"ERR_INVALID_PARAMS");if(s>n)throw(0,nl.default)(new Error("Length must be less than the file size"),"ERR_INVALID_PARAMS");return{start:o,end:s}},Ca=kz;var vz=t=>{async function*e(r={}){let{start:n,end:o}=Ca(t.length,r.offset,r.length),s=zs(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},Sz=async(t,e,r,n,o,s,i,a)=>{if(n.length>0)throw(0,cB.default)(new Error(`No link named ${r} found in raw node ${t}`),"ERR_NOT_FOUND");let c=Al(t.multihash.bytes);return{entry:{type:"identity",name:e,path:r,cid:t,content:vz(c.digest),depth:s,size:BigInt(c.digest.length),node:c.digest}}},uB=Sz;var lB=_e(Fr(),1);var Ez=t=>{async function*e(r={}){let{start:n,end:o}=Ca(t.length,r.offset,r.length),s=zs(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},_z=async(t,e,r,n,o,s,i,a)=>{if(n.length>0)throw(0,lB.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:Ez(c),depth:s,size:BigInt(c.length),node:c}}},dB=_z;var al=_e(Fr(),1);var hk=_e(Fr(),1);var ck=_e(Mf(),1),fB=_e(db(),1),hB=_e(on(),1),uk=_e(Of(),1),pB=_e(cb(),1);function Az(){hB.default._configure(),ck.default._configure(fB.default),uk.default._configure(pB.default)}Az();var mB=["uint64","int64","sint64","fixed64","sfixed64"];function Dz(t){for(let e of mB){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function lk(t){return Dz(new ck.default(t))}function Tz(t){for(let e of mB){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function dk(){return Tz(uk.default.create())}function ol(t,e){let r=lk(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function sl(t,e){let r=dk();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var Ia;(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"})(Ia||(Ia={}));function Gp(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function fk(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 Gp("enum",Ia.VARINT,r,n)}function il(t,e){return Gp("message",Ia.LENGTH_DELIMITED,t,e)}var yr;(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=()=>fk(r)}(e=t.DataType||(t.DataType={}));let n;t.codec=()=>(n==null&&(n=il((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),Kp.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=Kp.codec().decode(o,o.uint32());break;default:o.skipType(c&7);break}}return i})),n),t.encode=o=>sl(o,t.codec()),t.decode=o=>ol(o,t.codec())})(yr||(yr={}));var Kp;(function(t){let e;t.codec=()=>(e==null&&(e=il((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=>sl(r,t.codec()),t.decode=r=>ol(r,t.codec())})(Kp||(Kp={}));var yB;(function(t){let e;t.codec=()=>(e==null&&(e=il((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=>sl(r,t.codec()),t.decode=r=>ol(r,t.codec())})(yB||(yB={}));var gB={Raw:"raw",Directory:"directory",File:"file",Metadata:"metadata",Symlink:"symlink",HAMTShard:"hamt-sharded-directory"},Cz=["directory","hamt-sharded-directory"],wB=parseInt("0644",8),bB=parseInt("0755",8),Ba=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(gB).includes(r))throw(0,hk.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=yr.decode(e),n=new t({type:gB[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()?bB:wB:this._mode=e&4095}get mode(){return this._mode}isDirectory(){return Cz.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=yr.DataType.Raw;break;case"directory":e=yr.DataType.Directory;break;case"file":e=yr.DataType.File;break;case"metadata":e=yr.DataType.Metadata;break;case"symlink":e=yr.DataType.Symlink;break;case"hamt-sharded-directory":e=yr.DataType.HAMTShard;break;default:throw(0,hk.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===wB&&!this.isDirectory()&&(n=void 0),n===bB&&this.isDirectory()&&(n=void 0));let o;return this.mtime!=null&&(o={Seconds:this.mtime.secs,FractionalNanoseconds:this.mtime.nsecs}),yr.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 SB=_e(vB(),1);var js=class t{constructor(e,r,n=0){this._options=e,this._popCount=0,this._parent=r,this._posAtParent=n,this._children=new SB.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 EB(this,e,r)}toJSON(){return this.serialize(Uz,Rz)}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"?Qr(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(Lz);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 Lz(t){return!!t}function Uz(t,e){return t.key}function Rz(t){return t}async function EB(t,e,r){let n=[];for(let o of t._children.compactArray())if(o instanceof js)await EB(o,e,r);else{let s=await e(o);n.push({bitField:t._children.bitField(),children:s})}return await r(n)}var Nz=[255,254,252,248,240,224,192,128],Oz=[1,3,7,15,31,63,127,255],Zp=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=$z(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 $z(t,e,r){let n=Mz(e,r);return(t&n)>>>e}function Mz(t,e){return Nz[t]&Oz[Math.min(e+t-1,7)]}function _B(t){function e(r){return r instanceof Jp?r:new Jp(r,t)}return e}var Jp=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?Hg([this._value,Uint8Array.from([this._depth])]):this._value,r=await this._hashFn(e),n=new Zp(r);this._buffers.push(n),this._availableBits+=n.availableBits()}};function AB(t){if(t==null||t.hashFn==null)throw new Error("please define an options.hashFn");let e={bits:t.bits??8,hash:_B(t.hashFn)};return new js(e)}var Fz=async function(t){return(await QD.encode(t)).slice(0,8).reverse()},zz=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 js({hash:r._options.hash,bits:r._options.bits},e,o));return}await r.put(n.Name.substring(2),!0)}))},DB=t=>t.toString(16).toUpperCase().padStart(2,"0").substring(0,2),jz=t=>{let e=t.bucket,r=[];for(;e._parent!=null;)r.push(e),e=e._parent;return r.push(e),r.reverse()},TB=async(t,e,r,n,o)=>{if(n==null){let l=AB({hashFn:Fz});n={rootBucket:l,hamtDepth:1,lastBucket:l}}await zz(t.Links,n.lastBucket,n.rootBucket);let s=await n.rootBucket._findNewBucketAndPos(e),i=DB(s.pos),a=jz(s);a.length>n.hamtDepth&&(n.lastBucket=a[n.hamtDepth],i=DB(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),TB(t,e,r,n,o)},CB=TB;function Wz(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 Qp=Wz;function Hz(t){return t[Symbol.asyncIterator]!=null}function qz(t,e){if(Hz(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=Qp(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 IB=qz;function Vz(t){return t[Symbol.asyncIterator]!=null}function Gz(t,e){if(Vz(t))return async function*(){for await(let a of t)yield e(a)}();let r=Qp(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 Pa=Gz;var Xp=globalThis.CustomEvent??Event;async function*Ws(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 Xp("task-complete"))},b=>{m.done=!0,m.err=b,o.dispatchEvent(new Xp("task-complete"))})}c=!0,o.dispatchEvent(new Xp("task-complete"))}catch(h){u=h,o.dispatchEvent(new Xp("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 Yp=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}},La=class{constructor(e={}){w(this,"size");w(this,"hwm");w(this,"head");w(this,"tail");this.hwm=e.splitLimit??16,this.head=new Yp(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 Yp(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 pk=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 Ua(t={}){return Kz(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 Kz(t,e){e=e??{};let r=e.onEnd,n=new La,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 La,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 La,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 pk)},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 Zz(t){return t[Symbol.asyncIterator]!=null}function Jz(...t){let e=[];for(let r of t)Zz(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Ua({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 BB=Jz;function Ra(t,...e){if(t==null)throw new Error("Empty pipeline");if(mk(t)){let n=t;t=()=>n.source}else if(LB(t)||PB(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&mk(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++)mk(r[n])&&(r[n]=Xz(r[n]));return Qz(...r)}var Qz=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},PB=t=>t?.[Symbol.asyncIterator]!=null,LB=t=>t?.[Symbol.iterator]!=null,mk=t=>t==null?!1:t.sink!=null&&t.source!=null,Xz=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Ua({objectMode:!0});r.then(()=>{n.end()},i=>{n.end(i)});let o,s=t.source;if(PB(s))o=async function*(){yield*s,n.end()};else if(LB(s))o=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return BB(n,o())}return t.source};var Yz=(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*Ra(d,p=>Pa(p,f=>async()=>{let h=f.Name??"",m=`${n}/${h}`;return(await o(f.Hash,h,m,[],s+1,i,c)).entry}),p=>Ws(p,{ordered:!0}),p=>IB(p,f=>f!=null))}return a},UB=Yz;var Hs=_e(Fr(),1);async function RB(t,e,r,n,o,s,i){if(e instanceof Uint8Array){let u=zs(e,n,o,s);r.push(u);return}if(e.Data==null)throw(0,Hs.default)(new Error("no data in PBNode"),"ERR_NOT_UNIXFS");let a;try{a=Ba.unmarshal(e.Data)}catch(u){throw(0,Hs.default)(u,"ERR_NOT_UNIXFS")}if(a.data!=null){let u=a.data,l=zs(u,n,o,s);r.push(l),n+=BigInt(l.byteLength)}let c=[];if(e.Links.length!==a.blockSizes.length)throw(0,Hs.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 Ra(c,u=>Pa(u,l=>async()=>{let d=await t.get(l.link.Hash,i);return{...l,block:d}}),u=>Ws(u,{ordered:!0}),async u=>{for await(let{link:l,block:d,blockStart:p}of u){let f;switch(l.Hash.code){case Jn:f=Cr(d);break;case Qu:f=d;break;default:r.end((0,Hs.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 RB(t,f,r,p,o,s,i)}),await h.onIdle()}}),n>=s&&r.end()}var ej=(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}=Ca(u,c.offset,c.length);if(d===0n)return;let p=0n,f=d-l,h=Ua();c.onProgress?.(new mt("unixfs:exporter:walk:file",{cid:t})),RB(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,Hs.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,Hs.default)(new Error("Traversed entire DAG but did not read enough bytes"),"ERR_UNDER_READ")}return a},yk=ej;var tj=(t,e,r,n,o,s,i)=>{function a(c={}){return c.onProgress?.(new mt("unixfs:exporter:walk:hamt-sharded-directory",{cid:t})),NB(e,n,o,s,i,c)}return a};async function*NB(t,e,r,n,o,s){let i=t.Links,a=Ra(i,c=>Pa(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:NB(t,e,r,n,o,s)}}}),c=>Ws(c,{ordered:!0}));for await(let{entries:c}of a)yield*c}var OB=tj;var rj=(t,e)=>t.Links.find(n=>n.Name===e)?.Hash,nj={raw:yk,file:yk,directory:UB,"hamt-sharded-directory":OB,metadata:(t,e,r,n,o,s,i)=>()=>[],symlink:(t,e,r,n,o,s,i)=>()=>[]},oj=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,al.default)(new Error("no data in PBNode"),"ERR_NOT_UNIXFS");try{l=Ba.unmarshal(u.Data)}catch(f){throw(0,al.default)(f,"ERR_NOT_UNIXFS")}if(r==null&&(r=e),n.length>0){let f;if(l?.type==="hamt-sharded-directory"?f=await CB(u,n[0],i):f=rj(u,n[0]),f==null)throw(0,al.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=nj[l.type](t,u,l,r,o,s,i);if(p==null)throw(0,al.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}},$B=oj;var sj={[Jn]:$B,[Qu]:dB,[Ct]:aB,[sB.code]:uB},FB=async(t,e,r,n,o,s,i)=>{let a=sj[t.code];if(a==null)throw(0,MB.default)(new Error(`No resolver for code ${t.code}`),"ERR_NO_RESOLVER");return a(t,e,r,n,FB,o,s,i)},zB=FB;var ij=(t="")=>(t.trim().match(/([^\\^/]|\\\/)+/g)??[]).filter(Boolean),aj=t=>{if(t instanceof Uint8Array)return{cid:xe.decode(t),toResolve:[]};let e=xe.asCID(t);if(e!=null)return{cid:e,toResolve:[]};if(typeof t=="string"){t.indexOf("/ipfs/")===0&&(t=t.substring(6));let r=ij(t);return{cid:xe.parse(r[0]),toResolve:r.slice(1)}}throw(0,em.default)(new Error(`Unknown path type ${t}`),"ERR_BAD_PATH")};async function*cj(t,e,r={}){let{cid:n,toResolve:o}=aj(t),s=n.toString(),i=s,a=o.length;for(;;){let c=await zB(n,s,i,o,a,e,r);if(c.entry==null&&c.next==null)throw(0,em.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 jB(t,e,r={}){let n=await rB(cj(t,e,r));if(n==null)throw(0,em.default)(new Error(`Could not resolve ${t}`),"ERR_NOT_FOUND");return n}var uj=ph(),lj=Lr({fileChunkEncoder:uo,smallFileEncoder:uo,chunker:ou(1024*1024),fileLayout:ta(1024)});async function WB(t){let e=dj(t),r=await fj(e);return{cid:r.at(-1).cid,blocks:r}}async function HB(t,e,r){let n=await jB(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 dj(t){let{readable:e,writable:r}=new TransformStream({},uj),n=wu({writable:r,settings:lj}),o=new gk("",t);return(async()=>(await o.finalize(n),await n.close()))(),e}async function fj(t){let e=[];return await t.pipeTo(new WritableStream({write(r){e.push(r)}})),e}var cl,gk=class{constructor(e,r){De(this,cl,void 0);w(this,"name");this.name=e,Ce(this,cl,r)}async finalize(e){let r=ds(e);return await j(this,cl).stream().pipeTo(new WritableStream({async write(n){await r.write(n)}})),await r.close()}};cl=new WeakMap;async function GB(t,e,r,n){let o;for(let s of r){let i=await hj(t,s);o=await JI(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 hj(t,e){let r;e.del?r={del:!0}:(await pj(t,e.value),r={doc:e.value});let n=await Nr({value:r,hasher:Et,codec:Ae});return t.putSync(n.cid,n.bytes),n.cid}async function pj(t,e){e._files&&await qB(t,e._files),e._publicFiles&&await qB(t,e._publicFiles,!0)}async function qB(t,e,r=!1){let n=t.parent,o=new ho(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 WB(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 KB(t,e,r){if(!e.length)throw new Error("Getting from an empty database");let n=await QI(t,e,r);if(!n)throw new Error(`Missing key ${r}`);return await kk(t,n)}function xk(t,{doc:e}){e&&(e._files&&VB(t,e._files),e._publicFiles&&VB(t,e._publicFiles,!0))}function VB(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 HB({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 kk(t,e){let r=await t.get(e);if(!r)throw new Error(`Missing linked block ${e.toString()}`);let{value:n}=await co({bytes:r.bytes,hasher:Et,codec:Ae});return xk(t,n),n}var wk=class extends Rr{async get(e){try{return await super.get(e)}catch(r){return console.error("missing event",e.toString(),r),{value:null}}}};async function vk(t,e,r,n){let o=n.dirty?new wk(t):new Rr(t);return{result:(await bk(t,o,e,r,[],new Set,new Set,n.limit||1/0)).reverse(),head:e}}async function bk(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 bk(t,e,l.parents,n,o,s,i,a));else{s.add(d);let f=await kk(t,p);o.push({key:d,value:f.doc,del:f.del}),a--,l.parents&&(o=await bk(t,e,l.parents,n,o,s,i,a))}}return o}async function*ZB(t,e){for await(let[r,n]of ik(t,e)){let o=await kk(t,n);yield{key:r,value:o.doc,del:o.del}}}async function*JB(t,e){for await(let r of B0(t,e))yield r}async function QB(t,e){let r=new Hp(t),n=new ho(t);for await(let[,s]of ik(r,e))if(!await r.get(s))throw new Error("Missing block: "+s.toString());for await(let s of B0(r,e));let o=await Ta(r,e);for(let{cid:s,bytes:i}of[...o.additions,...o.removals])n.putSync(s,i);await vk(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 tm=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=[]){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 ho)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 Ku(u,l,p);let d=await Ta(u,l);for(let{cid:p,bytes:f}of[...d.additions,...d.removals])u.putSync(p,f);return{head:l}});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 rm=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 tm);this.name=e||null,this.opts=r||this.opts,this.blocks=new Wp(this.name,this.clock,this.opts),this.clock.blocks=this.blocks,this.indexBlocks=new jp(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 GB(n,this.clock.head,e,r);return e=e.map(({key:i,value:a,del:c})=>(xk(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 ZB(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 JB(this.blocks,this.clock.head))e.push(r);return e.join(`
|
25
|
-
`)}async get(e){await this.ready;let r=await KB(this.blocks,this.clock.head,e);return r.del?null:r}async changes(e=[],r={}){return await this.ready,await vk(this.blocks,this.clock.head,e,r)}async compact(){if(await this.ready,!(this.blocks.loader&&this.blocks.loader.carLog.length<2))return await QB(this.blocks,this.clock.head)}};var po=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 rm(e,this.opts),this._crdt.clock.onTick(n=>{this._notify(n)}),this._writeQueue=sI(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||oI(),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"?Da({_crdt:this._crdt},e):Da({_crdt:this._crdt},mj(e.toString()),e)).query(r)}async compact(){await this._crdt.compact()}connect(e){return om.web3(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(po,"databases",new Map);function nm(t,e){if(!po.databases.has(t)){let r=new po(t,e);["get","put","del","changes","subscribe","query","compact","connect","getDashboardURL","openDashboard"].forEach(n=>{r[n]=r[n].bind(r)}),po.databases.set(t,r)}return po.databases.get(t)}function mj(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 Sk=t=>new Promise(e=>setTimeout(e,t)),sm=class t extends yn{constructor(r,n,o){super();w(this,"params");w(this,"ready");w(this,"connected");w(this,"client",null);w(this,"clockSpaceDID",null);w(this,"clockProofs",[]);w(this,"parents",[]);w(this,"eventBlocks",new pt);w(this,"accountDb",null);w(this,"accountConnection",null);w(this,"inner",!1);w(this,"loader",null);w(this,"accessIndexFn",(r,n)=>{let o=r;r.type==="access-request"&&n(o.with+o.grantee)});w(this,"pendingWithIdxFn",(r,n)=>{let o=r;r.type==="access-request"&&r.state==="pending"&&n(o.with)});w(this,"ownerIdxFn",(r,n)=>{let o=r;o.type==="clock-space"?n(o.issuer):o.type==="access-request"&&o.state==="granted"&&n(o.grantee)});w(this,"authorized",null);w(this,"authDone");w(this,"authReady");o&&(this.clockSpaceDID=o.did),this.params=r,n&&(this.inner=!0,this.accountDb=n),this.ready=this.initializeClient(),this.connected=this.ready.then(async()=>{if(this.authorized)this.authDone=()=>{};else return new Promise(s=>{this.authDone=s})}),this.authReady=this.connected.then(async()=>{this.authorized&&(await this._onAuthorized(),this.startBackgroundSync())})}async authorize(r){console.log("emailing",r),await this.accountConnection.ready;let n=this.accountConnection.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))}await this.accountConnection._onAuthorized(),this.clockSpaceDID=this.accountConnection.clockSpaceDID,await this._onAuthorized()}async shareToken(){await this.ready,await this.accountConnection.ready;let r=this.accountConnection.client,{issuer:n}=r._agent;return n.did()}async shareWith(r){let n=this.accountConnection.client,{issuer:o}=n._agent,s={issuer:o,lifetimeInSeconds:60*60*24*365,audience:{did:()=>r},capabilities:[{can:"clock/*",with:this.clockSpaceDIDForDb()}],proofs:n.proofs()},a=await(await wt(s)).archive();if(!a.ok)throw new Error("missing delegationCarBytes");let c=await n.uploadFile(new Blob([a.ok]));return console.log("delegated",c),c}async joinShared(r,n,o){let s=await this.dataDownload({car:r,type:"data",name:this.loader.name}),i=await Kt.extract(s);if(!i.ok)throw new Error("missing delegation");await(await this.connectedClientForDb()).addProof(i.ok);let c=i.ok.capabilities[0].with;n=n||"shared:"+c;let u=nm(n);!o&&location&&(o=location.origin);let l={name:n,schema:o},d=new t(l,void 0,{did:c,connection:this}),{_crdt:{blocks:{loader:p}}}=u;return p?.connectRemote(d),await d.ready,{database:u,connection:d}}async initializeClient(){if(this.inner)this.client=await this.connectClient();else{this.accountDb=nm("_connect-web3"),this.accountConnection=new t(this.params,this.accountDb),this.clockSpaceDID&&(this.accountConnection.clockSpaceDID=this.clockSpaceDID);let{_crdt:{blocks:{loader:r}}}=this.accountDb;r?.connectRemote(this.accountConnection),await this.accountConnection.ready,this.authorized=this.accountConnection.authorized}}async _onAuthorized(){if(this.authDone?.(),this.inner){let{_crdt:{blocks:{loader:r}}}=this.accountDb;await r?.remoteMetaStore?.load("main"),await this.provisionClockSpace(),this.serviceAccessRequests()}}async connectedClientForDb(){return await this.connected,this.inner?this.client:(await this.accountConnection.connected,this.accountConnection.client)}async clockProofsForDb(){if(await this.connected,this.inner){let s=this.clockSpaceDIDForDb(),a=this.client.proofs([{can:"clock/*",with:s}]);if(!a.length)throw new Error("missing clock/* capability on account space");return a}await this.accountConnection.authReady;let r=this.clockSpaceDIDForDb();if(this.clockProofs.length)return this.clockProofs;let o=this.accountConnection.client.proofs([{can:"clock/*",with:r}]);if(o.length&&(this.clockProofs=o),!o.length)throw new Error("need clock/* capability for "+r);return this.clockProofs}clockSpaceDIDForDb(){return this.inner?this.client.currentSpace().did():this.accountConnection.clockSpaceDID}async startBackgroundSync(){this.inner||(await Sk(5e3),await this.refresh(),await this.startBackgroundSync())}async serviceAccessRequests(){let r=this.client,{issuer:n}=r._agent,o=n.did(),{rows:s}=await this.accountDb.query(this.ownerIdxFn,{key:o}),i=s.map(({doc:c})=>c.with),{rows:a}=await this.accountDb.query(this.pendingWithIdxFn,{keys:i});for(let{doc:c}of a){if(!c)throw new Error("missing access request doc");let u=c;if(u.state==="pending"){let l=u.with;if(r.proofs([{can:"clock/*",with:l}]).length){let p={issuer:n,lifetimeInSeconds:31536e3,audience:{did:()=>u.grantee},capabilities:[{can:"clock/*",with:l}],proofs:r.proofs()},h=await(await wt(p)).archive();if(!h.ok)throw new Error("missing delegationCarBytes");u.delegation=h.ok,u._files={delegation:new File([h.ok],"delegation",{type:"application/ucanto"})},u.state="granted",console.log("granting delegation",u),await this.accountDb.put(u)}}}await Sk(5e3),await this.refresh(),await this.serviceAccessRequests()}async waitForAccess(r,n){let o=r+n,{rows:s}=await this.accountDb.query(this.accessIndexFn,{key:o});if(s.length){let i=s[0].doc;if(i.state==="granted"){let a=await Kt.extract(i.delegation);if(!a.ok)throw new Error("missing loadedDelegation");let c=this.client;await c.addProof(a.ok);let u=c.proofs([{can:"clock/*",with:r}]);if(!u.length)throw new Error("failed granting clock/* capability");console.log("accepting delegation",i),this.clockProofs=u;return}else console.log("waiting for access, please ensure another logged-in tab is open",r)}await Sk(3e3),await this.refresh(),await this.waitForAccess(r,n)}async provisionClockSpace(){let r=this.client,n=r._agent.issuer.did();if(this.clockSpaceDID)await this.joinExistingSpace(r,this.clockSpaceDID,n);else{let{rows:o}=await this.accountDb.query("clockName",{key:this.encodeSpaceName()});o.length?await this.handleExistingSpace(o,r,n):await this.handleCreateNewSpace(r)}}async handleExistingSpace(r,n,o){let i=r[0].doc.with;await this.joinExistingSpace(n,i,o)}async joinExistingSpace(r,n,o){let s=r.proofs([{can:"clock/*",with:n}]);this.clockSpaceDID=n,s.length||await this.handleRequestAccess(n,o)}async handleRequestAccess(r,n){let o=r+n,{rows:s}=await this.accountDb.query(this.accessIndexFn,{key:o});if(!s.length){let i={type:"access-request",state:"pending",with:r,capabilities:["clock/*"],grantee:n,ua:navigator.userAgent};await this.accountDb.put(i)}await this.waitForAccess(r,n)}async handleCreateNewSpace(r){let n=await r.createSpace(this.encodeSpaceName());this.clockSpaceDID=n.did();let o={type:"clock-space",...this.params,clockName:this.encodeSpaceName(),with:this.clockSpaceDID,accountSpace:r.currentSpace().did(),issuer:r._agent.issuer.did(),ua:navigator.userAgent,created:Date.now()};await this.accountDb.put(o)}encodeSpaceName(){let r=encodeURIComponent(this.params.schema),n=encodeURIComponent(this.params.name);return`_clock/${r}/${n}`}decodeSpaceName(r){let[,n,o]=r.split("/"),s=decodeURIComponent(n),i=decodeURIComponent(o);return{schema:s,name:i}}async dataDownload(r){Vs(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.connectedClientForDb();if(!s)throw new Error("client not initialized");return Vs(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.connectedClientForDb(),{issuer:o}=n._agent;if(!o.signatureAlgorithm)throw new Error("issuer not valid");if(r.branch!=="main")throw new Error("todo, implement space per branch");let s=await this.clockProofsForDb(),i=await QC({issuer:o,with:this.clockSpaceDIDForDb(),proofs:s});if(i.out.ok){let a=i.out.ok.head;return this.fetchAndUpdateHead(a)}else throw console.log("w3clock error",i.out.error),new Error(`Failed to download ${r.name}`)}async metaUpload(r,n){let o=await this.connectedClientForDb(),{issuer:s}=o._agent;if(!s.signatureAlgorithm)throw new Error("issuer not valid");if(n.branch!=="main")throw new Error("todo, implement space per branch");let i=await this.clockProofsForDb(),a={dbMeta:r},c=await Ds.create(a,this.parents),u=new pt;await this.eventBlocks.put(c.cid,c.bytes),await u.put(c.cid,c.bytes);let{bytes:l}=await ga([c.cid],u);await o.uploadCAR(new Blob([l]));let d=[];for(let{bytes:b}of this.eventBlocks.entries())d.push(await Zu(b));let p=await JC({issuer:s,with:this.clockSpaceDIDForDb(),proofs:i},c.cid,{blocks:d});this.parents=[c.cid];let{ok:f,error:h}=p.root.data?.ocm.out;if(h)throw new Error(JSON.stringify(h));let m=f.head;return this.fetchAndUpdateHead(m)}async fetchAndUpdateHead(r){let n=[],o=this.eventBlocks;for(let s of r){let i=await o.get(s);if(i){let a=await Zu(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 Zu(u);n.push(l.value.data.dbMeta)}else throw new Error(`Failed to download ${a}`)}}return this.parents=r,n}async connectClient(){let r=await yC(),n=this.bestSpace(r);return n&&n.registered()?(this.authorized=!0,await r.setCurrentSpace(n.did())):this.authorized=!1,r}bestSpace(r){let n=r.spaces(),o;for(let s of n)if(o=s,s.registered())break;return o}};var _k=class extends yn{constructor({metaUpload:e,metaDownload:r,dataUpload:n,dataDownload:o}){super(),this.metaUpload=e,this.metaDownload=r,this.dataUpload=n,this.dataDownload=o}},Ek=new Map,om={s3:({_crdt:{blocks:{loader:t}}},{upload:e,download:r})=>{let n=new hl(e,r);return t.connectRemote(n),n},raw:({_crdt:{blocks:{loader:t}}},e)=>{let r=new _k(e);return t.connectRemote(r),r},web3:(t,e)=>{let{name:r,_crdt:{blocks:{loader:n}}}=t;if(!r)throw new Error("database name is required");if(Ek.has(r))return Ek.get(r);!e&&location&&(e=location.origin);let o=new sm({name:r,schema:e});return n.connectRemote(o),Ek.set(r,o),o}};function Vs(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 am(t){let{name:e,branch:r}=t;if(!e)throw new Error("name is required");if(!r)throw new Error("branch is required")}return s8(yj);})();
|
1
|
+
"use strict";var Fireproof=(()=>{var gw=Object.create;var mn=Object.defineProperty;var ww=Object.getOwnPropertyDescriptor;var bw=Object.getOwnPropertyNames;var xw=Object.getPrototypeOf,kw=Object.prototype.hasOwnProperty;var vw=(t,e,r)=>e in t?mn(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),Q=(t,e)=>{for(var r in e)mn(t,r,{get:e[r],enumerable:!0})},Al=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of bw(e))!kw.call(t,o)&&o!==r&&mn(t,o,{get:()=>e[o],enumerable:!(n=ww(e,o))||n.enumerable});return t};var W=(t,e,r)=>(r=t!=null?gw(xw(t)):{},Al(e||!t||!t.__esModule?mn(r,"default",{value:t,enumerable:!0}):r,t)),Ew=t=>Al(mn({},"__esModule",{value:!0}),t);var k=(t,e,r)=>(vw(t,typeof e!="symbol"?e+"":e,r),r),_l=(t,e,r)=>{if(!e.has(t))throw TypeError("Cannot "+r)};var Z=(t,e,r)=>(_l(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)=>(_l(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r);var ea=(t,e,r,n)=>({set _(o){fe(t,e,o,r)},get _(){return Z(t,e,n)}});var ad=H((mA,sd)=>{sd.exports=Ua;var id=128,v0=127,E0=~v0,S0=Math.pow(2,31);function Ua(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw Ua.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=S0;)e[r++]=t&255|id,t/=128;for(;t&E0;)e[r++]=t&255|id,t>>>=7;return e[r]=t|0,Ua.bytes=r-n+1,e}});var ld=H((gA,ud)=>{ud.exports=Pa;var A0=128,cd=127;function Pa(t,n){var r=0,n=n||0,o=0,i=n,s,c=t.length;do{if(i>=c||o>49)throw Pa.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=o<28?(s&cd)<<o:(s&cd)*Math.pow(2,o),o+=7}while(s>=A0);return Pa.bytes=i-n,r}});var dd=H((wA,fd)=>{var _0=Math.pow(2,7),B0=Math.pow(2,14),C0=Math.pow(2,21),T0=Math.pow(2,28),I0=Math.pow(2,35),L0=Math.pow(2,42),D0=Math.pow(2,49),N0=Math.pow(2,56),U0=Math.pow(2,63);fd.exports=function(t){return t<_0?1:t<B0?2:t<C0?3:t<T0?4:t<I0?5:t<L0?6:t<D0?7:t<N0?8:t<U0?9:10}});var ni=H((bA,hd)=>{hd.exports={encode:ad(),decode:ld(),encodingLength:dd()}});var Zh=H(bc=>{bc.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"+sx(String(r),3)+"M"+String(n);return t>0?"F"+o:"D"+Yh(o)};bc.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?Yh(t):t).slice(2).split("M");return+((e?"-":"")+r[1]+"e"+String(Number(r[0])-500))};function Yh(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 sx(t,e){return" ".repeat(e-t.length).substr(0,e)+t}});var tp=H(ep=>{var ax={"?":"?@","!":"??",'"':"?%"};function cx(t){return/[!"]/.test(t)?t.replace(/[\?!"]/g,function(e){return ax[e]}):t}var ux={"?@":"?","??":"!","?%":'"'};function lx(t){return/\?[%\?@]/.test(t)?t.replace(/\?[%\?@]/g,function(e){return ux[e]}):t}ep.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):cx(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(lx(p)));for(var g=a-h,w=g;w<a;w++)s[w+1]=[],a=g,c=s[a]}return s[0][0]}}});var np=H(J=>{var fx=Zh(),dx=tp(),tB=J.flip=function(t){var e=t.toString(),r="";for(var n in e)r+=e[n]=="."?".":9-+e[n];return r};J.number=fx;J.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)}};J.encode=function(t){return J[typeof t].encode(t)};J.decode=function(t){if(t==="")return t;if(!rp[t[0]])throw new Error("no decoder for:"+JSON.stringify(t));return rp[t[0]](t)};J.object=dx.factory(J);J.boolean={encode:function(t){return t?"C":"B"},decode:function(t){return t==="C"}};J.undefined={encode:function(t){return"L"},decode:function(){}};var rp={A:J.object.decode,B:J.boolean.decode,C:J.boolean.decode,D:J.number.decode,F:J.number.decode,J:J.string.decode,K:J.object.decode,L:J.undefined.decode};J.buffer=!1;J.type="charwise"});var Fp=H((ZB,Pp)=>{"use strict";Pp.exports=qx;function qx(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 zp=H(Rp=>{"use strict";var Zi=Rp;Zi.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 Qr=new Array(64),Op=new Array(123);for(Oe=0;Oe<64;)Op[Qr[Oe]=Oe<26?Oe+65:Oe<52?Oe+71:Oe<62?Oe-4:Oe-59|43]=Oe++;var Oe;Zi.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++]=Qr[u>>2],a=(u&3)<<4,c=1;break;case 1:i[s++]=Qr[a|u>>4],a=(u&15)<<2,c=2;break;case 2:i[s++]=Qr[a|u>>6],i[s++]=Qr[u&63],c=0;break}s>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,i)),s=0)}return c&&(i[s++]=Qr[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 Mp="invalid encoding";Zi.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=Op[a])===void 0)throw Error(Mp);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(Mp);return n-o};Zi.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var Hp=H((t3,$p)=>{"use strict";$p.exports=es;function es(){this._listeners={}}es.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};es.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};es.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 Qp=H((r3,Gp)=>{"use strict";Gp.exports=jp(jp);function jp(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,Vp),t.writeFloatBE=e.bind(null,qp);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,Wp),t.readFloatBE=r.bind(null,Kp)}(),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,Vp,0,4),t.writeDoubleBE=e.bind(null,qp,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,Wp,0,4),t.readDoubleBE=r.bind(null,Kp,4,0)}(),t}function Vp(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 qp(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 Wp(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function Kp(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var Jp=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 Yp=H(Xp=>{"use strict";var Vc=Xp;Vc.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};Vc.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))};Vc.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 ey=H((o3,Zp)=>{"use strict";Zp.exports=Wx;function Wx(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 ry=H((i3,ty)=>{"use strict";ty.exports=re;var to=lt();function re(t,e){this.lo=t>>>0,this.hi=e>>>0}var cr=re.zero=new re(0,0);cr.toNumber=function(){return 0};cr.zzEncode=cr.zzDecode=function(){return this};cr.length=function(){return 1};var Kx=re.zeroHash="\0\0\0\0\0\0\0\0";re.fromNumber=function(e){if(e===0)return cr;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(to.isString(e))if(to.Long)e=to.Long.fromString(e);else return re.fromNumber(parseInt(e,10));return e.low||e.high?new re(e.low>>>0,e.high>>>0):cr};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 to.Long?new to.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===Kx?cr: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(qc=>{"use strict";var D=qc;D.asPromise=Fp();D.base64=zp();D.EventEmitter=Hp();D.float=Qp();D.inquire=Jp();D.utf8=Yp();D.pool=ey();D.LongBits=ry();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||qc;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 ny(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=ny;D.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function oy(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&&ny(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=oy;D.ProtocolError=oy("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 rs=H((a3,cy)=>{"use strict";cy.exports=O;var De=lt(),Wc,ts=De.LongBits,iy=De.base64,sy=De.utf8;function ro(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function Gc(){}function Gx(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 ro(Gc,0,0),this.tail=this.head,this.states=null}var ay=function(){return De.Buffer?function(){return(O.create=function(){return new Wc})()}:function(){return new O}};O.create=ay();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 ro(e,r,n),this.len+=r,this};function Qc(t,e,r){e[r]=t&255}function Qx(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function Jc(t,e){this.len=t,this.next=void 0,this.val=e}Jc.prototype=Object.create(ro.prototype);Jc.prototype.fn=Qx;O.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new Jc((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(Xc,10,ts.fromNumber(e)):this.uint32(e)};O.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function Xc(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=ts.from(e);return this._push(Xc,r.length(),r)};O.prototype.int64=O.prototype.uint64;O.prototype.sint64=function(e){var r=ts.from(e).zzEncode();return this._push(Xc,r.length(),r)};O.prototype.bool=function(e){return this._push(Qc,1,e?1:0)};function Kc(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(Kc,4,e>>>0)};O.prototype.sfixed32=O.prototype.fixed32;O.prototype.fixed64=function(e){var r=ts.from(e);return this._push(Kc,4,r.lo)._push(Kc,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 Jx=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(Qc,1,0);if(De.isString(e)){var n=O.alloc(r=iy.length(e));iy.decode(e,n,0),e=n}return this.uint32(r)._push(Jx,r,e)};O.prototype.string=function(e){var r=sy.length(e);return r?this.uint32(r)._push(sy.write,r,e):this._push(Qc,1,0)};O.prototype.fork=function(){return this.states=new Gx(this),this.head=this.tail=new ro(Gc,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 ro(Gc,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){Wc=t,O.create=ay(),Wc._configure()}});var Yc=H((c3,ly)=>{"use strict";ly.exports=Ze;var uy=rs();(Ze.prototype=Object.create(uy.prototype)).constructor=Ze;var Ct=lt();function Ze(){uy.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 Xx(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(Xx,r,e),this};Ze._configure()});var os=H((u3,yy)=>{"use strict";yy.exports=X;var et=lt(),eu,hy=et.LongBits,Yx=et.utf8;function Re(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function X(t){this.buf=t,this.pos=0,this.len=t.length}var fy=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new X(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new X(e);throw Error("illegal buffer")},py=function(){return et.Buffer?function(r){return(X.create=function(o){return et.Buffer.isBuffer(o)?new eu(o):fy(o)})(r)}:fy};X.create=py();X.prototype._slice=et.Array.prototype.subarray||et.Array.prototype.slice;X.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}}();X.prototype.int32=function(){return this.uint32()|0};X.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function Zc(){var t=new hy(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")}X.prototype.bool=function(){return this.uint32()!==0};function ns(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}X.prototype.fixed32=function(){if(this.pos+4>this.len)throw Re(this,4);return ns(this.buf,this.pos+=4)};X.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Re(this,4);return ns(this.buf,this.pos+=4)|0};function dy(){if(this.pos+8>this.len)throw Re(this,8);return new hy(ns(this.buf,this.pos+=4),ns(this.buf,this.pos+=4))}X.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};X.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};X.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)};X.prototype.string=function(){var e=this.bytes();return Yx.read(e,0,e.length)};X.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};X.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};X._configure=function(t){eu=t,X.create=py(),eu._configure();var e=et.Long?"toLong":"toNumber";et.merge(X.prototype,{int64:function(){return Zc.call(this)[e](!1)},uint64:function(){return Zc.call(this)[e](!0)},sint64:function(){return Zc.call(this).zzDecode()[e](!1)},fixed64:function(){return dy.call(this)[e](!0)},sfixed64:function(){return dy.call(this)[e](!1)}})}});var tu=H((l3,wy)=>{"use strict";wy.exports=ur;var gy=os();(ur.prototype=Object.create(gy.prototype)).constructor=ur;var my=lt();function ur(t){gy.call(this,t)}ur._configure=function(){my.Buffer&&(ur.prototype._slice=my.Buffer.prototype.slice)};ur.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))};ur._configure()});var xy=H((f3,by)=>{"use strict";by.exports=no;var ru=lt();(no.prototype=Object.create(ru.EventEmitter.prototype)).constructor=no;function no(t,e,r){if(typeof t!="function")throw TypeError("rpcImpl must be a function");ru.EventEmitter.call(this),this.rpcImpl=t,this.requestDelimited=!!e,this.responseDelimited=!!r}no.prototype.rpcCall=function t(e,r,n,o,i){if(!o)throw TypeError("request must be specified");var s=this;if(!i)return ru.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}};no.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}});var vy=H(ky=>{"use strict";var Zx=ky;Zx.Service=xy()});var Sy=H((h3,Ey)=>{"use strict";Ey.exports={}});var By=H(_y=>{"use strict";var he=_y;he.build="minimal";he.Writer=rs();he.BufferWriter=Yc();he.Reader=os();he.BufferReader=tu();he.util=lt();he.rpc=vy();he.roots=Sy();he.configure=Ay;function Ay(){he.util._configure(),he.Writer._configure(he.BufferWriter),he.Reader._configure(he.BufferReader)}Ay()});var Ty=H((y3,Cy)=>{"use strict";Cy.exports=By()});var _m=H((yo,As)=>{(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,Mo=2869860233,Oo=951274213,Ro=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,Mo),g^=T,g=i(g,19),g+=b,g=o(g,5)+1444728091,U=o(U,Mo),U=i(U,16),U=o(U,Oo),b^=U,b=i(b,17),b+=v,b=o(b,5)+197830471,A=o(A,Oo),A=i(A,17),A=o(A,Ro),v^=A,v=i(v,15),v+=E,v=o(v,5)+2530024501,P=o(P,Ro),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,Ro),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,Oo),A=i(A,17),A=o(A,Ro),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,Mo),U=i(U,16),U=o(U,Oo),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,Mo),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 yo<"u"?(typeof As<"u"&&As.exports&&(yo=As.exports=r),yo.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)})(yo)});var Mu=H(($3,Bm)=>{Bm.exports=_m()});var rt=H((_C,tg)=>{"use strict";function eg(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function $2(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 eg(t,r)}catch{r.message=t.message,r.stack=t.stack;let o=function(){};return o.prototype=Object.create(Object.getPrototypeOf(t)),eg(new o,r)}}tg.exports=$2});var vg=H((fT,kg)=>{"use strict";kg.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(nv,0),a=~(4294967295<<i+1),u=xg(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(ov),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(iv)}};function nv(t,e){return t+xg(e)}function xg(t){let e=t;return e=e-(e>>1&1431655765),e=(e&858993459)+(e>>2&858993459),(e+(e>>4)&252645135)*16843009>>24}function ov(t,e){return t[0]-e[0]}function iv(t){return t[1]}});var Vg=H((S4,hl)=>{"use strict";var Jv=Object.prototype.hasOwnProperty,ue="~";function Ao(){}Object.create&&(Ao.prototype=Object.create(null),new Ao().__proto__||(ue=!1));function Xv(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function jg(t,e,r,n,o){if(typeof r!="function")throw new TypeError("The listener must be a function");var i=new Xv(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 Hs(t,e){--t._eventsCount===0?t._events=new Ao:delete t._events[e]}function se(){this._events=new Ao,this._eventsCount=0}se.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)Jv.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 jg(this,e,r,n,!1)};se.prototype.once=function(e,r,n){return jg(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 Hs(this,i),this;var s=this._events[i];if(s.fn)s.fn===r&&(!o||s.once)&&(!n||s.context===n)&&Hs(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:Hs(this,i)}return this};se.prototype.removeAllListeners=function(e){var r;return e?(r=ue?ue+e:e,this._events[r]&&Hs(this,r)):(this._events=new Ao,this._eventsCount=0),this};se.prototype.off=se.prototype.removeListener;se.prototype.addListener=se.prototype.on;se.prefixed=ue;se.EventEmitter=se;typeof hl<"u"&&(hl.exports=se)});var yE={};Q(yE,{DataStore:()=>Qn,Database:()=>Pt,Index:()=>Mi,Loader:()=>Yt,MetaStore:()=>Gn,STORAGE_VERSION:()=>Jn,cidListIncludes:()=>gc,encodeCarFile:()=>Vn,encodeCarHeader:()=>tc,fireproof:()=>hE,index:()=>Wr,parseCarFile:()=>rc,toHexString:()=>Xh});var zo="0123456789abcdef",$o=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+=zo.charAt(this.bytes[r]>>>4),e+=zo.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+=zo.charAt(this.bytes[r]>>>4),e+=zo.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}},ta=class{constructor(e){this.timestamp=0,this.counter=0,this.random=e??Sw()}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 $o.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,$o.ofInner(e)}},Sw=()=>{if(typeof crypto<"u"&&typeof crypto.getRandomValues<"u")return new ra;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)}},ra=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++]}},Bl,Cl=()=>Aw().toString(),Aw=()=>(Bl||(Bl=new ta)).generate();function Tl(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 _w=Dl,Il=128,Bw=127,Cw=~Bw,Tw=Math.pow(2,31);function Dl(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Tw;)e[r++]=t&255|Il,t/=128;for(;t&Cw;)e[r++]=t&255|Il,t>>>=7;return e[r]=t|0,Dl.bytes=r-n+1,e}var Iw=na,Lw=128,Ll=127;function na(t,n){var r=0,n=n||0,o=0,i=n,s,c=t.length;do{if(i>=c)throw na.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=o<28?(s&Ll)<<o:(s&Ll)*Math.pow(2,o),o+=7}while(s>=Lw);return na.bytes=i-n,r}var Dw=Math.pow(2,7),Nw=Math.pow(2,14),Uw=Math.pow(2,21),Pw=Math.pow(2,28),Fw=Math.pow(2,35),Mw=Math.pow(2,42),Ow=Math.pow(2,49),Rw=Math.pow(2,56),zw=Math.pow(2,63),$w=function(t){return t<Dw?1:t<Nw?2:t<Uw?3:t<Pw?4:t<Fw?5:t<Mw?6:t<Ow?7:t<Rw?8:t<zw?9:10},Hw={encode:_w,decode:Iw,encodingLength:$w},jw=Hw,gn=jw;var wn=(t,e=0)=>[gn.decode(t,e),gn.decode.bytes],mr=(t,e,r=0)=>(gn.encode(t,e,r),e),gr=t=>gn.encodingLength(t);var kE=new Uint8Array(0);var Nl=(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 Ul=t=>new TextEncoder().encode(t),Pl=t=>new TextDecoder().decode(t);var Ft=(t,e)=>{let r=e.byteLength,n=gr(t),o=n+gr(r),i=new Uint8Array(o+r);return mr(t,i,0),mr(r,i,n),i.set(e,o),new wr(t,r,e,i)},br=t=>{let e=ot(t),[r,n]=wn(e),[o,i]=wn(e.subarray(n)),s=e.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new wr(r,o,s,e)},Fl=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Nl(t.bytes,r.bytes)}},wr=class{constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};var ua={};Q(ua,{base58btc:()=>He,base58flickr:()=>Qw});function Vw(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 qw=Vw,Ww=qw,Ml=Ww;var ia=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")}},sa=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 Ol(this,e)}},aa=class{constructor(e){this.decoders=e}or(e){return Ol(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`)}},Ol=(t,e)=>new aa({...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 ia(e,r,n),this.decoder=new sa(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},xr=({name:t,prefix:e,encode:r,decode:n})=>new ca(t,e,r,n),yt=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:o}=Ml(r,e);return xr({prefix:t,name:e,encode:n,decode:i=>ot(o(i))})},Kw=(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},Gw=(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})=>xr({prefix:e,name:t,encode(o){return Gw(o,n,r)},decode(o){return Kw(o,n,r,t)}});var He=yt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Qw=yt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var la={};Q(la,{base32:()=>kr,base32hex:()=>Zw,base32hexpad:()=>tb,base32hexpadupper:()=>rb,base32hexupper:()=>eb,base32pad:()=>Xw,base32padupper:()=>Yw,base32upper:()=>Jw,base32z:()=>nb});var kr=G({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Jw=G({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Xw=G({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Yw=G({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Zw=G({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),eb=G({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),tb=G({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),rb=G({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),nb=G({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var fa=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return ib(r,da(t),e||He.encoder);default:return sb(r,da(t),e||kr.encoder)}};var Rl=new WeakMap,da=t=>{let e=Rl.get(t);if(e==null){let r=new Map;return Rl.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!==bn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==ab)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=Ft(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&&Fl(e.multihash,n.multihash)}toString(e){return fa(this,e)}toJSON(){return{"/":fa(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||zl(n,o,i.bytes))}else if(r[cb]===!0){let{version:n,multihash:o,code:i}=r,s=br(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!==bn)throw new Error(`Version 0 CID must use dag-pb (code: ${bn}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=zl(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,bn,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 wr(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]=wn(e.subarray(r));return r+=m,d},o=n(),i=bn;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]=ob(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 da(i).set(n,e),i}},ob=(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 kr.prefix:{let r=e||kr;return[kr.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)]}}},ib=(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},sb=(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},bn=112,ab=18,zl=(t,e,r)=>{let n=gr(t),o=n+gr(e),i=new Uint8Array(o+r.byteLength);return mr(t,i,0),mr(e,i,n),i.set(r,o),i},cb=Symbol.for("@ipld/js-cid/CID");var $l=(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:$l(e),bytes:r}}};je=new WeakMap;var xn,Ot=class{constructor(...e){nt(this,xn,void 0);fe(this,xn,e)}async get(e){for(let r of Z(this,xn)){let n=await r.get(e);if(n)return n}}};xn=new WeakMap;var ha=class{constructor(e){k(this,"value");k(this,"next");this.value=e}},Ve,Rt,zt,kn=class{constructor(){nt(this,Ve,void 0);nt(this,Rt,void 0);nt(this,zt,void 0);this.clear()}enqueue(e){let r=new ha(e);Z(this,Ve)?(Z(this,Rt).next=r,fe(this,Rt,r)):(fe(this,Ve,r),fe(this,Rt,r)),ea(this,zt)._++}dequeue(){let e=Z(this,Ve);if(e)return fe(this,Ve,Z(this,Ve).next),ea(this,zt)._--,e.value}clear(){fe(this,Ve,void 0),fe(this,Rt,void 0),fe(this,zt,0)}get size(){return Z(this,zt)}*[Symbol.iterator](){let e=Z(this,Ve);for(;e;)yield e.value,e=e.next}};Ve=new WeakMap,Rt=new WeakMap,zt=new WeakMap;function vn(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 kn,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={};Q(q,{code:()=>Da,decode:()=>Ir,encode:()=>ri,name:()=>k0});var ub=["string","number","bigint","symbol"],lb=["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 Hl(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(ub.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(fb(t))return"Buffer";let r=db(t);return r||"Object"}function fb(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function db(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(lb.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 vr=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",hb=new TextDecoder,pb=new TextEncoder;function jo(t){return vr&&globalThis.Buffer.isBuffer(t)}function En(t){return t instanceof Uint8Array?jo(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var Wl=vr?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):Vl(t,e,r):(t,e,r)=>r-e>64?hb.decode(t.subarray(e,r)):Vl(t,e,r),Vo=vr?t=>t.length>64?globalThis.Buffer.from(t):jl(t):t=>t.length>64?pb.encode(t):jl(t),qe=t=>Uint8Array.from(t),Er=vr?(t,e,r)=>jo(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),Kl=vr?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),En(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},Gl=vr?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function Ql(t,e){if(jo(t)&&jo(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 jl(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 Vl(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 pa(n)}var ql=4096;function pa(t){let e=t.length;if(e<=ql)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=ql));return r}var yb=256,Sn=class{constructor(e=yb){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=Gl(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=Er(n,0,this.cursor)}else r=Kl(this.chunks,this.cursor);return e&&this.reset(),r}};var I="CBOR decode error:",it="CBOR encode error:",An=[];An[23]=1;An[24]=2;An[25]=3;An[26]=5;An[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 Jl(t,e,r,n){return new S(y.uint,ye(t,e+1,n),2)}function Xl(t,e,r,n){return new S(y.uint,me(t,e+1,n),3)}function Yl(t,e,r,n){return new S(y.uint,ge(t,e+1,n),5)}function Zl(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 ef(t,e,r,n){return new S(y.negint,-1-ye(t,e+1,n),2)}function tf(t,e,r,n){return new S(y.negint,-1-me(t,e+1,n),3)}function rf(t,e,r,n){return new S(y.negint,-1-ge(t,e+1,n),5)}var ya=BigInt(-1),nf=BigInt(1);function of(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,ya-BigInt(o),9)}function qo(t,e){let r=e.value,n=typeof r=="bigint"?r*ya-nf:r*-1-1;ne(t,e.type.majorEncoded,n)}qo.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*ya-nf:r*-1-1;return n<ee[0]?1:n<ee[1]?2:n<ee[2]?3:n<ee[3]?5:9};qo.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function _n(t,e,r,n){st(t,e,r+n);let o=Er(t,e+r,e+r+n);return new S(y.bytes,o,r+n)}function sf(t,e,r,n){return _n(t,e,1,r)}function af(t,e,r,n){return _n(t,e,2,ye(t,e+1,n))}function cf(t,e,r,n){return _n(t,e,3,me(t,e+1,n))}function uf(t,e,r,n){return _n(t,e,5,ge(t,e+1,n))}function lf(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 _n(t,e,9,o)}function Wo(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===y.string?Vo(t.value):t.value),t.encodedBytes}function Sr(t,e){let r=Wo(e);ne(t,e.type.majorEncoded,r.length),t.push(r)}Sr.encodedSize=function(e){let r=Wo(e);return ne.encodedSize(r.length)+r.length};Sr.compareTokens=function(e,r){return gb(Wo(e),Wo(r))};function gb(t,e){return t.length<e.length?-1:t.length>e.length?1:Ql(t,e)}function Bn(t,e,r,n,o){let i=r+n;st(t,e,i);let s=new S(y.string,Wl(t,e+r,e+i),i);return o.retainStringBytes===!0&&(s.byteValue=Er(t,e+r,e+i)),s}function ff(t,e,r,n){return Bn(t,e,1,r,n)}function df(t,e,r,n){return Bn(t,e,2,ye(t,e+1,n),n)}function hf(t,e,r,n){return Bn(t,e,3,me(t,e+1,n),n)}function pf(t,e,r,n){return Bn(t,e,5,ge(t,e+1,n),n)}function yf(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 Bn(t,e,9,o,n)}var mf=Sr;function Ar(t,e,r,n){return new S(y.array,n,r)}function gf(t,e,r,n){return Ar(t,e,1,r)}function wf(t,e,r,n){return Ar(t,e,2,ye(t,e+1,n))}function bf(t,e,r,n){return Ar(t,e,3,me(t,e+1,n))}function xf(t,e,r,n){return Ar(t,e,5,ge(t,e+1,n))}function kf(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 Ar(t,e,9,o)}function vf(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 Ko(t,e){ne(t,y.array.majorEncoded,e.value)}Ko.compareTokens=Be.compareTokens;Ko.encodedSize=function(e){return ne.encodedSize(e.value)};function _r(t,e,r,n){return new S(y.map,n,r)}function Ef(t,e,r,n){return _r(t,e,1,r)}function Sf(t,e,r,n){return _r(t,e,2,ye(t,e+1,n))}function Af(t,e,r,n){return _r(t,e,3,me(t,e+1,n))}function _f(t,e,r,n){return _r(t,e,5,ge(t,e+1,n))}function Bf(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 _r(t,e,9,o)}function Cf(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${I} indefinite length items not allowed`);return _r(t,e,1,1/0)}function Go(t,e){ne(t,y.map.majorEncoded,e.value)}Go.compareTokens=Be.compareTokens;Go.encodedSize=function(e){return ne.encodedSize(e.value)};function Tf(t,e,r,n){return new S(y.tag,r,1)}function If(t,e,r,n){return new S(y.tag,ye(t,e+1,n),2)}function Lf(t,e,r,n){return new S(y.tag,me(t,e+1,n),3)}function Df(t,e,r,n){return new S(y.tag,ge(t,e+1,n),5)}function Nf(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 Eb=20,Sb=21,Ab=22,_b=23;function Uf(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 Pf(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 ma(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 Ff(t,e,r,n){return ma(ga(t,e+1),3,n)}function Mf(t,e,r,n){return ma(wa(t,e+1),5,n)}function Of(t,e,r,n){return ma(Hf(t,e+1),9,n)}function Jo(t,e,r){let n=e.value;if(n===!1)t.push([y.float.majorEncoded|Eb]);else if(n===!0)t.push([y.float.majorEncoded|Sb]);else if(n===null)t.push([y.float.majorEncoded|Ab]);else if(n===void 0)t.push([y.float.majorEncoded|_b]);else{let o,i=!1;(!r||r.float64!==!0)&&(zf(n),o=ga(Ne,1),n===o||Number.isNaN(n)?(Ne[0]=249,t.push(Ne.slice(0,3)),i=!0):($f(n),o=wa(Ne,1),n===o&&(Ne[0]=250,t.push(Ne.slice(0,5)),i=!0))),i||(Bb(n),o=Hf(Ne,1),Ne[0]=251,t.push(Ne.slice(0,9)))}}Jo.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){zf(n);let o=ga(Ne,1);if(n===o||Number.isNaN(n))return 3;if($f(n),o=wa(Ne,1),n===o)return 5}return 9};var Rf=new ArrayBuffer(9),Ce=new DataView(Rf,1),Ne=new Uint8Array(Rf,0);function zf(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 ga(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 $f(t){Ce.setFloat32(0,t,!1)}function wa(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 Bb(t){Ce.setFloat64(0,t,!1)}function Hf(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)}Jo.compareTokens=Be.compareTokens;function R(t,e,r){throw new Error(`${I} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function Xo(t){return()=>{throw new Error(`${I} ${t}`)}}var _=[];for(let t=0;t<=23;t++)_[t]=R;_[24]=Jl;_[25]=Xl;_[26]=Yl;_[27]=Zl;_[28]=R;_[29]=R;_[30]=R;_[31]=R;for(let t=32;t<=55;t++)_[t]=R;_[56]=ef;_[57]=tf;_[58]=rf;_[59]=of;_[60]=R;_[61]=R;_[62]=R;_[63]=R;for(let t=64;t<=87;t++)_[t]=sf;_[88]=af;_[89]=cf;_[90]=uf;_[91]=lf;_[92]=R;_[93]=R;_[94]=R;_[95]=Xo("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)_[t]=ff;_[120]=df;_[121]=hf;_[122]=pf;_[123]=yf;_[124]=R;_[125]=R;_[126]=R;_[127]=Xo("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)_[t]=gf;_[152]=wf;_[153]=bf;_[154]=xf;_[155]=kf;_[156]=R;_[157]=R;_[158]=R;_[159]=vf;for(let t=160;t<=183;t++)_[t]=Ef;_[184]=Sf;_[185]=Af;_[186]=_f;_[187]=Bf;_[188]=R;_[189]=R;_[190]=R;_[191]=Cf;for(let t=192;t<=215;t++)_[t]=Tf;_[216]=If;_[217]=Lf;_[218]=Df;_[219]=Nf;_[220]=R;_[221]=R;_[222]=R;_[223]=R;for(let t=224;t<=243;t++)_[t]=Xo("simple values are not supported");_[244]=R;_[245]=R;_[246]=R;_[247]=Uf;_[248]=Xo("simple values are not supported");_[249]=Ff;_[250]=Mf;_[251]=Of;_[252]=R;_[253]=R;_[254]=R;_[255]=Pf;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 jf(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 Tb={float64:!1,mapSorter:Db,quickEncodeToken:jf};function Ib(){let t=[];return t[y.uint.major]=Be,t[y.negint.major]=qo,t[y.bytes.major]=Sr,t[y.string.major]=mf,t[y.array.major]=Ko,t[y.map.major]=Go,t[y.tag.major]=Qo,t[y.float.major]=Jo,t}var Vf=Ib(),ba=new Sn,Zo=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=Zo.createCheck(n,t);let o=[],i=0;for(let s of t)o[i++]=Yo(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=Zo.createCheck(n,t);let c=[],a=0;for(let u of i)c[a++]=[Yo(u,r,n),Yo(o?t.get(u):t[u],r,n)];return Lb(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 Yo(t,e={},r){let n=Hl(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 Lb(t,e){e.mapSorter&&t.sort(e.mapSorter)}function Db(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=Vf[o].compareTokens(r,n);return i===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),i}function qf(t,e,r,n){if(Array.isArray(e))for(let o of e)qf(t,o,r,n);else r[e.type.major](t,e,n)}function xa(t,e,r){let n=Yo(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 Sn(s);if(i(c,n,r),c.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return En(c.chunks[0])}}return ba.reset(),qf(ba,n,e,r),ba.toBytes(!0)}function ka(t,e){return e=Object.assign({},Tb,e),xa(t,Vf,e)}var Nb={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},va=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}},Cn=Symbol.for("DONE"),ei=Symbol.for("BREAK");function Ub(t,e,r){let n=[];for(let o=0;o<t.value;o++){let i=Tn(e,r);if(i===ei){if(t.value===1/0)break;throw new Error(`${I} got unexpected break to lengthed array`)}if(i===Cn)throw new Error(`${I} found array but not enough entries (got ${o}, expected ${t.value})`);n[o]=i}return n}function Pb(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=Tn(e,r);if(c===ei){if(t.value===1/0)break;throw new Error(`${I} got unexpected break to lengthed map`)}if(c===Cn)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=Tn(e,r);if(a===Cn)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 Tn(t,e){if(t.done())return Cn;let r=t.next();if(r.type===y.break)return ei;if(r.type.terminal)return r.value;if(r.type===y.array)return Ub(r,t,e);if(r.type===y.map)return Pb(r,t,e);if(r.type===y.tag){if(e.tags&&typeof e.tags[r.value]=="function"){let n=Tn(t,e);return e.tags[r.value](n)}throw new Error(`${I} tag not supported (${r.value})`)}throw new Error("unsupported")}function In(t,e){if(!(t instanceof Uint8Array))throw new Error(`${I} data to decode must be a Uint8Array`);e=Object.assign({},Nb,e);let r=e.tokenizer||new va(t,e),n=Tn(r,e);if(n===Cn)throw new Error(`${I} did not find any content to decode`);if(n===ei)throw new Error(`${I} got unexpected break`);if(!r.done())throw new Error(`${I} too many terminals, data makes no sense`);return n}var Mb=Gf,Wf=128,Ob=127,Rb=~Ob,zb=Math.pow(2,31);function Gf(t,e,r){e=e||[],r=r||0;for(var n=r;t>=zb;)e[r++]=t&255|Wf,t/=128;for(;t&Rb;)e[r++]=t&255|Wf,t>>>=7;return e[r]=t|0,Gf.bytes=r-n+1,e}var $b=Ea,Hb=128,Kf=127;function Ea(t,n){var r=0,n=n||0,o=0,i=n,s,c=t.length;do{if(i>=c)throw Ea.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=o<28?(s&Kf)<<o:(s&Kf)*Math.pow(2,o),o+=7}while(s>=Hb);return Ea.bytes=i-n,r}var jb=Math.pow(2,7),Vb=Math.pow(2,14),qb=Math.pow(2,21),Wb=Math.pow(2,28),Kb=Math.pow(2,35),Gb=Math.pow(2,42),Qb=Math.pow(2,49),Jb=Math.pow(2,56),Xb=Math.pow(2,63),Yb=function(t){return t<jb?1:t<Vb?2:t<qb?3:t<Wb?4:t<Kb?5:t<Gb?6:t<Qb?7:t<Jb?8:t<Xb?9:10},Zb={encode:Mb,decode:$b,encodingLength:Yb},e0=Zb,Ln=e0;var Dn=(t,e=0)=>[Ln.decode(t,e),Ln.decode.bytes],Br=(t,e,r=0)=>(Ln.encode(t,e,r),e),Cr=t=>Ln.encodingLength(t);var Ht={};Q(Ht,{coerce:()=>Te,empty:()=>Qf,equals:()=>Aa,fromHex:()=>r0,fromString:()=>o0,isBinary:()=>n0,toHex:()=>t0,toString:()=>i0});var Qf=new Uint8Array(0),t0=t=>t.reduce((e,r)=>e+r.toString(16).padStart(2,"0"),""),r0=t=>{let e=t.match(/../g);return e?new Uint8Array(e.map(r=>parseInt(r,16))):Qf},Aa=(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")},n0=t=>t instanceof ArrayBuffer||ArrayBuffer.isView(t),o0=t=>new TextEncoder().encode(t),i0=t=>new TextDecoder().decode(t);var jt=(t,e)=>{let r=e.byteLength,n=Cr(t),o=n+Cr(r),i=new Uint8Array(o+r);return Br(t,i,0),Br(r,i,n),i.set(e,o),new Tr(t,r,e,i)},ti=t=>{let e=Te(t),[r,n]=Dn(e),[o,i]=Dn(e.subarray(n)),s=e.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new Tr(r,o,s,e)},Jf=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Aa(t.bytes,r.bytes)}},Tr=class{constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};function s0(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 a0=s0,c0=a0,Xf=c0;var _a=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")}},Ba=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 Yf(this,e)}},Ca=class{constructor(e){this.decoders=e}or(e){return Yf(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`)}},Yf=(t,e)=>new Ca({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Ta=class{constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new _a(e,r,n),this.decoder=new Ba(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Zf=({name:t,prefix:e,encode:r,decode:n})=>new Ta(t,e,r,n),Ia=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:o}=Xf(r,e);return Zf({prefix:t,name:e,encode:n,decode:i=>Te(o(i))})},u0=(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},l0=(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})=>Zf({prefix:e,name:t,encode(o){return l0(o,n,r)},decode(o){return u0(o,n,r,t)}});var at=Ia({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),XS=Ia({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Un=ae({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),eA=ae({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),tA=ae({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),rA=ae({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),nA=ae({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),oA=ae({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),iA=ae({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),sA=ae({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),aA=ae({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ed=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return d0(r,La(t),e||at.encoder);default:return h0(r,La(t),e||Un.encoder)}};var td=new WeakMap,La=t=>{let e=td.get(t);if(e==null){let r=new Map;return td.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!==Pn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==p0)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=jt(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&&Jf(e.multihash,n.multihash)}toString(e){return ed(this,e)}toJSON(){return{"/":ed(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||rd(n,o,i.bytes))}else if(r[y0]===!0){let{version:n,multihash:o,code:i}=r,s=ti(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!==Pn)throw new Error(`Version 0 CID must use dag-pb (code: ${Pn}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=rd(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Pn,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 Tr(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]=Dn(e.subarray(r));return r+=m,d},o=n(),i=Pn;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]=f0(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 La(i).set(n,e),i}},f0=(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 Un.prefix:{let r=e||Un;return[Un.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)]}}},d0=(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},h0=(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},Pn=112,p0=18,rd=(t,e,r)=>{let n=Cr(t),o=n+Cr(e),i=new Uint8Array(o+r.byteLength);return Br(t,i,0),Br(e,i,n),i.set(r,o),i},y0=Symbol.for("@ipld/js-cid/CID");var nd=42;function m0(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,nd),new S(y.bytes,r)]}function g0(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function w0(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 b0={float64:!0,typeEncoders:{Object:m0,undefined:g0,number:w0}};function x0(t){if(t[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");return V.decode(t.subarray(1))}var od={allowIndefinite:!1,coerceUndefinedToNull:!0,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};od.tags[nd]=x0;var k0="dag-cbor",Da=113,ri=t=>ka(t,b0),Ir=t=>In(t,od);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)},Lr={Int:wt.Int,"CarHeader > version":t=>Lr.Int(t),"CarHeader > roots (anon) > valueType (anon)":wt.Link,"CarHeader > roots (anon)":t=>wt.List(t)&&Array.prototype.every.call(t,Lr["CarHeader > roots (anon) > valueType (anon)"]),"CarHeader > roots":t=>Lr["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])=>Lr["CarHeader > "+r]&&Lr["CarHeader > "+r](n))}},Na=Lr.CarHeader;var bt=W(ni(),1),Fn={SHA2_256:18,LENGTH:32,DAG_PB:112},Fa=16+8+8+8;function Dr(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 Ma(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 Oa(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 Ra(t,e){let r=Dr(await t.upTo(8),t);if(r===0)throw new Error("Invalid CAR header (zero length)");let n=await t.exactly(r,!0),o=Ir(n);if(!Na(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=Ma(await t.exactly(Fa,!0));t.seek(s.dataOffset-t.pos);let c=await Ra(t,1);return Object.assign(c,s)}async function P0(t){let e=await t.exactly(2,!1);if(e[0]===Fn.SHA2_256&&e[1]===Fn.LENGTH){let s=await t.exactly(34,!0),c=br(s);return j.create(0,Fn.DAG_PB,c)}let r=Dr(await t.upTo(8),t);if(r!==1)throw new Error(`Unexpected CID version (${r})`);let n=Dr(await t.upTo(8),t),o=await t.exactly(Oa(await t.upTo(8)),!0),i=br(o);return j.create(r,n,i)}async function pd(t){let e=t.pos,r=Dr(await t.upTo(8),t);if(r===0)throw new Error("Invalid CAR section (zero length)");r+=t.pos-e;let n=await P0(t),o=r-Number(t.pos-e);return{cid:n,length:r,blockLength:o}}async function F0(t){let{cid:e,blockLength:r}=await pd(t);return{bytes:await t.exactly(r,!0),cid:e}}async function M0(t){let e=t.pos,{cid:r,length:n,blockLength:o}=await pd(t),i={cid:r,length:n,blockLength:o,offset:e,blockOffset:t.pos};return t.seek(i.blockLength),i}function Nr(t){let e=(async()=>{let r=await Ra(t);if(r.version===2){let n=t.pos-r.dataOffset;t=R0(t,r.dataSize-n)}return r})();return{header:()=>e,async*blocks(){for(await e;(await t.upTo(8)).length>0;)yield await F0(t)},async*blocksIndex(){for(await e;(await t.upTo(8)).length>0;)yield await M0(t)}}}function Vt(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 O0(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 Ur(t){let e=t[Symbol.asyncIterator]();async function r(){let n=await e.next();return n.done?null:n.value}return O0(r)}function R0(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 qt=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 yd(Vt(e))}static async fromIterable(e){if(!e||typeof e[Symbol.asyncIterator]!="function")throw new TypeError("fromIterable() requires an async iterable");return yd(Ur(e))}};async function yd(t){let e=Nr(t),r=await e.header(),n=[];for await(let o of e.blocks())n.push(o);return new qt(r,n)}var Mn=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 md(Vt(e))}static async fromIterable(e){if(!e||typeof e[Symbol.asyncIterator]!="function")throw new TypeError("fromIterable() requires an async iterable");return md(Ur(e))}};async function md(t){let e=Nr(t),{version:r,roots:n}=await e.header();return new Mn(r,n,e.blocksIndex())}var oi=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}},za=class t extends oi{[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 gd(e);return new t(r,n,o)}static async fromIterable(e){let{version:r,roots:n,iterator:o}=await wd(e);return new t(r,n,o)}},$a=class t extends oi{[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 gd(e);return new t(r,n,o)}static async fromIterable(e){let{version:r,roots:n,iterator:o}=await wd(e);return new t(r,n,o)}};async function gd(t){if(!(t instanceof Uint8Array))throw new TypeError("fromBytes() requires a Uint8Array");return bd(Vt(t))}async function wd(t){if(!t||typeof t[Symbol.asyncIterator]!="function")throw new TypeError("fromIterable() requires an async iterable");return bd(Ur(t))}async function bd(t){let e=Nr(t),{version:r,roots:n}=await e.header();return{version:r,roots:n,iterator:e.blocks()}}var $0=W(ni(),1);var xd=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 $n=W(ni(),1);var H0=["string","number","bigint","symbol"],j0=["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 kd(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(H0.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(V0(t))return"Buffer";let r=q0(t);return r||"Object"}function V0(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function q0(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(j0.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 Pr=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",W0=new TextDecoder,K0=new TextEncoder;function ii(t){return Pr&&globalThis.Buffer.isBuffer(t)}function Ad(t){return t instanceof Uint8Array?ii(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var _d=Pr?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):Ed(t,e,r):(t,e,r)=>r-e>64?W0.decode(t.subarray(e,r)):Ed(t,e,r),Bd=Pr?t=>t.length>64?globalThis.Buffer.from(t):vd(t):t=>t.length>64?K0.encode(t):vd(t),We=t=>Uint8Array.from(t),Fr=Pr?(t,e,r)=>ii(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),Cd=Pr?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),Ad(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},Td=Pr?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function Id(t,e){if(ii(t)&&ii(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 vd(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 Ed(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 G0(n)}var Sd=4096;function G0(t){let e=t.length;if(e<=Sd)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=Sd));return r}var Q0=256,si=class{constructor(e=Q0){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=Td(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=Fr(n,0,this.cursor)}else r=Cd(this.chunks,this.cursor);return e&&this.reset(),r}};var z="CBOR decode error:",Ha="CBOR encode error:",On=[];On[23]=1;On[24]=2;On[25]=3;On[26]=5;On[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 Ld(t,e,r,n){return new C(x.uint,be(t,e+1,n),2)}function Dd(t,e,r,n){return new C(x.uint,xe(t,e+1,n),3)}function Nd(t,e,r,n){return new C(x.uint,ke(t,e+1,n),5)}function Ud(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 Pd(t,e,r,n){return new C(x.negint,-1-be(t,e+1,n),2)}function Fd(t,e,r,n){return new C(x.negint,-1-xe(t,e+1,n),3)}function Md(t,e,r,n){return new C(x.negint,-1-ke(t,e+1,n),5)}var ja=BigInt(-1),Od=BigInt(1);function Rd(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,ja-BigInt(o),9)}function ai(t,e){let r=e.value,n=typeof r=="bigint"?r*ja-Od:r*-1-1;oe(t,e.type.majorEncoded,n)}ai.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*ja-Od:r*-1-1;return n<te[0]?1:n<te[1]?2:n<te[2]?3:n<te[3]?5:9};ai.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function Rn(t,e,r,n){ct(t,e,r+n);let o=Fr(t,e+r,e+r+n);return new C(x.bytes,o,r+n)}function zd(t,e,r,n){return Rn(t,e,1,r)}function $d(t,e,r,n){return Rn(t,e,2,be(t,e+1,n))}function Hd(t,e,r,n){return Rn(t,e,3,xe(t,e+1,n))}function jd(t,e,r,n){return Rn(t,e,5,ke(t,e+1,n))}function Vd(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 Rn(t,e,9,o)}function ci(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===x.string?Bd(t.value):t.value),t.encodedBytes}function Mr(t,e){let r=ci(e);oe(t,e.type.majorEncoded,r.length),t.push(r)}Mr.encodedSize=function(e){let r=ci(e);return oe.encodedSize(r.length)+r.length};Mr.compareTokens=function(e,r){return X0(ci(e),ci(r))};function X0(t,e){return t.length<e.length?-1:t.length>e.length?1:Id(t,e)}function zn(t,e,r,n,o){let i=r+n;ct(t,e,i);let s=new C(x.string,_d(t,e+r,e+i),i);return o.retainStringBytes===!0&&(s.byteValue=Fr(t,e+r,e+i)),s}function qd(t,e,r,n){return zn(t,e,1,r,n)}function Wd(t,e,r,n){return zn(t,e,2,be(t,e+1,n),n)}function Kd(t,e,r,n){return zn(t,e,3,xe(t,e+1,n),n)}function Gd(t,e,r,n){return zn(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 zn(t,e,9,o,n)}var Jd=Mr;function Or(t,e,r,n){return new C(x.array,n,r)}function Xd(t,e,r,n){return Or(t,e,1,r)}function Yd(t,e,r,n){return Or(t,e,2,be(t,e+1,n))}function Zd(t,e,r,n){return Or(t,e,3,xe(t,e+1,n))}function eh(t,e,r,n){return Or(t,e,5,ke(t,e+1,n))}function th(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 Or(t,e,9,o)}function rh(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 ui(t,e){oe(t,x.array.majorEncoded,e.value)}ui.compareTokens=Ie.compareTokens;ui.encodedSize=function(e){return oe.encodedSize(e.value)};function Rr(t,e,r,n){return new C(x.map,n,r)}function nh(t,e,r,n){return Rr(t,e,1,r)}function oh(t,e,r,n){return Rr(t,e,2,be(t,e+1,n))}function ih(t,e,r,n){return Rr(t,e,3,xe(t,e+1,n))}function sh(t,e,r,n){return Rr(t,e,5,ke(t,e+1,n))}function ah(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 Rr(t,e,9,o)}function ch(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${z} indefinite length items not allowed`);return Rr(t,e,1,1/0)}function li(t,e){oe(t,x.map.majorEncoded,e.value)}li.compareTokens=Ie.compareTokens;li.encodedSize=function(e){return oe.encodedSize(e.value)};function uh(t,e,r,n){return new C(x.tag,r,1)}function lh(t,e,r,n){return new C(x.tag,be(t,e+1,n),2)}function fh(t,e,r,n){return new C(x.tag,xe(t,e+1,n),3)}function dh(t,e,r,n){return new C(x.tag,ke(t,e+1,n),5)}function hh(t,e,r,n){return new C(x.tag,ve(t,e+1,n),9)}function fi(t,e){oe(t,x.tag.majorEncoded,e.value)}fi.compareTokens=Ie.compareTokens;fi.encodedSize=function(e){return oe.encodedSize(e.value)};var n1=20,o1=21,i1=22,s1=23;function ph(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 yh(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 Va(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 mh(t,e,r,n){return Va(qa(t,e+1),3,n)}function gh(t,e,r,n){return Va(Wa(t,e+1),5,n)}function wh(t,e,r,n){return Va(vh(t,e+1),9,n)}function di(t,e,r){let n=e.value;if(n===!1)t.push([x.float.majorEncoded|n1]);else if(n===!0)t.push([x.float.majorEncoded|o1]);else if(n===null)t.push([x.float.majorEncoded|i1]);else if(n===void 0)t.push([x.float.majorEncoded|s1]);else{let o,i=!1;(!r||r.float64!==!0)&&(xh(n),o=qa(Pe,1),n===o||Number.isNaN(n)?(Pe[0]=249,t.push(Pe.slice(0,3)),i=!0):(kh(n),o=Wa(Pe,1),n===o&&(Pe[0]=250,t.push(Pe.slice(0,5)),i=!0))),i||(a1(n),o=vh(Pe,1),Pe[0]=251,t.push(Pe.slice(0,9)))}}di.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){xh(n);let o=qa(Pe,1);if(n===o||Number.isNaN(n))return 3;if(kh(n),o=Wa(Pe,1),n===o)return 5}return 9};var bh=new ArrayBuffer(9),Le=new DataView(bh,1),Pe=new Uint8Array(bh,0);function xh(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 qa(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 kh(t){Le.setFloat32(0,t,!1)}function Wa(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 a1(t){Le.setFloat64(0,t,!1)}function vh(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)}di.compareTokens=Ie.compareTokens;function $(t,e,r){throw new Error(`${z} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function hi(t){return()=>{throw new Error(`${z} ${t}`)}}var B=[];for(let t=0;t<=23;t++)B[t]=$;B[24]=Ld;B[25]=Dd;B[26]=Nd;B[27]=Ud;B[28]=$;B[29]=$;B[30]=$;B[31]=$;for(let t=32;t<=55;t++)B[t]=$;B[56]=Pd;B[57]=Fd;B[58]=Md;B[59]=Rd;B[60]=$;B[61]=$;B[62]=$;B[63]=$;for(let t=64;t<=87;t++)B[t]=zd;B[88]=$d;B[89]=Hd;B[90]=jd;B[91]=Vd;B[92]=$;B[93]=$;B[94]=$;B[95]=hi("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)B[t]=qd;B[120]=Wd;B[121]=Kd;B[122]=Gd;B[123]=Qd;B[124]=$;B[125]=$;B[126]=$;B[127]=hi("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)B[t]=Xd;B[152]=Yd;B[153]=Zd;B[154]=eh;B[155]=th;B[156]=$;B[157]=$;B[158]=$;B[159]=rh;for(let t=160;t<=183;t++)B[t]=nh;B[184]=oh;B[185]=ih;B[186]=sh;B[187]=ah;B[188]=$;B[189]=$;B[190]=$;B[191]=ch;for(let t=192;t<=215;t++)B[t]=uh;B[216]=lh;B[217]=fh;B[218]=dh;B[219]=hh;B[220]=$;B[221]=$;B[222]=$;B[223]=$;for(let t=224;t<=243;t++)B[t]=hi("simple values are not supported");B[244]=$;B[245]=$;B[246]=$;B[247]=ph;B[248]=hi("simple values are not supported");B[249]=mh;B[250]=gh;B[251]=wh;B[252]=$;B[253]=$;B[254]=$;B[255]=yh;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 Ka(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 Ga(){let t=[];return t[x.uint.major]=Ie,t[x.negint.major]=ai,t[x.bytes.major]=Mr,t[x.string.major]=Jd,t[x.array.major]=ui,t[x.map.major]=li,t[x.tag.major]=fi,t[x.float.major]=di,t}var H8=Ga(),j8=new si,yi=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(`${Ha} 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=yi.createCheck(n,t);let o=[],i=0;for(let s of t)o[i++]=pi(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=yi.createCheck(n,t);let c=[],a=0;for(let u of i)c[a++]=[pi(u,r,n),pi(o?t.get(u):t[u],r,n)];return u1(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 pi(t,e={},r){let n=kd(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(`${Ha} unsupported type: ${n}`);return i(t,n,e,r)}function u1(t,e){e.mapSorter&&t.sort(e.mapSorter)}var G8=Symbol.for("DONE"),Q8=Symbol.for("BREAK");var l1=Ga(),f1={float64:!1,quickEncodeToken:Ka};function Qa(t,e=l1,r=f1){if(Array.isArray(t)){let n=0;for(let o of t)n+=Qa(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 Xa=class{constructor(e,r){this.bytes=e,this.byteOffset=r,this.roots=[],this.headerSize=r}addRoot(e,r){return d1(this,e,r),this}write(e){return h1(this,e),this}close(e){return p1(this,e)}},d1=(t,e,r={})=>{let{resize:n=!1}=r,{bytes:o,headerSize:i,byteOffset:s,roots:c}=t;t.roots.push(e);let a=mi(t);if(a>i)if(a-i+s<o.byteLength)if(n)Ah(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}`)},Sh=({cid:t,bytes:e})=>{let r=t.bytes.byteLength+e.byteLength;return $n.default.encodingLength(r)+r},h1=(t,{cid:e,bytes:r})=>{let n=e.bytes.byteLength+r.byteLength,o=$n.default.encode(n);if(t.byteOffset+o.length+n>t.bytes.byteLength)throw new RangeError("Buffer has no capacity for this block");Ja(t,o),Ja(t,e.bytes),Ja(t,r)},p1=(t,e={})=>{let{resize:r=!1}=e,{roots:n,bytes:o,byteOffset:i,headerSize:s}=t,c=ri({version:1,roots:n}),a=$n.default.encode(c.length),u=a.length+c.byteLength;if(s-u===0)return Eh(t,a,c),o.subarray(0,i);if(r)return Ah(t,u),Eh(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`)},Ah=(t,e)=>{let{bytes:r,headerSize:n}=t;r.set(r.subarray(n,t.byteOffset),e),t.byteOffset+=e-n,t.headerSize=e},Ja=(t,e)=>{t.bytes.set(e,t.byteOffset),t.byteOffset+=e.length},Eh=({bytes:t},e,r)=>{t.set(e),t.set(r,e.length)},y1=[new C(x.map,2),new C(x.string,"version"),new C(x.uint,1),new C(x.string,"roots")],m1=new C(x.tag,42),g1=t=>{let e=[...y1];e.push(new C(x.array,t.length));for(let n of t)e.push(m1),e.push(new C(x.bytes,{length:n+1}));let r=Qa(e);return $n.default.encodingLength(r)+r},mi=({roots:t})=>g1(t.map(e=>e.bytes.byteLength));var _h=(t,e={})=>{let{roots:r=[],byteOffset:n=0,byteLength:o=t.byteLength,headerSize:i=mi({roots:r})}=e,s=new Uint8Array(t,n,o),c=new Xa(s,i);for(let a of r)c.addRoot(a);return c};var Kt=({name:t,code:e,encode:r})=>new Ya(t,e,r),Ya=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?jt(this.code,r):r.then(n=>jt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function gi({enumerable:t=!0,configurable:e=!1}={}){return{enumerable:t,configurable:e,writable:!1}}function*b1(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*Za(n,o))}else{let r=V.asCID(e);r?yield[t.join("/"),r]:yield*Za(e,t)}}function*Za(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*b1(i,o)}}function*x1(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*ec(n,o))}else yield*ec(e,t)}function*ec(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*x1(o,n))}}function k1(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 Hn=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:gi(),bytes:gi(),value:gi(),asBlock:gi()})}links(){return Za(this.value,[])}tree(){return ec(this.value,[])}get(e="/"){return k1(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 Hn({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 Hn({value:n,bytes:t,cid:i})}function v1({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 Hn({cid:e,bytes:t,value:o})}async function wi({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(!Ht.equals(e.multihash.bytes,i.bytes))throw new Error("CID hash does not match bytes");return v1({bytes:t,cid:e,value:o,codec:n})}var Ch=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),de=Kt({name:"sha2-256",code:18,encode:Ch("SHA-256")}),S_=Kt({name:"sha2-512",code:19,encode:Ch("SHA-512")});var Et={};Q(Et,{code:()=>jn,decode:()=>A1,encode:()=>S1,name:()=>E1});var E1="raw",jn=85,S1=t=>Te(t),A1=t=>Te(t);async function Vn(t,e){let r=0,n=mi({roots:t});r+=n;for(let{cid:s,bytes:c}of e.entries())r+=Sh({cid:s,bytes:c});let o=new Uint8Array(r),i=_h(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 tc(t){return await Ge({value:{fp:t},hasher:de,codec:q})}async function rc(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 Gt={};Q(Gt,{code:()=>I1,crypto:()=>L1,decode:()=>T1,decrypt:()=>ki,encode:()=>C1,encrypt:()=>vi,name:()=>D1});function bi(){try{return window.crypto&&window.crypto.subtle?window.crypto:new Crypto}catch{return null}}var qn=bi();function xi(t){let e=new Uint8Array(t);return t>0&&qn.getRandomValues(e),e}var _1=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},B1=t=>{let e=t.byteLength-4;return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216},Th=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},C1=({iv:t,bytes:e})=>Th([t,e]),T1=t=>{let e=t.subarray(0,12);return t=t.slice(12),{iv:e,bytes:t}},I1=3145728+1337;async function Ih(t){return await qn.subtle.importKey("raw",t,"AES-GCM",!1,["encrypt","decrypt"])}var ki=async({key:t,value:e})=>{let{bytes:r,iv:n}=e,o=await Ih(t),i=await qn.subtle.decrypt({name:"AES-GCM",iv:n,tagLength:128},o,r);r=new Uint8Array(i);let s=B1(r.subarray(0,4)),c=V.decode(r.subarray(4,4+s));return r=r.subarray(4+s),{cid:c,bytes:r}},vi=async({key:t,cid:e,bytes:r})=>{let n=_1(e.bytes.byteLength),o=xi(12),i=Th([n,e.bytes,r]);try{let s=await Ih(t),c=await qn.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}}},L1=t=>({encrypt:e=>vi({key:t,...e}),decrypt:e=>ki({key:t,...e})}),D1="jchris@encrypted-block:aes-gcm";var Wn=t=>{let e=t.byteLength-4;return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216};var Kn=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 Jt=(t,e)=>t===e?0:t>e?1:-1,Lh=(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},Qt=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 Xt=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)}}},Dh=t=>typeof t=="string"?t:JSON.stringify(t);function N1(t,e){return t.sort(({key:r},{key:n})=>e.compare(r,n))}async function U1(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 P1(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 F1(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 M1(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 U1(c,r,t.compare);if(a.length){let u=await P1(a,i,t),l=await F1(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 Qt){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 Qt){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 Qt){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 Qt){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=Dh(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=Dh(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=N1(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 M1(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}))}},Ei=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}},zr=class extends Ei{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}},$r=class extends Ei{async encodeNode(){return{leaf:await Promise.all(this.entryList.entries.map(async r=>await r.encodeNode())),closed:this.closed}}get isLeaf(){return!0}},Si=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 nc=({bytes:t},{bytes:e})=>Lh(t,e),Ai=class extends Xt{constructor(e){super({address:e,key:e}),this.cid=e}encodeNode(){return this.cid}identity(){let e=this.cid.multihash.bytes;return Wn(e)}},_i=class extends Xt{async identity(){let{multihash:{bytes:e}}=await this.address;return Wn(e)}},Bi=class extends zr{},Ci=class extends $r{},Nh=(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:nc},l,d;if(a.leaf)l=a.leaf.map(h=>new Ai(h)),d=Ci;else if(a.branch){let[h,p]=a.branch;u.distance=h,l=p.map(([w,g])=>new _i({key:w,address:g})),d=Bi}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},Uh=({get:t,cache:e,chunker:r,list:n,codec:o,hasher:i,sorted:s})=>{s||(n=n.sort(nc));let c=Nh(t,e,r,o,i);return Si({list:n,codec:o,hasher:i,chunker:r,getNode:c,sorted:s,compare:nc,cache:e,LeafClass:Ci,LeafEntryClass:Ai,BranchClass:Bi,BranchEntryClass:_i})},Ph=({cid:t,get:e,cache:r,chunker:n,codec:o,hasher:i,...s})=>Nh(e,r,n,o,i,s)(t);var Fh=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 vi({...h,key:n}),w=await Ge({...p,codec:Gt,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 Uh({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})},Mh=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:Gt,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 Ph({cid:l,get:s,cache:n,chunker:o,codec:Gt,hasher:i}),{result:f}=await m.getAllEntries(),h=async w=>{if(!w)throw new Error("missing block");w.value||(w=await vt({...w,codec:Gt,hasher:i}));let{bytes:g,cid:b}=await ki({...w,key:r}).catch(E=>{throw E});return await wi({cid:b,bytes:g,hasher:i,codec:Gt})},p=[];for(let{cid:w}of f)d.cid.equals(w)||p.push(c(w).then(h));yield*p,yield h(d)};var Hr={has:()=>!1,get:()=>{throw new Error("Cannot ask for entries from nocache")},set:()=>{}};var Oh=Kn(30);function Rh(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 zh(t,e,r){let n=Rh(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 Fh({cids:s,get:r.get.bind(r),key:o,hasher:de,chunker:Oh,cache:Hr,root:e}))await i.put(u.cid,u.bytes),c=u;if(!c)throw new Error("no blocks encrypted");return await Vn([c.cid],i)}async function $h(t,e){let n=(await e.getRoots())[0];return await O1(n,e.get.bind(e),t)}async function O1(t,e,r){let n=Rh(r),o=n.buffer.slice(0,n.byteLength),i=new _e,s=null;for await(let c of Mh({root:t,get:e,key:o,hasher:de,chunker:Oh,cache:Hr}))await i.put(c.cid,c.bytes),s=c;if(!s)throw new Error("no blocks decrypted");return{blocks:i,root:s.cid}}var oc=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=Vo(JSON.stringify(r.value));e.push(n.length>32?En(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 R1(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 z1={addBreakTokens:!0,mapSorter:R1};function ic(t,e){return e=Object.assign({},z1,e),xa(t,new oc,e)}var jr=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,pa(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 sc(t,e){return e=Object.assign({tokenizer:new jr(t,e)},e),In(t,e)}var ac=ae({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),d6=ae({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),h6=ae({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),p6=ae({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function H1(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 Ti(t){let e=ac.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 Ti(new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function j1(t){return Ti(new Uint8Array(t))}function V1(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function q1(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 W1={typeEncoders:{Object:H1,Buffer:Ti,Uint8Array:Ti,Int8Array:Fe,Uint16Array:Fe,Int16Array:Fe,Uint32Array:Fe,Int32Array:Fe,Float32Array:Fe,Float64Array:Fe,Uint8ClampedArray:Fe,BigInt64Array:Fe,BigUint64Array:Fe,DataView:Fe,ArrayBuffer:j1,undefined:V1,number:q1}},cc=class extends jr{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=ac.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}},uc={allowIndefinite:!1,allowUndefined:!1,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};uc.tags[42]=V.parse;var K1=t=>ic(t,W1),G1=t=>{let e=Object.assign(uc,{tokenizer:new cc(t,uc)});return sc(t,e)},Ii=t=>Q1.decode(K1(t));var Q1=new TextDecoder,Li=t=>G1(J1.encode(t)),J1=new TextEncoder;var X1=(t,e)=>e.some(r=>t instanceof r),Hh,jh;function Y1(){return Hh||(Hh=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Z1(){return jh||(jh=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Vh=new WeakMap,fc=new WeakMap,qh=new WeakMap,lc=new WeakMap,hc=new WeakMap;function ex(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&&Vh.set(r,t)}).catch(()=>{}),hc.set(e,t),e}function tx(t){if(fc.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)});fc.set(t,e)}var dc={get(t,e,r){if(t instanceof IDBTransaction){if(e==="done")return fc.get(t);if(e==="objectStoreNames")return t.objectStoreNames||qh.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 Wh(t){dc=t(dc)}function rx(t){return t===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...r){let n=t.call(Di(this),e,...r);return qh.set(n,e.sort?e.sort():[e]),Qe(n)}:Z1().includes(t)?function(...e){return t.apply(Di(this),e),Qe(Vh.get(this))}:function(...e){return Qe(t.apply(Di(this),e))}}function nx(t){return typeof t=="function"?rx(t):(t instanceof IDBTransaction&&tx(t),X1(t,Y1())?new Proxy(t,dc):t)}function Qe(t){if(t instanceof IDBRequest)return ex(t);if(lc.has(t))return lc.get(t);let e=nx(t);return e!==t&&(lc.set(t,e),hc.set(e,t)),e}var Di=t=>hc.get(t);function Gh(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 ox=["get","getKey","getAll","getAllKeys","count"],ix=["put","add","delete","clear"],pc=new Map;function Kh(t,e){if(!(t instanceof IDBDatabase&&!(e in t)&&typeof e=="string"))return;if(pc.get(e))return pc.get(e);let r=e.replace(/FromIndex$/,""),n=e!==r,o=ix.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||ox.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 pc.set(e,i),i}Wh(t=>({...t,get:(e,r,n)=>Kh(e,r)||t.get(e,r,n),has:(e,r)=>!!Kh(e,r)||t.has(e,r)}));var yc="0.13.3-dev";var Qh=yc.match(/^([^.]*\.[^.]*)/);if(!Qh)throw new Error("invalid version: "+yc);var Jn=Qh[0],mc=class{constructor(e){k(this,"STORAGE_VERSION",Jn);k(this,"name");this.name=e}},Gn=class extends mc{constructor(){super(...arguments);k(this,"tag","header-base")}makeHeader({car:r,key:n}){return Ii({car:r,key:n})}parseHeader(r){return Li(r)}},Qn=class{constructor(e){k(this,"tag","car-base");k(this,"STORAGE_VERSION",Jn);k(this,"loader");this.loader=e}};var Ni=class{constructor(e){k(this,"tag","rwal-base");k(this,"STORAGE_VERSION",Jn);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=vn(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 Vr=class extends Qn{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 Gh(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?Li(n):null}catch{return null}}async save(r,n="main"){try{let o=Ii(r);localStorage.setItem(this.headerKey(n),o)}catch{}}},Pi=class extends Gn{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 gc(t,e){return t.some(r=>r.equals(e))}function Jh(t,e=[]){let r=new Map;for(let n of t)gc(e,n)||r.set(n.toString(),n);return[...r.values()]}function Xh(t){return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}var Yt=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 Vr(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),gc(this.carLog,e.car))return;let r=await this.loadCarHeaderFromMeta(e);await this.getMoreReaders(r.cars),this.carLog=[...Jh([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 rc(r)}async _getKey(){return this.key?this.key:(this.opts.public||(bi()?await this.setKey(Xh(xi(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 tc(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 zh(s,i[0],e):await Vn(i,e);if(wc(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=[...Jh([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 qt.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 $h(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=bi();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=vn(5),n=e.filter(o=>!this.carReaders.has(o.toString()));await Promise.all(n.map(o=>r(()=>this.loadCar(o))))}};k(Yt,"defaultHeader");var qr=W(np(),1);var Fi=class extends Xt{async identity(){let e=await this.codec.encode(await this.encodeNode()),r=await this.hasher.encode(e);return Wn(r)}},Zt=class extends Fi{constructor(e,r){super(e,r),this.value=e.value}encodeNode(){return[this.key,this.value]}},er=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]}},op=async(t,e)=>{let{result:r,cids:n}=await t.getEntry(e);return{result:r.value,cids:n}},ip=async(t,e)=>{let{result:r,cids:n}=await t.getEntries(e);return{result:r.map(o=>o.value),cids:n}},tr=class extends $r{get(e){return op(this,e)}getMany(e){return ip(this,e)}bulk(e,r={},n=!0){return super.bulk(e,{...sp,...r},n)}},rr=class extends zr{get(e){return op(this,e)}getMany(e){return ip(this,e)}bulk(e,r={},n=!0){return super.bulk(e,{...sp,...r},n)}},sp={LeafClass:tr,LeafEntryClass:Zt,BranchClass:rr,BranchEntryClass:er},ap=(t,e,r,n,o,i,s)=>{let c=s.LeafClass||tr,a=s.LeafEntryClass||Zt,u=s.BranchClass||rr,l=s.BranchEntryClass||er,d=async f=>e.has(f)?e.get(f):t(f).then(h=>m(h)),m=hx({chunker:r,cache:e,getNode:d,codec:n,hasher:o,compare:i,LeafEntryClass:a,LeafClass:c,BranchEntryClass:l,BranchClass:u});return d},cp=({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=ap(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||tr,LeafEntryClass:a.LeafEntryClass||Zt,BranchClass:a.BranchClass||rr,BranchEntryClass:a.BranchEntryClass||er};return Si(l)},up=({cid:t,get:e,cache:r,chunker:n,codec:o,hasher:i,compare:s,...c})=>ap(e,r,n,o,i,s,c)(t);function hx({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 px=(t,e)=>{let[r,n]=t,[o,i]=e,s=Jt(r,o);return s!==0?s:yx(n,i)},yx=(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)?Jt(t,e):1},lp=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}},fp=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}},xc=class extends tr{get(e){return lp(this,e)}range(e,r){return fp(this,e,r)}bulk(e,r={},n=!0){return super.bulk(e,{...vc,...r},n)}},kc=class extends rr{get(e){return lp(this,e)}range(e,r){return fp(this,e,r)}bulk(e,r={},n=!0){return super.bulk(e,{...vc,...r},n)}},mx=xc,gx=kc,vc={LeafClass:mx,BranchClass:gx,LeafEntryClass:Zt,BranchEntryClass:er},dp={...vc,compare:px},hp=t=>(t={...dp,...t},cp(t)),Ec=t=>(t={...dp,...t},up(t));var nr=class{constructor(){k(this,"cid",null);k(this,"root",null)}},bx=(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:Jt(t,e)},xx=(t,e)=>{let[r,n]=t,[o,i]=e,s=Jt(r,o);return s!==0?s:bx(n,i)},Ac={cache:Hr,chunker:Kn(30),codec:q,hasher:de,compare:xx},_c={cache:Hr,chunker:Kn(30),codec:q,hasher:de,compare:Jt};function pp(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 Sc(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 wi({cid:n,bytes:o,hasher:de,codec:q})}}async function Bc(t,e,r,n){if(!r.length)return e;if(!e.root)if(e.cid)e.root=await Ec({cid:e.cid,get:Sc(t),...n});else{let s=null,c=null;for await(let a of await hp({get:Sc(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 Cc(t,e,r){return await Ec({cid:e,get:Sc(t),...r})}async function or(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 Tc(t){return t.map(e=>qr.default.encode(e))}function Ic(t){return qr.default.encode(t)}function Wr({_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 Mi(t,e,r,n);t.indexers.set(e,o)}return t.indexers.get(e)}var Mi=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 nr);k(this,"byId",new nr);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=kx(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 or(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(...Tc(e.range));return await or(this.crdt,{result:o,...i},e)}if(e.key){let o=Ic(e.key);return await or(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=Ic(i);return(await or(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=Tc([o,i]);return await or(this.crdt,await this.byKey.root.range(...s),e)}let{result:r,...n}=await this.byKey.root.getAllEntries();return await or(this.crdt,{result:r.map(({key:[o,i],value:s})=>({key:o,id:i,value:s})),...n},e)}_resetIndex(){this.byId=new nr,this.byKey=new nr,this.indexHead=void 0}async _hydrateIndex(){this.byId.root&&this.byKey.root||!this.byId.cid||!this.byKey.cid||(this.byId.root=await Cc(this.blocks,this.byId.cid,_c),this.byKey.root=await Cc(this.blocks,this.byKey.cid,Ac))}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=pp(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 Bc(a,this.byId,o.concat(s),_c),this.byKey=await Bc(a,this.byKey,n.concat(i),Ac),this.indexHead=r,{byId:this.byId.cid,byKey:this.byKey.cid,head:r,map:this.mapFnString,name:this.name}),c)}};function kx(t){return e=>{if(e[t])return e[t]}}var zi=class zi extends Yt{constructor(r,n,o){super(r,o);k(this,"crdt");k(this,"defaultHeader",zi.defaultHeader);this.crdt=n}async _applyCarHeader(r){for(let[n,o]of Object.entries(r.indexes))Wr({_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(zi,"defaultHeader",{cars:[],compact:[],indexes:new Map});var Oi=zi,$i=class $i extends Yt{constructor(r,n,o){super(r,o);k(this,"defaultHeader",$i.defaultHeader);k(this,"clock");k(this,"remoteFileStore");k(this,"fileStore");this.fileStore=new Vr(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(wc(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($i,"defaultHeader",{cars:[],compact:[],head:[]});var Ri=$i;function wc(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)}},Hi=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}},ji=class extends Hi{constructor(e,r,n){e?super(e,new Oi(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}))}},Vi=class extends Hi{constructor(e,r,n){e?super(e,new Ri(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}))}},qi=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 Dc=({name:t,code:e,encode:r})=>new Lc(t,e,r),Lc=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?Ft(this.code,r):r.then(n=>Ft(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Wi({enumerable:t=!0,configurable:e=!1}={}){return{enumerable:t,configurable:e,writable:!1}}function*vx(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*Nc(n,o))}else{let r=j.asCID(e);r?yield[t.join("/"),r]:yield*Nc(e,t)}}function*Nc(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*vx(i,o)}}function*Ex(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*Uc(n,o))}else yield*Uc(e,t)}function*Uc(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*Ex(o,n))}}function Sx(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:Wi(),bytes:Wi(),value:Wi(),asBlock:Wi()})}links(){return Nc(this.value,[])}tree(){return Uc(this.value,[])}get(e="/"){return Sx(this.value,e.split("/").filter(Boolean))}};async function Ki({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 Gi({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 Pc={};Q(Pc,{sha256:()=>ut,sha512:()=>Ax});var mp=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),ut=Dc({name:"sha2-256",code:18,encode:mp("SHA-256")}),Ax=Dc({name:"sha2-512",code:19,encode:mp("SHA-512")});async function Yn(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 gp(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 gp(n,s,r))return e;return e.concat(r)}var Xn=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 _x({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 Bx(r.bytes)}};async function _x(t){let{cid:e,bytes:r}=await Ki({value:t,codec:q,hasher:ut});return new Me({cid:e,value:t,bytes:r})}async function Bx(t){let{cid:e,value:r}=await Gi({bytes:t,codec:q,hasher:ut});return new Me({cid:e,value:r,bytes:t})}async function gp(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*Fc(t,e,r={}){let n=r.renderNodeLabel??(a=>Cx(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 Cx=t=>`${String(t).slice(0,4)}..${String(t).slice(-4)}`;var ir=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 Ki({value:t,codec:q,hasher:ut});return new ir({cid:r,value:t,bytes:n,prefix:e??""})}async function wp(t,e){let{cid:r,value:n}=await Gi({bytes:t,codec:q,hasher:ut});if(!Array.isArray(n))throw new Error(`invalid shard: ${r}`);return new ir({cid:r,value:n,bytes:t,prefix:e??""})}var sr=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 wp(n.bytes,r)}};function Mc(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 bp(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 Qi=64,Ix=512*1024;async function Zn(t,e,r,n,o={}){let i=new sr(t),s=await i.get(e),c=await Ji(i,s,r),a=c[c.length-1],u=r.slice(a.prefix.length),l=[u,n],d=[];if(u.length>Qi){let h=Array.from(Array(Math.ceil(u.length/Qi)),(w,g)=>{let b=g*Qi;return{prefix:a.prefix+u.slice(0,b),skey:u.slice(b,b+Qi)}}),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=Mc(a.value,l),f=await Xe(m,a.prefix);if(f.bytes.length>(o.maxShardSize??Ix)){let h=bp(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=Mc(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 xp(t,e,r){let n=new sr(t),o=await n.get(e),i=await Ji(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 Oc(t,e,r){let n=new sr(t),o=await n.get(e),i=await Ji(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*kp(t,e,r={}){let{prefix:n}=r,o=new sr(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 Ji(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 Ji(t,await t.get(o[0],e.prefix+n),r.slice(n.length));return[e,...i]}}return[e]}async function vp(t,e,r,n,o){let i=new _e;if(t=new Ot(i,t),!e.length){let g=await ir.create();i.putSync(g.cid,g.bytes);let b=await Zn(t,g.cid,r,n,o),v={type:"put",root:b.root,key:r,value:n},E=await Xn.create(v,e);return e=await Yn(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 zc(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 Sp(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 Zn(t,u,g.data.key,g.data.value):await Oc(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 Zn(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 Xn.create(h,e);i.putSync(p.cid,p.bytes),e=await Yn(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 Kr(t,e){if(!e.length)throw new Error("cannot determine root of headless clock");let r=new _e;t=new Ot(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 zc(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 Sp(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 Zn(t,s,d.data.key,d.data.value):await Oc(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 Ep(t,e,r){if(!e.length)return;let n=await Kr(t,e);return n.additions.length&&(t=new Ot(new _e(n.additions),t)),xp(t,n.root,r)}async function*Rc(t,e,r){if(!e.length)return;let n=await Kr(t,e);n.additions.length&&(t=new Ot(new _e(n.additions),t)),yield*kp(t,n.root,r)}async function zc(t,e){if(!e.length)return;let r=e.map(n=>[n]);for(;;){let n=!1;for(let o of r){let i=await Dx(t,o[o.length-1]);if(!i)continue;n=!0,o.push(i);let s=Nx(r);if(s)return s}if(!n)return}}async function Dx(t,e){let{value:r}=await t.get(e);return r.parents.length?r.parents.length===1?r.parents[0]:zc(t,r.parents):e}function Nx(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 Sp(t,e,r){if(e.length===1&&String(e[0])===String(r))return[];let n=new Map,o=await Promise.all(e.map(s=>Ap(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 Ap(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=>Ap(t,a,r,n+1)));return i.concat(...c)}var en={};Q(en,{DEFAULT_DIRECTORY_MODE:()=>Uy,DEFAULT_FILE_MODE:()=>Ny,NodeType:()=>F,code:()=>Yr,createAdvancedFile:()=>rk,createComplexFile:()=>ok,createDirectoryShard:()=>Oy,createEmptyFile:()=>ek,createFileChunk:()=>tk,createFileShard:()=>nk,createFlatDirectory:()=>cs,createRaw:()=>Py,createShardedDirectory:()=>My,createSimpleFile:()=>Fy,createSymlink:()=>zy,cumulativeContentByteLength:()=>tt,cumulativeDagByteLength:()=>Zr,decode:()=>jy,decodeMetadata:()=>lr,encode:()=>Hy,encodeAdvancedFile:()=>cu,encodeComplexFile:()=>uu,encodeDirectory:()=>fs,encodeDirectoryMetadata:()=>hu,encodeFile:()=>Ry,encodeFileChunk:()=>au,encodeFileShard:()=>ik,encodeHAMTShard:()=>lu,encodeLink:()=>us,encodeMetadata:()=>io,encodeMode:()=>qy,encodeRaw:()=>su,encodeSimpleFile:()=>ls,encodeSymlink:()=>$y,filesize:()=>uk,matchFile:()=>ck,name:()=>iu});var Ux=new TextDecoder;function $c(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 Xi(t,e){let r;[r,e]=$c(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 _p(t,e){let r;return[r,e]=$c(t,e),[r&7,r>>3,e]}function Px(t){let e={},r=t.length,n=0;for(;n<r;){let o,i;if([o,i,n]=_p(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]=Xi(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]=Xi(t,n),e.Name=Ux.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]=$c(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 Bp(t){let e=t.length,r=0,n,o=!1,i;for(;r<e;){let c,a;if([c,a,r]=_p(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]=Xi(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]=Xi(t,r),n.push(Px(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 Tp=new TextEncoder,Cp=2**32,Fx=2**31;function Mx(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=eo(e,r,t.Tsize)-1,e[r]=24}if(typeof t.Name=="string"){let n=Tp.encode(t.Name);r-=n.length,e.set(n,r),r=eo(e,r,n.length)-1,e[r]=18}return t.Hash&&(r-=t.Hash.length,e.set(t.Hash,r),r=eo(e,r,t.Hash.length)-1,e[r]=10),e.length-r}function Ip(t){let e=Rx(t),r=new Uint8Array(e),n=e;if(t.Data&&(n-=t.Data.length,r.set(t.Data,n),n=eo(r,n,t.Data.length)-1,r[n]=10),t.Links)for(let o=t.Links.length-1;o>=0;o--){let i=Mx(t.Links[o],r.subarray(0,n));n-=i,n=eo(r,n,i)-1,r[n]=18}return r}function Ox(t){let e=0;if(t.Hash){let r=t.Hash.length;e+=1+r+Gr(r)}if(typeof t.Name=="string"){let r=Tp.encode(t.Name).length;e+=1+r+Gr(r)}return typeof t.Tsize=="number"&&(e+=1+Gr(t.Tsize)),e}function Rx(t){let e=0;if(t.Data){let r=t.Data.length;e+=1+r+Gr(r)}if(t.Links)for(let r of t.Links){let n=Ox(r);e+=1+n+Gr(n)}return e}function eo(t,e,r){e-=Gr(r);let n=e;for(;r>=Fx;)t[e++]=r&127|128,r/=128;for(;r>=128;)t[e++]=r&127|128,r>>>=7;return t[e]=r,n}function Gr(t){return t%2===0&&t++,Math.floor((zx(t)+6)/7)}function zx(t){let e=0;return t>=Cp&&(t=Math.floor(t/Cp),e=32),t>=65536&&(t>>>=16,e+=16),t>=256&&(t>>>=8,e+=8),e+$x[t]}var $x=[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 Hx=["Data","Links"],jx=["Hash","Name","Tsize"],Hc=new TextEncoder;function Dp(t,e){if(t===e)return 0;let r=t.Name?Hc.encode(t.Name):[],n=e.Name?Hc.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 Lp(t,e){return!Object.keys(t).some(r=>!e.includes(r))}function Vx(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 jc(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=Hc.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(Vx),e.Links.sort(Dp);else throw new TypeError("Invalid DAG-PB form");else e.Links=[];return e}function Np(t){if(!t||typeof t!="object"||Array.isArray(t)||t instanceof Uint8Array||t["/"]&&t["/"]===t.bytes)throw new TypeError("Invalid DAG-PB form");if(!Lp(t,Hx))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(!Lp(r,jx))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&&Dp(r,t.Links[e-1])===-1)throw new TypeError("Invalid DAG-PB form (links must be sorted by Name bytes)")}}var ar=112;function Up(t){Np(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),Ip(e)}function Ye(t){let e=Bp(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(Ty(),1),Jr=ft.default.Reader,nu=ft.default.Writer,N=ft.default.util,ie=ft.default.roots.unixfs||(ft.default.roots.unixfs={}),Xr=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=nu.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 Jr||(r=Jr.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})(),m3=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=nu.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 Jr||(r=Jr.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})(),g3=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=nu.create()),r.MimeType!=null&&Object.hasOwnProperty.call(r,"MimeType")&&n.uint32(10).string(r.MimeType),n},t.decode=function(r,n){r instanceof Jr||(r=Jr.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=Xr.DataType;var Dy=Object.freeze([]),ou=new Uint8Array(0),Ee=Object.freeze({}),Ny=parseInt("0644",8),Uy=parseInt("0755",8),Yr=ar,iu="UnixFS",Tt=(t,e)=>(Object(globalThis).debug&&console.log({data:t,links:e}),Up(jc({Data:Xr.encode(t).finish(),Links:e}))),Py=t=>({type:F.Raw,content:t}),ek=t=>Fy(ou,t),Fy=(t,e)=>({type:F.File,layout:"simple",content:t,metadata:lr(e)}),tk=t=>({type:F.File,layout:"simple",content:t}),rk=(t,e)=>({type:F.File,layout:"advanced",parts:t,metadata:lr(e)}),nk=t=>({type:F.File,layout:"advanced",parts:t}),ok=(t,e,r)=>({type:F.File,layout:"complex",content:t,parts:e,metadata:lr(r)}),cs=(t,e)=>({type:F.Directory,metadata:lr(e),entries:t}),My=(t,e,r,n,o=Ee)=>({type:F.HAMTShard,bitfield:e,fanout:fu(r),hashType:du(n),entries:t,metadata:lr(o)}),Oy=(t,e,r,n)=>({type:F.HAMTShard,bitfield:e,fanout:fu(r),hashType:du(n),entries:t}),su=t=>Tt({Type:F.Raw,Data:t.byteLength>0?t:void 0,filesize:t.byteLength,blocksizes:Dy},[]),Ry=(t,e=!1)=>{let r=e?Ee:Object(t).metadata;switch(t.layout){case"simple":return ls(t.content,r);case"advanced":return cu(t.parts,r);case"complex":return uu(t.content,t.parts,r);default:throw new TypeError(`File with unknown layout "${Object(t).layout}" was passed`)}},au=t=>ls(t,Ee),ik=t=>Tt({Type:F.File,blocksizes:t.map(oo),filesize:tt(t)},t.map(us)),cu=(t,e=Ee)=>Tt({Type:F.File,blocksizes:t.map(oo),filesize:tt(t),...io(e)},t.map(us)),us=t=>({Name:"",Tsize:t.dagByteLength,Hash:t.cid}),ls=(t,e=Ee)=>Tt({Type:F.File,Data:t.byteLength>0?t:void 0,filesize:t.byteLength,blocksizes:[],...io(e)},[]),uu=(t,e,r=Ee)=>Tt({Type:F.File,Data:t,filesize:t.byteLength+tt(e),blocksizes:e.map(oo)},e.map(us)),fs=t=>Tt({Type:t.type,...hu(t.metadata||Ee)},t.entries.map(Vy)),lu=({bitfield:t,fanout:e,hashType:r,entries:n,metadata:o=Ee})=>Tt({Type:F.HAMTShard,Data:t.byteLength>0?t:void 0,fanout:fu(e),hashType:du(r),...hu(o)},n.map(Vy)),fu=t=>{if(Math.log2(t)%1===0)return t;throw new TypeError(`Expected hamt size to be a power of two instead got ${t}`)},du=t=>{if(Number.isInteger(t))return t;throw new TypeError(`Expected an integer value instead got ${t}`)};var zy=(t,e=Ee)=>({type:F.Symlink,content:t,metadata:lr(e)}),$y=(t,e=!1)=>{let r=e?Ee:Object(t).metadata;return Tt({Type:F.Symlink,Data:t.content,...io(r||Ee)},[])},Hy=(t,e=!0)=>{switch(t.type){case F.Raw:return su(t.content);case F.File:return Ry(t);case F.Directory:return fs(t);case F.HAMTShard:return lu(t);case F.Symlink:return $y(t);default:throw new Error(`Unknown node type ${Object(t).type}`)}},jy=t=>{let e=Ye(t),r=Xr.decode(e.Data),{Type:n,Data:o,mtime:i,mode:s,blocksizes:c,...a}=Xr.toObject(r,{defaults:!1,arrays:!0,longs:Number,objects:!1}),u={...s&&{mode:s},...sk(i)},l=e.Links;switch(r.Type){case F.Raw:return Py(o);case F.File:return l.length===0?new is(o,u):o.byteLength===0?new ss(Iy(a.blocksizes,l),u):new as(o,Iy(a.blocksizes,l),u);case F.Directory:return cs(Ly(l),u);case F.HAMTShard:return My(Ly(l),o||ou,a.fanout,a.hashType,u);case F.Symlink:return zy(o,u);default:throw new TypeError(`Unsupported node type ${r.Type}`)}},sk=t=>t==null?void 0:{mtime:{secs:t.Seconds,nsecs:t.FractionalNanoseconds||0}};var Iy=(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},Ly=t=>t.map(e=>({cid:e.Hash,name:e.Name||"",dagByteLength:e.Tsize||0})),tt=t=>t.reduce((e,r)=>e+r.contentByteLength,0),Zr=(t,e)=>e.reduce((r,n)=>r+n.dagByteLength,t.byteLength),oo=t=>t.contentByteLength,Vy=({name:t,dagByteLength:e,cid:r})=>({Name:t,Tsize:e,Hash:r}),hu=t=>io(t,Uy),io=({mode:t,mtime:e},r=Ny)=>({mode:t!=null?qy(t,r):void 0,mtime:e!=null?ak(e):void 0}),lr=t=>t==null?Ee:{...t.mode==null?void 0:{mode:Wy(t.mode)},...t.mtime==null?void 0:{mtime:t.mtime}},ak=t=>t==null?void 0:t.nsecs!==0?{Seconds:t.secs,FractionalNanoseconds:t.nsecs}:{Seconds:t.secs},qy=(t,e)=>{let r=t==null?void 0:Wy(t);return r===e||r==null?void 0:r},Wy=t=>t&4095|t&4294963200,ck=({content:t=ou,parts:e=Dy,metadata:r=Ee,...n})=>e.length===0?new is(t,r):t.byteLength===0?new ss(e,r):new as(t,e,r),is=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 ls(this.content,this.metadata)}},ss=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(oo)}encode(){return cu(this.parts,this.metadata)}},as=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(oo)}encode(){return uu(this.content,this.parts,this.metadata)}},uk=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 lk=function*(t){let e=yield*t;yield*hs(e)};function*wu(){return yield ms}var rn=function*(){yield gs};var ds=function*(t){let e=yield*wu();if(dk(t)){let r=!1,n;if(t.then(o=>{r=!1,n=o,It(e)},o=>{r=!0,n=o,It(e)}),yield*rn(),r)throw n;return n}else return mk(fk(e)),yield*rn(),t};function*fk(t){It(t)}var dk=t=>t!=null&&typeof t.then=="function",hs=function*(t){yield t},ps=function*(t){let e=[];for(let r of Object.entries(t)){let[n,o]=r;o!==co&&e.push(yield*on(pk(o,n)))}yield*xu(e)},ys=t=>t.length>0?hk(t.map(lk)):co;function*hk(t){let e=[];for(let r of t)e.push(yield*on(r));yield*xu(e)}var pk=(t,e)=>t===co?co:t instanceof so?new so([...t.tags,e],t.source):new so([e],t),so=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 gs:case ms:return e;default:{let r=e,{value:n}=r;for(let o of this.tags)n=yk(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"}},uo=()=>co;var yk=(t,e)=>({type:t,[t]:e});var ms=Symbol("current"),gs=Symbol("suspend");var dt=class t{static of(e){return e.group||tn}static enqueue(e,r){e.group=r,r.stack.active.push(e)}constructor(e,r=[],n=new Set,o=new nn(r,n)){this.driver=e,this.parent=t.of(e),this.stack=o,this.id=++Jy}},pu=class{constructor(){this.status=ao,this.stack=new nn,this.id=0}},nn=class{constructor(e=[],r=new Set){this.active=e,this.idle=r}static size({active:e,idle:r}){return e.length+r.size}},mk=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(tn.status===ao)for(tn.status=Xy;;)try{for(let r of bu(tn));tn.status=ao;break}catch{tn.stack.active.shift()}},gk=t=>It(t),bu=function*(t){let{active:e}=t.stack,r=e[0];for(t.stack.idle.delete(r);r;){let n=Yy;e:for(;!n.done&&r===e[0];){let o=n.value;switch(o){case gs:t.stack.idle.add(r);break e;case ms:n=r.next(r);break;default:n=r.next(yield o);break}}e.shift(),r=e[0],t.stack.idle.delete(r)}};var on=(t,e)=>new gu(t,e),wk=(t,e)=>Gy(t,{ok:!0,value:e});var yu=(t,e)=>Gy(t,{ok:!1,error:e});function*Gy(t,e){try{let r=t,n=e.ok?r.return(e.value):r.throw(e.error);if(!n.done)if(n.value===gs){let{idle:o}=dt.of(r).stack;o.add(r)}else It(r)}catch{}}function*xu(t){if(t.length===0)return;let e=yield*wu(),r=new dt(e),n=null;for(let o of t){let{result:i}=o;if(i){!i.ok&&!n&&(n=i);continue}bk(o,r)}try{if(n)throw n.error;for(;yield*bu(r),nn.size(r.stack)>0;)yield*rn()}catch(o){for(let i of r.stack.active)yield*yu(i,o);for(let i of r.stack.idle)yield*yu(i,o),It(i);throw o}}var bk=(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*ku(t){t.status===ao&&(yield*t),t.result||(yield*xu([t]));let e=t.result;if(e.ok)return e.value;throw e.error}var mu=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}},gu=class extends mu{constructor(e,r=xk,n={},o=Yy){super(n),this.id=++Jy,this.name=r.name||"",this.task=e,this.state=o,this.status=ao,this.result,this.handler=n,this.controller}*resume(){gk(this)}join(){return ku(this)}abort(e){return yu(this,e)}exit(e){return wk(this,e)}get[Symbol.toStringTag](){return"Fork"}*[Symbol.iterator](){return this.activate()}activate(){return this.controller=this.task[Symbol.iterator](),this.status=Xy,It(this),this}panic(e){this.result={ok:!1,error:e},this.status=Ky;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=Ky;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)}}},Qy=function*(t,e){let r=yield*wu(),n=new dt(r);for(dt.enqueue(t[Symbol.iterator](),n);;){for(let o of bu(n))dt.enqueue(e(o)[Symbol.iterator](),n);if(nn.size(n.stack)>0)yield*rn();else break}},Jy=0,ao="idle",Xy="active",Ky="finished",Yy={done:!1,value:ms},xk={},co=function*(){}(),tn=new pu;function vu(){}Object.defineProperties(vu,{prototype:{value:new Proxy(Object.prototype,{get(t,e,r){return typeof e=="symbol"?Reflect.get(t,e,r):r.get(e)}})}});var Eu=()=>new lo;var em=(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 Eu();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 lo(n,t.byteOffset+o,s)},kk=(t,e)=>e.byteLength>0?(t.segments.push(e),new lo(t.segments,t.byteOffset,t.byteLength+e.byteLength)):t,vk=(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}}},Ek=(t,e,r)=>{let n=r;for(let o of t.segments)e.set(o,n),n+=o.byteLength;return e};function*Sk(t){for(let e of t.segments)yield*e}var lo=class extends vu{constructor(e=[],r=0,n=0){super(),this.segments=e,this.byteLength=n,this.length=n,this.byteOffset=r}[Symbol.iterator](){return Sk(this)}slice(e,r){return em(this,e,r)}subarray(e,r){return em(this,e,r)}push(e){return kk(this,e)}get(e){return vk(this,e)}copyTo(e,r){return Ek(this,e,r)}};var fo=t=>{throw new Error(t)},tm=(t,e,...r)=>fo(String.raw(t,JSON.stringify(e),...r)),rm=new Uint8Array(0),nm=[];var om=t=>({config:t,buffer:Eu()}),im=(t,e)=>e.byteLength>0?am(t.config,t.buffer.push(e),!1):{...t,chunks:nm},sm=t=>am(t.config,t.buffer,!0),am=(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 cm=()=>({mutable:!0,needs:{},nodes:{},links:{},linked:_u});var Bu=(t,e)=>{let r=sn(e,{});for(let n of t){let{ready:o,has:i,wants:s}=lm(n.children,r.links);s.length===0?r=sn(r,{links:Au(void 0,i),linked:[{id:n.id,links:o}]}):r=sn(r,{needs:Au(n.id,s),nodes:{[n.id]:{children:n.children,count:s.length}}})}return r},um=(t,e,r)=>{let n=r.needs[t],o=r.nodes[n];if(o!=null)if(o.count===1){let{ready:i,has:s}=lm(o.children,{...r.links,[t]:e});return sn(r,{needs:{[t]:void 0},links:Au(void 0,s),nodes:{[n]:void 0},linked:[{id:n,links:i}]})}else return sn(r,{needs:{[t]:void 0},links:{[t]:e},nodes:{[n]:{...o,count:o.count-1}}});else return sn(r,{links:{[t]:e}})},sn=(t,{needs:e,nodes:r,links:n,linked:o})=>{let i=t.mutable?t:{...t},s=t.mutable?Ck:void 0;return e&&(i.needs=Su(t.needs,e,s)),r&&(i.nodes=Su(t.nodes,r,s)),n&&(i.links=Su(t.links,n,s)),i.linked=o?Bk(t.linked||_u,o,_u):t.linked||[],i},Au=(t,e)=>{let r={};for(let n of e)r[n]=t;return r},Su=(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 Bk=(t,e,r=t)=>{if(t===r)return[...t,...e];for(let n of e)t.push(n);return t},lm=(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}},_u=Object.freeze([]),Ck=Object.freeze({});var fm=(t,e)=>{switch(t.type){case"write":return Ik(e,t.bytes);case"link":return Lk(e,t.link);case"block":return{state:e,effect:uo()};case"close":return Dk(e);case"end":return{state:e,effect:uo()};default:return tm`File Writer got unknown message ${t}`}},dm=(t,e,r)=>({status:"open",metadata:e,config:r,writer:t,chunker:om({chunker:r.chunker}),layout:r.fileLayout.open(),nodeQueue:cm()}),Ik=(t,e)=>{if(t.status==="open"){let{chunks:r,...n}=im(t.chunker,e),{nodes:o,leaves:i,layout:s}=t.config.fileLayout.write(t.layout,r),{linked:c,...a}=Bu(o,t.nodeQueue),u=[...hm(i,t.config),...Cu(c,t.config)];return{state:{...t,chunker:n,layout:s,nodeQueue:a},effect:ps({link:ys(u)})}}else return fo("Unable to perform write on closed file")},Lk=(t,{id:e,link:r,block:n})=>{let{linked:o,...i}=um(e,r,t.nodeQueue),s=Cu(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():uo();return{state:c,effect:ps({link:ys(s),block:Pk(t.writer,n),end:a})}},Dk=t=>{if(t.status==="open"){let{chunks:e}=sm(t.chunker),{layout:r,...n}=t.config.fileLayout.write(t.layout,e),{root:o,...i}=t.config.fileLayout.close(r,t.metadata),[s,c]=Mk(o)?[[...n.nodes,...i.nodes],[...n.leaves,...i.leaves,o]]:[[...n.nodes,...i.nodes,o],[...n.leaves,...i.leaves]],{linked:a,...u}=Bu(s,t.nodeQueue),l=[...hm(c,t.config),...Cu(a,t.config)],d=on(rn());return{state:{...t,chunker:null,layout:null,rootID:o.id,status:"closed",end:d,nodeQueue:u},effect:ps({link:ys(l),end:ku(d)})}}else return{state:t,effect:uo()}},hm=(t,e)=>t.map(r=>Nk(e,r,e.fileChunkEncoder)),Nk=function*({hasher:t,linker:e},{id:r,content:n},o){let i=o.encode(n?Fk(n):rm),s=yield*ds(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}},Cu=(t,e)=>t.map(r=>Uk(e,r)),Uk=function*(t,{id:e,links:r},n){let o=t.fileEncoder.encode({type:F.File,layout:"advanced",parts:r,metadata:n}),i=yield*ds(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:Zr(o,r)};return{id:e,block:c,link:a}},Pk=function*(t,e){(t.desiredSize||0)<=0&&(yield*ds(t.ready)),t.write(e)},Fk=t=>t instanceof Uint8Array?t:t.copyTo(new Uint8Array(t.byteLength),0),Mk=t=>t.children==null;var Iu={};Q(Iu,{context:()=>Rk,cut:()=>ym,name:()=>pm,type:()=>zk,withMaxChunkSize:()=>Tu});var pm="fixed",Rk={maxChunkSize:262144},zk="Stateless",Tu=t=>({type:"Stateless",context:{maxChunkSize:t},name:pm,cut:ym}),ym=({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 ho=class{constructor(e,r,n){this.id=e,this.children=r,this.metadata=n}},ws=t=>({open:()=>Hk({width:t}),write:jk,close:Vk}),$k={width:174},Hk=({width:t}=$k)=>({width:t,head:null,leafIndex:[],nodeIndex:[],lastID:0}),jk=(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?gm({...t,leafIndex:i,head:n,lastID:r},s):{layout:{...t,head:n,leafIndex:i,lastID:r},leaves:s,nodes:pe}}}},gm=(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;){mm(i,1);let u=new ho(++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 ho(++o,u.splice(0,c));mm(i,a+1),i[a].push(l.id),r.push(l)}}return{layout:{...t,lastID:o,leafIndex:s,nodeIndex:i},leaves:e,nodes:r}},Vk=(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}=gm(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 ho(o.lastID+1,c,e),nodes:n,leaves:pe}}},mm=(t,e)=>{for(;t.length<e;)t.push([]);return t},pe=[];var Lt=()=>({chunker:Iu,fileChunkEncoder:Lu,smallFileEncoder:Lu,fileEncoder:en,fileLayout:ws(174),hasher:ut,linker:{createLink:j.createV1}}),Dt=t=>({...Lt(),...t}),Lu={code:Yr,name:iu,encode:au};var po=({writer:t,metadata:e={},settings:r=Lt()})=>new Du(dm(t,e,Dt(r))),wm=async(t,e)=>(await xm(t,hs({type:"write",bytes:e})),t),bm=async(t,{releaseLock:e=!1,closeWriter:r=!1}={})=>{await xm(t,hs({type:"close"}));let{state:n}=t;if(n.status==="linked")return r?await t.state.writer.close():e&&t.state.writer.releaseLock(),n.link;fo(`Expected writer to be in 'linked' state after close, but it is in "${n.status}" instead`)},xm=(t,e)=>on(Qy(e,r=>{let{state:n,effect:o}=fm(r,t.state);return t.state=n,o})),Du=class{constructor(e){this.state=e}get writer(){return this.state.writer}get settings(){return this.state.config}write(e){return wm(this,e)}close(e){return bm(this,e)}};var Wk=Lt,Uu=({writer:t,settings:e=Wk(),metadata:r={}})=>new bs({writer:t,metadata:r,settings:e,entries:new Map,closed:!1}),xs=(t,e,r,{overwrite:n=!1}={})=>{let o=Pu(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},ks=(t,e)=>(Pu(t.state).entries.delete(e),t),Pu=t=>{if(t.closed)throw new Error("Can not change written directory, but you can .fork() and make changes to it");return t},km=async(t,{closeWriter:e=!1,releaseLock:r=!1}={})=>{let{writer:n,settings:o,metadata:i}=Pu(t.state);t.state.closed=!0;let s=[...vm(t)],c=cs(s,i),a=fs(c),u=await o.hasher.digest(a),l=o.linker.createLink(Yr,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:Zr(a,s)}},vm=function*({state:t}){for(let[e,{dagByteLength:r,cid:n}]of t.entries)yield{name:e,dagByteLength:r,cid:n}},Em=({state:t},{writer:e=t.writer,metadata:r=t.metadata,settings:n=t.settings}={})=>new bs({writer:e,metadata:r,settings:n,entries:new Map(t.entries.entries()),closed:!1}),bs=class{constructor(e){this.state=e}get writer(){return this.state.writer}get settings(){return this.state.settings}links(){return vm(this)}set(e,r,n){return xs(this,e,r,n)}remove(e){return ks(this,e)}fork(e){return Em(this,e)}close(e){return km(this,e)}entries(){return this.state.entries.entries()}has(e){return this.state.entries.has(e)}get size(){return this.state.entries.size}};var Ss={};Q(Ss,{API:()=>vs,and:()=>e2,bitCount:()=>Es,empty:()=>Sm,from:()=>Gk,fromBytes:()=>n2,get:()=>Zk,or:()=>t2,popcount:()=>Fu,set:()=>Am,size:()=>Qk,toBytes:()=>r2,unset:()=>Yk});var vs={};var Sm=(t=32)=>{if(t!==32)throw new Error(`Uint32 BitField does not support size: ${t}`);return 0},Gk=(t,e)=>{let r=Sm(e);for(let n of t)r=Am(r,n);return r},Qk=t=>32,Jk=(t,e)=>t>>>e&31,Xk=(t,e)=>1<<Jk(t,e),Fu=(t,e=31)=>Es(t&Xk(e,0)-1),Am=(t,e)=>t|1<<e,Yk=(t,e)=>t&(255^1<<e),Zk=(t,e)=>(t>>e&1)!==0,Es=t=>{let e=t-(t>>1&1431655765),r=(e&858993459)+(e>>2&858993459);return(r+(r>>4)&252645135)*16843009>>24},e2=(t,e)=>t&e,t2=(t,e)=>t|e,r2=t=>Uint8Array.of(t>>24&255,t>>16&255,t>>8&255,t&255),n2=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 Cm=W(Mu(),1),o2=new TextEncoder,i2=Cm.default.x64.hash126,Tm=({bitWidth:t=5,hash:e=i2})=>{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(o2.encode(s)),size:Math.ceil(4*8/t)}};var an=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 mo(this.config)}lookup(e,r,n,o){return Lm(this,e,r,n,o)}associate(e,r,n,o,i,s){return zu(this,e,r,n,o,i,s)}dissociate(e,r,n,o,i){return Dm(this,e,r,n,o,i)}fork(e=null){return go(this,e)}entries(){return Nm(this)}keys(){return Um(this)}values(){return Pm(this)}},_s=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 s2(this,n,o)}associate(e,r,n,o,i,s){return a2(this,e,n,o,i,s)}dissociate(e,r,n,o,i){return c2(this,e,n,o,i)}fork(e=null){return u2(this,e)}entries(){return Nm(this)}keys(){return Um(this)}values(){return Pm(this)}},s2=(t,e,r)=>{let{children:n,count:o}=t,i=Ou(n,o,e);return n[i]===e?n[i+1]:r},a2=(t,e,r,n,o,i)=>{let{children:s,count:c}=t,a=Ou(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},c2=(t,e,r,n,o)=>{let{children:i,count:s,config:c}=t,a=Ou(i,s,n);if(i[a]!==n)return t;if(o.value=!0,s===2){let u=a===0?2:0;return zu(mo(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}},u2=(t,e=null)=>Rm(t.edit,e)?t:new _s(e,t.count,t.children.slice(),t.config),Ou=(t,e,r)=>{let n=0;for(;n<e&&t[n]>r;)n+=2;return n};var mo=(t,e=null)=>new an(e,t.BitField.empty(Math.pow(2,t.bitWidth)),t.BitField.empty(Math.pow(2,t.bitWidth)),[],t),Cs=(t,e,r)=>Lm(t,0,t.config.Path.from(e),e,r),Lm=(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 Ts(t,d)===n?Bs(t,d):o}else return u.get(s,l)?Is(t,l).lookup(e+1,r,n,o):o},Ru=(t,e,r,n,o)=>zu(t,e,0,t.config.Path.from(r),r,n,o),zu=(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=Ts(t,f);if(o===h)return Bs(t,f)===i?t:l2(t,e,f,i);{let p=Mm(u,e,r+1,l.from(h),h,Bs(t,f),n,o,i);return s.value=!0,d2(t,e,m,p)}}else if(d.get(a,m)){let f=Is(t,m),h=f.associate(e,r+1,n,o,i,s);return f===h?t:Fm(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(wo(f),0,o,i),h}},$u=(t,e,r,n)=>Dm(t,e,0,t.config.Path.from(r),r,n);var Dm=(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===Ts(t,m)){i.value=!0;let f=go(t,e);return f.datamap=u.unset(t.datamap,d),f.children.splice(wo(m),2),f}else return t}else if(u.get(c,d)){let m=Is(t,d),f=m.dissociate(e,r+1,n,o,i);return h2(f)?p2(t)?f:f2(t,e,d,f):m===f?t:Fm(t,e,d,f)}else return t},Nm=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},go=(t,e)=>Rm(t.edit,e)?t:new an(e,t.datamap,t.nodemap,t.children.slice(),t.config),Um=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},Pm=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},l2=(t,e,r,n)=>{let o=t.fork(e);return o.children[Om(r)]=n,o},f2=(t,e,r,n)=>{let{datamap:o,nodemap:i,config:s}=t,{BitField:c}=s,a=go(t,e);return a.children.splice(Ls(t,r),1),a.children.splice(wo(c.popcount(o,r)),0,n.children[0],n.children[1]),a.datamap=c.set(o,r),a.nodemap=c.unset(i,r),a},Fm=(t,e,r,n)=>{let o=go(t,e);return o.children[Ls(t,r)]=n,o},d2=(t,e,r,n)=>{let{nodemap:o,datamap:i,config:s}=t,{BitField:c}=s,a=c.popcount(i,r),u=wo(a),l=Ls(t,r),d=go(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},Mm=(t,e,r,n,o,i,s,c,a)=>{let{BitField:u,Path:l}=t;if(l.size<r)return new _s(e,2,[o,i,c,a],t);{let d=l.at(n,r),m=l.at(s,r);return d===m?new an(e,u.empty(Math.pow(2,t.bitWidth)),u.from([d],Math.pow(2,t.bitWidth)),[Mm(t,e,r+1,n,o,i,s,c,a)],t):new an(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)}},Ts=({children:t},e)=>t[wo(e)],wo=t=>t*2,Bs=({children:t},e)=>t[Om(e)],Om=t=>t*2+1,Is=(t,e)=>t.children[Ls(t,e)],Ls=({children:t,nodemap:e,config:r},n)=>t.length-1-r.BitField.popcount(e,n),Rm=(t,e)=>t!=null&&t===e,h2=t=>t.nodeArity===0&&t.dataArity===1,p2=({config:{BitField:t},datamap:e,nodemap:r})=>t.popcount(e)===0&&t.popcount(r)===1;var Ds=W(Mu(),1);function y2(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 K3=Kt({name:"murmur3-32",code:35,encode:t=>y2(Ds.default.x86.hash32(t))}),$m=Kt({name:"murmur3-128",code:34,encode:t=>Ht.fromHex(Ds.default.x64.hash128(t))}),bo=Kt({name:"murmur3-x64-64",code:34,encode:t=>Ht.fromHex(Ds.default.x64.hash128(t)).subarray(0,8)});var m2=new TextEncoder,g2=t=>bo.encode(t),Hm=({bitWidth:t=8,hash:e=g2}={})=>{let r=e(new Uint8Array).byteLength;return{from:i=>e(m2.encode(i)),at:(i,s)=>{let c=s*t;if(c>r)throw new RangeError("Out of bounds");return Hu(i,c,t)},size:Math.ceil(r*8/t)}},Hu=(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 ju={};Q(ju,{API:()=>vs,and:()=>C2,empty:()=>jm,from:()=>b2,fromBytes:()=>A2,get:()=>E2,or:()=>B2,popcount:()=>_2,set:()=>k2,size:()=>x2,toBytes:()=>S2,unset:()=>v2});var jm=(t=256)=>{if(t%8!==0)throw new Error("Must be multiple of 8");return new Uint8Array(t/8)},b2=(t,e)=>{let r=jm(e);for(let n of t){let{byte:o,byteOffset:i,bitOffset:s}=xo(r,n);r[i]=o|1<<s}return r},x2=t=>t.byteLength*8,xo=(t,e)=>{let r=t.byteLength-1-(e/8|0),n=e%8;return{byte:t[r],byteOffset:r,bitOffset:n}},Vm=(t,e,r)=>{if(t[e]!==r){let n=t.slice(0);return n[e]=r,n}return t},k2=(t,e)=>{let{byte:r,byteOffset:n,bitOffset:o}=xo(t,e);return Vm(t,n,r|1<<o)},v2=(t,e)=>{let{byte:r,byteOffset:n,bitOffset:o}=xo(t,e);return Vm(t,n,r&(255^1<<o))},E2=(t,e)=>{var{byte:r,bitOffset:n}=xo(t,e);return(r>>n&1)!==0},S2=t=>t,A2=t=>t,_2=(t,e=t.byteLength*8)=>{let{byteOffset:r,bitOffset:n,byte:o}=xo(t,e),i=Fu(o,n),s=t.byteLength-1;for(;s>r;){let c=t[s];i+=Es(c),s--}return i},B2=(t,e)=>{let r=t.slice(),n=0;for(;n<t.length;)r[n]|=e[n],n++;return r},C2=(t,e)=>{let r=t.slice(),n=0;for(;n<t.length;)r[n]&=e[n],n++;return r};var qm=new RangeError("Not Found");var T2=({bitWidth:t=5,BitField:e=t===5?Ss:ju,Path:r=t===5?Tm({bitWidth:t}):Hm({bitWidth:t})}={})=>({bitWidth:t,BitField:e,Path:r});var qu=(t,e)=>Cs(t.root,e,qm)!==qm,Wm=(t,e,r=void 0)=>Cs(t.root,e,r),Km=t=>{let e={},r=T2(t);return new Ns(e,0,mo(r,e),r)},Vu=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,mo(this.config,null),this.config)}has(e){return qu(this,e)}get(e){return Cs(this.root,e,void 0)}set(e,r){let n={value:!1},o=Ru(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=$u(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 Ns({},this.count,this.root,this.config)}},Ns=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=Ru(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=$u(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 Vu(this.count,this.root,this.config);throw new Error(".build was called on the finalized builder")}};var I2=new TextEncoder,L2=t=>bo.encode(t),Qm=({bitWidth:t=8,hash:e=L2})=>{let r=e(new Uint8Array).byteLength,n={bitWidth:t,hash:e,hashSize:r};return{at:(s,c)=>D2(s,c,n),from:s=>I2.encode(s),size:1/0}},D2=(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:N2(t,u)),d=i<=a?a%i:a,m=i-d,f=m<c?m:c;s=(s<<f)+Hu(l,d,f),c-=f,a+=f}return s},N2=(t,e)=>{let r=new Uint8Array(t.byteLength+1).fill(e,t.byteLength);return r.set(t),r};var Jm=8,P2={bitWidth:Jm,Path:Qm({bitWidth:Jm})};var Wu=(t=P2)=>Km(t);var Xm=class extends Map{constructor(e=Wu()){super(),this.builder=e}clear(){this.builder=Wu()}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 Wm(this.builder,e)}has(e){return qu(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 Ym=({writable:t,settings:e=Lt()})=>new Ku({writer:t.getWriter(),settings:e}),M2=async(t,{releaseLock:e=!0,closeWriter:r=!0}={})=>(r?await t.writer.close():e&&t.writer.releaseLock(),t),Ku=class{constructor({writer:e,settings:r}){this.writer=e,this.settings=Dt(r)}createFileWriter({settings:e=this.settings,metadata:r}={}){return po({writer:this.writer,settings:e,metadata:r})}createDirectoryWriter({settings:e=this.settings,metadata:r}={}){return Uu({writer:this.writer,settings:e,metadata:r})}close(e){return M2(this,e)}},O2=1048576,R2=O2*100,Zm=(t=R2)=>({highWaterMark:t,size:e=>e.bytes.length});var Xs=W(rt(),1);function H2(t){return t[Symbol.asyncIterator]!=null}function j2(t){if(H2(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 rg=j2;var ow=W(rt(),1);var ng=0,V2="identity",og=Te,q2=t=>jt(ng,og(t)),ig={code:ng,name:V2,encode:og,digest:q2};var sg=W(rt(),1);var W2=async(t,e,r,n,o,i,s,c)=>{let a=await s.get(t,c),u=Ir(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,sg.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}}}},ag=W2;var cg=W(rt(),1);var ce=class extends Event{constructor(e,r){super(e),this.detail=r}};function K2(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 fr=K2;var ko=W(rt(),1),G2=(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,ko.default)(new Error("Offset must be greater than or equal to 0"),"ERR_INVALID_PARAMS");if(o>n)throw(0,ko.default)(new Error("Offset must be less than the file size"),"ERR_INVALID_PARAMS");if(i<0n)throw(0,ko.default)(new Error("Length must be greater than or equal to 0"),"ERR_INVALID_PARAMS");if(i>n)throw(0,ko.default)(new Error("Length must be less than the file size"),"ERR_INVALID_PARAMS");return{start:o,end:i}},cn=G2;var Q2=t=>{async function*e(r={}){let{start:n,end:o}=cn(t.length,r.offset,r.length),i=fr(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},J2=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=ti(t.multihash.bytes);return{entry:{type:"identity",name:e,path:r,cid:t,content:Q2(a.digest),depth:i,size:BigInt(a.digest.length),node:a.digest}}},ug=J2;var lg=W(rt(),1);var X2=t=>{async function*e(r={}){let{start:n,end:o}=cn(t.length,r.offset,r.length),i=fr(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},Y2=async(t,e,r,n,o,i,s,c)=>{if(n.length>0)throw(0,lg.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:X2(a),depth:i,size:BigInt(a.length),node:a}}},fg=Y2;var Uo=W(rt(),1);var Zu=W(rt(),1);var Gu=W(os(),1),dg=W(tu(),1),hg=W(lt(),1),Qu=W(rs(),1),pg=W(Yc(),1);function Z2(){hg.default._configure(),Gu.default._configure(dg.default),Qu.default._configure(pg.default)}Z2();var yg=["uint64","int64","sint64","fixed64","sfixed64"];function ev(t){for(let e of yg){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function Ju(t){return ev(new Gu.default(t))}function tv(t){for(let e of yg){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function Xu(){return tv(Qu.default.create())}function vo(t,e){let r=Ju(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function Eo(t,e){let r=Xu();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var un;(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"})(un||(un={}));function Us(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Yu(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 Us("enum",un.VARINT,r,n)}function So(t,e){return Us("message",un.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=()=>Yu(r)}(e=t.DataType||(t.DataType={}));let n;t.codec=()=>(n==null&&(n=So((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),Ps.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=Ps.codec().decode(o,o.uint32());break;default:o.skipType(a&7);break}}return s})),n),t.encode=o=>Eo(o,t.codec()),t.decode=o=>vo(o,t.codec())})(ze||(ze={}));var Ps;(function(t){let e;t.codec=()=>(e==null&&(e=So((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=>Eo(r,t.codec()),t.decode=r=>vo(r,t.codec())})(Ps||(Ps={}));var mg;(function(t){let e;t.codec=()=>(e==null&&(e=So((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=>Eo(r,t.codec()),t.decode=r=>vo(r,t.codec())})(mg||(mg={}));var gg={Raw:"raw",Directory:"directory",File:"file",Metadata:"metadata",Symlink:"symlink",HAMTShard:"hamt-sharded-directory"},rv=["directory","hamt-sharded-directory"],wg=parseInt("0644",8),bg=parseInt("0755",8),ln=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(gg).includes(r))throw(0,Zu.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:gg[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()?bg:wg:this._mode=e&4095}get mode(){return this._mode}isDirectory(){return rv.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,Zu.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===wg&&!this.isDirectory()&&(n=void 0),n===bg&&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 Ig=W(vg(),1);var el={};Q(el,{identity:()=>sv});var sv=xr({prefix:"\0",name:"identity",encode:t=>Pl(t),decode:t=>Ul(t)});var tl={};Q(tl,{base2:()=>av});var av=G({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var rl={};Q(rl,{base8:()=>cv});var cv=G({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var nl={};Q(nl,{base10:()=>uv});var uv=yt({prefix:"9",name:"base10",alphabet:"0123456789"});var ol={};Q(ol,{base16:()=>lv,base16upper:()=>fv});var lv=G({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),fv=G({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var il={};Q(il,{base36:()=>dv,base36upper:()=>hv});var dv=yt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),hv=yt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var sl={};Q(sl,{base64:()=>pv,base64pad:()=>yv,base64url:()=>mv,base64urlpad:()=>gv});var pv=G({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),yv=G({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),mv=G({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),gv=G({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var al={};Q(al,{base256emoji:()=>vv});var Eg=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}"),wv=Eg.reduce((t,e,r)=>(t[r]=e,t),[]),bv=Eg.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function xv(t){return t.reduce((e,r)=>(e+=wv[r],e),"")}function kv(t){let e=[];for(let r of t){let n=bv[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var vv=xr({prefix:"\u{1F680}",name:"base256emoji",encode:xv,decode:kv});var cl={};Q(cl,{identity:()=>Av});var Sg=0,Ev="identity",Ag=ot,Sv=t=>Ft(Sg,Ag(t)),Av={code:Sg,name:Ev,encode:Ag,digest:Sv};var ET=new TextEncoder,ST=new TextDecoder;var ul={...el,...tl,...rl,...nl,...ol,...la,...il,...ua,...sl,...al},_T={...Pc,...cl};function fn(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Fs(t=0){return globalThis.Buffer?.allocUnsafe!=null?fn(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Bg(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var _g=Bg("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),ll=Bg("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=Fs(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Cv={utf8:_g,"utf-8":_g,hex:ul.base16,latin1:ll,ascii:ll,binary:ll,...ul},Cg=Cv;function Tg(t,e="utf8"){let r=Cg[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?fn(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var dr=class t{constructor(e,r,n=0){this._options=e,this._popCount=0,this._parent=r,this._posAtParent=n,this._children=new Ig.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 Lg(this,e,r)}toJSON(){return this.serialize(Iv,Lv)}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"?Tg(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(Tv);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 Tv(t){return!!t}function Iv(t,e){return t.key}function Lv(t){return t}async function Lg(t,e,r){let n=[];for(let o of t._children.compactArray())if(o instanceof dr)await Lg(o,e,r);else{let i=await e(o);n.push({bitField:t._children.bitField(),children:i})}return await r(n)}var Dv=[255,254,252,248,240,224,192,128],Nv=[1,3,7,15,31,63,127,255],Ms=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=Uv(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 Uv(t,e,r){let n=Pv(e,r);return(t&n)>>>e}function Pv(t,e){return Dv[t]&Nv[Math.min(e+t-1,7)]}function Dg(t,e){e==null&&(e=t.reduce((o,i)=>o+i.length,0));let r=Fs(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return fn(r)}function Ng(t){function e(r){return r instanceof Os?r:new Os(r,t)}return e}var Os=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?Dg([this._value,Uint8Array.from([this._depth])]):this._value,r=await this._hashFn(e),n=new Ms(r);this._buffers.push(n),this._availableBits+=n.availableBits()}};function Ug(t){if(t==null||t.hashFn==null)throw new Error("please define an options.hashFn");let e={bits:t.bits??8,hash:Ng(t.hashFn)};return new dr(e)}var Fv=async function(t){return(await $m.encode(t)).slice(0,8).reverse()},Mv=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 dr({hash:r._options.hash,bits:r._options.bits},e,o));return}await r.put(n.Name.substring(2),!0)}))},Pg=t=>t.toString(16).toUpperCase().padStart(2,"0").substring(0,2),Ov=t=>{let e=t.bucket,r=[];for(;e._parent!=null;)r.push(e),e=e._parent;return r.push(e),r.reverse()},Fg=async(t,e,r,n,o)=>{if(n==null){let l=Ug({hashFn:Fv});n={rootBucket:l,hamtDepth:1,lastBucket:l}}await Mv(t.Links,n.lastBucket,n.rootBucket);let i=await n.rootBucket._findNewBucketAndPos(e),s=Pg(i.pos),c=Ov(i);c.length>n.hamtDepth&&(n.lastBucket=c[n.hamtDepth],s=Pg(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),Fg(t,e,r,n,o)},Mg=Fg;function Rv(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 Rs=Rv;function zv(t){return t[Symbol.asyncIterator]!=null}function $v(t,e){if(zv(t))return async function*(){for await(let c of t)await e(c)&&(yield c)}();let r=Rs(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 Og=$v;function Hv(t){return t[Symbol.asyncIterator]!=null}function jv(t,e){if(Hv(t))return async function*(){for await(let c of t)yield e(c)}();let r=Rs(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 dn=jv;function ht(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var zs=globalThis.CustomEvent??Event;async function*hr(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 zs("task-complete"))},w=>{p.done=!0,p.err=w,o.dispatchEvent(new zs("task-complete"))})}a=!0,o.dispatchEvent(new zs("task-complete"))}catch(h){u=h,o.dispatchEvent(new zs("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 $s=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}},hn=class{constructor(e={}){k(this,"size");k(this,"hwm");k(this,"head");k(this,"tail");this.hwm=e.splitLimit??16,this.head=new $s(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 $s(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 fl=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 pn(t={}){return Vv(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 Vv(t,e){e=e??{};let r=e.onEnd,n=new hn,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 hn,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 hn,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 fl)},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 qv(t){return t[Symbol.asyncIterator]!=null}function Wv(...t){let e=[];for(let r of t)qv(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=pn({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 Rg=Wv;function yn(t,...e){if(t==null)throw new Error("Empty pipeline");if(dl(t)){let n=t;t=()=>n.source}else if($g(t)||zg(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&dl(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++)dl(r[n])&&(r[n]=Gv(r[n]));return Kv(...r)}var Kv=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},zg=t=>t?.[Symbol.asyncIterator]!=null,$g=t=>t?.[Symbol.iterator]!=null,dl=t=>t==null?!1:t.sink!=null&&t.source!=null,Gv=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=pn({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let o,i=t.source;if(zg(i))o=async function*(){yield*i,n.end()};else if($g(i))o=function*(){yield*i,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Rg(n,o())}return t.source};var Qv=(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*yn(d,m=>dn(m,f=>async()=>{let h=f.Name??"",p=`${n}/${h}`;return(await o(f.Hash,h,p,[],i+1,s,a)).entry}),m=>hr(m,{ordered:!0}),m=>Og(m,f=>f!=null))}return c},Hg=Qv;var yr=W(rt(),1);var Zg=W(Vg(),1);var _o=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},pl=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},qg=t=>globalThis.DOMException===void 0?new pl(t):new DOMException(t),Wg=t=>{let e=t.reason===void 0?qg("This operation was aborted."):t.reason;return e instanceof Error?e:qg(e)};function yl(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(Wg(a)),a.addEventListener("abort",()=>{c(Wg(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 _o(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 ml(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 pr=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,Bo=class{constructor(){pt.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&pr(this,pt,"f")[this.size-1].priority>=r.priority){pr(this,pt,"f").push(n);return}let o=ml(pr(this,pt,"f"),n,(i,s)=>s.priority-i.priority);pr(this,pt,"f").splice(o,0,n)}dequeue(){let e=pr(this,pt,"f").shift();return e?.run}filter(e){return pr(this,pt,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return pr(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)},Y,To,Io,Ut,Gs,Lo,js,$e,Co,Se,Vs,Ae,Do,Nt,qs,Kg,Gg,Xg,Qg,Jg,Ws,gl,wl,Qs,Yg,Ks,Js=class extends Error{},No=class extends Zg.default{constructor(e){var r,n,o,i;if(super(),Y.add(this),To.set(this,void 0),Io.set(this,void 0),Ut.set(this,0),Gs.set(this,void 0),Lo.set(this,void 0),js.set(this,0),$e.set(this,void 0),Co.set(this,void 0),Se.set(this,void 0),Vs.set(this,void 0),Ae.set(this,0),Do.set(this,void 0),Nt.set(this,void 0),qs.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:Bo,...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,To,e.carryoverConcurrencyCount,"f"),K(this,Io,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),K(this,Gs,e.intervalCap,"f"),K(this,Lo,e.interval,"f"),K(this,Se,new e.queueClass,"f"),K(this,Vs,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,K(this,qs,e.throwOnTimeout===!0,"f"),K(this,Nt,e.autoStart===!1,"f")}get concurrency(){return L(this,Do,"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,Do,e,"f"),L(this,Y,"m",Qs).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:L(this,qs,"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 Js("The task was aborted.");let a=e({signal:r.signal});r.timeout&&(a=yl(Promise.resolve(a),r.timeout)),r.signal&&(a=Promise.race([a,L(this,Y,"m",Yg).call(this,r.signal)]));let u=await a;n(u),this.emit("completed",u)}catch(a){if(a instanceof _o&&!r.throwOnTimeout){n();return}o(a),this.emit("error",a)}finally{L(this,Y,"m",Xg).call(this)}},r),this.emit("add"),L(this,Y,"m",Ws).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,Y,"m",Qs).call(this),this):this}pause(){K(this,Nt,!0,"f")}clear(){K(this,Se,new(L(this,Vs,"f")),"f")}async onEmpty(){L(this,Se,"f").size!==0&&await L(this,Y,"m",Ks).call(this,"empty")}async onSizeLessThan(e){L(this,Se,"f").size<e||await L(this,Y,"m",Ks).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,Y,"m",Ks).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")}};To=new WeakMap,Io=new WeakMap,Ut=new WeakMap,Gs=new WeakMap,Lo=new WeakMap,js=new WeakMap,$e=new WeakMap,Co=new WeakMap,Se=new WeakMap,Vs=new WeakMap,Ae=new WeakMap,Do=new WeakMap,Nt=new WeakMap,qs=new WeakMap,Y=new WeakSet,Kg=function(){return L(this,Io,"f")||L(this,Ut,"f")<L(this,Gs,"f")},Gg=function(){return L(this,Ae,"f")<L(this,Do,"f")},Xg=function(){var e;K(this,Ae,(e=L(this,Ae,"f"),e--,e),"f"),L(this,Y,"m",Ws).call(this),this.emit("next")},Qg=function(){L(this,Y,"m",wl).call(this),L(this,Y,"m",gl).call(this),K(this,Co,void 0,"f")},Jg=function(){let e=Date.now();if(L(this,$e,"f")===void 0){let r=L(this,js,"f")-e;if(r<0)K(this,Ut,L(this,To,"f")?L(this,Ae,"f"):0,"f");else return L(this,Co,"f")===void 0&&K(this,Co,setTimeout(()=>{L(this,Y,"m",Qg).call(this)},r),"f"),!0}return!1},Ws=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,Y,"a",Jg);if(L(this,Y,"a",Kg)&&L(this,Y,"a",Gg)){let r=L(this,Se,"f").dequeue();return r?(this.emit("active"),r(),e&&L(this,Y,"m",gl).call(this),!0):!1}}return!1},gl=function(){L(this,Io,"f")||L(this,$e,"f")!==void 0||(K(this,$e,setInterval(()=>{L(this,Y,"m",wl).call(this)},L(this,Lo,"f")),"f"),K(this,js,Date.now()+L(this,Lo,"f"),"f"))},wl=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,To,"f")?L(this,Ae,"f"):0,"f"),L(this,Y,"m",Qs).call(this)},Qs=function(){for(;L(this,Y,"m",Ws).call(this););},Yg=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new Js("The task was aborted."))},{once:!0})})},Ks=async function(e,r){return new Promise(n=>{let o=()=>{r&&!r()||(this.off(e,o),n())};this.on(e,o)})};async function ew(t,e,r,n,o,i,s){if(e instanceof Uint8Array){let u=fr(e,n,o,i);r.push(u);return}if(e.Data==null)throw(0,yr.default)(new Error("no data in PBNode"),"ERR_NOT_UNIXFS");let c;try{c=ln.unmarshal(e.Data)}catch(u){throw(0,yr.default)(u,"ERR_NOT_UNIXFS")}if(c.data!=null){let u=c.data,l=fr(u,n,o,i);r.push(l),n+=BigInt(l.byteLength)}let a=[];if(e.Links.length!==c.blockSizes.length)throw(0,yr.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 yn(a,u=>dn(u,l=>async()=>{let d=await t.get(l.link.Hash,s);return{...l,block:d}}),u=>hr(u,{ordered:!0}),async u=>{for await(let{link:l,block:d,blockStart:m}of u){let f;switch(l.Hash.code){case ar:f=Ye(d);break;case jn:f=d;break;default:r.end((0,yr.default)(new Error(`Unsupported codec: ${l.Hash.code}`),"ERR_NOT_UNIXFS"));return}let h=new No({concurrency:1});h.on("error",p=>{r.end(p)}),h.add(async()=>{s.onProgress?.(new ce("unixfs:exporter:walk:file",{cid:l.Hash})),await ew(t,f,r,m,o,i,s)}),await h.onIdle()}}),n>=i&&r.end()}var Yv=(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}=cn(u,a.offset,a.length);if(d===0n)return;let m=0n,f=d-l,h=pn();a.onProgress?.(new ce("unixfs:exporter:walk:file",{cid:t})),ew(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,yr.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,yr.default)(new Error("Traversed entire DAG but did not read enough bytes"),"ERR_UNDER_READ")}return c},bl=Yv;var Zv=(t,e,r,n,o,i,s)=>{function c(a={}){return a.onProgress?.(new ce("unixfs:exporter:walk:hamt-sharded-directory",{cid:t})),tw(e,n,o,i,s,a)}return c};async function*tw(t,e,r,n,o,i){let s=t.Links,c=yn(s,a=>dn(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:tw(t,e,r,n,o,i)}}}),a=>hr(a,{ordered:!0}));for await(let{entries:a}of c)yield*a}var rw=Zv;var eE=(t,e)=>t.Links.find(n=>n.Name===e)?.Hash,tE={raw:bl,file:bl,directory:Hg,"hamt-sharded-directory":rw,metadata:(t,e,r,n,o,i,s)=>()=>[],symlink:(t,e,r,n,o,i,s)=>()=>[]},rE=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,Uo.default)(new Error("no data in PBNode"),"ERR_NOT_UNIXFS");try{l=ln.unmarshal(u.Data)}catch(f){throw(0,Uo.default)(f,"ERR_NOT_UNIXFS")}if(r==null&&(r=e),n.length>0){let f;if(l?.type==="hamt-sharded-directory"?f=await Mg(u,n[0],s):f=eE(u,n[0]),f==null)throw(0,Uo.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=tE[l.type](t,u,l,r,o,i,s);if(m==null)throw(0,Uo.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}},nw=rE;var nE={[ar]:nw,[jn]:fg,[Da]:ag,[ig.code]:ug},iw=async(t,e,r,n,o,i,s)=>{let c=nE[t.code];if(c==null)throw(0,ow.default)(new Error(`No resolver for code ${t.code}`),"ERR_NO_RESOLVER");return c(t,e,r,n,iw,o,i,s)},sw=iw;var oE=(t="")=>(t.trim().match(/([^\\^/]|\\\/)+/g)??[]).filter(Boolean),iE=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=oE(t);return{cid:V.parse(r[0]),toResolve:r.slice(1)}}throw(0,Xs.default)(new Error(`Unknown path type ${t}`),"ERR_BAD_PATH")};async function*sE(t,e,r={}){let{cid:n,toResolve:o}=iE(t),i=n.toString(),s=i,c=o.length;for(;;){let a=await sw(n,i,s,o,c,e,r);if(a.entry==null&&a.next==null)throw(0,Xs.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 aw(t,e,r={}){let n=await rg(sE(t,e,r));if(n==null)throw(0,Xs.default)(new Error(`Could not resolve ${t}`),"ERR_NOT_FOUND");return n}var aE=Zm(),cE=Dt({fileChunkEncoder:Et,smallFileEncoder:Et,chunker:Tu(1024*1024),fileLayout:ws(1024)});async function cw(t){let e=uE(t),r=await lE(e);return{cid:r.at(-1).cid,blocks:r}}async function uw(t,e,r){let n=await aw(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 uE(t){let{readable:e,writable:r}=new TransformStream({},aE),n=Ym({writable:r,settings:cE}),o=new xl("",t);return(async()=>(await o.finalize(n),await n.close()))(),e}async function lE(t){let e=[];return await t.pipeTo(new WritableStream({write(r){e.push(r)}})),e}var Po,xl=class{constructor(e,r){nt(this,Po,void 0);k(this,"name");this.name=e,fe(this,Po,r)}async finalize(e){let r=po(e);return await Z(this,Po).stream().pipeTo(new WritableStream({async write(n){await r.write(n)}})),await r.close()}};Po=new WeakMap;async function dw(t,e,r,n){let o;for(let i of r){let s=await fE(t,i);o=await vp(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 fE(t,e){let r;e.del?r={del:!0}:(await dE(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 dE(t,e){e._files&&await lw(t,e._files),e._publicFiles&&await lw(t,e._publicFiles,!0)}async function lw(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 cw(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 hw(t,e,r){if(!e.length)throw new Error("Getting from an empty database");let n=await Ep(t,e,r);if(!n)throw new Error(`Missing key ${r}`);return await Sl(t,n)}function El(t,{doc:e}){e&&(e._files&&fw(t,e._files),e._publicFiles&&fw(t,e._publicFiles,!0))}function fw(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 uw({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 Sl(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 El(t,n),n}var kl=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 Fo(t,e,r,n){let o=n.dirty?new kl(t):new Je(t);return{result:(await vl(t,o,e,r,[],new Set,new Set,n.limit||1/0)).reverse(),head:e}}async function vl(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 vl(t,e,l.parents,n,o,i,s,c));else{i.add(d);let f=await Sl(t,m);o.push({key:d,value:f.doc,del:f.del}),c--,l.parents&&(o=await vl(t,e,l.parents,n,o,i,s,c))}}return o}async function*pw(t,e){for await(let[r,n]of Rc(t,e)){let o=await Sl(t,n);yield{key:r,value:o.doc,del:o.del}}}async function*yw(t,e){for await(let r of Fc(t,e))yield r}async function mw(t,e){let r=new qi(t),n=new _t(t);for await(let[,i]of Rc(r,e))if(!await r.get(i))throw new Error("Missing block: "+i.toString());for await(let i of Fc(r,e));let o=await Kr(r,e);for(let{cid:i,bytes:s}of[...o.additions,...o.removals])n.putSync(i,s);await Fo(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 Ys=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 Yn(u,l,m);let d=await Kr(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 Fo(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 Zs=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 Ys);this.name=e||null,this.opts=r||this.opts,this.blocks=new Vi(this.name,this.clock,this.opts),this.clock.blocks=this.blocks,this.indexBlocks=new ji(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 dw(n,this.clock.head,e,r);return e=e.map(({key:s,value:c,del:a})=>(El(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 pw(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 yw(this.blocks,this.clock.head))e.push(r);return e.join(`
|
4
|
+
`)}async get(e){await this.ready;let r=await hw(this.blocks,this.clock.head,e);return r.del?null:r}async changes(e=[],r={}){return await this.ready,await Fo(this.blocks,this.clock.head,e,r)}async compact(){if(await this.ready,!(this.blocks.loader&&this.blocks.loader.carLog.length<2))return await mw(this.blocks,this.clock.head)}};var Pt=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 Zs(e,this.opts),this._crdt.clock.onTick(n=>{this._notify(n)}),this._writeQueue=Tl(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||Cl(),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"?Wr({_crdt:this._crdt},e):Wr({_crdt:this._crdt},pE(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(Pt,"databases",new Map);function hE(t,e){return Pt.databases.has(t)||Pt.databases.set(t,new Pt(t,e)),Pt.databases.get(t)}function pE(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}return Ew(yE);})();
|
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
|