@sanity/pkg-utils 1.20.2 → 1.20.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 (35) hide show
  1. package/dist/_chunks/{build-919c8216.js → build-983490bb.js} +16 -14
  2. package/dist/_chunks/build-983490bb.js.map +1 -0
  3. package/dist/_chunks/{buildAction-683ad943.js → buildAction-240dc427.js} +5 -5
  4. package/dist/_chunks/{buildAction-683ad943.js.map → buildAction-240dc427.js.map} +1 -1
  5. package/dist/_chunks/{check-1ea361f5.js → check-6c4e87a9.js} +24 -24
  6. package/dist/_chunks/check-6c4e87a9.js.map +1 -0
  7. package/dist/_chunks/{checkAction-16be1201.js → checkAction-abd2cc3d.js} +4 -4
  8. package/dist/_chunks/{checkAction-16be1201.js.map → checkAction-abd2cc3d.js.map} +1 -1
  9. package/dist/_chunks/handleError-4062ca45.js +17 -0
  10. package/dist/_chunks/{handleError-65cf3242.js.map → handleError-4062ca45.js.map} +1 -1
  11. package/dist/_chunks/{index-aa5deb01.js → index-60a8ccaf.js} +95 -78
  12. package/dist/_chunks/index-60a8ccaf.js.map +1 -0
  13. package/dist/_chunks/{resolveBuildContext-f2feec19.js → resolveBuildContext-904acf0f.js} +46 -45
  14. package/dist/_chunks/resolveBuildContext-904acf0f.js.map +1 -0
  15. package/dist/_chunks/{watch-24b814fa.js → watch-580faef0.js} +21 -19
  16. package/dist/_chunks/{watch-24b814fa.js.map → watch-580faef0.js.map} +1 -1
  17. package/dist/_chunks/{watchAction-f36fcd0b.js → watchAction-aabcb0fb.js} +5 -5
  18. package/dist/_chunks/{watchAction-f36fcd0b.js.map → watchAction-aabcb0fb.js.map} +1 -1
  19. package/dist/cli.js +8 -8
  20. package/dist/cli.js.map +1 -1
  21. package/dist/index.esm.js +37 -21
  22. package/dist/index.esm.js.map +1 -1
  23. package/dist/index.js +5 -5
  24. package/dist/index.js.map +1 -1
  25. package/package.json +39 -39
  26. package/src/global.ts +6 -0
  27. package/src/node/core/config/loadConfig.ts +7 -9
  28. package/src/node/spinner.ts +1 -1
  29. package/src/node/tasks/rollup/resolveRollupConfig.ts +4 -7
  30. package/src/node/tasks/rollup/rollupTask.ts +23 -4
  31. package/dist/_chunks/build-919c8216.js.map +0 -1
  32. package/dist/_chunks/check-1ea361f5.js.map +0 -1
  33. package/dist/_chunks/handleError-65cf3242.js +0 -17
  34. package/dist/_chunks/index-aa5deb01.js.map +0 -1
  35. package/dist/_chunks/resolveBuildContext-f2feec19.js.map +0 -1
@@ -2,7 +2,9 @@
2
2
 
3
3
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
4
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
8
  var chalk = require('chalk');
7
9
  var rxjs = require('rxjs');
8
10
  var path = require('path');
@@ -26,30 +28,30 @@ var pluginNodeResolve = require('@rollup/plugin-node-resolve');
26
28
  var replace = require('@rollup/plugin-replace');
27
29
  var terser = require('@rollup/plugin-terser');
28
30
  var esbuild = require('rollup-plugin-esbuild');
29
- var resolveBuildContext = require('./resolveBuildContext-f2feec19.js');
31
+ var resolveBuildContext = require('./resolveBuildContext-904acf0f.js');
30
32
  require('esbuild-register/dist/node');
31
33
  require('pkg-up');
32
34
  require('find-config');
33
35
  require('zod');
34
- function _interopDefaultLegacy(e) {
36
+ function _interopDefaultCompat(e) {
35
37
  return e && typeof e === 'object' && 'default' in e ? e : {
36
- 'default': e
38
+ default: e
37
39
  };
38
40
  }
39
- var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
40
- var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
41
- var rimrafCallback__default = /*#__PURE__*/_interopDefaultLegacy(rimrafCallback);
42
- var ts__default = /*#__PURE__*/_interopDefaultLegacy(ts);
43
- var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
44
- var mkdirp__default = /*#__PURE__*/_interopDefaultLegacy(mkdirp);
45
- var prettier__default = /*#__PURE__*/_interopDefaultLegacy(prettier);
46
- var typeScriptParser__default = /*#__PURE__*/_interopDefaultLegacy(typeScriptParser);
47
- var alias__default = /*#__PURE__*/_interopDefaultLegacy(alias);
48
- var commonjs__default = /*#__PURE__*/_interopDefaultLegacy(commonjs);
49
- var json__default = /*#__PURE__*/_interopDefaultLegacy(json);
50
- var replace__default = /*#__PURE__*/_interopDefaultLegacy(replace);
51
- var terser__default = /*#__PURE__*/_interopDefaultLegacy(terser);
52
- var esbuild__default = /*#__PURE__*/_interopDefaultLegacy(esbuild);
41
+ var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
42
+ var path__default = /*#__PURE__*/_interopDefaultCompat(path);
43
+ var rimrafCallback__default = /*#__PURE__*/_interopDefaultCompat(rimrafCallback);
44
+ var ts__default = /*#__PURE__*/_interopDefaultCompat(ts);
45
+ var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
46
+ var mkdirp__default = /*#__PURE__*/_interopDefaultCompat(mkdirp);
47
+ var prettier__default = /*#__PURE__*/_interopDefaultCompat(prettier);
48
+ var typeScriptParser__default = /*#__PURE__*/_interopDefaultCompat(typeScriptParser);
49
+ var alias__default = /*#__PURE__*/_interopDefaultCompat(alias);
50
+ var commonjs__default = /*#__PURE__*/_interopDefaultCompat(commonjs);
51
+ var json__default = /*#__PURE__*/_interopDefaultCompat(json);
52
+ var replace__default = /*#__PURE__*/_interopDefaultCompat(replace);
53
+ var terser__default = /*#__PURE__*/_interopDefaultCompat(terser);
54
+ var esbuild__default = /*#__PURE__*/_interopDefaultCompat(esbuild);
53
55
  function printExtractMessages(ctx, messages) {
54
56
  const {
55
57
  cwd,
@@ -60,28 +62,28 @@ function printExtractMessages(ctx, messages) {
60
62
  logger.log();
61
63
  }
62
64
  for (const msg of warnings) {
63
- const sourceFilePath = msg.sourceFilePath && path__default["default"].relative(cwd, msg.sourceFilePath);
65
+ const sourceFilePath = msg.sourceFilePath && path__default.default.relative(cwd, msg.sourceFilePath);
64
66
  if (msg.messageId === "TS6307") {
65
67
  continue;
66
68
  }
67
- logger.log(["".concat(chalk__default["default"].cyan(sourceFilePath || "?")), ":".concat(chalk__default["default"].yellow(msg.sourceFileLine), ":").concat(chalk__default["default"].yellow(msg.sourceFileColumn)), " - ".concat(chalk__default["default"].yellow("warning"), " ").concat(chalk__default["default"].gray(msg.messageId), "\n"), msg.text, "\n"].join(""));
69
+ logger.log(["".concat(chalk__default.default.cyan(sourceFilePath || "?")), ":".concat(chalk__default.default.yellow(msg.sourceFileLine), ":").concat(chalk__default.default.yellow(msg.sourceFileColumn)), " - ".concat(chalk__default.default.yellow("warning"), " ").concat(chalk__default.default.gray(msg.messageId), "\n"), msg.text, "\n"].join(""));
68
70
  }
69
71
  const errors = messages.filter(msg => msg.logLevel === "error");
70
72
  if (!warnings.length && errors.length) {
71
73
  logger.log("");
72
74
  }
73
75
  for (const msg of errors) {
74
- const sourceFilePath = msg.sourceFilePath && path__default["default"].relative(cwd, msg.sourceFilePath);
75
- logger.log(["".concat(chalk__default["default"].cyan(sourceFilePath || "?")), ":".concat(chalk__default["default"].yellow(msg.sourceFileLine), ":").concat(chalk__default["default"].yellow(msg.sourceFileColumn)), " - ".concat(chalk__default["default"].red("error"), " ").concat(chalk__default["default"].gray(msg.messageId), "\n"), msg.text, "\n"].join(""));
76
+ const sourceFilePath = msg.sourceFilePath && path__default.default.relative(cwd, msg.sourceFilePath);
77
+ logger.log(["".concat(chalk__default.default.cyan(sourceFilePath || "?")), ":".concat(chalk__default.default.yellow(msg.sourceFileLine), ":").concat(chalk__default.default.yellow(msg.sourceFileColumn)), " - ".concat(chalk__default.default.red("error"), " ").concat(chalk__default.default.gray(msg.messageId), "\n"), msg.text, "\n"].join(""));
76
78
  }
77
79
  if (errors.length) {
78
80
  process.exit(1);
79
81
  }
80
82
  }
81
83
  const formatHost = {
82
- getCurrentDirectory: () => ts__default["default"].sys.getCurrentDirectory(),
83
- getNewLine: () => ts__default["default"].sys.newLine,
84
- getCanonicalFileName: ts__default["default"].sys.useCaseSensitiveFileNames ? f => f : f => f.toLowerCase()
84
+ getCurrentDirectory: () => ts__default.default.sys.getCurrentDirectory(),
85
+ getNewLine: () => ts__default.default.sys.newLine,
86
+ getCanonicalFileName: ts__default.default.sys.useCaseSensitiveFileNames ? f => f : f => f.toLowerCase()
85
87
  };
86
88
  async function buildTypes(options) {
87
89
  const {
@@ -96,25 +98,25 @@ async function buildTypes(options) {
96
98
  noEmit: false,
97
99
  outDir
98
100
  });
99
- const program = ts__default["default"].createProgram(tsconfig.fileNames, compilerOptions);
101
+ const program = ts__default.default.createProgram(tsconfig.fileNames, compilerOptions);
100
102
  const emitResult = program.emit();
101
- const allDiagnostics = ts__default["default"].getPreEmitDiagnostics(program).concat(emitResult.diagnostics);
103
+ const allDiagnostics = ts__default.default.getPreEmitDiagnostics(program).concat(emitResult.diagnostics);
102
104
  allDiagnostics.forEach(diagnostic => {
103
105
  if (diagnostic.file && diagnostic.start) {
104
106
  const {
105
107
  line,
106
108
  character
107
- } = ts__default["default"].getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start);
108
- const message = ts__default["default"].flattenDiagnosticMessageText(diagnostic.messageText, "\n");
109
+ } = ts__default.default.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start);
110
+ const message = ts__default.default.flattenDiagnosticMessageText(diagnostic.messageText, "\n");
109
111
  console.log("".concat(diagnostic.file.fileName, " ").concat(line + 1, ":").concat(character + 1, "\n").concat(message));
110
112
  } else {
111
- console.log(ts__default["default"].flattenDiagnosticMessageText(diagnostic.messageText, "\n"));
113
+ console.log(ts__default.default.flattenDiagnosticMessageText(diagnostic.messageText, "\n"));
112
114
  }
113
115
  });
114
116
  if (emitResult.emitSkipped) {
115
- const errors = allDiagnostics.filter(diag => diag.category === ts__default["default"].DiagnosticCategory.Error);
117
+ const errors = allDiagnostics.filter(diag => diag.category === ts__default.default.DiagnosticCategory.Error);
116
118
  if (errors.length) {
117
- console.error(ts__default["default"].formatDiagnostics(errors, formatHost));
119
+ console.error(ts__default.default.formatDiagnostics(errors, formatHost));
118
120
  if (strict) {
119
121
  throw new Error("failed to compile TypeScript definitions");
120
122
  }
@@ -147,11 +149,11 @@ function createApiExtractorConfig(options) {
147
149
  },
148
150
  docModel: {
149
151
  enabled: false,
150
- apiJsonFilePath: path__default["default"].resolve(distPath, "".concat(exportPath, ".api.json"))
152
+ apiJsonFilePath: path__default.default.resolve(distPath, "".concat(exportPath, ".api.json"))
151
153
  },
152
154
  dtsRollup: {
153
155
  enabled: true,
154
- untrimmedFilePath: path__default["default"].resolve(distPath, filePath)
156
+ untrimmedFilePath: path__default.default.resolve(distPath, filePath)
155
157
  },
156
158
  tsdocMetadata: {
157
159
  enabled: false
@@ -203,7 +205,7 @@ async function extractModuleBlocksFromTypes(_ref) {
203
205
  }
204
206
  function extractModuleBlocks(fileContent) {
205
207
  const ast = recast.parse(fileContent, {
206
- parser: typeScriptParser__default["default"]
208
+ parser: typeScriptParser__default.default
207
209
  });
208
210
  return ast.program.body.filter(node => node.type === "TSModuleDeclaration").map(node => recast.print(node).code);
209
211
  }
@@ -303,7 +305,7 @@ async function extractTypes(options) {
303
305
  }),
304
306
  configObjectFullPath: void 0,
305
307
  tsdocConfigFile,
306
- packageJsonFullPath: path__default["default"].resolve(projectPath, "package.json")
308
+ packageJsonFullPath: path__default.default.resolve(projectPath, "package.json")
307
309
  });
308
310
  const messages = [];
309
311
  const extractorResult = apiExtractor.Extractor.invoke(extractorConfig, {
@@ -314,16 +316,16 @@ async function extractTypes(options) {
314
316
  message.handled = true;
315
317
  }
316
318
  });
