@swf2es/desktop 0.1.14 → 0.1.16

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.
Files changed (52) hide show
  1. package/README.md +48 -12
  2. package/dist/launch/launch.js +4 -1
  3. package/dist/launch/launch.js.map +1 -1
  4. package/dist/main/main.js +102 -14
  5. package/dist/main/main.js.map +1 -1
  6. package/dist/main/netlog.d.ts +21 -0
  7. package/dist/main/netlog.d.ts.map +1 -0
  8. package/dist/main/netlog.js +90 -0
  9. package/dist/main/netlog.js.map +1 -0
  10. package/dist/main/sockets.d.ts +4 -2
  11. package/dist/main/sockets.d.ts.map +1 -1
  12. package/dist/main/sockets.js +15 -2
  13. package/dist/main/sockets.js.map +1 -1
  14. package/dist/main/websocket-connections.d.ts +62 -0
  15. package/dist/main/websocket-connections.d.ts.map +1 -0
  16. package/dist/main/websocket-connections.js +198 -0
  17. package/dist/main/websocket-connections.js.map +1 -0
  18. package/dist/main/websockets.d.ts +11 -0
  19. package/dist/main/websockets.d.ts.map +1 -0
  20. package/dist/main/websockets.js +93 -0
  21. package/dist/main/websockets.js.map +1 -0
  22. package/dist/preload/preload.cjs +20 -0
  23. package/dist/preload/preload.cjs.map +1 -1
  24. package/dist/renderer/air.d.ts.map +1 -1
  25. package/dist/renderer/air.js +1 -0
  26. package/dist/renderer/air.js.map +1 -1
  27. package/dist/renderer/full-screen.d.ts +4 -0
  28. package/dist/renderer/full-screen.d.ts.map +1 -0
  29. package/dist/renderer/full-screen.js +32 -0
  30. package/dist/renderer/full-screen.js.map +1 -0
  31. package/dist/renderer/index.d.ts.map +1 -1
  32. package/dist/renderer/index.js +4 -0
  33. package/dist/renderer/index.js.map +1 -1
  34. package/dist/renderer/websockets.d.ts +4 -0
  35. package/dist/renderer/websockets.d.ts.map +1 -0
  36. package/dist/renderer/websockets.js +36 -0
  37. package/dist/renderer/websockets.js.map +1 -0
  38. package/dist/shared/api.d.ts +53 -0
  39. package/dist/shared/api.d.ts.map +1 -1
  40. package/package.json +7 -7
  41. package/src/launch/launch.ts +5 -2
  42. package/src/main/main.ts +128 -15
  43. package/src/main/netlog.ts +108 -0
  44. package/src/main/sockets.ts +17 -1
  45. package/src/main/websocket-connections.ts +264 -0
  46. package/src/main/websockets.ts +115 -0
  47. package/src/preload/preload.cts +23 -0
  48. package/src/renderer/air.ts +1 -0
  49. package/src/renderer/full-screen.ts +44 -0
  50. package/src/renderer/index.ts +4 -0
  51. package/src/renderer/websockets.ts +43 -0
  52. package/src/shared/api.ts +40 -0
