ng-miam 3.2.2 → 3.4.0

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 (120) hide show
  1. package/bundles/ng-miam.umd.js +7452 -5975
  2. package/bundles/ng-miam.umd.js.map +1 -1
  3. package/bundles/ng-miam.umd.min.js +2 -2
  4. package/bundles/ng-miam.umd.min.js.map +1 -1
  5. package/esm2015/lib/_components/abstracts/abstract-recipe-card.component.js +1 -1
  6. package/esm2015/lib/_components/icon/icon.component.js +65 -6
  7. package/esm2015/lib/_components/recipe-filters/recipe-filters.component.js +94 -40
  8. package/esm2015/lib/_components/recipe-type-chooser/recipe-type-chooser.component.js +23 -30
  9. package/esm2015/lib/_components/text-input/text-input.component.js +6 -4
  10. package/esm2015/lib/_models/article.js +43 -0
  11. package/esm2015/lib/_models/basket.js +2 -2
  12. package/esm2015/lib/_models/groceries-entry.js +23 -2
  13. package/esm2015/lib/_models/groceries-list.js +5 -2
  14. package/esm2015/lib/_models/index.js +4 -1
  15. package/esm2015/lib/_models/package.js +14 -3
  16. package/esm2015/lib/_models/recipe.js +4 -1
  17. package/esm2015/lib/_models/user.js +10 -1
  18. package/esm2015/lib/_services/analytics.service.js +7 -1
  19. package/esm2015/lib/_services/articles.service.js +21 -0
  20. package/esm2015/lib/_services/baskets.service.js +7 -3
  21. package/esm2015/lib/_services/context.service.js +15 -1
  22. package/esm2015/lib/_services/groceries-lists.service.js +23 -6
  23. package/esm2015/lib/_services/index.js +3 -1
  24. package/esm2015/lib/_services/ingredients.service.js +2 -2
  25. package/esm2015/lib/_services/interceptor.service.js +2 -3
  26. package/esm2015/lib/_services/package.service.js +32 -9
  27. package/esm2015/lib/_services/recipe-events.service.js +2 -2
  28. package/esm2015/lib/_services/recipe-likes.service.js +6 -2
  29. package/esm2015/lib/_services/recipe-share.service.js +2 -2
  30. package/esm2015/lib/_services/recipes.service.js +2 -2
  31. package/esm2015/lib/_services/suppliers.service.js +2 -2
  32. package/esm2015/lib/_services/toastr.service.js +52 -0
  33. package/esm2015/lib/_services/user.service.js +64 -21
  34. package/esm2015/lib/_types/icon.enum.js +22 -18
  35. package/esm2015/lib/_web-components/{basket-preview-block → basket-preview/basket-preview-block}/basket-preview-block.component.js +15 -15
  36. package/esm2015/lib/_web-components/{basket-preview-disabled → basket-preview/basket-preview-disabled}/basket-preview-disabled.component.js +3 -3
  37. package/esm2015/lib/_web-components/{basket-preview-line → basket-preview/basket-preview-line}/basket-preview-line.component.js +22 -19
  38. package/esm2015/lib/_web-components/basket-preview/basket-preview.module.js +78 -0
  39. package/esm2015/lib/_web-components/basket-preview/index.js +7 -0
  40. package/esm2015/lib/_web-components/{replace-item → basket-preview/replace-item}/replace-item.component.js +8 -8
  41. package/esm2015/lib/_web-components/catalog-article-card/catalog-article-card.component.js +71 -0
  42. package/esm2015/lib/_web-components/catalog-category/catalog-category.component.js +134 -92
  43. package/esm2015/lib/_web-components/catalog-header/catalog-header.component.js +51 -34
  44. package/esm2015/lib/_web-components/catalog-list/catalog-list.component.js +106 -61
  45. package/esm2015/lib/_web-components/catalog-recipe-card/catalog-recipe-card.component.js +65 -52
  46. package/esm2015/lib/_web-components/drawer/drawer.component.js +1 -1
  47. package/esm2015/lib/_web-components/favorite-page/favorite-page.component.js +8 -6
  48. package/esm2015/lib/_web-components/index.js +5 -6
  49. package/esm2015/lib/_web-components/list-scan/basket-preview/basket-preview.component.js +145 -0
  50. package/esm2015/lib/_web-components/list-scan/index.js +3 -0
  51. package/esm2015/lib/_web-components/list-scan/ingredients-list/ingredients-list.component.js +150 -0
  52. package/esm2015/lib/_web-components/list-scan/list-scan.component.js +87 -0
  53. package/esm2015/lib/_web-components/list-scan/list-scan.module.js +60 -0
  54. package/esm2015/lib/_web-components/list-scan/overlay-button/overlay-button.component.js +104 -0
  55. package/esm2015/lib/_web-components/loader/index.js +3 -0
  56. package/esm2015/lib/_web-components/loader/loader.module.js +39 -0
  57. package/esm2015/lib/_web-components/personal-recipes/personal-recipes.component.js +7 -5
  58. package/esm2015/lib/_web-components/recipe-card/recipe-card.component.js +73 -58
  59. package/esm2015/lib/_web-components/recipe-catalog/recipe-catalog.component.js +152 -92
  60. package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +307 -270
  61. package/esm2015/lib/_web-components/recipe-modal/recipe-modal.component.js +1 -1
  62. package/esm2015/lib/_web-components/recipe-stepper/recipe-stepper.component.js +1 -1
  63. package/esm2015/lib/_web-components/recipes-history/recipes-history.component.js +1 -1
  64. package/esm2015/lib/_web-components/suggestion-card/suggestion-card.component.js +3 -6
  65. package/esm2015/lib/_web-components/web-components.module.js +35 -65
  66. package/esm2015/lib/environments/environment.js +6 -0
  67. package/esm2015/lib/ng-miam.module.js +4 -4
  68. package/fesm2015/ng-miam.js +6540 -5287
  69. package/fesm2015/ng-miam.js.map +1 -1
  70. package/lib/_components/abstracts/abstract-recipe-card.component.d.ts +1 -1
  71. package/lib/_components/recipe-filters/recipe-filters.component.d.ts +14 -4
  72. package/lib/_components/recipe-type-chooser/recipe-type-chooser.component.d.ts +2 -2
  73. package/lib/_components/text-input/text-input.component.d.ts +2 -1
  74. package/lib/_models/article.d.ts +23 -0
  75. package/lib/_models/basket.d.ts +1 -2
  76. package/lib/_models/groceries-entry.d.ts +8 -1
  77. package/lib/_models/groceries-list.d.ts +4 -3
  78. package/lib/_models/index.d.ts +3 -0
  79. package/lib/_models/package.d.ts +10 -3
  80. package/lib/_models/recipe.d.ts +1 -0
  81. package/lib/_models/user.d.ts +16 -1
  82. package/lib/_services/articles.service.d.ts +10 -0
  83. package/lib/_services/context.service.d.ts +12 -6
  84. package/lib/_services/groceries-lists.service.d.ts +4 -1
  85. package/lib/_services/index.d.ts +2 -0
  86. package/lib/_services/package.service.d.ts +6 -1
  87. package/lib/_services/toastr.service.d.ts +10 -0
  88. package/lib/_services/user.service.d.ts +12 -6
  89. package/lib/_types/icon.enum.d.ts +21 -17
  90. package/lib/_web-components/{basket-preview-block → basket-preview/basket-preview-block}/basket-preview-block.component.d.ts +6 -6
  91. package/lib/_web-components/{basket-preview-disabled → basket-preview/basket-preview-disabled}/basket-preview-disabled.component.d.ts +2 -2
  92. package/lib/_web-components/{basket-preview-line → basket-preview/basket-preview-line}/basket-preview-line.component.d.ts +7 -7
  93. package/lib/_web-components/basket-preview/basket-preview.module.d.ts +16 -0
  94. package/lib/_web-components/basket-preview/index.d.ts +5 -0
  95. package/lib/_web-components/{replace-item → basket-preview/replace-item}/replace-item.component.d.ts +5 -5
  96. package/lib/_web-components/catalog-article-card/catalog-article-card.component.d.ts +8 -0
  97. package/lib/_web-components/catalog-category/catalog-category.component.d.ts +12 -7
  98. package/lib/_web-components/catalog-header/catalog-header.component.d.ts +5 -2
  99. package/lib/_web-components/catalog-list/catalog-list.component.d.ts +13 -6
  100. package/lib/_web-components/catalog-recipe-card/catalog-recipe-card.component.d.ts +1 -0
  101. package/lib/_web-components/favorite-page/favorite-page.component.d.ts +0 -1
  102. package/lib/_web-components/index.d.ts +4 -5
  103. package/lib/_web-components/list-scan/basket-preview/basket-preview.component.d.ts +25 -0
  104. package/lib/_web-components/list-scan/index.d.ts +2 -0
  105. package/lib/_web-components/list-scan/ingredients-list/ingredients-list.component.d.ts +22 -0
  106. package/lib/_web-components/list-scan/list-scan.component.d.ts +17 -0
  107. package/lib/_web-components/list-scan/list-scan.module.d.ts +16 -0
  108. package/lib/_web-components/list-scan/overlay-button/overlay-button.component.d.ts +19 -0
  109. package/lib/_web-components/loader/index.d.ts +2 -0
  110. package/lib/_web-components/loader/loader.module.d.ts +10 -0
  111. package/lib/_web-components/personal-recipes/personal-recipes.component.d.ts +0 -1
  112. package/lib/_web-components/recipe-card/recipe-card.component.d.ts +1 -0
  113. package/lib/_web-components/recipe-catalog/recipe-catalog.component.d.ts +13 -4
  114. package/lib/_web-components/recipe-details/recipe-details.component.d.ts +8 -3
  115. package/lib/_web-components/suggestion-card/suggestion-card.component.d.ts +0 -1
  116. package/lib/_web-components/web-components.module.d.ts +38 -65
  117. package/lib/{environment.d.ts → environments/environment.d.ts} +1 -1
  118. package/miam-style.css +1 -1
  119. package/package.json +1 -1
  120. package/esm2015/lib/environment.js +0 -8
@@ -9,7 +9,7 @@ import { GroceriesListsService } from './groceries-lists.service';
9
9
  import { RecipeEventsService } from './recipe-events.service';
10
10
  import { debounceTime, map, skipWhile, switchMap, tap } from 'rxjs/operators';
11
11
  import { HttpClient } from '@angular/common/http';
12
- import { environment } from '../environment';
12
+ import { environment } from '../environments/environment';
13
13
  import { IngredientsService } from './ingredients.service';
14
14
  import { RecipeStepsService } from './recipe-steps.service';
15
15
  import { SuppliersService } from './suppliers.service';
@@ -203,4 +203,4 @@ RecipesService.ɵprov = i0.ɵɵdefineInjectable({ token: RecipesService, factory
203
203
  providedIn: 'root'
204
204
  }]