317
- const typesPath = path__default["default"].resolve(distPath, filePath);
318
- const typesBuf = await fs__default["default"].readFile(typesPath);
319
- const prettierConfig = await prettier__default["default"].resolveConfig(typesPath);
320
- await mkdirp__default["default"](path__default["default"].dirname(typesPath));
319
+ const typesPath = path__default.default.resolve(distPath, filePath);
320
+ const typesBuf = await fs__default.default.readFile(typesPath);
321
+ const prettierConfig = await prettier__default.default.resolveConfig(typesPath);
322
+ await mkdirp__default.default(path__default.default.dirname(typesPath));
321
323
  const moduleBlocks = await extractModuleBlocksFromTypes({
322
324
  extractResult: extractorResult,
323
325
  tsOutDir: tmpPath
324
326
  });
325
327
  const code = [typesBuf.toString(), ...moduleBlocks].join("\n\n");
326
- await fs__default["default"].writeFile(typesPath, prettier__default["default"].format(code, _objectSpread(_objectSpread({}, prettierConfig), {}, {
328
+ await fs__default.default.writeFile(typesPath, prettier__default.default.format(code, _objectSpread(_objectSpread({}, prettierConfig), {}, {
327
329
  filepath: typesPath
328
330
  })));
329
331
  files.push({
@@ -335,7 +337,7 @@ async function extractTypes(options) {
335
337
  messages
336
338
  };
337
339
  }
338
- const rimraf = util.promisify(rimrafCallback__default["default"]);
340
+ const rimraf = util.promisify(rimrafCallback__default.default);
339
341
  async function doExtract(ctx, task) {
340
342
  var _a, _b;
341
343
  const {
@@ -359,7 +361,7 @@ async function doExtract(ctx, task) {
359
361
  if (!outDir) {
360
362
  throw new Error("tsconfig.json is missing `compilerOptions.outDir`");
361
363
  }
362
- const tmpPath = path__default["default"].resolve(outDir, "__tmp__");
364
+ const tmpPath = path__default.default.resolve(outDir, "__tmp__");
363
365
  await buildTypes({
364
366
  cwd,
365
367
  outDir: tmpPath,
@@ -370,9 +372,9 @@ async function doExtract(ctx, task) {
370
372
  const results = [];
371
373
  for (const entry of task.entries) {
372
374
  const exportPath = entry.exportPath === "." ? "./index" : entry.exportPath;
373
- const sourceTypesPath = path__default["default"].resolve(tmpPath, path__default["default"].relative(rootDir, path__default["default"].resolve(cwd, entry.sourcePath)).replace(/\.ts$/, ".d.ts"));
374
- const targetPath = path__default["default"].resolve(cwd, entry.targetPath);
375
- const filePath = path__default["default"].relative(outDir, targetPath);
375
+ const sourceTypesPath = path__default.default.resolve(tmpPath, path__default.default.relative(rootDir, path__default.default.resolve(cwd, entry.sourcePath)).replace(/\.ts$/, ".d.ts"));
376
+ const targetPath = path__default.default.resolve(cwd, entry.targetPath);
377
+ const filePath = path__default.default.relative(outDir, targetPath);
376
378
  const result = await extractTypes({
377
379
  customTags: (_a = config == null ? void 0 : config.extract) == null ? void 0 : _a.customTags,
378
380
  cwd,
@@ -384,7 +386,7 @@ async function doExtract(ctx, task) {
384
386
  rules: (_b = config == null ? void 0 : config.extract) == null ? void 0 : _b.rules,
385
387
  sourceTypesPath,
386
388
  tmpPath,
387
- tsconfigPath: path__default["default"].resolve(cwd, ts.configPath || "tsconfig.json")
389
+ tsconfigPath: path__default.default.resolve(cwd, ts.configPath || "tsconfig.json")
388
390
  });
389
391
  messages.push(...result.messages);
390
392
  if (result.messages.some(msg => msg.logLevel === "error")) {
@@ -392,7 +394,7 @@ async function doExtract(ctx, task) {
392
394
  throw new DtsError("encountered errors when extracting types", result.messages);
393
395
  }
394
396
  results.push({
395
- sourcePath: path__default["default"].resolve(cwd, entry.sourcePath),
397
+ sourcePath: path__default.default.resolve(cwd, entry.sourcePath),
396
398
  filePath: targetPath
397
399
  });
398
400
  }
@@ -404,7 +406,7 @@ async function doExtract(ctx, task) {
404
406
  };
405
407
  }
406
408
  const dtsTask = {
407
- name: (_ctx, task) => ["build type definitions", ...task.entries.map(entry => " ".concat(chalk__default["default"].blue(entry.importId), ": ").concat(entry.sourcePath, " -> ").concat(entry.targetPath))].join("\n"),
409
+ name: (_ctx, task) => ["build type definitions", ...task.entries.map(entry => " ".concat(chalk__default.default.blue(entry.importId), ": ").concat(entry.sourcePath, " -> ").concat(entry.targetPath))].join("\n"),
408
410
  exec: (ctx, task) => {
409
411
  return new rxjs.Observable(observer => {
410
412
  doExtract(ctx, task).then(result => {
@@ -430,7 +432,7 @@ const dtsTask = {
430
432
  }
431
433
  };
432
434
  const dtsWatchTask = {
433
- name: (_ctx, task) => ["build type definitions", ...task.entries.map(entry => " ".concat(chalk__default["default"].blue(entry.importId), ": ").concat(entry.sourcePath, " -> ").concat(entry.targetPath))].join("\n"),
435
+ name: (_ctx, task) => ["build type definitions", ...task.entries.map(entry => " ".concat(chalk__default.default.blue(entry.importId), ": ").concat(entry.sourcePath, " -> ").concat(entry.targetPath))].join("\n"),
434
436
  exec: (ctx, task) => {
435
437
  return new rxjs.Observable(observer => {
436
438
  doExtract(ctx, task).then(result => {
@@ -478,49 +480,49 @@ function resolveRollupConfig(ctx, buildTask) {
478
480
  } = ctx;
479
481
  const outputExt = resolveBuildContext.MODULE_EXT[pkg.type][format];
480
482
  const minify = (_ref2 = config == null ? void 0 : config.minify) !== null && _ref2 !== void 0 ? _ref2 : true;
481
- const outDir = path__default["default"].relative(cwd, distPath);
483
+ const outDir = path__default.default.relative(cwd, distPath);
482
484
  const pathAliases = Object.fromEntries(Object.entries(((_a = ts.config) == null ? void 0 : _a.options.paths) || {}).map(_ref3 => {
483
485
  let [key, val] = _ref3;
484
486
  var _a2;
485
- return [key, path__default["default"].resolve(cwd, ((_a2 = ts.config) == null ? void 0 : _a2.options.baseUrl) || ".", val[0])];
487
+ return [key, path__default.default.resolve(cwd, ((_a2 = ts.config) == null ? void 0 : _a2.options.baseUrl) || ".", val[0])];
486
488
  }));
487
489
  const entries = buildTask.entries.map(entry => {
488
490
  return _objectSpread(_objectSpread({}, entry), {}, {
489
- name: path__default["default"].relative(outDir, entry.output).replace(/\.[^/.]+$/, "")
491
+ name: path__default.default.relative(outDir, entry.output).replace(/\.[^/.]+$/, "")
490
492
  });
491
493
  }, {});
492
- const exportIds = _exports && Object.keys(_exports).map(exportPath => path__default["default"].join(pkg.name, exportPath));
493
- const sourcePaths = _exports && Object.values(_exports).map(e => path__default["default"].resolve(cwd, e.source));
494
+ const exportIds = _exports && Object.keys(_exports).map(exportPath => path__default.default.join(pkg.name, exportPath));
495
+ const sourcePaths = _exports && Object.values(_exports).map(e => path__default.default.resolve(cwd, e.source));
494
496
  const replacements = Object.fromEntries(Object.entries((config == null ? void 0 : config.define) || {}).map(_ref4 => {
495
497
  let [key, val] = _ref4;
496
498
  return [key, JSON.stringify(val)];
497
499
  }));
498
- const defaultPlugins = [replace__default["default"]({
500
+ const defaultPlugins = [replace__default.default({
499
501
  preventAssignment: true,
500
502
  values: _objectSpread({}, pkg.name === "@sanity/pkg-utils" ? _objectSpread({}, replacements) : _objectSpread({
501
503
  "process.env.PKG_FILE_PATH": arg => {
502
- const sourcePath = "./" + path__default["default"].relative(cwd, arg);
504
+ const sourcePath = "./" + path__default.default.relative(cwd, arg);
503
505
  const entry = entries.find(e => e.source === sourcePath);
504
506
  if (!entry) {
505
507
  console.error("could not find source entry: ".concat(sourcePath));
506
508
  return "null";
507
509
  }
508
- return JSON.stringify(path__default["default"].relative(cwd, path__default["default"].resolve(outDir, entry.name + outputExt)));
510
+ return JSON.stringify(path__default.default.relative(cwd, path__default.default.resolve(outDir, entry.name + outputExt)));
509
511
  },
510
512
  "process.env.PKG_FORMAT": JSON.stringify(format),
511
513
  "process.env.PKG_RUNTIME": JSON.stringify(runtime),
512
514
  "process.env.PKG_VERSION": JSON.stringify(process.env.PKG_VERSION || pkg.version)
513
515
  }, replacements))
514
- }), alias__default["default"]({
516
+ }), alias__default.default({
515
517
  entries: _objectSpread({}, pathAliases)
516
518
  }), pluginNodeResolve.nodeResolve({
517
519
  browser: runtime === "browser",
518
520
  extensions: [".cjs", ".mjs", ".js", ".jsx", ".json", ".node"],
519
521
  preferBuiltins: true
520
- }), commonjs__default["default"]({
522
+ }), commonjs__default.default({
521
523
  esmExternals: false,
522
524
  extensions: [".js"]
523
- }), json__default["default"](), esbuild__default["default"]({
525
+ }), json__default.default(), esbuild__default.default({
524
526
  jsx: (_ref5 = config == null ? void 0 : config.jsx) !== null && _ref5 !== void 0 ? _ref5 : "automatic",
525
527
  jsxFactory: (_ref6 = config == null ? void 0 : config.jsxFactory) !== null && _ref6 !== void 0 ? _ref6 : "createElement",
526
528
  jsxFragment: (_ref7 = config == null ? void 0 : config.jsxFragment) !== null && _ref7 !== void 0 ? _ref7 : "Fragment",
@@ -533,7 +535,7 @@ function resolveRollupConfig(ctx, buildTask) {
533
535
  presets: [["@babel/preset-env", {
534
536
  targets: pkg.browserslist || resolveBuildContext.DEFAULT_BROWSERSLIST_QUERY
535
537
  }]]
536
- }), minify && terser__default["default"]({
538
+ }), minify && terser__default.default({
537
539
  output: {
538
540
  comments: (_node, comment) => {
539
541
  const text = comment.value;
@@ -555,9 +557,9 @@ function resolveRollupConfig(ctx, buildTask) {
555
557
  return true;
556
558
  }
557
559
  if (importer && (id.startsWith(".") || id.startsWith("/"))) {
558
- const idPath = path__default["default"].resolve(path__default["default"].dirname(importer), id);
560
+ const idPath = path__default.default.resolve(path__default.default.dirname(importer), id);
559
561
  if (sourcePaths == null ? void 0 : sourcePaths.includes(idPath)) {
560
- logger.warn("detected self-referencing import \u2013 treating as external: ".concat(path__default["default"].relative(cwd, idPath)));
562
+ logger.warn("detected self-referencing import \u2013 treating as external: ".concat(path__default.default.relative(cwd, idPath)));
561
563
  return true;
562
564
  }
563
565
  }
@@ -573,11 +575,6 @@ function resolveRollupConfig(ctx, buildTask) {
573
575
  [entry.name]: entry.source
574
576
  });
575
577
  }, {}),
576
- onwarn(warning, rollupWarn) {
577
- if (!warning.code || !["CIRCULAR_DEPENDENCY"].includes(warning.code)) {
578
- rollupWarn(warning);
579
- }
580
- },
581
578
  plugins,
582
579
  treeshake: {
583
580
  propertyReadSideEffects: false
@@ -585,16 +582,19 @@ function resolveRollupConfig(ctx, buildTask) {
585
582
  },
586
583
  outputOptions: {
587
584
  chunkFileNames: () => "_chunks/[name]-[hash]".concat(outputExt),
585
+ compact: minify,
588
586
  dir: outDir,
589
587
  entryFileNames: () => outputExt === ".esm.js" ? "[name].js" : "[name]".concat(outputExt),
588
+ esModule: true,
590
589
  format,
591
- exports: "auto",
590
+ interop: "compat",
591
+ minifyInternalExports: minify,
592
592
  sourcemap: (_ref9 = config == null ? void 0 : config.sourcemap) !== null && _ref9 !== void 0 ? _ref9 : true
593
593
  }
594
594
  };
595
595
  }
596
596
  const rollupTask = {
597
- name: (ctx, task) => "build javascript files (target ".concat(task.target.join(" + "), ", format ").concat(task.format, ")\n ").concat(task.entries.map(e => "".concat(chalk__default["default"].blue(path__default["default"].join(ctx.pkg.name, e.path)), ": ").concat(e.source, " -> ").concat(e.output)).join("\n ")),
597
+ name: (ctx, task) => "build javascript files (target ".concat(task.target.join(" + "), ", format ").concat(task.format, ")\n ").concat(task.entries.map(e => "".concat(chalk__default.default.blue(path__default.default.join(ctx.pkg.name, e.path)), ": ").concat(e.source, " -> ").concat(e.output)).join("\n ")),
598
598
  exec: (ctx, task) => {
599
599
  return new rxjs.Observable(observer => {
600
600
  execPromise(ctx, task).then(result => {
@@ -615,25 +615,42 @@ async function execPromise(ctx, task) {
615
615
  files,
616
616
  distPath
617
617
  } = ctx;
618
- const outDir = path__default["default"].relative(ctx.cwd, distPath);
618
+ const outDir = path__default.default.relative(ctx.cwd, distPath);
619
+ const _console = {
620
+ log: console.log,
621
+ warn: console.warn,
622
+ error: console.error
623
+ };
619
624
  const {
620
625
  inputOptions,
621
626
  outputOptions
622
627
  } = resolveRollupConfig(ctx, task);
623
- const bundle = await rollup.rollup(inputOptions);
628
+ console.log = () => void 0;
629
+ console.warn = () => void 0;
630
+ console.error = () => void 0;
631
+ const bundle = await rollup.rollup(_objectSpread(_objectSpread({}, inputOptions), {}, {
632
+ onwarn(warning) {
633
+ if (!warning.code || !["CIRCULAR_DEPENDENCY"].includes(warning.code)) {
634
+ _console.warn.bind(console)(chalk__default.default.yellow("warn "), warning.message);
635
+ }
636
+ }
637
+ }));
624
638
  const {
625
639
  output
626
640
  } = await bundle.generate(outputOptions);
641
+ console.log = _console.log;
642
+ console.warn = _console.warn;
643
+ console.error = _console.error;
627
644
  for (const chunkOrAsset of output) {
628
645
  if (chunkOrAsset.type === "asset") {
629
646
  files.push({
630
647
  type: "asset",
631
- path: path__default["default"].resolve(outDir, chunkOrAsset.fileName)
648
+ path: path__default.default.resolve(outDir, chunkOrAsset.fileName)
632
649
  });
633
650
  } else {
634
651
  files.push({
635
652
  type: "chunk",
636
- path: path__default["default"].resolve(outDir, chunkOrAsset.fileName)
653
+ path: path__default.default.resolve(outDir, chunkOrAsset.fileName)
637
654
  });
638
655
  }
639
656
  }
@@ -641,7 +658,7 @@ async function execPromise(ctx, task) {
641
658
  await bundle.close();
642
659
  }
643
660
  const rollupWatchTask = {
644
- name: (ctx, task) => "build javascript files (target ".concat(task.target.join(" + "), ", format ").concat(task.format, ")\n ").concat(task.entries.map(e => "".concat(chalk__default["default"].blue(path__default["default"].join(ctx.pkg.name, e.path)), ": ").concat(e.source, " -> ").concat(e.output)).join("\n ")),
661
+ name: (ctx, task) => "build javascript files (target ".concat(task.target.join(" + "), ", format ").concat(task.format, ")\n ").concat(task.entries.map(e => "".concat(chalk__default.default.blue(path__default.default.join(ctx.pkg.name, e.path)), ": ").concat(e.source, " -> ").concat(e.output)).join("\n ")),
645
662
  exec: (ctx, task) => {
646
663
  const {
647
664
  inputOptions,
@@ -665,7 +682,7 @@ const rollupWatchTask = {
665
682
  logger
666
683
  } = ctx;
667
684
  if (event.code === "BUNDLE_END") {
668
- logger.success("build javascript files (target ".concat(task.target.join(" + "), ", format ").concat(task.format, ")\n ").concat(task.entries.map(e => "".concat(chalk__default["default"].blue(path__default["default"].join(ctx.pkg.name, e.path)), ": ").concat(e.source, " -> ").concat(e.output)).join("\n ")));
685
+ logger.success("build javascript files (target ".concat(task.target.join(" + "), ", format ").concat(task.format, ")\n ").concat(task.entries.map(e => "".concat(chalk__default.default.blue(path__default.default.join(ctx.pkg.name, e.path)), ": ").concat(e.source, " -> ").concat(e.output)).join("\n ")));
669
686
  logger.log("");
670
687
  return;
671
688
  }
@@ -707,4 +724,4 @@ exports.getExtractMessagesConfig = getExtractMessagesConfig;
707
724
  exports.rollupTask = rollupTask;
708
725
  exports.rollupWatchTask = rollupWatchTask;
709
726
  exports.watchTaskHandlers = watchTaskHandlers;
710
- //# sourceMappingURL=index-aa5deb01.js.map
727
+ //# sourceMappingURL=index-60a8ccaf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-60a8ccaf.js","sources":["../../src/node/printExtractMessages.ts","../../src/node/tasks/dts/buildTypes.ts","../../src/node/tasks/dts/DtsError.ts","../../src/node/tasks/dts/createApiExtractorConfig.ts","../../src/node/tasks/dts/createTSDocConfig.ts","../../src/node/tasks/dts/extractModuleBlocks.ts","../../src/node/tasks/dts/getExtractMessagesConfig.ts","../../src/node/tasks/dts/extractTypes.ts","../../src/node/tasks/dts/doExtract.ts","../../src/node/tasks/dts/dtsTask.ts","../../src/node/tasks/dts/dtsWatchTask.ts","../../src/node/tasks/rollup/resolveRollupConfig.ts","../../src/node/tasks/rollup/rollupTask.ts","../../src/node/tasks/rollup/rollupWatchTask.ts","../../src/node/tasks/index.ts"],"sourcesContent":["import path from 'path'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport {BuildContext} from './core'\n\nexport function printExtractMessages(ctx: BuildContext, messages: ExtractorMessage[]): void {\n const {cwd, logger} = ctx\n\n const warnings = messages.filter((msg) => msg.logLevel === 'warning')\n\n if (warnings.length) {\n logger.log()\n }\n\n for (const msg of warnings) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n if (msg.messageId === 'TS6307') {\n // Ignore this warning:\n // > TS6307: <filename> is not in project file list.\n // > Projects must list all files or use an 'include' pattern.\n continue\n }\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.yellow('warning')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n const errors: ExtractorMessage[] = messages.filter((msg) => msg.logLevel === 'error')\n\n if (!warnings.length && errors.length) {\n logger.log('')\n }\n\n for (const msg of errors) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.red('error')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n if (errors.length) {\n process.exit(1)\n }\n}\n","/* eslint-disable no-console */\n\nimport ts from 'typescript'\n\nexport const formatHost: ts.FormatDiagnosticsHost = {\n getCurrentDirectory: () => ts.sys.getCurrentDirectory(),\n getNewLine: () => ts.sys.newLine,\n getCanonicalFileName: ts.sys.useCaseSensitiveFileNames ? (f) => f : (f) => f.toLowerCase(),\n}\n\n/** @internal */\nexport async function buildTypes(options: {\n cwd: string\n outDir: string\n tsconfig: ts.ParsedCommandLine\n strict: boolean\n}): Promise<void> {\n const {outDir, tsconfig, strict = false} = options\n\n const compilerOptions: ts.CompilerOptions = {\n ...tsconfig.options,\n declaration: true,\n declarationDir: outDir,\n emitDeclarationOnly: true,\n noEmit: false,\n outDir,\n }\n\n const program = ts.createProgram(tsconfig.fileNames, compilerOptions)\n\n const emitResult = program.emit()\n\n const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics)\n\n // TODO: improve logging\n allDiagnostics.forEach((diagnostic) => {\n if (diagnostic.file && diagnostic.start) {\n const {line, character} = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start)\n const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n')\n\n console.log(`${diagnostic.file.fileName} ${line + 1}:${character + 1}\\n${message}`)\n } else {\n console.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n })\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n console.error(ts.formatDiagnostics(errors, formatHost))\n\n if (strict) {\n throw new Error('failed to compile TypeScript definitions')\n }\n }\n }\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\n\n/** @internal */\nexport class DtsError extends Error {\n messages: ExtractorMessage[]\n\n constructor(message: string, messages: ExtractorMessage[]) {\n super(message)\n this.messages = messages\n }\n}\n","import path from 'path'\nimport {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\n\nexport function createApiExtractorConfig(options: {\n distPath: string\n exportPath: string\n filePath: string\n messages: IExtractorMessagesConfig\n projectFolder: string\n mainEntryPointFilePath: string\n tsconfigPath: string\n}): IConfigFile {\n const {\n distPath,\n exportPath,\n filePath,\n messages,\n projectFolder,\n mainEntryPointFilePath,\n tsconfigPath,\n } = options\n\n return {\n apiReport: {\n enabled: false,\n reportFileName: '<unscopedPackageName>.api.md',\n },\n // bundledPackages: [],\n compiler: {\n tsconfigFilePath: tsconfigPath,\n },\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {readFile} from 'fs/promises'\nimport {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {parse} from 'jsonc-parser'\n\n/** @public */\nexport interface TSDocCustomTag {\n name: string\n syntaxKind: 'block' | 'modifier'\n allowMultiple?: boolean\n}\n\n/** @internal */\nexport async function createTSDocConfig(opts: {\n customTags: TSDocCustomTag[]\n}): Promise<TSDocConfigFile | undefined> {\n const {customTags} = opts\n\n if (customTags.length === 0) {\n return undefined\n }\n\n const tsDocBaseBuf = await readFile(\n require.resolve('@microsoft/api-extractor/extends/tsdoc-base.json')\n )\n\n // Include the definitions that are required for API Extractor\n // extends: ['@microsoft/api-extractor/extends/tsdoc-base.json'],\n const tsDocBaseConfig = parse(tsDocBaseBuf.toString())\n\n // Define custom tags and specify how they should be parsed\n const tagDefinitions = (tsDocBaseConfig.tagDefinitions || []).concat(\n customTags.map((t) => ({\n tagName: `@${t.name}`,\n syntaxKind: t.syntaxKind,\n allowMultiple: t.allowMultiple,\n }))\n )\n\n // Indicate that custom tags are supported by your tooling.\n // (Without this, warnings may be reported saying that a tag is unsupported.)\n const supportForTags = {...tsDocBaseConfig.supportForTags}\n\n for (const customTag of customTags) {\n supportForTags[`@${customTag.name}`] = true\n }\n\n return TSDocConfigFile.loadFromObject({\n ...tsDocBaseConfig,\n noStandardTags: false,\n tagDefinitions,\n supportForTags,\n })\n}\n","import type {File} from '@babel/types'\nimport {ExtractorResult} from '@microsoft/api-extractor'\nimport {parse, print} from 'recast'\nimport typeScriptParser from 'recast/parsers/typescript'\nimport {Program} from 'typescript'\n\n/**\n * A workaround to find all module blocks in extract TS files.\n * @internal\n * */\nexport async function extractModuleBlocksFromTypes({\n tsOutDir,\n extractResult,\n}: {\n tsOutDir: string\n extractResult: ExtractorResult\n}): Promise<string[]> {\n const program = extractResult.compilerState.program as Program\n const moduleBlocks: string[] = []\n\n // all program files, including node_modules\n const allProgramFiles = [...program.getSourceFiles()]\n\n // just our compiled files used in the program\n const sourceFiles = allProgramFiles.filter((sourceFile) => sourceFile.fileName.includes(tsOutDir))\n\n for (const sourceFile of sourceFiles) {\n if (sourceFile.text.includes('declare module')) {\n moduleBlocks.push(...extractModuleBlocks(sourceFile.text))\n }\n }\n\n return moduleBlocks\n}\n\n/** @internal */\nexport function extractModuleBlocks(fileContent: string): string[] {\n const ast = parse(fileContent, {\n parser: typeScriptParser,\n }) as File\n\n return ast.program.body\n .filter((node) => node.type === 'TSModuleDeclaration')\n .map((node) => print(node).code)\n}\n","import {ExtractorLogLevel, IExtractorMessagesConfig} from '@microsoft/api-extractor'\nimport {PkgRuleLevel, PkgConfigOptions} from '../../core'\n\nconst LOG_LEVELS: Record<PkgRuleLevel, ExtractorLogLevel> = {\n error: 'error' as ExtractorLogLevel.Error,\n info: 'info' as ExtractorLogLevel.Info,\n off: 'none' as ExtractorLogLevel.None,\n warn: 'warning' as ExtractorLogLevel.Warning,\n}\n\n/** @internal */\nexport function getExtractMessagesConfig(options: {\n rules: NonNullable<PkgConfigOptions['extract']>['rules']\n}): IExtractorMessagesConfig {\n const {rules} = options\n\n function ruleToLogLevel(\n key: keyof NonNullable<NonNullable<PkgConfigOptions['extract']>['rules']>,\n defaultLevel?: ExtractorLogLevel\n ) {\n const r = rules?.[key]\n\n return (r ? LOG_LEVELS[r] : defaultLevel || 'warning') as ExtractorLogLevel\n }\n\n return {\n compilerMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n },\n },\n\n extractorMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'ae-forgotten-export': {\n logLevel: ruleToLogLevel('ae-forgotten-export', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-incompatible-release-tags': {\n logLevel: ruleToLogLevel('ae-incompatible-release-tags', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-internal-missing-underscore': {\n logLevel: ruleToLogLevel('ae-internal-missing-underscore'),\n addToApiReportFile: false,\n },\n\n 'ae-missing-release-tag': {\n logLevel: ruleToLogLevel('ae-missing-release-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-wrong-input-file-type': {\n logLevel: 'none' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n },\n\n tsdocMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'tsdoc-link-tag-unescaped-text': {\n logLevel: ruleToLogLevel('tsdoc-link-tag-unescaped-text', 'warning' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-undefined-tag': {\n logLevel: ruleToLogLevel('tsdoc-undefined-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-unsupported-tag': {\n logLevel: ruleToLogLevel('tsdoc-unsupported-tag', 'none' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n },\n }\n}\n","import fs from 'fs/promises'\nimport path from 'path'\nimport {\n Extractor,\n ExtractorConfig,\n ExtractorMessage,\n ExtractorResult,\n} from '@microsoft/api-extractor'\nimport mkdirp from 'mkdirp'\nimport prettier from 'prettier'\nimport {PkgConfigOptions, BuildFile} from '../../core'\nimport {createApiExtractorConfig} from './createApiExtractorConfig'\nimport {createTSDocConfig} from './createTSDocConfig'\nimport {extractModuleBlocksFromTypes} from './extractModuleBlocks'\nimport {getExtractMessagesConfig} from './getExtractMessagesConfig'\n\nexport async function extractTypes(options: {\n customTags: NonNullable<PkgConfigOptions['extract']>['customTags']\n cwd: string\n distPath: string\n exportPath: string\n filePath: string\n files: BuildFile[]\n projectPath: string\n rules?: NonNullable<PkgConfigOptions['extract']>['rules']\n sourceTypesPath: string\n tmpPath: string\n tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {\n customTags,\n distPath,\n exportPath,\n files,\n filePath,\n projectPath,\n rules,\n sourceTypesPath,\n tmpPath,\n tsconfigPath,\n } = options\n\n const tsdocConfigFile = await createTSDocConfig({\n customTags: customTags || [],\n })\n\n const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: createApiExtractorConfig({\n distPath,\n exportPath,\n filePath,\n messages: getExtractMessagesConfig({rules}),\n projectFolder: projectPath,\n mainEntryPointFilePath: sourceTypesPath,\n tsconfigPath,\n }),\n configObjectFullPath: undefined,\n tsdocConfigFile,\n packageJsonFullPath: path.resolve(projectPath, 'package.json'),\n })\n\n const messages: ExtractorMessage[] = []\n\n // Invoke API Extractor\n const extractorResult = Extractor.invoke(extractorConfig, {\n // Equivalent to the \"--local\" command-line parameter\n localBuild: true,\n // Equivalent to the \"--verbose\" command-line parameter\n showVerboseMessages: true,\n // handle messages\n messageCallback(message: ExtractorMessage) {\n messages.push(message)\n message.handled = true\n },\n })\n\n const typesPath = path.resolve(distPath, filePath)\n const typesBuf = await fs.readFile(typesPath)\n const prettierConfig = await prettier.resolveConfig(typesPath)\n\n await mkdirp(path.dirname(typesPath))\n\n const moduleBlocks = await extractModuleBlocksFromTypes({\n extractResult: extractorResult,\n tsOutDir: tmpPath,\n })\n\n const code = [typesBuf.toString(), ...moduleBlocks].join('\\n\\n')\n\n await fs.writeFile(\n typesPath,\n prettier.format(code, {\n ...prettierConfig,\n filepath: typesPath,\n })\n )\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: typesPath,\n })\n\n return {extractorResult, messages}\n}\n","import path from 'path'\nimport {promisify} from 'util'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport rimrafCallback from 'rimraf'\nimport {BuildContext} from '../../core'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport {DtsResult, DtsTask, DtsWatchTask} from './types'\n\nconst rimraf = promisify(rimrafCallback)\n\n/**\n * - Build type definitions to a temporary directory using TypeScript compiler.\n * - Create a type definition bundle for each export entry.\n * - When done, remove the temporary directory.\n */\nexport async function doExtract(\n ctx: BuildContext,\n task: DtsTask | DtsWatchTask\n): Promise<DtsResult> {\n const {config, cwd, files, strict, ts} = ctx\n\n if (!ts.config || !ts.configPath) {\n return {type: 'dts', messages: [], results: []}\n }\n\n const {outDir, rootDir = cwd} = ts.config.options\n\n if (!outDir) {\n throw new Error('tsconfig.json is missing `compilerOptions.outDir`')\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n await buildTypes({cwd, outDir: tmpPath, strict, tsconfig: ts.config})\n const messages: ExtractorMessage[] = []\n\n const results: {sourcePath: string; filePath: string}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts')\n )\n\n const targetPath = path.resolve(cwd, entry.targetPath)\n const filePath = path.relative(outDir, targetPath)\n const result = await extractTypes({\n customTags: config?.extract?.customTags,\n cwd,\n distPath: outDir,\n exportPath,\n files,\n filePath: filePath,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tmpPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n\n if (result.messages.some((msg) => msg.logLevel === 'error')) {\n await rimraf(tmpPath)\n\n throw new DtsError('encountered errors when extracting types', result.messages)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePath: targetPath})\n }\n\n await rimraf(tmpPath)\n\n return {type: 'dts', messages, results}\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsTask} from './types'\n\n/** @internal */\nexport const dtsTask: TaskHandler<DtsTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...task.entries.map(\n (entry) =>\n ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => {\n observer.error(err)\n })\n })\n },\n complete: (ctx, _task, result) => {\n printExtractMessages(ctx, result.messages)\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsWatchTask} from './types'\n\n/** @internal */\nexport const dtsWatchTask: TaskHandler<DtsWatchTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...task.entries.map(\n (entry) =>\n ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: (ctx, _task, result) => {\n const {logger} = ctx\n\n printExtractMessages(ctx, result.messages)\n\n logger.warn('watching typescript definitions is currently not supported')\n logger.log()\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import path from 'path'\nimport alias from '@rollup/plugin-alias'\nimport {getBabelOutputPlugin} from '@rollup/plugin-babel'\nimport commonjs from '@rollup/plugin-commonjs'\nimport json from '@rollup/plugin-json'\nimport {nodeResolve} from '@rollup/plugin-node-resolve'\nimport replace from '@rollup/plugin-replace'\nimport terser from '@rollup/plugin-terser'\nimport {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\nimport {\n BuildContext,\n DEFAULT_BROWSERSLIST_QUERY,\n MODULE_EXT,\n resolveConfigProperty,\n} from '../../core'\nimport {RollupTask, RollupWatchTask} from '../types'\n\nexport interface RollupConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\n/** @internal */\nexport function resolveRollupConfig(\n ctx: BuildContext,\n buildTask: RollupTask | RollupWatchTask\n): RollupConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, external, distPath, logger, pkg, ts} = ctx\n const outputExt = MODULE_EXT[pkg.type][format]\n const minify = config?.minify ?? true\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n })\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)])\n )\n\n const defaultPlugins = [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FILE_PATH': (arg) => {\n const sourcePath = './' + path.relative(cwd, arg)\n const entry = entries.find((e) => e.source === sourcePath)\n\n if (!entry) {\n // eslint-disable-next-line no-console\n console.error(`could not find source entry: ${sourcePath}`)\n\n return 'null'\n }\n\n return JSON.stringify(\n path.relative(cwd, path.resolve(outDir, entry.name + outputExt))\n )\n },\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env.PKG_VERSION || pkg.version),\n ...replacements,\n }),\n },\n }),\n alias({\n entries: {...pathAliases},\n }),\n nodeResolve({\n // mainFields: ['module', 'jsnext', 'main'],\n browser: runtime === 'browser',\n // exportConditions: [runtime === 'node' ? 'node' : 'browser'],\n extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],\n preferBuiltins: true, // runtime === 'node',\n }),\n commonjs({\n esmExternals: false,\n extensions: ['.js'],\n // include: /\\/node_modules\\//,\n // requireReturnsDefault: 'namespace',\n }),\n json(),\n esbuild({\n jsx: config?.jsx ?? 'automatic',\n jsxFactory: config?.jsxFactory ?? 'createElement',\n jsxFragment: config?.jsxFragment ?? 'Fragment',\n jsxImportSource: config?.jsxImportSource ?? 'react',\n target,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n }),\n getBabelOutputPlugin({\n babelrc: false,\n plugins: ['@babel/plugin-proposal-object-rest-spread'],\n presets: [['@babel/preset-env', {targets: pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY}]],\n }),\n minify &&\n terser({\n output: {\n comments: (_node, comment) => {\n const text = comment.value\n const type = comment.type\n\n // Check if this is a multiline comment\n if (type == 'comment2') {\n // Keep licensing comments\n return /@preserve|@license|@cc_on/i.test(text)\n }\n\n return false\n },\n },\n }),\n ].filter(Boolean) as Plugin[]\n\n const userPlugins = config?.rollup?.plugins\n\n const plugins = Array.isArray(userPlugins)\n ? defaultPlugins.concat(userPlugins)\n : resolveConfigProperty(config?.rollup?.plugins, defaultPlugins)\n\n return {\n inputOptions: {\n context: cwd,\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath\n )}`\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>((acc, entry) => {\n return {...acc, [entry.name]: entry.source}\n }, {}),\n\n plugins,\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => `_chunks/[name]-[hash]${outputExt}`,\n compact: minify,\n dir: outDir,\n entryFileNames: () => (outputExt === '.esm.js' ? `[name].js` : `[name]${outputExt}`),\n esModule: true,\n format,\n interop: 'compat',\n minifyInternalExports: minify,\n sourcemap: config?.sourcemap ?? true,\n },\n }\n}\n","/* eslint-disable no-console */\n\nimport path from 'path'\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {BuildContext} from '../../core'\nimport {RollupTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupTask: TaskHandler<RollupTask> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n if (err instanceof Error) {\n console.log(err)\n }\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupTask) {\n const {files, distPath} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n const _console = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n console.log = () => undefined\n console.warn = () => undefined\n console.error = () => undefined\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n if (!warning.code || !['CIRCULAR_DEPENDENCY'].includes(warning.code)) {\n // rollupWarn(warning)\n _console.warn.bind(console)(chalk.yellow('warn '), warning.message)\n }\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n console.log = _console.log\n console.warn = _console.warn\n console.error = _console.error\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {RollupWatcherEvent, RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {RollupWatchTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupWatchTask: TaskHandler<RollupWatchTask, RollupWatcherEvent> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n return new Observable((observer) => {\n const watchOptions: RollupWatchOptions = {\n ...inputOptions,\n output: outputOptions,\n }\n\n const watcher = rollupWatch(watchOptions)\n\n watcher.on('event', (event) => {\n observer.next(event)\n })\n\n return () => {\n watcher.close()\n }\n })\n },\n complete: (ctx, task, event) => {\n const {logger} = ctx\n\n if (event.code === 'BUNDLE_END') {\n logger.success(\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`\n )\n logger.log('')\n\n return\n }\n\n if (event.code === 'BUNDLE_START') {\n return\n }\n\n if (event.code === 'END') {\n return\n }\n\n if (event.code === 'ERROR') {\n // logger.log('')\n logger.error(event.code, event)\n\n return\n }\n\n if (event.code === 'START') {\n return\n }\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof Error) {\n logger.log(err)\n }\n },\n}\n","import {dtsTask, dtsWatchTask} from './dts'\nimport {rollupTask, rollupWatchTask} from './rollup'\nimport {BuildTaskHandlers, WatchTaskHandlers} from './types'\n\nexport * from './types'\nexport * from './dts'\nexport * from './rollup'\n\n/** @internal */\nexport const buildTaskHandlers: BuildTaskHandlers = {\n 'build:dts': dtsTask,\n 'build:js': rollupTask,\n}\n\n/** @internal */\nexport const watchTaskHandlers: WatchTaskHandlers = {\n 'watch:dts': dtsWatchTask,\n 'watch:js': rollupWatchTask,\n}\n"],"names":["printExtractMessages","ctx","messages","cwd","logger","warnings","filter","msg","logLevel","length","log","sourceFilePath","path","relative","messageId","chalk","cyan","yellow","sourceFileLine","default","sourceFileColumn","gray","text","join","errors","red","process","exit","formatHost","getCurrentDirectory","ts","sys","getNewLine","newLine","getCanonicalFileName","useCaseSensitiveFileNames","f","toLowerCase","buildTypes","options","outDir","tsconfig","strict","compilerOptions","declaration","declarationDir","emitDeclarationOnly","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","concat","diagnostics","forEach","diagnostic","file","start","line","character","getLineAndCharacterOfPosition","message","flattenDiagnosticMessageText","messageText","console","fileName","emitSkipped","diag","category","DiagnosticCategory","Error","error","formatDiagnostics","DtsError","constructor","createApiExtractorConfig","distPath","exportPath","filePath","projectFolder","mainEntryPointFilePath","tsconfigPath","apiReport","enabled","reportFileName","compiler","tsconfigFilePath","docModel","apiJsonFilePath","resolve","dtsRollup","untrimmedFilePath","tsdocMetadata","createTSDocConfig","opts","customTags","tsDocBaseBuf","readFile","require","tsDocBaseConfig","parse","toString","tagDefinitions","map","t","tagName","name","syntaxKind","allowMultiple","supportForTags","customTag","TSDocConfigFile","loadFromObject","noStandardTags","extractModuleBlocksFromTypes","tsOutDir","extractResult","compilerState","moduleBlocks","allProgramFiles","getSourceFiles","sourceFiles","sourceFile","includes","push","extractModuleBlocks","fileContent","ast","parser","typeScriptParser","body","node","type","print","code","LOG_LEVELS","info","off","warn","getExtractMessagesConfig","rules","ruleToLogLevel","key","defaultLevel","r","compilerMessageReporting","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","extractTypes","files","projectPath","sourceTypesPath","tmpPath","tsdocConfigFile","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","handled","typesPath","typesBuf","fs","prettierConfig","prettier","resolveConfig","mkdirp","dirname","writeFile","format","filepath","rimraf","promisify","rimrafCallback","doExtract","task","_a","_b","config","configPath","results","rootDir","entry","entries","sourcePath","replace","targetPath","result","extract","some","dtsTask","_ctx","blue","importId","exec","Observable","observer","then","next","complete","catch","err","_task","dtsWatchTask","resolveRollupConfig","buildTask","_c","runtime","target","exports","_exports","external","pkg","outputExt","MODULE_EXT","minify","pathAliases","Object","fromEntries","paths","val","baseUrl","output","exportIds","keys","sourcePaths","values","e","source","replacements","define","JSON","stringify","defaultPlugins","preventAssignment","arg","find","env","PKG_VERSION","version","alias","nodeResolve","browser","extensions","preferBuiltins","commonjs","esmExternals","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","plugins","presets","targets","browserslist","DEFAULT_BROWSERSLIST_QUERY","terser","comments","_node","comment","value","test","Boolean","userPlugins","rollup","Array","isArray","resolveConfigProperty","inputOptions","context","id","importer","startsWith","idPath","idParts","split","input","reduce","acc","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","compact","dir","entryFileNames","esModule","interop","minifyInternalExports","sourcemap","rollupTask","execPromise","_console","bundle","onwarn","warning","bind","generate","chunkOrAsset","write","close","rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","buildTaskHandlers","watchTaskHandlers"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKgB,SAAAA,oBAAA,CAAqBC,KAAmBC,QAAoC,EAAA;EACpF,MAAA;IAACC,GAAK;IAAAC;EAAU,CAAA,GAAAH,GAAA;EAEtB,MAAMI,WAAWH,QAAS,CAAAI,MAAA,CAAQC,GAAQ,IAAAA,GAAA,CAAIC,aAAa,SAAS,CAAA;EAEpE,IAAIH,SAASI,MAAQ,EAAA;IACnBL,MAAA,CAAOM,GAAI,EAAA;EACb;EAEA,KAAA,MAAWH,OAAOF,QAAU,EAAA;IAC1B,MAAMM,iBAAiBJ,GAAI,CAAAI,cAAA,IAAkBC,aAAAA,CAAAA,QAAKC,QAAS,CAAAV,GAAA,EAAKI,IAAII,cAAc,CAAA;IAE9E,IAAAJ,GAAA,CAAIO,cAAc,QAAU,EAAA;MAI9B;IACF;IAEOV,MAAA,CAAAM,GAAA,CACL,WACKK,cAAAA,CAAAA,OAAA,CAAMC,IAAK,CAAAL,cAAA,IAAkB,GAAG,CAAA,cAC/BI,cAAAA,CAAAA,QAAME,MAAO,CAAAV,GAAA,CAAIW,cAAc,CAAK,cAAAH,cAAA,CAAAI,OAAA,CAAMF,MAAO,CAAAV,GAAA,CAAIa,gBAAgB,CAAA,gBACnEL,cAAAA,CAAAA,QAAME,MAAO,CAAA,SAAS,eAAKF,cAAAA,CAAAA,OAAM,CAAAM,IAAA,CAAKd,IAAIO,SAAS,CAAA,SACzDP,GAAI,CAAAe,IAAA,EACJ,IAAA,CACF,CAAEC,KAAK,EAAE,CAAA,CACX;EACF;EAEA,MAAMC,SAA6BtB,QAAS,CAAAI,MAAA,CAAQC,GAAQ,IAAAA,GAAA,CAAIC,aAAa,OAAO,CAAA;EAEpF,IAAI,CAACH,QAAA,CAASI,MAAU,IAAAe,MAAA,CAAOf,MAAQ,EAAA;IACrCL,MAAA,CAAOM,IAAI,EAAE,CAAA;EACf;EAEA,KAAA,MAAWH,OAAOiB,MAAQ,EAAA;IACxB,MAAMb,iBAAiBJ,GAAI,CAAAI,cAAA,IAAkBC,aAAAA,CAAAA,QAAKC,QAAS,CAAAV,GAAA,EAAKI,IAAII,cAAc,CAAA;IAE3EP,MAAA,CAAAM,GAAA,CACL,WACKK,cAAAA,CAAAA,OAAA,CAAMC,IAAK,CAAAL,cAAA,IAAkB,GAAG,CAAA,cAC/BI,cAAAA,CAAAA,QAAME,MAAO,CAAAV,GAAA,CAAIW,cAAc,CAAK,cAAAH,cAAA,CAAAI,OAAA,CAAMF,MAAO,CAAAV,GAAA,CAAIa,gBAAgB,CAAA,gBACnEL,cAAAA,CAAAA,QAAMU,GAAI,CAAA,OAAO,eAAKV,cAAAA,CAAAA,OAAM,CAAAM,IAAA,CAAKd,IAAIO,SAAS,CAAA,SACpDP,GAAI,CAAAe,IAAA,EACJ,IAAA,CACF,CAAEC,KAAK,EAAE,CAAA,CACX;EACF;EAEA,IAAIC,OAAOf,MAAQ,EAAA;IACjBiB,OAAA,CAAQC,KAAK,CAAC,CAAA;EAChB;AACF;ACtDO,MAAMC,UAAuC,GAAA;EAClDC,mBAAqB,EAAA,MAAMC,WAAAA,CAAAA,OAAG,CAAAC,GAAA,CAAIF,mBAAoB,EAAA;EACtDG,UAAA,EAAY,MAAMF,mBAAA,CAAGC,GAAI,CAAAE,OAAA;EACzBC,oBAAA,EAAsBJ,WAAAA,CAAAA,OAAG,CAAAC,GAAA,CAAII,yBAA4B,GAACC,KAAMA,CAAI,GAACA,CAAM,IAAAA,CAAA,CAAEC,WAAY;AAC3F,CAAA;AAGA,eAAsBC,WAAWC,OAKf,EAAA;EAChB,MAAM;IAACC,MAAA;IAAQC,QAAU;IAAAC,MAAA,GAAS;GAAS,GAAAH,OAAA;EAE3C,MAAMI,eAAsC,mCACvCF,QAAS,CAAAF,OAAA;IACZK,WAAa,EAAA,IAAA;IACbC,cAAgB,EAAAL,MAAA;IAChBM,mBAAqB,EAAA,IAAA;IACrBC,MAAQ,EAAA,KAAA;IACRP;EAAA,EACF;EAEA,MAAMQ,OAAU,GAAAlB,WAAAA,CAAAA,OAAA,CAAGmB,aAAc,CAAAR,QAAA,CAASS,WAAWP,eAAe,CAAA;EAE9D,MAAAQ,UAAA,GAAaH,QAAQI,IAAK,EAAA;EAEhC,MAAMC,iBAAiBvB,WAAG,CAAAX,OAAA,CAAAmC,qBAAA,CAAsBN,OAAO,CAAE,CAAAO,MAAA,CAAOJ,WAAWK,WAAW,CAAA;EAGvEH,cAAA,CAAAI,OAAA,CAASC,UAAe,IAAA;IACjC,IAAAA,UAAA,CAAWC,IAAQ,IAAAD,UAAA,CAAWE,KAAO,EAAA;MACjC,MAAA;QAACC;QAAMC;MAAS,CAAA,GAAIhC,oBAAGiC,6BAA8B,CAAAL,UAAA,CAAWC,IAAM,EAAAD,UAAA,CAAWE,KAAK,CAAA;MAC5F,MAAMI,OAAU,GAAAlC,WAAAA,CAAAA,OAAA,CAAGmC,4BAA6B,CAAAP,UAAA,CAAWQ,aAAa,IAAI,CAAA;MAE5EC,OAAA,CAAQzD,cAAOgD,UAAA,CAAWC,KAAKS,QAAY,cAAAP,IAAA,GAAO,eAAKC,SAAY,GAAA,CAAA,eAAME,OAAS,EAAA;IAAA,CAC7E,MAAA;MACLG,OAAA,CAAQzD,IAAIoB,mBAAG,CAAAmC,4BAAA,CAA6BP,UAAW,CAAAQ,WAAA,EAAa,IAAI,CAAC,CAAA;IAC3E;EAAA,CACD,CAAA;EAED,IAAIf,WAAWkB,WAAa,EAAA;IACpB,MAAA7C,MAAA,GAAS6B,eAAe/C,MAAO,CAACgE,QAASA,IAAK,CAAAC,QAAA,KAAazC,WAAG,CAAAX,OAAA,CAAAqD,kBAAA,CAAmBC,KAAK,CAAA;IAE5F,IAAIjD,OAAOf,MAAQ,EAAA;MACjB0D,OAAA,CAAQO,KAAM,CAAA5C,WAAA,CAAAX,OAAA,CAAGwD,iBAAkB,CAAAnD,MAAA,EAAQI,UAAU,CAAC,CAAA;MAEtD,IAAIc,MAAQ,EAAA;QACJ,MAAA,IAAI+B,MAAM,0CAA0C,CAAA;MAC5D;IACF;EACF;AACF;ACtDO,MAAMG,iBAAiBH,KAAM,CAAA;EAGlCI,WAAA,CAAYb,SAAiB9D,QAA8B,EAAA;IACzD,KAAA,CAAM8D,OAAO,CAAA;IACb,IAAA,CAAK9D,QAAW,GAAAA,QAAA;EAClB;AACF;ACPO,SAAS4E,yBAAyBvC,OAQzB,EAAA;EACR,MAAA;IACJwC,QAAA;IACAC,UAAA;IACAC,QAAA;IACA/E,QAAA;IACAgF,aAAA;IACAC,sBAAA;IACAC;EACE,CAAA,GAAA7C,OAAA;EAEG,OAAA;IACL8C,SAAW,EAAA;MACTC,OAAS,EAAA,KAAA;MACTC,cAAgB,EAAA;IAClB,CAAA;IAEAC,QAAU,EAAA;MACRC,gBAAkB,EAAAL;IACpB,CAAA;IACAM,QAAU,EAAA;MACRJ,OAAS,EAAA,KAAA;MACTK,eAAiB,EAAA/E,aAAA,CAAAO,OAAA,CAAKyE,OAAQ,CAAAb,QAAA,YAAaC,UAAqB;IAClE,CAAA;IACAa,SAAW,EAAA;MACTP,OAAS,EAAA,IAAA;MACTQ,iBAAmB,EAAAlF,aAAA,CAAAO,OAAA,CAAKyE,OAAQ,CAAAb,QAAA,EAAUE,QAAQ;IAGpD,CAAA;IACAc,aAAe,EAAA;MACbT,OAAS,EAAA;IACX,CAAA;IACApF,QAAA;IACAiF,sBAAA;IACAD;EAAA,CACF;AACF;ACpCA,eAAsBc,kBAAkBC,IAEC,EAAA;EACjC,MAAA;IAACC;EAAc,CAAA,GAAAD,IAAA;EAEjB,IAAAC,UAAA,CAAWzF,WAAW,CAAG,EAAA;IACpB,OAAA,KAAA,CAAA;EACT;EAEA,MAAM0F,eAAe,MAAMC,EAAA,CAAAA,QAAA,CACzBC,OAAA,CAAQT,QAAQ,kDAAkD,CAAA,CACpE;EAIA,MAAMU,eAAkB,GAAAC,WAAA,CAAAA,KAAA,CAAMJ,YAAa,CAAAK,QAAA,EAAU,CAAA;EAGrD,MAAMC,cAAkB,GAAA,CAAAH,eAAA,CAAgBG,cAAkB,IAAA,EAAI,EAAAlD,MAAA,CAC5D2C,UAAA,CAAWQ,GAAI,CAACC,CAAO,KAAA;IACrBC,OAAA,aAAaD,CAAE,CAAAE,IAAA,CAAA;IACfC,YAAYH,CAAE,CAAAG,UAAA;IACdC,eAAeJ,CAAE,CAAAI;EAAA,CACjB,CAAA,CAAA,CACJ;EAIA,MAAMC,cAAiB,qBAAIV,eAAA,CAAgBU,cAAc,CAAA;EAEzD,KAAA,MAAWC,aAAaf,UAAY,EAAA;IACnBc,cAAA,YAAIC,UAAUJ,IAAU,EAAA,GAAA,IAAA;EACzC;EAEA,OAAOK,WAAAA,CAAAA,gBAAgBC,cAAe,iCACjCb,eAAA;IACHc,cAAgB,EAAA,KAAA;IAChBX,cAAA;IACAO;EAAA,GACD;AACH;AC1CA,eAAsBK,4BAA6B,OAM7B;EAAA,IAN6B;IACjDC,QAAA;IACAC;EACF,CAGsB;EACd,MAAAvE,OAAA,GAAUuE,cAAcC,aAAc,CAAAxE,OAAA;EAC5C,MAAMyE,eAAyB,EAAC;EAGhC,MAAMC,eAAkB,GAAA,CAAC,GAAG1E,OAAA,CAAQ2E,gBAAgB,CAAA;EAG9C,MAAAC,WAAA,GAAcF,gBAAgBpH,MAAO,CAACuH,cAAeA,UAAW,CAAAzD,QAAA,CAAS0D,QAAS,CAAAR,QAAQ,CAAC,CAAA;EAEjG,KAAA,MAAWO,cAAcD,WAAa,EAAA;IACpC,IAAIC,UAAW,CAAAvG,IAAA,CAAKwG,QAAS,CAAA,gBAAgB,CAAG,EAAA;MAC9CL,YAAA,CAAaM,IAAK,CAAA,GAAGC,mBAAoB,CAAAH,UAAA,CAAWvG,IAAI,CAAC,CAAA;IAC3D;EACF;EAEO,OAAAmG,YAAA;AACT;AAGO,SAASO,oBAAoBC,WAA+B,EAAA;EAC3D,MAAAC,GAAA,GAAM3B,aAAM0B,WAAa,EAAA;IAC7BE,MAAQ,EAAAC,yBAAA,CAAAjH;EAAA,CACT,CAAA;EAED,OAAO+G,IAAIlF,OAAQ,CAAAqF,IAAA,CAChB/H,MAAO,CAACgI,QAASA,IAAK,CAAAC,IAAA,KAAS,qBAAqB,CAAA,CACpD7B,IAAK4B,IAAA,IAASE,MAAM,CAAAA,KAAA,CAAAF,IAAI,EAAEG,IAAI,CAAA;AACnC;ACzCA,MAAMC,UAAsD,GAAA;EAC1DhE,KAAO,EAAA,OAAA;EACPiE,IAAM,EAAA,MAAA;EACNC,GAAK,EAAA,MAAA;EACLC,IAAM,EAAA;AACR,CAAA;AAGO,SAASC,yBAAyBvG,OAEZ,EAAA;EACrB,MAAA;IAACwG;EAAS,CAAA,GAAAxG,OAAA;EAEP,SAAAyG,cAAA,CACPC,KACAC,YACA,EAAA;IACA,MAAMC,IAAIJ,KAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,KAAA,CAAAE,GAAA,CAAA;IAEV,OAAAE,CAAA,GAAIT,UAAW,CAAAS,CAAA,CAAA,GAAKD,YAAgB,IAAA,SAAA;EAC9C;EAEO,OAAA;IACLE,wBAA0B,EAAA;MACxBjI,OAAS,EAAA;QACPX,QAAU,EAAA;MACZ;IACF,CAAA;IAEA6I,yBAA2B,EAAA;MACzBlI,OAAS,EAAA;QACPX,QAAU,EAAA,SAAA;QACV8I,kBAAoB,EAAA;MACtB,CAAA;MAEA,qBAAuB,EAAA;QACrB9I,QAAA,EAAUwI,cAAe,CAAA,qBAAA,EAAuB,OAA4B,CAAA;QAC5EM,kBAAoB,EAAA;MACtB,CAAA;MAEA,8BAAgC,EAAA;QAC9B9I,QAAA,EAAUwI,cAAe,CAAA,8BAAA,EAAgC,OAA4B,CAAA;QACrFM,kBAAoB,EAAA;MACtB,CAAA;MAEA,gCAAkC,EAAA;QAChC9I,QAAA,EAAUwI,eAAe,gCAAgC,CAAA;QACzDM,kBAAoB,EAAA;MACtB,CAAA;MAEA,wBAA0B,EAAA;QACxB9I,QAAA,EAAUwI,cAAe,CAAA,wBAAA,EAA0B,OAA4B,CAAA;QAC/EM,kBAAoB,EAAA;MACtB,CAAA;MAEA,0BAA4B,EAAA;QAC1B9I,QAAU,EAAA,MAAA;QACV8I,kBAAoB,EAAA;MACtB;IACF,CAAA;IAEAC,qBAAuB,EAAA;MACrBpI,OAAS,EAAA;QACPX,QAAU,EAAA,SAAA;QACV8I,kBAAoB,EAAA;MACtB,CAAA;MAEA,+BAAiC,EAAA;QAC/B9I,QAAA,EAAUwI,cAAe,CAAA,+BAAA,EAAiC,SAA8B,CAAA;QACxFM,kBAAoB,EAAA;MACtB,CAAA;MAEA,qBAAuB,EAAA;QACrB9I,QAAA,EAAUwI,cAAe,CAAA,qBAAA,EAAuB,OAA4B,CAAA;QAC5EM,kBAAoB,EAAA;MACtB,CAAA;MAEA,uBAAyB,EAAA;QACvB9I,QAAA,EAAUwI,cAAe,CAAA,uBAAA,EAAyB,MAA2B,CAAA;QAC7EM,kBAAoB,EAAA;MACtB;IACF;EAAA,CACF;AACF;ACtEA,eAAsBE,aAAajH,OAY2C,EAAA;EACtE,MAAA;IACJ2D,UAAA;IACAnB,QAAA;IACAC,UAAA;IACAyE,KAAA;IACAxE,QAAA;IACAyE,WAAA;IACAX,KAAA;IACAY,eAAA;IACAC,OAAA;IACAxE;EACE,CAAA,GAAA7C,OAAA;EAEE,MAAAsH,eAAA,GAAkB,MAAM7D,iBAAkB,CAAA;IAC9CE,UAAA,EAAYA,cAAc;EAAC,CAC5B,CAAA;EAEK,MAAA4D,eAAA,GAAmCC,6BAAgBC,OAAQ,CAAA;IAC/DC,cAAcnF,wBAAyB,CAAA;MACrCC,QAAA;MACAC,UAAA;MACAC,QAAA;MACA/E,QAAU,EAAA4I,wBAAA,CAAyB;QAACC;OAAM,CAAA;MAC1C7D,aAAe,EAAAwE,WAAA;MACfvE,sBAAwB,EAAAwE,eAAA;MACxBvE;IAAA,CACD,CAAA;IACD8E,oBAAsB,EAAA,KAAA,CAAA;IACtBL,eAAA;IACAM,mBAAqB,EAAAvJ,aAAA,CAAAO,OAAA,CAAKyE,OAAQ,CAAA8D,WAAA,EAAa,cAAc;EAAA,CAC9D,CAAA;EAED,MAAMxJ,WAA+B,EAAC;EAGhC,MAAAkK,eAAA,GAAkBC,YAAAA,CAAAA,SAAU,CAAAC,MAAA,CAAOR,eAAiB,EAAA;IAExDS,UAAY,EAAA,IAAA;IAEZC,mBAAqB,EAAA,IAAA;IAErBC,gBAAgBzG,OAA2B,EAAA;MACzC9D,QAAA,CAAS6H,KAAK/D,OAAO,CAAA;MACrBA,OAAA,CAAQ0G,OAAU,GAAA,IAAA;IACpB;EAAA,CACD,CAAA;EAED,MAAMC,SAAY,GAAA/J,aAAA,CAAAO,OAAA,CAAKyE,OAAQ,CAAAb,QAAA,EAAUE,QAAQ,CAAA;EACjD,MAAM2F,QAAW,GAAA,MAAMC,WAAAA,CAAAA,OAAG,CAAAzE,QAAA,CAASuE,SAAS,CAAA;EAC5C,MAAMG,cAAiB,GAAA,MAAMC,iBAAAA,CAAAA,OAAS,CAAAC,aAAA,CAAcL,SAAS,CAAA;EAE7D,MAAMM,eAAO,CAAA9J,OAAA,CAAAP,aAAA,CAAAO,OAAA,CAAK+J,OAAQ,CAAAP,SAAS,CAAC,CAAA;EAE9B,MAAAlD,YAAA,GAAe,MAAMJ,4BAA6B,CAAA;IACtDE,aAAe,EAAA6C,eAAA;IACf9C,QAAU,EAAAsC;EAAA,CACX,CAAA;EAEK,MAAAnB,IAAA,GAAO,CAACmC,QAAS,CAAApE,QAAA,IAAY,GAAGiB,YAAY,CAAE,CAAAlG,IAAA,CAAK,MAAM,CAAA;EAE/D,MAAMsJ,WAAG,CAAA1J,OAAA,CAAAgK,SAAA,CACPR,SAAA,EACAI,iBAAA,CAAA5J,OAAA,CAASiK,OAAO3C,IAAM,kCACjBqC,cAAA;IACHO,QAAU,EAAAV;EAAA,GACX,CACH;EAGAlB,KAAA,CAAM1B,IAAK,CAAA;IACTQ,IAAM,EAAA,OAAA;IACN3H,IAAM,EAAA+J;EAAA,CACP,CAAA;EAEM,OAAA;IAACP;IAAiBlK;GAAQ;AACnC;AC9FA,MAAMoL,MAAA,GAASC,IAAAA,CAAAA,UAAUC,uBAAAA,CAAAA,OAAc,CAAA;AAOjB,eAAAC,SAAA,CACpBxL,KACAyL,IACoB,EAAA;EApBtB,IAAAC,EAAA,EAAAC,EAAA;EAqBE,MAAM;IAACC,MAAQ;IAAA1L,GAAA;IAAKsJ,KAAO;IAAA/G,MAAA;IAAQZ;EAAM,CAAA,GAAA7B,GAAA;EAEzC,IAAI,CAAC6B,EAAA,CAAG+J,MAAU,IAAA,CAAC/J,GAAGgK,UAAY,EAAA;IACzB,OAAA;MAACvD,MAAM,KAAO;MAAArI,QAAA,EAAU,EAAI;MAAA6L,OAAA,EAAS;KAAE;EAChD;EAEA,MAAM;IAACvJ,MAAQ;IAAAwJ,OAAA,GAAU7L;EAAG,CAAA,GAAI2B,GAAG+J,MAAO,CAAAtJ,OAAA;EAE1C,IAAI,CAACC,MAAQ,EAAA;IACL,MAAA,IAAIiC,MAAM,mDAAmD,CAAA;EACrE;EAEA,MAAMmF,OAAU,GAAAhJ,aAAA,CAAAO,OAAA,CAAKyE,OAAQ,CAAApD,MAAA,EAAQ,SAAS,CAAA;EAExC,MAAAF,UAAA,CAAW;IAACnC,GAAK;IAAAqC,MAAA,EAAQoH;IAASlH,MAAQ;IAAAD,QAAA,EAAUX,EAAG,CAAA+J;EAAA,CAAO,CAAA;EACpE,MAAM3L,WAA+B,EAAC;EAEtC,MAAM6L,UAAoD,EAAC;EAEhD,KAAA,MAAAE,KAAA,IAASP,KAAKQ,OAAS,EAAA;IAChC,MAAMlH,UAAa,GAAAiH,KAAA,CAAMjH,UAAe,KAAA,GAAA,GAAM,YAAYiH,KAAM,CAAAjH,UAAA;IAEhE,MAAM2E,kBAAkB/I,aAAAA,CAAAA,OAAK,CAAAgF,OAAA,CAC3BgE,OAAA,EACAhJ,aAAAA,CAAAA,OAAK,CAAAC,QAAA,CAASmL,OAAS,EAAApL,aAAAA,CAAAA,OAAA,CAAKgF,OAAQ,CAAAzF,GAAA,EAAK8L,KAAM,CAAAE,UAAU,CAAC,CAAA,CAAEC,OAAQ,CAAA,OAAA,EAAS,OAAO,CAAA,CACtF;IAEA,MAAMC,UAAa,GAAAzL,aAAAA,CAAAA,OAAA,CAAKgF,OAAQ,CAAAzF,GAAA,EAAK8L,MAAMI,UAAU,CAAA;IACrD,MAAMpH,QAAW,GAAArE,aAAA,CAAAO,OAAA,CAAKN,QAAS,CAAA2B,MAAA,EAAQ6J,UAAU,CAAA;IAC3C,MAAAC,MAAA,GAAS,MAAM9C,YAAa,CAAA;MAChCtD,UAAA,EAAA,CAAYyF,EAAQ,GAAAE,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAAU,OAAA,KAAR,IAAiB,GAAA,KAAA,CAAA,GAAAZ,EAAA,CAAAzF,UAAA;MAC7B/F,GAAA;MACA4E,QAAU,EAAAvC,MAAA;MACVwC,UAAA;MACAyE,KAAA;MACAxE,QAAA;MACAyE,WAAa,EAAAvJ,GAAA;MACb4I,KAAA,EAAA,CAAO6C,EAAQ,GAAAC,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAAU,OAAA,KAAR,IAAiB,GAAA,KAAA,CAAA,GAAAX,EAAA,CAAA7C,KAAA;MACxBY,eAAA;MACAC,OAAA;MACAxE,cAAcxE,aAAK,CAAAO,OAAA,CAAAyE,OAAA,CAAQzF,GAAK,EAAA2B,EAAA,CAAGgK,cAAc,eAAe;IAAA,CACjE,CAAA;IAEQ5L,QAAA,CAAA6H,IAAA,CAAK,GAAGuE,MAAA,CAAOpM,QAAQ,CAAA;IAE5B,IAAAoM,MAAA,CAAOpM,SAASsM,IAAK,CAACjM,OAAQA,GAAI,CAAAC,QAAA,KAAa,OAAO,CAAG,EAAA;MAC3D,MAAM8K,OAAO1B,OAAO,CAAA;MAEpB,MAAM,IAAIhF,QAAA,CAAS,0CAA4C,EAAA0H,MAAA,CAAOpM,QAAQ,CAAA;IAChF;IAEQ6L,OAAA,CAAAhE,IAAA,CAAK;MAACoE,UAAA,EAAYvL,aAAK,CAAAO,OAAA,CAAAyE,OAAA,CAAQzF,GAAK,EAAA8L,KAAA,CAAME,UAAU,CAAA;MAAGlH,QAAU,EAAAoH;IAAW,CAAA,CAAA;EACtF;EAEA,MAAMf,OAAO1B,OAAO,CAAA;EAEpB,OAAO;IAACrB,IAAA,EAAM,KAAO;IAAArI,QAAA;IAAU6L;EAAO,CAAA;AACxC;ACrEO,MAAMU,OAA2C,GAAA;EACtD5F,IAAA,EAAM,CAAC6F,IAAA,EAAMhB,IACX,KAAA,2BAEE,GAAGA,KAAKQ,OAAQ,CAAAxF,GAAA,CACbuF,KACC,qBAAUlL,cAAAA,CAAAA,OAAM,CAAA4L,IAAA,CAAKV,MAAMW,QAAQ,CAAA,eAAMX,KAAM,CAAAE,UAAA,iBAAiBF,KAAM,CAAAI,UAAA,CAAA,CAC1E,CACF,CAAE9K,KAAK,IAAI,CAAA;EACbsL,IAAA,EAAM,CAAC5M,GAAA,EAAKyL,IAAS,KAAA;IACZ,OAAA,IAAIoB,IAAAA,CAAAA,UAAW,CAACC,QAAa,IAAA;MAClCtB,SAAA,CAAUxL,GAAK,EAAAyL,IAAI,CAChB,CAAAsB,IAAA,CAAMV,MAAW,IAAA;QAChBS,QAAA,CAASE,KAAKX,MAAM,CAAA;QACpBS,QAAA,CAASG,QAAS,EAAA;MAAA,CACnB,CAAA,CACAC,KAAM,CAACC,GAAQ,IAAA;QACdL,QAAA,CAASrI,MAAM0I,GAAG,CAAA;MAAA,CACnB,CAAA;IAAA,CACJ,CAAA;EACH,CAAA;EACAF,QAAU,EAAA,CAACjN,GAAK,EAAAoN,KAAA,EAAOf,MAAW,KAAA;IACXtM,oBAAA,CAAAC,GAAA,EAAKqM,OAAOpM,QAAQ,CAAA;EAC3C,CAAA;EACAwE,KAAO,EAAA,CAACzE,GAAK,EAAAoN,KAAA,EAAOD,GAAQ,KAAA;IACpB,MAAA;MAAChN;IAAU,CAAA,GAAAH,GAAA;IAEjB,IAAImN,eAAexI,QAAU,EAAA;MACN5E,oBAAA,CAAAC,GAAA,EAAKmN,IAAIlN,QAAQ,CAAA;IAAA,CACxC,MAAA,IAAWkN,eAAe3I,KAAO,EAAA;MAC/BrE,MAAA,CAAOsE,MAAM0I,GAAG,CAAA;IAClB;EACF;AACF,CAAA;ACjCO,MAAME,YAAqD,GAAA;EAChEzG,IAAA,EAAM,CAAC6F,IAAA,EAAMhB,IACX,KAAA,2BAEE,GAAGA,KAAKQ,OAAQ,CAAAxF,GAAA,CACbuF,KACC,qBAAUlL,cAAAA,CAAAA,OAAM,CAAA4L,IAAA,CAAKV,MAAMW,QAAQ,CAAA,eAAMX,KAAM,CAAAE,UAAA,iBAAiBF,KAAM,CAAAI,UAAA,CAAA,CAC1E,CACF,CAAE9K,KAAK,IAAI,CAAA;EACbsL,IAAA,EAAM,CAAC5M,GAAA,EAAKyL,IAAS,KAAA;IACZ,OAAA,IAAIoB,IAAAA,CAAAA,UAAW,CAACC,QAAa,IAAA;MAClCtB,SAAA,CAAUxL,GAAK,EAAAyL,IAAI,CAChB,CAAAsB,IAAA,CAAMV,MAAW,IAAA;QAChBS,QAAA,CAASE,KAAKX,MAAM,CAAA;QACpBS,QAAA,CAASG,QAAS,EAAA;MAAA,CACnB,EACAC,KAAM,CAACC,OAAQL,QAAS,CAAArI,KAAA,CAAM0I,GAAG,CAAC,CAAA;IAAA,CACtC,CAAA;EACH,CAAA;EACAF,QAAU,EAAA,CAACjN,GAAK,EAAAoN,KAAA,EAAOf,MAAW,KAAA;IAC1B,MAAA;MAAClM;IAAU,CAAA,GAAAH,GAAA;IAEID,oBAAA,CAAAC,GAAA,EAAKqM,OAAOpM,QAAQ,CAAA;IAEzCE,MAAA,CAAOyI,KAAK,4DAA4D,CAAA;IACxEzI,MAAA,CAAOM,GAAI,EAAA;EACb,CAAA;EACAgE,KAAO,EAAA,CAACzE,GAAK,EAAAoN,KAAA,EAAOD,GAAQ,KAAA;IACpB,MAAA;MAAChN;IAAU,CAAA,GAAAH,GAAA;IAEjB,IAAImN,eAAexI,QAAU,EAAA;MACN5E,oBAAA,CAAAC,GAAA,EAAKmN,IAAIlN,QAAQ,CAAA;IAAA,CACxC,MAAA,IAAWkN,eAAe3I,KAAO,EAAA;MAC/BrE,MAAA,CAAOsE,MAAM0I,GAAG,CAAA;IAClB;EACF;AACF,CAAA;ACrBgB,SAAAG,mBAAA,CACdtN,KACAuN,SACc,EAAA;EAAA;EA3BhB,IAAA7B,EAAA,EAAAC,EAAA,EAAA6B,EAAA;EA4BE,MAAM;IAACrC,MAAA;IAAQsC,OAAS;IAAAC;EAAA,CAAU,GAAAH,SAAA;EAC5B,MAAA;IAAC3B,MAAQ;IAAA1L,GAAA;IAAKyN,OAAS,EAAAC,QAAA;IAAUC;IAAU/I,QAAU;IAAA3E,MAAA;IAAQ2N,GAAK;IAAAjM;EAAA,CAAM,GAAA7B,GAAA;EACxE,MAAA+N,SAAA,GAAYC,mBAAAA,CAAAA,UAAW,CAAAF,GAAA,CAAIxF,IAAM,CAAA,CAAA6C,MAAA,CAAA;EACjC,MAAA8C,MAAA,YAASrC,iCAAQqC,MAAU,yCAAA,IAAA;EACjC,MAAM1L,MAAS,GAAA5B,aAAA,CAAAO,OAAA,CAAKN,QAAS,CAAAV,GAAA,EAAK4E,QAAQ,CAAA;EAE1C,MAAMoJ,cAAcC,MAAO,CAAAC,WAAA,CACzBD,MAAO,CAAAlC,OAAA,CAAA,CAAA,CAAQP,EAAG,GAAA7J,EAAA,CAAA+J,MAAA,KAAH,mBAAWtJ,OAAQ,CAAA+L,KAAA,KAAS,EAAE,EAAE5H,GAAI,CAAA,SAAgB;IAAA,IAAf,CAACuC,GAAA,EAAKsF,GAAG,CAAM;IAnCvE5C,IAAAA,GAAAA;IAoCM,OAAO,CAAC1C,GAAA,EAAKrI,aAAAA,CAAAA,OAAK,CAAAgF,OAAA,CAAQzF,OAAKwL,GAAA,GAAA7J,EAAA,CAAG+J,MAAH,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAF,IAAWpJ,OAAQ,CAAAiM,OAAA,KAAW,GAAK,EAAAD,GAAA,CAAI,EAAE,CAAC,CAAA;EAAA,CAC1E,CAAA,CACH;EAEA,MAAMrC,OAAU,GAAAsB,SAAA,CAAUtB,OAAQ,CAAAxF,GAAA,CAAKuF,KAAU,IAAA;IACxC,uCACFA,KAAA;MACHpF,IAAA,EAAMjG,aAAAA,CAAAA,QAAKC,QAAS,CAAA2B,MAAA,EAAQyJ,MAAMwC,MAAM,CAAA,CAAErC,OAAQ,CAAA,WAAA,EAAa,EAAE;IAAA;EAErE,CAAA,EAAG,CAAE,CAAA,CAAA;EAEL,MAAMsC,SACJ,GAAAb,QAAA,IAAYO,MAAO,CAAAO,IAAA,CAAKd,QAAQ,CAAE,CAAAnH,GAAA,CAAK1B,UAAA,IAAepE,aAAAA,CAAAA,OAAK,CAAAW,IAAA,CAAKwM,GAAI,CAAAlH,IAAA,EAAM7B,UAAU,CAAC,CAAA;EAEvF,MAAM4J,WAAc,GAAAf,QAAA,IAAYO,MAAO,CAAAS,MAAA,CAAOhB,QAAQ,CAAE,CAAAnH,GAAA,CAAKoI,CAAA,IAAMlO,aAAAA,CAAAA,OAAK,CAAAgF,OAAA,CAAQzF,GAAK,EAAA2O,CAAA,CAAEC,MAAM,CAAC,CAAA;EAE9F,MAAMC,eAAeZ,MAAO,CAAAC,WAAA,CAC1BD,OAAOlC,OAAQ,CAAA,CAAAL,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAQoD,WAAU,EAAE,EAAEvI,GAAI,CAAA;IAAA,IAAC,CAACuC,GAAK,EAAAsF,GAAG;WAAM,CAACtF,GAAA,EAAKiG,KAAKC,SAAU,CAAAZ,GAAG,CAAC,CAAC;EAAA,EAAA,CACrF;EAEA,MAAMa,cAAiB,GAAA,CACrBhD,wBAAQ,CAAA;IACNiD,iBAAmB,EAAA,IAAA;IACnBR,MAAQ,oBACFd,GAAI,CAAAlH,IAAA,KAAS,wCACTmI;MAEF,2BAAA,EAA8BM,GAAQ,IAAA;QACpC,MAAMnD,UAAa,GAAA,IAAA,GAAOvL,aAAAA,CAAAA,OAAK,CAAAC,QAAA,CAASV,KAAKmP,GAAG,CAAA;QAChD,MAAMrD,QAAQC,OAAQ,CAAAqD,IAAA,CAAMT,CAAM,IAAAA,CAAA,CAAEC,WAAW5C,UAAU,CAAA;QAEzD,IAAI,CAACF,KAAO,EAAA;UAEF9H,OAAA,CAAAO,KAAA,wCAAsCyH,UAAY,EAAA;UAEnD,OAAA,MAAA;QACT;QAEA,OAAO+C,IAAK,CAAAC,SAAA,CACVvO,qBAAA,CAAKC,SAASV,GAAK,EAAAS,qBAAA,CAAKgF,QAAQpD,MAAQ,EAAAyJ,KAAA,CAAMpF,IAAO,GAAAmH,SAAS,CAAC,CAAA,CACjE;MACF,CAAA;MACA,wBAAA,EAA0BkB,IAAK,CAAAC,SAAA,CAAU/D,MAAM,CAAA;MAC/C,yBAAA,EAA2B8D,IAAK,CAAAC,SAAA,CAAUzB,OAAO,CAAA;MACjD,2BAA2BwB,IAAK,CAAAC,SAAA,CAAUzN,QAAQ8N,GAAI,CAAAC,WAAA,IAAe1B,IAAI2B,OAAO;IAAA,GAC7EV,YAAA,CACL;EACN,CACD,CAAA,EACDW,sBAAM,CAAA;IACJzD,OAAA,oBAAaiC,WAAW;EAAA,CACzB,CAAA,EACDyB,6BAAY,CAAA;IAEVC,SAASnC,OAAY,KAAA,SAAA;IAErBoC,YAAY,CAAC,MAAA,EAAQ,QAAQ,KAAO,EAAA,MAAA,EAAQ,SAAS,OAAO,CAAA;IAC5DC,cAAgB,EAAA;EAAA,CACjB,CAAA,EACDC,yBAAS,CAAA;IACPC,YAAc,EAAA,KAAA;IACdH,UAAA,EAAY,CAAC,KAAK;EAAA,CAGnB,CAAA,EACDI,qBAAK,EAAA,EACLC,wBAAQ,CAAA;IACNC,GAAA,WAAKvE,iCAAQuE,GAAO,yCAAA,WAAA;IACpBC,UAAA,WAAYxE,iCAAQwE,UAAc,yCAAA,eAAA;IAClCC,WAAA,WAAazE,iCAAQyE,WAAe,yCAAA,UAAA;IACpCC,eAAA,WAAiB1E,iCAAQ0E,eAAmB,yCAAA,OAAA;IAC5C5C,MAAA;IACAlL,QAAA,EAAUxC,GAAI,CAAA6B,EAAA,CAAGgK,UAAc,IAAA;EAAA,CAChC,CAAA,EACD0E,gCAAqB,CAAA;IACnBC,OAAS,EAAA,KAAA;IACTC,OAAA,EAAS,CAAC,2CAA2C,CAAA;IACrDC,OAAA,EAAS,CAAC,CAAC,mBAAqB,EAAA;MAACC,SAAS7C,GAAI,CAAA8C,YAAA,IAAgBC,mBAA0B,CAAAA;IAAA,CAAC,CAAC;EAAA,CAC3F,CAAA,EACD5C,UACE6C,eAAAA,CAAAA,OAAO,CAAA;IACLtC,MAAQ,EAAA;MACNuC,QAAA,EAAU,CAACC,KAAA,EAAOC,OAAY,KAAA;QAC5B,MAAM5P,OAAO4P,OAAQ,CAAAC,KAAA;QACrB,MAAM5I,OAAO2I,OAAQ,CAAA3I,IAAA;QAGrB,IAAIA,QAAQ,UAAY,EAAA;UAEf,OAAA,4BAAA,CAA6B6I,KAAK9P,IAAI,CAAA;QAC/C;QAEO,OAAA,KAAA;MACT;IACF;EAAA,CACD,CAAA,CACL,CAAEhB,OAAO+Q,OAAO,CAAA;EAEV,MAAAC,WAAA,GAAA,CAAc1F,EAAQ,GAAAC,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAA0F,MAAA,KAAR,IAAgB,GAAA,KAAA,CAAA,GAAA3F,EAAA,CAAA8E,OAAA;EAEpC,MAAMA,OAAU,GAAAc,KAAA,CAAMC,OAAQ,CAAAH,WAAW,IACrClC,cAAe,CAAA7L,MAAA,CAAO+N,WAAW,CAAA,GACjCI,mBAAsB,CAAAA,qBAAA,CAAA,CAAAjE,EAAA,GAAA5B,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAQ0F,MAAR,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA9D,EAAA,CAAgBiD,SAAStB,cAAc,CAAA;EAE1D,OAAA;IACLuC,YAAc,EAAA;MACZC,OAAS,EAAAzR,GAAA;MAET2N,QAAA,EAAU,CAAC+D,EAAA,EAAIC,QAAa,KAAA;QAEtB,IAAApD,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,SAAA,CAAW5G,SAAS+J,EAAK,CAAA,EAAA;UACpB,OAAA,IAAA;QACT;QAGI,IAAAC,QAAA,KAAaD,GAAGE,UAAW,CAAA,GAAG,KAAKF,EAAG,CAAAE,UAAA,CAAW,GAAG,CAAI,CAAA,EAAA;UAC1D,MAAMC,SAASpR,aAAK,CAAAO,OAAA,CAAAyE,OAAA,CAAQhF,aAAAA,CAAAA,QAAKsK,OAAQ,CAAA4G,QAAQ,GAAGD,EAAE,CAAA;UAElD,IAAAjD,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,WAAA,CAAa9G,SAASkK,MAAS,CAAA,EAAA;YAC1B5R,MAAA,CAAAyI,IAAA,yEACuDjI,aAAAA,CAAAA,OAAK,CAAAC,QAAA,CAC/DV,GAAA,EACA6R,MAAA,CACF,EACF;YAEO,OAAA,IAAA;UACT;QACF;QAEM,MAAAC,OAAA,GAAUJ,EAAG,CAAAK,KAAA,CAAM,GAAG,CAAA;QAEtB,MAAArL,IAAA,GAAOoL,OAAQ,CAAA,CAAA,CAAA,CAAGF,UAAW,CAAA,GAAG,CAAI,aAAGE,OAAQ,CAAA,CAAA,CAAA,cAAMA,OAAQ,CAAA,CAAA,CAAA,IAAOA,OAAQ,CAAA,CAAA,CAAA;QAElF,IAAIpL,IAAQ,IAAAiH,QAAA,CAAShG,QAAS,CAAAjB,IAAI,CAAG,EAAA;UAC5B,OAAA,IAAA;QACT;QAEO,OAAA,KAAA;MACT,CAAA;MAEAsL,KAAO,EAAAjG,OAAA,CAAQkG,MAAuC,CAAA,CAACC,KAAKpG,KAAU,KAAA;QACpE,uCAAWoG,GAAA;UAAK,CAACpG,KAAM,CAAApF,IAAA,GAAOoF,MAAM8C;QAAM;MAC5C,CAAA,EAAG,EAAE,CAAA;MAEL2B,OAAA;MAEA4B,SAAW,EAAA;QACTC,uBAAyB,EAAA;MAC3B;IACF,CAAA;IACAC,aAAe,EAAA;MACbC,cAAA,EAAgB,qCAA8BzE,SAAA,CAAA;MAC9C0E,OAAS,EAAAxE,MAAA;MACTyE,GAAK,EAAAnQ,MAAA;MACLoQ,cAAgB,EAAA,MAAO5E,SAAc,KAAA,SAAA,iCAAmCA,SAAA,CAAA;MACxE6E,QAAU,EAAA,IAAA;MACVzH,MAAA;MACA0H,OAAS,EAAA,QAAA;MACTC,qBAAuB,EAAA7E,MAAA;MACvB8E,SAAA,WAAWnH,iCAAQmH,SAAa,yCAAA;IAClC;EAAA,CACF;AACF;AC5LO,MAAMC,UAAsC,GAAA;EACjDpM,IAAA,EAAM,CAAC5G,GAAA,EAAKyL,IACV,8CAAkCA,KAAKiC,MAAO,CAAApM,IAAA,CAAK,KAAK,CAAA,sBACtDmK,IAAK,CAAAN,MAAA,uBACMM,IAAA,CAAKQ,QACfxF,GAAI,CAACoI,eAAS/N,sBAAA,CAAM4L,IAAK,CAAA/L,aAAAA,CAAAA,OAAA,CAAKW,IAAK,CAAAtB,GAAA,CAAI8N,IAAIlH,IAAM,EAAAiI,CAAA,CAAElO,IAAI,CAAC,CAAM,eAAAkO,CAAA,CAAEC,uBAAaD,CAAE,CAAAL,MAAA,CAAQ,CACvF,CAAAlN,IAAA,CAAK,WAAW,CAAA,CAAA;EACrBsL,IAAA,EAAM,CAAC5M,GAAA,EAAKyL,IAAS,KAAA;IACZ,OAAA,IAAIoB,IAAAA,CAAAA,UAAW,CAACC,QAAa,IAAA;MAClCmG,WAAA,CAAYjT,GAAK,EAAAyL,IAAI,CAClB,CAAAsB,IAAA,CAAMV,MAAW,IAAA;QAChBS,QAAA,CAASE,KAAKX,MAAM,CAAA;QACpBS,QAAA,CAASG,QAAS,EAAA;MAAA,CACnB,EACAC,KAAM,CAACC,OAAQL,QAAS,CAAArI,KAAA,CAAM0I,GAAG,CAAC,CAAA;IAAA,CACtC,CAAA;EACH,CAAA;EACAF,UAAU,MAAM,CAEhB,CAAA;EACAxI,KAAO,EAAA,CAACgI,IAAM,EAAAW,KAAA,EAAOD,GAAQ,KAAA;IAC3B,IAAIA,eAAe3I,KAAO,EAAA;MACxBN,OAAA,CAAQzD,IAAI0M,GAAG,CAAA;IACjB;EACF;AACF,CAAA;AAEA,eAAe8F,WAAA,CAAYjT,KAAmByL,IAAkB,EAAA;EACxD,MAAA;IAACjC,KAAO;IAAA1E;EAAY,CAAA,GAAA9E,GAAA;EAC1B,MAAMuC,MAAS,GAAA5B,aAAAA,CAAAA,OAAA,CAAKC,QAAS,CAAAZ,GAAA,CAAIE,KAAK4E,QAAQ,CAAA;EAE9C,MAAMoO,QAAW,GAAA;IACfzS,KAAKyD,OAAQ,CAAAzD,GAAA;IACbmI,MAAM1E,OAAQ,CAAA0E,IAAA;IACdnE,OAAOP,OAAQ,CAAAO;EAAA,CACjB;EAEA,MAAM;IAACiN,YAAc;IAAAa;EAAA,CAAiB,GAAAjF,mBAAA,CAAoBtN,KAAKyL,IAAI,CAAA;EAEnEvH,OAAA,CAAQzD,MAAM,MAAM,KAAA,CAAA;EACpByD,OAAA,CAAQ0E,OAAO,MAAM,KAAA,CAAA;EACrB1E,OAAA,CAAQO,QAAQ,MAAM,KAAA,CAAA;EAGhB,MAAA0O,MAAA,GAAS,MAAM7B,aAAO,iCACvBI,YAAA;IACH0B,OAAOC,OAAS,EAAA;MACV,IAAA,CAACA,OAAQ,CAAA7K,IAAA,IAAQ,CAAC,CAAC,qBAAqB,CAAE,CAAAX,QAAA,CAASwL,OAAQ,CAAA7K,IAAI,CAAG,EAAA;QAE3D0K,QAAA,CAAAtK,IAAA,CAAK0K,KAAKpP,OAAO,CAAA,CAAEpD,cAAAA,CAAAA,QAAME,MAAO,CAAA,QAAQ,CAAG,EAAAqS,OAAA,CAAQtP,OAAO,CAAA;MACrE;IACF;EAAA,GACD;EAID,MAAM;IAACyK;EAAM,CAAA,GAAI,MAAM2E,MAAA,CAAOI,SAAShB,aAAa,CAAA;EAEpDrO,OAAA,CAAQzD,MAAMyS,QAAS,CAAAzS,GAAA;EACvByD,OAAA,CAAQ0E,OAAOsK,QAAS,CAAAtK,IAAA;EACxB1E,OAAA,CAAQO,QAAQyO,QAAS,CAAAzO,KAAA;EAEzB,KAAA,MAAW+O,gBAAgBhF,MAAQ,EAAA;IAC7B,IAAAgF,YAAA,CAAalL,SAAS,OAAS,EAAA;MACjCkB,KAAA,CAAM1B,IAAK,CAAA;QACTQ,IAAM,EAAA,OAAA;QACN3H,IAAM,EAAAA,aAAAA,CAAAA,OAAA,CAAKgF,OAAQ,CAAApD,MAAA,EAAQiR,aAAarP,QAAQ;MAAA,CACjD,CAAA;IAAA,CACI,MAAA;MACLqF,KAAA,CAAM1B,IAAK,CAAA;QACTQ,IAAM,EAAA,OAAA;QACN3H,IAAM,EAAAA,aAAAA,CAAAA,OAAA,CAAKgF,OAAQ,CAAApD,MAAA,EAAQiR,aAAarP,QAAQ;MAAA,CACjD,CAAA;IACH;EACF;EAGM,MAAAgP,MAAA,CAAOM,MAAMlB,aAAa,CAAA;EAGhC,MAAMY,OAAOO,KAAM,EAAA;AACrB;ACpFO,MAAMC,eAAoE,GAAA;EAC/E/M,IAAA,EAAM,CAAC5G,GAAA,EAAKyL,IACV,8CAAkCA,KAAKiC,MAAO,CAAApM,IAAA,CAAK,KAAK,CAAA,sBACtDmK,IAAK,CAAAN,MAAA,uBACMM,IAAA,CAAKQ,QACfxF,GAAI,CAACoI,eAAS/N,sBAAA,CAAM4L,IAAK,CAAA/L,aAAAA,CAAAA,OAAA,CAAKW,IAAK,CAAAtB,GAAA,CAAI8N,IAAIlH,IAAM,EAAAiI,CAAA,CAAElO,IAAI,CAAC,CAAM,eAAAkO,CAAA,CAAEC,uBAAaD,CAAE,CAAAL,MAAA,CAAQ,CACvF,CAAAlN,IAAA,CAAK,WAAW,CAAA,CAAA;EACrBsL,IAAA,EAAM,CAAC5M,GAAA,EAAKyL,IAAS,KAAA;IACnB,MAAM;MAACiG,YAAc;MAAAa;IAAA,CAAiB,GAAAjF,mBAAA,CAAoBtN,KAAKyL,IAAI,CAAA;IAE5D,OAAA,IAAIoB,IAAAA,CAAAA,UAAW,CAACC,QAAa,IAAA;MAClC,MAAM8G,YAAmC,mCACpClC,YAAA;QACHlD,MAAQ,EAAA+D;MAAA,EACV;MAEM,MAAAsB,OAAA,GAAUC,aAAYF,YAAY,CAAA;MAEhCC,OAAA,CAAAE,EAAA,CAAG,OAAS,EAACC,KAAU,IAAA;QAC7BlH,QAAA,CAASE,KAAKgH,KAAK,CAAA;MAAA,CACpB,CAAA;MAED,OAAO,MAAM;QACXH,OAAA,CAAQH,KAAM,EAAA;MAAA,CAChB;IAAA,CACD,CAAA;EACH,CAAA;EACAzG,QAAU,EAAA,CAACjN,GAAK,EAAAyL,IAAA,EAAMuI,KAAU,KAAA;IACxB,MAAA;MAAC7T;IAAU,CAAA,GAAAH,GAAA;IAEb,IAAAgU,KAAA,CAAMxL,SAAS,YAAc,EAAA;MACxBrI,MAAA,CAAA8T,OAAA,0CAC6BxI,IAAK,CAAAiC,MAAA,CAAOpM,IAAK,CAAA,KAAK,uBACtDmK,IAAK,CAAAN,MAAA,uBACMM,IAAA,CAAKQ,QACfxF,GAAI,CAACoI,eAAS/N,sBAAA,CAAM4L,IAAK,CAAA/L,aAAAA,CAAAA,OAAA,CAAKW,IAAK,CAAAtB,GAAA,CAAI8N,IAAIlH,IAAM,EAAAiI,CAAA,CAAElO,IAAI,CAAC,CAAM,eAAAkO,CAAA,CAAEC,uBAAaD,CAAE,CAAAL,MAAA,CAAQ,CACvF,CAAAlN,IAAA,CAAK,WAAW,CAAA,EACrB;MACAnB,MAAA,CAAOM,IAAI,EAAE,CAAA;MAEb;IACF;IAEI,IAAAuT,KAAA,CAAMxL,SAAS,cAAgB,EAAA;MACjC;IACF;IAEI,IAAAwL,KAAA,CAAMxL,SAAS,KAAO,EAAA;MACxB;IACF;IAEI,IAAAwL,KAAA,CAAMxL,SAAS,OAAS,EAAA;MAEnBrI,MAAA,CAAAsE,KAAA,CAAMuP,KAAM,CAAAxL,IAAA,EAAMwL,KAAK,CAAA;MAE9B;IACF;IAEI,IAAAA,KAAA,CAAMxL,SAAS,OAAS,EAAA;MAC1B;IACF;EACF,CAAA;EACA/D,KAAO,EAAA,CAACzE,GAAK,EAAAoN,KAAA,EAAOD,GAAQ,KAAA;IACpB,MAAA;MAAChN;IAAU,CAAA,GAAAH,GAAA;IAEjB,IAAImN,eAAe3I,KAAO,EAAA;MACxBrE,MAAA,CAAOM,IAAI0M,GAAG,CAAA;IAChB;EACF;AACF,CAAA;ACpEO,MAAM+G,iBAAuC,GAAA;EAClD,WAAa,EAAA1H,OAAA;EACb,UAAY,EAAAwG;AACd,CAAA;AAGO,MAAMmB,iBAAuC,GAAA;EAClD,WAAa,EAAA9G,YAAA;EACb,UAAY,EAAAsG;AACd,CAAA;;;;;;;"}