fabrikantencore 2.6.12 → 2.6.13

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.
Files changed (45) hide show
  1. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-categories/beheer-categories.component.mjs +3 -13
  2. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-connect-category-dialog/beheer-connect-category-dialog.component.mjs +3 -13
  3. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-filter/beheer-filter.component.mjs +5 -25
  4. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-filters/beheer-filters.component.mjs +2 -7
  5. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-dialog/beheer-import-sets-dialog.component.mjs +2 -7
  6. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-nav/beheer-nav.component.mjs +2 -7
  7. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-bcbproduct/beheer-products-bcbproduct.component.mjs +2 -7
  8. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.mjs +4 -19
  9. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.mjs +2 -7
  10. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-rangeinput/beheer-rangeinput.component.mjs +2 -7
  11. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts-koppel-dialog/beheer-searchproducts-koppel-dialog.component.mjs +3 -13
  12. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts.component.mjs +2 -7
  13. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-select-filter-dialog/beheer-select-filter-dialog.component.mjs +3 -13
  14. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-select-filteroption-dialog/beheer-select-filteroption-dialog.component.mjs +2 -7
  15. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.mjs +177 -19
  16. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-users/beheer-users.component.mjs +2 -7
  17. package/esm2022/src/app/modules/fabrikantencore/components/fab-actionmenu/fab-actionmenu.component.mjs +3 -3
  18. package/esm2022/src/app/modules/fabrikantencore/components/fab-breadcrumb/fab-breadcrumb.component.mjs +2 -2
  19. package/esm2022/src/app/modules/fabrikantencore/components/fab-category-navigator/fab-category-navigator.component.mjs +2 -7
  20. package/esm2022/src/app/modules/fabrikantencore/components/fab-category-tile/fab-category-tile.component.mjs +2 -2
  21. package/esm2022/src/app/modules/fabrikantencore/components/fab-filter/fab-filter.component.mjs +3 -3
  22. package/esm2022/src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.mjs +2 -2
  23. package/esm2022/src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component.mjs +2 -2
  24. package/esm2022/src/app/modules/fabrikantencore/components/fab-product/fab-product-bestek/fab-product-bestek.component.mjs +2 -2
  25. package/esm2022/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.mjs +2 -2
  26. package/esm2022/src/app/modules/fabrikantencore/components/fab-product-select/fab-product-select.component.mjs +2 -2
  27. package/esm2022/src/app/modules/fabrikantencore/components/fab-product-tile/fab-product-tile.component.mjs +2 -2
  28. package/esm2022/src/app/modules/fabrikantencore/fabrikantencore.module.mjs +5 -1
  29. package/esm2022/src/app/modules/fabrikantencore/services/bestek.service.mjs +2 -7
  30. package/esm2022/src/app/modules/fabrikantencore/services/fabrikanten.service.mjs +19 -109
  31. package/esm2022/src/app/modules/fabrikantencore/services/importsets.service.mjs +3 -13
  32. package/esm2022/src/app/modules/fabrikantencore/services/products.service.mjs +3 -13
  33. package/esm2022/src/app/modules/fabrikantencore/services/svg.service.mjs +2 -7
  34. package/esm2022/src/app/modules/fabrikantencore/services/texture.service.mjs +2 -7
  35. package/esm2022/src/app/modules/fabrikantencore/services/toebehoren.service.mjs +2 -7
  36. package/esm2022/src/app/modules/fabrikantencore/services/translate.service.mjs +8 -5
  37. package/esm2022/src/app/modules/fabrikantencore/services/webgl.service.mjs +2 -7
  38. package/esm2022/src/app/modules/fabrikantencore/swagger/SwaggerClient.mjs +69 -1
  39. package/fesm2022/fabrikantencore.mjs +424 -454
  40. package/fesm2022/fabrikantencore.mjs.map +1 -1
  41. package/package.json +3 -2
  42. package/src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.d.ts +20 -4
  43. package/src/app/modules/fabrikantencore/fabrikantencore.module.d.ts +27 -26
  44. package/src/app/modules/fabrikantencore/services/translate.service.d.ts +2 -2
  45. package/src/app/modules/fabrikantencore/swagger/SwaggerClient.d.ts +16 -1
@@ -80,12 +80,7 @@ class BeheerProductsKoppelFilteroptionDailogComponent {
80
80
  this.LoadingFilters = false;
81
81
  });
82
82
  }, (error) => {
83
- if (error.status == 400)
84
- console.log(error.json());
85
- else {
86
- console.log('An unexpected error occured');
87
- console.log(error);
88
- }
83
+ alert('An unexpected error occured');
89
84
  this.LoadingFilters = false;
90
85
  });
91
86
  }
@@ -99,12 +94,7 @@ class BeheerProductsKoppelFilteroptionDailogComponent {
99
94
  this.LoadingFilters = false;
100
95
  this.dialogRef.close({ filter: null, filteroption: model.id });
101
96
  }, (error) => {
102
- if (error.status == 400)
103
- console.log(error.json());
104
- else {
105
- console.log('An unexpected error occured');
106
- console.log(error);
107
- }
97
+ alert('An unexpected error occured');
108
98
  this.LoadingFilters = false;
109
99
  });
110
100
  }
@@ -135,12 +125,7 @@ class BeheerProductsKoppelFilteroptionDailogComponent {
135
125
  this.FiltersViewModel = model;
136
126
  this.LoadingFilters = false;
137
127
  }, (error) => {
138
- if (error.status == 400)
139
- console.log(error.json());
140
- else {
141
- console.log('An unexpected error occured');
142
- console.log(error);
143
- }
128
+ alert('An unexpected error occured');
144
129
  this.LoadingFilters = false;
145
130
  });
146
131
  }
@@ -155,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
155
140
  type: Inject,
156
141
  args: [MAT_DIALOG_DATA]
