@angular/core 20.2.0 → 20.2.2

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 (60) hide show
  1. package/api.d.d.ts +1 -1
  2. package/chrome_dev_tools_performance.d.d.ts +1 -1
  3. package/discovery.d.d.ts +7 -8
  4. package/{signal.d.d.ts → effect.d.d.ts} +13 -3
  5. package/event_dispatcher.d.d.ts +1 -1
  6. package/fesm2022/attribute.mjs +1 -1
  7. package/fesm2022/core.mjs +3 -3
  8. package/fesm2022/core.mjs.map +1 -1
  9. package/fesm2022/debug_node.mjs +48 -31
  10. package/fesm2022/debug_node.mjs.map +1 -1
  11. package/fesm2022/{untracked.mjs → effect.mjs} +29 -4
  12. package/fesm2022/effect.mjs.map +1 -0
  13. package/fesm2022/not_found.mjs +1 -1
  14. package/fesm2022/primitives/di.mjs +1 -1
  15. package/fesm2022/primitives/event-dispatch.mjs +1 -1
  16. package/fesm2022/primitives/signals.mjs +2 -2
  17. package/fesm2022/resource.mjs +18 -27
  18. package/fesm2022/resource.mjs.map +1 -1
  19. package/fesm2022/root_effect_scheduler.mjs +1 -1
  20. package/fesm2022/rxjs-interop.mjs +2 -2
  21. package/fesm2022/signal.mjs +1 -1
  22. package/fesm2022/testing.mjs +1 -1
  23. package/fesm2022/weak_ref.mjs +1 -1
  24. package/graph.d.d.ts +1 -1
  25. package/index.d.ts +2 -2
  26. package/package.json +2 -2
  27. package/primitives/di/index.d.ts +1 -1
  28. package/primitives/event-dispatch/index.d.ts +1 -1
  29. package/primitives/signals/index.d.ts +3 -3
  30. package/rxjs-interop/index.d.ts +1 -1
  31. package/schematics/bundles/{apply_import_manager-Ch1hTvRS.cjs → apply_import_manager-jh6mrC6i.cjs} +3 -3
  32. package/schematics/bundles/cleanup-unused-imports.cjs +5 -5
  33. package/schematics/bundles/{compiler_host-CqB0JPzD.cjs → compiler_host-B_eI7M_O.cjs} +2 -2
  34. package/schematics/bundles/control-flow-migration.cjs +10 -9
  35. package/schematics/bundles/document-core.cjs +5 -5
  36. package/schematics/bundles/imports-CIX-JgAN.cjs +1 -1
  37. package/schematics/bundles/{index-COhCBz0q.cjs → index-BakSPuLU.cjs} +4 -4
  38. package/schematics/bundles/{index-DwItZ4Tw.cjs → index-D6oJ4URa.cjs} +12 -12
  39. package/schematics/bundles/inject-flags.cjs +5 -5
  40. package/schematics/bundles/inject-migration.cjs +3 -3
  41. package/schematics/bundles/leading_space-D9nQ8UQC.cjs +1 -1
  42. package/schematics/bundles/{migrate_ts_type_references-BMhLua30.cjs → migrate_ts_type_references-Cv_ejjaV.cjs} +10 -9
  43. package/schematics/bundles/ng_decorators-B5HCqr20.cjs +1 -1
  44. package/schematics/bundles/nodes-B16H9JUd.cjs +1 -1
  45. package/schematics/bundles/output-migration.cjs +6 -6
  46. package/schematics/bundles/{project_paths-OWnyHise.cjs → project_paths-CSaggenP.cjs} +3 -3
  47. package/schematics/bundles/{project_tsconfig_paths-BIeidc3E.cjs → project_tsconfig_paths-BDoOg2Cc.cjs} +28 -5
  48. package/schematics/bundles/property_name-BBwFuqMe.cjs +1 -1
  49. package/schematics/bundles/route-lazy-loading.cjs +3 -3
  50. package/schematics/bundles/router-current-navigation.cjs +4 -4
  51. package/schematics/bundles/self-closing-tags-migration.cjs +4 -4
  52. package/schematics/bundles/signal-input-migration.cjs +13 -12
  53. package/schematics/bundles/signal-queries-migration.cjs +8 -7
  54. package/schematics/bundles/signals.cjs +8 -7
  55. package/schematics/bundles/standalone-migration.cjs +4 -4
  56. package/schematics/bundles/symbol-VPWguRxr.cjs +1 -1
  57. package/schematics/bundles/test-bed-get.cjs +4 -4
  58. package/testing/index.d.ts +2 -2
  59. package/weak_ref.d.d.ts +1 -1
  60. package/fesm2022/untracked.mjs.map +0 -1
