isomorfeus-asset-manager 0.14.23 → 0.14.26

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2ab80d28496c725e2249d30e487c547a5bafc86e395260c64b18206138b1baae
4
- data.tar.gz: 8491dff2119a4c51203aaa694370ac359b5d9a4ec4eed8501132749a95a0f4c2
3
+ metadata.gz: 15f32ab3f823176ea010110b2cec38527e9df102e665c82ed8ee826d54579ad8
4
+ data.tar.gz: 415b8e834d7e016f5c597b06431d0bd79d9f48e2e386dffa0b9c35650802e0ac
5
5
  SHA512:
6
- metadata.gz: 1d545a7d8d51d2102cb766b143b1599eb3d9a063086ce9e312baa89e490f73b919a9438447b974783ad5dea5e1054723a1a88297c83832602a478674ed6b9ba6
7
- data.tar.gz: 9eb408047f5dce8efb398bef3da0d55802c10028a5dbd1a05e333718054a1be64a192c226db8a06aed8b9c9697fe0e6714ae9b95000153fba45718c9569df775
6
+ metadata.gz: b51fd63894148793f8fb15e1a857afa95b36e5cb45ecee76befc745aeaff14bacecb005cafd9ec40f8b491656a0803924a7502c7ae7b606f05d92b02cb8cca7f
7
+ data.tar.gz: e28e93611faf24d3ca838e7b61ac08149e075d3457099c8b9af9426c1aa783e7d5d4e33ee0a8babe35ed8250155291829ff973a73402083384b2c3d022eb9eb0
@@ -1,5 +1,5 @@
1
1
  module Isomorfeus
2
2
  class AssetManager
3
- VERSION = '0.14.23'
3
+ VERSION = '0.14.26'
4
4
  end
5
5
  end
@@ -4,9 +4,9 @@
4
4
  "requires": true,