205
205
  }], function () { return [{ type: i1.HttpClient }, { type: i2.RecipeProviderService }, { type: i3.RecipeStatusService }, { type: i4.RecipeTypeService }, { type: i5.SuppliersService }, { type: i6.PointOfSalesService }, { type: i7.GroceriesListsService }, { type: i8.IngredientsService }, { type: i9.RecipeStepsService }, { type: i10.RecipeEventsService }, { type: i11.SponsorService }, { type: i12.PackageService }]; }, null); })();
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fc2VydmljZXMvcmVjaXBlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFjLFFBQVEsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxPQUFPLEVBQXNCLE1BQU0sYUFBYSxDQUFDO0FBQzFELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFF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QUM7SUFFTyxTQUFTLENBQUMsVUFBa0IsRUFBRSxLQUFhO1FBQ2pELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNkLFVBQVUsRUFBRSxvQkFBb0IsVUFBVSxFQUFFO1lBQzVDLFlBQVksRUFBRTtnQkFDWixRQUFRLEVBQUUsS0FBSztnQkFDZixRQUFRLEVBQUUsWUFBWTthQUN2QjtTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSyxhQUFhO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7OzRFQXZOVSxjQUFjO3NEQUFkLGNBQWMsV0FBZCxjQUFjLG1CQUZiLE1BQU07a0RBRVAsY0FBYztjQUgxQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlpZiwgb2YsIE9ic2VydmFibGUsIGZvcmtKb2luLCBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlcnZpY2UsIERvY3VtZW50Q29sbGVjdGlvbiB9IGZyb20gJ25neC1qc29uYXBpJztcbmltcG9ydCB7IFJlY2lwZSB9IGZyb20gJy4uL19tb2RlbHMvcmVjaXBlJztcbmltcG9ydCB7IFJlY2lwZVByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4vcmVjaXBlLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjaXBlU3RhdHVzU2VydmljZSB9IGZyb20gJy4vcmVjaXBlLXN0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7IFJlY2lwZVR5cGVTZXJ2aWNlIH0gZnJvbSAnLi9yZWNpcGUtdHlwZS5zZXJ2aWNlJztcbmltcG9ydCB7IEdyb2Nlcmllc0xpc3RzU2VydmljZSB9IGZyb20gJy4vZ3JvY2VyaWVzLWxpc3RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjaXBlRXZlbnRzU2VydmljZSB9IGZyb20gJy4vcmVjaXBlLWV2ZW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwLCBza2lwV2hpbGUsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgSW5ncmVkaWVudHNTZXJ2aWNlIH0gZnJvbSAnLi9pbmdyZWRpZW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IFJlY2lwZVN0ZXBzU2VydmljZSB9IGZyb20gJy4vcmVjaXBlLXN0ZXBzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWlhbVJlY2lwZSB9IGZyb20gJy4uL190eXBlcy9yZWNpcGUnO1xuaW1wb3J0IHsgU3VwcGxpZXJzU2VydmljZSB9IGZyb20gJy4vc3VwcGxpZXJzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjaXBlUHJpY2luZyB9IGZyb20gJy4uL19tb2RlbHMvcmVjaXBlLXByaWNpbmcnO1xuaW1wb3J0IHsgU3BvbnNvclNlcnZpY2UgfSBmcm9tICcuL3Nwb25zb3Iuc2VydmljZSc7XG5pbXBvcnQgeyBQb2ludE9mU2FsZXNTZXJ2aWNlIH0gZnJvbSAnLi9wb2ludC1vZi1zYWxlcy5zZXJ2aWNlJztcbmltcG9ydCB7IFBhY2thZ2VTZXJ2aWNlIH0gZnJvbSAnLi9wYWNrYWdlLnNlcnZpY2UnO1xuXG5jb25zdCBNSUFNX0FQSV9IT1NUID0gYCR7ZW52aXJvbm1lbnQubWlhbUFQSX0vYXBpL3YxL2A7XG5cbmludGVyZmFjZSBSZWNpcGVEaXNwbGF5IHtcbiAgcHJldmlld0FsbG93ZWQ6IGJvb2xlYW47XG4gIHJlY2lwZTogUmVjaXBlO1xuICBwcmV2aWV3TW9kZTogYm9vbGVhbjtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmVjaXBlc1NlcnZpY2UgZXh0ZW5kcyBTZXJ2aWNlPFJlY2lwZT4ge1xuXG4gIHJlc291cmNlID0gUmVjaXBlO1xuICB0eXBlID0gJ3JlY2lwZXMnO1xuICBkaXNwbGF5ZWRSZWNpcGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSZWNpcGVEaXNwbGF5PihudWxsKTtcbiAgZGlzcGxheUhlbHBlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgZGlzcGxheWVkUmVjaXBlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgaGlkZGVuID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHByaXZhdGUgcmFuZG9tU2VlZDogbnVtYmVyO1xuICBwcml2YXRlIHBhZ2VOdW1iZXIgPSAxO1xuICBwcml2YXRlIHJlY2lwZXM6IFJlY2lwZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgcHJvdmlkZXJTZXJ2aWNlOiBSZWNpcGVQcm92aWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdGF0dXNTZXJ2aWNlOiBSZWNpcGVTdGF0dXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHlwZVNlcnZpY2U6IFJlY2lwZVR5cGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3VwcGxpZXJzU2VydmljZTogU3VwcGxpZXJzU2VydmljZSxcbiAgICBwcml2YXRlIHBvc1NlcnZpY2U6IFBvaW50T2ZTYWxlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBsaXN0c1NlcnZpY2U6IEdyb2Nlcmllc0xpc3RzU2VydmljZSxcbiAgICBwcml2YXRlIGluZ3JlZGllbnRzU2VydmljZTogSW5ncmVkaWVudHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVjaXBlU3RlcHNTZXJ2aWNlOiBSZWNpcGVTdGVwc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWNpcGVFdmVudHNTZXJ2aWNlOiBSZWNpcGVFdmVudHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3BvbnNvclNlcnZpY2U6IFNwb25zb3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGFja2FnZVNlcnZpY2U6IFBhY2thZ2VTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5yZWdpc3RlcigpO1xuICAgIHRoaXMuaW50UmFuZG9tU2VlZCgpO1xuICB9XG5cbiAgbG9hZFJlY2lwZXMoKTogT2JzZXJ2YWJsZTxSZWNpcGVbXT4ge1xuICAgIGNvbnN0IGxpc3QgPSB0aGlzLmxpc3RzU2VydmljZS5saXN0JC52YWx1ZTtcbiAgICBpZiAoIWxpc3QpIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9IGVsc2UgaWYgKGxpc3QuYXR0cmlidXRlc1sncmVjaXBlcy1pbmZvcyddLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm9ya0pvaW4obGlzdC5hdHRyaWJ1dGVzWydyZWNpcGVzLWluZm9zJ10ubWFwKGluZm8gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0T3JGZXRjaChpbmZvLmlkKS5waXBlKFxuICAgICAgICBza2lwV2hpbGUociA9PiByLmlzX2xvYWRpbmcpLFxuICAgICAgICB0YXAociA9PiByLm1vZGlmaWVkR3Vlc3RzID0gaW5mby5ndWVzdHMpXG4gICAgICApO1xuICAgIH0pKTtcbiAgfVxuXG4gIC8vIENyZWF0ZSByZWNpcGUgJiBhcHBlbmQgdG8gZ3JvY2VyaWVzIGxpc3RcbiAgZ2V0T3JDcmVhdGUocmVjaXBlLCBvcGVuQmFza2V0OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBjb25zdCBwcm92aWRlciA9IHRoaXMucHJvdmlkZXJTZXJ2aWNlLmdldENhY2hlZCgpO1xuICAgIGNvbnN0IGV4dElkID0gdGhpcy5jcmVhdGVFeHRJZChyZWNpcGUudGl0bGUpO1xuXG4gICAgLy8gQ2hlY2sgaWYgZXhpc3RzIG9yIGNyZWF0ZSBpdFxuICAgIHJldHVybiB0aGlzLmdldFJlY2lwZShwcm92aWRlci5pZCwgZXh0SWQpLnBpcGUoXG4gICAgICBza2lwV2hpbGUociA9PiByLmlzX2xvYWRpbmcpLFxuICAgICAgLy8gTk9URSA6IGFkZGluZyBvZih2b2lkIDApIGZvciBmYWxzeSBvYnNlcnZhYmxlIChuZ3gtanNvbmFwaSBpcyB0cmlnZ2VyaW5nIGFuIGh0dHAgcmVxdWVzdCB3aGVuIHNhdmUoKSBjYWxsZWQpXG4gICAgICBzd2l0Y2hNYXAoKHIpID0+IGlpZigoKSA9PiAhIXIuZGF0YS5sZW5ndGgsIG9mKHIuZGF0YVswXSksIG9mKHZvaWQgMCkucGlwZShzd2l0Y2hNYXAoXyA9PiB0aGlzLmNyZWF0ZShleHRJZCwgcmVjaXBlKSkpKSksXG4gICAgICAvLyBBcHBlbmQgcmVjaXBlIHRvIGN1cnJlbnQgc2F2ZWQgbGlzdFxuICAgICAgc3dpdGNoTWFwKChyKSA9PiB0aGlzLmxpc3RzU2VydmljZS5hcHBlbmRSZWNpcGVUb0xpc3Qoci5pZCwgci5tb2RpZmllZEd1ZXN0cywgb3BlbkJhc2tldCkpXG4gICAgKTtcblxuICB9XG5cbiAgZ2V0UmFuZG9tKHBhZ2UgPSB7IG51bWJlcjogdGhpcy5wYWdlTnVtYmVyLCBzaXplOiAxIH0sIGZpbHRlcnM6IG9iamVjdCA9IHsgcmV2aWV3ZWQ6IHRydWUsIGV4Y2x1ZGVfbm9fcGljdHVyZTogdHJ1ZSB9LFxuICAgICAgICAgICAgY2xlYXIgPSBmYWxzZSk6IE9ic2VydmFibGU8UmVjaXBlW10+IHtcbiAgICB0aGlzLnBhZ2VOdW1iZXIrKztcbiAgICAvLyBGZXRjaCByYW5kb20gcmVjaXBlc1xuICAgIHJldHVybiB0aGlzLmFsbCh7XG4gICAgICBwYWdlLFxuICAgICAgcmVtb3RlZmlsdGVyOiBPYmplY3QuYXNzaWduKHsuLi5maWx0ZXJzfSwgeyByYW5kb206IHRoaXMucmFuZG9tU2VlZH0pLFxuICAgICAgaW5jbHVkZTogWydpbmdyZWRpZW50cycsICdyZWNpcGUtc3RlcHMnLCAncmVjaXBlLXN0YXR1cycsICdyZWNpcGUtdHlwZScsICdzcG9uc29ycycsICdyZWNpcGUtcHJvdmlkZXInXVxuICAgIH0pLnBpcGUoXG4gICAgICBza2lwV2hpbGUocmVzdWx0ID0+IHJlc3VsdC5pc19sb2FkaW5nKSxcbiAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgKTtcbiAgfVxuXG4gIC8vIERFUFJFQ0FURUQgLyB1c2UgVFRMIGluc3RlYWRcbiAgZ2V0T3JGZXRjaChyZWNpcGVJZCk6IE9ic2VydmFibGU8UmVjaXBlPiB7XG4gICAgY29uc3QgcmVjaXBlID0gdGhpcy5yZWNpcGVzLmZpbmQociA9PiByLmlkID09PSByZWNpcGVJZCk7XG4gICAgaWYgKHJlY2lwZSkge1xuICAgICAgcmV0dXJuIG9mKHJlY2lwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmdldChyZWNpcGVJZCwgeyBpbmNsdWRlOiBbJ2luZ3JlZGllbnRzJywgJ3JlY2lwZS1zdGVwcycsICdyZWNpcGUtc3RhdHVzJywgJ3JlY2lwZS10eXBlJywgJ3Nwb25zb3JzJyBdIH0pLnBpcGUoXG4gICAgICAgIHRhcChyID0+IHRoaXMucmVjaXBlcy5wdXNoKHIpKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvLyBEZWJvdW5jZSB0byBsZXQgZW5vdWdoIHRpbWUgZm9yIHRoZSBwb3MgdG8gYmUgZGVmaW5lZFxuICBnZXRTdWdnZXN0aW9uKFxuICAgIHNoZWxmX2luZ3JlZGllbnRzX2lkczogc3RyaW5nW10sXG4gICAgY3VycmVudF9pbmdyZWRpZW50c19pZHM6IHN0cmluZ1tdLFxuICAgIGJhc2tldF9pbmdyZWRpZW50c19pZHM6IHN0cmluZ1tdLFxuICAgIGdyb3VwX2lkOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxSZWNpcGVbXT4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt0aGlzLnN1cHBsaWVyc1NlcnZpY2Uuc3VwcGxpZXIkLCB0aGlzLnBvc1NlcnZpY2UucG9zJF0pLnBpcGUoXG4gICAgICBza2lwV2hpbGUocmVzdWx0cyA9PiAhcmVzdWx0c1swXSksXG4gICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcbiAgICAgIHN3aXRjaE1hcChyZXN1bHRzID0+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IHsgc2hlbGZfaW5ncmVkaWVudHNfaWRzLCBjdXJyZW50X2luZ3JlZGllbnRzX2lkcywgYmFza2V0X2luZ3JlZGllbnRzX2lkcywgZ3JvdXBfaWQgfTtcbiAgICAgICAgbGV0IHN1cHBsaWVyRmlsdGVyID0gYHN1cHBsaWVyX2lkPSR7cmVzdWx0c1swXS5pZH1gO1xuICAgICAgICBpZiAocmVzdWx0c1sxXSkge1xuICAgICAgICAgIHN1cHBsaWVyRmlsdGVyID0gYHN1cHBsaWVyX2lkPSR7cmVzdWx0c1swXS5pZH0mcG9zX2lkPSR7cmVzdWx0c1sxXS5pZH1gO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHVybCA9IE1JQU1fQVBJX0hPU1QgKyBgcmVjaXBlcy9zdWdnZXN0aW9ucz8ke3N1cHBsaWVyRmlsdGVyfSZpbmNsdWRlPWluZ3JlZGllbnRzLHJlY2lwZS1zdGVwcyxzcG9uc29ycyxyZWNpcGUtdHlwZWA7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIGJvZHkpO1xuICAgICAgfSksXG4gICAgICBtYXAoKHJldHVybmVkUmVjaXBlczogRG9jdW1lbnRDb2xsZWN0aW9uPFJlY2lwZT4pID0+IHtcbiAgICAgICAgY29uc3QgcmVjaXBlcyA9IHRoaXMubmV3Q29sbGVjdGlvbigpO1xuICAgICAgICByZWNpcGVzLmZpbGwocmV0dXJuZWRSZWNpcGVzKTtcbiAgICAgICAgcmV0dXJuIHJlY2lwZXMuZGF0YTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldFByaWNpbmcocmVjaXBlSWQsIHBvc0lkLCBzZXJ2ZXMgPSBudWxsKTogT2JzZXJ2YWJsZTxSZWNpcGVQcmljaW5nPiB7XG4gICAgaWYgKCFyZWNpcGVJZCkge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cblxuICAgIGxldCB1cmwgPSBNSUFNX0FQSV9IT1NUICsgYHJlY2lwZXMvJHtyZWNpcGVJZH0vcHJpY2luZz9wb2ludF9vZl9zYWxlX2lkPSR7cG9zSWR9YDtcbiAgICBpZiAoc2VydmVzKSB7XG4gICAgICB1cmwgKz0gYCZzZXJ2ZXM9JHtzZXJ2ZXN9YDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBuZXcgUmVjaXBlUHJpY2luZyhyZXN1bHQpKVxuICAgICk7XG4gIH1cblxuICBjcmVhdGVGcm9tVXJsKHNvdXJjZTogc3RyaW5nLCBleHRfbGluazogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZWNpcGU+IHtcbiAgICBpZiAoIXNvdXJjZSB8fCAhZXh0X2xpbmspIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gc291cmNlIG9yIHJlY2lwZSBsaW5rIHByb3ZpZGVkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke2Vudmlyb25tZW50Lm1pYW1BUEl9L2FwaS92MS9yZWNpcGVzL2Zyb21fdXJsYCwgeyBzb3VyY2UsIGV4dF9saW5rIH0pLnBpcGUoXG4gICAgICBtYXAoKHJlc3VsdDogYW55KSA9PiByZXN1bHQuZGF0YSBhcyBSZWNpcGUpXG4gICAgKTtcbiAgfVxuXG4gIC8vIE9wZW4gbW9kYWwgc2hvd2luZyByZWNpcGUgZGV0YWlsc1xuICBkaXNwbGF5KHJlY2lwZUlkOiBzdHJpbmcsIHsgcHJldmlld0FsbG93ZWQgPSB0cnVlLCBndWVzdHMgPSBudWxsLCBwcmV2aWV3TW9kZSA9IGZhbHNlfSkge1xuICAgIGlmICghcmVjaXBlSWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmdldChyZWNpcGVJZCwgeyBpbmNsdWRlOiBbJ2luZ3JlZGllbnRzJywgJ3JlY2lwZS1zdGVwcycsICdyZWNpcGUtdHlwZScsICdzcG9uc29ycyddIH0pXG4gICAgICAucGlwZShza2lwV2hpbGUocmVjaXBlID0+IHJlY2lwZS5pc19sb2FkaW5nKSlcbiAgICAgIC5zdWJzY3JpYmUocmVjaXBlID0+IHtcbiAgICAgICAgdGhpcy5kaXNwbGF5T2JqZWN0KHJlY2lwZSwge3ByZXZpZXdBbGxvd2VkLCBndWVzdHMsIHByZXZpZXdNb2RlIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBkaXNwbGF5T2JqZWN0KHJlY2lwZTogUmVjaXBlLCB7IHByZXZpZXdBbGxvd2VkID0gdHJ1ZSwgZ3Vlc3RzID0gbnVsbCwgcHJldmlld01vZGUgPSBmYWxzZX0pe1xuICAgIGlmICghcmVjaXBlKXtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHJlY2lwZS5tb2RpZmllZEd1ZXN0cyA9IGd1ZXN0cyB8fCArcmVjaXBlLmd1ZXN0cztcbiAgICB0aGlzLmRpc3BsYXllZFJlY2lwZSQubmV4dCh7IHByZXZpZXdBbGxvd2VkICwgcmVjaXBlLCBwcmV2aWV3TW9kZSB9KTtcbiAgICBpZiAoIXByZXZpZXdNb2RlKSB7XG4gICAgICB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2Uuc2VuZEV2ZW50KHJlY2lwZSwgdGhpcy5yZWNpcGVFdmVudHNTZXJ2aWNlLkFDVElPTl9ESVNQTEFZRUQpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUhlbHBlcigpIHtcbiAgICB0aGlzLmRpc3BsYXlIZWxwZXIkLm5leHQoIXRoaXMuZGlzcGxheUhlbHBlciQudmFsdWUpO1xuICB9XG5cbiAgaGlkZSgpIHtcbiAgICB0aGlzLmRpc3BsYXllZFJlY2lwZSQubmV4dChudWxsKTtcbiAgICB0aGlzLmhpZGRlbi5lbWl0KHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGUoZXh0SWQ6IHN0cmluZywgcmVjaXBlIDogTWlhbVJlY2lwZSkge1xuICAgIGNvbnN0IHIgPSB0aGlzLm5ldygpO1xuICAgIC8vIENvcHkgcmVjaXBlIGludG8gYXR0cmlidXRlc1xuICAgIE9iamVjdC5hc3NpZ24oci5hdHRyaWJ1dGVzLCByZWNpcGUpO1xuICAgIC8vIFNldCBwcm92aWRlciAmIHN0YXR1cyAoY2FjaGVkIGZyb20gaW5pdGlhbGl6ZWQgdmFyIE1JQU1fU1RBVFVTX0lEICYgTUlBTV9QUk9WSURFUl9JRClcbiAgICByLmFkZFJlbGF0aW9uc2hpcCh0aGlzLnByb3ZpZGVyU2VydmljZS5nZXRDYWNoZWQoKSwgJ3JlY2lwZS1wcm92aWRlcicpO1xuICAgIHIuYWRkUmVsYXRpb25zaGlwKHRoaXMuc3RhdHVzU2VydmljZS5nZXRDYWNoZWQoKSwgJ3JlY2lwZS1zdGF0dXMnKTtcbiAgICAvLyBUT0RPIDogaGFyZCBjb2RlZCAocGxhdCBwcmluY2lwYWwgYXMgdHlwZSlcbiAgICByLmFkZFJlbGF0aW9uc2hpcCh0aGlzLnR5cGVTZXJ2aWNlLmdldFR5cGVCeU5hbWUoJ3BsYXQgcHJpbmNpcGFsJyksICdyZWNpcGUtdHlwZScpO1xuICAgIC8vIE92ZXJyaWRlIHNwZWNpZmljIG1pYW0gcmVzZXJ2ZWQgYXR0cmlidXRlc1xuICAgIHIuYXR0cmlidXRlcy5zb3VyY2UgPSBudWxsO1xuICAgIHIuYXR0cmlidXRlcy5kZXNjcmlwdGlvbiA9IG51bGw7XG4gICAgci5hdHRyaWJ1dGVzWydleHQtaWQnXSA9IGV4dElkO1xuICAgIHJldHVybiByLnNhdmUoKS5waXBlKFxuICAgICAgc2tpcFdoaWxlKChyOiBhbnkpID0+IHIuaXNfbG9hZGluZyksXG4gICAgICBtYXAoKHI6IGFueSkgPT4gci5kYXRhKVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRXh0SWQodGl0bGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcHJvdmlkZXIgPSB0aGlzLnByb3ZpZGVyU2VydmljZS5nZXRDYWNoZWQoKTtcbiAgICByZXR1cm4gYCR7cHJvdmlkZXIuYXR0cmlidXRlcy5uYW1lLnNsaWNlKDAsIDMpLnRvVXBwZXJDYXNlKCl9LSR7dGl0bGUucmVwbGFjZSgvXFxzKy9nbSwgJy0nKS50b0xvd2VyQ2FzZSgpfWA7XG4gIH1cblxuICBwcml2YXRlIGdldFJlY2lwZShwcm92aWRlcklkOiBzdHJpbmcsIGV4dElkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hbGwoe1xuICAgICAgYmVmb3JlcGF0aDogYHJlY2lwZS1wcm92aWRlcnMvJHtwcm92aWRlcklkfWAsXG4gICAgICByZW1vdGVmaWx0ZXI6IHtcbiAgICAgICAgJ2V4dC1pZCc6IGV4dElkLFxuICAgICAgICAnYWN0aXZlJzogJ3RydWUsZmFsc2UnXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBoZWxwIHVzIHRvIGtlZXAgYSB0cmFjayBvZiByYW5kb20gXG4gICAqIGFuZCBhdm9pZCB0byBzaG93IHNhbWUgcmVjaXBlIG11dGlwbGUgdGltZXNcbiAgICovXG4gIHByaXZhdGUgaW50UmFuZG9tU2VlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnJhbmRvbVNlZWQgPSBEYXRlLm5vdygpO1xuICB9XG5cbn1cbiJdfQ==
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fc2VydmljZXMvcmVjaXBlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFjLFFBQVEsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxPQUFPLEVBQXNCLE1BQU0sYUFBYSxDQUFDO0FBQzFELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFF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QUM7SUFFTyxTQUFTLENBQUMsVUFBa0IsRUFBRSxLQUFhO1FBQ2pELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNkLFVBQVUsRUFBRSxvQkFBb0IsVUFBVSxFQUFFO1lBQzVDLFlBQVksRUFBRTtnQkFDWixRQUFRLEVBQUUsS0FBSztnQkFDZixRQUFRLEVBQUUsWUFBWTthQUN2QjtTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSyxhQUFhO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7OzRFQXZOVSxjQUFjO3NEQUFkLGNBQWMsV0FBZCxjQUFjLG1CQUZiLE1BQU07a0RBRVAsY0FBYztjQUgxQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlpZiwgb2YsIE9ic2VydmFibGUsIGZvcmtKb2luLCBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlcnZpY2UsIERvY3VtZW50Q29sbGVjdGlvbiB9IGZyb20gJ25neC1qc29uYXBpJztcbmltcG9ydCB7IFJlY2lwZSB9IGZyb20gJy4uL19tb2RlbHMvcmVjaXBlJztcbmltcG9ydCB7IFJlY2lwZVByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4vcmVjaXBlLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjaXBlU3RhdHVzU2VydmljZSB9IGZyb20gJy4vcmVjaXBlLXN0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7IFJlY2lwZVR5cGVTZXJ2aWNlIH0gZnJvbSAnLi9yZWNpcGUtdHlwZS5zZXJ2aWNlJztcbmltcG9ydCB7IEdyb2Nlcmllc0xpc3RzU2VydmljZSB9IGZyb20gJy4vZ3JvY2VyaWVzLWxpc3RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjaXBlRXZlbnRzU2VydmljZSB9IGZyb20gJy4vcmVjaXBlLWV2ZW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwLCBza2lwV2hpbGUsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcbmltcG9ydCB7IEluZ3JlZGllbnRzU2VydmljZSB9IGZyb20gJy4vaW5ncmVkaWVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBSZWNpcGVTdGVwc1NlcnZpY2UgfSBmcm9tICcuL3JlY2lwZS1zdGVwcy5zZXJ2aWNlJztcbmltcG9ydCB7IE1pYW1SZWNpcGUgfSBmcm9tICcuLi9fdHlwZXMvcmVjaXBlJztcbmltcG9ydCB7IFN1cHBsaWVyc1NlcnZpY2UgfSBmcm9tICcuL3N1cHBsaWVycy5zZXJ2aWNlJztcbmltcG9ydCB7IFJlY2lwZVByaWNpbmcgfSBmcm9tICcuLi9fbW9kZWxzL3JlY2lwZS1wcmljaW5nJztcbmltcG9ydCB7IFNwb25zb3JTZXJ2aWNlIH0gZnJvbSAnLi9zcG9uc29yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9pbnRPZlNhbGVzU2VydmljZSB9IGZyb20gJy4vcG9pbnQtb2Ytc2FsZXMuc2VydmljZSc7XG5pbXBvcnQgeyBQYWNrYWdlU2VydmljZSB9IGZyb20gJy4vcGFja2FnZS5zZXJ2aWNlJztcblxuY29uc3QgTUlBTV9BUElfSE9TVCA9IGAke2Vudmlyb25tZW50Lm1pYW1BUEl9L2FwaS92MS9gO1xuXG5pbnRlcmZhY2UgUmVjaXBlRGlzcGxheSB7XG4gIHByZXZpZXdBbGxvd2VkOiBib29sZWFuO1xuICByZWNpcGU6IFJlY2lwZTtcbiAgcHJldmlld01vZGU6IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFJlY2lwZXNTZXJ2aWNlIGV4dGVuZHMgU2VydmljZTxSZWNpcGU+IHtcblxuICByZXNvdXJjZSA9IFJlY2lwZTtcbiAgdHlwZSA9ICdyZWNpcGVzJztcbiAgZGlzcGxheWVkUmVjaXBlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UmVjaXBlRGlzcGxheT4obnVsbCk7XG4gIGRpc3BsYXlIZWxwZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIGRpc3BsYXllZFJlY2lwZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIGhpZGRlbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwcml2YXRlIHJhbmRvbVNlZWQ6IG51bWJlcjtcbiAgcHJpdmF0ZSBwYWdlTnVtYmVyID0gMTtcbiAgcHJpdmF0ZSByZWNpcGVzOiBSZWNpcGVbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHByb3ZpZGVyU2VydmljZTogUmVjaXBlUHJvdmlkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RhdHVzU2VydmljZTogUmVjaXBlU3RhdHVzU2VydmljZSxcbiAgICBwcml2YXRlIHR5cGVTZXJ2aWNlOiBSZWNpcGVUeXBlU2VydmljZSxcbiAgICBwcml2YXRlIHN1cHBsaWVyc1NlcnZpY2U6IFN1cHBsaWVyc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBwb3NTZXJ2aWNlOiBQb2ludE9mU2FsZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGlzdHNTZXJ2aWNlOiBHcm9jZXJpZXNMaXN0c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmdyZWRpZW50c1NlcnZpY2U6IEluZ3JlZGllbnRzU2VydmljZSxcbiAgICBwcml2YXRlIHJlY2lwZVN0ZXBzU2VydmljZTogUmVjaXBlU3RlcHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVjaXBlRXZlbnRzU2VydmljZTogUmVjaXBlRXZlbnRzU2VydmljZSxcbiAgICBwcml2YXRlIHNwb25zb3JTZXJ2aWNlOiBTcG9uc29yU2VydmljZSxcbiAgICBwcml2YXRlIHBhY2thZ2VTZXJ2aWNlOiBQYWNrYWdlU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMucmVnaXN0ZXIoKTtcbiAgICB0aGlzLmludFJhbmRvbVNlZWQoKTtcbiAgfVxuXG4gIGxvYWRSZWNpcGVzKCk6IE9ic2VydmFibGU8UmVjaXBlW10+IHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5saXN0c1NlcnZpY2UubGlzdCQudmFsdWU7XG4gICAgaWYgKCFsaXN0KSB7XG4gICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfSBlbHNlIGlmIChsaXN0LmF0dHJpYnV0ZXNbJ3JlY2lwZXMtaW5mb3MnXS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBvZihbXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvcmtKb2luKGxpc3QuYXR0cmlidXRlc1sncmVjaXBlcy1pbmZvcyddLm1hcChpbmZvID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmdldE9yRmV0Y2goaW5mby5pZCkucGlwZShcbiAgICAgICAgc2tpcFdoaWxlKHIgPT4gci5pc19sb2FkaW5nKSxcbiAgICAgICAgdGFwKHIgPT4gci5tb2RpZmllZEd1ZXN0cyA9IGluZm8uZ3Vlc3RzKVxuICAgICAgKTtcbiAgICB9KSk7XG4gIH1cblxuICAvLyBDcmVhdGUgcmVjaXBlICYgYXBwZW5kIHRvIGdyb2NlcmllcyBsaXN0XG4gIGdldE9yQ3JlYXRlKHJlY2lwZSwgb3BlbkJhc2tldDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgY29uc3QgcHJvdmlkZXIgPSB0aGlzLnByb3ZpZGVyU2VydmljZS5nZXRDYWNoZWQoKTtcbiAgICBjb25zdCBleHRJZCA9IHRoaXMuY3JlYXRlRXh0SWQocmVjaXBlLnRpdGxlKTtcblxuICAgIC8vIENoZWNrIGlmIGV4aXN0cyBvciBjcmVhdGUgaXRcbiAgICByZXR1cm4gdGhpcy5nZXRSZWNpcGUocHJvdmlkZXIuaWQsIGV4dElkKS5waXBlKFxuICAgICAgc2tpcFdoaWxlKHIgPT4gci5pc19sb2FkaW5nKSxcbiAgICAgIC8vIE5PVEUgOiBhZGRpbmcgb2Yodm9pZCAwKSBmb3IgZmFsc3kgb2JzZXJ2YWJsZSAobmd4LWpzb25hcGkgaXMgdHJpZ2dlcmluZyBhbiBodHRwIHJlcXVlc3Qgd2hlbiBzYXZlKCkgY2FsbGVkKVxuICAgICAgc3dpdGNoTWFwKChyKSA9PiBpaWYoKCkgPT4gISFyLmRhdGEubGVuZ3RoLCBvZihyLmRhdGFbMF0pLCBvZih2b2lkIDApLnBpcGUoc3dpdGNoTWFwKF8gPT4gdGhpcy5jcmVhdGUoZXh0SWQsIHJlY2lwZSkpKSkpLFxuICAgICAgLy8gQXBwZW5kIHJlY2lwZSB0byBjdXJyZW50IHNhdmVkIGxpc3RcbiAgICAgIHN3aXRjaE1hcCgocikgPT4gdGhpcy5saXN0c1NlcnZpY2UuYXBwZW5kUmVjaXBlVG9MaXN0KHIuaWQsIHIubW9kaWZpZWRHdWVzdHMsIG9wZW5CYXNrZXQpKVxuICAgICk7XG5cbiAgfVxuXG4gIGdldFJhbmRvbShwYWdlID0geyBudW1iZXI6IHRoaXMucGFnZU51bWJlciwgc2l6ZTogMSB9LCBmaWx0ZXJzOiBvYmplY3QgPSB7IHJldmlld2VkOiB0cnVlLCBleGNsdWRlX25vX3BpY3R1cmU6IHRydWUgfSxcbiAgICAgICAgICAgIGNsZWFyID0gZmFsc2UpOiBPYnNlcnZhYmxlPFJlY2lwZVtdPiB7XG4gICAgdGhpcy5wYWdlTnVtYmVyKys7XG4gICAgLy8gRmV0Y2ggcmFuZG9tIHJlY2lwZXNcbiAgICByZXR1cm4gdGhpcy5hbGwoe1xuICAgICAgcGFnZSxcbiAgICAgIHJlbW90ZWZpbHRlcjogT2JqZWN0LmFzc2lnbih7Li4uZmlsdGVyc30sIHsgcmFuZG9tOiB0aGlzLnJhbmRvbVNlZWR9KSxcbiAgICAgIGluY2x1ZGU6IFsnaW5ncmVkaWVudHMnLCAncmVjaXBlLXN0ZXBzJywgJ3JlY2lwZS1zdGF0dXMnLCAncmVjaXBlLXR5cGUnLCAnc3BvbnNvcnMnLCAncmVjaXBlLXByb3ZpZGVyJ11cbiAgICB9KS5waXBlKFxuICAgICAgc2tpcFdoaWxlKHJlc3VsdCA9PiByZXN1bHQuaXNfbG9hZGluZyksXG4gICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICk7XG4gIH1cblxuICAvLyBERVBSRUNBVEVEIC8gdXNlIFRUTCBpbnN0ZWFkXG4gIGdldE9yRmV0Y2gocmVjaXBlSWQpOiBPYnNlcnZhYmxlPFJlY2lwZT4ge1xuICAgIGNvbnN0IHJlY2lwZSA9IHRoaXMucmVjaXBlcy5maW5kKHIgPT4gci5pZCA9PT0gcmVjaXBlSWQpO1xuICAgIGlmIChyZWNpcGUpIHtcbiAgICAgIHJldHVybiBvZihyZWNpcGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXQocmVjaXBlSWQsIHsgaW5jbHVkZTogWydpbmdyZWRpZW50cycsICdyZWNpcGUtc3RlcHMnLCAncmVjaXBlLXN0YXR1cycsICdyZWNpcGUtdHlwZScsICdzcG9uc29ycycgXSB9KS5waXBlKFxuICAgICAgICB0YXAociA9PiB0aGlzLnJlY2lwZXMucHVzaChyKSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVib3VuY2UgdG8gbGV0IGVub3VnaCB0aW1lIGZvciB0aGUgcG9zIHRvIGJlIGRlZmluZWRcbiAgZ2V0U3VnZ2VzdGlvbihcbiAgICBzaGVsZl9pbmdyZWRpZW50c19pZHM6IHN0cmluZ1tdLFxuICAgIGN1cnJlbnRfaW5ncmVkaWVudHNfaWRzOiBzdHJpbmdbXSxcbiAgICBiYXNrZXRfaW5ncmVkaWVudHNfaWRzOiBzdHJpbmdbXSxcbiAgICBncm91cF9pZDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8UmVjaXBlW10+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5zdXBwbGllcnNTZXJ2aWNlLnN1cHBsaWVyJCwgdGhpcy5wb3NTZXJ2aWNlLnBvcyRdKS5waXBlKFxuICAgICAgc2tpcFdoaWxlKHJlc3VsdHMgPT4gIXJlc3VsdHNbMF0pLFxuICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICBzd2l0Y2hNYXAocmVzdWx0cyA9PiB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSB7IHNoZWxmX2luZ3JlZGllbnRzX2lkcywgY3VycmVudF9pbmdyZWRpZW50c19pZHMsIGJhc2tldF9pbmdyZWRpZW50c19pZHMsIGdyb3VwX2lkIH07XG4gICAgICAgIGxldCBzdXBwbGllckZpbHRlciA9IGBzdXBwbGllcl9pZD0ke3Jlc3VsdHNbMF0uaWR9YDtcbiAgICAgICAgaWYgKHJlc3VsdHNbMV0pIHtcbiAgICAgICAgICBzdXBwbGllckZpbHRlciA9IGBzdXBwbGllcl9pZD0ke3Jlc3VsdHNbMF0uaWR9JnBvc19pZD0ke3Jlc3VsdHNbMV0uaWR9YDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB1cmwgPSBNSUFNX0FQSV9IT1NUICsgYHJlY2lwZXMvc3VnZ2VzdGlvbnM/JHtzdXBwbGllckZpbHRlcn0maW5jbHVkZT1pbmdyZWRpZW50cyxyZWNpcGUtc3RlcHMsc3BvbnNvcnMscmVjaXBlLXR5cGVgO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsLCBib2R5KTtcbiAgICAgIH0pLFxuICAgICAgbWFwKChyZXR1cm5lZFJlY2lwZXM6IERvY3VtZW50Q29sbGVjdGlvbjxSZWNpcGU+KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlY2lwZXMgPSB0aGlzLm5ld0NvbGxlY3Rpb24oKTtcbiAgICAgICAgcmVjaXBlcy5maWxsKHJldHVybmVkUmVjaXBlcyk7XG4gICAgICAgIHJldHVybiByZWNpcGVzLmRhdGE7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXRQcmljaW5nKHJlY2lwZUlkLCBwb3NJZCwgc2VydmVzID0gbnVsbCk6IE9ic2VydmFibGU8UmVjaXBlUHJpY2luZz4ge1xuICAgIGlmICghcmVjaXBlSWQpIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG5cbiAgICBsZXQgdXJsID0gTUlBTV9BUElfSE9TVCArIGByZWNpcGVzLyR7cmVjaXBlSWR9L3ByaWNpbmc/cG9pbnRfb2Zfc2FsZV9pZD0ke3Bvc0lkfWA7XG4gICAgaWYgKHNlcnZlcykge1xuICAgICAgdXJsICs9IGAmc2VydmVzPSR7c2VydmVzfWA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gbmV3IFJlY2lwZVByaWNpbmcocmVzdWx0KSlcbiAgICApO1xuICB9XG5cbiAgY3JlYXRlRnJvbVVybChzb3VyY2U6IHN0cmluZywgZXh0X2xpbms6IHN0cmluZyk6IE9ic2VydmFibGU8UmVjaXBlPiB7XG4gICAgaWYgKCFzb3VyY2UgfHwgIWV4dF9saW5rKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHNvdXJjZSBvciByZWNpcGUgbGluayBwcm92aWRlZCcpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHtlbnZpcm9ubWVudC5taWFtQVBJfS9hcGkvdjEvcmVjaXBlcy9mcm9tX3VybGAsIHsgc291cmNlLCBleHRfbGluayB9KS5waXBlKFxuICAgICAgbWFwKChyZXN1bHQ6IGFueSkgPT4gcmVzdWx0LmRhdGEgYXMgUmVjaXBlKVxuICAgICk7XG4gIH1cblxuICAvLyBPcGVuIG1vZGFsIHNob3dpbmcgcmVjaXBlIGRldGFpbHNcbiAgZGlzcGxheShyZWNpcGVJZDogc3RyaW5nLCB7IHByZXZpZXdBbGxvd2VkID0gdHJ1ZSwgZ3Vlc3RzID0gbnVsbCwgcHJldmlld01vZGUgPSBmYWxzZX0pIHtcbiAgICBpZiAoIXJlY2lwZUlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5nZXQocmVjaXBlSWQsIHsgaW5jbHVkZTogWydpbmdyZWRpZW50cycsICdyZWNpcGUtc3RlcHMnLCAncmVjaXBlLXR5cGUnLCAnc3BvbnNvcnMnXSB9KVxuICAgICAgLnBpcGUoc2tpcFdoaWxlKHJlY2lwZSA9PiByZWNpcGUuaXNfbG9hZGluZykpXG4gICAgICAuc3Vic2NyaWJlKHJlY2lwZSA9PiB7XG4gICAgICAgIHRoaXMuZGlzcGxheU9iamVjdChyZWNpcGUsIHtwcmV2aWV3QWxsb3dlZCwgZ3Vlc3RzLCBwcmV2aWV3TW9kZSB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZGlzcGxheU9iamVjdChyZWNpcGU6IFJlY2lwZSwgeyBwcmV2aWV3QWxsb3dlZCA9IHRydWUsIGd1ZXN0cyA9IG51bGwsIHByZXZpZXdNb2RlID0gZmFsc2V9KXtcbiAgICBpZiAoIXJlY2lwZSl7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICByZWNpcGUubW9kaWZpZWRHdWVzdHMgPSBndWVzdHMgfHwgK3JlY2lwZS5ndWVzdHM7XG4gICAgdGhpcy5kaXNwbGF5ZWRSZWNpcGUkLm5leHQoeyBwcmV2aWV3QWxsb3dlZCAsIHJlY2lwZSwgcHJldmlld01vZGUgfSk7XG4gICAgaWYgKCFwcmV2aWV3TW9kZSkge1xuICAgICAgdGhpcy5yZWNpcGVFdmVudHNTZXJ2aWNlLnNlbmRFdmVudChyZWNpcGUsIHRoaXMucmVjaXBlRXZlbnRzU2VydmljZS5BQ1RJT05fRElTUExBWUVEKTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVIZWxwZXIoKSB7XG4gICAgdGhpcy5kaXNwbGF5SGVscGVyJC5uZXh0KCF0aGlzLmRpc3BsYXlIZWxwZXIkLnZhbHVlKTtcbiAgfVxuXG4gIGhpZGUoKSB7XG4gICAgdGhpcy5kaXNwbGF5ZWRSZWNpcGUkLm5leHQobnVsbCk7XG4gICAgdGhpcy5oaWRkZW4uZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlKGV4dElkOiBzdHJpbmcsIHJlY2lwZSA6IE1pYW1SZWNpcGUpIHtcbiAgICBjb25zdCByID0gdGhpcy5uZXcoKTtcbiAgICAvLyBDb3B5IHJlY2lwZSBpbnRvIGF0dHJpYnV0ZXNcbiAgICBPYmplY3QuYXNzaWduKHIuYXR0cmlidXRlcywgcmVjaXBlKTtcbiAgICAvLyBTZXQgcHJvdmlkZXIgJiBzdGF0dXMgKGNhY2hlZCBmcm9tIGluaXRpYWxpemVkIHZhciBNSUFNX1NUQVRVU19JRCAmIE1JQU1fUFJPVklERVJfSUQpXG4gICAgci5hZGRSZWxhdGlvbnNoaXAodGhpcy5wcm92aWRlclNlcnZpY2UuZ2V0Q2FjaGVkKCksICdyZWNpcGUtcHJvdmlkZXInKTtcbiAgICByLmFkZFJlbGF0aW9uc2hpcCh0aGlzLnN0YXR1c1NlcnZpY2UuZ2V0Q2FjaGVkKCksICdyZWNpcGUtc3RhdHVzJyk7XG4gICAgLy8gVE9ETyA6IGhhcmQgY29kZWQgKHBsYXQgcHJpbmNpcGFsIGFzIHR5cGUpXG4gICAgci5hZGRSZWxhdGlvbnNoaXAodGhpcy50eXBlU2VydmljZS5nZXRUeXBlQnlOYW1lKCdwbGF0IHByaW5jaXBhbCcpLCAncmVjaXBlLXR5cGUnKTtcbiAgICAvLyBPdmVycmlkZSBzcGVjaWZpYyBtaWFtIHJlc2VydmVkIGF0dHJpYnV0ZXNcbiAgICByLmF0dHJpYnV0ZXMuc291cmNlID0gbnVsbDtcbiAgICByLmF0dHJpYnV0ZXMuZGVzY3JpcHRpb24gPSBudWxsO1xuICAgIHIuYXR0cmlidXRlc1snZXh0LWlkJ10gPSBleHRJZDtcbiAgICByZXR1cm4gci5zYXZlKCkucGlwZShcbiAgICAgIHNraXBXaGlsZSgocjogYW55KSA9PiByLmlzX2xvYWRpbmcpLFxuICAgICAgbWFwKChyOiBhbnkpID0+IHIuZGF0YSlcbiAgICApXG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUV4dElkKHRpdGxlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHByb3ZpZGVyID0gdGhpcy5wcm92aWRlclNlcnZpY2UuZ2V0Q2FjaGVkKCk7XG4gICAgcmV0dXJuIGAke3Byb3ZpZGVyLmF0dHJpYnV0ZXMubmFtZS5zbGljZSgwLCAzKS50b1VwcGVyQ2FzZSgpfS0ke3RpdGxlLnJlcGxhY2UoL1xccysvZ20sICctJykudG9Mb3dlckNhc2UoKX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZWNpcGUocHJvdmlkZXJJZDogc3RyaW5nLCBleHRJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYWxsKHtcbiAgICAgIGJlZm9yZXBhdGg6IGByZWNpcGUtcHJvdmlkZXJzLyR7cHJvdmlkZXJJZH1gLFxuICAgICAgcmVtb3RlZmlsdGVyOiB7XG4gICAgICAgICdleHQtaWQnOiBleHRJZCxcbiAgICAgICAgJ2FjdGl2ZSc6ICd0cnVlLGZhbHNlJ1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogaGVscCB1cyB0byBrZWVwIGEgdHJhY2sgb2YgcmFuZG9tIFxuICAgKiBhbmQgYXZvaWQgdG8gc2hvdyBzYW1lIHJlY2lwZSBtdXRpcGxlIHRpbWVzXG4gICAqL1xuICBwcml2YXRlIGludFJhbmRvbVNlZWQoKTogdm9pZCB7XG4gICAgdGhpcy5yYW5kb21TZWVkID0gRGF0ZS5ub3coKTtcbiAgfVxuXG59XG4iXX0=
@@ -3,7 +3,7 @@ import { Injectable } from '@angular/core';
3
3
  import { Service } from 'ngx-jsonapi';