@@ -1,22 +1,23 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.2.0
3
+ * @license Angular v20.2.2
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
- var migrate_ts_type_references = require('./migrate_ts_type_references-BMhLua30.cjs');
9
+ var migrate_ts_type_references = require('./migrate_ts_type_references-Cv_ejjaV.cjs');
10
10
  var ts = require('typescript');
11
11
  require('os');
12
- var project_tsconfig_paths = require('./project_tsconfig_paths-BIeidc3E.cjs');
13
- var index$1 = require('./index-DwItZ4Tw.cjs');
12
+ var project_tsconfig_paths = require('./project_tsconfig_paths-BDoOg2Cc.cjs');
13
+ var index$1 = require('./index-D6oJ4URa.cjs');
14
14
  require('path');
15
15
  require('node:path');
16
- var project_paths = require('./project_paths-OWnyHise.cjs');
17
- var index = require('./index-COhCBz0q.cjs');
18
- var assert = require('assert');
19
- var apply_import_manager = require('./apply_import_manager-Ch1hTvRS.cjs');
16
+ var project_paths = require('./project_paths-CSaggenP.cjs');
17
+ var index = require('./index-BakSPuLU.cjs');
18
+ var assert$1 = require('assert');
19
+ var assert = require('node:assert');
20
+ var apply_import_manager = require('./apply_import_manager-jh6mrC6i.cjs');
20
21
  require('@angular-devkit/core');
21
22
  require('node:path/posix');
22
23
  require('./leading_space-D9nQ8UQC.cjs');
