@micropermit/client-angular 0.4.3 → 0.4.4-alpha1

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.
@@ -28,6 +28,7 @@ export class LinkFieldDirective {
28
28
  this.hasResult = false;
29
29
  this.subscription = null;
30
30
  this.linkFieldDefaultErrorHandling = false;
31
+ this.linkFieldParams = null;
31
32
  this._defaultLoadingComponent = componentResolver.resolveComponentFactory(MicroClientLoadingIndicatorComponent);
32
33
  this._defaultErrorComponent = componentResolver.resolveComponentFactory(MicroClientErrorIndicatorComponent);
33
34
  }
@@ -118,11 +119,11 @@ export class LinkFieldDirective {
118
119
  */
119
120
  ngDoCheck() {
120
121
  this.updateIfDirty();
121
- if (this._from) {
122
- if (this._from instanceof LinkField && this.lastObs !== this._from.listenObs()) {
123
- this.load();
124
- }
125
- }
122
+ // if (this._from) {
123
+ // if (this._from instanceof LinkField && this.lastObs !== this._from.listenObs()) {
124
+ // this.load();
125
+ // }
126
+ // }
126
127
  }
127
128
  /**
128
129
  * @return {?}
@@ -130,6 +131,22 @@ export class LinkFieldDirective {
130
131
  ngOnDestroy() {
131
132
  this.clear();
132
133
  }
134
+ /**
135
+ * @param {?} changes
136
+ * @return {?}
137
+ */
138
+ ngOnChanges(changes) {
139
+ if (changes.linkFieldFrom) {
140
+ if (!(this._from instanceof LinkField)) {
141
+ this._from = LinkField.from((/** @type {?} */ (this._from)));
142
+ }
143
+ }
144
+ if (changes.linkFieldParams && this.linkFieldParams) {
145
+ /** @type {?} */
146
+ let link = (/** @type {?} */ (this._from));
147
+ this._from = link.withCallParams(this.linkFieldParams);
148
+ }
149
+ }
133
150
  /**
134
151
  * @private
135
152
  * @param {?} error
@@ -239,7 +256,8 @@ LinkFieldDirective.propDecorators = {
239
256
  linkFieldErrorTemplate: [{ type: Input }],
240
257
  linkFieldTemplate: [{ type: Input }],
241
258
  linkFieldDefaultErrorHandling: [{ type: Input }],
242
- linkFieldValueChange: [{ type: Input }]
259
+ linkFieldValueChange: [{ type: Input }],
260
+ linkFieldParams: [{ type: Input }]
243
261
  };
244
262
  if (false) {
245
263
  /**
@@ -306,6 +324,8 @@ if (false) {
306
324
  LinkFieldDirective.prototype.linkFieldDefaultErrorHandling;
307
325
  /** @type {?} */
308
326
  LinkFieldDirective.prototype.linkFieldValueChange;
327
+ /** @type {?} */
328
+ LinkFieldDirective.prototype.linkFieldParams;
309
329
  /**
310
330
  * @type {?}
311
331
  * @private
@@ -342,4 +362,4 @@ if (false) {
342
362
  /** @type {?} */
343
363
  LinkFieldContext.prototype.$implicit;
344
364
  }
