@rspack/core 0.0.14 → 0.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/dist/ResolverFactory.d.ts +49 -0
  2. package/dist/ResolverFactory.d.ts.map +1 -0
  3. package/dist/ResolverFactory.js +117 -0
  4. package/dist/ResolverFactory.js.map +1 -0
  5. package/dist/compilation.d.ts +7 -3
  6. package/dist/compilation.d.ts.map +1 -1
  7. package/dist/compilation.js +18 -12
  8. package/dist/compilation.js.map +1 -1
  9. package/dist/compiler.d.ts +3 -0
  10. package/dist/compiler.d.ts.map +1 -1
  11. package/dist/compiler.js +3 -0
  12. package/dist/compiler.js.map +1 -1
  13. package/dist/config/cache.d.ts.map +1 -1
  14. package/dist/config/cache.js +3 -4
  15. package/dist/config/cache.js.map +1 -1
  16. package/dist/config/defaults.js +1 -1
  17. package/dist/config/defaults.js.map +1 -1
  18. package/dist/config/devtool.d.ts +1 -0
  19. package/dist/config/devtool.d.ts.map +1 -1
  20. package/dist/config/devtool.js +5 -1
  21. package/dist/config/devtool.js.map +1 -1
  22. package/dist/config/index.d.ts +6 -3
  23. package/dist/config/index.d.ts.map +1 -1
  24. package/dist/config/index.js +10 -3
  25. package/dist/config/index.js.map +1 -1
  26. package/dist/config/module.d.ts +38 -3
  27. package/dist/config/module.d.ts.map +1 -1
  28. package/dist/config/module.js +209 -47
  29. package/dist/config/module.js.map +1 -1
  30. package/dist/config/node.d.ts +9 -0
  31. package/dist/config/node.d.ts.map +1 -0
  32. package/dist/config/node.js +15 -0
  33. package/dist/config/node.js.map +1 -0
  34. package/dist/config/target.js +1 -1
  35. package/dist/config/target.js.map +1 -1
  36. package/dist/node/NodeEnvironmentPlugin.d.ts +27 -0
  37. package/dist/node/NodeEnvironmentPlugin.d.ts.map +1 -0
  38. package/dist/node/NodeEnvironmentPlugin.js +54 -0
  39. package/dist/node/NodeEnvironmentPlugin.js.map +1 -0
  40. package/dist/rspack.d.ts.map +1 -1
  41. package/dist/rspack.js +5 -14
  42. package/dist/rspack.js.map +1 -1
  43. package/dist/rspackOptionsApply.d.ts.map +1 -1
  44. package/dist/rspackOptionsApply.js +19 -0
  45. package/dist/rspackOptionsApply.js.map +1 -1
  46. package/dist/stats.d.ts +1 -0
  47. package/dist/stats.d.ts.map +1 -1
  48. package/dist/stats.js +3 -0
  49. package/dist/stats.js.map +1 -1
  50. package/dist/util/cleverMerge.d.ts +79 -0
  51. package/dist/util/cleverMerge.d.ts.map +1 -0
  52. package/dist/util/cleverMerge.js +531 -0
  53. package/dist/util/cleverMerge.js.map +1 -0
  54. package/dist/util/createHash.d.ts +7 -0
  55. package/dist/util/createHash.d.ts.map +1 -0
  56. package/dist/util/createHash.js +166 -0
  57. package/dist/util/createHash.js.map +1 -0
  58. package/dist/util/createSource.d.ts +6 -0
  59. package/dist/util/createSource.d.ts.map +1 -0
  60. package/dist/util/createSource.js +48 -0
  61. package/dist/util/createSource.js.map +1 -0
  62. package/dist/util/hash/BatchedHash.d.ts +16 -0
  63. package/dist/util/hash/BatchedHash.d.ts.map +1 -0
  64. package/dist/util/hash/BatchedHash.js +61 -0
  65. package/dist/util/hash/BatchedHash.js.map +1 -0
  66. package/dist/util/hash/index.d.ts +19 -0
  67. package/dist/util/hash/index.d.ts.map +1 -0
  68. package/dist/util/hash/index.js +28 -0
  69. package/dist/util/hash/index.js.map +1 -0
  70. package/dist/util/hash/md4.d.ts +3 -0
  71. package/dist/util/hash/md4.d.ts.map +1 -0
  72. package/dist/util/hash/md4.js +13 -0
  73. package/dist/util/hash/md4.js.map +1 -0
  74. package/dist/util/hash/wasm-hash.d.ts +7 -0
  75. package/dist/util/hash/wasm-hash.d.ts.map +1 -0
  76. package/dist/util/hash/wasm-hash.js +162 -0
  77. package/dist/util/hash/wasm-hash.js.map +1 -0
  78. package/dist/util/hash/xxhash64.d.ts +3 -0
  79. package/dist/util/hash/xxhash64.d.ts.map +1 -0
  80. package/dist/util/hash/xxhash64.js +13 -0
  81. package/dist/util/hash/xxhash64.js.map +1 -0
  82. package/dist/util/identifier.d.ts +77 -0
  83. package/dist/util/identifier.d.ts.map +1 -0
  84. package/dist/util/identifier.js +345 -0
  85. package/dist/util/identifier.js.map +1 -0
  86. package/dist/util/index.d.ts +6 -0
  87. package/dist/util/index.d.ts.map +1 -0
  88. package/dist/util/index.js +18 -0
  89. package/dist/util/index.js.map +1 -0
  90. package/dist/util/memoize.d.ts +2 -0
  91. package/dist/util/memoize.d.ts.map +1 -0
  92. package/dist/util/memoize.js +22 -0
  93. package/dist/util/memoize.js.map +1 -0
  94. package/package.json +25 -13
  95. package/dist/bundle.js +0 -1
  96. package/dist/dd.js +0 -1
  97. package/dist/dynamic_js.xxxx.js +0 -1
  98. package/dist/main.js +0 -1
  99. package/dist/main.xxxx.js +0 -1
  100. package/dist/runtime.js +0 -1
  101. package/dist/web/polyfillBuiltins.d.ts +0 -5
  102. package/dist/web/polyfillBuiltins.d.ts.map +0 -1
  103. package/dist/web/polyfillBuiltins.js +0 -43
  104. package/dist/web/polyfillBuiltins.js.map +0 -1
