@firestitch/filter 9.9.0 → 9.9.1

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.
@@ -5,7 +5,7 @@ import { ItemType } from '../../enums/item-type.enum';
5
5
  export class BaseItem {
6
6
  constructor(itemConfig, _additionalConfig) {
7
7
  this._additionalConfig = _additionalConfig;
8
- this._initialized = false;
8
+ // protected _initialized = false;
9
9
  this._pendingValues = false;
10
10
  this._pendingDefaultValue = false;
11
11
  this._loading$ = new BehaviorSubject(false);
@@ -104,6 +104,9 @@ export class BaseItem {
104
104
  set loading(value) {
105
105
  this._loading$.next(value);
106
106
  }
107
+ get _initialized() {
108
+ return !this._pendingDefaultValue && !this._pendingValues;
109
+ }
107
110
  valueChanged() {
108
111
  this._value$.next(this.value);
109
112
  if (this.change) {
@@ -132,12 +135,13 @@ export class BaseItem {
132
135
  return this.defaultValueFn()
133
136
  .pipe(tap((value) => {
134
137
  this.defaultValue = value;
138
+ this._initDefaultModel();
135
139
  }), finalize(() => {
136
140
  this._pendingDefaultValue = false;
137
141
  }));
138
142
  }
139
143
  initValues(persistedValue) {
140
- this._initialized = false;
144
+ // this._initialized = false;
141
145
  this.persistedValue = persistedValue;
142
146
  this._initDefaultModel();
143
147
  const isAutocomplete = this.type === ItemType.AutoComplete || this.type === ItemType.AutoCompleteChips;
@@ -150,12 +154,12 @@ export class BaseItem {
150
154
  this.values = valuesResult;
151
155
  // Move to some other place
152
156
  this._init();
153
- this._initialized = true;
157
+ // this._initialized = true;
154
158
  }
155
159
  }
156
160
  else {
157
161
  this._init();
158
- this._initialized = true;
162
+ // this._initialized = true;
159
163
  }
160
164
  }
161
165
  loadAsyncValues(reload = true) {
@@ -169,7 +173,7 @@ export class BaseItem {
169
173
  this.loading = false;
170
174
  this._init();
171
175
  this._validateModel();
172
- this._initialized = true;
176
+ // this._initialized = true;
173
177
  });
174
178
  }
175
179
  }
@@ -230,4 +234,4 @@ export class BaseItem {
230
234
  this.model = defaultValue !== null && defaultValue !== void 0 ? defaultValue : null;
231
235
  }
232
236
  }
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1pdGVtLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvZmlsdGVyLyIsInNvdXJjZXMiOlsiYXBwL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUUsT0FBTyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQU10RCxNQUFNLE9BQWdCLFFBQVE7SUFvQzVCLFlBQ0UsVUFBYSxFQUNILGlCQUEwQjtRQUExQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQVM7UUFmNUIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3BDLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUdyQyxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVsQyxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQU12QyxJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBSUQsR0FBRztJQUNILElBQVcsa0JBQWtCO1FBQzNC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QUFHLElBQUksQ0FBQyxjQUFjLG1DQUFJLElBQUksQ0FBQyxZQUFZLENBQUM7UUFFdkQsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVTLFdBQVcsQ0FBQyxlQUF3QixTQUFTO1FBQ3JELElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxhQUFaLFlBQVksY0FBWixZQUFZLEdBQUksSUFBSSxDQUFDO0lBQ3BDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGlzT2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgZmluYWxpemUsXG4gIHRha2UsXG4gIHRha2VVbnRpbCxcbiAgdGFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvaXRlbS10eXBlLmVudW0nO1xuXG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnQmFzZUl0ZW0sIElGaWx0ZXJEZWZhdWx0Rm4gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2l0ZW1zL2Jhc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJJdGVtRGVmYXVsdFJhbmdlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pdGVtcy9yYW5nZS5pbnRlcmZhY2UnO1xuXG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlSXRlbTxUIGV4dGVuZHMgSUZpbHRlckNvbmZpZ0Jhc2VJdGVtPiB7XG5cbiAgLy8gQ29uZmlndXJhYmxlIHByb3BlcnRpZXNcblxuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgbGFiZWw6IHN0cmluZyB8IHN0cmluZ1tdO1xuICBwdWJsaWMgY2hpcExhYmVsOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgcHVibGljIGhpZGU6IGJvb2xlYW47XG4gIHB1YmxpYyBkZWZhdWx0VmFsdWU6IGFueSB8IElGaWx0ZXJJdGVtRGVmYXVsdFJhbmdlO1xuICBwdWJsaWMgZGVmYXVsdFZhbHVlRm46IElGaWx0ZXJEZWZhdWx0Rm47XG4gIHB1YmxpYyBwZXJzaXN0ZWRWYWx1ZTogdW5rbm93bjtcbiAgcHVibGljIGNsZWFyQWxsb3dlZDogYm9vbGVhbjtcblxuICBwdWJsaWMgcGVyc2lzdGFuY2VEaXNhYmxlZDogYm9vbGVhbjtcbiAgcHVibGljIHF1ZXJ5UGFyYW1zRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgLy8gSW50ZXJuYWwgcHJvcGVydGllc1xuXG4gIHB1YmxpYyBjaGFuZ2U6IChpdGVtOiBCYXNlSXRlbTxUPikgPT4gdm9pZDtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3R5cGU6IFRbJ3R5cGUnXTtcblxuICBwcm90ZWN0ZWQgX21vZGVsOiBhbnk7XG4gIHByb3RlY3RlZCBfaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIF9wZW5kaW5nVmFsdWVzID0gZmFsc2U7XG4gIHByb3RlY3RlZCBfcGVuZGluZ0RlZmF1bHRWYWx1ZSA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgX2xvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByb3RlY3RlZCBfdmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgcHJvdGVjdGVkIF92YWx1ZUNoYW5nZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcm90ZWN0ZWQgX3ZhbHVlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICBwcm90ZWN0ZWQgX3ZhbHVlc0ZuOiAocXVlcnk/OiBzdHJpbmcpID0+IE9ic2VydmFibGU8dW5rbm93bj4gfCB1bmtub3duO1xuXG4gIHByb3RlY3RlZCBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgX2NsZWFyJCA9IG5ldyBTdWJqZWN0PHVua25vd24+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgaXRlbUNvbmZpZzogVCxcbiAgICBwcm90ZWN0ZWQgX2FkZGl0aW9uYWxDb25maWc6IHVua25vd25cbiAgKSB7XG4gICAgdGhpcy5fdHlwZSA9IGl0ZW1Db25maWcudHlwZTtcbiAgICB0aGlzLl9wYXJzZUNvbmZpZyhpdGVtQ29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXQgdmFsdWUoKTtcblxuICAvLy9cbiAgcHVibGljIGdldCBpc1R5cGVBdXRvY29tcGxldGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuQXV0b0NvbXBsZXRlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVBdXRvY29tcGxldGVDaGlwcygpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5BdXRvQ29tcGxldGVDaGlwcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlQ2hpcHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuQ2hpcHM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVHlwZUNoZWNrYm94KCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkNoZWNrYm94O1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVTZWxlY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuU2VsZWN0O1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVEYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkRhdGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVHlwZURhdGVSYW5nZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5EYXRlUmFuZ2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVHlwZVJhbmdlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLlJhbmdlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVEYXRlVGltZVJhbmdlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkRhdGVUaW1lUmFuZ2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVHlwZURhdGVUaW1lKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkRhdGVUaW1lO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVLZXl3b3JkKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLktleXdvcmQ7XG4gIH1cbiAgLy8vL1xuXG4gIHB1YmxpYyBnZXQgaXNDaGlwVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLm1vZGVsO1xuICB9XG5cbiAgcHVibGljIGdldCBkZXN0cm95JCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGVzdHJveSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHR5cGUoKTogVFsndHlwZSddIHtcbiAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzUGVuZGluZ1ZhbHVlcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcGVuZGluZ1ZhbHVlcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzUGVuZGluZ0RlZmF1bHRWYWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcGVuZGluZ0RlZmF1bHRWYWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbW9kZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21vZGVsO1xuICB9XG5cbiAgcHVibGljIHNldCBtb2RlbCh2YWx1ZSkge1xuICAgIHRoaXMuX3NldE1vZGVsKHZhbHVlKTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlZCgpO1xuICB9XG5cbiAgcHVibGljIHNldCB2YWx1ZXModmFsdWVzKSB7XG4gICAgdGhpcy5fdmFsdWVzJC5uZXh0KHZhbHVlcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlcygpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVzJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZXMkKCk6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgIHJldHVybiAgdGhpcy5fdmFsdWVzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWVDaGFuZ2UkKCkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZUNoYW5nZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjbGVhciQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NsZWFyJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW5pdGlhbGl6ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2luaXRpYWxpemVkO1xuICB9XG5cbiAgcHVibGljIGdldCBsb2FkaW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fbG9hZGluZyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2xvYWRpbmckLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IGxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9sb2FkaW5nJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyB2YWx1ZUNoYW5nZWQoKSB7XG4gICAgdGhpcy5fdmFsdWUkLm5leHQodGhpcy52YWx1ZSk7XG5cbiAgICBpZiAodGhpcy5jaGFuZ2UpIHtcbiAgICAgIHRoaXMuY2hhbmdlKHRoaXMpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLl92YWx1ZUNoYW5nZSQubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlPYmplY3QoKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5uYW1lO1xuICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICBwYXJhbXNbdGhpcy5uYW1lXSA9IHZhbHVlLmpvaW4oJywnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyYW1zW25hbWVdID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGVyc2lzdGFuY2VPYmplY3QoKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5T2JqZWN0O1xuICB9XG5cbiAgcHVibGljIGxvYWREZWZhdWx0VmFsdWUoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0VmFsdWVGbigpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIHRoaXMuZGVmYXVsdFZhbHVlID0gdmFsdWU7XG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fcGVuZGluZ0RlZmF1bHRWYWx1ZSA9IGZhbHNlO1xuICAgICAgICB9KVxuICAgICAgKVxuICB9XG5cbiAgcHVibGljIGluaXRWYWx1ZXMocGVyc2lzdGVkVmFsdWU6IHVua25vd24pIHtcbiAgICB0aGlzLl9pbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHRoaXMucGVyc2lzdGVkVmFsdWUgPSBwZXJzaXN0ZWRWYWx1ZTtcbiAgICB0aGlzLl9pbml0RGVmYXVsdE1vZGVsKCk7XG5cbiAgICBjb25zdCBpc0F1dG9jb21wbGV0ZSA9IHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuQXV0b0NvbXBsZXRlIHx8IHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuQXV0b0NvbXBsZXRlQ2hpcHM7XG5cbiAgICBpZiAodGhpcy5fdmFsdWVzRm4gJiYgIWlzQXV0b2NvbXBsZXRlKSB7XG4gICAgICBjb25zdCB2YWx1ZXNSZXN1bHQgPSB0aGlzLl92YWx1ZXNGbigpO1xuXG4gICAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlc1Jlc3VsdCkpIHtcbiAgICAgICAgdGhpcy5fcGVuZGluZ1ZhbHVlcyA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnZhbHVlcyA9IHZhbHVlc1Jlc3VsdDtcblxuICAgICAgICAvLyBNb3ZlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiAgICAgICAgdGhpcy5faW5pdCgpO1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5faW5pdCgpO1xuICAgICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBsb2FkQXN5bmNWYWx1ZXMocmVsb2FkID0gdHJ1ZSkge1xuICAgIGlmIChyZWxvYWQgfHwgKCF0aGlzLmxvYWRpbmcgJiYgdGhpcy5oYXNQZW5kaW5nVmFsdWVzKSkge1xuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgKHRoaXMuX3ZhbHVlc0ZuKCkgYXMgT2JzZXJ2YWJsZTx1bmtub3duPilcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgodmFsdWVzKSA9PiB7XG4gICAgICAgICAgdGhpcy52YWx1ZXMgPSB2YWx1ZXM7XG4gICAgICAgICAgdGhpcy5fcGVuZGluZ1ZhbHVlcyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuX2luaXQoKTtcbiAgICAgICAgICB0aGlzLl92YWxpZGF0ZU1vZGVsKCk7XG4gICAgICAgICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICB9KTtcblxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbGVhcihkZWZhdWx0VmFsdWU6IHVua25vd24gPSB1bmRlZmluZWQpIHtcbiAgICBpZiAodGhpcy5pc1R5cGVSYW5nZSB8fCB0aGlzLmlzVHlwZURhdGVSYW5nZSB8fCB0aGlzLmlzVHlwZURhdGVUaW1lUmFuZ2UpIHtcbiAgICAgIGNvbnNvbGUud2FybihgXG4gICAgICAgIEZpbHRlciAke3RoaXMubmFtZX0gY2FuIG5vdCBiZSBjbGVhcmVkIHdpdGggLmNsZWFyKCkgbWV0aG9kIVxuICAgICAgICBVc2Ugc3BlY2lhbCAuY2xlYXJSYW5nZSgpIG9yIGNsZWFyRGF0ZVJhbmdlKCkgaW5zdGVhZC5cbiAgICAgIGApXG4gICAgfVxuXG4gICAgdGhpcy5fY2xlYXIkLm5leHQoZGVmYXVsdFZhbHVlKTtcbiAgICB0aGlzLl9jbGVhclZhbHVlKGRlZmF1bHRWYWx1ZSk7XG4gIH07XG5cbiAgcHVibGljIGdldENoaXBzQ29udGVudCh0eXBlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuXG4gIHB1YmxpYyBkZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IF9pbml0KCk7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBfdmFsaWRhdGVNb2RlbCgpO1xuXG4gIHByb3RlY3RlZCBfc2V0TW9kZWwodmFsdWUpIHtcbiAgICB0aGlzLl9tb2RlbCA9IHZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9wYXJzZUNvbmZpZyhpdGVtOiBUKSB7XG4gICAgdGhpcy5uYW1lID0gaXRlbS5uYW1lO1xuICAgIHRoaXMubGFiZWwgPSBpdGVtLmxhYmVsO1xuICAgIHRoaXMuY2hpcExhYmVsID0gaXRlbS5jaGlwTGFiZWw7XG5cbiAgICBpZiAodHlwZW9mIGl0ZW0uZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhpcy5fcGVuZGluZ0RlZmF1bHRWYWx1ZSA9IHRydWU7XG4gICAgICB0aGlzLmRlZmF1bHRWYWx1ZUZuID0gaXRlbS5kZWZhdWx0O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IGl0ZW0uZGVmYXVsdDtcbiAgICB9XG5cbiAgICB0aGlzLmNoYW5nZSA9IGl0ZW0uY2hhbmdlO1xuICAgIHRoaXMuaGlkZSA9IGl0ZW0uaGlkZTtcbiAgICB0aGlzLmNsZWFyQWxsb3dlZCA9IGl0ZW0uY2xlYXIgPz8gdHJ1ZTtcbiAgICB0aGlzLnBlcnNpc3RhbmNlRGlzYWJsZWQgPSBpdGVtLmRpc2FibGVQZXJzaXN0ID8/IGZhbHNlO1xuICAgIHRoaXMucXVlcnlQYXJhbXNEaXNhYmxlZCA9IGl0ZW0uZGlzYWJsZVF1ZXJ5UGFyYW1zID8/IGZhbHNlO1xuXG4gICAgaWYgKGlzRnVuY3Rpb24oaXRlbS52YWx1ZXMpKSB7XG4gICAgICB0aGlzLl92YWx1ZXNGbiA9IGl0ZW0udmFsdWVzO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlcyA9IGl0ZW0udmFsdWVzO1xuICAgIH1cbiAgfTtcblxuICBwcm90ZWN0ZWQgX2luaXREZWZhdWx0TW9kZWwoKSB7XG4gICAgY29uc3QgbW9kZWwgPSB0aGlzLnBlcnNpc3RlZFZhbHVlID8/IHRoaXMuZGVmYXVsdFZhbHVlO1xuXG4gICAgaWYgKG1vZGVsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubW9kZWwgPSBtb2RlbDtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX2NsZWFyVmFsdWUoZGVmYXVsdFZhbHVlOiB1bmtub3duID0gdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5tb2RlbCA9IGRlZmF1bHRWYWx1ZSA/PyBudWxsO1xuICB9XG59XG4iXX0=
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1pdGVtLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvZmlsdGVyLyIsInNvdXJjZXMiOlsiYXBwL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUUsT0FBTyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQU10RCxNQUFNLE9BQWdCLFFBQVE7SUFvQzVCLFlBQ0UsVUFBYSxFQUNILGlCQUEwQjtRQUExQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQVM7UUFmdEMsa0NBQWtDO1FBQ3hCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUM3QixjQUFTLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNwQyxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFHckMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFbEMsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFNdkMsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUlELEdBQUc7SUFDSCxJQUFXLGtCQUFrQjtRQUMzQixPQUFPLElBQUksQ0FB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QUN6QixNQUFNLEtBQUssU0FBRyxJQUFJLENBQUMsY0FBYyxtQ0FBSSxJQUFJLENBQUMsWUFBWSxDQUFDO1FBRXZELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFUyxXQUFXLENBQUMsZUFBd0IsU0FBUztRQUNyRCxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksYUFBWixZQUFZLGNBQVosWUFBWSxHQUFJLElBQUksQ0FBQztJQUNwQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBpc09ic2VydmFibGUsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGZpbmFsaXplLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBJdGVtVHlwZSB9IGZyb20gJy4uLy4uL2VudW1zL2l0ZW0tdHlwZS5lbnVtJztcblxuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0Jhc2VJdGVtLCBJRmlsdGVyRGVmYXVsdEZuIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pdGVtcy9iYXNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVySXRlbURlZmF1bHRSYW5nZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaXRlbXMvcmFuZ2UuaW50ZXJmYWNlJztcblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUl0ZW08VCBleHRlbmRzIElGaWx0ZXJDb25maWdCYXNlSXRlbT4ge1xuXG4gIC8vIENvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzXG5cbiAgcHVibGljIG5hbWU6IHN0cmluZztcbiAgcHVibGljIGxhYmVsOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgcHVibGljIGNoaXBMYWJlbDogc3RyaW5nIHwgc3RyaW5nW107XG4gIHB1YmxpYyBoaWRlOiBib29sZWFuO1xuICBwdWJsaWMgZGVmYXVsdFZhbHVlOiBhbnkgfCBJRmlsdGVySXRlbURlZmF1bHRSYW5nZTtcbiAgcHVibGljIGRlZmF1bHRWYWx1ZUZuOiBJRmlsdGVyRGVmYXVsdEZuO1xuICBwdWJsaWMgcGVyc2lzdGVkVmFsdWU6IHVua25vd247XG4gIHB1YmxpYyBjbGVhckFsbG93ZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIHBlcnNpc3RhbmNlRGlzYWJsZWQ6IGJvb2xlYW47XG4gIHB1YmxpYyBxdWVyeVBhcmFtc0Rpc2FibGVkOiBib29sZWFuO1xuXG4gIC8vIEludGVybmFsIHByb3BlcnRpZXNcblxuICBwdWJsaWMgY2hhbmdlOiAoaXRlbTogQmFzZUl0ZW08VD4pID0+IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF90eXBlOiBUWyd0eXBlJ107XG5cbiAgcHJvdGVjdGVkIF9tb2RlbDogYW55O1xuICAvLyBwcm90ZWN0ZWQgX2luaXRpYWxpemVkID0gZmFsc2U7XG4gIHByb3RlY3RlZCBfcGVuZGluZ1ZhbHVlcyA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgX3BlbmRpbmdEZWZhdWx0VmFsdWUgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIF9sb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcm90ZWN0ZWQgX3ZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gIHByb3RlY3RlZCBfdmFsdWVDaGFuZ2UkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJvdGVjdGVkIF92YWx1ZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgcHJvdGVjdGVkIF92YWx1ZXNGbjogKHF1ZXJ5Pzogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPHVua25vd24+IHwgdW5rbm93bjtcblxuICBwcm90ZWN0ZWQgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIF9jbGVhciQgPSBuZXcgU3ViamVjdDx1bmtub3duPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGl0ZW1Db25maWc6IFQsXG4gICAgcHJvdGVjdGVkIF9hZGRpdGlvbmFsQ29uZmlnOiB1bmtub3duXG4gICkge1xuICAgIHRoaXMuX3R5cGUgPSBpdGVtQ29uZmlnLnR5cGU7XG4gICAgdGhpcy5fcGFyc2VDb25maWcoaXRlbUNvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3QgZ2V0IHZhbHVlKCk7XG5cbiAgLy8vXG4gIHB1YmxpYyBnZXQgaXNUeXBlQXV0b2NvbXBsZXRlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkF1dG9Db21wbGV0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlQXV0b2NvbXBsZXRlQ2hpcHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuQXV0b0NvbXBsZXRlQ2hpcHM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVHlwZUNoaXBzKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkNoaXBzO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVDaGVja2JveCgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5DaGVja2JveDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlU2VsZWN0KCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLlNlbGVjdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlRGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5EYXRlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVEYXRlUmFuZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuRGF0ZVJhbmdlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVSYW5nZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5SYW5nZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlRGF0ZVRpbWVSYW5nZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5EYXRlVGltZVJhbmdlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVEYXRlVGltZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5EYXRlVGltZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlS2V5d29yZCgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5LZXl3b3JkO1xuICB9XG4gIC8vLy9cblxuICBwdWJsaWMgZ2V0IGlzQ2hpcFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5tb2RlbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVzdHJveSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rlc3Ryb3kkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCB0eXBlKCk6IFRbJ3R5cGUnXSB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1BlbmRpbmdWYWx1ZXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BlbmRpbmdWYWx1ZXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1BlbmRpbmdEZWZhdWx0VmFsdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BlbmRpbmdEZWZhdWx0VmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1vZGVsKCkge1xuICAgIHJldHVybiB0aGlzLl9tb2RlbDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgbW9kZWwodmFsdWUpIHtcbiAgICB0aGlzLl9zZXRNb2RlbCh2YWx1ZSk7XG4gICAgdGhpcy52YWx1ZUNoYW5nZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdmFsdWVzKHZhbHVlcykge1xuICAgIHRoaXMuX3ZhbHVlcyQubmV4dCh2YWx1ZXMpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlcyQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWVzJCgpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICByZXR1cm4gIHRoaXMuX3ZhbHVlcyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlQ2hhbmdlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVDaGFuZ2UkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2xlYXIkKCkge1xuICAgIHJldHVybiB0aGlzLl9jbGVhciQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGluaXRpYWxpemVkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbml0aWFsaXplZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbG9hZGluZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2xvYWRpbmckLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBsb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9sb2FkaW5nJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldCBsb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fbG9hZGluZyQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IF9pbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuX3BlbmRpbmdEZWZhdWx0VmFsdWUgJiYgIXRoaXMuX3BlbmRpbmdWYWx1ZXM7XG4gIH1cblxuICBwdWJsaWMgdmFsdWVDaGFuZ2VkKCkge1xuICAgIHRoaXMuX3ZhbHVlJC5uZXh0KHRoaXMudmFsdWUpO1xuXG4gICAgaWYgKHRoaXMuY2hhbmdlKSB7XG4gICAgICB0aGlzLmNoYW5nZSh0aGlzKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5fdmFsdWVDaGFuZ2UkLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5T2JqZWN0KCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgY29uc3QgbmFtZSA9IHRoaXMubmFtZTtcbiAgICBjb25zdCBwYXJhbXMgPSB7fTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcGFyYW1zW3RoaXMubmFtZV0gPSB2YWx1ZS5qb2luKCcsJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcmFtc1tuYW1lXSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBlcnNpc3RhbmNlT2JqZWN0KCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5xdWVyeU9iamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkRGVmYXVsdFZhbHVlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdFZhbHVlRm4oKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgodmFsdWUpID0+IHtcbiAgICAgICAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IHZhbHVlO1xuXG4gICAgICAgICAgdGhpcy5faW5pdERlZmF1bHRNb2RlbCgpXG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fcGVuZGluZ0RlZmF1bHRWYWx1ZSA9IGZhbHNlO1xuICAgICAgICB9KVxuICAgICAgKVxuICB9XG5cbiAgcHVibGljIGluaXRWYWx1ZXMocGVyc2lzdGVkVmFsdWU6IHVua25vd24pIHtcbiAgICAvLyB0aGlzLl9pbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHRoaXMucGVyc2lzdGVkVmFsdWUgPSBwZXJzaXN0ZWRWYWx1ZTtcbiAgICB0aGlzLl9pbml0RGVmYXVsdE1vZGVsKCk7XG5cbiAgICBjb25zdCBpc0F1dG9jb21wbGV0ZSA9IHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuQXV0b0NvbXBsZXRlIHx8IHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuQXV0b0NvbXBsZXRlQ2hpcHM7XG5cbiAgICBpZiAodGhpcy5fdmFsdWVzRm4gJiYgIWlzQXV0b2NvbXBsZXRlKSB7XG4gICAgICBjb25zdCB2YWx1ZXNSZXN1bHQgPSB0aGlzLl92YWx1ZXNGbigpO1xuXG4gICAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlc1Jlc3VsdCkpIHtcbiAgICAgICAgdGhpcy5fcGVuZGluZ1ZhbHVlcyA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnZhbHVlcyA9IHZhbHVlc1Jlc3VsdDtcblxuICAgICAgICAvLyBNb3ZlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiAgICAgICAgdGhpcy5faW5pdCgpO1xuICAgICAgICAvLyB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5faW5pdCgpO1xuICAgICAgLy8gdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBsb2FkQXN5bmNWYWx1ZXMocmVsb2FkID0gdHJ1ZSkge1xuICAgIGlmIChyZWxvYWQgfHwgKCF0aGlzLmxvYWRpbmcgJiYgdGhpcy5oYXNQZW5kaW5nVmFsdWVzKSkge1xuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgKHRoaXMuX3ZhbHVlc0ZuKCkgYXMgT2JzZXJ2YWJsZTx1bmtub3duPilcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgodmFsdWVzKSA9PiB7XG4gICAgICAgICAgdGhpcy52YWx1ZXMgPSB2YWx1ZXM7XG4gICAgICAgICAgdGhpcy5fcGVuZGluZ1ZhbHVlcyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuX2luaXQoKTtcbiAgICAgICAgICB0aGlzLl92YWxpZGF0ZU1vZGVsKCk7XG4gICAgICAgICAgLy8gdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICB9KTtcblxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbGVhcihkZWZhdWx0VmFsdWU6IHVua25vd24gPSB1bmRlZmluZWQpIHtcbiAgICBpZiAodGhpcy5pc1R5cGVSYW5nZSB8fCB0aGlzLmlzVHlwZURhdGVSYW5nZSB8fCB0aGlzLmlzVHlwZURhdGVUaW1lUmFuZ2UpIHtcbiAgICAgIGNvbnNvbGUud2FybihgXG4gICAgICAgIEZpbHRlciAke3RoaXMubmFtZX0gY2FuIG5vdCBiZSBjbGVhcmVkIHdpdGggLmNsZWFyKCkgbWV0aG9kIVxuICAgICAgICBVc2Ugc3BlY2lhbCAuY2xlYXJSYW5nZSgpIG9yIGNsZWFyRGF0ZVJhbmdlKCkgaW5zdGVhZC5cbiAgICAgIGApXG4gICAgfVxuXG4gICAgdGhpcy5fY2xlYXIkLm5leHQoZGVmYXVsdFZhbHVlKTtcbiAgICB0aGlzLl9jbGVhclZhbHVlKGRlZmF1bHRWYWx1ZSk7XG4gIH07XG5cbiAgcHVibGljIGdldENoaXBzQ29udGVudCh0eXBlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuXG4gIHB1YmxpYyBkZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IF9pbml0KCk7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBfdmFsaWRhdGVNb2RlbCgpO1xuXG4gIHByb3RlY3RlZCBfc2V0TW9kZWwodmFsdWUpIHtcbiAgICB0aGlzLl9tb2RlbCA9IHZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9wYXJzZUNvbmZpZyhpdGVtOiBUKSB7XG4gICAgdGhpcy5uYW1lID0gaXRlbS5uYW1lO1xuICAgIHRoaXMubGFiZWwgPSBpdGVtLmxhYmVsO1xuICAgIHRoaXMuY2hpcExhYmVsID0gaXRlbS5jaGlwTGFiZWw7XG5cbiAgICBpZiAodHlwZW9mIGl0ZW0uZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhpcy5fcGVuZGluZ0RlZmF1bHRWYWx1ZSA9IHRydWU7XG4gICAgICB0aGlzLmRlZmF1bHRWYWx1ZUZuID0gaXRlbS5kZWZhdWx0O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IGl0ZW0uZGVmYXVsdDtcbiAgICB9XG5cbiAgICB0aGlzLmNoYW5nZSA9IGl0ZW0uY2hhbmdlO1xuICAgIHRoaXMuaGlkZSA9IGl0ZW0uaGlkZTtcbiAgICB0aGlzLmNsZWFyQWxsb3dlZCA9IGl0ZW0uY2xlYXIgPz8gdHJ1ZTtcbiAgICB0aGlzLnBlcnNpc3RhbmNlRGlzYWJsZWQgPSBpdGVtLmRpc2FibGVQZXJzaXN0ID8/IGZhbHNlO1xuICAgIHRoaXMucXVlcnlQYXJhbXNEaXNhYmxlZCA9IGl0ZW0uZGlzYWJsZVF1ZXJ5UGFyYW1zID8/IGZhbHNlO1xuXG4gICAgaWYgKGlzRnVuY3Rpb24oaXRlbS52YWx1ZXMpKSB7XG4gICAgICB0aGlzLl92YWx1ZXNGbiA9IGl0ZW0udmFsdWVzO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlcyA9IGl0ZW0udmFsdWVzO1xuICAgIH1cbiAgfTtcblxuICBwcm90ZWN0ZWQgX2luaXREZWZhdWx0TW9kZWwoKSB7XG4gICAgY29uc3QgbW9kZWwgPSB0aGlzLnBlcnNpc3RlZFZhbHVlID8/IHRoaXMuZGVmYXVsdFZhbHVlO1xuXG4gICAgaWYgKG1vZGVsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubW9kZWwgPSBtb2RlbDtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX2NsZWFyVmFsdWUoZGVmYXVsdFZhbHVlOiB1bmtub3duID0gdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5tb2RlbCA9IGRlZmF1bHRWYWx1ZSA/PyBudWxsO1xuICB9XG59XG4iXX0=
@@ -5,7 +5,7 @@ import { ItemType } from '../../enums/item-type.enum';
5
5
  var BaseItem = /** @class */ (function () {
6
6
  function BaseItem(itemConfig, _additionalConfig) {
7
7
  this._additionalConfig = _additionalConfig;
8
- this._initialized = false;
8
+ // protected _initialized = false;
9
9
  this._pendingValues = false;
10
10
  this._pendingDefaultValue = false;
11
11
  this._loading$ = new BehaviorSubject(false);
@@ -204,6 +204,13 @@ var BaseItem = /** @class */ (function () {
204
204
  enumerable: true,
205
205
  configurable: true
206
206
  });
207
+ Object.defineProperty(BaseItem.prototype, "_initialized", {
208
+ get: function () {
209
+ return !this._pendingDefaultValue && !this._pendingValues;
210
+ },
211
+ enumerable: true,
212
+ configurable: true
213
+ });
207
214
  BaseItem.prototype.valueChanged = function () {
208
215
  this._value$.next(this.value);
209
216
  if (this.change) {
@@ -241,12 +248,13 @@ var BaseItem = /** @class */ (function () {
241
248
  return this.defaultValueFn()
242
249
  .pipe(tap(function (value) {
243
250
  _this.defaultValue = value;
251
+ _this._initDefaultModel();
244
252
  }), finalize(function () {
245
253
  _this._pendingDefaultValue = false;
246
254
  }));
247
255
  };
248
256
  BaseItem.prototype.initValues = function (persistedValue) {
249
- this._initialized = false;
257
+ // this._initialized = false;
250
258
  this.persistedValue = persistedValue;
251
259
  this._initDefaultModel();
252
260
  var isAutocomplete = this.type === ItemType.AutoComplete || this.type === ItemType.AutoCompleteChips;
@@ -259,12 +267,12 @@ var BaseItem = /** @class */ (function () {
259
267
  this.values = valuesResult;
260
268
  // Move to some other place
261
269
  this._init();
262
- this._initialized = true;
270
+ // this._initialized = true;
263
271
  }
264
272
  }
265
273
  else {
266
274
  this._init();
267
- this._initialized = true;
275
+ // this._initialized = true;
268
276
  }
269
277
  };
270
278
  BaseItem.prototype.loadAsyncValues = function (reload) {
@@ -280,7 +288,7 @@ var BaseItem = /** @class */ (function () {
280
288
  _this.loading = false;
281
289
  _this._init();
282
290
  _this._validateModel();
283
- _this._initialized = true;
291
+ // this._initialized = true;
284
292
  });
285
293
  }
286
294
  };
@@ -342,4 +350,4 @@ var BaseItem = /** @class */ (function () {
342
350
  return BaseItem;
343
351
  }());
344
352
  export { BaseItem };
345
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1pdGVtLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvZmlsdGVyLyIsInNvdXJjZXMiOlsiYXBwL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUUsT0FBTyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQU10RDtJQW9DRSxrQkFDRSxVQUFhLEVBQ0gsaUJBQTBCO1FBQTFCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUztRQWY1QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2Qix5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDN0IsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDcEMsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBR3JDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRWxDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBTXZDLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFLRCxzQkFBVyx3Q0FBa0I7UUFEN0IsR0FBRzthQUNIO1lBQ0UsT0FBTyxJQUFJ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QzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsWUFBWSxTQUFHLElBQUksQ0FBQyxLQUFLLG1DQUFJLElBQUksQ0FBQztRQUN2QyxJQUFJLENBQUMsbUJBQW1CLFNBQUcsSUFBSSxDQUFDLGNBQWMsbUNBQUksS0FBSyxDQUFDO1FBQ3hELElBQUksQ0FBQyxtQkFBbUIsU0FBRyxJQUFJLENBQUMsa0JBQWtCLG1DQUFJLEtBQUssQ0FBQztRQUU1RCxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQzlCO2FBQU07WUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBQUEsQ0FBQztJQUVRLG9DQUFpQixHQUEzQjs7UUFDRSxJQUFNLEtBQUssU0FBRyxJQUFJLENBQUMsY0FBYyxtQ0FBSSxJQUFJLENBQUMsWUFBWSxDQUFDO1FBRXZELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFUyw4QkFBVyxHQUFyQixVQUFzQixZQUFpQztRQUFqQyw2QkFBQSxFQUFBLHdCQUFpQztRQUNyRCxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksYUFBWixZQUFZLGNBQVosWUFBWSxHQUFJLElBQUksQ0FBQztJQUNwQyxDQUFDO0lBQ0gsZUFBQztBQUFELENBQUMsQUEzVEQsSUEyVEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBpc09ic2VydmFibGUsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGZpbmFsaXplLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBJdGVtVHlwZSB9IGZyb20gJy4uLy4uL2VudW1zL2l0ZW0tdHlwZS5lbnVtJztcblxuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0Jhc2VJdGVtLCBJRmlsdGVyRGVmYXVsdEZuIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pdGVtcy9iYXNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVySXRlbURlZmF1bHRSYW5nZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaXRlbXMvcmFuZ2UuaW50ZXJmYWNlJztcblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUl0ZW08VCBleHRlbmRzIElGaWx0ZXJDb25maWdCYXNlSXRlbT4ge1xuXG4gIC8vIENvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzXG5cbiAgcHVibGljIG5hbWU6IHN0cmluZztcbiAgcHVibGljIGxhYmVsOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgcHVibGljIGNoaXBMYWJlbDogc3RyaW5nIHwgc3RyaW5nW107XG4gIHB1YmxpYyBoaWRlOiBib29sZWFuO1xuICBwdWJsaWMgZGVmYXVsdFZhbHVlOiBhbnkgfCBJRmlsdGVySXRlbURlZmF1bHRSYW5nZTtcbiAgcHVibGljIGRlZmF1bHRWYWx1ZUZuOiBJRmlsdGVyRGVmYXVsdEZuO1xuICBwdWJsaWMgcGVyc2lzdGVkVmFsdWU6IHVua25vd247XG4gIHB1YmxpYyBjbGVhckFsbG93ZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIHBlcnNpc3RhbmNlRGlzYWJsZWQ6IGJvb2xlYW47XG4gIHB1YmxpYyBxdWVyeVBhcmFtc0Rpc2FibGVkOiBib29sZWFuO1xuXG4gIC8vIEludGVybmFsIHByb3BlcnRpZXNcblxuICBwdWJsaWMgY2hhbmdlOiAoaXRlbTogQmFzZUl0ZW08VD4pID0+IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF90eXBlOiBUWyd0eXBlJ107XG5cbiAgcHJvdGVjdGVkIF9tb2RlbDogYW55O1xuICBwcm90ZWN0ZWQgX2luaXRpYWxpemVkID0gZmFsc2U7XG4gIHByb3RlY3RlZCBfcGVuZGluZ1ZhbHVlcyA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgX3BlbmRpbmdEZWZhdWx0VmFsdWUgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIF9sb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcm90ZWN0ZWQgX3ZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gIHByb3RlY3RlZCBfdmFsdWVDaGFuZ2UkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJvdGVjdGVkIF92YWx1ZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgcHJvdGVjdGVkIF92YWx1ZXNGbjogKHF1ZXJ5Pzogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPHVua25vd24+IHwgdW5rbm93bjtcblxuICBwcm90ZWN0ZWQgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIF9jbGVhciQgPSBuZXcgU3ViamVjdDx1bmtub3duPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGl0ZW1Db25maWc6IFQsXG4gICAgcHJvdGVjdGVkIF9hZGRpdGlvbmFsQ29uZmlnOiB1bmtub3duXG4gICkge1xuICAgIHRoaXMuX3R5cGUgPSBpdGVtQ29uZmlnLnR5cGU7XG4gICAgdGhpcy5fcGFyc2VDb25maWcoaXRlbUNvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3QgZ2V0IHZhbHVlKCk7XG5cbiAgLy8vXG4gIHB1YmxpYyBnZXQgaXNUeXBlQXV0b2NvbXBsZXRlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkF1dG9Db21wbGV0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlQXV0b2NvbXBsZXRlQ2hpcHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuQXV0b0NvbXBsZXRlQ2hpcHM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVHlwZUNoaXBzKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkNoaXBzO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVDaGVja2JveCgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5DaGVja2JveDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlU2VsZWN0KCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLlNlbGVjdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlRGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5EYXRlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVEYXRlUmFuZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuRGF0ZVJhbmdlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVSYW5nZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5SYW5nZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlRGF0ZVRpbWVSYW5nZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5EYXRlVGltZVJhbmdlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVEYXRlVGltZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5EYXRlVGltZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlS2V5d29yZCgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5LZXl3b3JkO1xuICB9XG4gIC8vLy9cblxuICBwdWJsaWMgZ2V0IGlzQ2hpcFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5tb2RlbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVzdHJveSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rlc3Ryb3kkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCB0eXBlKCk6IFRbJ3R5cGUnXSB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1BlbmRpbmdWYWx1ZXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BlbmRpbmdWYWx1ZXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1BlbmRpbmdEZWZhdWx0VmFsdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BlbmRpbmdEZWZhdWx0VmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1vZGVsKCkge1xuICAgIHJldHVybiB0aGlzLl9tb2RlbDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgbW9kZWwodmFsdWUpIHtcbiAgICB0aGlzLl9zZXRNb2RlbCh2YWx1ZSk7XG4gICAgdGhpcy52YWx1ZUNoYW5nZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdmFsdWVzKHZhbHVlcykge1xuICAgIHRoaXMuX3ZhbHVlcyQubmV4dCh2YWx1ZXMpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlcyQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWVzJCgpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICByZXR1cm4gIHRoaXMuX3ZhbHVlcyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlQ2hhbmdlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVDaGFuZ2UkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2xlYXIkKCkge1xuICAgIHJldHVybiB0aGlzLl9jbGVhciQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGluaXRpYWxpemVkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbml0aWFsaXplZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbG9hZGluZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2xvYWRpbmckLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBsb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9sb2FkaW5nJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldCBsb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fbG9hZGluZyQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgdmFsdWVDaGFuZ2VkKCkge1xuICAgIHRoaXMuX3ZhbHVlJC5uZXh0KHRoaXMudmFsdWUpO1xuXG4gICAgaWYgKHRoaXMuY2hhbmdlKSB7XG4gICAgICB0aGlzLmNoYW5nZSh0aGlzKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5fdmFsdWVDaGFuZ2UkLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5T2JqZWN0KCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgY29uc3QgbmFtZSA9IHRoaXMubmFtZTtcbiAgICBjb25zdCBwYXJhbXMgPSB7fTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcGFyYW1zW3RoaXMubmFtZV0gPSB2YWx1ZS5qb2luKCcsJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcmFtc1tuYW1lXSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBlcnNpc3RhbmNlT2JqZWN0KCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5xdWVyeU9iamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkRGVmYXVsdFZhbHVlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdFZhbHVlRm4oKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgodmFsdWUpID0+IHtcbiAgICAgICAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB9KSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX3BlbmRpbmdEZWZhdWx0VmFsdWUgPSBmYWxzZTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgfVxuXG4gIHB1YmxpYyBpbml0VmFsdWVzKHBlcnNpc3RlZFZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5faW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICB0aGlzLnBlcnNpc3RlZFZhbHVlID0gcGVyc2lzdGVkVmFsdWU7XG4gICAgdGhpcy5faW5pdERlZmF1bHRNb2RlbCgpO1xuXG4gICAgY29uc3QgaXNBdXRvY29tcGxldGUgPSB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkF1dG9Db21wbGV0ZSB8fCB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkF1dG9Db21wbGV0ZUNoaXBzO1xuXG4gICAgaWYgKHRoaXMuX3ZhbHVlc0ZuICYmICFpc0F1dG9jb21wbGV0ZSkge1xuICAgICAgY29uc3QgdmFsdWVzUmVzdWx0ID0gdGhpcy5fdmFsdWVzRm4oKTtcblxuICAgICAgaWYgKGlzT2JzZXJ2YWJsZSh2YWx1ZXNSZXN1bHQpKSB7XG4gICAgICAgIHRoaXMuX3BlbmRpbmdWYWx1ZXMgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy52YWx1ZXMgPSB2YWx1ZXNSZXN1bHQ7XG5cbiAgICAgICAgLy8gTW92ZSB0byBzb21lIG90aGVyIHBsYWNlXG4gICAgICAgIHRoaXMuX2luaXQoKTtcbiAgICAgICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2luaXQoKTtcbiAgICAgIHRoaXMuX2luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbG9hZEFzeW5jVmFsdWVzKHJlbG9hZCA9IHRydWUpIHtcbiAgICBpZiAocmVsb2FkIHx8ICghdGhpcy5sb2FkaW5nICYmIHRoaXMuaGFzUGVuZGluZ1ZhbHVlcykpIHtcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG5cbiAgICAgICh0aGlzLl92YWx1ZXNGbigpIGFzIE9ic2VydmFibGU8dW5rbm93bj4pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlcykgPT4ge1xuICAgICAgICAgIHRoaXMudmFsdWVzID0gdmFsdWVzO1xuICAgICAgICAgIHRoaXMuX3BlbmRpbmdWYWx1ZXMgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLl9pbml0KCk7XG4gICAgICAgICAgdGhpcy5fdmFsaWRhdGVNb2RlbCgpO1xuICAgICAgICAgIHRoaXMuX2luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgfSk7XG5cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoZGVmYXVsdFZhbHVlOiB1bmtub3duID0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKHRoaXMuaXNUeXBlUmFuZ2UgfHwgdGhpcy5pc1R5cGVEYXRlUmFuZ2UgfHwgdGhpcy5pc1R5cGVEYXRlVGltZVJhbmdlKSB7XG4gICAgICBjb25zb2xlLndhcm4oYFxuICAgICAgICBGaWx0ZXIgJHt0aGlzLm5hbWV9IGNhbiBub3QgYmUgY2xlYXJlZCB3aXRoIC5jbGVhcigpIG1ldGhvZCFcbiAgICAgICAgVXNlIHNwZWNpYWwgLmNsZWFyUmFuZ2UoKSBvciBjbGVhckRhdGVSYW5nZSgpIGluc3RlYWQuXG4gICAgICBgKVxuICAgIH1cblxuICAgIHRoaXMuX2NsZWFyJC5uZXh0KGRlZmF1bHRWYWx1ZSk7XG4gICAgdGhpcy5fY2xlYXJWYWx1ZShkZWZhdWx0VmFsdWUpO1xuICB9O1xuXG4gIHB1YmxpYyBnZXRDaGlwc0NvbnRlbnQodHlwZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cblxuICBwdWJsaWMgZGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBfaW5pdCgpO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgX3ZhbGlkYXRlTW9kZWwoKTtcblxuICBwcm90ZWN0ZWQgX3NldE1vZGVsKHZhbHVlKSB7XG4gICAgdGhpcy5fbW9kZWwgPSB2YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfcGFyc2VDb25maWcoaXRlbTogVCkge1xuICAgIHRoaXMubmFtZSA9IGl0ZW0ubmFtZTtcbiAgICB0aGlzLmxhYmVsID0gaXRlbS5sYWJlbDtcbiAgICB0aGlzLmNoaXBMYWJlbCA9IGl0ZW0uY2hpcExhYmVsO1xuXG4gICAgaWYgKHR5cGVvZiBpdGVtLmRlZmF1bHQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXMuX3BlbmRpbmdEZWZhdWx0VmFsdWUgPSB0cnVlO1xuICAgICAgdGhpcy5kZWZhdWx0VmFsdWVGbiA9IGl0ZW0uZGVmYXVsdDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZWZhdWx0VmFsdWUgPSBpdGVtLmRlZmF1bHQ7XG4gICAgfVxuXG4gICAgdGhpcy5jaGFuZ2UgPSBpdGVtLmNoYW5nZTtcbiAgICB0aGlzLmhpZGUgPSBpdGVtLmhpZGU7XG4gICAgdGhpcy5jbGVhckFsbG93ZWQgPSBpdGVtLmNsZWFyID8/IHRydWU7XG4gICAgdGhpcy5wZXJzaXN0YW5jZURpc2FibGVkID0gaXRlbS5kaXNhYmxlUGVyc2lzdCA/PyBmYWxzZTtcbiAgICB0aGlzLnF1ZXJ5UGFyYW1zRGlzYWJsZWQgPSBpdGVtLmRpc2FibGVRdWVyeVBhcmFtcyA/PyBmYWxzZTtcblxuICAgIGlmIChpc0Z1bmN0aW9uKGl0ZW0udmFsdWVzKSkge1xuICAgICAgdGhpcy5fdmFsdWVzRm4gPSBpdGVtLnZhbHVlcztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZXMgPSBpdGVtLnZhbHVlcztcbiAgICB9XG4gIH07XG5cbiAgcHJvdGVjdGVkIF9pbml0RGVmYXVsdE1vZGVsKCkge1xuICAgIGNvbnN0IG1vZGVsID0gdGhpcy5wZXJzaXN0ZWRWYWx1ZSA/PyB0aGlzLmRlZmF1bHRWYWx1ZTtcblxuICAgIGlmIChtb2RlbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm1vZGVsID0gbW9kZWw7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9jbGVhclZhbHVlKGRlZmF1bHRWYWx1ZTogdW5rbm93biA9IHVuZGVmaW5lZCkge1xuICAgIHRoaXMubW9kZWwgPSBkZWZhdWx0VmFsdWUgPz8gbnVsbDtcbiAgfVxufVxuIl19
353
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1pdGVtLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvZmlsdGVyLyIsInNvdXJjZXMiOlsiYXBwL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUUsT0FBTyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQU10RDtJQW9DRSxrQkFDRSxVQUFhLEVBQ0gsaUJBQTBCO1FBQTFCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUztRQWZ0QyxrQ0FBa0M7UUFDeEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3BDLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUdyQyxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVsQyxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQU12QyxJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBS0Qsc0JBQVcsd0NBQWtCO1FBRDdCLEdBQUc7YUFDSDtZQUNFLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzdDLENBQUM7OztPQUFBO0lBRUQsc0JBQVcsNkNBQXVCO2FBQWxDO1lBQ0UsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztRQUNsRCxDQUFDOzs7T0FBQTtJQUVELHNCQUFXLGlDQUFXO2FBQXRCO1lBQ0UsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDdEMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBVyxvQ0FBYzthQUF6QjtZQUNFLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQ3pDLENBQUM7OztPQUFBO0lBRUQsc0JBQVcsa0NBQVk7YUFBdkI7WUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUN2QyxDQUFDOzs7T0FBQTtJQUVELHNCQUFXLGdDQUFVO2FBQXJCO1lBQ0UsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDckMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBVyxxQ0FBZTthQUExQjtZQUNFLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsU0FBUyxDQUFDO1FBQzFDLENBQUM7OztPQUFBO0lBRUQsc0JBQVcsaUNBQVc7YUFBdEI7WUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLEtBQUssQ0FBQztRQUN0QyxDQUFDOzs7T0FBQTtJQUVELHNCQUFXLHlDQUFtQjthQUE5QjtZQUNFLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsYUFBYSxDQUFDO1FBQzlDLENBQUM7OztPQUFBO0lBRUQsc0JBQVcsb0NBQWM7YUFBekI7WUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUN6QyxDQUFDOzs7T0FBQTtJQUVELHNCQUFXLG1DQUFhO2FBQXhCO1lBQ0UsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDeEMsQ0FBQzs7O09BQUE7SUFHRCxzQkFBVyxtQ0FBYTtRQUZ4QixJQUFJO2FBRUo7WUFDRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3RCLENBQUM7OztPQUFBO0lBRUQsc0JBQVcsOEJBQVE7YUFBbkI7WUFDRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBVywwQkFBSTthQUFmO1lBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BCLENBQUM7OztPQUFBO0lBRUQsc0JBQVcsc0NBQWdCO2FBQTNCO1lBQ0UsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzdCLENBQUM7OztPQUFBO0lBRUQsc0JBQVcsNENBQXNCO2FBQWpDO1lBQ0UsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7UUFDbkMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBVywyQkFBSzthQUFoQjtZQUNFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNyQixDQUFDO2FBRUQsVUFBaUIsS0FBSztZQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDOzs7T0FMQTtJQU9ELHNCQUFXLDRCQUFNO2FBSWpCO1lBQ0UsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLENBQUM7YUFORCxVQUFrQixNQUFNO1lBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLENBQUM7OztPQUFBO0lBTUQsc0JBQVcsNkJBQU87YUFBbEI7WUFDRSxPQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBVyxrQ0FBWTthQUF2QjtZQUNFLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQyxDQUFDOzs7T0FBQTtJQUVELHNCQUFXLDRCQUFNO2FBQWpCO1lBQ0UsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3JDLENBQUM7OztPQUFBO0lBRUQsc0JBQVcsNEJBQU07YUFBakI7WUFDRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDckMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBVyxpQ0FBVzthQUF0QjtZQUNFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztRQUMzQixDQUFDOzs7T0FBQTtJQUVELHNCQUFXLDhCQUFRO2FBQW5CO1lBQ0UsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLENBQUM7OztPQUFBO0lBRUQsc0JBQVcsNkJBQU87YUFBbEI7WUFDRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkMsQ0FBQzthQUVELFVBQW1CLEtBQWM7WUFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQzs7O09BSkE7SUFNRCxzQkFBYyxrQ0FBWTthQUExQjtZQUNFLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzVELENBQUM7OztPQUFBO0lBRU0sK0JBQVksR0FBbkI7UUFDRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuQjtRQUVELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVELHNCQUFXLGlDQUFXO2FBQXRCO1lBQ0UsSUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN6QixJQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLElBQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztZQUVsQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNyQztpQkFBTTtnQkFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO2FBQ3RCO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQzs7O09BQUE7SUFFRCxzQkFBVyx1Q0FBaUI7YUFBNUI7WUFDRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDMUIsQ0FBQzs7O09BQUE7SUFFTSxtQ0FBZ0IsR0FBdkI7UUFBQSxpQkFZQztRQVhDLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRTthQUN6QixJQUFJLENBQ0gsR0FBRyxDQUFDLFVBQUMsS0FBSztZQUNSLEtBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBRTFCLEtBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO1FBQzFCLENBQUMsQ0FBQyxFQUNGLFFBQVEsQ0FBQztZQUNQLEtBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNMLENBQUM7SUFFTSw2QkFBVSxHQUFqQixVQUFrQixjQUF1QjtRQUN2Qyw2QkFBNkI7UUFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDckMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFekIsSUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLGlCQUFpQixDQUFDO1FBRXZHLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQyxJQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFFdEMsSUFBSSxZQUFZLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO2FBQzVCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDO2dCQUUzQiwyQkFBMkI7Z0JBQzNCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDYiw0QkFBNEI7YUFDN0I7U0FFRjthQUFNO1lBQ0wsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2IsNEJBQTRCO1NBQzdCO0lBQ0gsQ0FBQztJQUVNLGtDQUFlLEdBQXRCLFVBQXVCLE1BQWE7UUFBcEMsaUJBbUJDO1FBbkJzQix1QkFBQSxFQUFBLGFBQWE7UUFDbEMsSUFBSSxNQUFNLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDdEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFFbkIsSUFBSSxDQUFDLFNBQVMsRUFBMEI7aUJBQ3RDLElBQUksQ0FDSCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7aUJBQ0EsU0FBUyxDQUFDLFVBQUMsTUFBTTtnQkFDaEIsS0FBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7Z0JBQ3JCLEtBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO2dCQUM1QixLQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsS0FBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNiLEtBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdEIsNEJBQTRCO1lBQzlCLENBQUMsQ0FBQyxDQUFDO1NBRU47SUFDSCxDQUFDO0lBRU0sd0JBQUssR0FBWixVQUFhLFlBQWlDO1FBQWpDLDZCQUFBLEVBQUEsd0JBQWlDO1FBQzVDLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUN4RSxPQUFPLENBQUMsSUFBSSxDQUFDLHNCQUNGLElBQUksQ0FBQyxJQUFJLHNIQUVuQixDQUFDLENBQUE7U0FDSDtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUFBLENBQUM7SUFFSyxrQ0FBZSxHQUF0QixVQUF1QixJQUFJO1FBQ3pCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUdNLDBCQUFPLEdBQWQ7UUFDRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUtTLDRCQUFTLEdBQW5CLFVBQW9CLEtBQUs7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVTLCtCQUFZLEdBQXRCLFVBQXVCLElBQU87O1FBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBRWhDLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFVBQVUsRUFBRTtZQUN0QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNwQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ2xDO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsWUFBWSxTQUFHLElBQUksQ0FBQyxLQUFLLG1DQUFJLElBQUksQ0FBQztRQUN2QyxJQUFJLENBQUMsbUJBQW1CLFNBQUcsSUFBSSxDQUFDLGNBQWMsbUNBQUksS0FBSyxDQUFDO1FBQ3hELElBQUksQ0FBQyxtQkFBbUIsU0FBRyxJQUFJLENBQUMsa0JBQWtCLG1DQUFJLEtBQUssQ0FBQztRQUU1RCxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQzlCO2FBQU07WUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBQUEsQ0FBQztJQUVRLG9DQUFpQixHQUEzQjs7UUFDRSxJQUFNLEtBQUssU0FBRyxJQUFJLENBQUMsY0FBYyxtQ0FBSSxJQUFJLENBQUMsWUFBWSxDQUFDO1FBRXZELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFUyw4QkFBVyxHQUFyQixVQUFzQixZQUFpQztRQUFqQyw2QkFBQSxFQUFBLHdCQUFpQztRQUNyRCxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksYUFBWixZQUFZLGNBQVosWUFBWSxHQUFJLElBQUksQ0FBQztJQUNwQyxDQUFDO0lBQ0gsZUFBQztBQUFELENBQUMsQUFqVUQsSUFpVUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBpc09ic2VydmFibGUsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGZpbmFsaXplLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBJdGVtVHlwZSB9IGZyb20gJy4uLy4uL2VudW1zL2l0ZW0tdHlwZS5lbnVtJztcblxuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0Jhc2VJdGVtLCBJRmlsdGVyRGVmYXVsdEZuIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pdGVtcy9iYXNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVySXRlbURlZmF1bHRSYW5nZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaXRlbXMvcmFuZ2UuaW50ZXJmYWNlJztcblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUl0ZW08VCBleHRlbmRzIElGaWx0ZXJDb25maWdCYXNlSXRlbT4ge1xuXG4gIC8vIENvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzXG5cbiAgcHVibGljIG5hbWU6IHN0cmluZztcbiAgcHVibGljIGxhYmVsOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgcHVibGljIGNoaXBMYWJlbDogc3RyaW5nIHwgc3RyaW5nW107XG4gIHB1YmxpYyBoaWRlOiBib29sZWFuO1xuICBwdWJsaWMgZGVmYXVsdFZhbHVlOiBhbnkgfCBJRmlsdGVySXRlbURlZmF1bHRSYW5nZTtcbiAgcHVibGljIGRlZmF1bHRWYWx1ZUZuOiBJRmlsdGVyRGVmYXVsdEZuO1xuICBwdWJsaWMgcGVyc2lzdGVkVmFsdWU6IHVua25vd247XG4gIHB1YmxpYyBjbGVhckFsbG93ZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIHBlcnNpc3RhbmNlRGlzYWJsZWQ6IGJvb2xlYW47XG4gIHB1YmxpYyBxdWVyeVBhcmFtc0Rpc2FibGVkOiBib29sZWFuO1xuXG4gIC8vIEludGVybmFsIHByb3BlcnRpZXNcblxuICBwdWJsaWMgY2hhbmdlOiAoaXRlbTogQmFzZUl0ZW08VD4pID0+IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF90eXBlOiBUWyd0eXBlJ107XG5cbiAgcHJvdGVjdGVkIF9tb2RlbDogYW55O1xuICAvLyBwcm90ZWN0ZWQgX2luaXRpYWxpemVkID0gZmFsc2U7XG4gIHByb3RlY3RlZCBfcGVuZGluZ1ZhbHVlcyA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgX3BlbmRpbmdEZWZhdWx0VmFsdWUgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIF9sb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcm90ZWN0ZWQgX3ZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gIHByb3RlY3RlZCBfdmFsdWVDaGFuZ2UkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJvdGVjdGVkIF92YWx1ZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgcHJvdGVjdGVkIF92YWx1ZXNGbjogKHF1ZXJ5Pzogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPHVua25vd24+IHwgdW5rbm93bjtcblxuICBwcm90ZWN0ZWQgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIF9jbGVhciQgPSBuZXcgU3ViamVjdDx1bmtub3duPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGl0ZW1Db25maWc6IFQsXG4gICAgcHJvdGVjdGVkIF9hZGRpdGlvbmFsQ29uZmlnOiB1bmtub3duXG4gICkge1xuICAgIHRoaXMuX3R5cGUgPSBpdGVtQ29uZmlnLnR5cGU7XG4gICAgdGhpcy5fcGFyc2VDb25maWcoaXRlbUNvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3QgZ2V0IHZhbHVlKCk7XG5cbiAgLy8vXG4gIHB1YmxpYyBnZXQgaXNUeXBlQXV0b2NvbXBsZXRlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkF1dG9Db21wbGV0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlQXV0b2NvbXBsZXRlQ2hpcHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuQXV0b0NvbXBsZXRlQ2hpcHM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVHlwZUNoaXBzKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkNoaXBzO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVDaGVja2JveCgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5DaGVja2JveDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlU2VsZWN0KCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLlNlbGVjdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlRGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5EYXRlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVEYXRlUmFuZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuRGF0ZVJhbmdlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVSYW5nZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5SYW5nZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlRGF0ZVRpbWVSYW5nZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5EYXRlVGltZVJhbmdlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVEYXRlVGltZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5EYXRlVGltZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlS2V5d29yZCgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5LZXl3b3JkO1xuICB9XG4gIC8vLy9cblxuICBwdWJsaWMgZ2V0IGlzQ2hpcFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5tb2RlbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVzdHJveSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rlc3Ryb3kkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCB0eXBlKCk6IFRbJ3R5cGUnXSB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1BlbmRpbmdWYWx1ZXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BlbmRpbmdWYWx1ZXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1BlbmRpbmdEZWZhdWx0VmFsdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BlbmRpbmdEZWZhdWx0VmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1vZGVsKCkge1xuICAgIHJldHVybiB0aGlzLl9tb2RlbDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgbW9kZWwodmFsdWUpIHtcbiAgICB0aGlzLl9zZXRNb2RlbCh2YWx1ZSk7XG4gICAgdGhpcy52YWx1ZUNoYW5nZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdmFsdWVzKHZhbHVlcykge1xuICAgIHRoaXMuX3ZhbHVlcyQubmV4dCh2YWx1ZXMpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlcyQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWVzJCgpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICByZXR1cm4gIHRoaXMuX3ZhbHVlcyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlQ2hhbmdlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVDaGFuZ2UkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2xlYXIkKCkge1xuICAgIHJldHVybiB0aGlzLl9jbGVhciQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGluaXRpYWxpemVkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbml0aWFsaXplZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbG9hZGluZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2xvYWRpbmckLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBsb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9sb2FkaW5nJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldCBsb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fbG9hZGluZyQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IF9pbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuX3BlbmRpbmdEZWZhdWx0VmFsdWUgJiYgIXRoaXMuX3BlbmRpbmdWYWx1ZXM7XG4gIH1cblxuICBwdWJsaWMgdmFsdWVDaGFuZ2VkKCkge1xuICAgIHRoaXMuX3ZhbHVlJC5uZXh0KHRoaXMudmFsdWUpO1xuXG4gICAgaWYgKHRoaXMuY2hhbmdlKSB7XG4gICAgICB0aGlzLmNoYW5nZSh0aGlzKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5fdmFsdWVDaGFuZ2UkLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5T2JqZWN0KCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgY29uc3QgbmFtZSA9IHRoaXMubmFtZTtcbiAgICBjb25zdCBwYXJhbXMgPSB7fTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcGFyYW1zW3RoaXMubmFtZV0gPSB2YWx1ZS5qb2luKCcsJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcmFtc1tuYW1lXSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBlcnNpc3RhbmNlT2JqZWN0KCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5xdWVyeU9iamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkRGVmYXVsdFZhbHVlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdFZhbHVlRm4oKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgodmFsdWUpID0+IHtcbiAgICAgICAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IHZhbHVlO1xuXG4gICAgICAgICAgdGhpcy5faW5pdERlZmF1bHRNb2RlbCgpXG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fcGVuZGluZ0RlZmF1bHRWYWx1ZSA9IGZhbHNlO1xuICAgICAgICB9KVxuICAgICAgKVxuICB9XG5cbiAgcHVibGljIGluaXRWYWx1ZXMocGVyc2lzdGVkVmFsdWU6IHVua25vd24pIHtcbiAgICAvLyB0aGlzLl9pbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHRoaXMucGVyc2lzdGVkVmFsdWUgPSBwZXJzaXN0ZWRWYWx1ZTtcbiAgICB0aGlzLl9pbml0RGVmYXVsdE1vZGVsKCk7XG5cbiAgICBjb25zdCBpc0F1dG9jb21wbGV0ZSA9IHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuQXV0b0NvbXBsZXRlIHx8IHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuQXV0b0NvbXBsZXRlQ2hpcHM7XG5cbiAgICBpZiAodGhpcy5fdmFsdWVzRm4gJiYgIWlzQXV0b2NvbXBsZXRlKSB7XG4gICAgICBjb25zdCB2YWx1ZXNSZXN1bHQgPSB0aGlzLl92YWx1ZXNGbigpO1xuXG4gICAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlc1Jlc3VsdCkpIHtcbiAgICAgICAgdGhpcy5fcGVuZGluZ1ZhbHVlcyA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnZhbHVlcyA9IHZhbHVlc1Jlc3VsdDtcblxuICAgICAgICAvLyBNb3ZlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiAgICAgICAgdGhpcy5faW5pdCgpO1xuICAgICAgICAvLyB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5faW5pdCgpO1xuICAgICAgLy8gdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBsb2FkQXN5bmNWYWx1ZXMocmVsb2FkID0gdHJ1ZSkge1xuICAgIGlmIChyZWxvYWQgfHwgKCF0aGlzLmxvYWRpbmcgJiYgdGhpcy5oYXNQZW5kaW5nVmFsdWVzKSkge1xuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgKHRoaXMuX3ZhbHVlc0ZuKCkgYXMgT2JzZXJ2YWJsZTx1bmtub3duPilcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgodmFsdWVzKSA9PiB7XG4gICAgICAgICAgdGhpcy52YWx1ZXMgPSB2YWx1ZXM7XG4gICAgICAgICAgdGhpcy5fcGVuZGluZ1ZhbHVlcyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuX2luaXQoKTtcbiAgICAgICAgICB0aGlzLl92YWxpZGF0ZU1vZGVsKCk7XG4gICAgICAgICAgLy8gdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICB9KTtcblxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbGVhcihkZWZhdWx0VmFsdWU6IHVua25vd24gPSB1bmRlZmluZWQpIHtcbiAgICBpZiAodGhpcy5pc1R5cGVSYW5nZSB8fCB0aGlzLmlzVHlwZURhdGVSYW5nZSB8fCB0aGlzLmlzVHlwZURhdGVUaW1lUmFuZ2UpIHtcbiAgICAgIGNvbnNvbGUud2FybihgXG4gICAgICAgIEZpbHRlciAke3RoaXMubmFtZX0gY2FuIG5vdCBiZSBjbGVhcmVkIHdpdGggLmNsZWFyKCkgbWV0aG9kIVxuICAgICAgICBVc2Ugc3BlY2lhbCAuY2xlYXJSYW5nZSgpIG9yIGNsZWFyRGF0ZVJhbmdlKCkgaW5zdGVhZC5cbiAgICAgIGApXG4gICAgfVxuXG4gICAgdGhpcy5fY2xlYXIkLm5leHQoZGVmYXVsdFZhbHVlKTtcbiAgICB0aGlzLl9jbGVhclZhbHVlKGRlZmF1bHRWYWx1ZSk7XG4gIH07XG5cbiAgcHVibGljIGdldENoaXBzQ29udGVudCh0eXBlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuXG4gIHB1YmxpYyBkZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IF9pbml0KCk7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBfdmFsaWRhdGVNb2RlbCgpO1xuXG4gIHByb3RlY3RlZCBfc2V0TW9kZWwodmFsdWUpIHtcbiAgICB0aGlzLl9tb2RlbCA9IHZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9wYXJzZUNvbmZpZyhpdGVtOiBUKSB7XG4gICAgdGhpcy5uYW1lID0gaXRlbS5uYW1lO1xuICAgIHRoaXMubGFiZWwgPSBpdGVtLmxhYmVsO1xuICAgIHRoaXMuY2hpcExhYmVsID0gaXRlbS5jaGlwTGFiZWw7XG5cbiAgICBpZiAodHlwZW9mIGl0ZW0uZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhpcy5fcGVuZGluZ0RlZmF1bHRWYWx1ZSA9IHRydWU7XG4gICAgICB0aGlzLmRlZmF1bHRWYWx1ZUZuID0gaXRlbS5kZWZhdWx0O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IGl0ZW0uZGVmYXVsdDtcbiAgICB9XG5cbiAgICB0aGlzLmNoYW5nZSA9IGl0ZW0uY2hhbmdlO1xuICAgIHRoaXMuaGlkZSA9IGl0ZW0uaGlkZTtcbiAgICB0aGlzLmNsZWFyQWxsb3dlZCA9IGl0ZW0uY2xlYXIgPz8gdHJ1ZTtcbiAgICB0aGlzLnBlcnNpc3RhbmNlRGlzYWJsZWQgPSBpdGVtLmRpc2FibGVQZXJzaXN0ID8/IGZhbHNlO1xuICAgIHRoaXMucXVlcnlQYXJhbXNEaXNhYmxlZCA9IGl0ZW0uZGlzYWJsZVF1ZXJ5UGFyYW1zID8/IGZhbHNlO1xuXG4gICAgaWYgKGlzRnVuY3Rpb24oaXRlbS52YWx1ZXMpKSB7XG4gICAgICB0aGlzLl92YWx1ZXNGbiA9IGl0ZW0udmFsdWVzO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlcyA9IGl0ZW0udmFsdWVzO1xuICAgIH1cbiAgfTtcblxuICBwcm90ZWN0ZWQgX2luaXREZWZhdWx0TW9kZWwoKSB7XG4gICAgY29uc3QgbW9kZWwgPSB0aGlzLnBlcnNpc3RlZFZhbHVlID8/IHRoaXMuZGVmYXVsdFZhbHVlO1xuXG4gICAgaWYgKG1vZGVsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubW9kZWwgPSBtb2RlbDtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX2NsZWFyVmFsdWUoZGVmYXVsdFZhbHVlOiB1bmtub3duID0gdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5tb2RlbCA9IGRlZmF1bHRWYWx1ZSA/PyBudWxsO1xuICB9XG59XG4iXX0=
@@ -68,7 +68,7 @@ function findValue(values, value, children) {
68
68
  class BaseItem {
69
69
  constructor(itemConfig, _additionalConfig) {
70
70
  this._additionalConfig = _additionalConfig;
71
- this._initialized = false;
71
+ // protected _initialized = false;
72
72
  this._pendingValues = false;
73
73
  this._pendingDefaultValue = false;
74
74
  this._loading$ = new BehaviorSubject(false);
@@ -167,6 +167,9 @@ class BaseItem {
167
167
  set loading(value) {
168
168
  this._loading$.next(value);
169
169
  }
170
+ get _initialized() {
171
+ return !this._pendingDefaultValue && !this._pendingValues;
172
+ }
170
173
  valueChanged() {
171
174
  this._value$.next(this.value);
172
175
  if (this.change) {
@@ -195,12 +198,13 @@ class BaseItem {
195
198
  return this.defaultValueFn()
196
199
  .pipe(tap((value) => {
197
200
  this.defaultValue = value;
201
+ this._initDefaultModel();
198
202
  }), finalize(() => {
199
203
  this._pendingDefaultValue = false;
200
204
  }));
201
205
  }
202
206
  initValues(persistedValue) {
203
- this._initialized = false;
207
+ // this._initialized = false;
204
208
  this.persistedValue = persistedValue;
205
209
  this._initDefaultModel();
206
210
  const isAutocomplete = this.type === ItemType.AutoComplete || this.type === ItemType.AutoCompleteChips;
@@ -213,12 +217,12 @@ class BaseItem {
213
217
  this.values = valuesResult;
214
218
  // Move to some other place
215
219
  this._init();
216
- this._initialized = true;
220
+ // this._initialized = true;
217
221
  }
218
222
  }
219
223
  else {
220
224
  this._init();
221
- this._initialized = true;
225
+ // this._initialized = true;
222
226
  }
223
227
  }
224
228
  loadAsyncValues(reload = true) {
@@ -232,7 +236,7 @@ class BaseItem {
232
236
  this.loading = false;
233
237
  this._init();
234
238
  this._validateModel();
235
- this._initialized = true;
239
+ // this._initialized = true;
236
240
  });
237
241
  }
238
242
  }