4
4
  import { BehaviorSubject, of } from 'rxjs';
5
5
  import { map, skipWhile, tap } from 'rxjs/operators';
6
- import { environment } from '../environment';
6
+ import { environment } from '../environments/environment';
7
7
  import { Supplier } from '../_models/supplier';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/common/http";
@@ -47,4 +47,4 @@ SuppliersService.ɵprov = i0.ɵɵdefineInjectable({ token: SuppliersService, fac
47
47
  providedIn: 'root'
48
48
  }]
49
49
  }], function () { return [{ type: i1.HttpClient }]; }, null); })();
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcGxpZXJzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19zZXJ2aWNlcy9zdXBwbGllcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQXNCLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFLL0MsTUFBTSxPQUFPLGdCQUFpQixTQUFRLE9BQWlCO0lBT3JELFlBQW9CLElBQWdCO1FBQ2xDLEtBQUssRUFBRSxDQUFDO1FBRFUsU0FBSSxHQUFKLElBQUksQ0FBWTtRQU43QixhQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3BCLFNBQUksR0FBRyxXQUFXLENBQUM7UUFDMUIsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFXLElBQUksQ0FBQyxDQUFDO1FBRXhDLFFBQUcsR0FBRyxHQUFHLFdBQVcsQ0FBQyxPQUFPLFNBQVMsQ0FBQztRQUk1QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELFlBQVksQ0FBQyxVQUFrQjtRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLFVBQVUsRUFBRTtZQUNuRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDdkIsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUMxQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUMvQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2Y7UUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELDZDQUE2QztJQUM3Qyx1QkFBdUIsQ0FBQyxVQUFrQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFrQyxHQUFHLElBQUksQ0FBQyxHQUFHLHVDQUF1QyxVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDeEgsR0FBRyxDQUFDLENBQUMsR0FBb0MsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELG1CQUFtQixDQUFDLFdBQW1CLEVBQUUsTUFBYyxFQUFFLFFBQXlCLElBQUk7UUFDcEYsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFO1lBQ3pCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pCO1FBRUQsTUFBTSxlQUFlLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxjQUFjLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsMEJBQTBCLENBQUM7UUFDbkcsTUFBTSxJQUFJLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNwRCxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxLQUFLLENBQUM7U0FDN0I7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDOztnRkF4Q1UsZ0JBQWdCO3dEQUFoQixnQkFBZ0IsV0FBaEIsZ0JBQWdCLG1CQUZmLE1BQU07a0RBRVAsZ0JBQWdCO2NBSDVCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb2N1bWVudENvbGxlY3Rpb24sIFNlcnZpY2UgfSBmcm9tICduZ3gtanNvbmFwaSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHNraXBXaGlsZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZW52aXJvbm1lbnQgfSBmcm9tICcuLi9lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBQb2ludE9mU2FsZSB9IGZyb20gJy4uL19tb2RlbHMvcG9pbnQtb2Ytc2FsZSc7XG5pbXBvcnQgeyBTdXBwbGllciB9IGZyb20gJy4uL19tb2RlbHMvc3VwcGxpZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTdXBwbGllcnNTZXJ2aWNlIGV4dGVuZHMgU2VydmljZTxTdXBwbGllcj4ge1xuICBwdWJsaWMgcmVzb3VyY2UgPSBTdXBwbGllcjtcbiAgcHVibGljIHR5cGUgPSAnc3VwcGxpZXJzJztcbiAgc3VwcGxpZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdXBwbGllcj4obnVsbCk7XG5cbiAgcHJpdmF0ZSB1cmwgPSBgJHtlbnZpcm9ubWVudC5taWFtQVBJfS9hcGkvdjFgO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5yZWdpc3RlcigpO1xuICB9XG5cbiAgbG9hZFN1cHBsaWVyKHN1cHBsaWVySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8U3VwcGxpZXI+IHtcbiAgICBpZiAoIXRoaXMuc3VwcGxpZXIkLnZhbHVlIHx8IHRoaXMuc3VwcGxpZXIkLnZhbHVlLmlkICE9PSBzdXBwbGllcklkKSB7XG4gICAgICB0aGlzLmdldChzdXBwbGllcklkKS5waXBlKFxuICAgICAgICBza2lwV2hpbGUoc3VwcGxpZXIgPT4gc3VwcGxpZXIuaXNfbG9hZGluZyksXG4gICAgICAgIHRhcChzdXBwbGllciA9PiB0aGlzLnN1cHBsaWVyJC5uZXh0KHN1cHBsaWVyKSlcbiAgICAgICkuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc3VwcGxpZXIkO1xuICB9XG5cbiAgLy8gVE9ETzogYXBpIDogYWRkIHJlbGF0ZWQgcmVsYXRpb25zaGlwIHJvdXRlXG4gIGdldFN1cHBsaWVyUG9pbnRPZlNhbGVzKHN1cHBsaWVySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UG9pbnRPZlNhbGVbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PERvY3VtZW50Q29sbGVjdGlvbjxQb2ludE9mU2FsZT4+KGAke3RoaXMudXJsfS9wb2ludC1vZi1zYWxlcz9maWx0ZXJbc3VwcGxpZXJfaWRdPSR7c3VwcGxpZXJJZH1gKS5waXBlKFxuICAgICAgbWFwKChyZXM6IERvY3VtZW50Q29sbGVjdGlvbjxQb2ludE9mU2FsZT4pID0+IHJlcy5kYXRhKSk7XG4gIH1cblxuICBub3RpZnlCYXNrZXRVcGRhdGVkKGJhc2tldFRva2VuOiBzdHJpbmcsIHN0YXR1czogc3RyaW5nLCBwcmljZTogbnVtYmVyIHwgc3RyaW5nID0gbnVsbCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKCF0aGlzLnN1cHBsaWVyJC52YWx1ZSkge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cblxuICAgIGNvbnN0IG5vdGlmaWNhdGlvblVybCA9IGAke3RoaXMudXJsfS9zdXBwbGllcnMvJHt0aGlzLnN1cHBsaWVyJC52YWx1ZS5pZH0vd2ViaG9va3MvYmFza2V0X3VwZGF0ZWRgO1xuICAgIGNvbnN0IGJvZHkgPSB7IHRva2VuOiBiYXNrZXRUb2tlbiwgc3RhdHVzOiBzdGF0dXMgfTtcbiAgICBpZiAocHJpY2UpIHtcbiAgICAgIGJvZHlbJ3RvdGFsX3ByaWNlJ10gPSBwcmljZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KG5vdGlmaWNhdGlvblVybCwgYm9keSk7XG4gIH1cblxufVxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcGxpZXJzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19zZXJ2aWNlcy9zdXBwbGllcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQXNCLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFLL0MsTUFBTSxPQUFPLGdCQUFpQixTQUFRLE9BQWlCO0lBT3JELFlBQW9CLElBQWdCO1FBQ2xDLEtBQUssRUFBRSxDQUFDO1FBRFUsU0FBSSxHQUFKLElBQUksQ0FBWTtRQU43QixhQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3BCLFNBQUksR0FBRyxXQUFXLENBQUM7UUFDMUIsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFXLElBQUksQ0FBQyxDQUFDO1FBRXhDLFFBQUcsR0FBRyxHQUFHLFdBQVcsQ0FBQyxPQUFPLFNBQVMsQ0FBQztRQUk1QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELFlBQVksQ0FBQyxVQUFrQjtRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLFVBQVUsRUFBRTtZQUNuRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDdkIsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUMxQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUMvQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2Y7UUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELDZDQUE2QztJQUM3Qyx1QkFBdUIsQ0FBQyxVQUFrQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFrQyxHQUFHLElBQUksQ0FBQyxHQUFHLHVDQUF1QyxVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDeEgsR0FBRyxDQUFDLENBQUMsR0FBb0MsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELG1CQUFtQixDQUFDLFdBQW1CLEVBQUUsTUFBYyxFQUFFLFFBQXlCLElBQUk7UUFDcEYsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFO1lBQ3pCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pCO1FBRUQsTUFBTSxlQUFlLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxjQUFjLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsMEJBQTBCLENBQUM7UUFDbkcsTUFBTSxJQUFJLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNwRCxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxLQUFLLENBQUM7U0FDN0I7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDOztnRkF4Q1UsZ0JBQWdCO3dEQUFoQixnQkFBZ0IsV0FBaEIsZ0JBQWdCLG1CQUZmLE1BQU07a0RBRVAsZ0JBQWdCO2NBSDVCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb2N1bWVudENvbGxlY3Rpb24sIFNlcnZpY2UgfSBmcm9tICduZ3gtanNvbmFwaSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHNraXBXaGlsZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZW52aXJvbm1lbnQgfSBmcm9tICcuLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgUG9pbnRPZlNhbGUgfSBmcm9tICcuLi9fbW9kZWxzL3BvaW50LW9mLXNhbGUnO1xuaW1wb3J0IHsgU3VwcGxpZXIgfSBmcm9tICcuLi9fbW9kZWxzL3N1cHBsaWVyJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3VwcGxpZXJzU2VydmljZSBleHRlbmRzIFNlcnZpY2U8U3VwcGxpZXI+IHtcbiAgcHVibGljIHJlc291cmNlID0gU3VwcGxpZXI7XG4gIHB1YmxpYyB0eXBlID0gJ3N1cHBsaWVycyc7XG4gIHN1cHBsaWVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3VwcGxpZXI+KG51bGwpO1xuXG4gIHByaXZhdGUgdXJsID0gYCR7ZW52aXJvbm1lbnQubWlhbUFQSX0vYXBpL3YxYDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMucmVnaXN0ZXIoKTtcbiAgfVxuXG4gIGxvYWRTdXBwbGllcihzdXBwbGllcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFN1cHBsaWVyPiB7XG4gICAgaWYgKCF0aGlzLnN1cHBsaWVyJC52YWx1ZSB8fCB0aGlzLnN1cHBsaWVyJC52YWx1ZS5pZCAhPT0gc3VwcGxpZXJJZCkge1xuICAgICAgdGhpcy5nZXQoc3VwcGxpZXJJZCkucGlwZShcbiAgICAgICAgc2tpcFdoaWxlKHN1cHBsaWVyID0+IHN1cHBsaWVyLmlzX2xvYWRpbmcpLFxuICAgICAgICB0YXAoc3VwcGxpZXIgPT4gdGhpcy5zdXBwbGllciQubmV4dChzdXBwbGllcikpXG4gICAgICApLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnN1cHBsaWVyJDtcbiAgfVxuXG4gIC8vIFRPRE86IGFwaSA6IGFkZCByZWxhdGVkIHJlbGF0aW9uc2hpcCByb3V0ZVxuICBnZXRTdXBwbGllclBvaW50T2ZTYWxlcyhzdXBwbGllcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFBvaW50T2ZTYWxlW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxEb2N1bWVudENvbGxlY3Rpb248UG9pbnRPZlNhbGU+PihgJHt0aGlzLnVybH0vcG9pbnQtb2Ytc2FsZXM/ZmlsdGVyW3N1cHBsaWVyX2lkXT0ke3N1cHBsaWVySWR9YCkucGlwZShcbiAgICAgIG1hcCgocmVzOiBEb2N1bWVudENvbGxlY3Rpb248UG9pbnRPZlNhbGU+KSA9PiByZXMuZGF0YSkpO1xuICB9XG5cbiAgbm90aWZ5QmFza2V0VXBkYXRlZChiYXNrZXRUb2tlbjogc3RyaW5nLCBzdGF0dXM6IHN0cmluZywgcHJpY2U6IG51bWJlciB8IHN0cmluZyA9IG51bGwpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICghdGhpcy5zdXBwbGllciQudmFsdWUpIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG5cbiAgICBjb25zdCBub3RpZmljYXRpb25VcmwgPSBgJHt0aGlzLnVybH0vc3VwcGxpZXJzLyR7dGhpcy5zdXBwbGllciQudmFsdWUuaWR9L3dlYmhvb2tzL2Jhc2tldF91cGRhdGVkYDtcbiAgICBjb25zdCBib2R5ID0geyB0b2tlbjogYmFza2V0VG9rZW4sIHN0YXR1czogc3RhdHVzIH07XG4gICAgaWYgKHByaWNlKSB7XG4gICAgICBib2R5Wyd0b3RhbF9wcmljZSddID0gcHJpY2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChub3RpZmljYXRpb25VcmwsIGJvZHkpO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,52 @@
1
+ // ngx-toastr works perfectly with ng-miam, but I couldn't load it properly in webc-miam
2
+ // fallback on the old toastr JS lib...
3
+ import { Injectable } from '@angular/core';
4
+ import * as i0 from "@angular/core";
5
+ export class ToastrService {
6
+ constructor() {
7
+ this.injectJquery();
8
+ setTimeout(() => {
9
+ this.injectScript();
10
+ this.injectCss();
11
+ });
12
+ }
13
+ info(message, title = null, options = null) {
14
+ window['toastr'].info(message, title, options);
15
+ }
16
+ injectJquery() {
17
+ if (window['jQuery']) {
18
+ return;
19
+ }
20
+ const script = document.createElement('script');
21
+ script.src = 'https://code.jquery.com/jquery-1.12.4.min.js';
22
+ script.integrity = 'sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=';
23
+ script.crossOrigin = 'anonymous';
24
+ document.head.appendChild(script);
25
+ }
26
+ injectScript() {
27
+ if (window['toastr']) {
28
+ return;
29
+ }
30
+ const script = document.createElement('script');
31
+ script.src = 'https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js';
32
+ document.head.appendChild(script);
33
+ }
34
+ injectCss() {
35
+ if (window['toastr']) {
36
+ return;
37
+ }
38
+ const style = document.createElement('link');
39
+ style.rel = 'stylesheet';
40
+ style.href = 'https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css';
41
+ document.head.appendChild(style);
42
+ }
43
+ }
44
+ ToastrService.ɵfac = function ToastrService_Factory(t) { return new (t || ToastrService)(); };
45
+ ToastrService.ɵprov = i0.ɵɵdefineInjectable({ token: ToastrService, factory: ToastrService.ɵfac, providedIn: 'root' });
46
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(ToastrService, [{
47
+ type: Injectable,
48
+ args: [{
49
+ providedIn: 'root'
50
+ }]
51
+ }], function () { return []; }, null); })();
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3RyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19zZXJ2aWNlcy90b2FzdHIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3RkFBd0Y7QUFDeEYsdUNBQXVDO0FBRXZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxhQUFhO0lBQ3hCO1FBQ0UsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxHQUFHLElBQUksRUFBRSxPQUFPLEdBQUcsSUFBSTtRQUN4QyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFFakMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxNQUFNLENBQUMsR0FBRyxHQUFHLDhDQUE4QyxDQUFDO1FBQzVELE1BQU0sQ0FBQyxTQUFTLEdBQUcscURBQXFELENBQUM7UUFDekUsTUFBTSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFFakMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxNQUFNLENBQUMsR0FBRyxHQUFHLHVFQUF1RSxDQUFDO1FBQ3JGLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFFakMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxLQUFLLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQztRQUN6QixLQUFLLENBQUMsSUFBSSxHQUFHLHdFQUF3RSxDQUFDO1FBQ3RGLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7OzBFQXRDVSxhQUFhO3FEQUFiLGFBQWEsV0FBYixhQUFhLG1CQUZaLE1BQU07a0RBRVAsYUFBYTtjQUh6QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBuZ3gtdG9hc3RyIHdvcmtzIHBlcmZlY3RseSB3aXRoIG5nLW1pYW0sIGJ1dCBJIGNvdWxkbid0IGxvYWQgaXQgcHJvcGVybHkgaW4gd2ViYy1taWFtXG4vLyBmYWxsYmFjayBvbiB0aGUgb2xkIHRvYXN0ciBKUyBsaWIuLi5cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUb2FzdHJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pbmplY3RKcXVlcnkoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaW5qZWN0U2NyaXB0KCk7XG4gICAgICB0aGlzLmluamVjdENzcygpO1xuICAgIH0pO1xuICB9XG5cbiAgaW5mbyhtZXNzYWdlLCB0aXRsZSA9IG51bGwsIG9wdGlvbnMgPSBudWxsKSB7XG4gICAgd2luZG93Wyd0b2FzdHInXS5pbmZvKG1lc3NhZ2UsIHRpdGxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5qZWN0SnF1ZXJ5KCkge1xuICAgIGlmICh3aW5kb3dbJ2pRdWVyeSddKSB7IHJldHVybjsgfVxuXG4gICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgc2NyaXB0LnNyYyA9ICdodHRwczovL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMS4xMi40Lm1pbi5qcyc7XG4gICAgc2NyaXB0LmludGVncml0eSA9ICdzaGEyNTYtWm9zRWJSTGJOUXpMcG5LSWtFZHJQdjdsT3k5QzI3aEhRK1hwOGE0TXhBUT0nO1xuICAgIHNjcmlwdC5jcm9zc09yaWdpbiA9ICdhbm9ueW1vdXMnO1xuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5qZWN0U2NyaXB0KCkge1xuICAgIGlmICh3aW5kb3dbJ3RvYXN0ciddKSB7IHJldHVybjsgfVxuXG4gICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgc2NyaXB0LnNyYyA9ICdodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy90b2FzdHIuanMvbGF0ZXN0L3RvYXN0ci5taW4uanMnO1xuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5qZWN0Q3NzKCkge1xuICAgIGlmICh3aW5kb3dbJ3RvYXN0ciddKSB7IHJldHVybjsgfVxuXG4gICAgY29uc3Qgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgc3R5bGUucmVsID0gJ3N0eWxlc2hlZXQnO1xuICAgIHN0eWxlLmhyZWYgPSAnaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvdG9hc3RyLmpzL2xhdGVzdC90b2FzdHIubWluLmNzcyc7XG4gICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,18 +1,21 @@
1
1
  import { HttpClient } from "@angular/common/http";
