@verdant-web/store 3.9.0-next.0 → 3.9.0-next.1

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.
@@ -3,7 +3,7 @@
3
3
  Use "options.replacer" or "options.ignoreUnknown"
4
4
  `)},_domwindow:function(){return m("domwindow")},_bigint:function(l){return m("bigint:"+l.toString())},_process:function(){return m("process")},_timer:function(){return m("timer")},_pipe:function(){return m("pipe")},_tcp:function(){return m("tcp")},_udp:function(){return m("udp")},_tty:function(){return m("tty")},_statwatcher:function(){return m("statwatcher")},_securecontext:function(){return m("securecontext")},_connection:function(){return m("connection")},_zlib:function(){return m("zlib")},_context:function(){return m("context")},_nodescript:function(){return m("nodescript")},_httpparser:function(){return m("httpparser")},_dataview:function(){return m("dataview")},_signal:function(){return m("signal")},_fsevent:function(){return m("fsevent")},_tlswrap:function(){return m("tlswrap")}}}function R(){return{buf:"",write:function(b){this.buf+=b},end:function(b){this.buf+=b},read:function(){return this.buf}}}e.writeToStream=function(b,D,d){return d===void 0&&(d=D,D={}),O(D=_(b,D),d).dispatch(b)}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/fake_9a5aa49d.js","/")},{buffer:3,crypto:5,lYpoI2:11}],2:[function(n,i,e){(function(t,r,o,s,a,f,u,p,S){(function(w){"use strict";var C=typeof Uint8Array<"u"?Uint8Array:Array,g="+".charCodeAt(0),v="/".charCodeAt(0),_="0".charCodeAt(0),I="a".charCodeAt(0),O="A".charCodeAt(0),R="-".charCodeAt(0),b="_".charCodeAt(0);function D(d){return d=d.charCodeAt(0),d===g||d===R?62:d===v||d===b?63:d<_?-1:d<_+10?d-_+26+26:d<O+26?d-O:d<I+26?d-I+26:void 0}w.toByteArray=function(d){var m,l;if(0<d.length%4)throw new Error("Invalid string. Length must be a multiple of 4");var x=d.length,x=d.charAt(x-2)==="="?2:d.charAt(x-1)==="="?1:0,E=new C(3*d.length/4-x),j=0<x?d.length-4:d.length,B=0;function M(k){E[B++]=k}for(m=0;m<j;m+=4,0)M((16711680&(l=D(d.charAt(m))<<18|D(d.charAt(m+1))<<12|D(d.charAt(m+2))<<6|D(d.charAt(m+3))))>>16),M((65280&l)>>8),M(255&l);return x==2?M(255&(l=D(d.charAt(m))<<2|D(d.charAt(m+1))>>4)):x==1&&(M((l=D(d.charAt(m))<<10|D(d.charAt(m+1))<<4|D(d.charAt(m+2))>>2)>>8&255),M(255&l)),E},w.fromByteArray=function(d){var m,l,x,E,j=d.length%3,B="";function M(k){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(k)}for(m=0,x=d.length-j;m<x;m+=3)l=(d[m]<<16)+(d[m+1]<<8)+d[m+2],B+=M((E=l)>>18&63)+M(E>>12&63)+M(E>>6&63)+M(63&E);switch(j){case 1:B=(B+=M((l=d[d.length-1])>>2))+M(l<<4&63)+"==";break;case 2:B=(B=(B+=M((l=(d[d.length-2]<<8)+d[d.length-1])>>10))+M(l>>4&63))+M(l<<2&63)+"="}return B}})(e===void 0?this.base64js={}:e)}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:11}],3:[function(n,i,e){(function(t,r,g,s,a,f,u,p,S){var w=n("base64-js"),C=n("ieee754");function g(c,h,y){if(!(this instanceof g))return new g(c,h,y);var P,A,T,U,W=typeof c;if(h==="base64"&&W=="string")for(c=(U=c).trim?U.trim():U.replace(/^\s+|\s+$/g,"");c.length%4!=0;)c+="=";if(W=="number")P=te(c);else if(W=="string")P=g.byteLength(c,h);else{if(W!="object")throw new Error("First argument needs to be a number, array or string.");P=te(c.length)}if(g._useTypedArrays?A=g._augment(new Uint8Array(P)):((A=this).length=P,A._isBuffer=!0),g._useTypedArrays&&typeof c.byteLength=="number")A._set(c);else if(H(U=c)||g.isBuffer(U)||U&&typeof U=="object"&&typeof U.length=="number")for(T=0;T<P;T++)g.isBuffer(c)?A[T]=c.readUInt8(T):A[T]=c[T];else if(W=="string")A.write(c,0,h);else if(W=="number"&&!g._useTypedArrays&&!y)for(T=0;T<P;T++)A[T]=0;return A}function v(c,h,y,P){return g._charsWritten=jt(function(A){for(var T=[],U=0;U<A.length;U++)T.push(255&A.charCodeAt(U));return T}(h),c,y,P)}function _(c,h,y,P){return g._charsWritten=jt(function(A){for(var T,U,W=[],X=0;X<A.length;X++)U=A.charCodeAt(X),T=U>>8,U=U%256,W.push(U),W.push(T);return W}(h),c,y,P)}function I(c,h,y){var P="";y=Math.min(c.length,y);for(var A=h;A<y;A++)P+=String.fromCharCode(c[A]);return P}function O(c,h,y,T){T||(F(typeof y=="boolean","missing or invalid endian"),F(h!=null,"missing offset"),F(h+1<c.length,"Trying to read beyond buffer length"));var A,T=c.length;if(!(T<=h))return y?(A=c[h],h+1<T&&(A|=c[h+1]<<8)):(A=c[h]<<8,h+1<T&&(A|=c[h+1])),A}function R(c,h,y,T){T||(F(typeof y=="boolean","missing or invalid endian"),F(h!=null,"missing offset"),F(h+3<c.length,"Trying to read beyond buffer length"));var A,T=c.length;if(!(T<=h))return y?(h+2<T&&(A=c[h+2]<<16),h+1<T&&(A|=c[h+1]<<8),A|=c[h],h+3<T&&(A+=c[h+3]<<24>>>0)):(h+1<T&&(A=c[h+1]<<16),h+2<T&&(A|=c[h+2]<<8),h+3<T&&(A|=c[h+3]),A+=c[h]<<24>>>0),A}function b(c,h,y,P){if(P||(F(typeof y=="boolean","missing or invalid endian"),F(h!=null,"missing offset"),F(h+1<c.length,"Trying to read beyond buffer length")),!(c.length<=h))return P=O(c,h,y,!0),32768&P?-1*(65535-P+1):P}function D(c,h,y,P){if(P||(F(typeof y=="boolean","missing or invalid endian"),F(h!=null,"missing offset"),F(h+3<c.length,"Trying to read beyond buffer length")),!(c.length<=h))return P=R(c,h,y,!0),2147483648&P?-1*(4294967295-P+1):P}function d(c,h,y,P){return P||(F(typeof y=="boolean","missing or invalid endian"),F(h+3<c.length,"Trying to read beyond buffer length")),C.read(c,h,y,23,4)}function m(c,h,y,P){return P||(F(typeof y=="boolean","missing or invalid endian"),F(h+7<c.length,"Trying to read beyond buffer length")),C.read(c,h,y,52,8)}function l(c,h,y,P,A){if(A||(F(h!=null,"missing value"),F(typeof P=="boolean","missing or invalid endian"),F(y!=null,"missing offset"),F(y+1<c.length,"trying to write beyond buffer length"),ti(h,65535)),A=c.length,!(A<=y))for(var T=0,U=Math.min(A-y,2);T<U;T++)c[y+T]=(h&255<<8*(P?T:1-T))>>>8*(P?T:1-T)}function x(c,h,y,P,A){if(A||(F(h!=null,"missing value"),F(typeof P=="boolean","missing or invalid endian"),F(y!=null,"missing offset"),F(y+3<c.length,"trying to write beyond buffer length"),ti(h,4294967295)),A=c.length,!(A<=y))for(var T=0,U=Math.min(A-y,4);T<U;T++)c[y+T]=h>>>8*(P?T:3-T)&255}function E(c,h,y,P,A){A||(F(h!=null,"missing value"),F(typeof P=="boolean","missing or invalid endian"),F(y!=null,"missing offset"),F(y+1<c.length,"Trying to write beyond buffer length"),ni(h,32767,-32768)),c.length<=y||l(c,0<=h?h:65535+h+1,y,P,A)}function j(c,h,y,P,A){A||(F(h!=null,"missing value"),F(typeof P=="boolean","missing or invalid endian"),F(y!=null,"missing offset"),F(y+3<c.length,"Trying to write beyond buffer length"),ni(h,2147483647,-2147483648)),c.length<=y||x(c,0<=h?h:4294967295+h+1,y,P,A)}function B(c,h,y,P,A){A||(F(h!=null,"missing value"),F(typeof P=="boolean","missing or invalid endian"),F(y!=null,"missing offset"),F(y+3<c.length,"Trying to write beyond buffer length"),ar(h,34028234663852886e22,-34028234663852886e22)),c.length<=y||C.write(c,h,y,P,23,4)}function M(c,h,y,P,A){A||(F(h!=null,"missing value"),F(typeof P=="boolean","missing or invalid endian"),F(y!=null,"missing offset"),F(y+7<c.length,"Trying to write beyond buffer length"),ar(h,17976931348623157e292,-17976931348623157e292)),c.length<=y||C.write(c,h,y,P,52,8)}e.Buffer=g,e.SlowBuffer=g,e.INSPECT_MAX_BYTES=50,g.poolSize=8192,g._useTypedArrays=function(){try{var c=new ArrayBuffer(0),h=new Uint8Array(c);return h.foo=function(){return 42},h.foo()===42&&typeof h.subarray=="function"}catch{return!1}}(),g.isEncoding=function(c){switch(String(c).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},g.isBuffer=function(c){return!(c==null||!c._isBuffer)},g.byteLength=function(c,h){var y;switch(c+="",h||"utf8"){case"hex":y=c.length/2;break;case"utf8":case"utf-8":y=Ee(c).length;break;case"ascii":case"binary":case"raw":y=c.length;break;case"base64":y=or(c).length;break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":y=2*c.length;break;default:throw new Error("Unknown encoding")}return y},g.concat=function(c,h){if(F(H(c),`Usage: Buffer.concat(list, [totalLength])
5
5
  list should be an Array.`),c.length===0)return new g(0);if(c.length===1)return c[0];if(typeof h!="number")for(A=h=0;A<c.length;A++)h+=c[A].length;for(var y=new g(h),P=0,A=0;A<c.length;A++){var T=c[A];T.copy(y,P),P+=T.length}return y},g.prototype.write=function(c,h,y,P){isFinite(h)?isFinite(y)||(P=y,y=void 0):(X=P,P=h,h=y,y=X),h=Number(h)||0;var A,T,U,W,X=this.length-h;switch((!y||X<(y=Number(y)))&&(y=X),P=String(P||"utf8").toLowerCase()){case"hex":A=function(be,ie,re,Z){re=Number(re)||0;var G=be.length-re;(!Z||G<(Z=Number(Z)))&&(Z=G),F((G=ie.length)%2==0,"Invalid hex string"),G/2<Z&&(Z=G/2);for(var Xe=0;Xe<Z;Xe++){var cr=parseInt(ie.substr(2*Xe,2),16);F(!isNaN(cr),"Invalid hex string"),be[re+Xe]=cr}return g._charsWritten=2*Xe,Xe}(this,c,h,y);break;case"utf8":case"utf-8":T=this,U=h,W=y,A=g._charsWritten=jt(Ee(c),T,U,W);break;case"ascii":case"binary":A=v(this,c,h,y);break;case"base64":T=this,U=h,W=y,A=g._charsWritten=jt(or(c),T,U,W);break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":A=_(this,c,h,y);break;default:throw new Error("Unknown encoding")}return A},g.prototype.toString=function(c,h,y){var P,A,T,U,W=this;if(c=String(c||"utf8").toLowerCase(),h=Number(h)||0,(y=y!==void 0?Number(y):W.length)===h)return"";switch(c){case"hex":P=function(X,be,ie){var re=X.length;(!be||be<0)&&(be=0),(!ie||ie<0||re<ie)&&(ie=re);for(var Z="",G=be;G<ie;G++)Z+=K(X[G]);return Z}(W,h,y);break;case"utf8":case"utf-8":P=function(X,be,ie){var re="",Z="";ie=Math.min(X.length,ie);for(var G=be;G<ie;G++)X[G]<=127?(re+=sr(Z)+String.fromCharCode(X[G]),Z=""):Z+="%"+X[G].toString(16);return re+sr(Z)}(W,h,y);break;case"ascii":case"binary":P=I(W,h,y);break;case"base64":A=W,U=y,P=(T=h)===0&&U===A.length?w.fromByteArray(A):w.fromByteArray(A.slice(T,U));break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":P=function(X,be,ie){for(var re=X.slice(be,ie),Z="",G=0;G<re.length;G+=2)Z+=String.fromCharCode(re[G]+256*re[G+1]);return Z}(W,h,y);break;default:throw new Error("Unknown encoding")}return P},g.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},g.prototype.copy=function(c,h,y,P){if(h=h||0,(P=P||P===0?P:this.length)!==(y=y||0)&&c.length!==0&&this.length!==0){F(y<=P,"sourceEnd < sourceStart"),F(0<=h&&h<c.length,"targetStart out of bounds"),F(0<=y&&y<this.length,"sourceStart out of bounds"),F(0<=P&&P<=this.length,"sourceEnd out of bounds"),P>this.length&&(P=this.length);var A=(P=c.length-h<P-y?c.length-h+y:P)-y;if(A<100||!g._useTypedArrays)for(var T=0;T<A;T++)c[T+h]=this[T+y];else c._set(this.subarray(y,y+A),h)}},g.prototype.slice=function(c,h){var y=this.length;if(c=q(c,y,0),h=q(h,y,y),g._useTypedArrays)return g._augment(this.subarray(c,h));for(var P=h-c,A=new g(P,void 0,!0),T=0;T<P;T++)A[T]=this[T+c];return A},g.prototype.get=function(c){return console.log(".get() is deprecated. Access using array indexes instead."),this.readUInt8(c)},g.prototype.set=function(c,h){return console.log(".set() is deprecated. Access using array indexes instead."),this.writeUInt8(c,h)},g.prototype.readUInt8=function(c,h){if(h||(F(c!=null,"missing offset"),F(c<this.length,"Trying to read beyond buffer length")),!(c>=this.length))return this[c]},g.prototype.readUInt16LE=function(c,h){return O(this,c,!0,h)},g.prototype.readUInt16BE=function(c,h){return O(this,c,!1,h)},g.prototype.readUInt32LE=function(c,h){return R(this,c,!0,h)},g.prototype.readUInt32BE=function(c,h){return R(this,c,!1,h)},g.prototype.readInt8=function(c,h){if(h||(F(c!=null,"missing offset"),F(c<this.length,"Trying to read beyond buffer length")),!(c>=this.length))return 128&this[c]?-1*(255-this[c]+1):this[c]},g.prototype.readInt16LE=function(c,h){return b(this,c,!0,h)},g.prototype.readInt16BE=function(c,h){return b(this,c,!1,h)},g.prototype.readInt32LE=function(c,h){return D(this,c,!0,h)},g.prototype.readInt32BE=function(c,h){return D(this,c,!1,h)},g.prototype.readFloatLE=function(c,h){return d(this,c,!0,h)},g.prototype.readFloatBE=function(c,h){return d(this,c,!1,h)},g.prototype.readDoubleLE=function(c,h){return m(this,c,!0,h)},g.prototype.readDoubleBE=function(c,h){return m(this,c,!1,h)},g.prototype.writeUInt8=function(c,h,y){y||(F(c!=null,"missing value"),F(h!=null,"missing offset"),F(h<this.length,"trying to write beyond buffer length"),ti(c,255)),h>=this.length||(this[h]=c)},g.prototype.writeUInt16LE=function(c,h,y){l(this,c,h,!0,y)},g.prototype.writeUInt16BE=function(c,h,y){l(this,c,h,!1,y)},g.prototype.writeUInt32LE=function(c,h,y){x(this,c,h,!0,y)},g.prototype.writeUInt32BE=function(c,h,y){x(this,c,h,!1,y)},g.prototype.writeInt8=function(c,h,y){y||(F(c!=null,"missing value"),F(h!=null,"missing offset"),F(h<this.length,"Trying to write beyond buffer length"),ni(c,127,-128)),h>=this.length||(0<=c?this.writeUInt8(c,h,y):this.writeUInt8(255+c+1,h,y))},g.prototype.writeInt16LE=function(c,h,y){E(this,c,h,!0,y)},g.prototype.writeInt16BE=function(c,h,y){E(this,c,h,!1,y)},g.prototype.writeInt32LE=function(c,h,y){j(this,c,h,!0,y)},g.prototype.writeInt32BE=function(c,h,y){j(this,c,h,!1,y)},g.prototype.writeFloatLE=function(c,h,y){B(this,c,h,!0,y)},g.prototype.writeFloatBE=function(c,h,y){B(this,c,h,!1,y)},g.prototype.writeDoubleLE=function(c,h,y){M(this,c,h,!0,y)},g.prototype.writeDoubleBE=function(c,h,y){M(this,c,h,!1,y)},g.prototype.fill=function(c,h,y){if(h=h||0,y=y||this.length,F(typeof(c=typeof(c=c||0)=="string"?c.charCodeAt(0):c)=="number"&&!isNaN(c),"value is not a number"),F(h<=y,"end < start"),y!==h&&this.length!==0){F(0<=h&&h<this.length,"start out of bounds"),F(0<=y&&y<=this.length,"end out of bounds");for(var P=h;P<y;P++)this[P]=c}},g.prototype.inspect=function(){for(var c=[],h=this.length,y=0;y<h;y++)if(c[y]=K(this[y]),y===e.INSPECT_MAX_BYTES){c[y+1]="...";break}return"<Buffer "+c.join(" ")+">"},g.prototype.toArrayBuffer=function(){if(typeof Uint8Array>"u")throw new Error("Buffer.toArrayBuffer not supported in this browser");if(g._useTypedArrays)return new g(this).buffer;for(var c=new Uint8Array(this.length),h=0,y=c.length;h<y;h+=1)c[h]=this[h];return c.buffer};var k=g.prototype;function q(c,h,y){return typeof c!="number"?y:h<=(c=~~c)?h:0<=c||0<=(c+=h)?c:0}function te(c){return(c=~~Math.ceil(+c))<0?0:c}function H(c){return(Array.isArray||function(h){return Object.prototype.toString.call(h)==="[object Array]"})(c)}function K(c){return c<16?"0"+c.toString(16):c.toString(16)}function Ee(c){for(var h=[],y=0;y<c.length;y++){var P=c.charCodeAt(y);if(P<=127)h.push(c.charCodeAt(y));else for(var A=y,T=(55296<=P&&P<=57343&&y++,encodeURIComponent(c.slice(A,y+1)).substr(1).split("%")),U=0;U<T.length;U++)h.push(parseInt(T[U],16))}return h}function or(c){return w.toByteArray(c)}function jt(c,h,y,P){for(var A=0;A<P&&!(A+y>=h.length||A>=c.length);A++)h[A+y]=c[A];return A}function sr(c){try{return decodeURIComponent(c)}catch{return String.fromCharCode(65533)}}function ti(c,h){F(typeof c=="number","cannot write a non-number as a number"),F(0<=c,"specified a negative value for writing an unsigned value"),F(c<=h,"value is larger than maximum value for type"),F(Math.floor(c)===c,"value has a fractional component")}function ni(c,h,y){F(typeof c=="number","cannot write a non-number as a number"),F(c<=h,"value larger than maximum allowed value"),F(y<=c,"value smaller than minimum allowed value"),F(Math.floor(c)===c,"value has a fractional component")}function ar(c,h,y){F(typeof c=="number","cannot write a non-number as a number"),F(c<=h,"value larger than maximum allowed value"),F(y<=c,"value smaller than minimum allowed value")}function F(c,h){if(!c)throw new Error(h||"Failed assertion")}g._augment=function(c){return c._isBuffer=!0,c._get=c.get,c._set=c.set,c.get=k.get,c.set=k.set,c.write=k.write,c.toString=k.toString,c.toLocaleString=k.toString,c.toJSON=k.toJSON,c.copy=k.copy,c.slice=k.slice,c.readUInt8=k.readUInt8,c.readUInt16LE=k.readUInt16LE,c.readUInt16BE=k.readUInt16BE,c.readUInt32LE=k.readUInt32LE,c.readUInt32BE=k.readUInt32BE,c.readInt8=k.readInt8,c.readInt16LE=k.readInt16LE,c.readInt16BE=k.readInt16BE,c.readInt32LE=k.readInt32LE,c.readInt32BE=k.readInt32BE,c.readFloatLE=k.readFloatLE,c.readFloatBE=k.readFloatBE,c.readDoubleLE=k.readDoubleLE,c.readDoubleBE=k.readDoubleBE,c.writeUInt8=k.writeUInt8,c.writeUInt16LE=k.writeUInt16LE,c.writeUInt16BE=k.writeUInt16BE,c.writeUInt32LE=k.writeUInt32LE,c.writeUInt32BE=k.writeUInt32BE,c.writeInt8=k.writeInt8,c.writeInt16LE=k.writeInt16LE,c.writeInt16BE=k.writeInt16BE,c.writeInt32LE=k.writeInt32LE,c.writeInt32BE=k.writeInt32BE,c.writeFloatLE=k.writeFloatLE,c.writeFloatBE=k.writeFloatBE,c.writeDoubleLE=k.writeDoubleLE,c.writeDoubleBE=k.writeDoubleBE,c.fill=k.fill,c.inspect=k.inspect,c.toArrayBuffer=k.toArrayBuffer,c}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(n,i,e){(function(t,r,w,s,a,f,u,p,S){var w=n("buffer").Buffer,C=4,g=new w(C);g.fill(0),i.exports={hash:function(v,_,I,O){for(var R=_(function(l,x){l.length%C!=0&&(E=l.length+(C-l.length%C),l=w.concat([l,g],E));for(var E,j=[],B=x?l.readInt32BE:l.readInt32LE,M=0;M<l.length;M+=C)j.push(B.call(l,M));return j}(v=w.isBuffer(v)?v:new w(v),O),8*v.length),_=O,b=new w(I),D=_?b.writeInt32BE:b.writeInt32LE,d=0;d<R.length;d++)D.call(b,R[d],4*d,!0);return b}}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/helpers.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],5:[function(n,i,e){(function(t,r,w,s,a,f,u,p,S){var w=n("buffer").Buffer,C=n("./sha"),g=n("./sha256"),v=n("./rng"),_={sha1:C,sha256:g,md5:n("./md5")},I=64,O=new w(I);function R(l,x){var E=_[l=l||"sha1"],j=[];return E||b("algorithm:",l,"is not yet supported"),{update:function(B){return w.isBuffer(B)||(B=new w(B)),j.push(B),B.length,this},digest:function(B){var M=w.concat(j),M=x?function(k,q,te){w.isBuffer(q)||(q=new w(q)),w.isBuffer(te)||(te=new w(te)),q.length>I?q=k(q):q.length<I&&(q=w.concat([q,O],I));for(var H=new w(I),K=new w(I),Ee=0;Ee<I;Ee++)H[Ee]=54^q[Ee],K[Ee]=92^q[Ee];return te=k(w.concat([H,te])),k(w.concat([K,te]))}(E,x,M):E(M);return j=null,B?M.toString(B):M}}}function b(){var l=[].slice.call(arguments).join(" ");throw new Error([l,"we accept pull requests","http://github.com/dominictarr/crypto-browserify"].join(`