157
142
  }] }, { type: i2.FiltersApiClient }, { type: i2.ProductsApiClient }, { type: i3.AuthenticationService }, { type: i4.ProductsService }]; } });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXByb2R1Y3RzL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy9iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQXNDLHNCQUFzQixJQUFJLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR2hJLE9BQU8sRUFBNkQseUJBQXlCLEVBQThCLG1CQUFtQixFQUEwRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFFdFIsTUFLYSwrQ0FBK0M7SUFnQmpEO0lBQ3lCO0lBQ3hCO0lBQ0E7SUFDQTtJQUNBO0lBbkJILGdCQUFnQixDQUFtQjtJQUVuQyxlQUFlLEdBQVcsRUFBRSxDQUFDO0lBQzdCLHFCQUFxQixHQUFXLEVBQUUsQ0FBQztJQUVuQyxjQUFjLEdBQVksSUFBSSxDQUFDO0lBQy9CLGFBQWEsR0FBWSxJQUFJLENBQUM7SUFDOUIs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QUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUUzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBdUIsRUFBRSxFQUFFO1lBQzNILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7WUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDOUIsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7WUFDckIsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUc7Z0JBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7aUJBQ3ZCO2dCQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztnQkFDM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNwQjtZQUVELElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0E3SlUsK0NBQStDLG9EQWlCaEQsZUFBZTsyRkFqQmQsK0NBQStDLHNGQ1g1RCx5c0hBaUdBOztTRHRGYSwrQ0FBK0M7MkZBQS9DLCtDQUErQztrQkFMM0QsU0FBUzsrQkFDRSxnREFBZ0Q7OzBCQXFCdkQsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2dSZWYgYXMgTWF0RGlhbG9nUmVmLCBNQVRfTEVHQUNZX0RJQUxPR19EQVRBIGFzIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnO1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvcHJvZHVjdHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbHRlcnNBcGlDbGllbnQsIEZpbHRlcnNWaWV3TW9kZWwsIEZpbHRlck9wdGlvblZpZXdNb2RlbCwgQ3JlYXRlRmlsdGVyT3B0aW9uUmVxdWVzdCwgQ3JlYXRlRmlsdGVyT3B0aW9uUmVzcG9uc2UsIENyZWF0ZUZpbHRlclJlcXVlc3QsIENyZWF0ZUZpbHRlclJlc3BvbnNlLCBDb25uZWN0RWlnZW5zY2hhcE9wdGllUmVxdWVzdCwgUHJvZHVjdHNBcGlDbGllbnQsIExvZ2luUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCZWhlZXJQcm9kdWN0c0tvcHBlbEZpbHRlcm9wdGlvbkRhaWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHB1YmxpYyBGaWx0ZXJzVmlld01vZGVsOiBGaWx0ZXJzVmlld01vZGVsO1xyXG5cclxuICBwdWJsaWMgRmlsdGVyTmFhbU5pZXV3OiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBGaWx0ZXJPcHRpb25OYWFtTmlldXc6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHB1YmxpYyBMb2FkaW5nRmlsdGVyczogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIExvYWRpbmdPcHRpZXM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBGaWx0ZXJTZWxlY3RlZDogbnVtYmVyO1xyXG4gIHB1YmxpYyBGaWx0ZXJPcHRpb25TZWxlY3RlZDogbnVtYmVyO1xyXG5cclxuICBwdWJsaWMgQkNCRWlnZW5zY2hhcE9wdGllSWQ6IG51bWJlcjtcclxuICBwdWJsaWMgTG9jYXRpb246IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QmVoZWVyUHJvZHVjdHNLb3BwZWxGaWx0ZXJvcHRpb25EYWlsb2dDb21wb25lbnQ+LFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnksXHJcbiAgICBwcml2YXRlIEZpbHRlcnNBcGlDbGllbnQ6IEZpbHRlcnNBcGlDbGllbnQsXHJcbiAgICBwcml2YXRlIFByb2R1Y3RzQXBpQ2xpZW50OiBQcm9kdWN0c0FwaUNsaWVudCxcclxuICAgIHByaXZhdGUgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIFByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLkJDQkVpZ2Vuc2NoYXBPcHRpZUlkID0gZGF0YS5iY2JlaWdlbnNjaGFwb3B0aWVpZDtcclxuICAgIHRoaXMuTG9jYXRpb24gPSBkYXRhLmxvY2F0aW9uO1xyXG4gICAgdGhpcy5GaWx0ZXJOYWFtTmlldXcgPSBkYXRhLnN1Z2dlc3RlZGZpbHRlcjtcclxuICAgIHRoaXMuRmlsdGVyT3B0aW9uTmFhbU5pZXV3ID0gZGF0YS5zdWdnZXN0ZWRvcHRpb247XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuTG9hZEZpbHRlcnMoKTtcclxuICAgIC8vdGhpcy5Mb2FkT3B0aWVzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlS2V5VXBGaWx0ZXIoZTogYW55KSB7XHJcbiAgICBpZiAoZS5rZXlDb2RlID09PSAxMykge1xyXG4gICAgICB0aGlzLk5pZXV3RmlsdGVyVG9ldm9lZ2VuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlS2V5VXBGaWx0ZXJPcHRpb24oZTogYW55KSB7XHJcbiAgICBpZiAoZS5rZXlDb2RlID09PSAxMykge1xyXG4gICAgICB0aGlzLk5pZXV3RmlsdGVyT3B0aW9uVG9ldm9lZ2VuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTmlldXdGaWx0ZXJUb2V2b2VnZW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gdHJ1ZTtcclxuXHJcbiAgICB2YXIgcmVxdWVzdGZpbHRlcjogQ3JlYXRlRmlsdGVyUmVxdWVzdCA9IG5ldyBDcmVhdGVGaWx0ZXJSZXF1ZXN0KCk7XHJcblxyXG4gICAgcmVxdWVzdGZpbHRlci5uYW1lID0gdGhpcy5GaWx0ZXJOYWFtTmlldXc7XHJcblxyXG4gICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LmNyZWF0ZUZpbHRlcihyZXF1ZXN0ZmlsdGVyKS5zdWJzY3JpYmUoKG1vZGVsOiBDcmVhdGVGaWx0ZXJSZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gZmFsc2U7XHJcblxyXG4gICAgICB2YXIgcmVxdWVzdGZpbHRlcm9wdGlvbiA9IG5ldyBDcmVhdGVGaWx0ZXJPcHRpb25SZXF1ZXN0KCk7XHJcblxyXG4gICAgICByZXF1ZXN0ZmlsdGVyb3B0aW9uLmZpbHRlcklkID0gbW9kZWwuaWQ7XHJcbiAgICAgIHJlcXVlc3RmaWx0ZXJvcHRpb24ubmFtZSA9IHRoaXMuRmlsdGVyT3B0aW9uTmFhbU5pZXV3O1xyXG4gICAgICByZXF1ZXN0ZmlsdGVyb3B0aW9uLmxvZ2luUmVzcG9uc2VNb2RlbCA9IG5ldyBMb2dpblJlc3BvbnNlTW9kZWwodGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuY3VycmVudFVzZXJWYWx1ZSk7XHJcblxyXG4gICAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuY3JlYXRlRmlsdGVyT3B0aW9uKHJlcXVlc3RmaWx0ZXJvcHRpb24pLnN1YnNjcmliZSgobW9kZWw6IENyZWF0ZUZpbHRlck9wdGlvblJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nRmlsdGVycyA9IGZhbHNlO1xyXG5cclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IGZpbHRlcjogbnVsbCwgZmlsdGVyb3B0aW9uOiBtb2RlbC5pZCB9KTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuTG9hZGluZ0ZpbHRlcnMgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBOaWV1d0ZpbHRlck9wdGlvblRvZXZvZWdlbigpOiB2b2lkIHtcclxuICAgIHRoaXMuTG9hZGluZ0ZpbHRlcnMgPSB0cnVlO1xyXG5cclxuICAgIHZhciByZXF1ZXN0ZmlsdGVyb3B0aW9uID0gbmV3IENyZWF0ZUZpbHRlck9wdGlvblJlcXVlc3QoKTtcclxuXHJcbiAgICByZXF1ZXN0ZmlsdGVyb3B0aW9uLmZpbHRlcklkID0gdGhpcy5GaWx0ZXJTZWxlY3RlZDtcclxuICAgIHJlcXVlc3RmaWx0ZXJvcHRpb24ubmFtZSA9IHRoaXMuRmlsdGVyT3B0aW9uTmFhbU5pZXV3O1xyXG4gICAgcmVxdWVzdGZpbHRlcm9wdGlvbi5sb2dpblJlc3BvbnNlTW9kZWwgPSBuZXcgTG9naW5SZXNwb25zZU1vZGVsKHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmN1cnJlbnRVc2VyVmFsdWUpO1xyXG5cclxuICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5jcmVhdGVGaWx0ZXJPcHRpb24ocmVxdWVzdGZpbHRlcm9wdGlvbikuc3Vic2NyaWJlKChtb2RlbDogQ3JlYXRlRmlsdGVyT3B0aW9uUmVzcG9uc2UpID0+IHtcclxuICAgICAgdGhpcy5Mb2FkaW5nRmlsdGVycyA9IGZhbHNlO1xyXG5cclxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBmaWx0ZXI6IG51bGwsIGZpbHRlcm9wdGlvbjogbW9kZWwuaWQgfSk7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuTG9hZGluZ0ZpbHRlcnMgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEJlc3RhYW5kVG9ldm9lZ2VuKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBmaWx0ZXI6IG51bGwsIGZpbHRlcm9wdGlvbjogdGhpcy5GaWx0ZXJPcHRpb25TZWxlY3RlZCB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBHZXRTZWxlY3RlZEZpbHRlcnNPcHRpb25zKCk6IEFycmF5PEZpbHRlck9wdGlvblZpZXdNb2RlbD4ge1xyXG4gICAgdmFyIGFycmF5ID0gbmV3IEFycmF5PEZpbHRlck9wdGlvblZpZXdNb2RlbD4oKTtcclxuXHJcbiAgICB2YXIgdGVtcGFycmF5ID0gdGhpcy5GaWx0ZXJzVmlld01vZGVsPy5maWx0ZXJWaWV3TW9kZWxzO1xyXG5cclxuICAgIGlmICh0ZW1wYXJyYXkgIT0gbnVsbCkge1xyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRlbXBhcnJheS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmICh0ZW1wYXJyYXlbaV0uaWQgPT0gdGhpcy5GaWx0ZXJTZWxlY3RlZCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRlbXBhcnJheVtpXS5maWx0ZXJPcHRpb25WaWV3TW9kZWxzIGFzIEFycmF5PEZpbHRlck9wdGlvblZpZXdNb2RlbD47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGFycmF5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEtvcHBlbE1hbnlOYW1lKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBmaWx0ZXI6IHRoaXMuRmlsdGVyU2VsZWN0ZWQsIGZpbHRlcm9wdGlvbjogbnVsbCB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBMb2FkaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuTG9hZGluZ0ZpbHRlcnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIExvYWRGaWx0ZXJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5Mb2FkaW5nRmlsdGVycyA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LmdldEZpbHRlcnNWaWV3TW9kZWwodGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuY3VycmVudFVzZXJWYWx1ZSkuc3Vic2NyaWJlKChtb2RlbDogRmlsdGVyc1ZpZXdNb2RlbCkgPT4ge1xyXG4gICAgICB0aGlzLkZpbHRlcnNWaWV3TW9kZWwgPSBtb2RlbDtcclxuICAgICAgdGhpcy5Mb2FkaW5nRmlsdGVycyA9IGZhbHNlO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIkxvYWRpbmcoKVwiPlxyXG4gIDxhcHAtZmFiLWxvYWRlcj48L2FwcC1mYWItbG9hZGVyPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCIhTG9hZGluZygpXCI+XHJcbiAgPG1hdC10YWItZ3JvdXA+XHJcbiAgICA8bWF0LXRhYiBsYWJlbD1cIk5pZXV3ZSBmaWx0ZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhclwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5GaWx0ZXI8L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cIkZpbHRlck5hYW1OaWV1d1wiPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5PcHRpZTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IChrZXl1cCk9XCJoYW5kbGVLZXlVcEZpbHRlcigkZXZlbnQpXCIgWyhuZ01vZGVsKV09XCJGaWx0ZXJPcHRpb25OYWFtTmlldXdcIj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXIgdG9vbC1iYXJcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJOaWV1d0ZpbHRlclRvZXZvZWdlbigpXCI+VG9ldm9lZ2VuPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtdGFiPlxyXG4gICAgPG1hdC10YWIgbGFiZWw9XCJOaWV1d2Ugb3B0aWVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhclwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5GaWx0ZXI8L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwiRmlsdGVyU2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGZpbHRlciBvZiBGaWx0ZXJzVmlld01vZGVsLmZpbHRlclZpZXdNb2RlbHNcIiBbdmFsdWVdPVwiZmlsdGVyLmlkXCI+XHJcbiAgICAgICAgICAgICAge3tmaWx0ZXIubmFtZX19XHJcbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+T3B0aWU8L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCAoa2V5dXApPVwiaGFuZGxlS2V5VXBGaWx0ZXJPcHRpb24oJGV2ZW50KVwiIFsobmdNb2RlbCldPVwiRmlsdGVyT3B0aW9uTmFhbU5pZXV3XCI+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyIHRvb2wtYmFyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiTmlldXdGaWx0ZXJPcHRpb25Ub2V2b2VnZW4oKVwiPlRvZXZvZWdlbjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LXRhYj5cclxuICAgIDxtYXQtdGFiIGxhYmVsPVwiQmVzdGFhbmRcIj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXJcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+RmlsdGVyPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIkZpbHRlclNlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgRmlsdGVyc1ZpZXdNb2RlbC5maWx0ZXJWaWV3TW9kZWxzXCIgW3ZhbHVlXT1cImZpbHRlci5pZFwiPlxyXG4gICAgICAgICAgICAgIHt7ZmlsdGVyLm5hbWV9fVxyXG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPk9wdGllPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIkZpbHRlck9wdGlvblNlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBmaWx0ZXJvcHRpb24gb2YgR2V0U2VsZWN0ZWRGaWx0ZXJzT3B0aW9ucygpXCIgW3ZhbHVlXT1cImZpbHRlcm9wdGlvbi5pZFwiPlxyXG4gICAgICAgICAgICAgIHt7ZmlsdGVyb3B0aW9uLm5hbWV9fVxyXG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyIHRvb2wtYmFyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQmVzdGFhbmRUb2V2b2VnZW4oKVwiPlRvZXZvZWdlbjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LXRhYj5cclxuICAgIDwhLS08bWF0LXRhYiBsYWJlbD1cIk1hbnkgTmFtZVwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPkZpbHRlcjwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwiRmlsdGVyU2VsZWN0ZWRcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgRmlsdGVyc1ZpZXdNb2RlbC5maWx0ZXJWaWV3TW9kZWxzXCIgW3ZhbHVlXT1cImZpbHRlci5pZFwiPlxyXG4gICAgICAgICAgICB7e2ZpbHRlci5uYW1lfX1cclxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICA8YXBwLWJlaGVlci1jb25uZWN0LW1hbnluYW1lPjwvYXBwLWJlaGVlci1jb25uZWN0LW1hbnluYW1lPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhciB0b29sLWJhclwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIktvcHBlbE1hbnlOYW1lKClcIj5Lb3BwZWw8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC10YWI+LS0+XHJcbiAgPC9tYXQtdGFiLWdyb3VwPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwib3B0aW9ucy1jb250YWluZXJcIj5cclxuICAgIDwhLS08ZGl2ICpuZ0Zvcj1cImxldCBsb2NhdGlvbiBvZiBDb25uZWN0RWlnZW5zY2hhcE9wdGllUmVzcG9uc2UubG9jYXRpb25zXCI+XHJcbiAgICAgIDxiPnt7IGxvY2F0aW9uLmxvY2F0aW9uIH19PC9iPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlYm8gb2YgbG9jYXRpb24uZWJvc1wiPlxyXG4gICAgICAgIHt7IGVibyB9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2Pi0tPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXByb2R1Y3RzL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy9iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQXNDLHNCQUFzQixJQUFJLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR2hJLE9BQU8sRUFBNkQseUJBQXlCLEVBQThCLG1CQUFtQixFQUEwRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFFdFIsTUFLYSwrQ0FBK0M7SUFnQmpEO0lBQ3lCO0lBQ3hCO0lBQ0E7SUFDQTtJQUNBO0lBbkJILGdCQUFnQixDQUFtQjtJQUVuQyxlQUFlLEdBQVcsRUFBRSxDQUFDO0lBQzdCLHFCQUFxQixHQUFXLEVBQUUsQ0FBQztJQUVuQyxjQUFjLEdBQVksSUFBSSxDQUFDO0lBQy9CLGFBQWEsR0FBWSxJQUFJLENBQUM7SUFDOUIs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QzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0E5SVUsK0NBQStDLG9EQWlCaEQsZUFBZTsyRkFqQmQsK0NBQStDLHNGQ1g1RCx5c0hBaUdBOztTRHRGYSwrQ0FBK0M7MkZBQS9DLCtDQUErQztrQkFMM0QsU0FBUzsrQkFDRSxnREFBZ0Q7OzBCQXFCdkQsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2dSZWYgYXMgTWF0RGlhbG9nUmVmLCBNQVRfTEVHQUNZX0RJQUxPR19EQVRBIGFzIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnO1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvcHJvZHVjdHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbHRlcnNBcGlDbGllbnQsIEZpbHRlcnNWaWV3TW9kZWwsIEZpbHRlck9wdGlvblZpZXdNb2RlbCwgQ3JlYXRlRmlsdGVyT3B0aW9uUmVxdWVzdCwgQ3JlYXRlRmlsdGVyT3B0aW9uUmVzcG9uc2UsIENyZWF0ZUZpbHRlclJlcXVlc3QsIENyZWF0ZUZpbHRlclJlc3BvbnNlLCBDb25uZWN0RWlnZW5zY2hhcE9wdGllUmVxdWVzdCwgUHJvZHVjdHNBcGlDbGllbnQsIExvZ2luUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCZWhlZXJQcm9kdWN0c0tvcHBlbEZpbHRlcm9wdGlvbkRhaWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHB1YmxpYyBGaWx0ZXJzVmlld01vZGVsOiBGaWx0ZXJzVmlld01vZGVsO1xyXG5cclxuICBwdWJsaWMgRmlsdGVyTmFhbU5pZXV3OiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBGaWx0ZXJPcHRpb25OYWFtTmlldXc6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHB1YmxpYyBMb2FkaW5nRmlsdGVyczogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIExvYWRpbmdPcHRpZXM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBGaWx0ZXJTZWxlY3RlZDogbnVtYmVyO1xyXG4gIHB1YmxpYyBGaWx0ZXJPcHRpb25TZWxlY3RlZDogbnVtYmVyO1xyXG5cclxuICBwdWJsaWMgQkNCRWlnZW5zY2hhcE9wdGllSWQ6IG51bWJlcjtcclxuICBwdWJsaWMgTG9jYXRpb246IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QmVoZWVyUHJvZHVjdHNLb3BwZWxGaWx0ZXJvcHRpb25EYWlsb2dDb21wb25lbnQ+LFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnksXHJcbiAgICBwcml2YXRlIEZpbHRlcnNBcGlDbGllbnQ6IEZpbHRlcnNBcGlDbGllbnQsXHJcbiAgICBwcml2YXRlIFByb2R1Y3RzQXBpQ2xpZW50OiBQcm9kdWN0c0FwaUNsaWVudCxcclxuICAgIHByaXZhdGUgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIFByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLkJDQkVpZ2Vuc2NoYXBPcHRpZUlkID0gZGF0YS5iY2JlaWdlbnNjaGFwb3B0aWVpZDtcclxuICAgIHRoaXMuTG9jYXRpb24gPSBkYXRhLmxvY2F0aW9uO1xyXG4gICAgdGhpcy5GaWx0ZXJOYWFtTmlldXcgPSBkYXRhLnN1Z2dlc3RlZGZpbHRlcjtcclxuICAgIHRoaXMuRmlsdGVyT3B0aW9uTmFhbU5pZXV3ID0gZGF0YS5zdWdnZXN0ZWRvcHRpb247XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuTG9hZEZpbHRlcnMoKTtcclxuICAgIC8vdGhpcy5Mb2FkT3B0aWVzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlS2V5VXBGaWx0ZXIoZTogYW55KSB7XHJcbiAgICBpZiAoZS5rZXlDb2RlID09PSAxMykge1xyXG4gICAgICB0aGlzLk5pZXV3RmlsdGVyVG9ldm9lZ2VuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlS2V5VXBGaWx0ZXJPcHRpb24oZTogYW55KSB7XHJcbiAgICBpZiAoZS5rZXlDb2RlID09PSAxMykge1xyXG4gICAgICB0aGlzLk5pZXV3RmlsdGVyT3B0aW9uVG9ldm9lZ2VuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTmlldXdGaWx0ZXJUb2V2b2VnZW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gdHJ1ZTtcclxuXHJcbiAgICB2YXIgcmVxdWVzdGZpbHRlcjogQ3JlYXRlRmlsdGVyUmVxdWVzdCA9IG5ldyBDcmVhdGVGaWx0ZXJSZXF1ZXN0KCk7XHJcblxyXG4gICAgcmVxdWVzdGZpbHRlci5uYW1lID0gdGhpcy5GaWx0ZXJOYWFtTmlldXc7XHJcblxyXG4gICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LmNyZWF0ZUZpbHRlcihyZXF1ZXN0ZmlsdGVyKS5zdWJzY3JpYmUoKG1vZGVsOiBDcmVhdGVGaWx0ZXJSZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gZmFsc2U7XHJcblxyXG4gICAgICB2YXIgcmVxdWVzdGZpbHRlcm9wdGlvbiA9IG5ldyBDcmVhdGVGaWx0ZXJPcHRpb25SZXF1ZXN0KCk7XHJcblxyXG4gICAgICByZXF1ZXN0ZmlsdGVyb3B0aW9uLmZpbHRlcklkID0gbW9kZWwuaWQ7XHJcbiAgICAgIHJlcXVlc3RmaWx0ZXJvcHRpb24ubmFtZSA9IHRoaXMuRmlsdGVyT3B0aW9uTmFhbU5pZXV3O1xyXG4gICAgICByZXF1ZXN0ZmlsdGVyb3B0aW9uLmxvZ2luUmVzcG9uc2VNb2RlbCA9IG5ldyBMb2dpblJlc3BvbnNlTW9kZWwodGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuY3VycmVudFVzZXJWYWx1ZSk7XHJcblxyXG4gICAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuY3JlYXRlRmlsdGVyT3B0aW9uKHJlcXVlc3RmaWx0ZXJvcHRpb24pLnN1YnNjcmliZSgobW9kZWw6IENyZWF0ZUZpbHRlck9wdGlvblJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nRmlsdGVycyA9IGZhbHNlO1xyXG5cclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IGZpbHRlcjogbnVsbCwgZmlsdGVyb3B0aW9uOiBtb2RlbC5pZCB9KTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuTG9hZGluZ0ZpbHRlcnMgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nRmlsdGVycyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTmlldXdGaWx0ZXJPcHRpb25Ub2V2b2VnZW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gdHJ1ZTtcclxuXHJcbiAgICB2YXIgcmVxdWVzdGZpbHRlcm9wdGlvbiA9IG5ldyBDcmVhdGVGaWx0ZXJPcHRpb25SZXF1ZXN0KCk7XHJcblxyXG4gICAgcmVxdWVzdGZpbHRlcm9wdGlvbi5maWx0ZXJJZCA9IHRoaXMuRmlsdGVyU2VsZWN0ZWQ7XHJcbiAgICByZXF1ZXN0ZmlsdGVyb3B0aW9uLm5hbWUgPSB0aGlzLkZpbHRlck9wdGlvbk5hYW1OaWV1dztcclxuICAgIHJlcXVlc3RmaWx0ZXJvcHRpb24ubG9naW5SZXNwb25zZU1vZGVsID0gbmV3IExvZ2luUmVzcG9uc2VNb2RlbCh0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5jdXJyZW50VXNlclZhbHVlKTtcclxuXHJcbiAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuY3JlYXRlRmlsdGVyT3B0aW9uKHJlcXVlc3RmaWx0ZXJvcHRpb24pLnN1YnNjcmliZSgobW9kZWw6IENyZWF0ZUZpbHRlck9wdGlvblJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMuTG9hZGluZ0ZpbHRlcnMgPSBmYWxzZTtcclxuXHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHsgZmlsdGVyOiBudWxsLCBmaWx0ZXJvcHRpb246IG1vZGVsLmlkIH0pO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nRmlsdGVycyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgQmVzdGFhbmRUb2V2b2VnZW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IGZpbHRlcjogbnVsbCwgZmlsdGVyb3B0aW9uOiB0aGlzLkZpbHRlck9wdGlvblNlbGVjdGVkIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldFNlbGVjdGVkRmlsdGVyc09wdGlvbnMoKTogQXJyYXk8RmlsdGVyT3B0aW9uVmlld01vZGVsPiB7XHJcbiAgICB2YXIgYXJyYXkgPSBuZXcgQXJyYXk8RmlsdGVyT3B0aW9uVmlld01vZGVsPigpO1xyXG5cclxuICAgIHZhciB0ZW1wYXJyYXkgPSB0aGlzLkZpbHRlcnNWaWV3TW9kZWw/LmZpbHRlclZpZXdNb2RlbHM7XHJcblxyXG4gICAgaWYgKHRlbXBhcnJheSAhPSBudWxsKSB7XHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGVtcGFycmF5Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKHRlbXBhcnJheVtpXS5pZCA9PSB0aGlzLkZpbHRlclNlbGVjdGVkKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGVtcGFycmF5W2ldLmZpbHRlck9wdGlvblZpZXdNb2RlbHMgYXMgQXJyYXk8RmlsdGVyT3B0aW9uVmlld01vZGVsPjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gYXJyYXk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgS29wcGVsTWFueU5hbWUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IGZpbHRlcjogdGhpcy5GaWx0ZXJTZWxlY3RlZCwgZmlsdGVyb3B0aW9uOiBudWxsIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIExvYWRpbmcoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5Mb2FkaW5nRmlsdGVycztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgTG9hZEZpbHRlcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuZ2V0RmlsdGVyc1ZpZXdNb2RlbCh0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5jdXJyZW50VXNlclZhbHVlKS5zdWJzY3JpYmUoKG1vZGVsOiBGaWx0ZXJzVmlld01vZGVsKSA9PiB7XHJcbiAgICAgIHRoaXMuRmlsdGVyc1ZpZXdNb2RlbCA9IG1vZGVsO1xyXG4gICAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gZmFsc2U7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICBhbGVydCgnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIkxvYWRpbmcoKVwiPlxyXG4gIDxhcHAtZmFiLWxvYWRlcj48L2FwcC1mYWItbG9hZGVyPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCIhTG9hZGluZygpXCI+XHJcbiAgPG1hdC10YWItZ3JvdXA+XHJcbiAgICA8bWF0LXRhYiBsYWJlbD1cIk5pZXV3ZSBmaWx0ZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhclwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5GaWx0ZXI8L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cIkZpbHRlck5hYW1OaWV1d1wiPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5PcHRpZTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IChrZXl1cCk9XCJoYW5kbGVLZXlVcEZpbHRlcigkZXZlbnQpXCIgWyhuZ01vZGVsKV09XCJGaWx0ZXJPcHRpb25OYWFtTmlldXdcIj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXIgdG9vbC1iYXJcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJOaWV1d0ZpbHRlclRvZXZvZWdlbigpXCI+VG9ldm9lZ2VuPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtdGFiPlxyXG4gICAgPG1hdC10YWIgbGFiZWw9XCJOaWV1d2Ugb3B0aWVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhclwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5GaWx0ZXI8L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwiRmlsdGVyU2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGZpbHRlciBvZiBGaWx0ZXJzVmlld01vZGVsLmZpbHRlclZpZXdNb2RlbHNcIiBbdmFsdWVdPVwiZmlsdGVyLmlkXCI+XHJcbiAgICAgICAgICAgICAge3tmaWx0ZXIubmFtZX19XHJcbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+T3B0aWU8L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCAoa2V5dXApPVwiaGFuZGxlS2V5VXBGaWx0ZXJPcHRpb24oJGV2ZW50KVwiIFsobmdNb2RlbCldPVwiRmlsdGVyT3B0aW9uTmFhbU5pZXV3XCI+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyIHRvb2wtYmFyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiTmlldXdGaWx0ZXJPcHRpb25Ub2V2b2VnZW4oKVwiPlRvZXZvZWdlbjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LXRhYj5cclxuICAgIDxtYXQtdGFiIGxhYmVsPVwiQmVzdGFhbmRcIj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXJcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+RmlsdGVyPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIkZpbHRlclNlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgRmlsdGVyc1ZpZXdNb2RlbC5maWx0ZXJWaWV3TW9kZWxzXCIgW3ZhbHVlXT1cImZpbHRlci5pZFwiPlxyXG4gICAgICAgICAgICAgIHt7ZmlsdGVyLm5hbWV9fVxyXG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPk9wdGllPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIkZpbHRlck9wdGlvblNlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBmaWx0ZXJvcHRpb24gb2YgR2V0U2VsZWN0ZWRGaWx0ZXJzT3B0aW9ucygpXCIgW3ZhbHVlXT1cImZpbHRlcm9wdGlvbi5pZFwiPlxyXG4gICAgICAgICAgICAgIHt7ZmlsdGVyb3B0aW9uLm5hbWV9fVxyXG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyIHRvb2wtYmFyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQmVzdGFhbmRUb2V2b2VnZW4oKVwiPlRvZXZvZWdlbjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LXRhYj5cclxuICAgIDwhLS08bWF0LXRhYiBsYWJlbD1cIk1hbnkgTmFtZVwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPkZpbHRlcjwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwiRmlsdGVyU2VsZWN0ZWRcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgRmlsdGVyc1ZpZXdNb2RlbC5maWx0ZXJWaWV3TW9kZWxzXCIgW3ZhbHVlXT1cImZpbHRlci5pZFwiPlxyXG4gICAgICAgICAgICB7e2ZpbHRlci5uYW1lfX1cclxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICA8YXBwLWJlaGVlci1jb25uZWN0LW1hbnluYW1lPjwvYXBwLWJlaGVlci1jb25uZWN0LW1hbnluYW1lPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhciB0b29sLWJhclwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIktvcHBlbE1hbnlOYW1lKClcIj5Lb3BwZWw8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC10YWI+LS0+XHJcbiAgPC9tYXQtdGFiLWdyb3VwPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwib3B0aW9ucy1jb250YWluZXJcIj5cclxuICAgIDwhLS08ZGl2ICpuZ0Zvcj1cImxldCBsb2NhdGlvbiBvZiBDb25uZWN0RWlnZW5zY2hhcE9wdGllUmVzcG9uc2UubG9jYXRpb25zXCI+XHJcbiAgICAgIDxiPnt7IGxvY2F0aW9uLmxvY2F0aW9uIH19PC9iPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlYm8gb2YgbG9jYXRpb24uZWJvc1wiPlxyXG4gICAgICAgIHt7IGVibyB9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2Pi0tPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -70,12 +70,7 @@ class BeheerProductsComponent {
70
70
  }
71
71
  }, (error) => {
72
72
  alert("import failed for id: " + bcbproduct.id);
73
- if (error.status == 400)
74
- console.log(error.json());
75
- else {
76
- console.log('An unexpected error occured');
77
- console.log(error);
78
- }
73
+ alert('An unexpected error occured');
79
74
  });
80
75
  }
