@angular/core 17.1.1 → 17.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/esm2022/src/application/application_init.mjs +2 -2
  2. package/esm2022/src/application/application_ref.mjs +55 -17
  3. package/esm2022/src/application/application_tokens.mjs +9 -9
  4. package/esm2022/src/authoring/input.mjs +1 -1
  5. package/esm2022/src/authoring/input_signal.mjs +1 -1
  6. package/esm2022/src/authoring/input_type_checking.mjs +1 -1
  7. package/esm2022/src/authoring.mjs +1 -1
  8. package/esm2022/src/change_detection/scheduling/zoneless_scheduling_impl.mjs +51 -18
  9. package/esm2022/src/core_private_export.mjs +2 -2
  10. package/esm2022/src/defer/instructions.mjs +16 -7
  11. package/esm2022/src/di/forward_ref.mjs +1 -1
  12. package/esm2022/src/di/initializer_token.mjs +2 -2
  13. package/esm2022/src/di/injector.mjs +4 -4
  14. package/esm2022/src/di/injector_token.mjs +2 -2
  15. package/esm2022/src/di/internal_tokens.mjs +2 -2
  16. package/esm2022/src/di/scope.mjs +2 -2
  17. package/esm2022/src/hydration/error_handling.mjs +17 -6
  18. package/esm2022/src/hydration/utils.mjs +54 -8
  19. package/esm2022/src/i18n/tokens.mjs +5 -5
  20. package/esm2022/src/linker/compiler.mjs +2 -2
  21. package/esm2022/src/metadata/di.mjs +1 -1
  22. package/esm2022/src/platform/platform.mjs +2 -2
  23. package/esm2022/src/platform/platform_ref.mjs +2 -2
  24. package/esm2022/src/render3/after_render_hooks.mjs +2 -6
  25. package/esm2022/src/render3/component_ref.mjs +1 -1
  26. package/esm2022/src/render3/definition.mjs +1 -1
  27. package/esm2022/src/render3/errors_di.mjs +2 -2
  28. package/esm2022/src/render3/i18n/i18n_locale_id.mjs +2 -2
  29. package/esm2022/src/render3/instructions/change_detection.mjs +6 -6
  30. package/esm2022/src/render3/instructions/element.mjs +3 -3
  31. package/esm2022/src/render3/instructions/write_to_directive_input.mjs +1 -1
  32. package/esm2022/src/render3/util/view_utils.mjs +3 -3
  33. package/esm2022/src/render3/view_ref.mjs +1 -1
  34. package/esm2022/src/util/ng_dev_mode.mjs +11 -3
  35. package/esm2022/src/util/stringify.mjs +2 -2
  36. package/esm2022/src/version.mjs +1 -1
  37. package/esm2022/testing/src/component_fixture.mjs +127 -92
  38. package/esm2022/testing/src/logger.mjs +3 -3
  39. package/esm2022/testing/src/test_bed.mjs +11 -6
  40. package/esm2022/testing/src/test_bed_common.mjs +9 -2
  41. package/esm2022/testing/src/test_bed_compiler.mjs +5 -4
  42. package/esm2022/testing/src/testing.mjs +2 -2
  43. package/fesm2022/core.mjs +510 -376
  44. package/fesm2022/core.mjs.map +1 -1
  45. package/fesm2022/primitives/signals.mjs +1 -1
  46. package/fesm2022/rxjs-interop.mjs +1 -1
  47. package/fesm2022/testing.mjs +142 -95
  48. package/fesm2022/testing.mjs.map +1 -1
  49. package/index.d.ts +85 -23
  50. package/package.json +1 -1
  51. package/primitives/signals/index.d.ts +1 -1
  52. package/rxjs-interop/index.d.ts +1 -1
  53. package/schematics/migrations/block-template-entities/bundle.js +255 -208
  54. package/schematics/migrations/block-template-entities/bundle.js.map +3 -3
  55. package/schematics/migrations/compiler-options/bundle.js +13 -13
  56. package/schematics/migrations/transfer-state/bundle.js +13 -13
  57. package/schematics/ng-generate/control-flow-migration/bundle.js +265 -218
  58. package/schematics/ng-generate/control-flow-migration/bundle.js.map +3 -3
  59. package/schematics/ng-generate/standalone-migration/bundle.js +702 -560
  60. package/schematics/ng-generate/standalone-migration/bundle.js.map +3 -3
  61. package/testing/index.d.ts +6 -17
@@ -63,7 +63,7 @@ var __async = (__this, __arguments, generator) => {
63
63
  });
64
64
  };
65
65
 
66
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/migrations/block-template-entities/index.mjs
66
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/migrations/block-template-entities/index.mjs
67
67
  var block_template_entities_exports = {};
