cross-seed 6.12.0-5 → 6.12.0-7

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 (53) hide show
  1. package/dist/action.js +72 -71
  2. package/dist/action.js.map +1 -1
  3. package/dist/arr.js +2 -2
  4. package/dist/arr.js.map +1 -1
  5. package/dist/clients/Deluge.js +11 -8
  6. package/dist/clients/Deluge.js.map +1 -1
  7. package/dist/clients/QBittorrent.js +20 -11
  8. package/dist/clients/QBittorrent.js.map +1 -1
  9. package/dist/clients/RTorrent.js +25 -32
  10. package/dist/clients/RTorrent.js.map +1 -1
  11. package/dist/clients/TorrentClient.js +38 -4
  12. package/dist/clients/TorrentClient.js.map +1 -1
  13. package/dist/clients/Transmission.js +11 -8
  14. package/dist/clients/Transmission.js.map +1 -1
  15. package/dist/cmd.js +3 -1
  16. package/dist/cmd.js.map +1 -1
  17. package/dist/configSchema.js +5 -4
  18. package/dist/configSchema.js.map +1 -1
  19. package/dist/configuration.js.map +1 -1
  20. package/dist/dataFiles.js +28 -28
  21. package/dist/dataFiles.js.map +1 -1
  22. package/dist/db.js +10 -19
  23. package/dist/db.js.map +1 -1
  24. package/dist/decide.js +20 -20
  25. package/dist/decide.js.map +1 -1
  26. package/dist/inject.js +56 -35
  27. package/dist/inject.js.map +1 -1
  28. package/dist/jobs.js +19 -9
  29. package/dist/jobs.js.map +1 -1
  30. package/dist/migrations/09-clientAndDataSearchees.js +3 -3
  31. package/dist/migrations/09-clientAndDataSearchees.js.map +1 -1
  32. package/dist/parseTorrent.js +1 -1
  33. package/dist/parseTorrent.js.map +1 -1
  34. package/dist/pipeline.js +54 -59
  35. package/dist/pipeline.js.map +1 -1
  36. package/dist/preFilter.js +5 -5
  37. package/dist/preFilter.js.map +1 -1
  38. package/dist/pushNotifier.js +5 -5
  39. package/dist/pushNotifier.js.map +1 -1
  40. package/dist/runtimeConfig.js.map +1 -1
  41. package/dist/searchee.js +88 -46
  42. package/dist/searchee.js.map +1 -1
  43. package/dist/server.js +10 -7
  44. package/dist/server.js.map +1 -1
  45. package/dist/startup.js +8 -13
  46. package/dist/startup.js.map +1 -1
  47. package/dist/torrent.js +54 -48
  48. package/dist/torrent.js.map +1 -1
  49. package/dist/torznab.js +4 -4
  50. package/dist/torznab.js.map +1 -1
  51. package/dist/utils.js +213 -190
  52. package/dist/utils.js.map +1 -1
  53. package/package.json +1 -1
package/dist/db.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import Sqlite from "better-sqlite3";
2
- import { existsSync, readdirSync, statSync, unlinkSync } from "fs";
2
+ import { readdir, stat, unlink } from "fs/promises";
3
3
  import knex from "knex";
4
4
  import ms from "ms";
5
5
  import { join } from "path";
@@ -10,7 +10,7 @@ import { logger } from "./logger.js";
10
10
  import { getRuntimeConfig } from "./runtimeConfig.js";
11
11
  import { migrations } from "./migrations/migrations.js";
12
12
  import { cacheEnsembleTorrentEntry } from "./torrent.js";
13
- import { inBatches, isTruthy } from "./utils.js";
13
+ import { filterAsync, flatMapAsync, inBatches, notExists } from "./utils.js";
14
14
  const filename = join(appDir(), "cross-seed.db");
15
15
  const rawSqliteHandle = new Sqlite(filename);
16
16
  rawSqliteHandle.pragma("journal_mode = WAL");