345
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2ZpZWxkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtaWNyb3Blcm1pdC9jbGllbnQtYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2xpbmtmaWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBR2IsaUJBQWlCLEVBQy9CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUc3QyxPQUFPLEVBQUMsb0NBQW9DLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFNeEMsTUFBTSxPQUFPLGtCQUFrQjs7Ozs7OztJQWtCM0IsWUFDWSxjQUFnQyxFQUNoQyxTQUEyQyxFQUMzQyxpQkFBMkMsRUFDM0MsaUJBQW9DO1FBSHBDLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUNoQyxjQUFTLEdBQVQsU0FBUyxDQUFrQztRQUMzQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTBCO1FBQzNDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFkeEMsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsaUJBQVksR0FBTSxJQUFJLENBQUM7UUFDdkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUdsQixpQkFBWSxHQUFpQixJQUFJLENBQUM7UUE2QzFDLGtDQUE2QixHQUFHLEtBQUssQ0FBQztRQW5DbEMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDaEgsSUFBSSxDQUFD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R0FBRyxJQUFJLENBQUM7U0FDNUI7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDOzs7WUFqTEosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSw0QkFBNEI7YUFDekM7Ozs7WUFoQkcsZ0JBQWdCO1lBRGhCLFdBQVc7WUFFWCx3QkFBd0I7WUFHYixpQkFBaUI7Ozs0QkF5QzNCLEtBQUs7dUNBT0wsS0FBSztxQ0FRTCxLQUFLO2dDQVFMLEtBQUs7NENBT0wsS0FBSzttQ0FHTCxLQUFLOzs7Ozs7O0lBM0ROLG1DQUFnQzs7Ozs7SUFDaEMsOENBQTJDOzs7OztJQUMzQyw0Q0FBeUM7Ozs7O0lBQ3pDLHNEQUF5Rjs7Ozs7SUFDekYsb0RBQXFGOzs7OztJQUVyRixxQ0FBdUI7Ozs7O0lBQ3ZCLHVDQUEwQjs7Ozs7SUFDMUIsMENBQStCOzs7OztJQUMvQix1Q0FBMEI7Ozs7O0lBRTFCLHFDQUErQjs7Ozs7SUFDL0IsMENBQTBDOzs7OztJQUUxQyw0Q0FBNEM7O0lBMEM1QywyREFDc0M7O0lBRXRDLGtEQUNrQzs7Ozs7SUEzQzlCLDRDQUF3Qzs7Ozs7SUFDeEMsdUNBQW1EOzs7OztJQUNuRCwrQ0FBbUQ7Ozs7O0lBQ25ELCtDQUE0Qzs7Ozs7QUEySnBELE1BQU0sT0FBTyxnQkFBZ0I7Ozs7SUFFekIsWUFBbUIsU0FBWTtRQUFaLGNBQVMsR0FBVCxTQUFTLENBQUc7SUFDL0IsQ0FBQztDQUNKOzs7SUFGZSxxQ0FBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBJbnB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBDb21wb25lbnRGYWN0b3J5LFxuICAgIERvQ2hlY2ssXG4gICAgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xpbmtGaWVsZH0gZnJvbSAnLi4vbGlua3MvbGlua2ZpZWxkJztcbmltcG9ydCB7TWljcm9PYmplY3R9IGZyb20gJy4uL21pY3Jvb2JqZWN0JztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7TWljcm9DbGllbnRMb2FkaW5nSW5kaWNhdG9yQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnRzL2xvYWRpbmdpbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7TWljcm9DbGllbnRFcnJvckluZGljYXRvckNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50cy9lcnJvcmluZGljYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHtmaW5hbGl6ZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtNaWNyb0NsaWVudExvYWRFcnJvcn0gZnJvbSAnLi4vbWljcm9jbGllbnQuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2xpbmtGaWVsZF1bbGlua0ZpZWxkRnJvbV0nXG59KVxuZXhwb3J0IGNsYXNzIExpbmtGaWVsZERpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIERvQ2hlY2ssIE9uRGVzdHJveSB7XG5cbiAgICBwcml2YXRlIF9mcm9tOiBMaW5rRmllbGQ8VD4gfCBUO1xuICAgIHByaXZhdGUgX2xvYWRpbmdUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBwcml2YXRlIF9lcnJvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIHByaXZhdGUgX2RlZmF1bHRMb2FkaW5nQ29tcG9uZW50OiBDb21wb25lbnRGYWN0b3J5PE1pY3JvQ2xpZW50TG9hZGluZ0luZGljYXRvckNvbXBvbmVudD47XG4gICAgcHJpdmF0ZSBfZGVmYXVsdEVycm9yQ29tcG9uZW50OiBDb21wb25lbnRGYWN0b3J5PE1pY3JvQ2xpZW50RXJyb3JJbmRpY2F0b3JDb21wb25lbnQ+O1xuXG4gICAgcHJpdmF0ZSBpc0RpcnR5ID0gdHJ1ZTtcbiAgICBwcml2YXRlIGlzTG9hZGluZyA9IGZhbHNlO1xuICAgIHByaXZhdGUgbG9hZGVkUmVzdWx0OiBUID0gbnVsbDtcbiAgICBwcml2YXRlIGhhc1Jlc3VsdCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBsYXN0T2JzOiBPYnNlcnZhYmxlPFQ+O1xuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBudWxsO1xuXG4gICAgcHJpdmF0ZSBjdXJyZW50Q29udGV4dDogTGlua0ZpZWxkQ29udGV4dDxUPjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIF90ZW1wbGF0ZTogVGVtcGxhdGVSZWY8TGlua0ZpZWxkQ29udGV4dDxUPj4sXG4gICAgICAgIHByaXZhdGUgY29tcG9uZW50UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgdGhpcy5fZGVmYXVsdExvYWRpbmdDb21wb25lbnQgPSBjb21wb25lbnRSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShNaWNyb0NsaWVudExvYWRpbmdJbmRpY2F0b3JDb21wb25lbnQpO1xuICAgICAgICB0aGlzLl9kZWZhdWx0RXJyb3JDb21wb25lbnQgPSBjb21wb25lbnRSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShNaWNyb0NsaWVudEVycm9ySW5kaWNhdG9yQ29tcG9uZW50KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBsaW5rRmllbGRGcm9tKGZyb206IExpbmtGaWVsZDxUPikge1xuICAgICAgICB0aGlzLl9mcm9tID0gZnJvbTtcbiAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICB0aGlzLmxvYWQoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBsaW5rRmllbGRMb2FkaW5nVGVtcGxhdGUobG9hZGluZ1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgICAgIGlmIChsb2FkaW5nVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2xvYWRpbmdUZW1wbGF0ZSA9IGxvYWRpbmdUZW1wbGF0ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVwZGF0ZUlmRGlydHkodHJ1ZSk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgbGlua0ZpZWxkRXJyb3JUZW1wbGF0ZShlcnJvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgICAgIGlmIChlcnJvclRlbXBsYXRlKSB7XG4gICAgICAgICAgICB0aGlzLl9lcnJvclRlbXBsYXRlID0gZXJyb3JUZW1wbGF0ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVwZGF0ZUlmRGlydHkodHJ1ZSk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgbGlua0ZpZWxkVGVtcGxhdGUodmFsdWU6IFRlbXBsYXRlUmVmPExpbmtGaWVsZENvbnRleHQ8VD4+KSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdGVtcGxhdGUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgbGlua0ZpZWxkRGVmYXVsdEVycm9ySGFuZGxpbmcgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgbGlua0ZpZWxkVmFsdWVDaGFuZ2U6IChUKSA9PiB2b2lkO1xuXG4gICAgcHJpdmF0ZSBsb2FkKCkge1xuICAgICAgICBpZiAodGhpcy5fZnJvbSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2Zyb20gaW5zdGFuY2VvZiBMaW5rRmllbGQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldExvYWRpbmcodHJ1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5sYXN0T2JzID0gdGhpcy5fZnJvbS5saXN0ZW5PYnMoKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmxhc3RPYnMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApLnN1YnNjcmliZSgobG9hZGVkUmVzdWx0OiBUKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGVkUmVzdWx0KGxvYWRlZFJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmxpbmtGaWVsZFZhbHVlQ2hhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxpbmtGaWVsZFZhbHVlQ2hhbmdlKGxvYWRlZFJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCAobG9hZEVycm9yOiBNaWNyb0NsaWVudExvYWRFcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMubGlua0ZpZWxkRGVmYXVsdEVycm9ySGFuZGxpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRFcnJvci5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RXJyb3IobG9hZEVycm9yKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRMb2FkZWRSZXN1bHQodGhpcy5fZnJvbSk7XG4gICAgICAgICAgICAgICAgLy8gdGhpcy5zZXRMb2FkZWRSZXN1bHQodGhpcy5fZnJvbSk7XG4gICAgICAgICAgICAgICAgLy8gdGhyb3cgbmV3IEVycm9yKCdDYW5cXCd0IHVzZSB0aGUgbGlua0ZpZWxkIGRpcmVjdGl2ZSB3aXRoIGEgZnJvbSB2YWx1ZSB3aGljaCBpc25cXCd0IGFuIGluc3RhbmNlIG9mIExpbmtGaWVsZCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBuZ0RvQ2hlY2soKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSWZEaXJ0eSgpO1xuICAgICAgICBpZiAodGhpcy5fZnJvbSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2Zyb20gaW5zdGFuY2VvZiBMaW5rRmllbGQgJiYgdGhpcy5sYXN0T2JzICE9PSB0aGlzLl9mcm9tLmxpc3Rlbk9icygpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RXJyb3IoZXJyb3I6IE1pY3JvQ2xpZW50TG9hZEVycm9yKSB7XG4gICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXIucmVtb3ZlKCk7XG4gICAgICAgIGlmICh0aGlzLl9lcnJvclRlbXBsYXRlKSB7XG4gICAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLl9lcnJvclRlbXBsYXRlLCB7XG4gICAgICAgICAgICAgICAgJGltcGxpY2l0OiBlcnJvclxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsZXQgZXJyb3JDb21wb25lbnRJbnN0YW5jZSA9IHRoaXMuX3ZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KHRoaXMuX2RlZmF1bHRFcnJvckNvbXBvbmVudCk7XG4gICAgICAgICAgICBlcnJvckNvbXBvbmVudEluc3RhbmNlLmluc3RhbmNlWydlcnJvciddID0gZXJyb3I7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIHByaXZhdGUgc2V0TG9hZGluZyhsb2FkaW5nOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gbG9hZGluZztcbiAgICAgICAgaWYgKHRoaXMuaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fbG9hZGluZ1RlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lci5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLl9sb2FkaW5nVGVtcGxhdGUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KHRoaXMuX2RlZmF1bHRMb2FkaW5nQ29tcG9uZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TG9hZGVkUmVzdWx0KHJlc3VsdDogVCkge1xuICAgICAgICB0aGlzLmhhc1Jlc3VsdCA9IHRydWU7XG4gICAgICAgIHRoaXMubG9hZGVkUmVzdWx0ID0gcmVzdWx0O1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50Q29udGV4dCA9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRDb250ZXh0ID0gbmV3IExpbmtGaWVsZENvbnRleHQ8VD4ocmVzdWx0KTtcbiAgICAgICAgICAgIHRoaXMuaXNEaXJ0eSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRDb250ZXh0LiRpbXBsaWNpdCA9IHJlc3VsdDtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLl92aWV3Q29udGFpbmVyIHx8ICF0aGlzLl90ZW1wbGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5pc0RpcnR5ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRGlydHkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX3RlbXBsYXRlLCB0aGlzLmN1cnJlbnRDb250ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlSWZEaXJ0eShpZ25vcmVEaXJ0eTogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIGlmICgodGhpcy5pc0RpcnR5IHx8IGlnbm9yZURpcnR5KSAmJiB0aGlzLl9sb2FkaW5nVGVtcGxhdGUgJiYgdGhpcy5fZnJvbSAmJiB0aGlzLl90ZW1wbGF0ZSAmJiB0aGlzLl92aWV3Q29udGFpbmVyKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5oYXNSZXN1bHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldExvYWRlZFJlc3VsdCh0aGlzLmxvYWRlZFJlc3VsdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmlzRGlydHkgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXIoKSB7XG4gICAgICAgIHRoaXMuaGFzUmVzdWx0ID0gZmFsc2U7XG4gICAgICAgIHRoaXMubG9hZGVkUmVzdWx0ID0gbnVsbDtcbiAgICAgICAgdGhpcy5pc0RpcnR5ID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxhc3RPYnMgPSBudWxsO1xuICAgICAgICB0aGlzLmN1cnJlbnRDb250ZXh0ID0gbnVsbDtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaW5rRmllbGRDb250ZXh0PFQ+IHtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyAkaW1wbGljaXQ6IFQpIHtcbiAgICB9XG59XG4iXX0=
365
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2ZpZWxkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtaWNyb3Blcm1pdC9jbGllbnQtYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2xpbmtmaWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBR2IsaUJBQWlCLEVBQy9CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUc3QyxPQUFPLEVBQUMsb0NBQW9DLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFNeEMsTUFBTSxPQUFPLGtCQUFrQjs7Ozs7OztJQWlCM0IsWUFDWSxjQUFnQyxFQUNoQyxTQUEyQyxFQUMzQyxpQkFBMkMsRUFDM0MsaUJBQW9DO1FBSHBDLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUNoQyxjQUFTLEdBQVQsU0FBUyxDQUFrQztRQUMzQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTBCO1FBQzNDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFkeEMsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsaUJBQVksR0FBTSxJQUFJLENBQUM7UUFDdkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUdsQixpQkFBWSxHQUFpQixJQUFJLENBQUM7UUE2QzFDLGtDQUE2QixHQUFHLEtBQUssQ0FBQztRQU10QyxvQkFBZSxHQUFXLElBQUksQ0FBQztRQXpDM0IsSUFBSSxDQUFDLHdCQUF3QixHQUFHLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDaEgsSUFBSSxDQUFDLHNCQUFzQixHQUFHLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDaEgsQ0FBQzs7Ozs7SUFFRCxJQUNJLGFBQWEsQ0FBQyxJQUFzQjtRQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQzs7Ozs7SUFFRCxJQUNJLHdCQUF3QixDQUFDLGVBQWlDO1FBQzFELElBQUksZUFBZSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7U0FDM0M7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7Ozs7O0lBRUQsSUFDSSxzQkFBc0IsQ0FBQyxhQUErQjtRQUN0RCxJQUFJLGFBQWEsRUFBRTtZQUNmLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1NBQ3ZDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDOzs7OztJQUVELElBQ0ksaUJBQWlCLENBQUMsS0FBdUM7UUFDekQsSUFBSSxLQUFLLEVBQUU7WUFDUCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztTQUMxQjtJQUNMLENBQUM7Ozs7O0lBWU8sSUFBSTtRQUNSLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLElBQUksSUFBSSxDQUFDLEtBQUssWUFBWSxTQUFTLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO29CQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO2lCQUNuQztnQkFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNqQyxRQUFROzs7Z0JBQUMsR0FBRyxFQUFFO29CQUNWLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNCLENBQUMsRUFBQyxDQUNMLENBQUMsU0FBUzs7OztnQkFBQyxDQUFDLFlBQWUsRUFBRSxFQUFFO29CQUM1QixJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUNuQyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTt3QkFDM0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxDQUFDO3FCQUMzQztnQkFDTCxDQUFDOzs7O2dCQUFFLENBQUMsU0FBK0IsRUFBRSxFQUFFO29CQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLDZCQUE2QixFQUFFO3dCQUNyQyxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7cUJBQzlCO29CQUNELElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzdCLENBQUMsRUFBQyxDQUFDO2FBQ047aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pDLG9DQUFvQztnQkFDcEMsaUhBQWlIO2FBQ3BIO1NBQ0o7SUFDTCxDQUFDOzs7O0lBR0QsU0FBUztRQUNMLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixvQkFBb0I7UUFDcEIsd0ZBQXdGO1FBQ3hGLHVCQUF1QjtRQUN2QixRQUFRO1FBQ1IsSUFBSTtJQUNSLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pCLENBQUM7Ozs7O0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUN2QixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxZQUFZLFNBQVMsQ0FBQyxFQUFFO2dCQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUJBQUEsSUFBSSxDQUFDLEtBQUssRUFBTyxDQUFDLENBQUM7YUFDbEQ7U0FDSjtRQUVELElBQUksT0FBTyxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFOztnQkFDN0MsSUFBSSxHQUFHLG1CQUFBLElBQUksQ0FBQyxLQUFLLEVBQWdCO1lBQ3JDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDMUQ7SUFDTCxDQUFDOzs7Ozs7SUFFTyxRQUFRLENBQUMsS0FBMkI7UUFDeEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3QixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUN4RCxTQUFTLEVBQUUsS0FBSzthQUNuQixDQUFDLENBQUM7U0FDTjthQUFNOztnQkFDQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUM7WUFDN0Ysc0JBQXNCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUNwRDtJQUNMLENBQUM7Ozs7OztJQUdPLFVBQVUsQ0FBQyxPQUFnQjtRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDakU7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7YUFDdEU7U0FDSjtJQUNMLENBQUM7Ozs7OztJQUVPLGVBQWUsQ0FBQyxNQUFTO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBQzNCLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQUU7WUFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGdCQUFnQixDQUFJLE1BQU0sQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3ZCO2FBQU07WUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUM7WUFDdkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3ZCO2FBQU07WUFDSCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUMvRTtTQUNKO0lBQ0wsQ0FBQzs7Ozs7O0lBRU8sYUFBYSxDQUFDLGNBQXVCLEtBQUs7UUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQy9HLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDM0M7WUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN4QjtJQUNMLENBQUM7Ozs7O0lBRU8sS0FBSztRQUNULElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQzVCO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDL0IsQ0FBQzs7O1lBak1KLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsNEJBQTRCO2FBQ3pDOzs7O1lBaEJHLGdCQUFnQjtZQURoQixXQUFXO1lBRVgsd0JBQXdCO1lBR2IsaUJBQWlCOzs7NEJBd0MzQixLQUFLO3VDQU9MLEtBQUs7cUNBUUwsS0FBSztnQ0FRTCxLQUFLOzRDQU9MLEtBQUs7bUNBR0wsS0FBSzs4QkFHTCxLQUFLOzs7Ozs7O0lBOUROLG1DQUFnQzs7Ozs7SUFDaEMsOENBQTJDOzs7OztJQUMzQyw0Q0FBeUM7Ozs7O0lBQ3pDLHNEQUF5Rjs7Ozs7SUFDekYsb0RBQXFGOzs7OztJQUVyRixxQ0FBdUI7Ozs7O0lBQ3ZCLHVDQUEwQjs7Ozs7SUFDMUIsMENBQStCOzs7OztJQUMvQix1Q0FBMEI7Ozs7O0lBRTFCLHFDQUErQjs7Ozs7SUFDL0IsMENBQTBDOzs7OztJQUUxQyw0Q0FBNEM7O0lBMEM1QywyREFDc0M7O0lBRXRDLGtEQUNrQzs7SUFFbEMsNkNBQytCOzs7OztJQTlDM0IsNENBQXdDOzs7OztJQUN4Qyx1Q0FBbUQ7Ozs7O0lBQ25ELCtDQUFtRDs7Ozs7SUFDbkQsK0NBQTRDOzs7OztBQTRLcEQsTUFBTSxPQUFPLGdCQUFnQjs7OztJQUV6QixZQUFtQixTQUFZO1FBQVosY0FBUyxHQUFULFNBQVMsQ0FBRztJQUMvQixDQUFDO0NBQ0o7OztJQUZlLHFDQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIElucHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIENvbXBvbmVudEZhY3RvcnksXG4gICAgRG9DaGVjayxcbiAgICBPbkRlc3Ryb3ksIENoYW5nZURldGVjdG9yUmVmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMaW5rRmllbGR9IGZyb20gJy4uL2xpbmtzL2xpbmtmaWVsZCc7XG5pbXBvcnQge01pY3JvT2JqZWN0fSBmcm9tICcuLi9taWNyb29iamVjdCc7XG5pbXBvcnQge09ic2VydmFibGUsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge01pY3JvQ2xpZW50TG9hZGluZ0luZGljYXRvckNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50cy9sb2FkaW5naW5kaWNhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQge01pY3JvQ2xpZW50RXJyb3JJbmRpY2F0b3JDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvZXJyb3JpbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7ZmluYWxpemV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TWljcm9DbGllbnRMb2FkRXJyb3J9IGZyb20gJy4uL21pY3JvY2xpZW50LnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tsaW5rRmllbGRdW2xpbmtGaWVsZEZyb21dJ1xufSlcbmV4cG9ydCBjbGFzcyBMaW5rRmllbGREaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBEb0NoZWNrLCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSBfZnJvbTogTGlua0ZpZWxkPFQ+IHwgVDtcbiAgICBwcml2YXRlIF9sb2FkaW5nVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgcHJpdmF0ZSBfZXJyb3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBwcml2YXRlIF9kZWZhdWx0TG9hZGluZ0NvbXBvbmVudDogQ29tcG9uZW50RmFjdG9yeTxNaWNyb0NsaWVudExvYWRpbmdJbmRpY2F0b3JDb21wb25lbnQ+O1xuICAgIHByaXZhdGUgX2RlZmF1bHRFcnJvckNvbXBvbmVudDogQ29tcG9uZW50RmFjdG9yeTxNaWNyb0NsaWVudEVycm9ySW5kaWNhdG9yQ29tcG9uZW50PjtcblxuICAgIHByaXZhdGUgaXNEaXJ0eSA9IHRydWU7XG4gICAgcHJpdmF0ZSBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgICBwcml2YXRlIGxvYWRlZFJlc3VsdDogVCA9IG51bGw7XG4gICAgcHJpdmF0ZSBoYXNSZXN1bHQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgbGFzdE9iczogT2JzZXJ2YWJsZTxUPjtcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcblxuICAgIHByaXZhdGUgY3VycmVudENvbnRleHQ6IExpbmtGaWVsZENvbnRleHQ8VD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBfdGVtcGxhdGU6IFRlbXBsYXRlUmVmPExpbmtGaWVsZENvbnRleHQ8VD4+LFxuICAgICAgICBwcml2YXRlIGNvbXBvbmVudFJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRMb2FkaW5nQ29tcG9uZW50ID0gY29tcG9uZW50UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoTWljcm9DbGllbnRMb2FkaW5nSW5kaWNhdG9yQ29tcG9uZW50KTtcbiAgICAgICAgdGhpcy5fZGVmYXVsdEVycm9yQ29tcG9uZW50ID0gY29tcG9uZW50UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoTWljcm9DbGllbnRFcnJvckluZGljYXRvckNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgbGlua0ZpZWxkRnJvbShmcm9tOiBMaW5rRmllbGQ8VD4gfCBUKSB7XG4gICAgICAgIHRoaXMuX2Zyb20gPSBmcm9tO1xuICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgIHRoaXMubG9hZCgpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGxpbmtGaWVsZExvYWRpbmdUZW1wbGF0ZShsb2FkaW5nVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICAgICAgaWYgKGxvYWRpbmdUZW1wbGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5fbG9hZGluZ1RlbXBsYXRlID0gbG9hZGluZ1RlbXBsYXRlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXBkYXRlSWZEaXJ0eSh0cnVlKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBsaW5rRmllbGRFcnJvclRlbXBsYXRlKGVycm9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICAgICAgaWYgKGVycm9yVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2Vycm9yVGVtcGxhdGUgPSBlcnJvclRlbXBsYXRlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXBkYXRlSWZEaXJ0eSh0cnVlKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBsaW5rRmllbGRUZW1wbGF0ZSh2YWx1ZTogVGVtcGxhdGVSZWY8TGlua0ZpZWxkQ29udGV4dDxUPj4pIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl90ZW1wbGF0ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBsaW5rRmllbGREZWZhdWx0RXJyb3JIYW5kbGluZyA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBsaW5rRmllbGRWYWx1ZUNoYW5nZTogKFQpID0+IHZvaWQ7XG5cbiAgICBASW5wdXQoKVxuICAgIGxpbmtGaWVsZFBhcmFtczogb2JqZWN0ID0gbnVsbDtcblxuXG4gICAgcHJpdmF0ZSBsb2FkKCkge1xuICAgICAgICBpZiAodGhpcy5fZnJvbSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2Zyb20gaW5zdGFuY2VvZiBMaW5rRmllbGQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldExvYWRpbmcodHJ1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5sYXN0T2JzID0gdGhpcy5fZnJvbS5saXN0ZW5PYnMoKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmxhc3RPYnMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApLnN1YnNjcmliZSgobG9hZGVkUmVzdWx0OiBUKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGVkUmVzdWx0KGxvYWRlZFJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmxpbmtGaWVsZFZhbHVlQ2hhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxpbmtGaWVsZFZhbHVlQ2hhbmdlKGxvYWRlZFJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCAobG9hZEVycm9yOiBNaWNyb0NsaWVudExvYWRFcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMubGlua0ZpZWxkRGVmYXVsdEVycm9ySGFuZGxpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRFcnJvci5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RXJyb3IobG9hZEVycm9yKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRMb2FkZWRSZXN1bHQodGhpcy5fZnJvbSk7XG4gICAgICAgICAgICAgICAgLy8gdGhpcy5zZXRMb2FkZWRSZXN1bHQodGhpcy5fZnJvbSk7XG4gICAgICAgICAgICAgICAgLy8gdGhyb3cgbmV3IEVycm9yKCdDYW5cXCd0IHVzZSB0aGUgbGlua0ZpZWxkIGRpcmVjdGl2ZSB3aXRoIGEgZnJvbSB2YWx1ZSB3aGljaCBpc25cXCd0IGFuIGluc3RhbmNlIG9mIExpbmtGaWVsZCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBuZ0RvQ2hlY2soKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSWZEaXJ0eSgpO1xuICAgICAgICAvLyBpZiAodGhpcy5fZnJvbSkge1xuICAgICAgICAvLyAgICAgaWYgKHRoaXMuX2Zyb20gaW5zdGFuY2VvZiBMaW5rRmllbGQgJiYgdGhpcy5sYXN0T2JzICE9PSB0aGlzLl9mcm9tLmxpc3Rlbk9icygpKSB7XG4gICAgICAgIC8vICAgICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMubGlua0ZpZWxkRnJvbSkge1xuICAgICAgICAgICAgaWYgKCEodGhpcy5fZnJvbSBpbnN0YW5jZW9mIExpbmtGaWVsZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9mcm9tID0gTGlua0ZpZWxkLmZyb20odGhpcy5fZnJvbSBhcyBhbnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXMubGlua0ZpZWxkUGFyYW1zICYmIHRoaXMubGlua0ZpZWxkUGFyYW1zKSB7XG4gICAgICAgICAgICBsZXQgbGluayA9IHRoaXMuX2Zyb20gYXMgTGlua0ZpZWxkPFQ+O1xuICAgICAgICAgICAgdGhpcy5fZnJvbSA9IGxpbmsud2l0aENhbGxQYXJhbXModGhpcy5saW5rRmllbGRQYXJhbXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRFcnJvcihlcnJvcjogTWljcm9DbGllbnRMb2FkRXJyb3IpIHtcbiAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lci5yZW1vdmUoKTtcbiAgICAgICAgaWYgKHRoaXMuX2Vycm9yVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX2Vycm9yVGVtcGxhdGUsIHtcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGVycm9yXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxldCBlcnJvckNvbXBvbmVudEluc3RhbmNlID0gdGhpcy5fdmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQodGhpcy5fZGVmYXVsdEVycm9yQ29tcG9uZW50KTtcbiAgICAgICAgICAgIGVycm9yQ29tcG9uZW50SW5zdGFuY2UuaW5zdGFuY2VbJ2Vycm9yJ10gPSBlcnJvcjtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBzZXRMb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBsb2FkaW5nO1xuICAgICAgICBpZiAodGhpcy5pc0xvYWRpbmcpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9sb2FkaW5nVGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX2xvYWRpbmdUZW1wbGF0ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXIucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQodGhpcy5fZGVmYXVsdExvYWRpbmdDb21wb25lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRMb2FkZWRSZXN1bHQocmVzdWx0OiBUKSB7XG4gICAgICAgIHRoaXMuaGFzUmVzdWx0ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5sb2FkZWRSZXN1bHQgPSByZXN1bHQ7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRDb250ZXh0ID09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudENvbnRleHQgPSBuZXcgTGlua0ZpZWxkQ29udGV4dDxUPihyZXN1bHQpO1xuICAgICAgICAgICAgdGhpcy5pc0RpcnR5ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudENvbnRleHQuJGltcGxpY2l0ID0gcmVzdWx0O1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuX3ZpZXdDb250YWluZXIgfHwgIXRoaXMuX3RlbXBsYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmlzRGlydHkgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNEaXJ0eSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXIucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fdGVtcGxhdGUsIHRoaXMuY3VycmVudENvbnRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVJZkRpcnR5KGlnbm9yZURpcnR5OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKCh0aGlzLmlzRGlydHkgfHwgaWdub3JlRGlydHkpICYmIHRoaXMuX2xvYWRpbmdUZW1wbGF0ZSAmJiB0aGlzLl9mcm9tICYmIHRoaXMuX3RlbXBsYXRlICYmIHRoaXMuX3ZpZXdDb250YWluZXIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc1Jlc3VsdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGVkUmVzdWx0KHRoaXMubG9hZGVkUmVzdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaXNEaXJ0eSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5oYXNSZXN1bHQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5sb2FkZWRSZXN1bHQgPSBudWxsO1xuICAgICAgICB0aGlzLmlzRGlydHkgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubGFzdE9icyA9IG51bGw7XG4gICAgICAgIHRoaXMuY3VycmVudENvbnRleHQgPSBudWxsO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIExpbmtGaWVsZENvbnRleHQ8VD4ge1xuXG4gICAgY29uc3RydWN0b3IocHVibGljICRpbXBsaWNpdDogVCkge1xuICAgIH1cbn1cbiJdfQ==
@@ -22,6 +22,7 @@ var LinkFieldDirective = /** @class */ (function () {
22
22
  this.hasResult = false;
23
23
  this.subscription = null;
24
24
  this.linkFieldDefaultErrorHandling = false;
25
+ this.linkFieldParams = null;
25
26
  this._defaultLoadingComponent = componentResolver.resolveComponentFactory(MicroClientLoadingIndicatorComponent);
26
27
  this._defaultErrorComponent = componentResolver.resolveComponentFactory(MicroClientErrorIndicatorComponent);
27
28
  }
@@ -136,11 +137,11 @@ var LinkFieldDirective = /** @class */ (function () {
136
137
  */
137
138
  function () {
138
139
  this.updateIfDirty();
139
- if (this._from) {
140
- if (this._from instanceof LinkField && this.lastObs !== this._from.listenObs()) {
141
- this.load();
142
- }
143
- }
140
+ // if (this._from) {
141
+ // if (this._from instanceof LinkField && this.lastObs !== this._from.listenObs()) {
142
+ // this.load();
143
+ // }
144
+ // }
144
145
  };
145
146
  /**
146
147
  * @return {?}
@@ -151,6 +152,26 @@ var LinkFieldDirective = /** @class */ (function () {
151
152
  function () {
152
153
  this.clear();
153
154
  };
155
+ /**
156
+ * @param {?} changes
157
+ * @return {?}
158
+ */
159
+ LinkFieldDirective.prototype.ngOnChanges = /**
160
+ * @param {?} changes
161
+ * @return {?}
162
+ */
163
+ function (changes) {
164
+ if (changes.linkFieldFrom) {
165
+ if (!(this._from instanceof LinkField)) {
166
+ this._from = LinkField.from((/** @type {?} */ (this._from)));
167
+ }
168
+ }
169
+ if (changes.linkFieldParams && this.linkFieldParams) {
170
+ /** @type {?} */
171
+ var link = (/** @type {?} */ (this._from));
172
+ this._from = link.withCallParams(this.linkFieldParams);
173
+ }
174
+ };
154
175
  /**
155
176
  * @private
156
177
  * @param {?} error
@@ -284,7 +305,8 @@ var LinkFieldDirective = /** @class */ (function () {
284
305
  linkFieldErrorTemplate: [{ type: Input }],
285
306
  linkFieldTemplate: [{ type: Input }],
286
307
  linkFieldDefaultErrorHandling: [{ type: Input }],
287
- linkFieldValueChange: [{ type: Input }]
308
+ linkFieldValueChange: [{ type: Input }],
309
+ linkFieldParams: [{ type: Input }]
288
310
  };
289
311
  return LinkFieldDirective;
290
312
  }());
@@ -354,6 +376,8 @@ if (false) {
354
376
  LinkFieldDirective.prototype.linkFieldDefaultErrorHandling;
355
377
  /** @type {?} */
356
378
  LinkFieldDirective.prototype.linkFieldValueChange;
379
+ /** @type {?} */
380
+ LinkFieldDirective.prototype.linkFieldParams;
357
381
  /**
358
382
  * @type {?}
359
383
  * @private
@@ -395,4 +419,4 @@ if (false) {
395
419
  /** @type {?} */
396
420
  LinkFieldContext.prototype.$implicit;
397
421
  }
398
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2ZpZWxkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtaWNyb3Blcm1pdC9jbGllbnQtYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2xpbmtmaWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBR2IsaUJBQWlCLEVBQy9CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUc3QyxPQUFPLEVBQUMsb0NBQW9DLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFHeEM7SUFxQkksNEJBQ1ksY0FBZ0MsRUFDaEMsU0FBMkMsRUFDM0MsaUJBQTJDLEVBQzNDLGlCQUFvQztRQUhwQyxtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUFDaEMsY0FBUyxHQUFULFNBQVMsQ0FBa0M7UUFDM0Msc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtRQUMzQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBZHhDLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQU0sSUFBSSxDQUFDO1FBQ3ZCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFHbEIsaUJBQVksR0FBaUIsSUFBSSxDQUFDO1FBNkMxQyxrQ0FBNkIsR0FBRyxLQUFLLENBQUM7UUFuQ2xDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1FBQ2hILElBQUksQ0FBQyxzQkFBc0IsR0FBRyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBQ2hILENBQUM7SUFFRCxzQkFDSSw2Q0FBYTs7Ozs7UUFEakIsVUFDa0IsSUFBa0I7WUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hCLENBQUM7OztPQUFBO0lBRUQsc0JBQ0ksd0RBQXdCOzs7OztRQUQ1QixVQUM2QixlQUFpQztZQUMxRCxJQUFJLGVBQWUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQzthQUMzQztZQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsQ0FBQzs7O09BQUE7SUFFRCxzQkFDSSxzREFBc0I7Ozs7O1FBRDFCLFVBQzJCLGFBQStCO1lBQ3RELElBQUksYUFBYSxFQUFFO2dCQUNmLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO2FBQ3ZDO1lBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixDQUFDOzs7T0FBQTtJQUVELHNCQUNJLGlEQUFpQjs7Ozs7UUFEckIsVUFDc0IsS0FBdUM7WUFDekQsSUFBSSxLQUFLLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7YUFDMUI7UUFDTCxDQUFDOzs7T0FBQTs7Ozs7SUFRTyxpQ0FBSTs7OztJQUFaO1FBQUEsaUJBNkJDO1FBNUJHLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLElBQUksSUFBSSxDQUFDLEtBQUssWUFBWSxTQUFTLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO29CQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO2lCQUNuQztnQkFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNqQyxRQUFROzs7Z0JBQUM7b0JBQ0wsS0FBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0IsQ0FBQyxFQUFDLENBQ0wsQ0FBQyxTQUFTOzs7O2dCQUFDLFVBQUMsWUFBZTtvQkFDeEIsS0FBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDbkMsSUFBSSxLQUFJLENBQUMsb0JBQW9CLEVBQUU7d0JBQzNCLEtBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztxQkFDM0M7Z0JBQ0wsQ0FBQzs7OztnQkFBRSxVQUFDLFNBQStCO29CQUMvQixJQUFJLENBQUMsS0FBSSxDQUFDLDZCQUE2QixFQUFFO3dCQUNyQyxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7cUJBQzlCO29CQUNELEtBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzdCLENBQUMsRUFBQyxDQUFDO2FBQ047aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pDLG9DQUFvQztnQkFDcEMsaUhBQWlIO2FBQ3BIO1NBQ0o7SUFDTCxDQUFDOzs7O0lBR0Qsc0NBQVM7OztJQUFUO1FBQ0ksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLElBQUksSUFBSSxDQUFDLEtBQUssWUFBWSxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUM1RSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDZjtTQUNKO0lBQ0wsQ0FBQzs7OztJQUVELHdDQUFXOzs7SUFBWDtRQUNJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqQixDQUFDOzs7Ozs7SUFFTyxxQ0FBUTs7Ozs7SUFBaEIsVUFBaUIsS0FBMkI7UUFDeEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3QixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUN4RCxTQUFTLEVBQUUsS0FBSzthQUNuQixDQUFDLENBQUM7U0FDTjthQUFNOztnQkFDQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUM7WUFDN0Ysc0JBQXNCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUNwRDtJQUNMLENBQUM7Ozs7OztJQUdPLHVDQUFVOzs7OztJQUFsQixVQUFtQixPQUFnQjtRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDakU7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7YUFDdEU7U0FDSjtJQUNMLENBQUM7Ozs7OztJQUVPLDRDQUFlOzs7OztJQUF2QixVQUF3QixNQUFTO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBQzNCLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQUU7WUFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGdCQUFnQixDQUFJLE1BQU0sQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3ZCO2FBQU07WUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUM7WUFDdkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3ZCO2FBQU07WUFDSCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUMvRTtTQUNKO0lBQ0wsQ0FBQzs7Ozs7O0lBRU8sMENBQWE7Ozs7O0lBQXJCLFVBQXNCLFdBQTRCO1FBQTVCLDRCQUFBLEVBQUEsbUJBQTRCO1FBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUMvRyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzNDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDeEI7SUFDTCxDQUFDOzs7OztJQUVPLGtDQUFLOzs7O0lBQWI7UUFDSSxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztTQUM1QjtRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQy9CLENBQUM7O2dCQWpMSixTQUFTLFNBQUM7b0JBQ1AsUUFBUSxFQUFFLDRCQUE0QjtpQkFDekM7Ozs7Z0JBaEJHLGdCQUFnQjtnQkFEaEIsV0FBVztnQkFFWCx3QkFBd0I7Z0JBR2IsaUJBQWlCOzs7Z0NBeUMzQixLQUFLOzJDQU9MLEtBQUs7eUNBUUwsS0FBSztvQ0FRTCxLQUFLO2dEQU9MLEtBQUs7dUNBR0wsS0FBSzs7SUFrSFYseUJBQUM7Q0FBQSxBQWxMRCxJQWtMQztTQS9LWSxrQkFBa0I7Ozs7OztJQUUzQixtQ0FBZ0M7Ozs7O0lBQ2hDLDhDQUEyQzs7Ozs7SUFDM0MsNENBQXlDOzs7OztJQUN6QyxzREFBeUY7Ozs7O0lBQ3pGLG9EQUFxRjs7Ozs7SUFFckYscUNBQXVCOzs7OztJQUN2Qix1Q0FBMEI7Ozs7O0lBQzFCLDBDQUErQjs7Ozs7SUFDL0IsdUNBQTBCOzs7OztJQUUxQixxQ0FBK0I7Ozs7O0lBQy9CLDBDQUEwQzs7Ozs7SUFFMUMsNENBQTRDOztJQTBDNUMsMkRBQ3NDOztJQUV0QyxrREFDa0M7Ozs7O0lBM0M5Qiw0Q0FBd0M7Ozs7O0lBQ3hDLHVDQUFtRDs7Ozs7SUFDbkQsK0NBQW1EOzs7OztJQUNuRCwrQ0FBNEM7Ozs7O0FBMkpwRDs7OztJQUVJLDBCQUFtQixTQUFZO1FBQVosY0FBUyxHQUFULFNBQVMsQ0FBRztJQUMvQixDQUFDO0lBQ0wsdUJBQUM7QUFBRCxDQUFDLEFBSkQsSUFJQzs7Ozs7OztJQUZlLHFDQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIElucHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIENvbXBvbmVudEZhY3RvcnksXG4gICAgRG9DaGVjayxcbiAgICBPbkRlc3Ryb3ksIENoYW5nZURldGVjdG9yUmVmLCBPdXRwdXQsIEV2ZW50RW1pdHRlclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TGlua0ZpZWxkfSBmcm9tICcuLi9saW5rcy9saW5rZmllbGQnO1xuaW1wb3J0IHtNaWNyb09iamVjdH0gZnJvbSAnLi4vbWljcm9vYmplY3QnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtNaWNyb0NsaWVudExvYWRpbmdJbmRpY2F0b3JDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvbG9hZGluZ2luZGljYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHtNaWNyb0NsaWVudEVycm9ySW5kaWNhdG9yQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnRzL2Vycm9yaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQge2ZpbmFsaXplfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge01pY3JvQ2xpZW50TG9hZEVycm9yfSBmcm9tICcuLi9taWNyb2NsaWVudC5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbGlua0ZpZWxkXVtsaW5rRmllbGRGcm9tXSdcbn0pXG5leHBvcnQgY2xhc3MgTGlua0ZpZWxkRGlyZWN0aXZlPFQ+IGltcGxlbWVudHMgRG9DaGVjaywgT25EZXN0cm95IHtcblxuICAgIHByaXZhdGUgX2Zyb206IExpbmtGaWVsZDxUPiB8IFQ7XG4gICAgcHJpdmF0ZSBfbG9hZGluZ1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIHByaXZhdGUgX2Vycm9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgcHJpdmF0ZSBfZGVmYXVsdExvYWRpbmdDb21wb25lbnQ6IENvbXBvbmVudEZhY3Rvcnk8TWljcm9DbGllbnRMb2FkaW5nSW5kaWNhdG9yQ29tcG9uZW50PjtcbiAgICBwcml2YXRlIF9kZWZhdWx0RXJyb3JDb21wb25lbnQ6IENvbXBvbmVudEZhY3Rvcnk8TWljcm9DbGllbnRFcnJvckluZGljYXRvckNvbXBvbmVudD47XG5cbiAgICBwcml2YXRlIGlzRGlydHkgPSB0cnVlO1xuICAgIHByaXZhdGUgaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBsb2FkZWRSZXN1bHQ6IFQgPSBudWxsO1xuICAgIHByaXZhdGUgaGFzUmVzdWx0ID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGxhc3RPYnM6IE9ic2VydmFibGU8VD47XG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XG5cbiAgICBwcml2YXRlIGN1cnJlbnRDb250ZXh0OiBMaW5rRmllbGRDb250ZXh0PFQ+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgX3RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxMaW5rRmllbGRDb250ZXh0PFQ+PixcbiAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICB0aGlzLl9kZWZhdWx0TG9hZGluZ0NvbXBvbmVudCA9IGNvbXBvbmVudFJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KE1pY3JvQ2xpZW50TG9hZGluZ0luZGljYXRvckNvbXBvbmVudCk7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRFcnJvckNvbXBvbmVudCA9IGNvbXBvbmVudFJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KE1pY3JvQ2xpZW50RXJyb3JJbmRpY2F0b3JDb21wb25lbnQpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGxpbmtGaWVsZEZyb20oZnJvbTogTGlua0ZpZWxkPFQ+KSB7XG4gICAgICAgIHRoaXMuX2Zyb20gPSBmcm9tO1xuICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgIHRoaXMubG9hZCgpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGxpbmtGaWVsZExvYWRpbmdUZW1wbGF0ZShsb2FkaW5nVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICAgICAgaWYgKGxvYWRpbmdUZW1wbGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5fbG9hZGluZ1RlbXBsYXRlID0gbG9hZGluZ1RlbXBsYXRlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXBkYXRlSWZEaXJ0eSh0cnVlKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBsaW5rRmllbGRFcnJvclRlbXBsYXRlKGVycm9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICAgICAgaWYgKGVycm9yVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2Vycm9yVGVtcGxhdGUgPSBlcnJvclRlbXBsYXRlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXBkYXRlSWZEaXJ0eSh0cnVlKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBsaW5rRmllbGRUZW1wbGF0ZSh2YWx1ZTogVGVtcGxhdGVSZWY8TGlua0ZpZWxkQ29udGV4dDxUPj4pIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl90ZW1wbGF0ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBsaW5rRmllbGREZWZhdWx0RXJyb3JIYW5kbGluZyA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBsaW5rRmllbGRWYWx1ZUNoYW5nZTogKFQpID0+IHZvaWQ7XG5cbiAgICBwcml2YXRlIGxvYWQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9mcm9tKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fZnJvbSBpbnN0YW5jZW9mIExpbmtGaWVsZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RPYnMgPSB0aGlzLl9mcm9tLmxpc3Rlbk9icygpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMubGFzdE9icy5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICkuc3Vic2NyaWJlKChsb2FkZWRSZXN1bHQ6IFQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRMb2FkZWRSZXN1bHQobG9hZGVkUmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubGlua0ZpZWxkVmFsdWVDaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGlua0ZpZWxkVmFsdWVDaGFuZ2UobG9hZGVkUmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIChsb2FkRXJyb3I6IE1pY3JvQ2xpZW50TG9hZEVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5saW5rRmllbGREZWZhdWx0RXJyb3JIYW5kbGluZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZEVycm9yLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRFcnJvcihsb2FkRXJyb3IpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldExvYWRlZFJlc3VsdCh0aGlzLl9mcm9tKTtcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnNldExvYWRlZFJlc3VsdCh0aGlzLl9mcm9tKTtcbiAgICAgICAgICAgICAgICAvLyB0aHJvdyBuZXcgRXJyb3IoJ0NhblxcJ3QgdXNlIHRoZSBsaW5rRmllbGQgZGlyZWN0aXZlIHdpdGggYSBmcm9tIHZhbHVlIHdoaWNoIGlzblxcJ3QgYW4gaW5zdGFuY2Ugb2YgTGlua0ZpZWxkJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIG5nRG9DaGVjaygpIHtcbiAgICAgICAgdGhpcy51cGRhdGVJZkRpcnR5KCk7XG4gICAgICAgIGlmICh0aGlzLl9mcm9tKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fZnJvbSBpbnN0YW5jZW9mIExpbmtGaWVsZCAmJiB0aGlzLmxhc3RPYnMgIT09IHRoaXMuX2Zyb20ubGlzdGVuT2JzKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRFcnJvcihlcnJvcjogTWljcm9DbGllbnRMb2FkRXJyb3IpIHtcbiAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lci5yZW1vdmUoKTtcbiAgICAgICAgaWYgKHRoaXMuX2Vycm9yVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX2Vycm9yVGVtcGxhdGUsIHtcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGVycm9yXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxldCBlcnJvckNvbXBvbmVudEluc3RhbmNlID0gdGhpcy5fdmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQodGhpcy5fZGVmYXVsdEVycm9yQ29tcG9uZW50KTtcbiAgICAgICAgICAgIGVycm9yQ29tcG9uZW50SW5zdGFuY2UuaW5zdGFuY2VbJ2Vycm9yJ10gPSBlcnJvcjtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBzZXRMb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBsb2FkaW5nO1xuICAgICAgICBpZiAodGhpcy5pc0xvYWRpbmcpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9sb2FkaW5nVGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX2xvYWRpbmdUZW1wbGF0ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXIucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQodGhpcy5fZGVmYXVsdExvYWRpbmdDb21wb25lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRMb2FkZWRSZXN1bHQocmVzdWx0OiBUKSB7XG4gICAgICAgIHRoaXMuaGFzUmVzdWx0ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5sb2FkZWRSZXN1bHQgPSByZXN1bHQ7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRDb250ZXh0ID09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudENvbnRleHQgPSBuZXcgTGlua0ZpZWxkQ29udGV4dDxUPihyZXN1bHQpO1xuICAgICAgICAgICAgdGhpcy5pc0RpcnR5ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudENvbnRleHQuJGltcGxpY2l0ID0gcmVzdWx0O1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuX3ZpZXdDb250YWluZXIgfHwgIXRoaXMuX3RlbXBsYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmlzRGlydHkgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNEaXJ0eSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXIucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fdGVtcGxhdGUsIHRoaXMuY3VycmVudENvbnRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVJZkRpcnR5KGlnbm9yZURpcnR5OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKCh0aGlzLmlzRGlydHkgfHwgaWdub3JlRGlydHkpICYmIHRoaXMuX2xvYWRpbmdUZW1wbGF0ZSAmJiB0aGlzLl9mcm9tICYmIHRoaXMuX3RlbXBsYXRlICYmIHRoaXMuX3ZpZXdDb250YWluZXIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc1Jlc3VsdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGVkUmVzdWx0KHRoaXMubG9hZGVkUmVzdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaXNEaXJ0eSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5oYXNSZXN1bHQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5sb2FkZWRSZXN1bHQgPSBudWxsO1xuICAgICAgICB0aGlzLmlzRGlydHkgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubGFzdE9icyA9IG51bGw7XG4gICAgICAgIHRoaXMuY3VycmVudENvbnRleHQgPSBudWxsO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIExpbmtGaWVsZENvbnRleHQ8VD4ge1xuXG4gICAgY29uc3RydWN0b3IocHVibGljICRpbXBsaWNpdDogVCkge1xuICAgIH1cbn1cbiJdfQ==
422
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2ZpZWxkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtaWNyb3Blcm1pdC9jbGllbnQtYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2xpbmtmaWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBR2IsaUJBQWlCLEVBQy9CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUc3QyxPQUFPLEVBQUMsb0NBQW9DLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFHeEM7SUFvQkksNEJBQ1ksY0FBZ0MsRUFDaEMsU0FBMkMsRUFDM0MsaUJBQTJDLEVBQzNDLGlCQUFvQztRQUhwQyxtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUFDaEMsY0FBUyxHQUFULFNBQVMsQ0FBa0M7UUFDM0Msc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtRQUMzQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBZHhDLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQU0sSUFBSSxDQUFDO1FBQ3ZCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFHbEIsaUJBQVksR0FBaUIsSUFBSSxDQUFDO1FBNkMxQyxrQ0FBNkIsR0FBRyxLQUFLLENBQUM7UUFNdEMsb0JBQWUsR0FBVyxJQUFJLENBQUM7UUF6QzNCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1FBQ2hILElBQUks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LDBDQUErQjs7Ozs7SUFDL0IsdUNBQTBCOzs7OztJQUUxQixxQ0FBK0I7Ozs7O0lBQy9CLDBDQUEwQzs7Ozs7SUFFMUMsNENBQTRDOztJQTBDNUMsMkRBQ3NDOztJQUV0QyxrREFDa0M7O0lBRWxDLDZDQUMrQjs7Ozs7SUE5QzNCLDRDQUF3Qzs7Ozs7SUFDeEMsdUNBQW1EOzs7OztJQUNuRCwrQ0FBbUQ7Ozs7O0lBQ25ELCtDQUE0Qzs7Ozs7QUE0S3BEOzs7O0lBRUksMEJBQW1CLFNBQVk7UUFBWixjQUFTLEdBQVQsU0FBUyxDQUFHO0lBQy9CLENBQUM7SUFDTCx1QkFBQztBQUFELENBQUMsQUFKRCxJQUlDOzs7Ozs7O0lBRmUscUNBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgSW5wdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgQ29tcG9uZW50RmFjdG9yeSxcbiAgICBEb0NoZWNrLFxuICAgIE9uRGVzdHJveSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xpbmtGaWVsZH0gZnJvbSAnLi4vbGlua3MvbGlua2ZpZWxkJztcbmltcG9ydCB7TWljcm9PYmplY3R9IGZyb20gJy4uL21pY3Jvb2JqZWN0JztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7TWljcm9DbGllbnRMb2FkaW5nSW5kaWNhdG9yQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnRzL2xvYWRpbmdpbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7TWljcm9DbGllbnRFcnJvckluZGljYXRvckNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50cy9lcnJvcmluZGljYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHtmaW5hbGl6ZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtNaWNyb0NsaWVudExvYWRFcnJvcn0gZnJvbSAnLi4vbWljcm9jbGllbnQuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2xpbmtGaWVsZF1bbGlua0ZpZWxkRnJvbV0nXG59KVxuZXhwb3J0IGNsYXNzIExpbmtGaWVsZERpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIERvQ2hlY2ssIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgICBwcml2YXRlIF9mcm9tOiBMaW5rRmllbGQ8VD4gfCBUO1xuICAgIHByaXZhdGUgX2xvYWRpbmdUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBwcml2YXRlIF9lcnJvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIHByaXZhdGUgX2RlZmF1bHRMb2FkaW5nQ29tcG9uZW50OiBDb21wb25lbnRGYWN0b3J5PE1pY3JvQ2xpZW50TG9hZGluZ0luZGljYXRvckNvbXBvbmVudD47XG4gICAgcHJpdmF0ZSBfZGVmYXVsdEVycm9yQ29tcG9uZW50OiBDb21wb25lbnRGYWN0b3J5PE1pY3JvQ2xpZW50RXJyb3JJbmRpY2F0b3JDb21wb25lbnQ+O1xuXG4gICAgcHJpdmF0ZSBpc0RpcnR5ID0gdHJ1ZTtcbiAgICBwcml2YXRlIGlzTG9hZGluZyA9IGZhbHNlO1xuICAgIHByaXZhdGUgbG9hZGVkUmVzdWx0OiBUID0gbnVsbDtcbiAgICBwcml2YXRlIGhhc1Jlc3VsdCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBsYXN0T2JzOiBPYnNlcnZhYmxlPFQ+O1xuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBudWxsO1xuXG4gICAgcHJpdmF0ZSBjdXJyZW50Q29udGV4dDogTGlua0ZpZWxkQ29udGV4dDxUPjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIF90ZW1wbGF0ZTogVGVtcGxhdGVSZWY8TGlua0ZpZWxkQ29udGV4dDxUPj4sXG4gICAgICAgIHByaXZhdGUgY29tcG9uZW50UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgdGhpcy5fZGVmYXVsdExvYWRpbmdDb21wb25lbnQgPSBjb21wb25lbnRSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShNaWNyb0NsaWVudExvYWRpbmdJbmRpY2F0b3JDb21wb25lbnQpO1xuICAgICAgICB0aGlzLl9kZWZhdWx0RXJyb3JDb21wb25lbnQgPSBjb21wb25lbnRSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShNaWNyb0NsaWVudEVycm9ySW5kaWNhdG9yQ29tcG9uZW50KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBsaW5rRmllbGRGcm9tKGZyb206IExpbmtGaWVsZDxUPiB8IFQpIHtcbiAgICAgICAgdGhpcy5fZnJvbSA9IGZyb207XG4gICAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5sb2FkKCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgbGlua0ZpZWxkTG9hZGluZ1RlbXBsYXRlKGxvYWRpbmdUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgICAgICBpZiAobG9hZGluZ1RlbXBsYXRlKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nVGVtcGxhdGUgPSBsb2FkaW5nVGVtcGxhdGU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVJZkRpcnR5KHRydWUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGxpbmtGaWVsZEVycm9yVGVtcGxhdGUoZXJyb3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgICAgICBpZiAoZXJyb3JUZW1wbGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5fZXJyb3JUZW1wbGF0ZSA9IGVycm9yVGVtcGxhdGU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVJZkRpcnR5KHRydWUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGxpbmtGaWVsZFRlbXBsYXRlKHZhbHVlOiBUZW1wbGF0ZVJlZjxMaW5rRmllbGRDb250ZXh0PFQ+Pikge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3RlbXBsYXRlID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIGxpbmtGaWVsZERlZmF1bHRFcnJvckhhbmRsaW5nID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGxpbmtGaWVsZFZhbHVlQ2hhbmdlOiAoVCkgPT4gdm9pZDtcblxuICAgIEBJbnB1dCgpXG4gICAgbGlua0ZpZWxkUGFyYW1zOiBvYmplY3QgPSBudWxsO1xuXG5cbiAgICBwcml2YXRlIGxvYWQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9mcm9tKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fZnJvbSBpbnN0YW5jZW9mIExpbmtGaWVsZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RPYnMgPSB0aGlzLl9mcm9tLmxpc3Rlbk9icygpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMubGFzdE9icy5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICkuc3Vic2NyaWJlKChsb2FkZWRSZXN1bHQ6IFQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRMb2FkZWRSZXN1bHQobG9hZGVkUmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubGlua0ZpZWxkVmFsdWVDaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGlua0ZpZWxkVmFsdWVDaGFuZ2UobG9hZGVkUmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIChsb2FkRXJyb3I6IE1pY3JvQ2xpZW50TG9hZEVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5saW5rRmllbGREZWZhdWx0RXJyb3JIYW5kbGluZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZEVycm9yLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRFcnJvcihsb2FkRXJyb3IpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldExvYWRlZFJlc3VsdCh0aGlzLl9mcm9tKTtcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnNldExvYWRlZFJlc3VsdCh0aGlzLl9mcm9tKTtcbiAgICAgICAgICAgICAgICAvLyB0aHJvdyBuZXcgRXJyb3IoJ0NhblxcJ3QgdXNlIHRoZSBsaW5rRmllbGQgZGlyZWN0aXZlIHdpdGggYSBmcm9tIHZhbHVlIHdoaWNoIGlzblxcJ3QgYW4gaW5zdGFuY2Ugb2YgTGlua0ZpZWxkJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIG5nRG9DaGVjaygpIHtcbiAgICAgICAgdGhpcy51cGRhdGVJZkRpcnR5KCk7XG4gICAgICAgIC8vIGlmICh0aGlzLl9mcm9tKSB7XG4gICAgICAgIC8vICAgICBpZiAodGhpcy5fZnJvbSBpbnN0YW5jZW9mIExpbmtGaWVsZCAmJiB0aGlzLmxhc3RPYnMgIT09IHRoaXMuX2Zyb20ubGlzdGVuT2JzKCkpIHtcbiAgICAgICAgLy8gICAgICAgICB0aGlzLmxvYWQoKTtcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy5saW5rRmllbGRGcm9tKSB7XG4gICAgICAgICAgICBpZiAoISh0aGlzLl9mcm9tIGluc3RhbmNlb2YgTGlua0ZpZWxkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Zyb20gPSBMaW5rRmllbGQuZnJvbSh0aGlzLl9mcm9tIGFzIGFueSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hhbmdlcy5saW5rRmllbGRQYXJhbXMgJiYgdGhpcy5saW5rRmllbGRQYXJhbXMpIHtcbiAgICAgICAgICAgIGxldCBsaW5rID0gdGhpcy5fZnJvbSBhcyBMaW5rRmllbGQ8VD47XG4gICAgICAgICAgICB0aGlzLl9mcm9tID0gbGluay53aXRoQ2FsbFBhcmFtcyh0aGlzLmxpbmtGaWVsZFBhcmFtcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEVycm9yKGVycm9yOiBNaWNyb0NsaWVudExvYWRFcnJvcikge1xuICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyLnJlbW92ZSgpO1xuICAgICAgICBpZiAodGhpcy5fZXJyb3JUZW1wbGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fZXJyb3JUZW1wbGF0ZSwge1xuICAgICAgICAgICAgICAgICRpbXBsaWNpdDogZXJyb3JcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGV0IGVycm9yQ29tcG9uZW50SW5zdGFuY2UgPSB0aGlzLl92aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudCh0aGlzLl9kZWZhdWx0RXJyb3JDb21wb25lbnQpO1xuICAgICAgICAgICAgZXJyb3JDb21wb25lbnRJbnN0YW5jZS5pbnN0YW5jZVsnZXJyb3InXSA9IGVycm9yO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBwcml2YXRlIHNldExvYWRpbmcobG9hZGluZzogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGxvYWRpbmc7XG4gICAgICAgIGlmICh0aGlzLmlzTG9hZGluZykge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2xvYWRpbmdUZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXIucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fbG9hZGluZ1RlbXBsYXRlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lci5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudCh0aGlzLl9kZWZhdWx0TG9hZGluZ0NvbXBvbmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldExvYWRlZFJlc3VsdChyZXN1bHQ6IFQpIHtcbiAgICAgICAgdGhpcy5oYXNSZXN1bHQgPSB0cnVlO1xuICAgICAgICB0aGlzLmxvYWRlZFJlc3VsdCA9IHJlc3VsdDtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudENvbnRleHQgPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50Q29udGV4dCA9IG5ldyBMaW5rRmllbGRDb250ZXh0PFQ+KHJlc3VsdCk7XG4gICAgICAgICAgICB0aGlzLmlzRGlydHkgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50Q29udGV4dC4kaW1wbGljaXQgPSByZXN1bHQ7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5fdmlld0NvbnRhaW5lciB8fCAhdGhpcy5fdGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuaXNEaXJ0eSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0RpcnR5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lci5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLl90ZW1wbGF0ZSwgdGhpcy5jdXJyZW50Q29udGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUlmRGlydHkoaWdub3JlRGlydHk6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBpZiAoKHRoaXMuaXNEaXJ0eSB8fCBpZ25vcmVEaXJ0eSkgJiYgdGhpcy5fbG9hZGluZ1RlbXBsYXRlICYmIHRoaXMuX2Zyb20gJiYgdGhpcy5fdGVtcGxhdGUgJiYgdGhpcy5fdmlld0NvbnRhaW5lcikge1xuICAgICAgICAgICAgaWYgKHRoaXMuaGFzUmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRMb2FkZWRSZXN1bHQodGhpcy5sb2FkZWRSZXN1bHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pc0RpcnR5ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyKCkge1xuICAgICAgICB0aGlzLmhhc1Jlc3VsdCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxvYWRlZFJlc3VsdCA9IG51bGw7XG4gICAgICAgIHRoaXMuaXNEaXJ0eSA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sYXN0T2JzID0gbnVsbDtcbiAgICAgICAgdGhpcy5jdXJyZW50Q29udGV4dCA9IG51bGw7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTGlua0ZpZWxkQ29udGV4dDxUPiB7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgJGltcGxpY2l0OiBUKSB7XG4gICAgfVxufVxuIl19
@@ -1658,6 +1658,7 @@ class LinkFieldDirective {
1658
1658
  this.hasResult = false;
1659
1659
  this.subscription = null;
1660
1660
  this.linkFieldDefaultErrorHandling = false;
1661
+ this.linkFieldParams = null;
1661
1662
  this._defaultLoadingComponent = componentResolver.resolveComponentFactory(MicroClientLoadingIndicatorComponent);
1662
1663
  this._defaultErrorComponent = componentResolver.resolveComponentFactory(MicroClientErrorIndicatorComponent);
1663
1664
  }
@@ -1748,11 +1749,11 @@ class LinkFieldDirective {
1748
1749
  */
1749
1750
  ngDoCheck() {
1750
1751
  this.updateIfDirty();
1751
- if (this._from) {
1752
- if (this._from instanceof LinkField && this.lastObs !== this._from.listenObs()) {
1753
- this.load();
1754
- }
1755
- }
1752
+ // if (this._from) {
1753
+ // if (this._from instanceof LinkField && this.lastObs !== this._from.listenObs()) {
1754
+ // this.load();
1755
+ // }
1756
+ // }
1756
1757
  }
1757
1758
  /**
1758
1759
  * @return {?}
@@ -1760,6 +1761,22 @@ class LinkFieldDirective {
1760
1761
  ngOnDestroy() {
1761
1762
  this.clear();
1762
1763
  }
1764
+ /**
1765
+ * @param {?} changes
1766
+ * @return {?}
1767
+ */
1768
+ ngOnChanges(changes) {
1769
+ if (changes.linkFieldFrom) {
1770
+ if (!(this._from instanceof LinkField)) {
1771
+ this._from = LinkField.from((/** @type {?} */ (this._from)));
1772
+ }
1773
+ }
1774
+ if (changes.linkFieldParams && this.linkFieldParams) {
1775
+ /** @type {?} */
1776
+ let link = (/** @type {?} */ (this._from));
1777
+ this._from = link.withCallParams(this.linkFieldParams);
1778
+ }
1779
+ }
1763
1780
  /**
1764
1781
  * @private
1765
1782
  * @param {?} error
@@ -1869,7 +1886,8 @@ LinkFieldDirective.propDecorators = {
1869
1886
  linkFieldErrorTemplate: [{ type: Input }],
1870
1887
  linkFieldTemplate: [{ type: Input }],
1871
1888
  linkFieldDefaultErrorHandling: [{ type: Input }],
1872
- linkFieldValueChange: [{ type: Input }]
1889
+ linkFieldValueChange: [{ type: Input }],
1890
+ linkFieldParams: [{ type: Input }]
1873
1891
  };
1874
1892
  if (false) {
1875
1893
  /**
@@ -1936,6 +1954,8 @@ if (false) {
1936
1954
  LinkFieldDirective.prototype.linkFieldDefaultErrorHandling;
1937
1955
  /** @type {?} */
1938
1956
  LinkFieldDirective.prototype.linkFieldValueChange;
1957
+ /** @type {?} */
1958
+ LinkFieldDirective.prototype.linkFieldParams;
1939
1959
  /**
1940
1960
  * @type {?}
1941
1961
  * @private