6
- `))}O.fill(0),e.createHash=function(l){return R(l)},e.createHmac=R,e.randomBytes=function(l,x){if(!x||!x.call)return new w(v(l));try{x.call(this,void 0,new w(v(l)))}catch(E){x(E)}};var D,d=["createCredentials","createCipher","createCipheriv","createDecipher","createDecipheriv","createSign","createVerify","createDiffieHellman","pbkdf2"],m=function(l){e[l]=function(){b("sorry,",l,"is not implemented yet")}};for(D in d)m(d[D],D)}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/index.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./md5":6,"./rng":7,"./sha":8,"./sha256":9,buffer:3,lYpoI2:11}],6:[function(n,i,e){(function(t,r,o,s,a,f,u,p,S){var w=n("./helpers");function C(b,D){b[D>>5]|=128<<D%32,b[14+(D+64>>>9<<4)]=D;for(var d=1732584193,m=-271733879,l=-1732584194,x=271733878,E=0;E<b.length;E+=16){var j=d,B=m,M=l,k=x,d=v(d,m,l,x,b[E+0],7,-680876936),x=v(x,d,m,l,b[E+1],12,-389564586),l=v(l,x,d,m,b[E+2],17,606105819),m=v(m,l,x,d,b[E+3],22,-1044525330);d=v(d,m,l,x,b[E+4],7,-176418897),x=v(x,d,m,l,b[E+5],12,1200080426),l=v(l,x,d,m,b[E+6],17,-1473231341),m=v(m,l,x,d,b[E+7],22,-45705983),d=v(d,m,l,x,b[E+8],7,1770035416),x=v(x,d,m,l,b[E+9],12,-1958414417),l=v(l,x,d,m,b[E+10],17,-42063),m=v(m,l,x,d,b[E+11],22,-1990404162),d=v(d,m,l,x,b[E+12],7,1804603682),x=v(x,d,m,l,b[E+13],12,-40341101),l=v(l,x,d,m,b[E+14],17,-1502002290),d=_(d,m=v(m,l,x,d,b[E+15],22,1236535329),l,x,b[E+1],5,-165796510),x=_(x,d,m,l,b[E+6],9,-1069501632),l=_(l,x,d,m,b[E+11],14,643717713),m=_(m,l,x,d,b[E+0],20,-373897302),d=_(d,m,l,x,b[E+5],5,-701558691),x=_(x,d,m,l,b[E+10],9,38016083),l=_(l,x,d,m,b[E+15],14,-660478335),m=_(m,l,x,d,b[E+4],20,-405537848),d=_(d,m,l,x,b[E+9],5,568446438),x=_(x,d,m,l,b[E+14],9,-1019803690),l=_(l,x,d,m,b[E+3],14,-187363961),m=_(m,l,x,d,b[E+8],20,1163531501),d=_(d,m,l,x,b[E+13],5,-1444681467),x=_(x,d,m,l,b[E+2],9,-51403784),l=_(l,x,d,m,b[E+7],14,1735328473),d=I(d,m=_(m,l,x,d,b[E+12],20,-1926607734),l,x,b[E+5],4,-378558),x=I(x,d,m,l,b[E+8],11,-2022574463),l=I(l,x,d,m,b[E+11],16,1839030562),m=I(m,l,x,d,b[E+14],23,-35309556),d=I(d,m,l,x,b[E+1],4,-1530992060),x=I(x,d,m,l,b[E+4],11,1272893353),l=I(l,x,d,m,b[E+7],16,-155497632),m=I(m,l,x,d,b[E+10],23,-1094730640),d=I(d,m,l,x,b[E+13],4,681279174),x=I(x,d,m,l,b[E+0],11,-358537222),l=I(l,x,d,m,b[E+3],16,-722521979),m=I(m,l,x,d,b[E+6],23,76029189),d=I(d,m,l,x,b[E+9],4,-640364487),x=I(x,d,m,l,b[E+12],11,-421815835),l=I(l,x,d,m,b[E+15],16,530742520),d=O(d,m=I(m,l,x,d,b[E+2],23,-995338651),l,x,b[E+0],6,-198630844),x=O(x,d,m,l,b[E+7],10,1126891415),l=O(l,x,d,m,b[E+14],15,-1416354905),m=O(m,l,x,d,b[E+5],21,-57434055),d=O(d,m,l,x,b[E+12],6,1700485571),x=O(x,d,m,l,b[E+3],10,-1894986606),l=O(l,x,d,m,b[E+10],15,-1051523),m=O(m,l,x,d,b[E+1],21,-2054922799),d=O(d,m,l,x,b[E+8],6,1873313359),x=O(x,d,m,l,b[E+15],10,-30611744),l=O(l,x,d,m,b[E+6],15,-1560198380),m=O(m,l,x,d,b[E+13],21,1309151649),d=O(d,m,l,x,b[E+4],6,-145523070),x=O(x,d,m,l,b[E+11],10,-1120210379),l=O(l,x,d,m,b[E+2],15,718787259),m=O(m,l,x,d,b[E+9],21,-343485551),d=R(d,j),m=R(m,B),l=R(l,M),x=R(x,k)}return Array(d,m,l,x)}function g(b,D,d,m,l,x){return R((D=R(R(D,b),R(m,x)))<<l|D>>>32-l,d)}function v(b,D,d,m,l,x,E){return g(D&d|~D&m,b,D,l,x,E)}function _(b,D,d,m,l,x,E){return g(D&m|d&~m,b,D,l,x,E)}function I(b,D,d,m,l,x,E){return g(D^d^m,b,D,l,x,E)}function O(b,D,d,m,l,x,E){return g(d^(D|~m),b,D,l,x,E)}function R(b,D){var d=(65535&b)+(65535&D);return(b>>16)+(D>>16)+(d>>16)<<16|65535&d}i.exports=function(b){return w.hash(b,C,16)}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(n,i,e){(function(t,r,o,s,a,f,u,p,S){var w;i.exports=w||function(C){for(var g,v=new Array(C),_=0;_<C;_++)!(3&_)&&(g=4294967296*Math.random()),v[_]=g>>>((3&_)<<3)&255;return v}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(n,i,e){(function(t,r,o,s,a,f,u,p,S){var w=n("./helpers");function C(_,I){_[I>>5]|=128<<24-I%32,_[15+(I+64>>9<<4)]=I;for(var O,R,b,D=Array(80),d=1732584193,m=-271733879,l=-1732584194,x=271733878,E=-1009589776,j=0;j<_.length;j+=16){for(var B=d,M=m,k=l,q=x,te=E,H=0;H<80;H++){D[H]=H<16?_[j+H]:v(D[H-3]^D[H-8]^D[H-14]^D[H-16],1);var K=g(g(v(d,5),(K=m,R=l,b=x,(O=H)<20?K&R|~K&b:!(O<40)&&O<60?K&R|K&b|R&b:K^R^b)),g(g(E,D[H]),(O=H)<20?1518500249:O<40?1859775393:O<60?-1894007588:-899497514)),E=x,x=l,l=v(m,30),m=d,d=K}d=g(d,B),m=g(m,M),l=g(l,k),x=g(x,q),E=g(E,te)}return Array(d,m,l,x,E)}function g(_,I){var O=(65535&_)+(65535&I);return(_>>16)+(I>>16)+(O>>16)<<16|65535&O}function v(_,I){return _<<I|_>>>32-I}i.exports=function(_){return w.hash(_,C,20,!0)}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(n,i,e){(function(t,r,o,s,a,f,u,p,S){function w(I,O){var R=(65535&I)+(65535&O);return(I>>16)+(O>>16)+(R>>16)<<16|65535&R}function C(I,O){var R,b=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),D=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),d=new Array(64);I[O>>5]|=128<<24-O%32,I[15+(O+64>>9<<4)]=O;for(var m,l,x=0;x<I.length;x+=16){for(var E=D[0],j=D[1],B=D[2],M=D[3],k=D[4],q=D[5],te=D[6],H=D[7],K=0;K<64;K++)d[K]=K<16?I[K+x]:w(w(w((l=d[K-2],v(l,17)^v(l,19)^_(l,10)),d[K-7]),(l=d[K-15],v(l,7)^v(l,18)^_(l,3))),d[K-16]),R=w(w(w(w(H,v(l=k,6)^v(l,11)^v(l,25)),k&q^~k&te),b[K]),d[K]),m=w(v(m=E,2)^v(m,13)^v(m,22),E&j^E&B^j&B),H=te,te=q,q=k,k=w(M,R),M=B,B=j,j=E,E=w(R,m);D[0]=w(E,D[0]),D[1]=w(j,D[1]),D[2]=w(B,D[2]),D[3]=w(M,D[3]),D[4]=w(k,D[4]),D[5]=w(q,D[5]),D[6]=w(te,D[6]),D[7]=w(H,D[7])}return D}var g=n("./helpers"),v=function(I,O){return I>>>O|I<<32-O},_=function(I,O){return I>>>O};i.exports=function(I){return g.hash(I,C,32,!0)}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(n,i,e){(function(t,r,o,s,a,f,u,p,S){e.read=function(w,C,g,v,x){var I,O,R=8*x-v-1,b=(1<<R)-1,D=b>>1,d=-7,m=g?x-1:0,l=g?-1:1,x=w[C+m];for(m+=l,I=x&(1<<-d)-1,x>>=-d,d+=R;0<d;I=256*I+w[C+m],m+=l,d-=8);for(O=I&(1<<-d)-1,I>>=-d,d+=v;0<d;O=256*O+w[C+m],m+=l,d-=8);if(I===0)I=1-D;else{if(I===b)return O?NaN:1/0*(x?-1:1);O+=Math.pow(2,v),I-=D}return(x?-1:1)*O*Math.pow(2,I-v)},e.write=function(w,C,g,v,_,E){var O,R,b=8*E-_-1,D=(1<<b)-1,d=D>>1,m=_===23?Math.pow(2,-24)-Math.pow(2,-77):0,l=v?0:E-1,x=v?1:-1,E=C<0||C===0&&1/C<0?1:0;for(C=Math.abs(C),isNaN(C)||C===1/0?(R=isNaN(C)?1:0,O=D):(O=Math.floor(Math.log(C)/Math.LN2),C*(v=Math.pow(2,-O))<1&&(O--,v*=2),2<=(C+=1<=O+d?m/v:m*Math.pow(2,1-d))*v&&(O++,v/=2),D<=O+d?(R=0,O=D):1<=O+d?(R=(C*v-1)*Math.pow(2,_),O+=d):(R=C*Math.pow(2,d-1)*Math.pow(2,_),O=0));8<=_;w[g+l]=255&R,l+=x,R/=256,_-=8);for(O=O<<_|R,b+=_;0<b;w[g+l]=255&O,l+=x,O/=256,b-=8);w[g+l-x]|=128*E}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/ieee754/index.js","/node_modules/gulp-browserify/node_modules/ieee754")},{buffer:3,lYpoI2:11}],11:[function(n,i,e){(function(t,r,o,s,a,f,u,p,S){var w,C,g;function v(){}(t=i.exports={}).nextTick=(C=typeof window<"u"&&window.setImmediate,g=typeof window<"u"&&window.postMessage&&window.addEventListener,C?function(_){return window.setImmediate(_)}:g?(w=[],window.addEventListener("message",function(_){var I=_.source;I!==window&&I!==null||_.data!=="process-tick"||(_.stopPropagation(),0<w.length&&w.shift()())},!0),function(_){w.push(_),window.postMessage("process-tick","*")}):function(_){setTimeout(_,0)}),t.title="browser",t.browser=!0,t.env={},t.argv=[],t.on=v,t.addListener=v,t.once=v,t.off=v,t.removeListener=v,t.removeAllListeners=v,t.emit=v,t.binding=function(_){throw new Error("process.binding is not supported")},t.cwd=function(){return"/"},t.chdir=function(_){throw new Error("process.chdir is not supported")}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/process/browser.js","/node_modules/gulp-browserify/node_modules/process")},{buffer:3,lYpoI2:11}]},{},[1])(1)})});var Je={};lr(Je,{__addDisposableResource:()=>Uo,__assign:()=>En,__asyncDelegator:()=>Ro,__asyncGenerator:()=>Po,__asyncValues:()=>Fo,__await:()=>ut,__awaiter:()=>Io,__classPrivateFieldGet:()=>jo,__classPrivateFieldIn:()=>Lo,__classPrivateFieldSet:()=>Mo,__createBinding:()=>An,__decorate:()=>xo,__disposeResources:()=>Vo,__esDecorate:()=>Ia,__exportStar:()=>Do,__extends:()=>wo,__generator:()=>_o,__importDefault:()=>Bo,__importStar:()=>ko,__makeTemplateObject:()=>To,__metadata:()=>Oo,__param:()=>So,__propKey:()=>Da,__read:()=>Vi,__rest:()=>vo,__runInitializers:()=>_a,__setFunctionName:()=>Ea,__spread:()=>Eo,__spreadArray:()=>Ao,__spreadArrays:()=>Co,__values:()=>Cn,default:()=>Pa});function wo(n,i){if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");Ui(n,i);function e(){this.constructor=n}n.prototype=i===null?Object.create(i):(e.prototype=i.prototype,new e)}function vo(n,i){var e={};for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&i.indexOf(t)<0&&(e[t]=n[t]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,t=Object.getOwnPropertySymbols(n);r<t.length;r++)i.indexOf(t[r])<0&&Object.prototype.propertyIsEnumerable.call(n,t[r])&&(e[t[r]]=n[t[r]]);return e}function xo(n,i,e,t){var r=arguments.length,o=r<3?i:t===null?t=Object.getOwnPropertyDescriptor(i,e):t,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,i,e,t);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(i,e,o):s(i,e))||o);return r>3&&o&&Object.defineProperty(i,e,o),o}function So(n,i){return function(e,t){i(e,t,n)}}function Ia(n,i,e,t,r,o){function s(I){if(I!==void 0&&typeof I!="function")throw new TypeError("Function expected");return I}for(var a=t.kind,f=a==="getter"?"get":a==="setter"?"set":"value",u=!i&&n?t.static?n:n.prototype:null,p=i||(u?Object.getOwnPropertyDescriptor(u,t.name):{}),S,w=!1,C=e.length-1;C>=0;C--){var g={};for(var v in t)g[v]=v==="access"?{}:t[v];for(var v in t.access)g.access[v]=t.access[v];g.addInitializer=function(I){if(w)throw new TypeError("Cannot add initializers after decoration has completed");o.push(s(I||null))};var _=(0,e[C])(a==="accessor"?{get:p.get,set:p.set}:p[f],g);if(a==="accessor"){if(_===void 0)continue;if(_===null||typeof _!="object")throw new TypeError("Object expected");(S=s(_.get))&&(p.get=S),(S=s(_.set))&&(p.set=S),(S=s(_.init))&&r.unshift(S)}else(S=s(_))&&(a==="field"?r.unshift(S):p[f]=S)}u&&Object.defineProperty(u,t.name,p),w=!0}function _a(n,i,e){for(var t=arguments.length>2,r=0;r<i.length;r++)e=t?i[r].call(n,e):i[r].call(n);return t?e:void 0}function Da(n){return typeof n=="symbol"?n:"".concat(n)}function Ea(n,i,e){return typeof i=="symbol"&&(i=i.description?"[".concat(i.description,"]"):""),Object.defineProperty(n,"name",{configurable:!0,value:e?"".concat(e," ",i):i})}function Oo(n,i){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,i)}function Io(n,i,e,t){function r(o){return o instanceof e?o:new e(function(s){s(o)})}return new(e||(e=Promise))(function(o,s){function a(p){try{u(t.next(p))}catch(S){s(S)}}function f(p){try{u(t.throw(p))}catch(S){s(S)}}function u(p){p.done?o(p.value):r(p.value).then(a,f)}u((t=t.apply(n,i||[])).next())})}function _o(n,i){var e={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},t,r,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(u){return function(p){return f([u,p])}}function f(u){if(t)throw new TypeError("Generator is already executing.");for(;s&&(s=0,u[0]&&(e=0)),e;)try{if(t=1,r&&(o=u[0]&2?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return e.label++,{value:u[1],done:!1};case 5:e.label++,r=u[1],u=[0];continue;case 7:u=e.ops.pop(),e.trys.pop();continue;default:if(o=e.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){e=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]<o[3])){e.label=u[1];break}if(u[0]===6&&e.label<o[1]){e.label=o[1],o=u;break}if(o&&e.label<o[2]){e.label=o[2],e.ops.push(u);break}o[2]&&e.ops.pop(),e.trys.pop();continue}u=i.call(n,e)}catch(p){u=[6,p],r=0}finally{t=o=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function Do(n,i){for(var e in n)e!=="default"&&!Object.prototype.hasOwnProperty.call(i,e)&&An(i,n,e)}function Cn(n){var i=typeof Symbol=="function"&&Symbol.iterator,e=i&&n[i],t=0;if(e)return e.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&t>=n.length&&(n=void 0),{value:n&&n[t++],done:!n}}};throw new TypeError(i?"Object is not iterable.":"Symbol.iterator is not defined.")}function Vi(n,i){var e=typeof Symbol=="function"&&n[Symbol.iterator];if(!e)return n;var t=e.call(n),r,o=[],s;try{for(;(i===void 0||i-- >0)&&!(r=t.next()).done;)o.push(r.value)}catch(a){s={error:a}}finally{try{r&&!r.done&&(e=t.return)&&e.call(t)}finally{if(s)throw s.error}}return o}function Eo(){for(var n=[],i=0;i<arguments.length;i++)n=n.concat(Vi(arguments[i]));return n}function Co(){for(var n=0,i=0,e=arguments.length;i<e;i++)n+=arguments[i].length;for(var t=Array(n),r=0,i=0;i<e;i++)for(var o=arguments[i],s=0,a=o.length;s<a;s++,r++)t[r]=o[s];return t}function Ao(n,i,e){if(e||arguments.length===2)for(var t=0,r=i.length,o;t<r;t++)(o||!(t in i))&&(o||(o=Array.prototype.slice.call(i,0,t)),o[t]=i[t]);return n.concat(o||Array.prototype.slice.call(i))}function ut(n){return this instanceof ut?(this.v=n,this):new ut(n)}function Po(n,i,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e.apply(n,i||[]),r,o=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(w){t[w]&&(r[w]=function(C){return new Promise(function(g,v){o.push([w,C,g,v])>1||a(w,C)})})}function a(w,C){try{f(t[w](C))}catch(g){S(o[0][3],g)}}function f(w){w.value instanceof ut?Promise.resolve(w.value.v).then(u,p):S(o[0][2],w)}function u(w){a("next",w)}function p(w){a("throw",w)}function S(w,C){w(C),o.shift(),o.length&&a(o[0][0],o[0][1])}}function Ro(n){var i,e;return i={},t("next"),t("throw",function(r){throw r}),t("return"),i[Symbol.iterator]=function(){return this},i;function t(r,o){i[r]=n[r]?function(s){return(e=!e)?{value:ut(n[r](s)),done:!1}:o?o(s):s}:o}}function Fo(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=n[Symbol.asyncIterator],e;return i?i.call(n):(n=typeof Cn=="function"?Cn(n):n[Symbol.iterator](),e={},t("next"),t("throw"),t("return"),e[Symbol.asyncIterator]=function(){return this},e);function t(o){e[o]=n[o]&&function(s){return new Promise(function(a,f){s=n[o](s),r(a,f,s.done,s.value)})}}function r(o,s,a,f){Promise.resolve(f).then(function(u){o({value:u,done:a})},s)}}function To(n,i){return Object.defineProperty?Object.defineProperty(n,"raw",{value:i}):n.raw=i,n}function ko(n){if(n&&n.__esModule)return n;var i={};if(n!=null)for(var e in n)e!=="default"&&Object.prototype.hasOwnProperty.call(n,e)&&An(i,n,e);return Ca(i,n),i}function Bo(n){return n&&n.__esModule?n:{default:n}}function jo(n,i,e,t){if(e==="a"&&!t)throw new TypeError("Private accessor was defined without a getter");if(typeof i=="function"?n!==i||!t:!i.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?t:e==="a"?t.call(n):t?t.value:i.get(n)}function Mo(n,i,e,t,r){if(t==="m")throw new TypeError("Private method is not writable");if(t==="a"&&!r)throw new TypeError("Private accessor was defined without a setter");if(typeof i=="function"?n!==i||!r:!i.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return t==="a"?r.call(n,e):r?r.value=e:i.set(n,e),e}function Lo(n,i){if(i===null||typeof i!="object"&&typeof i!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof n=="function"?i===n:n.has(i)}function Uo(n,i,e){if(i!=null){if(typeof i!="object"&&typeof i!="function")throw new TypeError("Object expected.");var t;if(e){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");t=i[Symbol.asyncDispose]}if(t===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");t=i[Symbol.dispose]}if(typeof t!="function")throw new TypeError("Object not disposable.");n.stack.push({value:i,dispose:t,async:e})}else e&&n.stack.push({async:!0});return i}function Vo(n){function i(t){n.error=n.hasError?new Aa(t,n.error,"An error was suppressed during disposal."):t,n.hasError=!0}function e(){for(;n.stack.length;){var t=n.stack.pop();try{var r=t.dispose&&t.dispose.call(t.value);if(t.async)return Promise.resolve(r).then(e,function(o){return i(o),e()})}catch(o){i(o)}}if(n.hasError)throw n.error}return e()}var Ui,En,An,Ca,Aa,Pa,Ge=as(()=>{Ui=function(n,i){return Ui=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},Ui(n,i)};En=function(){return En=Object.assign||function(i){for(var e,t=1,r=arguments.length;t<r;t++){e=arguments[t];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(i[o]=e[o])}return i},En.apply(this,arguments)};An=Object.create?function(n,i,e,t){t===void 0&&(t=e);var r=Object.getOwnPropertyDescriptor(i,e);(!r||("get"in r?!i.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return i[e]}}),Object.defineProperty(n,t,r)}:function(n,i,e,t){t===void 0&&(t=e),n[t]=i[e]};Ca=Object.create?function(n,i){Object.defineProperty(n,"default",{enumerable:!0,value:i})}:function(n,i){n.default=i};Aa=typeof SuppressedError=="function"?SuppressedError:function(n,i,e){var t=new Error(e);return t.name="SuppressedError",t.error=n,t.suppressed=i,t};Pa={__extends:wo,__assign:En,__rest:vo,__decorate:xo,__param:So,__metadata:Oo,__awaiter:Io,__generator:_o,__createBinding:An,__exportStar:Do,__values:Cn,__read:Vi,__spread:Eo,__spreadArrays:Co,__spreadArray:Ao,__await:ut,__asyncGenerator:Po,__asyncDelegator:Ro,__asyncValues:Fo,__makeTemplateObject:To,__importStar:ko,__importDefault:Bo,__classPrivateFieldGet:jo,__classPrivateFieldSet:Mo,__classPrivateFieldIn:Lo,__addDisposableResource:Uo,__disposeResources:Vo}});var No=oe(zo=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0})});var Ni=oe(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.invokeEventHandlersAsync=De.invokeEventHandlers=De.eventHandlerSafeInvokeAsync=De.eventHandlerSafeInvoke=void 0;var $o=(Ge(),Ze(Je));function Ko(n,i,e){try{return n(i,e),{succeeded:!0}}catch(t){return{error:t,succeeded:!1}}}De.eventHandlerSafeInvoke=Ko;function zi(n,i,e){return(0,$o.__awaiter)(this,void 0,void 0,function*(){try{return yield n(i,e),{succeeded:!0}}catch(t){return{error:t,succeeded:!1}}})}De.eventHandlerSafeInvokeAsync=zi;function Ra(n,i,e,t){for(let r of n){let{succeeded:o,error:s}=Ko(r,i,e);if(!o&&t?.swallowExceptions!==!0)throw s}}De.invokeEventHandlers=Ra;function Fa(n,i,e,t){return(0,$o.__awaiter)(this,void 0,void 0,function*(){if(t?.parallelize===!1)for(let r of n){let{succeeded:o,error:s}=yield zi(r,i,e);if(!o&&t?.swallowExceptions!==!0)throw s}else{let r=[];for(let o of n)r.push(zi(o,i,e).then(({succeeded:s,error:a})=>{if(!s&&t?.swallowExceptions!==!0)throw a}));yield Promise.all(r)}})}De.invokeEventHandlersAsync=Fa});var Wo=oe(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.TypedEvent=void 0;var Ta=(Ge(),Ze(Je)),qo=Ni(),Ho={swallowExceptions:!1,parallelize:!0},$i=class{constructor(){this._handlers=[]}attach(i){this._handlers.push(i)}detach(i){this.tryRemoveHandler(i)}invoke(i,e,t=Ho){(0,qo.invokeEventHandlers)(this._handlers,i,e,t)}invokeAsync(i,e,t=Ho){return(0,Ta.__awaiter)(this,void 0,void 0,function*(){yield(0,qo.invokeEventHandlersAsync)(this._handlers,i,e,t)})}tryRemoveHandler(i){let e=this._handlers.findIndex(t=>t===i);e>=0&&this._handlers.splice(e,1)}};Pn.TypedEvent=$i});var qi=oe(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});var ka=(Ge(),Ze(Je));(0,ka.__exportStar)(Wo(),Ki)});var Qo=oe(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.FinalizationRegistryMissingError=void 0;var Hi=class extends Error{};Rn.FinalizationRegistryMissingError=Hi});var Qi=oe(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.WeakHandlerHolder=void 0;var Ba=Qo(),Wi=class{constructor(i){this._refs=[];try{this._finalizationRegistry=new FinalizationRegistry(i)}catch(e){throw e.name==="FinalizationRegistry"?new Ba.FinalizationRegistryMissingError("FinalizationRegistry is not defined. Weak Events cannot be used. Please consult 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry' for compatibility information"):e}}getWeakHandler(i,e){let t=new WeakRef(e);return this._finalizationRegistry.register(e,{eventSource:i,handlerRef:t},t),this._refs.push(t),t}releaseWeakHandler(i){let t=this._refs.find(r=>r?.deref()===i)||new WeakRef(i);return this._finalizationRegistry.unregister(t),t}unregisterRef(i){this._finalizationRegistry.unregister(i)}};Fn.WeakHandlerHolder=Wi});var Jo=oe(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.WeakEvent=void 0;var Ji=(Ge(),Ze(Je)),ja=qi(),Ma=Qi(),Gi=Ni(),La={swallowExceptions:!1,parallelize:!0},Yi=class{constructor(){this._handlers=[],this._handlerFinalizedEvent=new ja.TypedEvent,this.handlerFinalizedEvent=this._handlerFinalizedEvent,this._refHolder=new Ma.WeakHandlerHolder(i=>{this.onHandlerFinalizer(i)})}invoke(i,e,t){for(let r of this._handlers){let o=r?.deref();if(o){let{succeeded:s,error:a}=(0,Gi.eventHandlerSafeInvoke)(o,i,e);if(!s&&t?.swallowExceptions!==!0)throw a}else this.releaseHandler(r)}}invokeAsync(i,e,t=La){return(0,Ji.__awaiter)(this,void 0,void 0,function*(){t?.parallelize===!1?yield this.sequentialInvokeAsync(i,e,t):yield this.parallelInvokeAsync(i,e,t)})}sequentialInvokeAsync(i,e,t){return(0,Ji.__awaiter)(this,void 0,void 0,function*(){for(let r of this._handlers){let o=r?.deref();if(o){let{succeeded:s,error:a}=yield(0,Gi.eventHandlerSafeInvokeAsync)(o,i,e);if(!s&&t.swallowExceptions!==!0)throw a}else this.releaseHandler(r)}})}parallelInvokeAsync(i,e,t){return(0,Ji.__awaiter)(this,void 0,void 0,function*(){let r=[];for(let o of this._handlers){let s=o?.deref();s?r.push((0,Gi.eventHandlerSafeInvokeAsync)(s,i,e).then(({succeeded:a,error:f})=>{if(!a&&t.swallowExceptions!==!0)throw f})):this.releaseHandler(o)}yield Promise.all(r)})}attach(i){this._handlers.push(this._refHolder.getWeakHandler(this,i))}detach(i){let e=this._refHolder.releaseWeakHandler(i);this.tryRemoveHandlerRef(e)}onHandlerFinalizer(i){this.tryRemoveHandlerRef(i?.handlerRef),this._handlerFinalizedEvent.invokeAsync(this,i,{swallowExceptions:!0})}tryRemoveHandlerRef(i){let e=this._handlers.findIndex(t=>t===i);e>=0&&this._handlers.splice(e,1)}releaseHandler(i){this._refHolder.unregisterRef(i),this.tryRemoveHandlerRef(i)}};Tn.WeakEvent=Yi});var Yo=oe(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});var Go=(Ge(),Ze(Je));(0,Go.__exportStar)(Qi(),kn);(0,Go.__exportStar)(Jo(),kn)});var Xo=oe(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});var Xi=(Ge(),Ze(Je));(0,Xi.__exportStar)(No(),Ft);(0,Xi.__exportStar)(qi(),Ft);(0,Xi.__exportStar)(Yo(),Ft)});var rr={};lr(rr,{Client:()=>Ye,ClientDescriptor:()=>ei,Entity:()=>he,EntityFile:()=>fe,MigrationPathError:()=>at,ServerSync:()=>ft,Storage:()=>Ye,StorageDescriptor:()=>ei,UndoHistory:()=>Qe,authorization:()=>Xa,collection:()=>Ci,createDefaultMigration:()=>Ai,createMigration:()=>Pi,id:()=>Ya,migrate:()=>sn,schema:()=>It});var Dr=Ve(et(),1),Kt=4,gt=36;function Sr(n){return n.toString(gt).padStart(Kt,"0")}function ps(n){return n.toString().padStart(6,"0")}var Vt=class{constructor(){this.latest={time:Date.now(),counter:0,node:ms()},this.zeroCounter=0,this.now=i=>(this.latest=Ir(this.latest),this.get(i,this.latest)),this.OLD_now=i=>(this.latest=Ir(this.latest),ps(i)+ys(this.latest)),this.timerState=()=>this.latest,this.update=i=>{let e=i.slice(Kt);this.latest=gs(this.latest,Er(e))},this.get=(i,e)=>Sr(i)+Or(e),this.zero=i=>Sr(i)+Or({time:0,counter:this.zeroCounter++,node:this.latest.node}),this.getWallClockTime=ui}},zt=class extends Error{constructor(...i){super(),this.type="ClockDriftError",this.message=["maximum clock drift exceeded"].concat(i).join(" ")}},Nt=class extends Error{constructor(){super(),this.type="OverflowError",this.message="timestamp counter overflow"}},ai=4,ci=7,$t=60*1e3,mt=9;function ms(){return Dr.default.slug().padStart(ci,"0").slice(0,ci)}function Or(n){let i=new Date(n.time).getTime().toString(gt).padStart(mt,"0"),e=n.counter.toString(gt).padStart(ai,"0"),t=n.node.padStart(ci,"0");return`${i}${e}${t}`}function Ir(n){let i=Date.now(),e=Math.max(n.time,i),t=n.time===e?n.counter+1:0;if(e-i>$t)throw new zt(e,i,$t);if(t>65535)throw new Nt;return{time:e,counter:t,node:n.node}}function gs(n,i){let e=Date.now(),t=Math.max(e,Math.max(n.time,i.time)),r=Math.max(n.counter,i.counter),o;if(n.time===t&&i.time===t?o=r+1:n.time===t?o=n.counter+1:i.time===t?o=i.counter+1:o=0,t-e>$t)throw new zt(t,e,$t);if(o>65535)throw new Nt;return{time:t,counter:o,node:n.node}}function Er(n){let i=n.slice(0,mt),e=n.slice(mt,mt+ai),t=n.slice(mt+ai),r=parseInt(i,gt),o=parseInt(e,gt);if(isNaN(r)||isNaN(o))throw new Error("invalid clock format");return{time:r,counter:o,node:t}}function ys(n){let i=new Date(n.time).toISOString(),e=n.counter.toString(16).toUpperCase().padStart(4,"0"),t=n.node.padStart(16,"0");return`${i}-${e}-${t}`}function _r(n){return parseInt(n.slice(0,Kt),36)}function li(n,i){return _r(n)-_r(i)}function ui(n){return Er(n.slice(Kt)).time}var qt,bs=new Uint8Array(16);function di(){if(!qt&&(qt=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!qt))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return qt(bs)}var Cr=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function ws(n){return typeof n=="string"&&Cr.test(n)}var Ar=ws;var ee=[];for(Ht=0;Ht<256;++Ht)ee.push((Ht+256).toString(16).substr(1));var Ht;function vs(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,e=(ee[n[i+0]]+ee[n[i+1]]+ee[n[i+2]]+ee[n[i+3]]+"-"+ee[n[i+4]]+ee[n[i+5]]+"-"+ee[n[i+6]]+ee[n[i+7]]+"-"+ee[n[i+8]]+ee[n[i+9]]+"-"+ee[n[i+10]]+ee[n[i+11]]+ee[n[i+12]]+ee[n[i+13]]+ee[n[i+14]]+ee[n[i+15]]).toLowerCase();if(!Ar(e))throw TypeError("Stringified UUID is invalid");return e}var Pr=vs;function xs(n,i,e){n=n||{};var t=n.random||(n.rng||di)();if(t[6]=t[6]&15|64,t[8]=t[8]&63|128,i){e=e||0;for(var r=0;r<16;++r)i[e+r]=t[r];return i}return Pr(t)}var yt=xs;function Q(n){return Oe(n)||we(n)}function tt(n,i){return n===i?!0:!(!Q(n)||!Q(i)||n["@@type"]!==i["@@type"]||n.id!==i.id)}var Ss="/",bt=":",hi=new WeakMap;function ne(n){let i=me(n);return L(!!i,`Object ${JSON.stringify(n)} does not have an OID assigned to it`),i}function me(n){if(V(n))return hi.get(n)}function N(n,i){return L(V(n),`Only objects can be assigned OIDs, received ${JSON.stringify(n)}`),pi(n)&&Jt(n),hi.set(n,i),n}function pi(n){return!!me(n)}function Jt(n){return hi.delete(n),n}function mi(n,i,e){if(pi(n))return ne(n);{let t=ve(i,e);return N(n,t),t}}function Rr(n,i,e){if(pi(n)){let t=ne(n);if(Ce(t,i))return ne(n);{let r=ve(i,e);return N(n,r),r}}else{let t=ve(i,e);return N(n,t),t}}var fi={".":"&dot;","/":"&slash;",":":"&colon;"};function Fr(n){return n.replace(/[/]/g,fi["/"]).replace(/[:]/g,fi[":"]).replace(/[.]/g,fi["."])}function Tr(n){return n.replace(/&slash;/g,"/").replace(/&colon;/g,":").replace(/&dot;/g,".")}function Y(n,i,e){let t=Fr(n)+Ss+Fr(i);return e&&(t+=bt+e),t}function ve(n,i=Os){let{collection:e,id:t}=ce(n);return Y(e,t,i())}function ce(n){let[i,e,...t]=n.split("/");t.length&&(console.error(`OID ${n} has more than 3 segments. Attempting to parse it anyway.`),e+="/"+t.join("/"));let[r,o]=e.split(bt),s;return r.includes(".")?s=r.slice(0,r.indexOf(".")):s=r,{collection:Tr(i),id:Tr(s),subId:o}}function nt(n,i){let e=ne(n);if(Array.isArray(n)){let t;for(let r=0;r<n.length;r++)t=n[r],V(t)&&!Q(t)&&(Rr(t,e,i),nt(t,i))}else if(V(n)&&!Q(n))for(let t of Object.keys(n))V(n[t])&&!Q(n[t])&&(Rr(n[t],e,i),nt(n[t],i))}function Wt(n){if(Jt(n),Array.isArray(n))for(let i=0;i<n.length;i++)Wt(n[i]);else if(V(n))for(let i of Object.keys(n))Wt(n[i])}function Os(){return yt().slice(0,8)}function ae(n){return{"@@type":"ref",id:n}}function Qt(n,i=new Map){if(Array.isArray(n)){let e=ne(n),t=N([],e);for(let r=0;r<n.length;r++){let o=n[r];if(V(o)){if(Oe(o))throw new Error("An attempt was made to normalize an already normalized object! This is an error in verdant itself.");if(we(o)){t[r]=o;continue}else{let s=ne(o);t[r]=ae(s),Qt(o,i)}}else t[r]=o}i.set(e,t)}else if(V(n)&&!Q(n)){let e=ne(n),t=N({},e);for(let r of Object.keys(n)){let o=n[r];if(V(o)){if(Oe(o))throw new Error("An attempt was made to normalize an already normalized object! This is an error in verdant itself.");if(we(o))t[r]=o;else{let s=ne(o);t[r]=ae(s),Qt(o,i)}}else t[r]=o}i.set(e,t)}else Q(n);return i}function $(n){return n.split(".")[0].split(bt)[0]}function gi(n){let i=$(n),e=ve(i,()=>"\uFFFF");return[`${i}${bt}`,e]}function Ce(n,i){return $(n)===$(i)}function Gt(n){return!n.includes(bt)}var Mr=Ve(jr(),1);function Is(n,i){return typeof i!="object"||i===null||Array.isArray(i)?i:Object.fromEntries(Object.entries(i).sort(([e],[t])=>e<t?-1:e>t?1:0))}function wt(n){return JSON.stringify(n,Is)}function le(n,i=!0){if(V(n)||Array.isArray(n)){let e=me(n),t;if(Array.isArray(n))t=n.map(r=>le(r,i));else{t={};for(let[r,o]of Object.entries(n))t[r]=le(o,i)}return i&&e&&N(t,e),t}return n}function ke(n){return(0,Mr.default)(n)}function V(n){return n&&typeof n=="object"}function Lr(n){for(var i=[],e=[n],t=0;e.length;){var r=e.pop();if(typeof r=="boolean")t+=4;else if(typeof r=="string")t+=r.length*2;else if(typeof r=="number")t+=8;else if(typeof r=="object"&&i.indexOf(r)===-1){i.push(r);for(var o in r)e.push(r[o])}}return t}function L(n,i="assertion failed"){if(!n)throw new Error(i)}function Yt(n=16){return yt().replace("-","").slice(0,n)}function Ur(n,i){for(let e=n.length-1;e>=0;e--)if(i(n[e]))return e;return-1}function Vr(n,i){let e;return function(...t){let r=this;clearTimeout(e),e=setTimeout(()=>n.apply(r,t),i)}}function zr(n,i){let e=0,t;return function(...r){let o=this,s=Date.now();s-e>=i?(e=s,n.apply(o,r),clearTimeout(t)):(clearTimeout(t),t=setTimeout(()=>{e=s,n.apply(o,r)},i))}}function we(n){return n&&n["@@type"]==="file"}function vt(n){return{"@@type":"file",id:n}}function it(n){return typeof File<"u"&&n instanceof File||typeof Blob<"u"&&n instanceof Blob}function Xt(n){return n&&V(n)&&typeof n.id=="string"&&typeof n.remote=="boolean"&&typeof n.name=="string"&&typeof n.type=="string"}var rt="__@@oid_do_not_use",Ae="@@id";function _s(n){if(V(n))return n[Ae]||n[rt]}function Ds(n){return V(n)&&(delete n[rt],delete n[Ae]),n}function Es(n){let i=_s(n);i&&N(n,i)}function xt(n){if(Es(n),Ds(n),Array.isArray(n))for(let i=0;i<n.length;i++)xt(n[i]);else if(V(n))for(let i of Object.keys(n))xt(n[i])}function Cs(n){let{collection:i,id:e,subId:t}=ce(n);return Y(i,e,t)}var As=/"\w+\/[^"]+?(\.[^"]+)+\:[\S]+?"/g;function Ps(n){return n.replaceAll(As,i=>{let e=i.slice(1,i.length-1);return`"${Cs(e)}"`})}function yi(n){return JSON.parse(Ps(JSON.stringify(n)))}function bi(n){let i=$(n);return[`${i}.`,`${i}.\uFFFF`]}function wi(n){return n===Ae||n===rt}function Oe(n){return n&&typeof n=="object"&&n["@@type"]==="ref"}function vi(n){return V(n)&&!Q(n)}function Rs(n,i){return n===i?!0:Q(n)&&Q(i)?tt(n,i):!1}function St(n,i,e,t,r=[],o){let s=o?.authz,a=ne(n);function f(u,p,S,w){if(!vi(p))Rs(p,S)||(w?r.push(je({oid:a,timestamp:e(),data:{op:"list-set",index:u,value:p}},s)):r.push(je({oid:a,timestamp:e(),data:{op:"set",name:u,value:p}},s)));else{let C=me(S),g=me(p);g&&!Ce(a,g)?(p=le(p,!1),g=ve(a,t),N(p,g)):o?.mergeUnknownObjects?!g&&C?(N(p,C),g=C):g=mi(p,a,t):g=mi(p,a,t),L(!!g,"Error: no value OID was resolved during diff. This is a bug in Verdant."),L(Ce(a,g),`Error: value OID ${g} is not related to parent OID ${a}. This is a bug in Verdant.`),S===void 0||g!==C?(Pe(p,g,e,t,r),r.push(je({oid:a,timestamp:e(),data:{op:"set",name:u,value:ae(g)}},s)),C!==void 0&&r.push(je({oid:C,timestamp:e(),data:{op:"delete"}},s))):St(S,p,e,t,r,o)}}if(Array.isArray(n)&&Array.isArray(i)){for(let p=0;p<i.length;p++){let S=i[p],w=n[p];f(p,S,w,!0)}let u=n.length-i.length;if(u>0){for(let p=i.length;p<n.length;p++){let S=n[p],w=me(S);w&&r.push(je({oid:w,timestamp:e(),data:{op:"delete"}},s))}r.push(je({oid:a,timestamp:e(),data:{op:"list-delete",index:i.length,count:u}},s))}}else{if(Array.isArray(n)||Array.isArray(i))throw new Error("Cannot diff an array with an object");if(vi(n)&&vi(i)){let u=new Set(Object.keys(n));for(let[p,S]of Object.entries(i)){if(S===void 0&&o?.defaultUndefined||(u.delete(p),wi(p)))continue;let w=n[p];f(p,S,w,!1)}if(!o?.defaultUndefined)for(let p of u)wi(p)||r.push(je({oid:a,timestamp:e(),data:{op:"remove",name:p}},s))}}return r}function Pe(n,i,e,t,r=[],o){N(n,i),nt(n,t);let s=Qt(n);for(let a of s.keys()){let f=s.get(a),u={oid:a,timestamp:e(),data:{op:"initialize",value:Jt(f)}};r.push(je(u,o?.authz))}return r}function je(n,i){return i&&(n.authz=i),n}function Ot(n){let i={};for(let e of n)e.oid in i?i[e.oid].push(e):i[e.oid]=[e];return i}function $r(n){let i={};for(let e of n){let t=$(e.oid);t in i?i[t].push(e):i[t]=[e]}return i}function Kr(n){let i={};for(let e of n){let t=$(e.oid);t in i?i[t].push(e):i[t]=[e]}return i}function Be(n){return Array.isArray(n)?!0:(console.error(`Cannot apply list patch; expected array, received ${JSON.stringify(n)}. This suggests your data is changing from a list to an object over time. (OID: ${me(n)})`),!1)}function ze(n,i,e){if(n==null&&i.op!=="initialize")return n;let t=n,r,o;function s(a){e&&Q(a)&&e.push(a)}switch(i.op){case"set":s(t[i.name]),t[i.name]=i.value;break;case"remove":s(t[i.name]),delete t[i.name];break;case"list-set":Be(n)&&(s(n[i.index]),n[i.index]=i.value);break;case"list-push":Be(n)&&n.push(i.value);break;case"list-delete":Be(n)&&(s(n[i.index]),n.splice(i.index,i.count));break;case"list-move-by-index":Be(n)&&(o=n.splice(i.from,1),n.splice(i.to,0,o[0]));break;case"list-remove":if(Be(n))do{let a=i.value;i.only==="last"?Oe(a)?r=Ur(n,f=>f.id===a.id):r=n.lastIndexOf(a):Oe(a)?r=n.findIndex(f=>f.id===a.id):r=n.indexOf(a),r!==-1&&(s(n[r]),n.splice(r,1))}while(!i.only&&r!==-1);break;case"list-add":Be(n)&&(n.some(f=>Oe(f)&&Oe(i.value)?f.id===i.value.id:f===i.value)||n.push(i.value));break;case"list-move-by-ref":Be(n)&&(r=n.findIndex(a=>tt(a,i.value)),o=n.splice(r,1),n.splice(i.index,0,o[0]));break;case"list-insert":if(Be(n)){if(!i.value&&!i.values)throw new Error(`Cannot apply list insert patch; expected value or values, received ${JSON.stringify(i)}`);i.value?n.splice(i.index,0,i.value):n.splice(i.index,0,...i.values)}break;case"delete":Array.isArray(n)?n.forEach(s):V(n)&&Object.values(n||{}).forEach(s);return;case"initialize":return le(i.value);case"touch":return n;default:throw new Error(`Unsupported patch operation: ${i.op}`)}return n}function Zt(n,i,e=[]){if(Array.isArray(n))for(let t=0;t<n.length;t++){let r=n[t];n[t]=Nr(r,i,e),V(n[t])&&Zt(n[t],i,e)}else if(!we(n)){if(V(n)){L(me(n),`Object ${JSON.stringify(n)} must have an oid`);for(let t of Object.keys(n))n[t]=Nr(n[t],i,e),V(n[t])&&Zt(n[t],i,e)}}return e}function Nr(n,i,e){if(Oe(n)){e.push(n.id);let t=i.get(n.id);return L(!!t,`No value was found in object map for ${n.id}`),N(t,n.id)}else return n}function qr(n){return n.data.op==="set"?n.data.name:!1}function Hr(n,i){return i.has(!0)?!0:n.data.op==="set"||n.data.op==="remove"?i.has(n.data.name):!1}function en(n){return{oid:n.oid,timestamp:n.timestamp,data:n.data,authz:n.authz}}var Me;(function(n){n[n.Realtime=0]="Realtime",n[n.Push=1]="Push",n[n.PassiveRealtime=2]="PassiveRealtime",n[n.PassivePush=3]="PassivePush",n[n.ReadOnlyPull=4]="ReadOnlyPull",n[n.ReadOnlyRealtime=5]="ReadOnlyRealtime"})(Me||(Me={}));var Fs=n=>Object.assign({type:"object"},n),Ts=n=>Object.assign({type:"array"},n),ks=n=>Object.assign({type:"string"},n),Bs=n=>Object.assign({type:"number"},n),js=n=>Object.assign({type:"boolean"},n),Ms=n=>Object.assign({type:"any"},n),Ls=n=>Object.assign({type:"map"},n),Us=n=>Object.assign({type:"file"},n),Wr={object:Fs,array:Ts,string:ks,number:Bs,boolean:js,any:Ms,map:Ls,file:Us};var Yr=Ve(et(),1);function xi(n){return n.equals!==void 0}function Si(n){return n.gte!==void 0||n.lte!==void 0||n.gt!==void 0||n.lt!==void 0}function Vs(n){return!!n.match}function Oi(n){return n.startsWith!==void 0}function Qr(n){return!Si(n)&&!xi(n)&&!Vs(n)&&!Oi(n)&&n.order}function xe(n){return n.type==="any"?!0:n.type==="map"?!1:n.nullable}function Re(n){return n?n.type==="map"||n.type==="array"?!0:n.type==="file"?!1:n.default!==void 0:!1}function _i(n){if(!(!n||!Re(n)))return n.type==="file"?xe(n)?null:void 0:n.type==="map"?{}:n.type==="array"?xe(n)?null:[]:n.type==="object"?xe(n)?null:void 0:typeof n.default=="function"?n.default():n.default}function Fe(n,i){for(let[e,t]of Object.entries(n.fields)){let r=Di(t);(r!==void 0&&i[e]===void 0||!xe(t)&&i[e]===null)&&(i[e]=r),i[e]&&Ne(i[e],t)}return i}function Ne(n,i){if(n==null)return n;if(i.type==="object")for(let[e,t]of Object.entries(i.properties)){if(n[e]===void 0){let r=Di(t);r!==void 0&&(n[e]=r)}Ne(n[e],t)}else if(i.type==="array")for(let e of n)Ne(e,i.items);else if(i.type==="map")for(let[e,t]of Object.entries(n))e===Ae||e===rt||Ne(t,i.values)}function Di(n){if(n.type==="string"||n.type==="number"||n.type==="boolean"||n.type==="any"){if(n.default&&typeof n.default=="function")return n.default();if(n.default!==void 0)return JSON.parse(JSON.stringify(n.default))}if(n.type==="array")return[];if(n.type==="map")return{};if(n.type!=="any"&&n.nullable)return null;if(n.type==="object"&&n.default){let i=typeof n.default=="function"?n.default():JSON.parse(JSON.stringify(n.default));for(let[e,t]of Object.entries(n.properties))i[e]===void 0&&(i[e]=Di(t));return i}}function Ei(n,i){for(let[e,t]of Object.entries(i))e===Ae||e===rt||(n.fields[e]?Ii(t,n.fields[e]):delete i[e]);return i}function Ii(n,i){if(V(n)&&i.type==="object")for(let[e,t]of Object.entries(n))i.properties[e]?Ii(t,i.properties[e]):delete n[e];else if(Array.isArray(n)&&i.type==="array")for(let e of n)Ii(e,i.items)}function Jr(n,i){for(let[e,t]of Object.entries(i))if(e!==Ae){if(!n[e])return{type:"invalid-key",fieldPath:[e],message:`Invalid field "${e}"`};if(t){let r=Te({field:n[e],value:t,fieldPath:[e]});if(r)return r}}}function Te({field:n,value:i,fieldPath:e=[],depth:t,requireDefaults:r}){if(!(t!==void 0&&t<=0)&&!(xe(n)&&i===null)){if(i===null&&(r||!Re(n)))return{type:"no-default",fieldPath:e,message:`Invalid null value for field ${Ie(e)}`};if(n.type==="object"){if(!V(i))return{type:"invalid-type",fieldPath:e,message:`Expected object ${n.nullable?"or null ":""}for field ${Ie(e)}, got ${i}`};for(let[o,s]of Object.entries(n.properties))o!==Ae&&i[o]&&Te({field:s,value:i[o],fieldPath:[...e,o],depth:t!==void 0?t-1:void 0});for(let o of Object.keys(i))if(!n.properties[o])return{type:"invalid-key",fieldPath:[...e,o],message:`Invalid unexpected field "${o}" on value ${Ie(e)}`}}else if(n.type==="array"){if(!Array.isArray(i))return i===null&&n.nullable?void 0:{type:"invalid-value",fieldPath:e,message:`Expected array ${n.nullable?"or null ":""}for field ${Ie(e)}, got ${i}`};for(let o of i)Te({field:n.items,value:o,fieldPath:[...e,"[]"],depth:t!==void 0?t-1:void 0})}else if(n.type==="map"){if(!V(i))return{type:"invalid-type",fieldPath:e,message:`Expected map for field ${Ie(e)}, got ${i}`};for(let[o,s]of Object.entries(i))Te({field:n.values,value:s,fieldPath:[...e,o],depth:t!==void 0?t-1:void 0})}else if(n.type==="string"){if(typeof i!="string")return{type:"invalid-type",fieldPath:e,message:`Expected string ${n.nullable?"or null ":""}for field ${Ie(e)}, got ${i}`};if(n.options&&!n.options.includes(i))return{type:"invalid-value",fieldPath:e,message:`Expected one of ${n.options.join(", ")} for field ${Ie(e)}, got ${i}`}}else if(n.type==="boolean"){if(typeof i!="boolean")return{type:"invalid-type",fieldPath:e,message:`Expected boolean ${n.nullable?"or null ":""}for field ${Ie(e)}, got ${i}`}}else if(n.type==="number"){if(typeof i!="number")return{type:"invalid-type",fieldPath:e,message:`Expected number ${n.nullable?"or null ":""}for field ${Ie(e)}, got ${i}`}}else if(n.type==="file"&&!it(i)&&!Xt(i))return{type:"invalid-type",fieldPath:e,message:`Expected file ${n.nullable?"or null ":""}for field ${Ie(e)}, got ${i}`}}}function Ie(n){return n.length===0?"root":n.join(".")}function Gr(n,i){let e={};for(let[t,r]of Object.entries(i))n[t]&&(e[t]=tn({field:n[t],value:r,fieldPath:[t]}));return e}function tn({field:n,value:i,fieldPath:e=[],depth:t}){let r=Te({field:n,value:i,fieldPath:e,depth:t,requireDefaults:!0});if(r)throw new Error(`Validation error: ${r.message}`);if(n.type==="object"){if(!V(i))return i;let o={};for(let[s,a]of Object.entries(n.properties))o[s]=tn({field:a,value:i[s],fieldPath:[...e,s],depth:t!==void 0?t-1:void 0});return o}else{if(n.type==="array")return Array.isArray(i)?i.map(o=>tn({field:n.items,value:o,fieldPath:[...e,"[]"],depth:t!==void 0?t-1:void 0})):i;if(n.type==="map"){if(!V(i))return i;let o={};for(let[s,a]of Object.entries(i))o[s]=tn({field:n.values,value:a,fieldPath:[...e,s],depth:t!==void 0?t-1:void 0});return o}else return i}}function $e(n,i){var e;return n.type==="object"?n.properties[i]:n.type==="array"?n.items:n.type==="map"?n.values:n.type==="any"?n:"type"in n?null:(e=n[i])!==null&&e!==void 0?e:null}var zs=function(n,i){var e={};for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&i.indexOf(t)<0&&(e[t]=n[t]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,t=Object.getOwnPropertySymbols(n);r<t.length;r++)i.indexOf(t[r])<0&&Object.prototype.propertyIsEnumerable.call(n,t[r])&&(e[t[r]]=n[t[r]]);return e};function Ci(n){var{synthetics:i,indexes:e}=n,t=zs(n,["synthetics","indexes"]);let r=Object.assign(Object.assign({},i),e);for(let[o,s]of Object.entries(t.fields))"indexed"in s&&(r[o]={field:o});return Object.assign(Object.assign({},t),{indexes:r})}function It(n){return n}It.collection=Ci;It.fields=Wr;It.generated={id:Yr.default};var nn="\uFFFFFE",Ns="\0",$s="\uFFFFFF";function ue(...n){let i=Ks(n);return i.length===1?i[0]:i}function Ke(...n){return n.join(nn)+`${$s}`}function qe(...n){return n.join(nn)+`${nn}${Ns}`}function Ks(n){let i=[[]];for(let e of n)if(Array.isArray(e)){let t=[];for(let r of i)for(let o of e)t.push(r.concat(o));i=t}else for(let t of i)t.push(`${e}`);return Array.from(new Set(i.map(e=>e.join(nn))))}function qs(n){return!!n.field}function Hs(n,i){let e={};for(let[t,r]of Object.entries(n.indexes||{})){let o=r;qs(o)?e[t]=Se(i[o.field]):e[t]=Se(o.compute(i))}return e}function Ws(n,i){return Object.entries(n.compounds||{}).reduce((e,[t,r])=>(e[t]=ue(...r.of.map(o=>i[o])),e),{})}function Qs(n,i){return Object.entries(n.fields).reduce((e,[t,r])=>("indexed"in r&&(e[t]=Se(i[t])),e),{})}function rn(n,i){let e=Object.assign(Object.assign({[n.primaryKey]:i[n.primaryKey]},Qs(n,i)),Hs(n,i));return Object.assign(e,Ws(n,Object.assign(Object.assign({},i),e))),e["@@@snapshot"]=JSON.stringify(i),e}var Js="null";function Se(n){if(n===null)return Js;if(typeof n=="string"||typeof n=="number")return n;if(typeof n=="boolean"||n===null)return`${n}`;if(n===void 0)return"undefined";if(Array.isArray(n))return n.map(Se);throw new Error(`Unsupported index value: ${n}`)}var Xr={version:0,collections:{}};function sn(n,i,e){let t=typeof i=="function",r=t?Xr:n,o=t?n:i,s=t?i:e,a=Object.keys(o.collections).filter(v=>r.collections[v]&&wt(r.collections[v])!==wt(o.collections[v])),f=Object.keys(r.collections).filter(v=>!o.collections[v]),u=Object.keys(o.collections).filter(v=>!r.collections[v]),p=new Set;for(let v of a){let _=r.collections[v].fields,I=o.collections[v].fields;Object.keys(I).some(O=>{var R,b;return!(!((R=_[O])===null||R===void 0)&&R.default)&&((b=I[O])===null||b===void 0?void 0:b.default)})&&p.add(v),Object.keys(_).some(O=>!I[O])&&p.add(v)}let S={},w={};for(let v of[...a,...u]){let _=on(r.collections[v]),I=on(o.collections[v]),O=I.filter(b=>!_.find(D=>D.name===b.name)),R=_.filter(b=>!I.find(D=>D.name===b.name));O.length>0&&(S[v]=O,a.includes(v)&&p.add(v)),R.length>0&&(w[v]=R,a.includes(v)&&p.add(v))}let C=(v,_)=>Fe(o.collections[v],_),g=v=>_=>{let I=o.collections[v];return Fe(I,Ei(I,_))};return{version:o.version,migrate:async v=>{let _=[];if(await s({migrate:async(I,O)=>{let R=g(I),b=async D=>{let d=await O(D);return N(d,ne(D)),R(d)};await v.migrate(I,b),_.push(I),p.delete(I)},identity:I=>I,withDefaults:C,info:{changedCollections:a,addedCollections:u,removedCollections:f},queries:v.queries,mutations:v.mutations}),o.version>1){v.log("debug","auto-migrating collections with new defaults",p);for(let O of p)await v.migrate(O,g(O)),_.push(O);let I=a.filter(O=>!_.includes(O));I.length>0&&console.error(`Unmigrated changed collections from version ${r.version} to version ${o.version}:`,I)}},removedCollections:f,addedIndexes:S,removedIndexes:w,allCollections:Object.keys(o.collections),changedCollections:a,addedCollections:u,oldCollections:Object.keys(r.collections),oldSchema:r,newSchema:o}}function on(n){return n?[...Object.keys(n.indexes||{}).map(i=>({name:i,multiEntry:["array","string[]","number[]","boolean[]"].includes(n.indexes[i].type),synthetic:!0,compound:!1})),...Object.keys(n.compounds||{}).map(i=>({name:i,multiEntry:n.compounds[i].of.some(e=>(n.fields[e]||n.indexes[e]).type==="array"),synthetic:!1,compound:!0}))]:[]}function Ai(n,i){return sn(i?n:{version:0,collections:{}},i||n,async({migrate:t,info:r})=>{if((i||n).version!==1)for(let o of r.changedCollections)await t(o,s=>s)})}function Pi(n,i,e){let t=typeof i=="function"||i===void 0,r=t?Xr:n,o=t?n:i,s=t?i:e;L(r,"Invalid arguments to createMigration"),L(o,"Invalid arguments to createMigration");let{changedCollections:a,addedCollections:f,removedCollections:u,addedIndexes:p,removedIndexes:S,autoMigratedCollections:w,autoMigration:C}=Gs(r,o);return{version:o.version,migrate:async g=>{let v=[];if(await s?.({migrate:async(I,O)=>{let R=C(I),b=async D=>{let d=await O(D);N(d,ne(D));let m=R(d),l=Jr(o.collections[I].fields,m);return m};await g.migrate(I,b),v.push(I),w.delete(I)},info:{changedCollections:a,addedCollections:f,removedCollections:u},queries:g.queries,mutations:g.mutations}),o.version>1){g.log("debug","auto-migrating collections with new defaults",w);for(let O of w)await g.migrate(O,C(O)),v.push(O);for(let O of u)await g.deleteCollection(O);let I=a.filter(O=>!v.includes(O));I.length>0&&console.error(`Unmigrated changed collections from version ${r.version} to version ${o.version}:`,I)}},removedCollections:u,addedIndexes:p,removedIndexes:S,allCollections:Object.keys(o.collections),changedCollections:a,addedCollections:f,oldCollections:Object.keys(r.collections),oldSchema:r,newSchema:o}}function Gs(n,i){let e=Object.keys(i.collections).filter(p=>n.collections[p]&&wt(n.collections[p])!==wt(i.collections[p])),t=Object.keys(n.collections).filter(p=>!i.collections[p]),r=Object.keys(i.collections).filter(p=>!n.collections[p]),o=new Set;for(let p of e){let S=n.collections[p].fields,w=i.collections[p].fields;Object.keys(w).some(C=>!Re(S[C])&&Re(w[C]))&&o.add(p),Object.keys(S).some(C=>!w[C])&&o.add(p)}let s={},a={};for(let p of[...e,...r]){let S=on(n.collections[p]),w=on(i.collections[p]),C=w.filter(v=>!S.find(_=>_.name===v.name)),g=S.filter(v=>!w.find(_=>_.name===v.name));C.length>0&&(s[p]=C,e.includes(p)&&o.add(p)),g.length>0&&(a[p]=g,e.includes(p)&&o.add(p))}return{changedCollections:e,addedCollections:r,removedCollections:t,addedIndexes:s,removedIndexes:a,autoMigratedCollections:o,withDefaults:(p,S)=>Fe(i.collections[p],S),autoMigration:p=>S=>{let w=i.collections[p];return Fe(w,Ei(w,S))}}}var an=class{constructor(i,e){this.getNow=i,this.createSubId=e,this.isPrimitive=t=>!V(t)||Q(t),this.createDiff=(t,r,o={})=>St(t,r,this.getNow,this.createSubId,[],o),this.createInitialize=(t,r)=>Pe(t,r,this.getNow,this.createSubId),this.createSet=(t,r,o)=>{if(this.isPrimitive(o))return[{oid:t,timestamp:this.getNow(),data:{op:"set",name:r,value:o}}];{let s=ve(t,this.createSubId);return[...Pe(o,s,this.getNow),{oid:t,timestamp:this.getNow(),data:{op:"set",value:ae(s),name:r}}]}},this.createRemove=(t,r)=>[{oid:t,timestamp:this.getNow(),data:{op:"remove",name:r}}],this.createListSet=(t,r,o)=>{if(this.isPrimitive(o))return[{oid:t,timestamp:this.getNow(),data:{op:"list-set",index:r,value:o}}];{let s=ve(t,this.createSubId);return[...Pe(o,s,this.getNow),{oid:t,timestamp:this.getNow(),data:{op:"list-set",index:r,value:ae(s)}}]}},this.createListPush=(t,r)=>{if(this.isPrimitive(r))return[{oid:t,timestamp:this.getNow(),data:{op:"list-push",value:r}}];{let o=ve(t,this.createSubId);return[...Pe(r,o,this.getNow),{oid:t,timestamp:this.getNow(),data:{op:"list-push",value:ae(o)}}]}},this.createListAdd=(t,r)=>this.isPrimitive(r)?[{oid:t,timestamp:this.getNow(),data:{op:"list-add",value:r}}]:[{oid:t,timestamp:this.getNow(),data:{op:"list-add",value:ae(r)}}],this.createListInsert=(t,r,o)=>{if(this.isPrimitive(o))return[{oid:t,timestamp:this.getNow(),data:{op:"list-insert",value:o,index:r}}];{let s=ve(t,this.createSubId);return[...Pe(o,s,this.getNow),{oid:t,timestamp:this.getNow(),data:{op:"list-insert",value:ae(s),index:r}}]}},this.createListRemove=(t,r,o)=>[{oid:t,timestamp:this.getNow(),data:{op:"list-remove",value:r,only:o}}],this.createListDelete=(t,r,o=1)=>[{oid:t,timestamp:this.getNow(),data:{op:"list-delete",index:r,count:o}}],this.createListMoveByRef=(t,r,o)=>[{oid:t,timestamp:this.getNow(),data:{op:"list-move-by-ref",value:r,index:o}}],this.createListMoveByIndex=(t,r,o)=>[{oid:t,timestamp:this.getNow(),data:{op:"list-move-by-index",from:r,to:o}}],this.createDelete=t=>[{oid:t,timestamp:this.getNow(),data:{op:"delete"}}],this.createDeleteAll=t=>t.map(r=>({oid:r,timestamp:this.getNow(),data:{op:"delete"}}))}};var z=class{constructor(i){this._onAllUnsubscribed=i,this.subscribers={},this.counts={},this._disabled=!1,this.disposed=!1,this.subscriberCount=e=>{var t;return(t=this.counts[e])!==null&&t!==void 0?t:0},this.totalSubscriberCount=()=>Object.values(this.counts).reduce((e,t)=>e+t,0),this.subscribe=(e,t)=>{let r=Yt(),o=this.subscribers[e];return o||(o=this.subscribers[e]={}),o[r]=t,this.counts[e]=(this.counts[e]||0)+1,()=>{this.subscribers[e]&&(delete this.subscribers[e][r],this.counts[e]--,this.counts[e]===0&&(delete this.subscribers[e],delete this.counts[e],this._onAllUnsubscribed&&this._onAllUnsubscribed(e)))}},this.emit=(e,...t)=>{this._disabled||this.subscribers[e]&&Object.values(this.subscribers[e]).forEach(r=>r(...t))},this.dispose=()=>{this._disabled=!0,this.disposed=!0;let e=Object.keys(this.subscribers);this.subscribers={},this.counts={},e.forEach(t=>{this._onAllUnsubscribed&&this._onAllUnsubscribed(t)})},this.disable=()=>{this._disabled=!0}}get disabled(){return this._disabled}};function Zr(n,i,e,t){if(i==null)return[{oid:n,timestamp:t(),data:{op:"delete"}}];let r=le(i),o=[];for(let s of e){let a=Ys(n,r,s,t);o.unshift(...a),ze(r,s.data)}return o}function Ys(n,i,e,t){let r=e.data;switch(r.op){case"set":case"remove":return[{oid:n,timestamp:t(),data:{op:"set",name:r.name,value:i[r.name]}}];case"list-insert":return[{oid:n,timestamp:t(),data:{op:"list-delete",index:r.index,count:1}}];case"list-delete":return[{oid:n,timestamp:t(),data:{op:"list-insert",index:r.index,values:i.slice(r.index,r.count)}}];case"list-move-by-ref":return[{oid:n,timestamp:t(),data:{op:"list-move-by-ref",value:r.value,index:i.indexOf(r.value)}}];case"list-move-by-index":return[{oid:n,timestamp:t(),data:{op:"list-move-by-index",from:r.to,to:r.from}}];case"delete":return[{oid:n,timestamp:t(),data:{op:"initialize",value:i}}];case"list-push":return[{oid:n,timestamp:t(),data:{op:"list-remove",value:r.value,only:"last"}}];case"list-remove":if(r.only==="last"){let o=i.lastIndexOf(r.value);return[{oid:n,timestamp:t(),data:{op:"list-insert",index:o,values:[r.value]}}]}else if(r.only==="first"){let o=i.indexOf(r.value);return[{oid:n,timestamp:t(),data:{op:"list-insert",index:o,values:[r.value]}}]}else{let o=[],s=i.indexOf(r.value);for(;s!==-1;)o.push(s),s=i.indexOf(r.value,s+1);return o.map(a=>({oid:n,timestamp:t(),data:{op:"list-insert",index:a,value:r.value}}))}case"list-add":return[{oid:n,timestamp:t(),data:{op:"list-remove",value:r.value,only:"last"}}];case"list-set":return[{oid:n,timestamp:t(),data:{op:"list-set",index:r.index,value:i[r.index]}}];case"initialize":return[{oid:n,timestamp:t(),data:{op:"delete"}}];case"touch":return[];default:throw new Error(`Cannot undo operation type: ${r.op}`)}}var ot=class{constructor(i){this.flusher=i,this.batches=new Map,this.flush=e=>{let t=this.batches.get(e);if(t)return t.flush()},this.discard=e=>{let t=this.batches.get(e);t&&(t.discard(),this.batches.delete(e))},this.flushAll=()=>[...this.batches.values()].map(e=>e.flush()),this.getSize=e=>{let t=this.batches.get(e);return t?t.items.length:0}}add({key:i,userData:e,items:t,max:r,timeout:o}){let s=this.batches.get(i);return s||(s=new Ri({max:r||null,startedAt:Date.now(),userData:e,timeout:o||null,flusher:this.flusher,key:i}),this.batches.set(i,s)),s.update({items:t,max:r,timeout:o,userData:e}),s}},Ri=class{constructor({max:i,startedAt:e,timeout:t,userData:r,flusher:o,key:s}){this.items=[],this.update=({items:a,max:f,timeout:u,userData:p})=>{this.items.push(...a),f!==void 0&&(this.max=f),u!==void 0&&(this.timeout=u),p&&(this.userData=p);let S=this.items.length!==0&&this.timeout!==null&&!this.flushTimeout;this.max!==null&&this.items.length>=this.max?this.flush():S&&this.timeout!==null&&(this.flushTimeout=setTimeout(this.flush,this.timeout))},this.flush=()=>{this.flushTimeout&&clearTimeout(this.flushTimeout),this.flushTimeout=void 0;let a=this.items;return this.items=[],this.flusher(a,this.key,this.userData)},this.discard=()=>{this.flushTimeout&&clearTimeout(this.flushTimeout),this.flushTimeout=void 0,this.items=[]},this.max=i,this.startedAt=e,this.timeout=t,this.userData=r,this.flusher=o,this.key=s}};function eo(n,i){let e,t;return(...r)=>{let o=i();return e&&e.length===o.length&&e.every((s,a)=>s===o[a])||(e=[...o],t=n(...r)),t}}var _t;(function(n){n[n.InvalidRequest=4e3]="InvalidRequest",n[n.BodyRequired=4001]="BodyRequired",n[n.NoToken=4010]="NoToken",n[n.InvalidToken=4011]="InvalidToken",n[n.TokenExpired=4012]="TokenExpired",n[n.Forbidden=4030]="Forbidden",n[n.NotFound=4040]="NotFound",n[n.Unexpected=5e3]="Unexpected",n[n.ConfigurationError=5010]="ConfigurationError",n[n.NoFileStorage=5011]="NoFileStorage"})(_t||(_t={}));var st=class extends Error{constructor(i,e,t){super(t??`Verdant error: ${i}`,{cause:e}),this.code=i,this.toResponse=()=>JSON.stringify({code:this.code})}get httpStatus(){let i=Math.floor(this.code/10);return i<600?i:500}};st.Code=_t;function to(n){return typeof n=="object"&&"code"in n&&typeof n.code=="number"}function Xs(n){return Buffer.from(n).toString("base64")}function Zs(n){return Buffer.from(n,"base64").toString()}var He={onlyUser:n=>Xs(`u:${n}:*`),onlyMe:()=>He.onlyUser(Fi),decode:n=>{let e=Zs(n).split(":");if(e.length!==3)throw new Error("Invalid authz string");return{scope:e[0],subject:e[1],action:e[2]}}},Fi="$$_originator_$$";function no(n,i){let{operations:e,baselines:t}=n;if(e)for(let r of e)r.authz&&He.decode(r.authz).subject===Fi&&(r.authz=He.onlyUser(i));if(t)for(let r of t)r.authz&&He.decode(r.authz).subject===Fi&&(r.authz=He.onlyUser(i))}var Ti=typeof window<"u"?window.indexedDB:void 0;function de(n){return n instanceof Error&&n.name==="AbortError"}function J(n){return new Promise((i,e)=>{n.onsuccess=()=>{i(n.result)},n.onerror=()=>{n.error&&de(n.error)?i(n.result):e(n.error)}})}function We(n,i){return new Promise((e,t)=>{let r=n.transaction([i],"readonly"),s=r.objectStore(i).openCursor(),a=0,f=0;s.onsuccess=function(u){let p=s.result;p&&(a++,f=f+Lr(p.value),p.continue())},s.onerror=function(u){s.error&&de(s.error)?e({count:a,size:f}):t(s.error)},r.oncomplete=function(u){e({count:a,size:f})},r.onabort=function(u){t(u)},r.onerror=function(u){t(u)}})}function cn(n,i){let e=n.transaction(i,"readonly"),t=i.map(r=>{let o=e.objectStore(r);return J(o.getAll())});return Promise.all(t)}async function ge(n){n.close(),await new Promise((i,e)=>{i()})}async function ln(n,i=Ti){let e=i.deleteDatabase([n,"meta"].join("_")),t=i.deleteDatabase([n,"collections"].join("_"));await Promise.all([new Promise((r,o)=>{e.onsuccess=r,e.onerror=o}),new Promise((r,o)=>{t.onsuccess=r,t.onerror=o})]),window.location.reload()}function io(n,i=window.indexedDB){return J(i.deleteDatabase(n))}async function ro(n=window.indexedDB){return n.databases()}function un(n,i,e,t,r){let o=n.transaction(i,e);if(t){let s=()=>{r?.("debug","aborting transaction");try{o.abort()}catch(a){r?.("debug","aborting transaction failed",a)}};t.addEventListener("abort",s),o.addEventListener("error",()=>{t.removeEventListener("abort",s)}),o.addEventListener("complete",()=>{t.removeEventListener("abort",s)})}return o}var _e=class{constructor(){this._disposes=[];this.disposed=!1;this.dispose=()=>{this.disposed=!0,this._disposes.forEach(i=>i()),this._disposes=[]};this.addDispose=i=>{this._disposes.push(i)}}};var se=class extends _e{constructor(e,{log:t}={}){super();this.db=e;this.globalAbortController=new AbortController;this.createTransaction=(e,t)=>{let r=un(this.db,e,t?.mode||"readonly",t?.abort,this.log);return this.globalAbortController.signal.addEventListener("abort",r.abort),r.addEventListener("complete",()=>{this.globalAbortController.signal.removeEventListener("abort",r.abort)}),r.addEventListener("error",()=>{this.globalAbortController.signal.removeEventListener("abort",r.abort)}),r};this.run=async(e,t,r)=>{if(this.disposed||r?.transaction?.error)return Promise.resolve(void 0);let s=(r?.transaction||this.createTransaction([e],r)).objectStore(e),a=t(s);return J(a)};this.runAll=async(e,t,r)=>{if(this.disposed||r?.transaction?.error)return Promise.resolve([]);let s=(r?.transaction||this.createTransaction([e],r)).objectStore(e),a=t(s);return Promise.all(a.map(J))};this.iterate=async(e,t,r,o)=>{let a=(o?.transaction||this.createTransaction([e],o)).objectStore(e),f=t(a);return Array.isArray(f)?Promise.all(f.map(u=>new Promise((p,S)=>{u.onsuccess=()=>{let w=u.result;w?(r(w.value,a),w.continue()):p()},u.onerror=()=>{u.error&&de(u.error)?p():S(u.error)}}))).then(()=>{}):new Promise((u,p)=>{f.onsuccess=()=>{let S=f.result;S?r(S.value,a)?u():S.continue():u()},f.onerror=()=>{f.error&&de(f.error)?u():p(f.error)}})};this.clear=e=>this.run(e,t=>t.clear(),{mode:"readwrite"});this.log=t,this.addDispose(()=>{this.globalAbortController.abort()})}};var dn=class extends se{constructor(){super(...arguments);this.getAckInfo=async()=>{let e=await this.run("info",t=>t.get("ack"));return e||{globalAckTimestamp:null,type:"ack"}};this.setGlobalAck=async e=>{await this.run("info",t=>t.put({type:"ack",globalAckTimestamp:e}),{mode:"readwrite"})}}};var fn=class extends se{constructor(e,t){super(e,t);this.getAllForDocument=async(e,{mode:t="readonly",transaction:r}={})=>{let o=[];return await this.iterateOverAllForDocument(e,s=>{o.push(s)},{mode:t,transaction:r}),o};this.iterateOverAllForDocument=async(e,t,{mode:r="readonly",transaction:o}={})=>this.iterate("baselines",s=>{let a=$(e),[f,u]=gi(e),[p,S]=bi(e);return[s.openCursor(IDBKeyRange.only(a)),s.openCursor(IDBKeyRange.bound(f,u,!1,!1)),s.openCursor(IDBKeyRange.bound(p,S,!1,!1))]},t,{mode:r,transaction:o});this.iterateOverAllForCollection=async(e,t,{mode:r="readonly",transaction:o}={})=>this.iterate("baselines",s=>[s.openCursor(IDBKeyRange.bound(e,e+"\uFFFF",!1,!1))],t,{mode:r,transaction:o});this.getAllForMultipleDocuments=async(e,{mode:t="readonly"}={})=>(await this.runAll("baselines",o=>e.flatMap(s=>{let a=$(s),[f,u]=gi(s),[p,S]=bi(s);return[o.get(a),o.getAll(IDBKeyRange.bound(f,u,!1,!1)),o.getAll(IDBKeyRange.bound(p,S,!1,!1))]}),{mode:t})).flat();this.getAllSince=async(e,{mode:t="readonly"}={})=>this.run("baselines",r=>{let o=e?IDBKeyRange.lowerBound(e,!0):void 0;return r.index("timestamp").getAll(o)},{mode:t});this.get=async(e,{transaction:t,mode:r="readonly"}={})=>this.run("baselines",o=>o.get(e),{mode:r,transaction:t});this.set=async(e,{transaction:t}={})=>{await this.run("baselines",r=>r.put(e),{mode:"readwrite",transaction:t})};this.setAll=async(e,{transaction:t}={})=>{await this.runAll("baselines",r=>e.map(o=>r.put(o)),{mode:"readwrite",transaction:t})};this.reset=()=>this.clear("baselines");this.delete=async(e,{transaction:t})=>{await this.run("baselines",r=>r.delete(e),{mode:"readwrite",transaction:t})}}};var oo=Ve(et(),1);var hn=class extends se{constructor(){super(...arguments);this.get=async({transaction:e}={})=>{if(this.cached)return this.cached;let t=await this.run("info",r=>r.get("localReplicaInfo"),{transaction:e});return t?(this.cached=t,t):(this._creating||(this._creating=(async()=>{let o={type:"localReplicaInfo",id:(0,oo.default)(),userId:void 0,ackedLogicalTime:null,lastSyncedLogicalTime:null};await this.run("info",s=>s.put(o),{mode:"readwrite"}),this.cached=o})()),await this._creating,this.get({transaction:e}))};this.update=async(e,{transaction:t}={})=>{let r=await this.get({transaction:t});Object.assign(r,e),await this.run("info",o=>o.put(r),{mode:"readwrite"}),this.cached=r};this.reset=async()=>{let e=await this.get();e.ackedLogicalTime=null,e.lastSyncedLogicalTime=null,await this.run("info",t=>t.put(e),{mode:"readwrite"})}}};var pn=class{constructor(i){this.meta=i;this.createOperation=async i=>{let e=await this.meta.localReplica.get();return{type:"op",timestamp:this.meta.now,replicaId:e.id,operations:i.operations.map(en)}};this.createMigrationOperation=async({targetVersion:i,...e})=>{let t=await this.meta.localReplica.get();return{type:"op",operations:e.operations.map(r=>({...r,timestamp:this.meta.time.zero(i)})),timestamp:this.meta.time.zero(i),replicaId:t.id}};this.createSyncStep1=async i=>{let e=await this.meta.localReplica.get(),t=i===null?null:e.lastSyncedLogicalTime,r=[],o=new Set;t?await this.meta.operations.iterateOverAllLocalOperations(a=>{r.push(en(a)),o.add($(a.oid))},{after:t,mode:"readwrite"}):await this.meta.operations.iterateOverAllOperations(a=>{r.push(en(a)),o.add($(a.oid))},{mode:"readwrite"});let s=[];return t||(s=await this.meta.baselines.getAllSince("")),{type:"sync",schemaVersion:this.meta.schema.currentVersion,timestamp:this.meta.now,replicaId:e.id,resyncAll:!e.lastSyncedLogicalTime,operations:r,baselines:s,since:t}};this.createPresenceUpdate=async i=>{let e=await this.meta.localReplica.get();return{type:"presence-update",presence:i,replicaId:e.id}};this.createHeartbeat=async()=>{let i=await this.meta.localReplica.get();return{type:"heartbeat",timestamp:this.meta.now,replicaId:i.id}};this.createAck=async i=>{let e=await this.meta.localReplica.get();return{type:"ack",timestamp:this.meta.now,replicaId:e.id,nonce:i}}}};var mn=class extends se{constructor(e,t){super(e,t);this.iterateOverAllOperationsForDocument=async(e,t,{to:r,from:o,after:s,mode:a="readonly",transaction:f}={})=>{let p=(f||this.createTransaction(["operations"],{mode:a})).objectStore("operations"),S=p.index("d_t"),w=o||s,C=w?ue(e,w):qe(e),g=r?ue(e,r):Ke(e),v=IDBKeyRange.bound(C,g,!!s,!1),_=S.openCursor(v,"next");return new Promise((I,O)=>{let R;_.onsuccess=b=>{let D=_.result;if(D){let d=D.value;L(d.oid.startsWith(e)),L(R===void 0||R<=d.timestamp,`expected ${R} <= ${d.timestamp}`),t(d,p),R=d.timestamp,D.continue()}else I()},_.onerror=b=>{if(de(_.error)){I();return}else O(_.error)}})};this.iterateOverAllOperationsForEntity=async(e,t,{after:r,to:o,mode:s,transaction:a})=>{let u=(a||this.createTransaction(["operations"],{mode:s})).objectStore("operations"),p=r?ue(e,r):qe(e),S=o?ue(e,o):Ke(e),w=IDBKeyRange.bound(p,S,!!r,!1),C=u.openCursor(w,"next");return new Promise((g,v)=>{let _;C.onsuccess=I=>{let O=C.result;if(O){let R=O.value;L(R.oid.startsWith(e)),L(_===void 0||_<=R.timestamp,`expected ${_} <= ${R.timestamp}`),t(R,u),_=R.timestamp,O.continue()}else g()},C.onerror=I=>{de(C.error)?g():v(C.error)}})};this.iterateOverAllOperationsForCollection=async(e,t,{after:r,to:o,mode:s,transaction:a})=>{let f=a||this.createTransaction(["operations"],{mode:s});return this.iterate("operations",u=>u.openCursor(IDBKeyRange.bound(e,e+"\uFFFF",!1,!1),"next"),t,{mode:s,transaction:f})};this.iterateOverAllLocalOperations=async(e,{before:t,after:r,mode:o="readonly",transaction:s})=>{let f=(s||this.createTransaction(["operations"],{mode:o})).objectStore("operations"),u=f.index("l_t"),p=r?ue(!0,r):qe(!0),S=t?ue(!0,t):Ke(!0),w=IDBKeyRange.bound(p,S,!!r,!0),C=u.openCursor(w,"next");return new Promise((g,v)=>{let _;C.onsuccess=I=>{let O=C.result;if(O){let R=O.value;L(_===void 0||_<=R.timestamp,`expected ${_} <= ${R.timestamp}`),e(R,f),_=R.timestamp,O.continue()}else g()},C.onerror=I=>{de(C.error)?g():v(C.error)}})};this.iterateOverAllOperations=async(e,{before:t,transaction:r,mode:o,from:s})=>{await this.iterate("operations",a=>{let f=s?qe(s):void 0,u=t?Ke(t):void 0,p=f&&u?IDBKeyRange.bound(f,u,!1,!0):f?IDBKeyRange.lowerBound(f,!1):u?IDBKeyRange.upperBound(u,!0):void 0;return a.index("timestamp").openCursor(p,"next")},e,{mode:o,transaction:r})};this.addOperations=async(e,{transaction:t}={})=>this.insert(e.map(this.addCompoundIndexes),{transaction:t});this.addCompoundIndexes=e=>({...e,oid_timestamp:ue(e.oid,e.timestamp),l_t:ue(e.isLocal,e.timestamp),d_t:ue($(e.oid),e.timestamp)});this.insert=async(e,{transaction:t})=>{let r=new Set;return await this.runAll("operations",o=>e.map(s=>(r.add($(s.oid)),o.put(s))),{mode:"readwrite",transaction:t}),Array.from(r)};this.reset=()=>this.clear("operations")}};var gn=class{constructor(i,e){this.db=i;this.currentVersion=e;this.cached=null;this.get=async()=>{if(this.cached)return this.cached;let r=this.db.transaction("info","readonly").objectStore("info").get("schema"),o=await J(r);return o?(this.cached=JSON.parse(o.schema),this.cached):null};this.set=async i=>{let o=this.db.transaction("info","readwrite").objectStore("info").put({type:"schema",schema:JSON.stringify(i)});this.cached=i,await J(o)}}};var Dt=class extends z{constructor({disableRebasing:e,context:t,onOperation:r}){super();this.time=new Vt;this.disableRebasing=!1;this._closing=!1;this.setContext=e=>{this.context=e};this.close=()=>{this._closing=!0};this.createTransaction=(e,t={})=>un(this.db,e,t.write?"readwrite":"readonly",t.abort,this.context.log);this.getAllDocumentRelatedOids=async e=>{let t=new Set,r=$(e);L(r===e,"Must be root document OID"),t.add(r);let o=this.createTransaction(["baselines","operations"]);return await Promise.all([this.baselines.iterateOverAllForDocument(r,s=>{t.add(s.oid)},{transaction:o}),this.operations.iterateOverAllOperationsForDocument(r,s=>{t.add(s.oid)},{transaction:o})]),Array.from(t)};this.getAllCollectionRelatedOids=async e=>{let t=new Set,r=this.db.transaction(["baselines","operations"],"readwrite");return await Promise.all([this.baselines.iterateOverAllForCollection(e,o=>{t.add(o.oid)},{transaction:r}),this.operations.iterateOverAllOperationsForCollection(e,o=>{t.add(o.oid)},{transaction:r})]),Array.from(t)};this.getDocumentSnapshot=async(e,t={})=>{let r=$(e);L(r===e,"Must be root document OID");let o=this.db.transaction(["baselines","operations"],"readwrite"),s=await this.baselines.getAllForDocument(r,{transaction:o}),a=new Map;for(let u of s)u.snapshot&&N(u.snapshot,u.oid),a.set(u.oid,u.snapshot);await this.operations.iterateOverAllOperationsForDocument(r,u=>{let p=a.get(u.oid)||void 0,S=ze(p,u.data);S&&N(S,u.oid),a.set(u.oid,S)},{transaction:o,to:t.to||this.now});let f=a.get(r);return f&&Zt(f,a),f};this.getDocumentData=async(e,t)=>{let r=this.createTransaction(["baselines","operations"],t),o=[],s={};return await Promise.all([this.baselines.iterateOverAllForDocument(e,a=>{o.push(a)},{transaction:r}),this.operations.iterateOverAllOperationsForDocument(e,a=>{s[a.oid]??=[],s[a.oid].push(a)},{transaction:r})]),{baselines:o,operations:s}};this.getDocumentAuthz=async e=>{let t=await this.baselines.get(e);if(t)return t.authz;let r;return await this.operations.iterateOverAllOperationsForEntity(e,o=>{if(o.data.op==="initialize")return r=o.authz,!0},{}),r};this.ack=async e=>{let t=await this.localReplica.get();e>this.now||(this.emit("message",{type:"ack",replicaId:t.id,timestamp:e}),!this._closing&&(!t.ackedLogicalTime||e>t.ackedLogicalTime)&&this.localReplica.update({ackedLogicalTime:e}))};this.insertLocalOperations=async(e,t)=>{if(e.length===0)return;this.log("debug",`Inserting ${e.length} local operations`,e);for(let o of e)o.isLocal=!0;await this.operations.addOperations(e,t);let r=await this.messageCreator.createOperation({operations:e});this.emit("message",r),this.tryAutonomousRebase(),this.onOperation&&e.forEach(o=>this.onOperation(o))};this.insertRemoteOperations=async(e,t)=>{if(e.length===0)return[];this.log("debug",`Inserting ${e.length} remote operations`,e);let r=await this.operations.addOperations(e.map(o=>({...o,isLocal:!1})),t);return this.ack(e[e.length-1].timestamp),this.onOperation&&e.forEach(o=>this.onOperation(o)),r};this.insertRemoteBaselines=async(e,t)=>{if(e.length===0)return[];this.log(`Inserting ${e.length} remote baselines`),await this.baselines.setAll(e,t);let r=new Set;return e.forEach(o=>{r.add($(o.oid))}),Array.from(r)};this.insertData=async(e,t)=>{let r=this.createTransaction(["baselines","operations"],{...t,write:!0});e.baselines&&await this.insertRemoteBaselines(e.baselines,{transaction:r}),!t?.abort?.aborted&&e.operations&&(e.isLocal?await this.insertLocalOperations(e.operations,{transaction:r}):await this.insertRemoteOperations(e.operations,{transaction:r}))};this.updateLastSynced=async e=>{if(!this._closing)return this.localReplica.update({lastSyncedLogicalTime:e})};this.lastSyncedTimestamp=async()=>(await this.localReplica.get()).lastSyncedLogicalTime;this.tryAutonomousRebase=async()=>{this.disableRebasing||(await this.localReplica.get()).lastSyncedLogicalTime||await this.runRebase(this.now)};this.runRebase=async e=>{if(this._closing)return;let t,r=new Set,o=this.createTransaction(["baselines","operations"],{write:!0}),s=0;if(await this.operations.iterateOverAllOperations(f=>{r.add(f.oid),t=f.timestamp,s++},{before:e,transaction:o}),!r.size||this._closing)return;let a=[];for(let f of r)a.push(await this.rebase(f,t||e,o));this.emit("rebase",a)};this.rebase=async(e,t,r)=>{let o=(await this.localReplica.get()).id;this.log("[",o,"]","Rebasing",e,"up to",t);let s=r||this.createTransaction(["operations","baselines"],{write:!0}),a=await this.baselines.get(e,{transaction:s}),f=a?.snapshot||void 0,u=0,p=a?.authz,S=[];await this.operations.iterateOverAllOperationsForEntity(e,(C,g)=>{(!a||C.timestamp>a.timestamp)&&(f=ze(f,C.data,S),C.data.op==="initialize"&&(p=C.authz)),u++,g.delete(C.oid_timestamp)},{to:t,transaction:s}),f&&N(f,e);let w={oid:e,snapshot:f,timestamp:t,authz:p};if(w.snapshot?await this.baselines.set(w,{transaction:s}):await this.baselines.delete(e,{transaction:s}),this.log("debug","successfully rebased",e,"up to",t,":",f,"and deleted",u,"operations"),S.length){let C=S.filter(we);C.length&&this.emit("filesDeleted",C)}return w};this.reset=async()=>{await this.operations.reset(),await this.baselines.reset(),await this.localReplica.reset()};this.updateSchema=async(e,t)=>{let r=await this.schema.get();if(r&&t===r.version&&r.version===e.version&&JSON.stringify(r)!==JSON.stringify(e))throw console.error(`Schema mismatch for version ${e.version}
6
+ `))}O.fill(0),e.createHash=function(l){return R(l)},e.createHmac=R,e.randomBytes=function(l,x){if(!x||!x.call)return new w(v(l));try{x.call(this,void 0,new w(v(l)))}catch(E){x(E)}};var D,d=["createCredentials","createCipher","createCipheriv","createDecipher","createDecipheriv","createSign","createVerify","createDiffieHellman","pbkdf2"],m=function(l){e[l]=function(){b("sorry,",l,"is not implemented yet")}};for(D in d)m(d[D],D)}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/index.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./md5":6,"./rng":7,"./sha":8,"./sha256":9,buffer:3,lYpoI2:11}],6:[function(n,i,e){(function(t,r,o,s,a,f,u,p,S){var w=n("./helpers");function C(b,D){b[D>>5]|=128<<D%32,b[14+(D+64>>>9<<4)]=D;for(var d=1732584193,m=-271733879,l=-1732584194,x=271733878,E=0;E<b.length;E+=16){var j=d,B=m,M=l,k=x,d=v(d,m,l,x,b[E+0],7,-680876936),x=v(x,d,m,l,b[E+1],12,-389564586),l=v(l,x,d,m,b[E+2],17,606105819),m=v(m,l,x,d,b[E+3],22,-1044525330);d=v(d,m,l,x,b[E+4],7,-176418897),x=v(x,d,m,l,b[E+5],12,1200080426),l=v(l,x,d,m,b[E+6],17,-1473231341),m=v(m,l,x,d,b[E+7],22,-45705983),d=v(d,m,l,x,b[E+8],7,1770035416),x=v(x,d,m,l,b[E+9],12,-1958414417),l=v(l,x,d,m,b[E+10],17,-42063),m=v(m,l,x,d,b[E+11],22,-1990404162),d=v(d,m,l,x,b[E+12],7,1804603682),x=v(x,d,m,l,b[E+13],12,-40341101),l=v(l,x,d,m,b[E+14],17,-1502002290),d=_(d,m=v(m,l,x,d,b[E+15],22,1236535329),l,x,b[E+1],5,-165796510),x=_(x,d,m,l,b[E+6],9,-1069501632),l=_(l,x,d,m,b[E+11],14,643717713),m=_(m,l,x,d,b[E+0],20,-373897302),d=_(d,m,l,x,b[E+5],5,-701558691),x=_(x,d,m,l,b[E+10],9,38016083),l=_(l,x,d,m,b[E+15],14,-660478335),m=_(m,l,x,d,b[E+4],20,-405537848),d=_(d,m,l,x,b[E+9],5,568446438),x=_(x,d,m,l,b[E+14],9,-1019803690),l=_(l,x,d,m,b[E+3],14,-187363961),m=_(m,l,x,d,b[E+8],20,1163531501),d=_(d,m,l,x,b[E+13],5,-1444681467),x=_(x,d,m,l,b[E+2],9,-51403784),l=_(l,x,d,m,b[E+7],14,1735328473),d=I(d,m=_(m,l,x,d,b[E+12],20,-1926607734),l,x,b[E+5],4,-378558),x=I(x,d,m,l,b[E+8],11,-2022574463),l=I(l,x,d,m,b[E+11],16,1839030562),m=I(m,l,x,d,b[E+14],23,-35309556),d=I(d,m,l,x,b[E+1],4,-1530992060),x=I(x,d,m,l,b[E+4],11,1272893353),l=I(l,x,d,m,b[E+7],16,-155497632),m=I(m,l,x,d,b[E+10],23,-1094730640),d=I(d,m,l,x,b[E+13],4,681279174),x=I(x,d,m,l,b[E+0],11,-358537222),l=I(l,x,d,m,b[E+3],16,-722521979),m=I(m,l,x,d,b[E+6],23,76029189),d=I(d,m,l,x,b[E+9],4,-640364487),x=I(x,d,m,l,b[E+12],11,-421815835),l=I(l,x,d,m,b[E+15],16,530742520),d=O(d,m=I(m,l,x,d,b[E+2],23,-995338651),l,x,b[E+0],6,-198630844),x=O(x,d,m,l,b[E+7],10,1126891415),l=O(l,x,d,m,b[E+14],15,-1416354905),m=O(m,l,x,d,b[E+5],21,-57434055),d=O(d,m,l,x,b[E+12],6,1700485571),x=O(x,d,m,l,b[E+3],10,-1894986606),l=O(l,x,d,m,b[E+10],15,-1051523),m=O(m,l,x,d,b[E+1],21,-2054922799),d=O(d,m,l,x,b[E+8],6,1873313359),x=O(x,d,m,l,b[E+15],10,-30611744),l=O(l,x,d,m,b[E+6],15,-1560198380),m=O(m,l,x,d,b[E+13],21,1309151649),d=O(d,m,l,x,b[E+4],6,-145523070),x=O(x,d,m,l,b[E+11],10,-1120210379),l=O(l,x,d,m,b[E+2],15,718787259),m=O(m,l,x,d,b[E+9],21,-343485551),d=R(d,j),m=R(m,B),l=R(l,M),x=R(x,k)}return Array(d,m,l,x)}function g(b,D,d,m,l,x){return R((D=R(R(D,b),R(m,x)))<<l|D>>>32-l,d)}function v(b,D,d,m,l,x,E){return g(D&d|~D&m,b,D,l,x,E)}function _(b,D,d,m,l,x,E){return g(D&m|d&~m,b,D,l,x,E)}function I(b,D,d,m,l,x,E){return g(D^d^m,b,D,l,x,E)}function O(b,D,d,m,l,x,E){return g(d^(D|~m),b,D,l,x,E)}function R(b,D){var d=(65535&b)+(65535&D);return(b>>16)+(D>>16)+(d>>16)<<16|65535&d}i.exports=function(b){return w.hash(b,C,16)}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(n,i,e){(function(t,r,o,s,a,f,u,p,S){var w;i.exports=w||function(C){for(var g,v=new Array(C),_=0;_<C;_++)!(3&_)&&(g=4294967296*Math.random()),v[_]=g>>>((3&_)<<3)&255;return v}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(n,i,e){(function(t,r,o,s,a,f,u,p,S){var w=n("./helpers");function C(_,I){_[I>>5]|=128<<24-I%32,_[15+(I+64>>9<<4)]=I;for(var O,R,b,D=Array(80),d=1732584193,m=-271733879,l=-1732584194,x=271733878,E=-1009589776,j=0;j<_.length;j+=16){for(var B=d,M=m,k=l,q=x,te=E,H=0;H<80;H++){D[H]=H<16?_[j+H]:v(D[H-3]^D[H-8]^D[H-14]^D[H-16],1);var K=g(g(v(d,5),(K=m,R=l,b=x,(O=H)<20?K&R|~K&b:!(O<40)&&O<60?K&R|K&b|R&b:K^R^b)),g(g(E,D[H]),(O=H)<20?1518500249:O<40?1859775393:O<60?-1894007588:-899497514)),E=x,x=l,l=v(m,30),m=d,d=K}d=g(d,B),m=g(m,M),l=g(l,k),x=g(x,q),E=g(E,te)}return Array(d,m,l,x,E)}function g(_,I){var O=(65535&_)+(65535&I);return(_>>16)+(I>>16)+(O>>16)<<16|65535&O}function v(_,I){return _<<I|_>>>32-I}i.exports=function(_){return w.hash(_,C,20,!0)}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(n,i,e){(function(t,r,o,s,a,f,u,p,S){function w(I,O){var R=(65535&I)+(65535&O);return(I>>16)+(O>>16)+(R>>16)<<16|65535&R}function C(I,O){var R,b=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),D=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),d=new Array(64);I[O>>5]|=128<<24-O%32,I[15+(O+64>>9<<4)]=O;for(var m,l,x=0;x<I.length;x+=16){for(var E=D[0],j=D[1],B=D[2],M=D[3],k=D[4],q=D[5],te=D[6],H=D[7],K=0;K<64;K++)d[K]=K<16?I[K+x]:w(w(w((l=d[K-2],v(l,17)^v(l,19)^_(l,10)),d[K-7]),(l=d[K-15],v(l,7)^v(l,18)^_(l,3))),d[K-16]),R=w(w(w(w(H,v(l=k,6)^v(l,11)^v(l,25)),k&q^~k&te),b[K]),d[K]),m=w(v(m=E,2)^v(m,13)^v(m,22),E&j^E&B^j&B),H=te,te=q,q=k,k=w(M,R),M=B,B=j,j=E,E=w(R,m);D[0]=w(E,D[0]),D[1]=w(j,D[1]),D[2]=w(B,D[2]),D[3]=w(M,D[3]),D[4]=w(k,D[4]),D[5]=w(q,D[5]),D[6]=w(te,D[6]),D[7]=w(H,D[7])}return D}var g=n("./helpers"),v=function(I,O){return I>>>O|I<<32-O},_=function(I,O){return I>>>O};i.exports=function(I){return g.hash(I,C,32,!0)}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(n,i,e){(function(t,r,o,s,a,f,u,p,S){e.read=function(w,C,g,v,x){var I,O,R=8*x-v-1,b=(1<<R)-1,D=b>>1,d=-7,m=g?x-1:0,l=g?-1:1,x=w[C+m];for(m+=l,I=x&(1<<-d)-1,x>>=-d,d+=R;0<d;I=256*I+w[C+m],m+=l,d-=8);for(O=I&(1<<-d)-1,I>>=-d,d+=v;0<d;O=256*O+w[C+m],m+=l,d-=8);if(I===0)I=1-D;else{if(I===b)return O?NaN:1/0*(x?-1:1);O+=Math.pow(2,v),I-=D}return(x?-1:1)*O*Math.pow(2,I-v)},e.write=function(w,C,g,v,_,E){var O,R,b=8*E-_-1,D=(1<<b)-1,d=D>>1,m=_===23?Math.pow(2,-24)-Math.pow(2,-77):0,l=v?0:E-1,x=v?1:-1,E=C<0||C===0&&1/C<0?1:0;for(C=Math.abs(C),isNaN(C)||C===1/0?(R=isNaN(C)?1:0,O=D):(O=Math.floor(Math.log(C)/Math.LN2),C*(v=Math.pow(2,-O))<1&&(O--,v*=2),2<=(C+=1<=O+d?m/v:m*Math.pow(2,1-d))*v&&(O++,v/=2),D<=O+d?(R=0,O=D):1<=O+d?(R=(C*v-1)*Math.pow(2,_),O+=d):(R=C*Math.pow(2,d-1)*Math.pow(2,_),O=0));8<=_;w[g+l]=255&R,l+=x,R/=256,_-=8);for(O=O<<_|R,b+=_;0<b;w[g+l]=255&O,l+=x,O/=256,b-=8);w[g+l-x]|=128*E}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/ieee754/index.js","/node_modules/gulp-browserify/node_modules/ieee754")},{buffer:3,lYpoI2:11}],11:[function(n,i,e){(function(t,r,o,s,a,f,u,p,S){var w,C,g;function v(){}(t=i.exports={}).nextTick=(C=typeof window<"u"&&window.setImmediate,g=typeof window<"u"&&window.postMessage&&window.addEventListener,C?function(_){return window.setImmediate(_)}:g?(w=[],window.addEventListener("message",function(_){var I=_.source;I!==window&&I!==null||_.data!=="process-tick"||(_.stopPropagation(),0<w.length&&w.shift()())},!0),function(_){w.push(_),window.postMessage("process-tick","*")}):function(_){setTimeout(_,0)}),t.title="browser",t.browser=!0,t.env={},t.argv=[],t.on=v,t.addListener=v,t.once=v,t.off=v,t.removeListener=v,t.removeAllListeners=v,t.emit=v,t.binding=function(_){throw new Error("process.binding is not supported")},t.cwd=function(){return"/"},t.chdir=function(_){throw new Error("process.chdir is not supported")}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/process/browser.js","/node_modules/gulp-browserify/node_modules/process")},{buffer:3,lYpoI2:11}]},{},[1])(1)})});var Je={};lr(Je,{__addDisposableResource:()=>Uo,__assign:()=>En,__asyncDelegator:()=>Ro,__asyncGenerator:()=>Po,__asyncValues:()=>Fo,__await:()=>ut,__awaiter:()=>Io,__classPrivateFieldGet:()=>jo,__classPrivateFieldIn:()=>Lo,__classPrivateFieldSet:()=>Mo,__createBinding:()=>An,__decorate:()=>xo,__disposeResources:()=>Vo,__esDecorate:()=>Ia,__exportStar:()=>Do,__extends:()=>wo,__generator:()=>_o,__importDefault:()=>Bo,__importStar:()=>ko,__makeTemplateObject:()=>To,__metadata:()=>Oo,__param:()=>So,__propKey:()=>Da,__read:()=>Vi,__rest:()=>vo,__runInitializers:()=>_a,__setFunctionName:()=>Ea,__spread:()=>Eo,__spreadArray:()=>Ao,__spreadArrays:()=>Co,__values:()=>Cn,default:()=>Pa});function wo(n,i){if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");Ui(n,i);function e(){this.constructor=n}n.prototype=i===null?Object.create(i):(e.prototype=i.prototype,new e)}function vo(n,i){var e={};for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&i.indexOf(t)<0&&(e[t]=n[t]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,t=Object.getOwnPropertySymbols(n);r<t.length;r++)i.indexOf(t[r])<0&&Object.prototype.propertyIsEnumerable.call(n,t[r])&&(e[t[r]]=n[t[r]]);return e}function xo(n,i,e,t){var r=arguments.length,o=r<3?i:t===null?t=Object.getOwnPropertyDescriptor(i,e):t,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,i,e,t);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(i,e,o):s(i,e))||o);return r>3&&o&&Object.defineProperty(i,e,o),o}function So(n,i){return function(e,t){i(e,t,n)}}function Ia(n,i,e,t,r,o){function s(I){if(I!==void 0&&typeof I!="function")throw new TypeError("Function expected");return I}for(var a=t.kind,f=a==="getter"?"get":a==="setter"?"set":"value",u=!i&&n?t.static?n:n.prototype:null,p=i||(u?Object.getOwnPropertyDescriptor(u,t.name):{}),S,w=!1,C=e.length-1;C>=0;C--){var g={};for(var v in t)g[v]=v==="access"?{}:t[v];for(var v in t.access)g.access[v]=t.access[v];g.addInitializer=function(I){if(w)throw new TypeError("Cannot add initializers after decoration has completed");o.push(s(I||null))};var _=(0,e[C])(a==="accessor"?{get:p.get,set:p.set}:p[f],g);if(a==="accessor"){if(_===void 0)continue;if(_===null||typeof _!="object")throw new TypeError("Object expected");(S=s(_.get))&&(p.get=S),(S=s(_.set))&&(p.set=S),(S=s(_.init))&&r.unshift(S)}else(S=s(_))&&(a==="field"?r.unshift(S):p[f]=S)}u&&Object.defineProperty(u,t.name,p),w=!0}function _a(n,i,e){for(var t=arguments.length>2,r=0;r<i.length;r++)e=t?i[r].call(n,e):i[r].call(n);return t?e:void 0}function Da(n){return typeof n=="symbol"?n:"".concat(n)}function Ea(n,i,e){return typeof i=="symbol"&&(i=i.description?"[".concat(i.description,"]"):""),Object.defineProperty(n,"name",{configurable:!0,value:e?"".concat(e," ",i):i})}function Oo(n,i){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,i)}function Io(n,i,e,t){function r(o){return o instanceof e?o:new e(function(s){s(o)})}return new(e||(e=Promise))(function(o,s){function a(p){try{u(t.next(p))}catch(S){s(S)}}function f(p){try{u(t.throw(p))}catch(S){s(S)}}function u(p){p.done?o(p.value):r(p.value).then(a,f)}u((t=t.apply(n,i||[])).next())})}function _o(n,i){var e={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},t,r,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(u){return function(p){return f([u,p])}}function f(u){if(t)throw new TypeError("Generator is already executing.");for(;s&&(s=0,u[0]&&(e=0)),e;)try{if(t=1,r&&(o=u[0]&2?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return e.label++,{value:u[1],done:!1};case 5:e.label++,r=u[1],u=[0];continue;case 7:u=e.ops.pop(),e.trys.pop();continue;default:if(o=e.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){e=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]<o[3])){e.label=u[1];break}if(u[0]===6&&e.label<o[1]){e.label=o[1],o=u;break}if(o&&e.label<o[2]){e.label=o[2],e.ops.push(u);break}o[2]&&e.ops.pop(),e.trys.pop();continue}u=i.call(n,e)}catch(p){u=[6,p],r=0}finally{t=o=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function Do(n,i){for(var e in n)e!=="default"&&!Object.prototype.hasOwnProperty.call(i,e)&&An(i,n,e)}function Cn(n){var i=typeof Symbol=="function"&&Symbol.iterator,e=i&&n[i],t=0;if(e)return e.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&t>=n.length&&(n=void 0),{value:n&&n[t++],done:!n}}};throw new TypeError(i?"Object is not iterable.":"Symbol.iterator is not defined.")}function Vi(n,i){var e=typeof Symbol=="function"&&n[Symbol.iterator];if(!e)return n;var t=e.call(n),r,o=[],s;try{for(;(i===void 0||i-- >0)&&!(r=t.next()).done;)o.push(r.value)}catch(a){s={error:a}}finally{try{r&&!r.done&&(e=t.return)&&e.call(t)}finally{if(s)throw s.error}}return o}function Eo(){for(var n=[],i=0;i<arguments.length;i++)n=n.concat(Vi(arguments[i]));return n}function Co(){for(var n=0,i=0,e=arguments.length;i<e;i++)n+=arguments[i].length;for(var t=Array(n),r=0,i=0;i<e;i++)for(var o=arguments[i],s=0,a=o.length;s<a;s++,r++)t[r]=o[s];return t}function Ao(n,i,e){if(e||arguments.length===2)for(var t=0,r=i.length,o;t<r;t++)(o||!(t in i))&&(o||(o=Array.prototype.slice.call(i,0,t)),o[t]=i[t]);return n.concat(o||Array.prototype.slice.call(i))}function ut(n){return this instanceof ut?(this.v=n,this):new ut(n)}function Po(n,i,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e.apply(n,i||[]),r,o=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(w){t[w]&&(r[w]=function(C){return new Promise(function(g,v){o.push([w,C,g,v])>1||a(w,C)})})}function a(w,C){try{f(t[w](C))}catch(g){S(o[0][3],g)}}function f(w){w.value instanceof ut?Promise.resolve(w.value.v).then(u,p):S(o[0][2],w)}function u(w){a("next",w)}function p(w){a("throw",w)}function S(w,C){w(C),o.shift(),o.length&&a(o[0][0],o[0][1])}}function Ro(n){var i,e;return i={},t("next"),t("throw",function(r){throw r}),t("return"),i[Symbol.iterator]=function(){return this},i;function t(r,o){i[r]=n[r]?function(s){return(e=!e)?{value:ut(n[r](s)),done:!1}:o?o(s):s}:o}}function Fo(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=n[Symbol.asyncIterator],e;return i?i.call(n):(n=typeof Cn=="function"?Cn(n):n[Symbol.iterator](),e={},t("next"),t("throw"),t("return"),e[Symbol.asyncIterator]=function(){return this},e);function t(o){e[o]=n[o]&&function(s){return new Promise(function(a,f){s=n[o](s),r(a,f,s.done,s.value)})}}function r(o,s,a,f){Promise.resolve(f).then(function(u){o({value:u,done:a})},s)}}function To(n,i){return Object.defineProperty?Object.defineProperty(n,"raw",{value:i}):n.raw=i,n}function ko(n){if(n&&n.__esModule)return n;var i={};if(n!=null)for(var e in n)e!=="default"&&Object.prototype.hasOwnProperty.call(n,e)&&An(i,n,e);return Ca(i,n),i}function Bo(n){return n&&n.__esModule?n:{default:n}}function jo(n,i,e,t){if(e==="a"&&!t)throw new TypeError("Private accessor was defined without a getter");if(typeof i=="function"?n!==i||!t:!i.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?t:e==="a"?t.call(n):t?t.value:i.get(n)}function Mo(n,i,e,t,r){if(t==="m")throw new TypeError("Private method is not writable");if(t==="a"&&!r)throw new TypeError("Private accessor was defined without a setter");if(typeof i=="function"?n!==i||!r:!i.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return t==="a"?r.call(n,e):r?r.value=e:i.set(n,e),e}function Lo(n,i){if(i===null||typeof i!="object"&&typeof i!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof n=="function"?i===n:n.has(i)}function Uo(n,i,e){if(i!=null){if(typeof i!="object"&&typeof i!="function")throw new TypeError("Object expected.");var t;if(e){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");t=i[Symbol.asyncDispose]}if(t===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");t=i[Symbol.dispose]}if(typeof t!="function")throw new TypeError("Object not disposable.");n.stack.push({value:i,dispose:t,async:e})}else e&&n.stack.push({async:!0});return i}function Vo(n){function i(t){n.error=n.hasError?new Aa(t,n.error,"An error was suppressed during disposal."):t,n.hasError=!0}function e(){for(;n.stack.length;){var t=n.stack.pop();try{var r=t.dispose&&t.dispose.call(t.value);if(t.async)return Promise.resolve(r).then(e,function(o){return i(o),e()})}catch(o){i(o)}}if(n.hasError)throw n.error}return e()}var Ui,En,An,Ca,Aa,Pa,Ge=as(()=>{Ui=function(n,i){return Ui=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},Ui(n,i)};En=function(){return En=Object.assign||function(i){for(var e,t=1,r=arguments.length;t<r;t++){e=arguments[t];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(i[o]=e[o])}return i},En.apply(this,arguments)};An=Object.create?function(n,i,e,t){t===void 0&&(t=e);var r=Object.getOwnPropertyDescriptor(i,e);(!r||("get"in r?!i.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return i[e]}}),Object.defineProperty(n,t,r)}:function(n,i,e,t){t===void 0&&(t=e),n[t]=i[e]};Ca=Object.create?function(n,i){Object.defineProperty(n,"default",{enumerable:!0,value:i})}:function(n,i){n.default=i};Aa=typeof SuppressedError=="function"?SuppressedError:function(n,i,e){var t=new Error(e);return t.name="SuppressedError",t.error=n,t.suppressed=i,t};Pa={__extends:wo,__assign:En,__rest:vo,__decorate:xo,__param:So,__metadata:Oo,__awaiter:Io,__generator:_o,__createBinding:An,__exportStar:Do,__values:Cn,__read:Vi,__spread:Eo,__spreadArrays:Co,__spreadArray:Ao,__await:ut,__asyncGenerator:Po,__asyncDelegator:Ro,__asyncValues:Fo,__makeTemplateObject:To,__importStar:ko,__importDefault:Bo,__classPrivateFieldGet:jo,__classPrivateFieldSet:Mo,__classPrivateFieldIn:Lo,__addDisposableResource:Uo,__disposeResources:Vo}});var No=oe(zo=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0})});var Ni=oe(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.invokeEventHandlersAsync=De.invokeEventHandlers=De.eventHandlerSafeInvokeAsync=De.eventHandlerSafeInvoke=void 0;var $o=(Ge(),Ze(Je));function Ko(n,i,e){try{return n(i,e),{succeeded:!0}}catch(t){return{error:t,succeeded:!1}}}De.eventHandlerSafeInvoke=Ko;function zi(n,i,e){return(0,$o.__awaiter)(this,void 0,void 0,function*(){try{return yield n(i,e),{succeeded:!0}}catch(t){return{error:t,succeeded:!1}}})}De.eventHandlerSafeInvokeAsync=zi;function Ra(n,i,e,t){for(let r of n){let{succeeded:o,error:s}=Ko(r,i,e);if(!o&&t?.swallowExceptions!==!0)throw s}}De.invokeEventHandlers=Ra;function Fa(n,i,e,t){return(0,$o.__awaiter)(this,void 0,void 0,function*(){if(t?.parallelize===!1)for(let r of n){let{succeeded:o,error:s}=yield zi(r,i,e);if(!o&&t?.swallowExceptions!==!0)throw s}else{let r=[];for(let o of n)r.push(zi(o,i,e).then(({succeeded:s,error:a})=>{if(!s&&t?.swallowExceptions!==!0)throw a}));yield Promise.all(r)}})}De.invokeEventHandlersAsync=Fa});var Wo=oe(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.TypedEvent=void 0;var Ta=(Ge(),Ze(Je)),qo=Ni(),Ho={swallowExceptions:!1,parallelize:!0},$i=class{constructor(){this._handlers=[]}attach(i){this._handlers.push(i)}detach(i){this.tryRemoveHandler(i)}invoke(i,e,t=Ho){(0,qo.invokeEventHandlers)(this._handlers,i,e,t)}invokeAsync(i,e,t=Ho){return(0,Ta.__awaiter)(this,void 0,void 0,function*(){yield(0,qo.invokeEventHandlersAsync)(this._handlers,i,e,t)})}tryRemoveHandler(i){let e=this._handlers.findIndex(t=>t===i);e>=0&&this._handlers.splice(e,1)}};Pn.TypedEvent=$i});var qi=oe(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});var ka=(Ge(),Ze(Je));(0,ka.__exportStar)(Wo(),Ki)});var Qo=oe(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.FinalizationRegistryMissingError=void 0;var Hi=class extends Error{};Rn.FinalizationRegistryMissingError=Hi});var Qi=oe(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.WeakHandlerHolder=void 0;var Ba=Qo(),Wi=class{constructor(i){this._refs=[];try{this._finalizationRegistry=new FinalizationRegistry(i)}catch(e){throw e.name==="FinalizationRegistry"?new Ba.FinalizationRegistryMissingError("FinalizationRegistry is not defined. Weak Events cannot be used. Please consult 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry' for compatibility information"):e}}getWeakHandler(i,e){let t=new WeakRef(e);return this._finalizationRegistry.register(e,{eventSource:i,handlerRef:t},t),this._refs.push(t),t}releaseWeakHandler(i){let t=this._refs.find(r=>r?.deref()===i)||new WeakRef(i);return this._finalizationRegistry.unregister(t),t}unregisterRef(i){this._finalizationRegistry.unregister(i)}};Fn.WeakHandlerHolder=Wi});var Jo=oe(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.WeakEvent=void 0;var Ji=(Ge(),Ze(Je)),ja=qi(),Ma=Qi(),Gi=Ni(),La={swallowExceptions:!1,parallelize:!0},Yi=class{constructor(){this._handlers=[],this._handlerFinalizedEvent=new ja.TypedEvent,this.handlerFinalizedEvent=this._handlerFinalizedEvent,this._refHolder=new Ma.WeakHandlerHolder(i=>{this.onHandlerFinalizer(i)})}invoke(i,e,t){for(let r of this._handlers){let o=r?.deref();if(o){let{succeeded:s,error:a}=(0,Gi.eventHandlerSafeInvoke)(o,i,e);if(!s&&t?.swallowExceptions!==!0)throw a}else this.releaseHandler(r)}}invokeAsync(i,e,t=La){return(0,Ji.__awaiter)(this,void 0,void 0,function*(){t?.parallelize===!1?yield this.sequentialInvokeAsync(i,e,t):yield this.parallelInvokeAsync(i,e,t)})}sequentialInvokeAsync(i,e,t){return(0,Ji.__awaiter)(this,void 0,void 0,function*(){for(let r of this._handlers){let o=r?.deref();if(o){let{succeeded:s,error:a}=yield(0,Gi.eventHandlerSafeInvokeAsync)(o,i,e);if(!s&&t.swallowExceptions!==!0)throw a}else this.releaseHandler(r)}})}parallelInvokeAsync(i,e,t){return(0,Ji.__awaiter)(this,void 0,void 0,function*(){let r=[];for(let o of this._handlers){let s=o?.deref();s?r.push((0,Gi.eventHandlerSafeInvokeAsync)(s,i,e).then(({succeeded:a,error:f})=>{if(!a&&t.swallowExceptions!==!0)throw f})):this.releaseHandler(o)}yield Promise.all(r)})}attach(i){this._handlers.push(this._refHolder.getWeakHandler(this,i))}detach(i){let e=this._refHolder.releaseWeakHandler(i);this.tryRemoveHandlerRef(e)}onHandlerFinalizer(i){this.tryRemoveHandlerRef(i?.handlerRef),this._handlerFinalizedEvent.invokeAsync(this,i,{swallowExceptions:!0})}tryRemoveHandlerRef(i){let e=this._handlers.findIndex(t=>t===i);e>=0&&this._handlers.splice(e,1)}releaseHandler(i){this._refHolder.unregisterRef(i),this.tryRemoveHandlerRef(i)}};Tn.WeakEvent=Yi});var Yo=oe(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});var Go=(Ge(),Ze(Je));(0,Go.__exportStar)(Qi(),kn);(0,Go.__exportStar)(Jo(),kn)});var Xo=oe(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});var Xi=(Ge(),Ze(Je));(0,Xi.__exportStar)(No(),Ft);(0,Xi.__exportStar)(qi(),Ft);(0,Xi.__exportStar)(Yo(),Ft)});var rr={};lr(rr,{Client:()=>Ye,ClientDescriptor:()=>ei,Entity:()=>he,EntityFile:()=>fe,MigrationPathError:()=>at,ServerSync:()=>ft,Storage:()=>Ye,StorageDescriptor:()=>ei,UndoHistory:()=>Qe,authorization:()=>Xa,collection:()=>Ci,createDefaultMigration:()=>Ai,createMigration:()=>Pi,id:()=>Ya,migrate:()=>sn,schema:()=>It});var Dr=Ve(et(),1),Kt=4,gt=36;function Sr(n){return n.toString(gt).padStart(Kt,"0")}function ps(n){return n.toString().padStart(6,"0")}var Vt=class{constructor(){this.latest={time:Date.now(),counter:0,node:ms()},this.zeroCounter=0,this.now=i=>(this.latest=Ir(this.latest),this.get(i,this.latest)),this.OLD_now=i=>(this.latest=Ir(this.latest),ps(i)+ys(this.latest)),this.timerState=()=>this.latest,this.update=i=>{let e=i.slice(Kt);this.latest=gs(this.latest,Er(e))},this.get=(i,e)=>Sr(i)+Or(e),this.zero=i=>Sr(i)+Or({time:0,counter:this.zeroCounter++,node:this.latest.node}),this.getWallClockTime=ui}},zt=class extends Error{constructor(...i){super(),this.type="ClockDriftError",this.message=["maximum clock drift exceeded"].concat(i).join(" ")}},Nt=class extends Error{constructor(){super(),this.type="OverflowError",this.message="timestamp counter overflow"}},ai=4,ci=7,$t=60*1e3,mt=9;function ms(){return Dr.default.slug().padStart(ci,"0").slice(0,ci)}function Or(n){let i=new Date(n.time).getTime().toString(gt).padStart(mt,"0"),e=n.counter.toString(gt).padStart(ai,"0"),t=n.node.padStart(ci,"0");return`${i}${e}${t}`}function Ir(n){let i=Date.now(),e=Math.max(n.time,i),t=n.time===e?n.counter+1:0;if(e-i>$t)throw new zt(e,i,$t);if(t>65535)throw new Nt;return{time:e,counter:t,node:n.node}}function gs(n,i){let e=Date.now(),t=Math.max(e,Math.max(n.time,i.time)),r=Math.max(n.counter,i.counter),o;if(n.time===t&&i.time===t?o=r+1:n.time===t?o=n.counter+1:i.time===t?o=i.counter+1:o=0,t-e>$t)throw new zt(t,e,$t);if(o>65535)throw new Nt;return{time:t,counter:o,node:n.node}}function Er(n){let i=n.slice(0,mt),e=n.slice(mt,mt+ai),t=n.slice(mt+ai),r=parseInt(i,gt),o=parseInt(e,gt);if(isNaN(r)||isNaN(o))throw new Error("invalid clock format");return{time:r,counter:o,node:t}}function ys(n){let i=new Date(n.time).toISOString(),e=n.counter.toString(16).toUpperCase().padStart(4,"0"),t=n.node.padStart(16,"0");return`${i}-${e}-${t}`}function _r(n){return parseInt(n.slice(0,Kt),36)}function li(n,i){return _r(n)-_r(i)}function ui(n){return Er(n.slice(Kt)).time}var qt,bs=new Uint8Array(16);function di(){if(!qt&&(qt=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!qt))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return qt(bs)}var Cr=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function ws(n){return typeof n=="string"&&Cr.test(n)}var Ar=ws;var ee=[];for(Ht=0;Ht<256;++Ht)ee.push((Ht+256).toString(16).substr(1));var Ht;function vs(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,e=(ee[n[i+0]]+ee[n[i+1]]+ee[n[i+2]]+ee[n[i+3]]+"-"+ee[n[i+4]]+ee[n[i+5]]+"-"+ee[n[i+6]]+ee[n[i+7]]+"-"+ee[n[i+8]]+ee[n[i+9]]+"-"+ee[n[i+10]]+ee[n[i+11]]+ee[n[i+12]]+ee[n[i+13]]+ee[n[i+14]]+ee[n[i+15]]).toLowerCase();if(!Ar(e))throw TypeError("Stringified UUID is invalid");return e}var Pr=vs;function xs(n,i,e){n=n||{};var t=n.random||(n.rng||di)();if(t[6]=t[6]&15|64,t[8]=t[8]&63|128,i){e=e||0;for(var r=0;r<16;++r)i[e+r]=t[r];return i}return Pr(t)}var yt=xs;function Q(n){return Oe(n)||we(n)}function tt(n,i){return n===i?!0:!(!Q(n)||!Q(i)||n["@@type"]!==i["@@type"]||n.id!==i.id)}var Ss="/",bt=":",hi=new WeakMap;function ne(n){let i=me(n);return L(!!i,`Object ${JSON.stringify(n)} does not have an OID assigned to it`),i}function me(n){if(V(n))return hi.get(n)}function N(n,i){return L(V(n),`Only objects can be assigned OIDs, received ${JSON.stringify(n)}`),pi(n)&&Jt(n),hi.set(n,i),n}function pi(n){return!!me(n)}function Jt(n){return hi.delete(n),n}function mi(n,i,e){if(pi(n))return ne(n);{let t=ve(i,e);return N(n,t),t}}function Rr(n,i,e){if(pi(n)){let t=ne(n);if(Ce(t,i))return ne(n);{let r=ve(i,e);return N(n,r),r}}else{let t=ve(i,e);return N(n,t),t}}var fi={".":"&dot;","/":"&slash;",":":"&colon;"};function Fr(n){return n.replace(/[/]/g,fi["/"]).replace(/[:]/g,fi[":"]).replace(/[.]/g,fi["."])}function Tr(n){return n.replace(/&slash;/g,"/").replace(/&colon;/g,":").replace(/&dot;/g,".")}function Y(n,i,e){let t=Fr(n)+Ss+Fr(i);return e&&(t+=bt+e),t}function ve(n,i=Os){let{collection:e,id:t}=ce(n);return Y(e,t,i())}function ce(n){let[i,e,...t]=n.split("/");t.length&&(console.error(`OID ${n} has more than 3 segments. Attempting to parse it anyway.`),e+="/"+t.join("/"));let[r,o]=e.split(bt),s;return r.includes(".")?s=r.slice(0,r.indexOf(".")):s=r,{collection:Tr(i),id:Tr(s),subId:o}}function nt(n,i){let e=ne(n);if(Array.isArray(n)){let t;for(let r=0;r<n.length;r++)t=n[r],V(t)&&!Q(t)&&(Rr(t,e,i),nt(t,i))}else if(V(n)&&!Q(n))for(let t of Object.keys(n))V(n[t])&&!Q(n[t])&&(Rr(n[t],e,i),nt(n[t],i))}function Wt(n){if(Jt(n),Array.isArray(n))for(let i=0;i<n.length;i++)Wt(n[i]);else if(V(n))for(let i of Object.keys(n))Wt(n[i])}function Os(){return yt().slice(0,8)}function ae(n){return{"@@type":"ref",id:n}}function Qt(n,i=new Map){if(Array.isArray(n)){let e=ne(n),t=N([],e);for(let r=0;r<n.length;r++){let o=n[r];if(V(o)){if(Oe(o))throw new Error("An attempt was made to normalize an already normalized object! This is an error in verdant itself.");if(we(o)){t[r]=o;continue}else{let s=ne(o);t[r]=ae(s),Qt(o,i)}}else t[r]=o}i.set(e,t)}else if(V(n)&&!Q(n)){let e=ne(n),t=N({},e);for(let r of Object.keys(n)){let o=n[r];if(V(o)){if(Oe(o))throw new Error("An attempt was made to normalize an already normalized object! This is an error in verdant itself.");if(we(o))t[r]=o;else{let s=ne(o);t[r]=ae(s),Qt(o,i)}}else t[r]=o}i.set(e,t)}else Q(n);return i}function $(n){return n.split(".")[0].split(bt)[0]}function gi(n){let i=$(n),e=ve(i,()=>"\uFFFF");return[`${i}${bt}`,e]}function Ce(n,i){return $(n)===$(i)}function Gt(n){return!n.includes(bt)}var Mr=Ve(jr(),1);function Is(n,i){return typeof i!="object"||i===null||Array.isArray(i)?i:Object.fromEntries(Object.entries(i).sort(([e],[t])=>e<t?-1:e>t?1:0))}function wt(n){return JSON.stringify(n,Is)}function le(n,i=!0){if(V(n)||Array.isArray(n)){let e=me(n),t;if(Array.isArray(n))t=n.map(r=>le(r,i));else{t={};for(let[r,o]of Object.entries(n))t[r]=le(o,i)}return i&&e&&N(t,e),t}return n}function ke(n){return(0,Mr.default)(n)}function V(n){return n&&typeof n=="object"}function Lr(n){for(var i=[],e=[n],t=0;e.length;){var r=e.pop();if(typeof r=="boolean")t+=4;else if(typeof r=="string")t+=r.length*2;else if(typeof r=="number")t+=8;else if(typeof r=="object"&&i.indexOf(r)===-1){i.push(r);for(var o in r)e.push(r[o])}}return t}function L(n,i="assertion failed"){if(!n)throw new Error(i)}function Yt(n=16){return yt().replace("-","").slice(0,n)}function Ur(n,i){for(let e=n.length-1;e>=0;e--)if(i(n[e]))return e;return-1}function Vr(n,i){let e;return function(...t){let r=this;clearTimeout(e),e=setTimeout(()=>n.apply(r,t),i)}}function zr(n,i){let e=0,t;return function(...r){let o=this,s=Date.now();s-e>=i?(e=s,n.apply(o,r),clearTimeout(t)):(clearTimeout(t),t=setTimeout(()=>{e=s,n.apply(o,r)},i))}}function we(n){return n&&n["@@type"]==="file"}function vt(n){return{"@@type":"file",id:n}}function it(n){return typeof File<"u"&&n instanceof File||typeof Blob<"u"&&n instanceof Blob}function Xt(n){return n&&V(n)&&typeof n.id=="string"&&typeof n.remote=="boolean"&&typeof n.name=="string"&&typeof n.type=="string"}var rt="__@@oid_do_not_use",Ae="@@id";function _s(n){if(V(n))return n[Ae]||n[rt]}function Ds(n){return V(n)&&(delete n[rt],delete n[Ae]),n}function Es(n){let i=_s(n);i&&N(n,i)}function xt(n){if(Es(n),Ds(n),Array.isArray(n))for(let i=0;i<n.length;i++)xt(n[i]);else if(V(n))for(let i of Object.keys(n))xt(n[i])}function Cs(n){let{collection:i,id:e,subId:t}=ce(n);return Y(i,e,t)}var As=/"\w+\/[^"]+?(\.[^"]+)+\:[\S]+?"/g;function Ps(n){return n.replaceAll(As,i=>{let e=i.slice(1,i.length-1);return`"${Cs(e)}"`})}function yi(n){return JSON.parse(Ps(JSON.stringify(n)))}function bi(n){let i=$(n);return[`${i}.`,`${i}.\uFFFF`]}function wi(n){return n===Ae||n===rt}function Oe(n){return n&&typeof n=="object"&&n["@@type"]==="ref"}function vi(n){return V(n)&&!Q(n)}function Rs(n,i){return n===i?!0:Q(n)&&Q(i)?tt(n,i):!1}function St(n,i,e,t,r=[],o){let s=o?.authz,a=ne(n);function f(u,p,S,w){if(!vi(p))Rs(p,S)||(w?r.push(je({oid:a,timestamp:e(),data:{op:"list-set",index:u,value:p}},s)):r.push(je({oid:a,timestamp:e(),data:{op:"set",name:u,value:p}},s)));else{let C=me(S),g=me(p);g&&!Ce(a,g)?(p=le(p,!1),g=ve(a,t),N(p,g)):o?.mergeUnknownObjects?!g&&C?(N(p,C),g=C):g=mi(p,a,t):g=mi(p,a,t),L(!!g,"Error: no value OID was resolved during diff. This is a bug in Verdant."),L(Ce(a,g),`Error: value OID ${g} is not related to parent OID ${a}. This is a bug in Verdant.`),S===void 0||g!==C?(Pe(p,g,e,t,r),r.push(je({oid:a,timestamp:e(),data:{op:"set",name:u,value:ae(g)}},s)),C!==void 0&&r.push(je({oid:C,timestamp:e(),data:{op:"delete"}},s))):St(S,p,e,t,r,o)}}if(Array.isArray(n)&&Array.isArray(i)){for(let p=0;p<i.length;p++){let S=i[p],w=n[p];f(p,S,w,!0)}let u=n.length-i.length;if(u>0){for(let p=i.length;p<n.length;p++){let S=n[p],w=me(S);w&&r.push(je({oid:w,timestamp:e(),data:{op:"delete"}},s))}r.push(je({oid:a,timestamp:e(),data:{op:"list-delete",index:i.length,count:u}},s))}}else{if(Array.isArray(n)||Array.isArray(i))throw new Error("Cannot diff an array with an object");if(vi(n)&&vi(i)){let u=new Set(Object.keys(n));for(let[p,S]of Object.entries(i)){if(S===void 0&&o?.defaultUndefined||(u.delete(p),wi(p)))continue;let w=n[p];f(p,S,w,!1)}if(!o?.defaultUndefined)for(let p of u)wi(p)||r.push(je({oid:a,timestamp:e(),data:{op:"remove",name:p}},s))}}return r}function Pe(n,i,e,t,r=[],o){N(n,i),nt(n,t);let s=Qt(n);for(let a of s.keys()){let f=s.get(a),u={oid:a,timestamp:e(),data:{op:"initialize",value:Jt(f)}};r.push(je(u,o?.authz))}return r}function je(n,i){return i&&(n.authz=i),n}function Ot(n){let i={};for(let e of n)e.oid in i?i[e.oid].push(e):i[e.oid]=[e];return i}function $r(n){let i={};for(let e of n){let t=$(e.oid);t in i?i[t].push(e):i[t]=[e]}return i}function Kr(n){let i={};for(let e of n){let t=$(e.oid);t in i?i[t].push(e):i[t]=[e]}return i}function Be(n){return Array.isArray(n)?!0:(console.error(`Cannot apply list patch; expected array, received ${JSON.stringify(n)}. This suggests your data is changing from a list to an object over time. (OID: ${me(n)})`),!1)}function ze(n,i,e){if(n==null&&i.op!=="initialize")return n;let t=n,r,o;function s(a){e&&Q(a)&&e.push(a)}switch(i.op){case"set":s(t[i.name]),t[i.name]=i.value;break;case"remove":s(t[i.name]),delete t[i.name];break;case"list-set":Be(n)&&(s(n[i.index]),n[i.index]=i.value);break;case"list-push":Be(n)&&n.push(i.value);break;case"list-delete":Be(n)&&(s(n[i.index]),n.splice(i.index,i.count));break;case"list-move-by-index":Be(n)&&(o=n.splice(i.from,1),n.splice(i.to,0,o[0]));break;case"list-remove":if(Be(n))do{let a=i.value;i.only==="last"?Oe(a)?r=Ur(n,f=>f.id===a.id):r=n.lastIndexOf(a):Oe(a)?r=n.findIndex(f=>f.id===a.id):r=n.indexOf(a),r!==-1&&(s(n[r]),n.splice(r,1))}while(!i.only&&r!==-1);break;case"list-add":Be(n)&&(n.some(f=>Oe(f)&&Oe(i.value)?f.id===i.value.id:f===i.value)||n.push(i.value));break;case"list-move-by-ref":Be(n)&&(r=n.findIndex(a=>tt(a,i.value)),o=n.splice(r,1),n.splice(i.index,0,o[0]));break;case"list-insert":if(Be(n)){if(!i.value&&!i.values)throw new Error(`Cannot apply list insert patch; expected value or values, received ${JSON.stringify(i)}`);i.value?n.splice(i.index,0,i.value):n.splice(i.index,0,...i.values)}break;case"delete":Array.isArray(n)?n.forEach(s):V(n)&&Object.values(n||{}).forEach(s);return;case"initialize":return le(i.value);case"touch":return n;default:throw new Error(`Unsupported patch operation: ${i.op}`)}return n}function Zt(n,i,e=[]){if(Array.isArray(n))for(let t=0;t<n.length;t++){let r=n[t];n[t]=Nr(r,i,e),V(n[t])&&Zt(n[t],i,e)}else if(!we(n)){if(V(n)){L(me(n),`Object ${JSON.stringify(n)} must have an oid`);for(let t of Object.keys(n))n[t]=Nr(n[t],i,e),V(n[t])&&Zt(n[t],i,e)}}return e}function Nr(n,i,e){if(Oe(n)){e.push(n.id);let t=i.get(n.id);return L(!!t,`No value was found in object map for ${n.id}`),N(t,n.id)}else return n}function qr(n){return n.data.op==="set"?n.data.name:!1}function Hr(n,i){return i.has(!0)?!0:n.data.op==="set"||n.data.op==="remove"?i.has(n.data.name):!1}function en(n){return{oid:n.oid,timestamp:n.timestamp,data:n.data,authz:n.authz}}var Me;(function(n){n[n.Realtime=0]="Realtime",n[n.Push=1]="Push",n[n.PassiveRealtime=2]="PassiveRealtime",n[n.PassivePush=3]="PassivePush",n[n.ReadOnlyPull=4]="ReadOnlyPull",n[n.ReadOnlyRealtime=5]="ReadOnlyRealtime"})(Me||(Me={}));var Fs=n=>Object.assign({type:"object"},n),Ts=n=>Object.assign({type:"array"},n),ks=n=>Object.assign({type:"string"},n),Bs=n=>Object.assign({type:"number"},n),js=n=>Object.assign({type:"boolean"},n),Ms=n=>Object.assign({type:"any"},n),Ls=n=>Object.assign({type:"map"},n),Us=n=>Object.assign({type:"file"},n),Wr={object:Fs,array:Ts,string:ks,number:Bs,boolean:js,any:Ms,map:Ls,file:Us};var Yr=Ve(et(),1);function xi(n){return n.equals!==void 0}function Si(n){return n.gte!==void 0||n.lte!==void 0||n.gt!==void 0||n.lt!==void 0}function Vs(n){return!!n.match}function Oi(n){return n.startsWith!==void 0}function Qr(n){return!Si(n)&&!xi(n)&&!Vs(n)&&!Oi(n)&&n.order}function xe(n){return n.type==="any"?!0:n.type==="map"?!1:n.nullable}function Re(n){return n?n.type==="map"||n.type==="array"?!0:n.type==="file"?!1:n.default!==void 0:!1}function _i(n){if(!(!n||!Re(n)))return n.type==="file"?xe(n)?null:void 0:n.type==="map"?{}:n.type==="array"?xe(n)?null:[]:n.type==="object"?xe(n)?null:void 0:typeof n.default=="function"?n.default():n.default}function Fe(n,i){for(let[e,t]of Object.entries(n.fields)){let r=Di(t);(r!==void 0&&i[e]===void 0||!xe(t)&&i[e]===null)&&(i[e]=r),i[e]&&Ne(i[e],t)}return i}function Ne(n,i){if(n==null)return n;if(i.type==="object")for(let[e,t]of Object.entries(i.properties)){if(n[e]===void 0){let r=Di(t);r!==void 0&&(n[e]=r)}Ne(n[e],t)}else if(i.type==="array")for(let e of n)Ne(e,i.items);else if(i.type==="map")for(let[e,t]of Object.entries(n))e===Ae||e===rt||Ne(t,i.values)}function Di(n){if(n.type==="string"||n.type==="number"||n.type==="boolean"||n.type==="any"){if(n.default&&typeof n.default=="function")return n.default();if(n.default!==void 0)return JSON.parse(JSON.stringify(n.default))}if(n.type==="array")return[];if(n.type==="map")return{};if(n.type!=="any"&&n.nullable)return null;if(n.type==="object"&&n.default){let i=typeof n.default=="function"?n.default():JSON.parse(JSON.stringify(n.default));for(let[e,t]of Object.entries(n.properties))i[e]===void 0&&(i[e]=Di(t));return i}}function Ei(n,i){for(let[e,t]of Object.entries(i))e===Ae||e===rt||(n.fields[e]?Ii(t,n.fields[e]):delete i[e]);return i}function Ii(n,i){if(V(n)&&i.type==="object")for(let[e,t]of Object.entries(n))i.properties[e]?Ii(t,i.properties[e]):delete n[e];else if(Array.isArray(n)&&i.type==="array")for(let e of n)Ii(e,i.items)}function Jr(n,i){for(let[e,t]of Object.entries(i))if(e!==Ae){if(!n[e])return{type:"invalid-key",fieldPath:[e],message:`Invalid field "${e}"`};if(t){let r=Te({field:n[e],value:t,fieldPath:[e]});if(r)return r}}}function Te({field:n,value:i,fieldPath:e=[],depth:t,requireDefaults:r}){if(!(t!==void 0&&t<=0)&&!(xe(n)&&i===null)){if(i===null&&(r||!Re(n)))return{type:"no-default",fieldPath:e,message:`Invalid null value for field ${Ie(e)}`};if(n.type==="object"){if(!V(i))return{type:"invalid-type",fieldPath:e,message:`Expected object ${n.nullable?"or null ":""}for field ${Ie(e)}, got ${i}`};for(let[o,s]of Object.entries(n.properties))o!==Ae&&i[o]&&Te({field:s,value:i[o],fieldPath:[...e,o],depth:t!==void 0?t-1:void 0});for(let o of Object.keys(i))if(!n.properties[o])return{type:"invalid-key",fieldPath:[...e,o],message:`Invalid unexpected field "${o}" on value ${Ie(e)}`}}else if(n.type==="array"){if(!Array.isArray(i))return i===null&&n.nullable?void 0:{type:"invalid-value",fieldPath:e,message:`Expected array ${n.nullable?"or null ":""}for field ${Ie(e)}, got ${i}`};for(let o of i)Te({field:n.items,value:o,fieldPath:[...e,"[]"],depth:t!==void 0?t-1:void 0})}else if(n.type==="map"){if(!V(i))return{type:"invalid-type",fieldPath:e,message:`Expected map for field ${Ie(e)}, got ${i}`};for(let[o,s]of Object.entries(i))Te({field:n.values,value:s,fieldPath:[...e,o],depth:t!==void 0?t-1:void 0})}else if(n.type==="string"){if(typeof i!="string")return{type:"invalid-type",fieldPath:e,message:`Expected string ${n.nullable?"or null ":""}for field ${Ie(e)}, got ${i}`};if(n.options&&!n.options.includes(i))return{type:"invalid-value",fieldPath:e,message:`Expected one of ${n.options.join(", ")} for field ${Ie(e)}, got ${i}`}}else if(n.type==="boolean"){if(typeof i!="boolean")return{type:"invalid-type",fieldPath:e,message:`Expected boolean ${n.nullable?"or null ":""}for field ${Ie(e)}, got ${i}`}}else if(n.type==="number"){if(typeof i!="number")return{type:"invalid-type",fieldPath:e,message:`Expected number ${n.nullable?"or null ":""}for field ${Ie(e)}, got ${i}`}}else if(n.type==="file"&&!it(i)&&!Xt(i))return{type:"invalid-type",fieldPath:e,message:`Expected file ${n.nullable?"or null ":""}for field ${Ie(e)}, got ${i}`}}}function Ie(n){return n.length===0?"root":n.join(".")}function Gr(n,i){let e={};for(let[t,r]of Object.entries(i))n[t]&&(e[t]=tn({field:n[t],value:r,fieldPath:[t]}));return e}function tn({field:n,value:i,fieldPath:e=[],depth:t}){let r=Te({field:n,value:i,fieldPath:e,depth:t,requireDefaults:!0});if(r)throw new Error(`Validation error: ${r.message}`);if(n.type==="object"){if(!V(i))return i;let o={};for(let[s,a]of Object.entries(n.properties))o[s]=tn({field:a,value:i[s],fieldPath:[...e,s],depth:t!==void 0?t-1:void 0});return o}else{if(n.type==="array")return Array.isArray(i)?i.map(o=>tn({field:n.items,value:o,fieldPath:[...e,"[]"],depth:t!==void 0?t-1:void 0})):i;if(n.type==="map"){if(!V(i))return i;let o={};for(let[s,a]of Object.entries(i))o[s]=tn({field:n.values,value:a,fieldPath:[...e,s],depth:t!==void 0?t-1:void 0});return o}else return i}}function $e(n,i){var e;return n.type==="object"?n.properties[i]:n.type==="array"?n.items:n.type==="map"?n.values:n.type==="any"?n:"type"in n?null:(e=n[i])!==null&&e!==void 0?e:null}var zs=function(n,i){var e={};for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&i.indexOf(t)<0&&(e[t]=n[t]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,t=Object.getOwnPropertySymbols(n);r<t.length;r++)i.indexOf(t[r])<0&&Object.prototype.propertyIsEnumerable.call(n,t[r])&&(e[t[r]]=n[t[r]]);return e};function Ci(n){var{synthetics:i,indexes:e}=n,t=zs(n,["synthetics","indexes"]);let r=Object.assign(Object.assign({},i),e);for(let[o,s]of Object.entries(t.fields))"indexed"in s&&(r[o]={field:o});return Object.assign(Object.assign({},t),{indexes:r})}function It(n){return n}It.collection=Ci;It.fields=Wr;It.generated={id:Yr.default};var nn="\uFFFFFE",Ns="\0",$s="\uFFFFFF";function ue(...n){let i=Ks(n);return i.length===1?i[0]:i}function Ke(...n){return n.join(nn)+`${$s}`}function qe(...n){return n.join(nn)+`${nn}${Ns}`}function Ks(n){let i=[[]];for(let e of n)if(Array.isArray(e)){let t=[];for(let r of i)for(let o of e)t.push(r.concat(o));i=t}else for(let t of i)t.push(`${e}`);return Array.from(new Set(i.map(e=>e.join(nn))))}function qs(n){return!!n.field}function Hs(n,i){let e={};for(let[t,r]of Object.entries(n.indexes||{})){let o=r;qs(o)?e[t]=Se(i[o.field]):e[t]=Se(o.compute(i))}return e}function Ws(n,i){return Object.entries(n.compounds||{}).reduce((e,[t,r])=>(e[t]=ue(...r.of.map(o=>i[o])),e),{})}function Qs(n,i){return Object.entries(n.fields).reduce((e,[t,r])=>("indexed"in r&&(e[t]=Se(i[t])),e),{})}function rn(n,i){let e=Object.assign(Object.assign({[n.primaryKey]:i[n.primaryKey]},Qs(n,i)),Hs(n,i));return Object.assign(e,Ws(n,Object.assign(Object.assign({},i),e))),e["@@@snapshot"]=JSON.stringify(i),e}var Js="null";function Se(n){if(n===null)return Js;if(typeof n=="string"||typeof n=="number")return n;if(typeof n=="boolean"||n===null)return`${n}`;if(n===void 0)return"undefined";if(Array.isArray(n))return n.map(Se);throw new Error(`Unsupported index value: ${n}`)}var Xr={version:0,collections:{}};function sn(n,i,e){let t=typeof i=="function",r=t?Xr:n,o=t?n:i,s=t?i:e,a=Object.keys(o.collections).filter(v=>r.collections[v]&&wt(r.collections[v])!==wt(o.collections[v])),f=Object.keys(r.collections).filter(v=>!o.collections[v]),u=Object.keys(o.collections).filter(v=>!r.collections[v]),p=new Set;for(let v of a){let _=r.collections[v].fields,I=o.collections[v].fields;Object.keys(I).some(O=>{var R,b;return!(!((R=_[O])===null||R===void 0)&&R.default)&&((b=I[O])===null||b===void 0?void 0:b.default)})&&p.add(v),Object.keys(_).some(O=>!I[O])&&p.add(v)}let S={},w={};for(let v of[...a,...u]){let _=on(r.collections[v]),I=on(o.collections[v]),O=I.filter(b=>!_.find(D=>D.name===b.name)),R=_.filter(b=>!I.find(D=>D.name===b.name));O.length>0&&(S[v]=O,a.includes(v)&&p.add(v)),R.length>0&&(w[v]=R,a.includes(v)&&p.add(v))}let C=(v,_)=>Fe(o.collections[v],_),g=v=>_=>{let I=o.collections[v];return Fe(I,Ei(I,_))};return{version:o.version,migrate:async v=>{let _=[];if(await s({migrate:async(I,O)=>{let R=g(I),b=async D=>{let d=await O(D);return N(d,ne(D)),R(d)};await v.migrate(I,b),_.push(I),p.delete(I)},identity:I=>I,withDefaults:C,info:{changedCollections:a,addedCollections:u,removedCollections:f},queries:v.queries,mutations:v.mutations}),o.version>1){v.log("debug","auto-migrating collections with new defaults",p);for(let O of p)await v.migrate(O,g(O)),_.push(O);let I=a.filter(O=>!_.includes(O));I.length>0&&console.error(`Unmigrated changed collections from version ${r.version} to version ${o.version}:`,I)}},removedCollections:f,addedIndexes:S,removedIndexes:w,allCollections:Object.keys(o.collections),changedCollections:a,addedCollections:u,oldCollections:Object.keys(r.collections),oldSchema:r,newSchema:o}}function on(n){return n?[...Object.keys(n.indexes||{}).map(i=>({name:i,multiEntry:["array","string[]","number[]","boolean[]"].includes(n.indexes[i].type),synthetic:!0,compound:!1})),...Object.keys(n.compounds||{}).map(i=>({name:i,multiEntry:n.compounds[i].of.some(e=>(n.fields[e]||n.indexes[e]).type==="array"),synthetic:!1,compound:!0}))]:[]}function Ai(n,i){return sn(i?n:{version:0,collections:{}},i||n,async({migrate:t,info:r})=>{if((i||n).version!==1)for(let o of r.changedCollections)await t(o,s=>s)})}function Pi(n,i,e){let t=typeof i=="function"||i===void 0,r=t?Xr:n,o=t?n:i,s=t?i:e;L(r,"Invalid arguments to createMigration"),L(o,"Invalid arguments to createMigration");let{changedCollections:a,addedCollections:f,removedCollections:u,addedIndexes:p,removedIndexes:S,autoMigratedCollections:w,autoMigration:C}=Gs(r,o);return{version:o.version,migrate:async g=>{let v=[];if(await s?.({migrate:async(I,O)=>{let R=C(I),b=async D=>{let d=await O(D);N(d,ne(D));let m=R(d),l=Jr(o.collections[I].fields,m);return m};await g.migrate(I,b),v.push(I),w.delete(I)},info:{changedCollections:a,addedCollections:f,removedCollections:u},queries:g.queries,mutations:g.mutations}),o.version>1){g.log("debug","auto-migrating collections with new defaults",w);for(let O of w)await g.migrate(O,C(O)),v.push(O);for(let O of u)await g.deleteCollection(O);let I=a.filter(O=>!v.includes(O));I.length>0&&console.error(`Unmigrated changed collections from version ${r.version} to version ${o.version}:`,I)}},removedCollections:u,addedIndexes:p,removedIndexes:S,allCollections:Object.keys(o.collections),changedCollections:a,addedCollections:f,oldCollections:Object.keys(r.collections),oldSchema:r,newSchema:o}}function Gs(n,i){let e=Object.keys(i.collections).filter(p=>n.collections[p]&&wt(n.collections[p])!==wt(i.collections[p])),t=Object.keys(n.collections).filter(p=>!i.collections[p]),r=Object.keys(i.collections).filter(p=>!n.collections[p]),o=new Set;for(let p of e){let S=n.collections[p].fields,w=i.collections[p].fields;Object.keys(w).some(C=>!Re(S[C])&&Re(w[C]))&&o.add(p),Object.keys(S).some(C=>!w[C])&&o.add(p)}let s={},a={};for(let p of[...e,...r]){let S=on(n.collections[p]),w=on(i.collections[p]),C=w.filter(v=>!S.find(_=>_.name===v.name)),g=S.filter(v=>!w.find(_=>_.name===v.name));C.length>0&&(s[p]=C,e.includes(p)&&o.add(p)),g.length>0&&(a[p]=g,e.includes(p)&&o.add(p))}return{changedCollections:e,addedCollections:r,removedCollections:t,addedIndexes:s,removedIndexes:a,autoMigratedCollections:o,withDefaults:(p,S)=>Fe(i.collections[p],S),autoMigration:p=>S=>{let w=i.collections[p];return Fe(w,Ei(w,S))}}}var an=class{constructor(i,e){this.getNow=i,this.createSubId=e,this.isPrimitive=t=>!V(t)||Q(t),this.createDiff=(t,r,o={})=>St(t,r,this.getNow,this.createSubId,[],o),this.createInitialize=(t,r)=>Pe(t,r,this.getNow,this.createSubId),this.createSet=(t,r,o)=>{if(this.isPrimitive(o))return[{oid:t,timestamp:this.getNow(),data:{op:"set",name:r,value:o}}];{let s=ve(t,this.createSubId);return[...Pe(o,s,this.getNow),{oid:t,timestamp:this.getNow(),data:{op:"set",value:ae(s),name:r}}]}},this.createRemove=(t,r)=>[{oid:t,timestamp:this.getNow(),data:{op:"remove",name:r}}],this.createListSet=(t,r,o)=>{if(this.isPrimitive(o))return[{oid:t,timestamp:this.getNow(),data:{op:"list-set",index:r,value:o}}];{let s=ve(t,this.createSubId);return[...Pe(o,s,this.getNow),{oid:t,timestamp:this.getNow(),data:{op:"list-set",index:r,value:ae(s)}}]}},this.createListPush=(t,r)=>{if(this.isPrimitive(r))return[{oid:t,timestamp:this.getNow(),data:{op:"list-push",value:r}}];{let o=ve(t,this.createSubId);return[...Pe(r,o,this.getNow),{oid:t,timestamp:this.getNow(),data:{op:"list-push",value:ae(o)}}]}},this.createListAdd=(t,r)=>this.isPrimitive(r)?[{oid:t,timestamp:this.getNow(),data:{op:"list-add",value:r}}]:[{oid:t,timestamp:this.getNow(),data:{op:"list-add",value:ae(r)}}],this.createListInsert=(t,r,o)=>{if(this.isPrimitive(o))return[{oid:t,timestamp:this.getNow(),data:{op:"list-insert",value:o,index:r}}];{let s=ve(t,this.createSubId);return[...Pe(o,s,this.getNow),{oid:t,timestamp:this.getNow(),data:{op:"list-insert",value:ae(s),index:r}}]}},this.createListRemove=(t,r,o)=>[{oid:t,timestamp:this.getNow(),data:{op:"list-remove",value:r,only:o}}],this.createListDelete=(t,r,o=1)=>[{oid:t,timestamp:this.getNow(),data:{op:"list-delete",index:r,count:o}}],this.createListMoveByRef=(t,r,o)=>[{oid:t,timestamp:this.getNow(),data:{op:"list-move-by-ref",value:r,index:o}}],this.createListMoveByIndex=(t,r,o)=>[{oid:t,timestamp:this.getNow(),data:{op:"list-move-by-index",from:r,to:o}}],this.createDelete=t=>[{oid:t,timestamp:this.getNow(),data:{op:"delete"}}],this.createDeleteAll=t=>t.map(r=>({oid:r,timestamp:this.getNow(),data:{op:"delete"}}))}};var z=class{constructor(i){this._onAllUnsubscribed=i,this.subscribers={},this.counts={},this._disabled=!1,this.disposed=!1,this.subscriberCount=e=>{var t;return(t=this.counts[e])!==null&&t!==void 0?t:0},this.totalSubscriberCount=()=>Object.values(this.counts).reduce((e,t)=>e+t,0),this.subscribe=(e,t)=>{let r=Yt(),o=this.subscribers[e];return o||(o=this.subscribers[e]={}),o[r]=t,this.counts[e]=(this.counts[e]||0)+1,()=>{this.subscribers[e]&&(delete this.subscribers[e][r],this.counts[e]--,this.counts[e]===0&&(delete this.subscribers[e],delete this.counts[e],this._onAllUnsubscribed&&this._onAllUnsubscribed(e)))}},this.emit=(e,...t)=>{this._disabled||this.subscribers[e]&&Object.values(this.subscribers[e]).forEach(r=>r(...t))},this.dispose=()=>{this._disabled=!0,this.disposed=!0;let e=Object.keys(this.subscribers);this.subscribers={},this.counts={},e.forEach(t=>{this._onAllUnsubscribed&&this._onAllUnsubscribed(t)})},this.disable=()=>{this._disabled=!0}}get disabled(){return this._disabled}};function Zr(n,i,e,t){if(i==null)return[{oid:n,timestamp:t(),data:{op:"delete"}}];let r=le(i),o=[];for(let s of e){let a=Ys(n,r,s,t);o.unshift(...a),ze(r,s.data)}return o}function Ys(n,i,e,t){let r=e.data;switch(r.op){case"set":case"remove":return[{oid:n,timestamp:t(),data:{op:"set",name:r.name,value:i[r.name]}}];case"list-insert":return[{oid:n,timestamp:t(),data:{op:"list-delete",index:r.index,count:1}}];case"list-delete":return[{oid:n,timestamp:t(),data:{op:"list-insert",index:r.index,values:i.slice(r.index,r.count)}}];case"list-move-by-ref":return[{oid:n,timestamp:t(),data:{op:"list-move-by-ref",value:r.value,index:i.indexOf(r.value)}}];case"list-move-by-index":return[{oid:n,timestamp:t(),data:{op:"list-move-by-index",from:r.to,to:r.from}}];case"delete":return[{oid:n,timestamp:t(),data:{op:"initialize",value:i}}];case"list-push":return[{oid:n,timestamp:t(),data:{op:"list-remove",value:r.value,only:"last"}}];case"list-remove":if(r.only==="last"){let o=i.lastIndexOf(r.value);return[{oid:n,timestamp:t(),data:{op:"list-insert",index:o,values:[r.value]}}]}else if(r.only==="first"){let o=i.indexOf(r.value);return[{oid:n,timestamp:t(),data:{op:"list-insert",index:o,values:[r.value]}}]}else{let o=[],s=i.indexOf(r.value);for(;s!==-1;)o.push(s),s=i.indexOf(r.value,s+1);return o.map(a=>({oid:n,timestamp:t(),data:{op:"list-insert",index:a,value:r.value}}))}case"list-add":return[{oid:n,timestamp:t(),data:{op:"list-remove",value:r.value,only:"last"}}];case"list-set":return[{oid:n,timestamp:t(),data:{op:"list-set",index:r.index,value:i[r.index]}}];case"initialize":return[{oid:n,timestamp:t(),data:{op:"delete"}}];case"touch":return[];default:throw new Error(`Cannot undo operation type: ${r.op}`)}}var ot=class{constructor(i){this.flusher=i,this.batches=new Map,this.flush=e=>{let t=this.batches.get(e);if(t)return t.flush()},this.discard=e=>{let t=this.batches.get(e);t&&(t.discard(),this.batches.delete(e))},this.flushAll=()=>[...this.batches.values()].map(e=>e.flush()),this.getSize=e=>{let t=this.batches.get(e);return t?t.items.length:0}}add({key:i,userData:e,items:t,max:r,timeout:o}){let s=this.batches.get(i);return s||(s=new Ri({max:r||null,startedAt:Date.now(),userData:e,timeout:o||null,flusher:this.flusher,key:i}),this.batches.set(i,s)),s.update({items:t,max:r,timeout:o,userData:e}),s}},Ri=class{constructor({max:i,startedAt:e,timeout:t,userData:r,flusher:o,key:s}){this.items=[],this.update=({items:a,max:f,timeout:u,userData:p})=>{this.items.push(...a),f!==void 0&&(this.max=f),u!==void 0&&(this.timeout=u),p&&(this.userData=p);let S=this.items.length!==0&&this.timeout!==null&&!this.flushTimeout;this.max!==null&&this.items.length>=this.max?this.flush():S&&this.timeout!==null&&(this.flushTimeout=setTimeout(this.flush,this.timeout))},this.flush=()=>{this.flushTimeout&&clearTimeout(this.flushTimeout),this.flushTimeout=void 0;let a=this.items;return this.items=[],this.flusher(a,this.key,this.userData)},this.discard=()=>{this.flushTimeout&&clearTimeout(this.flushTimeout),this.flushTimeout=void 0,this.items=[]},this.max=i,this.startedAt=e,this.timeout=t,this.userData=r,this.flusher=o,this.key=s}};function eo(n,i){let e,t;return(...r)=>{let o=i();return e&&e.length===o.length&&e.every((s,a)=>s===o[a])||(e=[...o],t=n(...r)),t}}var _t;(function(n){n[n.InvalidRequest=4e3]="InvalidRequest",n[n.BodyRequired=4001]="BodyRequired",n[n.NoToken=4010]="NoToken",n[n.InvalidToken=4011]="InvalidToken",n[n.TokenExpired=4012]="TokenExpired",n[n.Forbidden=4030]="Forbidden",n[n.NotFound=4040]="NotFound",n[n.Unexpected=5e3]="Unexpected",n[n.ConfigurationError=5010]="ConfigurationError",n[n.NoFileStorage=5011]="NoFileStorage"})(_t||(_t={}));var st=class extends Error{constructor(i,e,t){super(t??`Verdant error: ${i}`,{cause:e}),this.code=i,this.toResponse=()=>JSON.stringify({code:this.code})}get httpStatus(){let i=Math.floor(this.code/10);return i<600?i:500}};st.Code=_t;function to(n){return typeof n=="object"&&"code"in n&&typeof n.code=="number"}function Xs(n){return typeof Buffer<"u"?Buffer.from(n).toString("base64"):btoa(n)}function Zs(n){return typeof Buffer<"u"?Buffer.from(n,"base64").toString():atob(n)}var He={onlyUser:n=>Xs(`u:${n}:*`),onlyMe:()=>He.onlyUser(Fi),decode:n=>{let e=Zs(n).split(":");if(e.length!==3)throw new Error("Invalid authz string");return{scope:e[0],subject:e[1],action:e[2]}}},Fi="$$_originator_$$";function no(n,i){let{operations:e,baselines:t}=n;if(e)for(let r of e)r.authz&&He.decode(r.authz).subject===Fi&&(r.authz=He.onlyUser(i));if(t)for(let r of t)r.authz&&He.decode(r.authz).subject===Fi&&(r.authz=He.onlyUser(i))}var Ti=typeof window<"u"?window.indexedDB:void 0;function de(n){return n instanceof Error&&n.name==="AbortError"}function J(n){return new Promise((i,e)=>{n.onsuccess=()=>{i(n.result)},n.onerror=()=>{n.error&&de(n.error)?i(n.result):e(n.error)}})}function We(n,i){return new Promise((e,t)=>{let r=n.transaction([i],"readonly"),s=r.objectStore(i).openCursor(),a=0,f=0;s.onsuccess=function(u){let p=s.result;p&&(a++,f=f+Lr(p.value),p.continue())},s.onerror=function(u){s.error&&de(s.error)?e({count:a,size:f}):t(s.error)},r.oncomplete=function(u){e({count:a,size:f})},r.onabort=function(u){t(u)},r.onerror=function(u){t(u)}})}function cn(n,i){let e=n.transaction(i,"readonly"),t=i.map(r=>{let o=e.objectStore(r);return J(o.getAll())});return Promise.all(t)}async function ge(n){n.close(),await new Promise((i,e)=>{i()})}async function ln(n,i=Ti){let e=i.deleteDatabase([n,"meta"].join("_")),t=i.deleteDatabase([n,"collections"].join("_"));await Promise.all([new Promise((r,o)=>{e.onsuccess=r,e.onerror=o}),new Promise((r,o)=>{t.onsuccess=r,t.onerror=o})]),window.location.reload()}function io(n,i=window.indexedDB){return J(i.deleteDatabase(n))}async function ro(n=window.indexedDB){return n.databases()}function un(n,i,e,t,r){let o=n.transaction(i,e);if(t){let s=()=>{r?.("debug","aborting transaction");try{o.abort()}catch(a){r?.("debug","aborting transaction failed",a)}};t.addEventListener("abort",s),o.addEventListener("error",()=>{t.removeEventListener("abort",s)}),o.addEventListener("complete",()=>{t.removeEventListener("abort",s)})}return o}var _e=class{constructor(){this._disposes=[];this.disposed=!1;this.dispose=()=>{this.disposed=!0,this._disposes.forEach(i=>i()),this._disposes=[]};this.addDispose=i=>{this._disposes.push(i)}}};var se=class extends _e{constructor(e,{log:t}={}){super();this.db=e;this.globalAbortController=new AbortController;this.createTransaction=(e,t)=>{let r=un(this.db,e,t?.mode||"readonly",t?.abort,this.log);return this.globalAbortController.signal.addEventListener("abort",r.abort),r.addEventListener("complete",()=>{this.globalAbortController.signal.removeEventListener("abort",r.abort)}),r.addEventListener("error",()=>{this.globalAbortController.signal.removeEventListener("abort",r.abort)}),r};this.run=async(e,t,r)=>{if(this.disposed||r?.transaction?.error)return Promise.resolve(void 0);let s=(r?.transaction||this.createTransaction([e],r)).objectStore(e),a=t(s);return J(a)};this.runAll=async(e,t,r)=>{if(this.disposed||r?.transaction?.error)return Promise.resolve([]);let s=(r?.transaction||this.createTransaction([e],r)).objectStore(e),a=t(s);return Promise.all(a.map(J))};this.iterate=async(e,t,r,o)=>{let a=(o?.transaction||this.createTransaction([e],o)).objectStore(e),f=t(a);return Array.isArray(f)?Promise.all(f.map(u=>new Promise((p,S)=>{u.onsuccess=()=>{let w=u.result;w?(r(w.value,a),w.continue()):p()},u.onerror=()=>{u.error&&de(u.error)?p():S(u.error)}}))).then(()=>{}):new Promise((u,p)=>{f.onsuccess=()=>{let S=f.result;S?r(S.value,a)?u():S.continue():u()},f.onerror=()=>{f.error&&de(f.error)?u():p(f.error)}})};this.clear=e=>this.run(e,t=>t.clear(),{mode:"readwrite"});this.log=t,this.addDispose(()=>{this.globalAbortController.abort()})}};var dn=class extends se{constructor(){super(...arguments);this.getAckInfo=async()=>{let e=await this.run("info",t=>t.get("ack"));return e||{globalAckTimestamp:null,type:"ack"}};this.setGlobalAck=async e=>{await this.run("info",t=>t.put({type:"ack",globalAckTimestamp:e}),{mode:"readwrite"})}}};var fn=class extends se{constructor(e,t){super(e,t);this.getAllForDocument=async(e,{mode:t="readonly",transaction:r}={})=>{let o=[];return await this.iterateOverAllForDocument(e,s=>{o.push(s)},{mode:t,transaction:r}),o};this.iterateOverAllForDocument=async(e,t,{mode:r="readonly",transaction:o}={})=>this.iterate("baselines",s=>{let a=$(e),[f,u]=gi(e),[p,S]=bi(e);return[s.openCursor(IDBKeyRange.only(a)),s.openCursor(IDBKeyRange.bound(f,u,!1,!1)),s.openCursor(IDBKeyRange.bound(p,S,!1,!1))]},t,{mode:r,transaction:o});this.iterateOverAllForCollection=async(e,t,{mode:r="readonly",transaction:o}={})=>this.iterate("baselines",s=>[s.openCursor(IDBKeyRange.bound(e,e+"\uFFFF",!1,!1))],t,{mode:r,transaction:o});this.getAllForMultipleDocuments=async(e,{mode:t="readonly"}={})=>(await this.runAll("baselines",o=>e.flatMap(s=>{let a=$(s),[f,u]=gi(s),[p,S]=bi(s);return[o.get(a),o.getAll(IDBKeyRange.bound(f,u,!1,!1)),o.getAll(IDBKeyRange.bound(p,S,!1,!1))]}),{mode:t})).flat();this.getAllSince=async(e,{mode:t="readonly"}={})=>this.run("baselines",r=>{let o=e?IDBKeyRange.lowerBound(e,!0):void 0;return r.index("timestamp").getAll(o)},{mode:t});this.get=async(e,{transaction:t,mode:r="readonly"}={})=>this.run("baselines",o=>o.get(e),{mode:r,transaction:t});this.set=async(e,{transaction:t}={})=>{await this.run("baselines",r=>r.put(e),{mode:"readwrite",transaction:t})};this.setAll=async(e,{transaction:t}={})=>{await this.runAll("baselines",r=>e.map(o=>r.put(o)),{mode:"readwrite",transaction:t})};this.reset=()=>this.clear("baselines");this.delete=async(e,{transaction:t})=>{await this.run("baselines",r=>r.delete(e),{mode:"readwrite",transaction:t})}}};var oo=Ve(et(),1);var hn=class extends se{constructor(){super(...arguments);this.get=async({transaction:e}={})=>{if(this.cached)return this.cached;let t=await this.run("info",r=>r.get("localReplicaInfo"),{transaction:e});return t?(this.cached=t,t):(this._creating||(this._creating=(async()=>{let o={type:"localReplicaInfo",id:(0,oo.default)(),userId:void 0,ackedLogicalTime:null,lastSyncedLogicalTime:null};await this.run("info",s=>s.put(o),{mode:"readwrite"}),this.cached=o})()),await this._creating,this.get({transaction:e}))};this.update=async(e,{transaction:t}={})=>{let r=await this.get({transaction:t});Object.assign(r,e),await this.run("info",o=>o.put(r),{mode:"readwrite"}),this.cached=r};this.reset=async()=>{let e=await this.get();e.ackedLogicalTime=null,e.lastSyncedLogicalTime=null,await this.run("info",t=>t.put(e),{mode:"readwrite"})}}};var pn=class{constructor(i){this.meta=i;this.createOperation=async i=>{let e=await this.meta.localReplica.get();return{type:"op",timestamp:this.meta.now,replicaId:e.id,operations:i.operations.map(en)}};this.createMigrationOperation=async({targetVersion:i,...e})=>{let t=await this.meta.localReplica.get();return{type:"op",operations:e.operations.map(r=>({...r,timestamp:this.meta.time.zero(i)})),timestamp:this.meta.time.zero(i),replicaId:t.id}};this.createSyncStep1=async i=>{let e=await this.meta.localReplica.get(),t=i===null?null:e.lastSyncedLogicalTime,r=[],o=new Set;t?await this.meta.operations.iterateOverAllLocalOperations(a=>{r.push(en(a)),o.add($(a.oid))},{after:t,mode:"readwrite"}):await this.meta.operations.iterateOverAllOperations(a=>{r.push(en(a)),o.add($(a.oid))},{mode:"readwrite"});let s=[];return t||(s=await this.meta.baselines.getAllSince("")),{type:"sync",schemaVersion:this.meta.schema.currentVersion,timestamp:this.meta.now,replicaId:e.id,resyncAll:!e.lastSyncedLogicalTime,operations:r,baselines:s,since:t}};this.createPresenceUpdate=async i=>{let e=await this.meta.localReplica.get();return{type:"presence-update",presence:i,replicaId:e.id}};this.createHeartbeat=async()=>{let i=await this.meta.localReplica.get();return{type:"heartbeat",timestamp:this.meta.now,replicaId:i.id}};this.createAck=async i=>{let e=await this.meta.localReplica.get();return{type:"ack",timestamp:this.meta.now,replicaId:e.id,nonce:i}}}};var mn=class extends se{constructor(e,t){super(e,t);this.iterateOverAllOperationsForDocument=async(e,t,{to:r,from:o,after:s,mode:a="readonly",transaction:f}={})=>{let p=(f||this.createTransaction(["operations"],{mode:a})).objectStore("operations"),S=p.index("d_t"),w=o||s,C=w?ue(e,w):qe(e),g=r?ue(e,r):Ke(e),v=IDBKeyRange.bound(C,g,!!s,!1),_=S.openCursor(v,"next");return new Promise((I,O)=>{let R;_.onsuccess=b=>{let D=_.result;if(D){let d=D.value;L(d.oid.startsWith(e)),L(R===void 0||R<=d.timestamp,`expected ${R} <= ${d.timestamp}`),t(d,p),R=d.timestamp,D.continue()}else I()},_.onerror=b=>{if(de(_.error)){I();return}else O(_.error)}})};this.iterateOverAllOperationsForEntity=async(e,t,{after:r,to:o,mode:s,transaction:a})=>{let u=(a||this.createTransaction(["operations"],{mode:s})).objectStore("operations"),p=r?ue(e,r):qe(e),S=o?ue(e,o):Ke(e),w=IDBKeyRange.bound(p,S,!!r,!1),C=u.openCursor(w,"next");return new Promise((g,v)=>{let _;C.onsuccess=I=>{let O=C.result;if(O){let R=O.value;L(R.oid.startsWith(e)),L(_===void 0||_<=R.timestamp,`expected ${_} <= ${R.timestamp}`),t(R,u),_=R.timestamp,O.continue()}else g()},C.onerror=I=>{de(C.error)?g():v(C.error)}})};this.iterateOverAllOperationsForCollection=async(e,t,{after:r,to:o,mode:s,transaction:a})=>{let f=a||this.createTransaction(["operations"],{mode:s});return this.iterate("operations",u=>u.openCursor(IDBKeyRange.bound(e,e+"\uFFFF",!1,!1),"next"),t,{mode:s,transaction:f})};this.iterateOverAllLocalOperations=async(e,{before:t,after:r,mode:o="readonly",transaction:s})=>{let f=(s||this.createTransaction(["operations"],{mode:o})).objectStore("operations"),u=f.index("l_t"),p=r?ue(!0,r):qe(!0),S=t?ue(!0,t):Ke(!0),w=IDBKeyRange.bound(p,S,!!r,!0),C=u.openCursor(w,"next");return new Promise((g,v)=>{let _;C.onsuccess=I=>{let O=C.result;if(O){let R=O.value;L(_===void 0||_<=R.timestamp,`expected ${_} <= ${R.timestamp}`),e(R,f),_=R.timestamp,O.continue()}else g()},C.onerror=I=>{de(C.error)?g():v(C.error)}})};this.iterateOverAllOperations=async(e,{before:t,transaction:r,mode:o,from:s})=>{await this.iterate("operations",a=>{let f=s?qe(s):void 0,u=t?Ke(t):void 0,p=f&&u?IDBKeyRange.bound(f,u,!1,!0):f?IDBKeyRange.lowerBound(f,!1):u?IDBKeyRange.upperBound(u,!0):void 0;return a.index("timestamp").openCursor(p,"next")},e,{mode:o,transaction:r})};this.addOperations=async(e,{transaction:t}={})=>this.insert(e.map(this.addCompoundIndexes),{transaction:t});this.addCompoundIndexes=e=>({...e,oid_timestamp:ue(e.oid,e.timestamp),l_t:ue(e.isLocal,e.timestamp),d_t:ue($(e.oid),e.timestamp)});this.insert=async(e,{transaction:t})=>{let r=new Set;return await this.runAll("operations",o=>e.map(s=>(r.add($(s.oid)),o.put(s))),{mode:"readwrite",transaction:t}),Array.from(r)};this.reset=()=>this.clear("operations")}};var gn=class{constructor(i,e){this.db=i;this.currentVersion=e;this.cached=null;this.get=async()=>{if(this.cached)return this.cached;let r=this.db.transaction("info","readonly").objectStore("info").get("schema"),o=await J(r);return o?(this.cached=JSON.parse(o.schema),this.cached):null};this.set=async i=>{let o=this.db.transaction("info","readwrite").objectStore("info").put({type:"schema",schema:JSON.stringify(i)});this.cached=i,await J(o)}}};var Dt=class extends z{constructor({disableRebasing:e,context:t,onOperation:r}){super();this.time=new Vt;this.disableRebasing=!1;this._closing=!1;this.setContext=e=>{this.context=e};this.close=()=>{this._closing=!0};this.createTransaction=(e,t={})=>un(this.db,e,t.write?"readwrite":"readonly",t.abort,this.context.log);this.getAllDocumentRelatedOids=async e=>{let t=new Set,r=$(e);L(r===e,"Must be root document OID"),t.add(r);let o=this.createTransaction(["baselines","operations"]);return await Promise.all([this.baselines.iterateOverAllForDocument(r,s=>{t.add(s.oid)},{transaction:o}),this.operations.iterateOverAllOperationsForDocument(r,s=>{t.add(s.oid)},{transaction:o})]),Array.from(t)};this.getAllCollectionRelatedOids=async e=>{let t=new Set,r=this.db.transaction(["baselines","operations"],"readwrite");return await Promise.all([this.baselines.iterateOverAllForCollection(e,o=>{t.add(o.oid)},{transaction:r}),this.operations.iterateOverAllOperationsForCollection(e,o=>{t.add(o.oid)},{transaction:r})]),Array.from(t)};this.getDocumentSnapshot=async(e,t={})=>{let r=$(e);L(r===e,"Must be root document OID");let o=this.db.transaction(["baselines","operations"],"readwrite"),s=await this.baselines.getAllForDocument(r,{transaction:o}),a=new Map;for(let u of s)u.snapshot&&N(u.snapshot,u.oid),a.set(u.oid,u.snapshot);await this.operations.iterateOverAllOperationsForDocument(r,u=>{let p=a.get(u.oid)||void 0,S=ze(p,u.data);S&&N(S,u.oid),a.set(u.oid,S)},{transaction:o,to:t.to||this.now});let f=a.get(r);return f&&Zt(f,a),f};this.getDocumentData=async(e,t)=>{let r=this.createTransaction(["baselines","operations"],t),o=[],s={};return await Promise.all([this.baselines.iterateOverAllForDocument(e,a=>{o.push(a)},{transaction:r}),this.operations.iterateOverAllOperationsForDocument(e,a=>{s[a.oid]??=[],s[a.oid].push(a)},{transaction:r})]),{baselines:o,operations:s}};this.getDocumentAuthz=async e=>{let t=await this.baselines.get(e);if(t)return t.authz;let r;return await this.operations.iterateOverAllOperationsForEntity(e,o=>{if(o.data.op==="initialize")return r=o.authz,!0},{}),r};this.ack=async e=>{let t=await this.localReplica.get();e>this.now||(this.emit("message",{type:"ack",replicaId:t.id,timestamp:e}),!this._closing&&(!t.ackedLogicalTime||e>t.ackedLogicalTime)&&this.localReplica.update({ackedLogicalTime:e}))};this.insertLocalOperations=async(e,t)=>{if(e.length===0)return;this.log("debug",`Inserting ${e.length} local operations`,e);for(let o of e)o.isLocal=!0;await this.operations.addOperations(e,t);let r=await this.messageCreator.createOperation({operations:e});this.emit("message",r),this.tryAutonomousRebase(),this.onOperation&&e.forEach(o=>this.onOperation(o))};this.insertRemoteOperations=async(e,t)=>{if(e.length===0)return[];this.log("debug",`Inserting ${e.length} remote operations`,e);let r=await this.operations.addOperations(e.map(o=>({...o,isLocal:!1})),t);return this.ack(e[e.length-1].timestamp),this.onOperation&&e.forEach(o=>this.onOperation(o)),r};this.insertRemoteBaselines=async(e,t)=>{if(e.length===0)return[];this.log(`Inserting ${e.length} remote baselines`),await this.baselines.setAll(e,t);let r=new Set;return e.forEach(o=>{r.add($(o.oid))}),Array.from(r)};this.insertData=async(e,t)=>{let r=this.createTransaction(["baselines","operations"],{...t,write:!0});e.baselines&&await this.insertRemoteBaselines(e.baselines,{transaction:r}),!t?.abort?.aborted&&e.operations&&(e.isLocal?await this.insertLocalOperations(e.operations,{transaction:r}):await this.insertRemoteOperations(e.operations,{transaction:r}))};this.updateLastSynced=async e=>{if(!this._closing)return this.localReplica.update({lastSyncedLogicalTime:e})};this.lastSyncedTimestamp=async()=>(await this.localReplica.get()).lastSyncedLogicalTime;this.tryAutonomousRebase=async()=>{this.disableRebasing||(await this.localReplica.get()).lastSyncedLogicalTime||await this.runRebase(this.now)};this.runRebase=async e=>{if(this._closing)return;let t,r=new Set,o=this.createTransaction(["baselines","operations"],{write:!0}),s=0;if(await this.operations.iterateOverAllOperations(f=>{r.add(f.oid),t=f.timestamp,s++},{before:e,transaction:o}),!r.size||this._closing)return;let a=[];for(let f of r)a.push(await this.rebase(f,t||e,o));this.emit("rebase",a)};this.rebase=async(e,t,r)=>{let o=(await this.localReplica.get()).id;this.log("[",o,"]","Rebasing",e,"up to",t);let s=r||this.createTransaction(["operations","baselines"],{write:!0}),a=await this.baselines.get(e,{transaction:s}),f=a?.snapshot||void 0,u=0,p=a?.authz,S=[];await this.operations.iterateOverAllOperationsForEntity(e,(C,g)=>{(!a||C.timestamp>a.timestamp)&&(f=ze(f,C.data,S),C.data.op==="initialize"&&(p=C.authz)),u++,g.delete(C.oid_timestamp)},{to:t,transaction:s}),f&&N(f,e);let w={oid:e,snapshot:f,timestamp:t,authz:p};if(w.snapshot?await this.baselines.set(w,{transaction:s}):await this.baselines.delete(e,{transaction:s}),this.log("debug","successfully rebased",e,"up to",t,":",f,"and deleted",u,"operations"),S.length){let C=S.filter(we);C.length&&this.emit("filesDeleted",C)}return w};this.reset=async()=>{await this.operations.reset(),await this.baselines.reset(),await this.localReplica.reset()};this.updateSchema=async(e,t)=>{let r=await this.schema.get();if(r&&t===r.version&&r.version===e.version&&JSON.stringify(r)!==JSON.stringify(e))throw console.error(`Schema mismatch for version ${e.version}
7
7
  ${JSON.stringify(r)}