68
68
  __export(block_template_entities_exports, {
69
69
  default: () => block_template_entities_default
@@ -72,7 +72,7 @@ module.exports = __toCommonJS(block_template_entities_exports);
72
72
  var import_schematics = require("@angular-devkit/schematics");
73
73
  var import_path3 = require("path");
74
74
 
75
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/project_tsconfig_paths.mjs
75
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/project_tsconfig_paths.mjs
76
76
  var import_core = require("@angular-devkit/core");
77
77
  function getProjectTsConfigPaths(tree) {
78
78
  return __async(this, null, function* () {
@@ -152,11 +152,11 @@ function getWorkspace(tree) {
152
152
  });
153
153
  }
154
154
 
155
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/typescript/compiler_host.mjs
155
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/typescript/compiler_host.mjs
156
156
  var import_path = require("path");
157
157
  var import_typescript2 = __toESM(require("typescript"), 1);
158
158
 
159
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/typescript/parse_tsconfig.mjs
159
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/typescript/parse_tsconfig.mjs
160
160
  var path = __toESM(require("path"), 1);
161
161
  var import_typescript = __toESM(require("typescript"), 1);
162
162
  function parseTsconfigFile(tsconfigPath, basePath) {
@@ -173,7 +173,7 @@ function parseTsconfigFile(tsconfigPath, basePath) {
173
173
  return import_typescript.default.parseJsonConfigFileContent(config, parseConfigHost, basePath, {});
174
174
  }
175
175
 
176
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/typescript/compiler_host.mjs
176
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/typescript/compiler_host.mjs
177
177
  function createMigrationProgram(tree, tsconfigPath, basePath, fakeFileRead, additionalFiles) {
178
178
  const { rootNames, options, host } = createProgramOptions(tree, tsconfigPath, basePath, fakeFileRead, additionalFiles);
179
179
  return import_typescript2.default.createProgram(rootNames, options, host);
@@ -206,7 +206,7 @@ function canMigrateFile(basePath, sourceFile, program) {
206
206
  return !(0, import_path.relative)(basePath, sourceFile.fileName).startsWith("..");
207
207
  }
208
208
 
209
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/selector.mjs
209
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/selector.mjs
210
210
  var _SELECTOR_REGEXP = new RegExp(
211
211
  `(\\:not\\()|(([\\.\\#]?)[-\\w]+)|(?:\\[([-.\\w*\\\\$]+)(?:=(["']?)([^\\]"']*)\\5)?\\])|(\\))|(\\s*,\\s*)`,
212
212
  "g"
@@ -514,7 +514,7 @@ var SelectorContext = class {
514
514
  }
515
515
  };
516
516
 
517
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/core.mjs
517
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/core.mjs
518
518
  var ViewEncapsulation;
519
519
  (function(ViewEncapsulation2) {
520
520
  ViewEncapsulation2[ViewEncapsulation2["Emulated"] = 0] = "Emulated";
@@ -582,7 +582,7 @@ function parseSelectorToR3Selector(selector) {
582
582
  return selector ? CssSelector.parse(selector).map(parserSelectorToR3Selector) : [];
583
583
  }
584
584
 
585
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/digest.mjs
585
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/digest.mjs
586
586
  var textEncoder;
587
587
  function computeDigest(message) {
588
588
  return sha1(serializeNodes(message.nodes).join("") + `[${message.meaning}]`);
@@ -822,7 +822,7 @@ function wordAt(bytes, index, endian) {
822
822
  return word;
823
823
  }
824
824
 
825
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/output_ast.mjs
825
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/output_ast.mjs
826
826
  var TypeModifier;
827
827
  (function(TypeModifier2) {
828
828
  TypeModifier2[TypeModifier2["None"] = 0] = "None";
@@ -1781,7 +1781,7 @@ function serializeTags(tags) {
1781
1781
  return out;
1782
1782
  }
1783
1783
 
1784
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/constant_pool.mjs
1784
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/constant_pool.mjs
1785
1785
  var CONSTANT_PREFIX = "_c";
1786
1786
  var UNKNOWN_VALUE_KEY = variable("<unknown>");
1787
1787
  var KEY_CONTEXT = {};
@@ -1821,6 +1821,7 @@ var ConstantPool = class {
1821
1821
  this.literals = /* @__PURE__ */ new Map();
1822
1822
  this.literalFactories = /* @__PURE__ */ new Map();
1823
1823
  this.sharedConstants = /* @__PURE__ */ new Map();
1824
+ this._claimedNames = /* @__PURE__ */ new Map();
1824
1825
  this.nextNameIndex = 0;
1825
1826
  }
1826
1827
  getConstLiteral(literal2, forceShared) {
@@ -1913,8 +1914,12 @@ var ConstantPool = class {
1913
1914
  }
1914
1915
  return { literalFactory, literalFactoryArguments };
1915
1916
  }
1916
- uniqueName(prefix) {
1917
- return `${prefix}${this.nextNameIndex++}`;
1917
+ uniqueName(name, alwaysIncludeSuffix = true) {
1918
+ var _a2;
1919
+ const count = (_a2 = this._claimedNames.get(name)) != null ? _a2 : 0;
1920
+ const result = count === 0 && !alwaysIncludeSuffix ? `${name}` : `${name}${count}`;
1921
+ this._claimedNames.set(name, count + 1);
1922
+ return result;
1918
1923
  }
1919
1924
  freshName() {
1920
1925
  return this.uniqueName(CONSTANT_PREFIX);
@@ -1964,7 +1969,7 @@ function isLongStringLiteral(expr) {
1964
1969
  return expr instanceof LiteralExpr && typeof expr.value === "string" && expr.value.length >= POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS;
1965
1970
  }
1966
1971
 
1967
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_identifiers.mjs
1972
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_identifiers.mjs
1968
1973
  var CORE = "@angular/core";
1969
1974
  var _Identifiers = class {
1970
1975
  };
@@ -2609,7 +2614,7 @@ var Identifiers = _Identifiers;
2609
2614
  _Identifiers.UnwrapDirectiveSignalInputs = { name: "\u0275UnwrapDirectiveSignalInputs", moduleName: CORE };
2610
2615
  })();
2611
2616
 
2612
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/util.mjs
2617
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/util.mjs
2613
2618
  var DASH_CASE_REGEXP = /-+([a-z0-9])/g;
2614
2619
  function dashCaseToCamelCase(input) {
2615
2620
  return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());
@@ -2697,7 +2702,7 @@ function partitionArray(arr, conditionFn) {
2697
2702
  return [truthy, falsy];
2698
2703
  }
2699
2704
 
2700
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/source_map.mjs
2705
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/source_map.mjs
2701
2706
  var VERSION = 3;
2702
2707
  var JS_B64_PREFIX = "# sourceMappingURL=data:application/json;base64,";
2703
2708
  var SourceMapGenerator = class {
@@ -2826,7 +2831,7 @@ function toBase64Digit(value) {
2826
2831
  return B64_DIGITS[value];
2827
2832
  }
2828
2833
 
2829
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/abstract_emitter.mjs
2834
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/abstract_emitter.mjs
2830
2835
  var _SINGLE_QUOTE_ESCAPE_STRING_RE = /'|\\|\n|\r|\$/g;
2831
2836
  var _LEGAL_IDENTIFIER_RE = /^[$A-Z_][0-9A-Z_$]*$/i;
2832
2837
  var _INDENT_WITH = " ";
@@ -3314,7 +3319,7 @@ function _createIndent(count) {
3314
3319
  return res;
3315
3320
  }
3316
3321
 
3317
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/util.mjs
3322
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/util.mjs
3318
3323
  function typeWithParameters(type, numParams) {
3319
3324
  if (numParams === 0) {
3320
3325
  return expressionType(type);
@@ -3379,7 +3384,7 @@ function generateForwardRef(expr) {
3379
3384
  return importExpr(Identifiers.forwardRef).callFn([arrowFn([], expr)]);
3380
3385
  }
3381
3386
 
3382
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_factory.mjs
3387
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_factory.mjs
3383
3388
  var R3FactoryDelegateType;
3384
3389
  (function(R3FactoryDelegateType2) {
3385
3390
  R3FactoryDelegateType2[R3FactoryDelegateType2["Class"] = 0] = "Class";
@@ -3524,7 +3529,7 @@ function getInjectFn(target) {
3524
3529
  }
3525
3530
  }
3526
3531
 
3527
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/tags.mjs
3532
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/tags.mjs
3528
3533
  var TagContentType;
3529
3534
  (function(TagContentType2) {
3530
3535
  TagContentType2[TagContentType2["RAW_TEXT"] = 0] = "RAW_TEXT";
@@ -3561,7 +3566,7 @@ function mergeNsAndName(prefix, localName) {
3561
3566
  return prefix ? `:${prefix}:${localName}` : localName;
3562
3567
  }
3563
3568
 
3564
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_ast.mjs
3569
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_ast.mjs
3565
3570
  var Comment = class {
3566
3571
  constructor(value, sourceSpan) {
3567
3572
  this.value = value;
@@ -3942,7 +3947,7 @@ function visitAll(visitor, nodes) {
3942
3947
  return result;
3943
3948
  }
3944
3949
 
3945
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/i18n_ast.mjs
3950
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/i18n_ast.mjs
3946
3951
  var Message = class {
3947
3952
  constructor(nodes, placeholders, placeholderToMessage, meaning, description, customId) {
3948
3953
  this.nodes = nodes;
@@ -4080,7 +4085,7 @@ var LocalizeMessageStringVisitor = class {
4080
4085
  }
4081
4086
  };
4082
4087
 
4083
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/serializers/xml_helper.mjs
4088
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/serializers/xml_helper.mjs
4084
4089
  var _Visitor = class {
4085
4090
  visitTag(tag) {
4086
4091
  const strAttrs = this._serializeAttributes(tag.attrs);
@@ -4108,12 +4113,12 @@ ${doctype.dtd}
4108
4113
  };
4109
4114
  var _visitor = new _Visitor();
4110
4115
 
4111
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/serializers/xmb.mjs
4116
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/serializers/xmb.mjs
4112
4117
  function toPublicName(internalName) {
4113
4118
  return internalName.toUpperCase().replace(/[^A-Z0-9_]/g, "_");
4114
4119
  }
4115
4120
 
4116
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/util.mjs
4121
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/util.mjs
4117
4122
  var CLOSURE_TRANSLATION_VAR_PREFIX = "MSG_";
4118
4123
  var TRANSLATION_VAR_PREFIX = "i18n_";
4119
4124
  var I18N_ATTR = "i18n";
@@ -4215,7 +4220,7 @@ function declareI18nVariable(variable2) {
4215
4220
  return new DeclareVarStmt(variable2.name, void 0, INFERRED_TYPE, void 0, variable2.sourceSpan);
4216
4221
  }
4217
4222
 
4218
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/util.mjs
4223
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/util.mjs
4219
4224
  var UNSAFE_OBJECT_KEY_NAME_REGEXP = /[-.]/;
4220
4225
  var TEMPORARY_NAME = "_t";
4221
4226
  var CONTEXT_NAME = "ctx";
@@ -4432,7 +4437,7 @@ function getAttrsForDirectiveMatching(elOrTpl) {
4432
4437
  }
4433
4438
  });
4434
4439
  elOrTpl.inputs.forEach((i) => {
4435
- if (i.type === 0) {
4440
+ if (i.type === 0 || i.type === 5) {
4436
4441
  attributesMap[i.name] = "";
4437
4442
  }
4438
4443
  });
@@ -4477,7 +4482,7 @@ function getInstructionStatements(instructions) {
4477
4482
  return statements;
4478
4483
  }
4479
4484
 
4480
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/injectable_compiler_2.mjs
4485
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/injectable_compiler_2.mjs
4481
4486
  function compileInjectable(meta, resolveForwardRefs) {
4482
4487
  let result = null;
4483
4488
  const factoryMeta = {
@@ -4562,7 +4567,7 @@ function createFactoryFunction(type) {
4562
4567
  return arrowFn([new FnParam("t", DYNAMIC_TYPE)], type.prop("\u0275fac").callFn([variable("t")]));
4563
4568
  }
4564
4569
 
4565
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/assertions.mjs
4570
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/assertions.mjs
4566
4571
  var UNUSABLE_INTERPOLATION_REGEXPS = [
4567
4572
  /^\s*$/,
4568
4573
  /[<>]/,
@@ -4584,7 +4589,7 @@ function assertInterpolationSymbols(identifier, value) {
4584
4589
  }
4585
4590
  }
4586
4591
 
4587
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/defaults.mjs
4592
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/defaults.mjs
4588
4593
  var InterpolationConfig = class {
4589
4594
  static fromArray(markers) {
4590
4595
  if (!markers) {
@@ -4601,7 +4606,7 @@ var InterpolationConfig = class {
4601
4606
  var DEFAULT_INTERPOLATION_CONFIG = new InterpolationConfig("{{", "}}");
4602
4607
  var DEFAULT_CONTAINER_BLOCKS = /* @__PURE__ */ new Set(["switch"]);
4603
4608
 
4604
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/chars.mjs
4609
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/chars.mjs
4605
4610
  var $EOF = 0;
4606
4611
  var $BSPACE = 8;
4607
4612
  var $TAB = 9;
@@ -4683,7 +4688,7 @@ function isQuote(code) {
4683
4688
  return code === $SQ || code === $DQ || code === $BT;
4684
4689
  }
4685
4690
 
4686
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/parse_util.mjs
4691
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/parse_util.mjs
4687
4692
  var ParseLocation = class {
4688
4693
  constructor(file, offset, line, col) {
4689
4694
  this.file = file;
@@ -4830,7 +4835,7 @@ function sanitizeIdentifier(name) {
4830
4835
  return name.replace(/\W/g, "_");
4831
4836
  }
4832
4837
 
4833
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/abstract_js_emitter.mjs
4838
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/abstract_js_emitter.mjs
4834
4839
  var makeTemplateObjectPolyfill = '(this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e})';
4835
4840
  var AbstractJsEmitterVisitor = class extends AbstractEmitterVisitor {
4836
4841
  constructor() {
@@ -4923,7 +4928,7 @@ var AbstractJsEmitterVisitor = class extends AbstractEmitterVisitor {
4923
4928
  }
4924
4929
  };
4925
4930
 
4926
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/output_jit_trusted_types.mjs
4931
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/output_jit_trusted_types.mjs
4927
4932
  var policy;
4928
4933
  function getPolicy() {
4929
4934
  if (policy === void 0) {
@@ -4961,7 +4966,7 @@ function newTrustedFunctionForJIT(...args) {
4961
4966
  return fn2.bind(_global);
4962
4967
  }
4963
4968
 
4964
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/output_jit.mjs
4969
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/output_jit.mjs
4965
4970
  var JitEvaluator = class {
4966
4971
  evaluateStatements(sourceUrl, statements, refResolver, createSourceMaps) {
4967
4972
  const converter = new JitEmitterVisitor(refResolver);
@@ -5052,7 +5057,7 @@ function isUseStrictStatement(statement) {
5052
5057
  return statement.isEquivalent(literal("use strict").toStmt());
5053
5058
  }
5054
5059
 
5055
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_injector_compiler.mjs
5060
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_injector_compiler.mjs
5056
5061
  function compileInjector(meta) {
5057
5062
  const definitionMap = new DefinitionMap();
5058
5063
  if (meta.providers !== null) {
@@ -5069,7 +5074,7 @@ function createInjectorType(meta) {
5069
5074
  return new ExpressionType(importExpr(Identifiers.InjectorDeclaration, [new ExpressionType(meta.type.type)]));
5070
5075
  }
5071
5076
 
5072
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_jit.mjs
5077
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_jit.mjs
5073
5078
  var R3JitReflector = class {
5074
5079
  constructor(context) {
5075
5080
  this.context = context;
@@ -5085,7 +5090,7 @@ var R3JitReflector = class {
5085
5090
  }
5086
5091
  };
5087
5092
 
5088
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_module_compiler.mjs
5093
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_module_compiler.mjs
5089
5094
  var R3SelectorScopeMode;
5090
5095
  (function(R3SelectorScopeMode2) {
5091
5096
  R3SelectorScopeMode2[R3SelectorScopeMode2["Inline"] = 0] = "Inline";
@@ -5226,7 +5231,7 @@ function tupleOfTypes(types) {
5226
5231
  return types.length > 0 ? expressionType(literalArr(typeofTypes)) : NONE_TYPE;
5227
5232
  }
5228
5233
 
5229
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_pipe_compiler.mjs
5234
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_pipe_compiler.mjs
5230
5235
  function compilePipeFromMetadata(metadata) {
5231
5236
  const definitionMapValues = [];
5232
5237
  definitionMapValues.push({ key: "name", value: literal(metadata.pipeName), quoted: false });
@@ -5247,7 +5252,7 @@ function createPipeType(metadata) {
5247
5252
  ]));
5248
5253
  }
5249
5254
 
5250
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/api.mjs
5255
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/api.mjs
5251
5256
  var R3TemplateDependencyKind;
5252
5257
  (function(R3TemplateDependencyKind2) {
5253
5258
  R3TemplateDependencyKind2[R3TemplateDependencyKind2["Directive"] = 0] = "Directive";
@@ -5255,7 +5260,7 @@ var R3TemplateDependencyKind;
5255
5260
  R3TemplateDependencyKind2[R3TemplateDependencyKind2["NgModule"] = 2] = "NgModule";
5256
5261
  })(R3TemplateDependencyKind || (R3TemplateDependencyKind = {}));
5257
5262
 
5258
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/expression_parser/ast.mjs
5263
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/expression_parser/ast.mjs
5259
5264
  var ParserError = class {
5260
5265
  constructor(message, input, errLocation, ctxLocation) {
5261
5266
  this.input = input;
@@ -5887,6 +5892,7 @@ var ParsedPropertyType;
5887
5892
  ParsedPropertyType2[ParsedPropertyType2["DEFAULT"] = 0] = "DEFAULT";
5888
5893
  ParsedPropertyType2[ParsedPropertyType2["LITERAL_ATTR"] = 1] = "LITERAL_ATTR";
5889
5894
  ParsedPropertyType2[ParsedPropertyType2["ANIMATION"] = 2] = "ANIMATION";
5895
+ ParsedPropertyType2[ParsedPropertyType2["TWO_WAY"] = 3] = "TWO_WAY";
5890
5896
  })(ParsedPropertyType || (ParsedPropertyType = {}));
5891
5897
  var ParsedEvent = class {
5892
5898
  constructor(name, targetOrPhase, type, handler, sourceSpan, handlerSpan, keySpan) {
@@ -5921,7 +5927,7 @@ var BoundElementProperty = class {
5921
5927
  }
5922
5928
  };
5923
5929
 
5924
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/compiler_util/expression_converter.mjs
5930
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/compiler_util/expression_converter.mjs
5925
5931
  var _EventHandlerVars = class {
5926
5932
  };
5927
5933
  var EventHandlerVars = _EventHandlerVars;
@@ -6562,7 +6568,7 @@ var BuiltinFunctionCall = class extends Call {
6562
6568
  }
6563
6569
  };
6564
6570
 
6565
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/schema/dom_security_schema.mjs
6571
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/schema/dom_security_schema.mjs
6566
6572
  var _SECURITY_SCHEMA;
6567
6573
  function SECURITY_SCHEMA() {
6568
6574
  if (!_SECURITY_SCHEMA) {
@@ -6620,7 +6626,7 @@ function isIframeSecuritySensitiveAttr(attrName) {
6620
6626
  return IFRAME_SECURITY_SENSITIVE_ATTRS.has(attrName.toLowerCase());
6621
6627
  }
6622
6628
 
6623
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/shadow_css.mjs
6629
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/shadow_css.mjs
6624
6630
  var animationKeywords = /* @__PURE__ */ new Set([
6625
6631
  "inherit",
6626
6632
  "initial",
@@ -7091,7 +7097,7 @@ function repeatGroups(groups, multiples) {
7091
7097
  }
7092
7098
  }
7093
7099
 
7094
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/enums.mjs
7100
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/enums.mjs
7095
7101
  var OpKind;
7096
7102
  (function(OpKind2) {
7097
7103
  OpKind2[OpKind2["ListEnd"] = 0] = "ListEnd";
@@ -7250,7 +7256,7 @@ var TemplateKind;
7250
7256
  TemplateKind2[TemplateKind2["Block"] = 2] = "Block";
7251
7257
  })(TemplateKind || (TemplateKind = {}));
7252
7258
 
7253
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/traits.mjs
7259
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/traits.mjs
7254
7260
  var ConsumesSlot = Symbol("ConsumesSlot");
7255
7261
  var DependsOnSlotContext = Symbol("DependsOnSlotContext");
7256
7262
  var ConsumesVarsTrait = Symbol("ConsumesVars");
@@ -7282,7 +7288,7 @@ function hasUsesVarOffsetTrait(expr) {
7282
7288
  return expr[UsesVarOffset] === true;
7283
7289
  }
7284
7290
 
7285
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/shared.mjs
7291
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/shared.mjs
7286
7292
  function createStatementOp(statement) {
7287
7293
  return __spreadValues({
7288
7294
  kind: OpKind.Statement,
@@ -7304,7 +7310,7 @@ var NEW_OP = {
7304
7310
  next: null
7305
7311
  };
7306
7312
 
7307
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/update.mjs
7313
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/update.mjs
7308
7314
  function createInterpolateTextOp(xref, interpolation, sourceSpan) {
7309
7315
  return __spreadValues(__spreadValues(__spreadValues({
7310
7316
  kind: OpKind.InterpolateText,
@@ -7470,7 +7476,7 @@ function createI18nApplyOp(owner, handle, sourceSpan) {
7470
7476
  }, NEW_OP);
7471
7477
  }
7472
7478
 
7473
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/expression.mjs
7479
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/expression.mjs
7474
7480
  var _a;
7475
7481
  var _b;
7476
7482
  var _c;
@@ -8302,7 +8308,7 @@ function isStringLiteral(expr) {
8302
8308
  return expr instanceof LiteralExpr && typeof expr.value === "string";
8303
8309
  }
8304
8310
 
8305
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/operations.mjs
8311
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/operations.mjs
8306
8312
  var _OpList = class {
8307
8313
  constructor() {
8308
8314
  this.debugListId = _OpList.nextListId++;
@@ -8493,14 +8499,14 @@ var OpList = _OpList;
8493
8499
  _OpList.nextListId = 0;
8494
8500
  })();
8495
8501
 
8496
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/handle.mjs
8502
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/handle.mjs
8497
8503
  var SlotHandle = class {
8498
8504
  constructor() {
8499
8505
  this.slot = null;
8500
8506
  }
8501
8507
  };
8502
8508
 
8503
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/create.mjs
8509
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/create.mjs
8504
8510
  var elementContainerOpKinds = /* @__PURE__ */ new Set([
8505
8511
  OpKind.Element,
8506
8512
  OpKind.ElementStart,
@@ -8669,7 +8675,7 @@ function createExtractedAttributeOp(target, bindingKind, namespace, name, expres
8669
8675
  trustedValueFn: null
8670
8676
  }, NEW_OP);
8671
8677
  }
8672
- function createDeferOp(xref, main, mainSlot, metadata, sourceSpan) {
8678
+ function createDeferOp(xref, main, mainSlot, metadata, resolverFn, sourceSpan) {
8673
8679
  return __spreadProps(__spreadValues(__spreadValues({
8674
8680
  kind: OpKind.Defer,
8675
8681
  xref,
@@ -8688,7 +8694,7 @@ function createDeferOp(xref, main, mainSlot, metadata, sourceSpan) {
8688
8694
  errorView: null,
8689
8695
  errorSlot: null,
8690
8696
  metadata,
8691
- resolverFn: null,
8697
+ resolverFn,
8692
8698
  sourceSpan
8693
8699
  }, NEW_OP), TRAIT_CONSUMES_SLOT), {
8694
8700
  numSlotsUsed: 2
@@ -8787,7 +8793,7 @@ function createI18nAttributesOp(xref, handle, target) {
8787
8793
  }, NEW_OP), TRAIT_CONSUMES_SLOT);
8788
8794
  }
8789
8795
 
8790
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/host.mjs
8796
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/host.mjs
8791
8797
  function createHostPropertyOp(name, expression, isAnimationTrigger, i18nContext, securityContext, sourceSpan) {
8792
8798
  return __spreadValues(__spreadValues({
8793
8799
  kind: OpKind.HostProperty,
@@ -8801,10 +8807,10 @@ function createHostPropertyOp(name, expression, isAnimationTrigger, i18nContext,
8801
8807
  }, TRAIT_CONSUMES_VARS), NEW_OP);
8802
8808
  }
8803
8809
 
8804
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/variable.mjs
8810
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/variable.mjs
8805
8811
  var CTX_REF = "CTX_REF_MARKER";
8806
8812
 
8807
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/compilation.mjs
8813
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/compilation.mjs
8808
8814
  var CompilationJobKind;
8809
8815
  (function(CompilationJobKind2) {
8810
8816
  CompilationJobKind2[CompilationJobKind2["Tmpl"] = 0] = "Tmpl";
@@ -8824,11 +8830,12 @@ var CompilationJob = class {
8824
8830
  }
8825
8831
  };
8826
8832
  var ComponentCompilationJob = class extends CompilationJob {
8827
- constructor(componentName, pool, compatibility, relativeContextFilePath, i18nUseExternalIds, deferBlocksMeta) {
8833
+ constructor(componentName, pool, compatibility, relativeContextFilePath, i18nUseExternalIds, deferBlocksMeta, allDeferrableDepsFn) {
8828
8834
  super(componentName, pool, compatibility);
8829
8835
  this.relativeContextFilePath = relativeContextFilePath;
8830
8836
  this.i18nUseExternalIds = i18nUseExternalIds;
8831
8837
  this.deferBlocksMeta = deferBlocksMeta;
8838
+ this.allDeferrableDepsFn = allDeferrableDepsFn;
8832
8839
  this.kind = CompilationJobKind.Tmpl;
8833
8840
  this.fnSuffix = "Template";
8834
8841
  this.views = /* @__PURE__ */ new Map();
@@ -8911,7 +8918,7 @@ var HostBindingCompilationUnit = class extends CompilationUnit {
8911
8918
  }
8912
8919
  };
8913
8920
 
8914
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/any_cast.mjs
8921
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/any_cast.mjs
8915
8922
  function deleteAnyCasts(job) {
8916
8923
  for (const unit of job.units) {
8917
8924
  for (const op of unit.ops()) {
@@ -8929,7 +8936,7 @@ function removeAnys(e) {
8929
8936
  return e;
8930
8937
  }
8931
8938
 
8932
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/apply_i18n_expressions.mjs
8939
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/apply_i18n_expressions.mjs
8933
8940
  function applyI18nExpressions(job) {
8934
8941
  const i18nContexts = /* @__PURE__ */ new Map();
8935
8942
  for (const unit of job.units) {
@@ -8972,7 +8979,7 @@ function needsApplication(i18nContexts, op) {
8972
8979
  return false;
8973
8980
  }
8974
8981
 
8975
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/assign_i18n_slot_dependencies.mjs
8982
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/assign_i18n_slot_dependencies.mjs
8976
8983
  function assignI18nSlotDependencies(job) {
8977
8984
  for (const unit of job.units) {
8978
8985
  let updateOp = unit.update.head;
@@ -9017,7 +9024,7 @@ function assignI18nSlotDependencies(job) {
9017
9024
  }
9018
9025
  }
9019
9026
 
9020
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/util/elements.mjs
9027
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/util/elements.mjs
9021
9028
  function createOpXrefMap(unit) {
9022
9029
  const map = /* @__PURE__ */ new Map();
9023
9030
  for (const op of unit.create) {
@@ -9032,7 +9039,7 @@ function createOpXrefMap(unit) {
9032
9039
  return map;
9033
9040
  }
9034
9041
 
9035
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/attribute_extraction.mjs
9042
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/attribute_extraction.mjs
9036
9043
  function extractAttributes(job) {
9037
9044
  for (const unit of job.units) {
9038
9045
  const elements = createOpXrefMap(unit);
@@ -9134,7 +9141,7 @@ function extractAttributeOp(unit, op, elements) {
9134
9141
  }
9135
9142
  }
9136
9143
 
9137
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/binding_specialization.mjs
9144
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/binding_specialization.mjs
9138
9145
  function lookupElement2(elements, xref) {
9139
9146
  const el = elements.get(xref);
9140
9147
  if (el === void 0) {
@@ -9185,7 +9192,7 @@ function specializeBindings(job) {
9185
9192
  }
9186
9193
  }
9187
9194
 
9188
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/chaining.mjs
9195
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/chaining.mjs
9189
9196
  var CHAINABLE = /* @__PURE__ */ new Set([
9190
9197
  Identifiers.attribute,
9191
9198
  Identifiers.classProp,
@@ -9251,7 +9258,7 @@ function chainOperationsInList(opList) {
9251
9258
  }
9252
9259
  }
9253
9260
 
9254
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/collapse_singleton_interpolations.mjs
9261
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/collapse_singleton_interpolations.mjs
9255
9262
  function collapseSingletonInterpolations(job) {
9256
9263
  for (const unit of job.units) {
9257
9264
  for (const op of unit.update) {
@@ -9263,7 +9270,7 @@ function collapseSingletonInterpolations(job) {
9263
9270
  }
9264
9271
  }
9265
9272
 
9266
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/conditionals.mjs
9273
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/conditionals.mjs
9267
9274
  function generateConditionalExpressions(job) {
9268
9275
  for (const unit of job.units) {
9269
9276
  for (const op of unit.ops()) {
@@ -9300,7 +9307,7 @@ function generateConditionalExpressions(job) {
9300
9307
  }
9301
9308
  }
9302
9309
 
9303
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/conversion.mjs
9310
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/conversion.mjs
9304
9311
  var BINARY_OPERATORS = /* @__PURE__ */ new Map([
9305
9312
  ["&&", BinaryOperator.And],
9306
9313
  [">", BinaryOperator.Bigger],
@@ -9351,7 +9358,7 @@ function literalOrArrayLiteral(value) {
9351
9358
  return literal(value);
9352
9359
  }
9353
9360
 
9354
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/const_collection.mjs
9361
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/const_collection.mjs
9355
9362
  function collectElementConsts(job) {
9356
9363
  const allElementAttributes = /* @__PURE__ */ new Map();
9357
9364
  for (const unit of job.units) {
@@ -9513,7 +9520,7 @@ function serializeAttributes({ attributes, bindings, classes, i18n: i18n2, proje
9513
9520
  return literalArr(attrArray);
9514
9521
  }
9515
9522
 
9516
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/convert_i18n_bindings.mjs
9523
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/convert_i18n_bindings.mjs
9517
9524
  function convertI18nBindings(job) {
9518
9525
  const i18nAttributesByElem = /* @__PURE__ */ new Map();
9519
9526
  for (const unit of job.units) {
@@ -9554,18 +9561,25 @@ function convertI18nBindings(job) {
9554
9561
  }
9555
9562
  }
9556
9563
 
9557
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/create_defer_deps_fns.mjs
9564
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/create_defer_deps_fns.mjs
9558
9565
  function createDeferDepsFns(job) {
9566
+ var _a2;
9559
9567
  for (const unit of job.units) {
9560
9568
  for (const op of unit.create) {
9561
9569
  if (op.kind === OpKind.Defer) {
9562
9570
  if (op.metadata.deps.length === 0) {
9563
9571
  continue;
9564
9572
  }
9573
+ if (op.resolverFn !== null) {
9574
+ continue;
9575
+ }
9565
9576
  const dependencies = [];
9566
9577
  for (const dep of op.metadata.deps) {
9567
9578
  if (dep.isDeferrable) {
9568
- const innerFn = arrowFn([new FnParam("m", DYNAMIC_TYPE)], variable("m").prop(dep.symbolName));
9579
+ const innerFn = arrowFn(
9580
+ [new FnParam("m", DYNAMIC_TYPE)],
9581
+ variable("m").prop(dep.isDefaultImport ? "default" : dep.symbolName)
9582
+ );
9569
9583
  const importExpr2 = new DynamicImportExpr(dep.importPath).prop("then").callFn([innerFn]);
9570
9584
  dependencies.push(importExpr2);
9571
9585
  } else {
@@ -9576,9 +9590,10 @@ function createDeferDepsFns(job) {
9576
9590
  if (op.handle.slot === null) {
9577
9591
  throw new Error("AssertionError: slot must be assigned bfore extracting defer deps functions");
9578
9592
  }
9593
+ const fullPathName = (_a2 = unit.fnName) == null ? void 0 : _a2.replace(`_Template`, ``);
9579
9594
  op.resolverFn = job.pool.getSharedFunctionReference(
9580
9595
  depsFnExpr,
9581
- `${job.componentName}_Defer_${op.handle.slot}_DepsFn`,
9596
+ `${fullPathName}_Defer_${op.handle.slot}_DepsFn`,
9582
9597
  false
9583
9598
  );
9584
9599
  }
@@ -9586,7 +9601,7 @@ function createDeferDepsFns(job) {
9586
9601
  }
9587
9602
  }
9588
9603
 
9589
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/create_i18n_contexts.mjs
9604
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/create_i18n_contexts.mjs
9590
9605
  function createI18nContexts(job) {
9591
9606
  const attrContextByMessage = /* @__PURE__ */ new Map();
9592
9607
  for (const unit of job.units) {
@@ -9664,7 +9679,7 @@ function createI18nContexts(job) {
9664
9679
  }
9665
9680
  }
9666
9681
 
9667
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/deduplicate_text_bindings.mjs
9682
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/deduplicate_text_bindings.mjs
9668
9683
  function deduplicateTextBindings(job) {
9669
9684
  const seen = /* @__PURE__ */ new Map();
9670
9685
  for (const unit of job.units) {
@@ -9686,7 +9701,7 @@ function deduplicateTextBindings(job) {
9686
9701
  }
9687
9702
  }
9688
9703
 
9689
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/defer_configs.mjs
9704
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/defer_configs.mjs
9690
9705
  function configureDeferInstructions(job) {
9691
9706
  for (const unit of job.units) {
9692
9707
  for (const op of unit.create) {
@@ -9703,7 +9718,7 @@ function configureDeferInstructions(job) {
9703
9718
  }
9704
9719
  }
9705
9720
 
9706
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/defer_resolve_targets.mjs
9721
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/defer_resolve_targets.mjs
9707
9722
  function resolveDeferTargetNames(job) {
9708
9723
  const scopes = /* @__PURE__ */ new Map();
9709
9724
  function getScopeForView2(view) {
@@ -9797,7 +9812,7 @@ var Scope = class {
9797
9812
  }
9798
9813
  };
9799
9814
 
9800
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/empty_elements.mjs
9815
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/empty_elements.mjs
9801
9816
  var REPLACEMENTS = /* @__PURE__ */ new Map([
9802
9817
  [OpKind.ElementEnd, [OpKind.ElementStart, OpKind.Element]],
9803
9818
  [OpKind.ContainerEnd, [OpKind.ContainerStart, OpKind.Container]],
@@ -9824,7 +9839,7 @@ function collapseEmptyInstructions(job) {
9824
9839
  }
9825
9840
  }
9826
9841
 
9827
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/expand_safe_reads.mjs
9842
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/expand_safe_reads.mjs
9828
9843
  function expandSafeReads(job) {
9829
9844
  for (const unit of job.units) {
9830
9845
  for (const op of unit.ops()) {
@@ -9960,7 +9975,7 @@ function ternaryTransform(e) {
9960
9975
  return new ConditionalExpr(new BinaryOperatorExpr(BinaryOperator.Equals, e.guard, NULL_EXPR), NULL_EXPR, e.expr);
9961
9976
  }
9962
9977
 
9963
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/extract_i18n_messages.mjs
9978
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/extract_i18n_messages.mjs
9964
9979
  var ESCAPE = "\uFFFD";
9965
9980
  var ELEMENT_MARKER = "#";
9966
9981
  var TEMPLATE_MARKER = "*";
@@ -10096,7 +10111,7 @@ function formatValue(value) {
10096
10111
  return `${ESCAPE}${closeMarker}${tagMarker}${value.value}${context}${ESCAPE}`;
10097
10112
  }
10098
10113
 
10099
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/generate_advance.mjs
10114
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/generate_advance.mjs
10100
10115
  function generateAdvance(job) {
10101
10116
  for (const unit of job.units) {
10102
10117
  const slotMap = /* @__PURE__ */ new Map();
@@ -10128,7 +10143,7 @@ function generateAdvance(job) {
10128
10143
  }
10129
10144
  }
10130
10145
 
10131
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/generate_projection_def.mjs
10146
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/generate_projection_def.mjs
10132
10147
  function generateProjectionDefs(job) {
10133
10148
  const share = job.compatibility === CompatibilityMode.TemplateDefinitionBuilder;
10134
10149
  const selectors = [];
@@ -10152,7 +10167,7 @@ function generateProjectionDefs(job) {
10152
10167
  }
10153
10168
  }
10154
10169
 
10155
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/generate_variables.mjs
10170
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/generate_variables.mjs
10156
10171
  function generateVariables(job) {
10157
10172
  recursivelyProcessView(job.root, null);
10158
10173
  }
@@ -10245,7 +10260,7 @@ function generateVariablesInScopeForView(view, scope) {
10245
10260
  return newOps;
10246
10261
  }
10247
10262
 
10248
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/has_const_expression_collection.mjs
10263
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/has_const_expression_collection.mjs
10249
10264
  function collectConstExpressions(job) {
10250
10265
  for (const unit of job.units) {
10251
10266
  for (const op of unit.ops()) {
@@ -10259,7 +10274,7 @@ function collectConstExpressions(job) {
10259
10274
  }
10260
10275
  }
10261
10276
 
10262
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/host_style_property_parsing.mjs
10277
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/host_style_property_parsing.mjs
10263
10278
  var STYLE_DOT = "style.";
10264
10279
  var CLASS_DOT = "class.";
10265
10280
  var STYLE_BANG = "style!";
@@ -10317,7 +10332,7 @@ function parseProperty(name) {
10317
10332
  return { property: property2, suffix };
10318
10333
  }
10319
10334
 
10320
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/map_util.mjs
10335
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/map_util.mjs
10321
10336
  function mapLiteral(obj, quoted = false) {
10322
10337
  return literalMap(Object.keys(obj).map((key) => ({
10323
10338
  key,
@@ -10326,7 +10341,7 @@ function mapLiteral(obj, quoted = false) {
10326
10341
  })));
10327
10342
  }
10328
10343
 
10329
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/icu_serializer.mjs
10344
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/icu_serializer.mjs
10330
10345
  var IcuSerializerVisitor = class {
10331
10346
  visitText(text2) {
10332
10347
  return text2.value;
@@ -10360,7 +10375,7 @@ function serializeIcuNode(icu) {
10360
10375
  return icu.visit(serializer);
10361
10376
  }
10362
10377
 
10363
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/expression_parser/lexer.mjs
10378
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/expression_parser/lexer.mjs
10364
10379
  var TokenType;
10365
10380
  (function(TokenType2) {
10366
10381
  TokenType2[TokenType2["Character"] = 0] = "Character";
@@ -10721,7 +10736,7 @@ function parseIntAutoRadix(text2) {
10721
10736
  return result;
10722
10737
  }
10723
10738
 
10724
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/expression_parser/parser.mjs
10739
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/expression_parser/parser.mjs
10725
10740
  var SplitInterpolation = class {
10726
10741
  constructor(strings, expressions, offsets) {
10727
10742
  this.strings = strings;
@@ -11615,7 +11630,7 @@ function getIndexMapForOriginalTemplate(interpolatedTokens) {
11615
11630
  return offsetMap;
11616
11631
  }
11617
11632
 
11618
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/ast.mjs
11633
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/ast.mjs
11619
11634
  var NodeWithI18n = class {
11620
11635
  constructor(sourceSpan, i18n2) {
11621
11636
  this.sourceSpan = sourceSpan;
@@ -11767,11 +11782,11 @@ var RecursiveVisitor = class {
11767
11782
  }
11768
11783
  };
11769
11784
 
11770
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/schema/element_schema_registry.mjs
11785
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/schema/element_schema_registry.mjs
11771
11786
  var ElementSchemaRegistry = class {
11772
11787
  };
11773
11788
 
11774
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/schema/dom_element_schema_registry.mjs
11789
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/schema/dom_element_schema_registry.mjs
11775
11790
  var BOOLEAN = "boolean";
11776
11791
  var NUMBER = "number";
11777
11792
  var STRING = "string";
@@ -12124,7 +12139,7 @@ function _isPixelDimensionStyle(prop) {
12124
12139
  }
12125
12140
  }
12126
12141
 
12127
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/html_tags.mjs
12142
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/html_tags.mjs
12128
12143
  var HtmlTagDefinition = class {
12129
12144
  constructor({ closedByChildren, implicitNamespacePrefix, contentType = TagContentType.PARSABLE_DATA, closedByParent = false, isVoid = false, ignoreFirstLf = false, preventNamespaceInheritance = false, canSelfClose = false } = {}) {
12130
12145
  this.closedByChildren = {};
@@ -12242,7 +12257,7 @@ function getHtmlTagDefinition(tagName) {
12242
12257
  return (_b2 = (_a2 = TAG_DEFINITIONS[tagName]) != null ? _a2 : TAG_DEFINITIONS[tagName.toLowerCase()]) != null ? _b2 : DEFAULT_TAG_DEFINITION;
12243
12258
  }
12244
12259
 
12245
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/serializers/placeholder.mjs
12260
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/serializers/placeholder.mjs
12246
12261
  var TAG_TO_PLACEHOLDER_NAMES = {
12247
12262
  "A": "LINK",
12248
12263
  "B": "BOLD_TEXT",
@@ -12364,7 +12379,7 @@ var PlaceholderRegistry = class {
12364
12379
  }
12365
12380
  };
12366
12381
 
12367
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/i18n_parser.mjs
12382
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/i18n_parser.mjs
12368
12383
  var _expParser = new Parser(new Lexer());
12369
12384
  function createI18nMessageFactory(interpolationConfig, containerBlocks) {
12370
12385
  const visitor = new _I18nVisitor(_expParser, interpolationConfig, containerBlocks);
@@ -12543,14 +12558,14 @@ function extractPlaceholderName(input) {
12543
12558
  return input.split(_CUSTOM_PH_EXP)[2];
12544
12559
  }
12545
12560
 
12546
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/parse_util.mjs
12561
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/parse_util.mjs
12547
12562
  var I18nError = class extends ParseError {
12548
12563
  constructor(span, msg) {
12549
12564
  super(span, msg);
12550
12565
  }
12551
12566
  };
12552
12567
 
12553
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/entities.mjs
12568
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/entities.mjs
12554
12569
  var NAMED_ENTITIES = {
12555
12570
  "AElig": "\xC6",
12556
12571
  "AMP": "&",
@@ -14681,7 +14696,7 @@ var NAMED_ENTITIES = {
14681
14696
  var NGSP_UNICODE = "\uE500";
14682
14697
  NAMED_ENTITIES["ngsp"] = NGSP_UNICODE;
14683
14698
 
14684
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/lexer.mjs
14699
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/lexer.mjs
14685
14700
  var TokenError = class extends ParseError {
14686
14701
  constructor(errorMsg, tokenType, span) {
14687
14702
  super(span, errorMsg);
@@ -15602,7 +15617,7 @@ var CursorError = class {
15602
15617
  }
15603
15618
  };
15604
15619
 
15605
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/parser.mjs
15620
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/parser.mjs
15606
15621
  var TreeError = class extends ParseError {
15607
15622
  static create(elementName, span, msg) {
15608
15623
  return new TreeError(elementName, span, msg);
@@ -15986,7 +16001,7 @@ function decodeEntity(match, entity) {
15986
16001
  return match;
15987
16002
  }
15988
16003
 
15989
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/schema/trusted_types_sinks.mjs
16004
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/schema/trusted_types_sinks.mjs
15990
16005
  var TRUSTED_TYPES_SINKS = /* @__PURE__ */ new Set([
15991
16006
  "iframe|srcdoc",
15992
16007
  "*|innerhtml",
@@ -16001,7 +16016,7 @@ function isTrustedTypesSink(tagName, propName) {
16001
16016
  return TRUSTED_TYPES_SINKS.has(tagName + "|" + propName) || TRUSTED_TYPES_SINKS.has("*|" + propName);
16002
16017
  }
16003
16018
 
16004
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/meta.mjs
16019
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/meta.mjs
16005
16020
  var setI18nRefs = (htmlNode, i18nNode) => {
16006
16021
  if (htmlNode instanceof NodeWithI18n) {
16007
16022
  if (i18nNode instanceof IcuPlaceholder && htmlNode.i18n instanceof Message) {
@@ -16158,7 +16173,7 @@ function i18nMetaToJSDoc(meta) {
16158
16173
  return jsDocComment(tags);
16159
16174
  }
16160
16175
 
16161
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/get_msg_utils.mjs
16176
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/get_msg_utils.mjs
16162
16177
  var GOOG_GET_MSG = "goog.getMsg";
16163
16178
  function createGoogleGetMsgStatements(variable2, message, closureVar, placeholderValues) {
16164
16179
  const messageString = serializeI18nMessageForGetMsg(message);
@@ -16209,7 +16224,7 @@ function serializeI18nMessageForGetMsg(message) {
16209
16224
  return message.nodes.map((node) => node.visit(serializerVisitor2, null)).join("");
16210
16225
  }
16211
16226
 
16212
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/localize_utils.mjs
16227
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/localize_utils.mjs
16213
16228
  function createLocalizeStatements(variable2, message, params) {
16214
16229
  const { messageParts, placeHolders } = serializeI18nMessageForLocalize(message);
16215
16230
  const sourceSpan = getSourceSpan(message);
@@ -16298,7 +16313,7 @@ function createEmptyMessagePart(location) {
16298
16313
  return new LiteralPiece("", new ParseSourceSpan(location, location));
16299
16314
  }
16300
16315
 
16301
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/i18n_const_collection.mjs
16316
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/i18n_const_collection.mjs
16302
16317
  var NG_I18N_CLOSURE_MODE = "ngI18nClosureMode";
16303
16318
  var TRANSLATION_VAR_PREFIX2 = "i18n_";
16304
16319
  var I18N_ICU_MAPPING_PREFIX2 = "I18N_EXP_";
@@ -16459,7 +16474,7 @@ function i18nGenerateClosureVar(pool, messageId, fileBasedI18nSuffix, useExterna
16459
16474
  return variable(name);
16460
16475
  }
16461
16476
 
16462
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/i18n_text_extraction.mjs
16477
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/i18n_text_extraction.mjs
16463
16478
  function convertI18nText(job) {
16464
16479
  var _a2, _b2, _c2;
16465
16480
  for (const unit of job.units) {
@@ -16529,7 +16544,7 @@ function convertI18nText(job) {
16529
16544
  }
16530
16545
  }
16531
16546
 
16532
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/local_refs.mjs
16547
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/local_refs.mjs
16533
16548
  function liftLocalRefs(job) {
16534
16549
  for (const unit of job.units) {
16535
16550
  for (const op of unit.create) {
@@ -16559,7 +16574,7 @@ function serializeLocalRefs(refs) {
16559
16574
  return literalArr(constRefs);
16560
16575
  }
16561
16576
 
16562
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/namespace.mjs
16577
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/namespace.mjs
16563
16578
  function emitNamespaceChanges(job) {
16564
16579
  for (const unit of job.units) {
16565
16580
  let activeNamespace = Namespace.HTML;
@@ -16575,7 +16590,7 @@ function emitNamespaceChanges(job) {
16575
16590
  }
16576
16591
  }
16577
16592
 
16578
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/style_parser.mjs
16593
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/style_parser.mjs
16579
16594
  function parse(value) {
16580
16595
  const styles = [];
16581
16596
  let i = 0;
@@ -16636,13 +16651,13 @@ function hyphenate2(value) {
16636
16651
  }).toLowerCase();
16637
16652
  }
16638
16653
 
16639
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/naming.mjs
16654
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/naming.mjs
16640
16655
  function nameFunctionsAndVariables(job) {
16641
16656
  addNamesToView(job.root, job.componentName, { index: 0 }, job.compatibility === CompatibilityMode.TemplateDefinitionBuilder);
16642
16657
  }
16643
16658
  function addNamesToView(unit, baseName, state, compatibility) {
16644
16659
  if (unit.fnName === null) {
16645
- unit.fnName = sanitizeIdentifier(`${baseName}_${unit.job.fnSuffix}`);
16660
+ unit.fnName = unit.job.pool.uniqueName(sanitizeIdentifier(`${baseName}_${unit.job.fnSuffix}`), false);
16646
16661
  }
16647
16662
  const varNames = /* @__PURE__ */ new Map();
16648
16663
  for (const op of unit.ops()) {
@@ -16756,7 +16771,7 @@ function stripImportant(name) {
16756
16771
  return name;
16757
16772
  }
16758
16773
 
16759
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/next_context_merging.mjs
16774
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/next_context_merging.mjs
16760
16775
  function mergeNextContextExpressions(job) {
16761
16776
  for (const unit of job.units) {
16762
16777
  for (const op of unit.create) {
@@ -16802,7 +16817,7 @@ function mergeNextContextsInOps(ops) {
16802
16817
  }
16803
16818
  }
16804
16819
 
16805
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/ng_container.mjs
16820
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/ng_container.mjs
16806
16821
  var CONTAINER_TAG = "ng-container";
16807
16822
  function generateNgContainerOps(job) {
16808
16823
  for (const unit of job.units) {
@@ -16819,7 +16834,7 @@ function generateNgContainerOps(job) {
16819
16834
  }
16820
16835
  }
16821
16836
 
16822
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/nonbindable.mjs
16837
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/nonbindable.mjs
16823
16838
  function lookupElement3(elements, xref) {
16824
16839
  const el = elements.get(xref);
16825
16840
  if (el === void 0) {
@@ -16849,7 +16864,7 @@ function disableBindings(job) {
16849
16864
  }
16850
16865
  }
16851
16866
 
16852
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/nullish_coalescing.mjs
16867
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/nullish_coalescing.mjs
16853
16868
  function generateNullishCoalesceExpressions(job) {
16854
16869
  for (const unit of job.units) {
16855
16870
  for (const op of unit.ops()) {
@@ -16865,7 +16880,7 @@ function generateNullishCoalesceExpressions(job) {
16865
16880
  }
16866
16881
  }
16867
16882
 
16868
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/ordering.mjs
16883
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/ordering.mjs
16869
16884
  function kindTest(kind) {
16870
16885
  return (op) => op.kind === kind;
16871
16886
  }
@@ -16947,7 +16962,7 @@ function keepLast(ops) {
16947
16962
  return ops.slice(ops.length - 1);
16948
16963
  }
16949
16964
 
16950
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/parse_extracted_styles.mjs
16965
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/parse_extracted_styles.mjs
16951
16966
  function parseExtractedStyles(job) {
16952
16967
  const elements = /* @__PURE__ */ new Map();
16953
16968
  for (const unit of job.units) {
@@ -16982,7 +16997,7 @@ function parseExtractedStyles(job) {
16982
16997
  }
16983
16998
  }
16984
16999
 
16985
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/phase_remove_content_selectors.mjs
17000
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/phase_remove_content_selectors.mjs
16986
17001
  function removeContentSelectors(job) {
16987
17002
  for (const unit of job.units) {
16988
17003
  const elements = createOpXrefMap(unit);
@@ -17009,7 +17024,7 @@ function lookupInXrefMap(map, xref) {
17009
17024
  return el;
17010
17025
  }
17011
17026
 
17012
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pipe_creation.mjs
17027
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pipe_creation.mjs
17013
17028
  function createPipes(job) {
17014
17029
  for (const unit of job.units) {
17015
17030
  processPipeBindingsInView(unit);
@@ -17057,7 +17072,7 @@ function addPipeToCreationBlock(unit, afterTargetXref, binding) {
17057
17072
  throw new Error(`AssertionError: unable to find insertion point for pipe ${binding.name}`);
17058
17073
  }
17059
17074
 
17060
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pipe_variadic.mjs
17075
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pipe_variadic.mjs
17061
17076
  function createVariadicPipes(job) {
17062
17077
  for (const unit of job.units) {
17063
17078
  for (const op of unit.update) {
@@ -17074,7 +17089,7 @@ function createVariadicPipes(job) {
17074
17089
  }
17075
17090
  }
17076
17091
 
17077
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/propagate_i18n_blocks.mjs
17092
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/propagate_i18n_blocks.mjs
17078
17093
  function propagateI18nBlocks(job) {
17079
17094
  propagateI18nBlocksToTemplates(job.root, 0);
17080
17095
  }
@@ -17128,7 +17143,7 @@ function wrapTemplateWithI18n(unit, parentI18n) {
17128
17143
  }
17129
17144
  }
17130
17145
 
17131
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pure_function_extraction.mjs
17146
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pure_function_extraction.mjs
17132
17147
  function extractPureFunctions(job) {
17133
17148
  for (const view of job.units) {
17134
17149
  for (const op of view.ops()) {
@@ -17170,7 +17185,7 @@ var PureFunctionConstant = class extends GenericKeyFn {
17170
17185
  }
17171
17186
  };
17172
17187
 
17173
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pure_literal_structures.mjs
17188
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pure_literal_structures.mjs
17174
17189
  function generatePureLiteralStructures(job) {
17175
17190
  for (const unit of job.units) {
17176
17191
  for (const op of unit.update) {
@@ -17217,7 +17232,7 @@ function transformLiteralMap(expr) {
17217
17232
  return new PureFunctionExpr(literalMap(derivedEntries), nonConstantArgs);
17218
17233
  }
17219
17234
 
17220
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/instruction.mjs
17235
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/instruction.mjs
17221
17236
  function element(slot, tag, constIndex, localRefIndex, sourceSpan) {
17222
17237
  return elementOrContainerBase(Identifiers.element, slot, tag, constIndex, localRefIndex, sourceSpan);
17223
17238
  }
@@ -17739,7 +17754,7 @@ function callVariadicInstruction(config, baseArgs, interpolationArgs, extraArgs,
17739
17754
  return createStatementOp(callVariadicInstructionExpr(config, baseArgs, interpolationArgs, extraArgs, sourceSpan).toStmt());
17740
17755
  }
17741
17756
 
17742
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/reify.mjs
17757
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/reify.mjs
17743
17758
  var GLOBAL_TARGET_RESOLVERS = /* @__PURE__ */ new Map([
17744
17759
  ["window", Identifiers.resolveWindow],
17745
17760
  ["document", Identifiers.resolveDocument],
@@ -18072,7 +18087,7 @@ function reifyListenerHandler(unit, name, handlerOps, consumesDollarEvent) {
18072
18087
  return fn(params, handlerStmts, void 0, void 0, name);
18073
18088
  }
18074
18089
 
18075
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/remove_empty_bindings.mjs
18090
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/remove_empty_bindings.mjs
18076
18091
  function removeEmptyBindings(job) {
18077
18092
  for (const unit of job.units) {
18078
18093
  for (const op of unit.update) {
@@ -18093,7 +18108,7 @@ function removeEmptyBindings(job) {
18093
18108
  }
18094
18109
  }
18095
18110
 
18096
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/remove_i18n_contexts.mjs
18111
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/remove_i18n_contexts.mjs
18097
18112
  function removeI18nContexts(job) {
18098
18113
  for (const unit of job.units) {
18099
18114
  for (const op of unit.create) {
@@ -18109,7 +18124,7 @@ function removeI18nContexts(job) {
18109
18124
  }
18110
18125
  }
18111
18126
 
18112
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/remove_unused_i18n_attrs.mjs
18127
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/remove_unused_i18n_attrs.mjs
18113
18128
  function removeUnusedI18nAttributesOps(job) {
18114
18129
  for (const unit of job.units) {
18115
18130
  const ownersWithI18nExpressions = /* @__PURE__ */ new Set();
@@ -18131,7 +18146,7 @@ function removeUnusedI18nAttributesOps(job) {
18131
18146
  }
18132
18147
  }
18133
18148
 
18134
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_contexts.mjs
18149
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_contexts.mjs
18135
18150
  function resolveContexts(job) {
18136
18151
  for (const unit of job.units) {
18137
18152
  processLexicalScope(unit, unit.create);
@@ -18172,7 +18187,7 @@ function processLexicalScope(view, ops) {
18172
18187
  }
18173
18188
  }
18174
18189
 
18175
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_dollar_event.mjs
18190
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_dollar_event.mjs
18176
18191
  function resolveDollarEvent(job) {
18177
18192
  for (const unit of job.units) {
18178
18193
  transformDollarEvent(unit, unit.create);
@@ -18193,7 +18208,7 @@ function transformDollarEvent(unit, ops) {
18193
18208
  }
18194
18209
  }
18195
18210
 
18196
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_i18n_element_placeholders.mjs
18211
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_i18n_element_placeholders.mjs
18197
18212
  function resolveI18nElementPlaceholders(job) {
18198
18213
  const i18nContexts = /* @__PURE__ */ new Map();
18199
18214
  const elements = /* @__PURE__ */ new Map();
@@ -18372,7 +18387,7 @@ function addParam(params, placeholder, value, subTemplateIndex, flags) {
18372
18387
  params.set(placeholder, values);
18373
18388
  }
18374
18389
 
18375
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_i18n_expression_placeholders.mjs
18390
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_i18n_expression_placeholders.mjs
18376
18391
  function resolveI18nExpressionPlaceholders(job) {
18377
18392
  var _a2;
18378
18393
  const subTemplateIndicies = /* @__PURE__ */ new Map();
@@ -18425,7 +18440,7 @@ function updatePlaceholder(op, value, i18nContexts, icuPlaceholders) {
18425
18440
  }
18426
18441
  }
18427
18442
 
18428
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_names.mjs
18443
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_names.mjs
18429
18444
  function resolveNames(job) {
18430
18445
  for (const unit of job.units) {
18431
18446
  processLexicalScope2(unit, unit.create, null);
@@ -18489,7 +18504,7 @@ function processLexicalScope2(unit, ops, savedView) {
18489
18504
  }
18490
18505
  }
18491
18506
 
18492
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_sanitizers.mjs
18507
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_sanitizers.mjs
18493
18508
  var sanitizerFns = /* @__PURE__ */ new Map([
18494
18509
  [SecurityContext.HTML, Identifiers.sanitizeHtml],
18495
18510
  [SecurityContext.RESOURCE_URL, Identifiers.sanitizeResourceUrl],
@@ -18559,7 +18574,7 @@ function getOnlySecurityContext(securityContext) {
18559
18574
  return securityContext;
18560
18575
  }
18561
18576
 
18562
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/save_restore_view.mjs
18577
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/save_restore_view.mjs
18563
18578
  function saveAndRestoreView(job) {
18564
18579
  for (const unit of job.units) {
18565
18580
  unit.create.prepend([
@@ -18604,7 +18619,7 @@ function addSaveRestoreViewOperationToListener(unit, op) {
18604
18619
  }
18605
18620
  }
18606
18621
 
18607
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/slot_allocation.mjs
18622
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/slot_allocation.mjs
18608
18623
  function allocateSlots(job) {
18609
18624
  const slotMap = /* @__PURE__ */ new Map();
18610
18625
  for (const unit of job.units) {
@@ -18629,7 +18644,7 @@ function allocateSlots(job) {
18629
18644
  }
18630
18645
  }
18631
18646
 
18632
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/style_binding_specialization.mjs
18647
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/style_binding_specialization.mjs
18633
18648
  function specializeStyleBindings(job) {
18634
18649
  for (const unit of job.units) {
18635
18650
  for (const op of unit.update) {
@@ -18659,7 +18674,7 @@ function specializeStyleBindings(job) {
18659
18674
  }
18660
18675
  }
18661
18676
 
18662
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/temporary_variables.mjs
18677
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/temporary_variables.mjs
18663
18678
  function generateTemporaryVariables(job) {
18664
18679
  for (const unit of job.units) {
18665
18680
  unit.create.prepend(generateTemporaries(unit.create));
@@ -18717,7 +18732,7 @@ function assignName(names, expr) {
18717
18732
  expr.name = name;
18718
18733
  }
18719
18734
 
18720
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/track_fn_generation.mjs
18735
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/track_fn_generation.mjs
18721
18736
  function generateTrackFns(job) {
18722
18737
  for (const unit of job.units) {
18723
18738
  for (const op of unit.create) {
@@ -18750,7 +18765,7 @@ function generateTrackFns(job) {
18750
18765
  }
18751
18766
  }
18752
18767
 
18753
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/track_fn_optimization.mjs
18768
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/track_fn_optimization.mjs
18754
18769
  function optimizeTrackFns(job) {
18755
18770
  for (const unit of job.units) {
18756
18771
  for (const op of unit.create) {
@@ -18797,7 +18812,7 @@ function isTrackByFunctionCall(rootView, expr) {
18797
18812
  return true;
18798
18813
  }
18799
18814
 
18800
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/track_variables.mjs
18815
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/track_variables.mjs
18801
18816
  function generateTrackVariables(job) {
18802
18817
  for (const unit of job.units) {
18803
18818
  for (const op of unit.create) {
@@ -18818,7 +18833,7 @@ function generateTrackVariables(job) {
18818
18833
  }
18819
18834
  }
18820
18835
 
18821
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/var_counting.mjs
18836
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/var_counting.mjs
18822
18837
  function countVariables(job) {
18823
18838
  for (const unit of job.units) {
18824
18839
  let varCount = 0;
@@ -18926,7 +18941,7 @@ function isSingletonInterpolation(expr) {
18926
18941
  return true;
18927
18942
  }
18928
18943
 
18929
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/variable_optimization.mjs
18944
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/variable_optimization.mjs
18930
18945
  function optimizeVariables(job) {
18931
18946
  for (const unit of job.units) {
18932
18947
  inlineAlwaysInlineVariables(unit.create);
@@ -19176,7 +19191,7 @@ function allowConservativeInlining(decl, target) {
19176
19191
  }
19177
19192
  }
19178
19193
 
19179
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/wrap_icus.mjs
19194
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/wrap_icus.mjs
19180
19195
  function wrapI18nIcus(job) {
19181
19196
  for (const unit of job.units) {
19182
19197
  let currentI18nOp = null;
@@ -19206,7 +19221,7 @@ function wrapI18nIcus(job) {
19206
19221
  }
19207
19222
  }
19208
19223
 
19209
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/emit.mjs
19224
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/emit.mjs
19210
19225
  var phases = [
19211
19226
  { kind: CompilationJobKind.Tmpl, fn: removeContentSelectors },
19212
19227
  { kind: CompilationJobKind.Host, fn: parseHostStyleProperties },
@@ -19248,7 +19263,6 @@ var phases = [
19248
19263
  { kind: CompilationJobKind.Both, fn: expandSafeReads },
19249
19264
  { kind: CompilationJobKind.Both, fn: generateTemporaryVariables },
19250
19265
  { kind: CompilationJobKind.Tmpl, fn: allocateSlots },
19251
- { kind: CompilationJobKind.Tmpl, fn: createDeferDepsFns },
19252
19266
  { kind: CompilationJobKind.Tmpl, fn: resolveI18nElementPlaceholders },
19253
19267
  { kind: CompilationJobKind.Tmpl, fn: resolveI18nExpressionPlaceholders },
19254
19268
  { kind: CompilationJobKind.Tmpl, fn: extractI18nMessages },
@@ -19261,6 +19275,7 @@ var phases = [
19261
19275
  { kind: CompilationJobKind.Tmpl, fn: generateAdvance },
19262
19276
  { kind: CompilationJobKind.Both, fn: optimizeVariables },
19263
19277
  { kind: CompilationJobKind.Both, fn: nameFunctionsAndVariables },
19278
+ { kind: CompilationJobKind.Tmpl, fn: createDeferDepsFns },
19264
19279
  { kind: CompilationJobKind.Tmpl, fn: mergeNextContextExpressions },
19265
19280
  { kind: CompilationJobKind.Tmpl, fn: generateNgContainerOps },
19266
19281
  { kind: CompilationJobKind.Tmpl, fn: collapseEmptyInstructions },
@@ -19371,12 +19386,12 @@ function emitHostBindingFunction(job) {
19371
19386
  );
19372
19387
  }
19373
19388
 
19374
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/ingest.mjs
19389
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/ingest.mjs
19375
19390
  var compatibilityMode = CompatibilityMode.TemplateDefinitionBuilder;
19376
19391
  var domSchema = new DomElementSchemaRegistry();
19377
19392
  var NG_TEMPLATE_TAG_NAME = "ng-template";
19378
- function ingestComponent(componentName, template2, constantPool, relativeContextFilePath, i18nUseExternalIds, deferBlocksMeta) {
19379
- const job = new ComponentCompilationJob(componentName, constantPool, compatibilityMode, relativeContextFilePath, i18nUseExternalIds, deferBlocksMeta);
19393
+ function ingestComponent(componentName, template2, constantPool, relativeContextFilePath, i18nUseExternalIds, deferBlocksMeta, allDeferrableDepsFn) {
19394
+ const job = new ComponentCompilationJob(componentName, constantPool, compatibilityMode, relativeContextFilePath, i18nUseExternalIds, deferBlocksMeta, allDeferrableDepsFn);
19380
19395
  ingestNodes(job.root, template2);
19381
19396
  return job;
19382
19397
  }
@@ -19431,7 +19446,7 @@ function ingestHostAttribute(job, name, value, securityContexts) {
19431
19446
  job.root.update.push(attrBinding);
19432
19447
  }
19433
19448
  function ingestHostEvent(job, event) {
19434
- const [phase, target] = event.type === 0 ? [null, event.targetOrPhase] : [event.targetOrPhase, null];
19449
+ const [phase, target] = event.type !== 1 ? [null, event.targetOrPhase] : [event.targetOrPhase, null];
19435
19450
  const eventBinding = createListenerOp(job.root.xref, new SlotHandle(), event.name, null, makeListenerHandlerOps(job.root, event.handler, event.handlerSpan), phase, target, true, event.sourceSpan);
19436
19451
  job.root.create.push(eventBinding);
19437
19452
  }
@@ -19640,7 +19655,7 @@ function ingestDeferBlock(unit, deferBlock) {
19640
19655
  const placeholder = ingestDeferView(unit, "Placeholder", (_d2 = deferBlock.placeholder) == null ? void 0 : _d2.i18n, (_e2 = deferBlock.placeholder) == null ? void 0 : _e2.children, (_f2 = deferBlock.placeholder) == null ? void 0 : _f2.sourceSpan);
19641
19656
  const error2 = ingestDeferView(unit, "Error", (_g = deferBlock.error) == null ? void 0 : _g.i18n, (_h = deferBlock.error) == null ? void 0 : _h.children, (_i = deferBlock.error) == null ? void 0 : _i.sourceSpan);
19642
19657
  const deferXref = unit.job.allocateXrefId();
19643
- const deferOp = createDeferOp(deferXref, main.xref, main.handle, blockMeta, deferBlock.sourceSpan);
19658
+ const deferOp = createDeferOp(deferXref, main.xref, main.handle, blockMeta, unit.job.allDeferrableDepsFn, deferBlock.sourceSpan);
19644
19659
  deferOp.placeholderView = (_j = placeholder == null ? void 0 : placeholder.xref) != null ? _j : null;
19645
19660
  deferOp.placeholderSlot = (_k = placeholder == null ? void 0 : placeholder.handle) != null ? _k : null;
19646
19661
  deferOp.loadingSlot = (_l = loading == null ? void 0 : loading.handle) != null ? _l : null;
@@ -19898,6 +19913,7 @@ function convertAstWithInterpolation(job, value, i18nMeta, sourceSpan) {
19898
19913
  }
19899
19914
  var BINDING_KINDS = /* @__PURE__ */ new Map([
19900
19915
  [0, BindingKind.Property],
19916
+ [5, BindingKind.Property],
19901
19917
  [1, BindingKind.Attribute],
19902
19918
  [2, BindingKind.ClassName],
19903
19919
  [3, BindingKind.StyleProperty],
@@ -19919,11 +19935,18 @@ function asMessage(i18nMeta) {
19919
19935
  function ingestElementBindings(unit, op, element2) {
19920
19936
  var _a2;
19921
19937
  let bindings = new Array();
19938
+ let i18nAttributeBindingNames = /* @__PURE__ */ new Set();
19922
19939
  for (const attr of element2.attributes) {
19923
19940
  const securityContext = domSchema.securityContext(element2.name, attr.name, true);
19924
19941
  bindings.push(createBindingOp(op.xref, BindingKind.Attribute, attr.name, convertAstWithInterpolation(unit.job, attr.value, attr.i18n), null, securityContext, true, false, null, asMessage(attr.i18n), attr.sourceSpan));
19942
+ if (attr.i18n) {
19943
+ i18nAttributeBindingNames.add(attr.name);
19944
+ }
19925
19945
  }
19926
19946
  for (const input of element2.inputs) {
19947
+ if (i18nAttributeBindingNames.has(input.name)) {
19948
+ console.error(`On component ${unit.job.componentName}, the binding ${input.name} is both an i18n attribute and a property. You may want to remove the property binding. This will become a compilation error in future versions of Angular.`);
19949
+ }
19927
19950
  bindings.push(createBindingOp(op.xref, BINDING_KINDS.get(input.type), input.name, convertAstWithInterpolation(unit.job, astOf(input.value), input.i18n), input.unit, input.securityContext, false, false, null, (_a2 = asMessage(input.i18n)) != null ? _a2 : null, input.sourceSpan));
19928
19951
  }
19929
19952
  unit.create.push(bindings.filter((b) => (b == null ? void 0 : b.kind) === OpKind.ExtractedAttribute));
@@ -19976,7 +19999,7 @@ function ingestTemplateBindings(unit, op, template2, templateKind) {
19976
19999
  function createTemplateBinding(view, xref, type, name, value, unit, securityContext, isStructuralTemplateAttribute, templateKind, i18nMessage, sourceSpan) {
19977
20000
  const isTextBinding = typeof value === "string";
19978
20001
  if (templateKind === TemplateKind.Structural) {
19979
- if (!isStructuralTemplateAttribute && (type === 0 || type === 2 || type === 3)) {
20002
+ if (!isStructuralTemplateAttribute && (type === 0 || type === 5 || type === 2 || type === 3)) {
19980
20003
  return createExtractedAttributeOp(xref, BindingKind.Property, null, name, null, null, i18nMessage, securityContext);
19981
20004
  }
19982
20005
  if (!isTextBinding && (type === 1 || type === 4)) {
@@ -20054,10 +20077,10 @@ function ingestControlFlowInsertionPoint(unit, xref, node) {
20054
20077
  return null;
20055
20078
  }
20056
20079
 
20057
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/switch/index.mjs
20080
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/switch/index.mjs
20058
20081
  var USE_TEMPLATE_PIPELINE = false;
20059
20082
 
20060
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/styling_builder.mjs
20083
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/styling_builder.mjs
20061
20084
  var IMPORTANT_FLAG = "!important";
20062
20085
  var MIN_STYLING_BINDING_SLOTS_REQUIRED = 2;
20063
20086
  var StylingBuilder = class {
@@ -20390,7 +20413,7 @@ function isEmptyExpression(ast) {
20390
20413
  return ast instanceof EmptyExpr;
20391
20414
  }
20392
20415
 
20393
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/html_parser.mjs
20416
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/html_parser.mjs
20394
20417
  var HtmlParser = class extends Parser2 {
20395
20418
  constructor() {
20396
20419
  super(getHtmlTagDefinition);
@@ -20400,7 +20423,7 @@ var HtmlParser = class extends Parser2 {
20400
20423
  }
20401
20424
  };
20402
20425
 
20403
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/html_whitespaces.mjs
20426
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/html_whitespaces.mjs
20404
20427
  var PRESERVE_WS_ATTR_NAME = "ngPreserveWhitespaces";
20405
20428
  var SKIP_WS_TRIM_TAGS = /* @__PURE__ */ new Set(["pre", "template", "textarea", "script", "style"]);
20406
20429
  var WS_CHARS = " \f\n\r \v\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF";
@@ -20466,7 +20489,7 @@ function visitAllWithSiblings(visitor, nodes) {
20466
20489
  return result;
20467
20490
  }
20468
20491
 
20469
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template_parser/binding_parser.mjs
20492
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template_parser/binding_parser.mjs
20470
20493
  var PROPERTY_PARTS_SEPARATOR = ".";
20471
20494
  var ATTRIBUTE_PREFIX = "attr";
20472
20495
  var CLASS_PREFIX = "class";
@@ -20492,6 +20515,7 @@ var BindingParser = class {
20492
20515
  propName,
20493
20516
  expression,
20494
20517
  true,
20518
+ false,
20495
20519
  sourceSpan,
20496
20520
  sourceSpan.start.offset,
20497
20521
  void 0,
@@ -20557,7 +20581,7 @@ var BindingParser = class {
20557
20581
  } else if (binding.value) {
20558
20582
  const srcSpan = isIvyAst ? bindingSpan : sourceSpan;
20559
20583
  const valueSpan = moveParseSourceSpan(sourceSpan, binding.value.ast.sourceSpan);
20560
- this._parsePropertyAst(key, binding.value, srcSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps);
20584
+ this._parsePropertyAst(key, binding.value, false, srcSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps);
20561
20585
  } else {
20562
20586
  targetMatchableAttrs.push([key, ""]);
20563
20587
  this.parseLiteralAttr(key, null, keySpan, absoluteValueOffset, void 0, targetMatchableAttrs, targetProps, keySpan);
@@ -20592,7 +20616,7 @@ var BindingParser = class {
20592
20616
  targetProps.push(new ParsedProperty(name, this._exprParser.wrapLiteralPrimitive(value, "", absoluteOffset), ParsedPropertyType.LITERAL_ATTR, sourceSpan, keySpan, valueSpan));
20593
20617
  }
20594
20618
  }
20595
- parsePropertyBinding(name, expression, isHost, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, targetProps, keySpan) {
20619
+ parsePropertyBinding(name, expression, isHost, isPartOfAssignmentBinding, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, targetProps, keySpan) {
20596
20620
  if (name.length === 0) {
20597
20621
  this._reportError(`Property name is missing in binding`, sourceSpan);
20598
20622
  }
@@ -20613,20 +20637,20 @@ var BindingParser = class {
20613
20637
  if (isAnimationProp) {
20614
20638
  this._parseAnimation(name, expression, sourceSpan, absoluteOffset, keySpan, valueSpan, targetMatchableAttrs, targetProps);
20615
20639
  } else {
20616
- this._parsePropertyAst(name, this.parseBinding(expression, isHost, valueSpan || sourceSpan, absoluteOffset), sourceSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps);
20640
+ this._parsePropertyAst(name, this.parseBinding(expression, isHost, valueSpan || sourceSpan, absoluteOffset), isPartOfAssignmentBinding, sourceSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps);
20617
20641
  }
20618
20642
  }
20619
20643
  parsePropertyInterpolation(name, value, sourceSpan, valueSpan, targetMatchableAttrs, targetProps, keySpan, interpolatedTokens) {
20620
20644
  const expr = this.parseInterpolation(value, valueSpan || sourceSpan, interpolatedTokens);
20621
20645
  if (expr) {
20622
- this._parsePropertyAst(name, expr, sourceSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps);
20646
+ this._parsePropertyAst(name, expr, false, sourceSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps);
20623
20647
  return true;
20624
20648
  }
20625
20649
  return false;
20626
20650
  }
20627
- _parsePropertyAst(name, ast, sourceSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps) {
20651
+ _parsePropertyAst(name, ast, isPartOfAssignmentBinding, sourceSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps) {
20628
20652
  targetMatchableAttrs.push([name, ast.source]);
20629
- targetProps.push(new ParsedProperty(name, ast, ParsedPropertyType.DEFAULT, sourceSpan, keySpan, valueSpan));
20653
+ targetProps.push(new ParsedProperty(name, ast, isPartOfAssignmentBinding ? ParsedPropertyType.TWO_WAY : ParsedPropertyType.DEFAULT, sourceSpan, keySpan, valueSpan));
20630
20654
  }
20631
20655
  _parseAnimation(name, expression, sourceSpan, absoluteOffset, keySpan, valueSpan, targetMatchableAttrs, targetProps) {
20632
20656
  if (name.length === 0) {
@@ -20686,7 +20710,7 @@ var BindingParser = class {
20686
20710
  const mappedPropName = this._schemaRegistry.getMappedPropName(boundProp.name);
20687
20711
  boundPropertyName = mapPropertyName ? mappedPropName : boundProp.name;
20688
20712
  securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, mappedPropName, false);
20689
- bindingType = 0;
20713
+ bindingType = boundProp.type === ParsedPropertyType.TWO_WAY ? 5 : 0;
20690
20714
  if (!skipValidation) {
20691
20715
  this._validatePropertyOrAttributeName(mappedPropName, boundProp.sourceSpan, false);
20692
20716
  }
@@ -20732,7 +20756,7 @@ var BindingParser = class {
20732
20756
  const [target, eventName] = splitAtColon(name, [null, name]);
20733
20757
  const ast = this._parseAction(expression, isAssignmentEvent, handlerSpan);
20734
20758
  targetMatchableAttrs.push([name, ast.source]);
20735
- targetEvents.push(new ParsedEvent(eventName, target, 0, ast, sourceSpan, handlerSpan, keySpan));
20759
+ targetEvents.push(new ParsedEvent(eventName, target, isAssignmentEvent ? 2 : 0, ast, sourceSpan, handlerSpan, keySpan));
20736
20760
  }
20737
20761
  _parseAction(value, isAssignmentEvent, sourceSpan) {
20738
20762
  const sourceInfo = (sourceSpan && sourceSpan.start || "(unknown").toString();
@@ -20786,7 +20810,7 @@ function moveParseSourceSpan(sourceSpan, absoluteSpan) {
20786
20810
  return new ParseSourceSpan(sourceSpan.start.moveBy(startDiff), sourceSpan.end.moveBy(endDiff), sourceSpan.fullStart.moveBy(startDiff), sourceSpan.details);
20787
20811
  }
20788
20812
 
20789
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/style_url_resolver.mjs
20813
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/style_url_resolver.mjs
20790
20814
  function isStyleUrlResolvable(url) {
20791
20815
  if (url == null || url.length === 0 || url[0] == "/")
20792
20816
  return false;
@@ -20795,7 +20819,7 @@ function isStyleUrlResolvable(url) {
20795
20819
  }
20796
20820
  var URL_WITH_SCHEMA_REGEXP = /^([^:/?#]+):/;
20797
20821
 
20798
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template_parser/template_preparser.mjs
20822
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template_parser/template_preparser.mjs
20799
20823
  var NG_CONTENT_SELECT_ATTR = "select";
20800
20824
  var LINK_ELEMENT = "link";
20801
20825
  var LINK_STYLE_REL_ATTR = "rel";
@@ -20865,12 +20889,13 @@ function normalizeNgContentSelect(selectAttr) {
20865
20889
  return selectAttr;
20866
20890
  }
20867
20891
 
20868
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_control_flow.mjs
20892
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_control_flow.mjs
20869
20893
  var FOR_LOOP_EXPRESSION_PATTERN = /^\s*([0-9A-Za-z_$]*)\s+of\s+([\S\s]*)/;
20870
20894
  var FOR_LOOP_TRACK_PATTERN = /^track\s+([\S\s]*)/;
20871
- var CONDITIONAL_ALIAS_PATTERN = /^as\s+(.*)/;
20895
+ var CONDITIONAL_ALIAS_PATTERN = /^(as\s)+(.*)/;
20872
20896
  var ELSE_IF_PATTERN = /^else[^\S\r\n]+if/;
20873
20897
  var FOR_LOOP_LET_PATTERN = /^let\s+([\S\s]*)/;
20898
+ var CHARACTERS_IN_SURROUNDING_WHITESPACE_PATTERN = /(\s*)(\S+)(\s*)/;
20874
20899
  var ALLOWED_FOR_LOOP_LET_VARIABLES = /* @__PURE__ */ new Set(["$index", "$first", "$last", "$even", "$odd", "$count"]);
20875
20900
  function isConnectedForLoopBlock(name) {
20876
20901
  return name === "empty";
@@ -20982,8 +21007,10 @@ function parseForLoopParameters(block, errors, bindingParser) {
20982
21007
  return null;
20983
21008
  }
20984
21009
  const [, itemName, rawExpression] = match;
21010
+ const variableName = expressionParam.expression.split(" ")[0];
21011
+ const variableSpan = new ParseSourceSpan(expressionParam.sourceSpan.start, expressionParam.sourceSpan.start.moveBy(variableName.length));
20985
21012
  const result = {
20986
- itemName: new Variable(itemName, "$implicit", expressionParam.sourceSpan, expressionParam.sourceSpan),
21013
+ itemName: new Variable(itemName, "$implicit", variableSpan, variableSpan),
20987
21014
  trackBy: null,
20988
21015
  expression: parseBlockParameterToBinding(expressionParam, bindingParser, rawExpression),
20989
21016
  context: {}
@@ -20991,7 +21018,8 @@ function parseForLoopParameters(block, errors, bindingParser) {
20991
21018
  for (const param of secondaryParams) {
20992
21019
  const letMatch = param.expression.match(FOR_LOOP_LET_PATTERN);
20993
21020
  if (letMatch !== null) {
20994
- parseLetParameter(param.sourceSpan, letMatch[1], param.sourceSpan, result.context, errors);
21021
+ const variablesSpan = new ParseSourceSpan(param.sourceSpan.start.moveBy(letMatch[0].length - letMatch[1].length), param.sourceSpan.end);
21022
+ parseLetParameter(param.sourceSpan, letMatch[1], variablesSpan, result.context, errors);
20995
21023
  continue;
20996
21024
  }
20997
21025
  const trackMatch = param.expression.match(FOR_LOOP_TRACK_PATTERN);
@@ -21007,16 +21035,18 @@ function parseForLoopParameters(block, errors, bindingParser) {
21007
21035
  }
21008
21036
  errors.push(new ParseError(param.sourceSpan, `Unrecognized @for loop paramater "${param.expression}"`));
21009
21037
  }
21010
- for (const variableName of ALLOWED_FOR_LOOP_LET_VARIABLES) {
21011
- if (!result.context.hasOwnProperty(variableName)) {
21038
+ for (const variableName2 of ALLOWED_FOR_LOOP_LET_VARIABLES) {
21039
+ if (!result.context.hasOwnProperty(variableName2)) {
21012
21040
  const emptySpanAfterForBlockStart = new ParseSourceSpan(block.startSourceSpan.end, block.startSourceSpan.end);
21013
- result.context[variableName] = new Variable(variableName, variableName, emptySpanAfterForBlockStart, emptySpanAfterForBlockStart);
21041
+ result.context[variableName2] = new Variable(variableName2, variableName2, emptySpanAfterForBlockStart, emptySpanAfterForBlockStart);
21014
21042
  }
21015
21043
  }
21016
21044
  return result;
21017
21045
  }
21018
21046
  function parseLetParameter(sourceSpan, expression, span, context, errors) {
21047
+ var _a2, _b2, _c2;
21019
21048
  const parts = expression.split(",");
21049
+ let startSpan = span.start;
21020
21050
  for (const part of parts) {
21021
21051
  const expressionParts = part.split("=");
21022
21052
  const name = expressionParts.length === 2 ? expressionParts[0].trim() : "";
@@ -21028,8 +21058,20 @@ function parseLetParameter(sourceSpan, expression, span, context, errors) {
21028
21058
  } else if (context.hasOwnProperty(variableName)) {
21029
21059
  errors.push(new ParseError(sourceSpan, `Duplicate "let" parameter variable "${variableName}"`));
21030
21060
  } else {
21031
- context[variableName] = new Variable(name, variableName, span, span);
21061
+ const [, keyLeadingWhitespace, keyName] = (_a2 = expressionParts[0].match(CHARACTERS_IN_SURROUNDING_WHITESPACE_PATTERN)) != null ? _a2 : [];
21062
+ const keySpan = keyLeadingWhitespace !== void 0 && expressionParts.length === 2 ? new ParseSourceSpan(
21063
+ startSpan.moveBy(keyLeadingWhitespace.length),
21064
+ startSpan.moveBy(keyLeadingWhitespace.length + keyName.length)
21065
+ ) : span;
21066
+ let valueSpan = void 0;
21067
+ if (expressionParts.length === 2) {
21068
+ const [, valueLeadingWhitespace, implicit] = (_b2 = expressionParts[1].match(CHARACTERS_IN_SURROUNDING_WHITESPACE_PATTERN)) != null ? _b2 : [];
21069
+ valueSpan = valueLeadingWhitespace !== void 0 ? new ParseSourceSpan(startSpan.moveBy(expressionParts[0].length + 1 + valueLeadingWhitespace.length), startSpan.moveBy(expressionParts[0].length + 1 + valueLeadingWhitespace.length + implicit.length)) : void 0;
21070
+ }
21071
+ const sourceSpan2 = new ParseSourceSpan(keySpan.start, (_c2 = valueSpan == null ? void 0 : valueSpan.end) != null ? _c2 : keySpan.end);
21072
+ context[variableName] = new Variable(name, variableName, sourceSpan2, keySpan, valueSpan);
21032
21073
  }
21074
+ startSpan = startSpan.moveBy(part.length + 1);
21033
21075
  }
21034
21076
  }
21035
21077
  function validateIfConnectedBlocks(connectedBlocks) {
@@ -21109,8 +21151,10 @@ function parseConditionalBlockParameters(block, errors, bindingParser) {
21109
21151
  } else if (expressionAlias !== null) {
21110
21152
  errors.push(new ParseError(param.sourceSpan, 'Conditional can only have one "as" expression'));
21111
21153
  } else {
21112
- const name = aliasMatch[1].trim();
21113
- expressionAlias = new Variable(name, name, param.sourceSpan, param.sourceSpan);
21154
+ const name = aliasMatch[2].trim();
21155
+ const variableStart = param.sourceSpan.start.moveBy(aliasMatch[1].length);
21156
+ const variableSpan = new ParseSourceSpan(variableStart, variableStart.moveBy(name.length));
21157
+ expressionAlias = new Variable(name, name, variableSpan, variableSpan);
21114
21158
  }
21115
21159
  }
21116
21160
  return { expression, expressionAlias };
@@ -21156,7 +21200,7 @@ function stripOptionalParentheses(param, errors) {
21156
21200
  return expression.slice(start, end);
21157
21201
  }
21158
21202
 
21159
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_deferred_triggers.mjs
21203
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_deferred_triggers.mjs
21160
21204
  var TIME_PATTERN = /^\d+\.?\d*(ms|s)?$/;
21161
21205
  var SEPARATOR_PATTERN = /^\s$/;
21162
21206
  var COMMA_DELIMITED_SYNTAX = /* @__PURE__ */ new Map([
@@ -21420,7 +21464,7 @@ function parseDeferredTime(value) {
21420
21464
  return parseFloat(time) * (units === "s" ? 1e3 : 1);
21421
21465
  }
21422
21466
 
21423
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_deferred_blocks.mjs
21467
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_deferred_blocks.mjs
21424
21468
  var PREFETCH_WHEN_PATTERN = /^prefetch\s+when\s/;
21425
21469
  var PREFETCH_ON_PATTERN = /^prefetch\s+on\s/;
21426
21470
  var MINIMUM_PARAMETER_PATTERN = /^minimum\s/;
@@ -21555,7 +21599,7 @@ function parsePrimaryTriggers(params, bindingParser, errors, placeholder) {
21555
21599
  return { triggers, prefetchTriggers };
21556
21600
  }
21557
21601
 
21558
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_template_transform.mjs
21602
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_template_transform.mjs
21559
21603
  var BIND_NAME_REGEXP = /^(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.*)$/;
21560
21604
  var KW_BIND_IDX = 1;
21561
21605
  var KW_LET_IDX = 2;
@@ -21828,7 +21872,7 @@ var HtmlAstToIvyAst = class {
21828
21872
  if (bindParts[KW_BIND_IDX] != null) {
21829
21873
  const identifier = bindParts[IDENT_KW_IDX];
21830
21874
  const keySpan2 = createKeySpan(srcSpan, bindParts[KW_BIND_IDX], identifier);
21831
- this.bindingParser.parsePropertyBinding(identifier, value, false, srcSpan, absoluteOffset, attribute2.valueSpan, matchableAttributes, parsedProperties, keySpan2);
21875
+ this.bindingParser.parsePropertyBinding(identifier, value, false, false, srcSpan, absoluteOffset, attribute2.valueSpan, matchableAttributes, parsedProperties, keySpan2);
21832
21876
  } else if (bindParts[KW_LET_IDX]) {
21833
21877
  if (isTemplateElement) {
21834
21878
  const identifier = bindParts[IDENT_KW_IDX];
@@ -21850,7 +21894,7 @@ var HtmlAstToIvyAst = class {
21850
21894
  } else if (bindParts[KW_BINDON_IDX]) {
21851
21895
  const identifier = bindParts[IDENT_KW_IDX];
21852
21896
  const keySpan2 = createKeySpan(srcSpan, bindParts[KW_BINDON_IDX], identifier);
21853
- this.bindingParser.parsePropertyBinding(identifier, value, false, srcSpan, absoluteOffset, attribute2.valueSpan, matchableAttributes, parsedProperties, keySpan2);
21897
+ this.bindingParser.parsePropertyBinding(identifier, value, false, true, srcSpan, absoluteOffset, attribute2.valueSpan, matchableAttributes, parsedProperties, keySpan2);
21854
21898
  this.parseAssignmentEvent(identifier, value, srcSpan, attribute2.valueSpan, matchableAttributes, boundEvents, keySpan2);
21855
21899
  } else if (bindParts[KW_AT_IDX]) {
21856
21900
  const keySpan2 = createKeySpan(srcSpan, "", name);
@@ -21870,10 +21914,10 @@ var HtmlAstToIvyAst = class {
21870
21914
  const identifier = name.substring(delims.start.length, name.length - delims.end.length);
21871
21915
  const keySpan2 = createKeySpan(srcSpan, delims.start, identifier);
21872
21916
  if (delims.start === BINDING_DELIMS.BANANA_BOX.start) {
21873
- this.bindingParser.parsePropertyBinding(identifier, value, false, srcSpan, absoluteOffset, attribute2.valueSpan, matchableAttributes, parsedProperties, keySpan2);
21917
+ this.bindingParser.parsePropertyBinding(identifier, value, false, true, srcSpan, absoluteOffset, attribute2.valueSpan, matchableAttributes, parsedProperties, keySpan2);
21874
21918
  this.parseAssignmentEvent(identifier, value, srcSpan, attribute2.valueSpan, matchableAttributes, boundEvents, keySpan2);
21875
21919
  } else if (delims.start === BINDING_DELIMS.PROPERTY.start) {
21876
- this.bindingParser.parsePropertyBinding(identifier, value, false, srcSpan, absoluteOffset, attribute2.valueSpan, matchableAttributes, parsedProperties, keySpan2);
21920
+ this.bindingParser.parsePropertyBinding(identifier, value, false, false, srcSpan, absoluteOffset, attribute2.valueSpan, matchableAttributes, parsedProperties, keySpan2);
21877
21921
  } else {
21878
21922
  const events = [];
21879
21923
  this.bindingParser.parseEvent(identifier, value, false, srcSpan, attribute2.valueSpan || srcSpan, matchableAttributes, events, keySpan2);
@@ -21986,7 +22030,7 @@ function textContents(node) {
21986
22030
  }
21987
22031
  }
21988
22032
 
21989
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/context.mjs
22033
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/context.mjs
21990
22034
  var TagType;
21991
22035
  (function(TagType2) {
21992
22036
  TagType2[TagType2["ELEMENT"] = 0] = "ELEMENT";
@@ -22131,7 +22175,7 @@ function serializePlaceholderValue(value) {
22131
22175
  }
22132
22176
  }
22133
22177
 
22134
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/template.mjs
22178
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/template.mjs
22135
22179
  var NG_CONTENT_SELECT_ATTR2 = "select";
22136
22180
  var NG_PROJECT_AS_ATTR_NAME = "ngProjectAs";
22137
22181
  var EVENT_BINDING_SCOPE_GLOBALS = /* @__PURE__ */ new Set(["$event"]);
@@ -22542,7 +22586,7 @@ var TemplateDefinitionBuilder = class {
22542
22586
  element2.inputs.forEach((input) => {
22543
22587
  const stylingInputWasSet = stylingBuilder.registerBoundInput(input);
22544
22588
  if (!stylingInputWasSet) {
22545
- if (input.type === 0 && input.i18n) {
22589
+ if ((input.type === 0 || input.type === 5) && input.i18n) {
22546
22590
  boundI18nAttrs.push(input);
22547
22591
  } else {
22548
22592
  allOtherInputs.push(input);
@@ -22628,7 +22672,7 @@ var TemplateDefinitionBuilder = class {
22628
22672
  }
22629
22673
  }
22630
22674
  this.allocateBindingSlots(value);
22631
- if (inputType === 0) {
22675
+ if (inputType === 0 || inputType === 5) {
22632
22676
  if (value instanceof Interpolation) {
22633
22677
  this.interpolatedUpdateInstruction(getPropertyInterpolationExpression(value), elementIndex, attrName, input, value, params);
22634
22678
  } else {
@@ -22691,7 +22735,7 @@ var TemplateDefinitionBuilder = class {
22691
22735
  }
22692
22736
  }
22693
22737
  const contextName = `${this.contextName}${contextNameSuffix}_${index}`;
22694
- const name = `${contextName}_Template`;
22738
+ const name = this.constantPool.uniqueName(`${contextName}_Template`, false);
22695
22739
  const visitor = new TemplateDefinitionBuilder(this.constantPool, this._bindingScope, this.level + 1, contextName, this.i18n, index, name, this._namespace, this.fileBasedI18nSuffix, this.i18nUseExternalIds, this.deferBlocks, this.elementLocations, this.allDeferrableDepsFn, this._constants);
22696
22740
  this._nestedTemplateFns.push(() => {
22697
22741
  const templateFunctionExpr = visitor.buildTemplateFunction(children, variables, this._ngContentReservedSlots.length + this._ngContentSelectorsOffset, i18nMeta, variableAliases);
@@ -22900,7 +22944,10 @@ var TemplateDefinitionBuilder = class {
22900
22944
  const dependencyExp = [];
22901
22945
  for (const deferredDep of metadata.deps) {
22902
22946
  if (deferredDep.isDeferrable) {
22903
- const innerFn = arrowFn([new FnParam("m", DYNAMIC_TYPE)], variable("m").prop(deferredDep.symbolName));
22947
+ const innerFn = arrowFn(
22948
+ [new FnParam("m", DYNAMIC_TYPE)],
22949
+ variable("m").prop(deferredDep.isDefaultImport ? "default" : deferredDep.symbolName)
22950
+ );
22904
22951
  const importExpr2 = new DynamicImportExpr(deferredDep.importPath).prop("then").callFn([innerFn]);
22905
22952
  dependencyExp.push(importExpr2);
22906
22953
  } else {
@@ -23818,7 +23865,7 @@ function createClosureModeGuard2() {
23818
23865
  return typeofExpr(variable(NG_I18N_CLOSURE_MODE2)).notIdentical(literal("undefined", STRING_TYPE)).and(variable(NG_I18N_CLOSURE_MODE2));
23819
23866
  }
23820
23867
 
23821
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/compiler.mjs
23868
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/compiler.mjs
23822
23869
  var ATTR_REGEX = /attr\.([^\]]+)/;
23823
23870
  var COMPONENT_VARIABLE = "%COMP%";
23824
23871
  var HOST_ATTR = `_nghost-${COMPONENT_VARIABLE}`;
@@ -23897,8 +23944,8 @@ function compileDirectiveFromMetadata(meta, constantPool, bindingParser) {
23897
23944
  }
23898
23945
  function createDeferredDepsFunction(constantPool, name, deps) {
23899
23946
  const dependencyExp = [];
23900
- for (const [symbolName, importPath] of deps) {
23901
- const innerFn = arrowFn([new FnParam("m", DYNAMIC_TYPE)], variable("m").prop(symbolName));
23947
+ for (const [symbolName, { importPath, isDefaultImport }] of deps) {
23948
+ const innerFn = arrowFn([new FnParam("m", DYNAMIC_TYPE)], variable("m").prop(isDefaultImport ? "default" : symbolName));
23902
23949
  const importExpr2 = new DynamicImportExpr(importPath).prop("then").callFn([innerFn]);
23903
23950
  dependencyExp.push(importExpr2);
23904
23951
  }
@@ -23922,12 +23969,12 @@ function compileComponentFromMetadata(meta, constantPool, bindingParser) {
23922
23969
  }
23923
23970
  const templateTypeName = meta.name;
23924
23971
  const templateName = templateTypeName ? `${templateTypeName}_Template` : null;
23972
+ let allDeferrableDepsFn = null;
23973
+ if (meta.deferBlocks.size > 0 && meta.deferrableTypes.size > 0 && meta.deferBlockDepsEmitMode === 1) {
23974
+ const fnName = `${templateTypeName}_DeferFn`;
23975
+ allDeferrableDepsFn = createDeferredDepsFunction(constantPool, fnName, meta.deferrableTypes);
23976
+ }
23925
23977
  if (!USE_TEMPLATE_PIPELINE) {
23926
- let allDeferrableDepsFn = null;
23927
- if (meta.deferBlocks.size > 0 && meta.deferrableTypes.size > 0 && meta.deferBlockDepsEmitMode === 1) {
23928
- const fnName = `${templateTypeName}_DeferFn`;
23929
- allDeferrableDepsFn = createDeferredDepsFunction(constantPool, fnName, meta.deferrableTypes);
23930
- }
23931
23978
  const template2 = meta.template;
23932
23979
  const templateBuilder = new TemplateDefinitionBuilder(constantPool, BindingScope.createRootScope(), 0, templateTypeName, null, null, templateName, Identifiers.namespaceHTML, meta.relativeContextFilePath, meta.i18nUseExternalIds, meta.deferBlocks, /* @__PURE__ */ new Map(), allDeferrableDepsFn);
23933
23980
  const templateFunctionExpression = templateBuilder.buildTemplateFunction(template2.nodes, []);
@@ -23947,7 +23994,7 @@ function compileComponentFromMetadata(meta, constantPool, bindingParser) {
23947
23994
  }
23948
23995
  definitionMap.set("template", templateFunctionExpression);
23949
23996
  } else {
23950
- const tpl = ingestComponent(meta.name, meta.template.nodes, constantPool, meta.relativeContextFilePath, meta.i18nUseExternalIds, meta.deferBlocks);
23997
+ const tpl = ingestComponent(meta.name, meta.template.nodes, constantPool, meta.relativeContextFilePath, meta.i18nUseExternalIds, meta.deferBlocks, allDeferrableDepsFn);
23951
23998
  transform(tpl, CompilationJobKind.Tmpl);
23952
23999
  const templateFn = emitTemplateFn(tpl, constantPool);
23953
24000
  if (tpl.contentSelectors !== null) {
@@ -24449,7 +24496,7 @@ function createHostDirectivesMappingArray(mapping) {
24449
24496
  return elements.length > 0 ? literalArr(elements) : null;
24450
24497
  }
24451
24498
 
24452
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/t2_binder.mjs
24499
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/t2_binder.mjs
24453
24500
  var R3TargetBinder = class {
24454
24501
  constructor(directiveMatcher) {
24455
24502
  this.directiveMatcher = directiveMatcher;
@@ -25066,11 +25113,11 @@ function extractScopedNodeEntities(rootScope) {
25066
25113
  return templateEntities;
25067
25114
  }
25068
25115
 
25069
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/resource_loader.mjs
25116
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/resource_loader.mjs
25070
25117
  var ResourceLoader = class {
25071
25118
  };
25072
25119
 
25073
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/jit_compiler_facade.mjs
25120
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/jit_compiler_facade.mjs
25074
25121
  var CompilerFacadeImpl = class {
25075
25122
  constructor(jitEvaluator = new JitEvaluator()) {
25076
25123
  this.jitEvaluator = jitEvaluator;
@@ -25643,17 +25690,17 @@ function publishFacade(global) {
25643
25690
  ng.\u0275compilerFacade = new CompilerFacadeImpl();
25644
25691
  }
25645
25692
 
25646
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/version.mjs
25647
- var VERSION2 = new Version("17.1.1");
25693
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/version.mjs
25694
+ var VERSION2 = new Version("17.1.3");
25648
25695
 
25649
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/extractor_merger.mjs
25696
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/extractor_merger.mjs
25650
25697
  var _VisitorMode;
25651
25698
  (function(_VisitorMode2) {
25652
25699
  _VisitorMode2[_VisitorMode2["Extract"] = 0] = "Extract";
25653
25700
  _VisitorMode2[_VisitorMode2["Merge"] = 1] = "Merge";
25654
25701
  })(_VisitorMode || (_VisitorMode = {}));
25655
25702
 
25656
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/xml_tags.mjs
25703
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/xml_tags.mjs
25657
25704
  var XmlTagDefinition = class {
25658
25705
  constructor() {
25659
25706
  this.closedByParent = false;
@@ -25675,7 +25722,7 @@ var XmlTagDefinition = class {
25675
25722
  };
25676
25723
  var _TAG_DEFINITION = new XmlTagDefinition();
25677
25724
 
25678
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/partial/api.mjs
25725
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/partial/api.mjs
25679
25726
  var FactoryTarget2;
25680
25727
  (function(FactoryTarget3) {
25681
25728
  FactoryTarget3[FactoryTarget3["Directive"] = 0] = "Directive";
@@ -25685,10 +25732,10 @@ var FactoryTarget2;
25685
25732
  FactoryTarget3[FactoryTarget3["NgModule"] = 4] = "NgModule";
25686
25733
  })(FactoryTarget2 || (FactoryTarget2 = {}));
25687
25734
 
25688
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/compiler.mjs
25735
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/compiler.mjs
25689
25736
  publishFacade(_global);
25690
25737
 
25691
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/migrations/block-template-entities/util.mjs
25738
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/migrations/block-template-entities/util.mjs
25692
25739
  var import_path2 = require("path");
25693
25740
  var import_typescript3 = __toESM(require("typescript"), 1);
25694
25741
  var REPLACEMENTS2 = {
@@ -25796,7 +25843,7 @@ function forEachClass(sourceFile, callback) {
25796
25843
  });
25797
25844
  }
25798
25845
 
25799
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/migrations/block-template-entities/index.mjs
25846
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/migrations/block-template-entities/index.mjs
25800
25847
  function block_template_entities_default() {
25801
25848
  return (tree) => __async(this, null, function* () {
25802
25849
  const { buildPaths, testPaths } = yield getProjectTsConfigPaths(tree);