s3db.js 3.3.1 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +99 -857
- package/dist/s3db.cjs.js +5449 -2028
- package/dist/s3db.cjs.min.js +15 -7
- package/dist/s3db.d.ts +133 -0
- package/dist/s3db.es.js +5453 -2032
- package/dist/s3db.es.min.js +15 -7
- package/dist/s3db.iife.js +5450 -2030
- package/dist/s3db.iife.min.js +15 -7
- package/package.json +36 -16
- package/UNLICENSE +0 -24
- package/docker-compose.yml +0 -18
- package/jest.config.js +0 -22
- package/rollup.config.js +0 -77
- package/scripts/prefix-files-istanbul-ignore.js +0 -18
package/dist/s3db.es.min.js
CHANGED
|
@@ -1,21 +1,29 @@
|
|
|
1
1
|
/* istanbul ignore file */
|
|
2
|
-
import{
|
|
2
|
+
import{customAlphabet as Zf,urlAlphabet as qf}from"nanoid";import{chunk as ji,merge as At,cloneDeep as ze,isEmpty as Ni,invert as Bi,uniq as Hf,isString as Ui,get as Kf,set as Wf,isFunction as Gf}from"lodash-es";import{PromisePool as le}from"@supercharge/promise-pool";import{S3Client as Vf,PutObjectCommand as Yf,GetObjectCommand as Jf,HeadObjectCommand as Xf,CopyObjectCommand as Qf,DeleteObjectCommand as ec,DeleteObjectsCommand as $i,ListObjectsV2Command as zi}from"@aws-sdk/client-s3";import{createHash as Zi}from"crypto";import{flatten as Lr,unflatten as tc}from"flat";import rc from"fastest-validator";import{ReadableStream as nc}from"node:stream/web";function qi(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];i==="."?e.splice(n,1):i===".."?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}var ic=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,jr=function(e){return ic.exec(e).slice(1)};function Nr(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:"/";if(typeof n!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!n)continue;e=n+"/"+e,t=n.charAt(0)==="/"}return e=qi(Br(e.split("/"),function(i){return!!i}),!t).join("/"),(t?"/":"")+e||"."}function Hi(e){var t=Ki(e),r=uc(e,-1)==="/";return e=qi(Br(e.split("/"),function(n){return!!n}),!t).join("/"),!e&&!t&&(e="."),e&&r&&(e+="/"),(t?"/":"")+e}function Ki(e){return e.charAt(0)==="/"}function ge(){var e=Array.prototype.slice.call(arguments,0);return Hi(Br(e,function(t,r){if(typeof t!="string")throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))}function ac(e,t){e=Nr(e).substr(1),t=Nr(t).substr(1);function r(f){for(var l=0;l<f.length&&f[l]==="";l++);for(var d=f.length-1;d>=0&&f[d]==="";d--);return l>d?[]:f.slice(l,d-l+1)}for(var n=r(e.split("/")),i=r(t.split("/")),a=Math.min(n.length,i.length),o=a,s=0;s<a;s++)if(n[s]!==i[s]){o=s;break}for(var c=[],s=o;s<n.length;s++)c.push("..");return c=c.concat(i.slice(o)),c.join("/")}var oc="/",sc=":";function fc(e){var t=jr(e),r=t[0],n=t[1];return!r&&!n?".":(n&&(n=n.substr(0,n.length-1)),r+n)}function cc(e,t){var r=jr(e)[2];return t&&r.substr(-1*t.length)===t&&(r=r.substr(0,r.length-t.length)),r}function lc(e){return jr(e)[3]}var ue={extname:lc,basename:cc,dirname:fc,sep:oc,delimiter:sc,relative:ac,join:ge,isAbsolute:Ki,normalize:Hi,resolve:Nr};function Br(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n<e.length;n++)t(e[n],n,e)&&r.push(e[n]);return r}var uc="ab".substr(-1)==="b"?function(e,t,r){return e.substr(t,r)}:function(e,t,r){return t<0&&(t=e.length+t),e.substr(t,r)};const Wi=Zf(qf,22);var Ur;function ke(){}ke.prototype=Object.create(null);function R(){R.init.call(this)}R.EventEmitter=R,R.usingDomains=!1,R.prototype.domain=void 0,R.prototype._events=void 0,R.prototype._maxListeners=void 0,R.defaultMaxListeners=10,R.init=function(){this.domain=null,R.usingDomains&&Ur.active&&!(this instanceof Ur.Domain)&&(this.domain=Ur.active),(!this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=new ke,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},R.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||isNaN(t))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=t,this};function Gi(e){return e._maxListeners===void 0?R.defaultMaxListeners:e._maxListeners}R.prototype.getMaxListeners=function(){return Gi(this)};function hc(e,t,r){if(t)e.call(r);else for(var n=e.length,i=kt(e,n),a=0;a<n;++a)i[a].call(r)}function dc(e,t,r,n){if(t)e.call(r,n);else for(var i=e.length,a=kt(e,i),o=0;o<i;++o)a[o].call(r,n)}function pc(e,t,r,n,i){if(t)e.call(r,n,i);else for(var a=e.length,o=kt(e,a),s=0;s<a;++s)o[s].call(r,n,i)}function yc(e,t,r,n,i,a){if(t)e.call(r,n,i,a);else for(var o=e.length,s=kt(e,o),c=0;c<o;++c)s[c].call(r,n,i,a)}function vc(e,t,r,n){if(t)e.apply(r,n);else for(var i=e.length,a=kt(e,i),o=0;o<i;++o)a[o].apply(r,n)}R.prototype.emit=function(t){var r,n,i,a,o,s,c,f=t==="error";if(s=this._events,s)f=f&&s.error==null;else if(!f)return!1;if(c=this.domain,f){if(r=arguments[1],c)r||(r=new Error('Uncaught, unspecified "error" event')),r.domainEmitter=this,r.domain=c,r.domainThrown=!1,c.emit("error",r);else{if(r instanceof Error)throw r;var l=new Error('Uncaught, unspecified "error" event. ('+r+")");throw l.context=r,l}return!1}if(n=s[t],!n)return!1;var d=typeof n=="function";switch(i=arguments.length,i){case 1:hc(n,d,this);break;case 2:dc(n,d,this,arguments[1]);break;case 3:pc(n,d,this,arguments[1],arguments[2]);break;case 4:yc(n,d,this,arguments[1],arguments[2],arguments[3]);break;default:for(a=new Array(i-1),o=1;o<i;o++)a[o-1]=arguments[o];vc(n,d,this,a)}return!0};function Vi(e,t,r,n){var i,a,o;if(typeof r!="function")throw new TypeError('"listener" argument must be a function');if(a=e._events,a?(a.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),a=e._events),o=a[t]):(a=e._events=new ke,e._eventsCount=0),!o)o=a[t]=r,++e._eventsCount;else if(typeof o=="function"?o=a[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),!o.warned&&(i=Gi(e),i&&i>0&&o.length>i)){o.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=o.length,gc(s)}return e}function gc(e){typeof console.warn=="function"?console.warn(e):console.log(e)}R.prototype.addListener=function(t,r){return Vi(this,t,r,!1)},R.prototype.on=R.prototype.addListener,R.prototype.prependListener=function(t,r){return Vi(this,t,r,!0)};function Yi(e,t,r){var n=!1;function i(){e.removeListener(t,i),n||(n=!0,r.apply(e,arguments))}return i.listener=r,i}R.prototype.once=function(t,r){if(typeof r!="function")throw new TypeError('"listener" argument must be a function');return this.on(t,Yi(this,t,r)),this},R.prototype.prependOnceListener=function(t,r){if(typeof r!="function")throw new TypeError('"listener" argument must be a function');return this.prependListener(t,Yi(this,t,r)),this},R.prototype.removeListener=function(t,r){var n,i,a,o,s;if(typeof r!="function")throw new TypeError('"listener" argument must be a function');if(i=this._events,!i)return this;if(n=i[t],!n)return this;if(n===r||n.listener&&n.listener===r)--this._eventsCount===0?this._events=new ke:(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||r));else if(typeof n!="function"){for(a=-1,o=n.length;o-- >0;)if(n[o]===r||n[o].listener&&n[o].listener===r){s=n[o].listener,a=o;break}if(a<0)return this;if(n.length===1){if(n[0]=void 0,--this._eventsCount===0)return this._events=new ke,this;delete i[t]}else _c(n,a);i.removeListener&&this.emit("removeListener",t,s||r)}return this},R.prototype.off=function(e,t){return this.removeListener(e,t)},R.prototype.removeAllListeners=function(t){var r,n;if(n=this._events,!n)return this;if(!n.removeListener)return arguments.length===0?(this._events=new ke,this._eventsCount=0):n[t]&&(--this._eventsCount===0?this._events=new ke:delete n[t]),this;if(arguments.length===0){for(var i=Object.keys(n),a=0,o;a<i.length;++a)o=i[a],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=new ke,this._eventsCount=0,this}if(r=n[t],typeof r=="function")this.removeListener(t,r);else if(r)do this.removeListener(t,r[r.length-1]);while(r[0]);return this},R.prototype.listeners=function(t){var r,n,i=this._events;return i?(r=i[t],r?typeof r=="function"?n=[r.listener||r]:n=wc(r):n=[]):n=[],n},R.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):Ji.call(e,t)},R.prototype.listenerCount=Ji;function Ji(e){var t=this._events;if(t){var r=t[e];if(typeof r=="function")return 1;if(r)return r.length}return 0}R.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};function _c(e,t){for(var r=t,n=r+1,i=e.length;n<i;r+=1,n+=1)e[r]=e[n];e.pop()}function kt(e,t){for(var r=new Array(t);t--;)r[t]=e[t];return r}function wc(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}class ct extends Error{constructor({verbose:t,bucket:r,message:n,...i}){t&&(n=n+`
|
|
3
3
|
|
|
4
4
|
Verbose:
|
|
5
5
|
|
|
6
|
-
${JSON.stringify(
|
|
7
|
-
${JSON.stringify(n,null,2)}`}),this.resourceName=r,this.attributes=i,this.validation=n}}class mi extends Ke{}const bi={NotFound:gi,NoSuchKey:or,UnknownError:mi,NoSuchBucket:wi,MissingMetadata:vi,InvalidResourceItem:At},yi="us-east-1",xi="https://s3.us-east-1.amazonaws.com";class Ei{constructor(t){let r;try{r=new URL(t)}catch{throw new Error("Invalid connection string: "+t)}this.region=yi,r.protocol==="s3:"?this.defineS3(r):this.defineMinio(r);for(const[i,n]of r.searchParams.entries())this[i]=n}defineS3(t){if(this.bucket=t.hostname,this.accessKeyId=t.username,this.secretAccessKey=t.password,this.endpoint=xi,["/","",null].includes(t.pathname))this.keyPrefix="";else{let[,...r]=t.pathname.split("/");this.keyPrefix=[...r||[]].join("/")}}defineMinio(t){if(this.forcePathStyle=!0,this.endpoint=t.origin,this.accessKeyId=t.username,this.secretAccessKey=t.password,["/","",null].includes(t.pathname))this.bucket="s3db",this.keyPrefix="";else{let[,r,...i]=t.pathname.split("/");this.bucket=r,this.keyPrefix=[...i||[]].join("/")}}}class ki extends b{constructor({verbose:t=!1,id:r=null,AwsS3Client:i,connectionString:n,parallelism:a=10}){super(),this.verbose=t,this.id=r??ni(7),this.parallelism=a,this.config=new Ei(n),this.client=i||this.createClient()}createClient(){let t={region:this.config.region,endpoint:this.config.endpoint};return this.config.forcePathStyle&&(t.forcePathStyle=!0),this.config.accessKeyId&&(t.credentials={accessKeyId:this.config.accessKeyId,secretAccessKey:this.config.secretAccessKey}),new Ga(t)}async sendCommand(t){this.emit("command.request",t.constructor.name,t.input);const r=console.warn;try{console.warn=n=>{n.includes("Stream of unknown length")||r(n)}}catch(n){console.error(n)}const i=await this.client.send(t);this.emit("command.response",t.constructor.name,i,t.input);try{console.warn=r}catch(n){console.error(n)}return i}errorProxy(t,r){this.verbose&&(r.bucket=this.config.bucket,r.config=this.config,r.verbose=this.verbose),t.data=r;const i=bi[t.name];return i?new i(r):t}async putObject({key:t,metadata:r,contentType:i,body:n,contentEncoding:a}){const o={Bucket:this.config.bucket,Key:this.config.keyPrefix?ie.join(this.config.keyPrefix,t):t,Metadata:{...r},Body:n||"",ContentType:i,ContentEncoding:a};try{const s=await this.sendCommand(new Va(o));return this.emit("putObject",s,o),s}catch(s){throw this.errorProxy(s,{key:t,command:o})}}async getObject(t){const r={Bucket:this.config.bucket,Key:ie.join(this.config.keyPrefix,t)};try{const i=await this.sendCommand(new Xa(r));return this.emit("getObject",i,r),i}catch(i){throw this.errorProxy(i,{key:t,command:r})}}async headObject(t){const r={Bucket:this.config.bucket,Key:this.config.keyPrefix?ie.join(this.config.keyPrefix,t):t};try{const i=await this.client.send(new Ja(r));return this.emit("headObject",i,r),i}catch(i){throw this.errorProxy(i,{key:t,command:r})}}async copyObject({from:t,to:r}){const i={Bucket:this.config.bucket,Key:this.config.keyPrefix?ie.join(this.config.keyPrefix,r):r,CopySource:ie.join(this.config.bucket,this.config.keyPrefix?ie.join(this.config.keyPrefix,t):t)};try{const n=await this.client.send(new Qa(i));return this.emit("copyObject",n,i),n}catch(n){throw this.errorProxy(n,{from:t,to:r,command:i})}}async exists(t){try{return await this.headObject(t),!0}catch(r){if(r.name==="NoSuchKey")return!1;if(r.name==="NotFound")return!1;throw r}}async deleteObject(t){const r={Bucket:this.config.bucket,Key:this.config.keyPrefix?ie.join(this.config.keyPrefix,t):t};try{const i=await this.sendCommand(new eo(r));return this.emit("deleteObject",i,r),i}catch(i){throw this.errorProxy(i,{key:t,command:r})}}async deleteObjects(t){const r=ai(t,1e3),{results:i,errors:n}=await ce.for(r).withConcurrency(this.parallelism).process(async o=>{const s={Bucket:this.config.bucket,Delete:{Objects:o.map(h=>({Key:this.config.keyPrefix?ie.join(this.config.keyPrefix,h):h}))}};try{return await this.sendCommand(new to(s))}catch(h){throw this.errorProxy(h,{key,command:s})}}),a={deleted:i,notFound:n};return this.emit("deleteObjects",a,t),a}async deleteAll({prefix:t}={}){const r=await this.getAllKeys({prefix:t}),i=await this.deleteObjects(r);return this.emit("deleteAll",{prefix:t,report:i}),i}async moveObject({from:t,to:r}){try{return await this.copyObject({from:t,to:r}),await this.deleteObject(t),!0}catch(i){throw this.errorProxy(i,{from:t,to:r,command:options})}}async listObjects({prefix:t,maxKeys:r=1e3,continuationToken:i}={}){const n={Bucket:this.config.bucket,MaxKeys:r,ContinuationToken:i,Prefix:this.config.keyPrefix?ie.join(this.config.keyPrefix,t||""):t||""};try{const a=await this.sendCommand(new ro(n));return this.emit("listObjects",a,n),a}catch(a){throw this.errorProxy(a,{command:n})}}async count({prefix:t}={}){let r=0,i=!0,n;for(;i;){const a={prefix:t,continuationToken:n},o=await this.listObjects(a);r+=o.KeyCount||0,i=o.IsTruncated||!1,n=o.NextContinuationToken}return this.emit("count",r,{prefix:t}),r}async getAllKeys({prefix:t}={}){let r=[],i=!0,n;for(;i;){const a={prefix:t,continuationToken:n},o=await this.listObjects(a);o.Contents&&(r=r.concat(o.Contents.map(s=>s.Key))),i=o.IsTruncated||!1,n=o.NextContinuationToken}return this.config.keyPrefix&&(r=r.map(a=>a.replace(this.config.keyPrefix,"")).map(a=>a.startsWith("/")?a.replace("/",""):a)),this.emit("getAllKeys",r,{prefix:t}),r}async getContinuationTokenAfterOffset(t={}){const{prefix:r,offset:i=1e3}=t;if(i===0)return null;let n=!0,a,o=0;for(;n;){let s=i<1e3?i:i-o>1e3?1e3:i-o;const h={prefix:r,maxKeys:s,continuationToken:a},f=await this.listObjects(h);if(f.Contents&&(o+=f.Contents.length),n=f.IsTruncated||!1,a=f.NextContinuationToken,o>=i)break}return this.emit("getContinuationTokenAfterOffset",a,t),a}async getKeysPage(t={}){const{prefix:r,offset:i=0,amount:n=100}=t;let a=[],o=!0,s;for(i>0&&(s=await this.getContinuationTokenAfterOffset({prefix:r,offset:i}));o;){const h={prefix:r,continuationToken:s},f=await this.listObjects(h);if(f.Contents&&(a=a.concat(f.Contents.map(l=>l.Key))),o=f.IsTruncated||!1,s=f.NextContinuationToken,a.length>n){a=a.splice(0,n);break}}return this.config.keyPrefix&&(a=a.map(h=>h.replace(this.config.keyPrefix,"")).map(h=>h.startsWith("/")?h.replace("/",""):h)),this.emit("getKeysPage",a,t),a}async moveAllObjects({prefixFrom:t,prefixTo:r}){const i=await this.getAllKeys({prefix:t}),{results:n,errors:a}=await ce.for(i).withConcurrency(this.parallelism).process(async o=>{const s=o.replace(t,r);try{return await this.moveObject({from:o,to:s}),s}catch(h){throw this.errorProxy(h,{from:o,to:s})}});if(this.emit("moveAllObjects",{results:n,errors:a},{prefixFrom:t,prefixTo:r}),a.length>0)throw console.log({errors:a}),new Error("Some objects could not be moved");return n}}async function Tt(){let e;if(process)try{const{webcrypto:t}=await import("crypto");e=t}catch{throw new Error("Crypto API not available")}else window&&(e=window.crypto);if(!e)throw new Error("Could not load any crypto library");return e}async function Si(e){const t=await Tt(),i=new TextEncoder().encode(e),n=await t.subtle.digest("SHA-256",i);return Array.from(new Uint8Array(n)).map(s=>s.toString(16).padStart(2,"0")).join("")}async function sr(e,t){const r=await Tt(),i=r.getRandomValues(new Uint8Array(16)),n=await Ai(t,i),a=r.getRandomValues(new Uint8Array(12)),s=new TextEncoder().encode(e),h=await r.subtle.encrypt({name:"AES-GCM",iv:a},n,s),f=new Uint8Array(i.length+a.length+h.byteLength);return f.set(i),f.set(a,i.length),f.set(new Uint8Array(h),i.length+a.length),Ro(f)}async function Ri(e,t){const r=await Tt(),i=Ao(e),n=i.slice(0,16),a=i.slice(16,28),o=i.slice(28),s=await Ai(t,n),h=await r.subtle.decrypt({name:"AES-GCM",iv:a},s,o);return new TextDecoder().decode(h)}async function Ai(e,t){const r=await Tt(),n=new TextEncoder().encode(e),a=await r.subtle.importKey("raw",n,{name:"PBKDF2"},!1,["deriveKey"]);return await r.subtle.deriveKey({name:"PBKDF2",salt:t,iterations:1e5,hash:"SHA-256"},a,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"])}function Ro(e){if(oi(process))return Buffer.from(e).toString("base64");{const t=String.fromCharCode.apply(null,new Uint8Array(e));return window.btoa(t)}}function Ao(e){if(oi(process))return new Uint8Array(Buffer.from(e,"base64"));{const t=window.atob(e),r=t.length,i=new Uint8Array(r);for(let n=0;n<r;n++)i[n]=t.charCodeAt(n);return i}}async function fr(e,t,r){if(!this.passphrase)return t.push({actual:e,type:"encryptionKeyMissing"}),e;try{return await sr(String(e),this.passphrase)}catch(i){t.push({actual:e,type:"encryptionProblem",error:i})}return e}class Ti extends no{constructor({options:t,passphrase:r,autoEncrypt:i=!0}={}){super(it({},{useNewCustomCheckerFunction:!0,messages:{encryptionKeyMissing:"Missing configuration for secrets encryption.",encryptionProblem:"Problem encrypting secret. Actual: {actual}. Error: {error}"},defaults:{string:{trim:!0},object:{strict:"remove"}}},t)),this.passphrase=r,this.autoEncrypt=i,this.alias("secret",{type:"string",custom:this.autoEncrypt?fr:void 0,messages:{string:"The '{field}' field must be a string.",stringMin:"This secret '{field}' field length must be at least {expected} long."}}),this.alias("secretAny",{type:"any",custom:this.autoEncrypt?fr:void 0}),this.alias("secretNumber",{type:"number",custom:this.autoEncrypt?fr:void 0})}}const Li=new Proxy(Ti,{instance:null,construct(e,t){return this.instance||(this.instance=new e(...t)),this.instance}}),To={trim:e=>e.trim(),encrypt:(e,{passphrase:t})=>sr(e,t),decrypt:(e,{passphrase:t})=>Ri(e,t),toString:e=>String(e),fromArray:(e,{separator:t})=>(e||[]).join(t),toArray:(e,{separator:t})=>(e||"").split(t),toJSON:e=>JSON.stringify(e),fromJSON:e=>JSON.parse(e),toNumber:e=>fi(e)?e.includes(".")?parseFloat(e):parseInt(e):e,toBool:e=>[!0,1,"true","1","yes","y"].includes(e),fromBool:e=>[!0,1,"true","1","yes","y"].includes(e)?"1":"0"};class ti{constructor(t){const{map:r,name:i,attributes:n,passphrase:a,version:o=1,options:s={}}=t;if(this.name=i,this.version=o,this.attributes=n,this.passphrase=a??"secret",this.options=it({},this.defaultOptions(),s),this.validator=new Li({autoEncrypt:!1}).compile(it({$$async:!0},Re(this.attributes))),this.options.generateAutoHooks&&this.generateAutoHooks(),!tr(r))this.map=r,this.reversedMap=si(r);else{const h=rr(this.attributes,{safe:!0});this.reversedMap={...Object.keys(h).filter(f=>!f.includes("$$"))},this.map=si(this.reversedMap)}}defaultOptions(){return{autoEncrypt:!0,autoDecrypt:!0,arraySeparator:"|",generateAutoHooks:!0,hooks:{beforeMap:{},afterMap:{},beforeUnmap:{},afterUnmap:{}}}}addHook(t,r,i){this.options.hooks[t][r]||(this.options.hooks[t][r]=[]),this.options.hooks[t][r]=Ka([...this.options.hooks[t][r],i])}generateAutoHooks(){const t=rr(Re(this.attributes),{safe:!0});for(const[r,i]of Object.entries(t))i.includes("array")?(this.addHook("beforeMap",r,"fromArray"),this.addHook("afterUnmap",r,"toArray")):(i.includes("secret")&&(this.options.autoEncrypt&&this.addHook("beforeMap",r,"encrypt"),this.options.autoDecrypt&&this.addHook("afterUnmap",r,"decrypt")),i.includes("number")&&(this.addHook("beforeMap",r,"toString"),this.addHook("afterUnmap",r,"toNumber")),i.includes("boolean")&&(this.addHook("beforeMap",r,"fromBool"),this.addHook("afterUnmap",r,"toBool")))}static import(t){let{map:r,name:i,options:n,version:a,attributes:o}=fi(t)?JSON.parse(t):t;return new ti({map:r,name:i,options:n,version:a,attributes:o})}export(){const t={version:this.version,name:this.name,options:this.options,attributes:Re(this.attributes),map:this.map};for(const[r,i]of Object.entries(this.attributes))t.attributes[r]=JSON.stringify(i);return t}async applyHooksActions(t,r){for(const[i,n]of Object.entries(this.options.hooks[r]))for(const a of n){const o=Wa(t,i);o!==void 0&&Ya(t,i,await To[a](o,{passphrase:this.passphrase,separator:this.options.arraySeparator}))}}async validate(t,{mutateOriginal:r=!1}={}){let i=r?t:Re(t);return await this.validator(i)}async mapper(t){const r=rr(Re(t),{safe:!0});await this.applyHooksActions(r,"beforeMap");const i={_v:this.version+""};for(const[n,a]of Object.entries(r))i[this.map[n]]=a;return await this.applyHooksActions(i,"afterMap"),i}async unmapper(t){const r=Re(t);delete r._v,await this.applyHooksActions(r,"beforeUnmap");const i={};for(const[n,a]of Object.entries(r))i[this.reversedMap[n]]=a;return await this.applyHooksActions(i,"afterUnmap"),io(i)}}class Oi extends b{constructor({resource:t}){super(),this.resource=t,this.client=t.client,this.stream=new ao({highWaterMark:this.client.parallelism*3,start:this._start.bind(this),pull:this._pull.bind(this),cancel:this._cancel.bind(this)})}build(){return this.stream.getReader()}async _start(t){this.controller=t,this.continuationToken=null,this.closeNextIteration=!1}async _pull(t){if(this.closeNextIteration){t.close();return}const r=await this.client.listObjects({prefix:`resource=${this.resource.name}`,continuationToken:this.continuationToken}),i=r?.Contents.map(n=>n.Key).map(n=>n.replace(this.client.config.keyPrefix,"")).map(n=>n.startsWith("/")?n.replace("/",""):n).map(n=>n.replace(`resource=${this.resource.name}/id=`,""));this.continuationToken=r.NextContinuationToken,this.enqueue(i),r.IsTruncated||(this.closeNextIteration=!0)}enqueue(t){t.forEach(r=>{this.controller.enqueue(r),this.emit("id",r)})}_cancel(t){console.warn("Stream cancelled",t)}}class Ii extends Oi{enqueue(t){this.controller.enqueue(t),this.emit("page",t)}}class Ci extends b{constructor({resource:t}){super(),this.resource=t,this.client=t.client,this.input=new Ii({resource:this.resource}),this.output=new oo({transform:this._transform.bind(this)},{highWaterMark:this.client.parallelism*2},{highWaterMark:1}),this.stream=this.input.stream.pipeThrough(this.output)}build(){return this.stream.getReader()}async _transform(t,r){await ce.for(t).withConcurrency(this.client.parallelism).process(async i=>{const n=await this.resource.get(i);return r.enqueue(n),n})}}class Mi extends b{constructor({resource:t}){super(),this.resource=t,this.client=t.client,this.stream=new so({start:this._start.bind(this),write:this._write.bind(this),close:this._close.bind(this),abort:this._abort.bind(this)})}build(){return this.stream.getWriter()}async _start(t){this.controller=t}async _write(t,r){const i=this.resource;await ce.for([].concat(t)).withConcurrency(this.client.parallelism).process(async n=>{await i.insert(n)})}async _close(t){}async _abort(t){console.error("Stream aborted:",t)}}function lr(e){return new Promise((t,r)=>{const i=[];e.on("data",n=>i.push(n)),e.on("error",r),e.on("end",()=>t(Buffer.concat(i).toString("utf-8")))})}class Di extends b{constructor({name:t,client:r,options:i={},attributes:n={},parallelism:a=10,passphrase:o="secret",observers:s=[]}){super(),this.name=t,this.client=r,this.observers=s,this.parallelism=a,this.passphrase=o??"secret",this.options={cache:!1,autoDecrypt:!0,timestamps:!1,...i},i.timestamps&&(n.createdAt="string",n.updatedAt="string"),this.schema=new ti({name:t,attributes:n,passphrase:o})}export(){return this.schema.export()}async validate(t){const r={original:Re(t),isValid:!1,errors:[]},i=await this.schema.validate(t,{mutateOriginal:!0});return i===!0?r.isValid=!0:r.errors=i,r.data=t,r}async insert({id:t,...r}){this.options.timestamps&&(r.createdAt=new Date().toISOString(),r.updatedAt=new Date().toISOString());const{errors:i,isValid:n,data:a}=await this.validate(r);if(!n)throw new At({bucket:this.client.config.bucket,resourceName:this.name,attributes:r,validation:i});!t&&t!==0&&(t=ni());const o=await this.schema.mapper(a);await this.client.putObject({metadata:o,key:K(`resource=${this.name}`,`id=${t}`)});const s=it({id:t},a);return this.emit("insert",s),s}async get(t){const r=await this.client.headObject(K(`resource=${this.name}`,`id=${t}`));let i=await this.schema.unmapper(r.Metadata);return i.id=t,i._length=r.ContentLength,i._lastModified=r.LastModified,r.VersionId&&(i._versionId=r.VersionId),r.Expiration&&(i._expiresAt=r.Expiration),this.emit("get",i),i}async exists(t){try{return await this.client.headObject(K(`resource=${this.name}`,`id=${t}`)),!0}catch{return!1}}async update(t,r){const i=await this.get(t);this.options.timestamps&&(r.updatedAt=new Date().toISOString());const n=it(i,r);delete n.id;const{isValid:a,errors:o,data:s}=await this.validate(n);if(!a)throw new At({bucket:this.client.bucket,resourceName:this.name,attributes:r,validation:o});return await this.client.putObject({key:K(`resource=${this.name}`,`id=${t}`),body:"",metadata:await this.schema.mapper(s)}),s.id=t,this.emit("update",r,s),s}async delete(t){const r=K(`resource=${this.name}`,`id=${t}`),i=await this.client.deleteObject(r);return this.emit("delete",t),i}async upsert({id:t,...r}){return await this.exists(t)?this.update(t,r):this.insert({id:t,...r})}async count(){const t=await this.client.count({prefix:`resource=${this.name}`});return this.emit("count",t),t}async insertMany(t){const{results:r}=await ce.for(t).withConcurrency(this.parallelism).handleError(async(i,n)=>{this.emit("error",i,n),this.observers.map(a=>a.emit("error",this.name,i,n))}).process(async i=>await this.insert(i));return this.emit("insertMany",t.length),r}async deleteMany(t){const r=ai(t.map(n=>K(`resource=${this.name}`,`id=${n}`)),1e3),{results:i}=await ce.for(r).withConcurrency(this.parallelism).handleError(async(n,a)=>{this.emit("error",n,a),this.observers.map(o=>o.emit("error",this.name,n,a))}).process(async n=>{const a=await this.client.deleteObjects(n);return n.forEach(o=>{const s=o.split("=").pop();this.emit("deleted",s),this.observers.map(h=>h.emit("deleted",this.name,s))}),a});return this.emit("deleteMany",t.length),i}async deleteAll(){const t=await this.listIds();this.emit("deleteAll",t.length),await this.deleteMany(t)}async listIds(){const r=(await this.client.getAllKeys({prefix:`resource=${this.name}`})).map(i=>i.replace(`resource=${this.name}/id=`,""));return this.emit("listIds",r.length),r}async getMany(t){const{results:r}=await ce.for(t).withConcurrency(this.client.parallelism).process(async i=>{this.emit("id",i);const n=await this.get(i);return this.emit("data",n),n});return this.emit("getMany",t.length),r}async getAll(){let t=await this.listIds();if(t.length===0)return[];const{results:r}=await ce.for(t).withConcurrency(this.client.parallelism).process(async i=>await this.get(i));return this.emit("getAll",r.length),r}async page({offset:t=0,size:r=100}){const n=(await this.client.getKeysPage({offset:t,amount:r,prefix:`resource=${this.name}`})).map(o=>o.replace(`resource=${this.name}/id=`,""));return await this.getMany(n)}readable(){return new Ci({resource:this}).build()}writable(){return new Mi({resource:this}).build()}}class Fi extends b{constructor(t){super(),this.version="1",this.resources={},this.options=t,this.verbose=t.verbose||!1,this.parallelism=parseInt(t.parallelism+"")||10,this.plugins=t.plugins||[],this.cache=t.cache,this.passphrase=t.passphrase||"secret",this.client=t.client||new ki({verbose:this.verbose,parallelism:this.parallelism,connectionString:t.connectionString}),this.bucket=this.client.bucket,this.keyPrefix=this.client.keyPrefix}async connect(){await this.startPlugins();let t=null;if(await this.client.exists("s3db.json")){const r=await this.client.getObject("s3db.json");t=JSON.parse(await lr(r?.Body)),t=this.unserializeMetadata(t)}else t=this.blankMetadataStructure(),await this.uploadMetadataFile();for(const r of Object.entries(t.resources)){const[i,n]=r;this.resources[i]=new Di({name:i,client:this.client,options:n.options,attributes:n.schema,parallelism:this.parallelism,passphrase:this.passphrase,observers:[this]})}this.emit("connected",new Date)}async startPlugins(){const t=this;if(!tr(this.plugins)){const r=this.plugins.map(a=>qa(a)?new a(this):a),i=r.map(async a=>{a.beforeSetup&&await a.beforeSetup(),await a.setup(t),a.afterSetup&&await a.afterSetup()});await Promise.all(i);const n=r.map(async a=>{a.beforeStart&&await a.beforeStart(),await a.start(),a.afterStart&&await a.afterStart()});await Promise.all(n)}}unserializeMetadata(t){const r={...t};if(tr(r.resources))return r;for(const[i,n]of Object.entries(r.resources))for(const[a,o]of Object.entries(n.attributes))r.resources[i].attributes[a]=JSON.parse(o);return r}async uploadMetadataFile(){const t={version:this.version,resources:Object.entries(this.resources).reduce((r,i)=>{const[n,a]=i;return r[n]=a.export(),r},{})};await this.client.putObject({key:"s3db.json",contentType:"application/json",body:JSON.stringify(t,null,2)})}blankMetadataStructure(){return{version:"1",resources:{}}}async createResource({name:t,attributes:r,options:i={}}){const n=new Di({name:t,attributes:r,observers:[this],client:this.client,options:{cache:this.cache,...i}});return this.resources[t]=n,await this.uploadMetadataFile(),this.emit("s3db.resourceCreated",t),n}resource(t){return this.resources[t]?this.resources[t]:Promise.reject(`resource ${t} does not exist`)}}class Lo extends Fi{}class hr extends b{async _set(t,r){}async _get(t){}async _del(t){}async _clear(t){}async set(t,r){return await this._set(t,r),this.emit("set",r),r}async get(t){const r=await this._get(t);return this.emit("get",r),r}async del(t){const r=await this._del(t);return this.emit("delete",r),r}async clear(){const t=await this._clear();return this.emit("clear",t),t}}class Oo extends hr{constructor(){super(),this.cache={}}async _set(t,r){return this.cache[t]=r,r}async _get(t){return this.cache[t]}async _del(t){return delete this.cache[t],!0}async _clear(){return this.cache={},!0}}var We=typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{},Q=[],Y=[],Io=typeof Uint8Array<"u"?Uint8Array:Array,cr=!1;function Ni(){cr=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,r=e.length;t<r;++t)Q[t]=e[t],Y[e.charCodeAt(t)]=t;Y[45]=62,Y[95]=63}function Co(e){cr||Ni();var t,r,i,n,a,o,s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");a=e[s-2]==="="?2:e[s-1]==="="?1:0,o=new Io(s*3/4-a),i=a>0?s-4:s;var h=0;for(t=0,r=0;t<i;t+=4,r+=3)n=Y[e.charCodeAt(t)]<<18|Y[e.charCodeAt(t+1)]<<12|Y[e.charCodeAt(t+2)]<<6|Y[e.charCodeAt(t+3)],o[h++]=n>>16&255,o[h++]=n>>8&255,o[h++]=n&255;return a===2?(n=Y[e.charCodeAt(t)]<<2|Y[e.charCodeAt(t+1)]>>4,o[h++]=n&255):a===1&&(n=Y[e.charCodeAt(t)]<<10|Y[e.charCodeAt(t+1)]<<4|Y[e.charCodeAt(t+2)]>>2,o[h++]=n>>8&255,o[h++]=n&255),o}function Mo(e){return Q[e>>18&63]+Q[e>>12&63]+Q[e>>6&63]+Q[e&63]}function Do(e,t,r){for(var i,n=[],a=t;a<r;a+=3)i=(e[a]<<16)+(e[a+1]<<8)+e[a+2],n.push(Mo(i));return n.join("")}function zi(e){cr||Ni();for(var t,r=e.length,i=r%3,n="",a=[],o=16383,s=0,h=r-i;s<h;s+=o)a.push(Do(e,s,s+o>h?h:s+o));return i===1?(t=e[r-1],n+=Q[t>>2],n+=Q[t<<4&63],n+="=="):i===2&&(t=(e[r-2]<<8)+e[r-1],n+=Q[t>>10],n+=Q[t>>4&63],n+=Q[t<<2&63],n+="="),a.push(n),a.join("")}function Lt(e,t,r,i,n){var a,o,s=n*8-i-1,h=(1<<s)-1,f=h>>1,l=-7,d=r?n-1:0,p=r?-1:1,u=e[t+d];for(d+=p,a=u&(1<<-l)-1,u>>=-l,l+=s;l>0;a=a*256+e[t+d],d+=p,l-=8);for(o=a&(1<<-l)-1,a>>=-l,l+=i;l>0;o=o*256+e[t+d],d+=p,l-=8);if(a===0)a=1-f;else{if(a===h)return o?NaN:(u?-1:1)*(1/0);o=o+Math.pow(2,i),a=a-f}return(u?-1:1)*o*Math.pow(2,a-i)}function Pi(e,t,r,i,n,a){var o,s,h,f=a*8-n-1,l=(1<<f)-1,d=l>>1,p=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,u=i?0:a-1,g=i?1:-1,S=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(h=Math.pow(2,-o))<1&&(o--,h*=2),o+d>=1?t+=p/h:t+=p*Math.pow(2,1-d),t*h>=2&&(o++,h/=2),o+d>=l?(s=0,o=l):o+d>=1?(s=(t*h-1)*Math.pow(2,n),o=o+d):(s=t*Math.pow(2,d-1)*Math.pow(2,n),o=0));n>=8;e[r+u]=s&255,u+=g,s/=256,n-=8);for(o=o<<n|s,f+=n;f>0;e[r+u]=o&255,u+=g,o/=256,f-=8);e[r+u-g]|=S*128}var Fo={}.toString,Ui=Array.isArray||function(e){return Fo.call(e)=="[object Array]"};/*!
|
|
6
|
+
${JSON.stringify(i,null,2)}`),super(n),typeof Error.captureStackTrace=="function"?Error.captureStackTrace(this,this.constructor):this.stack=new Error(n).stack,super.name=this.constructor.name,this.name=this.constructor.name,this.bucket=r,this.thrownAt=new Date}toJson(){return{...this}}toString(){return`${this.name} | ${this.message}`}}class Xi extends ct{constructor({bucket:t,...r}){super({...r,bucket:t,message:`Bucket does not exists [bucket:${t}]`})}}class $r extends ct{constructor({bucket:t,key:r,...n}){super({...n,bucket:t,message:`Key [${r}] does not exists [bucket:${t}/${r}]`}),this.key=r}}class Qi extends $r{}class ea extends ct{constructor({bucket:t,...r}){super({...r,bucket:t,message:`Missing metadata for bucket [bucket:${t}]`})}}class tr extends ct{constructor({bucket:t,resourceName:r,attributes:n,validation:i}){super({bucket:t,message:`This item is not valid. Resource=${r} [bucket:${t}].
|
|
7
|
+
${JSON.stringify(i,null,2)}`}),this.resourceName=r,this.attributes=n,this.validation=i}}class ta extends ct{}const ra={NotFound:Qi,NoSuchKey:$r,UnknownError:ta,NoSuchBucket:Xi,MissingMetadata:ea,InvalidResourceItem:tr},na="us-east-1",ia="https://s3.us-east-1.amazonaws.com";class aa{constructor(t){let r;try{r=new URL(t)}catch{throw new Error("Invalid connection string: "+t)}this.region=na,r.protocol==="s3:"?this.defineS3(r):this.defineMinio(r);for(const[n,i]of r.searchParams.entries())this[n]=i}defineS3(t){if(this.bucket=t.hostname,this.accessKeyId=t.username,this.secretAccessKey=t.password,this.endpoint=ia,["/","",null].includes(t.pathname))this.keyPrefix="";else{let[,...r]=t.pathname.split("/");this.keyPrefix=[...r||[]].join("/")}}defineMinio(t){if(this.forcePathStyle=!0,this.endpoint=t.origin,this.accessKeyId=t.username,this.secretAccessKey=t.password,["/","",null].includes(t.pathname))this.bucket="s3db",this.keyPrefix="";else{let[,r,...n]=t.pathname.split("/");this.bucket=r,this.keyPrefix=[...n||[]].join("/")}}}class oa extends R{constructor({verbose:t=!1,id:r=null,AwsS3Client:n,connectionString:i,parallelism:a=10}){super(),this.verbose=t,this.id=r??Wi(),this.parallelism=a,this.config=new aa(i),this.client=n||this.createClient()}createClient(){let t={region:this.config.region,endpoint:this.config.endpoint};return this.config.forcePathStyle&&(t.forcePathStyle=!0),this.config.accessKeyId&&(t.credentials={accessKeyId:this.config.accessKeyId,secretAccessKey:this.config.secretAccessKey}),new Vf(t)}async sendCommand(t){this.emit("command.request",t.constructor.name,t.input);const r=console.warn;try{console.warn=i=>{i.includes("Stream of unknown length")||r(i)}}catch(i){console.error(i)}const n=await this.client.send(t);this.emit("command.response",t.constructor.name,n,t.input);try{console.warn=r}catch(i){console.error(i)}return n}errorProxy(t,r){this.verbose&&(r.bucket=this.config.bucket,r.config=this.config,r.verbose=this.verbose),t.data=r;const n=ra[t.name];return n?new n(r):t}async putObject({key:t,metadata:r,contentType:n,body:i,contentEncoding:a}){const o={Bucket:this.config.bucket,Key:this.config.keyPrefix?ue.join(this.config.keyPrefix,t):t,Metadata:{...r},Body:i||"",ContentType:n,ContentEncoding:a};try{const s=await this.sendCommand(new Yf(o));return this.emit("putObject",s,o),s}catch(s){throw this.errorProxy(s,{key:t,command:o})}}async getObject(t){const r={Bucket:this.config.bucket,Key:ue.join(this.config.keyPrefix,t)};try{const n=await this.sendCommand(new Jf(r));return this.emit("getObject",n,r),n}catch(n){throw this.errorProxy(n,{key:t,command:r})}}async headObject(t){const r={Bucket:this.config.bucket,Key:this.config.keyPrefix?ue.join(this.config.keyPrefix,t):t};try{const n=await this.client.send(new Xf(r));return this.emit("headObject",n,r),n}catch(n){throw this.errorProxy(n,{key:t,command:r})}}async copyObject({from:t,to:r}){const n={Bucket:this.config.bucket,Key:this.config.keyPrefix?ue.join(this.config.keyPrefix,r):r,CopySource:ue.join(this.config.bucket,this.config.keyPrefix?ue.join(this.config.keyPrefix,t):t)};try{const i=await this.client.send(new Qf(n));return this.emit("copyObject",i,n),i}catch(i){throw this.errorProxy(i,{from:t,to:r,command:n})}}async exists(t){try{return await this.headObject(t),!0}catch(r){if(r.name==="NoSuchKey")return!1;if(r.name==="NotFound")return!1;throw r}}async deleteObject(t){const r={Bucket:this.config.bucket,Key:this.config.keyPrefix?ue.join(this.config.keyPrefix,t):t};try{const n=await this.sendCommand(new ec(r));return this.emit("deleteObject",n,r),n}catch(n){throw this.errorProxy(n,{key:t,command:r})}}async deleteObjects(t){const r=ji(t,1e3),{results:n,errors:i}=await le.for(r).withConcurrency(this.parallelism).process(async o=>{const s={Bucket:this.config.bucket,Delete:{Objects:o.map(c=>({Key:this.config.keyPrefix?ue.join(this.config.keyPrefix,c):c}))}};try{return await this.sendCommand(new $i(s))}catch(c){throw this.errorProxy(c,{keys:o,command:s})}}),a={deleted:n,notFound:i};return this.emit("deleteObjects",a,t),a}async deleteAll({prefix:t}={}){let r,n=0;do{const i=new zi({Bucket:this.config.bucket,Prefix:this.config.keyPrefix?ue.join(this.config.keyPrefix,t):t,ContinuationToken:r}),a=await this.client.send(i);if(a.Contents&&a.Contents.length>0){const o=new $i({Bucket:this.config.bucket,Delete:{Objects:a.Contents.map(f=>({Key:f.Key}))}}),s=await this.client.send(o),c=s.Deleted?s.Deleted.length:0;n+=c,this.emit("deleteAll",{prefix:t,batch:c,total:n})}r=a.IsTruncated?a.NextContinuationToken:void 0}while(r);return this.emit("deleteAllComplete",{prefix:t,totalDeleted:n}),n}async moveObject({from:t,to:r}){try{return await this.copyObject({from:t,to:r}),await this.deleteObject(t),!0}catch(n){throw this.errorProxy(n,{from:t,to:r,command:options})}}async listObjects({prefix:t,maxKeys:r=1e3,continuationToken:n}={}){const i={Bucket:this.config.bucket,MaxKeys:r,ContinuationToken:n,Prefix:this.config.keyPrefix?ue.join(this.config.keyPrefix,t||""):t||""};try{const a=await this.sendCommand(new zi(i));return this.emit("listObjects",a,i),a}catch(a){throw this.errorProxy(a,{command:i})}}async count({prefix:t}={}){let r=0,n=!0,i;for(;n;){const a={prefix:t,continuationToken:i},o=await this.listObjects(a);r+=o.KeyCount||0,n=o.IsTruncated||!1,i=o.NextContinuationToken}return this.emit("count",r,{prefix:t}),r}async getAllKeys({prefix:t}={}){let r=[],n=!0,i;for(;n;){const a={prefix:t,continuationToken:i},o=await this.listObjects(a);o.Contents&&(r=r.concat(o.Contents.map(s=>s.Key))),n=o.IsTruncated||!1,i=o.NextContinuationToken}return this.config.keyPrefix&&(r=r.map(a=>a.replace(this.config.keyPrefix,"")).map(a=>a.startsWith("/")?a.replace("/",""):a)),this.emit("getAllKeys",r,{prefix:t}),r}async getContinuationTokenAfterOffset(t={}){const{prefix:r,offset:n=1e3}=t;if(n===0)return null;let i=!0,a,o=0;for(;i;){let s=n<1e3?n:n-o>1e3?1e3:n-o;const c={prefix:r,maxKeys:s,continuationToken:a},f=await this.listObjects(c);if(f.Contents&&(o+=f.Contents.length),i=f.IsTruncated||!1,a=f.NextContinuationToken,o>=n)break}return this.emit("getContinuationTokenAfterOffset",a||null,t),a||null}async getKeysPage(t={}){const{prefix:r,offset:n=0,amount:i=100}=t;let a=[],o=!0,s;for(n>0&&(s=await this.getContinuationTokenAfterOffset({prefix:r,offset:n}));o;){const c={prefix:r,continuationToken:s},f=await this.listObjects(c);if(f.Contents&&(a=a.concat(f.Contents.map(l=>l.Key))),o=f.IsTruncated||!1,s=f.NextContinuationToken,a.length>i){a=a.splice(0,i);break}}return this.config.keyPrefix&&(a=a.map(c=>c.replace(this.config.keyPrefix,"")).map(c=>c.startsWith("/")?c.replace("/",""):c)),this.emit("getKeysPage",a,t),a}async moveAllObjects({prefixFrom:t,prefixTo:r}){const n=await this.getAllKeys({prefix:t}),{results:i,errors:a}=await le.for(n).withConcurrency(this.parallelism).process(async o=>{const s=o.replace(t,r);try{return await this.moveObject({from:o,to:s}),s}catch(c){throw this.errorProxy(c,{from:o,to:s})}});if(this.emit("moveAllObjects",{results:i,errors:a},{prefixFrom:t,prefixTo:r}),a.length>0)throw new Error("Some objects could not be moved");return i}}async function rr(){let e;if(typeof process<"u")try{const{webcrypto:t}=await import("crypto");e=t}catch{throw new Error("Crypto API not available")}else typeof window<"u"&&(e=window.crypto);if(!e)throw new Error("Could not load any crypto library");return e}async function sa(e){const t=await rr(),n=new TextEncoder().encode(e),i=await t.subtle.digest("SHA-256",n);return Array.from(new Uint8Array(i)).map(s=>s.toString(16).padStart(2,"0")).join("")}async function zr(e,t){const r=await rr(),n=r.getRandomValues(new Uint8Array(16)),i=await ca(t,n),a=r.getRandomValues(new Uint8Array(12)),s=new TextEncoder().encode(e),c=await r.subtle.encrypt({name:"AES-GCM",iv:a},i,s),f=new Uint8Array(n.length+a.length+c.byteLength);return f.set(n),f.set(a,n.length),f.set(new Uint8Array(c),n.length+a.length),bc(f)}async function fa(e,t){const r=await rr(),n=mc(e),i=n.slice(0,16),a=n.slice(16,28),o=n.slice(28),s=await ca(t,i),c=await r.subtle.decrypt({name:"AES-GCM",iv:a},s,o);return new TextDecoder().decode(c)}async function ca(e,t){const r=await rr(),i=new TextEncoder().encode(e),a=await r.subtle.importKey("raw",i,{name:"PBKDF2"},!1,["deriveKey"]);return await r.subtle.deriveKey({name:"PBKDF2",salt:t,iterations:1e5,hash:"SHA-256"},a,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"])}function bc(e){if(typeof process<"u")return Buffer.from(e).toString("base64");{const t=String.fromCharCode.apply(null,new Uint8Array(e));return window.btoa(t)}}function mc(e){if(typeof process<"u")return new Uint8Array(Buffer.from(e,"base64"));{const t=window.atob(e),r=t.length,n=new Uint8Array(r);for(let i=0;i<r;i++)n[i]=t.charCodeAt(i);return n}}function xc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var nr={},Zr,la;function Ec(){if(la)return Zr;la=1;var e,t,r={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
8
|
+
`,r:"\r",t:" "},n;function i(u){throw{name:"SyntaxError",message:u,at:e,text:n}}function a(u){return u&&u!==t&&i("Expected '"+u+"' instead of '"+t+"'"),t=n.charAt(e),e+=1,t}function o(){var u,p="";for(t==="-"&&(p="-",a("-"));t>="0"&&t<="9";)p+=t,a();if(t===".")for(p+=".";a()&&t>="0"&&t<="9";)p+=t;if(t==="e"||t==="E")for(p+=t,a(),(t==="-"||t==="+")&&(p+=t,a());t>="0"&&t<="9";)p+=t,a();return u=Number(p),isFinite(u)||i("Bad number"),u}function s(){var u,p,v="",_;if(t==='"')for(;a();){if(t==='"')return a(),v;if(t==="\\")if(a(),t==="u"){for(_=0,p=0;p<4&&(u=parseInt(a(),16),!!isFinite(u));p+=1)_=_*16+u;v+=String.fromCharCode(_)}else if(typeof r[t]=="string")v+=r[t];else break;else v+=t}i("Bad string")}function c(){for(;t&&t<=" ";)a()}function f(){switch(t){case"t":return a("t"),a("r"),a("u"),a("e"),!0;case"f":return a("f"),a("a"),a("l"),a("s"),a("e"),!1;case"n":return a("n"),a("u"),a("l"),a("l"),null;default:i("Unexpected '"+t+"'")}}function l(){var u=[];if(t==="["){if(a("["),c(),t==="]")return a("]"),u;for(;t;){if(u.push(h()),c(),t==="]")return a("]"),u;a(","),c()}}i("Bad array")}function d(){var u,p={};if(t==="{"){if(a("{"),c(),t==="}")return a("}"),p;for(;t;){if(u=s(),c(),a(":"),Object.prototype.hasOwnProperty.call(p,u)&&i('Duplicate key "'+u+'"'),p[u]=h(),c(),t==="}")return a("}"),p;a(","),c()}}i("Bad object")}function h(){switch(c(),t){case"{":return d();case"[":return l();case'"':return s();case"-":return o();default:return t>="0"&&t<="9"?o():f()}}return Zr=function(u,p){var v;return n=u,e=0,t=" ",v=h(),c(),t&&i("Syntax error"),typeof p=="function"?function _(w,E){var S,g,A=w[E];if(A&&typeof A=="object")for(S in h)Object.prototype.hasOwnProperty.call(A,S)&&(g=_(A,S),typeof g>"u"?delete A[S]:A[S]=g);return p.call(w,E,A)}({"":v},""):v},Zr}var qr,ua;function Sc(){if(ua)return qr;ua=1;var e=/[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,t,r,n={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},i;function a(s){return e.lastIndex=0,e.test(s)?'"'+s.replace(e,function(c){var f=n[c];return typeof f=="string"?f:"\\u"+("0000"+c.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+s+'"'}function o(s,c){var f,l,d,h,u=t,p,v=c[s];switch(v&&typeof v=="object"&&typeof v.toJSON=="function"&&(v=v.toJSON(s)),typeof i=="function"&&(v=i.call(c,s,v)),typeof v){case"string":return a(v);case"number":return isFinite(v)?String(v):"null";case"boolean":case"null":return String(v);case"object":if(!v)return"null";if(t+=r,p=[],Object.prototype.toString.apply(v)==="[object Array]"){for(h=v.length,f=0;f<h;f+=1)p[f]=o(f,v)||"null";return d=p.length===0?"[]":t?`[
|
|
9
|
+
`+t+p.join(`,
|
|
10
|
+
`+t)+`
|
|
11
|
+
`+u+"]":"["+p.join(",")+"]",t=u,d}if(i&&typeof i=="object")for(h=i.length,f=0;f<h;f+=1)l=i[f],typeof l=="string"&&(d=o(l,v),d&&p.push(a(l)+(t?": ":":")+d));else for(l in v)Object.prototype.hasOwnProperty.call(v,l)&&(d=o(l,v),d&&p.push(a(l)+(t?": ":":")+d));return d=p.length===0?"{}":t?`{
|
|
12
|
+
`+t+p.join(`,
|
|
13
|
+
`+t)+`
|
|
14
|
+
`+u+"}":"{"+p.join(",")+"}",t=u,d}}return qr=function(s,c,f){var l;if(t="",r="",typeof f=="number")for(l=0;l<f;l+=1)r+=" ";else typeof f=="string"&&(r=f);if(i=c,c&&typeof c!="function"&&(typeof c!="object"||typeof c.length!="number"))throw new Error("JSON.stringify");return o("",{"":s})},qr}var ha;function Ac(){return ha||(ha=1,nr.parse=Ec(),nr.stringify=Sc()),nr}var Hr,da;function kc(){if(da)return Hr;da=1;var e={}.toString;return Hr=Array.isArray||function(t){return e.call(t)=="[object Array]"},Hr}var Kr,pa;function ya(){if(pa)return Kr;pa=1;var e=Object.prototype.toString;return Kr=function(r){var n=e.call(r),i=n==="[object Arguments]";return i||(i=n!=="[object Array]"&&r!==null&&typeof r=="object"&&typeof r.length=="number"&&r.length>=0&&e.call(r.callee)==="[object Function]"),i},Kr}var Wr,va;function Rc(){if(va)return Wr;va=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,r=Object.prototype.toString,n=ya(),i=Object.prototype.propertyIsEnumerable,a=!i.call({toString:null},"toString"),o=i.call(function(){},"prototype"),s=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],c=function(h){var u=h.constructor;return u&&u.prototype===h},f={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},l=function(){if(typeof window>"u")return!1;for(var h in window)try{if(!f["$"+h]&&t.call(window,h)&&window[h]!==null&&typeof window[h]=="object")try{c(window[h])}catch{return!0}}catch{return!0}return!1}(),d=function(h){if(typeof window>"u"||!l)return c(h);try{return c(h)}catch{return!1}};e=function(u){var p=u!==null&&typeof u=="object",v=r.call(u)==="[object Function]",_=n(u),w=p&&r.call(u)==="[object String]",E=[];if(!p&&!v&&!_)throw new TypeError("Object.keys called on a non-object");var S=o&&v;if(w&&u.length>0&&!t.call(u,0))for(var g=0;g<u.length;++g)E.push(String(g));if(_&&u.length>0)for(var A=0;A<u.length;++A)E.push(String(A));else for(var T in u)!(S&&T==="prototype")&&t.call(u,T)&&E.push(String(T));if(a)for(var b=d(u),x=0;x<s.length;++x)!(b&&s[x]==="constructor")&&t.call(u,s[x])&&E.push(s[x]);return E}}return Wr=e,Wr}var Gr,ga;function Oc(){if(ga)return Gr;ga=1;var e=Array.prototype.slice,t=ya(),r=Object.keys,n=r?function(o){return r(o)}:Rc(),i=Object.keys;return n.shim=function(){if(Object.keys){var o=function(){var s=Object.keys(arguments);return s&&s.length===arguments.length}(1,2);o||(Object.keys=function(c){return t(c)?i(e.call(c)):i(c)})}else Object.keys=n;return Object.keys||n},Gr=n,Gr}var Vr={exports:{}},Yr,_a;function wa(){return _a||(_a=1,Yr=Object),Yr}var Jr,ba;function Tc(){return ba||(ba=1,Jr=Error),Jr}var Xr,ma;function Ic(){return ma||(ma=1,Xr=EvalError),Xr}var Qr,xa;function Pc(){return xa||(xa=1,Qr=RangeError),Qr}var en,Ea;function Fc(){return Ea||(Ea=1,en=ReferenceError),en}var tn,Sa;function Aa(){return Sa||(Sa=1,tn=SyntaxError),tn}var rn,ka;function ir(){return ka||(ka=1,rn=TypeError),rn}var nn,Ra;function Cc(){return Ra||(Ra=1,nn=URIError),nn}var an,Oa;function Dc(){return Oa||(Oa=1,an=Math.abs),an}var on,Ta;function Mc(){return Ta||(Ta=1,on=Math.floor),on}var sn,Ia;function Lc(){return Ia||(Ia=1,sn=Math.max),sn}var fn,Pa;function jc(){return Pa||(Pa=1,fn=Math.min),fn}var cn,Fa;function Nc(){return Fa||(Fa=1,cn=Math.pow),cn}var ln,Ca;function Bc(){return Ca||(Ca=1,ln=Math.round),ln}var un,Da;function Uc(){return Da||(Da=1,un=Number.isNaN||function(t){return t!==t}),un}var hn,Ma;function $c(){if(Ma)return hn;Ma=1;var e=Uc();return hn=function(r){return e(r)||r===0?r:r<0?-1:1},hn}var dn,La;function zc(){return La||(La=1,dn=Object.getOwnPropertyDescriptor),dn}var pn,ja;function ar(){if(ja)return pn;ja=1;var e=zc();if(e)try{e([],"length")}catch{e=null}return pn=e,pn}var yn,Na;function or(){if(Na)return yn;Na=1;var e=Object.defineProperty||!1;if(e)try{e({},"a",{value:1})}catch{e=!1}return yn=e,yn}var vn,Ba;function Zc(){return Ba||(Ba=1,vn=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var i=42;t[r]=i;for(var a in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var o=Object.getOwnPropertySymbols(t);if(o.length!==1||o[0]!==r||!Object.prototype.propertyIsEnumerable.call(t,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var s=Object.getOwnPropertyDescriptor(t,r);if(s.value!==i||s.enumerable!==!0)return!1}return!0}),vn}var gn,Ua;function qc(){if(Ua)return gn;Ua=1;var e=typeof Symbol<"u"&&Symbol,t=Zc();return gn=function(){return typeof e!="function"||typeof Symbol!="function"||typeof e("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:t()},gn}var _n,$a;function za(){return $a||($a=1,_n=typeof Reflect<"u"&&Reflect.getPrototypeOf||null),_n}var wn,Za;function qa(){if(Za)return wn;Za=1;var e=wa();return wn=e.getPrototypeOf||null,wn}var bn,Ha;function Hc(){if(Ha)return bn;Ha=1;var e="Function.prototype.bind called on incompatible ",t=Object.prototype.toString,r=Math.max,n="[object Function]",i=function(c,f){for(var l=[],d=0;d<c.length;d+=1)l[d]=c[d];for(var h=0;h<f.length;h+=1)l[h+c.length]=f[h];return l},a=function(c,f){for(var l=[],d=f,h=0;d<c.length;d+=1,h+=1)l[h]=c[d];return l},o=function(s,c){for(var f="",l=0;l<s.length;l+=1)f+=s[l],l+1<s.length&&(f+=c);return f};return bn=function(c){var f=this;if(typeof f!="function"||t.apply(f)!==n)throw new TypeError(e+f);for(var l=a(arguments,1),d,h=function(){if(this instanceof d){var w=f.apply(this,i(l,arguments));return Object(w)===w?w:this}return f.apply(c,i(l,arguments))},u=r(0,f.length-l.length),p=[],v=0;v<u;v++)p[v]="$"+v;if(d=Function("binder","return function ("+o(p,",")+"){ return binder.apply(this,arguments); }")(h),f.prototype){var _=function(){};_.prototype=f.prototype,d.prototype=new _,_.prototype=null}return d},bn}var mn,Ka;function Rt(){if(Ka)return mn;Ka=1;var e=Hc();return mn=Function.prototype.bind||e,mn}var xn,Wa;function En(){return Wa||(Wa=1,xn=Function.prototype.call),xn}var Sn,Ga;function An(){return Ga||(Ga=1,Sn=Function.prototype.apply),Sn}var kn,Va;function Kc(){return Va||(Va=1,kn=typeof Reflect<"u"&&Reflect&&Reflect.apply),kn}var Rn,Ya;function Ja(){if(Ya)return Rn;Ya=1;var e=Rt(),t=An(),r=En(),n=Kc();return Rn=n||e.call(r,t),Rn}var On,Xa;function Tn(){if(Xa)return On;Xa=1;var e=Rt(),t=ir(),r=En(),n=Ja();return On=function(a){if(a.length<1||typeof a[0]!="function")throw new t("a function is required");return n(e,r,a)},On}var In,Qa;function Wc(){if(Qa)return In;Qa=1;var e=Tn(),t=ar(),r;try{r=[].__proto__===Array.prototype}catch(o){if(!o||typeof o!="object"||!("code"in o)||o.code!=="ERR_PROTO_ACCESS")throw o}var n=!!r&&t&&t(Object.prototype,"__proto__"),i=Object,a=i.getPrototypeOf;return In=n&&typeof n.get=="function"?e([n.get]):typeof a=="function"?function(s){return a(s==null?s:i(s))}:!1,In}var Pn,eo;function Gc(){if(eo)return Pn;eo=1;var e=za(),t=qa(),r=Wc();return Pn=e?function(i){return e(i)}:t?function(i){if(!i||typeof i!="object"&&typeof i!="function")throw new TypeError("getProto: not an object");return t(i)}:r?function(i){return r(i)}:null,Pn}var Fn,to;function Vc(){if(to)return Fn;to=1;var e=Function.prototype.call,t=Object.prototype.hasOwnProperty,r=Rt();return Fn=r.call(e,t),Fn}var Cn,ro;function no(){if(ro)return Cn;ro=1;var e,t=wa(),r=Tc(),n=Ic(),i=Pc(),a=Fc(),o=Aa(),s=ir(),c=Cc(),f=Dc(),l=Mc(),d=Lc(),h=jc(),u=Nc(),p=Bc(),v=$c(),_=Function,w=function(fe){try{return _('"use strict"; return ('+fe+").constructor;")()}catch{}},E=ar(),S=or(),g=function(){throw new s},A=E?function(){try{return arguments.callee,g}catch{try{return E(arguments,"callee").get}catch{return g}}}():g,T=qc()(),b=Gc(),x=qa(),O=za(),k=An(),C=En(),z={},W=typeof Uint8Array>"u"||!b?e:b(Uint8Array),te={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?e:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?e:ArrayBuffer,"%ArrayIteratorPrototype%":T&&b?b([][Symbol.iterator]()):e,"%AsyncFromSyncIteratorPrototype%":e,"%AsyncFunction%":z,"%AsyncGenerator%":z,"%AsyncGeneratorFunction%":z,"%AsyncIteratorPrototype%":z,"%Atomics%":typeof Atomics>"u"?e:Atomics,"%BigInt%":typeof BigInt>"u"?e:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?e:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?e:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?e:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":r,"%eval%":eval,"%EvalError%":n,"%Float16Array%":typeof Float16Array>"u"?e:Float16Array,"%Float32Array%":typeof Float32Array>"u"?e:Float32Array,"%Float64Array%":typeof Float64Array>"u"?e:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?e:FinalizationRegistry,"%Function%":_,"%GeneratorFunction%":z,"%Int8Array%":typeof Int8Array>"u"?e:Int8Array,"%Int16Array%":typeof Int16Array>"u"?e:Int16Array,"%Int32Array%":typeof Int32Array>"u"?e:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":T&&b?b(b([][Symbol.iterator]())):e,"%JSON%":typeof JSON=="object"?JSON:e,"%Map%":typeof Map>"u"?e:Map,"%MapIteratorPrototype%":typeof Map>"u"||!T||!b?e:b(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":t,"%Object.getOwnPropertyDescriptor%":E,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?e:Promise,"%Proxy%":typeof Proxy>"u"?e:Proxy,"%RangeError%":i,"%ReferenceError%":a,"%Reflect%":typeof Reflect>"u"?e:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?e:Set,"%SetIteratorPrototype%":typeof Set>"u"||!T||!b?e:b(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?e:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":T&&b?b(""[Symbol.iterator]()):e,"%Symbol%":T?Symbol:e,"%SyntaxError%":o,"%ThrowTypeError%":A,"%TypedArray%":W,"%TypeError%":s,"%Uint8Array%":typeof Uint8Array>"u"?e:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?e:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?e:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?e:Uint32Array,"%URIError%":c,"%WeakMap%":typeof WeakMap>"u"?e:WeakMap,"%WeakRef%":typeof WeakRef>"u"?e:WeakRef,"%WeakSet%":typeof WeakSet>"u"?e:WeakSet,"%Function.prototype.call%":C,"%Function.prototype.apply%":k,"%Object.defineProperty%":S,"%Object.getPrototypeOf%":x,"%Math.abs%":f,"%Math.floor%":l,"%Math.max%":d,"%Math.min%":h,"%Math.pow%":u,"%Math.round%":p,"%Math.sign%":v,"%Reflect.getPrototypeOf%":O};if(b)try{null.error}catch(fe){var Be=b(b(fe));te["%Error.prototype%"]=Be}var V=function fe(L){var H;if(L==="%AsyncFunction%")H=w("async function () {}");else if(L==="%GeneratorFunction%")H=w("function* () {}");else if(L==="%AsyncGeneratorFunction%")H=w("async function* () {}");else if(L==="%AsyncGenerator%"){var N=fe("%AsyncGeneratorFunction%");N&&(H=N.prototype)}else if(L==="%AsyncIteratorPrototype%"){var G=fe("%AsyncGenerator%");G&&b&&(H=b(G.prototype))}return te[L]=H,H},se={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Ue=Rt(),$e=Vc(),Et=Ue.call(C,Array.prototype.concat),jf=Ue.call(k,Array.prototype.splice),Li=Ue.call(C,String.prototype.replace),Vt=Ue.call(C,String.prototype.slice),Nf=Ue.call(C,RegExp.prototype.exec),Bf=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Uf=/\\(\\)?/g,$f=function(L){var H=Vt(L,0,1),N=Vt(L,-1);if(H==="%"&&N!=="%")throw new o("invalid intrinsic syntax, expected closing `%`");if(N==="%"&&H!=="%")throw new o("invalid intrinsic syntax, expected opening `%`");var G=[];return Li(L,Bf,function(ce,ft,Y,Yt){G[G.length]=Y?Li(Yt,Uf,"$1"):ft||ce}),G},zf=function(L,H){var N=L,G;if($e(se,N)&&(G=se[N],N="%"+G[0]+"%"),$e(te,N)){var ce=te[N];if(ce===z&&(ce=V(N)),typeof ce>"u"&&!H)throw new s("intrinsic "+L+" exists, but is not available. Please file an issue!");return{alias:G,name:N,value:ce}}throw new o("intrinsic "+L+" does not exist!")};return Cn=function(L,H){if(typeof L!="string"||L.length===0)throw new s("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof H!="boolean")throw new s('"allowMissing" argument must be a boolean');if(Nf(/^%?[^%]*%?$/,L)===null)throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var N=$f(L),G=N.length>0?N[0]:"",ce=zf("%"+G+"%",H),ft=ce.name,Y=ce.value,Yt=!1,Mr=ce.alias;Mr&&(G=Mr[0],jf(N,Et([0,1],Mr)));for(var Jt=1,St=!0;Jt<N.length;Jt+=1){var ve=N[Jt],Xt=Vt(ve,0,1),Qt=Vt(ve,-1);if((Xt==='"'||Xt==="'"||Xt==="`"||Qt==='"'||Qt==="'"||Qt==="`")&&Xt!==Qt)throw new o("property names with quotes must have matching quotes");if((ve==="constructor"||!St)&&(Yt=!0),G+="."+ve,ft="%"+G+"%",$e(te,ft))Y=te[ft];else if(Y!=null){if(!(ve in Y)){if(!H)throw new s("base intrinsic for "+L+" exists, but the property is not available.");return}if(E&&Jt+1>=N.length){var er=E(Y,ve);St=!!er,St&&"get"in er&&!("originalValue"in er.get)?Y=er.get:Y=Y[ve]}else St=$e(Y,ve),Y=Y[ve];St&&!Yt&&(te[ft]=Y)}}return Y},Cn}var Dn,io;function Yc(){if(io)return Dn;io=1;var e=or(),t=Aa(),r=ir(),n=ar();return Dn=function(a,o,s){if(!a||typeof a!="object"&&typeof a!="function")throw new r("`obj` must be an object or a function`");if(typeof o!="string"&&typeof o!="symbol")throw new r("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new r("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new r("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new r("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new r("`loose`, if provided, must be a boolean");var c=arguments.length>3?arguments[3]:null,f=arguments.length>4?arguments[4]:null,l=arguments.length>5?arguments[5]:null,d=arguments.length>6?arguments[6]:!1,h=!!n&&n(a,o);if(e)e(a,o,{configurable:l===null&&h?h.configurable:!l,enumerable:c===null&&h?h.enumerable:!c,value:s,writable:f===null&&h?h.writable:!f});else if(d||!c&&!f&&!l)a[o]=s;else throw new t("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},Dn}var Mn,ao;function Jc(){if(ao)return Mn;ao=1;var e=or(),t=function(){return!!e};return t.hasArrayLengthDefineBug=function(){if(!e)return null;try{return e([],"length",{value:1}).length!==1}catch{return!0}},Mn=t,Mn}var Ln,oo;function Xc(){if(oo)return Ln;oo=1;var e=no(),t=Yc(),r=Jc()(),n=ar(),i=ir(),a=e("%Math.floor%");return Ln=function(s,c){if(typeof s!="function")throw new i("`fn` is not a function");if(typeof c!="number"||c<0||c>4294967295||a(c)!==c)throw new i("`length` must be a positive 32-bit integer");var f=arguments.length>2&&!!arguments[2],l=!0,d=!0;if("length"in s&&n){var h=n(s,"length");h&&!h.configurable&&(l=!1),h&&!h.writable&&(d=!1)}return(l||d||!f)&&(r?t(s,"length",c,!0,!0):t(s,"length",c)),s},Ln}var jn,so;function Qc(){if(so)return jn;so=1;var e=Rt(),t=An(),r=Ja();return jn=function(){return r(e,t,arguments)},jn}var fo;function el(){return fo||(fo=1,function(e){var t=Xc(),r=or(),n=Tn(),i=Qc();e.exports=function(o){var s=n(arguments),c=o.length-(arguments.length-1);return t(s,1+(c>0?c:0),!0)},r?r(e.exports,"apply",{value:i}):e.exports.apply=i}(Vr)),Vr.exports}var Nn,co;function tl(){if(co)return Nn;co=1;var e=no(),t=Tn(),r=t([e("%String.prototype.indexOf%")]);return Nn=function(i,a){var o=e(i,!!a);return typeof o=="function"&&r(i,".prototype.")>-1?t([o]):o},Nn}var Bn,lo;function rl(){if(lo)return Bn;lo=1;var e=(typeof JSON<"u"?JSON:Ac()).stringify,t=kc(),r=Oc(),n=el(),i=tl(),a=i("Array.prototype.join"),o=i("Array.prototype.indexOf"),s=i("Array.prototype.splice"),c=i("Array.prototype.sort"),f=function(h,u){for(var p="",v=0;v<h;v+=1)p+=u;return p},l=function(d,h,u){return u};return Bn=function(h){var u=arguments.length>1?arguments[1]:void 0,p=u&&u.space||"";typeof p=="number"&&(p=f(p," "));var v=!!u&&typeof u.cycles=="boolean"&&u.cycles,_=u&&u.replacer?n(u.replacer):l;if(u&&typeof u.collapseEmpty<"u"&&typeof u.collapseEmpty!="boolean")throw new TypeError("`collapseEmpty` must be a boolean, if provided");var w=!!u&&u.collapseEmpty,E=typeof u=="function"?u:u&&u.cmp,S=E&&function(A){var T=E.length>2&&function(x){return A[x]};return function(b,x){return E({key:b,value:A[b]},{key:x,value:A[x]},T?{__proto__:null,get:T}:void 0)}},g=[];return function A(T,b,x,O){var k=p?`
|
|
15
|
+
`+f(O,p):"",C=p?": ":":";if(x&&x.toJSON&&typeof x.toJSON=="function"&&(x=x.toJSON()),x=_(T,b,x),x!==void 0){if(typeof x!="object"||x===null)return e(x);var z=function($e,Et){return w&&$e.length===0?Et:(Et==="[]"?"[":"{")+a($e,",")+k+(Et==="[]"?"]":"}")};if(t(x)){for(var V=[],W=0;W<x.length;W++){var te=A(x,W,x[W],O+1)||e(null);V[V.length]=k+p+te}return z(V,"[]")}if(o(g,x)!==-1){if(v)return e("__cycle__");throw new TypeError("Converting circular structure to JSON")}else g[g.length]=x;for(var Be=c(r(x),S&&S(x)),V=[],W=0;W<Be.length;W++){var b=Be[W],se=A(x,b,x[b],O+1);if(se){var Ue=e(b)+C+se;V[V.length]=k+p+Ue}}return s(g,o(g,x),1),z(V,"{}")}}({"":h},"",h,0)},Bn}var nl=rl(),uo=xc(nl);async function Un(e,t,r){if(!this.passphrase)return t.push({actual:e,type:"encryptionKeyMissing"}),e;try{return await zr(String(e),this.passphrase)}catch(n){t.push({actual:e,type:"encryptionProblem",error:n})}return e}class ho extends rc{constructor({options:t,passphrase:r,autoEncrypt:n=!0}={}){super(At({},{useNewCustomCheckerFunction:!0,messages:{encryptionKeyMissing:"Missing configuration for secrets encryption.",encryptionProblem:"Problem encrypting secret. Actual: {actual}. Error: {error}"},defaults:{string:{trim:!0},object:{strict:"remove"}}},t)),this.passphrase=r,this.autoEncrypt=n,this.alias("secret",{type:"string",custom:this.autoEncrypt?Un:void 0,messages:{string:"The '{field}' field must be a string.",stringMin:"This secret '{field}' field length must be at least {expected} long."}}),this.alias("secretAny",{type:"any",custom:this.autoEncrypt?Un:void 0}),this.alias("secretNumber",{type:"number",custom:this.autoEncrypt?Un:void 0})}}const po=new Proxy(ho,{instance:null,construct(e,t){return this.instance||(this.instance=new e(...t)),this.instance}}),yo={trim:e=>e.trim(),encrypt:(e,{passphrase:t})=>zr(e,t),decrypt:(e,{passphrase:t})=>fa(e,t),toString:e=>String(e),fromArray:(e,{separator:t})=>e==null||!Array.isArray(e)?e:e.length===0?"[]":e.map(n=>typeof n=="string"?n.replace(/\\/g,"\\\\").replace(new RegExp(`\\${t}`,"g"),`\\${t}`):String(n)).join(t),toArray:(e,{separator:t})=>{if(e==null)return e;if(e==="[]")return[];if(e==="")return[];const r=[];let n="",i=0;const a=String(e);for(;i<a.length;)a[i]==="\\"&&i+1<a.length?a[i+1]===t?(n+=t,i+=2):a[i+1]==="\\"?(n+="\\",i+=2):(n+=a[i],i++):a[i]===t?(r.push(n),n="",i++):(n+=a[i],i++);return r.push(n),r},toJSON:e=>JSON.stringify(e),fromJSON:e=>JSON.parse(e),toNumber:e=>Ui(e)?e.includes(".")?parseFloat(e):parseInt(e):e,toBool:e=>[!0,1,"true","1","yes","y"].includes(e),fromBool:e=>[!0,1,"true","1","yes","y"].includes(e)?"1":"0"};class Dr{constructor(t){const{map:r,name:n,attributes:i,passphrase:a,version:o=1,options:s={}}=t;if(this.name=n,this.version=o,this.attributes=i||{},this.passphrase=a??"secret",this.options=At({},this.defaultOptions(),s),this.validator=new po({autoEncrypt:!1}).compile(At({$$async:!0},ze(this.attributes))),this.options.generateAutoHooks&&this.generateAutoHooks(),!Ni(r))this.map=r,this.reversedMap=Bi(r);else{const c=Lr(this.attributes,{safe:!0}),f=Object.keys(c).filter(h=>!h.includes("$$")),l=this.extractObjectKeys(this.attributes),d=[...new Set([...f,...l])];this.reversedMap={...d},this.map=Bi(this.reversedMap)}}defaultOptions(){return{autoEncrypt:!0,autoDecrypt:!0,arraySeparator:"|",generateAutoHooks:!0,hooks:{beforeMap:{},afterMap:{},beforeUnmap:{},afterUnmap:{}}}}addHook(t,r,n){this.options.hooks[t][r]||(this.options.hooks[t][r]=[]),this.options.hooks[t][r]=Hf([...this.options.hooks[t][r],n])}extractObjectKeys(t,r=""){const n=[];for(const[i,a]of Object.entries(t)){if(i.startsWith("$$"))continue;const o=r?`${r}.${i}`:i;typeof a=="object"&&a!==null&&!Array.isArray(a)&&(n.push(o),a.$$type==="object"&&n.push(...this.extractObjectKeys(a,o)))}return n}generateAutoHooks(){const t=Lr(ze(this.attributes),{safe:!0});for(const[r,n]of Object.entries(t))n.includes("array")?(this.addHook("beforeMap",r,"fromArray"),this.addHook("afterUnmap",r,"toArray")):(n.includes("secret")&&(this.options.autoEncrypt&&this.addHook("beforeMap",r,"encrypt"),this.options.autoDecrypt&&this.addHook("afterUnmap",r,"decrypt")),n.includes("number")&&(this.addHook("beforeMap",r,"toString"),this.addHook("afterUnmap",r,"toNumber")),n.includes("boolean")&&(this.addHook("beforeMap",r,"fromBool"),this.addHook("afterUnmap",r,"toBool")))}static import(t){let{map:r,name:n,options:i,version:a,attributes:o}=Ui(t)?JSON.parse(t):t;return new Dr({map:r,name:n,options:i,version:a,attributes:o})}export(){const t={version:this.version,name:this.name,options:this.options,attributes:ze(this.attributes),map:this.map};for(const[r,n]of Object.entries(this.attributes))typeof n!="string"?t.attributes[r]=JSON.stringify(n):t.attributes[r]=n;return t}async applyHooksActions(t,r){for(const[n,i]of Object.entries(this.options.hooks[r]))for(const a of i){const o=Kf(t,n);o!==void 0&&typeof yo[a]=="function"&&Wf(t,n,await yo[a](o,{passphrase:this.passphrase,separator:this.options.arraySeparator}))}}async validate(t,{mutateOriginal:r=!1}={}){let n=r?t:ze(t);return await this.validator(n)}async mapper(t){const r=Lr(ze(t),{safe:!0});await this.applyHooksActions(r,"beforeMap");const n={_v:this.version+""};for(const[i,a]of Object.entries(r))n[this.map[i]]=a;return await this.applyHooksActions(n,"afterMap"),n}async unmapper(t){const r=ze(t);delete r._v,await this.applyHooksActions(r,"beforeUnmap");const n={};for(const[i,a]of Object.entries(r))n[this.reversedMap[i]]=a;return await this.applyHooksActions(n,"afterUnmap"),tc(n)}}var lt=typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{},he=[],re=[],il=typeof Uint8Array<"u"?Uint8Array:Array,$n=!1;function vo(){$n=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,r=e.length;t<r;++t)he[t]=e[t],re[e.charCodeAt(t)]=t;re[45]=62,re[95]=63}function al(e){$n||vo();var t,r,n,i,a,o,s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");a=e[s-2]==="="?2:e[s-1]==="="?1:0,o=new il(s*3/4-a),n=a>0?s-4:s;var c=0;for(t=0,r=0;t<n;t+=4,r+=3)i=re[e.charCodeAt(t)]<<18|re[e.charCodeAt(t+1)]<<12|re[e.charCodeAt(t+2)]<<6|re[e.charCodeAt(t+3)],o[c++]=i>>16&255,o[c++]=i>>8&255,o[c++]=i&255;return a===2?(i=re[e.charCodeAt(t)]<<2|re[e.charCodeAt(t+1)]>>4,o[c++]=i&255):a===1&&(i=re[e.charCodeAt(t)]<<10|re[e.charCodeAt(t+1)]<<4|re[e.charCodeAt(t+2)]>>2,o[c++]=i>>8&255,o[c++]=i&255),o}function ol(e){return he[e>>18&63]+he[e>>12&63]+he[e>>6&63]+he[e&63]}function sl(e,t,r){for(var n,i=[],a=t;a<r;a+=3)n=(e[a]<<16)+(e[a+1]<<8)+e[a+2],i.push(ol(n));return i.join("")}function go(e){$n||vo();for(var t,r=e.length,n=r%3,i="",a=[],o=16383,s=0,c=r-n;s<c;s+=o)a.push(sl(e,s,s+o>c?c:s+o));return n===1?(t=e[r-1],i+=he[t>>2],i+=he[t<<4&63],i+="=="):n===2&&(t=(e[r-2]<<8)+e[r-1],i+=he[t>>10],i+=he[t>>4&63],i+=he[t<<2&63],i+="="),a.push(i),a.join("")}function sr(e,t,r,n,i){var a,o,s=i*8-n-1,c=(1<<s)-1,f=c>>1,l=-7,d=r?i-1:0,h=r?-1:1,u=e[t+d];for(d+=h,a=u&(1<<-l)-1,u>>=-l,l+=s;l>0;a=a*256+e[t+d],d+=h,l-=8);for(o=a&(1<<-l)-1,a>>=-l,l+=n;l>0;o=o*256+e[t+d],d+=h,l-=8);if(a===0)a=1-f;else{if(a===c)return o?NaN:(u?-1:1)*(1/0);o=o+Math.pow(2,n),a=a-f}return(u?-1:1)*o*Math.pow(2,a-n)}function _o(e,t,r,n,i,a){var o,s,c,f=a*8-i-1,l=(1<<f)-1,d=l>>1,h=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,u=n?0:a-1,p=n?1:-1,v=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),o+d>=1?t+=h/c:t+=h*Math.pow(2,1-d),t*c>=2&&(o++,c/=2),o+d>=l?(s=0,o=l):o+d>=1?(s=(t*c-1)*Math.pow(2,i),o=o+d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),o=0));i>=8;e[r+u]=s&255,u+=p,s/=256,i-=8);for(o=o<<i|s,f+=i;f>0;e[r+u]=o&255,u+=p,o/=256,f-=8);e[r+u-p]|=v*128}var fl={}.toString,wo=Array.isArray||function(e){return fl.call(e)=="[object Array]"};/*!
|
|
8
16
|
* The buffer module from node.js, for the browser.
|
|
9
17
|
*
|
|
10
18
|
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
|
|
11
19
|
* @license MIT
|
|
12
|
-
*/var No=50;c.TYPED_ARRAY_SUPPORT=We.TYPED_ARRAY_SUPPORT!==void 0?We.TYPED_ARRAY_SUPPORT:!0,Ot();function Ot(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function ne(e,t){if(Ot()<t)throw new RangeError("Invalid typed array length");return c.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=c.prototype):(e===null&&(e=new c(t)),e.length=t),e}function c(e,t,r){if(!c.TYPED_ARRAY_SUPPORT&&!(this instanceof c))return new c(e,t,r);if(typeof e=="number"){if(typeof t=="string")throw new Error("If encoding is specified then the first argument must be a string");return ur(this,e)}return Bi(this,e,t,r)}c.poolSize=8192,c._augment=function(e){return e.__proto__=c.prototype,e};function Bi(e,t,r,i){if(typeof t=="number")throw new TypeError('"value" argument must not be a number');return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer?Uo(e,t,r,i):typeof t=="string"?Po(e,t,r):Bo(e,t)}c.from=function(e,t,r){return Bi(null,e,t,r)},c.TYPED_ARRAY_SUPPORT&&(c.prototype.__proto__=Uint8Array.prototype,c.__proto__=Uint8Array,typeof Symbol<"u"&&Symbol.species&&c[Symbol.species]);function Zi(e){if(typeof e!="number")throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function zo(e,t,r,i){return Zi(t),t<=0?ne(e,t):r!==void 0?typeof i=="string"?ne(e,t).fill(r,i):ne(e,t).fill(r):ne(e,t)}c.alloc=function(e,t,r){return zo(null,e,t,r)};function ur(e,t){if(Zi(t),e=ne(e,t<0?0:pr(t)|0),!c.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}c.allocUnsafe=function(e){return ur(null,e)},c.allocUnsafeSlow=function(e){return ur(null,e)};function Po(e,t,r){if((typeof r!="string"||r==="")&&(r="utf8"),!c.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var i=ji(t,r)|0;e=ne(e,i);var n=e.write(t,r);return n!==i&&(e=e.slice(0,n)),e}function dr(e,t){var r=t.length<0?0:pr(t.length)|0;e=ne(e,r);for(var i=0;i<r;i+=1)e[i]=t[i]&255;return e}function Uo(e,t,r,i){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(i||0))throw new RangeError("'length' is out of bounds");return r===void 0&&i===void 0?t=new Uint8Array(t):i===void 0?t=new Uint8Array(t,r):t=new Uint8Array(t,r,i),c.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=c.prototype):e=dr(e,t),e}function Bo(e,t){if(ee(t)){var r=pr(t.length)|0;return e=ne(e,r),e.length===0||t.copy(e,0,0,r),e}if(t){if(typeof ArrayBuffer<"u"&&t.buffer instanceof ArrayBuffer||"length"in t)return typeof t.length!="number"||as(t.length)?ne(e,0):dr(e,t);if(t.type==="Buffer"&&Ui(t.data))return dr(e,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function pr(e){if(e>=Ot())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Ot().toString(16)+" bytes");return e|0}c.isBuffer=os;function ee(e){return!!(e!=null&&e._isBuffer)}c.compare=function(t,r){if(!ee(t)||!ee(r))throw new TypeError("Arguments must be Buffers");if(t===r)return 0;for(var i=t.length,n=r.length,a=0,o=Math.min(i,n);a<o;++a)if(t[a]!==r[a]){i=t[a],n=r[a];break}return i<n?-1:n<i?1:0},c.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},c.concat=function(t,r){if(!Ui(t))throw new TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return c.alloc(0);var i;if(r===void 0)for(r=0,i=0;i<t.length;++i)r+=t[i].length;var n=c.allocUnsafe(r),a=0;for(i=0;i<t.length;++i){var o=t[i];if(!ee(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(n,a),a+=o.length}return n};function ji(e,t){if(ee(e))return e.length;if(typeof ArrayBuffer<"u"&&typeof ArrayBuffer.isView=="function"&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;typeof e!="string"&&(e=""+e);var r=e.length;if(r===0)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return Mt(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Xi(e).length;default:if(i)return Mt(e).length;t=(""+t).toLowerCase(),i=!0}}c.byteLength=ji;function Zo(e,t,r){var i=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return Xo(this,t,r);case"utf8":case"utf-8":return Wi(this,t,r);case"ascii":return Go(this,t,r);case"latin1":case"binary":return Vo(this,t,r);case"base64":return Yo(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Jo(this,t,r);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}c.prototype._isBuffer=!0;function Ae(e,t,r){var i=e[t];e[t]=e[r],e[r]=i}c.prototype.swap16=function(){var t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var r=0;r<t;r+=2)Ae(this,r,r+1);return this},c.prototype.swap32=function(){var t=this.length;if(t%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var r=0;r<t;r+=4)Ae(this,r,r+3),Ae(this,r+1,r+2);return this},c.prototype.swap64=function(){var t=this.length;if(t%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var r=0;r<t;r+=8)Ae(this,r,r+7),Ae(this,r+1,r+6),Ae(this,r+2,r+5),Ae(this,r+3,r+4);return this},c.prototype.toString=function(){var t=this.length|0;return t===0?"":arguments.length===0?Wi(this,0,t):Zo.apply(this,arguments)},c.prototype.equals=function(t){if(!ee(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:c.compare(this,t)===0},c.prototype.inspect=function(){var t="",r=No;return this.length>0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),"<Buffer "+t+">"},c.prototype.compare=function(t,r,i,n,a){if(!ee(t))throw new TypeError("Argument must be a Buffer");if(r===void 0&&(r=0),i===void 0&&(i=t?t.length:0),n===void 0&&(n=0),a===void 0&&(a=this.length),r<0||i>t.length||n<0||a>this.length)throw new RangeError("out of range index");if(n>=a&&r>=i)return 0;if(n>=a)return-1;if(r>=i)return 1;if(r>>>=0,i>>>=0,n>>>=0,a>>>=0,this===t)return 0;for(var o=a-n,s=i-r,h=Math.min(o,s),f=this.slice(n,a),l=t.slice(r,i),d=0;d<h;++d)if(f[d]!==l[d]){o=f[d],s=l[d];break}return o<s?-1:s<o?1:0};function $i(e,t,r,i,n){if(e.length===0)return-1;if(typeof r=="string"?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=n?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(n)return-1;r=e.length-1}else if(r<0)if(n)r=0;else return-1;if(typeof t=="string"&&(t=c.from(t,i)),ee(t))return t.length===0?-1:Hi(e,t,r,i,n);if(typeof t=="number")return t=t&255,c.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?n?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):Hi(e,[t],r,i,n);throw new TypeError("val must be string, number or Buffer")}function Hi(e,t,r,i,n){var a=1,o=e.length,s=t.length;if(i!==void 0&&(i=String(i).toLowerCase(),i==="ucs2"||i==="ucs-2"||i==="utf16le"||i==="utf-16le")){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,r/=2}function h(u,g){return a===1?u[g]:u.readUInt16BE(g*a)}var f;if(n){var l=-1;for(f=r;f<o;f++)if(h(e,f)===h(t,l===-1?0:f-l)){if(l===-1&&(l=f),f-l+1===s)return l*a}else l!==-1&&(f-=f-l),l=-1}else for(r+s>o&&(r=o-s),f=r;f>=0;f--){for(var d=!0,p=0;p<s;p++)if(h(e,f+p)!==h(t,p)){d=!1;break}if(d)return f}return-1}c.prototype.includes=function(t,r,i){return this.indexOf(t,r,i)!==-1},c.prototype.indexOf=function(t,r,i){return $i(this,t,r,i,!0)},c.prototype.lastIndexOf=function(t,r,i){return $i(this,t,r,i,!1)};function jo(e,t,r,i){r=Number(r)||0;var n=e.length-r;i?(i=Number(i),i>n&&(i=n)):i=n;var a=t.length;if(a%2!==0)throw new TypeError("Invalid hex string");i>a/2&&(i=a/2);for(var o=0;o<i;++o){var s=parseInt(t.substr(o*2,2),16);if(isNaN(s))return o;e[r+o]=s}return o}function $o(e,t,r,i){return Dt(Mt(t,e.length-r),e,r,i)}function Ki(e,t,r,i){return Dt(is(t),e,r,i)}function Ho(e,t,r,i){return Ki(e,t,r,i)}function Ko(e,t,r,i){return Dt(Xi(t),e,r,i)}function Wo(e,t,r,i){return Dt(ns(t,e.length-r),e,r,i)}c.prototype.write=function(t,r,i,n){if(r===void 0)n="utf8",i=this.length,r=0;else if(i===void 0&&typeof r=="string")n=r,i=this.length,r=0;else if(isFinite(r))r=r|0,isFinite(i)?(i=i|0,n===void 0&&(n="utf8")):(n=i,i=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var a=this.length-r;if((i===void 0||i>a)&&(i=a),t.length>0&&(i<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return jo(this,t,r,i);case"utf8":case"utf-8":return $o(this,t,r,i);case"ascii":return Ki(this,t,r,i);case"latin1":case"binary":return Ho(this,t,r,i);case"base64":return Ko(this,t,r,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Wo(this,t,r,i);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Yo(e,t,r){return t===0&&r===e.length?zi(e):zi(e.slice(t,r))}function Wi(e,t,r){r=Math.min(e.length,r);for(var i=[],n=t;n<r;){var a=e[n],o=null,s=a>239?4:a>223?3:a>191?2:1;if(n+s<=r){var h,f,l,d;switch(s){case 1:a<128&&(o=a);break;case 2:h=e[n+1],(h&192)===128&&(d=(a&31)<<6|h&63,d>127&&(o=d));break;case 3:h=e[n+1],f=e[n+2],(h&192)===128&&(f&192)===128&&(d=(a&15)<<12|(h&63)<<6|f&63,d>2047&&(d<55296||d>57343)&&(o=d));break;case 4:h=e[n+1],f=e[n+2],l=e[n+3],(h&192)===128&&(f&192)===128&&(l&192)===128&&(d=(a&15)<<18|(h&63)<<12|(f&63)<<6|l&63,d>65535&&d<1114112&&(o=d))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,i.push(o>>>10&1023|55296),o=56320|o&1023),i.push(o),n+=s}return qo(i)}var Yi=4096;function qo(e){var t=e.length;if(t<=Yi)return String.fromCharCode.apply(String,e);for(var r="",i=0;i<t;)r+=String.fromCharCode.apply(String,e.slice(i,i+=Yi));return r}function Go(e,t,r){var i="";r=Math.min(e.length,r);for(var n=t;n<r;++n)i+=String.fromCharCode(e[n]&127);return i}function Vo(e,t,r){var i="";r=Math.min(e.length,r);for(var n=t;n<r;++n)i+=String.fromCharCode(e[n]);return i}function Xo(e,t,r){var i=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>i)&&(r=i);for(var n="",a=t;a<r;++a)n+=rs(e[a]);return n}function Jo(e,t,r){for(var i=e.slice(t,r),n="",a=0;a<i.length;a+=2)n+=String.fromCharCode(i[a]+i[a+1]*256);return n}c.prototype.slice=function(t,r){var i=this.length;t=~~t,r=r===void 0?i:~~r,t<0?(t+=i,t<0&&(t=0)):t>i&&(t=i),r<0?(r+=i,r<0&&(r=0)):r>i&&(r=i),r<t&&(r=t);var n;if(c.TYPED_ARRAY_SUPPORT)n=this.subarray(t,r),n.__proto__=c.prototype;else{var a=r-t;n=new c(a,void 0);for(var o=0;o<a;++o)n[o]=this[o+t]}return n};function P(e,t,r){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}c.prototype.readUIntLE=function(t,r,i){t=t|0,r=r|0,i||P(t,r,this.length);for(var n=this[t],a=1,o=0;++o<r&&(a*=256);)n+=this[t+o]*a;return n},c.prototype.readUIntBE=function(t,r,i){t=t|0,r=r|0,i||P(t,r,this.length);for(var n=this[t+--r],a=1;r>0&&(a*=256);)n+=this[t+--r]*a;return n},c.prototype.readUInt8=function(t,r){return r||P(t,1,this.length),this[t]},c.prototype.readUInt16LE=function(t,r){return r||P(t,2,this.length),this[t]|this[t+1]<<8},c.prototype.readUInt16BE=function(t,r){return r||P(t,2,this.length),this[t]<<8|this[t+1]},c.prototype.readUInt32LE=function(t,r){return r||P(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216},c.prototype.readUInt32BE=function(t,r){return r||P(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])},c.prototype.readIntLE=function(t,r,i){t=t|0,r=r|0,i||P(t,r,this.length);for(var n=this[t],a=1,o=0;++o<r&&(a*=256);)n+=this[t+o]*a;return a*=128,n>=a&&(n-=Math.pow(2,8*r)),n},c.prototype.readIntBE=function(t,r,i){t=t|0,r=r|0,i||P(t,r,this.length);for(var n=r,a=1,o=this[t+--n];n>0&&(a*=256);)o+=this[t+--n]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*r)),o},c.prototype.readInt8=function(t,r){return r||P(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]},c.prototype.readInt16LE=function(t,r){r||P(t,2,this.length);var i=this[t]|this[t+1]<<8;return i&32768?i|4294901760:i},c.prototype.readInt16BE=function(t,r){r||P(t,2,this.length);var i=this[t+1]|this[t]<<8;return i&32768?i|4294901760:i},c.prototype.readInt32LE=function(t,r){return r||P(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},c.prototype.readInt32BE=function(t,r){return r||P(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},c.prototype.readFloatLE=function(t,r){return r||P(t,4,this.length),Lt(this,t,!0,23,4)},c.prototype.readFloatBE=function(t,r){return r||P(t,4,this.length),Lt(this,t,!1,23,4)},c.prototype.readDoubleLE=function(t,r){return r||P(t,8,this.length),Lt(this,t,!0,52,8)},c.prototype.readDoubleBE=function(t,r){return r||P(t,8,this.length),Lt(this,t,!1,52,8)};function $(e,t,r,i,n,a){if(!ee(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>n||t<a)throw new RangeError('"value" argument is out of bounds');if(r+i>e.length)throw new RangeError("Index out of range")}c.prototype.writeUIntLE=function(t,r,i,n){if(t=+t,r=r|0,i=i|0,!n){var a=Math.pow(2,8*i)-1;$(this,t,r,i,a,0)}var o=1,s=0;for(this[r]=t&255;++s<i&&(o*=256);)this[r+s]=t/o&255;return r+i},c.prototype.writeUIntBE=function(t,r,i,n){if(t=+t,r=r|0,i=i|0,!n){var a=Math.pow(2,8*i)-1;$(this,t,r,i,a,0)}var o=i-1,s=1;for(this[r+o]=t&255;--o>=0&&(s*=256);)this[r+o]=t/s&255;return r+i},c.prototype.writeUInt8=function(t,r,i){return t=+t,r=r|0,i||$(this,t,r,1,255,0),c.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[r]=t&255,r+1};function It(e,t,r,i){t<0&&(t=65535+t+1);for(var n=0,a=Math.min(e.length-r,2);n<a;++n)e[r+n]=(t&255<<8*(i?n:1-n))>>>(i?n:1-n)*8}c.prototype.writeUInt16LE=function(t,r,i){return t=+t,r=r|0,i||$(this,t,r,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):It(this,t,r,!0),r+2},c.prototype.writeUInt16BE=function(t,r,i){return t=+t,r=r|0,i||$(this,t,r,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):It(this,t,r,!1),r+2};function Ct(e,t,r,i){t<0&&(t=4294967295+t+1);for(var n=0,a=Math.min(e.length-r,4);n<a;++n)e[r+n]=t>>>(i?n:3-n)*8&255}c.prototype.writeUInt32LE=function(t,r,i){return t=+t,r=r|0,i||$(this,t,r,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255):Ct(this,t,r,!0),r+4},c.prototype.writeUInt32BE=function(t,r,i){return t=+t,r=r|0,i||$(this,t,r,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):Ct(this,t,r,!1),r+4},c.prototype.writeIntLE=function(t,r,i,n){if(t=+t,r=r|0,!n){var a=Math.pow(2,8*i-1);$(this,t,r,i,a-1,-a)}var o=0,s=1,h=0;for(this[r]=t&255;++o<i&&(s*=256);)t<0&&h===0&&this[r+o-1]!==0&&(h=1),this[r+o]=(t/s>>0)-h&255;return r+i},c.prototype.writeIntBE=function(t,r,i,n){if(t=+t,r=r|0,!n){var a=Math.pow(2,8*i-1);$(this,t,r,i,a-1,-a)}var o=i-1,s=1,h=0;for(this[r+o]=t&255;--o>=0&&(s*=256);)t<0&&h===0&&this[r+o+1]!==0&&(h=1),this[r+o]=(t/s>>0)-h&255;return r+i},c.prototype.writeInt8=function(t,r,i){return t=+t,r=r|0,i||$(this,t,r,1,127,-128),c.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[r]=t&255,r+1},c.prototype.writeInt16LE=function(t,r,i){return t=+t,r=r|0,i||$(this,t,r,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):It(this,t,r,!0),r+2},c.prototype.writeInt16BE=function(t,r,i){return t=+t,r=r|0,i||$(this,t,r,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):It(this,t,r,!1),r+2},c.prototype.writeInt32LE=function(t,r,i){return t=+t,r=r|0,i||$(this,t,r,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24):Ct(this,t,r,!0),r+4},c.prototype.writeInt32BE=function(t,r,i){return t=+t,r=r|0,i||$(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),c.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):Ct(this,t,r,!1),r+4};function qi(e,t,r,i,n,a){if(r+i>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Gi(e,t,r,i,n){return n||qi(e,t,r,4),Pi(e,t,r,i,23,4),r+4}c.prototype.writeFloatLE=function(t,r,i){return Gi(this,t,r,!0,i)},c.prototype.writeFloatBE=function(t,r,i){return Gi(this,t,r,!1,i)};function Vi(e,t,r,i,n){return n||qi(e,t,r,8),Pi(e,t,r,i,52,8),r+8}c.prototype.writeDoubleLE=function(t,r,i){return Vi(this,t,r,!0,i)},c.prototype.writeDoubleBE=function(t,r,i){return Vi(this,t,r,!1,i)},c.prototype.copy=function(t,r,i,n){if(i||(i=0),!n&&n!==0&&(n=this.length),r>=t.length&&(r=t.length),r||(r=0),n>0&&n<i&&(n=i),n===i||t.length===0||this.length===0)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-r<n-i&&(n=t.length-r+i);var a=n-i,o;if(this===t&&i<r&&r<n)for(o=a-1;o>=0;--o)t[o+r]=this[o+i];else if(a<1e3||!c.TYPED_ARRAY_SUPPORT)for(o=0;o<a;++o)t[o+r]=this[o+i];else Uint8Array.prototype.set.call(t,this.subarray(i,i+a),r);return a},c.prototype.fill=function(t,r,i,n){if(typeof t=="string"){if(typeof r=="string"?(n=r,r=0,i=this.length):typeof i=="string"&&(n=i,i=this.length),t.length===1){var a=t.charCodeAt(0);a<256&&(t=a)}if(n!==void 0&&typeof n!="string")throw new TypeError("encoding must be a string");if(typeof n=="string"&&!c.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else typeof t=="number"&&(t=t&255);if(r<0||this.length<r||this.length<i)throw new RangeError("Out of range index");if(i<=r)return this;r=r>>>0,i=i===void 0?this.length:i>>>0,t||(t=0);var o;if(typeof t=="number")for(o=r;o<i;++o)this[o]=t;else{var s=ee(t)?t:Mt(new c(t,n).toString()),h=s.length;for(o=0;o<i-r;++o)this[o+r]=s[o%h]}return this};var Qo=/[^+\/0-9A-Za-z-_]/g;function es(e){if(e=ts(e).replace(Qo,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function ts(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function rs(e){return e<16?"0"+e.toString(16):e.toString(16)}function Mt(e,t){t=t||1/0;for(var r,i=e.length,n=null,a=[],o=0;o<i;++o){if(r=e.charCodeAt(o),r>55295&&r<57344){if(!n){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+1===i){(t-=3)>-1&&a.push(239,191,189);continue}n=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),n=r;continue}r=(n-55296<<10|r-56320)+65536}else n&&(t-=3)>-1&&a.push(239,191,189);if(n=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return a}function is(e){for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function ns(e,t){for(var r,i,n,a=[],o=0;o<e.length&&!((t-=2)<0);++o)r=e.charCodeAt(o),i=r>>8,n=r%256,a.push(n),a.push(i);return a}function Xi(e){return Co(es(e))}function Dt(e,t,r,i){for(var n=0;n<i&&!(n+r>=t.length||n>=e.length);++n)t[n+r]=e[n];return n}function as(e){return e!==e}function os(e){return e!=null&&(!!e._isBuffer||Ji(e)||ss(e))}function Ji(e){return!!e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function ss(e){return typeof e.readFloatLE=="function"&&typeof e.slice=="function"&&Ji(e.slice(0,0))}function Qi(){throw new Error("setTimeout has not been defined")}function en(){throw new Error("clearTimeout has not been defined")}var de=Qi,pe=en;typeof We.setTimeout=="function"&&(de=setTimeout),typeof We.clearTimeout=="function"&&(pe=clearTimeout);function tn(e){if(de===setTimeout)return setTimeout(e,0);if((de===Qi||!de)&&setTimeout)return de=setTimeout,setTimeout(e,0);try{return de(e,0)}catch{try{return de.call(null,e,0)}catch{return de.call(this,e,0)}}}function fs(e){if(pe===clearTimeout)return clearTimeout(e);if((pe===en||!pe)&&clearTimeout)return pe=clearTimeout,clearTimeout(e);try{return pe(e)}catch{try{return pe.call(null,e)}catch{return pe.call(this,e)}}}var ae=[],Ye=!1,Te,Ft=-1;function ls(){!Ye||!Te||(Ye=!1,Te.length?ae=Te.concat(ae):Ft=-1,ae.length&&rn())}function rn(){if(!Ye){var e=tn(ls);Ye=!0;for(var t=ae.length;t;){for(Te=ae,ae=[];++Ft<t;)Te&&Te[Ft].run();Ft=-1,t=ae.length}Te=null,Ye=!1,fs(e)}}function W(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];ae.push(new nn(e,t)),ae.length===1&&!Ye&&tn(rn)}function nn(e,t){this.fun=e,this.array=t}nn.prototype.run=function(){this.fun.apply(null,this.array)};var hs="browser",cs="browser",us=!0,ds={},ps=[],_s="",ws={},gs={},vs={};function Le(){}var ms=Le,bs=Le,ys=Le,xs=Le,Es=Le,ks=Le,Ss=Le;function Rs(e){throw new Error("process.binding is not supported")}function As(){return"/"}function Ts(e){throw new Error("process.chdir is not supported")}function Ls(){return 0}var qe=We.performance||{},Os=qe.now||qe.mozNow||qe.msNow||qe.oNow||qe.webkitNow||function(){return new Date().getTime()};function Is(e){var t=Os.call(qe)*.001,r=Math.floor(t),i=Math.floor(t%1*1e9);return e&&(r=r-e[0],i=i-e[1],i<0&&(r--,i+=1e9)),[r,i]}var Cs=new Date;function Ms(){var e=new Date,t=e-Cs;return t/1e3}var oe={nextTick:W,title:hs,browser:us,env:ds,argv:ps,version:_s,versions:ws,on:ms,addListener:bs,once:ys,off:xs,removeListener:Es,removeAllListeners:ks,emit:Ss,binding:Rs,cwd:As,chdir:Ts,umask:Ls,hrtime:Is,platform:cs,release:gs,config:vs,uptime:Ms},Z;typeof Object.create=="function"?Z=function(t,r){t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:Z=function(t,r){t.super_=r;var i=function(){};i.prototype=r.prototype,t.prototype=new i,t.prototype.constructor=t};var Ds=/%[sdj%]/g;function Fs(e){if(!mr(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(_e(arguments[r]));return t.join(" ")}for(var r=1,i=arguments,n=i.length,a=String(e).replace(Ds,function(s){if(s==="%%")return"%";if(r>=n)return s;switch(s){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch{return"[Circular]"}default:return s}}),o=i[r];r<n;o=i[++r])vr(o)||!at(o)?a+=" "+o:a+=" "+_e(o);return a}function an(e,t){if(we(We.process))return function(){return an(e,t).apply(this,arguments)};if(oe.noDeprecation===!0)return e;var r=!1;function i(){if(!r){if(oe.throwDeprecation)throw new Error(t);oe.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,arguments)}return i}var Nt={},_r;function Ns(e){if(we(_r)&&(_r=oe.env.NODE_DEBUG||""),e=e.toUpperCase(),!Nt[e])if(new RegExp("\\b"+e+"\\b","i").test(_r)){var t=0;Nt[e]=function(){var r=Fs.apply(null,arguments);console.error("%s %d: %s",e,t,r)}}else Nt[e]=function(){};return Nt[e]}function _e(e,t){var r={seen:[],stylize:Ps};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),on(t)?r.showHidden=t:t&&Ks(r,t),we(r.showHidden)&&(r.showHidden=!1),we(r.depth)&&(r.depth=2),we(r.colors)&&(r.colors=!1),we(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=zs),zt(r,e,r.depth)}_e.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},_e.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function zs(e,t){var r=_e.styles[t];return r?"\x1B["+_e.colors[r][0]+"m"+e+"\x1B["+_e.colors[r][1]+"m":e}function Ps(e,t){return e}function Us(e){var t={};return e.forEach(function(r,i){t[r]=!0}),t}function zt(e,t,r){if(e.customInspect&&t&&xr(t.inspect)&&t.inspect!==_e&&!(t.constructor&&t.constructor.prototype===t)){var i=t.inspect(r,e);return mr(i)||(i=zt(e,i,r)),i}var n=Bs(e,t);if(n)return n;var a=Object.keys(t),o=Us(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),yr(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return wr(t);if(a.length===0){if(xr(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(br(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(sn(t))return e.stylize(Date.prototype.toString.call(t),"date");if(yr(t))return wr(t)}var h="",f=!1,l=["{","}"];if($s(t)&&(f=!0,l=["[","]"]),xr(t)){var d=t.name?": "+t.name:"";h=" [Function"+d+"]"}if(br(t)&&(h=" "+RegExp.prototype.toString.call(t)),sn(t)&&(h=" "+Date.prototype.toUTCString.call(t)),yr(t)&&(h=" "+wr(t)),a.length===0&&(!f||t.length==0))return l[0]+h+l[1];if(r<0)return br(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var p;return f?p=Zs(e,t,r,o,a):p=a.map(function(u){return gr(e,t,r,o,u,f)}),e.seen.pop(),js(p,h,l)}function Bs(e,t){if(we(t))return e.stylize("undefined","undefined");if(mr(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(Hs(t))return e.stylize(""+t,"number");if(on(t))return e.stylize(""+t,"boolean");if(vr(t))return e.stylize("null","null")}function wr(e){return"["+Error.prototype.toString.call(e)+"]"}function Zs(e,t,r,i,n){for(var a=[],o=0,s=t.length;o<s;++o)fn(t,String(o))?a.push(gr(e,t,r,i,String(o),!0)):a.push("");return n.forEach(function(h){h.match(/^\d+$/)||a.push(gr(e,t,r,i,h,!0))}),a}function gr(e,t,r,i,n,a){var o,s,h;if(h=Object.getOwnPropertyDescriptor(t,n)||{value:t[n]},h.get?h.set?s=e.stylize("[Getter/Setter]","special"):s=e.stylize("[Getter]","special"):h.set&&(s=e.stylize("[Setter]","special")),fn(i,n)||(o="["+n+"]"),s||(e.seen.indexOf(h.value)<0?(vr(r)?s=zt(e,h.value,null):s=zt(e,h.value,r-1),s.indexOf(`
|
|
20
|
+
*/var cl=50;y.TYPED_ARRAY_SUPPORT=lt.TYPED_ARRAY_SUPPORT!==void 0?lt.TYPED_ARRAY_SUPPORT:!0,fr();function fr(){return y.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function _e(e,t){if(fr()<t)throw new RangeError("Invalid typed array length");return y.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=y.prototype):(e===null&&(e=new y(t)),e.length=t),e}function y(e,t,r){if(!y.TYPED_ARRAY_SUPPORT&&!(this instanceof y))return new y(e,t,r);if(typeof e=="number"){if(typeof t=="string")throw new Error("If encoding is specified then the first argument must be a string");return zn(this,e)}return bo(this,e,t,r)}y.poolSize=8192,y._augment=function(e){return e.__proto__=y.prototype,e};function bo(e,t,r,n){if(typeof t=="number")throw new TypeError('"value" argument must not be a number');return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer?hl(e,t,r,n):typeof t=="string"?ul(e,t,r):dl(e,t)}y.from=function(e,t,r){return bo(null,e,t,r)},y.TYPED_ARRAY_SUPPORT&&(y.prototype.__proto__=Uint8Array.prototype,y.__proto__=Uint8Array,typeof Symbol<"u"&&Symbol.species&&y[Symbol.species]);function mo(e){if(typeof e!="number")throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function ll(e,t,r,n){return mo(t),t<=0?_e(e,t):r!==void 0?typeof n=="string"?_e(e,t).fill(r,n):_e(e,t).fill(r):_e(e,t)}y.alloc=function(e,t,r){return ll(null,e,t,r)};function zn(e,t){if(mo(t),e=_e(e,t<0?0:qn(t)|0),!y.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}y.allocUnsafe=function(e){return zn(null,e)},y.allocUnsafeSlow=function(e){return zn(null,e)};function ul(e,t,r){if((typeof r!="string"||r==="")&&(r="utf8"),!y.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=xo(t,r)|0;e=_e(e,n);var i=e.write(t,r);return i!==n&&(e=e.slice(0,i)),e}function Zn(e,t){var r=t.length<0?0:qn(t.length)|0;e=_e(e,r);for(var n=0;n<r;n+=1)e[n]=t[n]&255;return e}function hl(e,t,r,n){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");return r===void 0&&n===void 0?t=new Uint8Array(t):n===void 0?t=new Uint8Array(t,r):t=new Uint8Array(t,r,n),y.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=y.prototype):e=Zn(e,t),e}function dl(e,t){if(de(t)){var r=qn(t.length)|0;return e=_e(e,r),e.length===0||t.copy(e,0,0,r),e}if(t){if(typeof ArrayBuffer<"u"&&t.buffer instanceof ArrayBuffer||"length"in t)return typeof t.length!="number"||Fl(t.length)?_e(e,0):Zn(e,t);if(t.type==="Buffer"&&wo(t.data))return Zn(e,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function qn(e){if(e>=fr())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+fr().toString(16)+" bytes");return e|0}y.isBuffer=Cl;function de(e){return!!(e!=null&&e._isBuffer)}y.compare=function(t,r){if(!de(t)||!de(r))throw new TypeError("Arguments must be Buffers");if(t===r)return 0;for(var n=t.length,i=r.length,a=0,o=Math.min(n,i);a<o;++a)if(t[a]!==r[a]){n=t[a],i=r[a];break}return n<i?-1:i<n?1:0},y.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},y.concat=function(t,r){if(!wo(t))throw new TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return y.alloc(0);var n;if(r===void 0)for(r=0,n=0;n<t.length;++n)r+=t[n].length;var i=y.allocUnsafe(r),a=0;for(n=0;n<t.length;++n){var o=t[n];if(!de(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,a),a+=o.length}return i};function xo(e,t){if(de(e))return e.length;if(typeof ArrayBuffer<"u"&&typeof ArrayBuffer.isView=="function"&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;typeof e!="string"&&(e=""+e);var r=e.length;if(r===0)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return ur(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Po(e).length;default:if(n)return ur(e).length;t=(""+t).toLowerCase(),n=!0}}y.byteLength=xo;function pl(e,t,r){var n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return Sl(this,t,r);case"utf8":case"utf-8":return ko(this,t,r);case"ascii":return xl(this,t,r);case"latin1":case"binary":return El(this,t,r);case"base64":return bl(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Al(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}y.prototype._isBuffer=!0;function Ze(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}y.prototype.swap16=function(){var t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var r=0;r<t;r+=2)Ze(this,r,r+1);return this},y.prototype.swap32=function(){var t=this.length;if(t%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var r=0;r<t;r+=4)Ze(this,r,r+3),Ze(this,r+1,r+2);return this},y.prototype.swap64=function(){var t=this.length;if(t%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var r=0;r<t;r+=8)Ze(this,r,r+7),Ze(this,r+1,r+6),Ze(this,r+2,r+5),Ze(this,r+3,r+4);return this},y.prototype.toString=function(){var t=this.length|0;return t===0?"":arguments.length===0?ko(this,0,t):pl.apply(this,arguments)},y.prototype.equals=function(t){if(!de(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:y.compare(this,t)===0},y.prototype.inspect=function(){var t="",r=cl;return this.length>0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),"<Buffer "+t+">"},y.prototype.compare=function(t,r,n,i,a){if(!de(t))throw new TypeError("Argument must be a Buffer");if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),a===void 0&&(a=this.length),r<0||n>t.length||i<0||a>this.length)throw new RangeError("out of range index");if(i>=a&&r>=n)return 0;if(i>=a)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,a>>>=0,this===t)return 0;for(var o=a-i,s=n-r,c=Math.min(o,s),f=this.slice(i,a),l=t.slice(r,n),d=0;d<c;++d)if(f[d]!==l[d]){o=f[d],s=l[d];break}return o<s?-1:s<o?1:0};function Eo(e,t,r,n,i){if(e.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=y.from(t,n)),de(t))return t.length===0?-1:So(e,t,r,n,i);if(typeof t=="number")return t=t&255,y.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):So(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function So(e,t,r,n,i){var a=1,o=e.length,s=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,r/=2}function c(u,p){return a===1?u[p]:u.readUInt16BE(p*a)}var f;if(i){var l=-1;for(f=r;f<o;f++)if(c(e,f)===c(t,l===-1?0:f-l)){if(l===-1&&(l=f),f-l+1===s)return l*a}else l!==-1&&(f-=f-l),l=-1}else for(r+s>o&&(r=o-s),f=r;f>=0;f--){for(var d=!0,h=0;h<s;h++)if(c(e,f+h)!==c(t,h)){d=!1;break}if(d)return f}return-1}y.prototype.includes=function(t,r,n){return this.indexOf(t,r,n)!==-1},y.prototype.indexOf=function(t,r,n){return Eo(this,t,r,n,!0)},y.prototype.lastIndexOf=function(t,r,n){return Eo(this,t,r,n,!1)};function yl(e,t,r,n){r=Number(r)||0;var i=e.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;var a=t.length;if(a%2!==0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(t.substr(o*2,2),16);if(isNaN(s))return o;e[r+o]=s}return o}function vl(e,t,r,n){return hr(ur(t,e.length-r),e,r,n)}function Ao(e,t,r,n){return hr(Il(t),e,r,n)}function gl(e,t,r,n){return Ao(e,t,r,n)}function _l(e,t,r,n){return hr(Po(t),e,r,n)}function wl(e,t,r,n){return hr(Pl(t,e.length-r),e,r,n)}y.prototype.write=function(t,r,n,i){if(r===void 0)i="utf8",n=this.length,r=0;else if(n===void 0&&typeof r=="string")i=r,n=this.length,r=0;else if(isFinite(r))r=r|0,isFinite(n)?(n=n|0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var a=this.length-r;if((n===void 0||n>a)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return yl(this,t,r,n);case"utf8":case"utf-8":return vl(this,t,r,n);case"ascii":return Ao(this,t,r,n);case"latin1":case"binary":return gl(this,t,r,n);case"base64":return _l(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return wl(this,t,r,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},y.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function bl(e,t,r){return t===0&&r===e.length?go(e):go(e.slice(t,r))}function ko(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i<r;){var a=e[i],o=null,s=a>239?4:a>223?3:a>191?2:1;if(i+s<=r){var c,f,l,d;switch(s){case 1:a<128&&(o=a);break;case 2:c=e[i+1],(c&192)===128&&(d=(a&31)<<6|c&63,d>127&&(o=d));break;case 3:c=e[i+1],f=e[i+2],(c&192)===128&&(f&192)===128&&(d=(a&15)<<12|(c&63)<<6|f&63,d>2047&&(d<55296||d>57343)&&(o=d));break;case 4:c=e[i+1],f=e[i+2],l=e[i+3],(c&192)===128&&(f&192)===128&&(l&192)===128&&(d=(a&15)<<18|(c&63)<<12|(f&63)<<6|l&63,d>65535&&d<1114112&&(o=d))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=s}return ml(n)}var Ro=4096;function ml(e){var t=e.length;if(t<=Ro)return String.fromCharCode.apply(String,e);for(var r="",n=0;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=Ro));return r}function xl(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(e[i]&127);return n}function El(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function Sl(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var i="",a=t;a<r;++a)i+=Tl(e[a]);return i}function Al(e,t,r){for(var n=e.slice(t,r),i="",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+n[a+1]*256);return i}y.prototype.slice=function(t,r){var n=this.length;t=~~t,r=r===void 0?n:~~r,t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r<t&&(r=t);var i;if(y.TYPED_ARRAY_SUPPORT)i=this.subarray(t,r),i.__proto__=y.prototype;else{var a=r-t;i=new y(a,void 0);for(var o=0;o<a;++o)i[o]=this[o+t]}return i};function U(e,t,r){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}y.prototype.readUIntLE=function(t,r,n){t=t|0,r=r|0,n||U(t,r,this.length);for(var i=this[t],a=1,o=0;++o<r&&(a*=256);)i+=this[t+o]*a;return i},y.prototype.readUIntBE=function(t,r,n){t=t|0,r=r|0,n||U(t,r,this.length);for(var i=this[t+--r],a=1;r>0&&(a*=256);)i+=this[t+--r]*a;return i},y.prototype.readUInt8=function(t,r){return r||U(t,1,this.length),this[t]},y.prototype.readUInt16LE=function(t,r){return r||U(t,2,this.length),this[t]|this[t+1]<<8},y.prototype.readUInt16BE=function(t,r){return r||U(t,2,this.length),this[t]<<8|this[t+1]},y.prototype.readUInt32LE=function(t,r){return r||U(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216},y.prototype.readUInt32BE=function(t,r){return r||U(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])},y.prototype.readIntLE=function(t,r,n){t=t|0,r=r|0,n||U(t,r,this.length);for(var i=this[t],a=1,o=0;++o<r&&(a*=256);)i+=this[t+o]*a;return a*=128,i>=a&&(i-=Math.pow(2,8*r)),i},y.prototype.readIntBE=function(t,r,n){t=t|0,r=r|0,n||U(t,r,this.length);for(var i=r,a=1,o=this[t+--i];i>0&&(a*=256);)o+=this[t+--i]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*r)),o},y.prototype.readInt8=function(t,r){return r||U(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]},y.prototype.readInt16LE=function(t,r){r||U(t,2,this.length);var n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n},y.prototype.readInt16BE=function(t,r){r||U(t,2,this.length);var n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n},y.prototype.readInt32LE=function(t,r){return r||U(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},y.prototype.readInt32BE=function(t,r){return r||U(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},y.prototype.readFloatLE=function(t,r){return r||U(t,4,this.length),sr(this,t,!0,23,4)},y.prototype.readFloatBE=function(t,r){return r||U(t,4,this.length),sr(this,t,!1,23,4)},y.prototype.readDoubleLE=function(t,r){return r||U(t,8,this.length),sr(this,t,!0,52,8)},y.prototype.readDoubleBE=function(t,r){return r||U(t,8,this.length),sr(this,t,!1,52,8)};function J(e,t,r,n,i,a){if(!de(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<a)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}y.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r|0,n=n|0,!i){var a=Math.pow(2,8*n)-1;J(this,t,r,n,a,0)}var o=1,s=0;for(this[r]=t&255;++s<n&&(o*=256);)this[r+s]=t/o&255;return r+n},y.prototype.writeUIntBE=function(t,r,n,i){if(t=+t,r=r|0,n=n|0,!i){var a=Math.pow(2,8*n)-1;J(this,t,r,n,a,0)}var o=n-1,s=1;for(this[r+o]=t&255;--o>=0&&(s*=256);)this[r+o]=t/s&255;return r+n},y.prototype.writeUInt8=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,1,255,0),y.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[r]=t&255,r+1};function cr(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-r,2);i<a;++i)e[r+i]=(t&255<<8*(n?i:1-i))>>>(n?i:1-i)*8}y.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,2,65535,0),y.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):cr(this,t,r,!0),r+2},y.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,2,65535,0),y.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):cr(this,t,r,!1),r+2};function lr(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-r,4);i<a;++i)e[r+i]=t>>>(n?i:3-i)*8&255}y.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,4,4294967295,0),y.TYPED_ARRAY_SUPPORT?(this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255):lr(this,t,r,!0),r+4},y.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,4,4294967295,0),y.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):lr(this,t,r,!1),r+4},y.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r|0,!i){var a=Math.pow(2,8*n-1);J(this,t,r,n,a-1,-a)}var o=0,s=1,c=0;for(this[r]=t&255;++o<n&&(s*=256);)t<0&&c===0&&this[r+o-1]!==0&&(c=1),this[r+o]=(t/s>>0)-c&255;return r+n},y.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r|0,!i){var a=Math.pow(2,8*n-1);J(this,t,r,n,a-1,-a)}var o=n-1,s=1,c=0;for(this[r+o]=t&255;--o>=0&&(s*=256);)t<0&&c===0&&this[r+o+1]!==0&&(c=1),this[r+o]=(t/s>>0)-c&255;return r+n},y.prototype.writeInt8=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,1,127,-128),y.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[r]=t&255,r+1},y.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,2,32767,-32768),y.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8):cr(this,t,r,!0),r+2},y.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,2,32767,-32768),y.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=t&255):cr(this,t,r,!1),r+2},y.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,4,2147483647,-2147483648),y.TYPED_ARRAY_SUPPORT?(this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24):lr(this,t,r,!0),r+4},y.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r|0,n||J(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),y.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255):lr(this,t,r,!1),r+4};function Oo(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function To(e,t,r,n,i){return i||Oo(e,t,r,4),_o(e,t,r,n,23,4),r+4}y.prototype.writeFloatLE=function(t,r,n){return To(this,t,r,!0,n)},y.prototype.writeFloatBE=function(t,r,n){return To(this,t,r,!1,n)};function Io(e,t,r,n,i){return i||Oo(e,t,r,8),_o(e,t,r,n,52,8),r+8}y.prototype.writeDoubleLE=function(t,r,n){return Io(this,t,r,!0,n)},y.prototype.writeDoubleBE=function(t,r,n){return Io(this,t,r,!1,n)},y.prototype.copy=function(t,r,n,i){if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i<n&&(i=n),i===n||t.length===0||this.length===0)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r<i-n&&(i=t.length-r+n);var a=i-n,o;if(this===t&&n<r&&r<i)for(o=a-1;o>=0;--o)t[o+r]=this[o+n];else if(a<1e3||!y.TYPED_ARRAY_SUPPORT)for(o=0;o<a;++o)t[o+r]=this[o+n];else Uint8Array.prototype.set.call(t,this.subarray(n,n+a),r);return a},y.prototype.fill=function(t,r,n,i){if(typeof t=="string"){if(typeof r=="string"?(i=r,r=0,n=this.length):typeof n=="string"&&(i=n,n=this.length),t.length===1){var a=t.charCodeAt(0);a<256&&(t=a)}if(i!==void 0&&typeof i!="string")throw new TypeError("encoding must be a string");if(typeof i=="string"&&!y.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else typeof t=="number"&&(t=t&255);if(r<0||this.length<r||this.length<n)throw new RangeError("Out of range index");if(n<=r)return this;r=r>>>0,n=n===void 0?this.length:n>>>0,t||(t=0);var o;if(typeof t=="number")for(o=r;o<n;++o)this[o]=t;else{var s=de(t)?t:ur(new y(t,i).toString()),c=s.length;for(o=0;o<n-r;++o)this[o+r]=s[o%c]}return this};var kl=/[^+\/0-9A-Za-z-_]/g;function Rl(e){if(e=Ol(e).replace(kl,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function Ol(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function Tl(e){return e<16?"0"+e.toString(16):e.toString(16)}function ur(e,t){t=t||1/0;for(var r,n=e.length,i=null,a=[],o=0;o<n;++o){if(r=e.charCodeAt(o),r>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return a}function Il(e){for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function Pl(e,t){for(var r,n,i,a=[],o=0;o<e.length&&!((t-=2)<0);++o)r=e.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}function Po(e){return al(Rl(e))}function hr(e,t,r,n){for(var i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Fl(e){return e!==e}function Cl(e){return e!=null&&(!!e._isBuffer||Fo(e)||Dl(e))}function Fo(e){return!!e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function Dl(e){return typeof e.readFloatLE=="function"&&typeof e.slice=="function"&&Fo(e.slice(0,0))}function Co(){throw new Error("setTimeout has not been defined")}function Do(){throw new Error("clearTimeout has not been defined")}var Re=Co,Oe=Do;typeof lt.setTimeout=="function"&&(Re=setTimeout),typeof lt.clearTimeout=="function"&&(Oe=clearTimeout);function Mo(e){if(Re===setTimeout)return setTimeout(e,0);if((Re===Co||!Re)&&setTimeout)return Re=setTimeout,setTimeout(e,0);try{return Re(e,0)}catch{try{return Re.call(null,e,0)}catch{return Re.call(this,e,0)}}}function Ml(e){if(Oe===clearTimeout)return clearTimeout(e);if((Oe===Do||!Oe)&&clearTimeout)return Oe=clearTimeout,clearTimeout(e);try{return Oe(e)}catch{try{return Oe.call(null,e)}catch{return Oe.call(this,e)}}}var we=[],ut=!1,qe,dr=-1;function Ll(){!ut||!qe||(ut=!1,qe.length?we=qe.concat(we):dr=-1,we.length&&Lo())}function Lo(){if(!ut){var e=Mo(Ll);ut=!0;for(var t=we.length;t;){for(qe=we,we=[];++dr<t;)qe&&qe[dr].run();dr=-1,t=we.length}qe=null,ut=!1,Ml(e)}}function Q(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];we.push(new jo(e,t)),we.length===1&&!ut&&Mo(Lo)}function jo(e,t){this.fun=e,this.array=t}jo.prototype.run=function(){this.fun.apply(null,this.array)};var jl="browser",Nl="browser",Bl=!0,Ul={},$l=[],zl="",Zl={},ql={},Hl={};function He(){}var Kl=He,Wl=He,Gl=He,Vl=He,Yl=He,Jl=He,Xl=He;function Ql(e){throw new Error("process.binding is not supported")}function eu(){return"/"}function tu(e){throw new Error("process.chdir is not supported")}function ru(){return 0}var ht=lt.performance||{},nu=ht.now||ht.mozNow||ht.msNow||ht.oNow||ht.webkitNow||function(){return new Date().getTime()};function iu(e){var t=nu.call(ht)*.001,r=Math.floor(t),n=Math.floor(t%1*1e9);return e&&(r=r-e[0],n=n-e[1],n<0&&(r--,n+=1e9)),[r,n]}var au=new Date;function ou(){var e=new Date,t=e-au;return t/1e3}var be={nextTick:Q,title:jl,browser:Bl,env:Ul,argv:$l,version:zl,versions:Zl,on:Kl,addListener:Wl,once:Gl,off:Vl,removeListener:Yl,removeAllListeners:Jl,emit:Xl,binding:Ql,cwd:eu,chdir:tu,umask:ru,hrtime:iu,platform:Nl,release:ql,config:Hl,uptime:ou},K;typeof Object.create=="function"?K=function(t,r){t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:K=function(t,r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t};var su=/%[sdj%]/g;function fu(e){if(!Vn(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(Te(arguments[r]));return t.join(" ")}for(var r=1,n=arguments,i=n.length,a=String(e).replace(su,function(s){if(s==="%%")return"%";if(r>=i)return s;switch(s){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch{return"[Circular]"}default:return s}}),o=n[r];r<i;o=n[++r])Gn(o)||!Ot(o)?a+=" "+o:a+=" "+Te(o);return a}function No(e,t){if(Ie(lt.process))return function(){return No(e,t).apply(this,arguments)};if(be.noDeprecation===!0)return e;var r=!1;function n(){if(!r){if(be.throwDeprecation)throw new Error(t);be.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,arguments)}return n}var pr={},Hn;function cu(e){if(Ie(Hn)&&(Hn=be.env.NODE_DEBUG||""),e=e.toUpperCase(),!pr[e])if(new RegExp("\\b"+e+"\\b","i").test(Hn)){var t=0;pr[e]=function(){var r=fu.apply(null,arguments);console.error("%s %d: %s",e,t,r)}}else pr[e]=function(){};return pr[e]}function Te(e,t){var r={seen:[],stylize:uu};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),Bo(t)?r.showHidden=t:t&&_u(r,t),Ie(r.showHidden)&&(r.showHidden=!1),Ie(r.depth)&&(r.depth=2),Ie(r.colors)&&(r.colors=!1),Ie(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=lu),yr(r,e,r.depth)}Te.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},Te.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function lu(e,t){var r=Te.styles[t];return r?"\x1B["+Te.colors[r][0]+"m"+e+"\x1B["+Te.colors[r][1]+"m":e}function uu(e,t){return e}function hu(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function yr(e,t,r){if(e.customInspect&&t&&Xn(t.inspect)&&t.inspect!==Te&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return Vn(n)||(n=yr(e,n,r)),n}var i=du(e,t);if(i)return i;var a=Object.keys(t),o=hu(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),Jn(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return Kn(t);if(a.length===0){if(Xn(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(Yn(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Uo(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Jn(t))return Kn(t)}var c="",f=!1,l=["{","}"];if(vu(t)&&(f=!0,l=["[","]"]),Xn(t)){var d=t.name?": "+t.name:"";c=" [Function"+d+"]"}if(Yn(t)&&(c=" "+RegExp.prototype.toString.call(t)),Uo(t)&&(c=" "+Date.prototype.toUTCString.call(t)),Jn(t)&&(c=" "+Kn(t)),a.length===0&&(!f||t.length==0))return l[0]+c+l[1];if(r<0)return Yn(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var h;return f?h=pu(e,t,r,o,a):h=a.map(function(u){return Wn(e,t,r,o,u,f)}),e.seen.pop(),yu(h,c,l)}function du(e,t){if(Ie(t))return e.stylize("undefined","undefined");if(Vn(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(gu(t))return e.stylize(""+t,"number");if(Bo(t))return e.stylize(""+t,"boolean");if(Gn(t))return e.stylize("null","null")}function Kn(e){return"["+Error.prototype.toString.call(e)+"]"}function pu(e,t,r,n,i){for(var a=[],o=0,s=t.length;o<s;++o)$o(t,String(o))?a.push(Wn(e,t,r,n,String(o),!0)):a.push("");return i.forEach(function(c){c.match(/^\d+$/)||a.push(Wn(e,t,r,n,c,!0))}),a}function Wn(e,t,r,n,i,a){var o,s,c;if(c=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]},c.get?c.set?s=e.stylize("[Getter/Setter]","special"):s=e.stylize("[Getter]","special"):c.set&&(s=e.stylize("[Setter]","special")),$o(n,i)||(o="["+i+"]"),s||(e.seen.indexOf(c.value)<0?(Gn(r)?s=yr(e,c.value,null):s=yr(e,c.value,r-1),s.indexOf(`
|
|
13
21
|
`)>-1&&(a?s=s.split(`
|
|
14
22
|
`).map(function(f){return" "+f}).join(`
|
|
15
23
|
`).substr(2):s=`
|
|
16
24
|
`+s.split(`
|
|
17
25
|
`).map(function(f){return" "+f}).join(`
|
|
18
|
-
`))):s=e.stylize("[Circular]","special")),
|
|
19
|
-
`)>=0,
|
|
26
|
+
`))):s=e.stylize("[Circular]","special")),Ie(o)){if(a&&i.match(/^\d+$/))return s;o=JSON.stringify(""+i),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function yu(e,t,r){var n=e.reduce(function(i,a){return a.indexOf(`
|
|
27
|
+
`)>=0,i+a.replace(/\u001b\[\d\d?m/g,"").length+1},0);return n>60?r[0]+(t===""?"":t+`
|
|
20
28
|
`)+" "+e.join(`,
|
|
21
|
-
`)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}function $s(e){return Array.isArray(e)}function on(e){return typeof e=="boolean"}function vr(e){return e===null}function Hs(e){return typeof e=="number"}function mr(e){return typeof e=="string"}function we(e){return e===void 0}function br(e){return at(e)&&Er(e)==="[object RegExp]"}function at(e){return typeof e=="object"&&e!==null}function sn(e){return at(e)&&Er(e)==="[object Date]"}function yr(e){return at(e)&&(Er(e)==="[object Error]"||e instanceof Error)}function xr(e){return typeof e=="function"}function Er(e){return Object.prototype.toString.call(e)}function Ks(e,t){if(!t||!at(t))return e;for(var r=Object.keys(t),i=r.length;i--;)e[r[i]]=t[r[i]];return e}function fn(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Oe(){this.head=null,this.tail=null,this.length=0}Oe.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},Oe.prototype.unshift=function(e){var t={data:e,next:this.head};this.length===0&&(this.tail=t),this.head=t,++this.length},Oe.prototype.shift=function(){if(this.length!==0){var e=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},Oe.prototype.clear=function(){this.head=this.tail=null,this.length=0},Oe.prototype.join=function(e){if(this.length===0)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},Oe.prototype.concat=function(e){if(this.length===0)return c.alloc(0);if(this.length===1)return this.head.data;for(var t=c.allocUnsafe(e>>>0),r=this.head,i=0;r;)r.data.copy(t,i),i+=r.data.length,r=r.next;return t};var Ws=c.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function Ys(e){if(e&&!Ws(e))throw new Error("Unknown encoding: "+e)}function ot(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),Ys(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=Gs;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=Vs;break;default:this.write=qs;return}this.charBuffer=new c(6),this.charReceived=0,this.charLength=0}ot.prototype.write=function(e){for(var t="";this.charLength;){var r=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived<this.charLength)return"";e=e.slice(r,e.length),t=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var n=t.charCodeAt(t.length-1);if(n>=55296&&n<=56319){this.charLength+=this.surrogateSize,t="";continue}if(this.charReceived=this.charLength=0,e.length===0)return t;break}this.detectIncompleteChar(e);var i=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,i),i-=this.charReceived),t+=e.toString(this.encoding,0,i);var i=t.length-1,n=t.charCodeAt(i);if(n>=55296&&n<=56319){var a=this.surrogateSize;return this.charLength+=a,this.charReceived+=a,this.charBuffer.copy(this.charBuffer,a,0,a),e.copy(this.charBuffer,0,0,a),t.substring(0,i)}return t},ot.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var r=e[e.length-t];if(t==1&&r>>5==6){this.charLength=2;break}if(t<=2&&r>>4==14){this.charLength=3;break}if(t<=3&&r>>3==30){this.charLength=4;break}}this.charReceived=t},ot.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,i=this.charBuffer,n=this.encoding;t+=i.slice(0,r).toString(n)}return t};function qs(e){return e.toString(this.encoding)}function Gs(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function Vs(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}D.ReadableState=ln;var O=Ns("stream");Z(D,b);function Xs(e,t,r){if(typeof e.prependListener=="function")return e.prependListener(t,r);!e._events||!e._events[t]?e.on(t,r):Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]}function Js(e,t){return e.listeners(t).length}function ln(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof q&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,i=this.objectMode?16:16*1024;this.highWaterMark=r||r===0?r:i,this.highWaterMark=~~this.highWaterMark,this.buffer=new Oe,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(this.decoder=new ot(e.encoding),this.encoding=e.encoding)}function D(e){if(!(this instanceof D))return new D(e);this._readableState=new ln(e,this),this.readable=!0,e&&typeof e.read=="function"&&(this._read=e.read),b.call(this)}D.prototype.push=function(e,t){var r=this._readableState;return!r.objectMode&&typeof e=="string"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=c.from(e,t),t="")),hn(this,r,e,t,!1)},D.prototype.unshift=function(e){var t=this._readableState;return hn(this,t,e,"",!0)},D.prototype.isPaused=function(){return this._readableState.flowing===!1};function hn(e,t,r,i,n){var a=tf(t,r);if(a)e.emit("error",a);else if(r===null)t.reading=!1,rf(e,t);else if(t.objectMode||r&&r.length>0)if(t.ended&&!n){var o=new Error("stream.push() after EOF");e.emit("error",o)}else if(t.endEmitted&&n){var s=new Error("stream.unshift() after end event");e.emit("error",s)}else{var h;t.decoder&&!n&&!i&&(r=t.decoder.write(r),h=!t.objectMode&&r.length===0),n||(t.reading=!1),h||(t.flowing&&t.length===0&&!t.sync?(e.emit("data",r),e.read(0)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&Pt(e))),nf(e,t)}else n||(t.reading=!1);return Qs(t)}function Qs(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||e.length===0)}D.prototype.setEncoding=function(e){return this._readableState.decoder=new ot(e),this._readableState.encoding=e,this};var cn=8388608;function ef(e){return e>=cn?e=cn:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function un(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=ef(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}D.prototype.read=function(e){O("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return O("read: emitReadable",t.length,t.ended),t.length===0&&t.ended?Sr(this):Pt(this),null;if(e=un(e,t),e===0&&t.ended)return t.length===0&&Sr(this),null;var i=t.needReadable;O("need readable",i),(t.length===0||t.length-e<t.highWaterMark)&&(i=!0,O("length less than watermark",i)),t.ended||t.reading?(i=!1,O("reading or ended",i)):i&&(O("do read"),t.reading=!0,t.sync=!0,t.length===0&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=un(r,t)));var n;return e>0?n=pn(e,t):n=null,n===null?(t.needReadable=!0,e=0):t.length-=e,t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&Sr(this)),n!==null&&this.emit("data",n),n};function tf(e,t){var r=null;return!c.isBuffer(t)&&typeof t!="string"&&t!==null&&t!==void 0&&!e.objectMode&&(r=new TypeError("Invalid non-string/buffer chunk")),r}function rf(e,t){if(!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,Pt(e)}}function Pt(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(O("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?W(dn,e):dn(e))}function dn(e){O("emit readable"),e.emit("readable"),kr(e)}function nf(e,t){t.readingMore||(t.readingMore=!0,W(af,e,t))}function af(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(O("maybeReadMore read 0"),e.read(0),r!==t.length);)r=t.length;t.readingMore=!1}D.prototype._read=function(e){this.emit("error",new Error("not implemented"))},D.prototype.pipe=function(e,t){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e);break}i.pipesCount+=1,O("pipe count=%d opts=%j",i.pipesCount,t);var n=!t||t.end!==!1,a=n?s:l;i.endEmitted?W(a):r.once("end",a),e.on("unpipe",o);function o(v){O("onunpipe"),v===r&&l()}function s(){O("onend"),e.end()}var h=of(r);e.on("drain",h);var f=!1;function l(){O("cleanup"),e.removeListener("close",g),e.removeListener("finish",S),e.removeListener("drain",h),e.removeListener("error",u),e.removeListener("unpipe",o),r.removeListener("end",s),r.removeListener("end",l),r.removeListener("data",p),f=!0,i.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&h()}var d=!1;r.on("data",p);function p(v){O("ondata"),d=!1;var k=e.write(v);k===!1&&!d&&((i.pipesCount===1&&i.pipes===e||i.pipesCount>1&&_n(i.pipes,e)!==-1)&&!f&&(O("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,d=!0),r.pause())}function u(v){O("onerror",v),y(),e.removeListener("error",u),Js(e,"error")===0&&e.emit("error",v)}Xs(e,"error",u);function g(){e.removeListener("finish",S),y()}e.once("close",g);function S(){O("onfinish"),e.removeListener("close",g),y()}e.once("finish",S);function y(){O("unpipe"),r.unpipe(e)}return e.emit("pipe",r),i.flowing||(O("pipe resume"),r.resume()),e};function of(e){return function(){var t=e._readableState;O("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&e.listeners("data").length&&(t.flowing=!0,kr(e))}}D.prototype.unpipe=function(e){var t=this._readableState;if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var n=0;n<i;n++)r[n].emit("unpipe",this);return this}var a=_n(t.pipes,e);return a===-1?this:(t.pipes.splice(a,1),t.pipesCount-=1,t.pipesCount===1&&(t.pipes=t.pipes[0]),e.emit("unpipe",this),this)},D.prototype.on=function(e,t){var r=b.prototype.on.call(this,e,t);if(e==="data")this._readableState.flowing!==!1&&this.resume();else if(e==="readable"){var i=this._readableState;!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.emittedReadable=!1,i.reading?i.length&&Pt(this):W(sf,this))}return r},D.prototype.addListener=D.prototype.on;function sf(e){O("readable nexttick read 0"),e.read(0)}D.prototype.resume=function(){var e=this._readableState;return e.flowing||(O("resume"),e.flowing=!0,ff(this,e)),this};function ff(e,t){t.resumeScheduled||(t.resumeScheduled=!0,W(lf,e,t))}function lf(e,t){t.reading||(O("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),kr(e),t.flowing&&!t.reading&&e.read(0)}D.prototype.pause=function(){return O("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(O("pause"),this._readableState.flowing=!1,this.emit("pause")),this};function kr(e){var t=e._readableState;for(O("flow",t.flowing);t.flowing&&e.read()!==null;);}D.prototype.wrap=function(e){var t=this._readableState,r=!1,i=this;e.on("end",function(){if(O("wrapped end"),t.decoder&&!t.ended){var o=t.decoder.end();o&&o.length&&i.push(o)}i.push(null)}),e.on("data",function(o){if(O("wrapped data"),t.decoder&&(o=t.decoder.write(o)),!(t.objectMode&&o==null)&&!(!t.objectMode&&(!o||!o.length))){var s=i.push(o);s||(r=!0,e.pause())}});for(var n in e)this[n]===void 0&&typeof e[n]=="function"&&(this[n]=function(o){return function(){return e[o].apply(e,arguments)}}(n));var a=["error","close","destroy","pause","resume"];return pf(a,function(o){e.on(o,i.emit.bind(i,o))}),i._read=function(o){O("wrapped _read",o),r&&(r=!1,e.resume())},i},D._fromList=pn;function pn(e,t){if(t.length===0)return null;var r;return t.objectMode?r=t.buffer.shift():!e||e>=t.length?(t.decoder?r=t.buffer.join(""):t.buffer.length===1?r=t.buffer.head.data:r=t.buffer.concat(t.length),t.buffer.clear()):r=hf(e,t.buffer,t.decoder),r}function hf(e,t,r){var i;return e<t.head.data.length?(i=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):e===t.head.data.length?i=t.shift():i=r?cf(e,t):uf(e,t),i}function cf(e,t){var r=t.head,i=1,n=r.data;for(e-=n.length;r=r.next;){var a=r.data,o=e>a.length?a.length:e;if(o===a.length?n+=a:n+=a.slice(0,e),e-=o,e===0){o===a.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=a.slice(o));break}++i}return t.length-=i,n}function uf(e,t){var r=c.allocUnsafe(e),i=t.head,n=1;for(i.data.copy(r),e-=i.data.length;i=i.next;){var a=i.data,o=e>a.length?a.length:e;if(a.copy(r,r.length-e,0,o),e-=o,e===0){o===a.length?(++n,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i,i.data=a.slice(o));break}++n}return t.length-=n,r}function Sr(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,W(df,t,e))}function df(e,t){!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function pf(e,t){for(var r=0,i=e.length;r<i;r++)t(e[r],r)}function _n(e,t){for(var r=0,i=e.length;r<i;r++)if(e[r]===t)return r;return-1}j.WritableState=Rr,Z(j,b);function _f(){}function wf(e,t,r){this.chunk=e,this.encoding=t,this.callback=r,this.next=null}function Rr(e,t){Object.defineProperty(this,"buffer",{get:an(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")}),e=e||{},this.objectMode=!!e.objectMode,t instanceof q&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var r=e.highWaterMark,i=this.objectMode?16:16*1024;this.highWaterMark=r||r===0?r:i,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var n=e.decodeStrings===!1;this.decodeStrings=!n,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){Ef(t,a)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new yn(this)}Rr.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};function j(e){if(!(this instanceof j)&&!(this instanceof q))return new j(e);this._writableState=new Rr(e,this),this.writable=!0,e&&(typeof e.write=="function"&&(this._write=e.write),typeof e.writev=="function"&&(this._writev=e.writev)),b.call(this)}j.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))};function gf(e,t){var r=new Error("write after end");e.emit("error",r),W(t,r)}function vf(e,t,r,i){var n=!0,a=!1;return r===null?a=new TypeError("May not write null values to stream"):!c.isBuffer(r)&&typeof r!="string"&&r!==void 0&&!t.objectMode&&(a=new TypeError("Invalid non-string/buffer chunk")),a&&(e.emit("error",a),W(i,a),n=!1),n}j.prototype.write=function(e,t,r){var i=this._writableState,n=!1;return typeof t=="function"&&(r=t,t=null),c.isBuffer(e)?t="buffer":t||(t=i.defaultEncoding),typeof r!="function"&&(r=_f),i.ended?gf(this,r):vf(this,i,e,r)&&(i.pendingcb++,n=bf(this,i,e,t,r)),n},j.prototype.cork=function(){var e=this._writableState;e.corked++},j.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.finished&&!e.bufferProcessing&&e.bufferedRequest&&gn(this,e))},j.prototype.setDefaultEncoding=function(t){if(typeof t=="string"&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this};function mf(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t=="string"&&(t=c.from(t,r)),t}function bf(e,t,r,i,n){r=mf(t,r,i),c.isBuffer(r)&&(i="buffer");var a=t.objectMode?1:r.length;t.length+=a;var o=t.length<t.highWaterMark;if(o||(t.needDrain=!0),t.writing||t.corked){var s=t.lastBufferedRequest;t.lastBufferedRequest=new wf(r,i,n),s?s.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else Ar(e,t,!1,a,r,i,n);return o}function Ar(e,t,r,i,n,a,o){t.writelen=i,t.writecb=o,t.writing=!0,t.sync=!0,r?e._writev(n,t.onwrite):e._write(n,a,t.onwrite),t.sync=!1}function yf(e,t,r,i,n){--t.pendingcb,r?W(n,i):n(i),e._writableState.errorEmitted=!0,e.emit("error",i)}function xf(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function Ef(e,t){var r=e._writableState,i=r.sync,n=r.writecb;if(xf(r),t)yf(e,r,i,t,n);else{var a=vn(r);!a&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&gn(e,r),i?W(wn,e,r,a,n):wn(e,r,a,n)}}function wn(e,t,r,i){r||kf(e,t),t.pendingcb--,i(),bn(e,t)}function kf(e,t){t.length===0&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function gn(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var i=t.bufferedRequestCount,n=new Array(i),a=t.corkedRequestsFree;a.entry=r;for(var o=0;r;)n[o]=r,r=r.next,o+=1;Ar(e,t,!0,t.length,n,"",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new yn(t)}else{for(;r;){var s=r.chunk,h=r.encoding,f=r.callback,l=t.objectMode?1:s.length;if(Ar(e,t,!1,l,s,h,f),r=r.next,t.writing)break}r===null&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=r,t.bufferProcessing=!1}j.prototype._write=function(e,t,r){r(new Error("not implemented"))},j.prototype._writev=null,j.prototype.end=function(e,t,r){var i=this._writableState;typeof e=="function"?(r=e,e=null,t=null):typeof t=="function"&&(r=t,t=null),e!=null&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),!i.ending&&!i.finished&&Sf(this,i,r)};function vn(e){return e.ending&&e.length===0&&e.bufferedRequest===null&&!e.finished&&!e.writing}function mn(e,t){t.prefinished||(t.prefinished=!0,e.emit("prefinish"))}function bn(e,t){var r=vn(t);return r&&(t.pendingcb===0?(mn(e,t),t.finished=!0,e.emit("finish")):mn(e,t)),r}function Sf(e,t,r){t.ending=!0,bn(e,t),r&&(t.finished?W(r):e.once("finish",r)),t.ended=!0,e.writable=!1}function yn(e){var t=this;this.next=null,this.entry=null,this.finish=function(r){var i=t.entry;for(t.entry=null;i;){var n=i.callback;e.pendingcb--,n(r),i=i.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}}Z(q,D);for(var xn=Object.keys(j.prototype),Tr=0;Tr<xn.length;Tr++){var Lr=xn[Tr];q.prototype[Lr]||(q.prototype[Lr]=j.prototype[Lr])}function q(e){if(!(this instanceof q))return new q(e);D.call(this,e),j.call(this,e),e&&e.readable===!1&&(this.readable=!1),e&&e.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,e&&e.allowHalfOpen===!1&&(this.allowHalfOpen=!1),this.once("end",Rf)}function Rf(){this.allowHalfOpen||this._writableState.ended||W(Af,this)}function Af(e){e.end()}Z(G,q);function Tf(e){this.afterTransform=function(t,r){return Lf(e,t,r)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function Lf(e,t,r){var i=e._transformState;i.transforming=!1;var n=i.writecb;if(!n)return e.emit("error",new Error("no writecb in Transform class"));i.writechunk=null,i.writecb=null,r!=null&&e.push(r),n(t);var a=e._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&e._read(a.highWaterMark)}function G(e){if(!(this instanceof G))return new G(e);q.call(this,e),this._transformState=new Tf(this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform=="function"&&(this._transform=e.transform),typeof e.flush=="function"&&(this._flush=e.flush)),this.once("prefinish",function(){typeof this._flush=="function"?this._flush(function(r){En(t,r)}):En(t)})}G.prototype.push=function(e,t){return this._transformState.needTransform=!1,q.prototype.push.call(this,e,t)},G.prototype._transform=function(e,t,r){throw new Error("Not implemented")},G.prototype._write=function(e,t,r){var i=this._transformState;if(i.writecb=r,i.writechunk=e,i.writeencoding=t,!i.transforming){var n=this._readableState;(i.needTransform||n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}},G.prototype._read=function(e){var t=this._transformState;t.writechunk!==null&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0};function En(e,t){if(t)return e.emit("error",t);var r=e._writableState,i=e._transformState;if(r.length)throw new Error("Calling transform done when ws.length != 0");if(i.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}Z(st,G);function st(e){if(!(this instanceof st))return new st(e);G.call(this,e)}st.prototype._transform=function(e,t,r){r(null,e)},Z(se,b),se.Readable=D,se.Writable=j,se.Duplex=q,se.Transform=G,se.PassThrough=st,se.Stream=se;function se(){b.call(this)}se.prototype.pipe=function(e,t){var r=this;function i(l){e.writable&&e.write(l)===!1&&r.pause&&r.pause()}r.on("data",i);function n(){r.readable&&r.resume&&r.resume()}e.on("drain",n),!e._isStdio&&(!t||t.end!==!1)&&(r.on("end",o),r.on("close",s));var a=!1;function o(){a||(a=!0,e.end())}function s(){a||(a=!0,typeof e.destroy=="function"&&e.destroy())}function h(l){if(f(),b.listenerCount(this,"error")===0)throw l}r.on("error",h),e.on("error",h);function f(){r.removeListener("data",i),e.removeListener("drain",n),r.removeListener("end",o),r.removeListener("close",s),r.removeListener("error",h),e.removeListener("error",h),r.removeListener("end",f),r.removeListener("close",f),e.removeListener("close",f)}return r.on("end",f),r.on("close",f),e.on("close",f),e.emit("pipe",r),e};var kn={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"};function Of(){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}function fe(e,t,r,i,n){if(t.subarray&&e.subarray){e.set(t.subarray(r,r+i),n);return}for(var a=0;a<i;a++)e[n+a]=t[r+a]}var Ut=Uint8Array,V=Uint16Array,Bt=Int32Array,If=4,Sn=0,Rn=1,Cf=2;function Ge(e){for(var t=e.length;--t>=0;)e[t]=0}var Mf=0,An=1,Df=2,Ff=3,Nf=258,Or=29,ft=256,lt=ft+1+Or,Ve=30,Ir=19,Tn=2*lt+1,Ie=15,Cr=16,zf=7,Mr=256,Ln=16,On=17,In=18,Dr=[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],Zt=[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],Pf=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Cn=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Uf=512,le=new Array((lt+2)*2);Ge(le);var ht=new Array(Ve*2);Ge(ht);var ct=new Array(Uf);Ge(ct);var ut=new Array(Nf-Ff+1);Ge(ut);var Fr=new Array(Or);Ge(Fr);var jt=new Array(Ve);Ge(jt);function Nr(e,t,r,i,n){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=e&&e.length}var Mn,Dn,Fn;function zr(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function Nn(e){return e<256?ct[e]:ct[256+(e>>>7)]}function dt(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function H(e,t,r){e.bi_valid>Cr-r?(e.bi_buf|=t<<e.bi_valid&65535,dt(e,e.bi_buf),e.bi_buf=t>>Cr-e.bi_valid,e.bi_valid+=r-Cr):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function te(e,t,r){H(e,r[t*2],r[t*2+1])}function zn(e,t){var r=0;do r|=e&1,e>>>=1,r<<=1;while(--t>0);return r>>>1}function Bf(e){e.bi_valid===16?(dt(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function Zf(e,t){var r=t.dyn_tree,i=t.max_code,n=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,h=t.stat_desc.max_length,f,l,d,p,u,g,S=0;for(p=0;p<=Ie;p++)e.bl_count[p]=0;for(r[e.heap[e.heap_max]*2+1]=0,f=e.heap_max+1;f<Tn;f++)l=e.heap[f],p=r[r[l*2+1]*2+1]+1,p>h&&(p=h,S++),r[l*2+1]=p,!(l>i)&&(e.bl_count[p]++,u=0,l>=s&&(u=o[l-s]),g=r[l*2],e.opt_len+=g*(p+u),a&&(e.static_len+=g*(n[l*2+1]+u)));if(S!==0){do{for(p=h-1;e.bl_count[p]===0;)p--;e.bl_count[p]--,e.bl_count[p+1]+=2,e.bl_count[h]--,S-=2}while(S>0);for(p=h;p!==0;p--)for(l=e.bl_count[p];l!==0;)d=e.heap[--f],!(d>i)&&(r[d*2+1]!==p&&(e.opt_len+=(p-r[d*2+1])*r[d*2],r[d*2+1]=p),l--)}}function Pn(e,t,r){var i=new Array(Ie+1),n=0,a,o;for(a=1;a<=Ie;a++)i[a]=n=n+r[a-1]<<1;for(o=0;o<=t;o++){var s=e[o*2+1];s!==0&&(e[o*2]=zn(i[s]++,s))}}function jf(){var e,t,r,i,n,a=new Array(Ie+1);for(r=0,i=0;i<Or-1;i++)for(Fr[i]=r,e=0;e<1<<Dr[i];e++)ut[r++]=i;for(ut[r-1]=i,n=0,i=0;i<16;i++)for(jt[i]=n,e=0;e<1<<Zt[i];e++)ct[n++]=i;for(n>>=7;i<Ve;i++)for(jt[i]=n<<7,e=0;e<1<<Zt[i]-7;e++)ct[256+n++]=i;for(t=0;t<=Ie;t++)a[t]=0;for(e=0;e<=143;)le[e*2+1]=8,e++,a[8]++;for(;e<=255;)le[e*2+1]=9,e++,a[9]++;for(;e<=279;)le[e*2+1]=7,e++,a[7]++;for(;e<=287;)le[e*2+1]=8,e++,a[8]++;for(Pn(le,lt+1,a),e=0;e<Ve;e++)ht[e*2+1]=5,ht[e*2]=zn(e,5);Mn=new Nr(le,Dr,ft+1,lt,Ie),Dn=new Nr(ht,Zt,0,Ve,Ie),Fn=new Nr(new Array(0),Pf,0,Ir,zf)}function Un(e){var t;for(t=0;t<lt;t++)e.dyn_ltree[t*2]=0;for(t=0;t<Ve;t++)e.dyn_dtree[t*2]=0;for(t=0;t<Ir;t++)e.bl_tree[t*2]=0;e.dyn_ltree[Mr*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Bn(e){e.bi_valid>8?dt(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function $f(e,t,r,i){Bn(e),dt(e,r),dt(e,~r),fe(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}function Zn(e,t,r,i){var n=t*2,a=r*2;return e[n]<e[a]||e[n]===e[a]&&i[t]<=i[r]}function Pr(e,t,r){for(var i=e.heap[r],n=r<<1;n<=e.heap_len&&(n<e.heap_len&&Zn(t,e.heap[n+1],e.heap[n],e.depth)&&n++,!Zn(t,i,e.heap[n],e.depth));)e.heap[r]=e.heap[n],r=n,n<<=1;e.heap[r]=i}function jn(e,t,r){var i,n,a=0,o,s;if(e.last_lit!==0)do i=e.pending_buf[e.d_buf+a*2]<<8|e.pending_buf[e.d_buf+a*2+1],n=e.pending_buf[e.l_buf+a],a++,i===0?te(e,n,t):(o=ut[n],te(e,o+ft+1,t),s=Dr[o],s!==0&&(n-=Fr[o],H(e,n,s)),i--,o=Nn(i),te(e,o,r),s=Zt[o],s!==0&&(i-=jt[o],H(e,i,s)));while(a<e.last_lit);te(e,Mr,t)}function Ur(e,t){var r=t.dyn_tree,i=t.stat_desc.static_tree,n=t.stat_desc.has_stree,a=t.stat_desc.elems,o,s,h=-1,f;for(e.heap_len=0,e.heap_max=Tn,o=0;o<a;o++)r[o*2]!==0?(e.heap[++e.heap_len]=h=o,e.depth[o]=0):r[o*2+1]=0;for(;e.heap_len<2;)f=e.heap[++e.heap_len]=h<2?++h:0,r[f*2]=1,e.depth[f]=0,e.opt_len--,n&&(e.static_len-=i[f*2+1]);for(t.max_code=h,o=e.heap_len>>1;o>=1;o--)Pr(e,r,o);f=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Pr(e,r,1),s=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=s,r[f*2]=r[o*2]+r[s*2],e.depth[f]=(e.depth[o]>=e.depth[s]?e.depth[o]:e.depth[s])+1,r[o*2+1]=r[s*2+1]=f,e.heap[1]=f++,Pr(e,r,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],Zf(e,t),Pn(r,h,e.bl_count)}function $n(e,t,r){var i,n=-1,a,o=t[0*2+1],s=0,h=7,f=4;for(o===0&&(h=138,f=3),t[(r+1)*2+1]=65535,i=0;i<=r;i++)a=o,o=t[(i+1)*2+1],!(++s<h&&a===o)&&(s<f?e.bl_tree[a*2]+=s:a!==0?(a!==n&&e.bl_tree[a*2]++,e.bl_tree[Ln*2]++):s<=10?e.bl_tree[On*2]++:e.bl_tree[In*2]++,s=0,n=a,o===0?(h=138,f=3):a===o?(h=6,f=3):(h=7,f=4))}function Hn(e,t,r){var i,n=-1,a,o=t[0*2+1],s=0,h=7,f=4;for(o===0&&(h=138,f=3),i=0;i<=r;i++)if(a=o,o=t[(i+1)*2+1],!(++s<h&&a===o)){if(s<f)do te(e,a,e.bl_tree);while(--s!==0);else a!==0?(a!==n&&(te(e,a,e.bl_tree),s--),te(e,Ln,e.bl_tree),H(e,s-3,2)):s<=10?(te(e,On,e.bl_tree),H(e,s-3,3)):(te(e,In,e.bl_tree),H(e,s-11,7));s=0,n=a,o===0?(h=138,f=3):a===o?(h=6,f=3):(h=7,f=4)}}function Hf(e){var t;for($n(e,e.dyn_ltree,e.l_desc.max_code),$n(e,e.dyn_dtree,e.d_desc.max_code),Ur(e,e.bl_desc),t=Ir-1;t>=3&&e.bl_tree[Cn[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function Kf(e,t,r,i){var n;for(H(e,t-257,5),H(e,r-1,5),H(e,i-4,4),n=0;n<i;n++)H(e,e.bl_tree[Cn[n]*2+1],3);Hn(e,e.dyn_ltree,t-1),Hn(e,e.dyn_dtree,r-1)}function Wf(e){var t=4093624447,r;for(r=0;r<=31;r++,t>>>=1)if(t&1&&e.dyn_ltree[r*2]!==0)return Sn;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return Rn;for(r=32;r<ft;r++)if(e.dyn_ltree[r*2]!==0)return Rn;return Sn}var Kn=!1;function Yf(e){Kn||(jf(),Kn=!0),e.l_desc=new zr(e.dyn_ltree,Mn),e.d_desc=new zr(e.dyn_dtree,Dn),e.bl_desc=new zr(e.bl_tree,Fn),e.bi_buf=0,e.bi_valid=0,Un(e)}function Wn(e,t,r,i){H(e,(Mf<<1)+(i?1:0),3),$f(e,t,r)}function qf(e){H(e,An<<1,3),te(e,Mr,le),Bf(e)}function Gf(e,t,r,i){var n,a,o=0;e.level>0?(e.strm.data_type===Cf&&(e.strm.data_type=Wf(e)),Ur(e,e.l_desc),Ur(e,e.d_desc),o=Hf(e),n=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=n&&(n=a)):n=a=r+5,r+4<=n&&t!==-1?Wn(e,t,r,i):e.strategy===If||a===n?(H(e,(An<<1)+(i?1:0),3),jn(e,le,ht)):(H(e,(Df<<1)+(i?1:0),3),Kf(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),jn(e,e.dyn_ltree,e.dyn_dtree)),Un(e),i&&Bn(e)}function ge(e,t,r){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=r&255,e.last_lit++,t===0?e.dyn_ltree[r*2]++:(e.matches++,t--,e.dyn_ltree[(ut[r]+ft+1)*2]++,e.dyn_dtree[Nn(t)*2]++),e.last_lit===e.lit_bufsize-1}function Br(e,t,r,i){for(var n=e&65535|0,a=e>>>16&65535|0,o=0;r!==0;){o=r>2e3?2e3:r,r-=o;do n=n+t[i++]|0,a=a+n|0;while(--o);n%=65521,a%=65521}return n|a<<16|0}function Vf(){for(var e,t=[],r=0;r<256;r++){e=r;for(var i=0;i<8;i++)e=e&1?3988292384^e>>>1:e>>>1;t[r]=e}return t}var Xf=Vf();function U(e,t,r,i){var n=Xf,a=i+r;e^=-1;for(var o=i;o<a;o++)e=e>>>8^n[(e^t[o])&255];return e^-1}var Ce=0,Jf=1,Qf=3,ve=4,Yn=5,me=0,qn=1,be=-2,el=-3,Zr=-5,tl=-1,rl=1,$t=2,il=3,nl=4,al=2,jr=8,ol=9,sl=29,fl=256,$r=fl+1+sl,ll=30,hl=19,cl=2*$r+1,ul=15,T=3,ye=258,X=ye+T+1,dl=32,Hr=42,Kr=69,Ht=73,Kt=91,Wt=103,Me=113,pt=666,N=1,_t=2,De=3,Xe=4,pl=3;function xe(e,t){return e.msg=kn[t],t}function Gn(e){return(e<<1)-(e>4?9:0)}function Fe(e){for(var t=e.length;--t>=0;)e[t]=0}function Ee(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),r!==0&&(fe(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,t.pending===0&&(t.pending_out=0))}function B(e,t){Gf(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Ee(e.strm)}function R(e,t){e.pending_buf[e.pending++]=t}function wt(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function _l(e,t,r,i){var n=e.avail_in;return n>i&&(n=i),n===0?0:(e.avail_in-=n,fe(t,e.input,e.next_in,n,r),e.state.wrap===1?e.adler=Br(e.adler,t,n,r):e.state.wrap===2&&(e.adler=U(e.adler,t,n,r)),e.next_in+=n,e.total_in+=n,n)}function Vn(e,t){var r=e.max_chain_length,i=e.strstart,n,a,o=e.prev_length,s=e.nice_match,h=e.strstart>e.w_size-X?e.strstart-(e.w_size-X):0,f=e.window,l=e.w_mask,d=e.prev,p=e.strstart+ye,u=f[i+o-1],g=f[i+o];e.prev_length>=e.good_match&&(r>>=2),s>e.lookahead&&(s=e.lookahead);do if(n=t,!(f[n+o]!==g||f[n+o-1]!==u||f[n]!==f[i]||f[++n]!==f[i+1])){i+=2,n++;do;while(f[++i]===f[++n]&&f[++i]===f[++n]&&f[++i]===f[++n]&&f[++i]===f[++n]&&f[++i]===f[++n]&&f[++i]===f[++n]&&f[++i]===f[++n]&&f[++i]===f[++n]&&i<p);if(a=ye-(p-i),i=p-ye,a>o){if(e.match_start=t,o=a,a>=s)break;u=f[i+o-1],g=f[i+o]}}while((t=d[t&l])>h&&--r!==0);return o<=e.lookahead?o:e.lookahead}function gt(e){var t=e.w_size,r,i,n,a,o;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-X)){fe(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,i=e.hash_size,r=i;do n=e.head[--r],e.head[r]=n>=t?n-t:0;while(--i);i=t,r=i;do n=e.prev[--r],e.prev[r]=n>=t?n-t:0;while(--i);a+=t}if(e.strm.avail_in===0)break;if(i=_l(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=i,e.lookahead+e.insert>=T)for(o=e.strstart-e.insert,e.ins_h=e.window[o],e.ins_h=(e.ins_h<<e.hash_shift^e.window[o+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[o+T-1])&e.hash_mask,e.prev[o&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=o,o++,e.insert--,!(e.lookahead+e.insert<T)););}while(e.lookahead<X&&e.strm.avail_in!==0)}function wl(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(gt(e),e.lookahead===0&&t===Ce)return N;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var i=e.block_start+r;if((e.strstart===0||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,B(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-X&&(B(e,!1),e.strm.avail_out===0))return N}return e.insert=0,t===ve?(B(e,!0),e.strm.avail_out===0?De:Xe):(e.strstart>e.block_start&&(B(e,!1),e.strm.avail_out===0),N)}function Wr(e,t){for(var r,i;;){if(e.lookahead<X){if(gt(e),e.lookahead<X&&t===Ce)return N;if(e.lookahead===0)break}if(r=0,e.lookahead>=T&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+T-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),r!==0&&e.strstart-r<=e.w_size-X&&(e.match_length=Vn(e,r)),e.match_length>=T)if(i=ge(e,e.strstart-e.match_start,e.match_length-T),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=T){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+T-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else i=ge(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(B(e,!1),e.strm.avail_out===0))return N}return e.insert=e.strstart<T-1?e.strstart:T-1,t===ve?(B(e,!0),e.strm.avail_out===0?De:Xe):e.last_lit&&(B(e,!1),e.strm.avail_out===0)?N:_t}function Je(e,t){for(var r,i,n;;){if(e.lookahead<X){if(gt(e),e.lookahead<X&&t===Ce)return N;if(e.lookahead===0)break}if(r=0,e.lookahead>=T&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+T-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=T-1,r!==0&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-X&&(e.match_length=Vn(e,r),e.match_length<=5&&(e.strategy===rl||e.match_length===T&&e.strstart-e.match_start>4096)&&(e.match_length=T-1)),e.prev_length>=T&&e.match_length<=e.prev_length){n=e.strstart+e.lookahead-T,i=ge(e,e.strstart-1-e.prev_match,e.prev_length-T),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=n&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+T-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=T-1,e.strstart++,i&&(B(e,!1),e.strm.avail_out===0))return N}else if(e.match_available){if(i=ge(e,0,e.window[e.strstart-1]),i&&B(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return N}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=ge(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<T-1?e.strstart:T-1,t===ve?(B(e,!0),e.strm.avail_out===0?De:Xe):e.last_lit&&(B(e,!1),e.strm.avail_out===0)?N:_t}function gl(e,t){for(var r,i,n,a,o=e.window;;){if(e.lookahead<=ye){if(gt(e),e.lookahead<=ye&&t===Ce)return N;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=T&&e.strstart>0&&(n=e.strstart-1,i=o[n],i===o[++n]&&i===o[++n]&&i===o[++n])){a=e.strstart+ye;do;while(i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&n<a);e.match_length=ye-(a-n),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=T?(r=ge(e,1,e.match_length-T),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=ge(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(B(e,!1),e.strm.avail_out===0))return N}return e.insert=0,t===ve?(B(e,!0),e.strm.avail_out===0?De:Xe):e.last_lit&&(B(e,!1),e.strm.avail_out===0)?N:_t}function vl(e,t){for(var r;;){if(e.lookahead===0&&(gt(e),e.lookahead===0)){if(t===Ce)return N;break}if(e.match_length=0,r=ge(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(B(e,!1),e.strm.avail_out===0))return N}return e.insert=0,t===ve?(B(e,!0),e.strm.avail_out===0?De:Xe):e.last_lit&&(B(e,!1),e.strm.avail_out===0)?N:_t}function re(e,t,r,i,n){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=i,this.func=n}var Qe;Qe=[new re(0,0,0,0,wl),new re(4,4,8,4,Wr),new re(4,5,16,8,Wr),new re(4,6,32,32,Wr),new re(4,4,16,16,Je),new re(8,16,32,32,Je),new re(8,16,128,128,Je),new re(8,32,128,256,Je),new re(32,128,258,1024,Je),new re(32,258,258,4096,Je)];function ml(e){e.window_size=2*e.w_size,Fe(e.head),e.max_lazy_match=Qe[e.level].max_lazy,e.good_match=Qe[e.level].good_length,e.nice_match=Qe[e.level].nice_length,e.max_chain_length=Qe[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=T-1,e.match_available=0,e.ins_h=0}function bl(){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=jr,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 V(cl*2),this.dyn_dtree=new V((2*ll+1)*2),this.bl_tree=new V((2*hl+1)*2),Fe(this.dyn_ltree),Fe(this.dyn_dtree),Fe(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new V(ul+1),this.heap=new V(2*$r+1),Fe(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new V(2*$r+1),Fe(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function yl(e){var t;return!e||!e.state?xe(e,be):(e.total_in=e.total_out=0,e.data_type=al,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?Hr:Me,e.adler=t.wrap===2?0:1,t.last_flush=Ce,Yf(t),me)}function Xn(e){var t=yl(e);return t===me&&ml(e.state),t}function xl(e,t,r,i,n,a){if(!e)return be;var o=1;if(t===tl&&(t=6),i<0?(o=0,i=-i):i>15&&(o=2,i-=16),n<1||n>ol||r!==jr||i<8||i>15||t<0||t>9||a<0||a>nl)return xe(e,be);i===8&&(i=9);var s=new bl;return e.state=s,s.strm=e,s.wrap=o,s.gzhead=null,s.w_bits=i,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=n+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+T-1)/T),s.window=new Ut(s.w_size*2),s.head=new V(s.hash_size),s.prev=new V(s.w_size),s.lit_bufsize=1<<n+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new Ut(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=t,s.strategy=a,s.method=r,Xn(e)}function El(e,t){var r,i,n,a;if(!e||!e.state||t>Yn||t<0)return e?xe(e,be):be;if(i=e.state,!e.output||!e.input&&e.avail_in!==0||i.status===pt&&t!==ve)return xe(e,e.avail_out===0?Zr:be);if(i.strm=e,r=i.last_flush,i.last_flush=t,i.status===Hr)if(i.wrap===2)e.adler=0,R(i,31),R(i,139),R(i,8),i.gzhead?(R(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),R(i,i.gzhead.time&255),R(i,i.gzhead.time>>8&255),R(i,i.gzhead.time>>16&255),R(i,i.gzhead.time>>24&255),R(i,i.level===9?2:i.strategy>=$t||i.level<2?4:0),R(i,i.gzhead.os&255),i.gzhead.extra&&i.gzhead.extra.length&&(R(i,i.gzhead.extra.length&255),R(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=U(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=Kr):(R(i,0),R(i,0),R(i,0),R(i,0),R(i,0),R(i,i.level===9?2:i.strategy>=$t||i.level<2?4:0),R(i,pl),i.status=Me);else{var o=jr+(i.w_bits-8<<4)<<8,s=-1;i.strategy>=$t||i.level<2?s=0:i.level<6?s=1:i.level===6?s=2:s=3,o|=s<<6,i.strstart!==0&&(o|=dl),o+=31-o%31,i.status=Me,wt(i,o),i.strstart!==0&&(wt(i,e.adler>>>16),wt(i,e.adler&65535)),e.adler=1}if(i.status===Kr)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(i.gzhead.extra.length&65535)&&!(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=U(e.adler,i.pending_buf,i.pending-n,n)),Ee(e),n=i.pending,i.pending===i.pending_buf_size));)R(i,i.gzhead.extra[i.gzindex]&255),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(e.adler=U(e.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=Ht)}else i.status=Ht;if(i.status===Ht)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=U(e.adler,i.pending_buf,i.pending-n,n)),Ee(e),n=i.pending,i.pending===i.pending_buf_size)){a=1;break}i.gzindex<i.gzhead.name.length?a=i.gzhead.name.charCodeAt(i.gzindex++)&255:a=0,R(i,a)}while(a!==0);i.gzhead.hcrc&&i.pending>n&&(e.adler=U(e.adler,i.pending_buf,i.pending-n,n)),a===0&&(i.gzindex=0,i.status=Kt)}else i.status=Kt;if(i.status===Kt)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=U(e.adler,i.pending_buf,i.pending-n,n)),Ee(e),n=i.pending,i.pending===i.pending_buf_size)){a=1;break}i.gzindex<i.gzhead.comment.length?a=i.gzhead.comment.charCodeAt(i.gzindex++)&255:a=0,R(i,a)}while(a!==0);i.gzhead.hcrc&&i.pending>n&&(e.adler=U(e.adler,i.pending_buf,i.pending-n,n)),a===0&&(i.status=Wt)}else i.status=Wt;if(i.status===Wt&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&Ee(e),i.pending+2<=i.pending_buf_size&&(R(i,e.adler&255),R(i,e.adler>>8&255),e.adler=0,i.status=Me)):i.status=Me),i.pending!==0){if(Ee(e),e.avail_out===0)return i.last_flush=-1,me}else if(e.avail_in===0&&Gn(t)<=Gn(r)&&t!==ve)return xe(e,Zr);if(i.status===pt&&e.avail_in!==0)return xe(e,Zr);if(e.avail_in!==0||i.lookahead!==0||t!==Ce&&i.status!==pt){var h=i.strategy===$t?vl(i,t):i.strategy===il?gl(i,t):Qe[i.level].func(i,t);if((h===De||h===Xe)&&(i.status=pt),h===N||h===De)return e.avail_out===0&&(i.last_flush=-1),me;if(h===_t&&(t===Jf?qf(i):t!==Yn&&(Wn(i,0,0,!1),t===Qf&&(Fe(i.head),i.lookahead===0&&(i.strstart=0,i.block_start=0,i.insert=0))),Ee(e),e.avail_out===0))return i.last_flush=-1,me}return t!==ve?me:i.wrap<=0?qn:(i.wrap===2?(R(i,e.adler&255),R(i,e.adler>>8&255),R(i,e.adler>>16&255),R(i,e.adler>>24&255),R(i,e.total_in&255),R(i,e.total_in>>8&255),R(i,e.total_in>>16&255),R(i,e.total_in>>24&255)):(wt(i,e.adler>>>16),wt(i,e.adler&65535)),Ee(e),i.wrap>0&&(i.wrap=-i.wrap),i.pending!==0?me:qn)}function kl(e){var t;return!e||!e.state?be:(t=e.state.status,t!==Hr&&t!==Kr&&t!==Ht&&t!==Kt&&t!==Wt&&t!==Me&&t!==pt?xe(e,be):(e.state=null,t===Me?xe(e,el):me))}var Yt=30,Sl=12;function Rl(e,t){var r,i,n,a,o,s,h,f,l,d,p,u,g,S,y,v,k,E,_,A,z,m,I,L,x;r=e.state,i=e.next_in,L=e.input,n=i+(e.avail_in-5),a=e.next_out,x=e.output,o=a-(t-e.avail_out),s=a+(e.avail_out-257),h=r.dmax,f=r.wsize,l=r.whave,d=r.wnext,p=r.window,u=r.hold,g=r.bits,S=r.lencode,y=r.distcode,v=(1<<r.lenbits)-1,k=(1<<r.distbits)-1;e:do{g<15&&(u+=L[i++]<<g,g+=8,u+=L[i++]<<g,g+=8),E=S[u&v];t:for(;;){if(_=E>>>24,u>>>=_,g-=_,_=E>>>16&255,_===0)x[a++]=E&65535;else if(_&16){A=E&65535,_&=15,_&&(g<_&&(u+=L[i++]<<g,g+=8),A+=u&(1<<_)-1,u>>>=_,g-=_),g<15&&(u+=L[i++]<<g,g+=8,u+=L[i++]<<g,g+=8),E=y[u&k];r:for(;;){if(_=E>>>24,u>>>=_,g-=_,_=E>>>16&255,_&16){if(z=E&65535,_&=15,g<_&&(u+=L[i++]<<g,g+=8,g<_&&(u+=L[i++]<<g,g+=8)),z+=u&(1<<_)-1,z>h){e.msg="invalid distance too far back",r.mode=Yt;break e}if(u>>>=_,g-=_,_=a-o,z>_){if(_=z-_,_>l&&r.sane){e.msg="invalid distance too far back",r.mode=Yt;break e}if(m=0,I=p,d===0){if(m+=f-_,_<A){A-=_;do x[a++]=p[m++];while(--_);m=a-z,I=x}}else if(d<_){if(m+=f+d-_,_-=d,_<A){A-=_;do x[a++]=p[m++];while(--_);if(m=0,d<A){_=d,A-=_;do x[a++]=p[m++];while(--_);m=a-z,I=x}}}else if(m+=d-_,_<A){A-=_;do x[a++]=p[m++];while(--_);m=a-z,I=x}for(;A>2;)x[a++]=I[m++],x[a++]=I[m++],x[a++]=I[m++],A-=3;A&&(x[a++]=I[m++],A>1&&(x[a++]=I[m++]))}else{m=a-z;do x[a++]=x[m++],x[a++]=x[m++],x[a++]=x[m++],A-=3;while(A>2);A&&(x[a++]=x[m++],A>1&&(x[a++]=x[m++]))}}else if(_&64){e.msg="invalid distance code",r.mode=Yt;break e}else{E=y[(E&65535)+(u&(1<<_)-1)];continue r}break}}else if(_&64)if(_&32){r.mode=Sl;break e}else{e.msg="invalid literal/length code",r.mode=Yt;break e}else{E=S[(E&65535)+(u&(1<<_)-1)];continue t}break}}while(i<n&&a<s);A=g>>3,i-=A,g-=A<<3,u&=(1<<g)-1,e.next_in=i,e.next_out=a,e.avail_in=i<n?5+(n-i):5-(i-n),e.avail_out=a<s?257+(s-a):257-(a-s),r.hold=u,r.bits=g}var et=15,Jn=852,Qn=592,ea=0,Yr=1,ta=2,Al=[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],Tl=[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],Ll=[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],Ol=[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];function vt(e,t,r,i,n,a,o,s){var h=s.bits,f=0,l=0,d=0,p=0,u=0,g=0,S=0,y=0,v=0,k=0,E,_,A,z,m,I=null,L=0,x,F=new V(et+1),Se=new V(et+1),kt=null,ri=0,ii,St,Rt;for(f=0;f<=et;f++)F[f]=0;for(l=0;l<i;l++)F[t[r+l]]++;for(u=h,p=et;p>=1&&F[p]===0;p--);if(u>p&&(u=p),p===0)return n[a++]=1<<24|64<<16|0,n[a++]=1<<24|64<<16|0,s.bits=1,0;for(d=1;d<p&&F[d]===0;d++);for(u<d&&(u=d),y=1,f=1;f<=et;f++)if(y<<=1,y-=F[f],y<0)return-1;if(y>0&&(e===ea||p!==1))return-1;for(Se[1]=0,f=1;f<et;f++)Se[f+1]=Se[f]+F[f];for(l=0;l<i;l++)t[r+l]!==0&&(o[Se[t[r+l]]++]=l);if(e===ea?(I=kt=o,x=19):e===Yr?(I=Al,L-=257,kt=Tl,ri-=257,x=256):(I=Ll,kt=Ol,x=-1),k=0,l=0,f=d,m=a,g=u,S=0,A=-1,v=1<<u,z=v-1,e===Yr&&v>Jn||e===ta&&v>Qn)return 1;for(;;){ii=f-S,o[l]<x?(St=0,Rt=o[l]):o[l]>x?(St=kt[ri+o[l]],Rt=I[L+o[l]]):(St=96,Rt=0),E=1<<f-S,_=1<<g,d=_;do _-=E,n[m+(k>>S)+_]=ii<<24|St<<16|Rt|0;while(_!==0);for(E=1<<f-1;k&E;)E>>=1;if(E!==0?(k&=E-1,k+=E):k=0,l++,--F[f]===0){if(f===p)break;f=t[r+o[l]]}if(f>u&&(k&z)!==A){for(S===0&&(S=u),m+=d,g=f-S,y=1<<g;g+S<p&&(y-=F[g+S],!(y<=0));)g++,y<<=1;if(v+=1<<g,e===Yr&&v>Jn||e===ta&&v>Qn)return 1;A=k&z,n[A]=u<<24|g<<16|m-a|0}}return k!==0&&(n[m+k]=f-S<<24|64<<16|0),s.bits=u,0}var Il=0,ra=1,ia=2,na=4,Cl=5,qt=6,mt=0,Ml=1,Dl=2,ke=-2,Fl=-3,Nl=-4,zl=-5,aa=8,oa=1,sa=2,fa=3,la=4,ha=5,ca=6,ua=7,da=8,pa=9,_a=10,wa=11,he=12,qr=13,ga=14,Gr=15,va=16,ma=17,ba=18,ya=19,Gt=20,Vt=21,xa=22,Ea=23,ka=24,Sa=25,Ra=26,Vr=27,Aa=28,Ta=29,C=30,Pl=31,Ul=32,Bl=852,Zl=592;function La(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function jl(){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 V(320),this.work=new V(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function $l(e){var t;return!e||!e.state?ke:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=oa,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Bt(Bl),t.distcode=t.distdyn=new Bt(Zl),t.sane=1,t.back=-1,mt)}function Oa(e){var t;return!e||!e.state?ke:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,$l(e))}function Hl(e,t){var r,i;return!e||!e.state||(i=e.state,t<0?(r=0,t=-t):(r=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?ke:(i.window!==null&&i.wbits!==t&&(i.window=null),i.wrap=r,i.wbits=t,Oa(e))}function Kl(e,t){var r,i;return e?(i=new jl,e.state=i,i.window=null,r=Hl(e,t),r!==mt&&(e.state=null),r):ke}var Ia=!0,Xr,Jr;function Wl(e){if(Ia){var t;for(Xr=new Bt(512),Jr=new Bt(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(vt(ra,e.lens,0,288,Xr,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;vt(ia,e.lens,0,32,Jr,0,e.work,{bits:5}),Ia=!1}e.lencode=Xr,e.lenbits=9,e.distcode=Jr,e.distbits=5}function Yl(e,t,r,i){var n,a=e.state;return a.window===null&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Ut(a.wsize)),i>=a.wsize?(fe(a.window,t,r-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(n=a.wsize-a.wnext,n>i&&(n=i),fe(a.window,t,r-i,n,a.wnext),i-=n,i?(fe(a.window,t,r-i,i,0),a.wnext=i,a.whave=a.wsize):(a.wnext+=n,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=n))),0}function ql(e,t){var r,i,n,a,o,s,h,f,l,d,p,u,g,S,y=0,v,k,E,_,A,z,m,I,L=new Ut(4),x,F,Se=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0)return ke;r=e.state,r.mode===he&&(r.mode=qr),o=e.next_out,n=e.output,h=e.avail_out,a=e.next_in,i=e.input,s=e.avail_in,f=r.hold,l=r.bits,d=s,p=h,I=mt;e:for(;;)switch(r.mode){case oa:if(r.wrap===0){r.mode=qr;break}for(;l<16;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(r.wrap&2&&f===35615){r.check=0,L[0]=f&255,L[1]=f>>>8&255,r.check=U(r.check,L,2,0),f=0,l=0,r.mode=sa;break}if(r.flags=0,r.head&&(r.head.done=!1),!(r.wrap&1)||(((f&255)<<8)+(f>>8))%31){e.msg="incorrect header check",r.mode=C;break}if((f&15)!==aa){e.msg="unknown compression method",r.mode=C;break}if(f>>>=4,l-=4,m=(f&15)+8,r.wbits===0)r.wbits=m;else if(m>r.wbits){e.msg="invalid window size",r.mode=C;break}r.dmax=1<<m,e.adler=r.check=1,r.mode=f&512?_a:he,f=0,l=0;break;case sa:for(;l<16;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(r.flags=f,(r.flags&255)!==aa){e.msg="unknown compression method",r.mode=C;break}if(r.flags&57344){e.msg="unknown header flags set",r.mode=C;break}r.head&&(r.head.text=f>>8&1),r.flags&512&&(L[0]=f&255,L[1]=f>>>8&255,r.check=U(r.check,L,2,0)),f=0,l=0,r.mode=fa;case fa:for(;l<32;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}r.head&&(r.head.time=f),r.flags&512&&(L[0]=f&255,L[1]=f>>>8&255,L[2]=f>>>16&255,L[3]=f>>>24&255,r.check=U(r.check,L,4,0)),f=0,l=0,r.mode=la;case la:for(;l<16;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}r.head&&(r.head.xflags=f&255,r.head.os=f>>8),r.flags&512&&(L[0]=f&255,L[1]=f>>>8&255,r.check=U(r.check,L,2,0)),f=0,l=0,r.mode=ha;case ha:if(r.flags&1024){for(;l<16;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}r.length=f,r.head&&(r.head.extra_len=f),r.flags&512&&(L[0]=f&255,L[1]=f>>>8&255,r.check=U(r.check,L,2,0)),f=0,l=0}else r.head&&(r.head.extra=null);r.mode=ca;case ca:if(r.flags&1024&&(u=r.length,u>s&&(u=s),u&&(r.head&&(m=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),fe(r.head.extra,i,a,u,m)),r.flags&512&&(r.check=U(r.check,i,u,a)),s-=u,a+=u,r.length-=u),r.length))break e;r.length=0,r.mode=ua;case ua:if(r.flags&2048){if(s===0)break e;u=0;do m=i[a+u++],r.head&&m&&r.length<65536&&(r.head.name+=String.fromCharCode(m));while(m&&u<s);if(r.flags&512&&(r.check=U(r.check,i,u,a)),s-=u,a+=u,m)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=da;case da:if(r.flags&4096){if(s===0)break e;u=0;do m=i[a+u++],r.head&&m&&r.length<65536&&(r.head.comment+=String.fromCharCode(m));while(m&&u<s);if(r.flags&512&&(r.check=U(r.check,i,u,a)),s-=u,a+=u,m)break e}else r.head&&(r.head.comment=null);r.mode=pa;case pa:if(r.flags&512){for(;l<16;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(f!==(r.check&65535)){e.msg="header crc mismatch",r.mode=C;break}f=0,l=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=he;break;case _a:for(;l<32;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}e.adler=r.check=La(f),f=0,l=0,r.mode=wa;case wa:if(r.havedict===0)return e.next_out=o,e.avail_out=h,e.next_in=a,e.avail_in=s,r.hold=f,r.bits=l,Dl;e.adler=r.check=1,r.mode=he;case he:if(t===Cl||t===qt)break e;case qr:if(r.last){f>>>=l&7,l-=l&7,r.mode=Vr;break}for(;l<3;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}switch(r.last=f&1,f>>>=1,l-=1,f&3){case 0:r.mode=ga;break;case 1:if(Wl(r),r.mode=Gt,t===qt){f>>>=2,l-=2;break e}break;case 2:r.mode=ma;break;case 3:e.msg="invalid block type",r.mode=C}f>>>=2,l-=2;break;case ga:for(f>>>=l&7,l-=l&7;l<32;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if((f&65535)!==(f>>>16^65535)){e.msg="invalid stored block lengths",r.mode=C;break}if(r.length=f&65535,f=0,l=0,r.mode=Gr,t===qt)break e;case Gr:r.mode=va;case va:if(u=r.length,u){if(u>s&&(u=s),u>h&&(u=h),u===0)break e;fe(n,i,a,u,o),s-=u,a+=u,h-=u,o+=u,r.length-=u;break}r.mode=he;break;case ma:for(;l<14;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(r.nlen=(f&31)+257,f>>>=5,l-=5,r.ndist=(f&31)+1,f>>>=5,l-=5,r.ncode=(f&15)+4,f>>>=4,l-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=C;break}r.have=0,r.mode=ba;case ba:for(;r.have<r.ncode;){for(;l<3;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}r.lens[Se[r.have++]]=f&7,f>>>=3,l-=3}for(;r.have<19;)r.lens[Se[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,x={bits:r.lenbits},I=vt(Il,r.lens,0,19,r.lencode,0,r.work,x),r.lenbits=x.bits,I){e.msg="invalid code lengths set",r.mode=C;break}r.have=0,r.mode=ya;case ya:for(;r.have<r.nlen+r.ndist;){for(;y=r.lencode[f&(1<<r.lenbits)-1],v=y>>>24,k=y>>>16&255,E=y&65535,!(v<=l);){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(E<16)f>>>=v,l-=v,r.lens[r.have++]=E;else{if(E===16){for(F=v+2;l<F;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(f>>>=v,l-=v,r.have===0){e.msg="invalid bit length repeat",r.mode=C;break}m=r.lens[r.have-1],u=3+(f&3),f>>>=2,l-=2}else if(E===17){for(F=v+3;l<F;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}f>>>=v,l-=v,m=0,u=3+(f&7),f>>>=3,l-=3}else{for(F=v+7;l<F;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}f>>>=v,l-=v,m=0,u=11+(f&127),f>>>=7,l-=7}if(r.have+u>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=C;break}for(;u--;)r.lens[r.have++]=m}}if(r.mode===C)break;if(r.lens[256]===0){e.msg="invalid code -- missing end-of-block",r.mode=C;break}if(r.lenbits=9,x={bits:r.lenbits},I=vt(ra,r.lens,0,r.nlen,r.lencode,0,r.work,x),r.lenbits=x.bits,I){e.msg="invalid literal/lengths set",r.mode=C;break}if(r.distbits=6,r.distcode=r.distdyn,x={bits:r.distbits},I=vt(ia,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,x),r.distbits=x.bits,I){e.msg="invalid distances set",r.mode=C;break}if(r.mode=Gt,t===qt)break e;case Gt:r.mode=Vt;case Vt:if(s>=6&&h>=258){e.next_out=o,e.avail_out=h,e.next_in=a,e.avail_in=s,r.hold=f,r.bits=l,Rl(e,p),o=e.next_out,n=e.output,h=e.avail_out,a=e.next_in,i=e.input,s=e.avail_in,f=r.hold,l=r.bits,r.mode===he&&(r.back=-1);break}for(r.back=0;y=r.lencode[f&(1<<r.lenbits)-1],v=y>>>24,k=y>>>16&255,E=y&65535,!(v<=l);){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(k&&!(k&240)){for(_=v,A=k,z=E;y=r.lencode[z+((f&(1<<_+A)-1)>>_)],v=y>>>24,k=y>>>16&255,E=y&65535,!(_+v<=l);){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}f>>>=_,l-=_,r.back+=_}if(f>>>=v,l-=v,r.back+=v,r.length=E,k===0){r.mode=Ra;break}if(k&32){r.back=-1,r.mode=he;break}if(k&64){e.msg="invalid literal/length code",r.mode=C;break}r.extra=k&15,r.mode=xa;case xa:if(r.extra){for(F=r.extra;l<F;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}r.length+=f&(1<<r.extra)-1,f>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=Ea;case Ea:for(;y=r.distcode[f&(1<<r.distbits)-1],v=y>>>24,k=y>>>16&255,E=y&65535,!(v<=l);){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(!(k&240)){for(_=v,A=k,z=E;y=r.distcode[z+((f&(1<<_+A)-1)>>_)],v=y>>>24,k=y>>>16&255,E=y&65535,!(_+v<=l);){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}f>>>=_,l-=_,r.back+=_}if(f>>>=v,l-=v,r.back+=v,k&64){e.msg="invalid distance code",r.mode=C;break}r.offset=E,r.extra=k&15,r.mode=ka;case ka:if(r.extra){for(F=r.extra;l<F;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}r.offset+=f&(1<<r.extra)-1,f>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=C;break}r.mode=Sa;case Sa:if(h===0)break e;if(u=p-h,r.offset>u){if(u=r.offset-u,u>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=C;break}u>r.wnext?(u-=r.wnext,g=r.wsize-u):g=r.wnext-u,u>r.length&&(u=r.length),S=r.window}else S=n,g=o-r.offset,u=r.length;u>h&&(u=h),h-=u,r.length-=u;do n[o++]=S[g++];while(--u);r.length===0&&(r.mode=Vt);break;case Ra:if(h===0)break e;n[o++]=r.length,h--,r.mode=Vt;break;case Vr:if(r.wrap){for(;l<32;){if(s===0)break e;s--,f|=i[a++]<<l,l+=8}if(p-=h,e.total_out+=p,r.total+=p,p&&(e.adler=r.check=r.flags?U(r.check,n,p,o-p):Br(r.check,n,p,o-p)),p=h,(r.flags?f:La(f))!==r.check){e.msg="incorrect data check",r.mode=C;break}f=0,l=0}r.mode=Aa;case Aa:if(r.wrap&&r.flags){for(;l<32;){if(s===0)break e;s--,f+=i[a++]<<l,l+=8}if(f!==(r.total&4294967295)){e.msg="incorrect length check",r.mode=C;break}f=0,l=0}r.mode=Ta;case Ta:I=Ml;break e;case C:I=Fl;break e;case Pl:return Nl;case Ul:default:return ke}return e.next_out=o,e.avail_out=h,e.next_in=a,e.avail_in=s,r.hold=f,r.bits=l,(r.wsize||p!==e.avail_out&&r.mode<C&&(r.mode<Vr||t!==na))&&Yl(e,e.output,e.next_out,p-e.avail_out),d-=e.avail_in,p-=e.avail_out,e.total_in+=d,e.total_out+=p,r.total+=p,r.wrap&&p&&(e.adler=r.check=r.flags?U(r.check,n,p,e.next_out-p):Br(r.check,n,p,e.next_out-p)),e.data_type=r.bits+(r.last?64:0)+(r.mode===he?128:0)+(r.mode===Gt||r.mode===Gr?256:0),(d===0&&p===0||t===na)&&I===mt&&(I=zl),I}function Gl(e){if(!e||!e.state)return ke;var t=e.state;return t.window&&(t.window=null),e.state=null,mt}var Qr=0,tt=1,Xt=2,bt=3,Jt=4,rt=5,yt=6,xt=7,Ca=0,Ma=1,Da=2,Fa=3,ei=4,Na=5,Vl=6,Qt=0,za=1,Pa=2,Xl=-1,Jl=-2,Ql=-3,Ua=-5,eh=0,th=1,rh=9,ih=-1,nh=1,ah=2,oh=3,sh=4,fh=0,lh=0,hh=1,ch=2,Ba=8;function J(e){if(e<tt||e>xt)throw new TypeError("Bad argument");this.mode=e,this.init_done=!1,this.write_in_progress=!1,this.pending_close=!1,this.windowBits=0,this.level=0,this.memLevel=0,this.strategy=0,this.dictionary=null}J.prototype.init=function(e,t,r,i,n){this.windowBits=e,this.level=t,this.memLevel=r,this.strategy=i,(this.mode===bt||this.mode===Jt)&&(this.windowBits+=16),this.mode===xt&&(this.windowBits+=32),(this.mode===rt||this.mode===yt)&&(this.windowBits=-this.windowBits),this.strm=new Of;var a;switch(this.mode){case tt:case bt:case rt:a=xl(this.strm,this.level,Ba,this.windowBits,this.memLevel,this.strategy);break;case Xt:case Jt:case yt:case xt:a=Kl(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}if(a!==Qt){this._error(a);return}this.write_in_progress=!1,this.init_done=!0},J.prototype.params=function(){throw new Error("deflateParams Not supported")},J.prototype._writeCheck=function(){if(!this.init_done)throw new Error("write before init");if(this.mode===Qr)throw new Error("already finalized");if(this.write_in_progress)throw new Error("write already in progress");if(this.pending_close)throw new Error("close is pending")},J.prototype.write=function(e,t,r,i,n,a,o){this._writeCheck(),this.write_in_progress=!0;var s=this;return oe.nextTick(function(){s.write_in_progress=!1;var h=s._write(e,t,r,i,n,a,o);s.callback(h[0],h[1]),s.pending_close&&s.close()}),this};function uh(e,t){for(var r=0;r<e.length;r++)this[t+r]=e[r]}J.prototype.writeSync=function(e,t,r,i,n,a,o){return this._writeCheck(),this._write(e,t,r,i,n,a,o)},J.prototype._write=function(e,t,r,i,n,a,o){if(this.write_in_progress=!0,e!==Ca&&e!==Ma&&e!==Da&&e!==Fa&&e!==ei&&e!==Na)throw new Error("Invalid flush value");t==null&&(t=new c(0),i=0,r=0),n._set?n.set=n._set:n.set=uh;var s=this.strm;s.avail_in=i,s.input=t,s.next_in=r,s.avail_out=o,s.output=n,s.next_out=a;var h;switch(this.mode){case tt:case bt:case rt:h=El(s,e);break;case xt:case Xt:case Jt:case yt:h=ql(s,e);break;default:throw new Error("Unknown mode "+this.mode)}return this._checkError(h,s,e)||this._error(h),this.write_in_progress=!1,[s.avail_in,s.avail_out]},J.prototype._checkError=function(e,t,r){switch(e){case Qt:case Ua:if(t.avail_out!==0&&r===ei)return!1;break;case za:break;case Pa:return!1;default:return!1}return!0},J.prototype.close=function(){if(this.write_in_progress){this.pending_close=!0;return}this.pending_close=!1,this.mode===tt||this.mode===bt||this.mode===rt?kl(this.strm):Gl(this.strm),this.mode=Qr};var er;J.prototype.reset=function(){switch(this.mode){case tt:case rt:er=Xn(this.strm);break;case Xt:case yt:er=Oa(this.strm);break}er!==Qt&&this._error(er)},J.prototype._error=function(e){this.onerror(kn[e]+": "+this.strm.msg,e),this.write_in_progress=!1,this.pending_close&&this.close()};var Za=Object.freeze({__proto__:null,DEFLATE:tt,DEFLATERAW:rt,GUNZIP:Jt,GZIP:bt,INFLATE:Xt,INFLATERAW:yt,NONE:Qr,UNZIP:xt,Z_BEST_COMPRESSION:rh,Z_BEST_SPEED:th,Z_BINARY:lh,Z_BLOCK:Na,Z_BUF_ERROR:Ua,Z_DATA_ERROR:Ql,Z_DEFAULT_COMPRESSION:ih,Z_DEFAULT_STRATEGY:fh,Z_DEFLATED:Ba,Z_ERRNO:Xl,Z_FILTERED:nh,Z_FINISH:ei,Z_FIXED:sh,Z_FULL_FLUSH:Fa,Z_HUFFMAN_ONLY:ah,Z_NEED_DICT:Pa,Z_NO_COMPRESSION:eh,Z_NO_FLUSH:Ca,Z_OK:Qt,Z_PARTIAL_FLUSH:Ma,Z_RLE:oh,Z_STREAM_END:za,Z_STREAM_ERROR:Jl,Z_SYNC_FLUSH:Da,Z_TEXT:hh,Z_TREES:Vl,Z_UNKNOWN:ch,Zlib:J});function dh(e,t){if(!e)throw new Error(t)}var w={};Object.keys(Za).forEach(function(e){w[e]=Za[e]}),w.Z_MIN_WINDOWBITS=8,w.Z_MAX_WINDOWBITS=15,w.Z_DEFAULT_WINDOWBITS=15,w.Z_MIN_CHUNK=64,w.Z_MAX_CHUNK=1/0,w.Z_DEFAULT_CHUNK=16*1024,w.Z_MIN_MEMLEVEL=1,w.Z_MAX_MEMLEVEL=9,w.Z_DEFAULT_MEMLEVEL=8,w.Z_MIN_LEVEL=-1,w.Z_MAX_LEVEL=9,w.Z_DEFAULT_LEVEL=w.Z_DEFAULT_COMPRESSION;var Et={Z_OK:w.Z_OK,Z_STREAM_END:w.Z_STREAM_END,Z_NEED_DICT:w.Z_NEED_DICT,Z_ERRNO:w.Z_ERRNO,Z_STREAM_ERROR:w.Z_STREAM_ERROR,Z_DATA_ERROR:w.Z_DATA_ERROR,Z_MEM_ERROR:w.Z_MEM_ERROR,Z_BUF_ERROR:w.Z_BUF_ERROR,Z_VERSION_ERROR:w.Z_VERSION_ERROR};Object.keys(Et).forEach(function(e){Et[Et[e]]=e});function ph(e){return new Pe(e)}function _h(e){return new Ue(e)}function wh(e){return new je(e)}function gh(e){return new $e(e)}function vh(e){return new Be(e)}function mh(e){return new Ze(e)}function bh(e){return new He(e)}function yh(e,t,r){return typeof t=="function"&&(r=t,t={}),Ne(new Pe(t),e,r)}function xh(e,t){return ze(new Pe(t),e)}function Eh(e,t,r){return typeof t=="function"&&(r=t,t={}),Ne(new Be(t),e,r)}function kh(e,t){return ze(new Be(t),e)}function Sh(e,t,r){return typeof t=="function"&&(r=t,t={}),Ne(new je(t),e,r)}function Rh(e,t){return ze(new je(t),e)}function Ah(e,t,r){return typeof t=="function"&&(r=t,t={}),Ne(new He(t),e,r)}function Th(e,t){return ze(new He(t),e)}function Lh(e,t,r){return typeof t=="function"&&(r=t,t={}),Ne(new Ue(t),e,r)}function Oh(e,t){return ze(new Ue(t),e)}function Ih(e,t,r){return typeof t=="function"&&(r=t,t={}),Ne(new Ze(t),e,r)}function Ch(e,t){return ze(new Ze(t),e)}function Mh(e,t,r){return typeof t=="function"&&(r=t,t={}),Ne(new $e(t),e,r)}function Dh(e,t){return ze(new $e(t),e)}function Ne(e,t,r){var i=[],n=0;e.on("error",o),e.on("end",s),e.end(t),a();function a(){for(var h;(h=e.read())!==null;)i.push(h),n+=h.length;e.once("readable",a)}function o(h){e.removeListener("end",s),e.removeListener("readable",a),r(h)}function s(){var h=c.concat(i,n);i=[],r(null,h),e.close()}}function ze(e,t){if(typeof t=="string"&&(t=new c(t)),!c.isBuffer(t))throw new TypeError("Not a string or buffer");var r=w.Z_FINISH;return e._processChunk(t,r)}function Pe(e){if(!(this instanceof Pe))return new Pe(e);M.call(this,e,w.DEFLATE)}function Ue(e){if(!(this instanceof Ue))return new Ue(e);M.call(this,e,w.INFLATE)}function Be(e){if(!(this instanceof Be))return new Be(e);M.call(this,e,w.GZIP)}function Ze(e){if(!(this instanceof Ze))return new Ze(e);M.call(this,e,w.GUNZIP)}function je(e){if(!(this instanceof je))return new je(e);M.call(this,e,w.DEFLATERAW)}function $e(e){if(!(this instanceof $e))return new $e(e);M.call(this,e,w.INFLATERAW)}function He(e){if(!(this instanceof He))return new He(e);M.call(this,e,w.UNZIP)}function M(e,t){if(this._opts=e=e||{},this._chunkSize=e.chunkSize||w.Z_DEFAULT_CHUNK,G.call(this,e),e.flush&&e.flush!==w.Z_NO_FLUSH&&e.flush!==w.Z_PARTIAL_FLUSH&&e.flush!==w.Z_SYNC_FLUSH&&e.flush!==w.Z_FULL_FLUSH&&e.flush!==w.Z_FINISH&&e.flush!==w.Z_BLOCK)throw new Error("Invalid flush flag: "+e.flush);if(this._flushFlag=e.flush||w.Z_NO_FLUSH,e.chunkSize&&(e.chunkSize<w.Z_MIN_CHUNK||e.chunkSize>w.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+e.chunkSize);if(e.windowBits&&(e.windowBits<w.Z_MIN_WINDOWBITS||e.windowBits>w.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+e.windowBits);if(e.level&&(e.level<w.Z_MIN_LEVEL||e.level>w.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+e.level);if(e.memLevel&&(e.memLevel<w.Z_MIN_MEMLEVEL||e.memLevel>w.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+e.memLevel);if(e.strategy&&e.strategy!=w.Z_FILTERED&&e.strategy!=w.Z_HUFFMAN_ONLY&&e.strategy!=w.Z_RLE&&e.strategy!=w.Z_FIXED&&e.strategy!=w.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+e.strategy);if(e.dictionary&&!c.isBuffer(e.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._binding=new w.Zlib(t);var r=this;this._hadError=!1,this._binding.onerror=function(a,o){r._binding=null,r._hadError=!0;var s=new Error(a);s.errno=o,s.code=Et[o],r.emit("error",s)};var i=w.Z_DEFAULT_COMPRESSION;typeof e.level=="number"&&(i=e.level);var n=w.Z_DEFAULT_STRATEGY;typeof e.strategy=="number"&&(n=e.strategy),this._binding.init(e.windowBits||w.Z_DEFAULT_WINDOWBITS,i,e.memLevel||w.Z_DEFAULT_MEMLEVEL,n,e.dictionary),this._buffer=new c(this._chunkSize),this._offset=0,this._closed=!1,this._level=i,this._strategy=n,this.once("end",this.close)}Z(M,G),M.prototype.params=function(e,t,r){if(e<w.Z_MIN_LEVEL||e>w.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+e);if(t!=w.Z_FILTERED&&t!=w.Z_HUFFMAN_ONLY&&t!=w.Z_RLE&&t!=w.Z_FIXED&&t!=w.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+t);if(this._level!==e||this._strategy!==t){var i=this;this.flush(w.Z_SYNC_FLUSH,function(){i._binding.params(e,t),i._hadError||(i._level=e,i._strategy=t,r&&r())})}else oe.nextTick(r)},M.prototype.reset=function(){return this._binding.reset()},M.prototype._flush=function(e){this._transform(new c(0),"",e)},M.prototype.flush=function(e,t){var r=this._writableState;if((typeof e=="function"||e===void 0&&!t)&&(t=e,e=w.Z_FULL_FLUSH),r.ended)t&&oe.nextTick(t);else if(r.ending)t&&this.once("end",t);else if(r.needDrain){var i=this;this.once("drain",function(){i.flush(t)})}else this._flushFlag=e,this.write(new c(0),"",t)},M.prototype.close=function(e){if(e&&oe.nextTick(e),!this._closed){this._closed=!0,this._binding.close();var t=this;oe.nextTick(function(){t.emit("close")})}},M.prototype._transform=function(e,t,r){var i,n=this._writableState,a=n.ending||n.ended,o=a&&(!e||n.length===e.length);if(!e===null&&!c.isBuffer(e))return r(new Error("invalid input"));o?i=w.Z_FINISH:(i=this._flushFlag,e.length>=n.length&&(this._flushFlag=this._opts.flush||w.Z_NO_FLUSH)),this._processChunk(e,i,r)},M.prototype._processChunk=function(e,t,r){var i=e&&e.length,n=this._chunkSize-this._offset,a=0,o=this,s=typeof r=="function";if(!s){var h=[],f=0,l;this.on("error",function(S){l=S});do var d=this._binding.writeSync(t,e,a,i,this._buffer,this._offset,n);while(!this._hadError&&g(d[0],d[1]));if(this._hadError)throw l;var p=c.concat(h,f);return this.close(),p}var u=this._binding.write(t,e,a,i,this._buffer,this._offset,n);u.buffer=e,u.callback=g;function g(S,y){if(!o._hadError){var v=n-y;if(dh(v>=0,"have should not go down"),v>0){var k=o._buffer.slice(o._offset,o._offset+v);o._offset+=v,s?o.push(k):(h.push(k),f+=k.length)}if((y===0||o._offset>=o._chunkSize)&&(n=o._chunkSize,o._offset=0,o._buffer=new c(o._chunkSize)),y===0){if(a+=i-S,i=S,!s)return!0;var E=o._binding.write(t,e,a,i,o._buffer,o._offset,o._chunkSize);E.callback=g,E.buffer=e;return}if(!s)return!1;r()}}},Z(Pe,M),Z(Ue,M),Z(Be,M),Z(Ze,M),Z(je,M),Z($e,M),Z(He,M);var ja={codes:Et,createDeflate:ph,createInflate:_h,createDeflateRaw:wh,createInflateRaw:gh,createGzip:vh,createGunzip:mh,createUnzip:bh,deflate:yh,deflateSync:xh,gzip:Eh,gzipSync:kh,deflateRaw:Sh,deflateRawSync:Rh,unzip:Ah,unzipSync:Th,inflate:Lh,inflateSync:Oh,gunzip:Ih,gunzipSync:Ch,inflateRaw:Mh,inflateRawSync:Dh,Deflate:Pe,Inflate:Ue,Gzip:Be,Gunzip:Ze,DeflateRaw:je,InflateRaw:$e,Unzip:He,Zlib:M};class $a extends hr{constructor({client:t,keyPrefix:r="cache"}){super(),this.client=t,this.keyPrefix=r}async _set(t,r){let i=JSON.stringify(r);const n=i.length;return i=ja.gzipSync(i).toString("base64"),this.client.putObject({key:K(this.keyPrefix,t),body:i,contentEncoding:"gzip",contentType:"application/gzip",metadata:{compressor:"zlib",compressed:"true","client-id":this.client.id,"length-serialized":String(n),"length-compressed":String(i.length),"compression-gain":(i.length/n).toFixed(2)}})}async _get(t){const{Body:r}=await this.client.getObject(K(this.keyPrefix,t));let i=await lr(r);return i=Buffer.from(i,"base64"),i=ja.unzipSync(i).toString(),JSON.parse(i)}async _del(t){return await this.client.deleteObject(K(this.keyPrefix,t)),!0}async _clear(t=""){const r=await this.client.getAllKeys({prefix:K(this.keyPrefix,t)});await this.client.deleteObjects(r)}}class Ha extends b{async setup(t){}async start(){}async stop(){}beforeSetup(){this.emit("plugin.beforeSetup",new Date)}afterSetup(){this.emit("plugin.afterSetup",new Date)}beforeStart(){this.emit("plugin.beforeStart",new Date)}afterStart(){this.emit("plugin.afterStart",new Date)}beforeStop(){this.emit("plugin.beforeStop",new Date)}afterStop(){this.emit("plugin.afterStop",new Date)}}const Fh={setup(e){},start(){},stop(){}},Nh={async setup(e){this.client=e.client,this.map={PutObjectCommand:"put",GetObjectCommand:"get",HeadObjectCommand:"get",DeleteObjectCommand:"delete",DeleteObjectsCommand:"delete",ListObjectsV2Command:"list"},this.costs={total:0,prices:{put:.005/1e3,copy:.005/1e3,list:.005/1e3,post:.005/1e3,get:4e-4/1e3,select:4e-4/1e3,delete:4e-4/1e3},requests:{total:0,put:0,post:0,copy:0,list:0,get:0,select:0,delete:0},events:{total:0,PutObjectCommand:0,GetObjectCommand:0,HeadObjectCommand:0,DeleteObjectCommand:0,DeleteObjectsCommand:0,ListObjectsV2Command:0}},this.client.costs=JSON.parse(JSON.stringify(this.costs))},async start(){this.client.on("command.response",e=>this.addRequest(e,this.map[e]))},addRequest(e,t){this.costs.events[e]++,this.costs.events.total++,this.costs.requests.total++,this.costs.requests[t]++,this.costs.total+=this.costs.prices[t],this.client.costs.events[e]++,this.client.costs.events.total++,this.client.costs.requests.total++,this.client.costs.requests[t]++,this.client.costs.total+=this.client.costs.prices[t]}};class zh extends Ha{constructor(t={}){super(),this.driver=t.driver}async setup(t){this.database=t,this.driver||(this.driver=new $a({keyPrefix:"cache",client:t.client})),this.installDatabaseProxy();for(const r of Object.values(t.resources))this.installResourcesProxies(r)}async start(){}async stop(){}installDatabaseProxy(){const t=this.installResourcesProxies.bind(this);this.database._createResource=this.database.createResource,this.database.createResource=async function(...r){const i=await this._createResource(...r);return t(i),i}}installResourcesProxies(t){t.cache=this.driver;let r=`resource=${t.name}`;this.driver.keyPrefix&&(this.driver.keyPrefix=K(this.driver.keyPrefix,r)),t.cacheKeyFor=async function({params:i={},action:n="list"}){let a=Object.keys(i).sort().map(o=>`${o}:${i[o]}`).join("|")||"empty";return a=await Si(a),a=K(r,`action=${n}`,`${a}.json.gz`),a},t._count=t.count,t._listIds=t.listIds,t._getMany=t.getMany,t._getAll=t.getAll,t._page=t.page,t.count=async function(){const i=await this.cacheKeyFor({action:"count"});try{const a=await this.cache.get(i);if(a)return a}catch(a){if(a.name!=="NoSuchKey")throw a}const n=await t._count();return await this.cache.set(i,n),n},t.listIds=async function(){const i=await this.cacheKeyFor({action:"listIds"});try{const a=await this.cache.get(i);if(a)return a}catch(a){if(a.name!=="NoSuchKey")throw a}const n=await t._listIds();return await this.cache.set(i,n),n},t.getMany=async function(i){const n=await this.cacheKeyFor({action:"getMany",params:{ids:i}});try{const o=await this.cache.get(n);if(o)return o}catch(o){if(o.name!=="NoSuchKey")throw o}const a=await t._getMany(i);return await this.cache.set(n,a),a},t.getAll=async function(){const i=await this.cacheKeyFor({action:"getAll"});try{const a=await this.cache.get(i);if(a)return a}catch(a){if(a.name!=="NoSuchKey")throw a}const n=await t._getAll();return await this.cache.set(i,n),n},t.page=async function({offset:i,size:n}){const a=await this.cacheKeyFor({action:"page",params:{offset:i,size:n}});try{const s=await this.cache.get(a);if(s)return s}catch(s){if(s.name!=="NoSuchKey")throw s}const o=await t._page({offset:i,size:n});return await this.cache.set(a,o),o},t._insert=t.insert,t._update=t.update,t._delete=t.delete,t._deleteMany=t.deleteMany,t.insert=async function(...i){const n=await t._insert(...i);return await this.cache.clear(r),n},t.update=async function(...i){const n=await t._update(...i);return await this.cache.clear(r),n},t.delete=async function(...i){const n=await t._delete(...i);return await this.cache.clear(r),n},t.deleteMany=async function(...i){const n=await t._deleteMany(...i);return await this.cache.clear(r),n}}}export{Ke as BaseError,hr as Cache,zh as CachePlugin,ki as Client,Ei as ConnectionString,Nh as CostsPlugin,Fi as Database,bi as ErrorMap,At as InvalidResourceItem,Oo as MemoryCache,vi as MissingMetadata,wi as NoSuchBucket,or as NoSuchKey,gi as NotFound,Ha as Plugin,Fh as PluginObject,Ii as ResourceIdsPageReader,Oi as ResourceIdsReader,Ci as ResourceReader,Mi as ResourceWriter,$a as S3Cache,xi as S3_DEFAULT_ENDPOINT,yi as S3_DEFAULT_REGION,Lo as S3db,mi as UnknownError,Ti as Validator,Li as ValidatorManager,Ri as decrypt,sr as encrypt,Si as sha256,lr as streamToString};
|
|
29
|
+
`)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}function vu(e){return Array.isArray(e)}function Bo(e){return typeof e=="boolean"}function Gn(e){return e===null}function gu(e){return typeof e=="number"}function Vn(e){return typeof e=="string"}function Ie(e){return e===void 0}function Yn(e){return Ot(e)&&Qn(e)==="[object RegExp]"}function Ot(e){return typeof e=="object"&&e!==null}function Uo(e){return Ot(e)&&Qn(e)==="[object Date]"}function Jn(e){return Ot(e)&&(Qn(e)==="[object Error]"||e instanceof Error)}function Xn(e){return typeof e=="function"}function Qn(e){return Object.prototype.toString.call(e)}function _u(e,t){if(!t||!Ot(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}function $o(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Ke(){this.head=null,this.tail=null,this.length=0}Ke.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},Ke.prototype.unshift=function(e){var t={data:e,next:this.head};this.length===0&&(this.tail=t),this.head=t,++this.length},Ke.prototype.shift=function(){if(this.length!==0){var e=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},Ke.prototype.clear=function(){this.head=this.tail=null,this.length=0},Ke.prototype.join=function(e){if(this.length===0)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},Ke.prototype.concat=function(e){if(this.length===0)return y.alloc(0);if(this.length===1)return this.head.data;for(var t=y.allocUnsafe(e>>>0),r=this.head,n=0;r;)r.data.copy(t,n),n+=r.data.length,r=r.next;return t};var wu=y.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function bu(e){if(e&&!wu(e))throw new Error("Unknown encoding: "+e)}function Tt(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),bu(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=xu;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=Eu;break;default:this.write=mu;return}this.charBuffer=new y(6),this.charReceived=0,this.charLength=0}Tt.prototype.write=function(e){for(var t="";this.charLength;){var r=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived<this.charLength)return"";e=e.slice(r,e.length),t=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var i=t.charCodeAt(t.length-1);if(i>=55296&&i<=56319){this.charLength+=this.surrogateSize,t="";continue}if(this.charReceived=this.charLength=0,e.length===0)return t;break}this.detectIncompleteChar(e);var n=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,n),n-=this.charReceived),t+=e.toString(this.encoding,0,n);var n=t.length-1,i=t.charCodeAt(n);if(i>=55296&&i<=56319){var a=this.surrogateSize;return this.charLength+=a,this.charReceived+=a,this.charBuffer.copy(this.charBuffer,a,0,a),e.copy(this.charBuffer,0,0,a),t.substring(0,n)}return t},Tt.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var r=e[e.length-t];if(t==1&&r>>5==6){this.charLength=2;break}if(t<=2&&r>>4==14){this.charLength=3;break}if(t<=3&&r>>3==30){this.charLength=4;break}}this.charReceived=t},Tt.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,n=this.charBuffer,i=this.encoding;t+=n.slice(0,r).toString(i)}return t};function mu(e){return e.toString(this.encoding)}function xu(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function Eu(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}j.ReadableState=zo;var F=cu("stream");K(j,R);function Su(e,t,r){if(typeof e.prependListener=="function")return e.prependListener(t,r);!e._events||!e._events[t]?e.on(t,r):Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]}function Au(e,t){return e.listeners(t).length}function zo(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof ne&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,n=this.objectMode?16:16*1024;this.highWaterMark=r||r===0?r:n,this.highWaterMark=~~this.highWaterMark,this.buffer=new Ke,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(this.decoder=new Tt(e.encoding),this.encoding=e.encoding)}function j(e){if(!(this instanceof j))return new j(e);this._readableState=new zo(e,this),this.readable=!0,e&&typeof e.read=="function"&&(this._read=e.read),R.call(this)}j.prototype.push=function(e,t){var r=this._readableState;return!r.objectMode&&typeof e=="string"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=y.from(e,t),t="")),Zo(this,r,e,t,!1)},j.prototype.unshift=function(e){var t=this._readableState;return Zo(this,t,e,"",!0)},j.prototype.isPaused=function(){return this._readableState.flowing===!1};function Zo(e,t,r,n,i){var a=Ou(t,r);if(a)e.emit("error",a);else if(r===null)t.reading=!1,Tu(e,t);else if(t.objectMode||r&&r.length>0)if(t.ended&&!i){var o=new Error("stream.push() after EOF");e.emit("error",o)}else if(t.endEmitted&&i){var s=new Error("stream.unshift() after end event");e.emit("error",s)}else{var c;t.decoder&&!i&&!n&&(r=t.decoder.write(r),c=!t.objectMode&&r.length===0),i||(t.reading=!1),c||(t.flowing&&t.length===0&&!t.sync?(e.emit("data",r),e.read(0)):(t.length+=t.objectMode?1:r.length,i?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&vr(e))),Iu(e,t)}else i||(t.reading=!1);return ku(t)}function ku(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||e.length===0)}j.prototype.setEncoding=function(e){return this._readableState.decoder=new Tt(e),this._readableState.encoding=e,this};var qo=8388608;function Ru(e){return e>=qo?e=qo:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function Ho(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=Ru(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}j.prototype.read=function(e){F("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return F("read: emitReadable",t.length,t.ended),t.length===0&&t.ended?ti(this):vr(this),null;if(e=Ho(e,t),e===0&&t.ended)return t.length===0&&ti(this),null;var n=t.needReadable;F("need readable",n),(t.length===0||t.length-e<t.highWaterMark)&&(n=!0,F("length less than watermark",n)),t.ended||t.reading?(n=!1,F("reading or ended",n)):n&&(F("do read"),t.reading=!0,t.sync=!0,t.length===0&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=Ho(r,t)));var i;return e>0?i=Wo(e,t):i=null,i===null?(t.needReadable=!0,e=0):t.length-=e,t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&ti(this)),i!==null&&this.emit("data",i),i};function Ou(e,t){var r=null;return!y.isBuffer(t)&&typeof t!="string"&&t!==null&&t!==void 0&&!e.objectMode&&(r=new TypeError("Invalid non-string/buffer chunk")),r}function Tu(e,t){if(!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,vr(e)}}function vr(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(F("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?Q(Ko,e):Ko(e))}function Ko(e){F("emit readable"),e.emit("readable"),ei(e)}function Iu(e,t){t.readingMore||(t.readingMore=!0,Q(Pu,e,t))}function Pu(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(F("maybeReadMore read 0"),e.read(0),r!==t.length);)r=t.length;t.readingMore=!1}j.prototype._read=function(e){this.emit("error",new Error("not implemented"))},j.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e);break}n.pipesCount+=1,F("pipe count=%d opts=%j",n.pipesCount,t);var i=!t||t.end!==!1,a=i?s:l;n.endEmitted?Q(a):r.once("end",a),e.on("unpipe",o);function o(w){F("onunpipe"),w===r&&l()}function s(){F("onend"),e.end()}var c=Fu(r);e.on("drain",c);var f=!1;function l(){F("cleanup"),e.removeListener("close",p),e.removeListener("finish",v),e.removeListener("drain",c),e.removeListener("error",u),e.removeListener("unpipe",o),r.removeListener("end",s),r.removeListener("end",l),r.removeListener("data",h),f=!0,n.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&c()}var d=!1;r.on("data",h);function h(w){F("ondata"),d=!1;var E=e.write(w);E===!1&&!d&&((n.pipesCount===1&&n.pipes===e||n.pipesCount>1&&Go(n.pipes,e)!==-1)&&!f&&(F("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,d=!0),r.pause())}function u(w){F("onerror",w),_(),e.removeListener("error",u),Au(e,"error")===0&&e.emit("error",w)}Su(e,"error",u);function p(){e.removeListener("finish",v),_()}e.once("close",p);function v(){F("onfinish"),e.removeListener("close",p),_()}e.once("finish",v);function _(){F("unpipe"),r.unpipe(e)}return e.emit("pipe",r),n.flowing||(F("pipe resume"),r.resume()),e};function Fu(e){return function(){var t=e._readableState;F("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&e.listeners("data").length&&(t.flowing=!0,ei(e))}}j.prototype.unpipe=function(e){var t=this._readableState;if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this),this);if(!e){var r=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i<n;i++)r[i].emit("unpipe",this);return this}var a=Go(t.pipes,e);return a===-1?this:(t.pipes.splice(a,1),t.pipesCount-=1,t.pipesCount===1&&(t.pipes=t.pipes[0]),e.emit("unpipe",this),this)},j.prototype.on=function(e,t){var r=R.prototype.on.call(this,e,t);if(e==="data")this._readableState.flowing!==!1&&this.resume();else if(e==="readable"){var n=this._readableState;!n.endEmitted&&!n.readableListening&&(n.readableListening=n.needReadable=!0,n.emittedReadable=!1,n.reading?n.length&&vr(this):Q(Cu,this))}return r},j.prototype.addListener=j.prototype.on;function Cu(e){F("readable nexttick read 0"),e.read(0)}j.prototype.resume=function(){var e=this._readableState;return e.flowing||(F("resume"),e.flowing=!0,Du(this,e)),this};function Du(e,t){t.resumeScheduled||(t.resumeScheduled=!0,Q(Mu,e,t))}function Mu(e,t){t.reading||(F("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),ei(e),t.flowing&&!t.reading&&e.read(0)}j.prototype.pause=function(){return F("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(F("pause"),this._readableState.flowing=!1,this.emit("pause")),this};function ei(e){var t=e._readableState;for(F("flow",t.flowing);t.flowing&&e.read()!==null;);}j.prototype.wrap=function(e){var t=this._readableState,r=!1,n=this;e.on("end",function(){if(F("wrapped end"),t.decoder&&!t.ended){var o=t.decoder.end();o&&o.length&&n.push(o)}n.push(null)}),e.on("data",function(o){if(F("wrapped data"),t.decoder&&(o=t.decoder.write(o)),!(t.objectMode&&o==null)&&!(!t.objectMode&&(!o||!o.length))){var s=n.push(o);s||(r=!0,e.pause())}});for(var i in e)this[i]===void 0&&typeof e[i]=="function"&&(this[i]=function(o){return function(){return e[o].apply(e,arguments)}}(i));var a=["error","close","destroy","pause","resume"];return Uu(a,function(o){e.on(o,n.emit.bind(n,o))}),n._read=function(o){F("wrapped _read",o),r&&(r=!1,e.resume())},n},j._fromList=Wo;function Wo(e,t){if(t.length===0)return null;var r;return t.objectMode?r=t.buffer.shift():!e||e>=t.length?(t.decoder?r=t.buffer.join(""):t.buffer.length===1?r=t.buffer.head.data:r=t.buffer.concat(t.length),t.buffer.clear()):r=Lu(e,t.buffer,t.decoder),r}function Lu(e,t,r){var n;return e<t.head.data.length?(n=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):e===t.head.data.length?n=t.shift():n=r?ju(e,t):Nu(e,t),n}function ju(e,t){var r=t.head,n=1,i=r.data;for(e-=i.length;r=r.next;){var a=r.data,o=e>a.length?a.length:e;if(o===a.length?i+=a:i+=a.slice(0,e),e-=o,e===0){o===a.length?(++n,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=a.slice(o));break}++n}return t.length-=n,i}function Nu(e,t){var r=y.allocUnsafe(e),n=t.head,i=1;for(n.data.copy(r),e-=n.data.length;n=n.next;){var a=n.data,o=e>a.length?a.length:e;if(a.copy(r,r.length-e,0,o),e-=o,e===0){o===a.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=a.slice(o));break}++i}return t.length-=i,r}function ti(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,Q(Bu,t,e))}function Bu(e,t){!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function Uu(e,t){for(var r=0,n=e.length;r<n;r++)t(e[r],r)}function Go(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}Z.WritableState=ri,K(Z,R);function $u(){}function zu(e,t,r){this.chunk=e,this.encoding=t,this.callback=r,this.next=null}function ri(e,t){Object.defineProperty(this,"buffer",{get:No(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")}),e=e||{},this.objectMode=!!e.objectMode,t instanceof ne&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var r=e.highWaterMark,n=this.objectMode?16:16*1024;this.highWaterMark=r||r===0?r:n,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var i=e.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){Vu(t,a)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new es(this)}ri.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};function Z(e){if(!(this instanceof Z)&&!(this instanceof ne))return new Z(e);this._writableState=new ri(e,this),this.writable=!0,e&&(typeof e.write=="function"&&(this._write=e.write),typeof e.writev=="function"&&(this._writev=e.writev)),R.call(this)}Z.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))};function Zu(e,t){var r=new Error("write after end");e.emit("error",r),Q(t,r)}function qu(e,t,r,n){var i=!0,a=!1;return r===null?a=new TypeError("May not write null values to stream"):!y.isBuffer(r)&&typeof r!="string"&&r!==void 0&&!t.objectMode&&(a=new TypeError("Invalid non-string/buffer chunk")),a&&(e.emit("error",a),Q(n,a),i=!1),i}Z.prototype.write=function(e,t,r){var n=this._writableState,i=!1;return typeof t=="function"&&(r=t,t=null),y.isBuffer(e)?t="buffer":t||(t=n.defaultEncoding),typeof r!="function"&&(r=$u),n.ended?Zu(this,r):qu(this,n,e,r)&&(n.pendingcb++,i=Ku(this,n,e,t,r)),i},Z.prototype.cork=function(){var e=this._writableState;e.corked++},Z.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.finished&&!e.bufferProcessing&&e.bufferedRequest&&Yo(this,e))},Z.prototype.setDefaultEncoding=function(t){if(typeof t=="string"&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this};function Hu(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t=="string"&&(t=y.from(t,r)),t}function Ku(e,t,r,n,i){r=Hu(t,r,n),y.isBuffer(r)&&(n="buffer");var a=t.objectMode?1:r.length;t.length+=a;var o=t.length<t.highWaterMark;if(o||(t.needDrain=!0),t.writing||t.corked){var s=t.lastBufferedRequest;t.lastBufferedRequest=new zu(r,n,i),s?s.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else ni(e,t,!1,a,r,n,i);return o}function ni(e,t,r,n,i,a,o){t.writelen=n,t.writecb=o,t.writing=!0,t.sync=!0,r?e._writev(i,t.onwrite):e._write(i,a,t.onwrite),t.sync=!1}function Wu(e,t,r,n,i){--t.pendingcb,r?Q(i,n):i(n),e._writableState.errorEmitted=!0,e.emit("error",n)}function Gu(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function Vu(e,t){var r=e._writableState,n=r.sync,i=r.writecb;if(Gu(r),t)Wu(e,r,n,t,i);else{var a=Jo(r);!a&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&Yo(e,r),n?Q(Vo,e,r,a,i):Vo(e,r,a,i)}}function Vo(e,t,r,n){r||Yu(e,t),t.pendingcb--,n(),Qo(e,t)}function Yu(e,t){t.length===0&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function Yo(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,i=new Array(n),a=t.corkedRequestsFree;a.entry=r;for(var o=0;r;)i[o]=r,r=r.next,o+=1;ni(e,t,!0,t.length,i,"",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new es(t)}else{for(;r;){var s=r.chunk,c=r.encoding,f=r.callback,l=t.objectMode?1:s.length;if(ni(e,t,!1,l,s,c,f),r=r.next,t.writing)break}r===null&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=r,t.bufferProcessing=!1}Z.prototype._write=function(e,t,r){r(new Error("not implemented"))},Z.prototype._writev=null,Z.prototype.end=function(e,t,r){var n=this._writableState;typeof e=="function"?(r=e,e=null,t=null):typeof t=="function"&&(r=t,t=null),e!=null&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),!n.ending&&!n.finished&&Ju(this,n,r)};function Jo(e){return e.ending&&e.length===0&&e.bufferedRequest===null&&!e.finished&&!e.writing}function Xo(e,t){t.prefinished||(t.prefinished=!0,e.emit("prefinish"))}function Qo(e,t){var r=Jo(t);return r&&(t.pendingcb===0?(Xo(e,t),t.finished=!0,e.emit("finish")):Xo(e,t)),r}function Ju(e,t,r){t.ending=!0,Qo(e,t),r&&(t.finished?Q(r):e.once("finish",r)),t.ended=!0,e.writable=!1}function es(e){var t=this;this.next=null,this.entry=null,this.finish=function(r){var n=t.entry;for(t.entry=null;n;){var i=n.callback;e.pendingcb--,i(r),n=n.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}}K(ne,j);for(var ts=Object.keys(Z.prototype),ii=0;ii<ts.length;ii++){var ai=ts[ii];ne.prototype[ai]||(ne.prototype[ai]=Z.prototype[ai])}function ne(e){if(!(this instanceof ne))return new ne(e);j.call(this,e),Z.call(this,e),e&&e.readable===!1&&(this.readable=!1),e&&e.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,e&&e.allowHalfOpen===!1&&(this.allowHalfOpen=!1),this.once("end",Xu)}function Xu(){this.allowHalfOpen||this._writableState.ended||Q(Qu,this)}function Qu(e){e.end()}K(ee,ne);function eh(e){this.afterTransform=function(t,r){return th(e,t,r)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function th(e,t,r){var n=e._transformState;n.transforming=!1;var i=n.writecb;if(!i)return e.emit("error",new Error("no writecb in Transform class"));n.writechunk=null,n.writecb=null,r!=null&&e.push(r),i(t);var a=e._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&e._read(a.highWaterMark)}function ee(e){if(!(this instanceof ee))return new ee(e);ne.call(this,e),this._transformState=new eh(this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform=="function"&&(this._transform=e.transform),typeof e.flush=="function"&&(this._flush=e.flush)),this.once("prefinish",function(){typeof this._flush=="function"?this._flush(function(r){rs(t,r)}):rs(t)})}ee.prototype.push=function(e,t){return this._transformState.needTransform=!1,ne.prototype.push.call(this,e,t)},ee.prototype._transform=function(e,t,r){throw new Error("Not implemented")},ee.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},ee.prototype._read=function(e){var t=this._transformState;t.writechunk!==null&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0};function rs(e,t){if(t)return e.emit("error",t);var r=e._writableState,n=e._transformState;if(r.length)throw new Error("Calling transform done when ws.length != 0");if(n.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}K(It,ee);function It(e){if(!(this instanceof It))return new It(e);ee.call(this,e)}It.prototype._transform=function(e,t,r){r(null,e)},K(me,R),me.Readable=j,me.Writable=Z,me.Duplex=ne,me.Transform=ee,me.PassThrough=It,me.Stream=me;function me(){R.call(this)}me.prototype.pipe=function(e,t){var r=this;function n(l){e.writable&&e.write(l)===!1&&r.pause&&r.pause()}r.on("data",n);function i(){r.readable&&r.resume&&r.resume()}e.on("drain",i),!e._isStdio&&(!t||t.end!==!1)&&(r.on("end",o),r.on("close",s));var a=!1;function o(){a||(a=!0,e.end())}function s(){a||(a=!0,typeof e.destroy=="function"&&e.destroy())}function c(l){if(f(),R.listenerCount(this,"error")===0)throw l}r.on("error",c),e.on("error",c);function f(){r.removeListener("data",n),e.removeListener("drain",i),r.removeListener("end",o),r.removeListener("close",s),r.removeListener("error",c),e.removeListener("error",c),r.removeListener("end",f),r.removeListener("close",f),e.removeListener("close",f)}return r.on("end",f),r.on("close",f),e.on("close",f),e.emit("pipe",r),e};class ns extends R{constructor({resource:t}){super(),this.resource=t,this.client=t.client,this.stream=new nc({highWaterMark:this.client.parallelism*3,start:this._start.bind(this),pull:this._pull.bind(this),cancel:this._cancel.bind(this)})}build(){return this.stream.getReader()}async _start(t){this.controller=t,this.continuationToken=null,this.closeNextIteration=!1}async _pull(t){if(this.closeNextIteration){t.close();return}const r=await this.client.listObjects({prefix:`resource=${this.resource.name}`,continuationToken:this.continuationToken}),n=r?.Contents.map(i=>i.Key).map(i=>i.replace(this.client.config.keyPrefix,"")).map(i=>i.startsWith("/")?i.replace("/",""):i).map(i=>i.replace(`resource=${this.resource.name}/id=`,""));this.continuationToken=r.NextContinuationToken,this.enqueue(n),r.IsTruncated||(this.closeNextIteration=!0)}enqueue(t){t.forEach(r=>{this.controller.enqueue(r),this.emit("id",r)})}_cancel(t){console.warn("Stream cancelled",t)}}class is extends ns{enqueue(t){this.controller.enqueue(t),this.emit("page",t)}}class as extends R{constructor({resource:t,batchSize:r=10,concurrency:n=5}){if(super(),!t)throw new Error("Resource is required for ResourceReader");this.resource=t,this.client=t.client,this.batchSize=r,this.concurrency=n,this.input=new is({resource:this.resource}),this.transform=new ee({objectMode:!0,transform:this._transform.bind(this)}),this.input.on("data",i=>{this.transform.write(i)}),this.input.on("end",()=>{this.transform.end()}),this.input.on("error",i=>{this.emit("error",i)}),this.transform.on("data",i=>{this.emit("data",i)}),this.transform.on("end",()=>{this.emit("end")}),this.transform.on("error",i=>{this.emit("error",i)})}build(){return this}async _transform(t,r,n){try{await le.for(t).withConcurrency(this.concurrency).handleError(async(i,a)=>{this.emit("error",i,a)}).process(async i=>{const a=await this.resource.get(i);return this.push(a),a}),n()}catch(i){n(i)}}resume(){this.input.resume()}}class os extends R{constructor({resource:t,batchSize:r=10,concurrency:n=5}){super(),this.resource=t,this.client=t.client,this.batchSize=r,this.concurrency=n,this.buffer=[],this.writing=!1,this.writable=new Z({objectMode:!0,write:this._write.bind(this)}),this.writable.on("finish",()=>{this.emit("finish")}),this.writable.on("error",i=>{this.emit("error",i)})}build(){return this}write(t){return this.buffer.push(t),this._maybeWrite(),!0}end(){this.ended=!0,this._maybeWrite()}async _maybeWrite(){if(!this.writing&&!(this.buffer.length===0&&!this.ended)){for(this.writing=!0;this.buffer.length>0;){const t=this.buffer.splice(0,this.batchSize);try{await le.for(t).withConcurrency(this.concurrency).handleError(async(r,n)=>{this.emit("error",r,n)}).process(async r=>{await this.resource.insert(r)})}catch(r){this.emit("error",r)}}this.writing=!1,this.ended&&this.writable.emit("finish")}}async _write(t,r,n){n()}}function Pt(e){return new Promise((t,r)=>{const n=[];e.on("data",i=>n.push(i)),e.on("error",r),e.on("end",()=>t(Buffer.concat(n).toString("utf-8")))})}function Ft(e){typeof e!="string"&&(e=String(e));let t=0;for(let r=0;r<e.length;r++){const n=e.codePointAt(r);n<=127?t+=1:n<=2047?t+=2:n<=65535?t+=3:n<=1114111&&(t+=4,n>65535&&r++)}return t}function ss(e){return e==null?"":typeof e=="boolean"?e?"1":"0":typeof e=="number"?String(e):typeof e=="string"?e:Array.isArray(e)?e.length===0?"[]":e.map(t=>String(t)).join("|"):typeof e=="object"?JSON.stringify(e):String(e)}function oi(e){const t={};for(const[r,n]of Object.entries(e)){const i=ss(n),a=Ft(i);t[r]=a}return t}function We(e){const t=oi(e);return Object.values(t).reduce((r,n)=>r+n,0)}const xe=2048;async function rh({resource:e,data:t,mappedData:r}){const n=We(r);return n>xe&&e.emit("exceedsLimit",{operation:"insert",totalSize:n,limit:xe,excess:n-xe,data:t}),{mappedData:r,body:""}}async function nh({resource:e,id:t,data:r,mappedData:n}){const i=We(n);return i>xe&&e.emit("exceedsLimit",{operation:"update",id:t,totalSize:i,limit:xe,excess:i-xe,data:r}),{mappedData:n,body:""}}async function ih({resource:e,id:t,data:r,mappedData:n}){const i=We(n);return i>xe&&e.emit("exceedsLimit",{operation:"upsert",id:t,totalSize:i,limit:xe,excess:i-xe,data:r}),{mappedData:n,body:""}}async function ah({resource:e,metadata:t,body:r}){return{metadata:t,body:r}}var oh=Object.freeze({__proto__:null,handleGet:ah,handleInsert:rh,handleUpdate:nh,handleUpsert:ih});const dt=2048;async function sh({resource:e,data:t,mappedData:r}){const n=We(r);if(n>dt)throw new Error(`S3 metadata size exceeds 2KB limit. Current size: ${n} bytes, limit: ${dt} bytes`);return{mappedData:r,body:""}}async function fh({resource:e,id:t,data:r,mappedData:n}){const i=We(n);if(i>dt)throw new Error(`S3 metadata size exceeds 2KB limit. Current size: ${i} bytes, limit: ${dt} bytes`);return{mappedData:n,body:""}}async function ch({resource:e,id:t,data:r,mappedData:n}){const i=We(n);if(i>dt)throw new Error(`S3 metadata size exceeds 2KB limit. Current size: ${i} bytes, limit: ${dt} bytes`);return{mappedData:n,body:""}}async function lh({resource:e,metadata:t,body:r}){return{metadata:t,body:r}}var uh=Object.freeze({__proto__:null,handleGet:lh,handleInsert:sh,handleUpdate:fh,handleUpsert:ch});const fs=2048,cs="...",ls=Ft(cs);async function hh({resource:e,data:t,mappedData:r}){return si({resource:e,data:t,mappedData:r})}async function dh({resource:e,id:t,data:r,mappedData:n}){return si({resource:e,data:r,mappedData:n})}async function ph({resource:e,id:t,data:r,mappedData:n}){return si({resource:e,data:r,mappedData:n})}async function yh({resource:e,metadata:t,body:r}){return{metadata:t,body:r}}function si({resource:e,data:t,mappedData:r}){const n=oi(r),i=Object.entries(n).sort(([,s],[,c])=>s-c),a={};let o=0;for(const[s,c]of i){const f=fs-o;if(c<=f)a[s]=r[s],o+=c;else if(f>ls){const l=f-ls,d=ss(r[s]);let h="",u=0;for(let p=0;p<d.length;p++){const v=d[p],_=Ft(v);if(u+_<=l)h+=v,u+=_;else break}a[s]=h+cs,o=fs;break}else break}return{mappedData:a,body:""}}var vh=Object.freeze({__proto__:null,handleGet:yh,handleInsert:hh,handleUpdate:dh,handleUpsert:ph});const us=2048,gr="$overflow",fi="true",gh=Ft(gr)+Ft(fi);async function _h({resource:e,data:t,mappedData:r}){return ci({resource:e,data:t,mappedData:r})}async function wh({resource:e,id:t,data:r,mappedData:n}){return ci({resource:e,data:r,mappedData:n})}async function bh({resource:e,id:t,data:r,mappedData:n}){return ci({resource:e,data:r,mappedData:n})}async function mh({resource:e,metadata:t,body:r}){if(t[gr]===fi)try{const n=r?JSON.parse(r):{},i={...t};return delete i[gr],{metadata:{...i,...n},body:""}}catch{return{metadata:t,body:r}}return{metadata:t,body:r}}function ci({resource:e,data:t,mappedData:r}){if(We(r)<=us)return{mappedData:r,body:""};const i=us-gh,a=oi(r),o=Object.entries(a).sort(([,d],[,h])=>d-h),s={},c={};let f=0;for(const[d,h]of o)f+h<=i?(s[d]=r[d],f+=h):c[d]=r[d];s[gr]=fi;const l=Object.keys(c).length>0?JSON.stringify(c):"";return{mappedData:s,body:l}}var xh=Object.freeze({__proto__:null,handleGet:mh,handleInsert:_h,handleUpdate:wh,handleUpsert:bh});const hs={"user-management":oh,"enforce-limits":uh,"data-truncate":vh,"body-overflow":xh};function pt(e){const t=hs[e];if(!t)throw new Error(`Unknown behavior: ${e}. Available behaviors: ${Object.keys(hs).join(", ")}`);return t}const Eh="user-management";class ds extends R{constructor({name:t,client:r,version:n="1",options:i={},attributes:a={},parallelism:o=10,passphrase:s="secret",observers:c=[],behavior:f=Eh}){if(super(),this.name=t,this.client=r,this.version=n,this.behavior=f,this.observers=c,this.parallelism=o,this.passphrase=s??"secret",this.options={cache:!1,autoDecrypt:!0,timestamps:!1,partitions:{},paranoid:!0,...i},this.hooks={preInsert:[],afterInsert:[],preUpdate:[],afterUpdate:[],preDelete:[],afterDelete:[]},this.attributes=a||{},i.timestamps&&(this.attributes.createdAt="string|optional",this.attributes.updatedAt="string|optional",this.options.partitions.byCreatedDate||(this.options.partitions.byCreatedDate={fields:{createdAt:"date|maxlength:10"}}),this.options.partitions.byUpdatedDate||(this.options.partitions.byUpdatedDate={fields:{updatedAt:"date|maxlength:10"}})),this.schema=new Dr({name:t,attributes:this.attributes,passphrase:s,version:this.version,options:this.options}),this.validatePartitions(),this.setupPartitionHooks(),i.hooks){for(const[l,d]of Object.entries(i.hooks))if(Array.isArray(d)&&this.hooks[l])for(const h of d)this.hooks[l].push(h.bind(this))}}export(){const t=this.schema.export();return t.behavior=this.behavior,t}updateAttributes(t){const r=this.attributes;return this.attributes=t,this.options.timestamps&&(t.createdAt="string|optional",t.updatedAt="string|optional",this.options.partitions.byCreatedDate||(this.options.partitions.byCreatedDate={fields:{createdAt:"date|maxlength:10"}}),this.options.partitions.byUpdatedDate||(this.options.partitions.byUpdatedDate={fields:{updatedAt:"date|maxlength:10"}})),this.schema=new Dr({name:this.name,attributes:t,passphrase:this.passphrase,version:this.version,options:this.options}),this.validatePartitions(),this.setupPartitionHooks(),{oldAttributes:r,newAttributes:t}}addHook(t,r){this.hooks[t]&&this.hooks[t].push(r.bind(this))}async executeHooks(t,r){if(!this.hooks[t])return r;let n=r;for(const i of this.hooks[t])n=await i(n);return n}setupPartitionHooks(){const t=this.options.partitions;!t||Object.keys(t).length===0||(this.addHook("afterInsert",async r=>(await this.createPartitionReferences(r),r)),this.addHook("afterDelete",async r=>(await this.deletePartitionReferences(r),r)))}async validate(t){const r={original:ze(t),isValid:!1,errors:[]},n=await this.schema.validate(t,{mutateOriginal:!0});return n===!0?r.isValid=!0:r.errors=n,r.data=t,r}validatePartitions(){const t=this.options.partitions;if(!t||Object.keys(t).length===0)return;const r=Object.keys(this.attributes||{});for(const[n,i]of Object.entries(t))if(i.fields){for(const a of Object.keys(i.fields))if(!r.includes(a))throw new Error(`Partition '${n}' uses field '${a}' which does not exist in resource version '${this.version}'. Available fields: ${r.join(", ")}. This version of resource does not have support for this partition.`)}}applyPartitionRule(t,r){if(t==null)return t;let n=t;if(typeof r=="string"&&r.includes("maxlength:")){const i=r.match(/maxlength:(\d+)/);if(i){const a=parseInt(i[1]);typeof n=="string"&&n.length>a&&(n=n.substring(0,a))}}if(r.includes("date")){if(n instanceof Date)n=n.toISOString().split("T")[0];else if(typeof n=="string")try{if(n.includes("T")&&n.includes("Z"))n=n.split("T")[0];else{const i=new Date(n);isNaN(i.getTime())||(n=i.toISOString().split("T")[0])}}catch{}}return n}getResourceKey(t){return ge(`resource=${this.name}`,`v=${this.version}`,`id=${t}`)}getPartitionKey(t,r,n){const i=this.options.partitions[t];if(!i)throw new Error(`Partition '${t}' not found`);const a=[],o=Object.entries(i.fields).sort(([s],[c])=>s.localeCompare(c));for(const[s,c]of o){const f=this.applyPartitionRule(n[s],c);if(f==null)return null;a.push(`${s}=${f}`)}return a.length===0?null:ge(`resource=${this.name}`,`partition=${t}`,...a,`id=${r}`)}async insert({id:t,...r}){this.options.timestamps&&(r.createdAt=new Date().toISOString(),r.updatedAt=new Date().toISOString());const n=await this.executeHooks("preInsert",r),{errors:i,isValid:a,data:o}=await this.validate(n);if(!a)throw new tr({bucket:this.client.config.bucket,resourceName:this.name,attributes:n,validation:i});!t&&t!==0&&(t=Wi());const s=await this.schema.mapper(o),c=pt(this.behavior),{mappedData:f,body:l}=await c.handleInsert({resource:this,data:o,mappedData:s}),d=this.getResourceKey(t);await this.client.putObject({metadata:f,key:d,body:l});const h=At({id:t},o);return await this.executeHooks("afterInsert",h),this.emit("insert",h),h}async get(t){const r=this.getResourceKey(t),n=await this.client.headObject(r),i=this.extractVersionFromKey(r)||this.version;let o=await(await this.getSchemaForVersion(i)).unmapper(n.Metadata);const s=pt(this.behavior);let c="";if(n.ContentLength>0)try{const d=await this.client.getObject(r);c=await Pt(d.Body)}catch{c=""}const{metadata:f}=await s.handleGet({resource:this,metadata:o,body:c});let l=f;return l.id=t,l._contentLength=n.ContentLength,l._lastModified=n.LastModified,l._hasContent=n.ContentLength>0,l._mimeType=n.ContentType||null,n.VersionId&&(l._versionId=n.VersionId),n.Expiration&&(l._expiresAt=n.Expiration),l._definitionHash=this.getDefinitionHash(),this.emit("get",l),l}async exists(t){try{const r=this.getResourceKey(t);return await this.client.headObject(r),!0}catch{return!1}}async update(t,r){const n=await this.get(t);this.options.timestamps&&(r.updatedAt=new Date().toISOString());const i=await this.executeHooks("preUpdate",r),a=At(n,i);delete a.id;const{isValid:o,errors:s,data:c}=await this.validate(a);if(!o)throw new tr({bucket:this.client.bucket,resourceName:this.name,attributes:i,validation:s});const f=await this.schema.mapper(c),l=pt(this.behavior),{mappedData:d,body:h}=await l.handleUpdate({resource:this,id:t,data:c,mappedData:f}),u=this.getResourceKey(t);let p,v=h;if(h===""&&this.behavior!=="body-overflow")try{const _=await this.client.getObject(u);if(_.ContentLength>0){const w=Buffer.from(await _.Body.transformToByteArray()),E=w.toString();try{JSON.parse(E)}catch{v=w,p=_.ContentType}}}catch{}return await this.client.putObject({key:u,body:v,contentType:p,metadata:d}),c.id=t,await this.executeHooks("afterUpdate",c),await this.updatePartitionReferences(c),this.emit("update",i,c),c}async delete(t){let r;try{r=await this.get(t)}catch{r={id:t}}await this.executeHooks("preDelete",r);const n=this.getResourceKey(t),i=await this.client.deleteObject(n);return await this.executeHooks("afterDelete",r),this.emit("delete",t),i}async upsert({id:t,...r}){return await this.exists(t)?this.update(t,r):this.insert({id:t,...r})}async count({partition:t=null,partitionValues:r={}}={}){let n;if(t&&Object.keys(r).length>0){const a=this.options.partitions[t];if(!a)throw new Error(`Partition '${t}' not found`);const o=[],s=Object.entries(a.fields).sort(([c],[f])=>c.localeCompare(f));for(const[c,f]of s){const l=r[c];if(l!=null){const d=this.applyPartitionRule(l,f);o.push(`${c}=${d}`)}}o.length>0?n=`resource=${this.name}/partition=${t}/${o.join("/")}`:n=`resource=${this.name}/partition=${t}`}else n=`resource=${this.name}/v=${this.version}`;const i=await this.client.count({prefix:n});return this.emit("count",i),i}async insertMany(t){const{results:r}=await le.for(t).withConcurrency(this.parallelism).handleError(async(n,i)=>{this.emit("error",n,i),this.observers.map(a=>a.emit("error",this.name,n,i))}).process(async n=>await this.insert(n));return this.emit("insertMany",t.length),r}async deleteMany(t){const r=ji(t.map(i=>this.getResourceKey(i)),1e3),{results:n}=await le.for(r).withConcurrency(this.parallelism).handleError(async(i,a)=>{this.emit("error",i,a),this.observers.map(o=>o.emit("error",this.name,i,a))}).process(async i=>{const a=await this.client.deleteObjects(i);return i.forEach(o=>{const c=o.split("/").find(l=>l.startsWith("id=")),f=c?c.replace("id=",""):null;f&&(this.emit("deleted",f),this.observers.map(l=>l.emit("deleted",this.name,f)))}),a});return this.emit("deleteMany",t.length),n}async deleteAll(){if(this.options.paranoid!==!1)throw new Error(`deleteAll() is a dangerous operation and requires paranoid: false option. Current paranoid setting: ${this.options.paranoid}`);const t=`resource=${this.name}/v=${this.version}`,r=await this.client.deleteAll({prefix:t});return this.emit("deleteAll",{version:this.version,prefix:t,deletedCount:r}),{deletedCount:r,version:this.version}}async deleteAllData(){if(this.options.paranoid!==!1)throw new Error(`deleteAllData() is a dangerous operation and requires paranoid: false option. Current paranoid setting: ${this.options.paranoid}`);const t=`resource=${this.name}`,r=await this.client.deleteAll({prefix:t});return this.emit("deleteAllData",{resource:this.name,prefix:t,deletedCount:r}),{deletedCount:r,resource:this.name}}async listIds({partition:t=null,partitionValues:r={}}={}){let n;if(t&&Object.keys(r).length>0){const o=this.options.partitions[t];if(!o)throw new Error(`Partition '${t}' not found`);const s=[],c=Object.entries(o.fields).sort(([f],[l])=>f.localeCompare(l));for(const[f,l]of c){const d=r[f];if(d!=null){const h=this.applyPartitionRule(d,l);s.push(`${f}=${h}`)}}s.length>0?n=`resource=${this.name}/partition=${t}/${s.join("/")}`:n=`resource=${this.name}/partition=${t}`}else n=`resource=${this.name}/v=${this.version}`;const a=(await this.client.getAllKeys({prefix:n})).map(o=>{const c=o.split("/").find(f=>f.startsWith("id="));return c?c.replace("id=",""):null}).filter(Boolean);return this.emit("listIds",a.length),a}async listByPartition({partition:t=null,partitionValues:r={}}={},n={}){const{limit:i,offset:a=0}=n;if(!t){let v=(await this.listIds({partition:t,partitionValues:r})).slice(a);i&&(v=v.slice(0,i));const{results:_}=await le.for(v).withConcurrency(this.parallelism).process(async w=>await this.get(w));return this.emit("listByPartition",{partition:t,partitionValues:r,count:_.length}),_}const o=this.options.partitions[t];if(!o)throw new Error(`Partition '${t}' not found`);const s=[],c=Object.entries(o.fields).sort(([p],[v])=>p.localeCompare(v));for(const[p,v]of c){const _=r[p];if(_!=null){const w=this.applyPartitionRule(_,v);s.push(`${p}=${w}`)}}let f;s.length>0?f=`resource=${this.name}/partition=${t}/${s.join("/")}`:f=`resource=${this.name}/partition=${t}`;let h=(await this.client.getAllKeys({prefix:f})).map(p=>{const _=p.split("/").find(w=>w.startsWith("id="));return _?_.replace("id=",""):null}).filter(Boolean).slice(a);i&&(h=h.slice(0,i));const{results:u}=await le.for(h).withConcurrency(this.parallelism).process(async p=>await this.getFromPartition(p,t,r));return this.emit("listByPartition",{partition:t,partitionValues:r,count:u.length}),u}async getMany(t){const{results:r}=await le.for(t).withConcurrency(this.client.parallelism).process(async n=>{this.emit("id",n);const i=await this.get(n);return this.emit("data",i),i});return this.emit("getMany",t.length),r}async getAll(){let t=await this.listIds();if(t.length===0)return[];const{results:r}=await le.for(t).withConcurrency(this.client.parallelism).process(async n=>await this.get(n));return this.emit("getAll",r.length),r}async page(t=0,r=100,{partition:n=null,partitionValues:i={}}={}){const a=await this.listIds({partition:n,partitionValues:i}),o=a.length,s=Math.ceil(o/r),c=a.slice(t*r,(t+1)*r),l={items:await Promise.all(c.map(d=>this.get(d))),totalItems:o,page:t,pageSize:r,totalPages:s};return this.emit("page",l),l}readable(){return new as({resource:this}).build()}writable(){return new os({resource:this}).build()}async setContent(t,r,n="application/octet-stream"){if(!Buffer.isBuffer(r))throw new Error("Content must be a Buffer");const i=this.getResourceKey(t);let a={};try{a=(await this.client.headObject(i)).Metadata||{}}catch{}const o=await this.client.putObject({key:i,body:r,contentType:n,metadata:a});return this.emit("setContent",t,r.length,n),o}async content(t){const r=this.getResourceKey(t);try{const n=await this.client.getObject(r),i=Buffer.from(await n.Body.transformToByteArray()),a=n.ContentType||null;return this.emit("content",t,i.length,a),{buffer:i,contentType:a}}catch(n){if(n.name==="NoSuchKey")return{buffer:null,contentType:null};throw n}}async hasContent(t){const r=this.getResourceKey(t);try{return(await this.client.headObject(r)).ContentLength>0}catch{return!1}}async deleteContent(t){const r=this.getResourceKey(t),i=(await this.client.headObject(r)).Metadata||{},a=await this.client.putObject({key:r,body:"",metadata:i});return this.emit("deleteContent",t),a}getDefinitionHash(){const t=this.schema.export(),r=uo(t);return`sha256:${Zi("sha256").update(r).digest("hex")}`}extractVersionFromKey(t){const n=t.split("/").find(i=>i.startsWith("v="));return n?n.replace("v=",""):null}async getSchemaForVersion(t){return this.schema}async createPartitionReferences(t){const r=this.options.partitions;if(!(!r||Object.keys(r).length===0))for(const[n,i]of Object.entries(r)){const a=this.getPartitionKey(n,t.id,t);if(a){const o=await this.schema.mapper(t),s=pt(this.behavior),{mappedData:c,body:f}=await s.handleInsert({resource:this,data:t,mappedData:o}),l={...c,_version:this.version};await this.client.putObject({key:a,metadata:l,body:f})}}}async deletePartitionReferences(t){const r=this.options.partitions;if(!r||Object.keys(r).length===0)return;const n=[];for(const[i,a]of Object.entries(r)){const o=this.getPartitionKey(i,t.id,t);o&&n.push(o)}if(n.length>0)try{await this.client.deleteObjects(n)}catch(i){console.warn("Some partition objects could not be deleted:",i.message)}}async query(t={}){const r=await this.getAll();return Object.keys(t).length===0?r:r.filter(n=>Object.entries(t).every(([i,a])=>n[i]===a))}async updatePartitionReferences(t){const r=this.options.partitions;if(!(!r||Object.keys(r).length===0))for(const[n,i]of Object.entries(r)){const a=this.getPartitionKey(n,t.id,t);if(a){const o=await this.schema.mapper(t),s=pt(this.behavior),{mappedData:c,body:f}=await s.handleUpdate({resource:this,id:t.id,data:t,mappedData:o}),l={...c,_version:this.version};try{await this.client.putObject({key:a,metadata:l,body:f})}catch(d){console.warn(`Partition object could not be updated for ${n}:`,d.message)}}}}async getFromPartition(t,r,n={}){const i=this.options.partitions[r];if(!i)throw new Error(`Partition '${r}' not found`);const a=[],o=Object.entries(i.fields).sort(([_],[w])=>_.localeCompare(w));for(const[_,w]of o){const E=n[_];if(E!=null){const S=this.applyPartitionRule(E,w);a.push(`${_}=${S}`)}}if(a.length===0)throw new Error(`No partition values provided for partition '${r}'`);const s=ge(`resource=${this.name}`,`partition=${r}`,...a,`id=${t}`),c=await this.client.headObject(s),f=c.Metadata?._version||this.version;let d=await(await this.getSchemaForVersion(f)).unmapper(c.Metadata);const h=pt(this.behavior);let u="";if(c.ContentLength>0)try{const _=await this.client.getObject(s);u=await Pt(_.Body)}catch{u=""}const{metadata:p}=await h.handleGet({resource:this,metadata:d,body:u});let v=p;return v.id=t,v._contentLength=c.ContentLength,v._lastModified=c.LastModified,v._hasContent=c.ContentLength>0,v._mimeType=c.ContentType||null,v._partition=r,v._partitionValues=n,c.VersionId&&(v._versionId=c.VersionId),c.Expiration&&(v._expiresAt=c.Expiration),v._definitionHash=this.getDefinitionHash(),this.emit("getFromPartition",v),v}}class ps extends R{constructor(t){super(),this.version="1",this.s3dbVersion=(()=>{try{return"4.0.1"}catch{return"latest"}})(),this.resources={},this.savedMetadata=null,this.options=t,this.verbose=t.verbose||!1,this.parallelism=parseInt(t.parallelism+"")||10,this.plugins=t.plugins||[],this.cache=t.cache,this.passphrase=t.passphrase||"secret",this.client=t.client||new oa({verbose:this.verbose,parallelism:this.parallelism,connectionString:t.connectionString}),this.bucket=this.client.bucket,this.keyPrefix=this.client.keyPrefix}async connect(){await this.startPlugins();let t=null;if(await this.client.exists("s3db.json")){const n=await this.client.getObject("s3db.json");t=JSON.parse(await Pt(n?.Body))}else t=this.blankMetadataStructure(),await this.uploadMetadataFile();this.savedMetadata=t;const r=this.detectDefinitionChanges(t);for(const[n,i]of Object.entries(t.resources||{})){const a=i.currentVersion||"v0",o=i.versions?.[a];o&&(this.resources[n]=new ds({name:n,client:this.client,version:a,options:{...o.options,partitions:i.partitions||o.options?.partitions||{}},attributes:o.attributes,behavior:o.behavior||"user-management",parallelism:this.parallelism,passphrase:this.passphrase,observers:[this]}))}r.length>0&&this.emit("resourceDefinitionsChanged",{changes:r,metadata:this.savedMetadata}),this.emit("connected",new Date)}detectDefinitionChanges(t){const r=[];for(const[n,i]of Object.entries(this.resources)){const a=this.generateDefinitionHash(i.export()),o=t.resources?.[n];if(!o)r.push({type:"new",resourceName:n,currentHash:a,savedHash:null});else{const s=o.currentVersion||"v0",f=o.versions?.[s]?.hash;f!==a&&r.push({type:"changed",resourceName:n,currentHash:a,savedHash:f,fromVersion:s,toVersion:this.getNextVersion(o.versions)})}}for(const[n,i]of Object.entries(t.resources||{}))if(!this.resources[n]){const a=i.currentVersion||"v0",o=i.versions?.[a];r.push({type:"deleted",resourceName:n,currentHash:null,savedHash:o?.hash,deletedVersion:a})}return r}generateDefinitionHash(t){const r=uo(t);return`sha256:${Zi("sha256").update(r).digest("hex")}`}getNextVersion(t={}){const r=Object.keys(t).filter(i=>i.startsWith("v")).map(i=>parseInt(i.substring(1))).filter(i=>!isNaN(i));return`v${(r.length>0?Math.max(...r):-1)+1}`}async startPlugins(){const t=this;if(!Ni(this.plugins)){const r=this.plugins.map(a=>Gf(a)?new a(this):a),n=r.map(async a=>{a.beforeSetup&&await a.beforeSetup(),await a.setup(t),a.afterSetup&&await a.afterSetup()});await Promise.all(n);const i=r.map(async a=>{a.beforeStart&&await a.beforeStart(),await a.start(),a.afterStart&&await a.afterStart()});await Promise.all(i)}}async uploadMetadataFile(){const t={version:this.version,s3dbVersion:this.s3dbVersion,lastUpdated:new Date().toISOString(),resources:{}};Object.entries(this.resources).forEach(([r,n])=>{const i=n.export(),a=this.generateDefinitionHash(i),o=this.savedMetadata?.resources?.[r],s=o?.currentVersion||"v0",c=o?.versions?.[s];let f,l;!c||c.hash!==a?(f=this.getNextVersion(o?.versions),l=!0):(f=s,l=!1),t.resources[r]={currentVersion:f,partitions:i.options?.partitions||{},versions:{...o?.versions,[f]:{hash:a,attributes:i.attributes,options:i.options,behavior:i.behavior||"user-management",createdAt:l?new Date().toISOString():c?.createdAt}}},n.version!==f&&(n.version=f,n.emit("versionUpdated",{oldVersion:s,newVersion:f}))}),await this.client.putObject({key:"s3db.json",body:JSON.stringify(t,null,2),contentType:"application/json"}),this.savedMetadata=t,this.emit("metadataUploaded",t)}blankMetadataStructure(){return{version:"1",s3dbVersion:this.s3dbVersion,resources:{}}}async createResource({name:t,attributes:r,options:n={},behavior:i="user-management"}){if(this.resources[t]){const c=this.resources[t];return Object.assign(c.options,{cache:this.cache,...n}),i&&(c.behavior=i),c.updateAttributes(r),await this.uploadMetadataFile(),this.emit("s3db.resourceUpdated",t),c}const o=this.savedMetadata?.resources?.[t]?.currentVersion||"v0",s=new ds({name:t,attributes:r,behavior:i,observers:[this],client:this.client,version:o,options:{cache:this.cache,...n}});return this.resources[t]=s,await this.uploadMetadataFile(),this.emit("s3db.resourceCreated",t),s}resource(t){return this.resources[t]?this.resources[t]:Promise.reject(`resource ${t} does not exist`)}async listResources(){return Object.keys(this.resources).map(t=>({name:t}))}async getResource(t){if(!this.resources[t])throw new Error(`Resource not found: ${t}`);return this.resources[t]}get config(){return{version:this.version,s3dbVersion:this.s3dbVersion,bucket:this.bucket,keyPrefix:this.keyPrefix,parallelism:this.parallelism,verbose:this.verbose}}isConnected(){return!!this.savedMetadata}}class Sh extends ps{}class li extends R{constructor(t={}){super(),this.config=t}async _set(t,r){}async _get(t){}async _del(t){}async _clear(t){}validateKey(t){if(t==null||typeof t!="string"||!t)throw new Error("Invalid key")}async set(t,r){return this.validateKey(t),await this._set(t,r),this.emit("set",r),r}async get(t){this.validateKey(t);const r=await this._get(t);return this.emit("get",r),r}async del(t){this.validateKey(t);const r=await this._del(t);return this.emit("delete",r),r}async delete(t){return this.del(t)}async clear(){const t=await this._clear();return this.emit("clear",t),t}}class Ah extends li{constructor(t={}){super(t),this.cache={},this.meta={},this.maxSize=t.maxSize||0,this.ttl=t.ttl||0}async _set(t,r){if(this.maxSize>0&&Object.keys(this.cache).length>=this.maxSize){const n=Object.entries(this.meta).sort((i,a)=>i[1].ts-a[1].ts)[0]?.[0];n&&(delete this.cache[n],delete this.meta[n])}return this.cache[t]=r,this.meta[t]={ts:Date.now()},r}async _get(t){if(!Object.prototype.hasOwnProperty.call(this.cache,t))return null;if(this.ttl>0){const r=Date.now(),n=this.meta[t];if(n&&r-n.ts>this.ttl*1e3)return delete this.cache[t],delete this.meta[t],null}return this.cache[t]}async _del(t){return delete this.cache[t],delete this.meta[t],!0}async _clear(){return this.cache={},this.meta={},!0}async size(){return Object.keys(this.cache).length}async keys(){return Object.keys(this.cache)}}var ys={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"};function kh(){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}function Ee(e,t,r,n,i){if(t.subarray&&e.subarray){e.set(t.subarray(r,r+n),i);return}for(var a=0;a<n;a++)e[i+a]=t[r+a]}var _r=Uint8Array,ie=Uint16Array,wr=Int32Array,Rh=4,vs=0,gs=1,Oh=2;function yt(e){for(var t=e.length;--t>=0;)e[t]=0}var Th=0,_s=1,Ih=2,Ph=3,Fh=258,ui=29,Ct=256,Dt=Ct+1+ui,vt=30,hi=19,ws=2*Dt+1,Ge=15,di=16,Ch=7,pi=256,bs=16,ms=17,xs=18,yi=[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],br=[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],Dh=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Es=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Mh=512,Se=new Array((Dt+2)*2);yt(Se);var Mt=new Array(vt*2);yt(Mt);var Lt=new Array(Mh);yt(Lt);var jt=new Array(Fh-Ph+1);yt(jt);var vi=new Array(ui);yt(vi);var mr=new Array(vt);yt(mr);function gi(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}var Ss,As,ks;function _i(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function Rs(e){return e<256?Lt[e]:Lt[256+(e>>>7)]}function Nt(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function X(e,t,r){e.bi_valid>di-r?(e.bi_buf|=t<<e.bi_valid&65535,Nt(e,e.bi_buf),e.bi_buf=t>>di-e.bi_valid,e.bi_valid+=r-di):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function pe(e,t,r){X(e,r[t*2],r[t*2+1])}function Os(e,t){var r=0;do r|=e&1,e>>>=1,r<<=1;while(--t>0);return r>>>1}function Lh(e){e.bi_valid===16?(Nt(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function jh(e,t){var r=t.dyn_tree,n=t.max_code,i=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length,f,l,d,h,u,p,v=0;for(h=0;h<=Ge;h++)e.bl_count[h]=0;for(r[e.heap[e.heap_max]*2+1]=0,f=e.heap_max+1;f<ws;f++)l=e.heap[f],h=r[r[l*2+1]*2+1]+1,h>c&&(h=c,v++),r[l*2+1]=h,!(l>n)&&(e.bl_count[h]++,u=0,l>=s&&(u=o[l-s]),p=r[l*2],e.opt_len+=p*(h+u),a&&(e.static_len+=p*(i[l*2+1]+u)));if(v!==0){do{for(h=c-1;e.bl_count[h]===0;)h--;e.bl_count[h]--,e.bl_count[h+1]+=2,e.bl_count[c]--,v-=2}while(v>0);for(h=c;h!==0;h--)for(l=e.bl_count[h];l!==0;)d=e.heap[--f],!(d>n)&&(r[d*2+1]!==h&&(e.opt_len+=(h-r[d*2+1])*r[d*2],r[d*2+1]=h),l--)}}function Ts(e,t,r){var n=new Array(Ge+1),i=0,a,o;for(a=1;a<=Ge;a++)n[a]=i=i+r[a-1]<<1;for(o=0;o<=t;o++){var s=e[o*2+1];s!==0&&(e[o*2]=Os(n[s]++,s))}}function Nh(){var e,t,r,n,i,a=new Array(Ge+1);for(r=0,n=0;n<ui-1;n++)for(vi[n]=r,e=0;e<1<<yi[n];e++)jt[r++]=n;for(jt[r-1]=n,i=0,n=0;n<16;n++)for(mr[n]=i,e=0;e<1<<br[n];e++)Lt[i++]=n;for(i>>=7;n<vt;n++)for(mr[n]=i<<7,e=0;e<1<<br[n]-7;e++)Lt[256+i++]=n;for(t=0;t<=Ge;t++)a[t]=0;for(e=0;e<=143;)Se[e*2+1]=8,e++,a[8]++;for(;e<=255;)Se[e*2+1]=9,e++,a[9]++;for(;e<=279;)Se[e*2+1]=7,e++,a[7]++;for(;e<=287;)Se[e*2+1]=8,e++,a[8]++;for(Ts(Se,Dt+1,a),e=0;e<vt;e++)Mt[e*2+1]=5,Mt[e*2]=Os(e,5);Ss=new gi(Se,yi,Ct+1,Dt,Ge),As=new gi(Mt,br,0,vt,Ge),ks=new gi(new Array(0),Dh,0,hi,Ch)}function Is(e){var t;for(t=0;t<Dt;t++)e.dyn_ltree[t*2]=0;for(t=0;t<vt;t++)e.dyn_dtree[t*2]=0;for(t=0;t<hi;t++)e.bl_tree[t*2]=0;e.dyn_ltree[pi*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Ps(e){e.bi_valid>8?Nt(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function Bh(e,t,r,n){Ps(e),Nt(e,r),Nt(e,~r),Ee(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}function Fs(e,t,r,n){var i=t*2,a=r*2;return e[i]<e[a]||e[i]===e[a]&&n[t]<=n[r]}function wi(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&Fs(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!Fs(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function Cs(e,t,r){var n,i,a=0,o,s;if(e.last_lit!==0)do n=e.pending_buf[e.d_buf+a*2]<<8|e.pending_buf[e.d_buf+a*2+1],i=e.pending_buf[e.l_buf+a],a++,n===0?pe(e,i,t):(o=jt[i],pe(e,o+Ct+1,t),s=yi[o],s!==0&&(i-=vi[o],X(e,i,s)),n--,o=Rs(n),pe(e,o,r),s=br[o],s!==0&&(n-=mr[o],X(e,n,s)));while(a<e.last_lit);pe(e,pi,t)}function bi(e,t){var r=t.dyn_tree,n=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.elems,o,s,c=-1,f;for(e.heap_len=0,e.heap_max=ws,o=0;o<a;o++)r[o*2]!==0?(e.heap[++e.heap_len]=c=o,e.depth[o]=0):r[o*2+1]=0;for(;e.heap_len<2;)f=e.heap[++e.heap_len]=c<2?++c:0,r[f*2]=1,e.depth[f]=0,e.opt_len--,i&&(e.static_len-=n[f*2+1]);for(t.max_code=c,o=e.heap_len>>1;o>=1;o--)wi(e,r,o);f=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],wi(e,r,1),s=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=s,r[f*2]=r[o*2]+r[s*2],e.depth[f]=(e.depth[o]>=e.depth[s]?e.depth[o]:e.depth[s])+1,r[o*2+1]=r[s*2+1]=f,e.heap[1]=f++,wi(e,r,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],jh(e,t),Ts(r,c,e.bl_count)}function Ds(e,t,r){var n,i=-1,a,o=t[0*2+1],s=0,c=7,f=4;for(o===0&&(c=138,f=3),t[(r+1)*2+1]=65535,n=0;n<=r;n++)a=o,o=t[(n+1)*2+1],!(++s<c&&a===o)&&(s<f?e.bl_tree[a*2]+=s:a!==0?(a!==i&&e.bl_tree[a*2]++,e.bl_tree[bs*2]++):s<=10?e.bl_tree[ms*2]++:e.bl_tree[xs*2]++,s=0,i=a,o===0?(c=138,f=3):a===o?(c=6,f=3):(c=7,f=4))}function Ms(e,t,r){var n,i=-1,a,o=t[0*2+1],s=0,c=7,f=4;for(o===0&&(c=138,f=3),n=0;n<=r;n++)if(a=o,o=t[(n+1)*2+1],!(++s<c&&a===o)){if(s<f)do pe(e,a,e.bl_tree);while(--s!==0);else a!==0?(a!==i&&(pe(e,a,e.bl_tree),s--),pe(e,bs,e.bl_tree),X(e,s-3,2)):s<=10?(pe(e,ms,e.bl_tree),X(e,s-3,3)):(pe(e,xs,e.bl_tree),X(e,s-11,7));s=0,i=a,o===0?(c=138,f=3):a===o?(c=6,f=3):(c=7,f=4)}}function Uh(e){var t;for(Ds(e,e.dyn_ltree,e.l_desc.max_code),Ds(e,e.dyn_dtree,e.d_desc.max_code),bi(e,e.bl_desc),t=hi-1;t>=3&&e.bl_tree[Es[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function $h(e,t,r,n){var i;for(X(e,t-257,5),X(e,r-1,5),X(e,n-4,4),i=0;i<n;i++)X(e,e.bl_tree[Es[i]*2+1],3);Ms(e,e.dyn_ltree,t-1),Ms(e,e.dyn_dtree,r-1)}function zh(e){var t=4093624447,r;for(r=0;r<=31;r++,t>>>=1)if(t&1&&e.dyn_ltree[r*2]!==0)return vs;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return gs;for(r=32;r<Ct;r++)if(e.dyn_ltree[r*2]!==0)return gs;return vs}var Ls=!1;function Zh(e){Ls||(Nh(),Ls=!0),e.l_desc=new _i(e.dyn_ltree,Ss),e.d_desc=new _i(e.dyn_dtree,As),e.bl_desc=new _i(e.bl_tree,ks),e.bi_buf=0,e.bi_valid=0,Is(e)}function js(e,t,r,n){X(e,(Th<<1)+(n?1:0),3),Bh(e,t,r)}function qh(e){X(e,_s<<1,3),pe(e,pi,Se),Lh(e)}function Hh(e,t,r,n){var i,a,o=0;e.level>0?(e.strm.data_type===Oh&&(e.strm.data_type=zh(e)),bi(e,e.l_desc),bi(e,e.d_desc),o=Uh(e),i=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=i&&(i=a)):i=a=r+5,r+4<=i&&t!==-1?js(e,t,r,n):e.strategy===Rh||a===i?(X(e,(_s<<1)+(n?1:0),3),Cs(e,Se,Mt)):(X(e,(Ih<<1)+(n?1:0),3),$h(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),Cs(e,e.dyn_ltree,e.dyn_dtree)),Is(e),n&&Ps(e)}function Pe(e,t,r){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=r&255,e.last_lit++,t===0?e.dyn_ltree[r*2]++:(e.matches++,t--,e.dyn_ltree[(jt[r]+Ct+1)*2]++,e.dyn_dtree[Rs(t)*2]++),e.last_lit===e.lit_bufsize-1}function mi(e,t,r,n){for(var i=e&65535|0,a=e>>>16&65535|0,o=0;r!==0;){o=r>2e3?2e3:r,r-=o;do i=i+t[n++]|0,a=a+i|0;while(--o);i%=65521,a%=65521}return i|a<<16|0}function Kh(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=e&1?3988292384^e>>>1:e>>>1;t[r]=e}return t}var Wh=Kh();function $(e,t,r,n){var i=Wh,a=n+r;e^=-1;for(var o=n;o<a;o++)e=e>>>8^i[(e^t[o])&255];return e^-1}var Ve=0,Gh=1,Vh=3,Fe=4,Ns=5,Ce=0,Bs=1,De=-2,Yh=-3,xi=-5,Jh=-1,Xh=1,xr=2,Qh=3,ed=4,td=2,Ei=8,rd=9,nd=29,id=256,Si=id+1+nd,ad=30,od=19,sd=2*Si+1,fd=15,P=3,Me=258,ae=Me+P+1,cd=32,Ai=42,ki=69,Er=73,Sr=91,Ar=103,Ye=113,Bt=666,B=1,Ut=2,Je=3,gt=4,ld=3;function Le(e,t){return e.msg=ys[t],t}function Us(e){return(e<<1)-(e>4?9:0)}function Xe(e){for(var t=e.length;--t>=0;)e[t]=0}function je(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),r!==0&&(Ee(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,t.pending===0&&(t.pending_out=0))}function q(e,t){Hh(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,je(e.strm)}function I(e,t){e.pending_buf[e.pending++]=t}function $t(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function ud(e,t,r,n){var i=e.avail_in;return i>n&&(i=n),i===0?0:(e.avail_in-=i,Ee(t,e.input,e.next_in,i,r),e.state.wrap===1?e.adler=mi(e.adler,t,i,r):e.state.wrap===2&&(e.adler=$(e.adler,t,i,r)),e.next_in+=i,e.total_in+=i,i)}function $s(e,t){var r=e.max_chain_length,n=e.strstart,i,a,o=e.prev_length,s=e.nice_match,c=e.strstart>e.w_size-ae?e.strstart-(e.w_size-ae):0,f=e.window,l=e.w_mask,d=e.prev,h=e.strstart+Me,u=f[n+o-1],p=f[n+o];e.prev_length>=e.good_match&&(r>>=2),s>e.lookahead&&(s=e.lookahead);do if(i=t,!(f[i+o]!==p||f[i+o-1]!==u||f[i]!==f[n]||f[++i]!==f[n+1])){n+=2,i++;do;while(f[++n]===f[++i]&&f[++n]===f[++i]&&f[++n]===f[++i]&&f[++n]===f[++i]&&f[++n]===f[++i]&&f[++n]===f[++i]&&f[++n]===f[++i]&&f[++n]===f[++i]&&n<h);if(a=Me-(h-n),n=h-Me,a>o){if(e.match_start=t,o=a,a>=s)break;u=f[n+o-1],p=f[n+o]}}while((t=d[t&l])>c&&--r!==0);return o<=e.lookahead?o:e.lookahead}function zt(e){var t=e.w_size,r,n,i,a,o;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-ae)){Ee(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,n=e.hash_size,r=n;do i=e.head[--r],e.head[r]=i>=t?i-t:0;while(--n);n=t,r=n;do i=e.prev[--r],e.prev[r]=i>=t?i-t:0;while(--n);a+=t}if(e.strm.avail_in===0)break;if(n=ud(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=n,e.lookahead+e.insert>=P)for(o=e.strstart-e.insert,e.ins_h=e.window[o],e.ins_h=(e.ins_h<<e.hash_shift^e.window[o+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[o+P-1])&e.hash_mask,e.prev[o&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=o,o++,e.insert--,!(e.lookahead+e.insert<P)););}while(e.lookahead<ae&&e.strm.avail_in!==0)}function hd(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(zt(e),e.lookahead===0&&t===Ve)return B;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((e.strstart===0||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,q(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-ae&&(q(e,!1),e.strm.avail_out===0))return B}return e.insert=0,t===Fe?(q(e,!0),e.strm.avail_out===0?Je:gt):(e.strstart>e.block_start&&(q(e,!1),e.strm.avail_out===0),B)}function Ri(e,t){for(var r,n;;){if(e.lookahead<ae){if(zt(e),e.lookahead<ae&&t===Ve)return B;if(e.lookahead===0)break}if(r=0,e.lookahead>=P&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+P-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),r!==0&&e.strstart-r<=e.w_size-ae&&(e.match_length=$s(e,r)),e.match_length>=P)if(n=Pe(e,e.strstart-e.match_start,e.match_length-P),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=P){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+P-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=Pe(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(q(e,!1),e.strm.avail_out===0))return B}return e.insert=e.strstart<P-1?e.strstart:P-1,t===Fe?(q(e,!0),e.strm.avail_out===0?Je:gt):e.last_lit&&(q(e,!1),e.strm.avail_out===0)?B:Ut}function _t(e,t){for(var r,n,i;;){if(e.lookahead<ae){if(zt(e),e.lookahead<ae&&t===Ve)return B;if(e.lookahead===0)break}if(r=0,e.lookahead>=P&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+P-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=P-1,r!==0&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-ae&&(e.match_length=$s(e,r),e.match_length<=5&&(e.strategy===Xh||e.match_length===P&&e.strstart-e.match_start>4096)&&(e.match_length=P-1)),e.prev_length>=P&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-P,n=Pe(e,e.strstart-1-e.prev_match,e.prev_length-P),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+P-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=P-1,e.strstart++,n&&(q(e,!1),e.strm.avail_out===0))return B}else if(e.match_available){if(n=Pe(e,0,e.window[e.strstart-1]),n&&q(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return B}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=Pe(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<P-1?e.strstart:P-1,t===Fe?(q(e,!0),e.strm.avail_out===0?Je:gt):e.last_lit&&(q(e,!1),e.strm.avail_out===0)?B:Ut}function dd(e,t){for(var r,n,i,a,o=e.window;;){if(e.lookahead<=Me){if(zt(e),e.lookahead<=Me&&t===Ve)return B;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=P&&e.strstart>0&&(i=e.strstart-1,n=o[i],n===o[++i]&&n===o[++i]&&n===o[++i])){a=e.strstart+Me;do;while(n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&i<a);e.match_length=Me-(a-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=P?(r=Pe(e,1,e.match_length-P),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=Pe(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(q(e,!1),e.strm.avail_out===0))return B}return e.insert=0,t===Fe?(q(e,!0),e.strm.avail_out===0?Je:gt):e.last_lit&&(q(e,!1),e.strm.avail_out===0)?B:Ut}function pd(e,t){for(var r;;){if(e.lookahead===0&&(zt(e),e.lookahead===0)){if(t===Ve)return B;break}if(e.match_length=0,r=Pe(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(q(e,!1),e.strm.avail_out===0))return B}return e.insert=0,t===Fe?(q(e,!0),e.strm.avail_out===0?Je:gt):e.last_lit&&(q(e,!1),e.strm.avail_out===0)?B:Ut}function ye(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}var wt;wt=[new ye(0,0,0,0,hd),new ye(4,4,8,4,Ri),new ye(4,5,16,8,Ri),new ye(4,6,32,32,Ri),new ye(4,4,16,16,_t),new ye(8,16,32,32,_t),new ye(8,16,128,128,_t),new ye(8,32,128,256,_t),new ye(32,128,258,1024,_t),new ye(32,258,258,4096,_t)];function yd(e){e.window_size=2*e.w_size,Xe(e.head),e.max_lazy_match=wt[e.level].max_lazy,e.good_match=wt[e.level].good_length,e.nice_match=wt[e.level].nice_length,e.max_chain_length=wt[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=P-1,e.match_available=0,e.ins_h=0}function vd(){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=Ei,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 ie(sd*2),this.dyn_dtree=new ie((2*ad+1)*2),this.bl_tree=new ie((2*od+1)*2),Xe(this.dyn_ltree),Xe(this.dyn_dtree),Xe(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new ie(fd+1),this.heap=new ie(2*Si+1),Xe(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new ie(2*Si+1),Xe(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function gd(e){var t;return!e||!e.state?Le(e,De):(e.total_in=e.total_out=0,e.data_type=td,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?Ai:Ye,e.adler=t.wrap===2?0:1,t.last_flush=Ve,Zh(t),Ce)}function zs(e){var t=gd(e);return t===Ce&&yd(e.state),t}function _d(e,t,r,n,i,a){if(!e)return De;var o=1;if(t===Jh&&(t=6),n<0?(o=0,n=-n):n>15&&(o=2,n-=16),i<1||i>rd||r!==Ei||n<8||n>15||t<0||t>9||a<0||a>ed)return Le(e,De);n===8&&(n=9);var s=new vd;return e.state=s,s.strm=e,s.wrap=o,s.gzhead=null,s.w_bits=n,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=i+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+P-1)/P),s.window=new _r(s.w_size*2),s.head=new ie(s.hash_size),s.prev=new ie(s.w_size),s.lit_bufsize=1<<i+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new _r(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=t,s.strategy=a,s.method=r,zs(e)}function wd(e,t){var r,n,i,a;if(!e||!e.state||t>Ns||t<0)return e?Le(e,De):De;if(n=e.state,!e.output||!e.input&&e.avail_in!==0||n.status===Bt&&t!==Fe)return Le(e,e.avail_out===0?xi:De);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===Ai)if(n.wrap===2)e.adler=0,I(n,31),I(n,139),I(n,8),n.gzhead?(I(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),I(n,n.gzhead.time&255),I(n,n.gzhead.time>>8&255),I(n,n.gzhead.time>>16&255),I(n,n.gzhead.time>>24&255),I(n,n.level===9?2:n.strategy>=xr||n.level<2?4:0),I(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(I(n,n.gzhead.extra.length&255),I(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=$(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=ki):(I(n,0),I(n,0),I(n,0),I(n,0),I(n,0),I(n,n.level===9?2:n.strategy>=xr||n.level<2?4:0),I(n,ld),n.status=Ye);else{var o=Ei+(n.w_bits-8<<4)<<8,s=-1;n.strategy>=xr||n.level<2?s=0:n.level<6?s=1:n.level===6?s=2:s=3,o|=s<<6,n.strstart!==0&&(o|=cd),o+=31-o%31,n.status=Ye,$t(n,o),n.strstart!==0&&($t(n,e.adler>>>16),$t(n,e.adler&65535)),e.adler=1}if(n.status===ki)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(n.gzhead.extra.length&65535)&&!(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=$(e.adler,n.pending_buf,n.pending-i,i)),je(e),i=n.pending,n.pending===n.pending_buf_size));)I(n,n.gzhead.extra[n.gzindex]&255),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=$(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=Er)}else n.status=Er;if(n.status===Er)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=$(e.adler,n.pending_buf,n.pending-i,i)),je(e),i=n.pending,n.pending===n.pending_buf_size)){a=1;break}n.gzindex<n.gzhead.name.length?a=n.gzhead.name.charCodeAt(n.gzindex++)&255:a=0,I(n,a)}while(a!==0);n.gzhead.hcrc&&n.pending>i&&(e.adler=$(e.adler,n.pending_buf,n.pending-i,i)),a===0&&(n.gzindex=0,n.status=Sr)}else n.status=Sr;if(n.status===Sr)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=$(e.adler,n.pending_buf,n.pending-i,i)),je(e),i=n.pending,n.pending===n.pending_buf_size)){a=1;break}n.gzindex<n.gzhead.comment.length?a=n.gzhead.comment.charCodeAt(n.gzindex++)&255:a=0,I(n,a)}while(a!==0);n.gzhead.hcrc&&n.pending>i&&(e.adler=$(e.adler,n.pending_buf,n.pending-i,i)),a===0&&(n.status=Ar)}else n.status=Ar;if(n.status===Ar&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&je(e),n.pending+2<=n.pending_buf_size&&(I(n,e.adler&255),I(n,e.adler>>8&255),e.adler=0,n.status=Ye)):n.status=Ye),n.pending!==0){if(je(e),e.avail_out===0)return n.last_flush=-1,Ce}else if(e.avail_in===0&&Us(t)<=Us(r)&&t!==Fe)return Le(e,xi);if(n.status===Bt&&e.avail_in!==0)return Le(e,xi);if(e.avail_in!==0||n.lookahead!==0||t!==Ve&&n.status!==Bt){var c=n.strategy===xr?pd(n,t):n.strategy===Qh?dd(n,t):wt[n.level].func(n,t);if((c===Je||c===gt)&&(n.status=Bt),c===B||c===Je)return e.avail_out===0&&(n.last_flush=-1),Ce;if(c===Ut&&(t===Gh?qh(n):t!==Ns&&(js(n,0,0,!1),t===Vh&&(Xe(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),je(e),e.avail_out===0))return n.last_flush=-1,Ce}return t!==Fe?Ce:n.wrap<=0?Bs:(n.wrap===2?(I(n,e.adler&255),I(n,e.adler>>8&255),I(n,e.adler>>16&255),I(n,e.adler>>24&255),I(n,e.total_in&255),I(n,e.total_in>>8&255),I(n,e.total_in>>16&255),I(n,e.total_in>>24&255)):($t(n,e.adler>>>16),$t(n,e.adler&65535)),je(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?Ce:Bs)}function bd(e){var t;return!e||!e.state?De:(t=e.state.status,t!==Ai&&t!==ki&&t!==Er&&t!==Sr&&t!==Ar&&t!==Ye&&t!==Bt?Le(e,De):(e.state=null,t===Ye?Le(e,Yh):Ce))}var kr=30,md=12;function xd(e,t){var r,n,i,a,o,s,c,f,l,d,h,u,p,v,_,w,E,S,g,A,T,b,x,O,k;r=e.state,n=e.next_in,O=e.input,i=n+(e.avail_in-5),a=e.next_out,k=e.output,o=a-(t-e.avail_out),s=a+(e.avail_out-257),c=r.dmax,f=r.wsize,l=r.whave,d=r.wnext,h=r.window,u=r.hold,p=r.bits,v=r.lencode,_=r.distcode,w=(1<<r.lenbits)-1,E=(1<<r.distbits)-1;e:do{p<15&&(u+=O[n++]<<p,p+=8,u+=O[n++]<<p,p+=8),S=v[u&w];t:for(;;){if(g=S>>>24,u>>>=g,p-=g,g=S>>>16&255,g===0)k[a++]=S&65535;else if(g&16){A=S&65535,g&=15,g&&(p<g&&(u+=O[n++]<<p,p+=8),A+=u&(1<<g)-1,u>>>=g,p-=g),p<15&&(u+=O[n++]<<p,p+=8,u+=O[n++]<<p,p+=8),S=_[u&E];r:for(;;){if(g=S>>>24,u>>>=g,p-=g,g=S>>>16&255,g&16){if(T=S&65535,g&=15,p<g&&(u+=O[n++]<<p,p+=8,p<g&&(u+=O[n++]<<p,p+=8)),T+=u&(1<<g)-1,T>c){e.msg="invalid distance too far back",r.mode=kr;break e}if(u>>>=g,p-=g,g=a-o,T>g){if(g=T-g,g>l&&r.sane){e.msg="invalid distance too far back",r.mode=kr;break e}if(b=0,x=h,d===0){if(b+=f-g,g<A){A-=g;do k[a++]=h[b++];while(--g);b=a-T,x=k}}else if(d<g){if(b+=f+d-g,g-=d,g<A){A-=g;do k[a++]=h[b++];while(--g);if(b=0,d<A){g=d,A-=g;do k[a++]=h[b++];while(--g);b=a-T,x=k}}}else if(b+=d-g,g<A){A-=g;do k[a++]=h[b++];while(--g);b=a-T,x=k}for(;A>2;)k[a++]=x[b++],k[a++]=x[b++],k[a++]=x[b++],A-=3;A&&(k[a++]=x[b++],A>1&&(k[a++]=x[b++]))}else{b=a-T;do k[a++]=k[b++],k[a++]=k[b++],k[a++]=k[b++],A-=3;while(A>2);A&&(k[a++]=k[b++],A>1&&(k[a++]=k[b++]))}}else if((g&64)===0){S=_[(S&65535)+(u&(1<<g)-1)];continue r}else{e.msg="invalid distance code",r.mode=kr;break e}break}}else if((g&64)===0){S=v[(S&65535)+(u&(1<<g)-1)];continue t}else if(g&32){r.mode=md;break e}else{e.msg="invalid literal/length code",r.mode=kr;break e}break}}while(n<i&&a<s);A=p>>3,n-=A,p-=A<<3,u&=(1<<p)-1,e.next_in=n,e.next_out=a,e.avail_in=n<i?5+(i-n):5-(n-i),e.avail_out=a<s?257+(s-a):257-(a-s),r.hold=u,r.bits=p}var bt=15,Zs=852,qs=592,Hs=0,Oi=1,Ks=2,Ed=[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],Sd=[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],Ad=[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],kd=[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];function Zt(e,t,r,n,i,a,o,s){var c=s.bits,f=0,l=0,d=0,h=0,u=0,p=0,v=0,_=0,w=0,E=0,S,g,A,T,b,x=null,O=0,k,C=new ie(bt+1),z=new ie(bt+1),W=null,te=0,Be,V,se;for(f=0;f<=bt;f++)C[f]=0;for(l=0;l<n;l++)C[t[r+l]]++;for(u=c,h=bt;h>=1&&C[h]===0;h--);if(u>h&&(u=h),h===0)return i[a++]=1<<24|64<<16|0,i[a++]=1<<24|64<<16|0,s.bits=1,0;for(d=1;d<h&&C[d]===0;d++);for(u<d&&(u=d),_=1,f=1;f<=bt;f++)if(_<<=1,_-=C[f],_<0)return-1;if(_>0&&(e===Hs||h!==1))return-1;for(z[1]=0,f=1;f<bt;f++)z[f+1]=z[f]+C[f];for(l=0;l<n;l++)t[r+l]!==0&&(o[z[t[r+l]]++]=l);if(e===Hs?(x=W=o,k=19):e===Oi?(x=Ed,O-=257,W=Sd,te-=257,k=256):(x=Ad,W=kd,k=-1),E=0,l=0,f=d,b=a,p=u,v=0,A=-1,w=1<<u,T=w-1,e===Oi&&w>Zs||e===Ks&&w>qs)return 1;for(;;){Be=f-v,o[l]<k?(V=0,se=o[l]):o[l]>k?(V=W[te+o[l]],se=x[O+o[l]]):(V=96,se=0),S=1<<f-v,g=1<<p,d=g;do g-=S,i[b+(E>>v)+g]=Be<<24|V<<16|se|0;while(g!==0);for(S=1<<f-1;E&S;)S>>=1;if(S!==0?(E&=S-1,E+=S):E=0,l++,--C[f]===0){if(f===h)break;f=t[r+o[l]]}if(f>u&&(E&T)!==A){for(v===0&&(v=u),b+=d,p=f-v,_=1<<p;p+v<h&&(_-=C[p+v],!(_<=0));)p++,_<<=1;if(w+=1<<p,e===Oi&&w>Zs||e===Ks&&w>qs)return 1;A=E&T,i[A]=u<<24|p<<16|b-a|0}}return E!==0&&(i[b+E]=f-v<<24|64<<16|0),s.bits=u,0}var Rd=0,Ws=1,Gs=2,Vs=4,Od=5,Rr=6,qt=0,Td=1,Id=2,Ne=-2,Pd=-3,Fd=-4,Cd=-5,Ys=8,Js=1,Xs=2,Qs=3,ef=4,tf=5,rf=6,nf=7,af=8,of=9,sf=10,ff=11,Ae=12,Ti=13,cf=14,Ii=15,lf=16,uf=17,hf=18,df=19,Or=20,Tr=21,pf=22,yf=23,vf=24,gf=25,_f=26,Pi=27,wf=28,bf=29,D=30,Dd=31,Md=32,Ld=852,jd=592;function mf(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function Nd(){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 ie(320),this.work=new ie(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Bd(e){var t;return!e||!e.state?Ne:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=Js,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new wr(Ld),t.distcode=t.distdyn=new wr(jd),t.sane=1,t.back=-1,qt)}function xf(e){var t;return!e||!e.state?Ne:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,Bd(e))}function Ud(e,t){var r,n;return!e||!e.state||(n=e.state,t<0?(r=0,t=-t):(r=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?Ne:(n.window!==null&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,xf(e))}function $d(e,t){var r,n;return e?(n=new Nd,e.state=n,n.window=null,r=Ud(e,t),r!==qt&&(e.state=null),r):Ne}var Ef=!0,Fi,Ci;function zd(e){if(Ef){var t;for(Fi=new wr(512),Ci=new wr(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Zt(Ws,e.lens,0,288,Fi,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Zt(Gs,e.lens,0,32,Ci,0,e.work,{bits:5}),Ef=!1}e.lencode=Fi,e.lenbits=9,e.distcode=Ci,e.distbits=5}function Zd(e,t,r,n){var i,a=e.state;return a.window===null&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new _r(a.wsize)),n>=a.wsize?(Ee(a.window,t,r-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(i=a.wsize-a.wnext,i>n&&(i=n),Ee(a.window,t,r-n,i,a.wnext),n-=i,n?(Ee(a.window,t,r-n,n,0),a.wnext=n,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=i))),0}function qd(e,t){var r,n,i,a,o,s,c,f,l,d,h,u,p,v,_=0,w,E,S,g,A,T,b,x,O=new _r(4),k,C,z=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0)return Ne;r=e.state,r.mode===Ae&&(r.mode=Ti),o=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,n=e.input,s=e.avail_in,f=r.hold,l=r.bits,d=s,h=c,x=qt;e:for(;;)switch(r.mode){case Js:if(r.wrap===0){r.mode=Ti;break}for(;l<16;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(r.wrap&2&&f===35615){r.check=0,O[0]=f&255,O[1]=f>>>8&255,r.check=$(r.check,O,2,0),f=0,l=0,r.mode=Xs;break}if(r.flags=0,r.head&&(r.head.done=!1),!(r.wrap&1)||(((f&255)<<8)+(f>>8))%31){e.msg="incorrect header check",r.mode=D;break}if((f&15)!==Ys){e.msg="unknown compression method",r.mode=D;break}if(f>>>=4,l-=4,b=(f&15)+8,r.wbits===0)r.wbits=b;else if(b>r.wbits){e.msg="invalid window size",r.mode=D;break}r.dmax=1<<b,e.adler=r.check=1,r.mode=f&512?sf:Ae,f=0,l=0;break;case Xs:for(;l<16;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(r.flags=f,(r.flags&255)!==Ys){e.msg="unknown compression method",r.mode=D;break}if(r.flags&57344){e.msg="unknown header flags set",r.mode=D;break}r.head&&(r.head.text=f>>8&1),r.flags&512&&(O[0]=f&255,O[1]=f>>>8&255,r.check=$(r.check,O,2,0)),f=0,l=0,r.mode=Qs;case Qs:for(;l<32;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}r.head&&(r.head.time=f),r.flags&512&&(O[0]=f&255,O[1]=f>>>8&255,O[2]=f>>>16&255,O[3]=f>>>24&255,r.check=$(r.check,O,4,0)),f=0,l=0,r.mode=ef;case ef:for(;l<16;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}r.head&&(r.head.xflags=f&255,r.head.os=f>>8),r.flags&512&&(O[0]=f&255,O[1]=f>>>8&255,r.check=$(r.check,O,2,0)),f=0,l=0,r.mode=tf;case tf:if(r.flags&1024){for(;l<16;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}r.length=f,r.head&&(r.head.extra_len=f),r.flags&512&&(O[0]=f&255,O[1]=f>>>8&255,r.check=$(r.check,O,2,0)),f=0,l=0}else r.head&&(r.head.extra=null);r.mode=rf;case rf:if(r.flags&1024&&(u=r.length,u>s&&(u=s),u&&(r.head&&(b=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),Ee(r.head.extra,n,a,u,b)),r.flags&512&&(r.check=$(r.check,n,u,a)),s-=u,a+=u,r.length-=u),r.length))break e;r.length=0,r.mode=nf;case nf:if(r.flags&2048){if(s===0)break e;u=0;do b=n[a+u++],r.head&&b&&r.length<65536&&(r.head.name+=String.fromCharCode(b));while(b&&u<s);if(r.flags&512&&(r.check=$(r.check,n,u,a)),s-=u,a+=u,b)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=af;case af:if(r.flags&4096){if(s===0)break e;u=0;do b=n[a+u++],r.head&&b&&r.length<65536&&(r.head.comment+=String.fromCharCode(b));while(b&&u<s);if(r.flags&512&&(r.check=$(r.check,n,u,a)),s-=u,a+=u,b)break e}else r.head&&(r.head.comment=null);r.mode=of;case of:if(r.flags&512){for(;l<16;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(f!==(r.check&65535)){e.msg="header crc mismatch",r.mode=D;break}f=0,l=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=Ae;break;case sf:for(;l<32;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}e.adler=r.check=mf(f),f=0,l=0,r.mode=ff;case ff:if(r.havedict===0)return e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,r.hold=f,r.bits=l,Id;e.adler=r.check=1,r.mode=Ae;case Ae:if(t===Od||t===Rr)break e;case Ti:if(r.last){f>>>=l&7,l-=l&7,r.mode=Pi;break}for(;l<3;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}switch(r.last=f&1,f>>>=1,l-=1,f&3){case 0:r.mode=cf;break;case 1:if(zd(r),r.mode=Or,t===Rr){f>>>=2,l-=2;break e}break;case 2:r.mode=uf;break;case 3:e.msg="invalid block type",r.mode=D}f>>>=2,l-=2;break;case cf:for(f>>>=l&7,l-=l&7;l<32;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if((f&65535)!==(f>>>16^65535)){e.msg="invalid stored block lengths",r.mode=D;break}if(r.length=f&65535,f=0,l=0,r.mode=Ii,t===Rr)break e;case Ii:r.mode=lf;case lf:if(u=r.length,u){if(u>s&&(u=s),u>c&&(u=c),u===0)break e;Ee(i,n,a,u,o),s-=u,a+=u,c-=u,o+=u,r.length-=u;break}r.mode=Ae;break;case uf:for(;l<14;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(r.nlen=(f&31)+257,f>>>=5,l-=5,r.ndist=(f&31)+1,f>>>=5,l-=5,r.ncode=(f&15)+4,f>>>=4,l-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=D;break}r.have=0,r.mode=hf;case hf:for(;r.have<r.ncode;){for(;l<3;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}r.lens[z[r.have++]]=f&7,f>>>=3,l-=3}for(;r.have<19;)r.lens[z[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,k={bits:r.lenbits},x=Zt(Rd,r.lens,0,19,r.lencode,0,r.work,k),r.lenbits=k.bits,x){e.msg="invalid code lengths set",r.mode=D;break}r.have=0,r.mode=df;case df:for(;r.have<r.nlen+r.ndist;){for(;_=r.lencode[f&(1<<r.lenbits)-1],w=_>>>24,E=_>>>16&255,S=_&65535,!(w<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(S<16)f>>>=w,l-=w,r.lens[r.have++]=S;else{if(S===16){for(C=w+2;l<C;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(f>>>=w,l-=w,r.have===0){e.msg="invalid bit length repeat",r.mode=D;break}b=r.lens[r.have-1],u=3+(f&3),f>>>=2,l-=2}else if(S===17){for(C=w+3;l<C;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}f>>>=w,l-=w,b=0,u=3+(f&7),f>>>=3,l-=3}else{for(C=w+7;l<C;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}f>>>=w,l-=w,b=0,u=11+(f&127),f>>>=7,l-=7}if(r.have+u>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=D;break}for(;u--;)r.lens[r.have++]=b}}if(r.mode===D)break;if(r.lens[256]===0){e.msg="invalid code -- missing end-of-block",r.mode=D;break}if(r.lenbits=9,k={bits:r.lenbits},x=Zt(Ws,r.lens,0,r.nlen,r.lencode,0,r.work,k),r.lenbits=k.bits,x){e.msg="invalid literal/lengths set",r.mode=D;break}if(r.distbits=6,r.distcode=r.distdyn,k={bits:r.distbits},x=Zt(Gs,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,k),r.distbits=k.bits,x){e.msg="invalid distances set",r.mode=D;break}if(r.mode=Or,t===Rr)break e;case Or:r.mode=Tr;case Tr:if(s>=6&&c>=258){e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,r.hold=f,r.bits=l,xd(e,h),o=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,n=e.input,s=e.avail_in,f=r.hold,l=r.bits,r.mode===Ae&&(r.back=-1);break}for(r.back=0;_=r.lencode[f&(1<<r.lenbits)-1],w=_>>>24,E=_>>>16&255,S=_&65535,!(w<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(E&&(E&240)===0){for(g=w,A=E,T=S;_=r.lencode[T+((f&(1<<g+A)-1)>>g)],w=_>>>24,E=_>>>16&255,S=_&65535,!(g+w<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}f>>>=g,l-=g,r.back+=g}if(f>>>=w,l-=w,r.back+=w,r.length=S,E===0){r.mode=_f;break}if(E&32){r.back=-1,r.mode=Ae;break}if(E&64){e.msg="invalid literal/length code",r.mode=D;break}r.extra=E&15,r.mode=pf;case pf:if(r.extra){for(C=r.extra;l<C;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}r.length+=f&(1<<r.extra)-1,f>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=yf;case yf:for(;_=r.distcode[f&(1<<r.distbits)-1],w=_>>>24,E=_>>>16&255,S=_&65535,!(w<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if((E&240)===0){for(g=w,A=E,T=S;_=r.distcode[T+((f&(1<<g+A)-1)>>g)],w=_>>>24,E=_>>>16&255,S=_&65535,!(g+w<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}f>>>=g,l-=g,r.back+=g}if(f>>>=w,l-=w,r.back+=w,E&64){e.msg="invalid distance code",r.mode=D;break}r.offset=S,r.extra=E&15,r.mode=vf;case vf:if(r.extra){for(C=r.extra;l<C;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}r.offset+=f&(1<<r.extra)-1,f>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=D;break}r.mode=gf;case gf:if(c===0)break e;if(u=h-c,r.offset>u){if(u=r.offset-u,u>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=D;break}u>r.wnext?(u-=r.wnext,p=r.wsize-u):p=r.wnext-u,u>r.length&&(u=r.length),v=r.window}else v=i,p=o-r.offset,u=r.length;u>c&&(u=c),c-=u,r.length-=u;do i[o++]=v[p++];while(--u);r.length===0&&(r.mode=Tr);break;case _f:if(c===0)break e;i[o++]=r.length,c--,r.mode=Tr;break;case Pi:if(r.wrap){for(;l<32;){if(s===0)break e;s--,f|=n[a++]<<l,l+=8}if(h-=c,e.total_out+=h,r.total+=h,h&&(e.adler=r.check=r.flags?$(r.check,i,h,o-h):mi(r.check,i,h,o-h)),h=c,(r.flags?f:mf(f))!==r.check){e.msg="incorrect data check",r.mode=D;break}f=0,l=0}r.mode=wf;case wf:if(r.wrap&&r.flags){for(;l<32;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(f!==(r.total&4294967295)){e.msg="incorrect length check",r.mode=D;break}f=0,l=0}r.mode=bf;case bf:x=Td;break e;case D:x=Pd;break e;case Dd:return Fd;case Md:default:return Ne}return e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,r.hold=f,r.bits=l,(r.wsize||h!==e.avail_out&&r.mode<D&&(r.mode<Pi||t!==Vs))&&Zd(e,e.output,e.next_out,h-e.avail_out),d-=e.avail_in,h-=e.avail_out,e.total_in+=d,e.total_out+=h,r.total+=h,r.wrap&&h&&(e.adler=r.check=r.flags?$(r.check,i,h,e.next_out-h):mi(r.check,i,h,e.next_out-h)),e.data_type=r.bits+(r.last?64:0)+(r.mode===Ae?128:0)+(r.mode===Or||r.mode===Ii?256:0),(d===0&&h===0||t===Vs)&&x===qt&&(x=Cd),x}function Hd(e){if(!e||!e.state)return Ne;var t=e.state;return t.window&&(t.window=null),e.state=null,qt}var Di=0,mt=1,Ir=2,Ht=3,Pr=4,xt=5,Kt=6,Wt=7,Sf=0,Af=1,kf=2,Rf=3,Mi=4,Of=5,Kd=6,Fr=0,Tf=1,If=2,Wd=-1,Gd=-2,Vd=-3,Pf=-5,Yd=0,Jd=1,Xd=9,Qd=-1,ep=1,tp=2,rp=3,np=4,ip=0,ap=0,op=1,sp=2,Ff=8;function oe(e){if(e<mt||e>Wt)throw new TypeError("Bad argument");this.mode=e,this.init_done=!1,this.write_in_progress=!1,this.pending_close=!1,this.windowBits=0,this.level=0,this.memLevel=0,this.strategy=0,this.dictionary=null}oe.prototype.init=function(e,t,r,n,i){this.windowBits=e,this.level=t,this.memLevel=r,this.strategy=n,(this.mode===Ht||this.mode===Pr)&&(this.windowBits+=16),this.mode===Wt&&(this.windowBits+=32),(this.mode===xt||this.mode===Kt)&&(this.windowBits=-this.windowBits),this.strm=new kh;var a;switch(this.mode){case mt:case Ht:case xt:a=_d(this.strm,this.level,Ff,this.windowBits,this.memLevel,this.strategy);break;case Ir:case Pr:case Kt:case Wt:a=$d(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}if(a!==Fr){this._error(a);return}this.write_in_progress=!1,this.init_done=!0},oe.prototype.params=function(){throw new Error("deflateParams Not supported")},oe.prototype._writeCheck=function(){if(!this.init_done)throw new Error("write before init");if(this.mode===Di)throw new Error("already finalized");if(this.write_in_progress)throw new Error("write already in progress");if(this.pending_close)throw new Error("close is pending")},oe.prototype.write=function(e,t,r,n,i,a,o){this._writeCheck(),this.write_in_progress=!0;var s=this;return be.nextTick(function(){s.write_in_progress=!1;var c=s._write(e,t,r,n,i,a,o);s.callback(c[0],c[1]),s.pending_close&&s.close()}),this};function fp(e,t){for(var r=0;r<e.length;r++)this[t+r]=e[r]}oe.prototype.writeSync=function(e,t,r,n,i,a,o){return this._writeCheck(),this._write(e,t,r,n,i,a,o)},oe.prototype._write=function(e,t,r,n,i,a,o){if(this.write_in_progress=!0,e!==Sf&&e!==Af&&e!==kf&&e!==Rf&&e!==Mi&&e!==Of)throw new Error("Invalid flush value");t==null&&(t=new y(0),n=0,r=0),i._set?i.set=i._set:i.set=fp;var s=this.strm;s.avail_in=n,s.input=t,s.next_in=r,s.avail_out=o,s.output=i,s.next_out=a;var c;switch(this.mode){case mt:case Ht:case xt:c=wd(s,e);break;case Wt:case Ir:case Pr:case Kt:c=qd(s,e);break;default:throw new Error("Unknown mode "+this.mode)}return this._checkError(c,s,e)||this._error(c),this.write_in_progress=!1,[s.avail_in,s.avail_out]},oe.prototype._checkError=function(e,t,r){switch(e){case Fr:case Pf:if(t.avail_out!==0&&r===Mi)return!1;break;case Tf:break;case If:return!1;default:return!1}return!0},oe.prototype.close=function(){if(this.write_in_progress){this.pending_close=!0;return}this.pending_close=!1,this.mode===mt||this.mode===Ht||this.mode===xt?bd(this.strm):Hd(this.strm),this.mode=Di};var Cr;oe.prototype.reset=function(){switch(this.mode){case mt:case xt:Cr=zs(this.strm);break;case Ir:case Kt:Cr=xf(this.strm);break}Cr!==Fr&&this._error(Cr)},oe.prototype._error=function(e){this.onerror(ys[e]+": "+this.strm.msg,e),this.write_in_progress=!1,this.pending_close&&this.close()};var Cf=Object.freeze({__proto__:null,DEFLATE:mt,DEFLATERAW:xt,GUNZIP:Pr,GZIP:Ht,INFLATE:Ir,INFLATERAW:Kt,NONE:Di,UNZIP:Wt,Z_BEST_COMPRESSION:Xd,Z_BEST_SPEED:Jd,Z_BINARY:ap,Z_BLOCK:Of,Z_BUF_ERROR:Pf,Z_DATA_ERROR:Vd,Z_DEFAULT_COMPRESSION:Qd,Z_DEFAULT_STRATEGY:ip,Z_DEFLATED:Ff,Z_ERRNO:Wd,Z_FILTERED:ep,Z_FINISH:Mi,Z_FIXED:np,Z_FULL_FLUSH:Rf,Z_HUFFMAN_ONLY:tp,Z_NEED_DICT:If,Z_NO_COMPRESSION:Yd,Z_NO_FLUSH:Sf,Z_OK:Fr,Z_PARTIAL_FLUSH:Af,Z_RLE:rp,Z_STREAM_END:Tf,Z_STREAM_ERROR:Gd,Z_SYNC_FLUSH:kf,Z_TEXT:op,Z_TREES:Kd,Z_UNKNOWN:sp,Zlib:oe});function cp(e,t){if(!e)throw new Error(t)}var m={};Object.keys(Cf).forEach(function(e){m[e]=Cf[e]}),m.Z_MIN_WINDOWBITS=8,m.Z_MAX_WINDOWBITS=15,m.Z_DEFAULT_WINDOWBITS=15,m.Z_MIN_CHUNK=64,m.Z_MAX_CHUNK=1/0,m.Z_DEFAULT_CHUNK=16*1024,m.Z_MIN_MEMLEVEL=1,m.Z_MAX_MEMLEVEL=9,m.Z_DEFAULT_MEMLEVEL=8,m.Z_MIN_LEVEL=-1,m.Z_MAX_LEVEL=9,m.Z_DEFAULT_LEVEL=m.Z_DEFAULT_COMPRESSION;var Gt={Z_OK:m.Z_OK,Z_STREAM_END:m.Z_STREAM_END,Z_NEED_DICT:m.Z_NEED_DICT,Z_ERRNO:m.Z_ERRNO,Z_STREAM_ERROR:m.Z_STREAM_ERROR,Z_DATA_ERROR:m.Z_DATA_ERROR,Z_MEM_ERROR:m.Z_MEM_ERROR,Z_BUF_ERROR:m.Z_BUF_ERROR,Z_VERSION_ERROR:m.Z_VERSION_ERROR};Object.keys(Gt).forEach(function(e){Gt[Gt[e]]=e});function lp(e){return new tt(e)}function up(e){return new rt(e)}function hp(e){return new at(e)}function dp(e){return new ot(e)}function pp(e){return new nt(e)}function yp(e){return new it(e)}function vp(e){return new st(e)}function gp(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new tt(t),e,r)}function _p(e,t){return et(new tt(t),e)}function wp(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new nt(t),e,r)}function bp(e,t){return et(new nt(t),e)}function mp(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new at(t),e,r)}function xp(e,t){return et(new at(t),e)}function Ep(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new st(t),e,r)}function Sp(e,t){return et(new st(t),e)}function Ap(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new rt(t),e,r)}function kp(e,t){return et(new rt(t),e)}function Rp(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new it(t),e,r)}function Op(e,t){return et(new it(t),e)}function Tp(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new ot(t),e,r)}function Ip(e,t){return et(new ot(t),e)}function Qe(e,t,r){var n=[],i=0;e.on("error",o),e.on("end",s),e.end(t),a();function a(){for(var c;(c=e.read())!==null;)n.push(c),i+=c.length;e.once("readable",a)}function o(c){e.removeListener("end",s),e.removeListener("readable",a),r(c)}function s(){var c=y.concat(n,i);n=[],r(null,c),e.close()}}function et(e,t){if(typeof t=="string"&&(t=new y(t)),!y.isBuffer(t))throw new TypeError("Not a string or buffer");var r=m.Z_FINISH;return e._processChunk(t,r)}function tt(e){if(!(this instanceof tt))return new tt(e);M.call(this,e,m.DEFLATE)}function rt(e){if(!(this instanceof rt))return new rt(e);M.call(this,e,m.INFLATE)}function nt(e){if(!(this instanceof nt))return new nt(e);M.call(this,e,m.GZIP)}function it(e){if(!(this instanceof it))return new it(e);M.call(this,e,m.GUNZIP)}function at(e){if(!(this instanceof at))return new at(e);M.call(this,e,m.DEFLATERAW)}function ot(e){if(!(this instanceof ot))return new ot(e);M.call(this,e,m.INFLATERAW)}function st(e){if(!(this instanceof st))return new st(e);M.call(this,e,m.UNZIP)}function M(e,t){if(this._opts=e=e||{},this._chunkSize=e.chunkSize||m.Z_DEFAULT_CHUNK,ee.call(this,e),e.flush&&e.flush!==m.Z_NO_FLUSH&&e.flush!==m.Z_PARTIAL_FLUSH&&e.flush!==m.Z_SYNC_FLUSH&&e.flush!==m.Z_FULL_FLUSH&&e.flush!==m.Z_FINISH&&e.flush!==m.Z_BLOCK)throw new Error("Invalid flush flag: "+e.flush);if(this._flushFlag=e.flush||m.Z_NO_FLUSH,e.chunkSize&&(e.chunkSize<m.Z_MIN_CHUNK||e.chunkSize>m.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+e.chunkSize);if(e.windowBits&&(e.windowBits<m.Z_MIN_WINDOWBITS||e.windowBits>m.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+e.windowBits);if(e.level&&(e.level<m.Z_MIN_LEVEL||e.level>m.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+e.level);if(e.memLevel&&(e.memLevel<m.Z_MIN_MEMLEVEL||e.memLevel>m.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+e.memLevel);if(e.strategy&&e.strategy!=m.Z_FILTERED&&e.strategy!=m.Z_HUFFMAN_ONLY&&e.strategy!=m.Z_RLE&&e.strategy!=m.Z_FIXED&&e.strategy!=m.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+e.strategy);if(e.dictionary&&!y.isBuffer(e.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._binding=new m.Zlib(t);var r=this;this._hadError=!1,this._binding.onerror=function(a,o){r._binding=null,r._hadError=!0;var s=new Error(a);s.errno=o,s.code=Gt[o],r.emit("error",s)};var n=m.Z_DEFAULT_COMPRESSION;typeof e.level=="number"&&(n=e.level);var i=m.Z_DEFAULT_STRATEGY;typeof e.strategy=="number"&&(i=e.strategy),this._binding.init(e.windowBits||m.Z_DEFAULT_WINDOWBITS,n,e.memLevel||m.Z_DEFAULT_MEMLEVEL,i,e.dictionary),this._buffer=new y(this._chunkSize),this._offset=0,this._closed=!1,this._level=n,this._strategy=i,this.once("end",this.close)}K(M,ee),M.prototype.params=function(e,t,r){if(e<m.Z_MIN_LEVEL||e>m.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+e);if(t!=m.Z_FILTERED&&t!=m.Z_HUFFMAN_ONLY&&t!=m.Z_RLE&&t!=m.Z_FIXED&&t!=m.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+t);if(this._level!==e||this._strategy!==t){var n=this;this.flush(m.Z_SYNC_FLUSH,function(){n._binding.params(e,t),n._hadError||(n._level=e,n._strategy=t,r&&r())})}else be.nextTick(r)},M.prototype.reset=function(){return this._binding.reset()},M.prototype._flush=function(e){this._transform(new y(0),"",e)},M.prototype.flush=function(e,t){var r=this._writableState;if((typeof e=="function"||e===void 0&&!t)&&(t=e,e=m.Z_FULL_FLUSH),r.ended)t&&be.nextTick(t);else if(r.ending)t&&this.once("end",t);else if(r.needDrain){var n=this;this.once("drain",function(){n.flush(t)})}else this._flushFlag=e,this.write(new y(0),"",t)},M.prototype.close=function(e){if(e&&be.nextTick(e),!this._closed){this._closed=!0,this._binding.close();var t=this;be.nextTick(function(){t.emit("close")})}},M.prototype._transform=function(e,t,r){var n,i=this._writableState,a=i.ending||i.ended,o=a&&(!e||i.length===e.length);if(!e===null&&!y.isBuffer(e))return r(new Error("invalid input"));o?n=m.Z_FINISH:(n=this._flushFlag,e.length>=i.length&&(this._flushFlag=this._opts.flush||m.Z_NO_FLUSH)),this._processChunk(e,n,r)},M.prototype._processChunk=function(e,t,r){var n=e&&e.length,i=this._chunkSize-this._offset,a=0,o=this,s=typeof r=="function";if(!s){var c=[],f=0,l;this.on("error",function(v){l=v});do var d=this._binding.writeSync(t,e,a,n,this._buffer,this._offset,i);while(!this._hadError&&p(d[0],d[1]));if(this._hadError)throw l;var h=y.concat(c,f);return this.close(),h}var u=this._binding.write(t,e,a,n,this._buffer,this._offset,i);u.buffer=e,u.callback=p;function p(v,_){if(!o._hadError){var w=i-_;if(cp(w>=0,"have should not go down"),w>0){var E=o._buffer.slice(o._offset,o._offset+w);o._offset+=w,s?o.push(E):(c.push(E),f+=E.length)}if((_===0||o._offset>=o._chunkSize)&&(i=o._chunkSize,o._offset=0,o._buffer=new y(o._chunkSize)),_===0){if(a+=n-v,n=v,!s)return!0;var S=o._binding.write(t,e,a,n,o._buffer,o._offset,o._chunkSize);S.callback=p,S.buffer=e;return}if(!s)return!1;r()}}},K(tt,M),K(rt,M),K(nt,M),K(it,M),K(at,M),K(ot,M),K(st,M);var Df={codes:Gt,createDeflate:lp,createInflate:up,createDeflateRaw:hp,createInflateRaw:dp,createGzip:pp,createGunzip:yp,createUnzip:vp,deflate:gp,deflateSync:_p,gzip:wp,gzipSync:bp,deflateRaw:mp,deflateRawSync:xp,unzip:Ep,unzipSync:Sp,inflate:Ap,inflateSync:kp,gunzip:Rp,gunzipSync:Op,inflateRaw:Tp,inflateRawSync:Ip,Deflate:tt,Inflate:rt,Gzip:nt,Gunzip:it,DeflateRaw:at,InflateRaw:ot,Unzip:st,Zlib:M};class Mf extends li{constructor({client:t,keyPrefix:r="cache",ttl:n=0,prefix:i=void 0}){super({client:t,keyPrefix:r,ttl:n,prefix:i}),this.client=t,this.keyPrefix=r,this.config.ttl=n,this.config.client=t,this.config.prefix=i!==void 0?i:r+(r.endsWith("/")?"":"/")}async _set(t,r){let n=JSON.stringify(r);const i=n.length;return n=Df.gzipSync(n).toString("base64"),this.client.putObject({key:ge(this.keyPrefix,t),body:n,contentEncoding:"gzip",contentType:"application/gzip",metadata:{compressor:"zlib",compressed:"true","client-id":this.client.id,"length-serialized":String(i),"length-compressed":String(n.length),"compression-gain":(n.length/i).toFixed(2)}})}async _get(t){try{const{Body:r}=await this.client.getObject(ge(this.keyPrefix,t));let n=await Pt(r);return n=Buffer.from(n,"base64"),n=Df.unzipSync(n).toString(),JSON.parse(n)}catch(r){if(r.name==="NoSuchKey"||r.name==="NotFound")return null;throw r}}async _del(t){return await this.client.deleteObject(ge(this.keyPrefix,t)),!0}async _clear(){const t=await this.client.getAllKeys({prefix:this.keyPrefix});for(const r of t)await this.client.deleteObject(r)}async size(){return(await this.keys()).length}async keys(){const t=await this.client.getAllKeys({prefix:this.keyPrefix}),r=this.keyPrefix.endsWith("/")?this.keyPrefix:this.keyPrefix+"/";return t.map(n=>n.startsWith(r)?n.slice(r.length):n)}}class Lf extends R{async setup(t){}async start(){}async stop(){}beforeSetup(){this.emit("plugin.beforeSetup",new Date)}afterSetup(){this.emit("plugin.afterSetup",new Date)}beforeStart(){this.emit("plugin.beforeStart",new Date)}afterStart(){this.emit("plugin.afterStart",new Date)}beforeStop(){this.emit("plugin.beforeStop",new Date)}afterStop(){this.emit("plugin.afterStop",new Date)}}const Pp={setup(e){},start(){},stop(){}},Fp={async setup(e){this.client=e.client,this.map={PutObjectCommand:"put",GetObjectCommand:"get",HeadObjectCommand:"get",DeleteObjectCommand:"delete",DeleteObjectsCommand:"delete",ListObjectsV2Command:"list"},this.costs={total:0,prices:{put:.005/1e3,copy:.005/1e3,list:.005/1e3,post:.005/1e3,get:4e-4/1e3,select:4e-4/1e3,delete:4e-4/1e3},requests:{total:0,put:0,post:0,copy:0,list:0,get:0,select:0,delete:0},events:{total:0,PutObjectCommand:0,GetObjectCommand:0,HeadObjectCommand:0,DeleteObjectCommand:0,DeleteObjectsCommand:0,ListObjectsV2Command:0}},this.client.costs=JSON.parse(JSON.stringify(this.costs))},async start(){this.client.on("command.response",e=>this.addRequest(e,this.map[e]))},addRequest(e,t){this.costs.events[e]++,this.costs.events.total++,this.costs.requests.total++,this.costs.requests[t]++,this.costs.total+=this.costs.prices[t],this.client.costs.events[e]++,this.client.costs.events.total++,this.client.costs.requests.total++,this.client.costs.requests[t]++,this.client.costs.total+=this.client.costs.prices[t]}};class Cp extends Lf{constructor(t={}){super(),this.driver=t.driver}async setup(t){this.database=t,this.driver||(this.driver=new Mf({keyPrefix:"cache",client:t.client})),this.installDatabaseProxy();for(const r of Object.values(t.resources))this.installResourcesProxies(r)}async start(){}async stop(){}installDatabaseProxy(){const t=this.installResourcesProxies.bind(this);this.database._createResource=this.database.createResource,this.database.createResource=async function(...r){const n=await this._createResource(...r);return t(n),n}}installResourcesProxies(t){t.cache=this.driver;let r=`resource=${t.name}`;this.driver.keyPrefix&&(this.driver.keyPrefix=ge(this.driver.keyPrefix,r)),t.cacheKeyFor=async function({params:n={},action:i="list"}){let a=Object.keys(n).sort().map(o=>`${o}:${n[o]}`).join("|")||"empty";return a=await sa(a),a=ge(r,`action=${i}`,`${a}.json.gz`),a},t._count=t.count,t._listIds=t.listIds,t._getMany=t.getMany,t._getAll=t.getAll,t._page=t.page,t.count=async function(){const n=await this.cacheKeyFor({action:"count"});try{const a=await this.cache.get(n);if(a)return a}catch(a){if(a.name!=="NoSuchKey")throw a}const i=await t._count();return await this.cache.set(n,i),i},t.listIds=async function(){const n=await this.cacheKeyFor({action:"listIds"});try{const a=await this.cache.get(n);if(a)return a}catch(a){if(a.name!=="NoSuchKey")throw a}const i=await t._listIds();return await this.cache.set(n,i),i},t.getMany=async function(n){const i=await this.cacheKeyFor({action:"getMany",params:{ids:n}});try{const o=await this.cache.get(i);if(o)return o}catch(o){if(o.name!=="NoSuchKey")throw o}const a=await t._getMany(n);return await this.cache.set(i,a),a},t.getAll=async function(){const n=await this.cacheKeyFor({action:"getAll"});try{const a=await this.cache.get(n);if(a)return a}catch(a){if(a.name!=="NoSuchKey")throw a}const i=await t._getAll();return await this.cache.set(n,i),i},t.page=async function({offset:n,size:i}){const a=await this.cacheKeyFor({action:"page",params:{offset:n,size:i}});try{const s=await this.cache.get(a);if(s)return s}catch(s){if(s.name!=="NoSuchKey")throw s}const o=await t._page({offset:n,size:i});return await this.cache.set(a,o),o},t._insert=t.insert,t._update=t.update,t._delete=t.delete,t._deleteMany=t.deleteMany,t.insert=async function(...n){const i=await t._insert(...n);return await this.cache.clear(r),i},t.update=async function(...n){const i=await t._update(...n);return await this.cache.clear(r),i},t.delete=async function(...n){const i=await t._delete(...n);return await this.cache.clear(r),i},t.deleteMany=async function(...n){const i=await t._deleteMany(...n);return await this.cache.clear(r),i}}}export{ct as BaseError,li as Cache,Cp as CachePlugin,oa as Client,aa as ConnectionString,Fp as CostsPlugin,ps as Database,ra as ErrorMap,tr as InvalidResourceItem,Ah as MemoryCache,ea as MissingMetadata,Xi as NoSuchBucket,$r as NoSuchKey,Qi as NotFound,Lf as Plugin,Pp as PluginObject,is as ResourceIdsPageReader,ns as ResourceIdsReader,as as ResourceReader,os as ResourceWriter,Mf as S3Cache,ia as S3_DEFAULT_ENDPOINT,na as S3_DEFAULT_REGION,Sh as S3db,ta as UnknownError,ho as Validator,po as ValidatorManager,fa as decrypt,zr as encrypt,sa as sha256,Pt as streamToString};
|