@8bitbish/screenshot-service 1.3.14 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/setup.js CHANGED
@@ -104,33 +104,29 @@ async function runSetupIos() {
104
104
  ok('Installed: ' + python);
105
105
  }
106
106
 
107
- // Sudoers (opt-in)
108
- step(3, 'Passwordless tunnel (optional)');
109
- console.log(' The iPhone screenshot tunnel runs under sudo. You can either:');
110
- console.log(' • ' + C.bold + 'Grant passwordless sudo' + C.reset + ' for this specific command (recommended for convenience)');
111
- console.log(' • Skip you will be prompted for your password once per terminal session');
112
- console.log('');
113
- const ans = await prompt('Grant passwordless sudo for the tunnel daemon only? [y/N]');
114
- if (/^[yY]/.test(ans)) {
115
- const username = execSync('whoami').toString().trim();
116
- const rule = `${username} ALL=(ALL) NOPASSWD: ${python} -m pymobiledevice3 remote tunneld`;
117
- const sudoersFile = '/etc/sudoers.d/screenshot-service';
118
- const scriptPath = path.join(tmpdir(), 'screenshot-service-setup.sh');
119
- writeFileSync(scriptPath, [
120
- '#!/bin/bash',
121
- `printf '%s\\n' '${rule}' > '${sudoersFile}'`,
122
- `chmod 440 '${sudoersFile}'`,
123
- ].join('\n'), { mode: 0o755 });
107
+ // Background tunnel service. Not optional any more: checkIosSetup() keys
108
+ // `ok` off the daemon, and the old on-demand path needed a password that a
109
+ // non-interactive host app can never supply.
110
+ step(3, 'Background tunnel service');
111
+ const { tunnelDaemonStatus, tunnelDaemonInstallScript } = require('../dist/setup');
112
+ if (tunnelDaemonStatus().ok) {
113
+ ok('Background tunnel service already installed');
114
+ } else {
115
+ console.log(' The device tunnel needs root. Installing it as a launchd service means it');
116
+ console.log(' starts at boot, restarts itself if it wedges, and captures never wait on');
117
+ console.log(' a password. macOS will ask for your password once.');
118
+ console.log('');
119
+ const scriptPath = path.join(tmpdir(), 'screenshot-service-tunneld-setup.sh');
120
+ writeFileSync(scriptPath, '#!/bin/bash\nset -e\n' + tunnelDaemonInstallScript() + '\n', { mode: 0o755 });
124
121
  try {
125
122
  execSync(`osascript -e 'do shell script "${scriptPath}" with administrator privileges'`, { stdio: 'pipe' });
126
- ok('Passwordless tunnel configured');
123
+ ok('Background tunnel service installed');
127
124
  } catch {
128
- warn('Sudoers setup cancelled — you will be prompted for your password each session.');
125
+ warn('Tunnel service setup was cancelled — iPhone capture will not work until it is installed.');
126
+ warn('Re-run this command, or use Device management → iOS in the app.');
129
127
  } finally {
130
128
  try { unlinkSync(scriptPath); } catch {}
131
129
  }
132
- } else {
133
- log(C.dim + ' Skipped. You will be prompted for your Mac password the first time per session.' + C.reset);
134
130
  }
135
131
 
136
132
  // Device instructions
package/dist/index.d.ts CHANGED
@@ -8,6 +8,12 @@ export { checkIosSetup, checkAndroidSetup, installIosDeps, installAndroidDeps, p
8
8
  export type { IosSetupStatus, AndroidSetupStatus, SetupProgress, SetupProgressCallback, SetupStepStatus, AndroidPairOptions, AndroidConnectOptions, } from "./setup/types";
9
9
  export { createSetupWindow } from "./wizard";
10
10
  export type { SetupWindowOptions } from "./wizard";
11
+ /**
12
+ * Process-liveness check only — does NOT confirm tunneld's HTTP server is
13
+ * reachable. tunneld can hang (network stack wedged, RSD handshake stalled)
14
+ * while the process itself stays alive; every pmd3 call after that fails with
15
+ * "Unable to connect to Tunneld". Use {@link isTunnelHealthy} for a health check.
16
+ */
11
17
  export declare function isTunnelRunning(): boolean;
12
18
  export declare function startTunnel(): Promise<void>;
13
19
  /** Manually stop the tunnel. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -21,10 +21,12 @@ const child_process_1 = require("child_process");
21
21
  const util_1 = require("util");
22
22
  const promises_1 = require("fs/promises");
23
23
  const fs_1 = require("fs");
24
+ const http_1 = require("http");
24
25
  const path_1 = require("path");
25
26
  const os_1 = require("os");
26
27
  const device_1 = require("./device");
27
28
  const logger_1 = require("./logger");
29
+ const tunneld_1 = require("./setup/tunneld");
28
30
  var logger_2 = require("./logger");
29
31
  Object.defineProperty(exports, "setLogger", { enumerable: true, get: function () { return logger_2.setLogger; } });
30
32
  const android_device_1 = require("./android-device");
@@ -68,6 +70,12 @@ function findPython() {
68
70
  throw new Error("Python 3.11+ with pymobiledevice3 not found. Run: npx @8bitbish/screenshot-service setup-ios");
69
71
  }
70
72
  // ── Tunnel management ─────────────────────────────────────────────────────────
73
+ /**
74
+ * Process-liveness check only — does NOT confirm tunneld's HTTP server is
75
+ * reachable. tunneld can hang (network stack wedged, RSD handshake stalled)
76
+ * while the process itself stays alive; every pmd3 call after that fails with
77
+ * "Unable to connect to Tunneld". Use {@link isTunnelHealthy} for a health check.
78
+ */
71
79
  function isTunnelRunning() {
72
80
  try {
73
81
  (0, child_process_1.execFileSync)("pgrep", ["-f", "pymobiledevice3 remote tunneld"], { stdio: "ignore" });
@@ -77,9 +85,108 @@ function isTunnelRunning() {
77
85
  return false;
78
86
  }
79
87
  }
88
+ /**
89
+ * Actively probes tunneld's HTTP endpoint on 127.0.0.1:49151. Returns false if
90
+ * the process is dead OR alive-but-not-listening (zombie). This is the check
91
+ * that matters for "can we make a pmd3 call right now".
92
+ */
93
+ async function isTunnelHealthy() {
94
+ return new Promise((resolve) => {
95
+ const req = (0, http_1.get)({ host: "127.0.0.1", port: 49151, path: "/", timeout: 1500 }, (res) => {
96
+ res.resume(); // drain
97
+ resolve((res.statusCode ?? 500) < 500);
98
+ });
99
+ req.on("error", () => resolve(false));
100
+ req.on("timeout", () => { req.destroy(); resolve(false); });
101
+ });
102
+ }
103
+ /**
104
+ * Best-effort kill of a stale tunneld process. tunneld was launched via `sudo`
105
+ * so it runs as root — killing it requires root too. In Electron's
106
+ * non-interactive context `sudo pkill` can't prompt for a password and returns
107
+ * immediately; the process survives. We detect that case by re-checking the
108
+ * process afterwards. Returns true iff the zombie was actually killed.
109
+ */
110
+ function killTunneldProcess() {
111
+ try {
112
+ (0, child_process_1.execFileSync)("sudo", ["-n", "pkill", "-f", "pymobiledevice3 remote tunneld"], { stdio: "ignore" });
113
+ }
114
+ catch { }
115
+ // -n means "non-interactive" — sudo fails immediately if a password is needed.
116
+ return !isTunnelRunning();
117
+ }
118
+ /** Poll the health endpoint until it answers, or the budget runs out. */
119
+ async function waitForHealthy(budgetMs) {
120
+ const deadline = Date.now() + budgetMs;
121
+ while (Date.now() < deadline) {
122
+ if (await isTunnelHealthy())
123
+ return true;
124
+ await new Promise((r) => setTimeout(r, 300));
125
+ }
126
+ return false;
127
+ }
128
+ /**
129
+ * Ask launchd to kill and respawn the tunnel daemon. `kickstart -k` handles
130
+ * the zombie case (alive process, dead HTTP server) in one step, and the
131
+ * setup wizard installs a sudoers rule permitting exactly this one command
132
+ * without a password — so unlike the old `sudo pkill`, it works from a
133
+ * non-interactive host app.
134
+ *
135
+ * A failed kickstart is not fatal: KeepAlive may already be respawning the
136
+ * job, so we poll regardless and let the health check decide.
137
+ */
138
+ async function kickstartTunnelDaemon() {
139
+ try {
140
+ (0, child_process_1.execFileSync)("sudo", ["-n", "/bin/launchctl", "kickstart", "-k", `system/${tunneld_1.TUNNELD_LABEL}`], {
141
+ stdio: "ignore",
142
+ timeout: 5000,
143
+ });
144
+ }
145
+ catch {
146
+ logger_1.log.warn("launchctl kickstart failed (no sudoers grant, or launchd refused); relying on KeepAlive", {
147
+ label: tunneld_1.TUNNELD_LABEL,
148
+ });
149
+ }
150
+ // Must exceed ThrottleInterval: launchd may hold a respawn for the full
151
+ // throttle window, and a shorter budget would report failure a moment
152
+ // before the daemon returns. Throttle + 5s covers the tunnel's own startup.
153
+ return waitForHealthy((tunneld_1.TUNNELD_THROTTLE_SECONDS + 5) * 1000);
154
+ }
80
155
  async function startTunnel() {
81
- if (isTunnelRunning())
156
+ // Fast path: a healthy tunnel — no work to do. On a machine with the
157
+ // LaunchDaemon this is the ONLY branch that ever runs, because launchd
158
+ // brought the tunnel up at boot.
159
+ if (isTunnelRunning() && await isTunnelHealthy())
82
160
  return;
161
+ // ── Managed daemon ────────────────────────────────────────────────────────
162
+ // launchd owns the tunnel's lifecycle. We never spawn it ourselves and never
163
+ // invoke sudo on the capture path; the worst case is asking launchd to
164
+ // recycle a wedged job.
165
+ const daemon = (0, tunneld_1.tunnelDaemonStatus)();
166
+ if (daemon.present) {
167
+ logger_1.log.warn("tunnel unhealthy; asking launchd to recycle the daemon", { label: tunneld_1.TUNNELD_LABEL });
168
+ if (await kickstartTunnelDaemon())
169
+ return;
170
+ throw new Error("The device tunnel isn't responding and launchd couldn't restart it. " +
171
+ `See ${tunneld_1.TUNNELD_LOG_PATH}, or re-run iOS setup from the app to reinstall the tunnel service.`);
172
+ }
173
+ // ── Legacy on-demand path ─────────────────────────────────────────────────
174
+ // Machines set up before the daemon existed. Kept working, but every branch
175
+ // here needs root and cannot prompt for a password, which is precisely why
176
+ // the daemon replaced it — so the errors point at setup, not at a log file.
177
+ if (isTunnelRunning()) {
178
+ logger_1.log.warn("tunneld process is alive but HTTP endpoint unreachable; attempting restart", { port: 49151 });
179
+ const killed = killTunneldProcess();
180
+ if (!killed) {
181
+ const err = new Error("The device tunnel is unresponsive and running as root, so this app can't restart it. " +
182
+ "Re-run iOS setup from the app (Device management → iOS) to install the background tunnel " +
183
+ "service, which recovers from this automatically. To unblock right now, run:\n" +
184
+ " sudo pkill -f 'pymobiledevice3 remote tunneld'");
185
+ logger_1.log.error("tunneld zombie detected; passwordless kill failed", err);
186
+ throw err;
187
+ }
188
+ await new Promise((r) => setTimeout(r, 500));
189
+ }
83
190
  const python = findPython();
84
191
  // Open the log file synchronously so spawn gets a real fd. Using
85
192
  // createWriteStream here is racy — the stream's fd is null until the async
@@ -89,19 +196,15 @@ async function startTunnel() {
89
196
  detached: true,
90
197
  stdio: ["ignore", logFd, logFd],
91
198
  });
92
- // Spawn dup'd the fd for the child; close our parent-side copy to avoid leaking.
93
199
  (0, fs_1.closeSync)(logFd);
94
200
  child.unref();
95
- // Poll until the process is confirmed running (typically < 1s)
96
- const deadline = Date.now() + 10000;
97
- while (Date.now() < deadline) {
98
- if (isTunnelRunning()) {
99
- registerExitHandler();
100
- return;
101
- }
102
- await new Promise((r) => setTimeout(r, 300));
201
+ if (await waitForHealthy(10000)) {
202
+ registerExitHandler();
203
+ return;
103
204
  }
104
- throw new Error("Tunnel did not start within 10s. Check ~/.tunneld.log");
205
+ throw new Error("The device tunnel didn't start. This Mac still uses the old on-demand tunnel, which needs a " +
206
+ "password this app can't ask for. Re-run iOS setup from the app (Device management → iOS) to " +
207
+ `install the background tunnel service. Details: ${(0, path_1.join)((0, os_1.homedir)(), ".tunneld.log")}`);
105
208
  }
106
209
  /** Manually stop the tunnel. */
107
210
  function stopTunnel() {
@@ -318,15 +421,28 @@ async function triggerPhoneScreenshot(options) {
318
421
  const outPath = (0, path_1.join)((0, os_1.tmpdir)(), `iphone-screenshot-${Date.now()}.png`);
319
422
  const maxAttempts = 12;
320
423
  try {
424
+ let lastErr = null;
321
425
  for (let i = 0; i < maxAttempts; i++) {
322
426
  try {
323
427
  await execFileAsync(python, await (0, device_1.pmd3Args)(udid, "developer", "dvt", "screenshot", outPath), { timeout });
324
- if ((0, fs_1.existsSync)(outPath))
428
+ if ((0, fs_1.existsSync)(outPath)) {
429
+ lastErr = null;
325
430
  break;
431
+ }
432
+ }
433
+ catch (e) {
434
+ lastErr = e;
326
435
  }
327
- catch { }
328
436
  if (i === maxAttempts - 1) {
329
- throw new Error("Screenshot failed is the iPhone unlocked and connected?");
437
+ // Surface the underlying pmd3 error via the logger so host observability
438
+ // (Sentry etc.) captures the real cause — hidden pre-1.3.15 by the
439
+ // empty `catch {}` above — and include the first line of the message
440
+ // in the user-facing error so the failure mode is at least identifiable.
441
+ logger_1.log.error("dvt screenshot exhausted retries", lastErr ?? new Error("screenshot file was not written"), { udid, maxAttempts });
442
+ const detail = lastErr?.message?.split("\n").find((l) => l.trim())?.slice(0, 200);
443
+ throw new Error(detail
444
+ ? `Screenshot failed after ${maxAttempts} attempts. ${detail}`
445
+ : "Screenshot failed — is the iPhone unlocked and connected?");
330
446
  }
331
447
  await new Promise((r) => setTimeout(r, 800));
332
448
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAsEA,0CAOC;AAED,kCA0BC;AAGD,gCAMC;AAwOD,wDAwEC;AAID,4DAkCC;AA2GD,8DA8DC;AAiDD,kEAuDC;AAuPD,kCAGC;AAoBD,0CAmCC;AAQD,kDA0BC;AA0BD,oCAYC;AAGD,oCAIC;AAWD,gCAMC;AAQD,gCAiBC;AAOD,sDAKC;AAcD,wDAKC;AAlqCD,iDAA8D;AAC9D,+BAAiC;AACjC,0CAA+C;AAC/C,2BAAkF;AAClF,+BAA4B;AAC5B,2BAAqC;AACrC,qCAAmN;AACnN,qCAA+B;AAC/B,mCAAqC;AAA5B,mGAAA,SAAS,OAAA;AAElB,qDAAoG;AACpG,yCAAmD;AAInD,6EAA6E;AAC7E,kEAAkE;AAClE,iCAQiB;AAPf,sGAAA,aAAa,OAAA;AACb,0GAAA,iBAAiB,OAAA;AACjB,uGAAA,cAAc,OAAA;AACd,2GAAA,kBAAkB,OAAA;AAClB,4GAAA,mBAAmB,OAAA;AACnB,+GAAA,sBAAsB,OAAA;AACtB,+GAAA,sBAAsB,OAAA;AAWxB,mCAA6C;AAApC,2GAAA,iBAAiB,OAAA;AAG1B,MAAM,aAAa,GAAG,IAAA,gBAAS,EAAC,wBAAQ,CAAC,CAAC;AAC1C,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;AAEvC,iFAAiF;AAEjF,SAAS,UAAU;IACjB,kGAAkG;IAClG,MAAM,UAAU,GAAG;QACjB,8BAA8B;QAC9B,8BAA8B;QAC9B,8BAA8B;QAC9B,8BAA8B;QAC9B,2BAA2B;QAC3B,2BAA2B;QAC3B,2BAA2B;QAC3B,2BAA2B;QAC3B,SAAS;KACV,CAAC;IACF,MAAM,KAAK,GAAG,gFAAgF,CAAC;IAC/F,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,IAAA,4BAAY,EAAC,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,CAAC;QACX,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,KAAK,CACb,8FAA8F,CAC/F,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,SAAgB,eAAe;IAC7B,IAAI,CAAC;QACH,IAAA,4BAAY,EAAC,OAAO,EAAE,CAAC,IAAI,EAAE,gCAAgC,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,WAAW;IAC/B,IAAI,eAAe,EAAE;QAAE,OAAO;IAE9B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,iEAAiE;IACjE,2EAA2E;IAC3E,+EAA+E;IAC/E,MAAM,KAAK,GAAG,IAAA,aAAQ,EAAC,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE;QAClE,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC;KAChC,CAAC,CAAC;IACH,iFAAiF;IACjF,IAAA,cAAS,EAAC,KAAK,CAAC,CAAC;IACjB,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,+DAA+D;IAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAM,CAAC;IACrC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,eAAe,EAAE,EAAE,CAAC;YACtB,mBAAmB,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;AAC3E,CAAC;AAED,gCAAgC;AAChC,SAAgB,UAAU;IACxB,IAAI,CAAC;QACH,IAAA,4BAAY,EAAC,OAAO,EAAE,CAAC,IAAI,EAAE,gCAAgC,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvF,CAAC;IAAC,MAAM,CAAC;QACP,kBAAkB;IACpB,CAAC;AACH,CAAC;AAED,IAAI,qBAAqB,GAAG,KAAK,CAAC;AAClC,SAAS,mBAAmB;IAC1B,IAAI,qBAAqB;QAAE,OAAO;IAClC,qBAAqB,GAAG,IAAI,CAAC;IAC7B,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAG,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,gFAAgF;AAEhF,MAAM,eAAe,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,iCAAiC,CAAC,CAAC;AAE3E,SAAS,OAAO;IACd,KAAK,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;QACvE,IAAI,CAAC;YACH,IAAA,4BAAY,EAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,CAAC;QACX,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACvC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,4BAAY,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACnF,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAe;IACpC,wDAAwD;IACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACrF,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC;YACH,IAAA,kBAAa,EAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,MAAqB,EAAE,GAAG,IAAc;IACvD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAUD,KAAK,UAAU,oBAAoB,CAAC,GAAW,EAAE,QAAgB;IAC/D,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,GAAG,EACH,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO;YACtB,0CAA0C;gBAC1C,2DAA2D;gBAC3D,6CAA6C,CAAC,EAChD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;QACF,MAAM,CAAC,UAAU,EAAE,KAAK,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,cAAc,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,CAAC,OAAO,IAAI,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QACjC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,IAAI,KAAK,KAAK,OAAO;QAAK,OAAO,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,UAAU;QAAE,OAAO,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,QAAQ;QAAI,OAAO,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,QAAQ;QAAI,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,KAAe,EAAE,QAAwB;IAChF,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1D,iDAAiD;IACjD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SACjF,MAAM,CAAC,CAAC,CAAC,EAAqB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAEhD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,sBAAsB;gBACjD,4CAA4C,CAC7C,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED,4FAA4F;IAC5F,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,CAAC;QAAC,KAAK,GAAG,IAAA,iBAAY,EAAC,eAAe,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACtE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAwB,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,KAAK;YAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,gEAAgE;IAChE,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACpD,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,QAAQ,KAAK,KAAK;YAAE,OAAO,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,CAAC,QAAQ,KAAK,KAAK;YAAE,OAAO,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,2DAA2D;QAC3D,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,oGAAoG;IACpG,kGAAkG;IAClG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,2BAA2B,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,eAAe,KAAK,KAAK;YACvF,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,GAAW,EAAE,QAAwB;IACtE,IAAI,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,6DAA6D;IAC7D,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,CAAC;QACH,KAAK,GAAG,IAAA,iBAAY,EAAC,eAAe,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,4BAA4B;QAC5B,mHAAmH;QACnH,0DAA0D,CAC3D,CAAC;AACJ,CAAC;AA8BD,iFAAiF;AAEjF,0EAA0E;AAC1E,8EAA8E;AAC9E,0EAA0E;AAC1E,4EAA4E;AAC5E,4BAA4B;AAC5B,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;AAC7C,MAAM,eAAe,GAAG,IAAI,GAAG,EAA4C,CAAC;AAC5E,MAAM,kBAAkB,GAAG,KAAM,CAAC;AAElC,KAAK,UAAU,mBAAmB,CAAC,MAAc,EAAE,IAAmB;IACpE,MAAM,GAAG,GAAG,IAAI,IAAI,UAAU,CAAC;IAC/B,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,kBAAkB;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC;IAC9E,MAAM,IAAI,GAAG,MAAM,IAAA,sBAAa,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/C,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,OAW5C;IACC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,KAAM,CAAC;IAC3C,MAAM,eAAe,GAAG,OAAO,EAAE,eAAe,IAAI,KAAK,CAAC;IAC1D,MAAM,oBAAoB,GAAG,OAAO,EAAE,oBAAoB,IAAI,IAAI,CAAC;IACnE,IAAI,IAAI,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC;IACrC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,2DAA2D;IAC3D,MAAM,WAAW,EAAE,CAAC;IAEpB,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,qDAAqD;IACrD,IAAI,CAAC,IAAI;QAAE,IAAI,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAEtD,uFAAuF;IACvF,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,IAAI,IAAI,UAAU,CAAC;IACpC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,IAAA,iBAAQ,EAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACxG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,oEAAoE;IACpE,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAK,eAAe,CAAC,CAAC,CAAC,IAAA,sBAAW,GAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAElF,gFAAgF;IAChF,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,IAAA,WAAM,GAAE,EAAE,qBAAqB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,EAAE,CAAC;IAEvB,IAAI,CAAC;QACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,IAAA,iBAAQ,EAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC1G,IAAI,IAAA,eAAU,EAAC,OAAO,CAAC;oBAAE,MAAM;YACjC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,IAAI,CAAC,KAAK,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;YAC/E,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,4EAA4E;QAC5E,kFAAkF;QAClF,MAAM,iBAAiB,GAAG,oBAAoB;YAC5C,CAAC,CAAC,IAAA,yBAAgB,EAAC,MAAM,EAAE,IAAI,CAAC;YAChC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE1B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjE,IAAA,mBAAQ,EAAC,OAAO,CAAC;YACjB,iBAAiB;YACjB,iBAAiB;YACjB,eAAe;SAChB,CAAC,CAAC;QAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC;IAC5E,CAAC;YAAS,CAAC;QACT,MAAM,IAAA,iBAAM,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,iFAAiF;AAE1E,KAAK,UAAU,wBAAwB,CAAC,OAO9C;IACC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,KAAM,CAAC;IAC3C,MAAM,eAAe,GAAG,OAAO,EAAE,eAAe,IAAI,KAAK,CAAC;IAC1D,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC;IAC3C,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IAEtB,yGAAyG;IACzG,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAExD,8CAA8C;IAC9C,MAAM,iBAAiB,GAAG,IAAA,qCAAoB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAK,eAAe,CAAC,CAAC,CAAC,IAAA,sBAAW,GAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAElF,mEAAmE;IACnE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAC3C,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,EACnD,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAC5B,CAAC;IAEnC,gFAAgF;IAChF,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1D,iBAAiB;QACjB,IAAA,wCAAuB,EAAC,GAAG,EAAE,MAAM,CAAC;QACpC,eAAe;KAChB,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC;AAC5E,CAAC;AAoBD,iFAAiF;AAEjF,gFAAgF;AAChF,+EAA+E;AAC/E,6EAA6E;AAC7E,oDAAoD;AACpD,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAE7C;;;;;;;;GAQG;AACH,KAAK,UAAU,WAAW,CAAC,MAAc,EAAE,IAAmB;IAC5D,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;QAC9C,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,aAAa,CAC3B,MAAM,EAAE,MAAM,IAAA,iBAAQ,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EACxD,EAAE,OAAO,EAAE,KAAK,EAAE,CACnB,CAAC;YACF,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,GAAI,CAAW,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9E,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAExF,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,qEAAqE;gBACrE,6EAA6E;gBAC7E,YAAG,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACpE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,IAAI,KAAK,CACxB,qFAAqF;gBACrF,mCAAmC;gBACnC,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,MAAM,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,MAAM,8BAA8B,CAAC,CAClG,CAAC;YACF,YAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9G,MAAM,QAAQ,CAAC;QACjB,CAAC;QAED,0EAA0E;QAC1E,YAAG,CAAC,IAAI,CAAC,2CAA2C,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACnH,wEAAwE;QACxE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,CAAC,CAAC,cAAc;AAC3B,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,MAAc,EAAE,IAAmB;IACzD,+EAA+E;IAC/E,+EAA+E;IAC/E,4EAA4E;IAC5E,6EAA6E;IAC7E,6DAA6D;IAC7D,EAAE;IACF,4EAA4E;IAC5E,2EAA2E;IAC3E,oEAAoE;IACpE,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACxG,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACzD,OAAO,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC;AAC7B,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAAC,OAO/C;IACC,MAAM,UAAU,GAAM,OAAO,EAAE,UAAU,IAAO,KAAK,CAAC;IACtD,MAAM,WAAW,GAAK,OAAO,EAAE,WAAW,IAAM,MAAO,CAAC;IACxD,MAAM,OAAO,GAAS,OAAO,EAAE,OAAO,IAAU,KAAM,CAAC;IACvD,MAAM,eAAe,GAAG,OAAO,EAAE,eAAe,IAAI,KAAK,CAAC;IAC1D,IAAI,IAAI,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC;IACrC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,MAAM,WAAW,EAAE,CAAC;IAEpB,0EAA0E;IAC1E,iEAAiE;IACjE,IAAI,CAAC,IAAI;QAAE,IAAI,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAEtD,MAAM,iBAAiB,GAAG,IAAA,sBAAa,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,eAAe,GAAK,eAAe,CAAC,CAAC,CAAC,IAAA,sBAAW,GAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAElF,IAAI,UAAkB,CAAC;IAEvB,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;QAC1C,IAAI,KAAyB,CAAC;QAC9B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7C,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,KAAK;gBAAE,MAAM;YACjB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACnG,UAAU,GAAG,KAAK,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,8GAA8G,CAAC,CAAC;QACnJ,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpH,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,IAAA,WAAM,GAAE,EAAE,oBAAoB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,aAAa,CACjB,MAAM,EAAE,MAAM,IAAA,iBAAQ,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EACtE,EAAE,OAAO,EAAE,CACZ,CAAC;QAEF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjE,IAAA,mBAAQ,EAAC,OAAO,CAAC;YACjB,iBAAiB;YACjB,IAAA,yBAAgB,EAAC,MAAM,EAAE,IAAI,CAAC;YAC9B,eAAe;SAChB,CAAC,CAAC;QAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC;IAC5E,CAAC;YAAS,CAAC;QACT,MAAM,IAAA,iBAAM,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,+EAA+E;AAC/E,qDAAqD;AACrD,mGAAmG;AACnG,yEAAyE;AACzE,kGAAkG;AAClG,gGAAgG;AAChG,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AAE/C,KAAK,UAAU,uBAAuB,CAAC,GAAW,EAAE,SAAwB,IAAI;IAC9E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,GAAG,EACH,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EACzC,OAAO,EAAE,sCAAsC,EAC/C,cAAc,EAAE,2DAA2D,CAAC,EAC9E,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,CAC9C,CAAC;IACF,6GAA6G;IAC7G,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACnF,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAE9B,IAAI,MAAM,GAAK,EAAE,CAAC;IAClB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,MAAM,GAAK,CAAC,CAAC,CAAC;IAElB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,EAAE,GAAO,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAK,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACzD,MAAM,KAAK,GAAI,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC7E,MAAM,GAAG,GAAM,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACvE,MAAM,EAAE,GAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI;YAAE,SAAS;QAC3B,0EAA0E;QAC1E,qEAAqE;QACrE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QACrH,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;YAChB,MAAM,GAAK,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,GAAK,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAEM,KAAK,UAAU,2BAA2B,CAAC,OAOjD;IACC,MAAM,UAAU,GAAM,OAAO,EAAE,UAAU,IAAO,KAAK,CAAC;IACtD,MAAM,WAAW,GAAK,OAAO,EAAE,WAAW,IAAM,MAAO,CAAC;IACxD,MAAM,OAAO,GAAS,OAAO,EAAE,OAAO,IAAU,KAAM,CAAC;IACvD,MAAM,eAAe,GAAG,OAAO,EAAE,eAAe,IAAI,KAAK,CAAC;IAC1D,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC;IAC3C,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IAEtB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAExD,MAAM,iBAAiB,GAAG,IAAA,qCAAoB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAK,eAAe,CAAC,CAAC,CAAC,IAAA,sBAAW,GAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAElF,IAAI,UAAkB,CAAC;IAEvB,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;QAC1C,IAAI,KAAyB,CAAC;QAC9B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC1D,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;gBAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;gBAAC,MAAM;YAAC,CAAC;YACvE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACnG,UAAU,GAAG,KAAK,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,4GAA4G,CAAC,CAAC;QAC3I,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,IAAA,WAAM,GAAE,EAAE,qBAAqB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACtE,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAEpF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjE,IAAA,mBAAQ,EAAC,OAAO,CAAC;YACjB,iBAAiB;YACjB,IAAA,wCAAuB,EAAC,GAAG,EAAE,MAAM,CAAC;YACpC,eAAe;SAChB,CAAC,CAAC;QAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC;IAC5E,CAAC;YAAS,CAAC;QACT,MAAM,IAAA,iBAAM,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AA+BD;;;;;;;GAOG;AACH,KAAK,UAAU,qBAAqB,CAAC,MAAc;IACjD,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/F,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAmC,CAAC;QAChF,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU;YAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAe,GAAE,CAAC;QACzC,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAYD,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAkD,CAAC;AACxF,MAAM,wBAAwB,GAAG,KAAM,CAAC;AAExC,2EAA2E;AAC3E,+EAA+E;AAC/E,4EAA4E;AAC5E,2EAA2E;AAC3E,6EAA6E;AAC7E,qBAAqB;AACrB,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA0C,CAAC;AAC7E,MAAM,sBAAsB,GAAG,KAAM,CAAC;AAEtC,KAAK,UAAU,cAAc;IAC3B,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QAAC,MAAM,GAAG,UAAU,EAAE,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAEnD,wEAAwE;IACxE,MAAM,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAEpC,wEAAwE;IACxE,IAAI,aAAa,GAAoG,EAAE,CAAC;IACxH,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/F,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAyB,CAAC;QACvD,8FAA8F;QAC9F,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAChF,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,kFAAkF;IAClF,+EAA+E;IAC/E,+DAA+D;IAC/D,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAe,GAAE,CAAC;IACzC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAClE,MAAM,iBAAiB,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzE,8DAA8D;IAC9D,KAAK,MAAM,UAAU,IAAI,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,qBAAqB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,mBAAmB,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAClF,4EAA4E;QAC5E,2EAA2E;QAC3E,yEAAyE;QACzE,sEAAsE;QACtE,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,wBAAwB;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC;QAEpF,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAC3E,CAAC;YACF,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAChC,MAAM,KAAK,GAAG;oBACZ,UAAU,EAAE,IAAI;oBAChB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC;gBACF,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACjE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAEV,yEAAyE;QACzE,2EAA2E;QAC3E,mDAAmD;QACnD,IAAI,MAAM,EAAE,CAAC;YACX,YAAG,CAAC,IAAI,CAAC,mEAAmE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5H,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QACD,YAAG,CAAC,IAAI,CAAC,4FAA4F,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACjH,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAE3D,0EAA0E;IAC1E,6EAA6E;IAC7E,8EAA8E;IAC9E,2EAA2E;IAC3E,qCAAqC;IACrC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,2BAAkB,EAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACxG,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,mBAAmB,CAAC,CAAC;IAE/D,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAElC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,+BAAsB,EAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACtG,0EAA0E;IAC1E,uEAAuE;IACvE,wEAAwE;IACxE,sCAAsC;IACtC,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,sBAAsB,EAAE,CAAC;YACvF,YAAG,CAAC,KAAK,CAAC,8CAA8C,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACtH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7B,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO;YACL,EAAE,EAAE,CAAC,CAAC,UAAU;YAChB,QAAQ,EAAE,KAAc;YACxB,IAAI,EAAE,oBAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW;YACjD,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,SAAS;YAC3C,KAAK,EAAE,CAAC,CAAC,WAAW;YACpB,eAAe,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE;YAC1C,SAAS,EAAE,aAAa;YACxB,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB;YACnE,aAAa;SACd,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QAAC,GAAG,GAAG,OAAO,EAAE,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAE7C,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAE7B,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpE,wDAAwD;IACxD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnF,sGAAsG;IACtG,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,CAAC;QAAC,KAAK,GAAG,IAAA,iBAAY,EAAC,eAAe,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACtE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAwB,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAClD,gEAAgE;QAChE,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,KAAK;YAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,0DAA0D;IAC1D,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,qCAAoB,EAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CACzE,CAAC;IAEF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,6EAA6E;QAC7E,uFAAuF;QACvF,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,KAAK,OAAO,CAAC;QAChD,IAAI,iBAAqC,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,KAAK,CAAC,WAAW,KAAK,QAAQ;gBAAS,iBAAiB,GAAG,8BAA8B,CAAC;iBACzF,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU;gBAAE,iBAAiB,GAAG,oBAAoB,CAAC;iBAC/E,IAAI,KAAK,CAAC,WAAW,KAAK,QAAQ;gBAAI,iBAAiB,GAAG,YAAY,CAAC;;gBACjC,iBAAiB,GAAG,YAAY,CAAC;QAC9E,CAAC;QACD,OAAO;YACL,EAAE,EAAE,KAAK,CAAC,cAAc;YACxB,QAAQ,EAAE,SAAkB;YAC5B,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,cAAc;YACxC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,SAAS;YACrC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;YACxB,eAAe,EAAE,IAAI,EAAE,eAAe,IAAI,EAAE;YAC5C,SAAS;YACT,iBAAiB;SAClB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,WAAW;IAC/B,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,eAAe,CAAC,OAA6B;IACjE,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC9B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAE/E,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,IAAA,iBAAQ,EAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3F,OAAO;IACT,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,MAAM,CAAE,GAAa,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC;QACnD,2EAA2E;QAC3E,wEAAwE;QACxE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,oBAAoB,IAAI,QAAQ,CAAC;IAClD,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,IAAA,WAAM,GAAE,EAAE,6BAA6B,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChF,IAAA,kBAAa,EAAC,UAAU,EAAE,uBAAuB,QAAQ,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACjF,IAAI,CAAC;QACH,MAAM,aAAa,CACjB,WAAW,EACX,CAAC,IAAI,EAAE,oBAAoB,UAAU,iCAAiC,CAAC,EACvE,EAAE,OAAO,EAAE,KAAM,EAAE,CACpB,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,gEAAgE,QAAQ,EAAE,CAC3E,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,IAAA,4BAAY,EAAC,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IAC/E,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,mBAAmB,CAAC,OAA6B;IACrE,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACxC,uDAAuD;IACvD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACnE,CAAC;IACF,MAAM,OAAO,GAAG,MAAM;SACnB,MAAM,CAAC,CAAC,CAAC,EAAqB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;SAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEtD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,kFAAkF;QAClF,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvF,IAAI,CAAC;gBAAC,MAAM,aAAa,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,iBAAY,EAAC,eAAe,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC;gBAAC,IAAA,4BAAY,EAAC,IAAI,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACpF,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC;AAED,gFAAgF;AAChF,EAAE;AACF,4EAA4E;AAC5E,0EAA0E;AAC1E,8EAA8E;AAC9E,yEAAyE;AACzE,uEAAuE;AACvE,EAAE;AACF,4EAA4E;AAC5E,2EAA2E;AAC3E,iEAAiE;AAEjE,MAAM,cAAc,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,qCAAqC,CAAC,CAAC;AAW9E,iFAAiF;AACjF,SAAgB,YAAY;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAA,iBAAY,EAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,WAAW,KAAK,IAAI;YACtC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC5C,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;SACzD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACtD,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,SAAgB,YAAY,CAAC,KAAqB;IAChD,IAAI,CAAC;QACH,IAAA,kBAAa,EAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,UAAU;IAC9B,MAAM,aAAa,CACjB,WAAW,EACX,CAAC,IAAI,EAAE,oDAAoD,CAAC,EAC5D,EAAE,OAAO,EAAE,KAAK,EAAE,CACnB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,UAAU;IAC9B,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,+EAA+E;QAC/E,0DAA0D;QAC1D,MAAM,aAAa,CACjB,WAAW,EACX,CAAC,IAAI;YACH,6BAA6B;gBAC7B,2DAA2D;gBAC3D,cAAc;gBACd,UAAU,CAAC,EACb,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;IAC7E,CAAC;AACH,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,qBAAqB,CAAC,OAA+B;IACzE,MAAM,IAAI,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC;IACvC,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QAAC,MAAM,GAAG,UAAU,EAAE,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;IACtD,OAAO,IAAA,2BAAkB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,sBAAsB,CAAC,OAA+B;IAC1E,MAAM,IAAI,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC;IACvC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAE,kDAAkD;IACxF,MAAM,IAAA,4BAAmB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../setup/detect.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AA4E7D,wBAAsB,aAAa,IAAI,OAAO,CAAC,cAAc,CAAC,CA2B7D;AAwBD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAarE"}
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../setup/detect.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAiF7D,wBAAsB,aAAa,IAAI,OAAO,CAAC,cAAc,CAAC,CA+B7D;AAwBD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAarE"}
@@ -6,6 +6,7 @@ const child_process_1 = require("child_process");
6
6
  const util_1 = require("util");
7
7
  const fs_1 = require("fs");
8
8
  const python_1 = require("./python");
9
+ const tunneld_1 = require("./tunneld");
9
10
  const execFileAsync = (0, util_1.promisify)(child_process_1.execFile);
10
11
  const PMD3 = ["-m", "pymobiledevice3"];
11
12
  const ADB_CANDIDATES = ["/opt/homebrew/bin/adb", "/usr/local/bin/adb", "adb"];
@@ -59,8 +60,10 @@ function sudoersConfigured(python) {
59
60
  // `sudo -ln` line-wraps long rules with whitespace-indented continuations.
60
61
  // Collapse all runs of whitespace into a single space before matching.
61
62
  const flat = out.replace(/\s+/g, " ");
62
- const needle = `${python} -m pymobiledevice3 remote tunneld`;
63
- return flat.includes(needle);
63
+ // Either grant counts: the legacy broad rule (pre-daemon installs) or the
64
+ // narrow kickstart rule the daemon installer writes.
65
+ return (flat.includes(`${python} -m pymobiledevice3 remote tunneld`) ||
66
+ flat.includes("launchctl kickstart -k system/com.screenshot-service.tunneld"));
64
67
  }
65
68
  catch {
66
69
  // `sudo -ln` non-zero usually means "no rule applies" — treat as unconfigured.
@@ -87,11 +90,13 @@ async function checkIosSetup() {
87
90
  const pymobiledevice3 = python !== null;
88
91
  const libimobiledevice = libimobiledeviceInstalled();
89
92
  const sudoers = sudoersConfigured(python);
93
+ const tunnelDaemon = (0, tunneld_1.tunnelDaemonStatus)().ok;
90
94
  const deviceVisible = python ? await iosDeviceVisible(python) : false;
91
- // All six pieces required including the passwordless sudoers rule. Without
92
- // it the pmd3 tunnel asks for the user's password each capture session, which
93
- // breaks any non-interactive flow.
94
- const ok = xcodeCommandLineTools && brew && pymobiledevice3 && libimobiledevice && sudoers;
95
+ // `ok` keys off the LaunchDaemon rather than the old sudoers rule. A machine
96
+ // with only the legacy rule reports not-ok, which is intended: it still hits
97
+ // the on-demand sudo path that can't prompt, so the wizard should offer to
98
+ // install the daemon and retire that rule.
99
+ const ok = xcodeCommandLineTools && brew && pymobiledevice3 && libimobiledevice && tunnelDaemon;
95
100
  return {
96
101
  xcodeCommandLineTools,
97
102
  brew,
@@ -99,6 +104,7 @@ async function checkIosSetup() {
99
104
  pymobiledevice3,
100
105
  libimobiledevice,
101
106
  sudoers,
107
+ tunnelDaemon,
102
108
  deviceVisible,
103
109
  ok,
104
110
  };
@@ -1 +1 @@
1
- {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../setup/detect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../setup/detect.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,7 @@ export { checkIosSetup, checkAndroidSetup } from "./detect";
2
2
  export { installIosDeps, installAndroidDeps } from "./install";
3
3
  export { pairAndroidWireless, connectAndroidWireless, getLastAndroidEndpoint } from "./pair";
4
4
  export { findPython } from "./python";
5
+ export { tunnelDaemonStatus, installScript as tunnelDaemonInstallScript, TUNNELD_LABEL, TUNNELD_LOG_PATH, } from "./tunneld";
6
+ export type { TunnelDaemonStatus } from "./tunneld";
5
7
  export type { IosSetupStatus, AndroidSetupStatus, SetupProgress, SetupProgressCallback, SetupStepStatus, AndroidPairOptions, AndroidConnectOptions, } from "./types";
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../setup/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../setup/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EACL,kBAAkB,EAClB,aAAa,IAAI,yBAAyB,EAC1C,aAAa,EACb,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,SAAS,CAAC"}
@@ -2,7 +2,7 @@
2
2
  // Public setup API. Consumers import from "@8bitbish/screenshot-service/setup"
3
3
  // (or via the top-level barrel) to drive the wizard or build their own UI.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.findPython = exports.getLastAndroidEndpoint = exports.connectAndroidWireless = exports.pairAndroidWireless = exports.installAndroidDeps = exports.installIosDeps = exports.checkAndroidSetup = exports.checkIosSetup = void 0;
5
+ exports.TUNNELD_LOG_PATH = exports.TUNNELD_LABEL = exports.tunnelDaemonInstallScript = exports.tunnelDaemonStatus = exports.findPython = exports.getLastAndroidEndpoint = exports.connectAndroidWireless = exports.pairAndroidWireless = exports.installAndroidDeps = exports.installIosDeps = exports.checkAndroidSetup = exports.checkIosSetup = void 0;
6
6
  var detect_1 = require("./detect");
7
7
  Object.defineProperty(exports, "checkIosSetup", { enumerable: true, get: function () { return detect_1.checkIosSetup; } });
8
8
  Object.defineProperty(exports, "checkAndroidSetup", { enumerable: true, get: function () { return detect_1.checkAndroidSetup; } });
@@ -15,4 +15,9 @@ Object.defineProperty(exports, "connectAndroidWireless", { enumerable: true, get
15
15
  Object.defineProperty(exports, "getLastAndroidEndpoint", { enumerable: true, get: function () { return pair_1.getLastAndroidEndpoint; } });
16
16
  var python_1 = require("./python");
17
17
  Object.defineProperty(exports, "findPython", { enumerable: true, get: function () { return python_1.findPython; } });
18
+ var tunneld_1 = require("./tunneld");
19
+ Object.defineProperty(exports, "tunnelDaemonStatus", { enumerable: true, get: function () { return tunneld_1.tunnelDaemonStatus; } });
20
+ Object.defineProperty(exports, "tunnelDaemonInstallScript", { enumerable: true, get: function () { return tunneld_1.installScript; } });
21
+ Object.defineProperty(exports, "TUNNELD_LABEL", { enumerable: true, get: function () { return tunneld_1.TUNNELD_LABEL; } });
22
+ Object.defineProperty(exports, "TUNNELD_LOG_PATH", { enumerable: true, get: function () { return tunneld_1.TUNNELD_LOG_PATH; } });
18
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../setup/index.ts"],"names":[],"mappings":";AAAA,+EAA+E;AAC/E,2EAA2E;;;AAE3E,mCAA4D;AAAnD,uGAAA,aAAa,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AACzC,qCAA+D;AAAtD,yGAAA,cAAc,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAC3C,+BAA6F;AAApF,2GAAA,mBAAmB,OAAA;AAAE,8GAAA,sBAAsB,OAAA;AAAE,8GAAA,sBAAsB,OAAA;AAC5E,mCAAsC;AAA7B,oGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../setup/index.ts"],"names":[],"mappings":";AAAA,+EAA+E;AAC/E,2EAA2E;;;AAE3E,mCAA4D;AAAnD,uGAAA,aAAa,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AACzC,qCAA+D;AAAtD,yGAAA,cAAc,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAC3C,+BAA6F;AAApF,2GAAA,mBAAmB,OAAA;AAAE,8GAAA,sBAAsB,OAAA;AAAE,8GAAA,sBAAsB,OAAA;AAC5E,mCAAsC;AAA7B,oGAAA,UAAU,OAAA;AACnB,qCAKmB;AAJjB,6GAAA,kBAAkB,OAAA;AAClB,oHAAA,aAAa,OAA6B;AAC1C,wGAAA,aAAa,OAAA;AACb,2GAAA,gBAAgB,OAAA"}
@@ -6,7 +6,7 @@ import { SetupProgressCallback } from "./types";
6
6
  * 3. python@3.13 via brew if no compatible python is present.
7
7
  * 4. pymobiledevice3 via pip.
8
8
  * 5. libimobiledevice via brew (needed for our trust filter via idevicepair validate).
9
- * 6. Sudoers rule so the tunnel daemon starts without a password prompt.
9
+ * 6. LaunchDaemon that runs the pmd3 tunnel as root from boot.
10
10
  *
11
11
  * Each step emits progress. Already-satisfied steps come through as
12
12
  * `status: "skipped"` so the wizard ticks them immediately.
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../setup/install.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qBAAqB,EAAiB,MAAM,SAAS,CAAC;AAgU/D;;;;;;;;;;;GAWG;AACH,wBAAsB,cAAc,CAAC,UAAU,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0HtF;AAID;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CAAC,UAAU,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoD1F"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../setup/install.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qBAAqB,EAAiB,MAAM,SAAS,CAAC;AAiU/D;;;;;;;;;;;GAWG;AACH,wBAAsB,cAAc,CAAC,UAAU,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsHtF;AAID;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CAAC,UAAU,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoD1F"}
@@ -9,6 +9,7 @@ const os_1 = require("os");
9
9
  const path_1 = require("path");
10
10
  const detect_1 = require("./detect");
11
11
  const python_1 = require("./python");
12
+ const tunneld_1 = require("./tunneld");
12
13
  const execFileAsync = (0, util_1.promisify)(child_process_1.execFile);
13
14
  // Where Homebrew installs binaries on Apple Silicon vs Intel. We add both to
14
15
  // PATH for child processes so newly-installed `brew` / `python3.13` / `pip` /
@@ -283,7 +284,7 @@ async function installHomebrew(p, emit) {
283
284
  * 3. python@3.13 via brew if no compatible python is present.
284
285
  * 4. pymobiledevice3 via pip.
285
286
  * 5. libimobiledevice via brew (needed for our trust filter via idevicepair validate).
286
- * 6. Sudoers rule so the tunnel daemon starts without a password prompt.
287
+ * 6. LaunchDaemon that runs the pmd3 tunnel as root from boot.
287
288
  *
288
289
  * Each step emits progress. Already-satisfied steps come through as
289
290
  * `status: "skipped"` so the wizard ticks them immediately.
@@ -383,26 +384,24 @@ async function installIosDeps(onProgress) {
383
384
  throw err;
384
385
  }
385
386
  }
386
- // ── Step 6: sudoers (lets the pmd3 tunnel start without a password each session) ─
387
- if (status.sudoers) {
388
- emit.skip("sudoers", "Passwordless tunnel configured");
387
+ // ── Step 6: tunnel daemon (launchd owns tunneld; no sudo on the capture path) ─
388
+ // Replaces the old per-user NOPASSWD rule. installScript() also overwrites
389
+ // that rule with a narrow kickstart-only one, so this step migrates a legacy
390
+ // machine as well as configuring a fresh one.
391
+ if (status.tunnelDaemon) {
392
+ emit.skip("tunneld", "Background tunnel service");
389
393
  }
390
394
  else {
391
- const p = emit.next("Configuring passwordless tunnel", "sudoers");
395
+ const p = emit.next("Installing background tunnel service", "tunneld");
392
396
  try {
393
- const finalPython = (0, python_1.findPython)() ?? python;
394
- const { stdout: who } = await execFileAsync("whoami");
395
- const username = who.trim();
396
- const rule = `${username} ALL=(ALL) NOPASSWD: ${finalPython} -m pymobiledevice3 remote tunneld`;
397
- await runAsAdmin(`printf '%s\\n' '${rule}' > '/etc/sudoers.d/screenshot-service'\n` +
398
- `chmod 440 '/etc/sudoers.d/screenshot-service'`);
397
+ await runAsAdmin((0, tunneld_1.installScript)());
399
398
  emit.update(p, { status: "done" });
400
399
  }
401
400
  catch (err) {
402
401
  const msg = err.message || String(err);
403
402
  emit.update(p, { status: "error", log: msg });
404
403
  if (/User canceled|(-128)/i.test(msg)) {
405
- throw new Error("Passwordless tunnel setup was cancelled. Click Retry to try again.");
404
+ throw new Error("Tunnel service setup was cancelled. Click Retry to try again.");
406
405
  }
407
406
  throw err;
408
407
  }
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../setup/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../setup/install.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export declare const PYTHON_CANDIDATES: string[];
1
2
  /**
2
3
  * Returns the path to the first python binary that has pymobiledevice3 installed,
3
4
  * or null if none found. Never throws — use {@link findPythonOrThrow} when an
@@ -1 +1 @@
1
- {"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../setup/python.ts"],"names":[],"mappings":"AAoCA;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,MAAM,GAAG,IAAI,CAQ1C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAO1C;AAED,uFAAuF;AACvF,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAQ9C"}
1
+ {"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../setup/python.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,iBAAiB,UAwB7B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,MAAM,GAAG,IAAI,CAQ1C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAO1C;AAED,uFAAuF;AACvF,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAQ9C"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PYTHON_CANDIDATES = void 0;
3
4
  exports.findPython = findPython;
4
5
  exports.findPythonOrThrow = findPythonOrThrow;
5
6
  exports.findAnyPython3 = findAnyPython3;
@@ -12,7 +13,7 @@ const child_process_1 = require("child_process");
12
13
  // link symlinks into `/opt/homebrew/bin`. If the user has an unlinked install
13
14
  // (e.g. brew refused to clobber files at `/usr/local/bin/pip3.13`), the keg
14
15
  // path is still a working python.
15
- const PYTHON_CANDIDATES = [
16
+ exports.PYTHON_CANDIDATES = [
16
17
  "/opt/homebrew/opt/python@3.14/bin/python3.14",
17
18
  "/usr/local/opt/python@3.14/bin/python3.14",
18
19
  "/opt/homebrew/bin/python3.14",
@@ -43,7 +44,7 @@ const PYTHON_CANDIDATES = [
43
44
  * exception is the right behaviour.
44
45
  */
45
46
  function findPython() {
46
- for (const p of PYTHON_CANDIDATES) {
47
+ for (const p of exports.PYTHON_CANDIDATES) {
47
48
  try {
48
49
  (0, child_process_1.execFileSync)(p, ["-c", "import pymobiledevice3"], { stdio: "ignore" });
49
50
  return p;
@@ -61,7 +62,7 @@ function findPythonOrThrow() {
61
62
  }
62
63
  /** Returns the path to a python3 binary (with or without pymobiledevice3), or null. */
63
64
  function findAnyPython3() {
64
- for (const p of PYTHON_CANDIDATES) {
65
+ for (const p of exports.PYTHON_CANDIDATES) {
65
66
  try {
66
67
  (0, child_process_1.execFileSync)(p, ["--version"], { stdio: "ignore" });
67
68
  return p;
@@ -1 +1 @@
1
- {"version":3,"file":"python.js","sourceRoot":"","sources":["../../setup/python.ts"],"names":[],"mappings":";;AAyCA,gCAQC;AAED,8CAOC;AAGD,wCAQC;AArED,iDAA6C;AAE7C,iFAAiF;AACjF,8DAA8D;AAC9D,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAC9E,4EAA4E;AAC5E,kCAAkC;AAClC,MAAM,iBAAiB,GAAG;IACxB,8CAA8C;IAC9C,2CAA2C;IAC3C,8BAA8B;IAC9B,2BAA2B;IAC3B,YAAY;IACZ,8CAA8C;IAC9C,2CAA2C;IAC3C,8BAA8B;IAC9B,2BAA2B;IAC3B,YAAY;IACZ,8CAA8C;IAC9C,2CAA2C;IAC3C,8BAA8B;IAC9B,2BAA2B;IAC3B,YAAY;IACZ,8CAA8C;IAC9C,2CAA2C;IAC3C,8BAA8B;IAC9B,2BAA2B;IAC3B,YAAY;IACZ,2BAA2B;IAC3B,wBAAwB;IACxB,SAAS;CACV,CAAC;AAEF;;;;GAIG;AACH,SAAgB,UAAU;IACxB,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,IAAA,4BAAY,EAAC,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvE,OAAO,CAAC,CAAC;QACX,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,iBAAiB;IAC/B,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAChB,MAAM,IAAI,KAAK,CACb,uEAAuE;QACvE,8CAA8C,CAC/C,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,SAAgB,cAAc;IAC5B,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,IAAA,4BAAY,EAAC,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,CAAC;QACX,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"python.js","sourceRoot":"","sources":["../../setup/python.ts"],"names":[],"mappings":";;;AAyCA,gCAQC;AAED,8CAOC;AAGD,wCAQC;AArED,iDAA6C;AAE7C,iFAAiF;AACjF,8DAA8D;AAC9D,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAC9E,4EAA4E;AAC5E,kCAAkC;AACrB,QAAA,iBAAiB,GAAG;IAC/B,8CAA8C;IAC9C,2CAA2C;IAC3C,8BAA8B;IAC9B,2BAA2B;IAC3B,YAAY;IACZ,8CAA8C;IAC9C,2CAA2C;IAC3C,8BAA8B;IAC9B,2BAA2B;IAC3B,YAAY;IACZ,8CAA8C;IAC9C,2CAA2C;IAC3C,8BAA8B;IAC9B,2BAA2B;IAC3B,YAAY;IACZ,8CAA8C;IAC9C,2CAA2C;IAC3C,8BAA8B;IAC9B,2BAA2B;IAC3B,YAAY;IACZ,2BAA2B;IAC3B,wBAAwB;IACxB,SAAS;CACV,CAAC;AAEF;;;;GAIG;AACH,SAAgB,UAAU;IACxB,KAAK,MAAM,CAAC,IAAI,yBAAiB,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,IAAA,4BAAY,EAAC,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvE,OAAO,CAAC,CAAC;QACX,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,iBAAiB;IAC/B,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAChB,MAAM,IAAI,KAAK,CACb,uEAAuE;QACvE,8CAA8C,CAC/C,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,SAAgB,cAAc;IAC5B,KAAK,MAAM,CAAC,IAAI,yBAAiB,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,IAAA,4BAAY,EAAC,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,CAAC;QACX,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,57 @@
1
+ export declare const TUNNELD_LABEL = "com.screenshot-service.tunneld";
2
+ export declare const TUNNELD_PLIST_PATH = "/Library/LaunchDaemons/com.screenshot-service.tunneld.plist";
3
+ export declare const TUNNELD_WRAPPER_PATH = "/usr/local/libexec/screenshot-service-tunneld";
4
+ export declare const TUNNELD_SUDOERS_PATH = "/etc/sudoers.d/screenshot-service";
5
+ export declare const TUNNELD_LOG_PATH = "/var/log/screenshot-service-tunneld.log";
6
+ /**
7
+ * Bump when the wrapper or plist content changes in a way that needs
8
+ * reinstalling. Stamped into the wrapper and compared during detection, so an
9
+ * app update can notice a machine running an older daemon and offer to
10
+ * refresh it. Without this, an installed daemon is invisible to upgrades and
11
+ * drifts indefinitely.
12
+ */
13
+ export declare const TUNNELD_CONFIG_VERSION = 1;
14
+ /**
15
+ * launchd's minimum gap between respawns, in seconds. Stops a crash-looping
16
+ * tunneld from spinning the CPU.
17
+ *
18
+ * Exported because any caller waiting for a restart must allow MORE than this
19
+ * — a health budget shorter than the throttle reports failure moments before
20
+ * the daemon actually comes back. Derive the budget from this constant rather
21
+ * than hardcoding a number that silently drifts out of step with the plist.
22
+ */
23
+ export declare const TUNNELD_THROTTLE_SECONDS = 10;
24
+ export declare function wrapperScript(): string;
25
+ export declare function plistXml(): string;
26
+ export interface TunnelDaemonStatus {
27
+ /** plist and wrapper both present. */
28
+ present: boolean;
29
+ /** Present, but installed from an older TUNNELD_CONFIG_VERSION. */
30
+ stale: boolean;
31
+ /** Present AND current — nothing to do. */
32
+ ok: boolean;
33
+ }
34
+ /**
35
+ * Detects the daemon WITHOUT root. Deliberately does not shell out to
36
+ * `launchctl print`, which needs root for the system domain — the wizard runs
37
+ * unprivileged and must be able to answer "is this machine set up?" on every
38
+ * launch without prompting.
39
+ *
40
+ * Liveness isn't checked here: whether the socket is currently listening is a
41
+ * runtime question (answered by isTunnelHealthy) and a transient failure
42
+ * shouldn't make the wizard claim the machine is unconfigured.
43
+ */
44
+ export declare function tunnelDaemonStatus(): TunnelDaemonStatus;
45
+ /**
46
+ * The privileged half, as a bash script for runAsAdmin(). One admin prompt
47
+ * installs the wrapper, the plist and the sudoers rule, then (re)loads the job.
48
+ *
49
+ * The sudoers rule is deliberately tiny — it exists ONLY so the host app can
50
+ * revive a wedged tunnel without a password. It replaces the old broad rule at
51
+ * the same path, so installing this also retires that grant.
52
+ *
53
+ * `visudo -cf` before installing is not optional: a malformed file in
54
+ * /etc/sudoers.d can break sudo for the whole machine, and this runs as root.
55
+ */
56
+ export declare function installScript(): string;
57
+ //# sourceMappingURL=tunneld.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunneld.d.ts","sourceRoot":"","sources":["../../setup/tunneld.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,aAAa,mCAAmC,CAAC;AAC9D,eAAO,MAAM,kBAAkB,gEAAkD,CAAC;AAClF,eAAO,MAAM,oBAAoB,kDAAkD,CAAC;AACpF,eAAO,MAAM,oBAAoB,sCAAsC,CAAC;AACxE,eAAO,MAAM,gBAAgB,4CAA4C,CAAC;AAE1E;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAc3C,wBAAgB,aAAa,IAAI,MAAM,CAoBtC;AAED,wBAAgB,QAAQ,IAAI,MAAM,CAwBjC;AAED,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,mEAAmE;IACnE,KAAK,EAAE,OAAO,CAAC;IACf,2CAA2C;IAC3C,EAAE,EAAE,OAAO,CAAC;CACb;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,IAAI,kBAAkB,CAavD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAuCtC"}
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ // ── The tunneld LaunchDaemon ─────────────────────────────────────────────────
3
+ //
4
+ // pymobiledevice3's RemoteXPC tunnel (`remote tunneld`) needs root, and every
5
+ // iOS capture needs the tunnel. The original design started it on demand with
6
+ // `sudo` from inside the host app and relied on a NOPASSWD sudoers rule to
7
+ // avoid a password prompt. That rule was keyed to BOTH the username and the
8
+ // absolute python path, so it broke in three routine ways:
9
+ //
10
+ // 1. A second account on the same Mac isn't covered by the rule.
11
+ // 2. `brew upgrade python` moves the interpreter and orphans the rule.
12
+ // 3. A wedged tunneld needs `sudo pkill`, which can't prompt either — the
13
+ // host app is forced to tell the user to open Terminal.
14
+ //
15
+ // Failure mode for all three is identical and unhelpful: the host app spawns
16
+ // sudo with stdin closed, sudo can't ask for a password, and the caller sits
17
+ // there until the health poll times out.
18
+ //
19
+ // So the daemon inverts the ownership. launchd runs the tunnel as root from
20
+ // boot, KeepAlive restarts it if it dies, and the host app never invokes sudo
21
+ // on the capture path at all — it just health-checks a socket that is already
22
+ // listening. Captures get faster as a side effect: the tunnel is warm before
23
+ // the app launches instead of being established on first use.
24
+ //
25
+ // Two details that matter:
26
+ //
27
+ // * The plist points at a WRAPPER, not at a python. The wrapper resolves the
28
+ // interpreter at each launch, so a python upgrade can't orphan the daemon
29
+ // the way it orphaned the sudoers rule. Baking a path into the plist would
30
+ // just relocate bug #2.
31
+ // * The wrapper MUST be installed root:wheel 0755. A user-writable script
32
+ // executed by root is a privilege escalation, not a convenience.
33
+ Object.defineProperty(exports, "__esModule", { value: true });
34
+ exports.TUNNELD_THROTTLE_SECONDS = exports.TUNNELD_CONFIG_VERSION = exports.TUNNELD_LOG_PATH = exports.TUNNELD_SUDOERS_PATH = exports.TUNNELD_WRAPPER_PATH = exports.TUNNELD_PLIST_PATH = exports.TUNNELD_LABEL = void 0;
35
+ exports.wrapperScript = wrapperScript;
36
+ exports.plistXml = plistXml;
37
+ exports.tunnelDaemonStatus = tunnelDaemonStatus;
38
+ exports.installScript = installScript;
39
+ const fs_1 = require("fs");
40
+ const python_1 = require("./python");
41
+ exports.TUNNELD_LABEL = "com.screenshot-service.tunneld";
42
+ exports.TUNNELD_PLIST_PATH = `/Library/LaunchDaemons/${exports.TUNNELD_LABEL}.plist`;
43
+ exports.TUNNELD_WRAPPER_PATH = "/usr/local/libexec/screenshot-service-tunneld";
44
+ exports.TUNNELD_SUDOERS_PATH = "/etc/sudoers.d/screenshot-service";
45
+ exports.TUNNELD_LOG_PATH = "/var/log/screenshot-service-tunneld.log";
46
+ /**
47
+ * Bump when the wrapper or plist content changes in a way that needs
48
+ * reinstalling. Stamped into the wrapper and compared during detection, so an
49
+ * app update can notice a machine running an older daemon and offer to
50
+ * refresh it. Without this, an installed daemon is invisible to upgrades and
51
+ * drifts indefinitely.
52
+ */
53
+ exports.TUNNELD_CONFIG_VERSION = 1;
54
+ /**
55
+ * launchd's minimum gap between respawns, in seconds. Stops a crash-looping
56
+ * tunneld from spinning the CPU.
57
+ *
58
+ * Exported because any caller waiting for a restart must allow MORE than this
59
+ * — a health budget shorter than the throttle reports failure moments before
60
+ * the daemon actually comes back. Derive the budget from this constant rather
61
+ * than hardcoding a number that silently drifts out of step with the plist.
62
+ */
63
+ exports.TUNNELD_THROTTLE_SECONDS = 10;
64
+ /**
65
+ * The wrapper searches the same list findPython() does — imported rather than
66
+ * copied, because a divergent copy silently breaks the machines the extra
67
+ * entries exist for (brew's python@X.Y formulae are keg-only and are not
68
+ * always symlinked into /opt/homebrew/bin).
69
+ *
70
+ * Bare names are dropped: launchd gives a daemon a minimal PATH, so they would
71
+ * not resolve the way they do in a login shell — and PATH-dependent lookup in
72
+ * a root process is a bad idea regardless.
73
+ */
74
+ const WRAPPER_PYTHON_CANDIDATES = python_1.PYTHON_CANDIDATES.filter(p => p.startsWith("/"));
75
+ function wrapperScript() {
76
+ return `#!/bin/sh
77
+ # screenshot-service tunneld launcher — installed by the setup wizard.
78
+ # Resolves the Python interpreter at every launch so a \`brew upgrade python\`
79
+ # cannot orphan the LaunchDaemon. Do not edit; reinstall from the app instead.
80
+ # TUNNELD_CONFIG_VERSION=${exports.TUNNELD_CONFIG_VERSION}
81
+ set -eu
82
+
83
+ for p in ${WRAPPER_PYTHON_CANDIDATES.join(" \\\n ")}
84
+ do
85
+ [ -x "$p" ] || continue
86
+ if "$p" -c 'import sys,pymobiledevice3; sys.exit(0 if sys.version_info>=(3,11) else 1)' 2>/dev/null; then
87
+ echo "[tunneld] using $p" >&2
88
+ exec "$p" -m pymobiledevice3 remote tunneld "$@"
89
+ fi
90
+ done
91
+
92
+ echo "[tunneld] no Python 3.11+ with pymobiledevice3 found" >&2
93
+ exit 1
94
+ `;
95
+ }
96
+ function plistXml() {
97
+ return `<?xml version="1.0" encoding="UTF-8"?>
98
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
99
+ <plist version="1.0">
100
+ <dict>
101
+ <key>Label</key>
102
+ <string>${exports.TUNNELD_LABEL}</string>
103
+ <key>ProgramArguments</key>
104
+ <array>
105
+ <string>${exports.TUNNELD_WRAPPER_PATH}</string>
106
+ </array>
107
+ <key>RunAtLoad</key>
108
+ <true/>
109
+ <key>KeepAlive</key>
110
+ <true/>
111
+ <key>ThrottleInterval</key>
112
+ <integer>${exports.TUNNELD_THROTTLE_SECONDS}</integer>
113
+ <key>StandardOutPath</key>
114
+ <string>${exports.TUNNELD_LOG_PATH}</string>
115
+ <key>StandardErrorPath</key>
116
+ <string>${exports.TUNNELD_LOG_PATH}</string>
117
+ </dict>
118
+ </plist>
119
+ `;
120
+ }
121
+ /**
122
+ * Detects the daemon WITHOUT root. Deliberately does not shell out to
123
+ * `launchctl print`, which needs root for the system domain — the wizard runs
124
+ * unprivileged and must be able to answer "is this machine set up?" on every
125
+ * launch without prompting.
126
+ *
127
+ * Liveness isn't checked here: whether the socket is currently listening is a
128
+ * runtime question (answered by isTunnelHealthy) and a transient failure
129
+ * shouldn't make the wizard claim the machine is unconfigured.
130
+ */
131
+ function tunnelDaemonStatus() {
132
+ if (!(0, fs_1.existsSync)(exports.TUNNELD_PLIST_PATH) || !(0, fs_1.existsSync)(exports.TUNNELD_WRAPPER_PATH)) {
133
+ return { present: false, stale: false, ok: false };
134
+ }
135
+ let installedVersion = 0;
136
+ try {
137
+ const m = /TUNNELD_CONFIG_VERSION=(\d+)/.exec((0, fs_1.readFileSync)(exports.TUNNELD_WRAPPER_PATH, "utf8"));
138
+ if (m)
139
+ installedVersion = Number(m[1]);
140
+ }
141
+ catch {
142
+ // Unreadable wrapper — treat as stale so the wizard reinstalls it.
143
+ }
144
+ const stale = installedVersion !== exports.TUNNELD_CONFIG_VERSION;
145
+ return { present: true, stale, ok: !stale };
146
+ }
147
+ /**
148
+ * The privileged half, as a bash script for runAsAdmin(). One admin prompt
149
+ * installs the wrapper, the plist and the sudoers rule, then (re)loads the job.
150
+ *
151
+ * The sudoers rule is deliberately tiny — it exists ONLY so the host app can
152
+ * revive a wedged tunnel without a password. It replaces the old broad rule at
153
+ * the same path, so installing this also retires that grant.
154
+ *
155
+ * `visudo -cf` before installing is not optional: a malformed file in
156
+ * /etc/sudoers.d can break sudo for the whole machine, and this runs as root.
157
+ */
158
+ function installScript() {
159
+ const rule = `%admin ALL=(ALL) NOPASSWD: /bin/launchctl kickstart -k system/${exports.TUNNELD_LABEL}`;
160
+ return [
161
+ // runAsAdmin() already prepends `set -e`; kept out of here so the emitted
162
+ // script doesn't carry a duplicate.
163
+ `TMP="$(mktemp -d)"`,
164
+ `trap 'rm -rf "$TMP"' EXIT`,
165
+ ``,
166
+ `cat > "$TMP/wrapper" <<'SS_WRAPPER_EOF'`,
167
+ wrapperScript(),
168
+ `SS_WRAPPER_EOF`,
169
+ ``,
170
+ `cat > "$TMP/plist" <<'SS_PLIST_EOF'`,
171
+ plistXml(),
172
+ `SS_PLIST_EOF`,
173
+ ``,
174
+ `install -d -o root -g wheel -m 755 /usr/local/libexec`,
175
+ `install -o root -g wheel -m 755 "$TMP/wrapper" '${exports.TUNNELD_WRAPPER_PATH}'`,
176
+ `install -o root -g wheel -m 644 "$TMP/plist" '${exports.TUNNELD_PLIST_PATH}'`,
177
+ ``,
178
+ `# Validate before installing — a bad sudoers file breaks sudo machine-wide.`,
179
+ `printf '%s\\n' '${rule}' > "$TMP/sudoers"`,
180
+ `visudo -cf "$TMP/sudoers"`,
181
+ `install -o root -g wheel -m 440 "$TMP/sudoers" '${exports.TUNNELD_SUDOERS_PATH}'`,
182
+ ``,
183
+ `# bootout fails when the job isn't loaded; that's the fresh-install case.`,
184
+ `launchctl bootout system/${exports.TUNNELD_LABEL} 2>/dev/null || true`,
185
+ ``,
186
+ `# bootout is ASYNCHRONOUS. Bootstrapping while the previous job is still`,
187
+ `# unloading fails with "Bootstrap failed: 5: Input/output error" — and`,
188
+ `# only on machines that already had the daemon, i.e. exactly the upgrade`,
189
+ `# path. Wait for the label to actually leave the domain first.`,
190
+ `for _ in $(seq 1 25); do`,
191
+ ` launchctl print system/${exports.TUNNELD_LABEL} >/dev/null 2>&1 || break`,
192
+ ` sleep 0.2`,
193
+ `done`,
194
+ ``,
195
+ `launchctl bootstrap system '${exports.TUNNELD_PLIST_PATH}'`,
196
+ ].join("\n");
197
+ }
198
+ //# sourceMappingURL=tunneld.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunneld.js","sourceRoot":"","sources":["../../setup/tunneld.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export interface IosSetupStatus {
5
5
  pymobiledevice3: boolean;
6
6
  libimobiledevice: boolean;
7
7
  sudoers: boolean;
8
+ tunnelDaemon: boolean;
8
9
  deviceVisible: boolean;
9
10
  ok: boolean;
10
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../setup/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,EAAE,EAAE,OAAO,CAAC;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,EAAE,EAAE,OAAO,CAAC;CACb;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEvE,MAAM,WAAW,aAAa;IAC5B,oFAAoF;IACpF,EAAE,EAAE,MAAM,CAAC;IACX,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../setup/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IAGjB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,EAAE,EAAE,OAAO,CAAC;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,EAAE,EAAE,OAAO,CAAC;CACb;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEvE,MAAM,WAAW,aAAa;IAC5B,oFAAoF;IACpF,EAAE,EAAE,MAAM,CAAC;IACX,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -1044,8 +1044,8 @@
1044
1044
  renderStep(list, { id: 'python', label: 'Python', status: status.pymobiledevice3 ? 'done' : 'error' });
1045
1045
  renderStep(list, { id: 'pmd3', label: 'pymobiledevice3', status: status.pymobiledevice3 ? 'done' : 'error' });
1046
1046
  renderStep(list, { id: 'libimobiledevice', label: 'libimobiledevice', status: status.libimobiledevice ? 'done' : 'error' });
1047
- renderStep(list, { id: 'sudoers', label: 'Passwordless tunnel', status: status.sudoers ? 'done' : 'pending',
1048
- detail: status.sudoers ? '' : 'Optional you can skip and enter your Mac password each session.' });
1047
+ renderStep(list, { id: 'tunneld', label: 'Background tunnel service', status: status.tunnelDaemon ? 'done' : 'error',
1048
+ detail: status.tunnelDaemon ? '' : 'Runs the device tunnel from startup, so captures never wait on a password.' });
1049
1049
 
1050
1050
  btnPrimary.style.display = '';
1051
1051
  if (!status.ok) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@8bitbish/screenshot-service",
3
- "version": "1.3.14",
3
+ "version": "1.4.0",
4
4
  "description": "Capture screenshots and recordings from connected iPhone and Android devices, with a built-in visual setup wizard.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,7 +21,10 @@
21
21
  "bin": {
22
22
  "screenshot-service": "bin/setup.js"
23
23
  },
24
- "files": ["dist", "bin"],
24
+ "files": [
25
+ "dist",
26
+ "bin"
27
+ ],
25
28
  "publishConfig": {
26
29
  "access": "public"
27
30
  },