2
2
  import { Injectable } from "@angular/core";
3
- import { RecipeProviderService } from "../_services/recipe-provider.service";
4
3
  import { BehaviorSubject, of } from "rxjs";
5
- import { take, switchMap, skipWhile, tap } from "rxjs/operators";
6
- import { environment } from "../environment";
7
- import { User } from "../_models/user";
4
+ import { take, switchMap, skipWhile, tap, map } from "rxjs/operators";
5
+ import { environment } from '../environments/environment';
6
+ import { User } from "../_models";
7
+ import { SuppliersService, RecipeProviderService, ToastrService } from '.';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/common/http";
10
- import * as i2 from "../_services/recipe-provider.service";
10
+ import * as i2 from ".";
11
11
  export class UserService {
12
- constructor(http, recipesProvidersService) {
12
+ constructor(http, recipesProvidersService, toastr, suppliersService) {
13
13
  this.http = http;
14
14
  this.recipesProvidersService = recipesProvidersService;
15
+ this.toastr = toastr;
16
+ this.suppliersService = suppliersService;
15
17
  this.isLogged$ = new BehaviorSubject(false);
18
+ this.userInfo$ = new BehaviorSubject(undefined);
16
19
  this.userRoles$ = new BehaviorSubject([]);
17
20
  this.userProviders$ = new BehaviorSubject(undefined);
18
21
  }
@@ -32,38 +35,78 @@ export class UserService {
32
35
  this.isLogged$.next(logged);
33
36
  }
34
37
  setUserInfo(forbidProfiling) {
35
- this.userInfo = new User({ forbidProfiling: forbidProfiling });
36
- return this.http.get(`${environment.miamAPI}/user_info`).pipe(take(1), switchMap(userInfo => {
37
- Object.assign(this.userInfo, userInfo);
38
+ const userInfo = new User({ forbidProfiling });
39
+ return this.http.get(`${environment.miamAPI}/user_info`).pipe(take(1), switchMap(result => {
40
+ this.userInfo$.next(Object.assign(userInfo, result));
38
41
  this.initRoles();
39
42
  return this.initProvider();
40
43
  }));
41
44
  }
42
45
  resetUserInfo() {
43
- this.userInfo = null;
46
+ this.userInfo$.next(null);
44
47
  this.userRoles$.next([]);
45
48
  this.userProviders$.next(null);
46
49
  }
50
+ setPreference(pref, state) {
51
+ return this.userInfo$.pipe(take(1), skipWhile((userInfo) => !(userInfo === null || userInfo === void 0 ? void 0 : userInfo.user_metadata)), switchMap((userInfo) => {
52
+ if (!userInfo.user_metadata.preferences) {
53
+ userInfo.user_metadata.preferences = {};
54
+ }
55
+ // If the preference is already set, we simply return the user
56
+ if (userInfo.user_metadata.preferences[pref] === state) {
57
+ return of(userInfo);
58
+ }
59
+ // Update the user in auth0 via miam API
60
+ userInfo.user_metadata.preferences[pref] = state;
61
+ return this.http.patch(`${environment.miamAPI}/user_info`, { data: userInfo }).pipe(map(() => userInfo));
62
+ }), tap((userInfo) => {
63
+ const title = userInfo.first_name ? `Merci ${userInfo.first_name} !` : null;
64
+ this.toastr.info('Vos préférences ont été mises à jour.', title, {
65
+ closeButton: true,
66
+ progressBar: true,
67
+ progressAnimation: 'decreasing'
68
+ });
69
+ this.userInfo$.next(userInfo);
70
+ }));
71
+ }
72
+ hasPreference(pref) {
73
+ return this.userInfo$.pipe(skipWhile((userInfo) => !(userInfo === null || userInfo === void 0 ? void 0 : userInfo.user_metadata)), map((userInfo) => userInfo.user_metadata.preferences && userInfo.user_metadata.preferences[pref] === true));
74
+ }
75
+ preferenceDefined(pref) {
76
+ return this.userInfo$.pipe(skipWhile((userInfo) => !(userInfo === null || userInfo === void 0 ? void 0 : userInfo.user_metadata)), map((userInfo) => userInfo.user_metadata.preferences && userInfo.user_metadata.preferences[pref] != undefined));
77
+ }
78
+ profilingForbidden() {
79
+ var _a;
80
+ return (_a = this.userInfo$.value) === null || _a === void 0 ? void 0 : _a.forbidProfiling;
81
+ }
47
82
  initProvider() {
48
- var _a, _b;
49
- if ((_b = (_a = this.userInfo) === null || _a === void 0 ? void 0 : _a.app_metadata) === null || _b === void 0 ? void 0 : _b.recipe_provider) {
50
- return this.recipesProvidersService.get(this.userInfo.app_metadata.recipe_provider).pipe(skipWhile(res => res == null), tap(provider => this.userProviders$.next(provider)));
51
- }
52
- else {
53
- return this.recipesProvidersService.get('personal').pipe(skipWhile(res => res == null), tap(provider => this.userProviders$.next(provider)));
54
- }
83
+ return this.userInfo$.pipe(switchMap((userInfo) => {
84
+ var _a;
85
+ const providerKey = ((_a = userInfo === null || userInfo === void 0 ? void 0 : userInfo.app_metadata) === null || _a === void 0 ? void 0 : _a.recipe_provider) || 'personal';
86
+ return this.recipesProvidersService.get(providerKey);
87
+ }), skipWhile(res => res == null), tap(provider => this.userProviders$.next(provider)));
55
88
  }
56
89
  initRoles() {
57
90
  var _a, _b;
58
- this.userRoles$.next(((_b = (_a = this === null || this === void 0 ? void 0 : this.userInfo) === null || _a === void 0 ? void 0 : _a.app_metadata) === null || _b === void 0 ? void 0 : _b.roles) ? this.userInfo.app_metadata.roles : []);
91
+ this.userRoles$.next(((_b = (_a = this.userInfo$.value) === null || _a === void 0 ? void 0 : _a.app_metadata) === null || _b === void 0 ? void 0 : _b.roles) || []);
92
+ }
93
+ getUserSupplier() {
94
+ return this.userInfo$.pipe(switchMap((userInfo) => {
95
+ if (!userInfo.supplierId) {
96
+ return of(null);
97
+ }
98
+ else {
99
+ return this.suppliersService.get(userInfo.supplierId);
100
+ }
101
+ }), skipWhile(res => res === null));
59
102
  }
60
103
  }
61
- UserService.ɵfac = function UserService_Factory(t) { return new (t || UserService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.RecipeProviderService)); };
104
+ UserService.ɵfac = function UserService_Factory(t) { return new (t || UserService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.RecipeProviderService), i0.ɵɵinject(i2.ToastrService), i0.ɵɵinject(i2.SuppliersService)); };
62
105
  UserService.ɵprov = i0.ɵɵdefineInjectable({ token: UserService, factory: UserService.ɵfac, providedIn: 'root' });
63
106
  /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(UserService, [{
64
107
  type: Injectable,
65
108
  args: [{
66
109
  providedIn: 'root'
67
110
  }]
68
- }], function () { return [{ type: i1.HttpClient }, { type: i2.RecipeProviderService }]; }, null); })();
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fc2VydmljZXMvdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBS3ZDLE1BQU0sT0FBTyxXQUFXO0lBT3RCLFlBQW9CLElBQWdCLEVBQVUsdUJBQThDO1FBQXhFLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXVCO1FBSHJGLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUk1QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsS0FBSyxTQUFT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VUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFJlY2lwZVByb3ZpZGVyU2VydmljZSB9IGZyb20gXCIuLi9fc2VydmljZXMvcmVjaXBlLXByb3ZpZGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgdGFrZSwgc3dpdGNoTWFwLCBza2lwV2hpbGUsIHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgZW52aXJvbm1lbnQgfSBmcm9tIFwiLi4vZW52aXJvbm1lbnRcIjtcbmltcG9ydCB7IFJlY2lwZVByb3ZpZGVyIH0gZnJvbSBcIi4uL19tb2RlbHNcIjtcbmltcG9ydCB7IFVzZXIgfSBmcm9tIFwiLi4vX21vZGVscy91c2VyXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJTZXJ2aWNlIHtcblxuICBwcml2YXRlIHVzZXJQcm92aWRlcnMkOiBCZWhhdmlvclN1YmplY3Q8UmVjaXBlUHJvdmlkZXI+O1xuICBwcml2YXRlIHVzZXJSb2xlcyQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT47XG4gIHB1YmxpYyBpc0xvZ2dlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHVibGljIHVzZXJJbmZvOiBVc2VyO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSByZWNpcGVzUHJvdmlkZXJzU2VydmljZTogUmVjaXBlUHJvdmlkZXJTZXJ2aWNlKSB7XG4gICAgdGhpcy51c2VyUm9sZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XG4gICAgdGhpcy51c2VyUHJvdmlkZXJzJCA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdXNlclByb3ZpZGVyKCk6IE9ic2VydmFibGU8UmVjaXBlUHJvdmlkZXI+IHtcbiAgICByZXR1cm4gdGhpcy51c2VyUHJvdmlkZXJzJC5hc09ic2VydmFibGUoKS5waXBlKHNraXBXaGlsZShwcm92aWRlciA9PiBwcm92aWRlciA9PT0gdW5kZWZpbmVkKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVzZXJSb2xlcygpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMudXNlclJvbGVzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNBZG1pbigpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy51c2VyUm9sZXMkLnBpcGUoc3dpdGNoTWFwKChyb2xlczogc3RyaW5nW10pID0+IG9mKHJvbGVzLmluY2x1ZGVzKCdBZG1pbicpKSkpO1xuICB9XG5cbiAgcHVibGljIHNldFVzZXJQcm92aWRlck1hbnVhbGx5KHByb3ZpZGVyOiBSZWNpcGVQcm92aWRlcikge1xuICAgIHRoaXMudXNlclByb3ZpZGVycyQubmV4dChwcm92aWRlcik7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlSXNMb2dnZWQobG9nZ2VkOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc0xvZ2dlZCQubmV4dChsb2dnZWQpO1xuICB9XG5cbiAgcHVibGljIHNldFVzZXJJbmZvKGZvcmJpZFByb2ZpbGluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgdGhpcy51c2VySW5mbyA9IG5ldyBVc2VyKHsgZm9yYmlkUHJvZmlsaW5nOiBmb3JiaWRQcm9maWxpbmcgfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7ZW52aXJvbm1lbnQubWlhbUFQSX0vdXNlcl9pbmZvYCkucGlwZSh0YWtlKDEpLCBzd2l0Y2hNYXAodXNlckluZm8gPT4ge1xuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLnVzZXJJbmZvLCB1c2VySW5mbyk7XG4gICAgICB0aGlzLmluaXRSb2xlcygpO1xuICAgICAgcmV0dXJuIHRoaXMuaW5pdFByb3ZpZGVyKCk7XG4gICAgfSkpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0VXNlckluZm8oKSB7XG4gICAgdGhpcy51c2VySW5mbyA9IG51bGw7XG4gICAgdGhpcy51c2VyUm9sZXMkLm5leHQoW10pO1xuICAgIHRoaXMudXNlclByb3ZpZGVycyQubmV4dChudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFByb3ZpZGVyKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKHRoaXMudXNlckluZm8/LmFwcF9tZXRhZGF0YT8ucmVjaXBlX3Byb3ZpZGVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZWNpcGVzUHJvdmlkZXJzU2VydmljZS5nZXQodGhpcy51c2VySW5mby5hcHBfbWV0YWRhdGEucmVjaXBlX3Byb3ZpZGVyKS5waXBlKHNraXBXaGlsZShyZXMgPT4gcmVzID09IG51bGwpLFxuICAgICAgICB0YXAocHJvdmlkZXIgPT4gdGhpcy51c2VyUHJvdmlkZXJzJC5uZXh0KHByb3ZpZGVyKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5yZWNpcGVzUHJvdmlkZXJzU2VydmljZS5nZXQoJ3BlcnNvbmFsJykucGlwZShza2lwV2hpbGUocmVzID0+IHJlcyA9PSBudWxsKSxcbiAgICAgIHRhcChwcm92aWRlciA9PiB0aGlzLnVzZXJQcm92aWRlcnMkLm5leHQocHJvdmlkZXIpKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0Um9sZXMoKTogdm9pZCB7XG4gICAgdGhpcy51c2VyUm9sZXMkLm5leHQodGhpcz8udXNlckluZm8/LmFwcF9tZXRhZGF0YT8ucm9sZXMgPyB0aGlzLnVzZXJJbmZvLmFwcF9tZXRhZGF0YS5yb2xlcyA6IFtdKTtcbiAgfVxuXG59Il19
111
+ }], function () { return [{ type: i1.HttpClient }, { type: i2.RecipeProviderService }, { type: i2.ToastrService }, { type: i2.SuppliersService }]; }, null); })();
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fc2VydmljZXMvdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBNEIsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxHQUFHLENBQUM7Ozs7QUFLM0UsTUFBTSxPQUFPLFdBQVc7SUFNdEIsWUFDVSxJQUFnQixFQUNoQix1QkFBOEMsRUFDOUMsTUFBcUIsRUFDckIsZ0JBQWtDO1FBSGxDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF1QjtRQUM5QyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFUNUMsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBTyxTQUFTLENBQUMsQ0FBQztRQVV2RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFlLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxRQUF3QjtRQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQWU7UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxlQUFlO1FBQ3pCLE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUMvQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsV0FBVyxDQUFDLE9BQU8sWUFBWSxDQUFDLENBQUMsSUFBSSxDQUMzRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUs7UUFDdkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDeEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFNBQVMsQ0FBQyxDQUFDLFFBQWMsRUFBRSxFQUFFLENBQUMsRUFBQyxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsYUFBYSxDQUFBLENBQUMsRUFDdkQsU0FBUyxDQUFDLENBQUMsUUFBYyxFQUFFLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFO2dCQUN2QyxRQUFRLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7YUFDekM7WUFDRCw4REFBOEQ7WUFDOUQsSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUU7Z0JBQ3RELE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3JCO1lBRUQsd0NBQXdDO1lBQ3hDLFFBQVEsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQTtZQUNoRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsV0FBVyxDQUFDLE9BQU8sWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNqRixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQ3BCLENBQUM7UUFDSixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxRQUFjLEVBQUUsRUFBRTtZQUNyQixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLFFBQVEsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzVFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHVDQUF1QyxFQUFFLEtBQUssRUFBRTtnQkFDL0QsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixpQkFBaUIsRUFBRSxZQUFZO2FBQ2hDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYSxDQUFDLElBQUk7UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDeEIsU0FBUyxDQUFDLENBQUMsUUFBYyxFQUFFLEVBQUUsQ0FBQyxFQUFDLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxhQUFhLENBQUEsQ0FBQyxFQUN2RCxHQUFHLENBQUMsQ0FBQyxRQUFjLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUNqSCxDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQUk7UUFDcEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDeEIsU0FBUyxDQUFDLENBQUMsUUFBYyxFQUFFLEVBQUUsQ0FBQyxFQUFDLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxhQUFhLENBQUEsQ0FBQyxFQUN2RCxHQUFHLENBQUMsQ0FBQyxRQUFjLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUNySCxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjs7UUFDaEIsYUFBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssMENBQUUsZUFBZSxDQUFDO0lBQy9DLENBQUM7SUFFTyxZQUFZO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ3hCLFNBQVMsQ0FBQyxDQUFDLFFBQWMsRUFBRSxFQUFFOztZQUMzQixNQUFNLFdBQVcsR0FBRyxPQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxZQUFZLDBDQUFFLGVBQWUsS0FBSSxVQUFVLENBQUM7WUFDMUUsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsRUFDN0IsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDcEQsQ0FBQztJQUNKLENBQUM7SUFFTyxTQUFTOztRQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQUEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLDBDQUFFLFlBQVksMENBQUUsS0FBSyxLQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDeEIsU0FBUyxDQUFDLENBQUMsUUFBYyxFQUFFLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUU7Z0JBQUUsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7YUFBRTtpQkFDekM7Z0JBQ0gsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN2RDtRQUNILENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FDL0IsQ0FBQTtJQUNILENBQUM7O3NFQWhJVSxXQUFXO21EQUFYLFdBQVcsV0FBWCxXQUFXLG1CQUZWLE1BQU07a0RBRVAsV0FBVztjQUh2QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgdGFrZSwgc3dpdGNoTWFwLCBza2lwV2hpbGUsIHRhcCwgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBSZWNpcGVQcm92aWRlciwgU3VwcGxpZXIsIFVzZXIgfSBmcm9tIFwiLi4vX21vZGVsc1wiO1xuaW1wb3J0IHsgU3VwcGxpZXJzU2VydmljZSwgUmVjaXBlUHJvdmlkZXJTZXJ2aWNlLCBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnLic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJTZXJ2aWNlIHtcbiAgaXNMb2dnZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgdXNlckluZm8kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxVc2VyPih1bmRlZmluZWQpO1xuICBwcml2YXRlIHVzZXJQcm92aWRlcnMkOiBCZWhhdmlvclN1YmplY3Q8UmVjaXBlUHJvdmlkZXI+O1xuICBwcml2YXRlIHVzZXJSb2xlcyQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgcmVjaXBlc1Byb3ZpZGVyc1NlcnZpY2U6IFJlY2lwZVByb3ZpZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHRvYXN0cjogVG9hc3RyU2VydmljZSxcbiAgICBwcml2YXRlIHN1cHBsaWVyc1NlcnZpY2U6IFN1cHBsaWVyc1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy51c2VyUm9sZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XG4gICAgdGhpcy51c2VyUHJvdmlkZXJzJCA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcbiAgfVxuXG4gIGdldCB1c2VyUHJvdmlkZXIoKTogT2JzZXJ2YWJsZTxSZWNpcGVQcm92aWRlcj4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJQcm92aWRlcnMkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2tpcFdoaWxlKHByb3ZpZGVyID0+IHByb3ZpZGVyID09PSB1bmRlZmluZWQpKTtcbiAgfVxuXG4gIGdldCB1c2VyUm9sZXMoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJSb2xlcyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgaXNBZG1pbigpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy51c2VyUm9sZXMkLnBpcGUoc3dpdGNoTWFwKChyb2xlczogc3RyaW5nW10pID0+IG9mKHJvbGVzLmluY2x1ZGVzKCdBZG1pbicpKSkpO1xuICB9XG5cbiAgc2V0VXNlclByb3ZpZGVyTWFudWFsbHkocHJvdmlkZXI6IFJlY2lwZVByb3ZpZGVyKSB7XG4gICAgdGhpcy51c2VyUHJvdmlkZXJzJC5uZXh0KHByb3ZpZGVyKTtcbiAgfVxuXG4gIHRvZ2dsZUlzTG9nZ2VkKGxvZ2dlZDogYm9vbGVhbikge1xuICAgIHRoaXMuaXNMb2dnZWQkLm5leHQobG9nZ2VkKTtcbiAgfVxuXG4gIHNldFVzZXJJbmZvKGZvcmJpZFByb2ZpbGluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXNlckluZm8gPSBuZXcgVXNlcih7IGZvcmJpZFByb2ZpbGluZyB9KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHtlbnZpcm9ubWVudC5taWFtQVBJfS91c2VyX2luZm9gKS5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHN3aXRjaE1hcChyZXN1bHQgPT4ge1xuICAgICAgICB0aGlzLnVzZXJJbmZvJC5uZXh0KE9iamVjdC5hc3NpZ24odXNlckluZm8sIHJlc3VsdCkpO1xuICAgICAgICB0aGlzLmluaXRSb2xlcygpO1xuICAgICAgICByZXR1cm4gdGhpcy5pbml0UHJvdmlkZXIoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHJlc2V0VXNlckluZm8oKSB7XG4gICAgdGhpcy51c2VySW5mbyQubmV4dChudWxsKTtcbiAgICB0aGlzLnVzZXJSb2xlcyQubmV4dChbXSk7XG4gICAgdGhpcy51c2VyUHJvdmlkZXJzJC5uZXh0KG51bGwpO1xuICB9XG5cbiAgc2V0UHJlZmVyZW5jZShwcmVmLCBzdGF0ZSk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJJbmZvJC5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHNraXBXaGlsZSgodXNlckluZm86IFVzZXIpID0+ICF1c2VySW5mbz8udXNlcl9tZXRhZGF0YSksXG4gICAgICBzd2l0Y2hNYXAoKHVzZXJJbmZvOiBVc2VyKSA9PiB7XG4gICAgICAgIGlmICghdXNlckluZm8udXNlcl9tZXRhZGF0YS5wcmVmZXJlbmNlcykge1xuICAgICAgICAgIHVzZXJJbmZvLnVzZXJfbWV0YWRhdGEucHJlZmVyZW5jZXMgPSB7fTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJZiB0aGUgcHJlZmVyZW5jZSBpcyBhbHJlYWR5IHNldCwgd2Ugc2ltcGx5IHJldHVybiB0aGUgdXNlclxuICAgICAgICBpZiAodXNlckluZm8udXNlcl9tZXRhZGF0YS5wcmVmZXJlbmNlc1twcmVmXSA9PT0gc3RhdGUpIHtcbiAgICAgICAgICByZXR1cm4gb2YodXNlckluZm8pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXBkYXRlIHRoZSB1c2VyIGluIGF1dGgwIHZpYSBtaWFtIEFQSVxuICAgICAgICB1c2VySW5mby51c2VyX21ldGFkYXRhLnByZWZlcmVuY2VzW3ByZWZdID0gc3RhdGVcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaChgJHtlbnZpcm9ubWVudC5taWFtQVBJfS91c2VyX2luZm9gLCB7IGRhdGE6IHVzZXJJbmZvIH0pLnBpcGUoXG4gICAgICAgICAgbWFwKCgpID0+IHVzZXJJbmZvKVxuICAgICAgICApO1xuICAgICAgfSksXG4gICAgICB0YXAoKHVzZXJJbmZvOiBVc2VyKSA9PiB7XG4gICAgICAgIGNvbnN0IHRpdGxlID0gdXNlckluZm8uZmlyc3RfbmFtZSA/IGBNZXJjaSAke3VzZXJJbmZvLmZpcnN0X25hbWV9ICFgIDogbnVsbDtcbiAgICAgICAgdGhpcy50b2FzdHIuaW5mbygnVm9zIHByw6lmw6lyZW5jZXMgb250IMOpdMOpIG1pc2VzIMOgIGpvdXIuJywgdGl0bGUsIHtcbiAgICAgICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgICBwcm9ncmVzc0JhcjogdHJ1ZSxcbiAgICAgICAgICBwcm9ncmVzc0FuaW1hdGlvbjogJ2RlY3JlYXNpbmcnXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnVzZXJJbmZvJC5uZXh0KHVzZXJJbmZvKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGhhc1ByZWZlcmVuY2UocHJlZik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJJbmZvJC5waXBlKFxuICAgICAgc2tpcFdoaWxlKCh1c2VySW5mbzogVXNlcikgPT4gIXVzZXJJbmZvPy51c2VyX21ldGFkYXRhKSxcbiAgICAgIG1hcCgodXNlckluZm86IFVzZXIpID0+IHVzZXJJbmZvLnVzZXJfbWV0YWRhdGEucHJlZmVyZW5jZXMgJiYgdXNlckluZm8udXNlcl9tZXRhZGF0YS5wcmVmZXJlbmNlc1twcmVmXSA9PT0gdHJ1ZSlcbiAgICApO1xuICB9XG5cbiAgcHJlZmVyZW5jZURlZmluZWQocHJlZik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJJbmZvJC5waXBlKFxuICAgICAgc2tpcFdoaWxlKCh1c2VySW5mbzogVXNlcikgPT4gIXVzZXJJbmZvPy51c2VyX21ldGFkYXRhKSxcbiAgICAgIG1hcCgodXNlckluZm86IFVzZXIpID0+IHVzZXJJbmZvLnVzZXJfbWV0YWRhdGEucHJlZmVyZW5jZXMgJiYgdXNlckluZm8udXNlcl9tZXRhZGF0YS5wcmVmZXJlbmNlc1twcmVmXSAhPSB1bmRlZmluZWQpXG4gICAgKTtcbiAgfVxuXG4gIHByb2ZpbGluZ0ZvcmJpZGRlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy51c2VySW5mbyQudmFsdWU/LmZvcmJpZFByb2ZpbGluZztcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFByb3ZpZGVyKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMudXNlckluZm8kLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHVzZXJJbmZvOiBVc2VyKSA9PiB7XG4gICAgICAgIGNvbnN0IHByb3ZpZGVyS2V5ID0gdXNlckluZm8/LmFwcF9tZXRhZGF0YT8ucmVjaXBlX3Byb3ZpZGVyIHx8ICdwZXJzb25hbCc7XG4gICAgICAgIHJldHVybiB0aGlzLnJlY2lwZXNQcm92aWRlcnNTZXJ2aWNlLmdldChwcm92aWRlcktleSk7XG4gICAgICB9KSxcbiAgICAgIHNraXBXaGlsZShyZXMgPT4gcmVzID09IG51bGwpLFxuICAgICAgdGFwKHByb3ZpZGVyID0+IHRoaXMudXNlclByb3ZpZGVycyQubmV4dChwcm92aWRlcikpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFJvbGVzKCk6IHZvaWQge1xuICAgIHRoaXMudXNlclJvbGVzJC5uZXh0KHRoaXMudXNlckluZm8kLnZhbHVlPy5hcHBfbWV0YWRhdGE/LnJvbGVzIHx8IFtdKTtcbiAgfVxuXG4gIGdldFVzZXJTdXBwbGllcigpOiBPYnNlcnZhYmxlPFN1cHBsaWVyPiB7XG4gICAgcmV0dXJuIHRoaXMudXNlckluZm8kLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHVzZXJJbmZvOiBVc2VyKSA9PiB7XG4gICAgICAgIGlmICghdXNlckluZm8uc3VwcGxpZXJJZCkgeyByZXR1cm4gb2YobnVsbCk7IH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuc3VwcGxpZXJzU2VydmljZS5nZXQodXNlckluZm8uc3VwcGxpZXJJZCk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgc2tpcFdoaWxlKHJlcyA9PiByZXMgPT09IG51bGwpXG4gICAgKVxuICB9XG59XG4iXX0=
@@ -33,22 +33,26 @@ export var Icon;
33
33
  Icon[Icon["Search"] = 30] = "Search";