@@ -27,16 +27,11 @@ export async function cleanupDB() {
27
27
  (async () => {
28
28
  if (!useClientTorrents)
29
29
  return;
30
- const searchees = (await Promise.all(getClients().map((client) => client.getClientSearchees({
31
- refresh: [],
32
- }))))
33
- .map((r) => r.searchees)
34
- .flat();
30
+ const searchees = await flatMapAsync(getClients(), async (client) => (await client.getClientSearchees({ refresh: [] }))
31
+ .searchees);
35
32
  if (!seasonFromEpisodes)
36
33
  return;
37
- const ensembleRows = (await Promise.all(searchees.map((searchee) => cacheEnsembleTorrentEntry(searchee))))
38
- .flat()
39
- .filter(isTruthy);
34
+ const ensembleRows = await flatMapAsync(searchees, async (searchee) => (await cacheEnsembleTorrentEntry(searchee)) ?? []);
40
35
  await inBatches(ensembleRows, async (batch) => {
41
36
  await db("ensemble")
42
37
  .insert(batch)
@@ -47,9 +42,7 @@ export async function cleanupDB() {
47
42
  (async () => {
48
43
  if (!dataDirs.length)
49
44
  return;
50
- const deletedPaths = (await db("data").select("path"))
51
- .map((e) => e.path)
52
- .filter((p) => !existsSync(p));
45
+ const deletedPaths = await filterAsync((await db("data").select("path")).map((e) => e.path), (p) => notExists(p));
53
46
  await inBatches(deletedPaths, async (batch) => {
54
47
  await db("data").whereIn("path", batch).del();
55
48
  await db("ensemble").whereIn("path", batch).del();
@@ -58,9 +51,7 @@ export async function cleanupDB() {
58
51
  (async () => {
59
52
  if (!seasonFromEpisodes)
60
53
  return;
61
- const deletedPaths = (await db("ensemble").select("path"))
62
- .map((e) => e.path)
63
- .filter((p) => !existsSync(p));
54
+ const deletedPaths = await filterAsync((await db("ensemble").select("path")).map((e) => e.path), (p) => notExists(p));
64
55
  await inBatches(deletedPaths, async (batch) => {
65
56
  await db("data").whereIn("path", batch).del();
66
57
  await db("ensemble").whereIn("path", batch).del();
@@ -68,16 +59,16 @@ export async function cleanupDB() {
68
59
  })(),
69
60
  (async () => {
70
61
  const torrentCacheDir = join(appDir(), TORRENT_CACHE_FOLDER);
71
- const files = readdirSync(torrentCacheDir);
62
+ const files = await readdir(torrentCacheDir);
72
63
  const now = Date.now();
73
64
  for (const file of files) {
74
65
  const filePath = join(torrentCacheDir, file);
75
- if (now - statSync(filePath).atimeMs > ms("1 year")) {
66
+ if (now - (await stat(filePath)).atimeMs > ms("1 year")) {
76
67
  logger.verbose(`Deleting ${filePath}`);
77
68
  await db("decision")
78
69
  .where("info_hash", file.split(".")[0])
79
70
  .del();
80
- unlinkSync(filePath);
71
+ await unlink(filePath);
81
72
  }
82
73
  }
83
74
  })(),
package/dist/db.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
package/dist/decide.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import bencode from "bencode";
2
- import { existsSync, readdirSync, readFileSync, statSync, unlinkSync, utimesSync, writeFileSync, } from "fs";
2
+ import { readdir, readFile, stat, unlink, utimes, writeFile, } from "fs/promises";
3
3
  import ms from "ms";
4
4
  import path from "path";
5
5
  import { appDir } from "./configuration.js";
@@ -10,9 +10,9 @@ import { Metafile } from "./parseTorrent.js";
10
10
  import { findBlockedStringInReleaseMaybe, isSingleEpisode, } from "./preFilter.js";
11
11
  import { resultOf, resultOfErr } from "./Result.js";
12
12
  import { getRuntimeConfig } from "./runtimeConfig.js";
13
- import { getReleaseGroup, } from "./searchee.js";
13
+ import { getFuzzySizeFactor, getMediaType, getMinSizeRatio, getReleaseGroup, } from "./searchee.js";
14
14
  import { parseTorrentFromFilename, snatch, SnatchError } from "./torrent.js";
15
- import { extractInt, getFuzzySizeFactor, getLogString, getMediaType, getMinSizeRatio, sanitizeInfoHash, stripExtension, } from "./utils.js";
15
+ import { extractInt, getLogString, notExists, sanitizeInfoHash, stripExtension, } from "./utils.js";
16
16
  function logDecision(searchee, candidate, decision, metafile, tracker, options) {
17
17
  const { blockList, matchMode } = getRuntimeConfig(options?.configOverride);
18
18
  let reason;
@@ -258,7 +258,7 @@ export async function assessCandidate(metaOrCandidate, searchee, infoHashesToExc
258
258
  : { decision: Decision.DOWNLOAD_FAILED };
259
259
  }
260
260
  metafile = res.unwrap();
261
- metaCached = cacheTorrentFile(metafile);
261
+ metaCached = await cacheTorrentFile(metafile);
262
262
  metaOrCandidate.size = metafile.length; // Trackers can be wrong
263
263
  }
264
264
  else {
@@ -311,11 +311,11 @@ export async function assessCandidate(metaOrCandidate, searchee, infoHashesToExc
311
311
  }
312
312
  return { decision: Decision.FILE_TREE_MISMATCH, metafile, metaCached };
313
313
  }
314
- function existsInTorrentCache(infoHash) {
314
+ async function existsInTorrentCache(infoHash) {
315
315
  const torrentPath = path.join(appDir(), TORRENT_CACHE_FOLDER, `${infoHash}.cached.torrent`);
316
- if (!existsSync(torrentPath))
316
+ if (await notExists(torrentPath))
317
317
  return false;
318
- utimesSync(torrentPath, new Date(), statSync(torrentPath).mtime);
318
+ await utimes(torrentPath, new Date(), (await stat(torrentPath)).mtime);
319
319
  return true;
320
320
  }
321
321
  async function getCachedTorrentFile(infoHash, options = { deleteOnFail: true }) {
@@ -329,28 +329,27 @@ async function getCachedTorrentFile(infoHash, options = { deleteOnFail: true })
329
329
  message: `Failed to parse cached torrent ${sanitizeInfoHash(infoHash)}${options.deleteOnFail ? " - deleting" : ""}: ${e.message}`,
330
330
  });
331
331
  logger.debug(e);
332
- if (options.deleteOnFail) {
333
- unlinkSync(torrentPath);
334
- }
332
+ if (options.deleteOnFail)
333
+ await unlink(torrentPath);
335
334
  return resultOfErr(e);
336
335
  }
337
336
  }
338
- function cacheTorrentFile(meta) {
339
- if (existsInTorrentCache(meta.infoHash))
337
+ async function cacheTorrentFile(meta) {
338
+ if (await existsInTorrentCache(meta.infoHash))
340
339
  return false;
341
340
  const torrentPath = path.join(appDir(), TORRENT_CACHE_FOLDER, `${meta.infoHash}.cached.torrent`);
342
- writeFileSync(torrentPath, meta.encode());
341
+ await writeFile(torrentPath, new Uint8Array(meta.encode()));
343
342
  return true;
344
343
  }
345
344
  export async function updateTorrentCache(oldStr, newStr) {
346
345
  const torrentCacheDir = path.join(appDir(), TORRENT_CACHE_FOLDER);
347
- const files = readdirSync(torrentCacheDir);
346
+ const files = await readdir(torrentCacheDir);
348
347
  console.log(`Found ${files.length} files in cache, processing...`);
349
348
  let count = 0;
350
349
  for (const file of files) {
351
350
  const filePath = path.join(torrentCacheDir, file);
352
351
  try {
353
- const torrent = bencode.decode(readFileSync(filePath));
352
+ const torrent = bencode.decode(await readFile(filePath));
354
353
  const announce = torrent.announce?.toString();
355
354
  const announceList = torrent["announce-list"]?.map((tier) => tier.map((url) => url.toString()));
356
355
  if (!announce?.includes(oldStr) &&
@@ -378,8 +377,9 @@ export async function updateTorrentCache(oldStr, newStr) {
378
377
  return Buffer.from(newAnnounce);
379
378
  }));
380
379
  }
381
- if (updated)
382
- writeFileSync(filePath, bencode.encode(torrent));
380
+ if (updated) {
381
+ await writeFile(filePath, new Uint8Array(bencode.encode(torrent)));
382
+ }
383
383
  }
384
384
  catch (e) {
385
385
  console.error(`Error reading ${filePath}: ${e}`);
@@ -423,7 +423,7 @@ export async function getGuidInfoHashMap() {
423
423
  * @param guidInfoHashMap The map of guids to info hashes. Necessary for optimal fuzzy lookups.
424
424
  * @returns The info hash of the torrent if found
425
425
  */
426
- async function guidLookup(guid, link, guidInfoHashMap) {
426
+ function guidLookup(guid, link, guidInfoHashMap) {
427
427
  const infoHash = guidInfoHashMap.get(guid) ?? guidInfoHashMap.get(link);
428
428
  if (infoHash)
429
429
  return infoHash;
@@ -454,9 +454,9 @@ export async function assessCandidateCaching(candidate, searchee, infoHashesToEx
454
454
  .join("searchee", "decision.searchee_id", "searchee.id")
455
455
  .where({ name: searchee.title, guid })
456
456
  .first();
457
- const metaInfoHash = await guidLookup(guid, link, guidInfoHashMap);
457
+ const metaInfoHash = guidLookup(guid, link, guidInfoHashMap);
458
458
  const metaOrCandidate = metaInfoHash
459
- ? existsInTorrentCache(metaInfoHash)
459
+ ? (await existsInTorrentCache(metaInfoHash))
460
460
  ? (await getCachedTorrentFile(metaInfoHash)).orElse(candidate)
461
461
  : candidate
462
462
  : candidate;
@@ -1 +1 @@
1
- {"version":3,"file":"decide.js","sourceRoot":"","sources":["../src/decide.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EACN,UAAU,EACV,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,UAAU,EACV,aAAa,GACb,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EACN,iBAAiB,EACjB,QAAQ,EACR,oBAAoB,EACpB,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAW,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EACN,+BAA+B,EAC/B,eAAe,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAU,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAiB,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAEN,eAAe,GAGf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,wBAAwB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EACN,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,cAAc,GACd,MAAM,YAAY,CAAC;AAQpB,SAAS,WAAW,CACnB,QAAkB,EAClB,SAAoB,EACpB,QAAkB,EAClB,QAA8B,EAC9B,OAAe,EACf,OAAoD;IAEpD,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAE3E,IAAI,MAAc,CAAC;IACnB,QAAQ,QAAQ,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,aAAa;YAC1B,OAAO;QACR,KAAK,QAAQ,CAAC,eAAe;YAC5B,OAAO;QACR,KAAK,QAAQ,CAAC,KAAK;YAClB,OAAO;QACR,KAAK,QAAQ,CAAC,mBAAmB;YAChC,MAAM,GAAG,gEAAgE,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,IAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxL,MAAM;QACP,KAAK,QAAQ,CAAC,aAAa;YAC1B,MAAM,GAAG,iDAAiD,uBAAuB,CAAC,QAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACtJ,MAAM;QACP,KAAK,QAAQ,CAAC,qBAAqB;YAClC,MAAM,GAAG,iFAAiF,CAAC,mBAAmB,CAAC,QAAS,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;YACzJ,MAAM;QACP,KAAK,QAAQ,CAAC,mBAAmB;YAChC,MAAM,GAAG,kCACR,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,GACjD,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YAC7D,MAAM;QACP,KAAK,QAAQ,CAAC,gBAAgB;YAC7B,MAAM,GAAG,iCAAiC,CAAC;YAC3C,MAAM;QACP,KAAK,QAAQ,CAAC,YAAY;YACzB,MAAM,GAAG,kDAAkD,CAAC;YAC5D,MAAM;QACP,KAAK,QAAQ,CAAC,eAAe;YAC5B,MAAM,GAAG,qCAAqC,CAAC;YAC/C,MAAM;QACP,KAAK,QAAQ,CAAC,WAAW;YACxB,MAAM,GAAG,8BAA8B,CAAC;YACxC,MAAM;QACP,KAAK,QAAQ,CAAC,cAAc;YAC3B,MAAM,GAAG,2BAA2B,CAAC;YACrC,MAAM;QACP,KAAK,QAAQ,CAAC,wBAAwB;YACrC,MAAM,GAAG,kDAAkD,CAAC;YAC5D,MAAM;QACP,KAAK,QAAQ,CAAC,kBAAkB;YAC/B,MAAM,GAAG,+BAA+B,SAAS,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACjI,MAAM;QACP,KAAK,QAAQ,CAAC,sBAAsB;YACnC,MAAM,GAAG,qCAAqC,eAAe,CAC5D,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC9B,OAAO,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC1D,MAAM;QACP,KAAK,QAAQ,CAAC,sBAAsB;YACnC,MAAM,GAAG,0CACR,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI;gBACvD,SACD,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC;YAC9E,MAAM;QACP,KAAK,QAAQ,CAAC,eAAe;YAC5B,MAAM,GAAG,8BAA8B,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACvG,MAAM;QACP,KAAK,QAAQ,CAAC,eAAe;YAC5B,MAAM,GAAG,6BACR,+BAA+B,CAAC,QAAQ,EAAE,SAAS,CAAC;gBACpD,+BAA+B,CAAC,QAAS,EAAE,SAAS,CACrD,EAAE,CAAC;YACH,MAAM;QACP;YACC,MAAM,GAAG,QAAQ,CAAC;YAClB,MAAM;IACR,CAAC;IACD,MAAM,CAAC,OAAO,CAAC;QACd,KAAK,EAAE,KAAK,CAAC,MAAM;QACnB,OAAO,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,mBAAmB,OAAO,YAAY,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,MAAM,EAAE;KAClK,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC/B,SAAmB,EACnB,QAAkB;IAElB,IAAI,GAA0C,CAAC;IAC/C,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC1C,6BAA6B;QAC7B,GAAG,GAAG,CAAC,KAAW,EAAE,KAAW,EAAE,EAAE;YAClC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;YACtD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;YAChD,OAAO,eAAe,IAAI,aAAa,CAAC;QACzC,CAAC,CAAC;IACH,CAAC;SAAM,CAAC;QACP,GAAG,GAAG,CAAC,KAAW,EAAE,KAAW,EAAE,EAAE;YAClC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;YACtD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;YAChD,OAAO,eAAe,IAAI,aAAa,CAAC;QACzC,CAAC,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACtC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CACjD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC5C,SAAmB,EACnB,QAAkB;IAElB,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC9C,KAAK,MAAM,aAAa,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QAC7C,IAAI,oBAAoB,GAAG,cAAc,CAAC,MAAM,CAC/C,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,CAC9D,CAAC;QACF,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,oBAAoB,GAAG,oBAAoB,CAAC,MAAM,CACjD,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,CAC1D,CAAC;QACH,CAAC;QACD,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,mBAAmB,CAClC,SAAmB,EACnB,QAAkB;IAElB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,aAAa,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QAC7C,MAAM,mBAAmB,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAC9C,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,CAC9D,CAAC;QACF,IAAI,mBAAmB,EAAE,CAAC;YACzB,YAAY,IAAI,aAAa,CAAC,MAAM,CAAC;QACtC,CAAC;IACF,CAAC;IACD,OAAO,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,uBAAuB,CACtC,SAAmB,EACnB,QAAkB;IAElB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC9C,KAAK,MAAM,aAAa,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QAC7C,IAAI,oBAAoB,GAAG,cAAc,CAAC,MAAM,CAC/C,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,CAC9D,CAAC;QACF,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,oBAAoB,GAAG,oBAAoB,CAAC,MAAM,CACjD,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,CAC1D,CAAC;QACH,CAAC;QACD,IAAI,oBAAoB,CAAC,MAAM,EAAE,CAAC;YACjC,YAAY,IAAI,aAAa,CAAC,MAAM,CAAC;YACrC,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC;IACF,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACxE,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACzE,OAAO,eAAe,GAAG,WAAW,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAkB,EAAE,QAAkB;IACjE,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAErD,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IAC5B,MAAM,UAAU,GAAG,MAAM,GAAG,eAAe,GAAG,MAAM,CAAC;IACrD,MAAM,UAAU,GAAG,MAAM,GAAG,eAAe,GAAG,MAAM,CAAC;IACrD,OAAO,UAAU,IAAI,UAAU,IAAI,UAAU,IAAI,UAAU,CAAC;AAC7D,CAAC;AAED,SAAS,mBAAmB,CAAC,aAAqB,EAAE,aAAqB;IACxE,MAAM,WAAW,GAAG,aAAa;SAC/B,KAAK,CAAC,gBAAgB,CAAC;QACxB,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;QACrB,EAAE,WAAW,EAAE,CAAC;IACjB,MAAM,YAAY,GAAG,aAAa;SAChC,KAAK,CAAC,gBAAgB,CAAC;QACxB,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;QACrB,EAAE,WAAW,EAAE,CAAC;IACjB,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,UAAU,CAAC,WAAW,CAAC,KAAK,UAAU,CAAC,YAAY,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,qBAAqB,CAAC,aAAqB,EAAE,aAAqB;IAC1E,MAAM,oBAAoB,GAAG,eAAe,CAC3C,cAAc,CAAC,aAAa,CAAC,CAC7B,EAAE,WAAW,EAAE,CAAC;IACjB,MAAM,qBAAqB,GAAG,eAAe,CAC5C,cAAc,CAAC,aAAa,CAAC,CAC7B,EAAE,WAAW,EAAE,CAAC;IAEjB,IAAI,CAAC,oBAAoB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC,CAAC,uBAAuB;IACrC,CAAC;IACD,IACC,oBAAoB,CAAC,UAAU,CAAC,qBAAqB,CAAC;QACtD,qBAAqB,CAAC,UAAU,CAAC,oBAAoB,CAAC,EACrD,CAAC;QACF,OAAO,IAAI,CAAC,CAAC,eAAe;IAC7B,CAAC;IAED,iEAAiE;IACjE,MAAM,kBAAkB,GAAG,aAAa;SACtC,KAAK,CAAC,iBAAiB,CAAC;QACzB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;QACvB,EAAE,WAAW,EAAE,CAAC;IACjB,MAAM,mBAAmB,GAAG,aAAa;SACvC,KAAK,CAAC,iBAAiB,CAAC;QACzB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;QACvB,EAAE,WAAW,EAAE,CAAC;IACjB,IAAI,CAAC,kBAAkB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,6DAA6D;IAC7D,IAAI,kBAAkB,KAAK,mBAAmB,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,kBAAkB,IAAI,kBAAkB,KAAK,qBAAqB,EAAE,CAAC;QACxE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,mBAAmB,IAAI,oBAAoB,KAAK,mBAAmB,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CAAC,aAAqB,EAAE,aAAqB;IACpE,MAAM,cAAc,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IACnD,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IACrD,OAAO,cAAc,KAAK,eAAe,CAAC;AAC3C,CAAC;AAED,SAAS,uBAAuB,CAAC,YAAoB,EAAE,aAAqB;IAC3E,OAAO,CACN,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC;QACtC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CACvC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,eAAqC,EACrC,QAA2B,EAC3B,mBAAgC,EAChC,OAAoD;IAEpD,MAAM,EAAE,SAAS,EAAE,qBAAqB,EAAE,SAAS,EAAE,GAAG,gBAAgB,CACvE,OAAO,EAAE,cAAc,CACvB,CAAC;IAEF,2DAA2D;IAC3D,oEAAoE;IACpE,MAAM,WAAW,GAAG,CAAC,CAAC,eAAe,YAAY,QAAQ,CAAC,CAAC;IAC3D,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;YAClD,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;YAC5C,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;YACpD,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QACtD,CAAC;QACD,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;QAClC,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;YACjD,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YAC3B,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAChD,CAAC;IACF,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,WAAW,CAAC;IAE9B,IAAI,+BAA+B,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;QAC1D,OAAO;YACN,QAAQ,EAAE,QAAQ,CAAC,eAAe;YAClC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;YACpD,UAAU;SACV,CAAC;IACH,CAAC;IAED,IAAI,QAAkB,CAAC;IACvB,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,KAAK,EAAE;YACzD,OAAO,EAAE,CAAC;YACV,OAAO,EACN,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ;gBAChC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC;gBACjB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC;SAClB,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,GAAG,KAAK,WAAW,CAAC,WAAW;gBACrC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE;gBACpC,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC,YAAY;oBACjC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,YAAY,EAAE;oBACrC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC5C,CAAC;QACD,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACxB,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACxC,eAAe,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,wBAAwB;IACjE,CAAC;SAAM,CAAC;QACP,QAAQ,GAAG,eAAe,CAAC;IAC5B,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC7C,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IACpE,CAAC;IAED,IAAI,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,OAAO;YACN,QAAQ,EAAE,QAAQ,CAAC,wBAAwB;YAC3C,QAAQ;YACR,UAAU;SACV,CAAC;IACH,CAAC;IAED,IAAI,+BAA+B,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IACrE,CAAC;IAED,iEAAiE;IACjE,IACC,CAAC,qBAAqB;QACtB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjC,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,EAChD,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IACxE,CAAC;IAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC1D,IAAI,YAAY,EAAE,CAAC;QAClB,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,SAAS,GAAG,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACpE,IAAI,SAAS,IAAI,SAAS,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;QACjD,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IACrE,CAAC;IAED,IAAI,SAAS,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,gBAAgB,GACrB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC;YACvC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvB,OAAO;gBACN,QAAQ,EAAE,QAAQ,CAAC,qBAAqB;gBACxC,QAAQ;gBACR,UAAU;aACV,CAAC;QACH,CAAC;QACD,MAAM,YAAY,GAAG,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjE,IAAI,YAAY,EAAE,CAAC;YAClB,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;QACnE,CAAC;IACF,CAAC;SAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IACnE,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC5B,MAAM,EAAE,EACR,oBAAoB,EACpB,GAAG,QAAQ,iBAAiB,CAC5B,CAAC;IACF,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,UAAU,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC;IACjE,OAAO,IAAI,CAAC;AACb,CAAC;AAED,KAAK,UAAU,oBAAoB,CAClC,QAAgB,EAChB,UAAqC,EAAE,YAAY,EAAE,IAAI,EAAE;IAE3D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC5B,MAAM,EAAE,EACR,oBAAoB,EACpB,GAAG,QAAQ,iBAAiB,CAC5B,CAAC;IACF,IAAI,CAAC;QACJ,OAAO,QAAQ,CAAC,MAAM,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,CAAC,KAAK,CAAC;YACZ,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,OAAO,EAAE,kCAAkC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE;SACjI,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,UAAU,CAAC,WAAW,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc;IACvC,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC5B,MAAM,EAAE,EACR,oBAAoB,EACpB,GAAG,IAAI,CAAC,QAAQ,iBAAiB,CACjC,CAAC;IACF,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,MAAc,EACd,MAAc;IAEd,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,MAAM,gCAAgC,CAAC,CAAC;IACnE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC;YACJ,MAAM,OAAO,GAAY,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3D,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CACjC,CAAC;YACF,IACC,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC;gBAC3B,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACzB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CACrC,EACA,CAAC;gBACF,SAAS;YACV,CAAC;YACD,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC,CAAC;YACtC,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,QAAQ,EAAE,CAAC;gBACd,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACrD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;oBAC9B,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,OAAO,WAAW,EAAE,CAAC,CAAC;oBACjD,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7C,CAAC;YACF,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBAClB,OAAO,CAAC,eAAe,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACpD,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBAChB,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBAChD,IAAI,GAAG,KAAK,WAAW;wBAAE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACjD,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,WAAW,EAAE,CAAC,CAAC;oBAC5C,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACjC,CAAC,CAAC,CACF,CAAC;YACH,CAAC;YACD,IAAI,OAAO;gBAAE,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,iBAAiB,QAAQ,KAAK,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC;IACF,CAAC;AACF,CAAC;AAED,KAAK,UAAU,oBAAoB,CAClC,eAAqC,EACrC,QAA2B,EAC3B,IAAY,EACZ,mBAAgC,EAChC,SAAiB,EACjB,eAAoC,EACpC,OAAoD;IAEpD,MAAM,UAAU,GAAG,MAAM,eAAe,CACvC,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,OAAO,CACP,CAAC;IAEF,IAAI,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QAClD,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAClC,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC;iBAClC,MAAM,CAAC,IAAI,CAAC;iBACZ,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;iBAC/B,KAAK,EAAE,CAAC;YACV,MAAM,GAAG,CAAC,UAAU,CAAC;iBACnB,MAAM,CAAC;gBACP,WAAW,EAAE,EAAE;gBACf,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,UAAU,CAAC,QAAS,CAAC,QAAQ;gBACxC,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,UAAU,EAAE,SAAS;gBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,iBAAiB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;aAC/C,CAAC;iBACD,UAAU,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;iBACnC,KAAK,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACvC,OAAO,IAAI,GAAG,CACb,CACC,MAAM,EAAE,CAAC,UAAU,CAAC;SAClB,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;SAC3B,YAAY,CAAC,WAAW,CAAC,CAC3B,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CACjD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,UAAU,CACxB,IAAY,EACZ,IAAY,EACZ,eAAoC;IAEpC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxE,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,KAAK,MAAM,UAAU,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;YAAE,SAAS;QACnD,MAAM,cAAc,GAAG,6BAA6B,CAAC;QACrD,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY;YAAE,SAAS;QAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,eAAe,EAAE,CAAC;YAC5C,IAAI,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;gBACrD,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC3C,SAAoB,EACpB,QAA2B,EAC3B,mBAAgC,EAChC,eAAoC,EACpC,OAAoD;IAEpD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IAEhD,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC;SACrC,MAAM,CAAC;QACP,EAAE,EAAE,aAAa;QACjB,QAAQ,EAAE,oBAAoB;QAC9B,QAAQ,EAAE,mBAAmB;QAC7B,SAAS,EAAE,qBAAqB;QAChC,eAAe,EAAE,4BAA4B;KAC7C,CAAC;SACD,IAAI,CAAC,UAAU,EAAE,sBAAsB,EAAE,aAAa,CAAC;SACvD,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;SACrC,KAAK,EAAE,CAAC;IACV,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IACnE,MAAM,eAAe,GAAG,YAAY;QACnC,CAAC,CAAC,oBAAoB,CAAC,YAAY,CAAC;YACnC,CAAC,CAAC,CAAC,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;YAC9D,CAAC,CAAC,SAAS;QACZ,CAAC,CAAC,SAAS,CAAC;IACb,IAAI,eAAe,YAAY,QAAQ,EAAE,CAAC;QACzC,MAAM,CAAC,OAAO,CAAC;YACd,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,OAAO,EAAE,wBAAwB,gBAAgB,CAAC,YAAa,CAAC,QAAQ,OAAO,eAAe,IAAI,EAAE;SACpG,CAAC,CAAC;QACH,SAAS,CAAC,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,wBAAwB;IAClE,CAAC;IAED,IAAI,UAA4B,CAAC;IACjC,IAAI,mBAAmB,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnD,sDAAsD;QACtD,UAAU,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,wBAAwB,EAAE,CAAC;QAC7D,MAAM,EAAE,CAAC,UAAU,CAAC;aAClB,KAAK,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC;aAC5B,MAAM,CAAC;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,QAAQ,EAAE,oBAAoB,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAClD,CAAC,CAAC,UAAU,CAAC,QAAQ;gBACrB,CAAC,CAAC,QAAQ,CAAC,wBAAwB;SACpC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACP,UAAU,GAAG,MAAM,oBAAoB,CACtC,eAAe,EACf,QAAQ,EACR,IAAI,EACJ,mBAAmB,EACnB,UAAU,EAAE,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EACnC,eAAe,EACf,OAAO,CACP,CAAC;IACH,CAAC;IAED,WAAW,CACV,QAAQ,EACR,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,UAAU,CAAC,QAAQ,EACnB,OAAO,EACP,OAAO,CACP,CAAC;IAEF,OAAO,UAAU,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"decide.js","sourceRoot":"","sources":["../src/decide.ts"],"names":[],"mappings":"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"}
package/dist/inject.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import chalk from "chalk";
2
2
  import { stat, unlink } from "fs/promises";
3
3
  import ms from "ms";
4
- import { copyFileSync, existsSync } from "fs";
4
+ import { copyFile } from "fs/promises";
5
5
  import path, { basename } from "path";
6
6
  import { performActionWithoutMutex } from "./action.js";
7
7
  import { byClientHostPriority, waitForTorrentToComplete, } from "./clients/TorrentClient.js";
@@ -15,7 +15,7 @@ import { resultOf, resultOfErr } from "./Result.js";
15
15
  import { getRuntimeConfig } from "./runtimeConfig.js";
16
16
  import { createEnsembleSearchees } from "./searchee.js";
17
17
  import { findAllTorrentFilesInDir, parseMetadataFromFilename, parseTorrentFromFilename, } from "./torrent.js";
18
- import { areMediaTitlesSimilar, comparing, formatAsList, getLogString, humanReadableDate, isTruthy, Mutex, sanitizeInfoHash, withMutex, } from "./utils.js";
18
+ import { areMediaTitlesSimilar, comparing, exists, formatAsList, getLogString, humanReadableDate, isTruthy, Mutex, sanitizeInfoHash, withMutex, } from "./utils.js";
19
19
  function getTorrentFilePathLog(torrentFilePath) {
20
20
  return chalk.bold.magenta(torrentFilePath.replace(/\[([a-z0-9]{40})].torrent$/i, (match, hash) => match.replace(hash, sanitizeInfoHash(hash))));
21
21
  }
@@ -55,13 +55,14 @@ async function deleteTorrentFileIfComplete(torrentFilePath, client, infoHash) {
55
55
  });
56
56
  }
57
57
  }
58
- async function whichSearcheesMatchTorrent(meta, searchees) {
58
+ async function whichSearcheesMatchTorrent(meta, searchees, ignoreTitles) {
59
59
  const isSimilar = (searchee, meta) => areMediaTitlesSimilar(searchee.title, meta.title) ||
60
60
  areMediaTitlesSimilar(searchee.title, meta.name) ||
61
61
  areMediaTitlesSimilar(searchee.name, meta.name) ||
62
62
  areMediaTitlesSimilar(searchee.name, meta.title) ||
63
63
  meta.files.some((metaFile) => searchee.files.some((searcheeFile) => areMediaTitlesSimilar(searcheeFile.name, metaFile.name)));
64
64
  let foundBlocked = false;
65
+ let fuzzyFail = false;
65
66
  const matches = [];
66
67
  for (const searchee of searchees) {
67
68
  const { decision } = await assessCandidate(meta, searchee, new Set());
@@ -74,11 +75,20 @@ async function whichSearcheesMatchTorrent(meta, searchees) {
74
75
  continue;
75
76
  }
76
77
  if (!isSimilar(searchee, meta)) {
77
- logger.warn({
78
- label: Label.INJECT,
79
- message: `Skipping likely false positive for ${getLogString(meta, chalk.bold.white)} from ${getLogString(searchee, chalk.bold.white)}`,
80
- });
81
- continue;
78
+ if (ignoreTitles) {
79
+ logger.warn({
80
+ label: Label.INJECT,
81
+ message: `Ignoring title mismatch for ${getLogString(meta, chalk.bold.white)} with ${getLogString(searchee, chalk.bold.white)}`,
82
+ });
83
+ }
84
+ else {
85
+ logger.warn({
86
+ label: Label.INJECT,
87
+ message: `Skipping match for ${getLogString(meta, chalk.bold.white)} with ${getLogString(searchee, chalk.bold.white)} due to title mismatch (use "${chalk.bold.white("cross-seed inject --ignore-titles")}" if this is an erroneous rejection)`,
88
+ });
89
+ fuzzyFail = true;
90
+ continue;
91
+ }
82
92
  }
83
93
  matches.push({ searchee, decision });
84
94
  }
@@ -91,7 +101,7 @@ async function whichSearcheesMatchTorrent(meta, searchees) {
91
101
  matches.sort(comparing((match) => byClientHostPriority(match.searchee.clientHost), (match) =>
92
102
  // indexOf returns -1 for not found
93
103
  -[Decision.MATCH_SIZE_ONLY, Decision.MATCH].indexOf(match.decision), (match) => !match.searchee.infoHash, (match) => !match.searchee.path, (match) => -match.searchee.files.length));
94
- return { matches, foundBlocked };
104
+ return { matches, foundBlocked, fuzzyFail };
95
105
  }
96
106
  async function injectInitialAction(meta, matches, tracker) {
97
107
  let client;
@@ -183,7 +193,7 @@ async function injectFromStalledTorrent({ meta, client, clientMatches, tracker,
183
193
  message: `${progress} Rechecking ${filePathLog} as new files were linked - ${chalk.green(injectionResult)}`,
184
194
  });
185
195
  await client.recheckTorrent(meta.infoHash);
186
- client.resumeInjection(meta, stalledDecision, {
196
+ void client.resumeInjection(meta, stalledDecision, {
187
197
  checkOnce: false,
188
198
  });
189
199
  }
@@ -230,7 +240,7 @@ async function injectionAlreadyExists({ progress, torrentFilePath, client, clien
230
240
  label: Label.INJECT,
231
241
  message: `${progress} ${filePathLog} is being checked by client - ${chalk.green(injectionResult)}`,
232
242
  });
233
- client.resumeInjection(meta, decision, {
243
+ void client.resumeInjection(meta, decision, {
234
244
  checkOnce: false,
235
245
  });
236
246
  }
@@ -241,7 +251,7 @@ async function injectionAlreadyExists({ progress, torrentFilePath, client, clien
241
251
  message: `${progress} Rechecking ${filePathLog} as it's not complete but has all files (final check at ${humanReadableDate(finalCheckTime)}) - ${chalk.yellow(injectionResult)}`,
242
252
  });
243
253
  await client.recheckTorrent(meta.infoHash);
244
- client.resumeInjection(meta, decision, {
254
+ void client.resumeInjection(meta, decision, {
245
255
  checkOnce: false,
246
256
  });
247
257
  if (Date.now() >= finalCheckTime) {
@@ -260,7 +270,7 @@ async function injectionAlreadyExists({ progress, torrentFilePath, client, clien
260
270
  label: Label.INJECT,
261
271
  message: `${progress} ${filePathLog} - ${chalk.yellow(injectionResult)} (incomplete)`,
262
272
  });
263
- client.resumeInjection(meta, decision, {
273
+ void client.resumeInjection(meta, decision, {
264
274
  checkOnce: true,
265
275
  });
266
276
  }
@@ -271,10 +281,10 @@ async function injectionAlreadyExists({ progress, torrentFilePath, client, clien
271
281
  await deleteTorrentFileIfSafe(torrentFilePath);
272
282
  }
273
283
  else {
274
- deleteTorrentFileIfComplete(torrentFilePath, client, meta.infoHash);
284
+ void deleteTorrentFileIfComplete(torrentFilePath, client, meta.infoHash);
275
285
  }
276
286
  }
277
- async function injectionSuccess({ progress, torrentFilePath, client, injectionResult, summary, matchedSearchee, matchedDecision, meta, tracker, filePathLog, }) {
287
+ function injectionSuccess({ progress, torrentFilePath, client, injectionResult, summary, matchedSearchee, matchedDecision, meta, tracker, filePathLog, }) {
278
288
  logger.info({
279
289
  label: Label.INJECT,
280
290
  message: `${progress} Injected ${filePathLog} - ${chalk.green(injectionResult)}`,
@@ -293,7 +303,7 @@ async function injectionSuccess({ progress, torrentFilePath, client, injectionRe
293
303
  else {
294
304
  summary.FULL_MATCHES++;
295
305
  }
296
- deleteTorrentFileIfComplete(torrentFilePath, client, meta.infoHash);
306
+ void deleteTorrentFileIfComplete(torrentFilePath, client, meta.infoHash);
297
307
  }
298
308
  async function loadMetafile(torrentFilePath, progress, summary) {
299
309
  const filePathLog = getTorrentFilePathLog(torrentFilePath);
@@ -314,21 +324,22 @@ async function loadMetafile(torrentFilePath, progress, summary) {
314
324
  const tracker = trackerFromFilename ?? UNKNOWN_TRACKER;
315
325
  return resultOf({ meta, tracker });
316
326
  }
317
- async function injectSavedTorrent(progress, torrentFilePath, summary, searchees) {
327
+ async function injectSavedTorrent(progress, torrentFilePath, summary, searchees, ignoreTitles) {
318
328
  const metafileResult = await loadMetafile(torrentFilePath, progress, summary);
319
329
  if (metafileResult.isErr())
320
330
  return;
321
331
  const { meta, tracker } = metafileResult.unwrap();
322
332
  const filePathLog = getTorrentFilePathLog(torrentFilePath);
323
333
  const metaLog = getLogString(meta, chalk.bold.white);
324
- const { matches, foundBlocked } = await whichSearcheesMatchTorrent(meta, searchees);
334
+ const { matches, foundBlocked, fuzzyFail } = await whichSearcheesMatchTorrent(meta, searchees, ignoreTitles);
325
335
  if (!matches.length && foundBlocked) {
326
336
  logger.warn({
327
337
  label: Label.INJECT,
328
338
  message: `${progress} ${metaLog} ${chalk.yellow("possibly blocklisted")}: ${filePathLog}`,
329
339
  });
330
340
  summary.BLOCKED++;
331
- await deleteTorrentFileIfSafe(torrentFilePath);
341
+ if (!fuzzyFail)
342
+ await deleteTorrentFileIfSafe(torrentFilePath);
332
343
  return;
333
344
  }
334
345
  else if (!matches.length) {
@@ -337,7 +348,8 @@ async function injectSavedTorrent(progress, torrentFilePath, summary, searchees)
337
348
  message: `${progress} ${metaLog} ${chalk.red("has no matches")}: ${filePathLog}`,
338
349
  });
339
350
  summary.UNMATCHED++;
340
- await deleteTorrentFileIfSafe(torrentFilePath);
351
+ if (!fuzzyFail)
352
+ await deleteTorrentFileIfSafe(torrentFilePath);
341
353
  return;
342
354
  }
343
355
  const { client, clientMatches, injectionResult, matchedSearchee, matchedDecision, linkedNewFiles, } = await injectInitialAction(meta, matches, tracker);
@@ -357,7 +369,7 @@ async function injectSavedTorrent(progress, torrentFilePath, summary, searchees)
357
369
  };
358
370
  switch (injectionResult) {
359
371
  case InjectionResult.SUCCESS:
360
- await injectionSuccess(injectionAftermath);
372
+ injectionSuccess(injectionAftermath);
361
373
  break;
362
374
  case InjectionResult.FAILURE:
363
375
  injectionFailed(injectionAftermath);
@@ -403,7 +415,7 @@ function logInjectSummary(summary, flatLinking, injectDir) {
403
415
  message: `Some torrents could be linked to linkDir/${UNKNOWN_TRACKER} - follow .torrent naming format in the docs to avoid this`,
404
416
  });
405
417
  }
406
- if (injectDir) {
418
+ if (injectDir !== undefined) {
407
419
  logger.info({
408
420
  label: Label.INJECT,
409
421
  message: `Waiting on post-injection tasks to complete...`,
@@ -426,9 +438,21 @@ function createSummary(total) {
426
438
  };
427
439
  }
428
440
  export async function injectSavedTorrents() {
429
- const { flatLinking, injectDir, outputDir } = getRuntimeConfig();
441
+ const { flatLinking, ignoreTitles, injectDir, outputDir } = getRuntimeConfig();
430
442
  const targetDir = injectDir ?? outputDir;
431
443
  const targetDirLog = chalk.bold.magenta(targetDir);
444
+ if (injectDir !== undefined) {
445
+ logger.warn({
446
+ label: Label.INJECT,
447
+ message: `Manually injecting torrents performs minimal filtering which slightly increases chances of false positives, see the docs for more info`,
448
+ });
449
+ }
450
+ if (ignoreTitles) {
451
+ logger.warn({
452
+ label: Label.INJECT,
453
+ message: `Ignoring torrent titles when looking for matches, this may result in false positives`,
454
+ });
455
+ }
432
456
  const torrentFilePaths = await findAllTorrentFilesInDir(targetDir);
433
457
  if (torrentFilePaths.length === 0) {
434
458
  logger.info({
@@ -442,19 +466,16 @@ export async function injectSavedTorrents() {
442
466
  message: `Found ${chalk.bold.white(torrentFilePaths.length)} torrent file(s) to inject in ${targetDirLog}`,
443
467
  });
444
468
  const summary = createSummary(torrentFilePaths.length);
445
- const { realSearchees, ensembleSearchees } = await withMutex(Mutex.CREATE_ALL_SEARCHEES, async () => {
446
- const realSearchees = await findAllSearchees(Label.INJECT);
447
- const ensembleSearchees = await createEnsembleSearchees(realSearchees, {
448
- useFilters: false,
449
- });
450
- return { realSearchees, ensembleSearchees };
451
- }, { useQueue: true });
469
+ const realSearchees = await findAllSearchees(Label.INJECT);
470
+ const ensembleSearchees = await createEnsembleSearchees(realSearchees, {
471
+ useFilters: false,
472
+ });
452
473
  const searchees = [...realSearchees, ...ensembleSearchees];
453
474
  for (const [i, torrentFilePath] of torrentFilePaths.entries()) {
454
475
  const progress = chalk.blue(`(${i + 1}/${torrentFilePaths.length})`);
455
- await withMutex(Mutex.CLIENT_INJECTION, async () => {
456
- return injectSavedTorrent(progress, torrentFilePath, summary, searchees);
457
- }, { useQueue: true });
476
+ await withMutex(Mutex.CLIENT_INJECTION, { useQueue: true }, async () => {
477
+ return injectSavedTorrent(progress, torrentFilePath, summary, searchees, ignoreTitles ?? false);
478
+ });
458
479
  }
459
480
  logInjectSummary(summary, flatLinking, injectDir);
460
481
  }
@@ -469,11 +490,11 @@ export async function restoreFromTorrentCache() {
469
490
  let existed = 0;
470
491
  for (const [i, torrentFilePath] of torrentFilePaths.entries()) {
471
492
  const dest = path.join(outputDir, `[${MediaType.OTHER}][${UNKNOWN_TRACKER}]${basename(torrentFilePath)}`);
472
- if (existsSync(dest)) {
493
+ if (await exists(dest)) {
473
494
  existed++;
474
495
  continue;
475
496
  }
476
- copyFileSync(torrentFilePath, dest);
497
+ await copyFile(torrentFilePath, dest);
477
498
  if ((i + 1) % 100 === 0) {
478
499
  console.log(`${chalk.blue(`(${i + 1}/${torrentFilePaths.length})`)} ${chalk.bold.magenta(dest)}`);
479
500
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inject.js","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inject.js","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":"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"}