@@ -598,7 +599,7 @@ function pass1__IdentifySourceFileAndDeclarationInputs(sf, host, checker, reflec
598
599
  const visitor = (node) => {
599
600
  const decoratorInput = extractDecoratorInput(node, host, reflector, dtsMetadataReader, evaluator);
600
601
  if (decoratorInput !== null) {
601
- assert(index.isInputContainerNode(node), 'Expected input to be declared on accessor or property.');
602
+ assert$1(index.isInputContainerNode(node), 'Expected input to be declared on accessor or property.');
602
603
  const inputDescr = getInputDescriptor(host, node);
603
604
  // track all inputs, even from declarations for reference resolution.
604
605
  knownDecoratorInputs.register({ descriptor: inputDescr, metadata: decoratorInput, node });
@@ -761,7 +762,7 @@ function pass4__checkInheritanceOfInputs(inheritanceGraph, metaRegistry, knownIn
761
762
  isClassWithKnownFields: (clazz) => knownInputs.isInputContainingClass(clazz),
762
763
  getFieldsForClass: (clazz) => {
763
764
  const directiveInfo = knownInputs.getDirectiveInfoForClass(clazz);
764
- assert(directiveInfo !== undefined, 'Expected directive info to exist for input.');
765
+ assert$1(directiveInfo !== undefined, 'Expected directive info to exist for input.');
765
766
  return Array.from(directiveInfo.inputFields.values()).map((i) => i.descriptor);
766
767
  },
767
768
  });
@@ -1098,8 +1099,8 @@ function pass6__migrateInputDeclarations(host, checker, result, knownInputs, imp
1098
1099
  filesWithIncompatibleInputs.add(sf);
1099
1100
  continue;
1100
1101
  }
1101
- assert(metadata !== null, `Expected metadata to exist for input isn't marked incompatible.`);
1102
- assert(!ts.isAccessor(input.node), 'Accessor inputs are incompatible.');
1102
+ assert$1(metadata !== null, `Expected metadata to exist for input isn't marked incompatible.`);
1103
+ assert$1(!ts.isAccessor(input.node), 'Accessor inputs are incompatible.');
1103
1104
  filesWithMigratedInputs.add(sf);
1104
1105
  result.replacements.push(...convertToSignalInput(input.node, metadata, info, checker, importManager, result));
1105
1106
  }
@@ -1,22 +1,23 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.2.0
3
+ * @license Angular v20.2.2
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
- var project_tsconfig_paths = require('./project_tsconfig_paths-BIeidc3E.cjs');
9
+ var project_tsconfig_paths = require('./project_tsconfig_paths-BDoOg2Cc.cjs');
10
10
  var ts = require('typescript');
11
11
  require('os');
12
- var index$1 = require('./index-DwItZ4Tw.cjs');
12
+ var index$1 = require('./index-D6oJ4URa.cjs');
13
13
  require('path');
14
14
  require('node:path');
15
- var project_paths = require('./project_paths-OWnyHise.cjs');
16
- var apply_import_manager = require('./apply_import_manager-Ch1hTvRS.cjs');
17
- var migrate_ts_type_references = require('./migrate_ts_type_references-BMhLua30.cjs');
15
+ var project_paths = require('./project_paths-CSaggenP.cjs');
16
+ var apply_import_manager = require('./apply_import_manager-jh6mrC6i.cjs');
17
+ var migrate_ts_type_references = require('./migrate_ts_type_references-Cv_ejjaV.cjs');
18
18
  var assert = require('assert');
19
- var index = require('./index-COhCBz0q.cjs');
19
+ require('node:assert');
20
+ var index = require('./index-BakSPuLU.cjs');
20
21
  require('@angular-devkit/core');
21
22
  require('node:path/posix');
22
23
  require('fs');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.2.0
3
+ * @license Angular v20.2.2
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -10,7 +10,7 @@ var schematics = require('@angular-devkit/schematics');
10
10
  var signalQueriesMigration = require('./signal-queries-migration.cjs');
11
11
  var signalInputMigration = require('./signal-input-migration.cjs');
12
12
  var outputMigration = require('./output-migration.cjs');
13
- require('./project_tsconfig_paths-BIeidc3E.cjs');
13
+ require('./project_tsconfig_paths-BDoOg2Cc.cjs');
14
14
  require('typescript');
15
15
  require('os');
16
16
  require('fs');
@@ -18,15 +18,16 @@ require('module');
18
18
  require('path');
19
19
  require('url');
20
20
  require('@angular-devkit/core');
21
- require('./index-DwItZ4Tw.cjs');
21
+ require('./index-D6oJ4URa.cjs');
22
22
  require('node:path');
23
- require('./project_paths-OWnyHise.cjs');
23
+ require('./project_paths-CSaggenP.cjs');
24
24
  require('node:path/posix');
25
- require('./apply_import_manager-Ch1hTvRS.cjs');
26
- require('./migrate_ts_type_references-BMhLua30.cjs');
25
+ require('./apply_import_manager-jh6mrC6i.cjs');
26
+ require('./migrate_ts_type_references-Cv_ejjaV.cjs');
27
27
  require('assert');
28
- require('./index-COhCBz0q.cjs');
28
+ require('./index-BakSPuLU.cjs');
29
29
  require('./leading_space-D9nQ8UQC.cjs');
30
+ require('node:assert');
30
31
 
31
32
  function migrate(options) {
32
33
  // The migrations are independent so we can run them in any order, but we sort them here
@@ -1,18 +1,18 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.2.0
3
+ * @license Angular v20.2.2
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
9
  var schematics = require('@angular-devkit/schematics');
10
- var index = require('./index-DwItZ4Tw.cjs');
10
+ var index = require('./index-D6oJ4URa.cjs');
11
11
  var fs = require('fs');
12
12
  var p = require('path');
13
13
  var ts = require('typescript');
14
- var compiler_host = require('./compiler_host-CqB0JPzD.cjs');
15
- var project_tsconfig_paths = require('./project_tsconfig_paths-BIeidc3E.cjs');
14
+ var compiler_host = require('./compiler_host-B_eI7M_O.cjs');
15
+ var project_tsconfig_paths = require('./project_tsconfig_paths-BDoOg2Cc.cjs');
16
16
  var ng_decorators = require('./ng_decorators-B5HCqr20.cjs');
17
17
  var nodes = require('./nodes-B16H9JUd.cjs');
18
18
  var symbol = require('./symbol-VPWguRxr.cjs');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.2.0
3
+ * @license Angular v20.2.2
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.2.0
3
+ * @license Angular v20.2.2
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,11 +8,11 @@
8
8
 
9
9
  var ts = require('typescript');
10
10
  require('os');
11
- require('./project_tsconfig_paths-BIeidc3E.cjs');
12
- require('./index-DwItZ4Tw.cjs');
11
+ require('./project_tsconfig_paths-BDoOg2Cc.cjs');
12
+ require('./index-D6oJ4URa.cjs');
13
13
  require('path');
14
14
  require('node:path');
15
- var project_paths = require('./project_paths-OWnyHise.cjs');
15
+ var project_paths = require('./project_paths-CSaggenP.cjs');
16
16
  var imports = require('./imports-CIX-JgAN.cjs');
17
17
  var symbol = require('./symbol-VPWguRxr.cjs');
18
18
  require('@angular-devkit/core');
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.2.0
2
+ * @license Angular v20.2.2
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -10,7 +10,7 @@ import { DeferBlockDetails, DeferBlockState, ComponentRef, DebugElement, Element
10
10
  import * as i0 from '@angular/core';
11
11
  import '../graph.d.js';
12
12
  import 'rxjs';
13
- import '../signal.d.js';
13
+ import '../effect.d.js';
14
14
  import '@angular/core/primitives/di';
15
15
 
16
16
  /**
package/weak_ref.d.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.2.0
2
+ * @license Angular v20.2.2
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1 +0,0 @@
1
- {"version":3,"file":"untracked.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/packages/core/primitives/signals/src/linked_signal.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/packages/core/primitives/signals/src/untracked.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {COMPUTING, ERRORED, UNSET} from './computed';\nimport {defaultEquals, ValueEqualityFn} from './equality';\nimport {\n consumerAfterComputation,\n consumerBeforeComputation,\n producerAccessed,\n producerMarkClean,\n producerUpdateValueVersion,\n REACTIVE_NODE,\n ReactiveNode,\n runPostProducerCreatedFn,\n SIGNAL,\n} from './graph';\nimport {signalSetFn, signalUpdateFn} from './signal';\n\n// Required as the signals library is in a separate package, so we need to explicitly ensure the\n// global `ngDevMode` type is defined.\ndeclare const ngDevMode: boolean | undefined;\n\nexport type ComputationFn<S, D> = (source: S, previous?: {source: S; value: D}) => D;\n\nexport interface LinkedSignalNode<S, D> extends ReactiveNode {\n /**\n * Value of the source signal that was used to derive the computed value.\n */\n sourceValue: S;\n\n /**\n * Current state value, or one of the sentinel values (`UNSET`, `COMPUTING`,\n * `ERROR`).\n */\n value: D;\n\n /**\n * If `value` is `ERRORED`, the error caught from the last computation attempt which will\n * be re-thrown.\n */\n error: unknown;\n\n /**\n * The source function represents reactive dependency based on which the linked state is reset.\n */\n source: () => S;\n\n /**\n * The computation function which will produce a new value based on the source and, optionally - previous values.\n */\n computation: ComputationFn<S, D>;\n\n equal: ValueEqualityFn<D>;\n}\n\nexport type LinkedSignalGetter<S, D> = (() => D) & {\n [SIGNAL]: LinkedSignalNode<S, D>;\n};\n\nexport function createLinkedSignal<S, D>(\n sourceFn: () => S,\n computationFn: ComputationFn<S, D>,\n equalityFn?: ValueEqualityFn<D>,\n): LinkedSignalGetter<S, D> {\n const node: LinkedSignalNode<S, D> = Object.create(LINKED_SIGNAL_NODE);\n\n node.source = sourceFn;\n node.computation = computationFn;\n if (equalityFn != undefined) {\n node.equal = equalityFn;\n }\n\n const linkedSignalGetter = () => {\n // Check if the value needs updating before returning it.\n producerUpdateValueVersion(node);\n\n // Record that someone looked at this signal.\n producerAccessed(node);\n\n if (node.value === ERRORED) {\n throw node.error;\n }\n\n return node.value;\n };\n\n const getter = linkedSignalGetter as LinkedSignalGetter<S, D>;\n getter[SIGNAL] = node;\n if (typeof ngDevMode !== 'undefined' && ngDevMode) {\n const debugName = node.debugName ? ' (' + node.debugName + ')' : '';\n getter.toString = () => `[LinkedSignal${debugName}: ${node.value}]`;\n }\n\n runPostProducerCreatedFn(node);\n\n return getter;\n}\n\nexport function linkedSignalSetFn<S, D>(node: LinkedSignalNode<S, D>, newValue: D) {\n producerUpdateValueVersion(node);\n signalSetFn(node, newValue);\n producerMarkClean(node);\n}\n\nexport function linkedSignalUpdateFn<S, D>(\n node: LinkedSignalNode<S, D>,\n updater: (value: D) => D,\n): void {\n producerUpdateValueVersion(node);\n signalUpdateFn(node, updater);\n producerMarkClean(node);\n}\n\n// Note: Using an IIFE here to ensure that the spread assignment is not considered\n// a side-effect, ending up preserving `LINKED_SIGNAL_NODE` and `REACTIVE_NODE`.\n// TODO: remove when https://github.com/evanw/esbuild/issues/3392 is resolved.\nexport const LINKED_SIGNAL_NODE: object = /* @__PURE__ */ (() => {\n return {\n ...REACTIVE_NODE,\n value: UNSET,\n dirty: true,\n error: null,\n equal: defaultEquals,\n kind: 'linkedSignal',\n\n producerMustRecompute(node: LinkedSignalNode<unknown, unknown>): boolean {\n // Force a recomputation if there's no current value, or if the current value is in the\n // process of being calculated (which should throw an error).\n return node.value === UNSET || node.value === COMPUTING;\n },\n\n producerRecomputeValue(node: LinkedSignalNode<unknown, unknown>): void {\n if (node.value === COMPUTING) {\n // Our computation somehow led to a cyclic read of itself.\n throw new Error(\n typeof ngDevMode !== 'undefined' && ngDevMode ? 'Detected cycle in computations.' : '',\n );\n }\n\n const oldValue = node.value;\n node.value = COMPUTING;\n\n const prevConsumer = consumerBeforeComputation(node);\n let newValue: unknown;\n try {\n const newSourceValue = node.source();\n const prev =\n oldValue === UNSET || oldValue === ERRORED\n ? undefined\n : {\n source: node.sourceValue,\n value: oldValue,\n };\n newValue = node.computation(newSourceValue, prev);\n node.sourceValue = newSourceValue;\n } catch (err) {\n newValue = ERRORED;\n node.error = err;\n } finally {\n consumerAfterComputation(node, prevConsumer);\n }\n\n if (oldValue !== UNSET && newValue !== ERRORED && node.equal(oldValue, newValue)) {\n // No change to `valueVersion` - old and new values are\n // semantically equivalent.\n node.value = oldValue;\n return;\n }\n\n node.value = newValue;\n node.version++;\n },\n };\n})();\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {setActiveConsumer} from './graph';\n\n/**\n * Execute an arbitrary function in a non-reactive (non-tracking) context. The executed function\n * can, optionally, return a value.\n */\nexport function untracked<T>(nonReactiveReadsFn: () => T): T {\n const prevConsumer = setActiveConsumer(null);\n // We are not trying to catch any particular errors here, just making sure that the consumers\n // stack is restored in case of errors.\n try {\n return nonReactiveReadsFn();\n } finally {\n setActiveConsumer(prevConsumer);\n }\n}\n"],"names":[],"mappings":";;;;;;;;SAgEgB,kBAAkB,CAChC,QAAiB,EACjB,aAAkC,EAClC,UAA+B,EAAA;IAE/B,MAAM,IAAI,GAA2B,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;AAEtE,IAAA,IAAI,CAAC,MAAM,GAAG,QAAQ;AACtB,IAAA,IAAI,CAAC,WAAW,GAAG,aAAa;AAChC,IAAA,IAAI,UAAU,IAAI,SAAS,EAAE;AAC3B,QAAA,IAAI,CAAC,KAAK,GAAG,UAAU;;IAGzB,MAAM,kBAAkB,GAAG,MAAK;;QAE9B,0BAA0B,CAAC,IAAI,CAAC;;QAGhC,gBAAgB,CAAC,IAAI,CAAC;AAEtB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,EAAE;YAC1B,MAAM,IAAI,CAAC,KAAK;;QAGlB,OAAO,IAAI,CAAC,KAAK;AACnB,KAAC;IAED,MAAM,MAAM,GAAG,kBAA8C;AAC7D,IAAA,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI;AACrB,IAAA,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,EAAE;AACjD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,EAAE;AACnE,QAAA,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAgB,aAAA,EAAA,SAAS,CAAK,EAAA,EAAA,IAAI,CAAC,KAAK,GAAG;;IAGrE,wBAAwB,CAAC,IAAI,CAAC;AAE9B,IAAA,OAAO,MAAM;AACf;AAEgB,SAAA,iBAAiB,CAAO,IAA4B,EAAE,QAAW,EAAA;IAC/E,0BAA0B,CAAC,IAAI,CAAC;AAChC,IAAA,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC;IAC3B,iBAAiB,CAAC,IAAI,CAAC;AACzB;AAEgB,SAAA,oBAAoB,CAClC,IAA4B,EAC5B,OAAwB,EAAA;IAExB,0BAA0B,CAAC,IAAI,CAAC;AAChC,IAAA,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC;IAC7B,iBAAiB,CAAC,IAAI,CAAC;AACzB;AAEA;AACA;AACA;AACO,MAAM,kBAAkB,mBAA2B,CAAC,MAAK;IAC9D,OAAO;AACL,QAAA,GAAG,aAAa;AAChB,QAAA,KAAK,EAAE,KAAK;AACZ,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,KAAK,EAAE,aAAa;AACpB,QAAA,IAAI,EAAE,cAAc;AAEpB,QAAA,qBAAqB,CAAC,IAAwC,EAAA;;;YAG5D,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;SACxD;AAED,QAAA,sBAAsB,CAAC,IAAwC,EAAA;AAC7D,YAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;;AAE5B,gBAAA,MAAM,IAAI,KAAK,CACb,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,GAAG,iCAAiC,GAAG,EAAE,CACvF;;AAGH,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK;AAC3B,YAAA,IAAI,CAAC,KAAK,GAAG,SAAS;AAEtB,YAAA,MAAM,YAAY,GAAG,yBAAyB,CAAC,IAAI,CAAC;AACpD,YAAA,IAAI,QAAiB;AACrB,YAAA,IAAI;AACF,gBAAA,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE;gBACpC,MAAM,IAAI,GACR,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK;AACjC,sBAAE;AACF,sBAAE;wBACE,MAAM,EAAE,IAAI,CAAC,WAAW;AACxB,wBAAA,KAAK,EAAE,QAAQ;qBAChB;gBACP,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC;AACjD,gBAAA,IAAI,CAAC,WAAW,GAAG,cAAc;;YACjC,OAAO,GAAG,EAAE;gBACZ,QAAQ,GAAG,OAAO;AAClB,gBAAA,IAAI,CAAC,KAAK,GAAG,GAAG;;oBACR;AACR,gBAAA,wBAAwB,CAAC,IAAI,EAAE,YAAY,CAAC;;AAG9C,YAAA,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;;;AAGhF,gBAAA,IAAI,CAAC,KAAK,GAAG,QAAQ;gBACrB;;AAGF,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ;YACrB,IAAI,CAAC,OAAO,EAAE;SACf;KACF;AACH,CAAC,GAAG;;ACxKJ;;;AAGG;AACG,SAAU,SAAS,CAAI,kBAA2B,EAAA;AACtD,IAAA,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC;;;AAG5C,IAAA,IAAI;QACF,OAAO,kBAAkB,EAAE;;YACnB;QACR,iBAAiB,CAAC,YAAY,CAAC;;AAEnC;;;;"}