@firestitch/list 13.0.1 → 13.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -179,11 +179,13 @@ export class FsRowComponent {
|
|
|
179
179
|
});
|
|
180
180
|
}
|
|
181
181
|
_initRowActionsUpdate() {
|
|
182
|
-
this.row.actionsUpdate$
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
182
|
+
if (this.row.actionsUpdate$) {
|
|
183
|
+
this.row.actionsUpdate$
|
|
184
|
+
.pipe(takeUntil(this._destroy$))
|
|
185
|
+
.subscribe(() => {
|
|
186
|
+
this.updateRowActions();
|
|
187
|
+
});
|
|
188
|
+
}
|
|
187
189
|
}
|
|
188
190
|
_getRowClasses(rowClass) {
|
|
189
191
|
const classes = [];
|
|
@@ -318,4 +320,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
318
320
|
type: HostBinding,
|
|
319
321
|
args: ['class']
|
|
320
322
|
}] } });
|
|
321
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9ib2R5L3Jvdy9yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2JvZHkvcm93L3Jvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLGVBQWUsRUFHZixTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFDTCxlQUFlLEVBQ2YsZUFBZSxHQUNoQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBRzNHLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7O0FBUzdELE1BQU0sT0FBTyxjQUFjO0lBMkN6QixZQUNTLEVBQWMsRUFDYixNQUF5QixFQUN6QixRQUF5QixFQUN6QixTQUFvQixFQUNwQixjQUE0QztRQUo3QyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2IsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFDekIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixtQkFBYyxHQUFkLGNBQWMsQ0FBOEI7UUE3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UTtzQkFBdkIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxrQkFBa0I7c0JBQWpDLEtBQUs7Z0JBSUMsY0FBYztzQkFGcEIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBR2IsZUFBZTtzQkFBOUIsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUNVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxZQUFZO3VCQUFDLElBQUk7Z0JBMkNQLG1CQUFtQjtzQkFEN0IsV0FBVzt1QkFBQywwQkFBMEI7Z0JBUTVCLFdBQVc7c0JBRHJCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgS2V5VmFsdWVEaWZmZXIsXG4gIEtleVZhbHVlRGlmZmVycyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgUmVvcmRlclBvc2l0aW9uLFxuICBSZW9yZGVyU3RyYXRlZ3ksXG59IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvcmVvcmRlci1jb250cm9sbGVyJztcbmltcG9ydCB7IFNlbGVjdGlvbkNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL3NlbGVjdGlvbi1jb250cm9sbGVyJztcbmltcG9ydCB7IEZzTGlzdERyYWdnYWJsZUxpc3REaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2RyYWdnYWJsZS1saXN0L2RyYWdnYWJsZS1saXN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0xpc3RSb3dDbGFzc09wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENvbHVtbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9jb2x1bW4ubW9kZWwnO1xuaW1wb3J0IHsgUm93IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Jvdyc7XG5pbXBvcnQgeyBSb3dBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcm93LWFjdGlvbi5tb2RlbCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW2ZzLWxpc3Qtcm93XScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yb3cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yb3cuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZzUm93Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBEb0NoZWNrLCBPbkRlc3Ryb3kge1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgcHVibGljIHJvbGUgPSAncm93JztcblxuICBASW5wdXQoKSBwdWJsaWMgcm93OiBSb3c7XG4gIEBJbnB1dCgpIHB1YmxpYyByb3dBY3Rpb25zUmF3OiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgZ3JvdXBBY3Rpb25zUmF3OiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgaGFzUm93QWN0aW9ucyA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgcm93RXZlbnRzID0ge307XG4gIEBJbnB1dCgpIHB1YmxpYyByb3dDbGFzcztcbiAgQElucHV0KCkgcHVibGljIHJlc3RvcmVNb2RlID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyByb3dJbmRleDogbnVtYmVyO1xuICBASW5wdXQoKSBwdWJsaWMgY29sdW1uczogQ29sdW1uW107XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3Rpb246IFNlbGVjdGlvbkNvbnRyb2xsZXI7XG4gIEBJbnB1dCgpIHB1YmxpYyByb3dSZW1vdmVkOiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgQElucHV0KCkgcHVibGljIGFjdGl2ZUZpbHRlcnNDb3VudDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZHJhZy1yb3cnKVxuICBwdWJsaWMgcmVvcmRlckVuYWJsZWQ6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgcHVibGljIHJlb3JkZXJQb3NpdGlvbjogUmVvcmRlclBvc2l0aW9uIHwgbnVsbDtcbiAgQElucHV0KCkgcHVibGljIHJlb3JkZXJTdHJhdGVneTogUmVvcmRlclN0cmF0ZWd5IHwgbnVsbDtcbiAgQElucHV0KCkgcHVibGljIHJlb3JkZXJNdWx0aXBsZTogYm9vbGVhbjtcblxuXG4gIEBWaWV3Q2hpbGRyZW4oJ3RkJylcbiAgcHVibGljIGNlbGxSZWZzO1xuXG4gIHB1YmxpYyByZWFkb25seSBSZW9yZGVyUG9zaXRpb24gPSBSZW9yZGVyUG9zaXRpb247XG4gIHB1YmxpYyByZWFkb25seSBSZW9yZGVyU3RyYXRlZ3kgPSBSZW9yZGVyU3RyYXRlZ3k7XG4gIHB1YmxpYyByb3dBY3Rpb25zOiBSb3dBY3Rpb25bXSA9IFtdO1xuICBwdWJsaWMgbWVudVJvd0FjdGlvbnM6IFJvd0FjdGlvbltdID0gW107XG4gIHB1YmxpYyBpbmxpbmVSb3dBY3Rpb25zOiBSb3dBY3Rpb25bXSA9IFtdO1xuICBwdWJsaWMgcmVzdG9yZUFjdGlvbjogUm93QWN0aW9uO1xuICBwdWJsaWMgc2VsZWN0ZWQgPSBmYWxzZTtcbiAgcHVibGljIGluZGV0ZXJtaW5hdGVTZWxlY3RlZDogYm9vbGVhbiB8ICdpbmRldGVybWluYXRlJyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3Jvd0RpZmZlcjogS2V5VmFsdWVEaWZmZXI8YW55LCBhbnk+O1xuICBwcml2YXRlIF9ldmVudExpc3RlbmVycyA9IFtdO1xuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIF9kaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIF9kcmFnZ2FibGVMaXN0OiBGc0xpc3REcmFnZ2FibGVMaXN0RGlyZWN0aXZlLFxuICApIHtcbiAgICB0aGlzLl9yb3dEaWZmZXIgPSBfZGlmZmVycy5maW5kKHt9KS5jcmVhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNHcm91cFJvdygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb3cuaXNHcm91cDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNHcm91cENoaWxkUm93KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJvdy5pc0dyb3VwQ2hpbGQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzR3JvdXBGb290ZXJSb3coKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm93LmlzR3JvdXBGb290ZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzRHJhZ0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5zZWxlY3RlZCAmJiB0aGlzLnJlb3JkZXJNdWx0aXBsZSAmJiAhIXRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkUm93cy5zaXplO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tdWx0aXBsZS1zZWxlY3Rpb24nKVxuICBwdWJsaWMgZ2V0IGlzTXVsdGlwbGVTZWxlY3Rpb24oKSB7XG4gICAgY29uc3QgbXVsdGlwbGUgPSB0aGlzLnJlb3JkZXJNdWx0aXBsZTtcblxuICAgIHJldHVybiBtdWx0aXBsZSAmJiB0aGlzLnNlbGVjdGVkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHB1YmxpYyBnZXQgcm93Q3NzQ2xhc3MoKSB7XG4gICAgbGV0IGNsYXNzZXMgPSBbJ2ZzLWxpc3Qtcm93J107XG5cbiAgICBpZiAodGhpcy5yb3dJbmRleCAlIDIgIT09IDApIHtcbiAgICAgIGNsYXNzZXMucHVzaCgnZnMtbGlzdC1yb3ctb2RkJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnJvd0luZGV4ICUgMiA9PT0gMCkge1xuICAgICAgY2xhc3Nlcy5wdXNoKCdmcy1saXN0LXJvdy1ldmVuJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucm93Py5pc0dyb3VwKSB7XG4gICAgICBjbGFzc2VzLnB1c2goJ2ZzLWxpc3Qtcm93LWdyb3VwJyk7XG4gICAgfSBlbHNlIGlmICgodGhpcy5yb3cgYXMgYW55KT8uaXNDaGlsZCkgeyAvLyBUT0RPIGZpeCBpc0NoaWxkICYgYWxsXG4gICAgICBjbGFzc2VzLnB1c2goJ2ZzLWxpc3Qtcm93LWdyb3VwLWNoaWxkJyk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJvdz8uaXNHcm91cEZvb3Rlcikge1xuICAgICAgY2xhc3Nlcy5wdXNoKCdmcy1saXN0LXJvdy1ncm91cC1mb290ZXInKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2xhc3Nlcy5wdXNoKCdmcy1saXN0LXJvdy1ib2R5Jyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucm93Q2xhc3MpIHtcbiAgICAgIGNsYXNzZXMgPSBbXG4gICAgICAgIC4uLmNsYXNzZXMsXG4gICAgICAgIC4uLnRoaXMuX2dldFJvd0NsYXNzZXModGhpcy5yb3dDbGFzcyksXG4gICAgICBdO1xuICAgIH1cblxuICAgIHJldHVybiBjbGFzc2VzLmpvaW4oJyAnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZHJhZ0NlbGxWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5yb3cuaXNHcm91cDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGVmdERyYWdEcm9wRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZW9yZGVyRW5hYmxlZFxuICAgICAgJiYgdGhpcy5yZW9yZGVyUG9zaXRpb24gPT09IFJlb3JkZXJQb3NpdGlvbi5MZWZ0XG4gICAgICAmJiB0aGlzLmFjdGl2ZUZpbHRlcnNDb3VudCA9PT0gMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmlnaHREcmFnRHJvcEVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVvcmRlckVuYWJsZWRcbiAgICAgICYmIHRoaXMucmVvcmRlclBvc2l0aW9uID09PSBSZW9yZGVyUG9zaXRpb24uUmlnaHRcbiAgICAgICYmIHRoaXMuYWN0aXZlRmlsdGVyc0NvdW50ID09PSAwO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuX2luaXRSb3dFdmVudHMoKTtcbiAgICB0aGlzLl9pbml0U2VsZWN0aW9uKCk7XG5cbiAgICBpZiAodGhpcy5yb3cpIHtcbiAgICAgIHRoaXMuX2luaXRSb3dBY3Rpb25zVXBkYXRlKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucm93ICYmIHRoaXMucm93LmlzR3JvdXApIHtcbiAgICAgIGlmICh0aGlzLnJvdyAmJiB0aGlzLnJvdy5pc0dyb3VwICYmIHRoaXMuZ3JvdXBBY3Rpb25zUmF3KSB7XG4gICAgICAgIHRoaXMucm93QWN0aW9ucyA9IHRoaXMuZ3JvdXBBY3Rpb25zUmF3Lm1hcCgoYWN0aW9uKSA9PiBuZXcgUm93QWN0aW9uKGFjdGlvbikpO1xuXG4gICAgICAgIHRoaXMuX2ZpbHRlckFjdGlvbnNCeUNhdGVnb3JpZXMoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMucm93QWN0aW9uc1Jhdykge1xuICAgICAgdGhpcy5yb3dBY3Rpb25zID0gdGhpcy5yb3dBY3Rpb25zUmF3Lm1hcCgoYWN0aW9uKSA9PiBuZXcgUm93QWN0aW9uKGFjdGlvbikpO1xuXG4gICAgICB0aGlzLl9maWx0ZXJBY3Rpb25zQnlDYXRlZ29yaWVzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nRG9DaGVjaygpIHtcbiAgICBpZiAodGhpcy5fcm93RGlmZmVyLmRpZmYodGhpcy5yb3cpKSB7XG4gICAgICB0aGlzLnVwZGF0ZVJvd0FjdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUm93QWN0aW9ucygpIHtcbiAgICBpZiAodGhpcy5yb3dBY3Rpb25zKSB7XG4gICAgICB0aGlzLnJvd0FjdGlvbnMuZm9yRWFjaCgoYWN0aW9uKSA9PiB7XG4gICAgICAgIGFjdGlvbi5jaGVja1Nob3dTdGF0dXModGhpcy5yb3cuZGF0YSwgdGhpcy5yb3dJbmRleCk7XG4gICAgICAgIGFjdGlvbi51cGRhdGVMaW5rKHRoaXMucm93LmRhdGEpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLl9maWx0ZXJBY3Rpb25zQnlDYXRlZ29yaWVzKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgobGlzdGVuZXIpID0+IHtcbiAgICAgIGxpc3RlbmVyKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3Qgcm93IGJ5IGNoZWNrYm94XG4gICAqXG4gICAqIEBwYXJhbSBldmVudFxuICAgKi9cbiAgcHVibGljIHNlbGVjdFJvdyhldmVudDogTWF0Q2hlY2tib3hDaGFuZ2UpIHtcbiAgICB0aGlzLnNlbGVjdGlvbi5yb3dTZWxlY3Rpb25DaGFuZ2UodGhpcy5yb3csIGV2ZW50LmNoZWNrZWQpO1xuICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYWNrIEJ5IGZvciBpbXByb3ZlIGNoYW5nZSBkZXRlY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIGluZGV4XG4gICAqL1xuICBwdWJsaWMgdHJhY2tCeUZuKGluZGV4KSB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgcHVibGljIGRyYWdTdGFydChldmVudCkge1xuICAgIGlmICh0aGlzLnJlb3JkZXJFbmFibGVkICYmICF0aGlzLmlzRHJhZ0Rpc2FibGVkKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgIHRoaXMuX2RyYWdnYWJsZUxpc3QuZHJhZ1N0YXJ0KHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCBldmVudCBsaXN0ZW5lcnMgZm9yIHJvd1xuICAgKi9cbiAgcHJpdmF0ZSBfaW5pdFJvd0V2ZW50cygpIHtcbiAgICBPYmplY3Qua2V5cyh0aGlzLnJvd0V2ZW50cyB8fCB7fSlcbiAgICAgIC5mb3JFYWNoKChldmVudCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5yb3dFdmVudHMuaGFzT3duUHJvcGVydHkoZXZlbnQpKSB7XG4gICAgICAgICAgY29uc3QgbGlzdGVuZXIgPSB0aGlzLl9yZW5kZXJlclxuICAgICAgICAgICAgLmxpc3Rlbih0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIGV2ZW50LCAoZXZ0KSA9PiB7XG4gICAgICAgICAgICAgIGlmICghdGhpcy5yZW9yZGVyRW5hYmxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMucm93RXZlbnRzW2V2ZW50XSh7XG4gICAgICAgICAgICAgICAgICBldmVudDogZXZ0LFxuICAgICAgICAgICAgICAgICAgcm93OiB0aGlzLnJvdy5kYXRhLFxuICAgICAgICAgICAgICAgICAgcm93SW5kZXg6IHRoaXMucm93SW5kZXgsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgdGhpcy5fZXZlbnRMaXN0ZW5lcnMucHVzaChsaXN0ZW5lcik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG4gIFxuICBwcml2YXRlIF9pbml0Um93QWN0aW9uc1VwZGF0ZSgpIDogdm9pZCB7XG4gICAgdGhpcy5yb3cuYWN0aW9uc1VwZGF0ZSRcbiAgICAucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JClcbiAgICApXG4gICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVJvd0FjdGlvbnMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFJvd0NsYXNzZXMocm93Q2xhc3MpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY2xhc3NlcyA9IFtdO1xuICAgIGNvbnN0IG9wdGlvbnM6IEZzTGlzdFJvd0NsYXNzT3B0aW9ucyA9IHtcbiAgICAgIGluZGV4OiB0aGlzLnJvd0luZGV4LFxuICAgICAgdHlwZTogdGhpcy5yb3cudHlwZSxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMucm93LmlzR3JvdXApIHtcbiAgICAgIG9wdGlvbnMuZ3JvdXBJbmRleCA9IHRoaXMucm93LmluZGV4O1xuICAgIH0gZWxzZSBpZiAoKHRoaXMucm93IGFzIGFueSkuaXNDaGlsZCB8fCB0aGlzLnJvdy5pc0dyb3VwRm9vdGVyKSB7IC8vIFRPRE8gZml4IGlzQ2hpbGQgJiBhbGxcbiAgICAgIG9wdGlvbnMuZ3JvdXBJbmRleCA9IHRoaXMucm93LnBhcmVudC5pbmRleDtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHRDbGFzcyA9IHJvd0NsYXNzKHRoaXMucm93LmRhdGEsIG9wdGlvbnMpO1xuICAgIGlmKHJlc3VsdENsYXNzKSB7XG4gICAgICBpZiAodHlwZW9mIHJlc3VsdENsYXNzID09PSAnc3RyaW5nJykge1xuICAgICAgICBjbGFzc2VzLnB1c2gocmVzdWx0Q2xhc3MpO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcmVzdWx0Q2xhc3MgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhyZXN1bHRDbGFzcyk7XG4gICAgICAgIGZvciAoY29uc3QgayBvZiBrZXlzKSB7XG4gICAgICAgICAgaWYgKHJlc3VsdENsYXNzW2tdID09PSB0cnVlKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goayk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzZXM7XG4gIH1cblxuICAvKipcbiAgICogU3Vic2NyaWJlIHRvIHNlbGVjdGlvbiBjaGFuZ2UgZXZlbnRzXG4gICAqL1xuICBwcml2YXRlIF9pbml0U2VsZWN0aW9uKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMucm93ICYmIHRoaXMuc2VsZWN0aW9uLmlzUm93U2VsZWN0ZWQodGhpcy5yb3cuZGF0YSk7XG5cbiAgICAgIHRoaXMuc2VsZWN0aW9uLnNlbGVjdGlvbkNoYW5nZSRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgLy8gLy8gV291bGQgbGlrZSB0byByZXNwb25kIG9ubHkgd2hlbiBjaGVja2JveCBvbiB0b3AgaXMgY2hhbmdlZFxuICAgICAgICAgIC8vIC8vIG9yIHdhcyBjbGlja2VkIFwiU2VsZWN0IEFsbFwiIGluIHNlbGVjdGlvbiBkaWFsb2dcbiAgICAgICAgICAvLyBmaWx0ZXIoKHt0eXBlfSkgPT4ge1xuICAgICAgICAgIC8vICAgcmV0dXJuIHR5cGUgPT09IFNlbGVjdGlvbkNoYW5nZVR5cGUuQWxsVmlzaWJsZVNlbGVjdGlvbkNoYW5nZVxuICAgICAgICAgIC8vICAgICB8fCB0eXBlID09PSBTZWxlY3Rpb25DaGFuZ2VUeXBlLlNlbGVjdGVkQWxsO1xuICAgICAgICAgIC8vIH0pLFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMucm93ICYmIHRoaXMuc2VsZWN0aW9uLmlzUm93U2VsZWN0ZWQodGhpcy5yb3cuZGF0YSk7XG5cbiAgICAgICAgICBpZiAodGhpcy5yb3c/LmlzR3JvdXApIHtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwU2VsZWN0aW9uID0gdGhpcy5zZWxlY3Rpb24uaXNHcm91cFNlbGVjdGVkKHRoaXMucm93KTtcblxuICAgICAgICAgICAgaWYgKGdyb3VwU2VsZWN0aW9uID09PSAnaW5kZXRlcm1pbmF0ZScpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZVNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBncm91cFNlbGVjdGlvbjtcbiAgICAgICAgICAgICAgdGhpcy5pbmRldGVybWluYXRlU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZmlsdGVyQWN0aW9uc0J5Q2F0ZWdvcmllcygpIHtcbiAgICB0aGlzLm1lbnVSb3dBY3Rpb25zID0gW107XG4gICAgdGhpcy5pbmxpbmVSb3dBY3Rpb25zID0gW107XG4gICAgdGhpcy5yZXN0b3JlQWN0aW9uID0gbnVsbDtcblxuICAgIHRoaXMucm93QWN0aW9ucy5mb3JFYWNoKChhY3Rpb24pID0+IHtcblxuICAgICAgaWYgKCFhY3Rpb24uaXNTaG93bikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChhY3Rpb24ubWVudSAmJiAhYWN0aW9uLnJlc3RvcmUpIHtcbiAgICAgICAgdGhpcy5tZW51Um93QWN0aW9ucy5wdXNoKGFjdGlvbik7XG4gICAgICB9IGVsc2UgaWYgKCFhY3Rpb24ubWVudSAmJiAhYWN0aW9uLnJlc3RvcmUpIHtcbiAgICAgICAgdGhpcy5pbmxpbmVSb3dBY3Rpb25zLnB1c2goYWN0aW9uKTtcbiAgICAgIH0gZWxzZSBpZiAoYWN0aW9uLnJlc3RvcmUpIHtcbiAgICAgICAgdGhpcy5yZXN0b3JlQWN0aW9uID0gYWN0aW9uO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8IS0tIERyYWcgLS0+XG48bmctY29udGFpbmVyICpuZ0lmPVwibGVmdERyYWdEcm9wRW5hYmxlZFwiPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHJhZ0NlbGxcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48IS0tIFNlbGVjdGlvbiAtLT5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3Rpb24gJiYgIShzZWxlY3Rpb24uZGlzYWJsZWQkIHwgYXN5bmMpXCI+XG4gIDx0ZCBjbGFzcz1cImZzLWxpc3QtY29sIGZzLWxpc3QtY29sLXNlbGVjdGlvblwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcm93LmlzR3JvdXBGb290ZXJcIj5cbiAgICAgIDxtYXQtY2hlY2tib3ggXG4gICAgICAgIChjaGFuZ2UpPVwic2VsZWN0Um93KCRldmVudClcIlxuICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZFwiXG4gICAgICAgIFtpbmRldGVybWluYXRlXT1cImluZGV0ZXJtaW5hdGVTZWxlY3RlZFwiPlxuICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvdGQ+XG48L25nLWNvbnRhaW5lcj5cblxuPCEtLSBDb250ZW50IC0tPlxuPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrQnk6IHRyYWNrQnlGbjsgbGV0IGlzRmlyc3QgPSBmaXJzdFwiPlxuICA8dGQgZnMtY2VsbFxuICAgICAgKm5nSWY9XCIoaXNHcm91cFJvdyAmJiAhY29sdW1uLmdyb3VwSGVhZGVyQ29sc3Bhbm5lZClcbiAgICAgICAgfHwgKGlzR3JvdXBGb290ZXJSb3cgJiYgIWNvbHVtbi5ncm91cEZvb3RlckNvbHNwYW5uZWQpXG4gICAgICAgIHx8ICghaXNHcm91cFJvdyAmJiAhaXNHcm91cEZvb3RlclJvdyAmJiAhY29sdW1uLmNlbGxDb2xzcGFubmVkKVwiXG4gICAgICBbY29sdW1uXT1cImNvbHVtblwiXG4gICAgICBbcm93XT1cInJvd1wiXG4gICAgICBbcm93SW5kZXhdPVwicm93SW5kZXhcIlxuICAgICAgW2NsYXNzXT1cIihpc0dyb3VwUm93ICYmIGNvbHVtbi5ncm91cEhlYWRlckNvbmZpZ3MuY2xhc3Nlc1N0cmluZylcbiAgICAgICAgfHwgKGlzR3JvdXBGb290ZXJSb3cgJiYgY29sdW1uLmdyb3VwRm9vdGVyQ29uZmlncy5jbGFzc2VzU3RyaW5nKVxuICAgICAgICB8fCAoIWlzR3JvdXBGb290ZXJSb3cgJiYgY29sdW1uLmNlbGxDb25maWdzLmNsYXNzZXNTdHJpbmcpXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ3ByaW1hcnktY29sJzogaXNGaXJzdCB9XCJcbiAgICAgIFthdHRyLmNvbHNwYW5dPVwiKGlzR3JvdXBSb3cgJiYgY29sdW1uLmdyb3VwSGVhZGVyQ29uZmlncy5jb2xzcGFuKVxuICAgICAgICB8fCAoaXNHcm91cEZvb3RlclJvdyAmJiBjb2x1bW4uZ3JvdXBGb290ZXJDb25maWdzLmNvbHNwYW4pXG4gICAgICAgIHx8IGNvbHVtbi5jZWxsQ29uZmlncy5jb2xzcGFuXCJcbiAgICAgIFthdHRyLndpZHRoXT1cImNvbHVtbi53aWR0aFwiXG4gID5cbiAgPC90ZD5cbjwvbmctY29udGFpbmVyPlxuXG48IS0tIERyYWcgLS0+XG48bmctY29udGFpbmVyICpuZ0lmPVwicmlnaHREcmFnRHJvcEVuYWJsZWRcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRyYWdDZWxsXCI+PC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPCEtLSBSb3cgQWN0aW9ucyAtLT5cbjx0ZCAqbmdJZj1cImhhc1Jvd0FjdGlvbnMgJiYgIShyZW9yZGVyRW5hYmxlZCAmJiByZW9yZGVyU3RyYXRlZ3kgPT09IFJlb3JkZXJTdHJhdGVneS5NYW51YWwpXCIgY2xhc3M9XCJmcy1saXN0LWNvbCByb3ctYWN0aW9uc1wiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzR3JvdXBGb290ZXJSb3dcIj5cbiAgICA8ZnMtbGlzdC1yb3ctYWN0aW9uc1xuICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgW2luZGV4XT1cInJvd0luZGV4XCJcbiAgICAgIFtyb3dBY3Rpb25zXT1cInJvd0FjdGlvbnNcIlxuICAgICAgW21lbnVSb3dBY3Rpb25zXT1cIm1lbnVSb3dBY3Rpb25zXCJcbiAgICAgIFtpbmxpbmVSb3dBY3Rpb25zXT1cImlubGluZVJvd0FjdGlvbnNcIlxuICAgICAgW3Jlc3RvcmVBY3Rpb25dPVwicmVzdG9yZUFjdGlvblwiXG4gICAgICBbcmVzdG9yZU1vZGVdPVwicmVzdG9yZU1vZGVcIlxuICAgICAgW3Jvd1JlbW92ZWRdPVwicm93UmVtb3ZlZFwiPlxuICAgIDwvZnMtbGlzdC1yb3ctYWN0aW9ucz5cbiAgPC9uZy1jb250YWluZXI+XG48L3RkPlxuXG48bmctdGVtcGxhdGUgI2RyYWdDZWxsPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZHJhZ0NlbGxWaXNpYmxlICYmICFpc0dyb3VwRm9vdGVyUm93OyBlbHNlIGVtcHR5Q2VsbFwiPlxuICAgIDx0ZCBcbiAgICAgICAgY2xhc3M9XCJmcy1saXN0LWNvbCBkcmFnLWNvbFwiXG4gICAgICAgIFtjbGFzcy5kcmFnLWRpc2FibGVkXT1cImlzRHJhZ0Rpc2FibGVkXCJcbiAgICAgICAgKG1vdXNlZG93bik9XCJkcmFnU3RhcnQoJGV2ZW50KVwiXG4gICAgICAgICh0b3VjaHN0YXJ0KT1cImRyYWdTdGFydCgkZXZlbnQpXCI+XG4gICAgICA8bWF0LWljb24+ZHJhZ19oYW5kbGU8L21hdC1pY29uPlxuICAgIDwvdGQ+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI2VtcHR5Q2VsbD5cbiAgICA8dGQgY2xhc3M9XCJmcy1saXN0LWNvbCBkcmFnLWNvbFwiPjwvdGQ+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
323
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9ib2R5L3Jvdy9yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2JvZHkvcm93L3Jvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLGVBQWUsRUFHZixTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFDTCxlQUFlLEVBQ2YsZUFBZSxHQUNoQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBRzNHLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7O0FBUzdELE1BQU0sT0FBTyxjQUFjO0lBMkN6QixZQUNTLEVBQWMsRUFDYixNQUF5QixFQUN6QixRQUF5QixFQUN6QixTQUFvQixFQUNwQixjQUE0QztRQUo3QyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2IsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFDekIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixtQkFBYyxHQUFkLGNBQWMsQ0FBOEI7UUE3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UUFBUTtzQkFBdkIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1Usa0JBQWtCO3NCQUFqQyxLQUFLO2dCQUlDLGNBQWM7c0JBRnBCLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUdiLGVBQWU7c0JBQTlCLEtBQUs7Z0JBQ1UsZUFBZTtzQkFBOUIsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsWUFBWTt1QkFBQyxJQUFJO2dCQTJDUCxtQkFBbUI7c0JBRDdCLFdBQVc7dUJBQUMsMEJBQTBCO2dCQVE1QixXQUFXO3NCQURyQixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRG9DaGVjayxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIEtleVZhbHVlRGlmZmVyLFxuICBLZXlWYWx1ZURpZmZlcnMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIFJlb3JkZXJQb3NpdGlvbixcbiAgUmVvcmRlclN0cmF0ZWd5LFxufSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL3Jlb3JkZXItY29udHJvbGxlcic7XG5pbXBvcnQgeyBTZWxlY3Rpb25Db250cm9sbGVyIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9zZWxlY3Rpb24tY29udHJvbGxlcic7XG5pbXBvcnQgeyBGc0xpc3REcmFnZ2FibGVMaXN0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9kcmFnZ2FibGUtbGlzdC9kcmFnZ2FibGUtbGlzdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNMaXN0Um93Q2xhc3NPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDb2x1bW4gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvY29sdW1uLm1vZGVsJztcbmltcG9ydCB7IFJvdyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9yb3cnO1xuaW1wb3J0IHsgUm93QWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Jvdy1hY3Rpb24ubW9kZWwnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ1tmcy1saXN0LXJvd10nLFxuICB0ZW1wbGF0ZVVybDogJy4vcm93LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcm93LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGc1Jvd0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgRG9DaGVjaywgT25EZXN0cm95IHtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gIHB1YmxpYyByb2xlID0gJ3Jvdyc7XG5cbiAgQElucHV0KCkgcHVibGljIHJvdzogUm93O1xuICBASW5wdXQoKSBwdWJsaWMgcm93QWN0aW9uc1JhdzogYW55W10gPSBbXTtcbiAgQElucHV0KCkgcHVibGljIGdyb3VwQWN0aW9uc1JhdzogYW55W10gPSBbXTtcbiAgQElucHV0KCkgcHVibGljIGhhc1Jvd0FjdGlvbnMgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHJvd0V2ZW50cyA9IHt9O1xuICBASW5wdXQoKSBwdWJsaWMgcm93Q2xhc3M7XG4gIEBJbnB1dCgpIHB1YmxpYyByZXN0b3JlTW9kZSA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgcm93SW5kZXg6IG51bWJlcjtcbiAgQElucHV0KCkgcHVibGljIGNvbHVtbnM6IENvbHVtbltdO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0aW9uOiBTZWxlY3Rpb25Db250cm9sbGVyO1xuICBASW5wdXQoKSBwdWJsaWMgcm93UmVtb3ZlZDogRXZlbnRFbWl0dGVyPGFueT47XG4gIEBJbnB1dCgpIHB1YmxpYyBhY3RpdmVGaWx0ZXJzQ291bnQ6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRyYWctcm93JylcbiAgcHVibGljIHJlb3JkZXJFbmFibGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyByZW9yZGVyUG9zaXRpb246IFJlb3JkZXJQb3NpdGlvbiB8IG51bGw7XG4gIEBJbnB1dCgpIHB1YmxpYyByZW9yZGVyU3RyYXRlZ3k6IFJlb3JkZXJTdHJhdGVneSB8IG51bGw7XG4gIEBJbnB1dCgpIHB1YmxpYyByZW9yZGVyTXVsdGlwbGU6IGJvb2xlYW47XG5cblxuICBAVmlld0NoaWxkcmVuKCd0ZCcpXG4gIHB1YmxpYyBjZWxsUmVmcztcblxuICBwdWJsaWMgcmVhZG9ubHkgUmVvcmRlclBvc2l0aW9uID0gUmVvcmRlclBvc2l0aW9uO1xuICBwdWJsaWMgcmVhZG9ubHkgUmVvcmRlclN0cmF0ZWd5ID0gUmVvcmRlclN0cmF0ZWd5O1xuICBwdWJsaWMgcm93QWN0aW9uczogUm93QWN0aW9uW10gPSBbXTtcbiAgcHVibGljIG1lbnVSb3dBY3Rpb25zOiBSb3dBY3Rpb25bXSA9IFtdO1xuICBwdWJsaWMgaW5saW5lUm93QWN0aW9uczogUm93QWN0aW9uW10gPSBbXTtcbiAgcHVibGljIHJlc3RvcmVBY3Rpb246IFJvd0FjdGlvbjtcbiAgcHVibGljIHNlbGVjdGVkID0gZmFsc2U7XG4gIHB1YmxpYyBpbmRldGVybWluYXRlU2VsZWN0ZWQ6IGJvb2xlYW4gfCAnaW5kZXRlcm1pbmF0ZScgPSBmYWxzZTtcblxuICBwcml2YXRlIF9yb3dEaWZmZXI6IEtleVZhbHVlRGlmZmVyPGFueSwgYW55PjtcbiAgcHJpdmF0ZSBfZXZlbnRMaXN0ZW5lcnMgPSBbXTtcbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfZGlmZmVyczogS2V5VmFsdWVEaWZmZXJzLFxuICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBfZHJhZ2dhYmxlTGlzdDogRnNMaXN0RHJhZ2dhYmxlTGlzdERpcmVjdGl2ZSxcbiAgKSB7XG4gICAgdGhpcy5fcm93RGlmZmVyID0gX2RpZmZlcnMuZmluZCh7fSkuY3JlYXRlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzR3JvdXBSb3coKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm93LmlzR3JvdXA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzR3JvdXBDaGlsZFJvdygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb3cuaXNHcm91cENoaWxkO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0dyb3VwRm9vdGVyUm93KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJvdy5pc0dyb3VwRm9vdGVyO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0RyYWdEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc2VsZWN0ZWQgJiYgdGhpcy5yZW9yZGVyTXVsdGlwbGUgJiYgISF0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZFJvd3Muc2l6ZTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MubXVsdGlwbGUtc2VsZWN0aW9uJylcbiAgcHVibGljIGdldCBpc011bHRpcGxlU2VsZWN0aW9uKCkge1xuICAgIGNvbnN0IG11bHRpcGxlID0gdGhpcy5yZW9yZGVyTXVsdGlwbGU7XG5cbiAgICByZXR1cm4gbXVsdGlwbGUgJiYgdGhpcy5zZWxlY3RlZDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwdWJsaWMgZ2V0IHJvd0Nzc0NsYXNzKCkge1xuICAgIGxldCBjbGFzc2VzID0gWydmcy1saXN0LXJvdyddO1xuXG4gICAgaWYgKHRoaXMucm93SW5kZXggJSAyICE9PSAwKSB7XG4gICAgICBjbGFzc2VzLnB1c2goJ2ZzLWxpc3Qtcm93LW9kZCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5yb3dJbmRleCAlIDIgPT09IDApIHtcbiAgICAgIGNsYXNzZXMucHVzaCgnZnMtbGlzdC1yb3ctZXZlbicpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJvdz8uaXNHcm91cCkge1xuICAgICAgY2xhc3Nlcy5wdXNoKCdmcy1saXN0LXJvdy1ncm91cCcpO1xuICAgIH0gZWxzZSBpZiAoKHRoaXMucm93IGFzIGFueSk/LmlzQ2hpbGQpIHsgLy8gVE9ETyBmaXggaXNDaGlsZCAmIGFsbFxuICAgICAgY2xhc3Nlcy5wdXNoKCdmcy1saXN0LXJvdy1ncm91cC1jaGlsZCcpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5yb3c/LmlzR3JvdXBGb290ZXIpIHtcbiAgICAgIGNsYXNzZXMucHVzaCgnZnMtbGlzdC1yb3ctZ3JvdXAtZm9vdGVyJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNsYXNzZXMucHVzaCgnZnMtbGlzdC1yb3ctYm9keScpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJvd0NsYXNzKSB7XG4gICAgICBjbGFzc2VzID0gW1xuICAgICAgICAuLi5jbGFzc2VzLFxuICAgICAgICAuLi50aGlzLl9nZXRSb3dDbGFzc2VzKHRoaXMucm93Q2xhc3MpLFxuICAgICAgXTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3Nlcy5qb2luKCcgJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRyYWdDZWxsVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMucm93LmlzR3JvdXA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxlZnREcmFnRHJvcEVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVvcmRlckVuYWJsZWRcbiAgICAgICYmIHRoaXMucmVvcmRlclBvc2l0aW9uID09PSBSZW9yZGVyUG9zaXRpb24uTGVmdFxuICAgICAgJiYgdGhpcy5hY3RpdmVGaWx0ZXJzQ291bnQgPT09IDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJpZ2h0RHJhZ0Ryb3BFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJlb3JkZXJFbmFibGVkXG4gICAgICAmJiB0aGlzLnJlb3JkZXJQb3NpdGlvbiA9PT0gUmVvcmRlclBvc2l0aW9uLlJpZ2h0XG4gICAgICAmJiB0aGlzLmFjdGl2ZUZpbHRlcnNDb3VudCA9PT0gMDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9pbml0Um93RXZlbnRzKCk7XG4gICAgdGhpcy5faW5pdFNlbGVjdGlvbigpO1xuXG4gICAgaWYgKHRoaXMucm93KSB7XG4gICAgICB0aGlzLl9pbml0Um93QWN0aW9uc1VwZGF0ZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJvdyAmJiB0aGlzLnJvdy5pc0dyb3VwKSB7XG4gICAgICBpZiAodGhpcy5yb3cgJiYgdGhpcy5yb3cuaXNHcm91cCAmJiB0aGlzLmdyb3VwQWN0aW9uc1Jhdykge1xuICAgICAgICB0aGlzLnJvd0FjdGlvbnMgPSB0aGlzLmdyb3VwQWN0aW9uc1Jhdy5tYXAoKGFjdGlvbikgPT4gbmV3IFJvd0FjdGlvbihhY3Rpb24pKTtcblxuICAgICAgICB0aGlzLl9maWx0ZXJBY3Rpb25zQnlDYXRlZ29yaWVzKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLnJvd0FjdGlvbnNSYXcpIHtcbiAgICAgIHRoaXMucm93QWN0aW9ucyA9IHRoaXMucm93QWN0aW9uc1Jhdy5tYXAoKGFjdGlvbikgPT4gbmV3IFJvd0FjdGlvbihhY3Rpb24pKTtcblxuICAgICAgdGhpcy5fZmlsdGVyQWN0aW9uc0J5Q2F0ZWdvcmllcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0RvQ2hlY2soKSB7XG4gICAgaWYgKHRoaXMuX3Jvd0RpZmZlci5kaWZmKHRoaXMucm93KSkge1xuICAgICAgdGhpcy51cGRhdGVSb3dBY3Rpb25zKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVwZGF0ZVJvd0FjdGlvbnMoKSB7XG4gICAgaWYgKHRoaXMucm93QWN0aW9ucykge1xuICAgICAgdGhpcy5yb3dBY3Rpb25zLmZvckVhY2goKGFjdGlvbikgPT4ge1xuICAgICAgICBhY3Rpb24uY2hlY2tTaG93U3RhdHVzKHRoaXMucm93LmRhdGEsIHRoaXMucm93SW5kZXgpO1xuICAgICAgICBhY3Rpb24udXBkYXRlTGluayh0aGlzLnJvdy5kYXRhKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5fZmlsdGVyQWN0aW9uc0J5Q2F0ZWdvcmllcygpO1xuICAgIH1cblxuICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2V2ZW50TGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiB7XG4gICAgICBsaXN0ZW5lcigpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IHJvdyBieSBjaGVja2JveFxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICovXG4gIHB1YmxpYyBzZWxlY3RSb3coZXZlbnQ6IE1hdENoZWNrYm94Q2hhbmdlKSB7XG4gICAgdGhpcy5zZWxlY3Rpb24ucm93U2VsZWN0aW9uQ2hhbmdlKHRoaXMucm93LCBldmVudC5jaGVja2VkKTtcbiAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFjayBCeSBmb3IgaW1wcm92ZSBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSBpbmRleFxuICAgKi9cbiAgcHVibGljIHRyYWNrQnlGbihpbmRleCkge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBkcmFnU3RhcnQoZXZlbnQpIHtcbiAgICBpZiAodGhpcy5yZW9yZGVyRW5hYmxlZCAmJiAhdGhpcy5pc0RyYWdEaXNhYmxlZCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICB0aGlzLl9kcmFnZ2FibGVMaXN0LmRyYWdTdGFydCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgZXZlbnQgbGlzdGVuZXJzIGZvciByb3dcbiAgICovXG4gIHByaXZhdGUgX2luaXRSb3dFdmVudHMoKSB7XG4gICAgT2JqZWN0LmtleXModGhpcy5yb3dFdmVudHMgfHwge30pXG4gICAgICAuZm9yRWFjaCgoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMucm93RXZlbnRzLmhhc093blByb3BlcnR5KGV2ZW50KSkge1xuICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gdGhpcy5fcmVuZGVyZXJcbiAgICAgICAgICAgIC5saXN0ZW4odGhpcy5lbC5uYXRpdmVFbGVtZW50LCBldmVudCwgKGV2dCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXRoaXMucmVvcmRlckVuYWJsZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJvd0V2ZW50c1tldmVudF0oe1xuICAgICAgICAgICAgICAgICAgZXZlbnQ6IGV2dCxcbiAgICAgICAgICAgICAgICAgIHJvdzogdGhpcy5yb3cuZGF0YSxcbiAgICAgICAgICAgICAgICAgIHJvd0luZGV4OiB0aGlzLnJvd0luZGV4LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMuX2V2ZW50TGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuICBcbiAgcHJpdmF0ZSBfaW5pdFJvd0FjdGlvbnNVcGRhdGUoKSA6IHZvaWQge1xuICAgIGlmKHRoaXMucm93LmFjdGlvbnNVcGRhdGUkKSB7XG4gICAgICB0aGlzLnJvdy5hY3Rpb25zVXBkYXRlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZVJvd0FjdGlvbnMoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2dldFJvd0NsYXNzZXMocm93Q2xhc3MpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY2xhc3NlcyA9IFtdO1xuICAgIGNvbnN0IG9wdGlvbnM6IEZzTGlzdFJvd0NsYXNzT3B0aW9ucyA9IHtcbiAgICAgIGluZGV4OiB0aGlzLnJvd0luZGV4LFxuICAgICAgdHlwZTogdGhpcy5yb3cudHlwZSxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMucm93LmlzR3JvdXApIHtcbiAgICAgIG9wdGlvbnMuZ3JvdXBJbmRleCA9IHRoaXMucm93LmluZGV4O1xuICAgIH0gZWxzZSBpZiAoKHRoaXMucm93IGFzIGFueSkuaXNDaGlsZCB8fCB0aGlzLnJvdy5pc0dyb3VwRm9vdGVyKSB7IC8vIFRPRE8gZml4IGlzQ2hpbGQgJiBhbGxcbiAgICAgIG9wdGlvbnMuZ3JvdXBJbmRleCA9IHRoaXMucm93LnBhcmVudC5pbmRleDtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHRDbGFzcyA9IHJvd0NsYXNzKHRoaXMucm93LmRhdGEsIG9wdGlvbnMpO1xuICAgIGlmKHJlc3VsdENsYXNzKSB7XG4gICAgICBpZiAodHlwZW9mIHJlc3VsdENsYXNzID09PSAnc3RyaW5nJykge1xuICAgICAgICBjbGFzc2VzLnB1c2gocmVzdWx0Q2xhc3MpO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcmVzdWx0Q2xhc3MgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhyZXN1bHRDbGFzcyk7XG4gICAgICAgIGZvciAoY29uc3QgayBvZiBrZXlzKSB7XG4gICAgICAgICAgaWYgKHJlc3VsdENsYXNzW2tdID09PSB0cnVlKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goayk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzZXM7XG4gIH1cblxuICAvKipcbiAgICogU3Vic2NyaWJlIHRvIHNlbGVjdGlvbiBjaGFuZ2UgZXZlbnRzXG4gICAqL1xuICBwcml2YXRlIF9pbml0U2VsZWN0aW9uKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMucm93ICYmIHRoaXMuc2VsZWN0aW9uLmlzUm93U2VsZWN0ZWQodGhpcy5yb3cuZGF0YSk7XG5cbiAgICAgIHRoaXMuc2VsZWN0aW9uLnNlbGVjdGlvbkNoYW5nZSRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgLy8gLy8gV291bGQgbGlrZSB0byByZXNwb25kIG9ubHkgd2hlbiBjaGVja2JveCBvbiB0b3AgaXMgY2hhbmdlZFxuICAgICAgICAgIC8vIC8vIG9yIHdhcyBjbGlja2VkIFwiU2VsZWN0IEFsbFwiIGluIHNlbGVjdGlvbiBkaWFsb2dcbiAgICAgICAgICAvLyBmaWx0ZXIoKHt0eXBlfSkgPT4ge1xuICAgICAgICAgIC8vICAgcmV0dXJuIHR5cGUgPT09IFNlbGVjdGlvbkNoYW5nZVR5cGUuQWxsVmlzaWJsZVNlbGVjdGlvbkNoYW5nZVxuICAgICAgICAgIC8vICAgICB8fCB0eXBlID09PSBTZWxlY3Rpb25DaGFuZ2VUeXBlLlNlbGVjdGVkQWxsO1xuICAgICAgICAgIC8vIH0pLFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMucm93ICYmIHRoaXMuc2VsZWN0aW9uLmlzUm93U2VsZWN0ZWQodGhpcy5yb3cuZGF0YSk7XG5cbiAgICAgICAgICBpZiAodGhpcy5yb3c/LmlzR3JvdXApIHtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwU2VsZWN0aW9uID0gdGhpcy5zZWxlY3Rpb24uaXNHcm91cFNlbGVjdGVkKHRoaXMucm93KTtcblxuICAgICAgICAgICAgaWYgKGdyb3VwU2VsZWN0aW9uID09PSAnaW5kZXRlcm1pbmF0ZScpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZVNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBncm91cFNlbGVjdGlvbjtcbiAgICAgICAgICAgICAgdGhpcy5pbmRldGVybWluYXRlU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZmlsdGVyQWN0aW9uc0J5Q2F0ZWdvcmllcygpIHtcbiAgICB0aGlzLm1lbnVSb3dBY3Rpb25zID0gW107XG4gICAgdGhpcy5pbmxpbmVSb3dBY3Rpb25zID0gW107XG4gICAgdGhpcy5yZXN0b3JlQWN0aW9uID0gbnVsbDtcblxuICAgIHRoaXMucm93QWN0aW9ucy5mb3JFYWNoKChhY3Rpb24pID0+IHtcblxuICAgICAgaWYgKCFhY3Rpb24uaXNTaG93bikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChhY3Rpb24ubWVudSAmJiAhYWN0aW9uLnJlc3RvcmUpIHtcbiAgICAgICAgdGhpcy5tZW51Um93QWN0aW9ucy5wdXNoKGFjdGlvbik7XG4gICAgICB9IGVsc2UgaWYgKCFhY3Rpb24ubWVudSAmJiAhYWN0aW9uLnJlc3RvcmUpIHtcbiAgICAgICAgdGhpcy5pbmxpbmVSb3dBY3Rpb25zLnB1c2goYWN0aW9uKTtcbiAgICAgIH0gZWxzZSBpZiAoYWN0aW9uLnJlc3RvcmUpIHtcbiAgICAgICAgdGhpcy5yZXN0b3JlQWN0aW9uID0gYWN0aW9uO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8IS0tIERyYWcgLS0+XG48bmctY29udGFpbmVyICpuZ0lmPVwibGVmdERyYWdEcm9wRW5hYmxlZFwiPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHJhZ0NlbGxcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48IS0tIFNlbGVjdGlvbiAtLT5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3Rpb24gJiYgIShzZWxlY3Rpb24uZGlzYWJsZWQkIHwgYXN5bmMpXCI+XG4gIDx0ZCBjbGFzcz1cImZzLWxpc3QtY29sIGZzLWxpc3QtY29sLXNlbGVjdGlvblwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcm93LmlzR3JvdXBGb290ZXJcIj5cbiAgICAgIDxtYXQtY2hlY2tib3ggXG4gICAgICAgIChjaGFuZ2UpPVwic2VsZWN0Um93KCRldmVudClcIlxuICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZFwiXG4gICAgICAgIFtpbmRldGVybWluYXRlXT1cImluZGV0ZXJtaW5hdGVTZWxlY3RlZFwiPlxuICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvdGQ+XG48L25nLWNvbnRhaW5lcj5cblxuPCEtLSBDb250ZW50IC0tPlxuPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrQnk6IHRyYWNrQnlGbjsgbGV0IGlzRmlyc3QgPSBmaXJzdFwiPlxuICA8dGQgZnMtY2VsbFxuICAgICAgKm5nSWY9XCIoaXNHcm91cFJvdyAmJiAhY29sdW1uLmdyb3VwSGVhZGVyQ29sc3Bhbm5lZClcbiAgICAgICAgfHwgKGlzR3JvdXBGb290ZXJSb3cgJiYgIWNvbHVtbi5ncm91cEZvb3RlckNvbHNwYW5uZWQpXG4gICAgICAgIHx8ICghaXNHcm91cFJvdyAmJiAhaXNHcm91cEZvb3RlclJvdyAmJiAhY29sdW1uLmNlbGxDb2xzcGFubmVkKVwiXG4gICAgICBbY29sdW1uXT1cImNvbHVtblwiXG4gICAgICBbcm93XT1cInJvd1wiXG4gICAgICBbcm93SW5kZXhdPVwicm93SW5kZXhcIlxuICAgICAgW2NsYXNzXT1cIihpc0dyb3VwUm93ICYmIGNvbHVtbi5ncm91cEhlYWRlckNvbmZpZ3MuY2xhc3Nlc1N0cmluZylcbiAgICAgICAgfHwgKGlzR3JvdXBGb290ZXJSb3cgJiYgY29sdW1uLmdyb3VwRm9vdGVyQ29uZmlncy5jbGFzc2VzU3RyaW5nKVxuICAgICAgICB8fCAoIWlzR3JvdXBGb290ZXJSb3cgJiYgY29sdW1uLmNlbGxDb25maWdzLmNsYXNzZXNTdHJpbmcpXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ3ByaW1hcnktY29sJzogaXNGaXJzdCB9XCJcbiAgICAgIFthdHRyLmNvbHNwYW5dPVwiKGlzR3JvdXBSb3cgJiYgY29sdW1uLmdyb3VwSGVhZGVyQ29uZmlncy5jb2xzcGFuKVxuICAgICAgICB8fCAoaXNHcm91cEZvb3RlclJvdyAmJiBjb2x1bW4uZ3JvdXBGb290ZXJDb25maWdzLmNvbHNwYW4pXG4gICAgICAgIHx8IGNvbHVtbi5jZWxsQ29uZmlncy5jb2xzcGFuXCJcbiAgICAgIFthdHRyLndpZHRoXT1cImNvbHVtbi53aWR0aFwiXG4gID5cbiAgPC90ZD5cbjwvbmctY29udGFpbmVyPlxuXG48IS0tIERyYWcgLS0+XG48bmctY29udGFpbmVyICpuZ0lmPVwicmlnaHREcmFnRHJvcEVuYWJsZWRcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRyYWdDZWxsXCI+PC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPCEtLSBSb3cgQWN0aW9ucyAtLT5cbjx0ZCAqbmdJZj1cImhhc1Jvd0FjdGlvbnMgJiYgIShyZW9yZGVyRW5hYmxlZCAmJiByZW9yZGVyU3RyYXRlZ3kgPT09IFJlb3JkZXJTdHJhdGVneS5NYW51YWwpXCIgY2xhc3M9XCJmcy1saXN0LWNvbCByb3ctYWN0aW9uc1wiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzR3JvdXBGb290ZXJSb3dcIj5cbiAgICA8ZnMtbGlzdC1yb3ctYWN0aW9uc1xuICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgW2luZGV4XT1cInJvd0luZGV4XCJcbiAgICAgIFtyb3dBY3Rpb25zXT1cInJvd0FjdGlvbnNcIlxuICAgICAgW21lbnVSb3dBY3Rpb25zXT1cIm1lbnVSb3dBY3Rpb25zXCJcbiAgICAgIFtpbmxpbmVSb3dBY3Rpb25zXT1cImlubGluZVJvd0FjdGlvbnNcIlxuICAgICAgW3Jlc3RvcmVBY3Rpb25dPVwicmVzdG9yZUFjdGlvblwiXG4gICAgICBbcmVzdG9yZU1vZGVdPVwicmVzdG9yZU1vZGVcIlxuICAgICAgW3Jvd1JlbW92ZWRdPVwicm93UmVtb3ZlZFwiPlxuICAgIDwvZnMtbGlzdC1yb3ctYWN0aW9ucz5cbiAgPC9uZy1jb250YWluZXI+XG48L3RkPlxuXG48bmctdGVtcGxhdGUgI2RyYWdDZWxsPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZHJhZ0NlbGxWaXNpYmxlICYmICFpc0dyb3VwRm9vdGVyUm93OyBlbHNlIGVtcHR5Q2VsbFwiPlxuICAgIDx0ZCBcbiAgICAgICAgY2xhc3M9XCJmcy1saXN0LWNvbCBkcmFnLWNvbFwiXG4gICAgICAgIFtjbGFzcy5kcmFnLWRpc2FibGVkXT1cImlzRHJhZ0Rpc2FibGVkXCJcbiAgICAgICAgKG1vdXNlZG93bik9XCJkcmFnU3RhcnQoJGV2ZW50KVwiXG4gICAgICAgICh0b3VjaHN0YXJ0KT1cImRyYWdTdGFydCgkZXZlbnQpXCI+XG4gICAgICA8bWF0LWljb24+ZHJhZ19oYW5kbGU8L21hdC1pY29uPlxuICAgIDwvdGQ+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI2VtcHR5Q2VsbD5cbiAgICA8dGQgY2xhc3M9XCJmcy1saXN0LWNvbCBkcmFnLWNvbFwiPjwvdGQ+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1069,11 +1069,13 @@ class FsRowComponent {
|
|
|
1069
1069
|
});
|
|
1070
1070
|
}
|
|
1071
1071
|
_initRowActionsUpdate() {
|
|
1072
|
-
this.row.actionsUpdate$
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1072
|
+
if (this.row.actionsUpdate$) {
|
|
1073
|
+
this.row.actionsUpdate$
|
|
1074
|
+
.pipe(takeUntil(this._destroy$))
|
|
1075
|
+
.subscribe(() => {
|
|
1076
|
+
this.updateRowActions();
|
|
1077
|
+
});
|
|
1078
|
+
}
|
|
1077
1079
|
}
|
|
1078
1080
|
_getRowClasses(rowClass) {
|
|
1079
1081
|
const classes = [];
|