34
34
  Icon[Icon["Group"] = 31] = "Group";
35
35
  Icon[Icon["Cart"] = 32] = "Cart";
36
- Icon[Icon["Help"] = 33] = "Help";
37
- Icon[Icon["RecipeHelp"] = 34] = "RecipeHelp";
38
- Icon[Icon["Print"] = 35] = "Print";
39
- Icon[Icon["Meal"] = 36] = "Meal";
40
- Icon[Icon["HorizontalDots"] = 37] = "HorizontalDots";
41
- Icon[Icon["NoRecipeFound"] = 38] = "NoRecipeFound";
42
- Icon[Icon["Preheat"] = 39] = "Preheat";
43
- Icon[Icon["caretDown"] = 40] = "caretDown";
44
- Icon[Icon["Empty"] = 41] = "Empty";
45
- Icon[Icon["OpenBook"] = 42] = "OpenBook";
46
- Icon[Icon["CircledPlus"] = 43] = "CircledPlus";
47
- Icon[Icon["MainDish"] = 44] = "MainDish";
48
- Icon[Icon["Dessert"] = 45] = "Dessert";
49
- Icon[Icon["Starter"] = 46] = "Starter";
50
- Icon[Icon["Edit"] = 47] = "Edit";
51
- Icon[Icon["Warning"] = 48] = "Warning";
52
- Icon[Icon["Preparation"] = 49] = "Preparation";
36
+ Icon[Icon["CartPlus"] = 33] = "CartPlus";
37
+ Icon[Icon["Help"] = 34] = "Help";
38
+ Icon[Icon["RecipeHelp"] = 35] = "RecipeHelp";
39
+ Icon[Icon["Print"] = 36] = "Print";
40
+ Icon[Icon["Meal"] = 37] = "Meal";
41
+ Icon[Icon["HorizontalDots"] = 38] = "HorizontalDots";
42
+ Icon[Icon["NoRecipeFound"] = 39] = "NoRecipeFound";
43
+ Icon[Icon["Preheat"] = 40] = "Preheat";
44
+ Icon[Icon["caretDown"] = 41] = "caretDown";
45
+ Icon[Icon["Empty"] = 42] = "Empty";
46
+ Icon[Icon["OpenBook"] = 43] = "OpenBook";
47
+ Icon[Icon["CircledPlus"] = 44] = "CircledPlus";
48
+ Icon[Icon["MainDish"] = 45] = "MainDish";
49
+ Icon[Icon["Dessert"] = 46] = "Dessert";
50
+ Icon[Icon["Starter"] = 47] = "Starter";
51
+ Icon[Icon["Edit"] = 48] = "Edit";
52
+ Icon[Icon["Warning"] = 49] = "Warning";
53
+ Icon[Icon["Preparation"] = 50] = "Preparation";
54
+ Icon[Icon["ListScanner"] = 51] = "ListScanner";
55
+ Icon[Icon["DrawerHorizontalCloseBar"] = 52] = "DrawerHorizontalCloseBar";
56
+ Icon[Icon["Video"] = 53] = "Video";
53
57
  })(Icon || (Icon = {}));
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5lbnVtLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fdHlwZXMvaWNvbi5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLElBbURYO0FBbkRELFdBQVksSUFBSTtJQUNkLHVDQUFRLENBQUE7SUFDUixxREFBZSxDQUFBO0lBQ2YsaUNBQUssQ0FBQTtJQUNMLHlDQUFTLENBQUE7SUFDVCwyQ0FBVSxDQUFBO0lBQ1YscUNBQU8sQ0FBQTtJQUNQLHFEQUFlLENBQUE7SUFDZix1REFBZ0IsQ0FBQTtJQUNoQixpREFBYSxDQUFBO0lBQ2IsaUNBQUssQ0FBQTtJQUNMLGtDQUFLLENBQUE7SUFDTCxnQ0FBSSxDQUFBO0lBQ0osb0NBQU0sQ0FBQTtJQUNOLDBDQUFTLENBQUE7SUFDVCxnQ0FBSSxDQUFBO0lBQ0osZ0NBQUksQ0FBQTtJQUNKLG9DQUFNLENBQUE7SUFDTixzQ0FBTyxDQUFBO0lBQ1Asa0NBQUssQ0FBQTtJQUNMLGdDQUFJLENBQUE7SUFDSixnQ0FBSSxDQUFBO0lBQ0osNENBQVUsQ0FBQTtJQUNWLDBDQUFTLENBQUE7SUFDVCxrQ0FBSyxDQUFBO0lBQ0wsOENBQVcsQ0FBQTtJQUNYLHNDQUFPLENBQUE7SUFDUCxnQ0FBSSxDQUFBO0lBQ0osOEJBQUcsQ0FBQTtJQUNILDRDQUFVLENBQUE7SUFDViw4Q0FBVyxDQUFBO0lBQ1gsb0NBQU0sQ0FBQTtJQUNOLGtDQUFLLENBQUE7SUFDTCxnQ0FBSSxDQUFBO0lBQ0osZ0NBQUksQ0FBQTtJQUNKLDRDQUFVLENBQUE7SUFDVixrQ0FBSyxDQUFBO0lBQ0wsZ0NBQUksQ0FBQTtJQUNKLG9EQUFjLENBQUE7SUFDZCxrREFBYSxDQUFBO0lBQ2Isc0NBQU8sQ0FBQTtJQUNQLDBDQUFTLENBQUE7SUFDVCxrQ0FBSyxDQUFBO0lBQ0wsd0NBQVEsQ0FBQTtJQUNSLDhDQUFXLENBQUE7SUFDWCx3Q0FBUSxDQUFBO0lBQ1Isc0NBQU8sQ0FBQTtJQUNQLHNDQUFPLENBQUE7SUFDUCxnQ0FBSSxDQUFBO0lBQ0osc0NBQU8sQ0FBQTtJQUNQLDhDQUFXLENBQUE7QUFDYixDQUFDLEVBbkRXLElBQUksS0FBSixJQUFJLFFBbURmIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gSWNvbiB7XG4gIENhbGVuZGFyLFxuICBDaGVja0NpcmNsZUZpbGwsXG4gIENsZWFyLFxuICBDb3N0SGlnaHQsXG4gIENvc3RNZWRpdW0sXG4gIENvc3RMb3csXG4gIERpZmZpY3VsdHlIaWdodCxcbiAgRGlmZmljdWx0eU1lZGl1bSxcbiAgRGlmZmljdWx0eUxvdyxcbiAgSGVhcnQsXG4gIFNoYXJlLFxuICBTd2FwLFxuICBQZW9wbGUsXG4gIENoZWNrTGlzdCxcbiAgVGltZSxcbiAgRXVybyxcbiAgQmFza2V0LFxuICBHcm9jZXJ5LFxuICBNaW51cyxcbiAgUGx1cyxcbiAgR3JpcCxcbiAgUmV0dXJuTGVmdCxcbiAgQXJyb3dEb3duLFxuICBUcmFzaCxcbiAgQ2xvdWRVcGxvYWQsXG4gIFBpY3R1cmUsXG4gIFdhaXQsXG4gIEhvdCxcbiAgUmVjaXBlQm9vayxcbiAgQ2hldnJvbkRvd24sXG4gIFNlYXJjaCxcbiAgR3JvdXAsXG4gIENhcnQsXG4gIEhlbHAsXG4gIFJlY2lwZUhlbHAsXG4gIFByaW50LFxuICBNZWFsLFxuICBIb3Jpem9udGFsRG90cyxcbiAgTm9SZWNpcGVGb3VuZCxcbiAgUHJlaGVhdCxcbiAgY2FyZXREb3duLFxuICBFbXB0eSxcbiAgT3BlbkJvb2ssXG4gIENpcmNsZWRQbHVzLFxuICBNYWluRGlzaCxcbiAgRGVzc2VydCxcbiAgU3RhcnRlcixcbiAgRWRpdCxcbiAgV2FybmluZyxcbiAgUHJlcGFyYXRpb25cbn1cbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5lbnVtLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fdHlwZXMvaWNvbi5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLElBdURYO0FBdkRELFdBQVksSUFBSTtJQUNkLHVDQUFRLENBQUE7SUFDUixxREFBZSxDQUFBO0lBQ2YsaUNBQUssQ0FBQTtJQUNMLHlDQUFTLENBQUE7SUFDVCwyQ0FBVSxDQUFBO0lBQ1YscUNBQU8sQ0FBQTtJQUNQLHFEQUFlLENBQUE7SUFDZix1REFBZ0IsQ0FBQTtJQUNoQixpREFBYSxDQUFBO0lBQ2IsaUNBQUssQ0FBQTtJQUNMLGtDQUFLLENBQUE7SUFDTCxnQ0FBSSxDQUFBO0lBQ0osb0NBQU0sQ0FBQTtJQUNOLDBDQUFTLENBQUE7SUFDVCxnQ0FBSSxDQUFBO0lBQ0osZ0NBQUksQ0FBQTtJQUNKLG9DQUFNLENBQUE7SUFDTixzQ0FBTyxDQUFBO0lBQ1Asa0NBQUssQ0FBQTtJQUNMLGdDQUFJLENBQUE7SUFDSixnQ0FBSSxDQUFBO0lBQ0osNENBQVUsQ0FBQTtJQUNWLDBDQUFTLENBQUE7SUFDVCxrQ0FBSyxDQUFBO0lBQ0wsOENBQVcsQ0FBQTtJQUNYLHNDQUFPLENBQUE7SUFDUCxnQ0FBSSxDQUFBO0lBQ0osOEJBQUcsQ0FBQTtJQUNILDRDQUFVLENBQUE7SUFDViw4Q0FBVyxDQUFBO0lBQ1gsb0NBQU0sQ0FBQTtJQUNOLGtDQUFLLENBQUE7SUFDTCxnQ0FBSSxDQUFBO0lBQ0osd0NBQVEsQ0FBQTtJQUNSLGdDQUFJLENBQUE7SUFDSiw0Q0FBVSxDQUFBO0lBQ1Ysa0NBQUssQ0FBQTtJQUNMLGdDQUFJLENBQUE7SUFDSixvREFBYyxDQUFBO0lBQ2Qsa0RBQWEsQ0FBQTtJQUNiLHNDQUFPLENBQUE7SUFDUCwwQ0FBUyxDQUFBO0lBQ1Qsa0NBQUssQ0FBQTtJQUNMLHdDQUFRLENBQUE7SUFDUiw4Q0FBVyxDQUFBO0lBQ1gsd0NBQVEsQ0FBQTtJQUNSLHNDQUFPLENBQUE7SUFDUCxzQ0FBTyxDQUFBO0lBQ1AsZ0NBQUksQ0FBQTtJQUNKLHNDQUFPLENBQUE7SUFDUCw4Q0FBVyxDQUFBO0lBQ1gsOENBQVcsQ0FBQTtJQUNYLHdFQUF3QixDQUFBO0lBQ3hCLGtDQUFLLENBQUE7QUFDUCxDQUFDLEVBdkRXLElBQUksS0FBSixJQUFJLFFBdURmIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gSWNvbiB7XG4gIENhbGVuZGFyLFxuICBDaGVja0NpcmNsZUZpbGwsXG4gIENsZWFyLFxuICBDb3N0SGlnaHQsXG4gIENvc3RNZWRpdW0sXG4gIENvc3RMb3csXG4gIERpZmZpY3VsdHlIaWdodCxcbiAgRGlmZmljdWx0eU1lZGl1bSxcbiAgRGlmZmljdWx0eUxvdyxcbiAgSGVhcnQsXG4gIFNoYXJlLFxuICBTd2FwLFxuICBQZW9wbGUsXG4gIENoZWNrTGlzdCxcbiAgVGltZSxcbiAgRXVybyxcbiAgQmFza2V0LFxuICBHcm9jZXJ5LFxuICBNaW51cyxcbiAgUGx1cyxcbiAgR3JpcCxcbiAgUmV0dXJuTGVmdCxcbiAgQXJyb3dEb3duLFxuICBUcmFzaCxcbiAgQ2xvdWRVcGxvYWQsXG4gIFBpY3R1cmUsXG4gIFdhaXQsXG4gIEhvdCxcbiAgUmVjaXBlQm9vayxcbiAgQ2hldnJvbkRvd24sXG4gIFNlYXJjaCxcbiAgR3JvdXAsXG4gIENhcnQsXG4gIENhcnRQbHVzLFxuICBIZWxwLFxuICBSZWNpcGVIZWxwLFxuICBQcmludCxcbiAgTWVhbCxcbiAgSG9yaXpvbnRhbERvdHMsXG4gIE5vUmVjaXBlRm91bmQsXG4gIFByZWhlYXQsXG4gIGNhcmV0RG93bixcbiAgRW1wdHksXG4gIE9wZW5Cb29rLFxuICBDaXJjbGVkUGx1cyxcbiAgTWFpbkRpc2gsXG4gIERlc3NlcnQsXG4gIFN0YXJ0ZXIsXG4gIEVkaXQsXG4gIFdhcm5pbmcsXG4gIFByZXBhcmF0aW9uLFxuICBMaXN0U2Nhbm5lcixcbiAgRHJhd2VySG9yaXpvbnRhbENsb3NlQmFyLFxuICBWaWRlb1xufVxuIl19
@@ -1,26 +1,26 @@
1
1
  import { Component, Input, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, Output, EventEmitter, ViewChildren } from '@angular/core';
2
2
  import { BehaviorSubject, combineLatest } from 'rxjs';
3
- import { GroceriesListsService } from '../../_services/groceries-lists.service';
4
- import { BasketsService } from '../../_services/baskets.service';
3
+ import { GroceriesListsService } from '../../../_services/groceries-lists.service';
4
+ import { BasketsService } from '../../../_services/baskets.service';
5
5
  import { skipWhile, tap, map } from 'rxjs/operators';
6
6
  import remove from 'lodash-es/remove';
7
7
  import { BasketPreviewLineComponent } from '../basket-preview-line/basket-preview-line.component';
8
- import { PointOfSalesService } from '../../_services/point-of-sales.service';
9
- import { ContextService } from '../../_services/context.service';
10
- import { Icon } from '../../_types/icon.enum';
8
+ import { PointOfSalesService } from '../../../_services/point-of-sales.service';
9
+ import { ContextService } from '../../../_services/context.service';
10
+ import { Icon } from '../../../_types/icon.enum';
11
11
  import { MediaMatcher } from '@angular/cdk/layout';
12
12
  import * as i0 from "@angular/core";
13
- import * as i1 from "../../_services/groceries-lists.service";
14
- import * as i2 from "../../_services/point-of-sales.service";
15
- import * as i3 from "../../_services/context.service";
16
- import * as i4 from "../../_services/baskets.service";
13
+ import * as i1 from "../../../_services/groceries-lists.service";
14
+ import * as i2 from "../../../_services/point-of-sales.service";
15
+ import * as i3 from "../../../_services/context.service";
16
+ import * as i4 from "../../../_services/baskets.service";
17
17
  import * as i5 from "@angular/cdk/layout";
18
18
  import * as i6 from "@angular/common";
19
- import * as i7 from "../../_components/icon/icon.component";
19
+ import * as i7 from "../../../_components/icon/icon.component";
20
20
  import * as i8 from "../basket-preview-line/basket-preview-line.component";
21
21
  import * as i9 from "../replace-item/replace-item.component";
22
- import * as i10 from "../loader/loader.component";
23
- import * as i11 from "../../_components/cors-overlay/cors-overlay.component";
22
+ import * as i10 from "../../loader/loader.component";
23
+ import * as i11 from "../../../_components/cors-overlay/cors-overlay.component";
24
24
  function BasketPreviewBlockComponent_div_0_ng_container_2_h3_1_button_2_Template(rf, ctx) { if (rf & 1) {
25
25
  const _r12 = i0.ɵɵgetCurrentView();
26
26
  i0.ɵɵelementStart(0, "button", 14);
@@ -70,7 +70,7 @@ function BasketPreviewBlockComponent_div_0_ng_container_2_div_2_ng_miam_basket_p
70
70
  function BasketPreviewBlockComponent_div_0_ng_container_2_div_2_ng_miam_replace_item_2_Template(rf, ctx) { if (rf & 1) {
71
71
  const _r24 = i0.ɵɵgetCurrentView();
72
72
  i0.ɵɵelementStart(0, "ng-miam-replace-item", 21);
73
- i0.ɵɵlistener("selected", function BasketPreviewBlockComponent_div_0_ng_container_2_div_2_ng_miam_replace_item_2_Template_ng_miam_replace_item_selected_0_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(4); return ctx_r23.blockStates == null ? null : ctx_r23.blockStates.value == null ? null : ctx_r23.blockStates.value.lineComponent.productChoosen($event); });
73
+ i0.ɵɵlistener("selected", function BasketPreviewBlockComponent_div_0_ng_container_2_div_2_ng_miam_replace_item_2_Template_ng_miam_replace_item_selected_0_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(4); return ctx_r23.blockStates == null ? null : ctx_r23.blockStates.value == null ? null : ctx_r23.blockStates.value.lineComponent.productChosen($event); });
74
74
  i0.ɵɵelementEnd();
75
75
  } if (rf & 2) {
76
76
  const ctx_r16 = i0.ɵɵnextContext(4);
@@ -214,7 +214,7 @@ export class BasketPreviewBlockComponent {
214
214
  }
215
215
  closeOverlay() {
216
216
  if (this.blockStates.getValue() && this.blockStates.getValue().lineComponent) {
217
- this.blockStates.value.lineComponent.productChoosen();
217
+ this.blockStates.value.lineComponent.productChosen();
218
218
  }
219
219
  }
220
220
  handelblockState(state) {
@@ -304,4 +304,4 @@ BasketPreviewBlockComponent.ɵcmp = i0.ɵɵdefineComponent({ type: BasketPreview
304
304
  type: ViewChildren,
305
305
  args: [BasketPreviewLineComponent]
306
306
  }] }); })();