81
76
  ResetImport() {
@@ -152,4 +147,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
152
147
  type: Component,
153
148
  args: [{ selector: 'app-beheer-products', template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"ProductsService.Loading() || ImportSetsService.LoadingImportSets\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!ProductsService.Loading() && !ImportSetsService.LoadingImportSets\" class=\"main-block\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div class=\"displayflex gap\">\r\n <div class=\"displayflex flex-auto gap\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Import set</mat-label>\r\n <mat-select [(ngModel)]=\"ImportSetsService.BCBImportSetSelected\">\r\n <mat-option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">\r\n {{importset.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <button mat-raised-button (click)=\"ProductsService.Reload(this.ChangeDetectorRef)\">\r\n Refresh\r\n </button>\r\n </div>\r\n\r\n <div class=\"displayflex gap\" style=\"text-align: right;\">\r\n <button mat-raised-button (click)=\"Status()\">\r\n Status\r\n </button>\r\n <button mat-raised-button (click)=\"ResetImport()\">\r\n Reset Import\r\n </button>\r\n <button mat-raised-button (click)=\"Import()\">\r\n Import\r\n </button>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div class=\"displayflex\" *ngIf=\"this.ProductsService.ProductsViewModel != undefined\">\r\n <div class=\"tree-block\">\r\n <div class=\"limiter\">\r\n <mat-card>\r\n <mat-card-content>\r\n <table class=\"full-width\">\r\n <tr class=\"table-head\">\r\n <td></td>\r\n <td>Id</td>\r\n <td>Naam</td>\r\n <td>Variants</td>\r\n <td>Importset</td>\r\n </tr>\r\n <ng-container *ngFor=\"let product of this.ProductsService.ProductsViewModel.productViewModels\">\r\n <tr [ngClass]=\"{'selected' : ProductsService.ProductViewModel == product, 'warning': !product.imported || !product.connected}\">\r\n <td (click)=\"SelectProduct(product)\" class=\"table-row\"><span class=\"importspan\">{{ GetImportStatus(product) }}</span></td>\r\n <td (click)=\"SelectProduct(product)\" class=\"table-row\">{{ product.id }}</td>\r\n <td (click)=\"SelectProduct(product)\" class=\"table-row\">{{ product.name }}</td>\r\n <td (click)=\"SelectProduct(product)\" class=\"table-row\">{{ product.bcbProductViewModels.length }}</td>\r\n <td>\r\n <select [(ngModel)]=\"product.importSetId\" (change)=\"SaveProduct(product)\" class=\"full-width\">\r\n <option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">{{importset.name}}</option>\r\n </select>\r\n </td>\r\n </tr>\r\n <ng-container *ngIf=\"ShowBCBProducts(product)\">\r\n <tr>\r\n <td>&nbsp;</td>\r\n </tr>\r\n <tr *ngFor=\"let bcbproduct of ProductsService.ProductViewModel.bcbProductViewModels\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.BCBProductViewModel == bcbproduct, 'warning': !bcbproduct.imported || !bcbproduct.connected}\" (click)=\"SelectBCBProduct(bcbproduct)\">\r\n <td><span class=\"importspan\">{{ bcbproduct.importStatus }}</span></td>\r\n <td>{{ bcbproduct.id }}</td>\r\n <td colspan=\"3\">{{ bcbproduct.name }}</td>\r\n </tr>\r\n <tr>\r\n <td>&nbsp;</td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"main-content\">\r\n <div class=\"limiter\">\r\n <app-beheer-products-product *ngIf=\"ProductsService.ProductViewModel != undefined && ProductsService.BCBProductViewModel == undefined\" [ProductViewModel]=\"ProductsService.ProductViewModel\"></app-beheer-products-product>\r\n <app-beheer-products-bcbproduct *ngIf=\"ProductsService.BCBProductViewModel != undefined\" [BCBProductViewModel]=\"ProductsService.BCBProductViewModel\"></app-beheer-products-bcbproduct>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".full-width{width:100%}.full-height{height:100%}.gap{gap:3px}.table-head td{font-weight:700;border-bottom:2px solid #000}.table-row td{border-bottom:1px solid #000;cursor:pointer}.warning{background-color:#f08080}.table-row:hover{background-color:#d3d3d3}.limiter{max-height:calc(100vh - 179px);overflow:auto}.selected{background-color:#add8e6!important}.importspan{margin-left:5px;font-weight:700}.main-block{padding:10px;height:calc(100vh - 66px);overflow:auto}.main-content{padding:5px;flex:auto;width:50%}.tree-block{padding:5px;flex:auto;width:50%;max-height:calc(100vh - 66px)}.example-tree-invisible{display:none}.example-tree ul,.example-tree li{margin-top:0;margin-bottom:0;list-style-type:none}.example-tree .mat-nested-tree-node div[role=group]{padding-left:40px}.example-tree div[role=group]>.mat-tree-node{padding-left:40px}.displayflex{display:flex}.flex-auto{flex:auto}\n"] }]
154
149
  }], ctorParameters: function () { return [{ type: i1.ProductsService }, { type: i2.ImportSetsService }, { type: i3.ImportApiClient }, { type: i0.ChangeDetectorRef }]; } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXByb2R1Y3RzL2JlaGVlci1wcm9kdWN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1wcm9kdWN0cy9iZWhlZXItcHJvZHVjdHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJckUsT0FBTyxFQUErRSx1QkFBdUIsRUFBcUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQUV6TixNQUthLHVCQUF1QjtJQUlmO0lBQ1Y7SUFDQztJQUNEO0lBTEYsc0JBQXNCLEdBQTRCLFNBQVMsQ0FBQztJQUVuRSxZQUFtQixlQUFnQyxFQUMxQyxpQkFBb0MsRUFDbkMsZUFBZ0MsRUFDakMsaUJBQW9DO1FBSDFCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUMxQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ25DLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNqQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBRTdDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxRQUFR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QUF2Qix1QkFBdUIsMkRDWHBDLHVuSkE2RkE7O1NEbEZhLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lTZWxlY3Rpb25MaXN0IGFzIE1hdFNlbGVjdGlvbkxpc3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktbGlzdCc7XHJcbmltcG9ydCB7IFByb2R1Y3RzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3RzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbXBvcnRTZXRzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ltcG9ydHNldHMuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb2R1Y3RzQXBpQ2xpZW50LCBQcm9kdWN0c1ZpZXdNb2RlbCwgQkNCUHJvZHVjdFZpZXdNb2RlbCwgUHJvZHVjdFZpZXdNb2RlbCwgQkNCSW1wb3J0UHJvZHVjdFJlcXVlc3QsIEJDQkltcG9ydFByb2R1Y3RSZXNwb25zZSwgSW1wb3J0QXBpQ2xpZW50LCBCQ0JJbXBvcnRTZXRzVmlld01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1wcm9kdWN0cycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1wcm9kdWN0cy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYmVoZWVyLXByb2R1Y3RzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGVlclByb2R1Y3RzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHVibGljIEJDQkltcG9ydFNldHNWaWV3TW9kZWw/OiBCQ0JJbXBvcnRTZXRzVmlld01vZGVsID0gdW5kZWZpbmVkO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgUHJvZHVjdHNTZXJ2aWNlOiBQcm9kdWN0c1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgSW1wb3J0U2V0c1NlcnZpY2U6IEltcG9ydFNldHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBJbXBvcnRBcGlDbGllbnQ6IEltcG9ydEFwaUNsaWVudCxcclxuICAgIHB1YmxpYyBDaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuSW1wb3J0U2V0c1NlcnZpY2UuTG9hZEltcG9ydFNldHModGhpcy5DaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU3RhdHVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuQ2hlY2tTdGF0dXModGhpcy5DaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgSW1wb3J0KCk6IHZvaWQge1xyXG4gICAgdmFyIHByb2R1Y3RzID0gdGhpcy5Qcm9kdWN0c1NlcnZpY2UuUHJvZHVjdHNWaWV3TW9kZWw/LnByb2R1Y3RWaWV3TW9kZWxzO1xyXG5cclxuICAgIGlmIChwcm9kdWN0cyAhPSBudWxsICYmIHByb2R1Y3RzLmxlbmd0aCA+IDApIHtcclxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kdWN0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIHZhciBiY2Jwcm9kdWN0cyA9IHByb2R1Y3RzW2ldLmJjYlByb2R1Y3RWaWV3TW9kZWxzO1xyXG5cclxuICAgICAgICBpZiAoYmNicHJvZHVjdHMgIT0gbnVsbCkge1xyXG4gICAgICAgICAgcHJvZHVjdHNbaV0uaW1wb3J0U3RhdHVzID0gXCIwL1wiICsgYmNicHJvZHVjdHMubGVuZ3RoO1xyXG5cclxuICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgYmNicHJvZHVjdHMubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgICAgYmNicHJvZHVjdHNbal0uaW1wb3J0U3RhdHVzID0gXCJYXCI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB2YXIgYmNicHJvZHVjdHMgPSBwcm9kdWN0c1swXS5iY2JQcm9kdWN0Vmlld01vZGVscztcclxuXHJcbiAgICAgIGlmIChiY2Jwcm9kdWN0cyAhPSBudWxsICYmIGJjYnByb2R1Y3RzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLkltcG9ydEJDQlByb2R1Y3QoYmNicHJvZHVjdHNbMF0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgSW1wb3J0QkNCUHJvZHVjdChiY2Jwcm9kdWN0OiBCQ0JQcm9kdWN0Vmlld01vZGVsKTogdm9pZCB7XHJcbiAgICB2YXIgcmVxdWVzdCA9IG5ldyBCQ0JJbXBvcnRQcm9kdWN0UmVxdWVzdCgpO1xyXG5cclxuICAgIHJlcXVlc3QuYmNiUHJvZHVjdElkID0gYmNicHJvZHVjdC5pZDtcclxuXHJcbiAgICB0aGlzLkltcG9ydEFwaUNsaWVudC5pbXBvcnRCQ0JQcm9kdWN0KHJlcXVlc3QpLnN1YnNjcmliZSgobW9kZWw6IEJDQkltcG9ydFByb2R1Y3RSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoIW1vZGVsLnN1Y2Nlc3MpIHtcclxuICAgICAgICBhbGVydChtb2RlbC5tZXNzYWdlKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBiY2Jwcm9kdWN0LmltcG9ydFN0YXR1cyA9IFwiVlwiO1xyXG5cclxuICAgICAgICB2YXIgbmV4dCA9IHRoaXMuR2V0TmV4dEJDQlByb2R1Y3QoYmNicHJvZHVjdCk7XHJcblxyXG4gICAgICAgIGlmIChuZXh0LmltcG9ydFN0YXR1cyA9PSBcIlhcIikge1xyXG4gICAgICAgICAgdGhpcy5JbXBvcnRCQ0JQcm9kdWN0KG5leHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLlJlbG9hZCh0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgYWxlcnQoXCJpbXBvcnQgZmFpbGVkIGZvciBpZDogXCIgKyBiY2Jwcm9kdWN0LmlkKTtcclxuXHJcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFJlc2V0SW1wb3J0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuUmVzZXRJbXBvcnQoLTEsIC0xLCB0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTaG93QkNCUHJvZHVjdHMocHJvZHVjdDogUHJvZHVjdFZpZXdNb2RlbCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuUHJvZHVjdHNTZXJ2aWNlLlByb2R1Y3RWaWV3TW9kZWw/LmlkID09IHByb2R1Y3QuaWQpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNlbGVjdFByb2R1Y3QocHJvZHVjdDogUHJvZHVjdFZpZXdNb2RlbCkge1xyXG4gICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuUHJvZHVjdFZpZXdNb2RlbCA9IHByb2R1Y3Q7XHJcbiAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5CQ0JQcm9kdWN0Vmlld01vZGVsID0gdW5kZWZpbmVkO1xyXG5cclxuICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkxvYWRQcm9kdWN0KHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNhdmVQcm9kdWN0KHByb2R1Y3Q6IFByb2R1Y3RWaWV3TW9kZWwpIHtcclxuICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLlNhdmVQcm9kdWN0Vmlld01vZGVsKHByb2R1Y3QsIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNlbGVjdEJDQlByb2R1Y3QoYmNicHJvZHVjdDogQkNCUHJvZHVjdFZpZXdNb2RlbCkge1xyXG4gICAgaWYgKHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWwgIT0gYmNicHJvZHVjdCkge1xyXG4gICAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5CQ0JQcm9kdWN0Vmlld01vZGVsID0gYmNicHJvZHVjdDtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5CQ0JQcm9kdWN0Vmlld01vZGVsID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldEltcG9ydFN0YXR1cyhwcm9kdWN0OiBQcm9kdWN0Vmlld01vZGVsKTogc3RyaW5nIHtcclxuICAgIHZhciB0ZXh0ID0gXCJcIjtcclxuICAgIHZhciBhY3RpdmUgPSBmYWxzZTtcclxuXHJcbiAgICB2YXIgYmNicHJvZHVjdHMgPSBwcm9kdWN0LmJjYlByb2R1Y3RWaWV3TW9kZWxzO1xyXG4gICAgaWYgKGJjYnByb2R1Y3RzICE9IG51bGwgJiYgYmNicHJvZHVjdHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB2YXIgY291bnQgPSAwO1xyXG5cclxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiY2Jwcm9kdWN0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmIChiY2Jwcm9kdWN0c1tpXS5pbXBvcnRTdGF0dXMgIT0gXCJcIikge1xyXG4gICAgICAgICAgYWN0aXZlID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICBpZiAoYmNicHJvZHVjdHNbaV0uaW1wb3J0U3RhdHVzICE9IFwiWFwiKSB7XHJcbiAgICAgICAgICAgIGNvdW50Kys7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoYWN0aXZlKSB7XHJcbiAgICAgICAgdGV4dCA9IGNvdW50ICsgXCIvXCIgKyBiY2Jwcm9kdWN0cy5sZW5ndGg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGV4dDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBHZXROZXh0QkNCUHJvZHVjdChiY2Jwcm9kdWN0OiBCQ0JQcm9kdWN0Vmlld01vZGVsKTogQkNCUHJvZHVjdFZpZXdNb2RlbCB7XHJcbiAgICB2YXIgcHJvZHVjdHMgPSB0aGlzLlByb2R1Y3RzU2VydmljZS5Qcm9kdWN0c1ZpZXdNb2RlbD8ucHJvZHVjdFZpZXdNb2RlbHM7XHJcbiAgICB2YXIgbmV4dDogQkNCUHJvZHVjdFZpZXdNb2RlbCA9IGJjYnByb2R1Y3Q7XHJcbiAgICB2YXIgZm91bmQgPSBmYWxzZTtcclxuXHJcbiAgICBpZiAocHJvZHVjdHMgIT0gbnVsbCAmJiBwcm9kdWN0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvZHVjdHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB2YXIgYmNicHJvZHVjdHMgPSBwcm9kdWN0c1tpXS5iY2JQcm9kdWN0Vmlld01vZGVscztcclxuXHJcbiAgICAgICAgaWYgKGJjYnByb2R1Y3RzICE9IG51bGwpIHtcclxuICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgYmNicHJvZHVjdHMubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgICAgaWYgKGZvdW5kKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGJjYnByb2R1Y3RzW2pdO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoYmNicHJvZHVjdHNbal0gPT0gYmNicHJvZHVjdCkge1xyXG4gICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBuZXh0O1xyXG4gIH1cclxufVxyXG4iLCI8YXBwLWJlaGVlci1uYXY+PC9hcHAtYmVoZWVyLW5hdj5cclxuXHJcbjxkaXYgKm5nSWY9XCJQcm9kdWN0c1NlcnZpY2UuTG9hZGluZygpIHx8IEltcG9ydFNldHNTZXJ2aWNlLkxvYWRpbmdJbXBvcnRTZXRzXCI+XHJcbiAgPGFwcC1mYWItbG9hZGVyPjwvYXBwLWZhYi1sb2FkZXI+XHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwiIVByb2R1Y3RzU2VydmljZS5Mb2FkaW5nKCkgJiYgIUltcG9ydFNldHNTZXJ2aWNlLkxvYWRpbmdJbXBvcnRTZXRzXCIgY2xhc3M9XCJtYWluLWJsb2NrXCI+XHJcbiAgPG1hdC1jYXJkPlxyXG4gICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkaXNwbGF5ZmxleCBnYXBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGlzcGxheWZsZXggZmxleC1hdXRvIGdhcFwiPlxyXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XHJcbiAgICAgICAgICAgIDxtYXQtbGFiZWw+SW1wb3J0IHNldDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIkltcG9ydFNldHNTZXJ2aWNlLkJDQkltcG9ydFNldFNlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGltcG9ydHNldCBvZiBJbXBvcnRTZXRzU2VydmljZS5CQ0JJbXBvcnRTZXRzVmlld01vZGVsLmJjYkltcG9ydFNldFZpZXdNb2RlbHNcIiBbdmFsdWVdPVwiaW1wb3J0c2V0LmlkXCI+XHJcbiAgICAgICAgICAgICAgICB7e2ltcG9ydHNldC5uYW1lfX1cclxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUHJvZHVjdHNTZXJ2aWNlLlJlbG9hZCh0aGlzLkNoYW5nZURldGVjdG9yUmVmKVwiPlxyXG4gICAgICAgICAgICBSZWZyZXNoXHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRpc3BsYXlmbGV4IGdhcFwiIHN0eWxlPVwidGV4dC1hbGlnbjogcmlnaHQ7XCI+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJTdGF0dXMoKVwiPlxyXG4gICAgICAgICAgICBTdGF0dXNcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVzZXRJbXBvcnQoKVwiPlxyXG4gICAgICAgICAgICBSZXNldCBJbXBvcnRcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiSW1wb3J0KClcIj5cclxuICAgICAgICAgICAgSW1wb3J0XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgPC9tYXQtY2FyZD5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImRpc3BsYXlmbGV4XCIgKm5nSWY9XCJ0aGlzLlByb2R1Y3RzU2VydmljZS5Qcm9kdWN0c1ZpZXdNb2RlbCAhPSB1bmRlZmluZWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0cmVlLWJsb2NrXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsaW1pdGVyXCI+XHJcbiAgICAgICAgPG1hdC1jYXJkPlxyXG4gICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJ0YWJsZS1oZWFkXCI+XHJcbiAgICAgICAgICAgICAgICA8dGQ+PC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZD5JZDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQ+TmFhbTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQ+VmFyaWFudHM8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkPkltcG9ydHNldDwvdGQ+XHJcbiAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBwcm9kdWN0IG9mIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLlByb2R1Y3RzVmlld01vZGVsLnByb2R1Y3RWaWV3TW9kZWxzXCI+XHJcbiAgICAgICAgICAgICAgICA8dHIgW25nQ2xhc3NdPVwieydzZWxlY3RlZCcgOiBQcm9kdWN0c1NlcnZpY2UuUHJvZHVjdFZpZXdNb2RlbCA9PSBwcm9kdWN0LCAnd2FybmluZyc6ICFwcm9kdWN0LmltcG9ydGVkIHx8ICFwcm9kdWN0LmNvbm5lY3RlZH1cIj5cclxuICAgICAgICAgICAgICAgICAgPHRkIChjbGljayk9XCJTZWxlY3RQcm9kdWN0KHByb2R1Y3QpXCIgY2xhc3M9XCJ0YWJsZS1yb3dcIj48c3BhbiBjbGFzcz1cImltcG9ydHNwYW5cIj57eyBHZXRJbXBvcnRTdGF0dXMocHJvZHVjdCkgfX08L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkIChjbGljayk9XCJTZWxlY3RQcm9kdWN0KHByb2R1Y3QpXCIgY2xhc3M9XCJ0YWJsZS1yb3dcIj57eyBwcm9kdWN0LmlkIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkIChjbGljayk9XCJTZWxlY3RQcm9kdWN0KHByb2R1Y3QpXCIgY2xhc3M9XCJ0YWJsZS1yb3dcIj57eyBwcm9kdWN0Lm5hbWUgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICA8dGQgKGNsaWNrKT1cIlNlbGVjdFByb2R1Y3QocHJvZHVjdClcIiBjbGFzcz1cInRhYmxlLXJvd1wiPnt7IHByb2R1Y3QuYmNiUHJvZHVjdFZpZXdNb2RlbHMubGVuZ3RoIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJwcm9kdWN0LmltcG9ydFNldElkXCIgKGNoYW5nZSk9XCJTYXZlUHJvZHVjdChwcm9kdWN0KVwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgaW1wb3J0c2V0IG9mIEltcG9ydFNldHNTZXJ2aWNlLkJDQkltcG9ydFNldHNWaWV3TW9kZWwuYmNiSW1wb3J0U2V0Vmlld01vZGVsc1wiIFt2YWx1ZV09XCJpbXBvcnRzZXQuaWRcIj57e2ltcG9ydHNldC5uYW1lfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiU2hvd0JDQlByb2R1Y3RzKHByb2R1Y3QpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+Jm5ic3A7PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBiY2Jwcm9kdWN0IG9mIFByb2R1Y3RzU2VydmljZS5Qcm9kdWN0Vmlld01vZGVsLmJjYlByb2R1Y3RWaWV3TW9kZWxzXCIgY2xhc3M9XCJ0YWJsZS1yb3dcIiBbbmdDbGFzc109XCJ7J3NlbGVjdGVkJyA6IFByb2R1Y3RzU2VydmljZS5CQ0JQcm9kdWN0Vmlld01vZGVsID09IGJjYnByb2R1Y3QsICd3YXJuaW5nJzogIWJjYnByb2R1Y3QuaW1wb3J0ZWQgfHwgIWJjYnByb2R1Y3QuY29ubmVjdGVkfVwiIChjbGljayk9XCJTZWxlY3RCQ0JQcm9kdWN0KGJjYnByb2R1Y3QpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwiaW1wb3J0c3BhblwiPnt7IGJjYnByb2R1Y3QuaW1wb3J0U3RhdHVzIH19PC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPnt7IGJjYnByb2R1Y3QuaWQgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiM1wiPnt7IGJjYnByb2R1Y3QubmFtZSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+Jm5ic3A7PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgIDwvbWF0LWNhcmQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibGltaXRlclwiPlxyXG4gICAgICAgIDxhcHAtYmVoZWVyLXByb2R1Y3RzLXByb2R1Y3QgKm5nSWY9XCJQcm9kdWN0c1NlcnZpY2UuUHJvZHVjdFZpZXdNb2RlbCAhPSB1bmRlZmluZWQgJiYgUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWwgPT0gdW5kZWZpbmVkXCIgW1Byb2R1Y3RWaWV3TW9kZWxdPVwiUHJvZHVjdHNTZXJ2aWNlLlByb2R1Y3RWaWV3TW9kZWxcIj48L2FwcC1iZWhlZXItcHJvZHVjdHMtcHJvZHVjdD5cclxuICAgICAgICA8YXBwLWJlaGVlci1wcm9kdWN0cy1iY2Jwcm9kdWN0ICpuZ0lmPVwiUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWwgIT0gdW5kZWZpbmVkXCIgW0JDQlByb2R1Y3RWaWV3TW9kZWxdPVwiUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWxcIj48L2FwcC1iZWhlZXItcHJvZHVjdHMtYmNicHJvZHVjdD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG4iXX0=
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXByb2R1Y3RzL2JlaGVlci1wcm9kdWN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1wcm9kdWN0cy9iZWhlZXItcHJvZHVjdHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJckUsT0FBTyxFQUErRSx1QkFBdUIsRUFBcUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQUV6TixNQUthLHVCQUF1QjtJQUlmO0lBQ1Y7SUFDQztJQUNEO0lBTEYsc0JBQXNCLEdBQTRCLFNBQVMsQ0FBQztJQUVuRSxZQUFtQixlQUFnQyxFQUMxQyxpQkFBb0MsRUFDbkMsZUFBZ0MsRUFDakMsaUJBQW9DO1FBSDFCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUMxQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ25DLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNqQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBRTdDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxRQUFR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QUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7YUFDekM7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFVBQStCO1FBQ3RELElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUM7UUFDekUsSUFBSSxJQUFJLEdBQXdCLFVBQVUsQ0FBQztRQUMzQyxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbEIsSUFBSSxRQUFRLElBQUksSUFBSSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzNDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN4QyxJQUFJLFdBQVcsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUM7Z0JBRW5ELElBQUksV0FBVyxJQUFJLElBQUksRUFBRTtvQkFDdkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7d0JBQzNDLElBQUksS0FBSyxFQUFFOzRCQUNULE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO3lCQUN2Qjt3QkFFRCxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLEVBQUU7NEJBQ2hDLEtBQUssR0FBRyxJQUFJLENBQUM7eUJBQ2Q7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO3VHQXpKVSx1QkFBdUI7MkZBQXZCLHVCQUF1QiwyRENYcEMsdW5KQTZGQTs7U0RsRmEsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeVNlbGVjdGlvbkxpc3QgYXMgTWF0U2VsZWN0aW9uTGlzdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1saXN0JztcclxuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJvZHVjdHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEltcG9ydFNldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaW1wb3J0c2V0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvZHVjdHNBcGlDbGllbnQsIFByb2R1Y3RzVmlld01vZGVsLCBCQ0JQcm9kdWN0Vmlld01vZGVsLCBQcm9kdWN0Vmlld01vZGVsLCBCQ0JJbXBvcnRQcm9kdWN0UmVxdWVzdCwgQkNCSW1wb3J0UHJvZHVjdFJlc3BvbnNlLCBJbXBvcnRBcGlDbGllbnQsIEJDQkltcG9ydFNldHNWaWV3TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYmVoZWVyLXByb2R1Y3RzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmVoZWVyLXByb2R1Y3RzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItcHJvZHVjdHMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmVoZWVyUHJvZHVjdHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwdWJsaWMgQkNCSW1wb3J0U2V0c1ZpZXdNb2RlbD86IEJDQkltcG9ydFNldHNWaWV3TW9kZWwgPSB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBQcm9kdWN0c1NlcnZpY2U6IFByb2R1Y3RzU2VydmljZSxcclxuICAgIHB1YmxpYyBJbXBvcnRTZXRzU2VydmljZTogSW1wb3J0U2V0c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIEltcG9ydEFwaUNsaWVudDogSW1wb3J0QXBpQ2xpZW50LFxyXG4gICAgcHVibGljIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5JbXBvcnRTZXRzU2VydmljZS5Mb2FkSW1wb3J0U2V0cyh0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTdGF0dXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5DaGVja1N0YXR1cyh0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBJbXBvcnQoKTogdm9pZCB7XHJcbiAgICB2YXIgcHJvZHVjdHMgPSB0aGlzLlByb2R1Y3RzU2VydmljZS5Qcm9kdWN0c1ZpZXdNb2RlbD8ucHJvZHVjdFZpZXdNb2RlbHM7XHJcblxyXG4gICAgaWYgKHByb2R1Y3RzICE9IG51bGwgJiYgcHJvZHVjdHMubGVuZ3RoID4gMCkge1xyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb2R1Y3RzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgdmFyIGJjYnByb2R1Y3RzID0gcHJvZHVjdHNbaV0uYmNiUHJvZHVjdFZpZXdNb2RlbHM7XHJcblxyXG4gICAgICAgIGlmIChiY2Jwcm9kdWN0cyAhPSBudWxsKSB7XHJcbiAgICAgICAgICBwcm9kdWN0c1tpXS5pbXBvcnRTdGF0dXMgPSBcIjAvXCIgKyBiY2Jwcm9kdWN0cy5sZW5ndGg7XHJcblxyXG4gICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBiY2Jwcm9kdWN0cy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICBiY2Jwcm9kdWN0c1tqXS5pbXBvcnRTdGF0dXMgPSBcIlhcIjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHZhciBiY2Jwcm9kdWN0cyA9IHByb2R1Y3RzWzBdLmJjYlByb2R1Y3RWaWV3TW9kZWxzO1xyXG5cclxuICAgICAgaWYgKGJjYnByb2R1Y3RzICE9IG51bGwgJiYgYmNicHJvZHVjdHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMuSW1wb3J0QkNCUHJvZHVjdChiY2Jwcm9kdWN0c1swXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBJbXBvcnRCQ0JQcm9kdWN0KGJjYnByb2R1Y3Q6IEJDQlByb2R1Y3RWaWV3TW9kZWwpOiB2b2lkIHtcclxuICAgIHZhciByZXF1ZXN0ID0gbmV3IEJDQkltcG9ydFByb2R1Y3RSZXF1ZXN0KCk7XHJcblxyXG4gICAgcmVxdWVzdC5iY2JQcm9kdWN0SWQgPSBiY2Jwcm9kdWN0LmlkO1xyXG5cclxuICAgIHRoaXMuSW1wb3J0QXBpQ2xpZW50LmltcG9ydEJDQlByb2R1Y3QocmVxdWVzdCkuc3Vic2NyaWJlKChtb2RlbDogQkNCSW1wb3J0UHJvZHVjdFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGlmICghbW9kZWwuc3VjY2Vzcykge1xyXG4gICAgICAgIGFsZXJ0KG1vZGVsLm1lc3NhZ2UpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGJjYnByb2R1Y3QuaW1wb3J0U3RhdHVzID0gXCJWXCI7XHJcblxyXG4gICAgICAgIHZhciBuZXh0ID0gdGhpcy5HZXROZXh0QkNCUHJvZHVjdChiY2Jwcm9kdWN0KTtcclxuXHJcbiAgICAgICAgaWYgKG5leHQuaW1wb3J0U3RhdHVzID09IFwiWFwiKSB7XHJcbiAgICAgICAgICB0aGlzLkltcG9ydEJDQlByb2R1Y3QobmV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuUmVsb2FkKHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBhbGVydChcImltcG9ydCBmYWlsZWQgZm9yIGlkOiBcIiArIGJjYnByb2R1Y3QuaWQpO1xyXG5cclxuICAgICAgIGFsZXJ0KCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFJlc2V0SW1wb3J0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuUmVzZXRJbXBvcnQoLTEsIC0xLCB0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTaG93QkNCUHJvZHVjdHMocHJvZHVjdDogUHJvZHVjdFZpZXdNb2RlbCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuUHJvZHVjdHNTZXJ2aWNlLlByb2R1Y3RWaWV3TW9kZWw/LmlkID09IHByb2R1Y3QuaWQpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNlbGVjdFByb2R1Y3QocHJvZHVjdDogUHJvZHVjdFZpZXdNb2RlbCkge1xyXG4gICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuUHJvZHVjdFZpZXdNb2RlbCA9IHByb2R1Y3Q7XHJcbiAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5CQ0JQcm9kdWN0Vmlld01vZGVsID0gdW5kZWZpbmVkO1xyXG5cclxuICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkxvYWRQcm9kdWN0KHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNhdmVQcm9kdWN0KHByb2R1Y3Q6IFByb2R1Y3RWaWV3TW9kZWwpIHtcclxuICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLlNhdmVQcm9kdWN0Vmlld01vZGVsKHByb2R1Y3QsIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNlbGVjdEJDQlByb2R1Y3QoYmNicHJvZHVjdDogQkNCUHJvZHVjdFZpZXdNb2RlbCkge1xyXG4gICAgaWYgKHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWwgIT0gYmNicHJvZHVjdCkge1xyXG4gICAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5CQ0JQcm9kdWN0Vmlld01vZGVsID0gYmNicHJvZHVjdDtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5CQ0JQcm9kdWN0Vmlld01vZGVsID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldEltcG9ydFN0YXR1cyhwcm9kdWN0OiBQcm9kdWN0Vmlld01vZGVsKTogc3RyaW5nIHtcclxuICAgIHZhciB0ZXh0ID0gXCJcIjtcclxuICAgIHZhciBhY3RpdmUgPSBmYWxzZTtcclxuXHJcbiAgICB2YXIgYmNicHJvZHVjdHMgPSBwcm9kdWN0LmJjYlByb2R1Y3RWaWV3TW9kZWxzO1xyXG4gICAgaWYgKGJjYnByb2R1Y3RzICE9IG51bGwgJiYgYmNicHJvZHVjdHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB2YXIgY291bnQgPSAwO1xyXG5cclxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiY2Jwcm9kdWN0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmIChiY2Jwcm9kdWN0c1tpXS5pbXBvcnRTdGF0dXMgIT0gXCJcIikge1xyXG4gICAgICAgICAgYWN0aXZlID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICBpZiAoYmNicHJvZHVjdHNbaV0uaW1wb3J0U3RhdHVzICE9IFwiWFwiKSB7XHJcbiAgICAgICAgICAgIGNvdW50Kys7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoYWN0aXZlKSB7XHJcbiAgICAgICAgdGV4dCA9IGNvdW50ICsgXCIvXCIgKyBiY2Jwcm9kdWN0cy5sZW5ndGg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGV4dDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBHZXROZXh0QkNCUHJvZHVjdChiY2Jwcm9kdWN0OiBCQ0JQcm9kdWN0Vmlld01vZGVsKTogQkNCUHJvZHVjdFZpZXdNb2RlbCB7XHJcbiAgICB2YXIgcHJvZHVjdHMgPSB0aGlzLlByb2R1Y3RzU2VydmljZS5Qcm9kdWN0c1ZpZXdNb2RlbD8ucHJvZHVjdFZpZXdNb2RlbHM7XHJcbiAgICB2YXIgbmV4dDogQkNCUHJvZHVjdFZpZXdNb2RlbCA9IGJjYnByb2R1Y3Q7XHJcbiAgICB2YXIgZm91bmQgPSBmYWxzZTtcclxuXHJcbiAgICBpZiAocHJvZHVjdHMgIT0gbnVsbCAmJiBwcm9kdWN0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvZHVjdHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB2YXIgYmNicHJvZHVjdHMgPSBwcm9kdWN0c1tpXS5iY2JQcm9kdWN0Vmlld01vZGVscztcclxuXHJcbiAgICAgICAgaWYgKGJjYnByb2R1Y3RzICE9IG51bGwpIHtcclxuICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgYmNicHJvZHVjdHMubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgICAgaWYgKGZvdW5kKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGJjYnByb2R1Y3RzW2pdO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoYmNicHJvZHVjdHNbal0gPT0gYmNicHJvZHVjdCkge1xyXG4gICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBuZXh0O1xyXG4gIH1cclxufVxyXG4iLCI8YXBwLWJlaGVlci1uYXY+PC9hcHAtYmVoZWVyLW5hdj5cclxuXHJcbjxkaXYgKm5nSWY9XCJQcm9kdWN0c1NlcnZpY2UuTG9hZGluZygpIHx8IEltcG9ydFNldHNTZXJ2aWNlLkxvYWRpbmdJbXBvcnRTZXRzXCI+XHJcbiAgPGFwcC1mYWItbG9hZGVyPjwvYXBwLWZhYi1sb2FkZXI+XHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwiIVByb2R1Y3RzU2VydmljZS5Mb2FkaW5nKCkgJiYgIUltcG9ydFNldHNTZXJ2aWNlLkxvYWRpbmdJbXBvcnRTZXRzXCIgY2xhc3M9XCJtYWluLWJsb2NrXCI+XHJcbiAgPG1hdC1jYXJkPlxyXG4gICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkaXNwbGF5ZmxleCBnYXBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGlzcGxheWZsZXggZmxleC1hdXRvIGdhcFwiPlxyXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XHJcbiAgICAgICAgICAgIDxtYXQtbGFiZWw+SW1wb3J0IHNldDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIkltcG9ydFNldHNTZXJ2aWNlLkJDQkltcG9ydFNldFNlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGltcG9ydHNldCBvZiBJbXBvcnRTZXRzU2VydmljZS5CQ0JJbXBvcnRTZXRzVmlld01vZGVsLmJjYkltcG9ydFNldFZpZXdNb2RlbHNcIiBbdmFsdWVdPVwiaW1wb3J0c2V0LmlkXCI+XHJcbiAgICAgICAgICAgICAgICB7e2ltcG9ydHNldC5uYW1lfX1cclxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUHJvZHVjdHNTZXJ2aWNlLlJlbG9hZCh0aGlzLkNoYW5nZURldGVjdG9yUmVmKVwiPlxyXG4gICAgICAgICAgICBSZWZyZXNoXHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRpc3BsYXlmbGV4IGdhcFwiIHN0eWxlPVwidGV4dC1hbGlnbjogcmlnaHQ7XCI+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJTdGF0dXMoKVwiPlxyXG4gICAgICAgICAgICBTdGF0dXNcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVzZXRJbXBvcnQoKVwiPlxyXG4gICAgICAgICAgICBSZXNldCBJbXBvcnRcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiSW1wb3J0KClcIj5cclxuICAgICAgICAgICAgSW1wb3J0XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgPC9tYXQtY2FyZD5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImRpc3BsYXlmbGV4XCIgKm5nSWY9XCJ0aGlzLlByb2R1Y3RzU2VydmljZS5Qcm9kdWN0c1ZpZXdNb2RlbCAhPSB1bmRlZmluZWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0cmVlLWJsb2NrXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsaW1pdGVyXCI+XHJcbiAgICAgICAgPG1hdC1jYXJkPlxyXG4gICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJ0YWJsZS1oZWFkXCI+XHJcbiAgICAgICAgICAgICAgICA8dGQ+PC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZD5JZDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQ+TmFhbTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQ+VmFyaWFudHM8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkPkltcG9ydHNldDwvdGQ+XHJcbiAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBwcm9kdWN0IG9mIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLlByb2R1Y3RzVmlld01vZGVsLnByb2R1Y3RWaWV3TW9kZWxzXCI+XHJcbiAgICAgICAgICAgICAgICA8dHIgW25nQ2xhc3NdPVwieydzZWxlY3RlZCcgOiBQcm9kdWN0c1NlcnZpY2UuUHJvZHVjdFZpZXdNb2RlbCA9PSBwcm9kdWN0LCAnd2FybmluZyc6ICFwcm9kdWN0LmltcG9ydGVkIHx8ICFwcm9kdWN0LmNvbm5lY3RlZH1cIj5cclxuICAgICAgICAgICAgICAgICAgPHRkIChjbGljayk9XCJTZWxlY3RQcm9kdWN0KHByb2R1Y3QpXCIgY2xhc3M9XCJ0YWJsZS1yb3dcIj48c3BhbiBjbGFzcz1cImltcG9ydHNwYW5cIj57eyBHZXRJbXBvcnRTdGF0dXMocHJvZHVjdCkgfX08L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkIChjbGljayk9XCJTZWxlY3RQcm9kdWN0KHByb2R1Y3QpXCIgY2xhc3M9XCJ0YWJsZS1yb3dcIj57eyBwcm9kdWN0LmlkIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkIChjbGljayk9XCJTZWxlY3RQcm9kdWN0KHByb2R1Y3QpXCIgY2xhc3M9XCJ0YWJsZS1yb3dcIj57eyBwcm9kdWN0Lm5hbWUgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICA8dGQgKGNsaWNrKT1cIlNlbGVjdFByb2R1Y3QocHJvZHVjdClcIiBjbGFzcz1cInRhYmxlLXJvd1wiPnt7IHByb2R1Y3QuYmNiUHJvZHVjdFZpZXdNb2RlbHMubGVuZ3RoIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJwcm9kdWN0LmltcG9ydFNldElkXCIgKGNoYW5nZSk9XCJTYXZlUHJvZHVjdChwcm9kdWN0KVwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgaW1wb3J0c2V0IG9mIEltcG9ydFNldHNTZXJ2aWNlLkJDQkltcG9ydFNldHNWaWV3TW9kZWwuYmNiSW1wb3J0U2V0Vmlld01vZGVsc1wiIFt2YWx1ZV09XCJpbXBvcnRzZXQuaWRcIj57e2ltcG9ydHNldC5uYW1lfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiU2hvd0JDQlByb2R1Y3RzKHByb2R1Y3QpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+Jm5ic3A7PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBiY2Jwcm9kdWN0IG9mIFByb2R1Y3RzU2VydmljZS5Qcm9kdWN0Vmlld01vZGVsLmJjYlByb2R1Y3RWaWV3TW9kZWxzXCIgY2xhc3M9XCJ0YWJsZS1yb3dcIiBbbmdDbGFzc109XCJ7J3NlbGVjdGVkJyA6IFByb2R1Y3RzU2VydmljZS5CQ0JQcm9kdWN0Vmlld01vZGVsID09IGJjYnByb2R1Y3QsICd3YXJuaW5nJzogIWJjYnByb2R1Y3QuaW1wb3J0ZWQgfHwgIWJjYnByb2R1Y3QuY29ubmVjdGVkfVwiIChjbGljayk9XCJTZWxlY3RCQ0JQcm9kdWN0KGJjYnByb2R1Y3QpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwiaW1wb3J0c3BhblwiPnt7IGJjYnByb2R1Y3QuaW1wb3J0U3RhdHVzIH19PC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPnt7IGJjYnByb2R1Y3QuaWQgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiM1wiPnt7IGJjYnByb2R1Y3QubmFtZSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+Jm5ic3A7PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgIDwvbWF0LWNhcmQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibGltaXRlclwiPlxyXG4gICAgICAgIDxhcHAtYmVoZWVyLXByb2R1Y3RzLXByb2R1Y3QgKm5nSWY9XCJQcm9kdWN0c1NlcnZpY2UuUHJvZHVjdFZpZXdNb2RlbCAhPSB1bmRlZmluZWQgJiYgUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWwgPT0gdW5kZWZpbmVkXCIgW1Byb2R1Y3RWaWV3TW9kZWxdPVwiUHJvZHVjdHNTZXJ2aWNlLlByb2R1Y3RWaWV3TW9kZWxcIj48L2FwcC1iZWhlZXItcHJvZHVjdHMtcHJvZHVjdD5cclxuICAgICAgICA8YXBwLWJlaGVlci1wcm9kdWN0cy1iY2Jwcm9kdWN0ICpuZ0lmPVwiUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWwgIT0gdW5kZWZpbmVkXCIgW0JDQlByb2R1Y3RWaWV3TW9kZWxdPVwiUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWxcIj48L2FwcC1iZWhlZXItcHJvZHVjdHMtYmNicHJvZHVjdD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG4iXX0=
@@ -69,12 +69,7 @@ class BeheerRangeinputComponent {
69
69
  this.FiltersApiClient.saveRangeInputViewModel(this.rangeinput).subscribe(() => {
70
70
  this.reload.emit();
71
71
  }, (error) => {
72
- if (error.status == 400)
73
- console.log(error.json());
74
- else {
75
- console.log('An unexpected error occured');
76
- console.log(error);
77
- }
72
+ alert('An unexpected error occured');
78
73
  });
79
74
  }
80
75
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BeheerRangeinputComponent, deps: [{ token: i1.FiltersApiClient }, { token: i2.MatLegacyDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
@@ -89,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
89
84
  }], reload: [{
90
85
  type: Output
91
86
  }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXJhbmdlaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcmFuZ2VpbnB1dC9iZWhlZXItcmFuZ2VpbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1yYW5nZWlucHV0L2JlaGVlci1yYW5nZWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFGLE9BQU8sRUFBa0YsOEJBQThCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoSyxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxrRkFBa0YsQ0FBQzs7Ozs7Ozs7O0FBRTNJLE1BS2EseUJBQXlCO0lBS2hCO0lBQ1g7SUFDQztJQU5ELFVBQVUsQ0FBc0I7SUFFL0IsTUFBTSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBRWhFLFlBQW9CLGdCQUFrQyxFQUM3QyxNQUFpQixFQUNoQixpQkFBb0M7UUFGMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUM3QyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFBSSxDQUFDO0lBRTVDLDZCQUE2QjtRQUNsQyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBRTFFLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFXLEVBQUUs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QUMsQ0FBQzthQUNwQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0E1RVUseUJBQXlCOzJGQUF6Qix5QkFBeUIsa0lDVnRDLHUvQkF3QkE7O1NEZGEseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsdUJBQXVCO3FLQUt4QixVQUFVO3NCQUFsQixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0TGVnYWN5RGlhbG9nIGFzIE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnO1xyXG5pbXBvcnQgeyBGaWx0ZXJzQXBpQ2xpZW50LCBSYW5nZUlucHV0RmlsdGVyT3B0aW9uUmVxdWlyZWRWaWV3TW9kZWwsIFJhbmdlSW5wdXRWaWV3TW9kZWwsIFNldEZpbHRlck9wdGlvblJlcXVpcmVkUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcbmltcG9ydCB7IEJlaGVlclNlbGVjdEZpbHRlcm9wdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2JlaGVlci1zZWxlY3QtZmlsdGVyb3B0aW9uLWRpYWxvZy9iZWhlZXItc2VsZWN0LWZpbHRlcm9wdGlvbi1kaWFsb2cuY29tcG9uZW50JztcclxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYmVoZWVyLXJhbmdlaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmVoZWVyLXJhbmdlaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItcmFuZ2VpbnB1dC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJlaGVlclJhbmdlaW5wdXRDb21wb25lbnQge1xuICBASW5wdXQoKSByYW5nZWlucHV0OiBSYW5nZUlucHV0Vmlld01vZGVsO1xuXG4gIEBPdXRwdXQoKSByZWxvYWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIEZpbHRlcnNBcGlDbGllbnQ6IEZpbHRlcnNBcGlDbGllbnQsXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSBDaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIHB1YmxpYyBSZXF1aXJlUmFuZ2VJbnB1dEZpbHRlck9wdGlvbigpOiB2b2lkIHtcbiAgICB2YXIgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihCZWhlZXJTZWxlY3RGaWx0ZXJvcHRpb25EaWFsb2dDb21wb25lbnQpO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlc3VsdD8uZmlsdGVyb3B0aW9uICE9IG51bGwgJiYgdGhpcy5yYW5nZWlucHV0KSB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5maWx0ZXJvcHRpb24gPiAwKSB7XHJcbiAgICAgICAgICBpZiAoY29uZmlybShcIldlZXQgamUgaGV0IHpla2VyP1wiKSkge1xyXG5cclxuICAgICAgICAgICAgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBTZXRGaWx0ZXJPcHRpb25SZXF1aXJlZFJlcXVlc3QoKTtcclxuXHJcbiAgICAgICAgICAgIHJlcXVlc3QuZmlsdGVySWQgPSAwO1xyXG4gICAgICAgICAgICByZXF1ZXN0LnJhbmdlSW5wdXRJZCA9IHRoaXMucmFuZ2VpbnB1dC5pZDtcclxuICAgICAgICAgICAgcmVxdWVzdC5maWx0ZXJPcHRpb25JZCA9IHJlc3VsdC5maWx0ZXJvcHRpb247XHJcblxyXG4gICAgICAgICAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuc2V0RmlsdGVyT3B0aW9uUmVxdWlyZWQocmVxdWVzdCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xuICAgICAgICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xuICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cblxuICBwdWJsaWMgUmVtb3ZlUmVxdWlyZVJhbmdlSW5wdXRGaWx0ZXJPcHRpb24ocmVxdWlyZTogUmFuZ2VJbnB1dEZpbHRlck9wdGlvblJlcXVpcmVkVmlld01vZGVsKTogdm9pZCB7XG4gICAgaWYgKGNvbmZpcm0oXCJXZWV0IGplIGhldCB6ZWtlcj9cIikpIHtcclxuXHJcbiAgICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgU2V0RmlsdGVyT3B0aW9uUmVxdWlyZWRSZXF1ZXN0KCk7XHJcblxyXG4gICAgICByZXF1ZXN0LmZpbHRlcklkID0gMDtcclxuICAgICAgcmVxdWVzdC5yYW5nZUlucHV0SWQgPSByZXF1aXJlLmFmZmVjdGVkUmFuZ2VJbnB1dElkO1xyXG4gICAgICByZXF1ZXN0LmZpbHRlck9wdGlvbklkID0gcmVxdWlyZS5yZXF1aXJlZEZpbHRlck9wdGlvbklkO1xyXG5cclxuICAgICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnJlbW92ZUZpbHRlck9wdGlvblJlcXVpcmVkKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVsb2FkLmVtaXQoKTtcbiAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxuXG4gIHB1YmxpYyBTYXZlKCk6IHZvaWQge1xuICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5zYXZlUmFuZ2VJbnB1dFZpZXdNb2RlbCh0aGlzLnJhbmdlaW5wdXQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlbG9hZC5lbWl0KCk7XG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XG4gICAgICBlbHNlIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XG4gICAgICB9XG4gICAgfSk7XHJcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZpbHRlci1uYW1lXCI+XHJcbiAgPGRpdiBjbGFzcz1cImZsZXhhdXRvXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgPG1hdC1sYWJlbD5OYW1lPC9tYXQtbGFiZWw+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cInJhbmdlaW5wdXQubmFtZVwiPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwic2F2ZS1kaXZcIj5cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlNhdmUoKVwiPlNhdmU8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXY+XHJcbiAgPGRpdiBjbGFzcz1cImZpbHRlci1uYW1lXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleGF1dG9cIj5cclxuICAgICAgUmVxdWlyZXNcclxuICAgIDwvZGl2PlxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVxdWlyZVJhbmdlSW5wdXRGaWx0ZXJPcHRpb24oKVwiPkZpbHRlck9wdGlvbjwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2ICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcmFuZ2VpbnB1dC5yZXF1aXJlc1JhbmdlSW5wdXRGaWx0ZXJPcHRpb25zXCIgY2xhc3M9XCJyZXF1aXJlZC1vcHRpb25cIiBbbmdDbGFzc109XCJ7ICdBTkQnOiBvcHRpb24uZmlsdGVyT3B0aW9uUmVxdWlyZWRUeXBlID09IDAsICdPUic6IG9wdGlvbi5maWx0ZXJPcHRpb25SZXF1aXJlZFR5cGUgPT0gMSB9XCI+XHJcbiAgICB7eyBvcHRpb24ucmVxdWlyZWRGaWx0ZXJOYW1lIH19OiB7eyBvcHRpb24ucmVxdWlyZWRGaWx0ZXJPcHRpb25OYW1lIH19XHJcbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJSZW1vdmVSZXF1aXJlUmFuZ2VJbnB1dEZpbHRlck9wdGlvbihvcHRpb24pXCI+UmVtb3ZlPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXJhbmdlaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcmFuZ2VpbnB1dC9iZWhlZXItcmFuZ2VpbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1yYW5nZWlucHV0L2JlaGVlci1yYW5nZWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFGLE9BQU8sRUFBa0YsOEJBQThCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoSyxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxrRkFBa0YsQ0FBQzs7Ozs7Ozs7O0FBRTNJLE1BS2EseUJBQXlCO0lBS2hCO0lBQ1g7SUFDQztJQU5ELFVBQVUsQ0FBc0I7SUFFL0IsTUFBTSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBRWhFLFlBQW9CLGdCQUFrQyxFQUM3QyxNQUFpQixFQUNoQixpQkFBb0M7UUFGMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUM3QyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFBSSxDQUFDO0lBRTVDLDZCQUE2QjtRQUNsQyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBRTFFLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFXLEVBQUUs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LEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeURpYWxvZyBhcyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktZGlhbG9nJztcclxuaW1wb3J0IHsgRmlsdGVyc0FwaUNsaWVudCwgUmFuZ2VJbnB1dEZpbHRlck9wdGlvblJlcXVpcmVkVmlld01vZGVsLCBSYW5nZUlucHV0Vmlld01vZGVsLCBTZXRGaWx0ZXJPcHRpb25SZXF1aXJlZFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJTZWxlY3RGaWx0ZXJvcHRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9iZWhlZXItc2VsZWN0LWZpbHRlcm9wdGlvbi1kaWFsb2cvYmVoZWVyLXNlbGVjdC1maWx0ZXJvcHRpb24tZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItcmFuZ2VpbnB1dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1yYW5nZWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItcmFuZ2VpbnB1dC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCZWhlZXJSYW5nZWlucHV0Q29tcG9uZW50IHtcclxuICBASW5wdXQoKSByYW5nZWlucHV0OiBSYW5nZUlucHV0Vmlld01vZGVsO1xyXG5cclxuICBAT3V0cHV0KCkgcmVsb2FkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgRmlsdGVyc0FwaUNsaWVudDogRmlsdGVyc0FwaUNsaWVudCxcclxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgQ2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cclxuXHJcbiAgcHVibGljIFJlcXVpcmVSYW5nZUlucHV0RmlsdGVyT3B0aW9uKCk6IHZvaWQge1xyXG4gICAgdmFyIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQmVoZWVyU2VsZWN0RmlsdGVyb3B0aW9uRGlhbG9nQ29tcG9uZW50KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQ/LmZpbHRlcm9wdGlvbiAhPSBudWxsICYmIHRoaXMucmFuZ2VpbnB1dCkge1xyXG4gICAgICAgIGlmIChyZXN1bHQuZmlsdGVyb3B0aW9uID4gMCkge1xyXG4gICAgICAgICAgaWYgKGNvbmZpcm0oXCJXZWV0IGplIGhldCB6ZWtlcj9cIikpIHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgU2V0RmlsdGVyT3B0aW9uUmVxdWlyZWRSZXF1ZXN0KCk7XHJcblxyXG4gICAgICAgICAgICByZXF1ZXN0LmZpbHRlcklkID0gMDtcclxuICAgICAgICAgICAgcmVxdWVzdC5yYW5nZUlucHV0SWQgPSB0aGlzLnJhbmdlaW5wdXQuaWQ7XHJcbiAgICAgICAgICAgIHJlcXVlc3QuZmlsdGVyT3B0aW9uSWQgPSByZXN1bHQuZmlsdGVyb3B0aW9uO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnNldEZpbHRlck9wdGlvblJlcXVpcmVkKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xyXG4gICAgICAgICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBSZW1vdmVSZXF1aXJlUmFuZ2VJbnB1dEZpbHRlck9wdGlvbihyZXF1aXJlOiBSYW5nZUlucHV0RmlsdGVyT3B0aW9uUmVxdWlyZWRWaWV3TW9kZWwpOiB2b2lkIHtcclxuICAgIGlmIChjb25maXJtKFwiV2VldCBqZSBoZXQgemVrZXI/XCIpKSB7XHJcblxyXG4gICAgICB0aGlzLkNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICAgIHZhciByZXF1ZXN0ID0gbmV3IFNldEZpbHRlck9wdGlvblJlcXVpcmVkUmVxdWVzdCgpO1xyXG5cclxuICAgICAgcmVxdWVzdC5maWx0ZXJJZCA9IDA7XHJcbiAgICAgIHJlcXVlc3QucmFuZ2VJbnB1dElkID0gcmVxdWlyZS5hZmZlY3RlZFJhbmdlSW5wdXRJZDtcclxuICAgICAgcmVxdWVzdC5maWx0ZXJPcHRpb25JZCA9IHJlcXVpcmUucmVxdWlyZWRGaWx0ZXJPcHRpb25JZDtcclxuXHJcbiAgICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5yZW1vdmVGaWx0ZXJPcHRpb25SZXF1aXJlZChyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVsb2FkLmVtaXQoKTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIFNhdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuc2F2ZVJhbmdlSW5wdXRWaWV3TW9kZWwodGhpcy5yYW5nZWlucHV0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnJlbG9hZC5lbWl0KCk7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICBhbGVydCgnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZpbHRlci1uYW1lXCI+XHJcbiAgPGRpdiBjbGFzcz1cImZsZXhhdXRvXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgPG1hdC1sYWJlbD5OYW1lPC9tYXQtbGFiZWw+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cInJhbmdlaW5wdXQubmFtZVwiPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwic2F2ZS1kaXZcIj5cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlNhdmUoKVwiPlNhdmU8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXY+XHJcbiAgPGRpdiBjbGFzcz1cImZpbHRlci1uYW1lXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleGF1dG9cIj5cclxuICAgICAgUmVxdWlyZXNcclxuICAgIDwvZGl2PlxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVxdWlyZVJhbmdlSW5wdXRGaWx0ZXJPcHRpb24oKVwiPkZpbHRlck9wdGlvbjwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2ICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcmFuZ2VpbnB1dC5yZXF1aXJlc1JhbmdlSW5wdXRGaWx0ZXJPcHRpb25zXCIgY2xhc3M9XCJyZXF1aXJlZC1vcHRpb25cIiBbbmdDbGFzc109XCJ7ICdBTkQnOiBvcHRpb24uZmlsdGVyT3B0aW9uUmVxdWlyZWRUeXBlID09IDAsICdPUic6IG9wdGlvbi5maWx0ZXJPcHRpb25SZXF1aXJlZFR5cGUgPT0gMSB9XCI+XHJcbiAgICB7eyBvcHRpb24ucmVxdWlyZWRGaWx0ZXJOYW1lIH19OiB7eyBvcHRpb24ucmVxdWlyZWRGaWx0ZXJPcHRpb25OYW1lIH19XHJcbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJSZW1vdmVSZXF1aXJlUmFuZ2VJbnB1dEZpbHRlck9wdGlvbihvcHRpb24pXCI+UmVtb3ZlPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -42,12 +42,7 @@ class BeheerSearchproductsKoppelDialogComponent {
42
42
  this.Loading = false;
43
43
  this.dialogRef.close(model.productId);
44
44
  }, (error) => {
45
- if (error.status == 400)
46
- console.log(error.json());
47
- else {
48
- console.log('An unexpected error occured');
49
- console.log(error);
50
- }
45
+ alert('An unexpected error occured');
51
46
  this.Loading = false;
52
47
  });
53
48
  }
@@ -72,12 +67,7 @@ class BeheerSearchproductsKoppelDialogComponent {
72
67
  }
73
68
  this.Loading = false;
74
69
  }, (error) => {
75
- if (error.status == 400)
76
- console.log(error.json());
77
- else {
78
- console.log('An unexpected error occured');
79
- console.log(error);
80
- }
70
+ alert('An unexpected error occured');
81
71
  this.Loading = false;
82
72
  });
83
73
  }
@@ -92,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
92
82
  type: Inject,
93
83
  args: [MAT_DIALOG_DATA]
94
84
  }] }]; } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXNlYXJjaHByb2R1Y3RzLWtvcHBlbC1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItc2VhcmNocHJvZHVjdHMvYmVoZWVyLXNlYXJjaHByb2R1Y3RzLWtvcHBlbC1kaWFsb2cvYmVoZWVyLXNlYXJjaHByb2R1Y3RzLWtvcHBlbC1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItc2VhcmNocHJvZHVjdHMvYmVoZWVyLXNlYXJjaHByb2R1Y3RzLWtvcHBlbC1kaWFsb2cvYmVoZWVyLXNlYXJjaHByb2R1Y3RzLWtvcHBlbC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFzQyxzQkFBc0IsSUFBSSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoSSxPQUFPLEVBQTJCLHNCQUFzQixFQUF3QixNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7Ozs7O0FBRTFILE1BS2EseUNBQXlDO0lBT2pDO0lBQTRFO0lBQWtGO0lBTjFLLE9BQU8sR0FBWSxLQUFLLENBQUM7SUFDekIsU0FBUyxHQUFXLEVBQUUsQ0FBQztJQUN2QixVQUFVLENBQWdCO0lBQzFCLG9CQUFvQixDQUF1QjtJQUMzQyxlQUFlLEdBQVcsQ0FBQyxDQUFDLENBQUM7SUFFcEMsWUFBbUIsU0FBa0UsRUFBVSx1QkFBZ0QsRUFBa0MsSUFBUztRQUF2SyxjQUFTLEdBQVQsU0FBUyxDQUF5RDtRQUFVLDRCQUF1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QywrRUNUdEQsZ29EQTZDQTs7U0RwQ2EseUNBQXlDOzJGQUF6Qyx5Q0FBeUM7a0JBTHJELFNBQVM7K0JBQ0UseUNBQXlDOzswQkFXK0YsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2dSZWYgYXMgTWF0RGlhbG9nUmVmLCBNQVRfTEVHQUNZX0RJQUxPR19EQVRBIGFzIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnO1xyXG5pbXBvcnQgeyBTZWFyY2hQcm9kdWN0c0FwaUNsaWVudCwgTmV3UHJvZHVjdFJlcXVlc3RNb2RlbCwgR2V0UHJvZHVjdHNWaWV3TW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYmVoZWVyLXNlYXJjaHByb2R1Y3RzLWtvcHBlbC1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItc2VhcmNocHJvZHVjdHMta29wcGVsLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYmVoZWVyLXNlYXJjaHByb2R1Y3RzLWtvcHBlbC1kaWFsb2cuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmVoZWVyU2VhcmNocHJvZHVjdHNLb3BwZWxEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyBMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIE5hYW1OaWV1dzogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgU3VnZ2VzdGlvbjogQXJyYXk8c3RyaW5nPjtcclxuICBwdWJsaWMgR2V0UHJvZHVjdHNWaWV3TW9kZWw6IEdldFByb2R1Y3RzVmlld01vZGVsO1xyXG4gIHB1YmxpYyBQcm9kdWN0U2VsZWN0ZWQ6IG51bWJlciA9IC0xO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QmVoZWVyU2VhcmNocHJvZHVjdHNLb3BwZWxEaWFsb2dDb21wb25lbnQ+LCBwcml2YXRlIFNlYXJjaFByb2R1Y3RzQXBpQ2xpZW50OiBTZWFyY2hQcm9kdWN0c0FwaUNsaWVudCwgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuU3VnZ2VzdGlvbiA9IGRhdGEuc3VnZ2VzdGlvbjtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5Mb2FkUHJvZHVjdHMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBCZXN0YWFuZFRvZXZvZWdlbigpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuUHJvZHVjdFNlbGVjdGVkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBOaWV1d1RvZXZvZWdlbigpOiB2b2lkIHtcclxuICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgdmFyIG1vZGVsOiBOZXdQcm9kdWN0UmVxdWVzdE1vZGVsID0gbmV3IE5ld1Byb2R1Y3RSZXF1ZXN0TW9kZWwoKTtcclxuXHJcbiAgICBtb2RlbC5wcm9kdWN0TmFtZSA9IHRoaXMuTmFhbU5pZXV3O1xyXG5cclxuICAgIHRoaXMuU2VhcmNoUHJvZHVjdHNBcGlDbGllbnQuYWRkTmV3UHJvZHVjdChtb2RlbCkuc3Vic2NyaWJlKG1vZGVsID0+IHtcclxuICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShtb2RlbC5wcm9kdWN0SWQpO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIExvc0tlbm1lcmsoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgtMik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlS2V5VXAoZTogYW55KSB7XHJcbiAgICBpZiAoZS5rZXlDb2RlID09PSAxMykge1xyXG4gICAgICB0aGlzLk5pZXV3VG9ldm9lZ2VuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIExvYWRQcm9kdWN0cygpOiB2b2lkIHtcclxuICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5TZWFyY2hQcm9kdWN0c0FwaUNsaWVudC5nZXRQcm9kdWN0c1ZpZXdNb2RlbCgpLnN1YnNjcmliZShtb2RlbCA9PiB7XHJcbiAgICAgIHRoaXMuR2V0UHJvZHVjdHNWaWV3TW9kZWwgPSBtb2RlbDtcclxuXHJcbiAgICAgIHZhciBhcnJheSA9IHRoaXMuR2V0UHJvZHVjdHNWaWV3TW9kZWw/LnByb2R1Y3RWaWV3TW9kZWxzO1xyXG5cclxuICAgICAgaWYgKGFycmF5ICE9IG51bGwgJiYgYXJyYXkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHZhciBpZCA9IGFycmF5WzBdLmlkO1xyXG4gICAgICAgIGlmIChpZCAhPSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLlByb2R1Y3RTZWxlY3RlZCA9IGlkO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJMb2FkaW5nXCI+XHJcbiAgPGFwcC1mYWItbG9hZGVyPjwvYXBwLWZhYi1sb2FkZXI+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cIiFMb2FkaW5nXCI+XHJcbiAgPG1hdC10YWItZ3JvdXA+XHJcbiAgICA8bWF0LXRhYiBsYWJlbD1cIk5pZXV3XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXJcIiAqbmdJZj1cIlN1Z2dlc3Rpb24ubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgIDxidXR0b24gKm5nRm9yPVwibGV0IHN1Z2cgb2YgU3VnZ2VzdGlvblwiIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJOYWFtTmlldXcgPSBzdWdnO1wiPnt7IHN1Z2cgfX08L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXJcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+TmFhbTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IChrZXl1cCk9XCJoYW5kbGVLZXlVcCgkZXZlbnQpXCIgWyhuZ01vZGVsKV09XCJOYWFtTmlldXdcIj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXIgdG9vbC1iYXJcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJOaWV1d1RvZXZvZWdlbigpXCI+VG9ldm9lZ2VuPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtdGFiPlxyXG4gICAgPG1hdC10YWIgbGFiZWw9XCJCZXN0YWFuZFwiPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhclwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5Qcm9kdWN0PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIlByb2R1Y3RTZWxlY3RlZFwiPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgcHJvZHVjdCBvZiBHZXRQcm9kdWN0c1ZpZXdNb2RlbC5wcm9kdWN0Vmlld01vZGVsc1wiIFt2YWx1ZV09XCJwcm9kdWN0LmlkXCI+XHJcbiAgICAgICAgICAgICAge3twcm9kdWN0Lm5hbWV9fVxyXG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyIHRvb2wtYmFyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQmVzdGFhbmRUb2V2b2VnZW4oKVwiPlRvZXZvZWdlbjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LXRhYj5cclxuICAgIDxtYXQtdGFiIGxhYmVsPVwiTG9zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXIgdG9vbC1iYXJcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJMb3NLZW5tZXJrKClcIj5LZW5tZXJrPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtdGFiPlxyXG4gIDwvbWF0LXRhYi1ncm91cD5cclxuPC9kaXY+XHJcbiJdfQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXNlYXJjaHByb2R1Y3RzLWtvcHBlbC1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItc2VhcmNocHJvZHVjdHMvYmVoZWVyLXNlYXJjaHByb2R1Y3RzLWtvcHBlbC1kaWFsb2cvYmVoZWVyLXNlYXJjaHByb2R1Y3RzLWtvcHBlbC1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItc2VhcmNocHJvZHVjdHMvYmVoZWVyLXNlYXJjaHByb2R1Y3RzLWtvcHBlbC1kaWFsb2cvYmVoZWVyLXNlYXJjaHByb2R1Y3RzLWtvcHBlbC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFzQyxzQkFBc0IsSUFBSSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoSSxPQUFPLEVBQTJCLHNCQUFzQixFQUF3QixNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7Ozs7O0FBRTFILE1BS2EseUNBQXlDO0lBT2pDO0lBQTRFO0lBQWtGO0lBTjFLLE9BQU8sR0FBWSxLQUFLLENBQUM7SUFDekIsU0FBUyxHQUFXLEVBQUUsQ0FBQztJQUN2QixVQUFVLENBQWdCO0lBQzFCLG9CQUFvQixDQUF1QjtJQUMzQyxlQUFlLEdBQVcsQ0FBQyxDQUFDLENBQUM7SUFFcEMsWUFBbUIsU0FBa0UsRUFBVSx1QkFBZ0QsRUFBa0MsSUFBUztRQUF2SyxjQUFTLEdBQVQsU0FBUyxDQUF5RDtRQUFVLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFBa0MsU0FBSSxHQUFKLElBQUksQ0FBSztRQUN4TCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDcEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFFcEIsSUFBSSxLQUFLLEdBQTJCLElBQUksc0JBQXNCLEVBQUUsQ0FBQztRQUVqRSxLQUFLLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFFbkMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFFckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsRUFBRSxDQUFDLEtBQWUsRUFBRSxFQUFFO1lBQ3BCLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1lBRXRDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFTSxXQUFXLENBQUMsQ0FBTTtRQUN2QixJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFTyxZQUFZO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBRXBCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO1lBRWxDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQztZQUV6RCxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3JDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLElBQUksRUFBRSxJQUFJLElBQUksRUFBRTtvQkFDZCxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztpQkFDM0I7YUFDRjtZQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsRUFBRSxDQUFDLEtBQWUsRUFBRSxFQUFFO1lBQ3BCLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1lBRXRDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0FwRVUseUNBQXlDLDJGQU9xRyxlQUFlOzJGQVA3Six5Q0FBeUMsK0VDVHRELGdvREE2Q0E7O1NEcENhLHlDQUF5QzsyRkFBekMseUNBQXlDO2tCQUxyRCxTQUFTOytCQUNFLHlDQUF5Qzs7MEJBVytGLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0TGVnYWN5RGlhbG9nUmVmIGFzIE1hdERpYWxvZ1JlZiwgTUFUX0xFR0FDWV9ESUFMT0dfREFUQSBhcyBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktZGlhbG9nJztcclxuaW1wb3J0IHsgU2VhcmNoUHJvZHVjdHNBcGlDbGllbnQsIE5ld1Byb2R1Y3RSZXF1ZXN0TW9kZWwsIEdldFByb2R1Y3RzVmlld01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1zZWFyY2hwcm9kdWN0cy1rb3BwZWwtZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmVoZWVyLXNlYXJjaHByb2R1Y3RzLWtvcHBlbC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1zZWFyY2hwcm9kdWN0cy1rb3BwZWwtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGVlclNlYXJjaHByb2R1Y3RzS29wcGVsRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBOYWFtTmlldXc6IHN0cmluZyA9IFwiXCI7XHJcbiAgcHVibGljIFN1Z2dlc3Rpb246IEFycmF5PHN0cmluZz47XHJcbiAgcHVibGljIEdldFByb2R1Y3RzVmlld01vZGVsOiBHZXRQcm9kdWN0c1ZpZXdNb2RlbDtcclxuICBwdWJsaWMgUHJvZHVjdFNlbGVjdGVkOiBudW1iZXIgPSAtMTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEJlaGVlclNlYXJjaHByb2R1Y3RzS29wcGVsRGlhbG9nQ29tcG9uZW50PiwgcHJpdmF0ZSBTZWFyY2hQcm9kdWN0c0FwaUNsaWVudDogU2VhcmNoUHJvZHVjdHNBcGlDbGllbnQsIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55KSB7XHJcbiAgICB0aGlzLlN1Z2dlc3Rpb24gPSBkYXRhLnN1Z2dlc3Rpb247XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuTG9hZFByb2R1Y3RzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgQmVzdGFhbmRUb2V2b2VnZW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0aGlzLlByb2R1Y3RTZWxlY3RlZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTmlldXdUb2V2b2VnZW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgIHZhciBtb2RlbDogTmV3UHJvZHVjdFJlcXVlc3RNb2RlbCA9IG5ldyBOZXdQcm9kdWN0UmVxdWVzdE1vZGVsKCk7XHJcblxyXG4gICAgbW9kZWwucHJvZHVjdE5hbWUgPSB0aGlzLk5hYW1OaWV1dztcclxuXHJcbiAgICB0aGlzLlNlYXJjaFByb2R1Y3RzQXBpQ2xpZW50LmFkZE5ld1Byb2R1Y3QobW9kZWwpLnN1YnNjcmliZShtb2RlbCA9PiB7XHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UobW9kZWwucHJvZHVjdElkKTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgIGFsZXJ0KCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuXHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTG9zS2VubWVyaygpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKC0yKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVLZXlVcChlOiBhbnkpIHtcclxuICAgIGlmIChlLmtleUNvZGUgPT09IDEzKSB7XHJcbiAgICAgIHRoaXMuTmlldXdUb2V2b2VnZW4oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgTG9hZFByb2R1Y3RzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLlNlYXJjaFByb2R1Y3RzQXBpQ2xpZW50LmdldFByb2R1Y3RzVmlld01vZGVsKCkuc3Vic2NyaWJlKG1vZGVsID0+IHtcclxuICAgICAgdGhpcy5HZXRQcm9kdWN0c1ZpZXdNb2RlbCA9IG1vZGVsO1xyXG5cclxuICAgICAgdmFyIGFycmF5ID0gdGhpcy5HZXRQcm9kdWN0c1ZpZXdNb2RlbD8ucHJvZHVjdFZpZXdNb2RlbHM7XHJcblxyXG4gICAgICBpZiAoYXJyYXkgIT0gbnVsbCAmJiBhcnJheS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdmFyIGlkID0gYXJyYXlbMF0uaWQ7XHJcbiAgICAgICAgaWYgKGlkICE9IG51bGwpIHtcclxuICAgICAgICAgIHRoaXMuUHJvZHVjdFNlbGVjdGVkID0gaWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgIGFsZXJ0KCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuXHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJMb2FkaW5nXCI+XHJcbiAgPGFwcC1mYWItbG9hZGVyPjwvYXBwLWZhYi1sb2FkZXI+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cIiFMb2FkaW5nXCI+XHJcbiAgPG1hdC10YWItZ3JvdXA+XHJcbiAgICA8bWF0LXRhYiBsYWJlbD1cIk5pZXV3XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXJcIiAqbmdJZj1cIlN1Z2dlc3Rpb24ubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgIDxidXR0b24gKm5nRm9yPVwibGV0IHN1Z2cgb2YgU3VnZ2VzdGlvblwiIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJOYWFtTmlldXcgPSBzdWdnO1wiPnt7IHN1Z2cgfX08L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXJcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+TmFhbTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IChrZXl1cCk9XCJoYW5kbGVLZXlVcCgkZXZlbnQpXCIgWyhuZ01vZGVsKV09XCJOYWFtTmlldXdcIj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXIgdG9vbC1iYXJcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJOaWV1d1RvZXZvZWdlbigpXCI+VG9ldm9lZ2VuPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtdGFiPlxyXG4gICAgPG1hdC10YWIgbGFiZWw9XCJCZXN0YWFuZFwiPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhclwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5Qcm9kdWN0PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIlByb2R1Y3RTZWxlY3RlZFwiPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgcHJvZHVjdCBvZiBHZXRQcm9kdWN0c1ZpZXdNb2RlbC5wcm9kdWN0Vmlld01vZGVsc1wiIFt2YWx1ZV09XCJwcm9kdWN0LmlkXCI+XHJcbiAgICAgICAgICAgICAge3twcm9kdWN0Lm5hbWV9fVxyXG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyIHRvb2wtYmFyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQmVzdGFhbmRUb2V2b2VnZW4oKVwiPlRvZXZvZWdlbjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LXRhYj5cclxuICAgIDxtYXQtdGFiIGxhYmVsPVwiTG9zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXIgdG9vbC1iYXJcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJMb3NLZW5tZXJrKClcIj5LZW5tZXJrPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtdGFiPlxyXG4gIDwvbWF0LXRhYi1ncm91cD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -135,12 +135,7 @@ class BeheerSearchProductsComponent {
135
135
  this.Loading = false;
136
136
  this.UpdateSnackBar();
137
137
  }, (error) => {
138
- if (error.status == 400)
139
- console.log(error.json());
140
- else {
141
- console.log('An unexpected error occured');
142
- console.log(error);
143
- }
138
+ alert('An unexpected error occured');
144
139
  this.Loading = false;
145
140
  this.UpdateSnackBar();
146
141
  });
@@ -301,4 +296,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
301
296
  type: Component,
302
297
  args: [{ selector: 'app-beheer-searchproducts', encapsulation: ViewEncapsulation.None, template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div class=\"main-window\">\r\n <div>\r\n <mat-card>\r\n <div class=\"main-block-search\">\r\n <div class=\"block\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Zoekterm</mat-label>\r\n <input matInput placeholder=\"bv. Merk Serie\" (keyup)=\"handleKeyUp($event)\" [(ngModel)]=\"ZoekTerm\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"zoeken-block\">\r\n <button mat-raised-button (click)=\"Zoek()\" [disabled]=\"Loading\">Zoeken</button>\r\n </div>\r\n </div>\r\n </mat-card>\r\n\r\n <div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n </div>\r\n\r\n <div *ngIf=\"!Loading\" class=\"resultblock\">\r\n <mat-card>\r\n <mat-card-content>\r\n <table class=\"ebo-table\">\r\n <tr>\r\n <td>\r\n <button mat-raised-button (click)=\"SelectAll()\" class=\"selectall\">V</button>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>BOT</mat-label>\r\n <input matInput [(ngModel)]=\"BOT\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO1Type</mat-label>\r\n <input matInput [(ngModel)]=\"DO1Type\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO1Naam</mat-label>\r\n <input matInput [(ngModel)]=\"DO1Naam\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO2Type</mat-label>\r\n <input matInput [(ngModel)]=\"DO2Type\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO2Naam</mat-label>\r\n <input matInput [(ngModel)]=\"DO2Naam\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO3Type</mat-label>\r\n <input matInput [(ngModel)]=\"DO3Type\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO3Naam</mat-label>\r\n <input matInput [(ngModel)]=\"DO3Naam\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO4Type</mat-label>\r\n <input matInput [(ngModel)]=\"DO4Type\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO4Naam</mat-label>\r\n <input matInput [(ngModel)]=\"DO4Naam\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Kenmerk</mat-label>\r\n <input matInput [(ngModel)]=\"Kenmerk\">\r\n </mat-form-field>\r\n </td>\r\n </tr>\r\n <tr *ngFor=\"let ebo of GetEbos(false)\" class=\"table-row\" (click)=\"SelectRow(ebo)\">\r\n <td>\r\n <div *ngIf=\"ebo.inUseBy == ''\">\r\n <mat-checkbox class=\"row-check\" [(ngModel)]=\"ebo.selected\" [color]=\"Primary\" (change)=\"UpdateSnackBar()\"></mat-checkbox>\r\n </div>\r\n </td>\r\n <ng-container *ngFor=\"let do of ebo.dOs\">\r\n <td *ngIf=\"ShowCell(do.doType)\">{{ do.doType }}</td>\r\n <td>{{ do.doNaam }}</td>\r\n </ng-container>\r\n </tr>\r\n <tr *ngFor=\"let ebo of GetEbos(true)\" class=\"table-row\" (click)=\"SelectRow(ebo)\">\r\n <td>\r\n <div *ngIf=\"ebo.inUseBy == ''\">\r\n <mat-checkbox class=\"row-check\" [(ngModel)]=\"ebo.selected\" [color]=\"Primary\" (change)=\"UpdateSnackBar()\"></mat-checkbox>\r\n </div>\r\n </td>\r\n <ng-container *ngFor=\"let do of ebo.dOs\">\r\n <td *ngIf=\"ShowCell(do.doType)\">{{ do.doType }}</td>\r\n <td>{{ do.doNaam }}</td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["app-beheer-searchproducts .full-width{width:100%}app-beheer-searchproducts .block{flex:auto}app-beheer-searchproducts .selectall{height:50px;margin-bottom:20px}app-beheer-searchproducts .main-window{padding:5px}app-beheer-searchproducts .table-row:hover{background-color:#d3d3d3}app-beheer-searchproducts .ebo-table{width:100%}app-beheer-searchproducts .header-check{top:-9px;position:relative;left:-7px}app-beheer-searchproducts .row-check{position:relative;left:-7px}app-beheer-searchproducts .resultblock{margin:5px}app-beheer-searchproducts .main-block-search{display:flex}app-beheer-searchproducts .zoeken-block{padding-left:10px}app-beheer-searchproducts .selected{font-weight:700}app-beheer-searchproducts .table-row{cursor:pointer}app-beheer-searchproducts .table-row-selected{font-weight:700}app-beheer-searchproducts .mat-form-field-infix{width:auto!important}.mat-simple-snackbar-action{color:#fff!important}\n"] }]
303
298
  }], ctorParameters: function () { return [{ type: i1.MatLegacyDialog }, { type: i2.SearchProductsApiClient }, { type: i3.MatLegacySnackBar }]; } });
304
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXNlYXJjaHByb2R1Y3RzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXNlYXJjaHByb2R1Y3RzL2JlaGVlci1zZWFyY2hwcm9kdWN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1zZWFyY2hwcm9kdWN0cy9iZWhlZXItc2VhcmNocHJvZHVjdHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUlyRSxPQUFPLEVBQTJCLDBCQUEwQixFQUFtRCwwQkFBMEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWxMLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLHFGQUFxRixDQUFDOzs7Ozs7Ozs7Ozs7OztBQUVoSixNQU1hLDZCQUE2QjtJQW9CckI7SUFBMkI7SUFBMEQ7SUFsQmpHLE9BQU8sR0FBWSxLQUFLLENBQUM7SUFDekIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixPQUFPLEdBQWlCLFNBQVMsQ0FBQztJQUNsQyxjQUFjLEdBQVksS0FBSyxDQUFDO0lBRWhDLEdBQUcsR0FBVyxFQUFFLENBQUM7SUFDakIsT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUNyQixPQUFPLEdBQVcsRUFBRSxDQUFDO0lBQ3JCLE9BQU8sR0FBVyxFQUFFLENBQUM7SUFDckIsT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUNyQixPQUFPLEdBQVcsRUFBRSxDQUFDO0lBQ3JCLE9BQU8sR0FBVyxFQUFFLENBQUM7SUFDckIsT0FBTyxHQUFXLEVBQUUsQ0FB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LElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7Z0JBQzVCLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRTtvQkFDMUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7d0JBQ3pDLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsSUFBSSxZQUFZLEVBQUU7NEJBQ3RELFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBZ0IsQ0FBQzt5QkFDM0M7d0JBRUQsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLFNBQVMsRUFBRTs0QkFDbkQsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBZ0IsQ0FBQyxDQUFDO3lCQUNsRDtxQkFDRjtpQkFDRjthQUNGO1NBQ0Y7UUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXRCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDckQsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM3QjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzt1R0ExVVUsNkJBQTZCOzJGQUE3Qiw2QkFBNkIsaUVDZDFDLGdoS0F1SEE7O1NEekdhLDZCQUE2QjsyRkFBN0IsNkJBQTZCO2tCQU56QyxTQUFTOytCQUNFLDJCQUEyQixpQkFHdEIsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lTbmFja0JhciBhcyBNYXRTbmFja0JhciwgTWF0TGVnYWN5U25hY2tCYXJDb25maWcgYXMgTWF0U25hY2tCYXJDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktc25hY2stYmFyJztcclxuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTZWFyY2hQcm9kdWN0c0FwaUNsaWVudCwgU2VhcmNoUHJvZHVjdHNSZXF1ZXN0TW9kZWwsIFNlYXJjaFByb2R1Y3RzUmVzcG9uc2VNb2RlbCwgV2l6YXJkRUJPVmlld01vZGVsLCBLb3BwZWxQcm9kdWN0c1JlcXVlc3RNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeURpYWxvZyBhcyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktZGlhbG9nJztcclxuaW1wb3J0IHsgQmVoZWVyU2VhcmNocHJvZHVjdHNLb3BwZWxEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci1zZWFyY2hwcm9kdWN0cy1rb3BwZWwtZGlhbG9nL2JlaGVlci1zZWFyY2hwcm9kdWN0cy1rb3BwZWwtZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItc2VhcmNocHJvZHVjdHMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItc2VhcmNocHJvZHVjdHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1zZWFyY2hwcm9kdWN0cy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGVlclNlYXJjaFByb2R1Y3RzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHVibGljIExvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgWm9la1Rlcm06IHN0cmluZyA9IFwiXCI7XHJcbiAgcHVibGljIFByaW1hcnk6IFRoZW1lUGFsZXR0ZSA9IFwicHJpbWFyeVwiO1xyXG4gIHB1YmxpYyBTZWxlY3RQcm9kdWN0czogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgQk9UOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBETzFUeXBlOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBETzFOYWFtOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBETzJUeXBlOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBETzJOYWFtOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBETzNUeXBlOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBETzNOYWFtOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBETzRUeXBlOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBETzROYWFtOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBLZW5tZXJrOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBwdWJsaWMgU2VhcmNoUHJvZHVjdHNSZXNwb25zZU1vZGVsOiBTZWFyY2hQcm9kdWN0c1Jlc3BvbnNlTW9kZWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZywgcHJpdmF0ZSBTZWFyY2hQcm9kdWN0c0FwaUNsaWVudDogU2VhcmNoUHJvZHVjdHNBcGlDbGllbnQsIHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0RWJvcyhpbnVzZTogYm9vbGVhbik6IEFycmF5PFdpemFyZEVCT1ZpZXdNb2RlbD4ge1xyXG4gICAgaWYgKHRoaXMuU2VhcmNoUHJvZHVjdHNSZXNwb25zZU1vZGVsICE9IG51bGwgJiYgdGhpcy5TZWFyY2hQcm9kdWN0c1Jlc3BvbnNlTW9kZWwuZWJvVmlld01vZGVscyAhPSBudWxsKSB7XHJcbiAgICAgIHZhciBsaXN0ID0gbmV3IEFycmF5PFdpemFyZEVCT1ZpZXdNb2RlbD4oKTtcclxuXHJcbiAgICAgIHZhciB0ZW1wID0gdGhpcy5TZWFyY2hQcm9kdWN0c1Jlc3BvbnNlTW9kZWwuZWJvVmlld01vZGVscyBhcyBBcnJheTxXaXphcmRFQk9WaWV3TW9kZWw+O1xyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuU2VhcmNoUHJvZHVjdHNSZXNwb25zZU1vZGVsLmVib1ZpZXdNb2RlbHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB2YXIgYWRkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgaWYgKGludXNlKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5TZWFyY2hQcm9kdWN0c1Jlc3BvbnNlTW9kZWwuZWJvVmlld01vZGVsc1tpXS5pblVzZUJ5ID09IFwiXCIpIHtcclxuICAgICAgICAgICAgYWRkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHRoaXMuU2VhcmNoUHJvZHVjdHNSZXNwb25zZU1vZGVsLmVib1ZpZXdNb2RlbHNbaV0uaW5Vc2VCeSAhPSBcIlwiKSB7XHJcbiAgICAgICAgICAgIGFkZCA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGFkZCkge1xyXG4gICAgICAgICAgdmFyIGFycmF5ID0gdGhpcy5TZWFyY2hQcm9kdWN0c1Jlc3BvbnNlTW9kZWwuZWJvVmlld01vZGVsc1tpXS5kT3M7XHJcblxyXG4gICAgICAgICAgaWYgKGFycmF5ICE9IG51bGwpIHtcclxuICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBhcnJheS5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICAgIHZhciBkb3R5cGUgPSBhcnJheVtqXS5kb1R5cGU/LnRvTG93ZXJDYXNlKCkgKyBcIlwiO1xyXG4gICAgICAgICAgICAgIHZhciBkb25hYW0gPSBhcnJheVtqXS5kb05hYW0/LnRvTG93ZXJDYXNlKCkgKyBcIlwiO1xyXG5cclxuICAgICAgICAgICAgICBpZiAoZG90eXBlID09ICdib3QnKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5CT1QgIT0gXCJcIiAmJiBkb25hYW0uaW5kZXhPZih0aGlzLkJPVC50b0xvd2VyQ2FzZSgpKSA9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICBhZGQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGVsc2UgaWYgKGRvdHlwZSA9PSAna2VubWVyaycpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLktlbm1lcmsgIT0gXCJcIiAmJiBkb25hYW0uaW5kZXhPZih0aGlzLktlbm1lcmsudG9Mb3dlckNhc2UoKSkgPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgYWRkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlIGlmIChqID09IDEpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLkRPMU5hYW0gIT0gXCJcIiAmJiBkb25hYW0uaW5kZXhPZih0aGlzLkRPMU5hYW0udG9Mb3dlckNhc2UoKSkgPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgYWRkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLkRPMVR5cGUgIT0gXCJcIiAmJiBkb3R5cGUuaW5kZXhPZih0aGlzLkRPMVR5cGUudG9Mb3dlckNhc2UoKSkgPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgYWRkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlIGlmIChqID09IDIpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLkRPMk5hYW0gIT0gXCJcIiAmJiBkb25hYW0uaW5kZXhPZih0aGlzLkRPMk5hYW0udG9Mb3dlckNhc2UoKSkgPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgYWRkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLkRPMlR5cGUgIT0gXCJcIiAmJiBkb3R5cGUuaW5kZXhPZih0aGlzLkRPMlR5cGUudG9Mb3dlckNhc2UoKSkgPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgYWRkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlIGlmIChqID09IDMpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLkRPM05hYW0gIT0gXCJcIiAmJiBkb25hYW0uaW5kZXhPZih0aGlzLkRPM05hYW0udG9Mb3dlckNhc2UoKSkgPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgYWRkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLkRPM1R5cGUgIT0gXCJcIiAmJiBkb3R5cGUuaW5kZXhPZih0aGlzLkRPM1R5cGUudG9Mb3dlckNhc2UoKSkgPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgYWRkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlIGlmIChqID09IDQpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLkRPNE5hYW0gIT0gXCJcIiAmJiBkb25hYW0uaW5kZXhPZih0aGlzLkRPNE5hYW0udG9Mb3dlckNhc2UoKSkgPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgYWRkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLkRPNFR5cGUgIT0gXCJcIiAmJiBkb3R5cGUuaW5kZXhPZih0aGlzLkRPNFR5cGUudG9Mb3dlckNhc2UoKSkgPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgYWRkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGFkZCkge1xyXG4gICAgICAgICAgbGlzdC5wdXNoKHRoaXMuU2VhcmNoUHJvZHVjdHNSZXNwb25zZU1vZGVsLmVib1ZpZXdNb2RlbHNbaV0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBsaXN0O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBuZXcgQXJyYXk8V2l6YXJkRUJPVmlld01vZGVsPigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFpvZWsoKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5TZWxlY3RQcm9kdWN0cyA9IGZhbHNlO1xyXG5cclxuICAgIHZhciBtb2RlbDogU2VhcmNoUHJvZHVjdHNSZXF1ZXN0TW9kZWwgPSBuZXcgU2VhcmNoUHJvZHVjdHNSZXF1ZXN0TW9kZWwoKTtcclxuXHJcbiAgICBtb2RlbC52YWx1ZSA9IHRoaXMuWm9la1Rlcm07XHJcblxyXG4gICAgdGhpcy5TZWFyY2hQcm9kdWN0c0FwaUNsaWVudC5nZXRTZWFyY2hSZXN1bHRzKG1vZGVsKS5zdWJzY3JpYmUobW9kZWwgPT4ge1xyXG4gICAgICB0aGlzLlNlYXJjaFByb2R1Y3RzUmVzcG9uc2VNb2RlbCA9IG1vZGVsO1xyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5VcGRhdGVTbmFja0JhcigpO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5VcGRhdGVTbmFja0JhcigpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgVXBkYXRlU25hY2tCYXIoKTogdm9pZCB7XHJcbiAgICB2YXIgY291bnQgPSB0aGlzLkdldFNlbGVjdGVkQ291bnQoKTtcclxuXHJcbiAgICBpZiAoY291bnQgPiAwKSB7XHJcbiAgICAgIHZhciBzbmFjayA9IHRoaXMuc25hY2tCYXIub3Blbihjb3VudCArIFwiIHByb2R1Y3QoZW4pIGdlc2VsZWN0ZWVyZC5cIiwgXCJLb3BwZWxcIik7XHJcblxyXG4gICAgICBzbmFjay5vbkFjdGlvbigpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5Lb3BwZWwoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zbmFja0Jhci5kaXNtaXNzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlS2V5VXAoZTogYW55KSB7XHJcbiAgICBpZiAoZS5rZXlDb2RlID09PSAxMykge1xyXG4gICAgICB0aGlzLlpvZWsoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBTZWxlY3RQcm9kdWN0c0NsaWNrKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuU2VhcmNoUHJvZHVjdHNSZXNwb25zZU1vZGVsPy5lYm9WaWV3TW9kZWxzICE9IG51bGwpIHtcclxuICAgICAgaWYgKHRoaXMuU2VsZWN0UHJvZHVjdHMpIHtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuU2VhcmNoUHJvZHVjdHNSZXNwb25zZU1vZGVsLmVib1ZpZXdNb2RlbHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIHRoaXMuU2VhcmNoUHJvZHVjdHNSZXNwb25zZU1vZGVsLmVib1ZpZXdNb2RlbHNbaV0uc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuU2VhcmNoUHJvZHVjdHNSZXNwb25zZU1vZGVsLmVib1ZpZXdNb2RlbHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIHRoaXMuU2VhcmNoUHJvZHVjdHNSZXNwb25zZU1vZGVsLmVib1ZpZXdNb2RlbHNbaV0uc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuVXBkYXRlU25hY2tCYXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBLb3BwZWwoKTogdm9pZCB7XHJcbiAgICB2YXIgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihCZWhlZXJTZWFyY2hwcm9kdWN0c0tvcHBlbERpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgc3VnZ2VzdGlvbjogdGhpcy5HZXRTdWdnZXN0aW9uKClcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQgIT0gbnVsbCkge1xyXG4gICAgICAgIGlmIChyZXN1bHQgPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICAgIHZhciBtb2RlbDogS29wcGVsUHJvZHVjdHNSZXF1ZXN0TW9kZWwgPSBuZXcgS29wcGVsUHJvZHVjdHNSZXF1ZXN0TW9kZWwoKTtcclxuXHJcbiAgICAgICAgICBtb2RlbC5wcm9kdWN0SWQgPSByZXN1bHQ7XHJcbiAgICAgICAgICBtb2RlbC5zZWFyY2hQcm9kdWN0RUJPTW9kZWxzID0gbmV3IEFycmF5PFdpemFyZEVCT1ZpZXdNb2RlbD4oKTtcclxuXHJcbiAgICAgICAgICB2YXIgcHJvZHVjdHMgPSB0aGlzLkdldEVib3MoZmFsc2UpO1xyXG5cclxuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvZHVjdHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKHByb2R1Y3RzW2ldLnNlbGVjdGVkKSB7XHJcbiAgICAgICAgICAgICAgbW9kZWwuc2VhcmNoUHJvZHVjdEVCT01vZGVscy5wdXNoKHByb2R1Y3RzW2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMuU2VhcmNoUHJvZHVjdHNBcGlDbGllbnQua29wcGVsUHJvZHVjdHMobW9kZWwpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuWm9laygpO1xyXG4gICAgICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLlpvZWsoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChyZXN1bHQgPT0gLTIpIHtcclxuICAgICAgICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgICAgICAgdmFyIG1vZGVsOiBLb3BwZWxQcm9kdWN0c1JlcXVlc3RNb2RlbCA9IG5ldyBLb3BwZWxQcm9kdWN0c1JlcXVlc3RNb2RlbCgpO1xyXG5cclxuICAgICAgICAgIG1vZGVsLnByb2R1Y3RJZCA9IDA7XHJcbiAgICAgICAgICBtb2RlbC5zZWFyY2hQcm9kdWN0RUJPTW9kZWxzID0gbmV3IEFycmF5PFdpemFyZEVCT1ZpZXdNb2RlbD4oKTtcclxuXHJcbiAgICAgICAgICB2YXIgcHJvZHVjdHMgPSB0aGlzLkdldEVib3MoZmFsc2UpO1xyXG5cclxuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvZHVjdHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKHByb2R1Y3RzW2ldLnNlbGVjdGVkKSB7XHJcbiAgICAgICAgICAgICAgbW9kZWwuc2VhcmNoUHJvZHVjdEVCT01vZGVscy5wdXNoKHByb2R1Y3RzW2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMuU2VhcmNoUHJvZHVjdHNBcGlDbGllbnQua29wcGVsUHJvZHVjdHNLZW5tZXJrKG1vZGVsKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLlpvZWsoKTtcclxuICAgICAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5ab2VrKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNlbGVjdEFsbCgpOiB2b2lkIHtcclxuICAgIHZhciBlYm9zID0gdGhpcy5HZXRFYm9zKGZhbHNlKTtcclxuXHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVib3MubGVuZ3RoOyBpKyspIHtcclxuICAgICAgZWJvc1tpXS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5VcGRhdGVTbmFja0JhcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNlbGVjdFJvdyhyb3c6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHJvdy5pblVzZUJ5ID09ICcnKSB7XHJcbiAgICAgIHJvdy5zZWxlY3RlZCA9ICFyb3cuc2VsZWN0ZWQ7XHJcbiAgICAgIHRoaXMuVXBkYXRlU25hY2tCYXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBTaG93Q2VsbChkb1R5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGRvVHlwZS50b0xvd2VyQ2FzZSgpID09ICdib3QnKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZG9UeXBlLnRvTG93ZXJDYXNlKCkgPT0gJ2tlbm1lcmsnKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgR2V0U2VsZWN0ZWRDb3VudCgpOiBudW1iZXIge1xyXG4gICAgdmFyIGNvdW50ID0gMDtcclxuICAgIHZhciBlYm9zID0gdGhpcy5HZXRFYm9zKGZhbHNlKTtcclxuXHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVib3MubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKGVib3NbaV0uc2VsZWN0ZWQpIHtcclxuICAgICAgICBjb3VudCsrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNvdW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBHZXRTdWdnZXN0aW9uKCk6IEFycmF5PHN0cmluZz4ge1xyXG4gICAgdmFyIG1lcmtzZXJpZSA9IFwiXCI7XHJcbiAgICB2YXIgYXJyYXkgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xyXG4gICAgdmFyIGFycmF5a2VubWVyayA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XHJcbiAgICB2YXIgY291bnQgPSAwO1xyXG4gICAgdmFyIGVib3MgPSB0aGlzLkdldEVib3MoZmFsc2UpO1xyXG5cclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWJvcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoZWJvc1tpXS5zZWxlY3RlZCkge1xyXG4gICAgICAgIHZhciBhcnJheXRlbXAgPSBlYm9zW2ldLmRPcztcclxuICAgICAgICBpZiAoYXJyYXl0ZW1wICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBhcnJheXRlbXAubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgICAgaWYgKGFycmF5dGVtcFtqXS5kb1R5cGU/LnRvTG93ZXJDYXNlKCkgPT0gXCJtZXJrIHNlcmllXCIpIHtcclxuICAgICAgICAgICAgICBtZXJrc2VyaWUgPSBhcnJheXRlbXBbal0uZG9OYWFtIGFzIHN0cmluZztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGFycmF5dGVtcFtqXS5kb1R5cGU/LnRvTG93ZXJDYXNlKCkgPT0gXCJrZW5tZXJrXCIpIHtcclxuICAgICAgICAgICAgICBhcnJheWtlbm1lcmsucHVzaChhcnJheXRlbXBbal0uZG9OYWFtIGFzIHN0cmluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhcnJheS5wdXNoKG1lcmtzZXJpZSk7XHJcblxyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheWtlbm1lcmsubGVuZ3RoICYmIGkgPCAzOyBpKyspIHtcclxuICAgICAgYXJyYXkucHVzaChhcnJheWtlbm1lcmtbaV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBhcnJheTtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1iZWhlZXItbmF2PjwvYXBwLWJlaGVlci1uYXY+XHJcblxyXG48ZGl2IGNsYXNzPVwibWFpbi13aW5kb3dcIj5cclxuICA8ZGl2PlxyXG4gICAgPG1hdC1jYXJkPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWFpbi1ibG9jay1zZWFyY2hcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2tcIj5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICA8bWF0LWxhYmVsPlpvZWt0ZXJtPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cImJ2LiBNZXJrIFNlcmllXCIgKGtleXVwKT1cImhhbmRsZUtleVVwKCRldmVudClcIiBbKG5nTW9kZWwpXT1cIlpvZWtUZXJtXCI+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ6b2VrZW4tYmxvY2tcIj5cclxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlpvZWsoKVwiIFtkaXNhYmxlZF09XCJMb2FkaW5nXCI+Wm9la2VuPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtY2FyZD5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwiTG9hZGluZ1wiPlxyXG4gICAgICA8YXBwLWZhYi1sb2FkZXI+PC9hcHAtZmFiLWxvYWRlcj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCIhTG9hZGluZ1wiIGNsYXNzPVwicmVzdWx0YmxvY2tcIj5cclxuICAgICAgPG1hdC1jYXJkPlxyXG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgICAgPHRhYmxlIGNsYXNzPVwiZWJvLXRhYmxlXCI+XHJcbiAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJTZWxlY3RBbGwoKVwiIGNsYXNzPVwic2VsZWN0YWxsXCI+VjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+Qk9UPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cIkJPVFwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkRPMVR5cGU8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiRE8xVHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkRPMU5hYW08L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiRE8xTmFhbVwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkRPMlR5cGU8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiRE8yVHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkRPMk5hYW08L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiRE8yTmFhbVwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkRPM1R5cGU8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiRE8zVHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkRPM05hYW08L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiRE8zTmFhbVwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkRPNFR5cGU8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiRE80VHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkRPNE5hYW08L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiRE80TmFhbVwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPktlbm1lcms8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiS2VubWVya1wiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IGVibyBvZiBHZXRFYm9zKGZhbHNlKVwiIGNsYXNzPVwidGFibGUtcm93XCIgKGNsaWNrKT1cIlNlbGVjdFJvdyhlYm8pXCI+XHJcbiAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImViby5pblVzZUJ5ID09ICcnXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggY2xhc3M9XCJyb3ctY2hlY2tcIiBbKG5nTW9kZWwpXT1cImViby5zZWxlY3RlZFwiIFtjb2xvcl09XCJQcmltYXJ5XCIgKGNoYW5nZSk9XCJVcGRhdGVTbmFja0JhcigpXCI+PC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGRvIG9mIGViby5kT3NcIj5cclxuICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cIlNob3dDZWxsKGRvLmRvVHlwZSlcIj57eyBkby5kb1R5cGUgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkPnt7IGRvLmRvTmFhbSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgZWJvIG9mIEdldEVib3ModHJ1ZSlcIiBjbGFzcz1cInRhYmxlLXJvd1wiIChjbGljayk9XCJTZWxlY3RSb3coZWJvKVwiPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJlYm8uaW5Vc2VCeSA9PSAnJ1wiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IGNsYXNzPVwicm93LWNoZWNrXCIgWyhuZ01vZGVsKV09XCJlYm8uc2VsZWN0ZWRcIiBbY29sb3JdPVwiUHJpbWFyeVwiIChjaGFuZ2UpPVwiVXBkYXRlU25hY2tCYXIoKVwiPjwvbWF0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBkbyBvZiBlYm8uZE9zXCI+XHJcbiAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJTaG93Q2VsbChkby5kb1R5cGUpXCI+e3sgZG8uZG9UeXBlIH19PC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZD57eyBkby5kb05hYW0gfX08L3RkPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgIDwvbWF0LWNhcmQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
299
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXNlYXJjaHByb2R1Y3RzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXNlYXJjaHByb2R1Y3RzL2JlaGVlci1zZWFyY2hwcm9kdWN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1zZWFyY2hwcm9kdWN0cy9iZWhlZXItc2VhcmNocHJvZHVjdHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUlyRSxPQUFPLEVBQTJCLDBCQUEwQixFQUFtRCwwQkFBMEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWxMLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLHFGQUFxRixDQUFDOzs7Ozs7Ozs7Ozs7OztBQUVoSixNQU1hLDZCQUE2QjtJQW9CckI7SUFBMkI7SUFBMEQ7SUFsQmpHLE9BQU8sR0FBWSxLQUFLLENBQUM7SUFDekIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixPQUFPLEdBQWlCLFNBQVMsQ0FBQztJQUNsQyxjQUFjLEdBQVksS0FBSyxDQUFDO0lBRWhDLEdBQUcsR0FBVyxFQUFFLENBQUM7SUFDakIsT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUNyQixPQUFPLEdBQVcsRUFBRSxDQUFDO0lBQ3JCLE9BQU8sR0FBVyxFQUFFLENBQUM7SUFDckIsT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUNyQixPQUFPLEdBQVcsRUFBRSxDQUFDO0lBQ3JCLE9BQU8sR0FBVyxFQUFFLENBQUM7SUFDckIsT0FBTyxHQUFXLEVBQUUsQ0FB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QUUsRUFBRTt3QkFDekMsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLFlBQVksRUFBRTs0QkFDdEQsU0FBUyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFnQixDQUFDO3lCQUMzQzt3QkFFRCxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksU0FBUyxFQUFFOzRCQUNuRCxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFnQixDQUFDLENBQUM7eUJBQ2xEO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtRQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFlBQVksQ0FBQyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNyRCxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdCO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO3VHQXJVVSw2QkFBNkI7MkZBQTdCLDZCQUE2QixpRUNkMUMsZ2hLQXVIQTs7U0R6R2EsNkJBQTZCOzJGQUE3Qiw2QkFBNkI7a0JBTnpDLFNBQVM7K0JBQ0UsMkJBQTJCLGlCQUd0QixpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeVNuYWNrQmFyIGFzIE1hdFNuYWNrQmFyLCBNYXRMZWdhY3lTbmFja0JhckNvbmZpZyBhcyBNYXRTbmFja0JhckNvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuXHJcbmltcG9ydCB7IFNlYXJjaFByb2R1Y3RzQXBpQ2xpZW50LCBTZWFyY2hQcm9kdWN0c1JlcXVlc3RNb2RlbCwgU2VhcmNoUHJvZHVjdHNSZXNwb25zZU1vZGVsLCBXaXphcmRFQk9WaWV3TW9kZWwsIEtvcHBlbFByb2R1Y3RzUmVxdWVzdE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuaW1wb3J0IHsgTWF0TGVnYWN5RGlhbG9nIGFzIE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnO1xyXG5pbXBvcnQgeyBCZWhlZXJTZWFyY2hwcm9kdWN0c0tvcHBlbERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyLXNlYXJjaHByb2R1Y3RzLWtvcHBlbC1kaWFsb2cvYmVoZWVyLXNlYXJjaHByb2R1Y3RzLWtvcHBlbC1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1zZWFyY2hwcm9kdWN0cycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1zZWFyY2hwcm9kdWN0cy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYmVoZWVyLXNlYXJjaHByb2R1Y3RzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmVoZWVyU2VhcmNoUHJvZHVjdHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwdWJsaWMgTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBab2VrVGVybTogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgUHJpbWFyeTogVGhlbWVQYWxldHRlID0gXCJwcmltYXJ5XCI7XHJcbiAgcHVibGljIFNlbGVjdFByb2R1Y3RzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBCT1Q6IHN0cmluZyA9IFwiXCI7XHJcbiAgcHVibGljIERPMVR5cGU6IHN0cmluZyA9IFwiXCI7XHJcbiAgcHVibGljIERPMU5hYW06IHN0cmluZyA9IFwiXCI7XHJcbiAgcHVibGljIERPMlR5cGU6IHN0cmluZyA9IFwiXCI7XHJcbiAgcHVibGljIERPMk5hYW06IHN0cmluZyA9IFwiXCI7XHJcbiAgcHVibGljIERPM1R5cGU6IHN0cmluZyA9IFwiXCI7XHJcbiAgcHVibGljIERPM05hYW06IHN0cmluZyA9IFwiXCI7XHJcbiAgcHVibGljIERPNFR5cGU6IHN0cmluZyA9IFwiXCI7XHJcbiAgcHVibGljIERPNE5hYW06IHN0cmluZyA9IFwiXCI7XHJcbiAgcHVibGljIEtlbm1lcms6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHB1YmxpYyBTZWFyY2hQcm9kdWN0c1Jlc3BvbnNlTW9kZWw6IFNlYXJjaFByb2R1Y3RzUmVzcG9uc2VNb2RlbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZzogTWF0RGlhbG9nLCBwcml2YXRlIFNlYXJjaFByb2R1Y3RzQXBpQ2xpZW50OiBTZWFyY2hQcm9kdWN0c0FwaUNsaWVudCwgcHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBHZXRFYm9zKGludXNlOiBib29sZWFuKTogQXJyYXk8V2l6YXJkRUJPVmlld01vZGVsPiB7XHJcbiAgICBpZiAodGhpcy5TZWFyY2hQcm9kdWN0c1Jlc3BvbnNlTW9kZWwgIT0gbnVsbCAmJiB0aGlzLlNlYXJjaFByb2R1Y3RzUmVzcG9uc2VNb2RlbC5lYm9WaWV3TW9kZWxzICE9IG51bGwpIHtcclxuICAgICAgdmFyIGxpc3QgPSBuZXcgQXJyYXk8V2l6YXJkRUJPVmlld01vZGVsPigpO1xyXG5cclxuICAgICAgdmFyIHRlbXAgPSB0aGlzLlNlYXJjaFByb2R1Y3RzUmVzcG9uc2VNb2RlbC5lYm9WaWV3TW9kZWxzIGFzIEFycmF5PFdpemFyZEVCT1ZpZXdNb2RlbD47XHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5TZWFyY2hQcm9kdWN0c1Jlc3BvbnNlTW9kZWwuZWJvVmlld01vZGVscy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIHZhciBhZGQgPSB0cnVlO1xyXG5cclxuICAgICAgICBpZiAoaW51c2UpIHtcclxuICAgICAgICAgIGlmICh0aGlzLlNlYXJjaFByb2R1Y3RzUmVzcG9uc2VNb2RlbC5lYm9WaWV3TW9kZWxzW2ldLmluVXNlQnkgPT0gXCJcIikge1xyXG4gICAgICAgICAgICBhZGQgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5TZWFyY2hQcm9kdWN0c1Jlc3BvbnNlTW9kZWwuZWJvVmlld01vZGVsc1tpXS5pblVzZUJ5ICE9IFwiXCIpIHtcclxuICAgICAgICAgICAgYWRkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoYWRkKSB7XHJcbiAgICAgICAgICB2YXIgYXJyYXkgPSB0aGlzLlNlYXJjaFByb2R1Y3RzUmVzcG9uc2VNb2RlbC5lYm9WaWV3TW9kZWxzW2ldLmRPcztcclxuXHJcbiAgICAgICAgICBpZiAoYXJyYXkgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGFycmF5Lmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgICAgICAgdmFyIGRvdHlwZSA9IGFycmF5W2pdLmRvVHlwZT8udG9Mb3dlckNhc2UoKSArIFwiXCI7XHJcbiAgICAgICAgICAgICAgdmFyIGRvbmFhbSA9IGFycmF5W2pdLmRvTmFhbT8udG9Mb3dlckNhc2UoKSArIFwiXCI7XHJcblxyXG4gICAgICAgICAgICAgIGlmIChkb3R5cGUgPT0gJ2JvdCcpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLkJPVCAhPSBcIlwiICYmIGRvbmFhbS5pbmRleE9mKHRoaXMuQk9ULnRvTG93ZXJDYXNlKCkpID09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAgIGFkZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZWxzZSBpZiAoZG90eXBlID09ICdrZW5tZXJrJykge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuS2VubWVyayAhPSBcIlwiICYmIGRvbmFhbS5pbmRleE9mKHRoaXMuS2VubWVyay50b0xvd2VyQ2FzZSgpKSA9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICBhZGQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGVsc2UgaWYgKGogPT0gMSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuRE8xTmFhbSAhPSBcIlwiICYmIGRvbmFhbS5pbmRleE9mKHRoaXMuRE8xTmFhbS50b0xvd2VyQ2FzZSgpKSA9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICBhZGQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuRE8xVHlwZSAhPSBcIlwiICYmIGRvdHlwZS5pbmRleE9mKHRoaXMuRE8xVHlwZS50b0xvd2VyQ2FzZSgpKSA9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICBhZGQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGVsc2UgaWYgKGogPT0gMikge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuRE8yTmFhbSAhPSBcIlwiICYmIGRvbmFhbS5pbmRleE9mKHRoaXMuRE8yTmFhbS50b0xvd2VyQ2FzZSgpKSA9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICBhZGQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuRE8yVHlwZSAhPSBcIlwiICYmIGRvdHlwZS5pbmRleE9mKHRoaXMuRE8yVHlwZS50b0xvd2VyQ2FzZSgpKSA9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICBhZGQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGVsc2UgaWYgKGogPT0gMykge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuRE8zTmFhbSAhPSBcIlwiICYmIGRvbmFhbS5pbmRleE9mKHRoaXMuRE8zTmFhbS50b0xvd2VyQ2FzZSgpKSA9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICBhZGQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuRE8zVHlwZSAhPSBcIlwiICYmIGRvdHlwZS5pbmRleE9mKHRoaXMuRE8zVHlwZS50b0xvd2VyQ2FzZSgpKSA9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICBhZGQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGVsc2UgaWYgKGogPT0gNCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuRE80TmFhbSAhPSBcIlwiICYmIGRvbmFhbS5pbmRleE9mKHRoaXMuRE80TmFhbS50b0xvd2VyQ2FzZSgpKSA9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICBhZGQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuRE80VHlwZSAhPSBcIlwiICYmIGRvdHlwZS5pbmRleE9mKHRoaXMuRE80VHlwZS50b0xvd2VyQ2FzZSgpKSA9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICBhZGQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoYWRkKSB7XHJcbiAgICAgICAgICBsaXN0LnB1c2godGhpcy5TZWFyY2hQcm9kdWN0c1Jlc3BvbnNlTW9kZWwuZWJvVmlld01vZGVsc1tpXSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIGxpc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG5ldyBBcnJheTxXaXphcmRFQk9WaWV3TW9kZWw+KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgWm9laygpOiB2b2lkIHtcclxuICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLlNlbGVjdFByb2R1Y3RzID0gZmFsc2U7XHJcblxyXG4gICAgdmFyIG1vZGVsOiBTZWFyY2hQcm9kdWN0c1JlcXVlc3RNb2RlbCA9IG5ldyBTZWFyY2hQcm9kdWN0c1JlcXVlc3RNb2RlbCgpO1xyXG5cclxuICAgIG1vZGVsLnZhbHVlID0gdGhpcy5ab2VrVGVybTtcclxuXHJcbiAgICB0aGlzLlNlYXJjaFByb2R1Y3RzQXBpQ2xpZW50LmdldFNlYXJjaFJlc3VsdHMobW9kZWwpLnN1YnNjcmliZShtb2RlbCA9PiB7XHJcbiAgICAgIHRoaXMuU2VhcmNoUHJvZHVjdHNSZXNwb25zZU1vZGVsID0gbW9kZWw7XHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLlVwZGF0ZVNuYWNrQmFyKCk7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICBhbGVydCgnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5VcGRhdGVTbmFja0JhcigpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgVXBkYXRlU25hY2tCYXIoKTogdm9pZCB7XHJcbiAgICB2YXIgY291bnQgPSB0aGlzLkdldFNlbGVjdGVkQ291bnQoKTtcclxuXHJcbiAgICBpZiAoY291bnQgPiAwKSB7XHJcbiAgICAgIHZhciBzbmFjayA9IHRoaXMuc25hY2tCYXIub3Blbihjb3VudCArIFwiIHByb2R1Y3QoZW4pIGdlc2VsZWN0ZWVyZC5cIiwgXCJLb3BwZWxcIik7XHJcblxyXG4gICAgICBzbmFjay5vbkFjdGlvbigpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5Lb3BwZWwoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zbmFja0Jhci5kaXNtaXNzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlS2V5VXAoZTogYW55KSB7XHJcbiAgICBpZiAoZS5rZXlDb2RlID09PSAxMykge1xyXG4gICAgICB0aGlzLlpvZWsoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBTZWxlY3RQcm9kdWN0c0NsaWNrKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuU2VhcmNoUHJvZHVjdHNSZXNwb25zZU1vZGVsPy5lYm9WaWV3TW9kZWxzICE9IG51bGwpIHtcclxuICAgICAgaWYgKHRoaXMuU2VsZWN0UHJvZHVjdHMpIHtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuU2VhcmNoUHJvZHVjdHNSZXNwb25zZU1vZGVsLmVib1ZpZXdNb2RlbHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIHRoaXMuU2VhcmNoUHJvZHVjdHNSZXNwb25zZU1vZGVsLmVib1ZpZXdNb2RlbHNbaV0uc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuU2VhcmNoUHJvZHVjdHNSZXNwb25zZU1vZGVsLmVib1ZpZXdNb2RlbHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIHRoaXMuU2VhcmNoUHJvZHVjdHNSZXNwb25zZU1vZGVsLmVib1ZpZXdNb2RlbHNbaV0uc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuVXBkYXRlU25hY2tCYXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBLb3BwZWwoKTogdm9pZCB7XHJcbiAgICB2YXIgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihCZWhlZXJTZWFyY2hwcm9kdWN0c0tvcHBlbERpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgc3VnZ2VzdGlvbjogdGhpcy5HZXRTdWdnZXN0aW9uKClcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQgIT0gbnVsbCkge1xyXG4gICAgICAgIGlmIChyZXN1bHQgPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICAgIHZhciBtb2RlbDogS29wcGVsUHJvZHVjdHNSZXF1ZXN0TW9kZWwgPSBuZXcgS29wcGVsUHJvZHVjdHNSZXF1ZXN0TW9kZWwoKTtcclxuXHJcbiAgICAgICAgICBtb2RlbC5wcm9kdWN0SWQgPSByZXN1bHQ7XHJcbiAgICAgICAgICBtb2RlbC5zZWFyY2hQcm9kdWN0RUJPTW9kZWxzID0gbmV3IEFycmF5PFdpemFyZEVCT1ZpZXdNb2RlbD4oKTtcclxuXHJcbiAgICAgICAgICB2YXIgcHJvZHVjdHMgPSB0aGlzLkdldEVib3MoZmFsc2UpO1xyXG5cclxuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvZHVjdHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKHByb2R1Y3RzW2ldLnNlbGVjdGVkKSB7XHJcbiAgICAgICAgICAgICAgbW9kZWwuc2VhcmNoUHJvZHVjdEVCT01vZGVscy5wdXNoKHByb2R1Y3RzW2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMuU2VhcmNoUHJvZHVjdHNBcGlDbGllbnQua29wcGVsUHJvZHVjdHMobW9kZWwpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuWm9laygpO1xyXG4gICAgICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLlpvZWsoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChyZXN1bHQgPT0gLTIpIHtcclxuICAgICAgICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgICAgICAgdmFyIG1vZGVsOiBLb3BwZWxQcm9kdWN0c1JlcXVlc3RNb2RlbCA9IG5ldyBLb3BwZWxQcm9kdWN0c1JlcXVlc3RNb2RlbCgpO1xyXG5cclxuICAgICAgICAgIG1vZGVsLnByb2R1Y3RJZCA9IDA7XHJcbiAgICAgICAgICBtb2RlbC5zZWFyY2hQcm9kdWN0RUJPTW9kZWxzID0gbmV3IEFycmF5PFdpemFyZEVCT1ZpZXdNb2RlbD4oKTtcclxuXHJcbiAgICAgICAgICB2YXIgcHJvZHVjdHMgPSB0aGlzLkdldEVib3MoZmFsc2UpO1xyXG5cclxuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvZHVjdHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKHByb2R1Y3RzW2ldLnNlbGVjdGVkKSB7XHJcbiAgICAgICAgICAgICAgbW9kZWwuc2VhcmNoUHJvZHVjdEVCT01vZGVscy5wdXNoKHByb2R1Y3RzW2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMuU2VhcmNoUHJvZHVjdHNBcGlDbGllbnQua29wcGVsUHJvZHVjdHNLZW5tZXJrKG1vZGVsKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLlpvZWsoKTtcclxuICAgICAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5ab2VrKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNlbGVjdEFsbCgpOiB2b2lkIHtcclxuICAgIHZhciBlYm9zID0gdGhpcy5HZXRFYm9zKGZhbHNlKTtcclxuXHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVib3MubGVuZ3RoOyBpKyspIHtcclxuICAgICAgZWJvc1tpXS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5VcGRhdGVTbmFja0JhcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNlbGVjdFJvdyhyb3c6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHJvdy5pblVzZUJ5ID09ICcnKSB7XHJcbiAgICAgIHJvdy5zZWxlY3RlZCA9ICFyb3cuc2VsZWN0ZWQ7XHJcbiAgICAgIHRoaXMuVXBkYXRlU25hY2tCYXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBTaG93Q2VsbChkb1R5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGRvVHlwZS50b0xvd2VyQ2FzZSgpID09ICdib3QnKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZG9UeXBlLnRvTG93ZXJDYXNlKCkgPT0gJ2tlbm1lcmsnKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgR2V0U2VsZWN0ZWRDb3VudCgpOiBudW1iZXIge1xyXG4gICAgdmFyIGNvdW50ID0gMDtcclxuICAgIHZhciBlYm9zID0gdGhpcy5HZXRFYm9zKGZhbHNlKTtcclxuXHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVib3MubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKGVib3NbaV0uc2VsZWN0ZWQpIHtcclxuICAgICAgICBjb3VudCsrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNvdW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBHZXRTdWdnZXN0aW9uKCk6IEFycmF5PHN0cmluZz4ge1xyXG4gICAgdmFyIG1lcmtzZXJpZSA9IFwiXCI7XHJcbiAgICB2YXIgYXJyYXkgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xyXG4gICAgdmFyIGFycmF5a2VubWVyayA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XHJcbiAgICB2YXIgY291bnQgPSAwO1xyXG4gICAgdmFyIGVib3MgPSB0aGlzLkdldEVib3MoZmFsc2UpO1xyXG5cclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWJvcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoZWJvc1tpXS5zZWxlY3RlZCkge1xyXG4gICAgICAgIHZhciBhcnJheXRlbXAgPSBlYm9zW2ldLmRPcztcclxuICAgICAgICBpZiAoYXJyYXl0ZW1wICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBhcnJheXRlbXAubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgICAgaWYgKGFycmF5dGVtcFtqXS5kb1R5cGU/LnRvTG93ZXJDYXNlKCkgPT0gXCJtZXJrIHNlcmllXCIpIHtcclxuICAgICAgICAgICAgICBtZXJrc2VyaWUgPSBhcnJheXRlbXBbal0uZG9OYWFtIGFzIHN0cmluZztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGFycmF5dGVtcFtqXS5kb1R5cGU/LnRvTG93ZXJDYXNlKCkgPT0gXCJrZW5tZXJrXCIpIHtcclxuICAgICAgICAgICAgICBhcnJheWtlbm1lcmsucHVzaChhcnJheXRlbXBbal0uZG9OYWFtIGFzIHN0cmluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhcnJheS5wdXNoKG1lcmtzZXJpZSk7XHJcblxyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheWtlbm1lcmsubGVuZ3RoICYmIGkgPCAzOyBpKyspIHtcclxuICAgICAgYXJyYXkucHVzaChhcnJheWtlbm1lcmtbaV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBhcnJheTtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1iZWhlZXItbmF2PjwvYXBwLWJlaGVlci1uYXY+XHJcblxyXG48ZGl2IGNsYXNzPVwibWFpbi13aW5kb3dcIj5cclxuICA8ZGl2PlxyXG4gICAgPG1hdC1jYXJkPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWFpbi1ibG9jay1zZWFyY2hcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2tcIj5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICA8bWF0LWxhYmVsPlpvZWt0ZXJtPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cImJ2LiBNZXJrIFNlcmllXCIgKGtleXVwKT1cImhhbmRsZUtleVVwKCRldmVudClcIiBbKG5nTW9kZWwpXT1cIlpvZWtUZXJtXCI+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ6b2VrZW4tYmxvY2tcIj5cclxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlpvZWsoKVwiIFtkaXNhYmxlZF09XCJMb2FkaW5nXCI+Wm9la2VuPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtY2FyZD5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwiTG9hZGluZ1wiPlxyXG4gICAgICA8YXBwLWZhYi1sb2FkZXI+PC9hcHAtZmFiLWxvYWRlcj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCIhTG9hZGluZ1wiIGNsYXNzPVwicmVzdWx0YmxvY2tcIj5cclxuICAgICAgPG1hdC1jYXJkPlxyXG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgICAgPHRhYmxlIGNsYXNzPVwiZWJvLXRhYmxlXCI+XHJcbiAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJTZWxlY3RBbGwoKVwiIGNsYXNzPVwic2VsZWN0YWxsXCI+VjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+Qk9UPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cIkJPVFwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkRPMVR5cGU8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiRE8xVHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkRPMU5hYW08L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiRE8xTmFhbVwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkRPMlR5cGU8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiRE8yVHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkRPMk5hYW08L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiRE8yTmFhbVwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkRPM1R5cGU8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiRE8zVHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkRPM05hYW08L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiRE8zTmFhbVwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkRPNFR5cGU8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiRE80VHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkRPNE5hYW08L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiRE80TmFhbVwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPktlbm1lcms8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiS2VubWVya1wiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IGVibyBvZiBHZXRFYm9zKGZhbHNlKVwiIGNsYXNzPVwidGFibGUtcm93XCIgKGNsaWNrKT1cIlNlbGVjdFJvdyhlYm8pXCI+XHJcbiAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImViby5pblVzZUJ5ID09ICcnXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggY2xhc3M9XCJyb3ctY2hlY2tcIiBbKG5nTW9kZWwpXT1cImViby5zZWxlY3RlZFwiIFtjb2xvcl09XCJQcmltYXJ5XCIgKGNoYW5nZSk9XCJVcGRhdGVTbmFja0JhcigpXCI+PC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGRvIG9mIGViby5kT3NcIj5cclxuICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cIlNob3dDZWxsKGRvLmRvVHlwZSlcIj57eyBkby5kb1R5cGUgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkPnt7IGRvLmRvTmFhbSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgZWJvIG9mIEdldEVib3ModHJ1ZSlcIiBjbGFzcz1cInRhYmxlLXJvd1wiIChjbGljayk9XCJTZWxlY3RSb3coZWJvKVwiPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJlYm8uaW5Vc2VCeSA9PSAnJ1wiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IGNsYXNzPVwicm93LWNoZWNrXCIgWyhuZ01vZGVsKV09XCJlYm8uc2VsZWN0ZWRcIiBbY29sb3JdPVwiUHJpbWFyeVwiIChjaGFuZ2UpPVwiVXBkYXRlU25hY2tCYXIoKVwiPjwvbWF0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBkbyBvZiBlYm8uZE9zXCI+XHJcbiAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJTaG93Q2VsbChkby5kb1R5cGUpXCI+e3sgZG8uZG9UeXBlIH19PC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZD57eyBkby5kb05hYW0gfX08L3RkPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgIDwvbWF0LWNhcmQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==