@konfeature/ap-email-guessr 0.1.1 → 0.1.3

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 (31) hide show
  1. package/package.json +25 -3
  2. package/src/lib/actions/find-email.d.ts.map +1 -1
  3. package/src/lib/actions/find-email.js +38 -35
  4. package/src/lib/actions/find-email.js.map +1 -1
  5. package/src/lib/actions/generate-emails.js +9 -13
  6. package/src/lib/actions/generate-emails.js.map +1 -1
  7. package/src/lib/common/dns.js +23 -26
  8. package/src/lib/common/dns.js.map +1 -1
  9. package/src/lib/common/find-email.d.ts +4 -2
  10. package/src/lib/common/find-email.d.ts.map +1 -1
  11. package/src/lib/common/find-email.js +36 -36
  12. package/src/lib/common/find-email.js.map +1 -1
  13. package/src/lib/common/find-person.js +59 -55
  14. package/src/lib/common/find-person.js.map +1 -1
  15. package/src/lib/common/http.js +7 -5
  16. package/src/lib/common/http.js.map +1 -1
  17. package/src/lib/common/mx-fingerprint.js +3 -4
  18. package/src/lib/common/mx-fingerprint.js.map +1 -1
  19. package/src/lib/common/patterns.js +5 -6
  20. package/src/lib/common/patterns.js.map +1 -1
  21. package/src/lib/common/providers/o365.js +73 -81
  22. package/src/lib/common/providers/o365.js.map +1 -1
  23. package/src/lib/common/verifier.d.ts +2 -0
  24. package/src/lib/common/verifier.d.ts.map +1 -1
  25. package/src/lib/common/verifiers/no2bounce-verifier.d.ts +18 -6
  26. package/src/lib/common/verifiers/no2bounce-verifier.d.ts.map +1 -1
  27. package/src/lib/common/verifiers/no2bounce-verifier.js +251 -97
  28. package/src/lib/common/verifiers/no2bounce-verifier.js.map +1 -1
  29. package/src/lib/common/verifiers/o365-verifier.d.ts.map +1 -1
  30. package/src/lib/common/verifiers/o365-verifier.js +17 -18
  31. package/src/lib/common/verifiers/o365-verifier.js.map +1 -1
@@ -1,135 +1,289 @@
1
1
  "use strict";
2
2
  /**
3
- * Verifier adapter for the no2bounce API (wire format confirmed against the
4
- * live API).
3
+ * Verifier adapter for the no2bounce API (wire format confirmed against the live
4
+ * API; the published docs were out of date).
5
5
  *
6
- * Async flow: POST a 1-email batch to get a `trackingId` (under `data`), then
7
- * GET-poll `?trackingId=` until the *top-level* `overallStatus` is "Completed".
8
- * For a single email the top-level count fields are that email's verdict.
9
- * Billing is 1 credit per email (`creditDebited`), with no refund on undeliverable.
6
+ * Async flow: POST an `emailList` to get a `trackingId` (under `data`), then
7
+ * GET-poll `?trackingId=`. A single address completes with top-level aggregate
8
+ * counts that are that address's verdict. A multi-address batch completes with
9
+ * those same counts (now sums, which can't identify individual addresses) plus
10
+ * `result.downloadFile` — a signed CSV whose rows
11
+ * (`email,finalScore,finalScoreValue,catchall`) carry the per-address verdicts.
12
+ * Billing is 1 credit per email with no refund, charged on submit.
10
13
  */
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.No2BounceAuthError = void 0;
12
16
  exports.decodeSingle = decodeSingle;
17
+ exports.decodeReportRow = decodeReportRow;
18
+ exports.parseReport = parseReport;
19
+ exports.isInvalidToken = isInvalidToken;
13
20
  exports.createNo2BounceVerifier = createNo2BounceVerifier;
14
- const tslib_1 = require("tslib");
15
21
  const http_1 = require("../http");
