@volter/tabnode 0.5.16 → 0.5.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{runtime-worker-Bw8vbYik.js → runtime-worker-DCIwIWHJ.js} +3764 -251
- package/dist/code-transforms.d.ts +2 -1
- package/dist/index.mjs +3764 -244
- package/dist/node-lib/binding/zlib.d.ts +14 -1
- package/dist/shims/perf_hooks.d.ts +0 -4
- package/dist/shims/tls.d.ts +3 -1
- package/dist/shims/worker_threads.d.ts +4 -0
- package/package.json +1 -1
- package/src/code-transforms.ts +28 -13
- package/src/node-lib/binding/zlib.ts +80 -3
- package/src/node-lib/internals/runtime.ts +6 -2
- package/src/runtime.ts +59 -4
- package/src/shims/child_process.ts +26 -6
- package/src/shims/esbuild.ts +12 -1
- package/src/shims/perf_hooks.ts +18 -0
- package/src/shims/string_decoder.ts +5 -0
- package/src/shims/tls.ts +13 -1
- package/src/shims/worker_threads.ts +19 -0
package/dist/index.mjs
CHANGED
|
@@ -17,7 +17,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
|
|
|
17
17
|
return __privateGet(obj, member, getter);
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
|
-
var _a, _b, _asyncId, _triggerAsyncId, _c, _d, _e, _f, _g, _h, _i, _j, _ptr, _type, _maxHeaderSize, _headerBytes, _headers, _field, _value, _readingValue, _url, _statusMessage, _headersSent, _paused, _buffer, _bufferPtr, _bufferSize, _connections, _HTTPParser_instances, reset_fn, copyIn_fn, pushHeader_fn, countHeaderBytes_fn, _parsers, _strm, _writeState, _callback, _level, _strategy, _windowBits, _memLevel, _dictionary, _ended, _Zlib_instances, inflating_get, windowFor_fn, start_fn, fail_fn, report_fn, run_fn, end_fn, _k, _resolveChain, _loadChain, _initializing, _initializeFailure, _RunModuleHooks_instances,
|
|
20
|
+
var _a, _b, _asyncId, _triggerAsyncId, _c, _d, _e, _f, _g, _h, _i, _j, _ptr, _type, _maxHeaderSize, _headerBytes, _headers, _field, _value, _readingValue, _url, _statusMessage, _headersSent, _paused, _buffer, _bufferPtr, _bufferSize, _connections, _HTTPParser_instances, reset_fn, copyIn_fn, pushHeader_fn, countHeaderBytes_fn, _parsers, _strm, _writeState, _callback, _level, _strategy, _windowBits, _memLevel, _dictionary, _ended, _Zlib_instances, inflating_get, windowFor_fn, start_fn, fail_fn, report_fn, run_fn, end_fn, _writeState2, _callback2, _input, _output, _outputAt, _BrotliDecoderHandle_instances, run_fn2, _k, _resolveChain, _loadChain, _initializing, _initializeFailure, _RunModuleHooks_instances, run_fn3;
|
|
21
21
|
import { defineCommand, Bash, getCommandNames } from "just-bash";
|
|
22
22
|
import { imports, resolve as resolve$3 } from "resolve.exports";
|
|
23
23
|
import { wrap, proxy } from "comlink";
|
|
@@ -4903,7 +4903,10 @@ const optionValues = {
|
|
|
4903
4903
|
"--trace-deprecation": false,
|
|
4904
4904
|
"--pending-deprecation": false,
|
|
4905
4905
|
"--report-uncaught-exception": false,
|
|
4906
|
-
"--experimental-print-required-tla": false
|
|
4906
|
+
"--experimental-print-required-tla": false,
|
|
4907
|
+
"--max-http-header-size": 16 * 1024,
|
|
4908
|
+
"--insecure-http-parser": false,
|
|
4909
|
+
"--enable-source-maps": false
|
|
4907
4910
|
};
|
|
4908
4911
|
const internalOptions = {
|
|
4909
4912
|
getOptionValue: (name) => optionValues[name],
|
|
@@ -5093,15 +5096,15 @@ class BlockList {
|
|
|
5093
5096
|
}
|
|
5094
5097
|
this.entries.push({ kind: "range", family: name, start: low, end: high, text: `Range: ${name.toUpperCase()} ${from}-${to}` });
|
|
5095
5098
|
}
|
|
5096
|
-
addSubnet(network,
|
|
5099
|
+
addSubnet(network, prefix2, family) {
|
|
5097
5100
|
const name = network instanceof SocketAddress ? network.family : BlockList.familyOf(family);
|
|
5098
5101
|
const text = BlockList.addressOf(network, name);
|
|
5099
5102
|
const bits = name === "ipv4" ? 32 : 128;
|
|
5100
|
-
if (typeof
|
|
5101
|
-
throw Object.assign(new RangeError(`The value of "prefix" is out of range. It must be >= 0 && <= ${bits}. Received ${
|
|
5103
|
+
if (typeof prefix2 !== "number" || !Number.isInteger(prefix2) || prefix2 < 0 || prefix2 > bits) {
|
|
5104
|
+
throw Object.assign(new RangeError(`The value of "prefix" is out of range. It must be >= 0 && <= ${bits}. Received ${prefix2}`), { code: "ERR_OUT_OF_RANGE" });
|
|
5102
5105
|
}
|
|
5103
|
-
const mask =
|
|
5104
|
-
this.entries.push({ kind: "subnet", family: name, network: toNumber(text, name) & mask, mask, text: `Subnet: ${name.toUpperCase()} ${text}/${
|
|
5106
|
+
const mask = prefix2 === 0 ? 0n : (1n << BigInt(prefix2)) - 1n << BigInt(bits - prefix2);
|
|
5107
|
+
this.entries.push({ kind: "subnet", family: name, network: toNumber(text, name) & mask, mask, text: `Subnet: ${name.toUpperCase()} ${text}/${prefix2}` });
|
|
5105
5108
|
}
|
|
5106
5109
|
check(address, family) {
|
|
5107
5110
|
const name = address instanceof SocketAddress ? address.family : (family ?? "ipv4").toLowerCase();
|
|
@@ -5347,7 +5350,7 @@ function createWebStreamsAdapters(require2 = libRequire) {
|
|
|
5347
5350
|
return require2("stream");
|
|
5348
5351
|
}
|
|
5349
5352
|
function newReadableStreamFromStreamReadable(readable, options) {
|
|
5350
|
-
const
|
|
5353
|
+
const streams2 = require2("stream");
|
|
5351
5354
|
if (typeof (readable == null ? void 0 : readable._readableState) !== "object") {
|
|
5352
5355
|
throw Object.assign(new TypeError("streamReadable must be a stream.Readable"), { code: "ERR_INVALID_ARG_TYPE" });
|
|
5353
5356
|
}
|
|
@@ -5370,7 +5373,7 @@ function createWebStreamsAdapters(require2 = libRequire) {
|
|
|
5370
5373
|
return new ReadableStream({
|
|
5371
5374
|
start(output) {
|
|
5372
5375
|
controller = output;
|
|
5373
|
-
const cleanup =
|
|
5376
|
+
const cleanup = streams2.finished(readable, (error) => {
|
|
5374
5377
|
complete = true;
|
|
5375
5378
|
cleanup();
|
|
5376
5379
|
readable.removeListener("data", onData);
|
|
@@ -5387,7 +5390,7 @@ function createWebStreamsAdapters(require2 = libRequire) {
|
|
|
5387
5390
|
},
|
|
5388
5391
|
cancel(reason) {
|
|
5389
5392
|
canceled = true;
|
|
5390
|
-
|
|
5393
|
+
streams2.destroy(readable, reason);
|
|
5391
5394
|
}
|
|
5392
5395
|
}, strategy);
|
|
5393
5396
|
}
|
|
@@ -9014,14 +9017,14 @@ function createFsBindings(Bytes = () => Buffer$9) {
|
|
|
9014
9017
|
realpath(path2, encoding, req) {
|
|
9015
9018
|
return answer(req, () => encodeFsName(vfs().realpathSync(asPath(path2)), encoding));
|
|
9016
9019
|
},
|
|
9017
|
-
mkdtemp(
|
|
9020
|
+
mkdtemp(prefix2, encoding, req) {
|
|
9018
9021
|
return answer(req, () => {
|
|
9019
9022
|
const tree2 = vfs();
|
|
9020
9023
|
const alphabet = "abcdefghijklmnopqrstuvwxyz0123456789";
|
|
9021
9024
|
for (; ; ) {
|
|
9022
9025
|
let suffix = "";
|
|
9023
9026
|
for (let index2 = 0; index2 < 6; index2 += 1) suffix += alphabet[Math.floor(Math.random() * alphabet.length)];
|
|
9024
|
-
const name = `${asPath(
|
|
9027
|
+
const name = `${asPath(prefix2)}${suffix}`;
|
|
9025
9028
|
if (tree2.existsSync(name)) continue;
|
|
9026
9029
|
tree2.mkdirSync(name, { recursive: true });
|
|
9027
9030
|
return encodeFsName(name, encoding);
|
|
@@ -10010,7 +10013,7 @@ var current = null;
|
|
|
10010
10013
|
var wasm;
|
|
10011
10014
|
var memoryBytes;
|
|
10012
10015
|
var latin1;
|
|
10013
|
-
function decode(at2, length) {
|
|
10016
|
+
function decode$1(at2, length) {
|
|
10014
10017
|
latin1 ?? (latin1 = new TextDecoder("latin1"));
|
|
10015
10018
|
return latin1.decode(bytes().subarray(at2, at2 + length));
|
|
10016
10019
|
}
|
|
@@ -10053,7 +10056,7 @@ function cstring(ptr) {
|
|
|
10053
10056
|
const view = bytes();
|
|
10054
10057
|
let end = ptr;
|
|
10055
10058
|
while (view[end] !== 0) end += 1;
|
|
10056
|
-
return decode(ptr, end - ptr);
|
|
10059
|
+
return decode$1(ptr, end - ptr);
|
|
10057
10060
|
}
|
|
10058
10061
|
var allMethodsCache;
|
|
10059
10062
|
function allMethodsOf() {
|
|
@@ -10237,23 +10240,23 @@ const _HTTPParser = class _HTTPParser {
|
|
|
10237
10240
|
return 0;
|
|
10238
10241
|
}
|
|
10239
10242
|
onUrl(at2, length) {
|
|
10240
|
-
__privateSet(this, _url, __privateGet(this, _url) + decode(at2, length));
|
|
10243
|
+
__privateSet(this, _url, __privateGet(this, _url) + decode$1(at2, length));
|
|
10241
10244
|
return __privateMethod(this, _HTTPParser_instances, countHeaderBytes_fn).call(this, length);
|
|
10242
10245
|
}
|
|
10243
10246
|
onStatus(at2, length) {
|
|
10244
|
-
__privateSet(this, _statusMessage, __privateGet(this, _statusMessage) + decode(at2, length));
|
|
10247
|
+
__privateSet(this, _statusMessage, __privateGet(this, _statusMessage) + decode$1(at2, length));
|
|
10245
10248
|
return __privateMethod(this, _HTTPParser_instances, countHeaderBytes_fn).call(this, length);
|
|
10246
10249
|
}
|
|
10247
10250
|
onHeaderField(at2, length) {
|
|
10248
10251
|
if (__privateGet(this, _readingValue)) {
|
|
10249
10252
|
__privateMethod(this, _HTTPParser_instances, pushHeader_fn).call(this);
|
|
10250
10253
|
}
|
|
10251
|
-
__privateSet(this, _field, __privateGet(this, _field) + decode(at2, length));
|
|
10254
|
+
__privateSet(this, _field, __privateGet(this, _field) + decode$1(at2, length));
|
|
10252
10255
|
return __privateMethod(this, _HTTPParser_instances, countHeaderBytes_fn).call(this, length);
|
|
10253
10256
|
}
|
|
10254
10257
|
onHeaderValue(at2, length) {
|
|
10255
10258
|
__privateSet(this, _readingValue, true);
|
|
10256
|
-
__privateSet(this, _value, __privateGet(this, _value) + decode(at2, length));
|
|
10259
|
+
__privateSet(this, _value, __privateGet(this, _value) + decode$1(at2, length));
|
|
10257
10260
|
return __privateMethod(this, _HTTPParser_instances, countHeaderBytes_fn).call(this, length);
|
|
10258
10261
|
}
|
|
10259
10262
|
onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
|
|
@@ -12481,8 +12484,8 @@ const inflateGetHeader = (strm, head) => {
|
|
|
12481
12484
|
head.done = false;
|
|
12482
12485
|
return Z_OK$1;
|
|
12483
12486
|
};
|
|
12484
|
-
const inflateSetDictionary = (strm,
|
|
12485
|
-
const dictLength =
|
|
12487
|
+
const inflateSetDictionary = (strm, dictionary2) => {
|
|
12488
|
+
const dictLength = dictionary2.length;
|
|
12486
12489
|
let state;
|
|
12487
12490
|
let dictid;
|
|
12488
12491
|
let ret;
|
|
@@ -12495,12 +12498,12 @@ const inflateSetDictionary = (strm, dictionary) => {
|
|
|
12495
12498
|
}
|
|
12496
12499
|
if (state.mode === DICT) {
|
|
12497
12500
|
dictid = 1;
|
|
12498
|
-
dictid = adler32$1(dictid,
|
|
12501
|
+
dictid = adler32$1(dictid, dictionary2, dictLength, 0);
|
|
12499
12502
|
if (dictid !== state.check) {
|
|
12500
12503
|
return Z_DATA_ERROR$1;
|
|
12501
12504
|
}
|
|
12502
12505
|
}
|
|
12503
|
-
ret = updatewindow(strm,
|
|
12506
|
+
ret = updatewindow(strm, dictionary2, dictLength, dictLength);
|
|
12504
12507
|
if (ret) {
|
|
12505
12508
|
state.mode = MEM;
|
|
12506
12509
|
return Z_MEM_ERROR;
|
|
@@ -14252,8 +14255,8 @@ const deflateEnd = (strm) => {
|
|
|
14252
14255
|
strm.state = null;
|
|
14253
14256
|
return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;
|
|
14254
14257
|
};
|
|
14255
|
-
const deflateSetDictionary = (strm,
|
|
14256
|
-
let dictLength =
|
|
14258
|
+
const deflateSetDictionary = (strm, dictionary2) => {
|
|
14259
|
+
let dictLength = dictionary2.length;
|
|
14257
14260
|
if (deflateStateCheck(strm)) {
|
|
14258
14261
|
return Z_STREAM_ERROR;
|
|
14259
14262
|
}
|
|
@@ -14263,7 +14266,7 @@ const deflateSetDictionary = (strm, dictionary) => {
|
|
|
14263
14266
|
return Z_STREAM_ERROR;
|
|
14264
14267
|
}
|
|
14265
14268
|
if (wrap2 === 1) {
|
|
14266
|
-
strm.adler = adler32(strm.adler,
|
|
14269
|
+
strm.adler = adler32(strm.adler, dictionary2, dictLength, 0);
|
|
14267
14270
|
}
|
|
14268
14271
|
s.wrap = 0;
|
|
14269
14272
|
if (dictLength >= s.w_size) {
|
|
@@ -14274,8 +14277,8 @@ const deflateSetDictionary = (strm, dictionary) => {
|
|
|
14274
14277
|
s.insert = 0;
|
|
14275
14278
|
}
|
|
14276
14279
|
let tmpDict = new Uint8Array(s.w_size);
|
|
14277
|
-
tmpDict.set(
|
|
14278
|
-
|
|
14280
|
+
tmpDict.set(dictionary2.subarray(dictLength - s.w_size, dictLength), 0);
|
|
14281
|
+
dictionary2 = tmpDict;
|
|
14279
14282
|
dictLength = s.w_size;
|
|
14280
14283
|
}
|
|
14281
14284
|
const avail = strm.avail_in;
|
|
@@ -14283,7 +14286,7 @@ const deflateSetDictionary = (strm, dictionary) => {
|
|
|
14283
14286
|
const input = strm.input;
|
|
14284
14287
|
strm.avail_in = dictLength;
|
|
14285
14288
|
strm.next_in = 0;
|
|
14286
|
-
strm.input =
|
|
14289
|
+
strm.input = dictionary2;
|
|
14287
14290
|
fill_window(s);
|
|
14288
14291
|
while (s.lookahead >= MIN_MATCH) {
|
|
14289
14292
|
let str = s.strstart;
|
|
@@ -14342,6 +14345,3404 @@ const zlibConstants = {
|
|
|
14342
14345
|
messages: pakoMessages,
|
|
14343
14346
|
crc32: pakoCrc32
|
|
14344
14347
|
};
|
|
14348
|
+
var decode = {};
|
|
14349
|
+
var streams = {};
|
|
14350
|
+
function BrotliInput(buffer2) {
|
|
14351
|
+
this.buffer = buffer2;
|
|
14352
|
+
this.pos = 0;
|
|
14353
|
+
}
|
|
14354
|
+
BrotliInput.prototype.read = function(buf, i2, count) {
|
|
14355
|
+
if (this.pos + count > this.buffer.length) {
|
|
14356
|
+
count = this.buffer.length - this.pos;
|
|
14357
|
+
}
|
|
14358
|
+
for (var p = 0; p < count; p++)
|
|
14359
|
+
buf[i2 + p] = this.buffer[this.pos + p];
|
|
14360
|
+
this.pos += count;
|
|
14361
|
+
return count;
|
|
14362
|
+
};
|
|
14363
|
+
streams.BrotliInput = BrotliInput;
|
|
14364
|
+
function BrotliOutput(buf) {
|
|
14365
|
+
this.buffer = buf;
|
|
14366
|
+
this.pos = 0;
|
|
14367
|
+
}
|
|
14368
|
+
BrotliOutput.prototype.write = function(buf, count) {
|
|
14369
|
+
if (this.pos + count > this.buffer.length)
|
|
14370
|
+
throw new Error("Output buffer is not large enough");
|
|
14371
|
+
this.buffer.set(buf.subarray(0, count), this.pos);
|
|
14372
|
+
this.pos += count;
|
|
14373
|
+
return count;
|
|
14374
|
+
};
|
|
14375
|
+
streams.BrotliOutput = BrotliOutput;
|
|
14376
|
+
var BROTLI_READ_SIZE = 4096;
|
|
14377
|
+
var BROTLI_IBUF_SIZE = 2 * BROTLI_READ_SIZE + 32;
|
|
14378
|
+
var BROTLI_IBUF_MASK = 2 * BROTLI_READ_SIZE - 1;
|
|
14379
|
+
var kBitMask = new Uint32Array([
|
|
14380
|
+
0,
|
|
14381
|
+
1,
|
|
14382
|
+
3,
|
|
14383
|
+
7,
|
|
14384
|
+
15,
|
|
14385
|
+
31,
|
|
14386
|
+
63,
|
|
14387
|
+
127,
|
|
14388
|
+
255,
|
|
14389
|
+
511,
|
|
14390
|
+
1023,
|
|
14391
|
+
2047,
|
|
14392
|
+
4095,
|
|
14393
|
+
8191,
|
|
14394
|
+
16383,
|
|
14395
|
+
32767,
|
|
14396
|
+
65535,
|
|
14397
|
+
131071,
|
|
14398
|
+
262143,
|
|
14399
|
+
524287,
|
|
14400
|
+
1048575,
|
|
14401
|
+
2097151,
|
|
14402
|
+
4194303,
|
|
14403
|
+
8388607,
|
|
14404
|
+
16777215
|
|
14405
|
+
]);
|
|
14406
|
+
function BrotliBitReader(input) {
|
|
14407
|
+
this.buf_ = new Uint8Array(BROTLI_IBUF_SIZE);
|
|
14408
|
+
this.input_ = input;
|
|
14409
|
+
this.reset();
|
|
14410
|
+
}
|
|
14411
|
+
BrotliBitReader.READ_SIZE = BROTLI_READ_SIZE;
|
|
14412
|
+
BrotliBitReader.IBUF_MASK = BROTLI_IBUF_MASK;
|
|
14413
|
+
BrotliBitReader.prototype.reset = function() {
|
|
14414
|
+
this.buf_ptr_ = 0;
|
|
14415
|
+
this.val_ = 0;
|
|
14416
|
+
this.pos_ = 0;
|
|
14417
|
+
this.bit_pos_ = 0;
|
|
14418
|
+
this.bit_end_pos_ = 0;
|
|
14419
|
+
this.eos_ = 0;
|
|
14420
|
+
this.readMoreInput();
|
|
14421
|
+
for (var i2 = 0; i2 < 4; i2++) {
|
|
14422
|
+
this.val_ |= this.buf_[this.pos_] << 8 * i2;
|
|
14423
|
+
++this.pos_;
|
|
14424
|
+
}
|
|
14425
|
+
return this.bit_end_pos_ > 0;
|
|
14426
|
+
};
|
|
14427
|
+
BrotliBitReader.prototype.readMoreInput = function() {
|
|
14428
|
+
if (this.bit_end_pos_ > 256) {
|
|
14429
|
+
return;
|
|
14430
|
+
} else if (this.eos_) {
|
|
14431
|
+
if (this.bit_pos_ > this.bit_end_pos_)
|
|
14432
|
+
throw new Error("Unexpected end of input " + this.bit_pos_ + " " + this.bit_end_pos_);
|
|
14433
|
+
} else {
|
|
14434
|
+
var dst = this.buf_ptr_;
|
|
14435
|
+
var bytes_read = this.input_.read(this.buf_, dst, BROTLI_READ_SIZE);
|
|
14436
|
+
if (bytes_read < 0) {
|
|
14437
|
+
throw new Error("Unexpected end of input");
|
|
14438
|
+
}
|
|
14439
|
+
if (bytes_read < BROTLI_READ_SIZE) {
|
|
14440
|
+
this.eos_ = 1;
|
|
14441
|
+
for (var p = 0; p < 32; p++)
|
|
14442
|
+
this.buf_[dst + bytes_read + p] = 0;
|
|
14443
|
+
}
|
|
14444
|
+
if (dst === 0) {
|
|
14445
|
+
for (var p = 0; p < 32; p++)
|
|
14446
|
+
this.buf_[(BROTLI_READ_SIZE << 1) + p] = this.buf_[p];
|
|
14447
|
+
this.buf_ptr_ = BROTLI_READ_SIZE;
|
|
14448
|
+
} else {
|
|
14449
|
+
this.buf_ptr_ = 0;
|
|
14450
|
+
}
|
|
14451
|
+
this.bit_end_pos_ += bytes_read << 3;
|
|
14452
|
+
}
|
|
14453
|
+
};
|
|
14454
|
+
BrotliBitReader.prototype.fillBitWindow = function() {
|
|
14455
|
+
while (this.bit_pos_ >= 8) {
|
|
14456
|
+
this.val_ >>>= 8;
|
|
14457
|
+
this.val_ |= this.buf_[this.pos_ & BROTLI_IBUF_MASK] << 24;
|
|
14458
|
+
++this.pos_;
|
|
14459
|
+
this.bit_pos_ = this.bit_pos_ - 8 >>> 0;
|
|
14460
|
+
this.bit_end_pos_ = this.bit_end_pos_ - 8 >>> 0;
|
|
14461
|
+
}
|
|
14462
|
+
};
|
|
14463
|
+
BrotliBitReader.prototype.readBits = function(n_bits) {
|
|
14464
|
+
if (32 - this.bit_pos_ < n_bits) {
|
|
14465
|
+
this.fillBitWindow();
|
|
14466
|
+
}
|
|
14467
|
+
var val = this.val_ >>> this.bit_pos_ & kBitMask[n_bits];
|
|
14468
|
+
this.bit_pos_ += n_bits;
|
|
14469
|
+
return val;
|
|
14470
|
+
};
|
|
14471
|
+
var bit_reader = BrotliBitReader;
|
|
14472
|
+
var dictionary = {};
|
|
14473
|
+
var dictionaryBrowser = {};
|
|
14474
|
+
var base64Js = {};
|
|
14475
|
+
base64Js.byteLength = byteLength;
|
|
14476
|
+
base64Js.toByteArray = toByteArray;
|
|
14477
|
+
base64Js.fromByteArray = fromByteArray;
|
|
14478
|
+
var lookup$1 = [];
|
|
14479
|
+
var revLookup = [];
|
|
14480
|
+
var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;
|
|
14481
|
+
var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
14482
|
+
for (var i$1 = 0, len = code.length; i$1 < len; ++i$1) {
|
|
14483
|
+
lookup$1[i$1] = code[i$1];
|
|
14484
|
+
revLookup[code.charCodeAt(i$1)] = i$1;
|
|
14485
|
+
}
|
|
14486
|
+
revLookup["-".charCodeAt(0)] = 62;
|
|
14487
|
+
revLookup["_".charCodeAt(0)] = 63;
|
|
14488
|
+
function getLens(b64) {
|
|
14489
|
+
var len2 = b64.length;
|
|
14490
|
+
if (len2 % 4 > 0) {
|
|
14491
|
+
throw new Error("Invalid string. Length must be a multiple of 4");
|
|
14492
|
+
}
|
|
14493
|
+
var validLen = b64.indexOf("=");
|
|
14494
|
+
if (validLen === -1) validLen = len2;
|
|
14495
|
+
var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4;
|
|
14496
|
+
return [validLen, placeHoldersLen];
|
|
14497
|
+
}
|
|
14498
|
+
function byteLength(b64) {
|
|
14499
|
+
var lens = getLens(b64);
|
|
14500
|
+
var validLen = lens[0];
|
|
14501
|
+
var placeHoldersLen = lens[1];
|
|
14502
|
+
return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
|
|
14503
|
+
}
|
|
14504
|
+
function _byteLength(b64, validLen, placeHoldersLen) {
|
|
14505
|
+
return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
|
|
14506
|
+
}
|
|
14507
|
+
function toByteArray(b64) {
|
|
14508
|
+
var tmp;
|
|
14509
|
+
var lens = getLens(b64);
|
|
14510
|
+
var validLen = lens[0];
|
|
14511
|
+
var placeHoldersLen = lens[1];
|
|
14512
|
+
var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));
|
|
14513
|
+
var curByte = 0;
|
|
14514
|
+
var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen;
|
|
14515
|
+
var i2;
|
|
14516
|
+
for (i2 = 0; i2 < len2; i2 += 4) {
|
|
14517
|
+
tmp = revLookup[b64.charCodeAt(i2)] << 18 | revLookup[b64.charCodeAt(i2 + 1)] << 12 | revLookup[b64.charCodeAt(i2 + 2)] << 6 | revLookup[b64.charCodeAt(i2 + 3)];
|
|
14518
|
+
arr[curByte++] = tmp >> 16 & 255;
|
|
14519
|
+
arr[curByte++] = tmp >> 8 & 255;
|
|
14520
|
+
arr[curByte++] = tmp & 255;
|
|
14521
|
+
}
|
|
14522
|
+
if (placeHoldersLen === 2) {
|
|
14523
|
+
tmp = revLookup[b64.charCodeAt(i2)] << 2 | revLookup[b64.charCodeAt(i2 + 1)] >> 4;
|
|
14524
|
+
arr[curByte++] = tmp & 255;
|
|
14525
|
+
}
|
|
14526
|
+
if (placeHoldersLen === 1) {
|
|
14527
|
+
tmp = revLookup[b64.charCodeAt(i2)] << 10 | revLookup[b64.charCodeAt(i2 + 1)] << 4 | revLookup[b64.charCodeAt(i2 + 2)] >> 2;
|
|
14528
|
+
arr[curByte++] = tmp >> 8 & 255;
|
|
14529
|
+
arr[curByte++] = tmp & 255;
|
|
14530
|
+
}
|
|
14531
|
+
return arr;
|
|
14532
|
+
}
|
|
14533
|
+
function tripletToBase64(num) {
|
|
14534
|
+
return lookup$1[num >> 18 & 63] + lookup$1[num >> 12 & 63] + lookup$1[num >> 6 & 63] + lookup$1[num & 63];
|
|
14535
|
+
}
|
|
14536
|
+
function encodeChunk(uint8, start, end) {
|
|
14537
|
+
var tmp;
|
|
14538
|
+
var output = [];
|
|
14539
|
+
for (var i2 = start; i2 < end; i2 += 3) {
|
|
14540
|
+
tmp = (uint8[i2] << 16 & 16711680) + (uint8[i2 + 1] << 8 & 65280) + (uint8[i2 + 2] & 255);
|
|
14541
|
+
output.push(tripletToBase64(tmp));
|
|
14542
|
+
}
|
|
14543
|
+
return output.join("");
|
|
14544
|
+
}
|
|
14545
|
+
function fromByteArray(uint8) {
|
|
14546
|
+
var tmp;
|
|
14547
|
+
var len2 = uint8.length;
|
|
14548
|
+
var extraBytes = len2 % 3;
|
|
14549
|
+
var parts = [];
|
|
14550
|
+
var maxChunkLength = 16383;
|
|
14551
|
+
for (var i2 = 0, len22 = len2 - extraBytes; i2 < len22; i2 += maxChunkLength) {
|
|
14552
|
+
parts.push(encodeChunk(uint8, i2, i2 + maxChunkLength > len22 ? len22 : i2 + maxChunkLength));
|
|
14553
|
+
}
|
|
14554
|
+
if (extraBytes === 1) {
|
|
14555
|
+
tmp = uint8[len2 - 1];
|
|
14556
|
+
parts.push(
|
|
14557
|
+
lookup$1[tmp >> 2] + lookup$1[tmp << 4 & 63] + "=="
|
|
14558
|
+
);
|
|
14559
|
+
} else if (extraBytes === 2) {
|
|
14560
|
+
tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1];
|
|
14561
|
+
parts.push(
|
|
14562
|
+
lookup$1[tmp >> 10] + lookup$1[tmp >> 4 & 63] + lookup$1[tmp << 2 & 63] + "="
|
|
14563
|
+
);
|
|
14564
|
+
}
|
|
14565
|
+
return parts.join("");
|
|
14566
|
+
}
|
|
14567
|
+
var dictionary_bin;
|
|
14568
|
+
var hasRequiredDictionary_bin;
|
|
14569
|
+
function requireDictionary_bin() {
|
|
14570
|
+
if (hasRequiredDictionary_bin) return dictionary_bin;
|
|
14571
|
+
hasRequiredDictionary_bin = 1;
|
|
14572
|
+
dictionary_bin = "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";
|
|
14573
|
+
return dictionary_bin;
|
|
14574
|
+
}
|
|
14575
|
+
var hasRequiredDictionaryBrowser;
|
|
14576
|
+
function requireDictionaryBrowser() {
|
|
14577
|
+
if (hasRequiredDictionaryBrowser) return dictionaryBrowser;
|
|
14578
|
+
hasRequiredDictionaryBrowser = 1;
|
|
14579
|
+
var base642 = base64Js;
|
|
14580
|
+
dictionaryBrowser.init = function() {
|
|
14581
|
+
var BrotliDecompressBuffer = requireDecode().BrotliDecompressBuffer;
|
|
14582
|
+
var compressed = base642.toByteArray(requireDictionary_bin());
|
|
14583
|
+
return BrotliDecompressBuffer(compressed);
|
|
14584
|
+
};
|
|
14585
|
+
return dictionaryBrowser;
|
|
14586
|
+
}
|
|
14587
|
+
var hasRequiredDictionary;
|
|
14588
|
+
function requireDictionary() {
|
|
14589
|
+
if (hasRequiredDictionary) return dictionary;
|
|
14590
|
+
hasRequiredDictionary = 1;
|
|
14591
|
+
var data2 = requireDictionaryBrowser();
|
|
14592
|
+
dictionary.init = function() {
|
|
14593
|
+
dictionary.dictionary = data2.init();
|
|
14594
|
+
};
|
|
14595
|
+
dictionary.offsetsByLength = new Uint32Array([
|
|
14596
|
+
0,
|
|
14597
|
+
0,
|
|
14598
|
+
0,
|
|
14599
|
+
0,
|
|
14600
|
+
0,
|
|
14601
|
+
4096,
|
|
14602
|
+
9216,
|
|
14603
|
+
21504,
|
|
14604
|
+
35840,
|
|
14605
|
+
44032,
|
|
14606
|
+
53248,
|
|
14607
|
+
63488,
|
|
14608
|
+
74752,
|
|
14609
|
+
87040,
|
|
14610
|
+
93696,
|
|
14611
|
+
100864,
|
|
14612
|
+
104704,
|
|
14613
|
+
106752,
|
|
14614
|
+
108928,
|
|
14615
|
+
113536,
|
|
14616
|
+
115968,
|
|
14617
|
+
118528,
|
|
14618
|
+
119872,
|
|
14619
|
+
121280,
|
|
14620
|
+
122016
|
|
14621
|
+
]);
|
|
14622
|
+
dictionary.sizeBitsByLength = new Uint8Array([
|
|
14623
|
+
0,
|
|
14624
|
+
0,
|
|
14625
|
+
0,
|
|
14626
|
+
0,
|
|
14627
|
+
10,
|
|
14628
|
+
10,
|
|
14629
|
+
11,
|
|
14630
|
+
11,
|
|
14631
|
+
10,
|
|
14632
|
+
10,
|
|
14633
|
+
10,
|
|
14634
|
+
10,
|
|
14635
|
+
10,
|
|
14636
|
+
9,
|
|
14637
|
+
9,
|
|
14638
|
+
8,
|
|
14639
|
+
7,
|
|
14640
|
+
7,
|
|
14641
|
+
8,
|
|
14642
|
+
7,
|
|
14643
|
+
7,
|
|
14644
|
+
6,
|
|
14645
|
+
6,
|
|
14646
|
+
5,
|
|
14647
|
+
5
|
|
14648
|
+
]);
|
|
14649
|
+
dictionary.minDictionaryWordLength = 4;
|
|
14650
|
+
dictionary.maxDictionaryWordLength = 24;
|
|
14651
|
+
return dictionary;
|
|
14652
|
+
}
|
|
14653
|
+
var huffman = {};
|
|
14654
|
+
function HuffmanCode(bits, value) {
|
|
14655
|
+
this.bits = bits;
|
|
14656
|
+
this.value = value;
|
|
14657
|
+
}
|
|
14658
|
+
huffman.HuffmanCode = HuffmanCode;
|
|
14659
|
+
var MAX_LENGTH = 15;
|
|
14660
|
+
function GetNextKey(key, len2) {
|
|
14661
|
+
var step = 1 << len2 - 1;
|
|
14662
|
+
while (key & step) {
|
|
14663
|
+
step >>= 1;
|
|
14664
|
+
}
|
|
14665
|
+
return (key & step - 1) + step;
|
|
14666
|
+
}
|
|
14667
|
+
function ReplicateValue(table, i2, step, end, code2) {
|
|
14668
|
+
do {
|
|
14669
|
+
end -= step;
|
|
14670
|
+
table[i2 + end] = new HuffmanCode(code2.bits, code2.value);
|
|
14671
|
+
} while (end > 0);
|
|
14672
|
+
}
|
|
14673
|
+
function NextTableBitSize(count, len2, root_bits) {
|
|
14674
|
+
var left = 1 << len2 - root_bits;
|
|
14675
|
+
while (len2 < MAX_LENGTH) {
|
|
14676
|
+
left -= count[len2];
|
|
14677
|
+
if (left <= 0) break;
|
|
14678
|
+
++len2;
|
|
14679
|
+
left <<= 1;
|
|
14680
|
+
}
|
|
14681
|
+
return len2 - root_bits;
|
|
14682
|
+
}
|
|
14683
|
+
huffman.BrotliBuildHuffmanTable = function(root_table, table, root_bits, code_lengths, code_lengths_size) {
|
|
14684
|
+
var start_table = table;
|
|
14685
|
+
var code2;
|
|
14686
|
+
var len2;
|
|
14687
|
+
var symbol;
|
|
14688
|
+
var key;
|
|
14689
|
+
var step;
|
|
14690
|
+
var low;
|
|
14691
|
+
var mask;
|
|
14692
|
+
var table_bits;
|
|
14693
|
+
var table_size;
|
|
14694
|
+
var total_size;
|
|
14695
|
+
var sorted;
|
|
14696
|
+
var count = new Int32Array(MAX_LENGTH + 1);
|
|
14697
|
+
var offset2 = new Int32Array(MAX_LENGTH + 1);
|
|
14698
|
+
sorted = new Int32Array(code_lengths_size);
|
|
14699
|
+
for (symbol = 0; symbol < code_lengths_size; symbol++) {
|
|
14700
|
+
count[code_lengths[symbol]]++;
|
|
14701
|
+
}
|
|
14702
|
+
offset2[1] = 0;
|
|
14703
|
+
for (len2 = 1; len2 < MAX_LENGTH; len2++) {
|
|
14704
|
+
offset2[len2 + 1] = offset2[len2] + count[len2];
|
|
14705
|
+
}
|
|
14706
|
+
for (symbol = 0; symbol < code_lengths_size; symbol++) {
|
|
14707
|
+
if (code_lengths[symbol] !== 0) {
|
|
14708
|
+
sorted[offset2[code_lengths[symbol]]++] = symbol;
|
|
14709
|
+
}
|
|
14710
|
+
}
|
|
14711
|
+
table_bits = root_bits;
|
|
14712
|
+
table_size = 1 << table_bits;
|
|
14713
|
+
total_size = table_size;
|
|
14714
|
+
if (offset2[MAX_LENGTH] === 1) {
|
|
14715
|
+
for (key = 0; key < total_size; ++key) {
|
|
14716
|
+
root_table[table + key] = new HuffmanCode(0, sorted[0] & 65535);
|
|
14717
|
+
}
|
|
14718
|
+
return total_size;
|
|
14719
|
+
}
|
|
14720
|
+
key = 0;
|
|
14721
|
+
symbol = 0;
|
|
14722
|
+
for (len2 = 1, step = 2; len2 <= root_bits; ++len2, step <<= 1) {
|
|
14723
|
+
for (; count[len2] > 0; --count[len2]) {
|
|
14724
|
+
code2 = new HuffmanCode(len2 & 255, sorted[symbol++] & 65535);
|
|
14725
|
+
ReplicateValue(root_table, table + key, step, table_size, code2);
|
|
14726
|
+
key = GetNextKey(key, len2);
|
|
14727
|
+
}
|
|
14728
|
+
}
|
|
14729
|
+
mask = total_size - 1;
|
|
14730
|
+
low = -1;
|
|
14731
|
+
for (len2 = root_bits + 1, step = 2; len2 <= MAX_LENGTH; ++len2, step <<= 1) {
|
|
14732
|
+
for (; count[len2] > 0; --count[len2]) {
|
|
14733
|
+
if ((key & mask) !== low) {
|
|
14734
|
+
table += table_size;
|
|
14735
|
+
table_bits = NextTableBitSize(count, len2, root_bits);
|
|
14736
|
+
table_size = 1 << table_bits;
|
|
14737
|
+
total_size += table_size;
|
|
14738
|
+
low = key & mask;
|
|
14739
|
+
root_table[start_table + low] = new HuffmanCode(table_bits + root_bits & 255, table - start_table - low & 65535);
|
|
14740
|
+
}
|
|
14741
|
+
code2 = new HuffmanCode(len2 - root_bits & 255, sorted[symbol++] & 65535);
|
|
14742
|
+
ReplicateValue(root_table, table + (key >> root_bits), step, table_size, code2);
|
|
14743
|
+
key = GetNextKey(key, len2);
|
|
14744
|
+
}
|
|
14745
|
+
}
|
|
14746
|
+
return total_size;
|
|
14747
|
+
};
|
|
14748
|
+
var context$1 = {};
|
|
14749
|
+
context$1.lookup = new Uint8Array([
|
|
14750
|
+
/* CONTEXT_UTF8, last byte. */
|
|
14751
|
+
/* ASCII range. */
|
|
14752
|
+
0,
|
|
14753
|
+
0,
|
|
14754
|
+
0,
|
|
14755
|
+
0,
|
|
14756
|
+
0,
|
|
14757
|
+
0,
|
|
14758
|
+
0,
|
|
14759
|
+
0,
|
|
14760
|
+
0,
|
|
14761
|
+
4,
|
|
14762
|
+
4,
|
|
14763
|
+
0,
|
|
14764
|
+
0,
|
|
14765
|
+
4,
|
|
14766
|
+
0,
|
|
14767
|
+
0,
|
|
14768
|
+
0,
|
|
14769
|
+
0,
|
|
14770
|
+
0,
|
|
14771
|
+
0,
|
|
14772
|
+
0,
|
|
14773
|
+
0,
|
|
14774
|
+
0,
|
|
14775
|
+
0,
|
|
14776
|
+
0,
|
|
14777
|
+
0,
|
|
14778
|
+
0,
|
|
14779
|
+
0,
|
|
14780
|
+
0,
|
|
14781
|
+
0,
|
|
14782
|
+
0,
|
|
14783
|
+
0,
|
|
14784
|
+
8,
|
|
14785
|
+
12,
|
|
14786
|
+
16,
|
|
14787
|
+
12,
|
|
14788
|
+
12,
|
|
14789
|
+
20,
|
|
14790
|
+
12,
|
|
14791
|
+
16,
|
|
14792
|
+
24,
|
|
14793
|
+
28,
|
|
14794
|
+
12,
|
|
14795
|
+
12,
|
|
14796
|
+
32,
|
|
14797
|
+
12,
|
|
14798
|
+
36,
|
|
14799
|
+
12,
|
|
14800
|
+
44,
|
|
14801
|
+
44,
|
|
14802
|
+
44,
|
|
14803
|
+
44,
|
|
14804
|
+
44,
|
|
14805
|
+
44,
|
|
14806
|
+
44,
|
|
14807
|
+
44,
|
|
14808
|
+
44,
|
|
14809
|
+
44,
|
|
14810
|
+
32,
|
|
14811
|
+
32,
|
|
14812
|
+
24,
|
|
14813
|
+
40,
|
|
14814
|
+
28,
|
|
14815
|
+
12,
|
|
14816
|
+
12,
|
|
14817
|
+
48,
|
|
14818
|
+
52,
|
|
14819
|
+
52,
|
|
14820
|
+
52,
|
|
14821
|
+
48,
|
|
14822
|
+
52,
|
|
14823
|
+
52,
|
|
14824
|
+
52,
|
|
14825
|
+
48,
|
|
14826
|
+
52,
|
|
14827
|
+
52,
|
|
14828
|
+
52,
|
|
14829
|
+
52,
|
|
14830
|
+
52,
|
|
14831
|
+
48,
|
|
14832
|
+
52,
|
|
14833
|
+
52,
|
|
14834
|
+
52,
|
|
14835
|
+
52,
|
|
14836
|
+
52,
|
|
14837
|
+
48,
|
|
14838
|
+
52,
|
|
14839
|
+
52,
|
|
14840
|
+
52,
|
|
14841
|
+
52,
|
|
14842
|
+
52,
|
|
14843
|
+
24,
|
|
14844
|
+
12,
|
|
14845
|
+
28,
|
|
14846
|
+
12,
|
|
14847
|
+
12,
|
|
14848
|
+
12,
|
|
14849
|
+
56,
|
|
14850
|
+
60,
|
|
14851
|
+
60,
|
|
14852
|
+
60,
|
|
14853
|
+
56,
|
|
14854
|
+
60,
|
|
14855
|
+
60,
|
|
14856
|
+
60,
|
|
14857
|
+
56,
|
|
14858
|
+
60,
|
|
14859
|
+
60,
|
|
14860
|
+
60,
|
|
14861
|
+
60,
|
|
14862
|
+
60,
|
|
14863
|
+
56,
|
|
14864
|
+
60,
|
|
14865
|
+
60,
|
|
14866
|
+
60,
|
|
14867
|
+
60,
|
|
14868
|
+
60,
|
|
14869
|
+
56,
|
|
14870
|
+
60,
|
|
14871
|
+
60,
|
|
14872
|
+
60,
|
|
14873
|
+
60,
|
|
14874
|
+
60,
|
|
14875
|
+
24,
|
|
14876
|
+
12,
|
|
14877
|
+
28,
|
|
14878
|
+
12,
|
|
14879
|
+
0,
|
|
14880
|
+
/* UTF8 continuation byte range. */
|
|
14881
|
+
0,
|
|
14882
|
+
1,
|
|
14883
|
+
0,
|
|
14884
|
+
1,
|
|
14885
|
+
0,
|
|
14886
|
+
1,
|
|
14887
|
+
0,
|
|
14888
|
+
1,
|
|
14889
|
+
0,
|
|
14890
|
+
1,
|
|
14891
|
+
0,
|
|
14892
|
+
1,
|
|
14893
|
+
0,
|
|
14894
|
+
1,
|
|
14895
|
+
0,
|
|
14896
|
+
1,
|
|
14897
|
+
0,
|
|
14898
|
+
1,
|
|
14899
|
+
0,
|
|
14900
|
+
1,
|
|
14901
|
+
0,
|
|
14902
|
+
1,
|
|
14903
|
+
0,
|
|
14904
|
+
1,
|
|
14905
|
+
0,
|
|
14906
|
+
1,
|
|
14907
|
+
0,
|
|
14908
|
+
1,
|
|
14909
|
+
0,
|
|
14910
|
+
1,
|
|
14911
|
+
0,
|
|
14912
|
+
1,
|
|
14913
|
+
0,
|
|
14914
|
+
1,
|
|
14915
|
+
0,
|
|
14916
|
+
1,
|
|
14917
|
+
0,
|
|
14918
|
+
1,
|
|
14919
|
+
0,
|
|
14920
|
+
1,
|
|
14921
|
+
0,
|
|
14922
|
+
1,
|
|
14923
|
+
0,
|
|
14924
|
+
1,
|
|
14925
|
+
0,
|
|
14926
|
+
1,
|
|
14927
|
+
0,
|
|
14928
|
+
1,
|
|
14929
|
+
0,
|
|
14930
|
+
1,
|
|
14931
|
+
0,
|
|
14932
|
+
1,
|
|
14933
|
+
0,
|
|
14934
|
+
1,
|
|
14935
|
+
0,
|
|
14936
|
+
1,
|
|
14937
|
+
0,
|
|
14938
|
+
1,
|
|
14939
|
+
0,
|
|
14940
|
+
1,
|
|
14941
|
+
0,
|
|
14942
|
+
1,
|
|
14943
|
+
0,
|
|
14944
|
+
1,
|
|
14945
|
+
/* UTF8 lead byte range. */
|
|
14946
|
+
2,
|
|
14947
|
+
3,
|
|
14948
|
+
2,
|
|
14949
|
+
3,
|
|
14950
|
+
2,
|
|
14951
|
+
3,
|
|
14952
|
+
2,
|
|
14953
|
+
3,
|
|
14954
|
+
2,
|
|
14955
|
+
3,
|
|
14956
|
+
2,
|
|
14957
|
+
3,
|
|
14958
|
+
2,
|
|
14959
|
+
3,
|
|
14960
|
+
2,
|
|
14961
|
+
3,
|
|
14962
|
+
2,
|
|
14963
|
+
3,
|
|
14964
|
+
2,
|
|
14965
|
+
3,
|
|
14966
|
+
2,
|
|
14967
|
+
3,
|
|
14968
|
+
2,
|
|
14969
|
+
3,
|
|
14970
|
+
2,
|
|
14971
|
+
3,
|
|
14972
|
+
2,
|
|
14973
|
+
3,
|
|
14974
|
+
2,
|
|
14975
|
+
3,
|
|
14976
|
+
2,
|
|
14977
|
+
3,
|
|
14978
|
+
2,
|
|
14979
|
+
3,
|
|
14980
|
+
2,
|
|
14981
|
+
3,
|
|
14982
|
+
2,
|
|
14983
|
+
3,
|
|
14984
|
+
2,
|
|
14985
|
+
3,
|
|
14986
|
+
2,
|
|
14987
|
+
3,
|
|
14988
|
+
2,
|
|
14989
|
+
3,
|
|
14990
|
+
2,
|
|
14991
|
+
3,
|
|
14992
|
+
2,
|
|
14993
|
+
3,
|
|
14994
|
+
2,
|
|
14995
|
+
3,
|
|
14996
|
+
2,
|
|
14997
|
+
3,
|
|
14998
|
+
2,
|
|
14999
|
+
3,
|
|
15000
|
+
2,
|
|
15001
|
+
3,
|
|
15002
|
+
2,
|
|
15003
|
+
3,
|
|
15004
|
+
2,
|
|
15005
|
+
3,
|
|
15006
|
+
2,
|
|
15007
|
+
3,
|
|
15008
|
+
2,
|
|
15009
|
+
3,
|
|
15010
|
+
/* CONTEXT_UTF8 second last byte. */
|
|
15011
|
+
/* ASCII range. */
|
|
15012
|
+
0,
|
|
15013
|
+
0,
|
|
15014
|
+
0,
|
|
15015
|
+
0,
|
|
15016
|
+
0,
|
|
15017
|
+
0,
|
|
15018
|
+
0,
|
|
15019
|
+
0,
|
|
15020
|
+
0,
|
|
15021
|
+
0,
|
|
15022
|
+
0,
|
|
15023
|
+
0,
|
|
15024
|
+
0,
|
|
15025
|
+
0,
|
|
15026
|
+
0,
|
|
15027
|
+
0,
|
|
15028
|
+
0,
|
|
15029
|
+
0,
|
|
15030
|
+
0,
|
|
15031
|
+
0,
|
|
15032
|
+
0,
|
|
15033
|
+
0,
|
|
15034
|
+
0,
|
|
15035
|
+
0,
|
|
15036
|
+
0,
|
|
15037
|
+
0,
|
|
15038
|
+
0,
|
|
15039
|
+
0,
|
|
15040
|
+
0,
|
|
15041
|
+
0,
|
|
15042
|
+
0,
|
|
15043
|
+
0,
|
|
15044
|
+
0,
|
|
15045
|
+
1,
|
|
15046
|
+
1,
|
|
15047
|
+
1,
|
|
15048
|
+
1,
|
|
15049
|
+
1,
|
|
15050
|
+
1,
|
|
15051
|
+
1,
|
|
15052
|
+
1,
|
|
15053
|
+
1,
|
|
15054
|
+
1,
|
|
15055
|
+
1,
|
|
15056
|
+
1,
|
|
15057
|
+
1,
|
|
15058
|
+
1,
|
|
15059
|
+
1,
|
|
15060
|
+
2,
|
|
15061
|
+
2,
|
|
15062
|
+
2,
|
|
15063
|
+
2,
|
|
15064
|
+
2,
|
|
15065
|
+
2,
|
|
15066
|
+
2,
|
|
15067
|
+
2,
|
|
15068
|
+
2,
|
|
15069
|
+
2,
|
|
15070
|
+
1,
|
|
15071
|
+
1,
|
|
15072
|
+
1,
|
|
15073
|
+
1,
|
|
15074
|
+
1,
|
|
15075
|
+
1,
|
|
15076
|
+
1,
|
|
15077
|
+
2,
|
|
15078
|
+
2,
|
|
15079
|
+
2,
|
|
15080
|
+
2,
|
|
15081
|
+
2,
|
|
15082
|
+
2,
|
|
15083
|
+
2,
|
|
15084
|
+
2,
|
|
15085
|
+
2,
|
|
15086
|
+
2,
|
|
15087
|
+
2,
|
|
15088
|
+
2,
|
|
15089
|
+
2,
|
|
15090
|
+
2,
|
|
15091
|
+
2,
|
|
15092
|
+
2,
|
|
15093
|
+
2,
|
|
15094
|
+
2,
|
|
15095
|
+
2,
|
|
15096
|
+
2,
|
|
15097
|
+
2,
|
|
15098
|
+
2,
|
|
15099
|
+
2,
|
|
15100
|
+
2,
|
|
15101
|
+
2,
|
|
15102
|
+
2,
|
|
15103
|
+
1,
|
|
15104
|
+
1,
|
|
15105
|
+
1,
|
|
15106
|
+
1,
|
|
15107
|
+
1,
|
|
15108
|
+
1,
|
|
15109
|
+
3,
|
|
15110
|
+
3,
|
|
15111
|
+
3,
|
|
15112
|
+
3,
|
|
15113
|
+
3,
|
|
15114
|
+
3,
|
|
15115
|
+
3,
|
|
15116
|
+
3,
|
|
15117
|
+
3,
|
|
15118
|
+
3,
|
|
15119
|
+
3,
|
|
15120
|
+
3,
|
|
15121
|
+
3,
|
|
15122
|
+
3,
|
|
15123
|
+
3,
|
|
15124
|
+
3,
|
|
15125
|
+
3,
|
|
15126
|
+
3,
|
|
15127
|
+
3,
|
|
15128
|
+
3,
|
|
15129
|
+
3,
|
|
15130
|
+
3,
|
|
15131
|
+
3,
|
|
15132
|
+
3,
|
|
15133
|
+
3,
|
|
15134
|
+
3,
|
|
15135
|
+
1,
|
|
15136
|
+
1,
|
|
15137
|
+
1,
|
|
15138
|
+
1,
|
|
15139
|
+
0,
|
|
15140
|
+
/* UTF8 continuation byte range. */
|
|
15141
|
+
0,
|
|
15142
|
+
0,
|
|
15143
|
+
0,
|
|
15144
|
+
0,
|
|
15145
|
+
0,
|
|
15146
|
+
0,
|
|
15147
|
+
0,
|
|
15148
|
+
0,
|
|
15149
|
+
0,
|
|
15150
|
+
0,
|
|
15151
|
+
0,
|
|
15152
|
+
0,
|
|
15153
|
+
0,
|
|
15154
|
+
0,
|
|
15155
|
+
0,
|
|
15156
|
+
0,
|
|
15157
|
+
0,
|
|
15158
|
+
0,
|
|
15159
|
+
0,
|
|
15160
|
+
0,
|
|
15161
|
+
0,
|
|
15162
|
+
0,
|
|
15163
|
+
0,
|
|
15164
|
+
0,
|
|
15165
|
+
0,
|
|
15166
|
+
0,
|
|
15167
|
+
0,
|
|
15168
|
+
0,
|
|
15169
|
+
0,
|
|
15170
|
+
0,
|
|
15171
|
+
0,
|
|
15172
|
+
0,
|
|
15173
|
+
0,
|
|
15174
|
+
0,
|
|
15175
|
+
0,
|
|
15176
|
+
0,
|
|
15177
|
+
0,
|
|
15178
|
+
0,
|
|
15179
|
+
0,
|
|
15180
|
+
0,
|
|
15181
|
+
0,
|
|
15182
|
+
0,
|
|
15183
|
+
0,
|
|
15184
|
+
0,
|
|
15185
|
+
0,
|
|
15186
|
+
0,
|
|
15187
|
+
0,
|
|
15188
|
+
0,
|
|
15189
|
+
0,
|
|
15190
|
+
0,
|
|
15191
|
+
0,
|
|
15192
|
+
0,
|
|
15193
|
+
0,
|
|
15194
|
+
0,
|
|
15195
|
+
0,
|
|
15196
|
+
0,
|
|
15197
|
+
0,
|
|
15198
|
+
0,
|
|
15199
|
+
0,
|
|
15200
|
+
0,
|
|
15201
|
+
0,
|
|
15202
|
+
0,
|
|
15203
|
+
0,
|
|
15204
|
+
0,
|
|
15205
|
+
0,
|
|
15206
|
+
0,
|
|
15207
|
+
0,
|
|
15208
|
+
0,
|
|
15209
|
+
0,
|
|
15210
|
+
0,
|
|
15211
|
+
0,
|
|
15212
|
+
0,
|
|
15213
|
+
0,
|
|
15214
|
+
0,
|
|
15215
|
+
0,
|
|
15216
|
+
0,
|
|
15217
|
+
0,
|
|
15218
|
+
0,
|
|
15219
|
+
0,
|
|
15220
|
+
0,
|
|
15221
|
+
/* UTF8 lead byte range. */
|
|
15222
|
+
0,
|
|
15223
|
+
0,
|
|
15224
|
+
0,
|
|
15225
|
+
0,
|
|
15226
|
+
0,
|
|
15227
|
+
0,
|
|
15228
|
+
0,
|
|
15229
|
+
0,
|
|
15230
|
+
0,
|
|
15231
|
+
0,
|
|
15232
|
+
0,
|
|
15233
|
+
0,
|
|
15234
|
+
0,
|
|
15235
|
+
0,
|
|
15236
|
+
0,
|
|
15237
|
+
0,
|
|
15238
|
+
2,
|
|
15239
|
+
2,
|
|
15240
|
+
2,
|
|
15241
|
+
2,
|
|
15242
|
+
2,
|
|
15243
|
+
2,
|
|
15244
|
+
2,
|
|
15245
|
+
2,
|
|
15246
|
+
2,
|
|
15247
|
+
2,
|
|
15248
|
+
2,
|
|
15249
|
+
2,
|
|
15250
|
+
2,
|
|
15251
|
+
2,
|
|
15252
|
+
2,
|
|
15253
|
+
2,
|
|
15254
|
+
2,
|
|
15255
|
+
2,
|
|
15256
|
+
2,
|
|
15257
|
+
2,
|
|
15258
|
+
2,
|
|
15259
|
+
2,
|
|
15260
|
+
2,
|
|
15261
|
+
2,
|
|
15262
|
+
2,
|
|
15263
|
+
2,
|
|
15264
|
+
2,
|
|
15265
|
+
2,
|
|
15266
|
+
2,
|
|
15267
|
+
2,
|
|
15268
|
+
2,
|
|
15269
|
+
2,
|
|
15270
|
+
/* CONTEXT_SIGNED, second last byte. */
|
|
15271
|
+
0,
|
|
15272
|
+
1,
|
|
15273
|
+
1,
|
|
15274
|
+
1,
|
|
15275
|
+
1,
|
|
15276
|
+
1,
|
|
15277
|
+
1,
|
|
15278
|
+
1,
|
|
15279
|
+
1,
|
|
15280
|
+
1,
|
|
15281
|
+
1,
|
|
15282
|
+
1,
|
|
15283
|
+
1,
|
|
15284
|
+
1,
|
|
15285
|
+
1,
|
|
15286
|
+
1,
|
|
15287
|
+
2,
|
|
15288
|
+
2,
|
|
15289
|
+
2,
|
|
15290
|
+
2,
|
|
15291
|
+
2,
|
|
15292
|
+
2,
|
|
15293
|
+
2,
|
|
15294
|
+
2,
|
|
15295
|
+
2,
|
|
15296
|
+
2,
|
|
15297
|
+
2,
|
|
15298
|
+
2,
|
|
15299
|
+
2,
|
|
15300
|
+
2,
|
|
15301
|
+
2,
|
|
15302
|
+
2,
|
|
15303
|
+
2,
|
|
15304
|
+
2,
|
|
15305
|
+
2,
|
|
15306
|
+
2,
|
|
15307
|
+
2,
|
|
15308
|
+
2,
|
|
15309
|
+
2,
|
|
15310
|
+
2,
|
|
15311
|
+
2,
|
|
15312
|
+
2,
|
|
15313
|
+
2,
|
|
15314
|
+
2,
|
|
15315
|
+
2,
|
|
15316
|
+
2,
|
|
15317
|
+
2,
|
|
15318
|
+
2,
|
|
15319
|
+
2,
|
|
15320
|
+
2,
|
|
15321
|
+
2,
|
|
15322
|
+
2,
|
|
15323
|
+
2,
|
|
15324
|
+
2,
|
|
15325
|
+
2,
|
|
15326
|
+
2,
|
|
15327
|
+
2,
|
|
15328
|
+
2,
|
|
15329
|
+
2,
|
|
15330
|
+
2,
|
|
15331
|
+
2,
|
|
15332
|
+
2,
|
|
15333
|
+
2,
|
|
15334
|
+
2,
|
|
15335
|
+
3,
|
|
15336
|
+
3,
|
|
15337
|
+
3,
|
|
15338
|
+
3,
|
|
15339
|
+
3,
|
|
15340
|
+
3,
|
|
15341
|
+
3,
|
|
15342
|
+
3,
|
|
15343
|
+
3,
|
|
15344
|
+
3,
|
|
15345
|
+
3,
|
|
15346
|
+
3,
|
|
15347
|
+
3,
|
|
15348
|
+
3,
|
|
15349
|
+
3,
|
|
15350
|
+
3,
|
|
15351
|
+
3,
|
|
15352
|
+
3,
|
|
15353
|
+
3,
|
|
15354
|
+
3,
|
|
15355
|
+
3,
|
|
15356
|
+
3,
|
|
15357
|
+
3,
|
|
15358
|
+
3,
|
|
15359
|
+
3,
|
|
15360
|
+
3,
|
|
15361
|
+
3,
|
|
15362
|
+
3,
|
|
15363
|
+
3,
|
|
15364
|
+
3,
|
|
15365
|
+
3,
|
|
15366
|
+
3,
|
|
15367
|
+
3,
|
|
15368
|
+
3,
|
|
15369
|
+
3,
|
|
15370
|
+
3,
|
|
15371
|
+
3,
|
|
15372
|
+
3,
|
|
15373
|
+
3,
|
|
15374
|
+
3,
|
|
15375
|
+
3,
|
|
15376
|
+
3,
|
|
15377
|
+
3,
|
|
15378
|
+
3,
|
|
15379
|
+
3,
|
|
15380
|
+
3,
|
|
15381
|
+
3,
|
|
15382
|
+
3,
|
|
15383
|
+
3,
|
|
15384
|
+
3,
|
|
15385
|
+
3,
|
|
15386
|
+
3,
|
|
15387
|
+
3,
|
|
15388
|
+
3,
|
|
15389
|
+
3,
|
|
15390
|
+
3,
|
|
15391
|
+
3,
|
|
15392
|
+
3,
|
|
15393
|
+
3,
|
|
15394
|
+
3,
|
|
15395
|
+
3,
|
|
15396
|
+
3,
|
|
15397
|
+
3,
|
|
15398
|
+
3,
|
|
15399
|
+
4,
|
|
15400
|
+
4,
|
|
15401
|
+
4,
|
|
15402
|
+
4,
|
|
15403
|
+
4,
|
|
15404
|
+
4,
|
|
15405
|
+
4,
|
|
15406
|
+
4,
|
|
15407
|
+
4,
|
|
15408
|
+
4,
|
|
15409
|
+
4,
|
|
15410
|
+
4,
|
|
15411
|
+
4,
|
|
15412
|
+
4,
|
|
15413
|
+
4,
|
|
15414
|
+
4,
|
|
15415
|
+
4,
|
|
15416
|
+
4,
|
|
15417
|
+
4,
|
|
15418
|
+
4,
|
|
15419
|
+
4,
|
|
15420
|
+
4,
|
|
15421
|
+
4,
|
|
15422
|
+
4,
|
|
15423
|
+
4,
|
|
15424
|
+
4,
|
|
15425
|
+
4,
|
|
15426
|
+
4,
|
|
15427
|
+
4,
|
|
15428
|
+
4,
|
|
15429
|
+
4,
|
|
15430
|
+
4,
|
|
15431
|
+
4,
|
|
15432
|
+
4,
|
|
15433
|
+
4,
|
|
15434
|
+
4,
|
|
15435
|
+
4,
|
|
15436
|
+
4,
|
|
15437
|
+
4,
|
|
15438
|
+
4,
|
|
15439
|
+
4,
|
|
15440
|
+
4,
|
|
15441
|
+
4,
|
|
15442
|
+
4,
|
|
15443
|
+
4,
|
|
15444
|
+
4,
|
|
15445
|
+
4,
|
|
15446
|
+
4,
|
|
15447
|
+
4,
|
|
15448
|
+
4,
|
|
15449
|
+
4,
|
|
15450
|
+
4,
|
|
15451
|
+
4,
|
|
15452
|
+
4,
|
|
15453
|
+
4,
|
|
15454
|
+
4,
|
|
15455
|
+
4,
|
|
15456
|
+
4,
|
|
15457
|
+
4,
|
|
15458
|
+
4,
|
|
15459
|
+
4,
|
|
15460
|
+
4,
|
|
15461
|
+
4,
|
|
15462
|
+
4,
|
|
15463
|
+
5,
|
|
15464
|
+
5,
|
|
15465
|
+
5,
|
|
15466
|
+
5,
|
|
15467
|
+
5,
|
|
15468
|
+
5,
|
|
15469
|
+
5,
|
|
15470
|
+
5,
|
|
15471
|
+
5,
|
|
15472
|
+
5,
|
|
15473
|
+
5,
|
|
15474
|
+
5,
|
|
15475
|
+
5,
|
|
15476
|
+
5,
|
|
15477
|
+
5,
|
|
15478
|
+
5,
|
|
15479
|
+
5,
|
|
15480
|
+
5,
|
|
15481
|
+
5,
|
|
15482
|
+
5,
|
|
15483
|
+
5,
|
|
15484
|
+
5,
|
|
15485
|
+
5,
|
|
15486
|
+
5,
|
|
15487
|
+
5,
|
|
15488
|
+
5,
|
|
15489
|
+
5,
|
|
15490
|
+
5,
|
|
15491
|
+
5,
|
|
15492
|
+
5,
|
|
15493
|
+
5,
|
|
15494
|
+
5,
|
|
15495
|
+
5,
|
|
15496
|
+
5,
|
|
15497
|
+
5,
|
|
15498
|
+
5,
|
|
15499
|
+
5,
|
|
15500
|
+
5,
|
|
15501
|
+
5,
|
|
15502
|
+
5,
|
|
15503
|
+
5,
|
|
15504
|
+
5,
|
|
15505
|
+
5,
|
|
15506
|
+
5,
|
|
15507
|
+
5,
|
|
15508
|
+
5,
|
|
15509
|
+
5,
|
|
15510
|
+
5,
|
|
15511
|
+
6,
|
|
15512
|
+
6,
|
|
15513
|
+
6,
|
|
15514
|
+
6,
|
|
15515
|
+
6,
|
|
15516
|
+
6,
|
|
15517
|
+
6,
|
|
15518
|
+
6,
|
|
15519
|
+
6,
|
|
15520
|
+
6,
|
|
15521
|
+
6,
|
|
15522
|
+
6,
|
|
15523
|
+
6,
|
|
15524
|
+
6,
|
|
15525
|
+
6,
|
|
15526
|
+
7,
|
|
15527
|
+
/* CONTEXT_SIGNED, last byte, same as the above values shifted by 3 bits. */
|
|
15528
|
+
0,
|
|
15529
|
+
8,
|
|
15530
|
+
8,
|
|
15531
|
+
8,
|
|
15532
|
+
8,
|
|
15533
|
+
8,
|
|
15534
|
+
8,
|
|
15535
|
+
8,
|
|
15536
|
+
8,
|
|
15537
|
+
8,
|
|
15538
|
+
8,
|
|
15539
|
+
8,
|
|
15540
|
+
8,
|
|
15541
|
+
8,
|
|
15542
|
+
8,
|
|
15543
|
+
8,
|
|
15544
|
+
16,
|
|
15545
|
+
16,
|
|
15546
|
+
16,
|
|
15547
|
+
16,
|
|
15548
|
+
16,
|
|
15549
|
+
16,
|
|
15550
|
+
16,
|
|
15551
|
+
16,
|
|
15552
|
+
16,
|
|
15553
|
+
16,
|
|
15554
|
+
16,
|
|
15555
|
+
16,
|
|
15556
|
+
16,
|
|
15557
|
+
16,
|
|
15558
|
+
16,
|
|
15559
|
+
16,
|
|
15560
|
+
16,
|
|
15561
|
+
16,
|
|
15562
|
+
16,
|
|
15563
|
+
16,
|
|
15564
|
+
16,
|
|
15565
|
+
16,
|
|
15566
|
+
16,
|
|
15567
|
+
16,
|
|
15568
|
+
16,
|
|
15569
|
+
16,
|
|
15570
|
+
16,
|
|
15571
|
+
16,
|
|
15572
|
+
16,
|
|
15573
|
+
16,
|
|
15574
|
+
16,
|
|
15575
|
+
16,
|
|
15576
|
+
16,
|
|
15577
|
+
16,
|
|
15578
|
+
16,
|
|
15579
|
+
16,
|
|
15580
|
+
16,
|
|
15581
|
+
16,
|
|
15582
|
+
16,
|
|
15583
|
+
16,
|
|
15584
|
+
16,
|
|
15585
|
+
16,
|
|
15586
|
+
16,
|
|
15587
|
+
16,
|
|
15588
|
+
16,
|
|
15589
|
+
16,
|
|
15590
|
+
16,
|
|
15591
|
+
16,
|
|
15592
|
+
24,
|
|
15593
|
+
24,
|
|
15594
|
+
24,
|
|
15595
|
+
24,
|
|
15596
|
+
24,
|
|
15597
|
+
24,
|
|
15598
|
+
24,
|
|
15599
|
+
24,
|
|
15600
|
+
24,
|
|
15601
|
+
24,
|
|
15602
|
+
24,
|
|
15603
|
+
24,
|
|
15604
|
+
24,
|
|
15605
|
+
24,
|
|
15606
|
+
24,
|
|
15607
|
+
24,
|
|
15608
|
+
24,
|
|
15609
|
+
24,
|
|
15610
|
+
24,
|
|
15611
|
+
24,
|
|
15612
|
+
24,
|
|
15613
|
+
24,
|
|
15614
|
+
24,
|
|
15615
|
+
24,
|
|
15616
|
+
24,
|
|
15617
|
+
24,
|
|
15618
|
+
24,
|
|
15619
|
+
24,
|
|
15620
|
+
24,
|
|
15621
|
+
24,
|
|
15622
|
+
24,
|
|
15623
|
+
24,
|
|
15624
|
+
24,
|
|
15625
|
+
24,
|
|
15626
|
+
24,
|
|
15627
|
+
24,
|
|
15628
|
+
24,
|
|
15629
|
+
24,
|
|
15630
|
+
24,
|
|
15631
|
+
24,
|
|
15632
|
+
24,
|
|
15633
|
+
24,
|
|
15634
|
+
24,
|
|
15635
|
+
24,
|
|
15636
|
+
24,
|
|
15637
|
+
24,
|
|
15638
|
+
24,
|
|
15639
|
+
24,
|
|
15640
|
+
24,
|
|
15641
|
+
24,
|
|
15642
|
+
24,
|
|
15643
|
+
24,
|
|
15644
|
+
24,
|
|
15645
|
+
24,
|
|
15646
|
+
24,
|
|
15647
|
+
24,
|
|
15648
|
+
24,
|
|
15649
|
+
24,
|
|
15650
|
+
24,
|
|
15651
|
+
24,
|
|
15652
|
+
24,
|
|
15653
|
+
24,
|
|
15654
|
+
24,
|
|
15655
|
+
24,
|
|
15656
|
+
32,
|
|
15657
|
+
32,
|
|
15658
|
+
32,
|
|
15659
|
+
32,
|
|
15660
|
+
32,
|
|
15661
|
+
32,
|
|
15662
|
+
32,
|
|
15663
|
+
32,
|
|
15664
|
+
32,
|
|
15665
|
+
32,
|
|
15666
|
+
32,
|
|
15667
|
+
32,
|
|
15668
|
+
32,
|
|
15669
|
+
32,
|
|
15670
|
+
32,
|
|
15671
|
+
32,
|
|
15672
|
+
32,
|
|
15673
|
+
32,
|
|
15674
|
+
32,
|
|
15675
|
+
32,
|
|
15676
|
+
32,
|
|
15677
|
+
32,
|
|
15678
|
+
32,
|
|
15679
|
+
32,
|
|
15680
|
+
32,
|
|
15681
|
+
32,
|
|
15682
|
+
32,
|
|
15683
|
+
32,
|
|
15684
|
+
32,
|
|
15685
|
+
32,
|
|
15686
|
+
32,
|
|
15687
|
+
32,
|
|
15688
|
+
32,
|
|
15689
|
+
32,
|
|
15690
|
+
32,
|
|
15691
|
+
32,
|
|
15692
|
+
32,
|
|
15693
|
+
32,
|
|
15694
|
+
32,
|
|
15695
|
+
32,
|
|
15696
|
+
32,
|
|
15697
|
+
32,
|
|
15698
|
+
32,
|
|
15699
|
+
32,
|
|
15700
|
+
32,
|
|
15701
|
+
32,
|
|
15702
|
+
32,
|
|
15703
|
+
32,
|
|
15704
|
+
32,
|
|
15705
|
+
32,
|
|
15706
|
+
32,
|
|
15707
|
+
32,
|
|
15708
|
+
32,
|
|
15709
|
+
32,
|
|
15710
|
+
32,
|
|
15711
|
+
32,
|
|
15712
|
+
32,
|
|
15713
|
+
32,
|
|
15714
|
+
32,
|
|
15715
|
+
32,
|
|
15716
|
+
32,
|
|
15717
|
+
32,
|
|
15718
|
+
32,
|
|
15719
|
+
32,
|
|
15720
|
+
40,
|
|
15721
|
+
40,
|
|
15722
|
+
40,
|
|
15723
|
+
40,
|
|
15724
|
+
40,
|
|
15725
|
+
40,
|
|
15726
|
+
40,
|
|
15727
|
+
40,
|
|
15728
|
+
40,
|
|
15729
|
+
40,
|
|
15730
|
+
40,
|
|
15731
|
+
40,
|
|
15732
|
+
40,
|
|
15733
|
+
40,
|
|
15734
|
+
40,
|
|
15735
|
+
40,
|
|
15736
|
+
40,
|
|
15737
|
+
40,
|
|
15738
|
+
40,
|
|
15739
|
+
40,
|
|
15740
|
+
40,
|
|
15741
|
+
40,
|
|
15742
|
+
40,
|
|
15743
|
+
40,
|
|
15744
|
+
40,
|
|
15745
|
+
40,
|
|
15746
|
+
40,
|
|
15747
|
+
40,
|
|
15748
|
+
40,
|
|
15749
|
+
40,
|
|
15750
|
+
40,
|
|
15751
|
+
40,
|
|
15752
|
+
40,
|
|
15753
|
+
40,
|
|
15754
|
+
40,
|
|
15755
|
+
40,
|
|
15756
|
+
40,
|
|
15757
|
+
40,
|
|
15758
|
+
40,
|
|
15759
|
+
40,
|
|
15760
|
+
40,
|
|
15761
|
+
40,
|
|
15762
|
+
40,
|
|
15763
|
+
40,
|
|
15764
|
+
40,
|
|
15765
|
+
40,
|
|
15766
|
+
40,
|
|
15767
|
+
40,
|
|
15768
|
+
48,
|
|
15769
|
+
48,
|
|
15770
|
+
48,
|
|
15771
|
+
48,
|
|
15772
|
+
48,
|
|
15773
|
+
48,
|
|
15774
|
+
48,
|
|
15775
|
+
48,
|
|
15776
|
+
48,
|
|
15777
|
+
48,
|
|
15778
|
+
48,
|
|
15779
|
+
48,
|
|
15780
|
+
48,
|
|
15781
|
+
48,
|
|
15782
|
+
48,
|
|
15783
|
+
56,
|
|
15784
|
+
/* CONTEXT_LSB6, last byte. */
|
|
15785
|
+
0,
|
|
15786
|
+
1,
|
|
15787
|
+
2,
|
|
15788
|
+
3,
|
|
15789
|
+
4,
|
|
15790
|
+
5,
|
|
15791
|
+
6,
|
|
15792
|
+
7,
|
|
15793
|
+
8,
|
|
15794
|
+
9,
|
|
15795
|
+
10,
|
|
15796
|
+
11,
|
|
15797
|
+
12,
|
|
15798
|
+
13,
|
|
15799
|
+
14,
|
|
15800
|
+
15,
|
|
15801
|
+
16,
|
|
15802
|
+
17,
|
|
15803
|
+
18,
|
|
15804
|
+
19,
|
|
15805
|
+
20,
|
|
15806
|
+
21,
|
|
15807
|
+
22,
|
|
15808
|
+
23,
|
|
15809
|
+
24,
|
|
15810
|
+
25,
|
|
15811
|
+
26,
|
|
15812
|
+
27,
|
|
15813
|
+
28,
|
|
15814
|
+
29,
|
|
15815
|
+
30,
|
|
15816
|
+
31,
|
|
15817
|
+
32,
|
|
15818
|
+
33,
|
|
15819
|
+
34,
|
|
15820
|
+
35,
|
|
15821
|
+
36,
|
|
15822
|
+
37,
|
|
15823
|
+
38,
|
|
15824
|
+
39,
|
|
15825
|
+
40,
|
|
15826
|
+
41,
|
|
15827
|
+
42,
|
|
15828
|
+
43,
|
|
15829
|
+
44,
|
|
15830
|
+
45,
|
|
15831
|
+
46,
|
|
15832
|
+
47,
|
|
15833
|
+
48,
|
|
15834
|
+
49,
|
|
15835
|
+
50,
|
|
15836
|
+
51,
|
|
15837
|
+
52,
|
|
15838
|
+
53,
|
|
15839
|
+
54,
|
|
15840
|
+
55,
|
|
15841
|
+
56,
|
|
15842
|
+
57,
|
|
15843
|
+
58,
|
|
15844
|
+
59,
|
|
15845
|
+
60,
|
|
15846
|
+
61,
|
|
15847
|
+
62,
|
|
15848
|
+
63,
|
|
15849
|
+
0,
|
|
15850
|
+
1,
|
|
15851
|
+
2,
|
|
15852
|
+
3,
|
|
15853
|
+
4,
|
|
15854
|
+
5,
|
|
15855
|
+
6,
|
|
15856
|
+
7,
|
|
15857
|
+
8,
|
|
15858
|
+
9,
|
|
15859
|
+
10,
|
|
15860
|
+
11,
|
|
15861
|
+
12,
|
|
15862
|
+
13,
|
|
15863
|
+
14,
|
|
15864
|
+
15,
|
|
15865
|
+
16,
|
|
15866
|
+
17,
|
|
15867
|
+
18,
|
|
15868
|
+
19,
|
|
15869
|
+
20,
|
|
15870
|
+
21,
|
|
15871
|
+
22,
|
|
15872
|
+
23,
|
|
15873
|
+
24,
|
|
15874
|
+
25,
|
|
15875
|
+
26,
|
|
15876
|
+
27,
|
|
15877
|
+
28,
|
|
15878
|
+
29,
|
|
15879
|
+
30,
|
|
15880
|
+
31,
|
|
15881
|
+
32,
|
|
15882
|
+
33,
|
|
15883
|
+
34,
|
|
15884
|
+
35,
|
|
15885
|
+
36,
|
|
15886
|
+
37,
|
|
15887
|
+
38,
|
|
15888
|
+
39,
|
|
15889
|
+
40,
|
|
15890
|
+
41,
|
|
15891
|
+
42,
|
|
15892
|
+
43,
|
|
15893
|
+
44,
|
|
15894
|
+
45,
|
|
15895
|
+
46,
|
|
15896
|
+
47,
|
|
15897
|
+
48,
|
|
15898
|
+
49,
|
|
15899
|
+
50,
|
|
15900
|
+
51,
|
|
15901
|
+
52,
|
|
15902
|
+
53,
|
|
15903
|
+
54,
|
|
15904
|
+
55,
|
|
15905
|
+
56,
|
|
15906
|
+
57,
|
|
15907
|
+
58,
|
|
15908
|
+
59,
|
|
15909
|
+
60,
|
|
15910
|
+
61,
|
|
15911
|
+
62,
|
|
15912
|
+
63,
|
|
15913
|
+
0,
|
|
15914
|
+
1,
|
|
15915
|
+
2,
|
|
15916
|
+
3,
|
|
15917
|
+
4,
|
|
15918
|
+
5,
|
|
15919
|
+
6,
|
|
15920
|
+
7,
|
|
15921
|
+
8,
|
|
15922
|
+
9,
|
|
15923
|
+
10,
|
|
15924
|
+
11,
|
|
15925
|
+
12,
|
|
15926
|
+
13,
|
|
15927
|
+
14,
|
|
15928
|
+
15,
|
|
15929
|
+
16,
|
|
15930
|
+
17,
|
|
15931
|
+
18,
|
|
15932
|
+
19,
|
|
15933
|
+
20,
|
|
15934
|
+
21,
|
|
15935
|
+
22,
|
|
15936
|
+
23,
|
|
15937
|
+
24,
|
|
15938
|
+
25,
|
|
15939
|
+
26,
|
|
15940
|
+
27,
|
|
15941
|
+
28,
|
|
15942
|
+
29,
|
|
15943
|
+
30,
|
|
15944
|
+
31,
|
|
15945
|
+
32,
|
|
15946
|
+
33,
|
|
15947
|
+
34,
|
|
15948
|
+
35,
|
|
15949
|
+
36,
|
|
15950
|
+
37,
|
|
15951
|
+
38,
|
|
15952
|
+
39,
|
|
15953
|
+
40,
|
|
15954
|
+
41,
|
|
15955
|
+
42,
|
|
15956
|
+
43,
|
|
15957
|
+
44,
|
|
15958
|
+
45,
|
|
15959
|
+
46,
|
|
15960
|
+
47,
|
|
15961
|
+
48,
|
|
15962
|
+
49,
|
|
15963
|
+
50,
|
|
15964
|
+
51,
|
|
15965
|
+
52,
|
|
15966
|
+
53,
|
|
15967
|
+
54,
|
|
15968
|
+
55,
|
|
15969
|
+
56,
|
|
15970
|
+
57,
|
|
15971
|
+
58,
|
|
15972
|
+
59,
|
|
15973
|
+
60,
|
|
15974
|
+
61,
|
|
15975
|
+
62,
|
|
15976
|
+
63,
|
|
15977
|
+
0,
|
|
15978
|
+
1,
|
|
15979
|
+
2,
|
|
15980
|
+
3,
|
|
15981
|
+
4,
|
|
15982
|
+
5,
|
|
15983
|
+
6,
|
|
15984
|
+
7,
|
|
15985
|
+
8,
|
|
15986
|
+
9,
|
|
15987
|
+
10,
|
|
15988
|
+
11,
|
|
15989
|
+
12,
|
|
15990
|
+
13,
|
|
15991
|
+
14,
|
|
15992
|
+
15,
|
|
15993
|
+
16,
|
|
15994
|
+
17,
|
|
15995
|
+
18,
|
|
15996
|
+
19,
|
|
15997
|
+
20,
|
|
15998
|
+
21,
|
|
15999
|
+
22,
|
|
16000
|
+
23,
|
|
16001
|
+
24,
|
|
16002
|
+
25,
|
|
16003
|
+
26,
|
|
16004
|
+
27,
|
|
16005
|
+
28,
|
|
16006
|
+
29,
|
|
16007
|
+
30,
|
|
16008
|
+
31,
|
|
16009
|
+
32,
|
|
16010
|
+
33,
|
|
16011
|
+
34,
|
|
16012
|
+
35,
|
|
16013
|
+
36,
|
|
16014
|
+
37,
|
|
16015
|
+
38,
|
|
16016
|
+
39,
|
|
16017
|
+
40,
|
|
16018
|
+
41,
|
|
16019
|
+
42,
|
|
16020
|
+
43,
|
|
16021
|
+
44,
|
|
16022
|
+
45,
|
|
16023
|
+
46,
|
|
16024
|
+
47,
|
|
16025
|
+
48,
|
|
16026
|
+
49,
|
|
16027
|
+
50,
|
|
16028
|
+
51,
|
|
16029
|
+
52,
|
|
16030
|
+
53,
|
|
16031
|
+
54,
|
|
16032
|
+
55,
|
|
16033
|
+
56,
|
|
16034
|
+
57,
|
|
16035
|
+
58,
|
|
16036
|
+
59,
|
|
16037
|
+
60,
|
|
16038
|
+
61,
|
|
16039
|
+
62,
|
|
16040
|
+
63,
|
|
16041
|
+
/* CONTEXT_MSB6, last byte. */
|
|
16042
|
+
0,
|
|
16043
|
+
0,
|
|
16044
|
+
0,
|
|
16045
|
+
0,
|
|
16046
|
+
1,
|
|
16047
|
+
1,
|
|
16048
|
+
1,
|
|
16049
|
+
1,
|
|
16050
|
+
2,
|
|
16051
|
+
2,
|
|
16052
|
+
2,
|
|
16053
|
+
2,
|
|
16054
|
+
3,
|
|
16055
|
+
3,
|
|
16056
|
+
3,
|
|
16057
|
+
3,
|
|
16058
|
+
4,
|
|
16059
|
+
4,
|
|
16060
|
+
4,
|
|
16061
|
+
4,
|
|
16062
|
+
5,
|
|
16063
|
+
5,
|
|
16064
|
+
5,
|
|
16065
|
+
5,
|
|
16066
|
+
6,
|
|
16067
|
+
6,
|
|
16068
|
+
6,
|
|
16069
|
+
6,
|
|
16070
|
+
7,
|
|
16071
|
+
7,
|
|
16072
|
+
7,
|
|
16073
|
+
7,
|
|
16074
|
+
8,
|
|
16075
|
+
8,
|
|
16076
|
+
8,
|
|
16077
|
+
8,
|
|
16078
|
+
9,
|
|
16079
|
+
9,
|
|
16080
|
+
9,
|
|
16081
|
+
9,
|
|
16082
|
+
10,
|
|
16083
|
+
10,
|
|
16084
|
+
10,
|
|
16085
|
+
10,
|
|
16086
|
+
11,
|
|
16087
|
+
11,
|
|
16088
|
+
11,
|
|
16089
|
+
11,
|
|
16090
|
+
12,
|
|
16091
|
+
12,
|
|
16092
|
+
12,
|
|
16093
|
+
12,
|
|
16094
|
+
13,
|
|
16095
|
+
13,
|
|
16096
|
+
13,
|
|
16097
|
+
13,
|
|
16098
|
+
14,
|
|
16099
|
+
14,
|
|
16100
|
+
14,
|
|
16101
|
+
14,
|
|
16102
|
+
15,
|
|
16103
|
+
15,
|
|
16104
|
+
15,
|
|
16105
|
+
15,
|
|
16106
|
+
16,
|
|
16107
|
+
16,
|
|
16108
|
+
16,
|
|
16109
|
+
16,
|
|
16110
|
+
17,
|
|
16111
|
+
17,
|
|
16112
|
+
17,
|
|
16113
|
+
17,
|
|
16114
|
+
18,
|
|
16115
|
+
18,
|
|
16116
|
+
18,
|
|
16117
|
+
18,
|
|
16118
|
+
19,
|
|
16119
|
+
19,
|
|
16120
|
+
19,
|
|
16121
|
+
19,
|
|
16122
|
+
20,
|
|
16123
|
+
20,
|
|
16124
|
+
20,
|
|
16125
|
+
20,
|
|
16126
|
+
21,
|
|
16127
|
+
21,
|
|
16128
|
+
21,
|
|
16129
|
+
21,
|
|
16130
|
+
22,
|
|
16131
|
+
22,
|
|
16132
|
+
22,
|
|
16133
|
+
22,
|
|
16134
|
+
23,
|
|
16135
|
+
23,
|
|
16136
|
+
23,
|
|
16137
|
+
23,
|
|
16138
|
+
24,
|
|
16139
|
+
24,
|
|
16140
|
+
24,
|
|
16141
|
+
24,
|
|
16142
|
+
25,
|
|
16143
|
+
25,
|
|
16144
|
+
25,
|
|
16145
|
+
25,
|
|
16146
|
+
26,
|
|
16147
|
+
26,
|
|
16148
|
+
26,
|
|
16149
|
+
26,
|
|
16150
|
+
27,
|
|
16151
|
+
27,
|
|
16152
|
+
27,
|
|
16153
|
+
27,
|
|
16154
|
+
28,
|
|
16155
|
+
28,
|
|
16156
|
+
28,
|
|
16157
|
+
28,
|
|
16158
|
+
29,
|
|
16159
|
+
29,
|
|
16160
|
+
29,
|
|
16161
|
+
29,
|
|
16162
|
+
30,
|
|
16163
|
+
30,
|
|
16164
|
+
30,
|
|
16165
|
+
30,
|
|
16166
|
+
31,
|
|
16167
|
+
31,
|
|
16168
|
+
31,
|
|
16169
|
+
31,
|
|
16170
|
+
32,
|
|
16171
|
+
32,
|
|
16172
|
+
32,
|
|
16173
|
+
32,
|
|
16174
|
+
33,
|
|
16175
|
+
33,
|
|
16176
|
+
33,
|
|
16177
|
+
33,
|
|
16178
|
+
34,
|
|
16179
|
+
34,
|
|
16180
|
+
34,
|
|
16181
|
+
34,
|
|
16182
|
+
35,
|
|
16183
|
+
35,
|
|
16184
|
+
35,
|
|
16185
|
+
35,
|
|
16186
|
+
36,
|
|
16187
|
+
36,
|
|
16188
|
+
36,
|
|
16189
|
+
36,
|
|
16190
|
+
37,
|
|
16191
|
+
37,
|
|
16192
|
+
37,
|
|
16193
|
+
37,
|
|
16194
|
+
38,
|
|
16195
|
+
38,
|
|
16196
|
+
38,
|
|
16197
|
+
38,
|
|
16198
|
+
39,
|
|
16199
|
+
39,
|
|
16200
|
+
39,
|
|
16201
|
+
39,
|
|
16202
|
+
40,
|
|
16203
|
+
40,
|
|
16204
|
+
40,
|
|
16205
|
+
40,
|
|
16206
|
+
41,
|
|
16207
|
+
41,
|
|
16208
|
+
41,
|
|
16209
|
+
41,
|
|
16210
|
+
42,
|
|
16211
|
+
42,
|
|
16212
|
+
42,
|
|
16213
|
+
42,
|
|
16214
|
+
43,
|
|
16215
|
+
43,
|
|
16216
|
+
43,
|
|
16217
|
+
43,
|
|
16218
|
+
44,
|
|
16219
|
+
44,
|
|
16220
|
+
44,
|
|
16221
|
+
44,
|
|
16222
|
+
45,
|
|
16223
|
+
45,
|
|
16224
|
+
45,
|
|
16225
|
+
45,
|
|
16226
|
+
46,
|
|
16227
|
+
46,
|
|
16228
|
+
46,
|
|
16229
|
+
46,
|
|
16230
|
+
47,
|
|
16231
|
+
47,
|
|
16232
|
+
47,
|
|
16233
|
+
47,
|
|
16234
|
+
48,
|
|
16235
|
+
48,
|
|
16236
|
+
48,
|
|
16237
|
+
48,
|
|
16238
|
+
49,
|
|
16239
|
+
49,
|
|
16240
|
+
49,
|
|
16241
|
+
49,
|
|
16242
|
+
50,
|
|
16243
|
+
50,
|
|
16244
|
+
50,
|
|
16245
|
+
50,
|
|
16246
|
+
51,
|
|
16247
|
+
51,
|
|
16248
|
+
51,
|
|
16249
|
+
51,
|
|
16250
|
+
52,
|
|
16251
|
+
52,
|
|
16252
|
+
52,
|
|
16253
|
+
52,
|
|
16254
|
+
53,
|
|
16255
|
+
53,
|
|
16256
|
+
53,
|
|
16257
|
+
53,
|
|
16258
|
+
54,
|
|
16259
|
+
54,
|
|
16260
|
+
54,
|
|
16261
|
+
54,
|
|
16262
|
+
55,
|
|
16263
|
+
55,
|
|
16264
|
+
55,
|
|
16265
|
+
55,
|
|
16266
|
+
56,
|
|
16267
|
+
56,
|
|
16268
|
+
56,
|
|
16269
|
+
56,
|
|
16270
|
+
57,
|
|
16271
|
+
57,
|
|
16272
|
+
57,
|
|
16273
|
+
57,
|
|
16274
|
+
58,
|
|
16275
|
+
58,
|
|
16276
|
+
58,
|
|
16277
|
+
58,
|
|
16278
|
+
59,
|
|
16279
|
+
59,
|
|
16280
|
+
59,
|
|
16281
|
+
59,
|
|
16282
|
+
60,
|
|
16283
|
+
60,
|
|
16284
|
+
60,
|
|
16285
|
+
60,
|
|
16286
|
+
61,
|
|
16287
|
+
61,
|
|
16288
|
+
61,
|
|
16289
|
+
61,
|
|
16290
|
+
62,
|
|
16291
|
+
62,
|
|
16292
|
+
62,
|
|
16293
|
+
62,
|
|
16294
|
+
63,
|
|
16295
|
+
63,
|
|
16296
|
+
63,
|
|
16297
|
+
63,
|
|
16298
|
+
/* CONTEXT_{M,L}SB6, second last byte, */
|
|
16299
|
+
0,
|
|
16300
|
+
0,
|
|
16301
|
+
0,
|
|
16302
|
+
0,
|
|
16303
|
+
0,
|
|
16304
|
+
0,
|
|
16305
|
+
0,
|
|
16306
|
+
0,
|
|
16307
|
+
0,
|
|
16308
|
+
0,
|
|
16309
|
+
0,
|
|
16310
|
+
0,
|
|
16311
|
+
0,
|
|
16312
|
+
0,
|
|
16313
|
+
0,
|
|
16314
|
+
0,
|
|
16315
|
+
0,
|
|
16316
|
+
0,
|
|
16317
|
+
0,
|
|
16318
|
+
0,
|
|
16319
|
+
0,
|
|
16320
|
+
0,
|
|
16321
|
+
0,
|
|
16322
|
+
0,
|
|
16323
|
+
0,
|
|
16324
|
+
0,
|
|
16325
|
+
0,
|
|
16326
|
+
0,
|
|
16327
|
+
0,
|
|
16328
|
+
0,
|
|
16329
|
+
0,
|
|
16330
|
+
0,
|
|
16331
|
+
0,
|
|
16332
|
+
0,
|
|
16333
|
+
0,
|
|
16334
|
+
0,
|
|
16335
|
+
0,
|
|
16336
|
+
0,
|
|
16337
|
+
0,
|
|
16338
|
+
0,
|
|
16339
|
+
0,
|
|
16340
|
+
0,
|
|
16341
|
+
0,
|
|
16342
|
+
0,
|
|
16343
|
+
0,
|
|
16344
|
+
0,
|
|
16345
|
+
0,
|
|
16346
|
+
0,
|
|
16347
|
+
0,
|
|
16348
|
+
0,
|
|
16349
|
+
0,
|
|
16350
|
+
0,
|
|
16351
|
+
0,
|
|
16352
|
+
0,
|
|
16353
|
+
0,
|
|
16354
|
+
0,
|
|
16355
|
+
0,
|
|
16356
|
+
0,
|
|
16357
|
+
0,
|
|
16358
|
+
0,
|
|
16359
|
+
0,
|
|
16360
|
+
0,
|
|
16361
|
+
0,
|
|
16362
|
+
0,
|
|
16363
|
+
0,
|
|
16364
|
+
0,
|
|
16365
|
+
0,
|
|
16366
|
+
0,
|
|
16367
|
+
0,
|
|
16368
|
+
0,
|
|
16369
|
+
0,
|
|
16370
|
+
0,
|
|
16371
|
+
0,
|
|
16372
|
+
0,
|
|
16373
|
+
0,
|
|
16374
|
+
0,
|
|
16375
|
+
0,
|
|
16376
|
+
0,
|
|
16377
|
+
0,
|
|
16378
|
+
0,
|
|
16379
|
+
0,
|
|
16380
|
+
0,
|
|
16381
|
+
0,
|
|
16382
|
+
0,
|
|
16383
|
+
0,
|
|
16384
|
+
0,
|
|
16385
|
+
0,
|
|
16386
|
+
0,
|
|
16387
|
+
0,
|
|
16388
|
+
0,
|
|
16389
|
+
0,
|
|
16390
|
+
0,
|
|
16391
|
+
0,
|
|
16392
|
+
0,
|
|
16393
|
+
0,
|
|
16394
|
+
0,
|
|
16395
|
+
0,
|
|
16396
|
+
0,
|
|
16397
|
+
0,
|
|
16398
|
+
0,
|
|
16399
|
+
0,
|
|
16400
|
+
0,
|
|
16401
|
+
0,
|
|
16402
|
+
0,
|
|
16403
|
+
0,
|
|
16404
|
+
0,
|
|
16405
|
+
0,
|
|
16406
|
+
0,
|
|
16407
|
+
0,
|
|
16408
|
+
0,
|
|
16409
|
+
0,
|
|
16410
|
+
0,
|
|
16411
|
+
0,
|
|
16412
|
+
0,
|
|
16413
|
+
0,
|
|
16414
|
+
0,
|
|
16415
|
+
0,
|
|
16416
|
+
0,
|
|
16417
|
+
0,
|
|
16418
|
+
0,
|
|
16419
|
+
0,
|
|
16420
|
+
0,
|
|
16421
|
+
0,
|
|
16422
|
+
0,
|
|
16423
|
+
0,
|
|
16424
|
+
0,
|
|
16425
|
+
0,
|
|
16426
|
+
0,
|
|
16427
|
+
0,
|
|
16428
|
+
0,
|
|
16429
|
+
0,
|
|
16430
|
+
0,
|
|
16431
|
+
0,
|
|
16432
|
+
0,
|
|
16433
|
+
0,
|
|
16434
|
+
0,
|
|
16435
|
+
0,
|
|
16436
|
+
0,
|
|
16437
|
+
0,
|
|
16438
|
+
0,
|
|
16439
|
+
0,
|
|
16440
|
+
0,
|
|
16441
|
+
0,
|
|
16442
|
+
0,
|
|
16443
|
+
0,
|
|
16444
|
+
0,
|
|
16445
|
+
0,
|
|
16446
|
+
0,
|
|
16447
|
+
0,
|
|
16448
|
+
0,
|
|
16449
|
+
0,
|
|
16450
|
+
0,
|
|
16451
|
+
0,
|
|
16452
|
+
0,
|
|
16453
|
+
0,
|
|
16454
|
+
0,
|
|
16455
|
+
0,
|
|
16456
|
+
0,
|
|
16457
|
+
0,
|
|
16458
|
+
0,
|
|
16459
|
+
0,
|
|
16460
|
+
0,
|
|
16461
|
+
0,
|
|
16462
|
+
0,
|
|
16463
|
+
0,
|
|
16464
|
+
0,
|
|
16465
|
+
0,
|
|
16466
|
+
0,
|
|
16467
|
+
0,
|
|
16468
|
+
0,
|
|
16469
|
+
0,
|
|
16470
|
+
0,
|
|
16471
|
+
0,
|
|
16472
|
+
0,
|
|
16473
|
+
0,
|
|
16474
|
+
0,
|
|
16475
|
+
0,
|
|
16476
|
+
0,
|
|
16477
|
+
0,
|
|
16478
|
+
0,
|
|
16479
|
+
0,
|
|
16480
|
+
0,
|
|
16481
|
+
0,
|
|
16482
|
+
0,
|
|
16483
|
+
0,
|
|
16484
|
+
0,
|
|
16485
|
+
0,
|
|
16486
|
+
0,
|
|
16487
|
+
0,
|
|
16488
|
+
0,
|
|
16489
|
+
0,
|
|
16490
|
+
0,
|
|
16491
|
+
0,
|
|
16492
|
+
0,
|
|
16493
|
+
0,
|
|
16494
|
+
0,
|
|
16495
|
+
0,
|
|
16496
|
+
0,
|
|
16497
|
+
0,
|
|
16498
|
+
0,
|
|
16499
|
+
0,
|
|
16500
|
+
0,
|
|
16501
|
+
0,
|
|
16502
|
+
0,
|
|
16503
|
+
0,
|
|
16504
|
+
0,
|
|
16505
|
+
0,
|
|
16506
|
+
0,
|
|
16507
|
+
0,
|
|
16508
|
+
0,
|
|
16509
|
+
0,
|
|
16510
|
+
0,
|
|
16511
|
+
0,
|
|
16512
|
+
0,
|
|
16513
|
+
0,
|
|
16514
|
+
0,
|
|
16515
|
+
0,
|
|
16516
|
+
0,
|
|
16517
|
+
0,
|
|
16518
|
+
0,
|
|
16519
|
+
0,
|
|
16520
|
+
0,
|
|
16521
|
+
0,
|
|
16522
|
+
0,
|
|
16523
|
+
0,
|
|
16524
|
+
0,
|
|
16525
|
+
0,
|
|
16526
|
+
0,
|
|
16527
|
+
0,
|
|
16528
|
+
0,
|
|
16529
|
+
0,
|
|
16530
|
+
0,
|
|
16531
|
+
0,
|
|
16532
|
+
0,
|
|
16533
|
+
0,
|
|
16534
|
+
0,
|
|
16535
|
+
0,
|
|
16536
|
+
0,
|
|
16537
|
+
0,
|
|
16538
|
+
0,
|
|
16539
|
+
0,
|
|
16540
|
+
0,
|
|
16541
|
+
0,
|
|
16542
|
+
0,
|
|
16543
|
+
0,
|
|
16544
|
+
0,
|
|
16545
|
+
0,
|
|
16546
|
+
0,
|
|
16547
|
+
0,
|
|
16548
|
+
0,
|
|
16549
|
+
0,
|
|
16550
|
+
0,
|
|
16551
|
+
0,
|
|
16552
|
+
0,
|
|
16553
|
+
0,
|
|
16554
|
+
0
|
|
16555
|
+
]);
|
|
16556
|
+
context$1.lookupOffsets = new Uint16Array([
|
|
16557
|
+
/* CONTEXT_LSB6 */
|
|
16558
|
+
1024,
|
|
16559
|
+
1536,
|
|
16560
|
+
/* CONTEXT_MSB6 */
|
|
16561
|
+
1280,
|
|
16562
|
+
1536,
|
|
16563
|
+
/* CONTEXT_UTF8 */
|
|
16564
|
+
0,
|
|
16565
|
+
256,
|
|
16566
|
+
/* CONTEXT_SIGNED */
|
|
16567
|
+
768,
|
|
16568
|
+
512
|
|
16569
|
+
]);
|
|
16570
|
+
var prefix = {};
|
|
16571
|
+
function PrefixCodeRange(offset2, nbits) {
|
|
16572
|
+
this.offset = offset2;
|
|
16573
|
+
this.nbits = nbits;
|
|
16574
|
+
}
|
|
16575
|
+
prefix.kBlockLengthPrefixCode = [
|
|
16576
|
+
new PrefixCodeRange(1, 2),
|
|
16577
|
+
new PrefixCodeRange(5, 2),
|
|
16578
|
+
new PrefixCodeRange(9, 2),
|
|
16579
|
+
new PrefixCodeRange(13, 2),
|
|
16580
|
+
new PrefixCodeRange(17, 3),
|
|
16581
|
+
new PrefixCodeRange(25, 3),
|
|
16582
|
+
new PrefixCodeRange(33, 3),
|
|
16583
|
+
new PrefixCodeRange(41, 3),
|
|
16584
|
+
new PrefixCodeRange(49, 4),
|
|
16585
|
+
new PrefixCodeRange(65, 4),
|
|
16586
|
+
new PrefixCodeRange(81, 4),
|
|
16587
|
+
new PrefixCodeRange(97, 4),
|
|
16588
|
+
new PrefixCodeRange(113, 5),
|
|
16589
|
+
new PrefixCodeRange(145, 5),
|
|
16590
|
+
new PrefixCodeRange(177, 5),
|
|
16591
|
+
new PrefixCodeRange(209, 5),
|
|
16592
|
+
new PrefixCodeRange(241, 6),
|
|
16593
|
+
new PrefixCodeRange(305, 6),
|
|
16594
|
+
new PrefixCodeRange(369, 7),
|
|
16595
|
+
new PrefixCodeRange(497, 8),
|
|
16596
|
+
new PrefixCodeRange(753, 9),
|
|
16597
|
+
new PrefixCodeRange(1265, 10),
|
|
16598
|
+
new PrefixCodeRange(2289, 11),
|
|
16599
|
+
new PrefixCodeRange(4337, 12),
|
|
16600
|
+
new PrefixCodeRange(8433, 13),
|
|
16601
|
+
new PrefixCodeRange(16625, 24)
|
|
16602
|
+
];
|
|
16603
|
+
prefix.kInsertLengthPrefixCode = [
|
|
16604
|
+
new PrefixCodeRange(0, 0),
|
|
16605
|
+
new PrefixCodeRange(1, 0),
|
|
16606
|
+
new PrefixCodeRange(2, 0),
|
|
16607
|
+
new PrefixCodeRange(3, 0),
|
|
16608
|
+
new PrefixCodeRange(4, 0),
|
|
16609
|
+
new PrefixCodeRange(5, 0),
|
|
16610
|
+
new PrefixCodeRange(6, 1),
|
|
16611
|
+
new PrefixCodeRange(8, 1),
|
|
16612
|
+
new PrefixCodeRange(10, 2),
|
|
16613
|
+
new PrefixCodeRange(14, 2),
|
|
16614
|
+
new PrefixCodeRange(18, 3),
|
|
16615
|
+
new PrefixCodeRange(26, 3),
|
|
16616
|
+
new PrefixCodeRange(34, 4),
|
|
16617
|
+
new PrefixCodeRange(50, 4),
|
|
16618
|
+
new PrefixCodeRange(66, 5),
|
|
16619
|
+
new PrefixCodeRange(98, 5),
|
|
16620
|
+
new PrefixCodeRange(130, 6),
|
|
16621
|
+
new PrefixCodeRange(194, 7),
|
|
16622
|
+
new PrefixCodeRange(322, 8),
|
|
16623
|
+
new PrefixCodeRange(578, 9),
|
|
16624
|
+
new PrefixCodeRange(1090, 10),
|
|
16625
|
+
new PrefixCodeRange(2114, 12),
|
|
16626
|
+
new PrefixCodeRange(6210, 14),
|
|
16627
|
+
new PrefixCodeRange(22594, 24)
|
|
16628
|
+
];
|
|
16629
|
+
prefix.kCopyLengthPrefixCode = [
|
|
16630
|
+
new PrefixCodeRange(2, 0),
|
|
16631
|
+
new PrefixCodeRange(3, 0),
|
|
16632
|
+
new PrefixCodeRange(4, 0),
|
|
16633
|
+
new PrefixCodeRange(5, 0),
|
|
16634
|
+
new PrefixCodeRange(6, 0),
|
|
16635
|
+
new PrefixCodeRange(7, 0),
|
|
16636
|
+
new PrefixCodeRange(8, 0),
|
|
16637
|
+
new PrefixCodeRange(9, 0),
|
|
16638
|
+
new PrefixCodeRange(10, 1),
|
|
16639
|
+
new PrefixCodeRange(12, 1),
|
|
16640
|
+
new PrefixCodeRange(14, 2),
|
|
16641
|
+
new PrefixCodeRange(18, 2),
|
|
16642
|
+
new PrefixCodeRange(22, 3),
|
|
16643
|
+
new PrefixCodeRange(30, 3),
|
|
16644
|
+
new PrefixCodeRange(38, 4),
|
|
16645
|
+
new PrefixCodeRange(54, 4),
|
|
16646
|
+
new PrefixCodeRange(70, 5),
|
|
16647
|
+
new PrefixCodeRange(102, 5),
|
|
16648
|
+
new PrefixCodeRange(134, 6),
|
|
16649
|
+
new PrefixCodeRange(198, 7),
|
|
16650
|
+
new PrefixCodeRange(326, 8),
|
|
16651
|
+
new PrefixCodeRange(582, 9),
|
|
16652
|
+
new PrefixCodeRange(1094, 10),
|
|
16653
|
+
new PrefixCodeRange(2118, 24)
|
|
16654
|
+
];
|
|
16655
|
+
prefix.kInsertRangeLut = [
|
|
16656
|
+
0,
|
|
16657
|
+
0,
|
|
16658
|
+
8,
|
|
16659
|
+
8,
|
|
16660
|
+
0,
|
|
16661
|
+
16,
|
|
16662
|
+
8,
|
|
16663
|
+
16,
|
|
16664
|
+
16
|
|
16665
|
+
];
|
|
16666
|
+
prefix.kCopyRangeLut = [
|
|
16667
|
+
0,
|
|
16668
|
+
8,
|
|
16669
|
+
0,
|
|
16670
|
+
8,
|
|
16671
|
+
16,
|
|
16672
|
+
0,
|
|
16673
|
+
16,
|
|
16674
|
+
8,
|
|
16675
|
+
16
|
|
16676
|
+
];
|
|
16677
|
+
var transform$1 = {};
|
|
16678
|
+
var hasRequiredTransform;
|
|
16679
|
+
function requireTransform() {
|
|
16680
|
+
if (hasRequiredTransform) return transform$1;
|
|
16681
|
+
hasRequiredTransform = 1;
|
|
16682
|
+
var BrotliDictionary = requireDictionary();
|
|
16683
|
+
var kIdentity = 0;
|
|
16684
|
+
var kOmitLast1 = 1;
|
|
16685
|
+
var kOmitLast2 = 2;
|
|
16686
|
+
var kOmitLast3 = 3;
|
|
16687
|
+
var kOmitLast4 = 4;
|
|
16688
|
+
var kOmitLast5 = 5;
|
|
16689
|
+
var kOmitLast6 = 6;
|
|
16690
|
+
var kOmitLast7 = 7;
|
|
16691
|
+
var kOmitLast8 = 8;
|
|
16692
|
+
var kOmitLast9 = 9;
|
|
16693
|
+
var kUppercaseFirst = 10;
|
|
16694
|
+
var kUppercaseAll = 11;
|
|
16695
|
+
var kOmitFirst1 = 12;
|
|
16696
|
+
var kOmitFirst2 = 13;
|
|
16697
|
+
var kOmitFirst3 = 14;
|
|
16698
|
+
var kOmitFirst4 = 15;
|
|
16699
|
+
var kOmitFirst5 = 16;
|
|
16700
|
+
var kOmitFirst6 = 17;
|
|
16701
|
+
var kOmitFirst7 = 18;
|
|
16702
|
+
var kOmitFirst9 = 20;
|
|
16703
|
+
function Transform(prefix2, transform2, suffix) {
|
|
16704
|
+
this.prefix = new Uint8Array(prefix2.length);
|
|
16705
|
+
this.transform = transform2;
|
|
16706
|
+
this.suffix = new Uint8Array(suffix.length);
|
|
16707
|
+
for (var i2 = 0; i2 < prefix2.length; i2++)
|
|
16708
|
+
this.prefix[i2] = prefix2.charCodeAt(i2);
|
|
16709
|
+
for (var i2 = 0; i2 < suffix.length; i2++)
|
|
16710
|
+
this.suffix[i2] = suffix.charCodeAt(i2);
|
|
16711
|
+
}
|
|
16712
|
+
var kTransforms = [
|
|
16713
|
+
new Transform("", kIdentity, ""),
|
|
16714
|
+
new Transform("", kIdentity, " "),
|
|
16715
|
+
new Transform(" ", kIdentity, " "),
|
|
16716
|
+
new Transform("", kOmitFirst1, ""),
|
|
16717
|
+
new Transform("", kUppercaseFirst, " "),
|
|
16718
|
+
new Transform("", kIdentity, " the "),
|
|
16719
|
+
new Transform(" ", kIdentity, ""),
|
|
16720
|
+
new Transform("s ", kIdentity, " "),
|
|
16721
|
+
new Transform("", kIdentity, " of "),
|
|
16722
|
+
new Transform("", kUppercaseFirst, ""),
|
|
16723
|
+
new Transform("", kIdentity, " and "),
|
|
16724
|
+
new Transform("", kOmitFirst2, ""),
|
|
16725
|
+
new Transform("", kOmitLast1, ""),
|
|
16726
|
+
new Transform(", ", kIdentity, " "),
|
|
16727
|
+
new Transform("", kIdentity, ", "),
|
|
16728
|
+
new Transform(" ", kUppercaseFirst, " "),
|
|
16729
|
+
new Transform("", kIdentity, " in "),
|
|
16730
|
+
new Transform("", kIdentity, " to "),
|
|
16731
|
+
new Transform("e ", kIdentity, " "),
|
|
16732
|
+
new Transform("", kIdentity, '"'),
|
|
16733
|
+
new Transform("", kIdentity, "."),
|
|
16734
|
+
new Transform("", kIdentity, '">'),
|
|
16735
|
+
new Transform("", kIdentity, "\n"),
|
|
16736
|
+
new Transform("", kOmitLast3, ""),
|
|
16737
|
+
new Transform("", kIdentity, "]"),
|
|
16738
|
+
new Transform("", kIdentity, " for "),
|
|
16739
|
+
new Transform("", kOmitFirst3, ""),
|
|
16740
|
+
new Transform("", kOmitLast2, ""),
|
|
16741
|
+
new Transform("", kIdentity, " a "),
|
|
16742
|
+
new Transform("", kIdentity, " that "),
|
|
16743
|
+
new Transform(" ", kUppercaseFirst, ""),
|
|
16744
|
+
new Transform("", kIdentity, ". "),
|
|
16745
|
+
new Transform(".", kIdentity, ""),
|
|
16746
|
+
new Transform(" ", kIdentity, ", "),
|
|
16747
|
+
new Transform("", kOmitFirst4, ""),
|
|
16748
|
+
new Transform("", kIdentity, " with "),
|
|
16749
|
+
new Transform("", kIdentity, "'"),
|
|
16750
|
+
new Transform("", kIdentity, " from "),
|
|
16751
|
+
new Transform("", kIdentity, " by "),
|
|
16752
|
+
new Transform("", kOmitFirst5, ""),
|
|
16753
|
+
new Transform("", kOmitFirst6, ""),
|
|
16754
|
+
new Transform(" the ", kIdentity, ""),
|
|
16755
|
+
new Transform("", kOmitLast4, ""),
|
|
16756
|
+
new Transform("", kIdentity, ". The "),
|
|
16757
|
+
new Transform("", kUppercaseAll, ""),
|
|
16758
|
+
new Transform("", kIdentity, " on "),
|
|
16759
|
+
new Transform("", kIdentity, " as "),
|
|
16760
|
+
new Transform("", kIdentity, " is "),
|
|
16761
|
+
new Transform("", kOmitLast7, ""),
|
|
16762
|
+
new Transform("", kOmitLast1, "ing "),
|
|
16763
|
+
new Transform("", kIdentity, "\n "),
|
|
16764
|
+
new Transform("", kIdentity, ":"),
|
|
16765
|
+
new Transform(" ", kIdentity, ". "),
|
|
16766
|
+
new Transform("", kIdentity, "ed "),
|
|
16767
|
+
new Transform("", kOmitFirst9, ""),
|
|
16768
|
+
new Transform("", kOmitFirst7, ""),
|
|
16769
|
+
new Transform("", kOmitLast6, ""),
|
|
16770
|
+
new Transform("", kIdentity, "("),
|
|
16771
|
+
new Transform("", kUppercaseFirst, ", "),
|
|
16772
|
+
new Transform("", kOmitLast8, ""),
|
|
16773
|
+
new Transform("", kIdentity, " at "),
|
|
16774
|
+
new Transform("", kIdentity, "ly "),
|
|
16775
|
+
new Transform(" the ", kIdentity, " of "),
|
|
16776
|
+
new Transform("", kOmitLast5, ""),
|
|
16777
|
+
new Transform("", kOmitLast9, ""),
|
|
16778
|
+
new Transform(" ", kUppercaseFirst, ", "),
|
|
16779
|
+
new Transform("", kUppercaseFirst, '"'),
|
|
16780
|
+
new Transform(".", kIdentity, "("),
|
|
16781
|
+
new Transform("", kUppercaseAll, " "),
|
|
16782
|
+
new Transform("", kUppercaseFirst, '">'),
|
|
16783
|
+
new Transform("", kIdentity, '="'),
|
|
16784
|
+
new Transform(" ", kIdentity, "."),
|
|
16785
|
+
new Transform(".com/", kIdentity, ""),
|
|
16786
|
+
new Transform(" the ", kIdentity, " of the "),
|
|
16787
|
+
new Transform("", kUppercaseFirst, "'"),
|
|
16788
|
+
new Transform("", kIdentity, ". This "),
|
|
16789
|
+
new Transform("", kIdentity, ","),
|
|
16790
|
+
new Transform(".", kIdentity, " "),
|
|
16791
|
+
new Transform("", kUppercaseFirst, "("),
|
|
16792
|
+
new Transform("", kUppercaseFirst, "."),
|
|
16793
|
+
new Transform("", kIdentity, " not "),
|
|
16794
|
+
new Transform(" ", kIdentity, '="'),
|
|
16795
|
+
new Transform("", kIdentity, "er "),
|
|
16796
|
+
new Transform(" ", kUppercaseAll, " "),
|
|
16797
|
+
new Transform("", kIdentity, "al "),
|
|
16798
|
+
new Transform(" ", kUppercaseAll, ""),
|
|
16799
|
+
new Transform("", kIdentity, "='"),
|
|
16800
|
+
new Transform("", kUppercaseAll, '"'),
|
|
16801
|
+
new Transform("", kUppercaseFirst, ". "),
|
|
16802
|
+
new Transform(" ", kIdentity, "("),
|
|
16803
|
+
new Transform("", kIdentity, "ful "),
|
|
16804
|
+
new Transform(" ", kUppercaseFirst, ". "),
|
|
16805
|
+
new Transform("", kIdentity, "ive "),
|
|
16806
|
+
new Transform("", kIdentity, "less "),
|
|
16807
|
+
new Transform("", kUppercaseAll, "'"),
|
|
16808
|
+
new Transform("", kIdentity, "est "),
|
|
16809
|
+
new Transform(" ", kUppercaseFirst, "."),
|
|
16810
|
+
new Transform("", kUppercaseAll, '">'),
|
|
16811
|
+
new Transform(" ", kIdentity, "='"),
|
|
16812
|
+
new Transform("", kUppercaseFirst, ","),
|
|
16813
|
+
new Transform("", kIdentity, "ize "),
|
|
16814
|
+
new Transform("", kUppercaseAll, "."),
|
|
16815
|
+
new Transform("Â ", kIdentity, ""),
|
|
16816
|
+
new Transform(" ", kIdentity, ","),
|
|
16817
|
+
new Transform("", kUppercaseFirst, '="'),
|
|
16818
|
+
new Transform("", kUppercaseAll, '="'),
|
|
16819
|
+
new Transform("", kIdentity, "ous "),
|
|
16820
|
+
new Transform("", kUppercaseAll, ", "),
|
|
16821
|
+
new Transform("", kUppercaseFirst, "='"),
|
|
16822
|
+
new Transform(" ", kUppercaseFirst, ","),
|
|
16823
|
+
new Transform(" ", kUppercaseAll, '="'),
|
|
16824
|
+
new Transform(" ", kUppercaseAll, ", "),
|
|
16825
|
+
new Transform("", kUppercaseAll, ","),
|
|
16826
|
+
new Transform("", kUppercaseAll, "("),
|
|
16827
|
+
new Transform("", kUppercaseAll, ". "),
|
|
16828
|
+
new Transform(" ", kUppercaseAll, "."),
|
|
16829
|
+
new Transform("", kUppercaseAll, "='"),
|
|
16830
|
+
new Transform(" ", kUppercaseAll, ". "),
|
|
16831
|
+
new Transform(" ", kUppercaseFirst, '="'),
|
|
16832
|
+
new Transform(" ", kUppercaseAll, "='"),
|
|
16833
|
+
new Transform(" ", kUppercaseFirst, "='")
|
|
16834
|
+
];
|
|
16835
|
+
transform$1.kTransforms = kTransforms;
|
|
16836
|
+
transform$1.kNumTransforms = kTransforms.length;
|
|
16837
|
+
function ToUpperCase(p, i2) {
|
|
16838
|
+
if (p[i2] < 192) {
|
|
16839
|
+
if (p[i2] >= 97 && p[i2] <= 122) {
|
|
16840
|
+
p[i2] ^= 32;
|
|
16841
|
+
}
|
|
16842
|
+
return 1;
|
|
16843
|
+
}
|
|
16844
|
+
if (p[i2] < 224) {
|
|
16845
|
+
p[i2 + 1] ^= 32;
|
|
16846
|
+
return 2;
|
|
16847
|
+
}
|
|
16848
|
+
p[i2 + 2] ^= 5;
|
|
16849
|
+
return 3;
|
|
16850
|
+
}
|
|
16851
|
+
transform$1.transformDictionaryWord = function(dst, idx, word, len2, transform2) {
|
|
16852
|
+
var prefix2 = kTransforms[transform2].prefix;
|
|
16853
|
+
var suffix = kTransforms[transform2].suffix;
|
|
16854
|
+
var t = kTransforms[transform2].transform;
|
|
16855
|
+
var skip = t < kOmitFirst1 ? 0 : t - (kOmitFirst1 - 1);
|
|
16856
|
+
var i2 = 0;
|
|
16857
|
+
var start_idx = idx;
|
|
16858
|
+
var uppercase;
|
|
16859
|
+
if (skip > len2) {
|
|
16860
|
+
skip = len2;
|
|
16861
|
+
}
|
|
16862
|
+
var prefix_pos = 0;
|
|
16863
|
+
while (prefix_pos < prefix2.length) {
|
|
16864
|
+
dst[idx++] = prefix2[prefix_pos++];
|
|
16865
|
+
}
|
|
16866
|
+
word += skip;
|
|
16867
|
+
len2 -= skip;
|
|
16868
|
+
if (t <= kOmitLast9) {
|
|
16869
|
+
len2 -= t;
|
|
16870
|
+
}
|
|
16871
|
+
for (i2 = 0; i2 < len2; i2++) {
|
|
16872
|
+
dst[idx++] = BrotliDictionary.dictionary[word + i2];
|
|
16873
|
+
}
|
|
16874
|
+
uppercase = idx - len2;
|
|
16875
|
+
if (t === kUppercaseFirst) {
|
|
16876
|
+
ToUpperCase(dst, uppercase);
|
|
16877
|
+
} else if (t === kUppercaseAll) {
|
|
16878
|
+
while (len2 > 0) {
|
|
16879
|
+
var step = ToUpperCase(dst, uppercase);
|
|
16880
|
+
uppercase += step;
|
|
16881
|
+
len2 -= step;
|
|
16882
|
+
}
|
|
16883
|
+
}
|
|
16884
|
+
var suffix_pos = 0;
|
|
16885
|
+
while (suffix_pos < suffix.length) {
|
|
16886
|
+
dst[idx++] = suffix[suffix_pos++];
|
|
16887
|
+
}
|
|
16888
|
+
return idx - start_idx;
|
|
16889
|
+
};
|
|
16890
|
+
return transform$1;
|
|
16891
|
+
}
|
|
16892
|
+
var hasRequiredDecode;
|
|
16893
|
+
function requireDecode() {
|
|
16894
|
+
if (hasRequiredDecode) return decode;
|
|
16895
|
+
hasRequiredDecode = 1;
|
|
16896
|
+
var BrotliInput2 = streams.BrotliInput;
|
|
16897
|
+
var BrotliOutput2 = streams.BrotliOutput;
|
|
16898
|
+
var BrotliBitReader2 = bit_reader;
|
|
16899
|
+
var BrotliDictionary = requireDictionary();
|
|
16900
|
+
var HuffmanCode2 = huffman.HuffmanCode;
|
|
16901
|
+
var BrotliBuildHuffmanTable = huffman.BrotliBuildHuffmanTable;
|
|
16902
|
+
var Context = context$1;
|
|
16903
|
+
var Prefix = prefix;
|
|
16904
|
+
var Transform = requireTransform();
|
|
16905
|
+
var kDefaultCodeLength = 8;
|
|
16906
|
+
var kCodeLengthRepeatCode = 16;
|
|
16907
|
+
var kNumLiteralCodes = 256;
|
|
16908
|
+
var kNumInsertAndCopyCodes = 704;
|
|
16909
|
+
var kNumBlockLengthCodes = 26;
|
|
16910
|
+
var kLiteralContextBits = 6;
|
|
16911
|
+
var kDistanceContextBits = 2;
|
|
16912
|
+
var HUFFMAN_TABLE_BITS = 8;
|
|
16913
|
+
var HUFFMAN_TABLE_MASK = 255;
|
|
16914
|
+
var HUFFMAN_MAX_TABLE_SIZE = 1080;
|
|
16915
|
+
var CODE_LENGTH_CODES = 18;
|
|
16916
|
+
var kCodeLengthCodeOrder = new Uint8Array([
|
|
16917
|
+
1,
|
|
16918
|
+
2,
|
|
16919
|
+
3,
|
|
16920
|
+
4,
|
|
16921
|
+
0,
|
|
16922
|
+
5,
|
|
16923
|
+
17,
|
|
16924
|
+
6,
|
|
16925
|
+
16,
|
|
16926
|
+
7,
|
|
16927
|
+
8,
|
|
16928
|
+
9,
|
|
16929
|
+
10,
|
|
16930
|
+
11,
|
|
16931
|
+
12,
|
|
16932
|
+
13,
|
|
16933
|
+
14,
|
|
16934
|
+
15
|
|
16935
|
+
]);
|
|
16936
|
+
var NUM_DISTANCE_SHORT_CODES = 16;
|
|
16937
|
+
var kDistanceShortCodeIndexOffset = new Uint8Array([
|
|
16938
|
+
3,
|
|
16939
|
+
2,
|
|
16940
|
+
1,
|
|
16941
|
+
0,
|
|
16942
|
+
3,
|
|
16943
|
+
3,
|
|
16944
|
+
3,
|
|
16945
|
+
3,
|
|
16946
|
+
3,
|
|
16947
|
+
3,
|
|
16948
|
+
2,
|
|
16949
|
+
2,
|
|
16950
|
+
2,
|
|
16951
|
+
2,
|
|
16952
|
+
2,
|
|
16953
|
+
2
|
|
16954
|
+
]);
|
|
16955
|
+
var kDistanceShortCodeValueOffset = new Int8Array([
|
|
16956
|
+
0,
|
|
16957
|
+
0,
|
|
16958
|
+
0,
|
|
16959
|
+
0,
|
|
16960
|
+
-1,
|
|
16961
|
+
1,
|
|
16962
|
+
-2,
|
|
16963
|
+
2,
|
|
16964
|
+
-3,
|
|
16965
|
+
3,
|
|
16966
|
+
-1,
|
|
16967
|
+
1,
|
|
16968
|
+
-2,
|
|
16969
|
+
2,
|
|
16970
|
+
-3,
|
|
16971
|
+
3
|
|
16972
|
+
]);
|
|
16973
|
+
var kMaxHuffmanTableSize = new Uint16Array([
|
|
16974
|
+
256,
|
|
16975
|
+
402,
|
|
16976
|
+
436,
|
|
16977
|
+
468,
|
|
16978
|
+
500,
|
|
16979
|
+
534,
|
|
16980
|
+
566,
|
|
16981
|
+
598,
|
|
16982
|
+
630,
|
|
16983
|
+
662,
|
|
16984
|
+
694,
|
|
16985
|
+
726,
|
|
16986
|
+
758,
|
|
16987
|
+
790,
|
|
16988
|
+
822,
|
|
16989
|
+
854,
|
|
16990
|
+
886,
|
|
16991
|
+
920,
|
|
16992
|
+
952,
|
|
16993
|
+
984,
|
|
16994
|
+
1016,
|
|
16995
|
+
1048,
|
|
16996
|
+
1080
|
|
16997
|
+
]);
|
|
16998
|
+
function DecodeWindowBits(br) {
|
|
16999
|
+
var n;
|
|
17000
|
+
if (br.readBits(1) === 0) {
|
|
17001
|
+
return 16;
|
|
17002
|
+
}
|
|
17003
|
+
n = br.readBits(3);
|
|
17004
|
+
if (n > 0) {
|
|
17005
|
+
return 17 + n;
|
|
17006
|
+
}
|
|
17007
|
+
n = br.readBits(3);
|
|
17008
|
+
if (n > 0) {
|
|
17009
|
+
return 8 + n;
|
|
17010
|
+
}
|
|
17011
|
+
return 17;
|
|
17012
|
+
}
|
|
17013
|
+
function DecodeVarLenUint8(br) {
|
|
17014
|
+
if (br.readBits(1)) {
|
|
17015
|
+
var nbits = br.readBits(3);
|
|
17016
|
+
if (nbits === 0) {
|
|
17017
|
+
return 1;
|
|
17018
|
+
} else {
|
|
17019
|
+
return br.readBits(nbits) + (1 << nbits);
|
|
17020
|
+
}
|
|
17021
|
+
}
|
|
17022
|
+
return 0;
|
|
17023
|
+
}
|
|
17024
|
+
function MetaBlockLength() {
|
|
17025
|
+
this.meta_block_length = 0;
|
|
17026
|
+
this.input_end = 0;
|
|
17027
|
+
this.is_uncompressed = 0;
|
|
17028
|
+
this.is_metadata = false;
|
|
17029
|
+
}
|
|
17030
|
+
function DecodeMetaBlockLength(br) {
|
|
17031
|
+
var out = new MetaBlockLength();
|
|
17032
|
+
var size_nibbles;
|
|
17033
|
+
var size_bytes;
|
|
17034
|
+
var i2;
|
|
17035
|
+
out.input_end = br.readBits(1);
|
|
17036
|
+
if (out.input_end && br.readBits(1)) {
|
|
17037
|
+
return out;
|
|
17038
|
+
}
|
|
17039
|
+
size_nibbles = br.readBits(2) + 4;
|
|
17040
|
+
if (size_nibbles === 7) {
|
|
17041
|
+
out.is_metadata = true;
|
|
17042
|
+
if (br.readBits(1) !== 0)
|
|
17043
|
+
throw new Error("Invalid reserved bit");
|
|
17044
|
+
size_bytes = br.readBits(2);
|
|
17045
|
+
if (size_bytes === 0)
|
|
17046
|
+
return out;
|
|
17047
|
+
for (i2 = 0; i2 < size_bytes; i2++) {
|
|
17048
|
+
var next_byte = br.readBits(8);
|
|
17049
|
+
if (i2 + 1 === size_bytes && size_bytes > 1 && next_byte === 0)
|
|
17050
|
+
throw new Error("Invalid size byte");
|
|
17051
|
+
out.meta_block_length |= next_byte << i2 * 8;
|
|
17052
|
+
}
|
|
17053
|
+
} else {
|
|
17054
|
+
for (i2 = 0; i2 < size_nibbles; ++i2) {
|
|
17055
|
+
var next_nibble = br.readBits(4);
|
|
17056
|
+
if (i2 + 1 === size_nibbles && size_nibbles > 4 && next_nibble === 0)
|
|
17057
|
+
throw new Error("Invalid size nibble");
|
|
17058
|
+
out.meta_block_length |= next_nibble << i2 * 4;
|
|
17059
|
+
}
|
|
17060
|
+
}
|
|
17061
|
+
++out.meta_block_length;
|
|
17062
|
+
if (!out.input_end && !out.is_metadata) {
|
|
17063
|
+
out.is_uncompressed = br.readBits(1);
|
|
17064
|
+
}
|
|
17065
|
+
return out;
|
|
17066
|
+
}
|
|
17067
|
+
function ReadSymbol(table, index2, br) {
|
|
17068
|
+
var nbits;
|
|
17069
|
+
br.fillBitWindow();
|
|
17070
|
+
index2 += br.val_ >>> br.bit_pos_ & HUFFMAN_TABLE_MASK;
|
|
17071
|
+
nbits = table[index2].bits - HUFFMAN_TABLE_BITS;
|
|
17072
|
+
if (nbits > 0) {
|
|
17073
|
+
br.bit_pos_ += HUFFMAN_TABLE_BITS;
|
|
17074
|
+
index2 += table[index2].value;
|
|
17075
|
+
index2 += br.val_ >>> br.bit_pos_ & (1 << nbits) - 1;
|
|
17076
|
+
}
|
|
17077
|
+
br.bit_pos_ += table[index2].bits;
|
|
17078
|
+
return table[index2].value;
|
|
17079
|
+
}
|
|
17080
|
+
function ReadHuffmanCodeLengths(code_length_code_lengths, num_symbols, code_lengths, br) {
|
|
17081
|
+
var symbol = 0;
|
|
17082
|
+
var prev_code_len = kDefaultCodeLength;
|
|
17083
|
+
var repeat = 0;
|
|
17084
|
+
var repeat_code_len = 0;
|
|
17085
|
+
var space = 32768;
|
|
17086
|
+
var table = [];
|
|
17087
|
+
for (var i2 = 0; i2 < 32; i2++)
|
|
17088
|
+
table.push(new HuffmanCode2(0, 0));
|
|
17089
|
+
BrotliBuildHuffmanTable(table, 0, 5, code_length_code_lengths, CODE_LENGTH_CODES);
|
|
17090
|
+
while (symbol < num_symbols && space > 0) {
|
|
17091
|
+
var p = 0;
|
|
17092
|
+
var code_len;
|
|
17093
|
+
br.readMoreInput();
|
|
17094
|
+
br.fillBitWindow();
|
|
17095
|
+
p += br.val_ >>> br.bit_pos_ & 31;
|
|
17096
|
+
br.bit_pos_ += table[p].bits;
|
|
17097
|
+
code_len = table[p].value & 255;
|
|
17098
|
+
if (code_len < kCodeLengthRepeatCode) {
|
|
17099
|
+
repeat = 0;
|
|
17100
|
+
code_lengths[symbol++] = code_len;
|
|
17101
|
+
if (code_len !== 0) {
|
|
17102
|
+
prev_code_len = code_len;
|
|
17103
|
+
space -= 32768 >> code_len;
|
|
17104
|
+
}
|
|
17105
|
+
} else {
|
|
17106
|
+
var extra_bits = code_len - 14;
|
|
17107
|
+
var old_repeat;
|
|
17108
|
+
var repeat_delta;
|
|
17109
|
+
var new_len = 0;
|
|
17110
|
+
if (code_len === kCodeLengthRepeatCode) {
|
|
17111
|
+
new_len = prev_code_len;
|
|
17112
|
+
}
|
|
17113
|
+
if (repeat_code_len !== new_len) {
|
|
17114
|
+
repeat = 0;
|
|
17115
|
+
repeat_code_len = new_len;
|
|
17116
|
+
}
|
|
17117
|
+
old_repeat = repeat;
|
|
17118
|
+
if (repeat > 0) {
|
|
17119
|
+
repeat -= 2;
|
|
17120
|
+
repeat <<= extra_bits;
|
|
17121
|
+
}
|
|
17122
|
+
repeat += br.readBits(extra_bits) + 3;
|
|
17123
|
+
repeat_delta = repeat - old_repeat;
|
|
17124
|
+
if (symbol + repeat_delta > num_symbols) {
|
|
17125
|
+
throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");
|
|
17126
|
+
}
|
|
17127
|
+
for (var x = 0; x < repeat_delta; x++)
|
|
17128
|
+
code_lengths[symbol + x] = repeat_code_len;
|
|
17129
|
+
symbol += repeat_delta;
|
|
17130
|
+
if (repeat_code_len !== 0) {
|
|
17131
|
+
space -= repeat_delta << 15 - repeat_code_len;
|
|
17132
|
+
}
|
|
17133
|
+
}
|
|
17134
|
+
}
|
|
17135
|
+
if (space !== 0) {
|
|
17136
|
+
throw new Error("[ReadHuffmanCodeLengths] space = " + space);
|
|
17137
|
+
}
|
|
17138
|
+
for (; symbol < num_symbols; symbol++)
|
|
17139
|
+
code_lengths[symbol] = 0;
|
|
17140
|
+
}
|
|
17141
|
+
function ReadHuffmanCode(alphabet_size, tables, table, br) {
|
|
17142
|
+
var table_size = 0;
|
|
17143
|
+
var simple_code_or_skip;
|
|
17144
|
+
var code_lengths = new Uint8Array(alphabet_size);
|
|
17145
|
+
br.readMoreInput();
|
|
17146
|
+
simple_code_or_skip = br.readBits(2);
|
|
17147
|
+
if (simple_code_or_skip === 1) {
|
|
17148
|
+
var i2;
|
|
17149
|
+
var max_bits_counter = alphabet_size - 1;
|
|
17150
|
+
var max_bits = 0;
|
|
17151
|
+
var symbols2 = new Int32Array(4);
|
|
17152
|
+
var num_symbols = br.readBits(2) + 1;
|
|
17153
|
+
while (max_bits_counter) {
|
|
17154
|
+
max_bits_counter >>= 1;
|
|
17155
|
+
++max_bits;
|
|
17156
|
+
}
|
|
17157
|
+
for (i2 = 0; i2 < num_symbols; ++i2) {
|
|
17158
|
+
symbols2[i2] = br.readBits(max_bits) % alphabet_size;
|
|
17159
|
+
code_lengths[symbols2[i2]] = 2;
|
|
17160
|
+
}
|
|
17161
|
+
code_lengths[symbols2[0]] = 1;
|
|
17162
|
+
switch (num_symbols) {
|
|
17163
|
+
case 1:
|
|
17164
|
+
break;
|
|
17165
|
+
case 3:
|
|
17166
|
+
if (symbols2[0] === symbols2[1] || symbols2[0] === symbols2[2] || symbols2[1] === symbols2[2]) {
|
|
17167
|
+
throw new Error("[ReadHuffmanCode] invalid symbols");
|
|
17168
|
+
}
|
|
17169
|
+
break;
|
|
17170
|
+
case 2:
|
|
17171
|
+
if (symbols2[0] === symbols2[1]) {
|
|
17172
|
+
throw new Error("[ReadHuffmanCode] invalid symbols");
|
|
17173
|
+
}
|
|
17174
|
+
code_lengths[symbols2[1]] = 1;
|
|
17175
|
+
break;
|
|
17176
|
+
case 4:
|
|
17177
|
+
if (symbols2[0] === symbols2[1] || symbols2[0] === symbols2[2] || symbols2[0] === symbols2[3] || symbols2[1] === symbols2[2] || symbols2[1] === symbols2[3] || symbols2[2] === symbols2[3]) {
|
|
17178
|
+
throw new Error("[ReadHuffmanCode] invalid symbols");
|
|
17179
|
+
}
|
|
17180
|
+
if (br.readBits(1)) {
|
|
17181
|
+
code_lengths[symbols2[2]] = 3;
|
|
17182
|
+
code_lengths[symbols2[3]] = 3;
|
|
17183
|
+
} else {
|
|
17184
|
+
code_lengths[symbols2[0]] = 2;
|
|
17185
|
+
}
|
|
17186
|
+
break;
|
|
17187
|
+
}
|
|
17188
|
+
} else {
|
|
17189
|
+
var i2;
|
|
17190
|
+
var code_length_code_lengths = new Uint8Array(CODE_LENGTH_CODES);
|
|
17191
|
+
var space = 32;
|
|
17192
|
+
var num_codes = 0;
|
|
17193
|
+
var huff = [
|
|
17194
|
+
new HuffmanCode2(2, 0),
|
|
17195
|
+
new HuffmanCode2(2, 4),
|
|
17196
|
+
new HuffmanCode2(2, 3),
|
|
17197
|
+
new HuffmanCode2(3, 2),
|
|
17198
|
+
new HuffmanCode2(2, 0),
|
|
17199
|
+
new HuffmanCode2(2, 4),
|
|
17200
|
+
new HuffmanCode2(2, 3),
|
|
17201
|
+
new HuffmanCode2(4, 1),
|
|
17202
|
+
new HuffmanCode2(2, 0),
|
|
17203
|
+
new HuffmanCode2(2, 4),
|
|
17204
|
+
new HuffmanCode2(2, 3),
|
|
17205
|
+
new HuffmanCode2(3, 2),
|
|
17206
|
+
new HuffmanCode2(2, 0),
|
|
17207
|
+
new HuffmanCode2(2, 4),
|
|
17208
|
+
new HuffmanCode2(2, 3),
|
|
17209
|
+
new HuffmanCode2(4, 5)
|
|
17210
|
+
];
|
|
17211
|
+
for (i2 = simple_code_or_skip; i2 < CODE_LENGTH_CODES && space > 0; ++i2) {
|
|
17212
|
+
var code_len_idx = kCodeLengthCodeOrder[i2];
|
|
17213
|
+
var p = 0;
|
|
17214
|
+
var v;
|
|
17215
|
+
br.fillBitWindow();
|
|
17216
|
+
p += br.val_ >>> br.bit_pos_ & 15;
|
|
17217
|
+
br.bit_pos_ += huff[p].bits;
|
|
17218
|
+
v = huff[p].value;
|
|
17219
|
+
code_length_code_lengths[code_len_idx] = v;
|
|
17220
|
+
if (v !== 0) {
|
|
17221
|
+
space -= 32 >> v;
|
|
17222
|
+
++num_codes;
|
|
17223
|
+
}
|
|
17224
|
+
}
|
|
17225
|
+
if (!(num_codes === 1 || space === 0))
|
|
17226
|
+
throw new Error("[ReadHuffmanCode] invalid num_codes or space");
|
|
17227
|
+
ReadHuffmanCodeLengths(code_length_code_lengths, alphabet_size, code_lengths, br);
|
|
17228
|
+
}
|
|
17229
|
+
table_size = BrotliBuildHuffmanTable(tables, table, HUFFMAN_TABLE_BITS, code_lengths, alphabet_size);
|
|
17230
|
+
if (table_size === 0) {
|
|
17231
|
+
throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");
|
|
17232
|
+
}
|
|
17233
|
+
return table_size;
|
|
17234
|
+
}
|
|
17235
|
+
function ReadBlockLength(table, index2, br) {
|
|
17236
|
+
var code2;
|
|
17237
|
+
var nbits;
|
|
17238
|
+
code2 = ReadSymbol(table, index2, br);
|
|
17239
|
+
nbits = Prefix.kBlockLengthPrefixCode[code2].nbits;
|
|
17240
|
+
return Prefix.kBlockLengthPrefixCode[code2].offset + br.readBits(nbits);
|
|
17241
|
+
}
|
|
17242
|
+
function TranslateShortCodes(code2, ringbuffer, index2) {
|
|
17243
|
+
var val;
|
|
17244
|
+
if (code2 < NUM_DISTANCE_SHORT_CODES) {
|
|
17245
|
+
index2 += kDistanceShortCodeIndexOffset[code2];
|
|
17246
|
+
index2 &= 3;
|
|
17247
|
+
val = ringbuffer[index2] + kDistanceShortCodeValueOffset[code2];
|
|
17248
|
+
} else {
|
|
17249
|
+
val = code2 - NUM_DISTANCE_SHORT_CODES + 1;
|
|
17250
|
+
}
|
|
17251
|
+
return val;
|
|
17252
|
+
}
|
|
17253
|
+
function MoveToFront(v, index2) {
|
|
17254
|
+
var value = v[index2];
|
|
17255
|
+
var i2 = index2;
|
|
17256
|
+
for (; i2; --i2) v[i2] = v[i2 - 1];
|
|
17257
|
+
v[0] = value;
|
|
17258
|
+
}
|
|
17259
|
+
function InverseMoveToFrontTransform(v, v_len) {
|
|
17260
|
+
var mtf = new Uint8Array(256);
|
|
17261
|
+
var i2;
|
|
17262
|
+
for (i2 = 0; i2 < 256; ++i2) {
|
|
17263
|
+
mtf[i2] = i2;
|
|
17264
|
+
}
|
|
17265
|
+
for (i2 = 0; i2 < v_len; ++i2) {
|
|
17266
|
+
var index2 = v[i2];
|
|
17267
|
+
v[i2] = mtf[index2];
|
|
17268
|
+
if (index2) MoveToFront(mtf, index2);
|
|
17269
|
+
}
|
|
17270
|
+
}
|
|
17271
|
+
function HuffmanTreeGroup(alphabet_size, num_htrees) {
|
|
17272
|
+
this.alphabet_size = alphabet_size;
|
|
17273
|
+
this.num_htrees = num_htrees;
|
|
17274
|
+
this.codes = new Array(num_htrees + num_htrees * kMaxHuffmanTableSize[alphabet_size + 31 >>> 5]);
|
|
17275
|
+
this.htrees = new Uint32Array(num_htrees);
|
|
17276
|
+
}
|
|
17277
|
+
HuffmanTreeGroup.prototype.decode = function(br) {
|
|
17278
|
+
var i2;
|
|
17279
|
+
var table_size;
|
|
17280
|
+
var next = 0;
|
|
17281
|
+
for (i2 = 0; i2 < this.num_htrees; ++i2) {
|
|
17282
|
+
this.htrees[i2] = next;
|
|
17283
|
+
table_size = ReadHuffmanCode(this.alphabet_size, this.codes, next, br);
|
|
17284
|
+
next += table_size;
|
|
17285
|
+
}
|
|
17286
|
+
};
|
|
17287
|
+
function DecodeContextMap(context_map_size, br) {
|
|
17288
|
+
var out = { num_htrees: null, context_map: null };
|
|
17289
|
+
var use_rle_for_zeros;
|
|
17290
|
+
var max_run_length_prefix = 0;
|
|
17291
|
+
var table;
|
|
17292
|
+
var i2;
|
|
17293
|
+
br.readMoreInput();
|
|
17294
|
+
var num_htrees = out.num_htrees = DecodeVarLenUint8(br) + 1;
|
|
17295
|
+
var context_map = out.context_map = new Uint8Array(context_map_size);
|
|
17296
|
+
if (num_htrees <= 1) {
|
|
17297
|
+
return out;
|
|
17298
|
+
}
|
|
17299
|
+
use_rle_for_zeros = br.readBits(1);
|
|
17300
|
+
if (use_rle_for_zeros) {
|
|
17301
|
+
max_run_length_prefix = br.readBits(4) + 1;
|
|
17302
|
+
}
|
|
17303
|
+
table = [];
|
|
17304
|
+
for (i2 = 0; i2 < HUFFMAN_MAX_TABLE_SIZE; i2++) {
|
|
17305
|
+
table[i2] = new HuffmanCode2(0, 0);
|
|
17306
|
+
}
|
|
17307
|
+
ReadHuffmanCode(num_htrees + max_run_length_prefix, table, 0, br);
|
|
17308
|
+
for (i2 = 0; i2 < context_map_size; ) {
|
|
17309
|
+
var code2;
|
|
17310
|
+
br.readMoreInput();
|
|
17311
|
+
code2 = ReadSymbol(table, 0, br);
|
|
17312
|
+
if (code2 === 0) {
|
|
17313
|
+
context_map[i2] = 0;
|
|
17314
|
+
++i2;
|
|
17315
|
+
} else if (code2 <= max_run_length_prefix) {
|
|
17316
|
+
var reps = 1 + (1 << code2) + br.readBits(code2);
|
|
17317
|
+
while (--reps) {
|
|
17318
|
+
if (i2 >= context_map_size) {
|
|
17319
|
+
throw new Error("[DecodeContextMap] i >= context_map_size");
|
|
17320
|
+
}
|
|
17321
|
+
context_map[i2] = 0;
|
|
17322
|
+
++i2;
|
|
17323
|
+
}
|
|
17324
|
+
} else {
|
|
17325
|
+
context_map[i2] = code2 - max_run_length_prefix;
|
|
17326
|
+
++i2;
|
|
17327
|
+
}
|
|
17328
|
+
}
|
|
17329
|
+
if (br.readBits(1)) {
|
|
17330
|
+
InverseMoveToFrontTransform(context_map, context_map_size);
|
|
17331
|
+
}
|
|
17332
|
+
return out;
|
|
17333
|
+
}
|
|
17334
|
+
function DecodeBlockType(max_block_type, trees2, tree_type, block_types, ringbuffers, indexes, br) {
|
|
17335
|
+
var ringbuffer = tree_type * 2;
|
|
17336
|
+
var index2 = tree_type;
|
|
17337
|
+
var type_code = ReadSymbol(trees2, tree_type * HUFFMAN_MAX_TABLE_SIZE, br);
|
|
17338
|
+
var block_type;
|
|
17339
|
+
if (type_code === 0) {
|
|
17340
|
+
block_type = ringbuffers[ringbuffer + (indexes[index2] & 1)];
|
|
17341
|
+
} else if (type_code === 1) {
|
|
17342
|
+
block_type = ringbuffers[ringbuffer + (indexes[index2] - 1 & 1)] + 1;
|
|
17343
|
+
} else {
|
|
17344
|
+
block_type = type_code - 2;
|
|
17345
|
+
}
|
|
17346
|
+
if (block_type >= max_block_type) {
|
|
17347
|
+
block_type -= max_block_type;
|
|
17348
|
+
}
|
|
17349
|
+
block_types[tree_type] = block_type;
|
|
17350
|
+
ringbuffers[ringbuffer + (indexes[index2] & 1)] = block_type;
|
|
17351
|
+
++indexes[index2];
|
|
17352
|
+
}
|
|
17353
|
+
function CopyUncompressedBlockToOutput(output, len2, pos, ringbuffer, ringbuffer_mask, br) {
|
|
17354
|
+
var rb_size = ringbuffer_mask + 1;
|
|
17355
|
+
var rb_pos = pos & ringbuffer_mask;
|
|
17356
|
+
var br_pos = br.pos_ & BrotliBitReader2.IBUF_MASK;
|
|
17357
|
+
var nbytes;
|
|
17358
|
+
if (len2 < 8 || br.bit_pos_ + (len2 << 3) < br.bit_end_pos_) {
|
|
17359
|
+
while (len2-- > 0) {
|
|
17360
|
+
br.readMoreInput();
|
|
17361
|
+
ringbuffer[rb_pos++] = br.readBits(8);
|
|
17362
|
+
if (rb_pos === rb_size) {
|
|
17363
|
+
output.write(ringbuffer, rb_size);
|
|
17364
|
+
rb_pos = 0;
|
|
17365
|
+
}
|
|
17366
|
+
}
|
|
17367
|
+
return;
|
|
17368
|
+
}
|
|
17369
|
+
if (br.bit_end_pos_ < 32) {
|
|
17370
|
+
throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");
|
|
17371
|
+
}
|
|
17372
|
+
while (br.bit_pos_ < 32) {
|
|
17373
|
+
ringbuffer[rb_pos] = br.val_ >>> br.bit_pos_;
|
|
17374
|
+
br.bit_pos_ += 8;
|
|
17375
|
+
++rb_pos;
|
|
17376
|
+
--len2;
|
|
17377
|
+
}
|
|
17378
|
+
nbytes = br.bit_end_pos_ - br.bit_pos_ >> 3;
|
|
17379
|
+
if (br_pos + nbytes > BrotliBitReader2.IBUF_MASK) {
|
|
17380
|
+
var tail = BrotliBitReader2.IBUF_MASK + 1 - br_pos;
|
|
17381
|
+
for (var x = 0; x < tail; x++)
|
|
17382
|
+
ringbuffer[rb_pos + x] = br.buf_[br_pos + x];
|
|
17383
|
+
nbytes -= tail;
|
|
17384
|
+
rb_pos += tail;
|
|
17385
|
+
len2 -= tail;
|
|
17386
|
+
br_pos = 0;
|
|
17387
|
+
}
|
|
17388
|
+
for (var x = 0; x < nbytes; x++)
|
|
17389
|
+
ringbuffer[rb_pos + x] = br.buf_[br_pos + x];
|
|
17390
|
+
rb_pos += nbytes;
|
|
17391
|
+
len2 -= nbytes;
|
|
17392
|
+
if (rb_pos >= rb_size) {
|
|
17393
|
+
output.write(ringbuffer, rb_size);
|
|
17394
|
+
rb_pos -= rb_size;
|
|
17395
|
+
for (var x = 0; x < rb_pos; x++)
|
|
17396
|
+
ringbuffer[x] = ringbuffer[rb_size + x];
|
|
17397
|
+
}
|
|
17398
|
+
while (rb_pos + len2 >= rb_size) {
|
|
17399
|
+
nbytes = rb_size - rb_pos;
|
|
17400
|
+
if (br.input_.read(ringbuffer, rb_pos, nbytes) < nbytes) {
|
|
17401
|
+
throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");
|
|
17402
|
+
}
|
|
17403
|
+
output.write(ringbuffer, rb_size);
|
|
17404
|
+
len2 -= nbytes;
|
|
17405
|
+
rb_pos = 0;
|
|
17406
|
+
}
|
|
17407
|
+
if (br.input_.read(ringbuffer, rb_pos, len2) < len2) {
|
|
17408
|
+
throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");
|
|
17409
|
+
}
|
|
17410
|
+
br.reset();
|
|
17411
|
+
}
|
|
17412
|
+
function JumpToByteBoundary(br) {
|
|
17413
|
+
var new_bit_pos = br.bit_pos_ + 7 & -8;
|
|
17414
|
+
var pad_bits = br.readBits(new_bit_pos - br.bit_pos_);
|
|
17415
|
+
return pad_bits == 0;
|
|
17416
|
+
}
|
|
17417
|
+
function BrotliDecompressedSize(buffer2) {
|
|
17418
|
+
var input = new BrotliInput2(buffer2);
|
|
17419
|
+
var br = new BrotliBitReader2(input);
|
|
17420
|
+
DecodeWindowBits(br);
|
|
17421
|
+
var out = DecodeMetaBlockLength(br);
|
|
17422
|
+
return out.meta_block_length;
|
|
17423
|
+
}
|
|
17424
|
+
decode.BrotliDecompressedSize = BrotliDecompressedSize;
|
|
17425
|
+
function BrotliDecompressBuffer(buffer2, output_size) {
|
|
17426
|
+
var input = new BrotliInput2(buffer2);
|
|
17427
|
+
if (output_size == null) {
|
|
17428
|
+
output_size = BrotliDecompressedSize(buffer2);
|
|
17429
|
+
}
|
|
17430
|
+
var output_buffer = new Uint8Array(output_size);
|
|
17431
|
+
var output = new BrotliOutput2(output_buffer);
|
|
17432
|
+
BrotliDecompress(input, output);
|
|
17433
|
+
if (output.pos < output.buffer.length) {
|
|
17434
|
+
output.buffer = output.buffer.subarray(0, output.pos);
|
|
17435
|
+
}
|
|
17436
|
+
return output.buffer;
|
|
17437
|
+
}
|
|
17438
|
+
decode.BrotliDecompressBuffer = BrotliDecompressBuffer;
|
|
17439
|
+
function BrotliDecompress(input, output) {
|
|
17440
|
+
var i2;
|
|
17441
|
+
var pos = 0;
|
|
17442
|
+
var input_end = 0;
|
|
17443
|
+
var window_bits = 0;
|
|
17444
|
+
var max_backward_distance;
|
|
17445
|
+
var max_distance = 0;
|
|
17446
|
+
var ringbuffer_size;
|
|
17447
|
+
var ringbuffer_mask;
|
|
17448
|
+
var ringbuffer;
|
|
17449
|
+
var ringbuffer_end;
|
|
17450
|
+
var dist_rb = [16, 15, 11, 4];
|
|
17451
|
+
var dist_rb_idx = 0;
|
|
17452
|
+
var prev_byte1 = 0;
|
|
17453
|
+
var prev_byte2 = 0;
|
|
17454
|
+
var hgroup = [new HuffmanTreeGroup(0, 0), new HuffmanTreeGroup(0, 0), new HuffmanTreeGroup(0, 0)];
|
|
17455
|
+
var block_type_trees;
|
|
17456
|
+
var block_len_trees;
|
|
17457
|
+
var br;
|
|
17458
|
+
var kRingBufferWriteAheadSlack = 128 + BrotliBitReader2.READ_SIZE;
|
|
17459
|
+
br = new BrotliBitReader2(input);
|
|
17460
|
+
window_bits = DecodeWindowBits(br);
|
|
17461
|
+
max_backward_distance = (1 << window_bits) - 16;
|
|
17462
|
+
ringbuffer_size = 1 << window_bits;
|
|
17463
|
+
ringbuffer_mask = ringbuffer_size - 1;
|
|
17464
|
+
ringbuffer = new Uint8Array(ringbuffer_size + kRingBufferWriteAheadSlack + BrotliDictionary.maxDictionaryWordLength);
|
|
17465
|
+
ringbuffer_end = ringbuffer_size;
|
|
17466
|
+
block_type_trees = [];
|
|
17467
|
+
block_len_trees = [];
|
|
17468
|
+
for (var x = 0; x < 3 * HUFFMAN_MAX_TABLE_SIZE; x++) {
|
|
17469
|
+
block_type_trees[x] = new HuffmanCode2(0, 0);
|
|
17470
|
+
block_len_trees[x] = new HuffmanCode2(0, 0);
|
|
17471
|
+
}
|
|
17472
|
+
while (!input_end) {
|
|
17473
|
+
var meta_block_remaining_len = 0;
|
|
17474
|
+
var is_uncompressed;
|
|
17475
|
+
var block_length = [1 << 28, 1 << 28, 1 << 28];
|
|
17476
|
+
var block_type = [0];
|
|
17477
|
+
var num_block_types = [1, 1, 1];
|
|
17478
|
+
var block_type_rb = [0, 1, 0, 1, 0, 1];
|
|
17479
|
+
var block_type_rb_index = [0];
|
|
17480
|
+
var distance_postfix_bits;
|
|
17481
|
+
var num_direct_distance_codes;
|
|
17482
|
+
var distance_postfix_mask;
|
|
17483
|
+
var num_distance_codes;
|
|
17484
|
+
var context_map = null;
|
|
17485
|
+
var context_modes = null;
|
|
17486
|
+
var num_literal_htrees;
|
|
17487
|
+
var dist_context_map = null;
|
|
17488
|
+
var num_dist_htrees;
|
|
17489
|
+
var context_offset = 0;
|
|
17490
|
+
var context_map_slice = null;
|
|
17491
|
+
var literal_htree_index = 0;
|
|
17492
|
+
var dist_context_offset = 0;
|
|
17493
|
+
var dist_context_map_slice = null;
|
|
17494
|
+
var dist_htree_index = 0;
|
|
17495
|
+
var context_lookup_offset1 = 0;
|
|
17496
|
+
var context_lookup_offset2 = 0;
|
|
17497
|
+
var context_mode;
|
|
17498
|
+
var htree_command;
|
|
17499
|
+
for (i2 = 0; i2 < 3; ++i2) {
|
|
17500
|
+
hgroup[i2].codes = null;
|
|
17501
|
+
hgroup[i2].htrees = null;
|
|
17502
|
+
}
|
|
17503
|
+
br.readMoreInput();
|
|
17504
|
+
var _out = DecodeMetaBlockLength(br);
|
|
17505
|
+
meta_block_remaining_len = _out.meta_block_length;
|
|
17506
|
+
if (pos + meta_block_remaining_len > output.buffer.length) {
|
|
17507
|
+
var tmp = new Uint8Array(pos + meta_block_remaining_len);
|
|
17508
|
+
tmp.set(output.buffer);
|
|
17509
|
+
output.buffer = tmp;
|
|
17510
|
+
}
|
|
17511
|
+
input_end = _out.input_end;
|
|
17512
|
+
is_uncompressed = _out.is_uncompressed;
|
|
17513
|
+
if (_out.is_metadata) {
|
|
17514
|
+
JumpToByteBoundary(br);
|
|
17515
|
+
for (; meta_block_remaining_len > 0; --meta_block_remaining_len) {
|
|
17516
|
+
br.readMoreInput();
|
|
17517
|
+
br.readBits(8);
|
|
17518
|
+
}
|
|
17519
|
+
continue;
|
|
17520
|
+
}
|
|
17521
|
+
if (meta_block_remaining_len === 0) {
|
|
17522
|
+
continue;
|
|
17523
|
+
}
|
|
17524
|
+
if (is_uncompressed) {
|
|
17525
|
+
br.bit_pos_ = br.bit_pos_ + 7 & -8;
|
|
17526
|
+
CopyUncompressedBlockToOutput(
|
|
17527
|
+
output,
|
|
17528
|
+
meta_block_remaining_len,
|
|
17529
|
+
pos,
|
|
17530
|
+
ringbuffer,
|
|
17531
|
+
ringbuffer_mask,
|
|
17532
|
+
br
|
|
17533
|
+
);
|
|
17534
|
+
pos += meta_block_remaining_len;
|
|
17535
|
+
continue;
|
|
17536
|
+
}
|
|
17537
|
+
for (i2 = 0; i2 < 3; ++i2) {
|
|
17538
|
+
num_block_types[i2] = DecodeVarLenUint8(br) + 1;
|
|
17539
|
+
if (num_block_types[i2] >= 2) {
|
|
17540
|
+
ReadHuffmanCode(num_block_types[i2] + 2, block_type_trees, i2 * HUFFMAN_MAX_TABLE_SIZE, br);
|
|
17541
|
+
ReadHuffmanCode(kNumBlockLengthCodes, block_len_trees, i2 * HUFFMAN_MAX_TABLE_SIZE, br);
|
|
17542
|
+
block_length[i2] = ReadBlockLength(block_len_trees, i2 * HUFFMAN_MAX_TABLE_SIZE, br);
|
|
17543
|
+
block_type_rb_index[i2] = 1;
|
|
17544
|
+
}
|
|
17545
|
+
}
|
|
17546
|
+
br.readMoreInput();
|
|
17547
|
+
distance_postfix_bits = br.readBits(2);
|
|
17548
|
+
num_direct_distance_codes = NUM_DISTANCE_SHORT_CODES + (br.readBits(4) << distance_postfix_bits);
|
|
17549
|
+
distance_postfix_mask = (1 << distance_postfix_bits) - 1;
|
|
17550
|
+
num_distance_codes = num_direct_distance_codes + (48 << distance_postfix_bits);
|
|
17551
|
+
context_modes = new Uint8Array(num_block_types[0]);
|
|
17552
|
+
for (i2 = 0; i2 < num_block_types[0]; ++i2) {
|
|
17553
|
+
br.readMoreInput();
|
|
17554
|
+
context_modes[i2] = br.readBits(2) << 1;
|
|
17555
|
+
}
|
|
17556
|
+
var _o1 = DecodeContextMap(num_block_types[0] << kLiteralContextBits, br);
|
|
17557
|
+
num_literal_htrees = _o1.num_htrees;
|
|
17558
|
+
context_map = _o1.context_map;
|
|
17559
|
+
var _o2 = DecodeContextMap(num_block_types[2] << kDistanceContextBits, br);
|
|
17560
|
+
num_dist_htrees = _o2.num_htrees;
|
|
17561
|
+
dist_context_map = _o2.context_map;
|
|
17562
|
+
hgroup[0] = new HuffmanTreeGroup(kNumLiteralCodes, num_literal_htrees);
|
|
17563
|
+
hgroup[1] = new HuffmanTreeGroup(kNumInsertAndCopyCodes, num_block_types[1]);
|
|
17564
|
+
hgroup[2] = new HuffmanTreeGroup(num_distance_codes, num_dist_htrees);
|
|
17565
|
+
for (i2 = 0; i2 < 3; ++i2) {
|
|
17566
|
+
hgroup[i2].decode(br);
|
|
17567
|
+
}
|
|
17568
|
+
context_map_slice = 0;
|
|
17569
|
+
dist_context_map_slice = 0;
|
|
17570
|
+
context_mode = context_modes[block_type[0]];
|
|
17571
|
+
context_lookup_offset1 = Context.lookupOffsets[context_mode];
|
|
17572
|
+
context_lookup_offset2 = Context.lookupOffsets[context_mode + 1];
|
|
17573
|
+
htree_command = hgroup[1].htrees[0];
|
|
17574
|
+
while (meta_block_remaining_len > 0) {
|
|
17575
|
+
var cmd_code;
|
|
17576
|
+
var range_idx;
|
|
17577
|
+
var insert_code;
|
|
17578
|
+
var copy_code;
|
|
17579
|
+
var insert_length;
|
|
17580
|
+
var copy_length;
|
|
17581
|
+
var distance_code;
|
|
17582
|
+
var distance;
|
|
17583
|
+
var context2;
|
|
17584
|
+
var j;
|
|
17585
|
+
var copy_dst;
|
|
17586
|
+
br.readMoreInput();
|
|
17587
|
+
if (block_length[1] === 0) {
|
|
17588
|
+
DecodeBlockType(
|
|
17589
|
+
num_block_types[1],
|
|
17590
|
+
block_type_trees,
|
|
17591
|
+
1,
|
|
17592
|
+
block_type,
|
|
17593
|
+
block_type_rb,
|
|
17594
|
+
block_type_rb_index,
|
|
17595
|
+
br
|
|
17596
|
+
);
|
|
17597
|
+
block_length[1] = ReadBlockLength(block_len_trees, HUFFMAN_MAX_TABLE_SIZE, br);
|
|
17598
|
+
htree_command = hgroup[1].htrees[block_type[1]];
|
|
17599
|
+
}
|
|
17600
|
+
--block_length[1];
|
|
17601
|
+
cmd_code = ReadSymbol(hgroup[1].codes, htree_command, br);
|
|
17602
|
+
range_idx = cmd_code >> 6;
|
|
17603
|
+
if (range_idx >= 2) {
|
|
17604
|
+
range_idx -= 2;
|
|
17605
|
+
distance_code = -1;
|
|
17606
|
+
} else {
|
|
17607
|
+
distance_code = 0;
|
|
17608
|
+
}
|
|
17609
|
+
insert_code = Prefix.kInsertRangeLut[range_idx] + (cmd_code >> 3 & 7);
|
|
17610
|
+
copy_code = Prefix.kCopyRangeLut[range_idx] + (cmd_code & 7);
|
|
17611
|
+
insert_length = Prefix.kInsertLengthPrefixCode[insert_code].offset + br.readBits(Prefix.kInsertLengthPrefixCode[insert_code].nbits);
|
|
17612
|
+
copy_length = Prefix.kCopyLengthPrefixCode[copy_code].offset + br.readBits(Prefix.kCopyLengthPrefixCode[copy_code].nbits);
|
|
17613
|
+
prev_byte1 = ringbuffer[pos - 1 & ringbuffer_mask];
|
|
17614
|
+
prev_byte2 = ringbuffer[pos - 2 & ringbuffer_mask];
|
|
17615
|
+
for (j = 0; j < insert_length; ++j) {
|
|
17616
|
+
br.readMoreInput();
|
|
17617
|
+
if (block_length[0] === 0) {
|
|
17618
|
+
DecodeBlockType(
|
|
17619
|
+
num_block_types[0],
|
|
17620
|
+
block_type_trees,
|
|
17621
|
+
0,
|
|
17622
|
+
block_type,
|
|
17623
|
+
block_type_rb,
|
|
17624
|
+
block_type_rb_index,
|
|
17625
|
+
br
|
|
17626
|
+
);
|
|
17627
|
+
block_length[0] = ReadBlockLength(block_len_trees, 0, br);
|
|
17628
|
+
context_offset = block_type[0] << kLiteralContextBits;
|
|
17629
|
+
context_map_slice = context_offset;
|
|
17630
|
+
context_mode = context_modes[block_type[0]];
|
|
17631
|
+
context_lookup_offset1 = Context.lookupOffsets[context_mode];
|
|
17632
|
+
context_lookup_offset2 = Context.lookupOffsets[context_mode + 1];
|
|
17633
|
+
}
|
|
17634
|
+
context2 = Context.lookup[context_lookup_offset1 + prev_byte1] | Context.lookup[context_lookup_offset2 + prev_byte2];
|
|
17635
|
+
literal_htree_index = context_map[context_map_slice + context2];
|
|
17636
|
+
--block_length[0];
|
|
17637
|
+
prev_byte2 = prev_byte1;
|
|
17638
|
+
prev_byte1 = ReadSymbol(hgroup[0].codes, hgroup[0].htrees[literal_htree_index], br);
|
|
17639
|
+
ringbuffer[pos & ringbuffer_mask] = prev_byte1;
|
|
17640
|
+
if ((pos & ringbuffer_mask) === ringbuffer_mask) {
|
|
17641
|
+
output.write(ringbuffer, ringbuffer_size);
|
|
17642
|
+
}
|
|
17643
|
+
++pos;
|
|
17644
|
+
}
|
|
17645
|
+
meta_block_remaining_len -= insert_length;
|
|
17646
|
+
if (meta_block_remaining_len <= 0) break;
|
|
17647
|
+
if (distance_code < 0) {
|
|
17648
|
+
var context2;
|
|
17649
|
+
br.readMoreInput();
|
|
17650
|
+
if (block_length[2] === 0) {
|
|
17651
|
+
DecodeBlockType(
|
|
17652
|
+
num_block_types[2],
|
|
17653
|
+
block_type_trees,
|
|
17654
|
+
2,
|
|
17655
|
+
block_type,
|
|
17656
|
+
block_type_rb,
|
|
17657
|
+
block_type_rb_index,
|
|
17658
|
+
br
|
|
17659
|
+
);
|
|
17660
|
+
block_length[2] = ReadBlockLength(block_len_trees, 2 * HUFFMAN_MAX_TABLE_SIZE, br);
|
|
17661
|
+
dist_context_offset = block_type[2] << kDistanceContextBits;
|
|
17662
|
+
dist_context_map_slice = dist_context_offset;
|
|
17663
|
+
}
|
|
17664
|
+
--block_length[2];
|
|
17665
|
+
context2 = (copy_length > 4 ? 3 : copy_length - 2) & 255;
|
|
17666
|
+
dist_htree_index = dist_context_map[dist_context_map_slice + context2];
|
|
17667
|
+
distance_code = ReadSymbol(hgroup[2].codes, hgroup[2].htrees[dist_htree_index], br);
|
|
17668
|
+
if (distance_code >= num_direct_distance_codes) {
|
|
17669
|
+
var nbits;
|
|
17670
|
+
var postfix;
|
|
17671
|
+
var offset2;
|
|
17672
|
+
distance_code -= num_direct_distance_codes;
|
|
17673
|
+
postfix = distance_code & distance_postfix_mask;
|
|
17674
|
+
distance_code >>= distance_postfix_bits;
|
|
17675
|
+
nbits = (distance_code >> 1) + 1;
|
|
17676
|
+
offset2 = (2 + (distance_code & 1) << nbits) - 4;
|
|
17677
|
+
distance_code = num_direct_distance_codes + (offset2 + br.readBits(nbits) << distance_postfix_bits) + postfix;
|
|
17678
|
+
}
|
|
17679
|
+
}
|
|
17680
|
+
distance = TranslateShortCodes(distance_code, dist_rb, dist_rb_idx);
|
|
17681
|
+
if (distance < 0) {
|
|
17682
|
+
throw new Error("[BrotliDecompress] invalid distance");
|
|
17683
|
+
}
|
|
17684
|
+
if (pos < max_backward_distance && max_distance !== max_backward_distance) {
|
|
17685
|
+
max_distance = pos;
|
|
17686
|
+
} else {
|
|
17687
|
+
max_distance = max_backward_distance;
|
|
17688
|
+
}
|
|
17689
|
+
copy_dst = pos & ringbuffer_mask;
|
|
17690
|
+
if (distance > max_distance) {
|
|
17691
|
+
if (copy_length >= BrotliDictionary.minDictionaryWordLength && copy_length <= BrotliDictionary.maxDictionaryWordLength) {
|
|
17692
|
+
var offset2 = BrotliDictionary.offsetsByLength[copy_length];
|
|
17693
|
+
var word_id = distance - max_distance - 1;
|
|
17694
|
+
var shift = BrotliDictionary.sizeBitsByLength[copy_length];
|
|
17695
|
+
var mask = (1 << shift) - 1;
|
|
17696
|
+
var word_idx = word_id & mask;
|
|
17697
|
+
var transform_idx = word_id >> shift;
|
|
17698
|
+
offset2 += word_idx * copy_length;
|
|
17699
|
+
if (transform_idx < Transform.kNumTransforms) {
|
|
17700
|
+
var len2 = Transform.transformDictionaryWord(ringbuffer, copy_dst, offset2, copy_length, transform_idx);
|
|
17701
|
+
copy_dst += len2;
|
|
17702
|
+
pos += len2;
|
|
17703
|
+
meta_block_remaining_len -= len2;
|
|
17704
|
+
if (copy_dst >= ringbuffer_end) {
|
|
17705
|
+
output.write(ringbuffer, ringbuffer_size);
|
|
17706
|
+
for (var _x = 0; _x < copy_dst - ringbuffer_end; _x++)
|
|
17707
|
+
ringbuffer[_x] = ringbuffer[ringbuffer_end + _x];
|
|
17708
|
+
}
|
|
17709
|
+
} else {
|
|
17710
|
+
throw new Error("Invalid backward reference. pos: " + pos + " distance: " + distance + " len: " + copy_length + " bytes left: " + meta_block_remaining_len);
|
|
17711
|
+
}
|
|
17712
|
+
} else {
|
|
17713
|
+
throw new Error("Invalid backward reference. pos: " + pos + " distance: " + distance + " len: " + copy_length + " bytes left: " + meta_block_remaining_len);
|
|
17714
|
+
}
|
|
17715
|
+
} else {
|
|
17716
|
+
if (distance_code > 0) {
|
|
17717
|
+
dist_rb[dist_rb_idx & 3] = distance;
|
|
17718
|
+
++dist_rb_idx;
|
|
17719
|
+
}
|
|
17720
|
+
if (copy_length > meta_block_remaining_len) {
|
|
17721
|
+
throw new Error("Invalid backward reference. pos: " + pos + " distance: " + distance + " len: " + copy_length + " bytes left: " + meta_block_remaining_len);
|
|
17722
|
+
}
|
|
17723
|
+
for (j = 0; j < copy_length; ++j) {
|
|
17724
|
+
ringbuffer[pos & ringbuffer_mask] = ringbuffer[pos - distance & ringbuffer_mask];
|
|
17725
|
+
if ((pos & ringbuffer_mask) === ringbuffer_mask) {
|
|
17726
|
+
output.write(ringbuffer, ringbuffer_size);
|
|
17727
|
+
}
|
|
17728
|
+
++pos;
|
|
17729
|
+
--meta_block_remaining_len;
|
|
17730
|
+
}
|
|
17731
|
+
}
|
|
17732
|
+
prev_byte1 = ringbuffer[pos - 1 & ringbuffer_mask];
|
|
17733
|
+
prev_byte2 = ringbuffer[pos - 2 & ringbuffer_mask];
|
|
17734
|
+
}
|
|
17735
|
+
pos &= 1073741823;
|
|
17736
|
+
}
|
|
17737
|
+
output.write(ringbuffer, pos & ringbuffer_mask);
|
|
17738
|
+
}
|
|
17739
|
+
decode.BrotliDecompress = BrotliDecompress;
|
|
17740
|
+
BrotliDictionary.init();
|
|
17741
|
+
return decode;
|
|
17742
|
+
}
|
|
17743
|
+
var decompress$1 = requireDecode().BrotliDecompressBuffer;
|
|
17744
|
+
const brotliDecompressUntyped = /* @__PURE__ */ getDefaultExportFromCjs(decompress$1);
|
|
17745
|
+
const brotliDecompress = brotliDecompressUntyped;
|
|
14345
17746
|
const INFLATE = 2;
|
|
14346
17747
|
const GZIP = 3;
|
|
14347
17748
|
const GUNZIP = 4;
|
|
@@ -14364,14 +17765,14 @@ class Zlib {
|
|
|
14364
17765
|
__publicField(this, "onerror", null);
|
|
14365
17766
|
this.mode = mode;
|
|
14366
17767
|
}
|
|
14367
|
-
init(windowBits, level, memLevel, strategy, writeState, processCallback,
|
|
17768
|
+
init(windowBits, level, memLevel, strategy, writeState, processCallback, dictionary2) {
|
|
14368
17769
|
__privateSet(this, _windowBits, windowBits);
|
|
14369
17770
|
__privateSet(this, _level, level);
|
|
14370
17771
|
__privateSet(this, _memLevel, memLevel);
|
|
14371
17772
|
__privateSet(this, _strategy, strategy);
|
|
14372
17773
|
__privateSet(this, _writeState, writeState);
|
|
14373
17774
|
__privateSet(this, _callback, processCallback);
|
|
14374
|
-
__privateSet(this, _dictionary,
|
|
17775
|
+
__privateSet(this, _dictionary, dictionary2);
|
|
14375
17776
|
__privateMethod(this, _Zlib_instances, start_fn).call(this);
|
|
14376
17777
|
}
|
|
14377
17778
|
write(flush, inBuf, inOff, inLen, outBuf, outOff, outLen) {
|
|
@@ -14530,12 +17931,97 @@ function absentCodec(name, reason) {
|
|
|
14530
17931
|
}
|
|
14531
17932
|
};
|
|
14532
17933
|
}
|
|
14533
|
-
const
|
|
17934
|
+
const BROTLI_OPERATION_FINISH = 2;
|
|
17935
|
+
class BrotliDecoderHandle {
|
|
17936
|
+
constructor(mode) {
|
|
17937
|
+
__privateAdd(this, _BrotliDecoderHandle_instances);
|
|
17938
|
+
__privateAdd(this, _writeState2, null);
|
|
17939
|
+
__privateAdd(this, _callback2, null);
|
|
17940
|
+
__privateAdd(this, _input, []);
|
|
17941
|
+
__privateAdd(this, _output, null);
|
|
17942
|
+
__privateAdd(this, _outputAt, 0);
|
|
17943
|
+
__publicField(this, "onerror", null);
|
|
17944
|
+
this.mode = mode;
|
|
17945
|
+
}
|
|
17946
|
+
init(_params, writeState, processCallback) {
|
|
17947
|
+
__privateSet(this, _writeState2, writeState);
|
|
17948
|
+
__privateSet(this, _callback2, processCallback);
|
|
17949
|
+
return true;
|
|
17950
|
+
}
|
|
17951
|
+
write(flush, inBuf, inOff, inLen, outBuf, outOff, outLen) {
|
|
17952
|
+
var _a2;
|
|
17953
|
+
const tick = ((_a2 = globalThis.process) == null ? void 0 : _a2.nextTick) ?? ((fn) => {
|
|
17954
|
+
queueMicrotask(fn);
|
|
17955
|
+
});
|
|
17956
|
+
tick(() => {
|
|
17957
|
+
var _a3;
|
|
17958
|
+
__privateMethod(this, _BrotliDecoderHandle_instances, run_fn2).call(this, flush, inBuf, inOff, inLen, outBuf, outOff, outLen);
|
|
17959
|
+
(_a3 = __privateGet(this, _callback2)) == null ? void 0 : _a3.call(this);
|
|
17960
|
+
});
|
|
17961
|
+
return this;
|
|
17962
|
+
}
|
|
17963
|
+
writeSync(flush, inBuf, inOff, inLen, outBuf, outOff, outLen) {
|
|
17964
|
+
__privateMethod(this, _BrotliDecoderHandle_instances, run_fn2).call(this, flush, inBuf, inOff, inLen, outBuf, outOff, outLen);
|
|
17965
|
+
return this;
|
|
17966
|
+
}
|
|
17967
|
+
params() {
|
|
17968
|
+
}
|
|
17969
|
+
reset() {
|
|
17970
|
+
__privateSet(this, _input, []);
|
|
17971
|
+
__privateSet(this, _output, null);
|
|
17972
|
+
__privateSet(this, _outputAt, 0);
|
|
17973
|
+
}
|
|
17974
|
+
close() {
|
|
17975
|
+
this.reset();
|
|
17976
|
+
__privateSet(this, _callback2, null);
|
|
17977
|
+
}
|
|
17978
|
+
getAvailableOutput() {
|
|
17979
|
+
return __privateGet(this, _output) ? __privateGet(this, _output).byteLength - __privateGet(this, _outputAt) : 0;
|
|
17980
|
+
}
|
|
17981
|
+
}
|
|
17982
|
+
_writeState2 = new WeakMap();
|
|
17983
|
+
_callback2 = new WeakMap();
|
|
17984
|
+
_input = new WeakMap();
|
|
17985
|
+
_output = new WeakMap();
|
|
17986
|
+
_outputAt = new WeakMap();
|
|
17987
|
+
_BrotliDecoderHandle_instances = new WeakSet();
|
|
17988
|
+
run_fn2 = function(flush, inBuf, inOff, inLen, outBuf, outOff, outLen) {
|
|
17989
|
+
var _a2;
|
|
17990
|
+
if (inBuf && inLen > 0) __privateGet(this, _input).push(inBuf.slice(inOff, inOff + inLen));
|
|
17991
|
+
if (flush === BROTLI_OPERATION_FINISH && __privateGet(this, _output) === null) {
|
|
17992
|
+
const total = __privateGet(this, _input).reduce((sum, part) => sum + part.byteLength, 0);
|
|
17993
|
+
const whole = new Uint8Array(total);
|
|
17994
|
+
let at2 = 0;
|
|
17995
|
+
for (const part of __privateGet(this, _input)) {
|
|
17996
|
+
whole.set(part, at2);
|
|
17997
|
+
at2 += part.byteLength;
|
|
17998
|
+
}
|
|
17999
|
+
__privateSet(this, _input, []);
|
|
18000
|
+
try {
|
|
18001
|
+
__privateSet(this, _output, brotliDecompress(whole));
|
|
18002
|
+
} catch (error) {
|
|
18003
|
+
(_a2 = this.onerror) == null ? void 0 : _a2.call(this, `Decompression failed: ${error instanceof Error ? error.message : String(error)}`, -1, "ERR_BROTLI_DECOMPRESSION_FAILED");
|
|
18004
|
+
return;
|
|
18005
|
+
}
|
|
18006
|
+
__privateSet(this, _outputAt, 0);
|
|
18007
|
+
}
|
|
18008
|
+
let written = 0;
|
|
18009
|
+
if (__privateGet(this, _output)) {
|
|
18010
|
+
written = Math.min(outLen, __privateGet(this, _output).byteLength - __privateGet(this, _outputAt));
|
|
18011
|
+
outBuf.set(__privateGet(this, _output).subarray(__privateGet(this, _outputAt), __privateGet(this, _outputAt) + written), outOff);
|
|
18012
|
+
__privateSet(this, _outputAt, __privateGet(this, _outputAt) + written);
|
|
18013
|
+
}
|
|
18014
|
+
if (__privateGet(this, _writeState2)) {
|
|
18015
|
+
__privateGet(this, _writeState2)[0] = outLen - written;
|
|
18016
|
+
__privateGet(this, _writeState2)[1] = 0;
|
|
18017
|
+
}
|
|
18018
|
+
};
|
|
18019
|
+
const BROTLI_REASON = "Brotli is a codec of its own, not zlib; the engine decodes it (`brotli`, pure JavaScript) but has no encoder for Node's Brotli handle yet. `zlib.gzip`, `deflate` and `inflate` are Node's own here.";
|
|
14534
18020
|
const ZSTD_REASON = "Zstandard is a codec of its own and this engine has no implementation of it at all. `zlib.gzip`, `deflate` and `inflate` are Node's own here.";
|
|
14535
18021
|
const zlibBinding = {
|
|
14536
18022
|
Zlib,
|
|
14537
18023
|
BrotliEncoder: absentCodec("Brotli compression", BROTLI_REASON),
|
|
14538
|
-
BrotliDecoder:
|
|
18024
|
+
BrotliDecoder: BrotliDecoderHandle,
|
|
14539
18025
|
ZstdCompress: absentCodec("Zstandard compression", ZSTD_REASON),
|
|
14540
18026
|
ZstdDecompress: absentCodec("Zstandard decompression", ZSTD_REASON),
|
|
14541
18027
|
/** `zlib.crc32`, which is zlib's own table-driven one. */
|
|
@@ -14578,7 +18064,7 @@ function nodeLibBinding(name) {
|
|
|
14578
18064
|
});
|
|
14579
18065
|
return __table$1[name];
|
|
14580
18066
|
}
|
|
14581
|
-
function lookup
|
|
18067
|
+
function lookup(hostname2, optionsOrCallback, callback) {
|
|
14582
18068
|
const cb = typeof optionsOrCallback === "function" ? optionsOrCallback : callback;
|
|
14583
18069
|
const options = typeof optionsOrCallback === "object" ? optionsOrCallback : {};
|
|
14584
18070
|
setImmediate(() => {
|
|
@@ -14629,13 +18115,13 @@ const promises = {
|
|
|
14629
18115
|
lookup: (hostname2, options) => {
|
|
14630
18116
|
return new Promise((resolve2, reject) => {
|
|
14631
18117
|
if (options == null ? void 0 : options.all) {
|
|
14632
|
-
lookup
|
|
18118
|
+
lookup(hostname2, options, (err2, addresses) => {
|
|
14633
18119
|
if (err2) reject(err2);
|
|
14634
18120
|
else resolve2(addresses || []);
|
|
14635
18121
|
});
|
|
14636
18122
|
return;
|
|
14637
18123
|
}
|
|
14638
|
-
lookup
|
|
18124
|
+
lookup(hostname2, options || {}, (err2, address, family) => {
|
|
14639
18125
|
if (err2) reject(err2);
|
|
14640
18126
|
else resolve2({ address, family });
|
|
14641
18127
|
});
|
|
@@ -14668,7 +18154,7 @@ const ADDRCONFIG = 0;
|
|
|
14668
18154
|
const V4MAPPED = 0;
|
|
14669
18155
|
const ALL = 0;
|
|
14670
18156
|
const dnsModule = {
|
|
14671
|
-
lookup
|
|
18157
|
+
lookup,
|
|
14672
18158
|
resolve: resolve$1,
|
|
14673
18159
|
resolve4,
|
|
14674
18160
|
resolve6,
|
|
@@ -14723,7 +18209,7 @@ let Worker$2 = class Worker2 extends EventEmitter {
|
|
|
14723
18209
|
__publicField(this, "id", 0);
|
|
14724
18210
|
__publicField(this, "process", null);
|
|
14725
18211
|
}
|
|
14726
|
-
send(_message,
|
|
18212
|
+
send(_message, _callback3) {
|
|
14727
18213
|
return false;
|
|
14728
18214
|
}
|
|
14729
18215
|
kill(_signal) {
|
|
@@ -14742,8 +18228,8 @@ const workers = {};
|
|
|
14742
18228
|
function fork(_env) {
|
|
14743
18229
|
return new Worker$2();
|
|
14744
18230
|
}
|
|
14745
|
-
function disconnect(
|
|
14746
|
-
if (
|
|
18231
|
+
function disconnect(_callback3) {
|
|
18232
|
+
if (_callback3) setTimeout(_callback3, 0);
|
|
14747
18233
|
}
|
|
14748
18234
|
const settings = {};
|
|
14749
18235
|
const SCHED_NONE = 1;
|
|
@@ -14804,15 +18290,15 @@ const clusterShim = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineP
|
|
|
14804
18290
|
workers
|
|
14805
18291
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
14806
18292
|
class Socket extends EventEmitter {
|
|
14807
|
-
bind(_port, _address,
|
|
14808
|
-
if (
|
|
18293
|
+
bind(_port, _address, _callback3) {
|
|
18294
|
+
if (_callback3) setTimeout(_callback3, 0);
|
|
14809
18295
|
return this;
|
|
14810
18296
|
}
|
|
14811
|
-
close(
|
|
14812
|
-
if (
|
|
18297
|
+
close(_callback3) {
|
|
18298
|
+
if (_callback3) setTimeout(_callback3, 0);
|
|
14813
18299
|
}
|
|
14814
|
-
send(_msg, _offset, _length, _port, _address,
|
|
14815
|
-
if (
|
|
18300
|
+
send(_msg, _offset, _length, _port, _address, _callback3) {
|
|
18301
|
+
if (_callback3) setTimeout(() => _callback3(null, 0), 0);
|
|
14816
18302
|
}
|
|
14817
18303
|
address() {
|
|
14818
18304
|
return { address: "0.0.0.0", family: "IPv4", port: 0 };
|
|
@@ -14851,7 +18337,7 @@ class Socket extends EventEmitter {
|
|
|
14851
18337
|
return 0;
|
|
14852
18338
|
}
|
|
14853
18339
|
}
|
|
14854
|
-
function createSocket(_type2,
|
|
18340
|
+
function createSocket(_type2, _callback3) {
|
|
14855
18341
|
return new Socket();
|
|
14856
18342
|
}
|
|
14857
18343
|
const dgram = {
|
|
@@ -15271,6 +18757,7 @@ function createStringDecoderModule(Bytes) {
|
|
|
15271
18757
|
return r;
|
|
15272
18758
|
}
|
|
15273
18759
|
function simpleWrite(buf) {
|
|
18760
|
+
if (typeof buf === "string") return buf;
|
|
15274
18761
|
return decoderInput(this, buf).toString(this.encoding);
|
|
15275
18762
|
}
|
|
15276
18763
|
function simpleEnd(buf) {
|
|
@@ -15308,6 +18795,7 @@ function createStringDecoderModule(Bytes) {
|
|
|
15308
18795
|
const decoderPrototype = StringDecoderImpl.prototype;
|
|
15309
18796
|
decoderPrototype.write = function write(buffer2) {
|
|
15310
18797
|
const self = assertDecoder(this);
|
|
18798
|
+
if (typeof buffer2 === "string") return buffer2;
|
|
15311
18799
|
const buf = decoderInput(self, buffer2);
|
|
15312
18800
|
if (buf.length === 0) return "";
|
|
15313
18801
|
let r;
|
|
@@ -15692,7 +19180,7 @@ function createTlsModule(require2) {
|
|
|
15692
19180
|
}
|
|
15693
19181
|
setServername(_name) {
|
|
15694
19182
|
}
|
|
15695
|
-
renegotiate(_options2,
|
|
19183
|
+
renegotiate(_options2, _callback3) {
|
|
15696
19184
|
return false;
|
|
15697
19185
|
}
|
|
15698
19186
|
}
|
|
@@ -15703,7 +19191,7 @@ function createTlsModule(require2) {
|
|
|
15703
19191
|
listen(..._args) {
|
|
15704
19192
|
return this;
|
|
15705
19193
|
}
|
|
15706
|
-
close(
|
|
19194
|
+
close(_callback3) {
|
|
15707
19195
|
return this;
|
|
15708
19196
|
}
|
|
15709
19197
|
address() {
|
|
@@ -15720,9 +19208,9 @@ function createTlsModule(require2) {
|
|
|
15720
19208
|
function createServer2(_options2, _connectionListener) {
|
|
15721
19209
|
return new Server2(_options2, _connectionListener);
|
|
15722
19210
|
}
|
|
15723
|
-
function connect2(_options2,
|
|
19211
|
+
function connect2(_options2, _callback3) {
|
|
15724
19212
|
const socket = new TLSSocket2();
|
|
15725
|
-
if (
|
|
19213
|
+
if (_callback3) socket.once("secureConnect", _callback3);
|
|
15726
19214
|
return socket.connect();
|
|
15727
19215
|
}
|
|
15728
19216
|
const createSecureContext2 = (_options2) => ({});
|
|
@@ -15731,6 +19219,12 @@ function createTlsModule(require2) {
|
|
|
15731
19219
|
const DEFAULT_MAX_VERSION2 = "TLSv1.3";
|
|
15732
19220
|
const DEFAULT_MIN_VERSION2 = "TLSv1.2";
|
|
15733
19221
|
const rootCertificates2 = [];
|
|
19222
|
+
const getCACertificates2 = (type2 = "default") => {
|
|
19223
|
+
if (!["default", "system", "bundled", "extra"].includes(type2)) {
|
|
19224
|
+
throw Object.assign(new TypeError(`The argument 'type' must be one of: 'default', 'system', 'bundled', 'extra'. Received '${String(type2)}'`), { code: "ERR_INVALID_ARG_VALUE" });
|
|
19225
|
+
}
|
|
19226
|
+
return [];
|
|
19227
|
+
};
|
|
15734
19228
|
return {
|
|
15735
19229
|
TLSSocket: TLSSocket2,
|
|
15736
19230
|
Server: Server2,
|
|
@@ -15738,6 +19232,7 @@ function createTlsModule(require2) {
|
|
|
15738
19232
|
connect: connect2,
|
|
15739
19233
|
createSecureContext: createSecureContext2,
|
|
15740
19234
|
getCiphers: getCiphers2,
|
|
19235
|
+
getCACertificates: getCACertificates2,
|
|
15741
19236
|
DEFAULT_ECDH_CURVE: DEFAULT_ECDH_CURVE2,
|
|
15742
19237
|
DEFAULT_MAX_VERSION: DEFAULT_MAX_VERSION2,
|
|
15743
19238
|
DEFAULT_MIN_VERSION: DEFAULT_MIN_VERSION2,
|
|
@@ -15752,6 +19247,7 @@ const {
|
|
|
15752
19247
|
connect: connect$1,
|
|
15753
19248
|
createSecureContext,
|
|
15754
19249
|
getCiphers: getCiphers$1,
|
|
19250
|
+
getCACertificates,
|
|
15755
19251
|
DEFAULT_ECDH_CURVE,
|
|
15756
19252
|
DEFAULT_MAX_VERSION,
|
|
15757
19253
|
DEFAULT_MIN_VERSION,
|
|
@@ -15769,6 +19265,7 @@ const tlsShim = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
15769
19265
|
createServer: createServer$1,
|
|
15770
19266
|
createTlsModule,
|
|
15771
19267
|
default: tls,
|
|
19268
|
+
getCACertificates,
|
|
15772
19269
|
getCiphers: getCiphers$1,
|
|
15773
19270
|
rootCertificates
|
|
15774
19271
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
@@ -15803,99 +19300,6 @@ if (typeof Object.create === "function") {
|
|
|
15803
19300
|
var inherits_browserExports = inherits_browser.exports;
|
|
15804
19301
|
var safeBuffer = { exports: {} };
|
|
15805
19302
|
var buffer = {};
|
|
15806
|
-
var base64Js = {};
|
|
15807
|
-
base64Js.byteLength = byteLength;
|
|
15808
|
-
base64Js.toByteArray = toByteArray;
|
|
15809
|
-
base64Js.fromByteArray = fromByteArray;
|
|
15810
|
-
var lookup = [];
|
|
15811
|
-
var revLookup = [];
|
|
15812
|
-
var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;
|
|
15813
|
-
var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
15814
|
-
for (var i$1 = 0, len = code.length; i$1 < len; ++i$1) {
|
|
15815
|
-
lookup[i$1] = code[i$1];
|
|
15816
|
-
revLookup[code.charCodeAt(i$1)] = i$1;
|
|
15817
|
-
}
|
|
15818
|
-
revLookup["-".charCodeAt(0)] = 62;
|
|
15819
|
-
revLookup["_".charCodeAt(0)] = 63;
|
|
15820
|
-
function getLens(b64) {
|
|
15821
|
-
var len2 = b64.length;
|
|
15822
|
-
if (len2 % 4 > 0) {
|
|
15823
|
-
throw new Error("Invalid string. Length must be a multiple of 4");
|
|
15824
|
-
}
|
|
15825
|
-
var validLen = b64.indexOf("=");
|
|
15826
|
-
if (validLen === -1) validLen = len2;
|
|
15827
|
-
var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4;
|
|
15828
|
-
return [validLen, placeHoldersLen];
|
|
15829
|
-
}
|
|
15830
|
-
function byteLength(b64) {
|
|
15831
|
-
var lens = getLens(b64);
|
|
15832
|
-
var validLen = lens[0];
|
|
15833
|
-
var placeHoldersLen = lens[1];
|
|
15834
|
-
return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
|
|
15835
|
-
}
|
|
15836
|
-
function _byteLength(b64, validLen, placeHoldersLen) {
|
|
15837
|
-
return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
|
|
15838
|
-
}
|
|
15839
|
-
function toByteArray(b64) {
|
|
15840
|
-
var tmp;
|
|
15841
|
-
var lens = getLens(b64);
|
|
15842
|
-
var validLen = lens[0];
|
|
15843
|
-
var placeHoldersLen = lens[1];
|
|
15844
|
-
var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));
|
|
15845
|
-
var curByte = 0;
|
|
15846
|
-
var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen;
|
|
15847
|
-
var i2;
|
|
15848
|
-
for (i2 = 0; i2 < len2; i2 += 4) {
|
|
15849
|
-
tmp = revLookup[b64.charCodeAt(i2)] << 18 | revLookup[b64.charCodeAt(i2 + 1)] << 12 | revLookup[b64.charCodeAt(i2 + 2)] << 6 | revLookup[b64.charCodeAt(i2 + 3)];
|
|
15850
|
-
arr[curByte++] = tmp >> 16 & 255;
|
|
15851
|
-
arr[curByte++] = tmp >> 8 & 255;
|
|
15852
|
-
arr[curByte++] = tmp & 255;
|
|
15853
|
-
}
|
|
15854
|
-
if (placeHoldersLen === 2) {
|
|
15855
|
-
tmp = revLookup[b64.charCodeAt(i2)] << 2 | revLookup[b64.charCodeAt(i2 + 1)] >> 4;
|
|
15856
|
-
arr[curByte++] = tmp & 255;
|
|
15857
|
-
}
|
|
15858
|
-
if (placeHoldersLen === 1) {
|
|
15859
|
-
tmp = revLookup[b64.charCodeAt(i2)] << 10 | revLookup[b64.charCodeAt(i2 + 1)] << 4 | revLookup[b64.charCodeAt(i2 + 2)] >> 2;
|
|
15860
|
-
arr[curByte++] = tmp >> 8 & 255;
|
|
15861
|
-
arr[curByte++] = tmp & 255;
|
|
15862
|
-
}
|
|
15863
|
-
return arr;
|
|
15864
|
-
}
|
|
15865
|
-
function tripletToBase64(num) {
|
|
15866
|
-
return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];
|
|
15867
|
-
}
|
|
15868
|
-
function encodeChunk(uint8, start, end) {
|
|
15869
|
-
var tmp;
|
|
15870
|
-
var output = [];
|
|
15871
|
-
for (var i2 = start; i2 < end; i2 += 3) {
|
|
15872
|
-
tmp = (uint8[i2] << 16 & 16711680) + (uint8[i2 + 1] << 8 & 65280) + (uint8[i2 + 2] & 255);
|
|
15873
|
-
output.push(tripletToBase64(tmp));
|
|
15874
|
-
}
|
|
15875
|
-
return output.join("");
|
|
15876
|
-
}
|
|
15877
|
-
function fromByteArray(uint8) {
|
|
15878
|
-
var tmp;
|
|
15879
|
-
var len2 = uint8.length;
|
|
15880
|
-
var extraBytes = len2 % 3;
|
|
15881
|
-
var parts = [];
|
|
15882
|
-
var maxChunkLength = 16383;
|
|
15883
|
-
for (var i2 = 0, len22 = len2 - extraBytes; i2 < len22; i2 += maxChunkLength) {
|
|
15884
|
-
parts.push(encodeChunk(uint8, i2, i2 + maxChunkLength > len22 ? len22 : i2 + maxChunkLength));
|
|
15885
|
-
}
|
|
15886
|
-
if (extraBytes === 1) {
|
|
15887
|
-
tmp = uint8[len2 - 1];
|
|
15888
|
-
parts.push(
|
|
15889
|
-
lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "=="
|
|
15890
|
-
);
|
|
15891
|
-
} else if (extraBytes === 2) {
|
|
15892
|
-
tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1];
|
|
15893
|
-
parts.push(
|
|
15894
|
-
lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "="
|
|
15895
|
-
);
|
|
15896
|
-
}
|
|
15897
|
-
return parts.join("");
|
|
15898
|
-
}
|
|
15899
19303
|
var ieee754 = {};
|
|
15900
19304
|
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
15901
19305
|
ieee754.read = function(buffer2, offset2, isLE, mLen, nBytes) {
|
|
@@ -17837,10 +21241,17 @@ var implementation$1 = function bind2(that) {
|
|
|
17837
21241
|
var implementation = implementation$1;
|
|
17838
21242
|
var functionBind = Function.prototype.bind || implementation;
|
|
17839
21243
|
var functionCall = Function.prototype.call;
|
|
17840
|
-
var functionApply
|
|
21244
|
+
var functionApply;
|
|
21245
|
+
var hasRequiredFunctionApply;
|
|
21246
|
+
function requireFunctionApply() {
|
|
21247
|
+
if (hasRequiredFunctionApply) return functionApply;
|
|
21248
|
+
hasRequiredFunctionApply = 1;
|
|
21249
|
+
functionApply = Function.prototype.apply;
|
|
21250
|
+
return functionApply;
|
|
21251
|
+
}
|
|
17841
21252
|
var reflectApply = typeof Reflect !== "undefined" && Reflect && Reflect.apply;
|
|
17842
21253
|
var bind$2 = functionBind;
|
|
17843
|
-
var $apply$1 =
|
|
21254
|
+
var $apply$1 = requireFunctionApply();
|
|
17844
21255
|
var $call$2 = functionCall;
|
|
17845
21256
|
var $reflectApply = reflectApply;
|
|
17846
21257
|
var actualApply = $reflectApply || bind$2.call($call$2, $apply$1);
|
|
@@ -17960,7 +21371,7 @@ var hasSymbols = requireHasSymbols()();
|
|
|
17960
21371
|
var getProto = requireGetProto();
|
|
17961
21372
|
var $ObjectGPO = requireObject_getPrototypeOf();
|
|
17962
21373
|
var $ReflectGPO = requireReflect_getPrototypeOf();
|
|
17963
|
-
var $apply =
|
|
21374
|
+
var $apply = requireFunctionApply();
|
|
17964
21375
|
var $call = functionCall;
|
|
17965
21376
|
var needsEval = {};
|
|
17966
21377
|
var TypedArray = typeof Uint8Array === "undefined" || !getProto ? undefined$1 : getProto(Uint8Array);
|
|
@@ -18601,7 +22012,7 @@ function requireApplyBind() {
|
|
|
18601
22012
|
if (hasRequiredApplyBind) return applyBind;
|
|
18602
22013
|
hasRequiredApplyBind = 1;
|
|
18603
22014
|
var bind3 = functionBind;
|
|
18604
|
-
var $apply2 =
|
|
22015
|
+
var $apply2 = requireFunctionApply();
|
|
18605
22016
|
var actualApply$1 = actualApply;
|
|
18606
22017
|
applyBind = function applyBind2() {
|
|
18607
22018
|
return actualApply$1(bind3, $apply2, arguments);
|
|
@@ -26344,6 +29755,13 @@ function receiveMessageOnPort(port) {
|
|
|
26344
29755
|
const SHARE_ENV = Symbol.for("nodejs.worker_threads.SHARE_ENV");
|
|
26345
29756
|
function markAsUntransferable(object) {
|
|
26346
29757
|
}
|
|
29758
|
+
const uncloneable = /* @__PURE__ */ new WeakSet();
|
|
29759
|
+
function markAsUncloneable(object) {
|
|
29760
|
+
if (object !== null && (typeof object === "object" || typeof object === "function")) uncloneable.add(object);
|
|
29761
|
+
}
|
|
29762
|
+
function isMarkedAsUncloneable(object) {
|
|
29763
|
+
return object !== null && (typeof object === "object" || typeof object === "function") && uncloneable.has(object);
|
|
29764
|
+
}
|
|
26347
29765
|
function getEnvironmentData(key) {
|
|
26348
29766
|
return void 0;
|
|
26349
29767
|
}
|
|
@@ -26362,6 +29780,8 @@ const worker_threads = {
|
|
|
26362
29780
|
receiveMessageOnPort,
|
|
26363
29781
|
SHARE_ENV,
|
|
26364
29782
|
markAsUntransferable,
|
|
29783
|
+
markAsUncloneable,
|
|
29784
|
+
isMarkedAsUncloneable,
|
|
26365
29785
|
getEnvironmentData,
|
|
26366
29786
|
setEnvironmentData
|
|
26367
29787
|
};
|
|
@@ -26375,6 +29795,8 @@ const workerThreadsShim = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.d
|
|
|
26375
29795
|
default: worker_threads,
|
|
26376
29796
|
getEnvironmentData,
|
|
26377
29797
|
isMainThread,
|
|
29798
|
+
isMarkedAsUncloneable,
|
|
29799
|
+
markAsUncloneable,
|
|
26378
29800
|
markAsUntransferable,
|
|
26379
29801
|
moveMessagePortToContext,
|
|
26380
29802
|
parentPort,
|
|
@@ -26384,8 +29806,8 @@ const workerThreadsShim = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.d
|
|
|
26384
29806
|
workerData
|
|
26385
29807
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
26386
29808
|
class Http2Session extends EventEmitter {
|
|
26387
|
-
close(
|
|
26388
|
-
if (
|
|
29809
|
+
close(_callback3) {
|
|
29810
|
+
if (_callback3) setTimeout(_callback3, 0);
|
|
26389
29811
|
}
|
|
26390
29812
|
destroy(_error, _code) {
|
|
26391
29813
|
}
|
|
@@ -26398,14 +29820,14 @@ class Http2Session extends EventEmitter {
|
|
|
26398
29820
|
get closed() {
|
|
26399
29821
|
return false;
|
|
26400
29822
|
}
|
|
26401
|
-
ping(
|
|
29823
|
+
ping(_callback3) {
|
|
26402
29824
|
return false;
|
|
26403
29825
|
}
|
|
26404
29826
|
ref() {
|
|
26405
29827
|
}
|
|
26406
29828
|
unref() {
|
|
26407
29829
|
}
|
|
26408
|
-
setTimeout(_msecs,
|
|
29830
|
+
setTimeout(_msecs, _callback3) {
|
|
26409
29831
|
}
|
|
26410
29832
|
}
|
|
26411
29833
|
class ClientHttp2Session extends Http2Session {
|
|
@@ -26413,7 +29835,7 @@ class ClientHttp2Session extends Http2Session {
|
|
|
26413
29835
|
class ServerHttp2Session extends Http2Session {
|
|
26414
29836
|
}
|
|
26415
29837
|
class Http2Stream extends EventEmitter {
|
|
26416
|
-
close(_code,
|
|
29838
|
+
close(_code, _callback3) {
|
|
26417
29839
|
}
|
|
26418
29840
|
get id() {
|
|
26419
29841
|
return 0;
|
|
@@ -26429,9 +29851,9 @@ class Http2Stream extends EventEmitter {
|
|
|
26429
29851
|
}
|
|
26430
29852
|
priority(_options2) {
|
|
26431
29853
|
}
|
|
26432
|
-
setTimeout(_msecs,
|
|
29854
|
+
setTimeout(_msecs, _callback3) {
|
|
26433
29855
|
}
|
|
26434
|
-
end(_data, _encoding,
|
|
29856
|
+
end(_data, _encoding, _callback3) {
|
|
26435
29857
|
}
|
|
26436
29858
|
}
|
|
26437
29859
|
class Http2ServerRequest extends EventEmitter {
|
|
@@ -26514,8 +29936,8 @@ class Session extends EventEmitter {
|
|
|
26514
29936
|
}
|
|
26515
29937
|
disconnect() {
|
|
26516
29938
|
}
|
|
26517
|
-
post(_method, _params,
|
|
26518
|
-
if (
|
|
29939
|
+
post(_method, _params, _callback3) {
|
|
29940
|
+
if (_callback3) setTimeout(() => _callback3(null, {}), 0);
|
|
26519
29941
|
}
|
|
26520
29942
|
}
|
|
26521
29943
|
function open(_port, _host, _wait) {
|
|
@@ -26563,6 +29985,15 @@ const performance$1 = globalThis.performance || {
|
|
|
26563
29985
|
clearResourceTimings: () => {
|
|
26564
29986
|
}
|
|
26565
29987
|
};
|
|
29988
|
+
forGuestRealm(() => {
|
|
29989
|
+
const own = globalThis.performance;
|
|
29990
|
+
if (own && typeof own.markResourceTiming !== "function") {
|
|
29991
|
+
try {
|
|
29992
|
+
Object.defineProperty(own, "markResourceTiming", { value: () => void 0, writable: true, configurable: true, enumerable: false });
|
|
29993
|
+
} catch {
|
|
29994
|
+
}
|
|
29995
|
+
}
|
|
29996
|
+
});
|
|
26566
29997
|
class PerformanceObserver {
|
|
26567
29998
|
constructor(callback) {
|
|
26568
29999
|
__publicField(this, "callback");
|
|
@@ -27708,8 +31139,8 @@ function bootstrapNodeLib(name, exports$1, process2) {
|
|
|
27708
31139
|
if (name === "fs") {
|
|
27709
31140
|
const fs = exports$1;
|
|
27710
31141
|
if (typeof fs.mkdtempDisposableSync !== "function" && typeof fs.mkdtempSync === "function") {
|
|
27711
|
-
fs.mkdtempDisposableSync = (
|
|
27712
|
-
const tempPath = fs.mkdtempSync(
|
|
31142
|
+
fs.mkdtempDisposableSync = (prefix2, options) => {
|
|
31143
|
+
const tempPath = fs.mkdtempSync(prefix2, options);
|
|
27713
31144
|
const remove = () => {
|
|
27714
31145
|
var _a3;
|
|
27715
31146
|
try {
|
|
@@ -29117,11 +32548,11 @@ function nodeProcessRealmToken() {
|
|
|
29117
32548
|
}
|
|
29118
32549
|
const HostTransformStream = globalThis.TransformStream;
|
|
29119
32550
|
const HostTextEncoder = globalThis.TextEncoder;
|
|
29120
|
-
function nodeProcessInput(
|
|
32551
|
+
function nodeProcessInput(streams2) {
|
|
29121
32552
|
var _a2, _b2;
|
|
29122
|
-
if (
|
|
32553
|
+
if (streams2 == null ? void 0 : streams2.stdinStream) return { stream: streams2.stdinStream, dispose() {
|
|
29123
32554
|
} };
|
|
29124
|
-
if (!
|
|
32555
|
+
if (!streams2 || !streams2.stdinOpen && !streams2.held) return { dispose() {
|
|
29125
32556
|
} };
|
|
29126
32557
|
let inputController;
|
|
29127
32558
|
const pipe = new HostTransformStream({
|
|
@@ -29149,12 +32580,12 @@ function nodeProcessInput(streams) {
|
|
|
29149
32580
|
var _a3, _b3;
|
|
29150
32581
|
if (disposed) return;
|
|
29151
32582
|
disposed = true;
|
|
29152
|
-
(_a3 =
|
|
29153
|
-
inputController.error(((_b3 =
|
|
32583
|
+
(_a3 = streams2.signal) == null ? void 0 : _a3.removeEventListener("abort", dispose);
|
|
32584
|
+
inputController.error(((_b3 = streams2.signal) == null ? void 0 : _b3.reason) ?? new Error("Node process input stopped."));
|
|
29154
32585
|
};
|
|
29155
|
-
(_a2 =
|
|
29156
|
-
if ((_b2 =
|
|
29157
|
-
|
|
32586
|
+
(_a2 = streams2.signal) == null ? void 0 : _a2.addEventListener("abort", dispose, { once: true });
|
|
32587
|
+
if ((_b2 = streams2.signal) == null ? void 0 : _b2.aborted) dispose();
|
|
32588
|
+
streams2.stdin = {
|
|
29158
32589
|
emit() {
|
|
29159
32590
|
},
|
|
29160
32591
|
// The host's legacy sendInput is fire-and-forget. Forked pipes use the
|
|
@@ -29301,10 +32732,10 @@ function createNodeResolver(options) {
|
|
|
29301
32732
|
const extensions = options.sourceExtensions ?? options.extensions;
|
|
29302
32733
|
for (const base of real === root ? [root] : [root, real]) {
|
|
29303
32734
|
for (const directory of ["src", ""]) {
|
|
29304
|
-
const
|
|
32735
|
+
const prefix2 = directory ? `${base}/${directory}/` : `${base}/`;
|
|
29305
32736
|
for (const extension of extensions) {
|
|
29306
|
-
if (isFile(`${
|
|
29307
|
-
if (isFile(`${
|
|
32737
|
+
if (isFile(`${prefix2}${stem}${extension}`)) return `${prefix2}${stem}${extension}`;
|
|
32738
|
+
if (isFile(`${prefix2}${stem}/index${extension}`)) return `${prefix2}${stem}/index${extension}`;
|
|
29308
32739
|
}
|
|
29309
32740
|
}
|
|
29310
32741
|
}
|
|
@@ -29526,17 +32957,17 @@ Object.defineProperty = function(target, key, descriptor) {
|
|
|
29526
32957
|
const _runStreams = /* @__PURE__ */ new Map();
|
|
29527
32958
|
async function runHostedNode(host2, launch) {
|
|
29528
32959
|
var _a2;
|
|
29529
|
-
const { token, streams } = launch;
|
|
32960
|
+
const { token, streams: streams2 } = launch;
|
|
29530
32961
|
if (!runPid(token)) setRunPid(token, mintPid(), 0, { argv: ["node", ...launch.argv], cwd: launch.cwd });
|
|
29531
32962
|
let input;
|
|
29532
32963
|
try {
|
|
29533
|
-
(_a2 =
|
|
32964
|
+
(_a2 = streams2 == null ? void 0 : streams2.signal) == null ? void 0 : _a2.throwIfAborted();
|
|
29534
32965
|
const inherited = inheritedRunFds(token).map(({ fd, handle }) => {
|
|
29535
32966
|
const descriptor = nativeStreamDescriptor(handle);
|
|
29536
32967
|
if (!descriptor) throw new Error(`Node descriptor ${fd} has no native owner for process isolation.`);
|
|
29537
32968
|
return { fd, handle: descriptor };
|
|
29538
32969
|
});
|
|
29539
|
-
input = nodeProcessInput(
|
|
32970
|
+
input = nodeProcessInput(streams2);
|
|
29540
32971
|
return await host2.run({
|
|
29541
32972
|
...launch,
|
|
29542
32973
|
identity: { ...runPid(token) },
|
|
@@ -29544,7 +32975,7 @@ async function runHostedNode(host2, launch) {
|
|
|
29544
32975
|
...input.stream ? { stdinStream: input.stream } : {}
|
|
29545
32976
|
});
|
|
29546
32977
|
} finally {
|
|
29547
|
-
if (
|
|
32978
|
+
if (streams2) streams2.stdin = null;
|
|
29548
32979
|
input == null ? void 0 : input.dispose();
|
|
29549
32980
|
forgetRunPid(token);
|
|
29550
32981
|
}
|
|
@@ -29571,9 +33002,9 @@ function writePipedEndReceipt(pid, argv0, firstArg, kind, error) {
|
|
|
29571
33002
|
}
|
|
29572
33003
|
console.error(`[run ${pid}] ${who} ended ${ended}${detail.length > 0 ? `: ${detail}` : ""}`);
|
|
29573
33004
|
}
|
|
29574
|
-
function registerRunStreams(token,
|
|
33005
|
+
function registerRunStreams(token, streams2) {
|
|
29575
33006
|
_runStreams.delete(token);
|
|
29576
|
-
_runStreams.set(token,
|
|
33007
|
+
_runStreams.set(token, streams2);
|
|
29577
33008
|
}
|
|
29578
33009
|
function releaseRunStreams(token) {
|
|
29579
33010
|
_runStreams.delete(token);
|
|
@@ -29587,8 +33018,8 @@ function sendStdin(data2, token) {
|
|
|
29587
33018
|
if (typeof token === "string") {
|
|
29588
33019
|
target = (_a2 = _runStreams.get(token)) == null ? void 0 : _a2.stdin;
|
|
29589
33020
|
} else {
|
|
29590
|
-
for (const
|
|
29591
|
-
if (
|
|
33021
|
+
for (const streams2 of _runStreams.values()) {
|
|
33022
|
+
if (streams2.held && streams2.stdin) target = streams2.stdin;
|
|
29592
33023
|
}
|
|
29593
33024
|
}
|
|
29594
33025
|
if (target) {
|
|
@@ -29669,7 +33100,7 @@ function initChildProcess(vfs2) {
|
|
|
29669
33100
|
return { stdout: "", stderr: "VFS not initialized\n", exitCode: 1 };
|
|
29670
33101
|
}
|
|
29671
33102
|
const runToken = runTokenOf(ctx);
|
|
29672
|
-
const
|
|
33103
|
+
const streams2 = runToken === null ? void 0 : runStreamsFor(runToken);
|
|
29673
33104
|
const processHost = nodeProcessHostFor(runToken);
|
|
29674
33105
|
if (processHost && runToken !== null) {
|
|
29675
33106
|
return runHostedNode(processHost, {
|
|
@@ -29679,7 +33110,7 @@ function initChildProcess(vfs2) {
|
|
|
29679
33110
|
filesystem: tree2,
|
|
29680
33111
|
env: guestEnvironmentOf(ctx),
|
|
29681
33112
|
...typeof ctx.stdin === "string" ? { stdin: ctx.stdin } : {},
|
|
29682
|
-
...
|
|
33113
|
+
...streams2 ? { streams: streams2 } : {}
|
|
29683
33114
|
});
|
|
29684
33115
|
}
|
|
29685
33116
|
const execArgv = [];
|
|
@@ -29744,13 +33175,13 @@ function initChildProcess(vfs2) {
|
|
|
29744
33175
|
var _a3;
|
|
29745
33176
|
if (exitCalled) return;
|
|
29746
33177
|
stdout += data2;
|
|
29747
|
-
(_a3 =
|
|
33178
|
+
(_a3 = streams2 == null ? void 0 : streams2.onStdout) == null ? void 0 : _a3.call(streams2, data2);
|
|
29748
33179
|
};
|
|
29749
33180
|
const appendStderr = (data2) => {
|
|
29750
33181
|
var _a3;
|
|
29751
33182
|
if (exitCalled) return;
|
|
29752
33183
|
stderr += data2;
|
|
29753
|
-
(_a3 =
|
|
33184
|
+
(_a3 = streams2 == null ? void 0 : streams2.onStderr) == null ? void 0 : _a3.call(streams2, data2);
|
|
29754
33185
|
};
|
|
29755
33186
|
const guestEnv = guestEnvironmentOf(ctx);
|
|
29756
33187
|
const channelFd = Number.parseInt(guestEnv.NODE_CHANNEL_FD ?? "", 10);
|
|
@@ -29779,8 +33210,8 @@ function initChildProcess(vfs2) {
|
|
|
29779
33210
|
// (one the host streams and can still feed with `sendStdin`) leaves it
|
|
29780
33211
|
// open, as a pipe whose writer has not closed.
|
|
29781
33212
|
stdin: typeof ctx.stdin === "string" ? ctx.stdin : "",
|
|
29782
|
-
...(
|
|
29783
|
-
...(
|
|
33213
|
+
...(streams2 == null ? void 0 : streams2.held) || (streams2 == null ? void 0 : streams2.stdinOpen) ? { stdinHeld: true } : {},
|
|
33214
|
+
...(streams2 == null ? void 0 : streams2.held) || (streams2 == null ? void 0 : streams2.terminal) ? { tty: true } : {},
|
|
29784
33215
|
// The numbers this run was started with, so the guest's `process.pid`
|
|
29785
33216
|
// is the one its parent's handle carries.
|
|
29786
33217
|
...runPid(runToken) ? { pid: runPid(runToken).pid, ppid: runPid(runToken).ppid } : {}
|
|
@@ -29800,7 +33231,7 @@ function initChildProcess(vfs2) {
|
|
|
29800
33231
|
let hostReceiptWritten = false;
|
|
29801
33232
|
let lastUncaught;
|
|
29802
33233
|
const writeHostReceipt = (kind, error) => {
|
|
29803
|
-
if (hostReceiptWritten || (
|
|
33234
|
+
if (hostReceiptWritten || (streams2 == null ? void 0 : streams2.stderrIsPipe) !== true) return;
|
|
29804
33235
|
hostReceiptWritten = true;
|
|
29805
33236
|
writePipedEndReceipt(proc.pid, proc.argv0 || "node", proc.argv[1] ?? "", kind, error);
|
|
29806
33237
|
};
|
|
@@ -29824,14 +33255,14 @@ function initChildProcess(vfs2) {
|
|
|
29824
33255
|
proc.argv = evaluated !== null ? [__substrateExecPath, ...args.slice(first)] : [__substrateExecPath, resolvedPath, ...args.slice(script + 1)];
|
|
29825
33256
|
proc.argv0 = "node";
|
|
29826
33257
|
proc.execArgv = execArgv;
|
|
29827
|
-
if (
|
|
29828
|
-
if ((
|
|
33258
|
+
if (streams2) streams2.stdin = proc.stdin;
|
|
33259
|
+
if ((streams2 == null ? void 0 : streams2.held) || (streams2 == null ? void 0 : streams2.terminal)) {
|
|
29829
33260
|
proc.stdout.isTTY = true;
|
|
29830
33261
|
proc.stderr.isTTY = true;
|
|
29831
33262
|
proc.stdin.isTTY = true;
|
|
29832
33263
|
proc.stdin.setRawMode = () => proc.stdin;
|
|
29833
33264
|
}
|
|
29834
|
-
const terminal =
|
|
33265
|
+
const terminal = streams2 == null ? void 0 : streams2.terminal;
|
|
29835
33266
|
const resize = (columns, rows) => {
|
|
29836
33267
|
for (const stream of [proc.stdout, proc.stderr]) {
|
|
29837
33268
|
stream.columns = columns;
|
|
@@ -29908,8 +33339,8 @@ ${reason.stack || ""}` : String(reason);
|
|
|
29908
33339
|
};
|
|
29909
33340
|
const detachUncaught = __onUncaughtException(proc, onUncaughtException);
|
|
29910
33341
|
try {
|
|
29911
|
-
if (
|
|
29912
|
-
inputIterator =
|
|
33342
|
+
if (streams2 == null ? void 0 : streams2.stdinStream) {
|
|
33343
|
+
inputIterator = streams2.stdinStream[Symbol.asyncIterator]();
|
|
29913
33344
|
const input = inputIterator;
|
|
29914
33345
|
void (async () => {
|
|
29915
33346
|
var _a3, _b3, _c3, _d3, _e2;
|
|
@@ -29918,21 +33349,21 @@ ${reason.stack || ""}` : String(reason);
|
|
|
29918
33349
|
else enterRun(runToken, () => proc.stdin.push(chunk));
|
|
29919
33350
|
};
|
|
29920
33351
|
try {
|
|
29921
|
-
while (inputActive && !((_a3 =
|
|
29922
|
-
while (inputActive && !((_b3 =
|
|
33352
|
+
while (inputActive && !((_a3 = streams2.signal) == null ? void 0 : _a3.aborted)) {
|
|
33353
|
+
while (inputActive && !((_b3 = streams2.signal) == null ? void 0 : _b3.aborted) && (!inputReading() || readableInput.readableLength >= readableInput.readableHighWaterMark)) {
|
|
29923
33354
|
await new Promise((resolve2) => (globalThis.__browserRuntimeNativeSetTimeout ?? setTimeout).call(globalThis, resolve2, 10));
|
|
29924
33355
|
}
|
|
29925
|
-
if (!inputActive || ((_c3 =
|
|
33356
|
+
if (!inputActive || ((_c3 = streams2.signal) == null ? void 0 : _c3.aborted)) break;
|
|
29926
33357
|
const next = await input.next();
|
|
29927
33358
|
if (next.done) break;
|
|
29928
|
-
if (!inputActive || ((_d3 =
|
|
33359
|
+
if (!inputActive || ((_d3 = streams2.signal) == null ? void 0 : _d3.aborted)) break;
|
|
29929
33360
|
push(next.value);
|
|
29930
33361
|
}
|
|
29931
|
-
if (inputActive && !((_e2 =
|
|
33362
|
+
if (inputActive && !((_e2 = streams2.signal) == null ? void 0 : _e2.aborted)) push(null);
|
|
29932
33363
|
} catch (error) {
|
|
29933
33364
|
if (inputActive) onUncaughtException(error);
|
|
29934
33365
|
} finally {
|
|
29935
|
-
|
|
33366
|
+
streams2.stdinOpen = false;
|
|
29936
33367
|
}
|
|
29937
33368
|
})();
|
|
29938
33369
|
}
|
|
@@ -29981,11 +33412,11 @@ ${error.stack || ""}` : String(error);
|
|
|
29981
33412
|
}
|
|
29982
33413
|
}
|
|
29983
33414
|
const __ownsHandles = () => runToken !== null && (__ownedServerPorts(runToken).length > 0 || __ownedHandleCount(runToken) > 0);
|
|
29984
|
-
const __printedThenWorking = () => (
|
|
33415
|
+
const __printedThenWorking = () => (streams2 == null ? void 0 : streams2.stdinOpen) === true && inputReading() || pendingGuestTimers(proc) > 0 || heldWork().count > 0 || __ownsHandles();
|
|
29985
33416
|
if ((stdout.length > 0 || stderr.length > 0) && !__printedThenWorking()) {
|
|
29986
33417
|
await settlePrintedEntry();
|
|
29987
33418
|
if (exitCalled) return { stdout, stderr, exitCode };
|
|
29988
|
-
if ((
|
|
33419
|
+
if ((streams2 == null ? void 0 : streams2.held) || !__printedThenWorking() && pendingGuestTimers(proc) === 0) {
|
|
29989
33420
|
return { stdout, stderr, exitCode: typeof proc !== "undefined" && typeof proc.exitCode === "number" ? proc.exitCode : 0 };
|
|
29990
33421
|
}
|
|
29991
33422
|
}
|
|
@@ -30004,16 +33435,16 @@ ${error.stack || ""}` : String(error);
|
|
|
30004
33435
|
const startTime = Date.now();
|
|
30005
33436
|
let lastOutputLen = stdout.length + stderr.length;
|
|
30006
33437
|
let idleMs = 0;
|
|
30007
|
-
const stillWorking = () => (
|
|
30008
|
-
const isLongRunning = !!(
|
|
33438
|
+
const stillWorking = () => (streams2 == null ? void 0 : streams2.stdinOpen) === true && inputReading() || pendingGuestTimers(proc) > 0 || __ownsHandles();
|
|
33439
|
+
const isLongRunning = !!(streams2 == null ? void 0 : streams2.held);
|
|
30009
33440
|
while (!exitCalled) {
|
|
30010
|
-
if ((_b2 =
|
|
33441
|
+
if ((_b2 = streams2 == null ? void 0 : streams2.signal) == null ? void 0 : _b2.aborted) break;
|
|
30011
33442
|
const raceResult = await Promise.race([
|
|
30012
33443
|
exitPromise.then(() => "exit"),
|
|
30013
33444
|
new Promise((r) => (globalThis.__browserRuntimeNativeSetTimeout ?? setTimeout).call(globalThis, () => r("tick"), CHECK_MS))
|
|
30014
33445
|
]);
|
|
30015
33446
|
if (raceResult === "exit" || exitCalled) break;
|
|
30016
|
-
if ((_c2 =
|
|
33447
|
+
if ((_c2 = streams2 == null ? void 0 : streams2.signal) == null ? void 0 : _c2.aborted) break;
|
|
30017
33448
|
const currentLen = stdout.length + stderr.length;
|
|
30018
33449
|
if (currentLen > lastOutputLen) {
|
|
30019
33450
|
lastOutputLen = currentLen;
|
|
@@ -30028,11 +33459,11 @@ ${error.stack || ""}` : String(error);
|
|
|
30028
33459
|
if (lastOutputLen > 0 && !stillWorking() && idleMs >= effectiveIdle) break;
|
|
30029
33460
|
if (lastOutputLen === 0 && !stillWorking() && idleMs >= silentIdle) break;
|
|
30030
33461
|
}
|
|
30031
|
-
if (!isLongRunning && !stillWorking() && Date.now() - startTime >= MAX_TOTAL_MS) break;
|
|
33462
|
+
if (!isLongRunning && !stillWorking() && heldWork().count === 0 && Date.now() - startTime >= MAX_TOTAL_MS) break;
|
|
30032
33463
|
}
|
|
30033
33464
|
return { stdout, stderr, exitCode: exitCalled ? exitCode : typeof proc !== "undefined" && typeof proc.exitCode === "number" ? proc.exitCode : 0 };
|
|
30034
33465
|
} finally {
|
|
30035
|
-
if (
|
|
33466
|
+
if (streams2) streams2.stdin = null;
|
|
30036
33467
|
_onForkedChildExit = prevChildExitHandler;
|
|
30037
33468
|
}
|
|
30038
33469
|
} finally {
|
|
@@ -30605,6 +34036,7 @@ function startChildRun(request) {
|
|
|
30605
34036
|
const admittedNode = nodeProcessHostInstalled() && engineProgramFor(request.file, request.cwd) === "node";
|
|
30606
34037
|
const hostTerminal = request.terminal !== void 0 && hostExecutor() !== null && !admittedNode;
|
|
30607
34038
|
let wakeInput;
|
|
34039
|
+
let liveInput = false;
|
|
30608
34040
|
const hostInput = {
|
|
30609
34041
|
async *[Symbol.asyncIterator]() {
|
|
30610
34042
|
while (!finished && !controller.signal.aborted) {
|
|
@@ -30649,7 +34081,7 @@ function startChildRun(request) {
|
|
|
30649
34081
|
};
|
|
30650
34082
|
let streamedOut = 0;
|
|
30651
34083
|
let streamedErr = 0;
|
|
30652
|
-
const
|
|
34084
|
+
const streams2 = {
|
|
30653
34085
|
onStdout: (data2) => {
|
|
30654
34086
|
var _a3;
|
|
30655
34087
|
streamedOut += data2.length;
|
|
@@ -30681,7 +34113,7 @@ function startChildRun(request) {
|
|
|
30681
34113
|
}
|
|
30682
34114
|
}
|
|
30683
34115
|
};
|
|
30684
|
-
registerRunStreams(token,
|
|
34116
|
+
registerRunStreams(token, streams2);
|
|
30685
34117
|
if (request.channel) registerRunFd(token, request.channel.fd, "PIPE", request.channel.pipe);
|
|
30686
34118
|
for (const { fd, pipe } of request.descriptors) registerRunFd(token, fd, "PIPE", pipe);
|
|
30687
34119
|
const end = (code2, signal) => {
|
|
@@ -30700,6 +34132,12 @@ function startChildRun(request) {
|
|
|
30700
34132
|
const begin = () => {
|
|
30701
34133
|
if (started2 || finished) return;
|
|
30702
34134
|
started2 = true;
|
|
34135
|
+
const engineFirst = !hostTerminal && programExists(request.file, request.cwd, request.env);
|
|
34136
|
+
liveInput = !hostTerminal && !admittedNode && request.stdinIsPipe && !engineFirst;
|
|
34137
|
+
if (liveInput) {
|
|
34138
|
+
pendingStdin.unshift(...initialStdin);
|
|
34139
|
+
initialStdin.length = 0;
|
|
34140
|
+
}
|
|
30703
34141
|
const stdin = initialStdin.length > 0 ? Buffer$9.concat(initialStdin).toString("utf8") : void 0;
|
|
30704
34142
|
void (async () => {
|
|
30705
34143
|
var _a3, _b2;
|
|
@@ -30715,18 +34153,18 @@ function startChildRun(request) {
|
|
|
30715
34153
|
cwd: request.cwd ?? "/",
|
|
30716
34154
|
filesystem: currentVfs$1,
|
|
30717
34155
|
env,
|
|
30718
|
-
streams,
|
|
34156
|
+
streams: streams2,
|
|
30719
34157
|
...stdin !== void 0 ? { stdin } : {}
|
|
30720
34158
|
}) : await enterRun(token, () => routeCommand({
|
|
30721
34159
|
command: __substrateLineFor(request.file, request.args, request.cwd),
|
|
30722
|
-
engineFirst
|
|
34160
|
+
engineFirst,
|
|
30723
34161
|
cwd: request.cwd,
|
|
30724
34162
|
env: { ...request.env, [PROCESS_TOKEN_ENV]: token },
|
|
30725
34163
|
stdin,
|
|
30726
|
-
...hostTerminal ? { stdinStream: hostInput, terminal: request.terminal } : {},
|
|
34164
|
+
...hostTerminal ? { stdinStream: hostInput, terminal: request.terminal } : liveInput ? { stdinStream: hostInput } : {},
|
|
30727
34165
|
signal: controller.signal,
|
|
30728
|
-
onStdout:
|
|
30729
|
-
onStderr:
|
|
34166
|
+
onStdout: streams2.onStdout,
|
|
34167
|
+
onStderr: streams2.onStderr,
|
|
30730
34168
|
descriptors: request.descriptors
|
|
30731
34169
|
}));
|
|
30732
34170
|
} catch (error) {
|
|
@@ -30756,7 +34194,7 @@ function startChildRun(request) {
|
|
|
30756
34194
|
return 0;
|
|
30757
34195
|
},
|
|
30758
34196
|
writeStdin(bytes2) {
|
|
30759
|
-
if (hostTerminal) {
|
|
34197
|
+
if (hostTerminal || liveInput) {
|
|
30760
34198
|
pendingStdin.push(bytes2);
|
|
30761
34199
|
wakeInput == null ? void 0 : wakeInput();
|
|
30762
34200
|
wakeInput = void 0;
|
|
@@ -30770,15 +34208,20 @@ function startChildRun(request) {
|
|
|
30770
34208
|
return flushStdin();
|
|
30771
34209
|
},
|
|
30772
34210
|
endStdin() {
|
|
30773
|
-
if (hostTerminal) {
|
|
34211
|
+
if (hostTerminal || liveInput) {
|
|
30774
34212
|
pendingStdin.push(null);
|
|
30775
34213
|
wakeInput == null ? void 0 : wakeInput();
|
|
30776
34214
|
wakeInput = void 0;
|
|
30777
34215
|
return;
|
|
30778
34216
|
}
|
|
30779
34217
|
if (!started2) {
|
|
30780
|
-
|
|
34218
|
+
streams2.stdinOpen = false;
|
|
30781
34219
|
begin();
|
|
34220
|
+
if (liveInput) {
|
|
34221
|
+
pendingStdin.push(null);
|
|
34222
|
+
wakeInput == null ? void 0 : wakeInput();
|
|
34223
|
+
wakeInput = void 0;
|
|
34224
|
+
}
|
|
30782
34225
|
return;
|
|
30783
34226
|
}
|
|
30784
34227
|
pendingStdin.push(null);
|
|
@@ -30890,7 +34333,7 @@ class RunModuleHooks {
|
|
|
30890
34333
|
async resolve(specifier, parentURL, importAttributes, defaultResolve) {
|
|
30891
34334
|
await this.ready();
|
|
30892
34335
|
const context2 = { conditions: ESM_CONDITIONS, importAttributes, parentURL };
|
|
30893
|
-
const result = await __privateMethod(this, _RunModuleHooks_instances,
|
|
34336
|
+
const result = await __privateMethod(this, _RunModuleHooks_instances, run_fn3).call(this, __privateGet(this, _resolveChain), "resolve", context2, specifier, defaultResolve);
|
|
30894
34337
|
if (typeof result.url !== "string") {
|
|
30895
34338
|
throw invalidReturnProperty("a URL string", "resolve", "url", result.url);
|
|
30896
34339
|
}
|
|
@@ -30900,7 +34343,7 @@ class RunModuleHooks {
|
|
|
30900
34343
|
async load(url2, format2, importAttributes, defaultLoad) {
|
|
30901
34344
|
await this.ready();
|
|
30902
34345
|
const context2 = { conditions: ESM_CONDITIONS, format: format2, importAttributes };
|
|
30903
|
-
return await __privateMethod(this, _RunModuleHooks_instances,
|
|
34346
|
+
return await __privateMethod(this, _RunModuleHooks_instances, run_fn3).call(this, __privateGet(this, _loadChain), "load", context2, url2, defaultLoad);
|
|
30904
34347
|
}
|
|
30905
34348
|
}
|
|
30906
34349
|
_resolveChain = new WeakMap();
|
|
@@ -30908,7 +34351,7 @@ _loadChain = new WeakMap();
|
|
|
30908
34351
|
_initializing = new WeakMap();
|
|
30909
34352
|
_initializeFailure = new WeakMap();
|
|
30910
34353
|
_RunModuleHooks_instances = new WeakSet();
|
|
30911
|
-
|
|
34354
|
+
run_fn3 = async function(chain, name, context2, arg0, defaultStep) {
|
|
30912
34355
|
const meta = { chainFinished: false, shortCircuited: false, identifier: "" };
|
|
30913
34356
|
const nextName = name === "resolve" ? "nextResolve" : "nextLoad";
|
|
30914
34357
|
const build2 = (current3) => {
|
|
@@ -31032,13 +34475,16 @@ function setModuleURL(url2) {
|
|
|
31032
34475
|
esbuildModuleURL = url2;
|
|
31033
34476
|
}
|
|
31034
34477
|
let currentHost = null;
|
|
34478
|
+
function realmCanStartWorker() {
|
|
34479
|
+
return typeof globalThis.Worker === "function";
|
|
34480
|
+
}
|
|
31035
34481
|
let inlineEsbuild = null;
|
|
31036
34482
|
function ownEsbuild() {
|
|
31037
34483
|
inlineEsbuild ?? (inlineEsbuild = import(
|
|
31038
34484
|
/* @vite-ignore */
|
|
31039
34485
|
esbuildModuleURL
|
|
31040
34486
|
).then(async (esbuild2) => {
|
|
31041
|
-
await esbuild2.initialize({ wasmURL });
|
|
34487
|
+
await esbuild2.initialize({ wasmURL, worker: realmCanStartWorker() });
|
|
31042
34488
|
return esbuild2;
|
|
31043
34489
|
}).catch((cause) => {
|
|
31044
34490
|
inlineEsbuild = null;
|
|
@@ -31114,7 +34560,8 @@ async function initialize(options) {
|
|
|
31114
34560
|
esbuildModuleURL
|
|
31115
34561
|
);
|
|
31116
34562
|
await esbuild2.initialize({
|
|
31117
|
-
wasmURL: (options == null ? void 0 : options.wasmURL) || wasmURL
|
|
34563
|
+
wasmURL: (options == null ? void 0 : options.wasmURL) || wasmURL,
|
|
34564
|
+
worker: realmCanStartWorker()
|
|
31118
34565
|
});
|
|
31119
34566
|
esbuildInstance = esbuild2;
|
|
31120
34567
|
} catch (error) {
|
|
@@ -31624,12 +35071,12 @@ function createVFSPlugin(externals) {
|
|
|
31624
35071
|
for (const [pattern, value] of Object.entries(__imports)) {
|
|
31625
35072
|
const star = pattern.indexOf("*");
|
|
31626
35073
|
if (star < 0) continue;
|
|
31627
|
-
const
|
|
35074
|
+
const prefix2 = pattern.slice(0, star);
|
|
31628
35075
|
const suffix = pattern.slice(star + 1);
|
|
31629
|
-
if (!importPath.startsWith(
|
|
35076
|
+
if (!importPath.startsWith(prefix2) || !importPath.endsWith(suffix)) continue;
|
|
31630
35077
|
const found = __conditions(value);
|
|
31631
35078
|
if (found) {
|
|
31632
|
-
__target = found.replace("*", importPath.slice(
|
|
35079
|
+
__target = found.replace("*", importPath.slice(prefix2.length, importPath.length - suffix.length));
|
|
31633
35080
|
break;
|
|
31634
35081
|
}
|
|
31635
35082
|
}
|
|
@@ -33240,11 +36687,17 @@ function applySourceEdits(source, edits) {
|
|
|
33240
36687
|
let __nodeLowering = false;
|
|
33241
36688
|
const __cjsExports = () => __nodeLowering ? "$exports" : "exports";
|
|
33242
36689
|
const __cjsRequire = () => __nodeLowering ? "$require" : "require";
|
|
36690
|
+
const __cjsObject = () => __nodeLowering ? "__browserRuntimeObject" : "Object";
|
|
36691
|
+
const __cjsSymbol = () => __nodeLowering ? "__browserRuntimeSymbol" : "Symbol";
|
|
33243
36692
|
const __cjsDefault = (expression) => __nodeLowering ? "__browserRuntimeInteropDefault(" + expression + ")" : expression;
|
|
33244
36693
|
forGuestRealm(() => {
|
|
33245
36694
|
if (globalThis.__browserRuntimeInteropDefault) return;
|
|
33246
36695
|
takeFromHost(globalThis, "__browserRuntimeInteropDefault", (imported) => imported && imported.__esModule && "default" in imported ? imported.default : imported);
|
|
33247
36696
|
});
|
|
36697
|
+
forGuestRealm(() => {
|
|
36698
|
+
if (!globalThis.__browserRuntimeObject) takeFromHost(globalThis, "__browserRuntimeObject", Object);
|
|
36699
|
+
if (!globalThis.__browserRuntimeSymbol) takeFromHost(globalThis, "__browserRuntimeSymbol", Symbol);
|
|
36700
|
+
});
|
|
33248
36701
|
const setNodeLowering = (value) => {
|
|
33249
36702
|
__nodeLowering = value;
|
|
33250
36703
|
};
|
|
@@ -33329,8 +36782,8 @@ function __substrateLiveImportBindings(code2) {
|
|
|
33329
36782
|
}
|
|
33330
36783
|
const declarations = ast.body.filter((node) => node.type === "ImportDeclaration" && node.specifiers.length > 0);
|
|
33331
36784
|
if (declarations.length === 0) return code2;
|
|
33332
|
-
let
|
|
33333
|
-
while (code2.includes(
|
|
36785
|
+
let prefix2 = "__substrateImport";
|
|
36786
|
+
while (code2.includes(prefix2)) prefix2 += "_";
|
|
33334
36787
|
const reads = /* @__PURE__ */ new Map();
|
|
33335
36788
|
const namespaces = /* @__PURE__ */ new Map();
|
|
33336
36789
|
const edits = [];
|
|
@@ -33339,10 +36792,10 @@ function __substrateLiveImportBindings(code2) {
|
|
|
33339
36792
|
let namespace = namespaces.get(specifier);
|
|
33340
36793
|
const parts = [];
|
|
33341
36794
|
if (namespace === void 0) {
|
|
33342
|
-
namespace =
|
|
36795
|
+
namespace = prefix2 + (namespaces.size + 1);
|
|
33343
36796
|
namespaces.set(specifier, namespace);
|
|
33344
36797
|
parts.push("const " + namespace + " = " + __cjsRequire() + "(" + JSON.stringify(specifier) + ");");
|
|
33345
|
-
parts.push("/*__substrate_await__*/(" + namespace + " && " + namespace + '
|
|
36798
|
+
parts.push("/*__substrate_await__*/(" + namespace + " && " + namespace + "[" + __cjsSymbol() + '.for("substrate.pending")]);');
|
|
33346
36799
|
}
|
|
33347
36800
|
for (const imported of declaration.specifiers) {
|
|
33348
36801
|
const read = imported.type === "ImportDefaultSpecifier" ? __cjsDefault(namespace) : imported.type === "ImportNamespaceSpecifier" ? namespace : __substrateImportRead(namespace, imported.imported.type === "Identifier" ? imported.imported.name : imported.imported.value);
|
|
@@ -33393,6 +36846,7 @@ function __substrateLiveImportBindings(code2) {
|
|
|
33393
36846
|
case "ImportDefaultSpecifier":
|
|
33394
36847
|
case "ImportNamespaceSpecifier":
|
|
33395
36848
|
case "ExportSpecifier":
|
|
36849
|
+
case "ExportAllDeclaration":
|
|
33396
36850
|
case "MetaProperty":
|
|
33397
36851
|
case "BreakStatement":
|
|
33398
36852
|
case "ContinueStatement":
|
|
@@ -33534,7 +36988,7 @@ function transformEsmToCjsAst$1(code2) {
|
|
|
33534
36988
|
if (specs.length === 0) {
|
|
33535
36989
|
sideEffectImports += 1;
|
|
33536
36990
|
const namespace = `__substrateImportSide${sideEffectImports}`;
|
|
33537
|
-
replacements.push([node.start, node.end, `const ${namespace} = ${__cjsRequire()}(${JSON.stringify(source)}); /*__substrate_await__*/(${namespace} && ${namespace}[
|
|
36991
|
+
replacements.push([node.start, node.end, `const ${namespace} = ${__cjsRequire()}(${JSON.stringify(source)}); /*__substrate_await__*/(${namespace} && ${namespace}[${__cjsSymbol()}.for("substrate.pending")]);`]);
|
|
33538
36992
|
} else {
|
|
33539
36993
|
const defaultSpec = specs.find((s) => s.type === "ImportDefaultSpecifier");
|
|
33540
36994
|
const nsSpec = specs.find((s) => s.type === "ImportNamespaceSpecifier");
|
|
@@ -33561,7 +37015,7 @@ function transformEsmToCjsAst$1(code2) {
|
|
|
33561
37015
|
}
|
|
33562
37016
|
} else if (node.type === "ExportDefaultDeclaration") {
|
|
33563
37017
|
const decl = node.declaration;
|
|
33564
|
-
const defineDefault = (value) =>
|
|
37018
|
+
const defineDefault = (value) => `${__cjsObject()}.defineProperty(${__cjsExports()}, "default", { enumerable: true, configurable: true, get: function () { return ${value}; } });`;
|
|
33565
37019
|
if (decl.type === "FunctionDeclaration") {
|
|
33566
37020
|
const funcCode = code2.slice(decl.start, node.end);
|
|
33567
37021
|
replacements.push([node.start, node.end, decl.id ? `${funcCode}
|
|
@@ -33583,12 +37037,12 @@ ${defineDefault(`__default_${node.start}`)}`]);
|
|
|
33583
37037
|
const name = decl.id.name;
|
|
33584
37038
|
const funcCode = code2.slice(decl.start, node.end);
|
|
33585
37039
|
replacements.push([node.start, node.end, funcCode]);
|
|
33586
|
-
hoisted.push(
|
|
37040
|
+
hoisted.push(`${__cjsObject()}.defineProperty(${__cjsExports()}, "${name}", { enumerable: true, get: function () { return ${name}; } });`);
|
|
33587
37041
|
} else if (decl.type === "ClassDeclaration") {
|
|
33588
37042
|
const name = decl.id.name;
|
|
33589
37043
|
const classCode = code2.slice(decl.start, node.end);
|
|
33590
37044
|
replacements.push([node.start, node.end, `${classCode}
|
|
33591
|
-
|
|
37045
|
+
${__cjsObject()}.defineProperty(${__cjsExports()}, "${name}", { enumerable: true, get: function () { return ${name}; } });`]);
|
|
33592
37046
|
} else if (decl.type === "VariableDeclaration") {
|
|
33593
37047
|
const parts = [code2.slice(decl.start, node.end).replace(/;?\s*$/u, ";")];
|
|
33594
37048
|
const names2 = [];
|
|
@@ -33601,7 +37055,7 @@ Object.defineProperty(${__cjsExports()}, "${name}", { enumerable: true, get: fun
|
|
|
33601
37055
|
else if (pattern.type === "RestElement") collect(pattern.argument);
|
|
33602
37056
|
};
|
|
33603
37057
|
for (const declarator of decl.declarations) collect(declarator.id);
|
|
33604
|
-
for (const name of names2) parts.push(
|
|
37058
|
+
for (const name of names2) parts.push(`${__cjsObject()}.defineProperty(${__cjsExports()}, "${name}", { enumerable: true, get: function () { return ${name}; } });`);
|
|
33605
37059
|
replacements.push([node.start, node.end, parts.join("\n")]);
|
|
33606
37060
|
}
|
|
33607
37061
|
} else if (node.source) {
|
|
@@ -33609,15 +37063,15 @@ Object.defineProperty(${__cjsExports()}, "${name}", { enumerable: true, get: fun
|
|
|
33609
37063
|
const parts = [];
|
|
33610
37064
|
const tmpVar = `__reexport_${node.start}`;
|
|
33611
37065
|
parts.push(`const ${tmpVar} = ${__cjsRequire()}(${JSON.stringify(source)})`);
|
|
33612
|
-
parts.push(`/*__substrate_await__*/(${tmpVar} && ${tmpVar}[
|
|
37066
|
+
parts.push(`/*__substrate_await__*/(${tmpVar} && ${tmpVar}[${__cjsSymbol()}.for("substrate.pending")])`);
|
|
33613
37067
|
for (const spec of node.specifiers) {
|
|
33614
|
-
parts.push(
|
|
37068
|
+
parts.push(`${__cjsObject()}.defineProperty(${__cjsExports()}, "${spec.exported.name}", { enumerable: true, configurable: true, get: function () { return ${tmpVar}.${spec.local.name}; } })`);
|
|
33615
37069
|
}
|
|
33616
37070
|
replacements.push([node.start, node.end, parts.join(";\n")]);
|
|
33617
37071
|
} else {
|
|
33618
37072
|
const parts = [];
|
|
33619
37073
|
for (const spec of node.specifiers) {
|
|
33620
|
-
parts.push(
|
|
37074
|
+
parts.push(`${__cjsObject()}.defineProperty(${__cjsExports()}, "${spec.exported.name}", { enumerable: true, configurable: true, get: function () { return ${spec.local.name}; } })`);
|
|
33621
37075
|
}
|
|
33622
37076
|
replacements.push([node.start, node.end, parts.join(";\n")]);
|
|
33623
37077
|
}
|
|
@@ -33625,11 +37079,11 @@ Object.defineProperty(${__cjsExports()}, "${name}", { enumerable: true, get: fun
|
|
|
33625
37079
|
const source = node.source.value;
|
|
33626
37080
|
const name = node.exported.type === "Identifier" ? node.exported.name : node.exported.value;
|
|
33627
37081
|
const tmpVar = `__reexport_${node.start}`;
|
|
33628
|
-
replacements.push([node.start, node.end, `const ${tmpVar} = ${__cjsRequire()}(${JSON.stringify(source)}); /*__substrate_await__*/(${tmpVar} && ${tmpVar}[
|
|
37082
|
+
replacements.push([node.start, node.end, `const ${tmpVar} = ${__cjsRequire()}(${JSON.stringify(source)}); /*__substrate_await__*/(${tmpVar} && ${tmpVar}[${__cjsSymbol()}.for("substrate.pending")]); ${__cjsObject()}.defineProperty(${__cjsExports()}, ${JSON.stringify(name)}, { enumerable: true, configurable: true, get: function () { return ${tmpVar}; } })`]);
|
|
33629
37083
|
} else if (node.type === "ExportAllDeclaration") {
|
|
33630
37084
|
const source = node.source.value;
|
|
33631
37085
|
const tmpVar = `__reexport_${node.start}`;
|
|
33632
|
-
replacements.push([node.start, node.end, `const ${tmpVar} = ${__cjsRequire()}(${JSON.stringify(source)}); /*__substrate_await__*/(${tmpVar} && ${tmpVar}[
|
|
37086
|
+
replacements.push([node.start, node.end, `const ${tmpVar} = ${__cjsRequire()}(${JSON.stringify(source)}); /*__substrate_await__*/(${tmpVar} && ${tmpVar}[${__cjsSymbol()}.for("substrate.pending")]); (function (__from, __into) { for (const __key of ${__cjsObject()}.keys(__from)) { if (__key === "default" || __key === "__esModule" || ${__cjsObject()}.prototype.hasOwnProperty.call(__into, __key)) continue; ${__cjsObject()}.defineProperty(__into, __key, { enumerable: true, configurable: true, get: function () { return __from[__key]; } }); } })(${tmpVar}, ${__cjsExports()})`]);
|
|
33633
37087
|
}
|
|
33634
37088
|
}
|
|
33635
37089
|
let result = code2;
|
|
@@ -33839,7 +37293,8 @@ function __substrateGuestGlobal(process2) {
|
|
|
33839
37293
|
return true;
|
|
33840
37294
|
}
|
|
33841
37295
|
if (shadowed(target, key)) return Reflect.set(target, key, value, target);
|
|
33842
|
-
|
|
37296
|
+
if (Reflect.set(host2, key, value, host2)) return true;
|
|
37297
|
+
return Reflect.defineProperty(target, key, { value, writable: true, configurable: true, enumerable: true });
|
|
33843
37298
|
},
|
|
33844
37299
|
has(target, key) {
|
|
33845
37300
|
return isLocalGlobal(key) ? Reflect.has(target, key) : key === "global" || shadowed(target, key) || key in host2;
|
|
@@ -33955,7 +37410,7 @@ function transformEsmToCjsAst(code2, filename) {
|
|
|
33955
37410
|
if (hasImportDecl || hasExportDecl) {
|
|
33956
37411
|
transformed = transformEsmToCjsSimple(transformed);
|
|
33957
37412
|
if (hasExportDecl) {
|
|
33958
|
-
transformed =
|
|
37413
|
+
transformed = `${__cjsObject()}.defineProperty(${__cjsExports()}, "__esModule", { value: true });
|
|
33959
37414
|
` + transformed;
|
|
33960
37415
|
}
|
|
33961
37416
|
}
|
|
@@ -33973,7 +37428,7 @@ function transformEsmToCjsRegexFallback(code2, filename) {
|
|
|
33973
37428
|
if (hasImport || hasExport) {
|
|
33974
37429
|
transformed = transformEsmToCjsSimple(transformed);
|
|
33975
37430
|
if (hasExport) {
|
|
33976
|
-
transformed =
|
|
37431
|
+
transformed = `${__cjsObject()}.defineProperty(${__cjsExports()}, "__esModule", { value: true });
|
|
33977
37432
|
` + transformed;
|
|
33978
37433
|
}
|
|
33979
37434
|
}
|
|
@@ -35559,6 +39014,71 @@ forGuestRealm(() => {
|
|
|
35559
39014
|
takeFromHost(globalThis, "Request", NodeRequest);
|
|
35560
39015
|
}
|
|
35561
39016
|
});
|
|
39017
|
+
forGuestRealm(() => {
|
|
39018
|
+
const kIsClosedPromise = Symbol.for("nodejs.webstream.isClosedPromise");
|
|
39019
|
+
const Native = globalThis.ReadableStream;
|
|
39020
|
+
if (typeof Native !== "function" || Native.__substrateClosedPromise) return;
|
|
39021
|
+
const Tracked = new Proxy(Native, {
|
|
39022
|
+
construct(target, args, newTarget) {
|
|
39023
|
+
let resolve2;
|
|
39024
|
+
let reject;
|
|
39025
|
+
const promise = new Promise((yes, no) => {
|
|
39026
|
+
resolve2 = yes;
|
|
39027
|
+
reject = no;
|
|
39028
|
+
});
|
|
39029
|
+
promise.then(void 0, () => {
|
|
39030
|
+
});
|
|
39031
|
+
const source = args[0];
|
|
39032
|
+
const track = (controller) => {
|
|
39033
|
+
const close2 = controller.close;
|
|
39034
|
+
const error = controller.error;
|
|
39035
|
+
if (typeof close2 === "function") controller.close = function(...rest) {
|
|
39036
|
+
const result = close2.apply(this, rest);
|
|
39037
|
+
resolve2();
|
|
39038
|
+
return result;
|
|
39039
|
+
};
|
|
39040
|
+
if (typeof error === "function") controller.error = function(...rest) {
|
|
39041
|
+
reject(rest[0]);
|
|
39042
|
+
return error.apply(this, rest);
|
|
39043
|
+
};
|
|
39044
|
+
};
|
|
39045
|
+
const failed = (cause) => {
|
|
39046
|
+
reject(cause);
|
|
39047
|
+
throw cause;
|
|
39048
|
+
};
|
|
39049
|
+
const wrapped = Object.create(source ?? null);
|
|
39050
|
+
wrapped.start = (controller) => {
|
|
39051
|
+
var _a2;
|
|
39052
|
+
track(controller);
|
|
39053
|
+
try {
|
|
39054
|
+
return (_a2 = source == null ? void 0 : source.start) == null ? void 0 : _a2.call(source, controller);
|
|
39055
|
+
} catch (cause) {
|
|
39056
|
+
return failed(cause);
|
|
39057
|
+
}
|
|
39058
|
+
};
|
|
39059
|
+
if (typeof (source == null ? void 0 : source.pull) === "function") {
|
|
39060
|
+
const pull = source.pull;
|
|
39061
|
+
wrapped.pull = (controller) => {
|
|
39062
|
+
try {
|
|
39063
|
+
return Promise.resolve(pull.call(source, controller)).catch(failed);
|
|
39064
|
+
} catch (cause) {
|
|
39065
|
+
return failed(cause);
|
|
39066
|
+
}
|
|
39067
|
+
};
|
|
39068
|
+
}
|
|
39069
|
+
wrapped.cancel = (reason) => {
|
|
39070
|
+
var _a2;
|
|
39071
|
+
resolve2();
|
|
39072
|
+
return (_a2 = source == null ? void 0 : source.cancel) == null ? void 0 : _a2.call(source, reason);
|
|
39073
|
+
};
|
|
39074
|
+
const stream = Reflect.construct(target, [wrapped, ...args.slice(1)], newTarget === Tracked ? target : newTarget);
|
|
39075
|
+
Object.defineProperty(stream, kIsClosedPromise, { value: { promise, resolve: resolve2, reject }, configurable: true });
|
|
39076
|
+
return stream;
|
|
39077
|
+
}
|
|
39078
|
+
});
|
|
39079
|
+
Object.defineProperty(Tracked, "__substrateClosedPromise", { value: true });
|
|
39080
|
+
takeFromHost(globalThis, "ReadableStream", Tracked);
|
|
39081
|
+
});
|
|
35562
39082
|
forGuestRealm(__substrateStackTracePolyfill);
|
|
35563
39083
|
forGuestRealm(__substrateCallSiteFileNames);
|
|
35564
39084
|
forGuestRealm(__substrateTextDecoderPolyfill);
|
|
@@ -35796,7 +39316,7 @@ class WorkerRuntime {
|
|
|
35796
39316
|
this.worker = new Worker(
|
|
35797
39317
|
new URL(
|
|
35798
39318
|
/* @vite-ignore */
|
|
35799
|
-
"/assets/runtime-worker-
|
|
39319
|
+
"/assets/runtime-worker-DCIwIWHJ.js",
|
|
35800
39320
|
import.meta.url
|
|
35801
39321
|
),
|
|
35802
39322
|
{ type: "module" }
|
|
@@ -36062,10 +39582,10 @@ function installHttpClientTransport(factory, transportOptions = {}) {
|
|
|
36062
39582
|
};
|
|
36063
39583
|
}
|
|
36064
39584
|
function connection(origin, exchange, require2) {
|
|
36065
|
-
const
|
|
39585
|
+
const streams2 = require2 ? require2("stream") : streamModule;
|
|
36066
39586
|
const net = require2 ? require2("net") : netModule;
|
|
36067
39587
|
const http = require2 ? require2("http") : httpModule;
|
|
36068
|
-
const pair =
|
|
39588
|
+
const pair = streams2.duplexPair({ highWaterMark: 64 * 1024 });
|
|
36069
39589
|
const client = new net.Socket({ handle: new DuplexStreamHandle(pair[0]), readable: true, writable: true });
|
|
36070
39590
|
const peer = new net.Socket({ handle: new DuplexStreamHandle(pair[1]), readable: true, writable: true });
|
|
36071
39591
|
peer.unref();
|
|
@@ -36105,7 +39625,7 @@ function connection(origin, exchange, require2) {
|
|
|
36105
39625
|
}
|
|
36106
39626
|
const outgoing = headers.filter(([name]) => !["connection", "keep-alive", "transfer-encoding"].includes(name.toLowerCase()) && !connectionHeaders.has(name.toLowerCase()));
|
|
36107
39627
|
const carriesBody = request.headers["transfer-encoding"] !== void 0 || Number(request.headers["content-length"] ?? 0) > 0;
|
|
36108
|
-
const Readable2 =
|
|
39628
|
+
const Readable2 = streams2.Readable;
|
|
36109
39629
|
const body = carriesBody ? Readable2.toWeb(request, { strategy: { highWaterMark: 64 * 1024, size: (chunk) => chunk.byteLength } }) : void 0;
|
|
36110
39630
|
if (!carriesBody) request.resume();
|
|
36111
39631
|
const result = await exchange({ url: url2.href, method: request.method, headers: outgoing, ...body ? { body } : {}, signal: controller.signal, profile: "server-http" });
|
|
@@ -36643,11 +40163,11 @@ function* parseTar(data2) {
|
|
|
36643
40163
|
const size = parseOctal(header, 124, 12);
|
|
36644
40164
|
const typeFlag = String.fromCharCode(header[156]);
|
|
36645
40165
|
const linkName = parseString(header, 157, 100);
|
|
36646
|
-
const
|
|
40166
|
+
const prefix2 = parseString(header, 345, 155);
|
|
36647
40167
|
if (!name) {
|
|
36648
40168
|
continue;
|
|
36649
40169
|
}
|
|
36650
|
-
const fullName = __nextName !== void 0 ? __nextName :
|
|
40170
|
+
const fullName = __nextName !== void 0 ? __nextName : prefix2 ? `${prefix2}/${name}` : name;
|
|
36651
40171
|
__nextName = void 0;
|
|
36652
40172
|
let type2;
|
|
36653
40173
|
switch (typeFlag) {
|