@@ -0,0 +1,54 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+ const CachedInputFileSystem = require("enhanced-resolve/lib/CachedInputFileSystem");
7
+ const fs = require("graceful-fs");
8
+ const createConsoleLogger = require("../logging/createConsoleLogger");
9
+ // const NodeWatchFileSystem = require("./NodeWatchFileSystem");
10
+ const nodeConsole = require("./nodeConsole");
11
+ /** @typedef {import("../../declarations/WebpackOptions").InfrastructureLogging} InfrastructureLogging */
12
+ /** @typedef {import("../compiler").Compiler} Compiler */
13
+ class NodeEnvironmentPlugin {
14
+ /**
15
+ * @param {Object} options options
16
+ * @param {InfrastructureLogging} options.infrastructureLogging infrastructure logging options
17
+ */
18
+ constructor(options) {
19
+ this.options = options;
20
+ }
21
+ /**
22
+ * Apply the plugin
23
+ * @param {Compiler} compiler the compiler instance
24
+ * @returns {void}
25
+ */
26
+ apply(compiler) {
27
+ const { infrastructureLogging } = this.options;
28
+ compiler.infrastructureLogger = createConsoleLogger({
29
+ level: infrastructureLogging.level || "info",
30
+ debug: infrastructureLogging.debug || false,
31
+ console: infrastructureLogging.console ||
32
+ nodeConsole({
33
+ colors: infrastructureLogging.colors,
34
+ appendOnly: infrastructureLogging.appendOnly,
35
+ stream: infrastructureLogging.stream
36
+ })
37
+ });
38
+ compiler.inputFileSystem = new CachedInputFileSystem(fs, 60000);
39
+ const inputFileSystem = compiler.inputFileSystem;
40
+ compiler.outputFileSystem = fs;
41
+ // compiler.intermediateFileSystem = fs;
42
+ // compiler.watchFileSystem = new NodeWatchFileSystem(
43
+ // compiler.inputFileSystem
44
+ // );
45
+ compiler.hooks.beforeRun.tap("NodeEnvironmentPlugin", compiler => {
46
+ if (compiler.inputFileSystem === inputFileSystem) {
47
+ compiler.fsStartTime = Date.now();
48
+ inputFileSystem.purge();
49
+ }
50
+ });
51
+ }
52
+ }
53
+ module.exports = NodeEnvironmentPlugin;
54
+ //# sourceMappingURL=NodeEnvironmentPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeEnvironmentPlugin.js","sourceRoot":"","sources":["../../src/node/NodeEnvironmentPlugin.js"],"names":[],"mappings":"AAAA;;;EAGE;AAEF,YAAY,CAAC;AAEb,MAAM,qBAAqB,GAAG,OAAO,CAAC,4CAA4C,CAAC,CAAC;AACpF,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAClC,MAAM,mBAAmB,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;AACtE,gEAAgE;AAChE,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAE7C,yGAAyG;AACzG,yDAAyD;AAEzD,MAAM,qBAAqB;IAC1B;;;OAGG;IACH,YAAY,OAAO;QAClB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ;QACb,MAAM,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/C,QAAQ,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;YACnD,KAAK,EAAE,qBAAqB,CAAC,KAAK,IAAI,MAAM;YAC5C,KAAK,EAAE,qBAAqB,CAAC,KAAK,IAAI,KAAK;YAC3C,OAAO,EACN,qBAAqB,CAAC,OAAO;gBAC7B,WAAW,CAAC;oBACX,MAAM,EAAE,qBAAqB,CAAC,MAAM;oBACpC,UAAU,EAAE,qBAAqB,CAAC,UAAU;oBAC5C,MAAM,EAAE,qBAAqB,CAAC,MAAM;iBACpC,CAAC;SACH,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,GAAG,IAAI,qBAAqB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;QACjD,QAAQ,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC/B,wCAAwC;QACxC,sDAAsD;QACtD,4BAA4B;QAC5B,KAAK;QACL,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,EAAE,QAAQ,CAAC,EAAE;YAChE,IAAI,QAAQ,CAAC,eAAe,KAAK,eAAe,EAAE;gBACjD,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAClC,eAAe,CAAC,KAAK,EAAE,CAAC;aACxB;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAED,MAAM,CAAC,OAAO,GAAG,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rspack.d.ts","sourceRoot":"","sources":["../src/rspack.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,aAAa,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAOtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC,aAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;AAC9C,iBAAS,cAAc,CAAC,WAAW,EAAE,aAAa,YAwCjD;AACD,iBAAS,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,CAQ5E;AAGD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"rspack.d.ts","sourceRoot":"","sources":["../src/rspack.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,aAAa,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAKtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAKhC,aAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;AAC9C,iBAAS,cAAc,CAAC,WAAW,EAAE,aAAa,YAkCjD;AACD,iBAAS,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,CAQ5E;AAGD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}
package/dist/rspack.js CHANGED
@@ -7,26 +7,17 @@ exports.createCompiler = exports.rspack = void 0;
7
7
  const config_1 = require("./config");
8
8
  const compiler_1 = require("./compiler");
9
9
  const defaults_1 = require("./config/defaults");
10
- const createConsoleLogger_1 = __importDefault(require("./logging/createConsoleLogger"));
11
- const nodeConsole_1 = __importDefault(require("./node/nodeConsole"));
12
10
  const util_1 = __importDefault(require("util"));
13
11
  const rspackOptionsApply_1 = require("./rspackOptionsApply");
