UNPKG

mqtt

Version:

A library for the MQTT protocol

1,518 lines (1,513 loc) 764 kB
"use strict"; var mqtt = (() => { var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __esm = (fn, res) => function __init() { return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; }; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all) => { for (var name2 in all) __defProp(target, name2, { get: all[name2], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // node_modules/esbuild-plugin-polyfill-node/polyfills/__dirname.js var init_dirname = __esm({ "node_modules/esbuild-plugin-polyfill-node/polyfills/__dirname.js"() { } }); // node_modules/@jspm/core/nodelibs/browser/process.js var process_exports = {}; __export(process_exports, { _debugEnd: () => _debugEnd, _debugProcess: () => _debugProcess, _events: () => _events, _eventsCount: () => _eventsCount, _exiting: () => _exiting, _fatalExceptions: () => _fatalExceptions, _getActiveHandles: () => _getActiveHandles, _getActiveRequests: () => _getActiveRequests, _kill: () => _kill, _linkedBinding: () => _linkedBinding, _maxListeners: () => _maxListeners, _preload_modules: () => _preload_modules, _rawDebug: () => _rawDebug, _startProfilerIdleNotifier: () => _startProfilerIdleNotifier, _stopProfilerIdleNotifier: () => _stopProfilerIdleNotifier, _tickCallback: () => _tickCallback, abort: () => abort, addListener: () => addListener, allowedNodeEnvironmentFlags: () => allowedNodeEnvironmentFlags, arch: () => arch, argv: () => argv, argv0: () => argv0, assert: () => assert, binding: () => binding, chdir: () => chdir, config: () => config, cpuUsage: () => cpuUsage, cwd: () => cwd, debugPort: () => debugPort, default: () => process, dlopen: () => dlopen, domain: () => domain, emit: () => emit, emitWarning: () => emitWarning, env: () => env, execArgv: () => execArgv, execPath: () => execPath, exit: () => exit, features: () => features, hasUncaughtExceptionCaptureCallback: () => hasUncaughtExceptionCaptureCallback, hrtime: () => hrtime, kill: () => kill, listeners: () => listeners, memoryUsage: () => memoryUsage, moduleLoadList: () => moduleLoadList, nextTick: () => nextTick, off: () => off, on: () => on, once: () => once, openStdin: () => openStdin, pid: () => pid, platform: () => platform, ppid: () => ppid, prependListener: () => prependListener, prependOnceListener: () => prependOnceListener, reallyExit: () => reallyExit, release: () => release, removeAllListeners: () => removeAllListeners, removeListener: () => removeListener, resourceUsage: () => resourceUsage, setSourceMapsEnabled: () => setSourceMapsEnabled, setUncaughtExceptionCaptureCallback: () => setUncaughtExceptionCaptureCallback, stderr: () => stderr, stdin: () => stdin, stdout: () => stdout, title: () => title, umask: () => umask, uptime: () => uptime, version: () => version, versions: () => versions }); function unimplemented(name2) { throw new Error("Node.js process " + name2 + " is not supported by JSPM core outside of Node.js"); } function cleanUpNextTick() { if (!draining || !currentQueue) return; draining = false; if (currentQueue.length) { queue = currentQueue.concat(queue); } else { queueIndex = -1; } if (queue.length) drainQueue(); } function drainQueue() { if (draining) return; var timeout = setTimeout(cleanUpNextTick, 0); draining = true; var len = queue.length; while (len) { currentQueue = queue; queue = []; while (++queueIndex < len) { if (currentQueue) currentQueue[queueIndex].run(); } queueIndex = -1; len = queue.length; } currentQueue = null; draining = false; clearTimeout(timeout); } function nextTick(fun) { var args = new Array(arguments.length - 1); if (arguments.length > 1) { for (var i6 = 1; i6 < arguments.length; i6++) args[i6 - 1] = arguments[i6]; } queue.push(new Item(fun, args)); if (queue.length === 1 && !draining) setTimeout(drainQueue, 0); } function Item(fun, array) { this.fun = fun; this.array = array; } function noop() { } function _linkedBinding(name2) { unimplemented("_linkedBinding"); } function dlopen(name2) { unimplemented("dlopen"); } function _getActiveRequests() { return []; } function _getActiveHandles() { return []; } function assert(condition, message) { if (!condition) throw new Error(message || "assertion error"); } function hasUncaughtExceptionCaptureCallback() { return false; } function uptime() { return _performance.now() / 1e3; } function hrtime(previousTimestamp) { var baseNow = Math.floor((Date.now() - _performance.now()) * 1e-3); var clocktime = _performance.now() * 1e-3; var seconds = Math.floor(clocktime) + baseNow; var nanoseconds = Math.floor(clocktime % 1 * 1e9); if (previousTimestamp) { seconds = seconds - previousTimestamp[0]; nanoseconds = nanoseconds - previousTimestamp[1]; if (nanoseconds < 0) { seconds--; nanoseconds += nanoPerSec; } } return [seconds, nanoseconds]; } function on() { return process; } function listeners(name2) { return []; } var queue, draining, currentQueue, queueIndex, title, arch, platform, env, argv, execArgv, version, versions, emitWarning, binding, umask, cwd, chdir, release, _rawDebug, moduleLoadList, domain, _exiting, config, reallyExit, _kill, cpuUsage, resourceUsage, memoryUsage, kill, exit, openStdin, allowedNodeEnvironmentFlags, features, _fatalExceptions, setUncaughtExceptionCaptureCallback, _tickCallback, _debugProcess, _debugEnd, _startProfilerIdleNotifier, _stopProfilerIdleNotifier, stdout, stderr, stdin, abort, pid, ppid, execPath, debugPort, argv0, _preload_modules, setSourceMapsEnabled, _performance, nowOffset, nanoPerSec, _maxListeners, _events, _eventsCount, addListener, once, off, removeListener, removeAllListeners, emit, prependListener, prependOnceListener, process; var init_process = __esm({ "node_modules/@jspm/core/nodelibs/browser/process.js"() { init_dirname(); init_buffer2(); init_process2(); queue = []; draining = false; queueIndex = -1; Item.prototype.run = function() { this.fun.apply(null, this.array); }; title = "browser"; arch = "x64"; platform = "browser"; env = { PATH: "/usr/bin", LANG: navigator.language + ".UTF-8", PWD: "/", HOME: "/home", TMP: "/tmp" }; argv = ["/usr/bin/node"]; execArgv = []; version = "v16.8.0"; versions = {}; emitWarning = function(message, type) { console.warn((type ? type + ": " : "") + message); }; binding = function(name2) { unimplemented("binding"); }; umask = function(mask) { return 0; }; cwd = function() { return "/"; }; chdir = function(dir) { }; release = { name: "node", sourceUrl: "", headersUrl: "", libUrl: "" }; _rawDebug = noop; moduleLoadList = []; domain = {}; _exiting = false; config = {}; reallyExit = noop; _kill = noop; cpuUsage = function() { return {}; }; resourceUsage = cpuUsage; memoryUsage = cpuUsage; kill = noop; exit = noop; openStdin = noop; allowedNodeEnvironmentFlags = {}; features = { inspector: false, debug: false, uv: false, ipv6: false, tls_alpn: false, tls_sni: false, tls_ocsp: false, tls: false, cached_builtins: true }; _fatalExceptions = noop; setUncaughtExceptionCaptureCallback = noop; _tickCallback = noop; _debugProcess = noop; _debugEnd = noop; _startProfilerIdleNotifier = noop; _stopProfilerIdleNotifier = noop; stdout = void 0; stderr = void 0; stdin = void 0; abort = noop; pid = 2; ppid = 1; execPath = "/bin/usr/node"; debugPort = 9229; argv0 = "node"; _preload_modules = []; setSourceMapsEnabled = noop; _performance = { now: typeof performance !== "undefined" ? performance.now.bind(performance) : void 0, timing: typeof performance !== "undefined" ? performance.timing : void 0 }; if (_performance.now === void 0) { nowOffset = Date.now(); if (_performance.timing && _performance.timing.navigationStart) { nowOffset = _performance.timing.navigationStart; } _performance.now = () => Date.now() - nowOffset; } nanoPerSec = 1e9; hrtime.bigint = function(time) { var diff = hrtime(time); if (typeof BigInt === "undefined") { return diff[0] * nanoPerSec + diff[1]; } return BigInt(diff[0] * nanoPerSec) + BigInt(diff[1]); }; _maxListeners = 10; _events = {}; _eventsCount = 0; addListener = on; once = on; off = on; removeListener = on; removeAllListeners = on; emit = noop; prependListener = on; prependOnceListener = on; process = { version, versions, arch, platform, release, _rawDebug, moduleLoadList, binding, _linkedBinding, _events, _eventsCount, _maxListeners, on, addListener, once, off, removeListener, removeAllListeners, emit, prependListener, prependOnceListener, listeners, domain, _exiting, config, dlopen, uptime, _getActiveRequests, _getActiveHandles, reallyExit, _kill, cpuUsage, resourceUsage, memoryUsage, kill, exit, openStdin, allowedNodeEnvironmentFlags, assert, features, _fatalExceptions, setUncaughtExceptionCaptureCallback, hasUncaughtExceptionCaptureCallback, emitWarning, nextTick, _tickCallback, _debugProcess, _debugEnd, _startProfilerIdleNotifier, _stopProfilerIdleNotifier, stdout, stdin, stderr, abort, umask, chdir, cwd, env, title, argv, execArgv, pid, ppid, execPath, debugPort, hrtime, argv0, _preload_modules, setSourceMapsEnabled }; } }); // node_modules/esbuild-plugin-polyfill-node/polyfills/process.js var init_process2 = __esm({ "node_modules/esbuild-plugin-polyfill-node/polyfills/process.js"() { init_process(); } }); // node_modules/@jspm/core/nodelibs/browser/buffer.js var buffer_exports = {}; __export(buffer_exports, { Buffer: () => Buffer2, INSPECT_MAX_BYTES: () => INSPECT_MAX_BYTES, default: () => exports, kMaxLength: () => kMaxLength }); function dew$2() { if (_dewExec$2) return exports$3; _dewExec$2 = true; exports$3.byteLength = byteLength; exports$3.toByteArray = toByteArray; exports$3.fromByteArray = fromByteArray; var lookup = []; var revLookup = []; var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array; var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; for (var i6 = 0, len = code.length; i6 < len; ++i6) { lookup[i6] = code[i6]; revLookup[code.charCodeAt(i6)] = i6; } revLookup["-".charCodeAt(0)] = 62; revLookup["_".charCodeAt(0)] = 63; function getLens(b64) { var len2 = b64.length; if (len2 % 4 > 0) { throw new Error("Invalid string. Length must be a multiple of 4"); } var validLen = b64.indexOf("="); if (validLen === -1) validLen = len2; var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4; return [validLen, placeHoldersLen]; } function byteLength(b64) { var lens = getLens(b64); var validLen = lens[0]; var placeHoldersLen = lens[1]; return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; } function _byteLength(b64, validLen, placeHoldersLen) { return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; } function toByteArray(b64) { var tmp; var lens = getLens(b64); var validLen = lens[0]; var placeHoldersLen = lens[1]; var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)); var curByte = 0; var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen; var i7; for (i7 = 0; i7 < len2; i7 += 4) { tmp = revLookup[b64.charCodeAt(i7)] << 18 | revLookup[b64.charCodeAt(i7 + 1)] << 12 | revLookup[b64.charCodeAt(i7 + 2)] << 6 | revLookup[b64.charCodeAt(i7 + 3)]; arr[curByte++] = tmp >> 16 & 255; arr[curByte++] = tmp >> 8 & 255; arr[curByte++] = tmp & 255; } if (placeHoldersLen === 2) { tmp = revLookup[b64.charCodeAt(i7)] << 2 | revLookup[b64.charCodeAt(i7 + 1)] >> 4; arr[curByte++] = tmp & 255; } if (placeHoldersLen === 1) { tmp = revLookup[b64.charCodeAt(i7)] << 10 | revLookup[b64.charCodeAt(i7 + 1)] << 4 | revLookup[b64.charCodeAt(i7 + 2)] >> 2; arr[curByte++] = tmp >> 8 & 255; arr[curByte++] = tmp & 255; } return arr; } function tripletToBase64(num) { return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63]; } function encodeChunk(uint8, start, end) { var tmp; var output = []; for (var i7 = start; i7 < end; i7 += 3) { tmp = (uint8[i7] << 16 & 16711680) + (uint8[i7 + 1] << 8 & 65280) + (uint8[i7 + 2] & 255); output.push(tripletToBase64(tmp)); } return output.join(""); } function fromByteArray(uint8) { var tmp; var len2 = uint8.length; var extraBytes = len2 % 3; var parts = []; var maxChunkLength = 16383; for (var i7 = 0, len22 = len2 - extraBytes; i7 < len22; i7 += maxChunkLength) { parts.push(encodeChunk(uint8, i7, i7 + maxChunkLength > len22 ? len22 : i7 + maxChunkLength)); } if (extraBytes === 1) { tmp = uint8[len2 - 1]; parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "=="); } else if (extraBytes === 2) { tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1]; parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "="); } return parts.join(""); } return exports$3; } function dew$1() { if (_dewExec$1) return exports$2; _dewExec$1 = true; exports$2.read = function(buffer, offset, isLE, mLen, nBytes) { var e7, m4; var eLen = nBytes * 8 - mLen - 1; var eMax = (1 << eLen) - 1; var eBias = eMax >> 1; var nBits = -7; var i6 = isLE ? nBytes - 1 : 0; var d4 = isLE ? -1 : 1; var s5 = buffer[offset + i6]; i6 += d4; e7 = s5 & (1 << -nBits) - 1; s5 >>= -nBits; nBits += eLen; for (; nBits > 0; e7 = e7 * 256 + buffer[offset + i6], i6 += d4, nBits -= 8) { } m4 = e7 & (1 << -nBits) - 1; e7 >>= -nBits; nBits += mLen; for (; nBits > 0; m4 = m4 * 256 + buffer[offset + i6], i6 += d4, nBits -= 8) { } if (e7 === 0) { e7 = 1 - eBias; } else if (e7 === eMax) { return m4 ? NaN : (s5 ? -1 : 1) * Infinity; } else { m4 = m4 + Math.pow(2, mLen); e7 = e7 - eBias; } return (s5 ? -1 : 1) * m4 * Math.pow(2, e7 - mLen); }; exports$2.write = function(buffer, value, offset, isLE, mLen, nBytes) { var e7, m4, c6; var eLen = nBytes * 8 - mLen - 1; var eMax = (1 << eLen) - 1; var eBias = eMax >> 1; var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0; var i6 = isLE ? 0 : nBytes - 1; var d4 = isLE ? 1 : -1; var s5 = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; value = Math.abs(value); if (isNaN(value) || value === Infinity) { m4 = isNaN(value) ? 1 : 0; e7 = eMax; } else { e7 = Math.floor(Math.log(value) / Math.LN2); if (value * (c6 = Math.pow(2, -e7)) < 1) { e7--; c6 *= 2; } if (e7 + eBias >= 1) { value += rt / c6; } else { value += rt * Math.pow(2, 1 - eBias); } if (value * c6 >= 2) { e7++; c6 /= 2; } if (e7 + eBias >= eMax) { m4 = 0; e7 = eMax; } else if (e7 + eBias >= 1) { m4 = (value * c6 - 1) * Math.pow(2, mLen); e7 = e7 + eBias; } else { m4 = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); e7 = 0; } } for (; mLen >= 8; buffer[offset + i6] = m4 & 255, i6 += d4, m4 /= 256, mLen -= 8) { } e7 = e7 << mLen | m4; eLen += mLen; for (; eLen > 0; buffer[offset + i6] = e7 & 255, i6 += d4, e7 /= 256, eLen -= 8) { } buffer[offset + i6 - d4] |= s5 * 128; }; return exports$2; } function dew() { if (_dewExec) return exports$1; _dewExec = true; const base64 = dew$2(); const ieee754 = dew$1(); const customInspectSymbol = typeof Symbol === "function" && typeof Symbol["for"] === "function" ? Symbol["for"]("nodejs.util.inspect.custom") : null; exports$1.Buffer = Buffer3; exports$1.SlowBuffer = SlowBuffer; exports$1.INSPECT_MAX_BYTES = 50; const K_MAX_LENGTH = 2147483647; exports$1.kMaxLength = K_MAX_LENGTH; Buffer3.TYPED_ARRAY_SUPPORT = typedArraySupport(); if (!Buffer3.TYPED_ARRAY_SUPPORT && typeof console !== "undefined" && typeof console.error === "function") { console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."); } function typedArraySupport() { try { const arr = new Uint8Array(1); const proto = { foo: function() { return 42; } }; Object.setPrototypeOf(proto, Uint8Array.prototype); Object.setPrototypeOf(arr, proto); return arr.foo() === 42; } catch (e7) { return false; } } Object.defineProperty(Buffer3.prototype, "parent", { enumerable: true, get: function() { if (!Buffer3.isBuffer(this)) return void 0; return this.buffer; } }); Object.defineProperty(Buffer3.prototype, "offset", { enumerable: true, get: function() { if (!Buffer3.isBuffer(this)) return void 0; return this.byteOffset; } }); function createBuffer(length) { if (length > K_MAX_LENGTH) { throw new RangeError('The value "' + length + '" is invalid for option "size"'); } const buf = new Uint8Array(length); Object.setPrototypeOf(buf, Buffer3.prototype); return buf; } function Buffer3(arg, encodingOrOffset, length) { if (typeof arg === "number") { if (typeof encodingOrOffset === "string") { throw new TypeError('The "string" argument must be of type string. Received type number'); } return allocUnsafe(arg); } return from(arg, encodingOrOffset, length); } Buffer3.poolSize = 8192; function from(value, encodingOrOffset, length) { if (typeof value === "string") { return fromString(value, encodingOrOffset); } if (ArrayBuffer.isView(value)) { return fromArrayView(value); } if (value == null) { throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value); } if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) { return fromArrayBuffer(value, encodingOrOffset, length); } if (typeof SharedArrayBuffer !== "undefined" && (isInstance(value, SharedArrayBuffer) || value && isInstance(value.buffer, SharedArrayBuffer))) { return fromArrayBuffer(value, encodingOrOffset, length); } if (typeof value === "number") { throw new TypeError('The "value" argument must not be of type number. Received type number'); } const valueOf = value.valueOf && value.valueOf(); if (valueOf != null && valueOf !== value) { return Buffer3.from(valueOf, encodingOrOffset, length); } const b3 = fromObject(value); if (b3) return b3; if (typeof Symbol !== "undefined" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === "function") { return Buffer3.from(value[Symbol.toPrimitive]("string"), encodingOrOffset, length); } throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value); } Buffer3.from = function(value, encodingOrOffset, length) { return from(value, encodingOrOffset, length); }; Object.setPrototypeOf(Buffer3.prototype, Uint8Array.prototype); Object.setPrototypeOf(Buffer3, Uint8Array); function assertSize(size) { if (typeof size !== "number") { throw new TypeError('"size" argument must be of type number'); } else if (size < 0) { throw new RangeError('The value "' + size + '" is invalid for option "size"'); } } function alloc(size, fill, encoding) { assertSize(size); if (size <= 0) { return createBuffer(size); } if (fill !== void 0) { return typeof encoding === "string" ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill); } return createBuffer(size); } Buffer3.alloc = function(size, fill, encoding) { return alloc(size, fill, encoding); }; function allocUnsafe(size) { assertSize(size); return createBuffer(size < 0 ? 0 : checked(size) | 0); } Buffer3.allocUnsafe = function(size) { return allocUnsafe(size); }; Buffer3.allocUnsafeSlow = function(size) { return allocUnsafe(size); }; function fromString(string, encoding) { if (typeof encoding !== "string" || encoding === "") { encoding = "utf8"; } if (!Buffer3.isEncoding(encoding)) { throw new TypeError("Unknown encoding: " + encoding); } const length = byteLength(string, encoding) | 0; let buf = createBuffer(length); const actual = buf.write(string, encoding); if (actual !== length) { buf = buf.slice(0, actual); } return buf; } function fromArrayLike(array) { const length = array.length < 0 ? 0 : checked(array.length) | 0; const buf = createBuffer(length); for (let i6 = 0; i6 < length; i6 += 1) { buf[i6] = array[i6] & 255; } return buf; } function fromArrayView(arrayView) { if (isInstance(arrayView, Uint8Array)) { const copy = new Uint8Array(arrayView); return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength); } return fromArrayLike(arrayView); } function fromArrayBuffer(array, byteOffset, length) { if (byteOffset < 0 || array.byteLength < byteOffset) { throw new RangeError('"offset" is outside of buffer bounds'); } if (array.byteLength < byteOffset + (length || 0)) { throw new RangeError('"length" is outside of buffer bounds'); } let buf; if (byteOffset === void 0 && length === void 0) { buf = new Uint8Array(array); } else if (length === void 0) { buf = new Uint8Array(array, byteOffset); } else { buf = new Uint8Array(array, byteOffset, length); } Object.setPrototypeOf(buf, Buffer3.prototype); return buf; } function fromObject(obj) { if (Buffer3.isBuffer(obj)) { const len = checked(obj.length) | 0; const buf = createBuffer(len); if (buf.length === 0) { return buf; } obj.copy(buf, 0, 0, len); return buf; } if (obj.length !== void 0) { if (typeof obj.length !== "number" || numberIsNaN(obj.length)) { return createBuffer(0); } return fromArrayLike(obj); } if (obj.type === "Buffer" && Array.isArray(obj.data)) { return fromArrayLike(obj.data); } } function checked(length) { if (length >= K_MAX_LENGTH) { throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + K_MAX_LENGTH.toString(16) + " bytes"); } return length | 0; } function SlowBuffer(length) { if (+length != length) { length = 0; } return Buffer3.alloc(+length); } Buffer3.isBuffer = function isBuffer(b3) { return b3 != null && b3._isBuffer === true && b3 !== Buffer3.prototype; }; Buffer3.compare = function compare(a6, b3) { if (isInstance(a6, Uint8Array)) a6 = Buffer3.from(a6, a6.offset, a6.byteLength); if (isInstance(b3, Uint8Array)) b3 = Buffer3.from(b3, b3.offset, b3.byteLength); if (!Buffer3.isBuffer(a6) || !Buffer3.isBuffer(b3)) { throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'); } if (a6 === b3) return 0; let x2 = a6.length; let y4 = b3.length; for (let i6 = 0, len = Math.min(x2, y4); i6 < len; ++i6) { if (a6[i6] !== b3[i6]) { x2 = a6[i6]; y4 = b3[i6]; break; } } if (x2 < y4) return -1; if (y4 < x2) return 1; return 0; }; Buffer3.isEncoding = function isEncoding(encoding) { switch (String(encoding).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 true; default: return false; } }; Buffer3.concat = function concat(list, length) { if (!Array.isArray(list)) { throw new TypeError('"list" argument must be an Array of Buffers'); } if (list.length === 0) { return Buffer3.alloc(0); } let i6; if (length === void 0) { length = 0; for (i6 = 0; i6 < list.length; ++i6) { length += list[i6].length; } } const buffer = Buffer3.allocUnsafe(length); let pos = 0; for (i6 = 0; i6 < list.length; ++i6) { let buf = list[i6]; if (isInstance(buf, Uint8Array)) { if (pos + buf.length > buffer.length) { if (!Buffer3.isBuffer(buf)) buf = Buffer3.from(buf); buf.copy(buffer, pos); } else { Uint8Array.prototype.set.call(buffer, buf, pos); } } else if (!Buffer3.isBuffer(buf)) { throw new TypeError('"list" argument must be an Array of Buffers'); } else { buf.copy(buffer, pos); } pos += buf.length; } return buffer; }; function byteLength(string, encoding) { if (Buffer3.isBuffer(string)) { return string.length; } if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) { return string.byteLength; } if (typeof string !== "string") { throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof string); } const len = string.length; const mustMatch = arguments.length > 2 && arguments[2] === true; if (!mustMatch && len === 0) return 0; let loweredCase = false; for (; ; ) { switch (encoding) { case "ascii": case "latin1": case "binary": return len; case "utf8": case "utf-8": return utf8ToBytes(string).length; case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return len * 2; case "hex": return len >>> 1; case "base64": return base64ToBytes(string).length; default: if (loweredCase) { return mustMatch ? -1 : utf8ToBytes(string).length; } encoding = ("" + encoding).toLowerCase(); loweredCase = true; } } } Buffer3.byteLength = byteLength; function slowToString(encoding, start, end) { let loweredCase = false; if (start === void 0 || start < 0) { start = 0; } if (start > this.length) { return ""; } if (end === void 0 || end > this.length) { end = this.length; } if (end <= 0) { return ""; } end >>>= 0; start >>>= 0; if (end <= start) { return ""; } if (!encoding) encoding = "utf8"; while (true) { switch (encoding) { case "hex": return hexSlice(this, start, end); case "utf8": case "utf-8": return utf8Slice(this, start, end); case "ascii": return asciiSlice(this, start, end); case "latin1": case "binary": return latin1Slice(this, start, end); case "base64": return base64Slice(this, start, end); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return utf16leSlice(this, start, end); default: if (loweredCase) throw new TypeError("Unknown encoding: " + encoding); encoding = (encoding + "").toLowerCase(); loweredCase = true; } } } Buffer3.prototype._isBuffer = true; function swap(b3, n7, m4) { const i6 = b3[n7]; b3[n7] = b3[m4]; b3[m4] = i6; } Buffer3.prototype.swap16 = function swap16() { const len = this.length; if (len % 2 !== 0) { throw new RangeError("Buffer size must be a multiple of 16-bits"); } for (let i6 = 0; i6 < len; i6 += 2) { swap(this, i6, i6 + 1); } return this; }; Buffer3.prototype.swap32 = function swap32() { const len = this.length; if (len % 4 !== 0) { throw new RangeError("Buffer size must be a multiple of 32-bits"); } for (let i6 = 0; i6 < len; i6 += 4) { swap(this, i6, i6 + 3); swap(this, i6 + 1, i6 + 2); } return this; }; Buffer3.prototype.swap64 = function swap64() { const len = this.length; if (len % 8 !== 0) { throw new RangeError("Buffer size must be a multiple of 64-bits"); } for (let i6 = 0; i6 < len; i6 += 8) { swap(this, i6, i6 + 7); swap(this, i6 + 1, i6 + 6); swap(this, i6 + 2, i6 + 5); swap(this, i6 + 3, i6 + 4); } return this; }; Buffer3.prototype.toString = function toString() { const length = this.length; if (length === 0) return ""; if (arguments.length === 0) return utf8Slice(this, 0, length); return slowToString.apply(this, arguments); }; Buffer3.prototype.toLocaleString = Buffer3.prototype.toString; Buffer3.prototype.equals = function equals(b3) { if (!Buffer3.isBuffer(b3)) throw new TypeError("Argument must be a Buffer"); if (this === b3) return true; return Buffer3.compare(this, b3) === 0; }; Buffer3.prototype.inspect = function inspect() { let str = ""; const max = exports$1.INSPECT_MAX_BYTES; str = this.toString("hex", 0, max).replace(/(.{2})/g, "$1 ").trim(); if (this.length > max) str += " ... "; return "<Buffer " + str + ">"; }; if (customInspectSymbol) { Buffer3.prototype[customInspectSymbol] = Buffer3.prototype.inspect; } Buffer3.prototype.compare = function compare(target, start, end, thisStart, thisEnd) { if (isInstance(target, Uint8Array)) { target = Buffer3.from(target, target.offset, target.byteLength); } if (!Buffer3.isBuffer(target)) { throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof target); } if (start === void 0) { start = 0; } if (end === void 0) { end = target ? target.length : 0; } if (thisStart === void 0) { thisStart = 0; } if (thisEnd === void 0) { thisEnd = this.length; } if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { throw new RangeError("out of range index"); } if (thisStart >= thisEnd && start >= end) { return 0; } if (thisStart >= thisEnd) { return -1; } if (start >= end) { return 1; } start >>>= 0; end >>>= 0; thisStart >>>= 0; thisEnd >>>= 0; if (this === target) return 0; let x2 = thisEnd - thisStart; let y4 = end - start; const len = Math.min(x2, y4); const thisCopy = this.slice(thisStart, thisEnd); const targetCopy = target.slice(start, end); for (let i6 = 0; i6 < len; ++i6) { if (thisCopy[i6] !== targetCopy[i6]) { x2 = thisCopy[i6]; y4 = targetCopy[i6]; break; } } if (x2 < y4) return -1; if (y4 < x2) return 1; return 0; }; function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) { if (buffer.length === 0) return -1; if (typeof byteOffset === "string") { encoding = byteOffset; byteOffset = 0; } else if (byteOffset > 2147483647) { byteOffset = 2147483647; } else if (byteOffset < -2147483648) { byteOffset = -2147483648; } byteOffset = +byteOffset; if (numberIsNaN(byteOffset)) { byteOffset = dir ? 0 : buffer.length - 1; } if (byteOffset < 0) byteOffset = buffer.length + byteOffset; if (byteOffset >= buffer.length) { if (dir) return -1; else byteOffset = buffer.length - 1; } else if (byteOffset < 0) { if (dir) byteOffset = 0; else return -1; } if (typeof val === "string") { val = Buffer3.from(val, encoding); } if (Buffer3.isBuffer(val)) { if (val.length === 0) { return -1; } return arrayIndexOf(buffer, val, byteOffset, encoding, dir); } else if (typeof val === "number") { val = val & 255; if (typeof Uint8Array.prototype.indexOf === "function") { if (dir) { return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset); } else { return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset); } } return arrayIndexOf(buffer, [val], byteOffset, encoding, dir); } throw new TypeError("val must be string, number or Buffer"); } function arrayIndexOf(arr, val, byteOffset, encoding, dir) { let indexSize = 1; let arrLength = arr.length; let valLength = val.length; if (encoding !== void 0) { encoding = String(encoding).toLowerCase(); if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") { if (arr.length < 2 || val.length < 2) { return -1; } indexSize = 2; arrLength /= 2; valLength /= 2; byteOffset /= 2; } } function read(buf, i7) { if (indexSize === 1) { return buf[i7]; } else { return buf.readUInt16BE(i7 * indexSize); } } let i6; if (dir) { let foundIndex = -1; for (i6 = byteOffset; i6 < arrLength; i6++) { if (read(arr, i6) === read(val, foundIndex === -1 ? 0 : i6 - foundIndex)) { if (foundIndex === -1) foundIndex = i6; if (i6 - foundIndex + 1 === valLength) return foundIndex * indexSize; } else { if (foundIndex !== -1) i6 -= i6 - foundIndex; foundIndex = -1; } } } else { if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength; for (i6 = byteOffset; i6 >= 0; i6--) { let found = true; for (let j2 = 0; j2 < valLength; j2++) { if (read(arr, i6 + j2) !== read(val, j2)) { found = false; break; } } if (found) return i6; } } return -1; } Buffer3.prototype.includes = function includes(val, byteOffset, encoding) { return this.indexOf(val, byteOffset, encoding) !== -1; }; Buffer3.prototype.indexOf = function indexOf(val, byteOffset, encoding) { return bidirectionalIndexOf(this, val, byteOffset, encoding, true); }; Buffer3.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) { return bidirectionalIndexOf(this, val, byteOffset, encoding, false); }; function hexWrite(buf, string, offset, length) { offset = Number(offset) || 0; const remaining = buf.length - offset; if (!length) { length = remaining; } else { length = Number(length); if (length > remaining) { length = remaining; } } const strLen = string.length; if (length > strLen / 2) { length = strLen / 2; } let i6; for (i6 = 0; i6 < length; ++i6) { const parsed = parseInt(string.substr(i6 * 2, 2), 16); if (numberIsNaN(parsed)) return i6; buf[offset + i6] = parsed; } return i6; } function utf8Write(buf, string, offset, length) { return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length); } function asciiWrite(buf, string, offset, length) { return blitBuffer(asciiToBytes(string), buf, offset, length); } function base64Write(buf, string, offset, length) { return blitBuffer(base64ToBytes(string), buf, offset, length); } function ucs2Write(buf, string, offset, length) { return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length); } Buffer3.prototype.write = function write(string, offset, length, encoding) { if (offset === void 0) { encoding = "utf8"; length = this.length; offset = 0; } else if (length === void 0 && typeof offset === "string") { encoding = offset; length = this.length; offset = 0; } else if (isFinite(offset)) { offset = offset >>> 0; if (isFinite(length)) { length = length >>> 0; if (encoding === void 0) encoding = "utf8"; } else { encoding = length; length = void 0; } } else { throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported"); } const remaining = this.length - offset; if (length === void 0 || length > remaining) length = remaining; if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) { throw new RangeError("Attempt to write outside buffer bounds"); } if (!encoding) encoding = "utf8"; let loweredCase = false; for (; ; ) { switch (encoding) { case "hex": return hexWrite(this, string, offset, length); case "utf8": case "utf-8": return utf8Write(this, string, offset, length); case "ascii": case "latin1": case "binary": return asciiWrite(this, string, offset, length); case "base64": return base64Write(this, string, offset, length); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return ucs2Write(this, string, offset, length); default: if (loweredCase) throw new TypeError("Unknown encoding: " + encoding); encoding = ("" + encoding).toLowerCase(); loweredCase = true; } } }; Buffer3.prototype.toJSON = function toJSON() { return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) }; }; function base64Slice(buf, start, end) { if (start === 0 && end === buf.length) { return base64.fromByteArray(buf); } else { return base64.fromByteArray(buf.slice(start, end)); } } function utf8Slice(buf, start, end) { end = Math.min(buf.length, end); const res = []; let i6 = start; while (i6 < end) { const firstByte = buf[i6]; let codePoint = null; let bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1; if (i6 + bytesPerSequence <= end) { let secondByte, thirdByte, fourthByte, tempCodePoint; switch (bytesPerSequence) { case 1: if (firstByte < 128) { codePoint = firstByte; } break; case 2: secondByte = buf[i6 + 1]; if ((secondByte & 192) === 128) { tempCodePoint = (firstByte & 31) << 6 | secondByte & 63; if (tempCodePoint > 127) { codePoint = tempCodePoint; } } break; case 3: secondByte = buf[i6 + 1]; thirdByte = buf[i6 + 2]; if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) { tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63; if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) { codePoint = tempCodePoint; } } break; case 4: secondByte = buf[i6 + 1]; thirdByte = buf[i6 + 2]; fourthByte = buf[i6 + 3]; if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) { tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63; if (tempCodePoint > 65535 && tempCodePoint < 1114112) { codePoint = tempCodePoint; } } } } if (codePoint === null) { codePoint = 65533; bytesPerSequence = 1; } else if (codePoint > 65535) { codePoint -= 65536; res.push(codePoint >>> 10 & 1023 | 55296); codePoint = 56320 | codePoint & 1023; } res.push(codePoint); i6 += bytesPerSequence; } return decodeCodePointsArray(res); } const MAX_ARGUMENTS_LENGTH = 4096; function decodeCodePointsArray(codePoints) { const len = codePoints.length; if (len <= MAX_ARGUMENTS_LENGTH) { return String.fromCharCode.apply(String, codePoints); } let res = ""; let i6 = 0; while (i6 < len) { res += String.fromCharCode.apply(String, codePoints.slice(i6, i6 += MAX_ARGUMENTS_LENGTH)); } return res; } function asciiSlice(buf, start, end) { let ret = ""; end = Math.min(buf.length, end); for (let i6 = start; i6 < end; ++i6) { ret += String.fromCharCode(buf[i6] & 127); } return ret; } function latin1Slice(buf, start, end) { let ret = ""; end = Math.min(buf.length, end); for (let i6 = start; i6 < end; ++i6) { ret += String.fromCharCode(buf[i6]); } return ret; } function hexSlice(buf, start, end) { const len = buf.length; if (!start || start < 0) start = 0; if (!end || end < 0 || end > len) end = len; let out = ""; for (let i6 = start; i6 < end; ++i6) { out += hexSliceLookupTable[buf[i6]]; } return out; } function utf16leSlice(buf, start, end) { const bytes = buf.slice(start, end); let res = ""; for (let i6 = 0; i6 < bytes.length - 1; i6 += 2) { res += String.fromCharCode(bytes[i6] + bytes[i6 + 1] * 256); } return res; } Buffer3.prototype.slice = function slice(start, end) { const len = this.length; start = ~~start; end = end === void 0 ? len : ~~end; if (start < 0) { start += len; if (start < 0) start = 0; } else if (start > len) { start = len; } if (end < 0) { end += len; if (end < 0) end = 0; } else if (end > len) { end = len; } if (end < start) end = start; const newBuf = this.subarray(start, end); Object.setPrototypeOf(newBuf, Buffer3.prototype); return newBuf; }; function checkOffset(offset, ext, length) { if (offset % 1 !== 0 || offset < 0) throw new RangeError("offset is not uint"); if (offset + ext > length) throw new RangeError("Trying to access beyond buffer length"); } Buffer3.prototype.readUintLE = Buffer3.prototype.readUIntLE = function readUIntLE(offset, byteLength2, noAssert) { offset = offset >>> 0; byteLength2 = byteLength2 >>> 0; if (!noAssert) checkOffset(offset, byteLength2, this.length); let val = this[offset]; let mul = 1; let i6 = 0; while (++i6 < byteLength2 && (mul *= 256)) { val += this[offset + i6] * mul; } return val; }; Buffer3.prototype.readUintBE = Buffer3.prototype.readUIntBE = function readUIntBE(offset, byteLength2, noAssert) { offset = offset >>> 0; byteLength2 = byteLength2 >>> 0; if (!noAssert) { checkOffset(offset, byteLength2, this.length); } let val = this[offset + --byteLength2]; let mul = 1; while (byteLength2 > 0 && (mul *= 256)) { val += this[offset + --byteLength2] * mul; } return val; }; Buffer3.prototype.readUint8 = Buffer3.prototype.readUInt8 = function readUInt8(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 1, this.length); return this[offset]; }; Buffer3.prototype.readUint16LE = Buffer3.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 2, this.length); return this[offset] | this[offset + 1] << 8; }; Buffer3.prototype.readUint16BE = Buffer3.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 2, this.length); return this[offset] << 8 | this[offset + 1]; }; Buffer3.prototype.readUint32LE = Buffer3.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 4, this.length); return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216; }; Buffer3.prototype.readUint32BE = Buffer3.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 4, this.length); return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]); }; Buffer3.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE(offset) { offset = offset >>> 0; validateNumber(offset, "offset"); const first = this[offset]; const last = this[offset + 7]; if (first === void 0 || last === void 0) { boundsError(offset, this.length - 8); } const lo = first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24; const hi = this[++offset] + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + last * 2 ** 24;