8
8
  ${JSON.stringify(e)}`),new Error("Schema has changed without a version change! Any changes to your schema must be accompanied by a change in schema version and a migration routine.");await this.schema.set(e)};this.setGlobalAck=async e=>{this._closing||(await this.ackInfo.setGlobalAck(e),this.disableRebasing||await this.runRebase(e))};this.manualRebase=async()=>{if(this._closing||this.disableRebasing)return;let e=await this.ackInfo.getAckInfo();e.globalAckTimestamp&&this.runRebase(e.globalAckTimestamp)};this.export=async()=>{let e=this.db,[t,r]=await cn(e,["baselines","operations"]),o=await this.localReplica.get(),s=await this.schema.get();if(!s)throw new Error("Cannot export Client data before initializing");return{operations:r,baselines:t,localReplica:o,schema:s}};this.resetFrom=async e=>{let r=this.db.transaction(["baselines","operations","info"],"readwrite");await J(r.objectStore("baselines").clear()),await J(r.objectStore("operations").clear()),await J(r.objectStore("info").clear()),await this.localReplica.update({ackedLogicalTime:e.localReplica.ackedLogicalTime,lastSyncedLogicalTime:e.localReplica.lastSyncedLogicalTime},{transaction:r})};this.stats=async()=>{let e=this.db,t=await We(e,"operations"),r=await We(e,"baselines");return{operationsSize:t,baselinesSize:r}};this.context=t,this.schema=new gn(t.metaDb,t.schema.version),this.operations=new mn(this.db,{log:t.log}),this.baselines=new fn(this.db,{log:t.log}),this.localReplica=new hn(this.db),this.ackInfo=new dn(this.db),this.messageCreator=new pn(this),this.patchCreator=new an(()=>this.now),this.onOperation=r,e&&(this.disableRebasing=e)}get db(){return this.context.metaDb}get log(){return this.context.log}get now(){return this.time.now(this.schema.currentVersion)}};var ea=[ta,na,ia,ra,oa,sa];function yn({indexedDB:n=window.indexedDB,namespace:i,log:e,metadataVersion:t=5}){return new Promise((r,o)=>{let s=n.open(`${i}_meta`,t),a=!1;s.onupgradeneeded=async f=>{let u=s.result,p=s.transaction,S=ea.slice(f.oldVersion);for(let w of S)await w(u,p);await new Promise((w,C)=>{p.addEventListener("complete",w),p.addEventListener("error",C)}),f.oldVersion||(a=!0)},s.onerror=()=>{console.error("Error opening database",s.error),o(s.error)},s.onsuccess=()=>{r({db:s.result,wasInitialized:a})}})}async function so({wipNamespace:n,namespace:i,indexedDB:e,log:t,metadataVersion:r}){let o=await yn({namespace:n,indexedDB:e,log:t,metadataVersion:r});if(!o.wasInitialized)return o;t?.("debug","Beginning copy of production metadata database to WIP");let{db:s}=await yn({namespace:i,indexedDB:e,log:t,metadataVersion:r}),a=s.transaction(["baselines","operations","info"],"readonly"),[f,u,p]=await Promise.all([J(a.objectStore("baselines").getAll()),J(a.objectStore("operations").getAll()),J(a.objectStore("info").getAll())]),S=o.db.transaction(["baselines","operations","info"],"readwrite"),w=S.objectStore("baselines"),C=S.objectStore("operations"),g=S.objectStore("info");for(let v of f)w.put(v);for(let v of u)C.put(v);for(let v of p)g.put(v);return await new Promise((v,_)=>{S.oncomplete=()=>{v()},S.onerror=I=>{_(I)},S.onabort=I=>{_(I)}}),await ge(s),t?.("debug","Finished copy of production metadata database to WIP. Copied:",f.length,"baselines,",u.length,"operations"),o}async function ta(n,i){let e=n.createObjectStore("baselines",{keyPath:"oid"}),t=n.createObjectStore("operations",{keyPath:"oid_timestamp"}),r=n.createObjectStore("info",{keyPath:"type"});e.createIndex("timestamp","timestamp"),t.createIndex("isLocal_timestamp","isLocal_timestamp"),t.createIndex("documentOid_timestamp","documentOid_timestamp")}async function na(n,i){let e=i.objectStore("operations");await new Promise((t,r)=>{let o=e.openCursor();o.onsuccess=()=>{let s=o.result;if(s){let{isLocal_timestamp:a,documentOid_timestamp:f,...u}=s.value;s.update({...u,l_t:a,d_t:f}),s.continue()}else t()},o.onerror=s=>{r(o.error)}}),e.deleteIndex("isLocal_timestamp"),e.deleteIndex("documentOid_timestamp"),e.createIndex("l_t","l_t",{unique:!1}),e.createIndex("o_t","o_t",{unique:!1}),e.createIndex("d_t","d_t",{unique:!1})}async function ia(n,i){i.objectStore("operations").createIndex("timestamp","timestamp")}async function ra(n,i){let e=n.createObjectStore("files",{keyPath:"id"});e.createIndex("remote","remote"),e.createIndex("deletedAt","deletedAt")}async function oa(n,i){let e=i.objectStore("operations");await new Promise((r,o)=>{let s=e.openCursor();s.onsuccess=()=>{let a=s.result;if(a){let f=yi(a.value);f.oid_timestamp!==a.primaryKey?(a.delete(),e.put(f)):a.update(f),a.continue()}else r()},s.onerror=a=>{o(s.error)}});let t=i.objectStore("baselines");await new Promise((r,o)=>{let s=t.openCursor();s.onsuccess=()=>{let a=s.result;if(a){let f=yi(a.value);f.oid!==a.primaryKey?(a.delete(),t.put(f)):a.update(f),a.continue()}else r()},s.onerror=a=>{o(s.error)}})}async function sa(n,i){i.objectStore("files").createIndex("timestamp","timestamp")}async function bn(n,i,e,t){function r(a,f){let u,p,S=n.open([i,"collections"].join("_"),e);S.onupgradeneeded=async w=>{u=w.oldVersion;let C=S.transaction;p=S.result,C.abort()},S.onsuccess=w=>{a([S.result.version,S.result])},S.onblocked=w=>{t?.("Database blocked, waiting...")},S.onerror=w=>{a([u,p])}}let[o,s]=await new Promise(r);return await ge(s),o}async function ao(n,i,e,t,r){function o(s,a){let f=n.open([i,"collections"].join("_"),e),u=!1;f.onupgradeneeded=p=>{let S=f.transaction;t(S,f.result,p),u=!0},f.onsuccess=p=>{u?s(f.result):a(new Error("Database was not upgraded when a version change was expected"))},f.onerror=p=>{a(f.error||new Error("Unknown error"))},f.onblocked=p=>{r?.("Database upgrade blocked, waiting...")}}return new Promise(o)}async function co(n,i){typeof navigator<"u"&&navigator.locks?await navigator.locks.request(`verdant_migration_${n}`,i):await i()}async function Le({indexedDB:n=Ti,namespace:i,version:e,context:t}){t.log("debug","Opening database",i,"at version",e);let r=await new Promise((o,s)=>{let a=n.open([i,"collections"].join("_"),e);a.onupgradeneeded=async f=>{a.transaction.abort(),t.log("error","Database upgrade needed, but not expected","Expected",e,"Got",a.result.version),s(a.error||new Error(`Migration error: database version changed unexpectedly when reading current data. Expected ${e}, got ${a.result.version}`))},a.onsuccess=f=>{o(a.result)},a.onblocked=f=>{s(new Error("Migration error: database blocked"))},a.onerror=f=>{s(new Error("Migration error: database error"))}});return r.addEventListener("versionchange",o=>{r.close()}),r}async function lo(n,i){let e=new Array;for(let f=0;f<n.objectStoreNames.length;f++)e.push(n.objectStoreNames[f]);let t=n.transaction(e,"readonly"),r=e.map(f=>t.objectStore(f)),o=await Promise.all(r.map(f=>J(f.getAll()))),s=i.transaction(e,"readwrite"),a=e.map(f=>s.objectStore(f));for(let f=0;f<a.length;f++)await Promise.all(o[f].map(u=>J(a[f].put(u))))}var aa=n=>IDBKeyRange.only(Se(n.equals)),ca=n=>{},la=n=>{let i=n.gte||n.gt,e=n.lte||n.lt;return i===e?IDBKeyRange.only(Se(i)):i?e?IDBKeyRange.bound(Se(i),Se(e),!!n.gt,!!n.lt):IDBKeyRange.lowerBound(Se(i),!!n.gt):IDBKeyRange.upperBound(Se(e),!!n.lt)},ua=(n,i,e)=>{let t=n.collections[i].compounds[e.where];L(t,`Index ${e.where} does not exist on collection ${i}`);let r=Object.keys(e.match).sort((f,u)=>t.of.indexOf(f)-t.of.indexOf(u));for(let f of r)if(t.of.indexOf(f)!==r.indexOf(f))throw new Error(`Compound index ${e.where} does not have ${f} at the start of its order`);let o=r.map(f=>e.match[f]);if(r.length===t.of.length)return IDBKeyRange.only(ue(...o));let s=qe(...o),a=Ke(...o);return IDBKeyRange.bound(s,a)};function da(n){let i=n.startsWith,e=n.startsWith+"\uFFFF";return IDBKeyRange.bound(i,e)}function wn(n,i,e){if(e)return Si(e)?la(e):xi(e)?aa(e):Qr(e)?ca(e):Oi(e)?da(e):ua(n,i,e)}function ki(n,i,e){return n.transaction(i,e?"readwrite":"readonly").objectStore(i)}async function vn({collection:n,index:i,context:e}){let t=ki(e.documentDb,n),r=i?.where?t.index(i.where):t,o=wn(e.schema,n,i),s=i?.order==="desc"?"prev":"next",a=r.openCursor(o,s);return await new Promise((u,p)=>{a.onsuccess=()=>{let S=a.result;u(S?Y(n,S.primaryKey.toString()):null)},a.onerror=()=>{a.error?.name==="InvalidStateError"?(e.log("error","findOne query failed with InvalidStateError",a.error),u(null)):de(a.error)?u(null):p(a.error)}})}async function xn({collection:n,index:i,context:e}){let t=ki(e.documentDb,n),r=i?.where?t.index(i.where):t,o=wn(e.schema,n,i),s=i?.order==="desc"?"prev":"next",a=r.openCursor(o,s);return await new Promise((u,p)=>{let S=new Set;a.onsuccess=()=>{let w=a.result;w?(S.add(Y(n,w.primaryKey.toString())),w.continue()):u(Array.from(S))},a.onerror=()=>{a.error?.name==="InvalidStateError"?(e.log("error","findAll query failed with InvalidStateError",a.error),u([])):de(a.error)?u([]):p(a.error)}})}async function Et({collection:n,index:i,context:e,limit:t,offset:r}){let o=ki(e.documentDb,n),s=i?.where?o.index(i.where):o,a=wn(e.schema,n,i),f=i?.order==="desc"?"prev":"next",u=s.openCursor(a,f),p=!r,S=!1,w=0;return{result:await new Promise((g,v)=>{let _=new Set;u.onsuccess=()=>{w++;let I=u.result;I?r&&!p?(I.advance(r),p=!0):(t&&_.size<t&&_.add(Y(n,I.primaryKey.toString())),t&&w>t?(S=!0,g(Array.from(_))):I.continue()):g(Array.from(_))},u.onerror=()=>{u.error?.name==="InvalidStateError"?(e.log("error","find query failed with InvalidStateError",u.error),g([])):de(u.error)?g([]):v(u.error)}}),hasNextPage:S}}function uo({migration:n,meta:i,getMigrationNow:e,newOids:t}){return n.allCollections.reduce((r,o)=>(r[o]={put:async(s,a)=>{Fe(n.newSchema.collections[o],s);let f=s[n.newSchema.collections[o].primaryKey],u=Y(o,f);return t.push(u),await i.insertLocalOperations(Pe(s,u,e,void 0,void 0,{authz:a?.access})),s},delete:async s=>{let a=Y(o,s),f=await i.getDocumentAuthz(a),u=await i.getAllDocumentRelatedOids(a);return i.insertLocalOperations(u.map(p=>({oid:p,timestamp:e(),data:{op:"delete"},authz:f})))}},r),{})}function fa({migration:n,context:i,meta:e}){return n.oldCollections.reduce((t,r)=>(t[r]={get:async o=>{let s=Y(r,o);return await e.getDocumentSnapshot(s,{to:e.time.now(n.oldSchema.version)})},findOne:async o=>{let s=await vn({collection:r,index:o,context:i});return s?await e.getDocumentSnapshot(s,{to:e.time.now(n.oldSchema.version)}):null},findAll:async o=>{let s=await xn({collection:r,index:o,context:i});return await Promise.all(s.map(f=>e.getDocumentSnapshot(f,{to:e.time.now(n.oldSchema.version)})))}},t),{})}function fo({meta:n,migration:i,context:e}){function t(){return n.time.zero(i.version)}let r=new Array,o=fa({migration:i,context:e,meta:n}),s=uo({migration:i,getMigrationNow:t,newOids:r,meta:n}),a=async p=>{let S=await n.getAllCollectionRelatedOids(p);return n.insertLocalOperations(S.map(w=>({oid:w,timestamp:t(),data:{op:"delete"}})))},f=new Array;return{log:e.log,newOids:r,deleteCollection:a,migrate:async(p,S)=>{let w=await o[p].findAll();await Promise.all(w.filter(Boolean).map(async C=>{let g=ne(C);L(!!g,`Document is missing an OID: ${JSON.stringify(C)}`);let v=await n.getDocumentAuthz(g),_=le(C),I=await S(C);if(I){xt(_),xt(I),nt(I);let O=St(_,I,t,void 0,[],{mergeUnknownObjects:!0,authz:v});O.length>0&&await n.insertLocalOperations(O)}}))},queries:o,mutations:s,awaitables:f}}function ho({meta:n,migration:i,context:e}){function t(){return n.time.zero(i.version)}let r=new Array,o=new Proxy({},{get(){throw new Error("Queries are not available in initial migrations; there is no database yet!")}}),s=uo({migration:i,getMigrationNow:t,newOids:r,meta:n});return{log:e.log,newOids:r,deleteCollection:()=>{throw new Error("Calling deleteCollection() in initial migrations is not supported! Use initial migrations to seed initial data using mutations.")},migrate:()=>{throw new Error("Calling migrate() in initial migrations is not supported! Use initial migrations to seed initial data using mutations.")},queries:o,mutations:s,awaitables:[]}}var po=typeof window<"u"?window.indexedDB:void 0;async function Ct({context:n,toRun:i,meta:e,indexedDB:t=po,namespace:r=n.namespace}){await co(r,async()=>{for(let o of i){let s;if(o.oldSchema.version===0)s=ho({meta:e,migration:o,context:n}),await o.migrate(s);else{let u=await Le({indexedDB:t,namespace:r,version:o.oldSchema.version,context:n});s=fo({meta:e,migration:o,context:{...n,documentDb:u}});try{await o.migrate(s),await Promise.all(s.awaitables)}catch(p){throw n.log("critical",`Migration failed (${o.oldSchema.version} -> ${o.newSchema.version})`,p),p instanceof Error?p:new Error("Unknown error during migration")}await ge(u)}n.log("debug","Upgrading database",r,"to version",o.newSchema.version);let a=await ya({migration:o,indexedDB:t,namespace:r,context:n}),f=await ga({meta:e,currentVersion:o.oldSchema.version,newVersion:o.newSchema.version});for(let u of o.allCollections){let S=a.transaction(u,"readwrite").objectStore(u),C=(await ha(S)).map(O=>Y(u,`${O}`));C.push(...s.newOids.filter(O=>ce(O).collection===u),...f.filter(O=>ce(O).collection===u));let v=(await Promise.all(C.map(async O=>{try{let R=await e.getDocumentSnapshot(O);return[O,R]}catch(R){return n.log("error","Could not regenerate snapshot during migration for oid",O,"this document will not be preserved",R),null}}))).filter(O=>!!O).map(([O,R])=>{if(!R)return[O,void 0];let b=rn(o.newSchema.collections[u],R);return[O,b]}),I=a.transaction(u,"readwrite").objectStore(u);await Promise.all(v.map(([O,R])=>{if(R)return ma(I,R);{let{id:b}=ce(O);return pa(I,b)}}))}await ge(a),n.log("debug",`Migration of ${r} complete.`),n.log(`
9
9
  \u2B06\uFE0F v${o.newSchema.version} Migration complete. Here's the rundown: