fabrikantencore 2.0.12 → 2.0.14

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 (135) hide show
  1. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-categories/beheer-categories.component.mjs +3 -3
  2. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-connect-category-dialog/beheer-connect-category-dialog.component.mjs +8 -8
  3. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-display-ebo/beheer-display-ebo.component.mjs +3 -3
  4. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component.mjs +57 -43
  5. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-filters/beheer-filters.component.mjs +146 -8
  6. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-dialog/beheer-import-sets-dialog.component.mjs +3 -3
  7. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-ebo/beheer-import-sets-ebo.component.mjs +6 -6
  8. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-eigenschap/beheer-import-sets-eigenschap.component.mjs +3 -3
  9. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets.component.mjs +3 -3
  10. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-inlog/beheer-inlog.component.mjs +3 -3
  11. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.mjs +3 -3
  12. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-nav/beheer-nav.component.mjs +3 -3
  13. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-bcbproduct/beheer-products-bcbproduct.component.mjs +3 -3
  14. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component.mjs +3 -3
  15. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-ebo/beheer-products-ebo.component.mjs +9 -7
  16. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.mjs +6 -4
  17. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap-bereik/beheer-products-eigenschap-bereik.component.mjs +3 -3
  18. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.mjs +6 -6
  19. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-product/beheer-products-product.component.mjs +3 -3
  20. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.mjs +5 -5
  21. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts-koppel-dialog/beheer-searchproducts-koppel-dialog.component.mjs +3 -3
  22. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts.component.mjs +3 -3
  23. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-select-filter-dialog/beheer-select-filter-dialog.component.mjs +3 -3
  24. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-boolean/beheer-settings-boolean.component.mjs +3 -3
  25. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-options/beheer-settings-options.component.mjs +3 -3
  26. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-string/beheer-settings-string.component.mjs +3 -3
  27. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings.component.mjs +3 -3
  28. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.mjs +3 -3
  29. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-users/beheer-users.component.mjs +3 -3
  30. package/esm2020/src/app/modules/fabrikantencore/components/fab-bcb-product/fab-bcb-product.component.mjs +3 -3
  31. package/esm2020/src/app/modules/fabrikantencore/components/fab-breadcrumb/fab-breadcrumb.component.mjs +3 -3
  32. package/esm2020/src/app/modules/fabrikantencore/components/fab-categories/fab-categories.component.mjs +5 -5
  33. package/esm2020/src/app/modules/fabrikantencore/components/fab-category-tile/fab-category-tile.component.mjs +4 -4
  34. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter/fab-filter.component.mjs +3 -3
  35. package/esm2020/src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.mjs +5 -5
  36. package/esm2020/src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component.mjs +3 -3
  37. package/esm2020/src/app/modules/fabrikantencore/components/fab-filters-overview/fab-filters-overview.component.mjs +3 -3
  38. package/esm2020/src/app/modules/fabrikantencore/components/fab-flag/fab-flag.component.mjs +3 -3
  39. package/esm2020/src/app/modules/fabrikantencore/components/fab-header/fab-header.component.mjs +3 -3
  40. package/esm2020/src/app/modules/fabrikantencore/components/fab-iframe/fab-iframe.component.mjs +29 -0
  41. package/esm2020/src/app/modules/fabrikantencore/components/fab-language-select/fab-language-select.component.mjs +3 -3
  42. package/esm2020/src/app/modules/fabrikantencore/components/fab-loader/fab-loader.component.mjs +3 -3
  43. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product-bestek/fab-product-bestek.component.mjs +3 -3
  44. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo/fab-product-info-photo.component.mjs +3 -3
  45. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo-dialog/fab-product-info-photo-dialog.component.mjs +3 -3
  46. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info.component.mjs +3 -3
  47. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.mjs +25 -8
  48. package/esm2020/src/app/modules/fabrikantencore/components/fab-product-select/fab-product-select.component.mjs +5 -5
  49. package/esm2020/src/app/modules/fabrikantencore/components/fab-product-tile/fab-product-tile.component.mjs +4 -4
  50. package/esm2020/src/app/modules/fabrikantencore/components/fab-range-input/fab-range-input.component.mjs +3 -3
  51. package/esm2020/src/app/modules/fabrikantencore/components/fab-start/fab-start.component.mjs +5 -5
  52. package/esm2020/src/app/modules/fabrikantencore/components/fab-svg-viewer/fab-svg-viewer.component.mjs +3 -3
  53. package/esm2020/src/app/modules/fabrikantencore/components/fab-texture/fab-texture.component.mjs +38 -0
  54. package/esm2020/src/app/modules/fabrikantencore/components/fab-webgl-viewer/fab-webgl-viewer.component.mjs +5 -5
  55. package/esm2020/src/app/modules/fabrikantencore/fabrikantencore.module.mjs +18 -11
  56. package/esm2020/src/app/modules/fabrikantencore/helpers/auth.guard.mjs +3 -3
  57. package/esm2020/src/app/modules/fabrikantencore/helpers/basic-auth.interceptor.mjs +3 -3
  58. package/esm2020/src/app/modules/fabrikantencore/helpers/error.interceptor.mjs +3 -3
  59. package/esm2020/src/app/modules/fabrikantencore/services/authentication.service.mjs +3 -3
  60. package/esm2020/src/app/modules/fabrikantencore/services/bestek.service.mjs +3 -3
  61. package/esm2020/src/app/modules/fabrikantencore/services/fabrikanten.service.mjs +42 -10
  62. package/esm2020/src/app/modules/fabrikantencore/services/importsets.service.mjs +3 -3
  63. package/esm2020/src/app/modules/fabrikantencore/services/mobile.service.mjs +3 -3
  64. package/esm2020/src/app/modules/fabrikantencore/services/navigate.service.mjs +5 -5
  65. package/esm2020/src/app/modules/fabrikantencore/services/photo.service.mjs +3 -3
  66. package/esm2020/src/app/modules/fabrikantencore/services/products.service.mjs +3 -3
  67. package/esm2020/src/app/modules/fabrikantencore/services/projectsetting.service.mjs +5 -4
  68. package/esm2020/src/app/modules/fabrikantencore/services/svg.service.mjs +3 -3
  69. package/esm2020/src/app/modules/fabrikantencore/services/texture.service.mjs +33 -0
  70. package/esm2020/src/app/modules/fabrikantencore/services/translate.service.mjs +3 -3
  71. package/esm2020/src/app/modules/fabrikantencore/services/webgl.service.mjs +3 -3
  72. package/esm2020/src/app/modules/fabrikantencore/swagger/SwaggerClient.mjs +527 -55
  73. package/fesm2015/fabrikantencore.mjs +1105 -351
  74. package/fesm2015/fabrikantencore.mjs.map +1 -1
  75. package/fesm2020/fabrikantencore.mjs +1106 -354
  76. package/fesm2020/fabrikantencore.mjs.map +1 -1
  77. package/package.json +14 -14
  78. package/src/app/modules/fabrikantencore/beheer/components/beheer-categories/beheer-categories.component.d.ts +1 -1
  79. package/src/app/modules/fabrikantencore/beheer/components/beheer-connect-category-dialog/beheer-connect-category-dialog.component.d.ts +1 -1
  80. package/src/app/modules/fabrikantencore/beheer/components/beheer-display-ebo/beheer-display-ebo.component.d.ts +1 -1
  81. package/src/app/modules/fabrikantencore/beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component.d.ts +2 -2
  82. package/src/app/modules/fabrikantencore/beheer/components/beheer-filters/beheer-filters.component.d.ts +16 -2
  83. package/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-dialog/beheer-import-sets-dialog.component.d.ts +1 -1
  84. package/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-ebo/beheer-import-sets-ebo.component.d.ts +2 -2
  85. package/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-eigenschap/beheer-import-sets-eigenschap.component.d.ts +1 -1
  86. package/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets.component.d.ts +1 -1
  87. package/src/app/modules/fabrikantencore/beheer/components/beheer-inlog/beheer-inlog.component.d.ts +1 -1
  88. package/src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.d.ts +1 -1
  89. package/src/app/modules/fabrikantencore/beheer/components/beheer-nav/beheer-nav.component.d.ts +1 -1
  90. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-bcbproduct/beheer-products-bcbproduct.component.d.ts +1 -1
  91. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component.d.ts +1 -1
  92. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-ebo/beheer-products-ebo.component.d.ts +2 -2
  93. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.d.ts +1 -1
  94. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap-bereik/beheer-products-eigenschap-bereik.component.d.ts +1 -1
  95. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.d.ts +1 -1
  96. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-product/beheer-products-product.component.d.ts +1 -1
  97. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.d.ts +1 -1
  98. package/src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts-koppel-dialog/beheer-searchproducts-koppel-dialog.component.d.ts +1 -1
  99. package/src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts.component.d.ts +1 -1
  100. package/src/app/modules/fabrikantencore/beheer/components/beheer-select-filter-dialog/beheer-select-filter-dialog.component.d.ts +1 -1
  101. package/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-boolean/beheer-settings-boolean.component.d.ts +1 -1
  102. package/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-options/beheer-settings-options.component.d.ts +1 -1
  103. package/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-string/beheer-settings-string.component.d.ts +1 -1
  104. package/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings.component.d.ts +1 -1
  105. package/src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.d.ts +1 -1
  106. package/src/app/modules/fabrikantencore/beheer/components/beheer-users/beheer-users.component.d.ts +1 -1
  107. package/src/app/modules/fabrikantencore/components/fab-bcb-product/fab-bcb-product.component.d.ts +1 -1
  108. package/src/app/modules/fabrikantencore/components/fab-breadcrumb/fab-breadcrumb.component.d.ts +1 -1
  109. package/src/app/modules/fabrikantencore/components/fab-categories/fab-categories.component.d.ts +1 -1
  110. package/src/app/modules/fabrikantencore/components/fab-category-tile/fab-category-tile.component.d.ts +1 -1
  111. package/src/app/modules/fabrikantencore/components/fab-filter/fab-filter.component.d.ts +1 -1
  112. package/src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.d.ts +1 -1
  113. package/src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component.d.ts +1 -1
  114. package/src/app/modules/fabrikantencore/components/fab-filters-overview/fab-filters-overview.component.d.ts +1 -1
  115. package/src/app/modules/fabrikantencore/components/fab-flag/fab-flag.component.d.ts +1 -1
  116. package/src/app/modules/fabrikantencore/components/fab-header/fab-header.component.d.ts +1 -1
  117. package/src/app/modules/fabrikantencore/components/fab-iframe/fab-iframe.component.d.ts +12 -0
  118. package/src/app/modules/fabrikantencore/components/fab-language-select/fab-language-select.component.d.ts +1 -1
  119. package/src/app/modules/fabrikantencore/components/fab-loader/fab-loader.component.d.ts +1 -1
  120. package/src/app/modules/fabrikantencore/components/fab-product/fab-product-bestek/fab-product-bestek.component.d.ts +1 -1
  121. package/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo/fab-product-info-photo.component.d.ts +1 -1
  122. package/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo-dialog/fab-product-info-photo-dialog.component.d.ts +1 -1
  123. package/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info.component.d.ts +1 -1
  124. package/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.d.ts +6 -3
  125. package/src/app/modules/fabrikantencore/components/fab-product-select/fab-product-select.component.d.ts +1 -1
  126. package/src/app/modules/fabrikantencore/components/fab-product-tile/fab-product-tile.component.d.ts +1 -1
  127. package/src/app/modules/fabrikantencore/components/fab-range-input/fab-range-input.component.d.ts +1 -1
  128. package/src/app/modules/fabrikantencore/components/fab-start/fab-start.component.d.ts +1 -1
  129. package/src/app/modules/fabrikantencore/components/fab-svg-viewer/fab-svg-viewer.component.d.ts +1 -1
  130. package/src/app/modules/fabrikantencore/components/fab-texture/fab-texture.component.d.ts +18 -0
  131. package/src/app/modules/fabrikantencore/components/fab-webgl-viewer/fab-webgl-viewer.component.d.ts +1 -1
  132. package/src/app/modules/fabrikantencore/fabrikantencore.module.d.ts +26 -24
  133. package/src/app/modules/fabrikantencore/services/fabrikanten.service.d.ts +7 -2
  134. package/src/app/modules/fabrikantencore/services/texture.service.d.ts +12 -0
  135. package/src/app/modules/fabrikantencore/swagger/SwaggerClient.d.ts +150 -20
@@ -29,9 +29,9 @@ export class BeheerCategoriesComponent {
29
29
  });
30
30
  }
31
31
  }
32
- BeheerCategoriesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerCategoriesComponent, deps: [{ token: i1.CategoriesApiClient }], target: i0.ɵɵFactoryTarget.Component });
33
- BeheerCategoriesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerCategoriesComponent, selector: "app-beheer-categories", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\n\n<div *ngIf=\"Loading\">\n <app-fab-loader></app-fab-loader>\n</div>\n\n<div *ngIf=\"!Loading\">\n <mat-card>\n <mat-card-content>\n <table class=\"fullwidth\">\n <ng-container *ngFor=\"let categorie of CategoriesOverviewViewModel.categories\">\n <tr class=\"header\">\n <td colspan=\"3\">{{ categorie.name }}</td>\n </tr>\n <ng-container *ngFor=\"let subcategorie of categorie.subCategories\">\n <tr class=\"header2\">\n <td>&nbsp;</td>\n <td colspan=\"2\">{{ subcategorie.name }}</td>\n </tr>\n <tr *ngFor=\"let product of subcategorie.products\">\n <td>&nbsp;</td>\n <td>&nbsp;</td>\n <td>{{ product.name }}</td>\n </tr>\n <tr>\n <td>&nbsp;</td>\n </tr>\n </ng-container>\n <tr *ngFor=\"let product of categorie.products\">\n <td></td>\n <td colspan=\"2\">{{ product.name }}</td>\n </tr>\n <tr>\n <td>&nbsp;</td>\n </tr>\n </ng-container>\n <tr *ngFor=\"let product of CategoriesOverviewViewModel.products\">\n <td colspan=\"3\">{{ product.name }}</td>\n </tr>\n </table>\n </mat-card-content>\n </mat-card>\n \n</div>\n", styles: [".fullwidth{width:100%}.header td{border-bottom:2px solid #000}.header2 td{border-bottom:1px solid #000}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i4.BeheerNavComponent, selector: "app-beheer-nav" }, { kind: "component", type: i5.FabLoaderComponent, selector: "app-fab-loader" }] });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerCategoriesComponent, decorators: [{
32
+ BeheerCategoriesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerCategoriesComponent, deps: [{ token: i1.CategoriesApiClient }], target: i0.ɵɵFactoryTarget.Component });
33
+ BeheerCategoriesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerCategoriesComponent, selector: "app-beheer-categories", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\n\n<div *ngIf=\"Loading\">\n <app-fab-loader></app-fab-loader>\n</div>\n\n<div *ngIf=\"!Loading\">\n <mat-card>\n <mat-card-content>\n <table class=\"fullwidth\">\n <ng-container *ngFor=\"let categorie of CategoriesOverviewViewModel.categories\">\n <tr class=\"header\">\n <td colspan=\"3\">{{ categorie.name }}</td>\n </tr>\n <ng-container *ngFor=\"let subcategorie of categorie.subCategories\">\n <tr class=\"header2\">\n <td>&nbsp;</td>\n <td colspan=\"2\">{{ subcategorie.name }}</td>\n </tr>\n <tr *ngFor=\"let product of subcategorie.products\">\n <td>&nbsp;</td>\n <td>&nbsp;</td>\n <td>{{ product.name }}</td>\n </tr>\n <tr>\n <td>&nbsp;</td>\n </tr>\n </ng-container>\n <tr *ngFor=\"let product of categorie.products\">\n <td></td>\n <td colspan=\"2\">{{ product.name }}</td>\n </tr>\n <tr>\n <td>&nbsp;</td>\n </tr>\n </ng-container>\n <tr *ngFor=\"let product of CategoriesOverviewViewModel.products\">\n <td colspan=\"3\">{{ product.name }}</td>\n </tr>\n </table>\n </mat-card-content>\n </mat-card>\n \n</div>\n", styles: [".fullwidth{width:100%}.header td{border-bottom:2px solid #000}.header2 td{border-bottom:1px solid #000}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i4.BeheerNavComponent, selector: "app-beheer-nav" }, { kind: "component", type: i5.FabLoaderComponent, selector: "app-fab-loader" }] });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerCategoriesComponent, decorators: [{
35
35
  type: Component,
36
36
  args: [{ selector: 'app-beheer-categories', template: "<app-beheer-nav></app-beheer-nav>\n\n<div *ngIf=\"Loading\">\n <app-fab-loader></app-fab-loader>\n</div>\n\n<div *ngIf=\"!Loading\">\n <mat-card>\n <mat-card-content>\n <table class=\"fullwidth\">\n <ng-container *ngFor=\"let categorie of CategoriesOverviewViewModel.categories\">\n <tr class=\"header\">\n <td colspan=\"3\">{{ categorie.name }}</td>\n </tr>\n <ng-container *ngFor=\"let subcategorie of categorie.subCategories\">\n <tr class=\"header2\">\n <td>&nbsp;</td>\n <td colspan=\"2\">{{ subcategorie.name }}</td>\n </tr>\n <tr *ngFor=\"let product of subcategorie.products\">\n <td>&nbsp;</td>\n <td>&nbsp;</td>\n <td>{{ product.name }}</td>\n </tr>\n <tr>\n <td>&nbsp;</td>\n </tr>\n </ng-container>\n <tr *ngFor=\"let product of categorie.products\">\n <td></td>\n <td colspan=\"2\">{{ product.name }}</td>\n </tr>\n <tr>\n <td>&nbsp;</td>\n </tr>\n </ng-container>\n <tr *ngFor=\"let product of CategoriesOverviewViewModel.products\">\n <td colspan=\"3\">{{ product.name }}</td>\n </tr>\n </table>\n </mat-card-content>\n </mat-card>\n \n</div>\n", styles: [".fullwidth{width:100%}.header td{border-bottom:2px solid #000}.header2 td{border-bottom:1px solid #000}\n"] }]
37
37
  }], ctorParameters: function () { return [{ type: i1.CategoriesApiClient }]; } });
@@ -15,6 +15,8 @@ import * as i10 from "@angular/material/core";
15
15
  import * as i11 from "../../../components/fab-loader/fab-loader.component";
16
16
  export class BeheerConnectCategoryDialogComponent {
17
17
  constructor(dialogRef, data, CategoriesApiClient) {
18
+ //this.DOType = data.dotype;
19
+ //this.DONaam = data.donaam;
18
20
  this.dialogRef = dialogRef;
19
21
  this.data = data;
20
22
  this.CategoriesApiClient = CategoriesApiClient;
@@ -22,9 +24,7 @@ export class BeheerConnectCategoryDialogComponent {
22
24
  this.DOType = "DOType";
23
25
  this.DONaam = "DONaam";
24
26
  this.CategoryName = "";
25
- this.DOType = data.dotype;
26
- this.DONaam = data.donaam;
27
- this.CategoryName = data.donaam;
27
+ //this.CategoryName = data.donaam;
28
28
  }
29
29
  ngOnInit() {
30
30
  this.LoadCategories();
@@ -65,13 +65,13 @@ export class BeheerConnectCategoryDialogComponent {
65
65
  });
66
66
  }
67
67
  }
68
- BeheerConnectCategoryDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerConnectCategoryDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.CategoriesApiClient }], target: i0.ɵɵFactoryTarget.Component });
69
- BeheerConnectCategoryDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerConnectCategoryDialogComponent, selector: "app-beheer-connect-category-dialog", ngImport: i0, template: "<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\">\r\n <mat-tab-group>\r\n <mat-tab label=\"Nieuw\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>{{ DOType }}</mat-label>\r\n <input matInput [(ngModel)]=\"DONaam\" readonly>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput [(ngModel)]=\"CategoryName\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Nieuw()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Bestaand\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>{{ DOType }}</mat-label>\r\n <input matInput [(ngModel)]=\"DONaam\" readonly>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Category</mat-label>\r\n <mat-select [(ngModel)]=\"CategorySelected\">\r\n <mat-option *ngFor=\"let category of CategoriesViewModel.categories\" [value]=\"category.id\">\r\n {{category.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Bestaand()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "component", type: i8.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i11.FabLoaderComponent, selector: "app-fab-loader" }] });
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerConnectCategoryDialogComponent, decorators: [{
68
+ BeheerConnectCategoryDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerConnectCategoryDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.CategoriesApiClient }], target: i0.ɵɵFactoryTarget.Component });
69
+ BeheerConnectCategoryDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerConnectCategoryDialogComponent, selector: "app-beheer-connect-category-dialog", ngImport: i0, template: "<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\">\r\n <mat-tab-group>\r\n <mat-tab label=\"Nieuw\">\r\n <div class=\"bar\">\r\n <!--<mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>{{ DOType }}</mat-label>\r\n <input matInput [(ngModel)]=\"DONaam\" readonly>\r\n </mat-form-field>-->\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput [(ngModel)]=\"CategoryName\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Nieuw()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Bestaand\">\r\n <div class=\"bar\">\r\n <!--<mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>{{ DOType }}</mat-label>\r\n <input matInput [(ngModel)]=\"DONaam\" readonly>\r\n </mat-form-field>-->\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Category</mat-label>\r\n <mat-select [(ngModel)]=\"CategorySelected\">\r\n <mat-option *ngFor=\"let category of CategoriesViewModel.categories\" [value]=\"category.id\">\r\n {{category.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Bestaand()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "component", type: i8.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i11.FabLoaderComponent, selector: "app-fab-loader" }] });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerConnectCategoryDialogComponent, decorators: [{
71
71
  type: Component,
72
- args: [{ selector: 'app-beheer-connect-category-dialog', template: "<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\">\r\n <mat-tab-group>\r\n <mat-tab label=\"Nieuw\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>{{ DOType }}</mat-label>\r\n <input matInput [(ngModel)]=\"DONaam\" readonly>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput [(ngModel)]=\"CategoryName\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Nieuw()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Bestaand\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>{{ DOType }}</mat-label>\r\n <input matInput [(ngModel)]=\"DONaam\" readonly>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Category</mat-label>\r\n <mat-select [(ngModel)]=\"CategorySelected\">\r\n <mat-option *ngFor=\"let category of CategoriesViewModel.categories\" [value]=\"category.id\">\r\n {{category.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Bestaand()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</div>\r\n" }]
72
+ args: [{ selector: 'app-beheer-connect-category-dialog', template: "<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\">\r\n <mat-tab-group>\r\n <mat-tab label=\"Nieuw\">\r\n <div class=\"bar\">\r\n <!--<mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>{{ DOType }}</mat-label>\r\n <input matInput [(ngModel)]=\"DONaam\" readonly>\r\n </mat-form-field>-->\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput [(ngModel)]=\"CategoryName\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Nieuw()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Bestaand\">\r\n <div class=\"bar\">\r\n <!--<mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>{{ DOType }}</mat-label>\r\n <input matInput [(ngModel)]=\"DONaam\" readonly>\r\n </mat-form-field>-->\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Category</mat-label>\r\n <mat-select [(ngModel)]=\"CategorySelected\">\r\n <mat-option *ngFor=\"let category of CategoriesViewModel.categories\" [value]=\"category.id\">\r\n {{category.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Bestaand()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</div>\r\n" }]
73
73
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
74
74
  type: Inject,
75
75
  args: [MAT_DIALOG_DATA]
76
76
  }] }, { type: i2.CategoriesApiClient }]; } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLWNvbm5lY3QtY2F0ZWdvcnktZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLWNvbm5lY3QtY2F0ZWdvcnktZGlhbG9nL2JlaGVlci1jb25uZWN0LWNhdGVnb3J5LWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1jb25uZWN0LWNhdGVnb3J5LWRpYWxvZy9iZWhlZXItY29ubmVjdC1jYXRlZ29yeS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RSxPQUFPLEVBQTRDLHFCQUFxQixFQUEwQixNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7Ozs7O0FBT3pJLE1BQU0sT0FBTyxvQ0FBb0M7SUFhL0MsWUFBbUIsU0FBNkQsRUFBa0MsSUFBUyxFQUFVLG1CQUF3QztRQUExSixjQUFTLEdBQVQsU0FBUyxDQUFvRDtRQUFrQyxTQUFJLEdBQUosSUFBSSxDQUFLO1FBQVUsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQVh0SyxZQUFPLEdBQVksSUFBSSxDQUFDO1FBRXhCLFdBQU0sR0FBVyxRQUFRLENBQUM7UUFDMUIsV0FBTSxHQUFXLFFBQVEsQ0FBQztRQUUxQixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQU8vQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRTFCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBRXBCLElBQUksZUFBZSxHQUEwQixJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFFekUsZUFBZSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBRXpDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBNkIsRUFBRSxFQUFFO1lBRWpHLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBRXJCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuQyxDQUFDLEVBQUUsQ0FBQyxLQUFlLEVBQUUsRUFBRTtZQUNyQixJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRztnQkFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztpQkFDdkI7Z0JBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO2dCQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3BCO1lBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBRXBCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQTBCLEVBQUUsRUFBRTtZQUN6RixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsRUFBRSxDQUFDLEtBQWUsRUFBRSxFQUFFO1lBQ3JCLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHO2dCQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2lCQUN2QjtnQkFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUM7Z0JBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDcEI7WUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2lJQXBFVSxvQ0FBb0MsOENBYTJDLGVBQWU7cUhBYjlGLG9DQUFvQywwRUNUakQsd25EQThDQTsyRkRyQ2Esb0NBQW9DO2tCQUxoRCxTQUFTOytCQUNFLG9DQUFvQzs7MEJBaUJxQyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IENhdGVnb3JpZXNBcGlDbGllbnQsIENhdGVnb3JpZXNWaWV3TW9kZWwsIENyZWF0ZUNhdGVnb3J5UmVxdWVzdCwgQ3JlYXRlQ2F0ZWdvcnlSZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1jb25uZWN0LWNhdGVnb3J5LWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItY29ubmVjdC1jYXRlZ29yeS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItY29ubmVjdC1jYXRlZ29yeS1kaWFsb2cuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCZWhlZXJDb25uZWN0Q2F0ZWdvcnlEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcblxuICBwdWJsaWMgRE9UeXBlOiBzdHJpbmcgPSBcIkRPVHlwZVwiO1xuICBwdWJsaWMgRE9OYWFtOiBzdHJpbmcgPSBcIkRPTmFhbVwiO1xuXG4gIHB1YmxpYyBDYXRlZ29yeU5hbWU6IHN0cmluZyA9IFwiXCI7XG5cbiAgcHVibGljIENhdGVnb3J5U2VsZWN0ZWQ6IG51bWJlcjtcblxuICBwdWJsaWMgQ2F0ZWdvcmllc1ZpZXdNb2RlbDogQ2F0ZWdvcmllc1ZpZXdNb2RlbDtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QmVoZWVyQ29ubmVjdENhdGVnb3J5RGlhbG9nQ29tcG9uZW50PiwgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnksIHByaXZhdGUgQ2F0ZWdvcmllc0FwaUNsaWVudDogQ2F0ZWdvcmllc0FwaUNsaWVudCkge1xuICAgIHRoaXMuRE9UeXBlID0gZGF0YS5kb3R5cGU7XG4gICAgdGhpcy5ET05hYW0gPSBkYXRhLmRvbmFhbTtcblxuICAgIHRoaXMuQ2F0ZWdvcnlOYW1lID0gZGF0YS5kb25hYW07XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLkxvYWRDYXRlZ29yaWVzKCk7XG4gIH1cblxuICBwdWJsaWMgTmlldXcoKTogdm9pZCB7XG4gICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICB2YXIgcmVxdWVzdGNhdGVnb3J5OiBDcmVhdGVDYXRlZ29yeVJlcXVlc3QgPSBuZXcgQ3JlYXRlQ2F0ZWdvcnlSZXF1ZXN0KCk7XHJcblxyXG4gICAgcmVxdWVzdGNhdGVnb3J5Lm5hbWUgPSB0aGlzLkNhdGVnb3J5TmFtZTtcclxuXHJcbiAgICB0aGlzLkNhdGVnb3JpZXNBcGlDbGllbnQuY3JlYXRlQ2F0ZWdvcnkocmVxdWVzdGNhdGVnb3J5KS5zdWJzY3JpYmUoKG1vZGVsOiBDcmVhdGVDYXRlZ29yeVJlc3BvbnNlKSA9PiB7XHJcblxyXG4gICAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShtb2RlbC5pZCk7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxuXG4gIHB1YmxpYyBCZXN0YWFuZCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0aGlzLkNhdGVnb3J5U2VsZWN0ZWQpO1xyXG4gIH1cblxuICBwcml2YXRlIExvYWRDYXRlZ29yaWVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLkNhdGVnb3JpZXNBcGlDbGllbnQuZ2V0Q2F0ZWdvcmllc1ZpZXdNb2RlbCgpLnN1YnNjcmliZSgobW9kZWw6IENhdGVnb3JpZXNWaWV3TW9kZWwpID0+IHtcclxuICAgICAgdGhpcy5DYXRlZ29yaWVzVmlld01vZGVsID0gbW9kZWw7XHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJMb2FkaW5nXCI+XHJcbiAgPGFwcC1mYWItbG9hZGVyPjwvYXBwLWZhYi1sb2FkZXI+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cIiFMb2FkaW5nXCI+XHJcbiAgPG1hdC10YWItZ3JvdXA+XHJcbiAgICA8bWF0LXRhYiBsYWJlbD1cIk5pZXV3XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXJcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgRE9UeXBlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJET05hYW1cIiByZWFkb25seT5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+TmFhbTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiQ2F0ZWdvcnlOYW1lXCI+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyIHRvb2wtYmFyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiTmlldXcoKVwiPlRvZXZvZWdlbjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LXRhYj5cclxuICAgIDxtYXQtdGFiIGxhYmVsPVwiQmVzdGFhbmRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhclwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBET1R5cGUgfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cIkRPTmFhbVwiIHJlYWRvbmx5PlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5DYXRlZ29yeTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJDYXRlZ29yeVNlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBjYXRlZ29yeSBvZiBDYXRlZ29yaWVzVmlld01vZGVsLmNhdGVnb3JpZXNcIiBbdmFsdWVdPVwiY2F0ZWdvcnkuaWRcIj5cclxuICAgICAgICAgICAgICB7e2NhdGVnb3J5Lm5hbWV9fVxyXG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyIHRvb2wtYmFyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQmVzdGFhbmQoKVwiPlRvZXZvZWdlbjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LXRhYj5cclxuICA8L21hdC10YWItZ3JvdXA+XHJcbjwvZGl2PlxyXG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLWNvbm5lY3QtY2F0ZWdvcnktZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLWNvbm5lY3QtY2F0ZWdvcnktZGlhbG9nL2JlaGVlci1jb25uZWN0LWNhdGVnb3J5LWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1jb25uZWN0LWNhdGVnb3J5LWRpYWxvZy9iZWhlZXItY29ubmVjdC1jYXRlZ29yeS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RSxPQUFPLEVBQTRDLHFCQUFxQixFQUEwQixNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7Ozs7O0FBT3pJLE1BQU0sT0FBTyxvQ0FBb0M7SUFhL0MsWUFBbUIsU0FBNkQsRUFBa0MsSUFBUyxFQUFVLG1CQUF3QztRQUMzSyw0QkFBNEI7UUFDNUIsNEJBQTRCO1FBRlgsY0FBUyxHQUFULFNBQVMsQ0FBb0Q7UUFBa0MsU0FBSSxHQUFKLElBQUksQ0FBSztRQUFVLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFYdEssWUFBTyxHQUFZLElBQUksQ0FBQztRQUV4QixXQUFNLEdBQVcsUUFBUSxDQUFDO1FBQzFCLFdBQU0sR0FBVyxRQUFRLENBQUM7UUFFMUIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFVL0Isa0NBQWtDO0lBQ3BDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFFcEIsSUFBSSxlQUFlLEdBQTBCLElBQUkscUJBQXFCLEVBQUUsQ0FBQztRQUV6RSxlQUFlLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFFekMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUE2QixFQUFFLEVBQUU7WUFFakcsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFFckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLENBQUMsRUFBRSxDQUFDLEtBQWUsRUFBRSxFQUFFO1lBQ3JCLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHO2dCQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2lCQUN2QjtnQkFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUM7Z0JBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDcEI7WUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVPLGNBQWM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFFcEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHNCQUFzQixFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBMEIsRUFBRSxFQUFFO1lBQ3pGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7WUFDckIsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUc7Z0JBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7aUJBQ3ZCO2dCQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztnQkFDM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNwQjtZQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7aUlBcEVVLG9DQUFvQyw4Q0FhMkMsZUFBZTtxSEFiOUYsb0NBQW9DLDBFQ1RqRCxzb0RBOENBOzJGRHJDYSxvQ0FBb0M7a0JBTGhELFNBQVM7K0JBQ0Usb0NBQW9DOzswQkFpQnFDLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgQ2F0ZWdvcmllc0FwaUNsaWVudCwgQ2F0ZWdvcmllc1ZpZXdNb2RlbCwgQ3JlYXRlQ2F0ZWdvcnlSZXF1ZXN0LCBDcmVhdGVDYXRlZ29yeVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYmVoZWVyLWNvbm5lY3QtY2F0ZWdvcnktZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1jb25uZWN0LWNhdGVnb3J5LWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1jb25uZWN0LWNhdGVnb3J5LWRpYWxvZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJlaGVlckNvbm5lY3RDYXRlZ29yeURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIExvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHB1YmxpYyBET1R5cGU6IHN0cmluZyA9IFwiRE9UeXBlXCI7XG4gIHB1YmxpYyBET05hYW06IHN0cmluZyA9IFwiRE9OYWFtXCI7XG5cbiAgcHVibGljIENhdGVnb3J5TmFtZTogc3RyaW5nID0gXCJcIjtcblxuICBwdWJsaWMgQ2F0ZWdvcnlTZWxlY3RlZDogbnVtYmVyO1xuXG4gIHB1YmxpYyBDYXRlZ29yaWVzVmlld01vZGVsOiBDYXRlZ29yaWVzVmlld01vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxCZWhlZXJDb25uZWN0Q2F0ZWdvcnlEaWFsb2dDb21wb25lbnQ+LCBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSwgcHJpdmF0ZSBDYXRlZ29yaWVzQXBpQ2xpZW50OiBDYXRlZ29yaWVzQXBpQ2xpZW50KSB7XG4gICAgLy90aGlzLkRPVHlwZSA9IGRhdGEuZG90eXBlO1xuICAgIC8vdGhpcy5ET05hYW0gPSBkYXRhLmRvbmFhbTtcblxuICAgIC8vdGhpcy5DYXRlZ29yeU5hbWUgPSBkYXRhLmRvbmFhbTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuTG9hZENhdGVnb3JpZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBOaWV1dygpOiB2b2lkIHtcbiAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgIHZhciByZXF1ZXN0Y2F0ZWdvcnk6IENyZWF0ZUNhdGVnb3J5UmVxdWVzdCA9IG5ldyBDcmVhdGVDYXRlZ29yeVJlcXVlc3QoKTtcclxuXHJcbiAgICByZXF1ZXN0Y2F0ZWdvcnkubmFtZSA9IHRoaXMuQ2F0ZWdvcnlOYW1lO1xyXG5cclxuICAgIHRoaXMuQ2F0ZWdvcmllc0FwaUNsaWVudC5jcmVhdGVDYXRlZ29yeShyZXF1ZXN0Y2F0ZWdvcnkpLnN1YnNjcmliZSgobW9kZWw6IENyZWF0ZUNhdGVnb3J5UmVzcG9uc2UpID0+IHtcclxuXHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKG1vZGVsLmlkKTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XG5cbiAgcHVibGljIEJlc3RhYW5kKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuQ2F0ZWdvcnlTZWxlY3RlZCk7XHJcbiAgfVxuXG4gIHByaXZhdGUgTG9hZENhdGVnb3JpZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMuQ2F0ZWdvcmllc0FwaUNsaWVudC5nZXRDYXRlZ29yaWVzVmlld01vZGVsKCkuc3Vic2NyaWJlKChtb2RlbDogQ2F0ZWdvcmllc1ZpZXdNb2RlbCkgPT4ge1xyXG4gICAgICB0aGlzLkNhdGVnb3JpZXNWaWV3TW9kZWwgPSBtb2RlbDtcclxuICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cIkxvYWRpbmdcIj5cclxuICA8YXBwLWZhYi1sb2FkZXI+PC9hcHAtZmFiLWxvYWRlcj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiIUxvYWRpbmdcIj5cclxuICA8bWF0LXRhYi1ncm91cD5cclxuICAgIDxtYXQtdGFiIGxhYmVsPVwiTmlldXdcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhclwiPlxyXG4gICAgICAgIDwhLS08bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgRE9UeXBlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJET05hYW1cIiByZWFkb25seT5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPi0tPlxyXG5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+TmFhbTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiQ2F0ZWdvcnlOYW1lXCI+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyIHRvb2wtYmFyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiTmlldXcoKVwiPlRvZXZvZWdlbjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LXRhYj5cclxuICAgIDxtYXQtdGFiIGxhYmVsPVwiQmVzdGFhbmRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhclwiPlxyXG4gICAgICAgIDwhLS08bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgRE9UeXBlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJET05hYW1cIiByZWFkb25seT5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPi0tPlxyXG5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+Q2F0ZWdvcnk8L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwiQ2F0ZWdvcnlTZWxlY3RlZFwiPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2YgQ2F0ZWdvcmllc1ZpZXdNb2RlbC5jYXRlZ29yaWVzXCIgW3ZhbHVlXT1cImNhdGVnb3J5LmlkXCI+XHJcbiAgICAgICAgICAgICAge3tjYXRlZ29yeS5uYW1lfX1cclxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhciB0b29sLWJhclwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkJlc3RhYW5kKClcIj5Ub2V2b2VnZW48L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC10YWI+XHJcbiAgPC9tYXQtdGFiLWdyb3VwPlxyXG48L2Rpdj5cclxuIl19
@@ -17,9 +17,9 @@ export class BeheerDisplayEboComponent {
17
17
  return text;
18
18
  }
19
19
  }
20
- BeheerDisplayEboComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerDisplayEboComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
- BeheerDisplayEboComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerDisplayEboComponent, selector: "app-beheer-display-ebo", inputs: { ebo: "ebo" }, ngImport: i0, template: "<!--<div class=\"row\">\r\n <div class=\"flex-auto\" *ngFor=\"let do of ebo.dOs\">\r\n <mat-form-field class=\"full-width\" appearance=\"fill\">\r\n <mat-label>{{ do.doType }}</mat-label>\r\n <input matInput value=\"{{do.doNaam}}\" [readonly]=\"true\">\r\n </mat-form-field>\r\n </div>\r\n</div>-->\r\n<div>\r\n {{ GetText() }}\r\n</div>\r\n", styles: [".row{display:flex}.flex-auto{flex:auto}\n"] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerDisplayEboComponent, decorators: [{
20
+ BeheerDisplayEboComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerDisplayEboComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
+ BeheerDisplayEboComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerDisplayEboComponent, selector: "app-beheer-display-ebo", inputs: { ebo: "ebo" }, ngImport: i0, template: "<!--<div class=\"row\">\r\n <div class=\"flex-auto\" *ngFor=\"let do of ebo.dOs\">\r\n <mat-form-field class=\"full-width\" appearance=\"fill\">\r\n <mat-label>{{ do.doType }}</mat-label>\r\n <input matInput value=\"{{do.doNaam}}\" [readonly]=\"true\">\r\n </mat-form-field>\r\n </div>\r\n</div>-->\r\n<div>\r\n {{ GetText() }}\r\n</div>\r\n", styles: [".row{display:flex}.flex-auto{flex:auto}\n"] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerDisplayEboComponent, decorators: [{
23
23
  type: Component,
24
24
  args: [{ selector: 'app-beheer-display-ebo', template: "<!--<div class=\"row\">\r\n <div class=\"flex-auto\" *ngFor=\"let do of ebo.dOs\">\r\n <mat-form-field class=\"full-width\" appearance=\"fill\">\r\n <mat-label>{{ do.doType }}</mat-label>\r\n <input matInput value=\"{{do.doNaam}}\" [readonly]=\"true\">\r\n </mat-form-field>\r\n </div>\r\n</div>-->\r\n<div>\r\n {{ GetText() }}\r\n</div>\r\n", styles: [".row{display:flex}.flex-auto{flex:auto}\n"] }]
25
25
  }], ctorParameters: function () { return []; }, propDecorators: { ebo: [{
@@ -1,7 +1,7 @@
1
1
  import { Component } from '@angular/core';
2
- import { KoppelEBOOptieRequest, ConnectEBODOCategoryRequest, EBOConnectRequestModel } from '../../../../swagger/SwaggerClient';
2
+ import { ConnectEBODOCategoryRequest, EBOConnectRequestModel, ConnectBCBEBODORequest } from '../../../../swagger/SwaggerClient';
3
3
  import { BeheerConnectCategoryDialogComponent } from '../../beheer-connect-category-dialog/beheer-connect-category-dialog.component';
4
- import { BeheerProductsKoppelFilteroptionDailogComponent } from '../../beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component';
4
+ import { BeheerSelectFilterDialogComponent } from '../../beheer-select-filter-dialog/beheer-select-filter-dialog.component';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "../../../../swagger/SwaggerClient";
7
7
  import * as i2 from "../../../../services/importsets.service";
@@ -31,50 +31,61 @@ export class BeheerEboKoppelComponent {
31
31
  return this.ImportSetsService.LoadingImportSets || this.LoadingModel;
32
32
  }
33
33
  Connect(id) {
34
- var dialogRef = this.dialog.open(BeheerProductsKoppelFilteroptionDailogComponent);
34
+ var dialogRef = this.dialog.open(BeheerSelectFilterDialogComponent, {
35
+ data: {}
36
+ });
35
37
  dialogRef.afterClosed().subscribe((result) => {
36
- if (result != null) {
37
- if (result.filteroption != null && result.filteroption > 0) {
38
- this.LoadingModel = true;
39
- var request = new KoppelEBOOptieRequest();
40
- request.bcbebodoId = id;
41
- request.filterOptionId = result.filteroption;
42
- request.bcbImportSetId = -1;
43
- this.EBOKoppelApiClient.koppelEBOOptie(request).subscribe((model) => {
44
- this.LoadModel();
45
- }, (error) => {
46
- alert(error);
47
- });
48
- }
49
- else if (result.filter != null) {
50
- //var request2 = new KoppelManyNameRequest();
51
- //request2.bcbProductEigenschapOptieId = id;
52
- //request2.filterId = result.filter;
53
- //this.ProductsApiClient.koppelManyName(request2).subscribe((model: KoppelManyNameResponse) => {
54
- // this.ProductsService.Reload();
55
- //}, (error: Response) => {
56
- // alert(error);
57
- //});
58
- alert("todo");
38
+ if (result?.filter != null) {
39
+ if (result.filter > 0) {
40
+ if (confirm("Weet je het zeker?")) {
41
+ this.LoadingModel = true;
42
+ this.ChangeDetectorRef.detectChanges();
43
+ var request = new ConnectBCBEBODORequest();
44
+ request.filterId = result.filter;
45
+ request.bcbebodoId = id;
46
+ request.bcbImportSetId = this.ImportSetsService.BCBImportSetSelected;
47
+ request.all = false;
48
+ this.EBOKoppelApiClient.connectBCBEBODOFilter(request).subscribe(() => {
49
+ this.LoadModel();
50
+ }, (error) => {
51
+ alert(error);
52
+ });
53
+ }
59
54
  }
60
55
  }
61
- //if (result != null && result > 0) {
62
- //}
63
56
  });
64
57
  }
65
58
  ConnectMany(id) {
66
- //var dialogRef = this.dialog.open(BeheerProductsConnectManynameDialogComponent, {
67
- // data: {
68
- // bcbebodoid: id
69
- // }
70
- //});
59
+ var dialogRef = this.dialog.open(BeheerSelectFilterDialogComponent, {
60
+ data: {}
61
+ });
62
+ dialogRef.afterClosed().subscribe((result) => {
63
+ if (result?.filter != null) {
64
+ if (result.filter > 0) {
65
+ if (confirm("Weet je het zeker?")) {
66
+ this.LoadingModel = true;
67
+ this.ChangeDetectorRef.detectChanges();
68
+ var request = new ConnectBCBEBODORequest();
69
+ request.filterId = result.filter;
70
+ request.bcbebodoId = id;
71
+ request.bcbImportSetId = this.ImportSetsService.BCBImportSetSelected;
72
+ request.all = true;
73
+ this.EBOKoppelApiClient.connectBCBEBODOFilter(request).subscribe(() => {
74
+ this.LoadModel();
75
+ }, (error) => {
76
+ alert(error);
77
+ });
78
+ }
79
+ }
80
+ }
81
+ });
71
82
  }
72
- ConnectCategory(id, dotype, donaam) {
83
+ ConnectCategory(id) {
73
84
  var dialogRef = this.dialog.open(BeheerConnectCategoryDialogComponent, {
74
- data: {
75
- dotype: dotype,
76
- donaam: donaam
77
- }
85
+ //data: {
86
+ // dotype: dotype,
87
+ // donaam: donaam
88
+ //}
78
89
  });
79
90
  dialogRef.afterClosed().subscribe((result) => {
80
91
  if (result != null && result > 0) {
@@ -94,22 +105,25 @@ export class BeheerEboKoppelComponent {
94
105
  LoadModel() {
95
106
  if (this.ImportSetsService.BCBImportSetSelected > 0) {
96
107
  this.LoadingModel = true;
108
+ this.ChangeDetectorRef.detectChanges();
97
109
  var model = new EBOConnectRequestModel();
98
110
  model.importSetId = this.ImportSetsService.BCBImportSetSelected;
99
111
  this.EBOKoppelApiClient.getEBOKoppelViewModel(model).subscribe((model) => {
100
112
  this.EBOKoppelViewModel = model;
101
113
  this.LoadingModel = false;
114
+ this.ChangeDetectorRef.detectChanges();
102
115
  });
103
116
  }
104
117
  else {
105
118
  this.LoadingModel = false;
119
+ this.ChangeDetectorRef.detectChanges();
106
120
  }
107
121
  }
108
122
  }
109
- BeheerEboKoppelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerEboKoppelComponent, deps: [{ token: i1.EBOKoppelApiClient }, { token: i2.ImportSetsService }, { token: i3.MatDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
110
- BeheerEboKoppelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerEboKoppelComponent, selector: "app-beheer-ebo-koppel", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading()\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!Loading()\">\r\n <mat-card>\r\n <mat-card-content>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\" *ngIf=\"!ImportSetsService.LoadingImportSets\">\r\n <mat-label>Import set</mat-label>\r\n <mat-select [(ngModel)]=\"ImportSetsService.BCBImportSetSelected\" (change)=\"LoadModel()\">\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)=\"LoadModel()\">\r\n Refresh\r\n </button>\r\n </mat-card-content>\r\n </mat-card>\r\n <mat-accordion *ngIf=\"EBOKoppelViewModel != null\">\r\n <mat-expansion-panel *ngFor=\"let type of EBOKoppelViewModel.eboKoppelTypeViewModels\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ type.type }}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n {{ type.namen.length }} EBO(s)\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div>\r\n <mat-card *ngFor=\"let do of type.namen\" class=\"card\">\r\n <mat-card-content>\r\n <div class=\"row\">\r\n <div class=\"text-div\">\r\n {{ do.doNaam }}\r\n </div>\r\n <div *ngIf=\"!do.connected\">\r\n <!--<button mat-raised-button (click)=\"Connect(do.id)\">\r\n FilterOption\r\n </button>-->\r\n <!--<button mat-raised-button (click)=\"ConnectMany(do.id)\">\r\n FilterOptionMany\r\n </button>-->\r\n <!--<button mat-raised-button (click)=\"ConnectCategory(do.id, do.doType, do.doNaam)\">\r\n Category\r\n </button>-->\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </mat-expansion-panel>\r\n\r\n </mat-accordion>\r\n</div>\r\n", styles: [".card{margin:3px}.row{display:flex;align-items:center;cursor:pointer}.icon-div{width:24px;height:24px}.text-div{flex:auto}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i8.MatAccordion, selector: "mat-accordion", inputs: ["multi", "hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i8.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i8.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { kind: "directive", type: i8.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i8.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "component", type: i9.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i9.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i10.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i11.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i12.BeheerNavComponent, selector: "app-beheer-nav" }, { kind: "component", type: i13.FabLoaderComponent, selector: "app-fab-loader" }] });
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerEboKoppelComponent, decorators: [{
123
+ BeheerEboKoppelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerEboKoppelComponent, deps: [{ token: i1.EBOKoppelApiClient }, { token: i2.ImportSetsService }, { token: i3.MatDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
124
+ BeheerEboKoppelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerEboKoppelComponent, selector: "app-beheer-ebo-koppel", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading()\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!Loading()\" class=\"main-content\">\r\n <mat-card>\r\n <mat-card-content>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\" *ngIf=\"!ImportSetsService.LoadingImportSets\">\r\n <mat-label>Import set</mat-label>\r\n <mat-select [(ngModel)]=\"ImportSetsService.BCBImportSetSelected\" (change)=\"LoadModel()\">\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)=\"LoadModel()\">\r\n Refresh\r\n </button>\r\n </mat-card-content>\r\n </mat-card>\r\n <br />\r\n <mat-accordion *ngIf=\"EBOKoppelViewModel != null\">\r\n <mat-expansion-panel *ngFor=\"let type of EBOKoppelViewModel.eboKoppelTypeViewModels\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ type.type }}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n {{ type.namen.length }}\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div>\r\n <mat-card *ngFor=\"let naam of type.namen\" class=\"card\">\r\n <mat-card-content>\r\n <div class=\"row\">\r\n <div class=\"text-div\">\r\n {{ naam.doNaam }} ({{ naam.ebOs.length }})\r\n </div>\r\n <div class=\"button-row\">\r\n <button mat-raised-button (click)=\"Connect(naam.ebOs[0].id)\">\r\n FilterOption\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectMany(naam.ebOs[0].id)\">\r\n FilterOptionMany\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectCategory(naam.ebOs[0].id)\">\r\n Category\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let ebo of naam.ebOs\" class=\"row eborow\">\r\n <div class=\"text-div\">\r\n {{ ebo.eboNaam }}\r\n </div>\r\n <div>\r\n <div *ngFor=\"let filteroption of ebo.filterOptions\">\r\n {{ filteroption.filterName }}: {{ filteroption.filterOptionName }}\r\n </div>\r\n\r\n <div *ngFor=\"let category of ebo.categories\">\r\n Category: {{ category.categoryName }}\r\n </div>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </mat-expansion-panel>\r\n\r\n </mat-accordion>\r\n</div>\r\n", styles: [".card{margin:3px}.row{display:flex;align-items:center;cursor:pointer}.eborow{padding:3px;border-bottom:1px solid #000}.main-content{padding:5px}.icon-div{width:24px;height:24px}.text-div{flex:auto}.button-row{display:flex;gap:5px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i8.MatAccordion, selector: "mat-accordion", inputs: ["multi", "hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i8.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i8.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { kind: "directive", type: i8.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i8.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "component", type: i9.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i9.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i10.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i11.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i12.BeheerNavComponent, selector: "app-beheer-nav" }, { kind: "component", type: i13.FabLoaderComponent, selector: "app-fab-loader" }] });
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerEboKoppelComponent, decorators: [{
112
126
  type: Component,
113
- args: [{ selector: 'app-beheer-ebo-koppel', template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading()\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!Loading()\">\r\n <mat-card>\r\n <mat-card-content>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\" *ngIf=\"!ImportSetsService.LoadingImportSets\">\r\n <mat-label>Import set</mat-label>\r\n <mat-select [(ngModel)]=\"ImportSetsService.BCBImportSetSelected\" (change)=\"LoadModel()\">\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)=\"LoadModel()\">\r\n Refresh\r\n </button>\r\n </mat-card-content>\r\n </mat-card>\r\n <mat-accordion *ngIf=\"EBOKoppelViewModel != null\">\r\n <mat-expansion-panel *ngFor=\"let type of EBOKoppelViewModel.eboKoppelTypeViewModels\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ type.type }}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n {{ type.namen.length }} EBO(s)\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div>\r\n <mat-card *ngFor=\"let do of type.namen\" class=\"card\">\r\n <mat-card-content>\r\n <div class=\"row\">\r\n <div class=\"text-div\">\r\n {{ do.doNaam }}\r\n </div>\r\n <div *ngIf=\"!do.connected\">\r\n <!--<button mat-raised-button (click)=\"Connect(do.id)\">\r\n FilterOption\r\n </button>-->\r\n <!--<button mat-raised-button (click)=\"ConnectMany(do.id)\">\r\n FilterOptionMany\r\n </button>-->\r\n <!--<button mat-raised-button (click)=\"ConnectCategory(do.id, do.doType, do.doNaam)\">\r\n Category\r\n </button>-->\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </mat-expansion-panel>\r\n\r\n </mat-accordion>\r\n</div>\r\n", styles: [".card{margin:3px}.row{display:flex;align-items:center;cursor:pointer}.icon-div{width:24px;height:24px}.text-div{flex:auto}\n"] }]
127
+ args: [{ selector: 'app-beheer-ebo-koppel', template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading()\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!Loading()\" class=\"main-content\">\r\n <mat-card>\r\n <mat-card-content>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\" *ngIf=\"!ImportSetsService.LoadingImportSets\">\r\n <mat-label>Import set</mat-label>\r\n <mat-select [(ngModel)]=\"ImportSetsService.BCBImportSetSelected\" (change)=\"LoadModel()\">\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)=\"LoadModel()\">\r\n Refresh\r\n </button>\r\n </mat-card-content>\r\n </mat-card>\r\n <br />\r\n <mat-accordion *ngIf=\"EBOKoppelViewModel != null\">\r\n <mat-expansion-panel *ngFor=\"let type of EBOKoppelViewModel.eboKoppelTypeViewModels\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ type.type }}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n {{ type.namen.length }}\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div>\r\n <mat-card *ngFor=\"let naam of type.namen\" class=\"card\">\r\n <mat-card-content>\r\n <div class=\"row\">\r\n <div class=\"text-div\">\r\n {{ naam.doNaam }} ({{ naam.ebOs.length }})\r\n </div>\r\n <div class=\"button-row\">\r\n <button mat-raised-button (click)=\"Connect(naam.ebOs[0].id)\">\r\n FilterOption\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectMany(naam.ebOs[0].id)\">\r\n FilterOptionMany\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectCategory(naam.ebOs[0].id)\">\r\n Category\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let ebo of naam.ebOs\" class=\"row eborow\">\r\n <div class=\"text-div\">\r\n {{ ebo.eboNaam }}\r\n </div>\r\n <div>\r\n <div *ngFor=\"let filteroption of ebo.filterOptions\">\r\n {{ filteroption.filterName }}: {{ filteroption.filterOptionName }}\r\n </div>\r\n\r\n <div *ngFor=\"let category of ebo.categories\">\r\n Category: {{ category.categoryName }}\r\n </div>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </mat-expansion-panel>\r\n\r\n </mat-accordion>\r\n</div>\r\n", styles: [".card{margin:3px}.row{display:flex;align-items:center;cursor:pointer}.eborow{padding:3px;border-bottom:1px solid #000}.main-content{padding:5px}.icon-div{width:24px;height:24px}.text-div{flex:auto}.button-row{display:flex;gap:5px}\n"] }]
114
128
  }], ctorParameters: function () { return [{ type: i1.EBOKoppelApiClient }, { type: i2.ImportSetsService }, { type: i3.MatDialog }, { type: i0.ChangeDetectorRef }]; } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLWViby1rb3BwZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItZWJvLWtvcHBlbC9iZWhlZXItZWJvLWtvcHBlbC9iZWhlZXItZWJvLWtvcHBlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1lYm8ta29wcGVsL2JlaGVlci1lYm8ta29wcGVsL2JlaGVlci1lYm8ta29wcGVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3JFLE9BQU8sRUFBMEMscUJBQXFCLEVBQTBCLDJCQUEyQixFQUFnQyxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdOLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBQ3JJLE9BQU8sRUFBRSwrQ0FBK0MsRUFBRSxNQUFNLHVIQUF1SCxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFPeEwsTUFBTSxPQUFPLHdCQUF3QjtJQU1uQyxZQUNVLGtCQUFzQyxFQUN2QyxpQkFBb0MsRUFDcEMsTUFBaUIsRUFDaEIsaUJBQW9DO1FBSHBDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdkMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFOdkMsaUJBQVksR0FBWSxLQUFLLENBQUM7SUFRckMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FB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QkFDckIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNmLENBQUMsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxTQUFTO1FBQ2QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxFQUFFO1lBQ25ELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBRXpCLElBQUksS0FBSyxHQUFHLElBQUksc0JBQXNCLEVBQUUsQ0FBQztZQUV6QyxLQUFLLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQztZQUVoRSxJQUFJLENBQUMsa0JBQWtCLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBeUIsRUFBRSxFQUFFO2dCQUMzRixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztZQUM1QixDQUFDLENBQUMsQ0FBQztTQUNKO2FBQ0k7WUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQjtJQUNILENBQUM7O3FIQS9HVSx3QkFBd0I7eUdBQXhCLHdCQUF3Qiw2RENackMsNnJFQTBEQTsyRkQ5Q2Esd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBJbXBvcnRTZXRzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2ltcG9ydHNldHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEVCT0tvcHBlbEFwaUNsaWVudCwgRUJPS29wcGVsVmlld01vZGVsLCBLb3BwZWxFQk9PcHRpZVJlcXVlc3QsIEtvcHBlbEVCT09wdGllUmVzcG9uc2UsIENvbm5lY3RFQk9ET0NhdGVnb3J5UmVxdWVzdCwgQ29ubmVjdEVCT0RPQ2F0ZWdvcnlSZXNwb25zZSwgRUJPQ29ubmVjdFJlcXVlc3RNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcbmltcG9ydCB7IEJlaGVlckNvbm5lY3RDYXRlZ29yeURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2JlaGVlci1jb25uZWN0LWNhdGVnb3J5LWRpYWxvZy9iZWhlZXItY29ubmVjdC1jYXRlZ29yeS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyUHJvZHVjdHNLb3BwZWxGaWx0ZXJvcHRpb25EYWlsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYmVoZWVyLWViby1rb3BwZWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItZWJvLWtvcHBlbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYmVoZWVyLWViby1rb3BwZWwuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmVoZWVyRWJvS29wcGVsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHVibGljIEVCT0tvcHBlbFZpZXdNb2RlbDogRUJPS29wcGVsVmlld01vZGVsO1xyXG5cclxuICBwdWJsaWMgTG9hZGluZ01vZGVsOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBFQk9Lb3BwZWxBcGlDbGllbnQ6IEVCT0tvcHBlbEFwaUNsaWVudCxcclxuICAgIHB1YmxpYyBJbXBvcnRTZXRzU2VydmljZTogSW1wb3J0U2V0c1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLkltcG9ydFNldHNTZXJ2aWNlLkxvYWRJbXBvcnRTZXRzKHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIExvYWRpbmcoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5JbXBvcnRTZXRzU2VydmljZS5Mb2FkaW5nSW1wb3J0U2V0cyB8fCB0aGlzLkxvYWRpbmdNb2RlbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBDb25uZWN0KGlkOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlclByb2R1Y3RzS29wcGVsRmlsdGVyb3B0aW9uRGFpbG9nQ29tcG9uZW50KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQgIT0gbnVsbCkge1xyXG4gICAgICAgIGlmIChyZXN1bHQuZmlsdGVyb3B0aW9uICE9IG51bGwgJiYgcmVzdWx0LmZpbHRlcm9wdGlvbiA+IDApIHtcclxuICAgICAgICAgIHRoaXMuTG9hZGluZ01vZGVsID0gdHJ1ZTtcclxuICAgICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IEtvcHBlbEVCT09wdGllUmVxdWVzdCgpO1xyXG5cclxuICAgICAgICAgIHJlcXVlc3QuYmNiZWJvZG9JZCA9IGlkO1xyXG4gICAgICAgICAgcmVxdWVzdC5maWx0ZXJPcHRpb25JZCA9IHJlc3VsdC5maWx0ZXJvcHRpb247XHJcbiAgICAgICAgICByZXF1ZXN0LmJjYkltcG9ydFNldElkID0gLTE7XHJcblxyXG4gICAgICAgICAgdGhpcy5FQk9Lb3BwZWxBcGlDbGllbnQua29wcGVsRUJPT3B0aWUocmVxdWVzdCkuc3Vic2NyaWJlKChtb2RlbDogS29wcGVsRUJPT3B0aWVSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLkxvYWRNb2RlbCgpO1xyXG4gICAgICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICBhbGVydChlcnJvcik7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAocmVzdWx0LmZpbHRlciAhPSBudWxsKSB7XHJcbiAgICAgICAgICAvL3ZhciByZXF1ZXN0MiA9IG5ldyBLb3BwZWxNYW55TmFtZVJlcXVlc3QoKTtcclxuXHJcbiAgICAgICAgICAvL3JlcXVlc3QyLmJjYlByb2R1Y3RFaWdlbnNjaGFwT3B0aWVJZCA9IGlkO1xyXG4gICAgICAgICAgLy9yZXF1ZXN0Mi5maWx0ZXJJZCA9IHJlc3VsdC5maWx0ZXI7XHJcblxyXG4gICAgICAgICAgLy90aGlzLlByb2R1Y3RzQXBpQ2xpZW50LmtvcHBlbE1hbnlOYW1lKHJlcXVlc3QyKS5zdWJzY3JpYmUoKG1vZGVsOiBLb3BwZWxNYW55TmFtZVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAvLyAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuUmVsb2FkKCk7XHJcbiAgICAgICAgICAvL30sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIC8vICBhbGVydChlcnJvcik7XHJcbiAgICAgICAgICAvL30pO1xyXG4gICAgICAgICAgYWxlcnQoXCJ0b2RvXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvL2lmIChyZXN1bHQgIT0gbnVsbCAmJiByZXN1bHQgPiAwKSB7XHJcblxyXG4gICAgICAvL31cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIENvbm5lY3RNYW55KGlkOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIC8vdmFyIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQmVoZWVyUHJvZHVjdHNDb25uZWN0TWFueW5hbWVEaWFsb2dDb21wb25lbnQsIHtcclxuICAgIC8vICBkYXRhOiB7XHJcbiAgICAvLyAgICBiY2JlYm9kb2lkOiBpZFxyXG4gICAgLy8gIH1cclxuICAgIC8vfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgQ29ubmVjdENhdGVnb3J5KGlkOiBudW1iZXIsIGRvdHlwZTogc3RyaW5nLCBkb25hYW06IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdmFyIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQmVoZWVyQ29ubmVjdENhdGVnb3J5RGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBkb3R5cGU6IGRvdHlwZSxcclxuICAgICAgICBkb25hYW06IGRvbmFhbVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQgIT0gbnVsbCAmJiByZXN1bHQgPiAwKSB7XHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nTW9kZWwgPSB0cnVlO1xyXG4gICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IENvbm5lY3RFQk9ET0NhdGVnb3J5UmVxdWVzdCgpO1xyXG5cclxuICAgICAgICByZXF1ZXN0LmJjYkltcG9ydFNldElkID0gdGhpcy5JbXBvcnRTZXRzU2VydmljZS5CQ0JJbXBvcnRTZXRTZWxlY3RlZDtcclxuICAgICAgICByZXF1ZXN0LmJjYmVib2RvSWQgPSBpZDtcclxuICAgICAgICByZXF1ZXN0LmNhdGVnb3J5SWQgPSByZXN1bHQ7XHJcblxyXG4gICAgICAgIHRoaXMuRUJPS29wcGVsQXBpQ2xpZW50LmNvbm5lY3RFQk9ET0NhdGVnb3J5KHJlcXVlc3QpLnN1YnNjcmliZSgobW9kZWw6IENvbm5lY3RFQk9ET0NhdGVnb3J5UmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHRoaXMuTG9hZE1vZGVsKCk7XHJcbiAgICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgYWxlcnQoZXJyb3IpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBMb2FkTW9kZWwoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5JbXBvcnRTZXRzU2VydmljZS5CQ0JJbXBvcnRTZXRTZWxlY3RlZCA+IDApIHtcclxuICAgICAgdGhpcy5Mb2FkaW5nTW9kZWwgPSB0cnVlO1xyXG5cclxuICAgICAgdmFyIG1vZGVsID0gbmV3IEVCT0Nvbm5lY3RSZXF1ZXN0TW9kZWwoKTtcclxuXHJcbiAgICAgIG1vZGVsLmltcG9ydFNldElkID0gdGhpcy5JbXBvcnRTZXRzU2VydmljZS5CQ0JJbXBvcnRTZXRTZWxlY3RlZDtcclxuXHJcbiAgICAgIHRoaXMuRUJPS29wcGVsQXBpQ2xpZW50LmdldEVCT0tvcHBlbFZpZXdNb2RlbChtb2RlbCkuc3Vic2NyaWJlKChtb2RlbDogRUJPS29wcGVsVmlld01vZGVsKSA9PiB7XHJcbiAgICAgICAgdGhpcy5FQk9Lb3BwZWxWaWV3TW9kZWwgPSBtb2RlbDtcclxuICAgICAgICB0aGlzLkxvYWRpbmdNb2RlbCA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLkxvYWRpbmdNb2RlbCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIiwiPGFwcC1iZWhlZXItbmF2PjwvYXBwLWJlaGVlci1uYXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiTG9hZGluZygpXCI+XHJcbiAgPGFwcC1mYWItbG9hZGVyPjwvYXBwLWZhYi1sb2FkZXI+XHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwiIUxvYWRpbmcoKVwiPlxyXG4gIDxtYXQtY2FyZD5cclxuICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIiAqbmdJZj1cIiFJbXBvcnRTZXRzU2VydmljZS5Mb2FkaW5nSW1wb3J0U2V0c1wiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+SW1wb3J0IHNldDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwiSW1wb3J0U2V0c1NlcnZpY2UuQkNCSW1wb3J0U2V0U2VsZWN0ZWRcIiAoY2hhbmdlKT1cIkxvYWRNb2RlbCgpXCI+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgaW1wb3J0c2V0IG9mIEltcG9ydFNldHNTZXJ2aWNlLkJDQkltcG9ydFNldHNWaWV3TW9kZWwuYmNiSW1wb3J0U2V0Vmlld01vZGVsc1wiIFt2YWx1ZV09XCJpbXBvcnRzZXQuaWRcIj5cclxuICAgICAgICAgICAge3tpbXBvcnRzZXQubmFtZX19XHJcbiAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiTG9hZE1vZGVsKClcIj5cclxuICAgICAgICBSZWZyZXNoXHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gIDwvbWF0LWNhcmQ+XHJcbiAgPG1hdC1hY2NvcmRpb24gKm5nSWY9XCJFQk9Lb3BwZWxWaWV3TW9kZWwgIT0gbnVsbFwiPlxyXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWwgKm5nRm9yPVwibGV0IHR5cGUgb2YgRUJPS29wcGVsVmlld01vZGVsLmVib0tvcHBlbFR5cGVWaWV3TW9kZWxzXCI+XHJcbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxyXG4gICAgICAgICAge3sgdHlwZS50eXBlIH19XHJcbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgICAgPG1hdC1wYW5lbC1kZXNjcmlwdGlvbj5cclxuICAgICAgICAgIHt7IHR5cGUubmFtZW4ubGVuZ3RoIH19IEVCTyhzKVxyXG4gICAgICAgIDwvbWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxyXG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgICA8ZGl2PlxyXG4gICAgICAgIDxtYXQtY2FyZCAqbmdGb3I9XCJsZXQgZG8gb2YgdHlwZS5uYW1lblwiIGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1kaXZcIj5cclxuICAgICAgICAgICAgICAgIHt7IGRvLmRvTmFhbSB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZG8uY29ubmVjdGVkXCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQ29ubmVjdChkby5pZClcIj5cclxuICAgICAgICAgICAgICAgICAgRmlsdGVyT3B0aW9uXHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj4tLT5cclxuICAgICAgICAgICAgICAgIDwhLS08YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJDb25uZWN0TWFueShkby5pZClcIj5cclxuICAgICAgICAgICAgICAgICAgRmlsdGVyT3B0aW9uTWFueVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+LS0+XHJcbiAgICAgICAgICAgICAgICA8IS0tPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQ29ubmVjdENhdGVnb3J5KGRvLmlkLCBkby5kb1R5cGUsIGRvLmRvTmFhbSlcIj5cclxuICAgICAgICAgICAgICAgICAgQ2F0ZWdvcnlcclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPi0tPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cclxuICAgICAgICA8L21hdC1jYXJkPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuXHJcbiAgPC9tYXQtYWNjb3JkaW9uPlxyXG48L2Rpdj5cclxuIl19
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLWViby1rb3BwZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItZWJvLWtvcHBlbC9iZWhlZXItZWJvLWtvcHBlbC9iZWhlZXItZWJvLWtvcHBlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1lYm8ta29wcGVsL2JlaGVlci1lYm8ta29wcGVsL2JlaGVlci1lYm8ta29wcGVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3JFLE9BQU8sRUFBMEMsMkJBQTJCLEVBQWdDLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdE0sT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sK0VBQStFLENBQUM7QUFDckksT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUVBQXlFLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQU81SCxNQUFNLE9BQU8sd0JBQXdCO0lBTW5DLFlBQ1Usa0JBQXNDLEVBQ3ZDLGlCQUFvQyxFQUNwQyxNQUFpQixFQUNoQixpQkFBb0M7UUFIcEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN2QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDaEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQU52QyxpQkFBWSxHQUFZLEtBQUssQ0FBQztJQVFyQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVNLE9BQU87UUFDWixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQ3ZFLENBQUM7SUFFTSxPQUFPLENBQUMsRUFBVTtRQUN2QixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsRUFBRTtZQUNsRSxJQUFJLEVBQUUsRUFDTDtTQUNGLENBQUMsQ0FBQztRQUVILFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUM5QyxJQUFJLE1BQU0sRUFBRSxNQUFNLElBQUksSUFBSSxFQUFFO2dCQUMxQixJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUNyQixJQUFJLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO3dCQUNqQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQzt3QkFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO3dCQUV2QyxJQUFJLE9BQU8sR0FBRyxJQUFJLHNCQUFzQixFQUFFLENBQUM7d0JBRTNDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQzt3QkFDakMsT0FBTyxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7d0JBQ3hCLE9BQU8sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDO3dCQUNyRSxPQUFPLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQzt3QkFFcEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7NEJBQ3BFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzt3QkFDbkIsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7NEJBQ3JCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDZixDQUFDLENBQUMsQ0FBQztxQkFDSjtpQkFDRjthQUNGO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVyxDQUFDLEVBQVU7UUFDM0IsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUNBQWlDLEVBQUU7WUFDbEUsSUFBSSxFQUFFLEVBQ0w7U0FDRixDQUFDLENBQUM7UUFFSCxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7WUFDaEQsSUFBSSxNQUFNLEVBQUUsTUFBTSxJQUFJLElBQUksRUFBRTtnQkFDMUIsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDckIsSUFBSSxPQUFPLENBQUMsb0JBQW9CLENBQUMsRUFBRTt3QkFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7d0JBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQzt3QkFFdkMsSUFBSSxPQUFPLEdBQUcsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO3dCQUUzQyxPQUFPLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7d0JBQ2pDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO3dCQUN4QixPQUFPLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQzt3QkFDckUsT0FBTyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7d0JBRW5CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFOzRCQUNwRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7d0JBQ25CLENBQUMsRUFBRSxDQUFDLEtBQWUsRUFBRSxFQUFFOzRCQUNyQixLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ2YsQ0FBQyxDQUFDLENBQUM7cUJBQ0o7aUJBQ0Y7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGVBQWUsQ0FBQyxFQUFVO1FBQy9CLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG9DQUFvQyxFQUFFO1FBQ3JFLFNBQVM7UUFDVCxtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLEdBQUc7U0FDSixDQUFDLENBQUM7UUFFSCxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7WUFDaEQsSUFBSSxNQUFNLElBQUksSUFBSSxJQUFJLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO2dCQUN6QixJQUFJLE9BQU8sR0FBRyxJQUFJLDJCQUEyQixFQUFFLENBQUM7Z0JBRWhELE9BQU8sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDO2dCQUNyRSxPQUFPLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztnQkFDeEIsT0FBTyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7Z0JBRTVCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFtQyxFQUFFLEVBQUU7b0JBQ3RHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbkIsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7b0JBQ3JCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDZixDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sU0FBUztRQUNkLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixHQUFHLENBQUMsRUFBRTtZQUNuRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7WUFFdkMsSUFBSSxLQUFLLEdBQUcsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1lBRXpDLEtBQUssQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDO1lBRWhFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUF5QixFQUFFLEVBQUU7Z0JBQzNGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO2dCQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekMsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUNJO1lBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQzs7cUhBaklVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDZEQ1pyQyxvekZBeUVBOzJGRDdEYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEltcG9ydFNldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvaW1wb3J0c2V0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRUJPS29wcGVsQXBpQ2xpZW50LCBFQk9Lb3BwZWxWaWV3TW9kZWwsIENvbm5lY3RFQk9ET0NhdGVnb3J5UmVxdWVzdCwgQ29ubmVjdEVCT0RPQ2F0ZWdvcnlSZXNwb25zZSwgRUJPQ29ubmVjdFJlcXVlc3RNb2RlbCwgQ29ubmVjdEJDQkVCT0RPUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcbmltcG9ydCB7IEJlaGVlckNvbm5lY3RDYXRlZ29yeURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2JlaGVlci1jb25uZWN0LWNhdGVnb3J5LWRpYWxvZy9iZWhlZXItY29ubmVjdC1jYXRlZ29yeS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyU2VsZWN0RmlsdGVyRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmVoZWVyLXNlbGVjdC1maWx0ZXItZGlhbG9nL2JlaGVlci1zZWxlY3QtZmlsdGVyLWRpYWxvZy5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYmVoZWVyLWViby1rb3BwZWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItZWJvLWtvcHBlbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYmVoZWVyLWViby1rb3BwZWwuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmVoZWVyRWJvS29wcGVsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHVibGljIEVCT0tvcHBlbFZpZXdNb2RlbDogRUJPS29wcGVsVmlld01vZGVsO1xyXG5cclxuICBwdWJsaWMgTG9hZGluZ01vZGVsOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBFQk9Lb3BwZWxBcGlDbGllbnQ6IEVCT0tvcHBlbEFwaUNsaWVudCxcclxuICAgIHB1YmxpYyBJbXBvcnRTZXRzU2VydmljZTogSW1wb3J0U2V0c1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLkltcG9ydFNldHNTZXJ2aWNlLkxvYWRJbXBvcnRTZXRzKHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIExvYWRpbmcoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5JbXBvcnRTZXRzU2VydmljZS5Mb2FkaW5nSW1wb3J0U2V0cyB8fCB0aGlzLkxvYWRpbmdNb2RlbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBDb25uZWN0KGlkOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlclNlbGVjdEZpbHRlckRpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0Py5maWx0ZXIgIT0gbnVsbCkge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5maWx0ZXIgPiAwKSB7XHJcbiAgICAgICAgICAgIGlmIChjb25maXJtKFwiV2VldCBqZSBoZXQgemVrZXI/XCIpKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5Mb2FkaW5nTW9kZWwgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBDb25uZWN0QkNCRUJPRE9SZXF1ZXN0KCk7XHJcblxyXG4gICAgICAgICAgICAgIHJlcXVlc3QuZmlsdGVySWQgPSByZXN1bHQuZmlsdGVyO1xyXG4gICAgICAgICAgICAgIHJlcXVlc3QuYmNiZWJvZG9JZCA9IGlkO1xyXG4gICAgICAgICAgICAgIHJlcXVlc3QuYmNiSW1wb3J0U2V0SWQgPSB0aGlzLkltcG9ydFNldHNTZXJ2aWNlLkJDQkltcG9ydFNldFNlbGVjdGVkO1xyXG4gICAgICAgICAgICAgIHJlcXVlc3QuYWxsID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMuRUJPS29wcGVsQXBpQ2xpZW50LmNvbm5lY3RCQ0JFQk9ET0ZpbHRlcihyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5Mb2FkTW9kZWwoKTtcclxuICAgICAgICAgICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBhbGVydChlcnJvcik7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBDb25uZWN0TWFueShpZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB2YXIgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihCZWhlZXJTZWxlY3RGaWx0ZXJEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgZGF0YToge1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQ/LmZpbHRlciAhPSBudWxsKSB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5maWx0ZXIgPiAwKSB7XHJcbiAgICAgICAgICBpZiAoY29uZmlybShcIldlZXQgamUgaGV0IHpla2VyP1wiKSkge1xyXG4gICAgICAgICAgICB0aGlzLkxvYWRpbmdNb2RlbCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgQ29ubmVjdEJDQkVCT0RPUmVxdWVzdCgpO1xyXG5cclxuICAgICAgICAgICAgcmVxdWVzdC5maWx0ZXJJZCA9IHJlc3VsdC5maWx0ZXI7XHJcbiAgICAgICAgICAgIHJlcXVlc3QuYmNiZWJvZG9JZCA9IGlkO1xyXG4gICAgICAgICAgICByZXF1ZXN0LmJjYkltcG9ydFNldElkID0gdGhpcy5JbXBvcnRTZXRzU2VydmljZS5CQ0JJbXBvcnRTZXRTZWxlY3RlZDtcclxuICAgICAgICAgICAgcmVxdWVzdC5hbGwgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5FQk9Lb3BwZWxBcGlDbGllbnQuY29ubmVjdEJDQkVCT0RPRmlsdGVyKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5Mb2FkTW9kZWwoKTtcclxuICAgICAgICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgIGFsZXJ0KGVycm9yKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBDb25uZWN0Q2F0ZWdvcnkoaWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdmFyIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQmVoZWVyQ29ubmVjdENhdGVnb3J5RGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIC8vZGF0YToge1xyXG4gICAgICAvLyAgZG90eXBlOiBkb3R5cGUsXHJcbiAgICAgIC8vICBkb25hYW06IGRvbmFhbVxyXG4gICAgICAvL31cclxuICAgIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlc3VsdCAhPSBudWxsICYmIHJlc3VsdCA+IDApIHtcclxuICAgICAgICB0aGlzLkxvYWRpbmdNb2RlbCA9IHRydWU7XHJcbiAgICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgQ29ubmVjdEVCT0RPQ2F0ZWdvcnlSZXF1ZXN0KCk7XHJcblxyXG4gICAgICAgIHJlcXVlc3QuYmNiSW1wb3J0U2V0SWQgPSB0aGlzLkltcG9ydFNldHNTZXJ2aWNlLkJDQkltcG9ydFNldFNlbGVjdGVkO1xyXG4gICAgICAgIHJlcXVlc3QuYmNiZWJvZG9JZCA9IGlkO1xyXG4gICAgICAgIHJlcXVlc3QuY2F0ZWdvcnlJZCA9IHJlc3VsdDtcclxuXHJcbiAgICAgICAgdGhpcy5FQk9Lb3BwZWxBcGlDbGllbnQuY29ubmVjdEVCT0RPQ2F0ZWdvcnkocmVxdWVzdCkuc3Vic2NyaWJlKChtb2RlbDogQ29ubmVjdEVCT0RPQ2F0ZWdvcnlSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5Mb2FkTW9kZWwoKTtcclxuICAgICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICBhbGVydChlcnJvcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIExvYWRNb2RlbCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLkltcG9ydFNldHNTZXJ2aWNlLkJDQkltcG9ydFNldFNlbGVjdGVkID4gMCkge1xyXG4gICAgICB0aGlzLkxvYWRpbmdNb2RlbCA9IHRydWU7XHJcbiAgICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgdmFyIG1vZGVsID0gbmV3IEVCT0Nvbm5lY3RSZXF1ZXN0TW9kZWwoKTtcclxuXHJcbiAgICAgIG1vZGVsLmltcG9ydFNldElkID0gdGhpcy5JbXBvcnRTZXRzU2VydmljZS5CQ0JJbXBvcnRTZXRTZWxlY3RlZDtcclxuXHJcbiAgICAgIHRoaXMuRUJPS29wcGVsQXBpQ2xpZW50LmdldEVCT0tvcHBlbFZpZXdNb2RlbChtb2RlbCkuc3Vic2NyaWJlKChtb2RlbDogRUJPS29wcGVsVmlld01vZGVsKSA9PiB7XHJcbiAgICAgICAgdGhpcy5FQk9Lb3BwZWxWaWV3TW9kZWwgPSBtb2RlbDtcclxuICAgICAgICB0aGlzLkxvYWRpbmdNb2RlbCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLkxvYWRpbmdNb2RlbCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLkNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIjxhcHAtYmVoZWVyLW5hdj48L2FwcC1iZWhlZXItbmF2PlxyXG5cclxuPGRpdiAqbmdJZj1cIkxvYWRpbmcoKVwiPlxyXG4gIDxhcHAtZmFiLWxvYWRlcj48L2FwcC1mYWItbG9hZGVyPlxyXG48L2Rpdj5cclxuPGRpdiAqbmdJZj1cIiFMb2FkaW5nKClcIiBjbGFzcz1cIm1haW4tY29udGVudFwiPlxyXG4gIDxtYXQtY2FyZD5cclxuICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIiAqbmdJZj1cIiFJbXBvcnRTZXRzU2VydmljZS5Mb2FkaW5nSW1wb3J0U2V0c1wiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+SW1wb3J0IHNldDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwiSW1wb3J0U2V0c1NlcnZpY2UuQkNCSW1wb3J0U2V0U2VsZWN0ZWRcIiAoY2hhbmdlKT1cIkxvYWRNb2RlbCgpXCI+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgaW1wb3J0c2V0IG9mIEltcG9ydFNldHNTZXJ2aWNlLkJDQkltcG9ydFNldHNWaWV3TW9kZWwuYmNiSW1wb3J0U2V0Vmlld01vZGVsc1wiIFt2YWx1ZV09XCJpbXBvcnRzZXQuaWRcIj5cclxuICAgICAgICAgICAge3tpbXBvcnRzZXQubmFtZX19XHJcbiAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiTG9hZE1vZGVsKClcIj5cclxuICAgICAgICBSZWZyZXNoXHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gIDwvbWF0LWNhcmQ+XHJcbiAgPGJyIC8+XHJcbiAgPG1hdC1hY2NvcmRpb24gKm5nSWY9XCJFQk9Lb3BwZWxWaWV3TW9kZWwgIT0gbnVsbFwiPlxyXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWwgKm5nRm9yPVwibGV0IHR5cGUgb2YgRUJPS29wcGVsVmlld01vZGVsLmVib0tvcHBlbFR5cGVWaWV3TW9kZWxzXCI+XHJcbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxyXG4gICAgICAgICAge3sgdHlwZS50eXBlIH19XHJcbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgICAgPG1hdC1wYW5lbC1kZXNjcmlwdGlvbj5cclxuICAgICAgICAgIHt7IHR5cGUubmFtZW4ubGVuZ3RoIH19XHJcbiAgICAgICAgPC9tYXQtcGFuZWwtZGVzY3JpcHRpb24+XHJcbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgPG1hdC1jYXJkICpuZ0Zvcj1cImxldCBuYWFtIG9mIHR5cGUubmFtZW5cIiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZGl2XCI+XHJcbiAgICAgICAgICAgICAgICB7eyBuYWFtLmRvTmFhbSB9fSAoe3sgbmFhbS5lYk9zLmxlbmd0aCB9fSlcclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQ29ubmVjdChuYWFtLmViT3NbMF0uaWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIEZpbHRlck9wdGlvblxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJDb25uZWN0TWFueShuYWFtLmViT3NbMF0uaWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIEZpbHRlck9wdGlvbk1hbnlcclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQ29ubmVjdENhdGVnb3J5KG5hYW0uZWJPc1swXS5pZClcIj5cclxuICAgICAgICAgICAgICAgICAgQ2F0ZWdvcnlcclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZWJvIG9mIG5hYW0uZWJPc1wiIGNsYXNzPVwicm93IGVib3Jvd1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRpdlwiPlxyXG4gICAgICAgICAgICAgICAge3sgZWJvLmVib05hYW0gfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZmlsdGVyb3B0aW9uIG9mIGViby5maWx0ZXJPcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGZpbHRlcm9wdGlvbi5maWx0ZXJOYW1lIH19OiB7eyBmaWx0ZXJvcHRpb24uZmlsdGVyT3B0aW9uTmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2YgZWJvLmNhdGVnb3JpZXNcIj5cclxuICAgICAgICAgICAgICAgICAgQ2F0ZWdvcnk6IHt7IGNhdGVnb3J5LmNhdGVnb3J5TmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgIDwvbWF0LWNhcmQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxyXG5cclxuICA8L21hdC1hY2NvcmRpb24+XHJcbjwvZGl2PlxyXG4iXX0=