genosdb 0.34.2 → 0.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/gdb.min.js +1 -1
- package/dist/gdb.min.js.gz +0 -0
- package/dist/index.js +1 -1
- package/dist/index.js.gz +0 -0
- package/dist/sm.min.js +1 -1
- package/dist/sm.min.js.gz +0 -0
- package/llms.txt +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
var log=(()=>{const n=()=>{};return new Proxy(console,{get:(c,m)=>globalThis.__gdbDebug?c[m].bind(c):n})})();
|
|
2
|
-
function j8(J){let Q=J.length,W=0,V=0;while(V<Q){let q=J.charCodeAt(V++);if((q&4294967168)===0){W++;continue}else if((q&4294965248)===0)W+=2;else{if(q>=55296&&q<=56319){if(V<Q){let X=J.charCodeAt(V);if((X&64512)===56320)++V,q=((q&1023)<<10)+(X&1023)+65536}}if((q&4294901760)===0)W+=3;else W+=4}}return W}function V5(J,Q,W){let V=J.length,q=W,X=0;while(X<V){let K=J.charCodeAt(X++);if((K&4294967168)===0){Q[q++]=K;continue}else if((K&4294965248)===0)Q[q++]=K>>6&31|192;else{if(K>=55296&&K<=56319){if(X<V){let Y=J.charCodeAt(X);if((Y&64512)===56320)++X,K=((K&1023)<<10)+(Y&1023)+65536}}if((K&4294901760)===0)Q[q++]=K>>12&15|224,Q[q++]=K>>6&63|128;else Q[q++]=K>>18&7|240,Q[q++]=K>>12&63|128,Q[q++]=K>>6&63|128}Q[q++]=K&63|128}}var q5=new TextEncoder,X5=50;function Y5(J,Q,W){q5.encodeInto(J,Q.subarray(W))}function M8(J,Q,W){if(J.length>X5)Y5(J,Q,W);else V5(J,Q,W)}var G5=4096;function A0(J,Q,W){let V=Q,q=V+W,X=[],K="";while(V<q){let Y=J[V++];if((Y&128)===0)X.push(Y);else if((Y&224)===192){let z=J[V++]&63;X.push((Y&31)<<6|z)}else if((Y&240)===224){let z=J[V++]&63,G=J[V++]&63;X.push((Y&31)<<12|z<<6|G)}else if((Y&248)===240){let z=J[V++]&63,G=J[V++]&63,P=J[V++]&63,k=(Y&7)<<18|z<<12|G<<6|P;if(k>65535)k-=65536,X.push(k>>>10&1023|55296),k=56320|k&1023;X.push(k)}else X.push(Y);if(X.length>=G5)K+=String.fromCharCode(...X),X.length=0}if(X.length>0)K+=String.fromCharCode(...X);return K}var P5=new TextDecoder,K5=200;function U5(J,Q,W){let V=J.subarray(Q,Q+W);return P5.decode(V)}function C8(J,Q,W){if(W>K5)return U5(J,Q,W);else return A0(J,Q,W)}class A6{constructor(J,Q){this.type=J,this.data=Q}}class n extends Error{constructor(J){super(J);let Q=Object.create(n.prototype);Object.setPrototypeOf(this,Q),Object.defineProperty(this,"name",{configurable:!0,enumerable:!1,value:n.name})}}var S6=4294967295;function L8(J,Q,W){let V=W/4294967296,q=W;J.setUint32(Q,V),J.setUint32(Q+4,q)}function U0(J,Q,W){let V=Math.floor(W/4294967296),q=W;J.setUint32(Q,V),J.setUint32(Q+4,q)}function F0(J,Q){let W=J.getInt32(Q),V=J.getUint32(Q+4);return W*4294967296+V}function R8(J,Q){let W=J.getUint32(Q),V=J.getUint32(Q+4);return W*4294967296+V}var F5=-1,Z5=4294967295,z5=17179869183;function H5({sec:J,nsec:Q}){if(J>=0&&Q>=0&&J<=z5)if(Q===0&&J<=Z5){let W=new Uint8Array(4);return new DataView(W.buffer).setUint32(0,J),W}else{let W=J/4294967296,V=J&4294967295,q=new Uint8Array(8),X=new DataView(q.buffer);return X.setUint32(0,Q<<2|W&3),X.setUint32(4,V),q}else{let W=new Uint8Array(12),V=new DataView(W.buffer);return V.setUint32(0,Q),U0(V,4,J),W}}function $5(J){let Q=J.getTime(),W=Math.floor(Q/1000),V=(Q-W*1000)*1e6,q=Math.floor(V/1e9);return{sec:W+q,nsec:V-q*1e9}}function k5(J){if(J instanceof Date){let Q=$5(J);return H5(Q)}else return null}function B5(J){let Q=new DataView(J.buffer,J.byteOffset,J.byteLength);switch(J.byteLength){case 4:{let W=Q.getUint32(0),V=0;return{sec:W,nsec:0}}case 8:{let W=Q.getUint32(0),V=Q.getUint32(4),q=(W&3)*4294967296+V,X=W>>>2;return{sec:q,nsec:X}}case 12:{let W=F0(Q,4),V=Q.getUint32(0);return{sec:W,nsec:V}}default:throw new n(`Unrecognized data size for timestamp (expected 4, 8, or 12): ${J.length}`)}}function j5(J){let Q=B5(J);return new Date(Q.sec*1000+Q.nsec/1e6)}var O8={type:F5,encode:k5,decode:j5};class j6{constructor(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(O8)}register({type:J,encode:Q,decode:W}){if(J>=0)this.encoders[J]=Q,this.decoders[J]=W;else{let V=-1-J;this.builtInEncoders[V]=Q,this.builtInDecoders[V]=W}}tryToEncode(J,Q){for(let W=0;W<this.builtInEncoders.length;W++){let V=this.builtInEncoders[W];if(V!=null){let q=V(J,Q);if(q!=null){let X=-1-W;return new A6(X,q)}}}for(let W=0;W<this.encoders.length;W++){let V=this.encoders[W];if(V!=null){let q=V(J,Q);if(q!=null)return new A6(W,q)}}if(J instanceof A6)return J;return null}decode(J,Q,W){let V=Q<0?this.builtInDecoders[-1-Q]:this.decoders[Q];if(V)return V(J,Q,W);else return new A6(Q,J)}}j6.defaultCodec=new j6;function M5(J){return J instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&J instanceof SharedArrayBuffer}function m6(J){if(J instanceof Uint8Array)return J;else if(ArrayBuffer.isView(J))return new Uint8Array(J.buffer,J.byteOffset,J.byteLength);else if(M5(J))return new Uint8Array(J);else return Uint8Array.from(J)}var C5=100,L5=2048;class Z0{constructor(J){this.entered=!1,this.extensionCodec=J?.extensionCodec??j6.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.maxDepth=J?.maxDepth??C5,this.initialBufferSize=J?.initialBufferSize??L5,this.sortKeys=J?.sortKeys??!1,this.forceFloat32=J?.forceFloat32??!1,this.ignoreUndefined=J?.ignoreUndefined??!1,this.forceIntegerToFloat=J?.forceIntegerToFloat??!1,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}clone(){return new Z0({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,maxDepth:this.maxDepth,initialBufferSize:this.initialBufferSize,sortKeys:this.sortKeys,forceFloat32:this.forceFloat32,ignoreUndefined:this.ignoreUndefined,forceIntegerToFloat:this.forceIntegerToFloat})}reinitializeState(){this.pos=0}encodeSharedRef(J){if(this.entered)return this.clone().encodeSharedRef(J);try{return this.entered=!0,this.reinitializeState(),this.doEncode(J,1),this.bytes.subarray(0,this.pos)}finally{this.entered=!1}}encode(J){if(this.entered)return this.clone().encode(J);try{return this.entered=!0,this.reinitializeState(),this.doEncode(J,1),this.bytes.slice(0,this.pos)}finally{this.entered=!1}}doEncode(J,Q){if(Q>this.maxDepth)throw Error(`Too deep objects in depth ${Q}`);if(J==null)this.encodeNil();else if(typeof J==="boolean")this.encodeBoolean(J);else if(typeof J==="number")if(!this.forceIntegerToFloat)this.encodeNumber(J);else this.encodeNumberAsFloat(J);else if(typeof J==="string")this.encodeString(J);else if(this.useBigInt64&&typeof J==="bigint")this.encodeBigInt64(J);else this.encodeObject(J,Q)}ensureBufferSizeToWrite(J){let Q=this.pos+J;if(this.view.byteLength<Q)this.resizeBuffer(Q*2)}resizeBuffer(J){let Q=new ArrayBuffer(J),W=new Uint8Array(Q),V=new DataView(Q);W.set(this.bytes),this.view=V,this.bytes=W}encodeNil(){this.writeU8(192)}encodeBoolean(J){if(J===!1)this.writeU8(194);else this.writeU8(195)}encodeNumber(J){if(!this.forceIntegerToFloat&&Number.isSafeInteger(J))if(J>=0)if(J<128)this.writeU8(J);else if(J<256)this.writeU8(204),this.writeU8(J);else if(J<65536)this.writeU8(205),this.writeU16(J);else if(J<4294967296)this.writeU8(206),this.writeU32(J);else if(!this.useBigInt64)this.writeU8(207),this.writeU64(J);else this.encodeNumberAsFloat(J);else if(J>=-32)this.writeU8(224|J+32);else if(J>=-128)this.writeU8(208),this.writeI8(J);else if(J>=-32768)this.writeU8(209),this.writeI16(J);else if(J>=-2147483648)this.writeU8(210),this.writeI32(J);else if(!this.useBigInt64)this.writeU8(211),this.writeI64(J);else this.encodeNumberAsFloat(J);else this.encodeNumberAsFloat(J)}encodeNumberAsFloat(J){if(this.forceFloat32)this.writeU8(202),this.writeF32(J);else this.writeU8(203),this.writeF64(J)}encodeBigInt64(J){if(J>=BigInt(0))this.writeU8(207),this.writeBigUint64(J);else this.writeU8(211),this.writeBigInt64(J)}writeStringHeader(J){if(J<32)this.writeU8(160+J);else if(J<256)this.writeU8(217),this.writeU8(J);else if(J<65536)this.writeU8(218),this.writeU16(J);else if(J<4294967296)this.writeU8(219),this.writeU32(J);else throw Error(`Too long string: ${J} bytes in UTF-8`)}encodeString(J){let W=j8(J);this.ensureBufferSizeToWrite(5+W),this.writeStringHeader(W),M8(J,this.bytes,this.pos),this.pos+=W}encodeObject(J,Q){let W=this.extensionCodec.tryToEncode(J,this.context);if(W!=null)this.encodeExtension(W);else if(Array.isArray(J))this.encodeArray(J,Q);else if(ArrayBuffer.isView(J))this.encodeBinary(J);else if(typeof J==="object")this.encodeMap(J,Q);else throw Error(`Unrecognized object: ${Object.prototype.toString.apply(J)}`)}encodeBinary(J){let Q=J.byteLength;if(Q<256)this.writeU8(196),this.writeU8(Q);else if(Q<65536)this.writeU8(197),this.writeU16(Q);else if(Q<4294967296)this.writeU8(198),this.writeU32(Q);else throw Error(`Too large binary: ${Q}`);let W=m6(J);this.writeU8a(W)}encodeArray(J,Q){let W=J.length;if(W<16)this.writeU8(144+W);else if(W<65536)this.writeU8(220),this.writeU16(W);else if(W<4294967296)this.writeU8(221),this.writeU32(W);else throw Error(`Too large array: ${W}`);for(let V of J)this.doEncode(V,Q+1)}countWithoutUndefined(J,Q){let W=0;for(let V of Q)if(J[V]!==void 0)W++;return W}encodeMap(J,Q){let W=Object.keys(J);if(this.sortKeys)W.sort();let V=this.ignoreUndefined?this.countWithoutUndefined(J,W):W.length;if(V<16)this.writeU8(128+V);else if(V<65536)this.writeU8(222),this.writeU16(V);else if(V<4294967296)this.writeU8(223),this.writeU32(V);else throw Error(`Too large map object: ${V}`);for(let q of W){let X=J[q];if(!(this.ignoreUndefined&&X===void 0))this.encodeString(q),this.doEncode(X,Q+1)}}encodeExtension(J){if(typeof J.data==="function"){let W=J.data(this.pos+6),V=W.length;if(V>=4294967296)throw Error(`Too large extension object: ${V}`);this.writeU8(201),this.writeU32(V),this.writeI8(J.type),this.writeU8a(W);return}let Q=J.data.length;if(Q===1)this.writeU8(212);else if(Q===2)this.writeU8(213);else if(Q===4)this.writeU8(214);else if(Q===8)this.writeU8(215);else if(Q===16)this.writeU8(216);else if(Q<256)this.writeU8(199),this.writeU8(Q);else if(Q<65536)this.writeU8(200),this.writeU16(Q);else if(Q<4294967296)this.writeU8(201),this.writeU32(Q);else throw Error(`Too large extension object: ${Q}`);this.writeI8(J.type),this.writeU8a(J.data)}writeU8(J){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,J),this.pos++}writeU8a(J){let Q=J.length;this.ensureBufferSizeToWrite(Q),this.bytes.set(J,this.pos),this.pos+=Q}writeI8(J){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,J),this.pos++}writeU16(J){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,J),this.pos+=2}writeI16(J){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,J),this.pos+=2}writeU32(J){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,J),this.pos+=4}writeI32(J){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,J),this.pos+=4}writeF32(J){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,J),this.pos+=4}writeF64(J){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,J),this.pos+=8}writeU64(J){this.ensureBufferSizeToWrite(8),L8(this.view,this.pos,J),this.pos+=8}writeI64(J){this.ensureBufferSizeToWrite(8),U0(this.view,this.pos,J),this.pos+=8}writeBigUint64(J){this.ensureBufferSizeToWrite(8),this.view.setBigUint64(this.pos,J),this.pos+=8}writeBigInt64(J){this.ensureBufferSizeToWrite(8),this.view.setBigInt64(this.pos,J),this.pos+=8}}function z0(J,Q){return new Z0(Q).encodeSharedRef(J)}function H0(J){return`${J<0?"-":""}0x${Math.abs(J).toString(16).padStart(2,"0")}`}var R5=16,O5=16;class S0{constructor(J=R5,Q=O5){this.hit=0,this.miss=0,this.maxKeyLength=J,this.maxLengthPerKey=Q,this.caches=[];for(let W=0;W<this.maxKeyLength;W++)this.caches.push([])}canBeCached(J){return J>0&&J<=this.maxKeyLength}find(J,Q,W){let V=this.caches[W-1];J:for(let q of V){let X=q.bytes;for(let K=0;K<W;K++)if(X[K]!==J[Q+K])continue J;return q.str}return null}store(J,Q){let W=this.caches[J.length-1],V={bytes:J,str:Q};if(W.length>=this.maxLengthPerKey)W[Math.random()*W.length|0]=V;else W.push(V)}decode(J,Q,W){let V=this.find(J,Q,W);if(V!=null)return this.hit++,V;this.miss++;let q=A0(J,Q,W),X=Uint8Array.prototype.slice.call(J,Q,Q+W);return this.store(X,q),q}}var T0="array",d6="map_key",I8="map_value",D5=(J)=>{if(typeof J==="string"||typeof J==="number")return J;throw new n("The type of key must be string or number but "+typeof J)};class x8{constructor(){this.stack=[],this.stackHeadPosition=-1}get length(){return this.stackHeadPosition+1}top(){return this.stack[this.stackHeadPosition]}pushArrayState(J){let Q=this.getUninitializedStateFromPool();Q.type=T0,Q.position=0,Q.size=J,Q.array=Array(J)}pushMapState(J){let Q=this.getUninitializedStateFromPool();Q.type=d6,Q.readCount=0,Q.size=J,Q.map={}}getUninitializedStateFromPool(){if(this.stackHeadPosition++,this.stackHeadPosition===this.stack.length){let J={type:void 0,size:0,array:void 0,position:0,readCount:0,map:void 0,key:null};this.stack.push(J)}return this.stack[this.stackHeadPosition]}release(J){if(this.stack[this.stackHeadPosition]!==J)throw Error("Invalid stack state. Released state is not on top of the stack.");if(J.type===T0){let W=J;W.size=0,W.array=void 0,W.position=0,W.type=void 0}if(J.type===d6||J.type===I8){let W=J;W.size=0,W.map=void 0,W.readCount=0,W.type=void 0}this.stackHeadPosition--}reset(){this.stack.length=0,this.stackHeadPosition=-1}}var c6=-1,v0=new DataView(new ArrayBuffer(0)),I5=new Uint8Array(v0.buffer);try{v0.getInt8(0)}catch(J){if(!(J instanceof RangeError))throw Error("This module is not supported in the current JavaScript engine because DataView does not throw RangeError on out-of-bounds access")}var D8=RangeError("Insufficient data"),x5=new S0;class $0{constructor(J){this.totalPos=0,this.pos=0,this.view=v0,this.bytes=I5,this.headByte=c6,this.stack=new x8,this.entered=!1,this.extensionCodec=J?.extensionCodec??j6.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.rawStrings=J?.rawStrings??!1,this.maxStrLength=J?.maxStrLength??S6,this.maxBinLength=J?.maxBinLength??S6,this.maxArrayLength=J?.maxArrayLength??S6,this.maxMapLength=J?.maxMapLength??S6,this.maxExtLength=J?.maxExtLength??S6,this.keyDecoder=J?.keyDecoder!==void 0?J.keyDecoder:x5,this.mapKeyConverter=J?.mapKeyConverter??D5}clone(){return new $0({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,rawStrings:this.rawStrings,maxStrLength:this.maxStrLength,maxBinLength:this.maxBinLength,maxArrayLength:this.maxArrayLength,maxMapLength:this.maxMapLength,maxExtLength:this.maxExtLength,keyDecoder:this.keyDecoder})}reinitializeState(){this.totalPos=0,this.headByte=c6,this.stack.reset()}setBuffer(J){let Q=m6(J);this.bytes=Q,this.view=new DataView(Q.buffer,Q.byteOffset,Q.byteLength),this.pos=0}appendBuffer(J){if(this.headByte===c6&&!this.hasRemaining(1))this.setBuffer(J);else{let Q=this.bytes.subarray(this.pos),W=m6(J),V=new Uint8Array(Q.length+W.length);V.set(Q),V.set(W,Q.length),this.setBuffer(V)}}hasRemaining(J){return this.view.byteLength-this.pos>=J}createExtraByteError(J){let{view:Q,pos:W}=this;return RangeError(`Extra ${Q.byteLength-W} of ${Q.byteLength} byte(s) found at buffer[${J}]`)}decode(J){if(this.entered)return this.clone().decode(J);try{this.entered=!0,this.reinitializeState(),this.setBuffer(J);let Q=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return Q}finally{this.entered=!1}}*decodeMulti(J){if(this.entered){yield*this.clone().decodeMulti(J);return}try{this.entered=!0,this.reinitializeState(),this.setBuffer(J);while(this.hasRemaining(1))yield this.doDecodeSync()}finally{this.entered=!1}}async decodeAsync(J){if(this.entered)return this.clone().decodeAsync(J);try{this.entered=!0;let Q=!1,W;for await(let K of J){if(Q)throw this.entered=!1,this.createExtraByteError(this.totalPos);this.appendBuffer(K);try{W=this.doDecodeSync(),Q=!0}catch(Y){if(!(Y instanceof RangeError))throw Y}this.totalPos+=this.pos}if(Q){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return W}let{headByte:V,pos:q,totalPos:X}=this;throw RangeError(`Insufficient data in parsing ${H0(V)} at ${X} (${q} in the current buffer)`)}finally{this.entered=!1}}decodeArrayStream(J){return this.decodeMultiAsync(J,!0)}decodeStream(J){return this.decodeMultiAsync(J,!1)}async*decodeMultiAsync(J,Q){if(this.entered){yield*this.clone().decodeMultiAsync(J,Q);return}try{this.entered=!0;let W=Q,V=-1;for await(let q of J){if(Q&&V===0)throw this.createExtraByteError(this.totalPos);if(this.appendBuffer(q),W)V=this.readArraySize(),W=!1,this.complete();try{while(!0)if(yield this.doDecodeSync(),--V===0)break}catch(X){if(!(X instanceof RangeError))throw X}this.totalPos+=this.pos}}finally{this.entered=!1}}doDecodeSync(){J:while(!0){let J=this.readHeadByte(),Q;if(J>=224)Q=J-256;else if(J<192)if(J<128)Q=J;else if(J<144){let V=J-128;if(V!==0){this.pushMapState(V),this.complete();continue J}else Q={}}else if(J<160){let V=J-144;if(V!==0){this.pushArrayState(V),this.complete();continue J}else Q=[]}else{let V=J-160;Q=this.decodeString(V,0)}else if(J===192)Q=null;else if(J===194)Q=!1;else if(J===195)Q=!0;else if(J===202)Q=this.readF32();else if(J===203)Q=this.readF64();else if(J===204)Q=this.readU8();else if(J===205)Q=this.readU16();else if(J===206)Q=this.readU32();else if(J===207)if(this.useBigInt64)Q=this.readU64AsBigInt();else Q=this.readU64();else if(J===208)Q=this.readI8();else if(J===209)Q=this.readI16();else if(J===210)Q=this.readI32();else if(J===211)if(this.useBigInt64)Q=this.readI64AsBigInt();else Q=this.readI64();else if(J===217){let V=this.lookU8();Q=this.decodeString(V,1)}else if(J===218){let V=this.lookU16();Q=this.decodeString(V,2)}else if(J===219){let V=this.lookU32();Q=this.decodeString(V,4)}else if(J===220){let V=this.readU16();if(V!==0){this.pushArrayState(V),this.complete();continue J}else Q=[]}else if(J===221){let V=this.readU32();if(V!==0){this.pushArrayState(V),this.complete();continue J}else Q=[]}else if(J===222){let V=this.readU16();if(V!==0){this.pushMapState(V),this.complete();continue J}else Q={}}else if(J===223){let V=this.readU32();if(V!==0){this.pushMapState(V),this.complete();continue J}else Q={}}else if(J===196){let V=this.lookU8();Q=this.decodeBinary(V,1)}else if(J===197){let V=this.lookU16();Q=this.decodeBinary(V,2)}else if(J===198){let V=this.lookU32();Q=this.decodeBinary(V,4)}else if(J===212)Q=this.decodeExtension(1,0);else if(J===213)Q=this.decodeExtension(2,0);else if(J===214)Q=this.decodeExtension(4,0);else if(J===215)Q=this.decodeExtension(8,0);else if(J===216)Q=this.decodeExtension(16,0);else if(J===199){let V=this.lookU8();Q=this.decodeExtension(V,1)}else if(J===200){let V=this.lookU16();Q=this.decodeExtension(V,2)}else if(J===201){let V=this.lookU32();Q=this.decodeExtension(V,4)}else throw new n(`Unrecognized type byte: ${H0(J)}`);this.complete();let W=this.stack;while(W.length>0){let V=W.top();if(V.type===T0)if(V.array[V.position]=Q,V.position++,V.position===V.size)Q=V.array,W.release(V);else continue J;else if(V.type===d6){if(Q==="__proto__")throw new n("The key __proto__ is not allowed");V.key=this.mapKeyConverter(Q),V.type=I8;continue J}else if(V.map[V.key]=Q,V.readCount++,V.readCount===V.size)Q=V.map,W.release(V);else{V.key=null,V.type=d6;continue J}}return Q}}readHeadByte(){if(this.headByte===c6)this.headByte=this.readU8();return this.headByte}complete(){this.headByte=c6}readArraySize(){let J=this.readHeadByte();switch(J){case 220:return this.readU16();case 221:return this.readU32();default:if(J<160)return J-144;else throw new n(`Unrecognized array type byte: ${H0(J)}`)}}pushMapState(J){if(J>this.maxMapLength)throw new n(`Max length exceeded: map length (${J}) > maxMapLengthLength (${this.maxMapLength})`);this.stack.pushMapState(J)}pushArrayState(J){if(J>this.maxArrayLength)throw new n(`Max length exceeded: array length (${J}) > maxArrayLength (${this.maxArrayLength})`);this.stack.pushArrayState(J)}decodeString(J,Q){if(!this.rawStrings||this.stateIsMapKey())return this.decodeUtf8String(J,Q);return this.decodeBinary(J,Q)}decodeUtf8String(J,Q){if(J>this.maxStrLength)throw new n(`Max length exceeded: UTF-8 byte length (${J}) > maxStrLength (${this.maxStrLength})`);if(this.bytes.byteLength<this.pos+Q+J)throw D8;let W=this.pos+Q,V;if(this.stateIsMapKey()&&this.keyDecoder?.canBeCached(J))V=this.keyDecoder.decode(this.bytes,W,J);else V=C8(this.bytes,W,J);return this.pos+=Q+J,V}stateIsMapKey(){if(this.stack.length>0)return this.stack.top().type===d6;return!1}decodeBinary(J,Q){if(J>this.maxBinLength)throw new n(`Max length exceeded: bin length (${J}) > maxBinLength (${this.maxBinLength})`);if(!this.hasRemaining(J+Q))throw D8;let W=this.pos+Q,V=this.bytes.subarray(W,W+J);return this.pos+=Q+J,V}decodeExtension(J,Q){if(J>this.maxExtLength)throw new n(`Max length exceeded: ext length (${J}) > maxExtLength (${this.maxExtLength})`);let W=this.view.getInt8(this.pos+Q),V=this.decodeBinary(J,Q+1);return this.extensionCodec.decode(V,W,this.context)}lookU8(){return this.view.getUint8(this.pos)}lookU16(){return this.view.getUint16(this.pos)}lookU32(){return this.view.getUint32(this.pos)}readU8(){let J=this.view.getUint8(this.pos);return this.pos++,J}readI8(){let J=this.view.getInt8(this.pos);return this.pos++,J}readU16(){let J=this.view.getUint16(this.pos);return this.pos+=2,J}readI16(){let J=this.view.getInt16(this.pos);return this.pos+=2,J}readU32(){let J=this.view.getUint32(this.pos);return this.pos+=4,J}readI32(){let J=this.view.getInt32(this.pos);return this.pos+=4,J}readU64(){let J=R8(this.view,this.pos);return this.pos+=8,J}readI64(){let J=F0(this.view,this.pos);return this.pos+=8,J}readU64AsBigInt(){let J=this.view.getBigUint64(this.pos);return this.pos+=8,J}readI64AsBigInt(){let J=this.view.getBigInt64(this.pos);return this.pos+=8,J}readF32(){let J=this.view.getFloat32(this.pos);return this.pos+=4,J}readF64(){let J=this.view.getFloat64(this.pos);return this.pos+=8,J}}function M6(J,Q){return new $0(Q).decode(J)}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function f6(J){let Q=J.length;while(--Q>=0)J[Q]=0}var w5=0,FJ=1,N5=2,A5=3,S5=258,Q8=29,X0=256,s6=X0+1+Q8,E6=30,V8=19,ZJ=2*s6+1,C6=15,E0=16,T5=7,q8=256,zJ=16,HJ=17,$J=18,n0=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),L0=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),v5=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),kJ=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),E5=512,K6=Array((s6+2)*2);f6(K6);var r6=Array(E6*2);f6(r6);var t6=Array(E5);f6(t6);var e6=Array(S5-A5+1);f6(e6);var X8=Array(Q8);f6(X8);var R0=Array(E6);f6(R0);function g0(J,Q,W,V,q){this.static_tree=J,this.extra_bits=Q,this.extra_base=W,this.elems=V,this.max_length=q,this.has_stree=J&&J.length}var BJ,jJ,MJ;function y0(J,Q){this.dyn_tree=J,this.max_code=0,this.stat_desc=Q}var CJ=(J)=>{return J<256?t6[J]:t6[256+(J>>>7)]},J0=(J,Q)=>{J.pending_buf[J.pending++]=Q&255,J.pending_buf[J.pending++]=Q>>>8&255},a=(J,Q,W)=>{if(J.bi_valid>E0-W)J.bi_buf|=Q<<J.bi_valid&65535,J0(J,J.bi_buf),J.bi_buf=Q>>E0-J.bi_valid,J.bi_valid+=W-E0;else J.bi_buf|=Q<<J.bi_valid&65535,J.bi_valid+=W},X6=(J,Q,W)=>{a(J,W[Q*2],W[Q*2+1])},LJ=(J,Q)=>{let W=0;do W|=J&1,J>>>=1,W<<=1;while(--Q>0);return W>>>1},g5=(J)=>{if(J.bi_valid===16)J0(J,J.bi_buf),J.bi_buf=0,J.bi_valid=0;else if(J.bi_valid>=8)J.pending_buf[J.pending++]=J.bi_buf&255,J.bi_buf>>=8,J.bi_valid-=8},y5=(J,Q)=>{let{dyn_tree:W,max_code:V}=Q,q=Q.stat_desc.static_tree,X=Q.stat_desc.has_stree,K=Q.stat_desc.extra_bits,Y=Q.stat_desc.extra_base,z=Q.stat_desc.max_length,G,P,k,Z,F,$,w=0;for(Z=0;Z<=C6;Z++)J.bl_count[Z]=0;W[J.heap[J.heap_max]*2+1]=0;for(G=J.heap_max+1;G<ZJ;G++){if(P=J.heap[G],Z=W[W[P*2+1]*2+1]+1,Z>z)Z=z,w++;if(W[P*2+1]=Z,P>V)continue;if(J.bl_count[Z]++,F=0,P>=Y)F=K[P-Y];if($=W[P*2],J.opt_len+=$*(Z+F),X)J.static_len+=$*(q[P*2+1]+F)}if(w===0)return;do{Z=z-1;while(J.bl_count[Z]===0)Z--;J.bl_count[Z]--,J.bl_count[Z+1]+=2,J.bl_count[z]--,w-=2}while(w>0);for(Z=z;Z!==0;Z--){P=J.bl_count[Z];while(P!==0){if(k=J.heap[--G],k>V)continue;if(W[k*2+1]!==Z)J.opt_len+=(Z-W[k*2+1])*W[k*2],W[k*2+1]=Z;P--}}},RJ=(J,Q,W)=>{let V=Array(C6+1),q=0,X,K;for(X=1;X<=C6;X++)q=q+W[X-1]<<1,V[X]=q;for(K=0;K<=Q;K++){let Y=J[K*2+1];if(Y===0)continue;J[K*2]=LJ(V[Y]++,Y)}},f5=()=>{let J,Q,W,V,q,X=Array(C6+1);W=0;for(V=0;V<Q8-1;V++){X8[V]=W;for(J=0;J<1<<n0[V];J++)e6[W++]=V}e6[W-1]=V,q=0;for(V=0;V<16;V++){R0[V]=q;for(J=0;J<1<<L0[V];J++)t6[q++]=V}q>>=7;for(;V<E6;V++){R0[V]=q<<7;for(J=0;J<1<<L0[V]-7;J++)t6[256+q++]=V}for(Q=0;Q<=C6;Q++)X[Q]=0;J=0;while(J<=143)K6[J*2+1]=8,J++,X[8]++;while(J<=255)K6[J*2+1]=9,J++,X[9]++;while(J<=279)K6[J*2+1]=7,J++,X[7]++;while(J<=287)K6[J*2+1]=8,J++,X[8]++;RJ(K6,s6+1,X);for(J=0;J<E6;J++)r6[J*2+1]=5,r6[J*2]=LJ(J,5);BJ=new g0(K6,n0,X0+1,s6,C6),jJ=new g0(r6,L0,0,E6,C6),MJ=new g0([],v5,0,V8,T5)},OJ=(J)=>{let Q;for(Q=0;Q<s6;Q++)J.dyn_ltree[Q*2]=0;for(Q=0;Q<E6;Q++)J.dyn_dtree[Q*2]=0;for(Q=0;Q<V8;Q++)J.bl_tree[Q*2]=0;J.dyn_ltree[q8*2]=1,J.opt_len=J.static_len=0,J.sym_next=J.matches=0},DJ=(J)=>{if(J.bi_valid>8)J0(J,J.bi_buf);else if(J.bi_valid>0)J.pending_buf[J.pending++]=J.bi_buf;J.bi_buf=0,J.bi_valid=0},w8=(J,Q,W,V)=>{let q=Q*2,X=W*2;return J[q]<J[X]||J[q]===J[X]&&V[Q]<=V[W]},f0=(J,Q,W)=>{let V=J.heap[W],q=W<<1;while(q<=J.heap_len){if(q<J.heap_len&&w8(Q,J.heap[q+1],J.heap[q],J.depth))q++;if(w8(Q,V,J.heap[q],J.depth))break;J.heap[W]=J.heap[q],W=q,q<<=1}J.heap[W]=V},N8=(J,Q,W)=>{let V,q,X=0,K,Y;if(J.sym_next!==0)do if(V=J.pending_buf[J.sym_buf+X++]&255,V+=(J.pending_buf[J.sym_buf+X++]&255)<<8,q=J.pending_buf[J.sym_buf+X++],V===0)X6(J,q,Q);else{if(K=e6[q],X6(J,K+X0+1,Q),Y=n0[K],Y!==0)q-=X8[K],a(J,q,Y);if(V--,K=CJ(V),X6(J,K,W),Y=L0[K],Y!==0)V-=R0[K],a(J,V,Y)}while(X<J.sym_next);X6(J,q8,Q)},r0=(J,Q)=>{let W=Q.dyn_tree,V=Q.stat_desc.static_tree,q=Q.stat_desc.has_stree,X=Q.stat_desc.elems,K,Y,z=-1,G;J.heap_len=0,J.heap_max=ZJ;for(K=0;K<X;K++)if(W[K*2]!==0)J.heap[++J.heap_len]=z=K,J.depth[K]=0;else W[K*2+1]=0;while(J.heap_len<2)if(G=J.heap[++J.heap_len]=z<2?++z:0,W[G*2]=1,J.depth[G]=0,J.opt_len--,q)J.static_len-=V[G*2+1];Q.max_code=z;for(K=J.heap_len>>1;K>=1;K--)f0(J,W,K);G=X;do K=J.heap[1],J.heap[1]=J.heap[J.heap_len--],f0(J,W,1),Y=J.heap[1],J.heap[--J.heap_max]=K,J.heap[--J.heap_max]=Y,W[G*2]=W[K*2]+W[Y*2],J.depth[G]=(J.depth[K]>=J.depth[Y]?J.depth[K]:J.depth[Y])+1,W[K*2+1]=W[Y*2+1]=G,J.heap[1]=G++,f0(J,W,1);while(J.heap_len>=2);J.heap[--J.heap_max]=J.heap[1],y5(J,Q),RJ(W,z,J.bl_count)},A8=(J,Q,W)=>{let V,q=-1,X,K=Q[1],Y=0,z=7,G=4;if(K===0)z=138,G=3;Q[(W+1)*2+1]=65535;for(V=0;V<=W;V++){if(X=K,K=Q[(V+1)*2+1],++Y<z&&X===K)continue;else if(Y<G)J.bl_tree[X*2]+=Y;else if(X!==0){if(X!==q)J.bl_tree[X*2]++;J.bl_tree[zJ*2]++}else if(Y<=10)J.bl_tree[HJ*2]++;else J.bl_tree[$J*2]++;if(Y=0,q=X,K===0)z=138,G=3;else if(X===K)z=6,G=3;else z=7,G=4}},S8=(J,Q,W)=>{let V,q=-1,X,K=Q[1],Y=0,z=7,G=4;if(K===0)z=138,G=3;for(V=0;V<=W;V++){if(X=K,K=Q[(V+1)*2+1],++Y<z&&X===K)continue;else if(Y<G)do X6(J,X,J.bl_tree);while(--Y!==0);else if(X!==0){if(X!==q)X6(J,X,J.bl_tree),Y--;X6(J,zJ,J.bl_tree),a(J,Y-3,2)}else if(Y<=10)X6(J,HJ,J.bl_tree),a(J,Y-3,3);else X6(J,$J,J.bl_tree),a(J,Y-11,7);if(Y=0,q=X,K===0)z=138,G=3;else if(X===K)z=6,G=3;else z=7,G=4}},b5=(J)=>{let Q;A8(J,J.dyn_ltree,J.l_desc.max_code),A8(J,J.dyn_dtree,J.d_desc.max_code),r0(J,J.bl_desc);for(Q=V8-1;Q>=3;Q--)if(J.bl_tree[kJ[Q]*2+1]!==0)break;return J.opt_len+=3*(Q+1)+5+5+4,Q},h5=(J,Q,W,V)=>{let q;a(J,Q-257,5),a(J,W-1,5),a(J,V-4,4);for(q=0;q<V;q++)a(J,J.bl_tree[kJ[q]*2+1],3);S8(J,J.dyn_ltree,Q-1),S8(J,J.dyn_dtree,W-1)},p5=(J)=>{let Q=4093624447,W;for(W=0;W<=31;W++,Q>>>=1)if(Q&1&&J.dyn_ltree[W*2]!==0)return 0;if(J.dyn_ltree[18]!==0||J.dyn_ltree[20]!==0||J.dyn_ltree[26]!==0)return 1;for(W=32;W<X0;W++)if(J.dyn_ltree[W*2]!==0)return 1;return 0},T8=!1,u5=(J)=>{if(!T8)f5(),T8=!0;J.l_desc=new y0(J.dyn_ltree,BJ),J.d_desc=new y0(J.dyn_dtree,jJ),J.bl_desc=new y0(J.bl_tree,MJ),J.bi_buf=0,J.bi_valid=0,OJ(J)},IJ=(J,Q,W,V)=>{if(a(J,(w5<<1)+(V?1:0),3),DJ(J),J0(J,W),J0(J,~W),W)J.pending_buf.set(J.window.subarray(Q,Q+W),J.pending);J.pending+=W},_5=(J)=>{a(J,FJ<<1,3),X6(J,q8,K6),g5(J)},m5=(J,Q,W,V)=>{let q,X,K=0;if(J.level>0){if(J.strm.data_type===2)J.strm.data_type=p5(J);if(r0(J,J.l_desc),r0(J,J.d_desc),K=b5(J),q=J.opt_len+3+7>>>3,X=J.static_len+3+7>>>3,X<=q)q=X}else q=X=W+5;if(W+4<=q&&Q!==-1)IJ(J,Q,W,V);else if(J.strategy===4||X===q)a(J,(FJ<<1)+(V?1:0),3),N8(J,K6,r6);else a(J,(N5<<1)+(V?1:0),3),h5(J,J.l_desc.max_code+1,J.d_desc.max_code+1,K+1),N8(J,J.dyn_ltree,J.dyn_dtree);if(OJ(J),V)DJ(J)},c5=(J,Q,W)=>{if(J.pending_buf[J.sym_buf+J.sym_next++]=Q,J.pending_buf[J.sym_buf+J.sym_next++]=Q>>8,J.pending_buf[J.sym_buf+J.sym_next++]=W,Q===0)J.dyn_ltree[W*2]++;else J.matches++,Q--,J.dyn_ltree[(e6[W]+X0+1)*2]++,J.dyn_dtree[CJ(Q)*2]++;return J.sym_next===J.sym_end},d5=u5,l5=IJ,i5=m5,n5=c5,r5=_5,o5={_tr_init:d5,_tr_stored_block:l5,_tr_flush_block:i5,_tr_tally:n5,_tr_align:r5},a5=(J,Q,W,V)=>{let q=J&65535|0,X=J>>>16&65535|0,K=0;while(W!==0){K=W>2000?2000:W,W-=K;do q=q+Q[V++]|0,X=X+q|0;while(--K);q%=65521,X%=65521}return q|X<<16|0},W0=a5,s5=()=>{let J,Q=[];for(var W=0;W<256;W++){J=W;for(var V=0;V<8;V++)J=J&1?3988292384^J>>>1:J>>>1;Q[W]=J}return Q},t5=new Uint32Array(s5()),e5=(J,Q,W,V)=>{let q=t5,X=V+W;J^=-1;for(let K=V;K<X;K++)J=J>>>8^q[(J^Q[K])&255];return J^-1},d=e5,O6={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},x6={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:J1,_tr_stored_block:o0,_tr_flush_block:W1,_tr_tally:H6,_tr_align:Q1}=o5,{Z_NO_FLUSH:$6,Z_PARTIAL_FLUSH:V1,Z_FULL_FLUSH:q1,Z_FINISH:W6,Z_BLOCK:v8,Z_OK:l,Z_STREAM_END:E8,Z_STREAM_ERROR:Y6,Z_DATA_ERROR:X1,Z_BUF_ERROR:b0,Z_DEFAULT_COMPRESSION:Y1,Z_FILTERED:G1,Z_HUFFMAN_ONLY:k0,Z_RLE:P1,Z_FIXED:K1,Z_DEFAULT_STRATEGY:U1,Z_UNKNOWN:F1,Z_DEFLATED:I0}=x6,Z1=9,z1=15,H1=8,$1=29,k1=256,a0=k1+1+$1,B1=30,j1=19,M1=2*a0+1,C1=15,g=3,z6=258,G6=z6+g+1,L1=32,g6=42,Y8=57,s0=69,t0=73,e0=91,J8=103,L6=113,i6=666,r=1,b6=2,D6=3,h6=4,R1=3,R6=(J,Q)=>{return J.msg=O6[Q],Q},g8=(J)=>{return J*2-(J>4?9:0)},Z6=(J)=>{let Q=J.length;while(--Q>=0)J[Q]=0},O1=(J)=>{let Q,W,V,q=J.w_size;Q=J.hash_size,V=Q;do W=J.head[--V],J.head[V]=W>=q?W-q:0;while(--Q);Q=q,V=Q;do W=J.prev[--V],J.prev[V]=W>=q?W-q:0;while(--Q)},D1=(J,Q,W)=>(Q<<J.hash_shift^W)&J.hash_mask,k6=D1,t=(J)=>{let Q=J.state,W=Q.pending;if(W>J.avail_out)W=J.avail_out;if(W===0)return;if(J.output.set(Q.pending_buf.subarray(Q.pending_out,Q.pending_out+W),J.next_out),J.next_out+=W,Q.pending_out+=W,J.total_out+=W,J.avail_out-=W,Q.pending-=W,Q.pending===0)Q.pending_out=0},e=(J,Q)=>{W1(J,J.block_start>=0?J.block_start:-1,J.strstart-J.block_start,Q),J.block_start=J.strstart,t(J.strm)},b=(J,Q)=>{J.pending_buf[J.pending++]=Q},l6=(J,Q)=>{J.pending_buf[J.pending++]=Q>>>8&255,J.pending_buf[J.pending++]=Q&255},W8=(J,Q,W,V)=>{let q=J.avail_in;if(q>V)q=V;if(q===0)return 0;if(J.avail_in-=q,Q.set(J.input.subarray(J.next_in,J.next_in+q),W),J.state.wrap===1)J.adler=W0(J.adler,Q,q,W);else if(J.state.wrap===2)J.adler=d(J.adler,Q,q,W);return J.next_in+=q,J.total_in+=q,q},xJ=(J,Q)=>{let{max_chain_length:W,strstart:V}=J,q,X,K=J.prev_length,Y=J.nice_match,z=J.strstart>J.w_size-G6?J.strstart-(J.w_size-G6):0,G=J.window,P=J.w_mask,k=J.prev,Z=J.strstart+z6,F=G[V+K-1],$=G[V+K];if(J.prev_length>=J.good_match)W>>=2;if(Y>J.lookahead)Y=J.lookahead;do{if(q=Q,G[q+K]!==$||G[q+K-1]!==F||G[q]!==G[V]||G[++q]!==G[V+1])continue;V+=2,q++;do;while(G[++V]===G[++q]&&G[++V]===G[++q]&&G[++V]===G[++q]&&G[++V]===G[++q]&&G[++V]===G[++q]&&G[++V]===G[++q]&&G[++V]===G[++q]&&G[++V]===G[++q]&&V<Z);if(X=z6-(Z-V),V=Z-z6,X>K){if(J.match_start=Q,K=X,X>=Y)break;F=G[V+K-1],$=G[V+K]}}while((Q=k[Q&P])>z&&--W!==0);if(K<=J.lookahead)return K;return J.lookahead},y6=(J)=>{let Q=J.w_size,W,V,q;do{if(V=J.window_size-J.lookahead-J.strstart,J.strstart>=Q+(Q-G6)){if(J.window.set(J.window.subarray(Q,Q+Q-V),0),J.match_start-=Q,J.strstart-=Q,J.block_start-=Q,J.insert>J.strstart)J.insert=J.strstart;O1(J),V+=Q}if(J.strm.avail_in===0)break;if(W=W8(J.strm,J.window,J.strstart+J.lookahead,V),J.lookahead+=W,J.lookahead+J.insert>=g){q=J.strstart-J.insert,J.ins_h=J.window[q],J.ins_h=k6(J,J.ins_h,J.window[q+1]);while(J.insert)if(J.ins_h=k6(J,J.ins_h,J.window[q+g-1]),J.prev[q&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=q,q++,J.insert--,J.lookahead+J.insert<g)break}}while(J.lookahead<G6&&J.strm.avail_in!==0)},wJ=(J,Q)=>{let W=J.pending_buf_size-5>J.w_size?J.w_size:J.pending_buf_size-5,V,q,X,K=0,Y=J.strm.avail_in;do{if(V=65535,X=J.bi_valid+42>>3,J.strm.avail_out<X)break;if(X=J.strm.avail_out-X,q=J.strstart-J.block_start,V>q+J.strm.avail_in)V=q+J.strm.avail_in;if(V>X)V=X;if(V<W&&(V===0&&Q!==W6||Q===$6||V!==q+J.strm.avail_in))break;if(K=Q===W6&&V===q+J.strm.avail_in?1:0,o0(J,0,0,K),J.pending_buf[J.pending-4]=V,J.pending_buf[J.pending-3]=V>>8,J.pending_buf[J.pending-2]=~V,J.pending_buf[J.pending-1]=~V>>8,t(J.strm),q){if(q>V)q=V;J.strm.output.set(J.window.subarray(J.block_start,J.block_start+q),J.strm.next_out),J.strm.next_out+=q,J.strm.avail_out-=q,J.strm.total_out+=q,J.block_start+=q,V-=q}if(V)W8(J.strm,J.strm.output,J.strm.next_out,V),J.strm.next_out+=V,J.strm.avail_out-=V,J.strm.total_out+=V}while(K===0);if(Y-=J.strm.avail_in,Y){if(Y>=J.w_size)J.matches=2,J.window.set(J.strm.input.subarray(J.strm.next_in-J.w_size,J.strm.next_in),0),J.strstart=J.w_size,J.insert=J.strstart;else{if(J.window_size-J.strstart<=Y){if(J.strstart-=J.w_size,J.window.set(J.window.subarray(J.w_size,J.w_size+J.strstart),0),J.matches<2)J.matches++;if(J.insert>J.strstart)J.insert=J.strstart}J.window.set(J.strm.input.subarray(J.strm.next_in-Y,J.strm.next_in),J.strstart),J.strstart+=Y,J.insert+=Y>J.w_size-J.insert?J.w_size-J.insert:Y}J.block_start=J.strstart}if(J.high_water<J.strstart)J.high_water=J.strstart;if(K)return h6;if(Q!==$6&&Q!==W6&&J.strm.avail_in===0&&J.strstart===J.block_start)return b6;if(X=J.window_size-J.strstart,J.strm.avail_in>X&&J.block_start>=J.w_size){if(J.block_start-=J.w_size,J.strstart-=J.w_size,J.window.set(J.window.subarray(J.w_size,J.w_size+J.strstart),0),J.matches<2)J.matches++;if(X+=J.w_size,J.insert>J.strstart)J.insert=J.strstart}if(X>J.strm.avail_in)X=J.strm.avail_in;if(X)W8(J.strm,J.window,J.strstart,X),J.strstart+=X,J.insert+=X>J.w_size-J.insert?J.w_size-J.insert:X;if(J.high_water<J.strstart)J.high_water=J.strstart;if(X=J.bi_valid+42>>3,X=J.pending_buf_size-X>65535?65535:J.pending_buf_size-X,W=X>J.w_size?J.w_size:X,q=J.strstart-J.block_start,q>=W||(q||Q===W6)&&Q!==$6&&J.strm.avail_in===0&&q<=X)V=q>X?X:q,K=Q===W6&&J.strm.avail_in===0&&V===q?1:0,o0(J,J.block_start,V,K),J.block_start+=V,t(J.strm);return K?D6:r},h0=(J,Q)=>{let W,V;for(;;){if(J.lookahead<G6){if(y6(J),J.lookahead<G6&&Q===$6)return r;if(J.lookahead===0)break}if(W=0,J.lookahead>=g)J.ins_h=k6(J,J.ins_h,J.window[J.strstart+g-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;if(W!==0&&J.strstart-W<=J.w_size-G6)J.match_length=xJ(J,W);if(J.match_length>=g)if(V=H6(J,J.strstart-J.match_start,J.match_length-g),J.lookahead-=J.match_length,J.match_length<=J.max_lazy_match&&J.lookahead>=g){J.match_length--;do J.strstart++,J.ins_h=k6(J,J.ins_h,J.window[J.strstart+g-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;while(--J.match_length!==0);J.strstart++}else J.strstart+=J.match_length,J.match_length=0,J.ins_h=J.window[J.strstart],J.ins_h=k6(J,J.ins_h,J.window[J.strstart+1]);else V=H6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(V){if(e(J,!1),J.strm.avail_out===0)return r}}if(J.insert=J.strstart<g-1?J.strstart:g-1,Q===W6){if(e(J,!0),J.strm.avail_out===0)return D6;return h6}if(J.sym_next){if(e(J,!1),J.strm.avail_out===0)return r}return b6},T6=(J,Q)=>{let W,V,q;for(;;){if(J.lookahead<G6){if(y6(J),J.lookahead<G6&&Q===$6)return r;if(J.lookahead===0)break}if(W=0,J.lookahead>=g)J.ins_h=k6(J,J.ins_h,J.window[J.strstart+g-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;if(J.prev_length=J.match_length,J.prev_match=J.match_start,J.match_length=g-1,W!==0&&J.prev_length<J.max_lazy_match&&J.strstart-W<=J.w_size-G6){if(J.match_length=xJ(J,W),J.match_length<=5&&(J.strategy===G1||J.match_length===g&&J.strstart-J.match_start>4096))J.match_length=g-1}if(J.prev_length>=g&&J.match_length<=J.prev_length){q=J.strstart+J.lookahead-g,V=H6(J,J.strstart-1-J.prev_match,J.prev_length-g),J.lookahead-=J.prev_length-1,J.prev_length-=2;do if(++J.strstart<=q)J.ins_h=k6(J,J.ins_h,J.window[J.strstart+g-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;while(--J.prev_length!==0);if(J.match_available=0,J.match_length=g-1,J.strstart++,V){if(e(J,!1),J.strm.avail_out===0)return r}}else if(J.match_available){if(V=H6(J,0,J.window[J.strstart-1]),V)e(J,!1);if(J.strstart++,J.lookahead--,J.strm.avail_out===0)return r}else J.match_available=1,J.strstart++,J.lookahead--}if(J.match_available)V=H6(J,0,J.window[J.strstart-1]),J.match_available=0;if(J.insert=J.strstart<g-1?J.strstart:g-1,Q===W6){if(e(J,!0),J.strm.avail_out===0)return D6;return h6}if(J.sym_next){if(e(J,!1),J.strm.avail_out===0)return r}return b6},I1=(J,Q)=>{let W,V,q,X,K=J.window;for(;;){if(J.lookahead<=z6){if(y6(J),J.lookahead<=z6&&Q===$6)return r;if(J.lookahead===0)break}if(J.match_length=0,J.lookahead>=g&&J.strstart>0){if(q=J.strstart-1,V=K[q],V===K[++q]&&V===K[++q]&&V===K[++q]){X=J.strstart+z6;do;while(V===K[++q]&&V===K[++q]&&V===K[++q]&&V===K[++q]&&V===K[++q]&&V===K[++q]&&V===K[++q]&&V===K[++q]&&q<X);if(J.match_length=z6-(X-q),J.match_length>J.lookahead)J.match_length=J.lookahead}}if(J.match_length>=g)W=H6(J,1,J.match_length-g),J.lookahead-=J.match_length,J.strstart+=J.match_length,J.match_length=0;else W=H6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(W){if(e(J,!1),J.strm.avail_out===0)return r}}if(J.insert=0,Q===W6){if(e(J,!0),J.strm.avail_out===0)return D6;return h6}if(J.sym_next){if(e(J,!1),J.strm.avail_out===0)return r}return b6},x1=(J,Q)=>{let W;for(;;){if(J.lookahead===0){if(y6(J),J.lookahead===0){if(Q===$6)return r;break}}if(J.match_length=0,W=H6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++,W){if(e(J,!1),J.strm.avail_out===0)return r}}if(J.insert=0,Q===W6){if(e(J,!0),J.strm.avail_out===0)return D6;return h6}if(J.sym_next){if(e(J,!1),J.strm.avail_out===0)return r}return b6};function q6(J,Q,W,V,q){this.good_length=J,this.max_lazy=Q,this.nice_length=W,this.max_chain=V,this.func=q}var n6=[new q6(0,0,0,0,wJ),new q6(4,4,8,4,h0),new q6(4,5,16,8,h0),new q6(4,6,32,32,h0),new q6(4,4,16,16,T6),new q6(8,16,32,32,T6),new q6(8,16,128,128,T6),new q6(8,32,128,256,T6),new q6(32,128,258,1024,T6),new q6(32,258,258,4096,T6)],w1=(J)=>{J.window_size=2*J.w_size,Z6(J.head),J.max_lazy_match=n6[J.level].max_lazy,J.good_match=n6[J.level].good_length,J.nice_match=n6[J.level].nice_length,J.max_chain_length=n6[J.level].max_chain,J.strstart=0,J.block_start=0,J.lookahead=0,J.insert=0,J.match_length=J.prev_length=g-1,J.match_available=0,J.ins_h=0};function N1(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=I0,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(M1*2),this.dyn_dtree=new Uint16Array((2*B1+1)*2),this.bl_tree=new Uint16Array((2*j1+1)*2),Z6(this.dyn_ltree),Z6(this.dyn_dtree),Z6(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(C1+1),this.heap=new Uint16Array(2*a0+1),Z6(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*a0+1),Z6(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var Y0=(J)=>{if(!J)return 1;let Q=J.state;if(!Q||Q.strm!==J||Q.status!==g6&&Q.status!==Y8&&Q.status!==s0&&Q.status!==t0&&Q.status!==e0&&Q.status!==J8&&Q.status!==L6&&Q.status!==i6)return 1;return 0},NJ=(J)=>{if(Y0(J))return R6(J,Y6);J.total_in=J.total_out=0,J.data_type=F1;let Q=J.state;if(Q.pending=0,Q.pending_out=0,Q.wrap<0)Q.wrap=-Q.wrap;return Q.status=Q.wrap===2?Y8:Q.wrap?g6:L6,J.adler=Q.wrap===2?0:1,Q.last_flush=-2,J1(Q),l},AJ=(J)=>{let Q=NJ(J);if(Q===l)w1(J.state);return Q},A1=(J,Q)=>{if(Y0(J)||J.state.wrap!==2)return Y6;return J.state.gzhead=Q,l},SJ=(J,Q,W,V,q,X)=>{if(!J)return Y6;let K=1;if(Q===Y1)Q=6;if(V<0)K=0,V=-V;else if(V>15)K=2,V-=16;if(q<1||q>Z1||W!==I0||V<8||V>15||Q<0||Q>9||X<0||X>K1||V===8&&K!==1)return R6(J,Y6);if(V===8)V=9;let Y=new N1;return J.state=Y,Y.strm=J,Y.status=g6,Y.wrap=K,Y.gzhead=null,Y.w_bits=V,Y.w_size=1<<Y.w_bits,Y.w_mask=Y.w_size-1,Y.hash_bits=q+7,Y.hash_size=1<<Y.hash_bits,Y.hash_mask=Y.hash_size-1,Y.hash_shift=~~((Y.hash_bits+g-1)/g),Y.window=new Uint8Array(Y.w_size*2),Y.head=new Uint16Array(Y.hash_size),Y.prev=new Uint16Array(Y.w_size),Y.lit_bufsize=1<<q+6,Y.pending_buf_size=Y.lit_bufsize*4,Y.pending_buf=new Uint8Array(Y.pending_buf_size),Y.sym_buf=Y.lit_bufsize,Y.sym_end=(Y.lit_bufsize-1)*3,Y.level=Q,Y.strategy=X,Y.method=W,AJ(J)},S1=(J,Q)=>{return SJ(J,Q,I0,z1,H1,U1)},T1=(J,Q)=>{if(Y0(J)||Q>v8||Q<0)return J?R6(J,Y6):Y6;let W=J.state;if(!J.output||J.avail_in!==0&&!J.input||W.status===i6&&Q!==W6)return R6(J,J.avail_out===0?b0:Y6);let V=W.last_flush;if(W.last_flush=Q,W.pending!==0){if(t(J),J.avail_out===0)return W.last_flush=-1,l}else if(J.avail_in===0&&g8(Q)<=g8(V)&&Q!==W6)return R6(J,b0);if(W.status===i6&&J.avail_in!==0)return R6(J,b0);if(W.status===g6&&W.wrap===0)W.status=L6;if(W.status===g6){let q=I0+(W.w_bits-8<<4)<<8,X=-1;if(W.strategy>=k0||W.level<2)X=0;else if(W.level<6)X=1;else if(W.level===6)X=2;else X=3;if(q|=X<<6,W.strstart!==0)q|=L1;if(q+=31-q%31,l6(W,q),W.strstart!==0)l6(W,J.adler>>>16),l6(W,J.adler&65535);if(J.adler=1,W.status=L6,t(J),W.pending!==0)return W.last_flush=-1,l}if(W.status===Y8)if(J.adler=0,b(W,31),b(W,139),b(W,8),!W.gzhead){if(b(W,0),b(W,0),b(W,0),b(W,0),b(W,0),b(W,W.level===9?2:W.strategy>=k0||W.level<2?4:0),b(W,R1),W.status=L6,t(J),W.pending!==0)return W.last_flush=-1,l}else{if(b(W,(W.gzhead.text?1:0)+(W.gzhead.hcrc?2:0)+(!W.gzhead.extra?0:4)+(!W.gzhead.name?0:8)+(!W.gzhead.comment?0:16)),b(W,W.gzhead.time&255),b(W,W.gzhead.time>>8&255),b(W,W.gzhead.time>>16&255),b(W,W.gzhead.time>>24&255),b(W,W.level===9?2:W.strategy>=k0||W.level<2?4:0),b(W,W.gzhead.os&255),W.gzhead.extra&&W.gzhead.extra.length)b(W,W.gzhead.extra.length&255),b(W,W.gzhead.extra.length>>8&255);if(W.gzhead.hcrc)J.adler=d(J.adler,W.pending_buf,W.pending,0);W.gzindex=0,W.status=s0}if(W.status===s0){if(W.gzhead.extra){let q=W.pending,X=(W.gzhead.extra.length&65535)-W.gzindex;while(W.pending+X>W.pending_buf_size){let Y=W.pending_buf_size-W.pending;if(W.pending_buf.set(W.gzhead.extra.subarray(W.gzindex,W.gzindex+Y),W.pending),W.pending=W.pending_buf_size,W.gzhead.hcrc&&W.pending>q)J.adler=d(J.adler,W.pending_buf,W.pending-q,q);if(W.gzindex+=Y,t(J),W.pending!==0)return W.last_flush=-1,l;q=0,X-=Y}let K=new Uint8Array(W.gzhead.extra);if(W.pending_buf.set(K.subarray(W.gzindex,W.gzindex+X),W.pending),W.pending+=X,W.gzhead.hcrc&&W.pending>q)J.adler=d(J.adler,W.pending_buf,W.pending-q,q);W.gzindex=0}W.status=t0}if(W.status===t0){if(W.gzhead.name){let q=W.pending,X;do{if(W.pending===W.pending_buf_size){if(W.gzhead.hcrc&&W.pending>q)J.adler=d(J.adler,W.pending_buf,W.pending-q,q);if(t(J),W.pending!==0)return W.last_flush=-1,l;q=0}if(W.gzindex<W.gzhead.name.length)X=W.gzhead.name.charCodeAt(W.gzindex++)&255;else X=0;b(W,X)}while(X!==0);if(W.gzhead.hcrc&&W.pending>q)J.adler=d(J.adler,W.pending_buf,W.pending-q,q);W.gzindex=0}W.status=e0}if(W.status===e0){if(W.gzhead.comment){let q=W.pending,X;do{if(W.pending===W.pending_buf_size){if(W.gzhead.hcrc&&W.pending>q)J.adler=d(J.adler,W.pending_buf,W.pending-q,q);if(t(J),W.pending!==0)return W.last_flush=-1,l;q=0}if(W.gzindex<W.gzhead.comment.length)X=W.gzhead.comment.charCodeAt(W.gzindex++)&255;else X=0;b(W,X)}while(X!==0);if(W.gzhead.hcrc&&W.pending>q)J.adler=d(J.adler,W.pending_buf,W.pending-q,q)}W.status=J8}if(W.status===J8){if(W.gzhead.hcrc){if(W.pending+2>W.pending_buf_size){if(t(J),W.pending!==0)return W.last_flush=-1,l}b(W,J.adler&255),b(W,J.adler>>8&255),J.adler=0}if(W.status=L6,t(J),W.pending!==0)return W.last_flush=-1,l}if(J.avail_in!==0||W.lookahead!==0||Q!==$6&&W.status!==i6){let q=W.level===0?wJ(W,Q):W.strategy===k0?x1(W,Q):W.strategy===P1?I1(W,Q):n6[W.level].func(W,Q);if(q===D6||q===h6)W.status=i6;if(q===r||q===D6){if(J.avail_out===0)W.last_flush=-1;return l}if(q===b6){if(Q===V1)Q1(W);else if(Q!==v8){if(o0(W,0,0,!1),Q===q1){if(Z6(W.head),W.lookahead===0)W.strstart=0,W.block_start=0,W.insert=0}}if(t(J),J.avail_out===0)return W.last_flush=-1,l}}if(Q!==W6)return l;if(W.wrap<=0)return E8;if(W.wrap===2)b(W,J.adler&255),b(W,J.adler>>8&255),b(W,J.adler>>16&255),b(W,J.adler>>24&255),b(W,J.total_in&255),b(W,J.total_in>>8&255),b(W,J.total_in>>16&255),b(W,J.total_in>>24&255);else l6(W,J.adler>>>16),l6(W,J.adler&65535);if(t(J),W.wrap>0)W.wrap=-W.wrap;return W.pending!==0?l:E8},v1=(J)=>{if(Y0(J))return Y6;let Q=J.state.status;return J.state=null,Q===L6?R6(J,X1):l},E1=(J,Q)=>{let W=Q.length;if(Y0(J))return Y6;let V=J.state,q=V.wrap;if(q===2||q===1&&V.status!==g6||V.lookahead)return Y6;if(q===1)J.adler=W0(J.adler,Q,W,0);if(V.wrap=0,W>=V.w_size){if(q===0)Z6(V.head),V.strstart=0,V.block_start=0,V.insert=0;let z=new Uint8Array(V.w_size);z.set(Q.subarray(W-V.w_size,W),0),Q=z,W=V.w_size}let{avail_in:X,next_in:K,input:Y}=J;J.avail_in=W,J.next_in=0,J.input=Q,y6(V);while(V.lookahead>=g){let z=V.strstart,G=V.lookahead-(g-1);do V.ins_h=k6(V,V.ins_h,V.window[z+g-1]),V.prev[z&V.w_mask]=V.head[V.ins_h],V.head[V.ins_h]=z,z++;while(--G);V.strstart=z,V.lookahead=g-1,y6(V)}return V.strstart+=V.lookahead,V.block_start=V.strstart,V.insert=V.lookahead,V.lookahead=0,V.match_length=V.prev_length=g-1,V.match_available=0,J.next_in=K,J.input=Y,J.avail_in=X,V.wrap=q,l},g1=S1,y1=SJ,f1=AJ,b1=NJ,h1=A1,p1=T1,u1=v1,_1=E1,m1="pako deflate (from Nodeca project)",o6={deflateInit:g1,deflateInit2:y1,deflateReset:f1,deflateResetKeep:b1,deflateSetHeader:h1,deflate:p1,deflateEnd:u1,deflateSetDictionary:_1,deflateInfo:m1},c1=(J,Q)=>{return Object.prototype.hasOwnProperty.call(J,Q)},d1=function(J){let Q=Array.prototype.slice.call(arguments,1);while(Q.length){let W=Q.shift();if(!W)continue;if(typeof W!=="object")throw TypeError(W+"must be non-object");for(let V in W)if(c1(W,V))J[V]=W[V]}return J},l1=(J)=>{let Q=0;for(let V=0,q=J.length;V<q;V++)Q+=J[V].length;let W=new Uint8Array(Q);for(let V=0,q=0,X=J.length;V<X;V++){let K=J[V];W.set(K,q),q+=K.length}return W},x0={assign:d1,flattenChunks:l1},TJ=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(J){TJ=!1}var Q0=new Uint8Array(256);for(let J=0;J<256;J++)Q0[J]=J>=252?6:J>=248?5:J>=240?4:J>=224?3:J>=192?2:1;Q0[254]=Q0[254]=1;var i1=(J)=>{if(typeof TextEncoder==="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(J);let Q,W,V,q,X,K=J.length,Y=0;for(q=0;q<K;q++){if(W=J.charCodeAt(q),(W&64512)===55296&&q+1<K){if(V=J.charCodeAt(q+1),(V&64512)===56320)W=65536+(W-55296<<10)+(V-56320),q++}Y+=W<128?1:W<2048?2:W<65536?3:4}Q=new Uint8Array(Y);for(X=0,q=0;X<Y;q++){if(W=J.charCodeAt(q),(W&64512)===55296&&q+1<K){if(V=J.charCodeAt(q+1),(V&64512)===56320)W=65536+(W-55296<<10)+(V-56320),q++}if(W<128)Q[X++]=W;else if(W<2048)Q[X++]=192|W>>>6,Q[X++]=128|W&63;else if(W<65536)Q[X++]=224|W>>>12,Q[X++]=128|W>>>6&63,Q[X++]=128|W&63;else Q[X++]=240|W>>>18,Q[X++]=128|W>>>12&63,Q[X++]=128|W>>>6&63,Q[X++]=128|W&63}return Q},n1=(J,Q)=>{if(Q<65534){if(J.subarray&&TJ)return String.fromCharCode.apply(null,J.length===Q?J:J.subarray(0,Q))}let W="";for(let V=0;V<Q;V++)W+=String.fromCharCode(J[V]);return W},r1=(J,Q)=>{let W=Q||J.length;if(typeof TextDecoder==="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(J.subarray(0,Q));let V,q,X=Array(W*2);for(q=0,V=0;V<W;){let K=J[V++];if(K<128){X[q++]=K;continue}let Y=Q0[K];if(Y>4){X[q++]=65533,V+=Y-1;continue}K&=Y===2?31:Y===3?15:7;while(Y>1&&V<W)K=K<<6|J[V++]&63,Y--;if(Y>1){X[q++]=65533;continue}if(K<65536)X[q++]=K;else K-=65536,X[q++]=55296|K>>10&1023,X[q++]=56320|K&1023}return n1(X,q)},o1=(J,Q)=>{if(Q=Q||J.length,Q>J.length)Q=J.length;let W=Q-1;while(W>=0&&(J[W]&192)===128)W--;if(W<0)return Q;if(W===0)return Q;return W+Q0[J[W]]>Q?W:Q},V0={string2buf:i1,buf2string:r1,utf8border:o1};function a1(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var vJ=a1,EJ=Object.prototype.toString,{Z_NO_FLUSH:s1,Z_SYNC_FLUSH:t1,Z_FULL_FLUSH:e1,Z_FINISH:JW,Z_OK:O0,Z_STREAM_END:WW,Z_DEFAULT_COMPRESSION:QW,Z_DEFAULT_STRATEGY:VW,Z_DEFLATED:qW}=x6;function G0(J){this.options=x0.assign({level:QW,method:qW,chunkSize:16384,windowBits:15,memLevel:8,strategy:VW},J||{});let Q=this.options;if(Q.raw&&Q.windowBits>0)Q.windowBits=-Q.windowBits;else if(Q.gzip&&Q.windowBits>0&&Q.windowBits<16)Q.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new vJ,this.strm.avail_out=0;let W=o6.deflateInit2(this.strm,Q.level,Q.method,Q.windowBits,Q.memLevel,Q.strategy);if(W!==O0)throw Error(O6[W]);if(Q.header)o6.deflateSetHeader(this.strm,Q.header);if(Q.dictionary){let V;if(typeof Q.dictionary==="string")V=V0.string2buf(Q.dictionary);else if(EJ.call(Q.dictionary)==="[object ArrayBuffer]")V=new Uint8Array(Q.dictionary);else V=Q.dictionary;if(W=o6.deflateSetDictionary(this.strm,V),W!==O0)throw Error(O6[W]);this._dict_set=!0}}G0.prototype.push=function(J,Q){let W=this.strm,V=this.options.chunkSize,q,X;if(this.ended)return!1;if(Q===~~Q)X=Q;else X=Q===!0?JW:s1;if(typeof J==="string")W.input=V0.string2buf(J);else if(EJ.call(J)==="[object ArrayBuffer]")W.input=new Uint8Array(J);else W.input=J;W.next_in=0,W.avail_in=W.input.length;for(;;){if(W.avail_out===0)W.output=new Uint8Array(V),W.next_out=0,W.avail_out=V;if((X===t1||X===e1)&&W.avail_out<=6){this.onData(W.output.subarray(0,W.next_out)),W.avail_out=0;continue}if(q=o6.deflate(W,X),q===WW){if(W.next_out>0)this.onData(W.output.subarray(0,W.next_out));return q=o6.deflateEnd(this.strm),this.onEnd(q),this.ended=!0,q===O0}if(W.avail_out===0){this.onData(W.output);continue}if(X>0&&W.next_out>0){this.onData(W.output.subarray(0,W.next_out)),W.avail_out=0;continue}if(W.avail_in===0)break}return!0};G0.prototype.onData=function(J){this.chunks.push(J)};G0.prototype.onEnd=function(J){if(J===O0)this.result=x0.flattenChunks(this.chunks);this.chunks=[],this.err=J,this.msg=this.strm.msg};function G8(J,Q){let W=new G0(Q);if(W.push(J,!0),W.err)throw W.msg||O6[W.err];return W.result}function XW(J,Q){return Q=Q||{},Q.raw=!0,G8(J,Q)}function YW(J,Q){return Q=Q||{},Q.gzip=!0,G8(J,Q)}var GW=G0,PW=G8,KW=XW,UW=YW,FW=x6,ZW={Deflate:GW,deflate:PW,deflateRaw:KW,gzip:UW,constants:FW},B0=16209,zW=16191,HW=function(Q,W){let V,q,X,K,Y,z,G,P,k,Z,F,$,w,L,C,O,A,B,T,m,I,f,E,x,S=Q.state;V=Q.next_in,E=Q.input,q=V+(Q.avail_in-5),X=Q.next_out,x=Q.output,K=X-(W-Q.avail_out),Y=X+(Q.avail_out-257),z=S.dmax,G=S.wsize,P=S.whave,k=S.wnext,Z=S.window,F=S.hold,$=S.bits,w=S.lencode,L=S.distcode,C=(1<<S.lenbits)-1,O=(1<<S.distbits)-1;J:do{if($<15)F+=E[V++]<<$,$+=8,F+=E[V++]<<$,$+=8;A=w[F&C];W:for(;;){if(B=A>>>24,F>>>=B,$-=B,B=A>>>16&255,B===0)x[X++]=A&65535;else if(B&16){if(T=A&65535,B&=15,B){if($<B)F+=E[V++]<<$,$+=8;T+=F&(1<<B)-1,F>>>=B,$-=B}if($<15)F+=E[V++]<<$,$+=8,F+=E[V++]<<$,$+=8;A=L[F&O];Q:for(;;){if(B=A>>>24,F>>>=B,$-=B,B=A>>>16&255,B&16){if(m=A&65535,B&=15,$<B){if(F+=E[V++]<<$,$+=8,$<B)F+=E[V++]<<$,$+=8}if(m+=F&(1<<B)-1,m>z){Q.msg="invalid distance too far back",S.mode=B0;break J}if(F>>>=B,$-=B,B=X-K,m>B){if(B=m-B,B>P){if(S.sane){Q.msg="invalid distance too far back",S.mode=B0;break J}}if(I=0,f=Z,k===0){if(I+=G-B,B<T){T-=B;do x[X++]=Z[I++];while(--B);I=X-m,f=x}}else if(k<B){if(I+=G+k-B,B-=k,B<T){T-=B;do x[X++]=Z[I++];while(--B);if(I=0,k<T){B=k,T-=B;do x[X++]=Z[I++];while(--B);I=X-m,f=x}}}else if(I+=k-B,B<T){T-=B;do x[X++]=Z[I++];while(--B);I=X-m,f=x}while(T>2)x[X++]=f[I++],x[X++]=f[I++],x[X++]=f[I++],T-=3;if(T){if(x[X++]=f[I++],T>1)x[X++]=f[I++]}}else{I=X-m;do x[X++]=x[I++],x[X++]=x[I++],x[X++]=x[I++],T-=3;while(T>2);if(T){if(x[X++]=x[I++],T>1)x[X++]=x[I++]}}}else if((B&64)===0){A=L[(A&65535)+(F&(1<<B)-1)];continue Q}else{Q.msg="invalid distance code",S.mode=B0;break J}break}}else if((B&64)===0){A=w[(A&65535)+(F&(1<<B)-1)];continue W}else if(B&32){S.mode=zW;break J}else{Q.msg="invalid literal/length code",S.mode=B0;break J}break}}while(V<q&&X<Y);T=$>>3,V-=T,$-=T<<3,F&=(1<<$)-1,Q.next_in=V,Q.next_out=X,Q.avail_in=V<q?5+(q-V):5-(V-q),Q.avail_out=X<Y?257+(Y-X):257-(X-Y),S.hold=F,S.bits=$;return},v6=15,y8=852,f8=592,b8=0,p0=1,h8=2,$W=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),kW=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),BW=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),jW=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),MW=(J,Q,W,V,q,X,K,Y)=>{let z=Y.bits,G=0,P=0,k=0,Z=0,F=0,$=0,w=0,L=0,C=0,O=0,A,B,T,m,I,f=null,E,x=new Uint16Array(v6+1),S=new Uint16Array(v6+1),s=null,u6,B6,V6;for(G=0;G<=v6;G++)x[G]=0;for(P=0;P<V;P++)x[Q[W+P]]++;F=z;for(Z=v6;Z>=1;Z--)if(x[Z]!==0)break;if(F>Z)F=Z;if(Z===0)return q[X++]=20971520,q[X++]=20971520,Y.bits=1,0;for(k=1;k<Z;k++)if(x[k]!==0)break;if(F<k)F=k;L=1;for(G=1;G<=v6;G++)if(L<<=1,L-=x[G],L<0)return-1;if(L>0&&(J===b8||Z!==1))return-1;S[1]=0;for(G=1;G<v6;G++)S[G+1]=S[G]+x[G];for(P=0;P<V;P++)if(Q[W+P]!==0)K[S[Q[W+P]]++]=P;if(J===b8)f=s=K,E=20;else if(J===p0)f=$W,s=kW,E=257;else f=BW,s=jW,E=0;if(O=0,P=0,G=k,I=X,$=F,w=0,T=-1,C=1<<F,m=C-1,J===p0&&C>y8||J===h8&&C>f8)return 1;for(;;){if(u6=G-w,K[P]+1<E)B6=0,V6=K[P];else if(K[P]>=E)B6=s[K[P]-E],V6=f[K[P]-E];else B6=96,V6=0;A=1<<G-w,B=1<<$,k=B;do B-=A,q[I+(O>>w)+B]=u6<<24|B6<<16|V6|0;while(B!==0);A=1<<G-1;while(O&A)A>>=1;if(A!==0)O&=A-1,O+=A;else O=0;if(P++,--x[G]===0){if(G===Z)break;G=Q[W+K[P]]}if(G>F&&(O&m)!==T){if(w===0)w=F;I+=k,$=G-w,L=1<<$;while($+w<Z){if(L-=x[$+w],L<=0)break;$++,L<<=1}if(C+=1<<$,J===p0&&C>y8||J===h8&&C>f8)return 1;T=O&m,q[T]=F<<24|$<<16|I-X|0}}if(O!==0)q[I+O]=G-w<<24|4194304|0;return Y.bits=F,0},a6=MW,CW=0,gJ=1,yJ=2,{Z_FINISH:p8,Z_BLOCK:LW,Z_TREES:j0,Z_OK:I6,Z_STREAM_END:RW,Z_NEED_DICT:OW,Z_STREAM_ERROR:Q6,Z_DATA_ERROR:fJ,Z_MEM_ERROR:bJ,Z_BUF_ERROR:DW,Z_DEFLATED:u8}=x6,w0=16180,_8=16181,m8=16182,c8=16183,d8=16184,l8=16185,i8=16186,n8=16187,r8=16188,o8=16189,D0=16190,P6=16191,u0=16192,a8=16193,_0=16194,s8=16195,t8=16196,e8=16197,JJ=16198,M0=16199,C0=16200,WJ=16201,QJ=16202,VJ=16203,qJ=16204,XJ=16205,m0=16206,YJ=16207,GJ=16208,p=16209,hJ=16210,pJ=16211,IW=852,xW=592,wW=15,NW=wW,PJ=(J)=>{return(J>>>24&255)+(J>>>8&65280)+((J&65280)<<8)+((J&255)<<24)};function AW(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var w6=(J)=>{if(!J)return 1;let Q=J.state;if(!Q||Q.strm!==J||Q.mode<w0||Q.mode>pJ)return 1;return 0},uJ=(J)=>{if(w6(J))return Q6;let Q=J.state;if(J.total_in=J.total_out=Q.total=0,J.msg="",Q.wrap)J.adler=Q.wrap&1;return Q.mode=w0,Q.last=0,Q.havedict=0,Q.flags=-1,Q.dmax=32768,Q.head=null,Q.hold=0,Q.bits=0,Q.lencode=Q.lendyn=new Int32Array(IW),Q.distcode=Q.distdyn=new Int32Array(xW),Q.sane=1,Q.back=-1,I6},_J=(J)=>{if(w6(J))return Q6;let Q=J.state;return Q.wsize=0,Q.whave=0,Q.wnext=0,uJ(J)},mJ=(J,Q)=>{let W;if(w6(J))return Q6;let V=J.state;if(Q<0)W=0,Q=-Q;else if(W=(Q>>4)+5,Q<48)Q&=15;if(Q&&(Q<8||Q>15))return Q6;if(V.window!==null&&V.wbits!==Q)V.window=null;return V.wrap=W,V.wbits=Q,_J(J)},cJ=(J,Q)=>{if(!J)return Q6;let W=new AW;J.state=W,W.strm=J,W.window=null,W.mode=w0;let V=mJ(J,Q);if(V!==I6)J.state=null;return V},SW=(J)=>{return cJ(J,NW)},KJ=!0,c0,d0,TW=(J)=>{if(KJ){c0=new Int32Array(512),d0=new Int32Array(32);let Q=0;while(Q<144)J.lens[Q++]=8;while(Q<256)J.lens[Q++]=9;while(Q<280)J.lens[Q++]=7;while(Q<288)J.lens[Q++]=8;a6(gJ,J.lens,0,288,c0,0,J.work,{bits:9}),Q=0;while(Q<32)J.lens[Q++]=5;a6(yJ,J.lens,0,32,d0,0,J.work,{bits:5}),KJ=!1}J.lencode=c0,J.lenbits=9,J.distcode=d0,J.distbits=5},dJ=(J,Q,W,V)=>{let q,X=J.state;if(X.window===null)X.wsize=1<<X.wbits,X.wnext=0,X.whave=0,X.window=new Uint8Array(X.wsize);if(V>=X.wsize)X.window.set(Q.subarray(W-X.wsize,W),0),X.wnext=0,X.whave=X.wsize;else{if(q=X.wsize-X.wnext,q>V)q=V;if(X.window.set(Q.subarray(W-V,W-V+q),X.wnext),V-=q,V)X.window.set(Q.subarray(W-V,W),0),X.wnext=V,X.whave=X.wsize;else{if(X.wnext+=q,X.wnext===X.wsize)X.wnext=0;if(X.whave<X.wsize)X.whave+=q}}return 0},vW=(J,Q)=>{let W,V,q,X,K,Y,z,G,P,k,Z,F,$,w,L=0,C,O,A,B,T,m,I,f,E=new Uint8Array(4),x,S,s=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(w6(J)||!J.output||!J.input&&J.avail_in!==0)return Q6;if(W=J.state,W.mode===P6)W.mode=u0;K=J.next_out,q=J.output,z=J.avail_out,X=J.next_in,V=J.input,Y=J.avail_in,G=W.hold,P=W.bits,k=Y,Z=z,f=I6;J:for(;;)switch(W.mode){case w0:if(W.wrap===0){W.mode=u0;break}while(P<16){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(W.wrap&2&&G===35615){if(W.wbits===0)W.wbits=15;W.check=0,E[0]=G&255,E[1]=G>>>8&255,W.check=d(W.check,E,2,0),G=0,P=0,W.mode=_8;break}if(W.head)W.head.done=!1;if(!(W.wrap&1)||(((G&255)<<8)+(G>>8))%31){J.msg="incorrect header check",W.mode=p;break}if((G&15)!==u8){J.msg="unknown compression method",W.mode=p;break}if(G>>>=4,P-=4,I=(G&15)+8,W.wbits===0)W.wbits=I;if(I>15||I>W.wbits){J.msg="invalid window size",W.mode=p;break}W.dmax=1<<W.wbits,W.flags=0,J.adler=W.check=1,W.mode=G&512?o8:P6,G=0,P=0;break;case _8:while(P<16){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(W.flags=G,(W.flags&255)!==u8){J.msg="unknown compression method",W.mode=p;break}if(W.flags&57344){J.msg="unknown header flags set",W.mode=p;break}if(W.head)W.head.text=G>>8&1;if(W.flags&512&&W.wrap&4)E[0]=G&255,E[1]=G>>>8&255,W.check=d(W.check,E,2,0);G=0,P=0,W.mode=m8;case m8:while(P<32){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(W.head)W.head.time=G;if(W.flags&512&&W.wrap&4)E[0]=G&255,E[1]=G>>>8&255,E[2]=G>>>16&255,E[3]=G>>>24&255,W.check=d(W.check,E,4,0);G=0,P=0,W.mode=c8;case c8:while(P<16){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(W.head)W.head.xflags=G&255,W.head.os=G>>8;if(W.flags&512&&W.wrap&4)E[0]=G&255,E[1]=G>>>8&255,W.check=d(W.check,E,2,0);G=0,P=0,W.mode=d8;case d8:if(W.flags&1024){while(P<16){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(W.length=G,W.head)W.head.extra_len=G;if(W.flags&512&&W.wrap&4)E[0]=G&255,E[1]=G>>>8&255,W.check=d(W.check,E,2,0);G=0,P=0}else if(W.head)W.head.extra=null;W.mode=l8;case l8:if(W.flags&1024){if(F=W.length,F>Y)F=Y;if(F){if(W.head){if(I=W.head.extra_len-W.length,!W.head.extra)W.head.extra=new Uint8Array(W.head.extra_len);W.head.extra.set(V.subarray(X,X+F),I)}if(W.flags&512&&W.wrap&4)W.check=d(W.check,V,F,X);Y-=F,X+=F,W.length-=F}if(W.length)break J}W.length=0,W.mode=i8;case i8:if(W.flags&2048){if(Y===0)break J;F=0;do if(I=V[X+F++],W.head&&I&&W.length<65536)W.head.name+=String.fromCharCode(I);while(I&&F<Y);if(W.flags&512&&W.wrap&4)W.check=d(W.check,V,F,X);if(Y-=F,X+=F,I)break J}else if(W.head)W.head.name=null;W.length=0,W.mode=n8;case n8:if(W.flags&4096){if(Y===0)break J;F=0;do if(I=V[X+F++],W.head&&I&&W.length<65536)W.head.comment+=String.fromCharCode(I);while(I&&F<Y);if(W.flags&512&&W.wrap&4)W.check=d(W.check,V,F,X);if(Y-=F,X+=F,I)break J}else if(W.head)W.head.comment=null;W.mode=r8;case r8:if(W.flags&512){while(P<16){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(W.wrap&4&&G!==(W.check&65535)){J.msg="header crc mismatch",W.mode=p;break}G=0,P=0}if(W.head)W.head.hcrc=W.flags>>9&1,W.head.done=!0;J.adler=W.check=0,W.mode=P6;break;case o8:while(P<32){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}J.adler=W.check=PJ(G),G=0,P=0,W.mode=D0;case D0:if(W.havedict===0)return J.next_out=K,J.avail_out=z,J.next_in=X,J.avail_in=Y,W.hold=G,W.bits=P,OW;J.adler=W.check=1,W.mode=P6;case P6:if(Q===LW||Q===j0)break J;case u0:if(W.last){G>>>=P&7,P-=P&7,W.mode=m0;break}while(P<3){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}switch(W.last=G&1,G>>>=1,P-=1,G&3){case 0:W.mode=a8;break;case 1:if(TW(W),W.mode=M0,Q===j0){G>>>=2,P-=2;break J}break;case 2:W.mode=t8;break;case 3:J.msg="invalid block type",W.mode=p}G>>>=2,P-=2;break;case a8:G>>>=P&7,P-=P&7;while(P<32){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if((G&65535)!==(G>>>16^65535)){J.msg="invalid stored block lengths",W.mode=p;break}if(W.length=G&65535,G=0,P=0,W.mode=_0,Q===j0)break J;case _0:W.mode=s8;case s8:if(F=W.length,F){if(F>Y)F=Y;if(F>z)F=z;if(F===0)break J;q.set(V.subarray(X,X+F),K),Y-=F,X+=F,z-=F,K+=F,W.length-=F;break}W.mode=P6;break;case t8:while(P<14){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(W.nlen=(G&31)+257,G>>>=5,P-=5,W.ndist=(G&31)+1,G>>>=5,P-=5,W.ncode=(G&15)+4,G>>>=4,P-=4,W.nlen>286||W.ndist>30){J.msg="too many length or distance symbols",W.mode=p;break}W.have=0,W.mode=e8;case e8:while(W.have<W.ncode){while(P<3){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}W.lens[s[W.have++]]=G&7,G>>>=3,P-=3}while(W.have<19)W.lens[s[W.have++]]=0;if(W.lencode=W.lendyn,W.lenbits=7,x={bits:W.lenbits},f=a6(CW,W.lens,0,19,W.lencode,0,W.work,x),W.lenbits=x.bits,f){J.msg="invalid code lengths set",W.mode=p;break}W.have=0,W.mode=JJ;case JJ:while(W.have<W.nlen+W.ndist){for(;;){if(L=W.lencode[G&(1<<W.lenbits)-1],C=L>>>24,O=L>>>16&255,A=L&65535,C<=P)break;if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(A<16)G>>>=C,P-=C,W.lens[W.have++]=A;else{if(A===16){S=C+2;while(P<S){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(G>>>=C,P-=C,W.have===0){J.msg="invalid bit length repeat",W.mode=p;break}I=W.lens[W.have-1],F=3+(G&3),G>>>=2,P-=2}else if(A===17){S=C+3;while(P<S){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}G>>>=C,P-=C,I=0,F=3+(G&7),G>>>=3,P-=3}else{S=C+7;while(P<S){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}G>>>=C,P-=C,I=0,F=11+(G&127),G>>>=7,P-=7}if(W.have+F>W.nlen+W.ndist){J.msg="invalid bit length repeat",W.mode=p;break}while(F--)W.lens[W.have++]=I}}if(W.mode===p)break;if(W.lens[256]===0){J.msg="invalid code -- missing end-of-block",W.mode=p;break}if(W.lenbits=9,x={bits:W.lenbits},f=a6(gJ,W.lens,0,W.nlen,W.lencode,0,W.work,x),W.lenbits=x.bits,f){J.msg="invalid literal/lengths set",W.mode=p;break}if(W.distbits=6,W.distcode=W.distdyn,x={bits:W.distbits},f=a6(yJ,W.lens,W.nlen,W.ndist,W.distcode,0,W.work,x),W.distbits=x.bits,f){J.msg="invalid distances set",W.mode=p;break}if(W.mode=M0,Q===j0)break J;case M0:W.mode=C0;case C0:if(Y>=6&&z>=258){if(J.next_out=K,J.avail_out=z,J.next_in=X,J.avail_in=Y,W.hold=G,W.bits=P,HW(J,Z),K=J.next_out,q=J.output,z=J.avail_out,X=J.next_in,V=J.input,Y=J.avail_in,G=W.hold,P=W.bits,W.mode===P6)W.back=-1;break}W.back=0;for(;;){if(L=W.lencode[G&(1<<W.lenbits)-1],C=L>>>24,O=L>>>16&255,A=L&65535,C<=P)break;if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(O&&(O&240)===0){B=C,T=O,m=A;for(;;){if(L=W.lencode[m+((G&(1<<B+T)-1)>>B)],C=L>>>24,O=L>>>16&255,A=L&65535,B+C<=P)break;if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}G>>>=B,P-=B,W.back+=B}if(G>>>=C,P-=C,W.back+=C,W.length=A,O===0){W.mode=XJ;break}if(O&32){W.back=-1,W.mode=P6;break}if(O&64){J.msg="invalid literal/length code",W.mode=p;break}W.extra=O&15,W.mode=WJ;case WJ:if(W.extra){S=W.extra;while(P<S){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}W.length+=G&(1<<W.extra)-1,G>>>=W.extra,P-=W.extra,W.back+=W.extra}W.was=W.length,W.mode=QJ;case QJ:for(;;){if(L=W.distcode[G&(1<<W.distbits)-1],C=L>>>24,O=L>>>16&255,A=L&65535,C<=P)break;if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if((O&240)===0){B=C,T=O,m=A;for(;;){if(L=W.distcode[m+((G&(1<<B+T)-1)>>B)],C=L>>>24,O=L>>>16&255,A=L&65535,B+C<=P)break;if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}G>>>=B,P-=B,W.back+=B}if(G>>>=C,P-=C,W.back+=C,O&64){J.msg="invalid distance code",W.mode=p;break}W.offset=A,W.extra=O&15,W.mode=VJ;case VJ:if(W.extra){S=W.extra;while(P<S){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}W.offset+=G&(1<<W.extra)-1,G>>>=W.extra,P-=W.extra,W.back+=W.extra}if(W.offset>W.dmax){J.msg="invalid distance too far back",W.mode=p;break}W.mode=qJ;case qJ:if(z===0)break J;if(F=Z-z,W.offset>F){if(F=W.offset-F,F>W.whave){if(W.sane){J.msg="invalid distance too far back",W.mode=p;break}}if(F>W.wnext)F-=W.wnext,$=W.wsize-F;else $=W.wnext-F;if(F>W.length)F=W.length;w=W.window}else w=q,$=K-W.offset,F=W.length;if(F>z)F=z;z-=F,W.length-=F;do q[K++]=w[$++];while(--F);if(W.length===0)W.mode=C0;break;case XJ:if(z===0)break J;q[K++]=W.length,z--,W.mode=C0;break;case m0:if(W.wrap){while(P<32){if(Y===0)break J;Y--,G|=V[X++]<<P,P+=8}if(Z-=z,J.total_out+=Z,W.total+=Z,W.wrap&4&&Z)J.adler=W.check=W.flags?d(W.check,q,Z,K-Z):W0(W.check,q,Z,K-Z);if(Z=z,W.wrap&4&&(W.flags?G:PJ(G))!==W.check){J.msg="incorrect data check",W.mode=p;break}G=0,P=0}W.mode=YJ;case YJ:if(W.wrap&&W.flags){while(P<32){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(W.wrap&4&&G!==(W.total&4294967295)){J.msg="incorrect length check",W.mode=p;break}G=0,P=0}W.mode=GJ;case GJ:f=RW;break J;case p:f=fJ;break J;case hJ:return bJ;case pJ:default:return Q6}if(J.next_out=K,J.avail_out=z,J.next_in=X,J.avail_in=Y,W.hold=G,W.bits=P,W.wsize||Z!==J.avail_out&&W.mode<p&&(W.mode<m0||Q!==p8)){if(dJ(J,J.output,J.next_out,Z-J.avail_out));}if(k-=J.avail_in,Z-=J.avail_out,J.total_in+=k,J.total_out+=Z,W.total+=Z,W.wrap&4&&Z)J.adler=W.check=W.flags?d(W.check,q,Z,J.next_out-Z):W0(W.check,q,Z,J.next_out-Z);if(J.data_type=W.bits+(W.last?64:0)+(W.mode===P6?128:0)+(W.mode===M0||W.mode===_0?256:0),(k===0&&Z===0||Q===p8)&&f===I6)f=DW;return f},EW=(J)=>{if(w6(J))return Q6;let Q=J.state;if(Q.window)Q.window=null;return J.state=null,I6},gW=(J,Q)=>{if(w6(J))return Q6;let W=J.state;if((W.wrap&2)===0)return Q6;return W.head=Q,Q.done=!1,I6},yW=(J,Q)=>{let W=Q.length,V,q,X;if(w6(J))return Q6;if(V=J.state,V.wrap!==0&&V.mode!==D0)return Q6;if(V.mode===D0){if(q=1,q=W0(q,Q,W,0),q!==V.check)return fJ}if(X=dJ(J,Q,W,W),X)return V.mode=hJ,bJ;return V.havedict=1,I6},fW=_J,bW=mJ,hW=uJ,pW=SW,uW=cJ,_W=vW,mW=EW,cW=gW,dW=yW,lW="pako inflate (from Nodeca project)",U6={inflateReset:fW,inflateReset2:bW,inflateResetKeep:hW,inflateInit:pW,inflateInit2:uW,inflate:_W,inflateEnd:mW,inflateGetHeader:cW,inflateSetDictionary:dW,inflateInfo:lW};function iW(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var nW=iW,lJ=Object.prototype.toString,{Z_NO_FLUSH:rW,Z_FINISH:oW,Z_OK:q0,Z_STREAM_END:l0,Z_NEED_DICT:i0,Z_STREAM_ERROR:aW,Z_DATA_ERROR:UJ,Z_MEM_ERROR:sW}=x6;function P0(J){this.options=x0.assign({chunkSize:65536,windowBits:15,to:""},J||{});let Q=this.options;if(Q.raw&&Q.windowBits>=0&&Q.windowBits<16){if(Q.windowBits=-Q.windowBits,Q.windowBits===0)Q.windowBits=-15}if(Q.windowBits>=0&&Q.windowBits<16&&!(J&&J.windowBits))Q.windowBits+=32;if(Q.windowBits>15&&Q.windowBits<48){if((Q.windowBits&15)===0)Q.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new vJ,this.strm.avail_out=0;let W=U6.inflateInit2(this.strm,Q.windowBits);if(W!==q0)throw Error(O6[W]);if(this.header=new nW,U6.inflateGetHeader(this.strm,this.header),Q.dictionary){if(typeof Q.dictionary==="string")Q.dictionary=V0.string2buf(Q.dictionary);else if(lJ.call(Q.dictionary)==="[object ArrayBuffer]")Q.dictionary=new Uint8Array(Q.dictionary);if(Q.raw){if(W=U6.inflateSetDictionary(this.strm,Q.dictionary),W!==q0)throw Error(O6[W])}}}P0.prototype.push=function(J,Q){let W=this.strm,V=this.options.chunkSize,q=this.options.dictionary,X,K,Y;if(this.ended)return!1;if(Q===~~Q)K=Q;else K=Q===!0?oW:rW;if(lJ.call(J)==="[object ArrayBuffer]")W.input=new Uint8Array(J);else W.input=J;W.next_in=0,W.avail_in=W.input.length;for(;;){if(W.avail_out===0)W.output=new Uint8Array(V),W.next_out=0,W.avail_out=V;if(X=U6.inflate(W,K),X===i0&&q){if(X=U6.inflateSetDictionary(W,q),X===q0)X=U6.inflate(W,K);else if(X===UJ)X=i0}while(W.avail_in>0&&X===l0&&W.state.wrap>0&&J[W.next_in]!==0)U6.inflateReset(W),X=U6.inflate(W,K);switch(X){case aW:case UJ:case i0:case sW:return this.onEnd(X),this.ended=!0,!1}if(Y=W.avail_out,W.next_out){if(W.avail_out===0||X===l0)if(this.options.to==="string"){let z=V0.utf8border(W.output,W.next_out),G=W.next_out-z,P=V0.buf2string(W.output,z);if(W.next_out=G,W.avail_out=V-G,G)W.output.set(W.output.subarray(z,z+G),0);this.onData(P)}else this.onData(W.output.length===W.next_out?W.output:W.output.subarray(0,W.next_out))}if(X===q0&&Y===0)continue;if(X===l0)return X=U6.inflateEnd(this.strm),this.onEnd(X),this.ended=!0,!0;if(W.avail_in===0)break}return!0};P0.prototype.onData=function(J){this.chunks.push(J)};P0.prototype.onEnd=function(J){if(J===q0)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=x0.flattenChunks(this.chunks);this.chunks=[],this.err=J,this.msg=this.strm.msg};function P8(J,Q){let W=new P0(Q);if(W.push(J),W.err)throw W.msg||O6[W.err];return W.result}function tW(J,Q){return Q=Q||{},Q.raw=!0,P8(J,Q)}var eW=P0,J7=P8,W7=tW,Q7=P8,V7=x6,q7={Inflate:eW,inflate:J7,inflateRaw:W7,ungzip:Q7,constants:V7},{Deflate:X7,deflate:Y7,deflateRaw:G7,gzip:P7}=ZW,{Inflate:K7,inflate:U7,inflateRaw:F7,ungzip:Z7}=q7,z7=X7,H7=Y7,$7=G7,k7=P7,B7=K7,j7=U7,M7=F7,C7=Z7,L7=x6,p6={Deflate:z7,deflate:H7,deflateRaw:$7,gzip:k7,Inflate:B7,inflate:j7,inflateRaw:M7,ungzip:C7,constants:L7};var N6=(J)=>J?.physical>Date.now()+7200000;function iJ(J,Q,W){let V=Q.timestamp;if(N6(V))return{resolved:!1};if(Q?.value?.priority===!0&&typeof Q.id==="string"&&Q.id.startsWith("user:")&&"role"in Q.value){let{priority:X,...K}=Q.value;return{resolved:!0,value:K,timestamp:V}}if(Q?.value?.priority!==void 0){let{priority:X,...K}=Q.value;Q={...Q,value:K}}if(!J?.timestamp)return{resolved:!0,value:Q.value,timestamp:V};let q=W.compare(V,J.timestamp);if(q<0)return{resolved:!1};if(q===0&&JSON.stringify(Q.value)<=JSON.stringify(J.value))return{resolved:!1};return{resolved:!0,value:Q.value,timestamp:V}}var F8=(J,Q,W)=>{if(typeof J==="string"&&typeof Q==="string"&&typeof W==="string")return R7(J,Q,W);if(!K8(J)||!K8(Q)||!K8(W))return W;let V={...W};for(let q of new Set([...Object.keys(J),...Object.keys(Q),...Object.keys(W)])){if(U8(J[q],Q[q]))continue;if(!U8(J[q],W[q])&&!U8(Q[q],W[q]))V[q]=F8(J[q],Q[q],W[q]);else if(Q[q]===void 0)delete V[q];else V[q]=Q[q]}return V},K8=(J)=>J!==null&&typeof J==="object"&&!Array.isArray(J),U8=(J,Q)=>J===Q||JSON.stringify(J)===JSON.stringify(Q),nJ=(J,Q)=>{let W=0;while(W<J.length&&W<Q.length&&J[W]===Q[W])W++;let V=0;while(V<J.length-W&&V<Q.length-W&&J[J.length-1-V]===Q[Q.length-1-V])V++;return{from:W,to:J.length-V,ins:Q.slice(W,Q.length-V)}},R7=(J,Q,W)=>{let[V,q]=[nJ(J,Q),nJ(J,W)].sort((X,K)=>X.from-K.from||X.to-K.to);if(V.to>q.from||V.from===q.from&&V.to===q.to)return W;return J.slice(0,V.from)+V.ins+J.slice(V.to,q.from)+q.ins+J.slice(q.to)};function rJ(J,Q=50,W=200){let V=`gdb_oplog_${J}`,q=[];function X(){try{let G=localStorage.getItem(V);q=G?JSON.parse(G):[]}catch(G){log.error("❌ GDB: Failed to load oplog from localStorage:",G),q=[]}}function K(){try{localStorage.setItem(V,JSON.stringify(q))}catch(G){log.error("❌ GDB: Failed to save oplog to localStorage:",G)}}let Y=null;function z(){Y??=setTimeout(()=>{Y=null,K()},W)}return X(),globalThis.document?.addEventListener("visibilitychange",()=>document.visibilityState==="hidden"&&K()),{remove(G){q=q.filter((P)=>P.id!==G),z()},add(G){if(q.push(G),q.length>Q)q.shift();z()},sign({type:G,id:P,sourceId:k,timestamp:Z,originUser:F,originEthAddress:$,signature:w}){let L=q.find((C)=>C.type===G&&(C.id??C.sourceId)===(P??k)&&C.timestamp?.physical===Z?.physical&&C.timestamp?.logical===Z?.logical);if(L&&w)Object.assign(L,{originUser:F,originEthAddress:$,signature:w}),z()},getDelta(G,P){if(!G)return[...q];return q.filter((k)=>P(k.timestamp,G)>0)},getOldest(){return q[0]},clear(){clearTimeout(Y),Y=null,q=[],localStorage.removeItem(V)}}}var O7=()=>{let J=new Map,Q=async(P,k)=>{let Z=J.get(P)??[];J.set(P,Z);let F=Z[Z.length-1]??Promise.resolve(),$,w=new Promise((L)=>$=L);Z.push(w);try{return await F,await k()}finally{if(Z.shift(),$(),!Z.length)J.delete(P)}},W=(P,k)=>navigator.locks?.request?.(`opfs:${P}`,{mode:"exclusive"},k)??Q(P,k),V=async()=>{try{let P=await navigator.storage.getDirectory(),Z=await(await P.getFileHandle("~opfs-sync-test",{create:!0})).createSyncAccessHandle?.();return await Z?.close(),await P.removeEntry("~opfs-sync-test"),!!Z}catch{return!1}},q="idb",X=(async()=>{if(await V()){q="sync";return}try{let P=await navigator.storage.getDirectory(),Z=await(await P.getFileHandle("~opfs-async-test",{create:!0})).createWritable?.();await Z?.close(),await P.removeEntry("~opfs-async-test"),q=Z?"async":"idb"}catch{q="idb"}})(),K=navigator.storage.getDirectory(),Y=(()=>{let P,k=()=>P??=new Promise((Z,F)=>{let $=indexedDB.open("opfs-fallback-db",1);$.onupgradeneeded=()=>$.result.createObjectStore("files"),$.onsuccess=()=>Z($.result),$.onerror=()=>F($.error)});return{get:async(Z)=>{let F=await k();return new Promise(($,w)=>{let C=F.transaction("files","readonly").objectStore("files").get(Z);C.onsuccess=()=>$(C.result||new Uint8Array),C.onerror=()=>w(C.error)})},set:async(Z,F)=>{let $=await k();return new Promise((w,L)=>{let O=$.transaction("files","readwrite").objectStore("files").put(F,Z);O.onsuccess=()=>w(),O.onerror=()=>L(O.error)})}}})(),z=async(P)=>{await X;try{if(q==="idb"){let L=await Y.get(P);self.postMessage({type:"loaded",name:P,data:L},[L.buffer]);return}let Z=await(await K).getFileHandle(P).catch(()=>null);if(!Z){let L=new Uint8Array;self.postMessage({type:"loaded",name:P,data:L},[L.buffer]);return}let F=async()=>{try{let L=await Z.createSyncAccessHandle();try{let C=L.getSize(),O=new Uint8Array(C),A=L.read(O,{at:0}),B=O.slice(0,A);self.postMessage({type:"loaded",name:P,data:B},[B.buffer])}finally{L.close()}}catch(L){if(L?.name==="NoModificationAllowedError"){let C=await Z.getFile(),O=new Uint8Array(await C.arrayBuffer());self.postMessage({type:"loaded",name:P,data:O},[O.buffer])}else throw L}};if(q==="sync"){await W(P,F);return}let $=await Z.getFile(),w=new Uint8Array(await $.arrayBuffer());self.postMessage({type:"loaded",name:P,data:w},[w.buffer])}catch(k){if(k?.name==="NotFoundError"){let Z=new Uint8Array;self.postMessage({type:"loaded",name:P,data:Z},[Z.buffer]);return}self.postMessage({type:"error",name:P,message:k?.message??"Error reading file"})}},G=async(P,k)=>{if(await X,!(k instanceof Uint8Array))return{type:"error",name:P,message:"Content must be a Uint8Array"};return W(P,async()=>{try{if(q==="idb")return await Y.set(P,k),{type:"saved",name:P};let F=await(await K).getFileHandle(P,{create:!0});if(q==="sync"){let $=await F.createSyncAccessHandle();try{$.truncate(0),$.write(k,{at:0}),$.flush()}finally{$.close()}}else{let $=await F.createWritable();try{await $.write(k)}finally{await $.close()}}return{type:"saved",name:P}}catch(Z){return{type:"error",name:P,message:Z?.message??"Error saving file"}}})};self.onmessage=async({data:P})=>{let{type:k,name:Z,content:F}=P;await X;let $={load:()=>z(Z),save:()=>G(Z,F)};try{let w=$[k],L=w?await w():{type:"error",message:`Unrecognized action type: ${k}`};if(L&&L.type)self.postMessage(L)}catch(w){self.postMessage({type:"error",name:Z,message:w?.message??"Unexpected worker error"})}}},oJ=O7;var Z8=Math.PI/180,aJ=(J)=>Math.sin(J*Z8/2)**2,D7=new Intl.Collator().compare,K0={$eq:(J,Q)=>J===Q,$ne:(J,Q)=>J!==Q,$gt:(J,Q)=>J>Q,$gte:(J,Q)=>J>=Q,$lt:(J,Q)=>J<Q,$lte:(J,Q)=>J<=Q,$in:(J,Q)=>Array.isArray(Q)&&(Array.isArray(J)?J.some((W)=>Q.includes(W)):Q.includes(J)),$between:(J,[Q,W])=>J>=Q&&J<=W,$near:(J,{latitude:Q,longitude:W,radius:V})=>{let q=J?.value??J,X=q?.latitude??q?.location?.latitude,K=q?.longitude??q?.location?.longitude;return[X,K,Q,W,V].every(Number.isFinite)&&aJ(X-Q)+Math.cos(Q*Z8)*Math.cos(X*Z8)*aJ(K-W)<=Math.sin(Math.min(V/12742,Math.PI/2))**2},$exists:(J,Q)=>Q?J!==void 0:J===void 0,$startsWith:(J,Q)=>typeof J==="string"&&J.startsWith(Q),$endsWith:(J,Q)=>typeof J==="string"&&J.endsWith(Q),$contains:(J,Q)=>typeof J==="string"&&J.includes(Q),$text:{global:(J,Q)=>{let W=(q)=>String(q).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),V=W(Q);return Object.values(J).some((q)=>typeof q==="object"?null.fieldSearch(q,V):W(q).includes(V))},field:(J,Q)=>{let W=(q)=>String(q).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),V=W(Q);return Array.isArray(J)?J.some((q)=>W(q).includes(V)):W(J).includes(V)}},$like:(J,Q)=>typeof J==="string"&&typeof Q==="string"&&new RegExp(`^${Q.replace(/%/g,".*").replace(/_/g,".")}$`,"i").test(J),$regex:(J,Q)=>typeof J==="string"&&new RegExp(Q.$regex||Q,"i").test(J),$and:(J,Q,W)=>Q.every((V)=>W.createFilter(V,W.allNodes)(J)),$or:(J,Q,W)=>Q.some((V)=>W.createFilter(V,W.allNodes)(J)),$not:(J,Q,W)=>!W.createFilter(Q,W.allNodes)(J),$edge:(J,Q,W)=>{if(!J.edges?.length||typeof Q!=="object"||Q===null)return!1;let V=W.createFilter(Q,W.allNodes),q=[...J.edges],X=new Set(q).add(J.id),K=[];while(q.length){let Y=q.shift(),z=W.allNodes[Y];if(!z)continue;if(V(z))K.push(z);z.edges?.forEach((G)=>!X.has(G)&&X.add(G)&&q.push(G))}if(K.length)J._edgeResult=K;return K.length>0}},z8=(J,Q)=>Q.split(".").reduce((W,V)=>W&&typeof W==="object"&&(V in W)?W[V]:void 0,J),N0=(J,Q)=>{if(Object.keys(J).length===0)return()=>!0;return(W)=>Object.entries(J).every(([V,q])=>{if(V.startsWith("$"))return K0[V](W,q,{createFilter:N0,allNodes:Q});let X=z8(W.value,V);if(X===void 0)X=z8(W,V);if(q instanceof RegExp)return q.test(String(X));if(typeof q!=="object"||q===null)return K0.$eq(X,q);return Object.entries(q).every(([K,Y])=>{if(K==="$text")return K0.$text.field(X,Y);if(K==="$between"&&Y.every((z)=>z instanceof Date))return K0.$between(new Date(X),Y);return K0[K]?.(X,Y,{createFilter:N0,allNodes:Q})??!1})})},H8=(J,Q)=>{let{$edge:W,...V}=Q.query||{},q=N0(V,J),X=Object.values(J).filter(q),Y=[...W?(()=>{let z=N0({$edge:W},J);X.forEach((P)=>z(P));let G=new Map;return X.forEach((P)=>{if(P._edgeResult)P._edgeResult.forEach((k)=>G.set(k.id,k)),delete P._edgeResult}),Array.from(G.values())})():X];if(Q.field){let z=Q.order==="asc"?1:-1,G=Y.map((P)=>[z8(P.value,Q.field),P]);G.sort(([P,k],[Z,F])=>((typeof P==="string"&&typeof Z==="string"?D7(P,Z):(P??0)-(Z??0))||(k.id<F.id?-1:1))*z),Y=G.map(([,P])=>P)}if(Q.$after){let z=Y.findIndex((G)=>G.id===Q.$after);Y=z>=0?Y.slice(z+1):[]}if(Q.$before){let z=Y.findIndex((G)=>G.id===Q.$before);Y=z>=0?Y.slice(0,z):[]}if(Q.$limit)Y=Y.slice(0,Q.$limit);return Y.map((z)=>({...z,edges:(z.edges??[]).filter((G)=>Object.hasOwn(J,G))}))};function sJ(){let J=Date.now(),Q=0;return{now(){let W=Date.now();return J=Math.max(J,W),Q++,{physical:J,logical:Q}},update(W){if(!W||typeof W.physical!=="number"||typeof W.logical!=="number"){log.warn("⚠️ HybridClock.update received an invalid remote timestamp.",W);return}J=Math.max(J,W.physical),Q=Math.max(Q,W.logical)+1},compare(W,V){if(!W&&!V)return 0;if(!W)return-1;if(!V)return 1;if(W.physical>V.physical)return 1;if(W.physical<V.physical)return-1;if(W.logical>V.logical)return 1;if(W.logical<V.logical)return-1;return 0}}}var I7={sm:()=>import(new URL("./sm.min.js",import.meta.url).href),genosrtc:()=>import(new URL("./genosrtc.min.js",import.meta.url).href)},tJ=(J,Q)=>J.length===Q.length&&J.every((W,V)=>W===Q[V]),$8=(J)=>J&&typeof J==="object"?globalThis.structuredClone?.(J)??JSON.parse(JSON.stringify(J)):J,eJ=(J,Q=16)=>{let W=null,V=null;return(...q)=>{if(!V)V={},V.promise=new Promise((K,Y)=>(V.resolve=K,V.reject=Y));if(W)("cancelIdleCallback"in window?cancelIdleCallback:clearTimeout)(W);let X=async()=>{W=null;let K=V;V=null;try{K.resolve(await J(...q))}catch(Y){K.reject(Y)}};return W="requestIdleCallback"in window?requestIdleCallback(X,{timeout:Q}):setTimeout(X,Q),V.promise}},x7=(J)=>{let Q=null;return()=>{if(Q!==null)return;Q=requestAnimationFrame(()=>{Q=null,J()})}};async function w7(){if(log.info(navigator?.storage?.getDirectory?"✅ OPFS is enabled.":"\uD83D\uDEAB OPFS is not available."),navigator?.storage?.getDirectory)await navigator.storage.getDirectory()}function N7(){let J={nodes:{}};return{get nodes(){return J.nodes},set nodes(Q){J.nodes=Q||{}},upsert(Q,W,V){let q=J.nodes[Q];if(J.nodes[Q]={id:Q,value:W&&typeof W==="object"?$8(W):W,edges:q?.edges?[...q.edges]:[],timestamp:V,...q?.meta&&{meta:q.meta}},q)Object.defineProperty(J.nodes[Q],"prev",{value:{value:q.value,timestamp:q.timestamp}})},get(Q){return J.nodes[Q]||null},link(Q,W,V){let q=J.nodes[Q],X=J.nodes[W];if(q&&X&&!q.edges.includes(W))J.nodes[Q]={...q,edges:[...q.edges,W],timestamp:V}},unlink(Q,W,V){let q=J.nodes[Q];if(q?.edges.includes(W))J.nodes[Q]={...q,edges:q.edges.filter((X)=>X!==W),timestamp:V}},getAllNodes(){return Object.values(J.nodes)},serialize(){return p6.deflate(z0(J.nodes))},deserialize(Q){J.nodes=M6(p6.inflate(new Uint8Array(Q)))}}}async function J5(J,Q={}){Q.debug&&(globalThis.__gdbDebug=!0),log.info("\x1B[36m⚡ GenosDB: Empowering distributed graph databases with real-time synchronization and scalability. Learn more: https://github.com/estebanrfp/gdb ⚡\x1B[0m");let{rtc:W=!1,password:V,sm:q=!1,saveDelay:X=200,oplogSize:K=200}=Q,Y=N7(),z=sJ(),G=rJ(J,K,X),P=[],k=null,Z=[],F=null,$=null,w=null,L=null,C=[],O=null,A=(H)=>{let j=Y.get(H.sourceId);if(!j)return;if(Array.isArray(H.edges))j.edges=[...H.edges];let M=O?.edgeReceipt(H);if(M)j.meta={...j.meta,edges:M}},B=(H,j)=>JSON.stringify(H)===JSON.stringify(j),T={};Object.defineProperties(T,{syncChannel:{get:()=>$},broadcastChannel:{get:()=>w},hybridClock:{get:()=>z},graph:{get:()=>({getAllNodes:()=>Y.getAllNodes(),get:(H)=>Y.get(H)})},worker:{get:()=>F},oplog:{get:()=>G},options:{get:()=>Q},pako:{get:()=>p6},encode:{get:()=>z0},decode:{get:()=>M6},deepClone:{get:()=>$8}});async function m(H,j){try{let M=await I7[H](),N=j&&typeof j==="object"?j:{},h=await M.init?.(T,M,N);if(h)Object.assign(T,h);return M}catch(M){throw log.error(`❌ Initialization of ${H} failed:`,M),M}}function I(){let H=localStorage.getItem(`${J}_time`);k=H?JSON.parse(H):null}function f(H){k=H,localStorage.setItem(`${J}_time`,JSON.stringify(H))}function E(){try{let H=URL.createObjectURL(new Blob([`(${oJ.toString()})()`],{type:"application/javascript"}));F=new Worker(H),URL.revokeObjectURL(H),F.addEventListener("message",({data:j})=>log.info(`\uD83D\uDCBE ${j.name} ${j.type}`)),log.info("⚙️ Worker initialized successfully.")}catch({message:H}){log.error("❌ Failed to initialize worker:",H)}}function x(){let H={...Y.nodes};Z.forEach((j)=>j(H))}let S=x7(()=>x()),s=eJ(async()=>{let H=C.splice(0,C.length);if(!H.length)return!1;try{return await $.send(H),!0}catch(j){return C.unshift(...H),log.warn(`⚠️ live send failed — ${H.length} ops retained for retry:`,j?.message??j),setTimeout(()=>s().catch(()=>{}),1000),!1}},16);async function u6(){try{let j=await((M)=>new Promise((N,h)=>{let v=async({data:U})=>{if(U.type==="loaded"&&U.name===M)F.removeEventListener("message",v),N(new Uint8Array(U.data));else if(U.type==="error")F.removeEventListener("message",v),h(Error(U.message||"Unknown error"))};F.addEventListener("message",v),F.postMessage({type:"load",name:M})}))(`${J}_graph.msgpack`).catch(()=>new Uint8Array);j.byteLength>0?Y.deserialize(j):log.info("\uD83D\uDCBE New database. File will be created on first save.")}catch({message:H}){log.error("❌ Error loading the graph:",H)}}async function B6(){try{let H=Y.serialize();return await((M,N)=>new Promise((h,v)=>{let U=({data:R})=>{if(R.type==="saved"&&R.name===M)F.removeEventListener("message",U),h();else if(R.type==="error")F.removeEventListener("message",U),v(Error(R.message||"Save error"))};F.addEventListener("message",U),F.postMessage({type:"save",name:M,content:N})}))(`${J}_graph.msgpack`,H),w.postMessage("update"),!0}catch({message:H}){throw log.error("❌ Save error:",H),Error("Save failed")}}let V6=eJ(()=>B6(),X),k8=()=>{let H=0,j=0;for(let[M,N]of Object.entries(Y.nodes)){let h=`${M}\x00${N.timestamp.physical}\x00${N.timestamp.logical}`,v=2166136261,U=3386659096;for(let R=0;R<h.length;R++)v=Math.imul(v^h.charCodeAt(R),16777619),U=Math.imul(U^h.charCodeAt(R),16777619);H^=v,j^=U}return`${H>>>0}.${j>>>0}`};async function W5(H){let j=!1,M=null,N=(U)=>{if(!M||z.compare(U,M)>0)M=U},h=(U)=>{try{if(U instanceof Uint8Array)return M6(p6.inflate(U));if(Array.isArray(U))return U;if(U&&typeof U==="object")return M6(p6.inflate(new Uint8Array(Object.values(U))))}catch(R){log.error("❌ deltaSync decode failed",R)}return null},v={upsert:(U)=>{let R=Y.get(U.id);if(!R){for(let y of G.getDelta(null))if(y.type==="remove"&&y.id===U.id&&z.compare(y.timestamp,U.timestamp)>=0)return!1}let{resolved:D,value:c,timestamp:u}=iJ(R,U,z);if(!D)return!1;if(O&&!O.op(U,R))return log.warn(`⚠️ [SYNC-AUTH] upsert denied: ${U.id} (${O.describe(U,R)})`),!1;if(Y.upsert(U.id,c,u),U.base&&R?.prev&&R.mine&&z.compare(U.base,R.prev.timestamp)===0){let y=F8(R.prev.value,R.value,c);if(JSON.stringify(y)!==JSON.stringify(c))queueMicrotask(()=>T.put(y,U.id))}let o=O?.receipt(U,R,Y.get(U.id));if(o)Y.get(U.id).meta=o;return z.update(u),G.add({type:"upsert",id:U.id,timestamp:u}),j=!0,N(u),!0},remove:(U)=>{if(N6(U.timestamp))return;let R=Y.get(U.id);if(!R||z.compare(R.timestamp,U.timestamp)>=0)return;if(O&&!O.op(U,R)){log.warn(`⚠️ [SYNC-AUTH] remove denied: ${U.id} (${O.describe(U,R)})`);return}delete Y.nodes[U.id],z.update(U.timestamp),G.add({type:"remove",id:U.id,value:U.value,timestamp:U.timestamp,originUser:U.originUser,originEthAddress:U.originEthAddress,signature:U.signature}),j=!0,N(U.timestamp)},link:(U)=>{if(N6(U.timestamp))return;let R=Y.get(U.sourceId),D=Y.get(U.targetId);if(!R||!D||z.compare(R.timestamp,U.timestamp)>=0)return;if(R.meta?.edges&&z.compare(R.meta.edges.ts,U.timestamp)>=0)return;if(O&&!O.op(U,R)){log.warn(`⚠️ [SYNC-AUTH] link denied: ${U.sourceId} (${O.describe(U,R)})`);return}Y.link(U.sourceId,U.targetId,U.timestamp),A(U),z.update(U.timestamp),G.add({type:"link",sourceId:U.sourceId,targetId:U.targetId,edges:U.edges,timestamp:U.timestamp,originUser:U.originUser,originEthAddress:U.originEthAddress,signature:U.signature}),j=!0,N(U.timestamp)},unlink:(U)=>{if(N6(U.timestamp))return;let R=Y.get(U.sourceId);if(!R||z.compare(R.timestamp,U.timestamp)>=0)return;if(R.meta?.edges&&z.compare(R.meta.edges.ts,U.timestamp)>=0)return;if(O&&!O.op(U,R)){log.warn(`⚠️ [SYNC-AUTH] unlink denied: ${U.sourceId} (${O.describe(U,R)})`);return}Y.unlink(U.sourceId,U.targetId,U.timestamp),A(U),z.update(U.timestamp),G.add({type:"unlink",sourceId:U.sourceId,targetId:U.targetId,edges:U.edges,timestamp:U.timestamp,originUser:U.originUser,originEthAddress:U.originEthAddress,signature:U.signature}),j=!0,N(U.timestamp)},sync:async({timestamp:U,digest:R})=>{if(R&&R===k8())return log.info("\uD83D\uDFF0 [SYNC] State digests match — nothing to send.");let D=G.getOldest();if(U==null||D&&z.compare(U,D.timestamp)<0)return log.info("\uD83D\uDCA5 [FALLBACK] Peer too far behind → sending FULL state."),$.send([{type:"fullStateSync",graphData:Y.nodes,removals:G.getDelta(null).filter((y)=>y.type==="remove"),timestamp:k}]);let u=G.getDelta(null);if(!u.length)return;let o=u.flatMap((y)=>{if(y.type!=="upsert")return[y];let i=Y.get(y.id);if(!i)return[];return[{...O?.opOf(y.id,i)??{...y,value:i.value},base:i.prev?.timestamp}]});log.info(`\uD83D\uDE80 [DELTA SYNC SENDING] ${o.length} ops.`),await $.send([{type:"deltaSync",operations:o,timestamp:k}])},deltaSync:({operations:U})=>{let R=h(U);if(!Array.isArray(R)){log.warn("⚠️ deltaSync payload not array. Ignored.");return}log.info(`\uD83D\uDEF0️ [DELTA SYNC RECEIVED] ${R.length} ops.`);for(let D of R)if(D&&v[D.type])v[D.type](D);else if(D)log.warn(`\uD83E\uDD37 Unknown op: ${D.type}`)},fullStateSync:async({graphData:U,removals:R,timestamp:D,reciprocal:c})=>{if(!U||typeof U!=="object"){log.error("❌ Invalid full graph data received");return}try{log.info("\uD83D\uDCE6 [FULL SYNC RECEIVED] Merging full graph.");let u=Object.entries(U).sort(([y],[i])=>i.startsWith("user:")-y.startsWith("user:"));for(let[y,i]of u){let _6=O?.opOf(y,i)??{type:"upsert",id:y,value:i.value,timestamp:i.timestamp},_=v.upsert(_6),J6=Y.nodes[y];if(!J6)continue;if(O){let F6=O.edges(y,i,J6);if(F6&&!N6(F6.timestamp))A(F6)}else if(_)J6.edges=[...i.edges??[]]}for(let y of R??[])v.remove(y);let o=new Set(Object.keys(U));if(!c&&Object.keys(Y.nodes).some((y)=>!o.has(y)))$.send([{type:"fullStateSync",graphData:Y.nodes,removals:G.getDelta(null).filter((y)=>y.type==="remove"),timestamp:k,reciprocal:!0}]);if(j=!0,D&&!N6(D))N(D),z.update(D)}catch(u){log.error("❌ Full sync failed:",u)}}};for(let U of H)if(v[U.type])await v[U.type](U);else log.warn(`\uD83E\uDD37 Unknown type: ${U.type}`);if(M&&(!k||z.compare(M,k)>0))log.info(`\uD83D\uDCC8 [GLOBAL TS] Advanced to ${M.logical}`),f(M);if(j)log.info("\uD83D\uDCBE [STATE CHANGED] Saving + emitting."),await V6(),S()}Object.assign(T,{use(H){if(typeof H==="function")P.push(H)},setSyncAuthGate(H){O=H},captureProvenance(H){let j=!1;for(let M of H??[]){if(!M?.signature)continue;if(M.type!=="upsert"){if(G.sign(M),Array.isArray(M.edges)&&B(Y.get(M.sourceId)?.edges,M.edges))A(M),j=!0;continue}let N=Y.get(M.id);if(!N||!B(N.value,M.value))continue;let h=O?.receipt(M,N,N);if(h)N.meta=h,j=!0}if(j)V6()},async put(H,j){let M=z.now();f(M);let N=H?.owner??H?._meta?.owner;j=j??(N?`${N}:${crypto.randomUUID()}`:crypto.randomUUID()),Y.upsert(j,H,M),Object.defineProperty(Y.get(j),"mine",{value:!0}),G.add({type:"upsert",id:j,timestamp:M}),V6();try{C.push({type:"upsert",id:j,value:H,timestamp:M,base:Y.get(j).prev?.timestamp}),s().catch(()=>{})}finally{S()}return j},async link(H,j){let M=z.now();if(!Y.nodes[H]||!Y.nodes[j]){log.warn(`⚠️ One or both nodes (${H}, ${j}) do not exist.`);return}Y.link(H,j,M);let N=[...Y.nodes[H].edges];G.add({type:"link",sourceId:H,targetId:j,edges:N,timestamp:M}),V6(),f(M);try{C.push({type:"link",sourceId:H,targetId:j,edges:N,timestamp:M}),s().catch(()=>{})}finally{S()}},async unlink(H,j){let M=z.now();if(!Y.nodes[H]?.edges.includes(j)){log.warn(`⚠️ No edge from '${H}' to '${j}'.`);return}Y.unlink(H,j,M);let N=[...Y.nodes[H].edges];G.add({type:"unlink",sourceId:H,targetId:j,edges:N,timestamp:M}),V6(),f(M);try{C.push({type:"unlink",sourceId:H,targetId:j,edges:N,timestamp:M}),s().catch(()=>{})}finally{S()}},async remove(H){let j=z.now(),M=Y.get(H);if(!M)return log.warn(`⚠️ Node with ID '${H}' not found.`);delete Y.nodes[H],G.add({type:"remove",id:H,value:M.value,timestamp:j}),V6(),f(j);try{C.push({type:"remove",id:H,value:M.value,timestamp:j}),s().catch(()=>{})}finally{S()}},async get(H,j=null){if(typeof H!=="string")return{result:null};let M=Y.get(H);if(!M){if(j)j(null);return{result:null}}let N=(U)=>{if(!U)return null;let R=U.value!==null&&typeof U.value==="object"?{...U.value}:U.value;return{...U,value:R,edges:U.edges.filter((D)=>Object.hasOwn(Y.nodes,D))}};if(!j)return{result:N(M)};let h=M.timestamp;j(N(M));let v=(U)=>{let R=U[H];if(R){if(z.compare(R.timestamp,h)>0)h=R.timestamp,j(N(R))}else j(null),Z.splice(Z.indexOf(v),1)};return Z.push(v),{result:N(M),unsubscribe:()=>{let U=Z.indexOf(v);if(U>-1)Z.splice(U,1)}}},async map(...H){let M={...{realtime:!1,query:{},field:null,order:"asc",$limit:null,$after:null,$before:null}},N=null,h=!1;H.forEach((D)=>typeof D==="function"?N=D:D&&typeof D==="object"&&(h=h||("realtime"in D),Object.assign(M,D))),N&&!h&&(M.realtime=!0);let v=H8(Y.nodes,M),U=null,R=(D)=>{let c=new Map(v.map((_)=>[_.id,_])),u=new Map(D.map((_)=>[_.id,_])),o=[],y=[],i=[];for(let[_,J6]of u){let F6=c.get(_);if(!F6)o.push(J6);else if((J6.timestamp?.physical||0)!==(F6.timestamp?.physical||0)||(J6.timestamp?.logical||0)!==(F6.timestamp?.logical||0)||!tJ(J6.edges||[],F6.edges||[]))y.push(J6)}for(let[_]of c)if(!u.has(_))i.push(c.get(_));let _6=(_,J6)=>N({id:_.id,value:J6==="removed"?null:_.value,edges:_.edges||[],timestamp:_.timestamp||null,action:J6});o.forEach((_)=>_6(_,"added")),i.forEach((_)=>_6(_,"removed")),y.forEach((_)=>_6(_,"updated"))};if(N){if(v.forEach((D)=>{N({id:D.id,value:D.value,edges:D.edges,timestamp:D.timestamp,action:"initial"})}),M.realtime){let D=(c)=>{let u=c.timestamp?.physical||0,o=c.timestamp?.logical||0,y=(c.edges||[]).join(",");return`${c.id}:${u}:${o}:${y}`};U=(c)=>{let u=H8(c,M);if(u.length!==v.length)R(u),v=u;else{let o=u.map(D),y=v.map(D);if(!tJ(o,y))R(u),v=u}},Z.push(U)}}return{results:v,...M.realtime&&N&&U&&{unsubscribe:()=>{let D=Z.indexOf(U);D>-1&&Z.splice(D,1)}}}},async clear(){Y.nodes={},k=null,localStorage.removeItem(`${J}_time`),G.clear(),await B6(),x(),log.info("✅ All data has been deleted.")}}),E(),I(),await w7(),await u6();let B8=[];if(q)B8.push(m("sm",q));await Promise.all(B8);let Q5=`graph-sync-room-${J}`;if(W){let H=W?.constructor===Object?W:{},{join:j,selfId:M}=await m("genosrtc"),N={appId:"1234",...V&&{password:V},...H.relayUrls&&{relayUrls:H.relayUrls},...H.turnConfig&&{turnConfig:H.turnConfig},...H.cells&&{cells:!0},...H.cells&&H.cells!==!0&&{overlay:H.cells}},h=j(N,Q5);$=h.channel("syncGraph"),L=j(N,`app-sync-${J}`),T.room=L,T.selfId=M,h.on("peer:join",async(v)=>{log.info("⚡ New peer connected:",v);let U=()=>$.send([{type:"sync",timestamp:k,digest:k8()}]).catch(()=>{});U(),setTimeout(U,2000)}),h.on("peer:leave",(v)=>{log.info("⚡ Peer disconnected:",v)}),$?.on("message",async(v)=>{let U;try{if(v instanceof Uint8Array||v instanceof ArrayBuffer){let D=M6(v);U=Array.isArray(D)?D:[D]}else U=Array.isArray(v)?v:[v]}catch(D){return log.error("❌ Failed to decode MessagePack:",D)}let R=new Map([...new Set(U.flatMap((D)=>["id","sourceId","targetId"].map((c)=>D&&D[c]).filter(Boolean)))].map((D)=>Y.get(D)?[D,$8(Y.get(D))]:null).filter(Boolean));for(let D of P)try{if(U=await D(U,R),!U||!U.length)return}catch(c){log.error("❌ Middleware error, discarding message.",c);return}await W5(U)})}return w=new BroadcastChannel(`graphdb_sync_${J}`),w.onmessage=async(H)=>{if(H.data==="update")log.info("\uD83D\uDD04 Update received from another tab..."),await u6(),I(),S()},log.info(`✅ GenosDB [ \x1B[32m${J}\x1B[0m ] instance is ready.`),T}var oQ=J5;class A7{constructor(){throw Error("GenosDB is not constructed with `new`. Use: const db = await gdb(name, options)")}}export{oQ as gdb,A7 as GDB};
|
|
2
|
+
function j8(J){let Q=J.length,W=0,V=0;while(V<Q){let q=J.charCodeAt(V++);if((q&4294967168)===0){W++;continue}else if((q&4294965248)===0)W+=2;else{if(q>=55296&&q<=56319){if(V<Q){let X=J.charCodeAt(V);if((X&64512)===56320)++V,q=((q&1023)<<10)+(X&1023)+65536}}if((q&4294901760)===0)W+=3;else W+=4}}return W}function V5(J,Q,W){let V=J.length,q=W,X=0;while(X<V){let K=J.charCodeAt(X++);if((K&4294967168)===0){Q[q++]=K;continue}else if((K&4294965248)===0)Q[q++]=K>>6&31|192;else{if(K>=55296&&K<=56319){if(X<V){let Y=J.charCodeAt(X);if((Y&64512)===56320)++X,K=((K&1023)<<10)+(Y&1023)+65536}}if((K&4294901760)===0)Q[q++]=K>>12&15|224,Q[q++]=K>>6&63|128;else Q[q++]=K>>18&7|240,Q[q++]=K>>12&63|128,Q[q++]=K>>6&63|128}Q[q++]=K&63|128}}var q5=new TextEncoder,X5=50;function Y5(J,Q,W){q5.encodeInto(J,Q.subarray(W))}function M8(J,Q,W){if(J.length>X5)Y5(J,Q,W);else V5(J,Q,W)}var G5=4096;function A0(J,Q,W){let V=Q,q=V+W,X=[],K="";while(V<q){let Y=J[V++];if((Y&128)===0)X.push(Y);else if((Y&224)===192){let z=J[V++]&63;X.push((Y&31)<<6|z)}else if((Y&240)===224){let z=J[V++]&63,G=J[V++]&63;X.push((Y&31)<<12|z<<6|G)}else if((Y&248)===240){let z=J[V++]&63,G=J[V++]&63,P=J[V++]&63,k=(Y&7)<<18|z<<12|G<<6|P;if(k>65535)k-=65536,X.push(k>>>10&1023|55296),k=56320|k&1023;X.push(k)}else X.push(Y);if(X.length>=G5)K+=String.fromCharCode(...X),X.length=0}if(X.length>0)K+=String.fromCharCode(...X);return K}var P5=new TextDecoder,K5=200;function U5(J,Q,W){let V=J.subarray(Q,Q+W);return P5.decode(V)}function C8(J,Q,W){if(W>K5)return U5(J,Q,W);else return A0(J,Q,W)}class A6{constructor(J,Q){this.type=J,this.data=Q}}class n extends Error{constructor(J){super(J);let Q=Object.create(n.prototype);Object.setPrototypeOf(this,Q),Object.defineProperty(this,"name",{configurable:!0,enumerable:!1,value:n.name})}}var S6=4294967295;function L8(J,Q,W){let V=W/4294967296,q=W;J.setUint32(Q,V),J.setUint32(Q+4,q)}function U0(J,Q,W){let V=Math.floor(W/4294967296),q=W;J.setUint32(Q,V),J.setUint32(Q+4,q)}function F0(J,Q){let W=J.getInt32(Q),V=J.getUint32(Q+4);return W*4294967296+V}function R8(J,Q){let W=J.getUint32(Q),V=J.getUint32(Q+4);return W*4294967296+V}var F5=-1,Z5=4294967295,z5=17179869183;function H5({sec:J,nsec:Q}){if(J>=0&&Q>=0&&J<=z5)if(Q===0&&J<=Z5){let W=new Uint8Array(4);return new DataView(W.buffer).setUint32(0,J),W}else{let W=J/4294967296,V=J&4294967295,q=new Uint8Array(8),X=new DataView(q.buffer);return X.setUint32(0,Q<<2|W&3),X.setUint32(4,V),q}else{let W=new Uint8Array(12),V=new DataView(W.buffer);return V.setUint32(0,Q),U0(V,4,J),W}}function $5(J){let Q=J.getTime(),W=Math.floor(Q/1000),V=(Q-W*1000)*1e6,q=Math.floor(V/1e9);return{sec:W+q,nsec:V-q*1e9}}function k5(J){if(J instanceof Date){let Q=$5(J);return H5(Q)}else return null}function B5(J){let Q=new DataView(J.buffer,J.byteOffset,J.byteLength);switch(J.byteLength){case 4:{let W=Q.getUint32(0),V=0;return{sec:W,nsec:0}}case 8:{let W=Q.getUint32(0),V=Q.getUint32(4),q=(W&3)*4294967296+V,X=W>>>2;return{sec:q,nsec:X}}case 12:{let W=F0(Q,4),V=Q.getUint32(0);return{sec:W,nsec:V}}default:throw new n(`Unrecognized data size for timestamp (expected 4, 8, or 12): ${J.length}`)}}function j5(J){let Q=B5(J);return new Date(Q.sec*1000+Q.nsec/1e6)}var O8={type:F5,encode:k5,decode:j5};class j6{constructor(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(O8)}register({type:J,encode:Q,decode:W}){if(J>=0)this.encoders[J]=Q,this.decoders[J]=W;else{let V=-1-J;this.builtInEncoders[V]=Q,this.builtInDecoders[V]=W}}tryToEncode(J,Q){for(let W=0;W<this.builtInEncoders.length;W++){let V=this.builtInEncoders[W];if(V!=null){let q=V(J,Q);if(q!=null){let X=-1-W;return new A6(X,q)}}}for(let W=0;W<this.encoders.length;W++){let V=this.encoders[W];if(V!=null){let q=V(J,Q);if(q!=null)return new A6(W,q)}}if(J instanceof A6)return J;return null}decode(J,Q,W){let V=Q<0?this.builtInDecoders[-1-Q]:this.decoders[Q];if(V)return V(J,Q,W);else return new A6(Q,J)}}j6.defaultCodec=new j6;function M5(J){return J instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&J instanceof SharedArrayBuffer}function m6(J){if(J instanceof Uint8Array)return J;else if(ArrayBuffer.isView(J))return new Uint8Array(J.buffer,J.byteOffset,J.byteLength);else if(M5(J))return new Uint8Array(J);else return Uint8Array.from(J)}var C5=100,L5=2048;class Z0{constructor(J){this.entered=!1,this.extensionCodec=J?.extensionCodec??j6.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.maxDepth=J?.maxDepth??C5,this.initialBufferSize=J?.initialBufferSize??L5,this.sortKeys=J?.sortKeys??!1,this.forceFloat32=J?.forceFloat32??!1,this.ignoreUndefined=J?.ignoreUndefined??!1,this.forceIntegerToFloat=J?.forceIntegerToFloat??!1,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}clone(){return new Z0({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,maxDepth:this.maxDepth,initialBufferSize:this.initialBufferSize,sortKeys:this.sortKeys,forceFloat32:this.forceFloat32,ignoreUndefined:this.ignoreUndefined,forceIntegerToFloat:this.forceIntegerToFloat})}reinitializeState(){this.pos=0}encodeSharedRef(J){if(this.entered)return this.clone().encodeSharedRef(J);try{return this.entered=!0,this.reinitializeState(),this.doEncode(J,1),this.bytes.subarray(0,this.pos)}finally{this.entered=!1}}encode(J){if(this.entered)return this.clone().encode(J);try{return this.entered=!0,this.reinitializeState(),this.doEncode(J,1),this.bytes.slice(0,this.pos)}finally{this.entered=!1}}doEncode(J,Q){if(Q>this.maxDepth)throw Error(`Too deep objects in depth ${Q}`);if(J==null)this.encodeNil();else if(typeof J==="boolean")this.encodeBoolean(J);else if(typeof J==="number")if(!this.forceIntegerToFloat)this.encodeNumber(J);else this.encodeNumberAsFloat(J);else if(typeof J==="string")this.encodeString(J);else if(this.useBigInt64&&typeof J==="bigint")this.encodeBigInt64(J);else this.encodeObject(J,Q)}ensureBufferSizeToWrite(J){let Q=this.pos+J;if(this.view.byteLength<Q)this.resizeBuffer(Q*2)}resizeBuffer(J){let Q=new ArrayBuffer(J),W=new Uint8Array(Q),V=new DataView(Q);W.set(this.bytes),this.view=V,this.bytes=W}encodeNil(){this.writeU8(192)}encodeBoolean(J){if(J===!1)this.writeU8(194);else this.writeU8(195)}encodeNumber(J){if(!this.forceIntegerToFloat&&Number.isSafeInteger(J))if(J>=0)if(J<128)this.writeU8(J);else if(J<256)this.writeU8(204),this.writeU8(J);else if(J<65536)this.writeU8(205),this.writeU16(J);else if(J<4294967296)this.writeU8(206),this.writeU32(J);else if(!this.useBigInt64)this.writeU8(207),this.writeU64(J);else this.encodeNumberAsFloat(J);else if(J>=-32)this.writeU8(224|J+32);else if(J>=-128)this.writeU8(208),this.writeI8(J);else if(J>=-32768)this.writeU8(209),this.writeI16(J);else if(J>=-2147483648)this.writeU8(210),this.writeI32(J);else if(!this.useBigInt64)this.writeU8(211),this.writeI64(J);else this.encodeNumberAsFloat(J);else this.encodeNumberAsFloat(J)}encodeNumberAsFloat(J){if(this.forceFloat32)this.writeU8(202),this.writeF32(J);else this.writeU8(203),this.writeF64(J)}encodeBigInt64(J){if(J>=BigInt(0))this.writeU8(207),this.writeBigUint64(J);else this.writeU8(211),this.writeBigInt64(J)}writeStringHeader(J){if(J<32)this.writeU8(160+J);else if(J<256)this.writeU8(217),this.writeU8(J);else if(J<65536)this.writeU8(218),this.writeU16(J);else if(J<4294967296)this.writeU8(219),this.writeU32(J);else throw Error(`Too long string: ${J} bytes in UTF-8`)}encodeString(J){let W=j8(J);this.ensureBufferSizeToWrite(5+W),this.writeStringHeader(W),M8(J,this.bytes,this.pos),this.pos+=W}encodeObject(J,Q){let W=this.extensionCodec.tryToEncode(J,this.context);if(W!=null)this.encodeExtension(W);else if(Array.isArray(J))this.encodeArray(J,Q);else if(ArrayBuffer.isView(J))this.encodeBinary(J);else if(typeof J==="object")this.encodeMap(J,Q);else throw Error(`Unrecognized object: ${Object.prototype.toString.apply(J)}`)}encodeBinary(J){let Q=J.byteLength;if(Q<256)this.writeU8(196),this.writeU8(Q);else if(Q<65536)this.writeU8(197),this.writeU16(Q);else if(Q<4294967296)this.writeU8(198),this.writeU32(Q);else throw Error(`Too large binary: ${Q}`);let W=m6(J);this.writeU8a(W)}encodeArray(J,Q){let W=J.length;if(W<16)this.writeU8(144+W);else if(W<65536)this.writeU8(220),this.writeU16(W);else if(W<4294967296)this.writeU8(221),this.writeU32(W);else throw Error(`Too large array: ${W}`);for(let V of J)this.doEncode(V,Q+1)}countWithoutUndefined(J,Q){let W=0;for(let V of Q)if(J[V]!==void 0)W++;return W}encodeMap(J,Q){let W=Object.keys(J);if(this.sortKeys)W.sort();let V=this.ignoreUndefined?this.countWithoutUndefined(J,W):W.length;if(V<16)this.writeU8(128+V);else if(V<65536)this.writeU8(222),this.writeU16(V);else if(V<4294967296)this.writeU8(223),this.writeU32(V);else throw Error(`Too large map object: ${V}`);for(let q of W){let X=J[q];if(!(this.ignoreUndefined&&X===void 0))this.encodeString(q),this.doEncode(X,Q+1)}}encodeExtension(J){if(typeof J.data==="function"){let W=J.data(this.pos+6),V=W.length;if(V>=4294967296)throw Error(`Too large extension object: ${V}`);this.writeU8(201),this.writeU32(V),this.writeI8(J.type),this.writeU8a(W);return}let Q=J.data.length;if(Q===1)this.writeU8(212);else if(Q===2)this.writeU8(213);else if(Q===4)this.writeU8(214);else if(Q===8)this.writeU8(215);else if(Q===16)this.writeU8(216);else if(Q<256)this.writeU8(199),this.writeU8(Q);else if(Q<65536)this.writeU8(200),this.writeU16(Q);else if(Q<4294967296)this.writeU8(201),this.writeU32(Q);else throw Error(`Too large extension object: ${Q}`);this.writeI8(J.type),this.writeU8a(J.data)}writeU8(J){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,J),this.pos++}writeU8a(J){let Q=J.length;this.ensureBufferSizeToWrite(Q),this.bytes.set(J,this.pos),this.pos+=Q}writeI8(J){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,J),this.pos++}writeU16(J){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,J),this.pos+=2}writeI16(J){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,J),this.pos+=2}writeU32(J){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,J),this.pos+=4}writeI32(J){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,J),this.pos+=4}writeF32(J){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,J),this.pos+=4}writeF64(J){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,J),this.pos+=8}writeU64(J){this.ensureBufferSizeToWrite(8),L8(this.view,this.pos,J),this.pos+=8}writeI64(J){this.ensureBufferSizeToWrite(8),U0(this.view,this.pos,J),this.pos+=8}writeBigUint64(J){this.ensureBufferSizeToWrite(8),this.view.setBigUint64(this.pos,J),this.pos+=8}writeBigInt64(J){this.ensureBufferSizeToWrite(8),this.view.setBigInt64(this.pos,J),this.pos+=8}}function z0(J,Q){return new Z0(Q).encodeSharedRef(J)}function H0(J){return`${J<0?"-":""}0x${Math.abs(J).toString(16).padStart(2,"0")}`}var R5=16,O5=16;class S0{constructor(J=R5,Q=O5){this.hit=0,this.miss=0,this.maxKeyLength=J,this.maxLengthPerKey=Q,this.caches=[];for(let W=0;W<this.maxKeyLength;W++)this.caches.push([])}canBeCached(J){return J>0&&J<=this.maxKeyLength}find(J,Q,W){let V=this.caches[W-1];J:for(let q of V){let X=q.bytes;for(let K=0;K<W;K++)if(X[K]!==J[Q+K])continue J;return q.str}return null}store(J,Q){let W=this.caches[J.length-1],V={bytes:J,str:Q};if(W.length>=this.maxLengthPerKey)W[Math.random()*W.length|0]=V;else W.push(V)}decode(J,Q,W){let V=this.find(J,Q,W);if(V!=null)return this.hit++,V;this.miss++;let q=A0(J,Q,W),X=Uint8Array.prototype.slice.call(J,Q,Q+W);return this.store(X,q),q}}var T0="array",d6="map_key",I8="map_value",D5=(J)=>{if(typeof J==="string"||typeof J==="number")return J;throw new n("The type of key must be string or number but "+typeof J)};class x8{constructor(){this.stack=[],this.stackHeadPosition=-1}get length(){return this.stackHeadPosition+1}top(){return this.stack[this.stackHeadPosition]}pushArrayState(J){let Q=this.getUninitializedStateFromPool();Q.type=T0,Q.position=0,Q.size=J,Q.array=Array(J)}pushMapState(J){let Q=this.getUninitializedStateFromPool();Q.type=d6,Q.readCount=0,Q.size=J,Q.map={}}getUninitializedStateFromPool(){if(this.stackHeadPosition++,this.stackHeadPosition===this.stack.length){let J={type:void 0,size:0,array:void 0,position:0,readCount:0,map:void 0,key:null};this.stack.push(J)}return this.stack[this.stackHeadPosition]}release(J){if(this.stack[this.stackHeadPosition]!==J)throw Error("Invalid stack state. Released state is not on top of the stack.");if(J.type===T0){let W=J;W.size=0,W.array=void 0,W.position=0,W.type=void 0}if(J.type===d6||J.type===I8){let W=J;W.size=0,W.map=void 0,W.readCount=0,W.type=void 0}this.stackHeadPosition--}reset(){this.stack.length=0,this.stackHeadPosition=-1}}var c6=-1,v0=new DataView(new ArrayBuffer(0)),I5=new Uint8Array(v0.buffer);try{v0.getInt8(0)}catch(J){if(!(J instanceof RangeError))throw Error("This module is not supported in the current JavaScript engine because DataView does not throw RangeError on out-of-bounds access")}var D8=RangeError("Insufficient data"),x5=new S0;class $0{constructor(J){this.totalPos=0,this.pos=0,this.view=v0,this.bytes=I5,this.headByte=c6,this.stack=new x8,this.entered=!1,this.extensionCodec=J?.extensionCodec??j6.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.rawStrings=J?.rawStrings??!1,this.maxStrLength=J?.maxStrLength??S6,this.maxBinLength=J?.maxBinLength??S6,this.maxArrayLength=J?.maxArrayLength??S6,this.maxMapLength=J?.maxMapLength??S6,this.maxExtLength=J?.maxExtLength??S6,this.keyDecoder=J?.keyDecoder!==void 0?J.keyDecoder:x5,this.mapKeyConverter=J?.mapKeyConverter??D5}clone(){return new $0({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,rawStrings:this.rawStrings,maxStrLength:this.maxStrLength,maxBinLength:this.maxBinLength,maxArrayLength:this.maxArrayLength,maxMapLength:this.maxMapLength,maxExtLength:this.maxExtLength,keyDecoder:this.keyDecoder})}reinitializeState(){this.totalPos=0,this.headByte=c6,this.stack.reset()}setBuffer(J){let Q=m6(J);this.bytes=Q,this.view=new DataView(Q.buffer,Q.byteOffset,Q.byteLength),this.pos=0}appendBuffer(J){if(this.headByte===c6&&!this.hasRemaining(1))this.setBuffer(J);else{let Q=this.bytes.subarray(this.pos),W=m6(J),V=new Uint8Array(Q.length+W.length);V.set(Q),V.set(W,Q.length),this.setBuffer(V)}}hasRemaining(J){return this.view.byteLength-this.pos>=J}createExtraByteError(J){let{view:Q,pos:W}=this;return RangeError(`Extra ${Q.byteLength-W} of ${Q.byteLength} byte(s) found at buffer[${J}]`)}decode(J){if(this.entered)return this.clone().decode(J);try{this.entered=!0,this.reinitializeState(),this.setBuffer(J);let Q=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return Q}finally{this.entered=!1}}*decodeMulti(J){if(this.entered){yield*this.clone().decodeMulti(J);return}try{this.entered=!0,this.reinitializeState(),this.setBuffer(J);while(this.hasRemaining(1))yield this.doDecodeSync()}finally{this.entered=!1}}async decodeAsync(J){if(this.entered)return this.clone().decodeAsync(J);try{this.entered=!0;let Q=!1,W;for await(let K of J){if(Q)throw this.entered=!1,this.createExtraByteError(this.totalPos);this.appendBuffer(K);try{W=this.doDecodeSync(),Q=!0}catch(Y){if(!(Y instanceof RangeError))throw Y}this.totalPos+=this.pos}if(Q){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return W}let{headByte:V,pos:q,totalPos:X}=this;throw RangeError(`Insufficient data in parsing ${H0(V)} at ${X} (${q} in the current buffer)`)}finally{this.entered=!1}}decodeArrayStream(J){return this.decodeMultiAsync(J,!0)}decodeStream(J){return this.decodeMultiAsync(J,!1)}async*decodeMultiAsync(J,Q){if(this.entered){yield*this.clone().decodeMultiAsync(J,Q);return}try{this.entered=!0;let W=Q,V=-1;for await(let q of J){if(Q&&V===0)throw this.createExtraByteError(this.totalPos);if(this.appendBuffer(q),W)V=this.readArraySize(),W=!1,this.complete();try{while(!0)if(yield this.doDecodeSync(),--V===0)break}catch(X){if(!(X instanceof RangeError))throw X}this.totalPos+=this.pos}}finally{this.entered=!1}}doDecodeSync(){J:while(!0){let J=this.readHeadByte(),Q;if(J>=224)Q=J-256;else if(J<192)if(J<128)Q=J;else if(J<144){let V=J-128;if(V!==0){this.pushMapState(V),this.complete();continue J}else Q={}}else if(J<160){let V=J-144;if(V!==0){this.pushArrayState(V),this.complete();continue J}else Q=[]}else{let V=J-160;Q=this.decodeString(V,0)}else if(J===192)Q=null;else if(J===194)Q=!1;else if(J===195)Q=!0;else if(J===202)Q=this.readF32();else if(J===203)Q=this.readF64();else if(J===204)Q=this.readU8();else if(J===205)Q=this.readU16();else if(J===206)Q=this.readU32();else if(J===207)if(this.useBigInt64)Q=this.readU64AsBigInt();else Q=this.readU64();else if(J===208)Q=this.readI8();else if(J===209)Q=this.readI16();else if(J===210)Q=this.readI32();else if(J===211)if(this.useBigInt64)Q=this.readI64AsBigInt();else Q=this.readI64();else if(J===217){let V=this.lookU8();Q=this.decodeString(V,1)}else if(J===218){let V=this.lookU16();Q=this.decodeString(V,2)}else if(J===219){let V=this.lookU32();Q=this.decodeString(V,4)}else if(J===220){let V=this.readU16();if(V!==0){this.pushArrayState(V),this.complete();continue J}else Q=[]}else if(J===221){let V=this.readU32();if(V!==0){this.pushArrayState(V),this.complete();continue J}else Q=[]}else if(J===222){let V=this.readU16();if(V!==0){this.pushMapState(V),this.complete();continue J}else Q={}}else if(J===223){let V=this.readU32();if(V!==0){this.pushMapState(V),this.complete();continue J}else Q={}}else if(J===196){let V=this.lookU8();Q=this.decodeBinary(V,1)}else if(J===197){let V=this.lookU16();Q=this.decodeBinary(V,2)}else if(J===198){let V=this.lookU32();Q=this.decodeBinary(V,4)}else if(J===212)Q=this.decodeExtension(1,0);else if(J===213)Q=this.decodeExtension(2,0);else if(J===214)Q=this.decodeExtension(4,0);else if(J===215)Q=this.decodeExtension(8,0);else if(J===216)Q=this.decodeExtension(16,0);else if(J===199){let V=this.lookU8();Q=this.decodeExtension(V,1)}else if(J===200){let V=this.lookU16();Q=this.decodeExtension(V,2)}else if(J===201){let V=this.lookU32();Q=this.decodeExtension(V,4)}else throw new n(`Unrecognized type byte: ${H0(J)}`);this.complete();let W=this.stack;while(W.length>0){let V=W.top();if(V.type===T0)if(V.array[V.position]=Q,V.position++,V.position===V.size)Q=V.array,W.release(V);else continue J;else if(V.type===d6){if(Q==="__proto__")throw new n("The key __proto__ is not allowed");V.key=this.mapKeyConverter(Q),V.type=I8;continue J}else if(V.map[V.key]=Q,V.readCount++,V.readCount===V.size)Q=V.map,W.release(V);else{V.key=null,V.type=d6;continue J}}return Q}}readHeadByte(){if(this.headByte===c6)this.headByte=this.readU8();return this.headByte}complete(){this.headByte=c6}readArraySize(){let J=this.readHeadByte();switch(J){case 220:return this.readU16();case 221:return this.readU32();default:if(J<160)return J-144;else throw new n(`Unrecognized array type byte: ${H0(J)}`)}}pushMapState(J){if(J>this.maxMapLength)throw new n(`Max length exceeded: map length (${J}) > maxMapLengthLength (${this.maxMapLength})`);this.stack.pushMapState(J)}pushArrayState(J){if(J>this.maxArrayLength)throw new n(`Max length exceeded: array length (${J}) > maxArrayLength (${this.maxArrayLength})`);this.stack.pushArrayState(J)}decodeString(J,Q){if(!this.rawStrings||this.stateIsMapKey())return this.decodeUtf8String(J,Q);return this.decodeBinary(J,Q)}decodeUtf8String(J,Q){if(J>this.maxStrLength)throw new n(`Max length exceeded: UTF-8 byte length (${J}) > maxStrLength (${this.maxStrLength})`);if(this.bytes.byteLength<this.pos+Q+J)throw D8;let W=this.pos+Q,V;if(this.stateIsMapKey()&&this.keyDecoder?.canBeCached(J))V=this.keyDecoder.decode(this.bytes,W,J);else V=C8(this.bytes,W,J);return this.pos+=Q+J,V}stateIsMapKey(){if(this.stack.length>0)return this.stack.top().type===d6;return!1}decodeBinary(J,Q){if(J>this.maxBinLength)throw new n(`Max length exceeded: bin length (${J}) > maxBinLength (${this.maxBinLength})`);if(!this.hasRemaining(J+Q))throw D8;let W=this.pos+Q,V=this.bytes.subarray(W,W+J);return this.pos+=Q+J,V}decodeExtension(J,Q){if(J>this.maxExtLength)throw new n(`Max length exceeded: ext length (${J}) > maxExtLength (${this.maxExtLength})`);let W=this.view.getInt8(this.pos+Q),V=this.decodeBinary(J,Q+1);return this.extensionCodec.decode(V,W,this.context)}lookU8(){return this.view.getUint8(this.pos)}lookU16(){return this.view.getUint16(this.pos)}lookU32(){return this.view.getUint32(this.pos)}readU8(){let J=this.view.getUint8(this.pos);return this.pos++,J}readI8(){let J=this.view.getInt8(this.pos);return this.pos++,J}readU16(){let J=this.view.getUint16(this.pos);return this.pos+=2,J}readI16(){let J=this.view.getInt16(this.pos);return this.pos+=2,J}readU32(){let J=this.view.getUint32(this.pos);return this.pos+=4,J}readI32(){let J=this.view.getInt32(this.pos);return this.pos+=4,J}readU64(){let J=R8(this.view,this.pos);return this.pos+=8,J}readI64(){let J=F0(this.view,this.pos);return this.pos+=8,J}readU64AsBigInt(){let J=this.view.getBigUint64(this.pos);return this.pos+=8,J}readI64AsBigInt(){let J=this.view.getBigInt64(this.pos);return this.pos+=8,J}readF32(){let J=this.view.getFloat32(this.pos);return this.pos+=4,J}readF64(){let J=this.view.getFloat64(this.pos);return this.pos+=8,J}}function M6(J,Q){return new $0(Q).decode(J)}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function f6(J){let Q=J.length;while(--Q>=0)J[Q]=0}var w5=0,FJ=1,N5=2,A5=3,S5=258,Q8=29,X0=256,s6=X0+1+Q8,E6=30,V8=19,ZJ=2*s6+1,C6=15,E0=16,T5=7,q8=256,zJ=16,HJ=17,$J=18,n0=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),L0=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),v5=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),kJ=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),E5=512,K6=Array((s6+2)*2);f6(K6);var r6=Array(E6*2);f6(r6);var t6=Array(E5);f6(t6);var e6=Array(S5-A5+1);f6(e6);var X8=Array(Q8);f6(X8);var R0=Array(E6);f6(R0);function g0(J,Q,W,V,q){this.static_tree=J,this.extra_bits=Q,this.extra_base=W,this.elems=V,this.max_length=q,this.has_stree=J&&J.length}var BJ,jJ,MJ;function y0(J,Q){this.dyn_tree=J,this.max_code=0,this.stat_desc=Q}var CJ=(J)=>{return J<256?t6[J]:t6[256+(J>>>7)]},J0=(J,Q)=>{J.pending_buf[J.pending++]=Q&255,J.pending_buf[J.pending++]=Q>>>8&255},a=(J,Q,W)=>{if(J.bi_valid>E0-W)J.bi_buf|=Q<<J.bi_valid&65535,J0(J,J.bi_buf),J.bi_buf=Q>>E0-J.bi_valid,J.bi_valid+=W-E0;else J.bi_buf|=Q<<J.bi_valid&65535,J.bi_valid+=W},X6=(J,Q,W)=>{a(J,W[Q*2],W[Q*2+1])},LJ=(J,Q)=>{let W=0;do W|=J&1,J>>>=1,W<<=1;while(--Q>0);return W>>>1},g5=(J)=>{if(J.bi_valid===16)J0(J,J.bi_buf),J.bi_buf=0,J.bi_valid=0;else if(J.bi_valid>=8)J.pending_buf[J.pending++]=J.bi_buf&255,J.bi_buf>>=8,J.bi_valid-=8},y5=(J,Q)=>{let{dyn_tree:W,max_code:V}=Q,q=Q.stat_desc.static_tree,X=Q.stat_desc.has_stree,K=Q.stat_desc.extra_bits,Y=Q.stat_desc.extra_base,z=Q.stat_desc.max_length,G,P,k,Z,F,$,w=0;for(Z=0;Z<=C6;Z++)J.bl_count[Z]=0;W[J.heap[J.heap_max]*2+1]=0;for(G=J.heap_max+1;G<ZJ;G++){if(P=J.heap[G],Z=W[W[P*2+1]*2+1]+1,Z>z)Z=z,w++;if(W[P*2+1]=Z,P>V)continue;if(J.bl_count[Z]++,F=0,P>=Y)F=K[P-Y];if($=W[P*2],J.opt_len+=$*(Z+F),X)J.static_len+=$*(q[P*2+1]+F)}if(w===0)return;do{Z=z-1;while(J.bl_count[Z]===0)Z--;J.bl_count[Z]--,J.bl_count[Z+1]+=2,J.bl_count[z]--,w-=2}while(w>0);for(Z=z;Z!==0;Z--){P=J.bl_count[Z];while(P!==0){if(k=J.heap[--G],k>V)continue;if(W[k*2+1]!==Z)J.opt_len+=(Z-W[k*2+1])*W[k*2],W[k*2+1]=Z;P--}}},RJ=(J,Q,W)=>{let V=Array(C6+1),q=0,X,K;for(X=1;X<=C6;X++)q=q+W[X-1]<<1,V[X]=q;for(K=0;K<=Q;K++){let Y=J[K*2+1];if(Y===0)continue;J[K*2]=LJ(V[Y]++,Y)}},f5=()=>{let J,Q,W,V,q,X=Array(C6+1);W=0;for(V=0;V<Q8-1;V++){X8[V]=W;for(J=0;J<1<<n0[V];J++)e6[W++]=V}e6[W-1]=V,q=0;for(V=0;V<16;V++){R0[V]=q;for(J=0;J<1<<L0[V];J++)t6[q++]=V}q>>=7;for(;V<E6;V++){R0[V]=q<<7;for(J=0;J<1<<L0[V]-7;J++)t6[256+q++]=V}for(Q=0;Q<=C6;Q++)X[Q]=0;J=0;while(J<=143)K6[J*2+1]=8,J++,X[8]++;while(J<=255)K6[J*2+1]=9,J++,X[9]++;while(J<=279)K6[J*2+1]=7,J++,X[7]++;while(J<=287)K6[J*2+1]=8,J++,X[8]++;RJ(K6,s6+1,X);for(J=0;J<E6;J++)r6[J*2+1]=5,r6[J*2]=LJ(J,5);BJ=new g0(K6,n0,X0+1,s6,C6),jJ=new g0(r6,L0,0,E6,C6),MJ=new g0([],v5,0,V8,T5)},OJ=(J)=>{let Q;for(Q=0;Q<s6;Q++)J.dyn_ltree[Q*2]=0;for(Q=0;Q<E6;Q++)J.dyn_dtree[Q*2]=0;for(Q=0;Q<V8;Q++)J.bl_tree[Q*2]=0;J.dyn_ltree[q8*2]=1,J.opt_len=J.static_len=0,J.sym_next=J.matches=0},DJ=(J)=>{if(J.bi_valid>8)J0(J,J.bi_buf);else if(J.bi_valid>0)J.pending_buf[J.pending++]=J.bi_buf;J.bi_buf=0,J.bi_valid=0},w8=(J,Q,W,V)=>{let q=Q*2,X=W*2;return J[q]<J[X]||J[q]===J[X]&&V[Q]<=V[W]},f0=(J,Q,W)=>{let V=J.heap[W],q=W<<1;while(q<=J.heap_len){if(q<J.heap_len&&w8(Q,J.heap[q+1],J.heap[q],J.depth))q++;if(w8(Q,V,J.heap[q],J.depth))break;J.heap[W]=J.heap[q],W=q,q<<=1}J.heap[W]=V},N8=(J,Q,W)=>{let V,q,X=0,K,Y;if(J.sym_next!==0)do if(V=J.pending_buf[J.sym_buf+X++]&255,V+=(J.pending_buf[J.sym_buf+X++]&255)<<8,q=J.pending_buf[J.sym_buf+X++],V===0)X6(J,q,Q);else{if(K=e6[q],X6(J,K+X0+1,Q),Y=n0[K],Y!==0)q-=X8[K],a(J,q,Y);if(V--,K=CJ(V),X6(J,K,W),Y=L0[K],Y!==0)V-=R0[K],a(J,V,Y)}while(X<J.sym_next);X6(J,q8,Q)},r0=(J,Q)=>{let W=Q.dyn_tree,V=Q.stat_desc.static_tree,q=Q.stat_desc.has_stree,X=Q.stat_desc.elems,K,Y,z=-1,G;J.heap_len=0,J.heap_max=ZJ;for(K=0;K<X;K++)if(W[K*2]!==0)J.heap[++J.heap_len]=z=K,J.depth[K]=0;else W[K*2+1]=0;while(J.heap_len<2)if(G=J.heap[++J.heap_len]=z<2?++z:0,W[G*2]=1,J.depth[G]=0,J.opt_len--,q)J.static_len-=V[G*2+1];Q.max_code=z;for(K=J.heap_len>>1;K>=1;K--)f0(J,W,K);G=X;do K=J.heap[1],J.heap[1]=J.heap[J.heap_len--],f0(J,W,1),Y=J.heap[1],J.heap[--J.heap_max]=K,J.heap[--J.heap_max]=Y,W[G*2]=W[K*2]+W[Y*2],J.depth[G]=(J.depth[K]>=J.depth[Y]?J.depth[K]:J.depth[Y])+1,W[K*2+1]=W[Y*2+1]=G,J.heap[1]=G++,f0(J,W,1);while(J.heap_len>=2);J.heap[--J.heap_max]=J.heap[1],y5(J,Q),RJ(W,z,J.bl_count)},A8=(J,Q,W)=>{let V,q=-1,X,K=Q[1],Y=0,z=7,G=4;if(K===0)z=138,G=3;Q[(W+1)*2+1]=65535;for(V=0;V<=W;V++){if(X=K,K=Q[(V+1)*2+1],++Y<z&&X===K)continue;else if(Y<G)J.bl_tree[X*2]+=Y;else if(X!==0){if(X!==q)J.bl_tree[X*2]++;J.bl_tree[zJ*2]++}else if(Y<=10)J.bl_tree[HJ*2]++;else J.bl_tree[$J*2]++;if(Y=0,q=X,K===0)z=138,G=3;else if(X===K)z=6,G=3;else z=7,G=4}},S8=(J,Q,W)=>{let V,q=-1,X,K=Q[1],Y=0,z=7,G=4;if(K===0)z=138,G=3;for(V=0;V<=W;V++){if(X=K,K=Q[(V+1)*2+1],++Y<z&&X===K)continue;else if(Y<G)do X6(J,X,J.bl_tree);while(--Y!==0);else if(X!==0){if(X!==q)X6(J,X,J.bl_tree),Y--;X6(J,zJ,J.bl_tree),a(J,Y-3,2)}else if(Y<=10)X6(J,HJ,J.bl_tree),a(J,Y-3,3);else X6(J,$J,J.bl_tree),a(J,Y-11,7);if(Y=0,q=X,K===0)z=138,G=3;else if(X===K)z=6,G=3;else z=7,G=4}},b5=(J)=>{let Q;A8(J,J.dyn_ltree,J.l_desc.max_code),A8(J,J.dyn_dtree,J.d_desc.max_code),r0(J,J.bl_desc);for(Q=V8-1;Q>=3;Q--)if(J.bl_tree[kJ[Q]*2+1]!==0)break;return J.opt_len+=3*(Q+1)+5+5+4,Q},h5=(J,Q,W,V)=>{let q;a(J,Q-257,5),a(J,W-1,5),a(J,V-4,4);for(q=0;q<V;q++)a(J,J.bl_tree[kJ[q]*2+1],3);S8(J,J.dyn_ltree,Q-1),S8(J,J.dyn_dtree,W-1)},p5=(J)=>{let Q=4093624447,W;for(W=0;W<=31;W++,Q>>>=1)if(Q&1&&J.dyn_ltree[W*2]!==0)return 0;if(J.dyn_ltree[18]!==0||J.dyn_ltree[20]!==0||J.dyn_ltree[26]!==0)return 1;for(W=32;W<X0;W++)if(J.dyn_ltree[W*2]!==0)return 1;return 0},T8=!1,u5=(J)=>{if(!T8)f5(),T8=!0;J.l_desc=new y0(J.dyn_ltree,BJ),J.d_desc=new y0(J.dyn_dtree,jJ),J.bl_desc=new y0(J.bl_tree,MJ),J.bi_buf=0,J.bi_valid=0,OJ(J)},IJ=(J,Q,W,V)=>{if(a(J,(w5<<1)+(V?1:0),3),DJ(J),J0(J,W),J0(J,~W),W)J.pending_buf.set(J.window.subarray(Q,Q+W),J.pending);J.pending+=W},_5=(J)=>{a(J,FJ<<1,3),X6(J,q8,K6),g5(J)},m5=(J,Q,W,V)=>{let q,X,K=0;if(J.level>0){if(J.strm.data_type===2)J.strm.data_type=p5(J);if(r0(J,J.l_desc),r0(J,J.d_desc),K=b5(J),q=J.opt_len+3+7>>>3,X=J.static_len+3+7>>>3,X<=q)q=X}else q=X=W+5;if(W+4<=q&&Q!==-1)IJ(J,Q,W,V);else if(J.strategy===4||X===q)a(J,(FJ<<1)+(V?1:0),3),N8(J,K6,r6);else a(J,(N5<<1)+(V?1:0),3),h5(J,J.l_desc.max_code+1,J.d_desc.max_code+1,K+1),N8(J,J.dyn_ltree,J.dyn_dtree);if(OJ(J),V)DJ(J)},c5=(J,Q,W)=>{if(J.pending_buf[J.sym_buf+J.sym_next++]=Q,J.pending_buf[J.sym_buf+J.sym_next++]=Q>>8,J.pending_buf[J.sym_buf+J.sym_next++]=W,Q===0)J.dyn_ltree[W*2]++;else J.matches++,Q--,J.dyn_ltree[(e6[W]+X0+1)*2]++,J.dyn_dtree[CJ(Q)*2]++;return J.sym_next===J.sym_end},d5=u5,l5=IJ,i5=m5,n5=c5,r5=_5,o5={_tr_init:d5,_tr_stored_block:l5,_tr_flush_block:i5,_tr_tally:n5,_tr_align:r5},a5=(J,Q,W,V)=>{let q=J&65535|0,X=J>>>16&65535|0,K=0;while(W!==0){K=W>2000?2000:W,W-=K;do q=q+Q[V++]|0,X=X+q|0;while(--K);q%=65521,X%=65521}return q|X<<16|0},W0=a5,s5=()=>{let J,Q=[];for(var W=0;W<256;W++){J=W;for(var V=0;V<8;V++)J=J&1?3988292384^J>>>1:J>>>1;Q[W]=J}return Q},t5=new Uint32Array(s5()),e5=(J,Q,W,V)=>{let q=t5,X=V+W;J^=-1;for(let K=V;K<X;K++)J=J>>>8^q[(J^Q[K])&255];return J^-1},d=e5,O6={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},x6={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:J1,_tr_stored_block:o0,_tr_flush_block:W1,_tr_tally:H6,_tr_align:Q1}=o5,{Z_NO_FLUSH:$6,Z_PARTIAL_FLUSH:V1,Z_FULL_FLUSH:q1,Z_FINISH:W6,Z_BLOCK:v8,Z_OK:l,Z_STREAM_END:E8,Z_STREAM_ERROR:Y6,Z_DATA_ERROR:X1,Z_BUF_ERROR:b0,Z_DEFAULT_COMPRESSION:Y1,Z_FILTERED:G1,Z_HUFFMAN_ONLY:k0,Z_RLE:P1,Z_FIXED:K1,Z_DEFAULT_STRATEGY:U1,Z_UNKNOWN:F1,Z_DEFLATED:I0}=x6,Z1=9,z1=15,H1=8,$1=29,k1=256,a0=k1+1+$1,B1=30,j1=19,M1=2*a0+1,C1=15,g=3,z6=258,G6=z6+g+1,L1=32,g6=42,Y8=57,s0=69,t0=73,e0=91,J8=103,L6=113,i6=666,r=1,b6=2,D6=3,h6=4,R1=3,R6=(J,Q)=>{return J.msg=O6[Q],Q},g8=(J)=>{return J*2-(J>4?9:0)},Z6=(J)=>{let Q=J.length;while(--Q>=0)J[Q]=0},O1=(J)=>{let Q,W,V,q=J.w_size;Q=J.hash_size,V=Q;do W=J.head[--V],J.head[V]=W>=q?W-q:0;while(--Q);Q=q,V=Q;do W=J.prev[--V],J.prev[V]=W>=q?W-q:0;while(--Q)},D1=(J,Q,W)=>(Q<<J.hash_shift^W)&J.hash_mask,k6=D1,t=(J)=>{let Q=J.state,W=Q.pending;if(W>J.avail_out)W=J.avail_out;if(W===0)return;if(J.output.set(Q.pending_buf.subarray(Q.pending_out,Q.pending_out+W),J.next_out),J.next_out+=W,Q.pending_out+=W,J.total_out+=W,J.avail_out-=W,Q.pending-=W,Q.pending===0)Q.pending_out=0},e=(J,Q)=>{W1(J,J.block_start>=0?J.block_start:-1,J.strstart-J.block_start,Q),J.block_start=J.strstart,t(J.strm)},b=(J,Q)=>{J.pending_buf[J.pending++]=Q},l6=(J,Q)=>{J.pending_buf[J.pending++]=Q>>>8&255,J.pending_buf[J.pending++]=Q&255},W8=(J,Q,W,V)=>{let q=J.avail_in;if(q>V)q=V;if(q===0)return 0;if(J.avail_in-=q,Q.set(J.input.subarray(J.next_in,J.next_in+q),W),J.state.wrap===1)J.adler=W0(J.adler,Q,q,W);else if(J.state.wrap===2)J.adler=d(J.adler,Q,q,W);return J.next_in+=q,J.total_in+=q,q},xJ=(J,Q)=>{let{max_chain_length:W,strstart:V}=J,q,X,K=J.prev_length,Y=J.nice_match,z=J.strstart>J.w_size-G6?J.strstart-(J.w_size-G6):0,G=J.window,P=J.w_mask,k=J.prev,Z=J.strstart+z6,F=G[V+K-1],$=G[V+K];if(J.prev_length>=J.good_match)W>>=2;if(Y>J.lookahead)Y=J.lookahead;do{if(q=Q,G[q+K]!==$||G[q+K-1]!==F||G[q]!==G[V]||G[++q]!==G[V+1])continue;V+=2,q++;do;while(G[++V]===G[++q]&&G[++V]===G[++q]&&G[++V]===G[++q]&&G[++V]===G[++q]&&G[++V]===G[++q]&&G[++V]===G[++q]&&G[++V]===G[++q]&&G[++V]===G[++q]&&V<Z);if(X=z6-(Z-V),V=Z-z6,X>K){if(J.match_start=Q,K=X,X>=Y)break;F=G[V+K-1],$=G[V+K]}}while((Q=k[Q&P])>z&&--W!==0);if(K<=J.lookahead)return K;return J.lookahead},y6=(J)=>{let Q=J.w_size,W,V,q;do{if(V=J.window_size-J.lookahead-J.strstart,J.strstart>=Q+(Q-G6)){if(J.window.set(J.window.subarray(Q,Q+Q-V),0),J.match_start-=Q,J.strstart-=Q,J.block_start-=Q,J.insert>J.strstart)J.insert=J.strstart;O1(J),V+=Q}if(J.strm.avail_in===0)break;if(W=W8(J.strm,J.window,J.strstart+J.lookahead,V),J.lookahead+=W,J.lookahead+J.insert>=g){q=J.strstart-J.insert,J.ins_h=J.window[q],J.ins_h=k6(J,J.ins_h,J.window[q+1]);while(J.insert)if(J.ins_h=k6(J,J.ins_h,J.window[q+g-1]),J.prev[q&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=q,q++,J.insert--,J.lookahead+J.insert<g)break}}while(J.lookahead<G6&&J.strm.avail_in!==0)},wJ=(J,Q)=>{let W=J.pending_buf_size-5>J.w_size?J.w_size:J.pending_buf_size-5,V,q,X,K=0,Y=J.strm.avail_in;do{if(V=65535,X=J.bi_valid+42>>3,J.strm.avail_out<X)break;if(X=J.strm.avail_out-X,q=J.strstart-J.block_start,V>q+J.strm.avail_in)V=q+J.strm.avail_in;if(V>X)V=X;if(V<W&&(V===0&&Q!==W6||Q===$6||V!==q+J.strm.avail_in))break;if(K=Q===W6&&V===q+J.strm.avail_in?1:0,o0(J,0,0,K),J.pending_buf[J.pending-4]=V,J.pending_buf[J.pending-3]=V>>8,J.pending_buf[J.pending-2]=~V,J.pending_buf[J.pending-1]=~V>>8,t(J.strm),q){if(q>V)q=V;J.strm.output.set(J.window.subarray(J.block_start,J.block_start+q),J.strm.next_out),J.strm.next_out+=q,J.strm.avail_out-=q,J.strm.total_out+=q,J.block_start+=q,V-=q}if(V)W8(J.strm,J.strm.output,J.strm.next_out,V),J.strm.next_out+=V,J.strm.avail_out-=V,J.strm.total_out+=V}while(K===0);if(Y-=J.strm.avail_in,Y){if(Y>=J.w_size)J.matches=2,J.window.set(J.strm.input.subarray(J.strm.next_in-J.w_size,J.strm.next_in),0),J.strstart=J.w_size,J.insert=J.strstart;else{if(J.window_size-J.strstart<=Y){if(J.strstart-=J.w_size,J.window.set(J.window.subarray(J.w_size,J.w_size+J.strstart),0),J.matches<2)J.matches++;if(J.insert>J.strstart)J.insert=J.strstart}J.window.set(J.strm.input.subarray(J.strm.next_in-Y,J.strm.next_in),J.strstart),J.strstart+=Y,J.insert+=Y>J.w_size-J.insert?J.w_size-J.insert:Y}J.block_start=J.strstart}if(J.high_water<J.strstart)J.high_water=J.strstart;if(K)return h6;if(Q!==$6&&Q!==W6&&J.strm.avail_in===0&&J.strstart===J.block_start)return b6;if(X=J.window_size-J.strstart,J.strm.avail_in>X&&J.block_start>=J.w_size){if(J.block_start-=J.w_size,J.strstart-=J.w_size,J.window.set(J.window.subarray(J.w_size,J.w_size+J.strstart),0),J.matches<2)J.matches++;if(X+=J.w_size,J.insert>J.strstart)J.insert=J.strstart}if(X>J.strm.avail_in)X=J.strm.avail_in;if(X)W8(J.strm,J.window,J.strstart,X),J.strstart+=X,J.insert+=X>J.w_size-J.insert?J.w_size-J.insert:X;if(J.high_water<J.strstart)J.high_water=J.strstart;if(X=J.bi_valid+42>>3,X=J.pending_buf_size-X>65535?65535:J.pending_buf_size-X,W=X>J.w_size?J.w_size:X,q=J.strstart-J.block_start,q>=W||(q||Q===W6)&&Q!==$6&&J.strm.avail_in===0&&q<=X)V=q>X?X:q,K=Q===W6&&J.strm.avail_in===0&&V===q?1:0,o0(J,J.block_start,V,K),J.block_start+=V,t(J.strm);return K?D6:r},h0=(J,Q)=>{let W,V;for(;;){if(J.lookahead<G6){if(y6(J),J.lookahead<G6&&Q===$6)return r;if(J.lookahead===0)break}if(W=0,J.lookahead>=g)J.ins_h=k6(J,J.ins_h,J.window[J.strstart+g-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;if(W!==0&&J.strstart-W<=J.w_size-G6)J.match_length=xJ(J,W);if(J.match_length>=g)if(V=H6(J,J.strstart-J.match_start,J.match_length-g),J.lookahead-=J.match_length,J.match_length<=J.max_lazy_match&&J.lookahead>=g){J.match_length--;do J.strstart++,J.ins_h=k6(J,J.ins_h,J.window[J.strstart+g-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;while(--J.match_length!==0);J.strstart++}else J.strstart+=J.match_length,J.match_length=0,J.ins_h=J.window[J.strstart],J.ins_h=k6(J,J.ins_h,J.window[J.strstart+1]);else V=H6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(V){if(e(J,!1),J.strm.avail_out===0)return r}}if(J.insert=J.strstart<g-1?J.strstart:g-1,Q===W6){if(e(J,!0),J.strm.avail_out===0)return D6;return h6}if(J.sym_next){if(e(J,!1),J.strm.avail_out===0)return r}return b6},T6=(J,Q)=>{let W,V,q;for(;;){if(J.lookahead<G6){if(y6(J),J.lookahead<G6&&Q===$6)return r;if(J.lookahead===0)break}if(W=0,J.lookahead>=g)J.ins_h=k6(J,J.ins_h,J.window[J.strstart+g-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;if(J.prev_length=J.match_length,J.prev_match=J.match_start,J.match_length=g-1,W!==0&&J.prev_length<J.max_lazy_match&&J.strstart-W<=J.w_size-G6){if(J.match_length=xJ(J,W),J.match_length<=5&&(J.strategy===G1||J.match_length===g&&J.strstart-J.match_start>4096))J.match_length=g-1}if(J.prev_length>=g&&J.match_length<=J.prev_length){q=J.strstart+J.lookahead-g,V=H6(J,J.strstart-1-J.prev_match,J.prev_length-g),J.lookahead-=J.prev_length-1,J.prev_length-=2;do if(++J.strstart<=q)J.ins_h=k6(J,J.ins_h,J.window[J.strstart+g-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;while(--J.prev_length!==0);if(J.match_available=0,J.match_length=g-1,J.strstart++,V){if(e(J,!1),J.strm.avail_out===0)return r}}else if(J.match_available){if(V=H6(J,0,J.window[J.strstart-1]),V)e(J,!1);if(J.strstart++,J.lookahead--,J.strm.avail_out===0)return r}else J.match_available=1,J.strstart++,J.lookahead--}if(J.match_available)V=H6(J,0,J.window[J.strstart-1]),J.match_available=0;if(J.insert=J.strstart<g-1?J.strstart:g-1,Q===W6){if(e(J,!0),J.strm.avail_out===0)return D6;return h6}if(J.sym_next){if(e(J,!1),J.strm.avail_out===0)return r}return b6},I1=(J,Q)=>{let W,V,q,X,K=J.window;for(;;){if(J.lookahead<=z6){if(y6(J),J.lookahead<=z6&&Q===$6)return r;if(J.lookahead===0)break}if(J.match_length=0,J.lookahead>=g&&J.strstart>0){if(q=J.strstart-1,V=K[q],V===K[++q]&&V===K[++q]&&V===K[++q]){X=J.strstart+z6;do;while(V===K[++q]&&V===K[++q]&&V===K[++q]&&V===K[++q]&&V===K[++q]&&V===K[++q]&&V===K[++q]&&V===K[++q]&&q<X);if(J.match_length=z6-(X-q),J.match_length>J.lookahead)J.match_length=J.lookahead}}if(J.match_length>=g)W=H6(J,1,J.match_length-g),J.lookahead-=J.match_length,J.strstart+=J.match_length,J.match_length=0;else W=H6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(W){if(e(J,!1),J.strm.avail_out===0)return r}}if(J.insert=0,Q===W6){if(e(J,!0),J.strm.avail_out===0)return D6;return h6}if(J.sym_next){if(e(J,!1),J.strm.avail_out===0)return r}return b6},x1=(J,Q)=>{let W;for(;;){if(J.lookahead===0){if(y6(J),J.lookahead===0){if(Q===$6)return r;break}}if(J.match_length=0,W=H6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++,W){if(e(J,!1),J.strm.avail_out===0)return r}}if(J.insert=0,Q===W6){if(e(J,!0),J.strm.avail_out===0)return D6;return h6}if(J.sym_next){if(e(J,!1),J.strm.avail_out===0)return r}return b6};function q6(J,Q,W,V,q){this.good_length=J,this.max_lazy=Q,this.nice_length=W,this.max_chain=V,this.func=q}var n6=[new q6(0,0,0,0,wJ),new q6(4,4,8,4,h0),new q6(4,5,16,8,h0),new q6(4,6,32,32,h0),new q6(4,4,16,16,T6),new q6(8,16,32,32,T6),new q6(8,16,128,128,T6),new q6(8,32,128,256,T6),new q6(32,128,258,1024,T6),new q6(32,258,258,4096,T6)],w1=(J)=>{J.window_size=2*J.w_size,Z6(J.head),J.max_lazy_match=n6[J.level].max_lazy,J.good_match=n6[J.level].good_length,J.nice_match=n6[J.level].nice_length,J.max_chain_length=n6[J.level].max_chain,J.strstart=0,J.block_start=0,J.lookahead=0,J.insert=0,J.match_length=J.prev_length=g-1,J.match_available=0,J.ins_h=0};function N1(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=I0,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(M1*2),this.dyn_dtree=new Uint16Array((2*B1+1)*2),this.bl_tree=new Uint16Array((2*j1+1)*2),Z6(this.dyn_ltree),Z6(this.dyn_dtree),Z6(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(C1+1),this.heap=new Uint16Array(2*a0+1),Z6(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*a0+1),Z6(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var Y0=(J)=>{if(!J)return 1;let Q=J.state;if(!Q||Q.strm!==J||Q.status!==g6&&Q.status!==Y8&&Q.status!==s0&&Q.status!==t0&&Q.status!==e0&&Q.status!==J8&&Q.status!==L6&&Q.status!==i6)return 1;return 0},NJ=(J)=>{if(Y0(J))return R6(J,Y6);J.total_in=J.total_out=0,J.data_type=F1;let Q=J.state;if(Q.pending=0,Q.pending_out=0,Q.wrap<0)Q.wrap=-Q.wrap;return Q.status=Q.wrap===2?Y8:Q.wrap?g6:L6,J.adler=Q.wrap===2?0:1,Q.last_flush=-2,J1(Q),l},AJ=(J)=>{let Q=NJ(J);if(Q===l)w1(J.state);return Q},A1=(J,Q)=>{if(Y0(J)||J.state.wrap!==2)return Y6;return J.state.gzhead=Q,l},SJ=(J,Q,W,V,q,X)=>{if(!J)return Y6;let K=1;if(Q===Y1)Q=6;if(V<0)K=0,V=-V;else if(V>15)K=2,V-=16;if(q<1||q>Z1||W!==I0||V<8||V>15||Q<0||Q>9||X<0||X>K1||V===8&&K!==1)return R6(J,Y6);if(V===8)V=9;let Y=new N1;return J.state=Y,Y.strm=J,Y.status=g6,Y.wrap=K,Y.gzhead=null,Y.w_bits=V,Y.w_size=1<<Y.w_bits,Y.w_mask=Y.w_size-1,Y.hash_bits=q+7,Y.hash_size=1<<Y.hash_bits,Y.hash_mask=Y.hash_size-1,Y.hash_shift=~~((Y.hash_bits+g-1)/g),Y.window=new Uint8Array(Y.w_size*2),Y.head=new Uint16Array(Y.hash_size),Y.prev=new Uint16Array(Y.w_size),Y.lit_bufsize=1<<q+6,Y.pending_buf_size=Y.lit_bufsize*4,Y.pending_buf=new Uint8Array(Y.pending_buf_size),Y.sym_buf=Y.lit_bufsize,Y.sym_end=(Y.lit_bufsize-1)*3,Y.level=Q,Y.strategy=X,Y.method=W,AJ(J)},S1=(J,Q)=>{return SJ(J,Q,I0,z1,H1,U1)},T1=(J,Q)=>{if(Y0(J)||Q>v8||Q<0)return J?R6(J,Y6):Y6;let W=J.state;if(!J.output||J.avail_in!==0&&!J.input||W.status===i6&&Q!==W6)return R6(J,J.avail_out===0?b0:Y6);let V=W.last_flush;if(W.last_flush=Q,W.pending!==0){if(t(J),J.avail_out===0)return W.last_flush=-1,l}else if(J.avail_in===0&&g8(Q)<=g8(V)&&Q!==W6)return R6(J,b0);if(W.status===i6&&J.avail_in!==0)return R6(J,b0);if(W.status===g6&&W.wrap===0)W.status=L6;if(W.status===g6){let q=I0+(W.w_bits-8<<4)<<8,X=-1;if(W.strategy>=k0||W.level<2)X=0;else if(W.level<6)X=1;else if(W.level===6)X=2;else X=3;if(q|=X<<6,W.strstart!==0)q|=L1;if(q+=31-q%31,l6(W,q),W.strstart!==0)l6(W,J.adler>>>16),l6(W,J.adler&65535);if(J.adler=1,W.status=L6,t(J),W.pending!==0)return W.last_flush=-1,l}if(W.status===Y8)if(J.adler=0,b(W,31),b(W,139),b(W,8),!W.gzhead){if(b(W,0),b(W,0),b(W,0),b(W,0),b(W,0),b(W,W.level===9?2:W.strategy>=k0||W.level<2?4:0),b(W,R1),W.status=L6,t(J),W.pending!==0)return W.last_flush=-1,l}else{if(b(W,(W.gzhead.text?1:0)+(W.gzhead.hcrc?2:0)+(!W.gzhead.extra?0:4)+(!W.gzhead.name?0:8)+(!W.gzhead.comment?0:16)),b(W,W.gzhead.time&255),b(W,W.gzhead.time>>8&255),b(W,W.gzhead.time>>16&255),b(W,W.gzhead.time>>24&255),b(W,W.level===9?2:W.strategy>=k0||W.level<2?4:0),b(W,W.gzhead.os&255),W.gzhead.extra&&W.gzhead.extra.length)b(W,W.gzhead.extra.length&255),b(W,W.gzhead.extra.length>>8&255);if(W.gzhead.hcrc)J.adler=d(J.adler,W.pending_buf,W.pending,0);W.gzindex=0,W.status=s0}if(W.status===s0){if(W.gzhead.extra){let q=W.pending,X=(W.gzhead.extra.length&65535)-W.gzindex;while(W.pending+X>W.pending_buf_size){let Y=W.pending_buf_size-W.pending;if(W.pending_buf.set(W.gzhead.extra.subarray(W.gzindex,W.gzindex+Y),W.pending),W.pending=W.pending_buf_size,W.gzhead.hcrc&&W.pending>q)J.adler=d(J.adler,W.pending_buf,W.pending-q,q);if(W.gzindex+=Y,t(J),W.pending!==0)return W.last_flush=-1,l;q=0,X-=Y}let K=new Uint8Array(W.gzhead.extra);if(W.pending_buf.set(K.subarray(W.gzindex,W.gzindex+X),W.pending),W.pending+=X,W.gzhead.hcrc&&W.pending>q)J.adler=d(J.adler,W.pending_buf,W.pending-q,q);W.gzindex=0}W.status=t0}if(W.status===t0){if(W.gzhead.name){let q=W.pending,X;do{if(W.pending===W.pending_buf_size){if(W.gzhead.hcrc&&W.pending>q)J.adler=d(J.adler,W.pending_buf,W.pending-q,q);if(t(J),W.pending!==0)return W.last_flush=-1,l;q=0}if(W.gzindex<W.gzhead.name.length)X=W.gzhead.name.charCodeAt(W.gzindex++)&255;else X=0;b(W,X)}while(X!==0);if(W.gzhead.hcrc&&W.pending>q)J.adler=d(J.adler,W.pending_buf,W.pending-q,q);W.gzindex=0}W.status=e0}if(W.status===e0){if(W.gzhead.comment){let q=W.pending,X;do{if(W.pending===W.pending_buf_size){if(W.gzhead.hcrc&&W.pending>q)J.adler=d(J.adler,W.pending_buf,W.pending-q,q);if(t(J),W.pending!==0)return W.last_flush=-1,l;q=0}if(W.gzindex<W.gzhead.comment.length)X=W.gzhead.comment.charCodeAt(W.gzindex++)&255;else X=0;b(W,X)}while(X!==0);if(W.gzhead.hcrc&&W.pending>q)J.adler=d(J.adler,W.pending_buf,W.pending-q,q)}W.status=J8}if(W.status===J8){if(W.gzhead.hcrc){if(W.pending+2>W.pending_buf_size){if(t(J),W.pending!==0)return W.last_flush=-1,l}b(W,J.adler&255),b(W,J.adler>>8&255),J.adler=0}if(W.status=L6,t(J),W.pending!==0)return W.last_flush=-1,l}if(J.avail_in!==0||W.lookahead!==0||Q!==$6&&W.status!==i6){let q=W.level===0?wJ(W,Q):W.strategy===k0?x1(W,Q):W.strategy===P1?I1(W,Q):n6[W.level].func(W,Q);if(q===D6||q===h6)W.status=i6;if(q===r||q===D6){if(J.avail_out===0)W.last_flush=-1;return l}if(q===b6){if(Q===V1)Q1(W);else if(Q!==v8){if(o0(W,0,0,!1),Q===q1){if(Z6(W.head),W.lookahead===0)W.strstart=0,W.block_start=0,W.insert=0}}if(t(J),J.avail_out===0)return W.last_flush=-1,l}}if(Q!==W6)return l;if(W.wrap<=0)return E8;if(W.wrap===2)b(W,J.adler&255),b(W,J.adler>>8&255),b(W,J.adler>>16&255),b(W,J.adler>>24&255),b(W,J.total_in&255),b(W,J.total_in>>8&255),b(W,J.total_in>>16&255),b(W,J.total_in>>24&255);else l6(W,J.adler>>>16),l6(W,J.adler&65535);if(t(J),W.wrap>0)W.wrap=-W.wrap;return W.pending!==0?l:E8},v1=(J)=>{if(Y0(J))return Y6;let Q=J.state.status;return J.state=null,Q===L6?R6(J,X1):l},E1=(J,Q)=>{let W=Q.length;if(Y0(J))return Y6;let V=J.state,q=V.wrap;if(q===2||q===1&&V.status!==g6||V.lookahead)return Y6;if(q===1)J.adler=W0(J.adler,Q,W,0);if(V.wrap=0,W>=V.w_size){if(q===0)Z6(V.head),V.strstart=0,V.block_start=0,V.insert=0;let z=new Uint8Array(V.w_size);z.set(Q.subarray(W-V.w_size,W),0),Q=z,W=V.w_size}let{avail_in:X,next_in:K,input:Y}=J;J.avail_in=W,J.next_in=0,J.input=Q,y6(V);while(V.lookahead>=g){let z=V.strstart,G=V.lookahead-(g-1);do V.ins_h=k6(V,V.ins_h,V.window[z+g-1]),V.prev[z&V.w_mask]=V.head[V.ins_h],V.head[V.ins_h]=z,z++;while(--G);V.strstart=z,V.lookahead=g-1,y6(V)}return V.strstart+=V.lookahead,V.block_start=V.strstart,V.insert=V.lookahead,V.lookahead=0,V.match_length=V.prev_length=g-1,V.match_available=0,J.next_in=K,J.input=Y,J.avail_in=X,V.wrap=q,l},g1=S1,y1=SJ,f1=AJ,b1=NJ,h1=A1,p1=T1,u1=v1,_1=E1,m1="pako deflate (from Nodeca project)",o6={deflateInit:g1,deflateInit2:y1,deflateReset:f1,deflateResetKeep:b1,deflateSetHeader:h1,deflate:p1,deflateEnd:u1,deflateSetDictionary:_1,deflateInfo:m1},c1=(J,Q)=>{return Object.prototype.hasOwnProperty.call(J,Q)},d1=function(J){let Q=Array.prototype.slice.call(arguments,1);while(Q.length){let W=Q.shift();if(!W)continue;if(typeof W!=="object")throw TypeError(W+"must be non-object");for(let V in W)if(c1(W,V))J[V]=W[V]}return J},l1=(J)=>{let Q=0;for(let V=0,q=J.length;V<q;V++)Q+=J[V].length;let W=new Uint8Array(Q);for(let V=0,q=0,X=J.length;V<X;V++){let K=J[V];W.set(K,q),q+=K.length}return W},x0={assign:d1,flattenChunks:l1},TJ=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(J){TJ=!1}var Q0=new Uint8Array(256);for(let J=0;J<256;J++)Q0[J]=J>=252?6:J>=248?5:J>=240?4:J>=224?3:J>=192?2:1;Q0[254]=Q0[254]=1;var i1=(J)=>{if(typeof TextEncoder==="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(J);let Q,W,V,q,X,K=J.length,Y=0;for(q=0;q<K;q++){if(W=J.charCodeAt(q),(W&64512)===55296&&q+1<K){if(V=J.charCodeAt(q+1),(V&64512)===56320)W=65536+(W-55296<<10)+(V-56320),q++}Y+=W<128?1:W<2048?2:W<65536?3:4}Q=new Uint8Array(Y);for(X=0,q=0;X<Y;q++){if(W=J.charCodeAt(q),(W&64512)===55296&&q+1<K){if(V=J.charCodeAt(q+1),(V&64512)===56320)W=65536+(W-55296<<10)+(V-56320),q++}if(W<128)Q[X++]=W;else if(W<2048)Q[X++]=192|W>>>6,Q[X++]=128|W&63;else if(W<65536)Q[X++]=224|W>>>12,Q[X++]=128|W>>>6&63,Q[X++]=128|W&63;else Q[X++]=240|W>>>18,Q[X++]=128|W>>>12&63,Q[X++]=128|W>>>6&63,Q[X++]=128|W&63}return Q},n1=(J,Q)=>{if(Q<65534){if(J.subarray&&TJ)return String.fromCharCode.apply(null,J.length===Q?J:J.subarray(0,Q))}let W="";for(let V=0;V<Q;V++)W+=String.fromCharCode(J[V]);return W},r1=(J,Q)=>{let W=Q||J.length;if(typeof TextDecoder==="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(J.subarray(0,Q));let V,q,X=Array(W*2);for(q=0,V=0;V<W;){let K=J[V++];if(K<128){X[q++]=K;continue}let Y=Q0[K];if(Y>4){X[q++]=65533,V+=Y-1;continue}K&=Y===2?31:Y===3?15:7;while(Y>1&&V<W)K=K<<6|J[V++]&63,Y--;if(Y>1){X[q++]=65533;continue}if(K<65536)X[q++]=K;else K-=65536,X[q++]=55296|K>>10&1023,X[q++]=56320|K&1023}return n1(X,q)},o1=(J,Q)=>{if(Q=Q||J.length,Q>J.length)Q=J.length;let W=Q-1;while(W>=0&&(J[W]&192)===128)W--;if(W<0)return Q;if(W===0)return Q;return W+Q0[J[W]]>Q?W:Q},V0={string2buf:i1,buf2string:r1,utf8border:o1};function a1(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var vJ=a1,EJ=Object.prototype.toString,{Z_NO_FLUSH:s1,Z_SYNC_FLUSH:t1,Z_FULL_FLUSH:e1,Z_FINISH:JW,Z_OK:O0,Z_STREAM_END:WW,Z_DEFAULT_COMPRESSION:QW,Z_DEFAULT_STRATEGY:VW,Z_DEFLATED:qW}=x6;function G0(J){this.options=x0.assign({level:QW,method:qW,chunkSize:16384,windowBits:15,memLevel:8,strategy:VW},J||{});let Q=this.options;if(Q.raw&&Q.windowBits>0)Q.windowBits=-Q.windowBits;else if(Q.gzip&&Q.windowBits>0&&Q.windowBits<16)Q.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new vJ,this.strm.avail_out=0;let W=o6.deflateInit2(this.strm,Q.level,Q.method,Q.windowBits,Q.memLevel,Q.strategy);if(W!==O0)throw Error(O6[W]);if(Q.header)o6.deflateSetHeader(this.strm,Q.header);if(Q.dictionary){let V;if(typeof Q.dictionary==="string")V=V0.string2buf(Q.dictionary);else if(EJ.call(Q.dictionary)==="[object ArrayBuffer]")V=new Uint8Array(Q.dictionary);else V=Q.dictionary;if(W=o6.deflateSetDictionary(this.strm,V),W!==O0)throw Error(O6[W]);this._dict_set=!0}}G0.prototype.push=function(J,Q){let W=this.strm,V=this.options.chunkSize,q,X;if(this.ended)return!1;if(Q===~~Q)X=Q;else X=Q===!0?JW:s1;if(typeof J==="string")W.input=V0.string2buf(J);else if(EJ.call(J)==="[object ArrayBuffer]")W.input=new Uint8Array(J);else W.input=J;W.next_in=0,W.avail_in=W.input.length;for(;;){if(W.avail_out===0)W.output=new Uint8Array(V),W.next_out=0,W.avail_out=V;if((X===t1||X===e1)&&W.avail_out<=6){this.onData(W.output.subarray(0,W.next_out)),W.avail_out=0;continue}if(q=o6.deflate(W,X),q===WW){if(W.next_out>0)this.onData(W.output.subarray(0,W.next_out));return q=o6.deflateEnd(this.strm),this.onEnd(q),this.ended=!0,q===O0}if(W.avail_out===0){this.onData(W.output);continue}if(X>0&&W.next_out>0){this.onData(W.output.subarray(0,W.next_out)),W.avail_out=0;continue}if(W.avail_in===0)break}return!0};G0.prototype.onData=function(J){this.chunks.push(J)};G0.prototype.onEnd=function(J){if(J===O0)this.result=x0.flattenChunks(this.chunks);this.chunks=[],this.err=J,this.msg=this.strm.msg};function G8(J,Q){let W=new G0(Q);if(W.push(J,!0),W.err)throw W.msg||O6[W.err];return W.result}function XW(J,Q){return Q=Q||{},Q.raw=!0,G8(J,Q)}function YW(J,Q){return Q=Q||{},Q.gzip=!0,G8(J,Q)}var GW=G0,PW=G8,KW=XW,UW=YW,FW=x6,ZW={Deflate:GW,deflate:PW,deflateRaw:KW,gzip:UW,constants:FW},B0=16209,zW=16191,HW=function(Q,W){let V,q,X,K,Y,z,G,P,k,Z,F,$,w,L,C,O,A,B,T,m,I,f,E,x,S=Q.state;V=Q.next_in,E=Q.input,q=V+(Q.avail_in-5),X=Q.next_out,x=Q.output,K=X-(W-Q.avail_out),Y=X+(Q.avail_out-257),z=S.dmax,G=S.wsize,P=S.whave,k=S.wnext,Z=S.window,F=S.hold,$=S.bits,w=S.lencode,L=S.distcode,C=(1<<S.lenbits)-1,O=(1<<S.distbits)-1;J:do{if($<15)F+=E[V++]<<$,$+=8,F+=E[V++]<<$,$+=8;A=w[F&C];W:for(;;){if(B=A>>>24,F>>>=B,$-=B,B=A>>>16&255,B===0)x[X++]=A&65535;else if(B&16){if(T=A&65535,B&=15,B){if($<B)F+=E[V++]<<$,$+=8;T+=F&(1<<B)-1,F>>>=B,$-=B}if($<15)F+=E[V++]<<$,$+=8,F+=E[V++]<<$,$+=8;A=L[F&O];Q:for(;;){if(B=A>>>24,F>>>=B,$-=B,B=A>>>16&255,B&16){if(m=A&65535,B&=15,$<B){if(F+=E[V++]<<$,$+=8,$<B)F+=E[V++]<<$,$+=8}if(m+=F&(1<<B)-1,m>z){Q.msg="invalid distance too far back",S.mode=B0;break J}if(F>>>=B,$-=B,B=X-K,m>B){if(B=m-B,B>P){if(S.sane){Q.msg="invalid distance too far back",S.mode=B0;break J}}if(I=0,f=Z,k===0){if(I+=G-B,B<T){T-=B;do x[X++]=Z[I++];while(--B);I=X-m,f=x}}else if(k<B){if(I+=G+k-B,B-=k,B<T){T-=B;do x[X++]=Z[I++];while(--B);if(I=0,k<T){B=k,T-=B;do x[X++]=Z[I++];while(--B);I=X-m,f=x}}}else if(I+=k-B,B<T){T-=B;do x[X++]=Z[I++];while(--B);I=X-m,f=x}while(T>2)x[X++]=f[I++],x[X++]=f[I++],x[X++]=f[I++],T-=3;if(T){if(x[X++]=f[I++],T>1)x[X++]=f[I++]}}else{I=X-m;do x[X++]=x[I++],x[X++]=x[I++],x[X++]=x[I++],T-=3;while(T>2);if(T){if(x[X++]=x[I++],T>1)x[X++]=x[I++]}}}else if((B&64)===0){A=L[(A&65535)+(F&(1<<B)-1)];continue Q}else{Q.msg="invalid distance code",S.mode=B0;break J}break}}else if((B&64)===0){A=w[(A&65535)+(F&(1<<B)-1)];continue W}else if(B&32){S.mode=zW;break J}else{Q.msg="invalid literal/length code",S.mode=B0;break J}break}}while(V<q&&X<Y);T=$>>3,V-=T,$-=T<<3,F&=(1<<$)-1,Q.next_in=V,Q.next_out=X,Q.avail_in=V<q?5+(q-V):5-(V-q),Q.avail_out=X<Y?257+(Y-X):257-(X-Y),S.hold=F,S.bits=$;return},v6=15,y8=852,f8=592,b8=0,p0=1,h8=2,$W=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),kW=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),BW=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),jW=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),MW=(J,Q,W,V,q,X,K,Y)=>{let z=Y.bits,G=0,P=0,k=0,Z=0,F=0,$=0,w=0,L=0,C=0,O=0,A,B,T,m,I,f=null,E,x=new Uint16Array(v6+1),S=new Uint16Array(v6+1),s=null,u6,B6,V6;for(G=0;G<=v6;G++)x[G]=0;for(P=0;P<V;P++)x[Q[W+P]]++;F=z;for(Z=v6;Z>=1;Z--)if(x[Z]!==0)break;if(F>Z)F=Z;if(Z===0)return q[X++]=20971520,q[X++]=20971520,Y.bits=1,0;for(k=1;k<Z;k++)if(x[k]!==0)break;if(F<k)F=k;L=1;for(G=1;G<=v6;G++)if(L<<=1,L-=x[G],L<0)return-1;if(L>0&&(J===b8||Z!==1))return-1;S[1]=0;for(G=1;G<v6;G++)S[G+1]=S[G]+x[G];for(P=0;P<V;P++)if(Q[W+P]!==0)K[S[Q[W+P]]++]=P;if(J===b8)f=s=K,E=20;else if(J===p0)f=$W,s=kW,E=257;else f=BW,s=jW,E=0;if(O=0,P=0,G=k,I=X,$=F,w=0,T=-1,C=1<<F,m=C-1,J===p0&&C>y8||J===h8&&C>f8)return 1;for(;;){if(u6=G-w,K[P]+1<E)B6=0,V6=K[P];else if(K[P]>=E)B6=s[K[P]-E],V6=f[K[P]-E];else B6=96,V6=0;A=1<<G-w,B=1<<$,k=B;do B-=A,q[I+(O>>w)+B]=u6<<24|B6<<16|V6|0;while(B!==0);A=1<<G-1;while(O&A)A>>=1;if(A!==0)O&=A-1,O+=A;else O=0;if(P++,--x[G]===0){if(G===Z)break;G=Q[W+K[P]]}if(G>F&&(O&m)!==T){if(w===0)w=F;I+=k,$=G-w,L=1<<$;while($+w<Z){if(L-=x[$+w],L<=0)break;$++,L<<=1}if(C+=1<<$,J===p0&&C>y8||J===h8&&C>f8)return 1;T=O&m,q[T]=F<<24|$<<16|I-X|0}}if(O!==0)q[I+O]=G-w<<24|4194304|0;return Y.bits=F,0},a6=MW,CW=0,gJ=1,yJ=2,{Z_FINISH:p8,Z_BLOCK:LW,Z_TREES:j0,Z_OK:I6,Z_STREAM_END:RW,Z_NEED_DICT:OW,Z_STREAM_ERROR:Q6,Z_DATA_ERROR:fJ,Z_MEM_ERROR:bJ,Z_BUF_ERROR:DW,Z_DEFLATED:u8}=x6,w0=16180,_8=16181,m8=16182,c8=16183,d8=16184,l8=16185,i8=16186,n8=16187,r8=16188,o8=16189,D0=16190,P6=16191,u0=16192,a8=16193,_0=16194,s8=16195,t8=16196,e8=16197,JJ=16198,M0=16199,C0=16200,WJ=16201,QJ=16202,VJ=16203,qJ=16204,XJ=16205,m0=16206,YJ=16207,GJ=16208,p=16209,hJ=16210,pJ=16211,IW=852,xW=592,wW=15,NW=wW,PJ=(J)=>{return(J>>>24&255)+(J>>>8&65280)+((J&65280)<<8)+((J&255)<<24)};function AW(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var w6=(J)=>{if(!J)return 1;let Q=J.state;if(!Q||Q.strm!==J||Q.mode<w0||Q.mode>pJ)return 1;return 0},uJ=(J)=>{if(w6(J))return Q6;let Q=J.state;if(J.total_in=J.total_out=Q.total=0,J.msg="",Q.wrap)J.adler=Q.wrap&1;return Q.mode=w0,Q.last=0,Q.havedict=0,Q.flags=-1,Q.dmax=32768,Q.head=null,Q.hold=0,Q.bits=0,Q.lencode=Q.lendyn=new Int32Array(IW),Q.distcode=Q.distdyn=new Int32Array(xW),Q.sane=1,Q.back=-1,I6},_J=(J)=>{if(w6(J))return Q6;let Q=J.state;return Q.wsize=0,Q.whave=0,Q.wnext=0,uJ(J)},mJ=(J,Q)=>{let W;if(w6(J))return Q6;let V=J.state;if(Q<0)W=0,Q=-Q;else if(W=(Q>>4)+5,Q<48)Q&=15;if(Q&&(Q<8||Q>15))return Q6;if(V.window!==null&&V.wbits!==Q)V.window=null;return V.wrap=W,V.wbits=Q,_J(J)},cJ=(J,Q)=>{if(!J)return Q6;let W=new AW;J.state=W,W.strm=J,W.window=null,W.mode=w0;let V=mJ(J,Q);if(V!==I6)J.state=null;return V},SW=(J)=>{return cJ(J,NW)},KJ=!0,c0,d0,TW=(J)=>{if(KJ){c0=new Int32Array(512),d0=new Int32Array(32);let Q=0;while(Q<144)J.lens[Q++]=8;while(Q<256)J.lens[Q++]=9;while(Q<280)J.lens[Q++]=7;while(Q<288)J.lens[Q++]=8;a6(gJ,J.lens,0,288,c0,0,J.work,{bits:9}),Q=0;while(Q<32)J.lens[Q++]=5;a6(yJ,J.lens,0,32,d0,0,J.work,{bits:5}),KJ=!1}J.lencode=c0,J.lenbits=9,J.distcode=d0,J.distbits=5},dJ=(J,Q,W,V)=>{let q,X=J.state;if(X.window===null)X.wsize=1<<X.wbits,X.wnext=0,X.whave=0,X.window=new Uint8Array(X.wsize);if(V>=X.wsize)X.window.set(Q.subarray(W-X.wsize,W),0),X.wnext=0,X.whave=X.wsize;else{if(q=X.wsize-X.wnext,q>V)q=V;if(X.window.set(Q.subarray(W-V,W-V+q),X.wnext),V-=q,V)X.window.set(Q.subarray(W-V,W),0),X.wnext=V,X.whave=X.wsize;else{if(X.wnext+=q,X.wnext===X.wsize)X.wnext=0;if(X.whave<X.wsize)X.whave+=q}}return 0},vW=(J,Q)=>{let W,V,q,X,K,Y,z,G,P,k,Z,F,$,w,L=0,C,O,A,B,T,m,I,f,E=new Uint8Array(4),x,S,s=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(w6(J)||!J.output||!J.input&&J.avail_in!==0)return Q6;if(W=J.state,W.mode===P6)W.mode=u0;K=J.next_out,q=J.output,z=J.avail_out,X=J.next_in,V=J.input,Y=J.avail_in,G=W.hold,P=W.bits,k=Y,Z=z,f=I6;J:for(;;)switch(W.mode){case w0:if(W.wrap===0){W.mode=u0;break}while(P<16){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(W.wrap&2&&G===35615){if(W.wbits===0)W.wbits=15;W.check=0,E[0]=G&255,E[1]=G>>>8&255,W.check=d(W.check,E,2,0),G=0,P=0,W.mode=_8;break}if(W.head)W.head.done=!1;if(!(W.wrap&1)||(((G&255)<<8)+(G>>8))%31){J.msg="incorrect header check",W.mode=p;break}if((G&15)!==u8){J.msg="unknown compression method",W.mode=p;break}if(G>>>=4,P-=4,I=(G&15)+8,W.wbits===0)W.wbits=I;if(I>15||I>W.wbits){J.msg="invalid window size",W.mode=p;break}W.dmax=1<<W.wbits,W.flags=0,J.adler=W.check=1,W.mode=G&512?o8:P6,G=0,P=0;break;case _8:while(P<16){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(W.flags=G,(W.flags&255)!==u8){J.msg="unknown compression method",W.mode=p;break}if(W.flags&57344){J.msg="unknown header flags set",W.mode=p;break}if(W.head)W.head.text=G>>8&1;if(W.flags&512&&W.wrap&4)E[0]=G&255,E[1]=G>>>8&255,W.check=d(W.check,E,2,0);G=0,P=0,W.mode=m8;case m8:while(P<32){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(W.head)W.head.time=G;if(W.flags&512&&W.wrap&4)E[0]=G&255,E[1]=G>>>8&255,E[2]=G>>>16&255,E[3]=G>>>24&255,W.check=d(W.check,E,4,0);G=0,P=0,W.mode=c8;case c8:while(P<16){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(W.head)W.head.xflags=G&255,W.head.os=G>>8;if(W.flags&512&&W.wrap&4)E[0]=G&255,E[1]=G>>>8&255,W.check=d(W.check,E,2,0);G=0,P=0,W.mode=d8;case d8:if(W.flags&1024){while(P<16){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(W.length=G,W.head)W.head.extra_len=G;if(W.flags&512&&W.wrap&4)E[0]=G&255,E[1]=G>>>8&255,W.check=d(W.check,E,2,0);G=0,P=0}else if(W.head)W.head.extra=null;W.mode=l8;case l8:if(W.flags&1024){if(F=W.length,F>Y)F=Y;if(F){if(W.head){if(I=W.head.extra_len-W.length,!W.head.extra)W.head.extra=new Uint8Array(W.head.extra_len);W.head.extra.set(V.subarray(X,X+F),I)}if(W.flags&512&&W.wrap&4)W.check=d(W.check,V,F,X);Y-=F,X+=F,W.length-=F}if(W.length)break J}W.length=0,W.mode=i8;case i8:if(W.flags&2048){if(Y===0)break J;F=0;do if(I=V[X+F++],W.head&&I&&W.length<65536)W.head.name+=String.fromCharCode(I);while(I&&F<Y);if(W.flags&512&&W.wrap&4)W.check=d(W.check,V,F,X);if(Y-=F,X+=F,I)break J}else if(W.head)W.head.name=null;W.length=0,W.mode=n8;case n8:if(W.flags&4096){if(Y===0)break J;F=0;do if(I=V[X+F++],W.head&&I&&W.length<65536)W.head.comment+=String.fromCharCode(I);while(I&&F<Y);if(W.flags&512&&W.wrap&4)W.check=d(W.check,V,F,X);if(Y-=F,X+=F,I)break J}else if(W.head)W.head.comment=null;W.mode=r8;case r8:if(W.flags&512){while(P<16){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(W.wrap&4&&G!==(W.check&65535)){J.msg="header crc mismatch",W.mode=p;break}G=0,P=0}if(W.head)W.head.hcrc=W.flags>>9&1,W.head.done=!0;J.adler=W.check=0,W.mode=P6;break;case o8:while(P<32){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}J.adler=W.check=PJ(G),G=0,P=0,W.mode=D0;case D0:if(W.havedict===0)return J.next_out=K,J.avail_out=z,J.next_in=X,J.avail_in=Y,W.hold=G,W.bits=P,OW;J.adler=W.check=1,W.mode=P6;case P6:if(Q===LW||Q===j0)break J;case u0:if(W.last){G>>>=P&7,P-=P&7,W.mode=m0;break}while(P<3){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}switch(W.last=G&1,G>>>=1,P-=1,G&3){case 0:W.mode=a8;break;case 1:if(TW(W),W.mode=M0,Q===j0){G>>>=2,P-=2;break J}break;case 2:W.mode=t8;break;case 3:J.msg="invalid block type",W.mode=p}G>>>=2,P-=2;break;case a8:G>>>=P&7,P-=P&7;while(P<32){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if((G&65535)!==(G>>>16^65535)){J.msg="invalid stored block lengths",W.mode=p;break}if(W.length=G&65535,G=0,P=0,W.mode=_0,Q===j0)break J;case _0:W.mode=s8;case s8:if(F=W.length,F){if(F>Y)F=Y;if(F>z)F=z;if(F===0)break J;q.set(V.subarray(X,X+F),K),Y-=F,X+=F,z-=F,K+=F,W.length-=F;break}W.mode=P6;break;case t8:while(P<14){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(W.nlen=(G&31)+257,G>>>=5,P-=5,W.ndist=(G&31)+1,G>>>=5,P-=5,W.ncode=(G&15)+4,G>>>=4,P-=4,W.nlen>286||W.ndist>30){J.msg="too many length or distance symbols",W.mode=p;break}W.have=0,W.mode=e8;case e8:while(W.have<W.ncode){while(P<3){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}W.lens[s[W.have++]]=G&7,G>>>=3,P-=3}while(W.have<19)W.lens[s[W.have++]]=0;if(W.lencode=W.lendyn,W.lenbits=7,x={bits:W.lenbits},f=a6(CW,W.lens,0,19,W.lencode,0,W.work,x),W.lenbits=x.bits,f){J.msg="invalid code lengths set",W.mode=p;break}W.have=0,W.mode=JJ;case JJ:while(W.have<W.nlen+W.ndist){for(;;){if(L=W.lencode[G&(1<<W.lenbits)-1],C=L>>>24,O=L>>>16&255,A=L&65535,C<=P)break;if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(A<16)G>>>=C,P-=C,W.lens[W.have++]=A;else{if(A===16){S=C+2;while(P<S){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(G>>>=C,P-=C,W.have===0){J.msg="invalid bit length repeat",W.mode=p;break}I=W.lens[W.have-1],F=3+(G&3),G>>>=2,P-=2}else if(A===17){S=C+3;while(P<S){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}G>>>=C,P-=C,I=0,F=3+(G&7),G>>>=3,P-=3}else{S=C+7;while(P<S){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}G>>>=C,P-=C,I=0,F=11+(G&127),G>>>=7,P-=7}if(W.have+F>W.nlen+W.ndist){J.msg="invalid bit length repeat",W.mode=p;break}while(F--)W.lens[W.have++]=I}}if(W.mode===p)break;if(W.lens[256]===0){J.msg="invalid code -- missing end-of-block",W.mode=p;break}if(W.lenbits=9,x={bits:W.lenbits},f=a6(gJ,W.lens,0,W.nlen,W.lencode,0,W.work,x),W.lenbits=x.bits,f){J.msg="invalid literal/lengths set",W.mode=p;break}if(W.distbits=6,W.distcode=W.distdyn,x={bits:W.distbits},f=a6(yJ,W.lens,W.nlen,W.ndist,W.distcode,0,W.work,x),W.distbits=x.bits,f){J.msg="invalid distances set",W.mode=p;break}if(W.mode=M0,Q===j0)break J;case M0:W.mode=C0;case C0:if(Y>=6&&z>=258){if(J.next_out=K,J.avail_out=z,J.next_in=X,J.avail_in=Y,W.hold=G,W.bits=P,HW(J,Z),K=J.next_out,q=J.output,z=J.avail_out,X=J.next_in,V=J.input,Y=J.avail_in,G=W.hold,P=W.bits,W.mode===P6)W.back=-1;break}W.back=0;for(;;){if(L=W.lencode[G&(1<<W.lenbits)-1],C=L>>>24,O=L>>>16&255,A=L&65535,C<=P)break;if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(O&&(O&240)===0){B=C,T=O,m=A;for(;;){if(L=W.lencode[m+((G&(1<<B+T)-1)>>B)],C=L>>>24,O=L>>>16&255,A=L&65535,B+C<=P)break;if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}G>>>=B,P-=B,W.back+=B}if(G>>>=C,P-=C,W.back+=C,W.length=A,O===0){W.mode=XJ;break}if(O&32){W.back=-1,W.mode=P6;break}if(O&64){J.msg="invalid literal/length code",W.mode=p;break}W.extra=O&15,W.mode=WJ;case WJ:if(W.extra){S=W.extra;while(P<S){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}W.length+=G&(1<<W.extra)-1,G>>>=W.extra,P-=W.extra,W.back+=W.extra}W.was=W.length,W.mode=QJ;case QJ:for(;;){if(L=W.distcode[G&(1<<W.distbits)-1],C=L>>>24,O=L>>>16&255,A=L&65535,C<=P)break;if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if((O&240)===0){B=C,T=O,m=A;for(;;){if(L=W.distcode[m+((G&(1<<B+T)-1)>>B)],C=L>>>24,O=L>>>16&255,A=L&65535,B+C<=P)break;if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}G>>>=B,P-=B,W.back+=B}if(G>>>=C,P-=C,W.back+=C,O&64){J.msg="invalid distance code",W.mode=p;break}W.offset=A,W.extra=O&15,W.mode=VJ;case VJ:if(W.extra){S=W.extra;while(P<S){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}W.offset+=G&(1<<W.extra)-1,G>>>=W.extra,P-=W.extra,W.back+=W.extra}if(W.offset>W.dmax){J.msg="invalid distance too far back",W.mode=p;break}W.mode=qJ;case qJ:if(z===0)break J;if(F=Z-z,W.offset>F){if(F=W.offset-F,F>W.whave){if(W.sane){J.msg="invalid distance too far back",W.mode=p;break}}if(F>W.wnext)F-=W.wnext,$=W.wsize-F;else $=W.wnext-F;if(F>W.length)F=W.length;w=W.window}else w=q,$=K-W.offset,F=W.length;if(F>z)F=z;z-=F,W.length-=F;do q[K++]=w[$++];while(--F);if(W.length===0)W.mode=C0;break;case XJ:if(z===0)break J;q[K++]=W.length,z--,W.mode=C0;break;case m0:if(W.wrap){while(P<32){if(Y===0)break J;Y--,G|=V[X++]<<P,P+=8}if(Z-=z,J.total_out+=Z,W.total+=Z,W.wrap&4&&Z)J.adler=W.check=W.flags?d(W.check,q,Z,K-Z):W0(W.check,q,Z,K-Z);if(Z=z,W.wrap&4&&(W.flags?G:PJ(G))!==W.check){J.msg="incorrect data check",W.mode=p;break}G=0,P=0}W.mode=YJ;case YJ:if(W.wrap&&W.flags){while(P<32){if(Y===0)break J;Y--,G+=V[X++]<<P,P+=8}if(W.wrap&4&&G!==(W.total&4294967295)){J.msg="incorrect length check",W.mode=p;break}G=0,P=0}W.mode=GJ;case GJ:f=RW;break J;case p:f=fJ;break J;case hJ:return bJ;case pJ:default:return Q6}if(J.next_out=K,J.avail_out=z,J.next_in=X,J.avail_in=Y,W.hold=G,W.bits=P,W.wsize||Z!==J.avail_out&&W.mode<p&&(W.mode<m0||Q!==p8)){if(dJ(J,J.output,J.next_out,Z-J.avail_out));}if(k-=J.avail_in,Z-=J.avail_out,J.total_in+=k,J.total_out+=Z,W.total+=Z,W.wrap&4&&Z)J.adler=W.check=W.flags?d(W.check,q,Z,J.next_out-Z):W0(W.check,q,Z,J.next_out-Z);if(J.data_type=W.bits+(W.last?64:0)+(W.mode===P6?128:0)+(W.mode===M0||W.mode===_0?256:0),(k===0&&Z===0||Q===p8)&&f===I6)f=DW;return f},EW=(J)=>{if(w6(J))return Q6;let Q=J.state;if(Q.window)Q.window=null;return J.state=null,I6},gW=(J,Q)=>{if(w6(J))return Q6;let W=J.state;if((W.wrap&2)===0)return Q6;return W.head=Q,Q.done=!1,I6},yW=(J,Q)=>{let W=Q.length,V,q,X;if(w6(J))return Q6;if(V=J.state,V.wrap!==0&&V.mode!==D0)return Q6;if(V.mode===D0){if(q=1,q=W0(q,Q,W,0),q!==V.check)return fJ}if(X=dJ(J,Q,W,W),X)return V.mode=hJ,bJ;return V.havedict=1,I6},fW=_J,bW=mJ,hW=uJ,pW=SW,uW=cJ,_W=vW,mW=EW,cW=gW,dW=yW,lW="pako inflate (from Nodeca project)",U6={inflateReset:fW,inflateReset2:bW,inflateResetKeep:hW,inflateInit:pW,inflateInit2:uW,inflate:_W,inflateEnd:mW,inflateGetHeader:cW,inflateSetDictionary:dW,inflateInfo:lW};function iW(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var nW=iW,lJ=Object.prototype.toString,{Z_NO_FLUSH:rW,Z_FINISH:oW,Z_OK:q0,Z_STREAM_END:l0,Z_NEED_DICT:i0,Z_STREAM_ERROR:aW,Z_DATA_ERROR:UJ,Z_MEM_ERROR:sW}=x6;function P0(J){this.options=x0.assign({chunkSize:65536,windowBits:15,to:""},J||{});let Q=this.options;if(Q.raw&&Q.windowBits>=0&&Q.windowBits<16){if(Q.windowBits=-Q.windowBits,Q.windowBits===0)Q.windowBits=-15}if(Q.windowBits>=0&&Q.windowBits<16&&!(J&&J.windowBits))Q.windowBits+=32;if(Q.windowBits>15&&Q.windowBits<48){if((Q.windowBits&15)===0)Q.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new vJ,this.strm.avail_out=0;let W=U6.inflateInit2(this.strm,Q.windowBits);if(W!==q0)throw Error(O6[W]);if(this.header=new nW,U6.inflateGetHeader(this.strm,this.header),Q.dictionary){if(typeof Q.dictionary==="string")Q.dictionary=V0.string2buf(Q.dictionary);else if(lJ.call(Q.dictionary)==="[object ArrayBuffer]")Q.dictionary=new Uint8Array(Q.dictionary);if(Q.raw){if(W=U6.inflateSetDictionary(this.strm,Q.dictionary),W!==q0)throw Error(O6[W])}}}P0.prototype.push=function(J,Q){let W=this.strm,V=this.options.chunkSize,q=this.options.dictionary,X,K,Y;if(this.ended)return!1;if(Q===~~Q)K=Q;else K=Q===!0?oW:rW;if(lJ.call(J)==="[object ArrayBuffer]")W.input=new Uint8Array(J);else W.input=J;W.next_in=0,W.avail_in=W.input.length;for(;;){if(W.avail_out===0)W.output=new Uint8Array(V),W.next_out=0,W.avail_out=V;if(X=U6.inflate(W,K),X===i0&&q){if(X=U6.inflateSetDictionary(W,q),X===q0)X=U6.inflate(W,K);else if(X===UJ)X=i0}while(W.avail_in>0&&X===l0&&W.state.wrap>0&&J[W.next_in]!==0)U6.inflateReset(W),X=U6.inflate(W,K);switch(X){case aW:case UJ:case i0:case sW:return this.onEnd(X),this.ended=!0,!1}if(Y=W.avail_out,W.next_out){if(W.avail_out===0||X===l0)if(this.options.to==="string"){let z=V0.utf8border(W.output,W.next_out),G=W.next_out-z,P=V0.buf2string(W.output,z);if(W.next_out=G,W.avail_out=V-G,G)W.output.set(W.output.subarray(z,z+G),0);this.onData(P)}else this.onData(W.output.length===W.next_out?W.output:W.output.subarray(0,W.next_out))}if(X===q0&&Y===0)continue;if(X===l0)return X=U6.inflateEnd(this.strm),this.onEnd(X),this.ended=!0,!0;if(W.avail_in===0)break}return!0};P0.prototype.onData=function(J){this.chunks.push(J)};P0.prototype.onEnd=function(J){if(J===q0)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=x0.flattenChunks(this.chunks);this.chunks=[],this.err=J,this.msg=this.strm.msg};function P8(J,Q){let W=new P0(Q);if(W.push(J),W.err)throw W.msg||O6[W.err];return W.result}function tW(J,Q){return Q=Q||{},Q.raw=!0,P8(J,Q)}var eW=P0,J7=P8,W7=tW,Q7=P8,V7=x6,q7={Inflate:eW,inflate:J7,inflateRaw:W7,ungzip:Q7,constants:V7},{Deflate:X7,deflate:Y7,deflateRaw:G7,gzip:P7}=ZW,{Inflate:K7,inflate:U7,inflateRaw:F7,ungzip:Z7}=q7,z7=X7,H7=Y7,$7=G7,k7=P7,B7=K7,j7=U7,M7=F7,C7=Z7,L7=x6,p6={Deflate:z7,deflate:H7,deflateRaw:$7,gzip:k7,Inflate:B7,inflate:j7,inflateRaw:M7,ungzip:C7,constants:L7};var N6=(J)=>J?.physical>Date.now()+7200000;function iJ(J,Q,W){let V=Q.timestamp;if(N6(V))return{resolved:!1};if(Q?.value?.priority===!0&&typeof Q.id==="string"&&Q.id.startsWith("user:")&&"role"in Q.value){let{priority:X,...K}=Q.value;return{resolved:!0,value:K,timestamp:V}}if(Q?.value?.priority!==void 0){let{priority:X,...K}=Q.value;Q={...Q,value:K}}if(!J?.timestamp)return{resolved:!0,value:Q.value,timestamp:V};let q=W.compare(V,J.timestamp);if(q<0)return{resolved:!1};if(q===0&&JSON.stringify(Q.value)<=JSON.stringify(J.value))return{resolved:!1};return{resolved:!0,value:Q.value,timestamp:V}}var F8=(J,Q,W)=>{if(typeof J==="string"&&typeof Q==="string"&&typeof W==="string")return R7(J,Q,W);if(!K8(J)||!K8(Q)||!K8(W))return W;let V={...W};for(let q of new Set([...Object.keys(J),...Object.keys(Q),...Object.keys(W)])){if(U8(J[q],Q[q]))continue;if(!U8(J[q],W[q])&&!U8(Q[q],W[q]))V[q]=F8(J[q],Q[q],W[q]);else if(Q[q]===void 0)delete V[q];else V[q]=Q[q]}return V},K8=(J)=>J!==null&&typeof J==="object"&&!Array.isArray(J),U8=(J,Q)=>J===Q||JSON.stringify(J)===JSON.stringify(Q),nJ=(J,Q)=>{let W=0;while(W<J.length&&W<Q.length&&J[W]===Q[W])W++;let V=0;while(V<J.length-W&&V<Q.length-W&&J[J.length-1-V]===Q[Q.length-1-V])V++;return{from:W,to:J.length-V,ins:Q.slice(W,Q.length-V)}},R7=(J,Q,W)=>{let[V,q]=[nJ(J,Q),nJ(J,W)].sort((X,K)=>X.from-K.from||X.to-K.to);if(V.to>q.from||V.from===q.from&&V.to===q.to)return W;return J.slice(0,V.from)+V.ins+J.slice(V.to,q.from)+q.ins+J.slice(q.to)};function rJ(J,Q=50,W=200){let V=`gdb_oplog_${J}`,q=[];function X(){try{let G=localStorage.getItem(V);q=G?JSON.parse(G):[]}catch(G){log.error("❌ GDB: Failed to load oplog from localStorage:",G),q=[]}}function K(){try{localStorage.setItem(V,JSON.stringify(q))}catch(G){log.error("❌ GDB: Failed to save oplog to localStorage:",G)}}let Y=null;function z(){Y??=setTimeout(()=>{Y=null,K()},W)}return X(),globalThis.document?.addEventListener("visibilitychange",()=>document.visibilityState==="hidden"&&K()),{remove(G){q=q.filter((P)=>P.id!==G),z()},add(G){if(q.push(G),q.length>Q)q.shift();z()},sign({type:G,id:P,sourceId:k,timestamp:Z,originUser:F,originEthAddress:$,signature:w}){let L=q.find((C)=>C.type===G&&(C.id??C.sourceId)===(P??k)&&C.timestamp?.physical===Z?.physical&&C.timestamp?.logical===Z?.logical);if(L&&w)Object.assign(L,{originUser:F,originEthAddress:$,signature:w}),z()},getDelta(G,P){if(!G)return[...q];return q.filter((k)=>P(k.timestamp,G)>0)},getOldest(){return q[0]},clear(){clearTimeout(Y),Y=null,q=[],localStorage.removeItem(V)}}}var O7=()=>{let J=new Map,Q=async(P,k)=>{let Z=J.get(P)??[];J.set(P,Z);let F=Z[Z.length-1]??Promise.resolve(),$,w=new Promise((L)=>$=L);Z.push(w);try{return await F,await k()}finally{if(Z.shift(),$(),!Z.length)J.delete(P)}},W=(P,k)=>navigator.locks?.request?.(`opfs:${P}`,{mode:"exclusive"},k)??Q(P,k),V=async()=>{try{let P=await navigator.storage.getDirectory(),Z=await(await P.getFileHandle("~opfs-sync-test",{create:!0})).createSyncAccessHandle?.();return await Z?.close(),await P.removeEntry("~opfs-sync-test"),!!Z}catch{return!1}},q="idb",X=(async()=>{if(await V()){q="sync";return}try{let P=await navigator.storage.getDirectory(),Z=await(await P.getFileHandle("~opfs-async-test",{create:!0})).createWritable?.();await Z?.close(),await P.removeEntry("~opfs-async-test"),q=Z?"async":"idb"}catch{q="idb"}})(),K=navigator.storage.getDirectory(),Y=(()=>{let P,k=()=>P??=new Promise((Z,F)=>{let $=indexedDB.open("opfs-fallback-db",1);$.onupgradeneeded=()=>$.result.createObjectStore("files"),$.onsuccess=()=>Z($.result),$.onerror=()=>F($.error)});return{get:async(Z)=>{let F=await k();return new Promise(($,w)=>{let C=F.transaction("files","readonly").objectStore("files").get(Z);C.onsuccess=()=>$(C.result||new Uint8Array),C.onerror=()=>w(C.error)})},set:async(Z,F)=>{let $=await k();return new Promise((w,L)=>{let O=$.transaction("files","readwrite").objectStore("files").put(F,Z);O.onsuccess=()=>w(),O.onerror=()=>L(O.error)})}}})(),z=async(P)=>{await X;try{if(q==="idb"){let L=await Y.get(P);self.postMessage({type:"loaded",name:P,data:L},[L.buffer]);return}let Z=await(await K).getFileHandle(P).catch(()=>null);if(!Z){let L=new Uint8Array;self.postMessage({type:"loaded",name:P,data:L},[L.buffer]);return}let F=async()=>{try{let L=await Z.createSyncAccessHandle();try{let C=L.getSize(),O=new Uint8Array(C),A=L.read(O,{at:0}),B=O.slice(0,A);self.postMessage({type:"loaded",name:P,data:B},[B.buffer])}finally{L.close()}}catch(L){if(L?.name==="NoModificationAllowedError"){let C=await Z.getFile(),O=new Uint8Array(await C.arrayBuffer());self.postMessage({type:"loaded",name:P,data:O},[O.buffer])}else throw L}};if(q==="sync"){await W(P,F);return}let $=await Z.getFile(),w=new Uint8Array(await $.arrayBuffer());self.postMessage({type:"loaded",name:P,data:w},[w.buffer])}catch(k){if(k?.name==="NotFoundError"){let Z=new Uint8Array;self.postMessage({type:"loaded",name:P,data:Z},[Z.buffer]);return}self.postMessage({type:"error",name:P,message:k?.message??"Error reading file"})}},G=async(P,k)=>{if(await X,!(k instanceof Uint8Array))return{type:"error",name:P,message:"Content must be a Uint8Array"};return W(P,async()=>{try{if(q==="idb")return await Y.set(P,k),{type:"saved",name:P};let F=await(await K).getFileHandle(P,{create:!0});if(q==="sync"){let $=await F.createSyncAccessHandle();try{$.truncate(0),$.write(k,{at:0}),$.flush()}finally{$.close()}}else{let $=await F.createWritable();try{await $.write(k)}finally{await $.close()}}return{type:"saved",name:P}}catch(Z){return{type:"error",name:P,message:Z?.message??"Error saving file"}}})};self.onmessage=async({data:P})=>{let{type:k,name:Z,content:F}=P;await X;let $={load:()=>z(Z),save:()=>G(Z,F)};try{let w=$[k],L=w?await w():{type:"error",message:`Unrecognized action type: ${k}`};if(L&&L.type)self.postMessage(L)}catch(w){self.postMessage({type:"error",name:Z,message:w?.message??"Unexpected worker error"})}}},oJ=O7;var Z8=Math.PI/180,aJ=(J)=>Math.sin(J*Z8/2)**2,D7=new Intl.Collator().compare,K0={$eq:(J,Q)=>J===Q,$ne:(J,Q)=>J!==Q,$gt:(J,Q)=>J>Q,$gte:(J,Q)=>J>=Q,$lt:(J,Q)=>J<Q,$lte:(J,Q)=>J<=Q,$in:(J,Q)=>Array.isArray(Q)&&(Array.isArray(J)?J.some((W)=>Q.includes(W)):Q.includes(J)),$between:(J,[Q,W])=>J>=Q&&J<=W,$near:(J,{latitude:Q,longitude:W,radius:V})=>{let q=J?.value??J,X=q?.latitude??q?.location?.latitude,K=q?.longitude??q?.location?.longitude;return[X,K,Q,W,V].every(Number.isFinite)&&aJ(X-Q)+Math.cos(Q*Z8)*Math.cos(X*Z8)*aJ(K-W)<=Math.sin(Math.min(V/12742,Math.PI/2))**2},$exists:(J,Q)=>Q?J!==void 0:J===void 0,$startsWith:(J,Q)=>typeof J==="string"&&J.startsWith(Q),$endsWith:(J,Q)=>typeof J==="string"&&J.endsWith(Q),$contains:(J,Q)=>typeof J==="string"&&J.includes(Q),$text:{global:(J,Q)=>{let W=(q)=>String(q).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),V=W(Q);return Object.values(J).some((q)=>typeof q==="object"?null.fieldSearch(q,V):W(q).includes(V))},field:(J,Q)=>{let W=(q)=>String(q).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),V=W(Q);return Array.isArray(J)?J.some((q)=>W(q).includes(V)):W(J).includes(V)}},$like:(J,Q)=>typeof J==="string"&&typeof Q==="string"&&new RegExp(`^${Q.replace(/%/g,".*").replace(/_/g,".")}$`,"i").test(J),$regex:(J,Q)=>typeof J==="string"&&new RegExp(Q.$regex||Q,"i").test(J),$and:(J,Q,W)=>Q.every((V)=>W.createFilter(V,W.allNodes)(J)),$or:(J,Q,W)=>Q.some((V)=>W.createFilter(V,W.allNodes)(J)),$not:(J,Q,W)=>!W.createFilter(Q,W.allNodes)(J),$edge:(J,Q,W)=>{if(!J.edges?.length||typeof Q!=="object"||Q===null)return!1;let V=W.createFilter(Q,W.allNodes),q=[...J.edges],X=new Set(q).add(J.id),K=[];while(q.length){let Y=q.shift(),z=W.allNodes[Y];if(!z)continue;if(V(z))K.push(z);z.edges?.forEach((G)=>!X.has(G)&&X.add(G)&&q.push(G))}if(K.length)J._edgeResult=K;return K.length>0}},z8=(J,Q)=>Q.split(".").reduce((W,V)=>W&&typeof W==="object"&&(V in W)?W[V]:void 0,J),N0=(J,Q)=>{if(Object.keys(J).length===0)return()=>!0;return(W)=>Object.entries(J).every(([V,q])=>{if(V.startsWith("$"))return K0[V](W,q,{createFilter:N0,allNodes:Q});let X=z8(W.value,V);if(X===void 0)X=z8(W,V);if(q instanceof RegExp)return q.test(String(X));if(typeof q!=="object"||q===null)return K0.$eq(X,q);return Object.entries(q).every(([K,Y])=>{if(K==="$text")return K0.$text.field(X,Y);if(K==="$between"&&Y.every((z)=>z instanceof Date))return K0.$between(new Date(X),Y);return K0[K]?.(X,Y,{createFilter:N0,allNodes:Q})??!1})})},H8=(J,Q)=>{let{$edge:W,...V}=Q.query||{},q=N0(V,J),X=Object.values(J).filter(q),Y=[...W?(()=>{let z=N0({$edge:W},J);X.forEach((P)=>z(P));let G=new Map;return X.forEach((P)=>{if(P._edgeResult)P._edgeResult.forEach((k)=>G.set(k.id,k)),delete P._edgeResult}),Array.from(G.values())})():X];if(Q.field){let z=Q.order==="asc"?1:-1,G=Y.map((P)=>[z8(P.value,Q.field),P]);G.sort(([P,k],[Z,F])=>((typeof P==="string"&&typeof Z==="string"?D7(P,Z):(P??0)-(Z??0))||(k.id<F.id?-1:1))*z),Y=G.map(([,P])=>P)}if(Q.$after){let z=Y.findIndex((G)=>G.id===Q.$after);Y=z>=0?Y.slice(z+1):[]}if(Q.$before){let z=Y.findIndex((G)=>G.id===Q.$before);Y=z>=0?Y.slice(0,z):[]}if(Q.$limit)Y=Y.slice(0,Q.$limit);return Y.map((z)=>({...z,edges:(z.edges??[]).filter((G)=>Object.hasOwn(J,G))}))};function sJ(){let J=Date.now(),Q=0;return{now(){let W=Date.now();return J=Math.max(J,W),Q++,{physical:J,logical:Q}},update(W){if(!W||typeof W.physical!=="number"||typeof W.logical!=="number"){log.warn("⚠️ HybridClock.update received an invalid remote timestamp.",W);return}J=Math.max(J,W.physical),Q=Math.max(Q,W.logical)+1},compare(W,V){if(!W&&!V)return 0;if(!W)return-1;if(!V)return 1;if(W.physical>V.physical)return 1;if(W.physical<V.physical)return-1;if(W.logical>V.logical)return 1;if(W.logical<V.logical)return-1;return 0}}}var I7={sm:()=>import(new URL("./sm.min.js",import.meta.url).href),genosrtc:()=>import(new URL("./genosrtc.min.js",import.meta.url).href)},tJ=(J,Q)=>J.length===Q.length&&J.every((W,V)=>W===Q[V]),$8=(J)=>J&&typeof J==="object"?globalThis.structuredClone?.(J)??JSON.parse(JSON.stringify(J)):J,eJ=(J,Q=16)=>{let W=null,V=null;return(...q)=>{if(!V)V={},V.promise=new Promise((K,Y)=>(V.resolve=K,V.reject=Y));if(W)("cancelIdleCallback"in window?cancelIdleCallback:clearTimeout)(W);let X=async()=>{W=null;let K=V;V=null;try{K.resolve(await J(...q))}catch(Y){K.reject(Y)}};return W="requestIdleCallback"in window?requestIdleCallback(X,{timeout:Q}):setTimeout(X,Q),V.promise}},x7=(J)=>{let Q=null;return()=>{if(Q!==null)return;Q=requestAnimationFrame(()=>{Q=null,J()})}};async function w7(){if(log.info(navigator?.storage?.getDirectory?"✅ OPFS is enabled.":"\uD83D\uDEAB OPFS is not available."),navigator?.storage?.getDirectory)await navigator.storage.getDirectory()}function N7(){let J={nodes:{}};return{get nodes(){return J.nodes},set nodes(Q){J.nodes=Q||{}},upsert(Q,W,V){let q=J.nodes[Q];if(J.nodes[Q]={id:Q,value:W&&typeof W==="object"?$8(W):W,edges:q?.edges?[...q.edges]:[],timestamp:V,...q?.meta&&{meta:q.meta}},q)Object.defineProperty(J.nodes[Q],"prev",{value:{value:q.value,timestamp:q.timestamp}})},get(Q){return J.nodes[Q]||null},link(Q,W,V){let q=J.nodes[Q],X=J.nodes[W];if(q&&X&&!q.edges.includes(W))J.nodes[Q]={...q,edges:[...q.edges,W],timestamp:V}},unlink(Q,W,V){let q=J.nodes[Q];if(q?.edges.includes(W))J.nodes[Q]={...q,edges:q.edges.filter((X)=>X!==W),timestamp:V}},getAllNodes(){return Object.values(J.nodes)},serialize(){return p6.deflate(z0(J.nodes))},deserialize(Q){J.nodes=M6(p6.inflate(new Uint8Array(Q)))}}}async function J5(J,Q={}){Q.debug&&(globalThis.__gdbDebug=!0),log.info("\x1B[36m⚡ GenosDB: Empowering distributed graph databases with real-time synchronization and scalability. Learn more: https://github.com/estebanrfp/gdb ⚡\x1B[0m");let{rtc:W=!1,password:V,sm:q=!1,saveDelay:X=200,oplogSize:K=200}=Q,Y=N7(),z=sJ(),G=rJ(J,K,X),P=[],k=null,Z=[],F=null,$=null,w=null,L=null,C=[],O=null,A=(H)=>{let j=Y.get(H.sourceId);if(!j)return;if(Array.isArray(H.edges))j.edges=[...H.edges];let M=O?.edgeReceipt(H);if(M)j.meta={...j.meta,edges:M}},B=(H,j)=>JSON.stringify(H)===JSON.stringify(j),T={};Object.defineProperties(T,{syncChannel:{get:()=>$},broadcastChannel:{get:()=>w},hybridClock:{get:()=>z},graph:{get:()=>({getAllNodes:()=>Y.getAllNodes(),get:(H)=>Y.get(H)})},worker:{get:()=>F},oplog:{get:()=>G},options:{get:()=>Q},pako:{get:()=>p6},encode:{get:()=>z0},decode:{get:()=>M6},deepClone:{get:()=>$8}});async function m(H,j){try{let M=await I7[H](),N=j&&typeof j==="object"?j:{},h=await M.init?.(T,M,N);if(h)Object.assign(T,h);return M}catch(M){throw log.error(`❌ Initialization of ${H} failed:`,M),M}}function I(){let H=localStorage.getItem(`${J}_time`);k=H?JSON.parse(H):null}function f(H){k=H,localStorage.setItem(`${J}_time`,JSON.stringify(H))}function E(){try{let H=URL.createObjectURL(new Blob([`(${oJ.toString()})()`],{type:"application/javascript"}));F=new Worker(H),URL.revokeObjectURL(H),F.addEventListener("message",({data:j})=>log.info(`\uD83D\uDCBE ${j.name} ${j.type}`)),log.info("⚙️ Worker initialized successfully.")}catch({message:H}){log.error("❌ Failed to initialize worker:",H)}}function x(){let H={...Y.nodes};Z.forEach((j)=>j(H))}let S=x7(()=>x()),s=eJ(async()=>{let H=C.splice(0,C.length);if(!H.length||!$)return!1;try{return await $.send(H),!0}catch(j){return C.unshift(...H),log.warn(`⚠️ live send failed — ${H.length} ops retained for retry:`,j?.message??j),setTimeout(()=>s().catch(()=>{}),1000),!1}},16);async function u6(){try{let j=await((M)=>new Promise((N,h)=>{let v=async({data:U})=>{if(U.type==="loaded"&&U.name===M)F.removeEventListener("message",v),N(new Uint8Array(U.data));else if(U.type==="error")F.removeEventListener("message",v),h(Error(U.message||"Unknown error"))};F.addEventListener("message",v),F.postMessage({type:"load",name:M})}))(`${J}_graph.msgpack`).catch(()=>new Uint8Array);j.byteLength>0?Y.deserialize(j):log.info("\uD83D\uDCBE New database. File will be created on first save.")}catch({message:H}){log.error("❌ Error loading the graph:",H)}}async function B6(){try{let H=Y.serialize();return await((M,N)=>new Promise((h,v)=>{let U=({data:R})=>{if(R.type==="saved"&&R.name===M)F.removeEventListener("message",U),h();else if(R.type==="error")F.removeEventListener("message",U),v(Error(R.message||"Save error"))};F.addEventListener("message",U),F.postMessage({type:"save",name:M,content:N})}))(`${J}_graph.msgpack`,H),w.postMessage("update"),!0}catch({message:H}){throw log.error("❌ Save error:",H),Error("Save failed")}}let V6=eJ(()=>B6(),X),k8=()=>{let H=0,j=0;for(let[M,N]of Object.entries(Y.nodes)){let h=`${M}\x00${N.timestamp.physical}\x00${N.timestamp.logical}`,v=2166136261,U=3386659096;for(let R=0;R<h.length;R++)v=Math.imul(v^h.charCodeAt(R),16777619),U=Math.imul(U^h.charCodeAt(R),16777619);H^=v,j^=U}return`${H>>>0}.${j>>>0}`};async function W5(H){let j=!1,M=null,N=(U)=>{if(!M||z.compare(U,M)>0)M=U},h=(U)=>{try{if(U instanceof Uint8Array)return M6(p6.inflate(U));if(Array.isArray(U))return U;if(U&&typeof U==="object")return M6(p6.inflate(new Uint8Array(Object.values(U))))}catch(R){log.error("❌ deltaSync decode failed",R)}return null},v={upsert:(U)=>{let R=Y.get(U.id);if(!R){for(let y of G.getDelta(null))if(y.type==="remove"&&y.id===U.id&&z.compare(y.timestamp,U.timestamp)>=0)return!1}let{resolved:D,value:c,timestamp:u}=iJ(R,U,z);if(!D)return!1;if(O&&!O.op(U,R))return log.warn(`⚠️ [SYNC-AUTH] upsert denied: ${U.id} (${O.describe(U,R)})`),!1;if(Y.upsert(U.id,c,u),U.base&&R?.prev&&R.mine&&z.compare(U.base,R.prev.timestamp)===0){let y=F8(R.prev.value,R.value,c);if(JSON.stringify(y)!==JSON.stringify(c))queueMicrotask(()=>T.put(y,U.id))}let o=O?.receipt(U,R,Y.get(U.id));if(o)Y.get(U.id).meta=o;return z.update(u),G.add({type:"upsert",id:U.id,timestamp:u}),j=!0,N(u),!0},remove:(U)=>{if(N6(U.timestamp))return;let R=Y.get(U.id);if(!R||z.compare(R.timestamp,U.timestamp)>=0)return;if(O&&!O.op(U,R)){log.warn(`⚠️ [SYNC-AUTH] remove denied: ${U.id} (${O.describe(U,R)})`);return}delete Y.nodes[U.id],z.update(U.timestamp),G.add({type:"remove",id:U.id,value:U.value,timestamp:U.timestamp,originUser:U.originUser,originEthAddress:U.originEthAddress,signature:U.signature}),j=!0,N(U.timestamp)},link:(U)=>{if(N6(U.timestamp))return;let R=Y.get(U.sourceId),D=Y.get(U.targetId);if(!R||!D||z.compare(R.timestamp,U.timestamp)>=0)return;if(R.meta?.edges&&z.compare(R.meta.edges.ts,U.timestamp)>=0)return;if(O&&!O.op(U,R)){log.warn(`⚠️ [SYNC-AUTH] link denied: ${U.sourceId} (${O.describe(U,R)})`);return}Y.link(U.sourceId,U.targetId,U.timestamp),A(U),z.update(U.timestamp),G.add({type:"link",sourceId:U.sourceId,targetId:U.targetId,edges:U.edges,timestamp:U.timestamp,originUser:U.originUser,originEthAddress:U.originEthAddress,signature:U.signature}),j=!0,N(U.timestamp)},unlink:(U)=>{if(N6(U.timestamp))return;let R=Y.get(U.sourceId);if(!R||z.compare(R.timestamp,U.timestamp)>=0)return;if(R.meta?.edges&&z.compare(R.meta.edges.ts,U.timestamp)>=0)return;if(O&&!O.op(U,R)){log.warn(`⚠️ [SYNC-AUTH] unlink denied: ${U.sourceId} (${O.describe(U,R)})`);return}Y.unlink(U.sourceId,U.targetId,U.timestamp),A(U),z.update(U.timestamp),G.add({type:"unlink",sourceId:U.sourceId,targetId:U.targetId,edges:U.edges,timestamp:U.timestamp,originUser:U.originUser,originEthAddress:U.originEthAddress,signature:U.signature}),j=!0,N(U.timestamp)},sync:async({timestamp:U,digest:R})=>{if(R&&R===k8())return log.info("\uD83D\uDFF0 [SYNC] State digests match — nothing to send.");let D=G.getOldest();if(U==null||D&&z.compare(U,D.timestamp)<0)return log.info("\uD83D\uDCA5 [FALLBACK] Peer too far behind → sending FULL state."),$.send([{type:"fullStateSync",graphData:Y.nodes,removals:G.getDelta(null).filter((y)=>y.type==="remove"),timestamp:k}]);let u=G.getDelta(null);if(!u.length)return;let o=u.flatMap((y)=>{if(y.type!=="upsert")return[y];let i=Y.get(y.id);if(!i)return[];return[{...O?.opOf(y.id,i)??{...y,value:i.value},base:i.prev?.timestamp}]});log.info(`\uD83D\uDE80 [DELTA SYNC SENDING] ${o.length} ops.`),await $.send([{type:"deltaSync",operations:o,timestamp:k}])},deltaSync:({operations:U})=>{let R=h(U);if(!Array.isArray(R)){log.warn("⚠️ deltaSync payload not array. Ignored.");return}log.info(`\uD83D\uDEF0️ [DELTA SYNC RECEIVED] ${R.length} ops.`);for(let D of R)if(D&&v[D.type])v[D.type](D);else if(D)log.warn(`\uD83E\uDD37 Unknown op: ${D.type}`)},fullStateSync:async({graphData:U,removals:R,timestamp:D,reciprocal:c})=>{if(!U||typeof U!=="object"){log.error("❌ Invalid full graph data received");return}try{log.info("\uD83D\uDCE6 [FULL SYNC RECEIVED] Merging full graph.");let u=Object.entries(U).sort(([y],[i])=>i.startsWith("user:")-y.startsWith("user:"));for(let[y,i]of u){let _6=O?.opOf(y,i)??{type:"upsert",id:y,value:i.value,timestamp:i.timestamp},_=v.upsert(_6),J6=Y.nodes[y];if(!J6)continue;if(O){let F6=O.edges(y,i,J6);if(F6&&!N6(F6.timestamp))A(F6)}else if(_)J6.edges=[...i.edges??[]]}for(let y of R??[])v.remove(y);let o=new Set(Object.keys(U));if(!c&&Object.keys(Y.nodes).some((y)=>!o.has(y)))$.send([{type:"fullStateSync",graphData:Y.nodes,removals:G.getDelta(null).filter((y)=>y.type==="remove"),timestamp:k,reciprocal:!0}]);if(j=!0,D&&!N6(D))N(D),z.update(D)}catch(u){log.error("❌ Full sync failed:",u)}}};for(let U of H)if(v[U.type])await v[U.type](U);else log.warn(`\uD83E\uDD37 Unknown type: ${U.type}`);if(M&&(!k||z.compare(M,k)>0))log.info(`\uD83D\uDCC8 [GLOBAL TS] Advanced to ${M.logical}`),f(M);if(j)log.info("\uD83D\uDCBE [STATE CHANGED] Saving + emitting."),await V6(),S()}Object.assign(T,{use(H){if(typeof H==="function")P.push(H)},setSyncAuthGate(H){O=H},captureProvenance(H){let j=!1;for(let M of H??[]){if(!M?.signature)continue;if(M.type!=="upsert"){if(G.sign(M),Array.isArray(M.edges)&&B(Y.get(M.sourceId)?.edges,M.edges))A(M),j=!0;continue}let N=Y.get(M.id);if(!N||!B(N.value,M.value))continue;let h=O?.receipt(M,N,N);if(h)N.meta=h,j=!0}if(j)V6()},async put(H,j){let M=z.now();f(M);let N=H?.owner??H?._meta?.owner;j=j??(N?`${N}:${crypto.randomUUID()}`:crypto.randomUUID()),Y.upsert(j,H,M),Object.defineProperty(Y.get(j),"mine",{value:!0}),G.add({type:"upsert",id:j,timestamp:M}),V6();try{C.push({type:"upsert",id:j,value:H,timestamp:M,base:Y.get(j).prev?.timestamp}),s().catch(()=>{})}finally{S()}return j},async link(H,j){let M=z.now();if(!Y.nodes[H]||!Y.nodes[j]){log.warn(`⚠️ One or both nodes (${H}, ${j}) do not exist.`);return}Y.link(H,j,M);let N=[...Y.nodes[H].edges];G.add({type:"link",sourceId:H,targetId:j,edges:N,timestamp:M}),V6(),f(M);try{C.push({type:"link",sourceId:H,targetId:j,edges:N,timestamp:M}),s().catch(()=>{})}finally{S()}},async unlink(H,j){let M=z.now();if(!Y.nodes[H]?.edges.includes(j)){log.warn(`⚠️ No edge from '${H}' to '${j}'.`);return}Y.unlink(H,j,M);let N=[...Y.nodes[H].edges];G.add({type:"unlink",sourceId:H,targetId:j,edges:N,timestamp:M}),V6(),f(M);try{C.push({type:"unlink",sourceId:H,targetId:j,edges:N,timestamp:M}),s().catch(()=>{})}finally{S()}},async remove(H){let j=z.now(),M=Y.get(H);if(!M)return log.warn(`⚠️ Node with ID '${H}' not found.`);delete Y.nodes[H],G.add({type:"remove",id:H,value:M.value,timestamp:j}),V6(),f(j);try{C.push({type:"remove",id:H,value:M.value,timestamp:j}),s().catch(()=>{})}finally{S()}},async get(H,j=null){if(typeof H!=="string")return{result:null};let M=Y.get(H),N=(U)=>{if(!U)return null;let R=U.value!==null&&typeof U.value==="object"?{...U.value}:U.value;return{...U,value:R,edges:U.edges.filter((D)=>Object.hasOwn(Y.nodes,D))}};if(!j)return{result:N(M)};let h=M?.timestamp;j(N(M));let v=(U)=>{let R=U[H];if(R){if(z.compare(R.timestamp,h)>0)h=R.timestamp,j(N(R))}else if(h)j(null),Z.splice(Z.indexOf(v),1)};return Z.push(v),{result:N(M),unsubscribe:()=>{let U=Z.indexOf(v);if(U>-1)Z.splice(U,1)}}},async map(...H){let M={...{realtime:!1,query:{},field:null,order:"asc",$limit:null,$after:null,$before:null}},N=null,h=!1;H.forEach((D)=>typeof D==="function"?N=D:D&&typeof D==="object"&&(h=h||("realtime"in D),Object.assign(M,D))),N&&!h&&(M.realtime=!0);let v=H8(Y.nodes,M),U=null,R=(D)=>{let c=new Map(v.map((_)=>[_.id,_])),u=new Map(D.map((_)=>[_.id,_])),o=[],y=[],i=[];for(let[_,J6]of u){let F6=c.get(_);if(!F6)o.push(J6);else if((J6.timestamp?.physical||0)!==(F6.timestamp?.physical||0)||(J6.timestamp?.logical||0)!==(F6.timestamp?.logical||0)||!tJ(J6.edges||[],F6.edges||[]))y.push(J6)}for(let[_]of c)if(!u.has(_))i.push(c.get(_));let _6=(_,J6)=>N({id:_.id,value:J6==="removed"?null:_.value,edges:_.edges||[],timestamp:_.timestamp||null,action:J6});o.forEach((_)=>_6(_,"added")),i.forEach((_)=>_6(_,"removed")),y.forEach((_)=>_6(_,"updated"))};if(N){if(v.forEach((D)=>{N({id:D.id,value:D.value,edges:D.edges,timestamp:D.timestamp,action:"initial"})}),M.realtime){let D=(c)=>{let u=c.timestamp?.physical||0,o=c.timestamp?.logical||0,y=(c.edges||[]).join(",");return`${c.id}:${u}:${o}:${y}`};U=(c)=>{let u=H8(c,M);if(u.length!==v.length)R(u),v=u;else{let o=u.map(D),y=v.map(D);if(!tJ(o,y))R(u),v=u}},Z.push(U)}}return{results:v,...M.realtime&&N&&U&&{unsubscribe:()=>{let D=Z.indexOf(U);D>-1&&Z.splice(D,1)}}}},async clear(){Y.nodes={},k=null,localStorage.removeItem(`${J}_time`),G.clear(),await B6(),x(),log.info("✅ All data has been deleted.")}}),E(),I(),await w7(),await u6();let B8=[];if(q)B8.push(m("sm",q));await Promise.all(B8);let Q5=`graph-sync-room-${J}`;if(W){let H=W?.constructor===Object?W:{},{join:j,selfId:M}=await m("genosrtc"),N={appId:"1234",...V&&{password:V},...H.relayUrls&&{relayUrls:H.relayUrls},...H.turnConfig&&{turnConfig:H.turnConfig},...H.cells&&{cells:!0},...H.cells&&H.cells!==!0&&{overlay:H.cells}},h=j(N,Q5);$=h.channel("syncGraph"),L=j(N,`app-sync-${J}`),T.room=L,T.selfId=M,h.on("peer:join",async(v)=>{log.info("⚡ New peer connected:",v);let U=()=>$.send([{type:"sync",timestamp:k,digest:k8()}]).catch(()=>{});U(),setTimeout(U,2000)}),h.on("peer:leave",(v)=>{log.info("⚡ Peer disconnected:",v)}),$?.on("message",async(v)=>{let U;try{if(v instanceof Uint8Array||v instanceof ArrayBuffer){let D=M6(v);U=Array.isArray(D)?D:[D]}else U=Array.isArray(v)?v:[v]}catch(D){return log.error("❌ Failed to decode MessagePack:",D)}let R=new Map([...new Set(U.flatMap((D)=>["id","sourceId","targetId"].map((c)=>D&&D[c]).filter(Boolean)))].map((D)=>Y.get(D)?[D,$8(Y.get(D))]:null).filter(Boolean));for(let D of P)try{if(U=await D(U,R),!U||!U.length)return}catch(c){log.error("❌ Middleware error, discarding message.",c);return}await W5(U)})}return w=new BroadcastChannel(`graphdb_sync_${J}`),w.onmessage=async(H)=>{if(H.data==="update")log.info("\uD83D\uDD04 Update received from another tab..."),await u6(),I(),S()},log.info(`✅ GenosDB [ \x1B[32m${J}\x1B[0m ] instance is ready.`),T}var oQ=J5;class A7{constructor(){throw Error("GenosDB is not constructed with `new`. Use: const db = await gdb(name, options)")}}export{oQ as gdb,A7 as GDB};
|
package/dist/index.js.gz
CHANGED
|
Binary file
|