s3db.js 4.1.7 → 4.1.10
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 +83 -16
- package/dist/s3db.cjs.js +242 -58
- package/dist/s3db.cjs.min.js +9 -9
- package/dist/s3db.es.js +242 -58
- package/dist/s3db.es.min.js +10 -10
- package/dist/s3db.iife.js +242 -58
- package/dist/s3db.iife.min.js +10 -10
- package/package.json +1 -1
package/dist/s3db.es.min.js
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
/* istanbul ignore file */
|
|
2
|
-
import{customAlphabet as
|
|
2
|
+
import{customAlphabet as Bf,urlAlphabet as Uf}from"nanoid";import{chunk as Li,merge as kt,isEmpty as Ni,invert as $i,uniq as zf,cloneDeep as Rt,isString as Bi,get as Zf,set as Hf,isFunction as qf}from"lodash-es";import{PromisePool as ue}from"@supercharge/promise-pool";import{S3Client as Kf,PutObjectCommand as Wf,GetObjectCommand as Vf,HeadObjectCommand as Gf,CopyObjectCommand as Yf,DeleteObjectCommand as Jf,DeleteObjectsCommand as Ui,ListObjectsV2Command as zi}from"@aws-sdk/client-s3";import{createHash as Zi}from"crypto";import{flatten as jr,unflatten as Xf}from"flat";import Qf from"fastest-validator";import{ReadableStream as ec}from"node:stream/web";function Hi(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 tc=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,Mr=function(e){return tc.exec(e).slice(1)};function Lr(){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=Hi(Nr(e.split("/"),function(i){return!!i}),!t).join("/"),(t?"/":"")+e||"."}function qi(e){var t=Ki(e),r=fc(e,-1)==="/";return e=Hi(Nr(e.split("/"),function(n){return!!n}),!t).join("/"),!e&&!t&&(e="."),e&&r&&(e+="/"),(t?"/":"")+e}function Ki(e){return e.charAt(0)==="/"}function _e(){var e=Array.prototype.slice.call(arguments,0);return qi(Nr(e,function(t,r){if(typeof t!="string")throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))}function rc(e,t){e=Lr(e).substr(1),t=Lr(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 nc="/",ic=":";function ac(e){var t=Mr(e),r=t[0],n=t[1];return!r&&!n?".":(n&&(n=n.substr(0,n.length-1)),r+n)}function oc(e,t){var r=Mr(e)[2];return t&&r.substr(-1*t.length)===t&&(r=r.substr(0,r.length-t.length)),r}function sc(e){return Mr(e)[3]}var he={extname:sc,basename:oc,dirname:ac,sep:nc,delimiter:ic,relative:rc,join:_e,isAbsolute:Ki,normalize:qi,resolve:Lr};function Nr(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 fc="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=Bf(Uf,22);var $r;function Re(){}Re.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&&$r.active&&!(this instanceof $r.Domain)&&(this.domain=$r.active),(!this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=new Re,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 Vi(e){return e._maxListeners===void 0?R.defaultMaxListeners:e._maxListeners}R.prototype.getMaxListeners=function(){return Vi(this)};function cc(e,t,r){if(t)e.call(r);else for(var n=e.length,i=Ot(e,n),a=0;a<n;++a)i[a].call(r)}function lc(e,t,r,n){if(t)e.call(r,n);else for(var i=e.length,a=Ot(e,i),o=0;o<i;++o)a[o].call(r,n)}function uc(e,t,r,n,i){if(t)e.call(r,n,i);else for(var a=e.length,o=Ot(e,a),s=0;s<a;++s)o[s].call(r,n,i)}function hc(e,t,r,n,i,a){if(t)e.call(r,n,i,a);else for(var o=e.length,s=Ot(e,o),c=0;c<o;++c)s[c].call(r,n,i,a)}function dc(e,t,r,n){if(t)e.apply(r,n);else for(var i=e.length,a=Ot(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:cc(n,d,this);break;case 2:lc(n,d,this,arguments[1]);break;case 3:uc(n,d,this,arguments[1],arguments[2]);break;case 4:hc(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];dc(n,d,this,a)}return!0};function Gi(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 Re,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=Vi(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,pc(s)}return e}function pc(e){typeof console.warn=="function"?console.warn(e):console.log(e)}R.prototype.addListener=function(t,r){return Gi(this,t,r,!1)},R.prototype.on=R.prototype.addListener,R.prototype.prependListener=function(t,r){return Gi(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 Re:(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 Re,this;delete i[t]}else yc(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 Re,this._eventsCount=0):n[t]&&(--this._eventsCount===0?this._events=new Re: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 Re,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=gc(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 yc(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 Ot(e,t){for(var r=new Array(t);t--;)r[t]=e[t];return r}function gc(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}class lt extends Error{constructor({verbose:t,bucket:r,message:n,...i}){t&&(n=n+`
|
|
3
3
|
|
|
4
4
|
Verbose:
|
|
5
5
|
|
|
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
|
|
7
|
-
${JSON.stringify(i,null,2)}`}),this.resourceName=r,this.attributes=n,this.validation=i}}class ta extends
|
|
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,
|
|
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 lt{constructor({bucket:t,...r}){super({...r,bucket:t,message:`Bucket does not exists [bucket:${t}]`})}}class Br extends lt{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 Br{}class ea extends lt{constructor({bucket:t,...r}){super({...r,bucket:t,message:`Missing metadata for bucket [bucket:${t}]`})}}class tr extends lt{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 lt{}const ra={NotFound:Qi,NoSuchKey:Br,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 Kf(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?he.join(this.config.keyPrefix,t):t,Metadata:{...r},Body:i||Buffer.alloc(0)};n!==void 0&&(o.ContentType=n),a!==void 0&&(o.ContentEncoding=a);try{const s=await this.sendCommand(new Wf(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:he.join(this.config.keyPrefix,t)};try{const n=await this.sendCommand(new Vf(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?he.join(this.config.keyPrefix,t):t};try{const n=await this.sendCommand(new Gf(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?he.join(this.config.keyPrefix,r):r,CopySource:he.join(this.config.bucket,this.config.keyPrefix?he.join(this.config.keyPrefix,t):t)};try{const i=await this.client.send(new Yf(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?he.join(this.config.keyPrefix,t):t};try{const n=await this.sendCommand(new Jf(r));return this.emit("deleteObject",n,r),n}catch(n){throw this.errorProxy(n,{key:t,command:r})}}async deleteObjects(t){const r=Li(t,1e3),{results:n,errors:i}=await ue.for(r).withConcurrency(this.parallelism).process(async o=>{const s={Bucket:this.config.bucket,Delete:{Objects:o.map(c=>({Key:this.config.keyPrefix?he.join(this.config.keyPrefix,c):c}))}};try{return await this.sendCommand(new Ui(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?he.join(this.config.keyPrefix,t):t,ContinuationToken:r}),a=await this.client.send(i);if(a.Contents&&a.Contents.length>0){const o=new Ui({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?he.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 ue.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 Ur(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),vc(f)}async function fa(e,t){const r=await rr(),n=wc(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 vc(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 wc(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 _c(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var nr={},zr,la;function bc(){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,g="",w;if(t==='"')for(;a();){if(t==='"')return a(),g;if(t==="\\")if(a(),t==="u"){for(w=0,p=0;p<4&&(u=parseInt(a(),16),!!isFinite(u));p+=1)w=w*16+u;g+=String.fromCharCode(w)}else if(typeof r[t]=="string")g+=r[t];else break;else g+=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 g;return n=u,e=0,t=" ",g=h(),c(),t&&i("Syntax error"),typeof p=="function"?function w(_,x){var A,v,S=_[x];if(S&&typeof S=="object")for(A in h)Object.prototype.hasOwnProperty.call(S,A)&&(v=w(S,A),typeof v>"u"?delete S[A]:S[A]=v);return p.call(_,x,S)}({"":g},""):g},zr}var Zr,ua;function mc(){if(ua)return Zr;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,g=c[s];switch(g&&typeof g=="object"&&typeof g.toJSON=="function"&&(g=g.toJSON(s)),typeof i=="function"&&(g=i.call(c,s,g)),typeof g){case"string":return a(g);case"number":return isFinite(g)?String(g):"null";case"boolean":case"null":return String(g);case"object":if(!g)return"null";if(t+=r,p=[],Object.prototype.toString.apply(g)==="[object Array]"){for(h=g.length,f=0;f<h;f+=1)p[f]=o(f,g)||"null";return d=p.length===0?"[]":t?`[
|
|
9
9
|
`+t+p.join(`,
|
|
10
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,
|
|
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,g),d&&p.push(a(l)+(t?": ":":")+d));else for(l in g)Object.prototype.hasOwnProperty.call(g,l)&&(d=o(l,g),d&&p.push(a(l)+(t?": ":":")+d));return d=p.length===0?"{}":t?`{
|
|
12
12
|
`+t+p.join(`,
|
|
13
13
|
`+t)+`
|
|
14
|
-
`+u+"}":"{"+p.join(",")+"}",t=u,d}}return Zr=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})},Zr}var ha;function xc(){return ha||(ha=1,nr.parse=bc(),nr.stringify=mc()),nr}var Hr,da;function Ec(){if(da)return Hr;da=1;var e={}.toString;return Hr=Array.isArray||function(t){return e.call(t)=="[object Array]"},Hr}var qr,pa;function ya(){if(pa)return qr;pa=1;var e=Object.prototype.toString;return qr=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},qr}var Kr,va;function Sc(){if(va)return Kr;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]",w=n(u),b=p&&r.call(u)==="[object String]",E=[];if(!p&&!v&&!w)throw new TypeError("Object.keys called on a non-object");var S=o&&v;if(b&&u.length>0&&!t.call(u,0))for(var g=0;g<u.length;++g)E.push(String(g));if(w&&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 _=d(u),x=0;x<s.length;++x)!(_&&s[x]==="constructor")&&t.call(u,s[x])&&E.push(s[x]);return E}}return Kr=e,Kr}var Wr,ga;function Ac(){if(ga)return Wr;ga=1;var e=Array.prototype.slice,t=ya(),r=Object.keys,n=r?function(o){return r(o)}:Sc(),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},Wr=n,Wr}var Vr={exports:{}},Gr,wa;function _a(){return wa||(wa=1,Gr=Object),Gr}var Yr,ba;function kc(){return ba||(ba=1,Yr=Error),Yr}var Jr,ma;function Rc(){return ma||(ma=1,Jr=EvalError),Jr}var Xr,xa;function Oc(){return xa||(xa=1,Xr=RangeError),Xr}var Qr,Ea;function Tc(){return Ea||(Ea=1,Qr=ReferenceError),Qr}var en,Sa;function Aa(){return Sa||(Sa=1,en=SyntaxError),en}var tn,ka;function ir(){return ka||(ka=1,tn=TypeError),tn}var rn,Ra;function Ic(){return Ra||(Ra=1,rn=URIError),rn}var nn,Oa;function Pc(){return Oa||(Oa=1,nn=Math.abs),nn}var an,Ta;function Fc(){return Ta||(Ta=1,an=Math.floor),an}var on,Ia;function Cc(){return Ia||(Ia=1,on=Math.max),on}var sn,Pa;function Dc(){return Pa||(Pa=1,sn=Math.min),sn}var fn,Fa;function jc(){return Fa||(Fa=1,fn=Math.pow),fn}var cn,Ca;function Mc(){return Ca||(Ca=1,cn=Math.round),cn}var ln,Da;function Lc(){return Da||(Da=1,ln=Number.isNaN||function(t){return t!==t}),ln}var un,ja;function Nc(){if(ja)return un;ja=1;var e=Lc();return un=function(r){return e(r)||r===0?r:r<0?-1:1},un}var hn,Ma;function Bc(){return Ma||(Ma=1,hn=Object.getOwnPropertyDescriptor),hn}var dn,La;function ar(){if(La)return dn;La=1;var e=Bc();if(e)try{e([],"length")}catch{e=null}return dn=e,dn}var pn,Na;function or(){if(Na)return pn;Na=1;var e=Object.defineProperty||!1;if(e)try{e({},"a",{value:1})}catch{e=!1}return pn=e,pn}var yn,Ba;function Uc(){return Ba||(Ba=1,yn=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}),yn}var vn,Ua;function $c(){if(Ua)return vn;Ua=1;var e=typeof Symbol<"u"&&Symbol,t=Uc();return vn=function(){return typeof e!="function"||typeof Symbol!="function"||typeof e("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:t()},vn}var gn,$a;function za(){return $a||($a=1,gn=typeof Reflect<"u"&&Reflect.getPrototypeOf||null),gn}var wn,Za;function Ha(){if(Za)return wn;Za=1;var e=_a();return wn=e.getPrototypeOf||null,wn}var _n,qa;function zc(){if(qa)return _n;qa=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 _n=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 b=f.apply(this,i(l,arguments));return Object(b)===b?b: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 w=function(){};w.prototype=f.prototype,d.prototype=new w,w.prototype=null}return d},_n}var bn,Ka;function Ot(){if(Ka)return bn;Ka=1;var e=zc();return bn=Function.prototype.bind||e,bn}var mn,Wa;function xn(){return Wa||(Wa=1,mn=Function.prototype.call),mn}var En,Va;function Sn(){return Va||(Va=1,En=Function.prototype.apply),En}var An,Ga;function Zc(){return Ga||(Ga=1,An=typeof Reflect<"u"&&Reflect&&Reflect.apply),An}var kn,Ya;function Ja(){if(Ya)return kn;Ya=1;var e=Ot(),t=Sn(),r=xn(),n=Zc();return kn=n||e.call(r,t),kn}var Rn,Xa;function On(){if(Xa)return Rn;Xa=1;var e=Ot(),t=ir(),r=xn(),n=Ja();return Rn=function(a){if(a.length<1||typeof a[0]!="function")throw new t("a function is required");return n(e,r,a)},Rn}var Tn,Qa;function Hc(){if(Qa)return Tn;Qa=1;var e=On(),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 Tn=n&&typeof n.get=="function"?e([n.get]):typeof a=="function"?function(s){return a(s==null?s:i(s))}:!1,Tn}var In,eo;function qc(){if(eo)return In;eo=1;var e=za(),t=Ha(),r=Hc();return In=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,In}var Pn,to;function Kc(){if(to)return Pn;to=1;var e=Function.prototype.call,t=Object.prototype.hasOwnProperty,r=Ot();return Pn=r.call(e,t),Pn}var Fn,ro;function no(){if(ro)return Fn;ro=1;var e,t=_a(),r=kc(),n=Rc(),i=Oc(),a=Tc(),o=Aa(),s=ir(),c=Ic(),f=Pc(),l=Fc(),d=Cc(),h=Dc(),u=jc(),p=Mc(),v=Nc(),w=Function,b=function(ce){try{return w('"use strict"; return ('+ce+").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=$c()(),_=qc(),x=Ha(),O=za(),k=Sn(),C=xn(),Z={},V=typeof Uint8Array>"u"||!_?e:_(Uint8Array),re={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?e:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?e:ArrayBuffer,"%ArrayIteratorPrototype%":T&&_?_([][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%":w,"%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&&_?_(_([][Symbol.iterator]())):e,"%JSON%":typeof JSON=="object"?JSON:e,"%Map%":typeof Map>"u"?e:Map,"%MapIteratorPrototype%":typeof Map>"u"||!T||!_?e:_(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||!_?e:_(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?e:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":T&&_?_(""[Symbol.iterator]()):e,"%Symbol%":T?Symbol:e,"%SyntaxError%":o,"%ThrowTypeError%":A,"%TypedArray%":V,"%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(_)try{null.error}catch(ce){var Ue=_(_(ce));re["%Error.prototype%"]=Ue}var Y=function ce(M){var K;if(M==="%AsyncFunction%")K=b("async function () {}");else if(M==="%GeneratorFunction%")K=b("function* () {}");else if(M==="%AsyncGeneratorFunction%")K=b("async function* () {}");else if(M==="%AsyncGenerator%"){var N=ce("%AsyncGeneratorFunction%");N&&(K=N.prototype)}else if(M==="%AsyncIteratorPrototype%"){var G=ce("%AsyncGenerator%");G&&_&&(K=_(G.prototype))}return re[M]=K,K},fe={__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"]},$e=Ot(),ze=Kc(),Et=$e.call(C,Array.prototype.concat),Df=$e.call(k,Array.prototype.splice),Mi=$e.call(C,String.prototype.replace),Gt=$e.call(C,String.prototype.slice),jf=$e.call(C,RegExp.prototype.exec),Mf=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Lf=/\\(\\)?/g,Nf=function(M){var K=Gt(M,0,1),N=Gt(M,-1);if(K==="%"&&N!=="%")throw new o("invalid intrinsic syntax, expected closing `%`");if(N==="%"&&K!=="%")throw new o("invalid intrinsic syntax, expected opening `%`");var G=[];return Mi(M,Mf,function(le,ft,J,Yt){G[G.length]=J?Mi(Yt,Lf,"$1"):ft||le}),G},Bf=function(M,K){var N=M,G;if(ze(fe,N)&&(G=fe[N],N="%"+G[0]+"%"),ze(re,N)){var le=re[N];if(le===Z&&(le=Y(N)),typeof le>"u"&&!K)throw new s("intrinsic "+M+" exists, but is not available. Please file an issue!");return{alias:G,name:N,value:le}}throw new o("intrinsic "+M+" does not exist!")};return Fn=function(M,K){if(typeof M!="string"||M.length===0)throw new s("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof K!="boolean")throw new s('"allowMissing" argument must be a boolean');if(jf(/^%?[^%]*%?$/,M)===null)throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var N=Nf(M),G=N.length>0?N[0]:"",le=Bf("%"+G+"%",K),ft=le.name,J=le.value,Yt=!1,Dr=le.alias;Dr&&(G=Dr[0],Df(N,Et([0,1],Dr)));for(var Jt=1,St=!0;Jt<N.length;Jt+=1){var ge=N[Jt],Xt=Gt(ge,0,1),Qt=Gt(ge,-1);if((Xt==='"'||Xt==="'"||Xt==="`"||Qt==='"'||Qt==="'"||Qt==="`")&&Xt!==Qt)throw new o("property names with quotes must have matching quotes");if((ge==="constructor"||!St)&&(Yt=!0),G+="."+ge,ft="%"+G+"%",ze(re,ft))J=re[ft];else if(J!=null){if(!(ge in J)){if(!K)throw new s("base intrinsic for "+M+" exists, but the property is not available.");return}if(E&&Jt+1>=N.length){var er=E(J,ge);St=!!er,St&&"get"in er&&!("originalValue"in er.get)?J=er.get:J=J[ge]}else St=ze(J,ge),J=J[ge];St&&!Yt&&(re[ft]=J)}}return J},Fn}var Cn,io;function Wc(){if(io)return Cn;io=1;var e=or(),t=Aa(),r=ir(),n=ar();return Cn=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.")},Cn}var Dn,ao;function Vc(){if(ao)return Dn;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}},Dn=t,Dn}var jn,oo;function Gc(){if(oo)return jn;oo=1;var e=no(),t=Wc(),r=Vc()(),n=ar(),i=ir(),a=e("%Math.floor%");return jn=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},jn}var Mn,so;function Yc(){if(so)return Mn;so=1;var e=Ot(),t=Sn(),r=Ja();return Mn=function(){return r(e,t,arguments)},Mn}var fo;function Jc(){return fo||(fo=1,function(e){var t=Gc(),r=or(),n=On(),i=Yc();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 Ln,co;function Xc(){if(co)return Ln;co=1;var e=no(),t=On(),r=t([e("%String.prototype.indexOf%")]);return Ln=function(i,a){var o=e(i,!!a);return typeof o=="function"&&r(i,".prototype.")>-1?t([o]):o},Ln}var Nn,lo;function Qc(){if(lo)return Nn;lo=1;var e=(typeof JSON<"u"?JSON:xc()).stringify,t=Ec(),r=Ac(),n=Jc(),i=Xc(),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 Nn=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,w=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 b=!!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(_,x){return E({key:_,value:A[_]},{key:x,value:A[x]},T?{__proto__:null,get:T}:void 0)}},g=[];return function A(T,_,x,O){var k=p?`
|
|
15
|
-
`+f(O,p):"",C=p?": ":":";if(
|
|
14
|
+
`+u+"}":"{"+p.join(",")+"}",t=u,d}}return Zr=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})},Zr}var ha;function xc(){return ha||(ha=1,nr.parse=bc(),nr.stringify=mc()),nr}var Hr,da;function Ec(){if(da)return Hr;da=1;var e={}.toString;return Hr=Array.isArray||function(t){return e.call(t)=="[object Array]"},Hr}var qr,pa;function ya(){if(pa)return qr;pa=1;var e=Object.prototype.toString;return qr=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},qr}var Kr,ga;function Sc(){if(ga)return Kr;ga=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",g=r.call(u)==="[object Function]",w=n(u),_=p&&r.call(u)==="[object String]",x=[];if(!p&&!g&&!w)throw new TypeError("Object.keys called on a non-object");var A=o&&g;if(_&&u.length>0&&!t.call(u,0))for(var v=0;v<u.length;++v)x.push(String(v));if(w&&u.length>0)for(var S=0;S<u.length;++S)x.push(String(S));else for(var T in u)!(A&&T==="prototype")&&t.call(u,T)&&x.push(String(T));if(a)for(var b=d(u),E=0;E<s.length;++E)!(b&&s[E]==="constructor")&&t.call(u,s[E])&&x.push(s[E]);return x}}return Kr=e,Kr}var Wr,va;function Ac(){if(va)return Wr;va=1;var e=Array.prototype.slice,t=ya(),r=Object.keys,n=r?function(o){return r(o)}:Sc(),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},Wr=n,Wr}var Vr={exports:{}},Gr,wa;function _a(){return wa||(wa=1,Gr=Object),Gr}var Yr,ba;function kc(){return ba||(ba=1,Yr=Error),Yr}var Jr,ma;function Rc(){return ma||(ma=1,Jr=EvalError),Jr}var Xr,xa;function Oc(){return xa||(xa=1,Xr=RangeError),Xr}var Qr,Ea;function Tc(){return Ea||(Ea=1,Qr=ReferenceError),Qr}var en,Sa;function Aa(){return Sa||(Sa=1,en=SyntaxError),en}var tn,ka;function ir(){return ka||(ka=1,tn=TypeError),tn}var rn,Ra;function Ic(){return Ra||(Ra=1,rn=URIError),rn}var nn,Oa;function Pc(){return Oa||(Oa=1,nn=Math.abs),nn}var an,Ta;function Fc(){return Ta||(Ta=1,an=Math.floor),an}var on,Ia;function Cc(){return Ia||(Ia=1,on=Math.max),on}var sn,Pa;function Dc(){return Pa||(Pa=1,sn=Math.min),sn}var fn,Fa;function jc(){return Fa||(Fa=1,fn=Math.pow),fn}var cn,Ca;function Mc(){return Ca||(Ca=1,cn=Math.round),cn}var ln,Da;function Lc(){return Da||(Da=1,ln=Number.isNaN||function(t){return t!==t}),ln}var un,ja;function Nc(){if(ja)return un;ja=1;var e=Lc();return un=function(r){return e(r)||r===0?r:r<0?-1:1},un}var hn,Ma;function $c(){return Ma||(Ma=1,hn=Object.getOwnPropertyDescriptor),hn}var dn,La;function ar(){if(La)return dn;La=1;var e=$c();if(e)try{e([],"length")}catch{e=null}return dn=e,dn}var pn,Na;function or(){if(Na)return pn;Na=1;var e=Object.defineProperty||!1;if(e)try{e({},"a",{value:1})}catch{e=!1}return pn=e,pn}var yn,$a;function Bc(){return $a||($a=1,yn=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}),yn}var gn,Ba;function Uc(){if(Ba)return gn;Ba=1;var e=typeof Symbol<"u"&&Symbol,t=Bc();return gn=function(){return typeof e!="function"||typeof Symbol!="function"||typeof e("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:t()},gn}var vn,Ua;function za(){return Ua||(Ua=1,vn=typeof Reflect<"u"&&Reflect.getPrototypeOf||null),vn}var wn,Za;function Ha(){if(Za)return wn;Za=1;var e=_a();return wn=e.getPrototypeOf||null,wn}var _n,qa;function zc(){if(qa)return _n;qa=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 _n=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 _=f.apply(this,i(l,arguments));return Object(_)===_?_:this}return f.apply(c,i(l,arguments))},u=r(0,f.length-l.length),p=[],g=0;g<u;g++)p[g]="$"+g;if(d=Function("binder","return function ("+o(p,",")+"){ return binder.apply(this,arguments); }")(h),f.prototype){var w=function(){};w.prototype=f.prototype,d.prototype=new w,w.prototype=null}return d},_n}var bn,Ka;function Tt(){if(Ka)return bn;Ka=1;var e=zc();return bn=Function.prototype.bind||e,bn}var mn,Wa;function xn(){return Wa||(Wa=1,mn=Function.prototype.call),mn}var En,Va;function Sn(){return Va||(Va=1,En=Function.prototype.apply),En}var An,Ga;function Zc(){return Ga||(Ga=1,An=typeof Reflect<"u"&&Reflect&&Reflect.apply),An}var kn,Ya;function Ja(){if(Ya)return kn;Ya=1;var e=Tt(),t=Sn(),r=xn(),n=Zc();return kn=n||e.call(r,t),kn}var Rn,Xa;function On(){if(Xa)return Rn;Xa=1;var e=Tt(),t=ir(),r=xn(),n=Ja();return Rn=function(a){if(a.length<1||typeof a[0]!="function")throw new t("a function is required");return n(e,r,a)},Rn}var Tn,Qa;function Hc(){if(Qa)return Tn;Qa=1;var e=On(),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 Tn=n&&typeof n.get=="function"?e([n.get]):typeof a=="function"?function(s){return a(s==null?s:i(s))}:!1,Tn}var In,eo;function qc(){if(eo)return In;eo=1;var e=za(),t=Ha(),r=Hc();return In=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,In}var Pn,to;function Kc(){if(to)return Pn;to=1;var e=Function.prototype.call,t=Object.prototype.hasOwnProperty,r=Tt();return Pn=r.call(e,t),Pn}var Fn,ro;function no(){if(ro)return Fn;ro=1;var e,t=_a(),r=kc(),n=Rc(),i=Oc(),a=Tc(),o=Aa(),s=ir(),c=Ic(),f=Pc(),l=Fc(),d=Cc(),h=Dc(),u=jc(),p=Mc(),g=Nc(),w=Function,_=function(ce){try{return w('"use strict"; return ('+ce+").constructor;")()}catch{}},x=ar(),A=or(),v=function(){throw new s},S=x?function(){try{return arguments.callee,v}catch{try{return x(arguments,"callee").get}catch{return v}}}():v,T=Uc()(),b=qc(),E=Ha(),O=za(),k=Sn(),C=xn(),Z={},V=typeof Uint8Array>"u"||!b?e:b(Uint8Array),re={__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%":w,"%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%":x,"%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%":S,"%TypedArray%":V,"%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%":A,"%Object.getPrototypeOf%":E,"%Math.abs%":f,"%Math.floor%":l,"%Math.max%":d,"%Math.min%":h,"%Math.pow%":u,"%Math.round%":p,"%Math.sign%":g,"%Reflect.getPrototypeOf%":O};if(b)try{null.error}catch(ce){var Be=b(b(ce));re["%Error.prototype%"]=Be}var Y=function ce(M){var K;if(M==="%AsyncFunction%")K=_("async function () {}");else if(M==="%GeneratorFunction%")K=_("function* () {}");else if(M==="%AsyncGeneratorFunction%")K=_("async function* () {}");else if(M==="%AsyncGenerator%"){var N=ce("%AsyncGeneratorFunction%");N&&(K=N.prototype)}else if(M==="%AsyncIteratorPrototype%"){var G=ce("%AsyncGenerator%");G&&b&&(K=b(G.prototype))}return re[M]=K,K},fe={__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=Tt(),ze=Kc(),St=Ue.call(C,Array.prototype.concat),Df=Ue.call(k,Array.prototype.splice),Mi=Ue.call(C,String.prototype.replace),Gt=Ue.call(C,String.prototype.slice),jf=Ue.call(C,RegExp.prototype.exec),Mf=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Lf=/\\(\\)?/g,Nf=function(M){var K=Gt(M,0,1),N=Gt(M,-1);if(K==="%"&&N!=="%")throw new o("invalid intrinsic syntax, expected closing `%`");if(N==="%"&&K!=="%")throw new o("invalid intrinsic syntax, expected opening `%`");var G=[];return Mi(M,Mf,function(le,ct,J,Yt){G[G.length]=J?Mi(Yt,Lf,"$1"):ct||le}),G},$f=function(M,K){var N=M,G;if(ze(fe,N)&&(G=fe[N],N="%"+G[0]+"%"),ze(re,N)){var le=re[N];if(le===Z&&(le=Y(N)),typeof le>"u"&&!K)throw new s("intrinsic "+M+" exists, but is not available. Please file an issue!");return{alias:G,name:N,value:le}}throw new o("intrinsic "+M+" does not exist!")};return Fn=function(M,K){if(typeof M!="string"||M.length===0)throw new s("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof K!="boolean")throw new s('"allowMissing" argument must be a boolean');if(jf(/^%?[^%]*%?$/,M)===null)throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var N=Nf(M),G=N.length>0?N[0]:"",le=$f("%"+G+"%",K),ct=le.name,J=le.value,Yt=!1,Dr=le.alias;Dr&&(G=Dr[0],Df(N,St([0,1],Dr)));for(var Jt=1,At=!0;Jt<N.length;Jt+=1){var we=N[Jt],Xt=Gt(we,0,1),Qt=Gt(we,-1);if((Xt==='"'||Xt==="'"||Xt==="`"||Qt==='"'||Qt==="'"||Qt==="`")&&Xt!==Qt)throw new o("property names with quotes must have matching quotes");if((we==="constructor"||!At)&&(Yt=!0),G+="."+we,ct="%"+G+"%",ze(re,ct))J=re[ct];else if(J!=null){if(!(we in J)){if(!K)throw new s("base intrinsic for "+M+" exists, but the property is not available.");return}if(x&&Jt+1>=N.length){var er=x(J,we);At=!!er,At&&"get"in er&&!("originalValue"in er.get)?J=er.get:J=J[we]}else At=ze(J,we),J=J[we];At&&!Yt&&(re[ct]=J)}}return J},Fn}var Cn,io;function Wc(){if(io)return Cn;io=1;var e=or(),t=Aa(),r=ir(),n=ar();return Cn=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.")},Cn}var Dn,ao;function Vc(){if(ao)return Dn;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}},Dn=t,Dn}var jn,oo;function Gc(){if(oo)return jn;oo=1;var e=no(),t=Wc(),r=Vc()(),n=ar(),i=ir(),a=e("%Math.floor%");return jn=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},jn}var Mn,so;function Yc(){if(so)return Mn;so=1;var e=Tt(),t=Sn(),r=Ja();return Mn=function(){return r(e,t,arguments)},Mn}var fo;function Jc(){return fo||(fo=1,function(e){var t=Gc(),r=or(),n=On(),i=Yc();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 Ln,co;function Xc(){if(co)return Ln;co=1;var e=no(),t=On(),r=t([e("%String.prototype.indexOf%")]);return Ln=function(i,a){var o=e(i,!!a);return typeof o=="function"&&r(i,".prototype.")>-1?t([o]):o},Ln}var Nn,lo;function Qc(){if(lo)return Nn;lo=1;var e=(typeof JSON<"u"?JSON:xc()).stringify,t=Ec(),r=Ac(),n=Jc(),i=Xc(),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="",g=0;g<h;g+=1)p+=u;return p},l=function(d,h,u){return u};return Nn=function(h){var u=arguments.length>1?arguments[1]:void 0,p=u&&u.space||"";typeof p=="number"&&(p=f(p," "));var g=!!u&&typeof u.cycles=="boolean"&&u.cycles,w=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 _=!!u&&u.collapseEmpty,x=typeof u=="function"?u:u&&u.cmp,A=x&&function(S){var T=x.length>2&&function(E){return S[E]};return function(b,E){return x({key:b,value:S[b]},{key:E,value:S[E]},T?{__proto__:null,get:T}:void 0)}},v=[];return function S(T,b,E,O){var k=p?`
|
|
15
|
+
`+f(O,p):"",C=p?": ":":";if(E&&E.toJSON&&typeof E.toJSON=="function"&&(E=E.toJSON()),E=w(T,b,E),E!==void 0){if(typeof E!="object"||E===null)return e(E);var Z=function(ze,St){return _&&ze.length===0?St:(St==="[]"?"[":"{")+a(ze,",")+k+(St==="[]"?"]":"}")};if(t(E)){for(var Y=[],V=0;V<E.length;V++){var re=S(E,V,E[V],O+1)||e(null);Y[Y.length]=k+p+re}return Z(Y,"[]")}if(o(v,E)!==-1){if(g)return e("__cycle__");throw new TypeError("Converting circular structure to JSON")}else v[v.length]=E;for(var Be=c(r(E),A&&A(E)),Y=[],V=0;V<Be.length;V++){var b=Be[V],fe=S(E,b,E[b],O+1);if(fe){var Ue=e(b)+C+fe;Y[Y.length]=k+p+Ue}}return s(v,o(v,E),1),Z(Y,"{}")}}({"":h},"",h,0)},Nn}var el=Qc(),uo=_c(el);async function $n(e,t,r){if(!this.passphrase)return t.push({actual:e,type:"encryptionKeyMissing"}),e;try{return await Ur(String(e),this.passphrase)}catch(n){t.push({actual:e,type:"encryptionProblem",error:n})}return e}class ho extends Qf{constructor({options:t,passphrase:r,autoEncrypt:n=!0}={}){super(kt({},{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?$n: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?$n:void 0}),this.alias("secretNumber",{type:"number",custom:this.autoEncrypt?$n: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})=>Ur(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=>Bi(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 ve{constructor(t){const{map:r,name:n,attributes:i,passphrase:a,version:o=1,options:s={}}=t;this.name=n,this.version=o,this.attributes=i||{},this.passphrase=a??"secret",this.options=kt({},this.defaultOptions(),s),this.allNestedObjectsOptional=this.options.allNestedObjectsOptional??!1;const c=this.preprocessAttributesForValidation(this.attributes);if(this.validator=new po({autoEncrypt:!1}).compile(kt({$$async:!0},c)),this.options.generateAutoHooks&&this.generateAutoHooks(),!Ni(r))this.map=r,this.reversedMap=$i(r);else{const f=jr(this.attributes,{safe:!0}),l=Object.keys(f).filter(u=>!u.includes("$$")),d=this.extractObjectKeys(this.attributes),h=[...new Set([...l,...d])];this.reversedMap={...h},this.map=$i(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]=zf([...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=jr(Rt(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}=Bi(t)?JSON.parse(t):t;return o=ve._importAttributes(o),new ve({map:r,name:n,options:i,version:a,attributes:o})}static _importAttributes(t){if(typeof t=="string"){try{const r=JSON.parse(t);if(typeof r=="object"&&r!==null)return ve._importAttributes(r)}catch{}return t}if(Array.isArray(t))return t.map(r=>ve._importAttributes(r));if(typeof t=="object"&&t!==null){const r={};for(const[n,i]of Object.entries(t))r[n]=ve._importAttributes(i);return r}return t}export(){return{version:this.version,name:this.name,options:this.options,attributes:this._exportAttributes(this.attributes),map:this.map}}_exportAttributes(t){if(typeof t=="string")return t;if(Array.isArray(t))return t.map(r=>this._exportAttributes(r));if(typeof t=="object"&&t!==null){const r={};for(const[n,i]of Object.entries(t))r[n]=this._exportAttributes(i);return r}return t}async applyHooksActions(t,r){for(const[n,i]of Object.entries(this.options.hooks[r]))for(const a of i){const o=Zf(t,n);o!==void 0&&typeof yo[a]=="function"&&Hf(t,n,await yo[a](o,{passphrase:this.passphrase,separator:this.options.arraySeparator}))}}async validate(t,{mutateOriginal:r=!1}={}){let n=r?t:Rt(t);return await this.validator(n)}async mapper(t){const r=jr(Rt(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=Rt(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"),Xf(n)}preprocessAttributesForValidation(t){const r={};for(const[n,i]of Object.entries(t))if(typeof i=="object"&&i!==null&&!Array.isArray(i)){const a=i.$$type&&i.$$type.includes("required"),o=i.$$type&&i.$$type.includes("optional"),s={type:"object",properties:this.preprocessAttributesForValidation(i),strict:!1};a||(o||this.allNestedObjectsOptional)&&(s.optional=!0),r[n]=s}else r[n]=i;return r}}var ut=typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{},de=[],ne=[],tl=typeof Uint8Array<"u"?Uint8Array:Array,Bn=!1;function go(){Bn=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,r=e.length;t<r;++t)de[t]=e[t],ne[e.charCodeAt(t)]=t;ne[45]=62,ne[95]=63}function rl(e){Bn||go();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 tl(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=ne[e.charCodeAt(t)]<<18|ne[e.charCodeAt(t+1)]<<12|ne[e.charCodeAt(t+2)]<<6|ne[e.charCodeAt(t+3)],o[c++]=i>>16&255,o[c++]=i>>8&255,o[c++]=i&255;return a===2?(i=ne[e.charCodeAt(t)]<<2|ne[e.charCodeAt(t+1)]>>4,o[c++]=i&255):a===1&&(i=ne[e.charCodeAt(t)]<<10|ne[e.charCodeAt(t+1)]<<4|ne[e.charCodeAt(t+2)]>>2,o[c++]=i>>8&255,o[c++]=i&255),o}function nl(e){return de[e>>18&63]+de[e>>12&63]+de[e>>6&63]+de[e&63]}function il(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(nl(n));return i.join("")}function vo(e){Bn||go();for(var t,r=e.length,n=r%3,i="",a=[],o=16383,s=0,c=r-n;s<c;s+=o)a.push(il(e,s,s+o>c?c:s+o));return n===1?(t=e[r-1],i+=de[t>>2],i+=de[t<<4&63],i+="=="):n===2&&(t=(e[r-2]<<8)+e[r-1],i+=de[t>>10],i+=de[t>>4&63],i+=de[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 wo(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,g=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]|=g*128}var al={}.toString,_o=Array.isArray||function(e){return al.call(e)=="[object Array]"};/*!
|
|
16
16
|
* The buffer module from node.js, for the browser.
|
|
17
17
|
*
|
|
18
18
|
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
|
|
19
19
|
* @license MIT
|
|
20
|
-
*/var ol=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 $n(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?cl(e,t,r,n):typeof t=="string"?fl(e,t,r):ll(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 sl(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 sl(null,e,t,r)};function $n(e,t){if(mo(t),e=_e(e,t<0?0:Zn(t)|0),!y.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}y.allocUnsafe=function(e){return $n(null,e)},y.allocUnsafeSlow=function(e){return $n(null,e)};function fl(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:Zn(t.length)|0;e=_e(e,r);for(var n=0;n<r;n+=1)e[n]=t[n]&255;return e}function cl(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 ll(e,t){if(pe(t)){var r=Zn(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"||Tl(t.length)?_e(e,0):zn(e,t);if(t.type==="Buffer"&&_o(t.data))return zn(e,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function Zn(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=Il;function pe(e){return!!(e!=null&&e._isBuffer)}y.compare=function(t,r){if(!pe(t)||!pe(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(!_o(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(!pe(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(pe(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 ul(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 ml(this,t,r);case"utf8":case"utf-8":return ko(this,t,r);case"ascii":return _l(this,t,r);case"latin1":case"binary":return bl(this,t,r);case"base64":return gl(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return xl(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):ul.apply(this,arguments)},y.prototype.equals=function(t){if(!pe(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=ol;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(!pe(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)),pe(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 hl(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 dl(e,t,r,n){return hr(ur(t,e.length-r),e,r,n)}function Ao(e,t,r,n){return hr(Rl(t),e,r,n)}function pl(e,t,r,n){return Ao(e,t,r,n)}function yl(e,t,r,n){return hr(Po(t),e,r,n)}function vl(e,t,r,n){return hr(Ol(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 hl(this,t,r,n);case"utf8":case"utf-8":return dl(this,t,r,n);case"ascii":return Ao(this,t,r,n);case"latin1":case"binary":return pl(this,t,r,n);case"base64":return yl(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return vl(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 gl(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 wl(n)}var Ro=4096;function wl(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 _l(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 bl(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 ml(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+=kl(e[a]);return i}function xl(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 $(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||$(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||$(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||$(t,1,this.length),this[t]},y.prototype.readUInt16LE=function(t,r){return r||$(t,2,this.length),this[t]|this[t+1]<<8},y.prototype.readUInt16BE=function(t,r){return r||$(t,2,this.length),this[t]<<8|this[t+1]},y.prototype.readUInt32LE=function(t,r){return r||$(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||$(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||$(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||$(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||$(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]},y.prototype.readInt16LE=function(t,r){r||$(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||$(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||$(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||$(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||$(t,4,this.length),sr(this,t,!0,23,4)},y.prototype.readFloatBE=function(t,r){return r||$(t,4,this.length),sr(this,t,!1,23,4)},y.prototype.readDoubleLE=function(t,r){return r||$(t,8,this.length),sr(this,t,!0,52,8)},y.prototype.readDoubleBE=function(t,r){return r||$(t,8,this.length),sr(this,t,!1,52,8)};function X(e,t,r,n,i,a){if(!pe(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;X(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;X(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||X(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||X(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||X(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||X(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||X(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);X(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);X(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||X(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||X(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||X(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||X(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||X(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),wo(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),wo(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=pe(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 El=/[^+\/0-9A-Za-z-_]/g;function Sl(e){if(e=Al(e).replace(El,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function Al(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function kl(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 Rl(e){for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function Ol(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 rl(Sl(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 Tl(e){return e!==e}function Il(e){return e!=null&&(!!e._isBuffer||Fo(e)||Pl(e))}function Fo(e){return!!e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function Pl(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 jo(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 Fl(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 be=[],ut=!1,He,dr=-1;function Cl(){!ut||!He||(ut=!1,He.length?be=He.concat(be):dr=-1,be.length&&Mo())}function Mo(){if(!ut){var e=jo(Cl);ut=!0;for(var t=be.length;t;){for(He=be,be=[];++dr<t;)He&&He[dr].run();dr=-1,t=be.length}He=null,ut=!1,Fl(e)}}function ee(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];be.push(new Lo(e,t)),be.length===1&&!ut&&jo(Mo)}function Lo(e,t){this.fun=e,this.array=t}Lo.prototype.run=function(){this.fun.apply(null,this.array)};var Dl="browser",jl="browser",Ml=!0,Ll={},Nl=[],Bl="",Ul={},$l={},zl={};function qe(){}var Zl=qe,Hl=qe,ql=qe,Kl=qe,Wl=qe,Vl=qe,Gl=qe;function Yl(e){throw new Error("process.binding is not supported")}function Jl(){return"/"}function Xl(e){throw new Error("process.chdir is not supported")}function Ql(){return 0}var ht=lt.performance||{},eu=ht.now||ht.mozNow||ht.msNow||ht.oNow||ht.webkitNow||function(){return new Date().getTime()};function tu(e){var t=eu.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 ru=new Date;function nu(){var e=new Date,t=e-ru;return t/1e3}var me={nextTick:ee,title:Dl,browser:Ml,env:Ll,argv:Nl,version:Bl,versions:Ul,on:Zl,addListener:Hl,once:ql,off:Kl,removeListener:Wl,removeAllListeners:Vl,emit:Gl,binding:Yl,cwd:Jl,chdir:Xl,umask:Ql,hrtime:tu,platform:jl,release:$l,config:zl,uptime:nu},W;typeof Object.create=="function"?W=function(t,r){t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:W=function(t,r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t};var iu=/%[sdj%]/g;function au(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(iu,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])Wn(o)||!Tt(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(me.noDeprecation===!0)return e;var r=!1;function n(){if(!r){if(me.throwDeprecation)throw new Error(t);me.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,arguments)}return n}var pr={},Hn;function ou(e){if(Ie(Hn)&&(Hn=me.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=au.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:fu};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),Bo(t)?r.showHidden=t:t&&yu(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=su),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 su(e,t){var r=Te.styles[t];return r?"\x1B["+Te.colors[r][0]+"m"+e+"\x1B["+Te.colors[r][1]+"m":e}function fu(e,t){return e}function cu(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function yr(e,t,r){if(e.customInspect&&t&&Jn(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=lu(e,t);if(i)return i;var a=Object.keys(t),o=cu(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),Yn(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return qn(t);if(a.length===0){if(Jn(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(Gn(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Uo(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Yn(t))return qn(t)}var c="",f=!1,l=["{","}"];if(du(t)&&(f=!0,l=["[","]"]),Jn(t)){var d=t.name?": "+t.name:"";c=" [Function"+d+"]"}if(Gn(t)&&(c=" "+RegExp.prototype.toString.call(t)),Uo(t)&&(c=" "+Date.prototype.toUTCString.call(t)),Yn(t)&&(c=" "+qn(t)),a.length===0&&(!f||t.length==0))return l[0]+c+l[1];if(r<0)return Gn(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var h;return f?h=uu(e,t,r,o,a):h=a.map(function(u){return Kn(e,t,r,o,u,f)}),e.seen.pop(),hu(h,c,l)}function lu(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(pu(t))return e.stylize(""+t,"number");if(Bo(t))return e.stylize(""+t,"boolean");if(Wn(t))return e.stylize("null","null")}function qn(e){return"["+Error.prototype.toString.call(e)+"]"}function uu(e,t,r,n,i){for(var a=[],o=0,s=t.length;o<s;++o)$o(t,String(o))?a.push(Kn(e,t,r,n,String(o),!0)):a.push("");return i.forEach(function(c){c.match(/^\d+$/)||a.push(Kn(e,t,r,n,c,!0))}),a}function Kn(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?(Wn(r)?s=yr(e,c.value,null):s=yr(e,c.value,r-1),s.indexOf(`
|
|
20
|
+
*/var ol=50;y.TYPED_ARRAY_SUPPORT=ut.TYPED_ARRAY_SUPPORT!==void 0?ut.TYPED_ARRAY_SUPPORT:!0,fr();function fr(){return y.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function be(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 Un(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?cl(e,t,r,n):typeof t=="string"?fl(e,t,r):ll(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 sl(e,t,r,n){return mo(t),t<=0?be(e,t):r!==void 0?typeof n=="string"?be(e,t).fill(r,n):be(e,t).fill(r):be(e,t)}y.alloc=function(e,t,r){return sl(null,e,t,r)};function Un(e,t){if(mo(t),e=be(e,t<0?0:Zn(t)|0),!y.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}y.allocUnsafe=function(e){return Un(null,e)},y.allocUnsafeSlow=function(e){return Un(null,e)};function fl(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=be(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:Zn(t.length)|0;e=be(e,r);for(var n=0;n<r;n+=1)e[n]=t[n]&255;return e}function cl(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 ll(e,t){if(pe(t)){var r=Zn(t.length)|0;return e=be(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"||Tl(t.length)?be(e,0):zn(e,t);if(t.type==="Buffer"&&_o(t.data))return zn(e,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function Zn(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=Il;function pe(e){return!!(e!=null&&e._isBuffer)}y.compare=function(t,r){if(!pe(t)||!pe(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(!_o(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(!pe(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(pe(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 ul(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 ml(this,t,r);case"utf8":case"utf-8":return ko(this,t,r);case"ascii":return _l(this,t,r);case"latin1":case"binary":return bl(this,t,r);case"base64":return vl(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return xl(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):ul.apply(this,arguments)},y.prototype.equals=function(t){if(!pe(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=ol;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(!pe(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)),pe(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 hl(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 dl(e,t,r,n){return hr(ur(t,e.length-r),e,r,n)}function Ao(e,t,r,n){return hr(Rl(t),e,r,n)}function pl(e,t,r,n){return Ao(e,t,r,n)}function yl(e,t,r,n){return hr(Po(t),e,r,n)}function gl(e,t,r,n){return hr(Ol(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 hl(this,t,r,n);case"utf8":case"utf-8":return dl(this,t,r,n);case"ascii":return Ao(this,t,r,n);case"latin1":case"binary":return pl(this,t,r,n);case"base64":return yl(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return gl(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 vl(e,t,r){return t===0&&r===e.length?vo(e):vo(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 wl(n)}var Ro=4096;function wl(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 _l(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 bl(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 ml(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+=kl(e[a]);return i}function xl(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 X(e,t,r,n,i,a){if(!pe(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;X(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;X(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||X(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||X(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||X(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||X(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||X(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);X(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);X(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||X(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||X(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||X(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||X(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||X(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),wo(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),wo(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=pe(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 El=/[^+\/0-9A-Za-z-_]/g;function Sl(e){if(e=Al(e).replace(El,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function Al(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function kl(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 Rl(e){for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function Ol(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 rl(Sl(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 Tl(e){return e!==e}function Il(e){return e!=null&&(!!e._isBuffer||Fo(e)||Pl(e))}function Fo(e){return!!e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function Pl(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 Oe=Co,Te=Do;typeof ut.setTimeout=="function"&&(Oe=setTimeout),typeof ut.clearTimeout=="function"&&(Te=clearTimeout);function jo(e){if(Oe===setTimeout)return setTimeout(e,0);if((Oe===Co||!Oe)&&setTimeout)return Oe=setTimeout,setTimeout(e,0);try{return Oe(e,0)}catch{try{return Oe.call(null,e,0)}catch{return Oe.call(this,e,0)}}}function Fl(e){if(Te===clearTimeout)return clearTimeout(e);if((Te===Do||!Te)&&clearTimeout)return Te=clearTimeout,clearTimeout(e);try{return Te(e)}catch{try{return Te.call(null,e)}catch{return Te.call(this,e)}}}var me=[],ht=!1,He,dr=-1;function Cl(){!ht||!He||(ht=!1,He.length?me=He.concat(me):dr=-1,me.length&&Mo())}function Mo(){if(!ht){var e=jo(Cl);ht=!0;for(var t=me.length;t;){for(He=me,me=[];++dr<t;)He&&He[dr].run();dr=-1,t=me.length}He=null,ht=!1,Fl(e)}}function ee(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];me.push(new Lo(e,t)),me.length===1&&!ht&&jo(Mo)}function Lo(e,t){this.fun=e,this.array=t}Lo.prototype.run=function(){this.fun.apply(null,this.array)};var Dl="browser",jl="browser",Ml=!0,Ll={},Nl=[],$l="",Bl={},Ul={},zl={};function qe(){}var Zl=qe,Hl=qe,ql=qe,Kl=qe,Wl=qe,Vl=qe,Gl=qe;function Yl(e){throw new Error("process.binding is not supported")}function Jl(){return"/"}function Xl(e){throw new Error("process.chdir is not supported")}function Ql(){return 0}var dt=ut.performance||{},eu=dt.now||dt.mozNow||dt.msNow||dt.oNow||dt.webkitNow||function(){return new Date().getTime()};function tu(e){var t=eu.call(dt)*.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 ru=new Date;function nu(){var e=new Date,t=e-ru;return t/1e3}var xe={nextTick:ee,title:Dl,browser:Ml,env:Ll,argv:Nl,version:$l,versions:Bl,on:Zl,addListener:Hl,once:ql,off:Kl,removeListener:Wl,removeAllListeners:Vl,emit:Gl,binding:Yl,cwd:Jl,chdir:Xl,umask:Ql,hrtime:tu,platform:jl,release:Ul,config:zl,uptime:nu},W;typeof Object.create=="function"?W=function(t,r){t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:W=function(t,r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t};var iu=/%[sdj%]/g;function au(e){if(!Vn(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(Ie(arguments[r]));return t.join(" ")}for(var r=1,n=arguments,i=n.length,a=String(e).replace(iu,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])Wn(o)||!It(o)?a+=" "+o:a+=" "+Ie(o);return a}function No(e,t){if(Pe(ut.process))return function(){return No(e,t).apply(this,arguments)};if(xe.noDeprecation===!0)return e;var r=!1;function n(){if(!r){if(xe.throwDeprecation)throw new Error(t);xe.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,arguments)}return n}var pr={},Hn;function ou(e){if(Pe(Hn)&&(Hn=xe.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=au.apply(null,arguments);console.error("%s %d: %s",e,t,r)}}else pr[e]=function(){};return pr[e]}function Ie(e,t){var r={seen:[],stylize:fu};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),$o(t)?r.showHidden=t:t&&yu(r,t),Pe(r.showHidden)&&(r.showHidden=!1),Pe(r.depth)&&(r.depth=2),Pe(r.colors)&&(r.colors=!1),Pe(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=su),yr(r,e,r.depth)}Ie.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]},Ie.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function su(e,t){var r=Ie.styles[t];return r?"\x1B["+Ie.colors[r][0]+"m"+e+"\x1B["+Ie.colors[r][1]+"m":e}function fu(e,t){return e}function cu(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function yr(e,t,r){if(e.customInspect&&t&&Jn(t.inspect)&&t.inspect!==Ie&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return Vn(n)||(n=yr(e,n,r)),n}var i=lu(e,t);if(i)return i;var a=Object.keys(t),o=cu(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),Yn(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return qn(t);if(a.length===0){if(Jn(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(Gn(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Bo(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Yn(t))return qn(t)}var c="",f=!1,l=["{","}"];if(du(t)&&(f=!0,l=["[","]"]),Jn(t)){var d=t.name?": "+t.name:"";c=" [Function"+d+"]"}if(Gn(t)&&(c=" "+RegExp.prototype.toString.call(t)),Bo(t)&&(c=" "+Date.prototype.toUTCString.call(t)),Yn(t)&&(c=" "+qn(t)),a.length===0&&(!f||t.length==0))return l[0]+c+l[1];if(r<0)return Gn(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var h;return f?h=uu(e,t,r,o,a):h=a.map(function(u){return Kn(e,t,r,o,u,f)}),e.seen.pop(),hu(h,c,l)}function lu(e,t){if(Pe(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(pu(t))return e.stylize(""+t,"number");if($o(t))return e.stylize(""+t,"boolean");if(Wn(t))return e.stylize("null","null")}function qn(e){return"["+Error.prototype.toString.call(e)+"]"}function uu(e,t,r,n,i){for(var a=[],o=0,s=t.length;o<s;++o)Uo(t,String(o))?a.push(Kn(e,t,r,n,String(o),!0)):a.push("");return i.forEach(function(c){c.match(/^\d+$/)||a.push(Kn(e,t,r,n,c,!0))}),a}function Kn(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")),Uo(n,i)||(o="["+i+"]"),s||(e.seen.indexOf(c.value)<0?(Wn(r)?s=yr(e,c.value,null):s=yr(e,c.value,r-1),s.indexOf(`
|
|
21
21
|
`)>-1&&(a?s=s.split(`
|
|
22
22
|
`).map(function(f){return" "+f}).join(`
|
|
23
23
|
`).substr(2):s=`
|
|
24
24
|
`+s.split(`
|
|
25
25
|
`).map(function(f){return" "+f}).join(`
|
|
26
|
-
`))):s=e.stylize("[Circular]","special")),
|
|
26
|
+
`))):s=e.stylize("[Circular]","special")),Pe(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 hu(e,t,r){var n=e.reduce(function(i,a){return a.indexOf(`
|
|
27
27
|
`)>=0,i+a.replace(/\u001b\[\d\d?m/g,"").length+1},0);return n>60?r[0]+(t===""?"":t+`
|
|
28
28
|
`)+" "+e.join(`,
|
|
29
|
-
`)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}function du(e){return Array.isArray(e)}function Bo(e){return typeof e=="boolean"}function Wn(e){return e===null}function pu(e){return typeof e=="number"}function Vn(e){return typeof e=="string"}function Ie(e){return e===void 0}function Gn(e){return Tt(e)&&Xn(e)==="[object RegExp]"}function Tt(e){return typeof e=="object"&&e!==null}function Uo(e){return Tt(e)&&Xn(e)==="[object Date]"}function Yn(e){return Tt(e)&&(Xn(e)==="[object Error]"||e instanceof Error)}function Jn(e){return typeof e=="function"}function Xn(e){return Object.prototype.toString.call(e)}function yu(e,t){if(!t||!Tt(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 vu=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 gu(e){if(e&&!vu(e))throw new Error("Unknown encoding: "+e)}function It(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),gu(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=_u;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=bu;break;default:this.write=wu;return}this.charBuffer=new y(6),this.charReceived=0,this.charLength=0}It.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},It.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},It.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 wu(e){return e.toString(this.encoding)}function _u(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function bu(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}L.ReadableState=zo;var F=ou("stream");W(L,R);function mu(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 xu(e,t){return e.listeners(t).length}function zo(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof ie&&(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 It(e.encoding),this.encoding=e.encoding)}function L(e){if(!(this instanceof L))return new L(e);this._readableState=new zo(e,this),this.readable=!0,e&&typeof e.read=="function"&&(this._read=e.read),R.call(this)}L.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)},L.prototype.unshift=function(e){var t=this._readableState;return Zo(this,t,e,"",!0)},L.prototype.isPaused=function(){return this._readableState.flowing===!1};function Zo(e,t,r,n,i){var a=Au(t,r);if(a)e.emit("error",a);else if(r===null)t.reading=!1,ku(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))),Ru(e,t)}else i||(t.reading=!1);return Eu(t)}function Eu(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||e.length===0)}L.prototype.setEncoding=function(e){return this._readableState.decoder=new It(e),this._readableState.encoding=e,this};var Ho=8388608;function Su(e){return e>=Ho?e=Ho:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function qo(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=Su(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}L.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?ei(this):vr(this),null;if(e=qo(e,t),e===0&&t.ended)return t.length===0&&ei(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=qo(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&&ei(this)),i!==null&&this.emit("data",i),i};function Au(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 ku(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?ee(Ko,e):Ko(e))}function Ko(e){F("emit readable"),e.emit("readable"),Qn(e)}function Ru(e,t){t.readingMore||(t.readingMore=!0,ee(Ou,e,t))}function Ou(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}L.prototype._read=function(e){this.emit("error",new Error("not implemented"))},L.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?ee(a):r.once("end",a),e.on("unpipe",o);function o(b){F("onunpipe"),b===r&&l()}function s(){F("onend"),e.end()}var c=Tu(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(b){F("ondata"),d=!1;var E=e.write(b);E===!1&&!d&&((n.pipesCount===1&&n.pipes===e||n.pipesCount>1&&Vo(n.pipes,e)!==-1)&&!f&&(F("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,d=!0),r.pause())}function u(b){F("onerror",b),w(),e.removeListener("error",u),xu(e,"error")===0&&e.emit("error",b)}mu(e,"error",u);function p(){e.removeListener("finish",v),w()}e.once("close",p);function v(){F("onfinish"),e.removeListener("close",p),w()}e.once("finish",v);function w(){F("unpipe"),r.unpipe(e)}return e.emit("pipe",r),n.flowing||(F("pipe resume"),r.resume()),e};function Tu(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,Qn(e))}}L.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=Vo(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)},L.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):ee(Iu,this))}return r},L.prototype.addListener=L.prototype.on;function Iu(e){F("readable nexttick read 0"),e.read(0)}L.prototype.resume=function(){var e=this._readableState;return e.flowing||(F("resume"),e.flowing=!0,Pu(this,e)),this};function Pu(e,t){t.resumeScheduled||(t.resumeScheduled=!0,ee(Fu,e,t))}function Fu(e,t){t.reading||(F("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),Qn(e),t.flowing&&!t.reading&&e.read(0)}L.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 Qn(e){var t=e._readableState;for(F("flow",t.flowing);t.flowing&&e.read()!==null;);}L.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 Lu(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},L._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=Cu(e,t.buffer,t.decoder),r}function Cu(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?Du(e,t):ju(e,t),n}function Du(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 ju(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 ei(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,ee(Mu,t,e))}function Mu(e,t){!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function Lu(e,t){for(var r=0,n=e.length;r<n;r++)t(e[r],r)}function Vo(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}H.WritableState=ti,W(H,R);function Nu(){}function Bu(e,t,r){this.chunk=e,this.encoding=t,this.callback=r,this.next=null}function ti(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 ie&&(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){Ku(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)}ti.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};function H(e){if(!(this instanceof H)&&!(this instanceof ie))return new H(e);this._writableState=new ti(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)}H.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))};function Uu(e,t){var r=new Error("write after end");e.emit("error",r),ee(t,r)}function $u(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),ee(n,a),i=!1),i}H.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=Nu),n.ended?Uu(this,r):$u(this,n,e,r)&&(n.pendingcb++,i=Zu(this,n,e,t,r)),i},H.prototype.cork=function(){var e=this._writableState;e.corked++},H.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.finished&&!e.bufferProcessing&&e.bufferedRequest&&Yo(this,e))},H.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 zu(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t=="string"&&(t=y.from(t,r)),t}function Zu(e,t,r,n,i){r=zu(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 Bu(r,n,i),s?s.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else ri(e,t,!1,a,r,n,i);return o}function ri(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 Hu(e,t,r,n,i){--t.pendingcb,r?ee(i,n):i(n),e._writableState.errorEmitted=!0,e.emit("error",n)}function qu(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function Ku(e,t){var r=e._writableState,n=r.sync,i=r.writecb;if(qu(r),t)Hu(e,r,n,t,i);else{var a=Jo(r);!a&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&Yo(e,r),n?ee(Go,e,r,a,i):Go(e,r,a,i)}}function Go(e,t,r,n){r||Wu(e,t),t.pendingcb--,n(),Qo(e,t)}function Wu(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;ri(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(ri(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}H.prototype._write=function(e,t,r){r(new Error("not implemented"))},H.prototype._writev=null,H.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&&Vu(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 Vu(e,t,r){t.ending=!0,Qo(e,t),r&&(t.finished?ee(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}}W(ie,L);for(var ts=Object.keys(H.prototype),ni=0;ni<ts.length;ni++){var ii=ts[ni];ie.prototype[ii]||(ie.prototype[ii]=H.prototype[ii])}function ie(e){if(!(this instanceof ie))return new ie(e);L.call(this,e),H.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",Gu)}function Gu(){this.allowHalfOpen||this._writableState.ended||ee(Yu,this)}function Yu(e){e.end()}W(te,ie);function Ju(e){this.afterTransform=function(t,r){return Xu(e,t,r)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function Xu(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 te(e){if(!(this instanceof te))return new te(e);ie.call(this,e),this._transformState=new Ju(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)})}te.prototype.push=function(e,t){return this._transformState.needTransform=!1,ie.prototype.push.call(this,e,t)},te.prototype._transform=function(e,t,r){throw new Error("Not implemented")},te.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)}},te.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)}W(Pt,te);function Pt(e){if(!(this instanceof Pt))return new Pt(e);te.call(this,e)}Pt.prototype._transform=function(e,t,r){r(null,e)},W(xe,R),xe.Readable=L,xe.Writable=H,xe.Duplex=ie,xe.Transform=te,xe.PassThrough=Pt,xe.Stream=xe;function xe(){R.call(this)}xe.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 ec({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 te({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 ue.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 H({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().catch(r=>{this.emit("error",r)}),!0}end(){this.ended=!0,this._maybeWrite().catch(t=>{this.emit("error",t)})}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 ue.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 Ft(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 dt(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 Qu(e){let t=0;for(const r of Object.keys(e))r!=="_v"&&(t+=dt(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 ai(e){const t={};for(const[r,n]of Object.entries(e)){const i=ss(n),a=dt(i);t[r]=a}return t}function We(e){const t=ai(e),r=Object.values(t).reduce((i,a)=>i+a,0),n=Qu(e);return r+n}const B=2048;async function eh({resource:e,data:t,mappedData:r}){const n=We(r);if(n>B)throw new Error(`S3 metadata size exceeds 2KB limit. Current size: ${n} bytes, limit: ${B} bytes`);return{mappedData:r,body:""}}async function th({resource:e,id:t,data:r,mappedData:n}){const i=We(n);if(i>B)throw new Error(`S3 metadata size exceeds 2KB limit. Current size: ${i} bytes, limit: ${B} bytes`);return{mappedData:n,body:""}}async function rh({resource:e,id:t,data:r,mappedData:n}){const i=We(n);if(i>B)throw new Error(`S3 metadata size exceeds 2KB limit. Current size: ${i} bytes, limit: ${B} bytes`);return{mappedData:n,body:""}}async function nh({resource:e,metadata:t,body:r}){return{metadata:t,body:r}}var ih=Object.freeze({__proto__:null,S3_METADATA_LIMIT_BYTES:B,handleGet:nh,handleInsert:eh,handleUpdate:th,handleUpsert:rh});async function ah({resource:e,data:t,mappedData:r}){const n=We(r);return n>B&&e.emit("exceedsLimit",{operation:"insert",totalSize:n,limit:B,excess:n-B,data:t}),{mappedData:r,body:""}}async function oh({resource:e,id:t,data:r,mappedData:n}){const i=We(n);return i>B&&e.emit("exceedsLimit",{operation:"update",id:t,totalSize:i,limit:B,excess:i-B,data:r}),{mappedData:n,body:""}}async function sh({resource:e,id:t,data:r,mappedData:n}){const i=We(n);return i>B&&e.emit("exceedsLimit",{operation:"upsert",id:t,totalSize:i,limit:B,excess:i-B,data:r}),{mappedData:n,body:""}}async function fh({resource:e,metadata:t,body:r}){return{metadata:t,body:r}}var ch=Object.freeze({__proto__:null,handleGet:fh,handleInsert:ah,handleUpdate:oh,handleUpsert:sh});const fs="...",cs=dt(fs);async function lh({resource:e,data:t,mappedData:r}){return oi({resource:e,data:t,mappedData:r})}async function uh({resource:e,id:t,data:r,mappedData:n}){return oi({resource:e,data:r,mappedData:n})}async function hh({resource:e,id:t,data:r,mappedData:n}){return oi({resource:e,data:r,mappedData:n})}async function dh({resource:e,metadata:t,body:r}){return{metadata:t,body:r}}function oi({resource:e,data:t,mappedData:r}){const n=ai(r),i=Object.entries(n).sort(([,s],[,c])=>s-c),a={};let o=0;for(const[s,c]of i){const f=B-o;if(c<=f)a[s]=r[s],o+=c;else if(f>cs){const l=f-cs,d=ss(r[s]);let h="",u=0;for(let p=0;p<d.length;p++){const v=d[p],w=dt(v);if(u+w<=l)h+=v,u+=w;else break}a[s]=h+fs,o=B;break}else break}return{mappedData:a,body:""}}var ph=Object.freeze({__proto__:null,handleGet:dh,handleInsert:lh,handleUpdate:uh,handleUpsert:hh});const gr="$overflow",si="true",yh=dt(gr)+dt(si);async function vh({resource:e,data:t,mappedData:r}){return fi({resource:e,data:t,mappedData:r})}async function gh({resource:e,id:t,data:r,mappedData:n}){return fi({resource:e,data:r,mappedData:n})}async function wh({resource:e,id:t,data:r,mappedData:n}){return fi({resource:e,data:r,mappedData:n})}async function _h({resource:e,metadata:t,body:r}){if(t[gr]===si)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 fi({resource:e,data:t,mappedData:r}){if(We(r)<=B)return{mappedData:r,body:""};const i=B-yh,a=ai(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]=si;const l=Object.keys(c).length>0?JSON.stringify(c):"";return{mappedData:s,body:l}}var bh=Object.freeze({__proto__:null,handleGet:_h,handleInsert:vh,handleUpdate:gh,handleUpsert:wh});const ls={"user-management":ch,"enforce-limits":ih,"data-truncate":ph,"body-overflow":bh};function pt(e){const t=ls[e];if(!t)throw new Error(`Unknown behavior: ${e}. Available behaviors: ${Object.keys(ls).join(", ")}`);return t}const mh="user-management";class ci extends R{constructor({name:t,client:r,version:n="1",options:i={},attributes:a={},parallelism:o=10,passphrase:s="secret",observers:c=[],behavior:f=mh}){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,allNestedObjectsOptional:i.allNestedObjectsOptional??!1,...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 Be({name:t,attributes:this.attributes,passphrase:s,version:this.version,options:{...this.options,allNestedObjectsOptional:this.options.allNestedObjectsOptional??!1}}),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 Be({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:kt(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(!this.fieldExistsInAttributes(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.`)}}fieldExistsInAttributes(t){if(!t.includes("."))return Object.keys(this.attributes||{}).includes(t);const r=t.split(".");let n=this.attributes||{};for(const i of r){if(!n||typeof n!="object"||!(i in n))return!1;n=n[i]}return!0}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 we(`resource=${this.name}`,`v=${this.version}`,`id=${t}`)}getPartitionKey({partitionName:t,id:r,data: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.getNestedFieldValue(n,s),l=this.applyPartitionRule(f,c);if(l==null)return null;a.push(`${s}=${l}`)}return a.length===0?null:we(`resource=${this.name}`,`partition=${t}`,...a,`id=${r}`)}getNestedFieldValue(t,r){if(!r.includes("."))return t[r];const n=r.split(".");let i=t;for(const a of n){if(!i||typeof i!="object"||!(a in i))return;i=i[a]}return i}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 Ft(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 w=await this.client.getObject(u);if(w.ContentLength>0){const b=Buffer.from(await w.Body.transformToByteArray()),E=b.toString();try{JSON.parse(E)}catch{v=b,p=w.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 ue.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=Li(t.map(i=>this.getResourceKey(i)),1e3),{results:n}=await ue.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 list({partition:t=null,partitionValues:r={},limit:n,offset:i=0}={}){if(!t){let p=(await this.listIds({partition:t,partitionValues:r})).slice(i);n&&(p=p.slice(0,n));const{results:v}=await ue.for(p).withConcurrency(this.parallelism).process(async w=>await this.get(w));return this.emit("list",{partition:t,partitionValues:r,count:v.length}),v}const a=this.options.partitions[t];if(!a)throw new Error(`Partition '${t}' not found`);const o=[],s=Object.entries(a.fields).sort(([u],[p])=>u.localeCompare(p));for(const[u,p]of s){const v=r[u];if(v!=null){const w=this.applyPartitionRule(v,p);o.push(`${u}=${w}`)}}let c;o.length>0?c=`resource=${this.name}/partition=${t}/${o.join("/")}`:c=`resource=${this.name}/partition=${t}`;let d=(await this.client.getAllKeys({prefix:c})).map(u=>{const v=u.split("/").find(w=>w.startsWith("id="));return v?v.replace("id=",""):null}).filter(Boolean).slice(i);n&&(d=d.slice(0,n));const{results:h}=await ue.for(d).withConcurrency(this.parallelism).process(async u=>await this.getFromPartition({id:u,partitionName:t,partitionValues:r}));return this.emit("list",{partition:t,partitionValues:r,count:h.length}),h}async getMany(t){const{results:r}=await ue.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 ue.for(t).withConcurrency(this.client.parallelism).process(async n=>await this.get(n));return this.emit("getAll",r.length),r}async page({offset:t=0,size: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=Math.floor(t/r),f=a.slice(t,t+r),d={items:await Promise.all(f.map(h=>this.get(h))),totalItems:o,page:c,pageSize:r,totalPages:s};return this.emit("page",d),d}readable(){return new as({resource:this}).build()}writable(){return new os({resource:this}).build()}async setContent({id:t,buffer:r,contentType:n="application/octet-stream"}){const i=await this.get(t);if(!i)throw new Error(`Resource with id '${t}' not found`);const a={...i,_hasContent:!0,_contentLength:r.length,_mimeType:n};return await this.client.putObject({key:this.getResourceKey(t),metadata:await this.schema.mapper(a),body:r,contentType:n}),this.emit("setContent",{id:t,contentType:n,contentLength:r.length}),a}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 r={...this.schema.export().attributes};this.options.timestamps&&(delete r.createdAt,delete r.updatedAt);const n=uo(r);return`sha256:${Zi("sha256").update(n).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({partitionName:n,id:t.id,data: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({partitionName:i,id:t.id,data: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={},{limit:r=100,offset:n=0,partition:i=null,partitionValues:a={}}={}){if(Object.keys(t).length===0)return await this.list({partition:i,partitionValues:a,limit:r,offset:n});const o=[];let s=n;const c=Math.min(r,50);for(;o.length<r;){const f=await this.list({partition:i,partitionValues:a,limit:c,offset:s});if(f.length===0)break;const l=f.filter(d=>Object.entries(t).every(([h,u])=>d[h]===u));if(o.push(...l),s+=c,f.length<c)break}return o.slice(0,r)}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({partitionName:n,id:t.id,data: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({id:t,partitionName:r,partitionValues: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],[b])=>w.localeCompare(b));for(const[w,b]of o){const E=n[w];if(E!=null){const S=this.applyPartitionRule(E,b);a.push(`${w}=${S}`)}}if(a.length===0)throw new Error(`No partition values provided for partition '${r}'`);const s=we(`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 w=await this.client.getObject(s);u=await Ft(w.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 us extends R{constructor(t){super(),this.version="1",this.s3dbVersion=(()=>{try{return"4.1.6"}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 Ft(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 ci({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,r=void 0){const i={...t.attributes};t.options?.timestamps&&(delete i.createdAt,delete i.updatedAt);const a={attributes:i,behavior:r||t.behavior||"user-management"},o=uo(a);return`sha256:${Zi("sha256").update(o).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=>qf(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:{}}}resourceExists(t){return!!this.resources[t]}resourceExistsWithSameHash({name:t,attributes:r,options:n={},behavior:i="user-management"}){if(!this.resources[t])return{exists:!1,sameHash:!1,hash:null};const a=new ci({name:t,attributes:r,behavior:i,observers:[],client:this.client,version:"temp",options:{cache:this.cache,...n}}),o=this.generateDefinitionHash(a.export(),i),s=this.generateDefinitionHash(this.resources[t].export(),this.resources[t].behavior);return{exists:!0,sameHash:o===s,hash:o,existingHash:s}}async createResourceIfNotExists({name:t,attributes:r,options:n={},behavior:i="user-management"}){const a=!!this.resources[t],o=this.resourceExistsWithSameHash({name:t,attributes:r,options:n,behavior:i});return o.exists&&o.sameHash?{resource:this.resources[t],created:!1,reason:"Resource already exists with same definition hash"}:{resource:await this.createResource({name:t,attributes:r,options:n,behavior:i}),created:!a,reason:a?"Resource updated with new definition":"New resource created"}}async createResource({name:t,attributes:r,options:n={},behavior:i="user-management"}){if(this.resources[t]){const c=this.resources[t];Object.assign(c.options,{cache:this.cache,...n}),i&&(c.behavior=i),c.updateAttributes(r);const f=this.generateDefinitionHash(c.export(),c.behavior),l=this.savedMetadata?.resources?.[t],d=l?.currentVersion||"v0",h=l?.versions?.[d];return(!h||h.hash!==f)&&await this.uploadMetadataFile(),this.emit("s3db.resourceUpdated",t),c}const o=this.savedMetadata?.resources?.[t]?.currentVersion||"v0",s=new ci({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 xh extends us{}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 Eh 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 hs={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 Sh(){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 wr=Uint8Array,ae=Uint16Array,_r=Int32Array,Ah=4,ds=0,ps=1,kh=2;function yt(e){for(var t=e.length;--t>=0;)e[t]=0}var Rh=0,ys=1,Oh=2,Th=3,Ih=258,ui=29,Ct=256,Dt=Ct+1+ui,vt=30,hi=19,vs=2*Dt+1,Ve=15,di=16,Ph=7,pi=256,gs=16,ws=17,_s=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],Fh=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],bs=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Ch=512,Se=new Array((Dt+2)*2);yt(Se);var jt=new Array(vt*2);yt(jt);var Mt=new Array(Ch);yt(Mt);var Lt=new Array(Ih-Th+1);yt(Lt);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 ms,xs,Es;function wi(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function Ss(e){return e<256?Mt[e]:Mt[256+(e>>>7)]}function Nt(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function Q(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 ye(e,t,r){Q(e,r[t*2],r[t*2+1])}function As(e,t){var r=0;do r|=e&1,e>>>=1,r<<=1;while(--t>0);return r>>>1}function Dh(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<=Ve;h++)e.bl_count[h]=0;for(r[e.heap[e.heap_max]*2+1]=0,f=e.heap_max+1;f<vs;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 ks(e,t,r){var n=new Array(Ve+1),i=0,a,o;for(a=1;a<=Ve;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]=As(n[s]++,s))}}function Mh(){var e,t,r,n,i,a=new Array(Ve+1);for(r=0,n=0;n<ui-1;n++)for(vi[n]=r,e=0;e<1<<yi[n];e++)Lt[r++]=n;for(Lt[r-1]=n,i=0,n=0;n<16;n++)for(mr[n]=i,e=0;e<1<<br[n];e++)Mt[i++]=n;for(i>>=7;n<vt;n++)for(mr[n]=i<<7,e=0;e<1<<br[n]-7;e++)Mt[256+i++]=n;for(t=0;t<=Ve;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(ks(Se,Dt+1,a),e=0;e<vt;e++)jt[e*2+1]=5,jt[e*2]=As(e,5);ms=new gi(Se,yi,Ct+1,Dt,Ve),xs=new gi(jt,br,0,vt,Ve),Es=new gi(new Array(0),Fh,0,hi,Ph)}function Rs(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 Os(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 Lh(e,t,r,n){Os(e),Nt(e,r),Nt(e,~r),Ee(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}function Ts(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 _i(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&Ts(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!Ts(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function Is(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?ye(e,i,t):(o=Lt[i],ye(e,o+Ct+1,t),s=yi[o],s!==0&&(i-=vi[o],Q(e,i,s)),n--,o=Ss(n),ye(e,o,r),s=br[o],s!==0&&(n-=mr[o],Q(e,n,s)));while(a<e.last_lit);ye(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=vs,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--)_i(e,r,o);f=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],_i(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++,_i(e,r,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],jh(e,t),ks(r,c,e.bl_count)}function Ps(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[gs*2]++):s<=10?e.bl_tree[ws*2]++:e.bl_tree[_s*2]++,s=0,i=a,o===0?(c=138,f=3):a===o?(c=6,f=3):(c=7,f=4))}function Fs(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 ye(e,a,e.bl_tree);while(--s!==0);else a!==0?(a!==i&&(ye(e,a,e.bl_tree),s--),ye(e,gs,e.bl_tree),Q(e,s-3,2)):s<=10?(ye(e,ws,e.bl_tree),Q(e,s-3,3)):(ye(e,_s,e.bl_tree),Q(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 Nh(e){var t;for(Ps(e,e.dyn_ltree,e.l_desc.max_code),Ps(e,e.dyn_dtree,e.d_desc.max_code),bi(e,e.bl_desc),t=hi-1;t>=3&&e.bl_tree[bs[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function Bh(e,t,r,n){var i;for(Q(e,t-257,5),Q(e,r-1,5),Q(e,n-4,4),i=0;i<n;i++)Q(e,e.bl_tree[bs[i]*2+1],3);Fs(e,e.dyn_ltree,t-1),Fs(e,e.dyn_dtree,r-1)}function Uh(e){var t=4093624447,r;for(r=0;r<=31;r++,t>>>=1)if(t&1&&e.dyn_ltree[r*2]!==0)return ds;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return ps;for(r=32;r<Ct;r++)if(e.dyn_ltree[r*2]!==0)return ps;return ds}var Cs=!1;function $h(e){Cs||(Mh(),Cs=!0),e.l_desc=new wi(e.dyn_ltree,ms),e.d_desc=new wi(e.dyn_dtree,xs),e.bl_desc=new wi(e.bl_tree,Es),e.bi_buf=0,e.bi_valid=0,Rs(e)}function Ds(e,t,r,n){Q(e,(Rh<<1)+(n?1:0),3),Lh(e,t,r)}function zh(e){Q(e,ys<<1,3),ye(e,pi,Se),Dh(e)}function Zh(e,t,r,n){var i,a,o=0;e.level>0?(e.strm.data_type===kh&&(e.strm.data_type=Uh(e)),bi(e,e.l_desc),bi(e,e.d_desc),o=Nh(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?Ds(e,t,r,n):e.strategy===Ah||a===i?(Q(e,(ys<<1)+(n?1:0),3),Is(e,Se,jt)):(Q(e,(Oh<<1)+(n?1:0),3),Bh(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),Is(e,e.dyn_ltree,e.dyn_dtree)),Rs(e),n&&Os(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[(Lt[r]+Ct+1)*2]++,e.dyn_dtree[Ss(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 Hh(){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 qh=Hh();function z(e,t,r,n){var i=qh,a=n+r;e^=-1;for(var o=n;o<a;o++)e=e>>>8^i[(e^t[o])&255];return e^-1}var Ge=0,Kh=1,Wh=3,Fe=4,js=5,Ce=0,Ms=1,De=-2,Vh=-3,xi=-5,Gh=-1,Yh=1,xr=2,Jh=3,Xh=4,Qh=2,Ei=8,ed=9,td=29,rd=256,Si=rd+1+td,nd=30,id=19,ad=2*Si+1,od=15,P=3,je=258,oe=je+P+1,sd=32,Ai=42,ki=69,Er=73,Sr=91,Ar=103,Ye=113,Bt=666,U=1,Ut=2,Je=3,gt=4,fd=3;function Me(e,t){return e.msg=hs[t],t}function Ls(e){return(e<<1)-(e>4?9:0)}function Xe(e){for(var t=e.length;--t>=0;)e[t]=0}function Le(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){Zh(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Le(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 cd(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=z(e.adler,t,i,r)),e.next_in+=i,e.total_in+=i,i)}function Ns(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-oe?e.strstart-(e.w_size-oe):0,f=e.window,l=e.w_mask,d=e.prev,h=e.strstart+je,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=je-(h-n),n=h-je,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-oe)){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=cd(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<oe&&e.strm.avail_in!==0)}function ld(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===Ge)return U;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-oe&&(q(e,!1),e.strm.avail_out===0))return U}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),U)}function Ri(e,t){for(var r,n;;){if(e.lookahead<oe){if(zt(e),e.lookahead<oe&&t===Ge)return U;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-oe&&(e.match_length=Ns(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 U}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)?U:Ut}function wt(e,t){for(var r,n,i;;){if(e.lookahead<oe){if(zt(e),e.lookahead<oe&&t===Ge)return U;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-oe&&(e.match_length=Ns(e,r),e.match_length<=5&&(e.strategy===Yh||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 U}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 U}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)?U:Ut}function ud(e,t){for(var r,n,i,a,o=e.window;;){if(e.lookahead<=je){if(zt(e),e.lookahead<=je&&t===Ge)return U;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+je;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=je-(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 U}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)?U:Ut}function hd(e,t){for(var r;;){if(e.lookahead===0&&(zt(e),e.lookahead===0)){if(t===Ge)return U;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 U}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)?U:Ut}function ve(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 _t;_t=[new ve(0,0,0,0,ld),new ve(4,4,8,4,Ri),new ve(4,5,16,8,Ri),new ve(4,6,32,32,Ri),new ve(4,4,16,16,wt),new ve(8,16,32,32,wt),new ve(8,16,128,128,wt),new ve(8,32,128,256,wt),new ve(32,128,258,1024,wt),new ve(32,258,258,4096,wt)];function dd(e){e.window_size=2*e.w_size,Xe(e.head),e.max_lazy_match=_t[e.level].max_lazy,e.good_match=_t[e.level].good_length,e.nice_match=_t[e.level].nice_length,e.max_chain_length=_t[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 pd(){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 ae(ad*2),this.dyn_dtree=new ae((2*nd+1)*2),this.bl_tree=new ae((2*id+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 ae(od+1),this.heap=new ae(2*Si+1),Xe(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new ae(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 yd(e){var t;return!e||!e.state?Me(e,De):(e.total_in=e.total_out=0,e.data_type=Qh,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=Ge,$h(t),Ce)}function Bs(e){var t=yd(e);return t===Ce&&dd(e.state),t}function vd(e,t,r,n,i,a){if(!e)return De;var o=1;if(t===Gh&&(t=6),n<0?(o=0,n=-n):n>15&&(o=2,n-=16),i<1||i>ed||r!==Ei||n<8||n>15||t<0||t>9||a<0||a>Xh)return Me(e,De);n===8&&(n=9);var s=new pd;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 wr(s.w_size*2),s.head=new ae(s.hash_size),s.prev=new ae(s.w_size),s.lit_bufsize=1<<i+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new wr(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,Bs(e)}function gd(e,t){var r,n,i,a;if(!e||!e.state||t>js||t<0)return e?Me(e,De):De;if(n=e.state,!e.output||!e.input&&e.avail_in!==0||n.status===Bt&&t!==Fe)return Me(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=z(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,fd),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|=sd),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=z(e.adler,n.pending_buf,n.pending-i,i)),Le(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=z(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=z(e.adler,n.pending_buf,n.pending-i,i)),Le(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=z(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=z(e.adler,n.pending_buf,n.pending-i,i)),Le(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=z(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&&Le(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(Le(e),e.avail_out===0)return n.last_flush=-1,Ce}else if(e.avail_in===0&&Ls(t)<=Ls(r)&&t!==Fe)return Me(e,xi);if(n.status===Bt&&e.avail_in!==0)return Me(e,xi);if(e.avail_in!==0||n.lookahead!==0||t!==Ge&&n.status!==Bt){var c=n.strategy===xr?hd(n,t):n.strategy===Jh?ud(n,t):_t[n.level].func(n,t);if((c===Je||c===gt)&&(n.status=Bt),c===U||c===Je)return e.avail_out===0&&(n.last_flush=-1),Ce;if(c===Ut&&(t===Kh?zh(n):t!==js&&(Ds(n,0,0,!1),t===Wh&&(Xe(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),Le(e),e.avail_out===0))return n.last_flush=-1,Ce}return t!==Fe?Ce:n.wrap<=0?Ms:(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)),Le(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?Ce:Ms)}function wd(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?Me(e,De):(e.state=null,t===Ye?Me(e,Vh):Ce))}var kr=30,_d=12;function bd(e,t){var r,n,i,a,o,s,c,f,l,d,h,u,p,v,w,b,E,S,g,A,T,_,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,w=r.distcode,b=(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&b];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=w[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(_=0,x=h,d===0){if(_+=f-g,g<A){A-=g;do k[a++]=h[_++];while(--g);_=a-T,x=k}}else if(d<g){if(_+=f+d-g,g-=d,g<A){A-=g;do k[a++]=h[_++];while(--g);if(_=0,d<A){g=d,A-=g;do k[a++]=h[_++];while(--g);_=a-T,x=k}}}else if(_+=d-g,g<A){A-=g;do k[a++]=h[_++];while(--g);_=a-T,x=k}for(;A>2;)k[a++]=x[_++],k[a++]=x[_++],k[a++]=x[_++],A-=3;A&&(k[a++]=x[_++],A>1&&(k[a++]=x[_++]))}else{_=a-T;do k[a++]=k[_++],k[a++]=k[_++],k[a++]=k[_++],A-=3;while(A>2);A&&(k[a++]=k[_++],A>1&&(k[a++]=k[_++]))}}else if((g&64)===0){S=w[(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=_d;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,Us=852,$s=592,zs=0,Oi=1,Zs=2,md=[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],xd=[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],Ed=[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],Sd=[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,w=0,b=0,E=0,S,g,A,T,_,x=null,O=0,k,C=new ae(bt+1),Z=new ae(bt+1),V=null,re=0,Ue,Y,fe;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),w=1,f=1;f<=bt;f++)if(w<<=1,w-=C[f],w<0)return-1;if(w>0&&(e===zs||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===zs?(x=V=o,k=19):e===Oi?(x=md,O-=257,V=xd,re-=257,k=256):(x=Ed,V=Sd,k=-1),E=0,l=0,f=d,_=a,p=u,v=0,A=-1,b=1<<u,T=b-1,e===Oi&&b>Us||e===Zs&&b>$s)return 1;for(;;){Ue=f-v,o[l]<k?(Y=0,fe=o[l]):o[l]>k?(Y=V[re+o[l]],fe=x[O+o[l]]):(Y=96,fe=0),S=1<<f-v,g=1<<p,d=g;do g-=S,i[_+(E>>v)+g]=Ue<<24|Y<<16|fe|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),_+=d,p=f-v,w=1<<p;p+v<h&&(w-=C[p+v],!(w<=0));)p++,w<<=1;if(b+=1<<p,e===Oi&&b>Us||e===Zs&&b>$s)return 1;A=E&T,i[A]=u<<24|p<<16|_-a|0}}return E!==0&&(i[_+E]=f-v<<24|64<<16|0),s.bits=u,0}var Ad=0,Hs=1,qs=2,Ks=4,kd=5,Rr=6,Ht=0,Rd=1,Od=2,Ne=-2,Td=-3,Id=-4,Pd=-5,Ws=8,Vs=1,Gs=2,Ys=3,Js=4,Xs=5,Qs=6,ef=7,tf=8,rf=9,nf=10,af=11,Ae=12,Ti=13,of=14,Ii=15,sf=16,ff=17,cf=18,lf=19,Or=20,Tr=21,uf=22,hf=23,df=24,pf=25,yf=26,Pi=27,vf=28,gf=29,D=30,Fd=31,Cd=32,Dd=852,jd=592;function wf(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function Md(){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 ae(320),this.work=new ae(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Ld(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=Vs,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new _r(Dd),t.distcode=t.distdyn=new _r(jd),t.sane=1,t.back=-1,Ht)}function _f(e){var t;return!e||!e.state?Ne:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,Ld(e))}function Nd(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,_f(e))}function Bd(e,t){var r,n;return e?(n=new Md,e.state=n,n.window=null,r=Nd(e,t),r!==Ht&&(e.state=null),r):Ne}var bf=!0,Fi,Ci;function Ud(e){if(bf){var t;for(Fi=new _r(512),Ci=new _r(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(Hs,e.lens,0,288,Fi,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Zt(qs,e.lens,0,32,Ci,0,e.work,{bits:5}),bf=!1}e.lencode=Fi,e.lenbits=9,e.distcode=Ci,e.distbits=5}function $d(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 wr(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 zd(e,t){var r,n,i,a,o,s,c,f,l,d,h,u,p,v,w=0,b,E,S,g,A,T,_,x,O=new wr(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=Ht;e:for(;;)switch(r.mode){case Vs: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=z(r.check,O,2,0),f=0,l=0,r.mode=Gs;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)!==Ws){e.msg="unknown compression method",r.mode=D;break}if(f>>>=4,l-=4,_=(f&15)+8,r.wbits===0)r.wbits=_;else if(_>r.wbits){e.msg="invalid window size",r.mode=D;break}r.dmax=1<<_,e.adler=r.check=1,r.mode=f&512?nf:Ae,f=0,l=0;break;case Gs:for(;l<16;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(r.flags=f,(r.flags&255)!==Ws){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=z(r.check,O,2,0)),f=0,l=0,r.mode=Ys;case Ys: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=z(r.check,O,4,0)),f=0,l=0,r.mode=Js;case Js: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=z(r.check,O,2,0)),f=0,l=0,r.mode=Xs;case Xs: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=z(r.check,O,2,0)),f=0,l=0}else r.head&&(r.head.extra=null);r.mode=Qs;case Qs:if(r.flags&1024&&(u=r.length,u>s&&(u=s),u&&(r.head&&(_=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,_)),r.flags&512&&(r.check=z(r.check,n,u,a)),s-=u,a+=u,r.length-=u),r.length))break e;r.length=0,r.mode=ef;case ef:if(r.flags&2048){if(s===0)break e;u=0;do _=n[a+u++],r.head&&_&&r.length<65536&&(r.head.name+=String.fromCharCode(_));while(_&&u<s);if(r.flags&512&&(r.check=z(r.check,n,u,a)),s-=u,a+=u,_)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=tf;case tf:if(r.flags&4096){if(s===0)break e;u=0;do _=n[a+u++],r.head&&_&&r.length<65536&&(r.head.comment+=String.fromCharCode(_));while(_&&u<s);if(r.flags&512&&(r.check=z(r.check,n,u,a)),s-=u,a+=u,_)break e}else r.head&&(r.head.comment=null);r.mode=rf;case rf: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 nf:for(;l<32;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}e.adler=r.check=wf(f),f=0,l=0,r.mode=af;case af: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,Od;e.adler=r.check=1,r.mode=Ae;case Ae:if(t===kd||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=of;break;case 1:if(Ud(r),r.mode=Or,t===Rr){f>>>=2,l-=2;break e}break;case 2:r.mode=ff;break;case 3:e.msg="invalid block type",r.mode=D}f>>>=2,l-=2;break;case of: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=sf;case sf: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 ff: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=cf;case cf: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(Ad,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=lf;case lf:for(;r.have<r.nlen+r.ndist;){for(;w=r.lencode[f&(1<<r.lenbits)-1],b=w>>>24,E=w>>>16&255,S=w&65535,!(b<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(S<16)f>>>=b,l-=b,r.lens[r.have++]=S;else{if(S===16){for(C=b+2;l<C;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(f>>>=b,l-=b,r.have===0){e.msg="invalid bit length repeat",r.mode=D;break}_=r.lens[r.have-1],u=3+(f&3),f>>>=2,l-=2}else if(S===17){for(C=b+3;l<C;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}f>>>=b,l-=b,_=0,u=3+(f&7),f>>>=3,l-=3}else{for(C=b+7;l<C;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}f>>>=b,l-=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++]=_}}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(Hs,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(qs,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,bd(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;w=r.lencode[f&(1<<r.lenbits)-1],b=w>>>24,E=w>>>16&255,S=w&65535,!(b<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(E&&(E&240)===0){for(g=b,A=E,T=S;w=r.lencode[T+((f&(1<<g+A)-1)>>g)],b=w>>>24,E=w>>>16&255,S=w&65535,!(g+b<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}f>>>=g,l-=g,r.back+=g}if(f>>>=b,l-=b,r.back+=b,r.length=S,E===0){r.mode=yf;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=uf;case uf: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=hf;case hf:for(;w=r.distcode[f&(1<<r.distbits)-1],b=w>>>24,E=w>>>16&255,S=w&65535,!(b<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if((E&240)===0){for(g=b,A=E,T=S;w=r.distcode[T+((f&(1<<g+A)-1)>>g)],b=w>>>24,E=w>>>16&255,S=w&65535,!(g+b<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}f>>>=g,l-=g,r.back+=g}if(f>>>=b,l-=b,r.back+=b,E&64){e.msg="invalid distance code",r.mode=D;break}r.offset=S,r.extra=E&15,r.mode=df;case df: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=pf;case pf: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 yf: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?z(r.check,i,h,o-h):mi(r.check,i,h,o-h)),h=c,(r.flags?f:wf(f))!==r.check){e.msg="incorrect data check",r.mode=D;break}f=0,l=0}r.mode=vf;case vf: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=gf;case gf:x=Rd;break e;case D:x=Td;break e;case Fd:return Id;case Cd: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!==Ks))&&$d(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?z(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===Ks)&&x===Ht&&(x=Pd),x}function Zd(e){if(!e||!e.state)return Ne;var t=e.state;return t.window&&(t.window=null),e.state=null,Ht}var Di=0,mt=1,Ir=2,qt=3,Pr=4,xt=5,Kt=6,Wt=7,mf=0,xf=1,Ef=2,Sf=3,ji=4,Af=5,Hd=6,Fr=0,kf=1,Rf=2,qd=-1,Kd=-2,Wd=-3,Of=-5,Vd=0,Gd=1,Yd=9,Jd=-1,Xd=1,Qd=2,ep=3,tp=4,rp=0,np=0,ip=1,ap=2,Tf=8;function se(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}se.prototype.init=function(e,t,r,n,i){this.windowBits=e,this.level=t,this.memLevel=r,this.strategy=n,(this.mode===qt||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 Sh;var a;switch(this.mode){case mt:case qt:case xt:a=vd(this.strm,this.level,Tf,this.windowBits,this.memLevel,this.strategy);break;case Ir:case Pr:case Kt:case Wt:a=Bd(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},se.prototype.params=function(){throw new Error("deflateParams Not supported")},se.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")},se.prototype.write=function(e,t,r,n,i,a,o){this._writeCheck(),this.write_in_progress=!0;var s=this;return me.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 op(e,t){for(var r=0;r<e.length;r++)this[t+r]=e[r]}se.prototype.writeSync=function(e,t,r,n,i,a,o){return this._writeCheck(),this._write(e,t,r,n,i,a,o)},se.prototype._write=function(e,t,r,n,i,a,o){if(this.write_in_progress=!0,e!==mf&&e!==xf&&e!==Ef&&e!==Sf&&e!==ji&&e!==Af)throw new Error("Invalid flush value");t==null&&(t=new y(0),n=0,r=0),i._set?i.set=i._set:i.set=op;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 qt:case xt:c=gd(s,e);break;case Wt:case Ir:case Pr:case Kt:c=zd(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]},se.prototype._checkError=function(e,t,r){switch(e){case Fr:case Of:if(t.avail_out!==0&&r===ji)return!1;break;case kf:break;case Rf:return!1;default:return!1}return!0},se.prototype.close=function(){if(this.write_in_progress){this.pending_close=!0;return}this.pending_close=!1,this.mode===mt||this.mode===qt||this.mode===xt?wd(this.strm):Zd(this.strm),this.mode=Di};var Cr;se.prototype.reset=function(){switch(this.mode){case mt:case xt:Cr=Bs(this.strm);break;case Ir:case Kt:Cr=_f(this.strm);break}Cr!==Fr&&this._error(Cr)},se.prototype._error=function(e){this.onerror(hs[e]+": "+this.strm.msg,e),this.write_in_progress=!1,this.pending_close&&this.close()};var If=Object.freeze({__proto__:null,DEFLATE:mt,DEFLATERAW:xt,GUNZIP:Pr,GZIP:qt,INFLATE:Ir,INFLATERAW:Kt,NONE:Di,UNZIP:Wt,Z_BEST_COMPRESSION:Yd,Z_BEST_SPEED:Gd,Z_BINARY:np,Z_BLOCK:Af,Z_BUF_ERROR:Of,Z_DATA_ERROR:Wd,Z_DEFAULT_COMPRESSION:Jd,Z_DEFAULT_STRATEGY:rp,Z_DEFLATED:Tf,Z_ERRNO:qd,Z_FILTERED:Xd,Z_FINISH:ji,Z_FIXED:tp,Z_FULL_FLUSH:Sf,Z_HUFFMAN_ONLY:Qd,Z_NEED_DICT:Rf,Z_NO_COMPRESSION:Vd,Z_NO_FLUSH:mf,Z_OK:Fr,Z_PARTIAL_FLUSH:xf,Z_RLE:ep,Z_STREAM_END:kf,Z_STREAM_ERROR:Kd,Z_SYNC_FLUSH:Ef,Z_TEXT:ip,Z_TREES:Hd,Z_UNKNOWN:ap,Zlib:se});function sp(e,t){if(!e)throw new Error(t)}var m={};Object.keys(If).forEach(function(e){m[e]=If[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 Vt={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(Vt).forEach(function(e){Vt[Vt[e]]=e});function fp(e){return new tt(e)}function cp(e){return new rt(e)}function lp(e){return new at(e)}function up(e){return new ot(e)}function hp(e){return new nt(e)}function dp(e){return new it(e)}function pp(e){return new st(e)}function yp(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new tt(t),e,r)}function vp(e,t){return et(new tt(t),e)}function gp(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new nt(t),e,r)}function wp(e,t){return et(new nt(t),e)}function _p(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new at(t),e,r)}function bp(e,t){return et(new at(t),e)}function mp(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new st(t),e,r)}function xp(e,t){return et(new st(t),e)}function Ep(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new rt(t),e,r)}function Sp(e,t){return et(new rt(t),e)}function Ap(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new it(t),e,r)}function kp(e,t){return et(new it(t),e)}function Rp(e,t,r){return typeof t=="function"&&(r=t,t={}),Qe(new ot(t),e,r)}function Op(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);j.call(this,e,m.DEFLATE)}function rt(e){if(!(this instanceof rt))return new rt(e);j.call(this,e,m.INFLATE)}function nt(e){if(!(this instanceof nt))return new nt(e);j.call(this,e,m.GZIP)}function it(e){if(!(this instanceof it))return new it(e);j.call(this,e,m.GUNZIP)}function at(e){if(!(this instanceof at))return new at(e);j.call(this,e,m.DEFLATERAW)}function ot(e){if(!(this instanceof ot))return new ot(e);j.call(this,e,m.INFLATERAW)}function st(e){if(!(this instanceof st))return new st(e);j.call(this,e,m.UNZIP)}function j(e,t){if(this._opts=e=e||{},this._chunkSize=e.chunkSize||m.Z_DEFAULT_CHUNK,te.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=Vt[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)}W(j,te),j.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 me.nextTick(r)},j.prototype.reset=function(){return this._binding.reset()},j.prototype._flush=function(e){this._transform(new y(0),"",e)},j.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&&me.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)},j.prototype.close=function(e){if(e&&me.nextTick(e),!this._closed){this._closed=!0,this._binding.close();var t=this;me.nextTick(function(){t.emit("close")})}},j.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)},j.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,w){if(!o._hadError){var b=i-w;if(sp(b>=0,"have should not go down"),b>0){var E=o._buffer.slice(o._offset,o._offset+b);o._offset+=b,s?o.push(E):(c.push(E),f+=E.length)}if((w===0||o._offset>=o._chunkSize)&&(i=o._chunkSize,o._offset=0,o._buffer=new y(o._chunkSize)),w===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()}}},W(tt,j),W(rt,j),W(nt,j),W(it,j),W(at,j),W(ot,j),W(st,j);var Pf={codes:Vt,createDeflate:fp,createInflate:cp,createDeflateRaw:lp,createInflateRaw:up,createGzip:hp,createGunzip:dp,createUnzip:pp,deflate:yp,deflateSync:vp,gzip:gp,gzipSync:wp,deflateRaw:_p,deflateRawSync:bp,unzip:mp,unzipSync:xp,inflate:Ep,inflateSync:Sp,gunzip:Ap,gunzipSync:kp,inflateRaw:Rp,inflateRawSync:Op,Deflate:tt,Inflate:rt,Gzip:nt,Gunzip:it,DeflateRaw:at,InflateRaw:ot,Unzip:st,Zlib:j};class Ff 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=Pf.gzipSync(n).toString("base64"),this.client.putObject({key:we(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(we(this.keyPrefix,t));let n=await Ft(r);return n=Buffer.from(n,"base64"),n=Pf.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(we(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 Cf 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 Tp={setup(e){},start(){},stop(){}},Ip={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 Pp extends Cf{constructor(t={}){super(),this.driver=t.driver}async setup(t){this.database=t,this.driver||(this.driver=new Ff({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=we(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=we(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,Pp as CachePlugin,oa as Client,aa as ConnectionString,Ip as CostsPlugin,us as Database,ra as ErrorMap,tr as InvalidResourceItem,Eh as MemoryCache,ea as MissingMetadata,Xi as NoSuchBucket,Ur as NoSuchKey,Qi as NotFound,Cf as Plugin,Tp as PluginObject,is as ResourceIdsPageReader,ns as ResourceIdsReader,as as ResourceReader,os as ResourceWriter,Ff as S3Cache,ia as S3_DEFAULT_ENDPOINT,na as S3_DEFAULT_REGION,xh as S3db,ta as UnknownError,ho as Validator,po as ValidatorManager,fa as decrypt,$r as encrypt,sa as sha256,Ft as streamToString};
|
|
29
|
+
`)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}function du(e){return Array.isArray(e)}function $o(e){return typeof e=="boolean"}function Wn(e){return e===null}function pu(e){return typeof e=="number"}function Vn(e){return typeof e=="string"}function Pe(e){return e===void 0}function Gn(e){return It(e)&&Xn(e)==="[object RegExp]"}function It(e){return typeof e=="object"&&e!==null}function Bo(e){return It(e)&&Xn(e)==="[object Date]"}function Yn(e){return It(e)&&(Xn(e)==="[object Error]"||e instanceof Error)}function Jn(e){return typeof e=="function"}function Xn(e){return Object.prototype.toString.call(e)}function yu(e,t){if(!t||!It(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}function Uo(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 gu=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 vu(e){if(e&&!gu(e))throw new Error("Unknown encoding: "+e)}function Pt(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),vu(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=_u;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=bu;break;default:this.write=wu;return}this.charBuffer=new y(6),this.charReceived=0,this.charLength=0}Pt.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},Pt.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},Pt.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 wu(e){return e.toString(this.encoding)}function _u(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function bu(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}L.ReadableState=zo;var F=ou("stream");W(L,R);function mu(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 xu(e,t){return e.listeners(t).length}function zo(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof ie&&(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 Pt(e.encoding),this.encoding=e.encoding)}function L(e){if(!(this instanceof L))return new L(e);this._readableState=new zo(e,this),this.readable=!0,e&&typeof e.read=="function"&&(this._read=e.read),R.call(this)}L.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)},L.prototype.unshift=function(e){var t=this._readableState;return Zo(this,t,e,"",!0)},L.prototype.isPaused=function(){return this._readableState.flowing===!1};function Zo(e,t,r,n,i){var a=Au(t,r);if(a)e.emit("error",a);else if(r===null)t.reading=!1,ku(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&&gr(e))),Ru(e,t)}else i||(t.reading=!1);return Eu(t)}function Eu(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||e.length===0)}L.prototype.setEncoding=function(e){return this._readableState.decoder=new Pt(e),this._readableState.encoding=e,this};var Ho=8388608;function Su(e){return e>=Ho?e=Ho:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function qo(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=Su(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}L.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?ei(this):gr(this),null;if(e=qo(e,t),e===0&&t.ended)return t.length===0&&ei(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=qo(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&&ei(this)),i!==null&&this.emit("data",i),i};function Au(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 ku(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,gr(e)}}function gr(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(F("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?ee(Ko,e):Ko(e))}function Ko(e){F("emit readable"),e.emit("readable"),Qn(e)}function Ru(e,t){t.readingMore||(t.readingMore=!0,ee(Ou,e,t))}function Ou(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}L.prototype._read=function(e){this.emit("error",new Error("not implemented"))},L.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?ee(a):r.once("end",a),e.on("unpipe",o);function o(_){F("onunpipe"),_===r&&l()}function s(){F("onend"),e.end()}var c=Tu(r);e.on("drain",c);var f=!1;function l(){F("cleanup"),e.removeListener("close",p),e.removeListener("finish",g),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(_){F("ondata"),d=!1;var x=e.write(_);x===!1&&!d&&((n.pipesCount===1&&n.pipes===e||n.pipesCount>1&&Vo(n.pipes,e)!==-1)&&!f&&(F("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,d=!0),r.pause())}function u(_){F("onerror",_),w(),e.removeListener("error",u),xu(e,"error")===0&&e.emit("error",_)}mu(e,"error",u);function p(){e.removeListener("finish",g),w()}e.once("close",p);function g(){F("onfinish"),e.removeListener("close",p),w()}e.once("finish",g);function w(){F("unpipe"),r.unpipe(e)}return e.emit("pipe",r),n.flowing||(F("pipe resume"),r.resume()),e};function Tu(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,Qn(e))}}L.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=Vo(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)},L.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&&gr(this):ee(Iu,this))}return r},L.prototype.addListener=L.prototype.on;function Iu(e){F("readable nexttick read 0"),e.read(0)}L.prototype.resume=function(){var e=this._readableState;return e.flowing||(F("resume"),e.flowing=!0,Pu(this,e)),this};function Pu(e,t){t.resumeScheduled||(t.resumeScheduled=!0,ee(Fu,e,t))}function Fu(e,t){t.reading||(F("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),Qn(e),t.flowing&&!t.reading&&e.read(0)}L.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 Qn(e){var t=e._readableState;for(F("flow",t.flowing);t.flowing&&e.read()!==null;);}L.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 Lu(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},L._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=Cu(e,t.buffer,t.decoder),r}function Cu(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?Du(e,t):ju(e,t),n}function Du(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 ju(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 ei(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,ee(Mu,t,e))}function Mu(e,t){!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function Lu(e,t){for(var r=0,n=e.length;r<n;r++)t(e[r],r)}function Vo(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}H.WritableState=ti,W(H,R);function Nu(){}function $u(e,t,r){this.chunk=e,this.encoding=t,this.callback=r,this.next=null}function ti(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 ie&&(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){Ku(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)}ti.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};function H(e){if(!(this instanceof H)&&!(this instanceof ie))return new H(e);this._writableState=new ti(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)}H.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))};function Bu(e,t){var r=new Error("write after end");e.emit("error",r),ee(t,r)}function Uu(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),ee(n,a),i=!1),i}H.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=Nu),n.ended?Bu(this,r):Uu(this,n,e,r)&&(n.pendingcb++,i=Zu(this,n,e,t,r)),i},H.prototype.cork=function(){var e=this._writableState;e.corked++},H.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.finished&&!e.bufferProcessing&&e.bufferedRequest&&Yo(this,e))},H.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 zu(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t=="string"&&(t=y.from(t,r)),t}function Zu(e,t,r,n,i){r=zu(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 $u(r,n,i),s?s.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else ri(e,t,!1,a,r,n,i);return o}function ri(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 Hu(e,t,r,n,i){--t.pendingcb,r?ee(i,n):i(n),e._writableState.errorEmitted=!0,e.emit("error",n)}function qu(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function Ku(e,t){var r=e._writableState,n=r.sync,i=r.writecb;if(qu(r),t)Hu(e,r,n,t,i);else{var a=Jo(r);!a&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&Yo(e,r),n?ee(Go,e,r,a,i):Go(e,r,a,i)}}function Go(e,t,r,n){r||Wu(e,t),t.pendingcb--,n(),Qo(e,t)}function Wu(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;ri(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(ri(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}H.prototype._write=function(e,t,r){r(new Error("not implemented"))},H.prototype._writev=null,H.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&&Vu(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 Vu(e,t,r){t.ending=!0,Qo(e,t),r&&(t.finished?ee(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}}W(ie,L);for(var ts=Object.keys(H.prototype),ni=0;ni<ts.length;ni++){var ii=ts[ni];ie.prototype[ii]||(ie.prototype[ii]=H.prototype[ii])}function ie(e){if(!(this instanceof ie))return new ie(e);L.call(this,e),H.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",Gu)}function Gu(){this.allowHalfOpen||this._writableState.ended||ee(Yu,this)}function Yu(e){e.end()}W(te,ie);function Ju(e){this.afterTransform=function(t,r){return Xu(e,t,r)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function Xu(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 te(e){if(!(this instanceof te))return new te(e);ie.call(this,e),this._transformState=new Ju(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)})}te.prototype.push=function(e,t){return this._transformState.needTransform=!1,ie.prototype.push.call(this,e,t)},te.prototype._transform=function(e,t,r){throw new Error("Not implemented")},te.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)}},te.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)}W(Ft,te);function Ft(e){if(!(this instanceof Ft))return new Ft(e);te.call(this,e)}Ft.prototype._transform=function(e,t,r){r(null,e)},W(Ee,R),Ee.Readable=L,Ee.Writable=H,Ee.Duplex=ie,Ee.Transform=te,Ee.PassThrough=Ft,Ee.Stream=Ee;function Ee(){R.call(this)}Ee.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 ec({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 te({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 ue.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 H({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().catch(r=>{this.emit("error",r)}),!0}end(){this.ended=!0,this._maybeWrite().catch(t=>{this.emit("error",t)})}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 ue.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 yt(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 Qu(e){let t=0;for(const r of Object.keys(e))r!=="_v"&&(t+=yt(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 ai(e){const t={};for(const[r,n]of Object.entries(e)){const i=ss(n),a=yt(i);t[r]=a}return t}function We(e){const t=ai(e),r=Object.values(t).reduce((i,a)=>i+a,0),n=Qu(e);return r+n}const $=2048;async function eh({resource:e,data:t,mappedData:r}){const n=We(r);if(n>$)throw new Error(`S3 metadata size exceeds 2KB limit. Current size: ${n} bytes, limit: ${$} bytes`);return{mappedData:r,body:""}}async function th({resource:e,id:t,data:r,mappedData:n}){const i=We(n);if(i>$)throw new Error(`S3 metadata size exceeds 2KB limit. Current size: ${i} bytes, limit: ${$} bytes`);return{mappedData:n,body:""}}async function rh({resource:e,id:t,data:r,mappedData:n}){const i=We(n);if(i>$)throw new Error(`S3 metadata size exceeds 2KB limit. Current size: ${i} bytes, limit: ${$} bytes`);return{mappedData:n,body:""}}async function nh({resource:e,metadata:t,body:r}){return{metadata:t,body:r}}var ih=Object.freeze({__proto__:null,S3_METADATA_LIMIT_BYTES:$,handleGet:nh,handleInsert:eh,handleUpdate:th,handleUpsert:rh});async function ah({resource:e,data:t,mappedData:r}){const n=We(r);return n>$&&e.emit("exceedsLimit",{operation:"insert",totalSize:n,limit:$,excess:n-$,data:t}),{mappedData:r,body:""}}async function oh({resource:e,id:t,data:r,mappedData:n}){const i=We(n);return i>$&&e.emit("exceedsLimit",{operation:"update",id:t,totalSize:i,limit:$,excess:i-$,data:r}),{mappedData:n,body:""}}async function sh({resource:e,id:t,data:r,mappedData:n}){const i=We(n);return i>$&&e.emit("exceedsLimit",{operation:"upsert",id:t,totalSize:i,limit:$,excess:i-$,data:r}),{mappedData:n,body:""}}async function fh({resource:e,metadata:t,body:r}){return{metadata:t,body:r}}var ch=Object.freeze({__proto__:null,handleGet:fh,handleInsert:ah,handleUpdate:oh,handleUpsert:sh});const fs="...",cs=yt(fs);async function lh({resource:e,data:t,mappedData:r}){return oi({resource:e,data:t,mappedData:r})}async function uh({resource:e,id:t,data:r,mappedData:n}){return oi({resource:e,data:r,mappedData:n})}async function hh({resource:e,id:t,data:r,mappedData:n}){return oi({resource:e,data:r,mappedData:n})}async function dh({resource:e,metadata:t,body:r}){return{metadata:t,body:r}}function oi({resource:e,data:t,mappedData:r}){const n=ai(r),i=Object.entries(n).sort(([,s],[,c])=>s-c),a={};let o=0;for(const[s,c]of i){const f=$-o;if(c<=f)a[s]=r[s],o+=c;else if(f>cs){const l=f-cs,d=ss(r[s]);let h="",u=0;for(let p=0;p<d.length;p++){const g=d[p],w=yt(g);if(u+w<=l)h+=g,u+=w;else break}a[s]=h+fs,o=$;break}else break}return{mappedData:a,body:""}}var ph=Object.freeze({__proto__:null,handleGet:dh,handleInsert:lh,handleUpdate:uh,handleUpsert:hh});const vr="$overflow",si="true",yh=yt(vr)+yt(si);async function gh({resource:e,data:t,mappedData:r}){return fi({resource:e,data:t,mappedData:r})}async function vh({resource:e,id:t,data:r,mappedData:n}){return fi({resource:e,data:r,mappedData:n})}async function wh({resource:e,id:t,data:r,mappedData:n}){return fi({resource:e,data:r,mappedData:n})}async function _h({resource:e,metadata:t,body:r}){if(t[vr]===si)try{const n=r?JSON.parse(r):{},i={...t};return delete i[vr],{metadata:{...i,...n},body:""}}catch{return{metadata:t,body:r}}return{metadata:t,body:r}}function fi({resource:e,data:t,mappedData:r}){if(We(r)<=$)return{mappedData:r,body:""};const i=$-yh,a=ai(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[vr]=si;const l=Object.keys(c).length>0?JSON.stringify(c):"";return{mappedData:s,body:l}}var bh=Object.freeze({__proto__:null,handleGet:_h,handleInsert:gh,handleUpdate:vh,handleUpsert:wh});const ls={"user-management":ch,"enforce-limits":ih,"data-truncate":ph,"body-overflow":bh};function Ve(e){const t=ls[e];if(!t)throw new Error(`Unknown behavior: ${e}. Available behaviors: ${Object.keys(ls).join(", ")}`);return t}const mh="user-management";class ci extends R{constructor({name:t,client:r,version:n="1",options:i={},attributes:a={},parallelism:o=10,passphrase:s="secret",observers:c=[],behavior:f=mh}){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,allNestedObjectsOptional:i.allNestedObjectsOptional??!1,...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 ve({name:t,attributes:this.attributes,passphrase:s,version:this.version,options:{...this.options,allNestedObjectsOptional:this.options.allNestedObjectsOptional??!1}}),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 ve({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:Rt(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(!this.fieldExistsInAttributes(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.`)}}fieldExistsInAttributes(t){if(!t.includes("."))return Object.keys(this.attributes||{}).includes(t);const r=t.split(".");let n=this.attributes||{};for(const i of r){if(!n||typeof n!="object"||!(i in n))return!1;n=n[i]}return!0}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 _e(`resource=${this.name}`,`v=${this.version}`,`id=${t}`)}getPartitionKey({partitionName:t,id:r,data: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.getNestedFieldValue(n,s),l=this.applyPartitionRule(f,c);if(l==null)return null;a.push(`${s}=${l}`)}return a.length===0?null:_e(`resource=${this.name}`,`partition=${t}`,...a,`id=${r}`)}getNestedFieldValue(t,r){if(!r.includes("."))return t[r];const n=r.split(".");let i=t;for(const a of n){if(!i||typeof i!="object"||!(a in i))return;i=i[a]}return i}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=Ve(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=kt({id:t},o);return await this.executeHooks("afterInsert",h),this.emit("insert",h),h}async get(t){const r=this.getResourceKey(t);try{const n=await this.client.headObject(r),i=this.extractVersionFromKey(r)||this.version;let o=await(await this.getSchemaForVersion(i)).unmapper(n.Metadata);const s=Ve(this.behavior);let c="";if(n.ContentLength>0)try{const d=await this.client.getObject(r);c=await pt(d.Body)}catch(d){console.warn(`Failed to read body for resource ${t}:`,d.message),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}catch(n){if(n.message.includes("Cipher job failed")||n.message.includes("OperationError")||n.originalError?.message?.includes("Cipher job failed"))try{console.warn(`Decryption failed for resource ${t}, attempting to get raw metadata`);const a=await this.client.headObject(r),o=this.extractVersionFromKey(r)||this.version;let c=await new ve({name:this.name,attributes:this.attributes,passphrase:this.passphrase,version:o,options:{...this.options,autoDecrypt:!1,autoEncrypt:!1}}).unmapper(a.Metadata);const f=Ve(this.behavior);let l="";if(a.ContentLength>0)try{const u=await this.client.getObject(r);l=await pt(u.Body)}catch(u){console.warn(`Failed to read body for resource ${t}:`,u.message),l=""}const{metadata:d}=await f.handleGet({resource:this,metadata:c,body:l});let h=d;return h.id=t,h._contentLength=a.ContentLength,h._lastModified=a.LastModified,h._hasContent=a.ContentLength>0,h._mimeType=a.ContentType||null,h._version=o,h._decryptionFailed=!0,a.VersionId&&(h._versionId=a.VersionId),a.Expiration&&(h._expiresAt=a.Expiration),h._definitionHash=this.getDefinitionHash(),this.emit("get",h),h}catch(a){console.error(`Fallback attempt also failed for resource ${t}:`,a.message)}const i=new Error(`Failed to get resource with id '${t}': ${n.message}`);throw i.originalError=n,i.resourceId=t,i.resourceKey=r,i}}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=kt(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=Ve(this.behavior),{mappedData:d,body:h}=await l.handleUpdate({resource:this,id:t,data:c,mappedData:f}),u=this.getResourceKey(t);let p,g=h;if(h===""&&this.behavior!=="body-overflow")try{const w=await this.client.getObject(u);if(w.ContentLength>0){const _=Buffer.from(await w.Body.transformToByteArray()),x=_.toString();try{JSON.parse(x)}catch{g=_,p=w.ContentType}}}catch{}return await this.client.putObject({key:u,body:g,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 ue.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=Li(t.map(i=>this.getResourceKey(i)),1e3),{results:n}=await ue.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={},limit:n,offset:i=0}={}){let a;if(t&&Object.keys(r).length>0){const c=this.options.partitions[t];if(!c)throw new Error(`Partition '${t}' not found`);const f=[],l=Object.entries(c.fields).sort(([d],[h])=>d.localeCompare(h));for(const[d,h]of l){const u=r[d];if(u!=null){const p=this.applyPartitionRule(u,h);f.push(`${d}=${p}`)}}f.length>0?a=`resource=${this.name}/partition=${t}/${f.join("/")}`:a=`resource=${this.name}/partition=${t}`}else a=`resource=${this.name}/v=${this.version}`;const s=(await this.client.getKeysPage({prefix:a,offset:i,amount:n||1e3})).map(c=>{const l=c.split("/").find(d=>d.startsWith("id="));return l?l.replace("id=",""):null}).filter(Boolean);return this.emit("listIds",s.length),s}async list({partition:t=null,partitionValues:r={},limit:n,offset:i=0}={}){if(!t){let w=(await this.listIds({partition:t,partitionValues:r})).slice(i);n&&(w=w.slice(0,n));const{results:_,errors:x}=await ue.for(w).withConcurrency(this.parallelism).handleError(async(v,S)=>(console.warn(`Failed to get resource ${S}:`,v.message),null)).process(async v=>{try{return await this.get(v)}catch(S){if(S.message.includes("Cipher job failed")||S.message.includes("OperationError"))return console.warn(`Decryption failed for ${v}, returning basic info`),{id:v,_decryptionFailed:!0,_error:S.message};throw S}}),A=_.filter(v=>v!==null);return this.emit("list",{partition:t,partitionValues:r,count:A.length,errors:x.length}),A}const a=this.options.partitions[t];if(!a)throw new Error(`Partition '${t}' not found`);const o=[],s=Object.entries(a.fields).sort(([g],[w])=>g.localeCompare(w));for(const[g,w]of s){const _=r[g];if(_!=null){const x=this.applyPartitionRule(_,w);o.push(`${g}=${x}`)}}let c;o.length>0?c=`resource=${this.name}/partition=${t}/${o.join("/")}`:c=`resource=${this.name}/partition=${t}`;let d=(await this.client.getAllKeys({prefix:c})).map(g=>{const _=g.split("/").find(x=>x.startsWith("id="));return _?_.replace("id=",""):null}).filter(Boolean).slice(i);n&&(d=d.slice(0,n));const{results:h,errors:u}=await ue.for(d).withConcurrency(this.parallelism).handleError(async(g,w)=>(console.warn(`Failed to get partition resource ${w}:`,g.message),null)).process(async g=>{try{return await this.getFromPartition({id:g,partitionName:t,partitionValues:r})}catch(w){if(w.message.includes("Cipher job failed")||w.message.includes("OperationError"))return console.warn(`Decryption failed for partition resource ${g}, returning basic info`),{id:g,_partition:t,_partitionValues:r,_decryptionFailed:!0,_error:w.message};throw w}}),p=h.filter(g=>g!==null);return this.emit("list",{partition:t,partitionValues:r,count:p.length,errors:u.length}),p}async getMany(t){const{results:r,errors:n}=await ue.for(t).withConcurrency(this.client.parallelism).handleError(async(i,a)=>(console.warn(`Failed to get resource ${a}:`,i.message),{id:a,_error:i.message,_decryptionFailed:i.message.includes("Cipher job failed")||i.message.includes("OperationError")})).process(async i=>{this.emit("id",i);try{const a=await this.get(i);return this.emit("data",a),a}catch(a){if(a.message.includes("Cipher job failed")||a.message.includes("OperationError"))return console.warn(`Decryption failed for ${i}, returning basic info`),{id:i,_decryptionFailed:!0,_error:a.message};throw a}});return this.emit("getMany",t.length),r}async getAll(){let t=await this.listIds();if(t.length===0)return[];const{results:r,errors:n}=await ue.for(t).withConcurrency(this.client.parallelism).handleError(async(i,a)=>(console.warn(`Failed to get resource ${a}:`,i.message),{id:a,_error:i.message,_decryptionFailed:i.message.includes("Cipher job failed")||i.message.includes("OperationError")})).process(async i=>{try{return await this.get(i)}catch(a){if(a.message.includes("Cipher job failed")||a.message.includes("OperationError"))return console.warn(`Decryption failed for ${i}, returning basic info`),{id:i,_decryptionFailed:!0,_error:a.message};throw a}});return this.emit("getAll",r.length),r}async page({offset:t=0,size:r=100,partition:n=null,partitionValues:i={},skipCount:a=!1}={}){let o=null,s=null;a||(o=await this.count({partition:n,partitionValues:i}),s=Math.ceil(o/r));const c=Math.floor(t/r),f=await this.list({partition:n,partitionValues:i,limit:r,offset:t}),l={items:f,totalItems:o,page:c,pageSize:r,totalPages:s,_debug:{requestedSize:r,requestedOffset:t,actualItemsReturned:f.length,skipCount:a,hasTotalItems:o!==null}};return this.emit("page",l),l}readable(){return new as({resource:this}).build()}writable(){return new os({resource:this}).build()}async setContent({id:t,buffer:r,contentType:n="application/octet-stream"}){const i=await this.get(t);if(!i)throw new Error(`Resource with id '${t}' not found`);const a={...i,_hasContent:!0,_contentLength:r.length,_mimeType:n};return await this.client.putObject({key:this.getResourceKey(t),metadata:await this.schema.mapper(a),body:r,contentType:n}),this.emit("setContent",{id:t,contentType:n,contentLength:r.length}),a}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 r={...this.schema.export().attributes};this.options.timestamps&&(delete r.createdAt,delete r.updatedAt);const n=uo(r);return`sha256:${Zi("sha256").update(n).digest("hex")}`}extractVersionFromKey(t){const n=t.split("/").find(i=>i.startsWith("v="));return n?n.replace("v=",""):null}async getSchemaForVersion(t){if(t===this.version)return this.schema;try{return new ve({name:this.name,attributes:this.attributes,passphrase:this.passphrase,version:t,options:{...this.options,autoDecrypt:!0,autoEncrypt:!0}})}catch(r){return console.warn(`Failed to create compatible schema for version ${t}, using current schema:`,r.message),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({partitionName:n,id:t.id,data:t});if(a){const o=await this.schema.mapper(t),s=Ve(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({partitionName:i,id:t.id,data: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={},{limit:r=100,offset:n=0,partition:i=null,partitionValues:a={}}={}){if(Object.keys(t).length===0)return await this.list({partition:i,partitionValues:a,limit:r,offset:n});const o=[];let s=n;const c=Math.min(r,50);for(;o.length<r;){const f=await this.list({partition:i,partitionValues:a,limit:c,offset:s});if(f.length===0)break;const l=f.filter(d=>Object.entries(t).every(([h,u])=>d[h]===u));if(o.push(...l),s+=c,f.length<c)break}return o.slice(0,r)}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({partitionName:n,id:t.id,data:t});if(a){const o=await this.schema.mapper(t),s=Ve(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({id:t,partitionName:r,partitionValues: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],[_])=>w.localeCompare(_));for(const[w,_]of o){const x=n[w];if(x!=null){const A=this.applyPartitionRule(x,_);a.push(`${w}=${A}`)}}if(a.length===0)throw new Error(`No partition values provided for partition '${r}'`);const s=_e(`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=Ve(this.behavior);let u="";if(c.ContentLength>0)try{const w=await this.client.getObject(s);u=await pt(w.Body)}catch{u=""}const{metadata:p}=await h.handleGet({resource:this,metadata:d,body:u});let g=p;return g.id=t,g._contentLength=c.ContentLength,g._lastModified=c.LastModified,g._hasContent=c.ContentLength>0,g._mimeType=c.ContentType||null,g._partition=r,g._partitionValues=n,c.VersionId&&(g._versionId=c.VersionId),c.Expiration&&(g._expiresAt=c.Expiration),g._definitionHash=this.getDefinitionHash(),this.emit("getFromPartition",g),g}}class us extends R{constructor(t){super(),this.version="1",this.s3dbVersion=(()=>{try{return"4.1.9"}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 ci({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,r=void 0){const i={...t.attributes};t.options?.timestamps&&(delete i.createdAt,delete i.updatedAt);const a={attributes:i,behavior:r||t.behavior||"user-management"},o=uo(a);return`sha256:${Zi("sha256").update(o).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=>qf(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:{}}}resourceExists(t){return!!this.resources[t]}resourceExistsWithSameHash({name:t,attributes:r,options:n={},behavior:i="user-management"}){if(!this.resources[t])return{exists:!1,sameHash:!1,hash:null};const a=new ci({name:t,attributes:r,behavior:i,observers:[],client:this.client,version:"temp",options:{cache:this.cache,...n}}),o=this.generateDefinitionHash(a.export(),i),s=this.generateDefinitionHash(this.resources[t].export(),this.resources[t].behavior);return{exists:!0,sameHash:o===s,hash:o,existingHash:s}}async createResourceIfNotExists({name:t,attributes:r,options:n={},behavior:i="user-management"}){const a=!!this.resources[t],o=this.resourceExistsWithSameHash({name:t,attributes:r,options:n,behavior:i});return o.exists&&o.sameHash?{resource:this.resources[t],created:!1,reason:"Resource already exists with same definition hash"}:{resource:await this.createResource({name:t,attributes:r,options:n,behavior:i}),created:!a,reason:a?"Resource updated with new definition":"New resource created"}}async createResource({name:t,attributes:r,options:n={},behavior:i="user-management"}){if(this.resources[t]){const c=this.resources[t];Object.assign(c.options,{cache:this.cache,...n}),i&&(c.behavior=i),c.updateAttributes(r);const f=this.generateDefinitionHash(c.export(),c.behavior),l=this.savedMetadata?.resources?.[t],d=l?.currentVersion||"v0",h=l?.versions?.[d];return(!h||h.hash!==f)&&await this.uploadMetadataFile(),this.emit("s3db.resourceUpdated",t),c}const o=this.savedMetadata?.resources?.[t]?.currentVersion||"v0",s=new ci({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 xh extends us{}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 Eh 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 hs={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 Sh(){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 Se(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 wr=Uint8Array,ae=Uint16Array,_r=Int32Array,Ah=4,ds=0,ps=1,kh=2;function gt(e){for(var t=e.length;--t>=0;)e[t]=0}var Rh=0,ys=1,Oh=2,Th=3,Ih=258,ui=29,Ct=256,Dt=Ct+1+ui,vt=30,hi=19,gs=2*Dt+1,Ge=15,di=16,Ph=7,pi=256,vs=16,ws=17,_s=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],Fh=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],bs=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Ch=512,Ae=new Array((Dt+2)*2);gt(Ae);var jt=new Array(vt*2);gt(jt);var Mt=new Array(Ch);gt(Mt);var Lt=new Array(Ih-Th+1);gt(Lt);var gi=new Array(ui);gt(gi);var mr=new Array(vt);gt(mr);function vi(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 ms,xs,Es;function wi(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function Ss(e){return e<256?Mt[e]:Mt[256+(e>>>7)]}function Nt(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function Q(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 ye(e,t,r){Q(e,r[t*2],r[t*2+1])}function As(e,t){var r=0;do r|=e&1,e>>>=1,r<<=1;while(--t>0);return r>>>1}function Dh(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,g=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<gs;f++)l=e.heap[f],h=r[r[l*2+1]*2+1]+1,h>c&&(h=c,g++),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(g!==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]--,g-=2}while(g>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 ks(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]=As(n[s]++,s))}}function Mh(){var e,t,r,n,i,a=new Array(Ge+1);for(r=0,n=0;n<ui-1;n++)for(gi[n]=r,e=0;e<1<<yi[n];e++)Lt[r++]=n;for(Lt[r-1]=n,i=0,n=0;n<16;n++)for(mr[n]=i,e=0;e<1<<br[n];e++)Mt[i++]=n;for(i>>=7;n<vt;n++)for(mr[n]=i<<7,e=0;e<1<<br[n]-7;e++)Mt[256+i++]=n;for(t=0;t<=Ge;t++)a[t]=0;for(e=0;e<=143;)Ae[e*2+1]=8,e++,a[8]++;for(;e<=255;)Ae[e*2+1]=9,e++,a[9]++;for(;e<=279;)Ae[e*2+1]=7,e++,a[7]++;for(;e<=287;)Ae[e*2+1]=8,e++,a[8]++;for(ks(Ae,Dt+1,a),e=0;e<vt;e++)jt[e*2+1]=5,jt[e*2]=As(e,5);ms=new vi(Ae,yi,Ct+1,Dt,Ge),xs=new vi(jt,br,0,vt,Ge),Es=new vi(new Array(0),Fh,0,hi,Ph)}function Rs(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 Os(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 Lh(e,t,r,n){Os(e),Nt(e,r),Nt(e,~r),Se(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}function Ts(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 _i(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&Ts(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!Ts(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function Is(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?ye(e,i,t):(o=Lt[i],ye(e,o+Ct+1,t),s=yi[o],s!==0&&(i-=gi[o],Q(e,i,s)),n--,o=Ss(n),ye(e,o,r),s=br[o],s!==0&&(n-=mr[o],Q(e,n,s)));while(a<e.last_lit);ye(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=gs,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--)_i(e,r,o);f=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],_i(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++,_i(e,r,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],jh(e,t),ks(r,c,e.bl_count)}function Ps(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[vs*2]++):s<=10?e.bl_tree[ws*2]++:e.bl_tree[_s*2]++,s=0,i=a,o===0?(c=138,f=3):a===o?(c=6,f=3):(c=7,f=4))}function Fs(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 ye(e,a,e.bl_tree);while(--s!==0);else a!==0?(a!==i&&(ye(e,a,e.bl_tree),s--),ye(e,vs,e.bl_tree),Q(e,s-3,2)):s<=10?(ye(e,ws,e.bl_tree),Q(e,s-3,3)):(ye(e,_s,e.bl_tree),Q(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 Nh(e){var t;for(Ps(e,e.dyn_ltree,e.l_desc.max_code),Ps(e,e.dyn_dtree,e.d_desc.max_code),bi(e,e.bl_desc),t=hi-1;t>=3&&e.bl_tree[bs[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(Q(e,t-257,5),Q(e,r-1,5),Q(e,n-4,4),i=0;i<n;i++)Q(e,e.bl_tree[bs[i]*2+1],3);Fs(e,e.dyn_ltree,t-1),Fs(e,e.dyn_dtree,r-1)}function Bh(e){var t=4093624447,r;for(r=0;r<=31;r++,t>>>=1)if(t&1&&e.dyn_ltree[r*2]!==0)return ds;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return ps;for(r=32;r<Ct;r++)if(e.dyn_ltree[r*2]!==0)return ps;return ds}var Cs=!1;function Uh(e){Cs||(Mh(),Cs=!0),e.l_desc=new wi(e.dyn_ltree,ms),e.d_desc=new wi(e.dyn_dtree,xs),e.bl_desc=new wi(e.bl_tree,Es),e.bi_buf=0,e.bi_valid=0,Rs(e)}function Ds(e,t,r,n){Q(e,(Rh<<1)+(n?1:0),3),Lh(e,t,r)}function zh(e){Q(e,ys<<1,3),ye(e,pi,Ae),Dh(e)}function Zh(e,t,r,n){var i,a,o=0;e.level>0?(e.strm.data_type===kh&&(e.strm.data_type=Bh(e)),bi(e,e.l_desc),bi(e,e.d_desc),o=Nh(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?Ds(e,t,r,n):e.strategy===Ah||a===i?(Q(e,(ys<<1)+(n?1:0),3),Is(e,Ae,jt)):(Q(e,(Oh<<1)+(n?1:0),3),$h(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),Is(e,e.dyn_ltree,e.dyn_dtree)),Rs(e),n&&Os(e)}function Fe(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[(Lt[r]+Ct+1)*2]++,e.dyn_dtree[Ss(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 Hh(){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 qh=Hh();function z(e,t,r,n){var i=qh,a=n+r;e^=-1;for(var o=n;o<a;o++)e=e>>>8^i[(e^t[o])&255];return e^-1}var Ye=0,Kh=1,Wh=3,Ce=4,js=5,De=0,Ms=1,je=-2,Vh=-3,xi=-5,Gh=-1,Yh=1,xr=2,Jh=3,Xh=4,Qh=2,Ei=8,ed=9,td=29,rd=256,Si=rd+1+td,nd=30,id=19,ad=2*Si+1,od=15,P=3,Me=258,oe=Me+P+1,sd=32,Ai=42,ki=69,Er=73,Sr=91,Ar=103,Je=113,$t=666,B=1,Bt=2,Xe=3,wt=4,fd=3;function Le(e,t){return e.msg=hs[t],t}function Ls(e){return(e<<1)-(e>4?9:0)}function Qe(e){for(var t=e.length;--t>=0;)e[t]=0}function Ne(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),r!==0&&(Se(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){Zh(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Ne(e.strm)}function I(e,t){e.pending_buf[e.pending++]=t}function Ut(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function cd(e,t,r,n){var i=e.avail_in;return i>n&&(i=n),i===0?0:(e.avail_in-=i,Se(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=z(e.adler,t,i,r)),e.next_in+=i,e.total_in+=i,i)}function Ns(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-oe?e.strstart-(e.w_size-oe):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-oe)){Se(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=cd(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<oe&&e.strm.avail_in!==0)}function ld(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===Ye)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-oe&&(q(e,!1),e.strm.avail_out===0))return B}return e.insert=0,t===Ce?(q(e,!0),e.strm.avail_out===0?Xe:wt):(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<oe){if(zt(e),e.lookahead<oe&&t===Ye)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-oe&&(e.match_length=Ns(e,r)),e.match_length>=P)if(n=Fe(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=Fe(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===Ce?(q(e,!0),e.strm.avail_out===0?Xe:wt):e.last_lit&&(q(e,!1),e.strm.avail_out===0)?B:Bt}function _t(e,t){for(var r,n,i;;){if(e.lookahead<oe){if(zt(e),e.lookahead<oe&&t===Ye)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-oe&&(e.match_length=Ns(e,r),e.match_length<=5&&(e.strategy===Yh||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=Fe(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=Fe(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=Fe(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<P-1?e.strstart:P-1,t===Ce?(q(e,!0),e.strm.avail_out===0?Xe:wt):e.last_lit&&(q(e,!1),e.strm.avail_out===0)?B:Bt}function ud(e,t){for(var r,n,i,a,o=e.window;;){if(e.lookahead<=Me){if(zt(e),e.lookahead<=Me&&t===Ye)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=Fe(e,1,e.match_length-P),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=Fe(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===Ce?(q(e,!0),e.strm.avail_out===0?Xe:wt):e.last_lit&&(q(e,!1),e.strm.avail_out===0)?B:Bt}function hd(e,t){for(var r;;){if(e.lookahead===0&&(zt(e),e.lookahead===0)){if(t===Ye)return B;break}if(e.match_length=0,r=Fe(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===Ce?(q(e,!0),e.strm.avail_out===0?Xe:wt):e.last_lit&&(q(e,!1),e.strm.avail_out===0)?B:Bt}function ge(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 bt;bt=[new ge(0,0,0,0,ld),new ge(4,4,8,4,Ri),new ge(4,5,16,8,Ri),new ge(4,6,32,32,Ri),new ge(4,4,16,16,_t),new ge(8,16,32,32,_t),new ge(8,16,128,128,_t),new ge(8,32,128,256,_t),new ge(32,128,258,1024,_t),new ge(32,258,258,4096,_t)];function dd(e){e.window_size=2*e.w_size,Qe(e.head),e.max_lazy_match=bt[e.level].max_lazy,e.good_match=bt[e.level].good_length,e.nice_match=bt[e.level].nice_length,e.max_chain_length=bt[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 pd(){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 ae(ad*2),this.dyn_dtree=new ae((2*nd+1)*2),this.bl_tree=new ae((2*id+1)*2),Qe(this.dyn_ltree),Qe(this.dyn_dtree),Qe(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new ae(od+1),this.heap=new ae(2*Si+1),Qe(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new ae(2*Si+1),Qe(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 yd(e){var t;return!e||!e.state?Le(e,je):(e.total_in=e.total_out=0,e.data_type=Qh,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?Ai:Je,e.adler=t.wrap===2?0:1,t.last_flush=Ye,Uh(t),De)}function $s(e){var t=yd(e);return t===De&&dd(e.state),t}function gd(e,t,r,n,i,a){if(!e)return je;var o=1;if(t===Gh&&(t=6),n<0?(o=0,n=-n):n>15&&(o=2,n-=16),i<1||i>ed||r!==Ei||n<8||n>15||t<0||t>9||a<0||a>Xh)return Le(e,je);n===8&&(n=9);var s=new pd;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 wr(s.w_size*2),s.head=new ae(s.hash_size),s.prev=new ae(s.w_size),s.lit_bufsize=1<<i+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new wr(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,$s(e)}function vd(e,t){var r,n,i,a;if(!e||!e.state||t>js||t<0)return e?Le(e,je):je;if(n=e.state,!e.output||!e.input&&e.avail_in!==0||n.status===$t&&t!==Ce)return Le(e,e.avail_out===0?xi:je);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=z(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,fd),n.status=Je);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|=sd),o+=31-o%31,n.status=Je,Ut(n,o),n.strstart!==0&&(Ut(n,e.adler>>>16),Ut(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=z(e.adler,n.pending_buf,n.pending-i,i)),Ne(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=z(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=z(e.adler,n.pending_buf,n.pending-i,i)),Ne(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=z(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=z(e.adler,n.pending_buf,n.pending-i,i)),Ne(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=z(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&&Ne(e),n.pending+2<=n.pending_buf_size&&(I(n,e.adler&255),I(n,e.adler>>8&255),e.adler=0,n.status=Je)):n.status=Je),n.pending!==0){if(Ne(e),e.avail_out===0)return n.last_flush=-1,De}else if(e.avail_in===0&&Ls(t)<=Ls(r)&&t!==Ce)return Le(e,xi);if(n.status===$t&&e.avail_in!==0)return Le(e,xi);if(e.avail_in!==0||n.lookahead!==0||t!==Ye&&n.status!==$t){var c=n.strategy===xr?hd(n,t):n.strategy===Jh?ud(n,t):bt[n.level].func(n,t);if((c===Xe||c===wt)&&(n.status=$t),c===B||c===Xe)return e.avail_out===0&&(n.last_flush=-1),De;if(c===Bt&&(t===Kh?zh(n):t!==js&&(Ds(n,0,0,!1),t===Wh&&(Qe(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),Ne(e),e.avail_out===0))return n.last_flush=-1,De}return t!==Ce?De:n.wrap<=0?Ms:(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)):(Ut(n,e.adler>>>16),Ut(n,e.adler&65535)),Ne(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?De:Ms)}function wd(e){var t;return!e||!e.state?je:(t=e.state.status,t!==Ai&&t!==ki&&t!==Er&&t!==Sr&&t!==Ar&&t!==Je&&t!==$t?Le(e,je):(e.state=null,t===Je?Le(e,Vh):De))}var kr=30,_d=12;function bd(e,t){var r,n,i,a,o,s,c,f,l,d,h,u,p,g,w,_,x,A,v,S,T,b,E,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,g=r.lencode,w=r.distcode,_=(1<<r.lenbits)-1,x=(1<<r.distbits)-1;e:do{p<15&&(u+=O[n++]<<p,p+=8,u+=O[n++]<<p,p+=8),A=g[u&_];t:for(;;){if(v=A>>>24,u>>>=v,p-=v,v=A>>>16&255,v===0)k[a++]=A&65535;else if(v&16){S=A&65535,v&=15,v&&(p<v&&(u+=O[n++]<<p,p+=8),S+=u&(1<<v)-1,u>>>=v,p-=v),p<15&&(u+=O[n++]<<p,p+=8,u+=O[n++]<<p,p+=8),A=w[u&x];r:for(;;){if(v=A>>>24,u>>>=v,p-=v,v=A>>>16&255,v&16){if(T=A&65535,v&=15,p<v&&(u+=O[n++]<<p,p+=8,p<v&&(u+=O[n++]<<p,p+=8)),T+=u&(1<<v)-1,T>c){e.msg="invalid distance too far back",r.mode=kr;break e}if(u>>>=v,p-=v,v=a-o,T>v){if(v=T-v,v>l&&r.sane){e.msg="invalid distance too far back",r.mode=kr;break e}if(b=0,E=h,d===0){if(b+=f-v,v<S){S-=v;do k[a++]=h[b++];while(--v);b=a-T,E=k}}else if(d<v){if(b+=f+d-v,v-=d,v<S){S-=v;do k[a++]=h[b++];while(--v);if(b=0,d<S){v=d,S-=v;do k[a++]=h[b++];while(--v);b=a-T,E=k}}}else if(b+=d-v,v<S){S-=v;do k[a++]=h[b++];while(--v);b=a-T,E=k}for(;S>2;)k[a++]=E[b++],k[a++]=E[b++],k[a++]=E[b++],S-=3;S&&(k[a++]=E[b++],S>1&&(k[a++]=E[b++]))}else{b=a-T;do k[a++]=k[b++],k[a++]=k[b++],k[a++]=k[b++],S-=3;while(S>2);S&&(k[a++]=k[b++],S>1&&(k[a++]=k[b++]))}}else if((v&64)===0){A=w[(A&65535)+(u&(1<<v)-1)];continue r}else{e.msg="invalid distance code",r.mode=kr;break e}break}}else if((v&64)===0){A=g[(A&65535)+(u&(1<<v)-1)];continue t}else if(v&32){r.mode=_d;break e}else{e.msg="invalid literal/length code",r.mode=kr;break e}break}}while(n<i&&a<s);S=p>>3,n-=S,p-=S<<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 mt=15,Bs=852,Us=592,zs=0,Oi=1,Zs=2,md=[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],xd=[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],Ed=[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],Sd=[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,g=0,w=0,_=0,x=0,A,v,S,T,b,E=null,O=0,k,C=new ae(mt+1),Z=new ae(mt+1),V=null,re=0,Be,Y,fe;for(f=0;f<=mt;f++)C[f]=0;for(l=0;l<n;l++)C[t[r+l]]++;for(u=c,h=mt;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),w=1,f=1;f<=mt;f++)if(w<<=1,w-=C[f],w<0)return-1;if(w>0&&(e===zs||h!==1))return-1;for(Z[1]=0,f=1;f<mt;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===zs?(E=V=o,k=19):e===Oi?(E=md,O-=257,V=xd,re-=257,k=256):(E=Ed,V=Sd,k=-1),x=0,l=0,f=d,b=a,p=u,g=0,S=-1,_=1<<u,T=_-1,e===Oi&&_>Bs||e===Zs&&_>Us)return 1;for(;;){Be=f-g,o[l]<k?(Y=0,fe=o[l]):o[l]>k?(Y=V[re+o[l]],fe=E[O+o[l]]):(Y=96,fe=0),A=1<<f-g,v=1<<p,d=v;do v-=A,i[b+(x>>g)+v]=Be<<24|Y<<16|fe|0;while(v!==0);for(A=1<<f-1;x&A;)A>>=1;if(A!==0?(x&=A-1,x+=A):x=0,l++,--C[f]===0){if(f===h)break;f=t[r+o[l]]}if(f>u&&(x&T)!==S){for(g===0&&(g=u),b+=d,p=f-g,w=1<<p;p+g<h&&(w-=C[p+g],!(w<=0));)p++,w<<=1;if(_+=1<<p,e===Oi&&_>Bs||e===Zs&&_>Us)return 1;S=x&T,i[S]=u<<24|p<<16|b-a|0}}return x!==0&&(i[b+x]=f-g<<24|64<<16|0),s.bits=u,0}var Ad=0,Hs=1,qs=2,Ks=4,kd=5,Rr=6,Ht=0,Rd=1,Od=2,$e=-2,Td=-3,Id=-4,Pd=-5,Ws=8,Vs=1,Gs=2,Ys=3,Js=4,Xs=5,Qs=6,ef=7,tf=8,rf=9,nf=10,af=11,ke=12,Ti=13,of=14,Ii=15,sf=16,ff=17,cf=18,lf=19,Or=20,Tr=21,uf=22,hf=23,df=24,pf=25,yf=26,Pi=27,gf=28,vf=29,D=30,Fd=31,Cd=32,Dd=852,jd=592;function wf(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function Md(){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 ae(320),this.work=new ae(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Ld(e){var t;return!e||!e.state?$e:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=Vs,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new _r(Dd),t.distcode=t.distdyn=new _r(jd),t.sane=1,t.back=-1,Ht)}function _f(e){var t;return!e||!e.state?$e:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,Ld(e))}function Nd(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))?$e:(n.window!==null&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,_f(e))}function $d(e,t){var r,n;return e?(n=new Md,e.state=n,n.window=null,r=Nd(e,t),r!==Ht&&(e.state=null),r):$e}var bf=!0,Fi,Ci;function Bd(e){if(bf){var t;for(Fi=new _r(512),Ci=new _r(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(Hs,e.lens,0,288,Fi,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Zt(qs,e.lens,0,32,Ci,0,e.work,{bits:5}),bf=!1}e.lencode=Fi,e.lenbits=9,e.distcode=Ci,e.distbits=5}function Ud(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 wr(a.wsize)),n>=a.wsize?(Se(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),Se(a.window,t,r-n,i,a.wnext),n-=i,n?(Se(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 zd(e,t){var r,n,i,a,o,s,c,f,l,d,h,u,p,g,w=0,_,x,A,v,S,T,b,E,O=new wr(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 $e;r=e.state,r.mode===ke&&(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,E=Ht;e:for(;;)switch(r.mode){case Vs: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=z(r.check,O,2,0),f=0,l=0,r.mode=Gs;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)!==Ws){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?nf:ke,f=0,l=0;break;case Gs:for(;l<16;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(r.flags=f,(r.flags&255)!==Ws){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=z(r.check,O,2,0)),f=0,l=0,r.mode=Ys;case Ys: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=z(r.check,O,4,0)),f=0,l=0,r.mode=Js;case Js: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=z(r.check,O,2,0)),f=0,l=0,r.mode=Xs;case Xs: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=z(r.check,O,2,0)),f=0,l=0}else r.head&&(r.head.extra=null);r.mode=Qs;case Qs: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)),Se(r.head.extra,n,a,u,b)),r.flags&512&&(r.check=z(r.check,n,u,a)),s-=u,a+=u,r.length-=u),r.length))break e;r.length=0,r.mode=ef;case ef: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=z(r.check,n,u,a)),s-=u,a+=u,b)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=tf;case tf: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=z(r.check,n,u,a)),s-=u,a+=u,b)break e}else r.head&&(r.head.comment=null);r.mode=rf;case rf: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=ke;break;case nf:for(;l<32;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}e.adler=r.check=wf(f),f=0,l=0,r.mode=af;case af: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,Od;e.adler=r.check=1,r.mode=ke;case ke:if(t===kd||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=of;break;case 1:if(Bd(r),r.mode=Or,t===Rr){f>>>=2,l-=2;break e}break;case 2:r.mode=ff;break;case 3:e.msg="invalid block type",r.mode=D}f>>>=2,l-=2;break;case of: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=sf;case sf:if(u=r.length,u){if(u>s&&(u=s),u>c&&(u=c),u===0)break e;Se(i,n,a,u,o),s-=u,a+=u,c-=u,o+=u,r.length-=u;break}r.mode=ke;break;case ff: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=cf;case cf: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},E=Zt(Ad,r.lens,0,19,r.lencode,0,r.work,k),r.lenbits=k.bits,E){e.msg="invalid code lengths set",r.mode=D;break}r.have=0,r.mode=lf;case lf:for(;r.have<r.nlen+r.ndist;){for(;w=r.lencode[f&(1<<r.lenbits)-1],_=w>>>24,x=w>>>16&255,A=w&65535,!(_<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(A<16)f>>>=_,l-=_,r.lens[r.have++]=A;else{if(A===16){for(C=_+2;l<C;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(f>>>=_,l-=_,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(A===17){for(C=_+3;l<C;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}f>>>=_,l-=_,b=0,u=3+(f&7),f>>>=3,l-=3}else{for(C=_+7;l<C;){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}f>>>=_,l-=_,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},E=Zt(Hs,r.lens,0,r.nlen,r.lencode,0,r.work,k),r.lenbits=k.bits,E){e.msg="invalid literal/lengths set",r.mode=D;break}if(r.distbits=6,r.distcode=r.distdyn,k={bits:r.distbits},E=Zt(qs,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,k),r.distbits=k.bits,E){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,bd(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===ke&&(r.back=-1);break}for(r.back=0;w=r.lencode[f&(1<<r.lenbits)-1],_=w>>>24,x=w>>>16&255,A=w&65535,!(_<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if(x&&(x&240)===0){for(v=_,S=x,T=A;w=r.lencode[T+((f&(1<<v+S)-1)>>v)],_=w>>>24,x=w>>>16&255,A=w&65535,!(v+_<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}f>>>=v,l-=v,r.back+=v}if(f>>>=_,l-=_,r.back+=_,r.length=A,x===0){r.mode=yf;break}if(x&32){r.back=-1,r.mode=ke;break}if(x&64){e.msg="invalid literal/length code",r.mode=D;break}r.extra=x&15,r.mode=uf;case uf: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=hf;case hf:for(;w=r.distcode[f&(1<<r.distbits)-1],_=w>>>24,x=w>>>16&255,A=w&65535,!(_<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}if((x&240)===0){for(v=_,S=x,T=A;w=r.distcode[T+((f&(1<<v+S)-1)>>v)],_=w>>>24,x=w>>>16&255,A=w&65535,!(v+_<=l);){if(s===0)break e;s--,f+=n[a++]<<l,l+=8}f>>>=v,l-=v,r.back+=v}if(f>>>=_,l-=_,r.back+=_,x&64){e.msg="invalid distance code",r.mode=D;break}r.offset=A,r.extra=x&15,r.mode=df;case df: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=pf;case pf: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),g=r.window}else g=i,p=o-r.offset,u=r.length;u>c&&(u=c),c-=u,r.length-=u;do i[o++]=g[p++];while(--u);r.length===0&&(r.mode=Tr);break;case yf: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?z(r.check,i,h,o-h):mi(r.check,i,h,o-h)),h=c,(r.flags?f:wf(f))!==r.check){e.msg="incorrect data check",r.mode=D;break}f=0,l=0}r.mode=gf;case gf: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=vf;case vf:E=Rd;break e;case D:E=Td;break e;case Fd:return Id;case Cd:default:return $e}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!==Ks))&&Ud(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?z(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===ke?128:0)+(r.mode===Or||r.mode===Ii?256:0),(d===0&&h===0||t===Ks)&&E===Ht&&(E=Pd),E}function Zd(e){if(!e||!e.state)return $e;var t=e.state;return t.window&&(t.window=null),e.state=null,Ht}var Di=0,xt=1,Ir=2,qt=3,Pr=4,Et=5,Kt=6,Wt=7,mf=0,xf=1,Ef=2,Sf=3,ji=4,Af=5,Hd=6,Fr=0,kf=1,Rf=2,qd=-1,Kd=-2,Wd=-3,Of=-5,Vd=0,Gd=1,Yd=9,Jd=-1,Xd=1,Qd=2,ep=3,tp=4,rp=0,np=0,ip=1,ap=2,Tf=8;function se(e){if(e<xt||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}se.prototype.init=function(e,t,r,n,i){this.windowBits=e,this.level=t,this.memLevel=r,this.strategy=n,(this.mode===qt||this.mode===Pr)&&(this.windowBits+=16),this.mode===Wt&&(this.windowBits+=32),(this.mode===Et||this.mode===Kt)&&(this.windowBits=-this.windowBits),this.strm=new Sh;var a;switch(this.mode){case xt:case qt:case Et:a=gd(this.strm,this.level,Tf,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},se.prototype.params=function(){throw new Error("deflateParams Not supported")},se.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")},se.prototype.write=function(e,t,r,n,i,a,o){this._writeCheck(),this.write_in_progress=!0;var s=this;return xe.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 op(e,t){for(var r=0;r<e.length;r++)this[t+r]=e[r]}se.prototype.writeSync=function(e,t,r,n,i,a,o){return this._writeCheck(),this._write(e,t,r,n,i,a,o)},se.prototype._write=function(e,t,r,n,i,a,o){if(this.write_in_progress=!0,e!==mf&&e!==xf&&e!==Ef&&e!==Sf&&e!==ji&&e!==Af)throw new Error("Invalid flush value");t==null&&(t=new y(0),n=0,r=0),i._set?i.set=i._set:i.set=op;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 xt:case qt:case Et:c=vd(s,e);break;case Wt:case Ir:case Pr:case Kt:c=zd(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]},se.prototype._checkError=function(e,t,r){switch(e){case Fr:case Of:if(t.avail_out!==0&&r===ji)return!1;break;case kf:break;case Rf:return!1;default:return!1}return!0},se.prototype.close=function(){if(this.write_in_progress){this.pending_close=!0;return}this.pending_close=!1,this.mode===xt||this.mode===qt||this.mode===Et?wd(this.strm):Zd(this.strm),this.mode=Di};var Cr;se.prototype.reset=function(){switch(this.mode){case xt:case Et:Cr=$s(this.strm);break;case Ir:case Kt:Cr=_f(this.strm);break}Cr!==Fr&&this._error(Cr)},se.prototype._error=function(e){this.onerror(hs[e]+": "+this.strm.msg,e),this.write_in_progress=!1,this.pending_close&&this.close()};var If=Object.freeze({__proto__:null,DEFLATE:xt,DEFLATERAW:Et,GUNZIP:Pr,GZIP:qt,INFLATE:Ir,INFLATERAW:Kt,NONE:Di,UNZIP:Wt,Z_BEST_COMPRESSION:Yd,Z_BEST_SPEED:Gd,Z_BINARY:np,Z_BLOCK:Af,Z_BUF_ERROR:Of,Z_DATA_ERROR:Wd,Z_DEFAULT_COMPRESSION:Jd,Z_DEFAULT_STRATEGY:rp,Z_DEFLATED:Tf,Z_ERRNO:qd,Z_FILTERED:Xd,Z_FINISH:ji,Z_FIXED:tp,Z_FULL_FLUSH:Sf,Z_HUFFMAN_ONLY:Qd,Z_NEED_DICT:Rf,Z_NO_COMPRESSION:Vd,Z_NO_FLUSH:mf,Z_OK:Fr,Z_PARTIAL_FLUSH:xf,Z_RLE:ep,Z_STREAM_END:kf,Z_STREAM_ERROR:Kd,Z_SYNC_FLUSH:Ef,Z_TEXT:ip,Z_TREES:Hd,Z_UNKNOWN:ap,Zlib:se});function sp(e,t){if(!e)throw new Error(t)}var m={};Object.keys(If).forEach(function(e){m[e]=If[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 Vt={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(Vt).forEach(function(e){Vt[Vt[e]]=e});function fp(e){return new rt(e)}function cp(e){return new nt(e)}function lp(e){return new ot(e)}function up(e){return new st(e)}function hp(e){return new it(e)}function dp(e){return new at(e)}function pp(e){return new ft(e)}function yp(e,t,r){return typeof t=="function"&&(r=t,t={}),et(new rt(t),e,r)}function gp(e,t){return tt(new rt(t),e)}function vp(e,t,r){return typeof t=="function"&&(r=t,t={}),et(new it(t),e,r)}function wp(e,t){return tt(new it(t),e)}function _p(e,t,r){return typeof t=="function"&&(r=t,t={}),et(new ot(t),e,r)}function bp(e,t){return tt(new ot(t),e)}function mp(e,t,r){return typeof t=="function"&&(r=t,t={}),et(new ft(t),e,r)}function xp(e,t){return tt(new ft(t),e)}function Ep(e,t,r){return typeof t=="function"&&(r=t,t={}),et(new nt(t),e,r)}function Sp(e,t){return tt(new nt(t),e)}function Ap(e,t,r){return typeof t=="function"&&(r=t,t={}),et(new at(t),e,r)}function kp(e,t){return tt(new at(t),e)}function Rp(e,t,r){return typeof t=="function"&&(r=t,t={}),et(new st(t),e,r)}function Op(e,t){return tt(new st(t),e)}function et(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 tt(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 rt(e){if(!(this instanceof rt))return new rt(e);j.call(this,e,m.DEFLATE)}function nt(e){if(!(this instanceof nt))return new nt(e);j.call(this,e,m.INFLATE)}function it(e){if(!(this instanceof it))return new it(e);j.call(this,e,m.GZIP)}function at(e){if(!(this instanceof at))return new at(e);j.call(this,e,m.GUNZIP)}function ot(e){if(!(this instanceof ot))return new ot(e);j.call(this,e,m.DEFLATERAW)}function st(e){if(!(this instanceof st))return new st(e);j.call(this,e,m.INFLATERAW)}function ft(e){if(!(this instanceof ft))return new ft(e);j.call(this,e,m.UNZIP)}function j(e,t){if(this._opts=e=e||{},this._chunkSize=e.chunkSize||m.Z_DEFAULT_CHUNK,te.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=Vt[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)}W(j,te),j.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 xe.nextTick(r)},j.prototype.reset=function(){return this._binding.reset()},j.prototype._flush=function(e){this._transform(new y(0),"",e)},j.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&&xe.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)},j.prototype.close=function(e){if(e&&xe.nextTick(e),!this._closed){this._closed=!0,this._binding.close();var t=this;xe.nextTick(function(){t.emit("close")})}},j.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)},j.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(g){l=g});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(g,w){if(!o._hadError){var _=i-w;if(sp(_>=0,"have should not go down"),_>0){var x=o._buffer.slice(o._offset,o._offset+_);o._offset+=_,s?o.push(x):(c.push(x),f+=x.length)}if((w===0||o._offset>=o._chunkSize)&&(i=o._chunkSize,o._offset=0,o._buffer=new y(o._chunkSize)),w===0){if(a+=n-g,n=g,!s)return!0;var A=o._binding.write(t,e,a,n,o._buffer,o._offset,o._chunkSize);A.callback=p,A.buffer=e;return}if(!s)return!1;r()}}},W(rt,j),W(nt,j),W(it,j),W(at,j),W(ot,j),W(st,j),W(ft,j);var Pf={codes:Vt,createDeflate:fp,createInflate:cp,createDeflateRaw:lp,createInflateRaw:up,createGzip:hp,createGunzip:dp,createUnzip:pp,deflate:yp,deflateSync:gp,gzip:vp,gzipSync:wp,deflateRaw:_p,deflateRawSync:bp,unzip:mp,unzipSync:xp,inflate:Ep,inflateSync:Sp,gunzip:Ap,gunzipSync:kp,inflateRaw:Rp,inflateRawSync:Op,Deflate:rt,Inflate:nt,Gzip:it,Gunzip:at,DeflateRaw:ot,InflateRaw:st,Unzip:ft,Zlib:j};class Ff 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=Pf.gzipSync(n).toString("base64"),this.client.putObject({key:_e(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(_e(this.keyPrefix,t));let n=await pt(r);return n=Buffer.from(n,"base64"),n=Pf.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(_e(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 Cf 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 Tp={setup(e){},start(){},stop(){}},Ip={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 Pp extends Cf{constructor(t={}){super(),this.driver=t.driver}async setup(t){this.database=t,this.driver||(this.driver=new Ff({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=_e(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=_e(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{lt as BaseError,li as Cache,Pp as CachePlugin,oa as Client,aa as ConnectionString,Ip as CostsPlugin,us as Database,ra as ErrorMap,tr as InvalidResourceItem,Eh as MemoryCache,ea as MissingMetadata,Xi as NoSuchBucket,Br as NoSuchKey,Qi as NotFound,Cf as Plugin,Tp as PluginObject,is as ResourceIdsPageReader,ns as ResourceIdsReader,as as ResourceReader,os as ResourceWriter,Ff as S3Cache,ia as S3_DEFAULT_ENDPOINT,na as S3_DEFAULT_REGION,xh as S3db,ta as UnknownError,ho as Validator,po as ValidatorManager,fa as decrypt,Ur as encrypt,sa as sha256,pt as streamToString};
|