307
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFza2V0LXByZXZpZXctYmxvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvYmFza2V0LXByZXZpZXctYmxvY2svYmFza2V0LXByZXZpZXctYmxvY2suY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9iYXNrZXQtcHJldmlldy1ibG9jay9iYXNrZXQtcHJldmlldy1ibG9jay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFFTCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sWUFBWSxFQUNaLFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWdCLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBZSxNQUFNLGlDQUFpQyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sTUFBTSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7SUNsQjNDLGtDQUNFO0lBRG1HLHdNQUFTLDRDQUFvQyxJQUFDO0lBQ2pKLG1DQUE4RjtJQUM5Riw0QkFBTTtJQUFBLHNDQUFzQjtJQUFBLGlCQUFPO0lBQ3JDLGlCQUFTOzs7SUFGUSxlQUF1QjtJQUF2Qiw2Q0FBdUI7Ozs7O0lBSDVDLDZCQUNFO0lBQUEsK0JBQ0U7SUFBQSw2R0FDRTtJQUdGLCtCQUNFO0lBRDBILHFOQUF1QjtJQUNqSixtQ0FBbUY7SUFDckYsaUJBQU07SUFDUixpQkFBTTtJQUNSLGlCQUFLOzs7SUFSTyxlQUFpQjtJQUFqQix1Q0FBaUI7SUFJK0IsZUFBbUU7SUFBbkUsdUVBQW1FO0lBQ25GLGVBQTZCO0lBQTdCLGtEQUE2Qjs7Ozs7SUFNckUsdURBUzZCO0lBSjdCLDZSQUFnQywwUkFBQSwrVEFBQTtJQUlqQyxpQkFBOEI7Ozs7SUFQN0IsK0JBQWEsb0NBQUEsZ0NBQUEsbUxBQUE7Ozs7SUFRZixnREFBNk07SUFBN0YsaVVBQVksOERBQXdELElBQUM7SUFBQyxpQkFBdUI7OztJQUE3SSxtSkFBK0M7OztJQUc3Ryx5QkFBc0I7SUFBQSx5R0FBa0Y7SUFBQSxpQkFBSTs7O0lBRjlHLCtCQUNFO0lBQUEseUJBQUc7SUFBQSx5QkFBRztJQUFBLHNFQUE0QztJQUFBLGlCQUFJO0lBQUEsaUJBQUk7SUFDMUQsMEdBQXNCO0lBQ3hCLGlCQUFNOzs7SUFERCxlQUFrQjtJQUFsQix5Q0FBa0I7OztJQWR6QiwrQkFDSTtJQUFBLHdKQVNEO0lBQ0QsMElBQXNMO0lBQ3RMLHdHQUNFO0lBR0osaUJBQU07OztJQWRGLGVBQTBCO0lBQTFCLHNDQUEwQjtJQVNOLGVBQXlDO0lBQXpDLHlJQUF5QztJQUMxRCxlQUFrRDtJQUFsRCxzRkFBa0Q7OztJQU16RCwrQkFDRTtJQUFBLGlDQUFpQztJQUNqQywyQkFBSztJQUFBLHVDQUF1QjtJQUFBLGlCQUFNO0lBQ3BDLGlCQUFNOzs7SUFsQ1IsNkJBQ0U7SUFBQSwrRkFDRTtJQVdGLGlHQUNJO0lBaUJKLGlHQUNFO0lBR0osMEJBQWU7OztJQWxDVCxlQUFpQjtJQUFqQix1Q0FBaUI7SUFZeUIsZUFBaUI7SUFBakIsdUNBQWlCO0lBa0JULGVBQWU7SUFBZixxQ0FBZTs7O0lBaEN6RSxpQ0FDRTtJQUFBLG9HQUNFOztJQW1DSixpQkFBTTs7OztJQXBDVSxlQUFvRDtJQUFwRCwyRUFBb0QsaUJBQUE7OztJQXNDcEUsdUNBQTZDOzs7SUFHM0MsK0JBQ0U7SUFBQSw0QkFBTTtJQUFBLDBGQUEyRDtJQUFBLGlCQUFPO0lBQ3hFLHFCQUNBO0lBQUEsNEJBQU07SUFBQSwyREFBc0M7SUFBQSxpQkFBTztJQUNyRCxpQkFBTTs7QURmUixNQUFNLE9BQU8sMkJBQTJCO0lBbUJ0QyxZQUNVLEdBQXNCLEVBQ3ZCLFlBQW1DLEVBQ25DLFVBQStCLEVBQzlCLGNBQThCLEVBQy9CLGNBQThCLEVBQzdCLFlBQTBCO1FBTDFCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3ZCLGlCQUFZLEdBQVosWUFBWSxDQUF1QjtRQUNuQyxlQUFVLEdBQVYsVUFBVSxDQUFxQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDL0IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzdCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBdkIzQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUMvQyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBR2xELGNBQVMsR0FBRyxJQUFJLENBQUM7UUFFakIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUN2QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFNBQUksR0FBRyxJQUFJLENBQUM7UUFDWixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBSVQsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFXdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUM3RSxDQUFDO0lBRUYsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDM0csSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUN2RCxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQixDQUFDLENBQUM7WUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2RSxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNqRSxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNoRCxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1osTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUMvRixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUNILENBQUMsU0FBUyxFQUFFO1lBQ2IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUNyQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQ3hHLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLEVBQ3RELEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FDN0MsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzNCLENBQUMsQ0FBQztZQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDbkMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDNUMsQ0FBQyxTQUFTLEVBQUU7U0FDZCxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQWlCLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDakMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQXVCO1FBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUFZLENBQUMsSUFBdUI7UUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLGFBQWEsRUFBRTtZQUM1RSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkQ7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBbUc7UUFDbEgsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sY0FBYyxDQUFDLFFBQTZCO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsYUFBYTtZQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1NBQ3ZCO2FBQU07WUFDTCxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7WUFDdkIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQXVCLEVBQUUsRUFBRTtnQkFDM0MsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzFCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzVELElBQUksWUFBWSxFQUFFO29CQUNoQiw2Q0FBNkM7b0JBQzdDLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUVsQyx3Q0FBd0M7b0JBQ3hDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNoRixZQUFZLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUVoQyxxRkFBcUY7b0JBQ3JGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ2pFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUN4RyxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRTt3QkFDMUUsWUFBWSxDQUFDLGlCQUFpQixFQUFFLENBQUM7d0JBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztxQkFDbEM7aUJBQ0Y7cUJBQU07b0JBQ0wsaUNBQWlDO29CQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDdkI7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILHVCQUF1QjtZQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN0RDtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFPO1FBRWYscUNBQXFDO1FBQ3JDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixNQUFNLGNBQWMsR0FBSSxRQUFRLENBQUMsc0JBQXNCLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRixJQUFJLGNBQWMsRUFBRTtnQkFDbEIsY0FBYyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7Z0JBQzdCLE9BQU87YUFDUjtZQUNELE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixPQUFPO1NBQ1I7UUFFRCwrQkFBK0I7UUFDL0IsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzNCLENBQUM7O3NHQTNJVSwyQkFBMkI7Z0VBQTNCLDJCQUEyQjt1QkFLeEIsMEJBQTBCOzs7OztRQ3BDMUMsNEVBQ0U7UUFxQ0YsNkhBQ0E7UUFFQSw2SEFDRTs7O1FBMUNvQixzQ0FBNkIsaUJBQUE7O2tERCtCdEMsMkJBQTJCO2NBUHZDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsOEJBQThCO2dCQUN4QyxXQUFXLEVBQUUsdUNBQXVDO2dCQUNwRCxTQUFTLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQztnQkFDcEQsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEOytOQUVVLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0ksWUFBWTtrQkFBckIsTUFBTTtZQUNHLGlCQUFpQjtrQkFBMUIsTUFBTTtZQUNtQyxjQUFjO2tCQUF2RCxZQUFZO21CQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdyb2Nlcmllc0xpc3RzU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9ncm9jZXJpZXMtbGlzdHMuc2VydmljZSc7XG5pbXBvcnQgeyBCYXNrZXRzU2VydmljZSwgQmFza2V0U3RhdHMgfSBmcm9tICcuLi8uLi9fc2VydmljZXMvYmFza2V0cy5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2tldFByZXZpZXdMaW5lIH0gZnJvbSAnLi4vLi4vX21vZGVscy9iYXNrZXQtcHJldmlldy1saW5lJztcbmltcG9ydCB7IHNraXBXaGlsZSwgdGFwLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgcmVtb3ZlIGZyb20gJ2xvZGFzaC1lcy9yZW1vdmUnO1xuaW1wb3J0IHsgQmFza2V0UHJldmlld0xpbmVDb21wb25lbnQgfSBmcm9tICcuLi9iYXNrZXQtcHJldmlldy1saW5lL2Jhc2tldC1wcmV2aWV3LWxpbmUuY29tcG9uZW50JztcbmltcG9ydCB7IFBvaW50T2ZTYWxlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMvcG9pbnQtb2Ytc2FsZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uLy4uL190eXBlcy9pY29uLmVudW0nO1xuaW1wb3J0IHsgTWVkaWFNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tYmFza2V0LXByZXZpZXctYmxvY2snLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFza2V0LXByZXZpZXctYmxvY2suY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iYXNrZXQtcHJldmlldy1ibG9jay5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCYXNrZXRQcmV2aWV3QmxvY2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHJlY2lwZUlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNob3dOb3RpY2UgPSBmYWxzZTtcbiAgQE91dHB1dCgpIHN0YXRzVXBkYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8QmFza2V0U3RhdHM+KCk7XG4gIEBPdXRwdXQoKSBndWVzdENvdW50Q2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAVmlld0NoaWxkcmVuKEJhc2tldFByZXZpZXdMaW5lQ29tcG9uZW50KSBsaW5lQ29tcG9uZW50czogQmFza2V0UHJldmlld0xpbmVDb21wb25lbnRbXTtcblxuICBwdWJsaWMgc2hvd0xpbmVzID0gdHJ1ZTtcbiAgcHVibGljIGxpbmVzOiBCYXNrZXRQcmV2aWV3TGluZVtdO1xuICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xuICBjb3JzSXNzdWVzID0gZmFsc2U7XG4gIGljb24gPSBJY29uO1xuICBpc01vYmlsZSA9IGZhbHNlO1xuXG4gIGJsb2NrU3RhdGVzOiBCZWhhdmlvclN1YmplY3Q8eyBjdXJyZW50T3BlbkxpbmU6IHN0cmluZywgb3ZlcmxheU9wZW46IGJvb2xlYW4sIGxpbmVDb21wb25lbnQ6IEJhc2tldFByZXZpZXdMaW5lQ29tcG9uZW50IH0+O1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyA9IFtdO1xuICBwcml2YXRlIGxpbmVzSGFzaGVzID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyBsaXN0c1NlcnZpY2U6IEdyb2Nlcmllc0xpc3RzU2VydmljZSxcbiAgICBwdWJsaWMgcG9zU2VydmljZTogUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwdWJsaWMgYmFza2V0c1NlcnZpY2U6IEJhc2tldHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVkaWFNYXRjaGVyOiBNZWRpYU1hdGNoZXIsXG4gICkge1xuXG4gICAgdGhpcy5pc01vYmlsZSA9IHRoaXMubWVkaWFNYXRjaGVyLm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDEwMjNweCknKS5tYXRjaGVzO1xuICAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYmxvY2tTdGF0ZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHsgY3VycmVudE9wZW5MaW5lOiBudWxsLCBvdmVybGF5T3BlbjogZmFsc2UsIGxpbmVDb21wb25lbnQ6IG51bGwgfSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW1xuICAgICAgdGhpcy5jb250ZXh0U2VydmljZS5nZXRDT1JTSXNzdWVzU3RhdGUoKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgdGhpcy5jb3JzSXNzdWVzID0gcmVzO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KSxcbiAgICAgIHRoaXMuYmxvY2tTdGF0ZXMuc3Vic2NyaWJlKG5ld1N0YXRlID0+IHRoaXMuaGFuZGVsYmxvY2tTdGF0ZShuZXdTdGF0ZSkpLFxuICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5saXN0c1NlcnZpY2UubGlzdCQsIHRoaXMucG9zU2VydmljZS5wb3MkXSkucGlwZShcbiAgICAgICAgc2tpcFdoaWxlKHJlc3VsdHMgPT4gIXJlc3VsdHNbMF0gfHwgIXJlc3VsdHNbMV0pLFxuICAgICAgICB0YXAocmVzdWx0cyA9PiB7XG4gICAgICAgICAgY29uc3QgbGlzdCA9IHJlc3VsdHNbMF07XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gbGlzdC5hdHRyaWJ1dGVzWydyZWNpcGVzLWluZm9zJ10gJiYgbGlzdC5hdHRyaWJ1dGVzWydyZWNpcGVzLWluZm9zJ10ubGVuZ3RoID4gMDtcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pXG4gICAgICApLnN1YnNjcmliZSgpLFxuICAgICAgdGhpcy5iYXNrZXRzU2VydmljZS5iYXNrZXRQcmV2aWV3JC5waXBlKFxuICAgICAgICBtYXAocHJldmlldyA9PiAocHJldmlldyAmJiB0aGlzLnJlY2lwZUlkKSA/IHByZXZpZXcuZmlsdGVyKGxpbmUgPT4gbGluZS5pZCA9PT0gdGhpcy5yZWNpcGVJZCkgOiBwcmV2aWV3KSxcbiAgICAgICAgc2tpcFdoaWxlKHByZXZpZXcgPT4gIXByZXZpZXcgfHwgcHJldmlldy5sZW5ndGggPT09IDApLFxuICAgICAgICB0YXAocHJldmlldyA9PiB0aGlzLnJlZnJlc2hQcmV2aWV3KHByZXZpZXcpKVxuICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSksXG4gICAgICB0aGlzLmJhc2tldHNTZXJ2aWNlLmJhc2tldFN0YXRzJC5waXBlKFxuICAgICAgICB0YXAoc3RhdHMgPT4gdGhpcy5zdGF0c1VwZGF0ZWQuZW1pdChzdGF0cykpXG4gICAgICApLnN1YnNjcmliZSgpXG4gICAgXTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWI6IFN1YnNjcmlwdGlvbikgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgdG9nZ2xlTGluZXMoKSB7XG4gICAgdGhpcy5zaG93TGluZXMgPSAhdGhpcy5zaG93TGluZXM7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcmVtb3ZlUmVjaXBlKGxpbmU6IEJhc2tldFByZXZpZXdMaW5lKSB7XG4gICAgdGhpcy5saXN0c1NlcnZpY2UucmVtb3ZlUmVjaXBlRnJvbUxpc3QobGluZS5pZCk7XG4gIH1cblxuICB1cGRhdGVSZWNpcGUobGluZTogQmFza2V0UHJldmlld0xpbmUpIHtcbiAgICB0aGlzLmxpc3RzU2VydmljZS51cGRhdGVSZWNpcGVHdWVzdHMobGluZS5pZCwgbGluZS5jb3VudCk7XG4gICAgdGhpcy5ndWVzdENvdW50Q2hhbmdlZC5lbWl0KGxpbmUuY291bnQpO1xuICB9XG5cbiAgY2xvc2VPdmVybGF5KCkge1xuICAgIGlmICh0aGlzLmJsb2NrU3RhdGVzLmdldFZhbHVlKCkgJiYgdGhpcy5ibG9ja1N0YXRlcy5nZXRWYWx1ZSgpLmxpbmVDb21wb25lbnQpIHtcbiAgICAgIHRoaXMuYmxvY2tTdGF0ZXMudmFsdWUubGluZUNvbXBvbmVudC5wcm9kdWN0Q2hvb3NlbigpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRlbGJsb2NrU3RhdGUoc3RhdGU6IHsgY3VycmVudE9wZW5MaW5lOiBzdHJpbmcsIG92ZXJsYXlPcGVuOiBib29sZWFuLCBsaW5lQ29tcG9uZW50OiBCYXNrZXRQcmV2aWV3TGluZUNvbXBvbmVudCB9KSB7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoUHJldmlldyhuZXdMaW5lczogQmFza2V0UHJldmlld0xpbmVbXSkge1xuICAgIGlmICghdGhpcy5saW5lcykge1xuICAgICAgLy8gRmlyc3QgbG9hZFxuICAgICAgdGhpcy5saW5lcyA9IG5ld0xpbmVzO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBuZXdMaW5lc0lkcyA9IFtdO1xuICAgICAgbmV3TGluZXMuZm9yRWFjaCgobGluZTogQmFza2V0UHJldmlld0xpbmUpID0+IHtcbiAgICAgICAgbmV3TGluZXNJZHMucHVzaChsaW5lLmlkKTtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdMaW5lID0gdGhpcy5saW5lcy5maW5kKGwgPT4gbC5pZCA9PT0gbGluZS5pZCk7XG4gICAgICAgIGlmIChleGlzdGluZ0xpbmUpIHtcbiAgICAgICAgICAvLyBVcGRhdGUgZXhpc3Rpbmcgb2JqZWN0IHdpdGggaXRzIG5ldyB2YWx1ZXNcbiAgICAgICAgICBPYmplY3QuYXNzaWduKGV4aXN0aW5nTGluZSwgbGluZSk7XG5cbiAgICAgICAgICAvLyBNYXJrIGJhc2tldCBsaW5lcyBjb21wb25lbnQgZm9yIGNoZWNrXG4gICAgICAgICAgY29uc3QgZXhpc3RpbmdDb21wID0gdGhpcy5saW5lQ29tcG9uZW50cy5maW5kKGNvbXAgPT4gY29tcC5saW5lLmlkID09PSBsaW5lLmlkKTtcbiAgICAgICAgICBleGlzdGluZ0NvbXAuY2RyLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgICAgICAgLy8gRm9yY2UgcmVsb2FkIHRoZSBiYXNrZXQgZW50cmllcyBpZiB0aGVpciBxdWFudGl0aWVzIG9yIHNlbGVjdGVkIGl0ZW1zIGhhdmUgY2hhbmdlZFxuICAgICAgICAgIGNvbnN0IGVudHJpZXMgPSBsaW5lLmVudHJpZXMuZm91bmQuc29ydChlID0+IHBhcnNlSW50KGUuaWQsIDEwKSk7XG4gICAgICAgICAgY29uc3QgaGFzaCA9IGVudHJpZXMubWFwKGUgPT4gZS5hdHRyaWJ1dGVzWydzZWxlY3RlZC1pdGVtLWlkJ10gKyAnLScgKyBlLmF0dHJpYnV0ZXMucXVhbnRpdHkpLmpvaW4oJy8nKTtcbiAgICAgICAgICBpZiAoaGFzaCAhPT0gdGhpcy5saW5lc0hhc2hlc1tsaW5lLmlkXSAmJiBleGlzdGluZ0NvbXAuZW50cmllc0xpbmVzJC52YWx1ZSkge1xuICAgICAgICAgICAgZXhpc3RpbmdDb21wLmJ1aWxkRW50cmllc0xpbmVzKCk7XG4gICAgICAgICAgICB0aGlzLmxpbmVzSGFzaGVzW2xpbmUuaWRdID0gaGFzaDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gUHVzaCB0aGUgbmV3IGxpbmUgdG8gdGhlIGFycmF5XG4gICAgICAgICAgdGhpcy5saW5lcy5wdXNoKGxpbmUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIC8vIFJlbW92ZSBkZWxldGVkIGxpbmVzXG4gICAgICByZW1vdmUodGhpcy5saW5lcywgbCA9PiAhbmV3TGluZXNJZHMuaW5jbHVkZXMobC5pZCkpO1xuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBzY3JvbGx0b3AoZWxlbWVudCl7XG5cbiAgICAvLyBzY3JvbGwgdG9wIGJhc2Ugb24gbW9kYWwgY29udGFpbmVyXG4gICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgIGNvbnN0IG1vZGFsQ29udGFpbmVyID0gIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ21pYW0td3JhcHBlci1wcmV2aWV3JylbMF07XG4gICAgICBpZiAobW9kYWxDb250YWluZXIpIHtcbiAgICAgICAgbW9kYWxDb250YWluZXIuc2Nyb2xsVG9wID0gMDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgZWxlbWVudC5zY3JvbGxJbnRvVmlldygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHNjcm9sbCBiYXNlIG9uIGdsb2JhbCB3aW5kb3dcbiAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KCk7XG4gIH1cbn1cbiIsIjxkaXYgI3ByZXZpZXdCbG9ja1RvcCAqbmdJZj0nIWNvcnNJc3N1ZXMgZWxzZSBjb3JzJyBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctYmxvY2tcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihwb3NTZXJ2aWNlLmlzUG9zVmFsaWQoKSB8IGFzeW5jKSBlbHNlIG5vUG9zXCI+XG4gICAgPGgzICpuZ0lmPVwiIXJlY2lwZUlkXCIgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWJsb2NrX19oZWFkZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWJsb2NrX19oZWFkZXJfX2FjdGlvbnNcIj5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInNob3dMaW5lc1wiIGNsYXNzPVwibS1idXR0b24tc2Vjb25kYXJ5IG1pYW0tYmFza2V0LXByZXZpZXctYmxvY2tfX2hlYWRlcl9fZW1wdHktYmFza2V0XCIgKGNsaWNrKT1cImxpc3RzU2VydmljZS5yZW1vdmVSZWNpcGVzRnJvbUxpc3QoKVwiPlxuICAgICAgICAgIDxuZy1taWFtLWljb24gIFtpY29uTmFtZV09XCJpY29uLlRyYXNoXCIgcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1zZWNvbmRhcnkpXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgPHNwYW4+UmV0aXJlciB0b3VzIGxlcyByZXBhczwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWJsb2NrX19oZWFkZXJfX2NoZXZyb25cIiBbbmdDbGFzc109XCJ7J21pYW0tYmFza2V0LXByZXZpZXctYmxvY2tfX2NoZXZyb25fX2Rvd24nOiFzaG93TGluZXN9XCIgKGNsaWNrKT1cInRvZ2dsZUxpbmVzKClcIj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uIGhlaWdodD0nMzInIHdpZHRoPSczMicgIFtpY29uTmFtZV09XCJpY29uLkNoZXZyb25Eb3duXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9oMz5cbiAgXG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctYmxvY2tfX2xpbmVzXCIgKm5nSWY9XCJzaG93TGluZXNcIj5cbiAgICAgICAgPG5nLW1pYW0tYmFza2V0LXByZXZpZXctbGluZVxuICAgICAgICAqbmdGb3I9XCJsZXQgbGluZSBvZiBsaW5lc1wiXG4gICAgICAgIFtsaW5lXT1cImxpbmVcIlxuICAgICAgICBbYmxvY2tTdGF0ZXNdPVwiYmxvY2tTdGF0ZXNcIlxuICAgICAgICBbdW5pcXVlTGluZV09XCJyZWNpcGVJZFwiXG4gICAgICAgIChyZW1vdmVkKT1cInJlbW92ZVJlY2lwZSgkZXZlbnQpXCJcbiAgICAgICAgKGNvdW50Q2hhbmdlZCk9XCJ1cGRhdGVSZWNpcGUoJGV2ZW50KVwiXG4gICAgICAgIChyZXBsYWNlSXRlbSk9J3Njcm9sbHRvcChwcmV2aWV3QmxvY2tUb3ApJ1xuICAgICAgICBbbmdTdHlsZV09XCJ7J2Rpc3BsYXknOiBibG9ja1N0YXRlcz8udmFsdWU/Lm92ZXJsYXlPcGVuID8gJ25vbmUnIDogJ2Jsb2NrJ30gXCJcbiAgICAgID48L25nLW1pYW0tYmFza2V0LXByZXZpZXctbGluZT5cbiAgICAgIDxuZy1taWFtLXJlcGxhY2UtaXRlbSAqbmdJZj1cIiBibG9ja1N0YXRlcz8udmFsdWU/Lm92ZXJsYXlPcGVuIFwiIFtsaW5lXT1cImJsb2NrU3RhdGVzPy52YWx1ZT8ubGluZUNvbXBvbmVudC5saW5lXCIgKHNlbGVjdGVkKT1cImJsb2NrU3RhdGVzPy52YWx1ZT8ubGluZUNvbXBvbmVudC5wcm9kdWN0Q2hvb3NlbigkZXZlbnQpXCI+PC9uZy1taWFtLXJlcGxhY2UtaXRlbT5cbiAgICAgIDxkaXYgKm5nSWY9XCIhbG9hZGluZyAmJiAoIWxpbmVzIHx8IGxpbmVzLmxlbmd0aCA9PT0gMClcIiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctYmxvY2tfX2xpbmVzX19ub3QtZm91bmRcIj5cbiAgICAgICAgPHA+PGI+Vm91cyBuJ2F2ZXogcGFzIGVuY29yZSBzw6lsZWN0aW9ubsOpIGRlIHJlcGFzLjwvYj48L3A+XG4gICAgICAgIDxwICpuZ0lmPVwic2hvd05vdGljZVwiPk5hdmlndWV6IHZlcnMgbGEgcGFnZSBkJ3VuZSByZWNldHRlLCBwdWlzIGNsaXF1ZXogc3VyIFwiQ29tbWFuZGVyIGxlcyBpbmdyw6lkaWVudHNcIi48L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgXG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctYmxvY2tfX2xpbmVzX19sb2FkZXJcIiAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICAgIDxuZy1taWFtLWxvYWRlcj48L25nLW1pYW0tbG9hZGVyPlxuICAgICAgPGRpdj5DaGFyZ2VtZW50IGRlcyByZXBhcy4uLjwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNjb3JzPlxuPG5nLW1pYW0tY29ycy1vdmVybGF5PjwvbmctbWlhbS1jb3JzLW92ZXJsYXk+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNub1Bvcz5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctYmxvY2tfX25vUG9zXCI+XG4gICAgPHNwYW4+RMOpc29sw6ksIGNlIG1hZ2FzaW4gbmUgcGVybWV0IHBhcyBkZSBzw6lsZWN0aW9ubmVyIGRlcyByZXBhcy48L3NwYW4+IFxuICAgIDxicj5cbiAgICA8c3Bhbj5WZXVpbGxleiBzw6lsZWN0aW9ubmVyIHVuIGF1dHJlIG1hZ2FzaW48L3NwYW4+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
307
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFza2V0LXByZXZpZXctYmxvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvYmFza2V0LXByZXZpZXcvYmFza2V0LXByZXZpZXctYmxvY2svYmFza2V0LXByZXZpZXctYmxvY2suY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9iYXNrZXQtcHJldmlldy9iYXNrZXQtcHJldmlldy1ibG9jay9iYXNrZXQtcHJldmlldy1ibG9jay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFFTCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sWUFBWSxFQUNaLFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWdCLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBZSxNQUFNLG9DQUFvQyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sTUFBTSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFN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cG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdyb2Nlcmllc0xpc3RzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19zZXJ2aWNlcy9ncm9jZXJpZXMtbGlzdHMuc2VydmljZSc7XG5pbXBvcnQgeyBCYXNrZXRzU2VydmljZSwgQmFza2V0U3RhdHMgfSBmcm9tICcuLi8uLi8uLi9fc2VydmljZXMvYmFza2V0cy5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2tldFByZXZpZXdMaW5lIH0gZnJvbSAnLi4vLi4vLi4vX21vZGVscy9iYXNrZXQtcHJldmlldy1saW5lJztcbmltcG9ydCB7IHNraXBXaGlsZSwgdGFwLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgcmVtb3ZlIGZyb20gJ2xvZGFzaC1lcy9yZW1vdmUnO1xuaW1wb3J0IHsgQmFza2V0UHJldmlld0xpbmVDb21wb25lbnQgfSBmcm9tICcuLi9iYXNrZXQtcHJldmlldy1saW5lL2Jhc2tldC1wcmV2aWV3LWxpbmUuY29tcG9uZW50JztcbmltcG9ydCB7IFBvaW50T2ZTYWxlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fc2VydmljZXMvcG9pbnQtb2Ytc2FsZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19zZXJ2aWNlcy9jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uLy4uLy4uL190eXBlcy9pY29uLmVudW0nO1xuaW1wb3J0IHsgTWVkaWFNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tYmFza2V0LXByZXZpZXctYmxvY2snLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFza2V0LXByZXZpZXctYmxvY2suY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iYXNrZXQtcHJldmlldy1ibG9jay5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCYXNrZXRQcmV2aWV3QmxvY2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHJlY2lwZUlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNob3dOb3RpY2UgPSBmYWxzZTtcbiAgQE91dHB1dCgpIHN0YXRzVXBkYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8QmFza2V0U3RhdHM+KCk7XG4gIEBPdXRwdXQoKSBndWVzdENvdW50Q2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAVmlld0NoaWxkcmVuKEJhc2tldFByZXZpZXdMaW5lQ29tcG9uZW50KSBsaW5lQ29tcG9uZW50czogQmFza2V0UHJldmlld0xpbmVDb21wb25lbnRbXTtcblxuICBwdWJsaWMgc2hvd0xpbmVzID0gdHJ1ZTtcbiAgcHVibGljIGxpbmVzOiBCYXNrZXRQcmV2aWV3TGluZVtdO1xuICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xuICBjb3JzSXNzdWVzID0gZmFsc2U7XG4gIGljb24gPSBJY29uO1xuICBpc01vYmlsZSA9IGZhbHNlO1xuXG4gIGJsb2NrU3RhdGVzOiBCZWhhdmlvclN1YmplY3Q8eyBjdXJyZW50T3BlbkxpbmU6IHN0cmluZywgb3ZlcmxheU9wZW46IGJvb2xlYW4sIGxpbmVDb21wb25lbnQ6IEJhc2tldFByZXZpZXdMaW5lQ29tcG9uZW50IH0+O1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyA9IFtdO1xuICBwcml2YXRlIGxpbmVzSGFzaGVzID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyBsaXN0c1NlcnZpY2U6IEdyb2Nlcmllc0xpc3RzU2VydmljZSxcbiAgICBwdWJsaWMgcG9zU2VydmljZTogUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwdWJsaWMgYmFza2V0c1NlcnZpY2U6IEJhc2tldHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVkaWFNYXRjaGVyOiBNZWRpYU1hdGNoZXIsXG4gICkge1xuXG4gICAgdGhpcy5pc01vYmlsZSA9IHRoaXMubWVkaWFNYXRjaGVyLm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDEwMjNweCknKS5tYXRjaGVzO1xuICAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYmxvY2tTdGF0ZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHsgY3VycmVudE9wZW5MaW5lOiBudWxsLCBvdmVybGF5T3BlbjogZmFsc2UsIGxpbmVDb21wb25lbnQ6IG51bGwgfSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW1xuICAgICAgdGhpcy5jb250ZXh0U2VydmljZS5nZXRDT1JTSXNzdWVzU3RhdGUoKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgdGhpcy5jb3JzSXNzdWVzID0gcmVzO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KSxcbiAgICAgIHRoaXMuYmxvY2tTdGF0ZXMuc3Vic2NyaWJlKG5ld1N0YXRlID0+IHRoaXMuaGFuZGVsYmxvY2tTdGF0ZShuZXdTdGF0ZSkpLFxuICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5saXN0c1NlcnZpY2UubGlzdCQsIHRoaXMucG9zU2VydmljZS5wb3MkXSkucGlwZShcbiAgICAgICAgc2tpcFdoaWxlKHJlc3VsdHMgPT4gIXJlc3VsdHNbMF0gfHwgIXJlc3VsdHNbMV0pLFxuICAgICAgICB0YXAocmVzdWx0cyA9PiB7XG4gICAgICAgICAgY29uc3QgbGlzdCA9IHJlc3VsdHNbMF07XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gbGlzdC5hdHRyaWJ1dGVzWydyZWNpcGVzLWluZm9zJ10gJiYgbGlzdC5hdHRyaWJ1dGVzWydyZWNpcGVzLWluZm9zJ10ubGVuZ3RoID4gMDtcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pXG4gICAgICApLnN1YnNjcmliZSgpLFxuICAgICAgdGhpcy5iYXNrZXRzU2VydmljZS5iYXNrZXRQcmV2aWV3JC5waXBlKFxuICAgICAgICBtYXAocHJldmlldyA9PiAocHJldmlldyAmJiB0aGlzLnJlY2lwZUlkKSA/IHByZXZpZXcuZmlsdGVyKGxpbmUgPT4gbGluZS5pZCA9PT0gdGhpcy5yZWNpcGVJZCkgOiBwcmV2aWV3KSxcbiAgICAgICAgc2tpcFdoaWxlKHByZXZpZXcgPT4gIXByZXZpZXcgfHwgcHJldmlldy5sZW5ndGggPT09IDApLFxuICAgICAgICB0YXAocHJldmlldyA9PiB0aGlzLnJlZnJlc2hQcmV2aWV3KHByZXZpZXcpKVxuICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSksXG4gICAgICB0aGlzLmJhc2tldHNTZXJ2aWNlLmJhc2tldFN0YXRzJC5waXBlKFxuICAgICAgICB0YXAoc3RhdHMgPT4gdGhpcy5zdGF0c1VwZGF0ZWQuZW1pdChzdGF0cykpXG4gICAgICApLnN1YnNjcmliZSgpXG4gICAgXTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWI6IFN1YnNjcmlwdGlvbikgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgdG9nZ2xlTGluZXMoKSB7XG4gICAgdGhpcy5zaG93TGluZXMgPSAhdGhpcy5zaG93TGluZXM7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcmVtb3ZlUmVjaXBlKGxpbmU6IEJhc2tldFByZXZpZXdMaW5lKSB7XG4gICAgdGhpcy5saXN0c1NlcnZpY2UucmVtb3ZlUmVjaXBlRnJvbUxpc3QobGluZS5pZCk7XG4gIH1cblxuICB1cGRhdGVSZWNpcGUobGluZTogQmFza2V0UHJldmlld0xpbmUpIHtcbiAgICB0aGlzLmxpc3RzU2VydmljZS51cGRhdGVSZWNpcGVHdWVzdHMobGluZS5pZCwgbGluZS5jb3VudCk7XG4gICAgdGhpcy5ndWVzdENvdW50Q2hhbmdlZC5lbWl0KGxpbmUuY291bnQpO1xuICB9XG5cbiAgY2xvc2VPdmVybGF5KCkge1xuICAgIGlmICh0aGlzLmJsb2NrU3RhdGVzLmdldFZhbHVlKCkgJiYgdGhpcy5ibG9ja1N0YXRlcy5nZXRWYWx1ZSgpLmxpbmVDb21wb25lbnQpIHtcbiAgICAgIHRoaXMuYmxvY2tTdGF0ZXMudmFsdWUubGluZUNvbXBvbmVudC5wcm9kdWN0Q2hvc2VuKCk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGVsYmxvY2tTdGF0ZShzdGF0ZTogeyBjdXJyZW50T3BlbkxpbmU6IHN0cmluZywgb3ZlcmxheU9wZW46IGJvb2xlYW4sIGxpbmVDb21wb25lbnQ6IEJhc2tldFByZXZpZXdMaW5lQ29tcG9uZW50IH0pIHtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIHJlZnJlc2hQcmV2aWV3KG5ld0xpbmVzOiBCYXNrZXRQcmV2aWV3TGluZVtdKSB7XG4gICAgaWYgKCF0aGlzLmxpbmVzKSB7XG4gICAgICAvLyBGaXJzdCBsb2FkXG4gICAgICB0aGlzLmxpbmVzID0gbmV3TGluZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5ld0xpbmVzSWRzID0gW107XG4gICAgICBuZXdMaW5lcy5mb3JFYWNoKChsaW5lOiBCYXNrZXRQcmV2aWV3TGluZSkgPT4ge1xuICAgICAgICBuZXdMaW5lc0lkcy5wdXNoKGxpbmUuaWQpO1xuICAgICAgICBjb25zdCBleGlzdGluZ0xpbmUgPSB0aGlzLmxpbmVzLmZpbmQobCA9PiBsLmlkID09PSBsaW5lLmlkKTtcbiAgICAgICAgaWYgKGV4aXN0aW5nTGluZSkge1xuICAgICAgICAgIC8vIFVwZGF0ZSBleGlzdGluZyBvYmplY3Qgd2l0aCBpdHMgbmV3IHZhbHVlc1xuICAgICAgICAgIE9iamVjdC5hc3NpZ24oZXhpc3RpbmdMaW5lLCBsaW5lKTtcblxuICAgICAgICAgIC8vIE1hcmsgYmFza2V0IGxpbmVzIGNvbXBvbmVudCBmb3IgY2hlY2tcbiAgICAgICAgICBjb25zdCBleGlzdGluZ0NvbXAgPSB0aGlzLmxpbmVDb21wb25lbnRzLmZpbmQoY29tcCA9PiBjb21wLmxpbmUuaWQgPT09IGxpbmUuaWQpO1xuICAgICAgICAgIGV4aXN0aW5nQ29tcC5jZHIubWFya0ZvckNoZWNrKCk7XG5cbiAgICAgICAgICAvLyBGb3JjZSByZWxvYWQgdGhlIGJhc2tldCBlbnRyaWVzIGlmIHRoZWlyIHF1YW50aXRpZXMgb3Igc2VsZWN0ZWQgaXRlbXMgaGF2ZSBjaGFuZ2VkXG4gICAgICAgICAgY29uc3QgZW50cmllcyA9IGxpbmUuZW50cmllcy5mb3VuZC5zb3J0KGUgPT4gcGFyc2VJbnQoZS5pZCwgMTApKTtcbiAgICAgICAgICBjb25zdCBoYXNoID0gZW50cmllcy5tYXAoZSA9PiBlLmF0dHJpYnV0ZXNbJ3NlbGVjdGVkLWl0ZW0taWQnXSArICctJyArIGUuYXR0cmlidXRlcy5xdWFudGl0eSkuam9pbignLycpO1xuICAgICAgICAgIGlmIChoYXNoICE9PSB0aGlzLmxpbmVzSGFzaGVzW2xpbmUuaWRdICYmIGV4aXN0aW5nQ29tcC5lbnRyaWVzTGluZXMkLnZhbHVlKSB7XG4gICAgICAgICAgICBleGlzdGluZ0NvbXAuYnVpbGRFbnRyaWVzTGluZXMoKTtcbiAgICAgICAgICAgIHRoaXMubGluZXNIYXNoZXNbbGluZS5pZF0gPSBoYXNoO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBQdXNoIHRoZSBuZXcgbGluZSB0byB0aGUgYXJyYXlcbiAgICAgICAgICB0aGlzLmxpbmVzLnB1c2gobGluZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgLy8gUmVtb3ZlIGRlbGV0ZWQgbGluZXNcbiAgICAgIHJlbW92ZSh0aGlzLmxpbmVzLCBsID0+ICFuZXdMaW5lc0lkcy5pbmNsdWRlcyhsLmlkKSk7XG4gICAgfVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHNjcm9sbHRvcChlbGVtZW50KXtcblxuICAgIC8vIHNjcm9sbCB0b3AgYmFzZSBvbiBtb2RhbCBjb250YWluZXJcbiAgICBpZiAodGhpcy5pc01vYmlsZSkge1xuICAgICAgY29uc3QgbW9kYWxDb250YWluZXIgPSAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnbWlhbS13cmFwcGVyLXByZXZpZXcnKVswXTtcbiAgICAgIGlmIChtb2RhbENvbnRhaW5lcikge1xuICAgICAgICBtb2RhbENvbnRhaW5lci5zY3JvbGxUb3AgPSAwO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gc2Nyb2xsIGJhc2Ugb24gZ2xvYmFsIHdpbmRvd1xuICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgfVxufVxuIiwiPGRpdiAjcHJldmlld0Jsb2NrVG9wICpuZ0lmPSchY29yc0lzc3VlcyBlbHNlIGNvcnMnIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1ibG9ja1wiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiKHBvc1NlcnZpY2UuaXNQb3NWYWxpZCgpIHwgYXN5bmMpIGVsc2Ugbm9Qb3NcIj5cbiAgICA8aDMgKm5nSWY9XCIhcmVjaXBlSWRcIiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctYmxvY2tfX2hlYWRlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctYmxvY2tfX2hlYWRlcl9fYWN0aW9uc1wiPlxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwic2hvd0xpbmVzXCIgY2xhc3M9XCJtLWJ1dHRvbi1zZWNvbmRhcnkgbWlhbS1iYXNrZXQtcHJldmlldy1ibG9ja19faGVhZGVyX19lbXB0eS1iYXNrZXRcIiAoY2xpY2spPVwibGlzdHNTZXJ2aWNlLnJlbW92ZVJlY2lwZXNGcm9tTGlzdCgpXCI+XG4gICAgICAgICAgPG5nLW1pYW0taWNvbiAgW2ljb25OYW1lXT1cImljb24uVHJhc2hcIiBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLXNlY29uZGFyeSlcIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICA8c3Bhbj5SZXRpcmVyIHRvdXMgbGVzIHJlcGFzPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctYmxvY2tfX2hlYWRlcl9fY2hldnJvblwiIFtuZ0NsYXNzXT1cInsnbWlhbS1iYXNrZXQtcHJldmlldy1ibG9ja19fY2hldnJvbl9fZG93bic6IXNob3dMaW5lc31cIiAoY2xpY2spPVwidG9nZ2xlTGluZXMoKVwiPlxuICAgICAgICAgIDxuZy1taWFtLWljb24gaGVpZ2h0PSczMicgd2lkdGg9JzMyJyAgW2ljb25OYW1lXT1cImljb24uQ2hldnJvbkRvd25cIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2gzPlxuICBcbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1ibG9ja19fbGluZXNcIiAqbmdJZj1cInNob3dMaW5lc1wiPlxuICAgICAgICA8bmctbWlhbS1iYXNrZXQtcHJldmlldy1saW5lXG4gICAgICAgICpuZ0Zvcj1cImxldCBsaW5lIG9mIGxpbmVzXCJcbiAgICAgICAgW2xpbmVdPVwibGluZVwiXG4gICAgICAgIFtibG9ja1N0YXRlc109XCJibG9ja1N0YXRlc1wiXG4gICAgICAgIFt1bmlxdWVMaW5lXT1cInJlY2lwZUlkXCJcbiAgICAgICAgKHJlbW92ZWQpPVwicmVtb3ZlUmVjaXBlKCRldmVudClcIlxuICAgICAgICAoY291bnRDaGFuZ2VkKT1cInVwZGF0ZVJlY2lwZSgkZXZlbnQpXCJcbiAgICAgICAgKHJlcGxhY2VJdGVtKT0nc2Nyb2xsdG9wKHByZXZpZXdCbG9ja1RvcCknXG4gICAgICAgIFtuZ1N0eWxlXT1cInsnZGlzcGxheSc6IGJsb2NrU3RhdGVzPy52YWx1ZT8ub3ZlcmxheU9wZW4gPyAnbm9uZScgOiAnYmxvY2snfSBcIlxuICAgICAgPjwvbmctbWlhbS1iYXNrZXQtcHJldmlldy1saW5lPlxuICAgICAgPG5nLW1pYW0tcmVwbGFjZS1pdGVtICpuZ0lmPVwiIGJsb2NrU3RhdGVzPy52YWx1ZT8ub3ZlcmxheU9wZW4gXCIgW2xpbmVdPVwiYmxvY2tTdGF0ZXM/LnZhbHVlPy5saW5lQ29tcG9uZW50LmxpbmVcIiAoc2VsZWN0ZWQpPVwiYmxvY2tTdGF0ZXM/LnZhbHVlPy5saW5lQ29tcG9uZW50LnByb2R1Y3RDaG9zZW4oJGV2ZW50KVwiPjwvbmctbWlhbS1yZXBsYWNlLWl0ZW0+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIWxvYWRpbmcgJiYgKCFsaW5lcyB8fCBsaW5lcy5sZW5ndGggPT09IDApXCIgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWJsb2NrX19saW5lc19fbm90LWZvdW5kXCI+XG4gICAgICAgIDxwPjxiPlZvdXMgbidhdmV6IHBhcyBlbmNvcmUgc8OpbGVjdGlvbm7DqSBkZSByZXBhcy48L2I+PC9wPlxuICAgICAgICA8cCAqbmdJZj1cInNob3dOb3RpY2VcIj5OYXZpZ3VleiB2ZXJzIGxhIHBhZ2UgZCd1bmUgcmVjZXR0ZSwgcHVpcyBjbGlxdWV6IHN1ciBcIkNvbW1hbmRlciBsZXMgaW5ncsOpZGllbnRzXCIuPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIFxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWJsb2NrX19saW5lc19fbG9hZGVyXCIgKm5nSWY9XCJsb2FkaW5nXCI+XG4gICAgICA8bmctbWlhbS1sb2FkZXI+PC9uZy1taWFtLWxvYWRlcj5cbiAgICAgIDxkaXY+Q2hhcmdlbWVudCBkZXMgcmVwYXMuLi48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjY29ycz5cbjxuZy1taWFtLWNvcnMtb3ZlcmxheT48L25nLW1pYW0tY29ycy1vdmVybGF5PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjbm9Qb3M+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWJsb2NrX19ub1Bvc1wiPlxuICAgIDxzcGFuPkTDqXNvbMOpLCBjZSBtYWdhc2luIG5lIHBlcm1ldCBwYXMgZGUgc8OpbGVjdGlvbm5lciBkZXMgcmVwYXMuPC9zcGFuPiBcbiAgICA8YnI+XG4gICAgPHNwYW4+VmV1aWxsZXogc8OpbGVjdGlvbm5lciB1biBhdXRyZSBtYWdhc2luPC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=