5
5
  "packages": {
6
6
  "node_modules/esbuild-wasm": {
7
- "version": "0.14.39",
8
- "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.14.39.tgz",
9
- "integrity": "sha512-ERthbXykeACyL8gmE1FE2njn/kyBrnj4tuoImtcpry8uNb/McUNtv08TdWA0pGHYxfD76XoaIwKEOMSv25IkFQ==",
7
+ "version": "0.14.53",
8
+ "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.14.53.tgz",
9
+ "integrity": "sha512-7b9EaBu6T16D4++/tEecq60wa1/latTo55U2frlpD5ATZSS2CpJ4Dd64Wck+xRXZp8pMJ5eQHEDiCr5bU2naQA==",
10
10
  "bin": {
11
11
  "esbuild": "bin/esbuild"
12
12
  },
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2020 Evan Wallace
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
Binary file
@@ -1,6 +1,6 @@
1
1
  export type Platform = 'browser' | 'node' | 'neutral';
2
2
  export type Format = 'iife' | 'cjs' | 'esm';
3
- export type Loader = 'js' | 'jsx' | 'ts' | 'tsx' | 'css' | 'json' | 'text' | 'base64' | 'file' | 'dataurl' | 'binary' | 'default';
3
+ export type Loader = 'js' | 'jsx' | 'ts' | 'tsx' | 'css' | 'json' | 'text' | 'base64' | 'file' | 'dataurl' | 'binary' | 'copy' | 'default';
4
4
  export type LogLevel = 'verbose' | 'debug' | 'info' | 'warning' | 'error' | 'silent';
5
5
  export type Charset = 'ascii' | 'utf8';
6
6
  export type Drop = 'console' | 'debugger';
@@ -17,10 +17,14 @@ interface CommonOptions {
17
17
 
18
18
  /** Documentation: https://esbuild.github.io/api/#format */
19
19
  format?: Format;
20
- /** Documentation: https://esbuild.github.io/api/#globalName */
20
+ /** Documentation: https://esbuild.github.io/api/#global-name */
21
21
  globalName?: string;
22
22
  /** Documentation: https://esbuild.github.io/api/#target */
23
23
  target?: string | string[];
24
+ /** Documentation: https://esbuild.github.io/api/#supported */
25
+ supported?: Record<string, boolean>;
26
+ /** Documentation: https://esbuild.github.io/api/#platform */
27
+ platform?: Platform;
24
28
 
25
29
  /** Documentation: https://esbuild.github.io/api/#mangle-props */
26
30
  mangleProps?: RegExp;
@@ -48,11 +52,15 @@ interface CommonOptions {
48
52
  ignoreAnnotations?: boolean;
49
53
 
50
54
  /** Documentation: https://esbuild.github.io/api/#jsx */
51
- jsx?: 'transform' | 'preserve';
55
+ jsx?: 'transform' | 'preserve' | 'automatic';
52
56
  /** Documentation: https://esbuild.github.io/api/#jsx-factory */
53
57
  jsxFactory?: string;
54
58
  /** Documentation: https://esbuild.github.io/api/#jsx-fragment */
55
59
  jsxFragment?: string;
60
+ /** Documentation: https://esbuild.github.io/api/#jsx-import-source */
61
+ jsxImportSource?: string;
62
+ /** Documentation: https://esbuild.github.io/api/#jsx-development */
63
+ jsxDev?: boolean;
56
64
 
57
65
  /** Documentation: https://esbuild.github.io/api/#define */
58
66
  define?: { [key: string]: string };
@@ -67,6 +75,8 @@ interface CommonOptions {
67
75
  logLevel?: LogLevel;
68
76
  /** Documentation: https://esbuild.github.io/api/#log-limit */
69
77
  logLimit?: number;
78
+ /** Documentation: https://esbuild.github.io/api/#log-override */
79
+ logOverride?: Record<string, LogLevel>;
70
80
  }
71
81
 
72
82
  export interface BuildOptions extends CommonOptions {
@@ -84,15 +94,13 @@ export interface BuildOptions extends CommonOptions {
84
94
  outdir?: string;
85
95
  /** Documentation: https://esbuild.github.io/api/#outbase */
86
96
  outbase?: string;
87
- /** Documentation: https://esbuild.github.io/api/#platform */
88
- platform?: Platform;
89
97
  /** Documentation: https://esbuild.github.io/api/#external */
90
98
  external?: string[];
91
99
  /** Documentation: https://esbuild.github.io/api/#loader */
92
100
  loader?: { [ext: string]: Loader };
93
101
  /** Documentation: https://esbuild.github.io/api/#resolve-extensions */
94
102
  resolveExtensions?: string[];
95
- /** Documentation: https://esbuild.github.io/api/#mainFields */
103
+ /** Documentation: https://esbuild.github.io/api/#main-fields */
96
104
  mainFields?: string[];
97
105
  /** Documentation: https://esbuild.github.io/api/#conditions */
98
106
  conditions?: string[];
@@ -139,13 +147,14 @@ export interface WatchMode {
139
147
  }
140
148
 
141
149
  export interface StdinOptions {
142
- contents: string;
150
+ contents: string | Uint8Array;
143
151
  resolveDir?: string;
144
152
  sourcefile?: string;
145
153
  loader?: Loader;
146
154
  }
147
155
 
148
156
  export interface Message {
157
+ id: string;
149
158
  pluginName: string;
150
159
  text: string;
151
160
  location: Location | null;
@@ -400,6 +409,7 @@ export interface OnLoadResult {
400
409
  }
401
410
 
402
411
  export interface PartialMessage {
412
+ id?: string;
403
413
  pluginName?: string;
404
414
  text?: string;
405
415
  location?: Partial<Location> | null;
@@ -489,7 +499,7 @@ export declare function serve(serveOptions: ServeOptions, buildOptions: BuildOpt
489
499
  *
490
500
  * Documentation: https://esbuild.github.io/api/#transform-api
491
501
  */
492
- export declare function transform(input: string, options?: TransformOptions): Promise<TransformResult>;
502
+ export declare function transform(input: string | Uint8Array, options?: TransformOptions): Promise<TransformResult>;
493
503
 
494
504
  /**
495
505
  * Converts log messages to formatted message strings suitable for printing in
@@ -302,9 +302,14 @@ function pushCommonFlags(flags, options, keys) {
302
302
  let jsx = getFlag(options, keys, "jsx", mustBeString);
303
303
  let jsxFactory = getFlag(options, keys, "jsxFactory", mustBeString);
304
304
  let jsxFragment = getFlag(options, keys, "jsxFragment", mustBeString);
305
+ let jsxImportSource = getFlag(options, keys, "jsxImportSource", mustBeString);
306
+ let jsxDev = getFlag(options, keys, "jsxDev", mustBeBoolean);
305
307
  let define = getFlag(options, keys, "define", mustBeObject);
308
+ let logOverride = getFlag(options, keys, "logOverride", mustBeObject);
309
+ let supported = getFlag(options, keys, "supported", mustBeObject);
306
310
  let pure = getFlag(options, keys, "pure", mustBeArray);
307
311
  let keepNames = getFlag(options, keys, "keepNames", mustBeBoolean);
312
+ let platform = getFlag(options, keys, "platform", mustBeString);
308
313
  if (legalComments)
309
314
  flags.push(`--legal-comments=${legalComments}`);
310
315
  if (sourceRoot !== void 0)
@@ -321,6 +326,8 @@ function pushCommonFlags(flags, options, keys) {
321
326
  flags.push(`--format=${format}`);
322
327
  if (globalName)
323
328
  flags.push(`--global-name=${globalName}`);
329
+ if (platform)
330
+ flags.push(`--platform=${platform}`);
324
331
  if (minify)
325
332
  flags.push("--minify");
326
333
  if (minifySyntax)
@@ -350,6 +357,10 @@ function pushCommonFlags(flags, options, keys) {
350
357
  flags.push(`--jsx-factory=${jsxFactory}`);
351
358
  if (jsxFragment)
352
359
  flags.push(`--jsx-fragment=${jsxFragment}`);
360
+ if (jsxImportSource)
361
+ flags.push(`--jsx-import-source=${jsxImportSource}`);
362
+ if (jsxDev)
363
+ flags.push(`--jsx-dev`);
353
364
  if (define) {
354
365
  for (let key in define) {
355
366
  if (key.indexOf("=") >= 0)
@@ -357,6 +368,20 @@ function pushCommonFlags(flags, options, keys) {
357
368
  flags.push(`--define:${key}=${define[key]}`);
358
369
  }
359
370
  }
371
+ if (logOverride) {
372
+ for (let key in logOverride) {
373
+ if (key.indexOf("=") >= 0)
374
+ throw new Error(`Invalid log override: ${key}`);
375
+ flags.push(`--log-override:${key}=${logOverride[key]}`);
376
+ }
377
+ }
378
+ if (supported) {
379
+ for (let key in supported) {
380
+ if (key.indexOf("=") >= 0)
381
+ throw new Error(`Invalid supported: ${key}`);
382
+ flags.push(`--supported:${key}=${supported[key]}`);
383
+ }
384
+ }
360
385
  if (pure)
361
386
  for (let fn of pure)
362
387
  flags.push(`--pure:${fn}`);
@@ -382,7 +407,6 @@ function flagsForBuildOptions(callName, options, isTTY, logLevelDefault, writeDe
382
407
  let outfile = getFlag(options, keys, "outfile", mustBeString);
383
408
  let outdir = getFlag(options, keys, "outdir", mustBeString);
384
409
  let outbase = getFlag(options, keys, "outbase", mustBeString);
385
- let platform = getFlag(options, keys, "platform", mustBeString);
386
410
  let tsconfig = getFlag(options, keys, "tsconfig", mustBeString);
387
411
  let resolveExtensions = getFlag(options, keys, "resolveExtensions", mustBeArray);
388
412
  let nodePathsInput = getFlag(options, keys, "nodePaths", mustBeArray);
@@ -436,8 +460,6 @@ function flagsForBuildOptions(callName, options, isTTY, logLevelDefault, writeDe
436
460
  flags.push(`--outdir=${outdir}`);
437
461
  if (outbase)
438
462
  flags.push(`--outbase=${outbase}`);
439
- if (platform)
440
- flags.push(`--platform=${platform}`);
441
463
  if (tsconfig)
442
464
  flags.push(`--tsconfig=${tsconfig}`);
443
465
  if (resolveExtensions) {
@@ -525,7 +547,7 @@ function flagsForBuildOptions(callName, options, isTTY, logLevelDefault, writeDe
525
547
  }
526
548
  if (stdin) {
527
549
  let stdinKeys = /* @__PURE__ */ Object.create(null);
528
- let contents = getFlag(stdin, stdinKeys, "contents", mustBeString);
550
+ let contents = getFlag(stdin, stdinKeys, "contents", mustBeStringOrUint8Array);
529
551
  let resolveDir = getFlag(stdin, stdinKeys, "resolveDir", mustBeString);
530
552
  let sourcefile = getFlag(stdin, stdinKeys, "sourcefile", mustBeString);
531
553
  let loader2 = getFlag(stdin, stdinKeys, "loader", mustBeString);
@@ -536,7 +558,10 @@ function flagsForBuildOptions(callName, options, isTTY, logLevelDefault, writeDe
536
558
  flags.push(`--loader=${loader2}`);
537
559
  if (resolveDir)
538
560
  stdinResolveDir = resolveDir + "";
539
- stdinContents = contents ? contents + "" : "";
561
+ if (typeof contents === "string")
562
+ stdinContents = encodeUTF8(contents);
563
+ else if (contents instanceof Uint8Array)
564
+ stdinContents = contents;
540
565
  }
541
566
  let nodePaths = [];
542
567
  if (nodePathsInput) {
@@ -731,8 +756,8 @@ function createChannel(streamIn) {
731
756
  if (isFirstPacket) {
732
757
  isFirstPacket = false;
733
758
  let binaryVersion = String.fromCharCode(...bytes);
734
- if (binaryVersion !== "0.14.39") {
735
- throw new Error(`Cannot start service: Host version "${"0.14.39"}" does not match binary version ${JSON.stringify(binaryVersion)}`);
759
+ if (binaryVersion !== "0.14.53") {
760
+ throw new Error(`Cannot start service: Host version "${"0.14.53"}" does not match binary version ${JSON.stringify(binaryVersion)}`);
736
761
  }
737
762
  return;
738
763
  }
@@ -1119,24 +1144,27 @@ function createChannel(streamIn) {
1119
1144
  if (plugins && plugins.length > 0) {
1120
1145
  if (streamIn.isSync)
1121
1146
  return handleError(new Error("Cannot use plugins in synchronous API calls"), "");
1122
- handlePlugins(options, plugins, key, details, refs).then((result) => {
1123
- if (!result.ok) {
1124
- handleError(result.error, result.pluginName);
1125
- } else {
1126
- try {
1127
- buildOrServeContinue(__spreadProps(__spreadValues({}, args), {
1128
- key,
1129
- details,
1130
- logPluginError,
1131
- requestPlugins: result.requestPlugins,
1132
- runOnEndCallbacks: result.runOnEndCallbacks,
1133
- pluginRefs: result.pluginRefs
1134
- }));
1135
- } catch (e) {
1136
- handleError(e, "");
1147
+ handlePlugins(options, plugins, key, details, refs).then(
1148
+ (result) => {
1149
+ if (!result.ok) {
1150
+ handleError(result.error, result.pluginName);
1151
+ } else {
1152
+ try {
1153
+ buildOrServeContinue(__spreadProps(__spreadValues({}, args), {
1154
+ key,
1155
+ details,
1156
+ logPluginError,
1157
+ requestPlugins: result.requestPlugins,
1158
+ runOnEndCallbacks: result.runOnEndCallbacks,
1159
+ pluginRefs: result.pluginRefs
1160
+ }));
1161
+ } catch (e) {
1162
+ handleError(e, "");
1163
+ }
1137
1164
  }
1138
- }
1139
- }, (e) => handleError(e, ""));
1165
+ },
1166
+ (e) => handleError(e, "")
1167
+ );
1140
1168
  } else {
1141
1169
  try {
1142
1170
  buildOrServeContinue(__spreadProps(__spreadValues({}, args), {
@@ -1181,7 +1209,7 @@ function createChannel(streamIn) {
1181
1209
  callerRefs.unref();
1182
1210
  }
1183
1211
  };
1184
- let writeDefault = !streamIn.isBrowser;
1212
+ let writeDefault = !streamIn.isWriteUnavailable;
1185
1213
  let {
1186
1214
  entries,
1187
1215
  flags,
@@ -1239,18 +1267,22 @@ function createChannel(streamIn) {
1239
1267
  rebuild = () => new Promise((resolve, reject) => {
1240
1268
  if (isDisposed || closeData)
1241
1269
  throw new Error("Cannot rebuild");
1242
- sendRequest(refs, { command: "rebuild", key }, (error2, response2) => {
1243
- if (error2) {
1244
- const message = { pluginName: "", text: error2, location: null, notes: [], detail: void 0 };
1245
- return callback2(failureErrorWithLog("Build failed", [message], []), null);
1270
+ sendRequest(
1271
+ refs,
1272
+ { command: "rebuild", key },
1273
+ (error2, response2) => {
1274
+ if (error2) {
1275
+ const message = { id: "", pluginName: "", text: error2, location: null, notes: [], detail: void 0 };
1276
+ return callback2(failureErrorWithLog("Build failed", [message], []), null);
1277
+ }
1278
+ buildResponseToResult(response2, (error3, result3) => {
1279
+ if (error3)
1280
+ reject(error3);
1281
+ else
1282
+ resolve(result3);
1283
+ });
1246
1284
  }
1247
- buildResponseToResult(response2, (error3, result3) => {
1248
- if (error3)
1249
- reject(error3);
1250
- else
1251
- resolve(result3);
1252
- });
1253
- });
1285
+ );
1254
1286
  });
1255
1287
  refs.ref();
1256
1288
  rebuild.dispose = () => {
@@ -1309,8 +1341,8 @@ function createChannel(streamIn) {
1309
1341
  callback2(null, result);
1310
1342
  });
1311
1343
  };
1312
- if (write && streamIn.isBrowser)
1313
- throw new Error(`Cannot enable "write" in the browser`);
1344
+ if (write && streamIn.isWriteUnavailable)
1345
+ throw new Error(`The "write" option is unavailable in this environment`);
1314
1346
  if (incremental && streamIn.isSync)
1315
1347
  throw new Error(`Cannot use "incremental" with a synchronous build`);
1316
1348
  if (watch && streamIn.isSync)
@@ -1345,8 +1377,8 @@ function createChannel(streamIn) {
1345
1377
  const details = createObjectStash();
1346
1378
  let start = (inputPath) => {
1347
1379
  try {
1348
- if (typeof input !== "string")
1349
- throw new Error('The input to "transform" must be a string');
1380
+ if (typeof input !== "string" && !(input instanceof Uint8Array))
1381
+ throw new Error('The input to "transform" must be a string or a Uint8Array');
1350
1382
  let {
1351
1383
  flags,
1352
1384
  mangleCache
@@ -1355,7 +1387,7 @@ function createChannel(streamIn) {
1355
1387
  command: "transform",
1356
1388
  flags,
1357
1389
  inputFS: inputPath !== null,
1358
- input: inputPath !== null ? inputPath : input
1390
+ input: inputPath !== null ? encodeUTF8(inputPath) : typeof input === "string" ? encodeUTF8(input) : input
1359
1391
  };
1360
1392
  if (mangleCache)
1361
1393
  request.mangleCache = mangleCache;
@@ -1412,7 +1444,7 @@ function createChannel(streamIn) {
1412
1444
  });
1413
1445
  }
1414
1446
  };
1415
- if (typeof input === "string" && input.length > 1024 * 1024) {
1447
+ if ((typeof input === "string" || input instanceof Uint8Array) && input.length > 1024 * 1024) {
1416
1448
  let next = start;
1417
1449
  start = () => fs.writeFile(input, next);
1418
1450
  }
@@ -1524,7 +1556,7 @@ function extractErrorMessageV8(e, streamIn, stash, note, pluginName) {
1524
1556
  location = parseStackLinesV8(streamIn, (e.stack + "").split("\n"), "");
1525
1557
  } catch (e2) {
1526
1558
  }
1527
- return { pluginName, text, location, notes: note ? [note] : [], detail: stash ? stash.store(e) : -1 };
1559
+ return { id: "", pluginName, text, location, notes: note ? [note] : [], detail: stash ? stash.store(e) : -1 };
1528
1560
  }
1529
1561
  function parseStackLinesV8(streamIn, lines, ident) {
1530
1562
  let at = " at ";
@@ -1623,6 +1655,7 @@ function sanitizeMessages(messages, property, stash, fallbackPluginName) {
1623
1655
  let index = 0;
1624
1656
  for (const message of messages) {
1625
1657
  let keys = {};
1658
+ let id = getFlag(message, keys, "id", mustBeString);
1626
1659
  let pluginName = getFlag(message, keys, "pluginName", mustBeString);
1627
1660
  let text = getFlag(message, keys, "text", mustBeString);
1628
1661
  let location = getFlag(message, keys, "location", mustBeObjectOrNull);
@@ -1644,6 +1677,7 @@ function sanitizeMessages(messages, property, stash, fallbackPluginName) {
1644
1677
  }
1645
1678
  }
1646
1679
  messagesClone.push({
1680
+ id: id || "",
1647
1681
  pluginName: pluginName || fallbackPluginName,
1648
1682
  text: text || "",
1649
1683
  location: sanitizeLocation(location, where),
@@ -1669,15 +1703,18 @@ function convertOutputFiles({ path, contents }) {
1669
1703
  path,
1670
1704
  contents,
1671
1705
  get text() {
1672
- if (text === null)
1673
- text = decodeUTF8(contents);
1706
+ const binary = this.contents;
1707
+ if (text === null || binary !== contents) {
1708
+ contents = binary;
1709
+ text = decodeUTF8(binary);
1710
+ }
1674
1711
  return text;
1675
1712
  }
1676
1713
  };
1677
1714
  }
1678
1715
 
1679
1716
  // lib/npm/browser.ts
1680
- var version = "0.14.39";
1717
+ var version = "0.14.53";
1681
1718
  var build = (options) => ensureServiceIsRunning().build(options);
1682
1719
  var serve = () => {
1683
1720
  throw new Error(`The "serve" API only works in node`);
@@ -1733,7 +1770,7 @@ var startRunningService = async (wasmURL, wasmModule, useWorker) => {
1733
1770
  }
1734
1771
  let worker;
1735
1772
  if (useWorker) {
1736
- let blob = new Blob([`onmessage=${'((postMessage) => {\n // Copyright 2018 The Go Authors. All rights reserved.\n // Use of this source code is governed by a BSD-style\n // license that can be found in the LICENSE file.\n let onmessage;\n let globalThis = {};\n for (let o = self; o; o = Object.getPrototypeOf(o))\n for (let k of Object.getOwnPropertyNames(o))\n if (!(k in globalThis))\n Object.defineProperty(globalThis, k, { get: () => self[k] });\n "use strict";\n (() => {\n const enosys = () => {\n const err = new Error("not implemented");\n err.code = "ENOSYS";\n return err;\n };\n if (!globalThis.fs) {\n let outputBuf = "";\n globalThis.fs = {\n constants: { O_WRONLY: -1, O_RDWR: -1, O_CREAT: -1, O_TRUNC: -1, O_APPEND: -1, O_EXCL: -1 },\n writeSync(fd, buf) {\n outputBuf += decoder.decode(buf);\n const nl = outputBuf.lastIndexOf("\\n");\n if (nl != -1) {\n console.log(outputBuf.substr(0, nl));\n outputBuf = outputBuf.substr(nl + 1);\n }\n return buf.length;\n },\n write(fd, buf, offset, length, position, callback) {\n if (offset !== 0 || length !== buf.length || position !== null) {\n callback(enosys());\n return;\n }\n const n = this.writeSync(fd, buf);\n callback(null, n);\n },\n chmod(path, mode, callback) {\n callback(enosys());\n },\n chown(path, uid, gid, callback) {\n callback(enosys());\n },\n close(fd, callback) {\n callback(enosys());\n },\n fchmod(fd, mode, callback) {\n callback(enosys());\n },\n fchown(fd, uid, gid, callback) {\n callback(enosys());\n },\n fstat(fd, callback) {\n callback(enosys());\n },\n fsync(fd, callback) {\n callback(null);\n },\n ftruncate(fd, length, callback) {\n callback(enosys());\n },\n lchown(path, uid, gid, callback) {\n callback(enosys());\n },\n link(path, link, callback) {\n callback(enosys());\n },\n lstat(path, callback) {\n callback(enosys());\n },\n mkdir(path, perm, callback) {\n callback(enosys());\n },\n open(path, flags, mode, callback) {\n callback(enosys());\n },\n read(fd, buffer, offset, length, position, callback) {\n callback(enosys());\n },\n readdir(path, callback) {\n callback(enosys());\n },\n readlink(path, callback) {\n callback(enosys());\n },\n rename(from, to, callback) {\n callback(enosys());\n },\n rmdir(path, callback) {\n callback(enosys());\n },\n stat(path, callback) {\n callback(enosys());\n },\n symlink(path, link, callback) {\n callback(enosys());\n },\n truncate(path, length, callback) {\n callback(enosys());\n },\n unlink(path, callback) {\n callback(enosys());\n },\n utimes(path, atime, mtime, callback) {\n callback(enosys());\n }\n };\n }\n if (!globalThis.process) {\n globalThis.process = {\n getuid() {\n return -1;\n },\n getgid() {\n return -1;\n },\n geteuid() {\n return -1;\n },\n getegid() {\n return -1;\n },\n getgroups() {\n throw enosys();\n },\n pid: -1,\n ppid: -1,\n umask() {\n throw enosys();\n },\n cwd() {\n throw enosys();\n },\n chdir() {\n throw enosys();\n }\n };\n }\n if (!globalThis.crypto) {\n throw new Error("globalThis.crypto is not available, polyfill required (crypto.getRandomValues only)");\n }\n if (!globalThis.performance) {\n throw new Error("globalThis.performance is not available, polyfill required (performance.now only)");\n }\n if (!globalThis.TextEncoder) {\n throw new Error("globalThis.TextEncoder is not available, polyfill required");\n }\n if (!globalThis.TextDecoder) {\n throw new Error("globalThis.TextDecoder is not available, polyfill required");\n }\n const encoder = new TextEncoder("utf-8");\n const decoder = new TextDecoder("utf-8");\n globalThis.Go = class {\n constructor() {\n this.argv = ["js"];\n this.env = {};\n this.exit = (code) => {\n if (code !== 0) {\n console.warn("exit code:", code);\n }\n };\n this._exitPromise = new Promise((resolve) => {\n this._resolveExitPromise = resolve;\n });\n this._pendingEvent = null;\n this._scheduledTimeouts = /* @__PURE__ */ new Map();\n this._nextCallbackTimeoutID = 1;\n const setInt64 = (addr, v) => {\n this.mem.setUint32(addr + 0, v, true);\n this.mem.setUint32(addr + 4, Math.floor(v / 4294967296), true);\n };\n const getInt64 = (addr) => {\n const low = this.mem.getUint32(addr + 0, true);\n const high = this.mem.getInt32(addr + 4, true);\n return low + high * 4294967296;\n };\n const loadValue = (addr) => {\n const f = this.mem.getFloat64(addr, true);\n if (f === 0) {\n return void 0;\n }\n if (!isNaN(f)) {\n return f;\n }\n const id = this.mem.getUint32(addr, true);\n return this._values[id];\n };\n const storeValue = (addr, v) => {\n const nanHead = 2146959360;\n if (typeof v === "number" && v !== 0) {\n if (isNaN(v)) {\n this.mem.setUint32(addr + 4, nanHead, true);\n this.mem.setUint32(addr, 0, true);\n return;\n }\n this.mem.setFloat64(addr, v, true);\n return;\n }\n if (v === void 0) {\n this.mem.setFloat64(addr, 0, true);\n return;\n }\n let id = this._ids.get(v);\n if (id === void 0) {\n id = this._idPool.pop();\n if (id === void 0) {\n id = this._values.length;\n }\n this._values[id] = v;\n this._goRefCounts[id] = 0;\n this._ids.set(v, id);\n }\n this._goRefCounts[id]++;\n let typeFlag = 0;\n switch (typeof v) {\n case "object":\n if (v !== null) {\n typeFlag = 1;\n }\n break;\n case "string":\n typeFlag = 2;\n break;\n case "symbol":\n typeFlag = 3;\n break;\n case "function":\n typeFlag = 4;\n break;\n }\n this.mem.setUint32(addr + 4, nanHead | typeFlag, true);\n this.mem.setUint32(addr, id, true);\n };\n const loadSlice = (addr) => {\n const array = getInt64(addr + 0);\n const len = getInt64(addr + 8);\n return new Uint8Array(this._inst.exports.mem.buffer, array, len);\n };\n const loadSliceOfValues = (addr) => {\n const array = getInt64(addr + 0);\n const len = getInt64(addr + 8);\n const a = new Array(len);\n for (let i = 0; i < len; i++) {\n a[i] = loadValue(array + i * 8);\n }\n return a;\n };\n const loadString = (addr) => {\n const saddr = getInt64(addr + 0);\n const len = getInt64(addr + 8);\n return decoder.decode(new DataView(this._inst.exports.mem.buffer, saddr, len));\n };\n const timeOrigin = Date.now() - performance.now();\n this.importObject = {\n go: {\n "runtime.wasmExit": (sp) => {\n sp >>>= 0;\n const code = this.mem.getInt32(sp + 8, true);\n this.exited = true;\n delete this._inst;\n delete this._values;\n delete this._goRefCounts;\n delete this._ids;\n delete this._idPool;\n this.exit(code);\n },\n "runtime.wasmWrite": (sp) => {\n sp >>>= 0;\n const fd = getInt64(sp + 8);\n const p = getInt64(sp + 16);\n const n = this.mem.getInt32(sp + 24, true);\n globalThis.fs.writeSync(fd, new Uint8Array(this._inst.exports.mem.buffer, p, n));\n },\n "runtime.resetMemoryDataView": (sp) => {\n sp >>>= 0;\n this.mem = new DataView(this._inst.exports.mem.buffer);\n },\n "runtime.nanotime1": (sp) => {\n sp >>>= 0;\n setInt64(sp + 8, (timeOrigin + performance.now()) * 1e6);\n },\n "runtime.walltime": (sp) => {\n sp >>>= 0;\n const msec = new Date().getTime();\n setInt64(sp + 8, msec / 1e3);\n this.mem.setInt32(sp + 16, msec % 1e3 * 1e6, true);\n },\n "runtime.scheduleTimeoutEvent": (sp) => {\n sp >>>= 0;\n const id = this._nextCallbackTimeoutID;\n this._nextCallbackTimeoutID++;\n this._scheduledTimeouts.set(id, setTimeout(() => {\n this._resume();\n while (this._scheduledTimeouts.has(id)) {\n console.warn("scheduleTimeoutEvent: missed timeout event");\n this._resume();\n }\n }, getInt64(sp + 8) + 1));\n this.mem.setInt32(sp + 16, id, true);\n },\n "runtime.clearTimeoutEvent": (sp) => {\n sp >>>= 0;\n const id = this.mem.getInt32(sp + 8, true);\n clearTimeout(this._scheduledTimeouts.get(id));\n this._scheduledTimeouts.delete(id);\n },\n "runtime.getRandomData": (sp) => {\n sp >>>= 0;\n crypto.getRandomValues(loadSlice(sp + 8));\n },\n "syscall/js.finalizeRef": (sp) => {\n sp >>>= 0;\n const id = this.mem.getUint32(sp + 8, true);\n this._goRefCounts[id]--;\n if (this._goRefCounts[id] === 0) {\n const v = this._values[id];\n this._values[id] = null;\n this._ids.delete(v);\n this._idPool.push(id);\n }\n },\n "syscall/js.stringVal": (sp) => {\n sp >>>= 0;\n storeValue(sp + 24, loadString(sp + 8));\n },\n "syscall/js.valueGet": (sp) => {\n sp >>>= 0;\n const result = Reflect.get(loadValue(sp + 8), loadString(sp + 16));\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 32, result);\n },\n "syscall/js.valueSet": (sp) => {\n sp >>>= 0;\n Reflect.set(loadValue(sp + 8), loadString(sp + 16), loadValue(sp + 32));\n },\n "syscall/js.valueDelete": (sp) => {\n sp >>>= 0;\n Reflect.deleteProperty(loadValue(sp + 8), loadString(sp + 16));\n },\n "syscall/js.valueIndex": (sp) => {\n sp >>>= 0;\n storeValue(sp + 24, Reflect.get(loadValue(sp + 8), getInt64(sp + 16)));\n },\n "syscall/js.valueSetIndex": (sp) => {\n sp >>>= 0;\n Reflect.set(loadValue(sp + 8), getInt64(sp + 16), loadValue(sp + 24));\n },\n "syscall/js.valueCall": (sp) => {\n sp >>>= 0;\n try {\n const v = loadValue(sp + 8);\n const m = Reflect.get(v, loadString(sp + 16));\n const args = loadSliceOfValues(sp + 32);\n const result = Reflect.apply(m, v, args);\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 56, result);\n this.mem.setUint8(sp + 64, 1);\n } catch (err) {\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 56, err);\n this.mem.setUint8(sp + 64, 0);\n }\n },\n "syscall/js.valueInvoke": (sp) => {\n sp >>>= 0;\n try {\n const v = loadValue(sp + 8);\n const args = loadSliceOfValues(sp + 16);\n const result = Reflect.apply(v, void 0, args);\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 40, result);\n this.mem.setUint8(sp + 48, 1);\n } catch (err) {\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 40, err);\n this.mem.setUint8(sp + 48, 0);\n }\n },\n "syscall/js.valueNew": (sp) => {\n sp >>>= 0;\n try {\n const v = loadValue(sp + 8);\n const args = loadSliceOfValues(sp + 16);\n const result = Reflect.construct(v, args);\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 40, result);\n this.mem.setUint8(sp + 48, 1);\n } catch (err) {\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 40, err);\n this.mem.setUint8(sp + 48, 0);\n }\n },\n "syscall/js.valueLength": (sp) => {\n sp >>>= 0;\n setInt64(sp + 16, parseInt(loadValue(sp + 8).length));\n },\n "syscall/js.valuePrepareString": (sp) => {\n sp >>>= 0;\n const str = encoder.encode(String(loadValue(sp + 8)));\n storeValue(sp + 16, str);\n setInt64(sp + 24, str.length);\n },\n "syscall/js.valueLoadString": (sp) => {\n sp >>>= 0;\n const str = loadValue(sp + 8);\n loadSlice(sp + 16).set(str);\n },\n "syscall/js.valueInstanceOf": (sp) => {\n sp >>>= 0;\n this.mem.setUint8(sp + 24, loadValue(sp + 8) instanceof loadValue(sp + 16) ? 1 : 0);\n },\n "syscall/js.copyBytesToGo": (sp) => {\n sp >>>= 0;\n const dst = loadSlice(sp + 8);\n const src = loadValue(sp + 32);\n if (!(src instanceof Uint8Array || src instanceof Uint8ClampedArray)) {\n this.mem.setUint8(sp + 48, 0);\n return;\n }\n const toCopy = src.subarray(0, dst.length);\n dst.set(toCopy);\n setInt64(sp + 40, toCopy.length);\n this.mem.setUint8(sp + 48, 1);\n },\n "syscall/js.copyBytesToJS": (sp) => {\n sp >>>= 0;\n const dst = loadValue(sp + 8);\n const src = loadSlice(sp + 16);\n if (!(dst instanceof Uint8Array || dst instanceof Uint8ClampedArray)) {\n this.mem.setUint8(sp + 48, 0);\n return;\n }\n const toCopy = src.subarray(0, dst.length);\n dst.set(toCopy);\n setInt64(sp + 40, toCopy.length);\n this.mem.setUint8(sp + 48, 1);\n },\n "debug": (value) => {\n console.log(value);\n }\n }\n };\n }\n async run(instance) {\n if (!(instance instanceof WebAssembly.Instance)) {\n throw new Error("Go.run: WebAssembly.Instance expected");\n }\n this._inst = instance;\n this.mem = new DataView(this._inst.exports.mem.buffer);\n this._values = [\n NaN,\n 0,\n null,\n true,\n false,\n globalThis,\n this\n ];\n this._goRefCounts = new Array(this._values.length).fill(Infinity);\n this._ids = /* @__PURE__ */ new Map([\n [0, 1],\n [null, 2],\n [true, 3],\n [false, 4],\n [globalThis, 5],\n [this, 6]\n ]);\n this._idPool = [];\n this.exited = false;\n let offset = 4096;\n const strPtr = (str) => {\n const ptr = offset;\n const bytes = encoder.encode(str + "\\0");\n new Uint8Array(this.mem.buffer, offset, bytes.length).set(bytes);\n offset += bytes.length;\n if (offset % 8 !== 0) {\n offset += 8 - offset % 8;\n }\n return ptr;\n };\n const argc = this.argv.length;\n const argvPtrs = [];\n this.argv.forEach((arg) => {\n argvPtrs.push(strPtr(arg));\n });\n argvPtrs.push(0);\n const keys = Object.keys(this.env).sort();\n keys.forEach((key) => {\n argvPtrs.push(strPtr(`${key}=${this.env[key]}`));\n });\n argvPtrs.push(0);\n const argv = offset;\n argvPtrs.forEach((ptr) => {\n this.mem.setUint32(offset, ptr, true);\n this.mem.setUint32(offset + 4, 0, true);\n offset += 8;\n });\n const wasmMinDataAddr = 4096 + 8192;\n if (offset >= wasmMinDataAddr) {\n throw new Error("total length of command line and environment variables exceeds limit");\n }\n this._inst.exports.run(argc, argv);\n if (this.exited) {\n this._resolveExitPromise();\n }\n await this._exitPromise;\n }\n _resume() {\n if (this.exited) {\n throw new Error("Go program has already exited");\n }\n this._inst.exports.resume();\n if (this.exited) {\n this._resolveExitPromise();\n }\n }\n _makeFuncWrapper(id) {\n const go = this;\n return function() {\n const event = { id, this: this, args: arguments };\n go._pendingEvent = event;\n go._resume();\n return event.result;\n };\n }\n };\n })();\n onmessage = ({ data: wasm }) => {\n let decoder = new TextDecoder();\n let fs = globalThis.fs;\n let stderr = "";\n fs.writeSync = (fd, buffer) => {\n if (fd === 1) {\n postMessage(buffer);\n } else if (fd === 2) {\n stderr += decoder.decode(buffer);\n let parts = stderr.split("\\n");\n if (parts.length > 1)\n console.log(parts.slice(0, -1).join("\\n"));\n stderr = parts[parts.length - 1];\n } else {\n throw new Error("Bad write");\n }\n return buffer.length;\n };\n let stdin = [];\n let resumeStdin;\n let stdinPos = 0;\n onmessage = ({ data }) => {\n if (data.length > 0) {\n stdin.push(data);\n if (resumeStdin)\n resumeStdin();\n }\n };\n fs.read = (fd, buffer, offset, length, position, callback) => {\n if (fd !== 0 || offset !== 0 || length !== buffer.length || position !== null) {\n throw new Error("Bad read");\n }\n if (stdin.length === 0) {\n resumeStdin = () => fs.read(fd, buffer, offset, length, position, callback);\n return;\n }\n let first = stdin[0];\n let count = Math.max(0, Math.min(length, first.length - stdinPos));\n buffer.set(first.subarray(stdinPos, stdinPos + count), offset);\n stdinPos += count;\n if (stdinPos === first.length) {\n stdin.shift();\n stdinPos = 0;\n }\n callback(null, count);\n };\n let go = new globalThis.Go();\n go.argv = ["", `--service=${"0.14.39"}`];\n if (wasm instanceof WebAssembly.Module) {\n WebAssembly.instantiate(wasm, go.importObject).then((instance) => go.run(instance));\n } else {\n WebAssembly.instantiate(wasm, go.importObject).then(({ instance }) => go.run(instance));\n }\n };\n return (m) => onmessage(m);\n })'}(postMessage)`], { type: "text/javascript" });
1773
+ let blob = new Blob([`onmessage=${'((postMessage) => {\n // Copyright 2018 The Go Authors. All rights reserved.\n // Use of this source code is governed by a BSD-style\n // license that can be found in the LICENSE file.\n let onmessage;\n let globalThis = {};\n for (let o = self; o; o = Object.getPrototypeOf(o))\n for (let k of Object.getOwnPropertyNames(o))\n if (!(k in globalThis))\n Object.defineProperty(globalThis, k, { get: () => self[k] });\n "use strict";\n (() => {\n const enosys = () => {\n const err = new Error("not implemented");\n err.code = "ENOSYS";\n return err;\n };\n if (!globalThis.fs) {\n let outputBuf = "";\n globalThis.fs = {\n constants: { O_WRONLY: -1, O_RDWR: -1, O_CREAT: -1, O_TRUNC: -1, O_APPEND: -1, O_EXCL: -1 },\n writeSync(fd, buf) {\n outputBuf += decoder.decode(buf);\n const nl = outputBuf.lastIndexOf("\\n");\n if (nl != -1) {\n console.log(outputBuf.substr(0, nl));\n outputBuf = outputBuf.substr(nl + 1);\n }\n return buf.length;\n },\n write(fd, buf, offset, length, position, callback) {\n if (offset !== 0 || length !== buf.length || position !== null) {\n callback(enosys());\n return;\n }\n const n = this.writeSync(fd, buf);\n callback(null, n);\n },\n chmod(path, mode, callback) {\n callback(enosys());\n },\n chown(path, uid, gid, callback) {\n callback(enosys());\n },\n close(fd, callback) {\n callback(enosys());\n },\n fchmod(fd, mode, callback) {\n callback(enosys());\n },\n fchown(fd, uid, gid, callback) {\n callback(enosys());\n },\n fstat(fd, callback) {\n callback(enosys());\n },\n fsync(fd, callback) {\n callback(null);\n },\n ftruncate(fd, length, callback) {\n callback(enosys());\n },\n lchown(path, uid, gid, callback) {\n callback(enosys());\n },\n link(path, link, callback) {\n callback(enosys());\n },\n lstat(path, callback) {\n callback(enosys());\n },\n mkdir(path, perm, callback) {\n callback(enosys());\n },\n open(path, flags, mode, callback) {\n callback(enosys());\n },\n read(fd, buffer, offset, length, position, callback) {\n callback(enosys());\n },\n readdir(path, callback) {\n callback(enosys());\n },\n readlink(path, callback) {\n callback(enosys());\n },\n rename(from, to, callback) {\n callback(enosys());\n },\n rmdir(path, callback) {\n callback(enosys());\n },\n stat(path, callback) {\n callback(enosys());\n },\n symlink(path, link, callback) {\n callback(enosys());\n },\n truncate(path, length, callback) {\n callback(enosys());\n },\n unlink(path, callback) {\n callback(enosys());\n },\n utimes(path, atime, mtime, callback) {\n callback(enosys());\n }\n };\n }\n if (!globalThis.process) {\n globalThis.process = {\n getuid() {\n return -1;\n },\n getgid() {\n return -1;\n },\n geteuid() {\n return -1;\n },\n getegid() {\n return -1;\n },\n getgroups() {\n throw enosys();\n },\n pid: -1,\n ppid: -1,\n umask() {\n throw enosys();\n },\n cwd() {\n throw enosys();\n },\n chdir() {\n throw enosys();\n }\n };\n }\n if (!globalThis.crypto) {\n throw new Error("globalThis.crypto is not available, polyfill required (crypto.getRandomValues only)");\n }\n if (!globalThis.performance) {\n throw new Error("globalThis.performance is not available, polyfill required (performance.now only)");\n }\n if (!globalThis.TextEncoder) {\n throw new Error("globalThis.TextEncoder is not available, polyfill required");\n }\n if (!globalThis.TextDecoder) {\n throw new Error("globalThis.TextDecoder is not available, polyfill required");\n }\n const encoder = new TextEncoder("utf-8");\n const decoder = new TextDecoder("utf-8");\n globalThis.Go = class {\n constructor() {\n this.argv = ["js"];\n this.env = {};\n this.exit = (code) => {\n if (code !== 0) {\n console.warn("exit code:", code);\n }\n };\n this._exitPromise = new Promise((resolve) => {\n this._resolveExitPromise = resolve;\n });\n this._pendingEvent = null;\n this._scheduledTimeouts = /* @__PURE__ */ new Map();\n this._nextCallbackTimeoutID = 1;\n const setInt64 = (addr, v) => {\n this.mem.setUint32(addr + 0, v, true);\n this.mem.setUint32(addr + 4, Math.floor(v / 4294967296), true);\n };\n const getInt64 = (addr) => {\n const low = this.mem.getUint32(addr + 0, true);\n const high = this.mem.getInt32(addr + 4, true);\n return low + high * 4294967296;\n };\n const loadValue = (addr) => {\n const f = this.mem.getFloat64(addr, true);\n if (f === 0) {\n return void 0;\n }\n if (!isNaN(f)) {\n return f;\n }\n const id = this.mem.getUint32(addr, true);\n return this._values[id];\n };\n const storeValue = (addr, v) => {\n const nanHead = 2146959360;\n if (typeof v === "number" && v !== 0) {\n if (isNaN(v)) {\n this.mem.setUint32(addr + 4, nanHead, true);\n this.mem.setUint32(addr, 0, true);\n return;\n }\n this.mem.setFloat64(addr, v, true);\n return;\n }\n if (v === void 0) {\n this.mem.setFloat64(addr, 0, true);\n return;\n }\n let id = this._ids.get(v);\n if (id === void 0) {\n id = this._idPool.pop();\n if (id === void 0) {\n id = this._values.length;\n }\n this._values[id] = v;\n this._goRefCounts[id] = 0;\n this._ids.set(v, id);\n }\n this._goRefCounts[id]++;\n let typeFlag = 0;\n switch (typeof v) {\n case "object":\n if (v !== null) {\n typeFlag = 1;\n }\n break;\n case "string":\n typeFlag = 2;\n break;\n case "symbol":\n typeFlag = 3;\n break;\n case "function":\n typeFlag = 4;\n break;\n }\n this.mem.setUint32(addr + 4, nanHead | typeFlag, true);\n this.mem.setUint32(addr, id, true);\n };\n const loadSlice = (addr) => {\n const array = getInt64(addr + 0);\n const len = getInt64(addr + 8);\n return new Uint8Array(this._inst.exports.mem.buffer, array, len);\n };\n const loadSliceOfValues = (addr) => {\n const array = getInt64(addr + 0);\n const len = getInt64(addr + 8);\n const a = new Array(len);\n for (let i = 0; i < len; i++) {\n a[i] = loadValue(array + i * 8);\n }\n return a;\n };\n const loadString = (addr) => {\n const saddr = getInt64(addr + 0);\n const len = getInt64(addr + 8);\n return decoder.decode(new DataView(this._inst.exports.mem.buffer, saddr, len));\n };\n const timeOrigin = Date.now() - performance.now();\n this.importObject = {\n go: {\n "runtime.wasmExit": (sp) => {\n sp >>>= 0;\n const code = this.mem.getInt32(sp + 8, true);\n this.exited = true;\n delete this._inst;\n delete this._values;\n delete this._goRefCounts;\n delete this._ids;\n delete this._idPool;\n this.exit(code);\n },\n "runtime.wasmWrite": (sp) => {\n sp >>>= 0;\n const fd = getInt64(sp + 8);\n const p = getInt64(sp + 16);\n const n = this.mem.getInt32(sp + 24, true);\n globalThis.fs.writeSync(fd, new Uint8Array(this._inst.exports.mem.buffer, p, n));\n },\n "runtime.resetMemoryDataView": (sp) => {\n sp >>>= 0;\n this.mem = new DataView(this._inst.exports.mem.buffer);\n },\n "runtime.nanotime1": (sp) => {\n sp >>>= 0;\n setInt64(sp + 8, (timeOrigin + performance.now()) * 1e6);\n },\n "runtime.walltime": (sp) => {\n sp >>>= 0;\n const msec = new Date().getTime();\n setInt64(sp + 8, msec / 1e3);\n this.mem.setInt32(sp + 16, msec % 1e3 * 1e6, true);\n },\n "runtime.scheduleTimeoutEvent": (sp) => {\n sp >>>= 0;\n const id = this._nextCallbackTimeoutID;\n this._nextCallbackTimeoutID++;\n this._scheduledTimeouts.set(id, setTimeout(\n () => {\n this._resume();\n while (this._scheduledTimeouts.has(id)) {\n console.warn("scheduleTimeoutEvent: missed timeout event");\n this._resume();\n }\n },\n getInt64(sp + 8) + 1\n ));\n this.mem.setInt32(sp + 16, id, true);\n },\n "runtime.clearTimeoutEvent": (sp) => {\n sp >>>= 0;\n const id = this.mem.getInt32(sp + 8, true);\n clearTimeout(this._scheduledTimeouts.get(id));\n this._scheduledTimeouts.delete(id);\n },\n "runtime.getRandomData": (sp) => {\n sp >>>= 0;\n crypto.getRandomValues(loadSlice(sp + 8));\n },\n "syscall/js.finalizeRef": (sp) => {\n sp >>>= 0;\n const id = this.mem.getUint32(sp + 8, true);\n this._goRefCounts[id]--;\n if (this._goRefCounts[id] === 0) {\n const v = this._values[id];\n this._values[id] = null;\n this._ids.delete(v);\n this._idPool.push(id);\n }\n },\n "syscall/js.stringVal": (sp) => {\n sp >>>= 0;\n storeValue(sp + 24, loadString(sp + 8));\n },\n "syscall/js.valueGet": (sp) => {\n sp >>>= 0;\n const result = Reflect.get(loadValue(sp + 8), loadString(sp + 16));\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 32, result);\n },\n "syscall/js.valueSet": (sp) => {\n sp >>>= 0;\n Reflect.set(loadValue(sp + 8), loadString(sp + 16), loadValue(sp + 32));\n },\n "syscall/js.valueDelete": (sp) => {\n sp >>>= 0;\n Reflect.deleteProperty(loadValue(sp + 8), loadString(sp + 16));\n },\n "syscall/js.valueIndex": (sp) => {\n sp >>>= 0;\n storeValue(sp + 24, Reflect.get(loadValue(sp + 8), getInt64(sp + 16)));\n },\n "syscall/js.valueSetIndex": (sp) => {\n sp >>>= 0;\n Reflect.set(loadValue(sp + 8), getInt64(sp + 16), loadValue(sp + 24));\n },\n "syscall/js.valueCall": (sp) => {\n sp >>>= 0;\n try {\n const v = loadValue(sp + 8);\n const m = Reflect.get(v, loadString(sp + 16));\n const args = loadSliceOfValues(sp + 32);\n const result = Reflect.apply(m, v, args);\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 56, result);\n this.mem.setUint8(sp + 64, 1);\n } catch (err) {\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 56, err);\n this.mem.setUint8(sp + 64, 0);\n }\n },\n "syscall/js.valueInvoke": (sp) => {\n sp >>>= 0;\n try {\n const v = loadValue(sp + 8);\n const args = loadSliceOfValues(sp + 16);\n const result = Reflect.apply(v, void 0, args);\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 40, result);\n this.mem.setUint8(sp + 48, 1);\n } catch (err) {\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 40, err);\n this.mem.setUint8(sp + 48, 0);\n }\n },\n "syscall/js.valueNew": (sp) => {\n sp >>>= 0;\n try {\n const v = loadValue(sp + 8);\n const args = loadSliceOfValues(sp + 16);\n const result = Reflect.construct(v, args);\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 40, result);\n this.mem.setUint8(sp + 48, 1);\n } catch (err) {\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 40, err);\n this.mem.setUint8(sp + 48, 0);\n }\n },\n "syscall/js.valueLength": (sp) => {\n sp >>>= 0;\n setInt64(sp + 16, parseInt(loadValue(sp + 8).length));\n },\n "syscall/js.valuePrepareString": (sp) => {\n sp >>>= 0;\n const str = encoder.encode(String(loadValue(sp + 8)));\n storeValue(sp + 16, str);\n setInt64(sp + 24, str.length);\n },\n "syscall/js.valueLoadString": (sp) => {\n sp >>>= 0;\n const str = loadValue(sp + 8);\n loadSlice(sp + 16).set(str);\n },\n "syscall/js.valueInstanceOf": (sp) => {\n sp >>>= 0;\n this.mem.setUint8(sp + 24, loadValue(sp + 8) instanceof loadValue(sp + 16) ? 1 : 0);\n },\n "syscall/js.copyBytesToGo": (sp) => {\n sp >>>= 0;\n const dst = loadSlice(sp + 8);\n const src = loadValue(sp + 32);\n if (!(src instanceof Uint8Array || src instanceof Uint8ClampedArray)) {\n this.mem.setUint8(sp + 48, 0);\n return;\n }\n const toCopy = src.subarray(0, dst.length);\n dst.set(toCopy);\n setInt64(sp + 40, toCopy.length);\n this.mem.setUint8(sp + 48, 1);\n },\n "syscall/js.copyBytesToJS": (sp) => {\n sp >>>= 0;\n const dst = loadValue(sp + 8);\n const src = loadSlice(sp + 16);\n if (!(dst instanceof Uint8Array || dst instanceof Uint8ClampedArray)) {\n this.mem.setUint8(sp + 48, 0);\n return;\n }\n const toCopy = src.subarray(0, dst.length);\n dst.set(toCopy);\n setInt64(sp + 40, toCopy.length);\n this.mem.setUint8(sp + 48, 1);\n },\n "debug": (value) => {\n console.log(value);\n }\n }\n };\n }\n async run(instance) {\n if (!(instance instanceof WebAssembly.Instance)) {\n throw new Error("Go.run: WebAssembly.Instance expected");\n }\n this._inst = instance;\n this.mem = new DataView(this._inst.exports.mem.buffer);\n this._values = [\n NaN,\n 0,\n null,\n true,\n false,\n globalThis,\n this\n ];\n this._goRefCounts = new Array(this._values.length).fill(Infinity);\n this._ids = /* @__PURE__ */ new Map([\n [0, 1],\n [null, 2],\n [true, 3],\n [false, 4],\n [globalThis, 5],\n [this, 6]\n ]);\n this._idPool = [];\n this.exited = false;\n let offset = 4096;\n const strPtr = (str) => {\n const ptr = offset;\n const bytes = encoder.encode(str + "\\0");\n new Uint8Array(this.mem.buffer, offset, bytes.length).set(bytes);\n offset += bytes.length;\n if (offset % 8 !== 0) {\n offset += 8 - offset % 8;\n }\n return ptr;\n };\n const argc = this.argv.length;\n const argvPtrs = [];\n this.argv.forEach((arg) => {\n argvPtrs.push(strPtr(arg));\n });\n argvPtrs.push(0);\n const keys = Object.keys(this.env).sort();\n keys.forEach((key) => {\n argvPtrs.push(strPtr(`${key}=${this.env[key]}`));\n });\n argvPtrs.push(0);\n const argv = offset;\n argvPtrs.forEach((ptr) => {\n this.mem.setUint32(offset, ptr, true);\n this.mem.setUint32(offset + 4, 0, true);\n offset += 8;\n });\n const wasmMinDataAddr = 4096 + 8192;\n if (offset >= wasmMinDataAddr) {\n throw new Error("total length of command line and environment variables exceeds limit");\n }\n this._inst.exports.run(argc, argv);\n if (this.exited) {\n this._resolveExitPromise();\n }\n await this._exitPromise;\n }\n _resume() {\n if (this.exited) {\n throw new Error("Go program has already exited");\n }\n this._inst.exports.resume();\n if (this.exited) {\n this._resolveExitPromise();\n }\n }\n _makeFuncWrapper(id) {\n const go = this;\n return function() {\n const event = { id, this: this, args: arguments };\n go._pendingEvent = event;\n go._resume();\n return event.result;\n };\n }\n };\n })();\n onmessage = ({ data: wasm }) => {\n let decoder = new TextDecoder();\n let fs = globalThis.fs;\n let stderr = "";\n fs.writeSync = (fd, buffer) => {\n if (fd === 1) {\n postMessage(buffer);\n } else if (fd === 2) {\n stderr += decoder.decode(buffer);\n let parts = stderr.split("\\n");\n if (parts.length > 1)\n console.log(parts.slice(0, -1).join("\\n"));\n stderr = parts[parts.length - 1];\n } else {\n throw new Error("Bad write");\n }\n return buffer.length;\n };\n let stdin = [];\n let resumeStdin;\n let stdinPos = 0;\n onmessage = ({ data }) => {\n if (data.length > 0) {\n stdin.push(data);\n if (resumeStdin)\n resumeStdin();\n }\n };\n fs.read = (fd, buffer, offset, length, position, callback) => {\n if (fd !== 0 || offset !== 0 || length !== buffer.length || position !== null) {\n throw new Error("Bad read");\n }\n if (stdin.length === 0) {\n resumeStdin = () => fs.read(fd, buffer, offset, length, position, callback);\n return;\n }\n let first = stdin[0];\n let count = Math.max(0, Math.min(length, first.length - stdinPos));\n buffer.set(first.subarray(stdinPos, stdinPos + count), offset);\n stdinPos += count;\n if (stdinPos === first.length) {\n stdin.shift();\n stdinPos = 0;\n }\n callback(null, count);\n };\n let go = new globalThis.Go();\n go.argv = ["", `--service=${"0.14.53"}`];\n if (wasm instanceof WebAssembly.Module) {\n WebAssembly.instantiate(wasm, go.importObject).then((instance) => go.run(instance));\n } else {\n WebAssembly.instantiate(wasm, go.importObject).then(({ instance }) => go.run(instance));\n }\n };\n return (m) => onmessage(m);\n })'}(postMessage)`], { type: "text/javascript" });
1737
1774
  worker = new Worker(URL.createObjectURL(blob));
1738
1775
  } else {
1739
1776
  let onmessage = ((postMessage) => {
@@ -2028,13 +2065,16 @@ var startRunningService = async (wasmURL, wasmModule, useWorker) => {
2028
2065
  sp >>>= 0;
2029
2066
  const id = this._nextCallbackTimeoutID;
2030
2067
  this._nextCallbackTimeoutID++;
2031
- this._scheduledTimeouts.set(id, setTimeout(() => {
2032
- this._resume();
2033
- while (this._scheduledTimeouts.has(id)) {
2034
- console.warn("scheduleTimeoutEvent: missed timeout event");
2068
+ this._scheduledTimeouts.set(id, setTimeout(
2069
+ () => {
2035
2070
  this._resume();
2036
- }
2037
- }, getInt64(sp + 8) + 1));
2071
+ while (this._scheduledTimeouts.has(id)) {
2072
+ console.warn("scheduleTimeoutEvent: missed timeout event");
2073
+ this._resume();
2074
+ }
2075
+ },
2076
+ getInt64(sp + 8) + 1
2077
+ ));
2038
2078
  this.mem.setInt32(sp + 16, id, true);
2039
2079
  },
2040
2080
  "runtime.clearTimeoutEvent": (sp) => {
@@ -2312,7 +2352,7 @@ var startRunningService = async (wasmURL, wasmModule, useWorker) => {
2312
2352
  callback(null, count);
2313
2353
  };
2314
2354
  let go = new globalThis.Go();
2315
- go.argv = ["", `--service=${"0.14.39"}`];
2355
+ go.argv = ["", `--service=${"0.14.53"}`];
2316
2356
  if (wasm instanceof WebAssembly.Module) {
2317
2357
  WebAssembly.instantiate(wasm, go.importObject).then((instance) => go.run(instance));
2318
2358
  } else {
@@ -2335,7 +2375,7 @@ var startRunningService = async (wasmURL, wasmModule, useWorker) => {
2335
2375
  worker.postMessage(bytes);
2336
2376
  },
2337
2377
  isSync: false,
2338
- isBrowser: true,
2378
+ isWriteUnavailable: true,
2339
2379
  esbuild: browser_exports
2340
2380
  });
2341
2381
  longLivedService = {