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
@@ -119,4 +119,4 @@ AbstractRecipeCardComponent.ɵcmp = i0.ɵɵdefineComponent({ type: AbstractRecip
119
119
  }], hide: [{
120
120
  type: Output
121
121
  }] }); })();
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcmVjaXBlLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fY29tcG9uZW50cy9hYnN0cmFjdHMvYWJzdHJhY3QtcmVjaXBlLWNhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWMsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxRQUFRLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9JLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUl0QyxNQUFNLE9BQWdCLDJCQUEyQjtJQWEvQyxZQUNTLEdBQXNCLEVBQ3RCLGFBQTZCLEVBQzdCLG1CQUF3QyxFQUN4QyxxQkFBNEMsRUFDNUMsV0FBd0IsRUFDckIsVUFBK0IsRUFDakMsY0FBOEIsRUFDNUIsZ0JBQWtDLEVBQ2xDLE9BQW1CO1FBUnRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQUM3Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hD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SixDQUFDO0lBRUQsOEJBQThCO0lBQzlCLHFFQUFxRTtJQUNyRSxLQUFLO0lBQ0wsd0RBQXdEO0lBQ2pELGFBQWEsQ0FBQyxTQUFTLEdBQUcsa0JBQWtCO1FBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUNuRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzNDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUE7WUFDekYsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztTQUNoQztJQUNILENBQUM7SUFFTSxZQUFZO1FBRWpCLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFDO1lBQ2hELE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDOztzR0FySG1CLDJCQUEyQjtnRUFBM0IsMkJBQTJCO2tEQUEzQiwyQkFBMkI7Y0FEaEQsU0FBUztlQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTt3VEFFaEIsVUFBVTtrQkFBbEIsS0FBSztZQUNJLElBQUk7a0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5ncmVkaWVudCB9IGZyb20gJy4uLy4uL19tb2RlbHMnO1xuaW1wb3J0IHsgUmVjaXBlIH0gZnJvbSAnLi4vLi4vX21vZGVscy9yZWNpcGUnO1xuaW1wb3J0IHsgUmVjaXBlc1NlcnZpY2UsIEdyb2Nlcmllc0xpc3RzU2VydmljZSwgUG9pbnRPZlNhbGVzU2VydmljZSwgQ29udGV4dFNlcnZpY2UsIFJlY2lwZUV2ZW50c1NlcnZpY2UsIFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IFNrZWxldG9uIH0gZnJvbSAnLi4vLi4vX3R5cGVzL3NrZWxldG9uLmVudW0nO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uLy4uL190eXBlcy9pY29uLmVudW0nO1xuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBzdG9wRXZlbnRQcm9wYWdhdGlvbiB9IGZyb20gJy4uLy4uL191dGlscyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5cbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFJlY2lwZUNhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBoZWFkZXJUZXh0ID0gJyc7XG4gIEBPdXRwdXQoKSBoaWRlOiBFdmVudEVtaXR0ZXI8dm9pZD47XG5cbiAgcmVjaXBlOiBSZWNpcGU7XG4gIGhvdmVyZWQgPSBmYWxzZTtcbiAgaW5ncmVkaWVudHNDb25jYXROYW1lOiBzdHJpbmc7XG4gIGljb24gPSBJY29uO1xuICBza2VsZXRvbiA9IFNrZWxldG9uO1xuICBpc1ByaWNlRGlzcGxheWVkID0gdHJ1ZTtcbiAgcHJvdGVjdGVkIGFuYWx5dGljc0V2ZW50U2VudCA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIHJlY2lwZVNlcnZpY2U6IFJlY2lwZXNTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWNpcGVFdmVudHNTZXJ2aWNlOiBSZWNpcGVFdmVudHNTZXJ2aWNlLFxuICAgIHB1YmxpYyBncm9jZXJpZXNMaXN0c1NlcnZpY2U6IEdyb2Nlcmllc0xpc3RzU2VydmljZSxcbiAgICBwdWJsaWMgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBwb3NTZXJ2aWNlOiBQb2ludE9mU2FsZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBlbGVtZW50OiBFbGVtZW50UmVmXG4gICAgKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW107XG4gICAgdGhpcy5oaWRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goc3ViID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIGFkZFJlY2lwZShkaXNwbGF5ID0gdHJ1ZSk6IHZvaWQge1xuICAgIGZvcmtKb2luKFtcbiAgICAgIHRoaXMudXNlclNlcnZpY2UuaXNMb2dnZWQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZSgxKSksXG4gICAgICB0aGlzLnBvc1NlcnZpY2UuaXNQb3NWYWxpZCgpLnBpcGUodGFrZSgxKSlcbiAgICBdKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgY29uc3QgaXNIb29rT2sgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmhvb2tDYWxsYmFjayhyZXNbMF0sIHJlc1sxXSk7XG4gICAgICBpZiAoaXNIb29rT2spIHtcbiAgICAgICAgdGhpcy5hZGRSZWNpcGVBY3Rpb25PSyhkaXNwbGF5KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWRkUmVjaXBlQWN0aW9uS08oKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFkZFJlY2lwZUFjdGlvbk9LKGRpc3BsYXkpIHtcbiAgICBpZiAoIXRoaXMuZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLmxpc3QkLnZhbHVlLmhhc1JlY2lwZSh0aGlzLnJlY2lwZS5pZCkpe1xuICAgICAgdGhpcy5yZWNpcGVFdmVudHNTZXJ2aWNlLnNlbmRFdmVudCh0aGlzLnJlY2lwZSwgdGhpcy5yZWNpcGVFdmVudHNTZXJ2aWNlLkFDVElPTl9BRERFRClcbiAgICB9XG4gICAgdGhpcy5ncm9jZXJpZXNMaXN0c1NlcnZpY2UuYXBwZW5kUmVjaXBlVG9MaXN0KHRoaXMucmVjaXBlLmlkLCB0aGlzLnJlY2lwZS5tb2RpZmllZEd1ZXN0cyk7XG4gICAgaWYgKGRpc3BsYXkpIHtcbiAgICAgIHRoaXMucmVjaXBlU2VydmljZS5kaXNwbGF5T2JqZWN0KHRoaXMucmVjaXBlLCB7IGd1ZXN0cyA6ICt0aGlzLnJlY2lwZS5tb2RpZmllZEd1ZXN0cywgcHJldmlld01vZGU6IHRydWV9KTtcbiAgICB9XG4gIH1cblxuICBhZGRSZWNpcGVBY3Rpb25LTygpIHtcbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdfbWlhbS9jYWNoZWQtcmVjaXBlJywgSlNPTi5zdHJpbmdpZnkodGhpcy5yZWNpcGUpKTtcbiAgfVxuXG4gIHRvZ2dsZUhlbHBlcigpIHtcbiAgICB0aGlzLnJlY2lwZVNlcnZpY2UudG9nZ2xlSGVscGVyKCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb3BlbkNhbGVuZGFyKGV2ZW50OiBFdmVudCkge1xuICAgIHN0b3BFdmVudFByb3BhZ2F0aW9uKGV2ZW50KTtcbiAgICAvLyBUT0RPIGltcGxlbWVudFxuICB9XG5cbiAgc2hhcmVSZWNpcGUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgc3RvcEV2ZW50UHJvcGFnYXRpb24oZXZlbnQpO1xuICAgIC8vIFRPRE8gaW1wbGVtZW50XG4gIH1cblxuICBwcm90ZWN0ZWQgaW5pdEluZ3JlZGllbnRzU3RyaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuaW5ncmVkaWVudHNDb25jYXROYW1lID0gJyc7XG4gICAgaWYgKHRoaXM/LnJlY2lwZT8ucmVsYXRpb25zaGlwcykge1xuICAgICAgdGhpcy5yZWNpcGUucmVsYXRpb25zaGlwc1tgaW5ncmVkaWVudHNgXS5kYXRhLmZvckVhY2goKGluZ3JlZGllbnQ6IEluZ3JlZGllbnQsIGk6IG51bWJlcikgPT4ge1xuICAgICAgICB0aGlzLmluZ3JlZGllbnRzQ29uY2F0TmFtZSArPSAnJyArIGluZ3JlZGllbnQuYXR0cmlidXRlcy5uYW1lO1xuICAgICAgICB0aGlzLmluZ3JlZGllbnRzQ29uY2F0TmFtZSArPSAoaSArIDEgPT09IHRoaXMucmVjaXBlLnJlbGF0aW9uc2hpcHNbYGluZ3JlZGllbnRzYF0uZGF0YS5sZW5ndGgpID8gJycgOiAnLCAnO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzSW5WaWV3cG9ydCgpIHtcbiAgICBjb25zdCByZWN0ID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgcmV0dXJuIChcbiAgICAgICAgcmVjdC50b3AgPj0gMCAmJlxuICAgICAgICByZWN0LmxlZnQgPj0gMCAmJlxuICAgICAgICByZWN0LmJvdHRvbSA8PSAod2luZG93LmlubmVySGVpZ2h0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpICYmXG4gICAgICAgIHJlY3QucmlnaHQgPD0gKHdpbmRvdy5pbm5lcldpZHRoIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aClcbiAgICApO1xuICB9XG5cbiAgLy8gU2VuZCBhbmFseXRpY3MgZXZlbnQgd2hlbiA6XG4gIC8vIC0gbmV3IHJlY2lwZSBpcyB0byBiZSBkaXNwbGF5ZWQgQU5EIGlzIGFscmVhZHkgdmlzaWJsZSBpbiB2aWV3cG9ydFxuICAvLyBPUlxuICAvLyAtIHVzZXIgc2Nyb2xscyBhbmQgcmVjaXBlIGJlY29tZXMgdmlzaWJsZSBpbiB2aWV3cG9ydFxuICBwdWJsaWMgc2VuZFNob3dFdmVudChldmVudFR5cGUgPSAnc2hvdy1yZWNpcGUtY2FyZCcpIHtcbiAgICBpZiAoIXRoaXMucmVjaXBlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICghdGhpcy5hbmFseXRpY3NFdmVudFNlbnQgJiYgdGhpcy5pc0luVmlld3BvcnQoKSkge1xuICAgICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLnNlbmRFdmVudChldmVudFR5cGUpO1xuICAgICAgdGhpcy5yZWNpcGVFdmVudHNTZXJ2aWNlLmVucXVldWVFdmVudCh0aGlzLnJlY2lwZSwgdGhpcy5yZWNpcGVFdmVudHNTZXJ2aWNlLkFDVElPTl9TSE9XTilcbiAgICAgIHRoaXMuYW5hbHl0aWNzRXZlbnRTZW50ID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGlzcGxheVByaWNlKCl7XG5cbiAgICBpZiAodGhpcy5pc1ByaWNlRGlzcGxheWVkIHx8ICF0aGlzLmlzSW5WaWV3cG9ydCgpKXtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pc1ByaWNlRGlzcGxheWVkID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbn1cbiJdfQ==
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcmVjaXBlLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fY29tcG9uZW50cy9hYnN0cmFjdHMvYWJzdHJhY3QtcmVjaXBlLWNhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWMsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxRQUFRLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9JLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUl0QyxNQUFNLE9BQWdCLDJCQUEyQjtJQWEvQyxZQUNTLEdBQXNCLEVBQ3RCLGFBQTZCLEVBQzdCLG1CQUF3QyxFQUN4QyxxQkFBNEMsRUFDNUMsV0FBd0IsRUFDckIsVUFBK0IsRUFDbEMsY0FBOEIsRUFDM0IsZ0JBQWtDLEVBQ2xDLE9BQW1CO1FBUnRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQUM3Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDbEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzNCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQXJCdEIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUl6QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWhCLFNBQUksR0FBRyxJQUFJLENBQUM7UUFDWixhQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3BCLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUNkLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQWNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxTQUFTLENBQUMsT0FBTyxHQUFHLElBQUk7UUFDdEIsUUFBUSxDQUFDO1lBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDM0MsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNmLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwRSxJQUFJLFFBQVEsRUFBRTtnQkFDWixJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDakM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7YUFDMUI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxPQUFPO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBQztZQUNwRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFBO1NBQ3ZGO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUYsSUFBSSxPQUFPLEVBQUU7WUFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7U0FDM0c7SUFDSCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsY0FBYyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBWTtRQUN2QixvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixpQkFBaUI7SUFDbkIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFZO1FBQ3RCLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLGlCQUFpQjtJQUNuQixDQUFDO0lBRVMscUJBQXFCOztRQUM3QixJQUFJLENBQUMscUJBQXFCLEdBQUcsRUFBRSxDQUFDO1FBQ2hDLFVBQUksSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLE1BQU0sMENBQUUsYUFBYSxFQUFFO1lBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFzQixFQUFFLENBQVMsRUFBRSxFQUFFO2dCQUMxRixJQUFJLENBQUMscUJBQXFCLElBQUksRUFBRSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO2dCQUM5RCxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDN0csQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxZQUFZO1FBQ2pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDaEUsT0FBTyxDQUNILElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNiLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQztZQUNkLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDO1lBQzVFLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQzVFLENBQUM7SUFDSixDQUFDO0lBRUQsOEJBQThCO0lBQzlCLHFFQUFxRTtJQUNyRSxLQUFLO0lBQ0wsd0RBQXdEO0lBQ2pELGFBQWEsQ0FBQyxTQUFTLEdBQUcsa0JBQWtCO1FBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUNuRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzNDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUE7WUFDekYsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztTQUNoQztJQUNILENBQUM7SUFFTSxZQUFZO1FBRWpCLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFDO1lBQ2hELE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDOztzR0FySG1CLDJCQUEyQjtnRUFBM0IsMkJBQTJCO2tEQUEzQiwyQkFBMkI7Y0FEaEQsU0FBUztlQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTt3VEFFaEIsVUFBVTtrQkFBbEIsS0FBSztZQUNJLElBQUk7a0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5ncmVkaWVudCB9IGZyb20gJy4uLy4uL19tb2RlbHMnO1xuaW1wb3J0IHsgUmVjaXBlIH0gZnJvbSAnLi4vLi4vX21vZGVscy9yZWNpcGUnO1xuaW1wb3J0IHsgUmVjaXBlc1NlcnZpY2UsIEdyb2Nlcmllc0xpc3RzU2VydmljZSwgUG9pbnRPZlNhbGVzU2VydmljZSwgQ29udGV4dFNlcnZpY2UsIFJlY2lwZUV2ZW50c1NlcnZpY2UsIFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IFNrZWxldG9uIH0gZnJvbSAnLi4vLi4vX3R5cGVzL3NrZWxldG9uLmVudW0nO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uLy4uL190eXBlcy9pY29uLmVudW0nO1xuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBzdG9wRXZlbnRQcm9wYWdhdGlvbiB9IGZyb20gJy4uLy4uL191dGlscyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5cbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFJlY2lwZUNhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBoZWFkZXJUZXh0ID0gJyc7XG4gIEBPdXRwdXQoKSBoaWRlOiBFdmVudEVtaXR0ZXI8dm9pZD47XG5cbiAgcmVjaXBlOiBSZWNpcGU7XG4gIGhvdmVyZWQgPSBmYWxzZTtcbiAgaW5ncmVkaWVudHNDb25jYXROYW1lOiBzdHJpbmc7XG4gIGljb24gPSBJY29uO1xuICBza2VsZXRvbiA9IFNrZWxldG9uO1xuICBpc1ByaWNlRGlzcGxheWVkID0gdHJ1ZTtcbiAgcHJvdGVjdGVkIGFuYWx5dGljc0V2ZW50U2VudCA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIHJlY2lwZVNlcnZpY2U6IFJlY2lwZXNTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWNpcGVFdmVudHNTZXJ2aWNlOiBSZWNpcGVFdmVudHNTZXJ2aWNlLFxuICAgIHB1YmxpYyBncm9jZXJpZXNMaXN0c1NlcnZpY2U6IEdyb2Nlcmllc0xpc3RzU2VydmljZSxcbiAgICBwdWJsaWMgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBwb3NTZXJ2aWNlOiBQb2ludE9mU2FsZXNTZXJ2aWNlLFxuICAgIHB1YmxpYyBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGFuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGVsZW1lbnQ6IEVsZW1lbnRSZWZcbiAgICApIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICB0aGlzLmhpZGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgYWRkUmVjaXBlKGRpc3BsYXkgPSB0cnVlKTogdm9pZCB7XG4gICAgZm9ya0pvaW4oW1xuICAgICAgdGhpcy51c2VyU2VydmljZS5pc0xvZ2dlZCQuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlKDEpKSxcbiAgICAgIHRoaXMucG9zU2VydmljZS5pc1Bvc1ZhbGlkKCkucGlwZSh0YWtlKDEpKVxuICAgIF0pLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICBjb25zdCBpc0hvb2tPayA9IHRoaXMuY29udGV4dFNlcnZpY2UuaG9va0NhbGxiYWNrKHJlc1swXSwgcmVzWzFdKTtcbiAgICAgIGlmIChpc0hvb2tPaykge1xuICAgICAgICB0aGlzLmFkZFJlY2lwZUFjdGlvbk9LKGRpc3BsYXkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hZGRSZWNpcGVBY3Rpb25LTygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgYWRkUmVjaXBlQWN0aW9uT0soZGlzcGxheSkge1xuICAgIGlmICghdGhpcy5ncm9jZXJpZXNMaXN0c1NlcnZpY2UubGlzdCQudmFsdWUuaGFzUmVjaXBlKHRoaXMucmVjaXBlLmlkKSl7XG4gICAgICB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2Uuc2VuZEV2ZW50KHRoaXMucmVjaXBlLCB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2UuQUNUSU9OX0FEREVEKVxuICAgIH1cbiAgICB0aGlzLmdyb2Nlcmllc0xpc3RzU2VydmljZS5hcHBlbmRSZWNpcGVUb0xpc3QodGhpcy5yZWNpcGUuaWQsIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzKTtcbiAgICBpZiAoZGlzcGxheSkge1xuICAgICAgdGhpcy5yZWNpcGVTZXJ2aWNlLmRpc3BsYXlPYmplY3QodGhpcy5yZWNpcGUsIHsgZ3Vlc3RzIDogK3RoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzLCBwcmV2aWV3TW9kZTogdHJ1ZX0pO1xuICAgIH1cbiAgfVxuXG4gIGFkZFJlY2lwZUFjdGlvbktPKCkge1xuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ19taWFtL2NhY2hlZC1yZWNpcGUnLCBKU09OLnN0cmluZ2lmeSh0aGlzLnJlY2lwZSkpO1xuICB9XG5cbiAgdG9nZ2xlSGVscGVyKCkge1xuICAgIHRoaXMucmVjaXBlU2VydmljZS50b2dnbGVIZWxwZXIoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBvcGVuQ2FsZW5kYXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgc3RvcEV2ZW50UHJvcGFnYXRpb24oZXZlbnQpO1xuICAgIC8vIFRPRE8gaW1wbGVtZW50XG4gIH1cblxuICBzaGFyZVJlY2lwZShldmVudDogRXZlbnQpIHtcbiAgICBzdG9wRXZlbnRQcm9wYWdhdGlvbihldmVudCk7XG4gICAgLy8gVE9ETyBpbXBsZW1lbnRcbiAgfVxuXG4gIHByb3RlY3RlZCBpbml0SW5ncmVkaWVudHNTdHJpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5pbmdyZWRpZW50c0NvbmNhdE5hbWUgPSAnJztcbiAgICBpZiAodGhpcz8ucmVjaXBlPy5yZWxhdGlvbnNoaXBzKSB7XG4gICAgICB0aGlzLnJlY2lwZS5yZWxhdGlvbnNoaXBzW2BpbmdyZWRpZW50c2BdLmRhdGEuZm9yRWFjaCgoaW5ncmVkaWVudDogSW5ncmVkaWVudCwgaTogbnVtYmVyKSA9PiB7XG4gICAgICAgIHRoaXMuaW5ncmVkaWVudHNDb25jYXROYW1lICs9ICcnICsgaW5ncmVkaWVudC5hdHRyaWJ1dGVzLm5hbWU7XG4gICAgICAgIHRoaXMuaW5ncmVkaWVudHNDb25jYXROYW1lICs9IChpICsgMSA9PT0gdGhpcy5yZWNpcGUucmVsYXRpb25zaGlwc1tgaW5ncmVkaWVudHNgXS5kYXRhLmxlbmd0aCkgPyAnJyA6ICcsICc7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNJblZpZXdwb3J0KCkge1xuICAgIGNvbnN0IHJlY3QgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICByZXR1cm4gKFxuICAgICAgICByZWN0LnRvcCA+PSAwICYmXG4gICAgICAgIHJlY3QubGVmdCA+PSAwICYmXG4gICAgICAgIHJlY3QuYm90dG9tIDw9ICh3aW5kb3cuaW5uZXJIZWlnaHQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCkgJiZcbiAgICAgICAgcmVjdC5yaWdodCA8PSAod2luZG93LmlubmVyV2lkdGggfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKVxuICAgICk7XG4gIH1cblxuICAvLyBTZW5kIGFuYWx5dGljcyBldmVudCB3aGVuIDpcbiAgLy8gLSBuZXcgcmVjaXBlIGlzIHRvIGJlIGRpc3BsYXllZCBBTkQgaXMgYWxyZWFkeSB2aXNpYmxlIGluIHZpZXdwb3J0XG4gIC8vIE9SXG4gIC8vIC0gdXNlciBzY3JvbGxzIGFuZCByZWNpcGUgYmVjb21lcyB2aXNpYmxlIGluIHZpZXdwb3J0XG4gIHB1YmxpYyBzZW5kU2hvd0V2ZW50KGV2ZW50VHlwZSA9ICdzaG93LXJlY2lwZS1jYXJkJykge1xuICAgIGlmICghdGhpcy5yZWNpcGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmFuYWx5dGljc0V2ZW50U2VudCAmJiB0aGlzLmlzSW5WaWV3cG9ydCgpKSB7XG4gICAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2Uuc2VuZEV2ZW50KGV2ZW50VHlwZSk7XG4gICAgICB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2UuZW5xdWV1ZUV2ZW50KHRoaXMucmVjaXBlLCB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2UuQUNUSU9OX1NIT1dOKVxuICAgICAgdGhpcy5hbmFseXRpY3NFdmVudFNlbnQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkaXNwbGF5UHJpY2UoKXtcblxuICAgIGlmICh0aGlzLmlzUHJpY2VEaXNwbGF5ZWQgfHwgIXRoaXMuaXNJblZpZXdwb3J0KCkpe1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlzUHJpY2VEaXNwbGF5ZWQgPSB0cnVlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIl19