@tanstack/angular-table 8.21.3 → 8.21.4

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.
@@ -73,15 +73,15 @@ export class FlexRenderComponentRef {
73
73
  return;
74
74
  const { inputDiff, outputDiff } = this.diff(content);
75
75
  if (inputDiff) {
76
- inputDiff.forEachAddedItem(item => this.setInput(item.key, item.currentValue));
77
- inputDiff.forEachChangedItem(item => this.setInput(item.key, item.currentValue));
78
- inputDiff.forEachRemovedItem(item => this.setInput(item.key, undefined));
76
+ inputDiff.forEachAddedItem((item) => this.setInput(item.key, item.currentValue));
77
+ inputDiff.forEachChangedItem((item) => this.setInput(item.key, item.currentValue));
78
+ inputDiff.forEachRemovedItem((item) => this.setInput(item.key, undefined));
79
79
  }
80
80
  if (outputDiff) {
81
- outputDiff.forEachAddedItem(item => {
81
+ outputDiff.forEachAddedItem((item) => {
82
82
  this.setOutput(item.key, item.currentValue);
83
83
  });
84
- outputDiff.forEachChangedItem(item => {
84
+ outputDiff.forEachChangedItem((item) => {
85
85
  if (item.currentValue) {
86
86
  this.#outputRegistry.setListener(item.key, item.currentValue);
87
87
  }
@@ -89,7 +89,7 @@ export class FlexRenderComponentRef {
89
89
  this.#outputRegistry.unsubscribe(item.key);
90
90
  }
91
91
  });
92
- outputDiff.forEachRemovedItem(item => {
92
+ outputDiff.forEachRemovedItem((item) => {
93
93
  this.#outputRegistry.unsubscribe(item.key);
94
94
  });
95
95
  }
@@ -129,7 +129,7 @@ export class FlexRenderComponentRef {
129
129
  const instance = this.componentRef.instance;
130
130
  const output = instance[outputName];
131
131
  if (output && output instanceof OutputEmitterRef) {
132
- output.subscribe(value => {
132
+ output.subscribe((value) => {
133
133
  this.#outputRegistry.getListener(outputName)?.(value);
134
134
  });
135
135
  }
@@ -170,4 +170,4 @@ class FlexRenderComponentOutputManager {
170
170
  return this.#valueDiffer.diff(outputs ?? {});
171
171
  }
172
172
  }
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleC1yZW5kZXItY29tcG9uZW50LXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mbGV4LXJlbmRlci9mbGV4LXJlbmRlci1jb21wb25lbnQtcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFFakIsTUFBTSxFQUNOLFVBQVUsRUFHVixlQUFlLEVBQ2YsZ0JBQWdCLEVBRWhCLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQTs7QUFJdEIsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUU1QyxlQUFlLENBQ2IsbUJBQTJDLEVBQzNDLGlCQUEyQjtRQUUzQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUN6RCxtQkFBbUIsQ0FBQyxTQUFTLEVBQzdCO1lBQ0UsUUFBUSxFQUFFLGlCQUFpQjtTQUM1QixDQUNGLENBQUE7UUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLHNCQUFzQixDQUNyQyxZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLGlCQUFpQixDQUNsQixDQUFBO1FBRUQsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQTtRQUUvQyxJQUFJLE1BQU07WUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ2xDLElBQUksT0FBTztZQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFckMsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO3dHQXpCVSwwQkFBMEI7NEdBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFEdEMsVUFBVTs7QUE2QlgsTUFBTSxPQUFPLHNCQUFzQjtJQVF0QjtJQUVBO0lBVEYsdUJBQXVCLENBQWlCO0lBQ2pELGNBQWMsQ0FBd0I7SUFDdEMsaUJBQWlCLENBQWlDO0lB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QUMxQyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFzRTtRQUN6RSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50UmVmLFxuICBpbmplY3QsXG4gIEluamVjdGFibGUsXG4gIEluamVjdG9yLFxuICBLZXlWYWx1ZURpZmZlcixcbiAgS2V5VmFsdWVEaWZmZXJzLFxuICBPdXRwdXRFbWl0dGVyUmVmLFxuICBPdXRwdXRSZWZTdWJzY3JpcHRpb24sXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGbGV4UmVuZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9mbGV4LXJlbmRlci1jb21wb25lbnQnXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGbGV4UmVuZGVyQ29tcG9uZW50RmFjdG9yeSB7XG4gICN2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpXG5cbiAgY3JlYXRlQ29tcG9uZW50PFQ+KFxuICAgIGZsZXhSZW5kZXJDb21wb25lbnQ6IEZsZXhSZW5kZXJDb21wb25lbnQ8VD4sXG4gICAgY29tcG9uZW50SW5qZWN0b3I6IEluamVjdG9yXG4gICk6IEZsZXhSZW5kZXJDb21wb25lbnRSZWY8VD4ge1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuI3ZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgZmxleFJlbmRlckNvbXBvbmVudC5jb21wb25lbnQsXG4gICAgICB7XG4gICAgICAgIGluamVjdG9yOiBjb21wb25lbnRJbmplY3RvcixcbiAgICAgIH1cbiAgICApXG4gICAgY29uc3QgdmlldyA9IG5ldyBGbGV4UmVuZGVyQ29tcG9uZW50UmVmKFxuICAgICAgY29tcG9uZW50UmVmLFxuICAgICAgZmxleFJlbmRlckNvbXBvbmVudCxcbiAgICAgIGNvbXBvbmVudEluamVjdG9yXG4gICAgKVxuXG4gICAgY29uc3QgeyBpbnB1dHMsIG91dHB1dHMgfSA9IGZsZXhSZW5kZXJDb21wb25lbnRcblxuICAgIGlmIChpbnB1dHMpIHZpZXcuc2V0SW5wdXRzKGlucHV0cylcbiAgICBpZiAob3V0cHV0cykgdmlldy5zZXRPdXRwdXRzKG91dHB1dHMpXG5cbiAgICByZXR1cm4gdmlld1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGbGV4UmVuZGVyQ29tcG9uZW50UmVmPFQ+IHtcbiAgcmVhZG9ubHkgI2tleVZhbHVlRGlmZmVyc0ZhY3Rvcnk6IEtleVZhbHVlRGlmZmVyc1xuICAjY29tcG9uZW50RGF0YTogRmxleFJlbmRlckNvbXBvbmVudDxUPlxuICAjaW5wdXRWYWx1ZURpZmZlcjogS2V5VmFsdWVEaWZmZXI8c3RyaW5nLCB1bmtub3duPlxuXG4gIHJlYWRvbmx5ICNvdXRwdXRSZWdpc3RyeTogRmxleFJlbmRlckNvbXBvbmVudE91dHB1dE1hbmFnZXJcblxuICBjb25zdHJ1Y3RvcihcbiAgICByZWFkb25seSBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUPixcbiAgICBjb21wb25lbnREYXRhOiBGbGV4UmVuZGVyQ29tcG9uZW50PFQ+LFxuICAgIHJlYWRvbmx5IGNvbXBvbmVudEluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICB0aGlzLiNjb21wb25lbnREYXRhID0gY29tcG9uZW50RGF0YVxuICAgIHRoaXMuI2tleVZhbHVlRGlmZmVyc0ZhY3RvcnkgPSBjb21wb25lbnRJbmplY3Rvci5nZXQoS2V5VmFsdWVEaWZmZXJzKVxuXG4gICAgdGhpcy4jb3V0cHV0UmVnaXN0cnkgPSBuZXcgRmxleFJlbmRlckNvbXBvbmVudE91dHB1dE1hbmFnZXIoXG4gICAgICB0aGlzLiNrZXlWYWx1ZURpZmZlcnNGYWN0b3J5LFxuICAgICAgdGhpcy5vdXRwdXRzXG4gICAgKVxuXG4gICAgdGhpcy4jaW5wdXRWYWx1ZURpZmZlciA9IHRoaXMuI2tleVZhbHVlRGlmZmVyc0ZhY3RvcnlcbiAgICAgIC5maW5kKHRoaXMuaW5wdXRzKVxuICAgICAgLmNyZWF0ZSgpXG4gICAgdGhpcy4jaW5wdXRWYWx1ZURpZmZlci5kaWZmKHRoaXMuaW5wdXRzKVxuXG4gICAgdGhpcy5jb21wb25lbnRSZWYub25EZXN0cm95KCgpID0+IHRoaXMuI291dHB1dFJlZ2lzdHJ5LnVuc3Vic2NyaWJlQWxsKCkpXG4gIH1cblxuICBnZXQgY29tcG9uZW50KCkge1xuICAgIHJldHVybiB0aGlzLiNjb21wb25lbnREYXRhLmNvbXBvbmVudFxuICB9XG5cbiAgZ2V0IGlucHV0cygpIHtcbiAgICByZXR1cm4gdGhpcy4jY29tcG9uZW50RGF0YS5pbnB1dHMgPz8ge31cbiAgfVxuXG4gIGdldCBvdXRwdXRzKCkge1xuICAgIHJldHVybiB0aGlzLiNjb21wb25lbnREYXRhLm91dHB1dHMgPz8ge31cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY29tcG9uZW50IGlucHV0IGFuZCBvdXRwdXQgZGlmZiBieSB0aGUgZ2l2ZW4gaXRlbVxuICAgKi9cbiAgZGlmZihpdGVtOiBGbGV4UmVuZGVyQ29tcG9uZW50PFQ+KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlucHV0RGlmZjogdGhpcy4jaW5wdXRWYWx1ZURpZmZlci5kaWZmKGl0ZW0uaW5wdXRzID8/IHt9KSxcbiAgICAgIG91dHB1dERpZmY6IHRoaXMuI291dHB1dFJlZ2lzdHJ5LmRpZmYoaXRlbS5vdXRwdXRzID8/IHt9KSxcbiAgICB9XG4gIH1cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBjb21wYXJlIFdoZXRoZXIgdGhlIGN1cnJlbnQgcmVmIGNvbXBvbmVudCBpbnN0YW5jZSBpcyB0aGUgc2FtZSBhcyB0aGUgZ2l2ZW4gb25lXG4gICAqL1xuICBlcVR5cGUoY29tcGFyZTogRmxleFJlbmRlckNvbXBvbmVudDxUPik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjb21wYXJlLmNvbXBvbmVudCA9PT0gdGhpcy5jb21wb25lbnRcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmllcyB0byB1cGRhdGUgY3VycmVudCBjb21wb25lbnQgcmVmcyBpbnB1dCBieSB0aGUgbmV3IGdpdmVuIGNvbnRlbnQgY29tcG9uZW50LlxuICAgKi9cbiAgdXBkYXRlKGNvbnRlbnQ6IEZsZXhSZW5kZXJDb21wb25lbnQ8VD4pIHtcbiAgICBjb25zdCBlcSA9IHRoaXMuZXFUeXBlKGNvbnRlbnQpXG4gICAgaWYgKCFlcSkgcmV0dXJuXG4gICAgY29uc3QgeyBpbnB1dERpZmYsIG91dHB1dERpZmYgfSA9IHRoaXMuZGlmZihjb250ZW50KVxuICAgIGlmIChpbnB1dERpZmYpIHtcbiAgICAgIGlucHV0RGlmZi5mb3JFYWNoQWRkZWRJdGVtKGl0ZW0gPT5cbiAgICAgICAgdGhpcy5zZXRJbnB1dChpdGVtLmtleSwgaXRlbS5jdXJyZW50VmFsdWUpXG4gICAgICApXG4gICAgICBpbnB1dERpZmYuZm9yRWFjaENoYW5nZWRJdGVtKGl0ZW0gPT5cbiAgICAgICAgdGhpcy5zZXRJbnB1dChpdGVtLmtleSwgaXRlbS5jdXJyZW50VmFsdWUpXG4gICAgICApXG4gICAgICBpbnB1dERpZmYuZm9yRWFjaFJlbW92ZWRJdGVtKGl0ZW0gPT4gdGhpcy5zZXRJbnB1dChpdGVtLmtleSwgdW5kZWZpbmVkKSlcbiAgICB9XG4gICAgaWYgKG91dHB1dERpZmYpIHtcbiAgICAgIG91dHB1dERpZmYuZm9yRWFjaEFkZGVkSXRlbShpdGVtID0+IHtcbiAgICAgICAgdGhpcy5zZXRPdXRwdXQoaXRlbS5rZXksIGl0ZW0uY3VycmVudFZhbHVlKVxuICAgICAgfSlcbiAgICAgIG91dHB1dERpZmYuZm9yRWFjaENoYW5nZWRJdGVtKGl0ZW0gPT4ge1xuICAgICAgICBpZiAoaXRlbS5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICB0aGlzLiNvdXRwdXRSZWdpc3RyeS5zZXRMaXN0ZW5lcihpdGVtLmtleSwgaXRlbS5jdXJyZW50VmFsdWUpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy4jb3V0cHV0UmVnaXN0cnkudW5zdWJzY3JpYmUoaXRlbS5rZXkpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICBvdXRwdXREaWZmLmZvckVhY2hSZW1vdmVkSXRlbShpdGVtID0+IHtcbiAgICAgICAgdGhpcy4jb3V0cHV0UmVnaXN0cnkudW5zdWJzY3JpYmUoaXRlbS5rZXkpXG4gICAgICB9KVxuICAgIH1cblxuICAgIHRoaXMuI2NvbXBvbmVudERhdGEgPSBjb250ZW50XG4gIH1cblxuICBtYXJrQXNEaXJ0eSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbmplY3Rvci5nZXQoQ2hhbmdlRGV0ZWN0b3JSZWYpLm1hcmtGb3JDaGVjaygpXG4gIH1cblxuICBzZXRJbnB1dHMoaW5wdXRzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgIGZvciAoY29uc3QgcHJvcCBpbiBpbnB1dHMpIHtcbiAgICAgIHRoaXMuc2V0SW5wdXQocHJvcCwgaW5wdXRzW3Byb3BdKVxuICAgIH1cbiAgfVxuXG4gIHNldElucHV0KGtleTogc3RyaW5nLCB2YWx1ZTogdW5rbm93bikge1xuICAgIGlmICh0aGlzLiNjb21wb25lbnREYXRhLmFsbG93ZWRJbnB1dE5hbWVzLmluY2x1ZGVzKGtleSkpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLnNldElucHV0KGtleSwgdmFsdWUpXG4gICAgfVxuICB9XG5cbiAgc2V0T3V0cHV0cyhcbiAgICBvdXRwdXRzOiBSZWNvcmQ8XG4gICAgICBzdHJpbmcsXG4gICAgICBPdXRwdXRFbWl0dGVyUmVmPHVua25vd24+WydlbWl0J10gfCBudWxsIHwgdW5kZWZpbmVkXG4gICAgPlxuICApIHtcbiAgICB0aGlzLiNvdXRwdXRSZWdpc3RyeS51bnN1YnNjcmliZUFsbCgpXG4gICAgZm9yIChjb25zdCBwcm9wIGluIG91dHB1dHMpIHtcbiAgICAgIHRoaXMuc2V0T3V0cHV0KHByb3AsIG91dHB1dHNbcHJvcF0pXG4gICAgfVxuICB9XG5cbiAgc2V0T3V0cHV0KFxuICAgIG91dHB1dE5hbWU6IHN0cmluZyxcbiAgICBlbWl0OiBPdXRwdXRFbWl0dGVyUmVmPHVua25vd24+WydlbWl0J10gfCB1bmRlZmluZWQgfCBudWxsXG4gICk6IHZvaWQge1xuICAgIGlmICghdGhpcy4jY29tcG9uZW50RGF0YS5hbGxvd2VkT3V0cHV0TmFtZXMuaW5jbHVkZXMob3V0cHV0TmFtZSkpIHJldHVyblxuICAgIGlmICghZW1pdCkge1xuICAgICAgdGhpcy4jb3V0cHV0UmVnaXN0cnkudW5zdWJzY3JpYmUob3V0cHV0TmFtZSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGhhc0xpc3RlbmVyID0gdGhpcy4jb3V0cHV0UmVnaXN0cnkuaGFzTGlzdGVuZXIob3V0cHV0TmFtZSlcbiAgICB0aGlzLiNvdXRwdXRSZWdpc3RyeS5zZXRMaXN0ZW5lcihvdXRwdXROYW1lLCBlbWl0KVxuXG4gICAgaWYgKGhhc0xpc3RlbmVyKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlXG4gICAgY29uc3Qgb3V0cHV0ID0gaW5zdGFuY2Vbb3V0cHV0TmFtZSBhcyBrZXlvZiB0eXBlb2YgaW5zdGFuY2VdXG4gICAgaWYgKG91dHB1dCAmJiBvdXRwdXQgaW5zdGFuY2VvZiBPdXRwdXRFbWl0dGVyUmVmKSB7XG4gICAgICBvdXRwdXQuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy4jb3V0cHV0UmVnaXN0cnkuZ2V0TGlzdGVuZXIob3V0cHV0TmFtZSk/Lih2YWx1ZSlcbiAgICAgIH0pXG4gICAgfVxuICB9XG59XG5cbmNsYXNzIEZsZXhSZW5kZXJDb21wb25lbnRPdXRwdXRNYW5hZ2VyIHtcbiAgcmVhZG9ubHkgI291dHB1dFN1YnNjcmliZXJzOiBSZWNvcmQ8c3RyaW5nLCBPdXRwdXRSZWZTdWJzY3JpcHRpb24+ID0ge31cbiAgcmVhZG9ubHkgI291dHB1dExpc3RlbmVyczogUmVjb3JkPHN0cmluZywgKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkPiA9IHt9XG5cbiAgcmVhZG9ubHkgI3ZhbHVlRGlmZmVyOiBLZXlWYWx1ZURpZmZlcjxcbiAgICBzdHJpbmcsXG4gICAgdW5kZWZpbmVkIHwgbnVsbCB8IE91dHB1dEVtaXR0ZXJSZWY8dW5rbm93bj5bJ2VtaXQnXVxuICA+XG5cbiAgY29uc3RydWN0b3Ioa2V5VmFsdWVEaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsIGluaXRpYWxPdXRwdXRzOiBhbnkpIHtcbiAgICB0aGlzLiN2YWx1ZURpZmZlciA9IGtleVZhbHVlRGlmZmVycy5maW5kKGluaXRpYWxPdXRwdXRzKS5jcmVhdGUoKVxuICAgIGlmIChpbml0aWFsT3V0cHV0cykge1xuICAgICAgdGhpcy4jdmFsdWVEaWZmZXIuZGlmZihpbml0aWFsT3V0cHV0cylcbiAgICB9XG4gIH1cblxuICBoYXNMaXN0ZW5lcihvdXRwdXROYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gb3V0cHV0TmFtZSBpbiB0aGlzLiNvdXRwdXRMaXN0ZW5lcnNcbiAgfVxuXG4gIHNldExpc3RlbmVyKG91dHB1dE5hbWU6IHN0cmluZywgY2FsbGJhY2s6ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCkge1xuICAgIHRoaXMuI291dHB1dExpc3RlbmVyc1tvdXRwdXROYW1lXSA9IGNhbGxiYWNrXG4gIH1cblxuICBnZXRMaXN0ZW5lcihvdXRwdXROYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy4jb3V0cHV0TGlzdGVuZXJzW291dHB1dE5hbWVdXG4gIH1cblxuICB1bnN1YnNjcmliZUFsbCgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHByb3AgaW4gdGhpcy4jb3V0cHV0U3Vic2NyaWJlcnMpIHtcbiAgICAgIHRoaXMudW5zdWJzY3JpYmUocHJvcClcbiAgICB9XG4gIH1cblxuICB1bnN1YnNjcmliZShvdXRwdXROYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAob3V0cHV0TmFtZSBpbiB0aGlzLiNvdXRwdXRTdWJzY3JpYmVycykge1xuICAgICAgdGhpcy4jb3V0cHV0U3Vic2NyaWJlcnNbb3V0cHV0TmFtZV0/LnVuc3Vic2NyaWJlKClcbiAgICAgIGRlbGV0ZSB0aGlzLiNvdXRwdXRTdWJzY3JpYmVyc1tvdXRwdXROYW1lXVxuICAgICAgZGVsZXRlIHRoaXMuI291dHB1dExpc3RlbmVyc1tvdXRwdXROYW1lXVxuICAgIH1cbiAgfVxuXG4gIGRpZmYob3V0cHV0czogUmVjb3JkPHN0cmluZywgT3V0cHV0RW1pdHRlclJlZjx1bmtub3duPlsnZW1pdCddIHwgdW5kZWZpbmVkPikge1xuICAgIHJldHVybiB0aGlzLiN2YWx1ZURpZmZlci5kaWZmKG91dHB1dHMgPz8ge30pXG4gIH1cbn1cbiJdfQ==
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleC1yZW5kZXItY29tcG9uZW50LXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mbGV4LXJlbmRlci9mbGV4LXJlbmRlci1jb21wb25lbnQtcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFFakIsTUFBTSxFQUNOLFVBQVUsRUFHVixlQUFlLEVBQ2YsZ0JBQWdCLEVBRWhCLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQTs7QUFJdEIsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUU1QyxlQUFlLENBQ2IsbUJBQTJDLEVBQzNDLGlCQUEyQjtRQUUzQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUN6RCxtQkFBbUIsQ0FBQyxTQUFTLEVBQzdCO1lBQ0UsUUFBUSxFQUFFLGlCQUFpQjtTQUM1QixDQUNGLENBQUE7UUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLHNCQUFzQixDQUNyQyxZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLGlCQUFpQixDQUNsQixDQUFBO1FBRUQsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQTtRQUUvQyxJQUFJLE1BQU07WUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ2xDLElBQUksT0FBTztZQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFckMsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO3dHQXpCVSwwQkFBMEI7NEdBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFEdEMsVUFBVTs7QUE2QlgsTUFBTSxPQUFPLHNCQUFzQjtJQVF0QjtJQUVBO0lBVEYsdUJBQXVCLENBQWlCO0lBQ2pELGNBQWMsQ0FBd0I7SUFDdEMsaUJBQWlCLENBQWlDO0lB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SSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQXNFO1FBQ3pFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQzlDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnRSZWYsXG4gIGluamVjdCxcbiAgSW5qZWN0YWJsZSxcbiAgSW5qZWN0b3IsXG4gIEtleVZhbHVlRGlmZmVyLFxuICBLZXlWYWx1ZURpZmZlcnMsXG4gIE91dHB1dEVtaXR0ZXJSZWYsXG4gIE91dHB1dFJlZlN1YnNjcmlwdGlvbixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEZsZXhSZW5kZXJDb21wb25lbnQgfSBmcm9tICcuL2ZsZXgtcmVuZGVyLWNvbXBvbmVudCdcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZsZXhSZW5kZXJDb21wb25lbnRGYWN0b3J5IHtcbiAgI3ZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZilcblxuICBjcmVhdGVDb21wb25lbnQ8VD4oXG4gICAgZmxleFJlbmRlckNvbXBvbmVudDogRmxleFJlbmRlckNvbXBvbmVudDxUPixcbiAgICBjb21wb25lbnRJbmplY3RvcjogSW5qZWN0b3IsXG4gICk6IEZsZXhSZW5kZXJDb21wb25lbnRSZWY8VD4ge1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuI3ZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgZmxleFJlbmRlckNvbXBvbmVudC5jb21wb25lbnQsXG4gICAgICB7XG4gICAgICAgIGluamVjdG9yOiBjb21wb25lbnRJbmplY3RvcixcbiAgICAgIH0sXG4gICAgKVxuICAgIGNvbnN0IHZpZXcgPSBuZXcgRmxleFJlbmRlckNvbXBvbmVudFJlZihcbiAgICAgIGNvbXBvbmVudFJlZixcbiAgICAgIGZsZXhSZW5kZXJDb21wb25lbnQsXG4gICAgICBjb21wb25lbnRJbmplY3RvcixcbiAgICApXG5cbiAgICBjb25zdCB7IGlucHV0cywgb3V0cHV0cyB9ID0gZmxleFJlbmRlckNvbXBvbmVudFxuXG4gICAgaWYgKGlucHV0cykgdmlldy5zZXRJbnB1dHMoaW5wdXRzKVxuICAgIGlmIChvdXRwdXRzKSB2aWV3LnNldE91dHB1dHMob3V0cHV0cylcblxuICAgIHJldHVybiB2aWV3XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZsZXhSZW5kZXJDb21wb25lbnRSZWY8VD4ge1xuICByZWFkb25seSAja2V5VmFsdWVEaWZmZXJzRmFjdG9yeTogS2V5VmFsdWVEaWZmZXJzXG4gICNjb21wb25lbnREYXRhOiBGbGV4UmVuZGVyQ29tcG9uZW50PFQ+XG4gICNpbnB1dFZhbHVlRGlmZmVyOiBLZXlWYWx1ZURpZmZlcjxzdHJpbmcsIHVua25vd24+XG5cbiAgcmVhZG9ubHkgI291dHB1dFJlZ2lzdHJ5OiBGbGV4UmVuZGVyQ29tcG9uZW50T3V0cHV0TWFuYWdlclxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHJlYWRvbmx5IGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+LFxuICAgIGNvbXBvbmVudERhdGE6IEZsZXhSZW5kZXJDb21wb25lbnQ8VD4sXG4gICAgcmVhZG9ubHkgY29tcG9uZW50SW5qZWN0b3I6IEluamVjdG9yLFxuICApIHtcbiAgICB0aGlzLiNjb21wb25lbnREYXRhID0gY29tcG9uZW50RGF0YVxuICAgIHRoaXMuI2tleVZhbHVlRGlmZmVyc0ZhY3RvcnkgPSBjb21wb25lbnRJbmplY3Rvci5nZXQoS2V5VmFsdWVEaWZmZXJzKVxuXG4gICAgdGhpcy4jb3V0cHV0UmVnaXN0cnkgPSBuZXcgRmxleFJlbmRlckNvbXBvbmVudE91dHB1dE1hbmFnZXIoXG4gICAgICB0aGlzLiNrZXlWYWx1ZURpZmZlcnNGYWN0b3J5LFxuICAgICAgdGhpcy5vdXRwdXRzLFxuICAgIClcblxuICAgIHRoaXMuI2lucHV0VmFsdWVEaWZmZXIgPSB0aGlzLiNrZXlWYWx1ZURpZmZlcnNGYWN0b3J5XG4gICAgICAuZmluZCh0aGlzLmlucHV0cylcbiAgICAgIC5jcmVhdGUoKVxuICAgIHRoaXMuI2lucHV0VmFsdWVEaWZmZXIuZGlmZih0aGlzLmlucHV0cylcblxuICAgIHRoaXMuY29tcG9uZW50UmVmLm9uRGVzdHJveSgoKSA9PiB0aGlzLiNvdXRwdXRSZWdpc3RyeS51bnN1YnNjcmliZUFsbCgpKVxuICB9XG5cbiAgZ2V0IGNvbXBvbmVudCgpIHtcbiAgICByZXR1cm4gdGhpcy4jY29tcG9uZW50RGF0YS5jb21wb25lbnRcbiAgfVxuXG4gIGdldCBpbnB1dHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuI2NvbXBvbmVudERhdGEuaW5wdXRzID8/IHt9XG4gIH1cblxuICBnZXQgb3V0cHV0cygpIHtcbiAgICByZXR1cm4gdGhpcy4jY29tcG9uZW50RGF0YS5vdXRwdXRzID8/IHt9XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbXBvbmVudCBpbnB1dCBhbmQgb3V0cHV0IGRpZmYgYnkgdGhlIGdpdmVuIGl0ZW1cbiAgICovXG4gIGRpZmYoaXRlbTogRmxleFJlbmRlckNvbXBvbmVudDxUPikge1xuICAgIHJldHVybiB7XG4gICAgICBpbnB1dERpZmY6IHRoaXMuI2lucHV0VmFsdWVEaWZmZXIuZGlmZihpdGVtLmlucHV0cyA/PyB7fSksXG4gICAgICBvdXRwdXREaWZmOiB0aGlzLiNvdXRwdXRSZWdpc3RyeS5kaWZmKGl0ZW0ub3V0cHV0cyA/PyB7fSksXG4gICAgfVxuICB9XG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gY29tcGFyZSBXaGV0aGVyIHRoZSBjdXJyZW50IHJlZiBjb21wb25lbnQgaW5zdGFuY2UgaXMgdGhlIHNhbWUgYXMgdGhlIGdpdmVuIG9uZVxuICAgKi9cbiAgZXFUeXBlKGNvbXBhcmU6IEZsZXhSZW5kZXJDb21wb25lbnQ8VD4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gY29tcGFyZS5jb21wb25lbnQgPT09IHRoaXMuY29tcG9uZW50XG4gIH1cblxuICAvKipcbiAgICogVHJpZXMgdG8gdXBkYXRlIGN1cnJlbnQgY29tcG9uZW50IHJlZnMgaW5wdXQgYnkgdGhlIG5ldyBnaXZlbiBjb250ZW50IGNvbXBvbmVudC5cbiAgICovXG4gIHVwZGF0ZShjb250ZW50OiBGbGV4UmVuZGVyQ29tcG9uZW50PFQ+KSB7XG4gICAgY29uc3QgZXEgPSB0aGlzLmVxVHlwZShjb250ZW50KVxuICAgIGlmICghZXEpIHJldHVyblxuICAgIGNvbnN0IHsgaW5wdXREaWZmLCBvdXRwdXREaWZmIH0gPSB0aGlzLmRpZmYoY29udGVudClcbiAgICBpZiAoaW5wdXREaWZmKSB7XG4gICAgICBpbnB1dERpZmYuZm9yRWFjaEFkZGVkSXRlbSgoaXRlbSkgPT5cbiAgICAgICAgdGhpcy5zZXRJbnB1dChpdGVtLmtleSwgaXRlbS5jdXJyZW50VmFsdWUpLFxuICAgICAgKVxuICAgICAgaW5wdXREaWZmLmZvckVhY2hDaGFuZ2VkSXRlbSgoaXRlbSkgPT5cbiAgICAgICAgdGhpcy5zZXRJbnB1dChpdGVtLmtleSwgaXRlbS5jdXJyZW50VmFsdWUpLFxuICAgICAgKVxuICAgICAgaW5wdXREaWZmLmZvckVhY2hSZW1vdmVkSXRlbSgoaXRlbSkgPT4gdGhpcy5zZXRJbnB1dChpdGVtLmtleSwgdW5kZWZpbmVkKSlcbiAgICB9XG4gICAgaWYgKG91dHB1dERpZmYpIHtcbiAgICAgIG91dHB1dERpZmYuZm9yRWFjaEFkZGVkSXRlbSgoaXRlbSkgPT4ge1xuICAgICAgICB0aGlzLnNldE91dHB1dChpdGVtLmtleSwgaXRlbS5jdXJyZW50VmFsdWUpXG4gICAgICB9KVxuICAgICAgb3V0cHV0RGlmZi5mb3JFYWNoQ2hhbmdlZEl0ZW0oKGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGl0ZW0uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgdGhpcy4jb3V0cHV0UmVnaXN0cnkuc2V0TGlzdGVuZXIoaXRlbS5rZXksIGl0ZW0uY3VycmVudFZhbHVlKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuI291dHB1dFJlZ2lzdHJ5LnVuc3Vic2NyaWJlKGl0ZW0ua2V5KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgb3V0cHV0RGlmZi5mb3JFYWNoUmVtb3ZlZEl0ZW0oKGl0ZW0pID0+IHtcbiAgICAgICAgdGhpcy4jb3V0cHV0UmVnaXN0cnkudW5zdWJzY3JpYmUoaXRlbS5rZXkpXG4gICAgICB9KVxuICAgIH1cblxuICAgIHRoaXMuI2NvbXBvbmVudERhdGEgPSBjb250ZW50XG4gIH1cblxuICBtYXJrQXNEaXJ0eSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbmplY3Rvci5nZXQoQ2hhbmdlRGV0ZWN0b3JSZWYpLm1hcmtGb3JDaGVjaygpXG4gIH1cblxuICBzZXRJbnB1dHMoaW5wdXRzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgIGZvciAoY29uc3QgcHJvcCBpbiBpbnB1dHMpIHtcbiAgICAgIHRoaXMuc2V0SW5wdXQocHJvcCwgaW5wdXRzW3Byb3BdKVxuICAgIH1cbiAgfVxuXG4gIHNldElucHV0KGtleTogc3RyaW5nLCB2YWx1ZTogdW5rbm93bikge1xuICAgIGlmICh0aGlzLiNjb21wb25lbnREYXRhLmFsbG93ZWRJbnB1dE5hbWVzLmluY2x1ZGVzKGtleSkpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLnNldElucHV0KGtleSwgdmFsdWUpXG4gICAgfVxuICB9XG5cbiAgc2V0T3V0cHV0cyhcbiAgICBvdXRwdXRzOiBSZWNvcmQ8XG4gICAgICBzdHJpbmcsXG4gICAgICBPdXRwdXRFbWl0dGVyUmVmPHVua25vd24+WydlbWl0J10gfCBudWxsIHwgdW5kZWZpbmVkXG4gICAgPixcbiAgKSB7XG4gICAgdGhpcy4jb3V0cHV0UmVnaXN0cnkudW5zdWJzY3JpYmVBbGwoKVxuICAgIGZvciAoY29uc3QgcHJvcCBpbiBvdXRwdXRzKSB7XG4gICAgICB0aGlzLnNldE91dHB1dChwcm9wLCBvdXRwdXRzW3Byb3BdKVxuICAgIH1cbiAgfVxuXG4gIHNldE91dHB1dChcbiAgICBvdXRwdXROYW1lOiBzdHJpbmcsXG4gICAgZW1pdDogT3V0cHV0RW1pdHRlclJlZjx1bmtub3duPlsnZW1pdCddIHwgdW5kZWZpbmVkIHwgbnVsbCxcbiAgKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLiNjb21wb25lbnREYXRhLmFsbG93ZWRPdXRwdXROYW1lcy5pbmNsdWRlcyhvdXRwdXROYW1lKSkgcmV0dXJuXG4gICAgaWYgKCFlbWl0KSB7XG4gICAgICB0aGlzLiNvdXRwdXRSZWdpc3RyeS51bnN1YnNjcmliZShvdXRwdXROYW1lKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgaGFzTGlzdGVuZXIgPSB0aGlzLiNvdXRwdXRSZWdpc3RyeS5oYXNMaXN0ZW5lcihvdXRwdXROYW1lKVxuICAgIHRoaXMuI291dHB1dFJlZ2lzdHJ5LnNldExpc3RlbmVyKG91dHB1dE5hbWUsIGVtaXQpXG5cbiAgICBpZiAoaGFzTGlzdGVuZXIpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2VcbiAgICBjb25zdCBvdXRwdXQgPSBpbnN0YW5jZVtvdXRwdXROYW1lIGFzIGtleW9mIHR5cGVvZiBpbnN0YW5jZV1cbiAgICBpZiAob3V0cHV0ICYmIG91dHB1dCBpbnN0YW5jZW9mIE91dHB1dEVtaXR0ZXJSZWYpIHtcbiAgICAgIG91dHB1dC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMuI291dHB1dFJlZ2lzdHJ5LmdldExpc3RlbmVyKG91dHB1dE5hbWUpPy4odmFsdWUpXG4gICAgICB9KVxuICAgIH1cbiAgfVxufVxuXG5jbGFzcyBGbGV4UmVuZGVyQ29tcG9uZW50T3V0cHV0TWFuYWdlciB7XG4gIHJlYWRvbmx5ICNvdXRwdXRTdWJzY3JpYmVyczogUmVjb3JkPHN0cmluZywgT3V0cHV0UmVmU3Vic2NyaXB0aW9uPiA9IHt9XG4gIHJlYWRvbmx5ICNvdXRwdXRMaXN0ZW5lcnM6IFJlY29yZDxzdHJpbmcsICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZD4gPSB7fVxuXG4gIHJlYWRvbmx5ICN2YWx1ZURpZmZlcjogS2V5VmFsdWVEaWZmZXI8XG4gICAgc3RyaW5nLFxuICAgIHVuZGVmaW5lZCB8IG51bGwgfCBPdXRwdXRFbWl0dGVyUmVmPHVua25vd24+WydlbWl0J11cbiAgPlxuXG4gIGNvbnN0cnVjdG9yKGtleVZhbHVlRGlmZmVyczogS2V5VmFsdWVEaWZmZXJzLCBpbml0aWFsT3V0cHV0czogYW55KSB7XG4gICAgdGhpcy4jdmFsdWVEaWZmZXIgPSBrZXlWYWx1ZURpZmZlcnMuZmluZChpbml0aWFsT3V0cHV0cykuY3JlYXRlKClcbiAgICBpZiAoaW5pdGlhbE91dHB1dHMpIHtcbiAgICAgIHRoaXMuI3ZhbHVlRGlmZmVyLmRpZmYoaW5pdGlhbE91dHB1dHMpXG4gICAgfVxuICB9XG5cbiAgaGFzTGlzdGVuZXIob3V0cHV0TmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG91dHB1dE5hbWUgaW4gdGhpcy4jb3V0cHV0TGlzdGVuZXJzXG4gIH1cblxuICBzZXRMaXN0ZW5lcihvdXRwdXROYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQpIHtcbiAgICB0aGlzLiNvdXRwdXRMaXN0ZW5lcnNbb3V0cHV0TmFtZV0gPSBjYWxsYmFja1xuICB9XG5cbiAgZ2V0TGlzdGVuZXIob3V0cHV0TmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuI291dHB1dExpc3RlbmVyc1tvdXRwdXROYW1lXVxuICB9XG5cbiAgdW5zdWJzY3JpYmVBbGwoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBwcm9wIGluIHRoaXMuI291dHB1dFN1YnNjcmliZXJzKSB7XG4gICAgICB0aGlzLnVuc3Vic2NyaWJlKHByb3ApXG4gICAgfVxuICB9XG5cbiAgdW5zdWJzY3JpYmUob3V0cHV0TmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKG91dHB1dE5hbWUgaW4gdGhpcy4jb3V0cHV0U3Vic2NyaWJlcnMpIHtcbiAgICAgIHRoaXMuI291dHB1dFN1YnNjcmliZXJzW291dHB1dE5hbWVdPy51bnN1YnNjcmliZSgpXG4gICAgICBkZWxldGUgdGhpcy4jb3V0cHV0U3Vic2NyaWJlcnNbb3V0cHV0TmFtZV1cbiAgICAgIGRlbGV0ZSB0aGlzLiNvdXRwdXRMaXN0ZW5lcnNbb3V0cHV0TmFtZV1cbiAgICB9XG4gIH1cblxuICBkaWZmKG91dHB1dHM6IFJlY29yZDxzdHJpbmcsIE91dHB1dEVtaXR0ZXJSZWY8dW5rbm93bj5bJ2VtaXQnXSB8IHVuZGVmaW5lZD4pIHtcbiAgICByZXR1cm4gdGhpcy4jdmFsdWVEaWZmZXIuZGlmZihvdXRwdXRzID8/IHt9KVxuICB9XG59XG4iXX0=
@@ -41,4 +41,4 @@ export class FlexRenderComponent {
41
41
  }
42
42
  }
43
43
  }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleC1yZW5kZXItY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ZsZXgtcmVuZGVyL2ZsZXgtcmVuZGVyLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBS0wsb0JBQW9CLEdBRXJCLE1BQU0sZUFBZSxDQUFBO0FBNER0Qjs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBS2pDLFNBQTJCLEVBQzNCLEdBQUcsT0FFK0M7SUFFbEQsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO0lBQ3hELE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQTtBQUN0RSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFNbkI7SUFDQTtJQUNBO0lBQ0E7SUFSRixNQUFNLENBQTZCO0lBQ25DLGlCQUFpQixHQUFhLEVBQUUsQ0FBQTtJQUNoQyxrQkFBa0IsR0FBYSxFQUFFLENBQUE7SUFFMUMsWUFDVyxTQUEyQixFQUMzQixNQUEyQixFQUMzQixRQUFtQixFQUNuQixPQUE2QjtRQUg3QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMzQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBRXRDLE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQzlDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxLQUFLLENBQ2Isa0VBQWtFLENBQ25FLENBQUE7UUFDSCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDcEIsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQzdDLENBQUM7UUFDRCxLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDL0MsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudE1pcnJvcixcbiAgSW5qZWN0b3IsXG4gIElucHV0U2lnbmFsLFxuICBPdXRwdXRFbWl0dGVyUmVmLFxuICByZWZsZWN0Q29tcG9uZW50VHlwZSxcbiAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxudHlwZSBJbnB1dHM8VD4gPSB7XG4gIFtLIGluIGtleW9mIFQgYXMgVFtLXSBleHRlbmRzIElucHV0U2lnbmFsPGluZmVyIFI+XG4gICAgPyBLXG4gICAgOiBuZXZlcl0/OiBUW0tdIGV4dGVuZHMgSW5wdXRTaWduYWw8aW5mZXIgUj4gPyBSIDogbmV2ZXJcbn1cblxudHlwZSBPdXRwdXRzPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUIGFzIFRbS10gZXh0ZW5kcyBPdXRwdXRFbWl0dGVyUmVmPGluZmVyIFI+XG4gICAgPyBLXG4gICAgOiBuZXZlcl0/OiBUW0tdIGV4dGVuZHMgT3V0cHV0RW1pdHRlclJlZjxpbmZlciBSPlxuICAgID8gT3V0cHV0RW1pdHRlclJlZjxSPlsnZW1pdCddXG4gICAgOiBuZXZlclxufVxuXG50eXBlIE9wdGlvbmFsS2V5czxULCBLID0ga2V5b2YgVD4gPSBLIGV4dGVuZHMga2V5b2YgVFxuICA/IFRbS10gZXh0ZW5kcyBSZXF1aXJlZDxUPltLXVxuICAgID8gdW5kZWZpbmVkIGV4dGVuZHMgVFtLXVxuICAgICAgPyBLXG4gICAgICA6IG5ldmVyXG4gICAgOiBLXG4gIDogbmV2ZXJcblxuaW50ZXJmYWNlIEZsZXhSZW5kZXJSZXF1aXJlZE9wdGlvbnM8XG4gIFRJbnB1dHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICBUT3V0cHV0cyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4sXG4+IHtcbiAgLyoqXG4gICAqIENvbXBvbmVudCBpbnN0YW5jZSBpbnB1dHMuIFRoZXkgd2lsbCBiZSBzZXQgdmlhIFtjb21wb25lbnRSZWYuc2V0SW5wdXQgQVBJXShodHRwczovL2FuZ3VsYXIuZGV2L2FwaS9jb3JlL0NvbXBvbmVudFJlZiNzZXRJbnB1dClcbiAgICovXG4gIGlucHV0czogVElucHV0c1xuICAvKipcbiAgICogQ29tcG9uZW50IGluc3RhbmNlIG91dHB1dHMuXG4gICAqL1xuICBvdXRwdXRzPzogVE91dHB1dHNcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHtAbGluayBJbmplY3Rvcn0gdGhhdCB3aWxsIGJlIHVzZWQgd2hlbiByZW5kZXJpbmcgdGhlIGNvbXBvbmVudFxuICAgKi9cbiAgaW5qZWN0b3I/OiBJbmplY3RvclxufVxuXG5pbnRlcmZhY2UgRmxleFJlbmRlck9wdGlvbnM8XG4gIFRJbnB1dHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICBUT3V0cHV0cyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4sXG4+IHtcbiAgLyoqXG4gICAqIENvbXBvbmVudCBpbnN0YW5jZSBpbnB1dHMuIFRoZXkgd2lsbCBiZSBzZXQgdmlhIFtjb21wb25lbnRSZWYuc2V0SW5wdXQgQVBJXShodHRwczovL2FuZ3VsYXIuZGV2L2FwaS9jb3JlL0NvbXBvbmVudFJlZiNzZXRJbnB1dClcbiAgICovXG4gIGlucHV0cz86IFRJbnB1dHNcbiAgLyoqXG4gICAqIENvbXBvbmVudCBpbnN0YW5jZSBvdXRwdXRzLlxuICAgKi9cbiAgb3V0cHV0cz86IFRPdXRwdXRzXG4gIC8qKlxuICAgKiBPcHRpb25hbCB7QGxpbmsgSW5qZWN0b3J9IHRoYXQgd2lsbCBiZSB1c2VkIHdoZW4gcmVuZGVyaW5nIHRoZSBjb21wb25lbnRcbiAgICovXG4gIGluamVjdG9yPzogSW5qZWN0b3Jcbn1cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gY3JlYXRlIGEgW0BsaW5rIEZsZXhSZW5kZXJDb21wb25lbnRdIGluc3RhbmNlLCB3aXRoIGJldHRlciB0eXBlLXNhZmV0eS5cbiAqXG4gKiAtIG9wdGlvbnMgb2JqZWN0IG11c3QgYmUgcGFzc2VkIHdoZW4gdGhlIGdpdmVuIGNvbXBvbmVudCBpbnN0YW5jZSBjb250YWlucyBhdCBsZWFzdCBvbmUgcmVxdWlyZWQgc2lnbmFsIGlucHV0LlxuICogLSBvcHRpb25zL2lucHV0cyBpcyB0eXBlZCB3aXRoIHRoZSBnaXZlbiBjb21wb25lbnQgaW5wdXRzXG4gKiAtIG9wdGlvbnMvb3V0cHV0cyBpcyB0eXBlZCB3aXRoIHRoZSBnaXZlbiBjb21wb25lbnQgb3V0cHV0c1xuICovXG5leHBvcnQgZnVuY3Rpb24gZmxleFJlbmRlckNvbXBvbmVudDxcbiAgVENvbXBvbmVudCA9IGFueSxcbiAgVElucHV0cyBleHRlbmRzIElucHV0czxUQ29tcG9uZW50PiA9IElucHV0czxUQ29tcG9uZW50PixcbiAgVE91dHB1dHMgZXh0ZW5kcyBPdXRwdXRzPFRDb21wb25lbnQ+ID0gT3V0cHV0czxUQ29tcG9uZW50Pixcbj4oXG4gIGNvbXBvbmVudDogVHlwZTxUQ29tcG9uZW50PixcbiAgLi4ub3B0aW9uczogT3B0aW9uYWxLZXlzPFRJbnB1dHM+IGV4dGVuZHMgbmV2ZXJcbiAgICA/IFtGbGV4UmVuZGVyT3B0aW9uczxUSW5wdXRzLCBUT3V0cHV0cz4/XVxuICAgIDogW0ZsZXhSZW5kZXJSZXF1aXJlZE9wdGlvbnM8VElucHV0cywgVE91dHB1dHM+XVxuKSB7XG4gIGNvbnN0IHsgaW5wdXRzLCBpbmplY3Rvciwgb3V0cHV0cyB9ID0gb3B0aW9ucz8uWzBdID8/IHt9XG4gIHJldHVybiBuZXcgRmxleFJlbmRlckNvbXBvbmVudChjb21wb25lbnQsIGlucHV0cywgaW5qZWN0b3IsIG91dHB1dHMpXG59XG5cbi8qKlxuICogV3JhcHBlciBjbGFzcyBmb3IgYSBjb21wb25lbnQgdGhhdCB3aWxsIGJlIHVzZWQgYXMgY29udGVudCBmb3Ige0BsaW5rIEZsZXhSZW5kZXJEaXJlY3RpdmV9XG4gKlxuICogUHJlZmVyIHtAbGluayBmbGV4UmVuZGVyQ29tcG9uZW50fSBoZWxwZXIgZm9yIGJldHRlciB0eXBlLXNhZmV0eVxuICovXG5leHBvcnQgY2xhc3MgRmxleFJlbmRlckNvbXBvbmVudDxUQ29tcG9uZW50ID0gYW55PiB7XG4gIHJlYWRvbmx5IG1pcnJvcjogQ29tcG9uZW50TWlycm9yPFRDb21wb25lbnQ+XG4gIHJlYWRvbmx5IGFsbG93ZWRJbnB1dE5hbWVzOiBzdHJpbmdbXSA9IFtdXG4gIHJlYWRvbmx5IGFsbG93ZWRPdXRwdXROYW1lczogc3RyaW5nW10gPSBbXVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHJlYWRvbmx5IGNvbXBvbmVudDogVHlwZTxUQ29tcG9uZW50PixcbiAgICByZWFkb25seSBpbnB1dHM/OiBJbnB1dHM8VENvbXBvbmVudD4sXG4gICAgcmVhZG9ubHkgaW5qZWN0b3I/OiBJbmplY3RvcixcbiAgICByZWFkb25seSBvdXRwdXRzPzogT3V0cHV0czxUQ29tcG9uZW50PlxuICApIHtcbiAgICBjb25zdCBtaXJyb3IgPSByZWZsZWN0Q29tcG9uZW50VHlwZShjb21wb25lbnQpXG4gICAgaWYgKCFtaXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFtAdGFuc3RhY2stdGFibGUvYW5ndWxhcl0gVGhlIHByb3ZpZGVkIHN5bWJvbCBpcyBub3QgYSBjb21wb25lbnRgXG4gICAgICApXG4gICAgfVxuICAgIHRoaXMubWlycm9yID0gbWlycm9yXG4gICAgZm9yIChjb25zdCBpbnB1dCBvZiB0aGlzLm1pcnJvci5pbnB1dHMpIHtcbiAgICAgIHRoaXMuYWxsb3dlZElucHV0TmFtZXMucHVzaChpbnB1dC5wcm9wTmFtZSlcbiAgICB9XG4gICAgZm9yIChjb25zdCBvdXRwdXQgb2YgdGhpcy5taXJyb3Iub3V0cHV0cykge1xuICAgICAgdGhpcy5hbGxvd2VkT3V0cHV0TmFtZXMucHVzaChvdXRwdXQucHJvcE5hbWUpXG4gICAgfVxuICB9XG59XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleC1yZW5kZXItY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ZsZXgtcmVuZGVyL2ZsZXgtcmVuZGVyLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBS0wsb0JBQW9CLEdBRXJCLE1BQU0sZUFBZSxDQUFBO0FBNER0Qjs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBS2pDLFNBQTJCLEVBQzNCLEdBQUcsT0FFK0M7SUFFbEQsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO0lBQ3hELE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQTtBQUN0RSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFNbkI7SUFDQTtJQUNBO0lBQ0E7SUFSRixNQUFNLENBQTZCO0lBQ25DLGlCQUFpQixHQUFhLEVBQUUsQ0FBQTtJQUNoQyxrQkFBa0IsR0FBYSxFQUFFLENBQUE7SUFFMUMsWUFDVyxTQUEyQixFQUMzQixNQUEyQixFQUMzQixRQUFtQixFQUNuQixPQUE2QjtRQUg3QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMzQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBRXRDLE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQzlDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxLQUFLLENBQ2Isa0VBQWtFLENBQ25FLENBQUE7UUFDSCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDcEIsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQzdDLENBQUM7UUFDRCxLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDL0MsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudE1pcnJvcixcbiAgSW5qZWN0b3IsXG4gIElucHV0U2lnbmFsLFxuICBPdXRwdXRFbWl0dGVyUmVmLFxuICByZWZsZWN0Q29tcG9uZW50VHlwZSxcbiAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxudHlwZSBJbnB1dHM8VD4gPSB7XG4gIFtLIGluIGtleW9mIFQgYXMgVFtLXSBleHRlbmRzIElucHV0U2lnbmFsPGluZmVyIFI+XG4gICAgPyBLXG4gICAgOiBuZXZlcl0/OiBUW0tdIGV4dGVuZHMgSW5wdXRTaWduYWw8aW5mZXIgUj4gPyBSIDogbmV2ZXJcbn1cblxudHlwZSBPdXRwdXRzPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUIGFzIFRbS10gZXh0ZW5kcyBPdXRwdXRFbWl0dGVyUmVmPGluZmVyIFI+XG4gICAgPyBLXG4gICAgOiBuZXZlcl0/OiBUW0tdIGV4dGVuZHMgT3V0cHV0RW1pdHRlclJlZjxpbmZlciBSPlxuICAgID8gT3V0cHV0RW1pdHRlclJlZjxSPlsnZW1pdCddXG4gICAgOiBuZXZlclxufVxuXG50eXBlIE9wdGlvbmFsS2V5czxULCBLID0ga2V5b2YgVD4gPSBLIGV4dGVuZHMga2V5b2YgVFxuICA/IFRbS10gZXh0ZW5kcyBSZXF1aXJlZDxUPltLXVxuICAgID8gdW5kZWZpbmVkIGV4dGVuZHMgVFtLXVxuICAgICAgPyBLXG4gICAgICA6IG5ldmVyXG4gICAgOiBLXG4gIDogbmV2ZXJcblxuaW50ZXJmYWNlIEZsZXhSZW5kZXJSZXF1aXJlZE9wdGlvbnM8XG4gIFRJbnB1dHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICBUT3V0cHV0cyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4sXG4+IHtcbiAgLyoqXG4gICAqIENvbXBvbmVudCBpbnN0YW5jZSBpbnB1dHMuIFRoZXkgd2lsbCBiZSBzZXQgdmlhIFtjb21wb25lbnRSZWYuc2V0SW5wdXQgQVBJXShodHRwczovL2FuZ3VsYXIuZGV2L2FwaS9jb3JlL0NvbXBvbmVudFJlZiNzZXRJbnB1dClcbiAgICovXG4gIGlucHV0czogVElucHV0c1xuICAvKipcbiAgICogQ29tcG9uZW50IGluc3RhbmNlIG91dHB1dHMuXG4gICAqL1xuICBvdXRwdXRzPzogVE91dHB1dHNcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHtAbGluayBJbmplY3Rvcn0gdGhhdCB3aWxsIGJlIHVzZWQgd2hlbiByZW5kZXJpbmcgdGhlIGNvbXBvbmVudFxuICAgKi9cbiAgaW5qZWN0b3I/OiBJbmplY3RvclxufVxuXG5pbnRlcmZhY2UgRmxleFJlbmRlck9wdGlvbnM8XG4gIFRJbnB1dHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICBUT3V0cHV0cyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4sXG4+IHtcbiAgLyoqXG4gICAqIENvbXBvbmVudCBpbnN0YW5jZSBpbnB1dHMuIFRoZXkgd2lsbCBiZSBzZXQgdmlhIFtjb21wb25lbnRSZWYuc2V0SW5wdXQgQVBJXShodHRwczovL2FuZ3VsYXIuZGV2L2FwaS9jb3JlL0NvbXBvbmVudFJlZiNzZXRJbnB1dClcbiAgICovXG4gIGlucHV0cz86IFRJbnB1dHNcbiAgLyoqXG4gICAqIENvbXBvbmVudCBpbnN0YW5jZSBvdXRwdXRzLlxuICAgKi9cbiAgb3V0cHV0cz86IFRPdXRwdXRzXG4gIC8qKlxuICAgKiBPcHRpb25hbCB7QGxpbmsgSW5qZWN0b3J9IHRoYXQgd2lsbCBiZSB1c2VkIHdoZW4gcmVuZGVyaW5nIHRoZSBjb21wb25lbnRcbiAgICovXG4gIGluamVjdG9yPzogSW5qZWN0b3Jcbn1cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gY3JlYXRlIGEgW0BsaW5rIEZsZXhSZW5kZXJDb21wb25lbnRdIGluc3RhbmNlLCB3aXRoIGJldHRlciB0eXBlLXNhZmV0eS5cbiAqXG4gKiAtIG9wdGlvbnMgb2JqZWN0IG11c3QgYmUgcGFzc2VkIHdoZW4gdGhlIGdpdmVuIGNvbXBvbmVudCBpbnN0YW5jZSBjb250YWlucyBhdCBsZWFzdCBvbmUgcmVxdWlyZWQgc2lnbmFsIGlucHV0LlxuICogLSBvcHRpb25zL2lucHV0cyBpcyB0eXBlZCB3aXRoIHRoZSBnaXZlbiBjb21wb25lbnQgaW5wdXRzXG4gKiAtIG9wdGlvbnMvb3V0cHV0cyBpcyB0eXBlZCB3aXRoIHRoZSBnaXZlbiBjb21wb25lbnQgb3V0cHV0c1xuICovXG5leHBvcnQgZnVuY3Rpb24gZmxleFJlbmRlckNvbXBvbmVudDxcbiAgVENvbXBvbmVudCA9IGFueSxcbiAgVElucHV0cyBleHRlbmRzIElucHV0czxUQ29tcG9uZW50PiA9IElucHV0czxUQ29tcG9uZW50PixcbiAgVE91dHB1dHMgZXh0ZW5kcyBPdXRwdXRzPFRDb21wb25lbnQ+ID0gT3V0cHV0czxUQ29tcG9uZW50Pixcbj4oXG4gIGNvbXBvbmVudDogVHlwZTxUQ29tcG9uZW50PixcbiAgLi4ub3B0aW9uczogT3B0aW9uYWxLZXlzPFRJbnB1dHM+IGV4dGVuZHMgbmV2ZXJcbiAgICA/IFtGbGV4UmVuZGVyT3B0aW9uczxUSW5wdXRzLCBUT3V0cHV0cz4/XVxuICAgIDogW0ZsZXhSZW5kZXJSZXF1aXJlZE9wdGlvbnM8VElucHV0cywgVE91dHB1dHM+XVxuKSB7XG4gIGNvbnN0IHsgaW5wdXRzLCBpbmplY3Rvciwgb3V0cHV0cyB9ID0gb3B0aW9ucz8uWzBdID8/IHt9XG4gIHJldHVybiBuZXcgRmxleFJlbmRlckNvbXBvbmVudChjb21wb25lbnQsIGlucHV0cywgaW5qZWN0b3IsIG91dHB1dHMpXG59XG5cbi8qKlxuICogV3JhcHBlciBjbGFzcyBmb3IgYSBjb21wb25lbnQgdGhhdCB3aWxsIGJlIHVzZWQgYXMgY29udGVudCBmb3Ige0BsaW5rIEZsZXhSZW5kZXJEaXJlY3RpdmV9XG4gKlxuICogUHJlZmVyIHtAbGluayBmbGV4UmVuZGVyQ29tcG9uZW50fSBoZWxwZXIgZm9yIGJldHRlciB0eXBlLXNhZmV0eVxuICovXG5leHBvcnQgY2xhc3MgRmxleFJlbmRlckNvbXBvbmVudDxUQ29tcG9uZW50ID0gYW55PiB7XG4gIHJlYWRvbmx5IG1pcnJvcjogQ29tcG9uZW50TWlycm9yPFRDb21wb25lbnQ+XG4gIHJlYWRvbmx5IGFsbG93ZWRJbnB1dE5hbWVzOiBzdHJpbmdbXSA9IFtdXG4gIHJlYWRvbmx5IGFsbG93ZWRPdXRwdXROYW1lczogc3RyaW5nW10gPSBbXVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHJlYWRvbmx5IGNvbXBvbmVudDogVHlwZTxUQ29tcG9uZW50PixcbiAgICByZWFkb25seSBpbnB1dHM/OiBJbnB1dHM8VENvbXBvbmVudD4sXG4gICAgcmVhZG9ubHkgaW5qZWN0b3I/OiBJbmplY3RvcixcbiAgICByZWFkb25seSBvdXRwdXRzPzogT3V0cHV0czxUQ29tcG9uZW50PixcbiAgKSB7XG4gICAgY29uc3QgbWlycm9yID0gcmVmbGVjdENvbXBvbmVudFR5cGUoY29tcG9uZW50KVxuICAgIGlmICghbWlycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBbQHRhbnN0YWNrLXRhYmxlL2FuZ3VsYXJdIFRoZSBwcm92aWRlZCBzeW1ib2wgaXMgbm90IGEgY29tcG9uZW50YCxcbiAgICAgIClcbiAgICB9XG4gICAgdGhpcy5taXJyb3IgPSBtaXJyb3JcbiAgICBmb3IgKGNvbnN0IGlucHV0IG9mIHRoaXMubWlycm9yLmlucHV0cykge1xuICAgICAgdGhpcy5hbGxvd2VkSW5wdXROYW1lcy5wdXNoKGlucHV0LnByb3BOYW1lKVxuICAgIH1cbiAgICBmb3IgKGNvbnN0IG91dHB1dCBvZiB0aGlzLm1pcnJvci5vdXRwdXRzKSB7XG4gICAgICB0aGlzLmFsbG93ZWRPdXRwdXROYW1lcy5wdXNoKG91dHB1dC5wcm9wTmFtZSlcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -57,6 +57,14 @@ export class FlexRenderTemplateView extends FlexRenderView {
57
57
  onDestroy(callback) {
58
58
  this.view.onDestroy(callback);
59
59
  }
60
+ eq(compare) {
61
+ return ((this.content.kind === 'primitive' &&
62
+ compare.kind === 'primitive' &&
63
+ this.content.content === compare.content) ||
64
+ (this.content.kind === 'templateRef' &&
65
+ compare.kind === 'templateRef' &&
66
+ this.content.content === compare.content));
67
+ }
60
68
  }
61
69
  export class FlexRenderComponentView extends FlexRenderView {
62
70
  constructor(initialContent, view) {
@@ -98,5 +106,13 @@ export class FlexRenderComponentView extends FlexRenderView {
98
106
  onDestroy(callback) {
99
107
  this.view.componentRef.onDestroy(callback);
100
108
  }
109
+ eq(compare) {
110
+ return ((this.content.kind === 'component' &&
111
+ compare.kind === 'component' &&
112
+ this.content.content === compare.content) ||
113
+ (this.content.kind === 'flexRenderComponent' &&
114
+ compare.kind === 'flexRenderComponent' &&
115
+ this.content.content.component === compare.content.component));
116
+ }
101
117
  }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mbGV4LXJlbmRlci92aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBbUIsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUVsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQVk3RCxNQUFNLFVBQVUsMkJBQTJCLENBQ3pDLE9BQStCO0lBRS9CLElBQUksT0FBTyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQTtJQUN6QixDQUFDO0lBQ0QsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDL0QsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLENBQUE7SUFDdkMsQ0FBQztJQUNELElBQUksT0FBTyxZQUFZLG1CQUFtQixFQUFFLENBQUM7UUFDM0MsT0FBTyxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxPQUFPLEVBQUUsQ0FBQTtJQUNqRCxDQUFDO1NBQU0sSUFBSSxPQUFPLFlBQVksV0FBVyxFQUFFLENBQUM7UUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUE7SUFDekMsQ0FBQztTQUFNLElBQUksT0FBTyxZQUFZLElBQUksRUFBRSxDQUFDO1FBQ25DLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxDQUFBO0lBQ3ZDLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLENBQUE7SUFDdkMsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLE9BQWdCLGNBQWM7SUFHekIsSUFBSSxDQUFPO0lB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eFJlbmRlckNvbXBvbmVudFJlZiB9IGZyb20gJy4vZmxleC1yZW5kZXItY29tcG9uZW50LXJlZidcbmltcG9ydCB7IEVtYmVkZGVkVmlld1JlZiwgVGVtcGxhdGVSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHR5cGUgeyBGbGV4UmVuZGVyQ29udGVudCB9IGZyb20gJy4uL2ZsZXgtcmVuZGVyJ1xuaW1wb3J0IHsgRmxleFJlbmRlckNvbXBvbmVudCB9IGZyb20gJy4vZmxleC1yZW5kZXItY29tcG9uZW50J1xuXG5leHBvcnQgdHlwZSBGbGV4UmVuZGVyVHlwZWRDb250ZW50ID1cbiAgfCB7IGtpbmQ6ICdudWxsJyB9XG4gIHwge1xuICAgICAga2luZDogJ3ByaW1pdGl2ZSdcbiAgICAgIGNvbnRlbnQ6IHN0cmluZyB8IG51bWJlciB8IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgICB9XG4gIHwgeyBraW5kOiAnZmxleFJlbmRlckNvbXBvbmVudCc7IGNvbnRlbnQ6IEZsZXhSZW5kZXJDb21wb25lbnQ8dW5rbm93bj4gfVxuICB8IHsga2luZDogJ3RlbXBsYXRlUmVmJzsgY29udGVudDogVGVtcGxhdGVSZWY8dW5rbm93bj4gfVxuICB8IHsga2luZDogJ2NvbXBvbmVudCc7IGNvbnRlbnQ6IFR5cGU8dW5rbm93bj4gfVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwVG9GbGV4UmVuZGVyVHlwZWRDb250ZW50KFxuICBjb250ZW50OiBGbGV4UmVuZGVyQ29udGVudDxhbnk+XG4pOiBGbGV4UmVuZGVyVHlwZWRDb250ZW50IHtcbiAgaWYgKGNvbnRlbnQgPT09IG51bGwgfHwgY29udGVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHsga2luZDogJ251bGwnIH1cbiAgfVxuICBpZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBjb250ZW50ID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiB7IGtpbmQ6ICdwcmltaXRpdmUnLCBjb250ZW50IH1cbiAgfVxuICBpZiAoY29udGVudCBpbnN0YW5jZW9mIEZsZXhSZW5kZXJDb21wb25lbnQpIHtcbiAgICByZXR1cm4geyBraW5kOiAnZmxleFJlbmRlckNvbXBvbmVudCcsIGNvbnRlbnQgfVxuICB9IGVsc2UgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xuICAgIHJldHVybiB7IGtpbmQ6ICd0ZW1wbGF0ZVJlZicsIGNvbnRlbnQgfVxuICB9IGVsc2UgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBUeXBlKSB7XG4gICAgcmV0dXJuIHsga2luZDogJ2NvbXBvbmVudCcsIGNvbnRlbnQgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7IGtpbmQ6ICdwcmltaXRpdmUnLCBjb250ZW50IH1cbiAgfVxufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRmxleFJlbmRlclZpZXc8XG4gIFRWaWV3IGV4dGVuZHMgRmxleFJlbmRlckNvbXBvbmVudFJlZjxhbnk+IHwgRW1iZWRkZWRWaWV3UmVmPHVua25vd24+IHwgbnVsbCxcbj4ge1xuICByZWFkb25seSB2aWV3OiBUVmlld1xuICAjcHJldmlvdXNDb250ZW50OiBGbGV4UmVuZGVyVHlwZWRDb250ZW50IHwgdW5kZWZpbmVkXG4gICNjb250ZW50OiBGbGV4UmVuZGVyVHlwZWRDb250ZW50XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIGluaXRpYWxDb250ZW50OiBFeGNsdWRlPEZsZXhSZW5kZXJUeXBlZENvbnRlbnQsIHsga2luZDogJ251bGwnIH0+LFxuICAgIHZpZXc6IFRWaWV3XG4gICkge1xuICAgIHRoaXMuI2NvbnRlbnQgPSBpbml0aWFsQ29udGVudFxuICAgIHRoaXMudmlldyA9IHZpZXdcbiAgfVxuXG4gIGdldCBwcmV2aW91c0NvbnRlbnQoKTogRmxleFJlbmRlclR5cGVkQ29udGVudCB7XG4gICAgcmV0dXJuIHRoaXMuI3ByZXZpb3VzQ29udGVudCA/PyB7IGtpbmQ6ICdudWxsJyB9XG4gIH1cblxuICBnZXQgY29udGVudCgpIHtcbiAgICByZXR1cm4gdGhpcy4jY29udGVudFxuICB9XG5cbiAgc2V0IGNvbnRlbnQoY29udGVudDogRmxleFJlbmRlclR5cGVkQ29udGVudCkge1xuICAgIHRoaXMuI3ByZXZpb3VzQ29udGVudCA9IHRoaXMuI2NvbnRlbnRcbiAgICB0aGlzLiNjb250ZW50ID0gY29udGVudFxuICB9XG5cbiAgYWJzdHJhY3QgdXBkYXRlUHJvcHMocHJvcHM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiB2b2lkXG5cbiAgYWJzdHJhY3QgZGlydHlDaGVjaygpOiB2b2lkXG5cbiAgYWJzdHJhY3Qgb25EZXN0cm95KGNhbGxiYWNrOiBGdW5jdGlvbik6IHZvaWRcbn1cblxuZXhwb3J0IGNsYXNzIEZsZXhSZW5kZXJUZW1wbGF0ZVZpZXcgZXh0ZW5kcyBGbGV4UmVuZGVyVmlldzxcbiAgRW1iZWRkZWRWaWV3UmVmPHVua25vd24+XG4+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgaW5pdGlhbENvbnRlbnQ6IEV4dHJhY3Q8XG4gICAgICBGbGV4UmVuZGVyVHlwZWRDb250ZW50LFxuICAgICAgeyBraW5kOiAncHJpbWl0aXZlJyB8ICd0ZW1wbGF0ZVJlZicgfVxuICAgID4sXG4gICAgdmlldzogRW1iZWRkZWRWaWV3UmVmPHVua25vd24+XG4gICkge1xuICAgIHN1cGVyKGluaXRpYWxDb250ZW50LCB2aWV3KVxuICB9XG5cbiAgb3ZlcnJpZGUgdXBkYXRlUHJvcHMocHJvcHM6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICB0aGlzLnZpZXcubWFya0ZvckNoZWNrKClcbiAgfVxuXG4gIG92ZXJyaWRlIGRpcnR5Q2hlY2soKSB7XG4gICAgLy8gQmFzaWNhbGx5IGEgbm8tb3AuIFdoZW4gdGhlIHZpZXcgaXMgY3JlYXRlZCB2aWEgRW1iZWRkZWRWaWV3UmVmLCB3ZSBkb24ndCBuZWVkIHRvIGRvIGFueSBtYW51YWwgdXBkYXRlXG4gICAgLy8gc2luY2UgdGhpcyB0eXBlIG9mIGNvbnRlbnQgaGFzIGEgcHJveHkgYXMgYSBjb250ZXh0LCB0aGVuIGV2ZXJ5IHRpbWUgdGhlIHJvb3QgY29tcG9uZW50IGlzIGNoZWNrZWQgZm9yIGNoYW5nZXMsXG4gICAgLy8gdGhlIHByb3BlcnR5IGdldHRlciB3aWxsIGJlIHJlLWV2YWx1YXRlZC5cbiAgICAvL1xuICAgIC8vIElmIGluIGEgZnV0dXJlIHdlIG5lZWQgdG8gbWFudWFsbHkgbWFyayB0aGUgdmlldyBhcyBkaXJ0eSwganVzdCB1bmNvbW1lbnQgbmV4dCBsaW5lXG4gICAgLy8gdGhpcy52aWV3Lm1hcmtGb3JDaGVjaygpXG4gIH1cblxuICBvdmVycmlkZSBvbkRlc3Ryb3koY2FsbGJhY2s6IEZ1bmN0aW9uKSB7XG4gICAgdGhpcy52aWV3Lm9uRGVzdHJveShjYWxsYmFjaylcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRmxleFJlbmRlckNvbXBvbmVudFZpZXcgZXh0ZW5kcyBGbGV4UmVuZGVyVmlldzxcbiAgRmxleFJlbmRlckNvbXBvbmVudFJlZjx1bmtub3duPlxuPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGluaXRpYWxDb250ZW50OiBFeHRyYWN0PFxuICAgICAgRmxleFJlbmRlclR5cGVkQ29udGVudCxcbiAgICAgIHsga2luZDogJ2NvbXBvbmVudCcgfCAnZmxleFJlbmRlckNvbXBvbmVudCcgfVxuICAgID4sXG4gICAgdmlldzogRmxleFJlbmRlckNvbXBvbmVudFJlZjx1bmtub3duPlxuICApIHtcbiAgICBzdXBlcihpbml0aWFsQ29udGVudCwgdmlldylcbiAgfVxuXG4gIG92ZXJyaWRlIHVwZGF0ZVByb3BzKHByb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XG4gICAgc3dpdGNoICh0aGlzLmNvbnRlbnQua2luZCkge1xuICAgICAgY2FzZSAnY29tcG9uZW50Jzoge1xuICAgICAgICB0aGlzLnZpZXcuc2V0SW5wdXRzKHByb3BzKVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgY2FzZSAnZmxleFJlbmRlckNvbXBvbmVudCc6IHtcbiAgICAgICAgLy8gTm8tb3AuIFdoZW4gRmxleFJlbmRlckZsYWdzLlByb3BzUmVmZXJlbmNlQ2hhbmdlZCBpcyBzZXQsXG4gICAgICAgIC8vIEZsZXhSZW5kZXJDb21wb25lbnQgd2lsbCBiZSB1cGRhdGVkIGludG8gYGRpcnR5Q2hlY2tgLlxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIGRpcnR5Q2hlY2soKSB7XG4gICAgc3dpdGNoICh0aGlzLmNvbnRlbnQua2luZCkge1xuICAgICAgY2FzZSAnY29tcG9uZW50Jzoge1xuICAgICAgICAvLyBDb21wb25lbnQgY29udGV4dCBpcyBjdXJyZW50bHkgdmFsdWF0ZWQgd2l0aCB0aGUgY2VsbCBjb250ZXh0LiBTaW5jZSBpdCdzIHJlZmVyZW5jZVxuICAgICAgICAvLyBzaG91bGRuJ3QgY2hhbmdlLCB3ZSBmb3JjZSBtYXJrIHRoZSBjb21wb25lbnQgYXMgZGlydHkgaW4gb3JkZXIgdG8gcmUtZXZhbHVhdGUgZnVuY3Rpb24gaW52b2NhdGlvbiBpbiB2aWV3LlxuICAgICAgICAvLyBOT1RFOiB0aGlzIHNob3VsZCBiZWhhdmUgbGlrZSBoYXZpbmcgYSBjb21wb25lbnQgd2l0aCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0XG4gICAgICAgIHRoaXMudmlldy5tYXJrQXNEaXJ0eSgpXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICBjYXNlICdmbGV4UmVuZGVyQ29tcG9uZW50Jzoge1xuICAgICAgICAvLyBHaXZlbiBjb250ZXh0IGluc3RhbmNlIHdpbGwgYWx3YXlzIGhhdmUgYSBkaWZmZXJlbnQgcmVmZXJlbmNlIHRoYW4gdGhlIHByZXZpb3VzIG9uZSxcbiAgICAgICAgLy8gc28gaW5zdGVhZCBvZiByZWNyZWF0aW5nIHRoZSBlbnRpcmUgdmlldywgd2Ugd2lsbCBvbmx5IHVwZGF0ZSB0aGUgY3VycmVudCB2aWV3XG4gICAgICAgIGlmICh0aGlzLnZpZXcuZXFUeXBlKHRoaXMuY29udGVudC5jb250ZW50KSkge1xuICAgICAgICAgIHRoaXMudmlldy51cGRhdGUodGhpcy5jb250ZW50LmNvbnRlbnQpXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy52aWV3Lm1hcmtBc0RpcnR5KClcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBvbkRlc3Ryb3koY2FsbGJhY2s6IEZ1bmN0aW9uKSB7XG4gICAgdGhpcy52aWV3LmNvbXBvbmVudFJlZi5vbkRlc3Ryb3koY2FsbGJhY2spXG4gIH1cbn1cbiJdfQ==
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mbGV4LXJlbmRlci92aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBbUIsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUVsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQVk3RCxNQUFNLFVBQVUsMkJBQTJCLENBQ3pDLE9BQStCO0lBRS9CLElBQUksT0FBTyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQTtJQUN6QixDQUFDO0lBQ0QsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDL0QsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLENBQUE7SUFDdkMsQ0FBQztJQUNELElBQUksT0FBTyxZQUFZLG1CQUFtQixFQUFFLENBQUM7UUFDM0MsT0FBTyxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxPQUFPLEVBQUUsQ0FBQTtJQUNqRCxDQUFDO1NBQU0sSUFBSSxPQUFPLFlBQVksV0FBVyxFQUFFLENBQUM7UUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUE7SUFDekMsQ0FBQztTQUFNLElBQUksT0FBTyxZQUFZLElBQUksRUFBRSxDQUFDO1FBQ25DLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxDQUFBO0lBQ3ZDLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLENBQUE7SUFDdkMsQ0FBQztBQUNILENBQUM7QUFPRCxNQUFNLE9BQWdCLGNBQWM7SUFJekIsSUFBSSxDQUFPO0lB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LE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7Z0JBQ3hDLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtnQkFDdkIsTUFBSztZQUNQLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVRLFNBQVMsQ0FBQyxRQUFrQjtRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDNUMsQ0FBQztJQUVRLEVBQUUsQ0FDVCxPQUdDO1FBRUQsT0FBTyxDQUNMLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssV0FBVztZQUNoQyxPQUFPLENBQUMsSUFBSSxLQUFLLFdBQVc7WUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUMzQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLHFCQUFxQjtnQkFDMUMsT0FBTyxDQUFDLElBQUksS0FBSyxxQkFBcUI7Z0JBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsS0FBSyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUNoRSxDQUFBO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmxleFJlbmRlckNvbXBvbmVudFJlZiB9IGZyb20gJy4vZmxleC1yZW5kZXItY29tcG9uZW50LXJlZidcbmltcG9ydCB7IEVtYmVkZGVkVmlld1JlZiwgVGVtcGxhdGVSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHR5cGUgeyBGbGV4UmVuZGVyQ29udGVudCB9IGZyb20gJy4uL2ZsZXgtcmVuZGVyJ1xuaW1wb3J0IHsgRmxleFJlbmRlckNvbXBvbmVudCB9IGZyb20gJy4vZmxleC1yZW5kZXItY29tcG9uZW50J1xuXG5leHBvcnQgdHlwZSBGbGV4UmVuZGVyVHlwZWRDb250ZW50ID1cbiAgfCB7IGtpbmQ6ICdudWxsJyB9XG4gIHwge1xuICAgICAga2luZDogJ3ByaW1pdGl2ZSdcbiAgICAgIGNvbnRlbnQ6IHN0cmluZyB8IG51bWJlciB8IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgICB9XG4gIHwgeyBraW5kOiAnZmxleFJlbmRlckNvbXBvbmVudCc7IGNvbnRlbnQ6IEZsZXhSZW5kZXJDb21wb25lbnQ8dW5rbm93bj4gfVxuICB8IHsga2luZDogJ3RlbXBsYXRlUmVmJzsgY29udGVudDogVGVtcGxhdGVSZWY8dW5rbm93bj4gfVxuICB8IHsga2luZDogJ2NvbXBvbmVudCc7IGNvbnRlbnQ6IFR5cGU8dW5rbm93bj4gfVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwVG9GbGV4UmVuZGVyVHlwZWRDb250ZW50KFxuICBjb250ZW50OiBGbGV4UmVuZGVyQ29udGVudDxhbnk+LFxuKTogRmxleFJlbmRlclR5cGVkQ29udGVudCB7XG4gIGlmIChjb250ZW50ID09PSBudWxsIHx8IGNvbnRlbnQgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB7IGtpbmQ6ICdudWxsJyB9XG4gIH1cbiAgaWYgKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgY29udGVudCA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4geyBraW5kOiAncHJpbWl0aXZlJywgY29udGVudCB9XG4gIH1cbiAgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBGbGV4UmVuZGVyQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIHsga2luZDogJ2ZsZXhSZW5kZXJDb21wb25lbnQnLCBjb250ZW50IH1cbiAgfSBlbHNlIGlmIChjb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcbiAgICByZXR1cm4geyBraW5kOiAndGVtcGxhdGVSZWYnLCBjb250ZW50IH1cbiAgfSBlbHNlIGlmIChjb250ZW50IGluc3RhbmNlb2YgVHlwZSkge1xuICAgIHJldHVybiB7IGtpbmQ6ICdjb21wb25lbnQnLCBjb250ZW50IH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4geyBraW5kOiAncHJpbWl0aXZlJywgY29udGVudCB9XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgRmxleFJlbmRlclZpZXdBbGxvd2VkVHlwZSA9XG4gIHwgRmxleFJlbmRlckNvbXBvbmVudFJlZjxhbnk+XG4gIHwgRW1iZWRkZWRWaWV3UmVmPHVua25vd24+XG4gIHwgbnVsbFxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRmxleFJlbmRlclZpZXc8XG4gIFRWaWV3IGV4dGVuZHMgRmxleFJlbmRlclZpZXdBbGxvd2VkVHlwZSxcbiAgVENvbnRlbnQgZXh0ZW5kcyBGbGV4UmVuZGVyVHlwZWRDb250ZW50LFxuPiB7XG4gIHJlYWRvbmx5IHZpZXc6IFRWaWV3XG4gICNwcmV2aW91c0NvbnRlbnQ6IEZsZXhSZW5kZXJUeXBlZENvbnRlbnQgfCB1bmRlZmluZWRcbiAgI2NvbnRlbnQ6IEZsZXhSZW5kZXJUeXBlZENvbnRlbnRcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgaW5pdGlhbENvbnRlbnQ6IEV4Y2x1ZGU8RmxleFJlbmRlclR5cGVkQ29udGVudCwgeyBraW5kOiAnbnVsbCcgfT4sXG4gICAgdmlldzogVFZpZXcsXG4gICkge1xuICAgIHRoaXMuI2NvbnRlbnQgPSBpbml0aWFsQ29udGVudFxuICAgIHRoaXMudmlldyA9IHZpZXdcbiAgfVxuXG4gIGdldCBwcmV2aW91c0NvbnRlbnQoKTogRmxleFJlbmRlclR5cGVkQ29udGVudCB7XG4gICAgcmV0dXJuIHRoaXMuI3ByZXZpb3VzQ29udGVudCA/PyB7IGtpbmQ6ICdudWxsJyB9XG4gIH1cblxuICBnZXQgY29udGVudCgpIHtcbiAgICByZXR1cm4gdGhpcy4jY29udGVudFxuICB9XG5cbiAgc2V0IGNvbnRlbnQoY29udGVudDogRmxleFJlbmRlclR5cGVkQ29udGVudCkge1xuICAgIHRoaXMuI3ByZXZpb3VzQ29udGVudCA9IHRoaXMuI2NvbnRlbnRcbiAgICB0aGlzLiNjb250ZW50ID0gY29udGVudFxuICB9XG5cbiAgYWJzdHJhY3QgdXBkYXRlUHJvcHMocHJvcHM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiB2b2lkXG5cbiAgYWJzdHJhY3QgZGlydHlDaGVjaygpOiB2b2lkXG5cbiAgYWJzdHJhY3Qgb25EZXN0cm95KGNhbGxiYWNrOiBGdW5jdGlvbik6IHZvaWRcblxuICBhYnN0cmFjdCBlcSh2aWV3OiBUQ29udGVudCk6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNsYXNzIEZsZXhSZW5kZXJUZW1wbGF0ZVZpZXcgZXh0ZW5kcyBGbGV4UmVuZGVyVmlldzxcbiAgRW1iZWRkZWRWaWV3UmVmPHVua25vd24+LFxuICBFeHRyYWN0PEZsZXhSZW5kZXJUeXBlZENvbnRlbnQsIHsga2luZDogJ3ByaW1pdGl2ZScgfCAndGVtcGxhdGVSZWYnIH0+XG4+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgaW5pdGlhbENvbnRlbnQ6IEV4dHJhY3Q8XG4gICAgICBGbGV4UmVuZGVyVHlwZWRDb250ZW50LFxuICAgICAgeyBraW5kOiAncHJpbWl0aXZlJyB8ICd0ZW1wbGF0ZVJlZicgfVxuICAgID4sXG4gICAgdmlldzogRW1iZWRkZWRWaWV3UmVmPHVua25vd24+LFxuICApIHtcbiAgICBzdXBlcihpbml0aWFsQ29udGVudCwgdmlldylcbiAgfVxuXG4gIG92ZXJyaWRlIHVwZGF0ZVByb3BzKHByb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XG4gICAgdGhpcy52aWV3Lm1hcmtGb3JDaGVjaygpXG4gIH1cblxuICBvdmVycmlkZSBkaXJ0eUNoZWNrKCkge1xuICAgIC8vIEJhc2ljYWxseSBhIG5vLW9wLiBXaGVuIHRoZSB2aWV3IGlzIGNyZWF0ZWQgdmlhIEVtYmVkZGVkVmlld1JlZiwgd2UgZG9uJ3QgbmVlZCB0byBkbyBhbnkgbWFudWFsIHVwZGF0ZVxuICAgIC8vIHNpbmNlIHRoaXMgdHlwZSBvZiBjb250ZW50IGhhcyBhIHByb3h5IGFzIGEgY29udGV4dCwgdGhlbiBldmVyeSB0aW1lIHRoZSByb290IGNvbXBvbmVudCBpcyBjaGVja2VkIGZvciBjaGFuZ2VzLFxuICAgIC8vIHRoZSBwcm9wZXJ0eSBnZXR0ZXIgd2lsbCBiZSByZS1ldmFsdWF0ZWQuXG4gICAgLy9cbiAgICAvLyBJZiBpbiBhIGZ1dHVyZSB3ZSBuZWVkIHRvIG1hbnVhbGx5IG1hcmsgdGhlIHZpZXcgYXMgZGlydHksIGp1c3QgdW5jb21tZW50IG5leHQgbGluZVxuICAgIC8vIHRoaXMudmlldy5tYXJrRm9yQ2hlY2soKVxuICB9XG5cbiAgb3ZlcnJpZGUgb25EZXN0cm95KGNhbGxiYWNrOiBGdW5jdGlvbikge1xuICAgIHRoaXMudmlldy5vbkRlc3Ryb3koY2FsbGJhY2spXG4gIH1cblxuICBvdmVycmlkZSBlcShcbiAgICBjb21wYXJlOiBFeHRyYWN0PFxuICAgICAgRmxleFJlbmRlclR5cGVkQ29udGVudCxcbiAgICAgIHsga2luZDogJ3ByaW1pdGl2ZScgfCAndGVtcGxhdGVSZWYnIH1cbiAgICA+LFxuICApOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHRoaXMuY29udGVudC5raW5kID09PSAncHJpbWl0aXZlJyAmJlxuICAgICAgICBjb21wYXJlLmtpbmQgPT09ICdwcmltaXRpdmUnICYmXG4gICAgICAgIHRoaXMuY29udGVudC5jb250ZW50ID09PSBjb21wYXJlLmNvbnRlbnQpIHx8XG4gICAgICAodGhpcy5jb250ZW50LmtpbmQgPT09ICd0ZW1wbGF0ZVJlZicgJiZcbiAgICAgICAgY29tcGFyZS5raW5kID09PSAndGVtcGxhdGVSZWYnICYmXG4gICAgICAgIHRoaXMuY29udGVudC5jb250ZW50ID09PSBjb21wYXJlLmNvbnRlbnQpXG4gICAgKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGbGV4UmVuZGVyQ29tcG9uZW50VmlldyBleHRlbmRzIEZsZXhSZW5kZXJWaWV3PFxuICBGbGV4UmVuZGVyQ29tcG9uZW50UmVmPHVua25vd24+LFxuICBFeHRyYWN0PEZsZXhSZW5kZXJUeXBlZENvbnRlbnQsIHsga2luZDogJ2NvbXBvbmVudCcgfCAnZmxleFJlbmRlckNvbXBvbmVudCcgfT5cbj4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBpbml0aWFsQ29udGVudDogRXh0cmFjdDxcbiAgICAgIEZsZXhSZW5kZXJUeXBlZENvbnRlbnQsXG4gICAgICB7IGtpbmQ6ICdjb21wb25lbnQnIHwgJ2ZsZXhSZW5kZXJDb21wb25lbnQnIH1cbiAgICA+LFxuICAgIHZpZXc6IEZsZXhSZW5kZXJDb21wb25lbnRSZWY8dW5rbm93bj4sXG4gICkge1xuICAgIHN1cGVyKGluaXRpYWxDb250ZW50LCB2aWV3KVxuICB9XG5cbiAgb3ZlcnJpZGUgdXBkYXRlUHJvcHMocHJvcHM6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICBzd2l0Y2ggKHRoaXMuY29udGVudC5raW5kKSB7XG4gICAgICBjYXNlICdjb21wb25lbnQnOiB7XG4gICAgICAgIHRoaXMudmlldy5zZXRJbnB1dHMocHJvcHMpXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICBjYXNlICdmbGV4UmVuZGVyQ29tcG9uZW50Jzoge1xuICAgICAgICAvLyBOby1vcC4gV2hlbiBGbGV4UmVuZGVyRmxhZ3MuUHJvcHNSZWZlcmVuY2VDaGFuZ2VkIGlzIHNldCxcbiAgICAgICAgLy8gRmxleFJlbmRlckNvbXBvbmVudCB3aWxsIGJlIHVwZGF0ZWQgaW50byBgZGlydHlDaGVja2AuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgZGlydHlDaGVjaygpIHtcbiAgICBzd2l0Y2ggKHRoaXMuY29udGVudC5raW5kKSB7XG4gICAgICBjYXNlICdjb21wb25lbnQnOiB7XG4gICAgICAgIC8vIENvbXBvbmVudCBjb250ZXh0IGlzIGN1cnJlbnRseSB2YWx1YXRlZCB3aXRoIHRoZSBjZWxsIGNvbnRleHQuIFNpbmNlIGl0J3MgcmVmZXJlbmNlXG4gICAgICAgIC8vIHNob3VsZG4ndCBjaGFuZ2UsIHdlIGZvcmNlIG1hcmsgdGhlIGNvbXBvbmVudCBhcyBkaXJ0eSBpbiBvcmRlciB0byByZS1ldmFsdWF0ZSBmdW5jdGlvbiBpbnZvY2F0aW9uIGluIHZpZXcuXG4gICAgICAgIC8vIE5PVEU6IHRoaXMgc2hvdWxkIGJlaGF2ZSBsaWtlIGhhdmluZyBhIGNvbXBvbmVudCB3aXRoIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHRcbiAgICAgICAgdGhpcy52aWV3Lm1hcmtBc0RpcnR5KClcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2ZsZXhSZW5kZXJDb21wb25lbnQnOiB7XG4gICAgICAgIC8vIEdpdmVuIGNvbnRleHQgaW5zdGFuY2Ugd2lsbCBhbHdheXMgaGF2ZSBhIGRpZmZlcmVudCByZWZlcmVuY2UgdGhhbiB0aGUgcHJldmlvdXMgb25lLFxuICAgICAgICAvLyBzbyBpbnN0ZWFkIG9mIHJlY3JlYXRpbmcgdGhlIGVudGlyZSB2aWV3LCB3ZSB3aWxsIG9ubHkgdXBkYXRlIHRoZSBjdXJyZW50IHZpZXdcbiAgICAgICAgaWYgKHRoaXMudmlldy5lcVR5cGUodGhpcy5jb250ZW50LmNvbnRlbnQpKSB7XG4gICAgICAgICAgdGhpcy52aWV3LnVwZGF0ZSh0aGlzLmNvbnRlbnQuY29udGVudClcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnZpZXcubWFya0FzRGlydHkoKVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIG9uRGVzdHJveShjYWxsYmFjazogRnVuY3Rpb24pIHtcbiAgICB0aGlzLnZpZXcuY29tcG9uZW50UmVmLm9uRGVzdHJveShjYWxsYmFjaylcbiAgfVxuXG4gIG92ZXJyaWRlIGVxKFxuICAgIGNvbXBhcmU6IEV4dHJhY3Q8XG4gICAgICBGbGV4UmVuZGVyVHlwZWRDb250ZW50LFxuICAgICAgeyBraW5kOiAnY29tcG9uZW50JyB8ICdmbGV4UmVuZGVyQ29tcG9uZW50JyB9XG4gICAgPixcbiAgKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLmNvbnRlbnQua2luZCA9PT0gJ2NvbXBvbmVudCcgJiZcbiAgICAgICAgY29tcGFyZS5raW5kID09PSAnY29tcG9uZW50JyAmJlxuICAgICAgICB0aGlzLmNvbnRlbnQuY29udGVudCA9PT0gY29tcGFyZS5jb250ZW50KSB8fFxuICAgICAgKHRoaXMuY29udGVudC5raW5kID09PSAnZmxleFJlbmRlckNvbXBvbmVudCcgJiZcbiAgICAgICAgY29tcGFyZS5raW5kID09PSAnZmxleFJlbmRlckNvbXBvbmVudCcgJiZcbiAgICAgICAgdGhpcy5jb250ZW50LmNvbnRlbnQuY29tcG9uZW50ID09PSBjb21wYXJlLmNvbnRlbnQuY29tcG9uZW50KVxuICAgIClcbiAgfVxufVxuIl19
@@ -1,10 +1,10 @@
1
1
  import { ChangeDetectorRef, Directive, effect, Inject, inject, Injector, Input, runInInjectionContext, TemplateRef, ViewContainerRef, } from '@angular/core';
2
+ import { memo } from '@tanstack/table-core';
2
3
  import { FlexRenderComponentProps } from './flex-render/context';
3
4
  import { FlexRenderFlags } from './flex-render/flags';
4
5
  import { flexRenderComponent, } from './flex-render/flex-render-component';
5
6
  import { FlexRenderComponentFactory } from './flex-render/flex-render-component-ref';
6
7
  import { FlexRenderComponentView, FlexRenderTemplateView, mapToFlexRenderTypedContent, } from './flex-render/view';
7
- import { memo } from '@tanstack/table-core';
8
8
  import * as i0 from "@angular/core";
9
9
  export { injectFlexRenderContext, } from './flex-render/context';
10
10
  export class FlexRenderDirective {
@@ -23,7 +23,7 @@ export class FlexRenderDirective {
23
23
  ? content
24
24
  : runInInjectionContext(this.injector, () => content(props));
25
25
  };
26
- #getContentValue = memo(() => [this.#latestContent(), this.props, this.content], latestContent => {
26
+ #getContentValue = memo(() => [this.#latestContent(), this.props, this.content], (latestContent) => {
27
27
  return mapToFlexRenderTypedContent(latestContent);
28
28
  }, { key: 'flexRenderContentValue', debug: () => false });
29
29
  constructor(viewContainerRef, templateRef) {
@@ -53,11 +53,12 @@ export class FlexRenderDirective {
53
53
  this.renderFlags |= FlexRenderFlags.ContentChanged;
54
54
  }
55
55
  else {
56
- this.renderView.content = latestContent;
57
- const { kind: previousKind } = this.renderView.previousContent;
58
- if (latestContent.kind !== previousKind) {
56
+ const { kind: currentKind } = this.renderView.content;
57
+ if (latestContent.kind !== currentKind ||
58
+ !this.renderView.eq(latestContent)) {
59
59
  this.renderFlags |= FlexRenderFlags.ContentChanged;
60
60
  }
61
+ this.renderView.content = latestContent;
61
62
  }
62
63
  this.update();
63
64
  }
@@ -205,4 +206,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
205
206
  type: Input,
206
207
  args: [{ required: false, alias: 'flexRenderInjector' }]
207
208
  }] } });
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleC1yZW5kZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmxleC1yZW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsTUFBTSxFQUVOLE1BQU0sRUFDTixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFFTCxxQkFBcUIsRUFFckIsV0FBVyxFQUVYLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUNMLG1CQUFtQixHQUVwQixNQUFNLHFDQUFxQyxDQUFBO0FBQzVDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ3BGLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsc0JBQXNCLEVBR3RCLDJCQUEyQixHQUM1QixNQUFNLG9CQUFvQixDQUFBO0FBQzNCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTs7QUFFM0MsT0FBTyxFQUNMLHVCQUF1QixHQUV4QixNQUFNLHVCQUF1QixDQUFBO0FBaUI5QixNQUFNLE9BQU8sbUJBQW1CO0lBd0NYO0lBRUE7SUF2Q1YsMkJBQTJCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUE7SUFDaEUsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFHdkQsT0FBTyxHQUtTLFNBQVMsQ0FBQTtJQUd6QixLQUFLLEdBQVcsRUFBWSxDQUFBO0lBRzVCLFFBQVEsR0FBYSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFckMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUE7SUFDN0MsVUFBVSxHQUErQixJQUFJLENBQUE7SUFFcEMsY0FBYyxHQUFHLEdBQUcs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LENBQUMsT0FBTyxFQUFFO1lBQ3JDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSztZQUNsQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDeEIsQ0FBQyxFQUNGLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQTtRQUNELE9BQU8sSUFBSSx1QkFBdUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDckQsQ0FBQzt3R0F2T1UsbUJBQW1CLGtCQXVDcEIsZ0JBQWdCLGFBRWhCLFdBQVc7NEZBekNWLG1CQUFtQiw4TEFGbkIsQ0FBQywwQkFBMEIsQ0FBQzs7NEZBRTVCLG1CQUFtQjtrQkFML0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRSxDQUFDLDBCQUEwQixDQUFDO2lCQUN4Qzs7MEJBd0NJLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFFdkIsTUFBTTsyQkFBQyxXQUFXO3lDQWxDckIsT0FBTztzQkFETixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFO2dCQVM5QyxLQUFLO3NCQURKLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtnQkFJbkQsUUFBUTtzQkFEUCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBEb0NoZWNrLFxuICBlZmZlY3QsXG4gIHR5cGUgRWZmZWN0UmVmLFxuICBJbmplY3QsXG4gIGluamVjdCxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIHJ1bkluSW5qZWN0aW9uQ29udGV4dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFR5cGUsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGbGV4UmVuZGVyQ29tcG9uZW50UHJvcHMgfSBmcm9tICcuL2ZsZXgtcmVuZGVyL2NvbnRleHQnXG5pbXBvcnQgeyBGbGV4UmVuZGVyRmxhZ3MgfSBmcm9tICcuL2ZsZXgtcmVuZGVyL2ZsYWdzJ1xuaW1wb3J0IHtcbiAgZmxleFJlbmRlckNvbXBvbmVudCxcbiAgRmxleFJlbmRlckNvbXBvbmVudCxcbn0gZnJvbSAnLi9mbGV4LXJlbmRlci9mbGV4LXJlbmRlci1jb21wb25lbnQnXG5pbXBvcnQgeyBGbGV4UmVuZGVyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gJy4vZmxleC1yZW5kZXIvZmxleC1yZW5kZXItY29tcG9uZW50LXJlZidcbmltcG9ydCB7XG4gIEZsZXhSZW5kZXJDb21wb25lbnRWaWV3LFxuICBGbGV4UmVuZGVyVGVtcGxhdGVWaWV3LFxuICB0eXBlIEZsZXhSZW5kZXJUeXBlZENvbnRlbnQsXG4gIEZsZXhSZW5kZXJWaWV3LFxuICBtYXBUb0ZsZXhSZW5kZXJUeXBlZENvbnRlbnQsXG59IGZyb20gJy4vZmxleC1yZW5kZXIvdmlldydcbmltcG9ydCB7IG1lbW8gfSBmcm9tICdAdGFuc3RhY2svdGFibGUtY29yZSdcblxuZXhwb3J0IHtcbiAgaW5qZWN0RmxleFJlbmRlckNvbnRleHQsXG4gIHR5cGUgRmxleFJlbmRlckNvbXBvbmVudFByb3BzLFxufSBmcm9tICcuL2ZsZXgtcmVuZGVyL2NvbnRleHQnXG5cbmV4cG9ydCB0eXBlIEZsZXhSZW5kZXJDb250ZW50PFRQcm9wcyBleHRlbmRzIE5vbk51bGxhYmxlPHVua25vd24+PiA9XG4gIHwgc3RyaW5nXG4gIHwgbnVtYmVyXG4gIHwgVHlwZTxUUHJvcHM+XG4gIHwgRmxleFJlbmRlckNvbXBvbmVudDxUUHJvcHM+XG4gIHwgVGVtcGxhdGVSZWY8eyAkaW1wbGljaXQ6IFRQcm9wcyB9PlxuICB8IG51bGxcbiAgfCBSZWNvcmQ8YW55LCBhbnk+XG4gIHwgdW5kZWZpbmVkXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmbGV4UmVuZGVyXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW0ZsZXhSZW5kZXJDb21wb25lbnRGYWN0b3J5XSxcbn0pXG5leHBvcnQgY2xhc3MgRmxleFJlbmRlckRpcmVjdGl2ZTxUUHJvcHMgZXh0ZW5kcyBOb25OdWxsYWJsZTx1bmtub3duPj5cbiAgaW1wbGVtZW50cyBPbkNoYW5nZXMsIERvQ2hlY2tcbntcbiAgcmVhZG9ubHkgI2ZsZXhSZW5kZXJDb21wb25lbnRGYWN0b3J5ID0gaW5qZWN0KEZsZXhSZW5kZXJDb21wb25lbnRGYWN0b3J5KVxuICByZWFkb25seSAjY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpXG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUsIGFsaWFzOiAnZmxleFJlbmRlcicgfSlcbiAgY29udGVudDpcbiAgICB8IG51bWJlclxuICAgIHwgc3RyaW5nXG4gICAgfCAoKHByb3BzOiBUUHJvcHMpID0+IEZsZXhSZW5kZXJDb250ZW50PFRQcm9wcz4pXG4gICAgfCBudWxsXG4gICAgfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcblxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSwgYWxpYXM6ICdmbGV4UmVuZGVyUHJvcHMnIH0pXG4gIHByb3BzOiBUUHJvcHMgPSB7fSBhcyBUUHJvcHNcblxuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UsIGFsaWFzOiAnZmxleFJlbmRlckluamVjdG9yJyB9KVxuICBpbmplY3RvcjogSW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpXG5cbiAgcmVuZGVyRmxhZ3MgPSBGbGV4UmVuZGVyRmxhZ3MuVmlld0ZpcnN0UmVuZGVyXG4gIHJlbmRlclZpZXc6IEZsZXhSZW5kZXJWaWV3PGFueT4gfCBudWxsID0gbnVsbFxuXG4gIHJlYWRvbmx5ICNsYXRlc3RDb250ZW50ID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY29udGVudCwgcHJvcHMgfSA9IHRoaXNcbiAgICByZXR1cm4gdHlwZW9mIGNvbnRlbnQgIT09ICdmdW5jdGlvbidcbiAgICAgID8gY29udGVudFxuICAgICAgOiBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5pbmplY3RvciwgKCkgPT4gY29udGVudChwcm9wcykpXG4gIH1cblxuICAjZ2V0Q29udGVudFZhbHVlID0gbWVtbyhcbiAgICAoKSA9PiBbdGhpcy4jbGF0ZXN0Q29udGVudCgpLCB0aGlzLnByb3BzLCB0aGlzLmNvbnRlbnRdLFxuICAgIGxhdGVzdENvbnRlbnQgPT4ge1xuICAgICAgcmV0dXJuIG1hcFRvRmxleFJlbmRlclR5cGVkQ29udGVudChsYXRlc3RDb250ZW50KVxuICAgIH0sXG4gICAgeyBrZXk6ICdmbGV4UmVuZGVyQ29udGVudFZhbHVlJywgZGVidWc6ICgpID0+IGZhbHNlIH1cbiAgKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoVmlld0NvbnRhaW5lclJlZilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgQEluamVjdChUZW1wbGF0ZVJlZilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+XG4gICkge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3Byb3BzJ10pIHtcbiAgICAgIHRoaXMucmVuZGVyRmxhZ3MgfD0gRmxleFJlbmRlckZsYWdzLlByb3BzUmVmZXJlbmNlQ2hhbmdlZFxuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snY29udGVudCddKSB7XG4gICAgICB0aGlzLnJlbmRlckZsYWdzIHw9XG4gICAgICAgIEZsZXhSZW5kZXJGbGFncy5Db250ZW50Q2hhbmdlZCB8IEZsZXhSZW5kZXJGbGFncy5WaWV3Rmlyc3RSZW5kZXJcbiAgICAgIHRoaXMudXBkYXRlKClcbiAgICB9XG4gIH1cblxuICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVuZGVyRmxhZ3MgJiBGbGV4UmVuZGVyRmxhZ3MuVmlld0ZpcnN0UmVuZGVyKSB7XG4gICAgICAvLyBPbiB0aGUgaW5pdGlhbCByZW5kZXIsIHRoZSB2aWV3IGlzIGNyZWF0ZWQgZHVyaW5nIHRoZSBgbmdPbkNoYW5nZXNgIGhvb2suXG4gICAgICAvLyBTaW5jZSBgbmdEb0NoZWNrYCBpcyBjYWxsZWQgaW1tZWRpYXRlbHkgYWZ0ZXJ3YXJkLCB0aGVyZSdzIG5vIG5lZWQgdG8gY2hlY2sgZm9yIGNoYW5nZXMgaW4gdGhpcyBwaGFzZS5cbiAgICAgIHRoaXMucmVuZGVyRmxhZ3MgJj0gfkZsZXhSZW5kZXJGbGFncy5WaWV3Rmlyc3RSZW5kZXJcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMucmVuZGVyRmxhZ3MgfD0gRmxleFJlbmRlckZsYWdzLkRpcnR5Q2hlY2tcblxuICAgIGNvbnN0IGxhdGVzdENvbnRlbnQgPSB0aGlzLiNnZXRDb250ZW50VmFsdWUoKVxuICAgIGlmIChsYXRlc3RDb250ZW50LmtpbmQgPT09ICdudWxsJyB8fCAhdGhpcy5yZW5kZXJWaWV3KSB7XG4gICAgICB0aGlzLnJlbmRlckZsYWdzIHw9IEZsZXhSZW5kZXJGbGFncy5Db250ZW50Q2hhbmdlZFxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlclZpZXcuY29udGVudCA9IGxhdGVzdENvbnRlbnRcbiAgICAgIGNvbnN0IHsga2luZDogcHJldmlvdXNLaW5kIH0gPSB0aGlzLnJlbmRlclZpZXcucHJldmlvdXNDb250ZW50XG4gICAgICBpZiAobGF0ZXN0Q29udGVudC5raW5kICE9PSBwcmV2aW91c0tpbmQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJGbGFncyB8PSBGbGV4UmVuZGVyRmxhZ3MuQ29udGVudENoYW5nZWRcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy51cGRhdGUoKVxuICB9XG5cbiAgdXBkYXRlKCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMucmVuZGVyRmxhZ3MgJlxuICAgICAgKEZsZXhSZW5kZXJGbGFncy5Db250ZW50Q2hhbmdlZCB8IEZsZXhSZW5kZXJGbGFncy5WaWV3Rmlyc3RSZW5kZXIpXG4gICAgKSB7XG4gICAgICB0aGlzLnJlbmRlcigpXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKHRoaXMucmVuZGVyRmxhZ3MgJiBGbGV4UmVuZGVyRmxhZ3MuUHJvcHNSZWZlcmVuY2VDaGFuZ2VkKSB7XG4gICAgICBpZiAodGhpcy5yZW5kZXJWaWV3KSB0aGlzLnJlbmRlclZpZXcudXBkYXRlUHJvcHModGhpcy5wcm9wcylcbiAgICAgIHRoaXMucmVuZGVyRmxhZ3MgJj0gfkZsZXhSZW5kZXJGbGFncy5Qcm9wc1JlZmVyZW5jZUNoYW5nZWRcbiAgICB9XG4gICAgaWYgKFxuICAgICAgdGhpcy5yZW5kZXJGbGFncyAmXG4gICAgICAoRmxleFJlbmRlckZsYWdzLkRpcnR5Q2hlY2sgfCBGbGV4UmVuZGVyRmxhZ3MuRGlydHlTaWduYWwpXG4gICAgKSB7XG4gICAgICBpZiAodGhpcy5yZW5kZXJWaWV3KSB0aGlzLnJlbmRlclZpZXcuZGlydHlDaGVjaygpXG4gICAgICB0aGlzLnJlbmRlckZsYWdzICY9IH4oXG4gICAgICAgIEZsZXhSZW5kZXJGbGFncy5EaXJ0eUNoZWNrIHwgRmxleFJlbmRlckZsYWdzLkRpcnR5U2lnbmFsXG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgI2N1cnJlbnRFZmZlY3RSZWY6IEVmZmVjdFJlZiB8IG51bGwgPSBudWxsXG5cbiAgcmVuZGVyKCkge1xuICAgIGlmICh0aGlzLiNzaG91bGRSZWNyZWF0ZUVudGlyZVZpZXcoKSAmJiB0aGlzLiNjdXJyZW50RWZmZWN0UmVmKSB7XG4gICAgICB0aGlzLiNjdXJyZW50RWZmZWN0UmVmLmRlc3Ryb3koKVxuICAgICAgdGhpcy4jY3VycmVudEVmZmVjdFJlZiA9IG51bGxcbiAgICAgIHRoaXMucmVuZGVyRmxhZ3MgJj0gfkZsZXhSZW5kZXJGbGFncy5SZW5kZXJFZmZlY3RDaGVja2VkXG4gICAgfVxuXG4gICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKClcbiAgICB0aGlzLnJlbmRlckZsYWdzID1cbiAgICAgIEZsZXhSZW5kZXJGbGFncy5QcmlzdGluZSB8XG4gICAgICAodGhpcy5yZW5kZXJGbGFncyAmIEZsZXhSZW5kZXJGbGFncy5WaWV3Rmlyc3RSZW5kZXIpIHxcbiAgICAgICh0aGlzLnJlbmRlckZsYWdzICYgRmxleFJlbmRlckZsYWdzLlJlbmRlckVmZmVjdENoZWNrZWQpXG5cbiAgICBjb25zdCByZXNvbHZlZENvbnRlbnQgPSB0aGlzLiNnZXRDb250ZW50VmFsdWUoKVxuICAgIGlmIChyZXNvbHZlZENvbnRlbnQua2luZCA9PT0gJ251bGwnKSB7XG4gICAgICB0aGlzLnJlbmRlclZpZXcgPSBudWxsXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyVmlldyA9IHRoaXMuI3JlbmRlclZpZXdCeUNvbnRlbnQocmVzb2x2ZWRDb250ZW50KVxuICAgIH1cblxuICAgIC8vIElmIHRoZSBjb250ZW50IGlzIGEgZnVuY3Rpb24gYGNvbnRlbnQocHJvcHMpYCwgd2UgaW5pdGlhbGl6ZSBhbiBlZmZlY3RcbiAgICAvLyBpbiBvcmRlciB0byByZWFjdCB0byBjaGFuZ2VzIGlmIHRoZSBnaXZlbiBkZWZpbml0aW9uIHVzZSBzaWduYWxzLlxuICAgIGlmICghdGhpcy4jY3VycmVudEVmZmVjdFJlZiAmJiB0eXBlb2YgdGhpcy5jb250ZW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aGlzLiNjdXJyZW50RWZmZWN0UmVmID0gZWZmZWN0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jbGF0ZXN0Q29udGVudCgpXG4gICAgICAgICAgaWYgKCEodGhpcy5yZW5kZXJGbGFncyAmIEZsZXhSZW5kZXJGbGFncy5SZW5kZXJFZmZlY3RDaGVja2VkKSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJGbGFncyB8PSBGbGV4UmVuZGVyRmxhZ3MuUmVuZGVyRWZmZWN0Q2hlY2tlZFxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMucmVuZGVyRmxhZ3MgfD0gRmxleFJlbmRlckZsYWdzLkRpcnR5U2lnbmFsXG4gICAgICAgICAgLy8gVGhpcyB3aWxsIG1hcmsgdGhlIHZpZXcgYXMgY2hhbmdlZCxcbiAgICAgICAgICAvLyBzbyB3ZSdsbCB0cnkgdG8gY2hlY2sgZm9yIHVwZGF0ZXMgaW50byBuZ0RvQ2hlY2tcbiAgICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKVxuICAgICAgICB9LFxuICAgICAgICB7IGluamVjdG9yOiB0aGlzLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IgfVxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gICNzaG91bGRSZWNyZWF0ZUVudGlyZVZpZXcoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMucmVuZGVyRmxhZ3MgJlxuICAgICAgRmxleFJlbmRlckZsYWdzLkNvbnRlbnRDaGFuZ2VkICZcbiAgICAgIEZsZXhSZW5kZXJGbGFncy5WaWV3Rmlyc3RSZW5kZXJcbiAgICApXG4gIH1cblxuICAjcmVuZGVyVmlld0J5Q29udGVudChcbiAgICBjb250ZW50OiBGbGV4UmVuZGVyVHlwZWRDb250ZW50XG4gICk6IEZsZXhSZW5kZXJWaWV3PGFueT4gfCBudWxsIHtcbiAgICBpZiAoY29udGVudC5raW5kID09PSAncHJpbWl0aXZlJykge1xuICAgICAgcmV0dXJuIHRoaXMuI3JlbmRlclN0cmluZ0NvbnRlbnQoY29udGVudClcbiAgICB9IGVsc2UgaWYgKGNvbnRlbnQua2luZCA9PT0gJ3RlbXBsYXRlUmVmJykge1xuICAgICAgcmV0dXJuIHRoaXMuI3JlbmRlclRlbXBsYXRlUmVmQ29udGVudChjb250ZW50KVxuICAgIH0gZWxzZSBpZiAoY29udGVudC5raW5kID09PSAnZmxleFJlbmRlckNvbXBvbmVudCcpIHtcbiAgICAgIHJldHVybiB0aGlzLiNyZW5kZXJDb21wb25lbnQoY29udGVudClcbiAgICB9IGVsc2UgaWYgKGNvbnRlbnQua2luZCA9PT0gJ2NvbXBvbmVudCcpIHtcbiAgICAgIHJldHVybiB0aGlzLiNyZW5kZXJDdXN0b21Db21wb25lbnQoY29udGVudClcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gIH1cblxuICAjcmVuZGVyU3RyaW5nQ29udGVudChcbiAgICB0ZW1wbGF0ZTogRXh0cmFjdDxGbGV4UmVuZGVyVHlwZWRDb250ZW50LCB7IGtpbmQ6ICdwcmltaXRpdmUnIH0+XG4gICk6IEZsZXhSZW5kZXJUZW1wbGF0ZVZpZXcge1xuICAgIGNvbnN0IGNvbnRleHQgPSAoKSA9PiB7XG4gICAgICByZXR1cm4gdHlwZW9mIHRoaXMuY29udGVudCA9PT0gJ3N0cmluZycgfHxcbiAgICAgICAgdHlwZW9mIHRoaXMuY29udGVudCA9PT0gJ251bWJlcidcbiAgICAgICAgPyB0aGlzLmNvbnRlbnRcbiAgICAgICAgOiB0aGlzLmNvbnRlbnQ/Lih0aGlzLnByb3BzKVxuICAgIH1cbiAgICBjb25zdCByZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYsIHtcbiAgICAgIGdldCAkaW1wbGljaXQoKSB7XG4gICAgICAgIHJldHVybiBjb250ZXh0KClcbiAgICAgIH0sXG4gICAgfSlcbiAgICByZXR1cm4gbmV3IEZsZXhSZW5kZXJUZW1wbGF0ZVZpZXcodGVtcGxhdGUsIHJlZilcbiAgfVxuXG4gICNyZW5kZXJUZW1wbGF0ZVJlZkNvbnRlbnQoXG4gICAgdGVtcGxhdGU6IEV4dHJhY3Q8RmxleFJlbmRlclR5cGVkQ29udGVudCwgeyBraW5kOiAndGVtcGxhdGVSZWYnIH0+XG4gICk6IEZsZXhSZW5kZXJUZW1wbGF0ZVZpZXcge1xuICAgIGNvbnN0IGxhdGVzdENvbnRleHQgPSAoKSA9PiB0aGlzLnByb3BzXG4gICAgY29uc3QgdmlldyA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGVtcGxhdGUuY29udGVudCwge1xuICAgICAgZ2V0ICRpbXBsaWNpdCgpIHtcbiAgICAgICAgcmV0dXJuIGxhdGVzdENvbnRleHQoKVxuICAgICAgfSxcbiAgICB9KVxuICAgIHJldHVybiBuZXcgRmxleFJlbmRlclRlbXBsYXRlVmlldyh0ZW1wbGF0ZSwgdmlldylcbiAgfVxuXG4gICNyZW5kZXJDb21wb25lbnQoXG4gICAgZmxleFJlbmRlckNvbXBvbmVudDogRXh0cmFjdDxcbiAgICAgIEZsZXhSZW5kZXJUeXBlZENvbnRlbnQsXG4gICAgICB7IGtpbmQ6ICdmbGV4UmVuZGVyQ29tcG9uZW50JyB9XG4gICAgPlxuICApOiBGbGV4UmVuZGVyQ29tcG9uZW50VmlldyB7XG4gICAgY29uc3QgeyBpbnB1dHMsIG91dHB1dHMsIGluamVjdG9yIH0gPSBmbGV4UmVuZGVyQ29tcG9uZW50LmNvbnRlbnRcblxuICAgIGNvbnN0IGdldENvbnRleHQgPSAoKSA9PiB0aGlzLnByb3BzXG4gICAgY29uc3QgcHJveHkgPSBuZXcgUHJveHkodGhpcy5wcm9wcywge1xuICAgICAgZ2V0OiAoXywga2V5KSA9PiBnZXRDb250ZXh0KClba2V5IGFzIGtleW9mIHR5cGVvZiBfXSxcbiAgICB9KVxuICAgIGNvbnN0IGNvbXBvbmVudEluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHBhcmVudDogaW5qZWN0b3IgPz8gdGhpcy5pbmplY3RvcixcbiAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRmxleFJlbmRlckNvbXBvbmVudFByb3BzLCB1c2VWYWx1ZTogcHJveHkgfV0sXG4gICAgfSlcbiAgICBjb25zdCB2aWV3ID0gdGhpcy4jZmxleFJlbmRlckNvbXBvbmVudEZhY3RvcnkuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgZmxleFJlbmRlckNvbXBvbmVudC5jb250ZW50LFxuICAgICAgY29tcG9uZW50SW5qZWN0b3JcbiAgICApXG4gICAgcmV0dXJuIG5ldyBGbGV4UmVuZGVyQ29tcG9uZW50VmlldyhmbGV4UmVuZGVyQ29tcG9uZW50LCB2aWV3KVxuICB9XG5cbiAgI3JlbmRlckN1c3RvbUNvbXBvbmVudChcbiAgICBjb21wb25lbnQ6IEV4dHJhY3Q8RmxleFJlbmRlclR5cGVkQ29udGVudCwgeyBraW5kOiAnY29tcG9uZW50JyB9PlxuICApOiBGbGV4UmVuZGVyQ29tcG9uZW50VmlldyB7XG4gICAgY29uc3QgdmlldyA9IHRoaXMuI2ZsZXhSZW5kZXJDb21wb25lbnRGYWN0b3J5LmNyZWF0ZUNvbXBvbmVudChcbiAgICAgIGZsZXhSZW5kZXJDb21wb25lbnQoY29tcG9uZW50LmNvbnRlbnQsIHtcbiAgICAgICAgaW5wdXRzOiB0aGlzLnByb3BzLFxuICAgICAgICBpbmplY3RvcjogdGhpcy5pbmplY3RvcixcbiAgICAgIH0pLFxuICAgICAgdGhpcy5pbmplY3RvclxuICAgIClcbiAgICByZXR1cm4gbmV3IEZsZXhSZW5kZXJDb21wb25lbnRWaWV3KGNvbXBvbmVudCwgdmlldylcbiAgfVxufVxuIl19
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleC1yZW5kZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmxleC1yZW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsTUFBTSxFQUVOLE1BQU0sRUFDTixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFFTCxxQkFBcUIsRUFFckIsV0FBVyxFQUVYLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFDTCxtQkFBbUIsR0FFcEIsTUFBTSxxQ0FBcUMsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNwRixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUl0QiwyQkFBMkIsR0FDNUIsTUFBTSxvQkFBb0IsQ0FBQTs7QUFFM0IsT0FBTyxFQUNMLHVCQUF1QixHQUV4QixNQUFNLHVCQUF1QixDQUFBO0FBaUI5QixNQUFNLE9BQU8sbUJBQW1CO0lBMkNYO0lBRUE7SUExQ1YsMkJBQTJCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUE7SUFDaEUsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFHdkQsT0FBTyxHQUtTLFNBQVMsQ0FBQTtJQUd6QixLQUFLLEdBQVcsRUFBWSxDQUFBO0lBRzVCLFFBQVEsR0FBYSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFckMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUE7SUFDN0MsVUFBVSxHQUdDLElBQUksQ0FBQTtJQUVOLGNBQWMsR0FBRyxHQUFHLEVB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SSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxlQUFlLENBQzNELG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUU7WUFDckMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2xCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDLEVBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFBO1FBQ0QsT0FBTyxJQUFJLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNyRCxDQUFDO3dHQTdPVSxtQkFBbUIsa0JBMENwQixnQkFBZ0IsYUFFaEIsV0FBVzs0RkE1Q1YsbUJBQW1CLDhMQUZuQixDQUFDLDBCQUEwQixDQUFDOzs0RkFFNUIsbUJBQW1CO2tCQUwvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsMEJBQTBCLENBQUM7aUJBQ3hDOzswQkEyQ0ksTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUV2QixNQUFNOzJCQUFDLFdBQVc7eUNBckNyQixPQUFPO3NCQUROLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUU7Z0JBUzlDLEtBQUs7c0JBREosS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFO2dCQUluRCxRQUFRO3NCQURQLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIERvQ2hlY2ssXG4gIGVmZmVjdCxcbiAgdHlwZSBFZmZlY3RSZWYsXG4gIEluamVjdCxcbiAgaW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgcnVuSW5JbmplY3Rpb25Db250ZXh0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVHlwZSxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IG1lbW8gfSBmcm9tICdAdGFuc3RhY2svdGFibGUtY29yZSdcbmltcG9ydCB7IEZsZXhSZW5kZXJDb21wb25lbnRQcm9wcyB9IGZyb20gJy4vZmxleC1yZW5kZXIvY29udGV4dCdcbmltcG9ydCB7IEZsZXhSZW5kZXJGbGFncyB9IGZyb20gJy4vZmxleC1yZW5kZXIvZmxhZ3MnXG5pbXBvcnQge1xuICBmbGV4UmVuZGVyQ29tcG9uZW50LFxuICBGbGV4UmVuZGVyQ29tcG9uZW50LFxufSBmcm9tICcuL2ZsZXgtcmVuZGVyL2ZsZXgtcmVuZGVyLWNvbXBvbmVudCdcbmltcG9ydCB7IEZsZXhSZW5kZXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSAnLi9mbGV4LXJlbmRlci9mbGV4LXJlbmRlci1jb21wb25lbnQtcmVmJ1xuaW1wb3J0IHtcbiAgRmxleFJlbmRlckNvbXBvbmVudFZpZXcsXG4gIEZsZXhSZW5kZXJUZW1wbGF0ZVZpZXcsXG4gIHR5cGUgRmxleFJlbmRlclR5cGVkQ29udGVudCxcbiAgRmxleFJlbmRlclZpZXcsXG4gIEZsZXhSZW5kZXJWaWV3QWxsb3dlZFR5cGUsXG4gIG1hcFRvRmxleFJlbmRlclR5cGVkQ29udGVudCxcbn0gZnJvbSAnLi9mbGV4LXJlbmRlci92aWV3J1xuXG5leHBvcnQge1xuICBpbmplY3RGbGV4UmVuZGVyQ29udGV4dCxcbiAgdHlwZSBGbGV4UmVuZGVyQ29tcG9uZW50UHJvcHMsXG59IGZyb20gJy4vZmxleC1yZW5kZXIvY29udGV4dCdcblxuZXhwb3J0IHR5cGUgRmxleFJlbmRlckNvbnRlbnQ8VFByb3BzIGV4dGVuZHMgTm9uTnVsbGFibGU8dW5rbm93bj4+ID1cbiAgfCBzdHJpbmdcbiAgfCBudW1iZXJcbiAgfCBUeXBlPFRQcm9wcz5cbiAgfCBGbGV4UmVuZGVyQ29tcG9uZW50PFRQcm9wcz5cbiAgfCBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogVFByb3BzIH0+XG4gIHwgbnVsbFxuICB8IFJlY29yZDxhbnksIGFueT5cbiAgfCB1bmRlZmluZWRcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZsZXhSZW5kZXJdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbRmxleFJlbmRlckNvbXBvbmVudEZhY3RvcnldLFxufSlcbmV4cG9ydCBjbGFzcyBGbGV4UmVuZGVyRGlyZWN0aXZlPFRQcm9wcyBleHRlbmRzIE5vbk51bGxhYmxlPHVua25vd24+PlxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgRG9DaGVja1xue1xuICByZWFkb25seSAjZmxleFJlbmRlckNvbXBvbmVudEZhY3RvcnkgPSBpbmplY3QoRmxleFJlbmRlckNvbXBvbmVudEZhY3RvcnkpXG4gIHJlYWRvbmx5ICNjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZilcblxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSwgYWxpYXM6ICdmbGV4UmVuZGVyJyB9KVxuICBjb250ZW50OlxuICAgIHwgbnVtYmVyXG4gICAgfCBzdHJpbmdcbiAgICB8ICgocHJvcHM6IFRQcm9wcykgPT4gRmxleFJlbmRlckNvbnRlbnQ8VFByb3BzPilcbiAgICB8IG51bGxcbiAgICB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZFxuXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlLCBhbGlhczogJ2ZsZXhSZW5kZXJQcm9wcycgfSlcbiAgcHJvcHM6IFRQcm9wcyA9IHt9IGFzIFRQcm9wc1xuXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSwgYWxpYXM6ICdmbGV4UmVuZGVySW5qZWN0b3InIH0pXG4gIGluamVjdG9yOiBJbmplY3RvciA9IGluamVjdChJbmplY3RvcilcblxuICByZW5kZXJGbGFncyA9IEZsZXhSZW5kZXJGbGFncy5WaWV3Rmlyc3RSZW5kZXJcbiAgcmVuZGVyVmlldzogRmxleFJlbmRlclZpZXc8XG4gICAgRmxleFJlbmRlclZpZXdBbGxvd2VkVHlwZSxcbiAgICBGbGV4UmVuZGVyVHlwZWRDb250ZW50XG4gID4gfCBudWxsID0gbnVsbFxuXG4gIHJlYWRvbmx5ICNsYXRlc3RDb250ZW50ID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY29udGVudCwgcHJvcHMgfSA9IHRoaXNcbiAgICByZXR1cm4gdHlwZW9mIGNvbnRlbnQgIT09ICdmdW5jdGlvbidcbiAgICAgID8gY29udGVudFxuICAgICAgOiBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5pbmplY3RvciwgKCkgPT4gY29udGVudChwcm9wcykpXG4gIH1cblxuICAjZ2V0Q29udGVudFZhbHVlID0gbWVtbyhcbiAgICAoKSA9PiBbdGhpcy4jbGF0ZXN0Q29udGVudCgpLCB0aGlzLnByb3BzLCB0aGlzLmNvbnRlbnRdLFxuICAgIChsYXRlc3RDb250ZW50KSA9PiB7XG4gICAgICByZXR1cm4gbWFwVG9GbGV4UmVuZGVyVHlwZWRDb250ZW50KGxhdGVzdENvbnRlbnQpXG4gICAgfSxcbiAgICB7IGtleTogJ2ZsZXhSZW5kZXJDb250ZW50VmFsdWUnLCBkZWJ1ZzogKCkgPT4gZmFsc2UgfSxcbiAgKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoVmlld0NvbnRhaW5lclJlZilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgQEluamVjdChUZW1wbGF0ZVJlZilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICApIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydwcm9wcyddKSB7XG4gICAgICB0aGlzLnJlbmRlckZsYWdzIHw9IEZsZXhSZW5kZXJGbGFncy5Qcm9wc1JlZmVyZW5jZUNoYW5nZWRcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ2NvbnRlbnQnXSkge1xuICAgICAgdGhpcy5yZW5kZXJGbGFncyB8PVxuICAgICAgICBGbGV4UmVuZGVyRmxhZ3MuQ29udGVudENoYW5nZWQgfCBGbGV4UmVuZGVyRmxhZ3MuVmlld0ZpcnN0UmVuZGVyXG4gICAgICB0aGlzLnVwZGF0ZSgpXG4gICAgfVxuICB9XG5cbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlbmRlckZsYWdzICYgRmxleFJlbmRlckZsYWdzLlZpZXdGaXJzdFJlbmRlcikge1xuICAgICAgLy8gT24gdGhlIGluaXRpYWwgcmVuZGVyLCB0aGUgdmlldyBpcyBjcmVhdGVkIGR1cmluZyB0aGUgYG5nT25DaGFuZ2VzYCBob29rLlxuICAgICAgLy8gU2luY2UgYG5nRG9DaGVja2AgaXMgY2FsbGVkIGltbWVkaWF0ZWx5IGFmdGVyd2FyZCwgdGhlcmUncyBubyBuZWVkIHRvIGNoZWNrIGZvciBjaGFuZ2VzIGluIHRoaXMgcGhhc2UuXG4gICAgICB0aGlzLnJlbmRlckZsYWdzICY9IH5GbGV4UmVuZGVyRmxhZ3MuVmlld0ZpcnN0UmVuZGVyXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLnJlbmRlckZsYWdzIHw9IEZsZXhSZW5kZXJGbGFncy5EaXJ0eUNoZWNrXG5cbiAgICBjb25zdCBsYXRlc3RDb250ZW50ID0gdGhpcy4jZ2V0Q29udGVudFZhbHVlKClcbiAgICBpZiAobGF0ZXN0Q29udGVudC5raW5kID09PSAnbnVsbCcgfHwgIXRoaXMucmVuZGVyVmlldykge1xuICAgICAgdGhpcy5yZW5kZXJGbGFncyB8PSBGbGV4UmVuZGVyRmxhZ3MuQ29udGVudENoYW5nZWRcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgeyBraW5kOiBjdXJyZW50S2luZCB9ID0gdGhpcy5yZW5kZXJWaWV3LmNvbnRlbnRcbiAgICAgIGlmIChcbiAgICAgICAgbGF0ZXN0Q29udGVudC5raW5kICE9PSBjdXJyZW50S2luZCB8fFxuICAgICAgICAhdGhpcy5yZW5kZXJWaWV3LmVxKGxhdGVzdENvbnRlbnQpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5yZW5kZXJGbGFncyB8PSBGbGV4UmVuZGVyRmxhZ3MuQ29udGVudENoYW5nZWRcbiAgICAgIH1cbiAgICAgIHRoaXMucmVuZGVyVmlldy5jb250ZW50ID0gbGF0ZXN0Q29udGVudFxuICAgIH1cbiAgICB0aGlzLnVwZGF0ZSgpXG4gIH1cblxuICB1cGRhdGUoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5yZW5kZXJGbGFncyAmXG4gICAgICAoRmxleFJlbmRlckZsYWdzLkNvbnRlbnRDaGFuZ2VkIHwgRmxleFJlbmRlckZsYWdzLlZpZXdGaXJzdFJlbmRlcilcbiAgICApIHtcbiAgICAgIHRoaXMucmVuZGVyKClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBpZiAodGhpcy5yZW5kZXJGbGFncyAmIEZsZXhSZW5kZXJGbGFncy5Qcm9wc1JlZmVyZW5jZUNoYW5nZWQpIHtcbiAgICAgIGlmICh0aGlzLnJlbmRlclZpZXcpIHRoaXMucmVuZGVyVmlldy51cGRhdGVQcm9wcyh0aGlzLnByb3BzKVxuICAgICAgdGhpcy5yZW5kZXJGbGFncyAmPSB+RmxleFJlbmRlckZsYWdzLlByb3BzUmVmZXJlbmNlQ2hhbmdlZFxuICAgIH1cbiAgICBpZiAoXG4gICAgICB0aGlzLnJlbmRlckZsYWdzICZcbiAgICAgIChGbGV4UmVuZGVyRmxhZ3MuRGlydHlDaGVjayB8IEZsZXhSZW5kZXJGbGFncy5EaXJ0eVNpZ25hbClcbiAgICApIHtcbiAgICAgIGlmICh0aGlzLnJlbmRlclZpZXcpIHRoaXMucmVuZGVyVmlldy5kaXJ0eUNoZWNrKClcbiAgICAgIHRoaXMucmVuZGVyRmxhZ3MgJj0gfihcbiAgICAgICAgRmxleFJlbmRlckZsYWdzLkRpcnR5Q2hlY2sgfCBGbGV4UmVuZGVyRmxhZ3MuRGlydHlTaWduYWxcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICAjY3VycmVudEVmZmVjdFJlZjogRWZmZWN0UmVmIHwgbnVsbCA9IG51bGxcblxuICByZW5kZXIoKSB7XG4gICAgaWYgKHRoaXMuI3Nob3VsZFJlY3JlYXRlRW50aXJlVmlldygpICYmIHRoaXMuI2N1cnJlbnRFZmZlY3RSZWYpIHtcbiAgICAgIHRoaXMuI2N1cnJlbnRFZmZlY3RSZWYuZGVzdHJveSgpXG4gICAgICB0aGlzLiNjdXJyZW50RWZmZWN0UmVmID0gbnVsbFxuICAgICAgdGhpcy5yZW5kZXJGbGFncyAmPSB+RmxleFJlbmRlckZsYWdzLlJlbmRlckVmZmVjdENoZWNrZWRcbiAgICB9XG5cbiAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKVxuICAgIHRoaXMucmVuZGVyRmxhZ3MgPVxuICAgICAgRmxleFJlbmRlckZsYWdzLlByaXN0aW5lIHxcbiAgICAgICh0aGlzLnJlbmRlckZsYWdzICYgRmxleFJlbmRlckZsYWdzLlZpZXdGaXJzdFJlbmRlcikgfFxuICAgICAgKHRoaXMucmVuZGVyRmxhZ3MgJiBGbGV4UmVuZGVyRmxhZ3MuUmVuZGVyRWZmZWN0Q2hlY2tlZClcblxuICAgIGNvbnN0IHJlc29sdmVkQ29udGVudCA9IHRoaXMuI2dldENvbnRlbnRWYWx1ZSgpXG4gICAgaWYgKHJlc29sdmVkQ29udGVudC5raW5kID09PSAnbnVsbCcpIHtcbiAgICAgIHRoaXMucmVuZGVyVmlldyA9IG51bGxcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJWaWV3ID0gdGhpcy4jcmVuZGVyVmlld0J5Q29udGVudChyZXNvbHZlZENvbnRlbnQpXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIGNvbnRlbnQgaXMgYSBmdW5jdGlvbiBgY29udGVudChwcm9wcylgLCB3ZSBpbml0aWFsaXplIGFuIGVmZmVjdFxuICAgIC8vIGluIG9yZGVyIHRvIHJlYWN0IHRvIGNoYW5nZXMgaWYgdGhlIGdpdmVuIGRlZmluaXRpb24gdXNlIHNpZ25hbHMuXG4gICAgaWYgKCF0aGlzLiNjdXJyZW50RWZmZWN0UmVmICYmIHR5cGVvZiB0aGlzLmNvbnRlbnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXMuI2N1cnJlbnRFZmZlY3RSZWYgPSBlZmZlY3QoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLiNsYXRlc3RDb250ZW50KClcbiAgICAgICAgICBpZiAoISh0aGlzLnJlbmRlckZsYWdzICYgRmxleFJlbmRlckZsYWdzLlJlbmRlckVmZmVjdENoZWNrZWQpKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlckZsYWdzIHw9IEZsZXhSZW5kZXJGbGFncy5SZW5kZXJFZmZlY3RDaGVja2VkXG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5yZW5kZXJGbGFncyB8PSBGbGV4UmVuZGVyRmxhZ3MuRGlydHlTaWduYWxcbiAgICAgICAgICAvLyBUaGlzIHdpbGwgbWFyayB0aGUgdmlldyBhcyBjaGFuZ2VkLFxuICAgICAgICAgIC8vIHNvIHdlJ2xsIHRyeSB0byBjaGVjayBmb3IgdXBkYXRlcyBpbnRvIG5nRG9DaGVja1xuICAgICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpXG4gICAgICAgIH0sXG4gICAgICAgIHsgaW5qZWN0b3I6IHRoaXMudmlld0NvbnRhaW5lclJlZi5pbmplY3RvciB9LFxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gICNzaG91bGRSZWNyZWF0ZUVudGlyZVZpZXcoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMucmVuZGVyRmxhZ3MgJlxuICAgICAgRmxleFJlbmRlckZsYWdzLkNvbnRlbnRDaGFuZ2VkICZcbiAgICAgIEZsZXhSZW5kZXJGbGFncy5WaWV3Rmlyc3RSZW5kZXJcbiAgICApXG4gIH1cblxuICAjcmVuZGVyVmlld0J5Q29udGVudChcbiAgICBjb250ZW50OiBGbGV4UmVuZGVyVHlwZWRDb250ZW50LFxuICApOiBGbGV4UmVuZGVyVmlldzxGbGV4UmVuZGVyVmlld0FsbG93ZWRUeXBlLCBGbGV4UmVuZGVyVHlwZWRDb250ZW50PiB8IG51bGwge1xuICAgIGlmIChjb250ZW50LmtpbmQgPT09ICdwcmltaXRpdmUnKSB7XG4gICAgICByZXR1cm4gdGhpcy4jcmVuZGVyU3RyaW5nQ29udGVudChjb250ZW50KVxuICAgIH0gZWxzZSBpZiAoY29udGVudC5raW5kID09PSAndGVtcGxhdGVSZWYnKSB7XG4gICAgICByZXR1cm4gdGhpcy4jcmVuZGVyVGVtcGxhdGVSZWZDb250ZW50KGNvbnRlbnQpXG4gICAgfSBlbHNlIGlmIChjb250ZW50LmtpbmQgPT09ICdmbGV4UmVuZGVyQ29tcG9uZW50Jykge1xuICAgICAgcmV0dXJuIHRoaXMuI3JlbmRlckNvbXBvbmVudChjb250ZW50KVxuICAgIH0gZWxzZSBpZiAoY29udGVudC5raW5kID09PSAnY29tcG9uZW50Jykge1xuICAgICAgcmV0dXJuIHRoaXMuI3JlbmRlckN1c3RvbUNvbXBvbmVudChjb250ZW50KVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgfVxuXG4gICNyZW5kZXJTdHJpbmdDb250ZW50KFxuICAgIHRlbXBsYXRlOiBFeHRyYWN0PEZsZXhSZW5kZXJUeXBlZENvbnRlbnQsIHsga2luZDogJ3ByaW1pdGl2ZScgfT4sXG4gICk6IEZsZXhSZW5kZXJUZW1wbGF0ZVZpZXcge1xuICAgIGNvbnN0IGNvbnRleHQgPSAoKSA9PiB7XG4gICAgICByZXR1cm4gdHlwZW9mIHRoaXMuY29udGVudCA9PT0gJ3N0cmluZycgfHxcbiAgICAgICAgdHlwZW9mIHRoaXMuY29udGVudCA9PT0gJ251bWJlcidcbiAgICAgICAgPyB0aGlzLmNvbnRlbnRcbiAgICAgICAgOiB0aGlzLmNvbnRlbnQ/Lih0aGlzLnByb3BzKVxuICAgIH1cbiAgICBjb25zdCByZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYsIHtcbiAgICAgIGdldCAkaW1wbGljaXQoKSB7XG4gICAgICAgIHJldHVybiBjb250ZXh0KClcbiAgICAgIH0sXG4gICAgfSlcbiAgICByZXR1cm4gbmV3IEZsZXhSZW5kZXJUZW1wbGF0ZVZpZXcodGVtcGxhdGUsIHJlZilcbiAgfVxuXG4gICNyZW5kZXJUZW1wbGF0ZVJlZkNvbnRlbnQoXG4gICAgdGVtcGxhdGU6IEV4dHJhY3Q8RmxleFJlbmRlclR5cGVkQ29udGVudCwgeyBraW5kOiAndGVtcGxhdGVSZWYnIH0+LFxuICApOiBGbGV4UmVuZGVyVGVtcGxhdGVWaWV3IHtcbiAgICBjb25zdCBsYXRlc3RDb250ZXh0ID0gKCkgPT4gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHZpZXcgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRlbXBsYXRlLmNvbnRlbnQsIHtcbiAgICAgIGdldCAkaW1wbGljaXQoKSB7XG4gICAgICAgIHJldHVybiBsYXRlc3RDb250ZXh0KClcbiAgICAgIH0sXG4gICAgfSlcbiAgICByZXR1cm4gbmV3IEZsZXhSZW5kZXJUZW1wbGF0ZVZpZXcodGVtcGxhdGUsIHZpZXcpXG4gIH1cblxuICAjcmVuZGVyQ29tcG9uZW50KFxuICAgIGZsZXhSZW5kZXJDb21wb25lbnQ6IEV4dHJhY3Q8XG4gICAgICBGbGV4UmVuZGVyVHlwZWRDb250ZW50LFxuICAgICAgeyBraW5kOiAnZmxleFJlbmRlckNvbXBvbmVudCcgfVxuICAgID4sXG4gICk6IEZsZXhSZW5kZXJDb21wb25lbnRWaWV3IHtcbiAgICBjb25zdCB7IGlucHV0cywgb3V0cHV0cywgaW5qZWN0b3IgfSA9IGZsZXhSZW5kZXJDb21wb25lbnQuY29udGVudFxuXG4gICAgY29uc3QgZ2V0Q29udGV4dCA9ICgpID0+IHRoaXMucHJvcHNcbiAgICBjb25zdCBwcm94eSA9IG5ldyBQcm94eSh0aGlzLnByb3BzLCB7XG4gICAgICBnZXQ6IChfLCBrZXkpID0+IGdldENvbnRleHQoKVtrZXkgYXMga2V5b2YgdHlwZW9mIF9dLFxuICAgIH0pXG4gICAgY29uc3QgY29tcG9uZW50SW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcGFyZW50OiBpbmplY3RvciA/PyB0aGlzLmluamVjdG9yLFxuICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBGbGV4UmVuZGVyQ29tcG9uZW50UHJvcHMsIHVzZVZhbHVlOiBwcm94eSB9XSxcbiAgICB9KVxuICAgIGNvbnN0IHZpZXcgPSB0aGlzLiNmbGV4UmVuZGVyQ29tcG9uZW50RmFjdG9yeS5jcmVhdGVDb21wb25lbnQoXG4gICAgICBmbGV4UmVuZGVyQ29tcG9uZW50LmNvbnRlbnQsXG4gICAgICBjb21wb25lbnRJbmplY3RvcixcbiAgICApXG4gICAgcmV0dXJuIG5ldyBGbGV4UmVuZGVyQ29tcG9uZW50VmlldyhmbGV4UmVuZGVyQ29tcG9uZW50LCB2aWV3KVxuICB9XG5cbiAgI3JlbmRlckN1c3RvbUNvbXBvbmVudChcbiAgICBjb21wb25lbnQ6IEV4dHJhY3Q8RmxleFJlbmRlclR5cGVkQ29udGVudCwgeyBraW5kOiAnY29tcG9uZW50JyB9PixcbiAgKTogRmxleFJlbmRlckNvbXBvbmVudFZpZXcge1xuICAgIGNvbnN0IHZpZXcgPSB0aGlzLiNmbGV4UmVuZGVyQ29tcG9uZW50RmFjdG9yeS5jcmVhdGVDb21wb25lbnQoXG4gICAgICBmbGV4UmVuZGVyQ29tcG9uZW50KGNvbXBvbmVudC5jb250ZW50LCB7XG4gICAgICAgIGlucHV0czogdGhpcy5wcm9wcyxcbiAgICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsXG4gICAgICB9KSxcbiAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgKVxuICAgIHJldHVybiBuZXcgRmxleFJlbmRlckNvbXBvbmVudFZpZXcoY29tcG9uZW50LCB2aWV3KVxuICB9XG59XG4iXX0=
@@ -28,7 +28,7 @@ export function createAngularTable(options) {
28
28
  ...resolvedOptions,
29
29
  ...tableOptions,
30
30
  state: { ...tableState, ...tableOptions.state },
31
- onStateChange: updater => {
31
+ onStateChange: (updater) => {
32
32
  const value = updater instanceof Function ? updater(tableState) : updater;
33
33
  state.set(value);
34
34
  resolvedOptions.onStateChange?.(updater);
@@ -46,4 +46,4 @@ export function createAngularTable(options) {
46
46
  return proxifyTable(tableSignal);
47
47
  });
48
48
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBZSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDN0QsT0FBTyxFQUtMLFdBQVcsR0FFWixNQUFNLHNCQUFzQixDQUFBO0FBQzdCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBRXRDLGNBQWMsc0JBQXNCLENBQUE7QUFFcEMsT0FBTyxFQUVMLG1CQUFtQixFQUNuQixtQkFBbUIsSUFBSSxVQUFVLEVBQ2pDLHVCQUF1QixHQUV4QixNQUFNLGVBQWUsQ0FBQTtBQUV0QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUNwQixNQUFNLHFDQUFxQyxDQUFBO0FBRTVDLE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsT0FBa0M7SUFFbEMsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ25CLE1BQU0sZUFBZSxHQUFHO1lBQ3RCLEtBQUssRUFBRSxFQUFFO1lBQ1QsYUFBYSxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7WUFDdkIsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixHQUFHLE9BQU8sRUFBRTtTQUNiLENBQUE7UUFFRCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUE7UUFFMUMsc0VBQXNFO1FBQ3RFLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBYSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUE7UUFFcEQsd0NBQXdDO1FBQ3hDLGdFQUFnRTtRQUNoRSxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQThCLEdBQUcsRUFBRTtZQUNoRSxnQ0FBZ0M7WUFDaEMsTUFBTSxVQUFVLEdBQUcsS0FBSyxFQUFFLENBQUE7WUFDMUIsa0NBQWtDO1lBQ2xDLE1BQU0sWUFBWSxHQUFHLE9BQU8sRUFBRSxDQUFBO1lBQzlCLE9BQU87Z0JBQ0wsR0FBRyxLQUFLLENBQUMsT0FBTztnQkFDaEIsR0FBRyxlQUFlO2dCQUNsQixHQUFHLFlBQVk7Z0JBQ2YsS0FBSyxFQUFFLEVBQUUsR0FBRyxVQUFVLEVBQUUsR0FBRyxZQUFZLENBQUMsS0FBSyxFQUFFO2dCQUMvQyxhQUFhLEVBQUUsT0FBTyxDQUFDLEVBQUU7b0JBQ3ZCLE1BQU0sS0FBSyxHQUNULE9BQU8sWUFBWSxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBO29CQUM3RCxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO29CQUNoQixlQUFlLENBQUMsYUFBYSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUE7Z0JBQzFDLENBQUM7YUFDRixDQUFBO1FBQ0gsQ0FBQyxDQUFDLENBQUE7UUFFRixnR0FBZ0c7UUFDaEcsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUMxQixHQUFHLEVBQUU7WUFDSCxLQUFLLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUE7WUFDbEMsT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDLEVBQ0Q7WUFDRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSztTQUNuQixDQUNGLENBQUE7UUFFRCw4RkFBOEY7UUFDOUYsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDbEMsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIHR5cGUgU2lnbmFsLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgUm93RGF0YSxcbiAgVGFibGVPcHRpb25zLFxuICBUYWJsZU9wdGlvbnNSZXNvbHZlZCxcbiAgVGFibGVTdGF0ZSxcbiAgY3JlYXRlVGFibGUsXG4gIHR5cGUgVGFibGUsXG59IGZyb20gJ0B0YW5zdGFjay90YWJsZS1jb3JlJ1xuaW1wb3J0IHsgbGF6eUluaXQgfSBmcm9tICcuL2xhenktc2lnbmFsLWluaXRpYWxpemVyJ1xuaW1wb3J0IHsgcHJveGlmeVRhYmxlIH0gZnJvbSAnLi9wcm94eSdcblxuZXhwb3J0ICogZnJvbSAnQHRhbnN0YWNrL3RhYmxlLWNvcmUnXG5cbmV4cG9ydCB7XG4gIHR5cGUgRmxleFJlbmRlckNvbnRlbnQsXG4gIEZsZXhSZW5kZXJEaXJlY3RpdmUsXG4gIEZsZXhSZW5kZXJEaXJlY3RpdmUgYXMgRmxleFJlbmRlcixcbiAgaW5qZWN0RmxleFJlbmRlckNvbnRleHQsXG4gIHR5cGUgRmxleFJlbmRlckNvbXBvbmVudFByb3BzLFxufSBmcm9tICcuL2ZsZXgtcmVuZGVyJ1xuXG5leHBvcnQge1xuICBGbGV4UmVuZGVyQ29tcG9uZW50LFxuICBmbGV4UmVuZGVyQ29tcG9uZW50LFxufSBmcm9tICcuL2ZsZXgtcmVuZGVyL2ZsZXgtcmVuZGVyLWNvbXBvbmVudCdcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFuZ3VsYXJUYWJsZTxURGF0YSBleHRlbmRzIFJvd0RhdGE+KFxuICBvcHRpb25zOiAoKSA9PiBUYWJsZU9wdGlvbnM8VERhdGE+XG4pOiBUYWJsZTxURGF0YT4gJiBTaWduYWw8VGFibGU8VERhdGE+PiB7XG4gIHJldHVybiBsYXp5SW5pdCgoKSA9PiB7XG4gICAgY29uc3QgcmVzb2x2ZWRPcHRpb25zID0ge1xuICAgICAgc3RhdGU6IHt9LFxuICAgICAgb25TdGF0ZUNoYW5nZTogKCkgPT4ge30sXG4gICAgICByZW5kZXJGYWxsYmFja1ZhbHVlOiBudWxsLFxuICAgICAgLi4ub3B0aW9ucygpLFxuICAgIH1cblxuICAgIGNvbnN0IHRhYmxlID0gY3JlYXRlVGFibGUocmVzb2x2ZWRPcHRpb25zKVxuXG4gICAgLy8gQnkgZGVmYXVsdCwgbWFuYWdlIHRhYmxlIHN0YXRlIGhlcmUgdXNpbmcgdGhlIHRhYmxlJ3MgaW5pdGlhbCBzdGF0ZVxuICAgIGNvbnN0IHN0YXRlID0gc2lnbmFsPFRhYmxlU3RhdGU+KHRhYmxlLmluaXRpYWxTdGF0ZSlcblxuICAgIC8vIENvbXBvc2UgdGFibGUgb3B0aW9ucyB1c2luZyBjb21wdXRlZC5cbiAgICAvLyBUaGlzIGlzIHRvIGFsbG93IGB0YWJsZVNpZ25hbGAgdG8gbGlzdGVuIGFuZCBzZXQgdGFibGUgb3B0aW9uXG4gICAgY29uc3QgdXBkYXRlZE9wdGlvbnMgPSBjb21wdXRlZDxUYWJsZU9wdGlvbnNSZXNvbHZlZDxURGF0YT4+KCgpID0+IHtcbiAgICAgIC8vIGxpc3RlbiB0byB0YWJsZSBzdGF0ZSBjaGFuZ2VkXG4gICAgICBjb25zdCB0YWJsZVN0YXRlID0gc3RhdGUoKVxuICAgICAgLy8gbGlzdGVuIHRvIGlucHV0IG9wdGlvbnMgY2hhbmdlZFxuICAgICAgY29uc3QgdGFibGVPcHRpb25zID0gb3B0aW9ucygpXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi50YWJsZS5vcHRpb25zLFxuICAgICAgICAuLi5yZXNvbHZlZE9wdGlvbnMsXG4gICAgICAgIC4uLnRhYmxlT3B0aW9ucyxcbiAgICAgICAgc3RhdGU6IHsgLi4udGFibGVTdGF0ZSwgLi4udGFibGVPcHRpb25zLnN0YXRlIH0sXG4gICAgICAgIG9uU3RhdGVDaGFuZ2U6IHVwZGF0ZXIgPT4ge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID1cbiAgICAgICAgICAgIHVwZGF0ZXIgaW5zdGFuY2VvZiBGdW5jdGlvbiA/IHVwZGF0ZXIodGFibGVTdGF0ZSkgOiB1cGRhdGVyXG4gICAgICAgICAgc3RhdGUuc2V0KHZhbHVlKVxuICAgICAgICAgIHJlc29sdmVkT3B0aW9ucy5vblN0YXRlQ2hhbmdlPy4odXBkYXRlcilcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgLy8gY29udmVydCB0YWJsZSBpbnN0YW5jZSB0byBzaWduYWwgZm9yIHByb3hpZnkgdG8gbGlzdGVuIHRvIGFueSB0YWJsZSBzdGF0ZSBhbmQgb3B0aW9ucyBjaGFuZ2VzXG4gICAgY29uc3QgdGFibGVTaWduYWwgPSBjb21wdXRlZChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGFibGUuc2V0T3B0aW9ucyh1cGRhdGVkT3B0aW9ucygpKVxuICAgICAgICByZXR1cm4gdGFibGVcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGVxdWFsOiAoKSA9PiBmYWxzZSxcbiAgICAgIH1cbiAgICApXG5cbiAgICAvLyBwcm94aWZ5IFRhYmxlIGluc3RhbmNlIHRvIHByb3ZpZGUgYWJpbGl0eSBmb3IgY29uc3VtZXIgdG8gbGlzdGVuIHRvIGFueSB0YWJsZSBzdGF0ZSBjaGFuZ2VzXG4gICAgcmV0dXJuIHByb3hpZnlUYWJsZSh0YWJsZVNpZ25hbClcbiAgfSlcbn1cbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBZSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDN0QsT0FBTyxFQUtMLFdBQVcsR0FFWixNQUFNLHNCQUFzQixDQUFBO0FBQzdCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBRXRDLGNBQWMsc0JBQXNCLENBQUE7QUFFcEMsT0FBTyxFQUVMLG1CQUFtQixFQUNuQixtQkFBbUIsSUFBSSxVQUFVLEVBQ2pDLHVCQUF1QixHQUV4QixNQUFNLGVBQWUsQ0FBQTtBQUV0QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUNwQixNQUFNLHFDQUFxQyxDQUFBO0FBRTVDLE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsT0FBa0M7SUFFbEMsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ25CLE1BQU0sZUFBZSxHQUFHO1lBQ3RCLEtBQUssRUFBRSxFQUFFO1lBQ1QsYUFBYSxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7WUFDdkIsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixHQUFHLE9BQU8sRUFBRTtTQUNiLENBQUE7UUFFRCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUE7UUFFMUMsc0VBQXNFO1FBQ3RFLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBYSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUE7UUFFcEQsd0NBQXdDO1FBQ3hDLGdFQUFnRTtRQUNoRSxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQThCLEdBQUcsRUFBRTtZQUNoRSxnQ0FBZ0M7WUFDaEMsTUFBTSxVQUFVLEdBQUcsS0FBSyxFQUFFLENBQUE7WUFDMUIsa0NBQWtDO1lBQ2xDLE1BQU0sWUFBWSxHQUFHLE9BQU8sRUFBRSxDQUFBO1lBQzlCLE9BQU87Z0JBQ0wsR0FBRyxLQUFLLENBQUMsT0FBTztnQkFDaEIsR0FBRyxlQUFlO2dCQUNsQixHQUFHLFlBQVk7Z0JBQ2YsS0FBSyxFQUFFLEVBQUUsR0FBRyxVQUFVLEVBQUUsR0FBRyxZQUFZLENBQUMsS0FBSyxFQUFFO2dCQUMvQyxhQUFhLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtvQkFDekIsTUFBTSxLQUFLLEdBQ1QsT0FBTyxZQUFZLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUE7b0JBQzdELEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7b0JBQ2hCLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtnQkFDMUMsQ0FBQzthQUNGLENBQUE7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUVGLGdHQUFnRztRQUNoRyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQzFCLEdBQUcsRUFBRTtZQUNILEtBQUssQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQTtZQUNsQyxPQUFPLEtBQUssQ0FBQTtRQUNkLENBQUMsRUFDRDtZQUNFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLO1NBQ25CLENBQ0YsQ0FBQTtRQUVELDhGQUE4RjtRQUM5RixPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUNsQyxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgdHlwZSBTaWduYWwsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBSb3dEYXRhLFxuICBUYWJsZU9wdGlvbnMsXG4gIFRhYmxlT3B0aW9uc1Jlc29sdmVkLFxuICBUYWJsZVN0YXRlLFxuICBjcmVhdGVUYWJsZSxcbiAgdHlwZSBUYWJsZSxcbn0gZnJvbSAnQHRhbnN0YWNrL3RhYmxlLWNvcmUnXG5pbXBvcnQgeyBsYXp5SW5pdCB9IGZyb20gJy4vbGF6eS1zaWduYWwtaW5pdGlhbGl6ZXInXG5pbXBvcnQgeyBwcm94aWZ5VGFibGUgfSBmcm9tICcuL3Byb3h5J1xuXG5leHBvcnQgKiBmcm9tICdAdGFuc3RhY2svdGFibGUtY29yZSdcblxuZXhwb3J0IHtcbiAgdHlwZSBGbGV4UmVuZGVyQ29udGVudCxcbiAgRmxleFJlbmRlckRpcmVjdGl2ZSxcbiAgRmxleFJlbmRlckRpcmVjdGl2ZSBhcyBGbGV4UmVuZGVyLFxuICBpbmplY3RGbGV4UmVuZGVyQ29udGV4dCxcbiAgdHlwZSBGbGV4UmVuZGVyQ29tcG9uZW50UHJvcHMsXG59IGZyb20gJy4vZmxleC1yZW5kZXInXG5cbmV4cG9ydCB7XG4gIEZsZXhSZW5kZXJDb21wb25lbnQsXG4gIGZsZXhSZW5kZXJDb21wb25lbnQsXG59IGZyb20gJy4vZmxleC1yZW5kZXIvZmxleC1yZW5kZXItY29tcG9uZW50J1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQW5ndWxhclRhYmxlPFREYXRhIGV4dGVuZHMgUm93RGF0YT4oXG4gIG9wdGlvbnM6ICgpID0+IFRhYmxlT3B0aW9uczxURGF0YT4sXG4pOiBUYWJsZTxURGF0YT4gJiBTaWduYWw8VGFibGU8VERhdGE+PiB7XG4gIHJldHVybiBsYXp5SW5pdCgoKSA9PiB7XG4gICAgY29uc3QgcmVzb2x2ZWRPcHRpb25zID0ge1xuICAgICAgc3RhdGU6IHt9LFxuICAgICAgb25TdGF0ZUNoYW5nZTogKCkgPT4ge30sXG4gICAgICByZW5kZXJGYWxsYmFja1ZhbHVlOiBudWxsLFxuICAgICAgLi4ub3B0aW9ucygpLFxuICAgIH1cblxuICAgIGNvbnN0IHRhYmxlID0gY3JlYXRlVGFibGUocmVzb2x2ZWRPcHRpb25zKVxuXG4gICAgLy8gQnkgZGVmYXVsdCwgbWFuYWdlIHRhYmxlIHN0YXRlIGhlcmUgdXNpbmcgdGhlIHRhYmxlJ3MgaW5pdGlhbCBzdGF0ZVxuICAgIGNvbnN0IHN0YXRlID0gc2lnbmFsPFRhYmxlU3RhdGU+KHRhYmxlLmluaXRpYWxTdGF0ZSlcblxuICAgIC8vIENvbXBvc2UgdGFibGUgb3B0aW9ucyB1c2luZyBjb21wdXRlZC5cbiAgICAvLyBUaGlzIGlzIHRvIGFsbG93IGB0YWJsZVNpZ25hbGAgdG8gbGlzdGVuIGFuZCBzZXQgdGFibGUgb3B0aW9uXG4gICAgY29uc3QgdXBkYXRlZE9wdGlvbnMgPSBjb21wdXRlZDxUYWJsZU9wdGlvbnNSZXNvbHZlZDxURGF0YT4+KCgpID0+IHtcbiAgICAgIC8vIGxpc3RlbiB0byB0YWJsZSBzdGF0ZSBjaGFuZ2VkXG4gICAgICBjb25zdCB0YWJsZVN0YXRlID0gc3RhdGUoKVxuICAgICAgLy8gbGlzdGVuIHRvIGlucHV0IG9wdGlvbnMgY2hhbmdlZFxuICAgICAgY29uc3QgdGFibGVPcHRpb25zID0gb3B0aW9ucygpXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi50YWJsZS5vcHRpb25zLFxuICAgICAgICAuLi5yZXNvbHZlZE9wdGlvbnMsXG4gICAgICAgIC4uLnRhYmxlT3B0aW9ucyxcbiAgICAgICAgc3RhdGU6IHsgLi4udGFibGVTdGF0ZSwgLi4udGFibGVPcHRpb25zLnN0YXRlIH0sXG4gICAgICAgIG9uU3RhdGVDaGFuZ2U6ICh1cGRhdGVyKSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPVxuICAgICAgICAgICAgdXBkYXRlciBpbnN0YW5jZW9mIEZ1bmN0aW9uID8gdXBkYXRlcih0YWJsZVN0YXRlKSA6IHVwZGF0ZXJcbiAgICAgICAgICBzdGF0ZS5zZXQodmFsdWUpXG4gICAgICAgICAgcmVzb2x2ZWRPcHRpb25zLm9uU3RhdGVDaGFuZ2U/Lih1cGRhdGVyKVxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH0pXG5cbiAgICAvLyBjb252ZXJ0IHRhYmxlIGluc3RhbmNlIHRvIHNpZ25hbCBmb3IgcHJveGlmeSB0byBsaXN0ZW4gdG8gYW55IHRhYmxlIHN0YXRlIGFuZCBvcHRpb25zIGNoYW5nZXNcbiAgICBjb25zdCB0YWJsZVNpZ25hbCA9IGNvbXB1dGVkKFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0YWJsZS5zZXRPcHRpb25zKHVwZGF0ZWRPcHRpb25zKCkpXG4gICAgICAgIHJldHVybiB0YWJsZVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZXF1YWw6ICgpID0+IGZhbHNlLFxuICAgICAgfSxcbiAgICApXG5cbiAgICAvLyBwcm94aWZ5IFRhYmxlIGluc3RhbmNlIHRvIHByb3ZpZGUgYWJpbGl0eSBmb3IgY29uc3VtZXIgdG8gbGlzdGVuIHRvIGFueSB0YWJsZSBzdGF0ZSBjaGFuZ2VzXG4gICAgcmV0dXJuIHByb3hpZnlUYWJsZSh0YWJsZVNpZ25hbClcbiAgfSlcbn1cbiJdfQ==
@@ -84,4 +84,4 @@ function toComputed(signal, fn) {
84
84
  function serializeArgs(...args) {
85
85
  return JSON.stringify(args);
86
86
  }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJveHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFLaEUsTUFBTSxVQUFVLFlBQVksQ0FDMUIsV0FBNkI7SUFFN0IsTUFBTSxhQUFhLEdBQUcsV0FBNkIsQ0FBQTtJQUVuRCxPQUFPLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRTtRQUM5QixLQUFLO1lBQ0gsT0FBTyxXQUFXLEVBQUUsQ0FBQTtRQUN0QixDQUFDO1FBQ0QsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUF3QjtZQUNsQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNyQixPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUN6QixDQUFDO1lBQ0QsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBQ3BDOzs7ZUFHRztZQUNILElBQ0UsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7Z0JBQzFCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7WUFDN0IsaURBQWlEO1lBQ2pELGlGQUFpRjtZQUNqRixpRkFBaUY7WUFDakYsaUNBQWlDO2NBQ2pDLENBQUM7Z0JBQ0QsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBcUIsQ0FBQTtnQkFDbkQsSUFBSSxPQUFPLE9BQU8sS0FBSyxVQUFVLEVBQUUsQ0FBQztvQkFDbEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFO3dCQUN0QyxLQUFLLEVBQUUsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUM7d0JBQ3ZDLFlBQVksRUFBRSxJQUFJO3dCQUNsQixVQUFVLEVBQUUsSUFBSTtxQkFDakIsQ0FBQyxDQUFBO29CQUNGLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO2dCQUN6QixDQUFDO1lBQ0gsQ0FBQztZQUNELG1CQUFtQjtZQUNuQixPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO1FBQzdDLENBQUM7UUFDRCxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQW9CO1lBQ3pCLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN2QyxDQUFDO1FBQ0QsT0FBTztZQUNMLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQTtRQUNoRCxDQUFDO1FBQ0Qsd0JBQXdCO1lBQ3RCLE9BQU87Z0JBQ0wsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLFlBQVksRUFBRSxJQUFJO2FBQ25CLENBQUE7UUFDSCxDQUFDO0tBQ0YsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxTQUFTLFVBQVUsQ0FBSSxNQUF3QixFQUFFLEVBQVk7SUFDM0QsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUE7SUFDN0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ25CLEtBQUssTUFBTSxFQUFFLENBQUE7WUFDYixPQUFPLEVBQUUsRUFBRSxDQUFBO1FBQ2IsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsTUFBTSxhQUFhLEdBQW9DLEVBQUUsQ0FBQTtJQUV6RCxPQUFPLENBQUMsR0FBRyxTQUFnQixFQUFFLEVBQUU7UUFDN0IsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUE7UUFDbEQsSUFBSSxhQUFhLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDakQsT0FBTyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxDQUFBO1FBQzFDLENBQUM7UUFDRCxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ25DLEtBQUssTUFBTSxFQUFFLENBQUE7WUFDYixPQUFPLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFBO1FBQ3pCLENBQUMsQ0FBQyxDQUFBO1FBRUYsYUFBYSxDQUFDLGNBQWMsQ0FBQyxHQUFHLGNBQWMsQ0FBQTtRQUU5QyxPQUFPLGNBQWMsRUFBRSxDQUFBO0lBQ3pCLENBQUMsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxHQUFHLElBQVc7SUFDbkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgdHlwZSBTaWduYWwsIHVudHJhY2tlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyB0eXBlIFRhYmxlIH0gZnJvbSAnQHRhbnN0YWNrL3RhYmxlLWNvcmUnXG5cbnR5cGUgVGFibGVTaWduYWw8VD4gPSBUYWJsZTxUPiAmIFNpZ25hbDxUYWJsZTxUPj5cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3hpZnlUYWJsZTxUPihcbiAgdGFibGVTaWduYWw6IFNpZ25hbDxUYWJsZTxUPj5cbik6IFRhYmxlPFQ+ICYgU2lnbmFsPFRhYmxlPFQ+PiB7XG4gIGNvbnN0IGludGVybmFsU3RhdGUgPSB0YWJsZVNpZ25hbCBhcyBUYWJsZVNpZ25hbDxUPlxuXG4gIHJldHVybiBuZXcgUHJveHkoaW50ZXJuYWxTdGF0ZSwge1xuICAgIGFwcGx5KCkge1xuICAgICAgcmV0dXJuIHRhYmxlU2lnbmFsKClcbiAgICB9LFxuICAgIGdldCh0YXJnZXQsIHByb3BlcnR5OiBrZXlvZiBUYWJsZTxUPik6IGFueSB7XG4gICAgICBpZiAodGFyZ2V0W3Byb3BlcnR5XSkge1xuICAgICAgICByZXR1cm4gdGFyZ2V0W3Byb3BlcnR5XVxuICAgICAgfVxuICAgICAgY29uc3QgdGFibGUgPSB1bnRyYWNrZWQodGFibGVTaWduYWwpXG4gICAgICAvKipcbiAgICAgICAqIEF0dGVtcHQgdG8gY29udmVydCBhbGwgYWNjZXNzb3JzIGludG8gY29tcHV0ZWQgb25lcyxcbiAgICAgICAqIGV4Y2x1ZGluZyBoYW5kbGVycyBhcyB0aGV5IGRvIG5vdCByZXRhaW4gYW55IHJlYWN0aXZlIHZhbHVlXG4gICAgICAgKi9cbiAgICAgIGlmIChcbiAgICAgICAgcHJvcGVydHkuc3RhcnRzV2l0aCgnZ2V0JykgJiZcbiAgICAgICAgIXByb3BlcnR5LmVuZHNXaXRoKCdIYW5kbGVyJylcbiAgICAgICAgLy8gZS5nLiBnZXRDb3JlUm93TW9kZWwsIGdldFNlbGVjdGVkUm93TW9kZWwgZXRjLlxuICAgICAgICAvLyBXZSBuZWVkIHRoYXQgYWZ0ZXIgYSBzaWduYWwgY2hhbmdlIGV2ZW4gYHJvd01vZGVsYCBtYXkgbWFyayB0aGUgdmlldyBhcyBkaXJ0eS5cbiAgICAgICAgLy8gVGhpcyBhbGxvd3MgdG8gYWx3YXlzIGdldCB0aGUgbGF0ZXN0IGBnZXRDb250ZXh0YCB2YWx1ZSB3aGlsZSB1c2luZyBmbGV4UmVuZGVyXG4gICAgICAgIC8vICYmICFwcm9wZXJ0eS5lbmRzV2l0aCgnTW9kZWwnKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IG1heWJlRm4gPSB0YWJsZVtwcm9wZXJ0eV0gYXMgRnVuY3Rpb24gfCBuZXZlclxuICAgICAgICBpZiAodHlwZW9mIG1heWJlRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwcm9wZXJ0eSwge1xuICAgICAgICAgICAgdmFsdWU6IHRvQ29tcHV0ZWQodGFibGVTaWduYWwsIG1heWJlRm4pLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICB9KVxuICAgICAgICAgIHJldHVybiB0YXJnZXRbcHJvcGVydHldXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgIHJldHVybiAodGFyZ2V0W3Byb3BlcnR5XSA9IHRhYmxlW3Byb3BlcnR5XSlcbiAgICB9LFxuICAgIGhhcyhfLCBwcm9wOiBrZXlvZiBUYWJsZTxUPikge1xuICAgICAgcmV0dXJuICEhdW50cmFja2VkKHRhYmxlU2lnbmFsKVtwcm9wXVxuICAgIH0sXG4gICAgb3duS2V5cygpIHtcbiAgICAgIHJldHVybiBSZWZsZWN0Lm93bktleXModW50cmFja2VkKHRhYmxlU2lnbmFsKSlcbiAgICB9LFxuICAgIGdldE93blByb3BlcnR5RGVzY3JpcHRvcigpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIH1cbiAgICB9LFxuICB9KVxufVxuXG4vKipcbiAqIEhlcmUgd2UnbGwgaGFuZGxlIGFsbCB0eXBlIG9mIGFjY2Vzc29yczpcbiAqIC0gMCBhcmd1bWVudCAtPiBlLmcuIHRhYmxlLmdldENhbk5leHRQYWdlKCkpXG4gKiAtIDB+MSBhcmd1bWVudHMgLT4gZS5nLiB0YWJsZS5nZXRJc1NvbWVSb3dzUGlubmVkKHBvc2l0aW9uPylcbiAqIC0gMSByZXF1aXJlZCBhcmd1bWVudCAtPiBlLmcuIHRhYmxlLmdldENvbHVtbihjb2x1bW5JZClcbiAqIC0gMSsgYXJndW1lbnQgLT4gZS5nLiB0YWJsZS5nZXRSb3coaWQsIHNlYXJjaEFsbD8pXG4gKlxuICogU2luY2Ugd2UgYXJlIG5vdCBhYmxlIHRvIGRldGVjdCBhdXRvbWF0aWNhbGx5IHRoZSBhY2Nlc3NvcnMgcGFyYW1ldGVycyxcbiAqIHdlJ2xsIHdyYXAgYWxsIGFjY2Vzc29ycyBpbnRvIGEgY2FjaGVkIGZ1bmN0aW9uIHdyYXBwaW5nIGEgY29tcHV0ZWRcbiAqIHRoYXQgcmV0dXJuIGl0J3MgdmFsdWUgYmFzZWQgb24gdGhlIGdpdmVuIHBhcmFtZXRlcnNcbiAqL1xuZnVuY3Rpb24gdG9Db21wdXRlZDxUPihzaWduYWw6IFNpZ25hbDxUYWJsZTxUPj4sIGZuOiBGdW5jdGlvbikge1xuICBjb25zdCBoYXNBcmdzID0gZm4ubGVuZ3RoID4gMFxuICBpZiAoIWhhc0FyZ3MpIHtcbiAgICByZXR1cm4gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgdm9pZCBzaWduYWwoKVxuICAgICAgcmV0dXJuIGZuKClcbiAgICB9KVxuICB9XG5cbiAgY29uc3QgY29tcHV0ZWRDYWNoZTogUmVjb3JkPHN0cmluZywgU2lnbmFsPHVua25vd24+PiA9IHt9XG5cbiAgcmV0dXJuICguLi5hcmdzQXJyYXk6IGFueVtdKSA9PiB7XG4gICAgY29uc3Qgc2VyaWFsaXplZEFyZ3MgPSBzZXJpYWxpemVBcmdzKC4uLmFyZ3NBcnJheSlcbiAgICBpZiAoY29tcHV0ZWRDYWNoZS5oYXNPd25Qcm9wZXJ0eShzZXJpYWxpemVkQXJncykpIHtcbiAgICAgIHJldHVybiBjb21wdXRlZENhY2hlW3NlcmlhbGl6ZWRBcmdzXT8uKClcbiAgICB9XG4gICAgY29uc3QgY29tcHV0ZWRTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICB2b2lkIHNpZ25hbCgpXG4gICAgICByZXR1cm4gZm4oLi4uYXJnc0FycmF5KVxuICAgIH0pXG5cbiAgICBjb21wdXRlZENhY2hlW3NlcmlhbGl6ZWRBcmdzXSA9IGNvbXB1dGVkU2lnbmFsXG5cbiAgICByZXR1cm4gY29tcHV0ZWRTaWduYWwoKVxuICB9XG59XG5cbmZ1bmN0aW9uIHNlcmlhbGl6ZUFyZ3MoLi4uYXJnczogYW55W10pIHtcbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGFyZ3MpXG59XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJveHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFLaEUsTUFBTSxVQUFVLFlBQVksQ0FDMUIsV0FBNkI7SUFFN0IsTUFBTSxhQUFhLEdBQUcsV0FBNkIsQ0FBQTtJQUVuRCxPQUFPLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRTtRQUM5QixLQUFLO1lBQ0gsT0FBTyxXQUFXLEVBQUUsQ0FBQTtRQUN0QixDQUFDO1FBQ0QsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUF3QjtZQUNsQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNyQixPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUN6QixDQUFDO1lBQ0QsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBQ3BDOzs7ZUFHRztZQUNILElBQ0UsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7Z0JBQzFCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7WUFDN0IsaURBQWlEO1lBQ2pELGlGQUFpRjtZQUNqRixpRkFBaUY7WUFDakYsaUNBQWlDO2NBQ2pDLENBQUM7Z0JBQ0QsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBcUIsQ0FBQTtnQkFDbkQsSUFBSSxPQUFPLE9BQU8sS0FBSyxVQUFVLEVBQUUsQ0FBQztvQkFDbEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFO3dCQUN0QyxLQUFLLEVBQUUsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUM7d0JBQ3ZDLFlBQVksRUFBRSxJQUFJO3dCQUNsQixVQUFVLEVBQUUsSUFBSTtxQkFDakIsQ0FBQyxDQUFBO29CQUNGLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO2dCQUN6QixDQUFDO1lBQ0gsQ0FBQztZQUNELG1CQUFtQjtZQUNuQixPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO1FBQzdDLENBQUM7UUFDRCxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQW9CO1lBQ3pCLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN2QyxDQUFDO1FBQ0QsT0FBTztZQUNMLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQTtRQUNoRCxDQUFDO1FBQ0Qsd0JBQXdCO1lBQ3RCLE9BQU87Z0JBQ0wsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLFlBQVksRUFBRSxJQUFJO2FBQ25CLENBQUE7UUFDSCxDQUFDO0tBQ0YsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxTQUFTLFVBQVUsQ0FBSSxNQUF3QixFQUFFLEVBQVk7SUFDM0QsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUE7SUFDN0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ25CLEtBQUssTUFBTSxFQUFFLENBQUE7WUFDYixPQUFPLEVBQUUsRUFBRSxDQUFBO1FBQ2IsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsTUFBTSxhQUFhLEdBQW9DLEVBQUUsQ0FBQTtJQUV6RCxPQUFPLENBQUMsR0FBRyxTQUFnQixFQUFFLEVBQUU7UUFDN0IsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUE7UUFDbEQsSUFBSSxhQUFhLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDakQsT0FBTyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxDQUFBO1FBQzFDLENBQUM7UUFDRCxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ25DLEtBQUssTUFBTSxFQUFFLENBQUE7WUFDYixPQUFPLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFBO1FBQ3pCLENBQUMsQ0FBQyxDQUFBO1FBRUYsYUFBYSxDQUFDLGNBQWMsQ0FBQyxHQUFHLGNBQWMsQ0FBQTtRQUU5QyxPQUFPLGNBQWMsRUFBRSxDQUFBO0lBQ3pCLENBQUMsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxHQUFHLElBQVc7SUFDbkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgdHlwZSBTaWduYWwsIHVudHJhY2tlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyB0eXBlIFRhYmxlIH0gZnJvbSAnQHRhbnN0YWNrL3RhYmxlLWNvcmUnXG5cbnR5cGUgVGFibGVTaWduYWw8VD4gPSBUYWJsZTxUPiAmIFNpZ25hbDxUYWJsZTxUPj5cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3hpZnlUYWJsZTxUPihcbiAgdGFibGVTaWduYWw6IFNpZ25hbDxUYWJsZTxUPj4sXG4pOiBUYWJsZTxUPiAmIFNpZ25hbDxUYWJsZTxUPj4ge1xuICBjb25zdCBpbnRlcm5hbFN0YXRlID0gdGFibGVTaWduYWwgYXMgVGFibGVTaWduYWw8VD5cblxuICByZXR1cm4gbmV3IFByb3h5KGludGVybmFsU3RhdGUsIHtcbiAgICBhcHBseSgpIHtcbiAgICAgIHJldHVybiB0YWJsZVNpZ25hbCgpXG4gICAgfSxcbiAgICBnZXQodGFyZ2V0LCBwcm9wZXJ0eToga2V5b2YgVGFibGU8VD4pOiBhbnkge1xuICAgICAgaWYgKHRhcmdldFtwcm9wZXJ0eV0pIHtcbiAgICAgICAgcmV0dXJuIHRhcmdldFtwcm9wZXJ0eV1cbiAgICAgIH1cbiAgICAgIGNvbnN0IHRhYmxlID0gdW50cmFja2VkKHRhYmxlU2lnbmFsKVxuICAgICAgLyoqXG4gICAgICAgKiBBdHRlbXB0IHRvIGNvbnZlcnQgYWxsIGFjY2Vzc29ycyBpbnRvIGNvbXB1dGVkIG9uZXMsXG4gICAgICAgKiBleGNsdWRpbmcgaGFuZGxlcnMgYXMgdGhleSBkbyBub3QgcmV0YWluIGFueSByZWFjdGl2ZSB2YWx1ZVxuICAgICAgICovXG4gICAgICBpZiAoXG4gICAgICAgIHByb3BlcnR5LnN0YXJ0c1dpdGgoJ2dldCcpICYmXG4gICAgICAgICFwcm9wZXJ0eS5lbmRzV2l0aCgnSGFuZGxlcicpXG4gICAgICAgIC8vIGUuZy4gZ2V0Q29yZVJvd01vZGVsLCBnZXRTZWxlY3RlZFJvd01vZGVsIGV0Yy5cbiAgICAgICAgLy8gV2UgbmVlZCB0aGF0IGFmdGVyIGEgc2lnbmFsIGNoYW5nZSBldmVuIGByb3dNb2RlbGAgbWF5IG1hcmsgdGhlIHZpZXcgYXMgZGlydHkuXG4gICAgICAgIC8vIFRoaXMgYWxsb3dzIHRvIGFsd2F5cyBnZXQgdGhlIGxhdGVzdCBgZ2V0Q29udGV4dGAgdmFsdWUgd2hpbGUgdXNpbmcgZmxleFJlbmRlclxuICAgICAgICAvLyAmJiAhcHJvcGVydHkuZW5kc1dpdGgoJ01vZGVsJylcbiAgICAgICkge1xuICAgICAgICBjb25zdCBtYXliZUZuID0gdGFibGVbcHJvcGVydHldIGFzIEZ1bmN0aW9uIHwgbmV2ZXJcbiAgICAgICAgaWYgKHR5cGVvZiBtYXliZUZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHksIHtcbiAgICAgICAgICAgIHZhbHVlOiB0b0NvbXB1dGVkKHRhYmxlU2lnbmFsLCBtYXliZUZuKSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgICByZXR1cm4gdGFyZ2V0W3Byb3BlcnR5XVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICByZXR1cm4gKHRhcmdldFtwcm9wZXJ0eV0gPSB0YWJsZVtwcm9wZXJ0eV0pXG4gICAgfSxcbiAgICBoYXMoXywgcHJvcDoga2V5b2YgVGFibGU8VD4pIHtcbiAgICAgIHJldHVybiAhIXVudHJhY2tlZCh0YWJsZVNpZ25hbClbcHJvcF1cbiAgICB9LFxuICAgIG93bktleXMoKSB7XG4gICAgICByZXR1cm4gUmVmbGVjdC5vd25LZXlzKHVudHJhY2tlZCh0YWJsZVNpZ25hbCkpXG4gICAgfSxcbiAgICBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB9XG4gICAgfSxcbiAgfSlcbn1cblxuLyoqXG4gKiBIZXJlIHdlJ2xsIGhhbmRsZSBhbGwgdHlwZSBvZiBhY2Nlc3NvcnM6XG4gKiAtIDAgYXJndW1lbnQgLT4gZS5nLiB0YWJsZS5nZXRDYW5OZXh0UGFnZSgpKVxuICogLSAwfjEgYXJndW1lbnRzIC0+IGUuZy4gdGFibGUuZ2V0SXNTb21lUm93c1Bpbm5lZChwb3NpdGlvbj8pXG4gKiAtIDEgcmVxdWlyZWQgYXJndW1lbnQgLT4gZS5nLiB0YWJsZS5nZXRDb2x1bW4oY29sdW1uSWQpXG4gKiAtIDErIGFyZ3VtZW50IC0+IGUuZy4gdGFibGUuZ2V0Um93KGlkLCBzZWFyY2hBbGw/KVxuICpcbiAqIFNpbmNlIHdlIGFyZSBub3QgYWJsZSB0byBkZXRlY3QgYXV0b21hdGljYWxseSB0aGUgYWNjZXNzb3JzIHBhcmFtZXRlcnMsXG4gKiB3ZSdsbCB3cmFwIGFsbCBhY2Nlc3NvcnMgaW50byBhIGNhY2hlZCBmdW5jdGlvbiB3cmFwcGluZyBhIGNvbXB1dGVkXG4gKiB0aGF0IHJldHVybiBpdCdzIHZhbHVlIGJhc2VkIG9uIHRoZSBnaXZlbiBwYXJhbWV0ZXJzXG4gKi9cbmZ1bmN0aW9uIHRvQ29tcHV0ZWQ8VD4oc2lnbmFsOiBTaWduYWw8VGFibGU8VD4+LCBmbjogRnVuY3Rpb24pIHtcbiAgY29uc3QgaGFzQXJncyA9IGZuLmxlbmd0aCA+IDBcbiAgaWYgKCFoYXNBcmdzKSB7XG4gICAgcmV0dXJuIGNvbXB1dGVkKCgpID0+IHtcbiAgICAgIHZvaWQgc2lnbmFsKClcbiAgICAgIHJldHVybiBmbigpXG4gICAgfSlcbiAgfVxuXG4gIGNvbnN0IGNvbXB1dGVkQ2FjaGU6IFJlY29yZDxzdHJpbmcsIFNpZ25hbDx1bmtub3duPj4gPSB7fVxuXG4gIHJldHVybiAoLi4uYXJnc0FycmF5OiBhbnlbXSkgPT4ge1xuICAgIGNvbnN0IHNlcmlhbGl6ZWRBcmdzID0gc2VyaWFsaXplQXJncyguLi5hcmdzQXJyYXkpXG4gICAgaWYgKGNvbXB1dGVkQ2FjaGUuaGFzT3duUHJvcGVydHkoc2VyaWFsaXplZEFyZ3MpKSB7XG4gICAgICByZXR1cm4gY29tcHV0ZWRDYWNoZVtzZXJpYWxpemVkQXJnc10/LigpXG4gICAgfVxuICAgIGNvbnN0IGNvbXB1dGVkU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgdm9pZCBzaWduYWwoKVxuICAgICAgcmV0dXJuIGZuKC4uLmFyZ3NBcnJheSlcbiAgICB9KVxuXG4gICAgY29tcHV0ZWRDYWNoZVtzZXJpYWxpemVkQXJnc10gPSBjb21wdXRlZFNpZ25hbFxuXG4gICAgcmV0dXJuIGNvbXB1dGVkU2lnbmFsKClcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXJpYWxpemVBcmdzKC4uLmFyZ3M6IGFueVtdKSB7XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShhcmdzKVxufVxuIl19
@@ -294,15 +294,15 @@ class FlexRenderComponentRef {
294
294
  return;
295
295
  const { inputDiff, outputDiff } = this.diff(content);
296
296
  if (inputDiff) {
297
- inputDiff.forEachAddedItem(item => this.setInput(item.key, item.currentValue));
298
- inputDiff.forEachChangedItem(item => this.setInput(item.key, item.currentValue));
299
- inputDiff.forEachRemovedItem(item => this.setInput(item.key, undefined));
297
+ inputDiff.forEachAddedItem((item) => this.setInput(item.key, item.currentValue));
298
+ inputDiff.forEachChangedItem((item) => this.setInput(item.key, item.currentValue));
299
+ inputDiff.forEachRemovedItem((item) => this.setInput(item.key, undefined));
300
300
  }
301
301
  if (outputDiff) {
302
- outputDiff.forEachAddedItem(item => {
302
+ outputDiff.forEachAddedItem((item) => {
303
303
  this.setOutput(item.key, item.currentValue);
304
304
  });
305
- outputDiff.forEachChangedItem(item => {
305
+ outputDiff.forEachChangedItem((item) => {
306
306
  if (item.currentValue) {
307
307
  this.#outputRegistry.setListener(item.key, item.currentValue);
308
308
  }
@@ -310,7 +310,7 @@ class FlexRenderComponentRef {
310
310
  this.#outputRegistry.unsubscribe(item.key);
311
311
  }
312
312
  });
313
- outputDiff.forEachRemovedItem(item => {
313
+ outputDiff.forEachRemovedItem((item) => {
314
314
  this.#outputRegistry.unsubscribe(item.key);
315
315
  });
316
316
  }
@@ -350,7 +350,7 @@ class FlexRenderComponentRef {
350
350
  const instance = this.componentRef.instance;
351
351
  const output = instance[outputName];
352
352
  if (output && output instanceof OutputEmitterRef) {
353
- output.subscribe(value => {
353
+ output.subscribe((value) => {
354
354
  this.#outputRegistry.getListener(outputName)?.(value);
355
355
  });
356
356
  }
@@ -449,6 +449,14 @@ class FlexRenderTemplateView extends FlexRenderView {
449
449
  onDestroy(callback) {
450
450
  this.view.onDestroy(callback);
451
451
  }
452
+ eq(compare) {
453
+ return ((this.content.kind === 'primitive' &&
454
+ compare.kind === 'primitive' &&
455
+ this.content.content === compare.content) ||
456
+ (this.content.kind === 'templateRef' &&
457
+ compare.kind === 'templateRef' &&
458
+ this.content.content === compare.content));
459
+ }
452
460
  }
453
461
  class FlexRenderComponentView extends FlexRenderView {
454
462
  constructor(initialContent, view) {
@@ -490,6 +498,14 @@ class FlexRenderComponentView extends FlexRenderView {
490
498
  onDestroy(callback) {
491
499
  this.view.componentRef.onDestroy(callback);
492
500
  }
501
+ eq(compare) {
502
+ return ((this.content.kind === 'component' &&
503
+ compare.kind === 'component' &&
504
+ this.content.content === compare.content) ||
505
+ (this.content.kind === 'flexRenderComponent' &&
506
+ compare.kind === 'flexRenderComponent' &&
507
+ this.content.content.component === compare.content.component));
508
+ }
493
509
  }
494
510
 
495
511
  class FlexRenderDirective {
@@ -508,7 +524,7 @@ class FlexRenderDirective {
508
524
  ? content
509
525
  : runInInjectionContext(this.injector, () => content(props));
510
526
  };
511
- #getContentValue = memo(() => [this.#latestContent(), this.props, this.content], latestContent => {
527
+ #getContentValue = memo(() => [this.#latestContent(), this.props, this.content], (latestContent) => {
512
528
  return mapToFlexRenderTypedContent(latestContent);
513
529
  }, { key: 'flexRenderContentValue', debug: () => false });
514
530
  constructor(viewContainerRef, templateRef) {
@@ -538,11 +554,12 @@ class FlexRenderDirective {
538
554
  this.renderFlags |= FlexRenderFlags.ContentChanged;
539
555
  }
540
556
  else {
541
- this.renderView.content = latestContent;
542
- const { kind: previousKind } = this.renderView.previousContent;
543
- if (latestContent.kind !== previousKind) {
557
+ const { kind: currentKind } = this.renderView.content;
558
+ if (latestContent.kind !== currentKind ||
559
+ !this.renderView.eq(latestContent)) {
544
560
  this.renderFlags |= FlexRenderFlags.ContentChanged;
545
561
  }
562
+ this.renderView.content = latestContent;
546
563
  }
547
564
  this.update();
548
565
  }
@@ -714,7 +731,7 @@ function createAngularTable(options) {
714
731
  ...resolvedOptions,
715
732
  ...tableOptions,
716
733
  state: { ...tableState, ...tableOptions.state },
717
- onStateChange: updater => {
734
+ onStateChange: (updater) => {
718
735
  const value = updater instanceof Function ? updater(tableState) : updater;
719
736
  state.set(value);
720
737
  resolvedOptions.onStateChange?.(updater);