@messaia/cdk 13.3.5-rc12 → 13.3.5-rc15

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.
@@ -14,4 +14,4 @@ export class TableDefinition {
14
14
  Object.assign(this, init);
15
15
  }
16
16
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGVmaW5pdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL3RhYmxlL21vZGVscy90YWJsZS1kZWZpbml0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxlQUFlO0lBaUJ4Qjs7O09BR0c7SUFDSCxZQUFtQixJQUErQjtRQWxCM0MsZUFBVSxHQUFhLElBQUksQ0FBQztRQUM1QixlQUFVLEdBQWEsSUFBSSxDQUFDO1FBQzVCLFlBQU8sR0FBYSxJQUFJLENBQUM7UUFDekIsYUFBUSxHQUFhLElBQUksQ0FBQztRQUMxQixjQUFTLEdBQWEsSUFBSSxDQUFDO1FBRzNCLFlBQU8sR0FBbUIsRUFBRSxDQUFDO1FBSzdCLFlBQU8sR0FBcUIsRUFBRSxDQUFDO1FBT2xDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSBcIi4vdGFibGUtY29sdW1uXCI7XHJcbmltcG9ydCB7IFRhYmxlTWVudUl0ZW0gfSBmcm9tIFwiLi90YWJsZS1tZW51LWl0ZW1cIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZURlZmluaXRpb24ge1xyXG4gICAgcHVibGljIGVuZHBvaW50OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgaW5jbHVkZXM/OiBzdHJpbmdbXTtcclxuICAgIHB1YmxpYyBzaG93QWN0aW9uPzogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBwdWJsaWMgc2VsZWN0YWJsZT86IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgcHVibGljIGFkZGFibGU/OiBib29sZWFuID0gdHJ1ZTtcclxuICAgIHB1YmxpYyBlZGl0YWJsZT86IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgcHVibGljIGRlbGV0YWJsZT86IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgcHVibGljIGRvd25sb2FkYWJsZT86IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgZHVwbGljYWJsZT86IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgY29sdW1ucz86IFRhYmxlQ29sdW1uW10gPSBbXTtcclxuICAgIHB1YmxpYyBoaWRlQ29sdW1ucz86IHN0cmluZ1tdO1xyXG4gICAgcHVibGljIHJvd05nQ2xhc3M/OiBGdW5jdGlvbjtcclxuICAgIHB1YmxpYyByb3dDbGljaz86IEZ1bmN0aW9uO1xyXG4gICAgcHVibGljIGRldGFpbHNUZW1wbGF0ZT86IHN0cmluZztcclxuICAgIHB1YmxpYyBhY3Rpb25zPzogVGFibGVNZW51SXRlbVtdID0gW107XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBjb25zdHJ1Y3RvclxyXG4gICAgICogQHBhcmFtIGluaXQgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0PzogUGFydGlhbDxUYWJsZURlZmluaXRpb24+KSB7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpbml0KTtcclxuICAgIH1cclxufSJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGVmaW5pdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL3RhYmxlL21vZGVscy90YWJsZS1kZWZpbml0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxlQUFlO0lBa0J4Qjs7O09BR0c7SUFDSCxZQUFtQixJQUErQjtRQWxCM0MsZUFBVSxHQUFhLElBQUksQ0FBQztRQUM1QixlQUFVLEdBQWEsSUFBSSxDQUFDO1FBQzVCLFlBQU8sR0FBYSxJQUFJLENBQUM7UUFDekIsYUFBUSxHQUFhLElBQUksQ0FBQztRQUMxQixjQUFTLEdBQWEsSUFBSSxDQUFDO1FBRzNCLFlBQU8sR0FBbUIsRUFBRSxDQUFDO1FBSzdCLFlBQU8sR0FBcUIsRUFBRSxDQUFDO1FBT2xDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSBcIi4vdGFibGUtY29sdW1uXCI7XHJcbmltcG9ydCB7IFRhYmxlTWVudUl0ZW0gfSBmcm9tIFwiLi90YWJsZS1tZW51LWl0ZW1cIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZURlZmluaXRpb24ge1xyXG4gICAgcHVibGljIGVuZHBvaW50OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgcHJvamVjdGlvbj86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gICAgcHVibGljIGluY2x1ZGVzPzogc3RyaW5nW107XHJcbiAgICBwdWJsaWMgc2hvd0FjdGlvbj86IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgcHVibGljIHNlbGVjdGFibGU/OiBib29sZWFuID0gdHJ1ZTtcclxuICAgIHB1YmxpYyBhZGRhYmxlPzogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBwdWJsaWMgZWRpdGFibGU/OiBib29sZWFuID0gdHJ1ZTtcclxuICAgIHB1YmxpYyBkZWxldGFibGU/OiBib29sZWFuID0gdHJ1ZTtcclxuICAgIHB1YmxpYyBkb3dubG9hZGFibGU/OiBib29sZWFuO1xyXG4gICAgcHVibGljIGR1cGxpY2FibGU/OiBib29sZWFuO1xyXG4gICAgcHVibGljIGNvbHVtbnM/OiBUYWJsZUNvbHVtbltdID0gW107XHJcbiAgICBwdWJsaWMgaGlkZUNvbHVtbnM/OiBzdHJpbmdbXTtcclxuICAgIHB1YmxpYyByb3dOZ0NsYXNzPzogRnVuY3Rpb247XHJcbiAgICBwdWJsaWMgcm93Q2xpY2s/OiBGdW5jdGlvbjtcclxuICAgIHB1YmxpYyBkZXRhaWxzVGVtcGxhdGU/OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgYWN0aW9ucz86IFRhYmxlTWVudUl0ZW1bXSA9IFtdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogY29uc3RydWN0b3JcclxuICAgICAqIEBwYXJhbSBpbml0IFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoaW5pdD86IFBhcnRpYWw8VGFibGVEZWZpbml0aW9uPikge1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -130,7 +130,7 @@ export class TableDataSource extends DataSource {
130
130
  /* Load data and return it */
131
131
  return this.service.getList(Object.assign({
132
132
  includes: this.includes,
133
- projection: this.projection,
133
+ projection: Array.isArray(this.projection) ? this.projection.join(',') : this.projection,
134
134
  page: this.paginator.pageIndex + 1,
135
135
  pageSize: this.paginator.pageSize,
136
136
  search: this.filter.toLowerCase(),
@@ -209,4 +209,4 @@ export class TableDataSource extends DataSource {
209
209
  }
210
210
  }
211
211
  }
212
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuZGF0YS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi90YWJsZS90YWJsZS5kYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUloRCxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBYyxFQUFFLElBQUksWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJbEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBbUUsU0FBUSxVQUFtQjtJQXNHMUc7Ozs7O09BS0c7SUFDSCxZQUNRLE9BQWlCLEVBQ2pCLFNBQXVCLEVBQ3ZCLElBQWE7UUFFcEIsS0FBSyxFQUFFLENBQUM7UUFKRCxZQUFPLEdBQVAsT0FBTyxDQUFVO1FBQ2pCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDdkIsU0FBSSxHQUFKLElBQUksQ0FBUztRQTdHckI7OztXQUdHO1FBQ0ssa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVoRDs7O1dBR0c7UUFDSSxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBRXREOzs7V0FHRztRQUNJLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQXNCLElBQUksQ0FBQyxDQUFDO1FBRXJFOztXQUVHO1FBQ0ksbUJBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBVSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUF3QjlEOztXQUVHO1FBQ0ksYUFBUSxH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bGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcclxuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90YWJsZSc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBNYXRTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWVyZ2UsIE9ic2VydmFibGUsIG9mIGFzIG9ic2VydmFibGVPZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHNraXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi9jb21tb24vZnVuY3Rpb25zL3V0aWxzJztcclxuaW1wb3J0IHsgR2VuZXJpY1NlcnZpY2UgfSBmcm9tICcuLi9odHRwL3NlcnZpY2VzL2dlbmVyaWMuc2VydmljZSc7XHJcbmltcG9ydCB7IFBhZ2luYXRpb24gfSBmcm9tICcuL21vZGVscy9wYWdpbmF0aW9uJztcclxuXHJcbi8qKlxyXG4gKiBBIGdlbmVyaWMgZGF0YXNvdXJjZSBmb3IgZGF0YS10YWJsZVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFRhYmxlRGF0YVNvdXJjZTxURW50aXR5LCBUU2VydmljZSBleHRlbmRzIEdlbmVyaWNTZXJ2aWNlPFRFbnRpdHk+PiBleHRlbmRzIERhdGFTb3VyY2U8VEVudGl0eT4ge1xyXG5cclxuXHQvKipcclxuXHQgKiBSZXByZXNlbnRzIGEgdmFsdWUgdGhhdCBjaGFuZ2VzIG92ZXIgdGltZS4gXHJcblx0ICogT2JzZXJ2ZXJzIGNhbiBzdWJzY3JpYmUgdG8gdGhlIHN1YmplY3QgdG8gcmVjZWl2ZSBmaWx0ZXIgY2hhbmdlc1xyXG5cdCAqL1xyXG5cdHByaXZhdGUgX2ZpbHRlckNoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xyXG5cclxuXHQvKipcclxuXHQgKiBvbkRhdGFMb2FkZWQ6IGZ1bmN0aW9uKCRldmVudClcclxuXHQgKiBFdmVudCBlbWl0dGVkIGFmdGVyIHRoZSBkYXRhIGlzIGxvYWRlZFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBfcmVsb2FkQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xyXG5cclxuXHQvKipcclxuXHQgKiBvbkRhdGFMb2FkZWQ6IGZ1bmN0aW9uKCRldmVudClcclxuXHQgKiBFdmVudCBlbWl0dGVkIGFmdGVyIHRoZSBkYXRhIGlzIGxvYWRlZFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBvbkRhdGFMb2FkZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBhZ2luYXRpb248VEVudGl0eT4+KG51bGwpO1xyXG5cclxuXHQvKipcclxuXHQgKiBVc2VkIHRvIHBvd2VyIHNlbGVjdGluZyBvbmUgb3IgbW9yZSBvcHRpb25zIGZyb20gYSBsaXN0LlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBzZWxlY3Rpb25Nb2RlbCA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxURW50aXR5Pih0cnVlLCBbXSk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEdldHMgZmlsdGVyXHJcblx0ICovXHJcblx0Z2V0IGZpbHRlcigpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fZmlsdGVyQ2hhbmdlLnZhbHVlOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNldHMgZmlsdGVyXHJcblx0ICovXHJcblx0c2V0IGZpbHRlcihmaWx0ZXI6IHN0cmluZykge1xyXG5cdFx0aWYgKHRoaXMucGFnaW5hdG9yKSB7XHJcblx0XHRcdHRoaXMucGFnaW5hdG9yLnBhZ2VJbmRleCA9IDA7XHJcblx0XHRcdHRoaXMucGFnZUluZGV4ID0gMDtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLl9maWx0ZXJDaGFuZ2UubmV4dChmaWx0ZXIpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogR2V0cyByZWxvYWQgdG9rZW5cclxuXHQgKi9cclxuXHRnZXQgcmVsb2FkVG9rZW4oKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuX3JlbG9hZENoYW5nZS52YWx1ZTsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgbmF2aWdhdGlvbnMgdG8gaW5jbHVkZXNcclxuXHQgKi9cclxuXHRwdWJsaWMgaW5jbHVkZXM6IEFycmF5PHN0cmluZz4gPSBbXTtcclxuXHJcblx0LyoqXHJcblx0ICogVGhlIGNvbHVtbnMgdG8gYmUgcHJvamVjdGVkXHJcblx0ICovXHJcblx0cHVibGljIHByb2plY3Rpb246IHN0cmluZztcclxuXHJcblx0LyoqXHJcblx0ICogVGhlIGxpc3Qgb2YgaXRlbXNcclxuXHQgKi9cclxuXHRwdWJsaWMgaXRlbXM6IFRFbnRpdHlbXSA9IFtdO1xyXG5cclxuXHQvKipcclxuXHQgKiBVc2VkIHRvIGFkZCBzb21lIGZpZWxkIGZpbHRlcnNcclxuXHQgKi9cclxuXHRwdWJsaWMgZmllbGRGaWx0ZXJzOiBhbnkgPSB7fTtcclxuXHJcblx0LyoqXHJcblx0ICogVXNlZCB0byBhZGQgc29tZSBmaWVsZCBvcGVyYXRvcnNcclxuXHQgKi9cclxuXHRwdWJsaWMgZmllbGRPcGVyYXRvcnM6IGFueSA9IHt9O1xyXG5cclxuXHQvKipcclxuXHQgKiBVc2VkIHRvIGFkZCBzb21lIHN0YXRpYyBmaWVsZCBmaWx0ZXJzXHJcblx0ICovXHJcblx0cHVibGljIHN0YXRpY0ZpZWxkRmlsdGVyczogYW55ID0ge307XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSBjdXJyZW50IHBhZ2UgaW5kZXguXHJcblx0ICovXHJcblx0cHVibGljIHBhZ2VJbmRleDogbnVtYmVyID0gMDtcclxuXHJcblx0LyoqXHJcblx0ICogVGhlIGN1cnJlbnQgdG90YWwgbnVtYmVyIG9mIGl0ZW1zIGJlaW5nIHBhZ2VkXHJcblx0ICovXHJcblx0cHVibGljIHRvdGFsOiBudW1iZXIgPSAwO1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgY3VycmVudCBwYWdlIHNpemVcclxuXHQgKi9cclxuXHRwdWJsaWMgcGFnZVNpemU6IG51bWJlciA9IDE1O1xyXG5cclxuXHQvKipcclxuXHQgKiBOdW1iZXIgb2YgcGFnZXNcclxuXHQgKi9cclxuXHRwdWJsaWMgcGFnZUNvdW50OiBudW1iZXIgPSAwO1xyXG5cclxuXHQvKipcclxuXHQgKiBBIGZsYWcgdG8gc2hvdyBsb2FkaW5nIHByb2Nlc3NcclxuXHQgKi9cclxuXHRwdWJsaWMgaXNMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcblx0LyoqXHJcblx0ICogQ29uc3RydWN0b3JcclxuXHQgKiBAcGFyYW0gc2VydmljZSBcclxuXHQgKiBAcGFyYW0gcGFnaW5hdG9yIFxyXG5cdCAqIEBwYXJhbSBzb3J0IFxyXG5cdCAqL1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHVibGljIHNlcnZpY2U6IFRTZXJ2aWNlLFxyXG5cdFx0cHVibGljIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yLFxyXG5cdFx0cHVibGljIHNvcnQ6IE1hdFNvcnRcclxuXHQpIHtcclxuXHRcdHN1cGVyKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDb25uZWN0cyBhIGNvbGxlY3Rpb24gdmlld2VyIChzdWNoIGFzIGEgZGF0YS10YWJsZSkgdG8gdGhpcyBkYXRhIHNvdXJjZS5cclxuXHQgKiBAcGFyYW0gXyBUaGUgY29tcG9uZW50IHRoYXQgZXhwb3NlcyBhIHZpZXcgb3ZlciB0aGUgZGF0YSBwcm92aWRlZCBieSB0aGlzXHJcblx0ICogICAgIGRhdGEgc291cmNlLlxyXG5cdCAqIEByZXR1cm5zIE9ic2VydmFibGUgdGhhdCBlbWl0cyBhIG5ldyB2YWx1ZSB3aGVuIHRoZSBkYXRhIGNoYW5nZXMuXHJcblx0ICovXHJcblx0cHVibGljIGNvbm5lY3QoXzogQ29sbGVjdGlvblZpZXdlciA9IG51bGwpOiBPYnNlcnZhYmxlPFRFbnRpdHlbXT4ge1xyXG5cdFx0LyogQSBsaXN0IG9mIGZpZWxkcyB0byBvYnNlcnZlICAqL1xyXG5cdFx0Y29uc3QgZGlzcGxheURhdGFDaGFuZ2VzID0gW1xyXG5cdFx0XHR0aGlzLnNvcnQ/LnNvcnRDaGFuZ2UsXHJcblx0XHRcdHRoaXMucGFnaW5hdG9yPy5wYWdlIHx8IDEsXHJcblx0XHRcdHRoaXMuX2ZpbHRlckNoYW5nZSxcclxuXHRcdFx0dGhpcy5fcmVsb2FkQ2hhbmdlXHJcblx0XHRdO1xyXG5cclxuXHRcdC8qIElmIHRoZSB1c2VyIGNoYW5nZXMgdGhlIHNvcnQgb3JkZXIsIHJlc2V0IGJhY2sgdG8gdGhlIGZpcnN0IHBhZ2UgKi9cclxuXHRcdHRoaXMuc29ydC5zb3J0Q2hhbmdlLnN1YnNjcmliZSgoKSA9PiB7IHRoaXMucGFnaW5hdG9yLnBhZ2VJbmRleCA9IDA7IH0pO1xyXG5cclxuXHRcdHJldHVybiBtZXJnZSguLi5kaXNwbGF5RGF0YUNoYW5nZXMpXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdHNraXAoMSksXHJcblx0XHRcdFx0c3dpdGNoTWFwKCgpID0+IHtcclxuXHRcdFx0XHRcdC8qIEZsaXAgZmxhZyB0byBzaG93IHRoYXQgbG9hZGluZyBoYXMgYmVndW4gKi9cclxuXHRcdFx0XHRcdHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuXHJcblx0XHRcdFx0XHQvKiBSZW1vdmUgZW1wdHkgZmlsdGVycyAqL1xyXG5cdFx0XHRcdFx0T2JqZWN0LmtleXModGhpcy5maWVsZEZpbHRlcnMpLmZvckVhY2goKGtleSkgPT4gKCh0aGlzLmZpZWxkRmlsdGVyc1trZXldID09IG51bGwgfHwgdGhpcy5maWVsZEZpbHRlcnNba2V5XSA9PSAnJyB8fCB0aGlzLmZpZWxkRmlsdGVyc1trZXldID09ICd1bmRlZmluZWQnKSkgJiYgdGhpcy5maWVsZEZpbHRlcnNba2V5XSAhPSAwICYmIGRlbGV0ZSB0aGlzLmZpZWxkRmlsdGVyc1trZXldKTtcclxuXHRcdFx0XHRcdE9iamVjdC5rZXlzKHRoaXMuc3RhdGljRmllbGRGaWx0ZXJzKS5mb3JFYWNoKChrZXkpID0+ICgodGhpcy5zdGF0aWNGaWVsZEZpbHRlcnNba2V5XSA9PSBudWxsIHx8IHRoaXMuc3RhdGljRmllbGRGaWx0ZXJzW2tleV0gPT0gJycgfHwgdGhpcy5zdGF0aWNGaWVsZEZpbHRlcnNba2V5XSA9PSAndW5kZWZpbmVkJykpICYmIHRoaXMuc3RhdGljRmllbGRGaWx0ZXJzW2tleV0gIT0gMCAmJiBkZWxldGUgdGhpcy5zdGF0aWNGaWVsZEZpbHRlcnNba2V5XSk7XHJcblxyXG5cdFx0XHRcdFx0LyogTG9hZCBkYXRhIGFuZCByZXR1cm4gaXQgKi9cclxuXHRcdFx0XHRcdHJldHVybiB0aGlzLnNlcnZpY2UuZ2V0TGlzdChPYmplY3QuYXNzaWduKHtcclxuXHRcdFx0XHRcdFx0aW5jbHVkZXM6IHRoaXMuaW5jbHVkZXMsXHJcblx0XHRcdFx0XHRcdHByb2plY3Rpb246IHRoaXMucHJvamVjdGlvbixcclxuXHRcdFx0XHRcdFx0cGFnZTogdGhpcy5wYWdpbmF0b3IucGFnZUluZGV4ICsgMSxcclxuXHRcdFx0XHRcdFx0cGFnZVNpemU6IHRoaXMucGFnaW5hdG9yLnBhZ2VTaXplLFxyXG5cdFx0XHRcdFx0XHRzZWFyY2g6IHRoaXMuZmlsdGVyLnRvTG93ZXJDYXNlKCksXHJcblx0XHRcdFx0XHRcdHNvcnRCeTogdGhpcy5zb3J0LmFjdGl2ZSxcclxuXHRcdFx0XHRcdFx0c29ydE9yZGVyOiB0aGlzLnNvcnQuZGlyZWN0aW9uXHJcblx0XHRcdFx0XHR9LCBVdGlscy5jbGVhbk9iamVjdCh0aGlzLmZpZWxkRmlsdGVycykgfHwge30sIHRoaXMuc3RhdGljRmllbGRGaWx0ZXJzKSwgbnVsbCwgeyAnQ2hlY2tPdXQnOiAnWWVzJyB9KTtcclxuXHRcdFx0XHR9KSxcclxuXHRcdFx0XHRtYXAoKHJlc3VsdDogYW55KSA9PiB7XHJcblx0XHRcdFx0XHQvKiBGbGlwIGZsYWcgdG8gc2hvdyB0aGF0IGxvYWRpbmcgaGFzIGZpbmlzaGVkICovXHJcblx0XHRcdFx0XHR0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG5cclxuXHRcdFx0XHRcdC8qIFVwZGF0ZSBwYWdpbmF0aW9uIGZpZWxkcyAqL1xyXG5cdFx0XHRcdFx0dGhpcy5wYWdlSW5kZXggPSBNYXRoLm1heChNYXRoLm1pbihyZXN1bHQucGFnZSAtIDEsIHJlc3VsdC5wYWdlQ291bnQgLSAxKSwgMCk7XHJcblx0XHRcdFx0XHR0aGlzLnRvdGFsID0gcmVzdWx0LnRvdGFsO1xyXG5cdFx0XHRcdFx0dGhpcy5wYWdlU2l6ZSA9IHJlc3VsdC5wYWdlU2l6ZTtcclxuXHRcdFx0XHRcdHRoaXMucGFnZUNvdW50ID0gcmVzdWx0LnBhZ2VDb3VudDtcclxuXHRcdFx0XHRcdHRoaXMuaXRlbXMgPSByZXN1bHQuaXRlbXM7XHJcblxyXG5cdFx0XHRcdFx0LyogUmFpc2Ugb25sb2FkIGV2ZW50ICovXHJcblx0XHRcdFx0XHR0aGlzLm9uRGF0YUxvYWRlZC5uZXh0KHJlc3VsdCk7XHJcblxyXG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMuaXRlbXM7XHJcblx0XHRcdFx0fSksXHJcblx0XHRcdFx0Y2F0Y2hFcnJvcigoKSA9PiB7XHJcblx0XHRcdFx0XHQvKiBGbGlwIGZsYWcgdG8gc2hvdyB0aGF0IGxvYWRpbmcgaGFzIGZpbmlzaGVkICovXHJcblx0XHRcdFx0XHR0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG5cclxuXHRcdFx0XHRcdHJldHVybiBvYnNlcnZhYmxlT2YoW10pO1xyXG5cdFx0XHRcdH0pKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIERpc2Nvbm5lY3RzIGEgY29sbGVjdGlvbiB2aWV3ZXIgKHN1Y2ggYXMgYSBkYXRhLXRhYmxlKSBmcm9tIHRoaXMgZGF0YSBzb3VyY2UuIENhbiBiZSB1c2VkXHJcblx0ICogdG8gcGVyZm9ybSBhbnkgY2xlYW4tdXAgb3IgdGVhci1kb3duIG9wZXJhdGlvbnMgd2hlbiBhIHZpZXcgaXMgYmVpbmcgZGVzdHJveWVkLlxyXG5cdCAqXHJcblx0ICogQHBhcmFtIF8gVGhlIGNvbXBvbmVudCB0aGF0IGV4cG9zZXMgYSB2aWV3IG92ZXIgdGhlIGRhdGEgcHJvdmlkZWQgYnkgdGhpc1xyXG5cdCAqICAgICBkYXRhIHNvdXJjZS5cclxuXHQgKi9cclxuXHRwdWJsaWMgZGlzY29ubmVjdChfOiBDb2xsZWN0aW9uVmlld2VyID0gbnVsbCk6IHZvaWQgeyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFJlbG9hZHMgaXRlbXNcclxuXHQgKiBAcGFyYW0gY2xlYXJTZWxlY3Rpb24gXHJcblx0ICovXHJcblx0cHVibGljIHJlbG9hZChjbGVhclNlbGVjdGlvbjogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuXHRcdHRoaXMuX3JlbG9hZENoYW5nZS5uZXh0KE1hdGgucmFuZG9tKCkpO1xyXG5cclxuXHRcdGlmIChjbGVhclNlbGVjdGlvbikge1xyXG5cdFx0XHR0aGlzLnNlbGVjdGlvbk1vZGVsLmNsZWFyKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDbGVhcnMgZmllbGQgZmlsdGVyc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBjbGVhckZpbHRlcnMobmV3RmlsdGVyczogYW55ID0ge30pOiB2b2lkIHtcclxuXHRcdHRoaXMuZmllbGRGaWx0ZXJzID0gbmV3RmlsdGVycyB8fCB7fTtcclxuXHRcdHRoaXMucmVsb2FkKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDaGVja3MsIHdoZXRoZXIgYWxsIGl0ZW1zIGFyZSBzZWxlY3RlZFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBpc0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xyXG5cdFx0aWYgKHRoaXMuc2VsZWN0aW9uTW9kZWwuaXNFbXB0eSgpKSB7XHJcblx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gdGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3RlZC5sZW5ndGggPT09IHRoaXMudG90YWw7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBUb2dnbGVzIHNlbGVjdGVkIGl0ZW1zXHJcblx0ICogQHBhcmFtIGNoZWNrYm94IFxyXG5cdCAqIEBwYXJhbSBwcmVkaWNhdGVcclxuXHQgKi9cclxuXHRwdWJsaWMgdG9nZ2xlU2VsZWN0KGNoZWNrYm94OiBNYXRDaGVja2JveENoYW5nZSwgcHJlZGljYXRlPzogKHZhbHVlOiBURW50aXR5LCBpbmRleDogbnVtYmVyLCBhcnJheTogVEVudGl0eVtdKSA9PiB1bmtub3duKSB7XHJcblx0XHRpZiAodGhpcy5zZWxlY3Rpb25Nb2RlbC5oYXNWYWx1ZSgpKSB7XHJcblx0XHRcdHRoaXMuc2VsZWN0aW9uTW9kZWwuY2xlYXIoKTtcclxuXHRcdFx0Y2hlY2tib3guc291cmNlLmNoZWNrZWQgPSBmYWxzZTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMuaXRlbXMuZmlsdGVyKHByZWRpY2F0ZSA/IHByZWRpY2F0ZSA6IHggPT4geClcclxuXHRcdFx0XHQuZmlsdGVyKHggPT4gIXhbJ2xvY2tlZCddKVxyXG5cdFx0XHRcdC5mb3JFYWNoKGRhdGEgPT4gdGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3QoZGF0YSkpO1xyXG5cclxuXHRcdFx0aWYgKHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0ZWQubGVuZ3RoICE9PSB0aGlzLnRvdGFsKSB7XHJcblx0XHRcdFx0Y2hlY2tib3guc291cmNlLmNoZWNrZWQgPSBmYWxzZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogR2V0IHNlbGVjdGVkIEl0ZW1zXHJcblx0ICovXHJcblx0cHVibGljIGdldFNlbGVjdGVkID0gPFRUeXBlPihrZXk6IHN0cmluZyk6IFRUeXBlW10gPT4gdGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3RlZC5tYXAoeCA9PiB4W2tleV0pO1xyXG5cclxuXHQvKipcclxuXHQgKiBHZXQgc2VsZWN0ZWQgSXRlbXNcclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0U2VsZWN0ZWRJZHMgPSAoKTogbnVtYmVyW10gPT4gdGhpcy5nZXRTZWxlY3RlZDxudW1iZXI+KCdpZCcpO1xyXG59Il19
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuZGF0YS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi90YWJsZS90YWJsZS5kYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUloRCxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBYyxFQUFFLElBQUksWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJbEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBbUUsU0FBUSxVQUFtQjtJQXNHMUc7Ozs7O09BS0c7SUFDSCxZQUNRLE9BQWlCLEVBQ2pCLFNBQXVCLEVBQ3ZCLElBQWE7UUFFcEIsS0FBSyxFQUFFLENBQUM7UUFKRCxZQUFPLEdBQVAsT0FBTyxDQUFVO1FBQ2pCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDdkIsU0FBSSxHQUFKLElBQUksQ0FBUztRQTdHckI7OztXQUdHO1FBQ0ssa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVoRDs7O1dBR0c7UUFDSSxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBRXREOzs7V0FHRztRQUNJLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQXNCLElBQUksQ0FBQyxDQUFDO1FBRXJFOztXQUVHO1FBQ0ksbUJBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBVSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUF3QjlEOztXQUVHO1FBQ0ksYUFBUSxH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Q0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzthQUNoQztTQUNEO0lBQ0YsQ0FBQztDQVdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvblZpZXdlciwgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xyXG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YgYXMgb2JzZXJ2YWJsZU9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc2tpcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4uL2NvbW1vbi9mdW5jdGlvbnMvdXRpbHMnO1xyXG5pbXBvcnQgeyBHZW5lcmljU2VydmljZSB9IGZyb20gJy4uL2h0dHAvc2VydmljZXMvZ2VuZXJpYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvbiB9IGZyb20gJy4vbW9kZWxzL3BhZ2luYXRpb24nO1xyXG5cclxuLyoqXHJcbiAqIEEgZ2VuZXJpYyBkYXRhc291cmNlIGZvciBkYXRhLXRhYmxlXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgVGFibGVEYXRhU291cmNlPFRFbnRpdHksIFRTZXJ2aWNlIGV4dGVuZHMgR2VuZXJpY1NlcnZpY2U8VEVudGl0eT4+IGV4dGVuZHMgRGF0YVNvdXJjZTxURW50aXR5PiB7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFJlcHJlc2VudHMgYSB2YWx1ZSB0aGF0IGNoYW5nZXMgb3ZlciB0aW1lLiBcclxuXHQgKiBPYnNlcnZlcnMgY2FuIHN1YnNjcmliZSB0byB0aGUgc3ViamVjdCB0byByZWNlaXZlIGZpbHRlciBjaGFuZ2VzXHJcblx0ICovXHJcblx0cHJpdmF0ZSBfZmlsdGVyQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnJyk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIG9uRGF0YUxvYWRlZDogZnVuY3Rpb24oJGV2ZW50KVxyXG5cdCAqIEV2ZW50IGVtaXR0ZWQgYWZ0ZXIgdGhlIGRhdGEgaXMgbG9hZGVkXHJcblx0ICovXHJcblx0cHVibGljIF9yZWxvYWRDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIG9uRGF0YUxvYWRlZDogZnVuY3Rpb24oJGV2ZW50KVxyXG5cdCAqIEV2ZW50IGVtaXR0ZWQgYWZ0ZXIgdGhlIGRhdGEgaXMgbG9hZGVkXHJcblx0ICovXHJcblx0cHVibGljIG9uRGF0YUxvYWRlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGFnaW5hdGlvbjxURW50aXR5Pj4obnVsbCk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFVzZWQgdG8gcG93ZXIgc2VsZWN0aW5nIG9uZSBvciBtb3JlIG9wdGlvbnMgZnJvbSBhIGxpc3QuXHJcblx0ICovXHJcblx0cHVibGljIHNlbGVjdGlvbk1vZGVsID0gbmV3IFNlbGVjdGlvbk1vZGVsPFRFbnRpdHk+KHRydWUsIFtdKTtcclxuXHJcblx0LyoqXHJcblx0ICogR2V0cyBmaWx0ZXJcclxuXHQgKi9cclxuXHRnZXQgZmlsdGVyKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLl9maWx0ZXJDaGFuZ2UudmFsdWU7IH1cclxuXHJcblx0LyoqXHJcblx0ICogU2V0cyBmaWx0ZXJcclxuXHQgKi9cclxuXHRzZXQgZmlsdGVyKGZpbHRlcjogc3RyaW5nKSB7XHJcblx0XHRpZiAodGhpcy5wYWdpbmF0b3IpIHtcclxuXHRcdFx0dGhpcy5wYWdpbmF0b3IucGFnZUluZGV4ID0gMDtcclxuXHRcdFx0dGhpcy5wYWdlSW5kZXggPSAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMuX2ZpbHRlckNoYW5nZS5uZXh0KGZpbHRlcik7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBHZXRzIHJlbG9hZCB0b2tlblxyXG5cdCAqL1xyXG5cdGdldCByZWxvYWRUb2tlbigpOiBudW1iZXIgeyByZXR1cm4gdGhpcy5fcmVsb2FkQ2hhbmdlLnZhbHVlOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSBuYXZpZ2F0aW9ucyB0byBpbmNsdWRlc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBpbmNsdWRlczogQXJyYXk8c3RyaW5nPiA9IFtdO1xyXG5cclxuXHQvKipcclxuXHQgKiBwcm9qZWN0aW9uOiBzdHJpbmcgfCBzdHJpbmdbXVxyXG5cdCAqL1xyXG5cdHB1YmxpYyBwcm9qZWN0aW9uOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuXHJcblx0LyoqXHJcblx0ICogVGhlIGxpc3Qgb2YgaXRlbXNcclxuXHQgKi9cclxuXHRwdWJsaWMgaXRlbXM6IFRFbnRpdHlbXSA9IFtdO1xyXG5cclxuXHQvKipcclxuXHQgKiBVc2VkIHRvIGFkZCBzb21lIGZpZWxkIGZpbHRlcnNcclxuXHQgKi9cclxuXHRwdWJsaWMgZmllbGRGaWx0ZXJzOiBhbnkgPSB7fTtcclxuXHJcblx0LyoqXHJcblx0ICogVXNlZCB0byBhZGQgc29tZSBmaWVsZCBvcGVyYXRvcnNcclxuXHQgKi9cclxuXHRwdWJsaWMgZmllbGRPcGVyYXRvcnM6IGFueSA9IHt9O1xyXG5cclxuXHQvKipcclxuXHQgKiBVc2VkIHRvIGFkZCBzb21lIHN0YXRpYyBmaWVsZCBmaWx0ZXJzXHJcblx0ICovXHJcblx0cHVibGljIHN0YXRpY0ZpZWxkRmlsdGVyczogYW55ID0ge307XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSBjdXJyZW50IHBhZ2UgaW5kZXguXHJcblx0ICovXHJcblx0cHVibGljIHBhZ2VJbmRleDogbnVtYmVyID0gMDtcclxuXHJcblx0LyoqXHJcblx0ICogVGhlIGN1cnJlbnQgdG90YWwgbnVtYmVyIG9mIGl0ZW1zIGJlaW5nIHBhZ2VkXHJcblx0ICovXHJcblx0cHVibGljIHRvdGFsOiBudW1iZXIgPSAwO1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgY3VycmVudCBwYWdlIHNpemVcclxuXHQgKi9cclxuXHRwdWJsaWMgcGFnZVNpemU6IG51bWJlciA9IDE1O1xyXG5cclxuXHQvKipcclxuXHQgKiBOdW1iZXIgb2YgcGFnZXNcclxuXHQgKi9cclxuXHRwdWJsaWMgcGFnZUNvdW50OiBudW1iZXIgPSAwO1xyXG5cclxuXHQvKipcclxuXHQgKiBBIGZsYWcgdG8gc2hvdyBsb2FkaW5nIHByb2Nlc3NcclxuXHQgKi9cclxuXHRwdWJsaWMgaXNMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcblx0LyoqXHJcblx0ICogQ29uc3RydWN0b3JcclxuXHQgKiBAcGFyYW0gc2VydmljZSBcclxuXHQgKiBAcGFyYW0gcGFnaW5hdG9yIFxyXG5cdCAqIEBwYXJhbSBzb3J0IFxyXG5cdCAqL1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHVibGljIHNlcnZpY2U6IFRTZXJ2aWNlLFxyXG5cdFx0cHVibGljIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yLFxyXG5cdFx0cHVibGljIHNvcnQ6IE1hdFNvcnRcclxuXHQpIHtcclxuXHRcdHN1cGVyKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDb25uZWN0cyBhIGNvbGxlY3Rpb24gdmlld2VyIChzdWNoIGFzIGEgZGF0YS10YWJsZSkgdG8gdGhpcyBkYXRhIHNvdXJjZS5cclxuXHQgKiBAcGFyYW0gXyBUaGUgY29tcG9uZW50IHRoYXQgZXhwb3NlcyBhIHZpZXcgb3ZlciB0aGUgZGF0YSBwcm92aWRlZCBieSB0aGlzXHJcblx0ICogICAgIGRhdGEgc291cmNlLlxyXG5cdCAqIEByZXR1cm5zIE9ic2VydmFibGUgdGhhdCBlbWl0cyBhIG5ldyB2YWx1ZSB3aGVuIHRoZSBkYXRhIGNoYW5nZXMuXHJcblx0ICovXHJcblx0cHVibGljIGNvbm5lY3QoXzogQ29sbGVjdGlvblZpZXdlciA9IG51bGwpOiBPYnNlcnZhYmxlPFRFbnRpdHlbXT4ge1xyXG5cdFx0LyogQSBsaXN0IG9mIGZpZWxkcyB0byBvYnNlcnZlICAqL1xyXG5cdFx0Y29uc3QgZGlzcGxheURhdGFDaGFuZ2VzID0gW1xyXG5cdFx0XHR0aGlzLnNvcnQ/LnNvcnRDaGFuZ2UsXHJcblx0XHRcdHRoaXMucGFnaW5hdG9yPy5wYWdlIHx8IDEsXHJcblx0XHRcdHRoaXMuX2ZpbHRlckNoYW5nZSxcclxuXHRcdFx0dGhpcy5fcmVsb2FkQ2hhbmdlXHJcblx0XHRdO1xyXG5cclxuXHRcdC8qIElmIHRoZSB1c2VyIGNoYW5nZXMgdGhlIHNvcnQgb3JkZXIsIHJlc2V0IGJhY2sgdG8gdGhlIGZpcnN0IHBhZ2UgKi9cclxuXHRcdHRoaXMuc29ydC5zb3J0Q2hhbmdlLnN1YnNjcmliZSgoKSA9PiB7IHRoaXMucGFnaW5hdG9yLnBhZ2VJbmRleCA9IDA7IH0pO1xyXG5cclxuXHRcdHJldHVybiBtZXJnZSguLi5kaXNwbGF5RGF0YUNoYW5nZXMpXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdHNraXAoMSksXHJcblx0XHRcdFx0c3dpdGNoTWFwKCgpID0+IHtcclxuXHRcdFx0XHRcdC8qIEZsaXAgZmxhZyB0byBzaG93IHRoYXQgbG9hZGluZyBoYXMgYmVndW4gKi9cclxuXHRcdFx0XHRcdHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuXHJcblx0XHRcdFx0XHQvKiBSZW1vdmUgZW1wdHkgZmlsdGVycyAqL1xyXG5cdFx0XHRcdFx0T2JqZWN0LmtleXModGhpcy5maWVsZEZpbHRlcnMpLmZvckVhY2goKGtleSkgPT4gKCh0aGlzLmZpZWxkRmlsdGVyc1trZXldID09IG51bGwgfHwgdGhpcy5maWVsZEZpbHRlcnNba2V5XSA9PSAnJyB8fCB0aGlzLmZpZWxkRmlsdGVyc1trZXldID09ICd1bmRlZmluZWQnKSkgJiYgdGhpcy5maWVsZEZpbHRlcnNba2V5XSAhPSAwICYmIGRlbGV0ZSB0aGlzLmZpZWxkRmlsdGVyc1trZXldKTtcclxuXHRcdFx0XHRcdE9iamVjdC5rZXlzKHRoaXMuc3RhdGljRmllbGRGaWx0ZXJzKS5mb3JFYWNoKChrZXkpID0+ICgodGhpcy5zdGF0aWNGaWVsZEZpbHRlcnNba2V5XSA9PSBudWxsIHx8IHRoaXMuc3RhdGljRmllbGRGaWx0ZXJzW2tleV0gPT0gJycgfHwgdGhpcy5zdGF0aWNGaWVsZEZpbHRlcnNba2V5XSA9PSAndW5kZWZpbmVkJykpICYmIHRoaXMuc3RhdGljRmllbGRGaWx0ZXJzW2tleV0gIT0gMCAmJiBkZWxldGUgdGhpcy5zdGF0aWNGaWVsZEZpbHRlcnNba2V5XSk7XHJcblxyXG5cdFx0XHRcdFx0LyogTG9hZCBkYXRhIGFuZCByZXR1cm4gaXQgKi9cclxuXHRcdFx0XHRcdHJldHVybiB0aGlzLnNlcnZpY2UuZ2V0TGlzdChPYmplY3QuYXNzaWduKHtcclxuXHRcdFx0XHRcdFx0aW5jbHVkZXM6IHRoaXMuaW5jbHVkZXMsXHJcblx0XHRcdFx0XHRcdHByb2plY3Rpb246IEFycmF5LmlzQXJyYXkodGhpcy5wcm9qZWN0aW9uKSA/IHRoaXMucHJvamVjdGlvbi5qb2luKCcsJykgOiB0aGlzLnByb2plY3Rpb24sXHJcblx0XHRcdFx0XHRcdHBhZ2U6IHRoaXMucGFnaW5hdG9yLnBhZ2VJbmRleCArIDEsXHJcblx0XHRcdFx0XHRcdHBhZ2VTaXplOiB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZSxcclxuXHRcdFx0XHRcdFx0c2VhcmNoOiB0aGlzLmZpbHRlci50b0xvd2VyQ2FzZSgpLFxyXG5cdFx0XHRcdFx0XHRzb3J0Qnk6IHRoaXMuc29ydC5hY3RpdmUsXHJcblx0XHRcdFx0XHRcdHNvcnRPcmRlcjogdGhpcy5zb3J0LmRpcmVjdGlvblxyXG5cdFx0XHRcdFx0fSwgVXRpbHMuY2xlYW5PYmplY3QodGhpcy5maWVsZEZpbHRlcnMpIHx8IHt9LCB0aGlzLnN0YXRpY0ZpZWxkRmlsdGVycyksIG51bGwsIHsgJ0NoZWNrT3V0JzogJ1llcycgfSk7XHJcblx0XHRcdFx0fSksXHJcblx0XHRcdFx0bWFwKChyZXN1bHQ6IGFueSkgPT4ge1xyXG5cdFx0XHRcdFx0LyogRmxpcCBmbGFnIHRvIHNob3cgdGhhdCBsb2FkaW5nIGhhcyBmaW5pc2hlZCAqL1xyXG5cdFx0XHRcdFx0dGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuXHJcblx0XHRcdFx0XHQvKiBVcGRhdGUgcGFnaW5hdGlvbiBmaWVsZHMgKi9cclxuXHRcdFx0XHRcdHRoaXMucGFnZUluZGV4ID0gTWF0aC5tYXgoTWF0aC5taW4ocmVzdWx0LnBhZ2UgLSAxLCByZXN1bHQucGFnZUNvdW50IC0gMSksIDApO1xyXG5cdFx0XHRcdFx0dGhpcy50b3RhbCA9IHJlc3VsdC50b3RhbDtcclxuXHRcdFx0XHRcdHRoaXMucGFnZVNpemUgPSByZXN1bHQucGFnZVNpemU7XHJcblx0XHRcdFx0XHR0aGlzLnBhZ2VDb3VudCA9IHJlc3VsdC5wYWdlQ291bnQ7XHJcblx0XHRcdFx0XHR0aGlzLml0ZW1zID0gcmVzdWx0Lml0ZW1zO1xyXG5cclxuXHRcdFx0XHRcdC8qIFJhaXNlIG9ubG9hZCBldmVudCAqL1xyXG5cdFx0XHRcdFx0dGhpcy5vbkRhdGFMb2FkZWQubmV4dChyZXN1bHQpO1xyXG5cclxuXHRcdFx0XHRcdHJldHVybiB0aGlzLml0ZW1zO1xyXG5cdFx0XHRcdH0pLFxyXG5cdFx0XHRcdGNhdGNoRXJyb3IoKCkgPT4ge1xyXG5cdFx0XHRcdFx0LyogRmxpcCBmbGFnIHRvIHNob3cgdGhhdCBsb2FkaW5nIGhhcyBmaW5pc2hlZCAqL1xyXG5cdFx0XHRcdFx0dGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuXHJcblx0XHRcdFx0XHRyZXR1cm4gb2JzZXJ2YWJsZU9mKFtdKTtcclxuXHRcdFx0XHR9KSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBEaXNjb25uZWN0cyBhIGNvbGxlY3Rpb24gdmlld2VyIChzdWNoIGFzIGEgZGF0YS10YWJsZSkgZnJvbSB0aGlzIGRhdGEgc291cmNlLiBDYW4gYmUgdXNlZFxyXG5cdCAqIHRvIHBlcmZvcm0gYW55IGNsZWFuLXVwIG9yIHRlYXItZG93biBvcGVyYXRpb25zIHdoZW4gYSB2aWV3IGlzIGJlaW5nIGRlc3Ryb3llZC5cclxuXHQgKlxyXG5cdCAqIEBwYXJhbSBfIFRoZSBjb21wb25lbnQgdGhhdCBleHBvc2VzIGEgdmlldyBvdmVyIHRoZSBkYXRhIHByb3ZpZGVkIGJ5IHRoaXNcclxuXHQgKiAgICAgZGF0YSBzb3VyY2UuXHJcblx0ICovXHJcblx0cHVibGljIGRpc2Nvbm5lY3QoXzogQ29sbGVjdGlvblZpZXdlciA9IG51bGwpOiB2b2lkIHsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBSZWxvYWRzIGl0ZW1zXHJcblx0ICogQHBhcmFtIGNsZWFyU2VsZWN0aW9uIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyByZWxvYWQoY2xlYXJTZWxlY3Rpb246IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XHJcblx0XHR0aGlzLl9yZWxvYWRDaGFuZ2UubmV4dChNYXRoLnJhbmRvbSgpKTtcclxuXHJcblx0XHRpZiAoY2xlYXJTZWxlY3Rpb24pIHtcclxuXHRcdFx0dGhpcy5zZWxlY3Rpb25Nb2RlbC5jbGVhcigpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2xlYXJzIGZpZWxkIGZpbHRlcnNcclxuXHQgKi9cclxuXHRwdWJsaWMgY2xlYXJGaWx0ZXJzKG5ld0ZpbHRlcnM6IGFueSA9IHt9KTogdm9pZCB7XHJcblx0XHR0aGlzLmZpZWxkRmlsdGVycyA9IG5ld0ZpbHRlcnMgfHwge307XHJcblx0XHR0aGlzLnJlbG9hZCgpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2hlY2tzLCB3aGV0aGVyIGFsbCBpdGVtcyBhcmUgc2VsZWN0ZWRcclxuXHQgKi9cclxuXHRwdWJsaWMgaXNBbGxTZWxlY3RlZCgpOiBib29sZWFuIHtcclxuXHRcdGlmICh0aGlzLnNlbGVjdGlvbk1vZGVsLmlzRW1wdHkoKSkge1xyXG5cdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0ZWQubGVuZ3RoID09PSB0aGlzLnRvdGFsO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogVG9nZ2xlcyBzZWxlY3RlZCBpdGVtc1xyXG5cdCAqIEBwYXJhbSBjaGVja2JveCBcclxuXHQgKiBAcGFyYW0gcHJlZGljYXRlXHJcblx0ICovXHJcblx0cHVibGljIHRvZ2dsZVNlbGVjdChjaGVja2JveDogTWF0Q2hlY2tib3hDaGFuZ2UsIHByZWRpY2F0ZT86ICh2YWx1ZTogVEVudGl0eSwgaW5kZXg6IG51bWJlciwgYXJyYXk6IFRFbnRpdHlbXSkgPT4gdW5rbm93bikge1xyXG5cdFx0aWYgKHRoaXMuc2VsZWN0aW9uTW9kZWwuaGFzVmFsdWUoKSkge1xyXG5cdFx0XHR0aGlzLnNlbGVjdGlvbk1vZGVsLmNsZWFyKCk7XHJcblx0XHRcdGNoZWNrYm94LnNvdXJjZS5jaGVja2VkID0gZmFsc2U7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLml0ZW1zLmZpbHRlcihwcmVkaWNhdGUgPyBwcmVkaWNhdGUgOiB4ID0+IHgpXHJcblx0XHRcdFx0LmZpbHRlcih4ID0+ICF4Wydsb2NrZWQnXSlcclxuXHRcdFx0XHQuZm9yRWFjaChkYXRhID0+IHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0KGRhdGEpKTtcclxuXHJcblx0XHRcdGlmICh0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGVkLmxlbmd0aCAhPT0gdGhpcy50b3RhbCkge1xyXG5cdFx0XHRcdGNoZWNrYm94LnNvdXJjZS5jaGVja2VkID0gZmFsc2U7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEdldCBzZWxlY3RlZCBJdGVtc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXRTZWxlY3RlZCA9IDxUVHlwZT4oa2V5OiBzdHJpbmcpOiBUVHlwZVtdID0+IHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0ZWQubWFwKHggPT4geFtrZXldKTtcclxuXHJcblx0LyoqXHJcblx0ICogR2V0IHNlbGVjdGVkIEl0ZW1zXHJcblx0ICovXHJcblx0cHVibGljIGdldFNlbGVjdGVkSWRzID0gKCk6IG51bWJlcltdID0+IHRoaXMuZ2V0U2VsZWN0ZWQ8bnVtYmVyPignaWQnKTtcclxufSJdfQ==