@universis/ngx-tables 0.6.18 → 0.6.19

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.
@@ -83,7 +83,10 @@ var AdvancedSearchFormComponent = /** @class */ (function (_super) {
83
83
  var value = _this.formComponent.submission.data[key];
84
84
  // the filter with type is a string and is not empty
85
85
  var isEmptyString = typeof value === 'string' && value.length === 0;
86
- if (!isEmptyString) {
86
+ // do not include empty objects in filter
87
+ var isEmptyObject = typeof value === 'object' && Object.keys(value).length === 0;
88
+ // make isEmptyString, isEmptyObject mutex
89
+ if (!isEmptyString && !isEmptyObject) {
87
90
  Object.defineProperty(_this.filter, key, {
88
91
  configurable: true,
89
92
  enumerable: true,
@@ -134,4 +137,4 @@ var AdvancedSearchFormComponent = /** @class */ (function (_super) {
134
137
  }(AdvancedTableSearchBaseComponent));
135
138
  export { AdvancedSearchFormComponent };
136
139
 
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtc2VhcmNoLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXZlcnNpcy9uZ3gtdGFibGVzLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYWR2YW5jZWQtc2VhcmNoLWZvcm0vYWR2YW5jZWQtc2VhcmNoLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUMvSixPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxzQkFBc0IsRUFBRSxxQkFBcUIsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQy9FLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQzlGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBR3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRDtJQVdpRCx1REFBZ0M7SUFXL0UscUNBQW9CLFFBQTRCLEVBQzVCLGlCQUFtQyxFQUNuQyxlQUErQixFQUMvQixLQUFpQjtRQUhyQyxZQUtFLGlCQUFPLFNBQ1I7UUFObUIsY0FBUSxHQUFSLFFBQVEsQ0FBb0I7UUFDNUIsdUJBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxxQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDL0IsV0FBSyxHQUFMLEtBQUssQ0FBWTtRQVY1QixVQUFJLEdBQVEsRUFBRSxDQUFDO1FBRWQsaUJBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2hE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TSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUM3SCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDO0lBQ25ELENBQUM7SUFFRCxxREFBZSxHQUFmO1FBQ0UsRUFBRTtJQUNKLENBQUM7SUFFRCxpREFBVyxHQUFYO1FBQ0UsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3ZDO0lBQ0gsQ0FBQzs7Z0JBdEhGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxRQUFRLEVBQUUsbVNBS1Q7b0JBRUQsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O2lCQUN0Qzs7OztnQkFuQk8sa0JBQWtCO2dCQUlsQixnQkFBZ0I7Z0JBSGhCLGNBQWM7Z0JBTWIsVUFBVTs7O2dDQWdCaEIsU0FBUyxTQUFDLGlCQUFpQjt1QkFDM0IsS0FBSzswQkFDTCxLQUFLOzhCQUNMLE1BQU07O0lBc0dULGtDQUFDO0NBQUEsQUF2SEQsQ0FXaUQsZ0NBQWdDLEdBNEdoRjtTQTVHWSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybWlvQ29tcG9uZW50LCBGb3JtaW9Gb3JtfSBmcm9tICdhbmd1bGFyLWZvcm1pbyc7XG5pbXBvcnQge0FuZ3VsYXJEYXRhQ29udGV4dH0gZnJvbSAnQHRoZW1vc3QvYW5ndWxhcic7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtTZXJ2aWNlVXJsUHJlUHJvY2Vzc29yLCBUcmFuc2xhdGVQcmVQcm9jZXNzb3J9IGZyb20gJ0B1bml2ZXJzaXMvZm9ybXMnO1xuaW1wb3J0IHtBZHZhbmNlZFRhYmxlU2VhcmNoQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vYWR2YW5jZWQtdGFibGUvYWR2YW5jZWQtdGFibGUtc2VhcmNoLWJhc2UnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7QWR2YW5jZWRUYWJsZUNvbXBvbmVudH0gZnJvbSAnLi4vYWR2YW5jZWQtdGFibGUvYWR2YW5jZWQtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hZHZhbmNlZC1zZWFyY2gtZm9ybScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInAtNFwiPlxuICAgICAgPGZvcm1pbyAjZm9ybWlvQ29tcG9uZW50IGNsYXNzPVwiZm9ybWlvLXNlYXJjaFwiIChrZXlkb3duKT1cIm9uS2V5RW50ZXIoJGV2ZW50KVwiIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiIChmb3JtTG9hZCk9XCJvbkZvcm1Mb2FkKCRldmVudClcIlxuICAgICAgICAgICAgICBbcmVmcmVzaF09XCJyZWZyZXNoRm9ybVwiIFtzdWJtaXNzaW9uXT1cInN1Ym1pc3Npb25cIiBbZm9ybV09XCJmb3JtXCI+PC9mb3JtaW8+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2FkdmFuY2VkLXNlYXJjaC1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQWR2YW5jZWRTZWFyY2hGb3JtQ29tcG9uZW50IGV4dGVuZHMgQWR2YW5jZWRUYWJsZVNlYXJjaEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcblxuXG4gIEBWaWV3Q2hpbGQoJ2Zvcm1pb0NvbXBvbmVudCcpIGZvcm1Db21wb25lbnQ6IEZvcm1pb0NvbXBvbmVudDtcbiAgQElucHV0KCkgZm9ybTogYW55ID0ge307XG4gIEBJbnB1dCgpIGZvcm1TcmM6IHN0cmluZztcbiAgQE91dHB1dCgpIHJlZnJlc2hGb3JtID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHN1Ym1pc3Npb246IGFueSA9IHsgZGF0YToge30gfTtcbiAgcHJpdmF0ZSBmaWx0ZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIGxvYWRpbmcgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NvbnRleHQ6IEFuZ3VsYXJEYXRhQ29udGV4dCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50XG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjaGFuZ2VzLCAnZm9ybScpKSB7XG4gICAgICBpZiAoY2hhbmdlcy5mb3JtICE9IG51bGwpIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuZm9ybS5jdXJyZW50VmFsdWUgJiZcbiAgICAgICAgICBjaGFuZ2VzLmZvcm0uY3VycmVudFZhbHVlICE9IGNoYW5nZXMuZm9ybS5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5uZ09uSW5pdCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoY2hhbmdlcywgJ2Zvcm1TcmMnKSkge1xuICAgICAgaWYgKGNoYW5nZXMuZm9ybVNyYyAhPSBudWxsKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmZvcm1TcmMuY3VycmVudFZhbHVlICYmXG4gICAgICAgICAgY2hhbmdlcy5mb3JtU3JjLmN1cnJlbnRWYWx1ZSAhPSBjaGFuZ2VzLmZvcm1TcmMucHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgIHRoaXMuX2h0dHAuZ2V0KGNoYW5nZXMuZm9ybVNyYy5jdXJyZW50VmFsdWUpLnRvUHJvbWlzZSgpLnRoZW4oKGZvcm0pID0+IHtcbiAgICAgICAgICAgIC8vIHNldCBmb3JtXG4gICAgICAgICAgICB0aGlzLmZvcm0gPSBmb3JtO1xuICAgICAgICAgICAgLy8gYW5kIGluaXRcbiAgICAgICAgICAgIHRoaXMubmdPbkluaXQoKTtcbiAgICAgICAgICB9KS5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBsb2FkaW5nIHNlYXJjaCBjb25maWd1cmF0aW9uJyk7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjaGFuZ2VzLCAnZmlsdGVyJykpIHtcbiAgICAgIGlmIChjaGFuZ2VzLmZpbHRlciAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuc3VibWlzc2lvbi5kYXRhID0gY2hhbmdlcy5maWx0ZXIuY3VycmVudFZhbHVlIHx8IHt9O1xuICAgICAgICB0aGlzLnJlZnJlc2hGb3JtLmVtaXQoe1xuICAgICAgICAgIHN1Ym1pc3Npb246IHRoaXMuc3VibWlzc2lvblxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtKSB7XG4gICAgICBuZXcgU2VydmljZVVybFByZVByb2Nlc3Nvcih0aGlzLl9jb250ZXh0KS5wYXJzZSh0aGlzLmZvcm0pO1xuICAgICAgbmV3IFRyYW5zbGF0ZVByZVByb2Nlc3Nvcih0aGlzLl90cmFuc2xhdGVTZXJ2aWNlKS5wYXJzZSh0aGlzLmZvcm0pO1xuICAgICAgdGhpcy5zdWJtaXNzaW9uID0ge1xuICAgICAgICBkYXRhOiB0aGlzLmZpbHRlclxuICAgICAgfTtcbiAgICAgIHRoaXMucmVmcmVzaEZvcm0uZW1pdCh7XG4gICAgICAgIGZvcm06IHRoaXMuZm9ybVxuICAgICAgfSk7XG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuZmlsdGVyU3Vic2NyaXB0aW9uID0gdGhpcy5maWx0ZXJDaGFuZ2Uuc3Vic2NyaWJlKCBmaWx0ZXIgPT4ge1xuICAgICAgICB0aGlzLnN1Ym1pc3Npb24uZGF0YSA9IGZpbHRlcjtcbiAgICAgICAgdGhpcy5yZWZyZXNoRm9ybS5lbWl0KHtcbiAgICAgICAgICBzdWJtaXNzaW9uOiB0aGlzLnN1Ym1pc3Npb25cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZShldmVudDogb2JqZWN0KSB7XG4gICAgT2JqZWN0LmtleXModGhpcy5mb3JtQ29tcG9uZW50LnN1Ym1pc3Npb24uZGF0YSkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLmZvcm1Db21wb25lbnQuc3VibWlzc2lvbi5kYXRhLCBrZXkpKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtQ29tcG9uZW50LnN1Ym1pc3Npb24uZGF0YVtrZXldO1xuICAgICAgICAvLyB0aGUgZmlsdGVyIHdpdGggdHlwZSBpcyBhIHN0cmluZyBhbmQgaXMgbm90IGVtcHR5XG4gICAgICAgIGNvbnN0IGlzRW1wdHlTdHJpbmcgPSAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5sZW5ndGggPT09IDA7XG4gICAgICAgIGlmICghaXNFbXB0eVN0cmluZykge1xuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLmZpbHRlciwga2V5LCB7XG4gICAgICAgICAgICBjb25maWd1cmFibGUgOiB0cnVlLFxuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlIDogdmFsdWVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZWxldGUgdGhpcy5maWx0ZXJba2V5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgb25Gb3JtTG9hZChmb3JtOiBGb3JtaW9Gb3JtKSB7XG4gICAgY29uc3QgY3VycmVudExhbmcgPSB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nO1xuICAgIHRoaXMuZm9ybUNvbXBvbmVudC5mb3JtaW8uaTE4bmV4dC5vcHRpb25zLnJlc291cmNlc1tjdXJyZW50TGFuZ10gPSB7IHRyYW5zbGF0aW9uIDogdGhpcy5fdHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGBGb3Jtc2ApIH07XG4gICAgdGhpcy5mb3JtQ29tcG9uZW50LmZvcm1pby5sYW5ndWFnZSA9IGN1cnJlbnRMYW5nO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vXG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5maWx0ZXJTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuZmlsdGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtc2VhcmNoLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXZlcnNpcy9uZ3gtdGFibGVzLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYWR2YW5jZWQtc2VhcmNoLWZvcm0vYWR2YW5jZWQtc2VhcmNoLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUMvSixPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxzQkFBc0IsRUFBRSxxQkFBcUIsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQy9FLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQzlGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBR3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRDtJQVdpRCx1REFBZ0M7SUFXL0UscUNBQW9CLFFBQTRCLEVBQzVCLGlCQUFtQyxFQUNuQyxlQUErQixFQUMvQixLQUFpQjtRQUhyQyxZQUtFLGlCQUFPLFNBQ1I7UUFObUIsY0FBUSxHQUFSLFFBQVEsQ0FBb0I7UUFDNUIsdUJBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxxQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDL0IsV0FBSyxHQUFMLEtBQUssQ0FBWTtRQVY1QixVQUFJLEdBQVEsRUFBRSxDQUFDO1FBRWQsaUJBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2hE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O2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxnREFBVSxHQUFWLFVBQVcsSUFBZ0I7UUFDekIsSUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDN0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQztJQUNuRCxDQUFDO0lBRUQscURBQWUsR0FBZjtRQUNFLEVBQUU7SUFDSixDQUFDO0lBRUQsaURBQVcsR0FBWDtRQUNFLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzNCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN2QztJQUNILENBQUM7O2dCQXpIRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsUUFBUSxFQUFFLG1TQUtUO29CQUVELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOztpQkFDdEM7Ozs7Z0JBbkJPLGtCQUFrQjtnQkFJbEIsZ0JBQWdCO2dCQUhoQixjQUFjO2dCQU1iLFVBQVU7OztnQ0FnQmhCLFNBQVMsU0FBQyxpQkFBaUI7dUJBQzNCLEtBQUs7MEJBQ0wsS0FBSzs4QkFDTCxNQUFNOztJQXlHVCxrQ0FBQztDQUFBLEFBMUhELENBV2lELGdDQUFnQyxHQStHaEY7U0EvR1ksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1pb0NvbXBvbmVudCwgRm9ybWlvRm9ybX0gZnJvbSAnYW5ndWxhci1mb3JtaW8nO1xuaW1wb3J0IHtBbmd1bGFyRGF0YUNvbnRleHR9IGZyb20gJ0B0aGVtb3N0L2FuZ3VsYXInO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7U2VydmljZVVybFByZVByb2Nlc3NvciwgVHJhbnNsYXRlUHJlUHJvY2Vzc29yfSBmcm9tICdAdW5pdmVyc2lzL2Zvcm1zJztcbmltcG9ydCB7QWR2YW5jZWRUYWJsZVNlYXJjaEJhc2VDb21wb25lbnR9IGZyb20gJy4uL2FkdmFuY2VkLXRhYmxlL2FkdmFuY2VkLXRhYmxlLXNlYXJjaC1iYXNlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0FkdmFuY2VkVGFibGVDb21wb25lbnR9IGZyb20gJy4uL2FkdmFuY2VkLXRhYmxlL2FkdmFuY2VkLXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYWR2YW5jZWQtc2VhcmNoLWZvcm0nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJwLTRcIj5cbiAgICAgIDxmb3JtaW8gI2Zvcm1pb0NvbXBvbmVudCBjbGFzcz1cImZvcm1pby1zZWFyY2hcIiAoa2V5ZG93bik9XCJvbktleUVudGVyKCRldmVudClcIiAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIiAoZm9ybUxvYWQpPVwib25Gb3JtTG9hZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW3JlZnJlc2hdPVwicmVmcmVzaEZvcm1cIiBbc3VibWlzc2lvbl09XCJzdWJtaXNzaW9uXCIgW2Zvcm1dPVwiZm9ybVwiPjwvZm9ybWlvPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9hZHZhbmNlZC1zZWFyY2gtZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEFkdmFuY2VkU2VhcmNoRm9ybUNvbXBvbmVudCBleHRlbmRzIEFkdmFuY2VkVGFibGVTZWFyY2hCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG5cblxuICBAVmlld0NoaWxkKCdmb3JtaW9Db21wb25lbnQnKSBmb3JtQ29tcG9uZW50OiBGb3JtaW9Db21wb25lbnQ7XG4gIEBJbnB1dCgpIGZvcm06IGFueSA9IHt9O1xuICBASW5wdXQoKSBmb3JtU3JjOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSByZWZyZXNoRm9ybSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBzdWJtaXNzaW9uOiBhbnkgPSB7IGRhdGE6IHt9IH07XG4gIHByaXZhdGUgZmlsdGVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBsb2FkaW5nID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jb250ZXh0OiBBbmd1bGFyRGF0YUNvbnRleHQsXG4gICAgICAgICAgICAgIHByaXZhdGUgX3RyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoY2hhbmdlcywgJ2Zvcm0nKSkge1xuICAgICAgaWYgKGNoYW5nZXMuZm9ybSAhPSBudWxsKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmZvcm0uY3VycmVudFZhbHVlICYmXG4gICAgICAgICAgY2hhbmdlcy5mb3JtLmN1cnJlbnRWYWx1ZSAhPSBjaGFuZ2VzLmZvcm0ucHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgIHRoaXMubmdPbkluaXQoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGNoYW5nZXMsICdmb3JtU3JjJykpIHtcbiAgICAgIGlmIChjaGFuZ2VzLmZvcm1TcmMgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY2hhbmdlcy5mb3JtU3JjLmN1cnJlbnRWYWx1ZSAmJlxuICAgICAgICAgIGNoYW5nZXMuZm9ybVNyYy5jdXJyZW50VmFsdWUgIT0gY2hhbmdlcy5mb3JtU3JjLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgICB0aGlzLl9odHRwLmdldChjaGFuZ2VzLmZvcm1TcmMuY3VycmVudFZhbHVlKS50b1Byb21pc2UoKS50aGVuKChmb3JtKSA9PiB7XG4gICAgICAgICAgICAvLyBzZXQgZm9ybVxuICAgICAgICAgICAgdGhpcy5mb3JtID0gZm9ybTtcbiAgICAgICAgICAgIC8vIGFuZCBpbml0XG4gICAgICAgICAgICB0aGlzLm5nT25Jbml0KCk7XG4gICAgICAgICAgfSkuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgbG9hZGluZyBzZWFyY2ggY29uZmlndXJhdGlvbicpO1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoY2hhbmdlcywgJ2ZpbHRlcicpKSB7XG4gICAgICBpZiAoY2hhbmdlcy5maWx0ZXIgIT0gbnVsbCkge1xuICAgICAgICB0aGlzLnN1Ym1pc3Npb24uZGF0YSA9IGNoYW5nZXMuZmlsdGVyLmN1cnJlbnRWYWx1ZSB8fCB7fTtcbiAgICAgICAgdGhpcy5yZWZyZXNoRm9ybS5lbWl0KHtcbiAgICAgICAgICBzdWJtaXNzaW9uOiB0aGlzLnN1Ym1pc3Npb25cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgbmV3IFNlcnZpY2VVcmxQcmVQcm9jZXNzb3IodGhpcy5fY29udGV4dCkucGFyc2UodGhpcy5mb3JtKTtcbiAgICAgIG5ldyBUcmFuc2xhdGVQcmVQcm9jZXNzb3IodGhpcy5fdHJhbnNsYXRlU2VydmljZSkucGFyc2UodGhpcy5mb3JtKTtcbiAgICAgIHRoaXMuc3VibWlzc2lvbiA9IHtcbiAgICAgICAgZGF0YTogdGhpcy5maWx0ZXJcbiAgICAgIH07XG4gICAgICB0aGlzLnJlZnJlc2hGb3JtLmVtaXQoe1xuICAgICAgICBmb3JtOiB0aGlzLmZvcm1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmZpbHRlclN1YnNjcmlwdGlvbiA9IHRoaXMuZmlsdGVyQ2hhbmdlLnN1YnNjcmliZSggZmlsdGVyID0+IHtcbiAgICAgICAgdGhpcy5zdWJtaXNzaW9uLmRhdGEgPSBmaWx0ZXI7XG4gICAgICAgIHRoaXMucmVmcmVzaEZvcm0uZW1pdCh7XG4gICAgICAgICAgc3VibWlzc2lvbjogdGhpcy5zdWJtaXNzaW9uXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25DaGFuZ2UoZXZlbnQ6IG9iamVjdCkge1xuICAgIE9iamVjdC5rZXlzKHRoaXMuZm9ybUNvbXBvbmVudC5zdWJtaXNzaW9uLmRhdGEpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGhpcy5mb3JtQ29tcG9uZW50LnN1Ym1pc3Npb24uZGF0YSwga2V5KSkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybUNvbXBvbmVudC5zdWJtaXNzaW9uLmRhdGFba2V5XTtcbiAgICAgICAgLy8gdGhlIGZpbHRlciB3aXRoIHR5cGUgaXMgYSBzdHJpbmcgYW5kIGlzIG5vdCBlbXB0eVxuICAgICAgICBjb25zdCBpc0VtcHR5U3RyaW5nID0gIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoID09PSAwO1xuICAgICAgICAvLyBkbyBub3QgaW5jbHVkZSBlbXB0eSBvYmplY3RzIGluIGZpbHRlclxuICAgICAgICBjb25zdCBpc0VtcHR5T2JqZWN0ID0gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwO1xuICAgICAgICAvLyBtYWtlIGlzRW1wdHlTdHJpbmcsIGlzRW1wdHlPYmplY3QgbXV0ZXhcbiAgICAgICAgaWYgKCFpc0VtcHR5U3RyaW5nICYmICFpc0VtcHR5T2JqZWN0KSB7XG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMuZmlsdGVyLCBrZXksIHtcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZSA6IHRydWUsXG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWUgOiB2YWx1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRlbGV0ZSB0aGlzLmZpbHRlcltrZXldO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvbkZvcm1Mb2FkKGZvcm06IEZvcm1pb0Zvcm0pIHtcbiAgICBjb25zdCBjdXJyZW50TGFuZyA9IHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmc7XG4gICAgdGhpcy5mb3JtQ29tcG9uZW50LmZvcm1pby5pMThuZXh0Lm9wdGlvbnMucmVzb3VyY2VzW2N1cnJlbnRMYW5nXSA9IHsgdHJhbnNsYXRpb24gOiB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYEZvcm1zYCkgfTtcbiAgICB0aGlzLmZvcm1Db21wb25lbnQuZm9ybWlvLmxhbmd1YWdlID0gY3VycmVudExhbmc7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy9cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZpbHRlclN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5maWx0ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==