package/README.md CHANGED
@@ -9,6 +9,11 @@ npx @swf2es/desktop [options] [file.swf | https://host/movie.swf]
9
9
  npx @swf2es/desktop [options] app.xml [root-dir] [-- arguments...]
10
10
  ```
11
11
 
12
+ npx takes the first `--` on its command line as the end of its own
13
+ options, so with arguments for the application write one before the
14
+ package too: `npx -- @swf2es/desktop app.xml -- --server=local`. The
15
+ installed command, `swf2es-desktop`, needs only the second.
16
+
12
17
  Node 22.18 or later runs it. The first run downloads Electron's binary
13
18
  (about 100 MB), once; installed, the command is `swf2es-desktop`. A
14
19
  relative path is taken from the directory the command was run in.
@@ -32,7 +37,11 @@ fetch-electron` does so ahead, for the tests.
32
37
  open; File › Open Recent lists the last ten, files and URLs. The
33
38
  window takes the SWF's name. View › Reload Movie (Ctrl+R) starts it
34
39
  again, View › Toggle Full Screen (F11) fills the screen, and File ›
35
- Close Movie (Ctrl+W) stops it. Opening another SWF destroys the
40
+ Close Movie (Ctrl+W) stops it. A SWF's own full screen
41
+ (`Stage.displayState`) is the window's too: it needs no click, as in AIR
42
+ and Flash's projector, draws its `fullScreenSourceRect` alone where it
43
+ set one, and ends with Esc or F11, which the SWF hears of as a
44
+ `FullScreenEvent`. Opening another SWF destroys the
36
45
  player before the next starts.
37
46
  - **Stage3D.** View › Stage3D (Experimental) opts in to Context3D playback.
38
47
  It starts off, remembers the choice in `settings.json`, and restarts the
@@ -53,15 +62,29 @@ fetch-electron` does so ahead, for the tests.
53
62
  `settings.json` in Electron's user data directory.
54
63
  - **Trace.** `--trace` prints what the page logs, a SWF's `trace()` among
55
64
  it, to the terminal: trace lines to stdout, warnings and errors to stderr.
65
+ - **Network log.** `--log-network` prints each of the SWF's requests to
66
+ stderr as it is answered (`swf2es: net GET https://… 200 12.3 kB 48 ms`),
67
+ an aborted one too, and each socket and each WebSocket of an AIR
68
+ application as it is asked for, opened, refused, failed and closed
69
+ (`swf2es: websocket #1 connecting to ws://…`, `open`, `close 1000`). A
70
+ refused request is said with or without it. The
71
+ window's DevTools show none of these in their Network tab: the page has
72
+ no network, and the main process sends them.
73
+ `--log-sockets` prints those lines and each message a socket or a
74
+ WebSocket sends (`>`) and receives (`<`): its size and its first 512
75
+ bytes, as text where it is text and in hex otherwise, a WebSocket's
76
+ text message as its text. That is whatever the SWF sends, a login
77
+ and its password among it: mind where the terminal's output goes.
56
78
  - **Certificates.** `--ignore-certificate-errors` leaves every HTTPS
57
- server's certificate unverified for this run, and
79
+ server's certificate, and every `wss:` server's that an AIR
80
+ application's WebSocket connects to, unverified for this run, and
58
81
  `--ignore-certificate-errors=dev.test,localhost` those hosts' alone, on
59
82
  any port: for a server of your own whose certificate it signed itself.
60
83
  Whoever is between you and such a host can then read and change what the
61
- SWF loads from it. It is never kept in the settings, and the app says on
84
+ SWF loads from it or says to it. It is never kept in the settings, and the app says on
62
85
  stderr, each time it starts with it, which hosts go unverified. The page
63
- itself has no network (the main process makes a SWF's requests), so
64
- nothing but those requests is affected.
86
+ itself has no network (the main process makes a SWF's requests and
87
+ connections), so nothing but those is affected.
65
88
  - **Sandbox.** A SWF plays in the sandbox Flash Player gave a local SWF,
66
89
  by its FileAttributes' UseNetwork bit. Without it,
67
90
  local-with-filesystem: it reads the files in its own directory and below
@@ -90,21 +113,33 @@ fetch-electron` does so ahead, for the tests.
90
113
  - **Sockets** (`flash.net.Socket`) connect over TCP through the main
91
114
  process. The first connection to each server asks: Allow Once, Always
92
115
  Allow for This SWF (remembered in `settings.json`) or Deny.
116
+ - **WebSockets** (`air.net.WebSocket`, AIR's and not Flash Player's)
117
+ connect through the main process too, with the WebSocket client of
118
+ Electron's Node, for an AIR application alone: to any `ws:` or `wss:`
119
+ URL, unasked, text and binary messages, subprotocols and close codes.
120
+ As in a browser, it sends the close codes 1000 and 3000 to 4999 (any
121
+ other closes with none), answers a server's pings itself and sends
122
+ none of the application's own.
93
123
  - **AIR applications** run by their descriptor (`app.xml`), as adl runs
94
124
  them: its first window's content SWF, from the descriptor's directory
95
125
  or the root directory given after it, at the descriptor's size and with
96
126
  its title, the arguments after `--` handed to its InvokeEvent. It plays
97
- with AIR's API (NativeApplication, the window, `flash.filesystem.File`)
127
+ with AIR's API (NativeApplication, the window, the system's displays as
128
+ `flash.display.Screen`, `flash.filesystem.File`)
98
129
  in AIR's application sandbox: it is played from `app:/`, reads any
99
130
  local file through File, FileStream and its `app:`, `app-storage:` and
100
131
  `file:` URLs, writes any file but through its `app:` URLs, as AIR does,
101
- and reaches the network and sockets without Flash's policy files or a
102
- prompt, as an installed application does. Its storage directory is
132
+ and reaches the network, sockets and WebSockets (`air.net.WebSocket`)
133
+ without Flash's policy files or a prompt, as an installed application
134
+ does. Its storage directory is
103
135
  under the app's user data, by its id, and its `EncryptedLocalStore`
104
136
  beside it, encrypted by the system's keychain (Electron's
105
137
  `safeStorage`) where there is one. Only the application playing has
106
138
  that reach, and only while it plays; run one you trust, as you would
107
- install it.
139
+ install it. A descriptor chosen with Open…, dropped on the window or
140
+ opened with the app runs the application too, from its own directory
141
+ with no arguments; the app asks first, once, until the descriptor
142
+ leaves the recent list.
108
143
  - **File dialogs** requested by AS2 or AS3 FileReference use native open
109
144
  and save dialogs after a click or key. Uploads and downloads use the
110
145
  same network permissions as other data requests.
@@ -115,11 +150,12 @@ fetch-electron` does so ahead, for the tests.
115
150
  ## Layout
116
151
 
117
152
  ```
118
- src/main/ the main process: window, menu, settings, swf2es://, sockets and the network
153
+ src/main/ the main process: window, menu, settings, swf2es://, sockets, WebSockets
154
+ and the network
119
155
  src/preload/ window.swf2esDesktop, the page's only way to the main process, and the
120
156
  URL dialog's window.swf2esPrompt
121
- src/renderer/ the page: the element, the welcome and library panels, the socket and
122
- fetch hosts; and the URL dialog's page
157
+ src/renderer/ the page: the element, the welcome and library panels, the socket,
158
+ WebSocket and fetch hosts; and the URL dialog's page
123
159
  src/shared/ api.ts, the types of window.swf2esDesktop
124
160
  static/ index.html (with the page's import map), open-url.html and style.css
125
161
  src/launch/ the swf2es-desktop command, and `start`: finds Electron, fetching its
@@ -3,7 +3,7 @@
3
3
  // swf2es-desktop command of the package npm installs, and a checkout's
4
4
  // `start`.
5
5
  //
6
- // npx @swf2es/desktop [--trace] [file.swf | https://host/movie.swf]
6
+ // npx @swf2es/desktop [--trace] [--log-network] [file.swf | https://host/movie.swf]
7
7
  // npx @swf2es/desktop [--trace] app.xml [root-dir] [-- arguments...]
8
8
  // pnpm --filter @swf2es/desktop start ... the same, in a checkout
9
9
  //
@@ -61,6 +61,9 @@ if (!build || appRoot.includes(`${join("node_modules", "@swf2es")}`)) {
61
61
  build = JSON.parse(readFileSync(join(appRoot, "package.json"), "utf8")).version;
62
62
  }
63
63
  const env = { ...process.env, SWF2ES_DESKTOP_BUILD: build };
64
+ // Set by tools that are Electron apps themselves, an editor's terminals and tasks among them,
65
+ // for the node they run: here it would make Electron run the app's main module as plain node.
66
+ delete env.ELECTRON_RUN_AS_NODE;
64
67
  const child = spawn(electronBinary(), [appRoot, ...args], { stdio: "inherit", env });
65
68
  child.on("exit", (code, signal) => process.exit(signal ? 1 : (code ?? 0)));
66
69
  for (const signal of ["SIGINT", "SIGTERM"]) {
@@ -1 +1 @@
1
- {"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/launch/launch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/launch/launch.ts"],"names":[],"mappings":"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"}
package/dist/main/main.js CHANGED
@@ -5,7 +5,7 @@
5
5
  // electron apps/desktop [--trace] [file.swf | http(s)://host/movie.swf]
6
6
  // electron apps/desktop [--trace] app.xml [root-dir] [-- arguments...]
7
7
  //
8
- // --ignore-certificate-errors[=host,...] leaves HTTPS certificates unchecked.
8
+ // --ignore-certificate-errors[=host,...] leaves HTTPS and WSS certificates unchecked.
9
9
  //
10
10
  // The second runs an AIR application by its descriptor, as adl does.
11
11
  import { statSync } from "node:fs";
@@ -13,14 +13,17 @@ import { open as openFile, readFile, realpath } from "node:fs/promises";
13
13
  import { basename, dirname, isAbsolute, join, resolve } from "node:path";
14
14
  import { fileURLToPath } from "node:url";
15
15
  import { fileAttributes } from "@swf2es/format";
16
- import { app, BrowserWindow, dialog, ipcMain, Menu, safeStorage, session, shell, } from "electron";
16
+ import { app, BrowserWindow, dialog, ipcMain, Menu, safeStorage, screen, session, shell, } from "electron";
17
17
  import { airCommand, airLaunch, createDirectoryOf, EncryptedItems, listOf, moveOf, readOf, removeOf, statOf, writeOf, } from "./air.js";
18
18
  import { bridgeFiles } from "./files.js";
19
+ import { failureLine, requestLine } from "./netlog.js";
19
20
  import { Network, Refused, unverifiedHosts } from "./network.js";
20
21
  import { APP_ORIGIN, registerScheme, serve } from "./protocol.js";
21
22
  import { Sandbox } from "./sandbox.js";
22
23
  import { SettingsFile } from "./settings.js";
23
24
  import { bridgeSockets } from "./sockets.js";
25
+ import { hasWebSocket, unverifiedDispatcher, webSocketOpener } from "./websocket-connections.js";
26
+ import { bridgeWebSockets } from "./websockets.js";
24
27
  const preload = fileURLToPath(new URL("../preload/preload.cjs", import.meta.url));
25
28
  const promptPreload = fileURLToPath(new URL("../preload/prompt.cjs", import.meta.url));
26
29
  // The window's and the taskbar's icon, the project's, where the platform takes one from the window.
@@ -40,6 +43,11 @@ registerScheme();
40
43
  app.enableSandbox();
41
44
  /** --trace: what the page logs, a SWF's trace() among it, goes to the terminal. */
42
45
  const trace = process.argv.includes("--trace");
46
+ // Each request and socket of the SWF's said on stderr: the page's DevTools show none of them.
47
+ // --log-sockets says what each socket sends and receives as well, and so the rest too.
48
+ const logSockets = process.argv.includes("--log-sockets");
49
+ const logNetwork = logSockets || process.argv.includes("--log-network");
50
+ const netLog = logNetwork ? (line) => process.stderr.write(`${line}\n`) : null;
43
51
  const sandbox = new Sandbox();
44
52
  /** The SWF's http and https requests, judged as Flash's sandboxes had them. */
45
53
  /**
@@ -51,12 +59,17 @@ const sandbox = new Sandbox();
51
59
  const unverified = unverifiedHosts(process.argv.slice(1));
52
60
  if (unverified) {
53
61
  process.stderr.write(unverified.all
54
- ? "swf2es: --ignore-certificate-errors: no HTTPS server's certificate is verified\n"
62
+ ? "swf2es: --ignore-certificate-errors: no HTTPS or WSS server's certificate is verified\n"
55
63
  : `swf2es: --ignore-certificate-errors: certificates are not verified for ${unverified.hosts.join(", ") || "no host"}\n`);
56
64
  }
57
- const network = new Network({
58
- unverified: (host) => !!unverified && (unverified.all || unverified.hosts.includes(host.toLowerCase())),
59
- });
65
+ const unverifiedHost = (host) => !!unverified && (unverified.all || unverified.hosts.includes(host.toLowerCase()));
66
+ const network = new Network({ unverified: unverifiedHost });
67
+ // What opens an AIR application's WebSockets: the global's client, a wss: server's certificate
68
+ // unchecked where the switch names its host.
69
+ const insecureWebSockets = unverified ? unverifiedDispatcher() : null;
70
+ if (unverified && !insecureWebSockets) {
71
+ process.stderr.write("swf2es: --ignore-certificate-errors: a WebSocket's certificate is verified all the same\n");
72
+ }
60
73
  /** What the page's requests under way abort with, by the preload's number. */
61
74
  const requests = new Map();
62
75
  let settings;
@@ -298,6 +311,33 @@ async function openUrl(text) {
298
311
  sandbox.playRemote(url.href);
299
312
  show(url.href, { url: url.href, name, sandbox: "remote" }, { kind: "remote", url: url.href });
300
313
  }
314
+ /**
315
+ * Open the file the user chose in the dialog, dropped on the window or
316
+ * opened with the app: an AIR application's descriptor (`.xml`) runs the
317
+ * application, anything else is played as a SWF.
318
+ */
319
+ async function openChosen(path) {
320
+ if (!/\.xml$/i.test(path)) {
321
+ return open(path);
322
+ }
323
+ // An application has an installed program's reach, which a file chosen in
324
+ // passing should not get unasked: asked once, until it leaves the recent list.
325
+ if (window && !settings.settings.recent.includes(path)) {
326
+ const { response } = await dialog.showMessageBox(window, {
327
+ type: "question",
328
+ message: `Run ${basename(path)} as an AIR application?`,
329
+ detail: "An AIR application reads and writes your files and reaches the network unasked, as an installed program does. Run only one you trust.",
330
+ buttons: ["Run", "Cancel"],
331
+ defaultId: 1,
332
+ cancelId: 1,
333
+ });
334
+ if (response !== 0) {
335
+ return;
336
+ }
337
+ }
338
+ // Run from its own directory, with no arguments, as one started by its icon is.
339
+ return openAir({ descriptor: path, root: null, arguments: [] }, dirname(path));
340
+ }
301
341
  /** Play the SWF at `path` in the window, in place of what plays, in its sandbox. */
302
342
  async function open(path) {
303
343
  const name = basename(path);
@@ -425,20 +465,35 @@ async function askForSocket(name, swf, endpoint) {
425
465
  return false;
426
466
  }
427
467
  }
468
+ /**
469
+ * Whether what plays may open a WebSocket to `url`: an AIR application,
470
+ * unasked and anywhere, as AIR's application sandbox connects and as its
471
+ * sockets do here. air.net.WebSocket is AIR's alone, so nothing else has one.
472
+ */
473
+ function permitWebSocket(url) {
474
+ if (sandbox.application && hasWebSocket()) {
475
+ return true;
476
+ }
477
+ const why = sandbox.application
478
+ ? "this Electron has no WebSocket client"
479
+ : "only an AIR application has one";
480
+ process.stderr.write(`swf2es: no WebSocket to ${url.slice(0, 2048)}: ${why}\n`);
481
+ return false;
482
+ }
428
483
  async function showOpenDialog() {
429
484
  if (!window) {
430
485
  return;
431
486
  }
432
487
  const result = await dialog.showOpenDialog(window, {
433
- title: "Open a SWF",
488
+ title: "Open a SWF or an AIR application",
434
489
  properties: ["openFile"],
435
490
  filters: [
436
- { name: "SWF", extensions: ["swf"] },
491
+ { name: "SWF and AIR application descriptors", extensions: ["swf", "xml"] },
437
492
  { name: "All files", extensions: ["*"] },
438
493
  ],
439
494
  });
440
495
  if (!result.canceled && result.filePaths[0]) {
441
- await open(result.filePaths[0]);
496
+ await openChosen(result.filePaths[0]);
442
497
  }
443
498
  }
444
499
  /** Ask for a library, check that it is ABC, keep its path, and start the page again with it. */
@@ -646,6 +701,9 @@ function createWindow() {
646
701
  window.on("closed", () => {
647
702
  window = null;
648
703
  });
704
+ // The page hears of full screen however it came, a SWF's Stage.displayState or the menu's F11.
705
+ window.on("enter-full-screen", () => window?.webContents.send("desktop:full-screen", true));
706
+ window.on("leave-full-screen", () => window?.webContents.send("desktop:full-screen", false));
649
707
  guard(window.webContents);
650
708
  void window.loadURL(`${APP_ORIGIN}/`);
651
709
  }
@@ -669,6 +727,12 @@ function listen() {
669
727
  build,
670
728
  };
671
729
  });
730
+ // Stage.displayState of a SWF the user opened: the window's full screen, asked with no gesture.
731
+ ipcMain.on("desktop:full-screen", (event, fullScreen) => {
732
+ if (trusted(event) && current && window) {
733
+ window.setFullScreen(fullScreen === true);
734
+ }
735
+ });
672
736
  ipcMain.on("desktop:open-dialog", (event) => {
673
737
  if (trusted(event)) {
674
738
  void showOpenDialog();
@@ -697,7 +761,7 @@ function listen() {
697
761
  });
698
762
  ipcMain.on("desktop:open-path", (event, path) => {
699
763
  if (trusted(event) && typeof path === "string" && isAbsolute(path)) {
700
- void open(path);
764
+ void openChosen(path);
701
765
  }
702
766
  });
703
767
  ipcMain.on("desktop:choose-library", (event, name) => {
@@ -705,7 +769,8 @@ function listen() {
705
769
  void chooseLibrary(name);
706
770
  }
707
771
  });
708
- bridgeSockets(trusted, permitSocket);
772
+ bridgeSockets(trusted, permitSocket, netLog, logSockets);
773
+ bridgeWebSockets(trusted, permitWebSocket, insecureWebSockets ? webSocketOpener(unverifiedHost, insecureWebSockets) : undefined, netLog, logSockets);
709
774
  ipcMain.handle("net:fetch", (event, id, request) => {
710
775
  if (!trusted(event) || typeof id !== "number") {
711
776
  throw new Error("not the app's page");
@@ -747,6 +812,16 @@ function windowState(w) {
747
812
  visible: w.isVisible(),
748
813
  };
749
814
  }
815
+ /** The displays as an AIR application's Screen reads them: the work area is past the system's bars. */
816
+ function screenStates() {
817
+ const primary = screen.getPrimaryDisplay().id;
818
+ return screen.getAllDisplays().map((display) => ({
819
+ bounds: display.bounds,
820
+ visibleBounds: display.workArea,
821
+ colorDepth: display.colorDepth,
822
+ main: display.id === primary,
823
+ }));
824
+ }
750
825
  /**
751
826
  * An AIR application's reach, shared/api.ts DesktopAir: the file system
752
827
  * and the window, only while one the user opened plays and only for its
@@ -823,6 +898,9 @@ function listenForAir() {
823
898
  ipcMain.on("air:window", (event) => {
824
899
  event.returnValue = playing(event) && window ? windowState(window) : null;
825
900
  });
901
+ ipcMain.on("air:screens", (event) => {
902
+ event.returnValue = playing(event) ? screenStates() : [];
903
+ });
826
904
  ipcMain.on("air:set-bounds", (event, bounds) => {
827
905
  const b = bounds;
828
906
  const n = (v) => (typeof v === "number" && Number.isFinite(v) ? Math.round(v) : null);
@@ -894,8 +972,12 @@ async function fetchForPage(id, request, deliver) {
894
972
  }
895
973
  const controller = new AbortController();
896
974
  requests.set(id, controller);
975
+ const started = performance.now();
976
+ const method = typeof asked?.method === "string" ? asked.method.slice(0, 16) : "GET";
897
977
  try {
898
- return await network.fetch(request, controller.signal, deliver);
978
+ const response = await network.fetch(request, controller.signal, deliver);
979
+ netLog?.(requestLine(method, url, response.status, response.bytes?.length ?? null, performance.now() - started));
980
+ return response;
899
981
  }
900
982
  catch (error) {
901
983
  // A refusal says why; anything else, which should not happen, is said too.
@@ -903,6 +985,9 @@ async function fetchForPage(id, request, deliver) {
903
985
  const why = error instanceof Refused ? error.message : `failed: ${error}`;
904
986
  process.stderr.write(`swf2es: not loading ${shown}: ${why}\n`);
905
987
  }
988
+ else {
989
+ netLog?.(failureLine(method, url, "aborted", performance.now() - started));
990
+ }
906
991
  throw error;
907
992
  }
908
993
  finally {
@@ -934,16 +1019,19 @@ app.on("second-instance", (_event, argv, workingDirectory) => {
934
1019
  }
935
1020
  });
936
1021
  let pending = movieFromArguments(process.argv);
1022
+ // Whether `pending` came from the system's "open with", not the command line: asked as a drop is.
1023
+ let pendingChosen = false;
937
1024
  // An AIR application named adl's way, which the command line's SWF gives way to.
938
1025
  const pendingAir = airCommand(process.argv.slice(process.defaultApp ? 2 : 1), process.cwd());
939
1026
  // macOS hands a file opened from the Finder as an event, perhaps before the app is ready.
940
1027
  app.on("open-file", (event, path) => {
941
1028
  event.preventDefault();
942
1029
  if (settings) {
943
- void open(path);
1030
+ void openChosen(path);
944
1031
  }
945
1032
  else {
946
1033
  pending = path;
1034
+ pendingChosen = true;
947
1035
  }
948
1036
  });
949
1037
  app.on("web-contents-created", (_event, contents) => {
@@ -973,7 +1061,7 @@ void app.whenReady().then(() => {
973
1061
  void openAir(pendingAir, process.cwd());
974
1062
  }
975
1063
  else if (pending) {
976
- void openEntry(pending);
1064
+ void (pendingChosen ? openChosen(pending) : openEntry(pending));
977
1065
  }
978
1066
  });
979
1067
  //# sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main/main.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,wEAAwE;AACxE,qEAAqE;AACrE,EAAE;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,EAAE;AACF,sFAAsF;AACtF,EAAE;AACF,qEAAqE;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EACL,GAAG,EACH,aAAa,EACb,MAAM,EAGN,OAAO,EACP,IAAI,EAEJ,WAAW,EACX,MAAM,EACN,OAAO,EACP,KAAK,GAEN,MAAM,UAAU,CAAC;AASlB,OAAO,EAEL,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,MAAM,EACN,MAAM,EACN,MAAM,EACN,QAAQ,EACR,MAAM,EACN,OAAO,GACR,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAc,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,wBAAwB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAClF,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,uBAAuB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACvF,oGAAoG;AACpG,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,uBAAuB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9E,MAAM,UAAU,GAAG,GAAG,UAAU,gBAAgB,CAAC;AACjD,MAAM,KAAK,GAAG,QAAQ,CAAC;AAEvB,uDAAuD;AACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;AACtD,IAAI,QAAQ,EAAE,CAAC;IACb,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED,6DAA6D;AAC7D,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC;IAC1E,CAAC,CAAE,OAAO,CAAC,GAAG,CAAC,oBAA+B;IAC9C,CAAC,CAAC,IAAI,CAAC;AAET,cAAc,EAAE,CAAC;AACjB,GAAG,CAAC,aAAa,EAAE,CAAC;AAEpB,mFAAmF;AACnF,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC/C,8FAA8F;AAC9F,uFAAuF;AACvF,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AAC1D,MAAM,UAAU,GAAG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AACxE,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,+EAA+E;AAC/E;;;;;GAKG;AACH,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,IAAI,UAAU,EAAE,CAAC;IACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,UAAU,CAAC,GAAG;QACZ,CAAC,CAAC,yFAAyF;QAC3F,CAAC,CAAC,0EAA0E,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,IAAI,CAC3H,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CACtC,CAAC,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACpF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;AAC5D,+FAA+F;AAC/F,6CAA6C;AAC7C,MAAM,kBAAkB,GAAG,UAAU,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,IAAI,UAAU,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,2FAA2F,CAC5F,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;AACpD,IAAI,QAAsB,CAAC;AAC3B,8FAA8F;AAC9F,IAAI,YAAY,GAAiB,IAAI,CAAC;AACtC,IAAI,MAAM,GAAyB,IAAI,CAAC;AACxC,wDAAwD;AACxD,IAAI,MAAM,GAAyB,IAAI,CAAC;AACxC,IAAI,OAAO,GAAgD,IAAI,CAAC;AAChE,oGAAoG;AACpG,IAAI,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;AACpC,IAAI,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;AACnC,oGAAoG;AACpG,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;AACnD;;GAEG;AACH,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB,0CAA0C;AAC1C,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,oFAAoF;AACpF,IAAI,GAAG,GAAsB,IAAI,CAAC;AAClC,yEAAyE;AACzE,IAAI,cAAc,GAA0B,IAAI,CAAC;AAEjD;;;GAGG;AACH,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC7E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;IACd,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,IAAc,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAC7D,MAAM,KAAK,GAAG,IAAI;SACf,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC9E,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAC7B,OAAO,CACL,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;QAC7F,IAAI,CACL,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,SAAS,OAAO,CAAC,KAAwC;IACvD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC;IAChC,OAAO,CACL,MAAM,KAAK,IAAI;QACf,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,WAAW;QACnC,KAAK,KAAK,IAAI;QACd,KAAK,CAAC,MAAM,KAAK,IAAI;QACrB,0EAA0E;QAC1E,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC,CACvC,CAAC;AACJ,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,sEAAsE;AACtE,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;AAC3F,8FAA8F;AAC9F,IAAI,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACzC,IAAI,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAExC;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,GAAW;IAC/B,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAC9B,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAClD,OAAO;IACT,CAAC;IAED,uEAAuE;IACvE,2EAA2E;IAC3E,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,GAAG,4BAA4B,CAAC,CAAC;QAC7E,OAAO;IACT,CAAC;IAED,IAAI,GAAG,GAAG,SAAS,GAAG,UAAU,IAAI,GAAG,GAAG,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,GAAG,kCAAkC,CAAC,CAAC;QACnF,OAAO;IACT,CAAC;IAED,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACrC,QAAQ,GAAG,GAAG,CAAC;IACf,KAAK,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC;AACxB,MAAM,WAAW,GAAG,IAAI,CAAC;AAEzB;;;GAGG;AACH,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,MAAc,EAAE,KAAK,GAAG,CAAC;IAC9D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3D,OAAO,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,OAAe,EAAE,MAAc;IAC7C,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED,4GAA4G;AAC5G,SAAS,SAAS,CAAC,KAAa;IAC9B,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED,8FAA8F;IAC9F,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,OAAO,CACZ,GAAG,EAAE,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,EAClF,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,OAAO,CAAC,OAAmB,EAAE,GAAW;IACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,MAAoC,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACxD,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC;YACnC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;YAC/B,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;SAC3B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,IAAI,uBAAuB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,KAAK,CAAC,EAAE,CAAC;QACjF,MAAM,CAAC,GAAG,IAAI,0BAA0B,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACjC,GAAG,GAAG,OAAO,CAAC;IACd,iHAAiH;IACjH,cAAc,GAAG,IAAI,cAAc,CACjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,qBAAqB,CAAC,EAClF,WAAW,CAAC,qBAAqB,EAAE;QACjC,CAAC,CAAC;YACE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAClE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChE;QACH,CAAC,CAAC,IAAI,CACT,CAAC;IACF,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,oGAAoG;IACpG,MAAM,GAAG,GAAG,QAAQ,MAAM,CAAC,QAAQ;SAChC,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;SACvB,GAAG,CAAC,kBAAkB,CAAC;SACvB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACf,IAAI,CACF,OAAO,CAAC,UAAU,EAClB,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,EACvE,EAAE,IAAI,EAAE,aAAa,EAAE,CACxB,CAAC;AACJ,CAAC;AAED,4FAA4F;AAC5F,SAAS,IAAI,CAAC,KAAa,EAAE,KAAkB,EAAE,SAAuB;IACtE,OAAO,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACjC,aAAa,CAAC,SAAS,CAAC,CAAC;IACzB,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;IACxB,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,SAAS,EAAE,CAAC;IACZ,IAAI,MAAM,EAAE,CAAC;QACX,4EAA4E;QAC5E,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC;QACrE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,OAAO,CAAC,IAAY;IACjC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,CAAC,kCAAkC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IACjD,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IAED,GAAG,GAAG,IAAI,CAAC;IACX,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AAChG,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,0EAA0E;IAC1E,+EAA+E;IAC/E,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE;YACvD,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,yBAAyB;YACvD,MAAM,EACJ,uIAAuI;YACzI,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;YAC1B,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;QACH,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,OAAO,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,oFAAoF;AACpF,KAAK,UAAU,IAAI,CAAC,IAAY;IAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,0EAA0E;IAC1E,mEAAmE;IACnE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,KAAK,CAAC,EAAE,CAAC;QACjF,MAAM,CAAC,GAAG,IAAI,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAE9D,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC;QACX,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,0CAA0C;QAC1C,MAAM,CAAC,GAAG,IAAI,uBAAuB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CACF,IAAI,EACJ,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,EAAE,EACzE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CACtC,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,SAAS,aAAa,CAAC,KAAmB;IACxC,YAAY,GAAG,KAAK,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,GAAG,IAAI,CAAC;IACf,GAAG,GAAG,IAAI,CAAC;IACX,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,aAAa,CAAC,IAAI,CAAC,CAAC;IACpB,SAAS,EAAE,CAAC;IACZ,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxB,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,YAAY,CAAC,IAAY,EAAE,IAAY;IACpD,qFAAqF;IACrF,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC;IACxB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;QAClD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,QAAQ,4BAA4B,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,YAAY,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,QAAQ,KAAM,KAAe,CAAC,OAAO,IAAI,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,2FAA2F;AAC3F,KAAK,UAAU,aAAa,CAC1B,OAAoC,EACpC,GAAW,EACX,QAAgB;IAEhB,IAAI,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,OAAO,KAAK,OAAO,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAY,EAAE,GAAW,EAAE,QAAgB;IACrE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC;IACxB,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE;YAClD,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,GAAG,IAAI,uBAAuB,QAAQ,GAAG;YAClD,MAAM,EACJ,0DAA0D;gBAC1D,uCAAuC;YACzC,OAAO,EAAE,CAAC,YAAY,EAAE,2BAA2B,EAAE,MAAM,CAAC;YAC5D,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,IAAI;SACb,CAAC,CAAC,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,CAAC;YACJ,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,KAAK,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACzC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;YAED,OAAO,IAAI,CAAC;QACd;YACE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzB,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,OAAO,CAAC,WAAW,IAAI,YAAY,EAAE,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW;QAC7B,CAAC,CAAC,uCAAuC;QACzC,CAAC,CAAC,iCAAiC,CAAC;IACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAChF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,cAAc;IAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE;QACjD,KAAK,EAAE,kCAAkC;QACzC,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,qCAAqC,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;YAC3E,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE;SACzC;KACF,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,gGAAgG;AAChG,KAAK,UAAU,aAAa,CAAC,IAAiB;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE;QACjD,KAAK,EAAE,UAAU,IAAI,MAAM;QAC3B,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE;YACtD,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE;SACzC;KACF,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,gEAAgE;IAChE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACtC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,gBAAgB,IAAI,cAAc,CAAC,CAAC;QACpF,OAAO;IACT,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,kCAAkC,EAAE,eAAe,IAAI,kBAAkB,CAAC,CAAC;IACpF,CAAC;IAED,yEAAyE;IACzE,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxC,MAAM,QAAQ,GAAiC;QAC7C,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE;YACE,KAAK,EAAE,OAAO;YACd,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,cAAc,EAAE,EAAE;gBACnF,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;gBACzE;oBACE,KAAK,EAAE,cAAc;oBACrB,OAAO,EAAE;wBACP,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBAChF,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9D;4BACE,KAAK,EAAE,cAAc;4BACrB,OAAO,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC;4BAC1B,KAAK,EAAE,GAAG,EAAE;gCACV,QAAQ,CAAC,WAAW,EAAE,CAAC;gCACvB,GAAG,CAAC,oBAAoB,EAAE,CAAC;gCAC3B,SAAS,EAAE,CAAC;4BACd,CAAC;yBACF;qBACF;iBACF;gBACD;oBACE,EAAE,EAAE,aAAa;oBACjB,KAAK,EAAE,cAAc;oBACrB,WAAW,EAAE,aAAa;oBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,KAAK,EAAE,UAAU;iBAClB;gBACD,EAAE,IAAI,EAAE,WAAW,EAAE;gBACrB,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,aAAa,CAAC,cAAc,CAAC,EAAE;gBACtF,EAAE,IAAI,EAAE,WAAW,EAAE;gBACrB,EAAE,IAAI,EAAE,MAAM,EAAE;aACjB;SACF;QACD;YACE,KAAK,EAAE,OAAO;YACd,OAAO,EAAE;gBACP;oBACE,EAAE,EAAE,cAAc;oBAClB,KAAK,EAAE,eAAe;oBACtB,WAAW,EAAE,aAAa;oBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,IAAI,KAAK,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;iBACrD;gBACD,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,KAAK,EAAE;gBAChD,EAAE,IAAI,EAAE,WAAW,EAAE;gBACrB;oBACE,EAAE,EAAE,SAAS;oBACb,KAAK,EAAE,wBAAwB;oBAC/B,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO;oBAClC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;wBACd,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;4BACvC,MAAM,CACJ,kCAAkC,EAClC,0CAA0C,CAC3C,CAAC;wBACJ,CAAC;wBAED,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;oBAC/B,CAAC;iBACF;gBACD,EAAE,IAAI,EAAE,WAAW,EAAE;gBACrB,EAAE,IAAI,EAAE,gBAAgB,EAAE;aAC3B;SACF;KACF,CAAC;IACF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,SAAS,KAAK,CAAC,QAAqB;IAClC,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;QACrC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAC3C,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,oBAAoB,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;QACxC,YAAY,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,OAAO,EAAE,EAAE;QAC9C,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACnD,SAAS,GAAG,KAAK,CAAC;YAClB,0EAA0E;YAC1E,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,KAAK,EAAE,CAAC;QACV,QAAQ,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACpD,4EAA4E;YAC5E,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa;IACpB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,aAAa,CAAC;QACrC,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,KAAK;QAClB,cAAc,EAAE,KAAK;QACrB,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,KAAK;QACX,cAAc,EAAE;YACd,OAAO,EAAE,aAAa;YACtB,gBAAgB,EAAE,IAAI;YACtB,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,KAAK;YACtB,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,KAAK;SAClB;KACF,CAAC,CAAC;IACH,MAAM,GAAG,YAAY,CAAC;IACtB,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IACzE,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QAC7B,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC;IAC1C,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IAChE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC1D,KAAK,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACxC,CAAC;AAED,8DAA8D;AAC9D,SAAS,UAAU,CAAC,KAAwC;IAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC;IAChC,OAAO,CACL,MAAM,KAAK,IAAI;QACf,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,WAAW;QACnC,KAAK,KAAK,IAAI;QACd,KAAK,CAAC,MAAM,KAAK,IAAI;QACrB,KAAK,CAAC,GAAG,KAAK,UAAU,CACzB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,GAAG,IAAI,aAAa,CAAC;QACzB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,KAAK;QACZ,IAAI;QACJ,cAAc,EAAE;YACd,OAAO;YACP,gBAAgB,EAAE,IAAI;YACtB,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,KAAK;YACtB,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,KAAK;SAClB;KACF,CAAC,CAAC;IACH,8DAA8D;IAC9D,MAAM,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IACnE,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACvB,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,+FAA+F;IAC/F,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5F,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7F,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC1B,KAAK,MAAM,CAAC,OAAO,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,MAAM;IACb,WAAW,CACT,OAAO,EACP,GAAG,EAAE,CAAC,MAAM,EACZ,GAAG,EAAE;QACH,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,UAAU,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC,EACD,EAAE,OAAO,EAAE,MAAM,EAAE,CACpB,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,KAAK,EAAc,EAAE;QACpD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAED,SAAS,GAAG,IAAI,CAAC;QACjB,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO;YAClC,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE;YAC/B,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;YAC7B,KAAK;SACN,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,gGAAgG;IAChG,OAAO,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,UAAmB,EAAE,EAAE;QAC/D,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACxC,MAAM,CAAC,aAAa,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1C,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACnB,KAAK,cAAc,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,yBAAyB,EAAE,CAAC,KAAK,EAAE,EAAE;QAC9C,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACnB,aAAa,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE;QACzC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAED,2DAA2D;QAC3D,OAAO,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;QACnD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACnD,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;QACvD,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACnE,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,wBAAwB,EAAE,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;QAC5D,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAC9C,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACzD,gBAAgB,CACd,OAAO,EACP,eAAe,EACf,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,EACpF,MAAM,EACN,UAAU,CACX,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAW,EAAE,OAAgB,EAAE,EAAE;QACnE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAED,sEAAsE;QACtE,yEAAyE;QACzE,oEAAoE;QACpE,+BAA+B;QAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9B,MAAM,OAAO,GAAG,CAAC,QAAyB,EAAE,EAAE;YAC5C,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC,CAAC;QACF,OAAO,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAC5C,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAC3B,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAC7B,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAW,EAAE,EAAE;QAC7C,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC7C,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,GAAY,EAAE,EAAE;QACpD,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;YAC/C,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IACH,YAAY,EAAE,CAAC;AACjB,CAAC;AAED,gEAAgE;AAChE,SAAS,WAAW,CAAC,CAAgB;IACnC,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACrC,OAAO;QACL,MAAM;QACN,aAAa,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE;QACnE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE;QACnB,YAAY,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;QACtF,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE;QACrB,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE;KACvB,CAAC;AACJ,CAAC;AAED,uGAAuG;AACvG,SAAS,YAAY;IACnB,MAAM,OAAO,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;IAC9C,OAAO,MAAM,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,aAAa,EAAE,OAAO,CAAC,QAAQ;QAC/B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,IAAI,EAAE,OAAO,CAAC,EAAE,KAAK,OAAO;KAC7B,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY;IACnB,MAAM,OAAO,GAAG,CAAC,KAAwC,EAAE,EAAE,CAC3D,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;QAC9C,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvF,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;QAC9C,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvF,CAAC,CAAC,CAAC;IACH,gGAAgG;IAChG,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;QACnD,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvF,CAAC,CAAC,CAAC;IACH,mFAAmF;IACnF,MAAM,KAAK,GAAG,CAAC,KAAmB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChF,OAAO,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;QAClD,KAAK,CAAC,WAAW,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1F,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,IAAa,EAAE,KAAc,EAAE,EAAE;QAClE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAC5D,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;QACrD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;QACtC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;QACtB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,6FAA6F;IAC7F,OAAO,CAAC,EAAE,CACR,gBAAgB,EAChB,CAAC,KAAK,EAAE,IAAa,EAAE,KAAc,EAAE,MAAe,EAAE,MAAe,EAAE,EAAE;QACzE,KAAK,CAAC,WAAW;YACf,OAAO,CAAC,KAAK,CAAC;gBACd,OAAO,IAAI,KAAK,QAAQ;gBACxB,KAAK,YAAY,UAAU;gBAC3B,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;gBAC5B,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;gBAC3B,MAAiB,IAAI,CAAC;gBACtB,MAAiB,IAAI,CAAC;gBACvB,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,MAAgB,EAAE,MAAgB,CAAC,CAAC;IAC7D,CAAC,CACF,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;QAC1D,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;QAChD,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,IAAa,EAAE,EAAW,EAAE,EAAE;QAC3D,KAAK,CAAC,WAAW;YACf,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;IACH,uFAAuF;IACvF,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QACxD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClC,OAAO,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE;QACjC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;QAClC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAe,EAAE,EAAE;QACtD,MAAM,CAAC,GAAG,MAAgF,CAAC;QAC3F,MAAM,CAAC,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/F,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5E,IACE,OAAO,CAAC,KAAK,CAAC;YACd,MAAM;YACN,CAAC,KAAK,IAAI;YACV,CAAC,KAAK,IAAI;YACV,KAAK;YACL,MAAM;YACN,KAAK,GAAG,CAAC;YACT,MAAM,GAAG,CAAC,EACV,CAAC;YACD,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,KAAc,EAAE,EAAE;QACpD,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC1D,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;QACnD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,UAAU;gBACb,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM;YACR,KAAK,UAAU;gBACb,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM;YACR,KAAK,SAAS;gBACZ,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM;YACR,KAAK,UAAU;gBACb,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,CAAC,IAAI,EAAE,CAAC;gBACd,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,CAAC,IAAI,EAAE,CAAC;gBACd,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM;QACV,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;QAC9C,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACnB,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,YAAY,CACzB,EAAU,EACV,OAAgB,EAChB,OAA4C;IAE5C,MAAM,KAAK,GAAG,OAAwE,CAAC;IACvF,MAAM,GAAG,GAAG,OAAO,KAAK,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,KAAK,EAAE,OAAO,KAAK,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACrE,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,KAAK,4BAA4B,CAAC,CAAC;QAC/E,MAAM,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,OAAO,KAAK,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACrF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1E,MAAM,EAAE,CACN,WAAW,CACT,MAAM,EACN,GAAG,EACH,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,IAAI,EAC9B,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,CAC5B,CACF,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2EAA2E;QAC3E,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,KAAK,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,KAAK,EAAE,CAAC;YAC1E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,KAAK,KAAK,GAAG,IAAI,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,UAAU,EAAE,CAAC;YACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,MAAM,KAAK,GAAG,GAAG,CAAC,yBAAyB,EAAE,CAAC;AAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;IACX,GAAG,CAAC,IAAI,EAAE,CAAC;AACb,CAAC;AAED,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE;IAC3D,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;QAED,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAChE,IAAI,WAAW,IAAI,QAAQ,EAAE,CAAC;QAC5B,KAAK,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACzD,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;QACtB,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/C,kGAAkG;AAClG,IAAI,aAAa,GAAG,KAAK,CAAC;AAC1B,iFAAiF;AACjF,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7F,0FAA0F;AAC1F,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IAClC,KAAK,CAAC,cAAc,EAAE,CAAC;IACvB,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,IAAI,CAAC;QACf,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;IAClD,QAAQ,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;AACxE,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AAE9C,gGAAgG;AAChG,KAAK,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IAED,QAAQ,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACrD,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;IACnE,yEAAyE;IACzE,wEAAwE;IACxE,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,eAAe,CAC/C,EAAE,IAAI,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,EAChE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,OAAO,CAAC,GAAG,6BAA6B,CAAC,CAAC;QACtF,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3B,CAAC,CACF,CAAC;IACF,4EAA4E;IAC5E,OAAO,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CAClF,MAAM,CAAC,UAAU,KAAK,YAAY,IAAI,QAAQ,KAAK,MAAM,EAAE,WAAW,CAAC,CACxE,CAAC;IACF,OAAO,CAAC,cAAc,CAAC,yBAAyB,CAC9C,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,KAAK,YAAY,IAAI,QAAQ,KAAK,MAAM,EAAE,WAAW,CAC1F,CAAC;IACF,MAAM,EAAE,CAAC;IACT,YAAY,EAAE,CAAC;IACf,SAAS,EAAE,CAAC;IACZ,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACnB,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ /** A request answered: its method, URL, status, body's size and how long it took. */
2
+ export declare function requestLine(method: string, url: string, status: number, bytes: number | null, ms: number): string;
3
+ /** A request that got no answer: refused, failed or aborted, and why. */
4
+ export declare function failureLine(method: string, url: string, why: string, ms: number): string;
5
+ /** A socket's connection asked for, opened, refused or closed. */
6
+ export declare function socketLine(id: number, what: string): string;
7
+ /**
8
+ * What a socket sent (">") or received ("<"): its size and its start, as
9
+ * text where it is text, bytes that are no printable ASCII as dots, else
10
+ * in hex. A message past PREVIEW bytes ends in an ellipsis.
11
+ */
12
+ export declare function socketDataLine(id: number, sent: boolean, bytes: Uint8Array): string;
13
+ /** A WebSocket's connection asked for, opened, refused, failed or closed. */
14
+ export declare function webSocketLine(id: number, what: string): string;
15
+ /**
16
+ * What a WebSocket sent (">") or received ("<"): a text message's size
17
+ * in UTF-8 and its first PREVIEW characters, control characters as dots;
18
+ * a binary one's as a socket's.
19
+ */
20
+ export declare function webSocketDataLine(id: number, sent: boolean, data: string | Uint8Array): string;
21
+ //# sourceMappingURL=netlog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"netlog.d.ts","sourceRoot":"","sources":["../../src/main/netlog.ts"],"names":[],"mappings":"AAsBA,qFAAqF;AACrF,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,EAAE,EAAE,MAAM,GACT,MAAM,CAGR;AAED,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAExF;AAED,kEAAkE;AAClE,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AAgCD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAEnF;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAc9F"}