12
+ const NodeEnvironmentPlugin_1 = __importDefault(require("./node/NodeEnvironmentPlugin"));
14
13
  function createCompiler(userOptions) {
15
14
  // console.log("user:", userOptions);
16
- const options = (0, config_1.getNormalizedRspackOptions)(userOptions);
15
+ const options = (0, config_1.getNormalizedRspackOptions)(userOptions, () => compiler);
17
16
  (0, defaults_1.applyRspackOptionsBaseDefaults)(options);
18
17
  const compiler = new compiler_1.Compiler(options.context, options);
19
- const { infrastructureLogging } = options;
20
- compiler.infrastructureLogger = (0, createConsoleLogger_1.default)({
21
- level: infrastructureLogging.level || "info",
22
- debug: infrastructureLogging.debug || false,
23
- console: infrastructureLogging.console ||
24
- (0, nodeConsole_1.default)({
25
- colors: infrastructureLogging.colors,
26
- appendOnly: infrastructureLogging.appendOnly,
27
- stream: infrastructureLogging.stream
28
- })
29
- });
18
+ new NodeEnvironmentPlugin_1.default({
19
+ infrastructureLogging: options.infrastructureLogging
20
+ }).apply(compiler);
30
21
  const logger = compiler.getInfrastructureLogger("config");
31
22
  logger.debug("RawOptions:", util_1.default.inspect(userOptions, { colors: true, depth: null }));
32
23
  if (Array.isArray(options.plugins)) {
@@ -1 +1 @@
1
- {"version":3,"file":"rspack.js","sourceRoot":"","sources":["../src/rspack.ts"],"names":[],"mappings":";;;;;;AAAA,qCAAqE;AACrE,yCAAsC;AACtC,gDAG2B;AAC3B,wFAAgE;AAChE,qEAA6C;AAE7C,gDAAwB;AAExB,6DAA0D;AAE1D,SAAS,cAAc,CAAC,WAA0B;IACjD,qCAAqC;IACrC,MAAM,OAAO,GAAG,IAAA,mCAA0B,EAAC,WAAW,CAAC,CAAC;IACxD,IAAA,yCAA8B,EAAC,OAAO,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,GAAG,IAAA,6BAAmB,EAAC;QACnD,KAAK,EAAE,qBAAqB,CAAC,KAAK,IAAI,MAAM;QAC5C,KAAK,EAAE,qBAAqB,CAAC,KAAK,IAAI,KAAK;QAC3C,OAAO,EACN,qBAAqB,CAAC,OAAO;YAC7B,IAAA,qBAAW,EAAC;gBACX,MAAM,EAAE,qBAAqB,CAAC,MAAM;gBACpC,UAAU,EAAE,qBAAqB,CAAC,UAAU;gBAC5C,MAAM,EAAE,qBAAqB,CAAC,MAAM;aACpC,CAAC;KACH,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,CAAC,KAAK,CACX,aAAa,EACb,cAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CACxD,CAAC;IAEF,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACnC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE;YACrC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;gBACjC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;aAChC;iBAAM;gBACN,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aACvB;SACD;KACD;IACD,IAAA,qCAA0B,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,CACX,oBAAoB,EACpB,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAC7D,CAAC;IACF,IAAI,uCAAkB,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7D,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACjC,OAAO,QAAQ,CAAC;AACjB,CAAC;AAYgB,wCAAc;AAX/B,SAAS,MAAM,CAAC,OAAsB,EAAE,QAA0B;IACjE,IAAI,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,QAAQ,EAAE;QACb,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvB,OAAO,QAAQ,CAAC;KAChB;SAAM;QACN,OAAO,QAAQ,CAAC;KAChB;AACF,CAAC;AAGQ,wBAAM"}
1
+ {"version":3,"file":"rspack.js","sourceRoot":"","sources":["../src/rspack.ts"],"names":[],"mappings":";;;;;;AAAA,qCAAqE;AACrE,yCAAsC;AACtC,gDAG2B;AAE3B,gDAAwB;AAExB,6DAA0D;AAC1D,yFAAiE;AAEjE,SAAS,cAAc,CAAC,WAA0B;IACjD,qCAAqC;IACrC,MAAM,OAAO,GAAG,IAAA,mCAA0B,EAAC,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;IACxE,IAAA,yCAA8B,EAAC,OAAO,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAExD,IAAI,+BAAqB,CAAC;QACzB,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;KACpD,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEnB,MAAM,MAAM,GAAG,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,CAAC,KAAK,CACX,aAAa,EACb,cAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CACxD,CAAC;IAEF,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACnC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE;YACrC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;gBACjC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;aAChC;iBAAM;gBACN,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aACvB;SACD;KACD;IAED,IAAA,qCAA0B,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,CACX,oBAAoB,EACpB,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAC7D,CAAC;IACF,IAAI,uCAAkB,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7D,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACjC,OAAO,QAAQ,CAAC;AACjB,CAAC;AAYgB,wCAAc;AAX/B,SAAS,MAAM,CAAC,OAAsB,EAAE,QAA0B;IACjE,IAAI,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,QAAQ,EAAE;QACb,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvB,OAAO,QAAQ,CAAC;KAChB;SAAM;QACN,OAAO,QAAQ,CAAC;KAChB;AACF,CAAC;AAGQ,wBAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"rspackOptionsApply.d.ts","sourceRoot":"","sources":["../src/rspackOptionsApply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC;AAKtD,qBAAa,kBAAkB;;IAE9B,OAAO,CAAC,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,QAAQ;CAmB5D"}
1
+ {"version":3,"file":"rspackOptionsApply.d.ts","sourceRoot":"","sources":["../src/rspackOptionsApply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC;AAMtD,qBAAa,kBAAkB;;IAE9B,OAAO,CAAC,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,QAAQ;CAsC5D"}
@@ -7,6 +7,7 @@ exports.RspackOptionsApply = void 0;
7
7
  const graceful_fs_1 = __importDefault(require("graceful-fs"));
8
8
  const NodeTargetPlugin_1 = require("./node/NodeTargetPlugin");
9
9
  const ResolveSwcPlugin_1 = require("./web/ResolveSwcPlugin");
10
+ const cleverMerge_1 = require("./util/cleverMerge");
10
11
  class RspackOptionsApply {
11
12
  constructor() { }
12
13
  process(options, compiler) {
@@ -27,6 +28,24 @@ class RspackOptionsApply {
27
28
  }
28
29
  }
29
30
  new ResolveSwcPlugin_1.ResolveSwcPlugin().apply(compiler);
31
+ if (!compiler.inputFileSystem) {
32
+ throw new Error("No input filesystem provided");
33
+ }
34
+ compiler.resolverFactory.hooks.resolveOptions
35
+ .for("normal")
36
+ .tap("RspackOptionsApply", resolveOptions => {
37
+ resolveOptions = (0, cleverMerge_1.cleverMerge)(options.resolve, resolveOptions);
38
+ resolveOptions.fileSystem = compiler.inputFileSystem;
39
+ return resolveOptions;
40
+ });
41
+ compiler.resolverFactory.hooks.resolveOptions
42
+ .for("context")
43
+ .tap("RspackOptionsApply", resolveOptions => {
44
+ resolveOptions = (0, cleverMerge_1.cleverMerge)(options.resolve, resolveOptions);
45
+ resolveOptions.fileSystem = compiler.inputFileSystem;
46
+ resolveOptions.resolveToContext = true;
47
+ return resolveOptions;
48
+ });
30
49
  }
31
50
  }
32
51
  exports.RspackOptionsApply = RspackOptionsApply;
@@ -1 +1 @@
1
- {"version":3,"file":"rspackOptionsApply.js","sourceRoot":"","sources":["../src/rspackOptionsApply.ts"],"names":[],"mappings":";;;;;;AACA,8DAA6B;AAE7B,8DAA2D;AAC3D,6DAA0D;AAC1D,MAAa,kBAAkB;IAC9B,gBAAe,CAAC;IAChB,OAAO,CAAC,OAAgC,EAAE,QAAkB;QAC3D,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAC1C,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,QAAQ,CAAC,gBAAgB,GAAG,qBAAE,CAAC;QAC/B,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC7C,IAAI,mCAAgB,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACvC;QACD,yDAAyD;QACzD,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC7D,IAAI,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE;gBACnC,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE;oBACvD,IAAI,SAAS,KAAK,KAAK,EAAE;wBACxB,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;qBAC1B;iBACD;aACD;SACD;QACD,IAAI,mCAAgB,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;CACD;AArBD,gDAqBC"}
1
+ {"version":3,"file":"rspackOptionsApply.js","sourceRoot":"","sources":["../src/rspackOptionsApply.ts"],"names":[],"mappings":";;;;;;AACA,8DAA6B;AAE7B,8DAA2D;AAC3D,6DAA0D;AAC1D,oDAAiD;AACjD,MAAa,kBAAkB;IAC9B,gBAAe,CAAC;IAChB,OAAO,CAAC,OAAgC,EAAE,QAAkB;QAC3D,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAC1C,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,QAAQ,CAAC,gBAAgB,GAAG,qBAAE,CAAC;QAC/B,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC7C,IAAI,mCAAgB,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACvC;QACD,yDAAyD;QACzD,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC7D,IAAI,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE;gBACnC,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE;oBACvD,IAAI,SAAS,KAAK,KAAK,EAAE;wBACxB,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;qBAC1B;iBACD;aACD;SACD;QACD,IAAI,mCAAgB,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SAChD;QACD,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc;aAC3C,GAAG,CAAC,QAAQ,CAAC;aACb,GAAG,CAAC,oBAAoB,EAAE,cAAc,CAAC,EAAE;YAC3C,cAAc,GAAG,IAAA,yBAAW,EAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAC9D,cAAc,CAAC,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC;YACrD,OAAO,cAAc,CAAC;QACvB,CAAC,CAAC,CAAC;QACJ,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc;aAC3C,GAAG,CAAC,SAAS,CAAC;aACd,GAAG,CAAC,oBAAoB,EAAE,cAAc,CAAC,EAAE;YAC3C,cAAc,GAAG,IAAA,yBAAW,EAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAC9D,cAAc,CAAC,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC;YACrD,cAAc,CAAC,gBAAgB,GAAG,IAAI,CAAC;YACvC,OAAO,cAAc,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;CACD;AAxCD,gDAwCC"}
package/dist/stats.d.ts CHANGED
@@ -11,6 +11,7 @@ export declare class Stats {
11
11
  #private;
12
12
  compilation: Compilation;
13
13
  constructor(statsJson: binding.JsStatsCompilation, compilation: Compilation);
14
+ get hash(): string;
14
15
  hasErrors(): boolean;
15
16
  hasWarnings(): boolean;
16
17
  toJson(opts?: StatsOptions, forToString?: boolean): StatsCompilation;
@@ -1 +1 @@
1
- {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../src/stats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAG/D,aAAK,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,aAAa,CAAC,GAAG;IAC9E,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACvD,CAAC;AACF,oBAAY,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,qBAAa,KAAK;;IAGjB,WAAW,EAAE,WAAW,CAAC;gBAEb,SAAS,EAAE,OAAO,CAAC,kBAAkB,EAAE,WAAW,EAAE,WAAW;IAW3E,SAAS;IAIT,WAAW;IAIX,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,OAAO;IAkDjD,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY;IAO5B,MAAM,CAAC,YAAY,CAAC,GAAG,KAAA,EAAE,SAAS,EAAE,OAAO;CAytB3C;AAyBD,eAAO,MAAM,iBAAiB,yBAI7B,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,eAAe,CAS5E"}
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../src/stats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAG/D,aAAK,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,aAAa,CAAC,GAAG;IAC9E,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACvD,CAAC;AACF,oBAAY,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,qBAAa,KAAK;;IAGjB,WAAW,EAAE,WAAW,CAAC;gBAEb,SAAS,EAAE,OAAO,CAAC,kBAAkB,EAAE,WAAW,EAAE,WAAW;IAW3E,IAAI,IAAI,WAEP;IAED,SAAS;IAIT,WAAW;IAIX,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,OAAO;IAkDjD,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY;IAO5B,MAAM,CAAC,YAAY,CAAC,GAAG,KAAA,EAAE,SAAS,EAAE,OAAO;CAytB3C;AAyBD,eAAO,MAAM,iBAAiB,yBAI7B,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,eAAe,CAS5E"}
package/dist/stats.js CHANGED
@@ -27,6 +27,9 @@ class Stats {
27
27
  }, "f");
28
28
  this.compilation = compilation;
29
29
  }
30
+ get hash() {
31
+ return this.compilation.hash;
32
+ }
30
33
  hasErrors() {
31
34
  return __classPrivateFieldGet(this, _Stats_statsJson, "f").errorsCount > 0;
32
35
  }
package/dist/stats.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"stats.js","sourceRoot":"","sources":["../src/stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../src/stats.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA,6CAA2C;AAS3C,MAAa,KAAK;IAKjB,YAAY,SAAqC,EAAE,WAAwB;QAJ3E,6DAA6D;QAC7D,mCAAkC;QAIjC,uBAAA,IAAI,oBAAc;YACjB,GAAG,SAAS;YACZ,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACtD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;gBACpB,OAAO,GAAG,CAAC;YACZ,CAAC,EAAE,EAAE,CAAC;SACN,MAAA,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED,SAAS;QACR,OAAO,uBAAA,IAAI,wBAAW,CAAC,WAAW,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,WAAW;QACV,OAAO,uBAAA,IAAI,wBAAW,CAAC,aAAa,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,IAAmB,EAAE,WAAqB;QAChD,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACxB,MAAM,qBAAqB,GAAG,CAAO,CAAI,EAAE,GAAM,EAAE,EAAE,CACpD,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAErD,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC;QACvE,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjE,MAAM,eAAe,GAAG,qBAAqB,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/D,MAAM,eAAe,GAAG,qBAAqB,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACzE,MAAM,aAAa,GAAG,qBAAqB,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpE,MAAM,iBAAiB,GAAG,qBAAqB,CAC9C,OAAO,CAAC,aAAa,EACrB,IAAI,CACJ,CAAC;QAEF,IAAI,GAAG,GAAqB,EAAE,CAAC;QAC/B,IAAI,UAAU,EAAE;YACf,GAAG,CAAC,MAAM,GAAG,uBAAA,IAAI,wBAAW,CAAC,MAAM,CAAC;SACpC;QACD,IAAI,UAAU,EAAE;YACf,GAAG,CAAC,MAAM,GAAG,uBAAA,IAAI,wBAAW,CAAC,MAAM,CAAC;SACpC;QACD,IAAI,WAAW,EAAE;YAChB,GAAG,CAAC,OAAO,GAAG,uBAAA,IAAI,wBAAW,CAAC,OAAO,CAAC;SACtC;QACD,IAAI,eAAe,EAAE;YACpB,GAAG,CAAC,WAAW,GAAG,uBAAA,IAAI,wBAAW,CAAC,WAAW,CAAC;SAC9C;QACD,IAAI,UAAU,EAAE;YACf,GAAG,CAAC,MAAM,GAAG,uBAAA,IAAI,wBAAW,CAAC,MAAM,CAAC;SACpC;QACD,IAAI,eAAe,EAAE;YACpB,GAAG,CAAC,WAAW,GAAG,uBAAA,IAAI,wBAAW,CAAC,WAAW,CAAC;SAC9C;QACD,IAAI,aAAa,EAAE;YAClB,GAAG,CAAC,QAAQ,GAAG,uBAAA,IAAI,wBAAW,CAAC,QAAQ,CAAC;SACxC;QACD,IAAI,iBAAiB,EAAE;YACtB,GAAG,CAAC,aAAa,GAAG,uBAAA,IAAI,wBAAW,CAAC,aAAa,CAAC;SAClD;QACD,IAAI,GAAG,CAAC,OAAO,IAAI,WAAW,EAAE;YAC/B,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC;YAC9C,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACvC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,QAAQ,CAAC,IAAmB;QAC3B,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAA,yBAAiB,EAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,SAAkB;;QAC1C,MAAM,GAAG,GAAG,EAAE,CAAC;QAEf,MAAM,aAAa,GAAG;YACrB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,qBAAqB;YAC7B,GAAG,EAAE,qBAAqB;YAC1B,KAAK,EAAE,qBAAqB;YAC5B,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,qBAAqB;SAC9B,CAAC;QAEF,MAAM,MAAM,GAAQ,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CACpD,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACd,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE;gBAClB,IAAI,SAAS,EAAE;oBACd,GAAG,CAAC,IAAI,CACP,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,SAAS;wBACnD,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;wBACtB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CACnB,CAAC;iBACF;gBACD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACd,IAAI,SAAS,EAAE;oBACd,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;iBACjC;YACF,CAAC,CAAC;YACF,OAAO,GAAG,CAAC;QACZ,CAAC,EACD;YACC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;SAC5B,CACD,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE;YAC1B,IAAI,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACjC,IAAI,GAAG,CAAC,IAAI,EAAE;gBACb,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;aAClE;YACD,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;iBAC3C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;iBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;gBAAE,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;iBAC/C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;;gBAChD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErC,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACjC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QAC5B,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAiB,EAAE,EAAE;YACjD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;YAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE;gBACpC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAClB;YACD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE;gBACpC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE;oBACpC,MAAM,KAAK,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;oBAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE;wBACjC,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;qBAC7B;iBACD;aACD;YACD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE;gBACpC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE;oBACpC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;oBACrC,MAAM,KAAK,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;oBAC5C,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;oBACrB,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE;wBACvB,MAAM,CAAC,KAAK,CAAC,CAAC;qBACd;oBACD,OAAO,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;wBAClD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;qBACnB;oBACD,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE;wBACvB,MAAM,CAAC,KAAK,CAAC,CAAC;qBACd;oBACD,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;wBAC1C,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;qBAChC;iBACD;gBACD,OAAO,EAAE,CAAC;aACV;QACF,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;YAC7C,IAAI,KAAK,CAAC,eAAe,EAAE;gBAC1B,OAAO,MAAM,CAAC,MAAM,CAAC;aACrB;YAED,OAAO,YAAY,CAAC;QACrB,CAAC,CAAC;QAEF,IAAI,GAAG,CAAC,IAAI,EAAE;YACb,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,EAAE,CAAC;SACV;QACD,IAAI,GAAG,CAAC,OAAO,EAAE;YAChB,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACzB,OAAO,EAAE,CAAC;SACV;QACD,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;YACjC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO,EAAE,CAAC;SACV;QACD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE;YACpC,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,QAAQ,GAAG,SAAS,CAAC;YAEzB,IAAI;gBACH,WAAW,CAAC,kBAAkB,EAAE,CAAC;aACjC;YAAC,OAAO,GAAG,EAAE;gBACb,+CAA+C;gBAC/C,QAAQ,GAAG,KAAK,CAAC;aACjB;YAED,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC5B,MAAM,CAAC,MAAM,CACZ,WAAW,CAAC,kBAAkB,CAAC,SAAS,EAAE;gBACzC,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;gBACf,QAAQ;aACR,CAAC,CACF,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YACrE,OAAO,EAAE,CAAC;SACV;QACD,IAAI,GAAG,CAAC,GAAG,EAAE;YACZ,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO,EAAE,CAAC;SACV;QACD,IAAI,GAAG,CAAC,UAAU,EAAE;YACnB,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC;SACV;QAED,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACxC,MAAM,CAAC,GAAG;gBACT;oBACC;wBACC,KAAK,EAAE,OAAO;wBACd,KAAK,EAAE,MAAM,CAAC,IAAI;qBAClB;oBACD;wBACC,KAAK,EAAE,MAAM;wBACb,KAAK,EAAE,MAAM,CAAC,IAAI;qBAClB;oBACD;wBACC,KAAK,EAAE,QAAQ;wBACf,KAAK,EAAE,MAAM,CAAC,IAAI;qBAClB;oBACD;wBACC,KAAK,EAAE,EAAE;wBACT,KAAK,EAAE,MAAM,CAAC,IAAI;qBAClB;oBACD;wBACC,KAAK,EAAE,EAAE;wBACT,KAAK,EAAE,MAAM,CAAC,IAAI;qBAClB;oBACD;wBACC,KAAK,EAAE,aAAa;wBACpB,KAAK,EAAE,MAAM,CAAC,IAAI;qBAClB;iBACD;aACD,CAAC;YACF,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE;gBAC/B,CAAC,CAAC,IAAI,CAAC;oBACN;wBACC,KAAK,EAAE,KAAK,CAAC,IAAI;wBACjB,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;qBACzC;oBACD;wBACC,KAAK,EAAE,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;wBAC/C,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;qBAC1C;oBACD;wBACC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC9B,KAAK,EAAE,MAAM,CAAC,IAAI;qBAClB;oBACD;wBACC,KAAK,EAAE;4BACN,KAAK,CAAC,OAAO,IAAI,WAAW;4BAC5B,CAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,SAAS,KAAI,aAAa;4BACtC,CAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,WAAW,KAAI,OAAO;4BAClC,CAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,oBAAoB,KAAI,OAAO;yBAC3C;6BACC,MAAM,CAAC,OAAO,CAAC;6BACf,IAAI,CAAC,GAAG,CAAC;wBACX,KAAK,EAAE,MAAM,CAAC,KAAK;qBACnB;oBACD;wBACC,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;wBAC3C,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;qBAC1C;oBACD;wBACC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;wBAClC,KAAK,EAAE,MAAM,CAAC,MAAM;qBACpB;iBACD,CAAC,CAAC;aACH;YACD,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;SACnB;QACD,IAAI,GAAG,CAAC,cAAc,GAAG,CAAC,EAAE;YAC3B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACnB,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAClC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC/D,OAAO,EAAE,CAAC;SACV;QAED,MAAM,kBAAkB,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE;YAClD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBAC5C,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC7B,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,EAAE,CAAC,eAAe,EAAE;oBACvB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACnB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBACvB;gBACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpB,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE;oBAC9B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACnB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBACzB;gBACD,oDAAoD;gBACpD,wCAAwC;gBACxC,sCAAsC;gBACtC,wBAAwB;gBACxB,iCAAiC;gBACjC,kCAAkC;gBAClC,yBAAyB;gBACzB,0BAA0B;gBAC1B,MAAM;gBACN,yBAAyB;gBACzB,KAAK;gBACL,IAAI;gBACJ,OAAO,EAAE,CAAC;aACV;QACF,CAAC,CAAC;QAEF,IAAI,GAAG,CAAC,WAAW,EAAE;YACpB,kBAAkB,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;SAClD;QAED,IAAI,GAAG,CAAC,gBAAgB,EAAE;YACzB,IAAI,iBAAiB,GAAG,GAAG,CAAC,gBAAgB,CAAC;YAC7C,IAAI,GAAG,CAAC,WAAW,EAAE;gBACpB,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;qBAChD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;qBACtC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;oBACxB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;oBAC1C,OAAO,MAAM,CAAC;gBACf,CAAC,EAAE,EAAE,CAAC,CAAC;aACR;YACD,kBAAkB,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;SACrD;QAED,MAAM,mBAAmB,GAAG,EAAE,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,EAAE;YAChB,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE;gBACjC,mBAAmB,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC;aACtD;SACD;aAAM,IAAI,GAAG,CAAC,MAAM,EAAE;YACtB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE;gBAC/B,IAAI,KAAK,CAAC,OAAO,EAAE;oBAClB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE;wBACnC,mBAAmB,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC;qBACtD;iBACD;aACD;SACD;QAED,MAAM,uBAAuB,GAAG,MAAM,CAAC,EAAE;YACxC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACzD,IAAI,MAAM,CAAC,MAAM,EAAE;gBAClB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;oBAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACpB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACrB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;iBACnB;aACD;YACD,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;gBACrC,MAAM,CAAC,MAAM,CAAC,WAAW,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;aAC1C;YACD,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,EAAE;gBAC/B,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;aAC/B;YACD,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACpB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;aAC7B;YACD,IAAI,MAAM,CAAC,KAAK,EAAE;gBACjB,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;aACzB;YACD,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC1C,MAAM,CAAC,OAAO,CACb,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,SACxB,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GACnC,GAAG,CACH,CAAC;aACF;YACD,IAAI,MAAM,CAAC,UAAU,EAAE;gBACtB,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;aAChC;YACD,IAAI,MAAM,CAAC,MAAM;gBAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC3C,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACpB,MAAM,CAAC,MAAM,CACZ,KAAK,MAAM,CAAC,QAAQ,WAAW,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAClE,CAAC;aACF;YACD,IAAI,MAAM,CAAC,MAAM,EAAE;gBAClB,MAAM,CAAC,GAAG,CACT,KAAK,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAC5D,CAAC;aACF;QACF,CAAC,CAAC;QAEF,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;gBAC1C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACtB,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;oBACxC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;iBAC5B;qBAAM;oBACN,MAAM,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC/D;gBACD,OAAO,EAAE,CAAC;aACV;YACD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE;gBACrC,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE;oBAChC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACtB,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE;wBAChC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;qBACtC;yBAAM,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK,EAAE;wBACxC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;qBACjC;yBAAM,IACN,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;wBACjC,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAC9B;wBACD,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;qBACjC;yBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;wBAC7C,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;4BACjE,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM;4BAC/B,CAAC,CAAC,IAAI,CAAC;wBACR,IACC,oBAAoB,KAAK,IAAI;4BAC7B,oBAAoB,KAAK,MAAM,CAAC,WAAW,CAAC,MAAM,EACjD;4BACD,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;yBAClC;6BAAM;4BACN,MAAM,CAAC,IAAI,CACV,4BAA4B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC5D,CAAC;yBACF;qBACD;oBACD,OAAO,EAAE,CAAC;iBACV;aACD;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE;gBAC9C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,EAAE;oBAC9C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACtB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACpB,OAAO,EAAE,CAAC;iBACV;aACD;YACD,IAAI,MAAM,CAAC,OAAO,EAAE;gBACnB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;oBACpC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACtB,IAAI,MAAM,CAAC,IAAI,EAAE;wBAChB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC3B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;qBACnB;oBACD,IAAI,MAAM,CAAC,WAAW,EAAE;wBACvB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;wBAChC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;qBACnB;oBACD,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE;wBAC7B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACnB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBAC/B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;qBACnB;oBACD,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,EAAE;wBACvD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACnB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;qBAC9B;oBACD,IAAI,MAAM,CAAC,GAAG,EAAE;wBACf,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACnB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;qBAC1B;oBACD,IAAI,MAAM,CAAC,WAAW,EAAE;wBACvB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACnB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;qBAChC;oBACD,OAAO,EAAE,CAAC;iBACV;aACD;YACD,IAAI,MAAM,CAAC,OAAO,EAAE;gBACnB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACtB,IAAI,GAAG,GAAG,CAAC,CAAC;gBACZ,IAAI,MAAM,CAAC,UAAU,EAAE;oBACtB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE;wBAClC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACnB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBACpB,IAAI,CAAC,CAAC,OAAO,EAAE;4BACd,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;4BAClE,WAAW,CAAC,IAAI,CAAC,CAAC;4BAClB,GAAG,IAAI,IAAI,CAAC;4BACZ,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;yBACnB;wBACD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;qBACrB;iBACD;gBACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;oBAC9C,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;oBACzB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACjC,WAAW,CAAC,IAAI,CAAC,CAAC;oBAClB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACnB,GAAG,IAAI,IAAI,CAAC;iBACZ;gBACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpB,WAAW,CAAC,GAAG,CAAC,CAAC;gBACjB,OAAO,EAAE,CAAC;aACV;YACD,IAAI,MAAM,CAAC,OAAO,EAAE;gBACnB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;aAC1C;QACF,CAAC,CAAC;QAEF,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,GAAG,CAAC,OAAO,EAAE;gBAChB,IAAI,WAAW,GAAG,CAAC,CAAC;gBACpB,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE;oBACjC,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE;wBAClC,IAAI,WAAW,GAAG,MAAM,CAAC,EAAE;4BAAE,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC;qBACrD;iBACD;gBACD,IAAI,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;gBACpC,IAAI,WAAW,IAAI,EAAE;oBAAE,aAAa,IAAI,GAAG,CAAC;gBAC5C,IAAI,WAAW,IAAI,GAAG;oBAAE,aAAa,IAAI,GAAG,CAAC;gBAC7C,IAAI,WAAW,IAAI,IAAI;oBAAE,aAAa,IAAI,GAAG,CAAC;gBAC9C,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE;oBACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACtB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC;oBAC9C,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE;wBACnE,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE;4BAClC,IAAI,MAAM,CAAC,EAAE,GAAG,IAAI,IAAI,WAAW,IAAI,IAAI;gCAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BAChE,IAAI,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI,WAAW,IAAI,GAAG;gCAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BAC9D,IAAI,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,WAAW,IAAI,EAAE;gCAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;yBAC5D;6BAAM;4BACN,IAAI,WAAW,IAAI,IAAI;gCAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BAC5C,IAAI,WAAW,IAAI,GAAG;gCAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BAC3C,IAAI,WAAW,IAAI,EAAE;gCAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;yBAC1C;wBACD,IAAI,IAAI,KAAK,MAAM,CAAC,EAAE,EAAE;4BACvB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BACnB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;4BACzB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BACnB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;yBACnB;6BAAM;4BACN,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BACnB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;4BACvB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;yBACnB;qBACD;oBACD,IAAI,IAAI,KAAK,MAAM,CAAC,EAAE,EAAE;wBACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAClB;oBACD,uBAAuB,CAAC,MAAM,CAAC,CAAC;oBAChC,OAAO,EAAE,CAAC;oBACV,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;iBAC5C;gBACD,IAAI,GAAG,CAAC,eAAe,GAAG,CAAC,EAAE;oBAC5B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACtB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACrB,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;wBAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;oBACnC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;wBAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACrD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAClE,OAAO,EAAE,CAAC;iBACV;aACD;QACF,CAAC,CAAC;QAEF,IAAI,GAAG,CAAC,MAAM,EAAE;YACf,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE;gBAC/B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACxB,IAAI,KAAK,CAAC,EAAE,GAAG,IAAI;oBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACxC,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG;oBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,KAAK,CAAC,EAAE,GAAG,EAAE;oBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACnB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrC,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC1C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACpB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBACtC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;iBACnB;gBACD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACnB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxD,6BAA6B;gBAC7B,oCAAoC;gBACpC,yBAAyB;gBACzB,sBAAsB;gBACtB,wBAAwB;gBACxB,IAAI;gBACJ,qCAAqC;gBACrC,yBAAyB;gBACzB,sBAAsB;gBACtB,wBAAwB;gBACxB,IAAI;gBACJ,qCAAqC;gBACrC,yBAAyB;gBACzB,sBAAsB;gBACtB,wBAAwB;gBACxB,IAAI;gBACJ,IAAI,KAAK,CAAC,eAAe,EAAE;oBAC1B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE;wBACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;wBAC7C,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACnB,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;wBAC5B,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE;4BAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BACpB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;4BAClB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;yBACnB;wBACD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;qBACpB;iBACD;gBACD,IAAI,KAAK,CAAC,KAAK,EAAE;oBAChB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;iBAC1B;qBAAM,IAAI,KAAK,CAAC,OAAO,EAAE;oBACzB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;iBAC5B;gBACD,IAAI,KAAK,CAAC,QAAQ,EAAE;oBACnB,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;iBAC5B;gBACD,IAAI,KAAK,CAAC,QAAQ,EAAE;oBACnB,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;iBAC5B;gBACD,IAAI,KAAK,CAAC,MAAM,EAAE;oBACjB,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;iBAClC;gBACD,OAAO,EAAE,CAAC;gBACV,IAAI,KAAK,CAAC,OAAO,EAAE;oBAClB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE;wBACnC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBACxB,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;4BAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;4BACxC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;yBACnB;wBACD,IAAI,MAAM,CAAC,OAAO,EAAE;4BACnB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;4BAC9B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;yBACnB;wBACD,IAAI,MAAM,CAAC,MAAM,EAAE;4BAClB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BACnB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;4BAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BACpB,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;4BACxD,IAAI,MAAM,EAAE;gCACX,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gCACzB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;6BACnB;yBACD;wBACD,IAAI,MAAM,CAAC,GAAG,EAAE;4BACf,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;yBAC1B;wBACD,OAAO,EAAE,CAAC;qBACV;iBACD;gBACD,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;aAC/B;SACD;QAED,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAE5B,IAAI,GAAG,CAAC,OAAO,EAAE;YAChB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACpC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/B,OAAO,EAAE,CAAC;oBACV,IAAI,OAAO,CAAC,KAAK,EAAE;wBAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;qBACrB;oBACD,MAAM,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC;oBAClC,OAAO,EAAE,CAAC;oBACV,IAAI,MAAM,GAAG,EAAE,CAAC;oBAChB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE;wBACpC,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;wBAC1B,IAAI,MAAM,GAAG,MAAM,CAAC;wBACpB,QAAQ,KAAK,CAAC,IAAI,EAAE;4BACnB,KAAK,gBAAO,CAAC,KAAK;gCACjB,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,CAAC;gCAClC,OAAO,EAAE,CAAC;gCACV,SAAS;4BACV,KAAK,gBAAO,CAAC,KAAK;gCACjB,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC;gCACnB,MAAM,GAAG,MAAM,CAAC;gCAChB,MAAM;4BACP,KAAK,gBAAO,CAAC,IAAI;gCAChB,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;gCACtB,MAAM,GAAG,MAAM,CAAC;gCAChB,MAAM;4BACP,KAAK,gBAAO,CAAC,IAAI;gCAChB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gCACrB,MAAM,GAAG,MAAM,CAAC;gCAChB,MAAM;4BACP,KAAK,gBAAO,CAAC,GAAG;gCACf,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;gCACpB,MAAM;4BACP,KAAK,gBAAO,CAAC,KAAK,CAAC;4BACnB,KAAK,gBAAO,CAAC,KAAK;gCACjB,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;gCACtB,MAAM;4BACP,KAAK,gBAAO,CAAC,MAAM;gCAClB,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;gCACvB,MAAM,GAAG,MAAM,CAAC;gCAChB,MAAM;4BACP,KAAK,gBAAO,CAAC,OAAO;gCACnB,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;gCACvB,MAAM,GAAG,MAAM,CAAC;gCAChB,MAAM;4BACP,KAAK,gBAAO,CAAC,UAAU;gCACtB,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;gCACvB,MAAM,GAAG,OAAO,CAAC;gCACjB,MAAM;4BACP,KAAK,gBAAO,CAAC,IAAI;gCAChB,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;gCACvB,MAAM,GAAG,MAAM,CAAC;gCAChB,MAAM;4BACP,KAAK,gBAAO,CAAC,KAAK;gCACjB,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;gCACpB,MAAM,GAAG,MAAM,CAAC;gCAChB,MAAM;4BACP,KAAK,gBAAO,CAAC,cAAc;gCAC1B,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;gCACpB,MAAM,GAAG,MAAM,CAAC;gCAChB,MAAM;4BACP,KAAK,gBAAO,CAAC,QAAQ;gCACpB,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;oCACrB,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gCAC7C,SAAS;yBACV;wBACD,IAAI,KAAK,CAAC,OAAO,EAAE;4BAClB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gCAC7C,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;gCACpC,KAAK,CAAC,IAAI,CAAC,CAAC;gCACZ,OAAO,EAAE,CAAC;6BACV;yBACD;wBACD,IAAI,KAAK,CAAC,KAAK,EAAE;4BAChB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE;gCAC/B,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;gCACpC,OAAO,EAAE,CAAC;6BACV;yBACD;wBACD,QAAQ,KAAK,CAAC,IAAI,EAAE;4BACnB,KAAK,gBAAO,CAAC,KAAK;gCACjB,MAAM,IAAI,IAAI,CAAC;gCACf,MAAM;yBACP;qBACD;oBACD,IAAI,OAAO,CAAC,eAAe,EAAE;wBAC5B,MAAM,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,eAAe,eAAe,CAAC,CAAC;wBAC3D,OAAO,EAAE,CAAC;qBACV;iBACD;aACD;SACD;QAED,IAAI,GAAG,CAAC,QAAQ,EAAE;YACjB,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE;gBACnC,OAAO,EAAE,CAAC;gBACV,wCAAwC;gBACxC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpC,OAAO,EAAE,CAAC;aACV;SACD;QACD,IAAI,GAAG,CAAC,MAAM,EAAE;YACf,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE;gBAC/B,OAAO,EAAE,CAAC;gBACV,sCAAsC;gBACtC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClC,OAAO,EAAE,CAAC;aACV;SACD;QACD,IAAI,GAAG,CAAC,QAAQ,EAAE;YACjB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE;gBACjC,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBACzD,IAAI,WAAW,EAAE;oBAChB,IAAI,KAAK,CAAC,IAAI,EAAE;wBACf,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACxB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;qBACnB;yBAAM;wBACN,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;qBACvB;oBACD,OAAO,EAAE,CAAC;oBACV,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACjB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAC/C,OAAO,EAAE,CAAC;iBACV;aACD;SACD;QACD,IAAI,GAAG,CAAC,kBAAkB,EAAE;YAC3B,MAAM,CAAC,MAAM,CACZ,8DAA8D,CAC9D,CAAC;SACF;QAED,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;YACpC,GAAG,CAAC,GAAG,EAAE,CAAC;SACV;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;CACD;AA9yBD,sBA8yBC;;AAED,MAAM,iBAAiB,GAAG;IACzB,UAAU,EAAE,IAAI,CAAC,EAAE;QAClB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC5D,OAAO,cAAc,CAAC;SACtB;QAED,IAAI,IAAI,IAAI,CAAC,EAAE;YACd,OAAO,SAAS,CAAC;SACjB;QAED,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1D,OAAO,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IACvD,aAAa,CAAC,KAAK,CACpB,EAAE,CAAC;IACJ,CAAC;CACD,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,CAAuB,EAAE,EAAE;IAC/C,OAAO,CAAC,CAAC,SAAS,CAAC;AACpB,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE;IAC5C,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3B,OAAO,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC;AACpE,CAAC,CAAC;AAJW,QAAA,iBAAiB,qBAI5B;AAEF,SAAgB,oBAAoB,CAAC,OAAsB;IAC1D,IAAI,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,QAAQ;QAC9D,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;SAC5B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;SACxB;QACJ,IAAI,GAAG,GAAG,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC;QAC7D,OAAO,GAAG,CAAC,MAAM,CAAC;QAClB,OAAO,GAAG,CAAC;KACX;AACF,CAAC;AATD,oDASC;AAED,SAAS,eAAe,CAAC,IAAuB;IAC/C,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC;IACpE,QAAQ,EAAE,EAAE;QACX,KAAK,MAAM;YACV,OAAO;gBACN,GAAG,EAAE,KAAK;aACV,CAAC;QACH,KAAK,SAAS;YACb,OAAO;gBACN,GAAG,EAAE,IAAI;aACT,CAAC;QACH,KAAK,aAAa;YACjB,OAAO;gBACN,GAAG,EAAE,KAAK;gBACV,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,IAAI;gBACjB,2BAA2B;gBAC3B,yBAAyB;aACzB,CAAC;QACH,KAAK,iBAAiB;YACrB,OAAO;gBACN,GAAG,EAAE,KAAK;gBACV,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,IAAI;gBACnB,wBAAwB;aACxB,CAAC;QACH;YACC,OAAO,EAAE,CAAC;KACX;AACF,CAAC"}
@@ -0,0 +1,79 @@
1
+ export type ObjectParsedPropertyEntry = {
2
+ /**
3
+ * base value
4
+ */
5
+ base: any | undefined;
6
+ /**
7
+ * the name of the selector property
8
+ */
9
+ byProperty: string | undefined;
10
+ /**
11
+ * value depending on selector property, merged with base
12
+ */
13
+ byValues: Map<string, any>;
14
+ };
15
+ export type ParsedObject = {
16
+ /**
17
+ * static properties (key is property name)
18
+ */
19
+ static: Map<string, ObjectParsedPropertyEntry>;
20
+ /**
21
+ * dynamic part
22
+ */
23
+ dynamic: {
24
+ byProperty: string;
25
+ fn: Function;
26
+ } | undefined;
27
+ };
28
+ /**
29
+ * @template T
30
+ * @param {Partial<T>} obj object
31
+ * @param {string} property property
32
+ * @param {string|number|boolean} value assignment value
33
+ * @returns {T} new object
34
+ */
35
+ export function cachedSetProperty<T>(obj: Partial<T>, property: string, value: string | number | boolean): T;
36
+ /**
37
+ * Merges two given objects and caches the result to avoid computation if same objects passed as arguments again.
38
+ * @template T
39
+ * @template O
40
+ * @example
41
+ * // performs cleverMerge(first, second), stores the result in WeakMap and returns result
42
+ * cachedCleverMerge({a: 1}, {a: 2})
43
+ * {a: 2}
44
+ * // when same arguments passed, gets the result from WeakMap and returns it.
45
+ * cachedCleverMerge({a: 1}, {a: 2})
46
+ * {a: 2}
47
+ * @param {T} first first object
48
+ * @param {O} second second object
49
+ * @returns {T & O | T | O} merged object of first and second object
50
+ */
51
+ export function cachedCleverMerge<T, O>(first: T, second: O): T | O | (T & O);
52
+ /**
53
+ * Merges two objects. Objects are deeply clever merged.
54
+ * Arrays might reference the old value with "...".
55
+ * Non-object values take preference over object values.
56
+ * @template T
57
+ * @template O
58
+ * @param {T} first first object
59
+ * @param {O} second second object
60
+ * @returns {T & O | T | O} merged object of first and second object
61
+ */
62
+ export function cleverMerge<T, O>(first: T, second: O): T | O | (T & O);
63
+ /**
64
+ * @template T
65
+ * @template {string} P
66
+ * @param {T} obj the object
67
+ * @param {P} byProperty the by description
68
+ * @param {...any} values values
69
+ * @returns {Omit<T, P>} object with merged byProperty
70
+ */
71
+ export function resolveByProperty<T, P extends string>(obj: T, byProperty: P, ...values: any[]): Omit<T, P>;
72
+ /**
73
+ * @template T
74
+ * @param {T} obj the object
75
+ * @returns {T} the object without operations like "..." or DELETE
76
+ */
77
+ export function removeOperations<T>(obj: T): T;
78
+ export const DELETE: unique symbol;
79
+ //# sourceMappingURL=cleverMerge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleverMerge.d.ts","sourceRoot":"","sources":["../../src/util/cleverMerge.js"],"names":[],"mappings":";;;;UAoFc,GAAG,GAAG,SAAS;;;;gBACf,MAAM,GAAG,SAAS;;;;cAClB,IAAI,MAAM,EAAE,GAAG,CAAC;;;;;;YAKhB,IAAI,MAAM,EAAE,yBAAyB,CAAC;;;;aACtC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,EAAE,WAAU;KAAE,GAAG,SAAS;;AA7C9D;;;;;;GAMG;AACH,gEAJW,MAAM,SACN,MAAM,GAAC,MAAM,GAAC,OAAO,KA6B/B;AAlED;;;;;;;;;;;;;;GAcG;AACH,8EAgBC;AAsMD;;;;;;;;;GASG;AACH,wEAOC;AA2QD;;;;;;;GAOG;AACH,yFAHe,GAAG,gBA4BjB;AA7DD;;;;GAIG;AACH,+CAqBC;AAlgBD,mCAAgC"}