16
22
  const ENDPOINT = "https://connect.no2bounce.com/v2/n2b_validate_bulk";
23
+ const BATCH_WAIT_PER_EMAIL_MS = 8000;
17
24
  // no2bounce risk-scores accept-all domains per address: "Deliverable/AcceptAll"
18
25
  // is a predicted hit, "UnDeliverable/AcceptAll" a predicted miss, and
19
26
  // "Risky/AcceptAll" genuinely uncertain (so we stop on it).
20
27
  function decodeSingle(r) {
21
- var _a, _b, _c, _d, _e;
22
- if (((_a = r.Deliverable) !== null && _a !== void 0 ? _a : 0) >= 1) {
28
+ if ((r.Deliverable ?? 0) >= 1) {
23
29
  return { verdict: "valid", catchAll: false };
24
30
  }
25
- if (((_b = r["Deliverable/AcceptAll"]) !== null && _b !== void 0 ? _b : 0) >= 1) {
31
+ if ((r["Deliverable/AcceptAll"] ?? 0) >= 1) {
26
32
  return { verdict: "valid", catchAll: true };
27
33
  }
28
- if (((_c = r["Risky/AcceptAll"]) !== null && _c !== void 0 ? _c : 0) >= 1) {
34
+ if ((r["Risky/AcceptAll"] ?? 0) >= 1) {
29
35
  return { verdict: "catch_all", catchAll: true };
30
36
  }
31
- if (((_d = r.Undeliverable) !== null && _d !== void 0 ? _d : 0) >= 1) {
37
+ if ((r.Undeliverable ?? 0) >= 1) {
32
38
  return { verdict: "invalid", catchAll: false };
33
39
  }
34
- if (((_e = r["UnDeliverable/AcceptAll"]) !== null && _e !== void 0 ? _e : 0) >= 1) {
40
+ if ((r["UnDeliverable/AcceptAll"] ?? 0) >= 1) {
35
41
  return { verdict: "invalid", catchAll: true };
36
42
  }
37
43
  return { verdict: "unknown", catchAll: false };
38
44
  }
39
- function isComplete(r) {
40
- var _a, _b;
41
- return (String((_a = r.overallStatus) !== null && _a !== void 0 ? _a : "")
42
- .toLowerCase()
43
- .startsWith("complet") || ((_b = r.percent) !== null && _b !== void 0 ? _b : 0) >= 100);
45
+ function decodeReportRow(row) {
46
+ const v = row.value.toLowerCase().replace(/[^a-z]/g, "");
47
+ if (v.startsWith("undeliver")) {
48
+ return { verdict: "invalid", catchAll: row.catchall };
49
+ }
50
+ if (v.startsWith("deliver")) {
51
+ return { verdict: "valid", catchAll: row.catchall };
52
+ }
53
+ if (v.includes("risk") || v.includes("catch") || v.includes("accept")) {
54
+ return { verdict: "catch_all", catchAll: true };
55
+ }
56
+ return { verdict: "unknown", catchAll: row.catchall };
57
+ }
58
+ function splitCsvLine(line) {
59
+ const out = [];
60
+ let cur = "";
61
+ let quoted = false;
62
+ for (let i = 0; i < line.length; i++) {
63
+ const c = line[i];
64
+ if (quoted) {
65
+ if (c === '"') {
66
+ if (line[i + 1] === '"') {
67
+ cur += '"';
68
+ i++;
69
+ }
70
+ else {
71
+ quoted = false;
72
+ }
73
+ }
74
+ else {
75
+ cur += c;
76
+ }
77
+ }
78
+ else if (c === '"') {
79
+ quoted = true;
80
+ }
81
+ else if (c === ",") {
82
+ out.push(cur);
83
+ cur = "";
84
+ }
85
+ else {
86
+ cur += c;
87
+ }
88
+ }
89
+ out.push(cur);
90
+ return out.map((s) => s.trim());
91
+ }
92
+ function parseReport(csv) {
93
+ const map = new Map();
94
+ const lines = csv.split(/\r?\n/).filter((l) => l.trim().length > 0);
95
+ if (lines.length < 2) {
96
+ return map;
97
+ }
98
+ const header = splitCsvLine(lines[0]).map((h) => h.toLowerCase());
99
+ const iEmail = header.indexOf("email");
100
+ const iValue = header.indexOf("finalscorevalue");
101
+ const iCatch = header.indexOf("catchall");
102
+ if (iEmail < 0 || iValue < 0) {
103
+ return map;
104
+ }
105
+ for (let i = 1; i < lines.length; i++) {
106
+ const cells = splitCsvLine(lines[i]);
107
+ const email = (cells[iEmail] ?? "").toLowerCase();
108
+ if (email.length === 0) {
109
+ continue;
110
+ }
111
+ map.set(email, {
112
+ value: cells[iValue] ?? "",
113
+ catchall: iCatch >= 0 && (cells[iCatch] ?? "").toLowerCase() === "true",
114
+ });
115
+ }
116
+ return map;
44
117
  }
45
118
  const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
119
+ class No2BounceAuthError extends Error {
120
+ }
121
+ exports.No2BounceAuthError = No2BounceAuthError;
122
+ function isInvalidToken(body) {
123
+ return /api\s*token|api\s*key|invalid or expired|unauthor/i.test(body);
124
+ }
46
125
  function createNo2BounceVerifier(options) {
47
- var _a, _b;
48
- const pollIntervalMs = (_a = options.pollIntervalMs) !== null && _a !== void 0 ? _a : 2000;
49
- const maxWaitMs = (_b = options.maxWaitMs) !== null && _b !== void 0 ? _b : 30000;
50
- const authHeader = { apitoken: options.apitoken };
51
- function submit(email) {
52
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
53
- var _a, _b, _c;
54
- const res = yield (0, http_1.httpRequest)({
55
- url: ENDPOINT,
56
- method: "POST",
57
- headers: Object.assign(Object.assign({}, authHeader), { "Content-Type": "application/json" }),
58
- body: JSON.stringify({ emailList: [email] }),
59
- timeoutMs: options.timeoutMs,
60
- });
61
- if (res.status !== 200) {
62
- throw new Error(`submit_${res.status}`);
63
- }
64
- const json = JSON.parse(res.body);
65
- const id = (_b = (_a = json.data) === null || _a === void 0 ? void 0 : _a.trackingId) !== null && _b !== void 0 ? _b : (_c = json.data) === null || _c === void 0 ? void 0 : _c.taskId;
66
- return id === undefined ? undefined : String(id);
126
+ const pollIntervalMs = options.pollIntervalMs ?? 2000;
127
+ const maxWaitMs = options.maxWaitMs ?? 30000;
128
+ const authHeader = { apitoken: options.apitoken.trim() };
129
+ async function submitBatch(emails) {
130
+ const res = await (0, http_1.httpRequest)({
131
+ url: ENDPOINT,
132
+ method: "POST",
133
+ headers: { ...authHeader, "Content-Type": "application/json" },
134
+ body: JSON.stringify({ emailList: emails }),
135
+ timeoutMs: options.timeoutMs,
67
136
  });
137
+ if (res.status !== 200) {
138
+ const detail = `submit_${res.status}: ${res.body.slice(0, 200)}`;
139
+ if (res.status === 401 || res.status === 403 || isInvalidToken(res.body)) {
140
+ throw new No2BounceAuthError(detail);
141
+ }
142
+ throw new Error(detail);
143
+ }
144
+ const json = JSON.parse(res.body);
145
+ const id = json.data?.trackingId ?? json.data?.taskId;
146
+ return id === undefined ? undefined : String(id);
68
147
  }
69
- function poll(trackingId) {
70
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
71
- const url = `${ENDPOINT}?trackingId=${encodeURIComponent(trackingId)}`;
72
- const deadline = Date.now() + maxWaitMs;
73
- while (Date.now() < deadline) {
74
- yield sleep(pollIntervalMs);
75
- try {
76
- const res = yield (0, http_1.httpRequest)({
77
- url,
78
- method: "GET",
79
- headers: authHeader,
80
- timeoutMs: options.timeoutMs,
81
- });
82
- if (res.status !== 200) {
83
- continue;
84
- }
85
- const parsed = JSON.parse(res.body);
86
- if (isComplete(parsed)) {
87
- return parsed;
88
- }
148
+ async function poll(trackingId, waitMs, done) {
149
+ const url = `${ENDPOINT}?trackingId=${encodeURIComponent(trackingId)}`;
150
+ const deadline = Date.now() + waitMs;
151
+ while (Date.now() < deadline) {
152
+ await sleep(pollIntervalMs);
153
+ try {
154
+ const res = await (0, http_1.httpRequest)({
155
+ url,
156
+ method: "GET",
157
+ headers: authHeader,
158
+ timeoutMs: options.timeoutMs,
159
+ });
160
+ if (res.status !== 200) {
161
+ continue;
89
162
  }
90
- catch (_a) {
91
- // Transient poll error; keep trying until the deadline.
163
+ const parsed = JSON.parse(res.body);
164
+ if (done(parsed)) {
165
+ return parsed;
92
166
  }
93
167
  }
168
+ catch {
169
+ // Transient poll error; keep trying until the deadline.
170
+ }
171
+ }
172
+ return null;
173
+ }
174
+ function aggregatesDone(r) {
175
+ return (String(r.overallStatus ?? "")
176
+ .toLowerCase()
177
+ .startsWith("complet") || (r.percent ?? 0) >= 100);
178
+ }
179
+ function reportDone(r) {
180
+ const file = r.result?.downloadFile;
181
+ return typeof file === "string" && file.length > 0;
182
+ }
183
+ async function fetchReport(url) {
184
+ try {
185
+ const res = await (0, http_1.httpRequest)({
186
+ url,
187
+ method: "GET",
188
+ timeoutMs: options.timeoutMs,
189
+ });
190
+ if (res.status !== 200) {
191
+ return null;
192
+ }
193
+ return parseReport(res.body);
194
+ }
195
+ catch {
94
196
  return null;
197
+ }
198
+ }
199
+ async function verifySingle(email) {
200
+ let trackingId;
201
+ try {
202
+ trackingId = await submitBatch([email]);
203
+ }
204
+ catch (error) {
205
+ if (error instanceof No2BounceAuthError) {
206
+ throw error;
207
+ }
208
+ return {
209
+ email,
210
+ verdict: "unknown",
211
+ creditsUsed: 0,
212
+ reason: error instanceof Error ? error.message : "submit_failed",
213
+ };
214
+ }
215
+ if (!trackingId) {
216
+ return { email, verdict: "unknown", creditsUsed: 0, reason: "no_tracking_id" };
217
+ }
218
+ const parsed = await poll(trackingId, maxWaitMs, aggregatesDone);
219
+ if (!parsed) {
220
+ return { email, verdict: "unknown", creditsUsed: 1, reason: "poll_timeout" };
221
+ }
222
+ const { verdict, catchAll } = decodeSingle(parsed);
223
+ return {
224
+ email,
225
+ verdict,
226
+ catchAll,
227
+ creditsUsed: parsed.creditDebited ?? 1,
228
+ reason: `n2b_${verdict}${catchAll ? "_acceptall" : ""}`,
229
+ raw: parsed,
230
+ };
231
+ }
232
+ async function verifyMany(emails) {
233
+ const unknownAll = (creditsUsed, reason) => emails.map((email) => ({
234
+ email,
235
+ verdict: "unknown",
236
+ creditsUsed,
237
+ reason,
238
+ }));
239
+ let trackingId;
240
+ try {
241
+ trackingId = await submitBatch(emails);
242
+ }
243
+ catch (error) {
244
+ if (error instanceof No2BounceAuthError) {
245
+ throw error;
246
+ }
247
+ return unknownAll(0, error instanceof Error ? error.message : "submit_failed");
248
+ }
249
+ if (!trackingId) {
250
+ return unknownAll(0, "no_tracking_id");
251
+ }
252
+ const waitMs = Math.max(maxWaitMs, emails.length * BATCH_WAIT_PER_EMAIL_MS);
253
+ const parsed = await poll(trackingId, waitMs, reportDone);
254
+ if (!parsed) {
255
+ return unknownAll(1, "poll_timeout");
256
+ }
257
+ const url = parsed.result?.downloadFile;
258
+ const report = typeof url === "string" ? await fetchReport(url) : null;
259
+ if (!report) {
260
+ return unknownAll(1, "n2b_report_unavailable");
261
+ }
262
+ return emails.map((email) => {
263
+ const row = report.get(email.toLowerCase());
264
+ if (!row) {
265
+ return { email, verdict: "unknown", creditsUsed: 1, reason: "n2b_no_report_row" };
266
+ }
267
+ const { verdict, catchAll } = decodeReportRow(row);
268
+ return {
269
+ email,
270
+ verdict,
271
+ catchAll,
272
+ creditsUsed: 1,
273
+ reason: `n2b_${verdict}${catchAll ? "_acceptall" : ""}`,
274
+ raw: row,
275
+ };
95
276
  });
96
277
  }
97
- return {
98
- name: "no2bounce",
99
- verify(email) {
100
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
101
- var _a;
102
- let trackingId;
103
- try {
104
- trackingId = yield submit(email);
105
- }
106
- catch (error) {
107
- // Submission rejected → no credit charged.
108
- return {
109
- email,
110
- verdict: "unknown",
111
- creditsUsed: 0,
112
- reason: error instanceof Error ? error.message : "submit_failed",
113
- };
114
- }
115
- if (!trackingId) {
116
- return { email, verdict: "unknown", creditsUsed: 0, reason: "no_tracking_id" };
117
- }
118
- const parsed = yield poll(trackingId);
119
- if (!parsed) {
120
- return { email, verdict: "unknown", creditsUsed: 1, reason: "poll_timeout" };
121
- }
122
- const { verdict, catchAll } = decodeSingle(parsed);
123
- return {
124
- email,
125
- verdict,
126
- catchAll,
127
- creditsUsed: (_a = parsed.creditDebited) !== null && _a !== void 0 ? _a : 1,
128
- reason: `n2b_${verdict}${catchAll ? "_acceptall" : ""}`,
129
- raw: parsed,
130
- };
131
- });
132
- },
133
- };
278
+ async function verifyBatch(emails) {
279
+ if (emails.length === 0) {
280
+ return [];
281
+ }
282
+ if (emails.length === 1) {
283
+ return [await verifySingle(emails[0])];
284
+ }
285
+ return verifyMany(emails);
286
+ }
287
+ return { name: "no2bounce", verify: verifySingle, verifyBatch };
134
288
  }
135
289
  //# sourceMappingURL=no2bounce-verifier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"no2bounce-verifier.js","sourceRoot":"","sources":["../../../../../src/lib/common/verifiers/no2bounce-verifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no2bounce-verifier.js","sourceRoot":"","sources":["../../../../../src/lib/common/verifiers/no2bounce-verifier.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"o365-verifier.d.ts","sourceRoot":"","sources":["../../../../../src/lib/common/verifiers/o365-verifier.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,aAAa,CAAC;AAE3D,wBAAgB,kBAAkB,CAC9B,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,MAAM,GAClB,QAAQ,CAyBV"}
1
+ {"version":3,"file":"o365-verifier.d.ts","sourceRoot":"","sources":["../../../../../src/lib/common/verifiers/o365-verifier.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,aAAa,CAAC;AAE3D,wBAAgB,kBAAkB,CAC9B,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,MAAM,GAClB,QAAQ,CA4BV"}
@@ -6,28 +6,27 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.createO365Verifier = createO365Verifier;
9
- const tslib_1 = require("tslib");
10
9
  const o365_1 = require("../providers/o365");
11
10
  function createO365Verifier(namespace, applicable, timeoutMs) {
11
+ async function verify(email) {
12
+ const result = await (0, o365_1.checkO365Account)(email, namespace, applicable, timeoutMs);
13
+ const verdict = result.exists === true
14
+ ? "valid"
15
+ : result.exists === false
16
+ ? "invalid"
17
+ : "unknown";
18
+ return {
19
+ email,
20
+ verdict,
21
+ creditsUsed: 0,
22
+ reason: result.reason,
23
+ raw: result,
24
+ };
25
+ }
12
26
  return {
13
27
  name: "o365",
14
- verify(email) {
15
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
16
- const result = yield (0, o365_1.checkO365Account)(email, namespace, applicable, timeoutMs);
17
- const verdict = result.exists === true
18
- ? "valid"
19
- : result.exists === false
20
- ? "invalid"
21
- : "unknown";
22
- return {
23
- email,
24
- verdict,
25
- creditsUsed: 0,
26
- reason: result.reason,
27
- raw: result,
28
- };
29
- });
30
- },
28
+ verify,
29
+ verifyBatch: (emails) => Promise.all(emails.map(verify)),
31
30
  };
32
31
  }
33
32
  //# sourceMappingURL=o365-verifier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"o365-verifier.js","sourceRoot":"","sources":["../../../../../src/lib/common/verifiers/o365-verifier.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAKH,gDA6BC;;AAhCD,4CAAyE;AAGzE,SAAgB,kBAAkB,CAC9B,SAAwB,EACxB,UAAmB,EACnB,SAAiB;IAEjB,OAAO;QACH,IAAI,EAAE,MAAM;QACN,MAAM,CAAC,KAAa;;gBACtB,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAgB,EACjC,KAAK,EACL,SAAS,EACT,UAAU,EACV,SAAS,CACZ,CAAC;gBACF,MAAM,OAAO,GACT,MAAM,CAAC,MAAM,KAAK,IAAI;oBAClB,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;wBACvB,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,SAAS,CAAC;gBACtB,OAAO;oBACH,KAAK;oBACL,OAAO;oBACP,WAAW,EAAE,CAAC;oBACd,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,GAAG,EAAE,MAAM;iBACd,CAAC;YACN,CAAC;SAAA;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"o365-verifier.js","sourceRoot":"","sources":["../../../../../src/lib/common/verifiers/o365-verifier.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAKH,gDAgCC;AAnCD,4CAAyE;AAGzE,SAAgB,kBAAkB,CAC9B,SAAwB,EACxB,UAAmB,EACnB,SAAiB;IAEjB,KAAK,UAAU,MAAM,CAAC,KAAa;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAgB,EACjC,KAAK,EACL,SAAS,EACT,UAAU,EACV,SAAS,CACZ,CAAC;QACF,MAAM,OAAO,GACT,MAAM,CAAC,MAAM,KAAK,IAAI;YAClB,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;gBACvB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,SAAS,CAAC;QACtB,OAAO;YACH,KAAK;YACL,OAAO;YACP,WAAW,EAAE,CAAC;YACd,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,MAAM;SACd,CAAC;IACN,CAAC;IAED,OAAO;QACH,IAAI,EAAE,MAAM;QACZ,MAAM;QACN,WAAW,EAAE,CAAC,MAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;KACrE,CAAC;AACN,CAAC"}