UNPKG

lakutata

Version:

An IoC-based universal application framework.

2,094 lines (1,704 loc) 284 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const e = require("../../../vendor/Package.1.cjs"); const t = require("../../lib/core/Component.cjs"); const n = require("../../decorators/di/Lifetime.cjs"); const r = require("./lib/DockerImage.cjs"); const i = require("./lib/DockerContainer.cjs"); const s = require("os"); const a = require("../../decorators/di/Configurable.cjs"); const o = require("../../../vendor/Package.2.cjs"); const u = require("../../../vendor/Package.19.cjs"); const c = require("./exceptions/DockerConnectionException.cjs"); const l = require("./exceptions/DockerImageNotFoundException.cjs"); const f = require("./options/image/ImagePullOptions.cjs"); const h = require("../../decorators/dto/Accept.cjs"); const d = require("node:readline"); const g = require("./exceptions/DockerImagePullException.cjs"); const p = require("../../lib/helpers/IsAbortError.cjs"); const m = require("./options/image/ImageBuildOptions.cjs"); const b = require("./exceptions/DockerImageBuildException.cjs"); const _ = require("./options/image/ImageImportOptions.cjs"); const v = require("./exceptions/DockerImageImportException.cjs"); const y = require("../../../vendor/Package.5.cjs"); require("../../../vendor/Package.8.cjs"); const A = require("events"); const k = require("node:fs"); const w = require("node:stream"); const x = require("./options/network/NetworkCreateOptions.cjs"); const S = require("../../lib/helpers/As.cjs"); const R = require("../../lib/core/Time.cjs"); const I = require("./exceptions/DockerNetworkNotFoundException.cjs"); const O = require("./options/container/ContainerSettingOptions.cjs"); const C = require("./options/DockerPruneOptions.cjs"); const P = require("./options/auth/DockerAuthOptions.cjs"); const E = require("../../lib/helpers/DevNull.cjs"); const T = require("../../../vendor/Package.7.cjs"); const D = require("node:fs/promises"); const j = require("node:path"); require("../../../vendor/Package.3.cjs"); require("../../lib/base/async-constructor/AsyncConstructor.cjs"); require("../../lib/base/async-constructor/Append.cjs"); require("../../lib/helpers/IsPromiseLike.cjs"); require("../../lib/helpers/IsPromise.cjs"); require("util/types"); require("../../exceptions/MethodNotFoundException.cjs"); require("../../lib/base/abstracts/Exception.cjs"); require("../../lib/base/internal/BasicInfo.cjs"); require("../../../vendor/Package.6.cjs"); require("../../lib/base/internal/ThrowWarning.cjs"); require("../../lib/helpers/Templating.cjs"); require("../../lib/base/internal/CamelCase.cjs"); require("../../lib/helpers/NoCase.cjs"); require("../../lib/ioc/DependencyInjectionContainer.cjs"); require("util"); require("../../lib/ioc/Errors.cjs"); require("../../exceptions/di/DependencyInjectionException.cjs"); require("../../lib/base/internal/ConstructorSymbol.cjs"); require("../../constants/DIMetadataKey.cjs"); require("../../../vendor/Package.4.cjs"); require("node:crypto"); require("../../lib/base/internal/DataValidator.cjs"); require("node:util/types"); require("../../lib/validation/VLD.cjs"); require("../../../vendor/Package.11.cjs"); require("url"); require("../../../vendor/Package.10.cjs"); require("../../exceptions/dto/InvalidValueException.cjs"); require("../../../vendor/Package.9.cjs"); require("../../lib/helpers/IsHtml.cjs"); require("../../lib/helpers/IsXML.cjs"); require("../../constants/DTOMetadataKey.cjs"); require("../../lib/helpers/ObjectConstructor.cjs"); require("../../lib/helpers/ObjectParentConstructors.cjs"); require("../../lib/helpers/ObjectParentConstructor.cjs"); require("../../lib/helpers/ObjectPrototype.cjs"); require("../../lib/ioc/InjectionMode.cjs"); require("../../lib/ioc/Lifetime.cjs"); require("../../lib/ioc/ListModules.cjs"); require("path"); require("stream"); require("fs"); require("../../lib/ioc/Utils.cjs"); require("../../lib/ioc/FunctionTokenizer.cjs"); require("../../lib/ioc/LoadModules.cjs"); require("../../lib/ioc/Resolvers.cjs"); require("../../lib/ioc/ParamParser.cjs"); require("../../lib/base/internal/ObjectLifetime.cjs"); require("../../exceptions/di/LifetimeLockedException.cjs"); require("../../lib/base/internal/ObjectWeakRefs.cjs"); require("../../lib/base/internal/ConfigurableRecordsInjection.cjs"); require("../../lib/base/internal/ObjectConfiguration.cjs"); require("../../lib/base/internal/ObjectInjection.cjs"); require("../../lib/base/internal/ObjectContainer.cjs"); require("../../decorators/dto/Expect.cjs"); require("../../decorators/dto/IndexSignature.cjs"); require("../../lib/helpers/IsEmptyObject.cjs"); require("../../lib/base/EventEmitter.cjs"); require("../../lib/core/Provider.cjs"); require("../../lib/base/internal/MethodValidation.cjs"); require("../../exceptions/dto/InvalidMethodAcceptException.cjs"); require("../../exceptions/dto/InvalidMethodReturnException.cjs"); require("./options/image/ImageTagOptions.cjs"); require("./options/image/ImageExportOptions.cjs"); require("stream/promises"); require("./exceptions/DockerImageRepoTagNotFoundException.cjs"); require("./options/image/ImageRemoveOptions.cjs"); require("./options/image/ImagePushOptions.cjs"); require("./exceptions/DockerImagePushException.cjs"); require("./lib/ParseRepositoryTag.cjs"); require("./lib/ParseEnvToRecord.cjs"); require("./options/container/ContainerStopOptions.cjs"); require("./options/container/ContainerRemoveOptions.cjs"); require("./options/container/ContainerKillOptions.cjs"); require("../../lib/helpers/UniqueArray.cjs"); require("./options/container/ContainerCommitOptions.cjs"); require("./options/container/ContainerCreateTTYOptions.cjs"); require("./options/container/ContainerTTYConsoleSizeOptions.cjs"); require("./options/container/ContainerLogsOptions.cjs"); require("./options/container/ContainerExecOptions.cjs"); require("./options/container/ContainerExportDirectoryOptions.cjs"); require("querystring"); require("https"); require("http"); require("net"); require("child_process"); require("../../../vendor/Package.15.cjs"); require("crypto"); require("../../../vendor/Package.18.cjs"); require("assert"); require("../../../vendor/Package.14.cjs"); require("buffer"); require("tls"); require("dns"); require("zlib"); require("../../../vendor/Package.62.cjs"); require("../../../vendor/Package.132.cjs"); require("module"); require("tty"); require("../../../vendor/Package.17.cjs"); require("worker_threads"); require("string_decoder"); require("../../../vendor/Package.20.cjs"); require("constants"); require("process"); require("http2"); require("../../decorators/di/Inject.cjs"); require("./types/ContainerCapability.cjs"); const L = e => e && e.__esModule ? e : { default: e }; const N = L(A); const q = L(j); var F = {}; var M = class FixedFIFO { constructor(e) { if (!(e > 0) || (e - 1 & e) !== 0) throw new Error("Max size for a FixedFIFO should be a power of two"); this.buffer = new Array(e); this.mask = e - 1; this.top = 0; this.btm = 0; this.next = null; } clear() { this.top = this.btm = 0; this.next = null; this.buffer.fill(undefined); } push(e) { if (this.buffer[this.top] !== undefined) return false; this.buffer[this.top] = e; this.top = this.top + 1 & this.mask; return true; } shift() { const e = this.buffer[this.btm]; if (e === undefined) return undefined; this.buffer[this.btm] = undefined; this.btm = this.btm + 1 & this.mask; return e; } peek() { return this.buffer[this.btm]; } isEmpty() { return this.buffer[this.btm] === undefined; } }; const V = y.getDefaultExportFromCjs(M); const B = M; var U = class FastFIFO { constructor(e) { this.hwm = e || 16; this.head = new B(this.hwm); this.tail = this.head; this.length = 0; } clear() { this.head = this.tail; this.head.clear(); this.length = 0; } push(e) { this.length++; if (!this.head.push(e)) { const t = this.head; this.head = t.next = new B(2 * this.head.buffer.length); this.head.push(e); } } shift() { if (this.length !== 0) this.length--; const e = this.tail.shift(); if (e === undefined && this.tail.next) { const e = this.tail.next; this.tail.next = null; this.tail = e; return this.tail.shift(); } return e; } peek() { const e = this.tail.peek(); if (e === undefined && this.tail.next) return this.tail.next.peek(); return e; } isEmpty() { return this.length === 0; } }; const W = y.getDefaultExportFromCjs(U); function H(e) { return Buffer.isBuffer(e) || e instanceof Uint8Array; } function z(e) { return Buffer.isEncoding(e); } function K(e, t, n) { return Buffer.alloc(e, t, n); } function $(e) { return Buffer.allocUnsafe(e); } function J(e) { return Buffer.allocUnsafeSlow(e); } function G(e, t) { return Buffer.byteLength(e, t); } function Y(e, t) { return Buffer.compare(e, t); } function X(e, t) { return Buffer.concat(e, t); } function Z(e, t, n, r, i) { return ue(e).copy(t, n, r, i); } function Q(e, t) { return ue(e).equals(t); } function ee(e, t, n, r, i) { return ue(e).fill(t, n, r, i); } function te(e, t, n) { return Buffer.from(e, t, n); } function ne(e, t, n, r) { return ue(e).includes(t, n, r); } function re(e, t, n, r) { return ue(e).indexOf(t, n, r); } function ie(e, t, n, r) { return ue(e).lastIndexOf(t, n, r); } function se(e) { return ue(e).swap16(); } function ae(e) { return ue(e).swap32(); } function oe(e) { return ue(e).swap64(); } function ue(e) { if (Buffer.isBuffer(e)) return e; return Buffer.from(e.buffer, e.byteOffset, e.byteLength); } function ce(e, t, n, r) { return ue(e).toString(t, n, r); } function le(e, t, n, r, i) { return ue(e).write(t, n, r, i); } function fe(e, t, n) { return ue(e).writeDoubleLE(t, n); } function he(e, t, n) { return ue(e).writeFloatLE(t, n); } function de(e, t, n) { return ue(e).writeUInt32LE(t, n); } function ge(e, t, n) { return ue(e).writeInt32LE(t, n); } function pe(e, t) { return ue(e).readDoubleLE(t); } function me(e, t) { return ue(e).readFloatLE(t); } function be(e, t) { return ue(e).readUInt32LE(t); } function _e(e, t) { return ue(e).readInt32LE(t); } function ve(e, t, n) { return ue(e).writeDoubleBE(t, n); } function ye(e, t, n) { return ue(e).writeFloatBE(t, n); } function Ae(e, t, n) { return ue(e).writeUInt32BE(t, n); } function ke(e, t, n) { return ue(e).writeInt32BE(t, n); } function we(e, t) { return ue(e).readDoubleBE(t); } function xe(e, t) { return ue(e).readFloatBE(t); } function Se(e, t) { return ue(e).readUInt32BE(t); } function Re(e, t) { return ue(e).readInt32BE(t); } var Ie = { isBuffer: H, isEncoding: z, alloc: K, allocUnsafe: $, allocUnsafeSlow: J, byteLength: G, compare: Y, concat: X, copy: Z, equals: Q, fill: ee, from: te, includes: ne, indexOf: re, lastIndexOf: ie, swap16: se, swap32: ae, swap64: oe, toBuffer: ue, toString: ce, write: le, writeDoubleLE: fe, writeFloatLE: he, writeUInt32LE: de, writeInt32LE: ge, readDoubleLE: pe, readFloatLE: me, readUInt32LE: be, readInt32LE: _e, writeDoubleBE: ve, writeFloatBE: ye, writeUInt32BE: Ae, writeInt32BE: ke, readDoubleBE: we, readFloatBE: xe, readUInt32BE: Se, readInt32BE: Re }; const Oe = y.getDefaultExportFromCjs(Ie); const Ce = Ie; var Pe = class PassThroughDecoder { constructor(e) { this.encoding = e; } get remaining() { return 0; } decode(e) { return Ce.toString(e, this.encoding); } flush() { return ""; } }; const Ee = y.getDefaultExportFromCjs(Pe); const Te = Ie; var De = class UTF8Decoder { constructor() { this.codePoint = 0; this.bytesSeen = 0; this.bytesNeeded = 0; this.lowerBoundary = 128; this.upperBoundary = 191; } get remaining() { return this.bytesSeen; } decode(e) { if (this.bytesNeeded === 0) { let t = true; for (let n = Math.max(0, e.byteLength - 4), r = e.byteLength; n < r && t; n++) { t = e[n] <= 127; } if (t) return Te.toString(e, "utf8"); } let t = ""; for (let n = 0, r = e.byteLength; n < r; n++) { const r = e[n]; if (this.bytesNeeded === 0) { if (r <= 127) { t += String.fromCharCode(r); } else { this.bytesSeen = 1; if (r >= 194 && r <= 223) { this.bytesNeeded = 2; this.codePoint = r & 31; } else if (r >= 224 && r <= 239) { if (r === 224) this.lowerBoundary = 160; else if (r === 237) this.upperBoundary = 159; this.bytesNeeded = 3; this.codePoint = r & 15; } else if (r >= 240 && r <= 244) { if (r === 240) this.lowerBoundary = 144; if (r === 244) this.upperBoundary = 143; this.bytesNeeded = 4; this.codePoint = r & 7; } else { t += "�"; } } continue; } if (r < this.lowerBoundary || r > this.upperBoundary) { this.codePoint = 0; this.bytesNeeded = 0; this.bytesSeen = 0; this.lowerBoundary = 128; this.upperBoundary = 191; t += "�"; continue; } this.lowerBoundary = 128; this.upperBoundary = 191; this.codePoint = this.codePoint << 6 | r & 63; this.bytesSeen++; if (this.bytesSeen !== this.bytesNeeded) continue; t += String.fromCodePoint(this.codePoint); this.codePoint = 0; this.bytesNeeded = 0; this.bytesSeen = 0; } return t; } flush() { const e = this.bytesNeeded > 0 ? "�" : ""; this.codePoint = 0; this.bytesNeeded = 0; this.bytesSeen = 0; this.lowerBoundary = 128; this.upperBoundary = 191; return e; } }; const je = y.getDefaultExportFromCjs(De); const Le = Pe; const Ne = De; var qe = class TextDecoder { constructor(e = "utf8") { this.encoding = Fe(e); switch (this.encoding) { case "utf8": this.decoder = new Ne; break; case "utf16le": case "base64": throw new Error("Unsupported encoding: " + this.encoding); default: this.decoder = new Le(this.encoding); } } get remaining() { return this.decoder.remaining; } push(e) { if (typeof e === "string") return e; return this.decoder.decode(e); } write(e) { return this.push(e); } end(e) { let t = ""; if (e) t = this.push(e); t += this.decoder.flush(); return t; } }; function Fe(e) { e = e.toLowerCase(); switch (e) { case "utf8": case "utf-8": return "utf8"; case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return "utf16le"; case "latin1": case "binary": return "latin1"; case "base64": case "ascii": case "hex": return e; default: throw new Error("Unknown encoding: " + e); } } const Me = y.getDefaultExportFromCjs(qe); const {EventEmitter: Ve} = N.default; const Be = new Error("Stream was destroyed"); const Ue = new Error("Premature close"); const We = U; const He = qe; const ze = typeof queueMicrotask === "undefined" ? e => y.commonjsGlobal.process.nextTick(e) : queueMicrotask; const Ke = (1 << 29) - 1; const $e = 1; const Je = 2; const Ge = 4; const Ye = 8; const Xe = Ke ^ $e; const Ze = Ke ^ Je; const Qe = 1 << 4; const et = 2 << 4; const tt = 4 << 4; const nt = 8 << 4; const rt = 16 << 4; const it = 32 << 4; const st = 64 << 4; const at = 128 << 4; const ot = 256 << 4; const ut = 512 << 4; const ct = 1024 << 4; const lt = 2048 << 4; const ft = 4096 << 4; const ht = 8192 << 4; const dt = rt | it; const gt = Qe | ft; const pt = tt | Qe; const mt = ot | nt; const bt = rt | ht; const _t = Ke ^ Qe; const vt = Ke ^ tt; const yt = Ke ^ (tt | ft); const At = Ke ^ ft; const kt = Ke ^ rt; const wt = Ke ^ (nt | ut); const xt = Ke ^ st; const St = Ke ^ dt; const Rt = Ke ^ lt; const It = Ke ^ et; const Ot = Ke ^ ht; const Ct = Ke ^ bt; const Pt = 1 << 18; const Et = 2 << 18; const Tt = 4 << 18; const Dt = 8 << 18; const jt = 16 << 18; const Lt = 32 << 18; const Nt = 64 << 18; const qt = 128 << 18; const Ft = 256 << 18; const Mt = 512 << 18; const Vt = 1024 << 18; const Bt = Ke ^ (Pt | Ft); const Ut = Ke ^ Tt; const Wt = Ke ^ (Pt | Mt); const Ht = Ke ^ jt; const zt = Ke ^ Dt; const Kt = Ke ^ qt; const $t = Ke ^ Et; const Jt = Ke ^ Vt; const Gt = Qe | Pt; const Yt = Ke ^ Gt; const Xt = ct | Lt; const Zt = Ge | Ye | Je; const Qt = Zt | $e; const en = Zt | Xt; const tn = Ut & vt; const nn = qt | lt; const rn = nn & Yt; const sn = Qt | rn; const an = Qt | st | ct; const on = Qt | ct | nt; const un = Qt | st | nt; const cn = Qt | ot | nt | ut; const ln = Qt | Qe | st | ct | ft | ht; const fn = Zt | st | ct; const hn = et | Qt | lt | tt; const dn = lt | $e; const gn = Qt | Mt | Lt; const pn = Dt | jt; const mn = Dt | Pt; const bn = Dt | jt | Qt | Pt; const _n = Qt | Pt | Dt | Vt; const vn = Tt | Pt; const yn = Pt | Ft; const An = Qt | Mt | mn | Lt; const kn = jt | Zt | Mt | Lt; const wn = Et | Qt | qt | Tt; const xn = Mt | Lt | Zt; const Sn = Symbol.asyncIterator || Symbol("asyncIterator"); class WritableState { constructor(e, {highWaterMark: t = 16384, map: n = null, mapWritable: r, byteLength: i, byteLengthWritable: s} = {}) { this.stream = e; this.queue = new We; this.highWaterMark = t; this.buffered = 0; this.error = null; this.pipeline = null; this.drains = null; this.byteLength = s || i || Xn; this.map = r || n; this.afterWrite = Cn.bind(this); this.afterUpdateNextTick = Tn.bind(this); } get ended() { return (this.stream._duplexState & Lt) !== 0; } push(e) { if ((this.stream._duplexState & xn) !== 0) return false; if (this.map !== null) e = this.map(e); this.buffered += this.byteLength(e); this.queue.push(e); if (this.buffered < this.highWaterMark) { this.stream._duplexState |= Dt; return true; } this.stream._duplexState |= pn; return false; } shift() { const e = this.queue.shift(); this.buffered -= this.byteLength(e); if (this.buffered === 0) this.stream._duplexState &= zt; return e; } end(e) { if (typeof e === "function") this.stream.once("finish", e); else if (e !== undefined && e !== null) this.push(e); this.stream._duplexState = (this.stream._duplexState | Mt) & Ut; } autoBatch(e, t) { const n = []; const r = this.stream; n.push(e); while ((r._duplexState & _n) === mn) { n.push(r._writableState.shift()); } if ((r._duplexState & Qt) !== 0) return t(null); r._writev(n, t); } update() { const e = this.stream; e._duplexState |= Et; do { while ((e._duplexState & _n) === Dt) { const t = this.shift(); e._duplexState |= yn; e._write(t, this.afterWrite); } if ((e._duplexState & vn) === 0) this.updateNonPrimary(); } while (this.continueUpdate() === true); e._duplexState &= $t; } updateNonPrimary() { const e = this.stream; if ((e._duplexState & An) === Mt) { e._duplexState = e._duplexState | Pt; e._final(In.bind(this)); return; } if ((e._duplexState & Zt) === Ge) { if ((e._duplexState & nn) === 0) { e._duplexState |= Gt; e._destroy(On.bind(this)); } return; } if ((e._duplexState & sn) === $e) { e._duplexState = (e._duplexState | Gt) & Xe; e._open(jn.bind(this)); } } continueUpdate() { if ((this.stream._duplexState & qt) === 0) return false; this.stream._duplexState &= Kt; return true; } updateCallback() { if ((this.stream._duplexState & wn) === Tt) this.update(); else this.updateNextTick(); } updateNextTick() { if ((this.stream._duplexState & qt) !== 0) return; this.stream._duplexState |= qt; if ((this.stream._duplexState & Et) === 0) ze(this.afterUpdateNextTick); } } class ReadableState { constructor(e, {highWaterMark: t = 16384, map: n = null, mapReadable: r, byteLength: i, byteLengthReadable: s} = {}) { this.stream = e; this.queue = new We; this.highWaterMark = t === 0 ? 1 : t; this.buffered = 0; this.readAhead = t > 0; this.error = null; this.pipeline = null; this.byteLength = s || i || Xn; this.map = r || n; this.pipeTo = null; this.afterRead = Pn.bind(this); this.afterUpdateNextTick = En.bind(this); } get ended() { return (this.stream._duplexState & ct) !== 0; } pipe(e, t) { if (this.pipeTo !== null) throw new Error("Can only pipe to one destination"); if (typeof t !== "function") t = null; this.stream._duplexState |= it; this.pipeTo = e; this.pipeline = new Pipeline(this.stream, e, t); if (t) this.stream.on("error", Zn); if (Hn(e)) { e._writableState.pipeline = this.pipeline; if (t) e.on("error", Zn); e.on("finish", this.pipeline.finished.bind(this.pipeline)); } else { const t = this.pipeline.done.bind(this.pipeline, e); const n = this.pipeline.done.bind(this.pipeline, e, null); e.on("error", t); e.on("close", n); e.on("finish", this.pipeline.finished.bind(this.pipeline)); } e.on("drain", Rn.bind(this)); this.stream.emit("piping", e); e.emit("pipe", this.stream); } push(e) { const t = this.stream; if (e === null) { this.highWaterMark = 0; t._duplexState = (t._duplexState | st) & yt; return false; } if (this.map !== null) { e = this.map(e); if (e === null) { t._duplexState &= At; return this.buffered < this.highWaterMark; } } this.buffered += this.byteLength(e); this.queue.push(e); t._duplexState = (t._duplexState | nt) & At; return this.buffered < this.highWaterMark; } shift() { const e = this.queue.shift(); this.buffered -= this.byteLength(e); if (this.buffered === 0) this.stream._duplexState &= wt; return e; } unshift(e) { const t = [ this.map !== null ? this.map(e) : e ]; while (this.buffered > 0) t.push(this.shift()); for (let e = 0; e < t.length - 1; e++) { const n = t[e]; this.buffered += this.byteLength(n); this.queue.push(n); } this.push(t[t.length - 1]); } read() { const e = this.stream; if ((e._duplexState & on) === nt) { const t = this.shift(); if (this.pipeTo !== null && this.pipeTo.write(t) === false) e._duplexState &= St; if ((e._duplexState & at) !== 0) e.emit("data", t); return t; } if (this.readAhead === false) { e._duplexState |= ht; this.updateNextTick(); } return null; } drain() { const e = this.stream; while ((e._duplexState & on) === nt && (e._duplexState & dt) !== 0) { const t = this.shift(); if (this.pipeTo !== null && this.pipeTo.write(t) === false) e._duplexState &= St; if ((e._duplexState & at) !== 0) e.emit("data", t); } } update() { const e = this.stream; e._duplexState |= et; do { this.drain(); while (this.buffered < this.highWaterMark && (e._duplexState & ln) === ht) { e._duplexState |= gt; e._read(this.afterRead); this.drain(); } if ((e._duplexState & cn) === mt) { e._duplexState |= ut; e.emit("readable"); } if ((e._duplexState & pt) === 0) this.updateNonPrimary(); } while (this.continueUpdate() === true); e._duplexState &= It; } updateNonPrimary() { const e = this.stream; if ((e._duplexState & un) === st) { e._duplexState = (e._duplexState | ct) & xt; e.emit("end"); if ((e._duplexState & en) === Xt) e._duplexState |= Ge; if (this.pipeTo !== null) this.pipeTo.end(); } if ((e._duplexState & Zt) === Ge) { if ((e._duplexState & nn) === 0) { e._duplexState |= Gt; e._destroy(On.bind(this)); } return; } if ((e._duplexState & sn) === $e) { e._duplexState = (e._duplexState | Gt) & Xe; e._open(jn.bind(this)); } } continueUpdate() { if ((this.stream._duplexState & lt) === 0) return false; this.stream._duplexState &= Rt; return true; } updateCallback() { if ((this.stream._duplexState & hn) === tt) this.update(); else this.updateNextTick(); } updateNextTickIfOpen() { if ((this.stream._duplexState & dn) !== 0) return; this.stream._duplexState |= lt; if ((this.stream._duplexState & et) === 0) ze(this.afterUpdateNextTick); } updateNextTick() { if ((this.stream._duplexState & lt) !== 0) return; this.stream._duplexState |= lt; if ((this.stream._duplexState & et) === 0) ze(this.afterUpdateNextTick); } } class TransformState { constructor(e) { this.data = null; this.afterTransform = Ln.bind(e); this.afterFinal = null; } } class Pipeline { constructor(e, t, n) { this.from = e; this.to = t; this.afterPipe = n; this.error = null; this.pipeToFinished = false; } finished() { this.pipeToFinished = true; } done(e, t) { if (t) this.error = t; if (e === this.to) { this.to = null; if (this.from !== null) { if ((this.from._duplexState & ct) === 0 || !this.pipeToFinished) { this.from.destroy(this.error || new Error("Writable stream closed prematurely")); } return; } } if (e === this.from) { this.from = null; if (this.to !== null) { if ((e._duplexState & ct) === 0) { this.to.destroy(this.error || new Error("Readable stream closed before ending")); } return; } } if (this.afterPipe !== null) this.afterPipe(this.error); this.to = this.from = this.afterPipe = null; } } function Rn() { this.stream._duplexState |= it; this.updateCallback(); } function In(e) { const t = this.stream; if (e) t.destroy(e); if ((t._duplexState & Zt) === 0) { t._duplexState |= Lt; t.emit("finish"); } if ((t._duplexState & en) === Xt) { t._duplexState |= Ge; } t._duplexState &= Wt; if ((t._duplexState & Et) === 0) this.update(); else this.updateNextTick(); } function On(e) { const t = this.stream; if (!e && this.error !== Be) e = this.error; if (e) t.emit("error", e); t._duplexState |= Ye; t.emit("close"); const n = t._readableState; const r = t._writableState; if (n !== null && n.pipeline !== null) n.pipeline.done(t, e); if (r !== null) { while (r.drains !== null && r.drains.length > 0) r.drains.shift().resolve(false); if (r.pipeline !== null) r.pipeline.done(t, e); } } function Cn(e) { const t = this.stream; if (e) t.destroy(e); t._duplexState &= Bt; if (this.drains !== null) Dn(this.drains); if ((t._duplexState & bn) === jt) { t._duplexState &= Ht; if ((t._duplexState & Nt) === Nt) { t.emit("drain"); } } this.updateCallback(); } function Pn(e) { if (e) this.stream.destroy(e); this.stream._duplexState &= _t; if (this.readAhead === false && (this.stream._duplexState & rt) === 0) this.stream._duplexState &= Ot; this.updateCallback(); } function En() { if ((this.stream._duplexState & et) === 0) { this.stream._duplexState &= Rt; this.update(); } } function Tn() { if ((this.stream._duplexState & Et) === 0) { this.stream._duplexState &= Kt; this.update(); } } function Dn(e) { for (let t = 0; t < e.length; t++) { if (--e[t].writes === 0) { e.shift().resolve(true); t--; } } } function jn(e) { const t = this.stream; if (e) t.destroy(e); if ((t._duplexState & Ge) === 0) { if ((t._duplexState & an) === 0) t._duplexState |= tt; if ((t._duplexState & gn) === 0) t._duplexState |= Tt; t.emit("open"); } t._duplexState &= Yt; if (t._writableState !== null) { t._writableState.updateCallback(); } if (t._readableState !== null) { t._readableState.updateCallback(); } } function Ln(e, t) { if (t !== undefined && t !== null) this.push(t); this._writableState.afterWrite(e); } function Nn(e) { if (this._readableState !== null) { if (e === "data") { this._duplexState |= at | bt; this._readableState.updateNextTick(); } if (e === "readable") { this._duplexState |= ot; this._readableState.updateNextTick(); } } if (this._writableState !== null) { if (e === "drain") { this._duplexState |= Nt; this._writableState.updateNextTick(); } } } class Stream extends Ve { constructor(e) { super(); this._duplexState = 0; this._readableState = null; this._writableState = null; if (e) { if (e.open) this._open = e.open; if (e.destroy) this._destroy = e.destroy; if (e.predestroy) this._predestroy = e.predestroy; if (e.signal) { e.signal.addEventListener("abort", Qn.bind(this)); } } this.on("newListener", Nn); } _open(e) { e(null); } _destroy(e) { e(null); } _predestroy() {} get readable() { return this._readableState !== null ? true : undefined; } get writable() { return this._writableState !== null ? true : undefined; } get destroyed() { return (this._duplexState & Ye) !== 0; } get destroying() { return (this._duplexState & Zt) !== 0; } destroy(e) { if ((this._duplexState & Zt) === 0) { if (!e) e = Be; this._duplexState = (this._duplexState | Ge) & tn; if (this._readableState !== null) { this._readableState.highWaterMark = 0; this._readableState.error = e; } if (this._writableState !== null) { this._writableState.highWaterMark = 0; this._writableState.error = e; } this._duplexState |= Je; this._predestroy(); this._duplexState &= Ze; if (this._readableState !== null) this._readableState.updateNextTick(); if (this._writableState !== null) this._writableState.updateNextTick(); } } } let qn = class Readable extends Stream { constructor(e) { super(e); this._duplexState |= $e | Lt | ht; this._readableState = new ReadableState(this, e); if (e) { if (this._readableState.readAhead === false) this._duplexState &= Ot; if (e.read) this._read = e.read; if (e.eagerOpen) this._readableState.updateNextTick(); if (e.encoding) this.setEncoding(e.encoding); } } setEncoding(e) { const t = new He(e); const n = this._readableState.map || Un; this._readableState.map = r; return this; function r(e) { const r = t.push(e); return r === "" && (e.byteLength !== 0 || t.remaining > 0) ? null : n(r); } } _read(e) { e(null); } pipe(e, t) { this._readableState.updateNextTick(); this._readableState.pipe(e, t); return e; } read() { this._readableState.updateNextTick(); return this._readableState.read(); } push(e) { this._readableState.updateNextTickIfOpen(); return this._readableState.push(e); } unshift(e) { this._readableState.updateNextTickIfOpen(); return this._readableState.unshift(e); } resume() { this._duplexState |= bt; this._readableState.updateNextTick(); return this; } pause() { this._duplexState &= this._readableState.readAhead === false ? Ct : kt; return this; } static _fromAsyncIterator(e, t) { let n; const r = new Readable({ ...t, read(t) { e.next().then(i).then(t.bind(null, null)).catch(t); }, predestroy() { n = e.return(); }, destroy(e) { if (!n) return e(null); n.then(e.bind(null, null)).catch(e); } }); return r; function i(e) { if (e.done) r.push(null); else r.push(e.value); } } static from(e, t) { if (Jn(e)) return e; if (e[Sn]) return this._fromAsyncIterator(e[Sn](), t); if (!Array.isArray(e)) e = e === undefined ? [] : [ e ]; let n = 0; return new Readable({ ...t, read(t) { this.push(n === e.length ? null : e[n++]); t(null); } }); } static isBackpressured(e) { return (e._duplexState & fn) !== 0 || e._readableState.buffered >= e._readableState.highWaterMark; } static isPaused(e) { return (e._duplexState & rt) === 0; } [Sn]() { const e = this; let t = null; let n = null; let r = null; this.on("error", (e => { t = e; })); this.on("readable", i); this.on("close", s); return { [Sn]() { return this; }, next() { return new Promise((function(t, i) { n = t; r = i; const s = e.read(); if (s !== null) a(s); else if ((e._duplexState & Ye) !== 0) a(null); })); }, return() { return o(null); }, throw(e) { return o(e); } }; function i() { if (n !== null) a(e.read()); } function s() { if (n !== null) a(null); } function a(i) { if (r === null) return; if (t) r(t); else if (i === null && (e._duplexState & ct) === 0) r(Be); else n({ value: i, done: i === null }); r = n = null; } function o(t) { e.destroy(t); return new Promise(((n, r) => { if (e._duplexState & Ye) return n({ value: undefined, done: true }); e.once("close", (function() { if (t) r(t); else n({ value: undefined, done: true }); })); })); } } }; let Fn = class Writable extends Stream { constructor(e) { super(e); this._duplexState |= $e | ct; this._writableState = new WritableState(this, e); if (e) { if (e.writev) this._writev = e.writev; if (e.write) this._write = e.write; if (e.final) this._final = e.final; if (e.eagerOpen) this._writableState.updateNextTick(); } } cork() { this._duplexState |= Vt; } uncork() { this._duplexState &= Jt; this._writableState.updateNextTick(); } _writev(e, t) { t(null); } _write(e, t) { this._writableState.autoBatch(e, t); } _final(e) { e(null); } static isBackpressured(e) { return (e._duplexState & kn) !== 0; } static drained(e) { if (e.destroyed) return Promise.resolve(false); const t = e._writableState; const n = er(e) ? Math.min(1, t.queue.length) : t.queue.length; const r = n + (e._duplexState & Ft ? 1 : 0); if (r === 0) return Promise.resolve(true); if (t.drains === null) t.drains = []; return new Promise((e => { t.drains.push({ writes: r, resolve: e }); })); } write(e) { this._writableState.updateNextTick(); return this._writableState.push(e); } end(e) { this._writableState.updateNextTick(); this._writableState.end(e); return this; } }; class Duplex extends qn { constructor(e) { super(e); this._duplexState = $e | this._duplexState & ht; this._writableState = new WritableState(this, e); if (e) { if (e.writev) this._writev = e.writev; if (e.write) this._write = e.write; if (e.final) this._final = e.final; } } cork() { this._duplexState |= Vt; } uncork() { this._duplexState &= Jt; this._writableState.updateNextTick(); } _writev(e, t) { t(null); } _write(e, t) { this._writableState.autoBatch(e, t); } _final(e) { e(null); } write(e) { this._writableState.updateNextTick(); return this._writableState.push(e); } end(e) { this._writableState.updateNextTick(); this._writableState.end(e); return this; } } class Transform extends Duplex { constructor(e) { super(e); this._transformState = new TransformState(this); if (e) { if (e.transform) this._transform = e.transform; if (e.flush) this._flush = e.flush; } } _write(e, t) { if (this._readableState.buffered >= this._readableState.highWaterMark) { this._transformState.data = e; } else { this._transform(e, this._transformState.afterTransform); } } _read(e) { if (this._transformState.data !== null) { const t = this._transformState.data; this._transformState.data = null; e(null); this._transform(t, this._transformState.afterTransform); } else { e(null); } } destroy(e) { super.destroy(e); if (this._transformState.data !== null) { this._transformState.data = null; this._transformState.afterTransform(); } } _transform(e, t) { t(null, e); } _flush(e) { e(null); } _final(e) { this._transformState.afterFinal = e; this._flush(Mn.bind(this)); } } class PassThrough extends Transform {} function Mn(e, t) { const n = this._transformState.afterFinal; if (e) return n(e); if (t !== null && t !== undefined) this.push(t); this.push(null); n(null); } function Vn(...e) { return new Promise(((t, n) => Bn(...e, (e => { if (e) return n(e); t(); })))); } function Bn(e, ...t) { const n = Array.isArray(e) ? [ ...e, ...t ] : [ e, ...t ]; const r = n.length && typeof n[n.length - 1] === "function" ? n.pop() : null; if (n.length < 2) throw new Error("Pipeline requires at least 2 streams"); let i = n[0]; let s = null; let a = null; for (let e = 1; e < n.length; e++) { s = n[e]; if (Hn(i)) { i.pipe(s, u); } else { o(i, true, e > 1, u); i.pipe(s); } i = s; } if (r) { let e = false; const t = Hn(s) || !!(s._writableState && s._writableState.autoDestroy); s.on("error", (e => { if (a === null) a = e; })); s.on("finish", (() => { e = true; if (!t) r(a); })); if (t) { s.on("close", (() => r(a || (e ? null : Ue)))); } } return s; function o(e, t, n, r) { e.on("error", r); e.on("close", i); function i() { if (t && e._readableState && !e._readableState.ended) return r(Ue); if (n && e._writableState && !e._writableState.ended) return r(Ue); } } function u(e) { if (!e || a) return; a = e; for (const t of n) { t.destroy(e); } } } function Un(e) { return e; } function Wn(e) { return !!e._readableState || !!e._writableState; } function Hn(e) { return typeof e._duplexState === "number" && Wn(e); } function zn(e) { return !!e._readableState && e._readableState.ended; } function Kn(e) { return !!e._writableState && e._writableState.ended; } function $n(e, t = {}) { const n = e._readableState && e._readableState.error || e._writableState && e._writableState.error; return !t.all && n === Be ? null : n; } function Jn(e) { return Hn(e) && e.readable; } function Gn(e) { return (e._duplexState & $e) !== $e || (e._duplexState & nn) !== 0; } function Yn(e) { return typeof e === "object" && e !== null && typeof e.byteLength === "number"; } function Xn(e) { return Yn(e) ? e.byteLength : 1024; } function Zn() {} function Qn() { this.destroy(new Error("Stream aborted.")); } function er(e) { return e._writev !== Fn.prototype._writev && e._writev !== Duplex.prototype._writev; } var tr = { pipeline: Bn, pipelinePromise: Vn, isStream: Wn, isStreamx: Hn, isEnded: zn, isFinished: Kn, isDisturbed: Gn, getStreamError: $n, Stream: Stream, Writable: Fn, Readable: qn, Duplex: Duplex, Transform: Transform, PassThrough: PassThrough }; const nr = y.getDefaultExportFromCjs(tr); var rr = {}; const ir = Ie; const sr = "0000000000000000000"; const ar = "7777777777777777777"; const or = "0".charCodeAt(0); const ur = ir.from([ 117, 115, 116, 97, 114, 0 ]); const cr = ir.from([ or, or ]); const lr = ir.from([ 117, 115, 116, 97, 114, 32 ]); const fr = ir.from([ 32, 0 ]); const hr = 4095; const dr = 257; const gr = 263; var pr = rr.decodeLongPath = function e(t, n) { return Tr(t, 0, t.length, n); }; var mr = rr.encodePax = function e(t) { let n = ""; if (t.name) n += Dr(" path=" + t.name + "\n"); if (t.linkname) n += Dr(" linkpath=" + t.linkname + "\n"); const r = t.pax; if (r) { for (const e in r) { n += Dr(" " + e + "=" + r[e] + "\n"); } } return ir.from(n); }; var br = rr.decodePax = function e(t) { const n = {}; while (t.length) { let e = 0; while (e < t.length && t[e] !== 32) e++; const r = parseInt(ir.toString(t.subarray(0, e)), 10); if (!r) return n; const i = ir.toString(t.subarray(e + 1, r - 1)); const s = i.indexOf("="); if (s === -1) return n; n[i.slice(0, s)] = i.slice(s + 1); t = t.subarray(r); } return n; }; var _r = rr.encode = function e(t) { const n = ir.alloc(512); let r = t.name; let i = ""; if (t.typeflag === 5 && r[r.length - 1] !== "/") r += "/"; if (ir.byteLength(r) !== r.length) return null; while (ir.byteLength(r) > 100) { const e = r.indexOf("/"); if (e === -1) return null; i += i ? "/" + r.slice(0, e) : r.slice(0, e); r = r.slice(e + 1); } if (ir.byteLength(r) > 100 || ir.byteLength(i) > 155) return null; if (t.linkname && ir.byteLength(t.linkname) > 100) return null; ir.write(n, r); ir.write(n, Ir(t.mode & hr, 6), 100); ir.write(n, Ir(t.uid, 6), 108); ir.write(n, Ir(t.gid, 6), 116); Cr(t.size, n, 124); ir.write(n, Ir(t.mtime.getTime() / 1e3 | 0, 11), 136); n[156] = or + xr(t.type); if (t.linkname) ir.write(n, t.linkname, 157); ir.copy(ur, n, dr); ir.copy(cr, n, gr); if (t.uname) ir.write(n, t.uname, 265); if (t.gname) ir.write(n, t.gname, 297); ir.write(n, Ir(t.devmajor || 0, 6), 329); ir.write(n, Ir(t.devminor || 0, 6), 337); if (i) ir.write(n, i, 345); ir.write(n, Ir(Rr(n), 6), 148); return n; }; var vr = rr.decode = function e(t, n, r) { let i = t[156] === 0 ? 0 : t[156] - or; let s = Tr(t, 0, 100, n); const a = Er(t, 100, 8); const o = Er(t, 108, 8); const u = Er(t, 116, 8); const c = Er(t, 124, 12); const l = Er(t, 136, 12); const f = wr(i); const h = t[157] === 0 ? null : Tr(t, 157, 100, n); const d = Tr(t, 265, 32); const g = Tr(t, 297, 32); const p = Er(t, 329, 8); const m = Er(t, 337, 8); const b = Rr(t); if (b === 8 * 32) return null; if (b !== Er(t, 148, 8)) throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?"); if (yr(t)) { if (t[345]) s = Tr(t, 345, 155, n) + "/" + s; } else if (Ar(t)) {} else { if (!r) { throw new Error("Invalid tar header: unknown format."); } } if (i === 0 && s && s[s.length - 1] === "/") i = 5; return { name: s, mode: a, uid: o, gid: u, size: c, mtime: new Date(1e3 * l), type: f, linkname: h, uname: d, gname: g, devmajor: p, devminor: m, pax: null }; }; function yr(e) { return ir.equals(ur, e.subarray(dr, dr + 6)); } function Ar(e) { return ir.equals(lr, e.subarray(dr, dr + 6)) && ir.equals(fr, e.subarray(gr, gr + 2)); } function kr(e, t, n) { if (typeof e !== "number") return n; e = ~~e; if (e >= t) return t; if (e >= 0) return e; e += t; if (e >= 0) return e; return 0; } function wr(e) { switch (e) { case 0: return "file"; case 1: return "link"; case 2: return "symlink"; case 3: return "character-device"; case 4: return "block-device"; case 5: return "directory"; case 6: return "fifo"; case 7: return "contiguous-file"; case 72: return "pax-header"; case 55: return "pax-global-header"; case 27: return "gnu-long-link-path"; case 28: case 30: return "gnu-long-path"; } return null; } function xr(e) { switch (e) { case "file": return 0; case "link": return 1; case "symlink": return 2; case "character-device": return 3; case "block-device": return 4; case "directory": return 5; case "fifo": return 6; case "contiguous-file": return 7; case "pax-header": return 72; } return 0; } function Sr(e, t, n, r) { for (;n < r; n++) { if (e[n] === t) return n; } return r; } function Rr(e) { let t = 8 * 32; for (let n = 0; n < 148; n++) t += e[n]; for (let n = 156; n < 512; n++) t += e[n]; return t; } function Ir(e, t) { e = e.toString(8); if (e.length > t) return ar.slice(0, t) + " "; return sr.slice(0, t - e.length) + e + " "; } function Or(e, t, n) { t[n] = 128; for (let r = 11; r > 0; r--) { t[n + r] = e & 255; e = Math.floor(e / 256); } } function Cr(e, t, n) { if (e.toString(8).length > 11) { Or(e, t, n); } else { ir.write(t, Ir(e, 11), n); } } function Pr(e) { let t; if (e[0] === 128) t = true; else if (e[0] === 255) t = false; else return null; const n = []; let r; for (r = e.length